summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.cargo/config.toml4
-rw-r--r--.gitignore2
-rw-r--r--Cargo.lock424
-rw-r--r--README.md7
-rw-r--r--crates/flasher-qt/Cargo.toml10
-rw-r--r--crates/flasher-qt/build.rs27
-rw-r--r--crates/flasher-qt/qml/Main.qml437
-rw-r--r--crates/flasher-qt/src/main.rs59
-rw-r--r--crates/flasher-qt/src/ui.cpp404
-rw-r--r--pi-session-019f9999-ccdd-7234-912a-62e5b68a7e9d.html2
-rwxr-xr-xtools/qmake612
11 files changed, 914 insertions, 474 deletions
diff --git a/.cargo/config.toml b/.cargo/config.toml
new file mode 100644
index 0000000..2c823cb
--- /dev/null
+++ b/.cargo/config.toml
@@ -0,0 +1,4 @@
+[env]
+# CXX-Qt otherwise prefers Qt 5 when both major versions are installed.
+QT_VERSION_MAJOR = "6"
+QMAKE = { value = "tools/qmake6", relative = true }
diff --git a/.gitignore b/.gitignore
index a6067a9..7f3fa74 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,6 @@
.*
!.gitignore
!.gitattributes
+!.cargo/
+!.cargo/config.toml
/target
diff --git a/Cargo.lock b/Cargo.lock
index e4847cc..2b68b74 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3,6 +3,18 @@
version = 4
[[package]]
+name = "anstyle"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000"
+
+[[package]]
+name = "anyhow"
+version = "1.0.104"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470"
+
+[[package]]
name = "autocfg"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -44,6 +56,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5add81bb678e6cb321aff7fa0dc7689ad82b112dbc032cea19f91d6b8e3582b9"
dependencies = [
"find-msvc-tools",
+ "jobserver",
+ "libc",
"shlex",
]
@@ -58,6 +72,222 @@ dependencies = [
]
[[package]]
+name = "cfg-if"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
+
+[[package]]
+name = "clang-format"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "696283b40e1a39d208ee614b92e5f6521d16962edeb47c48372585ec92419943"
+dependencies = [
+ "thiserror",
+]
+
+[[package]]
+name = "clap"
+version = "4.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "301b56658598e48f3648647ac6fc887be7e7108eddfa4e9b63fcf3ec58c0cadf"
+dependencies = [
+ "clap_builder",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94a65403d1a1bd28f7dc68eb8506e8874808ee5eecb59298de588e2e1407a078"
+dependencies = [
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
+
+[[package]]
+name = "clap_lex"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
+
+[[package]]
+name = "codespan-reporting"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
+dependencies = [
+ "termcolor",
+ "unicode-width 0.1.14",
+]
+
+[[package]]
+name = "codespan-reporting"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681"
+dependencies = [
+ "serde",
+ "termcolor",
+ "unicode-width 0.2.2",
+]
+
+[[package]]
+name = "convert_case"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "cxx"
+version = "1.0.198"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fe442a792c7c736eea18b32a7f8a3b63cf8aafabda6760042dc2fdeda456291"
+dependencies = [
+ "cc",
+ "cxx-build",
+ "cxxbridge-cmd",
+ "cxxbridge-flags",
+ "cxxbridge-macro",
+ "foldhash",
+ "link-cplusplus",
+]
+
+[[package]]
+name = "cxx-build"
+version = "1.0.198"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3184a94384c663718698311a78a51ac00c484c10b4eeac06fb0a068c5f64fa2"
+dependencies = [
+ "cc",
+ "codespan-reporting 0.13.1",
+ "indexmap",
+ "proc-macro2",
+ "quote",
+ "scratch",
+ "syn 3.0.3",
+]
+
+[[package]]
+name = "cxx-gen"
+version = "0.7.198"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb0f24fd8cafa20f043e24372ca5d8273ab1fdce055ee977b989f82c1bcd89b5"
+dependencies = [
+ "codespan-reporting 0.13.1",
+ "indexmap",
+ "proc-macro2",
+ "quote",
+ "syn 3.0.3",
+]
+
+[[package]]
+name = "cxx-qt"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01d46ee3abd1539d109fdc009e3e3fc5a041c57aef5e3a80cba887338fc0748f"
+dependencies = [
+ "cxx",
+ "cxx-qt-build",
+ "cxx-qt-macro",
+ "qt-build-utils",
+ "static_assertions",
+ "thiserror",
+]
+
+[[package]]
+name = "cxx-qt-build"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57aded134d0a8d39ab6d6af639f5cd0f46affd2a6b3d9ae87848fd85113f143c"
+dependencies = [
+ "cc",
+ "codespan-reporting 0.11.1",
+ "cxx-gen",
+ "cxx-qt-gen",
+ "proc-macro2",
+ "qt-build-utils",
+ "quote",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "cxx-qt-gen"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "735d282c0b9cb39db7e55846e7d8f57be6ec3c4edb6037bb04f50caf88a6ee6a"
+dependencies = [
+ "clang-format",
+ "convert_case",
+ "cxx-gen",
+ "indoc",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.119",
+]
+
+[[package]]
+name = "cxx-qt-lib"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3483e43878378f0e4789033e9e93dfc04242b879389a1084766fc5d17f292b6b"
+dependencies = [
+ "cxx",
+ "cxx-qt",
+ "cxx-qt-build",
+ "qt-build-utils",
+]
+
+[[package]]
+name = "cxx-qt-macro"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb44925fc99e07859ee49bdc89ea519bb2052016154ffa4f4898c0cb4d86c81e"
+dependencies = [
+ "cxx-qt-gen",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.119",
+]
+
+[[package]]
+name = "cxxbridge-cmd"
+version = "1.0.198"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0148d8fd1199329ddf1d157a5e134e51ceff37c6a7ddd38615c399d81cb05d8d"
+dependencies = [
+ "clap",
+ "codespan-reporting 0.13.1",
+ "indexmap",
+ "proc-macro2",
+ "quote",
+ "syn 3.0.3",
+]
+
+[[package]]
+name = "cxxbridge-flags"
+version = "1.0.198"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52850339faed2eaadd24e286dc1d8268cc6f8a7bd9524d713adc9099566b4c89"
+
+[[package]]
+name = "cxxbridge-macro"
+version = "1.0.198"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c77c856545d886c9bd5215409ebb63b925e262135248b50c79e5a5f194ee47c"
+dependencies = [
+ "indexmap",
+ "proc-macro2",
+ "quote",
+ "syn 3.0.3",
+]
+
+[[package]]
name = "equivalent"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -91,11 +321,18 @@ dependencies = [
name = "flasher-qt"
version = "0.1.0"
dependencies = [
- "cc",
- "pkg-config",
+ "cxx-qt-build",
+ "cxx-qt-lib",
+ "serde_json",
]
[[package]]
+name = "foldhash"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
+
+[[package]]
name = "futures-channel"
version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -215,6 +452,17 @@ dependencies = [
]
[[package]]
+name = "getrandom"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "r-efi",
+]
+
+[[package]]
name = "gio"
version = "0.21.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -428,6 +676,31 @@ dependencies = [
]
[[package]]
+name = "indoc"
+version = "2.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
+dependencies = [
+ "rustversion",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
+
+[[package]]
+name = "jobserver"
+version = "0.1.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3"
+dependencies = [
+ "getrandom",
+ "libc",
+]
+
+[[package]]
name = "libadwaita"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -465,6 +738,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
[[package]]
+name = "link-cplusplus"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f78c730aaa7d0b9336a299029ea49f9ee53b0ed06e9202e8cb7db9bae7b8c82"
+dependencies = [
+ "cc",
+]
+
+[[package]]
name = "memchr"
version = "2.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -534,6 +816,20 @@ dependencies = [
]
[[package]]
+name = "qt-build-utils"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e575368c069f599b9918e592ce6eb6b4bc04d52b6825f7fcc89500f9e1de96b"
+dependencies = [
+ "anyhow",
+ "cc",
+ "semver",
+ "serde",
+ "thiserror",
+ "which",
+]
+
+[[package]]
name = "quote"
version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -543,6 +839,12 @@ dependencies = [
]
[[package]]
+name = "r-efi"
+version = "6.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
+
+[[package]]
name = "rustc_version"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -552,12 +854,34 @@ dependencies = [
]
[[package]]
+name = "rustversion"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
+
+[[package]]
+name = "scratch"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d68f2ec51b097e4c1a75b681a8bec621909b5e91f15bb7b840c4f2f7b01148b2"
+
+[[package]]
name = "semver"
version = "1.0.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd"
[[package]]
+name = "serde"
+version = "1.0.229"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
+dependencies = [
+ "serde_core",
+ "serde_derive",
+]
+
+[[package]]
name = "serde_core"
version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -578,6 +902,19 @@ dependencies = [
]
[[package]]
+name = "serde_json"
+version = "1.0.151"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
+dependencies = [
+ "itoa",
+ "memchr",
+ "serde",
+ "serde_core",
+ "zmij",
+]
+
+[[package]]
name = "serde_spanned"
version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -605,6 +942,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
name = "syn"
version = "2.0.119"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -646,6 +995,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
[[package]]
+name = "termcolor"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.119",
+]
+
+[[package]]
name = "toml"
version = "1.1.3+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -703,12 +1081,48 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
[[package]]
+name = "unicode-segmentation"
+version = "1.13.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
+
+[[package]]
+name = "unicode-width"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
+
+[[package]]
name = "version-compare"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e"
[[package]]
+name = "which"
+version = "8.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f3ef584124b911bcc3875c2f1472e80f24361ceb789bd1c62b3e9a3df9ff43c"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "winapi-util"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
+dependencies = [
+ "windows-sys",
+]
+
+[[package]]
name = "windows-link"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -731,3 +1145,9 @@ checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81"
dependencies = [
"memchr",
]
+
+[[package]]
+name = "zmij"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
diff --git a/README.md b/README.md
index dc9468d..de65c49 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
This workspace contains two independent interfaces for `alt-rootfs-installer`:
- `crates/flasher-gtk` — GTK 4/libadwaita
-- `crates/flasher-qt` — native Qt 5 Widgets
+- `crates/flasher-qt` — Qt 6/KDE Kirigami
Both are interface previews. They inspect supported boards and removable drives, but do not write to any device.
@@ -12,10 +12,11 @@ Both are interface previews. They inspect supported boards and removable drives,
On ALT Linux:
```sh
-sudo apt-get install gcc-c++ libgtk4-devel libadwaita-devel qt5-base-devel
+sudo apt-get install gcc-c++ libgtk4-devel libadwaita-devel \
+ qt6-base-devel qt6-declarative-devel kf6-kirigami
```
-The Qt crate discovers Qt 5 through `pkg-config` and uses the platform's native Qt widget style. It does not require QML or Qt Quick.
+The Qt crate uses the maintained CXX-Qt bindings and contains no handwritten C++. Its interface is QML using KDE's Kirigami framework. `.cargo/config.toml` selects Qt 6 explicitly on systems that also have Qt 5 installed.
## Build
diff --git a/crates/flasher-qt/Cargo.toml b/crates/flasher-qt/Cargo.toml
index d964edc..a4f0642 100644
--- a/crates/flasher-qt/Cargo.toml
+++ b/crates/flasher-qt/Cargo.toml
@@ -2,10 +2,12 @@
name = "flasher-qt"
version = "0.1.0"
edition = "2024"
-description = "A native Qt Widgets interface for preparing ALT Linux SBC images"
+description = "A Qt 6/KDE Kirigami interface for preparing ALT Linux SBC images"
license = "GPL-2.0-or-later"
-build = "build.rs"
+
+[dependencies]
+cxx-qt-lib = { version = "0.9.1", features = ["qt_gui", "qt_qml", "link_qt_object_files"] }
+serde_json = "1"
[build-dependencies]
-cc = "1.4"
-pkg-config = "0.3"
+cxx-qt-build = { version = "0.9.1", features = ["link_qt_object_files"] }
diff --git a/crates/flasher-qt/build.rs b/crates/flasher-qt/build.rs
index e4bdfc2..d57bff5 100644
--- a/crates/flasher-qt/build.rs
+++ b/crates/flasher-qt/build.rs
@@ -1,25 +1,6 @@
fn main() {
- println!("cargo:rerun-if-changed=src/ui.cpp");
-
- let qt = pkg_config::Config::new()
- .atleast_version("5.12")
- .cargo_metadata(false)
- .probe("Qt5Widgets")
- .expect("Qt 5 Widgets development files were not found (install qt5-base-devel)");
-
- let mut build = cc::Build::new();
- build.cpp(true).file("src/ui.cpp").flag_if_supported("-std=c++17");
- for path in &qt.include_paths {
- build.include(path);
- }
- build.compile("flasher_qt_ui");
-
- // Keep shared Qt libraries after our static C++ archive on the linker
- // command line; GNU ld resolves static archives from left to right.
- for path in &qt.link_paths {
- println!("cargo:rustc-link-search=native={}", path.display());
- }
- println!("cargo:rustc-link-lib=Qt5Widgets");
- println!("cargo:rustc-link-lib=Qt5Gui");
- println!("cargo:rustc-link-lib=Qt5Core");
+ cxx_qt_build::CxxQtBuilder::new()
+ .qt_module("Qml")
+ .qt_module("Quick")
+ .build();
}
diff --git a/crates/flasher-qt/qml/Main.qml b/crates/flasher-qt/qml/Main.qml
new file mode 100644
index 0000000..805c6ed
--- /dev/null
+++ b/crates/flasher-qt/qml/Main.qml
@@ -0,0 +1,437 @@
+import QtQuick
+import QtQuick.Controls as Controls
+import QtQuick.Layouts
+import QtQuick.Dialogs
+import org.kde.kirigami as Kirigami
+
+Kirigami.ApplicationWindow {
+ id: root
+ visible: true
+ width: 760
+ height: 820
+ minimumWidth: 600
+ minimumHeight: 580
+ title: qsTr("ALT Image Writer")
+
+ readonly property string supportedBoardsText: @SUPPORTED_BOARDS@
+ readonly property string availableDrivesText: @AVAILABLE_DRIVES@
+ property bool sourceIsImage: false
+ property bool outputIsFile: false
+ property string sourcePath: ""
+ property string outputPath: ""
+ property string selectedBoard: ""
+ property string selectedPlatform: ""
+ property var driveNames: availableDrivesText.length ? availableDrivesText.split("\n") : []
+
+ function localPath(url) {
+ var value = url.toString()
+ return value.startsWith("file://") ? decodeURIComponent(value.substring(7)) : value
+ }
+
+ function fileName(path) {
+ var parts = path.split("/")
+ return parts[parts.length - 1]
+ }
+
+ function ready() {
+ return sourcePath.length > 0 && selectedBoard.length > 0
+ && (outputIsFile ? outputPath.length > 0 : driveBox.currentIndex >= 0 && driveNames.length > 0)
+ }
+
+ globalDrawer: Kirigami.GlobalDrawer {
+ isMenu: true
+ actions: [
+ Kirigami.Action {
+ text: qsTr("About ALT Image Writer")
+ icon.name: "help-about"
+ onTriggered: aboutDialog.open()
+ }
+ ]
+ }
+
+ pageStack.initialPage: Kirigami.ScrollablePage {
+ title: qsTr("Create Installation Media")
+ actions: [
+ Kirigami.Action {
+ text: qsTr("About")
+ icon.name: "help-about"
+ displayHint: Kirigami.DisplayHint.IconOnly
+ onTriggered: aboutDialog.open()
+ }
+ ]
+
+ ColumnLayout {
+ width: Math.min(parent.width, Kirigami.Units.gridUnit * 42)
+ anchors.horizontalCenter: parent.horizontalCenter
+ spacing: Kirigami.Units.largeSpacing
+
+ Controls.Label {
+ text: qsTr("Prepare an ALT Linux root filesystem or disk image for your board.")
+ color: Kirigami.Theme.disabledTextColor
+ horizontalAlignment: Text.AlignHCenter
+ wrapMode: Text.WordWrap
+ Layout.fillWidth: true
+ }
+
+ Kirigami.AbstractCard {
+ Layout.fillWidth: true
+ contentItem: ColumnLayout {
+ spacing: Kirigami.Units.smallSpacing
+ Kirigami.Heading { text: qsTr("Installation Source"); level: 3 }
+ Controls.Label {
+ text: qsTr("Choose a root filesystem archive or a ready-made disk image.")
+ color: Kirigami.Theme.disabledTextColor
+ wrapMode: Text.WordWrap
+ Layout.fillWidth: true
+ }
+ Kirigami.FormLayout {
+ Layout.fillWidth: true
+ RowLayout {
+ Kirigami.FormData.label: qsTr("Source type:")
+ Controls.RadioButton {
+ text: qsTr("Root filesystem")
+ checked: true
+ onCheckedChanged: if (checked) sourceIsImage = false
+ }
+ Controls.RadioButton {
+ text: qsTr("Disk image")
+ onCheckedChanged: if (checked) {
+ sourceIsImage = true
+ driveOutput.checked = true
+ }
+ }
+ }
+ RowLayout {
+ Kirigami.FormData.label: qsTr("Source:")
+ Controls.Label {
+ text: sourcePath.length ? fileName(sourcePath) : qsTr("No source selected")
+ elide: Text.ElideMiddle
+ Layout.fillWidth: true
+ }
+ Controls.Button {
+ text: qsTr("Choose…")
+ icon.name: "document-open"
+ onClicked: sourceDialog.open()
+ }
+ }
+ }
+ Controls.Label {
+ text: sourcePath.length ? sourcePath
+ : sourceIsImage ? qsTr("Supported: .img, .img.xz")
+ : qsTr("Supported: .tar, .tar.gz, .tar.xz")
+ color: Kirigami.Theme.disabledTextColor
+ elide: Text.ElideMiddle
+ Layout.fillWidth: true
+ }
+ }
+ }
+
+ Kirigami.AbstractCard {
+ Layout.fillWidth: true
+ contentItem: ColumnLayout {
+ Kirigami.Heading { text: qsTr("Target Hardware"); level: 3 }
+ Controls.Label {
+ text: qsTr("Boards are grouped by platform, SoC family, and architecture.")
+ color: Kirigami.Theme.disabledTextColor
+ wrapMode: Text.WordWrap
+ Layout.fillWidth: true
+ }
+ RowLayout {
+ Layout.fillWidth: true
+ Kirigami.Icon {
+ source: "computer-symbolic"
+ implicitWidth: Kirigami.Units.iconSizes.medium
+ implicitHeight: implicitWidth
+ }
+ ColumnLayout {
+ spacing: 0
+ Layout.fillWidth: true
+ Controls.Label {
+ text: selectedBoard.length ? selectedBoard : qsTr("No board selected")
+ font.bold: selectedBoard.length > 0
+ }
+ Controls.Label {
+ text: selectedBoard.length ? selectedPlatform : qsTr("Choose a supported target board")
+ color: Kirigami.Theme.disabledTextColor
+ }
+ }
+ Controls.Button {
+ text: qsTr("Select Board…")
+ onClicked: boardDialog.open()
+ }
+ }
+ }
+ }
+
+ Kirigami.AbstractCard {
+ Layout.fillWidth: true
+ contentItem: ColumnLayout {
+ Kirigami.Heading { text: qsTr("Destination"); level: 3 }
+ Controls.Label {
+ text: qsTr("Write to removable media or create an image file.")
+ color: Kirigami.Theme.disabledTextColor
+ }
+ Kirigami.FormLayout {
+ Layout.fillWidth: true
+ RowLayout {
+ Kirigami.FormData.label: qsTr("Output type:")
+ Controls.RadioButton {
+ id: driveOutput
+ text: qsTr("Drive")
+ checked: true
+ onCheckedChanged: if (checked) outputIsFile = false
+ }
+ Controls.RadioButton {
+ text: qsTr("Image file")
+ enabled: !sourceIsImage
+ onCheckedChanged: if (checked) outputIsFile = true
+ }
+ }
+ Controls.ComboBox {
+ id: driveBox
+ visible: !outputIsFile
+ Kirigami.FormData.label: qsTr("Storage device:")
+ Layout.fillWidth: true
+ model: driveNames
+ displayText: currentIndex < 0 || driveNames.length === 0
+ ? qsTr("No removable drives detected") : currentText
+ enabled: driveNames.length > 0
+ }
+ RowLayout {
+ visible: outputIsFile
+ Kirigami.FormData.label: qsTr("Image file:")
+ Controls.Label {
+ text: outputPath.length ? outputPath : qsTr("Choose where to save the image")
+ elide: Text.ElideMiddle
+ Layout.fillWidth: true
+ }
+ Controls.Button {
+ text: qsTr("Choose…")
+ icon.name: "document-save"
+ onClicked: outputDialog.open()
+ }
+ }
+ }
+ }
+ }
+
+ Kirigami.AbstractCard {
+ Layout.fillWidth: true
+ contentItem: ColumnLayout {
+ Kirigami.Heading { text: qsTr("Options"); level: 3 }
+ Kirigami.FormLayout {
+ Layout.fillWidth: true
+ Controls.ComboBox {
+ Kirigami.FormData.label: qsTr("Root filesystem:")
+ model: ["ext4", "f2fs"]
+ }
+ Controls.CheckBox {
+ Kirigami.FormData.label: qsTr("Resize root partition:")
+ text: qsTr("Grow to fill the destination")
+ checked: true
+ }
+ Controls.CheckBox {
+ Kirigami.FormData.label: qsTr("Boot partition:")
+ text: qsTr("Create a separate 512 MiB partition")
+ }
+ Controls.CheckBox {
+ Kirigami.FormData.label: qsTr("Encryption:")
+ text: qsTr("Encrypt root partition with LUKS")
+ }
+ Controls.CheckBox {
+ Kirigami.FormData.label: qsTr("Serial console:")
+ text: qsTr("Add to boot arguments")
+ }
+ Controls.ComboBox {
+ Kirigami.FormData.label: qsTr("EFI system partition:")
+ model: [qsTr("None"), qsTr("EFI (GPT)"), qsTr("EFI (MBR)")]
+ }
+ Controls.ComboBox {
+ Kirigami.FormData.label: qsTr("First-boot VNC:")
+ model: [qsTr("Use image default"), qsTr("Enabled"), qsTr("Disabled")]
+ }
+ }
+ }
+ }
+
+ Kirigami.InlineMessage {
+ id: previewMessage
+ Layout.fillWidth: true
+ type: Kirigami.MessageType.Information
+ text: qsTr("Flashing is not implemented in this interface preview.")
+ showCloseButton: true
+ }
+ }
+ }
+
+ footer: Controls.ToolBar {
+ contentItem: RowLayout {
+ Controls.Label {
+ text: qsTr("Nothing will be written until you confirm.")
+ color: Kirigami.Theme.disabledTextColor
+ Layout.leftMargin: Kirigami.Units.largeSpacing
+ Layout.fillWidth: true
+ }
+ Controls.Button {
+ text: qsTr("Review and Write")
+ icon.name: "media-flash-sd-mmc"
+ highlighted: true
+ enabled: root.ready()
+ Layout.rightMargin: Kirigami.Units.largeSpacing
+ onClicked: reviewDialog.open()
+ }
+ }
+ }
+
+ Controls.Dialog {
+ id: boardDialog
+ parent: Controls.Overlay.overlay
+ anchors.centerIn: parent
+ width: Math.min(root.width - Kirigami.Units.gridUnit * 2, Kirigami.Units.gridUnit * 34)
+ height: Math.min(root.height - Kirigami.Units.gridUnit * 4, Kirigami.Units.gridUnit * 34)
+ modal: true
+ title: qsTr("Select Target Board")
+ standardButtons: Controls.Dialog.Cancel
+
+ ListModel { id: allBoards }
+ ListModel { id: filteredBoards }
+
+ function populate() {
+ if (allBoards.count > 0) return
+ var platform = "Other"
+ var lines = supportedBoardsText.split("\n")
+ for (var i = 0; i < lines.length; ++i) {
+ var line = lines[i].trim()
+ if (!line.length) continue
+ if (line.endsWith(":")) {
+ platform = line.substring(0, line.length - 1)
+ } else {
+ var names = line.split(/\s+/)
+ for (var j = 0; j < names.length; ++j)
+ allBoards.append({ boardName: names[j], platformName: platform })
+ }
+ }
+ filter("")
+ }
+
+ function filter(query) {
+ filteredBoards.clear()
+ var needle = query.toLowerCase()
+ for (var i = 0; i < allBoards.count; ++i) {
+ var item = allBoards.get(i)
+ if (!needle.length || item.boardName.toLowerCase().includes(needle)
+ || item.platformName.toLowerCase().includes(needle))
+ filteredBoards.append({ boardName: item.boardName, platformName: item.platformName })
+ }
+ }
+
+ onOpened: {
+ populate()
+ searchField.forceActiveFocus()
+ }
+
+ contentItem: ColumnLayout {
+ Controls.TextField {
+ id: searchField
+ Layout.fillWidth: true
+ placeholderText: qsTr("Search boards or platforms…")
+ onTextChanged: boardDialog.filter(text)
+ }
+ Controls.Label {
+ text: qsTr("%1 matching boards").arg(filteredBoards.count)
+ color: Kirigami.Theme.disabledTextColor
+ }
+ ListView {
+ id: boardList
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ clip: true
+ model: filteredBoards
+ section.property: "platformName"
+ section.criteria: ViewSection.FullString
+ section.delegate: Kirigami.ListSectionHeader { text: section }
+ delegate: Controls.ItemDelegate {
+ required property string boardName
+ required property string platformName
+ width: boardList.width
+ text: boardName
+ icon.name: "computer-symbolic"
+ onClicked: {
+ selectedBoard = boardName
+ selectedPlatform = platformName
+ boardDialog.close()
+ }
+ }
+ Controls.ScrollBar.vertical: Controls.ScrollBar {}
+ }
+ }
+ }
+
+ Controls.Dialog {
+ id: reviewDialog
+ parent: Controls.Overlay.overlay
+ anchors.centerIn: parent
+ modal: true
+ title: qsTr("Ready to write?")
+ standardButtons: Controls.Dialog.Cancel | Controls.Dialog.Ok
+ onAccepted: previewMessage.visible = true
+ contentItem: Kirigami.FormLayout {
+ Controls.Label { Kirigami.FormData.label: qsTr("Board:"); text: selectedBoard }
+ Controls.Label { Kirigami.FormData.label: qsTr("Platform:"); text: selectedPlatform }
+ Controls.Label {
+ Kirigami.FormData.label: qsTr("Destination:")
+ text: outputIsFile ? outputPath : driveBox.currentText
+ elide: Text.ElideMiddle
+ }
+ Controls.Label {
+ text: qsTr("This is an interface preview. No data will be written.")
+ color: Kirigami.Theme.disabledTextColor
+ wrapMode: Text.WordWrap
+ }
+ }
+ }
+
+ Controls.Dialog {
+ id: aboutDialog
+ parent: Controls.Overlay.overlay
+ anchors.centerIn: parent
+ modal: true
+ title: qsTr("About ALT Image Writer")
+ standardButtons: Controls.Dialog.Ok
+ contentItem: ColumnLayout {
+ Kirigami.Icon {
+ source: "media-flash-sd-mmc"
+ implicitWidth: Kirigami.Units.iconSizes.huge
+ implicitHeight: implicitWidth
+ Layout.alignment: Qt.AlignHCenter
+ }
+ Kirigami.Heading { text: qsTr("ALT Image Writer"); level: 2; Layout.alignment: Qt.AlignHCenter }
+ Controls.Label { text: qsTr("Version 0.1.0"); Layout.alignment: Qt.AlignHCenter }
+ Controls.Label {
+ text: qsTr("Prepare ALT Linux installation media for supported single-board computers.")
+ wrapMode: Text.WordWrap
+ horizontalAlignment: Text.AlignHCenter
+ Layout.preferredWidth: Kirigami.Units.gridUnit * 22
+ }
+ }
+ }
+
+ FileDialog {
+ id: sourceDialog
+ title: qsTr("Choose Installation Source")
+ fileMode: FileDialog.OpenFile
+ nameFilters: sourceIsImage
+ ? [qsTr("Disk images (*.img *.img.xz)"), qsTr("All files (*)")]
+ : [qsTr("Root filesystem archives (*.tar *.tar.gz *.tar.xz)"), qsTr("All files (*)")]
+ onAccepted: sourcePath = localPath(selectedFile)
+ }
+
+ FileDialog {
+ id: outputDialog
+ title: qsTr("Create Disk Image")
+ fileMode: FileDialog.SaveFile
+ defaultSuffix: "img"
+ nameFilters: [qsTr("Raw disk images (*.img)"), qsTr("All files (*)")]
+ onAccepted: outputPath = localPath(selectedFile)
+ }
+}
diff --git a/crates/flasher-qt/src/main.rs b/crates/flasher-qt/src/main.rs
index e304418..243406b 100644
--- a/crates/flasher-qt/src/main.rs
+++ b/crates/flasher-qt/src/main.rs
@@ -1,43 +1,30 @@
-use std::{
- env,
- ffi::CString,
- fs,
- os::raw::{c_char, c_int},
-};
+use cxx_qt_lib::{QByteArray, QGuiApplication, QQmlApplicationEngine, QString, QUrl};
+use std::fs;
const BOARDS: &str = include_str!("../../../alt-rootfs-installer/SUPPORTED-BOARDS");
-
-unsafe extern "C" {
- fn run_qt_app(
- argc: c_int,
- argv: *mut *mut c_char,
- boards: *const c_char,
- drives: *const c_char,
- ) -> c_int;
-}
+const QML: &str = include_str!("../qml/Main.qml");
fn main() {
- let arguments: Vec<CString> = env::args()
- .map(|arg| CString::new(arg).expect("application argument contains a NUL byte"))
- .collect();
- let mut argument_pointers: Vec<*mut c_char> = arguments
- .iter()
- .map(|arg| arg.as_ptr().cast_mut())
- .collect();
- let boards = CString::new(BOARDS).expect("board list contains a NUL byte");
- let drives = CString::new(available_drives().join("\n"))
- .expect("drive description contains a NUL byte");
+ let mut app = QGuiApplication::new();
+ app.pin_mut()
+ .set_application_name(&QString::from("ALT Image Writer"));
+ app.pin_mut()
+ .set_organization_name(&QString::from("ALT Linux"));
+ app.pin_mut()
+ .set_application_version(&QString::from(env!("CARGO_PKG_VERSION")));
- // QApplication only borrows argv and the two strings for the duration of
- // this call; all backing CStrings remain alive until the event loop exits.
- unsafe {
- run_qt_app(
- argument_pointers.len() as c_int,
- argument_pointers.as_mut_ptr(),
- boards.as_ptr(),
- drives.as_ptr(),
- );
- }
+ let boards = serde_json::to_string(BOARDS).expect("serialize supported boards");
+ let drives = serde_json::to_string(&available_drives().join("\n"))
+ .expect("serialize available drives");
+ let qml = QML
+ .replace("@SUPPORTED_BOARDS@", &boards)
+ .replace("@AVAILABLE_DRIVES@", &drives);
+
+ let mut engine = QQmlApplicationEngine::new();
+ engine
+ .pin_mut()
+ .load_data(&QByteArray::from(qml.as_str()), &QUrl::default());
+ app.pin_mut().exec();
}
fn available_drives() -> Vec<String> {
@@ -45,7 +32,6 @@ fn available_drives() -> Vec<String> {
let Ok(entries) = fs::read_dir("/sys/block") else {
return drives;
};
-
for entry in entries.flatten() {
let name = entry.file_name().to_string_lossy().into_owned();
if name.starts_with("loop") || name.starts_with("ram") || name.starts_with("zram") {
@@ -57,7 +43,6 @@ fn available_drives() -> Vec<String> {
if !removable && !name.starts_with("mmcblk") {
continue;
}
-
let sectors = fs::read_to_string(entry.path().join("size"))
.ok()
.and_then(|value| value.trim().parse::<u64>().ok())
diff --git a/crates/flasher-qt/src/ui.cpp b/crates/flasher-qt/src/ui.cpp
deleted file mode 100644
index 0af1987..0000000
--- a/crates/flasher-qt/src/ui.cpp
+++ /dev/null
@@ -1,404 +0,0 @@
-#include <QApplication>
-#include <QButtonGroup>
-#include <QCheckBox>
-#include <QComboBox>
-#include <QDialog>
-#include <QDialogButtonBox>
-#include <QFileDialog>
-#include <QFormLayout>
-#include <QFrame>
-#include <QGroupBox>
-#include <QHBoxLayout>
-#include <QLabel>
-#include <QLineEdit>
-#include <QMainWindow>
-#include <QMenuBar>
-#include <QMessageBox>
-#include <QPushButton>
-#include <QRadioButton>
-#include <QScrollArea>
-#include <QStatusBar>
-#include <QStyle>
-#include <QTreeWidget>
-#include <QVBoxLayout>
-
-namespace {
-
-struct Board {
- QString name;
- QString platform;
-};
-
-QVector<Board> parseBoards(const QString &text) {
- QVector<Board> boards;
- QString platform = QStringLiteral("Other");
- for (const QString &rawLine : text.split('\n')) {
- const QString line = rawLine.trimmed();
- if (line.isEmpty())
- continue;
- if (line.endsWith(':')) {
- platform = line.left(line.size() - 1);
- continue;
- }
- for (const QString &name : line.split(QRegExp(QStringLiteral("\\s+")), Qt::SkipEmptyParts))
- boards.push_back({name, platform});
- }
- return boards;
-}
-
-QLabel *description(const QString &text) {
- auto *label = new QLabel(text);
- label->setWordWrap(true);
- label->setForegroundRole(QPalette::Mid);
- return label;
-}
-
-QGroupBox *group(const QString &title, QLayout *layout) {
- auto *box = new QGroupBox(title);
- box->setLayout(layout);
- return box;
-}
-
-class BoardDialog final : public QDialog {
-public:
- explicit BoardDialog(const QVector<Board> &boards, QWidget *parent = nullptr)
- : QDialog(parent), boards_(boards) {
- setWindowTitle(tr("Select Target Board"));
- resize(620, 620);
- setModal(true);
-
- auto *layout = new QVBoxLayout(this);
- search_ = new QLineEdit;
- search_->setPlaceholderText(tr("Search boards, platforms, or architectures…"));
- search_->setClearButtonEnabled(true);
- tree_ = new QTreeWidget;
- tree_->setHeaderHidden(true);
- tree_->setRootIsDecorated(true);
- tree_->setAlternatingRowColors(true);
- tree_->setUniformRowHeights(true);
- layout->addWidget(search_);
- layout->addWidget(tree_, 1);
-
- auto *buttons = new QDialogButtonBox(QDialogButtonBox::Cancel);
- layout->addWidget(buttons);
- connect(buttons, &QDialogButtonBox::rejected, this, &QDialog::reject);
- connect(search_, &QLineEdit::textChanged, this, [this](const QString &text) { populate(text); });
- connect(tree_, &QTreeWidget::itemActivated, this, [this](QTreeWidgetItem *item) {
- if (item && item->parent()) {
- selectedName_ = item->data(0, Qt::UserRole).toString();
- selectedPlatform_ = item->parent()->text(0);
- accept();
- }
- });
- populate({});
- }
-
- QString selectedName() const { return selectedName_; }
- QString selectedPlatform() const { return selectedPlatform_; }
-
-private:
- void populate(const QString &query) {
- tree_->clear();
- QMap<QString, QTreeWidgetItem *> headings;
- const QString needle = query.trimmed();
- for (const Board &board : boards_) {
- if (!needle.isEmpty() && !board.name.contains(needle, Qt::CaseInsensitive)
- && !board.platform.contains(needle, Qt::CaseInsensitive))
- continue;
- auto *&heading = headings[board.platform];
- if (!heading) {
- heading = new QTreeWidgetItem(tree_, {board.platform});
- QFont font = heading->font(0);
- font.setBold(true);
- heading->setFont(0, font);
- heading->setFlags(heading->flags() & ~Qt::ItemIsSelectable);
- }
- auto *item = new QTreeWidgetItem(heading, {board.name});
- item->setData(0, Qt::UserRole, board.name);
- }
- tree_->expandAll();
- if (!query.isEmpty() && tree_->topLevelItemCount() > 0) {
- auto *heading = tree_->topLevelItem(0);
- if (heading->childCount() > 0)
- tree_->setCurrentItem(heading->child(0));
- }
- }
-
- QVector<Board> boards_;
- QLineEdit *search_ = nullptr;
- QTreeWidget *tree_ = nullptr;
- QString selectedName_;
- QString selectedPlatform_;
-};
-
-class MainWindow final : public QMainWindow {
-public:
- MainWindow(const QString &boardsText, const QString &drivesText)
- : boards_(parseBoards(boardsText)) {
- setWindowTitle(tr("ALT Image Writer"));
- resize(780, 820);
- setMinimumSize(620, 600);
-
- auto *about = menuBar()->addMenu(tr("&Help"))->addAction(tr("&About"));
- connect(about, &QAction::triggered, this, [this] {
- QMessageBox::about(this, tr("About ALT Image Writer"),
- tr("<h3>ALT Image Writer</h3><p>Version 0.1.0</p>"
- "<p>Prepare ALT Linux installation media for supported "
- "single-board computers.</p>"));
- });
-
- auto *scroll = new QScrollArea;
- scroll->setWidgetResizable(true);
- scroll->setFrameShape(QFrame::NoFrame);
- setCentralWidget(scroll);
-
- auto *viewport = new QWidget;
- auto *outer = new QHBoxLayout(viewport);
- outer->setContentsMargins(20, 20, 20, 20);
- auto *content = new QWidget;
- content->setMaximumWidth(700);
- auto *layout = new QVBoxLayout(content);
- layout->setSpacing(16);
- outer->addStretch();
- outer->addWidget(content, 1);
- outer->addStretch();
- scroll->setWidget(viewport);
-
- auto *title = new QLabel(tr("Create Installation Media"));
- QFont titleFont = title->font();
- titleFont.setPointSize(titleFont.pointSize() + 7);
- titleFont.setBold(true);
- title->setFont(titleFont);
- title->setAlignment(Qt::AlignCenter);
- layout->addWidget(title);
- auto *intro = description(tr("Prepare an ALT Linux root filesystem or disk image for your board."));
- intro->setAlignment(Qt::AlignCenter);
- layout->addWidget(intro);
-
- createSource(layout);
- createHardware(layout);
- createDestination(layout, drivesText);
- createOptions(layout);
- layout->addStretch();
-
- auto *bar = new QWidget;
- auto *barLayout = new QHBoxLayout(bar);
- barLayout->setContentsMargins(12, 8, 12, 8);
- barLayout->addWidget(description(tr("Nothing will be written until you confirm.")), 1);
- writeButton_ = new QPushButton(tr("Review and Write"));
- writeButton_->setDefault(true);
- writeButton_->setEnabled(false);
- barLayout->addWidget(writeButton_);
- statusBar()->addPermanentWidget(bar, 1);
- connect(writeButton_, &QPushButton::clicked, this, [this] { review(); });
- }
-
-private:
- void createSource(QVBoxLayout *page) {
- auto *layout = new QVBoxLayout;
- layout->addWidget(description(tr("Choose a root filesystem archive or a ready-made disk image.")));
- auto *types = new QHBoxLayout;
- types->addWidget(new QLabel(tr("Source type")));
- types->addStretch();
- rootfsButton_ = new QRadioButton(tr("Root filesystem"));
- imageButton_ = new QRadioButton(tr("Disk image"));
- rootfsButton_->setChecked(true);
- types->addWidget(rootfsButton_);
- types->addWidget(imageButton_);
- layout->addLayout(types);
-
- auto *picker = new QHBoxLayout;
- sourceLabel_ = new QLabel(tr("No source selected"));
- sourceLabel_->setTextInteractionFlags(Qt::TextSelectableByMouse);
- auto *choose = new QPushButton(tr("Choose…"));
- choose->setIcon(style()->standardIcon(QStyle::SP_DialogOpenButton));
- picker->addWidget(sourceLabel_, 1);
- picker->addWidget(choose);
- layout->addLayout(picker);
- sourceHint_ = description(tr("Supported: .tar, .tar.gz, .tar.xz"));
- layout->addWidget(sourceHint_);
- page->addWidget(group(tr("Installation Source"), layout));
-
- connect(rootfsButton_, &QRadioButton::toggled, this, [this](bool checked) {
- if (checked) {
- sourceHint_->setText(tr("Supported: .tar, .tar.gz, .tar.xz"));
- fileOutputButton_->setEnabled(true);
- }
- });
- connect(imageButton_, &QRadioButton::toggled, this, [this](bool checked) {
- if (checked) {
- sourceHint_->setText(tr("Supported: .img, .img.xz"));
- driveOutputButton_->setChecked(true);
- fileOutputButton_->setEnabled(false);
- }
- });
- connect(choose, &QPushButton::clicked, this, [this] {
- const QString filter = imageButton_->isChecked()
- ? tr("Disk images (*.img *.img.xz);;All files (*)")
- : tr("Root filesystem archives (*.tar *.tar.gz *.tar.xz);;All files (*)");
- const QString path = QFileDialog::getOpenFileName(this, tr("Choose Installation Source"), {}, filter);
- if (!path.isEmpty()) {
- sourcePath_ = path;
- sourceLabel_->setText(QFileInfo(path).fileName());
- sourceLabel_->setToolTip(path);
- sourceHint_->setText(QFileInfo(path).absolutePath());
- updateReady();
- }
- });
- }
-
- void createHardware(QVBoxLayout *page) {
- auto *layout = new QVBoxLayout;
- layout->addWidget(description(tr("Boards are grouped by platform, SoC family, and architecture.")));
- auto *row = new QHBoxLayout;
- auto *labels = new QVBoxLayout;
- boardLabel_ = new QLabel(tr("No board selected"));
- boardHint_ = description(tr("Choose from %1 supported boards").arg(boards_.size()));
- labels->addWidget(boardLabel_);
- labels->addWidget(boardHint_);
- auto *select = new QPushButton(tr("Select Board…"));
- row->addLayout(labels, 1);
- row->addWidget(select);
- layout->addLayout(row);
- page->addWidget(group(tr("Target Hardware"), layout));
-
- connect(select, &QPushButton::clicked, this, [this] {
- BoardDialog dialog(boards_, this);
- if (dialog.exec() == QDialog::Accepted) {
- selectedBoard_ = dialog.selectedName();
- selectedPlatform_ = dialog.selectedPlatform();
- boardLabel_->setText(selectedBoard_);
- QFont font = boardLabel_->font();
- font.setBold(true);
- boardLabel_->setFont(font);
- boardHint_->setText(selectedPlatform_);
- updateReady();
- }
- });
- }
-
- void createDestination(QVBoxLayout *page, const QString &drivesText) {
- auto *layout = new QVBoxLayout;
- layout->addWidget(description(tr("Write to removable media or create an image file.")));
- auto *types = new QHBoxLayout;
- types->addWidget(new QLabel(tr("Output type")));
- types->addStretch();
- driveOutputButton_ = new QRadioButton(tr("Drive"));
- fileOutputButton_ = new QRadioButton(tr("Image file"));
- driveOutputButton_->setChecked(true);
- types->addWidget(driveOutputButton_);
- types->addWidget(fileOutputButton_);
- layout->addLayout(types);
-
- driveRow_ = new QWidget;
- auto *driveLayout = new QFormLayout(driveRow_);
- driveBox_ = new QComboBox;
- const QStringList drives = drivesText.split('\n', Qt::SkipEmptyParts);
- driveBox_->addItems(drives);
- if (drives.isEmpty()) {
- driveBox_->addItem(tr("No removable drives detected"));
- driveBox_->setEnabled(false);
- }
- driveLayout->addRow(tr("Storage device"), driveBox_);
- layout->addWidget(driveRow_);
-
- fileRow_ = new QWidget;
- auto *fileLayout = new QHBoxLayout(fileRow_);
- fileLayout->setContentsMargins(0, 0, 0, 0);
- outputLabel_ = new QLabel(tr("Choose where to save the image"));
- auto *choose = new QPushButton(tr("Choose…"));
- choose->setIcon(style()->standardIcon(QStyle::SP_DialogSaveButton));
- fileLayout->addWidget(outputLabel_, 1);
- fileLayout->addWidget(choose);
- fileRow_->hide();
- layout->addWidget(fileRow_);
- page->addWidget(group(tr("Destination"), layout));
-
- connect(driveOutputButton_, &QRadioButton::toggled, this, [this](bool checked) {
- driveRow_->setVisible(checked);
- fileRow_->setVisible(!checked);
- updateReady();
- });
- connect(choose, &QPushButton::clicked, this, [this] {
- const QString path = QFileDialog::getSaveFileName(this, tr("Create Disk Image"),
- QStringLiteral("alt-linux.img"), tr("Raw disk images (*.img);;All files (*)"));
- if (!path.isEmpty()) {
- outputPath_ = path;
- outputLabel_->setText(QFileInfo(path).fileName());
- outputLabel_->setToolTip(path);
- updateReady();
- }
- });
- }
-
- void createOptions(QVBoxLayout *page) {
- auto *layout = new QFormLayout;
- auto *filesystem = new QComboBox;
- filesystem->addItems({QStringLiteral("ext4"), QStringLiteral("f2fs")});
- layout->addRow(tr("Root filesystem"), filesystem);
- auto *resize = new QCheckBox(tr("Grow to fill the destination"));
- resize->setChecked(true);
- layout->addRow(tr("Resize root partition"), resize);
- layout->addRow(tr("Boot partition"), new QCheckBox(tr("Create a separate 512 MiB partition")));
- layout->addRow(tr("Encryption"), new QCheckBox(tr("Encrypt root partition with LUKS")));
- layout->addRow(tr("Serial console"), new QCheckBox(tr("Add to boot arguments")));
- auto *efi = new QComboBox;
- efi->addItems({tr("None"), tr("EFI (GPT)"), tr("EFI (MBR)")});
- layout->addRow(tr("EFI system partition"), efi);
- auto *vnc = new QComboBox;
- vnc->addItems({tr("Use image default"), tr("Enabled"), tr("Disabled")});
- layout->addRow(tr("First-boot VNC"), vnc);
- page->addWidget(group(tr("Options"), layout));
- }
-
- void updateReady() {
- const bool destination = driveOutputButton_->isChecked()
- ? driveBox_->isEnabled() && driveBox_->currentIndex() >= 0
- : !outputPath_.isEmpty();
- writeButton_->setEnabled(!sourcePath_.isEmpty() && !selectedBoard_.isEmpty() && destination);
- }
-
- void review() {
- const QString destination = driveOutputButton_->isChecked() ? driveBox_->currentText() : outputPath_;
- QMessageBox dialog(QMessageBox::Warning, tr("Ready to write?"),
- tr("Board: %1\nPlatform: %2\nDestination: %3\n\n"
- "This is an interface preview. No data will be written.")
- .arg(selectedBoard_, selectedPlatform_, destination),
- QMessageBox::Cancel | QMessageBox::Ok, this);
- dialog.setDefaultButton(QMessageBox::Cancel);
- dialog.button(QMessageBox::Ok)->setText(tr("Write"));
- if (dialog.exec() == QMessageBox::Ok)
- statusBar()->showMessage(tr("Flashing is not implemented in this preview"), 4000);
- }
-
- QVector<Board> boards_;
- QString sourcePath_;
- QString outputPath_;
- QString selectedBoard_;
- QString selectedPlatform_;
- QRadioButton *rootfsButton_ = nullptr;
- QRadioButton *imageButton_ = nullptr;
- QRadioButton *driveOutputButton_ = nullptr;
- QRadioButton *fileOutputButton_ = nullptr;
- QLabel *sourceLabel_ = nullptr;
- QLabel *sourceHint_ = nullptr;
- QLabel *boardLabel_ = nullptr;
- QLabel *boardHint_ = nullptr;
- QLabel *outputLabel_ = nullptr;
- QWidget *driveRow_ = nullptr;
- QWidget *fileRow_ = nullptr;
- QComboBox *driveBox_ = nullptr;
- QPushButton *writeButton_ = nullptr;
-};
-
-} // namespace
-
-extern "C" int run_qt_app(int argc, char **argv, const char *boards, const char *drives) {
- QApplication app(argc, argv);
- QCoreApplication::setApplicationName(QStringLiteral("ALT Image Writer"));
- QCoreApplication::setOrganizationName(QStringLiteral("ALT Linux"));
- QApplication::setWindowIcon(QApplication::style()->standardIcon(QStyle::SP_DriveHDIcon));
- MainWindow window(QString::fromUtf8(boards), QString::fromUtf8(drives));
- window.show();
- return app.exec();
-}
diff --git a/pi-session-019f9999-ccdd-7234-912a-62e5b68a7e9d.html b/pi-session-019f9999-ccdd-7234-912a-62e5b68a7e9d.html
index 0c2e0c7..32cb770 100644
--- a/pi-session-019f9999-ccdd-7234-912a-62e5b68a7e9d.html
+++ b/pi-session-019f9999-ccdd-7234-912a-62e5b68a7e9d.html
@@ -1159,7 +1159,7 @@
</div>
</div>
- <script id="session-data" type="application/json">eyJoZWFkZXIiOnsidHlwZSI6InNlc3Npb24iLCJ2ZXJzaW9uIjozLCJpZCI6IjAxOWY5OTk5LWNjZGQtNzIzNC05MTJhLTYyZTViNjhhN2U5ZCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MDEuMzQxWiIsImN3ZCI6Ii9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIifSwiZW50cmllcyI6W3sidHlwZSI6Im1vZGVsX2NoYW5nZSIsImlkIjoiZWM1ZjI0YjUiLCJwYXJlbnRJZCI6bnVsbCwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDowNzowMS4zOTZaIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbElkIjoiZ3B0LTUuNi1zb2wifSx7InR5cGUiOiJ0aGlua2luZ19sZXZlbF9jaGFuZ2UiLCJpZCI6ImE0OTBjZmRkIiwicGFyZW50SWQiOiJlYzVmMjRiNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MDEuMzk2WiIsInRoaW5raW5nTGV2ZWwiOiJtZWRpdW0ifSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3YjI0OWE0NCIsInBhcmVudElkIjoiYTQ5MGNmZGQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjA3OjEyLjAwMVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiaW4gdGhpcyByZXBvIGkgaGF2ZSBhbHQtcm9vdGZzLWluc3RhbGxlciBzY3JpcHRzIHRoYXQgYXJlIHVzZWQgdG8gZmxhc2ggcm9vdGZzIHRvIHNvbWUgZGlmZmVyZW50IFNCQ3MuIENyZWF0ZSBpZGlvbWF0aWMgYWR3YWl0YSBndGsgaW50ZXJmYWNlXG50aGF0IGlzIHNvbWV3aGF0IG1pcnJvcnMgdGhpcyBzY3JpcHQuIHlvdSBkb24ndCBhY3R1YWxseSBuZWVkIHRvIGltcGxlbWVudCB0aGUgZmxhc2hpbmcsIGp1c3QgdGhlIGludGVyZmFjZS4gZG8gaXQgaW4gY3VycmVudCBydXN0IHByb2plY3QuIGFzayBpZiBhbnkgcXVlc3Rpb25zIGFyaXNlLiJ9XSwidGltZXN0YW1wIjoxNzg0OTg4NDMxOTk4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZDliYjgzNDciLCJwYXJlbnRJZCI6IjdiMjQ5YTQ0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDowNzoxOC4zMjBaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIHJlcG9zaXRvcnkgaW5zcGVjdGlvbioqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMTNhZTdjODE5MTg5ZDJiZmZkMmYzMDBiYWZcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1NV0JKMmxMM3NjRGdXM2xMeUtrY1EyeDdOelgyaGIyU2NXQ1lJV2xOSk5TbGM1OHFBTnpiZFVKQl9fRlBPdTBpTjhYMGU3b011S2syMW1HNVpIUlJCUmxSLVU3SjdTMDNMbFA2QS13aWpNSXlyS3BRd3JJdExiQk9xUTNuYmU4aTQ4SHlpZG5kOFpwRGppZG4yRENUMDdUUmNBVkltYjFIQXZmWHZ1TjFHLW53WjJHOFpvMENVWS1tT2gxa0prSDlrNng3QXJTMzdRYk1wUTdpb25fT3E5MzJVNnZYdVdyMUZUQXlHSUh5ZkhMYUV4UXdRSlpabDhHU2puMFJkUDhzTFBuTVE0Szlac1U0Z05kX2N1VUlaV2FuVi1LdnRjQkw5SFQ2R09PT2lLclF4NFhXYUZ5eXJCUVBsZkhWQVNBclJCemNOQjRnUnYzM3J4QkhtaDlJb0g1ZmYzam1wLXhzTENFTXNKNjVHcGExVlBYLXp0aXdVUEl1YV8xejYydWJGaFhYdTNzV1U2VVI3SGUzTXRxdkY3d2ltYzhBVmZaLTl1dFZsVFpvS2JrTFVZdUdRQW9kSTkycGNNR1hyNDRKNlg5OE1UV2VlRVh2WVMxa1pUeF9QQWtkTlRJT1Z4bFVEeDJKVy1fclFzOXZZUnp3enhJZXRlU3RsZl94RFcySHdfVWFPWFBlNFdjRkhhWjZ4VS0yN1hjcklyZ0FzYkh0NUNoUDJLMWtoUU5zZW1LaW1pM3g3ZHJFemRWVzZuQ29qVW9DemVveDdMelEtNzM5U19FUFhYNWduRUJSa2hTcDVyVlNrUXYxZUVUU3FOUmd3UzZOTE9VOWJNcnhpNVhab215dEx6YWlEVDJ0VWdYZU9GQm5ITm5WUjdxcE1FMzRBY1hRVGN2NUNMeVN2MTVjckNqMWUyVXpmZEx6ZmV2elJ4WUZjNXd2czduZkV4ZTd1QjEteUNRNlJwd3pyLWIzaVBoeXJtRVZQT1FpSlBZNjFVMFNoeXU2MW5oNEdEYmFhd3RoMWpFUWR2OENGR3JLY0p4QTZXV1RPcWM3Sy0wdE5sLTQ5UHU3emd4aXZ2ZnZwR2pxbmVUMXQ3U3dUdXgzWGVfc0NQaGxwOVZZam5aZ3FWb3BUeWhKeC1xLWduY0RvU2c1SWVMMmd3VkZJQ3BKUFlxTTEzRDAxeFBiNmM0dUVwQkZnSlRXczNjcGpHT2dscFA1SDE3bDJ2bGR0Rl84dHRzZnpyZkR3dDZsWWw4VlVlVTdZb1R5RlN5SUc2NVNGUlwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqUGxhbm5pbmcgcmVwb3NpdG9yeSBpbnNwZWN0aW9uKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX3dPSjB3ckdSUlZGUVZEYzJxWHRIWFA1c3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMxNjJjOTA4MTkxYTg5ZmFhYTU3NzIzZDFjMyIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJwcmludGYgJyVzXFxuJyAnLS0tIGVudiAtLS0nOyBlbnYgfCBncmVwICdeUElfJyB8fCB0cnVlOyBwcmludGYgJyVzXFxuJyAnLS0tIGZpbGVzIC0tLSc7IGZpbmQgLiAtbWF4ZGVwdGggMyAtdHlwZSBmIC1wcmludCB8IHNvcnQgfCBoZWFkIC0zMDAifX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfS1FxRUpjS04zeEcwbXJYd1g5TGMwRWFYfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzE2MmNiMDgxOTE4Y2M3Yjg0ZGFhYzg3YjdlIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImZpbmQgLi4gLW1heGRlcHRoIDQgLXR5cGUgZiBcXCggLWluYW1lICcqYWx0KnJvb3RmcyonIC1vIC1pbmFtZSAnKi5zaCcgXFwpIC1wcmludCB8IHNvcnQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEzMTEsIm91dHB1dCI6MTQwLCJjYWNoZVJlYWQiOjAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6OSwidG90YWxUb2tlbnMiOjE0NTEsImNvc3QiOnsiaW5wdXQiOjAuMDA2NTU1MDAwMDAwMDAwMDAxLCJvdXRwdXQiOjAuMDA0MiwiY2FjaGVSZWFkIjowLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMTA3NTV9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODg0MzIwMTIsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzEyNjNiODgxOTE4YzlkY2M5YjJhMWViNTkzIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImUwOGZjOTZhIiwicGFyZW50SWQiOiJkOWJiODM0NyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MTkuNDkzWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF93T0owd3JHUlJWRlFWRGMycVh0SFhQNXN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMTYyYzkwODE5MWE4OWZhYWE1NzcyM2QxYzMiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiItLS0gZW52IC0tLVxuUElfQ09ESU5HX0FHRU5UPXRydWVcblBJX1JFQVNPTklOR19MRVZFTD1tZWRpdW1cblBJX1NFU1NJT05fRklMRT0vaG9tZS9hZ3VzY2hpbi8ucGkvYWdlbnQvc2Vzc2lvbnMvLS1ob21lLWFndXNjaGluLVByb2plY3RzLWZsYXNoZXItLS8yMDI2LTA3LTI1VDE0LTA3LTAxLTM0MVpfMDE5Zjk5OTktY2NkZC03MjM0LTkxMmEtNjJlNWI2OGE3ZTlkLmpzb25sXG5QSV9QUk9WSURFUj1vcGVuYWktY29kZXhcblBJX01PREVMPWdwdC01LjYtc29sXG5QSV9TRVNTSU9OX0lEPTAxOWY5OTk5LWNjZGQtNzIzNC05MTJhLTYyZTViNjhhN2U5ZFxuLS0tIGZpbGVzIC0tLVxuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9hbHQtcm9vdGZzLWluc3RhbGxlclxuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9hbHQtcm9vdGZzLWluc3RhbGxlci5zcGVjXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL0FVVEhPUlNcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvQ09QWUlOR1xuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9FWFRSQV9PUFRJT05TXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL2Z1bmN0aW9uc1xuLi9hbHQtcm9vdGZzLWluc3RhbGxlci8uZ2Vhci9ydWxlc1xuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9sb2dcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvUkVBRE1FXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL3NoZWxsLWNvbmZpZ1xuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9zaGVsbC1lcnJvclxuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9zaGVsbC10ZXJtaW5mb1xuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9zb2NzLmQvQWxsV2lubmVyLWFhcmNoNjQuc2hcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvc29jcy5kL0FsbFdpbm5lci1yaXNjdjY0LnNoXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL3NvY3MuZC9LMXgtcmlzY3Y2NC5zaFxuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvc29jcy5kL1NpRml2ZS1yaXNjdjY0LnNoXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL3NvY3MuZC9TdGFyRml2ZS1yaXNjdjY0LnNoXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL3NvY3MuZC91bmtub3duLXNvYy5zaFxuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9TVVBQT1JURUQtQk9BUkRTXG4uL0NhcmdvLmxvY2tcbi4vQ2FyZ28udG9tbFxuLi8uZ2l0L0NPTU1JVF9FRElUTVNHXG4uLy5naXQvY29uZmlnXG4uLy5naXQvZGVzY3JpcHRpb25cbi4vLmdpdC9IRUFEXG4uLy5naXRpZ25vcmVcbi4vLmdpdC9pbmRleFxuLi8uZ2l0L2luZm8vZXhjbHVkZVxuLi8uZ2l0L2xvZ3MvSEVBRFxuLi9zcmMvbWFpbi5yc1xuLi90YXJnZXQvQ0FDSEVESVIuVEFHXG4uL3RhcmdldC9kZWJ1Zy8uY2FyZ28tYXJ0aWZhY3QtbG9ja1xuLi90YXJnZXQvZGVidWcvLmNhcmdvLWJ1aWxkLWxvY2tcbi4vdGFyZ2V0L2RlYnVnLy5jYXJnby1sb2NrXG4uL3RhcmdldC9kZWJ1Zy9mbGFzaGVyXG4uL3RhcmdldC9kZWJ1Zy9mbGFzaGVyLmRcbi4vdGFyZ2V0Ly5ydXN0Y19pbmZvLmpzb25cbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODQzOTQ5M319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjFhZWRmMzVhIiwicGFyZW50SWQiOiJlMDhmYzk2YSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MTkuNDkzWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9LUXFFSmNLTjN4RzBtclh3WDlMYzBFYVh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMTYyY2IwODE5MThjYzdiODRkYWFjODdiN2UiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIuLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvYWx0LXJvb3Rmcy1pbnN0YWxsZXJcbi4uL2FsdC1jb250cm9sbGVyLWluc3RhbGxlci9hbHQtcm9vdGZzLWluc3RhbGxlci5zcGVjXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL0FsbFdpbm5lci1hYXJjaDY0LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL0FsbFdpbm5lci1yaXNjdjY0LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL2JibC1yaXNjdjY0LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL2dlbmVyaWMteDg2LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL0hpRml2ZVVubGVhc2hlZC1yaXNjdjY0LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL0hpRml2ZVVubWF0Y2hlZC1yaXNjdjY0LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL1JvY2tjaGlwcy1hYXJjaDY0LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL1NpRml2ZS1yaXNjdjY0LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL3Vua25vd24tc29jLnNoXG4uLi9jb252ZXJ0X3BuZ190b19hdmlmLnNoXG4uLi9jb252LnNoXG4uLi9jb3Vyc2V3b3JrLXllYXIyL3JlcG9ydC9tZXJnZS5zaFxuLi4vZG90ZmlsZXMvLmNvbmZpZy9wb2x5YmFyL2xhdW5jaC5zaFxuLi4vZmZtcGVnLXJvY2tjaGlwL2RvYy9kb3h5LXdyYXBwZXIuc2hcbi4uL2ZmbXBlZy1yb2NrY2hpcC9mZmJ1aWxkL2xpYnZlcnNpb24uc2hcbi4uL2ZmbXBlZy1yb2NrY2hpcC9mZmJ1aWxkL3BrZ2NvbmZpZ19nZW5lcmF0ZS5zaFxuLi4vZmZtcGVnLXJvY2tjaGlwL2ZmYnVpbGQvdmVyc2lvbi5zaFxuLi4vZmZtcGVnLXJvY2tjaGlwL3Rlc3RzL2NvcHljb29rZXIuc2hcbi4uL2ZmbXBlZy1yb2NrY2hpcC90ZXN0cy9mYXRlLXJ1bi5zaFxuLi4vZmZtcGVnLXJvY2tjaGlwL3Rlc3RzL2ZhdGUuc2hcbi4uL2ZmbXBlZy1yb2NrY2hpcC90ZXN0cy9mYXRlL3NvdXJjZS1jaGVjay5zaFxuLi4vZmZtcGVnLXJvY2tjaGlwL3Rlc3RzL21kNS5zaFxuLi4vZmZtcGVnLXJvY2tjaGlwL3Rvb2xzL3RhcmdldF9kZWNfZmF0ZS5zaFxuLi4vZmxhc2hlci9hbHQtcm9vdGZzLWluc3RhbGxlci9hbHQtcm9vdGZzLWluc3RhbGxlclxuLi4vZmxhc2hlci9hbHQtcm9vdGZzLWluc3RhbGxlci9hbHQtcm9vdGZzLWluc3RhbGxlci5zcGVjXG4uLi9mbGFzaGVyL2FsdC1yb290ZnMtaW5zdGFsbGVyL3NvY3MuZC9BbGxXaW5uZXItYWFyY2g2NC5zaFxuLi4vZmxhc2hlci9hbHQtcm9vdGZzLWluc3RhbGxlci9zb2NzLmQvQWxsV2lubmVyLXJpc2N2NjQuc2hcbi4uL2ZsYXNoZXIvYWx0LXJvb3Rmcy1pbnN0YWxsZXIvc29jcy5kL0sxeC1yaXNjdjY0LnNoXG4uLi9mbGFzaGVyL2FsdC1yb290ZnMtaW5zdGFsbGVyL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxuLi4vZmxhc2hlci9hbHQtcm9vdGZzLWluc3RhbGxlci9zb2NzLmQvU2lGaXZlLXJpc2N2NjQuc2hcbi4uL2ZsYXNoZXIvYWx0LXJvb3Rmcy1pbnN0YWxsZXIvc29jcy5kL1N0YXJGaXZlLXJpc2N2NjQuc2hcbi4uL2ZsYXNoZXIvYWx0LXJvb3Rmcy1pbnN0YWxsZXIvc29jcy5kL3Vua25vd24tc29jLnNoXG4uLi9nYW1vdmEvZG9jL21ha2VyLnNoXG4uLi9saW51eC9hcmNoL202OGsvaW5zdGFsbC5zaFxuLi4vbGludXgvYXJjaC9wYXJpc2MvaW5zdGFsbC5zaFxuLi4vbGludXgva2VybmVsL2dlbl9raGVhZGVycy5zaFxuLi4vbGludXgvbGliL3Rlc3RfZm9ydGlmeS90ZXN0X2ZvcnRpZnkuc2hcbi4uL2xpbnV4L3NhbXBsZXMvYnBmL2RvX2hibV90ZXN0LnNoXG4uLi9saW51eC9zYW1wbGVzL2JwZi9sd3RfbGVuX2hpc3Quc2hcbi4uL2xpbnV4L3NhbXBsZXMvYnBmL3J1bl9jb29raWVfdWlkX2hlbHBlcl9leGFtcGxlLnNoXG4uLi9saW51eC9zYW1wbGVzL2JwZi90Y19sMl9yZWRpcmVjdC5zaFxuLi4vbGludXgvc2FtcGxlcy9icGYvdGVzdF9jbHNfYnBmLnNoXG4uLi9saW51eC9zYW1wbGVzL2JwZi90ZXN0X2x3dF9icGYuc2hcbi4uL2xpbnV4L3NhbXBsZXMvYnBmL3hkcDJza2JfbWV0YS5zaFxuLi4vbGludXgvc2FtcGxlcy9jaGVjay1leGVjL3J1bi1zY3JpcHQtYXNrLnNoXG4uLi9saW51eC9zYW1wbGVzL3BrdGdlbi9mdW5jdGlvbnMuc2hcbi4uL2xpbnV4L3NhbXBsZXMvcGt0Z2VuL3BhcmFtZXRlcnMuc2hcbi4uL2xpbnV4L3NhbXBsZXMvcGt0Z2VuL3BrdGdlbl9iZW5jaF94bWl0X21vZGVfbmV0aWZfcmVjZWl2ZS5zaFxuLi4vbGludXgvc2FtcGxlcy9wa3RnZW4vcGt0Z2VuX2JlbmNoX3htaXRfbW9kZV9xdWV1ZV94bWl0LnNoXG4uLi9saW51eC9zYW1wbGVzL3BrdGdlbi9wa3RnZW5fc2FtcGxlMDFfc2ltcGxlLnNoXG4uLi9saW51eC9zYW1wbGVzL3BrdGdlbi9wa3RnZW5fc2FtcGxlMDJfbXVsdGlxdWV1ZS5zaFxuLi4vbGludXgvc2FtcGxlcy9wa3RnZW4vcGt0Z2VuX3NhbXBsZTAzX2J1cnN0X3NpbmdsZV9mbG93LnNoXG4uLi9saW51eC9zYW1wbGVzL3BrdGdlbi9wa3RnZW5fc2FtcGxlMDRfbWFueV9mbG93cy5zaFxuLi4vbGludXgvc2FtcGxlcy9wa3RnZW4vcGt0Z2VuX3NhbXBsZTA1X2Zsb3dfcGVyX3RocmVhZC5zaFxuLi4vbGludXgvc2FtcGxlcy9wa3RnZW4vcGt0Z2VuX3NhbXBsZTA2X251bWFfYXdhcmVkX3F1ZXVlX2lycV9hZmZpbml0eS5zaFxuLi4vbGludXgvc2NyaXB0cy9hcy12ZXJzaW9uLnNoXG4uLi9saW51eC9zY3JpcHRzL2F0b21pYy9hdG9taWMtdGJsLnNoXG4uLi9saW51eC9zY3JpcHRzL2F0b21pYy9nZW4tYXRvbWljLWZhbGxiYWNrLnNoXG4uLi9saW51eC9zY3JpcHRzL2F0b21pYy9nZW4tYXRvbWljLWluc3RydW1lbnRlZC5zaFxuLi4vbGludXgvc2NyaXB0cy9hdG9taWMvZ2VuLWF0b21pYy1sb25nLnNoXG4uLi9saW51eC9zY3JpcHRzL2F0b21pYy9nZW4tYXRvbWljcy5zaFxuLi4vbGludXgvc2NyaXB0cy9hdG9taWMvZ2VuLXJ1c3QtYXRvbWljLWhlbHBlcnMuc2hcbi4uL2xpbnV4L3NjcmlwdHMvY2MtY2FuLWxpbmsuc2hcbi4uL2xpbnV4L3NjcmlwdHMvY2MtdmVyc2lvbi5zaFxuLi4vbGludXgvc2NyaXB0cy9jaGVja2VyLXZhbGlkLnNoXG4uLi9saW51eC9zY3JpcHRzL2NoZWNrX2V4dGFibGUuc2hcbi4uL2xpbnV4L3NjcmlwdHMvY2hlY2stZnVuY3Rpb24tbmFtZXMuc2hcbi4uL2xpbnV4L3NjcmlwdHMvY2hlY2tzeXNjYWxscy5zaFxuLi4vbGludXgvc2NyaXB0cy9jaGVjay11YXBpLnNoXG4uLi9saW51eC9zY3JpcHRzL2RlY29kZV9zdGFja3RyYWNlLnNoXG4uLi9saW51eC9zY3JpcHRzL2RlcG1vZC5zaFxuLi4vbGludXgvc2NyaXB0cy9kZXYtbmVlZHMuc2hcbi4uL2xpbnV4L3NjcmlwdHMvZHRjL3VwZGF0ZS1kdGMtc291cmNlLnNoXG4uLi9saW51eC9zY3JpcHRzL2ZpbGUtc2l6ZS5zaFxuLi4vbGludXgvc2NyaXB0cy9nZW4tYnRmLnNoXG4uLi9saW51eC9zY3JpcHRzL2dlbi1yYW5kc3RydWN0LXNlZWQuc2hcbi4uL2xpbnV4L3NjcmlwdHMvZ2l0LXJlc29sdmUuc2hcbi4uL2xpbnV4L3NjcmlwdHMvaGVhZGVyc19pbnN0YWxsLnNoXG4uLi9saW51eC9zY3JpcHRzL2luc3RhbGwuc2hcbi4uL2xpbnV4L3NjcmlwdHMva2NvbmZpZy9nY29uZi1jZmcuc2hcbi4uL2xpbnV4L3NjcmlwdHMva2NvbmZpZy9tY29uZi1jZmcuc2hcbi4uL2xpbnV4L3NjcmlwdHMva2NvbmZpZy9tZXJnZV9jb25maWcuc2hcbi4uL2xpbnV4L3NjcmlwdHMva2NvbmZpZy9uY29uZi1jZmcuc2hcbi4uL2xpbnV4L3NjcmlwdHMva2NvbmZpZy9xY29uZi1jZmcuc2hcbi4uL2xpbnV4L3NjcmlwdHMvbGQtdmVyc2lvbi5zaFxuLi4vbGludXgvc2NyaXB0cy9saW5rLXZtbGludXguc2hcbi4uL2xpbnV4L3NjcmlwdHMvbWluLXRvb2wtdmVyc2lvbi5zaFxuLi4vbGludXgvc2NyaXB0cy9ta3Vib290LnNoXG4uLi9saW51eC9zY3JpcHRzL21vZHVsZXMtY2hlY2suc2hcbi4uL2xpbnV4L3NjcmlwdHMvb3JjX2hhc2guc2hcbi4uL2xpbnV4L3NjcmlwdHMvcGFob2xlLXZlcnNpb24uc2hcbi4uL2xpbnV4L3NjcmlwdHMvcmVsb2NzX2NoZWNrLnNoXG4uLi9saW51eC9zY3JpcHRzL3J1c3RjLWxsdm0tdmVyc2lvbi5zaFxuLi4vbGludXgvc2NyaXB0cy9ydXN0Yy12ZXJzaW9uLnNoXG4uLi9saW51eC9zY3JpcHRzL3J1c3RfaXNfYXZhaWxhYmxlLnNoXG4uLi9saW51eC9zY3JpcHRzL3NlbGludXgvaW5zdGFsbF9wb2xpY3kuc2hcbi4uL2xpbnV4L3NjcmlwdHMvc3BkeGNoZWNrLXRlc3Quc2hcbi4uL2xpbnV4L3NjcmlwdHMvc3lzY2FsbGhkci5zaFxuLi4vbGludXgvc2NyaXB0cy9zeXNjYWxsbnIuc2hcbi4uL2xpbnV4L3NjcmlwdHMvc3lzY2FsbHRibC5zaFxuLi4vbGludXgvc2NyaXB0cy90YWdzLnNoXG4uLi9saW51eC9zY3JpcHRzL3Rvb2xzLXN1cHBvcnQtcmVsci5zaFxuLi4vbGludXgvc2NyaXB0cy90cmFjaW5nL2Z0cmFjZS1iaXNlY3Quc2hcbi4uL2xpbnV4L3NjcmlwdHMveGVuLWh5cGVyY2FsbHMuc2hcbi4uL2xpbnV4L3NjcmlwdHMveHpfd3JhcC5zaFxuLi4vbGludXgvdG9vbHMvYm9vdGNvbmZpZy90ZXN0LWJvb3Rjb25maWcuc2hcbi4uL2xpbnV4L3Rvb2xzL2NlcnRzL3ByaW50LWNlcnQtdGJzLWhhc2guc2hcbi4uL2xpbnV4L3Rvb2xzL2RvY3MvZmVhdHVyZXMtcmVmcmVzaC5zaFxuLi4vbGludXgvdG9vbHMvZG9jcy9maW5kLXVudXNlZC1kb2NzLnNoXG4uLi9saW51eC90b29scy9kb2NzL2xpc3QtYXJjaC5zaFxuLi4vbGludXgvdG9vbHMvZ3Bpby9ncGlvLXNsb3BweS1sb2dpYy1hbmFseXplci5zaFxuLi4vbGludXgvdG9vbHMvaHYvaHZfZ2V0X2RoY3BfaW5mby5zaFxuLi4vbGludXgvdG9vbHMvaHYvaHZfZ2V0X2Ruc19pbmZvLnNoXG4uLi9saW51eC90b29scy9odi9odl9zZXRfaWZjb25maWcuc2hcbi4uL2xpbnV4L3Rvb2xzL2xlZHMvZ2V0X2xlZF9kZXZpY2VfaW5mby5zaFxuLi4vbGludXgvdG9vbHMvbW0vc2xhYmluZm8tZ251cGxvdC5zaFxuLi4vbGludXgvdG9vbHMvb2JqdG9vbC9zeW5jLWNoZWNrLnNoXG4uLi9saW51eC90b29scy9wZXJmL2NoZWNrLWhlYWRlcnMuc2hcbi4uL2xpbnV4L3Rvb2xzL3BlcmYvcGVyZi1hcmNoaXZlLnNoXG4uLi9saW51eC90b29scy9wZXJmL3BlcmYtY29tcGxldGlvbi5zaFxuLi4vbGludXgvdG9vbHMvcGVyZi9wZXJmLWlvc3RhdC5zaFxuLi4vbGludXgvdG9vbHMvcmN1L2V4dHJhY3Qtc3RhbGwuc2hcbi4uL2xpbnV4L3Rvb2xzL3JjdS9yY3UtdXBkYXRlcnMuc2hcbi4uL2xpbnV4L3Rvb2xzL3RpbWUvdWRlbGF5X3Rlc3Quc2hcbi4uL2xpbnV4L3Rvb2xzL3VzYi9oY2QtdGVzdHMuc2hcbi4uL2xpbnV4L3Vzci9nZW5faW5pdHJhbWZzLnNoXG4uLi9ta2ltYWdlLXByb2ZpbGVzL2ZlYXR1cmVzLmluLzAwZXhhbXBsZS9nZW5lcmF0ZS5zaFxuLi4vbXBwL2J1aWxkL2FuZHJvaWQvZW52X3NldHVwLnNoXG4uLi9tcHAvYnVpbGQvYW5kcm9pZC91cGRhdGUuc2hcbi4uL21wcC9idWlsZC9saW51eC9vcHRfcHJvYy5zaFxuLi4vbXBwL21lcmdlX3N0YXRpY19saWIuc2hcbi4uL21wcC90b29scy9jaGFuZ2Vsb2cuc2hcbi4uL21wcC90b29scy9tcHBfYXN0eWxlLnNoXG4uLi9tcHAvdG9vbHMvcmVzb2x1dGlvbl90ZXN0LnNoXG4uLi9uYXMtc2VydmljZXMvdGVtcC5zaFxuLi4vbm9zbGVlcC5zaFxuLi4vb3B1cy1yZXNlYXJjaC9jaGVjay5zaFxuLi4vb3B1cy1yZXNlYXJjaC9raXMvY2hlY2suc2hcbi4uL29wdXMtcmVzZWFyY2gva2lzL3J1bi5zaFxuLi4vb3B1cy1yZXNlYXJjaC9ydW4uc2hcbi4uL29wdXMtcmVzZWFyY2gvc29hZC9jaGVjay5zaFxuLi4vb3B1cy1yZXNlYXJjaC9zb2FkL3J1bi5zaFxuLi4vb3dydC9nZXRzc2guc2hcbi4uL3NzdS1ncmFwaGljcy1jb3Vyc2Uvb2xkbGF0ZXgvbGVzc29uMDEvbWFrZXIuc2hcbi4uL3NzdS1ncmFwaGljcy1jb3Vyc2Uvb2xkbGF0ZXgvbGVzc29uMDMvbWFrZXIuc2hcbi4uL3NzdS1ncmFwaGljcy1jb3Vyc2Uvb2xkbGF0ZXgvbWFrZXIuc2hcbi4uL3NzdS1ncmFwaGljcy1yYXlsaWIvc3N1LWdyYXBoaWNzLW9wZW5nbC9tYWtlci5zaFxuLi4vc3N1LWdyYXBoaWNzLXJheWxpYi9zc3UtZ3JhcGhpY3MtcmF5bGliL21ha2VyLnNoXG4uLi91LWJvb3QvZG9jL3NwaGlueC9wYXJhbGxlbC13cmFwcGVyLnNoXG4uLi91LWJvb3Qvc2NyaXB0cy9iaW51dGlscy12ZXJzaW9uLnNoXG4uLi91LWJvb3Qvc2NyaXB0cy9idWlsZC1jYi5zaFxuLi4vdS1ib290L3NjcmlwdHMvYnVpbGQtZWZpLnNoXG4uLi91LWJvb3Qvc2NyaXB0cy9jaGVjay1vZi5zaFxuLi4vdS1ib290L3NjcmlwdHMvY2xhbmctdmVyc2lvbi5zaFxuLi4vdS1ib290L3NjcmlwdHMvZHRjL3VwZGF0ZS1kdGMtc291cmNlLnNoXG4uLi91LWJvb3Qvc2NyaXB0cy9kdGMtdmVyc2lvbi5zaFxuLi4vdS1ib290L3NjcmlwdHMvZ2NjLXN0YWNrLXVzYWdlLnNoXG4uLi91LWJvb3Qvc2NyaXB0cy9nY2MtdmVyc2lvbi5zaFxuLi4vdS1ib290L3NjcmlwdHMvZ2VuX2xsX2FkZHJlc3NhYmxlX3N5bWJvbHMuc2hcbi4uL3UtYm9vdC9zY3JpcHRzL2dldF9kZWZhdWx0X2VudnMuc2hcbi4uL3UtYm9vdC9zY3JpcHRzL2tjb25maWcvZ2NvbmYtY2ZnLnNoXG4uLi91LWJvb3Qvc2NyaXB0cy9rY29uZmlnL21jb25mLWNmZy5zaFxuLi4vdS1ib290L3NjcmlwdHMva2NvbmZpZy9tZXJnZV9jb25maWcuc2hcbi4uL3UtYm9vdC9zY3JpcHRzL2tjb25maWcvbmNvbmYtY2ZnLnNoXG4uLi91LWJvb3Qvc2NyaXB0cy9rY29uZmlnL3Fjb25mLWNmZy5zaFxuLi4vdS1ib290L3NjcmlwdHMvbGQtdmVyc2lvbi5zaFxuLi4vdS1ib290L3NjcmlwdHMvbWFrZV9waXAuc2hcbi4uL3UtYm9vdC90ZXN0L2ZzL2ZhdC1ub25jb250aWctdGVzdC5zaFxuLi4vdS1ib290L3Rlc3QvZnMvZnMtdGVzdC5zaFxuLi4vdS1ib290L3Rlc3QvaW1hZ2UvdGVzdC1pbWFnZXRvb2xzLnNoXG4uLi91LWJvb3QvdGVzdC9zdGRpbnQvdGVzdC1pbmNsdWRlcy5zaFxuLi4vdS1ib290L3Rvb2xzL2lteDhtX2ltYWdlLnNoXG4uLi91LWJvb3QvdG9vbHMvaW14OV9pbWFnZS5zaFxuLi4vdS1ib290L3Rvb2xzL2lteF9jbnRyX2ltYWdlLnNoXG4uLi91LWJvb3QvdG9vbHMvaW90MjA1MC1zaWduLWZ3LnNoXG4uLi91LWJvb3QvdG9vbHMvdXBkYXRlLXN1YnRyZWUuc2hcbi4uL3UtYm9vdC90b29scy96eW5xbXBfcHN1X2luaXRfbWluaW1pemUuc2hcbi4uL3YycmF5Ti9wYWNrYWdlLWRlYmlhbi1sb29uZy5zaFxuLi4vdjJyYXlOL3BhY2thZ2UtZGViaWFuLXJpc2N2LnNoXG4uLi92MnJheU4vcGFja2FnZS1kZWJpYW4uc2hcbi4uL3YycmF5Ti9wYWNrYWdlLW9zeC5zaFxuLi4vdjJyYXlOL3BhY2thZ2UtcmhlbC1yaXNjdi5zaFxuLi4vdjJyYXlOL3BhY2thZ2UtcmhlbC5zaFxuLi4vdnRjLWRlcGxveS92dGMtaW5mcmEvaW5pdC1zZXJ2LnNoXG4uLi93bHJvb3RzL2JhY2tlbmQvZHJtL2dlbl9wbnBpZHMuc2hcbi4uL3hwYWRuZW8vY29uZmlndXJlLnNoXG4uLi94cGFkbmVvL2luc3RhbGwuc2hcbi4uL3hwYWRuZW8vbGliL2luc3RhbGxlci5zaFxuLi4veHBhZG5lby9saWIvdmVyYm9zZS5zaFxuLi4veHBhZG5lby91bmluc3RhbGwuc2hcbi4uL3hwYWRuZW8vdXBkYXRlLnNoXG4uLi95dC1kbHAveXQtZGxwLnNoXG4uLi96eDJjNC9HaXRUb29scy9vbGQvTWlncmF0ZUZyb21HaXR3ZWJVbml4UGVybVRvR2l0b2xpdGUuc2hcbi4uL3p4MmM0L0dpdFRvb2xzL29sZC9OZXdDR2l0VW5peFBlcm1HaXRQcm9qZWN0LnNoXG4uLi96eDJjNC9HaXRUb29scy9vbGQvVXBsb2FkQ29udGVudHNUb0FueWNsaXBTZXJ2ZXIuc2hcbi4uL3p4MmM0L0dpdFRvb2xzL29sZC9VcGxvYWROZXdHaXRHaXR3ZWJVbml4UGVybS5zaFxuLi4vengyYzQvR2l0VG9vbHMvdXBsb2FkTmV3R2l0LnNoXG4uLi96eDJjNC9TdHJpcGUtQ1RGL2xldmVsMDEuc2hcbi4uL3p4MmM0L1N0cmlwZS1DVEYvbGV2ZWwwMi5zaFxuLi4vengyYzQvU3RyaXBlLUNURi9sZXZlbDAzLnNoXG4uLi96eDJjNC9TdHJpcGUtQ1RGL2xldmVsMDQuc2hcbi4uL3p4MmM0L1N0cmlwZS1DVEYvbGV2ZWwwNS5zaFxuLi4vengyYzQvd2lyZWd1YXJkLWhzL3Rlc3RzL2JlbmNoLnNoXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg0Mzk0OTN9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI2ZWYwYzQ1ZSIsInBhcmVudElkIjoiMWFlZGYzNWEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjA3OjI0LjEwNFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqUmV2aWV3aW5nIGNhcmdvIHNjcmlwdCBvcHRpb25zKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMxOTJiMTQ4MTkxODdkYWEyZDRlNzFlYTg3MFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTU1iTUZORlpsalVPT2F3YXFkYWM5c2Y2Z2JUZnU4OVNFbzNzVU1PZnM2WU52RlVwTVpoRnp4RTJmOW9pQlllczhEUkR0aDVOXzAtZUlQRktxNGJWYVJpUGRrSjdlUVJUbDR2YXAyaHZtYXpNSHdUQlZYSmp6eE54NjhzQmJCamJwV3ZXOW9OemNQa1oxQVFrM2E2dUtIYmRyZVRxRTdaOE03eUlGcjM0ckEwelh5MV9kUFJjSkZ2Q3VjcG5IalNKNThLTVFXaHdyZExQZlgzZGJaamFENlV3UnVIVlBtNUdnaUxiY2hLTnVxVWJIQ1pIX1h3X3BVc195MG8zQ3Z0M3Z3em82V2tfWVZvZHFyaUMyVGdmblctYVVZczloRk5PbjZMZFFrZHRWTFg4VlZKcG5VRnRRVHdzY2g2MjhfbXI2dVE5QlRhT1FoN3R3cnFiQTVUQmpmd052MjdZSHNHTjFVcThtNjZReGk2R2ZrWVZMOVlxazF6QTBMVHFNOTA2dnd3T3M4N1BUTElMemxGc0dGMDc2YVdDMmxicm5TRWQ1Z2RrYjk4V0xOTUQ2ekg3WjRaUFkzZUZsYW1BczVEaXZNM2lHWTFTSlNTVU56MmJtU05PSXJiMnFuS2pFQUttejlqMUZ0bTA5cjBrdC1pZEw2TkhyZ2JXUi1rcXNJcl9GMzBwOE91dHlxT2pxX0JCS2UxYWszZXBocXVtQ1dLM3M1Nm9FVGV0aFJuT0h2dU16bTNuZ3k3cmdIa1FOWHE1cXFOdnpidXhHaFllNUtZMnBydV9tYzZWTEpvcm5pZUl0SExqZmdOaldYS2Y3d2puUjhZeTBGTWVUTUF6VGRKZVJ3d1RzcGZUbG1Xa0FEajJVdUZEX20ydEx4WnM3dldsZWpCUmRQbmtrOUJHSWc2V0pmeFFQWktiTEpsVHhITWxRWVFJY0hMVmJGbjRCMmI0S2RvRHVPVE02bmpmVFVlRVdTOHRad2wxQy12MGs3SEJ0WGJVTFhkU1p3QnBMWW5xcUhrbng3LWt6OXhXWTl1RjdVU2Jod0hKbmVEbER0aS1CRGZRUmR6QzYxWF92WGFVcjktb2NTWEVhXzQwbFl1a3R4SzFjOXoyWHU3bEZCcndtX3F6Nm1DNHk4T1ZqVUluUDBVY0NiRmxsNUsxMk9zR0R5MGZZOFdERnpnS0xULU1oc1R4cFVLTE5maHJ3TWh5bm5GMWtHZERoMUJmTnZnVGxzU3dfcUlmRHBzbWRGMlVoOGVhejV5SUVnUHZMTEFXOEh0R2x5M0FVeWxoSlpmSGdFR0tXbURxZzRHUXZvT2dtLW83eDBXaGlCTE42dz1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlJldmlld2luZyBjYXJnbyBzY3JpcHQgb3B0aW9ucyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9Wa0hOZmkzNnRwMkZPSWpHSjRMeUlWeTd8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMWJlZjdjODE5MWEzM2MzOTcxZjg2Mjg1OWYiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiQ2FyZ28udG9tbCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF95VERPU3Vpak1IU2x5dFh2aFh2bmhkQWh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMWJlZjk0ODE5MTkzMWE2N2M4YjE1ZGYwYWUiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoic3JjL21haW4ucnMifX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfNVJsa1E4c3QzdE8zN2ZWZG15a1ZjaEIzfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzFiZWY5YzgxOTFiMjk2MzUxZmNmN2ZlMTk5IiwibmFtZSI6InJlYWQiLCJhcmd1bWVudHMiOnsicGF0aCI6ImFsdC1yb290ZnMtaW5zdGFsbGVyL1JFQURNRSJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF85eTlrenU3Q2dRcHQ0dmFKU3BIb1R1Vkp8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMWJlZmE4ODE5MTgxMTAxYWQ0ZjU5ZTBmMWMiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiYWx0LXJvb3Rmcy1pbnN0YWxsZXIvRVhUUkFfT1BUSU9OUyJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9aazdXRzFTYlk3TFlPdUx1cVJsdGRaR1h8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMWJlZmIwODE5MWFhNTAwM2VjZWVhOWE2YTMiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiYWx0LXJvb3Rmcy1pbnN0YWxsZXIvU1VQUE9SVEVELUJPQVJEUyJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF81dHdaeDRuMmhxN2taTEJyZnVjQ1ZjYTl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMWJlZmI4ODE5MTgzMjhhMjgzMzgxNDBiZDYiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiYWx0LXJvb3Rmcy1pbnN0YWxsZXIvYWx0LXJvb3Rmcy1pbnN0YWxsZXIiLCJsaW1pdCI6MTAwMH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo0Mzk0LCJvdXRwdXQiOjE1NiwiY2FjaGVSZWFkIjowLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjEzLCJ0b3RhbFRva2VucyI6NDU1MCwiY29zdCI6eyJpbnB1dCI6MC4wMjE5NzAwMDAwMDAwMDAwMDMsIm91dHB1dCI6MC4wMDQ2OCwiY2FjaGVSZWFkIjowLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMjY2NTAwMDAwMDAwMDAwMDR9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODg0Mzk0OTQsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzE3ZDYzNDgxOTE5YzQ4Nzg0YWQ2YzVlNzczIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImYzNTQ1NDc0IiwicGFyZW50SWQiOiI2ZWYwYzQ1ZSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MjQuMTA4WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9Wa0hOZmkzNnRwMkZPSWpHSjRMeUlWeTd8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMWJlZjdjODE5MWEzM2MzOTcxZjg2Mjg1OWYiLCJ0b29sTmFtZSI6InJlYWQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJbcGFja2FnZV1cbm5hbWUgPSBcImZsYXNoZXJcIlxudmVyc2lvbiA9IFwiMC4xLjBcIlxuZWRpdGlvbiA9IFwiMjAyNFwiXG5cbltkZXBlbmRlbmNpZXNdXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg0NDQxMDh9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJkYzNmYjU0NiIsInBhcmVudElkIjoiZjM1NDU0NzQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjA3OjI0LjEwOVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfeVRET1N1aWpNSFNseXRYdmhYdm5oZEFofGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzFiZWY5NDgxOTE5MzFhNjdjOGIxNWRmMGFlIiwidG9vbE5hbWUiOiJyZWFkIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiZm4gbWFpbigpIHtcbiAgICBwcmludGxuIShcIkhlbGxvLCB3b3JsZCFcIik7XG59XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg0NDQxMDl9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3NTE3MTM2NiIsInBhcmVudElkIjoiZGMzZmI1NDYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjA3OjI0LjEwOVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfNVJsa1E4c3QzdE8zN2ZWZG15a1ZjaEIzfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzFiZWY5YzgxOTFiMjk2MzUxZmNmN2ZlMTk5IiwidG9vbE5hbWUiOiJyZWFkIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiVG9vbHMgZm9yIHdyaXRpbmcgcm9vdGZzIGFyY2hpdmVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5hbHQtcm9vdGZzLWluc3RhbGxlclxuLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5UaGlzIHNjcmlwdCB3aWxsIGF1dG9tYXRlIHRoZSBwcm9jZXNzIG9mIHByZXBhcmluZyBhbiBBTFQgTGludXhcbnJvb3RmcyBhcmNoaXZlIGZvciB1c2Ugd2l0aCB2YXJpb3VzIGhhcmR3YXJlIHRhcmdldHMuXG5cbiAtIFdyaXRlIHRoZSBzZWxlY3RlZCBhcmNoaXZlIHJvb3RmcyB0byBtZWRpYSAob3B0aW9uYWwpXG4gLSBjdXN0b21pemUgbWVkaWEgd2l0aCBwbGF0Zm9ybSBzcGVjaWZpYyBVLUJvb3QgZmlsZShzKVxuIC0gVXBkYXRlIFUtQm9vdCBmb3IgYW5vdGhlciBUYXJnZXRcblxuVG8gYWRkIGFkZGl0aW9uYWwgc3VwcG9ydCwgY3JlYXRlIGEgY29kZSBzbmlwcGV0IGZpbGVcbihiYXNoIHNjcmlwdCkgaW4gdGhlIFwiYm9hcmRzLmRcIiBzdWJkaXJlY3Rvcnkgd2l0aCB0aGUgY29tbWFuZHNcbm5lZWRlZCB0byB3cml0ZSBVLUJvb3QgZm9yIHRoZSB0YXJnZXQgYm9hcmQuXG5cblVzYWdlOiBleGFtaW5lIGBhbHQtcm9vdGZzLWluc3RhbGxlciAtLWhlbHBgIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NDQ0MTA5fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNTYxMWRlNmYiLCJwYXJlbnRJZCI6Ijc1MTcxMzY2IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDowNzoyNC4xMDlaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzl5OWt6dTdDZ1FwdDR2YUpTcEhvVHVWSnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMxYmVmYTg4MTkxODExMDFhZDRmNTllMGYxYyIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiNERUZBVUxUX0tFUk5FTD02LjEyLjMzLTYuMTItYWx0MVxuI0ZBU1RfQk9PVD0xXG4jQk9PVF9USU1FT1VUPTBcbiMjIHBhdGggdG8gZGlyZWN0b3J5IHdpdGggKi5ycG1cbiNSUE1fSU5TVEFMTD0vcGF0aC90by9kaXJuYW1lXG4jIyBwYXRoIHRvIGZpbGUgY29udGFpbiBwYXNzd29yZCBoYXNoXG4jUk9PVF9QQVNTV0Q9L3BhdGgvdG8vaGFzaF9maWxlXG4jVVNFUl9QQVNTV0Q9L3BhdGgvdG8vaGFzaF9maWxlXG4jVVNFUl9OQU1FPXVzZXJcbiMjIHVzZSAvZXRjL2luaXRyZC5tay5vZW0gaW4gcm9vdGZzOlxuI0lOSVRSRF9PRU09MVxuI1VCT09UPS9wYXRoL3RvL2V4dGVybmFsX3Vib290X2RpcmVjdG9yeVxuI0FERE9OPS9wYXRoL3RvL2FkZG9uLnRhclxuI1NZU0NPTj10dHlTMiwxNTAwMDAwbjhcbiMjIGlmIG9uZSBvZiB0aGUgRFRCXyBvcHRpb25zIGFyZSB1c2VkLCB0aGUgb3RoZXIgdHdvIG5lZWQgdG8gYmUgc2V0IHRvb1xuI0RUQl9GSUxFPS9wYXRoL3RvL2R0Yl9maWxlXG4jRFRCX1ZFTkRPUj12ZW5kb3JfbmFtZSAoZS5nLiByb2NrY2hpcClcbiNEVEJfS1ZFUj1rZXJuZWwudmVyc2lvbiAoZS5nLiA2LjEyKVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NDQ0MTA5fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMjIwYWI0NmMiLCJwYXJlbnRJZCI6IjU2MTFkZTZmIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDowNzoyNC4xMDlaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1prN1dHMVNiWTdMWU91THVxUmx0ZFpHWHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMxYmVmYjA4MTkxYWE1MDAzZWNlZWE5YTZhMyIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IkFsbFdpbm5lciBEZXZpY2VzIChhYXJjaDY0KTpcbmE2NC1vbGludXhpbm9cdFx0XHRvcmFuZ2VwaV9wcmltZVxuYTY0LW9saW51eGluby1lbW1jXHRcdG9yYW5nZXBpX3dpblxuYW1hcnVsYV9hNjRfcmVsaWNcdFx0b3JhbmdlcGlfemVybzJcbmFuYmVybmljX3JnMzV4eF9oNzAwXHRcdG9yYW5nZXBpX3plcm8yd1xuYmFuYW5hcGlfbTJfcGx1c19oNVx0XHRvcmFuZ2VwaV96ZXJvM1xuYmFuYW5hcGlfbTY0XHRcdFx0b3JhbmdlcGlfemVyb19wbHVzXG5iZWVsaW5rX2dzMVx0XHRcdG9yYW5nZXBpX3plcm9fcGx1czJcbmVtbGlkX25ldXRpc19uNV9kZXZib2FyZFx0cGluZTY0LWx0c1xubGlicmV0ZWNoX2FsbF9oM19jY19oNVx0XHRwaW5lNjRfcGx1c1xubGlicmV0ZWNoX2FsbF9oM19pdF9oNVx0XHRwaW5lYm9va1xubGlicmV0ZWNoX2FsbF9oNV9jY19oNVx0XHRwaW5lX2g2NFxubGljaGVlX3J2XHRcdFx0cGluZXBob25lXG5uYW5vcGlfYTY0XHRcdFx0cGluZXRhYlxubmFub3BpX25lbzJcdFx0XHRyZXBrYV9waTNcbm5hbm9waV9uZW9fcGx1czJcdFx0cmVwa2FfcGk0XG5uYW5vcGlfcjFzX2g1XHRcdFx0c29waW5lX2Jhc2Vib2FyZFxubmV6aGFcdFx0XHRcdHRhbml4X3R4MVxub2NlYW5pY181MjA1XzVpbm1mZFx0XHR0YW5peF90eDZcbm9yYW5nZXBpXzNcdFx0XHR0ZXJlc19pXG5vcmFuZ2VwaV9saXRlMlx0XHRcdHRyYW5zcGVlZC04azYxOC10XG5vcmFuZ2VwaV9vbmVfcGx1c1x0XHR4OTZfbWF0ZVxub3JhbmdlcGlfcGMyXG5cbkFsbFdpbm5lciBEZXZpY2VzIChyaXNjdjY0KTpcbmxpY2hlZV9ydlxubmV6aGFcblxuUm9ja2NoaXAgRGV2aWNlcyAoYWFyY2g2NCk6XG5hbmJlcm5pYy1yZzU1Mi1yazMzOTlcdFx0b3JhbmdlcGktM2ItcmszNTY2XG5hbmJlcm5pYy1yZ3h4My1yazM1NjZcdFx0b3JhbmdlcGktNC1sdHMtcmszMzk5XG5hdGItdXNwZDIwa1x0XHRcdG9yYW5nZXBpLTQtcmszMzk5XG5icGktcjItcHJvLXJrMzU2OFx0XHRvcmFuZ2VwaS01LW1heC1yazM1ODhcbmNocm9tZWJvb2tfYm9iXHRcdFx0b3JhbmdlcGktNS1wbHVzLXJrMzU4OFxuY2hyb21lYm9va19rZXZpblx0XHRvcmFuZ2VwaS01LXJrMzU4OHNcbmNtMzU4OC1uYXMtcmszNTg4XHRcdG9yYW5nZXBpLTUtdWx0cmEtcmszNTg4XG5jb29scGktNGItcmszNTg4c1x0XHRvcmFuZ2VwaS1yMS1wbHVzLWx0cy1yazMzMjhcbmNvb2xwaS1jbTUtZXZiLXJrMzU4OFx0XHRvcmFuZ2VwaS1yMS1wbHVzLXJrMzMyOFxuY29vbHBpLWNtNS1nZW5ib29rLXJrMzU4OFx0b3JhbmdlcGktcmszMzk5XG5lYWlkay02MTAtcmszMzk5XHRcdHBpbmVib29rLXByby1yazMzOTlcbmV2Yi1weDMwXHRcdFx0cGluZXBob25lLXByby1yazMzOTlcbmV2Yi1yazMzMjhcdFx0XHRwaW5ldGFiMi1yazM1NjZcbmV2Yi1yazMzOTlcdFx0XHRwb3draWRkeS14MzVzLXJrMzU2NlxuZXZiLXJrMzU2OFx0XHRcdHBvd2tpZGR5LXg1NS1yazM1NjZcbmV2Yi1yazM1ODhcdFx0XHRwdW1hLXJrMzM5OVxuZmljdXMtcmszMzk5XHRcdFx0cHgzMC1jb3JlLWN0b3VjaDItb2YxMC1weDMwXG5maXJlZmx5LXB4MzBcdFx0XHRweDMwLWNvcmUtY3RvdWNoMi1weDMwXG5maXJlZmx5LXJrMzM5OVx0XHRcdHB4MzAtY29yZS1lZGltbTIuMi1weDMwXG5nYW1lZm9yY2UtYWNlLXJrMzU4OHNcdFx0cW5hcC10czQzMy1yazM1NjhcbmdlbmVyaWMtcmszNTY4XHRcdFx0cXVhcnR6NjQtYS1yazM1NjZcbmdlbmVyaWMtcmszNTg4XHRcdFx0cXVhcnR6NjQtYi1yazM1NjZcbmphZ3Vhci1yazM1ODhcdFx0XHRxdWFydHpwcm82NC1yazM1ODhcbmtoYWRhcy1lZGdlMi1yazM1ODhzXHRcdHJhZHhhLWNtMy1pby1yazM1NjZcbmtoYWRhcy1lZGdlLWNhcHRhaW4tcmszMzk5XHRyYWR4YS1lMjUtcmszNTY4XG5raGFkYXMtZWRnZS1yazMzOTlcdFx0cmFkeGEtemVyby0zLXJrMzU2Nlxua2hhZGFzLWVkZ2Utdi1yazMzOTlcdFx0cmluZ25lY2stcHgzMFxubGNrZmItdHNwaS1yazM1NjZcdFx0cm9jLWNjLXJrMzMyOFxubGVlei1yazMzOTlcdFx0XHRyb2NrLTNhLXJrMzU2OFxubHViYW5jYXQtMi1yazM1NjhcdFx0cm9jay0zYi1yazM1Njhcbm5hbm9wYy10NC1yazMzOTlcdFx0cm9jay0zYy1yazM1NjZcbm5hbm9wYy10Ni1yazM1ODhcdFx0cm9jay00Yy1wbHVzLXJrMzM5OVxubmFub3BpLW00LTJnYi1yazMzOTlcdFx0cm9jay00c2UtcmszMzk5XG5uYW5vcGktbTRiLXJrMzM5OVx0XHRyb2NrNWEtcmszNTg4c1xubmFub3BpLW00LXJrMzM5OVx0XHRyb2NrNWItcmszNTg4XG5uYW5vcGktbmVvNC1yazMzOTlcdFx0cm9jay01Yy1yazM1ODhzXG5uYW5vcGktcjJjLXBsdXMtcmszMzI4XHRcdHJvY2stNS1pdHgtcmszNTg4XG5uYW5vcGktcjJjLXJrMzMyOFx0XHRyb2NrNjQtcmszMzI4XG5uYW5vcGktcjJzLXBsdXMtcmszMzI4XHRcdHJvY2s5NjAtcmszMzk5XG5uYW5vcGktcjJzLXJrMzMyOFx0XHRyb2NrLXBpLTRjLXJrMzM5OVxubmFub3BpLXIzcy1yazM1NjZcdFx0cm9jay1waS00LXJrMzM5OVxubmFub3BpLXI0cy1yazMzOTlcdFx0cm9jay1waS1lLXJrMzMyOFxubmFub3BpLXI1Yy1yazM1NjhcdFx0cm9jay1waS1lLXYzLXJrMzMyOFxubmFub3BpLXI1cy1yazM1NjhcdFx0cm9jay1waS1uMTAtcmszMzk5cHJvXG5uYW5vcGktcjZjLXJrMzU4OHNcdFx0cm9ja3BybzY0LXJrMzM5OVxubmFub3BpLXI2cy1yazM1ODhzXHRcdHJvYy1wYy1tZXp6YW5pbmUtcmszMzk5XG5uZXU2YS1pby1yazM1ODhcdFx0XHRyb2MtcGMtcmszMzk5XG5uZXU2Yi1pby1yazM1ODhcdFx0XHRzaWdlNy1yazM1ODhcbm5vdmEtcmszNTg4c1x0XHRcdHNvcXVhcnR6LWJsYWRlLXJrMzU2NlxubnAtNTA0YS1yazM1NjhcdFx0XHRzb3F1YXJ0ei1jbTQtcmszNTY2XG5vZHJvaWQtZ28yXHRcdFx0c29xdWFydHotbW9kZWwtYS1yazM1NjZcbm9kcm9pZC1tMS1yazM1NjhcdFx0dGlnZXItcmszNTg4XG5vZHJvaWQtbTFzLXJrMzU2Nlx0XHR0b3licmljay1yazM1ODhcbm9kcm9pZC1tMi1yazM1ODhzXHRcdHR1cmluZy1yazEtcmszNTg4XG5cblNpRml2ZSBEZXZpY2VzIChyaXNjdjY0KTpcbiBzaWZpdmVfdW5sZWFzaGVkXG4gc2lmaXZlX3VubWF0Y2hlZFxuXG5TdGFyRml2ZSBEZXZpY2VzIChyaXNjdjY0KTpcbiBzdGFyZml2ZV92aXNpb25maXZlMlxuIHBpbmU2NF9zdGFyNjRcblxuSzF4IERldmljZXMgKHJpc2N2NjQpOlxuIG9yYW5nZXBpLXJ2MlxuIGJhbmFuYXBpLWYzXG4gbWlsa3YtanVwaXRlclxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NDQ0MTA5fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNzU5MDEwYWMiLCJwYXJlbnRJZCI6IjIyMGFiNDZjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDowNzoyNC4xMDlaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzV0d1p4NG4yaHE3a1pMQnJmdWNDVmNhOXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMxYmVmYjg4MTkxODMyOGEyODMzODE0MGJkNiIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiMhL2Jpbi9iYXNoXG4jICB2aW06c3c9ODpub2V0XG4jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAgR1BMLTIuMC1vci1sYXRlclxuI1xuIyByb290ZnMgaW5zdGFsbGVyIGZvciBBTFQgTGludXhcbiMgQ3VycmVudCB2ZXJzaW9uXG5WRVJTSU9OPTAuNy40XG5cbiMgVmFyaWFibGVcbkVYVDQ9MEZDNjNEQUYtODQ4My00NzcyLThFNzktM0Q2OUQ4NDc3REU0XG5ERUZBVUxUX0VYVDRfT1BUSU9OUz1cIi1tIDUgLWIgNDA5NiAtaSA4MTkyIC1JIDI1NlwiXG5UTVBST09UPVxuWyAtbiBcIiRUTVBcIiBdIHx8IFRNUD0vdG1wXG5QUk9HTkFNRT1cIiR7MCMjKi99XCJcbnVuc2V0IFJPT1RQQVJUX1VJRFxuXG4jIG9uZSBNZWJpYnl0ZSA9IDJeMjBcbk1CPTEwNDg1NzZcblxuIyB1c2FnZSBtZXNzYWdlXG51c2FnZSgpIHtcblx0ZWNobyBcIlxuVXNhZ2U6ICRQUk9HTkFNRSAtLXRhcmdldD1UQVJHRVQgPC0tcm9vdGZzPVJPT1RGUyB8IC0taW1hZ2UtaW49SU1BR0U+IDwtLW1lZGlhPURFVklDRSB8IC0taW1hZ2Utb3V0PUZJTEU+IFtvcHRpb25zXVxuXG5PcHRpb25zOlxuICAgIC0tdGFyZ2V0IFRBUkdFVCAgICAgIC0gdGFyZ2V0IGJvYXJkXG4gICAgLS1leHRyYS1vcHRpb25zICAgICAgLSBwYXRoIHRvIGZpbGUgd2l0aCBleHRyYSBvcHRpb25zIChzZWUgZXh0cmEtb3B0aW9ucylcbiAgICAtLWVmaSAgICAgICAgICAgICAgICAtIGFkZCBFRkkgcGFydGl0aW9uLCBzZXQgcGFydGl0aW9uIHRhYmxlIGdwdFxuICAgIC0tZWZpLW1iciAgICAgICAgICAgIC0gYWRkIEVGSSBwYXJ0aXRpb24sIHNldCBwYXJ0aXRpb24gdGFibGUgbXNkb3NcbiAgICAtLWJvb3RwYXJ0ICAgICAgICAgICAtIGFkZCBib290IHBhcnRpdGlvblxuICAgIC0tcm9vdC1mc3R5cGUgVFlQRSAgIC0gc3BlY2lmeSByb290IHBhcnRpdGlvbiBmaWxlc3lzdGVtXG4gICAgLS1yb290LWZzLW9wdCBPUFRTVFIgLSByb290IGZpbGVzeXN0ZW0gb3B0aW9uc1xuICAgIC0tdm5jIDEgICAgICAgICAgICAgIC0gZW5hYmxlIHZuYyBtb2RlIGZvciBhbHRlcmF0b3Itc2V0dXBcbiAgICAtLXZuYyAwICAgICAgICAgICAgICAtIGRpc2FibGUgdm5jIG1vZGUgZm9yIGFsdGVyYXRvci1zZXR1cFxuXG4gICAgLS1yb290ZnMgUk9PVEZTICAgICAgLSBhcmNoaXZlIHJvb3RmcyBmaWxlIG5hbWVcbiAgICAtLWltYWdlLWluIElNQUdFICAgICAtIGltYWdlIGZpbGUgbmFtZSAoaW1nfGltZy54eilcblxuICAgIC0tbWVkaWEgREVWSUNFICAgICAgIC0gbWVkaWEgZGV2aWNlIGZpbGUgKC9kZXYvW3NkWHxtbWNibGtYXSlcbiAgICAtLWltYWdlLW91dCBGSUxFICAgICAtIG91dCBpbWFnZSBmaWxlXG5cbiAgICAtLWx1a3MgICAgICAgICAgICAgICAtIGVuY3J5cHQgcm9vdCBwYXJ0aXRpb25cbiAgICAtLWx1a3Mtb3B0IE9QVFNUUiAgICAtIG9wdGlvbnMgZm9yIGx1a3MgY3JlYXRpb25cblxuICAgIC0tYWRkY29uc29sZSAgICAgICAgIC0gQWRkIHN5c3RlbSBzZXJpYWwgY29uc29sZVxuXG4gICAgLS1pbWFnZS1zaXplIFNJWkUgICAgLSBzaXplIG91dCBpbWFnZSBmaWxlIChNaUIpXG4gICAgLS1yZXNpemUgICAgICAgICAgICAgLSBSZXNpemUgUk9PVCBwYXJ0aXRpb25cbiAgICAtLXN1cHBvcnRlZCAgICAgICAgICAtIExpc3Qgb2Ygc3VwcG9ydGVkIGhhcmR3YXJlXG4gICAgLS12ZXJzaW9uICAgICAgICAgICAgLSBEaXNwbGF5IHZlcnNpb24gYW5kIGV4aXRcbiAgICAtLWRlYnVnICAgICAgICAgICAgICAtIFByaW50IGRlYnVnIGluZm8sIHBhc3MgaXQgYXMgZmlyc3QgYXJndW1lbnRcbiAgICAtLXN0ZG91dCAgICAgICAgICAgICAtIERvbid0IHVzZSBsb2cgZmlsZSwgcHV0IGV2ZXJ5dGhpbmcgdG8gc3Rkb3V0XG4gICAgLS1sb2c9RklMRSAgICAgICAgICAgLSBMb2cgZmlsZSAoZGVmYXVsdCAkTE9HX0ZJTEUpXG4gICAgLXkgICAgICAgICAgICAgICAgICAgLSBBc3N1bWVzIHllcywgd2lsbCBub3Qgd2FpdCBmb3IgY29uZmlybWF0aW9uXG5cbkV4YW1wbGU6ICRQUk9HTkFNRSAtLXJvb3RmcyByZWd1bGFyLWx4cXQtMjAxOTAyMTMtYWFyY2g2NC50YXIueHogLS10YXJnZXQgb3JhbmdlcGlfcHJpbWUgLS1tZWRpYSAvZGV2L21tY2JsazBcblxuVXBkYXRlIFUtQm9vdCBmb3IgYW5vdGhlciBUYXJnZXRcblVwZGF0ZSB0byBhIG5ldyB1LWJvb3QgZnJvbSBhIGxvY2FsIGhvc3QgaW5zdGFsbC5cblxuRXhhbXBsZTogJFBST0dOQU1FIC0tdGFyZ2V0IG9yYW5nZXBpX3ByaW1lIC0tbWVkaWEgL2Rldi9tbWNibGswXG5cblwiXG59XG5cbnByZV9leGl0KCkge1xuXHRsb2NhbCByYz0kP1xuXHR0cmFwIC0gRVhJVFxuXHRzeW5jXG5cblx0dW5tb3VudF9jaHJvb3Rcblx0dW5tb3VudF9wYXJ0aXRpb25cblxuXHRpZiBbIC1uIFwiJElNQUdFX09VVFwiIC1hIC1uIFwiJE1FRElBXCIgXTsgdGhlblxuXHRcdGtwYXJ0eCAtZCAtcyBcIiRNRURJQVwiIHx8IHtcblx0XHRcdHNsZWVwIDEwXG5cdFx0XHRrcGFydHggLWQgLXMgLXYgXCIkTUVESUFcIlxuXHRcdH1cblx0XHRsb3NldHVwIC0tZGV0YWNoIFwiJE1FRElBXCJcblx0Zmlcblx0ZXhpdCAkcmNcbn1cblxuZmluYWxfZXhpdCgpIHtcblx0cHJpbnRuICdJbnN0YWxsYXRpb24gQ29tcGxldGUhJ1xuXHRpZiBbIC1uIFwiJElNQUdFX09VVFwiIF07IHRoZW5cblx0XHRwcmludG4gJ0ltYWdlIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5Lidcblx0ZWxzZVxuXHRcdHByaW50biAnSW5zZXJ0IGludG8geW91ciBkZXZpY2UgYW5kIHRyeSBib290Lidcblx0XHRwcmludG4gJ0dvb2QgbHVjayEhISdcblx0Zmlcblx0ZXhpdCAwXG59XG5cbkRJUj1cIiQoZGlybmFtZSAkMClcIlxuLiBzaGVsbC1lcnJvciAyPi9kZXYvbnVsbCB8fCAuICRESVIvc2hlbGwtZXJyb3IgMj4vZGV2L251bGxcbi4gc2hlbGwtdGVybWluZm8gMj4vZGV2L251bGwgfHwgLiAkRElSL3NoZWxsLXRlcm1pbmZvIDI+L2Rldi9udWxsXG4uIHNoZWxsLWNvbmZpZyAyPi9kZXYvbnVsbCB8fCAuICRESVIvc2hlbGwtY29uZmlnIDI+L2Rldi9udWxsXG5cbiMgU2V0IHNvbWUgZ2xvYmFsIHZhcmlhYmxlcyBmb3IgdGhlIGNvbW1hbmQgZGlyZWN0b3J5LCB0YXJnZXQgYm9hcmQgZGlyZWN0b3J5LFxuIyBhbmQgdmFsaWQgdGFyZ2V0cy5cblsgLWQgXCIke0RJUn0vYm9hcmRzLmRcIiBdIHx8XG5cdERJUj0vdXNyL3NoYXJlL2FsdC1yb290ZnMtaW5zdGFsbGVyXG5bIC1kIFwiJHtESVJ9L2JvYXJkcy5kXCIgXSB8fFxuXHRmYXRhbCBcImVycm9yOiBkaXJlY3RvcnkgYm9hcmRzLmQgbm90IGV4aXN0XCJcbkJPQVJERElSPVwiJHtESVJ9L2JvYXJkcy5kXCJcblNPQ1NESVI9XCIke0RJUn0vc29jcy5kXCJcblxuIyBtaXNzaW5nIG9yIHdyb25ncyBhcmd1bWVudHNcblsgJCMgLWdlIDEgXSAmJlxuVE1QQVJHUz1cIiQoZ2V0b3B0IC1uIFwiJDBcIiAtbyBoeSAtbCBhZGRjb25zb2xlLGRlYnVnLGhlbHAsXFxcbmVmaSxlZmktbWJyLGJvb3RwYXJ0LHJvb3QtZnN0eXBlOixyb290LWZzLW9wdDosdGFyZ2V0Oixyb290ZnM6LFxcXG5tZWRpYTosaW1hZ2UtaW46LGltYWdlLW91dDosbHVrcyxsdWtzLW9wdDosaW1hZ2Utc2l6ZToscmVzaXplLHN1cHBvcnRlZCxcXFxudmVyc2lvbixzdGRvdXQsbG9nOix2bmMsXFxcbmV4dHJhLW9wdGlvbnM6IC0tIFwiJEBcIilcIlxuaWYgWyAkPyAtbmUgMCBdOyB0aGVuXG5cdHVzYWdlID4mMlxuXHRleGl0IDFcbmZpXG5cbmV2YWwgc2V0IC0tIFwiJFRNUEFSR1NcIlxuIyBjaGVjayB0aGUgYXJnc1xud2hpbGUgOjsgZG9cblx0Y2FzZSAkMSBpblxuXHRcdC0tKVxuXHRcdFx0c2hpZnQ7IGJyZWFrXG5cdFx0XHQ7O1xuXHRcdC0tYWRkY29uc29sZSlcblx0XHRcdENPTlNPTEU9MVxuXHRcdFx0Oztcblx0XHQtLWRlYnVnKVxuXHRcdFx0c2V0IC14XG5cdFx0XHQ7O1xuXHRcdC1ofC0taGVscClcblx0XHRcdHVzYWdlOyBleGl0IDBcblx0XHRcdDs7XG5cdFx0LS10YXJnZXQpXG5cdFx0XHRzaGlmdDsgVEFSR0VUPVwiJDFcIlxuXHRcdFx0Oztcblx0XHQtLWV4dHJhLW9wdGlvbnMpXG5cdFx0XHRzaGlmdDsgRVhUUkFfT1BUSU9OUz1cIiQxXCJcblx0XHRcdDs7XG5cdFx0LS1lZmkpXG5cdFx0XHRFRkk9XCIxXCJcblx0XHRcdE1FRElBVEFCTEU9Z3B0XG5cdFx0XHQ7O1xuXHRcdC0tZWZpLW1icilcblx0XHRcdEVGST1cIjFcIlxuXHRcdFx0TUVESUFUQUJMRT1tc2Rvc1xuXHRcdFx0Oztcblx0XHQtLWx1a3Mtb3B0KVxuXHRcdFx0c2hpZnQ7IExVS1NfT1BUPVwiJDFcIlxuXHRcdFx0Oztcblx0XHQtLWx1a3MpXG5cdFx0XHRMVUtTPVwiMVwiXG5cdFx0XHQ7O1xuXHRcdC0tYm9vdHBhcnQpXG5cdFx0XHRBRERfQk9PVFBBUlQ9XCIxXCJcblx0XHRcdDs7XG5cdFx0LS1yb290LWZzdHlwZSlcblx0XHRcdHNoaWZ0OyBST09UX0ZTVFlQRT1cIiQxXCJcblx0XHRcdDs7XG5cdFx0LS1yb290LWZzLW9wdClcblx0XHRcdHNoaWZ0OyBST09UX0ZTX09QVD1cIiQxXCJcblx0XHRcdDs7XG5cdFx0LS12bmMpXG5cdFx0XHRzaGlmdDsgVk5DPVwiJDFcIlxuXHRcdFx0Oztcblx0XHQtLXJvb3Rmcylcblx0XHRcdHNoaWZ0OyBST09URlM9XCIkMVwiXG5cdFx0XHQ7O1xuXHRcdC0taW1hZ2UtaW4pXG5cdFx0XHRzaGlmdDsgSU1BR0U9XCIkMVwiXG5cdFx0XHQ7O1xuXHRcdC0tbWVkaWEpXG5cdFx0XHRzaGlmdDsgTUVESUE9XCIkMVwiXG5cdFx0XHQ7O1xuXHRcdC0taW1hZ2Utb3V0KVxuXHRcdFx0c2hpZnQ7IElNQUdFX09VVD1cIiQxXCJcblx0XHRcdDs7XG5cdFx0LS1pbWFnZS1zaXplKVxuXHRcdFx0c2hpZnQ7IElNQUdFX1NJWkU9XCIkMVwiXG5cdFx0XHQ7O1xuXHRcdC0tcmVzaXplKVxuXHRcdFx0UkVTSVpFPVwiMVwiXG5cdFx0XHQ7O1xuXHRcdC0tc3VwcG9ydGVkKVxuXHRcdFx0Y2F0IFwiJERJUi9TVVBQT1JURUQtQk9BUkRTXCJcblx0XHRcdGV4aXQgMFxuXHRcdFx0Oztcblx0XHQtLXZlcnNpb24pXG5cdFx0XHRlY2hvIFwiJFBST0dOQU1FLSRWRVJTSU9OXCJcblx0XHRcdGV4aXQgMFxuXHRcdFx0Oztcblx0XHQtLWxvZylcblx0XHRcdHNoaWZ0XG5cdFx0XHRMT0dfRklMRT1cIiQocmVhZGxpbmsgLWYgXCIkMVwiKVwiXG5cdFx0XHQ7O1xuXHRcdC0tc3Rkb3V0KVxuXHRcdFx0TE9HX01PREU9XCJjb25cIlxuXHRcdFx0Oztcblx0XHQteSlcblx0XHRcdE5PQVNLPTFcblx0XHRcdDs7XG5cdFx0Kilcblx0XHRcdGVjaG8gXCJJbnZhbGlkIGFyZ3VtZW50ICQxXCJcblx0XHRcdHVzYWdlID4mMlxuXHRcdFx0ZXhpdCAxXG5cdFx0XHQ7O1xuXHRlc2FjXG5cdHNoaWZ0XG5kb25lXG5cbmlmIFsgLW4gXCIkVEFSR0VUXCIgXTsgdGhlblxuXHQjIGNoZWNrIGJvYXJkIHNjcmlwdCB0YXJnZXRcblx0aWYgWyAhIC1zICBcIiRCT0FSRERJUi8kVEFSR0VUXCIgXTsgdGhlblxuXHRcdGZhdGFsIFwiZXJyb3I6ICRUQVJHRVQgaXMgbm90IHN1cHBvcnRlZFwiXG5cdGZpXG5maVxuXG5pZiBbIC16ICRST09UX0ZTVFlQRSBdOyB0aGVuXG5cdFJPT1RfRlNUWVBFPWV4dDRcbmZpXG5cbmlmIFsgLXogXCIkUk9PVF9GU19PUFRcIiBdOyB0aGVuXG5cdGlmIFsgXCIkUk9PVF9GU1RZUEVcIiA9IGV4dDQgXTsgdGhlblxuXHRcdFJPT1RfRlNfT1BUPSRERUZBVUxUX0VYVDRfT1BUSU9OU1xuXHRmaVxuZmlcblxuaWYgWyAkUk9PVF9GU1RZUEUgPSBcImYyZnNcIiBdOyB0aGVuXG5cdCMgVS1Cb290IGRvZXNuJ3Qgc3VwcG9ydCBmMmZzLCBzbyAvYm9vdFxuXHQjIHdpdGggY29tcGF0aWJsZSBmaWxlc3lzdGVtIGlzIG5lZWRlZC5cblx0QUREX0JPT1RQQVJUPVwiMVwiXG5cdCMgRm9yY2Ugb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzeXN0ZW1cblx0Uk9PVF9GU19PUFQ9JFJPT1RfRlNfT1BUXCIgLWZcIlxuZmlcblxuaWYgWyAtbiBcIiRMVUtTX09QVFwiIF07IHRoZW5cblx0TFVLUz1cIjFcIlxuZmlcblxuaWYgWyAtbiBcIiRMVUtTXCIgXTsgdGhlblxuXHQjIExVS1MgcmVxdWlyZXMgc2VwYXJhdGUgL2Jvb3QgcGFydGl0aW9uXG5cdEFERF9CT09UUEFSVD1cIjFcIlxuZmlcblxuaWYgWyAtbiBcIiRFWFRSQV9PUFRJT05TXCIgXTsgdGhlblxuXHRbIC1zIFwiJEVYVFJBX09QVElPTlNcIiBdIHx8IGZhdGFsIFwiZXJyb3I6IGZpbGUgJEVYVFJBX09QVElPTlMgZG9lcyBub3QgZXhpc3QhISFcIlxuXHRERUZBVUxUX0tFUk5FTD1cIiQoc2hlbGxfY29uZmlnX2dldCBcIiRFWFRSQV9PUFRJT05TXCIgXCJERUZBVUxUX0tFUk5FTFwiKVwiXG5cdEZBU1RfQk9PVD1cIiQoc2hlbGxfY29uZmlnX2dldCBcIiRFWFRSQV9PUFRJT05TXCIgXCJGQVNUX0JPT1RcIilcIlxuXHRCT09UX1RJTUVPVVQ9XCIkKHNoZWxsX2NvbmZpZ19nZXQgXCIkRVhUUkFfT1BUSU9OU1wiIFwiQk9PVF9USU1FT1VUXCIpXCJcblx0UlBNX0lOU1RBTEw9XCIkKHNoZWxsX2NvbmZpZ19nZXQgXCIkRVhUUkFfT1BUSU9OU1wiIFwiUlBNX0lOU1RBTExcIilcIlxuXHRST09UX1BBU1NXRD1cIiQoc2hlbGxfY29uZmlnX2dldCBcIiRFWFRSQV9PUFRJT05TXCIgXCJST09UX1BBU1NXRFwiKVwiXG5cdFVTRVJfUEFTU1dEPVwiJChzaGVsbF9jb25maWdfZ2V0IFwiJEVYVFJBX09QVElPTlNcIiBcIlVTRVJfUEFTU1dEXCIpXCJcblx0VVNFUl9OQU1FPVwiJChzaGVsbF9jb25maWdfZ2V0IFwiJEVYVFJBX09QVElPTlNcIiBcIlVTRVJfTkFNRVwiKVwiXG5cdElOSVRSRF9PRU09XCIkKHNoZWxsX2NvbmZpZ19nZXQgXCIkRVhUUkFfT1BUSU9OU1wiIFwiSU5JVFJEX09FTVwiKVwiXG5cdFVCT09UPVwiJChzaGVsbF9jb25maWdfZ2V0IFwiJEVYVFJBX09QVElPTlNcIiBcIlVCT09UXCIpXCJcblx0QURET049XCIkKHNoZWxsX2NvbmZpZ19nZXQgXCIkRVhUUkFfT1BUSU9OU1wiIEFERE9OKVwiXG5cdFNZU0NPTj1cIiQoc2hlbGxfY29uZmlnX2dldCBcIiRFWFRSQV9PUFRJT05TXCIgXCJTWVNDT05cIilcIlxuXHREVEJfRklMRT1cIiQoc2hlbGxfY29uZmlnX2dldCBcIiRFWFRSQV9PUFRJT05TXCIgXCJEVEJfRklMRVwiKVwiXG5cdERUQl9WRU5ET1I9XCIkKHNoZWxsX2NvbmZpZ19nZXQgXCIkRVhUUkFfT1BUSU9OU1wiIFwiRFRCX1ZFTkRPUlwiKVwiXG5cdERUQl9LVkVSPVwiJChzaGVsbF9jb25maWdfZ2V0IFwiJEVYVFJBX09QVElPTlNcIiBcIkRUQl9LVkVSXCIpXCJcbmZpXG5cbiMgZ2V0dGluZyBmdWxsIFBBVEhcblsgLW4gXCIkUk9PVEZTXCIgXSAmJiBST09URlNfUEFUSD1cIiQocmVhZGxpbmsgLWYgXCIkUk9PVEZTXCIpXCJcblsgLW4gXCIkSU1BR0VcIiBdICYmIElNQUdFX1BBVEg9XCIkKHJlYWRsaW5rIC1mIFwiJElNQUdFXCIpXCJcblsgLW4gXCIkUk9PVF9QQVNTV0RcIiBdICYmIFJPT1RfUEFTU1dEX1BBVEg9XCIkKHJlYWRsaW5rIC1mIFwiJFJPT1RfUEFTU1dEXCIpXCJcblsgLW4gXCIkVVNFUl9QQVNTV0RcIiBdICYmIFVTRVJfUEFTU1dEX1BBVEg9XCIkKHJlYWRsaW5rIC1mIFwiJFVTRVJfUEFTU1dEXCIpXCJcblsgLW4gXCIkQURET05cIiBdICYmIEFERE9OX1BBVEg9XCIkKHJlYWRsaW5rIC1mIFwiJEFERE9OXCIpXCJcblsgLW4gXCIkVUJPT1RcIiBdICYmIFVCT09UX1BBVEg9XCIkKHJlYWRsaW5rIC1mIFwiJFVCT09UXCIpXCJcblsgLW4gXCIkUlBNX0lOU1RBTExcIiBdICYmIFJQTV9JTlNUQUxMX1BBVEg9XCIkKHJlYWRsaW5rIC1mIFwiJFJQTV9JTlNUQUxMXCIpXCJcblsgLW4gXCIkRFRCX0ZJTEVcIiBdICYmIERUQl9GSUxFX1BBVEg9XCIkKHJlYWRsaW5rIC1mIFwiJERUQl9GSUxFXCIpXCJcblxuIyBjaGVja2luZyBmaWxlcyBleGlzdGluZ1xuaWYgWyAtbiBcIiRST09URlNcIiBdOyB0aGVuXG5cdFsgLWYgXCIkUk9PVEZTX1BBVEhcIiBdIHx8IGZhdGFsIFwiZXJyb3I6IFJPT1RGUyBkb2VzIG5vdCBleGlzdFwiXG5cdFJPT1RGUz1cIiRST09URlNfUEFUSFwiXG5maVxuaWYgWyAtbiBcIiRJTUFHRVwiIF07IHRoZW5cblx0WyAtZiBcIiRJTUFHRV9QQVRIXCIgXSB8fCBmYXRhbCBcImVycm9yOiBJTUFHRSBkb2VzIG5vdCBleGlzdFwiXG5cdElNQUdFPVwiJElNQUdFX1BBVEhcIlxuZmlcbmlmIFsgLW4gXCIkUk9PVF9QQVNTV0RcIiBdOyB0aGVuXG5cdFsgLWYgXCIkUk9PVF9QQVNTV0RfUEFUSFwiIF0gfHwgZmF0YWwgXCJlcnJvcjogZmlsZSAkUk9PVF9QQVNTV0QgZG9lcyBub3QgZXhpc3RcIlxuXHRST09UX1BBU1NXRD1cIiRST09UX1BBU1NXRF9QQVRIXCJcbmZpXG5pZiBbIC1uIFwiJFVTRVJfUEFTU1dEXCIgXTsgdGhlblxuXHRbIC1mIFwiJFVTRVJfUEFTU1dEX1BBVEhcIiBdIHx8IGZhdGFsIFwiZXJyb3I6IGZpbGUgJFVTRVJfUEFTU1dEIGRvZXMgbm90IGV4aXN0XCJcblx0VVNFUl9QQVNTV0Q9XCIkVVNFUl9QQVNTV0RfUEFUSFwiXG5maVxuaWYgWyAtbiBcIiRBRERPTlwiIF07IHRoZW5cblx0WyAtZiBcIiRBRERPTl9QQVRIXCIgXSB8fCBmYXRhbCBcImVycm9yOiBmaWxlICRBRERPTiBkb2VzIG5vdCBleGlzdFwiXG5cdEFERE9OPVwiJEFERE9OX1BBVEhcIlxuZmlcbmlmIFsgLW4gXCIkVUJPT1RcIiBdOyB0aGVuXG5cdFsgLWQgXCIkVUJPT1RcIiBdIHx8IGZhdGFsIFwiZXJyb3I6IHUtYm9vdCBkaXJlY3RvcnkgJFVCT09UIGRvZXMgbm90IGV4aXN0XCJcbmZpXG5pZiBbIC1uIFwiJFJQTV9JTlNUQUxMXCIgXTsgdGhlblxuXHRbIC1kIFwiJFJQTV9JTlNUQUxMXCIgXSB8fCBmYXRhbCBcImVycm9yOiBycG0gZGlyZWN0b3J5ICRSUE1fSU5TVEFMTCBkb2VzIG5vdCBleGlzdFwiXG5maVxuaWYgWyAtbiBcIiREVEJfRklMRVwiIF07IHRoZW5cblx0WyAtZiBcIiREVEJfRklMRV9QQVRIXCIgXSB8fCBmYXRhbCBcImVycm9yOiBmaWxlICREVEJfRklMRSBkb2VzIG5vdCBleGlzdFwiXG5cdERUQl9GSUxFPVwiJERUQl9GSUxFX1BBVEhcIlxuZmlcblxuIyBjaGVja2luZyB0aGUgZW50ZXJlZCB2YWx1ZSAtLWltYWdlLXNpemVcbmlmIFsgLW4gXCIke0lNQUdFX1NJWkUtfVwiIF07IHRoZW5cblx0W1sgXCIkSU1BR0VfU0laRVwiID1+IFteMC05XSsgXV0gJiYgZmF0YWwgXCJlcnJvcjogYmFkIGltYWdlIHNpemVcIlxuZmlcblxuIyBlbnN1cmUgc3VkbyB1c2VyXG5pZiBbIFwiJCh3aG9hbWkpXCIgIT0gXCJyb290XCIgXTsgdGhlblxuXHRmYXRhbCBcImVycm9yOiB0aGlzIHNjcmlwdCByZXF1aXJlcyAnc3VkbycgcHJpdmlsZWdlcyBpbiBvcmRlciB0byB3cml0ZSB0byBkaXNrICYgbW91bnQgbWVkaWFcIlxuZmlcblxuaWYgWyAteiBcIiRJTUFHRV9PVVRcIiAtYSAteiBcIiRNRURJQVwiIF07IHRoZW5cblx0ZmF0YWwgXCJlcnJvcjogb25lIG9mIHRoZSBvcHRpb25zIG11c3QgYmUgZGVmaW5lZDogLS1tZWRpYSBvciAtLWltYWdlLW91dFwiXG5maVxuXG5pZiBbIC1uIFwiJElNQUdFX09VVFwiIC1hIC1uIFwiJE1FRElBXCIgXTsgdGhlblxuXHRmYXRhbCBcImVycm9yOiBBdCB0aGUgc2FtZSB0aW1lLCBtdXR1YWxseSBleGNsdXNpdmUgb3B0aW9ucyBhcmUgaW5kaWNhdGVkOiAtLW1lZGlhIGFuZCAtLWltYWdlLW91dFwiXG5maVxuXG5pZiBbIC1uIFwiJElNQUdFXCIgLWEgLW4gXCIkUk9PVEZTXCIgXTsgdGhlblxuXHRmYXRhbCBcImVycm9yOiBBdCB0aGUgc2FtZSB0aW1lLCBtdXR1YWxseSBleGNsdXNpdmUgb3B0aW9ucyBhcmUgaW5kaWNhdGVkOiAtLWltYWdlLWluIGFuZCAtLXJvb3Rmc1wiXG5maVxuXG5pZiBbIC1uIFwiJElNQUdFXCIgLWEgLW4gXCIkSU1BR0VfT1VUXCIgXTsgdGhlblxuXHRmYXRhbCBcImVycm9yOiBBdCB0aGUgc2FtZSB0aW1lLCBtdXR1YWxseSBleGNsdXNpdmUgb3B0aW9ucyBhcmUgaW5kaWNhdGVkOiAtLWltYWdlLWluIGFuZCAtLWltYWdlLW91dFwiXG5maVxuXG5cbmlmIFsgLW4gXCIkTUVESUFcIiBdICYmIFtbIFwiJChyZWFkbGluayAtZiAvZGV2L3Jvb3QpXCIgPT0gIFwiJE1FRElBXCIqIF1dOyB0aGVuXG5cdGZhdGFsIFwiZXJyb3I6ICRNRURJQSBpcyBhIGRldmljZSBjb250YWlucyBhIGhvc3Qgc3lzdGVtIHJvb3Rmc1wiXG5maVxuXG4jIHJvb3RmcyBleGlzdHNcbmlmIFsgLW4gXCIkUk9PVEZTXCIgLWEgISAtZiBcIiRST09URlNcIiBdOyB0aGVuXG5cdGZhdGFsIFwiZXJyb3I6ICRST09URlMgbm90IGZvdW5kISBQbGVhc2UgY2hvb3NlIGFuIGV4aXN0aW5nIHJvb3Rmc1wiXG5maVxuXG4jIGltYWdlIGV4aXN0c1xuaWYgWyAtbiBcIiRJTUFHRVwiIC1hICEgLWYgXCIkSU1BR0VcIiBdOyB0aGVuXG5cdGZhdGFsIFwiZXJyb3I6ICRJTUFHRSBub3QgZm91bmQhIFBsZWFzZSBjaG9vc2UgYW4gZXhpc3RpbmcgaW1hZ2VcIlxuZmlcblxuIyBkZXZpY2UgZXhpc3RzXG5pZiBbIC16IFwiJElNQUdFX09VVFwiIC1hICEgLWUgXCIkTUVESUFcIiBdOyB0aGVuXG5cdGZhdGFsIFwiZXJyb3I6ICRNRURJQSBub3QgZm91bmQhIFBsZWFzZSBjaG9vc2UgYW4gZXhpc3RpbmcgZGV2aWNlXCJcbmZpXG5cbiMgdGFyZ2V0IGJvYXJkIGV4aXN0c1xuaWYgWyAtbiBcIiRUQVJHRVRcIiAtYSAhIC1lIFwiJHtCT0FSRERJUn0vJHtUQVJHRVR9XCIgXTsgdGhlblxuXHRmYXRhbCBcImVycm9yOiAkVEFSR0VUIGlzIG5vdCBhIHN1cHBvcnRlZCBib2FyZFwiXG5maVxuXG5pZiBbIC1uIFwiJEFERE9OXCIgXTsgdGhlblxuXHRjYXNlIFwiJEFERE9OXCIgaW5cblx0XHQqLnRhcikgOztcblx0XHQqKSBmYXRhbCBcImVycm9yOiAkQURET04gaXMgbm90IGEgdGFyIGFyY2hpdmUhISFcIjs7XG5cdGVzYWNcblx0WyAtcyBcIiRBRERPTlwiIF0gfHwgZmF0YWwgXCJlcnJvcjogJEFERE9OIGRvZXMgbm90IGV4aXN0ISEhXCJcbmZpXG5cbmlmIFsgLW4gXCIkRFRCX0ZJTEVcIiBdIHx8IFsgLW4gXCIkRFRCX1ZFTkRPUlwiIF0gfHwgWyAtbiBcIiREVEJfS1ZFUlwiIF07IHRoZW5cblx0WyAteiBcIiREVEJfRklMRVwiIF0gJiYgZmF0YWwgXCJlcnJvcjogRFRCX0ZJTEUgaXMgdW5zZXRcIlxuXHRbIC16IFwiJERUQl9WRU5ET1JcIiBdICYmIGZhdGFsIFwiZXJyb3I6IERUQl9WRU5ET1IgaXMgdW5zZXRcIlxuXHRbIC16IFwiJERUQl9LVkVSXCIgXSAmJiBmYXRhbCBcImVycm9yOiBEVEJfS1ZFUiBpcyB1bnNldFwiXG5maVxuXG4jIGNoZWNrIGltYWdlIGZvcm1hdFxuaWYgWyAtbiBcIiRJTUFHRVwiIF07IHRoZW5cblx0Y2FzZSBcIiRJTUFHRVwiIGluXG5cdFx0Ki5pbWcpXG5cdFx0XHRDQVQ9J2NhdCdcblx0XHRcdDs7XG5cdFx0Ki5pbWcueHopXG5cdFx0XHRDQVQ9J3h6Y2F0J1xuXHRcdFx0Oztcblx0XHQqKSBmYXRhbCBcImVycm9yOiB1bmtub3duIGltYWdlIGZvcm1hdFwiXG5cdFx0XHQ7O1xuXHRlc2FjXG5cdCMgTk9URTogV2UgYXNzdW1lIHRoZXJlIGlzIG5vIGFyY2ggbmFtZXMgY29udGFpbmluZyAnLScgb3IgJy4nXG5cdEFSQ0g9XCIke0lNQUdFIyMqLX1cIlxuXHRBUkNIPVwiJHtBUkNIJSUuKn1cIlxuZmlcblxuIyBvdXRwdXQgY3VycmVudCBzdGF0dXMgb2YgdGFyIHRvIC9kZXYvdHR5IGV2ZXJ5IDUxMiByZWNvcmRzICg1IE1iKVxuIyB3aXRoIGRlZmF1bHQgYmxvY2tpbmcgZmFjdG9yIDIwICgxIHJlY29yZCA9IDIwKjUxMiBieXRlcylcblRBUj0ndGFyIC0tY2hlY2twb2ludD01MDAgLS1jaGVja3BvaW50LWFjdGlvbj10dHlvdXQ9JXM6JXt9VFxccidcbiMgZGVmaW5pdGlvbiBvZiB0aGUgcm9vdGZzIGFyY2hpdmUgZm9ybWF0IGFuZCBBUkNIXG5pZiBbIC1uIFwiJFJPT1RGU1wiIF07IHRoZW5cblx0Y2FzZSBcIiRST09URlNcIiBpblxuXHRcdCoudGFyKVxuXHRcdFx0VEFSPVwiJFRBUiAteGZcIlxuXHRcdFx0bGV0IFwiVEFSX1NJWkUgPSAkKHN0YXQgLUxjICVzIFwiJFJPT1RGU1wiKSAvICRNQlwiXG5cdFx0XHQ7O1xuXHRcdCoudGFyLmd6KVxuXHRcdFx0VEFSPVwiJFRBUiAtenhmXCJcblx0XHRcdGxldCBcIlRBUl9TSVpFID0gJChnemlwIC0tbGlzdCBcIiRST09URlNcIiB8IGF3ayAnRU5Ee3ByaW50ICQyfScpIC8gJE1CXCJcblx0XHRcdDs7XG5cdFx0Ki50YXIueHopXG5cdFx0XHRUQVI9XCIkVEFSIC1KeGZcIlxuXHRcdFx0bGV0IFwiVEFSX1NJWkUgPSAkKHh6IC0tcm9ib3QgLS1saXN0IFwiJFJPT1RGU1wiIHwgYXdrICcvXnRvdGFscy97cHJpbnQgJDV9JykgLyAkTUJcIlxuXHRcdFx0Oztcblx0XHQqKSBmYXRhbCBcImVycm9yOiB1bmtub3duIHJvb3RmcyBhcmNoaXZlIGZvcm1hdFwiXG5cdFx0XHQ7O1xuXHRlc2FjXG5cdCMgTk9URTogV2UgYXNzdW1lIHRoZXJlIGlzIG5vIGFyY2ggbmFtZXMgY29udGFpbmluZyAnLScgb3IgJy4nXG5cdEFSQ0g9XCIke1JPT1RGUyMjKi19XCJcblx0QVJDSD1cIiR7QVJDSCUlLip9XCJcbmZpXG5cbmNhc2UgXCIkTUVESUFcIiBpblxuXHQvZGV2L21tY2Jsayp8L2Rldi9sb29wKnwvZGV2L252bWUqKVxuXHRcdHBhcnRzdWZmaXg9XCJwXCJcblx0XHQ7O1xuXHQqKVxuXHRcdHVuc2V0IHBhcnRzdWZmaXhcblx0XHQ7O1xuZXNhY1xuXG4jIyMgaW5jbHVkZSBsb2dnaW5nXG4uICRESVIvbG9nXG5cbmxvZ19pbml0XG5cbiMgU291cmNlIGNvbW1vbiBzaGVsbCBmdW5jdGlvbnNcbi4gJERJUi9mdW5jdGlvbnNcblxuIyBTb3VyY2UgYm9hcmQgc3BlY2lmaWMgc2hlbGwgc2NyaXB0XG5pZiBbIC1uIFwiJFRBUkdFVFwiIF07IHRoZW5cblx0LiBcIiRCT0FSRERJUi8kVEFSR0VUXCJcbmVsc2Vcblx0LiBcIiRTT0NTRElSL3Vua25vd24tc29jLnNoXCJcbmZpXG5cblsgLXogXCIkRkFTVF9CT09UXCIgXSB8fCBCT09UX1RJTUVPVVQ9MFxuXG4jIEFkZCBkZWZhdWx0IHN5c3RlbSBjb25zb2xlXG5pZiBbIC1uIFwiJENPTlNPTEVcIiBdICYmIFsgLXogXCIkU1lTQ09OXCIgXTsgdGhlblxuXHRTWVNDT049dHR5UzAsMTE1MjAwbjhcbmZpXG5cbiMgQWRkIEVGSSBQYXJ0aXRpb25zXG5pZiBbIC1uIFwiJEVGSVwiIC1hIC1uIFwiJFJPT1RGU1wiIF07IHRoZW5cblx0aWYgWyAteiBcIiRGSVJNUEFSVF9OVU1cIiBdOyB0aGVuXG5cdFx0RklSTVBBUlRfTlVNPVwiJHtST09UUEFSVF9OVU19XCJcblx0XHRsZXQgUk9PVFBBUlRfTlVNPSR7RklSTVBBUlRfTlVNfSsxXG5cdGZpXG5maVxuXG4jIEFkZCBhIGJvb3QgcGFydGl0aW9uXG5pZiBbIC1uIFwiJEFERF9CT09UUEFSVFwiIF07IHRoZW5cblx0aWYgWyAteiBcIiRCT09UUEFSVF9OVU1cIiBdOyB0aGVuXG5cdFx0Qk9PVFBBUlRfTlVNPVwiJHtST09UUEFSVF9OVU19XCJcblx0XHRsZXQgUk9PVFBBUlRfTlVNPSR7Qk9PVFBBUlRfTlVNfSsxXG5cdGZpXG5maVxuXG5pZiBbIC16IFwiJFJPT1RGU1wiIC1hIC16IFwiJElNQUdFXCIgXTsgdGhlblxuXHRmaW5kX3BhcnRpdGlvbnNcbmZpXG5cbiMgZGVmYXVsdCBzaXplIG9mIHBhcnRpdGlvbnMgKE1pQilcblsgLXogXCIkRklSTVBBUlRfTlVNXCIgXSB8fCBGSVJNUEFSVF9TSVpFPTEyOFxuWyAteiBcIiRCT09UUEFSVF9OVU1cIiBdIHx8IEJPT1RQQVJUX1NJWkU9NTEyXG5cbmNoYW5nZV9wYXJ0aXRpb25cblxuIyBJbWFnZSBzaXplIGNhbGN1bGF0aW9uXG5pZiBbIC1uIFwiJFJPT1RGU1wiIC1hIC1uIFwiJElNQUdFX09VVFwiIF07IHRoZW5cblx0IyBJbmNyZWFzZSBzaXplIGJ5IDEwJSB3aGljaCBpcyByZXNlcnZlZCBieSBGUywgdGFrZSBpbnRvIGFjY291bnQgaS1ub2RlIHJhdGlvIGFuZCByZXNlcnZlZCAzMk1iLlxuXHQjIEFkZCAxIGp1c3QgaW4gY2FzZS5cblx0SU1BR0VfU0laRV9NSU49XCIkKGF3ayAtdlRTPVwiJFRBUl9TSVpFXCIgLXZNPVwiJE1CXCIgJ0JFR0lOeyBwcmludGYgKFwiJWRcIiwgKChUUys1MTIrMzIpKigxKzEwMjQvODE5MikqMS4xKzEpKSB9JylcIlxuXHRbIC16IFwiJEZJUk1QQVJUX1NJWkVcIiBdIHx8IGxldCBJTUFHRV9TSVpFX01JTj0kSU1BR0VfU0laRV9NSU4rJEZJUk1QQVJUX1NJWkVcblx0WyAteiBcIiRCT09UUEFSVF9TSVpFXCIgXSB8fCBsZXQgSU1BR0VfU0laRV9NSU49JElNQUdFX1NJWkVfTUlOKyRCT09UUEFSVF9TSVpFXG5cdCMgQ2hhbmdlIGltYWdlIHNpemVcblx0aWYgWyAteiBcIiR7SU1BR0VfU0laRS19XCIgXSB8fCBbIFwiJElNQUdFX1NJWkVfTUlOXCIgLWdlIFwiJElNQUdFX1NJWkVcIiBdOyB0aGVuXG5cdFx0SU1BR0VfU0laRT1cIiRJTUFHRV9TSVpFX01JTlwiXG5cdGZpXG5cdGxldCBcIkVORF9TRUNUT1IgPSAkSU1BR0VfU0laRSAtIDFcIlxuXHRFTkRfU0VDVE9SPVwiJEVORF9TRUNUT1JcIk1pQlxuZmlcblxuIyBMYXN0IGNoYW5jZSB0byBiYWNrIG91dFxuaWYgWyAtbiBcIiRJTUFHRV9PVVRcIiAtYSAtbiBcIiRJTUFHRV9TSVpFXCIgXTsgdGhlblxuXHRwcmludHggJ0ltYWdlIG91dDogJzsgcHJpbnRuIFwiJElNQUdFX09VVFwiIGdyZWVuIDIwXG5cdHByaW50eCAnSW1hZ2Ugc2l6ZTogJzsgcHJpbnRuIFwiJElNQUdFX1NJWkUgTWlCXCIgZ3JlZW4gMjBcbmVsc2Vcblx0cHJpbnR4ICdTZWxlY3RlZCBNZWRpYTogJzsgcHJpbnRuIFwiJE1FRElBXCIgZ3JlZW4gMjBcbmZpXG4jIHRhcmdldCBoYXJkd2FyZSBBUkNIXG5pZiBbIC1uIFwiJFRBUkdFVFwiIF07IHRoZW5cblx0cHJpbnR4ICdUYXJnZXQ6ICc7IHByaW50biBcIiRUQVJHRVRcIiBncmVlbiAyMFxuZmlcbiMgcm9vdGZzIGlmIGluY2x1ZGVkXG5pZiBbIC1uIFwiJFJPT1RGU1wiIF07IHRoZW5cblx0cHJpbnR4ICdTZWxlY3RlZCByb290ZnM6ICc7IHByaW50biBcIiRST09URlNcIiBncmVlbiAyMFxuZmlcbiMgaW1hZ2UtaW4gaWYgaW5jbHVkZWRcbmlmIFsgLW4gXCIkSU1BR0VcIiBdOyB0aGVuXG5cdHByaW50eCAnU2VsZWN0ZWQgaW1hZ2U6ICc7IHByaW50biBcIiRJTUFHRVwiIGdyZWVuIDIwXG5maVxuIyBhZGRvblxuaWYgWyAtbiBcIiRBRERPTlwiIF07IHRoZW5cblx0cHJpbnR4ICdBZGRvbjogJzsgcHJpbnRuIFwiJEFERE9OXCIgZ3JlZW4gMjBcbmZpXG5pZiBbIC1uIFwiJFVCT09UXCIgXTsgdGhlblxuXHRwcmludHggJ1UtYm9vdCBkaXJlY3Rvcnk6ICc7IHByaW50biBcIiRVQk9PVFwiIGdyZWVuIDIwXG5maVxuaWYgWyAtbiBcIiRSUE1fSU5TVEFMTFwiIF07IHRoZW5cblx0cHJpbnR4ICdSUE0gZGlyZWN0b3J5OiAnOyBwcmludG4gXCIkUlBNX0lOU1RBTExcIiBncmVlbiAyMFxuZmlcbmlmIFsgLW4gXCIkRFRCX0ZJTEVcIiBdOyB0aGVuXG5cdHByaW50eCAnRFRCIGZpbGU6ICc7IHByaW50biBcIiREVEJfRklMRVwiIGdyZWVuIDIwXG5maVxuaWYgWyAtbiBcIiREVEJfVkVORE9SXCIgXTsgdGhlblxuXHRwcmludHggJ0RUQiB2ZW5kb3I6ICc7IHByaW50biBcIiREVEJfVkVORE9SXCIgZ3JlZW4gMjBcbmZpXG5pZiBbIC1uIFwiJERUQl9LVkVSXCIgXTsgdGhlblxuXHRwcmludHggJ0RUQiBrZXJuZWwgdmVyc2lvbjogJzsgcHJpbnRuIFwiJERUQl9LVkVSXCIgZ3JlZW4gMjBcbmZpXG5pZiBbIC1uIFwiJERFRkFVTFRfS0VSTkVMXCIgXTsgdGhlblxuXHRwcmludHggJ0RlZmF1bHQga2VybmVsOiAnOyBwcmludG4gXCIkREVGQVVMVF9LRVJORUxcIiBncmVlbiAyMFxuZmlcbiMgYWRkY29uc29sZSBpZiBpbmNsdWRlZFxuaWYgWyAtbiBcIiRDT05TT0xFXCIgXTsgdGhlblxuXHRwcmludHggJ1N5c3RlbSBjb25zb2xlOiAnOyBwcmludG4gXCIkU1lTQ09OXCIgZ3JlZW4gMjBcbmZpXG5pZiBbIFwiJElOSVRSRF9PRU1cIiA9IDEgXTsgdGhlblxuXHRwcmludHggJ0luaXRyZCBPRU0gY29uZmlnOiAnOyBwcmludG4gXCJFbmFibGVkXCIgZ3JlZW4gMjBcbmZpXG5pZiBbIC1uIFwiJEZBU1RfQk9PVFwiIF07IHRoZW5cblx0cHJpbnR4ICdGYXN0IGJvb3Q6ICc7IHByaW50biBcIkVuYWJsZWRcIiBncmVlbiAyMFxuZmlcbmlmIFsgLW4gXCIkQk9PVF9USU1FT1VUXCIgXTsgdGhlblxuXHRwcmludHggJ0Jvb3QgdGltZW91dDogJzsgcHJpbnRuIFwiJEJPT1RfVElNRU9VVFwiIGdyZWVuIDIwXG5maVxuaWYgWyAtbiBcIiRST09UX1BBU1NXRFwiIF07IHRoZW5cblx0cHJpbnR4ICdyb290IHBhc3N3b3JkOiAnOyBwcmludG4gXCIkUk9PVF9QQVNTV0RcIiBncmVlbiAyMFxuZmlcbmlmIFsgLW4gXCIkVVNFUl9OQU1FXCIgXSAmJiBbIC1uIFwiJFVTRVJfUEFTU1dEXCIgXTsgdGhlblxuXHRwcmludHggJ1VzZXI6ICc7IHByaW50biBcIiRVU0VSX05BTUVcIiBncmVlbiAyMFxuXHRwcmludHggJ1VzZXIgcGFzc3dvcmQ6ICc7IHByaW50biBcIiRVU0VSX1BBU1NXRFwiIGdyZWVuIDIwXG5maVxuXG5pZiBbIC1uIFwiJExPR19GSUxFXCIgXTsgdGhlblxuXHRwcmludHggJ0xvZyBmaWxlOiAnOyBwcmludG4gXCIkTE9HX0ZJTEVcIiBncmVlbiAyMFxuZmlcblxuY2FzZSBcIiRWTkNcIiBpblxuXHQxKVxuXHRcdHByaW50eCAnVk5DOiAnOyBwcmludG4gXCJlbmFibGVkXCIgZ3JlZW4gMjBcblx0Oztcblx0MClcblx0XHRwcmludHggJ1ZOQzogJzsgcHJpbnRuIFwiZGlzYWJsZWRcIiByZWQgMjBcblx0OztcbmVzYWNcblxuaWYgWyAteiBcIiRJTUFHRV9PVVRcIiBdOyB0aGVuXG5cdGlmIFsgLW4gXCIkSU1BR0VcIiAtbyAtbiBcIiRST09URlNcIiBdOyB0aGVuXG5cdFx0cHJpbnRuIFwiV0FSTklORyEgQUxMIERBVEEgV0lMTCBCRSBERVNUUk9ZRURcIiByZWRcblx0ZWxzZVxuXHRcdHByaW50biBcIldBUk5JTkchIEJPT1RMT0FERVIgV0lMTCBCRSBPVkVSV1JJVFRFTlwiIHJlZFxuXHRmaVxuZmlcblxuaWYgWyBcIiROT0FTS1wiICE9IDEgXTsgdGhlblxuXHQjIEFzayB1c2VyIGJlZm9yZSBzdGFydFxuXHRwcmludG4gXCJXb3VsZCB5b3UgbGlrZSB0byBjb250aW51ZT8gW1llcy9Ob10gXCIgYm9sZFxuXHRyZWFkIFBST0NFRURcblx0Y2FzZSBcIiRQUk9DRUVEXCIgaW5cblx0XHRbWXldW0VlXVtTc10pXG5cdFx0XHQ7O1xuXHRcdCopXG5cdFx0XHRwcmludG4gXCJVc2VyIGV4aXQsIG5vIHJvb3RmcyB3cml0dGVuLlwiXG5cdFx0XHRleGl0IDBcblx0XHRcdDs7XG5cdGVzYWNcbmZpXG5cbnRyYXAgcHJlX2V4aXQgRVhJVCBIVVAgUElQRSBJTlQgUVVJVCBURVJNXG5cbiMgQ2hlY2sgdG8gbWFrZSBpbWFnZSBmaWxlXG5pZiBbIC1uIFwiJElNQUdFX09VVFwiIF07IHRoZW5cblx0TUVESUE9XCIkKGxvc2V0dXAgLS1maW5kKVwiXG5cdFsgLW4gXCIkTUVESUFcIiBdIHx8IGZhdGFsX2Vycm9yIFwiL2Rldi9sb29wKiBpcyBub3QgYWxsb3dlZCEhIVwiXG5maVxuXG4jIFByZXBhcmUgbWVkaWFcblsgLXogXCIke01FRElBLX1cIiBdIHx8IHByZXBhcmVfbWVkaWFcblxuIyBXcml0ZSBpbWFnZSBmaWxlIHRvIHRoZSBtZWRpYSBkZXZpY2VcbmlmIFsgLW4gXCIkSU1BR0VcIiBdOyB0aGVuXG5cdGltYWdlX3RvX21lZGlhXG5maVxuXG5pZiBbIC1uIFwiJFJPT1RGU1wiIF07IHRoZW5cblx0WyAteiBcIiR7SU1BR0VfT1VULX1cIiBdIHx8IHByZXBhcmVfaW1hZ2Vcblx0Y3JlYXRlX2Rpc2tsYWJlbFxuXHRjcmVhdGVfcGFydGl0aW9uXG5cdHN5bmNfcGFydGl0aW9uc1xuXHRmb3JtYXRfcGFydGl0aW9uXG5cdG1vdW50X3BhcnRpdGlvblxuXHR3cml0ZV9yb290ZnNcblx0c2V0dXBfZnN0YWJcdFxuXHR1cGRhdGVfY21kbGluZV90eHRcbmZpXG5cbnNvY193cml0ZV9ib290bG9hZGVyXG5cbiMgU2V0dXAgYm9vdCBmbGFnXG5zZXRfYm9vdGZsYWdcblxuIyBVcGRhdGUgYm9vdCBjb25maWdzXG5CT09UQ09ORj1cIiR7VE1QUk9PVC19L2Jvb3QvZXh0bGludXgvZXh0bGludXguY29uZlwiXG5pZiBbIC1zIFwiJEJPT1RDT05GXCIgXTsgdGhlblxuXHQjIENoYW5nZSBzeXN0ZW0gY29uc29sZVxuXHRpZiBbIC1uIFwiJENPTlNPTEVcIiBdOyB0aGVuXG5cdFx0c2VkIC1pIC1lICcvYXBwZW5kLyBzL1tbOnNwYWNlOl1dY29uc29sZT1bYS16QS1aMC05LF0qLy9nJyBcXFxuXHRcdCAgICAtZSBcIi9hcHBlbmQvIHMvJC8gY29uc29sZT10dHkwIGNvbnNvbGU9JFNZU0NPTi9nXCIgXFxcblx0XHQgICAgLWUgXCIvYXBwZW5kLyBzLyBxdWlldC8vZ1wiIFxcXG5cdFx0ICAgIFwiJEJPT1RDT05GXCJcblx0Zmlcblx0IyBDaGFuZ2UgZmFzdCBib290XG5cdGlmIFsgLW4gXCIkRkFTVF9CT09UXCIgXTsgdGhlblxuXHRcdHNlZCAtaSBcIi9ecHJvbXB0IC4qL2Q7cy9ebWVudSBcXCguKlxcKS9tZW51IFxcMVxcbnByb21wdCAwL1wiIFwiJEJPT1RDT05GXCJcblx0Zmlcblx0IyBDaGFuZ2UgbWVudSB0aW1lb3V0XG5cdGlmIFsgLW4gXCIkQk9PVF9USU1FT1VUXCIgXTsgdGhlblxuXHRcdHNlZCAtaSBcIi9edGltZW91dCAuKi9kO3MvXm1lbnUgXFwoLipcXCkvbWVudSBcXDFcXG50aW1lb3V0ICRCT09UX1RJTUVPVVQvXCIgXCIkQk9PVENPTkZcIlxuXHRmaVxuZmlcbkJPT1RDT05GPVwiJHtUTVBST09ULX0vYm9vdC9ncnViL2dydWIuY2ZnXCJcbmlmIFsgLXMgXCIkQk9PVENPTkZcIiBdOyB0aGVuXG5cdGlmIFsgLW4gXCIkQ09OU09MRVwiIF07IHRoZW5cblx0XHRzZWQgLWkgLWUgJy9bWzpzcGFjZTpdXWxpbnV4LyBzL1tbOnNwYWNlOl1dY29uc29sZT1bYS16QS1aMC05LF0qLy9nJyBcXFxuXHRcdCAgICAtZSBcIi9bWzpzcGFjZTpdXWxpbnV4LyBzLyQvIGNvbnNvbGU9dHR5MCBjb25zb2xlPSRTWVNDT04vZ1wiIFxcXG5cdFx0ICAgIC1lIFwiL1tbOnNwYWNlOl1dbGludXgvIHMvIHF1aWV0Ly9nXCIgXFxcblx0XHQgICAgXCIkQk9PVENPTkZcIlxuXHRmaVxuXHQjIENoYW5nZSBtZW51IHRpbWVvdXRcblx0aWYgWyAtbiBcIiRCT09UX1RJTUVPVVRcIiBdOyB0aGVuXG5cdFx0c2VkIC1pIFwicy9zZXQgdGltZW91dD0uKi9zZXQgdGltZW91dD0kQk9PVF9USU1FT1VUL1wiIFwiJEJPT1RDT05GXCJcblx0ZmlcbmZpXG5CT09UQ09ORj1cIiR7VE1QUk9PVC19L2V0Yy9zeXNjb25maWcvZ3J1YjJcIlxuaWYgWyAtcyBcIiRCT09UQ09ORlwiIF07IHRoZW5cblx0aWYgWyAtbiBcIiRDT05TT0xFXCIgXTsgdGhlblxuXHRcdHNlZCAtaSAtZSAnL0dSVUJfQ01ETElORV9MSU5VWC8gcy9bWzpzcGFjZTpdXWNvbnNvbGU9W2EtekEtWjAtOSxdKi8vZycgXFxcblx0XHQgICAgLWUgXCIvR1JVQl9DTURMSU5FX0xJTlVYLyBzLyckLyBjb25zb2xlPXR0eTAgY29uc29sZT0kU1lTQ09OJy9nXCIgXFxcblx0XHQgICAgLWUgXCIvR1JVQl9DTURMSU5FX0xJTlVYLyBzLyBxdWlldCAvIC9nO3MvIHF1aWV0Jy8nL2dcIiBcXFxuXHRcdCAgICBcIiRCT09UQ09ORlwiXG5cdGZpXG5cdCMgQ2hhbmdlIG1lbnUgdGltZW91dFxuXHRpZiBbIC1uIFwiJEJPT1RfVElNRU9VVFwiIF07IHRoZW5cblx0XHRzaGVsbF9jb25maWdfc2V0IFwiJEJPT1RDT05GXCIgR1JVQl9USU1FT1VUIFwiJEJPT1RfVElNRU9VVFwiXG5cdGZpXG5maVxudW5zZXQgQk9PVENPTkZcblxuIyBFbmFibGUgdm5jIG1vZGUgZm9yIGFsdGVyYXRvci1zZXR1cFxuQUxURVJBVE9SX1NFVFVQX0NPTkY9JHtUTVBST09ULX0vZXRjL2FsdGVyYXRvci1zZXR1cC9jb25maWdcbmlmIFsgLWYgXCIkQUxURVJBVE9SX1NFVFVQX0NPTkZcIiBdOyB0aGVuXG5cdGNhc2UgXCIkVk5DXCIgaW5cblx0XHQxKVxuXHRcdFx0c2VkICcvQUxURVJBVE9SX1NFVFVQX1ZOQz0vZCcgLWkgXCIkQUxURVJBVE9SX1NFVFVQX0NPTkZcIlxuXHRcdFx0ZWNobyAnQUxURVJBVE9SX1NFVFVQX1ZOQz0xJyA+PiBcIiRBTFRFUkFUT1JfU0VUVVBfQ09ORlwiXG5cdFx0Oztcblx0XHQwKVxuXHRcdFx0c2VkICcvXkFMVEVSQVRPUl9TRVRVUF9WTkM9L3MvXi8jLycgLWkgXCIkQUxURVJBVE9SX1NFVFVQX0NPTkZcIlxuXHRcdDs7XG5cdGVzYWNcbmZpXG5cbiMgZXh0cmFjdCBhZGRvbi50YXJcbmlmIFsgLW4gXCIkQURET05cIiBdOyB0aGVuXG5cdHByaW50X21lc3NhZ2UgXCJFeHRyYWN0IGFyY2hpdmUgJEFERE9OIHRvIHJvb3Rmcy4uLlwiXG5cdHRhciAteCAtQyBcIiRUTVBST09UXCIgLWYgXCIkQURET05cIiB8fFxuXHRcdGZhdGFsX2Vycm9yIFwiRXh0cmFjdCAkQURET04gZmFpbGVkISEhXCJcblx0cHJpbnRfZG9uZVxuZmlcblxuIyB1c2UgL2V0Yy9pbml0cmQubWsub2VtIGluIHJvb3Rmc1xuaWYgWyBcIiRJTklUUkRfT0VNXCIgPSAxIF07IHRoZW5cblx0cHJpbnRfbWVzc2FnZSBcIkNvcHlpbmcgaW5pdHJkLm1rLm9lbSB0byBpbml0cmQubWsgLi4uXCJcblx0Y3AgJFRNUFJPT1QvZXRjL2luaXRyZC5ta3sub2VtLH1cblx0cHJpbnRfZG9uZVxuZmlcblxuIyBtb3VudCBjaHJvb3QgaWYgbmVlZGVkXG5pZiBbIC1uIFwiJFJQTV9JTlNUQUxMXCIgXSB8fCBbIC1uIFwiJFJPT1RfUEFTU1dEXCIgXSB8fFxuICAgWyAtbiBcIiRVU0VSX05BTUVcIiBdIHx8IFsgLW4gXCIkVVNFUl9QQVNTV0RcIiBdIHx8XG4gICBbIC1uIFwiJERFRkFVTFRfS0VSTkVMXCIgXSB8fCBbIC1uIFwiJEVGSVwiIF07IHRoZW5cblx0cHJpbnRfbWVzc2FnZSBcIk1vdW50IGNocm9vdCAuLi5cIlxuXHRtb3VudF9jaHJvb3QgfHwgZmF0YWxfZXJyb3IgXCJNb3VudCBjaHJvb3QgZmFpbGVkISEhXCJcblx0cHJpbnRfZG9uZVxuZmlcblxuIyBpbnN0YWxsIGFkZGl0aW9ucyBwYWNrYWdlc1xuaWYgWyAtbiBcIiRSUE1fSU5TVEFMTFwiIF07IHRoZW5cblx0cHJpbnRfbWVzc2FnZSBcIkluc3RhbGwgYWRkaXRpb25zIHJwbSBwYWNrYWdlcyAuLi5cIlxuXHRycG1faW5zdGFsbCBcIiRSUE1fSU5TVEFMTFwiIHx8XG5cdFx0ZmF0YWxfZXJyb3IgXCJGYWlsZWQgaW5zdGFsbCBycG0gcGFja2FnZXMhISFcIlxuXHRwcmludF9kb25lXG5maVxuXG5pZiBbIC1uIFwiJERFRkFVTFRfS0VSTkVMXCIgXTsgdGhlblxuXHRwcmludF9tZXNzYWdlIFwiU2V0IGRlZmF1bHQga2VybmVsOiAkREVGQVVMVF9LRVJORUwgLi4uXCJcblx0ZXhlY19jaHJvb3QgaW5zdGFsbGtlcm5lbCAtLWtlZXAtaW5pdHJkIC11IFwiJERFRkFVTFRfS0VSTkVMXCIgfHxcblx0XHRmYXRhbF9lcnJvciBcIkZhaWxlZCB0byBzZXQgZGVmYXVsdCBrZXJuZWwhISFcIlxuXHRwcmludF9kb25lXG5maVxuXG5pZiBbIC1uIFwiJFJPT1RfUEFTU1dEXCIgXTsgdGhlblxuXHRwcmludF9tZXNzYWdlIFwiU2V0IHJvb3QgcGFzc3dvcmQgLi4uXCJcblx0ZXhlY19jaHJvb3QgdXNlcm1vZCAtcCBcIiQoaGVhZCAtbjEgXCIkUk9PVF9QQVNTV0RcIilcIiBcInJvb3RcIiB8fFxuXHRcdGZhdGFsX2Vycm9yIFwiRmFpbGVkIHRvIHNldCByb290IHBhc3N3b3JkISEhXCJcblx0cHJpbnRfZG9uZVxuZmlcblxuaWYgWyAtbiBcIiRVU0VSX05BTUVcIiBdICYmIFsgLW4gXCIkVVNFUl9QQVNTV0RcIiBdOyB0aGVuXG5cdHByaW50X21lc3NhZ2UgXCJDcmVhdGUgdXNlciBcXFwiJFVTRVJfTkFNRVxcXCIgLi4uXCJcblx0ZXhlY19jaHJvb3QgdXNlcmFkZCAtbSBcIiRVU0VSX05BTUVcIiB8fFxuXHRcdGZhdGFsX2Vycm9yIFwiRmFpbGVkIHRvIGFkZCB1c2VyIFxcXCIke1VTRVJfTkFNRX1cXFwiISEhXCJcblx0cHJpbnRfZG9uZVxuXHRwcmludF9tZXNzYWdlIFwiU2V0IHBhc3N3b3JkIGZvciB1c2VyIFxcXCIkVVNFUl9OQU1FXFxcIiAuLi5cIlxuXHRleGVjX2Nocm9vdCB1c2VybW9kIC1wIFwiJChoZWFkIC1uMSBcIiRVU0VSX1BBU1NXRFwiKVwiIFwiJFVTRVJfTkFNRVwiIHx8XG5cdFx0ZmF0YWxfZXJyb3IgXCJGYWlsZWQgdG8gc2V0ICRVU0VSX05BTUUgcGFzc3dvcmQhISFcIlxuXHRwcmludF9kb25lXG5maVxuXG5pZiBbIC1uIFwiJERUQl9GSUxFXCIgXSAmJiBbIC1uIFwiJERUQl9WRU5ET1JcIiBdICYmIFsgLW4gXCIkRFRCX0tWRVJcIiBdOyB0aGVuXG5cdHByaW50X21lc3NhZ2UgXCJJbnN0YWxsIGV4dGVybmFsIGR0YiAuLi5cIlxuXHRhZGRfZHRiIHx8IGZhdGFsX2Vycm9yIFwiRmFpbGVkIHRvIGluc3RhbGwgdmVuZG9yIGR0YiEhIVwiXG5cdHByaW50X2RvbmVcbmZpXG5cbiMgZ3J1Yi1lZmkgaW5zdGFsbFxuaWYgWyAtbiBcIiRFRklcIiBdICYmIFsgLW4gXCIkRklSTVBBUlRfTlVNXCIgXSAmJiBbIC1mIFwiJFRNUFJPT1RcIi9ldGMvc3lzY29uZmlnL2dydWIyIF07IHRoZW5cblx0cHJpbnRfbWVzc2FnZSBcIlRyeWluZyBncnViLWVmaSBpbnN0YWxsLi4uXCJcblx0Y2FzZSBcIiQoZXhlY19jaHJvb3QgYXJjaClcIiBpblxuXHRcdHg4Nl82NCkgZXhlY19jaHJvb3QgZ3J1Yi1pbnN0YWxsIC0tdGFyZ2V0PXg4Nl82NC1lZmkgLS1yZWNoZWNrIC0tcmVtb3ZhYmxlIFxcXG5cdFx0XHQtLXVlZmktc2VjdXJlLWJvb3QgfHwgZmF0YWxfZXJyb3IgXCJncnViLWluc3RhbGwgeDg2XzY0LWVmaSBmYWlsZWQhISFcIlxuXHRcdDs7XG5cdFx0YWFyY2g2NCkgZXhlY19jaHJvb3QgZ3J1Yi1pbnN0YWxsIC0tdGFyZ2V0PWFybTY0LWVmaSAtLXJlY2hlY2sgLS1yZW1vdmFibGUgXFxcblx0XHRcdC0tdWVmaS1zZWN1cmUtYm9vdCB8fCBmYXRhbF9lcnJvciBcImdydWItaW5zdGFsbCBhcm02NC1lZmkgZmFpbGVkISEhXCJcblx0XHQ7O1xuXHRcdHJpc2N2NjQpIGV4ZWNfY2hyb290IGdydWItaW5zdGFsbCAtLXRhcmdldD1yaXNjdjY0LWVmaSAtLXJlY2hlY2sgLS1yZW1vdmFibGUgXFxcblx0XHRcdC0tdWVmaS1zZWN1cmUtYm9vdCB8fCBmYXRhbF9lcnJvciBcImdydWItaW5zdGFsbCByaXNjdjY0LWVmaSBmYWlsZWQhISFcIlxuXHRcdDs7XG5cdFx0bG9vbmdhcmNoNjQpIGV4ZWNfY2hyb290IGdydWItaW5zdGFsbCAtLXRhcmdldD1sb29uZ2FyY2g2NC1lZmkgLS1yZWNoZWNrIC0tcmVtb3ZhYmxlIFxcXG5cdFx0XHQtLXVlZmktc2VjdXJlLWJvb3QgfHwgZmF0YWxfZXJyb3IgXCJncnViLWluc3RhbGwgbG9vbmdhcmNoNjQtZWZpIGZhaWxlZCEhIVwiXG5cdFx0Oztcblx0XHQqKSBmYXRhbF9lcnJvciBcIlVua25vd24gQVJDSCEhIVwiXG5cdFx0Oztcblx0ZXNhY1xuXHRleGVjX2Nocm9vdCB1cGRhdGUtZ3J1YiB8fCBmYXRhbF9lcnJvciBcInVwZGF0ZS1ncnViIGZhaWxlZCEhIVwiXG5cdHByaW50X2RvbmVcbmZpXG5cbmZpbmFsX2V4aXRcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODQ0NDEwOX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjcwNDkyOTZhIiwicGFyZW50SWQiOiI3NTkwMTBhYyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MjkuMDkyWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipDaGVja2luZyBhdmFpbGFibGUgR1RLIHBhY2thZ2VzIHdpdGggcGtnLWNvbmZpZyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMWRmYjFjODE5MWEwNTQwY2M0MTc2N2ZlMjdcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1NZ2ZfbWFEWjNDbDBhWnktbFdNOWVVajdBdHRGX0RhdzdZV3hWOFBILUQ4Y1N2VGpBREktdnpQZy1wQkZMbkJzUnh6d1U2Y3lOaGU3NkVqQ1cwb2dsZTMtY0lwaktsYmlUT2JiYkdmUUJOeVlhR1RveHE4V0NSdmJUWGVobTJsWkM0MGdnT19Idy1XRUE2a2VmUElJSjJYdGphZVdkYzNWbzJ5WVZtblJ5NTBtZ2NBS3gyd3FXbGJkXzhVOEE2cG9VQTlRVnRHRFZneEw5d3FOZEl3cUc1ZnpPZEhIa1FKSmQwSFBXRTdIVmtuLWcxbk9zejRja3d4aHY0QXRfemczTWVBaWI2UzktdnJOSnJHSXFWaEI1OG51anJNX2NQUHItTlJNMVFHSHd0UnY3bmJwc1E0OXhBMFcxMGhXMjg5cVptMTVoVHByUXB1YW9kX3dqQTU1SHZISzRXdk5qVlBGTkJiU2d2bEh3LWhqQlBFR3NDQmxHUURBbzJCcXBvZ0FSRUtneWlDcjVNUjUtWnJBYnhiWFhiNk1xbVBwQXRmUWl2Wms4NUtKTnhGVXpvWTQzVVpUd3BNUE53WkVqMDFzNmNUWGxDSEtNdDhldzQ3aWROTmhCMGlGUTloTGc4aWYwMkpudV9oMTVoRWJabmhUbzFTLVN0WXV3WVdaTDloS0xma19wLTJHZ19RdUcyWlExcUQtX3BVRjVNbG5mZ0UwWkVvUThrZ3dLbC0xU183a2xrOXFaSHpBeGo4OGRVeUJRX2h0Zmk5VVpZX1FVTG9WYU9abHZRMXR0VGlWMm1ZTjVTay1GUDNrZEtCLUVXakRlUkE5Z3ZWMk01cWlkcUl1Y3ZPZ2VQVEtmTVg4MVgzbHM3Mm9DWl8yZEVwcF8wY05ETktYa1RYRHk4SG0wU1VOSnlOQ1ZOeTVjYnNta2xLbzduV2tNV19qOE1UZXFPdWRGSmJkU1lmSkdCaHBnZlBrTWJGVWM1N1NKTi1tR1MxNG10QzVnd0hKci1BUmZmNVNIcnZBbG1aOEtEMXF0ZXFiQTY5aDRqbnhqY2xPWGVweUgtY1pQdHgyUUtBNkVXNWRmRS1Idk1KUDZtVVJZNVR3SHV4UU5WSkZaYUJkMXR5cG56amM3ZmZkSVQ3ZmhOMjYteU9aMGVmaFk4aXNON2x5X3lvUjYzMkpicE9fdkgyUk5VY2E0NGtPbWplaF9LWnNSS0lqTUotb19GNWdMUkYxU3JGVktSY0hVU0dNWFg5WlVKMEMwT1pHV0JBbHNIVjVUeWY5bjNXQTZzdTFDVDg5d2FERXNtSVdhcm82X1RpZ0ZOSlJSaXJabXhxVlVXQS1GWGFRRzZONkd5Vk90TVFHQ3JcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkNoZWNraW5nIGF2YWlsYWJsZSBHVEsgcGFja2FnZXMgd2l0aCBwa2ctY29uZmlnKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzBlaENRa0hvRkZCMWVWc2pmbDdhOWJGQnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMyMGYxZDA4MTkxODE0NTRmMTBkNzc5ZDVjMSIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJwa2ctY29uZmlnIC0tbW9kdmVyc2lvbiBndGs0IGxpYmFkd2FpdGEtMSAyPiYxOyBydXN0YyAtLXZlcnNpb247IGNhcmdvIC0tdmVyc2lvbiJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9BclF3MTZXTmZwSzRQcHJlVXVhTU1kQ3Z8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMjBmMWUwODE5MThkZDJkODFmM2M5ZjNmMWUiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiZmluZCBhbHQtcm9vdGZzLWluc3RhbGxlciAtbWF4ZGVwdGggMiAtdHlwZSBkIC1wcmludDsgaWYgWyAtZCBhbHQtcm9vdGZzLWluc3RhbGxlci9ib2FyZHMuZCBdOyB0aGVuIGZpbmQgYWx0LXJvb3Rmcy1pbnN0YWxsZXIvYm9hcmRzLmQgLW1heGRlcHRoIDEgLXR5cGUgZiAtcHJpbnRmICclZlxcbicgfCBzb3J0IHwgaGVhZDsgZmk7IGdpdCBzdGF0dXMgLS1zaG9ydCJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTMyMjMsIm91dHB1dCI6MTU3LCJjYWNoZVJlYWQiOjAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTcsInRvdGFsVG9rZW5zIjoxMzM4MCwiY29zdCI6eyJpbnB1dCI6MC4wNjYxMTUwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwNDcxLCJjYWNoZVJlYWQiOjAsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA3MDgyNTAwMDAwMDAwMDAxfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg4NDQ0MTA5LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMxYzZjODQ4MTkxOGU1ZTFlYjkwMzM0MzYxMiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI2NDc0MjNmYyIsInBhcmVudElkIjoiNzA0OTI5NmEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjA3OjI5LjExOFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfMGVoQ1FrSG9GRkIxZVZzamZsN2E5YkZCfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzIwZjFkMDgxOTE4MTQ1NGYxMGQ3NzlkNWMxIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiUGFja2FnZSBndGs0IHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG5QZXJoYXBzIHlvdSBzaG91bGQgYWRkIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBgZ3RrNC5wYydcbnRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGVcbk5vIHBhY2thZ2UgJ2d0azQnIGZvdW5kXG5QYWNrYWdlIGxpYmFkd2FpdGEtMSB3YXMgbm90IGZvdW5kIGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBwYXRoLlxuUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGxpYmFkd2FpdGEtMS5wYydcbnRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGVcbk5vIHBhY2thZ2UgJ2xpYmFkd2FpdGEtMScgZm91bmRcbnJ1c3RjIDEuOTYuMCAoYWM2OGZhYTIwIDIwMjYtMDUtMjUpIChidWlsdCBmcm9tIGEgc291cmNlIHRhcmJhbGwpXG5jYXJnbyAxLjk2LjAgKDMwYTM0YzY4MiAyMDI2LTA1LTI1KSAoYnVpbHQgZnJvbSBhIHNvdXJjZSB0YXJiYWxsKVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NDQ5MTE4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNWQ2NTNiY2UiLCJwYXJlbnRJZCI6IjY0NzQyM2ZjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDowNzoyOS4xMThaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0FyUXcxNldOZnBLNFBwcmVVdWFNTWRDdnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMyMGYxZTA4MTkxOGRkMmQ4MWYzYzlmM2YxZSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6ImFsdC1yb290ZnMtaW5zdGFsbGVyXG5hbHQtcm9vdGZzLWluc3RhbGxlci9zb2NzLmRcbmFsdC1yb290ZnMtaW5zdGFsbGVyLy5nZWFyXG5hbHQtcm9vdGZzLWluc3RhbGxlci8uZ2Vhci90YWdzXG5hbHQtcm9vdGZzLWluc3RhbGxlci8uZ2Vhci91cHN0cmVhbVxuYWx0LXJvb3Rmcy1pbnN0YWxsZXIvYm9hcmRzLmRcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODQ0OTExOH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImE4OGU1NjJmIiwicGFyZW50SWQiOiI1ZDY1M2JjZSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MzIuMzYxWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipJbnZlc3RpZ2F0aW5nIGdpdCBzdWJtb2R1bGUgc3RydWN0dXJlKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMyMjdjN2M4MTkxOTQyMzBiNmNmYTQyNTc0M1wiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTU1qRmFOTm5laDJwWVhnUGlFYldjd1lyVm1DeEFGMy1mRjN4QjBsLU1oQXhMaTlVeGFTdjk3QWE1N3hWeGozOEtWNUJJQ2hLRWFvZFNBQWJpNVZ6a0xrVFBLM1dGUDJ6UWlMcmt6M19YbHlIRDVLaWRfcHdRcFlLbTM2S3NCZ0FtckF3RWowQUV5Z2x1V3o2X0FQVnhTWGVLeHZPWTJDa2tjSXU4bzlSNU1fbnd1OXViMXhFWWlJLW83Q3dUcTdxY3ZfVDI3ZFNrT2tfS1MyNERXTXJHS3BpUkhOQXItQmVSbEN1cGljczd1Z0Z3WGlmMFFzczV5VU14bzh1QWNueTNNNi1Yb25MWERRR20yb29UalhvbUxKVEVjVWpITktFcnAweWxiNkxBQlFxZDJpVEkxUnRveUVYVFkyQUxCaEc0MEFSLWpGa3BKd0NTRDh0X1JzWXVidE10ZDBneV9KN1J3MHlkNldmRnpseGVKMGZSSVQwRGlyamk1MU95SGZxZVBkTkhNbDFVejBqeHhXYjJmQ2ltYTFLczdxSEIyNENjTDlHcno0TXFWTEROVmJDWHVPckhsRFROdnJpNzI2cTVWNXBydmNyQjROTDRuaUdhY21OVzk0ZlI3UnpGbjZWTjNzMERudmtwZDlUUnl4eElidXFOS2ZCb0Jzamd3SkZxRmZkeFkzdWZ2ZmtsQVdKV0N3bHBZdVNmV1NNdVI4RUI1Q2x5OGNadzlJMU9LcURWOVJTSzN5VEMwZmdFVzhpdEJGV1FnUDdudHpEbmQzRW9vcXdBMGRJcV9pVDl2ajhSLUdDRE0ySWd5cTZZOEtEYWJNTnBsUmkxMjdtM3Q5Tk54TjJBblRPR21qQmxHWHRDMjBLYm5aenJacW9hT3ZnNUZhSkdiRXpLc19ONVprQUV0YWV6Qld5TktYZHo4SWRqUG0yXzJUbkQ5NzBleWVjVTltZ1N6UldTeHctZE1GNkJQdDFMcUtZeURWZy03QWVLTzI2Mmx1UzBKd0NrSlZRUE5wMTlMWXFYeW0yTFJpSmZUQUNqa2VNUkV0aW9VWmlhQzVwMmFXcWJHVFZCRzRCSk9iV1VrdE11VVIyNG0zZUJ0RXJfTU84VEtOSDZuekM3aUJFVHFESzlueWw0SDZPNy10enBqdi01X2xXYjV3T1pnOUJfVHZ4MmlrQ3pjUldheDB4Tkl1Z29SSkZFb05IWjdiQkI2Y1JsMHBMcFlsNUJvNXFPX3hQSjBVMjNEc3hHV2x5QXhhU2xPMmFXNXEtaHhwV21nVGxCeEExMVY2bTB0SFhoMkFYODl6VDRmLXJpa0dPSFdBWjJuZFdJMD1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkludmVzdGlnYXRpbmcgZ2l0IHN1Ym1vZHVsZSBzdHJ1Y3R1cmUqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfSjYxYkc3TDZEN0FSWUprbUxUVkZEYnNCfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzIzNWU3YzgxOTE4MmY4YzFmOWQ3NWE2MzE2IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImZpbmQgYWx0LXJvb3Rmcy1pbnN0YWxsZXIvYm9hcmRzLmQgLW1heGRlcHRoIDEgLXR5cGUgZiB8IHdjIC1sOyBscyAtbGEgYWx0LXJvb3Rmcy1pbnN0YWxsZXIvYm9hcmRzLmQgfCBoZWFkIC0zMDsgZ3JlcCAtUmhvICduYW1lID0gXCJsaWJhZHdhaXRhXCInIH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYyAyPi9kZXYvbnVsbCB8IGhlYWQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjgwNiwib3V0cHV0Ijo5NywiY2FjaGVSZWFkIjoxMjgwMCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxNCwidG90YWxUb2tlbnMiOjEzNzAzLCJjb3N0Ijp7ImlucHV0IjowLjAwNDAzMDAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMjkxMDAwMDAwMDAwMDAwMDMsImNhY2hlUmVhZCI6MC4wMDYzOTk5OTk5OTk5OTk5OTk0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMTMzNDAwMDAwMDAwMDAwMDF9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODg0NDkxMTgsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzIxNzQxYzgxOTE4ZTYxZWY0ODYwNjQ4YTYwIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijc0MzBhMjhjIiwicGFyZW50SWQiOiJhODhlNTYyZiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MzIuMzczWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9KNjFiRzdMNkQ3QVJZSmttTFRWRkRic0J8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMjM1ZTdjODE5MTgyZjhjMWY5ZDc1YTYzMTYiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIwXG50b3RhbCA4XG5kcnd4ci14ci14IDIgYWd1c2NoaW4gYWd1c2NoaW4gNDA5NiBKdWwgMjUgMTg6MDAgLlxuZHJ3eHIteHIteCA1IGFndXNjaGluIGFndXNjaGluIDQwOTYgSnVsIDI1IDE4OjAwIC4uXG5scnd4cnd4cnd4IDEgYWd1c2NoaW4gYWd1c2NoaW4gICAzMCBKdWwgMjUgMTg6MDAgYTY0LW9saW51eGlubyAtPiAuLi9zb2NzLmQvQWxsV2lubmVyLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBhNjQtb2xpbnV4aW5vLWVtbWMgLT4gLi4vc29jcy5kL0FsbFdpbm5lci1hYXJjaDY0LnNoXG5scnd4cnd4cnd4IDEgYWd1c2NoaW4gYWd1c2NoaW4gICAzMCBKdWwgMjUgMTg6MDAgYW1hcnVsYV9hNjRfcmVsaWMgLT4gLi4vc29jcy5kL0FsbFdpbm5lci1hYXJjaDY0LnNoXG5scnd4cnd4cnd4IDEgYWd1c2NoaW4gYWd1c2NoaW4gICAzMCBKdWwgMjUgMTg6MDAgYW5iZXJuaWNfcmczNXh4X2g3MDAgLT4gLi4vc29jcy5kL0FsbFdpbm5lci1hYXJjaDY0LnNoXG5scnd4cnd4cnd4IDEgYWd1c2NoaW4gYWd1c2NoaW4gICAzMCBKdWwgMjUgMTg6MDAgYW5iZXJuaWMtcmc1NTItcmszMzk5IC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGFuYmVybmljLXJneHgzLXJrMzU2NiAtPiAuLi9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBhdGItdXNwZDIwayAtPiAuLi9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDI0IEp1bCAyNSAxODowMCBiYW5hbmFwaS1mMyAtPiAuLi9zb2NzLmQvSzF4LXJpc2N2NjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBiYW5hbmFwaV9tMl9wbHVzX2g1IC0+IC4uL3NvY3MuZC9BbGxXaW5uZXItYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGJhbmFuYXBpX202NCAtPiAuLi9zb2NzLmQvQWxsV2lubmVyLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBiZWVsaW5rX2dzMSAtPiAuLi9zb2NzLmQvQWxsV2lubmVyLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBicGktcjItcHJvLXJrMzU2OCAtPiAuLi9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBjaHJvbWVib29rX2JvYiAtPiAuLi9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBjaHJvbWVib29rX2tldmluIC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGNtMzU4OC1uYXMtcmszNTg4IC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGNvb2xwaS00Yi1yazM1ODhzIC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGNvb2xwaS1jbTUtZXZiLXJrMzU4OCAtPiAuLi9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBjb29scGktY201LWdlbmJvb2stcmszNTg4IC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGVhaWRrLTYxMC1yazMzOTkgLT4gLi4vc29jcy5kL1JvY2tjaGlwcy1hYXJjaDY0LnNoXG5scnd4cnd4cnd4IDEgYWd1c2NoaW4gYWd1c2NoaW4gICAzMCBKdWwgMjUgMTg6MDAgZW1saWRfbmV1dGlzX241X2RldmJvYXJkIC0+IC4uL3NvY3MuZC9BbGxXaW5uZXItYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGV2Yi1weDMwIC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGV2Yi1yazMzMjggLT4gLi4vc29jcy5kL1JvY2tjaGlwcy1hYXJjaDY0LnNoXG5scnd4cnd4cnd4IDEgYWd1c2NoaW4gYWd1c2NoaW4gICAzMCBKdWwgMjUgMTg6MDAgZXZiLXJrMzM5OSAtPiAuLi9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBldmItcmszNTY4IC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGV2Yi1yazM1ODggLT4gLi4vc29jcy5kL1JvY2tjaGlwcy1hYXJjaDY0LnNoXG5scnd4cnd4cnd4IDEgYWd1c2NoaW4gYWd1c2NoaW4gICAzMCBKdWwgMjUgMTg6MDAgZmljdXMtcmszMzk5IC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGZpcmVmbHktcHgzMCAtPiAuLi9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODQ1MjM3Mn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjZjYjNkOGJiIiwicGFyZW50SWQiOiI3NDMwYTI4YyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDg6MTAuMzIyWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipQbGFubmluZyBHVEs0L0Fkd2FpdGEgVUkgY29tcG9uZW50cyoqXG5cbioqRGVzaWduaW5nIGRldmljZSBzZWxlY3Rpb24gYW5kIGRpYWxvZ3MqKlxuXG4qKlNldHRpbmcgdGFyZ2V0IGNvZGUgc2l6ZSBsaW1pdCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMjcxMTQ0ODE5MWJjNDkzMzA0YWU0MDNkYWRcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1NNExvVG1PY2c5YlVRTVBUNDR1dkJLbnlFSzlET19vemV0UHd3M1FlQlFHa2pmSjNjcDZacVVWbERGV2FHRlhXeVhHSWZYTEJXZWxWU2hpMkFUamJoWjE2WUhaSW05WkQ4NHlRS1F1aDVGOEpqU09KZHVNb1FGRDZIeHc4Umt0SGNrQlJROHR6NjBDYUNXbDVsQjlOX1huVGhncGFQd3pBaVE2THctNzc4STlCNVRQLXV4azNsVEZYRzlNQzd2VXNUSE5OSzBUaXBSd1B6b3VtSVRLWWN5TFBjRGZmajB3N09xa0tQU1VoQ2g3dGVsd3pvcFU4T19WMFhXQzZSRlRSWmpISXB5ekZQUU94c0psQ0hRcDU3aDFYdWdjQjVFR3ZUanNTcU9XcU9kOHVJNG1FSUd6RTAzQ1BCeU5iYU1tQnZkdXB3bkpPZDgtbFlrbWVtdDZaLXdzQkVlVy1DMkFJeVlvb1BVcWRWMGI2RWRBc0w4ZDNqUmRNcmxjcHM2elQ2bWdFZTR0UHpsSndGWHdFbVdYUkNUbEQ5Yk1lYkdZVHdhZlNNMkQ1bG04azRUOEl6NElIYm5SNTRNblZnX0Z1bFhYNVdXYXNnNU80YVJPZmVfVUFFanVPTmt3SGV4SEhoN2dCRDlqTzNHVnc2Z1MtNEZodlctLTJuSFNWYVVLZWNvOFZvWkRLY1JqLUJhdU9pODAtbVdfWEJGRE9vR3JTYXlYS3EwT3ZrQUZvNTZLekhsMlJOU3Z6TzdnUEpDeDZyQ00xTGR5c0Fnb0hsUExMRWc1OENMNjlHWm9QLUJMdmZJeTQ3dlNWLUJTQXROdkdnc2xEOUgwb2lxeGxTb21YZlpFS2dEajdBZ29OYkNGTkZBM0Z4cFcxQVY4ZVI3ME1mQXYtQjNBcHdtTTc2c2lybElLN2h2WlRMZndhczQ1YS1RbVhOVlRoM0xHSFpObXN1Z2kyd2dmYzI5SEZOSmp0Q3FDQ28tcldpWHJkbGdIT2lKTHFHd0s3Zi00V2N4RzEzMUtiUmFHTm5RMGxlZmlNY0VQcC01RjY4MDBNOEI3UVlNSWZUZDZ2V3pnbjRtWHZLTDlYREVTRUJjWHFHeVNJM3dIRDJtV2lTS2xTaGZob2hDVnZhRUJYbW5PUUZuTTliRElWSjJvYW53SjhPX19lRWVVdE5QVkNPMUh2VWRhdkNTZDV5WTFYNWxueUk0R2lkUk02cEwyV0xxR3ZVY2JfRWdDUFhOU3NwZzhWX3RnY0hySmZTazlkd2JfNVZENlNoVExvclJpTjlUTFRXX3NvbWpUR29jRXBXVkotRDlLeW9qZ2VqbS1OVnRBR0VMX2hGbDhMaThoTGliQUpxYlRBcm8wbkZobXpSR3BIUnJZQTdka1ZvcmhzT0FXb2thYVZNS2RoRUhVRnhZWDY2YTlsa3Q2OEwyOFVhT0JyNEhjbU90a1pOYWlraGFlTVl5RTFsZDY3bkY2QXp1SkJqbjBjTEVuMzZROE5Zbk9HSTQ3MUZ2Y2Q2M0UxWVdNeWVyMlhWUXhSalFYT2o4VEI2RktDb0lMZGVkcTRHakR6d1JuQXo1ekNGV1RDY24tUFpIcTRLcVhNUnpUeXhRNmMzbUpKMmp5aTM4SFhPVzZEaGhSTFBPWm8wNlN6NS1XejRoblVMTkxSSTZtQWtac29JSjFqTWZZaTBBME1xaDBoMTVoSUZkY3J2YVZzaUotcmw0X05JYVA2VWN0QUh2bnBhb3NwcDY0Um5veVBMTUZySHNCbFM4Y1dlYzRLS0x5OXRyMzFJUTVSaGl2ZmpHTWhGVHJFOHlXbVJ4Q3BPMC1ScTFFWmdRSmo3RTJFamxzdGFPbzNYb1hPVFlXSGtKQThGdjNwMTlMV0xUMFdzTmtLYnNhUUZPeXoyZUtMWFc1RkFNOWN5Qm55VzA0WDd1bnM5QUZHay0ybUVzMHhEU1diQi1FWWllVkZrVzdMTjhva3I4RmRON0JMWF9DVE9DN2hYQ3drWjYxaVowSEczZ282SVR4TVZvbXZzR0wweVdSRkwwV09sdG9pQ3VNR0xwdlllOVVzcFliNS1hUHphd3JNTzBjM0FLc2lqZmVYZzB6aHZraFV2czY5OTBFUEFUVllycjdicEw4TW5PQm1aUjd4WXJzSEotU2dZRjFDb3dsOVZTR0cyWjJpcU9QNEIwdDFNNHBxUGcxWE1qQldtRTFOcW9aR1FKTTVYUmY2Tm90ZnRQekRnbHRuSVJTalFQT3FQcGxvcGZVb0NxdnliRnBJVUlTakpieWNqa09Ybi1KWjZuWmctMHAzSHV3RlF4YnR6U1djRjdldHdwR1luMTZ3TXY1Ykg2N0hVVzE0dFE3bFE4YTRxQkZ3YkZ5QWhkalZqVDVVY2hybUZfMFdMMmUyRFhWME9OdU1nVlBOWU42clI5cngzdGlJNGZDWk9jM3RONnQ2RU15Vy1uSEpqbVl6ZUo5Vm00YjVSSFQ4LTZVNXZSaUhFSUM0Q3ZLMDMzOGg5c1pNQmR4LU1YZ3RTeTJxaUxiQlo1YzBseS1LemppeF9XOXlZa1ZWdkkwV2tFMkswZUgyVmhqQ3Y5a3lYaW5hTjN2WGFZS1dCOV9NQ3dDNmRvbXAycGQ5OGlFZERGRVVCdktUNjlYYnh0WDctaUw0SkhROE5sUzBvWXFFZVNXNU5qQzN2aTYtTlZxLWhHSmQ1SjRna1hnS0dodEdyZDJ1em5ldGZVczVqTmVJTTZ6UTRPMkQzTWliYjk2WVRXZzFOVTU3NHRFVUE2eTF3MHRWc3ZWVElXSm5KTU96bm9lRWstbEpoUDlLM25PaXJva29yeUw2aGxsVjNHRnRQV0c0YjVkSVV4dUhVQlZFSkwwOXJGZlpCR29IRjAyVDFxTVVfQXVseHZNN3FYa3Vrd0VlZFdtc2NOOHVzZWdNc1Q1N1BoSmNwa1ZUZXhCb1UtZ0Z0SEN5bHJad0c4UUxialJtNXowWFRrT1hlaUYzR0pTcWVjSlNYSHVlcUVEa3JxNklOOVlWaWhDbUpDNUo2TnA4RUJhaXdrVlBYTkhtcWUtVGtJbTdIVXBlWU5NVHZ2a1lOUTM0WWhDc2JJcmpJbVB4NDd1Q0J2d19BTmRrMmMzU2o0TXhQVXcyWXJzZjRFOXgtVm1OMXU3ZkFhTE5ZYmd0WnlqLUlKV21UWmxxTUlUdUE5OEI1a3pnREZEei1SRnNpVmg3aGVITmxKMXVocmExSnR6Qi10M0hySmZTeXUwRzRqNGw4TDBvNDNtUGpmNmNleFVib0p4a3lGdThtRDZjUnVJZmMwY3dBbzFlNHFxNXUwc292OGdwc0N3c3BrTHVmbEVQWDZicV84dm5jbzl2M0RENTUxbDY5ZHhUb2puY1F3eWpTSlpfZ2d6VDVsc1FoWS1SdkdlZkdYZERndEViY0hwZVZvT3lsb1RhMDU3eGs3VkJUODlRclBsbU5ZVlZNbW9PNm9JdU1NUEhFMkpNdFZDN2xKRC1mVTBIXzBxQjdzandDcVllZzV5bzljMC1pVVM0Z3Q5dDNLdTFTcU01cVRCZFZJdVhpUExSdEVVeUtha0dfNzlfcEF2XzZudzZtQmJmX2tzR2FEdERoRENjQ284clJmVHVxMy0zSURic0w2YTQ4aVdtUWl6Vk1nWm5uWWphT1BQZkVoeU94M1NzeUFyVVpMYkVkVm9fRGxmdGYwT0dHRHNmRzkyOVlGX1QwWXZJYUJnNGJkeF9oQjBSc0s0a0F1bTNNcHMyYzFxY3hnbURuWWlsNDNFbW80cDFJSW9MbWVqeENVM1JmcUNwOHpmbUlZVzBhX1hrTkJiSHFYeEdFZnlLbU9EalhxTmdJaG45Slh0QkxtY0lVaVFBTTVQQWdacXNneTlYVjc5bzVGNEZGSTdGclRkNlBLSHJqY0NWOGo3TVY1WGw4RDEyOEppaFd2ZXBiQ1hrSnlhVWFhOGY0VTJpQmpsbnlxVTh1bVp6alVQaTAxWTQwZzFOXzVqMU1QMld3alpmM0x5MWk1Q2lxbXBSMUdfOU1Pam9XcUYtTFAxR2U2TzZ0WEFCbmJSZjZmQ3kwdHB5MGV3ZGo5d2Q3U3RxQzFRSmNQMXViX2dRSkozT0Z2ellZcnFaajROVXU4T2lDN0stVThDUkxPQkUtMXhFQ3VWdDk0TExhYk52Q0g4bG13YUJmWHZxTm51Z2ROYy1qaTgwOTZVdW96bFA3RDV4Rzhwc0FubEhsUUU4WWV2dGNFZTVhM0x6MW5YdHB0cmQ4MFQwT3ZseUdIMnQ3cGpudE5FMWlKUXNSQjE1akFNbGtiREtGdU9IaWRwTEF4MURBbVZXSlFZZEF4QW5FcERYTlNPZ1dwUmV1Smo1WGNadGpGQ3BaNmlBZG8yQlMwVFpoWmkyWW5rRm5pM0JmelBpUjJQZ0NZbjlLMDIwdHJCQlEzRUpSUHVnY2NFT2tYa1JfVmkyNklYM0RYS0xNTmZRcWlid0c3eDFNcUlvZmNMUk4tWm9KRHdMRUM0QVZINzVkbHJFSWpwTl9kQVQ2ekpPNGxKckhEUERDdFgxeGdBWk9SY0dDcmEwVEFqdDdDa0QwNDhjVmc5dnA2a0FKdjltbWFGd0FGaERkZ3pNZGVaOHVSbWFJMTJYeEpNTVhheFVodnhFV1RhaXdPcy1WaGY5bDdodHMxSUs2UjNjS3B4ZzdYVGMxbUk2T0U3c2JUXzRTTGIyYTVIbjFaMFFCcVR2S1hiVkRuU1RjalZ1T3ItS1lzdzRha1Bncmotd0pVRUgybU41MWJVZXNybGt3STNSSEdLdk5RSHE4aWVUYlFVUjQ2U3UwYnFNUXk0eVdzTmhoV2lxaFNRQzlEN2VIb1Zkb2RLSGE5UXpfM3VMVFNMdHVocWp3V1pEYTVCeDRvMHhFbWxxbjFhMkZvX2RKRjR1bFZUcHFHUXpqTUxiRTNBcFo0RmRyZERxTV9Rb1JPOTFkRXVhVDZZb1FESDltRk5feGJSMi05QmIzZlJCMDU4MnA3Zlh3SmJGZHl1YUZnajg5dVdNZ1FGMDloaC1yaFo4NGJMVjVSWjBFdzY2YS1qcVZJNFoyWlJxZGVTdEoxVk5iTkgyLURlU1lBU2NjNlMwZ09tTlQxLTQ0RFcxY0dYUWRONENlV21wZV92anJObnpLZmk2VnpfdXUyWXhyU3VycDRtdVhBbDk4Z3U4VEI5bDk5UDBYck1sTG5zX2Z5ekdEellaVlNLVnJBUFRwUzdWNzFQbEFLWGhWZFdmZ0ZRUlZnOW9tOU9ybFliQ0g5UC00cWdrVFVtRmNyTzhkWm5KOGJoc2pnUE83LVdhT0lOd0VpUXZNZ185NUYwcTd3TnVxeEZmRGlQZnc0WkRIUGtwUTBXMlMwbjllaFF0cHhHSUx3bU9ERHRkZ2hrVHhhckVsQzBrYjRNcHFPb1VNdEpScS1HcEJhV3ZsUlNmaTZCcHJUeWhGZHNnV2hseTBnX29DWnJIcnVENFg3SHNTX2NXUVdmMU9paXdaU282OEVGTG5qa3RERDM3aEhiaEdDYzFkejd2VzUzR0NRbEdmbFhhRnpXbGVQMEoxYkhBdUVvUXdFbmxJTWNkTWpCeXhpRHNwb2VmWUtQdkMtekJUZ1wiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqUGxhbm5pbmcgR1RLNC9BZHdhaXRhIFVJIGNvbXBvbmVudHMqKlwifSx7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqRGVzaWduaW5nIGRldmljZSBzZWxlY3Rpb24gYW5kIGRpYWxvZ3MqKlwifSx7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqU2V0dGluZyB0YXJnZXQgY29kZSBzaXplIGxpbWl0KipcIn1dfSJ9LHsidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkRlc2lnbmluZyBHVEs0IEFQSSBzdHJ1Y3R1cmUqKlxuXG4qKlJlZmluaW5nIGJvYXJkIHNlbGVjdGlvbiBwYXJzaW5nIGFuZCBVSSBkZXNpZ24qKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzM4ZWUxNDgxOTFiYzBlYWFhODE1MmM3NzM0XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNTklNcURIQm9nYzQteU0yTGY1OEUzOTNSakJzWF9nSUhfVElzVVRCb1VoZ1JtLTNxMnl4WmFET0dmNTVKYzNVa18wVGZ0UDRVS3k4aHlEaTVDRkpTcjlOMTM5UW5KNnNVbDVQellzeWRGcW5Fcmh1N2tMQU1SUnJYRGlsYk9qOURFSkZBRnpiTWNvOHJPdGpoaG83ck9VaVlHOXc5S0VqS01RQU9icUJtVWMxSE9GLXBzNDcyTTZmcFQyVmx2OUcwa1NuUDNTVTh5eklHSDJ2WWhiazFUd1lMSFNrOGFDb2VVTGlMRU1KeXNqT0dSTVZnTm45WEJ5ZzZ1OFE1X2ItSmRSNGo2Z3dqeDNFZGo1VGtXTV9hUDVPbmZVQktSeHhJNjZLQ05NN0hPNXFHUG9YZHdWWjdtOE1hbktGd0ppQ2pjMWFwX3puNGFFUGJMcThPdVRTcFNxdjk3NVJCMEVHWFNJWUIwT0J6WE5GUFhSWHZLdTlrU3NpZ2pZTHdOOEd6QXFBNWx1Y2tNeFdxRm5ZVE1OamxLM0t2VmtnVU9mUmFPRG0zUmJOZmp2N0VCdG1ITTk2SWw5ekgtTmM1YzIzUTJXcXhXR3Q0LXJTY0xQZG5PVXlGMGxyX0c1ckpxUU4wQnpmbEZ1T2FhaGhtTC1kdDRaeC1La1pLZkxMYVpIV0U4SEVEMTBFcXhrZmVSTDR3MjFrY21mR2xobWh2MUgtcGhOQUg4d0RtdER1eHNMRnQ1TG5QNlJGbmFwaUk1cnV5WVdxUHpLeXliX2xfMklPTEg4UnpYcEd0eS1kb0hjbnpyVVRMcmR4cFdpQU84MWIzTGhUTk1zZ0hnQ012clB2UEdIaVFYSkNOUjdPTXgydnI4T0VwcHVxWUh0cllGTjlFaWVUenJPSTMxTEZNQ2FxQkJLX1N0RE5uZ1U3M3B2Y29CMVV5TUVyOGktU1JUUGpaNl9lTnJUZUctdTF2SVlIV0pvR1FLaXJYQUllbUFKaDBsbjZOOGliZGZ5WjFxNl9DcHUyUGE0WVBMRGRITlhQSUhIVVMtMTBVdUJzZmgtWlBFcjZKcHVqUmZfdDJxUFVIRTFKTGRBZE9ZX1A3M0cwUHBxWWUzMmxmWk9tU1NjVm0taURzRFdjU2N1TzhXNGxhWFhyd2hSN3JIcjRlbnh0bmVtU2VBdElzOVZ6RnJWLWdwY1FoWEhMbFc4VU84V25OUDRoc2h1bmg5Vkd3aUJqcU9MUXM2X185cXkwTnhQakhOMWdqQVNDTS1zZXZaMzB5QVNQQk9aOEVJWUxXR0JKa2FFMTdhcnhMemE1QTZBQ1NvcWFzQklUQklvbWplZ1p0UXVBYkY2bmg4WVd5VEpPa1A0RjhvVWpieFNoNlQtRmVEbXVxaVBPOVZ1ZndHMmd3WkFHVDdfcVRBM3RtYUN4ZFhfNDRxbzZiN196Tm5QV0YydFNraXdabnZCQVpLWWRubFltRnQzSmpiX2I2LVg3Y1hOaHpyNEJldmRDUGVqYklXWHp2d3VOZ2NBVERJZjJ5UW85a2FfeDc2eWVwbU9tZnFXOEdMZ09lN2xkWXhmeWpzcTRVWVlkYUh0TTZqZ2QzVGxBcDI2SEp1dDBsNjcweVhjcHJ6R1d0LVFLVWFfVnFCamRMZVM3UXk3bV91VEdHZDdCeUU1c2o2anpmbTFibGJtRWw1eDNHTVNic2J3RkZRVGptZkhURlpUY1pmTlRodmZCY2luOVlRLURTWjJBU1Q5MG01VzBsZ1c0ZUdjNXlmb2ZoLXV0elVZeU9QOFNlV0c2XzdQMHI3a3RKcE1UME91LXdpN2FoYVNMVUtFMUE3TV9TbXNCZ3FNRzdwalJyblE1R2s0Z0kzMHZ2RWEzZ1FjcmxybUlMd0d1RmdEVzBkVDAwcEpYc3ljSEZvYU1JVFZ4azVXSDJ4bXhIZFE5aDBRWENxOU9EZEFGaUtjTWRjUTF4aEdhTWlrQVVqREE4anZXVXFBRERfS3p5dGxSX04wOXFaWHNtbG5nb3NyV2gwTFAzYWM2eWFaVWJaSWlMRUkzckdiTzctMWVnQ2VyenRTWmtxZWFYMDktYmNOQ0tuN0ZGV0NsOTlxWmpDT3QtTGxNMnN5ZWhzTjd6UWItUlFubnY1MU52d1FvLWtYUFp2bURZQ0dOYkFwNG9QTHJ4MVNuT2tCVUl1dlRra1BWdGE3d3JzemlaQjZXYlNuODkxNEk5ZzkxSWp5T0FGWjhKcHNiTFRaUU8zOXVBa0xyVzV5TVItTjFJdlFwYTBRR1hOeTQ2WWkwQkp4YnZYZVlycXB2b0VLREZQWFdzMVlOanJ6UjJaVElUMWczaHZDQnBIVXBJek52ZXI1VFh3aDJWbXJuQi1FNVBSWHVOWGZkR09WT0VCcVNvWFVqX01ScDdYbElva0NCWG1WY2cxQlE3MlRISVdsdkZPVm02ejhxa3I0dlN3SkZIUmNDRDY2NGtmVDV2aWVGc0xpR3BiLURMdmZza2RhNUhXaXcxV1ZiQnpOR0QwMlhSWjlkampsRVo5dnZISjlYbXdOanhyMElUVzA4eUh4dzZfWS1BOHpYaWlNN3RBcWdmZ2pHLTVMY3UwTTRQc0NRN1dXckhfMnZNU1pRNFdycnhyel9fM2N2T1l4S0pTZWxUaUlOd0NrZDMyTTZMSmY1Q0VVWW96UzRKZjlfazNNWFBCbkxEUzdWNlpMMEpFanpkUlRiUm5Ea09hQ2JUSElSRENNeXRDMEFxb1dVa2NXaWwyaFQ5MmYzSGxXOXE3X1dURnNFOW95MkY3eXVuVzJtWGZ0bnRvd1RIT0ZHY3djRnRDQ05rLUZTNWJkbWFPbEYxRFkwejdNSWtfelVUTTBpa0h1dk9xWmVRR012SVFaTVJSWDBUZkJzZHM5Z2liVkJTNUlPdEJCNjBiMng4S3NQemJfeW52MHk3WUNibGd5X014Z3Btbzc1U3ZyZlBIMUVmQ1RpSThjeTcxNFlJY0ZxMThBczM3NjNlOTA2ZTROa1dscWczSEZ5aXY1WjhNTXBta1hnR3M5LUhNZlFveEFOTWlXeTI4Qmg4SGoxVE1CYjlHbEw5WGJJR2ZTWjBKa3ppY1hfSVd5V1Zta2pvWTRUSjJ3OC1ockFTV1hyZG1HSnR6Vi1oN3k0dnlhS05Sa1dyNWNBTmZha1NNRDJ3N3hVWUNKVm5pNkxvYVlDVnVkdHlteklIYTBOX0dFWkwzSnd4aUUyZnBzNDliQjd5M0d3Q2tCdG0zTnNELWdZcDR2V2VTMXVtVEtReVd1NWVTVXBhZE5nbzJRQjVLN3dlUnF3THFYUGhFOUd3OWl4aEJUM1pPUkVSSFAtUWkyNk9PUXJBSWwtUUZMem1VZm5GUlV2X3RhWTV2U1lYSEVXckJEcDgyMGdlUzd1eGxuVnoxeTdVdHBHbWpCdjNYbEZVd0hFZ1FpaXZIaEpVZHB5U0daRURFVWN5VldTeTBJVmZBemJWWlh1T1VROERNeE5YUS14ZDItR0J4NTYxZkQ1SEFmVjR5UDdneUZVdnVqMWZ5bkFfOFZfelhhZVpIY0RuVV9xUHNkWTJKNktadmtqTjZpOF9Nb2xlOWlWNjB6bTJqU0F2NlNuTjdOZXRXYjY1cTVXMEE4NmpDNmo2OVNINDVQcWNtRk5sR2pCN2JfQ2x6TkUwMmpOU1RQQkR0VEF1a21tYm5IMWhpNnNvOVhmeVJZYlQ2QXFJbEZRN0k4YnlqLUJ2djIwS1Y1cEw4alJWUzA5M1R4NDU4d0U4VkEzTGRhU3VhZ0FVb0E0eDZvbnNBY3U3ajdHdHExUGMwc19xSHBpeWJkQXNxdkprMHRNTFM0MHR6ODAtY3RIMDh4TldxTklva3JJRUVYRDFWM1BfUDJVeVJnRXhqQ0tqd1ZLSnhWejlSZGJybmEwbmluRUkycEJ1Y1haY09rUkM2VUp5cHotdUxkVHY4Tkh3LXZScldRTUtwOGxhNWxzZkNLak51RE5oVUdtRVJnWl81eXcySGVRY001eVdRUy04VUZHMGtZWXE2TDdlYUxFUmc4Ql9WYkNzQ1MtX2JOT04tNnZrbnhaUjBBamdmcmo0RE9wdXIwRFpndFdrOEZlRzVkU3AxX3lKSUMyWHBjRlVOenpvSnB3dHRzZVZPWk85d0N3WUZLTGFFYWJDb3pyOG1WOWRLWTMwMFdTNEpIQmJ2aWNGM1BzTGg0WnUyNm5LVEhGNGxsX3cycGtTZXNQNkFxVWtzLVlxekk5VVdNMnhXMlwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqRGVzaWduaW5nIEdUSzQgQVBJIHN0cnVjdHVyZSoqXCJ9LHtcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipSZWZpbmluZyBib2FyZCBzZWxlY3Rpb24gcGFyc2luZyBhbmQgVUkgZGVzaWduKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX1RIcWhDVmRyM0pXejdxUXVmWUE5Q3pwV3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzM0ODMxYWM4MTkxOGE3YzQzNzdlZmYwMzZlYSIsIm5hbWUiOiJ3cml0ZSIsImFyZ3VtZW50cyI6eyJwYXRoIjoiQ2FyZ28udG9tbCIsImNvbnRlbnQiOiJbcGFja2FnZV1cbm5hbWUgPSBcImZsYXNoZXJcIlxudmVyc2lvbiA9IFwiMC4xLjBcIlxuZWRpdGlvbiA9IFwiMjAyNFwiXG5kZXNjcmlwdGlvbiA9IFwiQSBHVEsgaW50ZXJmYWNlIGZvciBwcmVwYXJpbmcgQUxUIExpbnV4IGltYWdlcyBmb3Igc2luZ2xlLWJvYXJkIGNvbXB1dGVyc1wiXG5saWNlbnNlID0gXCJHUEwtMi4wLW9yLWxhdGVyXCJcblxuW2RlcGVuZGVuY2llc11cbmFkdyA9IHsgcGFja2FnZSA9IFwibGliYWR3YWl0YVwiLCB2ZXJzaW9uID0gXCIwLjhcIiwgZmVhdHVyZXMgPSBbXCJ2MV81XCJdIH1cbmd0ayA9IHsgcGFja2FnZSA9IFwiZ3RrNFwiLCB2ZXJzaW9uID0gXCIwLjEwXCIsIGZlYXR1cmVzID0gW1widjRfMTBcIl0gfVxuIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyMTA4LCJvdXRwdXQiOjEwMTIsImNhY2hlUmVhZCI6MTI4MDAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6ODY5LCJ0b3RhbFRva2VucyI6MTU5MjAsImNvc3QiOnsiaW5wdXQiOjAuMDEwNTQsIm91dHB1dCI6MC4wMzAzNiwiY2FjaGVSZWFkIjowLjAwNjM5OTk5OTk5OTk5OTk5OTQsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA0NzMwMDAwMDAwMDAwMDAxfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg4NDUyMzczLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMyNGIwNWM4MTkxOGEwOTJkOTJjMzhhNDNlNyJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIyMWZkM2RkMCIsInBhcmVudElkIjoiNmNiM2Q4YmIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjA4OjEwLjMyN1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfVEhxaENWZHIzSld6N3FRdWZZQTlDenBXfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzQ4MzFhYzgxOTE4YTdjNDM3N2VmZjAzNmVhIiwidG9vbE5hbWUiOiJ3cml0ZSIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSB3cm90ZSAzMzUgYnl0ZXMgdG8gQ2FyZ28udG9tbCJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODQ5MDMyN319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjYyYWFhNjI2IiwicGFyZW50SWQiOiIyMWZkM2RkMCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDk6NDEuMzY1WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9xWExndWg3Snc1Vkw1M09OTmh5R3JRTjl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzNGJlZmNjODE5MWJkODQ3Y2FlMWFiNGEyOGYiLCJuYW1lIjoid3JpdGUiLCJhcmd1bWVudHMiOnsicGF0aCI6InNyYy9tYWluLnJzIiwiY29udGVudCI6InVzZSBhZHc6OnByZWx1ZGU6Oio7XG51c2UgZ3RrOjp7Z2lvLCBnbGlifTtcbnVzZSBzdGQ6OntjZWxsOjpSZWZDZWxsLCBmcywgcGF0aDo6UGF0aCwgcmM6OlJjfTtcblxuY29uc3QgQVBQX0lEOiAmc3RyID0gXCJvcmcuYWx0bGludXguRmxhc2hlclwiO1xuY29uc3QgQk9BUkRTOiAmc3RyID0gaW5jbHVkZV9zdHIhKFwiLi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvU1VQUE9SVEVELUJPQVJEU1wiKTtcblxuI1tkZXJpdmUoRGVmYXVsdCldXG5zdHJ1Y3QgU3RhdGUge1xuICAgIHNvdXJjZTogT3B0aW9uPFN0cmluZz4sXG4gICAgc291cmNlX2lzX2ltYWdlOiBib29sLFxuICAgIG91dHB1dF9maWxlOiBPcHRpb248U3RyaW5nPixcbiAgICBvdXRwdXRfaXNfZmlsZTogYm9vbCxcbn1cblxuZm4gbWFpbigpIC0+IGdsaWI6OkV4aXRDb2RlIHtcbiAgICBsZXQgYXBwID0gYWR3OjpBcHBsaWNhdGlvbjo6YnVpbGRlcigpLmFwcGxpY2F0aW9uX2lkKEFQUF9JRCkuYnVpbGQoKTtcbiAgICBhcHAuY29ubmVjdF9hY3RpdmF0ZShidWlsZF91aSk7XG4gICAgYXBwLnJ1bigpXG59XG5cbmZuIGJ1aWxkX3VpKGFwcDogJmFkdzo6QXBwbGljYXRpb24pIHtcbiAgICBsZXQgc3RhdGUgPSBSYzo6bmV3KFJlZkNlbGw6Om5ldyhTdGF0ZTo6ZGVmYXVsdCgpKSk7XG5cbiAgICBsZXQgd2luZG93ID0gYWR3OjpBcHBsaWNhdGlvbldpbmRvdzo6YnVpbGRlcigpXG4gICAgICAgIC5hcHBsaWNhdGlvbihhcHApXG4gICAgICAgIC50aXRsZShcIkFMVCBJbWFnZSBXcml0ZXJcIilcbiAgICAgICAgLmRlZmF1bHRfd2lkdGgoNzIwKVxuICAgICAgICAuZGVmYXVsdF9oZWlnaHQoNzYwKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGxldCB0b2FzdF9vdmVybGF5ID0gYWR3OjpUb2FzdE92ZXJsYXk6Om5ldygpO1xuICAgIGxldCB0b29sYmFyX3ZpZXcgPSBhZHc6OlRvb2xiYXJWaWV3OjpuZXcoKTtcbiAgICB0b2FzdF9vdmVybGF5LnNldF9jaGlsZChTb21lKCZ0b29sYmFyX3ZpZXcpKTtcblxuICAgIGxldCBoZWFkZXIgPSBhZHc6OkhlYWRlckJhcjo6bmV3KCk7XG4gICAgbGV0IGFib3V0X2J1dHRvbiA9IGd0azo6QnV0dG9uOjpidWlsZGVyKClcbiAgICAgICAgLmljb25fbmFtZShcImhlbHAtYWJvdXQtc3ltYm9saWNcIilcbiAgICAgICAgLnRvb2x0aXBfdGV4dChcIkFib3V0IEFMVCBJbWFnZSBXcml0ZXJcIilcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgaGVhZGVyLnBhY2tfZW5kKCZhYm91dF9idXR0b24pO1xuICAgIHRvb2xiYXJfdmlldy5hZGRfdG9wX2JhcigmaGVhZGVyKTtcblxuICAgIGxldCBwYWdlID0gYWR3OjpQcmVmZXJlbmNlc1BhZ2U6Om5ldygpO1xuICAgIHBhZ2Uuc2V0X3RpdGxlKFwiQ3JlYXRlIEluc3RhbGxhdGlvbiBNZWRpYVwiKTtcbiAgICBwYWdlLnNldF9kZXNjcmlwdGlvbihTb21lKFxuICAgICAgICBcIlByZXBhcmUgYW4gQUxUIExpbnV4IHJvb3QgZmlsZXN5c3RlbSBvciBkaXNrIGltYWdlIGZvciB5b3VyIGJvYXJkLlwiLFxuICAgICkpO1xuICAgIHRvb2xiYXJfdmlldy5zZXRfY29udGVudChTb21lKCZwYWdlKSk7XG5cbiAgICAvLyBTb3VyY2VcbiAgICBsZXQgc291cmNlX2dyb3VwID0gYWR3OjpQcmVmZXJlbmNlc0dyb3VwOjpidWlsZGVyKClcbiAgICAgICAgLnRpdGxlKFwiSW5zdGFsbGF0aW9uIFNvdXJjZVwiKVxuICAgICAgICAuZGVzY3JpcHRpb24oXCJDaG9vc2UgYSByb290IGZpbGVzeXN0ZW0gYXJjaGl2ZSBvciBhIHJlYWR5LW1hZGUgZGlzayBpbWFnZS5cIilcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBsZXQgc291cmNlX3R5cGVfcm93ID0gYWR3OjpBY3Rpb25Sb3c6OmJ1aWxkZXIoKS50aXRsZShcIlNvdXJjZSB0eXBlXCIpLmJ1aWxkKCk7XG4gICAgbGV0IHNvdXJjZV90eXBlcyA9IGd0azo6Qm94OjpuZXcoZ3RrOjpPcmllbnRhdGlvbjo6SG9yaXpvbnRhbCwgMCk7XG4gICAgc291cmNlX3R5cGVzLmFkZF9jc3NfY2xhc3MoXCJsaW5rZWRcIik7XG4gICAgc291cmNlX3R5cGVzLnNldF92YWxpZ24oZ3RrOjpBbGlnbjo6Q2VudGVyKTtcbiAgICBsZXQgYXJjaGl2ZV9idXR0b24gPSBndGs6OlRvZ2dsZUJ1dHRvbjo6d2l0aF9sYWJlbChcIlJvb3QgZmlsZXN5c3RlbVwiKTtcbiAgICBhcmNoaXZlX2J1dHRvbi5zZXRfYWN0aXZlKHRydWUpO1xuICAgIGxldCBpbWFnZV9idXR0b24gPSBndGs6OlRvZ2dsZUJ1dHRvbjo6d2l0aF9sYWJlbChcIkRpc2sgaW1hZ2VcIik7XG4gICAgaW1hZ2VfYnV0dG9uLnNldF9ncm91cChTb21lKCZhcmNoaXZlX2J1dHRvbikpO1xuICAgIHNvdXJjZV90eXBlcy5hcHBlbmQoJmFyY2hpdmVfYnV0dG9uKTtcbiAgICBzb3VyY2VfdHlwZXMuYXBwZW5kKCZpbWFnZV9idXR0b24pO1xuICAgIHNvdXJjZV90eXBlX3Jvdy5hZGRfc3VmZml4KCZzb3VyY2VfdHlwZXMpO1xuICAgIHNvdXJjZV9ncm91cC5hZGQoJnNvdXJjZV90eXBlX3Jvdyk7XG5cbiAgICBsZXQgc291cmNlX3JvdyA9IGFkdzo6QWN0aW9uUm93OjpidWlsZGVyKClcbiAgICAgICAgLnRpdGxlKFwiTm8gc291cmNlIHNlbGVjdGVkXCIpXG4gICAgICAgIC5zdWJ0aXRsZShcIlN1cHBvcnRlZDogLnRhciwgLnRhci5neiwgLnRhci54elwiKVxuICAgICAgICAuYWN0aXZhdGFibGUodHJ1ZSlcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgc291cmNlX3Jvdy5hZGRfcHJlZml4KCZpbWFnZShcImRvY3VtZW50LW9wZW4tc3ltYm9saWNcIikpO1xuICAgIGxldCBzb3VyY2VfY2hvb3NlID0gZ3RrOjpCdXR0b246OmJ1aWxkZXIoKVxuICAgICAgICAubGFiZWwoXCJDaG9vc2XigKZcIilcbiAgICAgICAgLnZhbGlnbihndGs6OkFsaWduOjpDZW50ZXIpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIHNvdXJjZV9yb3cuYWRkX3N1ZmZpeCgmc291cmNlX2Nob29zZSk7XG4gICAgc291cmNlX3Jvdy5zZXRfYWN0aXZhdGFibGVfd2lkZ2V0KFNvbWUoJnNvdXJjZV9jaG9vc2UpKTtcbiAgICBzb3VyY2VfZ3JvdXAuYWRkKCZzb3VyY2Vfcm93KTtcbiAgICBwYWdlLmFkZCgmc291cmNlX2dyb3VwKTtcblxuICAgIC8vIEhhcmR3YXJlXG4gICAgbGV0IGhhcmR3YXJlX2dyb3VwID0gYWR3OjpQcmVmZXJlbmNlc0dyb3VwOjpidWlsZGVyKClcbiAgICAgICAgLnRpdGxlKFwiVGFyZ2V0IEhhcmR3YXJlXCIpXG4gICAgICAgIC5kZXNjcmlwdGlvbihcIlRoZSBtYXRjaGluZyBib290bG9hZGVyIGFuZCBkZXZpY2UgdHJlZSB3aWxsIGJlIGluc3RhbGxlZC5cIilcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgbGV0IGJvYXJkX25hbWVzID0gc3VwcG9ydGVkX2JvYXJkcygpO1xuICAgIGxldCBib2FyZF9tb2RlbCA9IGd0azo6U3RyaW5nTGlzdDo6bmV3KFxuICAgICAgICAmYm9hcmRfbmFtZXNcbiAgICAgICAgICAgIC5pdGVyKClcbiAgICAgICAgICAgIC5tYXAoU3RyaW5nOjphc19zdHIpXG4gICAgICAgICAgICAuY29sbGVjdDo6PFZlYzxfPj4oKSxcbiAgICApO1xuICAgIGxldCBib2FyZF9yb3cgPSBhZHc6OkNvbWJvUm93OjpidWlsZGVyKClcbiAgICAgICAgLnRpdGxlKFwiQm9hcmRcIilcbiAgICAgICAgLnN1YnRpdGxlKFwiU2VsZWN0IHRoZSBzaW5nbGUtYm9hcmQgY29tcHV0ZXIgbW9kZWxcIilcbiAgICAgICAgLm1vZGVsKCZib2FyZF9tb2RlbClcbiAgICAgICAgLmVuYWJsZV9zZWFyY2godHJ1ZSlcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgaGFyZHdhcmVfZ3JvdXAuYWRkKCZib2FyZF9yb3cpO1xuICAgIHBhZ2UuYWRkKCZoYXJkd2FyZV9ncm91cCk7XG5cbiAgICAvLyBEZXN0aW5hdGlvblxuICAgIGxldCBkZXN0aW5hdGlvbl9ncm91cCA9IGFkdzo6UHJlZmVyZW5jZXNHcm91cDo6YnVpbGRlcigpXG4gICAgICAgIC50aXRsZShcIkRlc3RpbmF0aW9uXCIpXG4gICAgICAgIC5kZXNjcmlwdGlvbihcIldyaXRlIHRvIHJlbW92YWJsZSBtZWRpYSBvciBjcmVhdGUgYW4gaW1hZ2UgZmlsZS5cIilcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgbGV0IGRlc3RpbmF0aW9uX3R5cGVfcm93ID0gYWR3OjpBY3Rpb25Sb3c6OmJ1aWxkZXIoKS50aXRsZShcIk91dHB1dCB0eXBlXCIpLmJ1aWxkKCk7XG4gICAgbGV0IGRlc3RpbmF0aW9uX3R5cGVzID0gZ3RrOjpCb3g6Om5ldyhndGs6Ok9yaWVudGF0aW9uOjpIb3Jpem9udGFsLCAwKTtcbiAgICBkZXN0aW5hdGlvbl90eXBlcy5hZGRfY3NzX2NsYXNzKFwibGlua2VkXCIpO1xuICAgIGRlc3RpbmF0aW9uX3R5cGVzLnNldF92YWxpZ24oZ3RrOjpBbGlnbjo6Q2VudGVyKTtcbiAgICBsZXQgZHJpdmVfYnV0dG9uID0gZ3RrOjpUb2dnbGVCdXR0b246OndpdGhfbGFiZWwoXCJEcml2ZVwiKTtcbiAgICBkcml2ZV9idXR0b24uc2V0X2FjdGl2ZSh0cnVlKTtcbiAgICBsZXQgZmlsZV9idXR0b24gPSBndGs6OlRvZ2dsZUJ1dHRvbjo6d2l0aF9sYWJlbChcIkltYWdlIGZpbGVcIik7XG4gICAgZmlsZV9idXR0b24uc2V0X2dyb3VwKFNvbWUoJmRyaXZlX2J1dHRvbikpO1xuICAgIGRlc3RpbmF0aW9uX3R5cGVzLmFwcGVuZCgmZHJpdmVfYnV0dG9uKTtcbiAgICBkZXN0aW5hdGlvbl90eXBlcy5hcHBlbmQoJmZpbGVfYnV0dG9uKTtcbiAgICBkZXN0aW5hdGlvbl90eXBlX3Jvdy5hZGRfc3VmZml4KCZkZXN0aW5hdGlvbl90eXBlcyk7XG4gICAgZGVzdGluYXRpb25fZ3JvdXAuYWRkKCZkZXN0aW5hdGlvbl90eXBlX3Jvdyk7XG5cbiAgICBsZXQgZHJpdmVfbW9kZWwgPSBndGs6OlN0cmluZ0xpc3Q6Om5ldyhcbiAgICAgICAgJmF2YWlsYWJsZV9kcml2ZXMoKVxuICAgICAgICAgICAgLml0ZXIoKVxuICAgICAgICAgICAgLm1hcChTdHJpbmc6OmFzX3N0cilcbiAgICAgICAgICAgIC5jb2xsZWN0Ojo8VmVjPF8+PigpLFxuICAgICk7XG4gICAgbGV0IGRyaXZlX3JvdyA9IGFkdzo6Q29tYm9Sb3c6OmJ1aWxkZXIoKVxuICAgICAgICAudGl0bGUoXCJTdG9yYWdlIGRldmljZVwiKVxuICAgICAgICAuc3VidGl0bGUoXCJPbmx5IHJlbW92YWJsZSBkZXZpY2VzIGFyZSBzaG93blwiKVxuICAgICAgICAubW9kZWwoJmRyaXZlX21vZGVsKVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBkZXN0aW5hdGlvbl9ncm91cC5hZGQoJmRyaXZlX3Jvdyk7XG5cbiAgICBsZXQgb3V0cHV0X3JvdyA9IGFkdzo6QWN0aW9uUm93OjpidWlsZGVyKClcbiAgICAgICAgLnRpdGxlKFwiQ2hvb3NlIHdoZXJlIHRvIHNhdmUgdGhlIGltYWdlXCIpXG4gICAgICAgIC5zdWJ0aXRsZShcIlJhdyBkaXNrIGltYWdlICguaW1nKVwiKVxuICAgICAgICAudmlzaWJsZShmYWxzZSlcbiAgICAgICAgLmFjdGl2YXRhYmxlKHRydWUpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIG91dHB1dF9yb3cuYWRkX3ByZWZpeCgmaW1hZ2UoXCJkb2N1bWVudC1zYXZlLXN5bWJvbGljXCIpKTtcbiAgICBsZXQgb3V0cHV0X2Nob29zZSA9IGd0azo6QnV0dG9uOjpidWlsZGVyKClcbiAgICAgICAgLmxhYmVsKFwiQ2hvb3Nl4oCmXCIpXG4gICAgICAgIC52YWxpZ24oZ3RrOjpBbGlnbjo6Q2VudGVyKVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBvdXRwdXRfcm93LmFkZF9zdWZmaXgoJm91dHB1dF9jaG9vc2UpO1xuICAgIG91dHB1dF9yb3cuc2V0X2FjdGl2YXRhYmxlX3dpZGdldChTb21lKCZvdXRwdXRfY2hvb3NlKSk7XG4gICAgZGVzdGluYXRpb25fZ3JvdXAuYWRkKCZvdXRwdXRfcm93KTtcbiAgICBwYWdlLmFkZCgmZGVzdGluYXRpb25fZ3JvdXApO1xuXG4gICAgLy8gT3B0aW9ucyBtaXJyb3JpbmcgdGhlIGNvbW1hbmQgbGluZSdzIGNvbW1vbmx5IHVzZWQgc3dpdGNoZXMuXG4gICAgbGV0IG9wdGlvbnNfZ3JvdXAgPSBhZHc6OlByZWZlcmVuY2VzR3JvdXA6OmJ1aWxkZXIoKVxuICAgICAgICAudGl0bGUoXCJPcHRpb25zXCIpXG4gICAgICAgIC5kZXNjcmlwdGlvbihcIlBhcnRpdGlvbmluZyBhbmQgZmlyc3QtYm9vdCBzZXR0aW5nc1wiKVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBsZXQgZmlsZXN5c3RlbV9tb2RlbCA9IGd0azo6U3RyaW5nTGlzdDo6bmV3KCZbXCJleHQ0XCIsIFwiZjJmc1wiXSk7XG4gICAgbGV0IGZpbGVzeXN0ZW1fcm93ID0gYWR3OjpDb21ib1Jvdzo6YnVpbGRlcigpXG4gICAgICAgIC50aXRsZShcIlJvb3QgZmlsZXN5c3RlbVwiKVxuICAgICAgICAubW9kZWwoJmZpbGVzeXN0ZW1fbW9kZWwpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIG9wdGlvbnNfZ3JvdXAuYWRkKCZmaWxlc3lzdGVtX3Jvdyk7XG4gICAgb3B0aW9uc19ncm91cC5hZGQoJnN3aXRjaF9yb3coXG4gICAgICAgIFwiUmVzaXplIHJvb3QgcGFydGl0aW9uXCIsXG4gICAgICAgIFwiR3JvdyB0aGUgcm9vdCBmaWxlc3lzdGVtIHRvIGZpbGwgdGhlIGRlc3RpbmF0aW9uXCIsXG4gICAgICAgIFwidmlldy1mdWxsc2NyZWVuLXN5bWJvbGljXCIsXG4gICAgICAgIHRydWUsXG4gICAgKSk7XG4gICAgb3B0aW9uc19ncm91cC5hZGQoJnN3aXRjaF9yb3coXG4gICAgICAgIFwiU2VwYXJhdGUgYm9vdCBwYXJ0aXRpb25cIixcbiAgICAgICAgXCJDcmVhdGUgYSA1MTIgTWlCIGJvb3QgcGFydGl0aW9uXCIsXG4gICAgICAgIFwiZHJpdmUtaGFyZGRpc2stc3ltYm9saWNcIixcbiAgICAgICAgZmFsc2UsXG4gICAgKSk7XG4gICAgb3B0aW9uc19ncm91cC5hZGQoJnN3aXRjaF9yb3coXG4gICAgICAgIFwiRW5jcnlwdCByb290IHBhcnRpdGlvblwiLFxuICAgICAgICBcIlByb3RlY3QgdGhlIHJvb3QgZmlsZXN5c3RlbSB3aXRoIExVS1NcIixcbiAgICAgICAgXCJjaGFuZ2VzLXByZXZlbnQtc3ltYm9saWNcIixcbiAgICAgICAgZmFsc2UsXG4gICAgKSk7XG4gICAgb3B0aW9uc19ncm91cC5hZGQoJnN3aXRjaF9yb3coXG4gICAgICAgIFwiU2VyaWFsIGNvbnNvbGVcIixcbiAgICAgICAgXCJBZGQgdGhlIHN5c3RlbSBzZXJpYWwgY29uc29sZSB0byBib290IGFyZ3VtZW50c1wiLFxuICAgICAgICBcInV0aWxpdGllcy10ZXJtaW5hbC1zeW1ib2xpY1wiLFxuICAgICAgICBmYWxzZSxcbiAgICApKTtcbiAgICBwYWdlLmFkZCgmb3B0aW9uc19ncm91cCk7XG5cbiAgICBsZXQgYWR2YW5jZWRfZ3JvdXAgPSBhZHc6OlByZWZlcmVuY2VzR3JvdXA6OmJ1aWxkZXIoKS50aXRsZShcIkFkdmFuY2VkXCIpLmJ1aWxkKCk7XG4gICAgbGV0IGVmaV9tb2RlbCA9IGd0azo6U3RyaW5nTGlzdDo6bmV3KCZbXCJOb25lXCIsIFwiRUZJIChHUFQpXCIsIFwiRUZJIChNQlIpXCJdKTtcbiAgICBhZHZhbmNlZF9ncm91cC5hZGQoXG4gICAgICAgICZhZHc6OkNvbWJvUm93OjpidWlsZGVyKClcbiAgICAgICAgICAgIC50aXRsZShcIkVGSSBzeXN0ZW0gcGFydGl0aW9uXCIpXG4gICAgICAgICAgICAubW9kZWwoJmVmaV9tb2RlbClcbiAgICAgICAgICAgIC5idWlsZCgpLFxuICAgICk7XG4gICAgbGV0IHZuY19tb2RlbCA9IGd0azo6U3RyaW5nTGlzdDo6bmV3KCZbXCJVc2UgaW1hZ2UgZGVmYXVsdFwiLCBcIkVuYWJsZWRcIiwgXCJEaXNhYmxlZFwiXSk7XG4gICAgYWR2YW5jZWRfZ3JvdXAuYWRkKFxuICAgICAgICAmYWR3OjpDb21ib1Jvdzo6YnVpbGRlcigpXG4gICAgICAgICAgICAudGl0bGUoXCJGaXJzdC1ib290IFZOQ1wiKVxuICAgICAgICAgICAgLm1vZGVsKCZ2bmNfbW9kZWwpXG4gICAgICAgICAgICAuYnVpbGQoKSxcbiAgICApO1xuICAgIGxldCBleHRyYV9yb3cgPSBhZHc6OkFjdGlvblJvdzo6YnVpbGRlcigpXG4gICAgICAgIC50aXRsZShcIkV4dHJhIG9wdGlvbnMgZmlsZVwiKVxuICAgICAgICAuc3VidGl0bGUoXCJPcHRpb25hbCBpbnN0YWxsZXIgY29uZmlndXJhdGlvblwiKVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBleHRyYV9yb3cuYWRkX3N1ZmZpeChcbiAgICAgICAgJmd0azo6QnV0dG9uOjpidWlsZGVyKClcbiAgICAgICAgICAgIC5pY29uX25hbWUoXCJkb2N1bWVudC1vcGVuLXN5bWJvbGljXCIpXG4gICAgICAgICAgICAudG9vbHRpcF90ZXh0KFwiQ2hvb3NlIGV4dHJhIG9wdGlvbnMgZmlsZVwiKVxuICAgICAgICAgICAgLnZhbGlnbihndGs6OkFsaWduOjpDZW50ZXIpXG4gICAgICAgICAgICAuYnVpbGQoKSxcbiAgICApO1xuICAgIGFkdmFuY2VkX2dyb3VwLmFkZCgmZXh0cmFfcm93KTtcbiAgICBwYWdlLmFkZCgmYWR2YW5jZWRfZ3JvdXApO1xuXG4gICAgbGV0IGFjdGlvbl9iYXIgPSBndGs6OkJveDo6bmV3KGd0azo6T3JpZW50YXRpb246Okhvcml6b250YWwsIDEyKTtcbiAgICBhY3Rpb25fYmFyLnNldF9tYXJnaW5fdG9wKDEyKTtcbiAgICBhY3Rpb25fYmFyLnNldF9tYXJnaW5fYm90dG9tKDEyKTtcbiAgICBhY3Rpb25fYmFyLnNldF9tYXJnaW5fc3RhcnQoMTIpO1xuICAgIGFjdGlvbl9iYXIuc2V0X21hcmdpbl9lbmQoMTIpO1xuICAgIGxldCBhY3Rpb25faGludCA9IGd0azo6TGFiZWw6Om5ldyhTb21lKFwiTm90aGluZyB3aWxsIGJlIHdyaXR0ZW4gdW50aWwgeW91IGNvbmZpcm0uXCIpKTtcbiAgICBhY3Rpb25faGludC5hZGRfY3NzX2NsYXNzKFwiZGltLWxhYmVsXCIpO1xuICAgIGFjdGlvbl9oaW50LnNldF9oZXhwYW5kKHRydWUpO1xuICAgIGFjdGlvbl9oaW50LnNldF9oYWxpZ24oZ3RrOjpBbGlnbjo6U3RhcnQpO1xuICAgIGxldCBzdGFydF9idXR0b24gPSBndGs6OkJ1dHRvbjo6d2l0aF9sYWJlbChcIlJldmlldyBhbmQgV3JpdGVcIik7XG4gICAgc3RhcnRfYnV0dG9uLmFkZF9jc3NfY2xhc3MoXCJzdWdnZXN0ZWQtYWN0aW9uXCIpO1xuICAgIHN0YXJ0X2J1dHRvbi5zZXRfc2Vuc2l0aXZlKGZhbHNlKTtcbiAgICBhY3Rpb25fYmFyLmFwcGVuZCgmYWN0aW9uX2hpbnQpO1xuICAgIGFjdGlvbl9iYXIuYXBwZW5kKCZzdGFydF9idXR0b24pO1xuICAgIHRvb2xiYXJfdmlldy5hZGRfYm90dG9tX2JhcigmYWN0aW9uX2Jhcik7XG5cbiAgICB3aW5kb3cuc2V0X2NvbnRlbnQoU29tZSgmdG9hc3Rfb3ZlcmxheSkpO1xuXG4gICAgLy8gSW50ZXJhY3Rpb25zXG4gICAge1xuICAgICAgICBsZXQgd2luZG93ID0gd2luZG93LmNsb25lKCk7XG4gICAgICAgIGFib3V0X2J1dHRvbi5jb25uZWN0X2NsaWNrZWQobW92ZSB8X3wge1xuICAgICAgICAgICAgYWR3OjpBYm91dERpYWxvZzo6YnVpbGRlcigpXG4gICAgICAgICAgICAgICAgLmFwcGxpY2F0aW9uX25hbWUoXCJBTFQgSW1hZ2UgV3JpdGVyXCIpXG4gICAgICAgICAgICAgICAgLmFwcGxpY2F0aW9uX2ljb24oQVBQX0lEKVxuICAgICAgICAgICAgICAgIC5kZXZlbG9wZXJfbmFtZShcIkFMVCBMaW51eCBUZWFtXCIpXG4gICAgICAgICAgICAgICAgLnZlcnNpb24oZW52IShcIkNBUkdPX1BLR19WRVJTSU9OXCIpKVxuICAgICAgICAgICAgICAgIC5jb21tZW50cyhcIlByZXBhcmUgQUxUIExpbnV4IGluc3RhbGxhdGlvbiBtZWRpYSBmb3Igc3VwcG9ydGVkIHNpbmdsZS1ib2FyZCBjb21wdXRlcnMuXCIpXG4gICAgICAgICAgICAgICAgLndlYnNpdGUoXCJodHRwczovL3d3dy5hbHRsaW51eC5vcmdcIilcbiAgICAgICAgICAgICAgICAubGljZW5zZV90eXBlKGd0azo6TGljZW5zZTo6R3BsMjApXG4gICAgICAgICAgICAgICAgLmJ1aWxkKClcbiAgICAgICAgICAgICAgICAucHJlc2VudChTb21lKCZ3aW5kb3cpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHtcbiAgICAgICAgbGV0IHNvdXJjZV9yb3cgPSBzb3VyY2Vfcm93LmNsb25lKCk7XG4gICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGFyY2hpdmVfYnV0dG9uLmNvbm5lY3RfdG9nZ2xlZChtb3ZlIHxidXR0b258IHtcbiAgICAgICAgICAgIGlmIGJ1dHRvbi5pc19hY3RpdmUoKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLnNvdXJjZV9pc19pbWFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHNvdXJjZV9yb3cuc2V0X3N1YnRpdGxlKFwiU3VwcG9ydGVkOiAudGFyLCAudGFyLmd6LCAudGFyLnh6XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAge1xuICAgICAgICBsZXQgc291cmNlX3JvdyA9IHNvdXJjZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAgICAgICAgaW1hZ2VfYnV0dG9uLmNvbm5lY3RfdG9nZ2xlZChtb3ZlIHxidXR0b258IHtcbiAgICAgICAgICAgIGlmIGJ1dHRvbi5pc19hY3RpdmUoKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLnNvdXJjZV9pc19pbWFnZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgc291cmNlX3Jvdy5zZXRfc3VidGl0bGUoXCJTdXBwb3J0ZWQ6IC5pbWcsIC5pbWcueHpcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB7XG4gICAgICAgIGxldCB3aW5kb3cgPSB3aW5kb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHJvdyA9IHNvdXJjZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAgICAgICAgbGV0IGJvYXJkX3JvdyA9IGJvYXJkX3Jvdy5jbG9uZSgpO1xuICAgICAgICBsZXQgZHJpdmVfcm93ID0gZHJpdmVfcm93LmNsb25lKCk7XG4gICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbiAgICAgICAgc291cmNlX2Nob29zZS5jb25uZWN0X2NsaWNrZWQobW92ZSB8X3wge1xuICAgICAgICAgICAgbGV0IGNob29zZXIgPSBndGs6OkZpbGVDaG9vc2VyTmF0aXZlOjpidWlsZGVyKClcbiAgICAgICAgICAgICAgICAudGl0bGUoXCJDaG9vc2UgSW5zdGFsbGF0aW9uIFNvdXJjZVwiKVxuICAgICAgICAgICAgICAgIC50cmFuc2llbnRfZm9yKCZ3aW5kb3cpXG4gICAgICAgICAgICAgICAgLmFjdGlvbihndGs6OkZpbGVDaG9vc2VyQWN0aW9uOjpPcGVuKVxuICAgICAgICAgICAgICAgIC5hY2NlcHRfbGFiZWwoXCJTZWxlY3RcIilcbiAgICAgICAgICAgICAgICAuY2FuY2VsX2xhYmVsKFwiQ2FuY2VsXCIpXG4gICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG4gICAgICAgICAgICBsZXQgcm93ID0gcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuICAgICAgICAgICAgbGV0IGJvYXJkX3JvdyA9IGJvYXJkX3Jvdy5jbG9uZSgpO1xuICAgICAgICAgICAgbGV0IGRyaXZlX3JvdyA9IGRyaXZlX3Jvdy5jbG9uZSgpO1xuICAgICAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICAgICAgY2hvb3Nlci5jb25uZWN0X3Jlc3BvbnNlKG1vdmUgfGRpYWxvZywgcmVzcG9uc2V8IHtcbiAgICAgICAgICAgICAgICBpZiByZXNwb25zZSA9PSBndGs6OlJlc3BvbnNlVHlwZTo6QWNjZXB0XG4gICAgICAgICAgICAgICAgICAgICYmIGxldCBTb21lKHBhdGgpID0gZGlhbG9nLmZpbGUoKS5hbmRfdGhlbih8ZnwgZi5wYXRoKCkpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3RpdGxlKCZkaXNwbGF5X25hbWUoJnBhdGgpKTtcbiAgICAgICAgICAgICAgICAgICAgcm93LnNldF9zdWJ0aXRsZShwYXRoLnBhcmVudCgpLmFuZF90aGVuKFBhdGg6OnRvX3N0cikudW53cmFwX29yKFwiXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLnNvdXJjZSA9IFNvbWUocGF0aC5kaXNwbGF5KCkudG9fc3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCAmYm9hcmRfcm93LCAmZHJpdmVfcm93KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGlhbG9nLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY2hvb3Nlci5zaG93KCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB7XG4gICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICBib2FyZF9yb3cuY29ubmVjdF9zZWxlY3RlZF9ub3RpZnkobW92ZSB8cm93fCB7XG4gICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCByb3csICZkcml2ZV9yb3cpXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB7XG4gICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGxldCBib2FyZF9yb3cgPSBib2FyZF9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICBkcml2ZV9yb3cuY29ubmVjdF9zZWxlY3RlZF9ub3RpZnkobW92ZSB8cm93fCB7XG4gICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCAmYm9hcmRfcm93LCByb3cpXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB7XG4gICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IG91dHB1dF9yb3cgPSBvdXRwdXRfcm93LmNsb25lKCk7XG4gICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGxldCBib2FyZF9yb3cgPSBib2FyZF9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICBmaWxlX2J1dHRvbi5jb25uZWN0X3RvZ2dsZWQobW92ZSB8YnV0dG9ufCB7XG4gICAgICAgICAgICBsZXQgZmlsZSA9IGJ1dHRvbi5pc19hY3RpdmUoKTtcbiAgICAgICAgICAgIGRyaXZlX3Jvdy5zZXRfdmlzaWJsZSghZmlsZSk7XG4gICAgICAgICAgICBvdXRwdXRfcm93LnNldF92aXNpYmxlKGZpbGUpO1xuICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLm91dHB1dF9pc19maWxlID0gZmlsZTtcbiAgICAgICAgICAgIHVwZGF0ZV9zdGFydCgmc3RhcnRfYnV0dG9uLCAmc3RhdGUsICZib2FyZF9yb3csICZkcml2ZV9yb3cpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAge1xuICAgICAgICBsZXQgd2luZG93ID0gd2luZG93LmNsb25lKCk7XG4gICAgICAgIGxldCByb3cgPSBvdXRwdXRfcm93LmNsb25lKCk7XG4gICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGxldCBib2FyZF9yb3cgPSBib2FyZF9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IGRyaXZlX3JvdyA9IGRyaXZlX3Jvdy5jbG9uZSgpO1xuICAgICAgICBsZXQgc3RhcnRfYnV0dG9uID0gc3RhcnRfYnV0dG9uLmNsb25lKCk7XG4gICAgICAgIG91dHB1dF9jaG9vc2UuY29ubmVjdF9jbGlja2VkKG1vdmUgfF98IHtcbiAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4gICAgICAgICAgICAgICAgLnRpdGxlKFwiQ3JlYXRlIERpc2sgSW1hZ2VcIilcbiAgICAgICAgICAgICAgICAudHJhbnNpZW50X2Zvcigmd2luZG93KVxuICAgICAgICAgICAgICAgIC5hY3Rpb24oZ3RrOjpGaWxlQ2hvb3NlckFjdGlvbjo6U2F2ZSlcbiAgICAgICAgICAgICAgICAuYWNjZXB0X2xhYmVsKFwiU2VsZWN0XCIpXG4gICAgICAgICAgICAgICAgLmNhbmNlbF9sYWJlbChcIkNhbmNlbFwiKVxuICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuICAgICAgICAgICAgY2hvb3Nlci5zZXRfY3VycmVudF9uYW1lKFwiYWx0LWxpbnV4LmltZ1wiKTtcbiAgICAgICAgICAgIGxldCByb3cgPSByb3cuY2xvbmUoKTtcbiAgICAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgZHJpdmVfcm93ID0gZHJpdmVfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgc3RhcnRfYnV0dG9uID0gc3RhcnRfYnV0dG9uLmNsb25lKCk7XG4gICAgICAgICAgICBjaG9vc2VyLmNvbm5lY3RfcmVzcG9uc2UobW92ZSB8ZGlhbG9nLCByZXNwb25zZXwge1xuICAgICAgICAgICAgICAgIGlmIHJlc3BvbnNlID09IGd0azo6UmVzcG9uc2VUeXBlOjpBY2NlcHRcbiAgICAgICAgICAgICAgICAgICAgJiYgbGV0IFNvbWUocGF0aCkgPSBkaWFsb2cuZmlsZSgpLmFuZF90aGVuKHxmfCBmLnBhdGgoKSlcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJvdy5zZXRfdGl0bGUoJmRpc3BsYXlfbmFtZSgmcGF0aCkpO1xuICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBhdGgucGFyZW50KCkuYW5kX3RoZW4oUGF0aDo6dG9fc3RyKS51bndyYXBfb3IoXCJcIikpO1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkub3V0cHV0X2ZpbGUgPSBTb21lKHBhdGguZGlzcGxheSgpLnRvX3N0cmluZygpKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlX3N0YXJ0KCZzdGFydF9idXR0b24sICZzdGF0ZSwgJmJvYXJkX3JvdywgJmRyaXZlX3Jvdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRpYWxvZy5kZXN0cm95KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNob29zZXIuc2hvdygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAge1xuICAgICAgICBsZXQgd2luZG93ID0gd2luZG93LmNsb25lKCk7XG4gICAgICAgIGxldCB0b2FzdF9vdmVybGF5ID0gdG9hc3Rfb3ZlcmxheS5jbG9uZSgpO1xuICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gICAgICAgIGxldCBib2FyZF9uYW1lcyA9IGJvYXJkX25hbWVzLmNsb25lKCk7XG4gICAgICAgIGxldCBkcml2ZV9tb2RlbCA9IGRyaXZlX21vZGVsLmNsb25lKCk7XG4gICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgc3RhcnRfYnV0dG9uLmNvbm5lY3RfY2xpY2tlZChtb3ZlIHxffCB7XG4gICAgICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5ib3Jyb3coKTtcbiAgICAgICAgICAgIGxldCBib2FyZCA9IGJvYXJkX25hbWVzXG4gICAgICAgICAgICAgICAgLmdldChib2FyZF9yb3cuc2VsZWN0ZWQoKSBhcyB1c2l6ZSlcbiAgICAgICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuICAgICAgICAgICAgICAgIC51bndyYXBfb3IoXCJVbmtub3duIGJvYXJkXCIpO1xuICAgICAgICAgICAgbGV0IGRlc3RpbmF0aW9uID0gaWYgc3RhdGUub3V0cHV0X2lzX2ZpbGUge1xuICAgICAgICAgICAgICAgIHN0YXRlLm91dHB1dF9maWxlLmFzX2RlcmVmKCkudW53cmFwX29yKFwiTm8gb3V0cHV0IGZpbGVcIilcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZHJpdmVfbW9kZWxcbiAgICAgICAgICAgICAgICAgICAgLnN0cmluZyhkcml2ZV9yb3cuc2VsZWN0ZWQoKSlcbiAgICAgICAgICAgICAgICAgICAgLm1hcCh8c3wgcy50b19zdHJpbmcoKSlcbiAgICAgICAgICAgICAgICAgICAgLnVud3JhcF9vcl9lbHNlKHx8IFwiTm8gZHJpdmVcIi5pbnRvKCkpXG4gICAgICAgICAgICAgICAgICAgIC5sZWFrKClcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBsZXQgZGlhbG9nID0gYWR3OjpBbGVydERpYWxvZzo6YnVpbGRlcigpXG4gICAgICAgICAgICAgICAgLmhlYWRpbmcoXCJSZWFkeSB0byB3cml0ZT9cIilcbiAgICAgICAgICAgICAgICAuYm9keShmb3JtYXQhKFxuICAgICAgICAgICAgICAgICAgICBcIkJvYXJkOiB7Ym9hcmR9XFxuRGVzdGluYXRpb246IHtkZXN0aW5hdGlvbn1cXG5cXG5UaGlzIGlzIGFuIGludGVyZmFjZSBwcmV2aWV3LiBObyBkYXRhIHdpbGwgYmUgd3JpdHRlbi5cIlxuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG4gICAgICAgICAgICBkaWFsb2cuYWRkX3Jlc3BvbnNlKFwiY2FuY2VsXCIsIFwiQ2FuY2VsXCIpO1xuICAgICAgICAgICAgZGlhbG9nLmFkZF9yZXNwb25zZShcIndyaXRlXCIsIFwiV3JpdGVcIik7XG4gICAgICAgICAgICBkaWFsb2cuc2V0X3Jlc3BvbnNlX2FwcGVhcmFuY2UoXCJ3cml0ZVwiLCBhZHc6OlJlc3BvbnNlQXBwZWFyYW5jZTo6RGVzdHJ1Y3RpdmUpO1xuICAgICAgICAgICAgZGlhbG9nLnNldF9kZWZhdWx0X3Jlc3BvbnNlKFNvbWUoXCJjYW5jZWxcIikpO1xuICAgICAgICAgICAgZGlhbG9nLnNldF9jbG9zZV9yZXNwb25zZShcImNhbmNlbFwiKTtcbiAgICAgICAgICAgIGxldCB0b2FzdF9vdmVybGF5ID0gdG9hc3Rfb3ZlcmxheS5jbG9uZSgpO1xuICAgICAgICAgICAgZGlhbG9nLmNvbm5lY3RfcmVzcG9uc2UoU29tZShcIndyaXRlXCIpLCBtb3ZlIHxfLCBffCB7XG4gICAgICAgICAgICAgICAgdG9hc3Rfb3ZlcmxheS5hZGRfdG9hc3QoYWR3OjpUb2FzdDo6bmV3KFwiRmxhc2hpbmcgaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgcHJldmlld1wiKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGRpYWxvZy5wcmVzZW50KFNvbWUoJndpbmRvdykpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB3aW5kb3cucHJlc2VudCgpO1xufVxuXG5mbiBpbWFnZShpY29uX25hbWU6ICZzdHIpIC0+IGd0azo6SW1hZ2Uge1xuICAgIGxldCBpbWFnZSA9IGd0azo6SW1hZ2U6OmZyb21faWNvbl9uYW1lKGljb25fbmFtZSk7XG4gICAgaW1hZ2Uuc2V0X3BpeGVsX3NpemUoMjApO1xuICAgIGltYWdlXG59XG5cbmZuIHN3aXRjaF9yb3codGl0bGU6ICZzdHIsIHN1YnRpdGxlOiAmc3RyLCBpY29uX25hbWU6ICZzdHIsIGFjdGl2ZTogYm9vbCkgLT4gYWR3OjpTd2l0Y2hSb3cge1xuICAgIGxldCByb3cgPSBhZHc6OlN3aXRjaFJvdzo6YnVpbGRlcigpXG4gICAgICAgIC50aXRsZSh0aXRsZSlcbiAgICAgICAgLnN1YnRpdGxlKHN1YnRpdGxlKVxuICAgICAgICAuYWN0aXZlKGFjdGl2ZSlcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgcm93LmFkZF9wcmVmaXgoJmltYWdlKGljb25fbmFtZSkpO1xuICAgIHJvd1xufVxuXG5mbiBkaXNwbGF5X25hbWUocGF0aDogJlBhdGgpIC0+IFN0cmluZyB7XG4gICAgcGF0aC5maWxlX25hbWUoKVxuICAgICAgICAuYW5kX3RoZW4ofG5hbWV8IG5hbWUudG9fc3RyKCkpXG4gICAgICAgIC51bndyYXBfb3IoXCJTZWxlY3RlZCBmaWxlXCIpXG4gICAgICAgIC50b19vd25lZCgpXG59XG5cbmZuIHVwZGF0ZV9zdGFydChcbiAgICBidXR0b246ICZndGs6OkJ1dHRvbixcbiAgICBzdGF0ZTogJlJjPFJlZkNlbGw8U3RhdGU+PixcbiAgICBib2FyZDogJmFkdzo6Q29tYm9Sb3csXG4gICAgZHJpdmU6ICZhZHc6OkNvbWJvUm93LFxuKSB7XG4gICAgbGV0IHN0YXRlID0gc3RhdGUuYm9ycm93KCk7XG4gICAgbGV0IGhhc19kZXN0aW5hdGlvbiA9IGlmIHN0YXRlLm91dHB1dF9pc19maWxlIHtcbiAgICAgICAgc3RhdGUub3V0cHV0X2ZpbGUuaXNfc29tZSgpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgZHJpdmUubW9kZWwoKS5tYXAofG18IG0ubl9pdGVtcygpID4gMCkudW53cmFwX29yKGZhbHNlKVxuICAgIH07XG4gICAgYnV0dG9uLnNldF9zZW5zaXRpdmUoc3RhdGUuc291cmNlLmlzX3NvbWUoKSAmJiBib2FyZC5zZWxlY3RlZCgpICE9IGd0azo6SU5WQUxJRF9MSVNUX1BPU0lUSU9OICYmIGhhc19kZXN0aW5hdGlvbik7XG59XG5cbmZuIHN1cHBvcnRlZF9ib2FyZHMoKSAtPiBWZWM8U3RyaW5nPiB7XG4gICAgbGV0IG11dCByZXN1bHQgPSBWZWM6Om5ldygpO1xuICAgIGxldCBtdXQgZmFtaWx5ID0gXCJPdGhlclwiO1xuICAgIGZvciBsaW5lIGluIEJPQVJEUy5saW5lcygpIHtcbiAgICAgICAgbGV0IGxpbmUgPSBsaW5lLnRyaW0oKTtcbiAgICAgICAgaWYgbGluZS5pc19lbXB0eSgpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIGxldCBTb21lKGhlYWRpbmcpID0gbGluZS5zdHJpcF9zdWZmaXgoJzonKSB7XG4gICAgICAgICAgICBmYW1pbHkgPSBoZWFkaW5nO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIGJvYXJkIGluIGxpbmUuc3BsaXRfd2hpdGVzcGFjZSgpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGZvcm1hdCEoXCJ7Ym9hcmR9ICDCtyAge2ZhbWlseX1cIikpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlc3VsdFxufVxuXG5mbiBhdmFpbGFibGVfZHJpdmVzKCkgLT4gVmVjPFN0cmluZz4ge1xuICAgIGxldCBtdXQgZHJpdmVzID0gVmVjOjpuZXcoKTtcbiAgICBsZXQgT2soZW50cmllcykgPSBmczo6cmVhZF9kaXIoXCIvc3lzL2Jsb2NrXCIpIGVsc2Uge1xuICAgICAgICByZXR1cm4gZHJpdmVzO1xuICAgIH07XG4gICAgZm9yIGVudHJ5IGluIGVudHJpZXMuZmxhdHRlbigpIHtcbiAgICAgICAgbGV0IG5hbWUgPSBlbnRyeS5maWxlX25hbWUoKS50b19zdHJpbmdfbG9zc3koKS5pbnRvX293bmVkKCk7XG4gICAgICAgIGlmIG5hbWUuc3RhcnRzX3dpdGgoXCJsb29wXCIpIHx8IG5hbWUuc3RhcnRzX3dpdGgoXCJyYW1cIikgfHwgbmFtZS5zdGFydHNfd2l0aChcInpyYW1cIikge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHJlbW92YWJsZSA9IGZzOjpyZWFkX3RvX3N0cmluZyhlbnRyeS5wYXRoKCkuam9pbihcInJlbW92YWJsZVwiKSlcbiAgICAgICAgICAgIC5tYXAofHZhbHVlfCB2YWx1ZS50cmltKCkgPT0gXCIxXCIpXG4gICAgICAgICAgICAudW53cmFwX29yKGZhbHNlKTtcbiAgICAgICAgaWYgIXJlbW92YWJsZSAmJiAhbmFtZS5zdGFydHNfd2l0aChcIm1tY2Jsa1wiKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgc2VjdG9ycyA9IGZzOjpyZWFkX3RvX3N0cmluZyhlbnRyeS5wYXRoKCkuam9pbihcInNpemVcIikpXG4gICAgICAgICAgICAub2soKVxuICAgICAgICAgICAgLmFuZF90aGVuKHx2YWx1ZXwgdmFsdWUudHJpbSgpLnBhcnNlOjo8dTY0PigpLm9rKCkpXG4gICAgICAgICAgICAudW53cmFwX29yKDApO1xuICAgICAgICBsZXQgc2l6ZSA9IGZvcm1hdF9zaXplKHNlY3RvcnMuc2F0dXJhdGluZ19tdWwoNTEyKSk7XG4gICAgICAgIGxldCBtb2RlbCA9IGZzOjpyZWFkX3RvX3N0cmluZyhlbnRyeS5wYXRoKCkuam9pbihcImRldmljZS9tb2RlbFwiKSlcbiAgICAgICAgICAgIC51bndyYXBfb3JfZGVmYXVsdCgpXG4gICAgICAgICAgICAudHJpbSgpXG4gICAgICAgICAgICAudG9fb3duZWQoKTtcbiAgICAgICAgaWYgbW9kZWwuaXNfZW1wdHkoKSB7XG4gICAgICAgICAgICBkcml2ZXMucHVzaChmb3JtYXQhKFwiL2Rldi97bmFtZX0gIMK3ICB7c2l6ZX1cIikpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZHJpdmVzLnB1c2goZm9ybWF0IShcInttb2RlbH0gIMK3ICB7c2l6ZX0gIMK3ICAvZGV2L3tuYW1lfVwiKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZHJpdmVzLnNvcnQoKTtcbiAgICBkcml2ZXNcbn1cblxuZm4gZm9ybWF0X3NpemUoYnl0ZXM6IHU2NCkgLT4gU3RyaW5nIHtcbiAgICBjb25zdCBHSUI6IGY2NCA9IDEwMjQuMCAqIDEwMjQuMCAqIDEwMjQuMDtcbiAgICBjb25zdCBNSUI6IGY2NCA9IDEwMjQuMCAqIDEwMjQuMDtcbiAgICBpZiBieXRlcyBhcyBmNjQgPj0gR0lCIHtcbiAgICAgICAgZm9ybWF0IShcIns6LjF9IEdCXCIsIGJ5dGVzIGFzIGY2NCAvIEdJQilcbiAgICB9IGVsc2Uge1xuICAgICAgICBmb3JtYXQhKFwiezouMH0gTUJcIiwgYnl0ZXMgYXMgZjY0IC8gTUlCKVxuICAgIH1cbn1cbiJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MjExNSwib3V0cHV0Ijo0OTY3LCJjYWNoZVJlYWQiOjEzODI0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjAsInRvdGFsVG9rZW5zIjoyMDkwNiwiY29zdCI6eyJpbnB1dCI6MC4wMTA1NzUwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4xNDkwMSwiY2FjaGVSZWFkIjowLjAwNjkxMiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMTY2NDk3fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg4NDkwMzI4LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzM0YWJkMDg4MTkxYjUwMDhjYzliZTE3MDY4OCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJmNDFmMGU1MCIsInBhcmVudElkIjoiNjJhYWE2MjYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjA5OjQxLjM3MloiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfcVhMZ3VoN0p3NVZMNTNPTk5oeUdyUU45fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzRiZWZjYzgxOTFiZDg0N2NhZTFhYjRhMjhmIiwidG9vbE5hbWUiOiJ3cml0ZSIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSB3cm90ZSAxODcxMCBieXRlcyB0byBzcmMvbWFpbi5ycyJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODU4MTM3Mn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImNhYjQxZGUzIiwicGFyZW50SWQiOiJmNDFmMGU1MCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDk6NDcuMzk2WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipGaXhpbmcgbGVhayBtZXRob2QgYW5kIGRlZmF1bHQgc2VsZWN0aW9uKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNhN2ViOTg4MTkxOWQ1ZWU0ZDcwNjBmYzUxZFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTU9yWVV4ZTEtUjRJU0V2OVJTWVo0VE5TcklaVWthUmpncVkwblA3bXNUa1JMaFhsVEFWc1BuU2Faa05hUHdyWTJBU0RycXdSbDhXUEZOZWhtVDQyTW5vOVkxanJpQkcyallrdlNHZjRPazZLWHp5cTFsOGpjaG12dFQtTmV2SDVoUHAyU3p4SFpuLTA1MUZfdDRjQi00S0k4cS1GWnIydWpfZmV0RFpyOU93R0RxZThmaVNDY3RoMm5LUVJHbFVoSExCZjZUdWFmN0s3RzNVQ3VmRFNEZjJUcHpZcDNHTThlR1VVTEd2cV9xSUdFYm95S213OHBZeFhfNFAtaHZ0ZVVKcWlkSHU3OVhERnlTcXgzeHp4VGUyZXJwdmNGeFpZMXNoNkwwdHlUQzBQZldYSmVfYlJHdURnZlN6VlRpOXB4cVpzcHdDNHBNSml6MV9PRU1KQ2VWbzE4eDdTcUhUd3VudE5fZlVKQ2RPOHhaZWptVGlGU0NMdFJPQnVTWkctTFJnNktWd21WcWdVWXVScXdnajJ2Ry10RWJTN2R1dkdYWUNYSF9tNkVnRXJhS3huVGNuQ1R2MGs1T2FHUVFUWlEtX3ZZNUlrcnd3U2hwZjEtZ2VSNHhLTUJmSFBzUVhSZ3A5c2JwZTRwcnh0NXdnLV9PU1dpZ0tSdmtaNmJBdU9xb3FVckpqdDloS2JFWmc2ZjZQM1Z4NGRkUXhmam45djZNRGYxdy1oSlZRTVlSN0FIZjhzOEM1M1pjSUdVdll1aEVkTjBHSS1wemVKQ3lNM2dPTWhEeE5vdnVUVkFjRlpJU0o4c3l3NDFKMHU5U1JGVHUtRk5hcmx2R1R3ZzlQWXpJaWFTZFE2QjI5dV8tVi16MGpGN01FZmxZRFRFQlhZMVN6N3owOEIwM2ZvVzJXRVhjVXFCU3EycWlMeXVLRTJPVnFvOWZ2RlN4bkZ3LUZ1OW1FZDZzVE5kWEpoX2I0U0dkakFjT3p2b1hHdFZKRGhFU0lQbi10Zk9KUVlFVXc5b3JnQ1hMaXRGc3VkZ1VlNkF5WlpjQUp0N0xKUzRMU0tOY1E3LWtTVWFtVktUSExGVFZncnNYOHVCNjFLbXpLbVlVVzZ4Q0piZ2lLcEdpTmNsQlBXZGx4ZUhXWkhhQ3dMMDRZTUlRcGlobndlZmZ6VnZLTmN6eUlDMWxlay1CZTVteWZycVBGM1BBbElwLU83QWxIRzZzdkpOREZuME1Jbl91c1FfcEdkTkVQUWREcHM2dGZrZDNwWnhRR1pWZWl4dVZNMGVFYmppVmI5eWNEc3l4Vm5wVGF4VnNjMW1RZ09tclp1Zmw1enBZTVN0ZXFYWEVJT2I0S21NdzdCRjBFTkJzNkhVd0FNYTJUMFlQR2VHNDFVQnp3cG9nX253RnNkUVFjRlRldW9nTVluRFhPQkxIaGpNMW1ubVlENXhSNnVCZEVZZmlrQjJzcmUzR3lQUHRpalBUQTAzMUFfaTctdDNsekhqak5DeTlSY0kyR0F2LXlGS1VmNUVZWE04Xy01OTVyYldSRFJaSksxbG1ma0NaeGhPYVJfdUpJRTdoWnpFdUFPZUhaOUVzazBWbmExd3U4NjBoOUJCdXVNZVhyVjV5S1RSY0Z4LUNGX2xKcUhTQ3F2WGp4SHdTS29ENGdmT0hzNWhyZmE3OVdYMTg0SzdWZUs5dDZ0SWw2bUNCenZfSWtZZkJVZmNuSmtzZEd1bmttcUZVVkN3PT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkZpeGluZyBsZWFrIG1ldGhvZCBhbmQgZGVmYXVsdCBzZWxlY3Rpb24qKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfZkhGVjJKVzA5TEVrUnB0eTN5UlVydjMzfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2FiMmVjMDgxOTFhODA1ODA2OWQ2NmQxOTMxIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGZtdCAtLSAtLWNoZWNrIiwidGltZW91dCI6MTIwfX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfTlhza2NrdGlYbHFoOE94OUd6dElYWmJNfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2FiMmVjYzgxOTE4NmQzYjU4Y2FlMTFiM2Y1IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGNoZWNrIiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE3MzQyLCJvdXRwdXQiOjEyMiwiY2FjaGVSZWFkIjozNTg0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjU5LCJ0b3RhbFRva2VucyI6MjEwNDgsImNvc3QiOnsiaW5wdXQiOjAuMDg2NzEwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDM2NiwiY2FjaGVSZWFkIjowLjAwMTc5MiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDkyMTYyMDAwMDAwMDAwMDF9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODg1ODEzNzIsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2E1YzdjMDgxOTE5OTU5NjU0NTQwNmM0Njg5In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjViMjcxZDYwIiwicGFyZW50SWQiOiJjYWI0MWRlMyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDk6NTcuMDQ1WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9mSEZWMkpXMDlMRWtScHR5M3lSVXJ2MzN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYWIyZWMwODE5MWE4MDU4MDY5ZDY2ZDE5MzEiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJlcnJvcjogbm8gc3VjaCBjb21tYW5kOiBgZm10YFxuXG5oZWxwOiBhIGNvbW1hbmQgd2l0aCBhIHNpbWlsYXIgbmFtZSBleGlzdHM6IGBmaXhgXG5cbmhlbHA6IHZpZXcgYWxsIGluc3RhbGxlZCBjb21tYW5kcyB3aXRoIGBjYXJnbyAtLWxpc3RgXG5oZWxwOiBmaW5kIGEgcGFja2FnZSB0byBpbnN0YWxsIGBmbXRgIHdpdGggYGNhcmdvIHNlYXJjaCBjYXJnby1mbXRgXG5cblxuQ29tbWFuZCBleGl0ZWQgd2l0aCBjb2RlIDEwMSJ9XSwiZGV0YWlscyI6e30sImlzRXJyb3IiOnRydWUsInRpbWVzdGFtcCI6MTc4NDk4ODU5NzA0NH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijg4M2UxMzNkIiwicGFyZW50SWQiOiI1YjI3MWQ2MCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDk6NTcuMDQ1WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9OWHNrY2t0aVhscWg4T3g5R3p0SVhaYk18ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYWIyZWNjODE5MTg2ZDNiNThjYWUxMWIzZjUiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgVXBkYXRpbmcgY3JhdGVzLmlvIGluZGV4XG4gICAgIExvY2tpbmcgNjcgcGFja2FnZXMgdG8gbGF0ZXN0IFJ1c3QgMS45Ni4wIGNvbXBhdGlibGUgdmVyc2lvbnNcbiAgICAgIEFkZGluZyBhdXRvY2ZnIHYxLjUuMVxuICAgICAgQWRkaW5nIGJpdGZsYWdzIHYyLjEzLjFcbiAgICAgIEFkZGluZyBjYWlyby1ycyB2MC4yMS41XG4gICAgICBBZGRpbmcgY2Fpcm8tc3lzLXJzIHYwLjIxLjVcbiAgICAgIEFkZGluZyBjZmctZXhwciB2MC4yMC44XG4gICAgICBBZGRpbmcgZXF1aXZhbGVudCB2MS4wLjJcbiAgICAgIEFkZGluZyBmaWVsZC1vZmZzZXQgdjAuMy42XG4gICAgICBBZGRpbmcgZnV0dXJlcy1jaGFubmVsIHYwLjMuMzNcbiAgICAgIEFkZGluZyBmdXR1cmVzLWNvcmUgdjAuMy4zM1xuICAgICAgQWRkaW5nIGZ1dHVyZXMtZXhlY3V0b3IgdjAuMy4zM1xuICAgICAgQWRkaW5nIGZ1dHVyZXMtaW8gdjAuMy4zM1xuICAgICAgQWRkaW5nIGZ1dHVyZXMtbWFjcm8gdjAuMy4zM1xuICAgICAgQWRkaW5nIGZ1dHVyZXMtdGFzayB2MC4zLjMzXG4gICAgICBBZGRpbmcgZnV0dXJlcy11dGlsIHYwLjMuMzNcbiAgICAgIEFkZGluZyBnZGstcGl4YnVmIHYwLjIxLjVcbiAgICAgIEFkZGluZyBnZGstcGl4YnVmLXN5cyB2MC4yMS41XG4gICAgICBBZGRpbmcgZ2RrNCB2MC4xMC4zXG4gICAgICBBZGRpbmcgZ2RrNC1zeXMgdjAuMTAuM1xuICAgICAgQWRkaW5nIGdpbyB2MC4yMS41XG4gICAgICBBZGRpbmcgZ2lvLXN5cyB2MC4yMS41XG4gICAgICBBZGRpbmcgZ2xpYiB2MC4yMS41XG4gICAgICBBZGRpbmcgZ2xpYi1tYWNyb3MgdjAuMjEuNVxuICAgICAgQWRkaW5nIGdsaWItc3lzIHYwLjIxLjVcbiAgICAgIEFkZGluZyBnb2JqZWN0LXN5cyB2MC4yMS41XG4gICAgICBBZGRpbmcgZ3JhcGhlbmUtcnMgdjAuMjEuNVxuICAgICAgQWRkaW5nIGdyYXBoZW5lLXN5cyB2MC4yMS41XG4gICAgICBBZGRpbmcgZ3NrNCB2MC4xMC4zXG4gICAgICBBZGRpbmcgZ3NrNC1zeXMgdjAuMTAuM1xuICAgICAgQWRkaW5nIGd0azQgdjAuMTAuMyAoYXZhaWxhYmxlOiB2MC4xMS40KVxuICAgICAgQWRkaW5nIGd0azQtbWFjcm9zIHYwLjEwLjNcbiAgICAgIEFkZGluZyBndGs0LXN5cyB2MC4xMC4zXG4gICAgICBBZGRpbmcgaGFzaGJyb3duIHYwLjE3LjFcbiAgICAgIEFkZGluZyBoZWNrIHYwLjUuMFxuICAgICAgQWRkaW5nIGluZGV4bWFwIHYyLjE0LjBcbiAgICAgIEFkZGluZyBsaWJhZHdhaXRhIHYwLjguMSAoYXZhaWxhYmxlOiB2MC45LjIpXG4gICAgICBBZGRpbmcgbGliYWR3YWl0YS1zeXMgdjAuOC4xXG4gICAgICBBZGRpbmcgbGliYyB2MC4yLjE4OVxuICAgICAgQWRkaW5nIG1lbWNociB2Mi44LjNcbiAgICAgIEFkZGluZyBtZW1vZmZzZXQgdjAuOS4xXG4gICAgICBBZGRpbmcgcGFuZ28gdjAuMjEuNVxuICAgICAgQWRkaW5nIHBhbmdvLXN5cyB2MC4yMS41XG4gICAgICBBZGRpbmcgcGluLXByb2plY3QtbGl0ZSB2MC4yLjE3XG4gICAgICBBZGRpbmcgcGtnLWNvbmZpZyB2MC4zLjMzXG4gICAgICBBZGRpbmcgcHJvYy1tYWNyby1jcmF0ZSB2My41LjBcbiAgICAgIEFkZGluZyBwcm9jLW1hY3JvMiB2MS4wLjEwN1xuICAgICAgQWRkaW5nIHF1b3RlIHYxLjAuNDdcbiAgICAgIEFkZGluZyBydXN0Y192ZXJzaW9uIHYwLjQuMVxuICAgICAgQWRkaW5nIHNlbXZlciB2MS4wLjI4XG4gICAgICBBZGRpbmcgc2VyZGVfY29yZSB2MS4wLjIyOVxuICAgICAgQWRkaW5nIHNlcmRlX2Rlcml2ZSB2MS4wLjIyOVxuICAgICAgQWRkaW5nIHNlcmRlX3NwYW5uZWQgdjEuMS4xXG4gICAgICBBZGRpbmcgc2xhYiB2MC40LjEyXG4gICAgICBBZGRpbmcgc21hbGx2ZWMgdjEuMTUuMlxuICAgICAgQWRkaW5nIHN5biB2Mi4wLjExOVxuICAgICAgQWRkaW5nIHN5biB2My4wLjNcbiAgICAgIEFkZGluZyBzeXN0ZW0tZGVwcyB2Ny4wLjhcbiAgICAgIEFkZGluZyB0YXJnZXQtbGV4aWNvbiB2MC4xMy41XG4gICAgICBBZGRpbmcgdG9tbCB2MS4xLjMrc3BlYy0xLjEuMFxuICAgICAgQWRkaW5nIHRvbWxfZGF0ZXRpbWUgdjEuMS4xK3NwZWMtMS4xLjBcbiAgICAgIEFkZGluZyB0b21sX2VkaXQgdjAuMjUuMTMrc3BlYy0xLjEuMFxuICAgICAgQWRkaW5nIHRvbWxfcGFyc2VyIHYxLjEuMitzcGVjLTEuMS4wXG4gICAgICBBZGRpbmcgdG9tbF93cml0ZXIgdjEuMS4yK3NwZWMtMS4xLjBcbiAgICAgIEFkZGluZyB1bmljb2RlLWlkZW50IHYxLjAuMjRcbiAgICAgIEFkZGluZyB2ZXJzaW9uLWNvbXBhcmUgdjAuMi4xXG4gICAgICBBZGRpbmcgd2luZG93cy1saW5rIHYwLjIuMVxuICAgICAgQWRkaW5nIHdpbmRvd3Mtc3lzIHYwLjYxLjJcbiAgICAgIEFkZGluZyB3aW5ub3cgdjEuMC40XG4gRG93bmxvYWRpbmcgY3JhdGVzIC4uLlxuICBEb3dubG9hZGVkIGF1dG9jZmcgdjEuNS4xXG4gIERvd25sb2FkZWQgYml0ZmxhZ3MgdjIuMTMuMVxuICBEb3dubG9hZGVkIGdkay1waXhidWYtc3lzIHYwLjIxLjVcbiAgRG93bmxvYWRlZCBmaWVsZC1vZmZzZXQgdjAuMy42XG4gIERvd25sb2FkZWQgZnV0dXJlcy10YXNrIHYwLjMuMzNcbiAgRG93bmxvYWRlZCBmdXR1cmVzLW1hY3JvIHYwLjMuMzNcbiAgRG93bmxvYWRlZCBmdXR1cmVzLWlvIHYwLjMuMzNcbiAgRG93bmxvYWRlZCBncmFwaGVuZS1zeXMgdjAuMjEuNVxuICBEb3dubG9hZGVkIGZ1dHVyZXMtY29yZSB2MC4zLjMzXG4gIERvd25sb2FkZWQgZ3RrNC1tYWNyb3MgdjAuMTAuM1xuICBEb3dubG9hZGVkIGdzazQtc3lzIHYwLjEwLjNcbiAgRG93bmxvYWRlZCBjYWlyby1zeXMtcnMgdjAuMjEuNVxuICBEb3dubG9hZGVkIGdyYXBoZW5lLXJzIHYwLjIxLjVcbiAgRG93bmxvYWRlZCBnb2JqZWN0LXN5cyB2MC4yMS41XG4gIERvd25sb2FkZWQgZ2RrLXBpeGJ1ZiB2MC4yMS41XG4gIERvd25sb2FkZWQgZnV0dXJlcy1leGVjdXRvciB2MC4zLjMzXG4gIERvd25sb2FkZWQgcGtnLWNvbmZpZyB2MC4zLjMzXG4gIERvd25sb2FkZWQgdmVyc2lvbi1jb21wYXJlIHYwLjIuMVxuICBEb3dubG9hZGVkIHBhbmdvLXN5cyB2MC4yMS41XG4gIERvd25sb2FkZWQgdGFyZ2V0LWxleGljb24gdjAuMTMuNVxuICBEb3dubG9hZGVkIHNtYWxsdmVjIHYxLjE1LjJcbiAgRG93bmxvYWRlZCB0b21sX3dyaXRlciB2MS4xLjIrc3BlYy0xLjEuMFxuICBEb3dubG9hZGVkIHN5c3RlbS1kZXBzIHY3LjAuOFxuICBEb3dubG9hZGVkIGZ1dHVyZXMtY2hhbm5lbCB2MC4zLjMzXG4gIERvd25sb2FkZWQgY2ZnLWV4cHIgdjAuMjAuOFxuICBEb3dubG9hZGVkIGxpYmFkd2FpdGEtc3lzIHYwLjguMVxuICBEb3dubG9hZGVkIHF1b3RlIHYxLjAuNDdcbiAgRG93bmxvYWRlZCBnc2s0IHYwLjEwLjNcbiAgRG93bmxvYWRlZCBjYWlyby1ycyB2MC4yMS41XG4gIERvd25sb2FkZWQgcGFuZ28gdjAuMjEuNVxuICBEb3dubG9hZGVkIHNlcmRlX2NvcmUgdjEuMC4yMjlcbiAgRG93bmxvYWRlZCB0b21sIHYxLjEuMytzcGVjLTEuMS4wXG4gIERvd25sb2FkZWQgdG9tbF9lZGl0IHYwLjI1LjEzK3NwZWMtMS4xLjBcbiAgRG93bmxvYWRlZCBtZW1jaHIgdjIuOC4zXG4gIERvd25sb2FkZWQgaW5kZXhtYXAgdjIuMTQuMFxuICBEb3dubG9hZGVkIGhhc2hicm93biB2MC4xNy4xXG4gIERvd25sb2FkZWQgbGliYWR3YWl0YSB2MC44LjFcbiAgRG93bmxvYWRlZCBmdXR1cmVzLXV0aWwgdjAuMy4zM1xuICBEb3dubG9hZGVkIHdpbm5vdyB2MS4wLjRcbiAgRG93bmxvYWRlZCBnaW8gdjAuMjEuNVxuICBEb3dubG9hZGVkIGd0azQtc3lzIHYwLjEwLjNcbiAgRG93bmxvYWRlZCBnZGs0IHYwLjEwLjNcbiAgRG93bmxvYWRlZCBwcm9jLW1hY3JvMiB2MS4wLjEwN1xuICBEb3dubG9hZGVkIGdsaWItc3lzIHYwLjIxLjVcbiAgRG93bmxvYWRlZCBnbGliLW1hY3JvcyB2MC4yMS41XG4gIERvd25sb2FkZWQgZ2RrNC1zeXMgdjAuMTAuM1xuICBEb3dubG9hZGVkIGdsaWIgdjAuMjEuNVxuICBEb3dubG9hZGVkIHN5biB2Mi4wLjExOVxuICBEb3dubG9hZGVkIGd0azQgdjAuMTAuM1xuICBEb3dubG9hZGVkIGxpYmMgdjAuMi4xODlcbiAgRG93bmxvYWRlZCBnaW8tc3lzIHYwLjIxLjVcbiAgIENvbXBpbGluZyB3aW5ub3cgdjEuMC40XG4gICBDb21waWxpbmcgdG9tbF9kYXRldGltZSB2MS4xLjErc3BlYy0xLjEuMFxuICAgQ29tcGlsaW5nIHRhcmdldC1sZXhpY29uIHYwLjEzLjVcbiAgIENvbXBpbGluZyBzbWFsbHZlYyB2MS4xNS4yXG4gICBDb21waWxpbmcgaGVjayB2MC41LjBcbiAgIENvbXBpbGluZyBzZXJkZV9zcGFubmVkIHYxLjEuMVxuICAgQ29tcGlsaW5nIHBrZy1jb25maWcgdjAuMy4zM1xuICAgQ29tcGlsaW5nIHZlcnNpb24tY29tcGFyZSB2MC4yLjFcbiAgIENvbXBpbGluZyBsaWJjIHYwLjIuMTg5XG4gICBDb21waWxpbmcgcHJvYy1tYWNybzIgdjEuMC4xMDdcbiAgIENvbXBpbGluZyB1bmljb2RlLWlkZW50IHYxLjAuMjRcbiAgIENvbXBpbGluZyBxdW90ZSB2MS4wLjQ3XG4gICBDb21waWxpbmcgaGFzaGJyb3duIHYwLjE3LjFcbiAgIENvbXBpbGluZyBlcXVpdmFsZW50IHYxLjAuMlxuICAgIENoZWNraW5nIGZ1dHVyZXMtY29yZSB2MC4zLjMzXG4gICAgQ2hlY2tpbmcgcGluLXByb2plY3QtbGl0ZSB2MC4yLjE3XG4gICAgQ2hlY2tpbmcgZnV0dXJlcy10YXNrIHYwLjMuMzNcbiAgICBDaGVja2luZyBzbGFiIHYwLjQuMTJcbiAgICBDaGVja2luZyBmdXR1cmVzLWNoYW5uZWwgdjAuMy4zM1xuICAgIENoZWNraW5nIGJpdGZsYWdzIHYyLjEzLjFcbiAgICBDaGVja2luZyBtZW1jaHIgdjIuOC4zXG4gICAgQ2hlY2tpbmcgZnV0dXJlcy1pbyB2MC4zLjMzXG4gICBDb21waWxpbmcgc2VtdmVyIHYxLjAuMjhcbiAgIENvbXBpbGluZyBhdXRvY2ZnIHYxLjUuMVxuICAgQ29tcGlsaW5nIHJ1c3RjX3ZlcnNpb24gdjAuNC4xXG4gICBDb21waWxpbmcgbWVtb2Zmc2V0IHYwLjkuMVxuICAgQ29tcGlsaW5nIGluZGV4bWFwIHYyLjE0LjBcbiAgIENvbXBpbGluZyBmaWVsZC1vZmZzZXQgdjAuMy42XG4gICBDb21waWxpbmcgY2ZnLWV4cHIgdjAuMjAuOFxuICAgQ29tcGlsaW5nIHN5biB2Mi4wLjExOVxuICAgQ29tcGlsaW5nIHRvbWxfcGFyc2VyIHYxLjEuMitzcGVjLTEuMS4wXG4gICBDb21waWxpbmcgdG9tbCB2MS4xLjMrc3BlYy0xLjEuMFxuICAgQ29tcGlsaW5nIHRvbWxfZWRpdCB2MC4yNS4xMytzcGVjLTEuMS4wXG4gICBDb21waWxpbmcgc3lzdGVtLWRlcHMgdjcuMC44XG4gICBDb21waWxpbmcgcHJvYy1tYWNyby1jcmF0ZSB2My41LjBcbiAgIENvbXBpbGluZyBnbGliLXN5cyB2MC4yMS41XG4gICBDb21waWxpbmcgZ29iamVjdC1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdpby1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIHBhbmdvLXN5cyB2MC4yMS41XG4gICBDb21waWxpbmcgZ2RrLXBpeGJ1Zi1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGNhaXJvLXN5cy1ycyB2MC4yMS41XG4gICBDb21waWxpbmcgZ3JhcGhlbmUtc3lzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBnZGs0LXN5cyB2MC4xMC4zXG4gICBDb21waWxpbmcgZ3NrNC1zeXMgdjAuMTAuM1xuICAgQ29tcGlsaW5nIGd0azQtc3lzIHYwLjEwLjNcbiAgIENvbXBpbGluZyBsaWJhZHdhaXRhLXN5cyB2MC44LjFcbndhcm5pbmc6IGdyYXBoZW5lLXN5c0AwLjIxLjU6IFxuZXJyb3I6IGZhaWxlZCB0byBydW4gY3VzdG9tIGJ1aWxkIGNvbW1hbmQgZm9yIGBncmFwaGVuZS1zeXMgdjAuMjEuNWBcblxuQ2F1c2VkIGJ5OlxuICBwcm9jZXNzIGRpZG4ndCBleGl0IHN1Y2Nlc3NmdWxseTogYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2dyYXBoZW5lLXN5cy0wZjYyZDgyYTlhYjhkMGM2L2J1aWxkLXNjcmlwdC1idWlsZGAgKGV4aXQgc3RhdHVzOiAxKVxuICAtLS0gc3Rkb3V0XG4gIGNhcmdvOnJlcnVuLWlmLWNoYW5nZWQ9L2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9ncmFwaGVuZS1zeXMtMC4yMS41L0NhcmdvLnRvbWxcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9R1JBUEhFTkVfR09CSkVDVF8xLjBfTk9fUEtHX0NPTkZJR1xuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX3g4Nl82NF91bmtub3duX2xpbnV4X2dudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1IT1NUX1BLR19DT05GSUdcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR1xuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1BBVEhfeDg2XzY0LXVua25vd24tbGludXgtZ251XG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfUEFUSF94ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHX1BBVEhcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19QQVRIXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfTElCRElSX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX0xJQkRJUl94ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHX0xJQkRJUlxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX0xJQkRJUlxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1NZU1JPT1RfRElSX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1NZU1JPT1RfRElSX3g4Nl82NF91bmtub3duX2xpbnV4X2dudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1IT1NUX1BLR19DT05GSUdfU1lTUk9PVF9ESVJcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19TWVNST09UX0RJUlxuICBjYXJnbzp3YXJuaW5nPVxuICBwa2ctY29uZmlnIGV4aXRlZCB3aXRoIHN0YXR1cyBjb2RlIDFcbiAgPiBQS0dfQ09ORklHX0FMTE9XX1NZU1RFTV9DRkxBR1M9MSBwa2ctY29uZmlnIC0tbGlicyAtLWNmbGFncyBncmFwaGVuZS1nb2JqZWN0LTEuMCAnZ3JhcGhlbmUtZ29iamVjdC0xLjAgPj0gMS4xMCdcblxuICBwa2ctY29uZmlnIG91dHB1dDpcbiAgICBQYWNrYWdlIGdyYXBoZW5lLWdvYmplY3QtMS4wIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG4gICAgUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGdyYXBoZW5lLWdvYmplY3QtMS4wLnBjJ1xuICAgIHRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGVcbiAgICBObyBwYWNrYWdlICdncmFwaGVuZS1nb2JqZWN0LTEuMCcgZm91bmRcbiAgICBQYWNrYWdlIGdyYXBoZW5lLWdvYmplY3QtMS4wIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG4gICAgUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGdyYXBoZW5lLWdvYmplY3QtMS4wLnBjJ1xuICAgIHRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGVcbiAgICBObyBwYWNrYWdlICdncmFwaGVuZS1nb2JqZWN0LTEuMCcgZm91bmRcblxuICBUaGUgc3lzdGVtIGxpYnJhcnkgYGdyYXBoZW5lLWdvYmplY3QtMS4wYCByZXF1aXJlZCBieSBjcmF0ZSBgZ3JhcGhlbmUtc3lzYCB3YXMgbm90IGZvdW5kLlxuICBUaGUgZmlsZSBgZ3JhcGhlbmUtZ29iamVjdC0xLjAucGNgIG5lZWRzIHRvIGJlIGluc3RhbGxlZCBhbmQgdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBtdXN0IGNvbnRhaW4gaXRzIHBhcmVudCBkaXJlY3RvcnkuXG4gIFRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IHNldC5cblxuICBISU5UOiBpZiB5b3UgaGF2ZSBpbnN0YWxsZWQgdGhlIGxpYnJhcnksIHRyeSBzZXR0aW5nIFBLR19DT05GSUdfUEFUSCB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGdyYXBoZW5lLWdvYmplY3QtMS4wLnBjYC5cblxud2FybmluZzogYnVpbGQgZmFpbGVkLCB3YWl0aW5nIGZvciBvdGhlciBqb2JzIHRvIGZpbmlzaC4uLlxud2FybmluZzogZ3RrNC1zeXNAMC4xMC4zOiBcbmVycm9yOiBmYWlsZWQgdG8gcnVuIGN1c3RvbSBidWlsZCBjb21tYW5kIGZvciBgZ3RrNC1zeXMgdjAuMTAuM2BcblxuQ2F1c2VkIGJ5OlxuICBwcm9jZXNzIGRpZG4ndCBleGl0IHN1Y2Nlc3NmdWxseTogYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2d0azQtc3lzLTUyMzljMzU2YmE2ZmNkZDEvYnVpbGQtc2NyaXB0LWJ1aWxkYCAoZXhpdCBzdGF0dXM6IDEpXG4gIC0tLSBzdGRvdXRcbiAgY2FyZ286cmVydW4taWYtY2hhbmdlZD0vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2d0azQtc3lzLTAuMTAuMy9DYXJnby50b21sXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPUdUSzRfTk9fUEtHX0NPTkZJR1xuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX3g4Nl82NF91bmtub3duX2xpbnV4X2dudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1IT1NUX1BLR19DT05GSUdcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR1xuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1BBVEhfeDg2XzY0LXVua25vd24tbGludXgtZ251XG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfUEFUSF94ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHX1BBVEhcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19QQVRIXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfTElCRElSX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX0xJQkRJUl94ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHX0xJQkRJUlxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX0xJQkRJUlxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1NZU1JPT1RfRElSX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1NZU1JPT1RfRElSX3g4Nl82NF91bmtub3duX2xpbnV4X2dudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1IT1NUX1BLR19DT05GSUdfU1lTUk9PVF9ESVJcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19TWVNST09UX0RJUlxuICBjYXJnbzp3YXJuaW5nPVxuICBwa2ctY29uZmlnIGV4aXRlZCB3aXRoIHN0YXR1cyBjb2RlIDFcbiAgPiBQS0dfQ09ORklHX0FMTE9XX1NZU1RFTV9DRkxBR1M9MSBwa2ctY29uZmlnIC0tbGlicyAtLWNmbGFncyBndGs0ICdndGs0ID49IDQuMTAnXG5cbiAgcGtnLWNvbmZpZyBvdXRwdXQ6XG4gICAgUGFja2FnZSBndGs0IHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG4gICAgUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGd0azQucGMnXG4gICAgdG8gdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICAgIE5vIHBhY2thZ2UgJ2d0azQnIGZvdW5kXG4gICAgUGFja2FnZSBndGs0IHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG4gICAgUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGd0azQucGMnXG4gICAgdG8gdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICAgIE5vIHBhY2thZ2UgJ2d0azQnIGZvdW5kXG5cbiAgVGhlIHN5c3RlbSBsaWJyYXJ5IGBndGs0YCByZXF1aXJlZCBieSBjcmF0ZSBgZ3RrNC1zeXNgIHdhcyBub3QgZm91bmQuXG4gIFRoZSBmaWxlIGBndGs0LnBjYCBuZWVkcyB0byBiZSBpbnN0YWxsZWQgYW5kIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUgbXVzdCBjb250YWluIGl0cyBwYXJlbnQgZGlyZWN0b3J5LlxuICBUaGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQuXG5cbiAgSElOVDogaWYgeW91IGhhdmUgaW5zdGFsbGVkIHRoZSBsaWJyYXJ5LCB0cnkgc2V0dGluZyBQS0dfQ09ORklHX1BBVEggdG8gdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGBndGs0LnBjYC5cblxuXG5cbkNvbW1hbmQgZXhpdGVkIHdpdGggY29kZSAxMDEifV0sImRldGFpbHMiOnt9LCJpc0Vycm9yIjp0cnVlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg1OTcwNDV9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJiYTk5M2FhNCIsInBhcmVudElkIjoiODgzZTEzM2QiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEwOjAyLjQ3N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqRXhwbG9yaW5nIFJ1c3QgZG9jc19ycyBidWlsZCBvcHRpbWl6YXRpb24qKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2I3MzZkMDgxOTE4YzBkNGZmOTRmZDM5Y2M5XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNTzZKSjY0ZV81UkhpT1JZSHYyRkR3bVZ2ZHZDc2ZudjBrTzM3dTQzbmxpZ0tUX3c0Y214aWxOa2VjaVd6UFg3Uk1KckVkM0NHTGNWZWotZnBXNjBQMFJJMktMZ1llaXJkQy0tRVNEREVGWkd5aWYxTzltY0NsRlFKenVRb3RSYVE2Z3dLRWZFNjVzQlVCbUZaSkk3Ri14NzNKQmRVWmVCTlQ3V3o4S2ViRzh1TFdJSUlYN09SNGtxSGxRY3UwbTlSYnZIWGd2WGp5MUc1U3o2QjJJRFh0TFdvZ09tYURQUFdUNGtjR0taUVEtT0VNRzBnX09FZC01eHJMdm5CRTJVRzZrV3c4aHo0WUI3Z3YxV0hDNDk5M0ZlbHJGazVkdGM0dDljcXNlcEdmMEpxSGRHMEs3Z1ZWMDBNZDN1eE5Jd3pkdEVvNFhNOTVSc0pVQzFRUHdlOVpjZ1BJdGQ4Q2s3VlhlZXFManhUNkFOdGp2SnJKUzROQk1lci1xVXJtTXVQd3ZYblVGX2VTd1hGcWh0cDdEMm5EU193MGc1SFZlXzBIR1JPcE42VjFsWVN6SHdPSWxEaDB6MjZ1WmlaOVZQb2tuNmt3S3BGRmUzaVZKMzQxa01RTFJ2bHNydHJZcTQ2dlZNWWE4WE1JOE44b2dRaWFaMGRsemstdDNQRGlZR2JiNENiTGFUZUVUMHRNVUNBUVoteUt3Y19oanAtQ3NTSkdyMl8tbDBkVmFxQmtQUHdEM3l5Vmc4ZzFIQndQUDdULWdLNndvVzF1RzF5N25aU0Mzejktdml3aGFEbEZEM3ZITUp3X18yRmE0TlBFVGxCYWc4c3lYX2liRjNTVmhmODJNLS0tbHRlNDVQZVN3M2pmMWNrYVJudUtYZkdSTzBpeFp3SktCRTNKUklzeE11SUV6bk8yOGdraUZOVVlHanluWWtKQi1XZjNOa01Qemk2TzRCVGN2MGhtLXFBbGdTMXNnUHdueWNYN2FHQkNxRjN2eEJQb3FXeDJVcVNnZjFqMHVRQmxrcmZXSXJJczFBZDI2X0JiTmRtbFNNXzNLQmxXOUFJVjZFRmRycDBmWk1EMDBpT280Wjdac2RlMVltM3FBTlk2di1MMjVKZmVZOHlYU0EtSWlKWHRIS0F3X0xXYlBob1I2VlllNjB0Wm9fSnlLb2NCbFlrMXJaZ0NlQ04zUWYwWkxobTdveWJmQ05TQ2dHcVIxcnFJOFBoRENJMFVLM1RtdlBVN1hMQ29uRVh6bWRGYXVDZlNPRF9hLTI0eFFvRkhtSjVPdklkaUdzelJHdVVSWW92UUk0Y3BfZU9NUkl1LU4tVTdqLXNUOENGN21yZjV4RHRwTHV6NFZ2a3p1Qkt1LTdJWklkTzdJMG9lS1M1RGtkWnRlei15Q3FoNk9lUE5jSkZZbUNxeFNSTENGY0VrdnZldGU5VmQxU3Njb0Zod3BYUXAwWDl5c2pyUVhRSm9OZVdVWnFLSnkzNTkzNXpQR281Wi1sakFKczVGVGthU2plSVhqNnJQUndURkE3RVBqRmo0VFVNZWVka2JZaW9ReGRRZjlJMEg4VEdFdFllOGRKbElYYWE4TzVib2JVcUduWkhRRG9yYWNiMHh5V2NPQVFUazl6RHNuSzk2aXE1NUV1SHlyaG5pQl9Idnp3VnhTbHkzcWpKQT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkV4cGxvcmluZyBSdXN0IGRvY3NfcnMgYnVpbGQgb3B0aW1pemF0aW9uKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX2NXZG14bnRyRGtXaERNUXI4SmYyT3FlTnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNiYTU5YTg4MTkxYWMxZjJmMDdlNThmODAzOSIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJydXN0Zm10IC0tdmVyc2lvbiAmJiBydXN0Zm10IC0tY2hlY2sgc3JjL21haW4ucnMiLCJ0aW1lb3V0IjoxMjB9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9BeG9Db0psY0FCV2hGR011eWd6ZmoxaFR8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYmE1OWJjODE5MWIzYzA5ZjZkYzkzOGM4NGMiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiRE9DU19SUz0xIGNhcmdvIGNoZWNrIiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjQ4NDMsIm91dHB1dCI6MTMyLCJjYWNoZVJlYWQiOjE5OTY4LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjU3LCJ0b3RhbFRva2VucyI6MjQ5NDMsImNvc3QiOnsiaW5wdXQiOjAuMDI0MjE1LCJvdXRwdXQiOjAuMDAzOTYsImNhY2hlUmVhZCI6MC4wMDk5ODQsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAzODE1OX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4ODU5NzA0NiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYjU2Mjg0ODE5MWI2YWU1YTNlYmFmZDk0M2EifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMzkyZGQzY2QiLCJwYXJlbnRJZCI6ImJhOTkzYWE0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDowNC4zNjdaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2NXZG14bnRyRGtXaERNUXI4SmYyT3FlTnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNiYTU5YTg4MTkxYWMxZjJmMDdlNThmODAzOSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii9iaW4vYmFzaDogbGluZSAxOiBydXN0Zm10OiBjb21tYW5kIG5vdCBmb3VuZFxuXG5cbkNvbW1hbmQgZXhpdGVkIHdpdGggY29kZSAxMjcifV0sImRldGFpbHMiOnt9LCJpc0Vycm9yIjp0cnVlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg2MDQzNjd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIzMDQ3YzE1ZCIsInBhcmVudElkIjoiMzkyZGQzY2QiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEwOjA0LjM2N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfQXhvQ29KbGNBQldoRkdNdXlnemZqMWhUfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2JhNTliYzgxOTFiM2MwOWY2ZGM5MzhjODRjIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgQ29tcGlsaW5nIGZ1dHVyZXMtbWFjcm8gdjAuMy4zM1xuICAgQ29tcGlsaW5nIGdsaWItbWFjcm9zIHYwLjIxLjVcbiAgIENvbXBpbGluZyBndGs0LW1hY3JvcyB2MC4xMC4zXG4gICBDb21waWxpbmcgZ2xpYi1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdpby1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGNhaXJvLXN5cy1ycyB2MC4yMS41XG4gICBDb21waWxpbmcgZ2RrLXBpeGJ1Zi1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdyYXBoZW5lLXN5cyB2MC4yMS41XG4gICBDb21waWxpbmcgZ2RrNC1zeXMgdjAuMTAuM1xuICAgQ29tcGlsaW5nIGdzazQtc3lzIHYwLjEwLjNcbiAgIENvbXBpbGluZyBndGs0LXN5cyB2MC4xMC4zXG4gICBDb21waWxpbmcgbGliYWR3YWl0YS1zeXMgdjAuOC4xXG53YXJuaW5nOiBsaWJhZHdhaXRhLXN5c0AwLjguMTogXG5lcnJvcjogZmFpbGVkIHRvIHJ1biBjdXN0b20gYnVpbGQgY29tbWFuZCBmb3IgYGxpYmFkd2FpdGEtc3lzIHYwLjguMWBcblxuQ2F1c2VkIGJ5OlxuICBwcm9jZXNzIGRpZG4ndCBleGl0IHN1Y2Nlc3NmdWxseTogYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2xpYmFkd2FpdGEtc3lzLTk1ZjNmOWFhOGNlNjIyODUvYnVpbGQtc2NyaXB0LWJ1aWxkYCAoZXhpdCBzdGF0dXM6IDEpXG4gIC0tLSBzdGRvdXRcbiAgY2FyZ286cmVydW4taWYtY2hhbmdlZD0vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2xpYmFkd2FpdGEtc3lzLTAuOC4xL0NhcmdvLnRvbWxcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9TElCQURXQUlUQV8xX05PX1BLR19DT05GSUdcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR194ODZfNjQtdW5rbm93bi1saW51eC1nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR194ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19QQVRIX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1BBVEhfeDg2XzY0X3Vua25vd25fbGludXhfZ251XG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPUhPU1RfUEtHX0NPTkZJR19QQVRIXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfUEFUSFxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX0xJQkRJUl94ODZfNjQtdW5rbm93bi1saW51eC1nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19MSUJESVJfeDg2XzY0X3Vua25vd25fbGludXhfZ251XG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPUhPU1RfUEtHX0NPTkZJR19MSUJESVJcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19MSUJESVJcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19TWVNST09UX0RJUl94ODZfNjQtdW5rbm93bi1saW51eC1nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19TWVNST09UX0RJUl94ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHX1NZU1JPT1RfRElSXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfU1lTUk9PVF9ESVJcbiAgY2FyZ286d2FybmluZz1cbiAgcGtnLWNvbmZpZyBleGl0ZWQgd2l0aCBzdGF0dXMgY29kZSAxXG4gID4gUEtHX0NPTkZJR19BTExPV19TWVNURU1fQ0ZMQUdTPTEgcGtnLWNvbmZpZyAtLWxpYnMgLS1jZmxhZ3MgbGliYWR3YWl0YS0xICdsaWJhZHdhaXRhLTEgPj0gMS41J1xuXG4gIHBrZy1jb25maWcgb3V0cHV0OlxuICAgIFBhY2thZ2UgbGliYWR3YWl0YS0xIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG4gICAgUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGxpYmFkd2FpdGEtMS5wYydcbiAgICB0byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlXG4gICAgTm8gcGFja2FnZSAnbGliYWR3YWl0YS0xJyBmb3VuZFxuICAgIFBhY2thZ2UgbGliYWR3YWl0YS0xIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG4gICAgUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGxpYmFkd2FpdGEtMS5wYydcbiAgICB0byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlXG4gICAgTm8gcGFja2FnZSAnbGliYWR3YWl0YS0xJyBmb3VuZFxuXG4gIFRoZSBzeXN0ZW0gbGlicmFyeSBgbGliYWR3YWl0YS0xYCByZXF1aXJlZCBieSBjcmF0ZSBgbGliYWR3YWl0YS1zeXNgIHdhcyBub3QgZm91bmQuXG4gIFRoZSBmaWxlIGBsaWJhZHdhaXRhLTEucGNgIG5lZWRzIHRvIGJlIGluc3RhbGxlZCBhbmQgdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBtdXN0IGNvbnRhaW4gaXRzIHBhcmVudCBkaXJlY3RvcnkuXG4gIFRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IHNldC5cblxuICBISU5UOiBpZiB5b3UgaGF2ZSBpbnN0YWxsZWQgdGhlIGxpYnJhcnksIHRyeSBzZXR0aW5nIFBLR19DT05GSUdfUEFUSCB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGxpYmFkd2FpdGEtMS5wY2AuXG5cbndhcm5pbmc6IGJ1aWxkIGZhaWxlZCwgd2FpdGluZyBmb3Igb3RoZXIgam9icyB0byBmaW5pc2guLi5cblxuXG5Db21tYW5kIGV4aXRlZCB3aXRoIGNvZGUgMTAxIn1dLCJkZXRhaWxzIjp7fSwiaXNFcnJvciI6dHJ1ZSwidGltZXN0YW1wIjoxNzg0OTg4NjA0MzY3fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNzg0NGNhZjEiLCJwYXJlbnRJZCI6IjMwNDdjMTVkIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDoxMi4yOTNaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkluc3BlY3RpbmcgZ2VuZXJhdGVkIEFQSXMgc291cmNlKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNiZTc0ODQ4MTkxYTU5ZDk1MWM3M2U2YmRhYlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTVBFUmI0RUpSdkoyNlFZeWhBX3AzQ2pTSW9CYTc0OXUxSzJDTllESnNjT2lPbDlndjF6UVFJa0hYdVI1SFJEWktHT3ZrYjcweEFsV2dBTFVpdlUySWkxdnBkc0d3ME9xLUJJRjdscGpKTXNPV0JTZHNsVkdrcmlmb182VjFiYUs0dDFlUC1EcFRPRUZOUGxPZDMzWVJudEdhYWp5X05lUlI3Wm9ZSncyUy0xRnhkNmFCV2pWci1XUjN1c3lMR2dFMnRQNER1Q0RxeXJCSUg2ZUVnT28zRDFJUTNhRGN6cUhwZnptQ2J5U3d4YmRHRUx5TDYtSmQtRW9vNW02eUhYb2VVMVpPSG1HSzlmYjVzUHo2ZFlnV1lGaGNaM000TnIyNU9sXzFiNVhoaXV1S25Xdk9GVFpGaHhPVFhNVG80NjFLbGg3RzIxUjhncWt3VVZnVG9BLVo1TVRGMkhqWVNRei1CT0JsRkVXVHpUTWdMNkhPWVJtMU11OThUVEJCMzlKRHE3WGVYSzg1Si1oTEMwdXNDMEhxcmYwejdCc1ZCSzI4b2pPVTcxVWlvZU1GWWlXS3NXUU1SMFZmdzc0U3NCNlROOVpzaTg0NjZYM0xhdW9LUm9QWjFaaGlRRUdFOHhnX2FiVjVaSGVqcllmOTlDY1h6SDZBUWZMbUJhQ1BCUzVpVjBuc1N1ZW83NV9jT1NLSHJtUWxWWWloZHVSUDFTaGpGRmw4UHlEZEdCM1RQWENndV94aHRlaXhoUkFPUzZLSjNHX2I4VWcxUzlVeXhsV3BUWTg0NHZsV1gzeWpwZkttOS1kV3djb25uZnNOUWxhVkVrejJWQ3l0WmhfSFprb1hhTzcySHo1d0o3cEI3QnRTVUFWZ2UxNjRQTkJFa0h1MWw2MkZGQWlrUzJHb3pMbWNiUHkzZExGc2ZxNGV1SGpWaUM4a054NmpZVnBBS1VsbTVWNG5oQXBUWF9POE5BTVlLVC1faG9ZQXIzWkYxcmFpa0lBMktidzlvYzFYVWFHNXhwSXRnelFUUnBsNGI3eWF0OWR5ZjFFNER3ODd3MXBKV3FZWHV1VzZHUkp4Zy1mNjRMUU5jNlByN0wxWEtERVpfYWYxTkhPTFg2enVUZE44dm1tOHNSUnFORmtnM1NCWmFLZG5CcklUMllZZjhkaTNnb1Y3NEF1aksyOUdTTlF1dWR5NXI4ZHB6ZGtyMlA5R0hCZFRzVnl5MzlCbFg0R095S2tlcXdNblJWSEZMdFFqXy1NTlQwTjFyWk1zQnh4MTVXVjVWakhKbjVIWXIwcjBoZFZUM2F3V3BfdEdYbDMzVWRBNkx5ckNuR2VWR0NOZGFDQVhISFpRMkhWQ1UwQzJodi1qb2JuempaQmtyb0FiUnA1XzlWTTgzaUVPUFRPb213dC1LTGRsZzNkXzF5M2FzTEJfNDZxUFpESlhuYzJyV2NwWXVSY3ozY1ZEWHN3VW5LcXV0WHA2ek9KNDk4cy1KUXhza1B5NGVVOFlKdFFURzdJQUM1VDJwYkZqTzZxc0VWSnBIcmV0UmJZdkxudG8zOWhXMFM1dz09XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipJbnNwZWN0aW5nIGdlbmVyYXRlZCBBUElzIHNvdXJjZSoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF84UEFZWVdrUUhEbkNSNGNhMWgwdG5Eeml8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYzQyNzI4ODE5MTg4NzJlZjYzZGI0ZDk5ZmMiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicmcgJ2ZuIHNldF9kZWZhdWx0X3Jlc3BvbnNlfGZuIHNldF9jbG9zZV9yZXNwb25zZXxmbiBjb25uZWN0X3Jlc3BvbnNlfHN0cnVjdCBBbGVydERpYWxvZycgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovbGliYWR3YWl0YS0wLjguMS9zcmMgLW4gfCBoZWFkIC0zMCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9ncXFZTWVkMWZvaVJ3NllpOU5pQU5GOGh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYzQyNzQwODE5MWIzMWYxYTE4OWM2MTg3Y2IiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicmcgJ2ZuIHNldF9jdXJyZW50X25hbWV8Zm4gZGVzdHJveVxcKCcgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovZ3RrNC0wLjEwLjMvc3JjL2F1dG8vZmlsZV9jaG9vc2VyX25hdGl2ZS5ycyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9ndGs0LTAuMTAuMy9zcmMvYXV0by9uYXRpdmVfZGlhbG9nLnJzIC1uOyByZyAnZm4gc3RyaW5nXFwoJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9ndGs0LTAuMTAuMy9zcmMvYXV0by9zdHJpbmdfbGlzdC5ycyAtbiJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9lUjZDYkRkSklaMXJmSWx4TXE1c1lSd0N8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYzQyNzUwODE5MTgwNzIzMjgwNGQxNzkzMjQiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicmcgJ2ZuIHNldF9kZXNjcmlwdGlvbnxkZXNjcmlwdGlvblxcKCcgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovbGliYWR3YWl0YS0wLjguMS9zcmMvYXV0by9wcmVmZXJlbmNlc19wYWdlLnJzIC1uOyByZyAnZW5hYmxlX3NlYXJjaCcgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovbGliYWR3YWl0YS0wLjguMS9zcmMvYXV0by9jb21ib19yb3cucnMgLW4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE4NzMsIm91dHB1dCI6MzE2LCJjYWNoZVJlYWQiOjI0MDY0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjQwLCJ0b3RhbFRva2VucyI6MjYyNTMsImNvc3QiOnsiaW5wdXQiOjAuMDA5MzY1LCJvdXRwdXQiOjAuMDA5NDgsImNhY2hlUmVhZCI6MC4wMTIwMzIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAzMDg3N319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4ODYwNDM2OCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYmNjMjAwODE5MWI1MzRlOGQ2MGY3MWVhZTcifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMWE1MzlkZjYiLCJwYXJlbnRJZCI6Ijc4NDRjYWYxIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDoxMi4zMTFaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzhQQVlZV2tRSERuQ1I0Y2ExaDB0bkR6aXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNjNDI3Mjg4MTkxODg3MmVmNjNkYjRkOTlmYyIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbGliYWR3YWl0YS0wLjguMS9zcmMvYXV0by9hbGVydF9kaWFsb2cucnM6MTc6ICAgIHB1YiBzdHJ1Y3QgQWxlcnREaWFsb2coT2JqZWN0PGZmaTo6QWR3QWxlcnREaWFsb2csIGZmaTo6QWR3QWxlcnREaWFsb2dDbGFzcz4pIEBleHRlbmRzIERpYWxvZywgZ3RrOjpXaWRnZXQsIEBpbXBsZW1lbnRzIGd0azo6QWNjZXNzaWJsZSwgZ3RrOjpCdWlsZGFibGUsIGd0azo6Q29uc3RyYWludFRhcmdldCwgZ3RrOjpTaG9ydGN1dE1hbmFnZXI7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2xpYmFkd2FpdGEtMC44LjEvc3JjL2F1dG8vYWxlcnRfZGlhbG9nLnJzOjYxOnB1YiBzdHJ1Y3QgQWxlcnREaWFsb2dCdWlsZGVyIHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbGliYWR3YWl0YS0wLjguMS9zcmMvYXV0by9hbGVydF9kaWFsb2cucnM6NTg4OiAgICBmbiBzZXRfY2xvc2VfcmVzcG9uc2UoJnNlbGYsIHJlc3BvbnNlOiAmc3RyKSB7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2xpYmFkd2FpdGEtMC44LjEvc3JjL2F1dG8vYWxlcnRfZGlhbG9nLnJzOjU5OTogICAgZm4gc2V0X2RlZmF1bHRfcmVzcG9uc2UoJnNlbGYsIHJlc3BvbnNlOiBPcHRpb248JnN0cj4pIHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbGliYWR3YWl0YS0wLjguMS9zcmMvYXV0by9hbGVydF9kaWFsb2cucnM6NjkwOiAgICBmbiBjb25uZWN0X3Jlc3BvbnNlPEY6IEZuKCZTZWxmLCAmc3RyKSArICdzdGF0aWM+KFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9saWJhZHdhaXRhLTAuOC4xL3NyYy9hdXRvL21lc3NhZ2VfZGlhbG9nLnJzOjcwNDogICAgZm4gc2V0X2Nsb3NlX3Jlc3BvbnNlKCZzZWxmLCByZXNwb25zZTogJnN0cikge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9saWJhZHdhaXRhLTAuOC4xL3NyYy9hdXRvL21lc3NhZ2VfZGlhbG9nLnJzOjcxNzogICAgZm4gc2V0X2RlZmF1bHRfcmVzcG9uc2UoJnNlbGYsIHJlc3BvbnNlOiBPcHRpb248JnN0cj4pIHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbGliYWR3YWl0YS0wLjguMS9zcmMvYXV0by9tZXNzYWdlX2RpYWxvZy5yczo4MDg6ICAgIGZuIGNvbm5lY3RfcmVzcG9uc2U8RjogRm4oJlNlbGYsICZzdHIpICsgJ3N0YXRpYz4oXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg2MTIzMTF9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxYWU0YjQ5ZCIsInBhcmVudElkIjoiMWE1MzlkZjYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEwOjEyLjMxMVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfZ3FxWU1lZDFmb2lSdzZZaTlOaUFORjhofGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2M0Mjc0MDgxOTFiMzFmMWExODljNjE4N2NiIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9ndGs0LTAuMTAuMy9zcmMvYXV0by9uYXRpdmVfZGlhbG9nLnJzOjI5OiAgICBmbiBkZXN0cm95KCZzZWxmKSB7XG40MDogICAgcHViIGZuIHN0cmluZygmc2VsZiwgcG9zaXRpb246IHUzMikgLT4gT3B0aW9uPGdsaWI6OkdTdHJpbmc+IHtcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODYxMjMxMX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjAyOWNlNWYzIiwicGFyZW50SWQiOiIxYWU0YjQ5ZCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTA6MTIuMzExWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9lUjZDYkRkSklaMXJmSWx4TXE1c1lSd0N8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYzQyNzUwODE5MTgwNzIzMjgwNGQxNzkzMjQiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiI3NjogICAgcHViIGZuIGRlc2NyaXB0aW9uKHNlbGYsIGRlc2NyaXB0aW9uOiBpbXBsIEludG88Z2xpYjo6R1N0cmluZz4pIC0+IFNlbGYge1xuMzM4OiAgICBmbiBkZXNjcmlwdGlvbigmc2VsZikgLT4gZ2xpYjo6R1N0cmluZyB7XG4zNDA6ICAgICAgICAgICAgZnJvbV9nbGliX25vbmUoZmZpOjphZHdfcHJlZmVyZW5jZXNfcGFnZV9nZXRfZGVzY3JpcHRpb24oXG40NjM6ICAgIGZuIHNldF9kZXNjcmlwdGlvbigmc2VsZiwgZGVzY3JpcHRpb246ICZzdHIpIHtcbjQ2NTogICAgICAgICAgICBmZmk6OmFkd19wcmVmZXJlbmNlc19wYWdlX3NldF9kZXNjcmlwdGlvbihcbjQ3NjogICAgZm4gc2V0X2Rlc2NyaXB0aW9uX2NlbnRlcmVkKCZzZWxmLCBjZW50ZXJlZDogYm9vbCkge1xuNjU6ICAgIHB1YiBmbiBlbmFibGVfc2VhcmNoKHNlbGYsIGVuYWJsZV9zZWFyY2g6IGJvb2wpIC0+IFNlbGYge1xuNjc6ICAgICAgICAgICAgYnVpbGRlcjogc2VsZi5idWlsZGVyLnByb3BlcnR5KFwiZW5hYmxlLXNlYXJjaFwiLCBlbmFibGVfc2VhcmNoKSxcbjQzODogICAgI1tkb2MoYWxpYXMgPSBcImFkd19jb21ib19yb3dfZ2V0X2VuYWJsZV9zZWFyY2hcIildXG40Mzk6ICAgICNbZG9jKGFsaWFzID0gXCJnZXRfZW5hYmxlX3NlYXJjaFwiKV1cbjQ0MzogICAgICAgICAgICBmcm9tX2dsaWIoZmZpOjphZHdfY29tYm9fcm93X2dldF9lbmFibGVfc2VhcmNoKFxuNTQyOiAgICAjW2RvYyhhbGlhcyA9IFwiYWR3X2NvbWJvX3Jvd19zZXRfZW5hYmxlX3NlYXJjaFwiKV1cbjU0NDogICAgZm4gc2V0X2VuYWJsZV9zZWFyY2goJnNlbGYsIGVuYWJsZV9zZWFyY2g6IGJvb2wpIHtcbjU0NjogICAgICAgICAgICBmZmk6OmFkd19jb21ib19yb3dfc2V0X2VuYWJsZV9zZWFyY2goXG41NDg6ICAgICAgICAgICAgICAgIGVuYWJsZV9zZWFyY2guaW50b19nbGliKCksXG42NDU6ICAgIGZuIGNvbm5lY3RfZW5hYmxlX3NlYXJjaF9ub3RpZnk8RjogRm4oJlNlbGYpICsgJ3N0YXRpYz4oJnNlbGYsIGY6IEYpIC0+IFNpZ25hbEhhbmRsZXJJZCB7XG42NDY6ICAgICAgICB1bnNhZmUgZXh0ZXJuIFwiQ1wiIGZuIG5vdGlmeV9lbmFibGVfc2VhcmNoX3RyYW1wb2xpbmU8XG42NjM6ICAgICAgICAgICAgICAgICAgICBub3RpZnlfZW5hYmxlX3NlYXJjaF90cmFtcG9saW5lOjo8U2VsZiwgRj4gYXMgKmNvbnN0ICgpLFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NjEyMzExfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYjYzOWJhMDUiLCJwYXJlbnRJZCI6IjAyOWNlNWYzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDoyNS41NTJaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkZpeGluZyBzZXRfZGVzY3JpcHRpb24gdXNhZ2UgYW5kIHJlbW92aW5nIHVudXNlZCBpbXBvcnRzKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNjNzMwZTA4MTkxODZjZjJlOTFiM2E1OTM4ZlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTVBOU2pqUmF5YTlvdGU5ZzNyWmYzLTNWOUpvbF9oWjFBOERqY2ZIVVRGQUFMNzBPVkwwZ1ZjNWVEMGFDc3Vtai1PMGtkVWJvcWFEWjVaWkx5RkFKajRUWG8yMDZDWVNod3dMTEwwZ0VpYmdGQ2QyaVZ0UThxenJNZWI3TVlRX095VElSZEdOQ3lnYnNIT25vT3RyZXdSdTZfYl9Hb2FLWnQ3ZEs1SGRuS1RBelR6bXJ5aUFkbGROR3BVMjBfZTFBdXFUMEYxUDlGOS1XSUd4OXpObzI5NHY3UDFfRFZsUllWX0RsQ010UVFEUFd0YXdkYlRINFYxWkdBZFFEQjBIRDF4aXFweFdfSGE0Q1FSeVhjenVQbm1KTGZzd1RscGhsbm5ISUcxV3A5QjRfVTE5NDg4TDRsV21QZlpkdzA1aVVtZEJMdE81c2N4NkxTX2k3WkpLTGV6WUVoTjlOMmx3ZmFSUnk3R2dMRzVWM254X0FVcDQ3NFZCX3ZZdncyWnN0Z2Q4VFQwX3RyMUR5UW1keWFTQUM0SVg3dVRMWFFodHp1c21tdWxKU2Vna0pfUkhXcWtxMmprX0prVmkySkU5SldKZ2JhQ3VNUzkzU2V0OVc5MGJuQXlTSF9SNkJPdGgwa0dQd3RMcm5OZS04ek5vRGgtRExsZ3BTQmJJQmtMdmg1UGhOcVR2Wmh6VkV6aEtXZ294M2ZoM3YyUXBBd2hKc25jOWZOQUx3b3ktQ3VOTjk1clNVX0NFQUhPMGRFdGpZT2dGUHNPbmh5Z3MydnJXc19feFF5NW1Nc05TNkYwQnBtbWF6R0QxZFNoMS1HOG1ZX1duMjZmVHM2Z21ZOTVUcjRObjJTMXBOMkNyNzFzUFlYdnpjWHBmOFVDMURkYWV6amRaNnJZZ3BhWUd3bTA5VlFwM3gydTBKbmh3dzB2V2hpa2FFckNiZkxtNUVpVWw0Y0hPcGtoSEhxMFBOemRtRi1KMTIzV1RQd1RWSFBZTG00TnBQZXRQZDhtNkZTUEdmRGxXc2phUzU2dUs4eFZ0Uk94UmpRRWg4d0IyZGllOHl0a01kMlhQMjdMenQ5MnRRa2ZtUGtOVTZ0QVp4YjNqQkJrTWowc2FIUlBFYmlodUd4TEhLVVZla25kT1F0eUVZSUtlcmRoWGRGb1I4ZS1Nc3E5cTlIdi1SZnZ3X04tcWdxTDlFQ3VaOTJkMWFyZVVld3lBSUxoWHNDZWNRV2Z4Q0owRHVtQVFNRV9wM2xHZ2VncVRMVXVPc3A3T1luU0ZrbVNPWXRIU3BzS09RVlpHUFJUUjBoeXBYRVh4SllxNTRGXzYyVjdEa3FvSWJQbjJON2ExQkx2Zk1aS3hNaHh5UllZclhCRjZBbXN3eEU3YXR1TGNvck1BdVZ5Zi15bDJZVzVqVmNBMTZmSkxBYmxYSWxjUkt0aU5qOEF1OHJSM0ZPRzlZSWk2RDc2WldfUF9mY0Z6ZHNCb0xMSXdZX1ZZbXBxSmVKdHZCXzRLTWRaNHV5czJYU2d3ajNtUm9aOFhhTll1VTZSV2ZBOXpST1lIemtITE02azRLVFlXbksxaXQtUnhvMC1HamNKRmFpTkdLNVJJdXQ1MU9NamtZOGtlcEhDLW9xRzg5OUNlWk1jSEc0QnRZMi00Unl0bzQ1X1JDY0VwYm9ka2JKc2RsNFdjVTNzZzg1bEhzOUc3VTMyNnhOcHJxd0xvX0p4dnhBcXIzNkh5c2RiYndPV0h6NGNtTUhqY2Q3dGdDZWlPdmV4SmR5S0xhS2hTeGRLTTZYbjc4Z1FFdzEwUHd0YlpzMXpuUnJ6b2dNb2ZBUGRTSjcyX1BSVEhYSXpKLWhaMml0bElURnNrdEExeXZBVEhXRXRVU0prUHZQZ1kxcjBqQWFLa0VidUY2d3l0X1F5TkxkRUg0WjFjeHVXYlZMTDUwb0V5bW9HZ3Fhb0VDWGQ5MXJ6MU83YVlSX0gyd3JnUTYyckJJc2lUbDNOMjhLRjhEM2EwVXBYQmQ5NTNGNm5aaHBKalNHX21GTHR6bEdFRmZGRXBkcm51bnpUczJFcGxhSVVsQlBjYnFpeHptMmtiejB0MHIwbUI4bnFCcDJ6OVJpMEtsb3J2dDVGQ3AzWndxQnpqUTV1Q2s2ZkRadktlV0NQbW9HdFBrZnNsZEo4TktkTEk2Yk5lMzJIeU9UVEEwaXRZMnNWZ3ZpaU5pWFFJc0drMVBZZzhpcFZ5Q0Q0TFZuY29jb1UwUWxSaTlfeEpfeWM0alY4YXZFUWRzMFpzNXgwLTV5anl4MG53dk5MVFdEUS1xMGtmRmxnQ2FyUGkxTmRJdUtpRjVYbVlOMF8wN0FuU1h1YmUzVDNHejVLOHVTdV9pZC1xQWxnZk54bGJtdGVXVENFeHN3bWhpdGp3OWVKbFRWSTA2d19NeThPSHdRUl9TZm5DUnp3b3I1dzNZZk5yY2lkbnh4TV9XcGpsbGRlTDVQRmI5WjM5NEhGVGFValVSM2dvU2gxRWNUanFpc2stUTBwT1ZjU0hHSmxlS0ZvaFRTanZEMDlnYlc5am9SM2staUVGSTZrRm13U0hkQVE4czNNR05FcG84UUVOd0NTRFctTXZ2bWw5OU1xRENBUHR0MkVoZnI3cTlaQnRadEQzTjFnVVNQa1JLa0RrMjlCUzFvSkdZOFI4R3ZyenVjVGRSZTlfbmE5SmJnRV9JTzV4dk5KSUFXS0dDWlF3ZFdZSF9tVzlUc3NFZHZpWFM1S0ZTdGFiSXZpcVNQd3AtdmNkeGRZV1BVOWlrUnZadHVrPVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqRml4aW5nIHNldF9kZXNjcmlwdGlvbiB1c2FnZSBhbmQgcmVtb3ZpbmcgdW51c2VkIGltcG9ydHMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfTXhhSHBFdVZTbkROQ2NKQ0lGbWFJR1lXfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2NkNGYzNDgxOTFiNjc1NWI0OGZkZTQyZGNhIiwibmFtZSI6ImVkaXQiLCJhcmd1bWVudHMiOnsicGF0aCI6InNyYy9tYWluLnJzIiwiZWRpdHMiOlt7Im9sZFRleHQiOiJ1c2UgZ3RrOjp7Z2lvLCBnbGlifTsiLCJuZXdUZXh0IjoidXNlIGd0azo6Z2xpYjsifSx7Im9sZFRleHQiOiIgICAgcGFnZS5zZXRfZGVzY3JpcHRpb24oU29tZShcbiAgICAgICAgXCJQcmVwYXJlIGFuIEFMVCBMaW51eCByb290IGZpbGVzeXN0ZW0gb3IgZGlzayBpbWFnZSBmb3IgeW91ciBib2FyZC5cIixcbiAgICApKTsiLCJuZXdUZXh0IjoiICAgIHBhZ2Uuc2V0X2Rlc2NyaXB0aW9uKFxuICAgICAgICBcIlByZXBhcmUgYW4gQUxUIExpbnV4IHJvb3QgZmlsZXN5c3RlbSBvciBkaXNrIGltYWdlIGZvciB5b3VyIGJvYXJkLlwiLFxuICAgICk7In0seyJvbGRUZXh0IjoiICAgICAgICAgICAgbGV0IGRlc3RpbmF0aW9uID0gaWYgc3RhdGUub3V0cHV0X2lzX2ZpbGUge1xuICAgICAgICAgICAgICAgIHN0YXRlLm91dHB1dF9maWxlLmFzX2RlcmVmKCkudW53cmFwX29yKFwiTm8gb3V0cHV0IGZpbGVcIilcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZHJpdmVfbW9kZWxcbiAgICAgICAgICAgICAgICAgICAgLnN0cmluZyhkcml2ZV9yb3cuc2VsZWN0ZWQoKSlcbiAgICAgICAgICAgICAgICAgICAgLm1hcCh8c3wgcy50b19zdHJpbmcoKSlcbiAgICAgICAgICAgICAgICAgICAgLnVud3JhcF9vcl9lbHNlKHx8IFwiTm8gZHJpdmVcIi5pbnRvKCkpXG4gICAgICAgICAgICAgICAgICAgIC5sZWFrKClcbiAgICAgICAgICAgIH07IiwibmV3VGV4dCI6IiAgICAgICAgICAgIGxldCBkZXN0aW5hdGlvbiA9IGlmIHN0YXRlLm91dHB1dF9pc19maWxlIHtcbiAgICAgICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAub3V0cHV0X2ZpbGVcbiAgICAgICAgICAgICAgICAgICAgLmNsb25lKClcbiAgICAgICAgICAgICAgICAgICAgLnVud3JhcF9vcl9lbHNlKHx8IFwiTm8gb3V0cHV0IGZpbGVcIi5pbnRvKCkpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRyaXZlX21vZGVsXG4gICAgICAgICAgICAgICAgICAgIC5zdHJpbmcoZHJpdmVfcm93LnNlbGVjdGVkKCkpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAofHN8IHMudG9fc3RyaW5nKCkpXG4gICAgICAgICAgICAgICAgICAgIC51bndyYXBfb3JfZWxzZSh8fCBcIk5vIGRyaXZlXCIuaW50bygpKVxuICAgICAgICAgICAgfTsifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MjA4OSwib3V0cHV0Ijo0NTgsImNhY2hlUmVhZCI6MjUwODgsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTcxLCJ0b3RhbFRva2VucyI6Mjc2MzUsImNvc3QiOnsiaW5wdXQiOjAuMDEwNDQ1MDAwMDAwMDAwMDAxLCJvdXRwdXQiOjAuMDEzNzQsImNhY2hlUmVhZCI6MC4wMTI1NDQsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAzNjcyOX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4ODYxMjMxMiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYzRhYmJjODE5MWFjNTVlZDZmMjAxZWM4NGYifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiY2M4ZDBmNzgiLCJwYXJlbnRJZCI6ImI2MzliYTA1IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDoyNS41NjFaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX014YUhwRXVWU25ETkNjSkNJRm1hSUdZV3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNjZDRmMzQ4MTkxYjY3NTViNDhmZGU0MmRjYSIsInRvb2xOYW1lIjoiZWRpdCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSByZXBsYWNlZCAzIGJsb2NrKHMpIGluIHNyYy9tYWluLnJzLiJ9XSwiZGV0YWlscyI6eyJkaWZmIjoiICAgMSB1c2UgYWR3OjpwcmVsdWRlOjoqO1xuLSAgMiB1c2UgZ3RrOjp7Z2lvLCBnbGlifTtcbisgIDIgdXNlIGd0azo6Z2xpYjtcbiAgIDMgdXNlIHN0ZDo6e2NlbGw6OlJlZkNlbGwsIGZzLCBwYXRoOjpQYXRoLCByYzo6UmN9O1xuICAgNCBcbiAgIDUgY29uc3QgQVBQX0lEOiAmc3RyID0gXCJvcmcuYWx0bGludXguRmxhc2hlclwiO1xuICAgNiBjb25zdCBCT0FSRFM6ICZzdHIgPSBpbmNsdWRlX3N0ciEoXCIuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9TVVBQT1JURUQtQk9BUkRTXCIpO1xuICAgICAuLi5cbiAgNDIgICAgIHRvb2xiYXJfdmlldy5hZGRfdG9wX2JhcigmaGVhZGVyKTtcbiAgNDMgXG4gIDQ0ICAgICBsZXQgcGFnZSA9IGFkdzo6UHJlZmVyZW5jZXNQYWdlOjpuZXcoKTtcbiAgNDUgICAgIHBhZ2Uuc2V0X3RpdGxlKFwiQ3JlYXRlIEluc3RhbGxhdGlvbiBNZWRpYVwiKTtcbi0gNDYgICAgIHBhZ2Uuc2V0X2Rlc2NyaXB0aW9uKFNvbWUoXG4rIDQ2ICAgICBwYWdlLnNldF9kZXNjcmlwdGlvbihcbiAgNDcgICAgICAgICBcIlByZXBhcmUgYW4gQUxUIExpbnV4IHJvb3QgZmlsZXN5c3RlbSBvciBkaXNrIGltYWdlIGZvciB5b3VyIGJvYXJkLlwiLFxuLSA0OCAgICAgKSk7XG4rIDQ4ICAgICApO1xuICA0OSAgICAgdG9vbGJhcl92aWV3LnNldF9jb250ZW50KFNvbWUoJnBhZ2UpKTtcbiAgNTAgXG4gIDUxICAgICAvLyBTb3VyY2VcbiAgNTIgICAgIGxldCBzb3VyY2VfZ3JvdXAgPSBhZHc6OlByZWZlcmVuY2VzR3JvdXA6OmJ1aWxkZXIoKVxuICAgICAuLi5cbiAzODMgICAgICAgICAgICAgICAgIC5nZXQoYm9hcmRfcm93LnNlbGVjdGVkKCkgYXMgdXNpemUpXG4gMzg0ICAgICAgICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuIDM4NSAgICAgICAgICAgICAgICAgLnVud3JhcF9vcihcIlVua25vd24gYm9hcmRcIik7XG4gMzg2ICAgICAgICAgICAgIGxldCBkZXN0aW5hdGlvbiA9IGlmIHN0YXRlLm91dHB1dF9pc19maWxlIHtcbi0zODcgICAgICAgICAgICAgICAgIHN0YXRlLm91dHB1dF9maWxlLmFzX2RlcmVmKCkudW53cmFwX29yKFwiTm8gb3V0cHV0IGZpbGVcIilcbiszODcgICAgICAgICAgICAgICAgIHN0YXRlXG4rMzg4ICAgICAgICAgICAgICAgICAgICAgLm91dHB1dF9maWxlXG4rMzg5ICAgICAgICAgICAgICAgICAgICAgLmNsb25lKClcbiszOTAgICAgICAgICAgICAgICAgICAgICAudW53cmFwX29yX2Vsc2UofHwgXCJObyBvdXRwdXQgZmlsZVwiLmludG8oKSlcbiAzODggICAgICAgICAgICAgfSBlbHNlIHtcbiAzODkgICAgICAgICAgICAgICAgIGRyaXZlX21vZGVsXG4gMzkwICAgICAgICAgICAgICAgICAgICAgLnN0cmluZyhkcml2ZV9yb3cuc2VsZWN0ZWQoKSlcbiAzOTEgICAgICAgICAgICAgICAgICAgICAubWFwKHxzfCBzLnRvX3N0cmluZygpKVxuIDM5MiAgICAgICAgICAgICAgICAgICAgIC51bndyYXBfb3JfZWxzZSh8fCBcIk5vIGRyaXZlXCIuaW50bygpKVxuLTM5MyAgICAgICAgICAgICAgICAgICAgIC5sZWFrKClcbiAzOTQgICAgICAgICAgICAgfTtcbiAzOTUgICAgICAgICAgICAgbGV0IGRpYWxvZyA9IGFkdzo6QWxlcnREaWFsb2c6OmJ1aWxkZXIoKVxuIDM5NiAgICAgICAgICAgICAgICAgLmhlYWRpbmcoXCJSZWFkeSB0byB3cml0ZT9cIilcbiAzOTcgICAgICAgICAgICAgICAgIC5ib2R5KGZvcm1hdCEoXG4gICAgIC4uLiIsInBhdGNoIjoiLS0tIHNyYy9tYWluLnJzXG4rKysgc3JjL21haW4ucnNcbkBAIC0xLDYgKzEsNiBAQFxuIHVzZSBhZHc6OnByZWx1ZGU6Oio7XG4tdXNlIGd0azo6e2dpbywgZ2xpYn07XG4rdXNlIGd0azo6Z2xpYjtcbiB1c2Ugc3RkOjp7Y2VsbDo6UmVmQ2VsbCwgZnMsIHBhdGg6OlBhdGgsIHJjOjpSY307XG4gXG4gY29uc3QgQVBQX0lEOiAmc3RyID0gXCJvcmcuYWx0bGludXguRmxhc2hlclwiO1xuIGNvbnN0IEJPQVJEUzogJnN0ciA9IGluY2x1ZGVfc3RyIShcIi4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL1NVUFBPUlRFRC1CT0FSRFNcIik7XG5AQCAtNDIsMTEgKzQyLDExIEBAXG4gICAgIHRvb2xiYXJfdmlldy5hZGRfdG9wX2JhcigmaGVhZGVyKTtcbiBcbiAgICAgbGV0IHBhZ2UgPSBhZHc6OlByZWZlcmVuY2VzUGFnZTo6bmV3KCk7XG4gICAgIHBhZ2Uuc2V0X3RpdGxlKFwiQ3JlYXRlIEluc3RhbGxhdGlvbiBNZWRpYVwiKTtcbi0gICAgcGFnZS5zZXRfZGVzY3JpcHRpb24oU29tZShcbisgICAgcGFnZS5zZXRfZGVzY3JpcHRpb24oXG4gICAgICAgICBcIlByZXBhcmUgYW4gQUxUIExpbnV4IHJvb3QgZmlsZXN5c3RlbSBvciBkaXNrIGltYWdlIGZvciB5b3VyIGJvYXJkLlwiLFxuLSAgICApKTtcbisgICAgKTtcbiAgICAgdG9vbGJhcl92aWV3LnNldF9jb250ZW50KFNvbWUoJnBhZ2UpKTtcbiBcbiAgICAgLy8gU291cmNlXG4gICAgIGxldCBzb3VyY2VfZ3JvdXAgPSBhZHc6OlByZWZlcmVuY2VzR3JvdXA6OmJ1aWxkZXIoKVxuQEAgLTM4MywxNSArMzgzLDE3IEBAXG4gICAgICAgICAgICAgICAgIC5nZXQoYm9hcmRfcm93LnNlbGVjdGVkKCkgYXMgdXNpemUpXG4gICAgICAgICAgICAgICAgIC5tYXAoU3RyaW5nOjphc19zdHIpXG4gICAgICAgICAgICAgICAgIC51bndyYXBfb3IoXCJVbmtub3duIGJvYXJkXCIpO1xuICAgICAgICAgICAgIGxldCBkZXN0aW5hdGlvbiA9IGlmIHN0YXRlLm91dHB1dF9pc19maWxlIHtcbi0gICAgICAgICAgICAgICAgc3RhdGUub3V0cHV0X2ZpbGUuYXNfZGVyZWYoKS51bndyYXBfb3IoXCJObyBvdXRwdXQgZmlsZVwiKVxuKyAgICAgICAgICAgICAgICBzdGF0ZVxuKyAgICAgICAgICAgICAgICAgICAgLm91dHB1dF9maWxlXG4rICAgICAgICAgICAgICAgICAgICAuY2xvbmUoKVxuKyAgICAgICAgICAgICAgICAgICAgLnVud3JhcF9vcl9lbHNlKHx8IFwiTm8gb3V0cHV0IGZpbGVcIi5pbnRvKCkpXG4gICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgZHJpdmVfbW9kZWxcbiAgICAgICAgICAgICAgICAgICAgIC5zdHJpbmcoZHJpdmVfcm93LnNlbGVjdGVkKCkpXG4gICAgICAgICAgICAgICAgICAgICAubWFwKHxzfCBzLnRvX3N0cmluZygpKVxuICAgICAgICAgICAgICAgICAgICAgLnVud3JhcF9vcl9lbHNlKHx8IFwiTm8gZHJpdmVcIi5pbnRvKCkpXG4tICAgICAgICAgICAgICAgICAgICAubGVhaygpXG4gICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICBsZXQgZGlhbG9nID0gYWR3OjpBbGVydERpYWxvZzo6YnVpbGRlcigpXG4gICAgICAgICAgICAgICAgIC5oZWFkaW5nKFwiUmVhZHkgdG8gd3JpdGU/XCIpXG4gICAgICAgICAgICAgICAgIC5ib2R5KGZvcm1hdCEoXG4iLCJmaXJzdENoYW5nZWRMaW5lIjoyfSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODYyNTU2MX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjBlMGI5NmM5IiwicGFyZW50SWQiOiJjYzhkMGY3OCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTA6MzQuOTE2WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipQbGFubmluZyBjb21waWxlLXRpbWUgdHlwZSBjaGVja2luZyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzZDgzOGRjODE5MTk1M2FlMzI0ZmUwYmRjNTJcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1QYTZTS3M5WnNEcnZPVHp2dmdBTUY2cmZKMXdKSmxTSUxneEhVTG1hbTFDeUxhbFRneDhMMVpXVkdLZ3pyNUhtNWUwVUh3RlZnVm53RXV3YnJ6c1ZLaXJXY3UwQ1B4WEVta0lvM2NydDd2VTVkRnRWdWZLc2hKblRzNWZPNzhjSFRpVDFCMDJuZlZibk9DbGRlVEcyNllQUjUwNW5tMHZGMlBHdUZxS0h4LUNsQTQzT205UDF6NmpMdlFST0NnTGQxdzA3ZldETjN6eG92akRrb29INUc0OUs4QlZTODRJV29nYzdaZldRcFkzeVliVXY4di1nNTN2LXM1cjdwTG1rcUxWRWFRYXFGcDR6NkgzeThDT3dqcjBlUS04aDlvQ2IteC1DWGVzQzlic1RnamVCQWtMZFJlb0l3Q0hCQ0M3eFZvU0ZwSW5Ca3p2N1p0WEJ6X0tmRkRvUlZmdmhhVV9Da1pwRFVRUVJiWC1CVlluU3ctQkhCOHJrM25aeWtBU3NTOVg2cFVnQXpmS01USXc4QWMtOWJ1U2ZWaVF4TWlOQ2lEMUhVa1hjYU1Vbnd5WktyRm1IdmNDUlJYTVRkRnlObUgxVGRhelBoR1F0aGJhc0U3ZzFJYnpUTUJxTUZkUXltaWF0UlVfNUc5c0JUTVZYVGg4WGRKVXB2bWFwc0ZTZUdDVnpZQmc3QW5jT2NCb0NfNW5OcUdVdzVqOHBXTGxTVDhET1RPdFE4QVJ5TUJ3bm51c1VfMW1OaUo2Q2tCSi01cVRITTZfQ3ZJZWJpU2hPVllkcE9DVTM3WkFHakM2ZG1KQ25KX2dER0p2Y0dQRnMtVWFnZHBOZ1JtSVczWVNocWs3OExSSlZhY0dLR1ZVUzZTZFpSQl81ZlhtdEY2S09KYnhJUHpQUEZkenpmTEphLVRDMWxkMV9naHFzR0c5MFJRWmhzNVU3b24ydXdjSlgyYmFuV1V1ekVual9SUlJHTEQzYVNCN2JTV2lRQ092YVZmUU5VbkNjOS1OMnF3NUZjRFV0cEF5VVpuRElHVVNMME05ZEdocDBzc3JhMmxVb1VLZ3ZxZnBjY3RCRWFaRDZZNnRneFpHdlhpalNydll5aWd3aFFIZ2dQcURIRGhNcmFWTW83N1ltTk1VbFNPc053MmhBRGo5LXNFeDA4b1dvVGtjSm85eFhiRmVsZEp4Qm1iYlhQbnQxX3JYRmdLcVlpNm1jTXdCQ3RldWtkU2dQdENUZm4wSDhsV19UdnpmX0p6dlBLb25hRXYxMDNuNnhSZERrbFNfRG56LXhSbUF6TDRWeEd5dGxDNWlqX0x4bGc3Mk5BMWNmWGhRV0U3c0J3THJMZWV2RlZVRkJNRmNJcm5PbkFSMWtkd2w5TTVHTEUtZFktVVZtRVlaRUJmVGpGQ183NTFTZFYyY2NOX1Bnajh1eVo4NkZDWHZROThZWVp5YmkzeUFQMmN3dzE2QjZfWmduTS0wcExzVTJqcDlCZnlud2ZldDZsa3ZsdWJDWGJac3FLSzVxclhscWZOaEpzeDFJeHhuR0tLZU1NcnlOM0wzTXlLWUxMUDVLV3BZbDZQRjBVRkRhek9SR009XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBjb21waWxlLXRpbWUgdHlwZSBjaGVja2luZyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF8xemgwN2tNNkJaNG5IY3J1VTM1YkxQb1B8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzZGE0ZWRjODE5MTlmNDY0NzYzZTgzZWUyYmQiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9saWJhZHdhaXRhLXN5cy0wLjguMS9idWlsZC5ycyIsImxpbWl0Ijo4MH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxNTQ1LCJvdXRwdXQiOjExMCwiY2FjaGVSZWFkIjoyNjExMiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo0NSwidG90YWxUb2tlbnMiOjI3NzY3LCJjb3N0Ijp7ImlucHV0IjowLjAwNzcyNTAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMzMsImNhY2hlUmVhZCI6MC4wMTMwNTYsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyNDA4MDk5OTk5OTk5OTk5OH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4ODYyNTU2MiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzZDIwNjk4ODE5MWJmY2E0MjM1NWU3NGQ3M2UifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZDNlMzIxMzUiLCJwYXJlbnRJZCI6IjBlMGI5NmM5IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDozNC45MTlaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzF6aDA3a002Qlo0bkhjcnVVMzViTFBvUHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNkYTRlZGM4MTkxOWY0NjQ3NjNlODNlZTJiZCIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii8vIEdlbmVyYXRlZCBieSBnaXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9ndGstcnMvZ2lyIEAgYjNkNDQ0YTA1OGNmKVxuLy8gZnJvbVxuLy8gZnJvbSBnaXItZmlsZXMgKGh0dHBzOi8vZ2l0aHViLmNvbS9ndGstcnMvZ2lyLWZpbGVzLmdpdCBAIDVjMWU0OTBmZTUwYSlcbi8vIERPIE5PVCBFRElUXG5cbiNbY2ZnKG5vdChkb2NzcnMpKV1cbnVzZSBzdGQ6OnByb2Nlc3M7XG5cbiNbY2ZnKGRvY3NycyldXG5mbiBtYWluKCkge30gLy8gcHJldmVudCBsaW5raW5nIGxpYnJhcmllcyB0byBhdm9pZCBkb2N1bWVudGF0aW9uIGZhaWx1cmVcblxuI1tjZmcobm90KGRvY3NycykpXVxuZm4gbWFpbigpIHtcbiAgICBpZiBsZXQgRXJyKHMpID0gc3lzdGVtX2RlcHM6OkNvbmZpZzo6bmV3KCkucHJvYmUoKSB7XG4gICAgICAgIHByaW50bG4hKFwiY2FyZ286d2FybmluZz17c31cIik7XG4gICAgICAgIHByb2Nlc3M6OmV4aXQoMSk7XG4gICAgfVxufVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NjM0OTE5fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNjQ5N2UwMzIiLCJwYXJlbnRJZCI6ImQzZTMyMTM1IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDozNy44MzhaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkNoZWNraW5nIGNyYXRlIGZlYXR1cmUgZmxhZ3MqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2RjYmNhMDgxOTE4MGQ4ZDFmY2EzNTIzMDQ1XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNUGRlc3FRbW84Q18tN1EtVEhWVkhCV2VmN3BDYXcwb2JGZWg1d0I5MTQweFpPLUNzbk1hTmJIbEp2dGhOTUttODdHNU1NWHNSQTVFZ3ZYa2Vxa2tQcDVhRExGeWZsQ29ZSzREeHRWbGswUmwtZjJjazNtaWdDY1pUVFlJeDU4RVFpRFp4akNQcEVlR0xTZXJCaXRCNUhnek15bXlhdVRaTFR3cE1kdmpjNVBZNzdwc213bmlpUFJPN2lYZlVXOV9HMXpQMktwcWJFOTk3SXQ3MlNRdWdXN3NNOHpaeTBMeUdmMnZJcHVLc1FBdzBMS0JlVGRpN1I5cmR5VUNjQ2pGamViUnUyd0xyTTZONlY1b3JXNnRXVWw4VzNmai1uaVVGUjZ4UWFwenR0X1FBYVg0VG5OVGk4bEtKcDdVclpWLTFEcHYyV0RueXNqOWJ0T0FqY283Zmd5eWd5bnQ3ZXU5aDhPUU1TeXdpbXBEZFlGX3NQOWs4QzhVc3hocWpaMTE0eEZfWDRFejBfYVZNUmpPVjN5djhmYkNwdzQ4eFRzdDNveDBwdWo5Ukw1b08tZ2FzeTIwU2luQ04zaVI4UXZkaWZ0TC1UVVByRFlRVzRxU19zaW9VY2pPY2wzcEVwOG1CeHVFeDQ5SWNwdjNTd2pUU2c4eUtIUDIxNXhpWkdTRzV1MHhWeE1PZDk2SGhWcFpDOFc1Q0VsMl9UWms3STJhVjF5TlRBbllLMGZZWU9pOWZ0N1J4eTNKSTZNUWRqckpIX0ZEcUlVakI3R2NrTzl6T0t6U2tWLWpIVXVRWjg4QlcyeEx0SVB5Szg3ekRuR0c1aFl1RjU5cDd5aVVOMTVBQkVTQkFLc1daaXBZYVZ1UW5jZkhXalNib0FGNUpVRXVlTkhfX1BNVWJQX2hUWVpkZ2hTeC05UXE2N2J5cjF5YjRfRFRDN3FWYjlLcHVxdzA4Rkt6WXVKbHZNbE1kamJnc0pSUDFDTkpJckVVY1NxakZaRkVwMFQySHp0TmMzQ3VTY09Ga1M2S3RGVU1tRUNzcHJzNWRXdUduZEN1ei04eDZ1bGtJWlpEQ1c5LWFFb0xqWGhhU1lQNGNjSFBrZXVQYUZ2VDhLVWFNbGpDSXRnMnZ5dHBVeGRJdmRFaVhLNTR1WkpHLU9zbnNUMC1nOXBFcGxHQ25faHJtbnQySFlJTGpTWDVmQU92VUhDeW56T0szWGY4ZEFUY1cwODJBM2VRTjFpVEJoeHpfckpQcDJuVlYzVkgyZEprX3RqS2pROVJCSm5Rb1F2UmRIVGJ5YkxmTHN5NldYYjZQMzZKTzZwb3RGRHBLemtHZmhtM011Q1dYTFlna0hzYzh3TlF1VDhfSjZjXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipDaGVja2luZyBjcmF0ZSBmZWF0dXJlIGZsYWdzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX2FGRE9tUmRCcDRIYTV1VkxqNlBBa3pIa3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNkZDlkZTg4MTkxYTBhZTVhODIyZDJmODU1NyIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJSVVNURkxBR1M9Jy0tY2ZnIGRvY3NycycgY2FyZ28gY2hlY2siLCJ0aW1lb3V0IjoxMjB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6Nzc4LCJvdXRwdXQiOjU2LCJjYWNoZVJlYWQiOjI3MTM2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjIyLCJ0b3RhbFRva2VucyI6Mjc5NzAsImNvc3QiOnsiaW5wdXQiOjAuMDAzODkwMDAwMDAwMDAwMDAwMiwib3V0cHV0IjowLjAwMTY4LCJjYWNoZVJlYWQiOjAuMDEzNTY4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMTkxMzgwMDAwMDAwMDAwMDJ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODg2MzQ5MjAsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2RiM2NlMDgxOTE5ZDY2ZDRkZDQ0N2Q4MDk5In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijg2MDM2MDY0IiwicGFyZW50SWQiOiI2NDk3ZTAzMiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTA6MzguNzc2WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9hRkRPbVJkQnA0SGE1dVZMajZQQWt6SGt8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzZGQ5ZGU4ODE5MWEwYWU1YTgyMmQyZjg1NTciLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICBDb21waWxpbmcgd2lubm93IHYxLjAuNFxuICAgQ29tcGlsaW5nIHRvbWxfZGF0ZXRpbWUgdjEuMS4xK3NwZWMtMS4xLjBcbiAgIENvbXBpbGluZyB0YXJnZXQtbGV4aWNvbiB2MC4xMy41XG4gICBDb21waWxpbmcgaGVjayB2MC41LjBcbiAgIENvbXBpbGluZyBzbWFsbHZlYyB2MS4xNS4yXG4gICBDb21waWxpbmcgc2VyZGVfc3Bhbm5lZCB2MS4xLjFcbiAgIENvbXBpbGluZyB2ZXJzaW9uLWNvbXBhcmUgdjAuMi4xXG4gICBDb21waWxpbmcgcGtnLWNvbmZpZyB2MC4zLjMzXG4gICBDb21waWxpbmcgbGliYyB2MC4yLjE4OVxuICAgQ29tcGlsaW5nIHByb2MtbWFjcm8yIHYxLjAuMTA3XG4gICBDb21waWxpbmcgcXVvdGUgdjEuMC40N1xuICAgQ29tcGlsaW5nIHVuaWNvZGUtaWRlbnQgdjEuMC4yNFxuICAgQ29tcGlsaW5nIGhhc2hicm93biB2MC4xNy4xXG4gICBDb21waWxpbmcgZXF1aXZhbGVudCB2MS4wLjJcbiAgICBDaGVja2luZyBmdXR1cmVzLWNvcmUgdjAuMy4zM1xuICAgIENoZWNraW5nIHBpbi1wcm9qZWN0LWxpdGUgdjAuMi4xN1xuZXJyb3JbRTA1NTRdOiBgIyFbZmVhdHVyZV1gIG1heSBub3QgYmUgdXNlZCBvbiB0aGUgc3RhYmxlIHJlbGVhc2UgY2hhbm5lbFxuIC0tPiAvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3RvbWxfZGF0ZXRpbWUtMS4xLjErc3BlYy0xLjEuMC9zcmMvbGliLnJzOjU6MjFcbiAgfFxuNSB8ICMhW2NmZ19hdHRyKGRvY3NycywgZmVhdHVyZShkb2NfY2ZnKSldXG4gIHwgICAgICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5eXl5eXG5cbmVycm9yW0UwNTU0XTogYCMhW2ZlYXR1cmVdYCBtYXkgbm90IGJlIHVzZWQgb24gdGhlIHN0YWJsZSByZWxlYXNlIGNoYW5uZWxcbiAtLT4gL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zZXJkZV9zcGFubmVkLTEuMS4xL3NyYy9saWIucnM6ODoyMVxuICB8XG44IHwgIyFbY2ZnX2F0dHIoZG9jc3JzLCBmZWF0dXJlKGRvY19jZmcpKV1cbiAgfCAgICAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5cblxuZXJyb3JbRTA1NTRdOiBgIyFbZmVhdHVyZV1gIG1heSBub3QgYmUgdXNlZCBvbiB0aGUgc3RhYmxlIHJlbGVhc2UgY2hhbm5lbFxuICAtLT4gL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zbWFsbHZlYy0xLjE1LjIvc3JjL2xpYi5yczo5MzoyMVxuICAgfFxuOTMgfCAjIVtjZmdfYXR0cihkb2NzcnMsIGZlYXR1cmUoZG9jX2NmZykpXVxuICAgfCAgICAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5cblxuICAgIENoZWNraW5nIGZ1dHVyZXMtdGFzayB2MC4zLjMzXG4gICAgQ2hlY2tpbmcgc2xhYiB2MC40LjEyXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGVycm9yLCB0cnkgYHJ1c3RjIC0tZXhwbGFpbiBFMDU1NGAuXG5lcnJvcjogY291bGQgbm90IGNvbXBpbGUgYHNlcmRlX3NwYW5uZWRgIChsaWIpIGR1ZSB0byAxIHByZXZpb3VzIGVycm9yXG53YXJuaW5nOiBidWlsZCBmYWlsZWQsIHdhaXRpbmcgZm9yIG90aGVyIGpvYnMgdG8gZmluaXNoLi4uXG5lcnJvcltFMDU1NF06IGAjIVtmZWF0dXJlXWAgbWF5IG5vdCBiZSB1c2VkIG9uIHRoZSBzdGFibGUgcmVsZWFzZSBjaGFubmVsXG4gIC0tPiAvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3dpbm5vdy0xLjAuNC9zcmMvbGliLnJzOjQ5OjIxXG4gICB8XG40OSB8ICMhW2NmZ19hdHRyKGRvY3NycywgZmVhdHVyZShkb2NfY2ZnKSldXG4gICB8ICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXlxuICAgfFxuICAgPSBoZWxwOiB0aGUgZmVhdHVyZSBgZXh0ZW5kZWRfa2V5X3ZhbHVlX2F0dHJpYnV0ZXNgIGhhcyBiZWVuIHN0YWJsZSBzaW5jZSBgMS41NC4wYCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGFuIGF0dHJpYnV0ZSB0byBlbmFibGVcblxuZXJyb3I6IGNvdWxkIG5vdCBjb21waWxlIGB0b21sX2RhdGV0aW1lYCAobGliKSBkdWUgdG8gMSBwcmV2aW91cyBlcnJvclxuZXJyb3I6IGNvdWxkIG5vdCBjb21waWxlIGBzbWFsbHZlY2AgKGxpYikgZHVlIHRvIDEgcHJldmlvdXMgZXJyb3JcbmVycm9yOiBjb3VsZCBub3QgY29tcGlsZSBgd2lubm93YCAobGliKSBkdWUgdG8gMSBwcmV2aW91cyBlcnJvclxuXG5cbkNvbW1hbmQgZXhpdGVkIHdpdGggY29kZSAxMDEifV0sImRldGFpbHMiOnt9LCJpc0Vycm9yIjp0cnVlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg2Mzg3NzZ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI1MTU2ZDM4ZSIsInBhcmVudElkIjoiODYwMzYwNjQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEwOjQzLjA2MloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2UxZTA1YzgxOTFhOGY4ZTQyZDNmMjk2ODU1XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNUGlrSGMzN0s4ZW1XX3BsWVFDQW8wUEtoamtJOW1Ic0xVZ1BNVjdHblNyOTdsWnVOT2VSdUJOdl9WMDhlZEtPWnJ6YlpEd0FBVThtemVBcldfLTkzTlhadWlDdFJnUDhMUUdwVE9COGQxNnRqMV9xM3d5VlJyaWlLQWd4VGdSRFg5blN0QWFxY3ZNSVhZeW5ld18wQnhiMFhNSDZvdjR5QU5YQXNWTFF0dzhqbm4yZ05SbjRVYUstb01rd01GM1ZYVkJ4Sm0yLV92MXVDbnZJUEFrakZYTDRRZUxtWlN1YTBQaElvVmJweUpwZVprQXA1ZksyVU84aW02c3F3ekhGTVVWLUgtWDdaNlpreGFLWmlWTnZTY3BubkRHQ2MxRGtNUXNhWEhWaFl6RF9QRjROMG9GRTA3OWVXUmRraFUyaVkzdTlPRHpQNWJ2aVZsWElBdHpDdm45QnhpRU52MTAzRGJGNkpVTi1zMURRaUhfUU1OQ25BV2hTYVFPR2dOUzhHejNVU3dGMDBsYno4b0owQXQxYkZWamtuS3gzaFNsbl94TkVWT1NyZjYwa2NodF9xRkpkazhEWmx2a1B5OVJReUhTOW1IUE9tNE9JN2NWWHB6RTJFVEFXOTlrQVBRQ01zYU5nUVhxUkxiYXVKT3hZMTc0X2VqaEdWUl9aUXZYMUUxZDVqdGJJUEN4ZlBYTWhTa0ZpdHRfTlF3dF9KWkF0QmpIbHV6bjVKSEU2SUxRcFBuX09rOFBsX0V2ZThLajM3a25hdnd0UkNuQXoxTVh2enQ2SmdudFFWRGdYSFZXem8xZ0lkWHlYX2JmYnhQZWFQdkRIYzdTOEFwYUNjS21rUnBmSmdjdkNtM1ctR3g2S1lvS2Z0MmZlQkk3bmxFTXRHT3d4UEVGbnVpQXFhbGxTUklKX2JtZGxmMUJKZDJiQjNZcHVYLW44czlqelZNUE1CU215Z2xKTlRNczhvT1dTOGI1aGE5M08xdTAxamlCUjVBWmYwZ3haR2doaEFaOEpqQ1hKUDN2Yy1UUnd6VTBseEo1YXZOZGY5eF9KTGxEYVpPQncyRTRISFY0ZXFrV0ZZQ2VYN3VhZDBrckhOSVE1ZUxxQ01GSzAxZTV2QmRHUUZjUlFJbVlNUmRGSUtpNXBvREFjWEZ3S25DZmJXWVVPLVNTS1AtdzNqWE5LOFJ0TGY1RnphN0ZyNjV0NXRIRlZGQVNBb0FQTmNVLTdpNnlQQjFpSlhEQ251RE9oSFJhZ25XMVZPYlR3MnQzaUl3SkNQQzlcIixcInN1bW1hcnlcIjpbXX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9wY0E0NlFycVVQWXB4VzhvUENnNk5ueTl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzZTJkNzE4ODE5MTgwNjY3Zjc4YzZmNjExNWMiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiUlVTVENfQk9PVFNUUkFQPTEgUlVTVEZMQUdTPSctLWNmZyBkb2NzcnMnIGNhcmdvIGNoZWNrIiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE1OTksIm91dHB1dCI6NTUsImNhY2hlUmVhZCI6MjcxMzYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTMsInRvdGFsVG9rZW5zIjoyODc5MCwiY29zdCI6eyJpbnB1dCI6MC4wMDc5OTUsIm91dHB1dCI6MC4wMDE2NSwiY2FjaGVSZWFkIjowLjAxMzU2OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDIzMjEzfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg4NjM4Nzc3LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNkZjE5MzQ4MTkxYjRmOWRlNDg2NjUzNDNkYSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIzOGUyODJkZiIsInBhcmVudElkIjoiNTE1NmQzOGUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEwOjQ1LjgxM1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfcGNBNDZRcnFVUFlweFc4b1BDZzZObnk5fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2UyZDcxODgxOTE4MDY2N2Y3OGM2ZjYxMTVjIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgQ29tcGlsaW5nIHdpbm5vdyB2MS4wLjRcbiAgIENvbXBpbGluZyB0b21sX2RhdGV0aW1lIHYxLjEuMStzcGVjLTEuMS4wXG4gICBDb21waWxpbmcgc21hbGx2ZWMgdjEuMTUuMlxuICAgQ29tcGlsaW5nIHNlcmRlX3NwYW5uZWQgdjEuMS4xXG4gICBDb21waWxpbmcgdGFyZ2V0LWxleGljb24gdjAuMTMuNVxuICAgQ29tcGlsaW5nIGxpYmMgdjAuMi4xODlcbiAgIENvbXBpbGluZyBwcm9jLW1hY3JvMiB2MS4wLjEwN1xuICAgQ29tcGlsaW5nIHF1b3RlIHYxLjAuNDdcbiAgIENvbXBpbGluZyBpbmRleG1hcCB2Mi4xNC4wXG4gICAgQ2hlY2tpbmcgZnV0dXJlcy1jaGFubmVsIHYwLjMuMzNcbiAgICBDaGVja2luZyBtZW1jaHIgdjIuOC4zXG4gICAgQ2hlY2tpbmcgYml0ZmxhZ3MgdjIuMTMuMVxuICAgIENoZWNraW5nIGZ1dHVyZXMtaW8gdjAuMy4zM1xuICAgQ29tcGlsaW5nIHNlbXZlciB2MS4wLjI4XG4gICBDb21waWxpbmcgYXV0b2NmZyB2MS41LjFcbiAgIENvbXBpbGluZyBydXN0Y192ZXJzaW9uIHYwLjQuMVxuICAgQ29tcGlsaW5nIGNmZy1leHByIHYwLjIwLjhcbiAgIENvbXBpbGluZyBtZW1vZmZzZXQgdjAuOS4xXG4gICBDb21waWxpbmcgZmllbGQtb2Zmc2V0IHYwLjMuNlxuICAgQ29tcGlsaW5nIHN5biB2Mi4wLjExOVxuICAgQ29tcGlsaW5nIHRvbWxfcGFyc2VyIHYxLjEuMitzcGVjLTEuMS4wXG4gICBDb21waWxpbmcgdG9tbCB2MS4xLjMrc3BlYy0xLjEuMFxuICAgQ29tcGlsaW5nIHRvbWxfZWRpdCB2MC4yNS4xMytzcGVjLTEuMS4wXG4gICBDb21waWxpbmcgc3lzdGVtLWRlcHMgdjcuMC44XG4gICBDb21waWxpbmcgcHJvYy1tYWNyby1jcmF0ZSB2My41LjBcbiAgIENvbXBpbGluZyBnbGliLXN5cyB2MC4yMS41XG4gICBDb21waWxpbmcgZ29iamVjdC1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdpby1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIHBhbmdvLXN5cyB2MC4yMS41XG4gICBDb21waWxpbmcgZ2RrLXBpeGJ1Zi1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGNhaXJvLXN5cy1ycyB2MC4yMS41XG4gICBDb21waWxpbmcgZ3JhcGhlbmUtc3lzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBnZGs0LXN5cyB2MC4xMC4zXG4gICBDb21waWxpbmcgZ3NrNC1zeXMgdjAuMTAuM1xuICAgQ29tcGlsaW5nIGd0azQtc3lzIHYwLjEwLjNcbiAgIENvbXBpbGluZyBsaWJhZHdhaXRhLXN5cyB2MC44LjFcbndhcm5pbmc6IGd0azQtc3lzQDAuMTAuMzogXG5lcnJvcjogZmFpbGVkIHRvIHJ1biBjdXN0b20gYnVpbGQgY29tbWFuZCBmb3IgYGd0azQtc3lzIHYwLjEwLjNgXG5cbkNhdXNlZCBieTpcbiAgcHJvY2VzcyBkaWRuJ3QgZXhpdCBzdWNjZXNzZnVsbHk6IGAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9ndGs0LXN5cy03ZjU1M2FhYjQzYjdkODY2L2J1aWxkLXNjcmlwdC1idWlsZGAgKGV4aXQgc3RhdHVzOiAxKVxuICAtLS0gc3Rkb3V0XG4gIGNhcmdvOnJlcnVuLWlmLWNoYW5nZWQ9L2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9ndGs0LXN5cy0wLjEwLjMvQ2FyZ28udG9tbFxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1HVEs0X05PX1BLR19DT05GSUdcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR194ODZfNjQtdW5rbm93bi1saW51eC1nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR194ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19QQVRIX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1BBVEhfeDg2XzY0X3Vua25vd25fbGludXhfZ251XG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPUhPU1RfUEtHX0NPTkZJR19QQVRIXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfUEFUSFxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX0xJQkRJUl94ODZfNjQtdW5rbm93bi1saW51eC1nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19MSUJESVJfeDg2XzY0X3Vua25vd25fbGludXhfZ251XG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPUhPU1RfUEtHX0NPTkZJR19MSUJESVJcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19MSUJESVJcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19TWVNST09UX0RJUl94ODZfNjQtdW5rbm93bi1saW51eC1nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19TWVNST09UX0RJUl94ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHX1NZU1JPT1RfRElSXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfU1lTUk9PVF9ESVJcbiAgY2FyZ286d2FybmluZz1cbiAgcGtnLWNvbmZpZyBleGl0ZWQgd2l0aCBzdGF0dXMgY29kZSAxXG4gID4gUEtHX0NPTkZJR19BTExPV19TWVNURU1fQ0ZMQUdTPTEgcGtnLWNvbmZpZyAtLWxpYnMgLS1jZmxhZ3MgZ3RrNCAnZ3RrNCA+PSA0LjEwJ1xuXG4gIHBrZy1jb25maWcgb3V0cHV0OlxuICAgIFBhY2thZ2UgZ3RrNCB3YXMgbm90IGZvdW5kIGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBwYXRoLlxuICAgIFBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGBndGs0LnBjJ1xuICAgIHRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGVcbiAgICBObyBwYWNrYWdlICdndGs0JyBmb3VuZFxuICAgIFBhY2thZ2UgZ3RrNCB3YXMgbm90IGZvdW5kIGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBwYXRoLlxuICAgIFBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGBndGs0LnBjJ1xuICAgIHRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGVcbiAgICBObyBwYWNrYWdlICdndGs0JyBmb3VuZFxuXG4gIFRoZSBzeXN0ZW0gbGlicmFyeSBgZ3RrNGAgcmVxdWlyZWQgYnkgY3JhdGUgYGd0azQtc3lzYCB3YXMgbm90IGZvdW5kLlxuICBUaGUgZmlsZSBgZ3RrNC5wY2AgbmVlZHMgdG8gYmUgaW5zdGFsbGVkIGFuZCB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIG11c3QgY29udGFpbiBpdHMgcGFyZW50IGRpcmVjdG9yeS5cbiAgVGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0LlxuXG4gIEhJTlQ6IGlmIHlvdSBoYXZlIGluc3RhbGxlZCB0aGUgbGlicmFyeSwgdHJ5IHNldHRpbmcgUEtHX0NPTkZJR19QQVRIIHRvIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBgZ3RrNC5wY2AuXG5cbndhcm5pbmc6IGJ1aWxkIGZhaWxlZCwgd2FpdGluZyBmb3Igb3RoZXIgam9icyB0byBmaW5pc2guLi5cblxuXG5Db21tYW5kIGV4aXRlZCB3aXRoIGNvZGUgMTAxIn1dLCJkZXRhaWxzIjp7fSwiaXNFcnJvciI6dHJ1ZSwidGltZXN0YW1wIjoxNzg0OTg4NjQ1ODEzfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNGFhYjRkNjMiLCJwYXJlbnRJZCI6IjM4ZTI4MmRmIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDo1MS44ODBaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkludmVzdGlnYXRpbmcgYnVpbGQgc2NyaXB0IFJVU1RGTEFHUyB2aXNpYmlsaXR5KioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNlN2RjNWM4MTkxOGI2ODNmZWE1YWExZDE3YlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTVByUWJuSmcxdDBvazZZQTV4Y25BajRoUHpyQUhfcDZCajloamllVFZyRy1uWEhCei1KTE1iSmZZdHNIMW9hU3pKQzBVUHppTWpxTlBHU2xfX2NiWE54NVpxOHE1N3FMbXFWSXJvNzFqYS16eURpRmZMalh2bjhzR2Z2eTk3VnVGa1k3UmplNXU0NC15ZDVJbEN4X2VrenBuV0xYRlR1c2tXcUVrb1ZBVjByRkh1ZW5PVTk5RW1HZjFJbkQtUG9FYndCcUVVWVJhYkUyT2NDRlFGTWtrZ2ZaNjhOWGJWbzEzUHZlRUdwX2UyR0lWWTYzdHQycjF2MkZtY09udUx5TkM5OVNTWmZYNXR3ZUpZLWJyVnNNeFdNb3RxeUFQdXZYSkt6Qk1HNnpuZEV4czdsZlBEMjR0ODZremhOSDJDY2txazlBTnVqQVZ2OUctYUk4YkIwdXp0Tjh1eXVXaEpnWTJKWWV4Z3gwUHA1LVZUZWgtWUtfYnVPZnY1Q3h5QnlSTTdNRnNBcjYwUHBvd1R4ZkgzR3VyRnUtb2VGU1Q3MjBBUTBLczBmN294MHBZV0hYTUJ4S24tN3JKSE9XdXNZTkN5QndrTTFiU3ZWMDk0ZXN2dlFDbERSMVltdWlQZXc5b2FNbFJPeEJBN0htRE15OFhhWTFYSTFDSE9Ub3hZS19TOGRaREtuOTNTR3Z4THdJM2t2N2lCT1RaZElLQ0ROanp2Rms5VlcyQS1SanNpX0pLdUkwODJlQzRCOFpISUk3MzFmUFdnTmlhVlRJdnVhSXVuZUdYOGVmajRXU3RkbjUzcDhtTmctMGJSVFk5bThTVWo5Tk5FRE9jOXdsb0JNRnhhaEdaQVF0RGFFckNPYjR4bjAyMmZZN3k0UjNtYnZZRXVkUDQ1ZXVpMzhpMTFwRlZfNU50bWlZR3p0eVJ6Vk41Nmc4TUNSM2lLVXlJWWs4MVU5LUpQMUtsYkNkQTNmR1ZKemtnbVJiZTRQekE0eUZNaFEtb3BaaVk3WE9ULW5zUTB0c0NQMWlhcGkzUWViUDcwemNsU1c0V1JzNEZhdFNnUHB2QnlmaEpsWl8ySUJIcHNEajlmd3JoMGVnMmhhZFlWakFocmktMXREbFRULV9MdTN4MEZ5YTB0Mmp1dVIwVXZCYng2VHE4bFJnVFlFd2Z5UUNkUnU4RjhqbVhxajkyWVB6YVdzTndsWGFPWUlGazdfSkNGWU9SUFd5ZGtOMkhCNml5cDIxVGpOamN6OTR5cjM2bjBFM1JpYloyZG8wXzRzY21ZSm12M3p0WVlTc2JYR0ZHUGFKbDdscFBKMDZlZG9IZ2tUNjFDMjJwcDVyRjBoVVJuYnY1WlNHM3M3U3VLTDEwZm9BZEkzQXQ3M29Jc01XMFc4S2tiZ2JFbzFHUG5tUTJCNHdGN09aeHM5NnVXajZqRXRRMk1JWFdFVG5nQlZvQXNkZmM2cFhpM2xZa2NZTG5pUXd2N1h3ZGdlLXJVSFhWY2lVWlJ4Y1E5VU5temtKd0RUbHl0N1RtYXo5V1ZTMFdQWE1SN2FPTk1VeDdLeGFrRGx3elQxLVA0NmhZRGlMREJLRmFVdVpNVT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkludmVzdGlnYXRpbmcgYnVpbGQgc2NyaXB0IFJVU1RGTEFHUyB2aXNpYmlsaXR5KipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0tyck9UQ0wxaHBOS3pIN1lvQW1YOURQUHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNlYmE3OWM4MTkxODJlZWRmZmQ1Y2ZjZmFjMSIsIm5hbWUiOiJyZWFkIiwiYXJndW1lbnRzIjp7InBhdGgiOiIvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2d0azQtc3lzLTAuMTAuMy9idWlsZC5ycyIsImxpbWl0Ijo0MH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxODY1LCJvdXRwdXQiOjExNCwiY2FjaGVSZWFkIjoyODE2MCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo1MCwidG90YWxUb2tlbnMiOjMwMTM5LCJjb3N0Ijp7ImlucHV0IjowLjAwOTMyNSwib3V0cHV0IjowLjAwMzQyMDAwMDAwMDAwMDAwMDMsImNhY2hlUmVhZCI6MC4wMTQwNzk5OTk5OTk5OTk5OTksImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyNjgyNDk5OTk5OTk5OTk5OH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4ODY0NTgxNSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzZTYyM2NjODE5MTk5ZGMxYjJhYWU5NzViZGMifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNmRlNjI3ZmYiLCJwYXJlbnRJZCI6IjRhYWI0ZDYzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDo1MS44ODNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0tyck9UQ0wxaHBOS3pIN1lvQW1YOURQUHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNlYmE3OWM4MTkxODJlZWRmZmQ1Y2ZjZmFjMSIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii8vIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IGdpciAoaHR0cHM6Ly9naXRodWIuY29tL2d0ay1ycy9naXIpXG4vLyBmcm9tIGdpci1maWxlcyAoaHR0cHM6Ly9naXRodWIuY29tL2d0ay1ycy9naXItZmlsZXMpXG4vLyBETyBOT1QgRURJVFxuXG5mbiBtYWluKCkge1xuICAgIGlmIHN0ZDo6ZW52Ojp2YXIoXCJET0NTX1JTXCIpLmlzX29rKCkge1xuICAgICAgICAvLyBwcmV2ZW50IGxpbmtpbmcgbGlicmFyaWVzIHRvIGF2b2lkIGRvY3VtZW50YXRpb24gZmFpbHVyZVxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgbGV0IEVycihzKSA9IHN5c3RlbV9kZXBzOjpDb25maWc6Om5ldygpLnByb2JlKCkge1xuICAgICAgICBwcmludGxuIShcImNhcmdvOndhcm5pbmc9e3N9XCIpO1xuICAgICAgICBzdGQ6OnByb2Nlc3M6OmV4aXQoMSk7XG4gICAgfVxufVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NjUxODgyfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiODgwMjJlZTgiLCJwYXJlbnRJZCI6IjZkZTYyN2ZmIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDo1Ny4zMTlaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkNvbWJpbmluZyBET0NTX1JTIGFuZCBydXN0IGNmZyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzZWZiYTZjODE5MWEzYTc5Yzg0MDc3NTEwOTNcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1QdzNaQWF3cUFXVzRmeU5OaV9VdWQ5SVF4amI4Y2F0ekdpWXFnNGFteTFyUlJjVzRmMDEwVW5xWW1JVDJvZHFzNEdxM0RwTndEeGJJeHBrV2xDYWpzU00ya3NNQ2JMS3ZmNTVnOFp0TXJjXzVNdWdRdTBUM2oyLUpPcXpweXFhengzNXROWEYzbkNxaEpWN0swR3kycTBEYm5rVXFpWnZCNUdjQmZOa0gwUFVJd2d3aHBzczBMY2lCaVVROEtJeTlRMGFYaGd2LUdDN2drWk8yOF8xdzVHbDRVZE5mSjRTemktV2ZmcjZyOGtuTnphSjNYRExhX25VRnliajhVYlpZY2dDaUJrSUEzUWJDVzdpaERWRjJzM0NocnJyNXZ5LWswc1VSZXUzQTZCNS0yb2NCal9abHY2bzNLVFc2dDVhX1dyejNITzJTNFJtOUJHeXRDRklLZVU0QXg1ZXRmTU16X2N1UnJwSExiYW5ENGo2RDFwdG9OTUIxVXFUdl9GSnZnczRNc3JaeGRaWUVWZmpKY1VBdEUxVG45UGRyVDFDZTE5SlVydVBMWVVoVUZLV3RwSi03Z0xpbUl4TEY0eW9ra2duS3BuZ2Nqby03S3hLMGU1ZVBSLVNKMHFXWklYU2NSUjJhZUNPU3ZBRU14Zmh0U2xzY1VVNG9xNGtBMVdHQ1RrY0w3NFV3QWd0ekNQNTFJRFI3eUxHUE1uRU1HM0ppRHZqVktiaFlsSlZJNDg2dC14OFpDN0JhMV9BdHV0RHRwTUJ5dlRVUXFudmdNU3R4TDVoSUhuMEVlaVFGS1ZWZS1oS1hmQ3ctX3ZuU25QX09FQjJrTEpXcW12eDRPajZGRjNjOWdpNmRXQW03UEE0emRuaGRpeHBjdTZGZVk3MWNtTkg3ejkyZnJHRmkzMmxXM1NKbGZTZkZ3ZEpDZk0xYzFRNFdnSVI0OUx2WEw4STBidjRoMURQSmdKaEFKR0FRcjF1WE9ndGFxVGh5Nkp2SWdMc3hPZ2pYRWcwQjJBbGs4RjRtc3NiWWxiMkdOUkltM2xfVmZQMEVDbnYyY0lJbnNENzZsUEFkQXhQRXNkZUtmeU13TnFkWXRCS0stM3NZcFRwM3NDQUtLMERVSU1VTzJpZDgzUUczS0ZkUDhieGhGc3BLY1JOV3J5QjdLaGFkT0VqQUhyUk5ucjlQc05XOWdKV3pxeUJCQlltV1UxODZ2aUVQaWZmckV4YmhCMGY0ZlVZV0dWSUFVNEZETkc4akJhSzVNcl92MDgtdFFUSGswNDA3bWNUYUNQakEtVmQzSUVnYng4RWFsMWt5NFVCMm9DalJ4eGpiTjZUUHp6YUh6Z0VtNVVfSU1KRkVsdWlTd1lUR0NyR05tbDVvSWVNNHRhQWlrUWpJWHMxakZTeWV2NldxdjluQlN6XzAwPVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqQ29tYmluaW5nIERPQ1NfUlMgYW5kIHJ1c3QgY2ZnKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0t2OUlHWE9aWDBvdGN4b0Q3Z1BSQ0pCRXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNmMGI0OTg4MTkxYjA3YzkwMmVlN2RhN2RhNSIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJET0NTX1JTPTEgUlVTVENfQk9PVFNUUkFQPTEgUlVTVEZMQUdTPSctLWNmZyBkb2NzcnMnIGNhcmdvIGNoZWNrIiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEwNzgsIm91dHB1dCI6ODMsImNhY2hlUmVhZCI6MjkxODQsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MzYsInRvdGFsVG9rZW5zIjozMDM0NSwiY29zdCI6eyJpbnB1dCI6MC4wMDUzOTAwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDI0OSwiY2FjaGVSZWFkIjowLjAxNDU5MTk5OTk5OTk5OTk5OSwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDIyNDcyfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg4NjUxODgzLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNlYzM0YzQ4MTkxYTU1ZmFjZjYwZGQxNjhjMiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIwYjAwOTc2NSIsInBhcmVudElkIjoiODgwMjJlZTgiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjExOjM2LjU0N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfS3Y5SUdYT1pYMG90Y3hvRDdnUFJDSkJFfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2YwYjQ5ODgxOTFiMDdjOTAyZWU3ZGE3ZGE1IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgQ29tcGlsaW5nIGZ1dHVyZXMtbWFjcm8gdjAuMy4zM1xuICAgQ29tcGlsaW5nIGdsaWItbWFjcm9zIHYwLjIxLjVcbiAgIENvbXBpbGluZyBndGs0LW1hY3JvcyB2MC4xMC4zXG4gICBDb21waWxpbmcgZ2xpYi1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdvYmplY3Qtc3lzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBnaW8tc3lzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBwYW5nby1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdkazQtc3lzIHYwLjEwLjNcbiAgIENvbXBpbGluZyBncmFwaGVuZS1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdzazQtc3lzIHYwLjEwLjNcbiAgIENvbXBpbGluZyBndGs0LXN5cyB2MC4xMC4zXG4gICBDb21waWxpbmcgbGliYWR3YWl0YS1zeXMgdjAuOC4xXG4gICAgQ2hlY2tpbmcgY2Fpcm8tc3lzLXJzIHYwLjIxLjVcbiAgICBDaGVja2luZyBmdXR1cmVzLXV0aWwgdjAuMy4zM1xuICAgIENoZWNraW5nIGdkay1waXhidWYtc3lzIHYwLjIxLjVcbiAgICBDaGVja2luZyBmdXR1cmVzLWV4ZWN1dG9yIHYwLjMuMzNcbiAgICBDaGVja2luZyBnbGliIHYwLjIxLjVcbiAgICBDaGVja2luZyBnaW8gdjAuMjEuNVxuICAgIENoZWNraW5nIGNhaXJvLXJzIHYwLjIxLjVcbiAgICBDaGVja2luZyBncmFwaGVuZS1ycyB2MC4yMS41XG4gICAgQ2hlY2tpbmcgcGFuZ28gdjAuMjEuNVxuICAgIENoZWNraW5nIGdkay1waXhidWYgdjAuMjEuNVxuICAgIENoZWNraW5nIGdkazQgdjAuMTAuM1xuICAgIENoZWNraW5nIGdzazQgdjAuMTAuM1xuICAgIENoZWNraW5nIGd0azQgdjAuMTAuM1xuICAgIENoZWNraW5nIGxpYmFkd2FpdGEgdjAuOC4xXG4gICAgQ2hlY2tpbmcgZmxhc2hlciB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIpXG53YXJuaW5nOiB1c2Ugb2YgZGVwcmVjYXRlZCBzdHJ1Y3QgYGd0azQ6OkZpbGVDaG9vc2VyTmF0aXZlYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjI4MTozMlxuICAgIHxcbjI4MSB8ICAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4gICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXl5cbiAgICB8XG4gICAgPSBub3RlOiBgI1t3YXJuKGRlcHJlY2F0ZWQpXWAgb24gYnkgZGVmYXVsdFxuXG53YXJuaW5nOiB1c2Ugb2YgZGVwcmVjYXRlZCBzdHJ1Y3QgYGd0azQ6OkZpbGVDaG9vc2VyTmF0aXZlYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjM0NTozMlxuICAgIHxcbjM0NSB8ICAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4gICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXl5cblxud2FybmluZzogdXNlIG9mIGRlcHJlY2F0ZWQgYXNzb2NpYXRlZCBmdW5jdGlvbiBgZ3RrNDo6RmlsZUNob29zZXJOYXRpdmU6OmJ1aWxkZXJgOiBTaW5jZSA0LjEwXG4gICAtLT4gc3JjL21haW4ucnM6MjgxOjUxXG4gICAgfFxuMjgxIHwgICAgICAgICAgICAgbGV0IGNob29zZXIgPSBndGs6OkZpbGVDaG9vc2VyTmF0aXZlOjpidWlsZGVyKClcbiAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXlxuXG53YXJuaW5nOiB1c2Ugb2YgZGVwcmVjYXRlZCBtZXRob2QgYGd0azQ6OmJ1aWxkZXJzOjpGaWxlQ2hvb3Nlck5hdGl2ZUJ1aWxkZXI6OnRpdGxlYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjI4MjoxOFxuICAgIHxcbjI4MiB8ICAgICAgICAgICAgICAgICAudGl0bGUoXCJDaG9vc2UgSW5zdGFsbGF0aW9uIFNvdXJjZVwiKVxuICAgIHwgICAgICAgICAgICAgICAgICBeXl5eXlxuXG53YXJuaW5nOiB1c2Ugb2YgZGVwcmVjYXRlZCBtZXRob2QgYGd0azQ6OmJ1aWxkZXJzOjpGaWxlQ2hvb3Nlck5hdGl2ZUJ1aWxkZXI6OnRyYW5zaWVudF9mb3JgOiBTaW5jZSA0LjEwXG4gICAtLT4gc3JjL21haW4ucnM6MjgzOjE4XG4gICAgfFxuMjgzIHwgICAgICAgICAgICAgICAgIC50cmFuc2llbnRfZm9yKCZ3aW5kb3cpXG4gICAgfCAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5cblxud2FybmluZzogdXNlIG9mIGRlcHJlY2F0ZWQgbWV0aG9kIGBndGs0OjpidWlsZGVyczo6RmlsZUNob29zZXJOYXRpdmVCdWlsZGVyOjphY3Rpb25gOiBTaW5jZSA0LjEwXG4gICAtLT4gc3JjL21haW4ucnM6Mjg0OjE4XG4gICAgfFxuMjg0IHwgICAgICAgICAgICAgICAgIC5hY3Rpb24oZ3RrOjpGaWxlQ2hvb3NlckFjdGlvbjo6T3BlbilcbiAgICB8ICAgICAgICAgICAgICAgICAgXl5eXl5eXG5cbndhcm5pbmc6IHVzZSBvZiBkZXByZWNhdGVkIG1ldGhvZCBgZ3RrNDo6YnVpbGRlcnM6OkZpbGVDaG9vc2VyTmF0aXZlQnVpbGRlcjo6YWNjZXB0X2xhYmVsYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjI4NToxOFxuICAgIHxcbjI4NSB8ICAgICAgICAgICAgICAgICAuYWNjZXB0X2xhYmVsKFwiU2VsZWN0XCIpXG4gICAgfCAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXlxuXG53YXJuaW5nOiB1c2Ugb2YgZGVwcmVjYXRlZCBtZXRob2QgYGd0azQ6OmJ1aWxkZXJzOjpGaWxlQ2hvb3Nlck5hdGl2ZUJ1aWxkZXI6OmNhbmNlbF9sYWJlbGA6IFNpbmNlIDQuMTBcbiAgIC0tPiBzcmMvbWFpbi5yczoyODY6MThcbiAgICB8XG4yODYgfCAgICAgICAgICAgICAgICAgLmNhbmNlbF9sYWJlbChcIkNhbmNlbFwiKVxuICAgIHwgICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5cblxud2FybmluZzogdXNlIG9mIGRlcHJlY2F0ZWQgbWV0aG9kIGBndGs0OjpidWlsZGVyczo6RmlsZUNob29zZXJOYXRpdmVCdWlsZGVyOjpidWlsZGA6IFNpbmNlIDQuMTBcbiAgIC0tPiBzcmMvbWFpbi5yczoyODc6MThcbiAgICB8XG4yODcgfCAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG4gICAgfCAgICAgICAgICAgICAgICAgIF5eXl5eXG5cbndhcm5pbmc6IHVzZSBvZiBkZXByZWNhdGVkIG1ldGhvZCBgbGliYWR3YWl0YTo6cHJlbHVkZTo6RmlsZUNob29zZXJFeHQ6OmZpbGVgOiBTaW5jZSA0LjEwXG4gICAtLT4gc3JjL21haW4ucnM6Mjk1OjQ4XG4gICAgfFxuMjk1IHwgICAgICAgICAgICAgICAgICAgICAmJiBsZXQgU29tZShwYXRoKSA9IGRpYWxvZy5maWxlKCkuYW5kX3RoZW4ofGZ8IGYucGF0aCgpKVxuICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5eXG5cbndhcm5pbmc6IHVzZSBvZiBkZXByZWNhdGVkIGFzc29jaWF0ZWQgZnVuY3Rpb24gYGd0azQ6OkZpbGVDaG9vc2VyTmF0aXZlOjpidWlsZGVyYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjM0NTo1MVxuICAgIHxcbjM0NSB8ICAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4gICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5eXl5cblxud2FybmluZzogdXNlIG9mIGRlcHJlY2F0ZWQgbWV0aG9kIGBndGs0OjpidWlsZGVyczo6RmlsZUNob29zZXJOYXRpdmVCdWlsZGVyOjp0aXRsZWA6IFNpbmNlIDQuMTBcbiAgIC0tPiBzcmMvbWFpbi5yczozNDY6MThcbiAgICB8XG4zNDYgfCAgICAgICAgICAgICAgICAgLnRpdGxlKFwiQ3JlYXRlIERpc2sgSW1hZ2VcIilcbiAgICB8ICAgICAgICAgICAgICAgICAgXl5eXl5cblxud2FybmluZzogdXNlIG9mIGRlcHJlY2F0ZWQgbWV0aG9kIGBndGs0OjpidWlsZGVyczo6RmlsZUNob29zZXJOYXRpdmVCdWlsZGVyOjp0cmFuc2llbnRfZm9yYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjM0NzoxOFxuICAgIHxcbjM0NyB8ICAgICAgICAgICAgICAgICAudHJhbnNpZW50X2Zvcigmd2luZG93KVxuICAgIHwgICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5eXG5cbndhcm5pbmc6IHVzZSBvZiBkZXByZWNhdGVkIG1ldGhvZCBgZ3RrNDo6YnVpbGRlcnM6OkZpbGVDaG9vc2VyTmF0aXZlQnVpbGRlcjo6YWN0aW9uYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjM0ODoxOFxuICAgIHxcbjM0OCB8ICAgICAgICAgICAgICAgICAuYWN0aW9uKGd0azo6RmlsZUNob29zZXJBY3Rpb246OlNhdmUpXG4gICAgfCAgICAgICAgICAgICAgICAgIF5eXl5eXlxuXG53YXJuaW5nOiB1c2Ugb2YgZGVwcmVjYXRlZCBtZXRob2QgYGd0azQ6OmJ1aWxkZXJzOjpGaWxlQ2hvb3Nlck5hdGl2ZUJ1aWxkZXI6OmFjY2VwdF9sYWJlbGA6IFNpbmNlIDQuMTBcbiAgIC0tPiBzcmMvbWFpbi5yczozNDk6MThcbiAgICB8XG4zNDkgfCAgICAgICAgICAgICAgICAgLmFjY2VwdF9sYWJlbChcIlNlbGVjdFwiKVxuICAgIHwgICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5cblxud2FybmluZzogdXNlIG9mIGRlcHJlY2F0ZWQgbWV0aG9kIGBndGs0OjpidWlsZGVyczo6RmlsZUNob29zZXJOYXRpdmVCdWlsZGVyOjpjYW5jZWxfbGFiZWxgOiBTaW5jZSA0LjEwXG4gICAtLT4gc3JjL21haW4ucnM6MzUwOjE4XG4gICAgfFxuMzUwIHwgICAgICAgICAgICAgICAgIC5jYW5jZWxfbGFiZWwoXCJDYW5jZWxcIilcbiAgICB8ICAgICAgICAgICAgICAgICAgXl5eXl5eXl5eXl5eXG5cbndhcm5pbmc6IHVzZSBvZiBkZXByZWNhdGVkIG1ldGhvZCBgZ3RrNDo6YnVpbGRlcnM6OkZpbGVDaG9vc2VyTmF0aXZlQnVpbGRlcjo6YnVpbGRgOiBTaW5jZSA0LjEwXG4gICAtLT4gc3JjL21haW4ucnM6MzUxOjE4XG4gICAgfFxuMzUxIHwgICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuICAgIHwgICAgICAgICAgICAgICAgICBeXl5eXlxuXG53YXJuaW5nOiB1c2Ugb2YgZGVwcmVjYXRlZCBtZXRob2QgYGxpYmFkd2FpdGE6OnByZWx1ZGU6OkZpbGVDaG9vc2VyRXh0OjpzZXRfY3VycmVudF9uYW1lYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjM1MjoyMVxuICAgIHxcbjM1MiB8ICAgICAgICAgICAgIGNob29zZXIuc2V0X2N1cnJlbnRfbmFtZShcImFsdC1saW51eC5pbWdcIik7XG4gICAgfCAgICAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5cblxud2FybmluZzogdXNlIG9mIGRlcHJlY2F0ZWQgbWV0aG9kIGBsaWJhZHdhaXRhOjpwcmVsdWRlOjpGaWxlQ2hvb3NlckV4dDo6ZmlsZWA6IFNpbmNlIDQuMTBcbiAgIC0tPiBzcmMvbWFpbi5yczozNjA6NDhcbiAgICB8XG4zNjAgfCAgICAgICAgICAgICAgICAgICAgICYmIGxldCBTb21lKHBhdGgpID0gZGlhbG9nLmZpbGUoKS5hbmRfdGhlbih8ZnwgZi5wYXRoKCkpXG4gICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5cblxud2FybmluZzogYGZsYXNoZXJgIChiaW4gXCJmbGFzaGVyXCIpIGdlbmVyYXRlZCAxOSB3YXJuaW5nc1xuICAgIEZpbmlzaGVkIGBkZXZgIHByb2ZpbGUgW3Vub3B0aW1pemVkICsgZGVidWdpbmZvXSB0YXJnZXQocykgaW4gMzkuMjFzXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg2OTY1NDd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIzNjU5N2JlNiIsInBhcmVudElkIjoiMGIwMDk3NjUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjExOjQxLjIzNVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqUGxhbm5pbmcgYXN5bmMgR1RLIDQuMTAgRmlsZURpYWxvZyB1c2FnZSoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0MWFkZGE0ODE5MWFkNzMzNTQwNThhYjlkMmZcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1RYkRnSTdFZTNkdUFRX2s1ODZPSUJVV29oZzFJVDU0dUc5SUVBSWRsZVpvcFVKOGxlNzZNdVFIdTRFemNRaG1LNVlRbGRuS2FzSzNqdnZKRUdCeGJRWjQ5bjFpM2puWFpsNFR1OG5KUXhTN3BWR3l6ejBzWmVhZlRHOWFURC1BVWhBRzRrMVYyS3FHMjliMVVjcjloR3ozbXNQT2I0ZFFpX3N4RWJDSXdNRDRkOEdnSXdWd2tFMW1SbzBrZEtlM0lDTV93Nm5xbkNjQ1RSQUYtUktyQzV3SFNUblM3X1BtNVJRbDNaY3BSRGs2UUNhM1hzeHplY1lfTTRzQjlEV0JGZEhpWE1FRkxMSUNvWHdUTHg1ZnN6YjZjSExlVHFsLXRlOUN6elpjWEIwZTNGY1VOck53Nl9rQW5WNUFXNko0VVMyUGhmM1lTVm5YaHVQaDJPWk5Gd2YwekE2cW8tWjI5ZjZWYUdFaE52c0JlMlVmWlVKVDFwOThJanloRG5sMXBQRkozR1YySUw1N2VrLVlWNTF2T21XanotOHdkeGpUX3FpZnRRRU1xWWMzWjBwRk9sazA0TFg1UEJhTVFSX2FDeGtRa3cwRjROR1cwYkV4YmNHQ3ZkQ3lNSENBRjRoV2t4SlpBd29FbURFWEpoVkxqa3RGSnJTY3EwaEtUYTF4Tm8yb0YtRUljNHQ5a0QyM1h1dXk4UEsyTlRaRHBTQmhGUVU2clQtXzN3ekRCZExHWGhUblpFMUtxMlpKNDlCYThlNGtENFdKRjNObFBpN045d1RFYVBVcWN4by1LcnJCd0ItUk5aRHVqRmt3bHBHaTQ1X3NmYWFVbFhjcC1neHBHd2lxNU9PbVpPSTk2R005RGxPUWtqa3BCMW9ZMk1MWC0zMXpYNTN6SVQ3TlEyMmY2eThWREZCWmlILXJuZVR1MnBhaldWNUxLY1B5a2t0OFFYVVNKdEVCVXhMX25GSTl2bnJOa01RdDdNUWNLTm1Uai1NSUpiTnpsOElpcFd6UU9jRWVwb0R1dFNWUlhEWk5HUlltZXFtX2tNOEJHQ1E5M1lqSDhRV0FxdUVJT1k0TGxUVXJ3V2Mzb0ZqZGM4RmdzTnRyOElpMlhaZmZUZDEyWFlXcU1PcC1WbktCdkc0N2dNaUdCNE85dl9IOHhxdE1tS3hjQnFUWUZyR2o0YXVBWW1fYUxGOEFNZFY5cEdQdDRqQmkxQ1B6VWpSNTBaN2dGQklaZzdESHF3NEdtUjRSMTFTZ01DSkUzMHBVZXhlTHo3Wnk2bWY5SFR5Nm1pMjFQR1NGRkVmZG5BYkRWREd6NGs0RHpGTFVGb3FkQVNfWjJHX3FvMWVRS3BpM0ktMXIwUEt2VHplZ1NtcjRTOGx5U1lHaWlXSC1HcXZaSnM4X0NzZFVjbkhnR2ZaZGlrPVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqUGxhbm5pbmcgYXN5bmMgR1RLIDQuMTAgRmlsZURpYWxvZyB1c2FnZSoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9aQkQyUnZJSWZxWWxDTG1KZlRjbkoyS1d8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0MWJiNzIwODE5MTkwY2Y3Y2U5YjQxYjYxZGMiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9ndGs0LTAuMTAuMy9zcmMvYXV0by9maWxlX2RpYWxvZy5ycyIsImxpbWl0IjoxODB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MjY0NSwib3V0cHV0Ijo5NSwiY2FjaGVSZWFkIjoyOTE4NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyOSwidG90YWxUb2tlbnMiOjMxOTI0LCJjb3N0Ijp7ImlucHV0IjowLjAxMzIyNSwib3V0cHV0IjowLjAwMjg1LCJjYWNoZVJlYWQiOjAuMDE0NTkxOTk5OTk5OTk5OTk5LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMzA2Njd9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODg2OTY1NDgsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDE4ZjJiMDgxOTFiODVlZjA5MmE5ZmFlZDliIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImNkMTQ3OTY4IiwicGFyZW50SWQiOiIzNjU5N2JlNiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTE6NDEuMjM3WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9aQkQyUnZJSWZxWWxDTG1KZlRjbkoyS1d8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0MWJiNzIwODE5MTkwY2Y3Y2U5YjQxYjYxZGMiLCJ0b29sTmFtZSI6InJlYWQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIvLyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBnaXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9ndGstcnMvZ2lyKVxuLy8gZnJvbSBnaXItZmlsZXMgKGh0dHBzOi8vZ2l0aHViLmNvbS9ndGstcnMvZ2lyLWZpbGVzKVxuLy8gRE8gTk9UIEVESVRcblxudXNlIGNyYXRlOjp7ZmZpLCBGaWxlRmlsdGVyLCBXaW5kb3d9O1xudXNlIGdsaWI6OntcbiAgICBwcmVsdWRlOjoqLFxuICAgIHNpZ25hbDo6e2Nvbm5lY3RfcmF3LCBTaWduYWxIYW5kbGVySWR9LFxuICAgIHRyYW5zbGF0ZTo6Kixcbn07XG51c2Ugc3RkOjp7Ym94ZWQ6OkJveCBhcyBCb3hfLCBwaW46OlBpbn07XG5cbmdsaWI6OndyYXBwZXIhIHtcbiAgICAjW2RvYyhhbGlhcyA9IFwiR3RrRmlsZURpYWxvZ1wiKV1cbiAgICBwdWIgc3RydWN0IEZpbGVEaWFsb2coT2JqZWN0PGZmaTo6R3RrRmlsZURpYWxvZywgZmZpOjpHdGtGaWxlRGlhbG9nQ2xhc3M+KTtcblxuICAgIG1hdGNoIGZuIHtcbiAgICAgICAgdHlwZV8gPT4gfHwgZmZpOjpndGtfZmlsZV9kaWFsb2dfZ2V0X3R5cGUoKSxcbiAgICB9XG59XG5cbmltcGwgRmlsZURpYWxvZyB7XG4gICAgI1tkb2MoYWxpYXMgPSBcImd0a19maWxlX2RpYWxvZ19uZXdcIildXG4gICAgcHViIGZuIG5ldygpIC0+IEZpbGVEaWFsb2cge1xuICAgICAgICBhc3NlcnRfaW5pdGlhbGl6ZWRfbWFpbl90aHJlYWQhKCk7XG4gICAgICAgIHVuc2FmZSB7IGZyb21fZ2xpYl9mdWxsKGZmaTo6Z3RrX2ZpbGVfZGlhbG9nX25ldygpKSB9XG4gICAgfVxuXG4gICAgLy8gcnVzdGRvYy1zdHJpcHBlci1pZ25vcmUtbmV4dFxuICAgIC8vLyBDcmVhdGVzIGEgbmV3IGJ1aWxkZXItcGF0dGVybiBzdHJ1Y3QgaW5zdGFuY2UgdG8gY29uc3RydWN0IFtgRmlsZURpYWxvZ2BdIG9iamVjdHMuXG4gICAgLy8vXG4gICAgLy8vIFRoaXMgbWV0aG9kIHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgW2BGaWxlRGlhbG9nQnVpbGRlcmBdKGNyYXRlOjpidWlsZGVyczo6RmlsZURpYWxvZ0J1aWxkZXIpIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBbYEZpbGVEaWFsb2dgXSBvYmplY3RzLlxuICAgIHB1YiBmbiBidWlsZGVyKCkgLT4gRmlsZURpYWxvZ0J1aWxkZXIge1xuICAgICAgICBGaWxlRGlhbG9nQnVpbGRlcjo6bmV3KClcbiAgICB9XG5cbiAgICAjW2RvYyhhbGlhcyA9IFwiZ3RrX2ZpbGVfZGlhbG9nX2dldF9hY2NlcHRfbGFiZWxcIildXG4gICAgI1tkb2MoYWxpYXMgPSBcImdldF9hY2NlcHRfbGFiZWxcIildXG4gICAgI1tkb2MoYWxpYXMgPSBcImFjY2VwdC1sYWJlbFwiKV1cbiAgICBwdWIgZm4gYWNjZXB0X2xhYmVsKCZzZWxmKSAtPiBPcHRpb248Z2xpYjo6R1N0cmluZz4ge1xuICAgICAgICB1bnNhZmUgeyBmcm9tX2dsaWJfbm9uZShmZmk6Omd0a19maWxlX2RpYWxvZ19nZXRfYWNjZXB0X2xhYmVsKHNlbGYudG9fZ2xpYl9ub25lKCkuMCkpIH1cbiAgICB9XG5cbiAgICAjW2RvYyhhbGlhcyA9IFwiZ3RrX2ZpbGVfZGlhbG9nX2dldF9kZWZhdWx0X2ZpbHRlclwiKV1cbiAgICAjW2RvYyhhbGlhcyA9IFwiZ2V0X2RlZmF1bHRfZmlsdGVyXCIpXVxuICAgICNbZG9jKGFsaWFzID0gXCJkZWZhdWx0LWZpbHRlclwiKV1cbiAgICBwdWIgZm4gZGVmYXVsdF9maWx0ZXIoJnNlbGYpIC0+IE9wdGlvbjxGaWxlRmlsdGVyPiB7XG4gICAgICAgIHVuc2FmZSB7XG4gICAgICAgICAgICBmcm9tX2dsaWJfbm9uZShmZmk6Omd0a19maWxlX2RpYWxvZ19nZXRfZGVmYXVsdF9maWx0ZXIoXG4gICAgICAgICAgICAgICAgc2VsZi50b19nbGliX25vbmUoKS4wLFxuICAgICAgICAgICAgKSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNbZG9jKGFsaWFzID0gXCJndGtfZmlsZV9kaWFsb2dfZ2V0X2ZpbHRlcnNcIildXG4gICAgI1tkb2MoYWxpYXMgPSBcImdldF9maWx0ZXJzXCIpXVxuICAgIHB1YiBmbiBmaWx0ZXJzKCZzZWxmKSAtPiBPcHRpb248Z2lvOjpMaXN0TW9kZWw+IHtcbiAgICAgICAgdW5zYWZlIHsgZnJvbV9nbGliX25vbmUoZmZpOjpndGtfZmlsZV9kaWFsb2dfZ2V0X2ZpbHRlcnMoc2VsZi50b19nbGliX25vbmUoKS4wKSkgfVxuICAgIH1cblxuICAgICNbZG9jKGFsaWFzID0gXCJndGtfZmlsZV9kaWFsb2dfZ2V0X2luaXRpYWxfZmlsZVwiKV1cbiAgICAjW2RvYyhhbGlhcyA9IFwiZ2V0X2luaXRpYWxfZmlsZVwiKV1cbiAgICAjW2RvYyhhbGlhcyA9IFwiaW5pdGlhbC1maWxlXCIpXVxuICAgIHB1YiBmbiBpbml0aWFsX2ZpbGUoJnNlbGYpIC0+IE9wdGlvbjxnaW86OkZpbGU+IHtcbiAgICAgICAgdW5zYWZlIHsgZnJvbV9nbGliX25vbmUoZmZpOjpndGtfZmlsZV9kaWFsb2dfZ2V0X2luaXRpYWxfZmlsZShzZWxmLnRvX2dsaWJfbm9uZSgpLjApKSB9XG4gICAgfVxuXG4gICAgI1tkb2MoYWxpYXMgPSBcImd0a19maWxlX2RpYWxvZ19nZXRfaW5pdGlhbF9mb2xkZXJcIildXG4gICAgI1tkb2MoYWxpYXMgPSBcImdldF9pbml0aWFsX2ZvbGRlclwiKV1cbiAgICAjW2RvYyhhbGlhcyA9IFwiaW5pdGlhbC1mb2xkZXJcIildXG4gICAgcHViIGZuIGluaXRpYWxfZm9sZGVyKCZzZWxmKSAtPiBPcHRpb248Z2lvOjpGaWxlPiB7XG4gICAgICAgIHVuc2FmZSB7XG4gICAgICAgICAgICBmcm9tX2dsaWJfbm9uZShmZmk6Omd0a19maWxlX2RpYWxvZ19nZXRfaW5pdGlhbF9mb2xkZXIoXG4gICAgICAgICAgICAgICAgc2VsZi50b19nbGliX25vbmUoKS4wLFxuICAgICAgICAgICAgKSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNbZG9jKGFsaWFzID0gXCJndGtfZmlsZV9kaWFsb2dfZ2V0X2luaXRpYWxfbmFtZVwiKV1cbiAgICAjW2RvYyhhbGlhcyA9IFwiZ2V0X2luaXRpYWxfbmFtZVwiKV1cbiAgICAjW2RvYyhhbGlhcyA9IFwiaW5pdGlhbC1uYW1lXCIpXVxuICAgIHB1YiBmbiBpbml0aWFsX25hbWUoJnNlbGYpIC0+IE9wdGlvbjxnbGliOjpHU3RyaW5nPiB7XG4gICAgICAgIHVuc2FmZSB7IGZyb21fZ2xpYl9ub25lKGZmaTo6Z3RrX2ZpbGVfZGlhbG9nX2dldF9pbml0aWFsX25hbWUoc2VsZi50b19nbGliX25vbmUoKS4wKSkgfVxuICAgIH1cblxuICAgICNbZG9jKGFsaWFzID0gXCJndGtfZmlsZV9kaWFsb2dfZ2V0X21vZGFsXCIpXVxuICAgICNbZG9jKGFsaWFzID0gXCJnZXRfbW9kYWxcIildXG4gICAgI1tkb2MoYWxpYXMgPSBcIm1vZGFsXCIpXVxuICAgIHB1YiBmbiBpc19tb2RhbCgmc2VsZikgLT4gYm9vbCB7XG4gICAgICAgIHVuc2FmZSB7IGZyb21fZ2xpYihmZmk6Omd0a19maWxlX2RpYWxvZ19nZXRfbW9kYWwoc2VsZi50b19nbGliX25vbmUoKS4wKSkgfVxuICAgIH1cblxuICAgICNbZG9jKGFsaWFzID0gXCJndGtfZmlsZV9kaWFsb2dfZ2V0X3RpdGxlXCIpXVxuICAgICNbZG9jKGFsaWFzID0gXCJnZXRfdGl0bGVcIildXG4gICAgcHViIGZuIHRpdGxlKCZzZWxmKSAtPiBnbGliOjpHU3RyaW5nIHtcbiAgICAgICAgdW5zYWZlIHsgZnJvbV9nbGliX25vbmUoZmZpOjpndGtfZmlsZV9kaWFsb2dfZ2V0X3RpdGxlKHNlbGYudG9fZ2xpYl9ub25lKCkuMCkpIH1cbiAgICB9XG5cbiAgICAjW2RvYyhhbGlhcyA9IFwiZ3RrX2ZpbGVfZGlhbG9nX29wZW5cIildXG4gICAgcHViIGZuIG9wZW48UDogRm5PbmNlKFJlc3VsdDxnaW86OkZpbGUsIGdsaWI6OkVycm9yPikgKyAnc3RhdGljPihcbiAgICAgICAgJnNlbGYsXG4gICAgICAgIHBhcmVudDogT3B0aW9uPCZpbXBsIElzQTxXaW5kb3c+PixcbiAgICAgICAgY2FuY2VsbGFibGU6IE9wdGlvbjwmaW1wbCBJc0E8Z2lvOjpDYW5jZWxsYWJsZT4+LFxuICAgICAgICBjYWxsYmFjazogUCxcbiAgICApIHtcbiAgICAgICAgbGV0IG1haW5fY29udGV4dCA9IGdsaWI6Ok1haW5Db250ZXh0OjpyZWZfdGhyZWFkX2RlZmF1bHQoKTtcbiAgICAgICAgbGV0IGlzX21haW5fY29udGV4dF9vd25lciA9IG1haW5fY29udGV4dC5pc19vd25lcigpO1xuICAgICAgICBsZXQgaGFzX2FjcXVpcmVkX21haW5fY29udGV4dCA9ICghaXNfbWFpbl9jb250ZXh0X293bmVyKVxuICAgICAgICAgICAgLnRoZW4ofHwgbWFpbl9jb250ZXh0LmFjcXVpcmUoKS5vaygpKVxuICAgICAgICAgICAgLmZsYXR0ZW4oKTtcbiAgICAgICAgYXNzZXJ0IShcbiAgICAgICAgICAgIGlzX21haW5fY29udGV4dF9vd25lciB8fCBoYXNfYWNxdWlyZWRfbWFpbl9jb250ZXh0LmlzX3NvbWUoKSxcbiAgICAgICAgICAgIFwiQXN5bmMgb3BlcmF0aW9ucyBvbmx5IGFsbG93ZWQgaWYgdGhlIHRocmVhZCBpcyBvd25pbmcgdGhlIE1haW5Db250ZXh0XCJcbiAgICAgICAgKTtcblxuICAgICAgICBsZXQgdXNlcl9kYXRhOiBCb3hfPGdsaWI6OnRocmVhZF9ndWFyZDo6VGhyZWFkR3VhcmQ8UD4+ID1cbiAgICAgICAgICAgIEJveF86Om5ldyhnbGliOjp0aHJlYWRfZ3VhcmQ6OlRocmVhZEd1YXJkOjpuZXcoY2FsbGJhY2spKTtcbiAgICAgICAgdW5zYWZlIGV4dGVybiBcIkNcIiBmbiBvcGVuX3RyYW1wb2xpbmU8XG4gICAgICAgICAgICBQOiBGbk9uY2UoUmVzdWx0PGdpbzo6RmlsZSwgZ2xpYjo6RXJyb3I+KSArICdzdGF0aWMsXG4gICAgICAgID4oXG4gICAgICAgICAgICBfc291cmNlX29iamVjdDogKm11dCBnbGliOjpnb2JqZWN0X2ZmaTo6R09iamVjdCxcbiAgICAgICAgICAgIHJlczogKm11dCBnaW86OmZmaTo6R0FzeW5jUmVzdWx0LFxuICAgICAgICAgICAgdXNlcl9kYXRhOiBnbGliOjpmZmk6Omdwb2ludGVyLFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGxldCBtdXQgZXJyb3IgPSBzdGQ6OnB0cjo6bnVsbF9tdXQoKTtcbiAgICAgICAgICAgIGxldCByZXQgPSBmZmk6Omd0a19maWxlX2RpYWxvZ19vcGVuX2ZpbmlzaChfc291cmNlX29iamVjdCBhcyAqbXV0IF8sIHJlcywgJm11dCBlcnJvcik7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gaWYgZXJyb3IuaXNfbnVsbCgpIHtcbiAgICAgICAgICAgICAgICBPayhmcm9tX2dsaWJfZnVsbChyZXQpKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBFcnIoZnJvbV9nbGliX2Z1bGwoZXJyb3IpKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGxldCBjYWxsYmFjazogQm94XzxnbGliOjp0aHJlYWRfZ3VhcmQ6OlRocmVhZEd1YXJkPFA+PiA9XG4gICAgICAgICAgICAgICAgQm94Xzo6ZnJvbV9yYXcodXNlcl9kYXRhIGFzICptdXQgXyk7XG4gICAgICAgICAgICBsZXQgY2FsbGJhY2s6IFAgPSBjYWxsYmFjay5pbnRvX2lubmVyKCk7XG4gICAgICAgICAgICBjYWxsYmFjayhyZXN1bHQpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjYWxsYmFjayA9IG9wZW5fdHJhbXBvbGluZTo6PFA+O1xuICAgICAgICB1bnNhZmUge1xuICAgICAgICAgICAgZmZpOjpndGtfZmlsZV9kaWFsb2dfb3BlbihcbiAgICAgICAgICAgICAgICBzZWxmLnRvX2dsaWJfbm9uZSgpLjAsXG4gICAgICAgICAgICAgICAgcGFyZW50Lm1hcCh8cHwgcC5hc19yZWYoKSkudG9fZ2xpYl9ub25lKCkuMCxcbiAgICAgICAgICAgICAgICBjYW5jZWxsYWJsZS5tYXAofHB8IHAuYXNfcmVmKCkpLnRvX2dsaWJfbm9uZSgpLjAsXG4gICAgICAgICAgICAgICAgU29tZShjYWxsYmFjayksXG4gICAgICAgICAgICAgICAgQm94Xzo6aW50b19yYXcodXNlcl9kYXRhKSBhcyAqbXV0IF8sXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHViIGZuIG9wZW5fZnV0dXJlKFxuICAgICAgICAmc2VsZixcbiAgICAgICAgcGFyZW50OiBPcHRpb248JihpbXBsIElzQTxXaW5kb3c+ICsgQ2xvbmUgKyAnc3RhdGljKT4sXG4gICAgKSAtPiBQaW48Qm94XzxkeW4gc3RkOjpmdXR1cmU6OkZ1dHVyZTxPdXRwdXQgPSBSZXN1bHQ8Z2lvOjpGaWxlLCBnbGliOjpFcnJvcj4+ICsgJ3N0YXRpYz4+IHtcbiAgICAgICAgbGV0IHBhcmVudCA9IHBhcmVudC5tYXAoVG9Pd25lZDo6dG9fb3duZWQpO1xuICAgICAgICBCb3hfOjpwaW4oZ2lvOjpHaW9GdXR1cmU6Om5ldyhzZWxmLCBtb3ZlIHxvYmosIGNhbmNlbGxhYmxlLCBzZW5kfCB7XG4gICAgICAgICAgICBvYmoub3BlbihcbiAgICAgICAgICAgICAgICBwYXJlbnQuYXNfcmVmKCkubWFwKDo6c3RkOjpib3Jyb3c6OkJvcnJvdzo6Ym9ycm93KSxcbiAgICAgICAgICAgICAgICBTb21lKGNhbmNlbGxhYmxlKSxcbiAgICAgICAgICAgICAgICBtb3ZlIHxyZXN8IHtcbiAgICAgICAgICAgICAgICAgICAgc2VuZC5yZXNvbHZlKHJlcyk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pKVxuICAgIH1cblxuICAgICNbZG9jKGFsaWFzID0gXCJndGtfZmlsZV9kaWFsb2dfb3Blbl9tdWx0aXBsZVwiKV1cbiAgICBwdWIgZm4gb3Blbl9tdWx0aXBsZTxQOiBGbk9uY2UoUmVzdWx0PGdpbzo6TGlzdE1vZGVsLCBnbGliOjpFcnJvcj4pICsgJ3N0YXRpYz4oXG4gICAgICAgICZzZWxmLFxuICAgICAgICBwYXJlbnQ6IE9wdGlvbjwmaW1wbCBJc0E8V2luZG93Pj4sXG4gICAgICAgIGNhbmNlbGxhYmxlOiBPcHRpb248JmltcGwgSXNBPGdpbzo6Q2FuY2VsbGFibGU+PixcbiAgICAgICAgY2FsbGJhY2s6IFAsXG4gICAgKSB7XG4gICAgICAgIGxldCBtYWluX2NvbnRleHQgPSBnbGliOjpNYWluQ29udGV4dDo6cmVmX3RocmVhZF9kZWZhdWx0KCk7XG4gICAgICAgIGxldCBpc19tYWluX2NvbnRleHRfb3duZXIgPSBtYWluX2NvbnRleHQuaXNfb3duZXIoKTtcbiAgICAgICAgbGV0IGhhc19hY3F1aXJlZF9tYWluX2NvbnRleHQgPSAoIWlzX21haW5fY29udGV4dF9vd25lcilcbiAgICAgICAgICAgIC50aGVuKHx8IG1haW5fY29udGV4dC5hY3F1aXJlKCkub2soKSlcbiAgICAgICAgICAgIC5mbGF0dGVuKCk7XG4gICAgICAgIGFzc2VydCEoXG4gICAgICAgICAgICBpc19tYWluX2NvbnRleHRfb3duZXIgfHwgaGFzX2FjcXVpcmVkX21haW5fY29udGV4dC5pc19zb21lKCksXG4gICAgICAgICAgICBcIkFzeW5jIG9wZXJhdGlvbnMgb25seSBhbGxvd2VkIGlmIHRoZSB0aHJlYWQgaXMgb3duaW5nIHRoZSBNYWluQ29udGV4dFwiXG4gICAgICAgICk7XG5cbls4OTYgbW9yZSBsaW5lcyBpbiBmaWxlLiBVc2Ugb2Zmc2V0PTE4MSB0byBjb250aW51ZS5dIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NzAxMjM3fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYTk3OTA2N2MiLCJwYXJlbnRJZCI6ImNkMTQ3OTY4IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMTo0NS4yNzJaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlNhdmluZyBkaWdpdGFsIHNpZ25hdHVyZXMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDFmOWZkMDgxOTFiYThkMGVjOGYwMDczY2VlXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNUWdYVDZtRVQyc1NzeXZOQThQNWg4TUxpc1lJZTJnT3NDaEJ3RVVpUVFRUUJ6Y0FhaFRLeU5qWjZEOVB6ajlwc1E2N1RfVkU5OWVoWWkxSVJtZzRhRmJxZk5fZEppMHE1Y0daUkQ2LXVQdnZCWTVITEdtWWRieS1lRlo0MVpLdFhQS3QzOG9zUkh4SHZZZC15VzJEeGs1WWd3cThFZXdwVHZHSFpTZmx2aUpTNXUxT3A5M0NDX3JjeEpILS1neHdwVXFaWHlXdi1DRDEyZHhlMDNPSDNtQTBBdHpuVkl6d0JOVENpUndsdUdHYzFlcnFSMUF3SWdoMXVtUmxYVnl2ZXl0T01LMVBKMTJtX2pEdXdIc3hyY0NGWUhrblItUUVPYmJkVkRzQjE2bTlRb1dHLW5HNHhVdXZnRUR0QmZISjRqQnJCTWFYNG94RUZRS2tVbTRXNTBOa0cybVhFUkZ6X1pacWE4WGI5aDBfVV9pb2JNM0xBdTZ4aHJCVFJvaG9YdkxOSnI2cWFZM2lRdHNBbTNOTHBiTzFLcUNRVzl5VnVkSW0yTWJ5YVlhdDhVTXlxTk9DUURWNE9Qd3V0ZmtGSlVwZzNHMkMtOXc0dmRzb25oaGRFN0d3ckdyRjA4UG9fRFNVUnJBNVJKQ0tURHd4am5tLU5WVVY0UTRKWXRkTFRlY3BMWDZ0S1RuZjZvQ1hyYUFpMWp2NzBQRXBQU2hNX2tDanhwMl9qbWVlbU5sV3BtQXRjazlNZ00wVmdZdGw2NV9TOHBQTk5nMkQxOG92SVRIMjlBRkdFTy1JSHE3REpETEliRVhteHhpOFNORVd3cnJDLUdmOHFqaHpDbUg0WEVZZVVWWHVzTUo4YXM3MWRVQmZIM2NnTmNWMDItamUzVkRyZVZPdGRNYWFWUEJMY3E3dHJ6c21tM3Vyb1hsOE1kWlF2UjRLMlcxWTkxOGpWRFc0LUE4MzMyVTdkbWhuUFdGMDE2anpQLUhQMVYyVUFvcDQzVU1CenQyVHlDamlYVTd1OVJtSmhTR2Z2c3MySVZkOG56WDE0SUJib3JNVkFoSFdZbGlJaXZHekhMVnBWbG1acDlXMk45bER1cmNncXZLbzB3V19CclNJOEp2dTBZbzdUY1lIMnVhcWphdHlreGU4UC1MR0VCaFdwa3BhTUhSLXpiaDlaNE03eXNUQWQtRjRDQ180QXpYN0Njb0ZyaGVnMjJLbGFuRldIczFyTXNMcVRFZmpPTkNjSmVic2hQdjliRDEwbEFualJwTm1MT19cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlNhdmluZyBkaWdpdGFsIHNpZ25hdHVyZXMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfMDQ0R3k0UExnczVmdkljd29hZkZ0Y0M3fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDIwNDIwYzgxOTFiOGI4YTg4NDAwZGM2MGM3IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJnIC1uICdwdWIgZm4gc2F2ZXxwdWIgZm4gaW5pdGlhbF9uYW1lfHB1YiBmbiBhY2NlcHRfbGFiZWx8cHViIGZuIHRpdGxlJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9ndGs0LTAuMTAuMy9zcmMvYXV0by9maWxlX2RpYWxvZy5ycyB8IHRhaWwgLTIwIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyMzQ0LCJvdXRwdXQiOjc2LCJjYWNoZVJlYWQiOjMxMjMyLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjcsInRvdGFsVG9rZW5zIjozMzY1MiwiY29zdCI6eyJpbnB1dCI6MC4wMTE3MjAwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDIyOCwiY2FjaGVSZWFkIjowLjAxNTYxNiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDI5NjE2MDAwMDAwMDAwMDAzfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg4NzAxMjM4LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQxZDkxYTQ4MTkxYWU0MTQxMzNhODhjNDUyYiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIzODE3MDljNCIsInBhcmVudElkIjoiYTk3OTA2N2MiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjExOjQ1LjI3OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfMDQ0R3k0UExnczVmdkljd29hZkZ0Y0M3fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDIwNDIwYzgxOTFiOGI4YTg4NDAwZGM2MGM3IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiNDA6ICAgIHB1YiBmbiBhY2NlcHRfbGFiZWwoJnNlbGYpIC0+IE9wdGlvbjxnbGliOjpHU3RyaW5nPiB7XG44MjogICAgcHViIGZuIGluaXRpYWxfbmFtZSgmc2VsZikgLT4gT3B0aW9uPGdsaWI6OkdTdHJpbmc+IHtcbjk1OiAgICBwdWIgZm4gdGl0bGUoJnNlbGYpIC0+IGdsaWI6OkdTdHJpbmcge1xuNDAxOiAgICBwdWIgZm4gc2F2ZTxQOiBGbk9uY2UoUmVzdWx0PGdpbzo6RmlsZSwgZ2xpYjo6RXJyb3I+KSArICdzdGF0aWM+KFxuNDUwOiAgICBwdWIgZm4gc2F2ZV9mdXR1cmUoXG40Njk6ICAgIHB1YiBmbiBzYXZlX3RleHRfZmlsZTxcbjUzNDogICAgcHViIGZuIHNhdmVfdGV4dF9maWxlX2Z1dHVyZShcbjEwMDA6ICAgIHB1YiBmbiBhY2NlcHRfbGFiZWwoc2VsZiwgYWNjZXB0X2xhYmVsOiBpbXBsIEludG88Z2xpYjo6R1N0cmluZz4pIC0+IFNlbGYge1xuMTA0NjogICAgcHViIGZuIGluaXRpYWxfbmFtZShzZWxmLCBpbml0aWFsX25hbWU6IGltcGwgSW50bzxnbGliOjpHU3RyaW5nPikgLT4gU2VsZiB7XG4xMDYyOiAgICBwdWIgZm4gdGl0bGUoc2VsZiwgdGl0bGU6IGltcGwgSW50bzxnbGliOjpHU3RyaW5nPikgLT4gU2VsZiB7XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg3MDUyNzh9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI5ZWQ1MDZjNCIsInBhcmVudElkIjoiMzgxNzA5YzQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEyOjA1LjAxOVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqUmVwbGFjaW5nIGNodW5rcyBhbmQgcmVmaW5pbmcgZmlsdGVyaW5nKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQyMjlmZjA4MTkxOTg5YjhjMTI4NDAxYTBjOFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTVFrXzhqbk5fR3lkWGZQbVMzbnh0UDFhOEpGNDk3aTV5VjZLX2ZhcE5YbHhmSUZiT0wtSGxkb1Rqb1UwVmtLVTNIekxESmMybmpTQlZkWEFjYUJDM3hodkJ5QkV5Ykl6M3Q4WDZtVTJGaVpLa25CcFJ3ODFQRWJRaFBRdk9oZlZhOGppV3FlWVFaU0JBRE1jVWJFaUs1am02TXFXM0NOSDBvOHdhMzRsb1hUQ1ZsRnQtcV96V0ctYUpvb2pkWlRkVmFaWXRxdGlzeVhaNVVXMk40WXdpdE9nVEtOaFI0LWYwWnVsZnhmOTRUOWxnbWpodDJYa2tPOXFwSVVxVi1IcmE4VUdlVkxQRkZlcWREdkdGcWtlSzgtdlQyV2kyVjcxd0pKN21GLVlhYnhwVlVBdkphMzFNY0o5Qk8ySDB5RFN1a05xSFpBMUgtd1h6MG40d0FWdmVLbl9DaWx3Z2dDNUJEN3Zja3o1cEtaS3E0QWlCUVBhVEpkV0tFV1VFSWVUeUlGTDNiVGpJcEV3MV9VTGVzS3IzX0p5dFcwQVZLODVpek10aHBlbDNnQXUwZll0VUY0SEhtRnYxbE8zbk1hOVVsdDlFYi15WkQ5TkF2X3NtamUxWDJpMkNIcnNkY0J1dEZ6Z3c1UEFobHlmTDdDWjFNSktzOF9ZS2F6V0Ric2hLTGlpTUhtaEpIZ1Utc3lmdE9zMTdLXzZkdUllQjdWOE5YRFFVaGo3YTlvQjhnVzExd25Vekl4elNQSmtjZjFoRDVmR0xkS2FQR0xrTmNMN05EUUxKU1BrUFhaY1ppWm12YUdENjdkcXZKdjg0MDR3dlBUV0Y3VUZjYU9DN2lOOTRzVlV5SzdtOG50SmtmNjVSVWxTN1lJUXRuazVEd242clVSbE5LZnZFcG5FRXFCOFJ0RWF2Q0NZWll0UFF2XzZjWlhFVEt5ZGFuaW1mb1JLdEF4OXo1RHhaa0hRS2RvYjVEWS15VFYxSUdUOGlCa0hjZjZDLVZSZHE0Zk1jeWktR2NEVi14RXllNkF3YzIzVmkxT3NBbFh5MzNGdmswS1p6SlJ6X21fQ2FMSFhvN1lkQm1xcTJtRTNPcHNkZzl4TWJ5N3hxaHVxU3RxWUl6TU9IRDhjTnpYY2dlWEltWU1tLVIyRVpQaUxzYXFFeXFleUZNMGl0M2J1YVkyaHVlSEJPaU8xQ3R1M1Z2c3B6SzlsVjZNcE5XSzlGb25HbVpteTJLZlM5VWgwTC03bTVST1NkbmVsX2h2djNJaExicXVtNU5wZWpUZ1dyNkxucUFDbHNkM0VVdGxsdVBsNWpmNnVEc2JWekNIemZiNjNSaW54a1FjejA1M202LWk1ZlhJQW0tS3d2TTR1aDV6MGozc3g4SDNOd2RiWXFKMF9CbFNOS2VrLW1ERFF1cEhIZlU9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipSZXBsYWNpbmcgY2h1bmtzIGFuZCByZWZpbmluZyBmaWx0ZXJpbmcqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfS2pTZTBpbjBwbFdNY1VLY1Z6WXpTeVEwfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDI0MDI2NDgxOTFiMjU5NzI2YjU5NzIzMWQ4IiwibmFtZSI6ImVkaXQiLCJhcmd1bWVudHMiOnsicGF0aCI6InNyYy9tYWluLnJzIiwiZWRpdHMiOlt7Im9sZFRleHQiOiIgICAgICAgICAgICBsZXQgY2hvb3NlciA9IGd0azo6RmlsZUNob29zZXJOYXRpdmU6OmJ1aWxkZXIoKVxuICAgICAgICAgICAgICAgIC50aXRsZShcIkNob29zZSBJbnN0YWxsYXRpb24gU291cmNlXCIpXG4gICAgICAgICAgICAgICAgLnRyYW5zaWVudF9mb3IoJndpbmRvdylcbiAgICAgICAgICAgICAgICAuYWN0aW9uKGd0azo6RmlsZUNob29zZXJBY3Rpb246Ok9wZW4pXG4gICAgICAgICAgICAgICAgLmFjY2VwdF9sYWJlbChcIlNlbGVjdFwiKVxuICAgICAgICAgICAgICAgIC5jYW5jZWxfbGFiZWwoXCJDYW5jZWxcIilcbiAgICAgICAgICAgICAgICAuYnVpbGQoKTtcbiAgICAgICAgICAgIGxldCByb3cgPSByb3cuY2xvbmUoKTtcbiAgICAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgZHJpdmVfcm93ID0gZHJpdmVfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgc3RhcnRfYnV0dG9uID0gc3RhcnRfYnV0dG9uLmNsb25lKCk7XG4gICAgICAgICAgICBjaG9vc2VyLmNvbm5lY3RfcmVzcG9uc2UobW92ZSB8ZGlhbG9nLCByZXNwb25zZXwge1xuICAgICAgICAgICAgICAgIGlmIHJlc3BvbnNlID09IGd0azo6UmVzcG9uc2VUeXBlOjpBY2NlcHRcbiAgICAgICAgICAgICAgICAgICAgJiYgbGV0IFNvbWUocGF0aCkgPSBkaWFsb2cuZmlsZSgpLmFuZF90aGVuKHxmfCBmLnBhdGgoKSlcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJvdy5zZXRfdGl0bGUoJmRpc3BsYXlfbmFtZSgmcGF0aCkpO1xuICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBhdGgucGFyZW50KCkuYW5kX3RoZW4oUGF0aDo6dG9fc3RyKS51bndyYXBfb3IoXCJcIikpO1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkuc291cmNlID0gU29tZShwYXRoLmRpc3BsYXkoKS50b19zdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9zdGFydCgmc3RhcnRfYnV0dG9uLCAmc3RhdGUsICZib2FyZF9yb3csICZkcml2ZV9yb3cpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkaWFsb2cuZGVzdHJveSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjaG9vc2VyLnNob3coKTsiLCJuZXdUZXh0IjoiICAgICAgICAgICAgbGV0IGNob29zZXIgPSBndGs6OkZpbGVEaWFsb2c6OmJ1aWxkZXIoKVxuICAgICAgICAgICAgICAgIC50aXRsZShcIkNob29zZSBJbnN0YWxsYXRpb24gU291cmNlXCIpXG4gICAgICAgICAgICAgICAgLmFjY2VwdF9sYWJlbChcIlNlbGVjdFwiKVxuICAgICAgICAgICAgICAgIC5tb2RhbCh0cnVlKVxuICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuICAgICAgICAgICAgbGV0IHJvdyA9IHJvdy5jbG9uZSgpO1xuICAgICAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAgICAgICAgICAgIGxldCBib2FyZF9yb3cgPSBib2FyZF9yb3cuY2xvbmUoKTtcbiAgICAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbiAgICAgICAgICAgIGNob29zZXIub3BlbihTb21lKCZ3aW5kb3cpLCBndGs6Omdpbzo6Q2FuY2VsbGFibGU6Ok5PTkUsIG1vdmUgfHJlc3VsdHwge1xuICAgICAgICAgICAgICAgIGlmIGxldCBTb21lKHBhdGgpID0gcmVzdWx0Lm9rKCkuYW5kX3RoZW4ofGZpbGV8IGZpbGUucGF0aCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJvdy5zZXRfdGl0bGUoJmRpc3BsYXlfbmFtZSgmcGF0aCkpO1xuICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBhdGgucGFyZW50KCkuYW5kX3RoZW4oUGF0aDo6dG9fc3RyKS51bndyYXBfb3IoXCJcIikpO1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkuc291cmNlID0gU29tZShwYXRoLmRpc3BsYXkoKS50b19zdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9zdGFydCgmc3RhcnRfYnV0dG9uLCAmc3RhdGUsICZib2FyZF9yb3csICZkcml2ZV9yb3cpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pOyJ9LHsib2xkVGV4dCI6IiAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4gICAgICAgICAgICAgICAgLnRpdGxlKFwiQ3JlYXRlIERpc2sgSW1hZ2VcIilcbiAgICAgICAgICAgICAgICAudHJhbnNpZW50X2Zvcigmd2luZG93KVxuICAgICAgICAgICAgICAgIC5hY3Rpb24oZ3RrOjpGaWxlQ2hvb3NlckFjdGlvbjo6U2F2ZSlcbiAgICAgICAgICAgICAgICAuYWNjZXB0X2xhYmVsKFwiU2VsZWN0XCIpXG4gICAgICAgICAgICAgICAgLmNhbmNlbF9sYWJlbChcIkNhbmNlbFwiKVxuICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuICAgICAgICAgICAgY2hvb3Nlci5zZXRfY3VycmVudF9uYW1lKFwiYWx0LWxpbnV4LmltZ1wiKTtcbiAgICAgICAgICAgIGxldCByb3cgPSByb3cuY2xvbmUoKTtcbiAgICAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgZHJpdmVfcm93ID0gZHJpdmVfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgc3RhcnRfYnV0dG9uID0gc3RhcnRfYnV0dG9uLmNsb25lKCk7XG4gICAgICAgICAgICBjaG9vc2VyLmNvbm5lY3RfcmVzcG9uc2UobW92ZSB8ZGlhbG9nLCByZXNwb25zZXwge1xuICAgICAgICAgICAgICAgIGlmIHJlc3BvbnNlID09IGd0azo6UmVzcG9uc2VUeXBlOjpBY2NlcHRcbiAgICAgICAgICAgICAgICAgICAgJiYgbGV0IFNvbWUocGF0aCkgPSBkaWFsb2cuZmlsZSgpLmFuZF90aGVuKHxmfCBmLnBhdGgoKSlcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJvdy5zZXRfdGl0bGUoJmRpc3BsYXlfbmFtZSgmcGF0aCkpO1xuICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBhdGgucGFyZW50KCkuYW5kX3RoZW4oUGF0aDo6dG9fc3RyKS51bndyYXBfb3IoXCJcIikpO1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkub3V0cHV0X2ZpbGUgPSBTb21lKHBhdGguZGlzcGxheSgpLnRvX3N0cmluZygpKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlX3N0YXJ0KCZzdGFydF9idXR0b24sICZzdGF0ZSwgJmJvYXJkX3JvdywgJmRyaXZlX3Jvdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRpYWxvZy5kZXN0cm95KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNob29zZXIuc2hvdygpOyIsIm5ld1RleHQiOiIgICAgICAgICAgICBsZXQgY2hvb3NlciA9IGd0azo6RmlsZURpYWxvZzo6YnVpbGRlcigpXG4gICAgICAgICAgICAgICAgLnRpdGxlKFwiQ3JlYXRlIERpc2sgSW1hZ2VcIilcbiAgICAgICAgICAgICAgICAuYWNjZXB0X2xhYmVsKFwiU2VsZWN0XCIpXG4gICAgICAgICAgICAgICAgLmluaXRpYWxfbmFtZShcImFsdC1saW51eC5pbWdcIilcbiAgICAgICAgICAgICAgICAubW9kYWwodHJ1ZSlcbiAgICAgICAgICAgICAgICAuYnVpbGQoKTtcbiAgICAgICAgICAgIGxldCByb3cgPSByb3cuY2xvbmUoKTtcbiAgICAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgZHJpdmVfcm93ID0gZHJpdmVfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgc3RhcnRfYnV0dG9uID0gc3RhcnRfYnV0dG9uLmNsb25lKCk7XG4gICAgICAgICAgICBjaG9vc2VyLnNhdmUoU29tZSgmd2luZG93KSwgZ3RrOjpnaW86OkNhbmNlbGxhYmxlOjpOT05FLCBtb3ZlIHxyZXN1bHR8IHtcbiAgICAgICAgICAgICAgICBpZiBsZXQgU29tZShwYXRoKSA9IHJlc3VsdC5vaygpLmFuZF90aGVuKHxmaWxlfCBmaWxlLnBhdGgoKSkge1xuICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3RpdGxlKCZkaXNwbGF5X25hbWUoJnBhdGgpKTtcbiAgICAgICAgICAgICAgICAgICAgcm93LnNldF9zdWJ0aXRsZShwYXRoLnBhcmVudCgpLmFuZF90aGVuKFBhdGg6OnRvX3N0cikudW53cmFwX29yKFwiXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLm91dHB1dF9maWxlID0gU29tZShwYXRoLmRpc3BsYXkoKS50b19zdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9zdGFydCgmc3RhcnRfYnV0dG9uLCAmc3RhdGUsICZib2FyZF9yb3csICZkcml2ZV9yb3cpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pOyJ9XX19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo1NTksIm91dHB1dCI6MTAxNSwiY2FjaGVSZWFkIjozMzI4MCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyMywidG90YWxUb2tlbnMiOjM0ODU0LCJjb3N0Ijp7ImlucHV0IjowLjAwMjc5NSwib3V0cHV0IjowLjAzMDQ1LCJjYWNoZVJlYWQiOjAuMDE2NjQsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA0OTg4NX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4ODcwNTI3OSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0MjE5ZTY0ODE5MTgyMjc1NDE2MzY4ZjEyMjEifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZjYxNTk3YTgiLCJwYXJlbnRJZCI6IjllZDUwNmM0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMjowNS4wMjRaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0tqU2UwaW4wcGxXTWNVS2NWell6U3lRMHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQyNDAyNjQ4MTkxYjI1OTcyNmI1OTcyMzFkOCIsInRvb2xOYW1lIjoiZWRpdCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSByZXBsYWNlZCAyIGJsb2NrKHMpIGluIHNyYy9tYWluLnJzLiJ9XSwiZGV0YWlscyI6eyJkaWZmIjoiICAgICAuLi5cbiAyNzcgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gMjc4ICAgICAgICAgbGV0IGRyaXZlX3JvdyA9IGRyaXZlX3Jvdy5jbG9uZSgpO1xuIDI3OSAgICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbiAyODAgICAgICAgICBzb3VyY2VfY2hvb3NlLmNvbm5lY3RfY2xpY2tlZChtb3ZlIHxffCB7XG4tMjgxICAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4rMjgxICAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlRGlhbG9nOjpidWlsZGVyKClcbiAyODIgICAgICAgICAgICAgICAgIC50aXRsZShcIkNob29zZSBJbnN0YWxsYXRpb24gU291cmNlXCIpXG4tMjgzICAgICAgICAgICAgICAgICAudHJhbnNpZW50X2Zvcigmd2luZG93KVxuLTI4NCAgICAgICAgICAgICAgICAgLmFjdGlvbihndGs6OkZpbGVDaG9vc2VyQWN0aW9uOjpPcGVuKVxuIDI4NSAgICAgICAgICAgICAgICAgLmFjY2VwdF9sYWJlbChcIlNlbGVjdFwiKVxuLTI4NiAgICAgICAgICAgICAgICAgLmNhbmNlbF9sYWJlbChcIkNhbmNlbFwiKVxuKzI4NCAgICAgICAgICAgICAgICAgLm1vZGFsKHRydWUpXG4gMjg3ICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcbiAyODggICAgICAgICAgICAgbGV0IHJvdyA9IHJvdy5jbG9uZSgpO1xuIDI4OSAgICAgICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuIDI5MCAgICAgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gMjkxICAgICAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAyOTIgICAgICAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuLTI5MyAgICAgICAgICAgICBjaG9vc2VyLmNvbm5lY3RfcmVzcG9uc2UobW92ZSB8ZGlhbG9nLCByZXNwb25zZXwge1xuLTI5NCAgICAgICAgICAgICAgICAgaWYgcmVzcG9uc2UgPT0gZ3RrOjpSZXNwb25zZVR5cGU6OkFjY2VwdFxuLTI5NSAgICAgICAgICAgICAgICAgICAgICYmIGxldCBTb21lKHBhdGgpID0gZGlhbG9nLmZpbGUoKS5hbmRfdGhlbih8ZnwgZi5wYXRoKCkpXG4tMjk2ICAgICAgICAgICAgICAgICB7XG4rMjkxICAgICAgICAgICAgIGNob29zZXIub3BlbihTb21lKCZ3aW5kb3cpLCBndGs6Omdpbzo6Q2FuY2VsbGFibGU6Ok5PTkUsIG1vdmUgfHJlc3VsdHwge1xuKzI5MiAgICAgICAgICAgICAgICAgaWYgbGV0IFNvbWUocGF0aCkgPSByZXN1bHQub2soKS5hbmRfdGhlbih8ZmlsZXwgZmlsZS5wYXRoKCkpIHtcbiAyOTcgICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3RpdGxlKCZkaXNwbGF5X25hbWUoJnBhdGgpKTtcbiAyOTggICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBhdGgucGFyZW50KCkuYW5kX3RoZW4oUGF0aDo6dG9fc3RyKS51bndyYXBfb3IoXCJcIikpO1xuIDI5OSAgICAgICAgICAgICAgICAgICAgIHN0YXRlLmJvcnJvd19tdXQoKS5zb3VyY2UgPSBTb21lKHBhdGguZGlzcGxheSgpLnRvX3N0cmluZygpKTtcbiAzMDAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCAmYm9hcmRfcm93LCAmZHJpdmVfcm93KTtcbiAzMDEgICAgICAgICAgICAgICAgIH1cbi0zMDIgICAgICAgICAgICAgICAgIGRpYWxvZy5kZXN0cm95KCk7XG4gMzAzICAgICAgICAgICAgIH0pO1xuLTMwNCAgICAgICAgICAgICBjaG9vc2VyLnNob3coKTtcbiAzMDUgICAgICAgICB9KTtcbiAzMDYgICAgIH1cbiAzMDcgICAgIHtcbiAzMDggICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuICAgICAuLi5cbiAzNDEgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gMzQyICAgICAgICAgbGV0IGRyaXZlX3JvdyA9IGRyaXZlX3Jvdy5jbG9uZSgpO1xuIDM0MyAgICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbiAzNDQgICAgICAgICBvdXRwdXRfY2hvb3NlLmNvbm5lY3RfY2xpY2tlZChtb3ZlIHxffCB7XG4tMzQ1ICAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4rMzM5ICAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlRGlhbG9nOjpidWlsZGVyKClcbiAzNDYgICAgICAgICAgICAgICAgIC50aXRsZShcIkNyZWF0ZSBEaXNrIEltYWdlXCIpXG4tMzQ3ICAgICAgICAgICAgICAgICAudHJhbnNpZW50X2Zvcigmd2luZG93KVxuLTM0OCAgICAgICAgICAgICAgICAgLmFjdGlvbihndGs6OkZpbGVDaG9vc2VyQWN0aW9uOjpTYXZlKVxuIDM0OSAgICAgICAgICAgICAgICAgLmFjY2VwdF9sYWJlbChcIlNlbGVjdFwiKVxuLTM1MCAgICAgICAgICAgICAgICAgLmNhbmNlbF9sYWJlbChcIkNhbmNlbFwiKVxuKzM0MiAgICAgICAgICAgICAgICAgLmluaXRpYWxfbmFtZShcImFsdC1saW51eC5pbWdcIilcbiszNDMgICAgICAgICAgICAgICAgIC5tb2RhbCh0cnVlKVxuIDM1MSAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG4tMzUyICAgICAgICAgICAgIGNob29zZXIuc2V0X2N1cnJlbnRfbmFtZShcImFsdC1saW51eC5pbWdcIik7XG4gMzUzICAgICAgICAgICAgIGxldCByb3cgPSByb3cuY2xvbmUoKTtcbiAzNTQgICAgICAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAzNTUgICAgICAgICAgICAgbGV0IGJvYXJkX3JvdyA9IGJvYXJkX3Jvdy5jbG9uZSgpO1xuIDM1NiAgICAgICAgICAgICBsZXQgZHJpdmVfcm93ID0gZHJpdmVfcm93LmNsb25lKCk7XG4gMzU3ICAgICAgICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbi0zNTggICAgICAgICAgICAgY2hvb3Nlci5jb25uZWN0X3Jlc3BvbnNlKG1vdmUgfGRpYWxvZywgcmVzcG9uc2V8IHtcbi0zNTkgICAgICAgICAgICAgICAgIGlmIHJlc3BvbnNlID09IGd0azo6UmVzcG9uc2VUeXBlOjpBY2NlcHRcbi0zNjAgICAgICAgICAgICAgICAgICAgICAmJiBsZXQgU29tZShwYXRoKSA9IGRpYWxvZy5maWxlKCkuYW5kX3RoZW4ofGZ8IGYucGF0aCgpKVxuLTM2MSAgICAgICAgICAgICAgICAge1xuKzM1MCAgICAgICAgICAgICBjaG9vc2VyLnNhdmUoU29tZSgmd2luZG93KSwgZ3RrOjpnaW86OkNhbmNlbGxhYmxlOjpOT05FLCBtb3ZlIHxyZXN1bHR8IHtcbiszNTEgICAgICAgICAgICAgICAgIGlmIGxldCBTb21lKHBhdGgpID0gcmVzdWx0Lm9rKCkuYW5kX3RoZW4ofGZpbGV8IGZpbGUucGF0aCgpKSB7XG4gMzYyICAgICAgICAgICAgICAgICAgICAgcm93LnNldF90aXRsZSgmZGlzcGxheV9uYW1lKCZwYXRoKSk7XG4gMzYzICAgICAgICAgICAgICAgICAgICAgcm93LnNldF9zdWJ0aXRsZShwYXRoLnBhcmVudCgpLmFuZF90aGVuKFBhdGg6OnRvX3N0cikudW53cmFwX29yKFwiXCIpKTtcbiAzNjQgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkub3V0cHV0X2ZpbGUgPSBTb21lKHBhdGguZGlzcGxheSgpLnRvX3N0cmluZygpKTtcbiAzNjUgICAgICAgICAgICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCAmYm9hcmRfcm93LCAmZHJpdmVfcm93KTtcbiAzNjYgICAgICAgICAgICAgICAgIH1cbi0zNjcgICAgICAgICAgICAgICAgIGRpYWxvZy5kZXN0cm95KCk7XG4gMzY4ICAgICAgICAgICAgIH0pO1xuLTM2OSAgICAgICAgICAgICBjaG9vc2VyLnNob3coKTtcbiAzNzAgICAgICAgICB9KTtcbiAzNzEgICAgIH1cbiAzNzIgICAgIHtcbiAzNzMgICAgICAgICBsZXQgd2luZG93ID0gd2luZG93LmNsb25lKCk7XG4gICAgIC4uLiIsInBhdGNoIjoiLS0tIHNyYy9tYWluLnJzXG4rKysgc3JjL21haW4ucnNcbkBAIC0yNzcsMzIgKzI3NywyNiBAQFxuICAgICAgICAgbGV0IGJvYXJkX3JvdyA9IGJvYXJkX3Jvdy5jbG9uZSgpO1xuICAgICAgICAgbGV0IGRyaXZlX3JvdyA9IGRyaXZlX3Jvdy5jbG9uZSgpO1xuICAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICAgc291cmNlX2Nob29zZS5jb25uZWN0X2NsaWNrZWQobW92ZSB8X3wge1xuLSAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4rICAgICAgICAgICAgbGV0IGNob29zZXIgPSBndGs6OkZpbGVEaWFsb2c6OmJ1aWxkZXIoKVxuICAgICAgICAgICAgICAgICAudGl0bGUoXCJDaG9vc2UgSW5zdGFsbGF0aW9uIFNvdXJjZVwiKVxuLSAgICAgICAgICAgICAgICAudHJhbnNpZW50X2Zvcigmd2luZG93KVxuLSAgICAgICAgICAgICAgICAuYWN0aW9uKGd0azo6RmlsZUNob29zZXJBY3Rpb246Ok9wZW4pXG4gICAgICAgICAgICAgICAgIC5hY2NlcHRfbGFiZWwoXCJTZWxlY3RcIilcbi0gICAgICAgICAgICAgICAgLmNhbmNlbF9sYWJlbChcIkNhbmNlbFwiKVxuKyAgICAgICAgICAgICAgICAubW9kYWwodHJ1ZSlcbiAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG4gICAgICAgICAgICAgbGV0IHJvdyA9IHJvdy5jbG9uZSgpO1xuICAgICAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgICAgICAgbGV0IGJvYXJkX3JvdyA9IGJvYXJkX3Jvdy5jbG9uZSgpO1xuICAgICAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgICAgICBsZXQgc3RhcnRfYnV0dG9uID0gc3RhcnRfYnV0dG9uLmNsb25lKCk7XG4tICAgICAgICAgICAgY2hvb3Nlci5jb25uZWN0X3Jlc3BvbnNlKG1vdmUgfGRpYWxvZywgcmVzcG9uc2V8IHtcbi0gICAgICAgICAgICAgICAgaWYgcmVzcG9uc2UgPT0gZ3RrOjpSZXNwb25zZVR5cGU6OkFjY2VwdFxuLSAgICAgICAgICAgICAgICAgICAgJiYgbGV0IFNvbWUocGF0aCkgPSBkaWFsb2cuZmlsZSgpLmFuZF90aGVuKHxmfCBmLnBhdGgoKSlcbi0gICAgICAgICAgICAgICAge1xuKyAgICAgICAgICAgIGNob29zZXIub3BlbihTb21lKCZ3aW5kb3cpLCBndGs6Omdpbzo6Q2FuY2VsbGFibGU6Ok5PTkUsIG1vdmUgfHJlc3VsdHwge1xuKyAgICAgICAgICAgICAgICBpZiBsZXQgU29tZShwYXRoKSA9IHJlc3VsdC5vaygpLmFuZF90aGVuKHxmaWxlfCBmaWxlLnBhdGgoKSkge1xuICAgICAgICAgICAgICAgICAgICAgcm93LnNldF90aXRsZSgmZGlzcGxheV9uYW1lKCZwYXRoKSk7XG4gICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBhdGgucGFyZW50KCkuYW5kX3RoZW4oUGF0aDo6dG9fc3RyKS51bndyYXBfb3IoXCJcIikpO1xuICAgICAgICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLnNvdXJjZSA9IFNvbWUocGF0aC5kaXNwbGF5KCkudG9fc3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgICAgICAgdXBkYXRlX3N0YXJ0KCZzdGFydF9idXR0b24sICZzdGF0ZSwgJmJvYXJkX3JvdywgJmRyaXZlX3Jvdyk7XG4gICAgICAgICAgICAgICAgIH1cbi0gICAgICAgICAgICAgICAgZGlhbG9nLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICB9KTtcbi0gICAgICAgICAgICBjaG9vc2VyLnNob3coKTtcbiAgICAgICAgIH0pO1xuICAgICB9XG4gICAgIHtcbiAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG5AQCAtMzQxLDMzICszMzUsMjcgQEBcbiAgICAgICAgIGxldCBib2FyZF9yb3cgPSBib2FyZF9yb3cuY2xvbmUoKTtcbiAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbiAgICAgICAgIG91dHB1dF9jaG9vc2UuY29ubmVjdF9jbGlja2VkKG1vdmUgfF98IHtcbi0gICAgICAgICAgICBsZXQgY2hvb3NlciA9IGd0azo6RmlsZUNob29zZXJOYXRpdmU6OmJ1aWxkZXIoKVxuKyAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlRGlhbG9nOjpidWlsZGVyKClcbiAgICAgICAgICAgICAgICAgLnRpdGxlKFwiQ3JlYXRlIERpc2sgSW1hZ2VcIilcbi0gICAgICAgICAgICAgICAgLnRyYW5zaWVudF9mb3IoJndpbmRvdylcbi0gICAgICAgICAgICAgICAgLmFjdGlvbihndGs6OkZpbGVDaG9vc2VyQWN0aW9uOjpTYXZlKVxuICAgICAgICAgICAgICAgICAuYWNjZXB0X2xhYmVsKFwiU2VsZWN0XCIpXG4tICAgICAgICAgICAgICAgIC5jYW5jZWxfbGFiZWwoXCJDYW5jZWxcIilcbisgICAgICAgICAgICAgICAgLmluaXRpYWxfbmFtZShcImFsdC1saW51eC5pbWdcIilcbisgICAgICAgICAgICAgICAgLm1vZGFsKHRydWUpXG4gICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuLSAgICAgICAgICAgIGNob29zZXIuc2V0X2N1cnJlbnRfbmFtZShcImFsdC1saW51eC5pbWdcIik7XG4gICAgICAgICAgICAgbGV0IHJvdyA9IHJvdy5jbG9uZSgpO1xuICAgICAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgICAgICAgbGV0IGJvYXJkX3JvdyA9IGJvYXJkX3Jvdy5jbG9uZSgpO1xuICAgICAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgICAgICBsZXQgc3RhcnRfYnV0dG9uID0gc3RhcnRfYnV0dG9uLmNsb25lKCk7XG4tICAgICAgICAgICAgY2hvb3Nlci5jb25uZWN0X3Jlc3BvbnNlKG1vdmUgfGRpYWxvZywgcmVzcG9uc2V8IHtcbi0gICAgICAgICAgICAgICAgaWYgcmVzcG9uc2UgPT0gZ3RrOjpSZXNwb25zZVR5cGU6OkFjY2VwdFxuLSAgICAgICAgICAgICAgICAgICAgJiYgbGV0IFNvbWUocGF0aCkgPSBkaWFsb2cuZmlsZSgpLmFuZF90aGVuKHxmfCBmLnBhdGgoKSlcbi0gICAgICAgICAgICAgICAge1xuKyAgICAgICAgICAgIGNob29zZXIuc2F2ZShTb21lKCZ3aW5kb3cpLCBndGs6Omdpbzo6Q2FuY2VsbGFibGU6Ok5PTkUsIG1vdmUgfHJlc3VsdHwge1xuKyAgICAgICAgICAgICAgICBpZiBsZXQgU29tZShwYXRoKSA9IHJlc3VsdC5vaygpLmFuZF90aGVuKHxmaWxlfCBmaWxlLnBhdGgoKSkge1xuICAgICAgICAgICAgICAgICAgICAgcm93LnNldF90aXRsZSgmZGlzcGxheV9uYW1lKCZwYXRoKSk7XG4gICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBhdGgucGFyZW50KCkuYW5kX3RoZW4oUGF0aDo6dG9fc3RyKS51bndyYXBfb3IoXCJcIikpO1xuICAgICAgICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLm91dHB1dF9maWxlID0gU29tZShwYXRoLmRpc3BsYXkoKS50b19zdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCAmYm9hcmRfcm93LCAmZHJpdmVfcm93KTtcbiAgICAgICAgICAgICAgICAgfVxuLSAgICAgICAgICAgICAgICBkaWFsb2cuZGVzdHJveSgpO1xuICAgICAgICAgICAgIH0pO1xuLSAgICAgICAgICAgIGNob29zZXIuc2hvdygpO1xuICAgICAgICAgfSk7XG4gICAgIH1cbiAgICAge1xuICAgICAgICAgbGV0IHdpbmRvdyA9IHdpbmRvdy5jbG9uZSgpO1xuIiwiZmlyc3RDaGFuZ2VkTGluZSI6MjgxfSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODcyNTAyNH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImJiMTI1NWU1IiwicGFyZW50SWQiOiJmNjE1OTdhOCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTI6MTEuOTQwWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipWZXJpZnlpbmcgY29uZmlnIGluY3JlbWVudCBzcGVlZCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0Mzg5ZWQ4ODE5MWJlZDQ4NDJjNGJlYjY3YTlcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1RNXYzNVhvVlR5WE11NnE1QlNoWWJyWTM4WWl4OXFBT3R6OGFLcmFpV2YtUWlkUXMxRll1X2hZV29ZTkRWQ3ExWHZQX2d4SzJJN1dHSmZsOHFQTTZwRWZIZGpiQWhtdk5zMjFjZmcxQ193bVEtdVRDOTlOUXFNd2VXSWpxb2dVdjhvQUhUek5BZTF3M0k1eURtNkhPMDMwb1pVdEp2YUh2VFZnXy1FY20zQjB5azhNVXUxcXpjYVZRdTRQX094OUpsRzdpdm1ENk81VDlvQWRTbmFLWWdHMlE2VzlzRXpXdlR2MWpwWXFsaHVJVWFLUUFySmlLT05tUUNEcWhpbE5QNlBORl82cnV2YWdia1hXb1BfX3lsbFV5OXBkVnBWQ3ZvNmNTbUFROGVMNzRPTVhXNEdmOXlJdUhhYzFjWnZQeTFvdHQ1WWxGVTZMWkxZcGFwQWlFNmFyeHMtdGRTWlBJdlhkZVp0SURZeE5FS0JNSHdwRmlRM3ktbEVDcHNtVFFVOVBzNUxuamF4QkhRa19LU1NwRkx3NG1mLXA2Ry1rQzZhUlktVUpfRDgzLXpJQVJiWklwanlSSXBnalpvRFlwTS1TU2c0XzBRRlVfMDZmNTJLN2ZPMWIydUp6VlN5ZVc2RmZzWHNIY2t5WTJzU0lHZWxSdWJFYmVHYlNiSVRGbVdSYS1IaXplMFdrR0VVNkVQY1k4S1pkMHZtSFlDRldJYVRISzc2ZTVyeDg3TzZHeGhrMWoxd3puLVRiLWtHdkRkbUZsN211U1ZqRFN0a0s5ampTNHh6UGJYeXBORXY1MkkwTHo3anpEMkxmbzlGZGtWQkc1U2N1SGpQTG5CLU5SeXBqaGk1bG1wSnVPTEltVUh4VWFENFl4NkM4bGJhdHhSOW9PWXF5bUlUbklVdkJEVDBLd2hFQ1ppNnM5dHZlU3dIMUZlRkZNeEUwRWw4Xzl0X0JYaXlUTERaLXFRcUFIMGhXX1Bacl91YThUUnFGR3BudGdtYjNxSFVWckNUbTRkZjlZNUhDRDMxN0dGUkRxeV95Q3VaUnZoenBOVk5nSnBGb3Y0OE9USnVHR1lHWmlrS3pHYnFKNUVKNG1ZRmh1S2Vfck11U1ZXU3pHYW1kTC0wd3EtX0dCNHlDODFodDBuNHdVRUVNWENDVk5BSE92WmZrSjAxRXJVSldMby1SY0ZtUXNGWnBhXzNQQlNpbUlXNVZ4aXFQVlNTYnV1WW8zOFVwUWxjM2Z5czd0RVFBaGl2bmFQUzY1MDBRZExKeDdXeWYzdDRZc2lsNExmeTcwMG5uQ3BkeFE9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqVmVyaWZ5aW5nIGNvbmZpZyBpbmNyZW1lbnQgc3BlZWQqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfcEJRQXpTWkZXM3NiUFc1MnZ5aWhnUkp6fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDM5MzFkYzgxOTFhODI1OTdmZWFhZTFmNjA3IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6IkRPQ1NfUlM9MSBSVVNUQ19CT09UU1RSQVA9MSBSVVNURkxBR1M9Jy0tY2ZnIGRvY3NycycgY2FyZ28gY2hlY2siLCJ0aW1lb3V0IjoxMjB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTU5Niwib3V0cHV0Ijo1NywiY2FjaGVSZWFkIjozMzI4MCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxMCwidG90YWxUb2tlbnMiOjM0OTMzLCJjb3N0Ijp7ImlucHV0IjowLjAwNzk4MDAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMTcxMDAwMDAwMDAwMDAwMDEsImNhY2hlUmVhZCI6MC4wMTY2NCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDI2MzN9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODg3MjUwMjUsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDM1NjVkODgxOTFhM2E1NTUxNTdmN2RmY2M4In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjA1OTFlOTdmIiwicGFyZW50SWQiOiJiYjEyNTVlNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTI6MTIuMTE2WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9wQlFBelNaRlczc2JQVzUydnlpaGdSSnp8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0MzkzMWRjODE5MWE4MjU5N2ZlYWFlMWY2MDciLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgQ2hlY2tpbmcgZmxhc2hlciB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIpXG4gICAgRmluaXNoZWQgYGRldmAgcHJvZmlsZSBbdW5vcHRpbWl6ZWQgKyBkZWJ1Z2luZm9dIHRhcmdldChzKSBpbiAwLjE2c1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NzMyMTE2fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYmU5MzY0ZWEiLCJwYXJlbnRJZCI6IjA1OTFlOTdmIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMjozMi40NDVaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIGJ1aWxkIGluc3RydWN0aW9ucyBhbmQgVUkgZml4ZXMqKlxuXG4qKkVuaGFuY2luZyBVSSBzdGF0ZSBsb2dpYyBhbmQgZGV2aWNlIGZpbHRlcmluZyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0M2VhYWQwODE5MWFkM2YyYzlhZTFkZWI1OThcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1STEtPX0pWSWJSSWZrc0k3UmNJV3JVOWdRWlRLWkdZUU9BVVBTcnpNZ3drZVBjVV9jTy1ZZ1BiNjRhVm4wTkhVM3AyRXdfTTMxeXF6YlN3S2VYTG5kNnhKbEhxTjNuRE5iOWIyN3hIaVhFZkNvc0I1R25tdDFlNWlTQm5HQV9tbWJEUE9KbU8ySlJJLTJiR3htVlVpRkpqMTFUMjVWX185V1NOTHA1bjREZ1hPQ1AtUVFJVDJ5NU1wR1ROMEU4QzB1M3Byd1lOOHVfMU9YOWtsOWtGcmVSY0pjaVV0RFBWc0s4akx6aXBOLVhMSDYyUGFGSExMX0pnY1U4LWtWNlVjWkZFMEJKQWFpQ1JSVmJiRm90VnRTMWQ0YUpFOC03cS1mLXdHYWlvY0ZybndlaktGYTh0azRWdTdOUVlxc29jR2tNLUZvNFE0WHRXRHByWW9QekQ3LWp5aGJ2bUZTWGxSRnR3MWt6LWdSV0tJR0tkd1ktTE5ENjI5VzFjNEFFM0hkZkdPUGVNLTlBU3NHU1hQVGpOcjVYQ21NMS0wT1otaXctRTFCUHlPbVRUSFhGa1lWYmpmRnNJSXVfa09FcU8xUFN5UGg5c2dFbUw3TnFXaTRsalVUOGFnQ0VWN09OSmpMb3ZlR0EzZlJ3c1llOEJuNDZWZVNhRGpvckNfbk5ZU3VZdUYtTnpTc0pTMVk1aExULWE4SjUzMGQ3ZzBreEpqX0RwR2liaUp1SWlXZzh5S1FPdDhBbDc3NDJaTDlpanhlaURVSHQzM2lFM21yZzNOVFJvM045T0lfeXJGUk1FNkYyS25ib0hfLURPTFFQUXVzVk1jbElfRTRpbElyc2t6dEFrdVBwSzZkTHdCanU2dFg1WU5fWlZDclloeWV1TmtXVHdXMWx5Tkp3NHFjQnJBWHhTeWhZSmlyaEQ1MlExTHQ0YXhMSjQ0dkhtZXpKUHJYTGxaNmpseGxPM0FDMnhxVTlxbWstb0wtSS1CaG42bEJmQkMyOFBiZDZ0SFR6QkVtVksybW5oS2t2eGg5cUM4WWNzdnRUdHRGLW8zMWg4b0NyR1VUbUYwdnJad0k4ZmtWUHp6LUNpZmIyQUg5aWRPQmdlVlZNSVhSY3pzSGdELWNONXFuYjA0VTFLcEF0dXhLdy1sUGtVOHNmazBmaHlwTjlBWkNfWDN6QkR6eS1ZQzhkV2xnX1hpUTFiZ01kYmFrME1MaXM5ZWFHTU51THpyeG05NURnWWdCVFRTRktNelhidXdDdXZqd3NnaGpYekhWVkRNSDJqZkI4akdmbzBDUE1rMTF1YTBSeDZxcHFtdWltR2EzVTlLRF9aSHJyZGpsX21VeXhhc1c3SmhDVk5UVWxzTElQSkJTZjRzZ2I2eDViT05MMzdGSnZqUWp5WV9VNzFXS2FaZGxNWXFuT0JTQ3VjVlkyakdDa3hkdWd5MGwwVWs1ZS16aDZicjlSbGRMejZaQU82WXVuWWlfNHk0aUh0N0lURjdDMzFXeVl3MlJiYXUwR1Q4VWF2elUzbTRHdDh3WUZnQ2wyaDQ2WTJ1MWVTTVRGbVc3Z1gyRkVrRG0wVjBQMTZhd0lZaXRVN19SNTlLYkNyb3dyX3I0TFpqM0RvQTQyMXAzc3V5eVVKZmtMbEVjeDdlUjNUOThUTm1mNThRaWRIN25ZOHVwdzl2UkNLT2RtOVNIb1hNTTdpVmotVnZBSElnS2tXZHVlQkxaTDlMUVBWNVpWZ3h0cEF4YTlZYWNhNWZTbTFucFRNODRDZ0dQU1lpdHVvUDVIakhROE5LV3RkWU4tc0dpRGtvSVM4b2J2VXJCc2lHanBOZjdnZk02Y0ctdjU1VEFLSFo1eF9mYjhQSkl0VHhwLVBoM0VsZW5IVDBac0dRU29VczRIdVJvMVNLbXlFb1V5NVF4Qm1YTEh6RTQ1alA5QVV6cDd0TDgwSVFQSHY2U1YzTlpEa1ZjajJ3X3Mzc0lDaERHeXk5WmFWdHV4ZWpXN1h3ME0zU3EwNmxzTHloLTFzUDc0dFBQcEc3cFBFZTVKcUlYS0ZxbzNwZWhHT0N3MDRqWDMwV1ltbXlwWFloNTJ2MjVhZWdpeWk0bF93MFJZdTRaTUJvTnM0UnZrbVZ4bUo0NWJhanZnRnJBU0xNbzlTbXpseWpEbGZvbjJyZXZFcmkxU3hqQmFETl94WnJMWWJScEVMcEhhZlNpTzkxUk0xVV96dXRwUmFCTUYwZGhQcjl0c2FRWUFQSmRFVUhyWjV1NUFVLWJKcHg2eXJSRU9sWXhEVF81bEFqc3lzUUs1dFhtUks5YW5UZU1xWlhWNXk4dEFERFJLNHNPYVFKUlJoSnBlVTVNV0luWnA5ak1RV1Npb3dsMFZQRW9xSXFFenAzcnNNd1JTeXBlU1VzVWhZU2p5RGd3Z3VKcUZvQ1BJVTZFcHVCUl9RU1IyejNUNDlVU2xPbjFJbHlpOXRYUEp6LVdldUdmZi1MM21HdjZ2RXlSNG5qajU1LVRvbi1EVEw3SVdoZWs4OE9fRTk1V1Zfdkt4eVVoRWs4MG9ONHFHbnFaakYyT1ZBQ1JFc3VOT3hkRnNPUC1lM3pXQ2ZhNEM4MEhtWU9UMEoyMF9mQXo0TWVVS3Zid3RiZUdOeFRDQjFDc1BsMDFualJFUHdfLTlsbkRNR3dCbVFZeS1fdlcxbzctdUJhb3JWQWNfQy1HeEdZUGN0QmhfUWxBT1h3ZFVnYldfRF9LY2J5aDM4Tkh6TktHNlYzN3hkVGZsaEVscTZUQ2k3V3RXQjFJUFZOWjBWa29aSGxXcmtZanAzMHc5dWg3NnVZVmdJVXAyazYzSWFnd1hKWllxM3hOZkwzS2w0Uk9mam9sV3Y3Q0ZtUDZKbnFtZ0xocWdXQjAzNFNaM0cwYWpMbDNMN0tnQXBTNzBtdVlpNU5SRHRDVGwyZ19uUzl5c2tVX1ZSdEUwT1NCckYwWVc2WnBxOUp0NWhwLVMzSGluSUpDTDhCWlNQQS16TjlBNGZkM191MTRseW1IUVhHa3prbjVLSGRCSm1HdlA0cjlfcFZEaUo3bjY2TlEwd0VMaFh5TFZuemZsZVdwU3kwYkFpX1hkb2FlMTNVUV93NWVTMFc3OUI1SlpVaDEyQURxNzNRVXpTVFNyTFFtZVk0RUxSZ1JZblZ6UmNteGxBVjRzZS1ZMjltZUNUOGdxNjV5bVhwSkJUTGpObk5SZEZva0IxcUszZFJMWXY2cWJDYzFZMndhVlk3TkY3MU85UnFyRHAyZ1VNSnpvemVmSkFEeTZzWVlLYWVwenEzMlk0ZUoyRzZsNjRPZDJPT3pDejVlQ1R3UXQ5bDMtOG9BNldfSE5HWURGSlpKVXJJUVVHZ3lNOEVTRVprQlQxVjZSNjZnYXJKeDg4N1I0aGh2M21xR3h0TDM3N2N5YkVmNmRZUnpmbmNJZmRMX3ZpMlhfbUx4NjJpM2pydVRGME5KVDhSRFVrSW15dTBwakFkZTFzQWFmR04xY3JhVHdSNEcxRXJYSUtwSW50YWdsMkRaY0cwRzNwMU1xalhiQTY4M0VxWTZrV0IyNy1fOFM2QkgxdXBlcjhiX2thSDU3dG5ZWEVfcjJfbVhiYnVYaEk0MWdwaUxIS19heFh0R2t1YTEwNXMydm5hdTZ2R2pEci1NUW5uY3ZvVEQ3THJCc2U1QU1BcjdYMnp1bU5nTjdJUGM0N1M0YTE5WmJja3VCNlJKX183ZkZWUzJvX1pscVEyRS0xazA0SGVZb2t0N0lHRE14Q0t3dTktTUFiejkxMjNzMURqaWxDaEhHVTdGakhiSlNFUGFpYU5qVDhuSjNQU2FWVGVpSF9IRE1uc2tCNWswTmFybTN4eG5Obkc4bmFLTG1GdkhnV0lEbmdLM3prWjREaEJYSXhZX2l4Tk9CbEVzdldXU2FRckdjYnNQSGdRRFdGNGd5ZkhUZ2JQVE40Zy1rMERqRnJKNmdoRGV1a1BwT2VleTExM2JYc2VsZXktLVpSZHJOZW5Qd0ZUdWM1N2FUQlo5TVJYV0lTaF93Y1hoUVZCekNNSFJUWDZEaUxmdHU3b0tULVJORHN1NEZTYV9MNzcwZTBBcS16VHctS2RoY3hXQzBRVEVsVmRrWHRwdkVSMVpuQ2MwT09VTk53YzBiS2ZTcW5wQU9yVEstNlFWXzFGaEppbHcwTVgyU25iQzhidXB1cmcxWXpXNF9DUVFGOUpwR1BCcE1pWVZDeHFLNFRON1VXOXJmQWltNUphN3JqVDQtNW5wY1NhNWNodW80Y3BBLWhaaWZ2WjV2UGZiZ2huV0trMlBRTE9OeFFybnFPRGhndG5peWFpbUk4N1F2RUxKdDZfSEpGankxcXR3a293LUJpMlotWlhUSW1ZUXRRcVFlbVROMkppMlhRU0NnRmExRF81UHpuUnFuRlhVcHN0dWFcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIGJ1aWxkIGluc3RydWN0aW9ucyBhbmQgVUkgZml4ZXMqKlwifSx7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqRW5oYW5jaW5nIFVJIHN0YXRlIGxvZ2ljIGFuZCBkZXZpY2UgZmlsdGVyaW5nKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzlidTdSeWNNTTBOUnBxemNTSzVEZnhzWHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQ0YmY1NzA4MTkxYmI2MDY0ZGFjMGYwYjI0NyIsIm5hbWUiOiJlZGl0IiwiYXJndW1lbnRzIjp7InBhdGgiOiJzcmMvbWFpbi5ycyIsImVkaXRzIjpbeyJvbGRUZXh0IjoiICAgICAgICBsZXQgc291cmNlX3JvdyA9IHNvdXJjZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAgICAgICAgYXJjaGl2ZV9idXR0b24uY29ubmVjdF90b2dnbGVkKG1vdmUgfGJ1dHRvbnwge1xuICAgICAgICAgICAgaWYgYnV0dG9uLmlzX2FjdGl2ZSgpIHtcbiAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkuc291cmNlX2lzX2ltYWdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgc291cmNlX3Jvdy5zZXRfc3VidGl0bGUoXCJTdXBwb3J0ZWQ6IC50YXIsIC50YXIuZ3osIC50YXIueHpcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pOyIsIm5ld1RleHQiOiIgICAgICAgIGxldCBzb3VyY2Vfcm93ID0gc291cmNlX3Jvdy5jbG9uZSgpO1xuICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuICAgICAgICBsZXQgZmlsZV9idXR0b24gPSBmaWxlX2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICBhcmNoaXZlX2J1dHRvbi5jb25uZWN0X3RvZ2dsZWQobW92ZSB8YnV0dG9ufCB7XG4gICAgICAgICAgICBpZiBidXR0b24uaXNfYWN0aXZlKCkge1xuICAgICAgICAgICAgICAgIHN0YXRlLmJvcnJvd19tdXQoKS5zb3VyY2VfaXNfaW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBzb3VyY2Vfcm93LnNldF9zdWJ0aXRsZShcIlN1cHBvcnRlZDogLnRhciwgLnRhci5neiwgLnRhci54elwiKTtcbiAgICAgICAgICAgICAgICBmaWxlX2J1dHRvbi5zZXRfc2Vuc2l0aXZlKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTsifSx7Im9sZFRleHQiOiIgICAgICAgIGxldCBzb3VyY2Vfcm93ID0gc291cmNlX3Jvdy5jbG9uZSgpO1xuICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuICAgICAgICBpbWFnZV9idXR0b24uY29ubmVjdF90b2dnbGVkKG1vdmUgfGJ1dHRvbnwge1xuICAgICAgICAgICAgaWYgYnV0dG9uLmlzX2FjdGl2ZSgpIHtcbiAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkuc291cmNlX2lzX2ltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzb3VyY2Vfcm93LnNldF9zdWJ0aXRsZShcIlN1cHBvcnRlZDogLmltZywgLmltZy54elwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7IiwibmV3VGV4dCI6IiAgICAgICAgbGV0IHNvdXJjZV9yb3cgPSBzb3VyY2Vfcm93LmNsb25lKCk7XG4gICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGxldCBmaWxlX2J1dHRvbiA9IGZpbGVfYnV0dG9uLmNsb25lKCk7XG4gICAgICAgIGxldCBkcml2ZV9idXR0b24gPSBkcml2ZV9idXR0b24uY2xvbmUoKTtcbiAgICAgICAgaW1hZ2VfYnV0dG9uLmNvbm5lY3RfdG9nZ2xlZChtb3ZlIHxidXR0b258IHtcbiAgICAgICAgICAgIGlmIGJ1dHRvbi5pc19hY3RpdmUoKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLnNvdXJjZV9pc19pbWFnZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgc291cmNlX3Jvdy5zZXRfc3VidGl0bGUoXCJTdXBwb3J0ZWQ6IC5pbWcsIC5pbWcueHpcIik7XG4gICAgICAgICAgICAgICAgZHJpdmVfYnV0dG9uLnNldF9hY3RpdmUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgZmlsZV9idXR0b24uc2V0X3NlbnNpdGl2ZShmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pOyJ9XX19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo2ODQsIm91dHB1dCI6NzQ4LCJjYWNoZVJlYWQiOjM0MzA0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjMzMywidG90YWxUb2tlbnMiOjM1NzM2LCJjb3N0Ijp7ImlucHV0IjowLjAwMzQyMDAwMDAwMDAwMDAwMDMsIm91dHB1dCI6MC4wMjI0NCwiY2FjaGVSZWFkIjowLjAxNzE1MiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDQzMDEyfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg4NzMyMTE3LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQzYzZmNDg4MTkxODU4YTYyYWY0ODE2OTVmMCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4ZjRkODZkNyIsInBhcmVudElkIjoiYmU5MzY0ZWEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEyOjMyLjQ0OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfOWJ1N1J5Y01NME5ScHF6Y1NLNURmeHNYfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDRiZjU3MDgxOTFiYjYwNjRkYWMwZjBiMjQ3IiwidG9vbE5hbWUiOiJlZGl0IiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHJlcGxhY2VkIDIgYmxvY2socykgaW4gc3JjL21haW4ucnMuIn1dLCJkZXRhaWxzIjp7ImRpZmYiOiIgICAgIC4uLlxuIDI1MiAgICAgfVxuIDI1MyAgICAge1xuIDI1NCAgICAgICAgIGxldCBzb3VyY2Vfcm93ID0gc291cmNlX3Jvdy5jbG9uZSgpO1xuIDI1NSAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4rMjU2ICAgICAgICAgbGV0IGZpbGVfYnV0dG9uID0gZmlsZV9idXR0b24uY2xvbmUoKTtcbiAyNTYgICAgICAgICBhcmNoaXZlX2J1dHRvbi5jb25uZWN0X3RvZ2dsZWQobW92ZSB8YnV0dG9ufCB7XG4gMjU3ICAgICAgICAgICAgIGlmIGJ1dHRvbi5pc19hY3RpdmUoKSB7XG4gMjU4ICAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkuc291cmNlX2lzX2ltYWdlID0gZmFsc2U7XG4gMjU5ICAgICAgICAgICAgICAgICBzb3VyY2Vfcm93LnNldF9zdWJ0aXRsZShcIlN1cHBvcnRlZDogLnRhciwgLnRhci5neiwgLnRhci54elwiKTtcbisyNjEgICAgICAgICAgICAgICAgIGZpbGVfYnV0dG9uLnNldF9zZW5zaXRpdmUodHJ1ZSk7XG4gMjYwICAgICAgICAgICAgIH1cbiAyNjEgICAgICAgICB9KTtcbiAyNjIgICAgIH1cbiAyNjMgICAgIHtcbiAyNjQgICAgICAgICBsZXQgc291cmNlX3JvdyA9IHNvdXJjZV9yb3cuY2xvbmUoKTtcbiAyNjUgICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuKzI2OCAgICAgICAgIGxldCBmaWxlX2J1dHRvbiA9IGZpbGVfYnV0dG9uLmNsb25lKCk7XG4rMjY5ICAgICAgICAgbGV0IGRyaXZlX2J1dHRvbiA9IGRyaXZlX2J1dHRvbi5jbG9uZSgpO1xuIDI2NiAgICAgICAgIGltYWdlX2J1dHRvbi5jb25uZWN0X3RvZ2dsZWQobW92ZSB8YnV0dG9ufCB7XG4gMjY3ICAgICAgICAgICAgIGlmIGJ1dHRvbi5pc19hY3RpdmUoKSB7XG4gMjY4ICAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkuc291cmNlX2lzX2ltYWdlID0gdHJ1ZTtcbiAyNjkgICAgICAgICAgICAgICAgIHNvdXJjZV9yb3cuc2V0X3N1YnRpdGxlKFwiU3VwcG9ydGVkOiAuaW1nLCAuaW1nLnh6XCIpO1xuKzI3NCAgICAgICAgICAgICAgICAgZHJpdmVfYnV0dG9uLnNldF9hY3RpdmUodHJ1ZSk7XG4rMjc1ICAgICAgICAgICAgICAgICBmaWxlX2J1dHRvbi5zZXRfc2Vuc2l0aXZlKGZhbHNlKTtcbiAyNzAgICAgICAgICAgICAgfVxuIDI3MSAgICAgICAgIH0pO1xuIDI3MiAgICAgfVxuIDI3MyAgICAge1xuICAgICAuLi4iLCJwYXRjaCI6Ii0tLSBzcmMvbWFpbi5yc1xuKysrIHNyYy9tYWluLnJzXG5AQCAtMjUyLDIyICsyNTIsMjggQEBcbiAgICAgfVxuICAgICB7XG4gICAgICAgICBsZXQgc291cmNlX3JvdyA9IHNvdXJjZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4rICAgICAgICBsZXQgZmlsZV9idXR0b24gPSBmaWxlX2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICAgYXJjaGl2ZV9idXR0b24uY29ubmVjdF90b2dnbGVkKG1vdmUgfGJ1dHRvbnwge1xuICAgICAgICAgICAgIGlmIGJ1dHRvbi5pc19hY3RpdmUoKSB7XG4gICAgICAgICAgICAgICAgIHN0YXRlLmJvcnJvd19tdXQoKS5zb3VyY2VfaXNfaW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgc291cmNlX3Jvdy5zZXRfc3VidGl0bGUoXCJTdXBwb3J0ZWQ6IC50YXIsIC50YXIuZ3osIC50YXIueHpcIik7XG4rICAgICAgICAgICAgICAgIGZpbGVfYnV0dG9uLnNldF9zZW5zaXRpdmUodHJ1ZSk7XG4gICAgICAgICAgICAgfVxuICAgICAgICAgfSk7XG4gICAgIH1cbiAgICAge1xuICAgICAgICAgbGV0IHNvdXJjZV9yb3cgPSBzb3VyY2Vfcm93LmNsb25lKCk7XG4gICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuKyAgICAgICAgbGV0IGZpbGVfYnV0dG9uID0gZmlsZV9idXR0b24uY2xvbmUoKTtcbisgICAgICAgIGxldCBkcml2ZV9idXR0b24gPSBkcml2ZV9idXR0b24uY2xvbmUoKTtcbiAgICAgICAgIGltYWdlX2J1dHRvbi5jb25uZWN0X3RvZ2dsZWQobW92ZSB8YnV0dG9ufCB7XG4gICAgICAgICAgICAgaWYgYnV0dG9uLmlzX2FjdGl2ZSgpIHtcbiAgICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLnNvdXJjZV9pc19pbWFnZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgIHNvdXJjZV9yb3cuc2V0X3N1YnRpdGxlKFwiU3VwcG9ydGVkOiAuaW1nLCAuaW1nLnh6XCIpO1xuKyAgICAgICAgICAgICAgICBkcml2ZV9idXR0b24uc2V0X2FjdGl2ZSh0cnVlKTtcbisgICAgICAgICAgICAgICAgZmlsZV9idXR0b24uc2V0X3NlbnNpdGl2ZShmYWxzZSk7XG4gICAgICAgICAgICAgfVxuICAgICAgICAgfSk7XG4gICAgIH1cbiAgICAge1xuIiwiZmlyc3RDaGFuZ2VkTGluZSI6MjU2fSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODc1MjQ0OH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjUzNWY2YTZmIiwicGFyZW50SWQiOiI4ZjRkODZkNyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTI6MzcuMzAxWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipBc3Nlc3NpbmcgY29kZSBmb3JtYXR0aW5nIGFuZCBydXN0dXAgaW5zdGFsbGF0aW9uKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQ1MjRiYmM4MTkxOTY0YThjMTZjNGYyYzUxYlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTVJWM1U3T0NnUlFSS2V2OWZlY0VjOWF6VXoyaDhnVHJzWndSdC1aNXJzMXB6cmRBUHFJVUxhc1A5R3I4bk1mUUVkWHhDVkhIWFVia1hNNG1IU1FJdFl2WHpRQ0tUeHF2azBBbVE5QWRhbDNFUmg5c2ZHVVpNZW1menlOQ3NCLUktSDBYUkxFSHpZRUJtMmliS25HU1RRNXFqS3NtUWM1YThnbEEySVg2cGY2Yml2V0c2cmNacmVtNE5mdHIwUE83QUFfZERfT2dqa2hSaXpybnlJamROc2dJOG1wc19NZHV0SU9FRDBQRjM0NVM4UHk2T3ZMWm82TGxXMzVfQkJCdEdxLWtzeEFQdWF3eDNzQmtUZjFXRU5YcXhzMlZXYTZzX3Y4R3dfRzlPOWRZbTl4YTJpa0x1OHU2NVExalhod1hHN2p5X1pkMHJLZ3YzN09CdzFzd293dm9ueWI3b3c0a1J2a1ZkLUoySFhNQ0FDS1ZlSGRVMVowbnVaaEM3ODJvTE1WbDZLQ2JPc0xYWHFqWTVwWExUMHBJeXNDcl9Fbzh4bURHSllXZUJUTkpBMWNXZFFUNWk3akdMOExaNE5VT0xZSXpsaEw3SlZKcGU5eERLNGtEeUNiVmpwUGJvTFVkQWNVb3VxUHlXeVQ3cnZ0YmlfLTR5Y3otNjN6WkRaNi1PQzFBOFRjNmloWGNfSWNUYzQ2TkpYM3QwSmpjb3VWTklqQzU3VEpSNk13R0NXV1FHOVhwazJ1bmY1MEJNUGhxUTF2bE5nSWx3SkRNdUNJaUt4QU9ZYVUxWE1vVWh6Sm5USWtwSGhidzJEMU0xeDVZRzNZbDFua1h4WDJIUldpQ1M4cjR0NjQ0a1F2YU0wc0VZMWdkMFZNdUdKbGYyNm1La3lRLVdtbEtSdFB1OFZfdXVqT181Uy1XVTdpdXhuc012eXRwM0V6ajNlUzhrWlZNdjVnZUd5S3JtS2ZtbVVOQURNQTJyUFgwdHQxLWRRYmpHZHRvTnExTWNQOTRTa2I3V09HTWdiMmd5MTNTSVVTXzFYcGlrNUlmUXRyM3hTS3B5YXhCbzdscTRNdnE4MFpReDB4Qks2YnZpLS11QTJzT3Juc1h0X1d0MUxUU01Ka2VHV2x3M2I5aEYxM2ppTEp1RFhEQkRyZ04zaEtJcnh5bUhYNWl2bXlJMjVZWEJvdENQRzh1bHhnYTNiOFR4MWh2SXNOQWw4LWRVSTlEOVZLaFFsQk5WUTFBRzJRUW1tb251cXZRY2JIcGhzQ1V0Z0dNUHBjVWxaUHBqQlFKS2NxYUs5RWR2V1RGM1l6M2pfX0U1aDRDYnFHQjNGc1VXcEV6dlJiNW5jOFdTQkc0Q3IwSlZqbkMtTTg5Y3NncG45aXduLU96N3dvU1N2Q0E2WVFpZkZEVFBWbE5WSkFaTTVVeTk5Tlh6R1ExdndVM0xHS2EzQjJvUE1iNldGaVpsQXBqemZDOGpEUUduVFp2WHM5eG54ZTNHWWNZblM0RERvTllJbUZBTkt4OTJZTUFiOGc0UFNYZUxWdFNwYWoyaHBTTVlxaFZhb1MwN3FGN1lhb0trUkF0VzgtVTdKSE5ZcXVpOEdtRVFTMHRmSHZBcTRKdFNKNjlCdWNQOTl2Z20xZVhqZlZUR095cXR2UFJmS2pxVFpkcXpDTnhBV2hWTGc9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipBc3Nlc3NpbmcgY29kZSBmb3JtYXR0aW5nIGFuZCBydXN0dXAgaW5zdGFsbGF0aW9uKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0oxOHBhV3d5UTlHaUFEMUVUMW9aYjhjdXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQ1NTJiMDQ4MTkxYmQwNDkzNmY2NWQyZjc1NiIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJET0NTX1JTPTEgUlVTVENfQk9PVFNUUkFQPTEgUlVTVEZMQUdTPSctLWNmZyBkb2NzcnMnIGNhcmdvIGNoZWNrIiwidGltZW91dCI6MTIwfX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfd0h1MmpmRWE1bkoyVUNZcXZad0d3TTZHfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDU1MmIxYzgxOTE4NWI0MTIxZTY3OTNhMzBmIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImdpdCBzdGF0dXMgLS1zaG9ydDsgZ2l0IGRpZmYgLS1zdGF0OyBnaXQgZGlmZiAtLSBDYXJnby50b21sIHwgaGVhZCAtMTAwIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxNDU0LCJvdXRwdXQiOjE1MiwiY2FjaGVSZWFkIjozNDMwNCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo1NiwidG90YWxUb2tlbnMiOjM1OTEwLCJjb3N0Ijp7ImlucHV0IjowLjAwNzI3LCJvdXRwdXQiOjAuMDA0NTYsImNhY2hlUmVhZCI6MC4wMTcxNTIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyODk4Mn19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4ODc1MjQ0OSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0NTBjZDIwODE5MTg0ZjZiYzU5ZTE4MmRlZGUifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMGY5ZTg2OWIiLCJwYXJlbnRJZCI6IjUzNWY2YTZmIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMjozNy40NjVaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0oxOHBhV3d5UTlHaUFEMUVUMW9aYjhjdXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQ1NTJiMDQ4MTkxYmQwNDkzNmY2NWQyZjc1NiIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiAgICBDaGVja2luZyBmbGFzaGVyIHYwLjEuMCAoL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlcilcbiAgICBGaW5pc2hlZCBgZGV2YCBwcm9maWxlIFt1bm9wdGltaXplZCArIGRlYnVnaW5mb10gdGFyZ2V0KHMpIGluIDAuMTRzXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg3NTc0NjV9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxNmZiYmRmOSIsInBhcmVudElkIjoiMGY5ZTg2OWIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEyOjM3LjQ2NVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfd0h1MmpmRWE1bkoyVUNZcXZad0d3TTZHfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDU1MmIxYzgxOTE4NWI0MTIxZTY3OTNhMzBmIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiIE0gQ2FyZ28ubG9ja1xuIE0gQ2FyZ28udG9tbFxuIE0gc3JjL21haW4ucnNcbiBDYXJnby5sb2NrICB8IDY5NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKytcbiBDYXJnby50b21sICB8ICAgNCArXG4gc3JjL21haW4ucnMgfCA1MTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy1cbiAzIGZpbGVzIGNoYW5nZWQsIDEyMTIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSlcbmRpZmYgLS1naXQgYS9DYXJnby50b21sIGIvQ2FyZ28udG9tbFxuaW5kZXggOWFkOWFhOS4uNzVmN2RjMyAxMDA2NDRcbi0tLSBhL0NhcmdvLnRvbWxcbisrKyBiL0NhcmdvLnRvbWxcbkBAIC0yLDUgKzIsOSBAQFxuIG5hbWUgPSBcImZsYXNoZXJcIlxuIHZlcnNpb24gPSBcIjAuMS4wXCJcbiBlZGl0aW9uID0gXCIyMDI0XCJcbitkZXNjcmlwdGlvbiA9IFwiQSBHVEsgaW50ZXJmYWNlIGZvciBwcmVwYXJpbmcgQUxUIExpbnV4IGltYWdlcyBmb3Igc2luZ2xlLWJvYXJkIGNvbXB1dGVyc1wiXG4rbGljZW5zZSA9IFwiR1BMLTIuMC1vci1sYXRlclwiXG4gXG4gW2RlcGVuZGVuY2llc11cbithZHcgPSB7IHBhY2thZ2UgPSBcImxpYmFkd2FpdGFcIiwgdmVyc2lvbiA9IFwiMC44XCIsIGZlYXR1cmVzID0gW1widjFfNVwiXSB9XG4rZ3RrID0geyBwYWNrYWdlID0gXCJndGs0XCIsIHZlcnNpb24gPSBcIjAuMTBcIiwgZmVhdHVyZXMgPSBbXCJ2NF8xMFwiXSB9XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg3NTc0NjV9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4ZWIxZThjOCIsInBhcmVudElkIjoiMTZmYmJkZjkiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEyOjQ0LjM4NVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJJbXBsZW1lbnRlZCBhbiBpZGlvbWF0aWMgR1RLNC9saWJhZHdhaXRhIGludGVyZmFjZSBpbiB0aGUgY3VycmVudCBSdXN0IHByb2plY3QuXG5cbiMjIyBJbmNsdWRlZFxuXG4tIFJvb3QgZmlsZXN5c3RlbSBhcmNoaXZlIGFuZCBkaXNrLWltYWdlIHNvdXJjZSBzZWxlY3Rpb25cbi0gU2VhcmNoYWJsZSBib2FyZCBzZWxlY3RvciBwb3B1bGF0ZWQgZnJvbSBgU1VQUE9SVEVELUJPQVJEU2Bcbi0gUmVtb3ZhYmxlIGRyaXZlIGRldGVjdGlvbiBhbmQgaW1hZ2UtZmlsZSBvdXRwdXRcbi0gRmlsZXN5c3RlbSwgcmVzaXplLCBib290IHBhcnRpdGlvbiwgTFVLUywgc2VyaWFsIGNvbnNvbGUsIEVGSSwgYW5kIFZOQyBvcHRpb25zXG4tIFNvdXJjZS9kZXN0aW5hdGlvbiBjb21wYXRpYmlsaXR5IGhhbmRsaW5nXG4tIFJldmlldyBjb25maXJtYXRpb24gZGlhbG9nXG4tIEV4cGxpY2l0IHByZXZpZXcgYmVoYXZpb3LigJRubyBmbGFzaGluZyBpcyBwZXJmb3JtZWRcbi0gQWJvdXQgZGlhbG9nIGFuZCBBZHdhaXRhIHRvYXN0IG5vdGlmaWNhdGlvbnNcblxuIyMjIENoYW5nZWRcblxuLSBgQ2FyZ28udG9tbGBcbi0gYENhcmdvLmxvY2tgXG4tIGBzcmMvbWFpbi5yc2BcblxuVGhlIFJ1c3QgY29kZSBwYXNzZXMgYGNhcmdvIGNoZWNrYC4gVGhlIGxvY2FsIHN5c3RlbSBsYWNrcyBHVEs0L2xpYmFkd2FpdGEgZGV2ZWxvcG1lbnQgcGFja2FnZXMsIHNvIHJ1bm5pbmcgaXQgcmVxdWlyZXMgdGhvc2UgcGFja2FnZXMgdG8gYmUgaW5zdGFsbGVkLiIsInRleHRTaWduYXR1cmUiOiJ7XCJ2XCI6MSxcImlkXCI6XCJtc2dfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0NTgxN2I4ODE5MWJmYWZmM2E2YzE3MDdlOTJcIixcInBoYXNlXCI6XCJmaW5hbF9hbnN3ZXJcIn0ifV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6ODc2LCJvdXRwdXQiOjE2MywiY2FjaGVSZWFkIjozNTMyOCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MzYzNjcsImNvc3QiOnsiaW5wdXQiOjAuMDA0MzgsIm91dHB1dCI6MC4wMDQ4OSwiY2FjaGVSZWFkIjowLjAxNzY2NCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDI2OTM0fX0sInN0b3BSZWFzb24iOiJzdG9wIiwidGltZXN0YW1wIjoxNzg0OTg4NzU3NDY2LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQ1NWQxNGM4MTkxYTQ0NTc1MTgxMDllYTIwOCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI1ZWJlZTA4YiIsInBhcmVudElkIjoiOGViMWU4YzgiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjE3OjEyLjgyMFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiYm9hcmQgc2VsZWN0aW9uIGlzIGtpbmQgb2YgY3JhbXBlZC4gY2FuIHlvdSBkbyBzb21ldGhpbmcgYWJvdXQgaXQ/In1dLCJ0aW1lc3RhbXAiOjE3ODQ5ODkwMzI4MjB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJmMjY2MDQyYiIsInBhcmVudElkIjoiNWViZWUwOGIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjE3OjQ0LjY2MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqUmVkZXNpZ25pbmcgYm9hcmQgY2hvb3NlciBkaWFsb2cqKlxuXG4qKlJlZmFjdG9yaW5nIGJvYXJkIGRhdGEgYW5kIFVJIHVwZGF0ZXMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNTZjMGJlYzgxOTE5ZTA0NmM5NDEzNGIwNTI1XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNVjZpdEtoSk9yRWI1c2ZMcG4ya25OLW1MWF9nQnQ2RzhiUlZJMmxhcTdGaUFVaEJYNWluc3R6WlVMeFdTOXJWRUZ5WW1DQXlzNS0xSUM5aHlGNWVhMDd6RlVaMExzVWVweU9xb1FCQXdBWnY1elJmS1ZvZTJlTzJ4YTllUnNSRWFPUVVOWkhqMl83UE5rSGU5dWtOa3ZvNXh1Ymg4ZWlXazZUS0d4TVlGdk9oVlhFMkUyN0pId3h2NzNLeTBBZ1VFa2tWQTBhLS00ekZwVGpUNHN1LVQwRjFHdlNFdWx3SnYwSHZKNFVkUG14aHNXdWluNE5fMDZPSzFMZHd5TjNOa0RBODNCYnIzUHdhYXZVSU1TdmlXUE5RLURaVlVabDNoRHF6RWJFU3lnbVlLR0RtNkdnYzZxU2tkU0hZOU11UmI3dVdPX2NWdnZGYlR5aTlYMWpjWVlrcUlCallRdTdBaHJRV09zS2RIeEhkUUJLTmZuYnRwSThmbEpYRXNOd2tGa3ljTXFwUWxmM1pQZl9xajVsalNwZnhKRTlHZTVFamcyMThNeXdZSndlN2F0TlRETlJvOThYc3AyRm1NNzZjQlZENFZFRDNkVUktdDBXaHlkeDRoaWJ4LWFTUTBBOXdVb1FFeVcwR2pUVUpJQWFNWWxPOHV3cXhBaWtvSUtQcE5yVlZULTJqZW9ZRC0tdlFWUmR1cnZNV3lTRXFLUEYwaU95aG5LODlQOXR4bUFZOFhsVXBqOFNGckNFRkpmOU42ckt3OE9hdk5wcEVXNGpSbnpHdDV1clpJdVFzQzFLX0xlZzkyQWZhQS1sbjZYcWJZTlhEX1dBcHNaRnFsVGRxdHFUUDQ0VWpOYUpkZTFoMGVRYk9XZVYtT0pJRl9lOW9IcFBmU2loYTMyTngxSXk5M1NPSkZRWmdtN3BLQnlBTVg2OUJIbV9mX1lGRU1xMTljX3lVTGxTSDdMZFhQLThqLWtyck9PLU1OQ0ZINkQtaXMzNEF1cXFQWWVLSmZUY3FOOWZveDhBeXVzRkVDdGI2UVktT3otMmlXWmtFYTQwRURvNDJ4djZGUFRfdFVkRDI0MTc1amNNeTZIa0N2bllmVmdfTEJqTVJXNFdjN3ltTGdhRVNuX0wwTnIzS1I4R1JtUE5zR1pXQzRPanhIbkNlX0ZFdWNCNVR3TG5hM1hGdlBSY0FWMEVHaHJOVWFPaERKSTdYOThaOWFUYXdwUmZSZllXVlRSckNnZE5uQVpZWHYxMkJ0cjE3R3ZrdVhod0NuYTVaWkVJUWc4MkJrOVZsa2NpYnUxN3NUUzdFeUtBMEhsQTZBY05Wam53c0M4bV9Ucm5LN2twZ3UyZVhya3BzeFc0NDN0TlFFVFBnR2FER2N5Ujlqc3E0VWpDYVdyUDFPNzJncWFDWjlJZjFCVDFVek9ZTmhIQVNRbE1SVE5CUC15eDBuVE9lWVh1STU0dDk5SktoRENTdEVhUHZ3cUdQVmdpTmlESS0teFU3UjVVeEZldWlkMmx5dGtVNHBqRTU3cG42MjVUWGpGSVVFajI5YU9pQmE5eE51OE1WdHE3cFlTODBoVGV2ZzJncXdXalk5SUdaRjFnWW12MnF2R2poY2IzYTBUSGV1WTgwMmZMNHNUaGcwaXVqLWtMSzlMT3hiRWdyR1FoSG16LS13MDZXVGIzVk5wQjVNWkVieGFRS2JaRUlqdFdueHNqMzFqYUxENkswOUlzU1A5WGVpak9TbXMxcEgwTUtNbGdzX2tmbENkNzZCbEpxNXFKWWZwaDNBZmdlMndxZEJxRFFoSGxRa3FTZUlxSnBGWTRVSktGbnVyM3YtcWd2NG9VZEdzRFV1N3lOeEY1QkhraFpKTHdrdGNOZFZnRWNhZ241RDF0eDhYNy1uUF9lQTkwV05RV3FDcnc0VXg2QmV4V0NLYnV1aHozOFFpaGJ4Wlpqc0hwUEdra3IwaDZTbFhfUEN0LTNtMTB0TjdyVFd1Wms5bzQzOEJubWRReHZrYUNHeFctZmpNLXN4THpNVGthQ0J4TnVsTk5vN0h2LWFyUFFIek9PdXVtNVVUcGptUThBTWo4OEZtaGhIcU9CNWNoUS1TVlFnSVRLWWx2Ul9WRkhQTXZVcDJjWVY0UHJIUGZoWWVDX3VRSVR4TjVRZlpsWXpUNUU5VlZDNzc1NjNLVV9tTjF5N2g2NWE5LW9Vb25pNC1WR0M1aEdrVXJQOGMyVkpkaGtPV2lQbWVkT1YxdFdwQ1MxWFpocUtzek10SjNLRGdBcm51cVV3U0tOWTZHY2pxZmtHSHNJMnFsUzdLSzA5ZXRiUW0wYXlkYS1LaWFqc0NYNFBZbWllSVhDNVhjYzdaZmNOb0NzRjNoSTRaNXNDalcxaGZTclpTMjFFNTBCeTBMU2VRZnlBNDE4cXN3TnYxblg1aVQwVDZFRi1TUTVYS3FkSWVCcDhZUjUtOUxEM3ItS1NZUzk2ZXFNVExGM2N0MDhmbTZGZFJOVElEMHBpNXJvZ215by1jNjlrNXBrUDdBclVBSU9nQkZSeHpsYUUyN3NVVS0yUm9NSkFNcjQ3WmJaeFVrYk1WTEp3Rjl3Sk96NUNvaHR1UVJSWkJMam80R2dSdlBObzE2MmlGaGxVYmZFNV9BRm9PUW1NZjg1UlloTnZQdThnUk02UjJzcFpfYTNiVWhJMHhRZlNyNld2MTY5NUppc284ZjJTMGViUmtHSjkzR3hTcktjNUc0cTA4MGUzMkNweTRxSXNFa1FTN3dxdHo2cDhBdE9qcFpBem93U0lMNG5WT1poMGliTVdVSjhmeHNKdkU3VmtvOHVOV29WWkJWR25DNUdfUmdPUDU4NzczRlVmRC1jYkJKNnB1Vk9kWlVnV2pwbzVfb0VsckJXQ1pFbVZkSXlyeUNzRkZUeldzZDljdHFKdDg1WGg2UjhzeVVuMXQ0bUgwVWpsckEzS3UxQlVLRzNGR3lfVGhvUFFFODVDQXFENXpBbWNZZmV0MVcxM25fR1FGSzRTT3htYk5xZ1pmUUZCSXcxZlJ3NUhVbktkZWlLXzlRUXc4MXJiNmtzbThwV2FlX3dtSWZ0TTBoU1AtX0M0YVA5QmRlcm1ycFY3MmNQYk5OM1gtRVA4NC1mTG1kTU1IVWxqWVphTkhZV202OTNlWC1PMHNLcU9sV2JXVFliejJCY3Radks1amdHRU0wWGNUTE94cWlDc2NmZ0hwTW5JQ2JOWVNOZldINy0wVU14WXZublBBNkJnZW83cHpzaXY4b01UeDdvRUZveG1Hb2Z4OE5MTk9IeEhhTjhsWEpNYkg0S0MyUEd5eVI3b0RET0NNVWstOXZ3cU9MVy1GM2M4WWc1ZmptdUtMTGExeHdsTUFHaWhmT2dmZEVNMVNpNkk2Z1RKLUFYMy1qTW9qbGd6dlhZVjF1dVBvLXU3eUxMUjdLNVNxd3hnNGZPeDBoVUJ1ZzhodU95dlRZaTlGMUJnXzMtMDloNjJ5eDBaTkNGTktZM0d2ejFhYk13aUlHU1pQY2plX0xkX2tEYVFEZzMtSVU3VUhoSC04RHdTazRJbVlZOWhjNG16aVQ2b1Ztd3Z1Q3FNd2VwYi11U1VYemJlNGhUZDFfaW1JQUpwaXk0NW1SYjU4WWRvaVpuN2FOOTBYMTdwbDF4V055d1NIV0Qzd29IbGNmWk1kOGFPWGh4bXBzZHNueXdlVTlTZGRPVHpfdzZWM1RFVng5OVo2MWhVUmhfc2tPNEt1ak42RnZ6cnVlbkRhVHFPaEp3NFlNdW9uYzJMRURXNGtTYUE4R2dLWDhnbWFvcjRjWXIxZUh2Z3JDMmtJOFNrcXdzOG1JNHdCVm52WVZ2X0RKRWNDQmZORTh6dkJtSDhrN01OS0p1LUpsbjk0eUc1NFBQVmx2WDZzRXpxWG1oeDVyUlNzXzBrTDUwbk1wTTk2b1pkRU5OQlo1eVhFeFk4RVo0SmdPa1lEV0tyc3U3XzI5Mzh5UDhvT2FycXZjU0k0b0lJbUVUZHVZS3p3WUlDZ2JxWkk2QjJaa2g0TzNmNEdwa2o4aVV6eHBGUC1YV3dobS1RRFhBM3VJSk84VzZrVmVsMFBNWU05MXRrVzFFaFNoaVZCbHE1WkFQWkhHdkRBWGZvWUl4TVpEWEhGQmt6YkNVT2V3eUxsT1NGcWh5bGU4T2hIa0hZLTZGZlpZZ2dKYTF1ZnRHWTJOYzNzX0N0a2dwSnRUcEp3RVZlWkhXczZ5RU1Tb1FmUlJCaDZwekFmTS1rWDNwaDY2enE1RWxLVEtfWjZTZ1NYVmpzak5zWmozTEk5VjFLa2o4d0E3bVNzM0ozb281Mm9qNTRHX2ZrMjFSd1VhSmRmNHNvQkFoZ09CV0VSU1FmWmRRNXVJQWpkZU1qZGhvLWJmVE5jUnhLRUo2ZHZEQ2dOZFV2aHBuWGhuODA5emw0NXc3SVEtcnpHc3A2bGZNdWtRRkZPdHhHLXBtaDdGeEl1dUNGTV80TUl5Uzk1YU1kXzFxVkxaWFREcGMzWmREWjFneXJnTUxic0diT0oxVkRLX2taSDVjNEZJUXZieWJJREJmNWJsbm1HYlVsbm9TSTBZV1JSWl9RaWF2cV9ZVWZPQmt3amhvdjFzZjBacTBYcmQxdThIQTB6SlVvNElNMHN1dkRDQUo0bElCd2FtVENTZFhUYXdVcXpBY3lCNUFqY3ctOVY3dzFxc0ZUR3MtSENJUktkNDYyNjEwWklyX2xFXzFXOXM3YkJEZlo4eHduYmF4ZGNjc09uWW9rZW9wV3JaQmlIN0hmLVBJT3B1T2dybTVRQWFFQWljV045d0sxaTZsUkU9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipSZWRlc2lnbmluZyBib2FyZCBjaG9vc2VyIGRpYWxvZyoqXCJ9LHtcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipSZWZhY3RvcmluZyBib2FyZCBkYXRhIGFuZCBVSSB1cGRhdGVzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0FvV0xNWVFHdmZaQUdjV09FMjV4SXVFV3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzU3YTM3YzQ4MTkxYmM1OWE5YWEzYWMwMWE3YSIsIm5hbWUiOiJlZGl0IiwiYXJndW1lbnRzIjp7InBhdGgiOiJzcmMvbWFpbi5ycyIsImVkaXRzIjpbeyJvbGRUZXh0IjoiICAgIGxldCBib2FyZF9uYW1lcyA9IHN1cHBvcnRlZF9ib2FyZHMoKTtcbiAgICBsZXQgYm9hcmRfbW9kZWwgPSBndGs6OlN0cmluZ0xpc3Q6Om5ldyhcbiAgICAgICAgJmJvYXJkX25hbWVzXG4gICAgICAgICAgICAuaXRlcigpXG4gICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuICAgICAgICAgICAgLmNvbGxlY3Q6OjxWZWM8Xz4+KCksXG4gICAgKTtcbiAgICBsZXQgYm9hcmRfcm93ID0gYWR3OjpDb21ib1Jvdzo6YnVpbGRlcigpXG4gICAgICAgIC50aXRsZShcIkJvYXJkXCIpXG4gICAgICAgIC5zdWJ0aXRsZShcIlNlbGVjdCB0aGUgc2luZ2xlLWJvYXJkIGNvbXB1dGVyIG1vZGVsXCIpXG4gICAgICAgIC5tb2RlbCgmYm9hcmRfbW9kZWwpXG4gICAgICAgIC5lbmFibGVfc2VhcmNoKHRydWUpXG4gICAgICAgIC5idWlsZCgpOyIsIm5ld1RleHQiOiIgICAgbGV0IGJvYXJkcyA9IHN1cHBvcnRlZF9ib2FyZHMoKTtcbiAgICAvLyBLZWVwIHRoZSBsYWJlbHMgaW4gdGhlIHBvcHVwIHNob3J0LiBUaGUgcGxhdGZvcm0gaXMgc2hvd24gc2VwYXJhdGVseSBpblxuICAgIC8vIHRoZSByb3cgc3VidGl0bGUgb25jZSBhIGJvYXJkIGhhcyBiZWVuIHNlbGVjdGVkLlxuICAgIGxldCBtdXQgYm9hcmRfbmFtZXMgPSB2ZWMhW1wiQ2hvb3NlIGEgYm9hcmTigKZcIi50b19vd25lZCgpXTtcbiAgICBsZXQgbXV0IGJvYXJkX3BsYXRmb3JtcyA9IHZlYyFbU3RyaW5nOjpuZXcoKV07XG4gICAgZm9yIChuYW1lLCBwbGF0Zm9ybSkgaW4gYm9hcmRzIHtcbiAgICAgICAgYm9hcmRfbmFtZXMucHVzaChuYW1lKTtcbiAgICAgICAgYm9hcmRfcGxhdGZvcm1zLnB1c2gocGxhdGZvcm0pO1xuICAgIH1cbiAgICBsZXQgYm9hcmRfbW9kZWwgPSBndGs6OlN0cmluZ0xpc3Q6Om5ldyhcbiAgICAgICAgJmJvYXJkX25hbWVzXG4gICAgICAgICAgICAuaXRlcigpXG4gICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuICAgICAgICAgICAgLmNvbGxlY3Q6OjxWZWM8Xz4+KCksXG4gICAgKTtcbiAgICBsZXQgYm9hcmRfcm93ID0gYWR3OjpDb21ib1Jvdzo6YnVpbGRlcigpXG4gICAgICAgIC50aXRsZShcIlRhcmdldCBib2FyZFwiKVxuICAgICAgICAuc3VidGl0bGUoZm9ybWF0IShcbiAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHt9IHN1cHBvcnRlZCBib2FyZHNcIixcbiAgICAgICAgICAgIGJvYXJkX25hbWVzLmxlbigpIC0gMVxuICAgICAgICApKVxuICAgICAgICAubW9kZWwoJmJvYXJkX21vZGVsKVxuICAgICAgICAuZW5hYmxlX3NlYXJjaCh0cnVlKVxuICAgICAgICAuYnVpbGQoKTsifSx7Im9sZFRleHQiOiIgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICBib2FyZF9yb3cuY29ubmVjdF9zZWxlY3RlZF9ub3RpZnkobW92ZSB8cm93fCB7XG4gICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCByb3csICZkcml2ZV9yb3cpXG4gICAgICAgIH0pOyIsIm5ld1RleHQiOiIgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICBsZXQgYm9hcmRfcGxhdGZvcm1zID0gYm9hcmRfcGxhdGZvcm1zLmNsb25lKCk7XG4gICAgICAgIGJvYXJkX3Jvdy5jb25uZWN0X3NlbGVjdGVkX25vdGlmeShtb3ZlIHxyb3d8IHtcbiAgICAgICAgICAgIGxldCBzZWxlY3RlZCA9IHJvdy5zZWxlY3RlZCgpIGFzIHVzaXplO1xuICAgICAgICAgICAgaWYgc2VsZWN0ZWQgPT0gMCB7XG4gICAgICAgICAgICAgICAgcm93LnNldF9zdWJ0aXRsZShmb3JtYXQhKFxuICAgICAgICAgICAgICAgICAgICBcIlNlYXJjaCBvciBjaG9vc2UgZnJvbSB7fSBzdXBwb3J0ZWQgYm9hcmRzXCIsXG4gICAgICAgICAgICAgICAgICAgIGJvYXJkX3BsYXRmb3Jtcy5sZW4oKSAtIDFcbiAgICAgICAgICAgICAgICApKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiBsZXQgU29tZShwbGF0Zm9ybSkgPSBib2FyZF9wbGF0Zm9ybXMuZ2V0KHNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgcm93LnNldF9zdWJ0aXRsZShwbGF0Zm9ybSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCByb3csICZkcml2ZV9yb3cpXG4gICAgICAgIH0pOyJ9LHsib2xkVGV4dCI6IiAgICBidXR0b24uc2V0X3NlbnNpdGl2ZShzdGF0ZS5zb3VyY2UuaXNfc29tZSgpICYmIGJvYXJkLnNlbGVjdGVkKCkgIT0gZ3RrOjpJTlZBTElEX0xJU1RfUE9TSVRJT04gJiYgaGFzX2Rlc3RpbmF0aW9uKTsiLCJuZXdUZXh0IjoiICAgIGJ1dHRvbi5zZXRfc2Vuc2l0aXZlKFxuICAgICAgICBzdGF0ZS5zb3VyY2UuaXNfc29tZSgpXG4gICAgICAgICAgICAmJiBib2FyZC5zZWxlY3RlZCgpICE9IGd0azo6SU5WQUxJRF9MSVNUX1BPU0lUSU9OXG4gICAgICAgICAgICAmJiBib2FyZC5zZWxlY3RlZCgpID4gMFxuICAgICAgICAgICAgJiYgaGFzX2Rlc3RpbmF0aW9uLFxuICAgICk7In0seyJvbGRUZXh0IjoiZm4gc3VwcG9ydGVkX2JvYXJkcygpIC0+IFZlYzxTdHJpbmc+IHtcbiAgICBsZXQgbXV0IHJlc3VsdCA9IFZlYzo6bmV3KCk7XG4gICAgbGV0IG11dCBmYW1pbHkgPSBcIk90aGVyXCI7XG4gICAgZm9yIGxpbmUgaW4gQk9BUkRTLmxpbmVzKCkge1xuICAgICAgICBsZXQgbGluZSA9IGxpbmUudHJpbSgpO1xuICAgICAgICBpZiBsaW5lLmlzX2VtcHR5KCkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgbGV0IFNvbWUoaGVhZGluZykgPSBsaW5lLnN0cmlwX3N1ZmZpeCgnOicpIHtcbiAgICAgICAgICAgIGZhbWlseSA9IGhlYWRpbmc7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgYm9hcmQgaW4gbGluZS5zcGxpdF93aGl0ZXNwYWNlKCkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goZm9ybWF0IShcIntib2FyZH0gIMK3ICB7ZmFtaWx5fVwiKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmVzdWx0XG59IiwibmV3VGV4dCI6ImZuIHN1cHBvcnRlZF9ib2FyZHMoKSAtPiBWZWM8KFN0cmluZywgU3RyaW5nKT4ge1xuICAgIGxldCBtdXQgcmVzdWx0ID0gVmVjOjpuZXcoKTtcbiAgICBsZXQgbXV0IGZhbWlseSA9IFwiT3RoZXJcIjtcbiAgICBmb3IgbGluZSBpbiBCT0FSRFMubGluZXMoKSB7XG4gICAgICAgIGxldCBsaW5lID0gbGluZS50cmltKCk7XG4gICAgICAgIGlmIGxpbmUuaXNfZW1wdHkoKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiBsZXQgU29tZShoZWFkaW5nKSA9IGxpbmUuc3RyaXBfc3VmZml4KCc6Jykge1xuICAgICAgICAgICAgZmFtaWx5ID0gaGVhZGluZztcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGZvciBib2FyZCBpbiBsaW5lLnNwbGl0X3doaXRlc3BhY2UoKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCgoYm9hcmQudG9fb3duZWQoKSwgZmFtaWx5LnRvX293bmVkKCkpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXN1bHRcbn0ifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTA1OSwib3V0cHV0IjoxMzMyLCJjYWNoZVJlYWQiOjM1MzI4LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjM4OSwidG90YWxUb2tlbnMiOjM3NzE5LCJjb3N0Ijp7ImlucHV0IjowLjAwNTI5NSwib3V0cHV0IjowLjAzOTk2LCJjYWNoZVJlYWQiOjAuMDE3NjY0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNjI5MTl9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODkwMzI4MjIsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNTZhNjA2YzgxOTE4NDJjNDc2ZmZkY2I5NzUzIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijk3NGNjZDM1IiwicGFyZW50SWQiOiJmMjY2MDQyYiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTc6NDQuNjY3WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9Bb1dMTVlRR3ZmWkFHY1dPRTI1eEl1RVd8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1N2EzN2M0ODE5MWJjNTlhOWFhM2FjMDFhN2EiLCJ0b29sTmFtZSI6ImVkaXQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgcmVwbGFjZWQgNCBibG9jayhzKSBpbiBzcmMvbWFpbi5ycy4ifV0sImRldGFpbHMiOnsiZGlmZiI6IiAgICAgLi4uXG4gIDg2ICAgICBsZXQgaGFyZHdhcmVfZ3JvdXAgPSBhZHc6OlByZWZlcmVuY2VzR3JvdXA6OmJ1aWxkZXIoKVxuICA4NyAgICAgICAgIC50aXRsZShcIlRhcmdldCBIYXJkd2FyZVwiKVxuICA4OCAgICAgICAgIC5kZXNjcmlwdGlvbihcIlRoZSBtYXRjaGluZyBib290bG9hZGVyIGFuZCBkZXZpY2UgdHJlZSB3aWxsIGJlIGluc3RhbGxlZC5cIilcbiAgODkgICAgICAgICAuYnVpbGQoKTtcbi0gOTAgICAgIGxldCBib2FyZF9uYW1lcyA9IHN1cHBvcnRlZF9ib2FyZHMoKTtcbisgOTAgICAgIGxldCBib2FyZHMgPSBzdXBwb3J0ZWRfYm9hcmRzKCk7XG4rIDkxICAgICAvLyBLZWVwIHRoZSBsYWJlbHMgaW4gdGhlIHBvcHVwIHNob3J0LiBUaGUgcGxhdGZvcm0gaXMgc2hvd24gc2VwYXJhdGVseSBpblxuKyA5MiAgICAgLy8gdGhlIHJvdyBzdWJ0aXRsZSBvbmNlIGEgYm9hcmQgaGFzIGJlZW4gc2VsZWN0ZWQuXG4rIDkzICAgICBsZXQgbXV0IGJvYXJkX25hbWVzID0gdmVjIVtcIkNob29zZSBhIGJvYXJk4oCmXCIudG9fb3duZWQoKV07XG4rIDk0ICAgICBsZXQgbXV0IGJvYXJkX3BsYXRmb3JtcyA9IHZlYyFbU3RyaW5nOjpuZXcoKV07XG4rIDk1ICAgICBmb3IgKG5hbWUsIHBsYXRmb3JtKSBpbiBib2FyZHMge1xuKyA5NiAgICAgICAgIGJvYXJkX25hbWVzLnB1c2gobmFtZSk7XG4rIDk3ICAgICAgICAgYm9hcmRfcGxhdGZvcm1zLnB1c2gocGxhdGZvcm0pO1xuKyA5OCAgICAgfVxuICA5MSAgICAgbGV0IGJvYXJkX21vZGVsID0gZ3RrOjpTdHJpbmdMaXN0OjpuZXcoXG4gIDkyICAgICAgICAgJmJvYXJkX25hbWVzXG4gIDkzICAgICAgICAgICAgIC5pdGVyKClcbiAgOTQgICAgICAgICAgICAgLm1hcChTdHJpbmc6OmFzX3N0cilcbiAgOTUgICAgICAgICAgICAgLmNvbGxlY3Q6OjxWZWM8Xz4+KCksXG4gIDk2ICAgICApO1xuICA5NyAgICAgbGV0IGJvYXJkX3JvdyA9IGFkdzo6Q29tYm9Sb3c6OmJ1aWxkZXIoKVxuLSA5OCAgICAgICAgIC50aXRsZShcIkJvYXJkXCIpXG4tIDk5ICAgICAgICAgLnN1YnRpdGxlKFwiU2VsZWN0IHRoZSBzaW5nbGUtYm9hcmQgY29tcHV0ZXIgbW9kZWxcIilcbisxMDYgICAgICAgICAudGl0bGUoXCJUYXJnZXQgYm9hcmRcIilcbisxMDcgICAgICAgICAuc3VidGl0bGUoZm9ybWF0IShcbisxMDggICAgICAgICAgICAgXCJTZWFyY2ggb3IgY2hvb3NlIGZyb20ge30gc3VwcG9ydGVkIGJvYXJkc1wiLFxuKzEwOSAgICAgICAgICAgICBib2FyZF9uYW1lcy5sZW4oKSAtIDFcbisxMTAgICAgICAgICApKVxuIDEwMCAgICAgICAgIC5tb2RlbCgmYm9hcmRfbW9kZWwpXG4gMTAxICAgICAgICAgLmVuYWJsZV9zZWFyY2godHJ1ZSlcbiAxMDIgICAgICAgICAuYnVpbGQoKTtcbiAxMDMgICAgIGhhcmR3YXJlX2dyb3VwLmFkZCgmYm9hcmRfcm93KTtcbiAgICAgLi4uXG4gMzA3ICAgICB7XG4gMzA4ICAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAzMDkgICAgICAgICBsZXQgZHJpdmVfcm93ID0gZHJpdmVfcm93LmNsb25lKCk7XG4gMzEwICAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuKzMyMiAgICAgICAgIGxldCBib2FyZF9wbGF0Zm9ybXMgPSBib2FyZF9wbGF0Zm9ybXMuY2xvbmUoKTtcbiAzMTEgICAgICAgICBib2FyZF9yb3cuY29ubmVjdF9zZWxlY3RlZF9ub3RpZnkobW92ZSB8cm93fCB7XG4rMzI0ICAgICAgICAgICAgIGxldCBzZWxlY3RlZCA9IHJvdy5zZWxlY3RlZCgpIGFzIHVzaXplO1xuKzMyNSAgICAgICAgICAgICBpZiBzZWxlY3RlZCA9PSAwIHtcbiszMjYgICAgICAgICAgICAgICAgIHJvdy5zZXRfc3VidGl0bGUoZm9ybWF0IShcbiszMjcgICAgICAgICAgICAgICAgICAgICBcIlNlYXJjaCBvciBjaG9vc2UgZnJvbSB7fSBzdXBwb3J0ZWQgYm9hcmRzXCIsXG4rMzI4ICAgICAgICAgICAgICAgICAgICAgYm9hcmRfcGxhdGZvcm1zLmxlbigpIC0gMVxuKzMyOSAgICAgICAgICAgICAgICAgKSk7XG4rMzMwICAgICAgICAgICAgIH0gZWxzZSBpZiBsZXQgU29tZShwbGF0Zm9ybSkgPSBib2FyZF9wbGF0Zm9ybXMuZ2V0KHNlbGVjdGVkKSB7XG4rMzMxICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBsYXRmb3JtKTtcbiszMzIgICAgICAgICAgICAgfVxuIDMxMiAgICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCByb3csICZkcml2ZV9yb3cpXG4gMzEzICAgICAgICAgfSk7XG4gMzE0ICAgICB9XG4gMzE1ICAgICB7XG4gICAgIC4uLlxuIDQ0NCAgICAgICAgIHN0YXRlLm91dHB1dF9maWxlLmlzX3NvbWUoKVxuIDQ0NSAgICAgfSBlbHNlIHtcbiA0NDYgICAgICAgICBkcml2ZS5tb2RlbCgpLm1hcCh8bXwgbS5uX2l0ZW1zKCkgPiAwKS51bndyYXBfb3IoZmFsc2UpXG4gNDQ3ICAgICB9O1xuLTQ0OCAgICAgYnV0dG9uLnNldF9zZW5zaXRpdmUoc3RhdGUuc291cmNlLmlzX3NvbWUoKSAmJiBib2FyZC5zZWxlY3RlZCgpICE9IGd0azo6SU5WQUxJRF9MSVNUX1BPU0lUSU9OICYmIGhhc19kZXN0aW5hdGlvbik7XG4rNDY5ICAgICBidXR0b24uc2V0X3NlbnNpdGl2ZShcbis0NzAgICAgICAgICBzdGF0ZS5zb3VyY2UuaXNfc29tZSgpXG4rNDcxICAgICAgICAgICAgICYmIGJvYXJkLnNlbGVjdGVkKCkgIT0gZ3RrOjpJTlZBTElEX0xJU1RfUE9TSVRJT05cbis0NzIgICAgICAgICAgICAgJiYgYm9hcmQuc2VsZWN0ZWQoKSA+IDBcbis0NzMgICAgICAgICAgICAgJiYgaGFzX2Rlc3RpbmF0aW9uLFxuKzQ3NCAgICAgKTtcbiA0NDkgfVxuIDQ1MCBcbi00NTEgZm4gc3VwcG9ydGVkX2JvYXJkcygpIC0+IFZlYzxTdHJpbmc+IHtcbis0NzcgZm4gc3VwcG9ydGVkX2JvYXJkcygpIC0+IFZlYzwoU3RyaW5nLCBTdHJpbmcpPiB7XG4gNDUyICAgICBsZXQgbXV0IHJlc3VsdCA9IFZlYzo6bmV3KCk7XG4gNDUzICAgICBsZXQgbXV0IGZhbWlseSA9IFwiT3RoZXJcIjtcbiA0NTQgICAgIGZvciBsaW5lIGluIEJPQVJEUy5saW5lcygpIHtcbiA0NTUgICAgICAgICBsZXQgbGluZSA9IGxpbmUudHJpbSgpO1xuICAgICAuLi5cbiA0NjAgICAgICAgICAgICAgZmFtaWx5ID0gaGVhZGluZztcbiA0NjEgICAgICAgICAgICAgY29udGludWU7XG4gNDYyICAgICAgICAgfVxuIDQ2MyAgICAgICAgIGZvciBib2FyZCBpbiBsaW5lLnNwbGl0X3doaXRlc3BhY2UoKSB7XG4tNDY0ICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGZvcm1hdCEoXCJ7Ym9hcmR9ICDCtyAge2ZhbWlseX1cIikpO1xuKzQ5MCAgICAgICAgICAgICByZXN1bHQucHVzaCgoYm9hcmQudG9fb3duZWQoKSwgZmFtaWx5LnRvX293bmVkKCkpKTtcbiA0NjUgICAgICAgICB9XG4gNDY2ICAgICB9XG4gNDY3ICAgICByZXN1bHRcbiA0NjggfVxuICAgICAuLi4iLCJwYXRjaCI6Ii0tLSBzcmMvbWFpbi5yc1xuKysrIHNyYy9tYWluLnJzXG5AQCAtODYsMTggKzg2LDI5IEBAXG4gICAgIGxldCBoYXJkd2FyZV9ncm91cCA9IGFkdzo6UHJlZmVyZW5jZXNHcm91cDo6YnVpbGRlcigpXG4gICAgICAgICAudGl0bGUoXCJUYXJnZXQgSGFyZHdhcmVcIilcbiAgICAgICAgIC5kZXNjcmlwdGlvbihcIlRoZSBtYXRjaGluZyBib290bG9hZGVyIGFuZCBkZXZpY2UgdHJlZSB3aWxsIGJlIGluc3RhbGxlZC5cIilcbiAgICAgICAgIC5idWlsZCgpO1xuLSAgICBsZXQgYm9hcmRfbmFtZXMgPSBzdXBwb3J0ZWRfYm9hcmRzKCk7XG4rICAgIGxldCBib2FyZHMgPSBzdXBwb3J0ZWRfYm9hcmRzKCk7XG4rICAgIC8vIEtlZXAgdGhlIGxhYmVscyBpbiB0aGUgcG9wdXAgc2hvcnQuIFRoZSBwbGF0Zm9ybSBpcyBzaG93biBzZXBhcmF0ZWx5IGluXG4rICAgIC8vIHRoZSByb3cgc3VidGl0bGUgb25jZSBhIGJvYXJkIGhhcyBiZWVuIHNlbGVjdGVkLlxuKyAgICBsZXQgbXV0IGJvYXJkX25hbWVzID0gdmVjIVtcIkNob29zZSBhIGJvYXJk4oCmXCIudG9fb3duZWQoKV07XG4rICAgIGxldCBtdXQgYm9hcmRfcGxhdGZvcm1zID0gdmVjIVtTdHJpbmc6Om5ldygpXTtcbisgICAgZm9yIChuYW1lLCBwbGF0Zm9ybSkgaW4gYm9hcmRzIHtcbisgICAgICAgIGJvYXJkX25hbWVzLnB1c2gobmFtZSk7XG4rICAgICAgICBib2FyZF9wbGF0Zm9ybXMucHVzaChwbGF0Zm9ybSk7XG4rICAgIH1cbiAgICAgbGV0IGJvYXJkX21vZGVsID0gZ3RrOjpTdHJpbmdMaXN0OjpuZXcoXG4gICAgICAgICAmYm9hcmRfbmFtZXNcbiAgICAgICAgICAgICAuaXRlcigpXG4gICAgICAgICAgICAgLm1hcChTdHJpbmc6OmFzX3N0cilcbiAgICAgICAgICAgICAuY29sbGVjdDo6PFZlYzxfPj4oKSxcbiAgICAgKTtcbiAgICAgbGV0IGJvYXJkX3JvdyA9IGFkdzo6Q29tYm9Sb3c6OmJ1aWxkZXIoKVxuLSAgICAgICAgLnRpdGxlKFwiQm9hcmRcIilcbi0gICAgICAgIC5zdWJ0aXRsZShcIlNlbGVjdCB0aGUgc2luZ2xlLWJvYXJkIGNvbXB1dGVyIG1vZGVsXCIpXG4rICAgICAgICAudGl0bGUoXCJUYXJnZXQgYm9hcmRcIilcbisgICAgICAgIC5zdWJ0aXRsZShmb3JtYXQhKFxuKyAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHt9IHN1cHBvcnRlZCBib2FyZHNcIixcbisgICAgICAgICAgICBib2FyZF9uYW1lcy5sZW4oKSAtIDFcbisgICAgICAgICkpXG4gICAgICAgICAubW9kZWwoJmJvYXJkX21vZGVsKVxuICAgICAgICAgLmVuYWJsZV9zZWFyY2godHJ1ZSlcbiAgICAgICAgIC5idWlsZCgpO1xuICAgICBoYXJkd2FyZV9ncm91cC5hZGQoJmJvYXJkX3Jvdyk7XG5AQCAtMzA3LDkgKzMxOCwxOSBAQFxuICAgICB7XG4gICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuICAgICAgICAgbGV0IGRyaXZlX3JvdyA9IGRyaXZlX3Jvdy5jbG9uZSgpO1xuICAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuKyAgICAgICAgbGV0IGJvYXJkX3BsYXRmb3JtcyA9IGJvYXJkX3BsYXRmb3Jtcy5jbG9uZSgpO1xuICAgICAgICAgYm9hcmRfcm93LmNvbm5lY3Rfc2VsZWN0ZWRfbm90aWZ5KG1vdmUgfHJvd3wge1xuKyAgICAgICAgICAgIGxldCBzZWxlY3RlZCA9IHJvdy5zZWxlY3RlZCgpIGFzIHVzaXplO1xuKyAgICAgICAgICAgIGlmIHNlbGVjdGVkID09IDAge1xuKyAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKGZvcm1hdCEoXG4rICAgICAgICAgICAgICAgICAgICBcIlNlYXJjaCBvciBjaG9vc2UgZnJvbSB7fSBzdXBwb3J0ZWQgYm9hcmRzXCIsXG4rICAgICAgICAgICAgICAgICAgICBib2FyZF9wbGF0Zm9ybXMubGVuKCkgLSAxXG4rICAgICAgICAgICAgICAgICkpO1xuKyAgICAgICAgICAgIH0gZWxzZSBpZiBsZXQgU29tZShwbGF0Zm9ybSkgPSBib2FyZF9wbGF0Zm9ybXMuZ2V0KHNlbGVjdGVkKSB7XG4rICAgICAgICAgICAgICAgIHJvdy5zZXRfc3VidGl0bGUocGxhdGZvcm0pO1xuKyAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCByb3csICZkcml2ZV9yb3cpXG4gICAgICAgICB9KTtcbiAgICAgfVxuICAgICB7XG5AQCAtNDQ0LDEyICs0NjUsMTcgQEBcbiAgICAgICAgIHN0YXRlLm91dHB1dF9maWxlLmlzX3NvbWUoKVxuICAgICB9IGVsc2Uge1xuICAgICAgICAgZHJpdmUubW9kZWwoKS5tYXAofG18IG0ubl9pdGVtcygpID4gMCkudW53cmFwX29yKGZhbHNlKVxuICAgICB9O1xuLSAgICBidXR0b24uc2V0X3NlbnNpdGl2ZShzdGF0ZS5zb3VyY2UuaXNfc29tZSgpICYmIGJvYXJkLnNlbGVjdGVkKCkgIT0gZ3RrOjpJTlZBTElEX0xJU1RfUE9TSVRJT04gJiYgaGFzX2Rlc3RpbmF0aW9uKTtcbisgICAgYnV0dG9uLnNldF9zZW5zaXRpdmUoXG4rICAgICAgICBzdGF0ZS5zb3VyY2UuaXNfc29tZSgpXG4rICAgICAgICAgICAgJiYgYm9hcmQuc2VsZWN0ZWQoKSAhPSBndGs6OklOVkFMSURfTElTVF9QT1NJVElPTlxuKyAgICAgICAgICAgICYmIGJvYXJkLnNlbGVjdGVkKCkgPiAwXG4rICAgICAgICAgICAgJiYgaGFzX2Rlc3RpbmF0aW9uLFxuKyAgICApO1xuIH1cbiBcbi1mbiBzdXBwb3J0ZWRfYm9hcmRzKCkgLT4gVmVjPFN0cmluZz4ge1xuK2ZuIHN1cHBvcnRlZF9ib2FyZHMoKSAtPiBWZWM8KFN0cmluZywgU3RyaW5nKT4ge1xuICAgICBsZXQgbXV0IHJlc3VsdCA9IFZlYzo6bmV3KCk7XG4gICAgIGxldCBtdXQgZmFtaWx5ID0gXCJPdGhlclwiO1xuICAgICBmb3IgbGluZSBpbiBCT0FSRFMubGluZXMoKSB7XG4gICAgICAgICBsZXQgbGluZSA9IGxpbmUudHJpbSgpO1xuQEAgLTQ2MCw5ICs0ODYsOSBAQFxuICAgICAgICAgICAgIGZhbWlseSA9IGhlYWRpbmc7XG4gICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICB9XG4gICAgICAgICBmb3IgYm9hcmQgaW4gbGluZS5zcGxpdF93aGl0ZXNwYWNlKCkge1xuLSAgICAgICAgICAgIHJlc3VsdC5wdXNoKGZvcm1hdCEoXCJ7Ym9hcmR9ICDCtyAge2ZhbWlseX1cIikpO1xuKyAgICAgICAgICAgIHJlc3VsdC5wdXNoKChib2FyZC50b19vd25lZCgpLCBmYW1pbHkudG9fb3duZWQoKSkpO1xuICAgICAgICAgfVxuICAgICB9XG4gICAgIHJlc3VsdFxuIH1cbiIsImZpcnN0Q2hhbmdlZExpbmUiOjkwfSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTA2NDY2N319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjE0NzQ5ZjRiIiwicGFyZW50SWQiOiI5NzRjY2QzNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTc6NDguNzQwWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipWZXJpZnlpbmcgY29tcGlsYXRpb24qKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNThiYTlhYzgxOTE5YWYzMWUyY2MzOTZmZWU4XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNV01VR1lGbWI0cE5aenRwRjkzTFNscEVoLWlnd24zakpZejduVzNxa2hzb3czRjBWalRuSjE2THNoVl94bTBLSkNoYm5JZDBCVUs5UF8zSjF2SE50YjNnbjFGeF9INkVvSWRLM0ppdTVLTDBvN3RpZW9lUmdzLUNxU3BuUzZacFQ0V3pkY3dTVUh1V3FmUmVQaGNxczZWTzQ5bkQ3R29xWDBpaFRRNy1wSGpBYTJGQzlIM05XRU9rWWhnTnozb1hFbk01MHhUYmRWTkphbG9ZYnUyOFJyUEpNM2l2V0pUWTVBN1Y4T1h0SmhwZnNyUU9BX0laTFpsSnpZdXVQdF90dXZUdEd3SGtRSE9iM0ZEMThHcHZ5X09vdVhQbFhjdm5tQ1htNmhoMHMzZE1Za0JxNS02eGZLWVIzcGtPancwTG9OOXpuZEt1WHdoa3ZIZElsTWNWRVJGRmJ0M29Qdnl4VTBWTV96SEl6cDdXeGlpdVFqcHVnbU4yM1NjTWdBTXp1N01QYkdhWll4a3c4ZkhBOEI0WERTN25SOUhNWGtuSWNPX3g1U2w0RG9kNTA4MGRTWDlucE9vRjJfRmxvNVZ6NXROalJic2p3dW5BV1Y1QXRyY25rN3FYSzhvLXRKVnpVUFRrbV9SSUFaQXpZOUY4Z1hjUFgzc0pqWVdnNnFxQTBueVVwSlA4SjZOYmp4SkZvelJza3k0SFNmTmdCN0tWbHRqWS10WGhkangxSUxTLU5tblFmdkFjMEVTYmozYTNJRE0zeklWemRKZXE3WXdaSGlXaWsxTmhwRXJ2R1dnTjVXcUtBaVo5ZGF6dXJEZWtGa01uc05uTEZnd1NEZFVpdUxnMGRnSWxIdVNMRlhfLVFvd1JYY1pQelJYM2pRWG9DMjlOQ2Z1Qll3WTJjSE5TODBDS2NTX18xbUZQSFlNeVJ3R0FLa2txYkNaMXcwOWpCbjE0eHY3SERGRlBGRHowS2Q1a21WZ1VZT014cHJHMG1qTnhhMnZaYjZXWGVRRDRoS0NFWm4wcEpnc1ljNmQycHRDN0tna3VIRnY2R2xqY1RiUjFWMFdJRTJPbk1GUTNXSGxjLVBOOUxadU03Ul9PUEg2UUxoV2dzQjJ4VzRpNDNTSVV5Z2FrNjlyNm12anNDa1ZoVnZUUHNSSmxpVHFQVC04YzE1UXRBSTNiU3JIemR0NWtUMzVfbjFaellZVnVYNHBzLWRZWWYyN09WbXZlWG9ybzNlMEU1U2dwV1prcmhpR2VWMWgwTmZtU092U1E0a1RcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlZlcmlmeWluZyBjb21waWxhdGlvbioqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9JREs0RWFCSUhKckgyWmJsZkxvcE1ESWt8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1OGMxN2E4ODE5MTgwNTdmNmFkMTI5ZjgyMGUiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiRE9DU19SUz0xIFJVU1RDX0JPT1RTVFJBUD0xIFJVU1RGTEFHUz0nLS1jZmcgZG9jc3JzJyBjYXJnbyBjaGVjayIsInRpbWVvdXQiOjEyMH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyNDEzLCJvdXRwdXQiOjU0LCJjYWNoZVJlYWQiOjM1MzI4LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjcsInRvdGFsVG9rZW5zIjozNzc5NSwiY29zdCI6eyJpbnB1dCI6MC4wMTIwNjUwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDE2MjAwMDAwMDAwMDAwMDAxLCJjYWNoZVJlYWQiOjAuMDE3NjY0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMzEzNDl9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODkwNjQ2NjksInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNTg5MDVjMDgxOTFiZDViMjI1NTkyMGYxODE5In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijk1MzJjZmQwIiwicGFyZW50SWQiOiIxNDc0OWY0YiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTc6NDguOTY0WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9JREs0RWFCSUhKckgyWmJsZkxvcE1ESWt8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1OGMxN2E4ODE5MTgwNTdmNmFkMTI5ZjgyMGUiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgQ2hlY2tpbmcgZmxhc2hlciB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIpXG5lcnJvcltFMDMwOF06IG1pc21hdGNoZWQgdHlwZXNcbiAgIC0tPiBzcmMvbWFpbi5yczozMjY6MzRcbiAgICB8XG4zMjYgfCAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKGZvcm1hdCEoXG4gICAgfCAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX15cbjMyNyB8IHwgICAgICAgICAgICAgICAgICAgICBcIlNlYXJjaCBvciBjaG9vc2UgZnJvbSB7fSBzdXBwb3J0ZWQgYm9hcmRzXCIsXG4zMjggfCB8ICAgICAgICAgICAgICAgICAgICAgYm9hcmRfcGxhdGZvcm1zLmxlbigpIC0gMVxuMzI5IHwgfCAgICAgICAgICAgICAgICAgKSk7XG4gICAgfCB8X19fX19fX19fX19fX19fX19eIGV4cGVjdGVkIGAmc3RyYCwgZm91bmQgYFN0cmluZ2BcblxuRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBlcnJvciwgdHJ5IGBydXN0YyAtLWV4cGxhaW4gRTAzMDhgLlxuZXJyb3I6IGNvdWxkIG5vdCBjb21waWxlIGBmbGFzaGVyYCAoYmluIFwiZmxhc2hlclwiKSBkdWUgdG8gMSBwcmV2aW91cyBlcnJvclxuXG5cbkNvbW1hbmQgZXhpdGVkIHdpdGggY29kZSAxMDEifV0sImRldGFpbHMiOnt9LCJpc0Vycm9yIjp0cnVlLCJ0aW1lc3RhbXAiOjE3ODQ5ODkwNjg5NjR9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJiNDljN2Q3ZSIsInBhcmVudElkIjoiOTUzMmNmZDAiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjE3OjUyLjk5MVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqSWRlbnRpZnlpbmcgZm9ybWF0IG1ldGhvZCByZXF1aXJlbWVudHMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNThlYjRmODgxOTFiMDA3ZGVlYzQ4ZmU0NDZmXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNV1A3QmM2d3ZRSmZpdlhuNGxRcHIxMDFldzFnOWRXNDFNTHlkcUpaeTJUN2gyYnYxQ1BmcUtpSzJCbGRrTVVqalZvNklUUjdEWUhJUnJYZUNBLWsxX0RFd1g5aDA5NWpRb0xmYTM2WDFBNnRnVEp2a1AzQ1pjUjdTTXlzNTBPSkJ6NTB1SzRaTEhxNExOZnp0cXcwZE1vSlduOUl2Q1htMjJ4NkFnTmtYcGtXU0RSV2wtck1EZTYwSXd2YWxLcTJTbHFTclVfUURwaHhsMGNCMU5MZ09jU29SQVJoczVwTC1EckdnVnN5anFNYkFfQzc3ZE1XRnhUM0N0RWdSM013OV93a1QxVTBJQTBuNTMwbTRHTGxQRTFQR1VLTHg2d1RKR18wNi10cmdJcXBlV0d2c0VtV2NxRVU2QVM1ZG91WGJ3Y2dJMnZ4YmRLX2NCLTVfcjlMVVI0MEc1QWx0QVBMSEdVc3dMb094cDZFWm1telZFdVBTTy1mUFJkd1J3OHd6UExLMEhrV2xZV2tIUFhQMUVvb1NxcEMtTDVoclp5VTFFWmh1N0VCTUY3RGxWdFZkb1BKNGRIRnZOMzIxWlVYTllqbEtIRVlnMUpzdzhkNDh6RHRheUF6bWoxWGVKLTFXVy1vSkZvQndBQjROeG1pbkk1MDFHZXhGaExyN1o3bC1wRmtzZWlwenVpX1VWdnBtRUNJcWtUREVYcGpqOUZoT2JvMk4xbmN1RXZKUEZvejc5R040c3J6VW1NY1RvQWlRM29fMlF1dlJDcURUdkcyZm03VUtDQk5Td3VMazB2ZFkyUTRHd1pPQ0RNbm1aQXF2T0c2YjFxeERCbmpUTkNpQXVVblhDMUhNa2lRaGdUTnpJYm0wZU5keWFSR21VQjdhaFJOaGVxbzNiTVFsemhCZURaUFVGWjgtOURzWEpEdWk1TnZnVVdEYUE1c3ZiaGQ0enRXOHZmZm5obU8zSFBVaC1HaURjZ3B6T29Sa2lwbGZ4dlp0cVdfaHcwR2hBcUpMQk5KVlBvZHEtNzhUdGpfV2lNRzQ5WG5NRk42RnRSbkl5UzYxLW43WnZfSnkxWFAxMHF6aFZwS2IxZnpVSHBuVDZrdmVJNkJZX0Rxd2dTQW5ZR3o1eEFJaU8tYkZTVTNuT2ZGakx4SWJsTTRfbjQ4ZVhOUUJFMXo4TDE5VDZMbl8tU2RVSmNjYkt0ZTZwQUFCSDBSaEMzaXVHclFBTF94VnpsTUZjNndvak53emJER0RJc1lpNzNyRDZMcVVqT2dwdENuNzVJdkZZSjhDSWF4TEtBdWtuUFRodi1SalBYUEdfOXBPdnc5SmREbUxSUFYwWWRZT2gzYjIzdkIwZVFvZFpiczNUSC1qUWlCQTNoRWRLNm9ybGJZUT09XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipJZGVudGlmeWluZyBmb3JtYXQgbWV0aG9kIHJlcXVpcmVtZW50cyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9FZzhDandqVDFLZ2wxeHVTRzRUMHF5ZzJ8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1OGZiMTA0ODE5MWJhZDBjMGU0OTAwNmQ2MzIiLCJuYW1lIjoiZWRpdCIsImFyZ3VtZW50cyI6eyJwYXRoIjoic3JjL21haW4ucnMiLCJlZGl0cyI6W3sib2xkVGV4dCI6IiAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKGZvcm1hdCEoXG4gICAgICAgICAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHt9IHN1cHBvcnRlZCBib2FyZHNcIixcbiAgICAgICAgICAgICAgICAgICAgYm9hcmRfcGxhdGZvcm1zLmxlbigpIC0gMVxuICAgICAgICAgICAgICAgICkpOyIsIm5ld1RleHQiOiIgICAgICAgICAgICAgICAgcm93LnNldF9zdWJ0aXRsZSgmZm9ybWF0IShcbiAgICAgICAgICAgICAgICAgICAgXCJTZWFyY2ggb3IgY2hvb3NlIGZyb20ge30gc3VwcG9ydGVkIGJvYXJkc1wiLFxuICAgICAgICAgICAgICAgICAgICBib2FyZF9wbGF0Zm9ybXMubGVuKCkgLSAxXG4gICAgICAgICAgICAgICAgKSk7In1dfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjU3Nywib3V0cHV0IjoxMjIsImNhY2hlUmVhZCI6MzczNzYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MjEsInRvdGFsVG9rZW5zIjozODA3NSwiY29zdCI6eyJpbnB1dCI6MC4wMDI4ODUwMDAwMDAwMDAwMDA0LCJvdXRwdXQiOjAuMDAzNjYsImNhY2hlUmVhZCI6MC4wMTg2ODgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyNTIzM319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTA2ODk2NiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1OGQ2NDBjODE5MTkxMzE5NDQyZGEwMjc3Y2IifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiN2NiNTI3OTEiLCJwYXJlbnRJZCI6ImI0OWM3ZDdlIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxNzo1Mi45OTVaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0VnOENqd2pUMUtnbDF4dVNHNFQwcXlnMnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzU4ZmIxMDQ4MTkxYmFkMGMwZTQ5MDA2ZDYzMiIsInRvb2xOYW1lIjoiZWRpdCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSByZXBsYWNlZCAxIGJsb2NrKHMpIGluIHNyYy9tYWluLnJzLiJ9XSwiZGV0YWlscyI6eyJkaWZmIjoiICAgICAuLi5cbiAzMjIgICAgICAgICBsZXQgYm9hcmRfcGxhdGZvcm1zID0gYm9hcmRfcGxhdGZvcm1zLmNsb25lKCk7XG4gMzIzICAgICAgICAgYm9hcmRfcm93LmNvbm5lY3Rfc2VsZWN0ZWRfbm90aWZ5KG1vdmUgfHJvd3wge1xuIDMyNCAgICAgICAgICAgICBsZXQgc2VsZWN0ZWQgPSByb3cuc2VsZWN0ZWQoKSBhcyB1c2l6ZTtcbiAzMjUgICAgICAgICAgICAgaWYgc2VsZWN0ZWQgPT0gMCB7XG4tMzI2ICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKGZvcm1hdCEoXG4rMzI2ICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKCZmb3JtYXQhKFxuIDMyNyAgICAgICAgICAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHt9IHN1cHBvcnRlZCBib2FyZHNcIixcbiAzMjggICAgICAgICAgICAgICAgICAgICBib2FyZF9wbGF0Zm9ybXMubGVuKCkgLSAxXG4gMzI5ICAgICAgICAgICAgICAgICApKTtcbiAzMzAgICAgICAgICAgICAgfSBlbHNlIGlmIGxldCBTb21lKHBsYXRmb3JtKSA9IGJvYXJkX3BsYXRmb3Jtcy5nZXQoc2VsZWN0ZWQpIHtcbiAgICAgLi4uIiwicGF0Y2giOiItLS0gc3JjL21haW4ucnNcbisrKyBzcmMvbWFpbi5yc1xuQEAgLTMyMiw5ICszMjIsOSBAQFxuICAgICAgICAgbGV0IGJvYXJkX3BsYXRmb3JtcyA9IGJvYXJkX3BsYXRmb3Jtcy5jbG9uZSgpO1xuICAgICAgICAgYm9hcmRfcm93LmNvbm5lY3Rfc2VsZWN0ZWRfbm90aWZ5KG1vdmUgfHJvd3wge1xuICAgICAgICAgICAgIGxldCBzZWxlY3RlZCA9IHJvdy5zZWxlY3RlZCgpIGFzIHVzaXplO1xuICAgICAgICAgICAgIGlmIHNlbGVjdGVkID09IDAge1xuLSAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKGZvcm1hdCEoXG4rICAgICAgICAgICAgICAgIHJvdy5zZXRfc3VidGl0bGUoJmZvcm1hdCEoXG4gICAgICAgICAgICAgICAgICAgICBcIlNlYXJjaCBvciBjaG9vc2UgZnJvbSB7fSBzdXBwb3J0ZWQgYm9hcmRzXCIsXG4gICAgICAgICAgICAgICAgICAgICBib2FyZF9wbGF0Zm9ybXMubGVuKCkgLSAxXG4gICAgICAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgIH0gZWxzZSBpZiBsZXQgU29tZShwbGF0Zm9ybSkgPSBib2FyZF9wbGF0Zm9ybXMuZ2V0KHNlbGVjdGVkKSB7XG4iLCJmaXJzdENoYW5nZWRMaW5lIjozMjZ9LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5MDcyOTk1fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZjViZmQzNzIiLCJwYXJlbnRJZCI6IjdjYjUyNzkxIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxNzo1NS42NjFaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX21BNWRhNXdBNUU0UmI4Q1g4bDVjZTEyN3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzU5MmU0M2M4MTkxYWFiZjMxYmFlOGRmMWMwNyIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJET0NTX1JTPTEgUlVTVENfQk9PVFNUUkFQPTEgUlVTVEZMQUdTPSctLWNmZyBkb2NzcnMnIGNhcmdvIGNoZWNrIiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjcyMSwib3V0cHV0Ijo0NSwiY2FjaGVSZWFkIjozNzM3NiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MzgxNDIsImNvc3QiOnsiaW5wdXQiOjAuMDAzNjA1LCJvdXRwdXQiOjAuMDAxMzUsImNhY2hlUmVhZCI6MC4wMTg2ODgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyMzY0M319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTA3Mjk5NiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1OTE2MDk4ODE5MTk5Mzk5ODRlNjJlNWJiMzEifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMDBkZmIzMzIiLCJwYXJlbnRJZCI6ImY1YmZkMzcyIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxNzo1NS44MjdaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX21BNWRhNXdBNUU0UmI4Q1g4bDVjZTEyN3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzU5MmU0M2M4MTkxYWFiZjMxYmFlOGRmMWMwNyIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiAgICBDaGVja2luZyBmbGFzaGVyIHYwLjEuMCAoL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlcilcbiAgICBGaW5pc2hlZCBgZGV2YCBwcm9maWxlIFt1bm9wdGltaXplZCArIGRlYnVnaW5mb10gdGFyZ2V0KHMpIGluIDAuMTVzXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODkwNzU4Mjd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJmOTdlODJjYSIsInBhcmVudElkIjoiMDBkZmIzMzIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjE3OjU5LjAzNloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJJbXByb3ZlZCB0aGUgYm9hcmQgc2VsZWN0b3IgaW4gYHNyYy9tYWluLnJzYDpcblxuLSBEcm9wZG93biBub3cgZGlzcGxheXMgb25seSBib2FyZCBuYW1lcywgcmVkdWNpbmcgaG9yaXpvbnRhbCBjbHV0dGVyLlxuLSBQbGF0Zm9ybS9mYW1pbHkgaW5mb3JtYXRpb24gYXBwZWFycyBpbiB0aGUgcm93IHN1YnRpdGxlIGFmdGVyIHNlbGVjdGlvbi5cbi0gQWRkZWQgYSDigJxDaG9vc2UgYSBib2FyZOKApuKAnSBwbGFjZWhvbGRlci5cbi0gRGlzcGxheXMgdGhlIG51bWJlciBvZiBzdXBwb3J0ZWQgYm9hcmRzLlxuLSBXcml0aW5nIHJlbWFpbnMgZGlzYWJsZWQgdW50aWwgYSBib2FyZCBpcyBleHBsaWNpdGx5IHNlbGVjdGVkLlxuXG5gY2FyZ28gY2hlY2tgIHBhc3Nlcy4iLCJ0ZXh0U2lnbmF0dXJlIjoie1widlwiOjEsXCJpZFwiOlwibXNnXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNTk1NjY4NDgxOTE5OTZlMjE0NzJhM2IyNDM5XCIsXCJwaGFzZVwiOlwiZmluYWxfYW5zd2VyXCJ9In1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjgyMSwib3V0cHV0Ijo3NiwiY2FjaGVSZWFkIjozNzM3NiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MzgyNzMsImNvc3QiOnsiaW5wdXQiOjAuMDA0MTA1LCJvdXRwdXQiOjAuMDAyMjgsImNhY2hlUmVhZCI6MC4wMTg2ODgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyNTA3Mjk5OTk5OTk5OTk5OH19LCJzdG9wUmVhc29uIjoic3RvcCIsInRpbWVzdGFtcCI6MTc4NDk4OTA3NTgyOCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1OTQyY2Y4ODE5MTk3OTk0MzYzMWY5NDVlODQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYzFjZTFiNzQiLCJwYXJlbnRJZCI6ImY5N2U4MmNhIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxODo0MC40NDVaIiwibWVzc2FnZSI6eyJyb2xlIjoidXNlciIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6ImJ1dCBub3QgdGhlcmUgaXMgbm8gc2VwYXJhdGlvbiBiYXNlZCBvbiBhIHBsYXRmb3JtIG9yIFNvQyJ9XSwidGltZXN0YW1wIjoxNzg0OTg5MTIwNDQ0fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMmIyM2Q3ZjIiLCJwYXJlbnRJZCI6ImMxY2UxYjc0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxOTozMS4yNDNaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkV2YWx1YXRpbmcgZGlhbG9nIGRlc2lnbiBmb3IgZ3JvdXBlZCBzZWxlY3Rpb25zKipcblxuKipEZXNpZ25pbmcgc2VhcmNoYWJsZSBncm91cGVkIGRyb3Bkb3duIHdpdGggaGVhZGluZ3MqKlxuXG4qKkltcGxlbWVudGluZyBzdHlsZWQgaGVhZGluZyBzdHJpbmdzIGluIGxpc3QgbW9kZWwqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNWMyNzk5NDgxOTFiMzg1YjMwZjlmYzk1MzViXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNWFduejlNdGpWR0JKRmJ5V1hmQjlnZXdzbmJ5R1hRTkxKdjliXzh0MnZ6ZldZTDREZElkSXhuWXlEMDNWOHZpeUQ0SzRZNFJJYmhfZ3ZXNnF0NmZJbUtiT3BDOXNabk44d2lpbDlyQ2hzekoySE1QZ0RQYVRjYVVVNUtZYVR1LWJjMlZVd1NpTWlNNzF1em9HTC1fWG00Nmt1N2dnY2lKZXJva0F5XzdoSFMxMVJXMjVubGhIVGhvYlJ6TkFsNm9FaktUekpzVUVZVGpVQlZDNk5GS2h4WmxlRHdadU9nOTJSRWZHdVJJdUpvTW50ZkhBb2ptT1hmTUpxSlNuYTZHbE9kUU40bzcyMVZkMWNBUmFENmFZNlpJaGRHQmtMNVRvS1JkcDJfY2E3bWp2czNRTktZMkNKWWcwcUlDRC1nREZxWF9fM0k2S21zMGVpMTM1TmZFekNNQXJLbEpWdDB2Q3Uwcm01d28tMmdWMXZtSDZnT0RYUzZFLVljbVNhWnlkWndYUlhvS2VEektoVHlkenlaMk0xbXgxVnVDUWJHOXZNSTVjR2xYWktvdDR2aldQam16RUQ2eF93VzVJQzFVSlBFcmhsb1lNN3EzaWJ4QklyZFpqeHphMTJ0dGRqeVpuVUxWcENVNTg1bHRBM05VcFMzY1otdjg3UjNnbEFvc1Etdk9aNUx6WDBzZ1Z5LUFRRnpvRzdHWDNjcmJzUF85c0JBS3FsUkJpTi02LThRZW0zT0N4QXRONGVfV2pNWUdJY2M0cGFxZzRQT0YwR09hc3NUQU1IQzlNbkcwcUVDSldQengycDQzck1PTW5meTh0R1Ztd1JVTEwxZHU4aWVvSjZJdjExRzR3MThsOGJhVXlBdTJIb1FMVk4yWGlLNWthVVNpbVlhdlVXN3dFSWVqWTlORWtWQmhMajhNZFhaMEZpWUo2cUtrSWNLSUoyVXpGQl9Sc25hZzNoOWg0OXNRSUJYMmNrU1IzbHFGVzI3aEZuLUd0YTREVi1KbnZCVUtCMTQ0Q0labkw4RXdZWlNSTGxxUGNvQjZPQ3NZNXdLcU1sbzJzWG9rd0VsTExTbE9Ec1AwU2JFaW5kMjdkMExTbjMzc0Zjb09Fa0dIVW5aYk11MVVYcEw0M205eTA4aEV5cElheDJaSFJTTTgtOEFDd2pjOTJJT3l5bHEyYklqSjFwZ1lHdEkwcDAzQVhQa3VfSlpweGxJS3Z5YjRUYmRINGdoUEg5cnNKRWNHdFRoX1RZQUQtUUJzNjlzMzBrT21EX0xoY2h1MHBfOEVXNmlGT3BLa19CcjNFNmNRcnN5eTlBamVueHJfd01QdXU1SzhHY1hfcFpKVkVyNXB0enJwT3NuZGN3OGxUek1tNWd2YUszaGZGMlRVUTB5MkZoWmxrdTlqRjlVZGY5eHhaX0w3eWloSHUxbXFVMmtueUh0UTNzUVl0TVpTVm43aTBEbS1DZ0RQdU5EMEZMZ1pMbzZrSnVMc2l3V05MYUNabWdaa1FaOXRGemNTQVhBdzJJcjJITWl4ZzlLU25rQ0Y0eE9tRk9WV2JvM3p0TURBNnJJazRDcWNySWNRY0xHSHVkWnN5NXl3VEhhcVpuU1VkMWxiVnVBdVpLaW9yZmdQVW11VzYwUnVzRWd6blBjUktTeW5kajdaa3VDeUx3UXFfaTJjRzFxY09CU2xCdko2U3BUbGNHSlllenE5Q1Y4WjN0QnlzeGhJV0lxN00tU2tuU3dqeGpHWjlUdmpEbDQ1bHZ5eFdzRGF0SzIteEhyRWh2QUt2TlhVYWlhd3ZVQUNZaVh2bnUya3pkdGs1QzVadnZUY0IxMDBFVmxVQm1icUtDX1dlQ3BNWXkwQVdid0lMS0FYRVRhNU9UbnMyM3l6SHBwcHNJYTBNTV9lWW5BT0dmRDZ5Q2I4OHh6aHpfOHhGNkdXZWdfaUdfclJuZnd3NlA1b0p0UGRtajI3Z1RRZEJMbGpHSzBXLVRDZWMyR1ctaTFvb0dEdGJXTmtzNGJVN3otbmhBU0FWbWZpWkw2UVZOZ29NcnNVT1lzX1FydFdrTnR2bnk2SmVRMXVVODBxdmI3amJtVFozT0pJQlUtNl84eThqVjlRQllqV2YzZU5ZQm9kdXRjZ3o2bWtzLWFUYmo2MWR3dk53b0FpNzVTRzI4N3YtV2RoSlZlUy1hNEl6WFNxRXB4NkNVS0ozdlIxQmYxazVkTWFZNDNvVDVaWUYta2hfV0JEQTJaVFEzaUdaM25CdGVuN3NOR29uMzB5RW9uWm9Od0JYMVdINFBWdU56N1g4NUNvcUpsMUVKTXpPOVlORVc2N1V4SC1kUE53WlB0bGk5MDh0LWs3LUpaXzRYUkNaaUlST1JoczQ4TDFSQ1p1MFBDYnNvZDRvZzZ2bDRLeG0xNDZHLTl6ZlJtZ0djZ1d1cXlHWGtYWHpvVjNwWjlKbDJSVEt0eHh1S2ZHdC1iZEt3M0VhTHJwazA4RkttT2dFOWRwXy1YN3RnR0xHZmM4d1Y4YWQ0STdacm1LUnI5VXFaUTJ0cTVlMEh0WEp6VHl6RGplcDZpUzA3UmZPTDNsY1didm5GdnE0ZWFJUmdnMHlxUjhDaURuTUI3c1lHOWkxX3dIRi0yOWtmZzR5Wm8tVDFNWnNTRVY1eENuZHF1cFdGTnRkSXFUWmUzbHQwYlBKa0RrMGNKaVpkUC1BdS03MWxieGQ5WkVoNFJZOEpwdDF2M2xxRjRnVVpLdzNZTnAyVjNiZ0o4NU5nUUhoaXdsQk1OTUtQUHU4emVfTE9SUDRsaFlyc3k0aDlTaHdxNmRtSlFxS0lUZGU5V3pfa3dLVXVrZU9CdHhYaFM1MXZWb1JZYkpmZExiSXd2X3lrcE5BREx5UWJjTWhWcW56cHplV2VDcWpPUEFmYlg0WEdXQm1pR3l5OEY5djdTRFRQaGsxZmFxY1NubkdvMmd1akFPVUlTeC14OUNld01jdEdJMFQ1anhzTWxlemhCQk1WZFJzNWFPVW9aTUVYdVNXbzQwa0pmbjhiRVFWVUhEcEFqZUlpd09ScGN1TEtEaUlVT0dQc3BMUjJyYkd4N0poOURrUHI2SEZtLVRZQ1NURVBLTmJlVDNvcy1jVDRRTV9HMF9kRERZdU41LU1Zc1NwTzdMa0xKNTQ1NUtoSUVwR3o3aTdUMHR0OUhMamk4R0wzU0xXeE0ydXBzWnBLSllXUlRGdFdPQU9OdFVDaV9mX3QyMzdrV2g1NktsLVRDcWl1YkR0X2hfYmpnX0lFOW5FZ2M1NGdaZFExZXlhaU0tMk93cThEZDNIcXZSNW43cHBDZ2ZUZFNnTjFKV0F1UGdDRkhyWFFyUlBnSjhseVNDUVFSNFU1aG9hVVNZUHo1UE5xeUVVUU1VbGE0RG5EWWhoUVpFV1g5bGZRd2dzUWlXVUNtWXJudlBhcFhaSE12SUEwUmdFcmt5QU5Nc3RIbFFYNW10c054R2ZmVnRPaWVsRDVJOVlsTnAzWFNKdGRHS3RmTTUtZVRzM01CdFBHTVktUWpWNUVNYVdJMHVoa3FPb2lXbjktSXdwUHI4aERjUVVLNkFCZFB6cmIyQ0FtYkpncEpOc2tfQ01LUUZseFpMRmJNVFpKNHc4U0tzNXRpeVRLdG50enBKV0JjNVpKWFNMRFhhQXFTVXU5NVB4VnNadGR4UHZUSWRNNi1meWxRbEtxTlo4UHpHeDJHSGxnSWxEcFdBMnJoVkl5SEo3eGNRcGFWWnhXWUY0MUFqUEtZVEdqemR4R0RNQ203d1B2cVFEVHNNd3lrZU0zLVZWQnY5QW9uRm9GRTR6aUJFUk9ObXRaSlRfUnNGa3VhVWZJdFVmdVRxRFZSNTdKenY3YmlaUWxMX3g1MkcwaE1IcE1ZRGlBWEhyTDFfaVNFUFcyTHdSRFkxSzJnQlRGMlpON29DZnk4R2dhZHlzUkVibDZpdk9JYlVha3JyamxVQXJVeDgwbmRVajlhaUpETDctQTk0UXRRUEUweEY3Nk44bXVKc0NxbGFGNGhsdV95emFOVmR1dzlJN0sxN2p1MjZZbDNzRUVWSmo4T21xVGw2ZGw5cTNRMjlQMVRFSUpxZ3hPNzAzX01sTDU4UUczWkE1RTAwSXJEUXBTYXBfNmJ3ODhPSVNSTENvb0M4a2tlMGpjWnV0cFFiclZ3STk4QWxpTU1MRk43MVJGUzZ2bTh5WlVtZFE1allVN1dOaVpsa2JJTWF5SWQ4R3JDY09ZQzdIa0Y1WkNVMGZmTEtCNjNSMWxoN25SOXNURGNhMzhHaTE2ZE10X2Z5NXRFQkVqWEQxRjdKR2Mtd1ZJWDRVbk5TSmFVOWJhOWhWNFhGalREVm50cmlEbWU5bnQ3SHpFX1RYTFl4XzMwTzR3bVBsRnJQZHpVQmh5M0RhY3hUVDZXVFRTMHI1MGc1ckR6RkEyQXZGSHQyN3dtaU5CVXB3Z1Bvc0NJM091aHZKdy1kd0VFeTR3M0h6UGdhekJzc19UNUtwNjRuMHNhb1FpTnVmWmNjdEN6eW0zRHlnbmpBMlpSWG9iR2libDlXVURCZHRJS1lJNmVKVHF3ZWJGcThLQ0k1NENWaVAtZ2duWEQtNUxhWGZRRlNmTHVVaThmU3FoYmRhbFNhZ2lDSXI5VjdrQzdTa1NYQlVmcC1CVjdqVTNiVE5qdkMtMWRPOHF6cEZsak4yY0FJSzFhSUQ4NzVTY1l6QjlDWW9nczVSN211aWhXOE9LUG1oM1ZPQ3NqVDFUb29WUDd5RWM0ZHR3N0g1TlNFOUJkanBoYTJ6SjVIbWFwZGhUNWp3d1M2c1NxVFpmS19GZGVfLW9LY3F3ejlkSjlQclFPeDFYS2piS0dtOHlDd1p2RnNlZjROTGdEVVZkLUwzUFlTalBmQThKRExDdEpsS20xLXZfSjktSkFIMDdWcDRRV0V0dkJLOXpnTTJKSzExcTBtM3BKUHN2bGJSbmdXOV9pZENyY0NHaEhVcFJEclNZaVl4NWJHaUo2QkNyc1Z2RGRUb0d4S3E5b0tmLUUtZVE1dXQ5STNBNGl0R3QzWDlCVFFCaHdqVTJQZkREeWZkN1VReGktSGU1SG5tN0RqbGhQUkFDMW1hamJrbk1tSGxLcUEwUDFyVnBZczI3SDJrMWdIcm1rZERHOEJrald2U1ZyOHRKdWxUYV9vQ3BYYmoxdkIyTHNDc3MtdHlDZ1hnTTFRTjZsNS1iR3RCQnFTN2JZbkRiR05WSUY0VGRZNlFzNU5vYUtaRVRrYkpqSlFuRmxOaDV0cU4tNXRrWlkyOG1fU2ZuazFvUWRBYW0wYXp6SC10ZEtZWDc0LUtpRVFLQTYwbGlmbXozUWZtT1ljekt5M01jOE4xWm5oblFOWUxLRGpoNmgyOG00T2lSQjFxNnhKcUhJdHlTUWZzejU2a2dXNnpwa2Ruaktnbk5na0std3huVVVzQnJMcDlDOWdULTAwMlFnMGRnZ0NfWGVoOU92VFRzUi1tVGUxRFRFZkZjdGJkQWRfWEYxWWdTZk5hcFE4SFRpOUpSWHFmT1BncUYwVU41SVRtei1LWWtpNks5Qlg2ZnBKeVFxbWVjTWdmLWpKTmxnRWpENENZVnp6SHcxajFhV3N3WGpSWUJaZE5rV3p6RkNmUnZJbVI4UDRLODhuSWh6UDNoVVd6VHRITFpOME00cXVkSUFBb0JOVFZyWHF3aDN2ZXduWm9JSUtYeG84OUVFenhwZE9GaXRuZWtHYTNQN2VJUkFOOXBSSktvZFNibFRzUUVSOTQ4TklreGNkUElSRVJsUjYxRm81TXlHd1RfYWlSeUxXMEh5YVBQbTdDbm5aN0FUeE1HRUFUS3ZEMm42UGFSVXJaM0ZTUkd6dlhRS3VuWTQ0aXNjYnhOX2ZBNDdMcGtfenY1R3N4akxxZzEyYlpXRFV5cmQ1QWM3VzRhYTcxUEp0a19KTXpnX1c3aXpFUHc0ZTctMGZnMHV6cU1nWV9BM3EyZWQxQmRUSGpjd29LYlBJcmlGZFhoLVR2QT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkV2YWx1YXRpbmcgZGlhbG9nIGRlc2lnbiBmb3IgZ3JvdXBlZCBzZWxlY3Rpb25zKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkRlc2lnbmluZyBzZWFyY2hhYmxlIGdyb3VwZWQgZHJvcGRvd24gd2l0aCBoZWFkaW5ncyoqXCJ9LHtcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipJbXBsZW1lbnRpbmcgc3R5bGVkIGhlYWRpbmcgc3RyaW5ncyBpbiBsaXN0IG1vZGVsKipcIn1dfSJ9LHsidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlJlZmFjdG9yaW5nIGJvYXJkIHN1bW1hcnkgd2l0aCBwbGF0Zm9ybSBoZWFkaW5ncyoqXG5cbioqQWRqdXN0aW5nIHNlbGVjdGlvbiB1cGRhdGUgbG9naWMgYW5kIGJvYXJkIGNvdW50cyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1ZDY5NjkwODE5MTg5N2NlMGY0NDE2Y2NlZGRcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1YaGRNZFNzblVZQ29EcGNnWmo4SDJ3STJEZHFkazBILWljTEYyR2tNRnYxb3lnSzJMbDk5MS1FdFB5Y3ZtRUlWd1N5VXBXR3JSR3RVNTRmVFE4SEE2YXVxMFA0R0ZFWmNreElfanBEZm5zMW1jY3NORjQxNjVQU193TWoyOGphN2JyLWJpcW9fc3lqaTNDZVJ0Qklvay1aYnVUcGJNVmdOUWlGTmVUZGUxR2xLMFZyTmJHaC1STldHUUZhRTVPeTAwWGdfdUZyVUJyY3JiR18tT2FTb0c5ZXF3emdsOFM2aVhPZXRvMlRvQnNOS19aMmFyRmdUYTNPUlVwOWtXdnBGRFF2QlV4MnhLYkstejdKd2xjV3ZJREEtT2p5TWNOYWM1TVlfR0xSSzFSMHNoRUNiMGZoQUhXcnJSTVJJUlRVZVNheHV2MGUtT25wU2FqV3RvSG5BR2xsSTRfVUJJLUg5VVduS1VfWE56MDktTTNHQTkxaVFEZlFfX1VPaG9VZU5OS2FYeTVycGdka1lacktfNHd4NTBmbzBITTM3N3VyT1Y0UEl1bGEyeUxvOE92Yi04OE80akxEMEd5UzFxUGo3NDIwQWJUekhuUWFsU0ttOTNOZzk3eXVhWDAxYjRfb2Y3djFydWIxek9acEpHa2lVaUF6bDRLdFd1dm1sdUpFR1prU1lrelNIeXM5eEZzUFp2UkVfOEt6ejZRNS1zUWVSVWQtZWNyelFPNGNVazA3aXRHZlAxZ0cxaldveW1FdXlaNXlTNDZKQjFxcUFyVjE4djM0c1UtZWpOSVg3Q0ZnTDE2MWZwVVZsWklhYkFXeXI2QW5fR2hmVmFLSmZNNXNRb2Vka1VzS2I3Nms5LTRGMENqeDl0Mk5jWGNKTFNPXy1ZdzU4eWF0a3pvZkg0LS1FTkN2T2FBSjBKV2x6UzFuWk94T1pQTGs2c3ZKVjJqQmcwbFpFWlJwcXFTNU84Q0FmVlJqMWIyN0NFMlJCZk9TejV2V3NSdDlVZExQc2J0Tlp5c1pZeHJjWmR1QVRLZGpwNWxYdUxyX1pDcmN0b244dTRlNnFmVEhxOHZhVF9nM2pNZkJpVXJZUUZPajNnQTNWYnpQVUhhN0hvbm94T2xwSmJ3ZDAzVmJSZ1A5aG5ETFR1bGp1b2VrQ2lsQXlPS3ZZNFY4X2lpdWl1RlcySTdGX0J3OE5ydUtOVkVRNGtPX1MtZTdPQy1kMFpldFBsNUhFUFZpb0RpTW14VHgwckFILTJLLWg0MXgtbWdnV0daVjdSQTktX2I4ODBvRl9zcS1Ld2ppbUEzOTBDNFoxYXNxb2RGTkhsZzNKNVhiTldTbENULUt1RHdjU0Z1NExGMElHblNmSHVxVWFZekVWZHprZkxfUnd1NE5HUTFUSzJaU3IxUkpFWUJySXZNMnBKXzRwVkFYUXVUWUw0UUhSMDNRLUYtTFh2MnlwY2xOM0E0dU95MnpXUXllRWlTZVJkWkZXTFlkdHNqeWxPcUVzc2dVVTRpNFhJZEp1eEd4ZV9jMF9HQ1dsaEVxbjJObHRUVk8xMzNUSUJ0SjF0T0FZRW8xeG5fQzVkeVBuRHNFbGVmckRjTkJ2NGc5U3lJcmkzTnljaVVBVVBsNkhoOXdzLW9kTVZPRXBXMEZUWVdvamF1N3gwUWptbm8xVlJ4VGtVYzZuN284N2w1S1NNOW1RSkk3d0M3Mmp4dHpaOE1Yd3VudGZhbnFhY3RTNy1fdDJuZFJ3VWk2WV9fbjlNaDZOeVFrOG9pOTdzSmswaEdWNzA1OVVLSHZPV2RSN0wyTHpvTFVRT3lNbDlaRkEzMXp3c2J4ZUhESU12c05WRG15eUJfWDU3V0dGeF9NbU04aGNIdFZZYjYyZ190R2t5QktQSl94WlJMZmR4WXhVQ3lsYmF4SHo0anNVMjJ4SENWWXJNZ3NBSUg5TWZUYU0yS09fSVZkUk51VXdoaWFTdE9FejZGMnFucW5MdnVUMWtOZXhPcmU4Z2NVVWRkOWl6bW9qTG90Q0U5MHhtd0xiOG5IM0VUd0JYcEppcUZpY09Rb2JaUHEyNmt1YzJ6S29veWo1SHBXbWsxUWZRUDljSFlxMEZVdkItZ09NaHBIZ1h1ajR1aU1kbGFkZHBQQ1k2R3NwbWxtMktVR2ZMWURidWVMT2JyeXBra0VGVXVVZy05bXFwd29LOEd2ZjZQS3EtT0laVENpV1dmUG4wTXYtWjBPRmQ3czZ3WkFsRnR6ZElfVnBmdGVBVVhmeEhPN01xQnpmNkUyWDlNVFJPS3dJY3JYMVFiamV5WmNPZ2E3QW5PZG85aEpyLVlXUVJ6ZEFVSVB4Tm40VGpIVXRnZWxqUWpJS3h1WWp4bXE0eEh6WF8tQV9RTmVlc3pQbW1uTGZqeUlhMnhhZGJSb1ZHYUdFY0xzVXBqbFJ4V1JYbkJ1RXBrU2NYQ1ZKN2Q5TXd4TUN2YWJSbjh4aC1BMklWbVkza2FxRHc2SzljQ1QxUjcxdlZnMTd3Z00tM2NDem1ETUdhOHdEWFI2TldUN3E0VVZPa1ZfVFhWX3p2M1JFZURFQzFoaTdFRnNsajlDMUF4OVVjSGtRbThvTkZfeGxFaVRDWm9rREdVMXlrNzZSX0diTDNXdGJMWEdFenljTVQ0dnZldGluSXlxNUR6NEhkUUg4QmwtM2lnWi1ja05zYWY2cnpNUC1tZVNrNkptazRDSWxhUU52MkRvRHBSRm5NREh3WC1KVzllck45cDlfRGFQUEZqTW9YakJfUEpSNElOOVFoYUNRaHNmZHYwWjFPbzZjNlZoeGVqSDNmSkI4QWZ2Z2wzSVZOdGVQYVM4MmpBM05NTzBNVHN6aW9FdXdadmtWUVRoTjcxcWxNOXpFYXdtenhHbGZFbjQ3eVZJYWhVTmhlakNBVXM3NXNyU0hTYlluc25kd0E0UHRwUWUwNGtzeTB2RkU5TjZmX08yaTVhcUN4bVMxRWEyQWhaUFRtVzNQaGZ6dWpmcnVEa3AzdldRUXI0Wkx4ZTVuRG5vYmhYNE9ZM2JlYWJWOXpVb1R5S0VMYkdINFJiTVlxTWQ1SWdZVXVzalE2OS1MM3o1S18xZDZmS21Jb2xHSVc0bWF3eFVZajBCc3UxYlo0LWdxVEl4dGFPZmNzUGlGWHlVLVFiNTNUcS0xclJ0V0cwT3BEaUpVbUhLd2VFNnJRYnVGYmRYMW1sbzZPZnJpY2ZONVNUVi1KbEpQa1RBZHEwbVY5SWxFZHVNYy1rNEl0ZnkwNG4zUzhBWWVLZFFCb1BfYVVXS2RWWU1ZcmUxbU1XekstM2lRcnFWSXZvZ25meDd3YUEyeF95S2hQS29pSXhNaFlxRExfaTVnRzMxQl9ueW1KeV90QTVraU5RTERhX3JVM2tjUW5QMHlzb2pKYUk5UWp6VlpsbEhpNUFtUk5lTmRiMi1kTzZ2WnlOb3R1UHNBWFl2RFJoaXRRVTJVbDZGdDY0aVY5WlNyVE1pdHRKem1OMG45Y3NRV1pfTHVFTVRZMkgtNWcxd1RDbm5kVHEwNFg5WU9mbVk0NFo1c3dtQUxRdmd4NGVVenNmQkU4dEJKcFo4UGxFVm5ONm03Vm9OMFdlSlZncnhzVnVDQjExVV9HNlMzbzRDWkRraVJOYU1wYXZhVGFrSGxWNzNIMU8tMlJ0SEZkUzNLTk9IN05tSUNBWW1EQTkya2FUZzVqSndTS0JOOGNlYWdnUU9MbXJJS3d4My1TdTEtdFpwOUVWXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipSZWZhY3RvcmluZyBib2FyZCBzdW1tYXJ5IHdpdGggcGxhdGZvcm0gaGVhZGluZ3MqKlwifSx7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqQWRqdXN0aW5nIHNlbGVjdGlvbiB1cGRhdGUgbG9naWMgYW5kIGJvYXJkIGNvdW50cyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9XbzRNRmQ5NDd3UUtHbnJuT0FtcVVXaVN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1ZTE1YmE0ODE5MTgyZTdjODA5YWYyNTQzNWUiLCJuYW1lIjoiZWRpdCIsImFyZ3VtZW50cyI6eyJwYXRoIjoic3JjL21haW4ucnMiLCJlZGl0cyI6W3sib2xkVGV4dCI6IiAgICBsZXQgYm9hcmRzID0gc3VwcG9ydGVkX2JvYXJkcygpO1xuICAgIC8vIEtlZXAgdGhlIGxhYmVscyBpbiB0aGUgcG9wdXAgc2hvcnQuIFRoZSBwbGF0Zm9ybSBpcyBzaG93biBzZXBhcmF0ZWx5IGluXG4gICAgLy8gdGhlIHJvdyBzdWJ0aXRsZSBvbmNlIGEgYm9hcmQgaGFzIGJlZW4gc2VsZWN0ZWQuXG4gICAgbGV0IG11dCBib2FyZF9uYW1lcyA9IHZlYyFbXCJDaG9vc2UgYSBib2FyZOKAplwiLnRvX293bmVkKCldO1xuICAgIGxldCBtdXQgYm9hcmRfcGxhdGZvcm1zID0gdmVjIVtTdHJpbmc6Om5ldygpXTtcbiAgICBmb3IgKG5hbWUsIHBsYXRmb3JtKSBpbiBib2FyZHMge1xuICAgICAgICBib2FyZF9uYW1lcy5wdXNoKG5hbWUpO1xuICAgICAgICBib2FyZF9wbGF0Zm9ybXMucHVzaChwbGF0Zm9ybSk7XG4gICAgfVxuICAgIGxldCBib2FyZF9tb2RlbCA9IGd0azo6U3RyaW5nTGlzdDo6bmV3KFxuICAgICAgICAmYm9hcmRfbmFtZXNcbiAgICAgICAgICAgIC5pdGVyKClcbiAgICAgICAgICAgIC5tYXAoU3RyaW5nOjphc19zdHIpXG4gICAgICAgICAgICAuY29sbGVjdDo6PFZlYzxfPj4oKSxcbiAgICApO1xuICAgIGxldCBib2FyZF9yb3cgPSBhZHc6OkNvbWJvUm93OjpidWlsZGVyKClcbiAgICAgICAgLnRpdGxlKFwiVGFyZ2V0IGJvYXJkXCIpXG4gICAgICAgIC5zdWJ0aXRsZShmb3JtYXQhKFxuICAgICAgICAgICAgXCJTZWFyY2ggb3IgY2hvb3NlIGZyb20ge30gc3VwcG9ydGVkIGJvYXJkc1wiLFxuICAgICAgICAgICAgYm9hcmRfbmFtZXMubGVuKCkgLSAxXG4gICAgICAgICkpXG4gICAgICAgIC5tb2RlbCgmYm9hcmRfbW9kZWwpXG4gICAgICAgIC5lbmFibGVfc2VhcmNoKHRydWUpXG4gICAgICAgIC5idWlsZCgpOyIsIm5ld1RleHQiOiIgICAgbGV0IGJvYXJkcyA9IHN1cHBvcnRlZF9ib2FyZHMoKTtcbiAgICBsZXQgYm9hcmRfY291bnQgPSBib2FyZHMubGVuKCk7XG4gICAgLy8gQ29tYm9Sb3cgZG9lcyBub3QgaGF2ZSBuYXRpdmUgc2VjdGlvbiBoZWFkZXJzLCBzbyBpbnNlcnQgbm9uLXNlbGVjdGFibGUsXG4gICAgLy8gY2xlYXJseSBtYXJrZWQgaGVhZGluZ3Mgd2hpbGUga2VlcGluZyB0aGUgYWN0dWFsIGJvYXJkIGxhYmVscyBjb21wYWN0LlxuICAgIGxldCBtdXQgYm9hcmRfbmFtZXMgPSB2ZWMhW1wiQ2hvb3NlIGEgYm9hcmTigKZcIi50b19vd25lZCgpXTtcbiAgICBsZXQgbXV0IGJvYXJkX3BsYXRmb3JtcyA9IHZlYyFbU3RyaW5nOjpuZXcoKV07XG4gICAgbGV0IG11dCBib2FyZF90YXJnZXRzID0gdmVjIVtOb25lXTtcbiAgICBsZXQgbXV0IHByZXZpb3VzX3BsYXRmb3JtID0gTm9uZTtcbiAgICBmb3IgKG5hbWUsIHBsYXRmb3JtKSBpbiBib2FyZHMge1xuICAgICAgICBpZiBwcmV2aW91c19wbGF0Zm9ybS5hc19kZXJlZigpICE9IFNvbWUocGxhdGZvcm0uYXNfc3RyKCkpIHtcbiAgICAgICAgICAgIGJvYXJkX25hbWVzLnB1c2goZm9ybWF0IShcIuKUgOKUgCB7cGxhdGZvcm19IOKUgOKUgFwiKSk7XG4gICAgICAgICAgICBib2FyZF9wbGF0Zm9ybXMucHVzaChTdHJpbmc6Om5ldygpKTtcbiAgICAgICAgICAgIGJvYXJkX3RhcmdldHMucHVzaChOb25lKTtcbiAgICAgICAgICAgIHByZXZpb3VzX3BsYXRmb3JtID0gU29tZShwbGF0Zm9ybS5jbG9uZSgpKTtcbiAgICAgICAgfVxuICAgICAgICBib2FyZF9uYW1lcy5wdXNoKG5hbWUuY2xvbmUoKSk7XG4gICAgICAgIGJvYXJkX3BsYXRmb3Jtcy5wdXNoKHBsYXRmb3JtKTtcbiAgICAgICAgYm9hcmRfdGFyZ2V0cy5wdXNoKFNvbWUobmFtZSkpO1xuICAgIH1cbiAgICBsZXQgYm9hcmRfbW9kZWwgPSBndGs6OlN0cmluZ0xpc3Q6Om5ldyhcbiAgICAgICAgJmJvYXJkX25hbWVzXG4gICAgICAgICAgICAuaXRlcigpXG4gICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuICAgICAgICAgICAgLmNvbGxlY3Q6OjxWZWM8Xz4+KCksXG4gICAgKTtcbiAgICBsZXQgYm9hcmRfcm93ID0gYWR3OjpDb21ib1Jvdzo6YnVpbGRlcigpXG4gICAgICAgIC50aXRsZShcIlRhcmdldCBib2FyZFwiKVxuICAgICAgICAuc3VidGl0bGUoZm9ybWF0IShcbiAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHtib2FyZF9jb3VudH0gc3VwcG9ydGVkIGJvYXJkc1wiXG4gICAgICAgICkpXG4gICAgICAgIC5tb2RlbCgmYm9hcmRfbW9kZWwpXG4gICAgICAgIC5lbmFibGVfc2VhcmNoKHRydWUpXG4gICAgICAgIC5idWlsZCgpOyJ9LHsib2xkVGV4dCI6IiAgICAgICAgbGV0IGJvYXJkX3BsYXRmb3JtcyA9IGJvYXJkX3BsYXRmb3Jtcy5jbG9uZSgpO1xuICAgICAgICBib2FyZF9yb3cuY29ubmVjdF9zZWxlY3RlZF9ub3RpZnkobW92ZSB8cm93fCB7XG4gICAgICAgICAgICBsZXQgc2VsZWN0ZWQgPSByb3cuc2VsZWN0ZWQoKSBhcyB1c2l6ZTtcbiAgICAgICAgICAgIGlmIHNlbGVjdGVkID09IDAge1xuICAgICAgICAgICAgICAgIHJvdy5zZXRfc3VidGl0bGUoJmZvcm1hdCEoXG4gICAgICAgICAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHt9IHN1cHBvcnRlZCBib2FyZHNcIixcbiAgICAgICAgICAgICAgICAgICAgYm9hcmRfcGxhdGZvcm1zLmxlbigpIC0gMVxuICAgICAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIGxldCBTb21lKHBsYXRmb3JtKSA9IGJvYXJkX3BsYXRmb3Jtcy5nZXQoc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBsYXRmb3JtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZGF0ZV9zdGFydCgmc3RhcnRfYnV0dG9uLCAmc3RhdGUsIHJvdywgJmRyaXZlX3JvdylcbiAgICAgICAgfSk7IiwibmV3VGV4dCI6IiAgICAgICAgbGV0IGJvYXJkX3BsYXRmb3JtcyA9IGJvYXJkX3BsYXRmb3Jtcy5jbG9uZSgpO1xuICAgICAgICBsZXQgYm9hcmRfdGFyZ2V0cyA9IGJvYXJkX3RhcmdldHMuY2xvbmUoKTtcbiAgICAgICAgYm9hcmRfcm93LmNvbm5lY3Rfc2VsZWN0ZWRfbm90aWZ5KG1vdmUgfHJvd3wge1xuICAgICAgICAgICAgbGV0IHNlbGVjdGVkID0gcm93LnNlbGVjdGVkKCkgYXMgdXNpemU7XG4gICAgICAgICAgICBpZiBzZWxlY3RlZCA+IDBcbiAgICAgICAgICAgICAgICAmJiBib2FyZF90YXJnZXRzXG4gICAgICAgICAgICAgICAgICAgIC5nZXQoc2VsZWN0ZWQpXG4gICAgICAgICAgICAgICAgICAgIC5pc19zb21lX2FuZChPcHRpb246OmlzX25vbmUpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLy8gU2VjdGlvbiBoZWFkaW5ncyBhcmUgbGFiZWxzLCBub3QgdmFsaWQgaW5zdGFsbGF0aW9uIHRhcmdldHMuXG4gICAgICAgICAgICAgICAgcm93LnNldF9zZWxlY3RlZCgwKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiBzZWxlY3RlZCA9PSAwIHtcbiAgICAgICAgICAgICAgICBsZXQgY291bnQgPSBib2FyZF90YXJnZXRzLml0ZXIoKS5mbGF0dGVuKCkuY291bnQoKTtcbiAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKCZmb3JtYXQhKFxuICAgICAgICAgICAgICAgICAgICBcIlNlYXJjaCBvciBjaG9vc2UgZnJvbSB7Y291bnR9IHN1cHBvcnRlZCBib2FyZHNcIlxuICAgICAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIGxldCBTb21lKHBsYXRmb3JtKSA9IGJvYXJkX3BsYXRmb3Jtcy5nZXQoc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBsYXRmb3JtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZGF0ZV9zdGFydCgmc3RhcnRfYnV0dG9uLCAmc3RhdGUsIHJvdywgJmRyaXZlX3JvdylcbiAgICAgICAgfSk7In0seyJvbGRUZXh0IjoiICAgICAgICBsZXQgYm9hcmRfbmFtZXMgPSBib2FyZF9uYW1lcy5jbG9uZSgpO1xuICAgICAgICBsZXQgZHJpdmVfbW9kZWwgPSBkcml2ZV9tb2RlbC5jbG9uZSgpOyIsIm5ld1RleHQiOiIgICAgICAgIGxldCBib2FyZF90YXJnZXRzID0gYm9hcmRfdGFyZ2V0cy5jbG9uZSgpO1xuICAgICAgICBsZXQgZHJpdmVfbW9kZWwgPSBkcml2ZV9tb2RlbC5jbG9uZSgpOyJ9LHsib2xkVGV4dCI6IiAgICAgICAgICAgIGxldCBib2FyZCA9IGJvYXJkX25hbWVzXG4gICAgICAgICAgICAgICAgLmdldChib2FyZF9yb3cuc2VsZWN0ZWQoKSBhcyB1c2l6ZSlcbiAgICAgICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuICAgICAgICAgICAgICAgIC51bndyYXBfb3IoXCJVbmtub3duIGJvYXJkXCIpOyIsIm5ld1RleHQiOiIgICAgICAgICAgICBsZXQgYm9hcmQgPSBib2FyZF90YXJnZXRzXG4gICAgICAgICAgICAgICAgLmdldChib2FyZF9yb3cuc2VsZWN0ZWQoKSBhcyB1c2l6ZSlcbiAgICAgICAgICAgICAgICAuYW5kX3RoZW4oT3B0aW9uOjphc19kZXJlZilcbiAgICAgICAgICAgICAgICAudW53cmFwX29yKFwiVW5rbm93biBib2FyZFwiKTsifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6OTE2LCJvdXRwdXQiOjE4NTEsImNhY2hlUmVhZCI6MzczNzYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NzkzLCJ0b3RhbFRva2VucyI6NDAxNDMsImNvc3QiOnsiaW5wdXQiOjAuMDA0NTgwMDAwMDAwMDAwMDAxLCJvdXRwdXQiOjAuMDU1NTMsImNhY2hlUmVhZCI6MC4wMTg2ODgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA3ODc5OH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTEyMDQ0NywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1YzBjZGYwODE5MTkyNjA0OWMzMDhhMjlkYTQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiOWQwMDAyOTAiLCJwYXJlbnRJZCI6IjJiMjNkN2YyIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxOTozMS4yNTBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1dvNE1GZDk0N3dRS0ducm5PQW1xVVdpU3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzVlMTViYTQ4MTkxODJlN2M4MDlhZjI1NDM1ZSIsInRvb2xOYW1lIjoiZWRpdCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSByZXBsYWNlZCA0IGJsb2NrKHMpIGluIHNyYy9tYWluLnJzLiJ9XSwiZGV0YWlscyI6eyJkaWZmIjoiICAgICAuLi5cbiAgODcgICAgICAgICAudGl0bGUoXCJUYXJnZXQgSGFyZHdhcmVcIilcbiAgODggICAgICAgICAuZGVzY3JpcHRpb24oXCJUaGUgbWF0Y2hpbmcgYm9vdGxvYWRlciBhbmQgZGV2aWNlIHRyZWUgd2lsbCBiZSBpbnN0YWxsZWQuXCIpXG4gIDg5ICAgICAgICAgLmJ1aWxkKCk7XG4gIDkwICAgICBsZXQgYm9hcmRzID0gc3VwcG9ydGVkX2JvYXJkcygpO1xuLSA5MSAgICAgLy8gS2VlcCB0aGUgbGFiZWxzIGluIHRoZSBwb3B1cCBzaG9ydC4gVGhlIHBsYXRmb3JtIGlzIHNob3duIHNlcGFyYXRlbHkgaW5cbi0gOTIgICAgIC8vIHRoZSByb3cgc3VidGl0bGUgb25jZSBhIGJvYXJkIGhhcyBiZWVuIHNlbGVjdGVkLlxuKyA5MSAgICAgbGV0IGJvYXJkX2NvdW50ID0gYm9hcmRzLmxlbigpO1xuKyA5MiAgICAgLy8gQ29tYm9Sb3cgZG9lcyBub3QgaGF2ZSBuYXRpdmUgc2VjdGlvbiBoZWFkZXJzLCBzbyBpbnNlcnQgbm9uLXNlbGVjdGFibGUsXG4rIDkzICAgICAvLyBjbGVhcmx5IG1hcmtlZCBoZWFkaW5ncyB3aGlsZSBrZWVwaW5nIHRoZSBhY3R1YWwgYm9hcmQgbGFiZWxzIGNvbXBhY3QuXG4gIDkzICAgICBsZXQgbXV0IGJvYXJkX25hbWVzID0gdmVjIVtcIkNob29zZSBhIGJvYXJk4oCmXCIudG9fb3duZWQoKV07XG4gIDk0ICAgICBsZXQgbXV0IGJvYXJkX3BsYXRmb3JtcyA9IHZlYyFbU3RyaW5nOjpuZXcoKV07XG4rIDk2ICAgICBsZXQgbXV0IGJvYXJkX3RhcmdldHMgPSB2ZWMhW05vbmVdO1xuKyA5NyAgICAgbGV0IG11dCBwcmV2aW91c19wbGF0Zm9ybSA9IE5vbmU7XG4gIDk1ICAgICBmb3IgKG5hbWUsIHBsYXRmb3JtKSBpbiBib2FyZHMge1xuLSA5NiAgICAgICAgIGJvYXJkX25hbWVzLnB1c2gobmFtZSk7XG4rIDk5ICAgICAgICAgaWYgcHJldmlvdXNfcGxhdGZvcm0uYXNfZGVyZWYoKSAhPSBTb21lKHBsYXRmb3JtLmFzX3N0cigpKSB7XG4rMTAwICAgICAgICAgICAgIGJvYXJkX25hbWVzLnB1c2goZm9ybWF0IShcIuKUgOKUgCB7cGxhdGZvcm19IOKUgOKUgFwiKSk7XG4rMTAxICAgICAgICAgICAgIGJvYXJkX3BsYXRmb3Jtcy5wdXNoKFN0cmluZzo6bmV3KCkpO1xuKzEwMiAgICAgICAgICAgICBib2FyZF90YXJnZXRzLnB1c2goTm9uZSk7XG4rMTAzICAgICAgICAgICAgIHByZXZpb3VzX3BsYXRmb3JtID0gU29tZShwbGF0Zm9ybS5jbG9uZSgpKTtcbisxMDQgICAgICAgICB9XG4rMTA1ICAgICAgICAgYm9hcmRfbmFtZXMucHVzaChuYW1lLmNsb25lKCkpO1xuICA5NyAgICAgICAgIGJvYXJkX3BsYXRmb3Jtcy5wdXNoKHBsYXRmb3JtKTtcbisxMDcgICAgICAgICBib2FyZF90YXJnZXRzLnB1c2goU29tZShuYW1lKSk7XG4gIDk4ICAgICB9XG4gIDk5ICAgICBsZXQgYm9hcmRfbW9kZWwgPSBndGs6OlN0cmluZ0xpc3Q6Om5ldyhcbiAxMDAgICAgICAgICAmYm9hcmRfbmFtZXNcbiAxMDEgICAgICAgICAgICAgLml0ZXIoKVxuICAgICAuLi5cbiAxMDQgICAgICk7XG4gMTA1ICAgICBsZXQgYm9hcmRfcm93ID0gYWR3OjpDb21ib1Jvdzo6YnVpbGRlcigpXG4gMTA2ICAgICAgICAgLnRpdGxlKFwiVGFyZ2V0IGJvYXJkXCIpXG4gMTA3ICAgICAgICAgLnN1YnRpdGxlKGZvcm1hdCEoXG4tMTA4ICAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHt9IHN1cHBvcnRlZCBib2FyZHNcIixcbi0xMDkgICAgICAgICAgICAgYm9hcmRfbmFtZXMubGVuKCkgLSAxXG4rMTE4ICAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHtib2FyZF9jb3VudH0gc3VwcG9ydGVkIGJvYXJkc1wiXG4gMTEwICAgICAgICAgKSlcbiAxMTEgICAgICAgICAubW9kZWwoJmJvYXJkX21vZGVsKVxuIDExMiAgICAgICAgIC5lbmFibGVfc2VhcmNoKHRydWUpXG4gMTEzICAgICAgICAgLmJ1aWxkKCk7XG4gICAgIC4uLlxuIDMxOSAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gMzIwICAgICAgICAgbGV0IGRyaXZlX3JvdyA9IGRyaXZlX3Jvdy5jbG9uZSgpO1xuIDMyMSAgICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbiAzMjIgICAgICAgICBsZXQgYm9hcmRfcGxhdGZvcm1zID0gYm9hcmRfcGxhdGZvcm1zLmNsb25lKCk7XG4rMzMyICAgICAgICAgbGV0IGJvYXJkX3RhcmdldHMgPSBib2FyZF90YXJnZXRzLmNsb25lKCk7XG4gMzIzICAgICAgICAgYm9hcmRfcm93LmNvbm5lY3Rfc2VsZWN0ZWRfbm90aWZ5KG1vdmUgfHJvd3wge1xuIDMyNCAgICAgICAgICAgICBsZXQgc2VsZWN0ZWQgPSByb3cuc2VsZWN0ZWQoKSBhcyB1c2l6ZTtcbiszMzUgICAgICAgICAgICAgaWYgc2VsZWN0ZWQgPiAwXG4rMzM2ICAgICAgICAgICAgICAgICAmJiBib2FyZF90YXJnZXRzXG4rMzM3ICAgICAgICAgICAgICAgICAgICAgLmdldChzZWxlY3RlZClcbiszMzggICAgICAgICAgICAgICAgICAgICAuaXNfc29tZV9hbmQoT3B0aW9uOjppc19ub25lKVxuKzMzOSAgICAgICAgICAgICB7XG4rMzQwICAgICAgICAgICAgICAgICAvLyBTZWN0aW9uIGhlYWRpbmdzIGFyZSBsYWJlbHMsIG5vdCB2YWxpZCBpbnN0YWxsYXRpb24gdGFyZ2V0cy5cbiszNDEgICAgICAgICAgICAgICAgIHJvdy5zZXRfc2VsZWN0ZWQoMCk7XG4rMzQyICAgICAgICAgICAgICAgICByZXR1cm47XG4rMzQzICAgICAgICAgICAgIH1cbiAzMjUgICAgICAgICAgICAgaWYgc2VsZWN0ZWQgPT0gMCB7XG4rMzQ1ICAgICAgICAgICAgICAgICBsZXQgY291bnQgPSBib2FyZF90YXJnZXRzLml0ZXIoKS5mbGF0dGVuKCkuY291bnQoKTtcbiAzMjYgICAgICAgICAgICAgICAgIHJvdy5zZXRfc3VidGl0bGUoJmZvcm1hdCEoXG4tMzI3ICAgICAgICAgICAgICAgICAgICAgXCJTZWFyY2ggb3IgY2hvb3NlIGZyb20ge30gc3VwcG9ydGVkIGJvYXJkc1wiLFxuLTMyOCAgICAgICAgICAgICAgICAgICAgIGJvYXJkX3BsYXRmb3Jtcy5sZW4oKSAtIDFcbiszNDcgICAgICAgICAgICAgICAgICAgICBcIlNlYXJjaCBvciBjaG9vc2UgZnJvbSB7Y291bnR9IHN1cHBvcnRlZCBib2FyZHNcIlxuIDMyOSAgICAgICAgICAgICAgICAgKSk7XG4gMzMwICAgICAgICAgICAgIH0gZWxzZSBpZiBsZXQgU29tZShwbGF0Zm9ybSkgPSBib2FyZF9wbGF0Zm9ybXMuZ2V0KHNlbGVjdGVkKSB7XG4gMzMxICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBsYXRmb3JtKTtcbiAzMzIgICAgICAgICAgICAgfVxuICAgICAuLi5cbiAzODggICAgICAgICBsZXQgd2luZG93ID0gd2luZG93LmNsb25lKCk7XG4gMzg5ICAgICAgICAgbGV0IHRvYXN0X292ZXJsYXkgPSB0b2FzdF9vdmVybGF5LmNsb25lKCk7XG4gMzkwICAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAzOTEgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4tMzkyICAgICAgICAgbGV0IGJvYXJkX25hbWVzID0gYm9hcmRfbmFtZXMuY2xvbmUoKTtcbis0MTEgICAgICAgICBsZXQgYm9hcmRfdGFyZ2V0cyA9IGJvYXJkX3RhcmdldHMuY2xvbmUoKTtcbiAzOTMgICAgICAgICBsZXQgZHJpdmVfbW9kZWwgPSBkcml2ZV9tb2RlbC5jbG9uZSgpO1xuIDM5NCAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAzOTUgICAgICAgICBzdGFydF9idXR0b24uY29ubmVjdF9jbGlja2VkKG1vdmUgfF98IHtcbiAzOTYgICAgICAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuYm9ycm93KCk7XG4tMzk3ICAgICAgICAgICAgIGxldCBib2FyZCA9IGJvYXJkX25hbWVzXG4rNDE2ICAgICAgICAgICAgIGxldCBib2FyZCA9IGJvYXJkX3RhcmdldHNcbiAzOTggICAgICAgICAgICAgICAgIC5nZXQoYm9hcmRfcm93LnNlbGVjdGVkKCkgYXMgdXNpemUpXG4tMzk5ICAgICAgICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuKzQxOCAgICAgICAgICAgICAgICAgLmFuZF90aGVuKE9wdGlvbjo6YXNfZGVyZWYpXG4gNDAwICAgICAgICAgICAgICAgICAudW53cmFwX29yKFwiVW5rbm93biBib2FyZFwiKTtcbiA0MDEgICAgICAgICAgICAgbGV0IGRlc3RpbmF0aW9uID0gaWYgc3RhdGUub3V0cHV0X2lzX2ZpbGUge1xuIDQwMiAgICAgICAgICAgICAgICAgc3RhdGVcbiA0MDMgICAgICAgICAgICAgICAgICAgICAub3V0cHV0X2ZpbGVcbiAgICAgLi4uIiwicGF0Y2giOiItLS0gc3JjL21haW4ucnNcbisrKyBzcmMvbWFpbi5yc1xuQEAgLTg3LDE1ICs4NywyNSBAQFxuICAgICAgICAgLnRpdGxlKFwiVGFyZ2V0IEhhcmR3YXJlXCIpXG4gICAgICAgICAuZGVzY3JpcHRpb24oXCJUaGUgbWF0Y2hpbmcgYm9vdGxvYWRlciBhbmQgZGV2aWNlIHRyZWUgd2lsbCBiZSBpbnN0YWxsZWQuXCIpXG4gICAgICAgICAuYnVpbGQoKTtcbiAgICAgbGV0IGJvYXJkcyA9IHN1cHBvcnRlZF9ib2FyZHMoKTtcbi0gICAgLy8gS2VlcCB0aGUgbGFiZWxzIGluIHRoZSBwb3B1cCBzaG9ydC4gVGhlIHBsYXRmb3JtIGlzIHNob3duIHNlcGFyYXRlbHkgaW5cbi0gICAgLy8gdGhlIHJvdyBzdWJ0aXRsZSBvbmNlIGEgYm9hcmQgaGFzIGJlZW4gc2VsZWN0ZWQuXG4rICAgIGxldCBib2FyZF9jb3VudCA9IGJvYXJkcy5sZW4oKTtcbisgICAgLy8gQ29tYm9Sb3cgZG9lcyBub3QgaGF2ZSBuYXRpdmUgc2VjdGlvbiBoZWFkZXJzLCBzbyBpbnNlcnQgbm9uLXNlbGVjdGFibGUsXG4rICAgIC8vIGNsZWFybHkgbWFya2VkIGhlYWRpbmdzIHdoaWxlIGtlZXBpbmcgdGhlIGFjdHVhbCBib2FyZCBsYWJlbHMgY29tcGFjdC5cbiAgICAgbGV0IG11dCBib2FyZF9uYW1lcyA9IHZlYyFbXCJDaG9vc2UgYSBib2FyZOKAplwiLnRvX293bmVkKCldO1xuICAgICBsZXQgbXV0IGJvYXJkX3BsYXRmb3JtcyA9IHZlYyFbU3RyaW5nOjpuZXcoKV07XG4rICAgIGxldCBtdXQgYm9hcmRfdGFyZ2V0cyA9IHZlYyFbTm9uZV07XG4rICAgIGxldCBtdXQgcHJldmlvdXNfcGxhdGZvcm0gPSBOb25lO1xuICAgICBmb3IgKG5hbWUsIHBsYXRmb3JtKSBpbiBib2FyZHMge1xuLSAgICAgICAgYm9hcmRfbmFtZXMucHVzaChuYW1lKTtcbisgICAgICAgIGlmIHByZXZpb3VzX3BsYXRmb3JtLmFzX2RlcmVmKCkgIT0gU29tZShwbGF0Zm9ybS5hc19zdHIoKSkge1xuKyAgICAgICAgICAgIGJvYXJkX25hbWVzLnB1c2goZm9ybWF0IShcIuKUgOKUgCB7cGxhdGZvcm19IOKUgOKUgFwiKSk7XG4rICAgICAgICAgICAgYm9hcmRfcGxhdGZvcm1zLnB1c2goU3RyaW5nOjpuZXcoKSk7XG4rICAgICAgICAgICAgYm9hcmRfdGFyZ2V0cy5wdXNoKE5vbmUpO1xuKyAgICAgICAgICAgIHByZXZpb3VzX3BsYXRmb3JtID0gU29tZShwbGF0Zm9ybS5jbG9uZSgpKTtcbisgICAgICAgIH1cbisgICAgICAgIGJvYXJkX25hbWVzLnB1c2gobmFtZS5jbG9uZSgpKTtcbiAgICAgICAgIGJvYXJkX3BsYXRmb3Jtcy5wdXNoKHBsYXRmb3JtKTtcbisgICAgICAgIGJvYXJkX3RhcmdldHMucHVzaChTb21lKG5hbWUpKTtcbiAgICAgfVxuICAgICBsZXQgYm9hcmRfbW9kZWwgPSBndGs6OlN0cmluZ0xpc3Q6Om5ldyhcbiAgICAgICAgICZib2FyZF9uYW1lc1xuICAgICAgICAgICAgIC5pdGVyKClcbkBAIC0xMDQsMTAgKzExNCw5IEBAXG4gICAgICk7XG4gICAgIGxldCBib2FyZF9yb3cgPSBhZHc6OkNvbWJvUm93OjpidWlsZGVyKClcbiAgICAgICAgIC50aXRsZShcIlRhcmdldCBib2FyZFwiKVxuICAgICAgICAgLnN1YnRpdGxlKGZvcm1hdCEoXG4tICAgICAgICAgICAgXCJTZWFyY2ggb3IgY2hvb3NlIGZyb20ge30gc3VwcG9ydGVkIGJvYXJkc1wiLFxuLSAgICAgICAgICAgIGJvYXJkX25hbWVzLmxlbigpIC0gMVxuKyAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHtib2FyZF9jb3VudH0gc3VwcG9ydGVkIGJvYXJkc1wiXG4gICAgICAgICApKVxuICAgICAgICAgLm1vZGVsKCZib2FyZF9tb2RlbClcbiAgICAgICAgIC5lbmFibGVfc2VhcmNoKHRydWUpXG4gICAgICAgICAuYnVpbGQoKTtcbkBAIC0zMTksMTQgKzMyOCwyNCBAQFxuICAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbiAgICAgICAgIGxldCBib2FyZF9wbGF0Zm9ybXMgPSBib2FyZF9wbGF0Zm9ybXMuY2xvbmUoKTtcbisgICAgICAgIGxldCBib2FyZF90YXJnZXRzID0gYm9hcmRfdGFyZ2V0cy5jbG9uZSgpO1xuICAgICAgICAgYm9hcmRfcm93LmNvbm5lY3Rfc2VsZWN0ZWRfbm90aWZ5KG1vdmUgfHJvd3wge1xuICAgICAgICAgICAgIGxldCBzZWxlY3RlZCA9IHJvdy5zZWxlY3RlZCgpIGFzIHVzaXplO1xuKyAgICAgICAgICAgIGlmIHNlbGVjdGVkID4gMFxuKyAgICAgICAgICAgICAgICAmJiBib2FyZF90YXJnZXRzXG4rICAgICAgICAgICAgICAgICAgICAuZ2V0KHNlbGVjdGVkKVxuKyAgICAgICAgICAgICAgICAgICAgLmlzX3NvbWVfYW5kKE9wdGlvbjo6aXNfbm9uZSlcbisgICAgICAgICAgICB7XG4rICAgICAgICAgICAgICAgIC8vIFNlY3Rpb24gaGVhZGluZ3MgYXJlIGxhYmVscywgbm90IHZhbGlkIGluc3RhbGxhdGlvbiB0YXJnZXRzLlxuKyAgICAgICAgICAgICAgICByb3cuc2V0X3NlbGVjdGVkKDApO1xuKyAgICAgICAgICAgICAgICByZXR1cm47XG4rICAgICAgICAgICAgfVxuICAgICAgICAgICAgIGlmIHNlbGVjdGVkID09IDAge1xuKyAgICAgICAgICAgICAgICBsZXQgY291bnQgPSBib2FyZF90YXJnZXRzLml0ZXIoKS5mbGF0dGVuKCkuY291bnQoKTtcbiAgICAgICAgICAgICAgICAgcm93LnNldF9zdWJ0aXRsZSgmZm9ybWF0IShcbi0gICAgICAgICAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHt9IHN1cHBvcnRlZCBib2FyZHNcIixcbi0gICAgICAgICAgICAgICAgICAgIGJvYXJkX3BsYXRmb3Jtcy5sZW4oKSAtIDFcbisgICAgICAgICAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHtjb3VudH0gc3VwcG9ydGVkIGJvYXJkc1wiXG4gICAgICAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgIH0gZWxzZSBpZiBsZXQgU29tZShwbGF0Zm9ybSkgPSBib2FyZF9wbGF0Zm9ybXMuZ2V0KHNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgIHJvdy5zZXRfc3VidGl0bGUocGxhdGZvcm0pO1xuICAgICAgICAgICAgIH1cbkBAIC0zODgsMTYgKzQwNywxNiBAQFxuICAgICAgICAgbGV0IHdpbmRvdyA9IHdpbmRvdy5jbG9uZSgpO1xuICAgICAgICAgbGV0IHRvYXN0X292ZXJsYXkgPSB0b2FzdF9vdmVybGF5LmNsb25lKCk7XG4gICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuICAgICAgICAgbGV0IGJvYXJkX3JvdyA9IGJvYXJkX3Jvdy5jbG9uZSgpO1xuLSAgICAgICAgbGV0IGJvYXJkX25hbWVzID0gYm9hcmRfbmFtZXMuY2xvbmUoKTtcbisgICAgICAgIGxldCBib2FyZF90YXJnZXRzID0gYm9hcmRfdGFyZ2V0cy5jbG9uZSgpO1xuICAgICAgICAgbGV0IGRyaXZlX21vZGVsID0gZHJpdmVfbW9kZWwuY2xvbmUoKTtcbiAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgIHN0YXJ0X2J1dHRvbi5jb25uZWN0X2NsaWNrZWQobW92ZSB8X3wge1xuICAgICAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmJvcnJvdygpO1xuLSAgICAgICAgICAgIGxldCBib2FyZCA9IGJvYXJkX25hbWVzXG4rICAgICAgICAgICAgbGV0IGJvYXJkID0gYm9hcmRfdGFyZ2V0c1xuICAgICAgICAgICAgICAgICAuZ2V0KGJvYXJkX3Jvdy5zZWxlY3RlZCgpIGFzIHVzaXplKVxuLSAgICAgICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuKyAgICAgICAgICAgICAgICAuYW5kX3RoZW4oT3B0aW9uOjphc19kZXJlZilcbiAgICAgICAgICAgICAgICAgLnVud3JhcF9vcihcIlVua25vd24gYm9hcmRcIik7XG4gICAgICAgICAgICAgbGV0IGRlc3RpbmF0aW9uID0gaWYgc3RhdGUub3V0cHV0X2lzX2ZpbGUge1xuICAgICAgICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAgLm91dHB1dF9maWxlXG4iLCJmaXJzdENoYW5nZWRMaW5lIjo5MX0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODkxNzEyNTB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI5NGZhZmY3NiIsInBhcmVudElkIjoiOWQwMDAyOTAiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjE5OjM2LjE0M1oiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqVmVyaWZ5aW5nIGJvcnJvdyBib2FyZCBjbG9uaW5nIGJlaGF2aW9yKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzVmNmRiYjg4MTkxOTc3YzdiMjUxNzI0MGIwNlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTVgzZHRFcndUb3g0amFOUDRLdFVESlFXdnZXVzRNY2pOQUNxdUVHekhNNldVMVpsdEVneHAwYm9DaTJXdFZHNlhkdDJ5Yk16TENsTVV1NWcwMnlMRVhvUlR3Z1h5OXBhUG1ZWU5lT2kwb3JHUThiaXpScTZ4LVpGbThLZGxsQkdsLV9oZ2pmNVVkY0VjWEJqUkpHclkyZWtkQjF5MG9hWkgwR3VZNWoyVS00Mlg1MDhXOEtxdGxTSWppd0RXbkRmeE9IaHFfaVQ1M2FVSkFHeDJoSWZDNnNQNlp6YXVkOHlCTHlTNmd4cmxLVERyMUE0cEJlUDh0dlFFU1NWLXBtcnItTUZSX0pMWl9mdWZZN0VHOU9xN0tPRVk0aTNaVFpMZ2tTZHpHZEZ1dktkOFNidFFodGFzNmY5dUotN0J4aGZ3UFhydkgtMml2XzBROVdwYW84V3h1YWZxMnBoaWlXVlg2aHF2bFQ0V21QUkotekVFNVFvZ1hDSzVOWlNXQklXcXdYcVA1bGl6emxWTl9Tb2NkX21nVHNkSk1pNUJsbFNNTUdrRXZ4MURuUDZKeVNweDFoREdEWHVrRnBfS3Zxdkstai1Eb2dPeVJxUzd1STZ5a0dhUF9SWEQ1SWEwRldEek5JNm5LQ29lRmp6enEtbE9wLW91c1BQYi05TmJ6R1JQbzRUbDFxenFDWHZJZXJtOVc1MzRQeWVaMDdjNVJ2Q0ZtRDhPU01zeDF2WUJ4a1VDS0xzV0YyX3FmaVVSRC1IeTlTdlY4c3JzdDlacnhmc1RxTjhsbVNWWFVpc29UdDJqTHdpQ2RaUDBSWEc4SkUyelRIMDRwQXBraG4yLTlxdndmUXBjQmpjTFY2ck91NDJ5em5sREtwVW5QdzhGRlM5RU5kOVFzVDYtWkJFa1VOb0sxT1hQUWNNZnpjMzB5T3o2ajloVmdRTktnLW1lZmlmcGp5cC1WMzRpT01meVJPOUt4TWUwT3FJalJKMGNaeHlMSE5lZEFaRGI5ZVJ3b2VHSF9pRWN4LXZIV0NPRzBRSFZJaHVldUhEaTFfbk9FWnNUUFpULUUycDJJaTBuNGlLUWpfbmEwTHNoN01IZkczdkFTTTg1aE93em1xWWxHSDdtTWtvSVA3QlgtMW1tT3FUR3ZLX3Vyc056aGFGMGRDemE4RWpsZVFQWDB5QTgxQk9saC1HVE9IVlhtTGZlMzlZZGJnV1ZsQWt0MklzQV9Ya3d4YjVhdTlLZkJER0JpNjVZNWpfbUNMbUVxTFVOLTE4cDN4OUVMcXc2Sl8yaXBBTmNmTlgxS3ZlNEpFVzVYbEVBUHc1UGZLNDZDUjlGeXp0VXRDQkJRRjdwVVhBSGxYOHF6a0tUYlJqSUpDeWFzcTl0NjNxNDB3dlhOV09iTk81ZWFpQ0VFZ0N1M1puYVE9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipWZXJpZnlpbmcgYm9ycm93IGJvYXJkIGNsb25pbmcgYmVoYXZpb3IqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfRU1hY2tUZENjdFE0TjBWZ1JnSGJEZFpyfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNWY3ZGQ5ODgxOTE5MGNlYmVjYjBhZGQ0MjZhIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6IkRPQ1NfUlM9MSBSVVNUQ19CT09UU1RSQVA9MSBSVVNURkxBR1M9Jy0tY2ZnIGRvY3NycycgY2FyZ28gY2hlY2siLCJ0aW1lb3V0IjoxMjB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6Mjc4OSwib3V0cHV0Ijo2OCwiY2FjaGVSZWFkIjozNzM3NiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyMSwidG90YWxUb2tlbnMiOjQwMjMzLCJjb3N0Ijp7ImlucHV0IjowLjAxMzk0NSwib3V0cHV0IjowLjAwMjA0LCJjYWNoZVJlYWQiOjAuMDE4Njg4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMzQ2NzI5OTk5OTk5OTk5OTV9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODkxNzEyNTEsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNWY1NmRjNDgxOTFiNDZhNzU0Y2IxZDY5ZjgwIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjRjOWRjMTMzIiwicGFyZW50SWQiOiI5NGZhZmY3NiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTk6MzYuMzExWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9FTWFja1RkQ2N0UTROMFZnUmdIYkRkWnJ8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1ZjdkZDk4ODE5MTkwY2ViZWNiMGFkZDQyNmEiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgQ2hlY2tpbmcgZmxhc2hlciB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIpXG4gICAgRmluaXNoZWQgYGRldmAgcHJvZmlsZSBbdW5vcHRpbWl6ZWQgKyBkZWJ1Z2luZm9dIHRhcmdldChzKSBpbiAwLjE1c1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5MTc2MzExfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiOTdlOTI0YTQiLCJwYXJlbnRJZCI6IjRjOWRjMTMzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxOTozOS45NTJaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiQWRkZWQgcGxhdGZvcm0vU29DIHNlcGFyYXRpb24gdG8gdGhlIGJvYXJkIHNlbGVjdG9yOlxuXG4tIEJvYXJkcyBhcmUgZ3JvdXBlZCB1bmRlciB2aXNpYmxlIHBsYXRmb3JtIGFuZCBhcmNoaXRlY3R1cmUgaGVhZGluZ3MuXG4tIFNlY3Rpb24gaGVhZGluZ3MgY2Fubm90IGJlIHNlbGVjdGVkIGFzIGJvYXJkcy5cbi0gQm9hcmQgbGFiZWxzIHJlbWFpbiBjb21wYWN0LlxuLSBUaGUgc2VsZWN0ZWQgYm9hcmTigJlzIHBsYXRmb3JtIGFwcGVhcnMgaW4gdGhlIHJvdyBzdWJ0aXRsZS5cbi0gU2VhcmNoIGFuZCBib2FyZCBjb3VudHMgY29udGludWUgdG8gd29yayBjb3JyZWN0bHkuXG5cbmBjYXJnbyBjaGVja2AgcGFzc2VzLiIsInRleHRTaWduYXR1cmUiOiJ7XCJ2XCI6MSxcImlkXCI6XCJtc2dfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1ZjllNmE4ODE5MWI2YTM5M2EyNmUxZmU5OWZcIixcInBoYXNlXCI6XCJmaW5hbF9hbnN3ZXJcIn0ifV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6ODY0LCJvdXRwdXQiOjY5LCJjYWNoZVJlYWQiOjM5NDI0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjAsInRvdGFsVG9rZW5zIjo0MDM1NywiY29zdCI6eyJpbnB1dCI6MC4wMDQzMiwib3V0cHV0IjowLjAwMjA3MDAwMDAwMDAwMDAwMDIsImNhY2hlUmVhZCI6MC4wMTk3MTIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyNjEwMn19LCJzdG9wUmVhc29uIjoic3RvcCIsInRpbWVzdGFtcCI6MTc4NDk4OTE3NjMxMywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1ZjhjMjU4ODE5MWE4ZGEyMGE3YzU1ZDU2NGYifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZTg5ZDY4ODgiLCJwYXJlbnRJZCI6Ijk3ZTkyNGE0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoyOToxMi41NThaIiwibWVzc2FnZSI6eyJyb2xlIjoidXNlciIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Im5vdyBtYWtlIHRoYXQgaW4gcXQuIG1vdmUgY3VycmVudCBjb2RlIGluIGEgc2VwYXJhdGUgdGFyZ2V0IG9yIGNyYXRlLCBhbmQgcXQgdmVyc2lvbiB0b28gaW4gYSBzZXBhcmF0ZSBjcmF0ZS4gbWF5YmUgY3JlYXRlIGNhcmdvIHdvcmtzcGFjZSBvciBzb21ldGhpbmcgc28gdGhhdCBpIGNhbiBydW4gYm90aCBvZiB0aGUgZ3Vpcy4ifV0sInRpbWVzdGFtcCI6MTc4NDk4OTc1MjU1N319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjM3MWY4OTgzIiwicGFyZW50SWQiOiJlODlkNjg4OCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6Mjk6MjEuNDM2WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipFdmFsdWF0aW5nIFF0IFJ1c3QgYmluZGluZyBvcHRpb25zKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzgzY2JlYTA4MTkxYTAyMjdmMzAzZmMzNGUyYVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWhCWmlSVXU0bDVWSE15UVBoODlra1hjWHI1TWV3NGFuUTB6T2RhTGNpSVVNNFlINmJrUnpHTkh3bmxkcTMtYTRiOFhadzEwc0RBOWtfR2JvcTVuWHdFdjJPQ0VVWWd0MllKZkRsenNldzBCSXd6WVpvMFhLV0ctUm1ROFhiOTIwVHZaUlo4T3BvN3JrdlltbjZiUG1GRE5SVkE1UTBmZXpZcTZEa29mNndZQ1B4ekJEbkFRclpXalg5djg2YWhObU5OU29tNWFrUzNTSjd3dTkzYlQ5akhUVTlhV1NHRWVtZnR5TnV6XzFzZ2J2THZpb0FkczMwV1NsNmVndzN2bjBQbGNpaURfYmpRa3pTbUpGN0pQX2NEb0h6Zk03Tm5PbGZsemNNVzgtYlBKZnRoWVFSTTZmaWx2QlNSRTRQWWxXZ3huSERNb240MndoSEx4Wk9wOVlaSk9MLXdzWTZSZ2NqeVhXMnFfbFUzTkc2Y3dvZGZ5T0h5TkhFUjVjbjNVVmQyZmZEZWpNaXhnZWJhY3RJUmMtWGY5TjRHdy1ma29vUE5VbFZ1cFFHUUtQNGo4MlFQSk1yWHhVSmR2TS1hUG9nQUxxLU8zSW5ja3pfMlY3SFF2alFoT3pmTTBYY19jZjFHb0U2ZDlUb3N5ZDdSRlJYMTBmZXdvOVhpS01MTy1rZ21lY09ZbXlYQms5bzJmMFgzWXZ2RlU5Z01YQmczNzl2b1hNbFlSRXZMamtDQ1VTTkFwUF9fSWJ6N0Vra2xFaDVfN2xkaGhDN3U0Y3hoWHhxT01nQ0VESG9JUng1SXp2UmNtd1lJMmZtR1hBOURSNm9tSWFCVmlrN2trYkFYTGF2RGk4N1p4NG45YlhERnktVHFrVXlQMjRwVXZ3eDY2NE1yLUJwZW9rSFRhWmlIc2YyTkNxQlRxejR6eUlCNll5SUVqUzFvdTJmWEszSXFlS2FXZzNmTWtycjRXUUtXS0RaOWMzSFByVzRfcGdqZlZjSXlqN0twY2Y2aUVtZ3JPMk56TzdCbXZ3OFhlMHdoczY5Z3Bsb0k1ZGRFS1J2VTZVbEJ5NDc5OUZXY1VtbmFnYjJZaVJRTVpMUExfVFpRcmRLVFA3UWE0eDZETHA5NkFkWGlUOWFnaTdlQ0N6UkprdGdVT3dpRHpnU1d1NDNsb2xGbUo4SGI5OU9DejBUQl9YbFhYTFpfOEF0WE1CRy0xdU8tb0lwMVdLdTVJbUFHUmVMVmJNblRPRml2RlBqYkJ4WUxUcHJVdFNjSjl1SHR6YlNvLWNsM1A3T3lvaVkwb19YcDc1ZXZDaUEydEtqRUJTS2ExcjRSWWROLWtNQ3ZrSHVPUDFkVXNaODRTclFnQ05uU2dwYVZOUXVPZmV3NXhhcEZVOUVNSHliT2JrbTBkYW43M0FWZDFDRGx5ekk9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipFdmFsdWF0aW5nIFF0IFJ1c3QgYmluZGluZyBvcHRpb25zKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0VrbjdTbFdZOUJqZUVPZVc0V1JsSFFGN3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg0MTQ0MDQ4MTkxOGY5NWIwYWFmNzU0ZWFhNiIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJwa2ctY29uZmlnIC0tbW9kdmVyc2lvbiBRdDZDb3JlIFF0NldpZGdldHMgUXQ1Q29yZSBRdDVXaWRnZXRzIDI+JjE7IGNvbW1hbmQgLXYgcW1ha2U2IHFtYWtlIHF0cGF0aHM2IHx8IHRydWU7IGZpbmQgL3Vzci9saWIgL3Vzci9sb2NhbC9saWIgLW5hbWUgJ2xpYlF0NldpZGdldHMuc28qJyAtbyAtbmFtZSAnbGliUXQ1V2lkZ2V0cy5zbyonIDI+L2Rldi9udWxsIHwgaGVhZCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF82NUQ1TFM5ZEhnaFpWbm1EelVvNU9UcVh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4NDE0NDIwODE5MWEzYjExYTQ2NDM0MzRkYWQiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiZ2l0IHN0YXR1cyAtLXNob3J0OyBmaW5kIC4gLW1heGRlcHRoIDIgLXR5cGUgZiAtcHJpbnQgfCBzb3J0IHwgaGVhZCAtNTA7IGR1IC1zaCB0YXJnZXQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjk4MSwib3V0cHV0IjoxNzksImNhY2hlUmVhZCI6Mzk0MjQsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MzAsInRvdGFsVG9rZW5zIjo0MDU4NCwiY29zdCI6eyJpbnB1dCI6MC4wMDQ5MDUwMDAwMDAwMDAwMDA1LCJvdXRwdXQiOjAuMDA1MzcsImNhY2hlUmVhZCI6MC4wMTk3MTIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyOTk4N319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTc1MjU2MCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4M2E0ZmM0ODE5MWFhYzIxMjU5NzJjYWViY2QifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZjJkYjBiYjciLCJwYXJlbnRJZCI6IjM3MWY4OTgzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoyOToyMi41OThaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0VrbjdTbFdZOUJqZUVPZVc0V1JsSFFGN3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg0MTQ0MDQ4MTkxOGY5NWIwYWFmNzU0ZWFhNiIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlBhY2thZ2UgUXQ2Q29yZSB3YXMgbm90IGZvdW5kIGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBwYXRoLlxuUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYFF0NkNvcmUucGMnXG50byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlXG5ObyBwYWNrYWdlICdRdDZDb3JlJyBmb3VuZFxuUGFja2FnZSBRdDZXaWRnZXRzIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG5QZXJoYXBzIHlvdSBzaG91bGQgYWRkIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBgUXQ2V2lkZ2V0cy5wYydcbnRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGVcbk5vIHBhY2thZ2UgJ1F0NldpZGdldHMnIGZvdW5kXG5QYWNrYWdlIFF0NUNvcmUgd2FzIG5vdCBmb3VuZCBpbiB0aGUgcGtnLWNvbmZpZyBzZWFyY2ggcGF0aC5cblBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGBRdDVDb3JlLnBjJ1xudG8gdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZVxuTm8gcGFja2FnZSAnUXQ1Q29yZScgZm91bmRcblBhY2thZ2UgUXQ1V2lkZ2V0cyB3YXMgbm90IGZvdW5kIGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBwYXRoLlxuUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYFF0NVdpZGdldHMucGMnXG50byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlXG5ObyBwYWNrYWdlICdRdDVXaWRnZXRzJyBmb3VuZFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5NzYyNTk4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMzUxMzJmMmMiLCJwYXJlbnRJZCI6ImYyZGIwYmI3IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoyOToyMi41OThaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzY1RDVMUzlkSGdoWlZubUR6VW81T1RxWHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg0MTQ0MjA4MTkxYTNiMTFhNDY0MzQzNGRhZCIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvYWx0LXJvb3Rmcy1pbnN0YWxsZXJcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvYWx0LXJvb3Rmcy1pbnN0YWxsZXIuc3BlY1xuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9BVVRIT1JTXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL0NPUFlJTkdcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvRVhUUkFfT1BUSU9OU1xuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9mdW5jdGlvbnNcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvbG9nXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL1JFQURNRVxuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9zaGVsbC1jb25maWdcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvc2hlbGwtZXJyb3Jcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvc2hlbGwtdGVybWluZm9cbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvU1VQUE9SVEVELUJPQVJEU1xuLi9DYXJnby5sb2NrXG4uL0NhcmdvLnRvbWxcbi4vLmdpdC9DT01NSVRfRURJVE1TR1xuLi8uZ2l0L2NvbmZpZ1xuLi8uZ2l0L2Rlc2NyaXB0aW9uXG4uLy5naXQvSEVBRFxuLi8uZ2l0aWdub3JlXG4uLy5naXQvaW5kZXhcbi4vc3JjL21haW4ucnNcbi4vdGFyZ2V0L0NBQ0hFRElSLlRBR1xuLi90YXJnZXQvLnJ1c3RjX2luZm8uanNvblxuNzQzTVx0dGFyZ2V0XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODk3NjI1OTh9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJhN2ZjNzk1YSIsInBhcmVudElkIjoiMzUxMzJmMmMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjI5OjMyLjIzMFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqRXZhbHVhdGluZyBRdCBiaW5kaW5nIG9wdGlvbnMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODQ1OWJhYzgxOTE4M2Q3MjU0NWQ0OTZiNzAwXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNaExhanpsVUpXNXRPbDRwZTlxOFJYWUJvRktiblI3eDdJNnU4bUdaam9jRGljUjIyOGpGQ3ExeHY1c1lKY1pfQW9GT0NDcVF0a0R0NjB0SkxHT0wyeERFcUhKYldzRVhnWG4wTWNpclhQWmFOSjhWNnR0elFkb04zWGRoZjRtUnh2VUhwY0Nnb2VwWDlIZmdIY095dVFyOFV5VkFmdkY0OUFQUVVNbTFvcWwteW5qQW5IMzF5Yk00akk3RnpoWnNhN3RiZDJ0UjhPYldURXU0WHl5em1vckRwUmpRWVFIZWhnZ0E0WnBWRFlsODFaUGdzUnBPbUUzczhoMnlfMFNkOGpid1NlOWZDYkFuVTIzaG5oWWlnbmpYYXBfa19jeGxLa2NBM2xFSUliZTA2cnY5bV9hX0ZMcnpKTDNZcndlYU1uS29TMkJqNkhwMy1kbUQwWjJKN2hfaExNRjFIaEdqUWgxZG5Kc3kxS1UxSVVKN2lOaFhCYTg0eXBnYUVadkRZYzh5eDR6VWxiNHdfRnNueThxWXVodTdhd1U5am5xeDBhcnItVnpZSE4tZGN3eGVtNWttYVhBa2hhN3NDTW0zMWVBbDk5N1dpb3ZiWGtDT2NuLXV6akRpcjR0d01udGx1RGZtUjRTc3NvVGhPUjRDRS03WVNQRk8taThYYTFua0QwSGZfcjVmclBMcUtzY0tGSFhicFFlYXA1cW5oa3lmOFQ4b0xsTVRGak96cXJRMVNRNm5Bd2VXeFV3NEZycV9ZWEtHQTg5b2ppN2prOW12YjhnUTFQMkJ2aWpIdUJ3bzdpNGQ1UWF1dG5EMHMxelIwb2U0VFlSZ1E2b056ZVJwQ2xOd0JUdU5fT2h3VGJRdmNZVzV1a01ZNVFlSExmNVdLSUI0UDIzbWdoWkxrZmVfZ1pNZkl3cGloSWFXUVJzcEZTUklqZGNvSjlfeHdHYXg4a0p4MGtBRDlFQlllbTVWVEdaQklJdXd1SXhxa3V3UnVyTFZrMjR5ZnRKTWNNWFVkRUFTSkZSeUwxamZtdDFYaTNTRUt3TDUtWmFPcVRPNVJFdkJlcTNGQ21LVnZyMFREbmc0YVBWNEdRODNkNE84UW9nbjRJYmV4NGFfa0xkOTRnRjJsOTVCM1ZReUpuQ0xwRXB5WVhOY1hnYXc0bEJmSllOaWFsT1luSXdZMmRGQUdwTC0wZUpLdlZFRUtnV1JUYWNfOGJIc2JlRksyeDJFMmZMS3pyNE05LU1UNlZNN1Z4T2FIU05kM2s4VXNnRlE3Qm80V2dCMV9Ubzl6QXoxeGs1Q3R4OEw1Q3R3LXNRVkpoVDdPcXRIclJCX2p0dWYxaFB1QzV5NTFPbFZBYUFONF9XQ3NSRG9tQ1FTRlZId1Y2RU9lRFhlNmJ5dVFncjhZRDUwanNHdGRyRmp2ODJtaGFkeGdJSHhkYURJR2NpZjZrTk5sVnlaMGVteV80Y2hGWlNOYnM3VEk3cFk0em5xTUc4UFQ2M2xCc2N6VzBsdWtweWw0UEhBc2w0SjNpcmd6WFVuMzhmRVVqbjhHOVB0MXJaZkV0ZlJvWm9fSFBhbkxhRUFwR1pWREZXNmU3aGZFS0RxclRoQWs3SWM1N2NRcm0td2dWa2FJSG1CbFltaXRQNjYwX0pQaHlWSkJSMlhScDhBMDVyQXZOXy1fQkZnbDlfeTBMZUV5M2hjcGhUWUNTcGc3Qk0tbXhLdEI3NmdZb1FYajlDbWktd3hJVzR6eGpISVNCSWlWc20yUi1wdzZFM1NUeW1TUXh4VGFSb2VRcWZ3VS13d1ZvSkM0elp6YVVsVVA3SE9DaXJ0MGhJVFpkUTlwaVRDUVc5MDZPOUpmekx6MFdJSFQtRmJTMm5JYnBCbG40dHkyRjFQQnRwRWt1RXkwSU1fZklNVFB2UURiaFZlQ0JZTFlPVjBabFdILXd6UTJIOGNCeTBtdk9qcS01emJ5WUcxemd1dFE2dFdtaE83MWpVeUFfcngzTnN5TDR4RGJSbXlpYkJCVE5BMlRzcVRkZkJQQTVHQlhaTzhlZ0JjaWlvVUxTMHk2SEhoeW9EXzkzeVJnb3h1Y0Y1Yk1rWHN3dHdJVGRobExYRDFVZGFwclVuTnM0bTFPdlRuTFBTa1Z3a1hzWjd4NHpLTkJDRHJXUkV4UXhkdEpJOVY4dXFmMGNLZW9WVHlRYVhObEtMSWFLQlUzcllRVTRFUGpPYnkxbWY4NFgwZzVVVTNwcUYzN2g4eVE9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqRXZhbHVhdGluZyBRdCBiaW5kaW5nIG9wdGlvbnMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfUHlwTnFPVUEyMzB4ekJ5cTBkMHowT3NVfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODRiODM3YzgxOTE4YmM2NDMwNGFhMTQwMmE5IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIHNlYXJjaCBxbWV0YW9iamVjdCAtLWxpbWl0IDU7IGNhcmdvIGluZm8gcW1ldGFvYmplY3QgMj4vZGV2L251bGwgfCBoZWFkIC04MDsgY2FyZ28gc2VhcmNoIGN4eC1xdCAtLWxpbWl0IDUiLCJ0aW1lb3V0IjoxMjB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTU1Nywib3V0cHV0IjoxOTgsImNhY2hlUmVhZCI6Mzk0MjQsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTQwLCJ0b3RhbFRva2VucyI6NDExNzksImNvc3QiOnsiaW5wdXQiOjAuMDA3Nzg1LCJvdXRwdXQiOjAuMDA1OTQsImNhY2hlUmVhZCI6MC4wMTk3MTIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAzMzQzN319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTc2MjU5OSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4NDQxOWQ0ODE5MWIyMTc0NTE1MWUwNmE0NzMifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZWFjNzhhNWIiLCJwYXJlbnRJZCI6ImE3ZmM3OTVhIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoyOTozNy45NzNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1B5cE5xT1VBMjMweHpCeXEwZDB6ME9zVXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg0YjgzN2M4MTkxOGJjNjQzMDRhYTE0MDJhOSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6InFtZXRhb2JqZWN0ID0gXCIwLjIuMTBcIiAgICAgICAgICMgRXhwb3NlIHJ1c3Qgb2JqZWN0IHRvIFF0IGFuZCBRTUwuXG5xbWV0YW9iamVjdF9pbXBsID0gXCIwLjIuMTBcIiAgICAjIEN1c3RvbSBkZXJpdmUgZm9yIHRoZSBxbWV0YW9iamVjdCBjcmF0ZS5cbmtpMThuID0gXCIxLjIuMFwiICAgICAgICAgICAgICAgICMgQSBjcmF0ZSB0byB1c2UgS0Y1STE4biBmcm9tIHJ1c3QuXG5xdHJhbnNsYXRpb24gPSBcIjAuMS43XCIgICAgICAgICAjIEEgbWluaW1hbGlzdCB0cmFuc2xhdGlvbiBzeXN0ZW0gYmFzZWQgb24ganNvbiBmb3IgcW1ldGFvYmplY3RcbnF0dHlwZXMgPSBcIjAuMi4xMlwiICAgICAgICAgICAgICMgTWFudWFsbHkgbWFpbnRhaW5lZCBidWlsZGluZ3MgZm9yIFF0IHZhbHVlIHR5cGVzXG4uLi4gYW5kIDQgY3JhdGVzIG1vcmUgKHVzZSAtLWxpbWl0IE4gdG8gc2VlIG1vcmUpXG5ub3RlOiB0byBsZWFybiBtb3JlIGFib3V0IGEgcGFja2FnZSwgcnVuIGBjYXJnbyBpbmZvIDxuYW1lPmBcbnFtZXRhb2JqZWN0ICNRdCAjUU1MICNRTWV0YU9iamVjdFxuRXhwb3NlIHJ1c3Qgb2JqZWN0IHRvIFF0IGFuZCBRTUwuXG52ZXJzaW9uOiAwLjIuMTBcbmxpY2Vuc2U6IE1JVFxucnVzdC12ZXJzaW9uOiB1bmtub3duXG5kb2N1bWVudGF0aW9uOiBodHRwczovL2RvY3MucnMvcW1ldGFvYmplY3QvMC4yLjEwXG5yZXBvc2l0b3J5OiBodHRwczovL2dpdGh1Yi5jb20vd29ib3EvcW1ldGFvYmplY3QtcnNcbmNyYXRlcy5pbzogaHR0cHM6Ly9jcmF0ZXMuaW8vY3JhdGVzL3FtZXRhb2JqZWN0LzAuMi4xMFxuZmVhdHVyZXM6XG4gK2RlZmF1bHQgICAgICAgICAgPSBbbG9nXVxuICBsb2cgICAgICAgICAgICAgID0gW2RlcDpsb2ddXG4gIGNocm9ub19xZGF0ZXRpbWUgPSBbcXR0eXBlcy9jaHJvbm9dXG4gIHdlYmVuZ2luZSAgICAgICAgPSBbcXR0eXBlcy9xdHdlYmVuZ2luZV1cbmN4eC1xdCA9IFwiMC45LjFcIiAgICAgICAgICAjIFNhZmUgaW50ZXJvcCBiZXR3ZWVuIFJ1c3QgYW5kIFF0XG5rdXNoaSA9IFwiMC4xLjBcIiAgICAgICAgICAgIyBCdWlsZC10aW1lIGJvaWxlcnBsYXRlIGdlbmVyYXRvciBmb3IgY3h4LXF0IGJyaWRnZXMuIERlY2xhcmUgcXByb3BlcnRpZXMgYW5kIGxpc3QtbW9kZWwgcm9sZXMgb25jZSBpbuKAplxuY3h4LXF0LWJ1aWxkID0gXCIwLjkuMVwiICAgICMgSGVscGVycyBmb3IgaW50ZWdyYXRpbmcgYGN4eC1xdGAgY3JhdGUgaW50byBhIENhcmdvIGJ1aWxkXG5jeHgtcXQtZ2VuID0gXCIwLjkuMVwiICAgICAgIyBDb2RlIGdlbmVyYXRpb24gZm9yIGludGVncmF0aW5nIGBjeHgtcXRgIGludG8gaGlnaGVyIGxldmVsIHRvb2xzXG5jeHgtcXQtbGliID0gXCIwLjkuMVwiICAgICAgIyBRdCB0eXBlcyBmb3IgaW50ZWdyYXRpbmcgYGN4eC1xdGAgY3JhdGUgd2l0aCBgY3h4YFxuLi4uIGFuZCAxNSBjcmF0ZXMgbW9yZSAodXNlIC0tbGltaXQgTiB0byBzZWUgbW9yZSlcbm5vdGU6IHRvIGxlYXJuIG1vcmUgYWJvdXQgYSBwYWNrYWdlLCBydW4gYGNhcmdvIGluZm8gPG5hbWU+YFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5Nzc3OTczfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMGYxNGM3ZTIiLCJwYXJlbnRJZCI6ImVhYzc4YTViIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDowMy4wNDBaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIFFNTC1SdXN0IGRhdGEgaW50ZWdyYXRpb24qKlxuXG4qKkRlc2lnbmluZyBRTUwgYmFja2VuZCBwcm9wZXJ0aWVzIGFuZCBVSSoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4NTNkZGEwODE5MTllNDY3ZmQ3NDg1NGM2YmZcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1oajF3dlVHM2kxLUJlY0hPRGstNTRqeENoT1hoaThSTi0tdU5xQ0E1UnluTnNwREY5UHlKNTFjQ1NyenczSzllUmdLcTFBck5DOUd0WjNTbW8zczVhZzdfZVY5VXU0MWp5Ni1BeWUzZDRWcDNPelktaUFTOFZ5dHVrSHdyeXlJVzRYMmdLZGtzdEs2dld3YWZGV213QzdIVGNNcTdXYVdOUjhjUWlMSzNRWGcyTHpOdTZVMTlkRENuUmRHaVo2Vk9aMlQ5cWx0ZXYwYUkxMUJYaVZEVi1GWE5DbmNkWmZPQzQ5NW1GQ291eFFHSEllS1QtdzdQOXhXdTdweHk1a0hXZWJfRENlenMxQ19JbEtDcWVaU1NuZ0hjUTM2YnJKZ3Uxc2ZPRlNPbU44NG9TemZFVXlLd3dBbk9jODFSalJGZEZoRzRFcXJTR0hMTEJQT2pyZm5wS2drbFJBdy1wdmFYaHZuaFhjQzB5YkFLODA0cXlWZ3ZEbkwyM2taMmk3UDBIUDNweVVmOUhkbG9TYUJwRXNGLTZqLTFaLXQ0YXRJLU9kLWEzMHZCR1JFeFZLVHd2V3VZQjNqVjdialljX1hYOUlkQmV4ZFlwNFFlRDZGX3Y0dGZwM1hTS0pWOXpiTThVU1VBQlBON1ZlUFhlVjN6WEUxWHFLR0ZLNGF1aF9sYmVkejVEbW9yVGw5dGpQMUstcDlXTTZoMGdwV0FGLVphTi1JMUxQTEZEMXkwVkw3c0k2ekdBQ0NtejhaZnR3dVNIWXA4Rmhtb2p0YlpOUm5UT3hyWHV2N0ZqMUd4aWRJNDBvTkRiTzJybG9zc0RQa2hIQXJOSUhxTmJmTldCZXVkYzFqb2xibnRLeV9NT3IwaFVob1NDVE1SNEF1MjdaNU0zblZJTmY4SVJPV0dTdE5ZdGVydnhNNGFHWGZLNVM2R3A5aUl5RklXdTRUdHc5VUUtUWxMWjg0S3JDVUhHTUFYV1RxRng0V0hRN0haaGE3YS01ZUw2ckczMmN4RFpWaUwyblpnVmpZbEp2WHlncDFRQWdjQmhyNWdoU0RkNjg2Mkg1RGduQURWaU9xYUpCUDZXeXVyZHV2ZzhKRFpnM05maG9Sc2dhenRJdUxYT0FpNndFZ01MSktMaWRuWmZrV1U3SHNvZWlCdWpuNjZWeVkzRlFNaDVtbnFrTGNGYjFIUVo0RXR3NmVBTnVWemstZVlvajVIa1JpcVRrQm9YYlhlc1V6ckdkV3lSZ2JsN3lBSUxvYjNqWThyVFlmVVJidnFjdGRPMEFaRUpwMXp1a250S0pCd1VVNXBsTzdGS1J0SDBaOTVwZXV5RXg2c0JaQWhVZFhqRnhyeFR3N18wcXZ5akZCamd4V3kyYS00ZHlGd1ZsUUxMUXZvWWZaN1gyVlplZmRVYWxSR1pYSWRYTENaOFJqOU9zcXdtWUViOEhTR2FHM3lfbGFIZnRpck12TW9LZVp2X1pMLWI1ckk4b0ZPOXkwbDkxeEgyay1FZm1hZG01N1BCbm5ZU09oMUhBeUIwYUlmQ01SeThwX1Q3UUQyZEpld2VxM3JiTExZaUdYdmdZOHAxSDMweDE4QjVKeFl1c1puTFYtcElUMU9XYTRBMXJiRVdqTDYyNUpXeVpOdTBRZHhSTHVfV2l0eFp0ajl2ZEFpTnd1V0hSOHozdDUtdE5lZDN4dE9pT3NoTExRdFFHV1A3S3hndURYVmluSFNUaHU2c0o0LUFnckJoTm1jSXRpZU9zVFNCdzFpUWtEdXVhM0RTNWM2ZWhwRnh0YXpkTk5HbWpqSmRQUEMzTG5iU00zdWR2c1RtX0RMTkRTU2UycUI5YW1kcGlMVW9WR3JGNlJOa1NnQnZ6dHBXTDdMOTN6R0FWRGlUcGpub19yM2ZBNk1WdHNrZmx2QVEwMWQ2VnduNk52bVREQmtrTlJlNWNXUm1BcjVzMUJsS0QyZkdfVkNONDY1bkhKLTNzSnhjTTdPWXlEZXdtLTJqSXFRN1RYUV85aVF1RXNGa2lETTdlYTc4UlB1M1FrenZnV3V0Q1NjOFBjX3NKWjZqT3R0NE0xXy1Wa1Z0OVBGT1RoTEhfSk9KblBEdHc0d2ZMbmlyak1vY2hpR1VHNjJabkRFMENoZkdIUjE5bWtIUWgyb3h1M2tFN0ZUSUJmRDBBOGs3aGNzaUU0NWV4UEpXaE9MenlmYjZCR1FRNXdodlFINi04OEZib3loMkRZTG1DSWk4cTdFa244bTNRTGdWWmdKejFJYWR4OTVxWmNoZDd2ZG45T09jZjBaTEowNWRkczNLdVhFa3V2djhKMHQybFl5YmxlbG9Yc0x1cndxbENsMEgxUVVxa3ZkQ05NT1pwUEJFLXBRc0tZbXNwTDBuNGl5OWJvZDFiR1VMU0V5Uy1DZ1EyNFpCT2tKaWpVY2lMTUFMM3RENC1KX1VYQUxwZWJLUlZidFFBTjFROUw1RFJiWllDdE5DRm91VXlwbkZ0ZXJyZG94dTBFV0ZrR2xoaHZXbVVtc1hjTzQ0UWdZWko5cmZiSENfcWxYcUxCcU9mM2Jsb3BlV2xTZGdIMWZtS0JJYU1SSlhSQ0VGaHhuRkQ3dHozc2hHYWwwaEp2N2FaVlFKaFJCbjlUdFFIdzZGQ3BqODdLUlhvaTNXLVk1NnpCNWFzbE03X0ZXcnRCcl9pU0IwZXVIVzFVQmFkcFEyTEpOdDNRTlVWb0xQS3NwUmlxLWhfOFdsbDFRcE1TX0Eyb2lxNUpmaWFqNGtyM3hZZUVEeTdTMWUxeU5mTC1QY19CY0pfaS1adzNfSFFYQUFWU0UzdVRpakdQRlp4eHlxcmpnYWJTWWNtcTRmUkZ5ZzhTWW5oUW1CZmtNZTRRQlRIM3g3Z1JoS2ZyYkhES2RzMDNFeHU4T3BKVDgzaElqWGJxcnJfcy0tWW1xZkIzZmtfTHczNkFTLUN4aUtocjJsaHNrVUlkQkx1Ykt2eXRlOVhLQ3IzQUpEbDJDWVdTMnQ4cU9vMm9Pa0RvVTNrYlFEUDZQX29VNkFSaU56TGxPd3dOeTBpY1p5M2pYWHdqWWs4bWE3ckUtZTdSVkRBSFV1dXVlZWppTGcxX3lINTlDd2REM2Zkd2t6R0hYMnFUSkU2MEFXQ1dXVlZKODRNV3gzd040MGRSSkpoajJuYkktMmRoRzRVRU9iWkNnQ19YSTVxeDhLd2o3Z1dPUXd6cVV5bXhtVkt6U2k1NmhFMVhiRzE1LTdSY2FGR1FNOTFUOE5SUHZmdXNTZUVCOU9JbkFlYmhWOURLcVRYNFkzcS1oUmZuT3FNNHdhOGdKMXI4dXlhMzl3RVpUTjFES2JwVnBFZXpVOHRuZTdPQ29LcXpTU05qcW1VOTAzektoSzk3bHZnRWdETHRScGJfeVhRbFlwYU5pMERYekhqLUdQV1c4WWotSDZzOUlIMzBCVXpvM0NUT3NvZHpPRThKMnFMNHdHWTZCLUUxMVk1X0NUdmJWcHBfSjljMVgzQk5oN2ZnemdOUFdtSTBzN3VDdGJYcDRQeGsyNWtwWkZNUlZjbUQxVG1kczgtSDVXS255OGJKcndBSWo1RDB4eXNoTkVXMGtHcnY3ckpyYXhHOXBqTXBfNVhWcUZGRGtmajlFRm1RSlhVRm83QzZ2RkpSb3FsNTdBS0NGTGxjRTM1WlpaRFBpV0hwYWw4RUthcE8zZEhhcHN2TG40NlptYjcyT0xGRjd3Y1lySVBHZzVpY2NhMUs0bnFDdDI0VHZDeXRGeFFLSXdLQ25UaVU2dk5XellybzExd0pGM2NFaWhGVUZoMUhoa0JoUUhUWS1teWhLcmZ4VTBtb0ZuT3ljU0FrcERNYkFTb2haVHRPajJJZlBsR3NVSVZ4X1dyRlgyOWs3VWNVcVMzVXNWWlpNbXUybGFQNDlKZkNHQ0hLVldtX3RvWVI2alNsTlExMXVoSW1yVVZBQXJoYVpMTWJYSGNwckNHVEVOSzBxbkxNNE5zMFdEWFl4YkdPQjByREJtZWExQWROT0pOLUxyWmVZZndiVzRGRDVDTTc4REVvYjI3dnRWT3NIdWN0QVdNV2I3Nk15RlVfalN0cE5aU21ZcnJRUGkzWTBDY2k5RFpVNk9oTjB1YThEbXFSV2x4UlZ0V3paalBDSzN6WC1zd19QQmJuZGxpQkRzSHpRTmFCOWVoNnc4V1BQZS1RaTR3REdxanZqTWhTeGM5dzhNUnV3YTAweWtaMF85ZS1SbWQtMzNuQ1k1WjdDZWRNaENidnluQ2VrUHZoUGJDX0NqR2lyUHJMQ0d5aDVZWV9ld2h1VG1rOUlCaHFvQy16c1NjUlQxUWJNeExNdVVIRGoxNWZsVHF4TW4wU0h6Wlp4dzRYXzd3Vk1yaml1OC12TTFnT0xMUHE3RUpMTEJfMnZYdnp6Y3Y0UnI5TWhLdkpZa1JGSXJKdG00eWJnQUFqbkxRMWpqOEIwSzF0NzJVdmxRN2RpU0tTZnJGbTdLaEtaUmpUYWpDY2FxaGREZlF6bHhhaGtDZ21MMW82eXJXb0wtXy01MThnM0I3SzBxMkR6NThqd0JvMnVDMUFvUTEweDR1QkxlMUdqc19tZGdEZUFJeUhSVkVZRVEyU1JCYlJHbGNpNlJLc19zQS1TeUFkbEVET2tUS2JUMDZuYjRMM2YyOE9yVVZBVHlzUnRtVnB3ZjNtUHVwMmhlMktvZVRwT0FmWnJISDVXSFgyUVVzWGxCVnU4Z0RIMHc0bGlWdmMzQmZtZ3BvOWdFdVptM05JMURmTDMzeEhpbXcxa0FXOUlFYUlJMGFxdkJLZ000ZDBGUUJLR1haQ09oMmNaa0tCRzRGUHAtY0Nzd1IxVWh1d2VXUUFuVWwxbG1FbUxsRHg1cmhBemZDdjJsSWowcXhtOXNYMnJ4dC00WFZVRDYwdjg4SEFsS2xxazNaOWtCTHh0eUFuQWJENmpYMTZYRXprU3RMSF9QLTJPR0F3NEFVMVEzSlFzY0pScTZFNVd5c1dTaVRlcEczSDRsVXpYczFhbVl3bjZIVjI2WDJhc3V2R19lY25lLUhYQ2RmMG01blFSc3R0S2NhOVM0YTFqQzNsN3h6VFpyZUo1cFNTMi1KUkc4NjdZRlNsUU1vNWxvNGdrYk1XcW1VVTl6RktFZzFia0x2VmVhcHd3eVJmTHJqVHJFWTBWZkp3VFcxVERpZ1BvcE4tWDd6YlFJc2NSbl8yc3NfY19lTEZRTUg5blFyVWhyeUJEZUR4ZlpQc2hTX2pqTVhfWHZ4WlVYVkIzS21Pc09xLUxKdEoxcWRTYWVkX0NfR0tTekJyZz09XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBRTUwtUnVzdCBkYXRhIGludGVncmF0aW9uKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkRlc2lnbmluZyBRTUwgYmFja2VuZCBwcm9wZXJ0aWVzIGFuZCBVSSoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9hR3FmUVdnOXhtcG5rVDFLTThuS1BZeFN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4NjNiMGFjODE5MWEzYzJlZTdhMDNiZWI0ZjYiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoibWtkaXIgLXAgY3JhdGVzL2ZsYXNoZXItZ3RrL3NyYyBjcmF0ZXMvZmxhc2hlci1xdC9zcmMgY3JhdGVzL2ZsYXNoZXItcXQvcW1sICYmIG12IHNyYy9tYWluLnJzIGNyYXRlcy9mbGFzaGVyLWd0ay9zcmMvbWFpbi5ycyAmJiBybWRpciBzcmNcbmNhdCA+IENhcmdvLnRvbWwgPDwnRU9GJ1xuW3dvcmtzcGFjZV1cbm1lbWJlcnMgPSBbXCJjcmF0ZXMvZmxhc2hlci1ndGtcIiwgXCJjcmF0ZXMvZmxhc2hlci1xdFwiXVxuZGVmYXVsdC1tZW1iZXJzID0gW1wiY3JhdGVzL2ZsYXNoZXItZ3RrXCJdXG5yZXNvbHZlciA9IFwiM1wiXG5FT0ZcbmNhdCA+IGNyYXRlcy9mbGFzaGVyLWd0ay9DYXJnby50b21sIDw8J0VPRidcbltwYWNrYWdlXVxubmFtZSA9IFwiZmxhc2hlci1ndGtcIlxudmVyc2lvbiA9IFwiMC4xLjBcIlxuZWRpdGlvbiA9IFwiMjAyNFwiXG5kZXNjcmlwdGlvbiA9IFwiQW4gQWR3YWl0YSBHVEsgaW50ZXJmYWNlIGZvciBwcmVwYXJpbmcgQUxUIExpbnV4IFNCQyBpbWFnZXNcIlxubGljZW5zZSA9IFwiR1BMLTIuMC1vci1sYXRlclwiXG5cbltkZXBlbmRlbmNpZXNdXG5hZHcgPSB7IHBhY2thZ2UgPSBcImxpYmFkd2FpdGFcIiwgdmVyc2lvbiA9IFwiMC44XCIsIGZlYXR1cmVzID0gW1widjFfNVwiXSB9XG5ndGsgPSB7IHBhY2thZ2UgPSBcImd0azRcIiwgdmVyc2lvbiA9IFwiMC4xMFwiLCBmZWF0dXJlcyA9IFtcInY0XzEwXCJdIH1cbkVPRlxuY2F0ID4gY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbCA8PCdFT0YnXG5bcGFja2FnZV1cbm5hbWUgPSBcImZsYXNoZXItcXRcIlxudmVyc2lvbiA9IFwiMC4xLjBcIlxuZWRpdGlvbiA9IFwiMjAyNFwiXG5kZXNjcmlwdGlvbiA9IFwiQSBRdCBpbnRlcmZhY2UgZm9yIHByZXBhcmluZyBBTFQgTGludXggU0JDIGltYWdlc1wiXG5saWNlbnNlID0gXCJHUEwtMi4wLW9yLWxhdGVyXCJcblxuW2RlcGVuZGVuY2llc11cbnFtZXRhb2JqZWN0ID0gXCIwLjIuMTBcIlxuRU9GXG4jIGFkanVzdCByZWxvY2F0ZWQgaW5jbHVkZSBwYXRoXG5weXRob24zIC0gPDwnUFknXG5wPSdjcmF0ZXMvZmxhc2hlci1ndGsvc3JjL21haW4ucnMnXG5zPW9wZW4ocCkucmVhZCgpLnJlcGxhY2UoJ2luY2x1ZGVfc3RyIShcIi4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL1NVUFBPUlRFRC1CT0FSRFNcIiknLCAnaW5jbHVkZV9zdHIhKFwiLi4vLi4vLi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvU1VQUE9SVEVELUJPQVJEU1wiKScpXG5vcGVuKHAsJ3cnKS53cml0ZShzKVxuUFlcbmNhcmdvIGZldGNoIiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEyMDEsIm91dHB1dCI6OTE1LCJjYWNoZVJlYWQiOjQwNDQ4LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjQ3OSwidG90YWxUb2tlbnMiOjQyNTY0LCJjb3N0Ijp7ImlucHV0IjowLjAwNjAwNTAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAyNzQ1MDAwMDAwMDAwMDAwMiwiY2FjaGVSZWFkIjowLjAyMDIyNCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDUzNjc5MDAwMDAwMDAwMDA0fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg5Nzc3OTc1LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg1MjhmNDA4MTkxYWI2ZGUwNDk3ZDYyNWQ2YyJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJiYWU2MWIxOCIsInBhcmVudElkIjoiMGYxNGM3ZTIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMwOjAzLjA3NloiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfYUdxZlFXZzl4bXBua1QxS004bktQWXhTfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODYzYjBhYzgxOTFhM2MyZWU3YTAzYmViNGY2IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiZXJyb3I6IGZhaWxlZCB0byBsb2FkIG1hbmlmZXN0IGZvciB3b3Jrc3BhY2UgbWVtYmVyIGAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL2NyYXRlcy9mbGFzaGVyLXF0YFxucmVmZXJlbmNlZCBieSB3b3Jrc3BhY2UgYXQgYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvQ2FyZ28udG9tbGBcblxuQ2F1c2VkIGJ5OlxuICBmYWlsZWQgdG8gcGFyc2UgbWFuaWZlc3QgYXQgYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbGBcblxuQ2F1c2VkIGJ5OlxuICBubyB0YXJnZXRzIHNwZWNpZmllZCBpbiB0aGUgbWFuaWZlc3RcbiAgZWl0aGVyIHNyYy9saWIucnMsIHNyYy9tYWluLnJzLCBhIFtsaWJdIHNlY3Rpb24sIG9yIFtbYmluXV0gc2VjdGlvbiBtdXN0IGJlIHByZXNlbnRcblxuXG5Db21tYW5kIGV4aXRlZCB3aXRoIGNvZGUgMTAxIn1dLCJkZXRhaWxzIjp7fSwiaXNFcnJvciI6dHJ1ZSwidGltZXN0YW1wIjoxNzg0OTg5ODAzMDc2fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNjE0ODVmNjEiLCJwYXJlbnRJZCI6ImJhZTYxYjE4IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDowNS42MDJaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkNyZWF0aW5nIHBsYWNlaG9sZGVyIGFuZCBmZXRjaGluZyBpbnNwZWN0IGV4YW1wbGVzKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg2Y2E1OTg4MTkxODhmMGYxMmY3NWNmMzQxYlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWh0XzlBZmhKMHpzNlA4Z3ZEdXREaGJuM1VoU091NW5MczdscDZjc0dHUVhaY19MQW1vdEtVakl2d1V3WFB4N3d5MGtUanN1OGhCRTNJNW5HN1VxNzBoN1RyTkxsZW1oejJ6MFo4VUphV1ZlYXFFcVloY2VfTXJpeHgyV2lTcGQ3RnVJNGU3NlNmaVZlSUhIcHhFTlkyMVJYTjVoQ0J3WEpGWVJUekU4dFFiSUdzUlJ2MDh4dDR2WDlZbFc5YmRrM2lLNUJVTlp0ellhNndDUEpMbDQwODFub0VBa1RjR3VGaXNMU3plUENHX1NIWWkwS3pBSzFkWEJtd2VtekhteGJRZ2kwRFBDQ0M2UHlLZHpCbHA3LWlNYzB6cEVzUmMtcnI2UEZpR1VhMUU2TTcyenNUVUlGTTJqOWh1SkFYcFN2c2owOUFiRVAxVEpMUl9vU1V0bndZbEJEUUF3RUIwd1hBa0F2dWc4Nkgtd25JUGl5b3kxbHBlaVRrUHRjWmNaTXFPcGlhTnVLeEhZcmhEeFp2Wlp4enA4YWt2SXJ1Y1BmWkRRa1o0eEVRQUcxX3NLV2VsWlpiNFBRdnFTemFIZFBvM0swZEx3YlNJY094LWpJSjlKZzFrTXRYVElTc3lJbEJ4N2hWSmNTT2dhVklEdENtTGZoYWRwNUE1TzlNakVlTmdNTGRZRmVZTS1nckJRYVl1aF93VEtYZGxSeHNsSmZCUU16cjEzWXctNGVtNEJMV0hjQm1fempRWmdsaGhPaWg4c1prQnFDWVdtNDV6QlM3NWdfcjZnTDZYdUk2b3o5Y0QtaWhlbGZFZTJQOVRod2EwUjVMU2Fua2txa1JkTzlmenNrbXYzNlB1b1paQ0NyTHRfUUx2ZGdYWE83S2FTb2xNMHdWU2hHVTEtc0FBQ1hvdHFiOUxHYWV2T2tNV3R6Mm8tX2NHZ1lUakdsdTlWMDlWeUdVSVNMei03ZG1qR1JYX2d4dnNGdXI4R1U4aXNucy1sUGsxaHJ3cmRpUHhZZGlOWVRUcFVlVUdsS1JNWnFnYzNxMlo1dDhCaXU0TndQeEZiMVJDZXo5OUl4bHVKYkxVSWZzZDVFMHl3Yk9qQ1A4WW1aUDhxeVJIZzdpTlpRM1FMam15Q3NSdUxyU2Q5enNIWTNCV1FtRkxwQjRzTTBPdGcwNlhUT2VDWGRIVTVNZkh0d3dsLWQ5UHBqSjVzWGlfX3h5aUNuVEliMmxBaFlHdU83VU1Lc1U2d1hVdzNRcEtwNC1BYkRvMzNvdXN1Q1A1Y251UlR2WmJWUEF2X2JxYXFRaE5VTEVNN3VDVjk1d0cyaVJhY1FnV0ptQT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkNyZWF0aW5nIHBsYWNlaG9sZGVyIGFuZCBmZXRjaGluZyBpbnNwZWN0IGV4YW1wbGVzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX3ZLQUZPaERJN2VSZ1FMVDRFb216eGFYdHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg2ZDJkNjA4MTkxYmZmNzBmM2NhMmM4NWMxYiIsIm5hbWUiOiJ3cml0ZSIsImFyZ3VtZW50cyI6eyJwYXRoIjoiY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnMiLCJjb250ZW50IjoiZm4gbWFpbigpIHt9XG4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEyMjAsIm91dHB1dCI6NDcsImNhY2hlUmVhZCI6NDE0NzIsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTIsInRvdGFsVG9rZW5zIjo0MjczOSwiY29zdCI6eyJpbnB1dCI6MC4wMDYxLCJvdXRwdXQiOjAuMDAxNDEsImNhY2hlUmVhZCI6MC4wMjA3MzU5OTk5OTk5OTk5OTcsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyODI0NTk5OTk5OTk5OTk5N319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTgwMzA3OCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4NmI2NzU0ODE5MTgzMDNkMjEzZTIyZjY2ZjkifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNDRjOWYzODMiLCJwYXJlbnRJZCI6IjYxNDg1ZjYxIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDowNS42MDNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX3ZLQUZPaERJN2VSZ1FMVDRFb216eGFYdHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg2ZDJkNjA4MTkxYmZmNzBmM2NhMmM4NWMxYiIsInRvb2xOYW1lIjoid3JpdGUiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgd3JvdGUgMTMgYnl0ZXMgdG8gY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnMifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODk4MDU2MDN9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4NTk3MzRlMiIsInBhcmVudElkIjoiNDRjOWYzODMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMwOjA5LjM2NloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfT0xrckJJdkdBVXpDOVlPZlFBRlBMbEFOfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODcwNGM4MDgxOTFhNmQ4MjU4MTViZTM4ZWNlIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGZldGNoICYmIGZpbmQgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjIC1wYXRoICcqcW1ldGFvYmplY3QtMC4yLjEwL2V4YW1wbGVzLyonIC10eXBlIGYgfCBoZWFkIC0yMCIsInRpbWVvdXQiOjEyMH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyNjcsIm91dHB1dCI6NTUsImNhY2hlUmVhZCI6NDI0OTYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MCwidG90YWxUb2tlbnMiOjQyODE4LCJjb3N0Ijp7ImlucHV0IjowLjAwMTMzNSwib3V0cHV0IjowLjAwMTY1LCJjYWNoZVJlYWQiOjAuMDIxMjQ4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMjQyMzI5OTk5OTk5OTk5OTh9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODk4MDU2MDUsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODZlMDgwYzgxOTFiYTY0OTA1ZjIyMDY3NjE5In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjRhZTU1ZmNjIiwicGFyZW50SWQiOiI4NTk3MzRlMiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzA6MTcuMjcyWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9PTGtyQkl2R0FVekM5WU9mUUFGUExsQU58ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4NzA0YzgwODE5MWE2ZDgyNTgxNWJlMzhlY2UiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgVXBkYXRpbmcgY3JhdGVzLmlvIGluZGV4XG4gICAgIExvY2tpbmcgMTkgcGFja2FnZXMgdG8gbGF0ZXN0IFJ1c3QgMS45Ni4wIGNvbXBhdGlibGUgdmVyc2lvbnNcbiAgICAgIEFkZGluZyBhaG8tY29yYXNpY2sgdjEuMS40XG4gICAgICBBZGRpbmcgYnl0ZW9yZGVyIHYxLjUuMFxuICAgICAgQWRkaW5nIGNjIHYxLjQuMFxuICAgICAgQWRkaW5nIGNwcCB2MC41LjExXG4gICAgICBBZGRpbmcgY3BwX2J1aWxkIHYwLjUuMTFcbiAgICAgIEFkZGluZyBjcHBfY29tbW9uIHYwLjUuMTFcbiAgICAgIEFkZGluZyBjcHBfbWFjcm9zIHYwLjUuMTFcbiAgICAgIEFkZGluZyBmaW5kLW1zdmMtdG9vbHMgdjAuMS45XG4gICAgICBBZGRpbmcgbGF6eV9zdGF0aWMgdjEuNS4wXG4gICAgICBBZGRpbmcgbG9nIHYwLjQuMzNcbiAgICAgIEFkZGluZyBxbWV0YW9iamVjdCB2MC4yLjEwXG4gICAgICBBZGRpbmcgcW1ldGFvYmplY3RfaW1wbCB2MC4yLjEwXG4gICAgICBBZGRpbmcgcXR0eXBlcyB2MC4yLjEyXG4gICAgICBBZGRpbmcgcmVnZXggdjEuMTMuMVxuICAgICAgQWRkaW5nIHJlZ2V4LWF1dG9tYXRhIHYwLjQuMTZcbiAgICAgIEFkZGluZyByZWdleC1zeW50YXggdjAuOC4xMVxuICAgICAgQWRkaW5nIHNobGV4IHYyLjAuMVxuICAgICAgQWRkaW5nIHN5biB2MS4wLjEwOVxuICAgICAgQWRkaW5nIHVuaWNvZGUteGlkIHYwLjIuNlxuIERvd25sb2FkaW5nIGNyYXRlcyAuLi5cbiAgRG93bmxvYWRlZCBzZXJkZV9kZXJpdmUgdjEuMC4yMjlcbiAgRG93bmxvYWRlZCBzaGxleCB2Mi4wLjFcbiAgRG93bmxvYWRlZCBsb2cgdjAuNC4zM1xuICBEb3dubG9hZGVkIGNjIHYxLjQuMFxuICBEb3dubG9hZGVkIHJlZ2V4IHYxLjEzLjFcbiAgRG93bmxvYWRlZCBzeW4gdjMuMC4zXG4gIERvd25sb2FkZWQgcmVnZXgtc3ludGF4IHYwLjguMTFcbiAgRG93bmxvYWRlZCBxbWV0YW9iamVjdF9pbXBsIHYwLjIuMTBcbiAgRG93bmxvYWRlZCBxdHR5cGVzIHYwLjIuMTJcbiAgRG93bmxvYWRlZCBjcHBfbWFjcm9zIHYwLjUuMTFcbiAgRG93bmxvYWRlZCBjcHAgdjAuNS4xMVxuICBEb3dubG9hZGVkIGNwcF9jb21tb24gdjAuNS4xMVxuICBEb3dubG9hZGVkIHJlZ2V4LWF1dG9tYXRhIHYwLjQuMTZcbiAgRG93bmxvYWRlZCBjcHBfYnVpbGQgdjAuNS4xMVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5ODE3MjcyfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZDE0ODFiNTAiLCJwYXJlbnRJZCI6IjRhZTU1ZmNjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDoyMy4zMTRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKk5vdGljaW5nIGdsb2JhbCBxbWV0YSBkb3dubG9hZCBsb2NhdGlvbioqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4N2M3M2U4ODE5MTk4YmM0Yzk5MDIyNGZkZjhcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1oOVZLV3VBWlQ4dWxsNjVpTkpZREcxRHNYVm0waGlEMUQ0UmJydUlHUEYwVGdiUkRKcU1PME45TU1pUk1uQWF3QldGN0FUM093WmNjUzNhZ1ZZMnZfbHpsWUNLdUMzTkxqZDEzLUhhRllBaEhzTkh0UjZJN1FfTWpmeTBjNl82bWllN180NzlDdU5NdEV6Y203ODZCdDZWM0w4LUYtWHpORkkwdXhTMWNfdWxjRkJrX0dwVFZ0cVV5YU9FSFVWal93Q0ZCSHFBQ2kxS1FIelpjUGtJSTU5YUFVYk5pTzhaQTM1Qk9DWkM2blFnSGVBZDEtQUN6X29JWHFRblBtSkFJYi1xNWhrN0o4UnVTV0ZMcXZ5SWx6NjJNVWRVWXZybTlzUS0wU1ZEZmUwQUc0am55dUY2MnBLb09YLWFuLXNQSlhOaXpRQlRKUHFZUFhMdjR6UmlkVmFGdDNYcFNSVk5KVldYRnhfSmMwRDJWRThNOHJHOV80TG9jMzFCZEtFaVd1ZlpVQnVMem1oOGxkN2xvSU1nVWl5WWltc3RISEM0enVDR3VDSldWdWl0TjRuRWFSZUpuOFBGbTNiQzc4RG8xc0F4Q1BVd3pJcFc1TmIwQTRiemFRV1g0ZHNQNGxwVnp2RHN1U0pZYkVmLTBVdnpHakkzLXJwWVc1RERqMnJOWXh5Ty16Q3lvdkhTUS04ck9pQjdHa1gtUHBfTGxwbmNfTUFjaml2b0VxRXlJRkZObFVScjhWV1JTckhubUJOXzA3M0tOVkEwZ0tsel8wZ3lTRDFGNTJja3VMaVByMGVnaVkwazFUUEhRYWRKQVRtNm5HTXNoc3E1SkRUdGdWb3NZakFjUmxsR3hialFtZDJfeC1FRnQ3dk5BUFhfSk1zdDBwR3U4SFgtaGFyblphYjhhcFJBT1dURTlIVWRNZWgtbDFiUkJVa3U4dkxuV3BKMkhDNlNkQUp0WnhjYU9pdEJybl9vZGtYQUg3ek5wMVd0VkgzTFJLSGZNVG9CSFpDbDFJTVQ1bl8zOGFGSTJ2Q1gtQ0hqRXo4dF8zOGR6V1F0ckx4VC1KTHFsTzNfSk1zTGRfdjBRSF9ZX1lWNUFfQVMxb3pEUlFnVFJ5ejRxUHlpTDEzODJXcXp0WGkxd0JiZnV4LXpNODJ3RnZyeFp2b2dKcVpoTzVxTkxrekVoNjZKekJnUzFpbU5ab2otZTB0emJKZkN2RWthTkl4R3ViSkdObFZMRC1tR0htbDNEQkhPcm1hT2FiQVNfTzZxQ2dNRGROa2tXTFlJZzlBdWkyNnFTcEV1QTdhWkVlbUljNkduRnVwU21sUVVObll3TC1KcGQxVVAyWjVycl9HNkxTSnZGTkhcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKk5vdGljaW5nIGdsb2JhbCBxbWV0YSBkb3dubG9hZCBsb2NhdGlvbioqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9TTzFuc0h2OFkxZmlkUFRkMHdJazVRU258ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4N2QyZjMwODE5MWIzZmQwMmI3ZGZhNDY5N2MiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiZmluZCB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMgLW1heGRlcHRoIDMgLXR5cGUgZCAtbmFtZSAncW1ldGFvYmplY3QtMC4yLjEwJzsgcmcgJ3NldF9wcm9wZXJ0eXxRbWxFbmdpbmU6Om5ld3xxdF9wcm9wZXJ0eSEnIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL3FtZXRhb2JqZWN0LTAuMi4xMCAtZyAnKi5ycycgfCBoZWFkIC00MCJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6NzQ5LCJvdXRwdXQiOjEwNiwiY2FjaGVSZWFkIjo0MjQ5NiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxNSwidG90YWxUb2tlbnMiOjQzMzUxLCJjb3N0Ijp7ImlucHV0IjowLjAwMzc0NTAwMDAwMDAwMDAwMDUsIm91dHB1dCI6MC4wMDMxOCwiY2FjaGVSZWFkIjowLjAyMTI0OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDI4MTczfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg5ODE3Mjc0LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg3YjBkMTA4MTkxOGRlNjI1NTMzNmY0NjYxNiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI5Y2UzZTY0ZCIsInBhcmVudElkIjoiZDE0ODFiNTAiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMwOjIzLjM0N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfU08xbnNIdjhZMWZpZFBUZDB3SWs1UVNufGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODdkMmYzMDgxOTFiM2ZkMDJiN2RmYTQ2OTdjIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTBcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3NyYy9xbWV0YXR5cGUucnM6Ly8vIE9uY2UgaW1wbGVtZW50ZWQgZm9yIGEgdHlwZSwgaXQgY2FuIGJlIHVzZWQgYXMgYSB0eXBlIG9mIGEgcXRfcHJvcGVydHkhIG9yXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC9zcmMvbGliLnJzOiAgICAgICAgbmFtZTogcXRfcHJvcGVydHkhKFFTdHJpbmc7IE5PVElGWSBuYW1lX2NoYW5nZWQpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvc3JjL2xpYi5yczogICAgICAgIGxldCBtdXQgZW5naW5lID0gUW1sRW5naW5lOjpuZXcoKTtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3NyYy9saWIucnM6ICAgICAgICByZXN1bHQ6IHF0X3Byb3BlcnR5IShRU3RyaW5nOyBOT1RJRlkgcmVzdWx0X2NoYW5nZWQpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvc3JjL2xpYi5yczogICAgIyBsZXQgbXV0IGVuZ2luZSA9IFFtbEVuZ2luZTo6bmV3KCk7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC9zcmMvbGliLnJzOiAgICAvLy8gRklYTUU6IHNob3VsZCBwcm9iYWJseSBub3QgYmUgdXNlZC4gUHJlZmVyIHVzaW5nIGEgUW1sRW5naW5lOjpuZXdfcW9iamVjdC5cbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3NyYy9saWIucnM6Ly8vICAgIGZvbzogcXRfcHJvcGVydHkhKHUzMjsgTk9USUZZIGZvb19jaGFuZ2VkIFdSSVRFIHNldF9mb28pLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvc3JjL2xpYi5yczovLy8gIyAgICAgbGV0IG11dCBlbmdpbmUgPSBRbWxFbmdpbmU6Om5ldygpO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvc3JjL3F0ZGVjbGFyYXRpdmUucnM6ICAgIHB1YiBmbiBzZXRfcHJvcGVydHkoJm11dCBzZWxmLCBuYW1lOiBRU3RyaW5nLCB2YWx1ZTogUVZhcmlhbnQpIHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3NyYy9xdGRlY2xhcmF0aXZlLnJzOiAgICAgICAgbGV0IG11dCBlbmdpbmUgPSBRbWxFbmdpbmU6Om5ldygpO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvbW9kZWxzLnJzOiAgICAgICAgcHViIGxpc3Q6IHF0X3Byb3BlcnR5IShSZWZDZWxsPFNpbXBsZUxpc3RNb2RlbDxYPj47IENPTlNUKSxcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3Rlc3RzL21vZGVscy5yczogICAgICAgIHB1YiBsaXN0OiBxdF9wcm9wZXJ0eSEoUmVmQ2VsbDxTaW1wbGVMaXN0TW9kZWw8WD4+OyBDT05TVCksXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgICAgIHZhbHVlOiBxdF9wcm9wZXJ0eSEoYm9vbCksXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgcHJvcF94OiBxdF9wcm9wZXJ0eSEodTMyOyBOT1RJRlkgcHJvcF94X2NoYW5nZWQpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgIHByb3BfeTogcXRfcHJvcGVydHkhKFN0cmluZzsgTk9USUZZIHByb3BfeV9jaGFuZ2VkKSxcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3Rlc3RzL3Rlc3RzLnJzOiAgICBwcm9wX3o6IHF0X3Byb3BlcnR5IShRU3RyaW5nOyBOT1RJRlkgcHJvcF96X2NoYW5nZWQpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgIHByb3BfY29sb3I6IHF0X3Byb3BlcnR5IShRQ29sb3IpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgIHByb3BfanN2YWx1ZTogcXRfcHJvcGVydHkhKFFKU1ZhbHVlKSxcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3Rlc3RzL3Rlc3RzLnJzOiAgICBwcm9wX3ZhcmlhbnRtYXA6IHF0X3Byb3BlcnR5IShRVmFyaWFudE1hcCksXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgdmFsdWU6IHF0X3Byb3BlcnR5ISh1MzIpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgICAgICBudW1fdmFsdWU6IHF0X3Byb3BlcnR5ISh1MzI7IEFMSUFTIG51bVZhbHVlKSxcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3Rlc3RzL3Rlc3RzLnJzOiAgICAgICAgc3RyX3ZhbHVlOiBxdF9wcm9wZXJ0eSEoU3RyaW5nOyBBTElBUyBzdHJWYWx1ZSksXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgcHJvcF9vYmplY3Q6IHF0X3Byb3BlcnR5IShSZWZDZWxsPE15T2JqZWN0PjsgQ09OU1QpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgIHByb3A6IHF0X3Byb3BlcnR5IShRUG9pbnRlcjxTb21lT2JqZWN0PjsgTk9USUZZIHByb3BfY2hhbmdlZCksXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgbGV0IGVuZ2luZSA9IFJjOjpuZXcoUW1sRW5naW5lOjpuZXcoKSk7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgbGV0IGVuZ2luZSA9IFJjOjpuZXcoUW1sRW5naW5lOjpuZXcoKSk7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgICAgIHByb3BfeDogcXRfcHJvcGVydHkhKHUzMjsgUkVBRCBwcm9wX3hfZ2V0dGVyIENPTlNUKSxcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3Rlc3RzL3Rlc3RzLnJzOiAgICAgICAgcHJvcF95OiBxdF9wcm9wZXJ0eSEoU3RyaW5nOyBSRUFEIHByb3BfeV9nZXR0ZXIgQ09OU1QpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgICAgICBwcm9wX3g6IHF0X3Byb3BlcnR5ISh1MzI7IFdSSVRFIHByb3BfeF9zZXR0ZXIgTk9USUZZIHByb3BfeF9ub3RpZnkpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgICAgICBwcm9wX3k6IHF0X3Byb3BlcnR5IShTdHJpbmc7IE5PVElGWSBwcm9wX3lfbm90aWZ5IFdSSVRFIHByb3BfeV9zZXR0ZXIpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgICAgICBteV9wcm9wZXJ0eTogcXRfcHJvcGVydHkhKHUzMiksXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgcHJvcF94OiBxdF9wcm9wZXJ0eSEodTMyOyBSRUFEIHByb3BfeF9nZXR0ZXIgQ09OU1QpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgIHByb3BfeTogcXRfcHJvcGVydHkhKHUzMjsgV1JJVEUgcHJvcF95X3NldHRlciksXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgbGV0IF9hID0gUW1sRW5naW5lOjpuZXcoKTtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3Rlc3RzL3Rlc3RzLnJzOiAgICBsZXQgX2IgPSBRbWxFbmdpbmU6Om5ldygpO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgICAgICByZXN1bHQ6IHF0X3Byb3BlcnR5IShRU3RyaW5nOyBOT1RJRlkgcmVzdWx0X2NoYW5nZWQpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgIGxldCBlbmdpbmUgPSBRbWxFbmdpbmU6Om5ldygpO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgICAgICB2YWx1ZTogcXRfcHJvcGVydHkhKGJvb2wpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgICAgICBsZXQgZW5naW5lID0gUmM6Om5ldyhRbWxFbmdpbmU6Om5ldygpKTtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3Rlc3RzL3Rlc3RzLnJzOiAgICBsZXQgZW5naW5lID0gUW1sRW5naW5lOjpuZXcoKTtcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTgyMzM0N319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjY5MGI4MWQzIiwicGFyZW50SWQiOiI5Y2UzZTY0ZCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzA6MjYuMjY5WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9haDlMVWZ2eXhubkRNVUh6eXNSMUZtelN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ODBmNTIwODE5MTgyN2U4ZDdjMGQ5N2I4MjgiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvc3JjL2xpYi5ycyIsIm9mZnNldCI6MzAsImxpbWl0Ijo4MH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjozMTQ0LCJvdXRwdXQiOjY1LCJjYWNoZVJlYWQiOjQyNDk2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjAsInRvdGFsVG9rZW5zIjo0NTcwNSwiY29zdCI6eyJpbnB1dCI6MC4wMTU3Miwib3V0cHV0IjowLjAwMTk1MDAwMDAwMDAwMDAwMDEsImNhY2hlUmVhZCI6MC4wMjEyNDgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAzODkxOH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTgyMzM0OSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4N2ZhYzZjODE5MTk5YjdiOTkyOTU0ODY1YWIifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMWEzNTkyNGYiLCJwYXJlbnRJZCI6IjY5MGI4MWQzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDoyNi4yNzBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2FoOUxVZnZ5eG5uRE1VSHp5c1IxRm16U3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg4MGY1MjA4MTkxODI3ZThkN2MwZDk3YjgyOCIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiAgICAgICAgLy8gU3BlY2lmeSB0aGUgYmFzZSBjbGFzcyB3aXRoIHRoZSBxdF9iYXNlX2NsYXNzIG1hY3JvXG4gICAgICAgIGJhc2U6IHF0X2Jhc2VfY2xhc3MhKHRyYWl0IFFPYmplY3QpLFxuICAgICAgICAvLyBEZWNsYXJlIGBuYW1lYCBhcyBhIHByb3BlcnR5IHVzYWJsZSBmcm9tIFF0XG4gICAgICAgIG5hbWU6IHF0X3Byb3BlcnR5IShRU3RyaW5nOyBOT1RJRlkgbmFtZV9jaGFuZ2VkKSxcbiAgICAgICAgLy8gRGVjbGFyZSBhIHNpZ25hbFxuICAgICAgICBuYW1lX2NoYW5nZWQ6IHF0X3NpZ25hbCEoKSxcbiAgICAgICAgLy8gQW5kIGV2ZW4gYSBzbG90XG4gICAgICAgIGNvbXB1dGVfZ3JlZXRpbmdzOiBxdF9tZXRob2QhKGZuIGNvbXB1dGVfZ3JlZXRpbmdzKCZzZWxmLCB2ZXJiOiBTdHJpbmcpIC0+IFFTdHJpbmcge1xuICAgICAgICAgICAgZm9ybWF0IShcInt9IHt9XCIsIHZlcmIsIHNlbGYubmFtZS50b19zdHJpbmcoKSkuaW50bygpXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgZm4gbWFpbigpIHtcbiAgICAgICAgLy8gUmVnaXN0ZXIgdGhlIGBHcmVldGVyYCBzdHJ1Y3QgdG8gUU1MXG4gICAgICAgIHFtbF9yZWdpc3Rlcl90eXBlOjo8R3JlZXRlcj4oY3N0ciEoXCJHcmVldGVyXCIpLCAxLCAwLCBjc3RyIShcIkdyZWV0ZXJcIikpO1xuICAgICAgICAvLyBDcmVhdGUgYSBRTUwgZW5naW5lIGZyb20gcnVzdFxuICAgICAgICBsZXQgbXV0IGVuZ2luZSA9IFFtbEVuZ2luZTo6bmV3KCk7XG4gICAgIyByZXR1cm47IC8vIFdlIGNhbid0IGNyZWF0ZSBhIHdpbmRvdyBpbiB0aGUgQ0lcbiAgICAgICAgLy8gKEhlcmUgdGhlIFFNTCBjb2RlIGlzIGlubGluZSwgYnV0IG9uZSBjYW4gYWxzbyBsb2FkIGZyb20gYSBmaWxlKVxuICAgICAgICBlbmdpbmUubG9hZF9kYXRhKHIjXCJcbiAgICAgICAgICAgIGltcG9ydCBRdFF1aWNrIDIuNlxuICAgICAgICAgICAgaW1wb3J0IFF0UXVpY2suV2luZG93IDIuMFxuICAgICAgICAgICAgLy8gSW1wb3J0IG91ciBSdXN0IGNsYXNzZXNcbiAgICAgICAgICAgIGltcG9ydCBHcmVldGVyIDEuMFxuXG4gICAgICAgICAgICBXaW5kb3cge1xuICAgICAgICAgICAgICAgIHZpc2libGU6IHRydWVcbiAgICAgICAgICAgICAgICAvLyBJbnN0YW50aWF0ZSB0aGUgcnVzdCBzdHJ1Y3RcbiAgICAgICAgICAgICAgICBHcmVldGVyIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGdyZWV0ZXI7XG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBhIHByb3BlcnR5XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiV29ybGRcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBUZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5jZW50ZXJJbjogcGFyZW50XG4gICAgICAgICAgICAgICAgICAgIC8vIENhbGwgYSBtZXRob2RcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogZ3JlZXRlci5jb21wdXRlX2dyZWV0aW5ncyhcImhlbGxvXCIpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBcIiMuaW50bygpKTtcbiAgICAgICAgZW5naW5lLmV4ZWMoKTtcbiAgICB9XG4gICAgYGBgXG5cbiAgICAjIEJhc2ljIHR5cGVzXG5cbiAgICBUaGUgcmUtZXhwb3J0ZWQgY3JhdGUgW2BxdHR5cGVzYF0gY29udGFpbnMgYmluZGluZyB0byB0aGUgbW9zdCB1c2VmdWxsXG4gICAgYmFzaWMgdHlwZXMgc3VjaCBhcyBbYFFTdHJpbmdgXSwgW2BRVmFyaWFudGBdLCAuLi5cblxuICAgIFlvdSBjYW4gYWxzbyBzaW1wbHkgdXNlIHJ1c3QgdHlwZSBgU3RyaW5nYCwgYnV0IHVzaW5nIFFTdHJpbmcgbWlnaHQgYXZvaWQgdW5lY2Vzc2FyeVxuICAgIGNvbnZlcnNpb25zIGluIHNvbWUgY2FzZS5cblxuICAgICMgTWV0YSB0eXBlXG5cbiAgICBJbiBvcmRlciB0byBiZSBhYmxlIHRvIHVzZSBhIHR5cGUgaW4gYSBzaWduYWwgb3IgbWV0aG9kIHBhcmFtZXRlciwgb3IgYXMgYSBwcm9wZXJ0eSB0eXBlLFxuICAgIHRoZSB0eXBlIG5lZWQgdG8gaW1wbGVtZW50IHRoZSBbUU1ldGFUeXBlXShxbWV0YXR5cGUvdHJhaXQuUU1ldGFUeXBlLmh0bWwpIHRyYWl0LlxuICAgIEFsbCB0aGUgbWV0aG9kIGFyZSBwcm92aWRlZCBzbyB5b3UgY2FuIGp1c3QgaW1wbGVtZW50IHRoZSBRTWV0YVR5cGUgbGlrZSB0aGlzOlxuXG4gICAgYGBgcnVzdFxuICAgIHVzZSBxbWV0YW9iamVjdDo6UU1ldGFUeXBlO1xuXG4gICAgI1tkZXJpdmUoRGVmYXVsdCwgQ2xvbmUpXVxuICAgIHN0cnVjdCBNeVBvaW50KHUzMiwgdTMyKTtcblxuICAgIGltcGwgUU1ldGFUeXBlIGZvciBNeVBvaW50IHt9O1xuICAgIGBgYFxuXG4gICAgV2l0aCB0aGF0IGl0IGlzIGFsc28gcG9zc2libGUgdG8gcHV0IHRoZSB0eXBlIGluIGEgIFtgUVZhcmlhbnRgXVxuXG4gICAgIyBPYmplY3QgcGlubmluZ1xuXG4gICAgT25jZSBhbiBvYmplY3QgdGhhdCBkZXJpdmVzIGZyb20gUU9iamVjdCBpcyBleHBvc2VkIHRvIEMrKywgaXQgbmVlZHMgdG8gYmUgcGlubmVkLCBhbmQgY2Fubm90XG4gICAgYmUgbW92ZWQgaW4gbWVtb3J5LlxuICAgIEFsc28sIHNpbmNlIHRoZSBRdCBjb2RlIGNhbiBiZSByZS1lbnRyYW50LCB0aGUgb2JqZWN0IG11c3QgYmUgcGxhY2VkIGluIGEgUmVmQ2VsbC5cbiAgICBUaGUgW1FPYmplY3RQaW5uZWRdKHN0cnVjdC5RT2JqZWN0UGlubmVkLmh0bWwpIG9iamVjdCBpcyB1c2VkIHRvIGVuZm9yY2UgdGhlIHBpbm5pbmcuXG5cbiAgICBJZiB5b3Ugd2FudCB0byBrZWVwIHBvaW50ZXIgdG8gcmVmZXJlbmNlLCB5b3UgY2FuIHVzZSBbUVBvaW50ZXJdKHN0cnVjdC5RUG9pbnRlci5odG1sKS5cblxuICAgICMgVGhyZWFkaW5nXG5cblxuWzk5NCBtb3JlIGxpbmVzIGluIGZpbGUuIFVzZSBvZmZzZXQ9MTEwIHRvIGNvbnRpbnVlLl0ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODk4MjYyNzB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJkNGViZjgxZCIsInBhcmVudElkIjoiMWEzNTkyNGYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMwOjI5LjM5OVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqVmVyaWZ5aW5nIFFNTCBzdHJpbmcgbG9hZGluZyBhbmQgcHJvcGVydHkgc2V0dGluZyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ODM3YmIwODE5MTkzYTYzODM0MTRmYWFjMzVcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1pRXMwSFVqcHZsUlNyMWRmX0JROVpueUVxMEJZaGZBdFdHZk55a2JZVjZwX3l6aDlOYUFmWHo5Vl9XVzZfOWJKUTU0SkFPbU1OY0hRYXh1am9HNFRHRTE5M1REM2tVc1BGZGh4OGxuY2VnMXp2aE1CVTIwbTNMMnlIbEwyRjRWVVlsMVBIN1djQ0Z2V2N5NFdjdFhYN3F1aVc0eUtkSlR5b19CcWVjYXJ4M0ExZVJoWXd2d1VNYWg5STVaS29sOXh4eHZGaWRqRi1KaTBLSndPdnlJZ1l5TXVndGdDQlB6M2xIdzhvcWlMNHFUTlRhdjN2QmVpVDFjQ1ExQW1reFVHX05ESWpnOE5vTGhveWtPRDBnaF9kekRrd3M4VktZT3Brdm9uXzhlUVRzeDhULU1jMlI0M3VEYjlYNkNCLUNpZVFFT0oxN3pWN3R6LTNNN0I4WjNpTFA2Z3RhZHJoOTR4aEpucjRMN2hLWVowSjFZVmd0WTU0NnhpVmtxUzgyck1zM1RRb21YY2tmcXJfRHh3RkpTN3ZrUUdVT3NRenlTaXZCX3dhMkFVRU95MDgza2NQRFFncGc2ekVkVE5RUUR1WUdBdEg1a3BDbnhtU2xmQnZ5V2pJUFd2YkhheGdOVHIwTVVkc0JFOWNWTUhHSFVmY28yT2MzaWE2U0JGbWN0M3dxYlc1Y1JlcTZpcVZFTGk1MWw1S2tNdGZueTZ2dXhOSkZsYklvM1lzMURTOU13NXE0T1ZhakVLTGdvV1pmUjlGTVhLb05SLWFxVUVDMTUySm9BYkU3MzVqUGNtZlB3T0ZuenZWcy1iUWg0TElNclFPeElBMm1DdEIxUGlRUmRBWmZmWWNtS19YNFFYNk1HNE1kUkJrMEowRFFDdDhsc2xRd1dVclV5bExnQldwSlNMMGRUd3dTbUJFS0twOWp1dkFjMjQ2TFRBMHZTVEs5cWV4OGt5dC1WUHNDdG5qX0l1SXVrdFBRUzNsbmRRcGctN0xsQzViaGtMaTkxQ1BCR3YxT2ZRRi05cVM2b3ZFcUE1LU5WM2NFLURYbTF0cEFOdTlPMUxpdk5xbGxTYXByMjZ6RElQek85bG4yZUJ4aGpJU0tUMjZmbVJHYVlWZUEtRXR2LW1mOWNiYktEMWNLYVRINUh0WWtfYlNyS0VZdzdHWEQ5QkxqUzRYWmo2SmJrQ2RRQjEwQTBnV0VOUkJ1UWdXbHo3RDBsSWZzeEkyMFJMb2hnaklpMVA0T1Fycjl4X2pJMlJ0bFBRSHFLZFFBVDBRU1pPaGRKV3VlRVE0ZkZlenhPazlhR3M0SDBrRTlBc0toSnhoSDlUU2lVRjlSVG1ZQ1NhbFJpV2FZNXlWRVg0N3RXaFBmbUE1NC1RZ0VDbTB4WVVHTjV3PT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlZlcmlmeWluZyBRTUwgc3RyaW5nIGxvYWRpbmcgYW5kIHByb3BlcnR5IHNldHRpbmcqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfWDhXS0c5N2NDWnprcEZnZmVtRFlPelBafGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODg0NmFmMDgxOTE4NmY4NzM4YTczYmY5ZTdjIiwibmFtZSI6InJlYWQiLCJhcmd1bWVudHMiOnsicGF0aCI6Ii9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3NyYy9xdGRlY2xhcmF0aXZlLnJzIiwib2Zmc2V0IjozOTAsImxpbWl0Ijo1NX19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxODIyLCJvdXRwdXQiOjkzLCJjYWNoZVJlYWQiOjQ0NTQ0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjIyLCJ0b3RhbFRva2VucyI6NDY0NTksImNvc3QiOnsiaW5wdXQiOjAuMDA5MTEsIm91dHB1dCI6MC4wMDI3OSwiY2FjaGVSZWFkIjowLjAyMjI3MiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDM0MTcyfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg5ODI2MjcxLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg4MmEwZDg4MTkxOGRmZmYyM2NjYWU1MTVhMSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJiYjQ3M2NkMiIsInBhcmVudElkIjoiZDRlYmY4MWQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMwOjI5LjQwMFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfWDhXS0c5N2NDWnprcEZnZmVtRFlPelBafGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODg0NmFmMDgxOTE4NmY4NzM4YTczYmY5ZTdjIiwidG9vbE5hbWUiOiJyZWFkIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgICAgICBjcHAhKHVuc2FmZSBbZW5naW5lIGFzIFwiUW1sRW5naW5lSG9sZGVyICpcIl0gLT4gUW1sQ29tcG9uZW50IGFzIFwiUVFtbENvbXBvbmVudEhvbGRlclwiIHtcbiAgICAgICAgICAgIHJldHVybiBRUW1sQ29tcG9uZW50SG9sZGVyKGVuZ2luZS0+ZW5naW5lLmdldCgpKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIHVuZGVybHlpbmcgUVFtbENvbXBvbmVudC4gU2ltaWxhciB0byBRT2JqZWN0OjpnZXRfY3BwX29iamVjdCgpXG4gICAgcHViIGZuIGdldF9jcHBfb2JqZWN0KCZzZWxmKSAtPiAqbXV0IGNfdm9pZCB7XG4gICAgICAgIGNwcCEodW5zYWZlIFtzZWxmIGFzIFwiUVFtbENvbXBvbmVudEhvbGRlciAqXCJdIC0+ICptdXQgY192b2lkIGFzIFwiUVFtbENvbXBvbmVudCAqXCIge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYtPmNvbXBvbmVudC5nZXQoKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gUGVyZm9ybXMgUVFtbENvbXBvbmVudDo6bG9hZFVybFxuICAgIHB1YiBmbiBsb2FkX3VybCgmbXV0IHNlbGYsIHVybDogUVVybCwgY29tcGlsYXRpb25fbW9kZTogQ29tcGlsYXRpb25Nb2RlKSB7XG4gICAgICAgIGNwcCEodW5zYWZlIFtcbiAgICAgICAgICAgIHNlbGYgYXMgXCJRUW1sQ29tcG9uZW50SG9sZGVyICpcIixcbiAgICAgICAgICAgIHVybCBhcyBcIlFVcmxcIixcbiAgICAgICAgICAgIGNvbXBpbGF0aW9uX21vZGUgYXMgXCJRUW1sQ29tcG9uZW50OjpDb21waWxhdGlvbk1vZGVcIlxuICAgICAgICBdIHtcbiAgICAgICAgICAgIHNlbGYtPmNvbXBvbmVudC0+bG9hZFVybCh1cmwsIGNvbXBpbGF0aW9uX21vZGUpO1xuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8vLyBQZXJmb3JtcyBRUW1sQ29tcG9uZW50OjpzZXREYXRhIHdpdGggYSBkZWZhdWx0IHVybFxuICAgIHB1YiBmbiBzZXRfZGF0YSgmbXV0IHNlbGYsIGRhdGE6IFFCeXRlQXJyYXkpIHtcbiAgICAgICAgY3BwISh1bnNhZmUgW3NlbGYgYXMgXCJRUW1sQ29tcG9uZW50SG9sZGVyICpcIiwgZGF0YSBhcyBcIlFCeXRlQXJyYXlcIl0ge1xuICAgICAgICAgICAgc2VsZi0+Y29tcG9uZW50LT5zZXREYXRhKGRhdGEsIFFVcmwoKSk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8vIFBlcmZvcm1zIFFRbWxDb21wb25lbnQ6OnNldERhdGFcbiAgICBwdWIgZm4gc2V0X2RhdGFfYXMoJm11dCBzZWxmLCBkYXRhOiBRQnl0ZUFycmF5LCB1cmw6IFFVcmwpIHtcbiAgICAgICAgY3BwISh1bnNhZmUgW3NlbGYgYXMgXCJRUW1sQ29tcG9uZW50SG9sZGVyICpcIiwgZGF0YSBhcyBcIlFCeXRlQXJyYXlcIiwgdXJsIGFzIFwiUVVybFwiXSB7XG4gICAgICAgICAgICBzZWxmLT5jb21wb25lbnQtPnNldERhdGEoZGF0YSwgdXJsKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gUGVyZm9ybXMgUVFtbENvbXBvbmVudDo6Y3JlYXRlXG4gICAgcHViIGZuIGNyZWF0ZSgmbXV0IHNlbGYpIC0+ICptdXQgY192b2lkIHtcbiAgICAgICAgY3BwISh1bnNhZmUgW3NlbGYgYXMgXCJRUW1sQ29tcG9uZW50SG9sZGVyICpcIl0gLT4gKm11dCBjX3ZvaWQgYXMgXCJRT2JqZWN0ICpcIiB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi0+Y29tcG9uZW50LT5jcmVhdGUoKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gUGVyZm9ybXMgUVFtbENvbXBvbmVudDo6c3RhdHVzXG4gICAgcHViIGZuIHN0YXR1cygmc2VsZikgLT4gQ29tcG9uZW50U3RhdHVzIHtcbiAgICAgICAgY3BwISh1bnNhZmUgW1xuICAgICAgICAgICAgc2VsZiBhcyBcIlFRbWxDb21wb25lbnRIb2xkZXIgKlwiXG4gICAgICAgIF0gLT4gQ29tcG9uZW50U3RhdHVzIGFzIFwiUVFtbENvbXBvbmVudDo6U3RhdHVzXCIge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYtPmNvbXBvbmVudC0+c3RhdHVzKCk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8vIFNlZSBRdCBkb2N1bWVudGF0aW9uIGZvciBRUW1sQ29tcG9uZW50OjpzdGF0dXNDaGFuZ2VkXG4gICAgcHViIGZuIHN0YXR1c19jaGFuZ2VkX3NpZ25hbCgpIC0+IFNpZ25hbDxmbihzdGF0dXM6IENvbXBvbmVudFN0YXR1cyk+IHtcblxuWzgyNyBtb3JlIGxpbmVzIGluIGZpbGUuIFVzZSBvZmZzZXQ9NDQ1IHRvIGNvbnRpbnVlLl0ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODk4Mjk0MDB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJmM2NlOGM1NSIsInBhcmVudElkIjoiYmI0NzNjZDIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMwOjMzLjI1MVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfcG5uWVdVcjJxOWV4c1FoSnNrdlEwdE5MfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODg3Njg1NDgxOTE5OGRjOTMwNjBmZmE4OGEyIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJnIC1uICdwdWIgZm4gc2V0X3Byb3BlcnR5JyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9xbWV0YW9iamVjdC0wLjIuMTAvc3JjL3F0ZGVjbGFyYXRpdmUucnM7IHJnICdpbXBsIEZyb208LipRVmFyaWFudCcgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovcXR0eXBlcy0wLjIuMTIvc3JjIC1uIHwgaGVhZCAtMzAifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE0MDUsIm91dHB1dCI6ODcsImNhY2hlUmVhZCI6NDU1NjgsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MCwidG90YWxUb2tlbnMiOjQ3MDYwLCJjb3N0Ijp7ImlucHV0IjowLjAwNzAyNTAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMjYxLCJjYWNoZVJlYWQiOjAuMDIyNzg0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMzI0MTl9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODk4Mjk0MDEsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODg1ZDVhYzgxOTFhZDgyMTAyZmNjNzc3NWVlIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjcyODczZTIxIiwicGFyZW50SWQiOiJmM2NlOGM1NSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzA6MzMuMjYyWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9wbm5ZV1VyMnE5ZXhzUWhKc2t2UTB0Tkx8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ODc2ODU0ODE5MTk4ZGM5MzA2MGZmYTg4YTIiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIxNzA6ICAgIHB1YiBmbiBzZXRfcHJvcGVydHkoJm11dCBzZWxmLCBuYW1lOiBRU3RyaW5nLCB2YWx1ZTogUVZhcmlhbnQpIHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXR0eXBlcy0wLjIuMTIvc3JjL3F0Y29yZS9xdmFyaWFudC5yczoxMTI6aW1wbCBGcm9tPFFTdHJpbmc+IGZvciBRVmFyaWFudCB7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0dHlwZXMtMC4yLjEyL3NyYy9xdGNvcmUvcXZhcmlhbnQucnM6MTIyOmltcGwgRnJvbTxRVmFyaWFudE1hcD4gZm9yIFFWYXJpYW50IHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXR0eXBlcy0wLjIuMTIvc3JjL3F0Y29yZS9xdmFyaWFudC5yczoxMzI6aW1wbCBGcm9tPFFCeXRlQXJyYXk+IGZvciBRVmFyaWFudCB7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0dHlwZXMtMC4yLjEyL3NyYy9xdGNvcmUvcXZhcmlhbnQucnM6MTQyOmltcGwgRnJvbTxRRGF0ZT4gZm9yIFFWYXJpYW50IHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXR0eXBlcy0wLjIuMTIvc3JjL3F0Y29yZS9xdmFyaWFudC5yczoxNTI6aW1wbCBGcm9tPFFUaW1lPiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjE2MjppbXBsIEZyb208UURhdGVUaW1lPiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjE3MjppbXBsIEZyb208UVVybD4gZm9yIFFWYXJpYW50IHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXR0eXBlcy0wLjIuMTIvc3JjL3F0Y29yZS9xdmFyaWFudC5yczoxODI6aW1wbCBGcm9tPFFWYXJpYW50TGlzdD4gZm9yIFFWYXJpYW50IHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXR0eXBlcy0wLjIuMTIvc3JjL3F0Y29yZS9xdmFyaWFudC5yczoxOTM6aW1wbCBGcm9tPFFTdHJpbmdMaXN0PiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjIwNDppbXBsIEZyb208aTMyPiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjIxNDppbXBsIEZyb208dTMyPiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjIyNDppbXBsIEZyb208aTY0PiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjIzNDppbXBsIEZyb208dTY0PiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjI0NDppbXBsIEZyb208ZjMyPiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjI1NDppbXBsIEZyb208ZjY0PiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjI2NDppbXBsIEZyb208Ym9vbD4gZm9yIFFWYXJpYW50IHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXR0eXBlcy0wLjIuMTIvc3JjL2xpYi5yczoxNTQ5OmltcGwgRnJvbTxRVmFyaWFudD4gZm9yIFFKc29uVmFsdWUge1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5ODMzMjYyfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNTZiYjFhZTYiLCJwYXJlbnRJZCI6IjcyODczZTIxIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDozMy4yNjNaIiwibWVzc2FnZSI6eyJyb2xlIjoidXNlciIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6ImlmIG5lZWRlZCBpbnN0YWxsIHF0IGRlcGVuZGVuY2llcyB3aXRoIGFwdC1nZXQuIG1ha2Ugc28gdGhhdCBwcm9qZWN0IGlzIGNvbXBpbGFibGUgd2l0aCBjYXJnbyBidWlsZCJ9XSwidGltZXN0YW1wIjoxNzg0OTg5ODMwMDA3fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYmVlMmZjN2MiLCJwYXJlbnRJZCI6IjU2YmIxYWU2IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDozNy42MjJaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkNoZWNraW5nIGRpc3RyaWJ1dGlvbiBwYWNrYWdlIG1hbmFnZXIqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODhhZWVmYzgxOTE4MzY3MjliYjM3ODJiMWViXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNaU5oRGlaeEpTWDg2cmx2NHdqX0V4MGZlYlFSUVhTaFJQTFdEVlZRcF9Fblk5VnFOZi0wYnBiT3piRkZDbnFxREFycVA4QnU0ZVAtN0lHR0I5dXRQZmlEOERUMTVxcjZVNjhwMDVuVFpaSzl5M3RKZFcxYjJrVmxpa21WOW9oOEtKTnBNeHd2bnVKUFVjMEstMm1TMkJyR0xLb1pQWkhXYU1fMTY4RGZXZXdROFlLOHYyVjhZdGZhZUpCa3FBdnY4Ym8ybm9JMGViM2l0YjU3ZjE5ZVcwZmIyV3gwajdYRU5NUFFvQW1La1FMSzhETmpOQ1JxWktQTEtDSWxzay03bTBZWFBXWXhlWmhBQlh5VEF3VG0taVhzSkZtZDRIWS1uV09COVZGYWJlVFRVQkhBcE90NnVvNWI0U0lmbUdhUU0xdjRwUzhCR1VLbXd5UVItUVpHTTdOYTNZQ0wya2VRQkVxM2N0ZGw2ejk1Y0tVMy1EYUlHLUZsOFVTYkZfWXpxUWFWSDVqYi03UjVYcEN6N2N1c1lnam1hWTBGVTBERDZlbFNOaUZhdzhhQUtTNmpmZS1CX1ZvVWxMVEhKcklZdExfNmVSeTAzdk1JbzJJYVBZYWZBWDRFWENnLWRNVEc4dVFQV2pQZk5PVldoRV9obFNQU0k0cFlwRWk1NXczYWRxTzhVODhXR3Q5WThaV3pnXzNQQ0Y4QjZpZ3RUN3pOSXFjaW1RNU5EV2V6VmhsM01oVkFDYU9rOC1JWXB5VTNtM0JwbGV0U2dwSnJMd2gtLXhTRy1ISXdHdFQycENkRTMtOFRxaXVTODR1N25MZE1PSjdWejl6MkJUdVFZa3RHVHNuR0g0c1lwdVNralRBOTF6cF85Qzh3WExOakFoVTRXclZmNmNCajBza19jZVc3N3hCbjFNc2ZYWUg5WnJtSGt5RGU1ZnltVVRqSEhGUzJsdUhTZE1OeVVINlY1cGNIZjgtNGpIOFRwcnlkdEszQnZXWVNzR3lnaE13SjByRmlUTDBWT2pWZno0bDRoRVcxalFFS1VvSmhZV0JIaHlqa1REb282c3dEQnhhekd0Z19zWVY2MFF2Y0xBZEFmUDE2SjFzWDFaZDFvZzJqRWw0V0dGWDZveHB2OHpZS1R0d3oxeGR1VUs1aUxlTGVERDlweDJRWkZQZ05xc2ZDTEFzOGJBUzZXQW5Zd0hmdlZTSWVjVHRPNGhBa1IxSEtEV3MzRVJfdHEzNXBFOTlDSVV2dGotQjJLSk9JNUswMGgxNGg2VHh0MERxU2VSenhBRUctQlhIY1ZsMzR3PT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkNoZWNraW5nIGRpc3RyaWJ1dGlvbiBwYWNrYWdlIG1hbmFnZXIqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfaDA5bEtFMWE0eE5NOXI4WDd5U0MxVDZofGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODhkN2M5ODgxOTFhYzdkNmZhYTRiNzAwNzFjIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNvbW1hbmQgLXYgYXB0LWdldDsgY2F0IC9ldGMvb3MtcmVsZWFzZSB8IGhlYWQ7IGlkOyBzdWRvIC1uIHRydWUgMj4mMTsgZWNobyBzdWRvOiQ/In19LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX1BlNmhEYkxnWWVzU1RuNWZDTUQ2U1pvcnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg4ZDdjYjA4MTkxODRiMGMyNjkzZDE3MjE5NCIsIm5hbWUiOiJyZWFkIiwiYXJndW1lbnRzIjp7InBhdGgiOiIvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC9zcmMvcXRkZWNsYXJhdGl2ZS5ycyIsIm9mZnNldCI6MTQ1LCJsaW1pdCI6NDV9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTQ1OCwib3V0cHV0IjoxNDIsImNhY2hlUmVhZCI6NDY1OTIsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTMsInRvdGFsVG9rZW5zIjo0ODE5MiwiY29zdCI6eyJpbnB1dCI6MC4wMDcyOTAwMDAwMDAwMDAwMDA1LCJvdXRwdXQiOjAuMDA0MjYsImNhY2hlUmVhZCI6MC4wMjMyOTU5OTk5OTk5OTk5OTcsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAzNDg0Nn19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTgzMzI2NCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ODlhNjIwODE5MWIzMTNjODI1YjI5N2UxODUifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiY2E1NTYwM2UiLCJwYXJlbnRJZCI6ImJlZTJmYzdjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDozNy42NTNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2gwOWxLRTFhNHhOTTlyOFg3eVNDMVQ2aHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg4ZDdjOTg4MTkxYWM3ZDZmYWE0YjcwMDcxYyIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii91c3IvYmluL2FwdC1nZXRcbk5BTUU9XCJBTFRcIlxuVkVSU0lPTj1cIjIwMjYwMzE2XCJcbklEPWFsdGxpbnV4XG5WRVJTSU9OX0lEPTIwMjYwMzE2XG5QUkVUVFlfTkFNRT1cIkFMVCBSZWd1bGFyXCJcblZBUklBTlQ9XCJSZWd1bGFyXCJcbkFOU0lfQ09MT1I9XCIxOzMzXCJcbkNQRV9OQU1FPVwiY3BlOi9vOmFsdDpzaXN5cGh1czoyMDI2MDMxNlwiXG5CVUlMRF9JRD1cIlNpc3lwaHVzIDIwMjQwMTIyXCJcbkFMVF9CUkFOQ0hfSUQ9XCJzaXN5cGh1c1wiXG51aWQ9MTAwMChhZ3VzY2hpbikgZ2lkPTEwMDAoYWd1c2NoaW4pIGdyb3Vwcz0xMDAwKGFndXNjaGluKSwxMCh3aGVlbCksMTQodXVjcCksMTkocHJvYyksMjIoY2Ryb20pLDcxKGZsb3BweSksODAoY2R3cml0ZXIpLDgxKGF1ZGlvKSw4MyhyYWRpbyksMTAwKHVzZXJzKSw5NDgoaGFzaG1hbiksOTYzKGNhbWVyYSksOTc3KHZpZGVvKSw5NzkoZGlhbG91dCksOTk3KHhncnApLDk5OChzY2FubmVyKSwxMDAxKGFndXNjaGluX2EpLDEwMDIoYWd1c2NoaW5fYilcbnN1ZG86IGEgcGFzc3dvcmQgaXMgcmVxdWlyZWRcbnN1ZG86MVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5ODM3NjUzfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZTNjYWE5YzUiLCJwYXJlbnRJZCI6ImNhNTU2MDNlIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDozNy42NTNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1BlNmhEYkxnWWVzU1RuNWZDTUQ2U1pvcnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg4ZDdjYjA4MTkxODRiMGMyNjkzZDE3MjE5NCIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gTG9hZHMgcW1sIGRhdGEgd2l0aCBgdXJsYCBhcyBiYXNlIHVybCBjb21wb25lbnQgKFNlZSBRUW1sQXBwbGljYXRpb25FbmdpbmU6OmxvYWREYXRhKVxuICAgIHB1YiBmbiBsb2FkX2RhdGFfYXMoJm11dCBzZWxmLCBkYXRhOiBRQnl0ZUFycmF5LCB1cmw6IFFVcmwpIHtcbiAgICAgICAgY3BwISh1bnNhZmUgW3NlbGYgYXMgXCJRbWxFbmdpbmVIb2xkZXIgKlwiLCBkYXRhIGFzIFwiUUJ5dGVBcnJheVwiLCB1cmwgYXMgXCJRVXJsXCJdIHtcbiAgICAgICAgICAgIHNlbGYtPmVuZ2luZS0+bG9hZERhdGEoZGF0YSwgdXJsKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gTGF1bmNoZXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgcHViIGZuIGV4ZWMoJnNlbGYpIHtcbiAgICAgICAgY3BwISh1bnNhZmUgW3NlbGYgYXMgXCJRbWxFbmdpbmVIb2xkZXIgKlwiXSB7XG4gICAgICAgICAgICBzZWxmLT5hcHAtPmV4ZWMoKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gQ2xvc2VzIHRoZSBhcHBsaWNhdGlvblxuICAgIHB1YiBmbiBxdWl0KCZzZWxmKSB7XG4gICAgICAgIGNwcCEodW5zYWZlIFtzZWxmIGFzIFwiUW1sRW5naW5lSG9sZGVyICpcIl0ge1xuICAgICAgICAgICAgc2VsZi0+YXBwLT5xdWl0KCk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8vIFNldHMgYSBwcm9wZXJ0eSBmb3IgdGhpcyBRTUwgY29udGV4dCAoY2FsbHMgUVFtbEVuZ2luZTo6cm9vdENvbnRleHQoKS0+c2V0Q29udGV4dFByb3BlcnR5KVxuICAgIHB1YiBmbiBzZXRfcHJvcGVydHkoJm11dCBzZWxmLCBuYW1lOiBRU3RyaW5nLCB2YWx1ZTogUVZhcmlhbnQpIHtcbiAgICAgICAgY3BwISh1bnNhZmUgW3NlbGYgYXMgXCJRbWxFbmdpbmVIb2xkZXIgKlwiLCBuYW1lIGFzIFwiUVN0cmluZ1wiLCB2YWx1ZSBhcyBcIlFWYXJpYW50XCJdIHtcbiAgICAgICAgICAgIHNlbGYtPmVuZ2luZS0+cm9vdENvbnRleHQoKS0+c2V0Q29udGV4dFByb3BlcnR5KG5hbWUsIHZhbHVlKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gU2V0cyBhbiBvYmplY3QgZm9yIHRoaXMgUU1MIGNvbnRleHQgKGNhbGxzIFFRbWxFbmdpbmU6OnJvb3RDb250ZXh0KCktPnNldENvbnRleHRPYmplY3QpXG4gICAgcHViIGZuIHNldF9vYmplY3Q8VDogUU9iamVjdCArIFNpemVkPigmbXV0IHNlbGYsIG9iajogUU9iamVjdFBpbm5lZDxUPikge1xuICAgICAgICBsZXQgb2JqX3B0ciA9IG9iai5nZXRfb3JfY3JlYXRlX2NwcF9vYmplY3QoKTtcbiAgICAgICAgY3BwISh1bnNhZmUgW3NlbGYgYXMgXCJRbWxFbmdpbmVIb2xkZXIgKlwiLCBvYmpfcHRyIGFzIFwiUU9iamVjdCAqXCJdIHtcbiAgICAgICAgICAgIHNlbGYtPmVuZ2luZS0+cm9vdENvbnRleHQoKS0+c2V0Q29udGV4dE9iamVjdChvYmpfcHRyKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gU2V0cyBhIHByb3BlcnR5IGZvciB0aGlzIFFNTCBjb250ZXh0IChjYWxscyBRUW1sRW5naW5lOjpyb290Q29udGV4dCgpLT5zZXRDb250ZXh0UHJvcGVydHkpXG4gICAgLy8vXG4gICAgLy8gKFRPRE86IGNvbnNpZGVyIG1ha2luZyB0aGUgbGlmZXRpbWUgdGhlIG9uZSBvZiB0aGUgZW5naW5lLCBpbnN0ZWFkIG9mIHN0YXRpYylcbiAgICBwdWIgZm4gc2V0X29iamVjdF9wcm9wZXJ0eTxUOiBRT2JqZWN0ICsgU2l6ZWQ+KFxuICAgICAgICAmbXV0IHNlbGYsXG4gICAgICAgIG5hbWU6IFFTdHJpbmcsXG5cblsxMDgyIG1vcmUgbGluZXMgaW4gZmlsZS4gVXNlIG9mZnNldD0xOTAgdG8gY29udGludWUuXSJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTgzNzY1M319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImY4NjBjNmE3IiwicGFyZW50SWQiOiJlM2NhYTljNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzE6MDQuNjUwWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipBc3Nlc3NpbmcgUXQgYW5kIEdUSyBkZXBlbmRlbmNpZXMqKlxuXG4qKkRlc2lnbmluZyBRTUwgQXBwbGljYXRpb25XaW5kb3cgYW5kIGNvbXBvbmVudHMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODhmN2MxMDgxOTE5MTgzOGMyNDA1NzllNDhhXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNaWZtUElVdTgzd2U3MG5LT3NYVk4zcHNHX2pDLWhUTDlzMUJmNDZzY0dlRjZ0Q2hYQk5QSnp5dzhEaGtzZXk5UFZ6MnY0c0xUeHdjdjBHcmRsdDNhdDI1TUZsWXlzZTJyNFlCYzB1Y1dFLUFTZzNoQ0JVVmt5d0Uwa0gySnk2QkJBdXFKVVdVQ256NjI1V1FoZk5iWUpWVXFPUWNDdzJNSlRRMWh1LUJObzlNU2ZMM0F5REQwZ3prcHNpV2tmWGNHOEF0LVEyRzd6VzJiRjlER1dlQk9wTEh3SDRUMWhBbG1QQmJxQVJYMTNVRExyQWhIMlhvSWV5V01aR2xhbEdyMFk1TFJLRU05aWc3cWJhUFBNTE9NSEZTZnNfM2NmLTlQZGpZcVA3ck1rYjVnRjBnMm5VWUhXYmU5RVk3NlYwa2tiRXdtZkd2VDlOT0poaEJMX25MdzI1OVFQTEdhSjVteTFBOEVycWJKOTB0dUYxampnVGR0S0tnX2dOQXZaZTYxSWstM3VpV0hXYWpvbWctM2hCazh3RUFyOVVSWkVYY1lkb1RxcmZMWnVVNVJycXkwVllwUGQ2QXBMZ1ZzR1VaVlpPZGtQS2VPNEJVd2xpQkJiM1pzbkY5bTNOeGxReHYxbmpEcGpwclRNM0oxWHBoUlllZkdrZlNFT0ZNWW5rWW1QSWRsZVJMNWRndnE0TGtubEdBbms1dGlZdXpqZWNmQU0yNktVeGkyNkVzNk5qalJZUmtoNXdwY3RJcDNNcWN4WXhNcHVrRFRtR1VOX3V5eTVScC1vWXRUcmVuRGw3VkZSN0tRYm9XcTdqRGpuSXR1RHFTZFBpZ0dibVRRSmF5TlVEYVFSTzduM0tDYzY0eTc4RFowN2FXc1NOUmdCOFVLdkgyQnVCcWIzWloya2o1SF8tNU4zdXF5SGw3WTluQ2Y4RVhZWjd5YV9Vbk05UTd6RmFWSUVwUDA4T2hVUk1HTTZaLW53X2FlekVZY0dYODFQZ3RHdXFfU1dGUWVmYjRrNklpTHowWnluVU1DQXRxVFd4OVg2RHVob3V1akpWWDVqY1ZyR21KQU1XcWtVa2pGdkJ6SEFwdGlfMXVmTU5BMVMwNVNneUotX3YxVWFPZVZWNk5ZMmZNMS1pR2VoU2x4Q05SZ2M1VWpISkNTcHRyeTF1SHBYUW5VbWdOS1IyYTN4WjRyMWp6Zm1rTE1xMHdpTWV0QjZac0loVW1BX01zZnU3TFRZaU04Y3NxQW1XOGI0NlQ1MlNiV3FZUFVUMEI5V0tCbXJpVm1fLUZBM3p3SEtUV3FlQUdVTXZIN0tyVmVHWHJEazk5dFZ2NnZGc1lQUVpheUMtTS1ib05VYkw3ZnhOc3J1dlFTSkdyYTBCSDVsbnJJTDJwaHRjMnR6VFlKNFEwQ3g2WkVXQnIwMUg1SHFuUUo0SDVKRkRJdDdpd1hPTjVncklNNmRMdW04WXNPQWMxWmVwTnlqUm05WkxVZU03R1A2ejl2OVZSd09POWtTTUxEdGlEVUVYX195MXVCU25mdzktUV9fLWgwenFOWDhzS3lSWEFXRE51dl8zNlF3ejhweDJHNVIwZ3o3cWVzR3g2OXdqaHFsbXl6amxRTDNPNE90bVJYcGlBQW9mVnc0S0xLNjlmWlQ4M0ZvWFBqU21GRC04Y0hiVGFCLU1nYjNhdFlZUFJ6X1JNdVRJS19XZ2g2RmphTzJOME11TkxlNDR1aGZrQmgxWXJSTXNXZWFfMFpPdWlyT2ROYmppUFVWLVhTaUt4c1JpZzN2NFlXQUk0RnFoODAycGtQdWQxYmFUa29rYU94Qm4teG5VcldjZkEwRy1WbEtMTXpjZTVRUWE3MUhaemtZczRKTWlKaUtPY0dmRVhGN0N2OHhiUW0xWlFVSzItM2QyVGpUb0F6SGFvZXVQVWJ3OW11NzZKVEo3LUxNdGE4QXdwQlNQTjRXTGtUby00aXhJUHl0SGNaVTJEVFFuaWw1WElKT2Fsd192b2pERWVncnNlU1dVeEFMNkxmd2FQRG9NZlZpSnYwYmlNaWFnb2NNZTVlakJqRTAzaVZPc1ZDcTl5SkFkSlRsUnpNQ0dwLTRRZmZsLWh6d1FXSFVIX1JBUlJzb010blJ2Zy1pWkN5TTdWTlMxMjhucDRTSjZxSmxRczZTTkdhTVIzb0wwTjBOY0J4QmJyOG4xaHFaUDlCQ21jRkV0NGxDeDdiUEpSNmlBX0pWUjFLUWI0TUNyMjI5dHBzU1BPUVJ2N1Z4bWx4U2x0UzNDcVptTmxXTGhWbmF0RjE0bi1wdEEySEp5cmUwNGZtX0N6RndOMWw4NDFOV0NyaWdoem0zTjU0dWZ0TUxDaExWbzFzMEFuS0lubmJGT2lwLVdLOWxlSm5CV2oydFJzOWJkbDJ3SE9ZeDE3bUxDd1lQYVpTSmtOT3NkM3JCYWFIX0VtRGZldjYxU1ppekxVc3U4S2RuXzdRUFRMQk9pNG5Vbkhmb1ZUV0xLeW9JSjlBS05NWVVhTVpCdC0zdTdYT2I0R3A2SzNhNnJKVHhLMG1hTTBNQjZ1WWh3YWtCUHhCem1Fa1V0cUZwSFJZMnNiOEl4TF9kNzNqVncwdVhON2JrQlRpbHNSN1llM3ZVNVB2aUZzYmhfNFhiYUdKOVQxVng3MGhXbGZ5TVF3WHZlam1SZkt6ejB5QkRYQVRFMlNyS29hYkw1cERPZ2M3ajB4TUhTcGE4a1ZXMk05S0Y5elZ6TzgweWt2RWtTX245bHo0OXZCV0FHWG1DeUNoaUVRSTAxdkQ2c3pLYjlPSjBxOFVQcEh2Nkx4Y2VDZ3Zsa0J6QkVSLUhNQ3VudldXUWRzeEZTVm9HZndDZGtUSlBXQ2xmY1NsNE1wS2JEb0l6c2ZjM0cxZ3ZwZzRrWnM4MUN3UXk3X29fd21pZ1pENVdxQnVqT25UT2lBNzZMYmhaYzdhOGpSWkJqR3NEVzMycjdEc0E5NU9kSUZYTjZhMG5ldWxVOWZmNFgyZjB1NlNNTzQ4bkZmMDZKTTlGQWMxUENzSTBpNFJWNzBfUlRfSzFtQWhYVkludTlJaDFzdk00TlJRdldZY2h3cHBnMzBabllOeTVhWnozVUhQcVF3cXd2bmtTeUN4R2ZWUndNM1QtcUhXMkR0Vk5FaE0ySGNFV2RSLXAzcHRKTG9hUWkzVTd1cldlMDRKYjhpb0JfeTNHcHRuLXA2cWxNcjRfYlo5TWNaNFNPX2V6dU9xbk13TDBDc0ZKdG8yWDU3QzlEX1I1SDN6VWU0UFRwaGpHeGhGRUE3REgteHhneWplTGdPQk90RW54andoMm5YMEpCSmI5MzNmWVlhR3VjT2FvQzlrS3ZhR3hnV2RxQjBLek4wYlh1bzlaQ1h0ZEFFM21DOGtJR0Y5cGd6b1RoUmdZdWxUX2E1TUZLVVNxbFVUQjdhT1N1NDhwZ2o0b08zUjdCeTBMSXlzc0ZJRXgyVGxLZVFwMnotYURSU2NBX3RaSzlON2RSVnFsc3JDRkFmUVZkN1hOclc4eVV1elR0TVVRT2xMelZIYkNKVFdsTXB1anpoR2dKeV9GeFU1MzExZzFoQk1tNThCR1NvQlNUeE9hWjNjc3dLUjg1cU9QTnNMV1NwdjVYYm1yYXdET2poT1ZyaXNsYnRzT0VFRFZZazNfZ2tPdnZmTWtDQlNMd3ZUQjJwZXVuREN0UkZGN0ZSbDdGZnlNSE5EYU9pSV9HMGh5a1lNcVp5bDZVRkRkQmVfTlIzbEQ3QjF2X1RZM3hLcXllOVh3UTM3RlZyLTk3UjFMVFd2dGFtMWxHYkF1Y0JydTlOV1gyVmxmaUNONE9nZTl2T1k5bWJCNFNkRHJ0S0kzazFpNFE2cU1tSGw5OElMUE1UTXV6VldkOEladFgyejFiS0h0cGt1Nm1rMVdNQlpnOTJVX1hKWGNmUjNSQVczS1VuYjZoTDVFcFE1MXE0bGVuZE1uSmxMdFU3RktjaDN2SG1JVDRrNHlsSTBZTUM5TlhXMHo4Z3JHaVBZbmlIZTloQ212NnFjZEVqZmpXSzVjWm01OHlLR2tGcFd6S2pKLUxpNUN6eWRQRnZIc01teFBnOTVMQzRSaWJBQ25KaUE0Rk8wZzF4WWJwNWVwTnc3UUgyd0N6cTlBZnU1cFo1a0xvWFN0VjhKbnZTSXNXX05GdWYwSGhoWUVKZnJmaVpXRXR0WjhwdEF1UVdPRGJmLWJaMjV2U1g0NlFBVHIycFJMVkgtV1Z5N29JT3BwMU1MbF9OY1R3a0VtNFVnbHZ5WDM3cm5VTVNNSHdLVzhxcGU1Vk9PNXVzTFhTYlBDYmtMamhOeDRSZXg4ZVVhRmRoSVVuTFFrenhzY3RJU2FWWnZBaXVwRWZ4TUhqMFFyV2VsTXFTSjhsZzY2eXpmb0EwOGVVd0xYalA3M3d5Ty1RYmJZRTNGOElXODdnV3NRenMzTlhWX21WY0NnQ2VtdWFwY3BRLVRFS0I2eldhYVJyT1lueHhwaGNlc0tyeTAzN2xRcUhsYnVEQk43TlhUTk1Ka0xZczRkV3Npam04MlBpQV82Y0FYWTBqaE9ISHRmLTFhVDhrU0RfZlRwZXJXWTlsa01HYVJyUWdOZjZYZ3VhY1pIbWpkTmRVRU1CZWp6SlpLWkpxY3FhVkFHbUpmS0tzQ3NqUDFHbUJWVjdJSEhQakJPc2l0RHZxWkhCcUZVTDZrZHVPcDlIRDVfclhXRFNOcDgydWx5ZTkzNUM0ek9fSndVMWtoYnBNNW5tejZfbXhaX044aGI1ZjRjOXBkLXA4US1kUzJGcF9FNmJyb2ZYZUZIQXpyWVI3dFdmdXBIRHMtaXhOY0sxckxoVlNaUDE3VWhMUUxURDhGMG1sRTVTUDNtcmNRPT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkFzc2Vzc2luZyBRdCBhbmQgR1RLIGRlcGVuZGVuY2llcyoqXCJ9LHtcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipEZXNpZ25pbmcgUU1MIEFwcGxpY2F0aW9uV2luZG93IGFuZCBjb21wb25lbnRzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0lsWVNEYW5NN3BNNkZxNDRpMWRNeXhDRXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg5ZmY1YjQ4MTkxOTYyMzAyNjFmODYzYWE4ZiIsIm5hbWUiOiJ3cml0ZSIsImFyZ3VtZW50cyI6eyJwYXRoIjoiY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnMiLCJjb250ZW50IjoidXNlIHFtZXRhb2JqZWN0Ojp7UW1sRW5naW5lLCBRU3RyaW5nLCBRVmFyaWFudH07XG51c2Ugc3RkOjpmcztcblxuY29uc3QgQk9BUkRTOiAmc3RyID0gaW5jbHVkZV9zdHIhKFwiLi4vLi4vLi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvU1VQUE9SVEVELUJPQVJEU1wiKTtcbmNvbnN0IFFNTDogJnN0ciA9IGluY2x1ZGVfc3RyIShcIi4uL3FtbC9NYWluLnFtbFwiKTtcblxuZm4gbWFpbigpIHtcbiAgICBsZXQgbXV0IGVuZ2luZSA9IFFtbEVuZ2luZTo6bmV3KCk7XG4gICAgZW5naW5lLnNldF9wcm9wZXJ0eShcbiAgICAgICAgUVN0cmluZzo6ZnJvbShcInN1cHBvcnRlZEJvYXJkc1RleHRcIiksXG4gICAgICAgIFFWYXJpYW50Ojpmcm9tKFFTdHJpbmc6OmZyb20oQk9BUkRTKSksXG4gICAgKTtcbiAgICBlbmdpbmUuc2V0X3Byb3BlcnR5KFxuICAgICAgICBRU3RyaW5nOjpmcm9tKFwiYXZhaWxhYmxlRHJpdmVzVGV4dFwiKSxcbiAgICAgICAgUVZhcmlhbnQ6OmZyb20oUVN0cmluZzo6ZnJvbShhdmFpbGFibGVfZHJpdmVzKCkuam9pbihcIlxcblwiKSkpLFxuICAgICk7XG4gICAgZW5naW5lLmxvYWRfZGF0YShRTUwuaW50bygpKTtcbiAgICBlbmdpbmUuZXhlYygpO1xufVxuXG5mbiBhdmFpbGFibGVfZHJpdmVzKCkgLT4gVmVjPFN0cmluZz4ge1xuICAgIGxldCBtdXQgZHJpdmVzID0gVmVjOjpuZXcoKTtcbiAgICBsZXQgT2soZW50cmllcykgPSBmczo6cmVhZF9kaXIoXCIvc3lzL2Jsb2NrXCIpIGVsc2Uge1xuICAgICAgICByZXR1cm4gZHJpdmVzO1xuICAgIH07XG5cbiAgICBmb3IgZW50cnkgaW4gZW50cmllcy5mbGF0dGVuKCkge1xuICAgICAgICBsZXQgbmFtZSA9IGVudHJ5LmZpbGVfbmFtZSgpLnRvX3N0cmluZ19sb3NzeSgpLmludG9fb3duZWQoKTtcbiAgICAgICAgaWYgbmFtZS5zdGFydHNfd2l0aChcImxvb3BcIikgfHwgbmFtZS5zdGFydHNfd2l0aChcInJhbVwiKSB8fCBuYW1lLnN0YXJ0c193aXRoKFwienJhbVwiKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcmVtb3ZhYmxlID0gZnM6OnJlYWRfdG9fc3RyaW5nKGVudHJ5LnBhdGgoKS5qb2luKFwicmVtb3ZhYmxlXCIpKVxuICAgICAgICAgICAgLm1hcCh8dmFsdWV8IHZhbHVlLnRyaW0oKSA9PSBcIjFcIilcbiAgICAgICAgICAgIC51bndyYXBfb3IoZmFsc2UpO1xuICAgICAgICBpZiAhcmVtb3ZhYmxlICYmICFuYW1lLnN0YXJ0c193aXRoKFwibW1jYmxrXCIpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHNlY3RvcnMgPSBmczo6cmVhZF90b19zdHJpbmcoZW50cnkucGF0aCgpLmpvaW4oXCJzaXplXCIpKVxuICAgICAgICAgICAgLm9rKClcbiAgICAgICAgICAgIC5hbmRfdGhlbih8dmFsdWV8IHZhbHVlLnRyaW0oKS5wYXJzZTo6PHU2ND4oKS5vaygpKVxuICAgICAgICAgICAgLnVud3JhcF9vcigwKTtcbiAgICAgICAgbGV0IG1vZGVsID0gZnM6OnJlYWRfdG9fc3RyaW5nKGVudHJ5LnBhdGgoKS5qb2luKFwiZGV2aWNlL21vZGVsXCIpKVxuICAgICAgICAgICAgLnVud3JhcF9vcl9kZWZhdWx0KClcbiAgICAgICAgICAgIC50cmltKClcbiAgICAgICAgICAgIC50b19vd25lZCgpO1xuICAgICAgICBsZXQgZGVzY3JpcHRpb24gPSBpZiBtb2RlbC5pc19lbXB0eSgpIHtcbiAgICAgICAgICAgIGZvcm1hdCEoXCIvZGV2L3tuYW1lfVwiKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbW9kZWxcbiAgICAgICAgfTtcbiAgICAgICAgZHJpdmVzLnB1c2goZm9ybWF0IShcbiAgICAgICAgICAgIFwie2Rlc2NyaXB0aW9ufSAgwrcgIHt9ICDCtyAgL2Rldi97bmFtZX1cIixcbiAgICAgICAgICAgIGZvcm1hdF9zaXplKHNlY3RvcnMuc2F0dXJhdGluZ19tdWwoNTEyKSlcbiAgICAgICAgKSk7XG4gICAgfVxuICAgIGRyaXZlcy5zb3J0KCk7XG4gICAgZHJpdmVzXG59XG5cbmZuIGZvcm1hdF9zaXplKGJ5dGVzOiB1NjQpIC0+IFN0cmluZyB7XG4gICAgY29uc3QgR0lCOiBmNjQgPSAxMDI0LjAgKiAxMDI0LjAgKiAxMDI0LjA7XG4gICAgY29uc3QgTUlCOiBmNjQgPSAxMDI0LjAgKiAxMDI0LjA7XG4gICAgaWYgYnl0ZXMgYXMgZjY0ID49IEdJQiB7XG4gICAgICAgIGZvcm1hdCEoXCJ7Oi4xfSBHQlwiLCBieXRlcyBhcyBmNjQgLyBHSUIpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgZm9ybWF0IShcIns6LjB9IE1CXCIsIGJ5dGVzIGFzIGY2NCAvIE1JQilcbiAgICB9XG59XG4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEyMjksIm91dHB1dCI6MTEzMiwiY2FjaGVSZWFkIjo0NzYxNiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo0MzcsInRvdGFsVG9rZW5zIjo0OTk3NywiY29zdCI6eyJpbnB1dCI6MC4wMDYxNDUsIm91dHB1dCI6MC4wMzM5NjAwMDAwMDAwMDAwMDQsImNhY2hlUmVhZCI6MC4wMjM4MDgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA2MzkxM319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTgzNzY1NCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4OGUxYTY4ODE5MTlkMjc2NWI4NzQ4YTZiNGIifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZjkwMWZlYzMiLCJwYXJlbnRJZCI6ImY4NjBjNmE3IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMTowNC42NTNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0lsWVNEYW5NN3BNNkZxNDRpMWRNeXhDRXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg5ZmY1YjQ4MTkxOTYyMzAyNjFmODYzYWE4ZiIsInRvb2xOYW1lIjoid3JpdGUiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgd3JvdGUgMjEyMyBieXRlcyB0byBjcmF0ZXMvZmxhc2hlci1xdC9zcmMvbWFpbi5ycyJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTg2NDY1M319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjM1OTEyNGI3IiwicGFyZW50SWQiOiJmOTAxZmVjMyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzI6MDcuNDk3WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4YWEzZTIwODE5MWIyYzk0NmM2ZDdjNGM2YmZcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1pdHZXeUx4NmU5YV85Q3Q0UmREVXY5UlRHTS0xdVk2Tlg1UHpvbWJjeTdDd0xySTd3elUwMDFKbXRLcHM2ekc2NExMY0ktWkNNczhJUkFKa050eXZLX3dVTFBhbjFkRUQyWm54UzRfYTJQNXJOMFlIR1pTZm52TkNHXy0xdEthXzFsNFNvY2ljVEZZbGdsUzRMbmJwX2U1TDRTRElRenZkSklnaEFJZ3IwWXU4cWhxaGxvMWFoSFFLRnJMS0tac2J6cktUbGpoMmMtRG5raFN2T0JlWnhQNE9vRWF2VkhjS0hhTEZvbjJrcTB4YXQtUlVnQTRVS1A2ZlBmWXZma3AycVZzakhHd3ROUS1ValNzNGJaWGJuZy1RakhOQ3NaNHVDZGlNeVpQb1JuVGhxelNYYzgwTjdBejdKSERPMTNaWHRwN2E1Q0NTMHJ3MUJQVVRuM0RoUGhUenR5VlBVRjBBVUxEY2x0YlkweFNWY0tNbWowZVN4d3FaMFd2OHJJMDZoTGFIUlV5b1MxaG4tZFB5M0NjVFQxNExSOC11d2dpZnhoMDZua3hTQjZuZXZIdzlFN1VIVV90V3NXT0RHZVk2Qll2UVdXZVUtZjRfRU9EZ1owTHllQzRGTjJxbjBaMDRHaFBudkdUMXc0Z3ZDNks4cmxhOHltem5pa2Rtak9oVXZmWW5ZNm9LYXJZRjZKQ252b2tIMDUwVkpVLUxpVGhVNlJoaExPSTZzRDU5UUFQSGd0X1dVVF9hOC05b2szWk1RX3pvVGFOMmRVZ25CQVVQMUNUeDA2amNzelBmbktmRm9lNFEwOEFWaUUwNXVZQXNWbmVqQmtFV3M3R25hWmg3d2dzcTRlcmltRFhfaTlmS0pWSmc1NmlJYjdzb1RtaDM1cE9QRXplcnh3RFA3TTVubnJkWkRYaXlISkVFYTZTRlcyQmhvemxWLXVIUi12MW1zMDBYZk9xb0g1X19PcVBMRTY1NjVWVkk3SWR3NjVmVU0tWkxxYzhvUDVKYWZUU0pzeElKWlR0U0hGRHhhMVRiTGhsRm54c2xNbU1SQVc0M0M3Mkpjc1BzZ0tobkhfV2E1b2JXbVJ5clBpOVhEUVJOX0NSbTFDbkdWczdaanNRTVlBTUdtMGlZREJOSFVrX3FOMVNadEpvbktmemtFWmVFMGxXV05FVExRR1lUNEVyWG1Ba0NsSVY3bDJJVXdwQjhaVWtVUHdWeG42andVSXI2TXJmbFBFbzVBYkhycz1cIixcInN1bW1hcnlcIjpbXX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9rZnNkanJrd0w1SHk0RXBQd2piM3ViTzV8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4YWQyMzg4ODE5MTg3ODI0OWRjMjk1MzYzNzUiLCJuYW1lIjoid3JpdGUiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L3FtbC9NYWluLnFtbCIsImNvbnRlbnQiOiJpbXBvcnQgUXRRdWljayAyLjEyXG5pbXBvcnQgUXRRdWljay5Db250cm9scyAyLjEyXG5pbXBvcnQgUXRRdWljay5MYXlvdXRzIDEuMTJcbmltcG9ydCBRdC5sYWJzLnBsYXRmb3JtIDEuMSBhcyBQbGF0Zm9ybVxuXG5BcHBsaWNhdGlvbldpbmRvdyB7XG4gICAgaWQ6IHdpbmRvd1xuICAgIHZpc2libGU6IHRydWVcbiAgICB3aWR0aDogNzYwXG4gICAgaGVpZ2h0OiA4MjBcbiAgICBtaW5pbXVtV2lkdGg6IDYyMFxuICAgIG1pbmltdW1IZWlnaHQ6IDYyMFxuICAgIHRpdGxlOiBxc1RyKFwiQUxUIEltYWdlIFdyaXRlciDigJQgUXRcIilcblxuICAgIHByb3BlcnR5IGJvb2wgc291cmNlSXNJbWFnZTogZmFsc2VcbiAgICBwcm9wZXJ0eSBib29sIG91dHB1dElzRmlsZTogZmFsc2VcbiAgICBwcm9wZXJ0eSBzdHJpbmcgc291cmNlUGF0aDogXCJcIlxuICAgIHByb3BlcnR5IHN0cmluZyBvdXRwdXRQYXRoOiBcIlwiXG4gICAgcHJvcGVydHkgc3RyaW5nIHNlbGVjdGVkQm9hcmQ6IFwiXCJcbiAgICBwcm9wZXJ0eSBzdHJpbmcgc2VsZWN0ZWRQbGF0Zm9ybTogXCJcIlxuICAgIHByb3BlcnR5IHZhciBkcml2ZU5hbWVzOiBhdmFpbGFibGVEcml2ZXNUZXh0Lmxlbmd0aCA/IGF2YWlsYWJsZURyaXZlc1RleHQuc3BsaXQoXCJcXG5cIikgOiBbXVxuXG4gICAgZnVuY3Rpb24gbG9jYWxQYXRoKHVybCkge1xuICAgICAgICB2YXIgdmFsdWUgPSB1cmwudG9TdHJpbmcoKVxuICAgICAgICByZXR1cm4gdmFsdWUuaW5kZXhPZihcImZpbGU6Ly9cIikgPT09IDAgPyBkZWNvZGVVUklDb21wb25lbnQodmFsdWUuc3Vic3RyaW5nKDcpKSA6IHZhbHVlXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZmlsZU5hbWUocGF0aCkge1xuICAgICAgICB2YXIgcGFydHMgPSBwYXRoLnNwbGl0KFwiL1wiKVxuICAgICAgICByZXR1cm4gcGFydHNbcGFydHMubGVuZ3RoIC0gMV1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZWFkeSgpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZVBhdGgubGVuZ3RoID4gMCAmJiBzZWxlY3RlZEJvYXJkLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAmJiAob3V0cHV0SXNGaWxlID8gb3V0cHV0UGF0aC5sZW5ndGggPiAwIDogZHJpdmVCb3guY3VycmVudEluZGV4ID49IDApXG4gICAgfVxuXG4gICAgaGVhZGVyOiBUb29sQmFyIHtcbiAgICAgICAgUm93TGF5b3V0IHtcbiAgICAgICAgICAgIGFuY2hvcnMuZmlsbDogcGFyZW50XG4gICAgICAgICAgICBhbmNob3JzLmxlZnRNYXJnaW46IDE2XG4gICAgICAgICAgICBhbmNob3JzLnJpZ2h0TWFyZ2luOiA4XG4gICAgICAgICAgICBMYWJlbCB7XG4gICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIkFMVCBJbWFnZSBXcml0ZXJcIilcbiAgICAgICAgICAgICAgICBmb250LnBpeGVsU2l6ZTogMThcbiAgICAgICAgICAgICAgICBmb250LmJvbGQ6IHRydWVcbiAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBUb29sQnV0dG9uIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBcIuKTmFwiXG4gICAgICAgICAgICAgICAgZm9udC5waXhlbFNpemU6IDE4XG4gICAgICAgICAgICAgICAgQWNjZXNzaWJsZS5uYW1lOiBxc1RyKFwiQWJvdXRcIilcbiAgICAgICAgICAgICAgICBvbkNsaWNrZWQ6IGFib3V0RGlhbG9nLm9wZW4oKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgU2Nyb2xsVmlldyB7XG4gICAgICAgIGlkOiBzY3JvbGxcbiAgICAgICAgYW5jaG9ycy5maWxsOiBwYXJlbnRcbiAgICAgICAgY29udGVudFdpZHRoOiBhdmFpbGFibGVXaWR0aFxuICAgICAgICBjbGlwOiB0cnVlXG5cbiAgICAgICAgQ29sdW1uTGF5b3V0IHtcbiAgICAgICAgICAgIHdpZHRoOiBNYXRoLm1pbihzY3JvbGwuYXZhaWxhYmxlV2lkdGggLSA0MCwgNzAwKVxuICAgICAgICAgICAgeDogTWF0aC5tYXgoMjAsIChzY3JvbGwuYXZhaWxhYmxlV2lkdGggLSB3aWR0aCkgLyAyKVxuICAgICAgICAgICAgc3BhY2luZzogMTZcblxuICAgICAgICAgICAgSXRlbSB7IExheW91dC5wcmVmZXJyZWRIZWlnaHQ6IDggfVxuICAgICAgICAgICAgTGFiZWwge1xuICAgICAgICAgICAgICAgIHRleHQ6IHFzVHIoXCJDcmVhdGUgSW5zdGFsbGF0aW9uIE1lZGlhXCIpXG4gICAgICAgICAgICAgICAgZm9udC5waXhlbFNpemU6IDI2XG4gICAgICAgICAgICAgICAgZm9udC5ib2xkOiB0cnVlXG4gICAgICAgICAgICAgICAgTGF5b3V0LmFsaWdubWVudDogUXQuQWxpZ25IQ2VudGVyXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBMYWJlbCB7XG4gICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIlByZXBhcmUgYW4gQUxUIExpbnV4IHJvb3QgZmlsZXN5c3RlbSBvciBkaXNrIGltYWdlIGZvciB5b3VyIGJvYXJkLlwiKVxuICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlLm1pZFxuICAgICAgICAgICAgICAgIHdyYXBNb2RlOiBUZXh0LldvcmRXcmFwXG4gICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWdubWVudDogVGV4dC5BbGlnbkhDZW50ZXJcbiAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEZyYW1lIHtcbiAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICAgICAgQ29sdW1uTGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5maWxsOiBwYXJlbnRcbiAgICAgICAgICAgICAgICAgICAgc3BhY2luZzogMTJcbiAgICAgICAgICAgICAgICAgICAgTGFiZWwgeyB0ZXh0OiBxc1RyKFwiSW5zdGFsbGF0aW9uIFNvdXJjZVwiKTsgZm9udC5ib2xkOiB0cnVlOyBmb250LnBpeGVsU2l6ZTogMTcgfVxuICAgICAgICAgICAgICAgICAgICBMYWJlbCB7IHRleHQ6IHFzVHIoXCJDaG9vc2UgYSByb290IGZpbGVzeXN0ZW0gYXJjaGl2ZSBvciBhIHJlYWR5LW1hZGUgZGlzayBpbWFnZS5cIik7IGNvbG9yOiBwYWxldHRlLm1pZCB9XG4gICAgICAgICAgICAgICAgICAgIEJ1dHRvbkdyb3VwIHsgaWQ6IHNvdXJjZUdyb3VwIH1cbiAgICAgICAgICAgICAgICAgICAgUm93TGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIlNvdXJjZSB0eXBlXCIpOyBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFJhZGlvQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBxc1RyKFwiUm9vdCBmaWxlc3lzdGVtXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvbkdyb3VwLmdyb3VwOiBzb3VyY2VHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZWQ6IGlmIChjaGVja2VkKSBzb3VyY2VJc0ltYWdlID0gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFJhZGlvQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBxc1RyKFwiRGlzayBpbWFnZVwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvbkdyb3VwLmdyb3VwOiBzb3VyY2VHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZWQ6IGlmIChjaGVja2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUlzSW1hZ2UgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dElzRmlsZSA9IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlT3V0cHV0LmNoZWNrZWQgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFJvd0xheW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFjaW5nOiAxMlxuICAgICAgICAgICAgICAgICAgICAgICAgTGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHNvdXJjZVBhdGgubGVuZ3RoID8gZmlsZU5hbWUoc291cmNlUGF0aCkgOiBxc1RyKFwiTm8gc291cmNlIHNlbGVjdGVkXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC5ib2xkOiBzb3VyY2VQYXRoLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGlkZTogVGV4dC5FbGlkZU1pZGRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvbiB7IHRleHQ6IHFzVHIoXCJDaG9vc2XigKZcIik7IG9uQ2xpY2tlZDogc291cmNlRGlhbG9nLm9wZW4oKSB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgTGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogc291cmNlUGF0aC5sZW5ndGggPyBzb3VyY2VQYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHNvdXJjZUlzSW1hZ2UgPyBxc1RyKFwiU3VwcG9ydGVkOiAuaW1nLCAuaW1nLnh6XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBxc1RyKFwiU3VwcG9ydGVkOiAudGFyLCAudGFyLmd6LCAudGFyLnh6XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcGFsZXR0ZS5taWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsaWRlOiBUZXh0LkVsaWRlTWlkZGxlXG4gICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEZyYW1lIHtcbiAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICAgICAgQ29sdW1uTGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5maWxsOiBwYXJlbnRcbiAgICAgICAgICAgICAgICAgICAgc3BhY2luZzogMTBcbiAgICAgICAgICAgICAgICAgICAgTGFiZWwgeyB0ZXh0OiBxc1RyKFwiVGFyZ2V0IEhhcmR3YXJlXCIpOyBmb250LmJvbGQ6IHRydWU7IGZvbnQucGl4ZWxTaXplOiAxNyB9XG4gICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIkJvYXJkcyBhcmUgZ3JvdXBlZCBieSBwbGF0Zm9ybSwgU29DIGZhbWlseSwgYW5kIGFyY2hpdGVjdHVyZS5cIik7IGNvbG9yOiBwYWxldHRlLm1pZCB9XG4gICAgICAgICAgICAgICAgICAgIFJvd0xheW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBDb2x1bW5MYXlvdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHNlbGVjdGVkQm9hcmQubGVuZ3RoID8gc2VsZWN0ZWRCb2FyZCA6IHFzVHIoXCJObyBib2FyZCBzZWxlY3RlZFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LmJvbGQ6IHNlbGVjdGVkQm9hcmQubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHNlbGVjdGVkQm9hcmQubGVuZ3RoID8gc2VsZWN0ZWRQbGF0Zm9ybSA6IHFzVHIoXCJDaG9vc2UgZnJvbSB0aGUgc3VwcG9ydGVkIGJvYXJkIGxpc3RcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUubWlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQnV0dG9uIHsgdGV4dDogcXNUcihcIlNlbGVjdCBCb2FyZOKAplwiKTsgb25DbGlja2VkOiBib2FyZERpYWxvZy5vcGVuKCkgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBGcmFtZSB7XG4gICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxXaWR0aDogdHJ1ZVxuICAgICAgICAgICAgICAgIENvbHVtbkxheW91dCB7XG4gICAgICAgICAgICAgICAgICAgIGFuY2hvcnMuZmlsbDogcGFyZW50XG4gICAgICAgICAgICAgICAgICAgIHNwYWNpbmc6IDEyXG4gICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIkRlc3RpbmF0aW9uXCIpOyBmb250LmJvbGQ6IHRydWU7IGZvbnQucGl4ZWxTaXplOiAxNyB9XG4gICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIldyaXRlIHRvIHJlbW92YWJsZSBtZWRpYSBvciBjcmVhdGUgYW4gaW1hZ2UgZmlsZS5cIik7IGNvbG9yOiBwYWxldHRlLm1pZCB9XG4gICAgICAgICAgICAgICAgICAgIEJ1dHRvbkdyb3VwIHsgaWQ6IG91dHB1dEdyb3VwIH1cbiAgICAgICAgICAgICAgICAgICAgUm93TGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIk91dHB1dCB0eXBlXCIpOyBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFJhZGlvQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogZHJpdmVPdXRwdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBxc1RyKFwiRHJpdmVcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQnV0dG9uR3JvdXAuZ3JvdXA6IG91dHB1dEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGVja2VkQ2hhbmdlZDogaWYgKGNoZWNrZWQpIG91dHB1dElzRmlsZSA9IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBSYWRpb0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIkltYWdlIGZpbGVcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVkOiAhc291cmNlSXNJbWFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvbkdyb3VwLmdyb3VwOiBvdXRwdXRHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZWQ6IGlmIChjaGVja2VkKSBvdXRwdXRJc0ZpbGUgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgUm93TGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6ICFvdXRwdXRJc0ZpbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIlN0b3JhZ2UgZGV2aWNlXCIpOyBMYXlvdXQucHJlZmVycmVkV2lkdGg6IDE1MCB9XG4gICAgICAgICAgICAgICAgICAgICAgICBDb21ib0JveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGRyaXZlQm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxXaWR0aDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiBkcml2ZU5hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheVRleHQ6IGN1cnJlbnRJbmRleCA8IDAgPyBxc1RyKFwiTm8gcmVtb3ZhYmxlIGRyaXZlcyBkZXRlY3RlZFwiKSA6IGN1cnJlbnRUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgUm93TGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IG91dHB1dElzRmlsZVxuICAgICAgICAgICAgICAgICAgICAgICAgTGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IG91dHB1dFBhdGgubGVuZ3RoID8gb3V0cHV0UGF0aCA6IHFzVHIoXCJDaG9vc2Ugd2hlcmUgdG8gc2F2ZSB0aGUgaW1hZ2VcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGlkZTogVGV4dC5FbGlkZU1pZGRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvbiB7IHRleHQ6IHFzVHIoXCJDaG9vc2XigKZcIik7IG9uQ2xpY2tlZDogb3V0cHV0RGlhbG9nLm9wZW4oKSB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEZyYW1lIHtcbiAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICAgICAgQ29sdW1uTGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5maWxsOiBwYXJlbnRcbiAgICAgICAgICAgICAgICAgICAgc3BhY2luZzogOFxuICAgICAgICAgICAgICAgICAgICBMYWJlbCB7IHRleHQ6IHFzVHIoXCJPcHRpb25zXCIpOyBmb250LmJvbGQ6IHRydWU7IGZvbnQucGl4ZWxTaXplOiAxNyB9XG4gICAgICAgICAgICAgICAgICAgIFJvd0xheW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBMYWJlbCB7IHRleHQ6IHFzVHIoXCJSb290IGZpbGVzeXN0ZW1cIik7IExheW91dC5maWxsV2lkdGg6IHRydWUgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQ29tYm9Cb3ggeyBtb2RlbDogW1wiZXh0NFwiLCBcImYyZnNcIl0gfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIENoZWNrQm94IHsgdGV4dDogcXNUcihcIlJlc2l6ZSByb290IHBhcnRpdGlvbiB0byBmaWxsIHRoZSBkZXN0aW5hdGlvblwiKTsgY2hlY2tlZDogdHJ1ZSB9XG4gICAgICAgICAgICAgICAgICAgIENoZWNrQm94IHsgdGV4dDogcXNUcihcIkNyZWF0ZSBhIHNlcGFyYXRlIDUxMiBNaUIgYm9vdCBwYXJ0aXRpb25cIikgfVxuICAgICAgICAgICAgICAgICAgICBDaGVja0JveCB7IHRleHQ6IHFzVHIoXCJFbmNyeXB0IHRoZSByb290IHBhcnRpdGlvbiB3aXRoIExVS1NcIikgfVxuICAgICAgICAgICAgICAgICAgICBDaGVja0JveCB7IHRleHQ6IHFzVHIoXCJBZGQgdGhlIHN5c3RlbSBzZXJpYWwgY29uc29sZVwiKSB9XG4gICAgICAgICAgICAgICAgICAgIFJvd0xheW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBMYWJlbCB7IHRleHQ6IHFzVHIoXCJFRkkgc3lzdGVtIHBhcnRpdGlvblwiKTsgTGF5b3V0LmZpbGxXaWR0aDogdHJ1ZSB9XG4gICAgICAgICAgICAgICAgICAgICAgICBDb21ib0JveCB7IG1vZGVsOiBbcXNUcihcIk5vbmVcIiksIHFzVHIoXCJFRkkgKEdQVClcIiksIHFzVHIoXCJFRkkgKE1CUilcIildIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBSb3dMYXlvdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgTGFiZWwgeyB0ZXh0OiBxc1RyKFwiRmlyc3QtYm9vdCBWTkNcIik7IExheW91dC5maWxsV2lkdGg6IHRydWUgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQ29tYm9Cb3ggeyBtb2RlbDogW3FzVHIoXCJVc2UgaW1hZ2UgZGVmYXVsdFwiKSwgcXNUcihcIkVuYWJsZWRcIiksIHFzVHIoXCJEaXNhYmxlZFwiKV0gfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgSXRlbSB7IExheW91dC5wcmVmZXJyZWRIZWlnaHQ6IDgwIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvb3RlcjogVG9vbEJhciB7XG4gICAgICAgIFJvd0xheW91dCB7XG4gICAgICAgICAgICBhbmNob3JzLmZpbGw6IHBhcmVudFxuICAgICAgICAgICAgYW5jaG9ycy5tYXJnaW5zOiAxMFxuICAgICAgICAgICAgTGFiZWwgeyB0ZXh0OiBxc1RyKFwiTm90aGluZyB3aWxsIGJlIHdyaXR0ZW4gdW50aWwgeW91IGNvbmZpcm0uXCIpOyBjb2xvcjogcGFsZXR0ZS5taWQ7IExheW91dC5maWxsV2lkdGg6IHRydWUgfVxuICAgICAgICAgICAgQnV0dG9uIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBxc1RyKFwiUmV2aWV3IGFuZCBXcml0ZVwiKVxuICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkOiB0cnVlXG4gICAgICAgICAgICAgICAgZW5hYmxlZDogcmVhZHkoKVxuICAgICAgICAgICAgICAgIG9uQ2xpY2tlZDogcmV2aWV3RGlhbG9nLm9wZW4oKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgRGlhbG9nIHtcbiAgICAgICAgaWQ6IGJvYXJkRGlhbG9nXG4gICAgICAgIHBhcmVudDogT3ZlcmxheS5vdmVybGF5XG4gICAgICAgIGFuY2hvcnMuY2VudGVySW46IHBhcmVudFxuICAgICAgICB3aWR0aDogTWF0aC5taW4od2luZG93LndpZHRoIC0gNDgsIDYyMClcbiAgICAgICAgaGVpZ2h0OiBNYXRoLm1pbih3aW5kb3cuaGVpZ2h0IC0gODAsIDY1MClcbiAgICAgICAgbW9kYWw6IHRydWVcbiAgICAgICAgdGl0bGU6IHFzVHIoXCJTZWxlY3QgVGFyZ2V0IEJvYXJkXCIpXG4gICAgICAgIHN0YW5kYXJkQnV0dG9uczogRGlhbG9nLkNhbmNlbFxuXG4gICAgICAgIExpc3RNb2RlbCB7IGlkOiBhbGxCb2FyZHMgfVxuICAgICAgICBMaXN0TW9kZWwgeyBpZDogZmlsdGVyZWRCb2FyZHMgfVxuXG4gICAgICAgIGZ1bmN0aW9uIHBvcHVsYXRlKCkge1xuICAgICAgICAgICAgaWYgKGFsbEJvYXJkcy5jb3VudCA+IDApIHJldHVyblxuICAgICAgICAgICAgdmFyIHBsYXRmb3JtID0gXCJPdGhlclwiXG4gICAgICAgICAgICB2YXIgbGluZXMgPSBzdXBwb3J0ZWRCb2FyZHNUZXh0LnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgdmFyIGxpbmUgPSBsaW5lc1tpXS50cmltKClcbiAgICAgICAgICAgICAgICBpZiAoIWxpbmUubGVuZ3RoKSBjb250aW51ZVxuICAgICAgICAgICAgICAgIGlmIChsaW5lLmNoYXJBdChsaW5lLmxlbmd0aCAtIDEpID09PSBcIjpcIikge1xuICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybSA9IGxpbmUuc3Vic3RyaW5nKDAsIGxpbmUubGVuZ3RoIC0gMSlcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZXMgPSBsaW5lLnNwbGl0KC9cXFxccysvKVxuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IG5hbWVzLmxlbmd0aDsgKytqKVxuICAgICAgICAgICAgICAgICAgICAgICAgYWxsQm9hcmRzLmFwcGVuZCh7IGJvYXJkTmFtZTogbmFtZXNbal0sIHBsYXRmb3JtTmFtZTogcGxhdGZvcm0gfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWx0ZXIoXCJcIilcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGZpbHRlcihxdWVyeSkge1xuICAgICAgICAgICAgZmlsdGVyZWRCb2FyZHMuY2xlYXIoKVxuICAgICAgICAgICAgdmFyIG5lZWRsZSA9IHF1ZXJ5LnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxsQm9hcmRzLmNvdW50OyArK2kpIHtcbiAgICAgICAgICAgICAgICB2YXIgaXRlbSA9IGFsbEJvYXJkcy5nZXQoaSlcbiAgICAgICAgICAgICAgICBpZiAoIW5lZWRsZS5sZW5ndGggfHwgaXRlbS5ib2FyZE5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKG5lZWRsZSkgPj0gMFxuICAgICAgICAgICAgICAgICAgICAgICAgfHwgaXRlbS5wbGF0Zm9ybU5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKG5lZWRsZSkgPj0gMClcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyZWRCb2FyZHMuYXBwZW5kKHsgYm9hcmROYW1lOiBpdGVtLmJvYXJkTmFtZSwgcGxhdGZvcm1OYW1lOiBpdGVtLnBsYXRmb3JtTmFtZSB9KVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgb25PcGVuZWQ6IHsgcG9wdWxhdGUoKTsgc2VhcmNoRmllbGQuZm9yY2VBY3RpdmVGb2N1cygpIH1cblxuICAgICAgICBDb2x1bW5MYXlvdXQge1xuICAgICAgICAgICAgYW5jaG9ycy5maWxsOiBwYXJlbnRcbiAgICAgICAgICAgIFRleHRGaWVsZCB7XG4gICAgICAgICAgICAgICAgaWQ6IHNlYXJjaEZpZWxkXG4gICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxXaWR0aDogdHJ1ZVxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dDogcXNUcihcIlNlYXJjaCBib2FyZHMgb3IgcGxhdGZvcm1z4oCmXCIpXG4gICAgICAgICAgICAgICAgc2VsZWN0QnlNb3VzZTogdHJ1ZVxuICAgICAgICAgICAgICAgIG9uVGV4dENoYW5nZWQ6IGJvYXJkRGlhbG9nLmZpbHRlcih0ZXh0KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgTGFiZWwge1xuICAgICAgICAgICAgICAgIHRleHQ6IHFzVHIoXCIlMSBtYXRjaGluZyBib2FyZHNcIikuYXJnKGZpbHRlcmVkQm9hcmRzLmNvdW50KVxuICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlLm1pZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgTGlzdFZpZXcge1xuICAgICAgICAgICAgICAgIGlkOiBib2FyZExpc3RcbiAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxIZWlnaHQ6IHRydWVcbiAgICAgICAgICAgICAgICBjbGlwOiB0cnVlXG4gICAgICAgICAgICAgICAgbW9kZWw6IGZpbHRlcmVkQm9hcmRzXG4gICAgICAgICAgICAgICAgc3BhY2luZzogMlxuICAgICAgICAgICAgICAgIHNlY3Rpb24ucHJvcGVydHk6IFwicGxhdGZvcm1OYW1lXCJcbiAgICAgICAgICAgICAgICBzZWN0aW9uLmNyaXRlcmlhOiBWaWV3U2VjdGlvbi5GdWxsU3RyaW5nXG4gICAgICAgICAgICAgICAgc2VjdGlvbi5kZWxlZ2F0ZTogUmVjdGFuZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGJvYXJkTGlzdC53aWR0aFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlLmFsdGVybmF0ZUJhc2VcbiAgICAgICAgICAgICAgICAgICAgTGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5sZWZ0OiBwYXJlbnQubGVmdFxuICAgICAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5sZWZ0TWFyZ2luOiAxMlxuICAgICAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy52ZXJ0aWNhbENlbnRlcjogcGFyZW50LnZlcnRpY2FsQ2VudGVyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBzZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LmJvbGQ6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlLmhpZ2hsaWdodFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlbGVnYXRlOiBJdGVtRGVsZWdhdGUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYm9hcmRMaXN0LndpZHRoXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGJvYXJkTmFtZVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrZWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQm9hcmQgPSBib2FyZE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUGxhdGZvcm0gPSBwbGF0Zm9ybU5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvYXJkRGlhbG9nLmNsb3NlKClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBTY3JvbGxCYXIudmVydGljYWw6IFNjcm9sbEJhciB7fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgRGlhbG9nIHtcbiAgICAgICAgaWQ6IHJldmlld0RpYWxvZ1xuICAgICAgICBwYXJlbnQ6IE92ZXJsYXkub3ZlcmxheVxuICAgICAgICBhbmNob3JzLmNlbnRlckluOiBwYXJlbnRcbiAgICAgICAgbW9kYWw6IHRydWVcbiAgICAgICAgdGl0bGU6IHFzVHIoXCJSZWFkeSB0byB3cml0ZT9cIilcbiAgICAgICAgc3RhbmRhcmRCdXR0b25zOiBEaWFsb2cuQ2FuY2VsIHwgRGlhbG9nLk9rXG4gICAgICAgIG9uQWNjZXB0ZWQ6IHByZXZpZXdOb3RpY2Uub3BlbigpXG4gICAgICAgIENvbHVtbkxheW91dCB7XG4gICAgICAgICAgICBMYWJlbCB7IHRleHQ6IHFzVHIoXCJCb2FyZFwiKTsgZm9udC5ib2xkOiB0cnVlIH1cbiAgICAgICAgICAgIExhYmVsIHsgdGV4dDogc2VsZWN0ZWRCb2FyZCArIFwiIOKAlCBcIiArIHNlbGVjdGVkUGxhdGZvcm0gfVxuICAgICAgICAgICAgTGFiZWwgeyB0ZXh0OiBxc1RyKFwiRGVzdGluYXRpb25cIik7IGZvbnQuYm9sZDogdHJ1ZSB9XG4gICAgICAgICAgICBMYWJlbCB7IHRleHQ6IG91dHB1dElzRmlsZSA/IG91dHB1dFBhdGggOiBkcml2ZUJveC5jdXJyZW50VGV4dDsgZWxpZGU6IFRleHQuRWxpZGVNaWRkbGU7IExheW91dC5tYXhpbXVtV2lkdGg6IDQ1MCB9XG4gICAgICAgICAgICBMYWJlbCB7IHRleHQ6IHFzVHIoXCJUaGlzIGlzIGFuIGludGVyZmFjZSBwcmV2aWV3LiBObyBkYXRhIHdpbGwgYmUgd3JpdHRlbi5cIik7IGNvbG9yOiBwYWxldHRlLm1pZCB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBEaWFsb2cge1xuICAgICAgICBpZDogYWJvdXREaWFsb2dcbiAgICAgICAgcGFyZW50OiBPdmVybGF5Lm92ZXJsYXlcbiAgICAgICAgYW5jaG9ycy5jZW50ZXJJbjogcGFyZW50XG4gICAgICAgIG1vZGFsOiB0cnVlXG4gICAgICAgIHRpdGxlOiBxc1RyKFwiQWJvdXQgQUxUIEltYWdlIFdyaXRlclwiKVxuICAgICAgICBzdGFuZGFyZEJ1dHRvbnM6IERpYWxvZy5Pa1xuICAgICAgICBMYWJlbCB7XG4gICAgICAgICAgICB0ZXh0OiBxc1RyKFwiQUxUIEltYWdlIFdyaXRlciDigJQgUXRcXG5WZXJzaW9uIDAuMS4wXFxuXFxuUHJlcGFyZSBBTFQgTGludXggaW5zdGFsbGF0aW9uIG1lZGlhIGZvciBzdXBwb3J0ZWQgU0JDcy5cIilcbiAgICAgICAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6IFRleHQuQWxpZ25IQ2VudGVyXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBQb3B1cCB7XG4gICAgICAgIGlkOiBwcmV2aWV3Tm90aWNlXG4gICAgICAgIHBhcmVudDogT3ZlcmxheS5vdmVybGF5XG4gICAgICAgIHg6IChwYXJlbnQud2lkdGggLSB3aWR0aCkgLyAyXG4gICAgICAgIHk6IHBhcmVudC5oZWlnaHQgLSBoZWlnaHQgLSAyNFxuICAgICAgICBwYWRkaW5nOiAxNlxuICAgICAgICBjbG9zZVBvbGljeTogUG9wdXAuQ2xvc2VPbkVzY2FwZSB8IFBvcHVwLkNsb3NlT25QcmVzc091dHNpZGVcbiAgICAgICAgTGFiZWwgeyB0ZXh0OiBxc1RyKFwiRmxhc2hpbmcgaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgcHJldmlld1wiKSB9XG4gICAgICAgIFRpbWVyIHsgaW50ZXJ2YWw6IDM1MDA7IHJ1bm5pbmc6IHByZXZpZXdOb3RpY2UudmlzaWJsZTsgb25UcmlnZ2VyZWQ6IHByZXZpZXdOb3RpY2UuY2xvc2UoKSB9XG4gICAgfVxuXG4gICAgUGxhdGZvcm0uRmlsZURpYWxvZyB7XG4gICAgICAgIGlkOiBzb3VyY2VEaWFsb2dcbiAgICAgICAgdGl0bGU6IHFzVHIoXCJDaG9vc2UgSW5zdGFsbGF0aW9uIFNvdXJjZVwiKVxuICAgICAgICBmaWxlTW9kZTogUGxhdGZvcm0uRmlsZURpYWxvZy5PcGVuRmlsZVxuICAgICAgICBuYW1lRmlsdGVyczogc291cmNlSXNJbWFnZSA/IFtxc1RyKFwiRGlzayBpbWFnZXMgKCouaW1nICouaW1nLnh6KVwiKSwgcXNUcihcIkFsbCBmaWxlcyAoKilcIildXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogW3FzVHIoXCJSb290IGZpbGVzeXN0ZW0gYXJjaGl2ZXMgKCoudGFyICoudGFyLmd6ICoudGFyLnh6KVwiKSwgcXNUcihcIkFsbCBmaWxlcyAoKilcIildXG4gICAgICAgIG9uQWNjZXB0ZWQ6IHNvdXJjZVBhdGggPSBsb2NhbFBhdGgoZmlsZSlcbiAgICB9XG5cbiAgICBQbGF0Zm9ybS5GaWxlRGlhbG9nIHtcbiAgICAgICAgaWQ6IG91dHB1dERpYWxvZ1xuICAgICAgICB0aXRsZTogcXNUcihcIkNyZWF0ZSBEaXNrIEltYWdlXCIpXG4gICAgICAgIGZpbGVNb2RlOiBQbGF0Zm9ybS5GaWxlRGlhbG9nLlNhdmVGaWxlXG4gICAgICAgIGRlZmF1bHRTdWZmaXg6IFwiaW1nXCJcbiAgICAgICAgbmFtZUZpbHRlcnM6IFtxc1RyKFwiUmF3IGRpc2sgaW1hZ2VzICgqLmltZylcIiksIHFzVHIoXCJBbGwgZmlsZXMgKCopXCIpXVxuICAgICAgICBvbkFjY2VwdGVkOiBvdXRwdXRQYXRoID0gbG9jYWxQYXRoKGZpbGUpXG4gICAgfVxufVxuIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMzYyLCJvdXRwdXQiOjMzOTYsImNhY2hlUmVhZCI6NDg2NDAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NywidG90YWxUb2tlbnMiOjUzMzk4LCJjb3N0Ijp7ImlucHV0IjowLjAwNjgxMDAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjEwMTg4LCJjYWNoZVJlYWQiOjAuMDI0MzE5OTk5OTk5OTk5OTk4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4xMzMwMX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTg2NDY1NCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4YTkwMjYwODE5MWE5NTIwYmI5OTU0YjE3OWMifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZWZkYTEwM2QiLCJwYXJlbnRJZCI6IjM1OTEyNGI3IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMjowNy40OThaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2tmc2Rqcmt3TDVIeTRFcFB3amIzdWJPNXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzhhZDIzODg4MTkxODc4MjQ5ZGMyOTUzNjM3NSIsInRvb2xOYW1lIjoid3JpdGUiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgd3JvdGUgMTU2NTYgYnl0ZXMgdG8gY3JhdGVzL2ZsYXNoZXItcXQvcW1sL01haW4ucW1sIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5OTI3NDk4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNjBiMDNlNzIiLCJwYXJlbnRJZCI6ImVmZGExMDNkIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMjoxNC42OTZaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlZlcmlmeWluZyBjb21waWxlIGVycm9ycyB3aXRob3V0IHN1ZG8qKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOGU5NDJkNDgxOTE4Yzg2NzQzM2JhOTJjZmYyXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNanVKbW5MUG5kWlo3ejR5UEZZQXNFbDFRb29KbzB4eUp2dzJlZ21SY28xV1ZtV09wSkpyZWIwc2J0Z0hmckgzY2FRTDFuSnR4SXB5VndoN1d1X0Jzb0VIYm14LWIxM3N4a3d0a0s1eDExeFlpYmtadW5rQlRhUkpiTXlvLU50cDJyLTJiR2Q4TGFTLXYtWDVyX29MQ1k4OW5HRHByMkNWN29fT0lxMEtSRTE4dWlYX0Nrc0V6UlVkc09UdklCek9MaGFLMTZSY1N0dTVGVUcxa1RJTVBHRGg1NFRvR2JiSGVRZEFqdm9TaGp0RlhHM3NxejJTMHZRSlZRNWp0VlJOUERnZ3lqY1pUdjVQS1NTaWZQemU4SkRsME1wbElEM1FMYVpGbzFIbU9DVkVZaGE5VF85T3pMMm83RlJQdGJqQmQ0T0U5SlZNSDhZNV9xUklkWTBodWdsdzdjZ2pvVFZYSkZlSkN3RV9Db1lnTkVaQzVWbFE3SmVhYzhmRk5RaDhuSWEwZ3hLdWMyUG5XSzIwbGY2NDY2aEtxMmRJZWtMdnpyQmJ3cHVHaXRTbDRQdlVCWGk4THM3Nm0zYjQ3ekU3eDQ2VmR6M1phYUFqWFRVTzJ0bDBnc0NESlhrRVJhNTM3V1lzZ09jTWdHUzFOREY5NURsWFFpQXlTMXJacXZLZmlKZjlIQTdYUzBWOUVYYUd0bFJPS0oxNXp6V3lSR1pDN2hWeGl0R3dlUDNUTmJSaERJTlRuSjdxeGlEeTJfTUdGSGs2WEttZ1JlWk1idDFQQk1TcmYxelR5V29Xengtc0FTODRsSnVWTEpTR2ltWi1id1ZteGhpNjZtM3NuOXdXaHJsYldQb2RZc1pYUjRFcGJMdmE2MHJwVDRxdEtTbFhFVDFheHBQa01BVURnbHp3VWtraExYVDMtNnNGbUF1dDJicHRKOVV1QVgxbFg1Qm1Pdzg3Zy1vZXJrMzF3Ymlua0lIWUZCUUQtclBWLVZRMnJlZk9kRGpUXzBYbzR4MHM2STlyS0VGZHlSd05oODRuQmVrVkF1aEl6WnlLeDBhSEk2UkE3Q3kyazBBRjJYQlVXbkQ4R3lzdFVNRDAtd3pQS215bjBybFRiWFBsM05pd0puMnU2cHRCZGdiVVNubHdiZ19HSWNVLXptaDdPMURmTVJHU0ZvSGlmdGV5Z095eDBQbDlHSy11NG9MV0FBZExTcDU0OTNfc2pDbjB0X042dGpkRkJjN0tzWDVwNHNwdXlpVkh2X3VtVlpDZERsLU5ydE9mUzZYNWNoVnl4X1hHZEdnYVNsYVlycW45cVhRbEJWb1VGdTQyUXNMNERtS1pjNHVNb1JjX2hGYnRsQkZxTnNhSnoxTWpGSVB4WlRZdEZRTHJ0dzV0eko4TG9PdXZoN3VaS3hOM2Y3VzhNVVFTRFo1Q0VmUVpPQ29pRGx6Sm11eFJKdTNhT1EyaUx5UlVfTnViYzZnZUw4V3ZyOXZNdnpYRzFVWjBXeDItcWpJVWVKTEZvaDItRWFuejYwdkdwLXRvNHRqZ2t1cnhtMTRsZ05DQ1VfamRIQUdqMmpYZHdJSFpRVmEzT05uRXdtNWM2aUhuMGNYekRCbFZTeEpwdFhGR2ttU2xaRU5hWEE1T3Jra0Fzdk1xTDBONndsRXJBUTc5SVBmZVF6VUxnREk0b3d3X1RBX0pSa0lhYkFweDJ2SGJaUl9OWW90WXdJOFdrS0JkcW5Kazh1YU1mN2YyY0NvVjdLZkdFeFM1MExaVmpXeHNucnNxSzJMZTBSWVk0c3ZcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlZlcmlmeWluZyBjb21waWxlIGVycm9ycyB3aXRob3V0IHN1ZG8qKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfMWxGaXZaZUhtR2RtSXRLdmJPYWhUcjlnfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOGVlODRmYzgxOTFhZjcwODVjOTZjYjgxNzYxIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImFwdC1jYWNoZSBzZWFyY2ggJ15xdDUtLipkZXZlbCcgfCBoZWFkIC0zMDsgYXB0LWNhY2hlIHNlYXJjaCBxdWlja2NvbnRyb2xzMiB8IGhlYWQgLTIwOyBhcHQtY2FjaGUgc2VhcmNoIGxpYmFkd2FpdGEgfCBoZWFkIC0yMCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9hV0JhMTJhc1RiS3RCVFRtS0VPSzdsdnp8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ZWU4NTEwODE5MTlkNDAyOTFiYmUzZjg0YzMiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiY2FyZ28gbWV0YWRhdGEgLS1uby1kZXBzIC0tZm9ybWF0LXZlcnNpb24gMSA+L2Rldi9udWxsICYmIGVjaG8gJ3dvcmtzcGFjZSBtZXRhZGF0YTogb2snOyBnaXQgc3RhdHVzIC0tc2hvcnQ7IGdyZXAgLW4gJ2FsdC1yb290ZnMnIGNyYXRlcy9mbGFzaGVyLWd0ay9zcmMvbWFpbi5ycyB8IGhlYWQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjM3NjAsIm91dHB1dCI6MTk3LCJjYWNoZVJlYWQiOjQ5NjY0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjY2LCJ0b3RhbFRva2VucyI6NTM2MjEsImNvc3QiOnsiaW5wdXQiOjAuMDE4OCwib3V0cHV0IjowLjAwNTkxLCJjYWNoZVJlYWQiOjAuMDI0ODMyLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNDk1NDJ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODk5Mjc1MDAsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOGU3ZGU4NDgxOTFiMGRiZmI1YTM0NzI1M2U0In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImM1MTk1ZmNhIiwicGFyZW50SWQiOiI2MGIwM2U3MiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzI6MjQuNDg3WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF8xbEZpdlplSG1HZG1JdEt2Yk9haFRyOWd8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ZWU4NGZjODE5MWFmNzA4NWM5NmNiODE3NjEiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJxdDUtM2QtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LTNkXG5xdDUtYmFzZS1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtYmFzZVxucXQ1LWJhc2UtZGV2ZWwtc3RhdGljIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIHF0NS1iYXNlXG5xdDUtY2hhcnRzLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIHF0NS1jaGFydHNcbnF0NS1jb25uZWN0aXZpdHktZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LWNvbm5lY3Rpdml0eVxucXQ1LWRhdGF2aXMzZC1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtZGF0YXZpczNkXG5xdDUtZGVjbGFyYXRpdmUtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LWRlY2xhcmF0aXZlXG5xdDUtZGVjbGFyYXRpdmUtZGV2ZWwtc3RhdGljIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIHF0NS1kZWNsYXJhdGl2ZVxucXQ1LWVuZ2luaW8tZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LWVuZ2luaW9cbnF0NS1mZWVkYmFjay1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtZmVlZGJhY2tcbnF0NS1nYW1lcGFkLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIHF0NS1nYW1lcGFkXG5xdDUtbG9jYXRpb24tZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LWxvY2F0aW9uXG5xdDUtbXVsdGltZWRpYS1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtbXVsdGltZWRpYVxucXQ1LW5ldHdvcmthdXRoLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIHF0NS1uZXR3b3JrYXV0aFxucXQ1LXBob25vbi1kZXZlbCAtIEhlYWRlciBmaWxlcyBhbmQgZG9jdW1lbnRhdGlvbiBmb3IgY29tcGlsaW5nIFBob25vbiBhcHBsaWNhdGlvbnNcbnF0NS1xdHN5c3RlbXMtZGV2ZWwgLSBRdCA1IFN5c3RlbXMgKGRldmVsb3BtZW50IGZpbGVzKVxucXQ1LXF0c3lzdGVtcy1wcml2YXRlLWRldmVsIC0gUXQgNSBTeXN0ZW1zIChkZXZlbG9wbWVudCBmaWxlcylcbnF0NS1xdWlja2NvbnRyb2xzMi1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtcXVpY2tjb250cm9sczJcbnF0NS1xdWlja2NvbnRyb2xzMi1kZXZlbC1zdGF0aWMgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LXF1aWNrY29udHJvbHMyXG5xdDUtcmVtb3Rlb2JqZWN0cy1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtcmVtb3Rlb2JqZWN0c1xucXQ1LXNjcmlwdC1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtc2NyaXB0XG5xdDUtc2N4bWwtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LXNjeG1sXG5xdDUtc2Vuc29ycy1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtc2Vuc29yc1xucXQ1LXNlcmlhbGJ1cy1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtc2VyaWFsYnVzXG5xdDUtc2VyaWFscG9ydC1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtc2VyaWFscG9ydFxucXQ1LXNwZWVjaC1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtc3BlZWNoXG5xdDUtc3ZnLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIHF0NS1zdmdcbnF0NS10b29scy1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtdG9vbHNcbnF0NS12aXJ0dWFsa2V5Ym9hcmQtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LXZpcnR1YWxrZXlib2FyZFxucXQ1LXdheWxhbmQtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LXdheWxhbmRcbmRxdDUtcXVpY2tjb250cm9sczIgLSBRdDUgLSBtb2R1bGUgd2l0aCBzZXQgb2YgUXRRdWljayBDb250cm9scyAyXG5kcXQ1LXF1aWNrY29udHJvbHMyLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIGRxdDUtcXVpY2tjb250cm9sczJcbmRxdDUtcXVpY2tjb250cm9sczItZGV2ZWwtc3RhdGljIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIGRxdDUtcXVpY2tjb250cm9sczJcbmRxdDUtcXVpY2tjb250cm9sczItZG9jIC0gRG9jdW1lbnQgZm9yIGRldmVsb3BpbmcgYXBwcyB3aGljaCB3aWxsIHVzZSBRdDUgZHF0cXVpY2tjb250cm9sczJcbmxpYmRxdDUtcXVpY2tjb250cm9sczIgLSBRdDUgbGlicmFyeVxubGliZHF0Ni1xdWlja2NvbnRyb2xzMiAtIFF0NiAtIGxpYnJhcnlcbmxpYmRxdDYtcXVpY2tjb250cm9sczJiYXNpYyAtIFF0NiAtIGxpYnJhcnlcbmxpYmRxdDYtcXVpY2tjb250cm9sczJiYXNpY3N0eWxlaW1wbCAtIFF0NiAtIGxpYnJhcnlcbmxpYmRxdDYtcXVpY2tjb250cm9sczJmbHVlbnR3aW51aTNzdHlsZWltcGwgLSBRdDYgLSBsaWJyYXJ5XG5saWJkcXQ2LXF1aWNrY29udHJvbHMyZnVzaW9uIC0gUXQ2IC0gbGlicmFyeVxubGliZHF0Ni1xdWlja2NvbnRyb2xzMmZ1c2lvbnN0eWxlaW1wbCAtIFF0NiAtIGxpYnJhcnlcbmxpYmRxdDYtcXVpY2tjb250cm9sczJpbWFnaW5lIC0gUXQ2IC0gbGlicmFyeVxubGliZHF0Ni1xdWlja2NvbnRyb2xzMmltYWdpbmVzdHlsZWltcGwgLSBRdDYgLSBsaWJyYXJ5XG5saWJkcXQ2LXF1aWNrY29udHJvbHMyaW1wbCAtIFF0NiAtIGxpYnJhcnlcbmxpYmRxdDYtcXVpY2tjb250cm9sczJtYXRlcmlhbCAtIFF0NiAtIGxpYnJhcnlcbmxpYmRxdDYtcXVpY2tjb250cm9sczJtYXRlcmlhbHN0eWxlaW1wbCAtIFF0NiAtIGxpYnJhcnlcbmxpYmRxdDYtcXVpY2tjb250cm9sczJ1bml2ZXJzYWwgLSBRdDYgLSBsaWJyYXJ5XG5saWJkcXQ2LXF1aWNrY29udHJvbHMydW5pdmVyc2Fsc3R5bGVpbXBsIC0gUXQ2IC0gbGlicmFyeVxua2Y1LWtpcmlnYW1pIC0gQSBRdFF1aWNrIGJhc2VkIGNvbXBvbmVudHMgc2V0XG5rZjYta2lyaWdhbWkgLSBBIFF0UXVpY2sgYmFzZWQgY29tcG9uZW50cyBzZXRcbmxpYmFkd2FpdGEtcXQ1IC0gQWR3YWl0YSBRdDUgbGlicmFyeVxubGliYWR3YWl0YS1xdDUtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgbGliYWR3YWl0YS1xdDVcbmxpYmFkd2FpdGEtcXQ2IC0gQWR3YWl0YSBRdDYgbGlicmFyeVxubGliYWR3YWl0YS1xdDYtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgbGliYWR3YWl0YS1xdDZcbmFsdC13ZWF0aGVyLWFkdyAtIFdlYXRoZXIgZm9yZWNhc3RcbmNyb3NzcGlwZSAtIEdyYXBoaWNhbCBQaXBlV2lyZSBjb25uZWN0aW9ucyBtYW5hZ2VyXG5lbGFzdGljIC0gRGVzaWduIHNwcmluZyBhbmltYXRpb25zXG5lbWJlbGxpc2ggLSBJbnN0YWxsIG5lcmQgZm9udHNcbmV4ZXJjaXNlLXRpbWVyIC0gRXhlcmNpc2UgVGltZXJcbmZhbGNvbmQtZ3VpIC0gQSBHVEs0L0xpYkFkd2FpdGEgYXBwbGljYXRpb24gdG8gY29udHJvbCBhbmQgbW9uaXRvciB0aGUgRmFsY29uZCBnYW1pbmcgb3B0aW1pemF0aW9uIGRhZW1vblxuZ2VvY2x1ZS1zdHVtYmxlciAtIEdlb2NsdWUgU3R1bWJsZXJcbmdpdHB1bHNhciAtIEdOT01FLW5hdGl2ZSBHaXQgR1VJIHdyaXR0ZW4gaW4gUnVzdCB3aXRoIEdUSzQvbGliYWR3YWl0YVxuZ2l0dGUgLSBBIEdUSzQvbGliYWR3YWl0YSBHaXQgY2xpZW50IGZvciB0aGUgR05PTUUgZGVza3RvcFxubGliYWRhcHRhIC0gbGliQWRhcHRhIGlzIGxpYkFkd2FpdGEgd2l0aCB0aGVtZSBzdXBwb3J0IGFuZCBhIGZldyBleHRyYVxubGliYWR3YWl0YSAtIExpYnJhcnkgd2l0aCBHVEs0IHdpZGdldHMgZm9yIG1vYmlsZSBkZXZpY2VzXG5saWJhZHdhaXRhLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIGxpYmFkd2FpdGFcbmxpYmFkd2FpdGEtZ2lyIC0gR09iamVjdCBpbnRyb3NwZWN0aW9uIGRhdGEgZm9yIGxpYmFkd2FpdGFcbmxpYmJpc211dGgxIC0gTGliYWR3YWl0YSdzIHJlc3BvbnNpdmUgd2lkZ2V0cywgd2l0aG91dCBhbGwgdGhlIGJhZ2dhZ2VcbmxpYmd0ay1ub2NzZCAtIEFuIExEX1BSRUxPQUQgbGlicmFyeSB0byBkaXNhYmxlIENTRCBpbiBHVEszLzRcbmxpYmd0ay1ub2NzZDAgLSBBbiBMRF9QUkVMT0FEIGxpYnJhcnkgdG8gZGlzYWJsZSBDU0QgaW4gR1RLMy80XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODk5NDQ0ODd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4NWUwN2NmMyIsInBhcmVudElkIjoiYzUxOTVmY2EiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMyOjI0LjQ4N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfYVdCYTEyYXNUYkt0QlRUbUtFT0s3bHZ6fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOGVlODUxMDgxOTE5ZDQwMjkxYmJlM2Y4NGMzIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoid29ya3NwYWNlIG1ldGFkYXRhOiBva1xuIE0gQ2FyZ28ubG9ja1xuIE0gQ2FyZ28udG9tbFxuIEQgc3JjL21haW4ucnNcbj8/IGNyYXRlcy9cbjY6Y29uc3QgQk9BUkRTOiAmc3RyID0gaW5jbHVkZV9zdHIhKFwiLi4vLi4vLi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvU1VQUE9SVEVELUJPQVJEU1wiKTtcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTk0NDQ4N319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjJlY2M2MWNmIiwicGFyZW50SWQiOiI4NWUwN2NmMyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzI6MzIuMDMzWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipBc3Nlc3NpbmcgUXQgZGVwZW5kZW5jaWVzIGFuZCBidWlsZCBlbnZpcm9ubWVudCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ZmIyNjE0ODE5MTk1ZGM0OTE5YTRkZGQwYjBcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1qX1dRbzgyTHp4U1ZaYUpEOEFKb0d1bmpNcVhwUFZLYUV6TWhXdHgzNlh4TkpWUlVzeC1TazlVV18tYkZsRU9WRF9sX1NJVzBDODJNV2tSR3V1dXBFQ2dWM2xqLTNNdXhWTHQ0cDdJcmozSExheDFBQlgwVWMySmJ2SDUxcWFrWm9BcWt0YlQ0aFR1WWNyaDlQbXpXR0ptZUozWEJvT2p6dGVqSHpZS3VmNXoyZ2loa3ZSenR5UGlWT2JVLTI2SUthZnRRUVg2R2RVTFpVTnYzVlk0cGltbTRnT1c0RkR3TFc2RnhDVlBOcEdiblhNSENXLXdPaG4zMnNZMFBtS0lWb1J2dUpVaUdSeEVZYURhWWNaNGZocFE0dl9ON01GYm1Dc0pDYjVBNU9sWWRrYjh6ZmNDVFZhUzh1T0tFS0pnQmRqOGQwTWkxbU12UmJjc3BnM2c1VTV6NDBVNzlpcy1ub05YX2RvRXZmYXBrZ0xMVWRVQjNGeUhNQUxUcDd5bXlRWDYxel9BdC1Qd1lRbHNua2FiVlVYNm5zNkJ0TU1qOUVwc2c5TjgybUhaRjNSMVVncnNpbHU0c09EMkNZMzJIblpxZ243Y2gwLTFjTUM3OVgwanFIQ1BQdzFtV0pLVWRBS25YMjhOMXBMRTNGRVYxc1Z5WlVaM0hfdzVxNWdwbjZTRlRGWWN0MzVXUVoyMlptenN6U2ltOHVhOWxkZy00YVVLLU04UnRzdWtEVktncUpaZEM3a3Z1MFBTYmVLai1kdG1iU25RdmFESjk4Q21SU0ItNmFIY0NXNERENjhrRF95M1RWQ0FqdkpGWXlFWnpwQVJCMUxFT1RFb09IN3pDdFVJcHNlbVUxYlVzaUR1QjRZN0MySHYyd1IyYlc5YXVCN2NzOWV0UGxIZ1FnMndjVTJ2QTRwRk5weGlielE4VjlxNkNPQndRbFFCYkNpQllFUUNtUVhVSGY1Y25xdzdSRDlSOTg3aE5WVWl1TUxNcUNGMVo3cEpRTWZHaFd3NUNzaFR5WmN3aV92dHZmc0UzdXdHeGF0azg5Xzg4ZkZQM1NXZTdPdmhmdEhPX0EyR2lFWVZzMC00bno5YWlWSzVrWlpQVWpUZjdmTDduV1JjUTNSMHJmSy1VZTVIZnNlMmdlcDR1Vl9oMzVFSGJMWWx6VXBNN3lyTUYtMVI0VWZDQmVLNXl4dXFZUkRhSFhZR05TLUZIdHBQajVKaTh3SDI4Z1NubGJ6NmhGNUVLZmN3NTdkOTNVLVRPSllYVmNhN0Z4MWE1RTNRMHQ1QXYtcllXanlIMFB1cjFKYVdaSlVMMzNpOXF6eGZkNHBFLWplc0NDdkN6RXNPaUVQUE55dWREUjJpT2Q5clVQMUZfZk8yZjduOUgtNy11cDNLMXo4WG9zeFI2cTRqQmlDR3RITTY5eFFZNUROY3FvUlk4ZXFzM1pBeUpaRFhTb0tOdjVxRjFsV0RBbmM5WkZ5M3U3ZXFUbnE1d0p4T0JmU1pHcmplN3R3UVNJeUN0UnlOZktpc0pfMmNFV3JuRWRNMlZ0SlFYMkdXc2dQb2dPanB3SVRIX3JNTkR6NDIxSTJOTVZrTlJpREJhd2FIQi1TaGdzZGg5N0s4RDZncXNxSWJMUzFCZ3N4a0c3QjZ2S0E3YjJHS0lmNFpJUDhXWmtJekhxR3RLU1dRcFR1QTFCQXppNEw0eDFWWlNLRDBsT2t3Z1hLeEcyWDF5Q0g3NWdWUzMySm5lTml6eFVUZW5RYTJyLTRKa2xuMDNsZFJiQlQwZUtweHc0OS1fYkhGaFVIdFlqYUZYR1BuTDRjeWE5ZjBFT25WQ2ZPT21TclJyVXd0UWJOUTV5Snl5WVplTl8wa3JSLXItOXJpSTBrNFN5NVV5TEdRRUNRcGJpMW1TTmIyVnN3TUo2NzhPcko2TkNtY3pRb3VVY1c1SlpaSmxhb1dEcEp4U0RRXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipBc3Nlc3NpbmcgUXQgZGVwZW5kZW5jaWVzIGFuZCBidWlsZCBlbnZpcm9ubWVudCoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9qVXJ3RlFpaG9FRHVwWW5UNXZna3c1THp8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ZmZlNDBjODE5MWJkYTE5NDg1ODU1MTdkOWQiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiRE9DU19SUz0xIFJVU1RDX0JPT1RTVFJBUD0xIFJVU1RGTEFHUz0nLS1jZmcgZG9jc3JzJyBjYXJnbyBjaGVjayAtcCBmbGFzaGVyLWd0ayIsInRpbWVvdXQiOjEyMH19LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX2huM29zTFFpdFpBZHVhb2NYRjhJR1J0SXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzhmZmU0Mjg4MTkxYjEzNzkxM2QyYTI1ZDY4NCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJjYXJnbyBjaGVjayAtcCBmbGFzaGVyLXF0IiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjIwNTYsIm91dHB1dCI6MjAwLCJjYWNoZVJlYWQiOjUyNzM2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjEwNiwidG90YWxUb2tlbnMiOjU0OTkyLCJjb3N0Ijp7ImlucHV0IjowLjAxMDI4MDAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwNiwiY2FjaGVSZWFkIjowLjAyNjM2OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDQyNjQ4MDAwMDAwMDAwMDA1fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg5OTQ0NDg5LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzhmOGU1ZGM4MTkxOWIyZjYzNjdiYjQzOTM4NiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxOTQ1YjhmNiIsInBhcmVudElkIjoiMmVjYzYxY2YiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMyOjM2LjYyMVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfalVyd0ZRaWhvRUR1cFluVDV2Z2t3NUx6fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOGZmZTQwYzgxOTFiZGExOTQ4NTg1NTE3ZDlkIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgIEJsb2NraW5nIHdhaXRpbmcgZm9yIGZpbGUgbG9jayBvbiBwYWNrYWdlIGNhY2hlXG4gICAgQmxvY2tpbmcgd2FpdGluZyBmb3IgZmlsZSBsb2NrIG9uIHBhY2thZ2UgY2FjaGVcbiAgICBCbG9ja2luZyB3YWl0aW5nIGZvciBmaWxlIGxvY2sgb24gcGFja2FnZSBjYWNoZVxuICAgIEJsb2NraW5nIHdhaXRpbmcgZm9yIGZpbGUgbG9jayBvbiBidWlsZCBkaXJlY3RvcnlcbiAgICBDaGVja2luZyBmbGFzaGVyLWd0ayB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvY3JhdGVzL2ZsYXNoZXItZ3RrKVxuICAgIEZpbmlzaGVkIGBkZXZgIHByb2ZpbGUgW3Vub3B0aW1pemVkICsgZGVidWdpbmZvXSB0YXJnZXQocykgaW4gNC41N3NcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTk1NjYyMX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjY3OThjYzZkIiwicGFyZW50SWQiOiIxOTQ1YjhmNiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzI6MzYuNjIxWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9objNvc0xRaXRaQWR1YW9jWEY4SUdSdEl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ZmZlNDI4ODE5MWIxMzc5MTNkMmEyNWQ2ODQiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgQmxvY2tpbmcgd2FpdGluZyBmb3IgZmlsZSBsb2NrIG9uIHBhY2thZ2UgY2FjaGVcbiAgICBCbG9ja2luZyB3YWl0aW5nIGZvciBmaWxlIGxvY2sgb24gcGFja2FnZSBjYWNoZVxuICAgIEJsb2NraW5nIHdhaXRpbmcgZm9yIGZpbGUgbG9jayBvbiBwYWNrYWdlIGNhY2hlXG4gICBDb21waWxpbmcgbWVtY2hyIHYyLjguM1xuICAgQ29tcGlsaW5nIHJlZ2V4LXN5bnRheCB2MC44LjExXG4gICBDb21waWxpbmcgc2hsZXggdjIuMC4xXG4gICBDb21waWxpbmcgZmluZC1tc3ZjLXRvb2xzIHYwLjEuOVxuICAgQ29tcGlsaW5nIHVuaWNvZGUteGlkIHYwLjIuNlxuICAgQ29tcGlsaW5nIHN5biB2MS4wLjEwOVxuICAgQ29tcGlsaW5nIGJ5dGVvcmRlciB2MS41LjBcbiAgICBDaGVja2luZyBsYXp5X3N0YXRpYyB2MS41LjBcbiAgICBDaGVja2luZyBsb2cgdjAuNC4zM1xuICAgQ29tcGlsaW5nIHN5biB2Mi4wLjExOVxuICAgQ29tcGlsaW5nIGNjIHYxLjQuMFxuICAgQ29tcGlsaW5nIGFoby1jb3Jhc2ljayB2MS4xLjRcbiAgIENvbXBpbGluZyByZWdleC1hdXRvbWF0YSB2MC40LjE2XG4gICBDb21waWxpbmcgcW1ldGFvYmplY3RfaW1wbCB2MC4yLjEwXG4gICBDb21waWxpbmcgY3BwX2NvbW1vbiB2MC41LjExXG4gICBDb21waWxpbmcgY3BwX21hY3JvcyB2MC41LjExXG4gICBDb21waWxpbmcgcmVnZXggdjEuMTMuMVxuICAgQ29tcGlsaW5nIGNwcF9idWlsZCB2MC41LjExXG4gICAgQ2hlY2tpbmcgY3BwIHYwLjUuMTFcbiAgIENvbXBpbGluZyBxdHR5cGVzIHYwLjIuMTJcbiAgIENvbXBpbGluZyBxbWV0YW9iamVjdCB2MC4yLjEwXG5lcnJvcjogZmFpbGVkIHRvIHJ1biBjdXN0b20gYnVpbGQgY29tbWFuZCBmb3IgYHF0dHlwZXMgdjAuMi4xMmBcblxuQ2F1c2VkIGJ5OlxuICBwcm9jZXNzIGRpZG4ndCBleGl0IHN1Y2Nlc3NmdWxseTogYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL3F0dHlwZXMtYTJjNjE2NzZiNTM1YzU0ZC9idWlsZC1zY3JpcHQtYnVpbGRgIChleGl0IHN0YXR1czogMTAxKVxuICAtLS0gc3Rkb3V0XG4gIGNhcmdvOnJ1c3RjLWNoZWNrLWNmZz1jZmcobm9fcXQpXG4gIGNhcmdvOnJ1c3RjLWNoZWNrLWNmZz1jZmcocXRfNV8xMSxxdF81XzEyLHF0XzVfMTUscXJlYWxfaXNfZmxvYXQpXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVFUX0lOQ0xVREVfUEFUSFxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1RVF9MSUJSQVJZX1BBVEhcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UU1BS0VcblxuICAtLS0gc3RkZXJyXG5cbiAgdGhyZWFkICdtYWluJyAoMTk0NjYwKSBwYW5pY2tlZCBhdCAvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0dHlwZXMtMC4yLjEyL2J1aWxkLnJzOjI5Ojk6XG4gIEZhaWxlZCB0byBleGVjdXRlIHFtYWtlLiBNYWtlIHN1cmUgJ3FtYWtlJyBpcyBpbiB5b3VyIHBhdGghXG4gIGVudGl0eSBub3QgZm91bmRcbiAgbm90ZTogcnVuIHdpdGggYFJVU1RfQkFDS1RSQUNFPTFgIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGRpc3BsYXkgYSBiYWNrdHJhY2VcblxuXG5Db21tYW5kIGV4aXRlZCB3aXRoIGNvZGUgMTAxIn1dLCJkZXRhaWxzIjp7fSwiaXNFcnJvciI6dHJ1ZSwidGltZXN0YW1wIjoxNzg0OTg5OTU2NjIxfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNzM1OGRkNDEiLCJwYXJlbnRJZCI6IjY3OThjYzZkIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMjo0MS44MDFaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlZlcmlmeWluZyBxbWV0YSBjb2RlIGNvbXBpbGF0aW9uIGZlYXNpYmlsaXR5KioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkwNzJiODg4MTkxODA5ODk5N2ZmMzRkZjAwMFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWtKeC13UkZ6TVFaUmJsSS1pSU9JZld5S3JwZnpLM2dIWldIYWdmM0o0RUJoZUE1TWFQclZ0VjdfMUx0N2NQSmhBUEtFTlZiaTNDZEhEVTBCRzV5aElLTkVna2lYeWd0enFROE5WWjlXSTh2aldmUDBHaWFweXNNV2ppc2pIZ19oU1hzX2VxQ3B5MWpqM0lVdDZaTDl4ck1SbU0wMEZ5ck5xSEp5d1FDbkRmU3dDeXp4WFJUN2dkUnJtRzZKNjY3d2x3U2NmMTlkVjRqcU9nU1JSdmQwdm5BT1QtTlZtVWJxY0ttOGY1VEh1VGdtbElIZ1NhNkhqQkNzWTVYeWRwZEt5d2VEdll4R1JpbTU3dDl5dTh6a01MRHRQSUJXQy02MHNjS3UxQnJTTVMwNngzeGZXMVdjSml0Z3FZSmZTUHpZV0NwelJRMHg2RHNqOGp3MkNVSXpwQ3ZaOHR1UmxsSUtneFlGU0dqZnRnak5TV3pEM2RlSkk3VkU4ZTVCS2xEZzNaMTVkQll2LVdYMmZlR2c5aXJjdnZYT0RwVWZHbkx5TEY1SHFRMHJpTzZEVElxeVpEaDBuMmIzZ3FQUmdnTWdzQjh1WjBXMGtfNU83MmZ4VWdHb1ZNSU95VE52d3JTTjd0Z1dKalhlaWlKN2lnNXhZUG9EZy1GVkhVQmhjTjRBUXpVN3AwUWQ4dXdyaWN2UG52WmJfZTFBVHNjY3hGUWNQbnVFaUhhdVU1SkxxRldjQldIUDNJMFdfRE5pSlpIbk83bHc5SG15aW9fMmZFZFFnZ0ctZ3hwUExST3JmbTBocWwyRHhzSnk0M1loWEo2S1RYYnZKal9XenR3djJ0T2ZiNnFScTZ6QXNaU2ZLTG1KaG9ualBaNk93UGdMMHBsWlRfRG1EMmk1Q09TdF9XOHU0TWtqWWd4VFZJV3V4bTNzdE4td0RLQ1o0eTZlM1lsMzJmSWJOWkg0TG1BRXVScXR0Nk5LM2Y3cXROY1U4RzdHUEtTR1BpSThQR1JqS00zTUVscWdoQnJBVjdiMkU3dHNsN2lLU0hZcjM3aG9HaDZIWFQ4c3RQS0pSY0Yya0dvQXhRMTE1ckxzSWh0eEZmeWdETEhkczhxRHB3c2p6Wm5wcGUycXZScGlpeWExOFM1YVFDbHUwV0MtWlJSVDZpVGViWWlPU0RCNkIzb0d2ZXA2STE2Vkw0eUhRcl9HenBBekZGcUNnSFduR2FRQTNrWDA5UEhWRnlEaDQ0X282SldoSDdOT2JpeEI3OVZCcGx0Z2U0aDRRYmd1cUp1bXdSZC1CNTBmeTJfX1BJRFVMR1hzZnhnSUxvcVBxUGNYemtXVzdKeEE0OUlqalg2MUNJenIxRGpTVWEwYzRuQkRiUVkxY1ctRmRpLTdsSFYtT2RyQTFqMDVnZk1KMHdZTmtxcmpNdTAtTXlIN2NHSUhXQ3dsbzlxdGdpS1A1OENONm1NRDViWFlXbm5RRkxTOWdxa0F5cWhjdkVZeXRuSjlkSmFMZjF4eGRTcjdiV04xV3B3WGlqSG45eFlvOTduelBVbzFwUmtEbW9GcXlHUTNtbmVMcGhpYmQxVV9sOHdBTHBNNGY5aHFaYVN3aHc1RkRpdHpUM1htUlFpY1BGNC0xTWp4QUV6ajdtNVEyZ2VtWHhWLUxKSms2dkV0MkMxRjBqSUVGRTY5bnVISzlLYThvckxqeG1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlZlcmlmeWluZyBxbWV0YSBjb2RlIGNvbXBpbGF0aW9uIGZlYXNpYmlsaXR5KipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0tkb1lzUHZKRk9LdlJXT3h6RmZJQko4VnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkwOTQwNGM4MTkxYmYyYmFlYzVkYTgxM2MwOCIsIm5hbWUiOiJyZWFkIiwiYXJndW1lbnRzIjp7InBhdGgiOiIvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0dHlwZXMtMC4yLjEyL2J1aWxkLnJzIiwibGltaXQiOjE4MH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxODk5LCJvdXRwdXQiOjEyNSwiY2FjaGVSZWFkIjo1Mzc2MCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo2MywidG90YWxUb2tlbnMiOjU1Nzg0LCJjb3N0Ijp7ImlucHV0IjowLjAwOTQ5NSwib3V0cHV0IjowLjAwMzc1MDAwMDAwMDAwMDAwMDMsImNhY2hlUmVhZCI6MC4wMjY4Nzk5OTk5OTk5OTk5OTgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA0MDEyNDk5OTk5OTk5OTk5NH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTk1NjYyMywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MDRmODI0ODE5MWE1YjA1YzQ3YTU3MzMwYWQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMmUxOTNkYWIiLCJwYXJlbnRJZCI6IjczNThkZDQxIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMjo0MS44MDJaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0tkb1lzUHZKRk9LdlJXT3h6RmZJQko4VnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkwOTQwNGM4MTkxYmYyYmFlYzVkYTgxM2MwOCIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii8qIENvcHlyaWdodCAoQykgMjAxOCBPbGl2aWVyIEdvZmZhcnQgPG9nb2ZmYXJ0QHdvYm9xLmNvbT5cblxuUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZFxuYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbixcbmluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG5hbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLFxuc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cblRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWxcbnBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUXG5OT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORFxuTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFU1xuT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOXG5DT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuKi9cblxudXNlIHN0ZDo6aW86OnByZWx1ZGU6Oio7XG51c2Ugc3RkOjppbzo6QnVmUmVhZGVyO1xudXNlIHN0ZDo6cGF0aDo6e1BhdGgsIFBhdGhCdWZ9O1xudXNlIHN0ZDo6cHJvY2Vzczo6Q29tbWFuZDtcblxudXNlIHNlbXZlcjo6VmVyc2lvbjtcblxuZm4gcmVwb3J0X2Vycm9yKF9lcnI6ICZzdHIpIC0+ICEge1xuICAgIHtcbiAgICAgICAgI1tjZmcoZmVhdHVyZSA9IFwicmVxdWlyZWRcIildXG4gICAgICAgIHBhbmljIShcInt9XCIsIF9lcnIpO1xuICAgICAgICAjW2NmZyhub3QoZmVhdHVyZSA9IFwicmVxdWlyZWRcIikpXVxuICAgICAgICB7XG4gICAgICAgICAgICBwcmludGxuIShcImNhcmdvOnJ1c3RjLWNmZz1ub19xdFwiKTtcbiAgICAgICAgICAgIHByaW50bG4hKFwiY2FyZ286Rk9VTkQ9MFwiKTtcbiAgICAgICAgICAgIHByaW50bG4hKFwiY2FyZ286RVJST1JfTUVTU0FHRT17fVwiLCBfZXJyLmVzY2FwZV9kZWJ1ZygpKTtcbiAgICAgICAgICAgIHN0ZDo6cHJvY2Vzczo6ZXhpdCgwKVxuICAgICAgICB9XG4gICAgfVxufVxuXG5mbiBxbWFrZV9xdWVyeSh2YXI6ICZzdHIpIC0+IFN0cmluZyB7XG4gICAgbGV0IG91dHB1dCA9IG1hdGNoIHN0ZDo6ZW52Ojp2YXIoXCJRTUFLRVwiKSB7XG4gICAgICAgIE9rKGVudl92YXJfdmFsdWUpID0+IENvbW1hbmQ6Om5ldyhlbnZfdmFyX3ZhbHVlKS5hcmdzKCZbXCItcXVlcnlcIiwgdmFyXSkub3V0cHV0KCksXG4gICAgICAgIEVycihfZW52X3Zhcl9lcnIpID0+IHtcbiAgICAgICAgICAgICh8fCB7XG4gICAgICAgICAgICAgICAgLy8gU29tZSBMaW51eCBkaXN0cmlidXRpb25zIChGZWRvcmEsIEFyY2gpIHJlbmFtZSBxbWFrZSB0byBxbWFrZS1xdDUuXG4gICAgICAgICAgICAgICAgLy8gcW1ha2U2IGlzIGFuIG9mZmljaWFsIGFsaWFzIHRoYXQgZ2VuZXJhbGx5IGFsd2F5cyBwb2ludHMgdG8gdGhlIFF0NiB2ZXJzaW9uLlxuICAgICAgICAgICAgICAgIGZvciBxbWFrZSBpbiAmW1wicW1ha2U2XCIsIFwicW1ha2VcIiwgXCJxbWFrZS1xdDVcIl0ge1xuICAgICAgICAgICAgICAgICAgICBtYXRjaCBDb21tYW5kOjpuZXcocW1ha2UpLmFyZ3MoJltcIi1xdWVyeVwiLCB2YXJdKS5vdXRwdXQoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBFcnIoZXJyKSBpZiBlcnIua2luZCgpID09IHN0ZDo6aW86OkVycm9yS2luZDo6Tm90Rm91bmQgPT4gY29udGludWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB4ID0+IHJldHVybiB4LFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEVycihzdGQ6OmlvOjpFcnJvcktpbmQ6Ok5vdEZvdW5kLmludG8oKSlcbiAgICAgICAgICAgIH0pKClcbiAgICAgICAgfVxuICAgIH07XG4gICAgbGV0IG91dHB1dCA9IG1hdGNoIG91dHB1dCB7XG4gICAgICAgIE9rKG91dHB1dCkgPT4gb3V0cHV0LFxuICAgICAgICBFcnIoZXJyKSA9PiByZXBvcnRfZXJyb3IoJmZvcm1hdCEoXG4gICAgICAgICAgICBcIkZhaWxlZCB0byBleGVjdXRlIHFtYWtlLiBNYWtlIHN1cmUgJ3FtYWtlJyBpcyBpbiB5b3VyIHBhdGghXFxue31cIixcbiAgICAgICAgICAgIGVyclxuICAgICAgICApKSxcbiAgICB9O1xuXG4gICAgaWYgIW91dHB1dC5zdGF0dXMuc3VjY2VzcygpIHtcbiAgICAgICAgcmVwb3J0X2Vycm9yKCZmb3JtYXQhKFxuICAgICAgICAgICAgXCJxbWFrZSByZXR1cm5lZCB3aXRoIGVycm9yOlxcbnt9XFxue31cIixcbiAgICAgICAgICAgIHN0ZDo6c3RyOjpmcm9tX3V0ZjgoJm91dHB1dC5zdGRlcnIpLnVud3JhcF9vcl9kZWZhdWx0KCksXG4gICAgICAgICAgICBzdGQ6OnN0cjo6ZnJvbV91dGY4KCZvdXRwdXQuc3Rkb3V0KS51bndyYXBfb3JfZGVmYXVsdCgpXG4gICAgICAgICkpO1xuICAgIH1cbiAgICBzdGQ6OnN0cjo6ZnJvbV91dGY4KCZvdXRwdXQuc3Rkb3V0KS5leHBlY3QoXCJVVEYtOCBjb252ZXJzaW9uIGZhaWxlZFwiKS50cmltKCkudG9fc3RyaW5nKClcbn1cblxuZm4gb3Blbl9jb3JlX2hlYWRlcihcbiAgICBmaWxlOiAmc3RyLFxuICAgIHF0X2luY2x1ZGVfcGF0aDogJnN0cixcbiAgICBxdF9saWJyYXJ5X3BhdGg6ICZzdHIsXG4pIC0+IEJ1ZlJlYWRlcjxzdGQ6OmZzOjpGaWxlPiB7XG4gICAgbGV0IGNhcmdvX3RhcmdldF9vcyA9IHN0ZDo6ZW52Ojp2YXIoXCJDQVJHT19DRkdfVEFSR0VUX09TXCIpLnVud3JhcCgpO1xuXG4gICAgbGV0IG11dCBwYXRoID0gUGF0aEJ1Zjo6ZnJvbShxdF9pbmNsdWRlX3BhdGgpO1xuICAgIHBhdGgucHVzaChcIlF0Q29yZVwiKTtcbiAgICBwYXRoLnB1c2goZmlsZSk7XG4gICAgaWYgY2FyZ29fdGFyZ2V0X29zID09IFwibWFjb3NcIiB7XG4gICAgICAgIGlmICFwYXRoLmV4aXN0cygpIHtcbiAgICAgICAgICAgIHBhdGggPSBQYXRoOjpuZXcocXRfbGlicmFyeV9wYXRoKS5qb2luKFwiUXRDb3JlLmZyYW1ld29yay9IZWFkZXJzXCIpO1xuICAgICAgICAgICAgcGF0aC5wdXNoKGZpbGUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGxldCBmID0gbWF0Y2ggc3RkOjpmczo6RmlsZTo6b3BlbigmcGF0aCkge1xuICAgICAgICBPayhmKSA9PiBmLFxuICAgICAgICBFcnIoZSkgPT4gcmVwb3J0X2Vycm9yKCZmb3JtYXQhKFxuICAgICAgICAgICAgXCJDYW5ub3Qgb3BlbiBgezo/fWAsIHBsZWFzZSBtYWtlIHN1cmUgdGhhdCB0aGUgUXQgaGVhZGVycyBhcmUgaW5zdGFsbGVkLlxcbnt9XCIsXG4gICAgICAgICAgICBwYXRoLCBlXG4gICAgICAgICkpLFxuICAgIH07XG4gICAgQnVmUmVhZGVyOjpuZXcoZilcbn1cblxuLy8gcXJlYWwgaXMgYSBkb3VibGUsIHVubGVzcyBRVF9DT09SRF9UWVBFIHNheXMgb3RoZXJ3aXNlOlxuLy8gaHR0cHM6Ly9kb2MucXQuaW8vcXQtNS9xdGdsb2JhbC5odG1sI3FyZWFsLXR5cGVkZWZcbmZuIGRldGVjdF9xcmVhbF9zaXplKHF0X2luY2x1ZGVfcGF0aDogJnN0ciwgcXRfbGlicmFyeV9wYXRoOiAmc3RyKSB7XG4gICAgY29uc3QgQ09ORklHX0hFQURFUjogJidzdGF0aWMgc3RyID0gXCJxY29uZmlnLmhcIjtcbiAgICBsZXQgYiA9IG9wZW5fY29yZV9oZWFkZXIoQ09ORklHX0hFQURFUiwgcXRfaW5jbHVkZV9wYXRoLCBxdF9saWJyYXJ5X3BhdGgpO1xuXG4gICAgLy8gRmluZCBkZWNsYXJhdGlvbiBvZiBRVF9DT09SRF9UWVBFXG4gICAgZm9yIGxpbmUgaW4gYi5saW5lcygpIHtcbiAgICAgICAgbGV0IGxpbmUgPSBsaW5lLmV4cGVjdChcIlVURi04IGNvbnZlcnNpb24gZmFpbGVkIGZvciBxY29uZmlnLmhcIik7XG4gICAgICAgIGlmIGxpbmUuY29udGFpbnMoXCJRVF9DT09SRF9UWVBFXCIpIHtcbiAgICAgICAgICAgIGlmIGxpbmUuY29udGFpbnMoXCJmbG9hdFwiKSB7XG4gICAgICAgICAgICAgICAgcHJpbnRsbiEoXCJjYXJnbzpydXN0Yy1jZmc9cXJlYWxfaXNfZmxvYXRcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYW5pYyEoXCJRVF9DT09SRF9UWVBFIHdpdGggdW5rbm93biBkZWNsYXJhdGlvbiB7fVwiLCBsaW5lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZm4gZGV0ZWN0X3ZlcnNpb25fZnJvbV9oZWFkZXIocXRfaW5jbHVkZV9wYXRoOiAmc3RyLCBxdF9saWJyYXJ5X3BhdGg6ICZzdHIpIC0+IFN0cmluZyB7XG4gICAgY29uc3QgVkVSU0lPTl9IRUFERVI6ICYnc3RhdGljIHN0ciA9IFwicXRjb3JldmVyc2lvbi5oXCI7XG4gICAgbGV0IGIgPSBvcGVuX2NvcmVfaGVhZGVyKFZFUlNJT05fSEVBREVSLCBxdF9pbmNsdWRlX3BhdGgsIHF0X2xpYnJhcnlfcGF0aCk7XG5cbiAgICAvLyBGaW5kIGRlY2xhcmF0aW9uIG9mIFFUQ09SRV9WRVJTSU9OX1NUUlxuICAgIGZvciBsaW5lIGluIGIubGluZXMoKSB7XG4gICAgICAgIGxldCBsaW5lID0gbGluZS5leHBlY3QoXCJVVEYtOCBjb252ZXJzaW9uIGZhaWxlZCBmb3IgcXRjb3JldmVyc2lvbi5oXCIpO1xuICAgICAgICBpZiBsaW5lLmNvbnRhaW5zKFwiUVRDT1JFX1ZFUlNJT05fU1RSXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBsaW5lLnNwbGl0KCdcXFwiJykubnRoKDEpLmV4cGVjdChcIlBhcnNpbmcgUVRDT1JFX1ZFUlNJT05fU1RSXCIpLmludG8oKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwYW5pYyEoXCJDb3VsZCBub3QgZGV0ZWN0IFF0IHZlcnNpb24gZnJvbSBpbmNsdWRlIHBhdGhzXCIpXG59XG5cbmZuIG1haW4oKSB7XG4gICAgcHJpbnRsbiEoXCJjYXJnbzpydXN0Yy1jaGVjay1jZmc9Y2ZnKG5vX3F0KVwiKTtcbiAgICBwcmludGxuIShcImNhcmdvOnJ1c3RjLWNoZWNrLWNmZz1jZmcocXRfNV8xMSxxdF81XzEyLHF0XzVfMTUscXJlYWxfaXNfZmxvYXQpXCIpO1xuXG4gICAgLy8gU2ltcGxlIGNmZyEodGFyZ2V0XyogPSBcIi4uLlwiKSBkb2Vzbid0IHdvcmsgaW4gYnVpbGQgc2NyaXB0cyB0aGUgd2F5IGl0IGRvZXMgaW4gY3JhdGUncyBjb2RlLlxuICAgIC8vIGh0dHBzOi8vZG9jLnJ1c3QtbGFuZy5vcmcvY2FyZ28vcmVmZXJlbmNlL2Vudmlyb25tZW50LXZhcmlhYmxlcy5odG1sI2Vudmlyb25tZW50LXZhcmlhYmxlcy1jYXJnby1zZXRzLWZvci1idWlsZC1zY3JpcHRzXG4gICAgbGV0IGNhcmdvX3RhcmdldF9vcyA9IHN0ZDo6ZW52Ojp2YXIoXCJDQVJHT19DRkdfVEFSR0VUX09TXCIpLnVud3JhcCgpO1xuICAgIGxldCBjYXJnb190YXJnZXRfZW52ID0gc3RkOjplbnY6OnZhcihcIkNBUkdPX0NGR19UQVJHRVRfRU5WXCIpLnVud3JhcCgpO1xuXG4gICAgcHJpbnRsbiEoXCJjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1RVF9JTkNMVURFX1BBVEhcIik7XG4gICAgcHJpbnRsbiEoXCJjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1RVF9MSUJSQVJZX1BBVEhcIik7XG4gICAgbGV0IChxdF92ZXJzaW9uLCBxdF9pbmNsdWRlX3BhdGgsIHF0X2xpYnJhcnlfcGF0aCkgPSBtYXRjaCAoXG4gICAgICAgIHN0ZDo6ZW52Ojp2YXIoXCJRVF9JTkNMVURFX1BBVEhcIikub2soKS5maWx0ZXIofHh8ICF4LmlzX2VtcHR5KCkpLFxuICAgICAgICBzdGQ6OmVudjo6dmFyKFwiUVRfTElCUkFSWV9QQVRIXCIpLm9rKCkuZmlsdGVyKHx4fCAheC5pc19lbXB0eSgpKSxcbiAgICApIHtcbiAgICAgICAgKFNvbWUocXRfaW5jbHVkZV9wYXRoKSwgU29tZShxdF9saWJyYXJ5X3BhdGgpKSA9PiB7XG4gICAgICAgICAgICBsZXQgcXRfdmVyc2lvbiA9IGRldGVjdF92ZXJzaW9uX2Zyb21faGVhZGVyKCZxdF9pbmNsdWRlX3BhdGgsICZxdF9saWJyYXJ5X3BhdGgpO1xuICAgICAgICAgICAgKHF0X3ZlcnNpb24sIHF0X2luY2x1ZGVfcGF0aCwgcXRfbGlicmFyeV9wYXRoKVxuICAgICAgICB9XG4gICAgICAgIChOb25lLCBOb25lKSA9PiB7XG4gICAgICAgICAgICBwcmludGxuIShcImNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVFNQUtFXCIpO1xuICAgICAgICAgICAgbGV0IHF0X3ZlcnNpb24gPSBxbWFrZV9xdWVyeShcIlFUX1ZFUlNJT05cIik7XG4gICAgICAgICAgICBsZXQgcXRfaW5jbHVkZV9wYXRoID0gcW1ha2VfcXVlcnkoXCJRVF9JTlNUQUxMX0hFQURFUlNcIik7XG4gICAgICAgICAgICBsZXQgcXRfbGlicmFyeV9wYXRoID0gcW1ha2VfcXVlcnkoXCJRVF9JTlNUQUxMX0xJQlNcIik7XG4gICAgICAgICAgICAocXRfdmVyc2lvbiwgcXRfaW5jbHVkZV9wYXRoLCBxdF9saWJyYXJ5X3BhdGgpXG4gICAgICAgIH1cbiAgICAgICAgKFNvbWUoXyksIE5vbmUpIHwgKE5vbmUsIFNvbWUoXykpID0+IHtcbiAgICAgICAgICAgIHBhbmljIShcIlFUX0lOQ0xVREVfUEFUSCBhbmQgUVRfTElCUkFSWV9QQVRIIGVudiB2YXJpYWJsZSBtdXN0IGJlIGVpdGhlciBib3RoIGVtcHR5IG9yIGJvdGggc2V0LlwiKVxuICAgICAgICB9XG4gICAgfTtcbiAgICBkZXRlY3RfcXJlYWxfc2l6ZSgmcXRfaW5jbHVkZV9wYXRoLCAmcXRfbGlicmFyeV9wYXRoKTtcbiAgICBsZXQgcXRfdmVyc2lvbiA9IHF0X3ZlcnNpb24ucGFyc2U6OjxWZXJzaW9uPigpLmV4cGVjdChcIlBhcnNpbmcgUXQgdmVyc2lvbiBmYWlsZWRcIik7XG5cbiAgICBpZiBxdF92ZXJzaW9uIDwgVmVyc2lvbjo6bmV3KDUsIDYsIDApIHtcbiAgICAgICAgcmVwb3J0X2Vycm9yKCZmb3JtYXQhKFwiUXQgdG9vIG9sZC4gRm91bmQgdmVyc2lvbiB7fSwgYnV0IFF0IDUuNiBpcyByZXF1aXJlZC5cXG5JZiBzZXZlcmFsIHZlcnNpb25zIG9mIFF0IGFyZSBpbnN0YWxsZWQsIHNldCB0aGUgUEFUSCBvciBRTUFLRSBlbnZpcm9ubWVudCB2YXJpYWJsZSBzbyBpdCBmaW5kcyB0aGUgY29ycmVjdCB2ZXJzaW9uXCIsIHF0X3ZlcnNpb24pKTtcbiAgICB9XG5cbiAgICBsZXQgbXV0IGZsYWdzID0gdmVjIVtdO1xuICAgIGlmIGNhcmdvX3RhcmdldF9vcyA9PSBcIm1hY29zXCIge1xuICAgICAgICBmbGFncy5wdXNoKFwiLUZcIik7XG4gICAgICAgIGZsYWdzLnB1c2goJnF0X2xpYnJhcnlfcGF0aCk7XG4gICAgfVxuICAgIGlmIGNhcmdvX3RhcmdldF9lbnYgPT0gXCJtc3ZjXCIge1xuICAgICAgICAvLyBGb3IgaHR0cHM6Ly9jb2RlLnF0LmlvL2NnaXQvcXQvcXRiYXNlLmdpdC9jb21taXQvP2lkPTBkYzZjYzA1NTE3NGEwNTU2ZjJlNDFjYTI2OTAxM2IzYTcwNTZjODZcbiAgICAgICAgZmxhZ3MucHVzaChcIi9wZXJtaXNzaXZlLVwiKTtcbiAgICAgICAgLy8gUXQgYXNzdW1lIFVURi04IGVuY29kaW5nXG5cbls5NyBtb3JlIGxpbmVzIGluIGZpbGUuIFVzZSBvZmZzZXQ9MTgxIHRvIGNvbnRpbnVlLl0ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODk5NjE4MDJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJiZDM5ZTUyMiIsInBhcmVudElkIjoiMmUxOTNkYWIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMyOjUyLjc5OVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqQXNzZXNzaW5nIFF0IHZlcnNpb24gY29tcGF0aWJpbGl0eSBhbmQgYnVpbGQgY29uZmlndXJhdGlvbioqXG5cbioqUGxhbm5pbmcgd29ya3NwYWNlIGJ1aWxkIGZvciBib3RoIHRhcmdldHMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTBiZjlmNDgxOTE4ODBkNWExYjYzMzcwZDE2XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNa1VncGU4OVZXVERScFppYTZpdHdRZWdaUGdGV3Mzancwc1JKYVpMYUZNdHVwd0JzajYxT2FzQmhQQnBjT2tJc1RLTXBFaGZob3lEaUdpc2p4ZXdTeUVISHgwMHF1NE5tNi02bDhyVlZNcFVrQVNtUTB6UFNOeUtzdmM3RHpqckRXS0FMQXlENWhIbXFQWTJITF9meWUtVHJicGVYWWgwTUNHS2hYX0pNa1dZUldHN19kUVZWWllncnNvVEh5Yk8zWDJucUtWY09ONTNTSkJiN2ZnZXRrbWZFMGxZUVhpT1ZUaVhnWWpMQ290ZTdIeGFUSm9KaUF4MHNfbi04cklkalhycGNFNVIxX0ZaY1VvRURQN1pQamx2SDl4V080a0puM2w5WHJSd2w4bjRxbkxhanBGcDFsYThxU3NXZEdZNmFLOWgza3Iwd2lBT2ZoZmtOT3NhT0pnSGtIMG9ZN1IyT3dwZnZVMl9hNWktd201dVRGSXU4dHFnUXhybEM2OWtOWUszZ3BzTUZ3alBqRF9hSE9JWnNhWklhN0RveGc3T25pU0xaTjYtc3VsS1dteTdYMlA0czFPSlh2UW1yTDdGTzVsWVlhRF9oR2N1SWVCVndVSmNUTUFaV1RnX0x3OVVuUkNudE9YNkhtQ3owZFNqaWtLZmk4NzZzYzJ3NTFkVV8wQWNDdGZnWHdhNUlpaUVaZXZVVkJFcHVhNkUtaGQzTGpoaHBfMFR2bmE1M2Y4VFRETTJ5STlfYV9BOFFYeDF5d1k1TzFGWXN4YXk3Z2dJc0lIQndyblRmcDlLOGZMMFM1MF9rcjBiV1JhcmdWVnhud0FERnl0SFljaV9sWTFqajBheEVTRHhHLU1nS0h1Y2s1OVVjdmItTVBKV0VhNXdRX2RRQzVFMmxFOUNFTDRnNG5rWXUzQzd0anhScnFtWGRtX1Btb1lCVUxwSVc4cEZQdlFxa0xDV2dnaVRNaDhSYUlRNVBEWDU3dmdHZV9OUlZiNkNjeXNhUWctM1BRUnNxU2RFc0Jvcnl2Tk1ON3p4UklZdkEwSUQ3TTY3M2FSeXVCSFg4TWR2WGlSSHl1U3laVG5XYTV6LWZubmlPcTZMM1FDYmNyUk9Lckp5Rm5hcnVueWRZVF9kZWVIUmJmZ0RfSWN6d19zYU5iLUJvLVVCVUh0SmtaaGlVQ2NfRnRJWlJIbURWbS1raVN0SVktRTZuNzVVcjhGSGx3QUlvYkJUb0xYV29sWkw3aVVwZUlRRTBLRnpZY1VPd1p0R09VYUt4ZWZPWThMeHBxR2pBRk1CQ2EteHBjdmJVOGZ1Y0FYSmhDZjdmWjY0T2hEU05qZ0Roc0cyMXlIYkZ3VXFITVFaN2l5eGdLY2ZaOVRDdXlZMVJTQWxweE9TYjhSODlRMHlwVEY5bTI1QVN0dkc5SGJ3dGI4SF9URlZTVjN0cWstZ3VCdzdHZXVVVVUwV2VyNHVZMk1Vclk1ZXRjRmRzZ1ZoSkpPWFcyT0NfSDVJdnBnT2FKS2s2d2pfM1k3eWZWUC1mLVNINlhpdTZjRWtpeGRjcjRNSWxlN1lYMVJFc2RZTDAwQ3AyUTIyUUFHX1NmNXQ2RlNDazB1TmY5bVdfZG1PMVQyaWhOa2R1Ql9nVzk5STlYeG5zNFRCTmxRQjg0U1h1NGY5dzVfWUlTcmc1VWdrRGdDbVhiTGJxQXhtZkJFMHFmRjhMQ2FwaVpDVEY4ZzBWT0tDMUt2ZVBaaWVFQlFxMnU3dTAwM2UxWV9aRXRxcjFLQThUOXVLcjl5VVRLNTJic0RtbVFPY2N2aUozaVVZY1lTanNCbUxsU1l3YUJObEdlVHNvSjZTUThRVXM5QU5IR3dLYTM5eXJYUGY3VjkzMFR4OEdsTENUZ0pTRmctYm1ScWc0WDBncW9Mc29HWEFrSGl1REJDRXlJY1VnNUlkaUxJdWQ2Q3lfMWZmUlBYY0NwTHl0UFVNMElwX0xQaEt0Wl9hUHpsSzBvRkhWMnk4ZkFyNXNSd29TRlhydG5Ndl9pOW5NUFFyaGlDYUVRdW5HUDJxZWNib1B0dTNRbGk3QWxVV0VldjR1VjJQWjUzRWJ4eTlFTG1zY0FwbDNDN3pOdVB5a3dqdFNLM25kVGM1c2RDYk5Zb2lFLThVdGdsQWs4eUczX1BWc2t0ejJrY0x2aGE4dHg0TzlmQ2YzZFllN2F5aDJaa0NySDdILVpmeTczRi1Rb1J4SW9pWWd0c3lzM0hzdHR6SGkwLWJTOEhyZGgtazVibnhkY2FRcGh3VFcwS3JNVVc0LWFRenFzSVFtMVFta1Q1bjN3ajVZMXFYaWg0N0tYY2p3bGF6RThiNXJycmZ5Yi1PTnY5Vm5SMHRUNFpnSGFwTWRDQ0tjTS0zbjI0ckRlTGtLNGN3QUYzWjNXeUhUZzZBRDZrX2JuQm1OODFiX0R4NFlXSG5OeG1ZekpFQVZTR2d4MmJNQWVmdTVMYTVBd3ZSLXBiZjFDNWVqRTdTMzRmTkhuT25fMzNIX20xR3JyZmZ5N2dtTTBmdkhONGpySE1pSmc5ZEZZbFdPZFJJWDl5Nzh0ejk1V2xXWl9IMVEtVUM4ME9va1g2N3RoTGI4N2NGZE5JQzFwSHNKLXIzUGR0a3d3QzNLSUc3VzZmVDcwanZfZ1Z2OURkVkdfYmw5ZjNBLXlvbXFzdURWckJaLUdmODlnSWpydVZyRUhpWUNOUUVJaVduakF1SkVUUWpQNGVLM2JXU2dUSktQX0pxRkRvNUVpTGxnUTJBQ05oN2dGWm1SbWllTXFVUHBPZzEzNTlnU2E0aW5RT3N6RzhpOHk2WTg3REZvLTB4M2xyblFRZHBzMm9SSm9KS1JodHkzQ1EzdUVFSEFKRTFfUnM2VmtaTVRySE9CNXRROHRNXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipBc3Nlc3NpbmcgUXQgdmVyc2lvbiBjb21wYXRpYmlsaXR5IGFuZCBidWlsZCBjb25maWd1cmF0aW9uKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIHdvcmtzcGFjZSBidWlsZCBmb3IgYm90aCB0YXJnZXRzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzBRNEhvbFJwTk9NY2dKa29uS29IRGJEd3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkxNGE3Yzg4MTkxODFiZWQzMTc5NGZmNWY4MiIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJhcHQtY2FjaGUgc2VhcmNoICdebGliZ3RrNC1kZXZlbCR8XnF0NS1xdWlja2NvbnRyb2xzMiR8XnF0NS1kZWNsYXJhdGl2ZSR8XnF0NS1iYXNlLWNvbW1vbiQnIn19LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzJoSG4xSzhlTDQ1YVc5aFhmb0xTTzNRTHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkxNGE3ZGM4MTkxYjdlMDU5NDZmZTEzNjUxNCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJhcHQtY2FjaGUgc2hvdyBxdDUtYmFzZS1kZXZlbCAyPi9kZXYvbnVsbCB8IGdyZXAgLUUgJ14oRGVwZW5kc3xOYW1lfFZlcnNpb24pOicgfCBoZWFkIC0yMDsgYXB0LWNhY2hlIHNob3cgcXQ1LWRlY2xhcmF0aXZlLWRldmVsIDI+L2Rldi9udWxsIHwgZ3JlcCAtRSAnXihEZXBlbmRzfE5hbWUpOicgfCBoZWFkIC0xMCJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6Mjg2MSwib3V0cHV0IjozMzksImNhY2hlUmVhZCI6NTQ3ODQsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTk4LCJ0b3RhbFRva2VucyI6NTc5ODQsImNvc3QiOnsiaW5wdXQiOjAuMDE0MzA1MDAwMDAwMDAwMDAyLCJvdXRwdXQiOjAuMDEwMTcsImNhY2hlUmVhZCI6MC4wMjczOTIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA1MTg2N319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTk2MTgwNCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MGEyNDA4ODE5MWExMDQ0YWIxYWU4OTY2ZjAifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMThiNmU3MDciLCJwYXJlbnRJZCI6ImJkMzllNTIyIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMjo1OC4xNTlaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzBRNEhvbFJwTk9NY2dKa29uS29IRGJEd3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkxNGE3Yzg4MTkxODFiZWQzMTc5NGZmNWY4MiIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6ImxpYmd0azQtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBhbmQgdG9vbHMgZm9yIEdUSzQgYXBwbGljYXRpb25zXG5xdDUtYmFzZS1jb21tb24gLSBDb21tb24gcGFja2FnZSBmb3IgUXQ1XG5xdDUtcXVpY2tjb250cm9sczIgLSBRdDUgLSBtb2R1bGUgd2l0aCBzZXQgb2YgUXRRdWljayBDb250cm9scyAyXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODk5NzgxNTh9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3YTcwNWNjNSIsInBhcmVudElkIjoiMThiNmU3MDciLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMyOjU4LjE1OVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfMmhIbjFLOGVMNDVhVzloWGZvTFNPM1FMfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTE0YTdkYzgxOTFiN2UwNTk0NmZlMTM2NTE0IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiVmVyc2lvbjogNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ni4xMDAuMS4zQDE3NzE0MTg1MjFcbkRlcGVuZHM6IHBrZ2NvbmZpZyhnbCksIHBrZ2NvbmZpZyhlZ2wpLCBnY2MtYysrLCAvYmluL2Jhc2gsIC91c3IvYmluL2VudiwgL3Vzci9saWI2NC9wa2djb25maWcsIGNvcmV1dGlscywgZ2xpYmMta2VybmhlYWRlcnMtZ2VuZXJpYywgZ2xpYmMta2VybmhlYWRlcnMteDg2LCBncmVwLCBsaWJYMTEtZGV2ZWwsIGxpYmRvdWJsZS1jb252ZXJzaW9uLWRldmVsLCBsaWJnbHZuZC1kZXZlbCwgbGliaWN1LWRldmVsLCBsaWJzc2wtZGV2ZWwsIGxpYnN0ZGMrKy5zby42KEdMSUJDWFhfMy40LjMyKSg2NGJpdCksIGxpYnVkZXYtZGV2ZWwsIGxpYnhjYi1kZXZlbCwgbGlieGtiY29tbW9uLWRldmVsLCBsaWJ6c3RkLnNvLjEoKSg2NGJpdCkgKD49IHNldDpsaXNhVGl5MTcwT2NON1Z5dGU5KSwgcGVybChDb25maWcucG0pLCBwZXJsKEN3ZC5wbSksIHBlcmwoRW5nbGlzaC5wbSksIHBlcmwoRmlsZS9CYXNlbmFtZS5wbSksIHBlcmwoRmlsZS9GaW5kLnBtKSwgcGVybChGaWxlL1BhdGgucG0pLCBwZXJsKEZpbGUvU3BlYy5wbSksIHBlcmwoR2V0b3B0L0xvbmcucG0pLCBwZXJsKElPL0ZpbGUucG0pLCBwZXJsLWJhc2UsIHV0aWwtbGludXgsIHZ1bGthbi1oZWFkZXJzLCB4b3JnLXByb3RvLWRldmVsLCB4eGQsIHJwbS1tYWNyb3MtcXQ1ICg9IDUuMTUuMTgtYWx0MTpzaXN5cGh1cys0MDg1ODYuMTAwLjEuMyksIGxpYnF0NS1zcWwgKD0gNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ni4xMDAuMS4zKSwgbGlicXQ1LW5ldHdvcmsgKD0gNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ni4xMDAuMS4zKSwgbGlicXQ1LW9wZW5nbCAoPSA1LjE1LjE4LWFsdDE6c2lzeXBodXMrNDA4NTg2LjEwMC4xLjMpLCBsaWJxdDUteG1sICg9IDUuMTUuMTgtYWx0MTpzaXN5cGh1cys0MDg1ODYuMTAwLjEuMyksIGxpYnF0NS1jb25jdXJyZW50ICg9IDUuMTUuMTgtYWx0MTpzaXN5cGh1cys0MDg1ODYuMTAwLjEuMyksIGxpYnF0NS1wcmludHN1cHBvcnQgKD0gNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ni4xMDAuMS4zKSwgbGlicXQ1LXRlc3QgKD0gNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ni4xMDAuMS4zKSwgbGlicXQ1LWVnbGZzZGV2aWNlaW50ZWdyYXRpb24gKD0gNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ni4xMDAuMS4zKSwgbGlicXQ1LXhjYnFwYSAoPSA1LjE1LjE4LWFsdDE6c2lzeXBodXMrNDA4NTg2LjEwMC4xLjMpLCBsaWJxdDUtZWdsZnNrbXNzdXBwb3J0ICg9IDUuMTUuMTgtYWx0MTpzaXN5cGh1cys0MDg1ODYuMTAwLjEuMylcbkRlcGVuZHM6IHF0NS1iYXNlLWRldmVsLCAvdXNyL2xpYjY0L3BrZ2NvbmZpZywgbGliUXQ1Q29yZS5zby41KCkoNjRiaXQpICg+PSBzZXQ6cWdnOU05NGNDY1lDa0VDR2Q4aGlmMmdxQXRQbGZJeWJzcTB3b05EQWtWbTk5RWZaeW1adFp1VUlkY3BaRHVralRiWVpyazh4SjhwRWxzRVN5OTJScjU3N3Q4NXppRUE5YW1CRUc3cldyd0h2R3lldjd3UTFweURPd0hKdHAyUjVaaFc0VE1ObGx3UEs0bkpVSzlSM0pvZDMyZ0dadmdORjNDWm1ZRGd3d2tmMUtRbm1KTmpWWnZabDh4eVZSeXV3dzR1QjVtMXJadGRsQ2N1RTMzWkVwZDFvSGI5cER5bTg1dXhwWmxTWThveFhtM1RNVzJ5NnVOc1RaRldaYTRGakJ0RHdKdm1YTnpwcG1SNVNadWFsV1NGRGsySU8zalhSaWU4YW85NUNvU3hSa0hrUVpKcVF4N1NpRVQ2enNjeHJ3Y1JRTGZVRXVyRXFPUXV4OXpXQUxNYXVtMW43ZXFTSzA2U0JqRHlIR0daY2VBWmlRVzY5ME93WkVmejI4Z1pHVWVuZ0E1MTBxcFdiTXJpbFp5eWdNVmtBRnNsUTBEQU9pV0JSdmpuWWQyRWk2dzg2TjFoZ1NobmlvVXhhQWlHUHNSVnQ0NkduM1pmZFptaXBvOWdaN1RQdTBqQ3hUMTJaRUdiWkxRM2FLbVJtdFgyQXVxdE5abG5zdkZwaDR6VVFGNTF0NmprNHRORUxzT1ZaM3FKUE92YThYVTBRU1psbHBmNzZsY2hzcVg0TjRhTkNueWltbFNSUkRjdWFUVDZPUzg1SkVFM2ZCYTFLNlNHQ2pzRjRVelFHVTh5Y1ltcGRaY2U1Vlo0NlRTWmJZa3Zpd1g2cjBpU0RJOThPMU91eFpDZzlxSVVrWWtCSXpzaW5tOVVSOWJPZlNaazhaMTBtbDRkeW9LUkM3QTFqdzQ3b256SVhGU3VxMlV3djhDenJ2ektaRXJ5YU5OWjM3bVhmYU5mYm5udXBtOGY3SU1hUjVUaE9zd0YyNnVSUFRkUXN3UW5VaHlRUFpzZ0FxekRGYURtek0xaHFDV2tveGhyQW5BOWlPOG9CRXBTa3M1UHQ4bnB1TFoyTXpORnJyUDc2NXphcVdQdlBJc2s3MzI1ekFpZWxTUGRBS3NjYUJXZ1UxNkoyanViNWtpTDNCdVJ3Z0RjVFFkYWpNb3hDeFJrY3JnNFJzVnJNdDE0alhZc3BDcWZ2eXY0SEhzeHRzU2M5ZVFiMGVQMHdkRzNiOFRDN21WejhCaDR6dDE2MDYxQVo1a0t3WEpaTGFXb015aHdDbGZjWko4c1ozM0RuUGpSdFg5SDZTTm1XeE1wa2xqazkzQU9OemVINTYzTUJDamNXeExKb2lHVXd4Z3Bmc2daYXZVeDRxWnZEMGxnZ2ptQ2VpRUJTbUpROFpKOVoxd1RRWTFvWjk0Wm1TVlR5VzJVTndPRmNQa3RsYmtKZUp6QXl4OVlMdlFsSTJ1dXBwNGFhenpzY1BJc0l0YU1qSmlnQmZRM0YxSXNMN2lQbVB6eWIzUEE5czVVeUp4em5qa1FaaXVnczNxNUdrWE1waFdPVkIzZ3pmYWdSVzdRTU1EWkhJRzBuWUh5YmlhUHJMMDZUeHlveXVyajBkMzdyRzBPVGZEWHpVeDRKcFdudDh3MVNHWHQ1ZUIxUVQ2NUJBZm9sWVpkdWVQTnVHV0RzTnh4OWIwWnlpTU1SWUZIc1NSQ2FFWkgyWjVMVndrTGFkbHBVRXB5UXo3QXNFY0ZYTlZ5QmdYbHl5b3UybXNvWWpVZkR2R0taajlaMERCOGgxM2M3Rnh6WEpRc2ZmN0pTY2l5cnFaSERMMkg4WERUNGU1WGYyQThER0Z0TVBDcFU0RkNaenJnaTR2NGhsUTlxWHYwMlZlYlh2Nkw2VXZJblN5UnFoY1gyUXlGSnJwT1I3SlFrazVGWDI1eHBXeXdacVowYThBV21ncGlGV2NybDRBdGNrSE5YempEcG9oNTYwSlN4amJLakNhdjRFV3VYeDhmeUtacFZXZ1AyeGUyZWN5Z0lxMVp0dDFVM1VQeFpENHBac2RMWFVCMmRCeFpnNjUzZTlLN0dOQTBDZFVPMG1kRkk0S25xdDdTYlVNQW5Dc29hakFpQkljN1dEYTRyeW80NnRNRHhMaFU2cHpwRkRUR3FZbkJqRE53ZnFvZWlPZ1hFZ2xDVWRBMVc4VDJNbEk5dXQzR0JnU1BwS05NQUVpVnlyQlAySEozRjNSZHlQY3EyV0dCQVZ4QVpDRE9MTVRKRDZOWmowbW9CVzJ3ajdVblE0NGphSkkya2hPQmlYY1cya1V6WmFRZjFMbTNPNG80bmt0eVRVTUhHaVNVNTlUcDJMS1ZvR2ZlU3NKZThwZmZhcHJxamN4TnRGbzRmWHhaeGVCSEZuVzhKYmtWZ2dvcklTemljTmNtODJvQmtJc25CWUtYVnBlemRRZE5aaU1DUEcxWmEyU0lvaVF0c1BSa1p5QU9RNnRaamlkWjU0S2FDZlpKVGxqeWphS0oxVndwdVVaMHdZNFl6SVhoV0g3aDJBWkpIWmFEakgyNnljVHpQUmFQVTg3SUhSZUJnNHdEdGpBTE5INWZNbkcyRk1mOXlET3VpWjNiTVhSczlTYjZJY1prZWpxb0FmNFk0MWYyaUtnMU50empUODFHNjJqdjhaOTEpLCBsaWJRdDVHdWkuc28uNSgpKDY0Yml0KSAoPj0gc2V0OnJrWVRhd1dnVjJPQVBORTZGdFZQRlozdkZYUnB4MHZYakV6V2Qwb2RXRnFCUHlxY3NKdXFGdXNEQk53ZFVGeUlaTHhIa3puWTFxb1VYOXZtWkZnY2FRYnVsa09tclJPdlZqaXNaSURwT1pucEtWSDh5ZTFENjJPY1k2UFJwa3JxczcxMUZvRDVPbGhhMmNSNDk0ZlppVXlFa3hiVkRJR3dONGlPQTlQOVBnSUgwRzVMN09ZNmphN1FCbUhaOEs0eWpGTVRTMTNocFlFb2QxOWtxbXNyVzV3TFFoaXliblRlRkF2S1RQanNhbW9DWkE5YmV4dTFWMTdUcklwQ0hhOE9NQjZHNFJDbER0cVpjRWxzeXNhU3ZXYVM4ZVlRaUcyVVNwMng4MXJ0VWs1YU1PV2d0eHZCRHhxNlphQVhRaE9wZ29VVFp4d0xWNzVBWkxLRjdjZm9zajJTcENBSG8wKSwgbGliUXQ1TmV0d29yay5zby41KCkoNjRiaXQpICg+PSBzZXQ6b2lFV2M5cFZMRnJxdXdFWkpQUW5RTVRVcDJVWUpLYkVGZHlUUEtVWjhHa1p1NG9VWWp5Z3JmYmF1RXN3MVJ1a2xhc0hia2RQUDFjZ0RvZ3dhM0NpSDF3TWY2ekJacmp5ZnhaRnRXV0YwKSwgbGliUXQ1V2lkZ2V0cy5zby41KCkoNjRiaXQpICg+PSBzZXQ6cmpNckUwc2NQWTVYUVBNQnREZDlHTkFHUm9pUDFUVktDd3hNZkdmcThXZmgwcTVPYUhrdDVYTDlKZjgwVlpGVjhubUdLeHVKQndiMUhKWjFHM0tOMDlkQnNTcU9TTXlDYTNHb3Nxak9pVER6Z2RwNWFnZncydk10WjA3c0JHeGM4YXJtRHFJMWFJbHhTeERjalpIejFYa1pkYjRJZXNaQmd0UXdteGZXb0xGblRCMmZtODRuZmVJV0JjWVlnalc5WjREdm1wZmFkWkxOMkM3eGdxMG1rNm55QlhBMXFkaEhId0xBZFdvUWFEMGU0dDZEOFpqWmt4ekhMMm12TGpDZ1lvbWdFNGdqQ2d4enhabmN2YmRwWVE5U2dFd2xOeEJTdFU3Q2RlckZhaTFDaHU0TlB6SXMxMjA0M1RlZlZaS3FkU2dnWFJ2WEQ1ejJuMFJaNURTOEt6aENVVVJibG85VjZtSEZseHdkQkVOUkdtVlhrWndzWkVYTzk3cmR6NnAyVHVZYmxwNmV3ZEtKWm80cmcwTU1PbTd0eUphWHR2UWp5YWo1UG1ZaXI5bnl2S2VFaGMzSzhXcnFUTFk1WUZSZ3ZNTVlObVpHWmlaczVRQndMTXNydzltNzIpLCBsaWJzdGRjKysuc28uNihHTElCQ1hYXzMuNC4xMSkoNjRiaXQpLCBsaWJzdGRjKysuc28uNihHTElCQ1hYXzMuNC4yMSkoNjRiaXQpLCBsaWJzdGRjKysuc28uNihHTElCQ1hYXzMuNC45KSg2NGJpdCksIHBrZ2NvbmZpZyhRdDVDb3JlKSwgcGtnY29uZmlnKFF0NUd1aSksIHBrZ2NvbmZpZyhRdDVOZXR3b3JrKSwgcGtnY29uZmlnKFF0NVRlc3QpLCBwa2djb25maWcoUXQ1V2lkZ2V0cyksIGxpYnF0NS1xdWlja3BhcnRpY2xlcyAoPSA1LjE1LjE4LWFsdDE6c2lzeXBodXMrNDA4NTg3LjEwMC4xLjEpLCBsaWJxdDUtcXVpY2t0ZXN0ICg9IDUuMTUuMTgtYWx0MTpzaXN5cGh1cys0MDg1ODcuMTAwLjEuMSksIGxpYnF0NS1xdWlja3dpZGdldHMgKD0gNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ny4xMDAuMS4xKSwgbGlicXQ1LXF1aWNrc2hhcGVzICg9IDUuMTUuMTgtYWx0MTpzaXN5cGh1cys0MDg1ODcuMTAwLjEuMSksIGxpYnF0NS1xbWxtb2RlbHMgKD0gNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ny4xMDAuMS4xKSwgbGlicXQ1LXFtbHdvcmtlcnNjcmlwdCAoPSA1LjE1LjE4LWFsdDE6c2lzeXBodXMrNDA4NTg3LjEwMC4xLjEpLCBycG0tYnVpbGQtcW1sICg9IDUuMTUuMTgtYWx0MTpzaXN5cGh1cys0MDg1ODcuMTAwLjEuMSlcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTk3ODE1OX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImI3M2RkOGQ0IiwicGFyZW50SWQiOiI3YTcwNWNjNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzM6MDIuNjY1WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipFbnN1cmluZyByb290IG1hbmlmZXN0IGxhY2tzIGRlZmF1bHQgbWVtYmVyKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkxYzkyYTQ4MTkxYTlhN2ExNjI4MzY1OTYzOVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWtkWU1oMVRaUUFLM0ZtSVVaOVV1cHV6LXVkSFNHdHRIX2RxbzFYakdzdnA3XzF2UUR2NjNyMGVVVERtck83RndRMVJKUl9QOW53NFZvRW1mdWNJdVB2QmtXaWY0Si0xYUZGd0hpeUNxaDhDazBGWm5PM05UQnc2T3hibUk3bG5Wd0Y1M2dOU29HeXVDRUp0Y0NlNTFFTUFBTmNYRWZ5dGFUV3lDOUNFN3kxOHBRLUZRM2xrOExNWDQ3Xy1GcTdkaG42YTZwVXZOLXFndkxQdDFLcHZhNkxsUWdXZzI3dDJPc2FTNERJMXM3ZXg0V3pyeF80Ny1PWDU3OE9rcllxSTZFa3RRb21ObHZ6U0kybWZjYk8yS1gwbUtZemZzWkxIbGRldWFxemtmN0ZoLTdBdkhjZ196STBNZC1IOWhBS3M1TWkzR3JIYUlINTdETVo0ZFBwZDZKcTVEd19hQXJGMEctcy10Nk1vSTNxZXJ6Zm5JRDZPX3V5aUZfVllVUV9CUXl3bVdfdkNueHRNeWxYUEM4clpHanhQelpLMlNMS2VwUGJ5WkpVOEEzWUREc2hGXzBJSEh1VkQtZHpQMGZDUGpfcEJjeTc1QmVIUldkWDAwYk5ZRExveWQwem9RMHdmRUhQLWVzVTUxX2V5TUlnREMxSXZLVHhLYlBCWDMyN3dlUmdkV0R6M1Jvb2RHTk5ibS13ZDhNejhrdTNXcnJrT19tUlNaV1lPQjZ5U0c3enRJdUJsTjdpVlpCWUNER3FGUzRLQlZpU0t0bkJnNFNOM1RXek5IZmpsU19WMzRjaWVQbFh2VkRvUjZjYmQ3eDM5MjRlSkNJdXpMZFpVbm1sQjNKZF9hNE4zV1djcWpTR2plYjc3TmVqbGVPRkw4U1loUHJ0eFN5U1dxcnotUWhWS2hSVllsd2I3dGFISGl2Wk9aQmhFODdXN2habTdaejA3cWJUNkU4N1ZudzlZX25vblYzTlZnbXByLWd1aG5odDh3bWotWnNmbVdWNmR0b2tKeW90T1JrY25oeWMzbXlmSEhrNUN1ZFdnRlZVYVBSZmpmNE5wM2oyWWtsTTdQZmJpQlFmT0VMbERZZDVEOGttQ05XUG15dXFhQXFzV3JhQ0w0WW5zUWRzNGRPaWpUVU5jUndxelhoeHJTVG93aklmRHFYc0c4UDNHRlU1UFBXY2VJMnVuOG95LW1GVVB3SndKUDJ4Y053Ym5oZXZEenpDZkpUaUVYUGRSajZyQUtadmt5djVweGZ6ZHBBVXBPVlBiS2htZGhZRFFpZV9wdVdnMk9DQWNiVGV1Zz09XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipFbnN1cmluZyByb290IG1hbmlmZXN0IGxhY2tzIGRlZmF1bHQgbWVtYmVyKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzNLdHdUNzY3azVJN2lBUGJWSHVaV1Z1YnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkxZDIwN2M4MTkxYTU4ZWQ3ZGNkYzZiNGRiOCIsIm5hbWUiOiJlZGl0IiwiYXJndW1lbnRzIjp7InBhdGgiOiJDYXJnby50b21sIiwiZWRpdHMiOlt7Im9sZFRleHQiOiJtZW1iZXJzID0gW1wiY3JhdGVzL2ZsYXNoZXItZ3RrXCIsIFwiY3JhdGVzL2ZsYXNoZXItcXRcIl1cbmRlZmF1bHQtbWVtYmVycyA9IFtcImNyYXRlcy9mbGFzaGVyLWd0a1wiXVxucmVzb2x2ZXIgPSBcIjNcIiIsIm5ld1RleHQiOiJtZW1iZXJzID0gW1wiY3JhdGVzL2ZsYXNoZXItZ3RrXCIsIFwiY3JhdGVzL2ZsYXNoZXItcXRcIl1cbnJlc29sdmVyID0gXCIzXCIifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6NDEyNiwib3V0cHV0IjoxMTEsImNhY2hlUmVhZCI6NTY4MzIsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTEsInRvdGFsVG9rZW5zIjo2MTA2OSwiY29zdCI6eyJpbnB1dCI6MC4wMjA2MzAwMDAwMDAwMDAwMDMsIm91dHB1dCI6MC4wMDMzMywiY2FjaGVSZWFkIjowLjAyODQxNiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDUyMzc2MDAwMDAwMDAwMDA2fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg5OTc4MTYxLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkxYTg3N2M4MTkxYTUxNTczMzEyOWMzY2M0MCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxNzZhMGFhNCIsInBhcmVudElkIjoiYjczZGQ4ZDQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMzOjAyLjY2OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfM0t0d1Q3NjdrNUk3aUFQYlZIdVpXVnVifGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTFkMjA3YzgxOTFhNThlZDdkY2RjNmI0ZGI4IiwidG9vbE5hbWUiOiJlZGl0IiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHJlcGxhY2VkIDEgYmxvY2socykgaW4gQ2FyZ28udG9tbC4ifV0sImRldGFpbHMiOnsiZGlmZiI6IiAxIFt3b3Jrc3BhY2VdXG4gMiBtZW1iZXJzID0gW1wiY3JhdGVzL2ZsYXNoZXItZ3RrXCIsIFwiY3JhdGVzL2ZsYXNoZXItcXRcIl1cbi0zIGRlZmF1bHQtbWVtYmVycyA9IFtcImNyYXRlcy9mbGFzaGVyLWd0a1wiXVxuIDQgcmVzb2x2ZXIgPSBcIjNcIiIsInBhdGNoIjoiLS0tIENhcmdvLnRvbWxcbisrKyBDYXJnby50b21sXG5AQCAtMSw0ICsxLDMgQEBcbiBbd29ya3NwYWNlXVxuIG1lbWJlcnMgPSBbXCJjcmF0ZXMvZmxhc2hlci1ndGtcIiwgXCJjcmF0ZXMvZmxhc2hlci1xdFwiXVxuLWRlZmF1bHQtbWVtYmVycyA9IFtcImNyYXRlcy9mbGFzaGVyLWd0a1wiXVxuIHJlc29sdmVyID0gXCIzXCJcbiIsImZpcnN0Q2hhbmdlZExpbmUiOjN9LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5OTgyNjY4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZjk3MWNiYWEiLCJwYXJlbnRJZCI6IjE3NmEwYWE0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMzoxMy43NDlaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkFkZGluZyBpbml0aWFsIFJFQURNRSoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MjJkODljODE5MTk4MjRhMjk4YjFkODI5NWZcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1ramdzaE1MU1dubHgyVnM2dFlJN2J2ZW1sd3FQaFFIWExpX3JWdkNFXzdyRG1XTkFVTzZhVXFwYm5fZnZqd3Y5WEo5a0ZEQVJQY0dTbk9Oc1VGY0xXWmhtbnlWQXpMc3JpUUc2Tl94aVdMRU9HOGFzb01RbkgydG81YlE0YjM1alZxOFdVMjVtUzNGSWplVFJ3b1lvYkZTVEt2YkJoU0tnb1gtdWJjd3NjYkNwVktwSHFqSDFfMkVJOElRWDZPM0JGRjZabFNjdGdybXF6Vi1sTTJXWVhDalNaRVFXcklEbXFqY2dlM2hUSFJHM1lFUjNad2hUZUFxY0EtWWNuUXBDS0Y5SWtLNWlKalllSllzWWIwcGlNUmxTbkc3eVpzdEY4ZDN0NzM2c3ZGZ0N5WkxmTUhpMHJpM01va2V5ZGlMZ2ZlVE1JSm8tNjAwTzNXMjh1MHUxc1g2b0NUTURXN0dGNlNZVy03bENUTDV4Q0RNY1JEQ3h1U01NNGx1WGJJa1VfbWl1WmRSM1Zha1hNR3I4NHFJNk5BdmR5MlRrTVd5dkMwWlpxSTRxdUo3c0IwMS03MldrYmU2QjJMTEVIVFBSUjZOSHhEWk02OVV4YkQ0N0t6Z1kzcGxSV1liOVZQeHJBSXZDS05HWEMyWVZ3TE9kTFRVTUlRRERsUHZuRTRuY2lwUzZrTlZQNmhROE82VkNGSnl3dDkyZlN4cE1HLXhxRW92VlA4S3ZpcWtpMWowa0dXRk53QUYwaHVwN3NwZXF3SmhWcVpUOWM2NlA5TG1POU1aQ3ZNN0JRRmtlZDFyRTBPVk4tVGNKUEpHUDBuOFQ1TFdNSllZZFJVZ0pWZlpQTFJjbzl2cUk0aTFwX1diZTNNRXZjSWZ6N3k0Y2hONEdrSm5IU2E5dWVGbFk5ZEdPYUw2alU5VVhpZWlXYS1maFkxMGVuNWVWMVpFQ253dHJxQktWMk8zN0ZVd0kyOTlyZU5BTkhWOURCOVN4WFh3djNKWUNXbUVKLUt1OGs2X1B1YkFUQ1g4SWttLThRZFpoaFhrNnZ5OGxsZk1wbUpwcmdFYjVsYXY3WVZnZGRPc2txQ0lmYzFfVXRKX0xfVlhia3VYWEtpc1ZEYnVJZjZCd0R1dGdUNU5TTFBpVVZzZmRUSl8tYUhTSUZWcVlFd1RuMnVhR3Z0MUxWRTI5VXo1X1BBOUdNVkVHU01rNndXRE5xbHRXYVBobTVVUmR4MTQ5YjJza0F3T0JkWC1TTT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkFkZGluZyBpbml0aWFsIFJFQURNRSoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9RM2h4MVNSRFRRMHZqUGlvb0I4cXVWeWJ8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MjM0ZGNjODE5MWIxNzc5NDI5N2I1ZTUxNjAiLCJuYW1lIjoid3JpdGUiLCJhcmd1bWVudHMiOnsicGF0aCI6IlJFQURNRS5tZCIsImNvbnRlbnQiOiIjIEFMVCBJbWFnZSBXcml0ZXIgR1VJIHByb3RvdHlwZXNcblxuVGhpcyB3b3Jrc3BhY2UgY29udGFpbnMgdHdvIGluZGVwZW5kZW50IGludGVyZmFjZXMgZm9yIGBhbHQtcm9vdGZzLWluc3RhbGxlcmA6XG5cbi0gYGNyYXRlcy9mbGFzaGVyLWd0a2Ag4oCUIEdUSyA0L2xpYmFkd2FpdGFcbi0gYGNyYXRlcy9mbGFzaGVyLXF0YCDigJQgUXQgNS9RdCBRdWljayBDb250cm9scyAyXG5cbkJvdGggYXJlIGludGVyZmFjZSBwcmV2aWV3cy4gVGhleSBpbnNwZWN0IHN1cHBvcnRlZCBib2FyZHMgYW5kIHJlbW92YWJsZSBkcml2ZXMsIGJ1dCBkbyBub3Qgd3JpdGUgdG8gYW55IGRldmljZS5cblxuIyMgU3lzdGVtIGRlcGVuZGVuY2llc1xuXG5PbiBBTFQgTGludXg6XG5cbmBgYHNoXG5zdWRvIGFwdC1nZXQgaW5zdGFsbCBnY2MtYysrIGxpYmd0azQtZGV2ZWwgbGliYWR3YWl0YS1kZXZlbCBcXFxuICBxdDUtYmFzZS1kZXZlbCBxdDUtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ1LXF1aWNrY29udHJvbHMyLWRldmVsIFxcXG4gIHF0NS1xdWlja2NvbnRyb2xzMlxuYGBgXG5cblRoZSBRdCBiaW5kaW5ncyBkaXNjb3ZlciBRdCB0aHJvdWdoIGBxbWFrZWAuIElmIHNldmVyYWwgUXQgdmVyc2lvbnMgYXJlIGluc3RhbGxlZCwgc2VsZWN0IFF0IDUgZXhwbGljaXRseTpcblxuYGBgc2hcbmV4cG9ydCBRTUFLRT0vdXNyL2xpYjY0L3F0NS9iaW4vcW1ha2VcbmBgYFxuXG4oVGhlIGV4YWN0IGBxbWFrZWAgcGF0aCBjYW4gYmUgZm91bmQgd2l0aCBgcnBtIC1xbCBxdDUtYmFzZS1kZXZlbCB8IGdyZXAgJy9xbWFrZSQnYC4pXG5cbiMjIEJ1aWxkXG5cbkJ1aWxkIGJvdGggYXBwbGljYXRpb25zOlxuXG5gYGBzaFxuY2FyZ28gYnVpbGRcbmBgYFxuXG5CdWlsZCBvciBydW4gb25lIGludGVyZmFjZTpcblxuYGBgc2hcbmNhcmdvIGJ1aWxkIC1wIGZsYXNoZXItZ3RrXG5jYXJnbyBidWlsZCAtcCBmbGFzaGVyLXF0XG5cbmNhcmdvIHJ1biAtcCBmbGFzaGVyLWd0a1xuY2FyZ28gcnVuIC1wIGZsYXNoZXItcXRcbmBgYFxuIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMTg3LCJvdXRwdXQiOjMzMSwiY2FjaGVSZWFkIjo1OTkwNCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo3LCJ0b3RhbFRva2VucyI6NjE0MjIsImNvc3QiOnsiaW5wdXQiOjAuMDA1OTM1LCJvdXRwdXQiOjAuMDA5OTMsImNhY2hlUmVhZCI6MC4wMjk5NTIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA0NTgxN319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTk4MjY3MCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MjEwMjA0ODE5MTgzNWZhOGM5NGM4YWU4YjIifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiM2Q0YTg5YzMiLCJwYXJlbnRJZCI6ImY5NzFjYmFhIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMzoxMy43NTFaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1EzaHgxU1JEVFEwdmpQaW9vQjhxdVZ5YnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkyMzRkY2M4MTkxYjE3Nzk0Mjk3YjVlNTE2MCIsInRvb2xOYW1lIjoid3JpdGUiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgd3JvdGUgOTY1IGJ5dGVzIHRvIFJFQURNRS5tZCJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTk5Mzc1MX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImE0Zjk2NzkwIiwicGFyZW50SWQiOiIzZDRhODljMyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzM6MjAuMzU3WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipEaWFnbm9zaW5nIFFNTCBzeW50YXggYW5kIHByb3BlcnR5IGlzc3VlcyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MmI3YzU0ODE5MWJkYTY2MWFhNDMyMmViZTRcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1rdkE3dlViSF9keGhfRHFVcGhqalhNQlhxY3psVUo1TzIwUnRldWctQjM5aTNDUGZKdzByd2liZ2pLRi16NTZJb1hQRWljdGRia0ROTmRwby10YzhTYW1GeVMtZTRLYl9Dem1fX1FpbDVtaGNBX1RMVEUyNGwweHlXd1dJQXoxV29vd3VhU2ZmZWNLaFpxTWNUaGFSU1ZIYzdYYzU2Sy03YkdHaHIwUVNGWkxKTlVfblowZGpMelhfY2pNVUNoQl9CalVGRVRNRHhDSXFIUGVyX0E4aWZrY2l5SkpyZXN6QmxrT2RZRWxQMTdoMUE2TXo4QVVEWlgyMFVHVDVJZUQ4T2g0NGJXc3BEZjYyVGp5VjNhaGF1RWtxYjZVRndIUEFqR281M3Bkd1A5MjlERFJZbDJlQkUzNkNoX3pSUEdNYzhpZTJRM0J2Qkx6YkFNZTFQSzNLcFQwZlJLZXRKWXNiUGpWa2llTXRmelc2Qkdmc1BOa01XTjRVQlZJTWR4RV90SVJFemNseEdaVV9qV1pNWmFWNWdJQ2U1OW9zemhFeWVnZHNLaWkxdlBuRWNhUHZBUVd0OXl3SGxaSmQtQV9vMkRvNDUxVkJFYVpYcVBJeTRZNVItcDdXemxCM1Q2WnloQWZyM2ROQWdvQXNKNXVzYXAwWGo4V2hsVWxhcGQwNXpLdW56U3N4U2U5Y2ZFakd2UTI4WFpnclBlemNSQmk5Sm5pZ3J0bXJfT0VDLVNYN0hmNWhRQTIwMWVZZlJobkwzbGNZOVJLNVNzb0FBLXVvd1JaVlE0QmJNU3p5dGl4Um5GRklRam1vYkRTdHBvMXpEdTdJa21JckFQOHZVNHdvQV9mX2V3T0pLNDhFaGJ0SEdCc3FsSXBYLTlOLXZOV3hHWDg3RS1valhsVmpITy03TFJjS0dKRUhFUzJVSnQ0bUpMMTFqdXRCVm5tM1JBdThaQV8zeHA2eWN5a3NwdnpVLWhBS0ZfZ0p2b0FlSzZiems4X3hubkd4aGk0X0ZscTc0T1cybDkydXBqdzhjczQ0bVFYMURiWGJtOW9rMDUwal8yTTN4WWlaVE1nRm53Y19yOGlveHRUa21fSjU0NzJpUjVZemExLXc4RExsaGdZN052bldVNDFZc1F1TDVWVE0zRXJmSEl5TGd6ZXFDbG8wQ1lSeWNBdkZaUzk1ZTlMYUltMnNNUzZlLWZ1bDBrN2NzMlEtQ3p6QjlUT0Z6UzByQ194eGM3RE1vTmdYUndBOFFUWFU2RlNlNTJPdkNHVW5KVllGbmQ0aEJiWUxlQ0h4eTJyd3JWOV9QQkNIZmhNNWxhUnBYdFU1eEhVeElYUURGMVo3cmp3N1hGQWtFWEd4bHlBbFhrLWVLS2FGRFN6OURPdVZFOFNWRUw2MU1ZNVVKUWdvcE16cVJoVUJXbXBHZG9rclB1RnFTWVljZnd0YWNGYV9ldUhTYnBNeDdqeXZmeE1UaTVBcHhDUzVKOTRCVzNfTmNsUUYzYlVrd21jd05xb2FsanJERlhwYWRFTXU3UktzNDl2NTE1aHVPZi00S0dUUTVrNWtxdzgxWC1TMTY4dDR5bC1oVnFGSUtLTkl4UWREYkZBOUIxTk9lbWtDU0hZbk82dDA5dFVNT2djdGhmQVJzc1FKV3BNYXdfZmhwZkFIRm5nanF1ei1waENpM2JYMFRmOXJrU2dfejVXZUYyaVNVQmU3S2RhRzctNXljTGxwSm1MMzQtNTl6V3FXVmxldW1EZTlSdlAxbFJ1SllOck9JS3JNOXVleHJUSWMtUi1YLUFOYmVPSHdLMEZXVGZ3Nm95SEVKZHZiemR2M0NRRkthRG5HZ0ZhWHQ4TXg1UThPT3Q1eHBySmNScVBJSWpHMkpkWU9HWjB2Tk9YbURFb0NwdHVxck1nM2RSdnhwYVd5NVJndGFhdFd6ZTRKekF5bXRORkVtdnJzbGxZa2VQRDQwVHZ6VDBJUHNTNTdZV1htX1pvRlpTaVpEQVNuY2dmQWhNa2VBdERWaVBCTl9QNFE4OGJQblNvUHlOc1lwVWxPLWJSZ2V4NWxWVU1zbFh0b3diaXFjTGJtd1RQaFlhQmdMTTJhc0JveWhSTEd3UzE5UFhINWN2OXprVFJKZVhlZUdBaG5DNmlLREZ0UlVUbFpodzA5MlhWUXlWQWMzakZmTUl2MW9tbW1DMEo0b1JRekE5OFVOOFREV0FQbm5XUEtXeTFDNDB3cFNQT0JJWTlreXFRRnBQbHhRNEdsZ0k2cUtjMmNMV04yWWpDNDV6QlA5blAyVXdsa3hiY3Zmd01xZjZ3dUxfXzdXMUdSVXNmZHJVdjdBMTlyampVbmJ2SDZ1MEotMlNvSmdSVV92SHFxTUFPSDR0bFdvd3ZfdGlpUnhKOGxGeHJMQ0RSWUFZYS1pOFExWjJjcmszaklJcnBrWUZLNUtIVlVfRFd5OUxTRVllbEJNNEtiR2M1YXg4XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipEaWFnbm9zaW5nIFFNTCBzeW50YXggYW5kIHByb3BlcnR5IGlzc3VlcyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF95UlBVMm5ORUcyRWY3dWVoSngwaVJzTjl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MmZlNTQwODE5MWI1OWI1YWNlMjhhNGQ5N2MiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiZ3JlcCAtbiAnc3BsaXQnIGNyYXRlcy9mbGFzaGVyLXF0L3FtbC9NYWluLnFtbDsgZ3JlcCAtbiAncGFsZXR0ZScgY3JhdGVzL2ZsYXNoZXItcXQvcW1sL01haW4ucW1sIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo1MTIsIm91dHB1dCI6MTk0LCJjYWNoZVJlYWQiOjYwOTI4LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjE0NCwidG90YWxUb2tlbnMiOjYxNjM0LCJjb3N0Ijp7ImlucHV0IjowLjAwMjU2LCJvdXRwdXQiOjAuMDA1ODIwMDAwMDAwMDAwMDAwNSwiY2FjaGVSZWFkIjowLjAzMDQ2Mzk5OTk5OTk5OTk5OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDM4ODQ0fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg5OTkzNzUyLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkyYTFlODg4MTkxOTFhODM5MjQyNjU2YjRlNiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxOTAyMTQyNSIsInBhcmVudElkIjoiYTRmOTY3OTAiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMzOjIwLjM2M1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfeVJQVTJuTkVHMkVmN3VlaEp4MGlSc045fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTJmZTU0MDgxOTFiNTliNWFjZTI4YTRkOTdjIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiMjE6ICAgIHByb3BlcnR5IHZhciBkcml2ZU5hbWVzOiBhdmFpbGFibGVEcml2ZXNUZXh0Lmxlbmd0aCA/IGF2YWlsYWJsZURyaXZlc1RleHQuc3BsaXQoXCJcXG5cIikgOiBbXVxuMjk6ICAgICAgICB2YXIgcGFydHMgPSBwYXRoLnNwbGl0KFwiL1wiKVxuMjU5OiAgICAgICAgICAgIHZhciBsaW5lcyA9IHN1cHBvcnRlZEJvYXJkc1RleHQuc3BsaXQoXCJcXG5cIilcbjI2NjogICAgICAgICAgICAgICAgICAgIHZhciBuYW1lcyA9IGxpbmUuc3BsaXQoL1xcXFxzKy8pXG43ODogICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUubWlkXG45MDogICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIkNob29zZSBhIHJvb3QgZmlsZXN5c3RlbSBhcmNoaXZlIG9yIGEgcmVhZHktbWFkZSBkaXNrIGltYWdlLlwiKTsgY29sb3I6IHBhbGV0dGUubWlkIH1cbjEyNDogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcGFsZXR0ZS5taWRcbjEzNzogICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIkJvYXJkcyBhcmUgZ3JvdXBlZCBieSBwbGF0Zm9ybSwgU29DIGZhbWlseSwgYW5kIGFyY2hpdGVjdHVyZS5cIik7IGNvbG9yOiBwYWxldHRlLm1pZCB9XG4xNDc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcGFsZXR0ZS5taWRcbjE2MTogICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIldyaXRlIHRvIHJlbW92YWJsZSBtZWRpYSBvciBjcmVhdGUgYW4gaW1hZ2UgZmlsZS5cIik7IGNvbG9yOiBwYWxldHRlLm1pZCB9XG4yMzM6ICAgICAgICAgICAgTGFiZWwgeyB0ZXh0OiBxc1RyKFwiTm90aGluZyB3aWxsIGJlIHdyaXR0ZW4gdW50aWwgeW91IGNvbmZpcm0uXCIpOyBjb2xvcjogcGFsZXR0ZS5taWQ7IExheW91dC5maWxsV2lkdGg6IHRydWUgfVxuMjk4OiAgICAgICAgICAgICAgICBjb2xvcjogcGFsZXR0ZS5taWRcbjMxMjogICAgICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlLmFsdGVybmF0ZUJhc2VcbjMxOTogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcGFsZXR0ZS5oaWdobGlnaHRcbjM0OTogICAgICAgICAgICBMYWJlbCB7IHRleHQ6IHFzVHIoXCJUaGlzIGlzIGFuIGludGVyZmFjZSBwcmV2aWV3LiBObyBkYXRhIHdpbGwgYmUgd3JpdHRlbi5cIik7IGNvbG9yOiBwYWxldHRlLm1pZCB9XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTAwMDAzNjN9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3MjVkNjdiNSIsInBhcmVudElkIjoiMTkwMjE0MjUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMzOjMwLjc3OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqRml4aW5nIFFNTCByZWdleCBzcGxpdHRpbmcgYW5kIGNsYXJpZnlpbmcgcGFsZXR0ZSBzY29wZSoqXG5cbioqUGxhbm5pbmcgZGV2aWNlIHBhdGggZHVwbGljYXRpb24gYW5kIGdyb3VwaW5nIGZpeGVzKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkzMmQ2MDA4MTkxYmU4Y2JjM2ZlMzk2MDYyOFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWs1VHFJa2wxQ3MwdHZkOVpXT0xfWDQzakpxSnF4YjI3UXJNM04zY1R2VkdWeHNtM0JSTHphVG96X2JxUS1ReUhsUXg0Wk92U05CZXVhOHluaGhUSUs5dFN4UjBCQjF6WnBTTEVEdHhSc3ljeHdqRHhVV0FsT1JNLTV0TWhCREZFR21zUU1HbDFSNGZfdEI5SE5BSzJDNEJaS1I1emY1T1Q2bkt6UUxpZHgteHN3a1RBY1M2RmJ1UHRiTlN0X3p4UDZFaDlmU3BuRHQzVzhpZXo1ZFhJWTNDMVJzU1FTdHJuY3RUV01GWlNiSlVhTndHSFZjeHRLamtyUFFEQUZ2TURTX0RWYUJGbXZFT3pZZFdwUGwzVGRTcml0QmJObGkyZUt3NkxraXhHM0h1eTlUbU5YNWJlMWZ0X0R3YnRVSUdEV1pGUVZlQXdpYmJyM093aFJJdU9kMG90YWpUS2RyRy1hT0FKcUc5QmttTi1TaGhKWTBKOXZqREdmTmFrcjUzdzFYay1LYWp4M3ZHbU9kbU5RQjhacDVpMGtNQldaWk5hY2ZkTEdhZVBNd0loallFTS03SzIxVEdHNkkwZVM4S0lyTG12NXVPNmRCeklhUEZIbThVUU5PbnNITmhheGZ2NmZaSi1iS2htN2hMMGdKQXNyTUd6Z240WFlEb01NMF9tNHJYN0x6bHNaR3hvWlU1dnlUSnZqRXZaVzM4WTZEXy01VHVoMUk2YmVNTng2S2g2RGo0UlZFRGJhWDdOMlpBckZKZGNrVlJDdXlCR0k0TVRmVG80X2Z6c180UVV4Qm5IX19jUGE2Um5qUm5YamRNdFdIaE5vLTRwNlc5SUR0YTR4UnNOR3d5ei1DX1NQcFdCNTYtLVJkUGZFLUpsQW8wdlc5elMzVlhNd0h3VG83aG1yZkxPYUFrODNDQTNncUtUV1N5MTFldFpGS3lQcHlzUkt2MV9TSVQ4TG1Zdng0SXZubUJ6MEdvanR2V3dEazZ1Q281MmxnR3FfbkhRQkF6TFE5cHpLZXpBY1U0LUpkdjdPOEQ5bmlsWV9OSVMtM3ZVMi0zM3F0MlRuZnZhSGRlYnFablNPckdYbmNKYTJhYjEyVVVLa19GdktEQV9pNDlhM1JKY0V3cHVaM0xMZmdlbC1nR1hmaWY5VjllLVZndG4xTl9xMTFBSWFHWjMybUQ0cF9Bb0tSVGZzdEZHSmN5ZEdaUWowdHBVWDFfUzVXWkhzX0Q5QjZTWG45bDJtbFpyZkJfT2t5TjRUTS1RLVdRMUVSMmduRHkyNTlCczhCY3FuTHlkRjNjSGJNaDh2SUowTUN6UHN6RlJlN1pQWVEwSGRYOHpCeXF3cFRZbHhaUFdSdXFyeGFxZTFIeHVRUWJqZ1VJZzJjN0N5NUF4N1hrVTNaZkxscjl4Vmt4U05SZ2VDZ29yd2Y1VkR1YjJvZWY2RFhPTk9hd2p5eHdyS3o3M3lHYlhCWUMzbVV2S2xicmRMM0FmclUyOVlYRWdjb3g4WEN4eWdjSTZDUnZGU2VpVmJ4STg1UGNQVTN4V1dVZE9LSi03RURiVVpOOVI3bzVqSDRqVnBpMk9CUkRva1FmUVhjVEFGTkx3MGd1NVc5dko1MU1OQ0hmQ0VYaGZDSUpRem9kTkRSUmtfMEYwZWZwa25TWndyOGYza1BEb1Bxb1JLT0JsczdBR3ZHa1BZb0lZUkNoaTlDeWktQ2FjS2ZYVkJwOWxDbVdwVHhxRDljMk1pZ0llQWI3X3FNNWtHVzFBQlBoX0t2VG00R0tFMHdqQlRDVF9lYjM5NmZ6NnQ3bU0xWUlwNXROVG9BN1Y5RHhpTU8zM2xLZEZITFgxcV9FbGIzNzlBX0FwaU41TFVnc0RGcHZGZmNWZVNtZmhGVGVoSEtvdmpId19FT194UlJmLWs0M0JfZXpMRFp4TmVPVVFmVFp4U2JDSTV4UGhoWVRPTGI2MGhiaWxudkVHa2xVZEFLQTdxOXhhN2JITzZfeDNEbk1UTTIzdHVjV2E5VEdxU3dtd2NtTU1ZbjdfT2FZbHNTeENfNnRXbDdja0lzdmZEOFVjaXZRZm9pMmNPQ0lTNjgydEJ6MnNnN3FsOE1BZXZfZnU2SFU3aHdyckNOVkFnRHhMcEg2cC1kcS0za0o2dURMMEI0U0U0bVpwdVhWeVRZekc1cGVpUUJPd3ZQYjF5aUpWbU1aMHpJMzZoWVVZem5KSkp2ck9XVXNBTzRXdW1zZTY3SzJjeWdueEpyVkpmQ016blF2S2FoVThlWU92aXk1VVN2S3RpdXdpNmNKaXJqOHBTODlnOXZqcnhiYm5KcUh1c0R1Zm90UjB1cm9nVDRhVGpSLVRxTTlQVk9LOXhqd3pObWxXOTRNWmpYOE9ja0NTWmxMSndhX1kyd2V3U2tLZTJFd19Rc29qUmhjbEo0aWYxYklhdURLaTRtSDNjSWtIQnRTYTdBNXNBeklOVHI1TVptRkdueHA3Vzh4RS15Rkdmd05yYVROYm5xYnVhU0UxWk9XUW1PaEFlOV9udUJkV2ljLUFSNVBTYXB5MXlodG8xM2l5STJOempoZFFUc0I1SmM3Qi0ySVRBUkdjcktubVctQUJrTGdjLTJBaG03eTZmRHB4TXNhcWNDV3ZZWGlfMngtWEJxbzF4WmtvV3BPdzdYOW9HNmlhb2ljUXJ5dExodHRIdDU2d25XeG1LamlvVXB3OXlnLS0wRzhTbEJOYzBIZzlEdm1BV2N0QlJLZ3o0eTQ5QTNESlZDWERQUTBEbWV5Mm9iWXQtLVVDZ0tVTlBIbnowT1E1NDlLYU5aeG9SXzNEVmNXQTZ5YUltTmdyVF9Ic1NUNTY2R3kybjFLeWZpc2laRmQ2QkhLZy16V2o5blQ2anRyTTJfOVhtcE43cmh1T3lTMEF2Y1pYd29HaEJ0YVE9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqRml4aW5nIFFNTCByZWdleCBzcGxpdHRpbmcgYW5kIGNsYXJpZnlpbmcgcGFsZXR0ZSBzY29wZSoqXCJ9LHtcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBkZXZpY2UgcGF0aCBkdXBsaWNhdGlvbiBhbmQgZ3JvdXBpbmcgZml4ZXMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfS25nekdhRW5mRHFnbTU2Z0pRNzZtTmJwfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTM5YTllODgxOTFiNjZiNDVmYjA1MDgxZGIxIiwibmFtZSI6ImVkaXQiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L3FtbC9NYWluLnFtbCIsImVkaXRzIjpbeyJvbGRUZXh0IjoiICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZXMgPSBsaW5lLnNwbGl0KC9cXFxccysvKSIsIm5ld1RleHQiOiIgICAgICAgICAgICAgICAgICAgIHZhciBuYW1lcyA9IGxpbmUuc3BsaXQoL1xccysvKSJ9LHsib2xkVGV4dCI6IiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUuYWx0ZXJuYXRlQmFzZSIsIm5ld1RleHQiOiIgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aW5kb3cucGFsZXR0ZS5hbHRlcm5hdGVCYXNlIn0seyJvbGRUZXh0IjoiICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUuaGlnaGxpZ2h0IiwibmV3VGV4dCI6IiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aW5kb3cucGFsZXR0ZS5oaWdobGlnaHQifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6OTYyLCJvdXRwdXQiOjMwOCwiY2FjaGVSZWFkIjo2MDkyOCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyMDMsInRvdGFsVG9rZW5zIjo2MjE5OCwiY29zdCI6eyJpbnB1dCI6MC4wMDQ4MSwib3V0cHV0IjowLjAwOTI0LCJjYWNoZVJlYWQiOjAuMDMwNDYzOTk5OTk5OTk5OTk4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNDQ1MTR9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTAwMDAzNjUsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTMwYmNhYzgxOTE5NzE0OGM3YTEyYjM5MTJiIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjI0NmUyZDNhIiwicGFyZW50SWQiOiI3MjVkNjdiNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzM6MzAuNzgyWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9Lbmd6R2FFbmZEcWdtNTZnSlE3Nm1OYnB8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MzlhOWU4ODE5MWI2NmI0NWZiMDUwODFkYjEiLCJ0b29sTmFtZSI6ImVkaXQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgcmVwbGFjZWQgMyBibG9jayhzKSBpbiBjcmF0ZXMvZmxhc2hlci1xdC9xbWwvTWFpbi5xbWwuIn1dLCJkZXRhaWxzIjp7ImRpZmYiOiIgICAgIC4uLlxuIDI2MiAgICAgICAgICAgICAgICAgaWYgKCFsaW5lLmxlbmd0aCkgY29udGludWVcbiAyNjMgICAgICAgICAgICAgICAgIGlmIChsaW5lLmNoYXJBdChsaW5lLmxlbmd0aCAtIDEpID09PSBcIjpcIikge1xuIDI2NCAgICAgICAgICAgICAgICAgICAgIHBsYXRmb3JtID0gbGluZS5zdWJzdHJpbmcoMCwgbGluZS5sZW5ndGggLSAxKVxuIDI2NSAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbi0yNjYgICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZXMgPSBsaW5lLnNwbGl0KC9cXFxccysvKVxuKzI2NiAgICAgICAgICAgICAgICAgICAgIHZhciBuYW1lcyA9IGxpbmUuc3BsaXQoL1xccysvKVxuIDI2NyAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbmFtZXMubGVuZ3RoOyArK2opXG4gMjY4ICAgICAgICAgICAgICAgICAgICAgICAgIGFsbEJvYXJkcy5hcHBlbmQoeyBib2FyZE5hbWU6IG5hbWVzW2pdLCBwbGF0Zm9ybU5hbWU6IHBsYXRmb3JtIH0pXG4gMjY5ICAgICAgICAgICAgICAgICB9XG4gMjcwICAgICAgICAgICAgIH1cbiAgICAgLi4uXG4gMzA4ICAgICAgICAgICAgICAgICBzZWN0aW9uLmNyaXRlcmlhOiBWaWV3U2VjdGlvbi5GdWxsU3RyaW5nXG4gMzA5ICAgICAgICAgICAgICAgICBzZWN0aW9uLmRlbGVnYXRlOiBSZWN0YW5nbGUge1xuIDMxMCAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBib2FyZExpc3Qud2lkdGhcbiAzMTEgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQyXG4tMzEyICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUuYWx0ZXJuYXRlQmFzZVxuKzMxMiAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aW5kb3cucGFsZXR0ZS5hbHRlcm5hdGVCYXNlXG4gMzEzICAgICAgICAgICAgICAgICAgICAgTGFiZWwge1xuIDMxNCAgICAgICAgICAgICAgICAgICAgICAgICBhbmNob3JzLmxlZnQ6IHBhcmVudC5sZWZ0XG4gMzE1ICAgICAgICAgICAgICAgICAgICAgICAgIGFuY2hvcnMubGVmdE1hcmdpbjogMTJcbiAzMTYgICAgICAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy52ZXJ0aWNhbENlbnRlcjogcGFyZW50LnZlcnRpY2FsQ2VudGVyXG4gMzE3ICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHNlY3Rpb25cbiAzMTggICAgICAgICAgICAgICAgICAgICAgICAgZm9udC5ib2xkOiB0cnVlXG4tMzE5ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlLmhpZ2hsaWdodFxuKzMxOSAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2luZG93LnBhbGV0dGUuaGlnaGxpZ2h0XG4gMzIwICAgICAgICAgICAgICAgICAgICAgfVxuIDMyMSAgICAgICAgICAgICAgICAgfVxuIDMyMiAgICAgICAgICAgICAgICAgZGVsZWdhdGU6IEl0ZW1EZWxlZ2F0ZSB7XG4gMzIzICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGJvYXJkTGlzdC53aWR0aFxuICAgICAuLi4iLCJwYXRjaCI6Ii0tLSBjcmF0ZXMvZmxhc2hlci1xdC9xbWwvTWFpbi5xbWxcbisrKyBjcmF0ZXMvZmxhc2hlci1xdC9xbWwvTWFpbi5xbWxcbkBAIC0yNjIsOSArMjYyLDkgQEBcbiAgICAgICAgICAgICAgICAgaWYgKCFsaW5lLmxlbmd0aCkgY29udGludWVcbiAgICAgICAgICAgICAgICAgaWYgKGxpbmUuY2hhckF0KGxpbmUubGVuZ3RoIC0gMSkgPT09IFwiOlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybSA9IGxpbmUuc3Vic3RyaW5nKDAsIGxpbmUubGVuZ3RoIC0gMSlcbiAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbi0gICAgICAgICAgICAgICAgICAgIHZhciBuYW1lcyA9IGxpbmUuc3BsaXQoL1xcXFxzKy8pXG4rICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZXMgPSBsaW5lLnNwbGl0KC9cXHMrLylcbiAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbmFtZXMubGVuZ3RoOyArK2opXG4gICAgICAgICAgICAgICAgICAgICAgICAgYWxsQm9hcmRzLmFwcGVuZCh7IGJvYXJkTmFtZTogbmFtZXNbal0sIHBsYXRmb3JtTmFtZTogcGxhdGZvcm0gfSlcbiAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgIH1cbkBAIC0zMDgsMTYgKzMwOCwxNiBAQFxuICAgICAgICAgICAgICAgICBzZWN0aW9uLmNyaXRlcmlhOiBWaWV3U2VjdGlvbi5GdWxsU3RyaW5nXG4gICAgICAgICAgICAgICAgIHNlY3Rpb24uZGVsZWdhdGU6IFJlY3RhbmdsZSB7XG4gICAgICAgICAgICAgICAgICAgICB3aWR0aDogYm9hcmRMaXN0LndpZHRoXG4gICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQyXG4tICAgICAgICAgICAgICAgICAgICBjb2xvcjogcGFsZXR0ZS5hbHRlcm5hdGVCYXNlXG4rICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2luZG93LnBhbGV0dGUuYWx0ZXJuYXRlQmFzZVxuICAgICAgICAgICAgICAgICAgICAgTGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgIGFuY2hvcnMubGVmdDogcGFyZW50LmxlZnRcbiAgICAgICAgICAgICAgICAgICAgICAgICBhbmNob3JzLmxlZnRNYXJnaW46IDEyXG4gICAgICAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy52ZXJ0aWNhbENlbnRlcjogcGFyZW50LnZlcnRpY2FsQ2VudGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogc2VjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQuYm9sZDogdHJ1ZVxuLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlLmhpZ2hsaWdodFxuKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aW5kb3cucGFsZXR0ZS5oaWdobGlnaHRcbiAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICBkZWxlZ2F0ZTogSXRlbURlbGVnYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBib2FyZExpc3Qud2lkdGhcbiIsImZpcnN0Q2hhbmdlZExpbmUiOjI2Nn0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTAwMTA3ODJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3M2NhODRjNCIsInBhcmVudElkIjoiMjQ2ZTJkM2EiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMzOjM3LjI1MloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqVGVzdGluZyBhcHQtZ2V0IGRvd25sb2FkIGZlYXNpYmlsaXR5KioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkzYzc3NzA4MTkxODgxYzQwMmJlM2Q5NjA4Y1wiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWxBblNGXzg4OXBIRU1Yc3VmemVKclRjMFlLa1hCVzJJRzM0Y19PdEhsMGZDTjJ6ZXBMdk5KRndSU2gxRTUzQkduRlo1TWJZMldROWVWUDE3bzMyYmRvWjRjUFdGZDRjZUdROFVBOU1MaGJUdlBfNkNuX0ZtWTNHbXRjcTdIdmMxU3l4eWFUM1B6MlcxWVlMTVZYbFhuZVR0ZFp2TUVuVXpLcEFEbDBNd3U1bWc0YUpTQ09acUNfMHpYUG5vY0ZSWG5sdGszOVAtS3RocExYeFEwQUdCM2dNNUo1dW9qcDY5Wmd0ekpTWjk4c0RIRGw1LXVLZkpSZ3NzUndmUTRGeV9HY0wweEotVkg1S05wd09hVDhKSXdLSllYVFZ4S1pla1FXcDJKUGVzamFFU1BGZHF5V0RIektYeVRUY1EwcFVEZDFjck40bFZlNGo1WFpmWHVWN3dZejR1YV9qSlVtUkw5b1FVaW1LbGtjb0tfbkZLeHROUzhfTnc3Nm56NkUwVnZlVEFYRkJsSVNUZkRFaktxTkdXc0hCb1Z3SFVuY0xvcHpXbzYwN2pqQ0s3dlM5ZWszRmxkNU5WeDlUZl9PcXFyN0pRcFBZcElQc1IwU2N5QVkzM3J5NUhzQ0llYTJtcHNOZzFlYnlvdEFrSDJkRC1jWkxicjZTUS14dDZXR1VNUjBnSDNTZjlDdUp3VXRscmJDemNEWlc4QThhR0pmSUh1X0QxSU5lbFQtS0xCTVBNR2ZVRmdIcmdmWDNoOENENDR1MXhEUncyTzRkNEhuWnJFYkVPU1RMaG9WMlh4UmkwOVBHZVFYZVY1MzcySElEMnVpOUMzRHJhNzZYMkNTRkRZdXV3UjFwREdOQkhwN1VoSHB2Qm5PM0hVODkwaXJidllzTXJrTk1DUWRNQlAwRC1QQi1qNUZldmZjdi1yanNsbENYM2cyVkxvT3dWdFRCMFViX3hUYUNhUUFVM0NOS3JvS0tSUkwyNzdWQ2dFS21qMk0tYXBSQzhhaHpzQjVxaDNrcmVWaGR1QmdJQVR2Sy10aUt3S2FVTXh4OGJiWmQ1ZjJpdmFLX1dySWViWTE1eVNHZTRvNXB6SEEzeW13cWhHaUktcHhYdmJ3MDZ1clJGdVEwS2lremJwYlMzUi0yeWRpTTd5Z2JZR2xOUzNmWmkzOFdLTWhOWDdaRkY5Nng0SFNQbm5tbzNRN01pMXpYSTFYeUFJR1M1RGFlV2Y0alZPMnVKaS1JS01la19fZ2ItNTEzOG9Wd0pCYUxnRTctN1N0VXdRVU1tMHFKNkNJOHFsUDNyMVI3SDF1X3pGQkFkM1VieVk2U1ppbmZxbEIzSzQyU244VTJBbGpFbV9rTHFkaV9LQUc2aEdYVjFTUWo5cHNmd2lpWURNYmcxNDRsaFVlZTlBWGtTN2RzQ0J2UXVYLUdlcmkzTkZIMlNFUlFQYl9kcDhmVmVBdXNQMTdJMFBMUmdfcnp2R2xOTW85N0FtdURWaUpsRWRvZU5NWDlWZmxyX0tabk9QRWVvTGdoQlgzRDd3dkRrWGpsWFhYWEV0VXNaSGJISnZ0R29DeDNQSHhxNWx5MDEzZEQ2WT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlRlc3RpbmcgYXB0LWdldCBkb3dubG9hZCBmZWFzaWJpbGl0eSoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9qZ3FSd2NHWDBuZFlFNVJ1NjBxUmV5OFZ8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5NDBmNzljODE5MTllYTRhYTQ2ODA1MmZjMTIiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiYXB0LWdldCBkb3dubG9hZCBxdDUtYmFzZS1kZXZlbCAyPiYxIHwgaGVhZCIsInRpbWVvdXQiOjMwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEyOTgsIm91dHB1dCI6ODEsImNhY2hlUmVhZCI6NjA5MjgsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NDUsInRvdGFsVG9rZW5zIjo2MjMwNywiY29zdCI6eyJpbnB1dCI6MC4wMDY0OSwib3V0cHV0IjowLjAwMjQzLCJjYWNoZVJlYWQiOjAuMDMwNDYzOTk5OTk5OTk5OTk4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMzkzODR9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTAwMTA3ODMsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTNiNTIwNDgxOTE4MzFmZGE1ZDYwMjVmMTMwIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImNlYTZhNDcyIiwicGFyZW50SWQiOiI3M2NhODRjNCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzM6MzcuMjYzWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9qZ3FSd2NHWDBuZFlFNVJ1NjBxUmV5OFZ8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5NDBmNzljODE5MTllYTRhYTQ2ODA1MmZjMTIiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJFOiBJbnZhbGlkIG9wZXJhdGlvbiBkb3dubG9hZFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTkwMDE3MjYzfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMmRmNjJmYjEiLCJwYXJlbnRJZCI6ImNlYTZhNDcyIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMzo1Mi44MjdaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlZlcmlmeWluZyBRdCBkZXBlbmRlbmNpZXMgZm9yIHFtZXRhb2JqZWN0IGJ1aWxkKipcblxuKipJbnZlc3RpZ2F0aW5nIFJ1c3QgUVN0cmluZyBjb252ZXJzaW9uIGlzc3VlKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzk0NGM2ZGM4MTkxYWY4ODc5ZWVjZTY3OGM2MFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWxQZlh3NjJYZEc3WFdCWE5OU2xRZy1PZDhZYU1aMVJ2Wnk2UGhzcERuTmF4LWoweHJSdjBiNVZicTBmWTYtR2ZoRnBzT0VBTUF0ZGk0N2FRV09KUWhXRUdqRTNLWFZVQ2Q2cGgtWGtxWWZvUDZDeHpwM0J6ZU9tSEVZN192VDBPbXVkM2pMUEhOU241NXFEU1VKSnhlZ0RGNDhacHV5TGljc1Bra19vWXJIVUs0M0YzRTNfRjRaRURteVpZb2FMVmFyYnhwelNmSHNLOWRDcElSUHBHUkpMYXhDRGoteFhiT25RSGxYS1p0eUhQQll2SVBWV0Rvc3JFMm95ZnFlRW5ONVdDaFkxc1VTak1jQ000c01sOUx0cXl2a25aMDg5Q0xrS05aQ3RZVjNXZ0dZMHRUOUJ6LWh6TXlLTmNwa01GT243NVRHNjEza20ycVlqVEtSdEN2dVdkc0JIaGotVkF6bURndHdXVlhPYkZBcTNHLXBnV0prQkFReTJEZXh1WXJmRXlfZHRFWktUYndSaVgwVkIwenVZdTl5aElDWWluS1dPVkt2dVA0Z0k2YWV1VUJZTUFQQTJUdjJINXg3VDlha3lXLWZjellsWHh6YW1RVWdDX1dQVFNJZV84X21WTGVaWU5BNFhXbnFrQ3E2UFo5Z0k5Rkp0emZ6eFBwUVhFZmUtZHI3ZGFsZUktLU5vRm45cU9SaVoxQ0I0MEFnSkdyV2VxaEE3VXozZF84djZhelJSSUp3bXhndUl3M2hLa3NBUDNMSFNNTU5XeE1PMkREc0p6OHRXcTZMY0dWeXVBem8zc3lLX25aMnpFZHZTb2lKekVFZFQ1aWl2ZmR4NE1aazMxdDF3UGxmY2pxQ2NuX3R3QVlUc3ZoV0hFekExU2kzTUdFYm9hYXZyWVNtOHJqYUowLWR5dGx3Zm5OUG1BXzQwVWdOdUpaQVFXSDZpQ0lDQ1poQTFLRTMxT2VtWlpXZGFRckdLNTdvVUJoMHplazBDTUx1dWliSUdTTEp5OVdzRFh4bG04SkhPaUFJaGR2eDFmd0lhUjlad2FsSF9OMVpLcms1T1haRUlId21BM3ozd2d4NUdEWGhtSk1BNzRSLThCelFmR0Q1UTl1OVpEM1BreUE2OUtYZGVRblJHbkpraVdaM1paaS03RWFscjA5cnJuZmtwd1VzUW9HWVlESFN6ZG02T0g1V2ZDeE9uekY1VkIxNUsxbE44UU54T2lPVEthcnNmc1hUMS1RVEpJZzBrZWJWVVd0YXA3dE5OVjl2dS1nWUUxMXVWZ3dDbVpMb1R3OUVvM3RpQm13SnRGOWs0NzdQMG14c1hRV3BDOGZvV0w0dXZ3Mks4OUtBenN2LS1vYXFuWXk0enQ4TEVkNS1yTFJwZ1FTMHFsQzY3Z0FPTDN0M2lhSndhZWxyVkgwM3dWMkNjbGRNTDUzV1FPR1RYQmFaVnh5RGYxSld4UHNPMGFhSEd5QXF1MXc5cG1jLVRENVFvNkJaRjQ2OE1XcXdaWmJIeGRDRDV4ak5JRU9HSWp6Z3RMbjFoZ2ZiWXNaRnI5bjRDY1FRVzBtaWp1N3YtRVoxQ3g1cUZoczItTW80TXVacWpEYlFMdHBkc0xmeXZFczJSNVU4aVEzZURDak1mT191LTkwaDV0ekNZZWcyVVEzY0pid1hZT3cyeEduVWZnbV9ON1NNRDdiWnphbzJ3d012WWNOSXNEZUVZajFrb2R6RWdOVncxbHUyQ3hFZjBXbC1RdEM5aWpPWW42cVF3RktLYmVseVdtVkwyMVJhS0hfQWdhcXRweGh4QWY1QndTUGxsc2lkUWhKU0Y4QTJhMXZzbHZRY2Z6bURrR1NNeDNqQ3JCekdVTlF1R2pyX3ZzakR3NmdEUGF5UTFvcUVzY254OG1QRVVDS0NVNUI3dU9tbXpQS1d5cS03TlJfZ1FrRTgySmFNa3hSekZwcmdIaHlpOEtUVTlnNWhNcXE5N28zRjdJY2J0MFZLTUQ2ZHpONno3MUZTcEZic1FxVGJpM3pkMl9YNXBETGdFalBkNjdTN0JfdVlqSVhET0dVVWdPVFZ2TmRJaGdTSHJKMUpQV2hhdkhRSV9vRm9DUGRWblBSb3pQNGdxeXFEWktuMnRSbWR1YlZPR2F3c2M0TG1sbE8za3QyTjZLNTQyY3BDY0JWMGVyc1F5YmpNd29vZG5fTXFyQ1dwa1kxUHQycEdmdFpXNms5anRxMU8ycS1sVWRneUJBcXV5TlZyVkozR2NYOUFYdW5TdDJFOUZEeUpZbHZpc2NnZEtfRExlQVR0b2w2LXEwNmhWMFhmV2dkYkRseWVWcFBnR0h1NE9WUFNLbWIxQVZnV1hkcFdiM2otOUxuN0JxYUJGS1J0R0tsZEs4aDZVWlJfNklNMnB6c1pxRGhOOEVTZlRSTGQ1b2VWOGdud1NLZUlfQ1lXYkF0QmxiMmkyNFJYUWgwUmI2dlJRSXloTmktM1dQNldWU1RFR1M0OE51bW4tMEs2Ukwya0t2TVIyMlp6MWVCeHcxZ3RKdmRxZHJ6U3Y2bDZSek9FbXo3MExuQUx5WjRtTXpjYTU4Szk1blVNMFpvMW5PaTVtbkUwbmxOMm83Ykhjek5jOTFUdml2ZHpjY1lUMElsLTlTNXA1cUxtVHNYeFpHaGxPaDN3UXFNbTJhNzZVZi1FRkxZLXk0WHhlb2wyblh3LUZ4ckQ3MEFwNXQ3V2JaRk9KejVpdi1iNEEyNmFRQ05STGxPUUVjV2tNTW43WWszRWRaVWtuNW16bzltSV82bk50SW1uZTk4N1llV1hhcnc5SzdzNkpKbERRTHJObVpVQmZqYllqanpQdnZhSE95dU4zUWpKbXVfTnBWTHNUYlREUHhHeEplX1dHd0VYeUNKNklyWGJkRlQwODJpcEpKczBoZ3dMYXdfUnVrbVFtM3RjMTBOQXh2djBUa05ka1V2eUxnYnFvUzdLU25xYmtkdDN4LU5xQVJzT2dVQktPeFRYUU83RUxKdlBGdzBvZXBnRGtYRmx1UFp5Q2h3OTgxNjZ6U0ZnUHFFc2RjNmxGektqRmJtZWZFZW1pRjl4bTEwU2d6YjNsUXVBQ01YM0lLVEU3Y2VkQXNQd19PaTU4VjB2YmdfUEFJV3hUdjRNamlrZzhyMGoxc3NydklidU80dUNsbThjZ2c9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqVmVyaWZ5aW5nIFF0IGRlcGVuZGVuY2llcyBmb3IgcW1ldGFvYmplY3QgYnVpbGQqKlwifSx7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqSW52ZXN0aWdhdGluZyBSdXN0IFFTdHJpbmcgY29udmVyc2lvbiBpc3N1ZSoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9IVVRmUGxyemFkbHlxYVRON0tGTUxobG58ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5NGZjZWI0ODE5MTg4ODEwYjM1Nzg1ZTUzMzYiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicmcgJ2ltcGwgRnJvbTwuKlFTdHJpbmcnIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL3F0dHlwZXMtMC4yLjEyL3NyYy9xdGNvcmUvcXN0cmluZy5ycyAtbiB8IGhlYWQgLTIwOyBnaXQgZGlmZiAtLXN0YXQ7IGdpdCBzdGF0dXMgLS1zaG9ydCJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MzcyLCJvdXRwdXQiOjMxOSwiY2FjaGVSZWFkIjo2MTk1MiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyNTEsInRvdGFsVG9rZW5zIjo2MjY0MywiY29zdCI6eyJpbnB1dCI6MC4wMDE4Niwib3V0cHV0IjowLjAwOTU3LCJjYWNoZVJlYWQiOjAuMDMwOTc2LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNDI0MDZ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTAwMTcyNjUsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTQxZWE0MDgxOTE4YTU4MzYyOTRjYzUwYjc3In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjdlNWIxNWQ0IiwicGFyZW50SWQiOiIyZGY2MmZiMSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzM6NTIuODM5WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9IVVRmUGxyemFkbHlxYVRON0tGTUxobG58ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5NGZjZWI0ODE5MTg4ODEwYjM1Nzg1ZTUzMzYiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIxOTk6aW1wbCBGcm9tPFFVcmw+IGZvciBRU3RyaW5nIHtcbjIzMjppbXBsIEZyb208UVN0cmluZz4gZm9yIFBhdGhCdWYge1xuMjM4OmltcGwgRnJvbTxTdHJpbmc+IGZvciBRU3RyaW5nIHtcbiBDYXJnby5sb2NrICB8IDE4OCArKysrKysrKysrKysrKysrKysrLVxuIENhcmdvLnRvbWwgIHwgIDEzICstXG4gc3JjL21haW4ucnMgfCA1NTggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gMyBmaWxlcyBjaGFuZ2VkLCAxOTAgaW5zZXJ0aW9ucygrKSwgNTY5IGRlbGV0aW9ucygtKVxuIE0gQ2FyZ28ubG9ja1xuIE0gQ2FyZ28udG9tbFxuIEQgc3JjL21haW4ucnNcbj8/IFJFQURNRS5tZFxuPz8gY3JhdGVzL1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTkwMDMyODM5fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNmYyZDA2OTgiLCJwYXJlbnRJZCI6IjdlNWIxNWQ0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMzo1OC4xMzJaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlZlcmlmeWluZyBRdCBRTUwgcGFyc2VyIHJlZ2V4KioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzk1M2EzNDQ4MTkxOGU0MDg0NTdjNTg0YzlkYlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWxWX2wwVFpTZ1d4SmxwSGM3SmFQbmRQQlc4QzlacUpYd1F4UmFxMHpOSExHV3BuMHVvTHVnZUdyM0dydV9LczN1Wm9YdDVWeUtLRDVMbU5kQWJKR0hXcC1lZVNZaDZrd3JPSFFrQUdMLVZlNlc4a3hZSTRRM2RIaHBkc2tGVldzdFNQTEdpdW15UUVoVVpVM1RucHdEUkF6VVdWT2lmQS02Rk91VTNCY29NZ1JHMkdUZVJ3bmdEem5yZDRfNTVLUlkzbUluTWhLdHo0Q0lsSmk2V1lreUhUN1g5aDltRG5PV3BLWjB6SENsUUsweEU2OG02NWoyMk5EUFhqQm5BcEVZdTU5QmtWYmotMGpHcGg5TWc2RzBxV2o1Z0pMTWRMUDBrRUkxc1ZyZ18tUUpGTk9FMnJYY0RvLS0wTGVjN19SOTVVWmVubEt2cVlDUWpnLWo1NkRMakQ5dHEwTkczOTNCaVVTRUdKN2ExX0swcFVEN05xcFdJQkxrQmEwN2tUVXBBUmtXcklQTEVUbjdIY2VLSFF6bjluMDcxNlo4VnZQVEo1b0FZcjh5SjZTcVdVMTZNZHpCLVo2cHFodHhHNXVOUWpocG9Bc0NVRUVfOC1vR1Iya0RsTHVPem9USm9fd0F1dTJsdUFtVEdreTZMdWxBR1hIM0FFMDFRaVFxU0prWVpYTEtwd0NDVjBZeFJmX3hNX2lEdy1zZzlFelRHNXE4Zl8wNFFVeURfQWc4VzI2TWVmXzFveXdNMXJYTTZmaTNGckhUb3lfNTNTWm15R0dDMGMxQWN2ZnJJMmJmTmdrUk9YNFBKMGZwRTVRcEpHSUZ4NzlILU9vUWctUXNrb1NNSXA1LVVMVVM5NmJJak9NY0pLVi1NNldhSmlZbXlGd3BIS2Z1ZE5vT3VGM2txUWhoSzN4VDFCZkJMXzhHaWlXc2dBUTc2OGg1Nko1UjYybHNSZG93SkVsRHlTLVg2ajlTTldGQm1MeFg5T21PNGJ5VHdMSW1yLUVscnU4UnE5WkxhNms5LU1uY3RlTzVYUHVHY1RSWVFKcUw3eUN1SzlCcjBZbWwyay1OT2NSR19taFc0QUVFeFlqUHVqeTA3Q0x5ZWc0NHJZelNJVWZYazRiaGlESDlYWDhpWG5sV0RyUXpUTlZLN2xBTlNJRTFVSFUxTTJqemRiQ3NseXRlUDAtS3hBazFaN0ltRTNZZlZBTGZXNWZ1dkpkVnh5RmM5RXVHalR0OEVzMTVqa0VrWXJhaU9aOGtmekROUld0ZTF1dXlaYktRclU2cklzVUg2RXhoQjZzNk9lT25xX1c2c3dTMmo4X1dzTUFiYW5WNzFldXVkcXA2VGlMQW1DZFIwN3ZrNlwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqVmVyaWZ5aW5nIFF0IFFNTCBwYXJzZXIgcmVnZXgqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfc3VPckcyN0JUR01zQm1uRHdndUFURWVrfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTU1ZWFkODgxOTFhYWNhMTAwZDljZjc3ZWM1IiwibmFtZSI6InJlYWQiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L3FtbC9NYWluLnFtbCIsIm9mZnNldCI6MjU4LCJsaW1pdCI6MTN9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6Nzk3LCJvdXRwdXQiOjU3LCJjYWNoZVJlYWQiOjYxOTUyLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjIxLCJ0b3RhbFRva2VucyI6NjI4MDYsImNvc3QiOnsiaW5wdXQiOjAuMDAzOTg1MDAwMDAwMDAwMDAxLCJvdXRwdXQiOjAuMDAxNzEwMDAwMDAwMDAwMDAwMSwiY2FjaGVSZWFkIjowLjAzMDk3NiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDM2NjcxfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTkwMDMyODQxLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzk1MTVjZGM4MTkxYWJlNmY0NjA3MTcyYTkxNiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIzMDk0MDYyMSIsInBhcmVudElkIjoiNmYyZDA2OTgiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMzOjU4LjEzM1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfc3VPckcyN0JUR01zQm1uRHdndUFURWVrfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTU1ZWFkODgxOTFhYWNhMTAwZDljZjc3ZWM1IiwidG9vbE5hbWUiOiJyZWFkIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgICAgICAgICAgdmFyIHBsYXRmb3JtID0gXCJPdGhlclwiXG4gICAgICAgICAgICB2YXIgbGluZXMgPSBzdXBwb3J0ZWRCb2FyZHNUZXh0LnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgdmFyIGxpbmUgPSBsaW5lc1tpXS50cmltKClcbiAgICAgICAgICAgICAgICBpZiAoIWxpbmUubGVuZ3RoKSBjb250aW51ZVxuICAgICAgICAgICAgICAgIGlmIChsaW5lLmNoYXJBdChsaW5lLmxlbmd0aCAtIDEpID09PSBcIjpcIikge1xuICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybSA9IGxpbmUuc3Vic3RyaW5nKDAsIGxpbmUubGVuZ3RoIC0gMSlcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZXMgPSBsaW5lLnNwbGl0KC9cXHMrLylcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBuYW1lcy5sZW5ndGg7ICsrailcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsbEJvYXJkcy5hcHBlbmQoeyBib2FyZE5hbWU6IG5hbWVzW2pdLCBwbGF0Zm9ybU5hbWU6IHBsYXRmb3JtIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5bMTI1IG1vcmUgbGluZXMgaW4gZmlsZS4gVXNlIG9mZnNldD0yNzEgdG8gY29udGludWUuXSJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5MDAzODEzM319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjhmYmY3YzUxIiwicGFyZW50SWQiOiIzMDk0MDYyMSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzQ6MTUuOTAwWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipQbGFubmluZyBRdCBhbmQgR1RLIGludGVncmF0aW9uKipcblxuKipWZXJpZnlpbmcgUXQgZGVwZW5kZW5jeSBwYWNrYWdlcyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5NTgzNDk0ODE5MTk2ZGI4OTlkMjZmNDJlNTlcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1sZkx3SlA5TTVZUGRfQ0dUb3U4Tk5MbHkxdXlxSXppdW96SVdiU2NPbHR6QnRfZjdGR3pubFBRaHI2SW9pd3Y5MmR3SkJtMEpoa2hDaDIxX3pOcjl0bmFSeHY5TG9MQWgyNWNoUEtuV3k4NmJlal9nMGx1WmJSYjdQV18tTnFqSng3Mm1Qdk5aTV9CM2FrR01YZFhmdlBGb28wZlI2QjFkYWdHS2dtaXprWTVTSVkyZUhBWlMwR0JadzVyQnlXYVFyTGJsUl9uMFVEODhIVm5zNGtsOGtuejEwMzVZZ1dfekp1amhOaGtjZ2pzYVE3S2VhdTFiSFcyQ2gwOFUzdVNHNnhudW9odVRIcVlyWW8wZHUtVnNSU0FjbWlUekEzNGREODlVa1VqZHZRVkVfUXplM05BMDZoUjhfQnRmU0p3VEFibEpfX3NCSTdGOEdFdndpQmdEc1BGbnZlRXJMeGZNRG8wXzl6LVBtem4tNzVNVk9UYUh6dU1NZ3ZlRnRMWEFoeHItWTR2bUZWZ3ZCa2JrcHh2d2hEckxTdWw4MVd4dXZxdzRjTV9hMUd0LUo2NFc5R2J1cWhkblJiYVRNZ3Etd1ZFb19tSzB2b0FwbzFYYTdtWlA2UlZuNDFneFJRMHF6cGN0Z2tPQ28tczdyY1JicUVNSTlOTzRDYUZjZ1FIdW5XYTJjWmhsTGdrQUpJZ2NyLXhMN3JJSU9aQjJfaU5paUUtck1VV28zbHAxY0VJU0RTU2prUU9VQlVUeVBrd0JLWDNCMk1ZWWlBVFB2UXRFYXFtZmxaS05xZTF0cGhsdUZGWkxVS0hMcnNkRWtDS1poTG1XU3lBbmV5RXhoTGpuV1czRF81cC02Uy1leHY1NTZacXZQRmliZEhGUHlfdXZGeWdsTzhsVWR5VUFnMnBhbURndHI4YWFfUkJ3cW1aUFRpcEVUS1FQaWM3UkZFWnp4RWNTb0NxTWRNaVJUUHEya1R1NDRuaXBwQ0tHUm5xZVZwLWxUeDY5clRMZGFBaEVZZ2F1MV9paGpIRy1xR05HcXhCYW93bFozSnVhZHdXS1ZEMVIwMFB0T0twZktPbUtuRUJPLVlITGdFcW45TGRBTTI3RWhJWnRPSmszcWR6YkJlVkQyam9SYVZCYTg5ZHVSbFV4QmhrQlE2TlFtSWVIWm9yeVhWeDlxbDVtOER6Z1AwaE1Fd2d0bkFpQ3g2dzFfVU1ETW0wTE1aT1k1dWZTSHB0Y0JiZmpuVDc1SVY1MW1zNGhqOVE2U2NmWjdZUW9VRm9jdi1pUTZXRHp6NlN6dHVQYU53TDZPTXQ3ZmxXXzF0ZW41b296R2R1endoQ1dmSGhDemt4cjI5ZHhVdVF3d05oOV9rNUJlNjRsUUp0TlZiRENXaDU2ZU1UbFBRYXZTUFRFVWs3X1paTjRfTE5iOTNSVFhzY192U0pTS0VXaV9FWkh4RzhMcmRwMnBPZGgtb1FRclFmZ0VmOWVIVU5mTUxJdldpVEd1aDYya21ybnlwZDRLWXlEVWRJbG9fcElRa2FjUWN1TFlaeG9Bb0pmQ3FBV3dLZGJqZzc5Zk8yR0U0LXcxOHA1V01oNG5WcjJINnRUOUVJdnd1aW85STFHTWZEbDk0ckhIVHJYa2JGYTQtQWxrYTE3d0dHTk5aZWk0Yjc4M01tV1JHbkZ2NzctRVRfVERoZ1NBaGFvejNRYmVLUThZbmNlQVVvQS1MYnlHV01TanhaT2dRWVFBTkdvcHNwMVVXNzdwQ3pNZGctVjdtaUEydFk2ZklxcXF1bTNzSHliLTZ0Y3dHbkRlWC04bUcyelA1cThCWGhSQUpwMnU0a3diUUQ3SkoxQk9EdDFXdmZoTXFoNVRoQTVENkVXSmFZUXFkRXdRRnJmT0pRaGVWdzJNdThXY3ZjN1VGZUdPVWw4WDc0MG1SdDhmMUhLTVprX0tUOWVJNUNIZ3JyX1BpT0RheHNnb0F6VmJoeXI3M1dQaVo5dVRESE9nTGIzRlBoZ2xSWGxSSXN4Zi1iVlNaLS1uaHo4MlZ2SHpWVEJ0dWhqcVpMN21USzdBcWJFang4V2otZFlvVTF1cmdkby1HQ084dUdHLXVQNUkwd0dsa1VRM2kwaFQ2Rlk2NkdKLWJkeF9nM1RoSkplbGpZdlJGUlIxUV9mMEFEZXNpdVRhQktfZGo5U2FFWjBuc2owZU1fejRhaV9mV1M3VnJrRVpSWXMwaGZReXVYRm5qQkw2d2hDV1pSVnh3ZDBvUzV3UkJqNHlpV0NuODAyMHFXVTdkb3RHTjd3bk1zYVJycVJDS0pnQXhER2p4Wmk5SVc2ckgwTDZ1dUxDdURGMHpZcEVka3JCVDBkZjdlelZkb1VpWDV0cWJ4cW5hdlpOeXhQQXU0endsNlNYN21YRVNsMC0yR3hSN0E1Z1NoamxMa0VCV0g4T0VLLWdrcTQ4TUdob0JaYWN4S2tDZnJHVm44bV9acjVBaUJYOGNqdmxNU25TcFNiX2xSWkpGUEJOczJ5SVZZS3FON1hNRTlBUWp1ZGY0dHhPeUJRTHhfUGgzSzJlR1RTNVA0Y3ctOEU3ZGZsV0pBQUdGWnRwRXRkX3NwcWNxRTBMYzg1N2k4dkMwYWlpX3R3UmQteWROYVpoWUVOdVZOX0czanV1SzA4TmE5MmNFb1phWXdLUlcyYnIwb3E0STZQR3BSYXl4WmY1dzdVaGF0VXpWT0hQQ290bzBfTUZ3V0FUZlc4bDhDTlFWT056eHlEcThzYVh4NXo3b1lsVXl1OFJ0OUdRUmR2NnlOTEVNb29qd2Z2VXhzZ3RSbF9UdzZGT1RzeVZpWU56aDRhUUZlVW9rQ2Vhd1dMVEJKdy1jZXVaYjJKZE1uTUlLUmJUNUk0RFJ4Um1ZTTJsZGtsQnFuOUkxZDBXZFhXU05oblBVM2R5MjlFNld5Y3Y5TjIyZE1HTUF6U0dfYzN4U0ZPcDExbkVBN1B6RUZIQm9NRDJwa1BTYjVraEljU2JETlg3RzZmVVpNTUVZTFdrXzJnZThxaXlySzVFVGxsbVlQVDMwcDJzTS1jVEVrTnhFMnQ4NVJ2bENJM2hkbzVucXFoM2h6NjA4aU11Ujh1QWhST1A5czhJNFlGeVJVbWV0eTRvMGNJbkh4N0tUMkU4NmpqbGxSYWhMMExpVFZHQk9xcURNZnNvUkRMSWFVejl4WDlXSG9sVjV0SE9nOWxhRXEyUGZXVWttSXd2WUlhUXFFbklIeFcxWkxzQWNyRm1kT0hfTV9qeHBXeXZzZ1VqNFpyejlJY3k3SGo2eHRoc09Lb29ZR3dWT1puZHAxQkhRY21QSWlCM2t1MmYyc29Tb0xEMm9EY2NselAxSGVWNzZmVnFXb19aSTdBWWl6X1E9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBRdCBhbmQgR1RLIGludGVncmF0aW9uKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlZlcmlmeWluZyBRdCBkZXBlbmRlbmN5IHBhY2thZ2VzKipcIn1dfSJ9LHsidHlwZSI6InRleHQiLCJ0ZXh0IjoiQ3JlYXRlZCBhIENhcmdvIHdvcmtzcGFjZSB3aXRoIHR3byBpbmRlcGVuZGVudCBHVUkgYXBwbGljYXRpb25zOlxuXG4tIGBjcmF0ZXMvZmxhc2hlci1ndGtgIOKAlCBleGlzdGluZyBHVEs0L2xpYmFkd2FpdGEgaW50ZXJmYWNlXG4tIGBjcmF0ZXMvZmxhc2hlci1xdGAg4oCUIG5ldyBRdCA1L1F0IFF1aWNrIENvbnRyb2xzIGludGVyZmFjZVxuXG5UaGUgUXQgdmVyc2lvbiBpbmNsdWRlczpcblxuLSBTZWFyY2hhYmxlIGJvYXJkLXNlbGVjdGlvbiBkaWFsb2dcbi0gUGxhdGZvcm0vU29DL2FyY2hpdGVjdHVyZSBzZWN0aW9uIGhlYWRlcnNcbi0gU291cmNlIGFuZCBkZXN0aW5hdGlvbiBzZWxlY3Rpb25cbi0gUmVtb3ZhYmxlLWRyaXZlIGRldGVjdGlvblxuLSBQYXJ0aXRpb25pbmcgYW5kIGluc3RhbGxlciBvcHRpb25zXG4tIFJldmlldyBkaWFsb2dcbi0gTm8gYWN0dWFsIGZsYXNoaW5nIGltcGxlbWVudGF0aW9uXG5cbkJ1aWxkIGJvdGggd2l0aDpcblxuYGBgYmFzaFxuY2FyZ28gYnVpbGRcbmBgYFxuXG5SdW4gaW5kaXZpZHVhbGx5OlxuXG5gYGBiYXNoXG5jYXJnbyBydW4gLXAgZmxhc2hlci1ndGtcbmNhcmdvIHJ1biAtcCBmbGFzaGVyLXF0XG5gYGBcblxuU3lzdGVtIGRlcGVuZGVuY3kgYW5kIGJ1aWxkIGluc3RydWN0aW9ucyBhcmUgZG9jdW1lbnRlZCBpbiBgUkVBRE1FLm1kYC5cblxuSSBjb3VsZG7igJl0IHBlcmZvcm0gYSBjb21wbGV0ZSBsb2NhbCBRdCBidWlsZCBiZWNhdXNlIFF0IGRldmVsb3BtZW50IHBhY2thZ2VzIGFyZSBhYnNlbnQgYW5kIGBzdWRvYCByZXF1aXJlcyBhIHBhc3N3b3JkLiBJbnN0YWxsIHRoZW0gb24gQUxUIExpbnV4IHdpdGg6XG5cbmBgYGJhc2hcbnN1ZG8gYXB0LWdldCBpbnN0YWxsIGdjYy1jKysgbGliZ3RrNC1kZXZlbCBsaWJhZHdhaXRhLWRldmVsIFxcXG4gIHF0NS1iYXNlLWRldmVsIHF0NS1kZWNsYXJhdGl2ZS1kZXZlbCBxdDUtcXVpY2tjb250cm9sczItZGV2ZWwgXFxcbiAgcXQ1LXF1aWNrY29udHJvbHMyXG5gYGBcblxuVGhlIHJlbG9jYXRlZCBHVEsgY3JhdGUgcGFzc2VzIGBjYXJnbyBjaGVja2A7IHdvcmtzcGFjZSBtZXRhZGF0YSBpcyB2YWxpZC4iLCJ0ZXh0U2lnbmF0dXJlIjoie1widlwiOjEsXCJpZFwiOlwibXNnXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTVmYTA4ODgxOTE4MTBiNGRhMzM3ODI2ZGYyXCIsXCJwaGFzZVwiOlwiZmluYWxfYW5zd2VyXCJ9In1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEwMTIsIm91dHB1dCI6NTE4LCJjYWNoZVJlYWQiOjYxOTUyLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjI2OSwidG90YWxUb2tlbnMiOjYzNDgyLCJjb3N0Ijp7ImlucHV0IjowLjAwNTA2LCJvdXRwdXQiOjAuMDE1NTQsImNhY2hlUmVhZCI6MC4wMzA5NzYsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA1MTU3Nn19LCJzdG9wUmVhc29uIjoic3RvcCIsInRpbWVzdGFtcCI6MTc4NDk5MDAzODEzNSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5NTY3YWJjODE5MTgwNThhNzExYTEzYmZmZjIifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNDFiNjUzYjQiLCJwYXJlbnRJZCI6IjhmYmY3YzUxIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1NToxNC4zMTFaIiwibWVzc2FnZSI6eyJyb2xlIjoidXNlciIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6InRoZSBxdCB2ZXJzaW9uIGxvb2tzIHZlcnkgZm9yZWlnbiBpbiBib3RoIHF0IGFuZCBub24tcXQgc3lzdGVtcy4gY291bGQgeW91IG1ha2UgaXQgbG9vayBtb3JlIG5hdGl2ZT8gaXMgaXQgYmVjYXVzZSBvZiBxdHF1aWNrPyJ9XSwidGltZXN0YW1wIjoxNzg0OTk0OTE0MzA4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNzM3NTlhYzciLCJwYXJlbnRJZCI6IjQxYjY1M2I0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1NTozOC44NjFaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIFJ1c3QtQysrIFF0IFdpZGdldHMgaW50ZWdyYXRpb24qKlxuXG4qKkRlc2lnbmluZyBDKysgUXQgV2lkZ2V0cyBpbnRlcmZhY2UgZm9yIFJ1c3QgRkZJKipcblxuKipJbXBsZW1lbnRpbmcgY2VudHJhbCBzdGF0dXMgYW5kIGRldmljZSBvcHRpb25zKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGM2N2Y2NjQ4MTkxODViYjEzYmFkNTdmN2U1MVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTng1TDlRRjQyam5uakNvNFhLVW1QNkdfaTRsN0VuVEZRNVVkSFY4alhPU0dlbVhRb2M1Ny15djM5NkppajNmMGpQd25lNjl6VDZNaGRtSVJVSDN5Q1lkWWxGYVdhT1VFQTliZjRITEZrQnVsZnpyeVB4aWNOd3UzMFk2d3NMU2w0MzZnYXVMWWd0Vnp6ZlZ2QmZ5Nmxya0xpU3JSS1Z5M3FORFRuVTJDOUlZc2dUaGtPZnkxQ1E5Z1IyOHBQMHA2cDY1dEFnRDNXTVl5YUJLQklna2tTRVRuOFItRjVIOHZaUzlPWlZwVHBVa2RLNFE0R0VhODJXSHMtallnOV8yeFNQWkVBSm9GU0tzRGdDQkszQW5Pc1l4X0QwdTFnOHRIRTE4dHkxZGItWjdBNTU3SjRROGhwYzFab2tmWXFVQ09zLTJyQU1wQ3lRbFpfX3RtMVgzak5scHpiTC1VLXU5T0w4YVQ0OFdfb1YwZlVUNU9sMXpZME01dU5zcExYNi1ueVlQQnFwT2hiS0Y5LVVzQzNTXzZNRWYxc010VmcwaDlJRUJ4empDRlpqcUpBbzZpdlB2dENuMDFYMUVBcWZGOW1kX1I0cHk2VEloV2hDTEc4aHJ2Z2F6aFpOLUt0V0xmUHpHRjJVb0ZBY3MtSVMwN3R5akt5T0FYb3Z3S2lGRFVrdzYzZ3l0WEtkOWNYNFc2d3pJcXI1WmVFMnlyM0lSSU5NRjN3MWtLamNDRkE5ajdpVlNCdk9ZbVF0Q2pIOHFuek5zc2c5QThZSzd2dXY2UEpFLUhMbE4zVzl2b1RJYV9xMEJtR0duWDNCcm45U3ozR0VfamVhd0M0ZWJlZml6T2M3eGg3WllkVXhTNTNGS2Fqb1dOZHFCZlNUQjdiOFNuMEtGV01XZGNzWFNvYlducVotd1YxejhFQk5mQWxjM3J6MExJaGNRdTFoN3dXdWdaY1pDSzdRZnhfNkZyOUJ0RWpvYkhKcTQtdTlIQ0FTQmRrRDhVWm9RUE1YMmNQV1V5cXhrckx6cHpJZVRpMGE1OG5qRTFCVDBob3ItUjNZTmktY2d3RDcwZEMzcmhMMmppdWpDUjBaTEhXX3Q1c050MVVGX3dDMEF3eFVSWk1IQ3V6OHIxSUtsZks4dVYtUmpnMEVlczJKOWdZQTFlSXpfZEZFdWVCWmpxY1Q2Y1VwV3pFVmtfZGFpWl9nVHZ6RjdhNHlRNXVPckU1Zy1pOGUtcXdCRDg0cFZzd1JOWXNvenFuS3NFTHJBSEE0eTRRTkU5Nlk4M0daencydzhpUFAzNHJzVGJNQlptelZpVU9ZS0FabFljQlRpNEFkQVJ3UUtNbUxaZnUwLUNfOF9WR2lWdzhGVGtOZ0hXNWh1a2x3X244UVFUUndDT05BV3JxSVlUQnFCRlJGVWJpejFySGd1ZGItUERFV3JKS1ZsX2FpREVHMEpDbHBTaE1ZVFg1VDlTdjRjRXFrNGhWWEVDV2NQamdJRzJ4THRaODM2S2FVNFlnZWF6WlpmNjFYMVhLU19fM3hwUEVYTU0xX1gxamlxUHl2TGFPT1pILW1uUEpyZVpfY2s5N2N3aVVtTDlQV0J3SU1vZ1h4Q1laRVJwMmhMSXdzeDlrWkRMYy16akJKdWwtVk5XUWl2YWNzWVdxUktNMktyMHhqX3djZWV5MDA0dmlpN1lNdlh6WWJrUW9qZ1ZaU21UM1EzNWlaa0pjaEFVLUxUcHh4MW5YUlkwUnQ0a3ZJd3ZjVlQ1ZTREVTFtTUhRRnRiUjhlanp1LUhGeFdVQXI3eVJZbDN5WkNId0NjdEtIcTNkVTgtb3duZkhVX0JwSE0wNDRGOUhLbnZwaTB6aGgwc19EZzV6T21yUDRQLWl0ZnY1X0ZmRV9lZEFTUEt1MnkyRE9EVl80elU1UHZISmZjdzlJT1BnZjQ2cWd5WlFMdFQ5RWxfYWFUREpVeUMxRk9RZ2huTktNVkxFckdwQUtnOGNTMVl3eERJYnBfTVpJTVVMS1ZueW9aZjFLRjV0QkNEREZaMEptWTRhU1RVb0hXYUFNcWstRFBJRERPRG1qQWw5QnkxVVNiRFNoNkJuNXZadE1FeEZNZzQ3STJyMElaU1o3ODByWVozek9sNHFrTFA0VGp1VHljS3dBWDM4RmpUTTRfN1VHQ0dPN0VOUmVjb2FIOHdDYW5kdDhjbnZzQTJQOFNXWUpndkI5dTl6MVhxRENIakdocDRaRGhXX05YUWRvLVRnZUlrMnRZbFZ1NDVvN25DYmJjN0hRLWRIaEc1S3lmWFJkLWhrZkd6eWNFcDZHZW1vUmtuN05vZldBSC1FTC1NWGR4andYSnRtOU9oTU1nNlVGcDdaZTFETjRTQXFtQTlLeWxvUGFCdkNpdTRWV3ctaFM1WWNSbG5QdGY2d2hhRjdzd3hPVWotdXhjUmtlRmlTbDJlNFE0WTJfYkl6M1RVY0JDRDdWdktpN2xfQzlPUmJkdjdabjRXUVBRUFBFSVZDR3FHQjNPUy0yeDZvaXVoeVNWVmtQdGt5UFE0OTJSeWNMSlBVZVN1bEsxcjRLODZyRVdOXzByNHQ3bDhSejdkbHhNNjBvSm5LLVIyYThsY1ctbWNPNGVKbEU1VjljOU11NWdRcXREZkR2N0RtRnRibTNvbzFhUXZVd01qSUk1ZGl4c3RYYnNHcDNPUDY4Rjd4QkVRajRQVTh2SGxwakJzVW5SZXN0LUJCUXo3MWw1WTlOSDhCU2dpTnUyNHZ4QWZ2Tk05LVY2a2YxYTh0NTc0M194dU1uWlBoRTRjZ1ozdW1wYWN5ZVVtRm9neDRRTUdzaHdvWUItOUQtMUs0c0N5cXRMMlNQRFotbFR4V2wyV0VERTVzRm1yRDRHbE5LUzE0VnIwd3Y2bWJHNHRWcTMxQ083VjdCbXZ0RDF3bjVVWHhkdnlCa0l6MFRNR3U0WEZPUzJId1hhNEpkUFg3aUJWZF8xSHRjWmthNnVxMWZWR0ZpNHJzeHN1M1NIWmJDOGlwbkhfaGdjTnE3RDAyN2tUOC1sZTc3d2xLWFFGMl9TZVUyLTI0eWw3d0NHTHVmVV9hbzZ5NHZyS1ZkTndoMW5zcUZ4Yk1Sa3VOT3RCUWI2QUt3bnM0LThzVk1JWGtzaktwUUpQd0hKRG5SUWFFd2dPVVY3VWRtSER6SzdyNUVmZGlxcWpjY1cwSWkyLTF1Tk1kS3hQUWZvTU5hUHVVSENVRk1ST3hHUklBNHZNbTV4VG96dE1DQkJ5SFFZSE5rNllyX2J6VVltd0lCVnlfZHZWRV9wai15ZHptOGdLTVBJMmlOV3FmME9nMW5hRUFKbEJfRGJhVWVHRjhwVVRIOXM5YzVWVmtKVGh1dzlFNTI0Z0phaEJoWDUxeGgyU19mYWxCVW9pNG9aSHFRMEMwTWp4eDlKcWNQVXNOOWs0cTVpdXNQYWhPQ1FjSF9Tc3czWHdCNFFkbUY2a05ZSUVDRnl3OV8xTUJTdGp3RTdKZjZWVEsyNjFoTWpWWU8yWC1CaUVXUThidWRBTjhpeTdzMVlLYmtRalo2NEpoZXZKSTlkTHU2Ty1WTjVVZEE2UDdWQmR2WHR4UFpmWVR2Mm1YeE1XdWg2VEVfanpyWHNwUW5hbTdzUUk2UDllZ1dET1BORzMzNGQ5ZVZRYlBrWFBGaU9fLVRjaFlUWk00N3NhbEdWUjFDaHh6d1BuMW9uYkRuZkJjVlM4dllPajFveFF3MURmaUgzenZIcXRxbzM3NzlSN0Q1M09NQ2MxdlhRYXBOdHdyUUQydW4zM0ZHQjFfZXVCMXVoeGNkUFpINDVZVmVSNjl5ZXVGOVJoVjFZbldtLVgxN3RTQWFzVGs2UFktUEx0OFJTZmNmMk81bUNweER5YkU4SFdPVU1ObHRIQk9fS2tYT2U2QnNKa2hFMTZsQUJGUVBIVXltbDFxNGUwYk83YnlhclpZYXJmZUw3d3NUeTg2ZVFkNWVOano1X01xRUx6dTF3WU5mMW40T0F2Sk1MR2w4dng3MmE1c0tjT1BNZFNvdGF6TFpnSTc2UHRoUk5Ocml6am1QLTRXcTE3ajd2N1oybnctVUxQdjZWOWNNRU5zRGw3eGhZUG0tSko5ZGtYMGZDdHZueFNQb2pPc2xpLTRNWTAzaVk3VUlkVG1xV0lCMnB4T3BRV083MGFYOXRldGdfUUc1cnhvMV8zQ1lOWkdqQWFLOGJNYS1GWjFGY3l4SHNGNTZiVi00QU9jNl96VUpPVlhwMmRNWGpFaXVjRVNON2dkLXd1aUJmYkFidGdWWC1QcDQ1VjV3NHVvWUtuaDkwVTl4T09YcFpoeGdOVUJEeXNsMTMzQXI1SVhhR3JyV2s2d0hWUlFsMlJtblJaeW5tUzVyNXNtUV9MUkpnTjJTdHVGNFBrcEpNNXc5MEMtUExLdXdaQWxvUmozTkpIZE5TSG1kRURfdnJsSWNpYjVlaVdLTjlabWtVM1pjX1lQeE92c0JrS20wVXAwelM1NnJHQ3NpR3RmUm9SNEFrV1BpcVVnX1R2WEloQnZpcUMzUzRKNUROcHpONS1uUlcxV085TzV3MDRsSGJZODY0VlBTVWRTbFlMbWd6dFpGSmFiZHlBRXB5Z2xNM2NVcmN3eDBmSnIzRHktSDgycXU2eDBFNHdvMU9iTzd1X3pnOEtiV05iRTlhZnp5ZVZ4RG1fOFo5OHRzRzhTNF84X1gwcXVTMW1YakxmSTUtOGZjNUVoWEF3RmhtTGFxb2pERXNpZXRZUWY4Y0p0YTYweEwzeDBHeTJ1c3Y1bElHbzhtVXNSQVp3dTdQRmV1bm8wVzdma1pwUFJfakpuR3A4T2k4bHNTUVZhdFNkcUVsX1I3VE5NSUlaVldWdC1XY0FaMjE0dElYNjQzdlNnaEo1MTFQTVh6QTlhVHV0VG00R285S2VoQ2pQRmlfQlhpQW1RTG5yOHVhOHh5T3hTZllrSUluX2Q1STdPbVd2ekxWOTZvX2hLMEFxQTBQT0FrNm51WWIweWg1MnhfQXhqSnVKT2ozWEMyV0w0Y1Q2UWloVFc1QTRFbVlCelF4cXU2ZHNPOTRJdkctTWFDQl9PbUxIdjd3c1pQWmdkVVdFREphWWFlTzFqNjBLX2R5Qkw0amJqMEtVNmJjRnFpTWhMZWQ5VWhTZ0IyNXFlOFRoZ1FNTVhZOGF1em1FR1FhOWp6SUJsbXhWSUdTTnY1SHNwNWE2MVFoQ3dyWENiQ29lNHFrcVZQSzYzdjdNT1E9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBSdXN0LUMrKyBRdCBXaWRnZXRzIGludGVncmF0aW9uKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkRlc2lnbmluZyBDKysgUXQgV2lkZ2V0cyBpbnRlcmZhY2UgZm9yIFJ1c3QgRkZJKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkltcGxlbWVudGluZyBjZW50cmFsIHN0YXR1cyBhbmQgZGV2aWNlIG9wdGlvbnMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfWUdkb2s1cEJjTUFzSDVNTnl3NTE0V3o1fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkYzc5N2Y4NDgxOTE5ZGYzODhiNjI0NTE2OWY5IiwibmFtZSI6IndyaXRlIiwiYXJndW1lbnRzIjp7InBhdGgiOiJjcmF0ZXMvZmxhc2hlci1xdC9DYXJnby50b21sIiwiY29udGVudCI6IltwYWNrYWdlXVxubmFtZSA9IFwiZmxhc2hlci1xdFwiXG52ZXJzaW9uID0gXCIwLjEuMFwiXG5lZGl0aW9uID0gXCIyMDI0XCJcbmRlc2NyaXB0aW9uID0gXCJBIG5hdGl2ZSBRdCBXaWRnZXRzIGludGVyZmFjZSBmb3IgcHJlcGFyaW5nIEFMVCBMaW51eCBTQkMgaW1hZ2VzXCJcbmxpY2Vuc2UgPSBcIkdQTC0yLjAtb3ItbGF0ZXJcIlxuYnVpbGQgPSBcImJ1aWxkLnJzXCJcblxuW2J1aWxkLWRlcGVuZGVuY2llc11cbmNjID0gXCIxLjRcIlxucGtnLWNvbmZpZyA9IFwiMC4zXCJcbiJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6NjM1MTgsIm91dHB1dCI6NjI1LCJjYWNoZVJlYWQiOjAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NTA0LCJ0b3RhbFRva2VucyI6NjQxNDMsImNvc3QiOnsiaW5wdXQiOjAuMzE3NTkwMDAwMDAwMDAwMDQsIm91dHB1dCI6MC4wMTg3NSwiY2FjaGVSZWFkIjowLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4zMzYzNDAwMDAwMDAwMDAwM319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NDkxNDMzNCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRjNjU1MmYwODE5MTg5NzkxMTQ0NzdiN2Y1YmYifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNjkyOTkyOGUiLCJwYXJlbnRJZCI6IjczNzU5YWM3IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1NTozOC44NjdaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1lHZG9rNXBCY01Bc0g1TU55dzUxNFd6NXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGM3OTdmODQ4MTkxOWRmMzg4YjYyNDUxNjlmOSIsInRvb2xOYW1lIjoid3JpdGUiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgd3JvdGUgMjQ2IGJ5dGVzIHRvIGNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWwifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTQ5Mzg4Njd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJjN2FiMmQ0OSIsInBhcmVudElkIjoiNjkyOTkyOGUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU1OjQ0LjM0OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfV29KQUlGTHdWSVBJYlJHbXlob3oxQWxafGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkYzdkMGJmYzgxOTE4ODgxZTYxNTI3ZmVhYmQxIiwibmFtZSI6IndyaXRlIiwiYXJndW1lbnRzIjp7InBhdGgiOiJjcmF0ZXMvZmxhc2hlci1xdC9idWlsZC5ycyIsImNvbnRlbnQiOiJmbiBtYWluKCkge1xuICAgIHByaW50bG4hKFwiY2FyZ286cmVydW4taWYtY2hhbmdlZD1zcmMvdWkuY3BwXCIpO1xuXG4gICAgbGV0IHF0ID0gcGtnX2NvbmZpZzo6Q29uZmlnOjpuZXcoKVxuICAgICAgICAuYXRsZWFzdF92ZXJzaW9uKFwiNS4xMlwiKVxuICAgICAgICAucHJvYmUoXCJRdDVXaWRnZXRzXCIpXG4gICAgICAgIC5leHBlY3QoXCJRdCA1IFdpZGdldHMgZGV2ZWxvcG1lbnQgZmlsZXMgd2VyZSBub3QgZm91bmQgKGluc3RhbGwgcXQ1LWJhc2UtZGV2ZWwpXCIpO1xuXG4gICAgbGV0IG11dCBidWlsZCA9IGNjOjpCdWlsZDo6bmV3KCk7XG4gICAgYnVpbGQuY3BwKHRydWUpLmZpbGUoXCJzcmMvdWkuY3BwXCIpLmZsYWdfaWZfc3VwcG9ydGVkKFwiLXN0ZD1jKysxN1wiKTtcbiAgICBmb3IgcGF0aCBpbiBxdC5pbmNsdWRlX3BhdGhzIHtcbiAgICAgICAgYnVpbGQuaW5jbHVkZShwYXRoKTtcbiAgICB9XG4gICAgYnVpbGQuY29tcGlsZShcImZsYXNoZXJfcXRfdWlcIik7XG59XG4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjExOTIsIm91dHB1dCI6MTgxLCJjYWNoZVJlYWQiOjYyOTc2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjAsInRvdGFsVG9rZW5zIjo2NDM0OSwiY29zdCI6eyJpbnB1dCI6MC4wMDU5NjAwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDU0MywiY2FjaGVSZWFkIjowLjAzMTQ4Nzk5OTk5OTk5OTk5NSwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDQyODc4fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk0OTM4ODcwLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGM3Yjc0ODg4MTkxOWY1ZGM0NmIxZTE4MmQwZSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4OGY5NTM3MyIsInBhcmVudElkIjoiYzdhYjJkNDkiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU1OjQ0LjM0OVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfV29KQUlGTHdWSVBJYlJHbXlob3oxQWxafGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkYzdkMGJmYzgxOTE4ODgxZTYxNTI3ZmVhYmQxIiwidG9vbE5hbWUiOiJ3cml0ZSIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSB3cm90ZSA0NzUgYnl0ZXMgdG8gY3JhdGVzL2ZsYXNoZXItcXQvYnVpbGQucnMifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTQ5NDQzNDl9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJmZjQ5NDMwOCIsInBhcmVudElkIjoiODhmOTUzNzMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU3OjA3LjE0MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqSW1wbGVtZW50aW5nIEMrKyBmdW5jdGlvbmFsaXR5KioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGM4M2ExYTA4MTkxOGM3ODU3Y2NlZjkzMTdjZlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTnlFbW5uVk9LMldUVU9qOWJ5V0xiV0diM045TUltdzNHVkt6M21odEZVUFhGal9Kd1BYYXhnR3dTbDFJNkxnYm9oYl9uUGhDeFdzQWxMa1NuU3A5Q1RqekJzajZpb05zUEU0WWJueHlhNTZIbmcxRHpxd3k0TFMzSDJwaktPVHV0WDhOcjhjbkdGUkZLQlBYZXhCVEM5bUJHcGhieWowaGtidk9CQ2FzQkNvbmU1dG5sMU9KUTNyb0R2ZmJRQUM5UWUxdTM3c0RfZFBZNFZyU2dXWjdKNVpWSTZxWHc2cGlXWV9HTmxoUDBlbGcwaW5ybGtLdTBxT0NBNUhaQXp3NHZlY1lPM0xqelJ3TzNfQ1VKUWZ3c2NSdUhtYUpNVGhlUHdqYXFfUEQ0eGVock1ENzlnaDJ4aUNKendfRVQ1bWQ4RlNrTGxONFFSVGRmQU9TcTJTN2Z4LTFrZXhoQUQxQk1IQzNwNjRnRFN3N0hUN0tyaE41UnZFRkZBYVlmVGtGMDhIZUJtN2NKTm9WdnF5VGthOUx6M1RwSXZOYUprbkZLZUtNNUdVVzNDeE5zankzbS1zd2MzVU8tLUtlenQ0blRvUTZrbV92QVJ4emV4dmVoY0FyWUNDR25OWE41OG5MNnhnTTA1REM5cEJrenQzV2wtZGJwRHQxYWpoT3FfMHpRTy1qSklySG50d0JoQkxJT1k3SGtfZGZmNXA5RHp3dlZwZTk2N0xYZTJFMGJTdmdObGtCeGVwaE1vMFlSSXVMNERETkdybmlIUFVkZkppcTVUdi1zS2lWZmQtTHFINWxWaVFOUUoyNUkyTE5vazFFQmlGUUk3cXFpUDBVYkNTdTF3SW9RemUwdjY3T3l4TEpQUXlpMHo5S0czem5RaGttdFMtTy1SNjI5WlFtRTFQcVdwUTh4VW9Wc1A2RTFTUVNrbXdCeHBWOXBnWVgydmFpUmh2OUFsQWN6R0JMeDlfM2czTTZMcXd0NVM5bnNPb3phLXZDWHh2ckYtN0F2c21VNFpBLS14S2xnd3hwOVA0RHQyNGc5ZnR4c0k4Z1h6bjlOd2RpMEdXSURxb3ZCY2Nhd1lvWmRyVW9kWWhTbGxMR25Lc3ZOY3RibnAtSXhyNW9ZbUtJdnVlSkVmSlBFQkNIS3BHTGluRU9ZRzVVWmhBd2IzUEVSU2N2S2xGT1FGR3RuRWJWS1N5Ti1JODZxZ1YtWUx2XzQtanF4d1ROem5XQkJFaTQ3ZjVRYzJKMk0xekp3dWEzb0JQdzRNWW4zdUlzTGxoXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipJbXBsZW1lbnRpbmcgQysrIGZ1bmN0aW9uYWxpdHkqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfWHJoWDRIT1VadFh6cm53Tk43Z3Q0QlNrfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkYzg0M2EwNDgxOTFhYTBlMzcyNTQ2MmMwMDU1IiwibmFtZSI6IndyaXRlIiwiYXJndW1lbnRzIjp7InBhdGgiOiJjcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwIiwiY29udGVudCI6IiNpbmNsdWRlIDxRQXBwbGljYXRpb24+XG4jaW5jbHVkZSA8UUJ1dHRvbkdyb3VwPlxuI2luY2x1ZGUgPFFDaGVja0JveD5cbiNpbmNsdWRlIDxRQ29tYm9Cb3g+XG4jaW5jbHVkZSA8UURpYWxvZz5cbiNpbmNsdWRlIDxRRGlhbG9nQnV0dG9uQm94PlxuI2luY2x1ZGUgPFFGaWxlRGlhbG9nPlxuI2luY2x1ZGUgPFFGb3JtTGF5b3V0PlxuI2luY2x1ZGUgPFFGcmFtZT5cbiNpbmNsdWRlIDxRR3JvdXBCb3g+XG4jaW5jbHVkZSA8UUhCb3hMYXlvdXQ+XG4jaW5jbHVkZSA8UUxhYmVsPlxuI2luY2x1ZGUgPFFMaW5lRWRpdD5cbiNpbmNsdWRlIDxRTWFpbldpbmRvdz5cbiNpbmNsdWRlIDxRTWVudUJhcj5cbiNpbmNsdWRlIDxRTWVzc2FnZUJveD5cbiNpbmNsdWRlIDxRUHVzaEJ1dHRvbj5cbiNpbmNsdWRlIDxRUmFkaW9CdXR0b24+XG4jaW5jbHVkZSA8UVNjcm9sbEFyZWE+XG4jaW5jbHVkZSA8UVN0YXR1c0Jhcj5cbiNpbmNsdWRlIDxRU3R5bGU+XG4jaW5jbHVkZSA8UVRyZWVXaWRnZXQ+XG4jaW5jbHVkZSA8UVZCb3hMYXlvdXQ+XG5cbm5hbWVzcGFjZSB7XG5cbnN0cnVjdCBCb2FyZCB7XG4gICAgUVN0cmluZyBuYW1lO1xuICAgIFFTdHJpbmcgcGxhdGZvcm07XG59O1xuXG5RVmVjdG9yPEJvYXJkPiBwYXJzZUJvYXJkcyhjb25zdCBRU3RyaW5nICZ0ZXh0KSB7XG4gICAgUVZlY3RvcjxCb2FyZD4gYm9hcmRzO1xuICAgIFFTdHJpbmcgcGxhdGZvcm0gPSBRU3RyaW5nTGl0ZXJhbChcIk90aGVyXCIpO1xuICAgIGZvciAoY29uc3QgUVN0cmluZyAmcmF3TGluZSA6IHRleHQuc3BsaXQoJ1xcbicpKSB7XG4gICAgICAgIGNvbnN0IFFTdHJpbmcgbGluZSA9IHJhd0xpbmUudHJpbW1lZCgpO1xuICAgICAgICBpZiAobGluZS5pc0VtcHR5KCkpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgaWYgKGxpbmUuZW5kc1dpdGgoJzonKSkge1xuICAgICAgICAgICAgcGxhdGZvcm0gPSBsaW5lLmxlZnQobGluZS5zaXplKCkgLSAxKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgUVN0cmluZyAmbmFtZSA6IGxpbmUuc3BsaXQoUVJlZ0V4cChRU3RyaW5nTGl0ZXJhbChcIlxcXFxzK1wiKSksIFF0OjpTa2lwRW1wdHlQYXJ0cykpXG4gICAgICAgICAgICBib2FyZHMucHVzaF9iYWNrKHtuYW1lLCBwbGF0Zm9ybX0pO1xuICAgIH1cbiAgICByZXR1cm4gYm9hcmRzO1xufVxuXG5RTGFiZWwgKmRlc2NyaXB0aW9uKGNvbnN0IFFTdHJpbmcgJnRleHQpIHtcbiAgICBhdXRvICpsYWJlbCA9IG5ldyBRTGFiZWwodGV4dCk7XG4gICAgbGFiZWwtPnNldFdvcmRXcmFwKHRydWUpO1xuICAgIGxhYmVsLT5zZXRGb3JlZ3JvdW5kUm9sZShRUGFsZXR0ZTo6TWlkKTtcbiAgICByZXR1cm4gbGFiZWw7XG59XG5cblFHcm91cEJveCAqZ3JvdXAoY29uc3QgUVN0cmluZyAmdGl0bGUsIFFMYXlvdXQgKmxheW91dCkge1xuICAgIGF1dG8gKmJveCA9IG5ldyBRR3JvdXBCb3godGl0bGUpO1xuICAgIGJveC0+c2V0TGF5b3V0KGxheW91dCk7XG4gICAgcmV0dXJuIGJveDtcbn1cblxuY2xhc3MgQm9hcmREaWFsb2cgZmluYWwgOiBwdWJsaWMgUURpYWxvZyB7XG5wdWJsaWM6XG4gICAgZXhwbGljaXQgQm9hcmREaWFsb2coY29uc3QgUVZlY3RvcjxCb2FyZD4gJmJvYXJkcywgUVdpZGdldCAqcGFyZW50ID0gbnVsbHB0cilcbiAgICAgICAgOiBRRGlhbG9nKHBhcmVudCksIGJvYXJkc18oYm9hcmRzKSB7XG4gICAgICAgIHNldFdpbmRvd1RpdGxlKHRyKFwiU2VsZWN0IFRhcmdldCBCb2FyZFwiKSk7XG4gICAgICAgIHJlc2l6ZSg2MjAsIDYyMCk7XG4gICAgICAgIHNldE1vZGFsKHRydWUpO1xuXG4gICAgICAgIGF1dG8gKmxheW91dCA9IG5ldyBRVkJveExheW91dCh0aGlzKTtcbiAgICAgICAgc2VhcmNoXyA9IG5ldyBRTGluZUVkaXQ7XG4gICAgICAgIHNlYXJjaF8tPnNldFBsYWNlaG9sZGVyVGV4dCh0cihcIlNlYXJjaCBib2FyZHMsIHBsYXRmb3Jtcywgb3IgYXJjaGl0ZWN0dXJlc+KAplwiKSk7XG4gICAgICAgIHNlYXJjaF8tPnNldENsZWFyQnV0dG9uRW5hYmxlZCh0cnVlKTtcbiAgICAgICAgdHJlZV8gPSBuZXcgUVRyZWVXaWRnZXQ7XG4gICAgICAgIHRyZWVfLT5zZXRIZWFkZXJIaWRkZW4odHJ1ZSk7XG4gICAgICAgIHRyZWVfLT5zZXRSb290SXNEZWNvcmF0ZWQodHJ1ZSk7XG4gICAgICAgIHRyZWVfLT5zZXRBbHRlcm5hdGluZ1Jvd0NvbG9ycyh0cnVlKTtcbiAgICAgICAgdHJlZV8tPnNldFVuaWZvcm1Sb3dIZWlnaHRzKHRydWUpO1xuICAgICAgICBsYXlvdXQtPmFkZFdpZGdldChzZWFyY2hfKTtcbiAgICAgICAgbGF5b3V0LT5hZGRXaWRnZXQodHJlZV8sIDEpO1xuXG4gICAgICAgIGF1dG8gKmJ1dHRvbnMgPSBuZXcgUURpYWxvZ0J1dHRvbkJveChRRGlhbG9nQnV0dG9uQm94OjpDYW5jZWwpO1xuICAgICAgICBsYXlvdXQtPmFkZFdpZGdldChidXR0b25zKTtcbiAgICAgICAgY29ubmVjdChidXR0b25zLCAmUURpYWxvZ0J1dHRvbkJveDo6cmVqZWN0ZWQsIHRoaXMsICZRRGlhbG9nOjpyZWplY3QpO1xuICAgICAgICBjb25uZWN0KHNlYXJjaF8sICZRTGluZUVkaXQ6OnRleHRDaGFuZ2VkLCB0aGlzLCBbdGhpc10oY29uc3QgUVN0cmluZyAmdGV4dCkgeyBwb3B1bGF0ZSh0ZXh0KTsgfSk7XG4gICAgICAgIGNvbm5lY3QodHJlZV8sICZRVHJlZVdpZGdldDo6aXRlbUFjdGl2YXRlZCwgdGhpcywgW3RoaXNdKFFUcmVlV2lkZ2V0SXRlbSAqaXRlbSkge1xuICAgICAgICAgICAgaWYgKGl0ZW0gJiYgaXRlbS0+cGFyZW50KCkpIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE5hbWVfID0gaXRlbS0+ZGF0YSgwLCBRdDo6VXNlclJvbGUpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRQbGF0Zm9ybV8gPSBpdGVtLT5wYXJlbnQoKS0+dGV4dCgwKTtcbiAgICAgICAgICAgICAgICBhY2NlcHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHBvcHVsYXRlKHt9KTtcbiAgICB9XG5cbiAgICBRU3RyaW5nIHNlbGVjdGVkTmFtZSgpIGNvbnN0IHsgcmV0dXJuIHNlbGVjdGVkTmFtZV87IH1cbiAgICBRU3RyaW5nIHNlbGVjdGVkUGxhdGZvcm0oKSBjb25zdCB7IHJldHVybiBzZWxlY3RlZFBsYXRmb3JtXzsgfVxuXG5wcml2YXRlOlxuICAgIHZvaWQgcG9wdWxhdGUoY29uc3QgUVN0cmluZyAmcXVlcnkpIHtcbiAgICAgICAgdHJlZV8tPmNsZWFyKCk7XG4gICAgICAgIFFNYXA8UVN0cmluZywgUVRyZWVXaWRnZXRJdGVtICo+IGhlYWRpbmdzO1xuICAgICAgICBjb25zdCBRU3RyaW5nIG5lZWRsZSA9IHF1ZXJ5LnRyaW1tZWQoKTtcbiAgICAgICAgZm9yIChjb25zdCBCb2FyZCAmYm9hcmQgOiBib2FyZHNfKSB7XG4gICAgICAgICAgICBpZiAoIW5lZWRsZS5pc0VtcHR5KCkgJiYgIWJvYXJkLm5hbWUuY29udGFpbnMobmVlZGxlLCBRdDo6Q2FzZUluc2Vuc2l0aXZlKVxuICAgICAgICAgICAgICAgICYmICFib2FyZC5wbGF0Zm9ybS5jb250YWlucyhuZWVkbGUsIFF0OjpDYXNlSW5zZW5zaXRpdmUpKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgYXV0byAqJmhlYWRpbmcgPSBoZWFkaW5nc1tib2FyZC5wbGF0Zm9ybV07XG4gICAgICAgICAgICBpZiAoIWhlYWRpbmcpIHtcbiAgICAgICAgICAgICAgICBoZWFkaW5nID0gbmV3IFFUcmVlV2lkZ2V0SXRlbSh0cmVlXywge2JvYXJkLnBsYXRmb3JtfSk7XG4gICAgICAgICAgICAgICAgUUZvbnQgZm9udCA9IGhlYWRpbmctPmZvbnQoMCk7XG4gICAgICAgICAgICAgICAgZm9udC5zZXRCb2xkKHRydWUpO1xuICAgICAgICAgICAgICAgIGhlYWRpbmctPnNldEZvbnQoMCwgZm9udCk7XG4gICAgICAgICAgICAgICAgaGVhZGluZy0+c2V0RmxhZ3MoaGVhZGluZy0+ZmxhZ3MoKSAmIH5RdDo6SXRlbUlzU2VsZWN0YWJsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhdXRvICppdGVtID0gbmV3IFFUcmVlV2lkZ2V0SXRlbShoZWFkaW5nLCB7Ym9hcmQubmFtZX0pO1xuICAgICAgICAgICAgaXRlbS0+c2V0RGF0YSgwLCBRdDo6VXNlclJvbGUsIGJvYXJkLm5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHRyZWVfLT5leHBhbmRBbGwoKTtcbiAgICAgICAgaWYgKCFxdWVyeS5pc0VtcHR5KCkgJiYgdHJlZV8tPnRvcExldmVsSXRlbUNvdW50KCkgPiAwKSB7XG4gICAgICAgICAgICBhdXRvICpoZWFkaW5nID0gdHJlZV8tPnRvcExldmVsSXRlbSgwKTtcbiAgICAgICAgICAgIGlmIChoZWFkaW5nLT5jaGlsZENvdW50KCkgPiAwKVxuICAgICAgICAgICAgICAgIHRyZWVfLT5zZXRDdXJyZW50SXRlbShoZWFkaW5nLT5jaGlsZCgwKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBRVmVjdG9yPEJvYXJkPiBib2FyZHNfO1xuICAgIFFMaW5lRWRpdCAqc2VhcmNoXyA9IG51bGxwdHI7XG4gICAgUVRyZWVXaWRnZXQgKnRyZWVfID0gbnVsbHB0cjtcbiAgICBRU3RyaW5nIHNlbGVjdGVkTmFtZV87XG4gICAgUVN0cmluZyBzZWxlY3RlZFBsYXRmb3JtXztcbn07XG5cbmNsYXNzIE1haW5XaW5kb3cgZmluYWwgOiBwdWJsaWMgUU1haW5XaW5kb3cge1xucHVibGljOlxuICAgIE1haW5XaW5kb3coY29uc3QgUVN0cmluZyAmYm9hcmRzVGV4dCwgY29uc3QgUVN0cmluZyAmZHJpdmVzVGV4dClcbiAgICAgICAgOiBib2FyZHNfKHBhcnNlQm9hcmRzKGJvYXJkc1RleHQpKSB7XG4gICAgICAgIHNldFdpbmRvd1RpdGxlKHRyKFwiQUxUIEltYWdlIFdyaXRlclwiKSk7XG4gICAgICAgIHJlc2l6ZSg3ODAsIDgyMCk7XG4gICAgICAgIHNldE1pbmltdW1TaXplKDYyMCwgNjAwKTtcblxuICAgICAgICBhdXRvICphYm91dCA9IG1lbnVCYXIoKS0+YWRkTWVudSh0cihcIiZIZWxwXCIpKS0+YWRkQWN0aW9uKHRyKFwiJkFib3V0XCIpKTtcbiAgICAgICAgY29ubmVjdChhYm91dCwgJlFBY3Rpb246OnRyaWdnZXJlZCwgdGhpcywgW3RoaXNdIHtcbiAgICAgICAgICAgIFFNZXNzYWdlQm94OjphYm91dCh0aGlzLCB0cihcIkFib3V0IEFMVCBJbWFnZSBXcml0ZXJcIiksXG4gICAgICAgICAgICAgICAgdHIoXCI8aDM+QUxUIEltYWdlIFdyaXRlcjwvaDM+PHA+VmVyc2lvbiAwLjEuMDwvcD5cIlxuICAgICAgICAgICAgICAgICAgIFwiPHA+UHJlcGFyZSBBTFQgTGludXggaW5zdGFsbGF0aW9uIG1lZGlhIGZvciBzdXBwb3J0ZWQgXCJcbiAgICAgICAgICAgICAgICAgICBcInNpbmdsZS1ib2FyZCBjb21wdXRlcnMuPC9wPlwiKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGF1dG8gKnNjcm9sbCA9IG5ldyBRU2Nyb2xsQXJlYTtcbiAgICAgICAgc2Nyb2xsLT5zZXRXaWRnZXRSZXNpemFibGUodHJ1ZSk7XG4gICAgICAgIHNjcm9sbC0+c2V0RnJhbWVTaGFwZShRRnJhbWU6Ok5vRnJhbWUpO1xuICAgICAgICBzZXRDZW50cmFsV2lkZ2V0KHNjcm9sbCk7XG5cbiAgICAgICAgYXV0byAqdmlld3BvcnQgPSBuZXcgUVdpZGdldDtcbiAgICAgICAgYXV0byAqb3V0ZXIgPSBuZXcgUUhCb3hMYXlvdXQodmlld3BvcnQpO1xuICAgICAgICBvdXRlci0+c2V0Q29udGVudHNNYXJnaW5zKDIwLCAyMCwgMjAsIDIwKTtcbiAgICAgICAgYXV0byAqY29udGVudCA9IG5ldyBRV2lkZ2V0O1xuICAgICAgICBjb250ZW50LT5zZXRNYXhpbXVtV2lkdGgoNzAwKTtcbiAgICAgICAgYXV0byAqbGF5b3V0ID0gbmV3IFFWQm94TGF5b3V0KGNvbnRlbnQpO1xuICAgICAgICBsYXlvdXQtPnNldFNwYWNpbmcoMTYpO1xuICAgICAgICBvdXRlci0+YWRkU3RyZXRjaCgpO1xuICAgICAgICBvdXRlci0+YWRkV2lkZ2V0KGNvbnRlbnQsIDEpO1xuICAgICAgICBvdXRlci0+YWRkU3RyZXRjaCgpO1xuICAgICAgICBzY3JvbGwtPnNldFdpZGdldCh2aWV3cG9ydCk7XG5cbiAgICAgICAgYXV0byAqdGl0bGUgPSBuZXcgUUxhYmVsKHRyKFwiQ3JlYXRlIEluc3RhbGxhdGlvbiBNZWRpYVwiKSk7XG4gICAgICAgIFFGb250IHRpdGxlRm9udCA9IHRpdGxlLT5mb250KCk7XG4gICAgICAgIHRpdGxlRm9udC5zZXRQb2ludFNpemUodGl0bGVGb250LnBvaW50U2l6ZSgpICsgNyk7XG4gICAgICAgIHRpdGxlRm9udC5zZXRCb2xkKHRydWUpO1xuICAgICAgICB0aXRsZS0+c2V0Rm9udCh0aXRsZUZvbnQpO1xuICAgICAgICB0aXRsZS0+c2V0QWxpZ25tZW50KFF0OjpBbGlnbkNlbnRlcik7XG4gICAgICAgIGxheW91dC0+YWRkV2lkZ2V0KHRpdGxlKTtcbiAgICAgICAgYXV0byAqaW50cm8gPSBkZXNjcmlwdGlvbih0cihcIlByZXBhcmUgYW4gQUxUIExpbnV4IHJvb3QgZmlsZXN5c3RlbSBvciBkaXNrIGltYWdlIGZvciB5b3VyIGJvYXJkLlwiKSk7XG4gICAgICAgIGludHJvLT5zZXRBbGlnbm1lbnQoUXQ6OkFsaWduQ2VudGVyKTtcbiAgICAgICAgbGF5b3V0LT5hZGRXaWRnZXQoaW50cm8pO1xuXG4gICAgICAgIGNyZWF0ZVNvdXJjZShsYXlvdXQpO1xuICAgICAgICBjcmVhdGVIYXJkd2FyZShsYXlvdXQpO1xuICAgICAgICBjcmVhdGVEZXN0aW5hdGlvbihsYXlvdXQsIGRyaXZlc1RleHQpO1xuICAgICAgICBjcmVhdGVPcHRpb25zKGxheW91dCk7XG4gICAgICAgIGxheW91dC0+YWRkU3RyZXRjaCgpO1xuXG4gICAgICAgIGF1dG8gKmJhciA9IG5ldyBRV2lkZ2V0O1xuICAgICAgICBhdXRvICpiYXJMYXlvdXQgPSBuZXcgUUhCb3hMYXlvdXQoYmFyKTtcbiAgICAgICAgYmFyTGF5b3V0LT5zZXRDb250ZW50c01hcmdpbnMoMTIsIDgsIDEyLCA4KTtcbiAgICAgICAgYmFyTGF5b3V0LT5hZGRXaWRnZXQoZGVzY3JpcHRpb24odHIoXCJOb3RoaW5nIHdpbGwgYmUgd3JpdHRlbiB1bnRpbCB5b3UgY29uZmlybS5cIikpLCAxKTtcbiAgICAgICAgd3JpdGVCdXR0b25fID0gbmV3IFFQdXNoQnV0dG9uKHRyKFwiUmV2aWV3IGFuZCBXcml0ZVwiKSk7XG4gICAgICAgIHdyaXRlQnV0dG9uXy0+c2V0RGVmYXVsdCh0cnVlKTtcbiAgICAgICAgd3JpdGVCdXR0b25fLT5zZXRFbmFibGVkKGZhbHNlKTtcbiAgICAgICAgYmFyTGF5b3V0LT5hZGRXaWRnZXQod3JpdGVCdXR0b25fKTtcbiAgICAgICAgc3RhdHVzQmFyKCktPmFkZFBlcm1hbmVudFdpZGdldChiYXIsIDEpO1xuICAgICAgICBjb25uZWN0KHdyaXRlQnV0dG9uXywgJlFQdXNoQnV0dG9uOjpjbGlja2VkLCB0aGlzLCBbdGhpc10geyByZXZpZXcoKTsgfSk7XG4gICAgfVxuXG5wcml2YXRlOlxuICAgIHZvaWQgY3JlYXRlU291cmNlKFFWQm94TGF5b3V0ICpwYWdlKSB7XG4gICAgICAgIGF1dG8gKmxheW91dCA9IG5ldyBRVkJveExheW91dDtcbiAgICAgICAgbGF5b3V0LT5hZGRXaWRnZXQoZGVzY3JpcHRpb24odHIoXCJDaG9vc2UgYSByb290IGZpbGVzeXN0ZW0gYXJjaGl2ZSBvciBhIHJlYWR5LW1hZGUgZGlzayBpbWFnZS5cIikpKTtcbiAgICAgICAgYXV0byAqdHlwZXMgPSBuZXcgUUhCb3hMYXlvdXQ7XG4gICAgICAgIHR5cGVzLT5hZGRXaWRnZXQobmV3IFFMYWJlbCh0cihcIlNvdXJjZSB0eXBlXCIpKSk7XG4gICAgICAgIHR5cGVzLT5hZGRTdHJldGNoKCk7XG4gICAgICAgIHJvb3Rmc0J1dHRvbl8gPSBuZXcgUVJhZGlvQnV0dG9uKHRyKFwiUm9vdCBmaWxlc3lzdGVtXCIpKTtcbiAgICAgICAgaW1hZ2VCdXR0b25fID0gbmV3IFFSYWRpb0J1dHRvbih0cihcIkRpc2sgaW1hZ2VcIikpO1xuICAgICAgICByb290ZnNCdXR0b25fLT5zZXRDaGVja2VkKHRydWUpO1xuICAgICAgICB0eXBlcy0+YWRkV2lkZ2V0KHJvb3Rmc0J1dHRvbl8pO1xuICAgICAgICB0eXBlcy0+YWRkV2lkZ2V0KGltYWdlQnV0dG9uXyk7XG4gICAgICAgIGxheW91dC0+YWRkTGF5b3V0KHR5cGVzKTtcblxuICAgICAgICBhdXRvICpwaWNrZXIgPSBuZXcgUUhCb3hMYXlvdXQ7XG4gICAgICAgIHNvdXJjZUxhYmVsXyA9IG5ldyBRTGFiZWwodHIoXCJObyBzb3VyY2Ugc2VsZWN0ZWRcIikpO1xuICAgICAgICBzb3VyY2VMYWJlbF8tPnNldFRleHRJbnRlcmFjdGlvbkZsYWdzKFF0OjpUZXh0U2VsZWN0YWJsZUJ5TW91c2UpO1xuICAgICAgICBhdXRvICpjaG9vc2UgPSBuZXcgUVB1c2hCdXR0b24odHIoXCJDaG9vc2XigKZcIikpO1xuICAgICAgICBjaG9vc2UtPnNldEljb24oc3R5bGUoKS0+c3RhbmRhcmRJY29uKFFTdHlsZTo6U1BfRGlhbG9nT3BlbkJ1dHRvbikpO1xuICAgICAgICBwaWNrZXItPmFkZFdpZGdldChzb3VyY2VMYWJlbF8sIDEpO1xuICAgICAgICBwaWNrZXItPmFkZFdpZGdldChjaG9vc2UpO1xuICAgICAgICBsYXlvdXQtPmFkZExheW91dChwaWNrZXIpO1xuICAgICAgICBzb3VyY2VIaW50XyA9IGRlc2NyaXB0aW9uKHRyKFwiU3VwcG9ydGVkOiAudGFyLCAudGFyLmd6LCAudGFyLnh6XCIpKTtcbiAgICAgICAgbGF5b3V0LT5hZGRXaWRnZXQoc291cmNlSGludF8pO1xuICAgICAgICBwYWdlLT5hZGRXaWRnZXQoZ3JvdXAodHIoXCJJbnN0YWxsYXRpb24gU291cmNlXCIpLCBsYXlvdXQpKTtcblxuICAgICAgICBjb25uZWN0KHJvb3Rmc0J1dHRvbl8sICZRUmFkaW9CdXR0b246OnRvZ2dsZWQsIHRoaXMsIFt0aGlzXShib29sIGNoZWNrZWQpIHtcbiAgICAgICAgICAgIGlmIChjaGVja2VkKSB7XG4gICAgICAgICAgICAgICAgc291cmNlSGludF8tPnNldFRleHQodHIoXCJTdXBwb3J0ZWQ6IC50YXIsIC50YXIuZ3osIC50YXIueHpcIikpO1xuICAgICAgICAgICAgICAgIGZpbGVPdXRwdXRCdXR0b25fLT5zZXRFbmFibGVkKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgY29ubmVjdChpbWFnZUJ1dHRvbl8sICZRUmFkaW9CdXR0b246OnRvZ2dsZWQsIHRoaXMsIFt0aGlzXShib29sIGNoZWNrZWQpIHtcbiAgICAgICAgICAgIGlmIChjaGVja2VkKSB7XG4gICAgICAgICAgICAgICAgc291cmNlSGludF8tPnNldFRleHQodHIoXCJTdXBwb3J0ZWQ6IC5pbWcsIC5pbWcueHpcIikpO1xuICAgICAgICAgICAgICAgIGRyaXZlT3V0cHV0QnV0dG9uXy0+c2V0Q2hlY2tlZCh0cnVlKTtcbiAgICAgICAgICAgICAgICBmaWxlT3V0cHV0QnV0dG9uXy0+c2V0RW5hYmxlZChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjb25uZWN0KGNob29zZSwgJlFQdXNoQnV0dG9uOjpjbGlja2VkLCB0aGlzLCBbdGhpc10ge1xuICAgICAgICAgICAgY29uc3QgUVN0cmluZyBmaWx0ZXIgPSBpbWFnZUJ1dHRvbl8tPmlzQ2hlY2tlZCgpXG4gICAgICAgICAgICAgICAgPyB0cihcIkRpc2sgaW1hZ2VzICgqLmltZyAqLmltZy54eik7O0FsbCBmaWxlcyAoKilcIilcbiAgICAgICAgICAgICAgICA6IHRyKFwiUm9vdCBmaWxlc3lzdGVtIGFyY2hpdmVzICgqLnRhciAqLnRhci5neiAqLnRhci54eik7O0FsbCBmaWxlcyAoKilcIik7XG4gICAgICAgICAgICBjb25zdCBRU3RyaW5nIHBhdGggPSBRRmlsZURpYWxvZzo6Z2V0T3BlbkZpbGVOYW1lKHRoaXMsIHRyKFwiQ2hvb3NlIEluc3RhbGxhdGlvbiBTb3VyY2VcIiksIHt9LCBmaWx0ZXIpO1xuICAgICAgICAgICAgaWYgKCFwYXRoLmlzRW1wdHkoKSkge1xuICAgICAgICAgICAgICAgIHNvdXJjZVBhdGhfID0gcGF0aDtcbiAgICAgICAgICAgICAgICBzb3VyY2VMYWJlbF8tPnNldFRleHQoUUZpbGVJbmZvKHBhdGgpLmZpbGVOYW1lKCkpO1xuICAgICAgICAgICAgICAgIHNvdXJjZUxhYmVsXy0+c2V0VG9vbFRpcChwYXRoKTtcbiAgICAgICAgICAgICAgICBzb3VyY2VIaW50Xy0+c2V0VGV4dChRRmlsZUluZm8ocGF0aCkuYWJzb2x1dGVQYXRoKCkpO1xuICAgICAgICAgICAgICAgIHVwZGF0ZVJlYWR5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHZvaWQgY3JlYXRlSGFyZHdhcmUoUVZCb3hMYXlvdXQgKnBhZ2UpIHtcbiAgICAgICAgYXV0byAqbGF5b3V0ID0gbmV3IFFWQm94TGF5b3V0O1xuICAgICAgICBsYXlvdXQtPmFkZFdpZGdldChkZXNjcmlwdGlvbih0cihcIkJvYXJkcyBhcmUgZ3JvdXBlZCBieSBwbGF0Zm9ybSwgU29DIGZhbWlseSwgYW5kIGFyY2hpdGVjdHVyZS5cIikpKTtcbiAgICAgICAgYXV0byAqcm93ID0gbmV3IFFIQm94TGF5b3V0O1xuICAgICAgICBhdXRvICpsYWJlbHMgPSBuZXcgUVZCb3hMYXlvdXQ7XG4gICAgICAgIGJvYXJkTGFiZWxfID0gbmV3IFFMYWJlbCh0cihcIk5vIGJvYXJkIHNlbGVjdGVkXCIpKTtcbiAgICAgICAgYm9hcmRIaW50XyA9IGRlc2NyaXB0aW9uKHRyKFwiQ2hvb3NlIGZyb20gJTEgc3VwcG9ydGVkIGJvYXJkc1wiKS5hcmcoYm9hcmRzXy5zaXplKCkpKTtcbiAgICAgICAgbGFiZWxzLT5hZGRXaWRnZXQoYm9hcmRMYWJlbF8pO1xuICAgICAgICBsYWJlbHMtPmFkZFdpZGdldChib2FyZEhpbnRfKTtcbiAgICAgICAgYXV0byAqc2VsZWN0ID0gbmV3IFFQdXNoQnV0dG9uKHRyKFwiU2VsZWN0IEJvYXJk4oCmXCIpKTtcbiAgICAgICAgcm93LT5hZGRMYXlvdXQobGFiZWxzLCAxKTtcbiAgICAgICAgcm93LT5hZGRXaWRnZXQoc2VsZWN0KTtcbiAgICAgICAgbGF5b3V0LT5hZGRMYXlvdXQocm93KTtcbiAgICAgICAgcGFnZS0+YWRkV2lkZ2V0KGdyb3VwKHRyKFwiVGFyZ2V0IEhhcmR3YXJlXCIpLCBsYXlvdXQpKTtcblxuICAgICAgICBjb25uZWN0KHNlbGVjdCwgJlFQdXNoQnV0dG9uOjpjbGlja2VkLCB0aGlzLCBbdGhpc10ge1xuICAgICAgICAgICAgQm9hcmREaWFsb2cgZGlhbG9nKGJvYXJkc18sIHRoaXMpO1xuICAgICAgICAgICAgaWYgKGRpYWxvZy5leGVjKCkgPT0gUURpYWxvZzo6QWNjZXB0ZWQpIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEJvYXJkXyA9IGRpYWxvZy5zZWxlY3RlZE5hbWUoKTtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFBsYXRmb3JtXyA9IGRpYWxvZy5zZWxlY3RlZFBsYXRmb3JtKCk7XG4gICAgICAgICAgICAgICAgYm9hcmRMYWJlbF8tPnNldFRleHQoc2VsZWN0ZWRCb2FyZF8pO1xuICAgICAgICAgICAgICAgIFFGb250IGZvbnQgPSBib2FyZExhYmVsXy0+Zm9udCgpO1xuICAgICAgICAgICAgICAgIGZvbnQuc2V0Qm9sZCh0cnVlKTtcbiAgICAgICAgICAgICAgICBib2FyZExhYmVsXy0+c2V0Rm9udChmb250KTtcbiAgICAgICAgICAgICAgICBib2FyZEhpbnRfLT5zZXRUZXh0KHNlbGVjdGVkUGxhdGZvcm1fKTtcbiAgICAgICAgICAgICAgICB1cGRhdGVSZWFkeSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB2b2lkIGNyZWF0ZURlc3RpbmF0aW9uKFFWQm94TGF5b3V0ICpwYWdlLCBjb25zdCBRU3RyaW5nICZkcml2ZXNUZXh0KSB7XG4gICAgICAgIGF1dG8gKmxheW91dCA9IG5ldyBRVkJveExheW91dDtcbiAgICAgICAgbGF5b3V0LT5hZGRXaWRnZXQoZGVzY3JpcHRpb24odHIoXCJXcml0ZSB0byByZW1vdmFibGUgbWVkaWEgb3IgY3JlYXRlIGFuIGltYWdlIGZpbGUuXCIpKSk7XG4gICAgICAgIGF1dG8gKnR5cGVzID0gbmV3IFFIQm94TGF5b3V0O1xuICAgICAgICB0eXBlcy0+YWRkV2lkZ2V0KG5ldyBRTGFiZWwodHIoXCJPdXRwdXQgdHlwZVwiKSkpO1xuICAgICAgICB0eXBlcy0+YWRkU3RyZXRjaCgpO1xuICAgICAgICBkcml2ZU91dHB1dEJ1dHRvbl8gPSBuZXcgUVJhZGlvQnV0dG9uKHRyKFwiRHJpdmVcIikpO1xuICAgICAgICBmaWxlT3V0cHV0QnV0dG9uXyA9IG5ldyBRUmFkaW9CdXR0b24odHIoXCJJbWFnZSBmaWxlXCIpKTtcbiAgICAgICAgZHJpdmVPdXRwdXRCdXR0b25fLT5zZXRDaGVja2VkKHRydWUpO1xuICAgICAgICB0eXBlcy0+YWRkV2lkZ2V0KGRyaXZlT3V0cHV0QnV0dG9uXyk7XG4gICAgICAgIHR5cGVzLT5hZGRXaWRnZXQoZmlsZU91dHB1dEJ1dHRvbl8pO1xuICAgICAgICBsYXlvdXQtPmFkZExheW91dCh0eXBlcyk7XG5cbiAgICAgICAgZHJpdmVSb3dfID0gbmV3IFFXaWRnZXQ7XG4gICAgICAgIGF1dG8gKmRyaXZlTGF5b3V0ID0gbmV3IFFGb3JtTGF5b3V0KGRyaXZlUm93Xyk7XG4gICAgICAgIGRyaXZlQm94XyA9IG5ldyBRQ29tYm9Cb3g7XG4gICAgICAgIGNvbnN0IFFTdHJpbmdMaXN0IGRyaXZlcyA9IGRyaXZlc1RleHQuc3BsaXQoJ1xcbicsIFF0OjpTa2lwRW1wdHlQYXJ0cyk7XG4gICAgICAgIGRyaXZlQm94Xy0+YWRkSXRlbXMoZHJpdmVzKTtcbiAgICAgICAgaWYgKGRyaXZlcy5pc0VtcHR5KCkpIHtcbiAgICAgICAgICAgIGRyaXZlQm94Xy0+YWRkSXRlbSh0cihcIk5vIHJlbW92YWJsZSBkcml2ZXMgZGV0ZWN0ZWRcIikpO1xuICAgICAgICAgICAgZHJpdmVCb3hfLT5zZXRFbmFibGVkKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICBkcml2ZUxheW91dC0+YWRkUm93KHRyKFwiU3RvcmFnZSBkZXZpY2VcIiksIGRyaXZlQm94Xyk7XG4gICAgICAgIGxheW91dC0+YWRkV2lkZ2V0KGRyaXZlUm93Xyk7XG5cbiAgICAgICAgZmlsZVJvd18gPSBuZXcgUVdpZGdldDtcbiAgICAgICAgYXV0byAqZmlsZUxheW91dCA9IG5ldyBRSEJveExheW91dChmaWxlUm93Xyk7XG4gICAgICAgIGZpbGVMYXlvdXQtPnNldENvbnRlbnRzTWFyZ2lucygwLCAwLCAwLCAwKTtcbiAgICAgICAgb3V0cHV0TGFiZWxfID0gbmV3IFFMYWJlbCh0cihcIkNob29zZSB3aGVyZSB0byBzYXZlIHRoZSBpbWFnZVwiKSk7XG4gICAgICAgIGF1dG8gKmNob29zZSA9IG5ldyBRUHVzaEJ1dHRvbih0cihcIkNob29zZeKAplwiKSk7XG4gICAgICAgIGNob29zZS0+c2V0SWNvbihzdHlsZSgpLT5zdGFuZGFyZEljb24oUVN0eWxlOjpTUF9EaWFsb2dTYXZlQnV0dG9uKSk7XG4gICAgICAgIGZpbGVMYXlvdXQtPmFkZFdpZGdldChvdXRwdXRMYWJlbF8sIDEpO1xuICAgICAgICBmaWxlTGF5b3V0LT5hZGRXaWRnZXQoY2hvb3NlKTtcbiAgICAgICAgZmlsZVJvd18tPmhpZGUoKTtcbiAgICAgICAgbGF5b3V0LT5hZGRXaWRnZXQoZmlsZVJvd18pO1xuICAgICAgICBwYWdlLT5hZGRXaWRnZXQoZ3JvdXAodHIoXCJEZXN0aW5hdGlvblwiKSwgbGF5b3V0KSk7XG5cbiAgICAgICAgY29ubmVjdChkcml2ZU91dHB1dEJ1dHRvbl8sICZRUmFkaW9CdXR0b246OnRvZ2dsZWQsIHRoaXMsIFt0aGlzXShib29sIGNoZWNrZWQpIHtcbiAgICAgICAgICAgIGRyaXZlUm93Xy0+c2V0VmlzaWJsZShjaGVja2VkKTtcbiAgICAgICAgICAgIGZpbGVSb3dfLT5zZXRWaXNpYmxlKCFjaGVja2VkKTtcbiAgICAgICAgICAgIHVwZGF0ZVJlYWR5KCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25uZWN0KGNob29zZSwgJlFQdXNoQnV0dG9uOjpjbGlja2VkLCB0aGlzLCBbdGhpc10ge1xuICAgICAgICAgICAgY29uc3QgUVN0cmluZyBwYXRoID0gUUZpbGVEaWFsb2c6OmdldFNhdmVGaWxlTmFtZSh0aGlzLCB0cihcIkNyZWF0ZSBEaXNrIEltYWdlXCIpLFxuICAgICAgICAgICAgICAgIFFTdHJpbmdMaXRlcmFsKFwiYWx0LWxpbnV4LmltZ1wiKSwgdHIoXCJSYXcgZGlzayBpbWFnZXMgKCouaW1nKTs7QWxsIGZpbGVzICgqKVwiKSk7XG4gICAgICAgICAgICBpZiAoIXBhdGguaXNFbXB0eSgpKSB7XG4gICAgICAgICAgICAgICAgb3V0cHV0UGF0aF8gPSBwYXRoO1xuICAgICAgICAgICAgICAgIG91dHB1dExhYmVsXy0+c2V0VGV4dChRRmlsZUluZm8ocGF0aCkuZmlsZU5hbWUoKSk7XG4gICAgICAgICAgICAgICAgb3V0cHV0TGFiZWxfLT5zZXRUb29sVGlwKHBhdGgpO1xuICAgICAgICAgICAgICAgIHVwZGF0ZVJlYWR5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHZvaWQgY3JlYXRlT3B0aW9ucyhRVkJveExheW91dCAqcGFnZSkge1xuICAgICAgICBhdXRvICpsYXlvdXQgPSBuZXcgUUZvcm1MYXlvdXQ7XG4gICAgICAgIGF1dG8gKmZpbGVzeXN0ZW0gPSBuZXcgUUNvbWJvQm94O1xuICAgICAgICBmaWxlc3lzdGVtLT5hZGRJdGVtcyh7UVN0cmluZ0xpdGVyYWwoXCJleHQ0XCIpLCBRU3RyaW5nTGl0ZXJhbChcImYyZnNcIil9KTtcbiAgICAgICAgbGF5b3V0LT5hZGRSb3codHIoXCJSb290IGZpbGVzeXN0ZW1cIiksIGZpbGVzeXN0ZW0pO1xuICAgICAgICBhdXRvICpyZXNpemUgPSBuZXcgUUNoZWNrQm94KHRyKFwiR3JvdyB0byBmaWxsIHRoZSBkZXN0aW5hdGlvblwiKSk7XG4gICAgICAgIHJlc2l6ZS0+c2V0Q2hlY2tlZCh0cnVlKTtcbiAgICAgICAgbGF5b3V0LT5hZGRSb3codHIoXCJSZXNpemUgcm9vdCBwYXJ0aXRpb25cIiksIHJlc2l6ZSk7XG4gICAgICAgIGxheW91dC0+YWRkUm93KHRyKFwiQm9vdCBwYXJ0aXRpb25cIiksIG5ldyBRQ2hlY2tCb3godHIoXCJDcmVhdGUgYSBzZXBhcmF0ZSA1MTIgTWlCIHBhcnRpdGlvblwiKSkpO1xuICAgICAgICBsYXlvdXQtPmFkZFJvdyh0cihcIkVuY3J5cHRpb25cIiksIG5ldyBRQ2hlY2tCb3godHIoXCJFbmNyeXB0IHJvb3QgcGFydGl0aW9uIHdpdGggTFVLU1wiKSkpO1xuICAgICAgICBsYXlvdXQtPmFkZFJvdyh0cihcIlNlcmlhbCBjb25zb2xlXCIpLCBuZXcgUUNoZWNrQm94KHRyKFwiQWRkIHRvIGJvb3QgYXJndW1lbnRzXCIpKSk7XG4gICAgICAgIGF1dG8gKmVmaSA9IG5ldyBRQ29tYm9Cb3g7XG4gICAgICAgIGVmaS0+YWRkSXRlbXMoe3RyKFwiTm9uZVwiKSwgdHIoXCJFRkkgKEdQVClcIiksIHRyKFwiRUZJIChNQlIpXCIpfSk7XG4gICAgICAgIGxheW91dC0+YWRkUm93KHRyKFwiRUZJIHN5c3RlbSBwYXJ0aXRpb25cIiksIGVmaSk7XG4gICAgICAgIGF1dG8gKnZuYyA9IG5ldyBRQ29tYm9Cb3g7XG4gICAgICAgIHZuYy0+YWRkSXRlbXMoe3RyKFwiVXNlIGltYWdlIGRlZmF1bHRcIiksIHRyKFwiRW5hYmxlZFwiKSwgdHIoXCJEaXNhYmxlZFwiKX0pO1xuICAgICAgICBsYXlvdXQtPmFkZFJvdyh0cihcIkZpcnN0LWJvb3QgVk5DXCIpLCB2bmMpO1xuICAgICAgICBwYWdlLT5hZGRXaWRnZXQoZ3JvdXAodHIoXCJPcHRpb25zXCIpLCBsYXlvdXQpKTtcbiAgICB9XG5cbiAgICB2b2lkIHVwZGF0ZVJlYWR5KCkge1xuICAgICAgICBjb25zdCBib29sIGRlc3RpbmF0aW9uID0gZHJpdmVPdXRwdXRCdXR0b25fLT5pc0NoZWNrZWQoKVxuICAgICAgICAgICAgPyBkcml2ZUJveF8tPmlzRW5hYmxlZCgpICYmIGRyaXZlQm94Xy0+Y3VycmVudEluZGV4KCkgPj0gMFxuICAgICAgICAgICAgOiAhb3V0cHV0UGF0aF8uaXNFbXB0eSgpO1xuICAgICAgICB3cml0ZUJ1dHRvbl8tPnNldEVuYWJsZWQoIXNvdXJjZVBhdGhfLmlzRW1wdHkoKSAmJiAhc2VsZWN0ZWRCb2FyZF8uaXNFbXB0eSgpICYmIGRlc3RpbmF0aW9uKTtcbiAgICB9XG5cbiAgICB2b2lkIHJldmlldygpIHtcbiAgICAgICAgY29uc3QgUVN0cmluZyBkZXN0aW5hdGlvbiA9IGRyaXZlT3V0cHV0QnV0dG9uXy0+aXNDaGVja2VkKCkgPyBkcml2ZUJveF8tPmN1cnJlbnRUZXh0KCkgOiBvdXRwdXRQYXRoXztcbiAgICAgICAgUU1lc3NhZ2VCb3ggZGlhbG9nKFFNZXNzYWdlQm94OjpXYXJuaW5nLCB0cihcIlJlYWR5IHRvIHdyaXRlP1wiKSxcbiAgICAgICAgICAgIHRyKFwiQm9hcmQ6ICUxXFxuUGxhdGZvcm06ICUyXFxuRGVzdGluYXRpb246ICUzXFxuXFxuXCJcbiAgICAgICAgICAgICAgIFwiVGhpcyBpcyBhbiBpbnRlcmZhY2UgcHJldmlldy4gTm8gZGF0YSB3aWxsIGJlIHdyaXR0ZW4uXCIpXG4gICAgICAgICAgICAgICAgLmFyZyhzZWxlY3RlZEJvYXJkXywgc2VsZWN0ZWRQbGF0Zm9ybV8sIGRlc3RpbmF0aW9uKSxcbiAgICAgICAgICAgIFFNZXNzYWdlQm94OjpDYW5jZWwgfCBRTWVzc2FnZUJveDo6T2ssIHRoaXMpO1xuICAgICAgICBkaWFsb2cuc2V0RGVmYXVsdEJ1dHRvbihRTWVzc2FnZUJveDo6Q2FuY2VsKTtcbiAgICAgICAgZGlhbG9nLmJ1dHRvbihRTWVzc2FnZUJveDo6T2spLT5zZXRUZXh0KHRyKFwiV3JpdGVcIikpO1xuICAgICAgICBpZiAoZGlhbG9nLmV4ZWMoKSA9PSBRTWVzc2FnZUJveDo6T2spXG4gICAgICAgICAgICBzdGF0dXNCYXIoKS0+c2hvd01lc3NhZ2UodHIoXCJGbGFzaGluZyBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBwcmV2aWV3XCIpLCA0MDAwKTtcbiAgICB9XG5cbiAgICBRVmVjdG9yPEJvYXJkPiBib2FyZHNfO1xuICAgIFFTdHJpbmcgc291cmNlUGF0aF87XG4gICAgUVN0cmluZyBvdXRwdXRQYXRoXztcbiAgICBRU3RyaW5nIHNlbGVjdGVkQm9hcmRfO1xuICAgIFFTdHJpbmcgc2VsZWN0ZWRQbGF0Zm9ybV87XG4gICAgUVJhZGlvQnV0dG9uICpyb290ZnNCdXR0b25fID0gbnVsbHB0cjtcbiAgICBRUmFkaW9CdXR0b24gKmltYWdlQnV0dG9uXyA9IG51bGxwdHI7XG4gICAgUVJhZGlvQnV0dG9uICpkcml2ZU91dHB1dEJ1dHRvbl8gPSBudWxscHRyO1xuICAgIFFSYWRpb0J1dHRvbiAqZmlsZU91dHB1dEJ1dHRvbl8gPSBudWxscHRyO1xuICAgIFFMYWJlbCAqc291cmNlTGFiZWxfID0gbnVsbHB0cjtcbiAgICBRTGFiZWwgKnNvdXJjZUhpbnRfID0gbnVsbHB0cjtcbiAgICBRTGFiZWwgKmJvYXJkTGFiZWxfID0gbnVsbHB0cjtcbiAgICBRTGFiZWwgKmJvYXJkSGludF8gPSBudWxscHRyO1xuICAgIFFMYWJlbCAqb3V0cHV0TGFiZWxfID0gbnVsbHB0cjtcbiAgICBRV2lkZ2V0ICpkcml2ZVJvd18gPSBudWxscHRyO1xuICAgIFFXaWRnZXQgKmZpbGVSb3dfID0gbnVsbHB0cjtcbiAgICBRQ29tYm9Cb3ggKmRyaXZlQm94XyA9IG51bGxwdHI7XG4gICAgUVB1c2hCdXR0b24gKndyaXRlQnV0dG9uXyA9IG51bGxwdHI7XG59O1xuXG59IC8vIG5hbWVzcGFjZVxuXG5leHRlcm4gXCJDXCIgaW50IHJ1bl9xdF9hcHAoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpib2FyZHMsIGNvbnN0IGNoYXIgKmRyaXZlcykge1xuICAgIFFBcHBsaWNhdGlvbiBhcHAoYXJnYywgYXJndik7XG4gICAgUUNvcmVBcHBsaWNhdGlvbjo6c2V0QXBwbGljYXRpb25OYW1lKFFTdHJpbmdMaXRlcmFsKFwiQUxUIEltYWdlIFdyaXRlclwiKSk7XG4gICAgUUNvcmVBcHBsaWNhdGlvbjo6c2V0T3JnYW5pemF0aW9uTmFtZShRU3RyaW5nTGl0ZXJhbChcIkFMVCBMaW51eFwiKSk7XG4gICAgUUFwcGxpY2F0aW9uOjpzZXRXaW5kb3dJY29uKFFBcHBsaWNhdGlvbjo6c3R5bGUoKS0+c3RhbmRhcmRJY29uKFFTdHlsZTo6U1BfRHJpdmVIREljb24pKTtcbiAgICBNYWluV2luZG93IHdpbmRvdyhRU3RyaW5nOjpmcm9tVXRmOChib2FyZHMpLCBRU3RyaW5nOjpmcm9tVXRmOChkcml2ZXMpKTtcbiAgICB3aW5kb3cuc2hvdygpO1xuICAgIHJldHVybiBhcHAuZXhlYygpO1xufVxuIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjozNzIsIm91dHB1dCI6NDQxMCwiY2FjaGVSZWFkIjo2NDAwMCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxMCwidG90YWxUb2tlbnMiOjY4NzgyLCJjb3N0Ijp7ImlucHV0IjowLjAwMTg2LCJvdXRwdXQiOjAuMTMyMywiY2FjaGVSZWFkIjowLjAzMiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMTY2MTZ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTQ5NDQzNTEsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkYzgwYjczMDgxOTE5MDBkNTRhNmQ1NGZmZDQ2In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjRjY2UwNmZhIiwicGFyZW50SWQiOiJmZjQ5NDMwOCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTc6MDcuMjAwWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9YcmhYNEhPVVp0WHpybndOTjdndDRCU2t8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRjODQzYTA0ODE5MWFhMGUzNzI1NDYyYzAwNTUiLCJ0b29sTmFtZSI6IndyaXRlIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHdyb3RlIDE2Mzc0IGJ5dGVzIHRvIGNyYXRlcy9mbGFzaGVyLXF0L3NyYy91aS5jcHAifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTUwMjcyMDB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxODVlZGY4OSIsInBhcmVudElkIjoiNGNjZTA2ZmEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU3OjI2LjgzMloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqQ29tcGxldGluZyBRdDUgaW5jbHVkZXMgYW5kIHNpZ25hbCBzZXR1cCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRjZDRlNGE0ODE5MTlhMWVkZTcyMzJmZTFlMmRcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk56WWZGZWRTY1lOb0ZveUlLcGgyZWgxcmZQUl9EY3R3Wm03eFE4c19reXNSLWR1ZDBpdEFzNU5sdjh0Y1NlN3pMdFNqWUJ6T2poQ09hcTh0aUpMTG1hdkRoLUdNYkpzOVFTaFZjWWVnbGJlZ25RWTZmYW9jWi1sMkJqVWFzNGcwMDlqZlkxOWVKZmc1UmFmMEhpQWg3TGJnMElxN0hjNkg2VHNkVmFtRnNJNWNIa19XdjFIOVVobldhZ3NnazFzTEJsY2s3VUlPTHdtMU9heGt3UlNXZmQ1SjFodEt0ZnV3cDF4cWJzbkJNeFJETGZKampqWVlVanUxUFlYSG8wYXFZd2psbXN4TUYzTFh2NXlyY2pFOGsxRkhjWDZTVzF1bWZXWDFfWTE1OEM3NnJGaHhENjZlUTV3TkZKdVZkcWJENktzeGxlY1E3bWhWS1Z2WkU0TjBsMnhUSnVUMnpGWU4xUTlORHAycGJHQUlMVHlxOTdmSklzR19iVE13UWNHM0dueEhBbURaWklpRldIM1RXakYtYWx5QWZQT2pYNDlSQVl0Qk1UelhVdWpYb3J1OEdmMHhZQjV3YVZVWV9vWC1SNnI5bm9jcFNydTk5ckdNSHp1YzU2d09IZXdWUEpHM21IQWVTQVQtLVVNcy1rd2p5bE1HeUo0T0hqWXFtYzVHdkxhd0V0QXNWQTk5dW1Nbkt0eTNWRjk4dE1OWEdtbFFrS3RmTmZmeXFRMmUzbkZRZGVpZmVLVk9oY1ZmTXBjMERkdHpjUWRkdk0xT0Vib0JhZFg2c3RiWlRhLUdxb1dab3JXczFWRDZobFNoanNDcHVpM1pCRmxYbU1TRGlDTVFfYzZzUnRPRzZKT1U1V0lPXzJ4RjMwWVhKaUFyZ01wTnRMTnpzSFRQM25NS1MwMnNTdkpFMEROblRraUNqLWlTUXpnUGlKbzNxeHhkWDI0cGdiWG9tYUZscF9OYVpic0JfYXdSUzRUempuYzdBaDRWSG5LNWZ1d1p2dUYwV1JaZF8tanFWSGRsTHM1R3NOQ0FqMG9TcjBua3RGT2hGdHFpTzgtNlozSk5Rb1QwTXA5X2J6NVBhQ0IxdWxMc085M1dTWWN2Ty0tbzVheGVGZmc2c3ByY2J6MGNrSWs0V3hwLTYtY2RzS3EtaHNXbmdXRGFTeWhwYnBaLWpnVEo5SnZHZEE5dlhwemRpRkRUaEtsUm5uWUE5dmpheDgyMFRrTEFMbHk5OU1uc0JmRjZyZVR4dWRLWTQybERDOVdUMDBubmlURkNxWkdzSDBQRk5mdnlMYzgtWEFJdW1GRl9jeFBEWXAtV3VJUjVrdklGeG5YMmhOeWhYa3BoVGc0dnZvMlFWTENJVEFPUnZYdWJiTGVnUUwzZ0dpTWp5TkN4aWYySHdNQlpMTGp6WjZ0bjlsclA0ZV9mNVhoUlo3TTVIbUJVMS01Uk1CVFlWbUZCcmV5Y3pmUW41cmoxcVVrdzRab2pENVhoTG1lblhLTDV6cXc1RFQ2bkZsdU5FTjVUVTBmWjBNWW1IYTJjUTRYcDF1VzBpRm9fbkR0QmxiamIzcVBmZnloU2ZXU0k1cm94ajhQNG1jTEd1cnRmbGpkVkptYTc0STBhMFpFcUFfN0pFVEVCVzBDYjB2Y25paFhoS0RQeWxFOHlXOEFCTnRfSUhRRlFyWmtOa0tqU3VJQ3hGM1ZRdWFJYkJJaGIza09uMzF1azJBN2lPMzhiYzJMU2dobG8tU3B3MU0yZE43Rkc5RTlKcXZid2hDOGgyMi00Tlh1QV9VM25XUGpKTnNrSUFIT2hWN0dQNTFPNlFQVG5yanYyckxLa1pPSkJ4YngwSmM2WUo2SFFERGJBd2F0dmltXzdLVXR4WFFuMmo4Sk5Sa3hsREpSWjdFcFRUSUNmdGdTQUZZM2pSLU5uOUsxTi1ybk13Z1hyRUFsdVdLb0FPRV82bTdpSmtOdnZLdkpMRmdEVWZVR3AzOXZ4OHlHS3d0Rnp1aHIwaFpjTC0zNDU2S1RrYlhZbU9HVlpjNGhGQkpJQTcxVXFCdjZkd2xsZ3RxaU4yTFRISWNFWEE9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqQ29tcGxldGluZyBRdDUgaW5jbHVkZXMgYW5kIHNpZ25hbCBzZXR1cCoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9TWEdRRjRQOGpQOUJzY2hlRk9aTjFjZTB8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRjZDgzODkwODE5MTlmODU3MmY2MjYzOTEwZGEiLCJuYW1lIjoid3JpdGUiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L3NyYy9tYWluLnJzIiwiY29udGVudCI6InVzZSBzdGQ6OntcbiAgICBlbnYsXG4gICAgZmZpOjpDU3RyaW5nLFxuICAgIGZzLFxuICAgIG9zOjpyYXc6OntjX2NoYXIsIGNfaW50fSxcbn07XG5cbmNvbnN0IEJPQVJEUzogJnN0ciA9IGluY2x1ZGVfc3RyIShcIi4uLy4uLy4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL1NVUFBPUlRFRC1CT0FSRFNcIik7XG5cbnVuc2FmZSBleHRlcm4gXCJDXCIge1xuICAgIGZuIHJ1bl9xdF9hcHAoXG4gICAgICAgIGFyZ2M6IGNfaW50LFxuICAgICAgICBhcmd2OiAqbXV0ICptdXQgY19jaGFyLFxuICAgICAgICBib2FyZHM6ICpjb25zdCBjX2NoYXIsXG4gICAgICAgIGRyaXZlczogKmNvbnN0IGNfY2hhcixcbiAgICApIC0+IGNfaW50O1xufVxuXG5mbiBtYWluKCkge1xuICAgIGxldCBhcmd1bWVudHM6IFZlYzxDU3RyaW5nPiA9IGVudjo6YXJncygpXG4gICAgICAgIC5tYXAofGFyZ3wgQ1N0cmluZzo6bmV3KGFyZykuZXhwZWN0KFwiYXBwbGljYXRpb24gYXJndW1lbnQgY29udGFpbnMgYSBOVUwgYnl0ZVwiKSlcbiAgICAgICAgLmNvbGxlY3QoKTtcbiAgICBsZXQgbXV0IGFyZ3VtZW50X3BvaW50ZXJzOiBWZWM8Km11dCBjX2NoYXI+ID0gYXJndW1lbnRzXG4gICAgICAgIC5pdGVyKClcbiAgICAgICAgLm1hcCh8YXJnfCBhcmcuYXNfcHRyKCkuY2FzdF9tdXQoKSlcbiAgICAgICAgLmNvbGxlY3QoKTtcbiAgICBsZXQgYm9hcmRzID0gQ1N0cmluZzo6bmV3KEJPQVJEUykuZXhwZWN0KFwiYm9hcmQgbGlzdCBjb250YWlucyBhIE5VTCBieXRlXCIpO1xuICAgIGxldCBkcml2ZXMgPSBDU3RyaW5nOjpuZXcoYXZhaWxhYmxlX2RyaXZlcygpLmpvaW4oXCJcXG5cIikpXG4gICAgICAgIC5leHBlY3QoXCJkcml2ZSBkZXNjcmlwdGlvbiBjb250YWlucyBhIE5VTCBieXRlXCIpO1xuXG4gICAgLy8gUUFwcGxpY2F0aW9uIG9ubHkgYm9ycm93cyBhcmd2IGFuZCB0aGUgdHdvIHN0cmluZ3MgZm9yIHRoZSBkdXJhdGlvbiBvZlxuICAgIC8vIHRoaXMgY2FsbDsgYWxsIGJhY2tpbmcgQ1N0cmluZ3MgcmVtYWluIGFsaXZlIHVudGlsIHRoZSBldmVudCBsb29wIGV4aXRzLlxuICAgIHVuc2FmZSB7XG4gICAgICAgIHJ1bl9xdF9hcHAoXG4gICAgICAgICAgICBhcmd1bWVudF9wb2ludGVycy5sZW4oKSBhcyBjX2ludCxcbiAgICAgICAgICAgIGFyZ3VtZW50X3BvaW50ZXJzLmFzX211dF9wdHIoKSxcbiAgICAgICAgICAgIGJvYXJkcy5hc19wdHIoKSxcbiAgICAgICAgICAgIGRyaXZlcy5hc19wdHIoKSxcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbmZuIGF2YWlsYWJsZV9kcml2ZXMoKSAtPiBWZWM8U3RyaW5nPiB7XG4gICAgbGV0IG11dCBkcml2ZXMgPSBWZWM6Om5ldygpO1xuICAgIGxldCBPayhlbnRyaWVzKSA9IGZzOjpyZWFkX2RpcihcIi9zeXMvYmxvY2tcIikgZWxzZSB7XG4gICAgICAgIHJldHVybiBkcml2ZXM7XG4gICAgfTtcblxuICAgIGZvciBlbnRyeSBpbiBlbnRyaWVzLmZsYXR0ZW4oKSB7XG4gICAgICAgIGxldCBuYW1lID0gZW50cnkuZmlsZV9uYW1lKCkudG9fc3RyaW5nX2xvc3N5KCkuaW50b19vd25lZCgpO1xuICAgICAgICBpZiBuYW1lLnN0YXJ0c193aXRoKFwibG9vcFwiKSB8fCBuYW1lLnN0YXJ0c193aXRoKFwicmFtXCIpIHx8IG5hbWUuc3RhcnRzX3dpdGgoXCJ6cmFtXCIpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGxldCByZW1vdmFibGUgPSBmczo6cmVhZF90b19zdHJpbmcoZW50cnkucGF0aCgpLmpvaW4oXCJyZW1vdmFibGVcIikpXG4gICAgICAgICAgICAubWFwKHx2YWx1ZXwgdmFsdWUudHJpbSgpID09IFwiMVwiKVxuICAgICAgICAgICAgLnVud3JhcF9vcihmYWxzZSk7XG4gICAgICAgIGlmICFyZW1vdmFibGUgJiYgIW5hbWUuc3RhcnRzX3dpdGgoXCJtbWNibGtcIikge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgc2VjdG9ycyA9IGZzOjpyZWFkX3RvX3N0cmluZyhlbnRyeS5wYXRoKCkuam9pbihcInNpemVcIikpXG4gICAgICAgICAgICAub2soKVxuICAgICAgICAgICAgLmFuZF90aGVuKHx2YWx1ZXwgdmFsdWUudHJpbSgpLnBhcnNlOjo8dTY0PigpLm9rKCkpXG4gICAgICAgICAgICAudW53cmFwX29yKDApO1xuICAgICAgICBsZXQgbW9kZWwgPSBmczo6cmVhZF90b19zdHJpbmcoZW50cnkucGF0aCgpLmpvaW4oXCJkZXZpY2UvbW9kZWxcIikpXG4gICAgICAgICAgICAudW53cmFwX29yX2RlZmF1bHQoKVxuICAgICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgICAgLnRvX293bmVkKCk7XG4gICAgICAgIGxldCBkZXNjcmlwdGlvbiA9IGlmIG1vZGVsLmlzX2VtcHR5KCkge1xuICAgICAgICAgICAgZm9ybWF0IShcIi9kZXYve25hbWV9XCIpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtb2RlbFxuICAgICAgICB9O1xuICAgICAgICBkcml2ZXMucHVzaChmb3JtYXQhKFxuICAgICAgICAgICAgXCJ7ZGVzY3JpcHRpb259ICDCtyAge30gIMK3ICAvZGV2L3tuYW1lfVwiLFxuICAgICAgICAgICAgZm9ybWF0X3NpemUoc2VjdG9ycy5zYXR1cmF0aW5nX211bCg1MTIpKVxuICAgICAgICApKTtcbiAgICB9XG4gICAgZHJpdmVzLnNvcnQoKTtcbiAgICBkcml2ZXNcbn1cblxuZm4gZm9ybWF0X3NpemUoYnl0ZXM6IHU2NCkgLT4gU3RyaW5nIHtcbiAgICBjb25zdCBHSUI6IGY2NCA9IDEwMjQuMCAqIDEwMjQuMCAqIDEwMjQuMDtcbiAgICBjb25zdCBNSUI6IGY2NCA9IDEwMjQuMCAqIDEwMjQuMDtcbiAgICBpZiBieXRlcyBhcyBmNjQgPj0gR0lCIHtcbiAgICAgICAgZm9ybWF0IShcIns6LjF9IEdCXCIsIGJ5dGVzIGFzIGY2NCAvIEdJQilcbiAgICB9IGVsc2Uge1xuICAgICAgICBmb3JtYXQhKFwiezouMH0gTUJcIiwgYnl0ZXMgYXMgZjY0IC8gTUlCKVxuICAgIH1cbn1cbiJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6NDgwNywib3V0cHV0Ijo5NzcsImNhY2hlUmVhZCI6NjQwMDAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6OTksInRvdGFsVG9rZW5zIjo2OTc4NCwiY29zdCI6eyJpbnB1dCI6MC4wMjQwMzUsIm91dHB1dCI6MC4wMjkzMSwiY2FjaGVSZWFkIjowLjAzMiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDg1MzQ1fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MDI3MjAyLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGNkMzg5NmM4MTkxYjEwN2RlNTc0NWI2MGNiNiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4YWM4ZDNmMiIsInBhcmVudElkIjoiMTg1ZWRmODkiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU3OjI2LjgzOVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfU1hHUUY0UDhqUDlCc2NoZUZPWk4xY2UwfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkY2Q4Mzg5MDgxOTE5Zjg1NzJmNjI2MzkxMGRhIiwidG9vbE5hbWUiOiJ3cml0ZSIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSB3cm90ZSAyNzQ4IGJ5dGVzIHRvIGNyYXRlcy9mbGFzaGVyLXF0L3NyYy9tYWluLnJzIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MDQ2ODM5fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMjAwY2I0NjEiLCJwYXJlbnRJZCI6IjhhYzhkM2YyIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1NzozNC4zNDRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkRlbGV0aW5nIG9ic29sZXRlIFFNTCBmaWxlcyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRjZThmODYwODE5MTkxZjRjYWYyNjVjMWQzNjVcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk56cEZEaXh2eXZUcTFCNnRuSGZfTHVRSHJZdEY2VFYwOUtJUEp0aUdqcVRoQU5JTzdIRnF3eVJVdVlmN0hpOUlCQXVxOTc3NkhPMHl0Z2JENnc3amp1MnQ2NVppeUxmdW9HMjA1R244WXpHOXlMTUIxejVkUEE3c2hNOFlGRGRNT0dLQkNUNXJIWWFnM2VvQ0xsRUtrdnM3X20wemJwSFhuTTZLMWIzRW5JVlhJV1hMNU5uYW4wN1dFUmJNb0czOU9HZWl1eEZxdk1XaVloaURyaFNFRFQwcDhaMVdBSTl3T285a2Z3Z1B4TnRmeDVBMGZJUmhYZ2xoNXBzT2FxVHVNdG5FbjY2SlNncFlNT1lPR21iRjJxX3BlbGpnWGNORW1lNDJGXzg2bWdQZXk4TFRMbzNUQ0tuenloREVvQW1iNDZwMmNjUmJpOV9xY29pQTJsNTdENHl2YTNKQzFFVXExY1FQaFVuZEY0dS1NMmxXNWROdUpaRDd3Wmk1b3pYcksxaERiSWg0Z0kwVU9MZ2xDcEczeUZjZ19XRGFWQTdVTEdzM2xNaWhYcS1LMTdKcHNTWnplNXBuQ0dOd3RiaGNTWk41OS1Zb0s3WG5pWmh0SktGLTVoUTN4TEdiLU5UTVplNENGZW83OFVGLUY4ZkpSaDlCMlRIc1VySXJtNEdpQW1fZFN1NE1tM3N0MkNJQ1I2bzByQUNwNDZrbjZYdlRweXRTRGpVOGdNRmdIYXY3dFZrVm1xcVpZN1RkbXZvTFVkXzllX3ZiLXI4UEdUSUNoYVlXaTZ5Snc4SFNKcFEzaVd6RndVdWlkcGNfajBOM0hiQWFvTjAwRkpzS05vRW1YZVkwTTZRQlNpQ1NKSTI4akVwYzhfcVVneEh2aFJMZi1yR2tlZE1qU0pTYlVZZHNFYzFaTXFMMFNrTllEcXplMXRwY1ZHTnVWcGNCT1N6UkUxUDRFU241bzhaRXdxU1dsRmRITHBiZG05MDFFbmhxVW9CUmpRLVk4Zy16MDNnMXIzODNvb2hERTNCWkk4TmZKRUR6bmJ6eWVJaVBzUUNjcXdvcnlBYU9RSnRGcVVEYk5IOWR1cjRpLUVqUmp6MXU0QlJkTFl1MEVCR0NlR19ENG5RLTUzVHhtb1lGSzBPaWNLalRWVFRkZ2I5bEt4bDgxNUZYZmFHUmFYNkptSTRZMFp6S1Qyb3JHOEVEdHJUMGNjQzE1aExmUDlJYWtzTHBZYzVBeHdtRmdqSGF3TWk4V214dWt0WjJ5YWFOaGJnRERZSmpSdTZHb1VqTG8xdlpsYkRDRVY4QVhpVXhwNGxUSV9GNzJyRXJHYkJvYTA9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipEZWxldGluZyBvYnNvbGV0ZSBRTUwgZmlsZXMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfVzAzNUJ5M3FFZmdJZVpGcmxwaDRrUzBOfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkY2U5ZTMzODgxOTE4NDAwNDZhOThiNWM1Y2I3IiwibmFtZSI6ImVkaXQiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L3NyYy91aS5jcHAiLCJlZGl0cyI6W3sib2xkVGV4dCI6IiNpbmNsdWRlIDxRQXBwbGljYXRpb24+XG4jaW5jbHVkZSA8UUJ1dHRvbkdyb3VwPlxuI2luY2x1ZGUgPFFDaGVja0JveD5cbiNpbmNsdWRlIDxRQ29tYm9Cb3g+XG4jaW5jbHVkZSA8UURpYWxvZz4iLCJuZXdUZXh0IjoiI2luY2x1ZGUgPFFBY3Rpb24+XG4jaW5jbHVkZSA8UUFwcGxpY2F0aW9uPlxuI2luY2x1ZGUgPFFDaGVja0JveD5cbiNpbmNsdWRlIDxRQ29tYm9Cb3g+XG4jaW5jbHVkZSA8UURpYWxvZz4ifSx7Im9sZFRleHQiOiIjaW5jbHVkZSA8UUZpbGVEaWFsb2c+XG4jaW5jbHVkZSA8UUZvcm1MYXlvdXQ+XG4jaW5jbHVkZSA8UUZyYW1lPiIsIm5ld1RleHQiOiIjaW5jbHVkZSA8UUZpbGVEaWFsb2c+XG4jaW5jbHVkZSA8UUZpbGVJbmZvPlxuI2luY2x1ZGUgPFFGb250PlxuI2luY2x1ZGUgPFFGb3JtTGF5b3V0PlxuI2luY2x1ZGUgPFFGcmFtZT4ifSx7Im9sZFRleHQiOiIjaW5jbHVkZSA8UU1haW5XaW5kb3c+XG4jaW5jbHVkZSA8UU1lbnVCYXI+XG4jaW5jbHVkZSA8UU1lc3NhZ2VCb3g+IiwibmV3VGV4dCI6IiNpbmNsdWRlIDxRTWFpbldpbmRvdz5cbiNpbmNsdWRlIDxRTWFwPlxuI2luY2x1ZGUgPFFNZW51QmFyPlxuI2luY2x1ZGUgPFFNZXNzYWdlQm94PlxuI2luY2x1ZGUgPFFQYWxldHRlPiJ9LHsib2xkVGV4dCI6IiNpbmNsdWRlIDxRUmFkaW9CdXR0b24+XG4jaW5jbHVkZSA8UVNjcm9sbEFyZWE+IiwibmV3VGV4dCI6IiNpbmNsdWRlIDxRUmFkaW9CdXR0b24+XG4jaW5jbHVkZSA8UVJlZ0V4cD5cbiNpbmNsdWRlIDxRU2Nyb2xsQXJlYT4ifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTcxMywib3V0cHV0IjoyODksImNhY2hlUmVhZCI6NjgwOTYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTgsInRvdGFsVG9rZW5zIjo3MDA5OCwiY29zdCI6eyJpbnB1dCI6MC4wMDg1NjUwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDg2NywiY2FjaGVSZWFkIjowLjAzNDA0OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDUxMjgzfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MDQ2ODQyLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGNlNzNhOGM4MTkxODE1ZWM3MzQ3MTRlMzBiNSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4MTIyY2RhNSIsInBhcmVudElkIjoiMjAwY2I0NjEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU3OjM0LjM1MloiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfVzAzNUJ5M3FFZmdJZVpGcmxwaDRrUzBOfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkY2U5ZTMzODgxOTE4NDAwNDZhOThiNWM1Y2I3IiwidG9vbE5hbWUiOiJlZGl0IiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHJlcGxhY2VkIDQgYmxvY2socykgaW4gY3JhdGVzL2ZsYXNoZXItcXQvc3JjL3VpLmNwcC4ifV0sImRldGFpbHMiOnsiZGlmZiI6IisgIDEgI2luY2x1ZGUgPFFBY3Rpb24+XG4gICAxICNpbmNsdWRlIDxRQXBwbGljYXRpb24+XG4tICAyICNpbmNsdWRlIDxRQnV0dG9uR3JvdXA+XG4gICAzICNpbmNsdWRlIDxRQ2hlY2tCb3g+XG4gICA0ICNpbmNsdWRlIDxRQ29tYm9Cb3g+XG4gICA1ICNpbmNsdWRlIDxRRGlhbG9nPlxuICAgNiAjaW5jbHVkZSA8UURpYWxvZ0J1dHRvbkJveD5cbiAgIDcgI2luY2x1ZGUgPFFGaWxlRGlhbG9nPlxuKyAgOCAjaW5jbHVkZSA8UUZpbGVJbmZvPlxuKyAgOSAjaW5jbHVkZSA8UUZvbnQ+XG4gICA4ICNpbmNsdWRlIDxRRm9ybUxheW91dD5cbiAgIDkgI2luY2x1ZGUgPFFGcmFtZT5cbiAgMTAgI2luY2x1ZGUgPFFHcm91cEJveD5cbiAgMTEgI2luY2x1ZGUgPFFIQm94TGF5b3V0PlxuICAxMiAjaW5jbHVkZSA8UUxhYmVsPlxuICAxMyAjaW5jbHVkZSA8UUxpbmVFZGl0PlxuICAxNCAjaW5jbHVkZSA8UU1haW5XaW5kb3c+XG4rIDE3ICNpbmNsdWRlIDxRTWFwPlxuICAxNSAjaW5jbHVkZSA8UU1lbnVCYXI+XG4gIDE2ICNpbmNsdWRlIDxRTWVzc2FnZUJveD5cbisgMjAgI2luY2x1ZGUgPFFQYWxldHRlPlxuICAxNyAjaW5jbHVkZSA8UVB1c2hCdXR0b24+XG4gIDE4ICNpbmNsdWRlIDxRUmFkaW9CdXR0b24+XG4rIDIzICNpbmNsdWRlIDxRUmVnRXhwPlxuICAxOSAjaW5jbHVkZSA8UVNjcm9sbEFyZWE+XG4gIDIwICNpbmNsdWRlIDxRU3RhdHVzQmFyPlxuICAyMSAjaW5jbHVkZSA8UVN0eWxlPlxuICAyMiAjaW5jbHVkZSA8UVRyZWVXaWRnZXQ+XG4gICAgIC4uLiIsInBhdGNoIjoiLS0tIGNyYXRlcy9mbGFzaGVyLXF0L3NyYy91aS5jcHBcbisrKyBjcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwXG5AQCAtMSwyMiArMSwyNyBAQFxuKyNpbmNsdWRlIDxRQWN0aW9uPlxuICNpbmNsdWRlIDxRQXBwbGljYXRpb24+XG4tI2luY2x1ZGUgPFFCdXR0b25Hcm91cD5cbiAjaW5jbHVkZSA8UUNoZWNrQm94PlxuICNpbmNsdWRlIDxRQ29tYm9Cb3g+XG4gI2luY2x1ZGUgPFFEaWFsb2c+XG4gI2luY2x1ZGUgPFFEaWFsb2dCdXR0b25Cb3g+XG4gI2luY2x1ZGUgPFFGaWxlRGlhbG9nPlxuKyNpbmNsdWRlIDxRRmlsZUluZm8+XG4rI2luY2x1ZGUgPFFGb250PlxuICNpbmNsdWRlIDxRRm9ybUxheW91dD5cbiAjaW5jbHVkZSA8UUZyYW1lPlxuICNpbmNsdWRlIDxRR3JvdXBCb3g+XG4gI2luY2x1ZGUgPFFIQm94TGF5b3V0PlxuICNpbmNsdWRlIDxRTGFiZWw+XG4gI2luY2x1ZGUgPFFMaW5lRWRpdD5cbiAjaW5jbHVkZSA8UU1haW5XaW5kb3c+XG4rI2luY2x1ZGUgPFFNYXA+XG4gI2luY2x1ZGUgPFFNZW51QmFyPlxuICNpbmNsdWRlIDxRTWVzc2FnZUJveD5cbisjaW5jbHVkZSA8UVBhbGV0dGU+XG4gI2luY2x1ZGUgPFFQdXNoQnV0dG9uPlxuICNpbmNsdWRlIDxRUmFkaW9CdXR0b24+XG4rI2luY2x1ZGUgPFFSZWdFeHA+XG4gI2luY2x1ZGUgPFFTY3JvbGxBcmVhPlxuICNpbmNsdWRlIDxRU3RhdHVzQmFyPlxuICNpbmNsdWRlIDxRU3R5bGU+XG4gI2luY2x1ZGUgPFFUcmVlV2lkZ2V0PlxuIiwiZmlyc3RDaGFuZ2VkTGluZSI6MX0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTUwNTQzNTJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3ZGRlNjI2MCIsInBhcmVudElkIjoiODEyMmNkYTUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU3OjQxLjQxNVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfN0wySVU0MDVMWXFMemtGazRMdHFCSkE4fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkY2YzZjVkMDgxOTFiMDUyY2ZkYTk0ZTE5NzA0IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJtIC1yZiBjcmF0ZXMvZmxhc2hlci1xdC9xbWxcbmNhcmdvIHVwZGF0ZSAtcCBxbWV0YW9iamVjdCAtLXByZWNpc2UgMC4yLjEwIDI+L2Rldi9udWxsIHx8IHRydWVcbmNhcmdvIG1ldGFkYXRhIC0tbm8tZGVwcyAtLWZvcm1hdC12ZXJzaW9uIDEgPi9kZXYvbnVsbFxuY2FyZ28gY2hlY2sgLXAgZmxhc2hlci1xdCIsInRpbWVvdXQiOjEyMH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMDA1LCJvdXRwdXQiOjc5LCJjYWNoZVJlYWQiOjY5MTIwLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjAsInRvdGFsVG9rZW5zIjo3MDIwNCwiY29zdCI6eyJpbnB1dCI6MC4wMDUwMjUwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDIzNywiY2FjaGVSZWFkIjowLjAzNDU2LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNDE5NTV9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTUwNTQzNTUsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkY2VlZDAzYzgxOTE5YzliMmEyM2RkZGEyYWFhIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjgwMDg3ZmE2IiwicGFyZW50SWQiOiI3ZGRlNjI2MCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTc6NTcuNDI2WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF83TDJJVTQwNUxZcUx6a0ZrNEx0cUJKQTh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRjZjNmNWQwODE5MWIwNTJjZmRhOTRlMTk3MDQiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICBDb21waWxpbmcgcGtnLWNvbmZpZyB2MC4zLjMzXG4gICBDb21waWxpbmcgZmxhc2hlci1xdCB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvY3JhdGVzL2ZsYXNoZXItcXQpXG4gICAgRmluaXNoZWQgYGRldmAgcHJvZmlsZSBbdW5vcHRpbWl6ZWQgKyBkZWJ1Z2luZm9dIHRhcmdldChzKSBpbiAyLjgxc1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MDc3NDI2fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMzMxYmM4YzMiLCJwYXJlbnRJZCI6IjgwMDg3ZmE2IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1ODowMi41NDdaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlZlcmlmeWluZyBzdWNjZXNzZnVsIFF0IHBhY2thZ2UgZGV0ZWN0aW9uKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGQwN2RhMTA4MTkxOTM2ZWM5MDJkMjZiN2JlOVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjBLbTQwUTJoTzJ2NlZYbVhhdHNqOVYxc0llbmhPWVlrMXM1VG80aVRoLWQ5M0JEWER5WWUzaEJBaURTdEpkYUxRRDhhS2FBRVh0WlNzemNsOFp0VDBlUzAxRmdXdHpQc2pfY1UycWc3UzhjcFZmaUROUzllZEVUN2VlcHM3amJVVzUxNm5adE1zSFQ2UmM1TWFmVkhOZXBPY2RuRWJ2ZGw1UjNPSzBSVXAyeE5GcjUwa3lXcGhUWm9nZGh6TW14UnRZUktFb0FmYkt1bUphMU1EYkZKQ0hWdVBmRy1QX1BCRkx1SWpfOEtUYlNBNlAzbFNJSFU3U3RFLW1rQ0VTM0FDY1pOQVJySmRwb1pqYmlISDAyMzd0dUM1YjN6TUpubkJQdmV3YkdvY1FudUc5RUstWVR2RWdWT045a3lkZVV4TnFQUzRkdjJobWlKMG5BNGppdzJkYVhxWFlHdlo0Z1FVRWdIcWJPRVJIZ3pYc3N0YzJNUzdFcjFiczRPRlB3UGVHaXZMeGd5dnBvNVpPZHQwOUpVNDVUdWI3dnlhNlRaS0NsUVI0ZWwycUo4bzV4NGY3RjJyN1NnV25Fa1dRTVFJV2hmd0FHdm5fQ0xNUXltVVExME1NMFhDREE2T3NPdE9wMFpyZ0Z3cUdtQUpsazJBQ0syYjQxU1JLQk9NVDNiT2JqblhVWFgyZDNpTWVpaGgtQXNSTDY4LTVzTmpIamtYSVhUYnVKSVd3LXhodmExVmlaLVo0dW1xaXl1OUtvcjhQZDN6UmFTT0Y1WDZIOHFrYmFvdTNNNjVCcVNwR2pEYkZvcmRCNHNhQlB4ZUc4MktOVGVCOW13a01fTzN1VlJYbUQ5MDVLUkFOSFpIckNZMFplSk1meWltTUMxVWNMN0cyY3VSMlUtYVlVN2RCQ0hSYUp6UDQzdUtfLUFaTS01cmktTmZxRC1BZ0tmTks0aWZEWnRCZWhvQWhBRWZMdHVGQ0RfYklHV3hYVzkwbUpad0lJNU9tazhiR0dObkh6OE9FcXl5dld1V0JveXRRRi1nRlJfR0s5N3hsRTZxYnlmWWt3X0x0a2g0RXl5eTZmUVFoUndXaFVrR2F6WjJwd01vakhCOVlVMW9TNjV2TVVmSExCVXBqSF9qNkVIeXRoVUpsamstODVWN2pkek1NeERfUTRlbm1oNU1EYmRBM0MwcHdXVjRZOFlGUl9QWTNGamU2OFlnYVphUmJKTGJSRTJxcVE4RkhaWFFFdkdWNW1TMTVPTzVrT0RJRzFnQnFaZWJ6TG5oOFM0bmx2dFRzSVppdWt4NzQ3Z3ktcTBDbEk5aFliY2Z4M1FaUzZuVUtDOXp2YThGdU14c2p1RGhpbFhadEdDT2F1b2tzbVRxdkZsRzlXcW9xckpKVGdPenR6eXA2Qy0zSmtZd1V4c2JGNjRpa0RBX0dOZWNfZnAzS1dNWVdhN0NmeWFsd2ZNR3ZmYVJSVV8taHN4VzR4N0JsV3BPLTRJRTMzWWZtRFRUM0tpQXlfaE94aFd4SEFWUHpsWVJtSW9lVVY2OUwwZFNXU2NjRTBtQ3Zycy1DSDg4ZGszemtQUjFyZjVydkZ5M3VGRGRYb2cwbFJ1LVRoYy1sSGNzdXBvMDZtTlNLUV9mR3hkUHMwc1huajVZVDZwNXNrclU5UjJPNTBSZWJoM0VlbXdySS1JOHFyQ3NHYmdrdTVFX250R2QzRmhZYVhVZlJNMzE3cnkyOGYweVBmYXg3bkhDN1NqSUYweWJDOENvPVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqVmVyaWZ5aW5nIHN1Y2Nlc3NmdWwgUXQgcGFja2FnZSBkZXRlY3Rpb24qKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfWnlnZjA0Sk03RmtIR3kzS2FjM2RvS1ZEfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDBhNDc4ODgxOTFiZDhjMWRiYmM1NmNlYjg4IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGJ1aWxkIiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjExNjAsIm91dHB1dCI6ODgsImNhY2hlUmVhZCI6NjkxMjAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NjMsInRvdGFsVG9rZW5zIjo3MDM2OCwiY29zdCI6eyJpbnB1dCI6MC4wMDU4MDAwMDAwMDAwMDAwMDA1LCJvdXRwdXQiOjAuMDAyNjQsImNhY2hlUmVhZCI6MC4wMzQ1NiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDQzfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MDc3NDI5LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGQwNWQ5OTg4MTkxOTg2NmQyMTUwYTZjMWNjOSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJmZDM5Y2VkNSIsInBhcmVudElkIjoiMzMxYmM4YzMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU4OjA0LjkxM1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfWnlnZjA0Sk03RmtIR3kzS2FjM2RvS1ZEfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDBhNDc4ODgxOTFiZDhjMWRiYmM1NmNlYjg4IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTogaW4gZnVuY3Rpb24gYHN0ZDo6ZW5hYmxlX2lmPFF0UHJpdmF0ZTo6RnVuY3Rpb25Qb2ludGVyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6TWFpbldpbmRvdzo6Y3JlYXRlSGFyZHdhcmUoUVZCb3hMYXlvdXQqKTo6e2xhbWJkYSgpIzF9Pjo6QXJndW1lbnRDb3VudD09KC0xKSwgUU1ldGFPYmplY3Q6OkNvbm5lY3Rpb24+Ojp0eXBlIFFPYmplY3Q6OmNvbm5lY3Q8dm9pZCAoUUFic3RyYWN0QnV0dG9uOjoqKShib29sKSwgKGFub255bW91cyBuYW1lc3BhY2UpOjpNYWluV2luZG93OjpjcmVhdGVIYXJkd2FyZShRVkJveExheW91dCopOjp7bGFtYmRhKCkjMX0+KFF0UHJpdmF0ZTo6RnVuY3Rpb25Qb2ludGVyPHZvaWQgKFFBYnN0cmFjdEJ1dHRvbjo6KikoYm9vbCk+OjpPYmplY3QgY29uc3QqLCB2b2lkIChRQWJzdHJhY3RCdXR0b246OiopKGJvb2wpLCBRT2JqZWN0IGNvbnN0KiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpNYWluV2luZG93OjpjcmVhdGVIYXJkd2FyZShRVkJveExheW91dCopOjp7bGFtYmRhKCkjMX0sIFF0OjpDb25uZWN0aW9uVHlwZSknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FvYmplY3QuaDozNDc6KC50ZXh0Ll9aTjdRT2JqZWN0N2Nvbm5lY3RJTTE1UUFic3RyYWN0QnV0dG9uRnZiRVpOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3cxNGNyZWF0ZUhhcmR3YXJlRVAxMVFWQm94TGF5b3V0RVVsdkVfRUVOU3Q5ZW5hYmxlX2lmSVhlcXNyTjlRdFByaXZhdGUxNUZ1bmN0aW9uUG9pbnRlcklUMF9FRTEzQXJndW1lbnRDb3VudExpbjFFRU4xMVFNZXRhT2JqZWN0MTBDb25uZWN0aW9uRUU0dHlwZUVQS05TQl9JVF9FNk9iamVjdEVTSV9QS1NfU0NfTjJRdDE0Q29ubmVjdGlvblR5cGVFKzB4OWIpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRQWJzdHJhY3RCdXR0b246OnN0YXRpY01ldGFPYmplY3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xb2JqZWN0Lmg6MzQ3OigudGV4dC5fWk43UU9iamVjdDdjb25uZWN0SU0xNVFBYnN0cmFjdEJ1dHRvbkZ2YkVaTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93MTRjcmVhdGVIYXJkd2FyZUVQMTFRVkJveExheW91dEVVbHZFX0VFTlN0OWVuYWJsZV9pZklYZXFzck45UXRQcml2YXRlMTVGdW5jdGlvblBvaW50ZXJJVDBfRUUxM0FyZ3VtZW50Q291bnRMaW4xRUVOMTFRTWV0YU9iamVjdDEwQ29ubmVjdGlvbkVFNHR5cGVFUEtOU0JfSVRfRTZPYmplY3RFU0lfUEtTX1NDX04yUXQxNENvbm5lY3Rpb25UeXBlRSsweGI0KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU9iamVjdDo6Y29ubmVjdEltcGwoUU9iamVjdCBjb25zdCosIHZvaWQqKiwgUU9iamVjdCBjb25zdCosIHZvaWQqKiwgUXRQcml2YXRlOjpRU2xvdE9iamVjdEJhc2UqLCBRdDo6Q29ubmVjdGlvblR5cGUsIGludCBjb25zdCosIFFNZXRhT2JqZWN0IGNvbnN0KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgc3RkOjplbmFibGVfaWY8UXRQcml2YXRlOjpGdW5jdGlvblBvaW50ZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpNYWluV2luZG93OjpjcmVhdGVEZXN0aW5hdGlvbihRVkJveExheW91dCosIFFTdHJpbmcgY29uc3QmKTo6e2xhbWJkYShib29sKSMxfT46OkFyZ3VtZW50Q291bnQ9PSgtMSksIFFNZXRhT2JqZWN0OjpDb25uZWN0aW9uPjo6dHlwZSBRT2JqZWN0Ojpjb25uZWN0PHZvaWQgKFFBYnN0cmFjdEJ1dHRvbjo6KikoYm9vbCksIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6TWFpbldpbmRvdzo6Y3JlYXRlRGVzdGluYXRpb24oUVZCb3hMYXlvdXQqLCBRU3RyaW5nIGNvbnN0Jik6OntsYW1iZGEoYm9vbCkjMX0+KFF0UHJpdmF0ZTo6RnVuY3Rpb25Qb2ludGVyPHZvaWQgKFFBYnN0cmFjdEJ1dHRvbjo6KikoYm9vbCk+OjpPYmplY3QgY29uc3QqLCB2b2lkIChRQWJzdHJhY3RCdXR0b246OiopKGJvb2wpLCBRT2JqZWN0IGNvbnN0KiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpNYWluV2luZG93OjpjcmVhdGVEZXN0aW5hdGlvbihRVkJveExheW91dCosIFFTdHJpbmcgY29uc3QmKTo6e2xhbWJkYShib29sKSMxfSwgUXQ6OkNvbm5lY3Rpb25UeXBlKSc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcW9iamVjdC5oOjM0NzooLnRleHQuX1pON1FPYmplY3Q3Y29ubmVjdElNMTVRQWJzdHJhY3RCdXR0b25GdmJFWk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvdzE3Y3JlYXRlRGVzdGluYXRpb25FUDExUVZCb3hMYXlvdXRSSzdRU3RyaW5nRVVsYkVfRUVOU3Q5ZW5hYmxlX2lmSVhlcXNyTjlRdFByaXZhdGUxNUZ1bmN0aW9uUG9pbnRlcklUMF9FRTEzQXJndW1lbnRDb3VudExpbjFFRU4xMVFNZXRhT2JqZWN0MTBDb25uZWN0aW9uRUU0dHlwZUVQS05TRV9JVF9FNk9iamVjdEVTTF9QS1NfU0ZfTjJRdDE0Q29ubmVjdGlvblR5cGVFKzB4OWIpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRQWJzdHJhY3RCdXR0b246OnN0YXRpY01ldGFPYmplY3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xb2JqZWN0Lmg6MzQ3OigudGV4dC5fWk43UU9iamVjdDdjb25uZWN0SU0xNVFBYnN0cmFjdEJ1dHRvbkZ2YkVaTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93MTdjcmVhdGVEZXN0aW5hdGlvbkVQMTFRVkJveExheW91dFJLN1FTdHJpbmdFVWxiRV9FRU5TdDllbmFibGVfaWZJWGVxc3JOOVF0UHJpdmF0ZTE1RnVuY3Rpb25Qb2ludGVySVQwX0VFMTNBcmd1bWVudENvdW50TGluMUVFTjExUU1ldGFPYmplY3QxMENvbm5lY3Rpb25FRTR0eXBlRVBLTlNFX0lUX0U2T2JqZWN0RVNMX1BLU19TRl9OMlF0MTRDb25uZWN0aW9uVHlwZUUrMHhiNCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFPYmplY3Q6OmNvbm5lY3RJbXBsKFFPYmplY3QgY29uc3QqLCB2b2lkKiosIFFPYmplY3QgY29uc3QqLCB2b2lkKiosIFF0UHJpdmF0ZTo6UVNsb3RPYmplY3RCYXNlKiwgUXQ6OkNvbm5lY3Rpb25UeXBlLCBpbnQgY29uc3QqLCBRTWV0YU9iamVjdCBjb25zdCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTogaW4gZnVuY3Rpb24gYFFTdGF0aWNTdHJpbmdEYXRhPDEzPjo6ZGF0YV9wdHIoKSBjb25zdCc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXN0cmluZ2xpdGVyYWwuaDo5NjooLnRleHQuX1pOSzE3UVN0YXRpY1N0cmluZ0RhdGFJTGkxM0VFOGRhdGFfcHRyRXZbX1pOSzE3UVN0YXRpY1N0cmluZ0RhdGFJTGkxM0VFOGRhdGFfcHRyRXZdKzB4M2EpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxdF9hc3NlcnQoY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTogaW4gZnVuY3Rpb24gYHN0ZDo6ZW5hYmxlX2lmPFF0UHJpdmF0ZTo6RnVuY3Rpb25Qb2ludGVyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6TWFpbldpbmRvdzo6Y3JlYXRlRGVzdGluYXRpb24oUVZCb3hMYXlvdXQqLCBRU3RyaW5nIGNvbnN0Jik6OntsYW1iZGEoKSMxfT46OkFyZ3VtZW50Q291bnQ9PSgtMSksIFFNZXRhT2JqZWN0OjpDb25uZWN0aW9uPjo6dHlwZSBRT2JqZWN0Ojpjb25uZWN0PHZvaWQgKFFBYnN0cmFjdEJ1dHRvbjo6KikoYm9vbCksIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6TWFpbldpbmRvdzo6Y3JlYXRlRGVzdGluYXRpb24oUVZCb3hMYXlvdXQqLCBRU3RyaW5nIGNvbnN0Jik6OntsYW1iZGEoKSMxfT4oUXRQcml2YXRlOjpGdW5jdGlvblBvaW50ZXI8dm9pZCAoUUFic3RyYWN0QnV0dG9uOjoqKShib29sKT46Ok9iamVjdCBjb25zdCosIHZvaWQgKFFBYnN0cmFjdEJ1dHRvbjo6KikoYm9vbCksIFFPYmplY3QgY29uc3QqLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Ok1haW5XaW5kb3c6OmNyZWF0ZURlc3RpbmF0aW9uKFFWQm94TGF5b3V0KiwgUVN0cmluZyBjb25zdCYpOjp7bGFtYmRhKCkjMX0sIFF0OjpDb25uZWN0aW9uVHlwZSknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FvYmplY3QuaDozNDc6KC50ZXh0Ll9aTjdRT2JqZWN0N2Nvbm5lY3RJTTE1UUFic3RyYWN0QnV0dG9uRnZiRVpOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3cxN2NyZWF0ZURlc3RpbmF0aW9uRVAxMVFWQm94TGF5b3V0Uks3UVN0cmluZ0VVbHZFX0VFTlN0OWVuYWJsZV9pZklYZXFzck45UXRQcml2YXRlMTVGdW5jdGlvblBvaW50ZXJJVDBfRUUxM0FyZ3VtZW50Q291bnRMaW4xRUVOMTFRTWV0YU9iamVjdDEwQ29ubmVjdGlvbkVFNHR5cGVFUEtOU0VfSVRfRTZPYmplY3RFU0xfUEtTX1NGX04yUXQxNENvbm5lY3Rpb25UeXBlRSsweDliKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUUFic3RyYWN0QnV0dG9uOjpzdGF0aWNNZXRhT2JqZWN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcW9iamVjdC5oOjM0NzooLnRleHQuX1pON1FPYmplY3Q3Y29ubmVjdElNMTVRQWJzdHJhY3RCdXR0b25GdmJFWk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvdzE3Y3JlYXRlRGVzdGluYXRpb25FUDExUVZCb3hMYXlvdXRSSzdRU3RyaW5nRVVsdkVfRUVOU3Q5ZW5hYmxlX2lmSVhlcXNyTjlRdFByaXZhdGUxNUZ1bmN0aW9uUG9pbnRlcklUMF9FRTEzQXJndW1lbnRDb3VudExpbjFFRU4xMVFNZXRhT2JqZWN0MTBDb25uZWN0aW9uRUU0dHlwZUVQS05TRV9JVF9FNk9iamVjdEVTTF9QS1NfU0ZfTjJRdDE0Q29ubmVjdGlvblR5cGVFKzB4YjQpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRT2JqZWN0Ojpjb25uZWN0SW1wbChRT2JqZWN0IGNvbnN0Kiwgdm9pZCoqLCBRT2JqZWN0IGNvbnN0Kiwgdm9pZCoqLCBRdFByaXZhdGU6OlFTbG90T2JqZWN0QmFzZSosIFF0OjpDb25uZWN0aW9uVHlwZSwgaW50IGNvbnN0KiwgUU1ldGFPYmplY3QgY29uc3QqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6IGluIGZ1bmN0aW9uIGBRU3RhdGljU3RyaW5nRGF0YTw0Pjo6ZGF0YV9wdHIoKSBjb25zdCc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXN0cmluZ2xpdGVyYWwuaDo5NjooLnRleHQuX1pOSzE3UVN0YXRpY1N0cmluZ0RhdGFJTGk0RUU4ZGF0YV9wdHJFdltfWk5LMTdRU3RhdGljU3RyaW5nRGF0YUlMaTRFRThkYXRhX3B0ckV2XSsweDNhKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcXRfYXNzZXJ0KGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiwgaW50KSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6IGluIGZ1bmN0aW9uIGBRU3RyaW5nIFF0UHJpdmF0ZTo6YXJnVG9RU3RyaW5nRGlzcGF0Y2g8UVN0cmluZ1ZpZXcsIFF0UHJpdmF0ZTo6UVN0cmluZ1ZpZXdBcmcsIFF0UHJpdmF0ZTo6UVN0cmluZ1ZpZXdBcmcsIFF0UHJpdmF0ZTo6UVN0cmluZ1ZpZXdBcmc+KFFTdHJpbmdWaWV3LCBRdFByaXZhdGU6OlFTdHJpbmdWaWV3QXJnIGNvbnN0JiwgUXRQcml2YXRlOjpRU3RyaW5nVmlld0FyZyBjb25zdCYsIFF0UHJpdmF0ZTo6UVN0cmluZ1ZpZXdBcmcgY29uc3QmKSc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXN0cmluZy5oOjIxMDg6KC50ZXh0Ll9aTks3UVN0cmluZzNhcmdJSlJTX1MxX1JLU19FRUVOU3Q5ZW5hYmxlX2lmSVhhYWdlc1pUX0xpMkVzclN0N2lzX3NhbWVJTjlRdFByaXZhdGU4Qm9vbExpc3RJSlhzcHNyTlNfMzNpc19jb252ZXJ0aWJsZV90b192aWV3X29yX3FzdHJpbmdJVF9FRTV2YWx1ZUVMYjFFRUVFTlM3X0lKTGIxRVhzcHNyU0FfNXZhbHVlRUVFRUU1dmFsdWVFU19FNHR5cGVFRHBPUzlfW19aTks3UVN0cmluZzNhcmdJSlJTX1MxX1JLU19FRUVOU3Q5ZW5hYmxlX2lmSVhhYWdlc1pUX0xpMkVzclN0N2lzX3NhbWVJTjlRdFByaXZhdGU4Qm9vbExpc3RJSlhzcHNyTlNfMzNpc19jb252ZXJ0aWJsZV90b192aWV3X29yX3FzdHJpbmdJVF9FRTV2YWx1ZUVMYjFFRUVFTlM3X0lKTGIxRVhzcHNyU0FfNXZhbHVlRUVFRUU1dmFsdWVFU19FNHR5cGVFRHBPUzlfXSsweDE2Nik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFF0UHJpdmF0ZTo6YXJnVG9RU3RyaW5nKFFTdHJpbmdWaWV3LCB1bnNpZ25lZCBsb25nLCBRdFByaXZhdGU6OkFyZ0Jhc2UgY29uc3QqKiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUVN0YXRpY1N0cmluZ0RhdGE8MTY+OjpkYXRhX3B0cigpIGNvbnN0JzpcbiAgICAgICAgICAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xc3RyaW5nbGl0ZXJhbC5oOjk2OigudGV4dC5fWk5LMTdRU3RhdGljU3RyaW5nRGF0YUlMaTE2RUU4ZGF0YV9wdHJFdltfWk5LMTdRU3RhdGljU3RyaW5nRGF0YUlMaTE2RUU4ZGF0YV9wdHJFdl0rMHgzYSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHF0X2Fzc2VydChjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGludCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUVN0YXRpY1N0cmluZ0RhdGE8OT46OmRhdGFfcHRyKCkgY29uc3QnOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FzdHJpbmdsaXRlcmFsLmg6OTY6KC50ZXh0Ll9aTksxN1FTdGF0aWNTdHJpbmdEYXRhSUxpOUVFOGRhdGFfcHRyRXZbX1pOSzE3UVN0YXRpY1N0cmluZ0RhdGFJTGk5RUU4ZGF0YV9wdHJFdl0rMHgzYSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHF0X2Fzc2VydChjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGludCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUUxpc3Q8UVN0cmluZz46OmRlYWxsb2MoUUxpc3REYXRhOjpEYXRhKiknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FsaXN0Lmg6OTIzOigudGV4dC5fWk41UUxpc3RJN1FTdHJpbmdFN2RlYWxsb2NFUE45UUxpc3REYXRhNERhdGFFW19aTjVRTGlzdEk3UVN0cmluZ0U3ZGVhbGxvY0VQTjlRTGlzdERhdGE0RGF0YUVdKzB4NWIpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRTGlzdERhdGE6OmRpc3Bvc2UoUUxpc3REYXRhOjpEYXRhKiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUUxpc3Q8UVN0cmluZz46OmRldGFjaF9oZWxwZXJfZ3JvdyhpbnQsIGludCknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FsaXN0Lmg6ODAzOigudGV4dC5fWk41UUxpc3RJN1FTdHJpbmdFMThkZXRhY2hfaGVscGVyX2dyb3dFaWlbX1pONVFMaXN0STdRU3RyaW5nRTE4ZGV0YWNoX2hlbHBlcl9ncm93RWlpXSsweDNiKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUUxpc3REYXRhOjpkZXRhY2hfZ3JvdyhpbnQqLCBpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTogaW4gZnVuY3Rpb24gYGJvb2wgcU1hcExlc3NUaGFuS2V5PFFTdHJpbmc+KFFTdHJpbmcgY29uc3QmLCBRU3RyaW5nIGNvbnN0JiknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FtYXAuaDo2ODooLnRleHQuX1oxNXFNYXBMZXNzVGhhbktleUk3UVN0cmluZ0ViUktUX1MzX1tfWjE1cU1hcExlc3NUaGFuS2V5STdRU3RyaW5nRWJSS1RfUzNfXSsweDIzKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgb3BlcmF0b3I8KFFTdHJpbmcgY29uc3QmLCBRU3RyaW5nIGNvbnN0JiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUVR5cGVkQXJyYXlEYXRhPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6Qm9hcmQ+OjphbGxvY2F0ZSh1bnNpZ25lZCBsb25nLCBRRmxhZ3M8UUFycmF5RGF0YTo6QWxsb2NhdGlvbk9wdGlvbj4pJzpcbiAgICAgICAgICAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xYXJyYXlkYXRhLmg6MjI0OigudGV4dC5fWk4xNVFUeXBlZEFycmF5RGF0YUlOMTJfR0xPQkFMX19OXzE1Qm9hcmRFRThhbGxvY2F0ZUVtNlFGbGFnc0lOMTBRQXJyYXlEYXRhMTZBbGxvY2F0aW9uT3B0aW9uRUUrMHgyNik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFBcnJheURhdGE6OmFsbG9jYXRlKHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIFFGbGFnczxRQXJyYXlEYXRhOjpBbGxvY2F0aW9uT3B0aW9uPiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUU1hcERhdGE8UVN0cmluZywgUVRyZWVXaWRnZXRJdGVtKj46OmRlc3Ryb3koKSc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcW1hcC5oOjI1MDooLnRleHQuX1pOOFFNYXBEYXRhSTdRU3RyaW5nUDE1UVRyZWVXaWRnZXRJdGVtRTdkZXN0cm95RXZbX1pOOFFNYXBEYXRhSTdRU3RyaW5nUDE1UVRyZWVXaWRnZXRJdGVtRTdkZXN0cm95RXZdKzB4NTIpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRTWFwRGF0YUJhc2U6OmZyZWVUcmVlKFFNYXBOb2RlQmFzZSosIGludCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xbWFwLmg6MjUyOigudGV4dC5fWk44UU1hcERhdGFJN1FTdHJpbmdQMTVRVHJlZVdpZGdldEl0ZW1FN2Rlc3Ryb3lFdltfWk44UU1hcERhdGFJN1FTdHJpbmdQMTVRVHJlZVdpZGdldEl0ZW1FN2Rlc3Ryb3lFdl0rMHg1ZSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFNYXBEYXRhQmFzZTo6ZnJlZURhdGEoUU1hcERhdGFCYXNlKiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUVZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkJvYXJkPjo6ZGV0YWNoKCknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3F2ZWN0b3IuaDo0MDc6KC50ZXh0Ll9aTjdRVmVjdG9ySU4xMl9HTE9CQUxfX05fMTVCb2FyZEVFNmRldGFjaEV2KzB4YWMpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxdF9hc3NlcnQoY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTogaW4gZnVuY3Rpb24gYFF0UHJpdmF0ZTo6UVZhcmlhbnRWYWx1ZUhlbHBlcjxRRm9udD46Om1ldGFUeXBlKFFWYXJpYW50IGNvbnN0JiknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3F2YXJpYW50Lmg6NzQzOigudGV4dC5fWk45UXRQcml2YXRlMTlRVmFyaWFudFZhbHVlSGVscGVySTVRRm9udEU4bWV0YVR5cGVFUks4UVZhcmlhbnRbX1pOOVF0UHJpdmF0ZTE5UVZhcmlhbnRWYWx1ZUhlbHBlckk1UUZvbnRFOG1ldGFUeXBlRVJLOFFWYXJpYW50XSsweDMzKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVZhcmlhbnQ6OnVzZXJUeXBlKCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xdmFyaWFudC5oOjc0NDooLnRleHQuX1pOOVF0UHJpdmF0ZTE5UVZhcmlhbnRWYWx1ZUhlbHBlckk1UUZvbnRFOG1ldGFUeXBlRVJLOFFWYXJpYW50W19aTjlRdFByaXZhdGUxOVFWYXJpYW50VmFsdWVIZWxwZXJJNVFGb250RThtZXRhVHlwZUVSSzhRVmFyaWFudF0rMHg0OSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFWYXJpYW50Ojpjb25zdERhdGEoKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3F2YXJpYW50Lmg6NzQ0OigudGV4dC5fWk45UXRQcml2YXRlMTlRVmFyaWFudFZhbHVlSGVscGVySTVRRm9udEU4bWV0YVR5cGVFUks4UVZhcmlhbnRbX1pOOVF0UHJpdmF0ZTE5UVZhcmlhbnRWYWx1ZUhlbHBlckk1UUZvbnRFOG1ldGFUeXBlRVJLOFFWYXJpYW50XSsweDViKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUUZvbnQ6OlFGb250KFFGb250IGNvbnN0JiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xdmFyaWFudC5oOjc0NTooLnRleHQuX1pOOVF0UHJpdmF0ZTE5UVZhcmlhbnRWYWx1ZUhlbHBlckk1UUZvbnRFOG1ldGFUeXBlRVJLOFFWYXJpYW50W19aTjlRdFByaXZhdGUxOVFWYXJpYW50VmFsdWVIZWxwZXJJNVFGb250RThtZXRhVHlwZUVSSzhRVmFyaWFudF0rMHg2Yyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFGb250OjpRRm9udCgpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXZhcmlhbnQuaDo3NDY6KC50ZXh0Ll9aTjlRdFByaXZhdGUxOVFWYXJpYW50VmFsdWVIZWxwZXJJNVFGb250RThtZXRhVHlwZUVSSzhRVmFyaWFudFtfWk45UXRQcml2YXRlMTlRVmFyaWFudFZhbHVlSGVscGVySTVRRm9udEU4bWV0YVR5cGVFUks4UVZhcmlhbnRdKzB4ODEpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRVmFyaWFudDo6Y29udmVydChpbnQsIHZvaWQqKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3F2YXJpYW50Lmg6NzQ3OigudGV4dC5fWk45UXRQcml2YXRlMTlRVmFyaWFudFZhbHVlSGVscGVySTVRRm9udEU4bWV0YVR5cGVFUks4UVZhcmlhbnRbX1pOOVF0UHJpdmF0ZTE5UVZhcmlhbnRWYWx1ZUhlbHBlckk1UUZvbnRFOG1ldGFUeXBlRVJLOFFWYXJpYW50XSsweDk4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUUZvbnQ6OlFGb250KFFGb250IGNvbnN0JiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xdmFyaWFudC5oOjc0ODooLnRleHQuX1pOOVF0UHJpdmF0ZTE5UVZhcmlhbnRWYWx1ZUhlbHBlckk1UUZvbnRFOG1ldGFUeXBlRVJLOFFWYXJpYW50W19aTjlRdFByaXZhdGUxOVFWYXJpYW50VmFsdWVIZWxwZXJJNVFGb250RThtZXRhVHlwZUVSSzhRVmFyaWFudF0rMHhhNik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFGb250OjpRRm9udCgpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXZhcmlhbnQuaDo3NDk6KC50ZXh0Ll9aTjlRdFByaXZhdGUxOVFWYXJpYW50VmFsdWVIZWxwZXJJNVFGb250RThtZXRhVHlwZUVSSzhRVmFyaWFudFtfWk45UXRQcml2YXRlMTlRVmFyaWFudFZhbHVlSGVscGVySTVRRm9udEU4bWV0YVR5cGVFUks4UVZhcmlhbnRdKzB4YjIpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRm9udDo6flFGb250KCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xdmFyaWFudC5oOjc0OTooLnRleHQuX1pOOVF0UHJpdmF0ZTE5UVZhcmlhbnRWYWx1ZUhlbHBlckk1UUZvbnRFOG1ldGFUeXBlRVJLOFFWYXJpYW50W19aTjlRdFByaXZhdGUxOVFWYXJpYW50VmFsdWVIZWxwZXJJNVFGb250RThtZXRhVHlwZUVSSzhRVmFyaWFudF0rMHhjNyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFGb250Ojp+UUZvbnQoKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6IGluIGZ1bmN0aW9uIGBRVHlwZWRBcnJheURhdGE8KGFub255bW91cyBuYW1lc3BhY2UpOjpCb2FyZD46OmRlYWxsb2NhdGUoUUFycmF5RGF0YSopJzpcbiAgICAgICAgICAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xYXJyYXlkYXRhLmg6MjM5OigudGV4dC5fWk4xNVFUeXBlZEFycmF5RGF0YUlOMTJfR0xPQkFMX19OXzE1Qm9hcmRFRTEwZGVhbGxvY2F0ZUVQMTBRQXJyYXlEYXRhKzB4MWUpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRQXJyYXlEYXRhOjpkZWFsbG9jYXRlKFFBcnJheURhdGEqLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6IGluIGZ1bmN0aW9uIGBRVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6Qm9hcmQ+OjpyZWFsbG9jKGludCwgUUZsYWdzPFFBcnJheURhdGE6OkFsbG9jYXRpb25PcHRpb24+KSc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXZlY3Rvci5oOjY5MjooLnRleHQuX1pON1FWZWN0b3JJTjEyX0dMT0JBTF9fTl8xNUJvYXJkRUU3cmVhbGxvY0VpNlFGbGFnc0lOMTBRQXJyYXlEYXRhMTZBbGxvY2F0aW9uT3B0aW9uRUUrMHg0Mik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHF0X2Fzc2VydChjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGludCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xdmVjdG9yLmg6NzAwOigudGV4dC5fWk43UVZlY3RvcklOMTJfR0xPQkFMX19OXzE1Qm9hcmRFRTdyZWFsbG9jRWk2UUZsYWdzSU4xMFFBcnJheURhdGExNkFsbG9jYXRpb25PcHRpb25FRSsweDgxKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcUJhZEFsbG9jKCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xdmVjdG9yLmg6NzAzOigudGV4dC5fWk43UVZlY3RvcklOMTJfR0xPQkFMX19OXzE1Qm9hcmRFRTdyZWFsbG9jRWk2UUZsYWdzSU4xMFFBcnJheURhdGExNkFsbG9jYXRpb25PcHRpb25FRSsweGM0KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcXRfYXNzZXJ0KGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiwgaW50KSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3F2ZWN0b3IuaDo3MDU6KC50ZXh0Ll9aTjdRVmVjdG9ySU4xMl9HTE9CQUxfX05fMTVCb2FyZEVFN3JlYWxsb2NFaTZRRmxhZ3NJTjEwUUFycmF5RGF0YTE2QWxsb2NhdGlvbk9wdGlvbkVFKzB4ZjUpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxdF9hc3NlcnQoY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXZlY3Rvci5oOjczODooLnRleHQuX1pON1FWZWN0b3JJTjEyX0dMT0JBTF9fTl8xNUJvYXJkRUU3cmVhbGxvY0VpNlFGbGFnc0lOMTBRQXJyYXlEYXRhMTZBbGxvY2F0aW9uT3B0aW9uRUUrMHgyNTMpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxdF9hc3NlcnQoY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXZlY3Rvci5oOjc1MDooLnRleHQuX1pON1FWZWN0b3JJTjEyX0dMT0JBTF9fTl8xNUJvYXJkRUU3cmVhbGxvY0VpNlFGbGFnc0lOMTBRQXJyYXlEYXRhMTZBbGxvY2F0aW9uT3B0aW9uRUUrMHgyYmMpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxdF9hc3NlcnQoY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXZlY3Rvci5oOjc1MTooLnRleHQuX1pON1FWZWN0b3JJTjEyX0dMT0JBTF9fTl8xNUJvYXJkRUU3cmVhbGxvY0VpNlFGbGFnc0lOMTBRQXJyYXlEYXRhMTZBbGxvY2F0aW9uT3B0aW9uRUUrMHgyZjkpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxdF9hc3NlcnQoY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTovdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xdmVjdG9yLmg6NzUzOiBtb3JlIHVuZGVmaW5lZCByZWZlcmVuY2VzIHRvIGBxdF9hc3NlcnQoY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBpbnQpJyBmb2xsb3dcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6IGluIGZ1bmN0aW9uIGBRTWFwPFFTdHJpbmcsIFFUcmVlV2lkZ2V0SXRlbSo+OjpkZXRhY2hfaGVscGVyKCknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FtYXAuaDo5ODI6KC50ZXh0Ll9aTjRRTWFwSTdRU3RyaW5nUDE1UVRyZWVXaWRnZXRJdGVtRTEzZGV0YWNoX2hlbHBlckV2W19aTjRRTWFwSTdRU3RyaW5nUDE1UVRyZWVXaWRnZXRJdGVtRTEzZGV0YWNoX2hlbHBlckV2XSsweGExKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU1hcERhdGFCYXNlOjpyZWNhbGNNb3N0TGVmdE5vZGUoKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6IGluIGZ1bmN0aW9uIGBRTWFwRGF0YTxRU3RyaW5nLCBRVHJlZVdpZGdldEl0ZW0qPjo6Y3JlYXRlTm9kZShRU3RyaW5nIGNvbnN0JiwgUVRyZWVXaWRnZXRJdGVtKiBjb25zdCYsIFFNYXBOb2RlPFFTdHJpbmcsIFFUcmVlV2lkZ2V0SXRlbSo+KiwgYm9vbCknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FtYXAuaDoyMjY6KC50ZXh0Ll9aTjhRTWFwRGF0YUk3UVN0cmluZ1AxNVFUcmVlV2lkZ2V0SXRlbUUxMGNyZWF0ZU5vZGVFUktTMF9SS1MyX1A4UU1hcE5vZGVJUzBfUzJfRWJbX1pOOFFNYXBEYXRhSTdRU3RyaW5nUDE1UVRyZWVXaWRnZXRJdGVtRTEwY3JlYXRlTm9kZUVSS1MwX1JLUzJfUDhRTWFwTm9kZUlTMF9TMl9FYl0rMHg0NSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFNYXBEYXRhQmFzZTo6Y3JlYXRlTm9kZShpbnQsIGludCwgUU1hcE5vZGVCYXNlKiwgYm9vbCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUUxpc3Q8UVN0cmluZz46OnJlc2VydmUoaW50KSc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcWxpc3QuaDo2MTU6KC50ZXh0Ll9aTjVRTGlzdEk3UVN0cmluZ0U3cmVzZXJ2ZUVpW19aTjVRTGlzdEk3UVN0cmluZ0U3cmVzZXJ2ZUVpXSsweDU1KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUUxpc3REYXRhOjpyZWFsbG9jKGludCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUUxpc3Q8UVN0cmluZz46OmRldGFjaF9oZWxwZXIoaW50KSc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcWxpc3QuaDo4MzM6KC50ZXh0Ll9aTjVRTGlzdEk3UVN0cmluZ0UxM2RldGFjaF9oZWxwZXJFaVtfWk41UUxpc3RJN1FTdHJpbmdFMTNkZXRhY2hfaGVscGVyRWldKzB4MzEpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRTGlzdERhdGE6OmRldGFjaChpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTogaW4gZnVuY3Rpb24gYFFNYXBEYXRhPFFTdHJpbmcsIFFUcmVlV2lkZ2V0SXRlbSo+OjpjcmVhdGUoKSc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcW1hcC5oOjI0NDooLnRleHQuX1pOOFFNYXBEYXRhSTdRU3RyaW5nUDE1UVRyZWVXaWRnZXRJdGVtRTZjcmVhdGVFdltfWk44UU1hcERhdGFJN1FTdHJpbmdQMTVRVHJlZVdpZGdldEl0ZW1FNmNyZWF0ZUV2XSsweDkpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRTWFwRGF0YUJhc2U6OmNyZWF0ZURhdGEoKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDEwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU1haW5XaW5kb3c6Om1ldGFPYmplY3QoKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDE4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU1haW5XaW5kb3c6OnF0X21ldGFjYXN0KGNoYXIgY29uc3QqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDIwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU1haW5XaW5kb3c6OnF0X21ldGFjYWxsKFFNZXRhT2JqZWN0OjpDYWxsLCBpbnQsIHZvaWQqKiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgzOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFNYWluV2luZG93OjpldmVudChRRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDQwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU9iamVjdDo6ZXZlbnRGaWx0ZXIoUU9iamVjdCosIFFFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4NDgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRT2JqZWN0Ojp0aW1lckV2ZW50KFFUaW1lckV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHg1MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFPYmplY3Q6OmNoaWxkRXZlbnQoUUNoaWxkRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDU4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU9iamVjdDo6Y3VzdG9tRXZlbnQoUUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHg2MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFPYmplY3Q6OmNvbm5lY3ROb3RpZnkoUU1ldGFNZXRob2QgY29uc3QmKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDY4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU9iamVjdDo6ZGlzY29ubmVjdE5vdGlmeShRTWV0YU1ldGhvZCBjb25zdCYpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4NzApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpkZXZUeXBlKCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHg3OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnNldFZpc2libGUoYm9vbCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHg4MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnNpemVIaW50KCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHg4OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6Om1pbmltdW1TaXplSGludCgpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4OTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpoZWlnaHRGb3JXaWR0aChpbnQpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4OTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpoYXNIZWlnaHRGb3JXaWR0aCgpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4YTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpwYWludEVuZ2luZSgpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4YTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojptb3VzZVByZXNzRXZlbnQoUU1vdXNlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweGIwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6bW91c2VSZWxlYXNlRXZlbnQoUU1vdXNlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweGI4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6bW91c2VEb3VibGVDbGlja0V2ZW50KFFNb3VzZUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHhjMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6Om1vdXNlTW92ZUV2ZW50KFFNb3VzZUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHhjOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OndoZWVsRXZlbnQoUVdoZWVsRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweGQwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6a2V5UHJlc3NFdmVudChRS2V5RXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweGQ4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6a2V5UmVsZWFzZUV2ZW50KFFLZXlFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4ZTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojpmb2N1c0luRXZlbnQoUUZvY3VzRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweGU4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6Zm9jdXNPdXRFdmVudChRRm9jdXNFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4ZjApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjplbnRlckV2ZW50KFFFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4ZjgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpsZWF2ZUV2ZW50KFFFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTAwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6cGFpbnRFdmVudChRUGFpbnRFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTA4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6bW92ZUV2ZW50KFFNb3ZlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDExMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnJlc2l6ZUV2ZW50KFFSZXNpemVFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTE4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6Y2xvc2VFdmVudChRQ2xvc2VFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTIwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU1haW5XaW5kb3c6OmNvbnRleHRNZW51RXZlbnQoUUNvbnRleHRNZW51RXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDEyOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnRhYmxldEV2ZW50KFFUYWJsZXRFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTMwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6YWN0aW9uRXZlbnQoUUFjdGlvbkV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxMzgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpkcmFnRW50ZXJFdmVudChRRHJhZ0VudGVyRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDE0MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OmRyYWdNb3ZlRXZlbnQoUURyYWdNb3ZlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDE0OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OmRyYWdMZWF2ZUV2ZW50KFFEcmFnTGVhdmVFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTUwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6ZHJvcEV2ZW50KFFEcm9wRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDE1OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnNob3dFdmVudChRU2hvd0V2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxNjApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpoaWRlRXZlbnQoUUhpZGVFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTY4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6bmF0aXZlRXZlbnQoUUJ5dGVBcnJheSBjb25zdCYsIHZvaWQqLCBsb25nKiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxNzApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpjaGFuZ2VFdmVudChRRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDE3OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6Om1ldHJpYyhRUGFpbnREZXZpY2U6OlBhaW50RGV2aWNlTWV0cmljKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDE4MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OmluaXRQYWludGVyKFFQYWludGVyKikgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxODgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpyZWRpcmVjdGVkKFFQb2ludCopIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTkwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6c2hhcmVkUGFpbnRlcigpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTk4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6aW5wdXRNZXRob2RFdmVudChRSW5wdXRNZXRob2RFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MWEwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6aW5wdXRNZXRob2RRdWVyeShRdDo6SW5wdXRNZXRob2RRdWVyeSkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxYTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojpmb2N1c05leHRQcmV2Q2hpbGQoYm9vbCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxYjApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRTWFpbldpbmRvdzo6Y3JlYXRlUG9wdXBNZW51KCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxZDgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBub24tdmlydHVhbCB0aHVuayB0byBRV2lkZ2V0OjpkZXZUeXBlKCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxZTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBub24tdmlydHVhbCB0aHVuayB0byBRV2lkZ2V0OjpwYWludEVuZ2luZSgpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MWU4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbm9uLXZpcnR1YWwgdGh1bmsgdG8gUVdpZGdldDo6bWV0cmljKFFQYWludERldmljZTo6UGFpbnREZXZpY2VNZXRyaWMpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MWYwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbm9uLXZpcnR1YWwgdGh1bmsgdG8gUVdpZGdldDo6aW5pdFBhaW50ZXIoUVBhaW50ZXIqKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDFmOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG5vbi12aXJ0dWFsIHRodW5rIHRvIFFXaWRnZXQ6OnJlZGlyZWN0ZWQoUVBvaW50KikgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgyMDApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBub24tdmlydHVhbCB0aHVuayB0byBRV2lkZ2V0OjpzaGFyZWRQYWludGVyKCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjptZXRhT2JqZWN0KCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjpxdF9tZXRhY2FzdChjaGFyIGNvbnN0KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MjApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjpxdF9tZXRhY2FsbChRTWV0YU9iamVjdDo6Q2FsbCwgaW50LCB2b2lkKiopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDM4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6ZXZlbnQoUUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4NDApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjpldmVudEZpbHRlcihRT2JqZWN0KiwgUUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4NDgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRT2JqZWN0Ojp0aW1lckV2ZW50KFFUaW1lckV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4NTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRT2JqZWN0OjpjaGlsZEV2ZW50KFFDaGlsZEV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4NTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRT2JqZWN0OjpjdXN0b21FdmVudChRRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHg2MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFPYmplY3Q6OmNvbm5lY3ROb3RpZnkoUU1ldGFNZXRob2QgY29uc3QmKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHg2OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFPYmplY3Q6OmRpc2Nvbm5lY3ROb3RpZnkoUU1ldGFNZXRob2QgY29uc3QmKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHg3MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OmRldlR5cGUoKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHg3OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFEaWFsb2c6OnNldFZpc2libGUoYm9vbCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4ODApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjpzaXplSGludCgpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDg4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUURpYWxvZzo6bWluaW11bVNpemVIaW50KCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4OTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpoZWlnaHRGb3JXaWR0aChpbnQpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDk4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6aGFzSGVpZ2h0Rm9yV2lkdGgoKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHhhMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnBhaW50RW5naW5lKCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4YTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojptb3VzZVByZXNzRXZlbnQoUU1vdXNlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHhiMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6Om1vdXNlUmVsZWFzZUV2ZW50KFFNb3VzZUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4YjgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojptb3VzZURvdWJsZUNsaWNrRXZlbnQoUU1vdXNlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHhjMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6Om1vdXNlTW92ZUV2ZW50KFFNb3VzZUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4YzgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojp3aGVlbEV2ZW50KFFXaGVlbEV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4ZDApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjprZXlQcmVzc0V2ZW50KFFLZXlFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweGQ4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6a2V5UmVsZWFzZUV2ZW50KFFLZXlFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweGUwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6Zm9jdXNJbkV2ZW50KFFGb2N1c0V2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4ZTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojpmb2N1c091dEV2ZW50KFFGb2N1c0V2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4ZjApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjplbnRlckV2ZW50KFFFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweGY4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6bGVhdmVFdmVudChRRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxMDApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpwYWludEV2ZW50KFFQYWludEV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MTA4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6bW92ZUV2ZW50KFFNb3ZlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxMTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjpyZXNpemVFdmVudChRUmVzaXplRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxMTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjpjbG9zZUV2ZW50KFFDbG9zZUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MTIwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUURpYWxvZzo6Y29udGV4dE1lbnVFdmVudChRQ29udGV4dE1lbnVFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDEyOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnRhYmxldEV2ZW50KFFUYWJsZXRFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDEzMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OmFjdGlvbkV2ZW50KFFBY3Rpb25FdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDEzOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OmRyYWdFbnRlckV2ZW50KFFEcmFnRW50ZXJFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDE0MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OmRyYWdNb3ZlRXZlbnQoUURyYWdNb3ZlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxNDgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpkcmFnTGVhdmVFdmVudChRRHJhZ0xlYXZlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxNTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojpkcm9wRXZlbnQoUURyb3BFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDE1OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFEaWFsb2c6OnNob3dFdmVudChRU2hvd0V2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MTYwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6aGlkZUV2ZW50KFFIaWRlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxNjgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpuYXRpdmVFdmVudChRQnl0ZUFycmF5IGNvbnN0Jiwgdm9pZCosIGxvbmcqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxNzApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpjaGFuZ2VFdmVudChRRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxNzgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjptZXRyaWMoUVBhaW50RGV2aWNlOjpQYWludERldmljZU1ldHJpYykgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MTgwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6aW5pdFBhaW50ZXIoUVBhaW50ZXIqKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxODgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpyZWRpcmVjdGVkKFFQb2ludCopIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDE5MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnNoYXJlZFBhaW50ZXIoKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxOTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjppbnB1dE1ldGhvZEV2ZW50KFFJbnB1dE1ldGhvZEV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MWEwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6aW5wdXRNZXRob2RRdWVyeShRdDo6SW5wdXRNZXRob2RRdWVyeSkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MWE4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6Zm9jdXNOZXh0UHJldkNoaWxkKGJvb2wpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDFiMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFEaWFsb2c6Om9wZW4oKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxYjgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjpleGVjKCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MWMwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUURpYWxvZzo6ZG9uZShpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDFjOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFEaWFsb2c6OmFjY2VwdCgpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDFkMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFEaWFsb2c6OnJlamVjdCgpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDFmOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG5vbi12aXJ0dWFsIHRodW5rIHRvIFFXaWRnZXQ6OmRldlR5cGUoKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgyMDApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBub24tdmlydHVhbCB0aHVuayB0byBRV2lkZ2V0OjpwYWludEVuZ2luZSgpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDIwOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG5vbi12aXJ0dWFsIHRodW5rIHRvIFFXaWRnZXQ6Om1ldHJpYyhRUGFpbnREZXZpY2U6OlBhaW50RGV2aWNlTWV0cmljKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgyMTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBub24tdmlydHVhbCB0aHVuayB0byBRV2lkZ2V0Ojppbml0UGFpbnRlcihRUGFpbnRlciopIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDIxOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG5vbi12aXJ0dWFsIHRodW5rIHRvIFFXaWRnZXQ6OnJlZGlyZWN0ZWQoUVBvaW50KikgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MjIwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbm9uLXZpcnR1YWwgdGh1bmsgdG8gUVdpZGdldDo6c2hhcmVkUGFpbnRlcigpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVElOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB0eXBlaW5mbyBmb3IgUU1haW5XaW5kb3cnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUSU4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB0eXBlaW5mbyBmb3IgUURpYWxvZydcbiAgICAgICAgICBjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXNcbiAgICAgICAgICBcbiAgPSBub3RlOiBzb21lIGBleHRlcm5gIGZ1bmN0aW9ucyBjb3VsZG4ndCBiZSBmb3VuZDsgc29tZSBuYXRpdmUgbGlicmFyaWVzIG1heSBuZWVkIHRvIGJlIGluc3RhbGxlZCBvciBoYXZlIHRoZWlyIHBhdGggc3BlY2lmaWVkXG4gID0gbm90ZTogdXNlIHRoZSBgLWxgIGZsYWcgdG8gc3BlY2lmeSBuYXRpdmUgbGlicmFyaWVzIHRvIGxpbmtcbiAgPSBub3RlOiB1c2UgdGhlIGBjYXJnbzpydXN0Yy1saW5rLWxpYmAgZGlyZWN0aXZlIHRvIHNwZWNpZnkgdGhlIG5hdGl2ZSBsaWJyYXJpZXMgdG8gbGluayB3aXRoIENhcmdvIChzZWUgaHR0cHM6Ly9kb2MucnVzdC1sYW5nLm9yZy9jYXJnby9yZWZlcmVuY2UvYnVpbGQtc2NyaXB0cy5odG1sI3J1c3RjLWxpbmstbGliKVxuXG4gICBDb21waWxpbmcgY2ZnLWV4cHIgdjAuMjAuOFxuZXJyb3I6IGNvdWxkIG5vdCBjb21waWxlIGBmbGFzaGVyLXF0YCAoYmluIFwiZmxhc2hlci1xdFwiKSBkdWUgdG8gMSBwcmV2aW91cyBlcnJvclxud2FybmluZzogYnVpbGQgZmFpbGVkLCB3YWl0aW5nIGZvciBvdGhlciBqb2JzIHRvIGZpbmlzaC4uLlxuXG5bU2hvd2luZyBsaW5lcyA0MTAtNjAxIG9mIDYwMSAoNTAuMEtCIGxpbWl0KS4gRnVsbCBvdXRwdXQ6IC90bXAvLnByaXZhdGUvYWd1c2NoaW4vcGktYmFzaC01MTg2ZTQ4YmRiZTYyNzI0LmxvZ11cblxuQ29tbWFuZCBleGl0ZWQgd2l0aCBjb2RlIDEwMSJ9XSwiZGV0YWlscyI6e30sImlzRXJyb3IiOnRydWUsInRpbWVzdGFtcCI6MTc4NDk5NTA4NDkxM319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImFiOTNlNmY1IiwicGFyZW50SWQiOiJmZDM5Y2VkNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTg6MTcuNTAwWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipGaXhpbmcgUXQgbGlicmFyeSBsaW5rIG9yZGVyIGluIGJ1aWxkIHNjcmlwdCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkMGU5MGNjODE5MWE5MjQwNzMzNjYyOGM4NTdcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk4wU2RLa2pYWVpZQkZ6b0J5bDc2VjNLYTBXTWVYN0MyVDBhWUhJSlg5czJLRk5ieVZKMW9DNHpjTk1yMXowbVNuazZwTjVhdm1YcUtLaENvbm1OcDRkMTQ0QWNVeVgwSFE1MkdJRGtXY0paS1FaRFVYZjFZVENVSDhrUlNvQzZIWF9HRHNJSTJtcUE4UVAyMFcwRE0tM0Z0SkV0bHVlR0FhUlhSSFE5OG1TVkV5WG5yNTJJM1E1bXJtcjVscl80ZURkTE5Wc0VHOTVhSjdRSWRUdXNsUHVodjA2T3Jxd3VnRk9ROFpuR1VWV3lJcGd2MHpWRFdqRHBkZjZtVW5ZNzRoMzFoWjV1dWxwYXAxNHpZbXRhQWRSTDN2RHl4X0wtR1R3aTNUWlFYMkN6QTUybXEwSjZNQVpCSVIyMk5vODFOS0ZqeDJ4dXNXYnR3aHBNbktsekhmXy1McHhtQzFPMmowVllocXozYXRrbGExZ1dTWjFVb1BuYjF0S3JMRHluUWMtQUdRSDQ0OFk0ckhISXQtQWpMdExLYWs5SU9kTXBMbGgyNEhPMTE2bF9lNGFISDFQY1c1czZDdnJSM2dJbHFFem9oanppbmp6WGlLU0hjQVlXbmpwSVVRODBQNnp5dHR5R3FfRVZKb08yeXREZ0NoWWJBZXFjREM3WG41QmJKcFk4dzFjejBnMkNaZ3F6R2NVazhIbS01Ujk0bjVpd0dsQU9pdzNVaFdCb2FjQUNva0xPQm9vNWtsdjVRNlp4dXg4Y18xQ2wyVnJ6MG8wMEZoM0NVSlJ2Ymd1bjdFMGN0LTJ0aURPaVRIc1hFMzBoTE12U2ZsLVZ6cDJuT2JSMVBJQXJGeF9LcVVLdm1GZFd0cmNPNm92U2tSVVdWRFBJQzlGeUlab182US01Z2xGOEozR0Nrc2F0TlhCTTVmWXBma1V1RUJVYzFEUERnZ0FKS3JONUt0c2JjVV80NXRubEd6VXRaaExKbWNzM2FlSkY1LTRaRzJmbXVWdFFjTWRfbHlETFpYR3l2MC01MjEybVdlZkVjWXRsa051a09xclJYbXpNUHJSYzNsOThYNXRBdmd2M094U0RMbG5qRmZKOUFPLS1iQ2RLOFJpcjZDUjVGSEhFQW05OG5MRlh3b3Y5VjBXVkQyX195ZVhZM21GNmluREhyTXFXdEJQNHZUQmhBYXVKTkZQS0NlaktGLXJNLThFMUVJYW9mV0c1WXFfQ0x5QUVLYjVTaTJRWlJRVG5DR3FubGNSakhQNW1EeG9seHVFS1dfTmJ0MVB4NHFQNVk0NFBvaFh4aFJPbHk4OHlBM0RiWW82cWtNSUpGc3lVVENtX3dHaW5sLU93dS1ZQkpHcGZqcU1ZTTJrbkJaSlczcFNrLTdhLTBDOU9PYUNDTjN4dGJXTnM0SkJiSWR1YUlwcHZkQTFWSmJVLXYzdFNHd1JzZUtHejl0dllfeHVZdkp5c1NoX0Z1dXQ4TnBEZTkwbDFxRDlGSjhnR1E5WUx5azRFSm9VSlVMdGJTU3dpeldPV3dOWkZUUl9heXBaVERKc241NThtbUFtbUFXZHpaSEpiaVVDcjdXa1NPSDdQSEhibTZkNFlPenNBclRVYnpFZXNiS2lrQTluZ29RSHpCYnpCNVRuTE8zWFc4aFRLdFhka1pzdXpiOVRLOHVlZV9POEN4bTdQVUtrZkd0SnJ5em1kSklQbUU3NHdseXZYa3VoTWlUdi03SlZGaXJKYnYySTFSdkR6REFNN0llczBfTk9nenRPci05b2RWMUhUQW5vRjBUM3YtV0I2WmdOT1h2Yk1mNDFtbG9JNFlRdFBBXzZ2TXI1X1N4cWkzam1yX1BpRlR5QW1McjJXbWhoX0N6NWpna3dfZWRINHl2aWVzRDkwMFZFZ2lYWWJNd0xSQUdxSTdFbGdDQVlUWGxUYTJEYlNlX0xvS2dXZjd4eS1lUHVrbnpjbWxaMHg4enNzeUVWSndacFVhb3EwbGNGQmgwN002VnVyUEdDTkJOeDBRREJ4M3BieEVfY19GS09LaFdzVWt3VEdnR182WVVvZDZsM1VKRWVCQjVJQWdtTDlkeWF2cWRGc3ZlNjI2SURGd1hEMGF2N2lRN2FMTGdqeWlMS2NENTFwQWlPWHNHUmlSNUVTM1l0M1V3PT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkZpeGluZyBRdCBsaWJyYXJ5IGxpbmsgb3JkZXIgaW4gYnVpbGQgc2NyaXB0KipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX2RmbmZ1QjAwdVd0NE80czRreFRBZU5HcHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGQxMjVjMzg4MTkxOGRkMmUwMDFhNmU5YWYwOSIsIm5hbWUiOiJ3cml0ZSIsImFyZ3VtZW50cyI6eyJwYXRoIjoiY3JhdGVzL2ZsYXNoZXItcXQvYnVpbGQucnMiLCJjb250ZW50IjoiZm4gbWFpbigpIHtcbiAgICBwcmludGxuIShcImNhcmdvOnJlcnVuLWlmLWNoYW5nZWQ9c3JjL3VpLmNwcFwiKTtcblxuICAgIGxldCBxdCA9IHBrZ19jb25maWc6OkNvbmZpZzo6bmV3KClcbiAgICAgICAgLmF0bGVhc3RfdmVyc2lvbihcIjUuMTJcIilcbiAgICAgICAgLmNhcmdvX21ldGFkYXRhKGZhbHNlKVxuICAgICAgICAucHJvYmUoXCJRdDVXaWRnZXRzXCIpXG4gICAgICAgIC5leHBlY3QoXCJRdCA1IFdpZGdldHMgZGV2ZWxvcG1lbnQgZmlsZXMgd2VyZSBub3QgZm91bmQgKGluc3RhbGwgcXQ1LWJhc2UtZGV2ZWwpXCIpO1xuXG4gICAgbGV0IG11dCBidWlsZCA9IGNjOjpCdWlsZDo6bmV3KCk7XG4gICAgYnVpbGQuY3BwKHRydWUpLmZpbGUoXCJzcmMvdWkuY3BwXCIpLmZsYWdfaWZfc3VwcG9ydGVkKFwiLXN0ZD1jKysxN1wiKTtcbiAgICBmb3IgcGF0aCBpbiAmcXQuaW5jbHVkZV9wYXRocyB7XG4gICAgICAgIGJ1aWxkLmluY2x1ZGUocGF0aCk7XG4gICAgfVxuICAgIGJ1aWxkLmNvbXBpbGUoXCJmbGFzaGVyX3F0X3VpXCIpO1xuXG4gICAgLy8gS2VlcCBzaGFyZWQgUXQgbGlicmFyaWVzIGFmdGVyIG91ciBzdGF0aWMgQysrIGFyY2hpdmUgb24gdGhlIGxpbmtlclxuICAgIC8vIGNvbW1hbmQgbGluZTsgR05VIGxkIHJlc29sdmVzIHN0YXRpYyBhcmNoaXZlcyBmcm9tIGxlZnQgdG8gcmlnaHQuXG4gICAgZm9yIHBhdGggaW4gJnF0LmxpbmtfcGF0aHMge1xuICAgICAgICBwcmludGxuIShcImNhcmdvOnJ1c3RjLWxpbmstc2VhcmNoPW5hdGl2ZT17fVwiLCBwYXRoLmRpc3BsYXkoKSk7XG4gICAgfVxuICAgIHByaW50bG4hKFwiY2FyZ286cnVzdGMtbGluay1saWI9UXQ1V2lkZ2V0c1wiKTtcbiAgICBwcmludGxuIShcImNhcmdvOnJ1c3RjLWxpbmstbGliPVF0NUd1aVwiKTtcbiAgICBwcmludGxuIShcImNhcmdvOnJ1c3RjLWxpbmstbGliPVF0NUNvcmVcIik7XG59XG4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE3Mzc0LCJvdXRwdXQiOjQxNywiY2FjaGVSZWFkIjo3MDE0NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxMDYsInRvdGFsVG9rZW5zIjo4NzkzNSwiY29zdCI6eyJpbnB1dCI6MC4wODY4Nywib3V0cHV0IjowLjAxMjUxLCJjYWNoZVJlYWQiOjAuMDM1MDcyLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4xMzQ0NTJ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTUwODQ5MTYsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDBkNDE3NDgxOTE4MmEwYzYxNmRiNmY2OWI0In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImQxOWY0MTQ1IiwicGFyZW50SWQiOiJhYjkzZTZmNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTg6MTcuNTAxWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9kZm5mdUIwMHVXdDRPNHM0a3hUQWVOR3B8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkMTI1YzM4ODE5MThkZDJlMDAxYTZlOWFmMDkiLCJ0b29sTmFtZSI6IndyaXRlIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHdyb3RlIDkwNiBieXRlcyB0byBjcmF0ZXMvZmxhc2hlci1xdC9idWlsZC5ycyJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTA5NzUwMX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjVjNDdlZTRiIiwicGFyZW50SWQiOiJkMTlmNDE0NSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTg6MjAuNDM2WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipQbGFubmluZyBRdCBidWlsZCBmaXJzdCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkMWI4OWEwODE5MWFhZDBhNzRkMWZhZDE3ZTdcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk4wYy1uUG9YeUMtMHpPVzlBMmVuOUU2eWZhOTVMaG9WV05xYnpCVjlZRE9KaDE5YWFuc202dTFuQ01JNUdHYlo4N3FPNW45djZON0h4RzFQY1REUVpzWC1VTDgxRnRZemdOWlFjdWxsaHB1bUZWSXhCa3lRNWFMeS1vOWtpVFNMNTN3OER2aTVaRFZhSzlvTXR2b2dyZkxobURCSC1icnlEVmNMbHZkSkdpb2hYUXJ2WnRrSXMyMFpLeVdfY09IdHdlaXA3TXloeTZKWHBDaXdLeDY5Y0lNSzJNaVNaaV9EcFV1YVZ1RnhXMVd3Tl95ZjJ4STdyVGJxOE54NnV2UHYwbXpUQ05RQkVVOGNiNEJ0ZW9JWUpRdmpGYlNjVUhpVVc2RkhtSEV6bWlUdVRrWUc1Y1Y5b0p1X0JFQy1faTA2ME43TDBITFVINGVtUnNUbEwyWmM2OUR2cTBueGJXSmFad3hzTmNwUGhuQnl0d3RUOHhxdFVjTEhaWVRYUzRQVjk2b1dueEtxcElEQkNsRkNUR3VOeGR3UVhyMzRoZlNsbU9zNXU0WWhJTXVjN0Y4VGVLck93LXNVbzk0aTI2Wk9DZWd2X0x1NVNwRTI0Q0pVVGVOd3RpeUxBSEtSZXNmYmM0N3IxTFc4NFc1QmEtWC04dDVGR0NaNl9fQWZrNkt3bG5vS0FJaXZJbDRlZEItSW50WGpkRHJlemZyMkc1Q1pJM3JhckZ1eVpUV2RCdTRLVUVhMEJtem1QTFRGdTlwcmUzMGRURW54QkwxQU5wWWJLUW5WRVJLeUpkT0JFMVpNbktsOTVIYk16QU1QUUFSOHpCU0owMUUwOFRRZWdyWFpyTDhDRmV0SXdtSmJhclZsd2FuUE1KbWRkaEFibnJseHZITmF5X3FmVExZa3VjeVliT29iMjRoNk9RbENZRkYyUU5WcFVMRXNROTZLbk5XenljSWNQVUtRVHo0aVNhZnVFakt6b29mVC1IaDY1UDQ3MXV0elNkb1lzVVY4VlQ1TVk4U2Jxei03d3k5RHFMRlE1OEY1RDgzeUI2cm93eHRSbTJ3ZnhneXR6d0VEX2tYY3VOQzNWLWlyOTE3YmdSWElTZV8zRW5KZmszeUNPX29sNC02UG5sMC0zOENRLUFFMDJ4YU5lSmVuTUx6S1J6VXNpQW1Dd2tENG9TclBOUU8wOXNFTl9EUlJWTzlNNFliUnZDOVdmckJMOGRZR1hUYUw3UDZ4ZElLeFFlV21FdHdkNFJKU2pCOHcyRGNJQUFXY3lKZ1wiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqUGxhbm5pbmcgUXQgYnVpbGQgZmlyc3QqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfbTlmcWdaMGlxbXBqWWNaR0RvSzBINWRofGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDFjMmFkMDgxOTE4OGMyYTEzOWI4YjY4NzUyIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGJ1aWxkIC1wIGZsYXNoZXItcXQgJiYgY2FyZ28gYnVpbGQiLCJ0aW1lb3V0IjoxMjB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTQzMCwib3V0cHV0Ijo0MywiY2FjaGVSZWFkIjo4NjUyOCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo5LCJ0b3RhbFRva2VucyI6ODgwMDEsImNvc3QiOnsiaW5wdXQiOjAuMDA3MTUwMDAwMDAwMDAwMDAxLCJvdXRwdXQiOjAuMDAxMjkwMDAwMDAwMDAwMDAwMSwiY2FjaGVSZWFkIjowLjA0MzI2NCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDUxNzA0fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MDk3NTAzLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGQxOWRlZDQ4MTkxODYwN2VmYWEwOThkMTE5ZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJkMWE5ZmI2NyIsInBhcmVudElkIjoiNWM0N2VlNGIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU5OjEyLjkyNloiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfbTlmcWdaMGlxbXBqWWNaR0RvSzBINWRofGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDFjMmFkMDgxOTE4OGMyYTEzOWI4YjY4NzUyIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgQ29tcGlsaW5nIGZsYXNoZXItcXQgdjAuMS4wICgvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL2NyYXRlcy9mbGFzaGVyLXF0KVxuICAgIEZpbmlzaGVkIGBkZXZgIHByb2ZpbGUgW3Vub3B0aW1pemVkICsgZGVidWdpbmZvXSB0YXJnZXQocykgaW4gMS44NnNcbiAgIENvbXBpbGluZyB0b21sX3BhcnNlciB2MS4xLjIrc3BlYy0xLjEuMFxuICAgQ29tcGlsaW5nIGluZGV4bWFwIHYyLjE0LjBcbiAgIENvbXBpbGluZyBmdXR1cmVzLW1hY3JvIHYwLjMuMzNcbiAgIENvbXBpbGluZyB0b21sIHYxLjEuMytzcGVjLTEuMS4wXG4gICBDb21waWxpbmcgc3lzdGVtLWRlcHMgdjcuMC44XG4gICBDb21waWxpbmcgZnV0dXJlcy11dGlsIHYwLjMuMzNcbiAgIENvbXBpbGluZyB0b21sX2VkaXQgdjAuMjUuMTMrc3BlYy0xLjEuMFxuICAgQ29tcGlsaW5nIGdsaWItc3lzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBnb2JqZWN0LXN5cyB2MC4yMS41XG4gICBDb21waWxpbmcgZ2lvLXN5cyB2MC4yMS41XG4gICBDb21waWxpbmcgY2Fpcm8tc3lzLXJzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBwYW5nby1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdkay1waXhidWYtc3lzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBncmFwaGVuZS1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdkazQtc3lzIHYwLjEwLjNcbiAgIENvbXBpbGluZyBnc2s0LXN5cyB2MC4xMC4zXG4gICBDb21waWxpbmcgZ3RrNC1zeXMgdjAuMTAuM1xuICAgQ29tcGlsaW5nIGxpYmFkd2FpdGEtc3lzIHYwLjguMVxuICAgQ29tcGlsaW5nIHByb2MtbWFjcm8tY3JhdGUgdjMuNS4wXG4gICBDb21waWxpbmcgZ2xpYi1tYWNyb3MgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGd0azQtbWFjcm9zIHYwLjEwLjNcbiAgIENvbXBpbGluZyBmdXR1cmVzLWV4ZWN1dG9yIHYwLjMuMzNcbiAgIENvbXBpbGluZyBnbGliIHYwLjIxLjVcbiAgIENvbXBpbGluZyBnaW8gdjAuMjEuNVxuICAgQ29tcGlsaW5nIGNhaXJvLXJzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBncmFwaGVuZS1ycyB2MC4yMS41XG4gICBDb21waWxpbmcgcGFuZ28gdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdkay1waXhidWYgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdkazQgdjAuMTAuM1xuICAgQ29tcGlsaW5nIGdzazQgdjAuMTAuM1xuICAgQ29tcGlsaW5nIGd0azQgdjAuMTAuM1xuICAgQ29tcGlsaW5nIGxpYmFkd2FpdGEgdjAuOC4xXG4gICBDb21waWxpbmcgZmxhc2hlci1ndGsgdjAuMS4wICgvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL2NyYXRlcy9mbGFzaGVyLWd0aylcbiAgICBGaW5pc2hlZCBgZGV2YCBwcm9maWxlIFt1bm9wdGltaXplZCArIGRlYnVnaW5mb10gdGFyZ2V0KHMpIGluIDUwLjYwc1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MTUyOTI2fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMWMxYzJjZDEiLCJwYXJlbnRJZCI6ImQxYTlmYjY3IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1OToxNi43MDVaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIFF0IHNjcmVlbnNob3QgZXhlY3V0aW9uIHdpdGggdGltZW91dCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNTJlMGY4ODE5MWIyOWJhMDM1NjNlOWY0NGZcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk4xVDVGRVg3eHpNd09OLWU3enVmTXo2UlduWklMSzhIZnJGc2hkUkh6UWk3amZqcVVuRDlEZmduNEl4bklJc3pYZ29leEFwT1JNc1RPcjdpTWx5bzF3STQ2Skw2amVyaFlBWncwcXJVaXY0NXoxaGQ2WXcyUUhVeEpIWjlJZXpScnpHcmpwczg5dXhkd3lzS2ZYbEJRZTFubmEwOUF3aDNqVGtyeDE5cUxfVzlPWW43Z0NYRlNVTzVReGdBR0pDM2dJRkh6X1ZERjRlc01IczlLZ2ZNVGJFNFFnSENSSklBRUVxRFNZcVUyWGR5VTVlaDVIaldQZmpZRkhUckd0YnRWQkVjeDZZM0JVaHVIWkJhSjVOcDA2QWkzS080Y3VrZ2JVSWh4Ymt5TEFTY00xb3dmMmpGQnlza3pWUXFfV0JUdzJkaFVNelF2VU0tWlRVcENMYUt1dXZlUWdnNU44cExoWHAwSHRRYUdrUnFlQ2ExczRIREpQYlNwYjVJa1o3dVo0MlhzMDJ3Mkk4dEVweFpRZ1lmRUpGTTRFcUt6NHFOSW5renZBeFk3WUpBMERFNzVYSk1QMkp5T0RETE92UUxGTU5uYmJKVG9nSEt2RDE1M3JyYTR6TDJVN3ZNYzFXWU9RcUF0VkNKU1ktX3BxT0txcmJJVDRBSTRpY1lvSm5GYzBlbVcwbUdyZFN5ODc4bTBaOGhhcDZTRlNDOWh3aFJINjczaFZ6VzdtOXpRNDZ4OGJZZVFuT05za19PdTRyb0tyY3A1aEFLaGU0OURVdi1yTVN1ODh5UE44QXNXMU40bk1PS0x4eW92WkJ5UUd4Y1FDajI3dkwwREFLaVd2NGdrMHphdHk1YXNVWGR4RC1OQndfLVFfXzJUbk1PR3I5ZE8tVkJ4TmV1SUpIcVZuWG1JcGpiZ2txWEoyMkVPVTVHenVFLTZhdzVUcjJtbk4yTmwySUc0VnRVMHUzVkpkRklfNDJKYkJZcEFoR1VIQnplZWc5OVk4TDJYbUtkQUo5cnJfYS1rbkV3MlJERjVTZWtOcDZvcS1oLTNPV2xTakhoUUd5Qm51NWlsSUxnNTVMeWNocVFkZW4tNWx4Tm1IbG5iZklVSnAtTXRyX25RNTdvTmJwZVd3M0pSQ3piWUwwQ3ZlR21hYVFOb3pUZFNpbjl2UWw3dFZMSkkxNWM1MUF0bTE1a3RIUTFKRjdCalZoc01LaE9DcGFPNG1CY1lNWkJOdGI0UEg3VzJBVmdYdm9sS1dHakpXZkY1dVlrdWhBbUhqRUp4ZEItWkg1bDFmeVhtVU8ydS03TFdsWVJhSzZXbzZpTjFvUktSUlJQVWdxS0pLZzZteGF2NWs4Z004bi11U192clI3Y25SZnBCOFRvVFJoMHp0QV9ybV8wOG9ycWRvS3lWWVI1VC04UkFRYXFIVURYeWdUQktDNGttLS03NmNQTXRhQmZhQUE0c0N5eG9SRGN5NTg0bFZHLVc5WE5kaHotNFdlXzdKSF9Rcz1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIFF0IHNjcmVlbnNob3QgZXhlY3V0aW9uIHdpdGggdGltZW91dCoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF93c0FXY3l6ZjVmdG5qbTl5S3FGVzJ5c258ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNTNiYzQwODE5MTk0ZjEzYzZmNjVkMDkxZjUiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoidGltZW91dCAzcyB0YXJnZXQvZGVidWcvZmxhc2hlci1xdCA+L3RtcC9mbGFzaGVyLXF0Lm91dCAyPi90bXAvZmxhc2hlci1xdC5lcnI7IHJjPSQ/OyBlY2hvIHJjOiRyYzsgY2F0IC90bXAvZmxhc2hlci1xdC5lcnIiLCJ0aW1lb3V0IjoxMH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMDI0LCJvdXRwdXQiOjk0LCJjYWNoZVJlYWQiOjg3NTUyLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjI3LCJ0b3RhbFRva2VucyI6ODg2NzAsImNvc3QiOnsiaW5wdXQiOjAuMDA1MTIsIm91dHB1dCI6MC4wMDI4MiwiY2FjaGVSZWFkIjowLjA0Mzc3NTk5OTk5OTk5OTk5NSwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDUxNzE2fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MTUyOTUwLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGQ1MTY2YjA4MTkxYjc0MmE1OWEyY2EwN2VkZSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJkODhiNmVlNyIsInBhcmVudElkIjoiMWMxYzJjZDEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU5OjE5LjcyN1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfd3NBV2N5emY1ZnRuam05eUtxRlcyeXNufGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDUzYmM0MDgxOTE5NGYxM2M2ZjY1ZDA5MWY1IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoicmM6MTI0XG5xdC5xcGEucGx1Z2luOiBDb3VsZCBub3QgZmluZCB0aGUgUXQgcGxhdGZvcm0gcGx1Z2luIFwid2F5bGFuZFwiIGluIFwiXCJcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTE1OTcyN319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjQ2NzI0NWY2IiwicGFyZW50SWQiOiJkODhiNmVlNyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTk6MjguMzE3WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipVcGRhdGluZyBSRUFETUUgd2l0aCBRdCBXaWRnZXRzIGRldGFpbHMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDVhYTVhODgxOTE5MDhhMjExYzNkODJjYTk3XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpOMWNkTXpmeDh6UTVXUENaYUZROExNdHoxNUhGWWZtbTF6VTIzUndRc2luOFB3OTNXSG9TMTQwWEgwUmJYalVZbkZfd0RKckVtUUpIY2dKSzNXakNZNmJFTmt2LTZPWEFESEpRcWl2RFJOUzEwT0xydmt0MmRjcnpSTXl0aGI5c2stWVJJWXYyVEVlSWVybzFTUGxpaEZmM1Y3cXJwVWtEa0F3RDZEUTdXb1g2VEFoVEdTcEFBcjU3dDlIWDkwTS00b3NvcEtOaWpXLUg0d2VvU0xKeDZBTzJqb1ZWU2J4VWpVeEFQbGJRakliZnJaRFFTb2trY05abEt0SWdGSGJDRXhPRjd1LWUtOTBETDQ3OC1pY0E5VTNwc0tORWlXMW0zVzhlQ1BwcnExdzRHVU14anhjNG5iQ0h2ZFZEcjU5VDZhUExHY0llNElzeUxFY0N0YjV1SVNjNENRN2poWVN0c0dBNDF5ZGpvVFFWb3BZU3hVWmhlWV9VOG9wWTdlMkVickk5T3NpZGU0NWNKNFlKblV3YVg5QjlmNktqUjUxQXBPZTB3WVI3UlBKbmhWUGh2VXdIdi1EU2hWT1l3M2E4TVdWTFpxZFVLOUN4b3g0UmNudjZ2M0Y4TEtjNUNKSnBjUXdpa09OODVoby1mS21QSTZPOHh2X09nUUk1M3Zpd3dQdGZTWFFoZGZidGFlbjZEaG90NU5QODFCTTd3X2dLZkFhM3JWdC1ORnd3QWViUXRlSWV0eDdwNjdndEtXaGViZzZfWk9uN3lsYW5uMWtoSUM0cE1obGpsR1BVMTBJbnNVOHlMTkpNdnhWVWhLSUVCb0s5M1BKWk9YUk5ienRnVjVGYkdCeHNWbDE3bFVKVThRV3RLTll0a2Fpc21FZFZMWHBGRWU0VzJIbkxfOXpuUVFFZVgzYkd0VHRWcGZhVFoxeS1fM09TcWVSazAxYmVEV21UTThkNzFGVzB3bDd1Y3poT2JZVEkycGRLXzFvU01jLWpSREJJMmtFMlBicDNWRnRRWGxCcTloSTBtUmxUQi1CTGtIbk5iQ1V0NGFsRFJ2SGdjaW9BcDY3VlBwZDhsUDVsYWJSUWZDbkRQQ1FKVk80aU5BaURmcGo2NWFHa1pKMVNKZXNLWDhiTG9Ia2oxRTZHZjVITEwyMWhvQ1VQUktZR2JQREJFXzB6SFNIS09CM2JPREZzc2RzTDdoWWlfbEpYR1E2YjVfZDZnQWNCaG5JZ2RLZEcxamtabzFvdmpMOFoyMGIwR2JGZDlaQjB5TXQtaVFKemdTMlVOLXVfSnBrZ1RNVFhySUpqd19YSWktclZHUlBrSHhyVVgyMXp6WTJQZjR1WkoyeGlzem85ZHU4YjlISEFpb25kbnNLQ25scjBZWGN6S2tNTkpiSXNlVUZiZjRwZ3l1UVJVemtWaFRObzZmYjM0TFRER3VpY3pVZnljcVFoMmFadVJwMmh6aGM3ekNZWmZPN2plTmMwTThheE8zUlRNcnhWQnBIMHNqS185S2xXSndmdTJ4WUtTTHdcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlVwZGF0aW5nIFJFQURNRSB3aXRoIFF0IFdpZGdldHMgZGV0YWlscyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9Nb1N3NjJ1MnRxdkZjR25TY0pQaG1UNXN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNWMxN2JjODE5MTk4ZmI5NWNmZjUzYTIwMWMiLCJuYW1lIjoiZWRpdCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiUkVBRE1FLm1kIiwiZWRpdHMiOlt7Im9sZFRleHQiOiItIGBjcmF0ZXMvZmxhc2hlci1xdGAg4oCUIFF0IDUvUXQgUXVpY2sgQ29udHJvbHMgMiIsIm5ld1RleHQiOiItIGBjcmF0ZXMvZmxhc2hlci1xdGAg4oCUIG5hdGl2ZSBRdCA1IFdpZGdldHMifSx7Im9sZFRleHQiOiJzdWRvIGFwdC1nZXQgaW5zdGFsbCBnY2MtYysrIGxpYmd0azQtZGV2ZWwgbGliYWR3YWl0YS1kZXZlbCBcXFxuICBxdDUtYmFzZS1kZXZlbCBxdDUtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ1LXF1aWNrY29udHJvbHMyLWRldmVsIFxcXG4gIHF0NS1xdWlja2NvbnRyb2xzMlxuYGBgXG5cblRoZSBRdCBiaW5kaW5ncyBkaXNjb3ZlciBRdCB0aHJvdWdoIGBxbWFrZWAuIElmIHNldmVyYWwgUXQgdmVyc2lvbnMgYXJlIGluc3RhbGxlZCwgc2VsZWN0IFF0IDUgZXhwbGljaXRseTpcblxuYGBgc2hcbmV4cG9ydCBRTUFLRT0vdXNyL2xpYjY0L3F0NS9iaW4vcW1ha2VcbmBgYFxuXG4oVGhlIGV4YWN0IGBxbWFrZWAgcGF0aCBjYW4gYmUgZm91bmQgd2l0aCBgcnBtIC1xbCBxdDUtYmFzZS1kZXZlbCB8IGdyZXAgJy9xbWFrZSQnYC4pIiwibmV3VGV4dCI6InN1ZG8gYXB0LWdldCBpbnN0YWxsIGdjYy1jKysgbGliZ3RrNC1kZXZlbCBsaWJhZHdhaXRhLWRldmVsIHF0NS1iYXNlLWRldmVsXG5gYGBcblxuVGhlIFF0IGNyYXRlIGRpc2NvdmVycyBRdCA1IHRocm91Z2ggYHBrZy1jb25maWdgIGFuZCB1c2VzIHRoZSBwbGF0Zm9ybSdzIG5hdGl2ZSBRdCB3aWRnZXQgc3R5bGUuIEl0IGRvZXMgbm90IHJlcXVpcmUgUU1MIG9yIFF0IFF1aWNrLiJ9XX19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMTUxLCJvdXRwdXQiOjI5NCwiY2FjaGVSZWFkIjo4NzU1MiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjozNiwidG90YWxUb2tlbnMiOjg4OTk3LCJjb3N0Ijp7ImlucHV0IjowLjAwNTc1NTAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwODgyLCJjYWNoZVJlYWQiOjAuMDQzNzc1OTk5OTk5OTk5OTk1LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNTgzNTF9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTUxNTk3MzAsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDU4MTMyNDgxOTE4ODE3M2QwNWMwYjVhMTlhIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjYxYzNmYjMyIiwicGFyZW50SWQiOiI0NjcyNDVmNiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTk6MjguMzIyWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9Nb1N3NjJ1MnRxdkZjR25TY0pQaG1UNXN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNWMxN2JjODE5MTk4ZmI5NWNmZjUzYTIwMWMiLCJ0b29sTmFtZSI6ImVkaXQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgcmVwbGFjZWQgMiBibG9jayhzKSBpbiBSRUFETUUubWQuIn1dLCJkZXRhaWxzIjp7ImRpZmYiOiIgICAgLi4uXG4gIDIgXG4gIDMgVGhpcyB3b3Jrc3BhY2UgY29udGFpbnMgdHdvIGluZGVwZW5kZW50IGludGVyZmFjZXMgZm9yIGBhbHQtcm9vdGZzLWluc3RhbGxlcmA6XG4gIDQgXG4gIDUgLSBgY3JhdGVzL2ZsYXNoZXItZ3RrYCDigJQgR1RLIDQvbGliYWR3YWl0YVxuLSA2IC0gYGNyYXRlcy9mbGFzaGVyLXF0YCDigJQgUXQgNS9RdCBRdWljayBDb250cm9scyAyXG4rIDYgLSBgY3JhdGVzL2ZsYXNoZXItcXRgIOKAlCBuYXRpdmUgUXQgNSBXaWRnZXRzXG4gIDcgXG4gIDggQm90aCBhcmUgaW50ZXJmYWNlIHByZXZpZXdzLiBUaGV5IGluc3BlY3Qgc3VwcG9ydGVkIGJvYXJkcyBhbmQgcmVtb3ZhYmxlIGRyaXZlcywgYnV0IGRvIG5vdCB3cml0ZSB0byBhbnkgZGV2aWNlLlxuICA5IFxuIDEwICMjIFN5c3RlbSBkZXBlbmRlbmNpZXNcbiAxMSBcbiAxMiBPbiBBTFQgTGludXg6XG4gMTMgXG4gMTQgYGBgc2hcbi0xNSBzdWRvIGFwdC1nZXQgaW5zdGFsbCBnY2MtYysrIGxpYmd0azQtZGV2ZWwgbGliYWR3YWl0YS1kZXZlbCBcXFxuLTE2ICAgcXQ1LWJhc2UtZGV2ZWwgcXQ1LWRlY2xhcmF0aXZlLWRldmVsIHF0NS1xdWlja2NvbnRyb2xzMi1kZXZlbCBcXFxuLTE3ICAgcXQ1LXF1aWNrY29udHJvbHMyXG4rMTUgc3VkbyBhcHQtZ2V0IGluc3RhbGwgZ2NjLWMrKyBsaWJndGs0LWRldmVsIGxpYmFkd2FpdGEtZGV2ZWwgcXQ1LWJhc2UtZGV2ZWxcbiAxOCBgYGBcbiAxOSBcbi0yMCBUaGUgUXQgYmluZGluZ3MgZGlzY292ZXIgUXQgdGhyb3VnaCBgcW1ha2VgLiBJZiBzZXZlcmFsIFF0IHZlcnNpb25zIGFyZSBpbnN0YWxsZWQsIHNlbGVjdCBRdCA1IGV4cGxpY2l0bHk6XG4rMTggVGhlIFF0IGNyYXRlIGRpc2NvdmVycyBRdCA1IHRocm91Z2ggYHBrZy1jb25maWdgIGFuZCB1c2VzIHRoZSBwbGF0Zm9ybSdzIG5hdGl2ZSBRdCB3aWRnZXQgc3R5bGUuIEl0IGRvZXMgbm90IHJlcXVpcmUgUU1MIG9yIFF0IFF1aWNrLlxuIDIxIFxuLTIyIGBgYHNoXG4tMjMgZXhwb3J0IFFNQUtFPS91c3IvbGliNjQvcXQ1L2Jpbi9xbWFrZVxuLTI0IGBgYFxuLTI1IFxuLTI2IChUaGUgZXhhY3QgYHFtYWtlYCBwYXRoIGNhbiBiZSBmb3VuZCB3aXRoIGBycG0gLXFsIHF0NS1iYXNlLWRldmVsIHwgZ3JlcCAnL3FtYWtlJCdgLilcbi0yNyBcbiAyOCAjIyBCdWlsZFxuIDI5IFxuIDMwIEJ1aWxkIGJvdGggYXBwbGljYXRpb25zOlxuIDMxIFxuICAgIC4uLiIsInBhdGNoIjoiLS0tIFJFQURNRS5tZFxuKysrIFJFQURNRS5tZFxuQEAgLTIsMzAgKzIsMjIgQEBcbiBcbiBUaGlzIHdvcmtzcGFjZSBjb250YWlucyB0d28gaW5kZXBlbmRlbnQgaW50ZXJmYWNlcyBmb3IgYGFsdC1yb290ZnMtaW5zdGFsbGVyYDpcbiBcbiAtIGBjcmF0ZXMvZmxhc2hlci1ndGtgIOKAlCBHVEsgNC9saWJhZHdhaXRhXG4tLSBgY3JhdGVzL2ZsYXNoZXItcXRgIOKAlCBRdCA1L1F0IFF1aWNrIENvbnRyb2xzIDJcbistIGBjcmF0ZXMvZmxhc2hlci1xdGAg4oCUIG5hdGl2ZSBRdCA1IFdpZGdldHNcbiBcbiBCb3RoIGFyZSBpbnRlcmZhY2UgcHJldmlld3MuIFRoZXkgaW5zcGVjdCBzdXBwb3J0ZWQgYm9hcmRzIGFuZCByZW1vdmFibGUgZHJpdmVzLCBidXQgZG8gbm90IHdyaXRlIHRvIGFueSBkZXZpY2UuXG4gXG4gIyMgU3lzdGVtIGRlcGVuZGVuY2llc1xuIFxuIE9uIEFMVCBMaW51eDpcbiBcbiBgYGBzaFxuLXN1ZG8gYXB0LWdldCBpbnN0YWxsIGdjYy1jKysgbGliZ3RrNC1kZXZlbCBsaWJhZHdhaXRhLWRldmVsIFxcXG4tICBxdDUtYmFzZS1kZXZlbCBxdDUtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ1LXF1aWNrY29udHJvbHMyLWRldmVsIFxcXG4tICBxdDUtcXVpY2tjb250cm9sczJcbitzdWRvIGFwdC1nZXQgaW5zdGFsbCBnY2MtYysrIGxpYmd0azQtZGV2ZWwgbGliYWR3YWl0YS1kZXZlbCBxdDUtYmFzZS1kZXZlbFxuIGBgYFxuIFxuLVRoZSBRdCBiaW5kaW5ncyBkaXNjb3ZlciBRdCB0aHJvdWdoIGBxbWFrZWAuIElmIHNldmVyYWwgUXQgdmVyc2lvbnMgYXJlIGluc3RhbGxlZCwgc2VsZWN0IFF0IDUgZXhwbGljaXRseTpcbitUaGUgUXQgY3JhdGUgZGlzY292ZXJzIFF0IDUgdGhyb3VnaCBgcGtnLWNvbmZpZ2AgYW5kIHVzZXMgdGhlIHBsYXRmb3JtJ3MgbmF0aXZlIFF0IHdpZGdldCBzdHlsZS4gSXQgZG9lcyBub3QgcmVxdWlyZSBRTUwgb3IgUXQgUXVpY2suXG4gXG4tYGBgc2hcbi1leHBvcnQgUU1BS0U9L3Vzci9saWI2NC9xdDUvYmluL3FtYWtlXG4tYGBgXG4tXG4tKFRoZSBleGFjdCBgcW1ha2VgIHBhdGggY2FuIGJlIGZvdW5kIHdpdGggYHJwbSAtcWwgcXQ1LWJhc2UtZGV2ZWwgfCBncmVwICcvcW1ha2UkJ2AuKVxuLVxuICMjIEJ1aWxkXG4gXG4gQnVpbGQgYm90aCBhcHBsaWNhdGlvbnM6XG4gXG4iLCJmaXJzdENoYW5nZWRMaW5lIjo2fSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTE2ODMyMn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImJiMjM0MThkIiwicGFyZW50SWQiOiI2MWMzZmIzMiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTk6MzMuOTY1WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNjNjZWQ0ODE5MThkOGJhYTRlZDFjMDM2MzRcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk4xbFktanVxMWNjWW1FUjhlQUxTcGs2ZEt3Z21aOWZVamdSQUdNU19ubHFsVURlUnVMN09UajI5RDFBY2c5VjZOMmE2NVNmRVlscWRrY2Rqb1hwUW5wYW9FZVc4UFNxay1yV21FR2IxWWtOWm9OSU55RW1ocHZDQXVJcERtb1A0Z3NnYWVZay1WSmRMdmlkVzhSS29Ycy1DQi1yeWc1RlhOU0tDN2JZaEgzNnN6eTU5dHVxNC12ajBJejYxVmlHbTVaRFZFcXYwZElpM0dzaVpBbjVsUEVmMWZhYllPVk9VQi1HUFZUMDMzc2NiTEtNYXduOFE4cXcydjFxR3ZyNV9jcWlWcE1sdXBJQTdEUlpXQk9HNHhWX25nc2JhQVhPTngwcHBlcHJYa01oWXEtbEpHTmhKdDJUV0RMeXNodXNJM2NCZXdrMmNvc2hTN190UGRVb3FRSWhydFRobzhfY0l0NEtBT0xJWUVvVFJzMjdVLUNTdVdtMG1nOFV1REpyZVJjdXBNZ1hMU0pkb1NDS0RheFBEaktPWlo0dTRDdEZHM19TWkxDZGVQUjluMmF4V1hRQ1hLRWlYM29YTFV5M2pQeTZTRlNfZnVlMWxRVnlXQnNneUp0ZDc4MVQ3RU5XYnVkYTRNU1pFZnlIeklDSmNhdzE3VnZjd1ZDQ3RMY2FBVl9rVVh1QzJmdVViRFlNTjZPdWZ6WlduS1J1MWNGVFVYSU83MG1mRDFvU3JIelloOU1GMTZWc25hby1FdHJZem9Ddm1Xc3NpdzlUcWExSVRXeEdrZFdpTVllREhWSVE4Q0E3VGRnRThTbUMwQmktcVRlZVN1clFubVgybklLN05MSXQ1QUlYbThHZGdqUlJ1ZHU5VFU1NmVtR0RoMzZHZS1fcjJrVi1JX05HZzhqZHRMc3dpMEFZQ19ZdGVpaXlZU085Z0lQVlVpRnY5RE4yT3BrTlF6aGphMDRZU3d6QkQtang5S1FBTnpUWTdJU0lhT1VRbWVsQ214TzlwWUVxUzlYenJFdnVuX1V1bnZicUJqQ3dxSEFiN2ZlNVItbHdVdzFpSjFWRWR0UnFsRGlkVDVkWW1hV2JzYmphbUh2eWNJNU02bUdpVzZraGludkF2MVgtV0lvbnM3djRUT053QUFMNTlBd2drOFh1a25sUHNDRm1oV2o2dWhEVXBub2d0Rnk0LUM0V1NMc2V6ZmloSFp4WExYOW16SzhHdXZWeWluMnRFVUgtMWswV2dMX3B0Tmp5SHdwR1k1SXZ0cGJUMXhiZnVEeHhPVENvc3JaekV3a0stS0Jwanc9PVwiLFwic3VtbWFyeVwiOltdfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0ZLSU8zcXFWamF0SE5iWUtrTllOYjdySHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGQ2NWQ4OTQ4MTkxYmY5MWQ3OTQyOWRhNTM4OCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJnaXQgc3RhdHVzIC0tc2hvcnQ7IGdpdCBkaWZmIC0tc3RhdCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9sblcwTTc1SFBDSE5VYzlXTk03OVNxMnF8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNjVkOGE4ODE5MTljY2M1ZmIyZWE4Yzg1YjciLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiZ3JlcCAtbiAncW1ldGFvYmplY3QnIENhcmdvLmxvY2sgQ2FyZ28udG9tbCBjcmF0ZXMvZmxhc2hlci1xdC9DYXJnby50b21sIHx8IHRydWU7IGZpbmQgY3JhdGVzL2ZsYXNoZXItcXQgLW1heGRlcHRoIDMgLXR5cGUgZiAtcHJpbnQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjQ0Miwib3V0cHV0IjoxMTEsImNhY2hlUmVhZCI6ODg1NzYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTMsInRvdGFsVG9rZW5zIjo4OTEyOSwiY29zdCI6eyJpbnB1dCI6MC4wMDIyMSwib3V0cHV0IjowLjAwMzMzLCJjYWNoZVJlYWQiOjAuMDQ0Mjg4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNDk4Mjh9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTUxNjgzMjQsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDYwYWEwMDgxOTFhNzJjOGVhOTJlMzFiZWUxIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjE3ZGQzNjA4IiwicGFyZW50SWQiOiJiYjIzNDE4ZCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTk6MzQuMDEwWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9GS0lPM3FxVmphdEhOYllLa05ZTmI3ckh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNjVkODk0ODE5MWJmOTFkNzk0MjlkYTUzODgiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgTSBDYXJnby5sb2NrXG4gTSBSRUFETUUubWRcbiBNIGNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWxcbiBEIGNyYXRlcy9mbGFzaGVyLXF0L3FtbC9NYWluLnFtbFxuIE0gY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnNcbj8/IDAxOWY5OTk5LWNjZGQtNzIzNC05MTJhLTYyZTViNjhhN2U5ZC5qc29ubFxuPz8gY3JhdGVzL2ZsYXNoZXItcXQvYnVpbGQucnNcbj8/IGNyYXRlcy9mbGFzaGVyLXF0L3NyYy91aS5jcHBcbj8/IHBpLXNlc3Npb24tMjAyNi0wNy0yNVQxNC0wNy0wMS0zNDFaXzAxOWY5OTk5LWNjZGQtNzIzNC05MTJhLTYyZTViNjhhN2U5ZC5odG1sXG4gQ2FyZ28ubG9jayAgICAgICAgICAgICAgICAgICAgIHwgMTYwICstLS0tLS0tLS0tLS0tLS0tXG4gUkVBRE1FLm1kICAgICAgICAgICAgICAgICAgICAgIHwgIDE0ICstXG4gY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbCAgIHwgICA4ICstXG4gY3JhdGVzL2ZsYXNoZXItcXQvcW1sL01haW4ucW1sIHwgMzk0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnMgIHwgIDUwICsrKystLVxuIDUgZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgNTgwIGRlbGV0aW9ucygtKVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MTc0MDEwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiOTI2NWY4MzgiLCJwYXJlbnRJZCI6IjE3ZGQzNjA4IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1OTozNC4wMTBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2xuVzBNNzVIUENITlVjOVdOTTc5U3EycXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGQ2NWQ4YTg4MTkxOWNjYzVmYjJlYThjODViNyIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6ImNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWxcbmNyYXRlcy9mbGFzaGVyLXF0L2J1aWxkLnJzXG5jcmF0ZXMvZmxhc2hlci1xdC9zcmMvbWFpbi5yc1xuY3JhdGVzL2ZsYXNoZXItcXQvc3JjL3VpLmNwcFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MTc0MDEwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZGYwMjJlMDAiLCJwYXJlbnRJZCI6IjkyNjVmODM4IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1OTo0MC4wNzRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkNsZWFuaW5nIHVwIHVudHJhY2tlZCBzZXNzaW9uIGFydGlmYWN0cyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNjk3MzI4ODE5MWFkZmM5ZTdjNzU0MmVkZDVcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk4xck16YjlzQXhKTGk3LTFTRC1yTmx5MXlZWjBuV1VJY2Zaei12NXUtRXljelB3Q0JKWEVIOFpmcjNyWnVXSmh3b2ZhQUxCT0dESGE1VWczQlhYVC1PMWszdHZsSDBGNkFYNzI0T2FPbVRid1lMUENfV3UzbGNLc1ZnZkllVHE5MVkzUFFkSmt6UHJUbXJkOVFFc3NBajJLNE5QTDVmeXRocUhzenR0MDNfa2VRUmdHWktvcGFGWjdFNDROTGhxVTZuUzFTelg3NFFzRXBvRGhwWEpFYWpsbEllel85M3RfejZhcjlab3BFQkZmSURKc1RfREpMOTVqamNjSnVkQ0ZzbEFOM1ZLWDlnSUVFak5nbHBjbkpJenZ0QzJTMmJVNWl1M1VvQTZLbG16QVgtUmhiQ0VPWGMxWVJyd0VGU3NCUkNfVndCeXByY1RCcmljMUNMWjd1b2p5R3JxUUhSd2xjTDhVZzFMUHNRWTh5THl3cC1qVFNSMHQzbEF1TzRUTGMzaXdyZjhHeXFSdGhMdTU3bENab1B3NlhuNzk3S0Z1Tmg3SFF1cTVpY09Bcnc0OW9Ub2hreTd6RDJDSXBkeDkxeENfeEF0YUNEZTZ2bTJiN0h0bU9OeVJMdDQ3ci1WUll6MXd4UmhOQWNuSGtNRl9qNTFhRmgwTXlQSE1pVUJKb09EX3BmXzAtYTJtSkNnajVqLXVIejhEbVpYb0tpUno1UDlacGFYQk1Fd2t2aHdqRV9naE1sOHhjRjhoWTFKcFdSdmh4Nm1nQmRNcEhibXBFNkhXVzBkRDFKSjVpNFlyc1RyRFJOOC0wOVQxd1FFenNjQldoQ1JJcFFyTkxoRHFQNV8xZ0xfTzYwYk8yZUtuakY3LXhUNUtNOXE3X01EWmVLQmdDMFctbmlMMHhNVENUWHNZcjRoUjY5NTZTekdUbjRLbThmTWZHdERoNUVvWUJzcklkc0txUENhOHkyRHBsVTdqdkVvQWp1YXh1alJyRzhPY1RubzlTVEZEN2Z5OXc1eDVIVV9FMUh0Y3BHWmdYSjRadm1vc1FMR29KbVpzZGo1UHh1RHZrbnh5RTQ5dFdwdW0yZW5CbEg3RFJGVFU5ekdLbmVyUWRCUGdiejFiRXotc3l5anp3X3VCRWhjZWpDRHJmdU9yWS1QaXdXam9VZEhzWnpZN014UGZMR2JIWmZhajQ2V3FSNmRfTlIzQXMzZ1k4YUl1WDYwcXpWeko0X1g3RjJRU1g3ZVU3S2x0SW4zMHRlNjhQbkJSSnlrY2NzREFVX1gyejdPR3dJWFF3c2ZlMkhyVG1oNFlaalM4RGJ0aVZvV1ZOcGhLTS1GUHJRQ3hOem8xMFJpamhpV01tS0pYMUNjazRMRHQ1XzBHRmV3R19uaTMzVTIxcHp6RXRfRnJ6dW1jQXBMMGdPdnNlTXNXcnEzT0NDaDh6TWc3TFViMWktYWV1amJJQmExek51TC1LcWhSbjROTFRmX0VhYkxQczZHRzlkcmhFRmFscEtqV28ydG5yXzM5N3R5VEFLZDBuTnZuMWtITnd5aGxVeUd2OXdNeTRVZjBmOFRIZEFPWUFBa2VzcnpKRmc9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipDbGVhbmluZyB1cCB1bnRyYWNrZWQgc2Vzc2lvbiBhcnRpZmFjdHMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfME4wMUhEU1VEdUR0b0tIRFd0bjczaGl2fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDZiMWUwNDgxOTFiYmY1ZWUwNGMxMDkxMTM1IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJtIC1mIDAxOWY5OTk5LWNjZGQtNzIzNC05MTJhLTYyZTViNjhhN2U5ZC5qc29ubCBwaS1zZXNzaW9uLTIwMjYtMDctMjVUMTQtMDctMDEtMzQxWl8wMTlmOTk5OS1jY2RkLTcyMzQtOTEyYS02MmU1YjY4YTdlOWQuaHRtbFxuZ2l0IHN0YXR1cyAtLXNob3J0In19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo4MjgsIm91dHB1dCI6MTQ0LCJjYWNoZVJlYWQiOjg4NTc2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjQ1LCJ0b3RhbFRva2VucyI6ODk1NDgsImNvc3QiOnsiaW5wdXQiOjAuMDA0MTQwMDAwMDAwMDAwMDAwNSwib3V0cHV0IjowLjAwNDMyLCJjYWNoZVJlYWQiOjAuMDQ0Mjg4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNTI3NDh9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTUxNzQwMTMsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDY2NjNkNDgxOTFiMDIyYTE2NTBiMGM3NDgwIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjBjZmNhN2I1IiwicGFyZW50SWQiOiJkZjAyMmUwMCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTk6NDAuMDgxWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF8wTjAxSERTVUR1RHRvS0hEV3RuNzNoaXZ8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNmIxZTA0ODE5MWJiZjVlZTA0YzEwOTExMzUiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgTSBDYXJnby5sb2NrXG4gTSBSRUFETUUubWRcbiBNIGNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWxcbiBEIGNyYXRlcy9mbGFzaGVyLXF0L3FtbC9NYWluLnFtbFxuIE0gY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnNcbj8/IGNyYXRlcy9mbGFzaGVyLXF0L2J1aWxkLnJzXG4/PyBjcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTUxODAwODB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIyYTZmZDUyZiIsInBhcmVudElkIjoiMGNmY2E3YjUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU5OjQ3LjcyNloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJZZXPigJR0aGUgZm9yZWlnbiBhcHBlYXJhbmNlIHdhcyBsYXJnZWx5IGNhdXNlZCBieSBRdCBRdWljayBDb250cm9scywgd2hpY2ggZG8gbm90IHVzZSB0cmFkaXRpb25hbCBuYXRpdmUgZGVza3RvcCB3aWRnZXRzLlxuXG5JIHJlcGxhY2VkIHRoZSBRdCBRdWljay9RTUwgaW50ZXJmYWNlIHdpdGggbmF0aXZlIFF0IDUgV2lkZ2V0czpcblxuLSBVc2VzIHRoZSBzeXN0ZW0gUXQgd2lkZ2V0IHN0eWxlIGFuZCBwYWxldHRlXG4tIE5hdGl2ZSBkaWFsb2dzLCBtZW51cywgYnV0dG9ucywgcmFkaW8gYnV0dG9ucywgZm9ybXMsIGFuZCBzY3JvbGwgYXJlYXNcbi0gQm9hcmQgcGlja2VyIGlzIG5vdyBhIG5hdGl2ZSBzZWFyY2hhYmxlIHRyZWUgZ3JvdXBlZCBieSBwbGF0Zm9ybS9Tb0Ncbi0gUmVtb3ZlZCBRTUwgYW5kIHRoZSBgcW1ldGFvYmplY3RgIGRlcGVuZGVuY3lcbi0gUnVzdCBsYXVuY2hlcyB0aGUgUXQgV2lkZ2V0cyBpbXBsZW1lbnRhdGlvbiB0aHJvdWdoIGEgc21hbGwgQysrIEZGSSBsYXllclxuLSBVcGRhdGVkIGJ1aWxkIGluc3RydWN0aW9ucyBpbiBgUkVBRE1FLm1kYFxuXG5WZXJpZmllZCBzdWNjZXNzZnVsbHk6XG5cbmBgYGJhc2hcbmNhcmdvIGJ1aWxkXG5gYGBcblxuQm90aCBHVEsgYW5kIFF0IGFwcGxpY2F0aW9ucyBub3cgYnVpbGQuIFJ1biB0aGUgbmV3IHZlcnNpb24gd2l0aDpcblxuYGBgYmFzaFxuY2FyZ28gcnVuIC1wIGZsYXNoZXItcXRcbmBgYCIsInRleHRTaWduYXR1cmUiOiJ7XCJ2XCI6MSxcImlkXCI6XCJtc2dfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNmU0OTI0ODE5MThiZGU1ZDFkYjI3NTEyMGJcIixcInBoYXNlXCI6XCJmaW5hbF9hbnN3ZXJcIn0ifV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTA0Miwib3V0cHV0IjoxNTksImNhY2hlUmVhZCI6ODg1NzYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MCwidG90YWxUb2tlbnMiOjg5Nzc3LCJjb3N0Ijp7ImlucHV0IjowLjAwNTIxLCJvdXRwdXQiOjAuMDA0NzcsImNhY2hlUmVhZCI6MC4wNDQyODgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA1NDI2OH19LCJzdG9wUmVhc29uIjoic3RvcCIsInRpbWVzdGFtcCI6MTc4NDk5NTE4MDA4MywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNmM5ODc0ODE5MWFkMTQ1NTkwYzQ3NzkxYTAifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZWQ3YWY5Y2QiLCJwYXJlbnRJZCI6IjJhNmZkNTJmIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMTo1OS44MzFaIiwibWVzc2FnZSI6eyJyb2xlIjoidXNlciIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Im9rYXkgaXQgbG9va3MgYmV0dGVyLCBidXQgaSBkb250IHdhbnQgYW55IGMrKyBpbiB0aGlzIHByb2plY3QuIHdyaXRlIGl0IGluIHJ1c3QgdXNpbmcgcXQgbGlicmFyeS4gYW5kIGlmIG5vdCBleHBsYWluIHdoeS4ifV0sInRpbWVzdGFtcCI6MTc4NDk5NTMxOTgzMH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijk0YmFiYmY1IiwicGFyZW50SWQiOiJlZDdhZjljZCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDI6MTEuODAzWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipJbnZlc3RpZ2F0aW5nIFJ1c3QgUXQgV2lkZ2V0cyBiaW5kaW5ncyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkZmE5MGY4ODE5MTg4NTU0MGE4MzVjN2Y0NDBcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk40RC15NjZBYWk3RDZhdDVXSmNaMWRlVTNGd1JfeXkxbU1Kd1dWaTBwUEFxblpZa0ZMTV9MV3pUM2ZZaUZIcUlnUlJhTlJ2REJ1bU9LUG03M1pyTE4tdm9HN093LVJpUV9vWU9ycEI5Mmx2T2ZvOUZyRFhTd3JNVWF4NEVVdFVqV3hNTlNBelM0Wkc4c3d5d0dRQTJUX1k0M1hQbHozRWZodlgxNFQzUGhyMVdLUVNkRHZLLTN4d294b3lzMzZWNml0V1R0MWhUd0Ffd0JtcXAzLTJxT2gtZ1IxSHJiT2Vrblp6ZGhvUklFQ09Md1RkVzFXbEctVDdiVzRzQmtsdGJTRkFnM3BmOTBUYkZlWlJyZng4U3ZnRjJySC1ZMllxNGhseTFMekFzanZmems2b0hoUjVIbHk4YnZXZ2lOQ1hhV19fT0phYWZ5alpjSHZId28wNThpSUxkV0xNMXllU1ZIazRaZ1hOQmQxUEZzTUMyM0s0M1BveENfUFFxUHdTQk50MDVyWkVCVERUMS1BTE0tWUROeW0zUldrRUdSemtuVmJ0R050LWFqeWpmRWJsYlZEY3hmelc5NHFXMmhoRmJicDZtZmJManlNTDhoZ2JMV0RCWEFiSnBPa09VUk1BTWJBd3M2WjdhN1Z0UmphZ1djTzNPXzg5MEwwQVRQaUdZWENiRTFfbkI0R2hJaTA1TkstSzhrMWxGTFJWQkFBQVlJWkxnOEoxaGFXamQ4Rm10UmVkVDV3VWlCSEFxR1d3dzA4SjRUemN4S0VvaGZIWnR5ZXNBNWtCSXZFR0FyaWxlT2ZhTkoyWmdEcTFTeExLY2lmNlAtM2FkUDhZYzZJXzM5NThCUUJLNUhZT3dzeklxbjhXX1BBUldPMElSTHNCOHlrQlVvczJ5VFNlNkdsTUtwOFpCNWg3RUZhWUZKRE0zcldHUkZlMGhISFMxUTVxMGhMajBycmp6ZmNKWE1tVnMtU24zSm81QktyaGZlWHEwU2JlSnZpRzdFS3kyd1VxSGZkSGlzQllPMTE4TnFzSUhBdkR5T1JCMmdXNHlxRm9aa05IQnFZY2Q5bzdWTTdHeF91TF9TSFNKZ3BYSUVvNUVGYUM4alo2c1JmYXEwbENnZGFid0xlWkEyYVk5a3ljd29JZ3hIU3lMaHItRC1tQkNVVkZnS2laeUxab1Z2MlhnVEZhWXl3YlN6aTJ0S1gyb091XzNrNlJBMDJQTmdXR0d1czhwdWRURHBWU0h2X2JMdVpDZG1TN2VsXzFyYThpbC0zVFh1VExlTzZ5cnlwLVY5dExwVVFhU0w1UVFKMjFsZ3BMOVcwTmhod0d3Q2FGeDFFa09ybHdGeDdBcC1IcWo0TFdyNVc2RnY0TFo5dkJmYThzN1JsZExsSUJySGx5d1BhbjJkQWVJWEluVUk3RW9TMDk2bk5SMDVnTnhubERydlFwb2FDUFhTR0hGa2ZIaUd5bU91N0doMEhqMGVFaGdlUm0zRm1uVGFTWVgtTXhUbEFyRURRRW82M0hWeHRhcXNsSFdxWW50UWhZTTVhRzZnbTlnbFllSFZXUnkwQ1VSSDFtcXpSWXI4YzhsMHBYUklzWUVzQWZRb2RTQmw5VU45UGpReHJBVDhJVEtDN3VicXlTcmxiS0tkc1hGWWs5LVdxTlJZNi1XTWxSblhka01HbkNzLUI3SHgtdUZmZlEwTTFXYlM4Y3E4c1RPY3BFVG5aR0J5T1ZCd0V5dkY5VVd6cFNlMmFXamc1ZWY5RVFGNVFaemFYZlQwT29tbHkyTVRTMGNKSGtTWnRPVW5MbGF2M3hVand5OWRKNjVrSm5KaHFETndGelNrQktGc19IZjNreDd5SjMweDY1N0lwckVJTnlNSnJXVEgtRHhENjVWMEsxeTk0eWcwVmJpS2NUbThIcUx4Y1Q1Q2tmQkpzPVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqSW52ZXN0aWdhdGluZyBSdXN0IFF0IFdpZGdldHMgYmluZGluZ3MqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfTU5xMFAxazVUMkNRc2lKQzVvaE1KeXczfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTAzOWJkMDgxOTE5ZDEyMjM5YjZmMGY4YzRiIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGluZm8gcXRfd2lkZ2V0cyAyPi9kZXYvbnVsbCB8IGhlYWQgLTgwOyBjYXJnbyBpbmZvIHF0X2NvcmUgMj4vZGV2L251bGwgfCBoZWFkIC01MDsgY2FyZ28gc2VhcmNoIHJpdHVhbCAtLWxpbWl0IDEwIiwidGltZW91dCI6MTIwfX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfUDBvRU5Sb0VlQ3JhcDdrbG5zejllemNlfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTAzOWJlNDgxOTFiM2ViZjY0OTljMzBjM2U3IiwibmFtZSI6IndlYl9zZWFyY2giLCJhcmd1bWVudHMiOnsicXVlcnkiOiJSdXN0IFF0IFdpZGdldHMgY3JhdGUgcXRfd2lkZ2V0cyByaXR1YWwgZXhhbXBsZSBRQXBwbGljYXRpb24gMjAyNSJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTIzNywib3V0cHV0IjoxODcsImNhY2hlUmVhZCI6ODg1NzYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6ODgsInRvdGFsVG9rZW5zIjo5MDAwMCwiY29zdCI6eyJpbnB1dCI6MC4wMDYxODUsIm91dHB1dCI6MC4wMDU2MSwiY2FjaGVSZWFkIjowLjA0NDI4OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDU2MDgzfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MzE5ODM0LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGRmODhhODg4MTkxOGQ1MjkwM2FlZmZkYzdkOCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJlMjgwNDJhMyIsInBhcmVudElkIjoiOTRiYWJiZjUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAyOjIyLjE2OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfTU5xMFAxazVUMkNRc2lKQzVvaE1KeXczfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTAzOWJkMDgxOTE5ZDEyMjM5YjZmMGY4YzRiIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoicXRfd2lkZ2V0cyAjZ3VpICNmZmkgI3F0ICNyaXR1YWxcbkJpbmRpbmdzIGZvciBRdFdpZGdldHMgQysrIGxpYnJhcnlcbnZlcnNpb246IDAuNS4wXG5saWNlbnNlOiBNSVQgT1IgQXBhY2hlLTIuMFxucnVzdC12ZXJzaW9uOiB1bmtub3duXG5kb2N1bWVudGF0aW9uOiBodHRwczovL3J1c3QtcXQuZ2l0aHViLmlvL3J1c3Rkb2MvcXQvcXRfd2lkZ2V0c1xucmVwb3NpdG9yeTogaHR0cHM6Ly9naXRodWIuY29tL3J1c3QtcXQvcml0dWFsXG5jcmF0ZXMuaW86IGh0dHBzOi8vY3JhdGVzLmlvL2NyYXRlcy9xdF93aWRnZXRzLzAuNS4wXG5mZWF0dXJlczpcbiAgcml0dWFsX3J1c3Rkb2MgICAgICAgICA9IFtxdF9jb3JlL3JpdHVhbF9ydXN0ZG9jLCBxdF9ndWkvcml0dWFsX3J1c3Rkb2NdXG4gIHJpdHVhbF9ydXN0ZG9jX25pZ2h0bHkgPSBbcXRfY29yZS9yaXR1YWxfcnVzdGRvY19uaWdodGx5LCBxdF9ndWkvcml0dWFsX3J1c3Rkb2NfbmlnaHRseV1cbnF0X2NvcmUgI2d1aSAjZmZpICNxdCAjcml0dWFsXG5CaW5kaW5ncyBmb3IgUXRDb3JlIEMrKyBsaWJyYXJ5XG52ZXJzaW9uOiAwLjUuMFxubGljZW5zZTogTUlUIE9SIEFwYWNoZS0yLjBcbnJ1c3QtdmVyc2lvbjogdW5rbm93blxuZG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9ydXN0LXF0LmdpdGh1Yi5pby9ydXN0ZG9jL3F0L3F0X2NvcmVcbnJlcG9zaXRvcnk6IGh0dHBzOi8vZ2l0aHViLmNvbS9ydXN0LXF0L3JpdHVhbFxuY3JhdGVzLmlvOiBodHRwczovL2NyYXRlcy5pby9jcmF0ZXMvcXRfY29yZS8wLjUuMFxuZmVhdHVyZXM6XG4gIHJpdHVhbF9ydXN0ZG9jICAgICAgICAgPSBbXVxuICByaXR1YWxfcnVzdGRvY19uaWdodGx5ID0gW11cbnJpdHVhbCA9IFwiMC4wLjBcIiAgICAgICAgICAgICAgICMgQXV0b21hdGljIGdlbmVyYXRvciBvZiBDKysgbGlicmFyeSB3cmFwcGVyc1xucml0dWFsLWNsaSA9IFwiMC4xLjBcIiAgICAgICAgICAgIyBtaW5pbWFsIENMSSBoYWJpdCB0cmFja2VyXG5yaXR1YWxfY29tbW9uID0gXCIwLjQuMFwiICAgICAgICAjIENvbW1vbiB1dGlsaXRpZXMgZm9yIHJpdHVhbCBhbmQgcml0dWFsX2J1aWxkXG5yaXR1YWxfYnVpbGQgPSBcIjAuNC4wXCIgICAgICAgICAjIEJ1aWxkIHNjcmlwdCBpbXBsZW1lbnRhdGlvbiBmb3IgQysrIGxpYnJhcnkgd3JhcHBlcnNcbnF0X3JpdHVhbF9jb21tb24gPSBcIjAuNC4wXCIgICAgICMgQ29tbW9uIHV0aWxpdGllcyBmb3IgZ2VuZXJhdGluZyBhbmQgYnVpbGRpbmcgUnVzdC1RdCBjcmF0ZXNcbnF0X3JpdHVhbF9idWlsZCA9IFwiMC41LjBcIiAgICAgICMgQnVpbGQgc2NyaXB0IGltcGxlbWVudGF0aW9uIGZvciBSdXN0IFF0IGNyYXRlc1xucXRfcml0dWFsID0gXCIwLjAuMFwiICAgICAgICAgICAgIyBHZW5lcmF0b3Igb2YgUnVzdC1RdCBjcmF0ZXNcbmNvbW1vbnNlbnNlID0gXCIwLjAuMVwiICAgICAgICAgICMgUGVyc29uYWwgcml0dWFsIGxpYnJhcnkgb2YgZXJnb25vbWljIFJ1c3QgdXRpbGl0aWVzXG5pc29jbGluZS1wcm90b2NvbCA9IFwiMC4xLjBcIiAgICAjIFdpcmUgdHlwZXMgc2hhcmVkIGJldHdlZW4gaXNvY2xpbmUtc2RrIGFuZCBpc29jbGluZS1nYXRld2F5LiBXb3JrZXJJbnB1dCwgV29ya2VyUmVzdWx0LCBUaWNrS2luZOKAplxuY3BwX3N0ZCA9IFwiMC4xLjFcIiAgICAgICAgICAgICAgIyBCaW5kaW5ncyBmb3IgQysrIHN0YW5kYXJkIGxpYnJhcnlcbi4uLiBhbmQgNzMgY3JhdGVzIG1vcmUgKHVzZSAtLWxpbWl0IE4gdG8gc2VlIG1vcmUpXG5ub3RlOiB0byBsZWFybiBtb3JlIGFib3V0IGEgcGFja2FnZSwgcnVuIGBjYXJnbyBpbmZvIDxuYW1lPmBcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTM0MjE2OH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImI3MTk1NzhlIiwicGFyZW50SWQiOiJlMjgwNDJhMyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDI6MjIuMTY4WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9QMG9FTlJvRWVDcmFwN2tsbnN6OWV6Y2V8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlMDM5YmU0ODE5MWIzZWJmNjQ5OWMzMGMzZTciLCJ0b29sTmFtZSI6IndlYl9zZWFyY2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIxLiBHZXR0aW5nIHN0YXJ0ZWQgLSBSaXR1YWxcbmh0dHBzOi8vcnVzdC1xdC5naXRodWIuaW8vcXQvZ2V0dGluZ19zdGFydGVkL1xuXG4yLiBxdF93aWRnZXRzIC0gUnVzdCAtIERvY3MucnNcbmh0dHBzOi8vZG9jcy5ycy9xdF93aWRnZXRzL2xhdGVzdC9xdF93aWRnZXRzL1xuXG4zLiBSaXR1YWwgLSBSaXR1YWxcbmh0dHBzOi8vcnVzdC1xdC5naXRodWIuaW8vXG5cbjQuIHF0X3dpZGdldHMgLSBSdXN0IC0gRG9jcy5yc1xuaHR0cHM6Ly9kb2NzLnJzL3F0X3dpZGdldHMvMC40LjEvcXRfd2lkZ2V0cy9pbmRleC5odG1sXG5cbjUuIEdpdEh1YiAtIHJ1c3QtcXQvcml0dWFsOiBVc2UgQysrIGxpYnJhcmllcyBmcm9tIFJ1c3QgwrcgR2l0SHViXG5odHRwczovL2dpdGh1Yi5jb20vcnVzdC1xdC9yaXR1YWwifV0sImRldGFpbHMiOnsicmVzdWx0cyI6W3sidGl0bGUiOiJHZXR0aW5nIHN0YXJ0ZWQgLSBSaXR1YWwiLCJ1cmwiOiJodHRwczovL3J1c3QtcXQuZ2l0aHViLmlvL3F0L2dldHRpbmdfc3RhcnRlZC8iLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6InF0X3dpZGdldHMgLSBSdXN0IC0gRG9jcy5ycyIsInVybCI6Imh0dHBzOi8vZG9jcy5ycy9xdF93aWRnZXRzL2xhdGVzdC9xdF93aWRnZXRzLyIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiUml0dWFsIC0gUml0dWFsIiwidXJsIjoiaHR0cHM6Ly9ydXN0LXF0LmdpdGh1Yi5pby8iLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6InF0X3dpZGdldHMgLSBSdXN0IC0gRG9jcy5ycyIsInVybCI6Imh0dHBzOi8vZG9jcy5ycy9xdF93aWRnZXRzLzAuNC4xL3F0X3dpZGdldHMvaW5kZXguaHRtbCIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiR2l0SHViIC0gcnVzdC1xdC9yaXR1YWw6IFVzZSBDKysgbGlicmFyaWVzIGZyb20gUnVzdCDCtyBHaXRIdWIiLCJ1cmwiOiJodHRwczovL2dpdGh1Yi5jb20vcnVzdC1xdC9yaXR1YWwiLCJzbmlwcGV0IjoiIn1dfSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTM0MjE2OH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjlmODljYWY1IiwicGFyZW50SWQiOiJiNzE5NTc4ZSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDI6MjkuNzE3WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipQbGFubmluZyBSdXN0IHJld3JpdGUgd2l0aCBxdF93aWRnZXRzKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUwZjgzMDQ4MTkxODdmMjNmYjk3MTA4MjA5NVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjRVOG9uVUItaHUtUnducUtKZkpjZ044OGJKSU1QOVc1UzFBZHV0OVk0TFFaOERRQmJZYWtrZGJQYXF6T3ozS01WemVSeUlmUm5VQklaM0l0RlV0MUFRbWlfd1lpSjdBMlJaaHA4Q2xHdVk4N2gyeVNObU04TjBfUWZteW1TemNCWEJvelpYMUljSzNsV3E1a1FOU18wcnRuTkRmV281UTNQdDktc0NwdXMzRFRqUzZlR3lCRGpybEV6YUV1YkZPdmJOMTV5UUx0dkJEN3RUTVdoUXNUb2FvOERIbHZPMWxWby1QOVB3WFdtajFpaTJaNVRYbzRvSjAxYWwtdkhHcV9GQ3JwOEVuZlJ1ZVlrRzJCaDcyQ2pKVkVDeFBPMkpEM043MEVrR1FET3NURjJVN0stRTRzbzNBeGxxNW1YbEhrUGhyM2ZJZVZiV0NuQnEzZ09vQzFCQ2g3NHpiUDQtcktUdXRHNWQtTVVtMktJMVc2RnBsQWpZdkpkMDJudG5sblJ2RjVuTVprTjJRMFFQNTdxS295M1p3ck1mak9WV3hCeUtMMV9tdy1lQjFGN2RqQ2xORTRQZk5lNXFzUm1BLW5maDdldTZmSkJwSFVvZ0t4VjFabHI4LXljUHo2YS1fQUxfLWNET0ZYU3RUbzdyRnhxbEFOc1BIc1NYYVMwbS1ZNHZkVVhYUGxxM1FRTDVFYmVYZzhmUllKa2k5TU1tSEltQ2o2YUNaMzBjZkhQcFVhMFVwaVdRWTlfeDRFcC15cGNnX05ndklWU2s3VWV0bHZfNXhfWGNDMTJ4X3c0OGh6anJzTmRRbEl1bDE0WXh6WmVDQTg1WnpqeUVtX2xmWVB3WnFvb3hpYWxlNl8xYVlwUDNDZFhkNVRzdWJJRUhQUldjLTdUTFdOUEcyNng1ZjVva1lNQm9PZFA4aXVlWXd5cDgxT0JMMGZkbUFhU0l6cFh6eUJNVFduN2dVSFZXQWZUV1l3Sm9FZjktd19fM2plT2JsblhEMmhUSXd2UDFGNVlKZGI4Y2pUaGZtMWh5ZnZvUkZnVm5NZHZUNUhhMzRKb1h0ZkFsRGVvQ0NGTDNQVm92Uk9ubkVBRVNoNThTR3NUTlBsTVlHTkV3NUFVWjRxWER0OE92QXk2ZkJYU1JHWEZ3ZThmaTlraHhoeElNSFRHZXdNSHZRTHd0SVdwSEI1V0xXX3NQeF93Wnctc1FIR0NZRDJjSU5uaEE4RU42QUdUd2hlZmpvQ1BSdnoxRGVzNmJ2NDFUdGFFdU15d3lXTzhYVHN6d3VZcDBXelJWbmhnTmFtaXpaSDFsb1ViZVAteFFONVhjMDc1UnViMG9YUW85cU5POTk4aHhHdWhPZ05uRkZZaUs1Wjdjc0NBVkg5ejVrSjdIR1I2ZDVxczZVT3AxUjR1QXJ2VnRqQ29aWTRpbk5SbkNlY0FfTFBqX295Q0tTT29YMkplc2UwelBUcFFZRkp1UTNRMm5kSEUwaGo3VEYwLWc0TU9TU3FLbTNJRTNVT0FzekZjcE12Zzd6a2hzVXZlalBLYlpvYW51X0p5TkdWQTkwb1JuSDNNN2JVOVNrZFlQRFEyTVV4Qi1SdHNMeVlmYVROelVIU0Jscnl3ZjdXWUN0dlBrX2tBWVlWNm1NRks5cEtGaDQxbEJMOXhndGh3N3RqSGRHcjFqU29HWHRXQ3pXdFRqVVo3TlhhVDBGd2VWRHplMmQ4TW5yVzF1QTRLcThDWjRZN1kxbTNKWTY4NmtzLVUzWXd6dnQtMmt1Y3dUUjJZUjEycFhNQlNjdGF1eGt5MElncUoxa1l6WGRWUjJKRkttM2JJNUs3cjNpOXAxaTBZbXluUmFFTHRwbnp6Q183RC0tc2s5YTQ0U1I2bTNKeENLd3g0NlRzMURMM2o5dlVoaVNubG5Bd1VmTXZxdmRsRGlpejhmUUY2V2ZjVnBuaHYtOVpIQzdaZDlHeVJXdHZKcFNiaUoyQ2R2dTc5NldZVzk0cmY1RjNmalpKYjJxN3RXdndmMkJwSXc1dy1OVE5VaUwtaV9Vb1BVQ1oxbC1HbW8tR2lSNVpUWndHN1ZjWUNRb2I3VXQ5MDNhdlY3dWRtSVlsY1ZxSGFlOWJHSDlUOXk5bG4xN2dEZTlyTFpSaksyQm9hZkE4YVU5bzEwc1BkNXdkLTdYSExBMG5KNFJEMno2Z0hheWVjYXJLeWFMRTBONVNHLWJRbXhsek13SWpiMGw1RkViRzc5UGU4bUw0UTBJWHh5cXVvTnNvd1M5V1FyQlI2MlItZjUwUWhLMHJhUjgwQlFIcDgzZ1U5akpHaEthRFNLZmdwa1ZmbU1vdz09XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBSdXN0IHJld3JpdGUgd2l0aCBxdF93aWRnZXRzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX05XbzlBNUdva0FCVXVWcmFUZnNDamZzbnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUxNDQ1ZDg4MTkxYTFlZmYyMWFmOGM5YzIwMCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJmaW5kIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYyAtbWF4ZGVwdGggMiAtdHlwZSBkIC1uYW1lICdxdF93aWRnZXRzLTAuNS4wJyAtbyAtbmFtZSAncXRfY29yZS0wLjUuMCc7IGZpbmQgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovcXRfd2lkZ2V0cy0wLjUuMCAtbWF4ZGVwdGggMiAtdHlwZSBmIHwgaGVhZCAtMjAgMj4vZGV2L251bGwifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEwNzEsIm91dHB1dCI6MjI5LCJjYWNoZVJlYWQiOjg5NjAwLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjEzMSwidG90YWxUb2tlbnMiOjkwOTAwLCJjb3N0Ijp7ImlucHV0IjowLjAwNTM1NSwib3V0cHV0IjowLjAwNjg3LCJjYWNoZVJlYWQiOjAuMDQ0OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDU3MDI1fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MzQyMTcxLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUwZTg3NjQ4MTkxOGQwMmUwODg5NGM5MDI1MCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJjYjE5ODM5YyIsInBhcmVudElkIjoiOWY4OWNhZjUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAyOjI5Ljc5MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfTldvOUE1R29rQUJVdVZyYVRmc0NqZnNufGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTE0NDVkODgxOTFhMWVmZjIxYWY4YzljMjAwIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF9jb3JlLTAuNS4wXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjBcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRfd2lkZ2V0cy0wLjUuMC9DYXJnby50b21sLm9yaWdcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRfd2lkZ2V0cy0wLjUuMC9yaXR1YWxfZGJfdjEuanNvblxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wL0NhcmdvLnRvbWxcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRfd2lkZ2V0cy0wLjUuMC9idWlsZC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wLy5jYXJnb192Y3NfaW5mby5qc29uXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjAvLmNhcmdvLW9rXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjAvdGVzdHMvbW9kZWxfaW5kZXhfbGlzdC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wL3Rlc3RzL3B1c2hfYnV0dG9uLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjAvYnVpbGRfc2NyaXB0X2RhdGEuanNvblxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wL2NfbGliL2ZpbGUxLmNwcFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wL2NfbGliL3F0X3dpZGdldHNfY19nbG9iYWwuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wL2NfbGliL0NNYWtlTGlzdHMudHh0XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjAvY19saWIvc2l6ZWRfdHlwZXMuY3h4XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjAvc3JjL2xpYi5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wL3NyYy9mZmkuaW4ucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRfd2lkZ2V0cy0wLjUuMC9zcmMvb3BzLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjAvc3JjL2ltcGxfcV9hcHBsaWNhdGlvbi5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wL3NyYy9xX2RyYXdfYm9yZGVyX3BpeG1hcC5yc1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MzQ5NzkwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiY2VjYzBjOWEiLCJwYXJlbnRJZCI6ImNiMTk4MzljIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMjozNS4zOTBaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkFzc2Vzc2luZyBDKysgcHJlc2VuY2UgaW4gYmluZGluZ3MgcGFja2FnZSoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlMTc5NTcwODE5MWJhN2E5ZTIyM2ZiNjdkMmVcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk40Yk55eXZBZk5vVnhfTjhjX1VoazFHdHJESkF0XzBHZW9GdU9NSDBaeWVYYUlTWGNqcjl1X3lvdERleFNiZjl3WGFCTm1CNmQ2clZpdkpJWjJpdzdWbTd4OTBJbjc0RFlXam5fYkZFOHFpSWhhSy1qYzVvT0hFdlNBTmptWS03TmNhZDhhZTFaTE1hQ25FQ1hqU3REWWJWX2d4Zl9UQlZvT0x6YVNtbkEyTnJBRTFqak1rci1COTFNWDhEUWl2NmtLWVpOX0ItNER2OElXc1lQcGRwRlk3UXpQSmdZaGgybHYtTFVreXVjTV9mUnFVQ19aRk1ZbGhhS0VQUWYxZGpWQWVBc0ZlTnJTSHhVMzdmRm52UjBtTkZPY2tnUGVHc1paX0drTGwxRVlRemRNSHB6STJzQ29xUFFmdGVyc0dHQjRzMmdTMG9nb1RkX1lJbHhSel9LN3J6V1ZCU3J5Zk1aTjl2QmxlWkFBWDVWZm1xRHdfVlVLcjFONjR6cHBnMllBYkxERVdKU2c0ajhJUTc0NHFOX0R5dWMxUFRhQ0kzeFltSzVSb0tNNDJzSE1rMFBWYjFBQjctcDBPNS1XR3RJTmN5VXYtWjRKbnl3Y0NVVUY4Qm9GRGx1cTBFMW8tTTR6MmhJWFQ0ZElfUnlUOGU3U1Faa0g5LXd4amNiUkxLeXZXQ2loOUdPbHFkS3dFeGlTMVR5bmJGcklzWjBvTkdFLVhucU9HbDVobVN5OEo1TEJxUWRHVlBkbHpIMXozazBnSlVJVGhfM2YxSGl6YmVMbnVVc1pRY0xUdGU2STZkUmdxMFNGb0UxenEwa1FUb0pkM1RjYnVZM09FVHRUZ05TLXFEaVpySGhWX2Jqa3RvSWt0UFFEa2FvcXZfTUtHZ2lnTDBDS1A0YzdvWVF1aENDSmtwaFlPU1BicktZWVdCdGJqQzlUTUp6VHBiZU1FdW4yUEJnQTYxQzctUERZa3h5MDhJckIwMkxtM21ZRzZWN3U2UHBLWjhRLXpSUEZsQ1d4Rm5neEd1d2J2Q3lSTVl0YXNzVjg2WHJhaXY4ektyWHNCeVd2WVJjZXNqZEJlSGd2X2RRMFFDVTU2WFhQRGpHRHhyS2F6VVA0Y1B2QUZDQ0I4alVBd29PaXRMSFZqeE1GSDVkX0FQSWJnRlB4bVVNTDc2d0lKdWVSLWRXMmhOcUMzTS0xWGNPMFNVVlh3T21qdnVEMDd0NjRfbGpyTTM5R0lDVVY1aGVHUmMxNnhlSDhDTS1tMTk0N0k2VHhhOEdXRmo0U1BFUG1LdWhpdHRZYU1Fc2stYzR4SjQzbmJ0dVRYdTNhOTU0WDhaMzdUcHZ6T0lkU0JNZVlGalY4T2FFSFZnWm9JMUhyVGZZQXMzS1ZlYWpmSVFSVV9rNE51VGZmNk5JRUNscVlGWUprOHlIQ3BMQi1wNTlzNTg5X3REby1UVno0RTgwWXFTUlFPeGJlSWNHb1VkUT09XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipBc3Nlc3NpbmcgQysrIHByZXNlbmNlIGluIGJpbmRpbmdzIHBhY2thZ2UqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfUFFObmY0ejVXdE9mc2tGdTVERm1uOGpyfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTFiM2E3MDgxOTFiYmY2OTBjNzIwMDNkNGE3IiwibmFtZSI6InJlYWQiLCJhcmd1bWVudHMiOnsicGF0aCI6Ii9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRfd2lkZ2V0cy0wLjUuMC90ZXN0cy9wdXNoX2J1dHRvbi5ycyJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9OREJEdXhCYjhWSXNLdEw3VDZleDhXcjN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlMWIzYTgwODE5MTg3MWYzYmI0YmY0Yjg1MmMiLCJuYW1lIjoid2ViX2ZldGNoIiwiYXJndW1lbnRzIjp7InVybCI6Imh0dHBzOi8vcnVzdC1xdC5naXRodWIuaW8vcXQvZ2V0dGluZ19zdGFydGVkLyIsIm1heENoYXJzIjoxNTAwMH19LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX1FkcHAwYmtYTVRlazE2elVYbDlScm5zbXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUxYjNhOGM4MTkxOGQwZmViNTAwYTkwNzVhNSIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJmaW5kIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL3F0X3dpZGdldHMtMC41LjAvZXhhbXBsZXMgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovcXRfY29yZS0wLjUuMC9leGFtcGxlcyAtdHlwZSBmIDI+L2Rldi9udWxsIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyMTYzLCJvdXRwdXQiOjIwMCwiY2FjaGVSZWFkIjo4OTYwMCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjozMSwidG90YWxUb2tlbnMiOjkxOTYzLCJjb3N0Ijp7ImlucHV0IjowLjAxMDgxNTAwMDAwMDAwMDAwMiwib3V0cHV0IjowLjAwNiwiY2FjaGVSZWFkIjowLjA0NDgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA2MTYxNX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTM0OTc5MywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlMTYyN2EwODE5MTg5YWQzMDNkOGQ0NmY1YjQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYjA0ZDcxMDUiLCJwYXJlbnRJZCI6ImNlY2MwYzlhIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMjozNi4zNzJaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1BRTm5mNHo1V3RPZnNrRnU1REZtbjhqcnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUxYjNhNzA4MTkxYmJmNjkwYzcyMDAzZDRhNyIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6InVzZSBxdF93aWRnZXRzOjp7cXRfY29yZTo6UVN0cmluZywgUUFwcGxpY2F0aW9uLCBRUHVzaEJ1dHRvbn07XG5cbiNbdGVzdF1cbmZuIHB1c2hfYnV0dG9uMSgpIHtcbiAgICBRQXBwbGljYXRpb246OmluaXQofF98IHVuc2FmZSB7XG4gICAgICAgIGxldCBidG4gPSBRUHVzaEJ1dHRvbjo6ZnJvbV9xX3N0cmluZygmUVN0cmluZzo6ZnJvbV9zdGRfc3RyKFwiZmlyc3RfYnV0dG9uXCIpKTtcbiAgICAgICAgbGV0IHRleHQgPSBidG4udGV4dCgpLnRvX3N0ZF9zdHJpbmcoKTtcbiAgICAgICAgYXNzZXJ0X2VxISgmdGV4dCwgXCJmaXJzdF9idXR0b25cIik7XG4gICAgICAgIDBcbiAgICB9KVxufVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MzU2MzcyfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMTYxZTcyZGYiLCJwYXJlbnRJZCI6ImIwNGQ3MTA1IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMjozNi4zNzJaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX05EQkR1eEJiOFZJc0t0TDdUNmV4OFdyM3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUxYjNhODA4MTkxODcxZjNiYjRiZjRiODUyYyIsInRvb2xOYW1lIjoid2ViX2ZldGNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU291cmNlOiBodHRwczovL3J1c3QtcXQuZ2l0aHViLmlvL3F0L2dldHRpbmdfc3RhcnRlZC9cblxuR2V0dGluZyBzdGFydGVkIC0gUml0dWFsIFJpdHVhbCBVc2UgQysrIGxpYnJhcmllcyBmcm9tIFJ1c3QgQWJvdXQgUml0dWFsIFJ1c3QgKyBRdCBndWlkZSBCbG9nIEdldHRpbmcgc3RhcnRlZCBUbyB1c2UgUXQgZnJvbSBSdXN0LCBhZGQgdGhlIGNyYXRlcyBhcyBkZXBlbmRlbmNpZXMgdG8geW91ciBDYXJnby50b21sICwgZm9yIGV4YW1wbGU6IFtkZXBlbmRlbmNpZXNdIHF0X3dpZGdldHMgPSBcIjAuNVwiIEVhY2ggY3JhdGUgcmUtZXhwb3J0cyBpdHMgZGVwZW5kZW5jaWVzLCBzbywgZm9yIGV4YW1wbGUsIHlvdSBjYW4gYWNjZXNzIHF0X2NvcmUgYXMgcXRfd2lkZ2V0czo6cXRfY29yZSB3aXRob3V0IGFkZGluZyBhbiBleHBsaWNpdCBkZXBlbmRlbmN5LiBZb3UgY2FuIGFsc28gYWRkIHRoZW0gYXMgZGlyZWN0IGRlcGVuZGVuY2llcyBmb3IgY29udmVuaWVuY2UsIGJ1dCBtYWtlIHN1cmUgdG8gdXNlIGNvbXBhdGlibGUgdmVyc2lvbnMuIFNlZSBydXN0LXF0L2V4YW1wbGVzIHJlcG9zaXRvcnkgdG8gc2VlIGhvdyB0byB1c2UgdGhlIEFQSSBwcm92aWRlZCBieSBRdCBjcmF0ZXMuIE1vc3Qgb2YgdGhlIFF0IEFQSSBpcyB0cmFuc2xhdGVkIHRvIFJ1c3QgYXMtaXMgd2hlbiBwb3NzaWJsZS4gSWRlbnRpZmllcnMgYXJlIG1vZGlmaWVkIGFjY29yZGluZyB0byBSdXN0JnJzcXVvO3MgbmFtaW5nIGNvbnZlbnRpb24uIE92ZXJsb2FkZWQgbWV0aG9kcyAobWV0aG9kcyBhY2NlcHRpbmcgbXVsdGlwbGUgc2V0cyBvZiBhcmd1bWVudCB0eXBlcykgYXJlIHdyYXBwZWQgYXMgZGlzdGluY3QgUnVzdCBtZXRob2RzIHdpdGggc3VmZml4ZXMgdGhhdCBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZW0uIEluIG1hbnkgY2FzZXMsIHlvdSBjYW4gYWRkcmVzcyB0aGUgUXQgZG9jdW1lbnRhdGlvbiBhbmQgdHJhbnNsYXRlIGV4YW1wbGVzIGZyb20gaXQgYWxtb3N0IGRpcmVjdGx5IHRvIFJ1c3QgY29kZS4gQ3JhdGUgZG9jdW1lbnRhdGlvbiAoYXZhaWxhYmxlIG9uIGRvY3MucnMgb3IgdGhyb3VnaCBjYXJnbyBkb2MgKSBmZWF0dXJlcyBlbWJlZGRlZCBRdCBkb2N1bWVudGF0aW9uLiBJbiBhZGRpdGlvbiwgUnVzdCBjcmF0ZXMgcHJvdmlkZSBzb21lIGhlbHBlcnMgdG8gaW1wcm92ZSBlcmdvbm9taWNzOiBRdCBhcHBsaWNhdGlvbiBvYmplY3RzICggUUFwcGxpY2F0aW9uICwgUUd1aUFwcGxpY2F0aW9uICwgUUNvcmVBcHBsaWNhdGlvbiApIHJlcXVpcmUgYXJnYyBhbmQgYXJndiB0byBiZSBwcmVzZW50LCBhbmQgdGhlc2UgYXJlIG5vdCBhdmFpbGFibGUgZGlyZWN0bHkgaW4gUnVzdC4gVXNlIGluaXQgaGVscGVycyB0byBpbml0aWFsaXplIHRoZSBhcHBsaWNhdGlvbiBjb3JyZWN0bHk6IGZuIG1haW4gKCkgeyBRQXBwbGljYXRpb24gOjogaW5pdCAoIHwgYXBwIHwgdW5zYWZlIHsgLy8uLi4gfSkgfSBxdF9jb3JlIHByb3ZpZGVzIEFQSSBmb3IgdXNpbmcgc2lnbmFscyBhbmQgc2xvdHMgY29udmVuaWVudGx5LiBZb3UgY2FuIGNvbm5lY3QgYnVpbHQtaW4gc2lnbmFscyB0byBidWlsdC1pbiBzbG90cyBsaWtlIHRoaXM6IGxldCBtdXQgdGltZXIgPSBRVGltZXIgOjogbmV3XzBhICgpOyB0aW1lciAuIHRpbWVvdXQgKCkuIGNvbm5lY3QgKCBhcHAgLiBzbG90X3F1aXQgKCkpOyBZb3UgY2FuIGFsc28gY29ubmVjdCBzaWduYWxzIHRvIFJ1c3QgY2xvc3VyZXMgKHNlZSBiYXNpY19mb3JtIGV4YW1wbGUgOiBsZXQgYnV0dG9uX2NsaWNrZWQgPSBTbG90Tm9BcmdzIDo6IG5ldyAoIE51bGxQdHIgLCBtb3ZlIHx8IHsgLi4uIH0pOyBidXR0b24gLiBjbGlja2VkICgpLiBjb25uZWN0ICggJiBidXR0b25fY2xpY2tlZCApOyBZb3UgY2FuIGFsc28gY3JlYXRlIGFuZCBlbWl0IHNpZ25hbHM6IHVzZSBxdF9jb3JlIDo6IHsgUVRpbWVyICwgU2lnbmFsT2ZJbnQgfTsgbGV0IHNpZ25hbCA9IFNpZ25hbE9mSW50IDo6IG5ldyAoKTsgbGV0IHRpbWVyID0gUVRpbWVyIDo6IG5ld18wYSAoKTsgc2lnbmFsIC4gY29ubmVjdCAoIHRpbWVyIC4gc2xvdF9zdGFydCAoKSk7IHNpZ25hbCAuIGVtaXQgKCAxMDAgKTsgQ29tcGF0aWJpbGl0eSBvZiBzaWduYWwmcnNxdW87cyBhbmQgc2xvdCZyc3F1bztzIGFyZ3VtZW50cyBpcyBjaGVja2VkIGF0IGNvbXBpbGUgdGltZS4gTm90ZSB0aGF0IGVhY2ggc2V0IG9mIGFyZ3VtZW50IHR5cGVzIHJlcXVpcmVzIGEgc2VwYXJhdGUgUnVzdCB0eXBlIG9mIHNpZ25hbCBvciBzbG90IChlLmcuIFNsb3ROb0FyZ3MgLCBTbG90T2ZJbnQgLCBldGMuKS4gT3RoZXIgY3JhdGVzIG1heSBhbHNvIHByb3ZpZGUgbmV3IHNpZ25hbCBhbmQgc2xvdCBvYmplY3RzIChlLmcuIHF0X3dpZGdldHM6OlNsb3RPZlFUcmVlV2lkZ2V0SXRlbSApLiBRU3RyaW5nOjpmcm9tX3N0ZF9zdHIgLCBRU3RyaW5nOjp0b19zdGRfc3RyaW5nICwgUUJ5dGVBcnJheTo6ZnJvbV9zbGljZSAsIGFuZCBpbXBsPCdhPiBGcm9tPCYnYSBRU3RyaW5nPiBmb3IgU3RyaW5nIHByb3ZpZGUgY29udmVyc2lvbnMgZnJvbSBRdCZyc3F1bztzIHR5cGVzIHRvIFJ1c3QgdHlwZXMgYW5kIGJhY2suIFFGbGFncyBnZW5lcmljIHR5cGUgbWltaWNzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIEMrKydzIFFGbGFncyBjbGFzcy4gcWRiZyBmdW5jdGlvbiBmcm9tIHF0X2NvcmUgd3JhcHMgYSBwcmludGFibGUgKHdpdGggUURlYnVnICkgUXQgb2JqZWN0IGludG8gYSBzaGltIG9iamVjdCB0aGF0IGltcGxlbWVudHMgUnVzdCZyc3F1bztzIGZtdDo6RGVidWcgLiBFZGl0IG9uIEdpdEh1YiBQcmV2IC0gU2V0dGluZyB1cCBOZXh0IC0gU21hcnQgcG9pbnRlcnMgUG93ZXJlZCBieSBIdWdvIC4gVGhlbWUgYnkgVGVjaERvYyAuIERlc2lnbmVkIGJ5IFRoaW5nc3ltIC4gSG9tZSBBYm91dCBSaXR1YWwgU2V0dGluZyB1cCBSdW5uaW5nIGdlbmVyYXRvciBSdXN0ICsgUXQgZ3VpZGUgU2V0dGluZyB1cCBHZXR0aW5nIHN0YXJ0ZWQgU21hcnQgcG9pbnRlcnMgVW5zYWZldHkgRGVwbG95bWVudCBQcm9jZXNzaW5nIGEgQysrIGxpYnJhcnkgU2V0dGluZyB1cCBSdW5uaW5nIGdlbmVyYXRvciJ9XSwiZGV0YWlscyI6eyJ1cmwiOiJodHRwczovL3J1c3QtcXQuZ2l0aHViLmlvL3F0L2dldHRpbmdfc3RhcnRlZC8iLCJjb250ZW50VHlwZSI6InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIsInRydW5jYXRlZCI6ZmFsc2V9LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MzU2MzcyfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNWQxNzMxMTgiLCJwYXJlbnRJZCI6IjE2MWU3MmRmIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMjozNi4zNzJaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1FkcHAwYmtYTVRlazE2elVYbDlScm5zbXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUxYjNhOGM4MTkxOGQwZmViNTAwYTkwNzVhNSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IihubyBvdXRwdXQpXG5cbkNvbW1hbmQgZXhpdGVkIHdpdGggY29kZSAxIn1dLCJkZXRhaWxzIjp7fSwiaXNFcnJvciI6dHJ1ZSwidGltZXN0YW1wIjoxNzg0OTk1MzU2MzcyfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZDQ5YzAxY2QiLCJwYXJlbnRJZCI6IjVkMTczMTE4IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMjozOS42MTRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUxZTg5YWM4MTkxOTUyMzQwYWViM2FiNTM0NlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjRmMWt1cFhPalRQcU1nVUxaaUVaWXVnYWZzMVN3SmtHV1ZGM21ULTgzMkprbmQwZ3JLdlQtZTB4TUdmTjFYejVjejJDQjlQR2N2c0ZvTjNhcjNxUkQwcWtUa0tqYVdMUHAzcWxSV3Q4dlFmUTA5cXp4Sjc4TlE1YkJoQVNBNDFwbS1zeElYc1FaaWo1THVZM2pLeGUyQWdadlZ1dFFHWlBiYzFucVBodm9GTXk2QWNlazJpZ3JybHpSenlKc21OeDdBSUM3LVhZc3ViVmZsS1FQQUM3a0FHT3N4LXlrMk5Day0zWTBjRWFKc3NycmRKZGtEMkNhbkJvV1V3dWI0Z0o2aUd6aEkzQWQ0a0xaamllTkk5X3RXOTNTOUxIekNLQkZGMXU0T28xc1E5VnBmeGc0eFY0S280NVNLckZieDhULUR5QUg4MVlFTHFCLU5zeW95N3M3cWl4Q3VGMEp5aVhYQVdTNEFCTkt0Ql9CNVZFd2dPa2tHVnF3SFkxLTZfMDhmVGtENjIyTW5kQ042TW8wLTNaR2NacWpYVWNwMF9IREZ6OEVEWGM0cGt1Qnl5blBmWmFDcWFHVmd2blYwLTdDTEcwWXQwdkFFSmNaejVadkdJRm1kVTR5b0VuY0hJSEpoMG8tZXd4azVPSUhvTmhBOXhNNmV4TFlaR044TVJBc3RvSHZrcjEwX1RpalQ1QXF1RVBDM2YweXhGN2wxNnpJMk1GZ2lKa3lpQTBDRW5oVUhuNVJhUmM2M01ySlBSZmJwYTAxWHJzaVRmajBhT0hRR3hWNGRUTHl6anl6RnVrTm5uYktQcElHd1VLcG5kaklLdENfOGZ1VWhOaERaUkJMd2dQaGNPOVp4TUdKbVFRZmZ5TGVoeTN2bEx4UjRLV0RJaTRzeUhYMjdMYTFHX19oajFHaUJkcUNHV3BtOVVlMTFfb3FBWmw1aF9DTW4tSUEtZ0sySUFXVk4tazBlT3hwamxVSllzYWtxdUJVSTdraENsN3hHVzhkX084MFhqOEttcjl1d2lhV0NnWGFEdjRkM3dFTHZDUTJYejd2MHJrSU5vWVc3WUJFMHNYMzN5UkQtMm1NWWZQTS1qMDAzQ2VkSTVuTFk5aGRNRnBWaF9xVkoxelhRYTdNQ3RISXotM3pKa1VHeW41V1ZIcWRwWUl4YXVnUWtZc2psVlFfOFR2NGtIRHMtRDkxVkN5bFQ4YWQwaWdWSjBveThQQ1F0aWh2d3hXZHJnaklBeTlfTkI5dzhPZ183b3djMEJBdWpyVnczR3djRzU5alBrLVlnNVVmX1I3MjZLdz09XCIsXCJzdW1tYXJ5XCI6W119In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfRVV3c2QwWFI3WHZJb3JDUHd2MjhCSkk4fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTFmMWY5ODgxOTFhYTEyMjRiODYzNmU2NmU4IiwibmFtZSI6IndlYl9zZWFyY2giLCJhcmd1bWVudHMiOnsicXVlcnkiOiJnaXRodWIgcnVzdC1xdCBleGFtcGxlcyBiYXNpY19mb3JtIHF0X3dpZGdldHMgU2xvdE5vQXJncyJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTA4OSwib3V0cHV0Ijo0MSwiY2FjaGVSZWFkIjo5MTY0OCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxMCwidG90YWxUb2tlbnMiOjkyNzc4LCJjb3N0Ijp7ImlucHV0IjowLjAwNTQ0NSwib3V0cHV0IjowLjAwMTIzLCJjYWNoZVJlYWQiOjAuMDQ1ODI0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNTI0OTl9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTUzNTYzNzUsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTFjYjVlYzgxOTE5NGM1OTcyM2Y5MDM4ZmM0In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjE0ZWIzYzk5IiwicGFyZW50SWQiOiJkNDljMDFjZCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDI6NDEuMzY0WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9FVXdzZDBYUjdYdklvckNQd3YyOEJKSTh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlMWYxZjk4ODE5MWFhMTIyNGI4NjM2ZTY2ZTgiLCJ0b29sTmFtZSI6IndlYl9zZWFyY2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIxLiBleGFtcGxlcy93aWRnZXRzL2Jhc2ljX2Zvcm0vc3JjL21haW4ucnMgYXQgbWFzdGVyIMK3IHJ1c3QtcXQgLi4uIC0gR2l0SHViXG5odHRwczovL2dpdGh1Yi5jb20vcnVzdC1xdC9leGFtcGxlcy9ibG9iL21hc3Rlci93aWRnZXRzL2Jhc2ljX2Zvcm0vc3JjL21haW4ucnNcblxuMi4gUnVzdCArIFF0IGV4YW1wbGVzIC0gR2l0SHViXG5odHRwczovL2dpdGh1Yi5jb20vcnVzdC1xdC9leGFtcGxlc1xuXG4zLiBHZXR0aW5nIHN0YXJ0ZWQgLSBSaXR1YWxcbmh0dHBzOi8vcnVzdC1xdC5naXRodWIuaW8vcXQvZ2V0dGluZ19zdGFydGVkL1xuXG40LiBxdF93aWRnZXRzIC0gUnVzdCAtIERvY3MucnNcbmh0dHBzOi8vZG9jcy5ycy9xdF93aWRnZXRzL2xhdGVzdC9xdF93aWRnZXRzL1xuXG41LiBxdF93aWRnZXRzIC0gUnVzdCAtIERvY3MucnNcbmh0dHBzOi8vZG9jcy5ycy9xdF93aWRnZXRzLzAuNC4xL3F0X3dpZGdldHMvaW5kZXguaHRtbCJ9XSwiZGV0YWlscyI6eyJyZXN1bHRzIjpbeyJ0aXRsZSI6ImV4YW1wbGVzL3dpZGdldHMvYmFzaWNfZm9ybS9zcmMvbWFpbi5ycyBhdCBtYXN0ZXIgwrcgcnVzdC1xdCAuLi4gLSBHaXRIdWIiLCJ1cmwiOiJodHRwczovL2dpdGh1Yi5jb20vcnVzdC1xdC9leGFtcGxlcy9ibG9iL21hc3Rlci93aWRnZXRzL2Jhc2ljX2Zvcm0vc3JjL21haW4ucnMiLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6IlJ1c3QgKyBRdCBleGFtcGxlcyAtIEdpdEh1YiIsInVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9ydXN0LXF0L2V4YW1wbGVzIiwic25pcHBldCI6IiJ9LHsidGl0bGUiOiJHZXR0aW5nIHN0YXJ0ZWQgLSBSaXR1YWwiLCJ1cmwiOiJodHRwczovL3J1c3QtcXQuZ2l0aHViLmlvL3F0L2dldHRpbmdfc3RhcnRlZC8iLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6InF0X3dpZGdldHMgLSBSdXN0IC0gRG9jcy5ycyIsInVybCI6Imh0dHBzOi8vZG9jcy5ycy9xdF93aWRnZXRzL2xhdGVzdC9xdF93aWRnZXRzLyIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoicXRfd2lkZ2V0cyAtIFJ1c3QgLSBEb2NzLnJzIiwidXJsIjoiaHR0cHM6Ly9kb2NzLnJzL3F0X3dpZGdldHMvMC40LjEvcXRfd2lkZ2V0cy9pbmRleC5odG1sIiwic25pcHBldCI6IiJ9XX0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTUzNjEzNjR9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI0NDI1NWZmYiIsInBhcmVudElkIjoiMTRlYjNjOTkiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAyOjQ0LjcyMFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfYVdzaE1DVmxPNEJzaFRMUmVRS2JGeWFDfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTIzZjY0YzgxOTE5NjVjNDQ1MmJhMTczZWI3IiwibmFtZSI6IndlYl9mZXRjaCIsImFyZ3VtZW50cyI6eyJ1cmwiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcnVzdC1xdC9leGFtcGxlcy9tYXN0ZXIvd2lkZ2V0cy9iYXNpY19mb3JtL3NyYy9tYWluLnJzIiwibWF4Q2hhcnMiOjIwMDAwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEyNjksIm91dHB1dCI6NDAsImNhY2hlUmVhZCI6OTE2NDgsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MCwidG90YWxUb2tlbnMiOjkyOTU3LCJjb3N0Ijp7ImlucHV0IjowLjAwNjM0NTAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMTIwMDAwMDAwMDAwMDAwMDEsImNhY2hlUmVhZCI6MC4wNDU4MjQsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA1MzM2OX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTM2MTM2NywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlMjI1YTU4ODE5MWI1ZjNkMmUzOWU3OTY1MzYifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNDQ5NjdlNTMiLCJwYXJlbnRJZCI6IjQ0MjU1ZmZiIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMjo0NS43MDFaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2FXc2hNQ1ZsTzRCc2hUTFJlUUtiRnlhQ3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUyM2Y2NGM4MTkxOTY1YzQ0NTJiYTE3M2ViNyIsInRvb2xOYW1lIjoid2ViX2ZldGNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU291cmNlOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcnVzdC1xdC9leGFtcGxlcy9tYXN0ZXIvd2lkZ2V0cy9iYXNpY19mb3JtL3NyYy9tYWluLnJzXG5cbiMhW3dpbmRvd3Nfc3Vic3lzdGVtID0gXCJ3aW5kb3dzXCJdXG5cbnVzZSBjcHBfY29yZTo6e1B0ciwgUmVmLCBTdGF0aWNVcGNhc3R9O1xudXNlIHF0X2NvcmU6Ontxcywgc2xvdCwgQ29udGV4dE1lbnVQb2xpY3ksIFFCb3gsIFFPYmplY3QsIFFQb2ludCwgU2xvdE5vQXJnc307XG51c2UgcXRfd2lkZ2V0czo6e1xuICAgIFFBY3Rpb24sIFFBcHBsaWNhdGlvbiwgUUxpbmVFZGl0LCBRTWVudSwgUU1lc3NhZ2VCb3gsIFFQdXNoQnV0dG9uLCBRVGFibGVXaWRnZXQsXG4gICAgUVRhYmxlV2lkZ2V0SXRlbSwgUVZCb3hMYXlvdXQsIFFXaWRnZXQsIFNsb3RPZlFQb2ludCwgU2xvdE9mUVRhYmxlV2lkZ2V0SXRlbVFUYWJsZVdpZGdldEl0ZW0sXG59O1xudXNlIHN0ZDo6cmM6OlJjO1xuXG5zdHJ1Y3QgRm9ybSB7XG4gICAgd2lkZ2V0OiBRQm94PFFXaWRnZXQ+LFxuICAgIGxpbmVfZWRpdDogUUJveDxRTGluZUVkaXQ+LFxuICAgIGJ1dHRvbjogUUJveDxRUHVzaEJ1dHRvbj4sXG4gICAgdGFibGU6IFFCb3g8UVRhYmxlV2lkZ2V0Pixcbn1cblxuaW1wbCBTdGF0aWNVcGNhc3Q8UU9iamVjdD4gZm9yIEZvcm0ge1xuICAgIHVuc2FmZSBmbiBzdGF0aWNfdXBjYXN0KHB0cjogUHRyPFNlbGY+KSAtPiBQdHI8UU9iamVjdD4ge1xuICAgICAgICBwdHIud2lkZ2V0LmFzX3B0cigpLnN0YXRpY191cGNhc3QoKVxuICAgIH1cbn1cblxuaW1wbCBGb3JtIHtcbiAgICBmbiBuZXcoKSAtPiBSYzxGb3JtPiB7XG4gICAgICAgIHVuc2FmZSB7XG4gICAgICAgICAgICBsZXQgd2lkZ2V0ID0gUVdpZGdldDo6bmV3XzBhKCk7XG4gICAgICAgICAgICBsZXQgbGF5b3V0ID0gUVZCb3hMYXlvdXQ6Om5ld18xYSgmd2lkZ2V0KTtcblxuICAgICAgICAgICAgbGV0IGxpbmVfZWRpdCA9IFFMaW5lRWRpdDo6bmV3KCk7XG4gICAgICAgICAgICBsYXlvdXQuYWRkX3dpZGdldCgmbGluZV9lZGl0KTtcblxuICAgICAgICAgICAgbGV0IGJ1dHRvbiA9IFFQdXNoQnV0dG9uOjpmcm9tX3Ffc3RyaW5nKCZxcyhcIlN0YXJ0XCIpKTtcbiAgICAgICAgICAgIGJ1dHRvbi5zZXRfZW5hYmxlZChmYWxzZSk7XG4gICAgICAgICAgICBsYXlvdXQuYWRkX3dpZGdldCgmYnV0dG9uKTtcblxuICAgICAgICAgICAgbGV0IHRhYmxlID0gUVRhYmxlV2lkZ2V0OjpuZXdfMGEoKTtcbiAgICAgICAgICAgIHRhYmxlLnNldF9jb250ZXh0X21lbnVfcG9saWN5KENvbnRleHRNZW51UG9saWN5OjpDdXN0b21Db250ZXh0TWVudSk7XG4gICAgICAgICAgICB0YWJsZS5zZXRfcm93X2NvdW50KDIpO1xuICAgICAgICAgICAgdGFibGUuc2V0X2NvbHVtbl9jb3VudCgxKTtcblxuICAgICAgICAgICAgbGV0IGl0ZW0xID0gUVRhYmxlV2lkZ2V0SXRlbTo6bmV3KCkuaW50b19wdHIoKTtcbiAgICAgICAgICAgIGl0ZW0xLnNldF90ZXh0KCZxcyhcIkl0ZW0gMVwiKSk7XG4gICAgICAgICAgICB0YWJsZS5zZXRfaXRlbSgwLCAwLCBpdGVtMSk7XG5cbiAgICAgICAgICAgIGxldCBpdGVtMiA9IFFUYWJsZVdpZGdldEl0ZW06Om5ldygpLmludG9fcHRyKCk7XG4gICAgICAgICAgICBpdGVtMi5zZXRfdGV4dCgmcXMoXCJJdGVtIDJcIikpO1xuICAgICAgICAgICAgdGFibGUuc2V0X2l0ZW0oMSwgMCwgaXRlbTIpO1xuXG4gICAgICAgICAgICBsYXlvdXQuaW5zZXJ0X3dpZGdldF8yYSgwLCAmdGFibGUpO1xuXG4gICAgICAgICAgICB3aWRnZXQuc2hvdygpO1xuXG4gICAgICAgICAgICBsZXQgdGhpcyA9IFJjOjpuZXcoU2VsZiB7XG4gICAgICAgICAgICAgICAgd2lkZ2V0LFxuICAgICAgICAgICAgICAgIGJ1dHRvbixcbiAgICAgICAgICAgICAgICBsaW5lX2VkaXQsXG4gICAgICAgICAgICAgICAgdGFibGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuaW5pdCgpO1xuICAgICAgICAgICAgdGhpc1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5zYWZlIGZuIGluaXQoc2VsZjogJlJjPFNlbGY+KSB7XG4gICAgICAgIHNlbGYuYnV0dG9uXG4gICAgICAgICAgICAuY2xpY2tlZCgpXG4gICAgICAgICAgICAuY29ubmVjdCgmc2VsZi5zbG90X29uX2J1dHRvbl9jbGlja2VkKCkpO1xuICAgICAgICBzZWxmLmxpbmVfZWRpdFxuICAgICAgICAgICAgLnRleHRfZWRpdGVkKClcbiAgICAgICAgICAgIC5jb25uZWN0KCZzZWxmLnNsb3Rfb25fbGluZV9lZGl0X3RleHRfZWRpdGVkKCkpO1xuICAgICAgICBzZWxmLnRhYmxlXG4gICAgICAgICAgICAuY3VycmVudF9pdGVtX2NoYW5nZWQoKVxuICAgICAgICAgICAgLmNvbm5lY3QoJnNlbGYuc2xvdF9vbl90YWJsZV9jdXJyZW50X2l0ZW1fY2hhbmdlZCgpKTtcbiAgICAgICAgc2VsZi50YWJsZVxuICAgICAgICAgICAgLmN1c3RvbV9jb250ZXh0X21lbnVfcmVxdWVzdGVkKClcbiAgICAgICAgICAgIC5jb25uZWN0KCZzZWxmLnNsb3Rfb25fdGFibGVfY29udGV4dF9tZW51X3JlcXVlc3RlZCgpKTtcbiAgICB9XG5cbiAgICAjW3Nsb3QoU2xvdE5vQXJncyldXG4gICAgdW5zYWZlIGZuIG9uX2xpbmVfZWRpdF90ZXh0X2VkaXRlZChzZWxmOiAmUmM8U2VsZj4pIHtcbiAgICAgICAgc2VsZi5idXR0b24uc2V0X2VuYWJsZWQoIXNlbGYubGluZV9lZGl0LnRleHQoKS5pc19lbXB0eSgpKTtcbiAgICB9XG5cbiAgICAjW3Nsb3QoU2xvdE5vQXJncyldXG4gICAgdW5zYWZlIGZuIG9uX2J1dHRvbl9jbGlja2VkKHNlbGY6ICZSYzxTZWxmPikge1xuICAgICAgICBsZXQgdGV4dCA9IHNlbGYubGluZV9lZGl0LnRleHQoKTtcbiAgICAgICAgUU1lc3NhZ2VCb3g6OmluZm9ybWF0aW9uX3Ffd2lkZ2V0Ml9xX3N0cmluZyhcbiAgICAgICAgICAgICZzZWxmLndpZGdldCxcbiAgICAgICAgICAgICZxcyhcIkV4YW1wbGVcIiksXG4gICAgICAgICAgICAmcXMoXCJUZXh0OiBcXFwiJTFcXFwiLiBDb25ncmF0dWxhdGlvbnMhXCIpLmFyZ19xX3N0cmluZygmdGV4dCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgI1tzbG90KFNsb3RPZlFUYWJsZVdpZGdldEl0ZW1RVGFibGVXaWRnZXRJdGVtKV1cbiAgICB1bnNhZmUgZm4gb25fdGFibGVfY3VycmVudF9pdGVtX2NoYW5nZWQoXG4gICAgICAgIHNlbGY6ICZSYzxTZWxmPixcbiAgICAgICAgY3VycmVudDogUHRyPFFUYWJsZVdpZGdldEl0ZW0+LFxuICAgICAgICBwcmV2aW91czogUHRyPFFUYWJsZVdpZGdldEl0ZW0+LFxuICAgICkge1xuICAgICAgICBpZiAhcHJldmlvdXMuaXNfbnVsbCgpIHtcbiAgICAgICAgICAgIGxldCBmb250ID0gcHJldmlvdXMuZm9udCgpO1xuICAgICAgICAgICAgZm9udC5zZXRfYm9sZChmYWxzZSk7XG4gICAgICAgICAgICBwcmV2aW91cy5zZXRfZm9udCgmZm9udCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgIWN1cnJlbnQuaXNfbnVsbCgpIHtcbiAgICAgICAgICAgIGxldCBmb250ID0gY3VycmVudC5mb250KCk7XG4gICAgICAgICAgICBmb250LnNldF9ib2xkKHRydWUpO1xuICAgICAgICAgICAgY3VycmVudC5zZXRfZm9udCgmZm9udCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjW3Nsb3QoU2xvdE9mUVBvaW50KV1cbiAgICB1bnNhZmUgZm4gb25fdGFibGVfY29udGV4dF9tZW51X3JlcXVlc3RlZChzZWxmOiAmUmM8U2VsZj4sIHBvczogUmVmPFFQb2ludD4pIHtcbiAgICAgICAgbGV0IGdsb2JhbF9wb3MgPSBzZWxmLnRhYmxlLnZpZXdwb3J0KCkubWFwX3RvX2dsb2JhbChwb3MpO1xuICAgICAgICBsZXQgbWVudSA9IFFNZW51OjpuZXcoKTtcbiAgICAgICAgbWVudS5hZGRfYWN0aW9uX3Ffc3RyaW5nKCZxcyhcIkZha2UgYWN0aW9uIDFcIikpO1xuICAgICAgICBtZW51LmFkZF9hY3Rpb25fcV9zdHJpbmcoJnFzKFwiRmFrZSBhY3Rpb24gMlwiKSk7XG5cbiAgICAgICAgbGV0IGFjdGlvbjMgPSBRQWN0aW9uOjpmcm9tX3Ffc3RyaW5nKCZxcyhcIlJlYWwgYWN0aW9uXCIpKTtcbiAgICAgICAgbWVudS5hZGRfYWN0aW9uKCZhY3Rpb24zKTtcblxuICAgICAgICBsZXQgYWN0aW9uID0gbWVudS5leGVjXzFhX211dCgmZ2xvYmFsX3Bvcyk7XG4gICAgICAgIGxldCBtZXNzYWdlID0gaWYgYWN0aW9uLmlzX251bGwoKSB7XG4gICAgICAgICAgICBcIk5vIGFjdGlvbiBzZWxlY3RlZCFcIi50b19zdHJpbmcoKVxuICAgICAgICB9IGVsc2UgaWYgYWN0aW9uLmFzX3Jhd19wdHIoKSA9PSBhY3Rpb24zLmFzX3Jhd19wdHIoKSB7XG4gICAgICAgICAgICBcIlJlYWwgYWN0aW9uIHNlbGVjdGVkIVwiLnRvX3N0cmluZygpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmb3JtYXQhKFwiRmFrZSBhY3Rpb24gc2VsZWN0ZWQgKHt9KVwiLCBhY3Rpb24udGV4dCgpLnRvX3N0ZF9zdHJpbmcoKSlcbiAgICAgICAgfTtcbiAgICAgICAgUU1lc3NhZ2VCb3g6OmluZm9ybWF0aW9uX3Ffd2lkZ2V0Ml9xX3N0cmluZygmc2VsZi53aWRnZXQsICZxcyhcIkV4YW1wbGVcIiksICZxcyhtZXNzYWdlKSk7XG4gICAgfVxufVxuXG5mbiBtYWluKCkge1xuICAgIFFBcHBsaWNhdGlvbjo6aW5pdCh8X3wgdW5zYWZlIHtcbiAgICAgICAgbGV0IF9mb3JtID0gRm9ybTo6bmV3KCk7XG4gICAgICAgIFFBcHBsaWNhdGlvbjo6ZXhlYygpXG4gICAgfSlcbn0ifV0sImRldGFpbHMiOnsidXJsIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3J1c3QtcXQvZXhhbXBsZXMvbWFzdGVyL3dpZGdldHMvYmFzaWNfZm9ybS9zcmMvbWFpbi5ycyIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRydW5jYXRlZCI6ZmFsc2V9LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MzY1NzAxfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMGZmZGFmNTgiLCJwYXJlbnRJZCI6IjQ0OTY3ZTUzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMzoxMS45NjRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIFJ1c3QgcG9ydCB3aXRoIFF0IHNsb3RzKipcblxuKipBc3Nlc3NpbmcgUXQgd2lkZ2V0IG93bmVyc2hpcCBhbmQgZGlhbG9ncyoqXG5cbioqRGVzaWduaW5nIHNsb3QgY2xvc3VyZXMgd2l0aCBSYyBhbmQgV2VhayoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlMjg4MzBjODE5MWEwNjViMjg2NDY5Yzk0NDRcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk40X2t3X3JuU0VHbGZQc1ZVU3VlSjF6OXkybXgzNlFGSWc5NnZEa2JFVEgyRlRJbjQzaHRZb0IySW5UNi1GYWVsQVBlRkpieGNWdVZtRnRCc3hNTzQtWDNvQi1zenNPY0liRUpVZENfX21OOGd4cENvQkVKREtnZTZVMjcwWlpza0d2ZjFaemRlRmdPcnhmUnBWMjl4NE0tLVlzRmROX2VMUnhFRERCWXZlNVItWWRXOXBEc2JGVUJjV01sTi1odEZRTDd3N3ZWS0xoWDVCR3A2ZnMyYzBud0laQ3V5Smd0NWJDck96bVNPTXFMZEZGZXNFVXFtVHFOZ0JGdVYtb1VBdWx0anJ5QVBZcUUzLVN5MV9CQ3h3VTFiZi1FT0dZSlotZ1p2WWczLXZQZXNOV2dzWHlEZ2hOY0lBRHhQTmRFYjNoR21yXzJsNmpQd25VaEJRSHZVUVVJTUxnRzliWHZCS01ZN2J6X1RobXJ2bVg0SlNiejhROVNmQUNZRkpCUzZucTJ4MjJCQkM1VGZEZVYyYllwQ01JVWxvMTJmeEgtTGw1dy1uM3FUblV6a1lRMmJGYlFvMU9FUlZrOGVPUkpjdDlJTW1PczhhU2NNWjY1bXpVNVhuNUNkdTZUTTlQYXNCS09sTWJCSEJZMDJyU0VMTzhuNWdadFBnZG5tX01WZnVLZ2h2aHdhMGs2VmNid0MtUXFBRHgzcG9VakJGaEZOV1VVejJtVHlQbE8wZ1ZpQ1RtV2JDRG1CSktOa0JIeG5mMnZoWGc1cWtqUlQ1VmRHSjROd0VnMlAzaTlRUjFwTjAyeGxTb2xmX0dFSWRscHRmQWVVSUZZR25xZHpGRUJWaTJ5Nm9lTFV4NTlYbmNUeWpCSnZzcENzcTU2azdyMnVMWkZnRDRGS0dYRFNybVZ0aGQ4elVLekxFUzJjSlFQNVNTam51QTh5MzA4ZEF3S1ZmLWM4Z0pTalg0WVhmc3pHM2poQ25jRE5FdS1TQ2MtNDJGbGo2QUZickt4Z0l2Z0o2RzdjWGUwY0hnRTh4OWdIZ09fSk5mcUpqX0d1X3VuSUE2RktQRUljWUM3UktlZ0FGa2ZWQ1R1dDFKUjRLRG94ZlBSUXk4c1RYanVVVmJ6X0RRTDVhQ0dQQloyRWxxZm5pT2ZRNkZqSWs0d0VaU2p1QnZGRkJJclBhQ05XN2Rra1lLdGJZbHJtZ3QyX1JfN28wM3l5SnNSZHAzWjRwZkMyYU9CaFZNbkZsdXQ3NV8xR29LX0pTVm1NYjE4bHRrN1NMWkhHZWtvM19Cd0tNem1KOWpFZFREV29fcGszMGpzMHhqVVBnTjdUZ3hsUGtBNFQ4YnJFanpfdDR6ckcwbEFMbWlMVm5VV1JyOUphNklMZ2cwUG5pcGNySWhBcTZIYnRQQWlVdlRGaXpUX1pYVUkxNGt6LWlETWZtSlRFb29PTHp6c29Rb2ZYcjFyRmxfRXcwZGFDZ2ZCeW8yZVNqSGYtMldBSUluVGpfT1daejMzTmJIX0VfN05MVFZNY1hLODNRWnVEaDFTakpTU3pSSGtiSEpIeGFwckM5M3VUcWctdkFBVHVtZzY2dEtWQm9JaHhsY09WYmJSOS01dmNFeDl3VldiUFhFdHdYZ2ZKaGhRQ2NQaTlMUG5vcGVjUzBxdmZtZ0tPdVFlWFFZbEJkUGNhcVZPNm5ZQkJHeURvajB3QzlJbXU2UzlaOEpvbDJhSlNVVExXdTRnMkQ4VWFUQ2xxek1LS0RsejU0Q2h3eFV4Q2laaDFib1B3TDRQRk50a3VYZVJLeVR2UUZWTjZHNnE4Q0htX1psWXRXajJQckxRdUEyTGNRQUM4OFFqRXpfY2wwSFg2RXByOEJLVzRxRHZPWXNFZ1ZiSlI5dXRveTQtVG5RdUNDNzd5X1hpUFg5WUZYUXkwWGxKRXlaMWNBUnF5ZGdmSGNEYWhwSmlRWVQxc19XbXhhUjNZZHg4Tk0yYkVaY29tQVBCTUpaeGFxMDRwNndVRk5mdlJvNGpqcHp3c1BCR2xGQkY5T1BUT3hNTEFNa051M3ZucEVMU0J3bm9aZlNYSGxDbTQyVjlLR01iUmtvdjNiLWxmQ0hvNFR1ZVd6V184Vk13M3VIOXhTUzZrREk5UUZOclJCMDNfUUVyR1pZbWFrS29XMVFyak9Vdkxfa0p0ZlJDV3FFUGR2akNDSkgyMXJiQXVESTlhTDducy0xWkVDZ1RJOXNfbUlfN3NYSjZ3VURiY0duXzZuV3FFcllISWY1TXZGakdqcEh4ZHIwOWhqWDFLQzNMNGkwalFhZXk1cm5sQmZ5R1k2a19iYkltbFgxM2t1X0x2UFFhZHFiRzhLNG9FZnR5eHR0X3YzUXhUM09CVG9qNkJ3TzNzRXh0Q25HTl9TcHVWOWl6WGRWVjVNeG1rdTZfaDZZbk02dWpIYVUweUR1Skc0M3BzUkktblh2ZzQwUFYzQjIxZFlFV3ZKMEJUODlCN0RxM3AtMUl3UVBJaDdnc2VfcV9nVkhwZGdkRktMcURhbnZBcERJR2tlUmFBVk9oRjVvYmotNDFoYmdWMjJoOGxCdTYzY0tQOEo4UVRTT2tPZEFkUzB3WXh4VjUyS1JxY2cyQ1pLbW12cW9PeGZqRmI5YVlWX3MyM3V1WFRiSmgxNWNncjY3SUZjSU9HSWU2c1oxQk1lMGE1ODJwYWt0bjRPSUNPX2NMdXYzV1BCTTNlRnYzOHM0U2JROU91TmtZd2c2MVRobXUyenBzM21veXdGalNCUENaNmkwRW9lUGp5UUE0b0xTYlBfbWl6dTBUZU9kVUliS0tzLTh2VC05eC1uWURkU1U5dV8zYWV6eGkxWEI3dlRhdjh1UlljLW1ydXJudEpQZ0NEalgzaVJIcjN4MHBiQlp6emdEeWNFSmhhLTJCbmFLNTdUbFB2S1RFSEo3T3U2My1QYWxzLU02SW9LejJaa3Nmb0ltZG5wSDl4OXhHemk5SHZhUEFVbW1MQi1UWWVveXprOGtNd2pGTzg3SUl5alJVeVlybWNCQWVFUTRjdkhROXlZd1R3MXRVdkVJbTRweG13NFJZOFhkdkRIRlRja0IzalZpdUc1WU0wdzFsaHE2eVJZbF9aT2tiYS1YSlN2MzdCUXdkNDhBd2tIUUZYcVdJMGppMUpzaktWZFhIRVRNYW8zNWg5Z2ZVSkN2WnRKYXFHcEhqNTZjeWtzbXkxWHRwUm5zQXRBMWRnRWxsRWNzNHBoVS1CNFIzRDhBWlJzUTZkdzAtZXRVbG1pcmhOb05OcXpRYTRYTjRoek9NcGMwcmRZTkJlRDhhM3dic0VCZ1h4UmhsQnI3TUtrb1MyZkhiQXdUYWFPdGlfWmlYVEFQTEUxWUhRRlFFTmJ3aXgzSzFaeldRNWFHNHMwWi1FdWM2aXZoUlM2UXBjbGxXLXFBeVA1Z2VKSVo1bzRlM3FZMHlZU19iQWZ2UjcxSEt3a0R6dnNjTWlPbG4yb2NLV2pVWHV1dW9td2lLRXFYYkRZNENiMmlTZFhoVW4wTDlQWUZWZ3Y2U0tzWnZxWVVjMjJDeHZLdmlDa0JYeldGTVNiNlRtbVZxdlJVdVlwNExjUEFnQ1AyVDBYS3c2c2FsSHFtbkVZUjJJWjQxODRLbGl0bXpZaDYxbUkwT18tYXBxckE0dnF6YVlwdjc2eHBYNnBoS1BYNV9pTTB2a1dUX2dFWXpOVE03RXliQzd1VWp2V2pRbkNLSmgtZUZIRFAzQTF4NjhmcHFHcFJueFRvTU02dm5SUkNvMlJPUkhPVm9aV1dIRmppajFyYXQ4enBBaTdOSVhfR1UxU1hJbUEtM2lnajl4QUY5OVU4Ty0zQXdEQlNaZFU0TXFIZ0Y2LXVzWF84S0N6dzhQZDk0VG1tcjB3VkEteDc3Yi1oVnFOTHlVaXgwVzBTTDJZOEEtUE0tZVJjVnI4YzVtNDZJMjhwa2tCbGVVekl5djY3ejdPYllHQW1fbU92aUFwLTNlY0lkRUFKbHNxTWdoQzlidVBBcFBrdFJUMXMwc01VTG0wb3RJZUFfeHNyZHV3bmdlUExzVjNhVGZKVXZidVBtWng3SnZXVlFJMEd4UEZhcXQ1R2VoY2ZYQWZCTjVWMEpHS0hnUXltTHVpVWNJYWJsLXVWZEVjU0NJNUFITlA5dmZYUEFsdWkyVi1uOEJQZkttTWVENE9xNnBQOWdaWUp2WVFfVk5OQzRiUUpGMWhPRlBteExnSHk1NDN5ZGNUVk4wRy12S1JQVDBuS1BRZk5zallBd1NXUVNZLUtfSG8xemtCQ1AwdzhMbXExN2NBRWhoemF2X1luNnZzVnVnNzRQa1NyZUlWcnJwbGZBQ3k3a1NjR0MxYnhPMW1aMWxiN2p1d3BhdnItVF9lbjR4ZmlIMU5SSWhJaUVIM2FvSVN0NldRQzlndXNQMzlaVWdLdEsweFJMV2l2NDBmV05YbjhXNzN0bkNZWm1qblV4eXhHX3FjZ3BqREdwUFk2MTB3bFdLcW5GaVhtUGpHOEw1UkZOSkN0aWdha25iTXFDU1hqbFduYkMyVW1vbHNGamlveVFtNy0xM1dyY004aHJIRHZGUjFCd3Y0S2NQczZ0NWo5RDdXbFgxal9xLWlMQ3hNTlp4VTZhMUZocWRnRGpVem0zNHBRZzlGcDhvUGhremVHbi1YX2swSXNCLXlOaC15MmpXeHQwVVlneWVhbGVlRmdfNFRGMFM0cVFfNGFURVRtUVJ1R1lScjZvMjVmcy1Wa3FSakkwMjNpd0hPc0RNS2FEdjFpblVPU3FpVm9jZXpoNS15T2tMZlNyUEo4Rll5NHBtWXh1amk4MGtBbjNOT0JSRXZzMm5OeGNWbE9rMndYaFk4SkNTc1AwY2FiQ0VldEE1S0lMWkNET1B1WE5IbVNxU2dLNi1GM1c3MF9rUGhLRXZHZVFabHVpOHFNbXA5djQtMVVmdEhuWXJCdWFhMVYtVXMtTVdhV2pvX0M2Z3QwQlNJUWVQQUR2ekdDN1c4bDVHc2hUSWNmR0ltNnlTZzRGTjZubkZRYzlmV1VuY1RBcnN4QkxfMHUzcE1GNGZxWU1aVmd3UjR5YlZwTTBJSjFqdXZqTXFDSVJYaDN4OUdDbzRxSFhsN2g2b29GVGM1ZjRMUUp5d1VaSlBrU3lHUkhwUnZ0RVFDRV9xX0xLaVpUdkotM1hLdzk2N0lWMkFKS05uV2xMOVhKbEswRTV5OEl2d0FqbHl6QUhUVU0xQ2ZRcjJTcUh0ekRsbDJPaU83UnQ5azdNVHQtWDFxT0VDcWVVcXlsYUtlbjlLT2JHdXVzU08xTzZyMWZ4M3ZLYnF4R0ZydDlsYjB6bDVXcmZ5LVpGaTJDQ2VLVnZPTU5ObjZGTlZIYlhIVW53cTJYcGtJSkdSSGRCRmhxQUk2eXU4Y2R4d3o1V1lKS3ZZd0ozenNZYS03UUtYZFBDTTZ4RVhoSzAtTXk2bnVqX3FHc0N2U0MzajNpbkh1MklLekUtR3hhdGY0ckpEUGtCYW5yR290TXE3Z0dDS3VZa0tjRlFnR3kyN1M1Ni1yWW9RcWhyNWhnMDVueC1mUENvTTNORkZpYVZ4UT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIFJ1c3QgcG9ydCB3aXRoIFF0IHNsb3RzKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkFzc2Vzc2luZyBRdCB3aWRnZXQgb3duZXJzaGlwIGFuZCBkaWFsb2dzKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkRlc2lnbmluZyBzbG90IGNsb3N1cmVzIHdpdGggUmMgYW5kIFdlYWsqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfYlhRbWZ6OFhlSWJzaDNGbUE0MTJPSkZ1fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTNmZDAzYzgxOTFiMGJjZmExMjZiOWZjMjI0IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJnICdwdWIgdW5zYWZlIGZuIGdldF9vcGVuX2ZpbGVfbmFtZXxwdWIgdW5zYWZlIGZuIGdldF9zYXZlX2ZpbGVfbmFtZXxwdWIgdW5zYWZlIGZuIGdldF9pdGVtJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9xdF93aWRnZXRzLTAuNS4wL3NyYy9mZmkuaW4ucnMgfCBoZWFkIC0zMCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9NUzVMN1A4U3NQZkY1bVFzaDNjMnVDczh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlM2ZkMGNjODE5MWE4Mzg1YmZkN2YwZjg2N2YiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicmcgJ3B1YiB1bnNhZmUgZm4gKGFkZF9yb3d8YWRkX3dpZGdldHxhZGRfbGF5b3V0fHNldF93aWRnZXR8c2V0X2NlbnRyYWxfd2lkZ2V0fHNldF93aW5kb3dfdGl0bGV8c2V0X3BsYWNlaG9sZGVyX3RleHR8c2V0X2NsZWFyX2J1dHRvbl9lbmFibGVkKScgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovcXRfd2lkZ2V0cy0wLjUuMC9zcmMvZmZpLmluLnJzIHwgaGVhZCAtODAifX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfeWxlTmZNcjVURDdHQWhKcGhzdjBFZTJnfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTNmZDBkODgxOTE4ODVjZWMwN2Y3ODRjMTM2IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJnICdwdWIgdW5zYWZlIGZuIChuZXdfMGF8bmV3XzFhfGZyb21fcV9zdHJpbmd8ZXhlY3xzbG90X2FjY2VwdHxjdXJyZW50X2l0ZW18c2V0X2hlYWRlcl9oaWRkZW58YWRkX3RvcF9sZXZlbF9pdGVtfGFkZF9jaGlsZCknIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL3F0X3dpZGdldHMtMC41LjAvc3JjL2ZmaS5pbi5ycyB8IGhlYWQgLTgwIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMzM3LCJvdXRwdXQiOjc0MSwiY2FjaGVSZWFkIjo5MjY3MiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo0OTksInRvdGFsVG9rZW5zIjo5NDc1MCwiY29zdCI6eyJpbnB1dCI6MC4wMDY2ODUwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMjIyMywiY2FjaGVSZWFkIjowLjA0NjMzNTk5OTk5OTk5OTk5NSwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDc1MjUxfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MzY1NzA0LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUyNjBlZGM4MTkxOTFiNWNjODE4MDdkNmIwNiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIwM2FhODQ5NSIsInBhcmVudElkIjoiMGZmZGFmNTgiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAzOjExLjk5MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfYlhRbWZ6OFhlSWJzaDNGbUE0MTJPSkZ1fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTNmZDAzYzgxOTFiMGJjZmExMjZiOWZjMjI0IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiKG5vIG91dHB1dCkifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTUzOTE5OTB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI0YmQ2NjUxZiIsInBhcmVudElkIjoiMDNhYTg0OTUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAzOjExLjk5MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfTVM1TDdQOFNzUGZGNW1Rc2gzYzJ1Q3M4fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTNmZDBjYzgxOTFhODM4NWJmZDdmMGY4NjdmIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiKG5vIG91dHB1dCkifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTUzOTE5OTB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI1ODhjNDJiMSIsInBhcmVudElkIjoiNGJkNjY1MWYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAzOjExLjk5MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfeWxlTmZNcjVURDdHQWhKcGhzdjBFZTJnfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTNmZDBkODgxOTE4ODVjZWMwN2Y3ODRjMTM2IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiKG5vIG91dHB1dCkifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTUzOTE5OTB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4NmM1ODlmMSIsInBhcmVudElkIjoiNTg4YzQyYjEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAzOjExLjk5MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiaSdtIG9rYXkgaWYgYysrIGlzIGluIGRlcGVuZGVuY2llcywgaSBkb24ndCB3YW50IGMrKyBpbiBNWSBwYXJ0IG9mIHByb2plY3QifV0sInRpbWVzdGFtcCI6MTc4NDk5NTM4ODgzMH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImI3ZDhlMzBhIiwicGFyZW50SWQiOiI4NmM1ODlmMSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDM6MTguNDg4WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipJbnNwZWN0aW5nIGdlbmVyYXRlZCBGRkkgbW9kdWxlcyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNDNhNDE4ODE5MWI5NTQzZGJiZTNmZmVlZTlcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk41RUlxcjAwV3pjZFpzUGU1QnNLckt3T0dodjRNWVRHTTJHdWtnTndaUnF3V3lQZFUtZmFOVUhsOUh4cjgzTXlkNjJ0dmFaaHNGVFNpaVBXZklKYVUxbmFZdmJyc1dJY3ZQZ3lmamUxMGYxdmsxQnZBX1FuZk5KM0lJSEpTX1BUQkp6Y0RVSk16MWRCeU55cUVTemIzT3UxYUV5R2hsclVJSGkzRlJHR2FIb2JCSktvNVA5VUtHS29wYi1GNU4yeUZGaVFHQ25XaW9ZaG1xa21NVGhmVTB4UV9kNWJxY1JNM2xwYWQ5UkFZQURoZnB5MGx4Q1NDQkhKWDNPdkJGeHF1Z000TlVISWVEaWZBUWl3MXB2eU0wUWlRME1Rd3cxcmlQdGEyNFlLLV9HVkpRYVJ0Q0FnZUkydkxUWjRydW8telAzcFNVS0pUajNENGhNcmh4UnctSEVaajczT3NET0JwSWg1M05SVTczZ2FjbERXbGVWMkpXR2RKWUhubl9ZaGFTSVo2OERiT0ZNUXBkNnl6UnJtbS1NWDMtanhrZEhjekhmaWZJZktMUDZKeHB3TzZnbTJoYVJVZXlLZ21OMjF0NmtyWnJZQ1VPRVdNOWFnZGdvXy1GT3RwdjdtRi16UWc3Q2pvQ0xUVk0yZGVtUzNVZkdwb2FYbWdFNzc3cWp5Tm9Ec3RQS3QtVWNVNUhZTXFES2JQeEZfeFNDaXBrakcyNld3ZUJlckxXaDU3d1RQOC1oZHVaWU05aWR2T2lneTNvNlVFU1BZR05ySDFxUmxtYVZIc3hCZkFxWUE0dE40UmdkcjJyWDBWNndTQVFucEZFRjI2N2RjYzZJMTdUcTU1WV9MbWFEUHlwZXkzWG5iTGZ6c09acEdmT01YNWtnaFdlM3Q3d3BuVWkyLU9GQkFUemdSdmthN3lUM1hTNWtldGZ6cGJOS2F5R2t3SVg2d1dkTmljb1VNM0plN21YV1pwTmpTT0dQWXBXTkxkbzdXQzNjaHZPQmk3YTFZZG56bjhBV1pYLXVRd2NrYkUwLUNjX21TV085Q19hTVJabGd6QzVTRURJeGFCYXFKMVJJR0lVMVBjV2JTZ3RfdHVmWjVwR3hTMmtQZ183dXBtOS1ZZXc0UHJmanZwNlNaTXN0b2hDOXhHQ1JZWjY3QWNuWHB1cVVYeE9BSDVYU2Y4VlllUDlzay10Ym5NM2NsOEFVa1EtaXJseWxCdTl0Z3lDN0Y4dXA4a2NtdUhxOVBIQ3ZZN0I4U0dybGdLM3pFLXdOSURXcktDQkxBZVg4ZnZ3UktJN29ySzc2ZGgzOVZJQm5UV1RTYnhKdW1GNEJibzQzWmJJUjVoQWZSOVFaUEcxZElkTk54VlVSMmg2Q1N5SlJUMDU5b2tFaDMzRUFUcTY5d3pJQjNUNXlCbllMNjZ5dzVDVWp5dVlGUU5VaEpwZWp0Qm5kNkdRblMxV0NmaktmT3hBYmtHd3ZCRERFa295WWtNc3RGTUdhMDdRQVh3RT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkluc3BlY3RpbmcgZ2VuZXJhdGVkIEZGSSBtb2R1bGVzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzg1N0JIZzl3TjAzSEpqWDNzUWtpY1F2N3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU0NGUwNDA4MTkxOGUyM2Q4ZDUyMTgyM2MyNyIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJncmVwIC1uICdzdHJ1Y3QgUUZpbGVEaWFsb2dcXHxpbXBsIFFGaWxlRGlhbG9nXFx8Z2V0X29wZW5fZmlsZScgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovcXRfd2lkZ2V0cy0wLjUuMC9zcmMvZmZpLmluLnJzIHwgaGVhZDsgd2MgLWwgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovcXRfd2lkZ2V0cy0wLjUuMC9zcmMvZmZpLmluLnJzOyBmaW5kIHRhcmdldC9kZWJ1Zy9idWlsZC9xdF93aWRnZXRzLSogLW5hbWUgZmZpLnJzIC1vIC1uYW1lIGdlbmVyYXRlZC5ycyB8IGhlYWQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjExMTYsIm91dHB1dCI6MTQ2LCJjYWNoZVJlYWQiOjkzNjk2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjM2LCJ0b3RhbFRva2VucyI6OTQ5NTgsImNvc3QiOnsiaW5wdXQiOjAuMDA1NTgwMDAwMDAwMDAwMDAxLCJvdXRwdXQiOjAuMDA0MzgsImNhY2hlUmVhZCI6MC4wNDY4NDgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA1NjgwOH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTM5MTk5NCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNDA3YzE0ODE5MWIwZTc2ZTFmZDgzMzZmNzUifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiY2QzNGNhZTMiLCJwYXJlbnRJZCI6ImI3ZDhlMzBhIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMzoxOC41MTBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzg1N0JIZzl3TjAzSEpqWDNzUWtpY1F2N3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU0NGUwNDA4MTkxOGUyM2Q4ZDUyMTgyM2MyNyIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IjExNzk5NiAvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjAvc3JjL2ZmaS5pbi5yc1xuZmluZDog4oCYdGFyZ2V0L2RlYnVnL2J1aWxkL3F0X3dpZGdldHMtKuKAmTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1Mzk4NTEwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZWM3MTFlNzgiLCJwYXJlbnRJZCI6ImNkMzRjYWUzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMzoyMy4xNjRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU0OTUxMTA4MTkxYjE4ZjdmZThjM2NhNDEwOVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjVKUXpfR0ZvY2R0bklkQm5acjU5NV96eUNvd2UyLUlPNmRONlAtRFFlc3l1c0g5V0VXX1RjVkJBdTREZFE1T1pQNkpDcnhYNlAxVWhKekhweWNZNkw2YXl1Z1RoR3BFRTBTZ2VyTUlSdHVxOW9aV1lGTEVOQWdzOG1fUEdvS2thX04wY1VrQnRNWlNrY3JEd016MnR0amxZVExlUmQ5OVZ3cFYxYmVIZ0p0Q2JoaEo3QXh6dkZSZlhsemt0dlVJQUxLbXAzM0ZSd1c5UEVTOTlOblFoTXdYNDZPcXhBOEpfcXc0aXJsaHpRaWZzNnNpRC1hZkJaMFZEdTZJYkRDZTYxcDB4ODhLUnNJY2dnMlhOaVRmOXR5U05XYkdyLVFURi1ia2tUcmZvZUw2Smt3bjQ3dzRWYTFqdDJlaGNjb3ItekdJNld5ZXJiX0pmejlQdE1mWEJvZ3NDMUo5TkdDVzFTN1dGUVBYcWR1TFBXd0hub2NhLTdsX1c0b2x1bnUzamZ3NlJzMkFkaEQ4M3NVakpuczFBdEdmMVZSNkxSX29CbEUtSGQtMUY5VUhxaTRaSW1wa2VxR0FYMDhaUk9HUHluMVR0Nm5XTkc2bC1aWGhpTHFxUHVsWmpoRURFc2plMkNzMnlRYTNvU2NOWFBjRFdISXBjY29Xa3hucFZXdG5zVEF3MFhiQl9jdzUxUndqMkhsbDVJM2x4NG5jd3RNUDNzRWdJM3N5T0FwUzFHZS1VMlBlQUJSUWtsUXhQeWpXLXNGY0pmdlhoa2VWTDRoRklzZDVCQVRZVDIwUzRrazR2QnAxWjYtVlRaWGxlSlpfa1Rrby16S1g2QXFUdjlRMG5nTllpREpJVFpxb01WNFhtQ2Vac1RGNHprWlFNUEF4dy15dmEtRmNPRTh2T3hOWExwSWZZTzJrOXRVQk1BVFBsZUdpbXVWMVZVdEFLU2lnVlNEYktnUHVETXJ2a1JnQlJsSWRVSF9aQzBiaW9Hck1SYjNmb0d4NXVPYXh4WUlCUno2dDNzZU0xVVBpMlRuQlVNWDRRWThhSUxuVWVOZGxaY0o2Y1dQeFM0XzB4MDZYdFREUnU0QzhsUk5meG5BWEdiUmpFQUZhSmhQYU5FUHBMM1BuMWVRN1RSS1k4bHl2dVlXbk5KV3VqZHk2TTN0N1p2Mnhnd29mXy1EQmxkZnh0bDRrUWJsS1Fwa0N5cW9zbzNKd1VWajFyOXl0TWtHdllWaFVveG9nR2RXWkU1aVJ3ZUFqcWprS2w4NzB0bm1tYnFsc1dac3FER1k1VG45endnZVpMSHVxQT09XCIsXCJzdW1tYXJ5XCI6W119In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfdXNxT2IzbmlYOHZnU09mcHZKVnNkczhYfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTQ5Y2YwYzgxOTFhZjc0MTAyOGVmOGY1NjE2IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJnICdnZXRfb3Blbl9maWxlJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9xdF93aWRnZXRzLTAuNS4wL3NyYy9mZmkuaW4ucnMgfCBoZWFkOyByZyAnUUZpbGVEaWFsb2cnIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL3F0X3dpZGdldHMtMC41LjAvc3JjL2ZmaS5pbi5ycyB8IGhlYWQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjMxMiwib3V0cHV0Ijo5MywiY2FjaGVSZWFkIjo5NDcyMCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxMSwidG90YWxUb2tlbnMiOjk1MTI1LCJjb3N0Ijp7ImlucHV0IjowLjAwMTU2MDAwMDAwMDAwMDAwMDIsIm91dHB1dCI6MC4wMDI3OSwiY2FjaGVSZWFkIjowLjA0NzM2LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNTE3MX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTM5ODUxMywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNDZkYzk4ODE5MTk4YjEzMzVjOTNmMjg1OWEifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYTE2MzAxMDEiLCJwYXJlbnRJZCI6ImVjNzExZTc4IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMzoyMy4xNzVaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX3VzcU9iM25pWDh2Z1NPZnB2SlZzZHM4WHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU0OWNmMGM4MTkxYWY3NDEwMjhlZjhmNTYxNiIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiAgICBwdWIgZm4gY3RyX3F0X3dpZGdldHNfZmZpX1FGaWxlRGlhbG9nX3N0YXRpY01ldGFPYmplY3QoKSAtPiAqY29uc3QgOjpxdF9jb3JlOjpRTWV0YU9iamVjdDtcbiAgICAvLy8gPHA+UXQgdXNlcyB0aGlzIHZhbHVlIGludGVybmFsbHksIGUuZy4gaW4gPGEgaHJlZj1cImh0dHA6Ly9kb2MucXQuaW8vcXQtNS9xZmlsZWRpYWxvZy5odG1sXCI+UUZpbGVEaWFsb2c8L2E+LjwvcD5cbiAgICAvLy8gPHA+UXQgdXNlcyB0aGlzIHZhbHVlIGludGVybmFsbHksIGUuZy4gaW4gPGEgaHJlZj1cImh0dHA6Ly9kb2MucXQuaW8vcXQtNS9xZmlsZWRpYWxvZy5odG1sXCI+UUZpbGVEaWFsb2c8L2E+LjwvcD5cbiAgICBwdWIgZm4gY3RyX3F0X3dpZGdldHNfZmZpX1FGaWxlRGlhbG9nX21ldGFPYmplY3QoXG4gICAgICAgIHRoaXNfcHRyOiAqY29uc3QgY3JhdGU6OlFGaWxlRGlhbG9nLFxuICAgIHB1YiBmbiBjdHJfcXRfd2lkZ2V0c19mZmlfUUZpbGVEaWFsb2dfcXRfbWV0YWNhc3QoXG4gICAgICAgIHRoaXNfcHRyOiAqbXV0IGNyYXRlOjpRRmlsZURpYWxvZyxcbiAgICBwdWIgZm4gY3RyX3F0X3dpZGdldHNfZmZpX1FGaWxlRGlhbG9nX3F0X21ldGFjYWxsKFxuICAgICAgICB0aGlzX3B0cjogKm11dCBjcmF0ZTo6UUZpbGVEaWFsb2csXG4gICAgcHViIGZuIGN0cl9xdF93aWRnZXRzX2ZmaV9RRmlsZURpYWxvZ190cihcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTQwMzE3NX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImRjMmUwNmFiIiwicGFyZW50SWQiOiJhMTYzMDEwMSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDM6MjYuNDI4WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipTZWFyY2hpbmcgZm9yIGdldE9wZW5GaWxlTmFtZSBmdW5jdGlvbioqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNGNmMDUwODE5MWIzYjA5Yzg2YjEwMjRjNjNcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk41TmdPZ2c2elp5NlRPWmZGLTlaakFmVklkZ0NUMHhienZEQjdaUy1nb3dXUWFuZHJkVlJmcE5vejg0cXlYVWg3MmVpRjhCbUtKZUJpdHZqY1VoMHNma3k1QU5BQnpva1ZLOHcwVktBZGpKVzRTLUcwNFZVSDZzckloVUREMUUxVmxlVkRGUEx6a0g2QUFfMzBXdnhSSVRuRzhWaC1SNDZmWDBQdkh4RzFYNXlaTzFjNG9wYjg4NDVqYUhiX2lnUm8zYlZ1NHFNQ2xHSEJRSkxiNWFHbmFJYTVmaDVqXzY1b2RqalBNR3piV0xSQ28yZmd6RnMxWk9QYkxfa1BiNHZMOHlVUXNyckpZTUwyR3BlSEpPMHFjN1B4UFlfX09IV25sX015cjF6S2pjZEdkS29zQmxmMGQyaDE5VV91djdEU01xdEZla04xT09tWjB0MUU3Znd4NEd1TV9seW5jbG4xMzJsOW1rR0Y0YUQxa19TTmlWZW9NaVpfODZJaXpOQ2pPLTM4eFpyVFRsXy1mUlZVT0htb1JIdGF2Yy02MXUxVlpiaHBsQVd6QW9QeV9VcFFYQU5TZk1YanBHd09ORHQ3OWI2djhjSGk5SlpQajJ3ZDIydUhacl94WHNIOE84SXdIU1hrZlNCY2FWR3JfVElHRUU5eEcxcVFadllNQjdmRTl5clhvMlg1ejRreVY1U3FoTFYzb0EwRlpWeUJ4OEhDU2NNeVh4STZTT0NJUkstNU5ZSEMtVmxxYmk2TFlzS3YxZThDdV9OWno1M0J1ODRlLU1LRE5zLVh3LS1SLTMwcmFhVElGWHdvaVQ4MnhaT1JiUTRZbk5teUt5ZVZWR1I5Z18zdHhYUzdrWm16c0NScjJnc0hfbmhHdjE1dkFoVnozT29uLU9qSlFPOVZGRDdheWxkTDVxZnROZzdWNzhYaUxtMnZJUllfbzRiQzlfeDkzWmdSMkUxSmJrUVRFVWNhTnozLVhLc2g2Ym5GY0k2NjZHYnBwUl84Sm9fX1JXV2JCVWd0U1ZIQ1dwbmEyc3lnVDNXMTBZRmFoUmVLZ1RaVmljanUybmFINUxjeldDOW5JSU1PRUdrVDIyNWhJR1JiejhCaHo0VlJEZUdKTFJSQ004ZkJUM3BGNGlNMVcxRk5MNmVMek0xTW9jZUJEUGNSRklyWEdDLWtaemhaX1BZZFAtUl9PRFBVR2NaaThYT1R6Ri0zX0k1Y3ByTmtMOEJBT2k2TnVyR21LS0tOVGNqM0U1SVA3akxyV0pNd1dSR01LeFJFTDctMmZ1MU1BZ2xNMm02NExOd0hIRFNYaVdfVWpydGxibVJNdFRQNktITFVYaW9aS1pWcldRQUs0c2U0R3l6cGdIYVNHdEE5aGRpbXAtLXduWlZRPT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlNlYXJjaGluZyBmb3IgZ2V0T3BlbkZpbGVOYW1lIGZ1bmN0aW9uKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX3BqaTdQZUpYdG15Wll5REI4ODhFV3V3RnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU0ZGM0NjA4MTkxOGM3ZDM3Y2EwYWQzNWMyYiIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJyZyAnZ2V0T3BlbkZpbGVOYW1lJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9xdF93aWRnZXRzLTAuNS4wL3NyYy9mZmkuaW4ucnMgfCBoZWFkIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo2MjYsIm91dHB1dCI6NzMsImNhY2hlUmVhZCI6OTQ3MjAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MjIsInRvdGFsVG9rZW5zIjo5NTQxOSwiY29zdCI6eyJpbnB1dCI6MC4wMDMxMzAwMDAwMDAwMDAwMDA0LCJvdXRwdXQiOjAuMDAyMTksImNhY2hlUmVhZCI6MC4wNDczNiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDUyNjh9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTU0MDMxNzcsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTRiOGYwYzgxOTE5ZDAwMDczMzdkNmM1NTBlIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjAyY2RhZGViIiwicGFyZW50SWQiOiJkYzJlMDZhYiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDM6MjYuNDM1WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9wamk3UGVKWHRteVpZeURCODg4RVd1d0Z8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNGRjNDYwODE5MThjN2QzN2NhMGFkMzVjMmIiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgLy8vIDxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRPcGVuRmlsZU5hbWVcIj5DKysgZG9jdW1lbnRhdGlvbjwvYT46PGRpdiBzdHlsZT0nYm9yZGVyOiAxcHggc29saWQgIzVDRkY5NTsgYmFja2dyb3VuZDogI0Q2RkZFNDsgcGFkZGluZzogMTZweDsnPjxwPlRoaXMgaXMgYSBjb252ZW5pZW5jZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIGV4aXN0aW5nIGZpbGUgc2VsZWN0ZWQgYnkgdGhlIHVzZXIuIElmIHRoZSB1c2VyIHByZXNzZXMgQ2FuY2VsLCBpdCByZXR1cm5zIGEgbnVsbCBzdHJpbmcuPC9wPlxuICAgIC8vLyAgIDxzcGFuIGNsYXNzPVwidHlwZVwiPjxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcXN0cmluZy5odG1sXCI+UVN0cmluZzwvYT48L3NwYW4+IGZpbGVOYW1lIDxzcGFuIGNsYXNzPVwib3BlcmF0b3JcIj49PC9zcGFuPiA8c3BhbiBjbGFzcz1cInR5cGVcIj48YSBocmVmPVwiaHR0cDovL2RvYy5xdC5pby9xdC01L3FmaWxlZGlhbG9nLmh0bWwjUUZpbGVEaWFsb2dcIj5RRmlsZURpYWxvZzwvYT48L3NwYW4+PHNwYW4gY2xhc3M9XCJvcGVyYXRvclwiPjo6PC9zcGFuPmdldE9wZW5GaWxlTmFtZSg8c3BhbiBjbGFzcz1cImtleXdvcmRcIj50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPVwib3BlcmF0b3JcIj4sPC9zcGFuPiB0cig8c3BhbiBjbGFzcz1cInN0cmluZ1wiPlwiT3BlbiBGaWxlXCI8L3NwYW4+KTxzcGFuIGNsYXNzPVwib3BlcmF0b3JcIj4sPC9zcGFuPlxuICAgIC8vLyA8cD48Yj5TZWUgYWxzbyA8L2I+PGEgaHJlZj1cImh0dHA6Ly9kb2MucXQuaW8vcXQtNS9xZmlsZWRpYWxvZy5odG1sI2dldE9wZW5GaWxlTmFtZXNcIj5nZXRPcGVuRmlsZU5hbWVzPC9hPigpLCA8YSBocmVmPVwiaHR0cDovL2RvYy5xdC5pby9xdC01L3FmaWxlZGlhbG9nLmh0bWwjZ2V0U2F2ZUZpbGVOYW1lXCI+Z2V0U2F2ZUZpbGVOYW1lPC9hPigpLCBhbmQgPGEgaHJlZj1cImh0dHA6Ly9kb2MucXQuaW8vcXQtNS9xZmlsZWRpYWxvZy5odG1sI2dldEV4aXN0aW5nRGlyZWN0b3J5XCI+Z2V0RXhpc3RpbmdEaXJlY3Rvcnk8L2E+KCkuPC9wPjwvZGl2PlxuICAgIHB1YiBmbiBjdHJfcXRfd2lkZ2V0c19mZmlfUUZpbGVEaWFsb2dfZ2V0T3BlbkZpbGVOYW1lKFxuICAgIC8vLyA8cD5UaGUgZnVuY3Rpb24gaXMgdXNlZCBzaW1pbGFybHkgdG8gPGEgaHJlZj1cImh0dHA6Ly9kb2MucXQuaW8vcXQtNS9xZmlsZWRpYWxvZy5odG1sI2dldE9wZW5GaWxlTmFtZVwiPlFGaWxlRGlhbG9nOjpnZXRPcGVuRmlsZU5hbWU8L2E+KCkuIEluIHBhcnRpY3VsYXIgPGk+cGFyZW50PC9pPiwgPGk+Y2FwdGlvbjwvaT4sIDxpPmRpcjwvaT4sIDxpPmZpbHRlcjwvaT4sIDxpPnNlbGVjdGVkRmlsdGVyPC9pPiBhbmQgPGk+b3B0aW9uczwvaT4gYXJlIHVzZWQgaW4gdGhlIGV4YWN0IHNhbWUgd2F5LjwvcD5cbiAgICAvLy8gPHA+VGhlIG1haW4gZGlmZmVyZW5jZSB3aXRoIDxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRPcGVuRmlsZU5hbWVcIj5RRmlsZURpYWxvZzo6Z2V0T3BlbkZpbGVOYW1lPC9hPigpIGNvbWVzIGZyb20gdGhlIGFiaWxpdHkgb2ZmZXJlZCB0byB0aGUgdXNlciB0byBzZWxlY3QgYSByZW1vdGUgZmlsZS4gVGhhdCdzIHdoeSB0aGUgcmV0dXJuIHR5cGUgYW5kIHRoZSB0eXBlIG9mIDxpPmRpcjwvaT4gaXMgPGEgaHJlZj1cImh0dHA6Ly9kb2MucXQuaW8vcXQtNS9xdXJsLmh0bWxcIj5RVXJsPC9hPi48L3A+XG4gICAgLy8vIDxwPjxiPlNlZSBhbHNvIDwvYj48YSBocmVmPVwiaHR0cDovL2RvYy5xdC5pby9xdC01L3FmaWxlZGlhbG9nLmh0bWwjZ2V0T3BlbkZpbGVOYW1lXCI+Z2V0T3BlbkZpbGVOYW1lPC9hPigpLCA8YSBocmVmPVwiaHR0cDovL2RvYy5xdC5pby9xdC01L3FmaWxlZGlhbG9nLmh0bWwjZ2V0T3BlbkZpbGVVcmxzXCI+Z2V0T3BlbkZpbGVVcmxzPC9hPigpLCA8YSBocmVmPVwiaHR0cDovL2RvYy5xdC5pby9xdC01L3FmaWxlZGlhbG9nLmh0bWwjZ2V0U2F2ZUZpbGVVcmxcIj5nZXRTYXZlRmlsZVVybDwvYT4oKSwgYW5kIDxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRFeGlzdGluZ0RpcmVjdG9yeVVybFwiPmdldEV4aXN0aW5nRGlyZWN0b3J5VXJsPC9hPigpLjwvcD48L2Rpdj5cbiAgICAvLy8gPHA+PGI+U2VlIGFsc28gPC9iPjxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRPcGVuRmlsZU5hbWVcIj5nZXRPcGVuRmlsZU5hbWU8L2E+KCksIDxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRPcGVuRmlsZU5hbWVzXCI+Z2V0T3BlbkZpbGVOYW1lczwvYT4oKSwgYW5kIDxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRFeGlzdGluZ0RpcmVjdG9yeVwiPmdldEV4aXN0aW5nRGlyZWN0b3J5PC9hPigpLjwvcD48L2Rpdj5cbiAgICAvLy8gPHA+PGI+U2VlIGFsc28gPC9iPjxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRPcGVuRmlsZU5hbWVcIj5nZXRPcGVuRmlsZU5hbWU8L2E+KCksIDxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRPcGVuRmlsZU5hbWVzXCI+Z2V0T3BlbkZpbGVOYW1lczwvYT4oKSwgYW5kIDxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRTYXZlRmlsZU5hbWVcIj5nZXRTYXZlRmlsZU5hbWU8L2E+KCkuPC9wPjwvZGl2PlxuICAgIC8vLyA8YSBocmVmPVwiaHR0cDovL2RvYy5xdC5pby9xdC01L3FmaWxlZGlhbG9nLmh0bWwjZ2V0T3BlbkZpbGVOYW1lc1wiPkMrKyBkb2N1bWVudGF0aW9uPC9hPjo8ZGl2IHN0eWxlPSdib3JkZXI6IDFweCBzb2xpZCAjNUNGRjk1OyBiYWNrZ3JvdW5kOiAjRDZGRkU0OyBwYWRkaW5nOiAxNnB4Oyc+PHA+VGhpcyBpcyBhIGNvbnZlbmllbmNlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IHdpbGwgcmV0dXJuIG9uZSBvciBtb3JlIGV4aXN0aW5nIGZpbGVzIHNlbGVjdGVkIGJ5IHRoZSB1c2VyLjwvcD5cbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTQwNjQzNX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImM2ZDMyZTQzIiwicGFyZW50SWQiOiIwMmNkYWRlYiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDM6MzYuNjQ2WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipQbGFubmluZyBkZXBlbmRlbmN5IHVwZGF0ZXMgYW5kIGJ1aWxkIGluc3BlY3Rpb24qKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTU1MDEwODgxOTE5ZjJjNTYwMWY4MzYzZWUwXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpONVh6Tjk3WnVkT0RodkhhOXNPWFVXTEl3XzBHS1NjbGZtMGtZeWJQajlIOXFieWNwRWdCWnYzTFB3OWRfMm9hMGFYOWRjcjBoNmZwalFsR3ZVZGNGQkdBRFlIUG1YVTJvN0hJWENuVk5jeGo3OXp2cUd6TXo2Uk0zWjJfNjZ5RHlwTEhWYjJzSndOV0NjbXlqX3locklBSFFWMFhGNFN2NklGb0dubGotemh0QzZjbDlCX0ZGVFlZUnpsWDd5WU5EbmxFRS00eWVZOHo4OVdEakR6ZjY2WTZxZlJXTE5ITEgzeHdiRUhob3VPVk1NanNYcTEzT1FsMFA4ajhaRnVwTTZiNzhzZGRrRmt6YW1fMlJ1NlN2T29hZmRYT1A1WXJ1YjBlTFF2QTRqbjlZRm9PSzZSZzRpclNKNTREZmlkNmhnVENvczVQV2ZRT2tIZnp1SWRGbGNtSzBMSW5tbXRUTkNFdUJCMGFDQ1lyVDhYVUJtNklKZ2dFQWkzaXBXQjB3RGFHZmRhT1N5Z0F6X0gtekt6c2oxNmh5R25pSjRDdDV1WHJ5TWtjaHlBX0YxclItREN0dVM2Y1FFblJxOXI1RTR2TkdIaTA5OUhIWnZheUZ5RXNleVl5Y3poSHdJcGYzalhzbUxLMmRLSEIxRGZWZlpsYXNzd2QwcDRzZHFSb3cxRTBBTElMdW84Y1FSV1VaeGhPaW5EcnZaSzNTUzJlTUFJSWh1ZWdSOENOQzlUUFVzME45VV9GcnkzMEJDVXEyX0lXT1B3SWU3dnhxTjhac3lxM0p1OXF0NU5fN0RrcWF0UkNORkttRUJ4Y01hWWN3TXdEblVld28zYVB6aXhxU3NXUjVzOW15Z0JqZTNXSlpLSGtaa3Vqb1k4SmItRmtEUFJ0QW0yOGR0RzhGVHNrZ1VjSjRWRjFVOVhDOWhtb0FZQnRwTm02aHJsMUhBSW9DdVRod1kyS3d3a21zUE9IalJRdGQzWVA1dWljSWxLMzAzQ0czMW9ETlI5S0k5N2RoWVpoWk13TW82cHR5Qll5Mmc1WHRCbEdxNExvNjAyWG5pdkd0R1RkZm5jT2JudFhPajJfLUhCdmFCWk1FZ3B2Y2RjVWpNeDZIcjE0NlNEeEh3Q25ocGV6dk50YkFQT2NuV3NQYWN4T2s1b3lYV1AzSUtwRnAxdnlOczd3OGVyOURzT1RTQUhmUk5WeUt2MWJ2QjN1U0o5NGROcUF4ZC1zdE8tVDJ2RDl6c21GNjUzSHN3ZnJ6OGFNSGpDMGp2MEtWTHp2b2FJRUx4MWNraXhpTDVPZXRqMmNFcU1lNU1wNkJWWUJhUzFvWGJwZ0M0bDEwNm95Y2RzeGdZcjZzMnlGUFVSZFlmODBWdkpEY3BaRW9vM1gzVFpRMWlTX0hmWGFCYTU4S01CSXNSMTJ6aVdqRGk1UFJ3V1ByeXAxR0NjbHY0UFVhd09jTDhINHVBTi1NZ1BrVVFrQkkyNTZDbjIwVHM3UE95anY0UDJzS2FOMUFoRFpoRXRETGFZUVM0bWhya0p3OWttVUVOaFZNU2xBR2N2N0Qxb0JlcGMwYVEyUjVPZUhzc05CcDl0bTBVOEZWMUMxaGp2OHdmWTFvM3ktZHB2VC1DY29udE9PNEZKX1FaaHJrYTMzeGMxYkdHcXBwREhZX1ExYk1pUkE1T1BCUjh2dTJYSS1iMEhnRm1iY3N6RUwwcVRxQXg5dFQ3b0pHZ1NVLWFkVHJhQnVvMmR3UXFCTkQ2d0dIM2hJUmplQmZZVDhGR2tzdWg4NFFVMmxnaU92UG83QVk2RFJZMkhvdHZ2MUxzSmNnPT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIGRlcGVuZGVuY3kgdXBkYXRlcyBhbmQgYnVpbGQgaW5zcGVjdGlvbioqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF8wa1hmMncyZHRVMDdyNTVNZlVoSTlNbGt8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNTc5MjE0ODE5MWE5OGUzMDJhYmM5NmJmZmEiLCJuYW1lIjoid3JpdGUiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWwiLCJjb250ZW50IjoiW3BhY2thZ2VdXG5uYW1lID0gXCJmbGFzaGVyLXF0XCJcbnZlcnNpb24gPSBcIjAuMS4wXCJcbmVkaXRpb24gPSBcIjIwMjRcIlxuZGVzY3JpcHRpb24gPSBcIkEgbmF0aXZlIFF0IFdpZGdldHMgaW50ZXJmYWNlIGZvciBwcmVwYXJpbmcgQUxUIExpbnV4IFNCQyBpbWFnZXNcIlxubGljZW5zZSA9IFwiR1BMLTIuMC1vci1sYXRlclwiXG5cbltkZXBlbmRlbmNpZXNdXG5jcHBfY29yZSA9IFwiMC42XCJcbnF0X3dpZGdldHMgPSBcIjAuNVwiXG4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE2NzEsIm91dHB1dCI6MTgyLCJjYWNoZVJlYWQiOjk0NzIwLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjY5LCJ0b3RhbFRva2VucyI6OTY1NzMsImNvc3QiOnsiaW5wdXQiOjAuMDA4MzU1MDAwMDAwMDAwMDAxLCJvdXRwdXQiOjAuMDA1NDYwMDAwMDAwMDAwMDAwNCwiY2FjaGVSZWFkIjowLjA0NzM2LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNjExNzV9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTU0MDY0MzcsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTRmMDI1YzgxOTFhYzdjZmMzOTg5ZmJkNWZmIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjM0N2Y0YTgzIiwicGFyZW50SWQiOiJjNmQzMmU0MyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDM6MzYuNjUxWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF8wa1hmMncyZHRVMDdyNTVNZlVoSTlNbGt8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNTc5MjE0ODE5MWE5OGUzMDJhYmM5NmJmZmEiLCJ0b29sTmFtZSI6IndyaXRlIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHdyb3RlIDIyNyBieXRlcyB0byBjcmF0ZXMvZmxhc2hlci1xdC9DYXJnby50b21sIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NDE2NjUxfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiOTIxMzEyMTQiLCJwYXJlbnRJZCI6IjM0N2Y0YTgzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMzo0MC4wNjRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX09qVzZidVROZ2hqaXVZdnloUnhlSGhFY3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU1YTczNmM4MTkxOGU1ZjViN2FiNTU0ODk3ZCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJybSAtZiBjcmF0ZXMvZmxhc2hlci1xdC9idWlsZC5ycyBjcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwXG5jYXQgPiBjcmF0ZXMvZmxhc2hlci1xdC9zcmMvbWFpbi5ycyA8PCdFT0YnXG51c2UgcXRfd2lkZ2V0czo6UUFwcGxpY2F0aW9uO1xuZm4gbWFpbigpIHsgUUFwcGxpY2F0aW9uOjppbml0KHxffCAwKTsgfVxuRU9GXG5jYXJnbyBjaGVjayAtcCBmbGFzaGVyLXF0IiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjg1NCwib3V0cHV0Ijo4NywiY2FjaGVSZWFkIjo5NTc0NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6OTY2ODUsImNvc3QiOnsiaW5wdXQiOjAuMDA0MjcsIm91dHB1dCI6MC4wMDI2MSwiY2FjaGVSZWFkIjowLjA0Nzg3MiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDU0NzUxOTk5OTk5OTk5OTk1fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1NDE2NjUzLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU1OTAwNGM4MTkxYjVjYzNjNjg0NjE5NzdkMSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI2ZTE2NmY1ZiIsInBhcmVudElkIjoiOTIxMzEyMTQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAzOjU3LjYzMFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfT2pXNmJ1VE5naGppdVl2eWhSeGVIaEVjfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTVhNzM2YzgxOTE4ZTVmNWI3YWI1NTQ4OTdkIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgIFVwZGF0aW5nIGNyYXRlcy5pbyBpbmRleFxuICAgICBMb2NraW5nIDU5IHBhY2thZ2VzIHRvIGxhdGVzdCBSdXN0IDEuOTcuMCBjb21wYXRpYmxlIHZlcnNpb25zXG4gICAgICBBZGRpbmcgYWRkcjJsaW5lIHYwLjI1LjFcbiAgICAgIEFkZGluZyBhZGxlcjIgdjIuMC4xXG4gICAgICBBZGRpbmcgYWhvLWNvcmFzaWNrIHYxLjEuNFxuICAgICAgQWRkaW5nIGF0dHkgdjAuMi4xNFxuICAgICAgQWRkaW5nIGJhY2t0cmFjZSB2MC4zLjc2XG4gICAgICBBZGRpbmcgYmluY29kZSB2MS4zLjNcbiAgICAgIEFkZGluZyBjZmctaWYgdjEuMC40XG4gICAgICBBZGRpbmcgY3BwX2NvcmUgdjAuNi4wXG4gICAgICBBZGRpbmcgZHVuY2UgdjEuMC41XG4gICAgICBBZGRpbmcgZWl0aGVyIHYxLjE3LjBcbiAgICAgIEFkZGluZyBlbnZfbG9nZ2VyIHYwLjcuMVxuICAgICAgQWRkaW5nIGZhaWx1cmUgdjAuMS44XG4gICAgICBBZGRpbmcgZmFpbHVyZV9kZXJpdmUgdjAuMS44XG4gICAgICBBZGRpbmcgZ2ltbGkgdjAuMzIuM1xuICAgICAgQWRkaW5nIGhlcm1pdC1hYmkgdjAuMS4xOVxuICAgICAgQWRkaW5nIGhlcm1pdC1hYmkgdjAuNS4yXG4gICAgICBBZGRpbmcgaHVtYW50aW1lIHYxLjMuMFxuICAgICAgQWRkaW5nIGl0ZXJ0b29scyB2MC44LjJcbiAgICAgIEFkZGluZyBpdG9hIHYxLjAuMThcbiAgICAgIEFkZGluZyBrZXJuZWwzMi1zeXMgdjAuMi4yXG4gICAgICBBZGRpbmcgbGF6eV9zdGF0aWMgdjEuNS4wXG4gICAgICBBZGRpbmcgbG9nIHYwLjQuMzNcbiAgICAgIEFkZGluZyBtaW5pel9veGlkZSB2MC44LjlcbiAgICAgIEFkZGluZyBudW1fY3B1cyB2MS4xNy4wXG4gICAgICBBZGRpbmcgb2JqZWN0IHYwLjM3LjNcbiAgICAgIEFkZGluZyBwYXRoZGlmZiB2MC4xLjBcbiAgICAgIEFkZGluZyBwcm9jLW1hY3JvLWhhY2sgdjAuNS4yMCtkZXByZWNhdGVkXG4gICAgICBBZGRpbmcgcXRfY29yZSB2MC41LjBcbiAgICAgIEFkZGluZyBxdF9ndWkgdjAuNS4wXG4gICAgICBBZGRpbmcgcXRfbWFjcm9zIHYwLjEuMVxuICAgICAgQWRkaW5nIHF0X3JpdHVhbF9idWlsZCB2MC41LjBcbiAgICAgIEFkZGluZyBxdF9yaXR1YWxfY29tbW9uIHYwLjQuMFxuICAgICAgQWRkaW5nIHF0X3dpZGdldHMgdjAuNS4wXG4gICAgICBBZGRpbmcgcXVpY2stZXJyb3IgdjEuMi4zXG4gICAgICBBZGRpbmcgcmVnZXggdjEuMTMuMVxuICAgICAgQWRkaW5nIHJlZ2V4LWF1dG9tYXRhIHYwLjQuMTZcbiAgICAgIEFkZGluZyByZWdleC1zeW50YXggdjAuOC4xMVxuICAgICAgQWRkaW5nIHJpdHVhbF9idWlsZCB2MC40LjBcbiAgICAgIEFkZGluZyByaXR1YWxfY29tbW9uIHYwLjQuMFxuICAgICAgQWRkaW5nIHJ1c3RjLWRlbWFuZ2xlIHYwLjEuMjhcbiAgICAgIEFkZGluZyBzZW12ZXIgdjAuOS4wXG4gICAgICBBZGRpbmcgc2VtdmVyLXBhcnNlciB2MC43LjBcbiAgICAgIEFkZGluZyBzZXJkZSB2MS4wLjIyOVxuICAgICAgQWRkaW5nIHNlcmRlX2pzb24gdjEuMC4xNTFcbiAgICAgIEFkZGluZyBzaGVsbC13b3JkcyB2MC4xLjBcbiAgICAgIEFkZGluZyBzeW4gdjEuMC4xMDlcbiAgICAgIEFkZGluZyBzeW5zdHJ1Y3R1cmUgdjAuMTIuNlxuICAgICAgQWRkaW5nIHRlcm0gdjAuNC42XG4gICAgICBBZGRpbmcgdGVybS1wYWludGVyIHYwLjIuNFxuICAgICAgQWRkaW5nIHRlcm1jb2xvciB2MS40LjFcbiAgICAgIEFkZGluZyB0b21sIHYwLjQuMTBcbiAgICAgIEFkZGluZyB1bmljb2RlLXhpZCB2MC4yLjZcbiAgICAgIEFkZGluZyB3aW5hcGkgdjAuMi44XG4gICAgICBBZGRpbmcgd2luYXBpIHYwLjMuOVxuICAgICAgQWRkaW5nIHdpbmFwaS1idWlsZCB2MC4xLjFcbiAgICAgIEFkZGluZyB3aW5hcGktaTY4Ni1wYy13aW5kb3dzLWdudSB2MC40LjBcbiAgICAgIEFkZGluZyB3aW5hcGktdXRpbCB2MC4xLjExXG4gICAgICBBZGRpbmcgd2luYXBpLXg4Nl82NC1wYy13aW5kb3dzLWdudSB2MC40LjBcbiAgICAgIEFkZGluZyB6bWlqIHYxLjAuMjNcbiBEb3dubG9hZGluZyBjcmF0ZXMgLi4uXG4gIERvd25sb2FkZWQgZmFpbHVyZV9kZXJpdmUgdjAuMS44XG4gIERvd25sb2FkZWQgcGF0aGRpZmYgdjAuMS4wXG4gIERvd25sb2FkZWQgYmFja3RyYWNlIHYwLjMuNzZcbiAgRG93bmxvYWRlZCBhdHR5IHYwLjIuMTRcbiAgRG93bmxvYWRlZCBwcm9jLW1hY3JvLWhhY2sgdjAuNS4yMCtkZXByZWNhdGVkXG4gIERvd25sb2FkZWQgYmluY29kZSB2MS4zLjNcbiAgRG93bmxvYWRlZCBkdW5jZSB2MS4wLjVcbiAgRG93bmxvYWRlZCBlaXRoZXIgdjEuMTcuMFxuICBEb3dubG9hZGVkIGVudl9sb2dnZXIgdjAuNy4xXG4gIERvd25sb2FkZWQgaHVtYW50aW1lIHYxLjMuMFxuICBEb3dubG9hZGVkIGFkZHIybGluZSB2MC4yNS4xXG4gIERvd25sb2FkZWQgZmFpbHVyZSB2MC4xLjhcbiAgRG93bmxvYWRlZCBxdWljay1lcnJvciB2MS4yLjNcbiAgRG93bmxvYWRlZCBpdGVydG9vbHMgdjAuOC4yXG4gIERvd25sb2FkZWQgc2VtdmVyLXBhcnNlciB2MC43LjBcbiAgRG93bmxvYWRlZCB0ZXJtY29sb3IgdjEuNC4xXG4gIERvd25sb2FkZWQgc2VtdmVyIHYwLjkuMFxuICBEb3dubG9hZGVkIHN5bnN0cnVjdHVyZSB2MC4xMi42XG4gIERvd25sb2FkZWQgem1paiB2MS4wLjIzXG4gIERvd25sb2FkZWQgcnVzdGMtZGVtYW5nbGUgdjAuMS4yOFxuICBEb3dubG9hZGVkIHRvbWwgdjAuNC4xMFxuICBEb3dubG9hZGVkIHNlcmRlIHYxLjAuMjI5XG4gIERvd25sb2FkZWQgc2VyZGVfanNvbiB2MS4wLjE1MVxuICBEb3dubG9hZGVkIGdpbWxpIHYwLjMyLjNcbiAgRG93bmxvYWRlZCBvYmplY3QgdjAuMzcuM1xuICBEb3dubG9hZGVkIHF0X3JpdHVhbF9jb21tb24gdjAuNC4wXG4gIERvd25sb2FkZWQgY3BwX2NvcmUgdjAuNi4wXG4gIERvd25sb2FkZWQgcXRfbWFjcm9zIHYwLjEuMVxuICBEb3dubG9hZGVkIHF0X3JpdHVhbF9idWlsZCB2MC41LjBcbiAgRG93bmxvYWRlZCB0ZXJtIHYwLjQuNlxuICBEb3dubG9hZGVkIHNoZWxsLXdvcmRzIHYwLjEuMFxuICBEb3dubG9hZGVkIHJpdHVhbF9idWlsZCB2MC40LjBcbiAgRG93bmxvYWRlZCByaXR1YWxfY29tbW9uIHYwLjQuMFxuICBEb3dubG9hZGVkIHRlcm0tcGFpbnRlciB2MC4yLjRcbiAgRG93bmxvYWRlZCBxdF9ndWkgdjAuNS4wXG4gICBDb21waWxpbmcgc3luIHYxLjAuMTA5XG4gICBDb21waWxpbmcgc2VyZGVfY29yZSB2MS4wLjIyOVxuICAgQ29tcGlsaW5nIG9iamVjdCB2MC4zNy4zXG4gICBDb21waWxpbmcgc2VyZGUgdjEuMC4yMjlcbiAgIENvbXBpbGluZyBhaG8tY29yYXNpY2sgdjEuMS40XG4gICBDb21waWxpbmcgZ2ltbGkgdjAuMzIuM1xuICAgQ29tcGlsaW5nIGFkbGVyMiB2Mi4wLjFcbiAgIENvbXBpbGluZyBmYWlsdXJlX2Rlcml2ZSB2MC4xLjhcbiAgIENvbXBpbGluZyB6bWlqIHYxLjAuMjNcbiAgIENvbXBpbGluZyBzZXJkZV9qc29uIHYxLjAuMTUxXG4gICBDb21waWxpbmcgY2ZnLWlmIHYxLjAuNFxuICAgQ29tcGlsaW5nIGxpYmMgdjAuMi4xODlcbiAgIENvbXBpbGluZyBydXN0Yy1kZW1hbmdsZSB2MC4xLjI4XG4gICBDb21waWxpbmcgc2VtdmVyLXBhcnNlciB2MC43LjBcbiAgIENvbXBpbGluZyBpdG9hIHYxLjAuMThcbiAgIENvbXBpbGluZyBzeW4gdjMuMC4zXG4gICBDb21waWxpbmcgdGVybSB2MC40LjZcbiAgIENvbXBpbGluZyBtaW5pel9veGlkZSB2MC44LjlcbiAgIENvbXBpbGluZyBlaXRoZXIgdjEuMTcuMFxuICAgQ29tcGlsaW5nIGxvZyB2MC40LjMzXG4gICBDb21waWxpbmcgc2VtdmVyIHYwLjkuMFxuICAgQ29tcGlsaW5nIGxhenlfc3RhdGljIHYxLjUuMFxuICAgQ29tcGlsaW5nIGR1bmNlIHYxLjAuNVxuICAgQ29tcGlsaW5nIHNoZWxsLXdvcmRzIHYwLjEuMFxuICAgQ29tcGlsaW5nIHBhdGhkaWZmIHYwLjEuMFxuICAgQ29tcGlsaW5nIGl0ZXJ0b29scyB2MC44LjJcbiAgIENvbXBpbGluZyB0ZXJtLXBhaW50ZXIgdjAuMi40XG4gICBDb21waWxpbmcgcXVpY2stZXJyb3IgdjEuMi4zXG4gICBDb21waWxpbmcgdGVybWNvbG9yIHYxLjQuMVxuICAgQ29tcGlsaW5nIHByb2MtbWFjcm8taGFjayB2MC41LjIwK2RlcHJlY2F0ZWRcbiAgIENvbXBpbGluZyBodW1hbnRpbWUgdjEuMy4wXG4gICBDb21waWxpbmcgcmVnZXgtYXV0b21hdGEgdjAuNC4xNlxuICAgQ29tcGlsaW5nIG51bV9jcHVzIHYxLjE3LjBcbiAgIENvbXBpbGluZyBhdHR5IHYwLjIuMTRcbiAgICBDaGVja2luZyBjcHBfY29yZSB2MC42LjBcbiAgIENvbXBpbGluZyBzZXJkZV9kZXJpdmUgdjEuMC4yMjlcbiAgIENvbXBpbGluZyBhZGRyMmxpbmUgdjAuMjUuMVxuICAgQ29tcGlsaW5nIHJlZ2V4IHYxLjEzLjFcbiAgIENvbXBpbGluZyBiaW5jb2RlIHYxLjMuM1xuICAgQ29tcGlsaW5nIHRvbWwgdjAuNC4xMFxuICAgQ29tcGlsaW5nIGJhY2t0cmFjZSB2MC4zLjc2XG4gICBDb21waWxpbmcgc3luc3RydWN0dXJlIHYwLjEyLjZcbiAgIENvbXBpbGluZyBlbnZfbG9nZ2VyIHYwLjcuMVxuICAgQ29tcGlsaW5nIHF0X21hY3JvcyB2MC4xLjFcbiAgIENvbXBpbGluZyBmYWlsdXJlIHYwLjEuOFxuICAgQ29tcGlsaW5nIHJpdHVhbF9jb21tb24gdjAuNC4wXG4gICBDb21waWxpbmcgcml0dWFsX2J1aWxkIHYwLjQuMFxuICAgQ29tcGlsaW5nIHF0X3JpdHVhbF9jb21tb24gdjAuNC4wXG4gICBDb21waWxpbmcgcXRfcml0dWFsX2J1aWxkIHYwLjUuMFxuICAgQ29tcGlsaW5nIHF0X2NvcmUgdjAuNS4wXG4gICBDb21waWxpbmcgcXRfZ3VpIHYwLjUuMFxuICAgQ29tcGlsaW5nIHF0X3dpZGdldHMgdjAuNS4wXG5lcnJvcjogZmFpbGVkIHRvIHJ1biBjdXN0b20gYnVpbGQgY29tbWFuZCBmb3IgYHF0X2NvcmUgdjAuNS4wYFxuXG5DYXVzZWQgYnk6XG4gIHByb2Nlc3MgZGlkbid0IGV4aXQgc3VjY2Vzc2Z1bGx5OiBgL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvcXRfY29yZS05YjY4Njc4OGRjNDA4ZTA0L2J1aWxkLXNjcmlwdC1idWlsZGAgKGV4aXQgc3RhdHVzOiAxKVxuICAtLS0gc3RkZXJyXG4gIFsyMDI2LTA3LTI1VDE2OjAzOjU3WiBFUlJPUiByaXR1YWxfY29tbW9uOjplcnJvcnNdIEVycm9yOlxuICBbMjAyNi0wNy0yNVQxNjowMzo1N1ogRVJST1Igcml0dWFsX2NvbW1vbjo6ZXJyb3JzXSAgICBmYWlsZWQgdG8gcnVuIGNvbW1hbmQ6IFwicW1ha2VcIiBcIi1xdWVyeVwiIFwiUVRfVkVSU0lPTlwiXG4gIFsyMDI2LTA3LTI1VDE2OjAzOjU3WiBFUlJPUiByaXR1YWxfY29tbW9uOjplcnJvcnNdICAgIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkgKG9zIGVycm9yIDIpXG53YXJuaW5nOiBidWlsZCBmYWlsZWQsIHdhaXRpbmcgZm9yIG90aGVyIGpvYnMgdG8gZmluaXNoLi4uXG5lcnJvcjogZmFpbGVkIHRvIHJ1biBjdXN0b20gYnVpbGQgY29tbWFuZCBmb3IgYHF0X2d1aSB2MC41LjBgXG5cbkNhdXNlZCBieTpcbiAgcHJvY2VzcyBkaWRuJ3QgZXhpdCBzdWNjZXNzZnVsbHk6IGAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9xdF9ndWktMjk3Yzg0ZDY2YTVjNDY5YS9idWlsZC1zY3JpcHQtYnVpbGRgIChleGl0IHN0YXR1czogMSlcbiAgLS0tIHN0ZGVyclxuICBbMjAyNi0wNy0yNVQxNjowMzo1N1ogRVJST1Igcml0dWFsX2NvbW1vbjo6ZXJyb3JzXSBFcnJvcjpcbiAgWzIwMjYtMDctMjVUMTY6MDM6NTdaIEVSUk9SIHJpdHVhbF9jb21tb246OmVycm9yc10gICAgZmFpbGVkIHRvIHJ1biBjb21tYW5kOiBcInFtYWtlXCIgXCItcXVlcnlcIiBcIlFUX1ZFUlNJT05cIlxuICBbMjAyNi0wNy0yNVQxNjowMzo1N1ogRVJST1Igcml0dWFsX2NvbW1vbjo6ZXJyb3JzXSAgICBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IChvcyBlcnJvciAyKVxuZXJyb3I6IGZhaWxlZCB0byBydW4gY3VzdG9tIGJ1aWxkIGNvbW1hbmQgZm9yIGBxdF93aWRnZXRzIHYwLjUuMGBcblxuQ2F1c2VkIGJ5OlxuICBwcm9jZXNzIGRpZG4ndCBleGl0IHN1Y2Nlc3NmdWxseTogYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL3F0X3dpZGdldHMtYzhmNjhlNjVlMjhkZjg2OS9idWlsZC1zY3JpcHQtYnVpbGRgIChleGl0IHN0YXR1czogMSlcbiAgLS0tIHN0ZGVyclxuICBbMjAyNi0wNy0yNVQxNjowMzo1N1ogRVJST1Igcml0dWFsX2NvbW1vbjo6ZXJyb3JzXSBFcnJvcjpcbiAgWzIwMjYtMDctMjVUMTY6MDM6NTdaIEVSUk9SIHJpdHVhbF9jb21tb246OmVycm9yc10gICAgZmFpbGVkIHRvIHJ1biBjb21tYW5kOiBcInFtYWtlXCIgXCItcXVlcnlcIiBcIlFUX1ZFUlNJT05cIlxuICBbMjAyNi0wNy0yNVQxNjowMzo1N1ogRVJST1Igcml0dWFsX2NvbW1vbjo6ZXJyb3JzXSAgICBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IChvcyBlcnJvciAyKVxuXG5cbkNvbW1hbmQgZXhpdGVkIHdpdGggY29kZSAxMDEifV0sImRldGFpbHMiOnt9LCJpc0Vycm9yIjp0cnVlLCJ0aW1lc3RhbXAiOjE3ODQ5OTU0Mzc2MzB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3Mzc2NTg2OCIsInBhcmVudElkIjoiNmUxNjZmNWYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA0OjAwLjkyOFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqVmVyaWZ5aW5nIHFtYWtlIGV4ZWN1dGFibGUgcGF0aCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNmY0NjhjODE5MTg0MjZlYjAxY2M1MjNjZDNcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk41dzlndE94bl9kNGJjZkFvYzNFZnpTV3Zpbl90cy1oOElyUUhhckJ1ald4QnB1LVV2V2pHMTM5bFN3ZHdOTElOaDBIYlV6RnRZYTZ0M19GcmVfbzMwZ1ZaLUYzU1F6aDl0U1BpelpydUhlUDFIbFhfcDNGMkd0MXlWeEJMN1JhdHRDNGNsNmx6b2NVNTRTLUk1Tm5aSmpoQWxaYms2bENIdVVjeTJ1eGpuRXBKUnUzcU5sN2VzLWRnaGw3Y0xQMFNkY29BUnJhWEpaRENvanE1UmNocU9KdzJOZS1udVhMMUFPVlBldU8wc3BydUFOTkpJTURMS0h3U3U0ZVVXcFFtY05fSFRlTTNLYkdwN1U0SElGZFZQWEFBSlpRWjhRalpfUVRieGg0R1RwUWF2R25sYVFVaFZZRS11T3BYMUVaRzl4dWFOZFB5TDc1RWNWa21HVjE5YXFOdUk1SVM0Mm1odU13S1NUVm90a1p6Szc2Y29obHdnTXZnSkhPa25iREM5SE5qclhUMlZfMXlEWkp1V1ItTDE5NV9IZkxoMEVmV2FHbGtWaTlEQmpMRjlzaDhSN2RTUnViOEl4Nk9yT283SV9EREFMaTh2XzdER1BtQzJROXExaEpvenptRlBkQ1BNb05KVmxqY3BzcEhDVERFRGNvc09ub1R6THhYZHdiWGFDNzdMaU54dkJRdHFmWXlLSkRXYWRmMlFMd0NGQnpqQmIybjZqWlpKSml0TUQwaWU3bHdnUWd0NkdmbTR0Wkp2aG9hNE5hTThPaHRQT3hTemlaS3lrdHhrVnBJX0dra3lvZ2ZkOHNoR3drVEVhbk15ak1wUG9YSkdXMFlqalR2N1EyUDZjdTZqWUdmaUxrV3A4R2lWR3lzcUxiUUMxRFRFT3dpOWNGYkotbG5QV0dNdGxIRmh0MlM1X0dxVE9SbnJUclpEWE5keE1ScG90TmRJS0thRi00RzY1LXlweHBBdk10ZnZPNHR0Mm05Rk5OUkdaS2l4dXJIRnBxNllQMVpWa2F0NjhNYTRfbDZPOHBIdC13SmtRakVUNV9iNFVWVThiQ0daT3haTlQyVUNtdjVxNUs1ZG1tZ2FNTjl0aTEyWE1QREZxZkxIYmpkWEMtTV9vOWNOX2JDdXhkVGt2SzdpNUwyRFpDcFFidUNuOENVekQ1U1llZkd6elJNY0hnOHJsbV9DWF9YbmJjaF9rSjdyYk56SUFWMVg4VFRKbnpvcktkZ01ta3FSVzNIWkc1ZVRaYVExbjlYdXFiYVlCRTFCckw2ZjlBeHd3ZEVGUVkxellnRmpTczJBUmhEakt3ek56N0JEZDN3TmVibHpVV1R6MHRWakV6MjVvTnFnSzhXa192RzZySjVUc254VVhuamtJcTFzNHpnPT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlZlcmlmeWluZyBxbWFrZSBleGVjdXRhYmxlIHBhdGgqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfeVltOWFidno1STRaUGhteUo2VlB6WGdPfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTcwMjA5MDgxOTFiOTI0YWM2MWZjNWJmMzY1IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImZpbmQgL3VzciAtdHlwZSBmIC1uYW1lIHFtYWtlIDI+L2Rldi9udWxsIHwgaGVhZCAtMjA7IHBrZy1jb25maWcgLS12YXJpYWJsZT1ob3N0X2JpbnMgUXQ1Q29yZTsgcGtnLWNvbmZpZyAtLXZhcmlhYmxlPXByZWZpeCBRdDVDb3JlIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjozMjYxLCJvdXRwdXQiOjg0LCJjYWNoZVJlYWQiOjk1NzQ0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjI1LCJ0b3RhbFRva2VucyI6OTkwODksImNvc3QiOnsiaW5wdXQiOjAuMDE2MzA1LCJvdXRwdXQiOjAuMDAyNTIsImNhY2hlUmVhZCI6MC4wNDc4NzIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA2NjY5N319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTQzNzYzMywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNmUyMWZjODE5MTkyYTdjZTM5OTRlNjVhOGIifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYTMwOTJiZTEiLCJwYXJlbnRJZCI6IjczNzY1ODY4IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDowNC40MTBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX3lZbTlhYnZ6NUk0WlBobXlKNlZQelhnT3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU3MDIwOTA4MTkxYjkyNGFjNjFmYzViZjM2NSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii91c3Ivc2hhcmUvcXQ1L2JpblxuL3Vzci9zaGFyZS9xdDVcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTQ0NDQxMH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijk3MDIxZTZjIiwicGFyZW50SWQiOiJhMzA5MmJlMSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDQ6MDkuNzk5WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipJbnZlc3RpZ2F0aW5nIHFtYWtlIHBhY2thZ2Ugc2VwYXJhdGlvbioqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNzc0MTc4ODE5MWFiMzZkMDE3OWUyOGYzNDFcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk41NFlDTkhZaGtyWjhsbWRfSnRjQlplcDh1dFpJalNVTTdoQnBSS3JwNzJMcjNPVXVVRG01U2ZxTFpfS3FqWTNrSUF3emZ3S1h2RWVmb0dDZHo3YnhGLWcxMGl4d2h0UUZuMDU1bzdteXBja2llSTZBemVIajA5bzc1WjJ2RkVDYTNvVW5YS1ktb3Z0X3hneWE0MnM2b05ZeFprQ0djaDdrM2V1bE1ZbTdkVlNJa2lLSjB4bHgwZkRGcVphaVJKNUQ3ZVB4SU9jLWRueW1iTHo5OTdXSnlqVlFTSnhUeFpVUi1BMkQyZFRxQnhDYTlmZXZYT3ZnMFNka1VhMHdmb1V0TlkxVkNQczBaTDc0MTBsLWpaZnVraklac19FYXY5SjhWMmcwUjVGR2tjUVBJdC13VXRnYmpLYUo1OWhTN2hiU3hfTEgxVERfVnNpWHZ5ZEF1RVY4SlFTaV9RcTQ5UDZiNFNIeWpCejVGa2kxbHJkaHlEOVRuRVNid0Z3em45bEE2WGlEUkNjWU0ydk1KY2dPcDQyd2xkZkNIU2Y0NDFyTUI1OGp3Vko4OVlaT1lKTm55a2ZhUjZ2YlpsUDJFZ3NFT3RxaGQ3cEFYckZ4N1dndURldE1udW5zN05vYmlWTlJobVFyaEZoZllkMDFtQ2Q1SXhkck9uUm5yVzdDYUdBWjVMa3VmMTN4QWxEbEdWSzBkV3R0cGdaaldGZ184U1JWZnpVZ2U5aGtUY2lJQjFOSE5hWmRJcjU5bmlzam1RV2VVYTVWbllVWFBoMkN3aW9fNW5rbVBzMzlBaXFEQnpFa0VJTlI1ekJvbmMyS09LdVFoeTlXVU5nbExJdkFaOXBEeGZTalhEeGFSQXRtN0RWSXlZMlFCY2htYjFoOU9JcHgyR3l4MGdyaGFEUTExbzZ3c2c3OWtwRW9aQVZFZFY3OHoyTmpNcm9Md2pPTnVDLWJkZy1CRkxUX0FPZlVCRk5JLV8zRURKbHlPemhjRExWR2JEZFpOX3dGTWI1dWNRa0NodFFZeFNleUYxZmdGVktMQ0NWdDE3aGt1aUFwYnkxVEliUkJETS1PUTZRcnZOcGhQc016S09lTXBnaVZVOUw1TTVTamJhN0ppcGhULVZtbDdKclBkZ0lQV0t4MVNYOXpXY1dKem40ZndlQkJtZnAwMFlsM0pwUlVreFRycGRLeDdERUx3ZEJGWWNZaGZkRkpweE5MSm01eUV4MEZyWERGN3ExQV9QTkNnMzhkdkhPNlNnZ29fR1hUVk9zU3pkdGJlVjRZMHhYMzZtaThYX2Rka18tYkF2V2I1VmxTSi1XT2FjUlZKYVhCRzJkOGt2dG96RGJRY0pWeWNSb3pOVDNtZmZyRzVwVE43c3lMVHR2MXBnQnZuWTEwRVZOSndWX1BtRFlTQTBRT0EydkN2SnBLaTNJN2k0dDNINl8yb3I1QW81dU1FbEdfd01oem4yVFZIaENYVTRJaGFXQ3F0dDVxOTVTZklydTZoRTlNaz1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkludmVzdGlnYXRpbmcgcW1ha2UgcGFja2FnZSBzZXBhcmF0aW9uKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0gydDB2R0ZaUHRKOTRWZkxkbnZlbjFTaXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU3ODQyMDg4MTkxOWE2ZDhjZDMyMzc4YmUwOSIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJhcHQtY2FjaGUgc2VhcmNoICdxbWFrZScgfCBoZWFkIC0zMDsgcnBtIC1xYSB8IGdyZXAgJ15xdDUnIHwgc29ydCB8IGhlYWQgLTMwIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyOTcsIm91dHB1dCI6NzksImNhY2hlUmVhZCI6OTg4MTYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MzMsInRvdGFsVG9rZW5zIjo5OTE5MiwiY29zdCI6eyJpbnB1dCI6MC4wMDE0ODUwMDAwMDAwMDAwMDAyLCJvdXRwdXQiOjAuMDAyMzcsImNhY2hlUmVhZCI6MC4wNDk0MDgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA1MzI2M319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTQ0NDQxNCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNzRjNDNjODE5MTkwYjVkM2FjZWQxOTc4ZmEifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMWJiZWFkNTEiLCJwYXJlbnRJZCI6Ijk3MDIxZTZjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDoxMy44NzVaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0gydDB2R0ZaUHRKOTRWZkxkbnZlbjFTaXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU3ODQyMDg4MTkxOWE2ZDhjZDMyMzc4YmUwOSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6InFicyAtIE1vZGVybiBidWlsZCB0b29sIGZvciBzb2Z0d2FyZSBwcm9qZWN0c1xuaTU4Ni1xYnMgLSBNb2Rlcm4gYnVpbGQgdG9vbCBmb3Igc29mdHdhcmUgcHJvamVjdHNcbmRlYmhlbHBlciAtIFRvb2xzIGZvciBEZWJpYW4gUGFja2FnZXNcbnBlcmwtUlBNLVNvdXJjZS1EZXBlbmRlbmN5LUFuYWx5emVyIC0gUGVybCBsaWJyYXJ5IGZvciBmaW5kaW5nIGJ1aWxkIGRlcGVuZGVuY2llcyBmcm9tIHNvZnR3YXJlIHNvdXJjZXNcbnB5dGhvbjMtbW9kdWxlLVB5UXQtYnVpbGRlciAtIFRoZSBQRVAgNTE3IGNvbXBsaWFudCBQeVF0IGJ1aWxkIHN5c3RlbVxucHl0aG9uMy1tb2R1bGUtYmVhcnR5cGUgLSBVbmJlYXJhYmx5IGZhc3QgbmVhci1yZWFsLXRpbWUgaHlicmlkIHJ1bnRpbWUtc3RhdGljIHR5cGUtY2hlY2tpbmcgaW4gcHVyZSBQeXRob25cbnF0NS1iYXNlLWNvbW1vbi01LjE1LjE4LWFsdDEueDg2XzY0XG5xdDUtYmFzZS1kZXZlbC01LjE1LjE4LWFsdDEueDg2XzY0XG5xdDUtZGVjbGFyYXRpdmUtY29tbW9uLTUuMTUuMTgtYWx0MS54ODZfNjRcbnF0NS1kZWNsYXJhdGl2ZS1kZXZlbC01LjE1LjE4LWFsdDEueDg2XzY0XG5xdDUtcXVpY2tjb250cm9sczItNS4xNS4xOC1hbHQxLng4Nl82NFxucXQ1LXF1aWNrY29udHJvbHMyLWNvbW1vbi01LjE1LjE4LWFsdDEubm9hcmNoXG5xdDUtcXVpY2tjb250cm9sczItZGV2ZWwtNS4xNS4xOC1hbHQxLng4Nl82NFxucXQ1LXF1aWNrY29udHJvbHMtNS4xNS4xOC1hbHQxLng4Nl82NFxucXQ1LXN2Zy1jb21tb24tNS4xNS4xOC1hbHQxLm5vYXJjaFxucXQ1LXRyYW5zbGF0aW9ucy01LjE1LjE4LWFsdDEubm9hcmNoXG5xdDUtdmlydHVhbGtleWJvYXJkLTUuMTUuMTgtYWx0MS54ODZfNjRcbnF0NS12aXJ0dWFsa2V5Ym9hcmQtY29tbW9uLTUuMTUuMTgtYWx0MS5ub2FyY2hcbnF0NS13YXlsYW5kLWNvbW1vbi01LjE1LjE4LWFsdDEubm9hcmNoXG5xdDUteDExZXh0cmFzLWNvbW1vbi01LjE1LjE4LWFsdDEubm9hcmNoXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTU0NTM4NzV9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJlNzQ2NzlhYiIsInBhcmVudElkIjoiMWJiZWFkNTEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA0OjEzLjg3NloiLCJtZXNzYWdlIjp7InJvbGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiaSBuZWVkIHlvdSB0byB3cml0ZSBpdCBpbiBxdDYifV0sInRpbWVzdGFtcCI6MTc4NDk5NTQ0NzMzMH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjRmOGIxODBiIiwicGFyZW50SWQiOiJlNzQ2NzlhYiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDQ6MjUuNjExWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipBc3Nlc3NpbmcgUXQ2IHN1cHBvcnQgaW4gY3h4LXF0KioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU4MjdiODQ4MTkxOGUyNzc1NTE0NzY4MzY4ZlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjZKZGxpWm9pOEJkUTYwQkhxMDcwY0V0bDZRR3BEdW16d2FuNllpdnVHNXltZFpyWGFGb0NJY04yNkJ4ZVljUWtmS0otNkV0TDJNYzRnR2RFWFhUSnVWVTczR3B1SFRGcE9meEVuVktxUmpkRjdBQTN1OUlDNjZwS1FyNTN1UWM1c3ZldjdOSEFvQWFKNmtEZkI3cnl2Y1ZycThpRGlmRDdpMTh5aW5GZUZfczlfOFRmaXV5ZnpIYzBDUi0yUFZJd3U5M3JPNktndjQzWmt5bUhLUVFha3ZsZkxUU3Y0enU5My1EUWQtcmg4Y0h4dTY4UWRFdmVCOC1lRE5mQkJfa3hSOVhTZlB6X2N3NTVaU2tfTzRzUVAtWkJsOFU1UUl3WUE0OXhTSDZvd0U0NXhhdU1iWTdFZVRjQlhLcGJKdk1DSlBMRXVjTFJXc2duajdLV2dEVjVpVWxKRFh2bUdnSjFhcHRybl81THI3eVRTdXhjQ0dRMVdFaUZoRV81S0xWMWxoczdKODA2a092NVVDcnZHSG43OVFIUmgwQW9EUktibTVadlNBblA2UXhjaDVqdnVhMXIxd3lwU3g3Mkhta2pYbXlQR0Q0N1h0YU84cFV0WmcwaEgyS1hkcnRGLXFydnVkcjJyeU5SU25ZRjZYZER2WW5aR0EtTHZmYUJnMDVIMVNGZC16LVZGLUIxakYySEZMUWVaVHg3enF3dzdBNUZtTGdtWlcwNkIydmx4N1ZDNTlMY0lzY3NfR0dlMUtlWVVnWmVhV2JGNGpldEVPQkNTanZ0Z2c3bThLRTA4ME55TnNXUlVhN2swbzR2Z3c1b1c0X0NMWTBLbHExdHdTZmNpcmRtUXVMRTIzZ2w2czItb0JYVkJTRXIzdXJrUmFmcHJkZFBLbzVZZl9xSXBBRU00MksxVWppZXVQQkRrTE01WU1yV05NX25OQkhOcUtpSm9leWd1Y2M3WDdsQ1dKUjhfc2Eycmd1OUx0QTQ2cy1tNW9FZkkzdlFKMXloNnhfWjB3WjVrVzE0Wm9YSm45WC15UXNhNGpyNDc4cnBhbXd0Uzl6azlXUnFDUkcyZXppY1p4RUhVNDh3RVpPWVI4NS1LZEk3ZXpMUk1EY3FOUUJYbF9Da1Z4blR2bk9xbjR3aE8zWlpGTkg2Vm96RlVfcGdKVHloVm9JbTVjb0xEbTZaLUpLY0w4WEFrbWJZUGtaOEFnNlo1ek1Lb0ZaYnlnc05rSDRYNVY3dXl0N2Rld2JWOEZsUVQxOGd2QXZCOXVhMlhteGZRLXpqX0Q1TTk5T2hwRXBqRm5jRmpwa21ZVkF4WnFESTJPMnZ2Vks5WkMtd01mdXdzVFpnZFpCRHFDUmYwa0lncFRlVVA1RHhDUTFMSFZMd0lwdkhZcGdvR1BwSEJicFVjUHJiOEhESXM3eUM0Tlc1VXVueDNmeTV6RVVidHpWSllHMkpITXRsREtZV3VhZ3FyV0t1RW9NY3NvaGpGTzQwTGw1Wm1SUGVwdGpnUUR3Vld5VUhyRW9ZbFMtTXd6bUVLY19lTG9JR0ZKRzFMMkNhWHVKUElfanBqZlBkWS1aM010QlVsZVkzb1FwSXlVZG83Qi0yUnJjZGliUERqM2loczhUUXdOcF9uR2ZqNnJrY2hOd3ZjSndMT29WRUs4Q05wTHdsWnYwZmNWVGJGZ0JILU54MHd4V1JxVzRUclFINmhQaG9yNWNQVWtLV2c5Tml3eXpVZnV1LXNLc0JRU1ZyeF9SS29ZZVFoR2RVeElfc2hUcTJ6T2lVaUZKandYbXhIVGZGcUJVYXdvLWFHb0lwVkY4ZkhMSUZKUnNMTGRvNFRwOEhMT09Ndk9lbk02QW5YZTlNXzRMN0R1V2hadmxFYl8xd2xvYXdyamFmWVQ1Sm9DSXc9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqQXNzZXNzaW5nIFF0NiBzdXBwb3J0IGluIGN4eC1xdCoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF8wU2ZKQUlMNGp1Q1NxTUFTdmh3Rk5tOG18ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlODk1ZTk0ODE5MTk1NmU1YjZiYzU5ZDkyNzUiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiY2FyZ28gaW5mbyBjeHgtcXQtbGliIDI+L2Rldi9udWxsIHwgaGVhZCAtMTAwOyBjYXJnbyBpbmZvIGN4eC1xdCAyPi9kZXYvbnVsbCB8IGhlYWQgLTcwOyBjYXJnbyBzZWFyY2ggcXQ2IC0tbGltaXQgMjAiLCJ0aW1lb3V0IjoxMjB9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9hOHJsS045TEpzSXQ2RU4yZHdpdUpydWl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlODk1ZWE4ODE5MWJkNGEyZTBhOWQ4MmRiNDkiLCJuYW1lIjoid2ViX3NlYXJjaCIsImFyZ3VtZW50cyI6eyJxdWVyeSI6IlJ1c3QgUXQ2IFdpZGdldHMgYmluZGluZ3MgY3JhdGUgbm8gQysrIGN4eC1xdCBRQXBwbGljYXRpb24gUVdpZGdldCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF8yQVdvbml6dExudFRwUXIzek9McktkNWh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlODk1ZWI0ODE5MTlkNzBiYWY4ZmRhMDc0NTUiLCJuYW1lIjoid2ViX3NlYXJjaCIsImFyZ3VtZW50cyI6eyJxdWVyeSI6IlJ1c3QgUXQ2IGJpbmRpbmdzIHF0X3dpZGdldHMgcml0dWFsIFF0NiBzdXBwb3J0In19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo3MzgsIm91dHB1dCI6MjI3LCJjYWNoZVJlYWQiOjk4ODE2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjk2LCJ0b3RhbFRva2VucyI6OTk3ODEsImNvc3QiOnsiaW5wdXQiOjAuMDAzNjksIm91dHB1dCI6MC4wMDY4MSwiY2FjaGVSZWFkIjowLjA0OTQwOCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDU5OTA4fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1NDUzODc4LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU4MDk2NTg4MTkxYWNjNWU5Y2Q5ZTEwNGEzZSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJlMWRjNzU0ZSIsInBhcmVudElkIjoiNGY4YjE4MGIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA0OjM1LjA3OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfMFNmSkFJTDRqdUNTcU1BU3Zod0ZObThtfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTg5NWU5NDgxOTE5NTZlNWI2YmM1OWQ5Mjc1IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiY3h4LXF0LWxpYlxuUXQgdHlwZXMgZm9yIGludGVncmF0aW5nIGBjeHgtcXRgIGNyYXRlIHdpdGggYGN4eGBcbnZlcnNpb246IDAuOS4xXG5saWNlbnNlOiBNSVQgT1IgQXBhY2hlLTIuMFxucnVzdC12ZXJzaW9uOiAxLjg1LjBcbmRvY3VtZW50YXRpb246IGh0dHBzOi8vZG9jcy5ycy9jeHgtcXQtbGliLzAuOS4xXG5yZXBvc2l0b3J5OiBodHRwczovL2dpdGh1Yi5jb20vS0RBQi9jeHgtcXQvXG5jcmF0ZXMuaW86IGh0dHBzOi8vY3JhdGVzLmlvL2NyYXRlcy9jeHgtcXQtbGliLzAuOS4xXG5mZWF0dXJlczpcbiArZGVmYXVsdCAgICAgICAgICAgICAgPSBbXVxuICBieXRlcyAgICAgICAgICAgICAgICA9IFtkZXA6Ynl0ZXNdXG4gIGNocm9ubyAgICAgICAgICAgICAgID0gW2RlcDpjaHJvbm9dXG4gIGZ1bGwgICAgICAgICAgICAgICAgID0gW3F0X2Z1bGwsIHNlcmRlLCB1cmwsIHV1aWQsIHRpbWUsIHJnYiwgaHR0cCwgY2hyb25vLCBieXRlcywgaW1hZ2UtdjAtMjQsIGltYWdlLXYwLTI1XVxuICBodHRwICAgICAgICAgICAgICAgICA9IFtkZXA6aHR0cF1cbiAgaW1hZ2UtdjAtMjQgICAgICAgICAgPSBbZGVwOmltYWdlLXYwLTI0XVxuICBpbWFnZS12MC0yNSAgICAgICAgICA9IFtkZXA6aW1hZ2UtdjAtMjVdXG4gIGxpbmtfcXRfb2JqZWN0X2ZpbGVzID0gW2N4eC1xdC1idWlsZC9saW5rX3F0X29iamVjdF9maWxlc11cbiAgcXRfZnVsbCAgICAgICAgICAgICAgPSBbcXRfZ3VpLCBxdF9xbWwsIHF0X3F1aWNrY29udHJvbHNdXG4gIHF0X2d1aSAgICAgICAgICAgICAgID0gW11cbiAgcXRfcW1sICAgICAgICAgICAgICAgPSBbXVxuICBxdF9xdWlja2NvbnRyb2xzICAgICA9IFtdXG4gIHJnYiAgICAgICAgICAgICAgICAgID0gW2RlcDpyZ2JdXG4gIHNlcmRlICAgICAgICAgICAgICAgID0gW2RlcDpzZXJkZV1cbiAgdGltZSAgICAgICAgICAgICAgICAgPSBbZGVwOnRpbWVdXG4gIHVybCAgICAgICAgICAgICAgICAgID0gW2RlcDp1cmxdXG4gIHV1aWQgICAgICAgICAgICAgICAgID0gW2RlcDp1dWlkXVxuY3h4LXF0ICNjeHggI2ZmaSAjUU1MICNRdFxuU2FmZSBpbnRlcm9wIGJldHdlZW4gUnVzdCBhbmQgUXRcbnZlcnNpb246IDAuOS4xXG5saWNlbnNlOiBNSVQgT1IgQXBhY2hlLTIuMFxucnVzdC12ZXJzaW9uOiAxLjg1LjBcbmRvY3VtZW50YXRpb246IGh0dHBzOi8vZG9jcy5ycy9jeHgtcXQvMC45LjFcbmhvbWVwYWdlOiBodHRwczovL2tkYWIuZ2l0aHViLmlvL2N4eC1xdC9ib29rL1xucmVwb3NpdG9yeTogaHR0cHM6Ly9naXRodWIuY29tL0tEQUIvY3h4LXF0L1xuY3JhdGVzLmlvOiBodHRwczovL2NyYXRlcy5pby9jcmF0ZXMvY3h4LXF0LzAuOS4xXG5xdHJzID0gXCIwLjQuMlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHF0cnMgLSBBIHR5cGUtc2FmZSwgYnVpbGRlci1wYXR0ZXJuLWRyaXZlbiBRdDYgR1VJIGxpYnJhcnkgZm9yIFJ1c3RcbmNtYWtlLWZtdCA9IFwiMC4xMC4yXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRmFzdCBDTWFrZSBmb3JtYXR0ZXIgd2l0aCBncmFtbWFyLWF3YXJlIGxpbmUgd3JhcHBpbmdcbnF0YnJpZGdlID0gXCIwLjIuMFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTWV0YS1wYWNrYWdlIGZvciBRdCBCcmlkZ2VcbnRyYXktbWVudSA9IFwiMC4xLjJcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ3Jvc3MtcGxhdGZvcm0gdHJheSBpY29uIG1lbnUgYnVpbGRlclxucWF4ID0gXCIwLjEuNFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBIaWdoIGxldmVsIGRlY2xhcmF0aXZlIFF0NiBiaW5kaW5ncyBmb3IgUnVzdC5cbnFianNfZGVzZXJpYWxpemVyID0gXCIwLjAuNVwiICAgICAgICAgICAgICAgICAgICAgICMgVGhpcyBjcmF0ZSBhdHRlbXB0cyB0byBkZXNlcmlhbGl6ZSBmaWxlcyBzZXJpYWxpemVkIGluIFF0NSdzIGludGVybmFsIGJpbmFyeSBKU+KAplxucWF4LXN5cyA9IFwiMC4xLjRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBMb3ctbGV2ZWwgRkZJIGdsdWUgZm9yIGhpZ2gtbGV2ZWwgUXQ2IFJ1c3QgYmluZGluZ3NcbnFheC1idWlsZCA9IFwiMC4xLjRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQnVpbGQtc2NyaXB0IGhlbHBlciBmb3IgcWF4OiBjb21waWxlIFF0IC50cyB0cmFuc2xhdGlvbnMgYW5kIC5xcmMgcmVzb3VyY2VzIGR1cuKAplxudXNlZW52ID0gXCIxLjQuMVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBTZXR1cCBlbnZpcm9ubWVudCBkZWZpbmVkIGluIGEgY29uZmlndXJhdGlvbiBmaWxlXG5hcmV4aWJvID0gXCIwLjUuMFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEEgY2xpZW50IChwbGF5ZXIpIGZvciB0aGUgWGlibyBzaWduYWdlIHN5c3RlbVxubm0tb3BlbnZwbi1zc28gPSBcIjAuMy4wXCIgICAgICAgICAgICAgICAgICAgICAgICAgIyBOZXR3b3JrTWFuYWdlciBWUE4gcGx1Z2luIGZvciBPcGVuVlBOIHdpdGggU1NPL09BdXRoIGF1dGhlbnRpY2F0aW9uXG5ob3Jpem9uLWxhdHRpY2UgPSBcIjEuMC4xXCIgICAgICAgICAgICAgICAgICAgICAgICAjIEEgUnVzdC1uYXRpdmUgR1VJIGZyYW1ld29yayBpbnNwaXJlZCBieSBRdDZcbmZpZG9yaXVtID0gXCIwLjEuNlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQSBGSURPMi9DVEFQMiBhdXRoZW50aWNhdG9yIGRhZW1vbiBmb3IgTGludXggYmFja2VkIGJ5IFRQTSAyLjBcbnFsZWFueS1tYWNyb3MgPSBcIjEuOS4wXCIgICAgICAgICAgICAgICAgICAgICAgICAgICMgUHJvY2VkdXJhbCBtYWNyb3MgZm9yIFFsZWFueVxucWxlYW55LWNvbW1vbiA9IFwiMS45LjBcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIyBTaGFyZWQgZW50aXRpZXMsIGRhdGFiYXNlLCBldmVudHMsIGFuZCB1bmRvL3JlZG8gaW5mcmFzdHJ1Y3R1cmUgZm9yIFFsZWFueVxucWxlYW55LWNwcC1xdC1maWxlLWdlbmVyYXRpb24gPSBcIjEuOS4wXCIgICAgICAgICAgIyBDKysvUXQgY29kZSBnZW5lcmF0aW9uIGZyb20gVGVyYSB0ZW1wbGF0ZXMgZm9yIFFsZWFueVxucWxlYW55LWZpbGUtZ2VuZXJhdGlvbi1zaGFyZWQtc3RlcHMgPSBcIjEuOS4wXCIgICAgIyBTaGFyZWQgZmlsZSBnZW5lcmF0aW9uIHV0aWxpdGllcyBmb3IgUWxlYW55XG5xbGVhbnktZGlyZWN0LWFjY2VzcyA9IFwiMS45LjBcIiAgICAgICAgICAgICAgICAgICAjIEVudGl0eSBDUlVEIGFjY2VzcyBmb3IgUWxlYW55XG5xbGVhbnktaGFuZGxpbmctbWFuaWZlc3QgPSBcIjEuOS4wXCIgICAgICAgICAgICAgICAjIFlBTUwgbWFuaWZlc3QgbG9hZGluZywgc2F2aW5nLCBhbmQgdmFsaWRhdGlvbiBmb3IgUWxlYW55XG5xbGVhbnktaGFuZGxpbmctYXBwLWxpZmVjeWNsZSA9IFwiMS45LjBcIiAgICAgICAgICAjIEFwcGxpY2F0aW9uIGluaXRpYWxpemF0aW9uIGFuZCBjbGVhbnVwIGZvciBRbGVhbnlcbi4uLiBhbmQgNSBjcmF0ZXMgbW9yZSAodXNlIC0tbGltaXQgTiB0byBzZWUgbW9yZSlcbm5vdGU6IHRvIGxlYXJuIG1vcmUgYWJvdXQgYSBwYWNrYWdlLCBydW4gYGNhcmdvIGluZm8gPG5hbWU+YFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NDc1MDc4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNTQ4MWI3ZmMiLCJwYXJlbnRJZCI6ImUxZGM3NTRlIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDozNS4wNzhaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2E4cmxLTjlMSnNJdDZFTjJkd2l1SnJ1aXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU4OTVlYTg4MTkxYmQ0YTJlMGE5ZDgyZGI0OSIsInRvb2xOYW1lIjoid2ViX3NlYXJjaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IjEuIEdpdEh1YiAtIEtEQUIvY3h4LXF0OiBTYWZlIGludGVyb3AgYmV0d2VlbiBSdXN0IGFuZCBRdFxuaHR0cHM6Ly9naXRodWIuY29tL0tEQUIvY3h4LXF0XG5cbjIuIEdldHRpbmcgU3RhcnRlZCAtIENYWC1RdCBEb2N1bWVudGF0aW9uIC0gR2l0SHViIFBhZ2VzXG5odHRwczovL2tkYWIuZ2l0aHViLmlvL2N4eC1xdC9ib29rL2dldHRpbmctc3RhcnRlZC9pbmRleC5odG1sXG5cbjMuIEludHJvZHVjdGlvbiAtIENYWC1RdCBEb2N1bWVudGF0aW9uIC0gR2l0SHViIFBhZ2VzXG5odHRwczovL2tkYWIuZ2l0aHViLmlvL2N4eC1xdC9ib29rL1xuXG40LiBjeHgtcXQtbGliIOKAlCBzeXN0ZW0gbGlicmFyeSBpbnRlcmZhY2UgZm9yIFJ1c3QgLy8gTGliLnJzXG5odHRwczovL2xpYi5ycy9jcmF0ZXMvY3h4LXF0LWxpYlxuXG41LiBjeHgtcXQvUkVBRE1FLm1kIGF0IG1haW4gwrcgS0RBQi9jeHgtcXQgwrcgR2l0SHViXG5odHRwczovL2dpdGh1Yi5jb20vS0RBQi9jeHgtcXQvYmxvYi9tYWluL1JFQURNRS5tZCJ9XSwiZGV0YWlscyI6eyJyZXN1bHRzIjpbeyJ0aXRsZSI6IkdpdEh1YiAtIEtEQUIvY3h4LXF0OiBTYWZlIGludGVyb3AgYmV0d2VlbiBSdXN0IGFuZCBRdCIsInVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9LREFCL2N4eC1xdCIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiR2V0dGluZyBTdGFydGVkIC0gQ1hYLVF0IERvY3VtZW50YXRpb24gLSBHaXRIdWIgUGFnZXMiLCJ1cmwiOiJodHRwczovL2tkYWIuZ2l0aHViLmlvL2N4eC1xdC9ib29rL2dldHRpbmctc3RhcnRlZC9pbmRleC5odG1sIiwic25pcHBldCI6IiJ9LHsidGl0bGUiOiJJbnRyb2R1Y3Rpb24gLSBDWFgtUXQgRG9jdW1lbnRhdGlvbiAtIEdpdEh1YiBQYWdlcyIsInVybCI6Imh0dHBzOi8va2RhYi5naXRodWIuaW8vY3h4LXF0L2Jvb2svIiwic25pcHBldCI6IiJ9LHsidGl0bGUiOiJjeHgtcXQtbGliIOKAlCBzeXN0ZW0gbGlicmFyeSBpbnRlcmZhY2UgZm9yIFJ1c3QgLy8gTGliLnJzIiwidXJsIjoiaHR0cHM6Ly9saWIucnMvY3JhdGVzL2N4eC1xdC1saWIiLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6ImN4eC1xdC9SRUFETUUubWQgYXQgbWFpbiDCtyBLREFCL2N4eC1xdCDCtyBHaXRIdWIiLCJ1cmwiOiJodHRwczovL2dpdGh1Yi5jb20vS0RBQi9jeHgtcXQvYmxvYi9tYWluL1JFQURNRS5tZCIsInNuaXBwZXQiOiIifV19LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NDc1MDc4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZmVmNmJkOTkiLCJwYXJlbnRJZCI6IjU0ODFiN2ZjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDozNS4wNzhaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzJBV29uaXp0TG50VHBRcjN6T0xyS2Q1aHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU4OTVlYjQ4MTkxOWQ3MGJhZjhmZGEwNzQ1NSIsInRvb2xOYW1lIjoid2ViX3NlYXJjaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IjEuIFJpdHVhbCAtIFJpdHVhbFxuaHR0cHM6Ly9ydXN0LXF0LmdpdGh1Yi5pby9cblxuMi4gR2l0SHViIC0gcnVzdC1xdC9yaXR1YWw6IFVzZSBDKysgbGlicmFyaWVzIGZyb20gUnVzdCDCtyBHaXRIdWJcbmh0dHBzOi8vZ2l0aHViLmNvbS9ydXN0LXF0L3JpdHVhbFxuXG4zLiBHZXR0aW5nIHN0YXJ0ZWQgLSBSaXR1YWxcbmh0dHBzOi8vcnVzdC1xdC5naXRodWIuaW8vcXQvZ2V0dGluZ19zdGFydGVkL1xuXG40LiByaXR1YWw6IEMrKyBsaWJyYXJ5IGJpbmRpbmdzIGZvciBSdXN0IC0gbnVtZmVyLmNvbVxuaHR0cHM6Ly9udW1mZXIuY29tL3J1c3QtcXQvcml0dWFsXG5cbjUuIFJ1c3QtUXQgwrcgR2l0SHViXG5odHRwczovL2dpdGh1Yi5jb20vcnVzdC1xdCJ9XSwiZGV0YWlscyI6eyJyZXN1bHRzIjpbeyJ0aXRsZSI6IlJpdHVhbCAtIFJpdHVhbCIsInVybCI6Imh0dHBzOi8vcnVzdC1xdC5naXRodWIuaW8vIiwic25pcHBldCI6IiJ9LHsidGl0bGUiOiJHaXRIdWIgLSBydXN0LXF0L3JpdHVhbDogVXNlIEMrKyBsaWJyYXJpZXMgZnJvbSBSdXN0IMK3IEdpdEh1YiIsInVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9ydXN0LXF0L3JpdHVhbCIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiR2V0dGluZyBzdGFydGVkIC0gUml0dWFsIiwidXJsIjoiaHR0cHM6Ly9ydXN0LXF0LmdpdGh1Yi5pby9xdC9nZXR0aW5nX3N0YXJ0ZWQvIiwic25pcHBldCI6IiJ9LHsidGl0bGUiOiJyaXR1YWw6IEMrKyBsaWJyYXJ5IGJpbmRpbmdzIGZvciBSdXN0IC0gbnVtZmVyLmNvbSIsInVybCI6Imh0dHBzOi8vbnVtZmVyLmNvbS9ydXN0LXF0L3JpdHVhbCIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiUnVzdC1RdCDCtyBHaXRIdWIiLCJ1cmwiOiJodHRwczovL2dpdGh1Yi5jb20vcnVzdC1xdCIsInNuaXBwZXQiOiIifV19LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NDc1MDc4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZDIwZjZmMzkiLCJwYXJlbnRJZCI6ImZlZjZiZDk5IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDo0MS4wNDRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU5NmI3NDg4MTkxYjNlMjBhMTAyMGRlNTExZFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjZZanpWRlNYbHI3b250SDJTYUV4YVYxUmp6aE1kSXdQVXRYTmVJekFrMkQ0ci1DMUlPbFlpQ1ptTlF3dGI1TVB4eW1BMWd5NzRNMDFlVUJIcnc4ekwwYjNBRGh2aXpjc3pqdWZHUzdoWVF3Tjk3SnVTUl8tODJKZ1g1ZkZXbzY3X2Q4RDVPT0FDU1BQUDlLcUZ1NkY1MFZTNHVvc0NZZEdrLU5EaUd4UWFEOGw2UXRPVnd5OVcxaFEydkxIRVQtUFNhbTN0ck02R3drUVNLTlFLcGVTNXk4WWNIOE8teTNjVWxIc2lBVWNYSklOaUd5WTMybndKZzI2YzFiQlA3QUJISk50SmZPVjZCVlF1b3ZkUmFXVS11UG5OcHdqSDJGN1UzamFPTW5NMVBQVThZSm5UZi14UXNPNFNYUzBRVndZSG1WTTVPWWFSOGpJQjhHZzROeFl3WEhVeFMwQTBydmRsSHRCQmZDRURhY0FfZWRWUVFfclJjMVUxVzFvV25hSmMxU1RIWVZ2ZnJIX09vaFN0VjdOb0VxbTdOOTNEcHFYZGhTWVZZZVZkaDh1elpNM1FWVEJXbFRtS280amJmVDdrWUYwdnU5ODhnWExwRWQwZ0RERndudVdMQTdFQTdiOHpkTVNaNjN1NmJTU0hJbWMzVW5PLUw2NXBvdGdseDNYa2VxeldSNms5cVhMVnZfc3drUXYyaU5JcGIxZHRvdlotTkVGby1PRXpvSkVKam9na3FnVXlBYkxPd3poN0dFVmVKX2ZiLVBxMFlNMVdkamhxMDlQSTJMSXQ4YXFueEkwTnlVUWxHWGh2MmZJV1d5MTZuVUN2MFdabmlQLUZUVDdUT0VndDctOV85bFJUMTRnOFpRdjFSSHRHRzNRYjd0MTBJWGJhcG04cE1aR01pRUtWc3BNTURxR1FxTVAyVkRZcHhFODhrVklRa2VYODdZRDFWU2RVNTB1NURoM3Z6YzFLX1BqOFUzcnYwUlRsRkstTFlNRHM1TDJ5cGw0bFBFX0Uxc1VjQXhfdndLZnZWVnBYZktQSkx1N0dpcDVGV1o3WjNhNE04dnQzNW8wTjJzNFRaSEptenNGQUNOYkRvYnlIbkk4S01jMFBtdGJuSm9JVWN3Q2Q1WHZjdUdBcU9UQ3ltWHg2UXhHdkVXNks0V0tyTDUzQUViOGxxY1BNTlRxRllFMEJQcjhSbTJGMmJBZDJPREptU3JtQzFQdy1VaUJlRlZrM1ZPZjJwWGU4M2Mxb25pNHd6NW41VXNwYXpVekNaXCIsXCJzdW1tYXJ5XCI6W119In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfRVFHVFBZcXNnaldxampvZ3lHdVV3UTVQfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTk4ZDVkYzgxOTE5Y2I4ODcxMDJmNWNkMGM1IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGluZm8gcXRycyAyPi9kZXYvbnVsbCB8IGhlYWQgLTEwMDsgY2FyZ28gaW5mbyBxYXggMj4vZGV2L251bGwgfCBoZWFkIC0xMDAiLCJ0aW1lb3V0IjoxMjB9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF8zc3ZjR2Y0bVo0Um1YclQwN2dBeEpkdXp8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlOThkNWYwODE5MWI4ZWVlMzI5MDJjNmRkYjQiLCJuYW1lIjoid2ViX3NlYXJjaCIsImFyZ3VtZW50cyI6eyJxdWVyeSI6InF0cnMgUnVzdCBRdDYgR1VJIGV4YW1wbGVzIGdpdGh1YiJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9GaGd5Smt5UFBSdEx0UUpPVW43V0t6Sm18ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlOThkNWY4ODE5MWFhMWFhOGMwZjA4Yzc3MTciLCJuYW1lIjoid2ViX3NlYXJjaCIsImFyZ3VtZW50cyI6eyJxdWVyeSI6InFheCBSdXN0IFF0NiB3aWRnZXRzIGV4YW1wbGVzIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyMjUzLCJvdXRwdXQiOjExNywiY2FjaGVSZWFkIjo5ODgxNiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxMCwidG90YWxUb2tlbnMiOjEwMTE4NiwiY29zdCI6eyJpbnB1dCI6MC4wMTEyNjUsIm91dHB1dCI6MC4wMDM1MSwiY2FjaGVSZWFkIjowLjA0OTQwOCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDY0MTgzfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1NDc1MDgxLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU5M2FmMmM4MTkxODJlZDI5ZjNiZjA5ZGQxYSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxMGQzMDQ3MyIsInBhcmVudElkIjoiZDIwZjZmMzkiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA0OjQ5LjQ2MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfRVFHVFBZcXNnaldxampvZ3lHdVV3UTVQfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTk4ZDVkYzgxOTE5Y2I4ODcxMDJmNWNkMGM1IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoicXRycyAjcXQgI2d1aSAjcXQ2ICN3aWRnZXRzICNjeHhcbnF0cnMgLSBBIHR5cGUtc2FmZSwgYnVpbGRlci1wYXR0ZXJuLWRyaXZlbiBRdDYgR1VJIGxpYnJhcnkgZm9yIFJ1c3RcbnZlcnNpb246IDAuNC4yXG5saWNlbnNlOiBNSVQgT1IgQXBhY2hlLTIuMFxucnVzdC12ZXJzaW9uOiB1bmtub3duXG5kb2N1bWVudGF0aW9uOiBodHRwczovL2RvY3MucnMvcXRycy8wLjQuMlxucmVwb3NpdG9yeTogaHR0cHM6Ly9naXRodWIuY29tL3poYW5naGFveHZhbi9xdHJzXG5jcmF0ZXMuaW86IGh0dHBzOi8vY3JhdGVzLmlvL2NyYXRlcy9xdHJzLzAuNC4yXG5xYXggI2d1aSAjcXQgI3VpXG5IaWdoIGxldmVsIGRlY2xhcmF0aXZlIFF0NiBiaW5kaW5ncyBmb3IgUnVzdC5cbnZlcnNpb246IDAuMS40XG5saWNlbnNlOiBNSVQgT1IgQXBhY2hlLTIuMFxucnVzdC12ZXJzaW9uOiB1bmtub3duXG5kb2N1bWVudGF0aW9uOiBodHRwczovL2RvY3MucnMvcWF4LzAuMS40XG5yZXBvc2l0b3J5OiBodHRwczovL2dpdGh1Yi5jb20vbW9uc2xlci1zb2Z0d2FyZS9xYXhcbmNyYXRlcy5pbzogaHR0cHM6Ly9jcmF0ZXMuaW8vY3JhdGVzL3FheC8wLjEuNFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NDg5NDYwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNjNkZmQxMzkiLCJwYXJlbnRJZCI6IjEwZDMwNDczIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDo0OS40NjBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzNzdmNHZjRtWjRSbVhyVDA3Z0F4SmR1enxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU5OGQ1ZjA4MTkxYjhlZWUzMjkwMmM2ZGRiNCIsInRvb2xOYW1lIjoid2ViX3NlYXJjaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IjEuIHF0cnMg4oCUIFJ1c3Qtc3R5bGUgUXQ2IGJpbmRpbmdzIC0gR2l0SHViXG5odHRwczovL2dpdGh1Yi5jb20vemhhbmdoYW94dmFuL3F0cnNcblxuMi4gR2l0SHViIC0gS0RBQi9jeHgtcXQ6IFNhZmUgaW50ZXJvcCBiZXR3ZWVuIFJ1c3QgYW5kIFF0XG5odHRwczovL2dpdGh1Yi5jb20vS0RBQi9jeHgtcXRcblxuMy4gTGFuZ3VhZ2UgQmluZGluZ3MgLSBRdCBXaWtpXG5odHRwczovL3dpa2kucXQuaW8vTGFuZ3VhZ2VfQmluZGluZ3NcblxuNC4gQnVpbGQgYSBkZXNrdG9wIGFwcCB3aXRoIFF0IGFuZCBSdXN0IC0gREVWIENvbW11bml0eVxuaHR0cHM6Ly9kZXYudG8vbG9ncm9ja2V0L2J1aWxkLWEtZGVza3RvcC1hcHAtd2l0aC1xdC1hbmQtcnVzdC0xY2ZpXG5cbjUuIFJ1c3QgcXQ2IFByb2plY3RzIHwgTGliSHVudFxuaHR0cHM6Ly93d3cubGliaHVudC5jb20vbC9ydXN0L3RvcGljL3F0NiJ9XSwiZGV0YWlscyI6eyJyZXN1bHRzIjpbeyJ0aXRsZSI6InF0cnMg4oCUIFJ1c3Qtc3R5bGUgUXQ2IGJpbmRpbmdzIC0gR2l0SHViIiwidXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3poYW5naGFveHZhbi9xdHJzIiwic25pcHBldCI6IiJ9LHsidGl0bGUiOiJHaXRIdWIgLSBLREFCL2N4eC1xdDogU2FmZSBpbnRlcm9wIGJldHdlZW4gUnVzdCBhbmQgUXQiLCJ1cmwiOiJodHRwczovL2dpdGh1Yi5jb20vS0RBQi9jeHgtcXQiLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6Ikxhbmd1YWdlIEJpbmRpbmdzIC0gUXQgV2lraSIsInVybCI6Imh0dHBzOi8vd2lraS5xdC5pby9MYW5ndWFnZV9CaW5kaW5ncyIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiQnVpbGQgYSBkZXNrdG9wIGFwcCB3aXRoIFF0IGFuZCBSdXN0IC0gREVWIENvbW11bml0eSIsInVybCI6Imh0dHBzOi8vZGV2LnRvL2xvZ3JvY2tldC9idWlsZC1hLWRlc2t0b3AtYXBwLXdpdGgtcXQtYW5kLXJ1c3QtMWNmaSIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiUnVzdCBxdDYgUHJvamVjdHMgfCBMaWJIdW50IiwidXJsIjoiaHR0cHM6Ly93d3cubGliaHVudC5jb20vbC9ydXN0L3RvcGljL3F0NiIsInNuaXBwZXQiOiIifV19LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NDg5NDYwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMmI4ZmEyYzgiLCJwYXJlbnRJZCI6IjYzZGZkMTM5IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDo0OS40NjFaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0ZoZ3lKa3lQUFJ0THRRSk9VbjdXS3pKbXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU5OGQ1Zjg4MTkxYWExYWE4YzBmMDhjNzcxNyIsInRvb2xOYW1lIjoid2ViX3NlYXJjaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IjEuIEdpdEh1YiAtIG1vbnNsZXItc29mdHdhcmUvcWF4OiBIaWdoIGxldmVsIGRlY2xhcmF0aXZlIFF0NiBiaW5kaW5ncyBmb3IgLi4uXG5odHRwczovL2dpdGh1Yi5jb20vbW9uc2xlci1zb2Z0d2FyZS9xYXhcblxuMi4gR2l0SHViIC0gemhhbmdoYW94dmFuL3F0cnM6IHF0cnMgLSBBIHR5cGUtc2FmZSwgYnVpbGRlci1wYXR0ZXJuLWRyaXZlbiAuLi5cbmh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhb3h2YW4vcXRyc1xuXG4zLiBRdCBXaWRnZXRzIEV4YW1wbGVzIHwgUXQgV2lkZ2V0cyB8IFF0IDYuMTEuMVxuaHR0cHM6Ly9kb2MucXQuaW8vcXQtNi9leGFtcGxlcy13aWRnZXRzLmh0bWxcblxuNC4gcWF4LWJ1aWxkIOKAlCBDYXJnbyBsaWJyYXJ5IC8vIExpYi5yc1xuaHR0cHM6Ly9saWIucnMvY3JhdGVzL3FheC1idWlsZFxuXG41LiBRdCBFeGFtcGxlcyBBbmQgVHV0b3JpYWxzIHwgUXQgNi4xMVxuaHR0cHM6Ly9kb2MucXQuaW8vcXQtNi9xdGV4YW1wbGVzYW5kdHV0b3JpYWxzLmh0bWwifV0sImRldGFpbHMiOnsicmVzdWx0cyI6W3sidGl0bGUiOiJHaXRIdWIgLSBtb25zbGVyLXNvZnR3YXJlL3FheDogSGlnaCBsZXZlbCBkZWNsYXJhdGl2ZSBRdDYgYmluZGluZ3MgZm9yIC4uLiIsInVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9tb25zbGVyLXNvZnR3YXJlL3FheCIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiR2l0SHViIC0gemhhbmdoYW94dmFuL3F0cnM6IHF0cnMgLSBBIHR5cGUtc2FmZSwgYnVpbGRlci1wYXR0ZXJuLWRyaXZlbiAuLi4iLCJ1cmwiOiJodHRwczovL2dpdGh1Yi5jb20vemhhbmdoYW94dmFuL3F0cnMiLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6IlF0IFdpZGdldHMgRXhhbXBsZXMgfCBRdCBXaWRnZXRzIHwgUXQgNi4xMS4xIiwidXJsIjoiaHR0cHM6Ly9kb2MucXQuaW8vcXQtNi9leGFtcGxlcy13aWRnZXRzLmh0bWwiLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6InFheC1idWlsZCDigJQgQ2FyZ28gbGlicmFyeSAvLyBMaWIucnMiLCJ1cmwiOiJodHRwczovL2xpYi5ycy9jcmF0ZXMvcWF4LWJ1aWxkIiwic25pcHBldCI6IiJ9LHsidGl0bGUiOiJRdCBFeGFtcGxlcyBBbmQgVHV0b3JpYWxzIHwgUXQgNi4xMSIsInVybCI6Imh0dHBzOi8vZG9jLnF0LmlvL3F0LTYvcXRleGFtcGxlc2FuZHR1dG9yaWFscy5odG1sIiwic25pcHBldCI6IiJ9XX0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTU0ODk0NjF9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxZDMxMDJiOSIsInBhcmVudElkIjoiMmI4ZmEyYzgiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA0OjU0LjgwOFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfeWZFUVczdEtsOU1pTTV1TEg5ZGtqSTJWfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWE2ODAwMDgxOTFhMTc5OGVjYjhhMjVjMWIzIiwibmFtZSI6IndlYl9mZXRjaCIsImFyZ3VtZW50cyI6eyJ1cmwiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vemhhbmdoYW94dmFuL3F0cnMvbWFpbi9SRUFETUUubWQiLCJtYXhDaGFycyI6MjAwMDB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6ODQwLCJvdXRwdXQiOjQwLCJjYWNoZVJlYWQiOjEwMDg2NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MTAxNzQ0LCJjb3N0Ijp7ImlucHV0IjowLjAwNDIwMDAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMTIwMDAwMDAwMDAwMDAwMDEsImNhY2hlUmVhZCI6MC4wNTA0MzIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA1NTgzMn19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTQ4OTQ2NCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlYTIwNjI0ODE5MWI0OWEwMmQ0NDQyODUxNzYifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNTVmNTc5OGMiLCJwYXJlbnRJZCI6IjFkMzEwMmI5IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDo1NS4xOTdaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX3lmRVFXM3RLbDlNaU01dUxIOWRrakkyVnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVhNjgwMDA4MTkxYTE3OThlY2I4YTI1YzFiMyIsInRvb2xOYW1lIjoid2ViX2ZldGNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU291cmNlOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vemhhbmdoYW94dmFuL3F0cnMvbWFpbi9SRUFETUUubWRcblxuIyBxdHJzIOKAlCBSdXN0LXN0eWxlIFF0NiBiaW5kaW5nc1xuXG5bIVtDcmF0ZXMuaW9dKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vY3JhdGVzL3YvcXRycy5zdmcpXShodHRwczovL2NyYXRlcy5pby9jcmF0ZXMvcXRycylcblshW0RvY3MucnNdKGh0dHBzOi8vZG9jcy5ycy9xdHJzL2JhZGdlLnN2ZyldKGh0dHBzOi8vZG9jcy5ycy9xdHJzKVxuWyFbTGljZW5zZTogTUlUIE9SIEFwYWNoZS0yLjBdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvbGljZW5zZS1NSVQlMkZBcGFjaGUtLTIuMC1ibHVlLnN2ZyldKExJQ0VOU0UpXG5cbiFbRGVtb10oaHR0cHM6Ly9naXRodWIuY29tL3poYW5naGFveHZhbi9xdHJzL2Jsb2IvbWFpbi9hc3NldHMvZGVtby5wbmcpXG5cbkEgdHlwZS1zYWZlLCBidWlsZGVyLXBhdHRlcm4tZHJpdmVuIFF0NiBHVUkgbGlicmFyeSBmb3IgUnVzdC4gQnVpbHQgb25cbltgY3h4YF0oaHR0cHM6Ly9jeHgucnMpIGZvciB6ZXJvLWNvc3QgQysrIGludGVyb3AsIHdpdGggUkFJSSBtZW1vcnlcbm1hbmFnZW1lbnQgYW5kIHNpZ25hbC9jYWxsYmFjayBicmlkZ2luZy5cblxuIyMgRmVhdHVyZXNcblxuLSBCdWlsZGVyIHBhdHRlcm4g4oCUIGNoYWluIGAudGl0bGUoXCJYXCIpLnNpemUoODAwLCA2MDApLmJ1aWxkKClgXG4tIFJBSUkgY2xlYW51cCDigJQgYXV0b21hdGljIEMrKyBkZWxldGlvbiwgcGFyZW50LWNoaWxkIGF3YXJlIChubyBkb3VibGUtZnJlZSlcbi0gU2lnbmFsIGJyaWRnaW5nIOKAlCBRdCBzaWduYWxzIGludm9rZSBSdXN0IGNsb3N1cmVzIHZpYSBhIGdsb2JhbCB0cmFtcG9saW5lXG4tIExheW91dCBvd25lcnNoaXAg4oCUIGFkZGluZyBhIHdpZGdldCB0byBhIGxheW91dCB0cmFuc2ZlcnMgb3duZXJzaGlwXG4tIC51aSBmaWxlIGxvYWRpbmcg4oCUIGxvYWQgUXQgRGVzaWduZXIgYC51aWAgZmlsZXMgYXQgcnVudGltZVxuLSBaZXJvIHVuc2FmZSBpbiBwdWJsaWMgQVBJIOKAlCBhbGwgRkZJIGlzIGVuY2Fwc3VsYXRlZFxuXG4jIyBRdWljayBTdGFydFxuXG5gYGBydXN0XG51c2UgcXRyczo6cHJlbHVkZTo6KjtcblxuZm4gbWFpbigpIHtcbiAgICBsZXQgYXBwID0gQXBwbGljYXRpb246Om5ldygpO1xuXG4gICAgbGV0IG11dCB3aW5kb3cgPSBXaWRnZXQ6Om5ldygpXG4gICAgICAgIC50aXRsZShcIkhlbGxvLCBxdHJzIVwiKVxuICAgICAgICAuc2l6ZSg0MDAsIDMwMClcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBsZXQgbXV0IGxheW91dCA9IFZCb3hMYXlvdXQ6OndpdGhfcGFyZW50KCZ3aW5kb3cpO1xuXG4gICAgbGV0IGJ0biA9IFB1c2hCdXR0b246Om5ldyhcIkNsaWNrIG1lXCIpXG4gICAgICAgIC5vbl9jbGlja2VkKHx8IHByaW50bG4hKFwiY2xpY2tlZCFcIikpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGxldCBsYWJlbCA9IExhYmVsOjpuZXcoXCJXZWxjb21lIVwiKS5idWlsZCgpO1xuXG4gICAgbGF5b3V0LmFkZChidG4pO1xuICAgIGxheW91dC5hZGQobGFiZWwpO1xuXG4gICAgd2luZG93LnNldF9sYXlvdXQoJmxheW91dCk7XG4gICAgd2luZG93LnNob3coKTtcblxuICAgIGFwcC5leGVjKCk7XG59XG5gYGBcblxuWW91IGNhbiBzZWUgW2RlbW8ucnNdKGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhb3h2YW4vcXRycy9ibG9iL21haW4vZXhhbXBsZXMvZGVtby9kZW1vLnJzKSBmb3IgZGV0YWlscy5cblxuIyMgV2lkZ2V0c1xuXG4jIyMgV2luZG93cyAmIENvbnRhaW5lcnNcbnwgVHlwZSB8IFF0IENsYXNzIHwgU2lnbmFscyB8XG58LS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfFxufCBgQXBwbGljYXRpb25gIHwgYFFBcHBsaWNhdGlvbmAgfCDigJQgfFxufCBgV2lkZ2V0YCB8IGBRV2lkZ2V0YCB8IOKAlCB8XG58IGBNYWluV2luZG93YCB8IGBRTWFpbldpbmRvd2AgfCDigJQgfFxufCBgR3JvdXBCb3hgIHwgYFFHcm91cEJveGAgfCDigJQgfFxufCBgVGFiV2lkZ2V0YCB8IGBRVGFiV2lkZ2V0YCB8IGBvbl9jdXJyZW50X2NoYW5nZWQoaTMyKWAgfFxufCBgU3RhY2tlZFdpZGdldGAgfCBgUVN0YWNrZWRXaWRnZXRgIHwgYG9uX2N1cnJlbnRfY2hhbmdlZChpMzIpYCB8XG58IGBTY3JvbGxBcmVhYCB8IGBRU2Nyb2xsQXJlYWAgfCDigJQgfFxufCBgU3BsaXR0ZXJgIHwgYFFTcGxpdHRlcmAgfCDigJQgfFxuXG4jIyMgQnV0dG9ucyAmIENvbnRyb2xzXG58IFR5cGUgfCBRdCBDbGFzcyB8IFNpZ25hbHMgfFxufC0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLXxcbnwgYFB1c2hCdXR0b25gIHwgYFFQdXNoQnV0dG9uYCB8IGBvbl9jbGlja2VkYCB8XG58IGBUb29sQnV0dG9uYCB8IGBRVG9vbEJ1dHRvbmAgfCBgb25fY2xpY2tlZGA8YnI+YG9uX3RvZ2dsZWQoYm9vbClgIHxcbnwgYENoZWNrQm94YCB8IGBRQ2hlY2tCb3hgIHwgYG9uX3RvZ2dsZWQoYm9vbClgIHxcbnwgYFJhZGlvQnV0dG9uYCB8IGBRUmFkaW9CdXR0b25gIHwgYG9uX3RvZ2dsZWQoYm9vbClgIHxcbnwgYFNsaWRlcmAgfCBgUVNsaWRlcmAgfCBgb25fdmFsdWVfY2hhbmdlZChpMzIpYCB8XG58IGBTcGluQm94YCB8IGBRU3BpbkJveGAgfCBgb25fdmFsdWVfY2hhbmdlZChpMzIpYCB8XG58IGBDb21ib0JveGAgfCBgUUNvbWJvQm94YCB8IGBvbl9jdXJyZW50X3RleHRfY2hhbmdlZGA8YnI+YG9uX2N1cnJlbnRfaW5kZXhfY2hhbmdlZChpMzIpYCB8XG5cbiMjIyBUZXh0ICYgRGlzcGxheVxufCBUeXBlIHwgUXQgQ2xhc3MgfCBTaWduYWxzIHxcbnwtLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS18XG58IGBMYWJlbGAgfCBgUUxhYmVsYCB8IOKAlCB8XG58IGBMaW5lRWRpdGAgfCBgUUxpbmVFZGl0YCB8IGBvbl9yZXR1cm5fcHJlc3NlZGAgfFxufCBgVGV4dEVkaXRgIHwgYFFUZXh0RWRpdGAgfCBgb25fdGV4dF9jaGFuZ2VkYCB8XG58IGBQbGFpblRleHRFZGl0YCB8IGBRUGxhaW5UZXh0RWRpdGAgfCBgb25fdGV4dF9jaGFuZ2VkYDxicj5gb25fY3Vyc29yX3Bvc2l0aW9uX2NoYW5nZWRgIHxcbnwgYFRleHRCcm93c2VyYCB8IGBRVGV4dEJyb3dzZXJgIHwgYG9uX2FuY2hvcl9jbGlja2VkKFN0cmluZylgPGJyPmBvbl90ZXh0X2NoYW5nZWRgIHxcbnwgYFByb2dyZXNzQmFyYCB8IGBRUHJvZ3Jlc3NCYXJgIHwg4oCUIHxcblxuIyMjIEl0ZW0gVmlld3NcbnwgVHlwZSB8IFF0IENsYXNzIHwgU2lnbmFscyB8XG58LS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfFxufCBgTGlzdFdpZGdldGAgfCBgUUxpc3RXaWRnZXRgIHwgYG9uX2l0ZW1fY2xpY2tlZChTdHJpbmcpYDxicj5gb25faXRlbV9kb3VibGVfY2xpY2tlZChTdHJpbmcpYDxicj5gb25fY3VycmVudF9pdGVtX2NoYW5nZWQoU3RyaW5nKWAgfFxufCBgVGFibGVXaWRnZXRgIHwgYFFUYWJsZVdpZGdldGAgfCBgb25fY2VsbF9jbGlja2VkYDxicj5gb25fY2VsbF9kb3VibGVfY2xpY2tlZGA8YnI+YG9uX2N1cnJlbnRfY2VsbF9jaGFuZ2VkYCB8XG58IGBUcmVlV2lkZ2V0YCB8IGBRVHJlZVdpZGdldGAgfCBgb25faXRlbV9jbGlja2VkKFN0cmluZylgPGJyPmBvbl9pdGVtX2RvdWJsZV9jbGlja2VkKFN0cmluZylgPGJyPmBvbl9pdGVtX2V4cGFuZGVkKFN0cmluZylgPGJyPmBvbl9pdGVtX2NvbGxhcHNlZChTdHJpbmcpYDxicj5gb25fY3VycmVudF9pdGVtX2NoYW5nZWQoU3RyaW5nKWAgfFxuXG4jIyMgRGF0ZSAmIFRpbWVcbnwgVHlwZSB8IFF0IENsYXNzIHwgU2lnbmFscyB8XG58LS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfFxufCBgRGF0ZUVkaXRgIHwgYFFEYXRlRWRpdGAgfCBgb25fZGF0ZV9jaGFuZ2VkKFN0cmluZylgIHxcbnwgYFRpbWVFZGl0YCB8IGBRVGltZUVkaXRgIHwgYG9uX3RpbWVfY2hhbmdlZChTdHJpbmcpYCB8XG58IGBEYXRlVGltZUVkaXRgIHwgYFFEYXRlVGltZUVkaXRgIHwgYG9uX2RhdGVfdGltZV9jaGFuZ2VkKFN0cmluZylgIHxcbnwgYENhbGVuZGFyV2lkZ2V0YCB8IGBRQ2FsZW5kYXJXaWRnZXRgIHwgYG9uX3NlbGVjdGlvbl9jaGFuZ2VkYDxicj5gb25fYWN0aXZhdGVkKFN0cmluZylgIHxcblxuIyMjIE1lbnVzICYgVG9vbGJhcnNcbnwgVHlwZSB8IFF0IENsYXNzIHwgU2lnbmFscyB8XG58LS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfFxufCBgQWN0aW9uYCB8IGBRQWN0aW9uYCB8IGBvbl90cmlnZ2VyZWQoYm9vbClgPGJyPmBvbl90b2dnbGVkKGJvb2wpYCB8XG58IGBNZW51YCB8IGBRTWVudWAgfCDigJQgfFxufCBgTWVudUJhcmAgfCBgUU1lbnVCYXJgIHwg4oCUIHxcbnwgYFRvb2xCYXJgIHwgYFFUb29sQmFyYCB8IHBlci1hY3Rpb24gY2FsbGJhY2tzIHZpYSBgYWRkX2FjdGlvbmAgfFxufCBgU3RhdHVzQmFyYCB8IGBRU3RhdHVzQmFyYCB8IOKAlCB8XG5cbiMjIyBEaWFsb2dzXG58IFR5cGUgfCBRdCBDbGFzcyB8IE5vdGVzIHxcbnwtLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tfFxufCBgTWVzc2FnZUJveGAgfCBgUU1lc3NhZ2VCb3hgIHwgQnVpbGRlciArIGBleGVjKClgLCBzdGF0aWMgYGFib3V0KClgIHxcbnwgYEZpbGVEaWFsb2dgIHwgYFFGaWxlRGlhbG9nYCB8IGBvcGVuX2ZpbGVgLCBgc2F2ZV9maWxlYCwgYHNlbGVjdF9kaXJlY3RvcnlgIChzdGF0aWMpIHxcbnwgYFByb2dyZXNzRGlhbG9nYCB8IGBRUHJvZ3Jlc3NEaWFsb2dgIHwgQnVpbGRlciB3aXRoIGBzZXRfdmFsdWVgIC8gYHdhc19jYW5jZWxlZGAgfFxufCBgSW5wdXREaWFsb2dgIHwgYFFJbnB1dERpYWxvZ2AgfCBgZ2V0X3RleHRgLCBgZ2V0X2ludGAsIGBnZXRfZG91YmxlYCwgYGdldF9pdGVtYCAoc3RhdGljKSB8XG58IGBNZXNzYWdlQm94YCB8IGBRTWVzc2FnZUJveGAgfCBgaW5mb3JtYXRpb25gLCBgd2FybmluZ2AsIGBjcml0aWNhbGAsIGBxdWVzdGlvbmAgKHN0YXRpYykgfFxuXG4jIyMgTGF5b3V0c1xufCBUeXBlIHwgUXQgQ2xhc3MgfCBTaWduYWxzIHxcbnwtLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS18XG58IGBWQm94TGF5b3V0YCB8IGBRVkJveExheW91dGAgfCDigJQgfFxufCBgSEJveExheW91dGAgfCBgUUhCb3hMYXlvdXRgIHwg4oCUIHxcbnwgYEdyaWRMYXlvdXRgIHwgYFFHcmlkTGF5b3V0YCB8IOKAlCB8XG5cbiMjIyBTdHlsaW5nICYgVXRpbGl0aWVzXG58IFR5cGUgfCBRdCBDbGFzcyB8IFNpZ25hbHMgfFxufC0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLXxcbnwgYEZyYW1lYCB8IGBRRnJhbWVgIHwg4oCUIChzaGFwZS9zaGFkb3cpIHxcbnwgYEZvbnRgIHwgYFFGb250YCB8IOKAlCAoZmFtaWx5LCBzaXplLCB3ZWlnaHQgYnVpbGRlcikgfFxufCBgRm9udEV4dGAgfCAqKHRyYWl0KSogfCBgZm9udCgpYCAvIGBzZXRfZm9udCgpYCBibGFua2V0LWltcGwgfFxufCBgU2hvcnRjdXRgIHwgYFFTaG9ydGN1dGAgfCBgb25fYWN0aXZhdGVkKClgIChRT2JqZWN0KSB8XG5cbiMjIyBTeXN0ZW1cbnwgVHlwZSB8IFF0IENsYXNzIHwgU2lnbmFscyB8XG58LS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfFxufCBgVGltZXJgIHwgYFFUaW1lcmAgfCBgb25fdGltZW91dGA8YnI+YHNpbmdsZV9zaG90KG1zLCBmbilgIHxcbnwgYFN5c3RlbVRyYXlJY29uYCB8IGBRU3lzdGVtVHJheUljb25gIHwgYG9uX2FjdGl2YXRlZChUcmF5SWNvblJlYXNvbilgIHxcbnwgYFVpTG9hZGVyYCB8IGBRVWlMb2FkZXJgIHwgYC51aWAgZmlsZSBsb2FkaW5nIHxcbnwgYFBvaW50YCB8IGBRUG9pbnRgIHwg4oCUIHxcblxuIyMgUHJlcmVxdWlzaXRlc1xuXG5RdDYgd2l0aCBkZXZlbG9wbWVudCBoZWFkZXJzOlxuXG58IFBsYXRmb3JtIHwgSW5zdHJ1Y3Rpb25zIHxcbnwtLS18LS0tfFxufCBEZWJpYW4gLyBVYnVudHUgfCBgc3VkbyBhcHQgaW5zdGFsbCBxdDYtYmFzZS1kZXYgcXQ2LWRlY2xhcmF0aXZlLWRldmAgfFxufCBGZWRvcmEgfCBgc3VkbyBkbmYgaW5zdGFsbCBxdDYtcXRiYXNlLWRldmVsIHF0Ni1xdGRlY2xhcmF0aXZlLWRldmVsYCB8XG58IEFyY2ggfCBgc3VkbyBwYWNtYW4gLVMgcXQ2LWJhc2UgcXQ2LWRlY2xhcmF0aXZlYCB8XG58IG1hY09TIChIb21lYnJldykgfCBgYnJldyBpbnN0YWxsIHF0QDZgIHxcbnwgV2luZG93cyB8IEluc3RhbGwgZnJvbSBbcXQuaW9dKGh0dHBzOi8vd3d3LnF0LmlvL2Rvd25sb2FkLW9wZW4tc291cmNlKSBvciB2aWEgW3ZjcGtnXShodHRwczovL3ZjcGtnLmlvKSB8XG5cblJlbWVtYmVyIHRvIHNldCBhIGBQQVRIYCBlbnZpcm9ubWVudCB0byB0ZWxsIGBxdHJzYCB3aGVyZSB0aGUgYHFtYWtlYCBhcmUuXG5cbiMjIEluc3RhbGxhdGlvblxuXG5BZGQgdG8geW91ciBgQ2FyZ28udG9tbGA6XG5cbmBgYHRvbWxcbltkZXBlbmRlbmNpZXNdXG5xdHJzID0gXCIwLjQuMlwiXG5gYGBcblxuIyMgTWVtb3J5IG1hbmFnZW1lbnRcblxuV2lkZ2V0cyBhcmUgZGVsZXRlZCBhdXRvbWF0aWNhbGx5IG9uIGBEcm9wYCDigJQgdW5sZXNzIHRoZXkgaGF2ZSBhIFF0XG5wYXJlbnQgKHNldCBleHBsaWNpdGx5IG9yIHZpYSBsYXlvdXQpLiBJbiB0aGF0IGNhc2UgUXQncyBwYXJlbnQtY2hpbGQgdHJlZVxuaGFuZGxlcyBkZWxldGlvbiwgcHJldmVudGluZyBkb3VibGUtZnJlZS5cblxuYGBgXG5XaWRnZXQgY3JlYXRlZCB3aXRob3V0IHBhcmVudCAgLT4gIERyb3AgZGVsZXRlcyBDKysgb2JqZWN0XG5XaWRnZXQgY3JlYXRlZCB3aXRoIHBhcmVudCAgICAgLT4gIERyb3Agc2tpcHMgZGVsZXRpb24gKFF0IGhhbmRsZXMgaXQpXG5XaWRnZXQgYWRkZWQgdG8gbGF5b3V0ICAgICAgICAgLT4gIExheW91dCB0YWtlcyBvd25lcnNoaXAsIERyb3Agc2tpcHMgZGVsZXRpb25cbmBgYFxuXG4jIyBUaHJlYWQgc2FmZXR5XG5cblF0IEdVSSBjbGFzc2VzIGFyZSAqKm5vdCB0aHJlYWQtc2FmZSoqLiBBbGwgd2lkZ2V0IGNyZWF0aW9uLCBtdXRhdGlvbiwgYW5kXG50aGUgZXZlbnQgbG9vcCBtdXN0IGhhcHBlbiBvbiB0aGUgbWFpbiB0aHJlYWQuXG5cbiMjIExpY2Vuc2VcblxuTUlUIE9SIEFwYWNoZS0yLjAg4oCUIHNlZSBbTElDRU5TRS1NSVRdKExJQ0VOU0UtTUlUKSBhbmQgW0xJQ0VOU0UtQVBBQ0hFXShMSUNFTlNFLUFQQUNIRSkuIn1dLCJkZXRhaWxzIjp7InVybCI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS96aGFuZ2hhb3h2YW4vcXRycy9tYWluL1JFQURNRS5tZCIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRydW5jYXRlZCI6ZmFsc2V9LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NDk1MTk3fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNTBhNmQxYWMiLCJwYXJlbnRJZCI6IjU1ZjU3OThjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNToxNS4zNDNaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkNoZWNraW5nIFF0NiBhdmFpbGFiaWxpdHkgd2l0aCBwa2ctY29uZmlnKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGViNDkyODA4MTkxOWNkMDY2MzE1MDkxN2NlOFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjYxNV9ScHZkRWJFYVZnVU4zYk1UbFV0RUlmOUI4QTZFMXpNMVBjS0Y3Q1dPOFJGSDd6VUhSQWxmeDI5NWZRR2JWMGlKengtX3E0UUZEY0Q0TFVkcDdsd1pxN1I3eFNjN1poSVJBODFZQk5Xa1poOXB2UVZsVHVIRmlwS1kxQkwySFd0T3RpOWh2TzNGWEdsR2ZnLW1xQW01M21sVlN2RWRnOEZSYnM2aG9zSTI5bklHMDVERmtFVEF1ZVZnalZQVGdWUzRQdG1rOGF4X0pQTm9sWTlJTEVFbnRsb3ZKOEtMTXIweVU5Q2RVaDJLQkI4TWxSSWl5YUJtOUpZczJ3d0N1ejZvNFExQUFuNXRMS3ZQVjI1aDFaamF3TXFlZTBTLUdNcWVhbWUwMTdrMFZ0aW9YdFQ2aTBaSnFmVmdoYnRENmZmSGVsYjJnVGFZaDNTQktEeXVhMnNyNlhHRUZkbEtmaEZOSGZhT1E3TWtFb1JPcmc3MDBIQ0pYek85Z25FdE02T3o4ZlVOOU1QRFZ0QURQOTNtRFRsNnowLTlOUlZNTVViUnhpbVVHd3lHekNyWXVOT25nYnhJN2txXzNqRmJMZjBkaFdxLUU5bUt3X0g0ZnRpQnExUTRUUW1nQ21KVWZnYTYtczRHRWE4LTh2TzA2ZGR0QXNqdk1VUTdwUnRBWUVoUXZzU2VhcGxEazdSUWZrYkxLcUxUaFJPV21TT0c4WDZxUTBpU3JVNk9kS2ZHTGNBbEtIVElUWUd6bzRlTUg5SWhGVGtSR1JGTDg0SkhpTXVhZ2hNdENXOHNuQm1sclBwczRVZUU0X1JReDd5dlQzRm9mcVhJY05uR0VlbXlUY1ZQdFNJa0Qycm5hU2V5U3U5UkY2M3N2SHBEZXZBdEhVcEQtMWxCWjAwVl90MWp5TzR3bXItREY2VklOZlpnVWh5dzFkN3hiaEREaUhDbTk0WTRXZTZaVWJOQ0hQellQYUtpS0NtRnFzb2ozbFB3MV8tckFaYVh2NUZWTmh1TW1EdF9PS0M4S0c0N0FoQUxmZDZ3NjNla3FzbjVRTlIyWkdIY2oyODZTekp0X0w3Y0M0N1lBbHdEZUdlZFQ0UkNYZm9QcVlhZEVncHM5SFJKNU5JNW5rZUwxY2NQMFhEOVlxZzViYi15bnR1ajAxSTh2OEYxMkVHdm1BSEp1Si1ZYzhvV1pFcy11dmZhQjU0RHFqdE00MXpHMnM5VngwM0EwVGZzSFVObHo0cllqYU41RW1KUTlkNGlMSFpJclh0a2pWVnFRcDZBU09mZVF2eTJjcnNFVEF5TWY5NU15d3paWEd3d2RtVVJZMy1rTT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkNoZWNraW5nIFF0NiBhdmFpbGFiaWxpdHkgd2l0aCBwa2ctY29uZmlnKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX3FYNVoyNDJVbklWd0pvU05ZSHN4ak5rRnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGViNWEyOGM4MTkxYjg2ODVlYTdhYTY2NTM0MCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJwa2ctY29uZmlnIC0tbW9kdmVyc2lvbiBRdDZDb3JlIFF0NldpZGdldHMgMj4mMTsgY29tbWFuZCAtdiBxbWFrZTY7IGFwdC1jYWNoZSBzZWFyY2ggJ15xdDYtYmFzZS1kZXZlbCQnIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyOTAyLCJvdXRwdXQiOjY3LCJjYWNoZVJlYWQiOjEwMDg2NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxNSwidG90YWxUb2tlbnMiOjEwMzgzMywiY29zdCI6eyJpbnB1dCI6MC4wMTQ1MSwib3V0cHV0IjowLjAwMjAxLCJjYWNoZVJlYWQiOjAuMDUwNDMyLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNjY5NTJ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTU0OTUyMDAsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWE3OTg2NDgxOTE4ODE4YTEyYWFlMWU3ZjNmIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjFiOTAwY2ZiIiwicGFyZW50SWQiOiI1MGE2ZDFhYyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDU6MTguNDc4WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9xWDVaMjQyVW5JVndKb1NOWUhzeGpOa0Z8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlYjVhMjhjODE5MWI4Njg1ZWE3YWE2NjUzNDAiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJQYWNrYWdlIFF0NkNvcmUgd2FzIG5vdCBmb3VuZCBpbiB0aGUgcGtnLWNvbmZpZyBzZWFyY2ggcGF0aC5cblBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGBRdDZDb3JlLnBjJ1xudG8gdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZVxuTm8gcGFja2FnZSAnUXQ2Q29yZScgZm91bmRcblBhY2thZ2UgUXQ2V2lkZ2V0cyB3YXMgbm90IGZvdW5kIGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBwYXRoLlxuUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYFF0NldpZGdldHMucGMnXG50byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlXG5ObyBwYWNrYWdlICdRdDZXaWRnZXRzJyBmb3VuZFxucXQ2LWJhc2UtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ2LWJhc2VcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTUxODQ3OH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjQ2N2E1OGRjIiwicGFyZW50SWQiOiIxYjkwMGNmYiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDU6MjUuNjc3WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipJbnNwZWN0aW5nIFF0IFJTIGNyYXRlIGFuZCBleGFtcGxlcyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlYzExZWM0ODE5MTgxYjI0MWNiYzYzNGQ5YzVcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk43RUY1R0NRam5JWEtJbUZLckJkWlQ0ajJXTDB5MUF3N2RsVng1QnA1bUpCWC1yY1hWOXJ5SXFiMnJtOFBCYVpub3R0Y1lwRWVxUFotV3VPOV9ISDIwRVV5bW51bk4yTkJMTk9XVDhqZW1JZ2dPSXlYQWtDQUtZcmE0dUJBUFBkTTdRZ05Md0JwMm53WXBDSEI2UE9CTzg3TndYbGktTHpwWkpvck9DcXRKV1VTZEpjclQxQVplRWNJcUN0T0RjOVZTRFNjLUZQT1ZVU1kzbWkzRzJKaWtZVWhsV2tYbXZ4NGNNdDQ1REVLOExaWTFYY2c2TjFPc0tpTEhVd2FaWWNyc1pPRW1YeVhXWUpUX1BZeGhLT2JmZlN5WnQ3UkZIM3JGY21ESzJndlhKZ1VzRkZYenRyYVBHRGowb2FiaTVGUTFpZm1SYzM1QnBZOEIxblNlMnJCZ2I3X1UwMzRib1B6X01rRHNfWllGMFBhQm9oX2UzbVVkSXJiemp2dnFQSERORklfdFhpN2YwX29RMER0eGVYd0p5ODhFaWJzM0Y1TXRmbS1LTUg4MExGamwzMFh4TzV2SjZEUjFic0d0MXRQc2FUZFhlZnJNOFJ3QmhDY1ltYmtuUlJXMUptOFpjMUdKRm01N2JEUDBiQTFmcmlWMHdGRmllR0plMzRPdm9iWHFCZlRZbklta2tyYUFsVXM5ekQ1WkZ4SnhxSUdkU1h0ZEhBX3g3OFhsY0RjV3dmVVdSU2RPU3V1aW14TV9IbGFjdUVRcGt3VU5zd2FHUE40bE4xVlBHeFY3WWRNSU9rRTFkdk02ZVRKU2pxdzZkazQyeHVQUEZrUm5oU21iWDdFNFY3SFJEUG9OS3VMaFJ2SUN1MGNBUWxxLWdpUjMzUUNqMFd2NmNOTk45UjdPZHAwZ2plc1BYRDJhUGNNaS1jbURLUjhIRWtpWnVYY0F2Z0JGTWtONlRDR1pRY1A1WVc1a0tnY1A4MTZ0eEhqWjNFclRFNXhhNUdXTUtfS3lBb0pWbmRpUGdqVXVtUVhPa0Q5SFI5R2M1WTRKZkpBZE42SmVxaE43bUlVYmY3Nm5fRjdJbFVHT04yNXJ1bm52dWxQM2REb215VUpjc1V1X1ZXQjFiU1F6LVdEMmRHSHp0cm1sS3NXRTRuTEdBcjdDOUFZU2xpRGFCWmtfUVN6a1dGR3N2VEFaTmhicFYwWjF3QW8tTlVjcVFrdFpyamtNbFNESVZlSjI5MUR3YjF0Y1VRanBteHdtZ0VPSWFDalNDdVU3ZHVhckxEY2JXN2lrSjlFNTNuY29rdm0wS09tUV9BUTlBck5oMDhGM3BPd1g1aVM0amtxYlIwUDd2YkRPd3V2QlRuTTFvR3VMRVM5S1djWE9OeVZfRE1hZkIzdzdialg3T2o3d0oyQWpqTFZnWDhoWkZMWm9GcHdPN1ZvNDQtaWhINVd2VUFVTlZzMzF6elc5SXJxdUlOdXQ2UVlBNXllVEY0cXI5dGNPS18tMkxiQ0dqdFRJZnNxczdicXVvWldqVFwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqSW5zcGVjdGluZyBRdCBSUyBjcmF0ZSBhbmQgZXhhbXBsZXMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfV1FlS1cwZEU4NkJHb2VLU3NtMDhPM2NifGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWM0MTJkMDgxOTFhNGRhZjI3ZGI1MWJiOWZhIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImZpbmQgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjIC1tYXhkZXB0aCAyIC10eXBlIGQgLW5hbWUgJ3F0cnMtMC40LjInOyBjYXJnbyBpbmZvIHF0cnMgPi9kZXYvbnVsbCJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTAzNCwib3V0cHV0Ijo5MiwiY2FjaGVSZWFkIjoxMDI5MTIsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MzcsInRvdGFsVG9rZW5zIjoxMDQwMzgsImNvc3QiOnsiaW5wdXQiOjAuMDA1MTcsIm91dHB1dCI6MC4wMDI3NiwiY2FjaGVSZWFkIjowLjA1MTQ1NTk5OTk5OTk5OTk5NSwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDU5Mzg1OTk5OTk5OTk5OTk0fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1NTE4NDgyLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGViZWRmMmM4MTkxYTdlZjhiMjhhODg2ZDk4ZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIyODc2NTZkMiIsInBhcmVudElkIjoiNDY3YTU4ZGMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA1OjI2LjU0OVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfV1FlS1cwZEU4NkJHb2VLU3NtMDhPM2NifGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWM0MTJkMDgxOTFhNGRhZjI3ZGI1MWJiOWZhIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yXG4gICAgVXBkYXRpbmcgY3JhdGVzLmlvIGluZGV4XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1MjY1NDl9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4ZDRmZjBmMSIsInBhcmVudElkIjoiMjg3NjU2ZDIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA1OjMyLjIyN1oiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqUmV2aWV3aW5nIGRlbW8vd2lkZ2V0cyBBUEkqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWM5YThhYzgxOTFiNjRhNGIxZDJjMGEzOWUwXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpON01YbVBZUzcxS1pfazdCWlQ5WnU5enkyTkh3Sm40NXBfZXgwR1dBdnRfUXVWVXdqSnZxTVF1Y0RDWG5XajMxbHZaSGVBT21UZjR0Q2VUZ1ZvTTZrQkFuY1VfNEh5NFZuTXozYzBSMl9SNlFzQjFucXpEYk5aem1KZzZGeXVWbG1TaURLZzRYNm5vRVM1ZVduYzIzSk9wcm9TMFJPb0VzdWJ6Um5aSDhoV2d4eXI1NE5CNDN1b2Q2YU9VUGV1X096dU1vU1FBUkNzV2xNa1ptMHZJbTM0YXkwNVVBbEgtN2c4UHJHZUcxVDhoeTA1OGxPajUzMzNTbWRuRGJWa29rMUNHb1RhSWVDbzUwLTI4SUtiQ0VfbnFDbTVQZTZsamxEWEMzR3k1c2R3YThUTHNJU2JaQU1PM2F2NDA1Tk1hUFhYOFJMQ0ZDcTRJODhiX2pvN3kwd1dkOUtrSmcwNHV4Z3N2T1pFZjBtbmNZOTh6MXgycXJNckxwQVFXUHl4U2MtQUtwekNnRzYyc013VGlXblVkVFJiandUVG9WWDhVOGVxNUJqWnRjQUoyeFJLamxEZjFNcWtJeGhVa0o2SUg1M3Z5Z1dnYUY0cU5TMFZxWVlWOVZnUUhSVXEyNUJOVnJESmt1VFBWN2ZTeXhCdkJIVWs0NWd4QVlqMURQajlRek05aW9hTGpOUmxtWWFXZFRGRWgydWg0amg2ZEJwd3VfU1VTb2o0VGpQQk9PYWx1RVlnV3c3OUQ4MjlaYXFTdXFBNjQ5a00zSDdYSjE0TWdhc2VjWlN5VXZiVnZTTjU0Z0lTbkhDZXUwdUYtaHBjNjU2Z0RHcktKTEtIV3h3TEZkUjNmbkYwZGxTVXduZ2JZVFVGbmNHNzVZTmNpWlBEMXY1VW5KenY5RUpFVmZocXJOMG10RUZvQmxBT3RaQ0ZzQnZUM2dhYkJaajRMb05EVzZrQzJCMVJTYmJqTkpOek5tNU9BMHg2WC1ZdjhTTGNCZVJVWER6cTZiLUdjaDJ4bkJxc014Ry1veW1mNXhyV3FVRjBiclJqVVVFMmQ3aFdGMFhyY05xOTJVNzl1OHFmeS1xT25tbm5weGtmbGYyYTJzNHNlMFRHZHBmWXJ0X2VkajduQmtDSk5qZkczd0VMeVRUUmlHdk5ZbENPT0ZvZlFzalFBREZBZkFVZHdJd1BKZ3V5VDRlY1VVZlVUdXZIMTJtS3NxU2lSbUdSMi1EZUNmeUtWdGtVZWc0RTJFR21mNTNlYTZlTFZWalI5N21KdTFxYzhcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlJldmlld2luZyBkZW1vL3dpZGdldHMgQVBJKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX1h3cTZoa3RKTEtEYm5VVjA1QjRxbHB3MnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVjYzE0OTg4MTkxOGU4M2E0OTAwOGQzMWU4ZCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJmaW5kIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL3F0cnMtMC40LjIgLW1heGRlcHRoIDMgLXR5cGUgZiB8IHNvcnQgfCBoZWFkIC04MCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9rWnZFZnZaaU9VT1dFd29EYmhsbk5Fakx8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlY2MxNGFjODE5MWJiMDRmZjU1MzNhNjViYTMiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9saWIucnMiLCJsaW1pdCI6MjAwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjExODAsIm91dHB1dCI6MTMzLCJjYWNoZVJlYWQiOjEwMjkxMiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo5LCJ0b3RhbFRva2VucyI6MTA0MjI1LCJjb3N0Ijp7ImlucHV0IjowLjAwNTkwMDAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMzk5MDAwMDAwMDAwMDAwMDUsImNhY2hlUmVhZCI6MC4wNTE0NTU5OTk5OTk5OTk5OTUsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA2MTM0Nn19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTUyNjU1MiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlYzZmZGI4ODE5MWJmMThmMWI4MjliODYzZGMifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiM2I5Y2QzZTYiLCJwYXJlbnRJZCI6IjhkNGZmMGYxIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNTozMi4yMzNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1h3cTZoa3RKTEtEYm5VVjA1QjRxbHB3MnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVjYzE0OTg4MTkxOGU4M2E0OTAwOGQzMWU4ZCIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9hc3NldHMvZGVtby5wbmdcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9hc3NldHMvaWNvbi5wbmdcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9idWlsZC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL0NhcmdvLmxvY2tcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi8uY2FyZ28tb2tcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9DYXJnby50b21sXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvQ2FyZ28udG9tbC5vcmlnXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvLmNhcmdvX3Zjc19pbmZvLmpzb25cbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9DSEFOR0VMT0cubWRcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9DT05UUklCVVRJTkdfV0lER0VULm1kXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvZXhhbXBsZXMvYmFzaWMvYmFzaWMucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9leGFtcGxlcy9kZW1vL2RlbW8ucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9leGFtcGxlcy9lZGl0b3IvZWRpdG9yLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvZXhhbXBsZXMvdWkvdWkucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9leGFtcGxlcy91aS91aS51aVxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yLy5naXRpZ25vcmVcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi8uZ2l0bWVzc2FnZVxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL0xJQ0VOQ0UtQVBBQ0hFXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvTElDRU5TRS1NSVRcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9SRUFETUUubWRcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvYWN0aW9uLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2FwcC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9idXR0b24ucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY2FsZW5kYXJ3aWRnZXQucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY2hlY2tib3gucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY29tYm9ib3gucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY29ubi5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvYWN0aW9uLmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL2FwcC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9idXR0b24uaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvY2FsZW5kYXJ3aWRnZXQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvY2hlY2tib3guaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvY29tYm9ib3guaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvZGF0ZWVkaXQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvZGF0ZXRpbWVlZGl0Lmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL2RpYWxvZy5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9maWxlZGlhbG9nLmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL2ZvbnQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvZnJhbWUuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvZ3JvdXBib3guaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvaW5wdXRkaWFsb2cuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvaW5wdXQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvbGFiZWwuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvbGF5b3V0Lmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL2xpc3R3aWRnZXQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvbWFpbndpbmRvdy5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9tZW51Lmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL21lc3NhZ2Vib3guaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvcGxhaW50ZXh0ZWRpdC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9wb2ludC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9wcm9ncmVzc2Jhci5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9wcm9ncmVzc2RpYWxvZy5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9xdF93aWRnZXQuY3BwXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9xdF93aWRnZXQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvcmFkaW9idXR0b24uaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvc2Nyb2xsYXJlYS5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9zaG9ydGN1dC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9zaWduYWwuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvc2xpZGVyLmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL3NwaW5ib3guaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvc3BsaXR0ZXIuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvc3RhY2tlZHdpZGdldC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9zdGF0dXNiYXIuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvc3lzdGVtdHJheWljb24uaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvdGFibGV3aWRnZXQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvdGFid2lkZ2V0Lmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL3RleHRicm93c2VyLmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL3RleHRlZGl0Lmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL3RocmVhZC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC90aW1lZWRpdC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC90aW1lci5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC90b29sYmFyLmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL3Rvb2xidXR0b24uaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvdHJlZXdpZGdldC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC91aWxvYWRlci5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC93aWRnZXQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9kYXRlZWRpdC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9kYXRldGltZWVkaXQucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvZGlhbG9nLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2ZmaS5yc1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NTMyMjMzfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNGY1NmY4NjciLCJwYXJlbnRJZCI6IjNiOWNkM2U2IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNTozMi4yMzNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2tadkVmdlppT1VPV0V3b0RiaGxuTkVqTHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVjYzE0YWM4MTkxYmIwNGZmNTUzM2E2NWJhMyIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii8vISAjIHF0cnMg4oCUIFJ1c3Qtc3R5bGUgUXQ2IGJpbmRpbmdzXG4vLyFcbi8vISBBIHR5cGUtc2FmZSwgYnVpbGRlci1wYXR0ZXJuLWRyaXZlbiBRdDYgR1VJIGxpYnJhcnkgZm9yIFJ1c3QuXG4vLyEgQnVpbHQgb24gW2BjeHhgXSBmb3IgQysrIGludGVyb3AsIHdpdGggUkFJSSBtZW1vcnkgbWFuYWdlbWVudCxcbi8vISBzaWduYWwvY2FsbGJhY2sgYnJpZGdpbmcsIGFuZCBhIGZsdWVudCBidWlsZGVyIEFQSS5cbi8vIVxuLy8hICMjIEluc3RhbGxhdGlvblxuLy8hXG4vLyEgQWRkIHRvIHlvdXIgYENhcmdvLnRvbWxgOlxuLy8hXG4vLyEgYGBgdG9tbFxuLy8hIFtkZXBlbmRlbmNpZXNdXG4vLyEgcXRycyA9IFwiMC40LjJcIlxuLy8hIGBgYFxuLy8hXG4vLyEgIyMgRGVzaWduIHByaW5jaXBsZXNcbi8vIVxuLy8hIC0gQnVpbGRlciBwYXR0ZXJuIGV2ZXJ5d2hlcmUg4oCUIGNoYWluIGAudGl0bGUoXCJYXCIpLnNpemUoODAwLCA2MDApLnNob3coKWBcbi8vISAtIFJBSUkgY2xlYW51cCDigJQgd2lkZ2V0cyBhcmUgYXV0b21hdGljYWxseSBkZWxldGVkIG9uIGBEcm9wYCwgd2l0aFxuLy8hICAgcGFyZW50LWNoaWxkIGF3YXJlbmVzcyAod2lkZ2V0cyB3aXRoIGEgUXQgcGFyZW50IHNraXAgQysrIGRlbGV0aW9uIHRvXG4vLyEgICBhdm9pZCBkb3VibGUtZnJlZSkuXG4vLyEgLSBUeXBlLXNhZmUgbGF5b3V0IG93bmVyc2hpcCDigJQgYWRkaW5nIGEgd2lkZ2V0IHRvIGEgbGF5b3V0IHRyYW5zZmVyc1xuLy8hICAgb3duZXJzaGlwOyB0aGUgbGF5b3V0IGRyb3BzIGl0cyBjaGlsZHJlbiB3aGVuIGl0IGdvZXMgb3V0IG9mIHNjb3BlLlxuLy8hIC0gWmVyby1jb3N0IHNpZ25hbCBicmlkZ2luZyDigJQgUXQgc2lnbmFscyBpbnZva2UgUnVzdCBjbG9zdXJlcyB2aWEgYVxuLy8hICAgc2luZ2xlIGdsb2JhbCB0cmFtcG9saW5lOyBjb250ZXh0IHRva2VucyBhcmUgcGxhaW4gYHU2NGAgdmFsdWVzLlxuLy8hXG4vLyEgIyMgQXJjaGl0ZWN0dXJlXG4vLyFcbi8vISB8IExheWVyIHwgQ3JhdGUgbW9kdWxlIHwgV2hhdCBpdCBkb2VzIHxcbi8vISB8LS0tfC0tLXwtLS18XG4vLyEgfCBDKysgZ2x1ZSB8ICooaW50ZXJuYWwpKiB8IElubGluZSB3cmFwcGVycyBhcm91bmQgUXQ1L1F0NiBBUEkgfFxuLy8hIHwgY3h4IGJyaWRnZSB8IFtgZmZpYF0gfCBPcGFxdWUgQysrIHR5cGVzICsgYGV4dGVybiBcIkMrK1wiYCBzaWduYXR1cmVzIHxcbi8vISB8IFNhZmUgd3JhcHBlcnMgfCBbYGFwcGBdLCBbYHdpZGdldGBdLCBbYGJ1dHRvbmBdLCAuLi4gfCBCdWlsZGVyIHBhdHRlcm5zLCBSQUlJLCBzaWduYWxzIHxcbi8vISB8IFB1YmxpYyBBUEkgfCAqKHRoaXMgbW9kdWxlKSogfCBSZS1leHBvcnRzIG9mIGFsbCBzYWZlIHR5cGVzIHxcbi8vIVxuLy8hICMjIFdpZGdldCBnYWxsZXJ5XG4vLyFcbi8vISAjIyMgV2luZG93cyAmIENvbnRhaW5lcnNcbi8vIVxuLy8hIHwgVHlwZSB8IFF0IGNsYXNzIHwgU2lnbmFscyB8XG4vLyEgfC0tLXwtLS18LS0tfFxuLy8hIHwgW2BBcHBsaWNhdGlvbmBdIHwgYFFBcHBsaWNhdGlvbmAgfCDigJQgfFxuLy8hIHwgW2BXaWRnZXRgXSB8IGBRV2lkZ2V0YCB8IOKAlCB8XG4vLyEgfCBbYE1haW5XaW5kb3dgXSB8IGBRTWFpbldpbmRvd2AgfCDigJQgfFxuLy8hIHwgW2BHcm91cEJveGBdIHwgYFFHcm91cEJveGAgfCDigJQgfFxuLy8hIHwgW2BUYWJXaWRnZXRgXSB8IGBRVGFiV2lkZ2V0YCB8IGBvbl9jdXJyZW50X2NoYW5nZWQoaTMyKWAgfFxuLy8hIHwgW2BTdGFja2VkV2lkZ2V0YF0gfCBgUVN0YWNrZWRXaWRnZXRgIHwgYG9uX2N1cnJlbnRfY2hhbmdlZChpMzIpYCB8XG4vLyEgfCBbYFNjcm9sbEFyZWFgXSB8IGBRU2Nyb2xsQXJlYWAgfCDigJQgfFxuLy8hIHwgW2BTcGxpdHRlcmBdIHwgYFFTcGxpdHRlcmAgfCDigJQgfFxuLy8hXG4vLyEgIyMjIEJ1dHRvbnMgJiBDb250cm9sc1xuLy8hXG4vLyEgfCBUeXBlIHwgUXQgY2xhc3MgfCBTaWduYWxzIHxcbi8vISB8LS0tfC0tLXwtLS18XG4vLyEgfCBbYFB1c2hCdXR0b25gXSB8IGBRUHVzaEJ1dHRvbmAgfCBgb25fY2xpY2tlZGAgfFxuLy8hIHwgW2BUb29sQnV0dG9uYF0gfCBgUVRvb2xCdXR0b25gIHwgYG9uX2NsaWNrZWRgPGJyPmBvbl90b2dnbGVkKGJvb2wpYCB8XG4vLyEgfCBbYENoZWNrQm94YF0gfCBgUUNoZWNrQm94YCB8IGBvbl90b2dnbGVkKGJvb2wpYCB8XG4vLyEgfCBbYFJhZGlvQnV0dG9uYF0gfCBgUVJhZGlvQnV0dG9uYCB8IGBvbl90b2dnbGVkKGJvb2wpYCB8XG4vLyEgfCBbYFNsaWRlcmBdIHwgYFFTbGlkZXJgIHwgYG9uX3ZhbHVlX2NoYW5nZWQoaTMyKWAgfFxuLy8hIHwgW2BTcGluQm94YF0gfCBgUVNwaW5Cb3hgIHwgYG9uX3ZhbHVlX2NoYW5nZWQoaTMyKWAgfFxuLy8hIHwgW2BDb21ib0JveGBdIHwgYFFDb21ib0JveGAgfCBgb25fY3VycmVudF90ZXh0X2NoYW5nZWRgPGJyPmBvbl9jdXJyZW50X2luZGV4X2NoYW5nZWQoaTMyKWAgfFxuLy8hXG4vLyEgIyMjIFRleHQgJiBEaXNwbGF5XG4vLyFcbi8vISB8IFR5cGUgfCBRdCBjbGFzcyB8IFNpZ25hbHMgfFxuLy8hIHwtLS18LS0tfC0tLXxcbi8vISB8IFtgTGFiZWxgXSB8IGBRTGFiZWxgIHwg4oCUIHxcbi8vISB8IFtgTGluZUVkaXRgXSB8IGBRTGluZUVkaXRgIHwgYG9uX3JldHVybl9wcmVzc2VkYCB8XG4vLyEgfCBbYFRleHRFZGl0YF0gfCBgUVRleHRFZGl0YCB8IGBvbl90ZXh0X2NoYW5nZWRgIHxcbi8vISB8IFtgUGxhaW5UZXh0RWRpdGBdIHwgYFFQbGFpblRleHRFZGl0YCB8IGBvbl90ZXh0X2NoYW5nZWRgPGJyPmBvbl9jdXJzb3JfcG9zaXRpb25fY2hhbmdlZGAgfFxuLy8hIHwgW2BUZXh0QnJvd3NlcmBdIHwgYFFUZXh0QnJvd3NlcmAgfCBgb25fYW5jaG9yX2NsaWNrZWQoU3RyaW5nKWA8YnI+YG9uX3RleHRfY2hhbmdlZGAgfFxuLy8hIHwgW2BQcm9ncmVzc0JhcmBdIHwgYFFQcm9ncmVzc0JhcmAgfCDigJQgfFxuLy8hXG4vLyEgIyMjIEl0ZW0gVmlld3Ncbi8vIVxuLy8hIHwgVHlwZSB8IFF0IGNsYXNzIHwgU2lnbmFscyB8XG4vLyEgfC0tLXwtLS18LS0tfFxuLy8hIHwgW2BMaXN0V2lkZ2V0YF0gfCBgUUxpc3RXaWRnZXRgIHwgYG9uX2l0ZW1fY2xpY2tlZChTdHJpbmcpYDxicj5gb25faXRlbV9kb3VibGVfY2xpY2tlZChTdHJpbmcpYDxicj5gb25fY3VycmVudF9pdGVtX2NoYW5nZWQoU3RyaW5nKWAgfFxuLy8hIHwgW2BUYWJsZVdpZGdldGBdIHwgYFFUYWJsZVdpZGdldGAgfCBgb25fY2VsbF9jbGlja2VkYDxicj5gb25fY2VsbF9kb3VibGVfY2xpY2tlZGA8YnI+YG9uX2N1cnJlbnRfY2VsbF9jaGFuZ2VkYCB8XG4vLyEgfCBbYFRyZWVXaWRnZXRgXSB8IGBRVHJlZVdpZGdldGAgfCBgb25faXRlbV9jbGlja2VkKFN0cmluZylgPGJyPmBvbl9pdGVtX2RvdWJsZV9jbGlja2VkKFN0cmluZylgPGJyPmBvbl9pdGVtX2V4cGFuZGVkKFN0cmluZylgPGJyPmBvbl9pdGVtX2NvbGxhcHNlZChTdHJpbmcpYDxicj5gb25fY3VycmVudF9pdGVtX2NoYW5nZWQoU3RyaW5nKWAgfFxuLy8hXG4vLyEgIyMjIERhdGUgJiBUaW1lXG4vLyFcbi8vISB8IFR5cGUgfCBRdCBjbGFzcyB8IFNpZ25hbHMgfFxuLy8hIHwtLS18LS0tfC0tLXxcbi8vISB8IFtgRGF0ZUVkaXRgXSB8IGBRRGF0ZUVkaXRgIHwgYG9uX2RhdGVfY2hhbmdlZChTdHJpbmcpYCB8XG4vLyEgfCBbYFRpbWVFZGl0YF0gfCBgUVRpbWVFZGl0YCB8IGBvbl90aW1lX2NoYW5nZWQoU3RyaW5nKWAgfFxuLy8hIHwgW2BEYXRlVGltZUVkaXRgXSB8IGBRRGF0ZVRpbWVFZGl0YCB8IGBvbl9kYXRlX3RpbWVfY2hhbmdlZChTdHJpbmcpYCB8XG4vLyEgfCBbYENhbGVuZGFyV2lkZ2V0YF0gfCBgUUNhbGVuZGFyV2lkZ2V0YCB8IGBvbl9zZWxlY3Rpb25fY2hhbmdlZGA8YnI+YG9uX2FjdGl2YXRlZChTdHJpbmcpYCB8XG4vLyFcbi8vISAjIyMgTWVudXMgJiBUb29sYmFyc1xuLy8hXG4vLyEgfCBUeXBlIHwgUXQgY2xhc3MgfCBTaWduYWxzIHxcbi8vISB8LS0tfC0tLXwtLS18XG4vLyEgfCBbYEFjdGlvbmBdIHwgYFFBY3Rpb25gIHwgYG9uX3RyaWdnZXJlZChib29sKWA8YnI+YG9uX3RvZ2dsZWQoYm9vbClgIHxcbi8vISB8IFtgTWVudWBdIHwgYFFNZW51YCB8IOKAlCB8XG4vLyEgfCBbYE1lbnVCYXJgXSB8IGBRTWVudUJhcmAgfCDigJQgfFxuLy8hIHwgW2BUb29sQmFyYF0gfCBgUVRvb2xCYXJgIHwgcGVyLWFjdGlvbiBjYWxsYmFja3MgdmlhIGBhZGRfYWN0aW9uYCB8XG4vLyEgfCBbYFN0YXR1c0JhcmBdIHwgYFFTdGF0dXNCYXJgIHwg4oCUIHxcbi8vIVxuLy8hICMjIyBEaWFsb2dzXG4vLyFcbi8vISB8IFR5cGUgfCBRdCBjbGFzcyB8IE5vdGVzIHxcbi8vISB8LS0tfC0tLXwtLS18XG4vLyEgfCBbYE1lc3NhZ2VCb3hgXSB8IGBRTWVzc2FnZUJveGAgfCBCdWlsZGVyICsgYGV4ZWMoKWAsIHN0YXRpYyBgYWJvdXQoKWAgfFxuLy8hIHwgW2BGaWxlRGlhbG9nYF0gfCBgUUZpbGVEaWFsb2dgIHwgYG9wZW5fZmlsZWAsIGBzYXZlX2ZpbGVgLCBgc2VsZWN0X2RpcmVjdG9yeWAgKHN0YXRpYykgfFxuLy8hIHwgW2BQcm9ncmVzc0RpYWxvZ2BdIHwgYFFQcm9ncmVzc0RpYWxvZ2AgfCBCdWlsZGVyIHdpdGggYHNldF92YWx1ZWAgLyBgd2FzX2NhbmNlbGVkYCB8XG4vLyEgfCBgaW5wdXRkaWFsb2dgIHwgYFFJbnB1dERpYWxvZ2AgfCBgZ2V0X3RleHRgLCBgZ2V0X2ludGAsIGBnZXRfZG91YmxlYCwgYGdldF9pdGVtYCAoc3RhdGljKSB8XG4vLyEgfCBgZGlhbG9nYCB8IGBRTWVzc2FnZUJveGAgfCBgaW5mb3JtYXRpb25gLCBgd2FybmluZ2AsIGBjcml0aWNhbGAsIGBxdWVzdGlvbmAgKHN0YXRpYykgfFxuLy8hXG4vLyEgIyMjIExheW91dHNcbi8vIVxuLy8hIHwgVHlwZSB8IFF0IGNsYXNzIHwgU2lnbmFscyB8XG4vLyEgfC0tLXwtLS18LS0tfFxuLy8hIHwgW2BWQm94TGF5b3V0YF0gfCBgUVZCb3hMYXlvdXRgIHwg4oCUIHxcbi8vISB8IFtgSEJveExheW91dGBdIHwgYFFIQm94TGF5b3V0YCB8IOKAlCB8XG4vLyEgfCBbYEdyaWRMYXlvdXRgXSB8IGBRR3JpZExheW91dGAgfCDigJQgfFxuLy8hXG4vLyEgIyMjIFN0eWxpbmcgJiBVdGlsaXRpZXNcbi8vIVxuLy8hIHwgVHlwZSB8IFF0IGNsYXNzIHwgU2lnbmFscyB8XG4vLyEgfC0tLXwtLS18LS0tfFxuLy8hIHwgW2BGcmFtZWBdIHwgYFFGcmFtZWAgfCDigJQgKHNoYXBlL3NoYWRvdyBkZWNvcmF0aW9ucykgfFxuLy8hIHwgW2BGb250YF0gfCBgUUZvbnRgIHwg4oCUIChidWlsZGVyOiBmYW1pbHksIHNpemUsIHdlaWdodCkgfFxuLy8hIHwgW2BGb250RXh0YF0gfCAqKHRyYWl0KSogfCBgZm9udCgpYCAvIGBzZXRfZm9udCgpYCBvbiBhbGwgd2lkZ2V0cyB8XG4vLyEgfCBbYFNob3J0Y3V0YF0gfCBgUVNob3J0Y3V0YCB8IGBvbl9hY3RpdmF0ZWQoKWAgKFFPYmplY3QpIHxcbi8vIVxuLy8hICMjIyBTeXN0ZW1cbi8vIVxuLy8hIHwgVHlwZSB8IFF0IGNsYXNzIHwgU2lnbmFscyB8XG4vLyEgfC0tLXwtLS18LS0tfFxuLy8hIHwgW2BUaW1lcmBdIHwgYFFUaW1lcmAgfCBgb25fdGltZW91dGA8YnI+YHNpbmdsZV9zaG90KG1zLCBmbilgIHxcbi8vISB8IFtgU3lzdGVtVHJheUljb25gXSB8IGBRU3lzdGVtVHJheUljb25gIHwgYG9uX2FjdGl2YXRlZChUcmF5SWNvblJlYXNvbilgIHxcbi8vISB8IFtgVWlMb2FkZXJgXSB8IGBRVWlMb2FkZXJgIHwgYC51aWAgZmlsZSBsb2FkaW5nIHxcbi8vISB8IFtgUG9pbnRgXSB8IGBRUG9pbnRgIHwg4oCUIHxcbi8vIVxuLy8hICMjIFF1aWNrIGV4YW1wbGVcbi8vIVxuLy8hIGBgYG5vX3J1blxuLy8hIHVzZSBxdHJzOjpwcmVsdWRlOjoqO1xuLy8hXG4vLyEgZm4gbWFpbigpIHtcbi8vISAgICAgbGV0IGFwcCA9IEFwcGxpY2F0aW9uOjpuZXcoKTtcbi8vIVxuLy8hICAgICBsZXQgbXV0IHdpbmRvdyA9IFdpZGdldDo6bmV3KClcbi8vISAgICAgICAgIC50aXRsZShcIkhlbGxvLCBxdHJzIVwiKVxuLy8hICAgICAgICAgLnNpemUoNDAwLCAzMDApXG4vLyEgICAgICAgICAuYnVpbGQoKTtcbi8vIVxuLy8hICAgICBsZXQgbXV0IGxheW91dCA9IFZCb3hMYXlvdXQ6OndpdGhfcGFyZW50KCZ3aW5kb3cpO1xuLy8hXG4vLyEgICAgIGxldCBidG4gPSBQdXNoQnV0dG9uOjpuZXcoXCJDbGljayBtZVwiKVxuLy8hICAgICAgICAgLm9uX2NsaWNrZWQofHwgcHJpbnRsbiEoXCJjbGlja2VkIVwiKSlcbi8vISAgICAgICAgIC5idWlsZCgpO1xuLy8hICAgICBsZXQgbGFiZWwgPSBMYWJlbDo6bmV3KFwiV2VsY29tZSFcIikuYnVpbGQoKTtcbi8vIVxuLy8hICAgICBsYXlvdXQuYWRkKGJ0bik7XG4vLyEgICAgIGxheW91dC5hZGQobGFiZWwpO1xuLy8hXG4vLyEgICAgIHdpbmRvdy5zZXRfbGF5b3V0KCZsYXlvdXQpO1xuLy8hICAgICB3aW5kb3cuc2hvdygpO1xuLy8hXG4vLyEgICAgIGFwcC5leGVjKCk7XG4vLyEgfVxuLy8hIGBgYFxuLy8hXG4vLyEgIyMgVGhyZWFkIHNhZmV0eVxuLy8hXG4vLyEgUXQgR1VJIGNsYXNzZXMgYXJlICoqbm90IHRocmVhZC1zYWZlKiouIEFsbCB3aWRnZXQgY3JlYXRpb24sIG11dGF0aW9uLFxuLy8hIGFuZCB0aGUgZXZlbnQgbG9vcCBtdXN0IGhhcHBlbiBvbiB0aGUgbWFpbiB0aHJlYWQuIFRoaXMgbGlicmFyeSBkb2VzXG4vLyEgbm90IGFkZCBhbnkgc3luY2hyb25pc2F0aW9uIOKAlCB5b3UgYXJlIHJlc3BvbnNpYmxlIGZvciBzdGF5aW5nIG9uIHRoZVxuLy8hIHJpZ2h0IHRocmVhZCwganVzdCBhcyBpbiBDKysgUXQuXG4vLyFcbi8vISAjIyBMaW5raW5nXG4vLyFcbi8vISBRdDYgKENvcmUsIEd1aSwgV2lkZ2V0cykgbXVzdCBiZSBpbnN0YWxsZWQgd2l0aCBkZXZlbG9wbWVudCBoZWFkZXJzLlxuLy8hIFRoZSBidWlsZCBzY3JpcHQgdXNlcyBgcW1ha2VgIHRvIGxvY2F0ZSB0aGVtLiBJZiB5b3Ugc2VlXG4vLyEgYFF0IG5vdCBmb3VuZCFgLCBpbnN0YWxsIHRoZSBgcXQ2LWJhc2UtZGV2YCBwYWNrYWdlXG4vLyEgKG9yIGVxdWl2YWxlbnQpIGZvciB5b3VyIGRpc3RyaWJ1dGlvbi5cblxucHViIG1vZCBhY3Rpb247XG5wdWIgbW9kIGFwcDtcbnB1YiBtb2QgYnV0dG9uO1xucHViIG1vZCBjaGVja2JveDtcbnB1YiBtb2QgY29tYm9ib3g7XG5wdWIgbW9kIGNvbm47XG5wdWIgbW9kIGRhdGVlZGl0O1xucHViIG1vZCBkYXRldGltZWVkaXQ7XG5wdWIgbW9kIGRpYWxvZztcbnB1YiBtb2QgZmZpO1xucHViIG1vZCBncmlkO1xucHViIG1vZCBncm91cGJveDtcbnB1YiBtb2QgaW5wdXQ7XG5wdWIgbW9kIGlucHV0ZGlhbG9nO1xucHViIG1vZCBsYWJlbDtcbnB1YiBtb2QgbGF5b3V0O1xucHViIG1vZCBsaXN0d2lkZ2V0O1xucHViIG1vZCBtZW51O1xucHViIG1vZCBtYWlud2luZG93O1xucHViIG1vZCBtZXNzYWdlYm94O1xuXG5bMTEwIG1vcmUgbGluZXMgaW4gZmlsZS4gVXNlIG9mZnNldD0yMDEgdG8gY29udGludWUuXSJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTUzMjIzM319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImQzYjgxMmQzIiwicGFyZW50SWQiOiI0ZjU2Zjg2NyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDU6NDAuNjA4WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipJbnNwZWN0aW5nIFRyZWUgQVBJIGZvciBxdHJzKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVjZTM0YTQ4MTkxYjQwNWYyM2UzOTg5NmI1ZVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjdVM2RtWFduYXY2bHBCOGVHNzUySHllTFh3b0FKb2FieFpWazZJRm04bTNBX3Q0SF9WWDJjYVdTWDI0d0FLSHBfc0FlSHVpaXdONDV6eVRoMlpFSnhDMEZKTUowdkhGSUVzUXhGemMySlRFX1RKQnV6c0RicS16bTJGZnZuQjF5WFRxbDJTRGpsVTRMRkM3REJPUldXb0hMNEtIUHNWNE1kb2t1UnFtWmstVzdPUDUwVzFHUHlHT0RRX1dHZ2xacXFZMlRyMEtRT3drSDFmV0d4Qms1S0VlR2tpZ0tDX1laUUN5YjRpOVN4QlQ0Rnl5ZHVjQlU0REtxRzF4dmlqLWhvVnY3ZHlwV0I4YXFnQ1dDekM4bmliV0h0dm5HYzA3LVl1MVJ0MC1vX0wwMnhUZnZhMGQ2aEE1dTBtb0ZGMnpQOWVYTGYwMDNCTzA3bGp4ZjRvWUV4TWRTSTE4QXdBdXo3M042VTlselM2aHVCM2tGUTNDRUtKalNuVVV6TEFPNXk2cDVUbjlfZmJZWnlsZ2hkYU90Mm4zRjlMY3pNLXJPZDRmLVRfSUw0NmJUaGJMdUVOYUg3eHBGYURIQ1dadGFRdG5yQTNKMEwzeEx5MU56V0xYcU9iMTZ2MURRN0pEVVkwaExuRUt1Z3NYcTZkUng2Ri1UdjdtN0t2YnNCSm9Zcm5qaGJPRmoyT3Q4YmFxYU9ORFJwSGZkMkgzdlpKSksyUXBkbllybjZQUklsMEZOMXUzdmFCYXd0S29JQUl6RE5BUWw0QVZyeVhaMkswdXA3Wm1FRWowaUR3UU9OWXZMYWFpd2xlNFdqaVcwTURPWG9XM2pnN1YtY2tsUWVXUUVBS2phWkV1Wll6ZzRERFV6ckZHREk3cGhXMHZOUloxSl9OOG5zT2JKSHlwNlpTYV94VzJfajMybUZ2bVBuMDlrbm9RM1VhdHRxak9JbkI5SXJkWDFxSlFOOFdXOGRsbWJ1TEljVWpJQjFiRnJGVEstNnRLdy15aTZKbGVlSFVFWlA5dWRhWFA3ZG5zeFY5dGJoUXlFbHJNUGdvUmZUVFhjakZZRGRXS1AyejhqcFZTTVdVOFg2czc4bFQtOXlYSVhncE5NMjk2MjVEZEtVN21KakRxa0N3Qm05ZGtrZm9HSmI3SDRUX3hkV09nc0hTbzZPa0Z1VXpzY1lSdm1KZmVlNk1FT0ppQ29Wc2FNdUtqWGtZdzlVSnMtVGdkVjJxUUJkZHNiYUJPa0k3dlRpSElCM3phcURWcG9RV2FMVV9DNHZkVjRJUWZ3QXpSbmQtYnkwSmsyVXRWcFR6OHZSNUxidUg4aU8zaHpXQVpCNDhGQklFMzQ0VjlnRmpLUUZwVUdmQjBJanF3QTh5blhCWDlPVlpZbjBnekpocWEwNUVnRUF4RVFFNlQxXzJocm89XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipJbnNwZWN0aW5nIFRyZWUgQVBJIGZvciBxdHJzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX290cHdGc0Jod1RCRVk2MkNUbVg1Z3NVUHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVkNDcxZmM4MTkxOTIwZGE1Y2VhOTJhMTQ2NCIsIm5hbWUiOiJyZWFkIiwiYXJndW1lbnRzIjp7InBhdGgiOiIvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvZXhhbXBsZXMvZGVtby9kZW1vLnJzIiwibGltaXQiOjUwMH19LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzQ4cXZRTnQ0cUtQY21NV3o3S0hQRnAxWHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVkNDcyMGM4MTkxODc2M2ZhN2YxMjE0YzYxMSIsIm5hbWUiOiJyZWFkIiwiYXJndW1lbnRzIjp7InBhdGgiOiIvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL3RyZWV3aWRnZXQucnMiLCJsaW1pdCI6MzAwfX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfRFQ1N2V5NHZ3S0dLMmFLSFFxeThpbWpxfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWQ0NzIxNDgxOTFiYjFmN2I5MjFkMTBmMDZlIiwibmFtZSI6InJlYWQiLCJhcmd1bWVudHMiOnsicGF0aCI6Ii9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvaW5wdXRkaWFsb2cucnMiLCJsaW1pdCI6MjIwfX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfamxHNElLand2U3NOVzlTSE5DWmg0dWxofGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWQ0NzIxODgxOTE4Y2VlMzBjNzcxODc0YjljIiwibmFtZSI6InJlYWQiLCJhcmd1bWVudHMiOnsicGF0aCI6Ii9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvZmlsZWRpYWxvZy5ycyIsImxpbWl0IjoyMDB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6NTc4Mywib3V0cHV0IjoyNzUsImNhY2hlUmVhZCI6MTAzOTM2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjI1LCJ0b3RhbFRva2VucyI6MTA5OTk0LCJjb3N0Ijp7ImlucHV0IjowLjAyODkxNTAwMDAwMDAwMDAwMywib3V0cHV0IjowLjAwODI1LCJjYWNoZVJlYWQiOjAuMDUxOTY4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wODkxMzN9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1MzIyMzcsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWNjOWI2YzgxOTE5ZDRhNjA4YTdiZTJkZjc4In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjhhNjM0MzhkIiwicGFyZW50SWQiOiJkM2I4MTJkMyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDU6NDAuNjEwWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9vdHB3RnNCaHdUQkVZNjJDVG1YNWdzVVB8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlZDQ3MWZjODE5MTkyMGRhNWNlYTkyYTE0NjQiLCJ0b29sTmFtZSI6InJlYWQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIvLyBleGFtcGxlcy9kZW1vLnJzIOKAlCBxdHJzIHdpZGdldCBnYWxsZXJ5IGRlbW9cbi8vXG4vLyBSdW46IGNhcmdvIHJ1biAtLWV4YW1wbGUgZGVtb1xuXG51c2UgcXRyczo6cHJlbHVkZTo6KjtcbnVzZSBxdHJzOjpkaWFsb2c7XG51c2UgcXRyczo6c2lnbmFsczo6c2xpZGVyX3NpZ25hbHM6OlZBTFVFX0NIQU5HRUQgYXMgU0xJREVSX1ZBTFVFX0NIQU5HRUQ7XG51c2UgcXRyczo6c2lnbmFsczo6c3Bpbl9ib3hfc2lnbmFsczo6VkFMVUVfQ0hBTkdFRCBhcyBTUElOX1ZBTFVFX0NIQU5HRUQ7XG51c2UgcXRyczo6c2lnbmFsczo6c3Bpbl9ib3hfc2xvdHM6OlNFVF9WQUxVRTtcbnVzZSBxdHJzOjpzaWduYWxzOjpzbGlkZXJfc2xvdHM6OlNFVF9WQUxVRSBhcyBTTElERVJfU0VUX1ZBTFVFO1xudXNlIHF0cnM6OnNpZ25hbHM6OnByb2dyZXNzX2Jhcl9zbG90czo6U0VUX1ZBTFVFIGFzIFBCX1NFVF9WQUxVRTtcblxuZm4gbWFpbigpIHtcbiAgICBsZXQgYXBwID0gQXBwbGljYXRpb246Om5ldygpO1xuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gTWFpbiB3aW5kb3dcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBsZXQgd2luZG93ID0gV2lkZ2V0OjpuZXcoKVxuICAgICAgICAudGl0bGUoXCJxdHJzIFdpZGdldCBHYWxsZXJ5XCIpXG4gICAgICAgIC5pY29uKFwiYXNzZXRzL2ljb24ucG5nXCIpXG4gICAgICAgIC5zaXplKDkwMCwgNzAwKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIE1haW4gbGF5b3V0XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgbGV0IG11dCBtYWluX2xheW91dCA9IFZCb3hMYXlvdXQ6OndpdGhfcGFyZW50KCZ3aW5kb3cpO1xuICAgIG1haW5fbGF5b3V0LnNldF9zcGFjaW5nKDEwKTtcbiAgICBtYWluX2xheW91dC5zZXRfY29udGVudHNfbWFyZ2lucygxNSwgMTUsIDE1LCAxNSk7XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBUaXRsZVxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGxldCB0aXRsZV9sYWJlbCA9IExhYmVsOjpuZXcoXCJcXG5xdHJzIFdpZGdldCBHYWxsZXJ5XCIpXG4gICAgICAgIC5wYXJlbnQoJndpbmRvdylcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgbWFpbl9sYXlvdXQuYWRkKHRpdGxlX2xhYmVsKTtcbiAgICBcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBTZWN0aW9uIDE6IEJ1dHRvbnNcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBsZXQgZ3JvdXAxID0gR3JvdXBCb3g6Om5ldyhcIkJ1dHRvbnNcIilcbiAgICAgICAgLnBhcmVudCgmd2luZG93KVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBsZXQgbXV0IGcxX2xheW91dCA9IFZCb3hMYXlvdXQ6OndpdGhfcGFyZW50KCZncm91cDEpO1xuICAgIGcxX2xheW91dC5zZXRfc3BhY2luZyg4KTtcblxuICAgIC8vIFB1c2hCdXR0b25cbiAgICBsZXQgYnRuID0gUHVzaEJ1dHRvbjo6bmV3KFwiQ2xpY2sgTWVcIilcbiAgICAgICAgLm9uX2NsaWNrZWQofHwgcHJpbnRsbiEoXCJbTE9HXSBCdXR0b24gY2xpY2tlZFwiKSlcbiAgICAgICAgLnBhcmVudCgmZ3JvdXAxKVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBnMV9sYXlvdXQuYWRkKGJ0bik7XG5cbiAgICAvLyBDaGVja0JveFxuICAgIGxldCBjYiA9IENoZWNrQm94OjpuZXcoXCJDaGVjayBtZVwiKVxuICAgICAgICAuY2hlY2tlZChmYWxzZSlcbiAgICAgICAgLm9uX3RvZ2dsZWQofGNoZWNrZWR8IHByaW50bG4hKFwiW0xPR10gQ2hlY2tCb3g6IHt9XCIsIGNoZWNrZWQpKVxuICAgICAgICAucGFyZW50KCZncm91cDEpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGcxX2xheW91dC5hZGQoY2IpO1xuXG4gICAgLy8gUmFkaW9CdXR0b24gZ3JvdXBcbiAgICBsZXQgcmIxX2xhYmVsID0gTGFiZWw6Om5ldyhcIlJhZGlvIEdyb3VwIChjbGljayB0byBsb2cpOlwiKS5wYXJlbnQoJmdyb3VwMSkuYnVpbGQoKTtcbiAgICBnMV9sYXlvdXQuYWRkKHJiMV9sYWJlbCk7XG5cbiAgICBsZXQgcmIxID0gUmFkaW9CdXR0b246Om5ldyhcIk9wdGlvbiBBXCIpXG4gICAgICAgIC5jaGVja2VkKHRydWUpXG4gICAgICAgIC5vbl90b2dnbGVkKHxjaGVja2VkfCB7XG4gICAgICAgICAgICBpZiBjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBwcmludGxuIShcIltMT0ddIFJhZGlvIHNlbGVjdGVkOiBBXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAucGFyZW50KCZncm91cDEpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGcxX2xheW91dC5hZGQocmIxKTtcblxuICAgIGxldCByYjIgPSBSYWRpb0J1dHRvbjo6bmV3KFwiT3B0aW9uIEJcIilcbiAgICAgICAgLmNoZWNrZWQoZmFsc2UpXG4gICAgICAgIC5vbl90b2dnbGVkKHxjaGVja2VkfCB7XG4gICAgICAgICAgICBpZiBjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBwcmludGxuIShcIltMT0ddIFJhZGlvIHNlbGVjdGVkOiBCXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAucGFyZW50KCZncm91cDEpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGcxX2xheW91dC5hZGQocmIyKTtcblxuICAgIGxldCByYjMgPSBSYWRpb0J1dHRvbjo6bmV3KFwiT3B0aW9uIENcIilcbiAgICAgICAgLmNoZWNrZWQoZmFsc2UpXG4gICAgICAgIC5vbl90b2dnbGVkKHxjaGVja2VkfCB7XG4gICAgICAgICAgICBpZiBjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBwcmludGxuIShcIltMT0ddIFJhZGlvIHNlbGVjdGVkOiBDXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAucGFyZW50KCZncm91cDEpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGcxX2xheW91dC5hZGQocmIzKTtcblxuICAgIG1haW5fbGF5b3V0LmFkZChncm91cDEpO1xuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gU2VjdGlvbiAyOiBJbnB1dCB3aWRnZXRzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgbGV0IGdyb3VwMiA9IEdyb3VwQm94OjpuZXcoXCJJbnB1dHNcIilcbiAgICAgICAgLnBhcmVudCgmd2luZG93KVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBsZXQgbXV0IGcyX2xheW91dCA9IFZCb3hMYXlvdXQ6OndpdGhfcGFyZW50KCZncm91cDIpO1xuICAgIGcyX2xheW91dC5zZXRfc3BhY2luZyg4KTtcblxuICAgIC8vIExpbmVFZGl0XG4gICAgbGV0IGVkaXQgPSBMaW5lRWRpdDo6bmV3KFwiVHlwZSB0ZXh0IGhlcmUuLi5cIilcbiAgICAgICAgLm9uX3JldHVybl9wcmVzc2VkKHx8IHByaW50bG4hKFwiW0xPR10gTGluZUVkaXQgcmV0dXJuIHByZXNzZWRcIikpXG4gICAgICAgIC5wYXJlbnQoJmdyb3VwMilcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgZzJfbGF5b3V0LmFkZChlZGl0KTtcblxuICAgIC8vIENvbWJvQm94XG4gICAgbGV0IG11dCBjb21ibyA9IENvbWJvQm94OjpuZXcoKVxuICAgICAgICAuaXRlbXMoJltcIkl0ZW0gMVwiLCBcIkl0ZW0gMlwiLCBcIkl0ZW0gM1wiLCBcIkl0ZW0gNFwiXSlcbiAgICAgICAgLm9uX2N1cnJlbnRfdGV4dF9jaGFuZ2VkKHx8IHByaW50bG4hKFwiW0xPR10gQ29tYm9Cb3ggdGV4dCBjaGFuZ2VkXCIpKVxuICAgICAgICAucGFyZW50KCZncm91cDIpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGNvbWJvLmNvbm5lY3RfY3VycmVudF9pbmRleF9jaGFuZ2VkKHxpZHh8IHtcbiAgICAgICAgcHJpbnRsbiEoXCJbTE9HXSBDb21ib0JveCBpbmRleDoge31cIiwgaWR4KTtcbiAgICB9KTtcbiAgICBnMl9sYXlvdXQuYWRkKGNvbWJvKTtcblxuICAgIC8vIFRleHRFZGl0XG4gICAgbGV0IHRleHRfZWRpdCA9IFRleHRFZGl0OjpuZXcoKVxuICAgICAgICAucGxhY2Vob2xkZXIoXCJXcml0ZSBtdWx0aS1saW5lIHRleHQgaGVyZS4uLlwiKVxuICAgICAgICAub25fdGV4dF9jaGFuZ2VkKHx8IHByaW50bG4hKFwiW0xPR10gVGV4dEVkaXQgY29udGVudCBjaGFuZ2VkXCIpKVxuICAgICAgICAucGFyZW50KCZncm91cDIpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGcyX2xheW91dC5hZGQodGV4dF9lZGl0KTtcblxuICAgIG1haW5fbGF5b3V0LmFkZChncm91cDIpO1xuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gU2VjdGlvbiAzOiBGdWxsIEJpZGlyZWN0aW9uYWwgU3luYyAoU2xpZGVyIOKGlCBTcGluQm94IOKGkiBQcm9ncmVzc0JhcilcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBsZXQgZ3JvdXAzID0gR3JvdXBCb3g6Om5ldyhcIlZhbHVlc1wiKVxuICAgICAgICAucGFyZW50KCZ3aW5kb3cpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGxldCBtdXQgZzNfbGF5b3V0ID0gVkJveExheW91dDo6d2l0aF9wYXJlbnQoJmdyb3VwMyk7XG4gICAgZzNfbGF5b3V0LnNldF9zcGFjaW5nKDgpO1xuXG4gICAgLy8gQnVpbGQgYWxsIHdpZGdldHMgZmlyc3QgKGJlZm9yZSBhZGRpbmcgdG8gbGF5b3V0KVxuICAgIGxldCBiYXIgPSBQcm9ncmVzc0Jhcjo6bmV3KClcbiAgICAgICAgLnJhbmdlKDAsIDEwMClcbiAgICAgICAgLnZhbHVlKDUwKVxuICAgICAgICAuZm9ybWF0KFwiJXAlXCIpXG4gICAgICAgIC5wYXJlbnQoJmdyb3VwMylcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBsZXQgc2xpZGVyID0gU2xpZGVyOjpob3Jpem9udGFsKClcbiAgICAgICAgLnJhbmdlKDAsIDEwMClcbiAgICAgICAgLnBhcmVudCgmZ3JvdXAzKVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBzbGlkZXIuc2V0X3ZhbHVlKDUwKTtcblxuICAgIGxldCBzcGluID0gU3BpbkJveDo6bmV3KClcbiAgICAgICAgLnJhbmdlKDAsIDEwMClcbiAgICAgICAgLnZhbHVlKDUwKVxuICAgICAgICAuc3VmZml4KFwiIHVuaXRzXCIpXG4gICAgICAgIC5wYXJlbnQoJmdyb3VwMylcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBBTEwgY29ubmVjdGlvbnMgQkVGT1JFIGFkZGluZyB0byBsYXlvdXRcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIC8vIFNsaWRlciDihpIgU3BpbkJveCAoYmlkaXJlY3Rpb25hbClcbiAgICBzbGlkZXIuY29ubmVjdChcbiAgICAgICAgU0xJREVSX1ZBTFVFX0NIQU5HRUQsXG4gICAgICAgICZzcGluLFxuICAgICAgICBTRVRfVkFMVUUsXG4gICAgICAgIENvbm5UeXBlOjpRdWV1ZWQsXG4gICAgKTtcblxuICAgIC8vIFNwaW5Cb3gg4oaSIFNsaWRlciAoYmlkaXJlY3Rpb25hbClcbiAgICBzcGluLmNvbm5lY3QoXG4gICAgICAgIFNQSU5fVkFMVUVfQ0hBTkdFRCxcbiAgICAgICAgJnNsaWRlcixcbiAgICAgICAgU0xJREVSX1NFVF9WQUxVRSxcbiAgICAgICAgQ29ublR5cGU6OlF1ZXVlZCxcbiAgICApO1xuXG4gICAgLy8gU2xpZGVyIOKGkiBQcm9ncmVzc0JhclxuICAgIHNsaWRlci5jb25uZWN0KFxuICAgICAgICBTTElERVJfVkFMVUVfQ0hBTkdFRCxcbiAgICAgICAgJmJhcixcbiAgICAgICAgUEJfU0VUX1ZBTFVFLFxuICAgICAgICBDb25uVHlwZTo6QXV0byxcbiAgICApO1xuXG4gICAgLy8gU3BpbkJveCDihpIgUHJvZ3Jlc3NCYXJcbiAgICBzcGluLmNvbm5lY3QoXG4gICAgICAgIFNQSU5fVkFMVUVfQ0hBTkdFRCxcbiAgICAgICAgJmJhcixcbiAgICAgICAgUEJfU0VUX1ZBTFVFLFxuICAgICAgICBDb25uVHlwZTo6QXV0byxcbiAgICApO1xuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gTk9XIGFkZCB3aWRnZXRzIHRvIGxheW91dCAoYWZ0ZXIgYWxsIGNvbm5lY3Rpb25zKVxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGczX2xheW91dC5hZGQoYmFyKTtcbiAgICBnM19sYXlvdXQuYWRkKHNsaWRlcik7XG4gICAgZzNfbGF5b3V0LmFkZChzcGluKTtcblxuICAgIG1haW5fbGF5b3V0LmFkZChncm91cDMpO1xuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gU2VjdGlvbiA0OiBUYWJXaWRnZXRcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBsZXQgbXV0IHRhYnMgPSBUYWJXaWRnZXQ6Om5ldygpXG4gICAgICAgIC5vbl9jdXJyZW50X2NoYW5nZWQofGlkeHwgcHJpbnRsbiEoXCJbTE9HXSBUYWIgY2hhbmdlZCB0bzoge31cIiwgaWR4KSlcbiAgICAgICAgLnBhcmVudCgmd2luZG93KVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIC8vIFRhYiAxOiBTaW1wbGUgdGV4dFxuICAgIGxldCB0YWIxID0gV2lkZ2V0OjpuZXcoKS5wYXJlbnQoJnRhYnMpLmJ1aWxkKCk7XG4gICAgbGV0IG11dCB0YWIxX2xheW91dCA9IFZCb3hMYXlvdXQ6OndpdGhfcGFyZW50KCZ0YWIxKTtcbiAgICBsZXQgdGFiMV9sYWJlbCA9IExhYmVsOjpuZXcoXCJUaGlzIGlzIFRhYiAxXCIpLnBhcmVudCgmdGFiMSkuYnVpbGQoKTtcbiAgICB0YWIxX2xheW91dC5hZGQodGFiMV9sYWJlbCk7XG4gICAgdGFicy5hZGRfdGFiKEJveDo6bmV3KHRhYjEpLCBcIlRhYiAxXCIpO1xuXG4gICAgLy8gVGFiIDI6IENoZWNrQm94ZXNcbiAgICBsZXQgdGFiMiA9IFdpZGdldDo6bmV3KCkucGFyZW50KCZ0YWJzKS5idWlsZCgpO1xuICAgIGxldCBtdXQgdGFiMl9sYXlvdXQgPSBWQm94TGF5b3V0Ojp3aXRoX3BhcmVudCgmdGFiMik7XG4gICAgbGV0IGNiMSA9IENoZWNrQm94OjpuZXcoXCJPcHRpb24gWFwiKS5wYXJlbnQoJnRhYjIpLmJ1aWxkKCk7XG4gICAgbGV0IGNiMiA9IENoZWNrQm94OjpuZXcoXCJPcHRpb24gWVwiKS5wYXJlbnQoJnRhYjIpLmJ1aWxkKCk7XG4gICAgdGFiMl9sYXlvdXQuYWRkKGNiMSk7XG4gICAgdGFiMl9sYXlvdXQuYWRkKGNiMik7XG4gICAgdGFicy5hZGRfdGFiKEJveDo6bmV3KHRhYjIpLCBcIlRhYiAyXCIpO1xuXG4gICAgLy8gVGFiIDM6IEJ1dHRvblxuICAgIGxldCB0YWIzID0gV2lkZ2V0OjpuZXcoKS5wYXJlbnQoJnRhYnMpLmJ1aWxkKCk7XG4gICAgbGV0IG11dCB0YWIzX2xheW91dCA9IFZCb3hMYXlvdXQ6OndpdGhfcGFyZW50KCZ0YWIzKTtcbiAgICBsZXQgYnRuX3RhYjMgPSBQdXNoQnV0dG9uOjpuZXcoXCJUYWIgMyBCdXR0b25cIilcbiAgICAgICAgLm9uX2NsaWNrZWQofHwgcHJpbnRsbiEoXCJbTE9HXSBUYWIgMyBidXR0b24gY2xpY2tlZFwiKSlcbiAgICAgICAgLnBhcmVudCgmdGFiMylcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgdGFiM19sYXlvdXQuYWRkKGJ0bl90YWIzKTtcbiAgICB0YWJzLmFkZF90YWIoQm94OjpuZXcodGFiMyksIFwiVGFiIDNcIik7XG5cbiAgICBtYWluX2xheW91dC5hZGQodGFicyk7XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBTZWN0aW9uIDU6IE1lbnUgKyBNZW51QmFyXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgbGV0IGZpbGVfbWVudSA9IE1lbnU6Om5ldyhcIkZpbGVcIilcbiAgICAgICAgLmFjdGlvbihcIk5ld1wiLCB8fCBwcmludGxuIShcIltMT0ddIE1lbnU6IE5ld1wiKSlcbiAgICAgICAgLmFjdGlvbihcIk9wZW5cIiwgfHwge1xuICAgICAgICAgICAgcHJpbnRsbiEoXCJbTE9HXSBNZW51OiBPcGVuXCIpO1xuICAgICAgICAgICAgaWYgbGV0IFNvbWUocGF0aCkgPSBGaWxlRGlhbG9nOjpvcGVuX2ZpbGUoXG4gICAgICAgICAgICAgICAgTm9uZSwgIC8vIE5vIHBhcmVudCBuZWVkZWRcbiAgICAgICAgICAgICAgICBcIlNlbGVjdCBhIGZpbGVcIixcbiAgICAgICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgICAgIFwiQWxsIEZpbGVzICgqLiopOztUZXh0IEZpbGVzICgqLnR4dCk7O0ltYWdlcyAoKi5wbmcgKi5qcGcgKi5ibXApXCJcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHByaW50bG4hKFwiW0xPR10gRmlsZSBzZWxlY3RlZDoge31cIiwgcGF0aCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHByaW50bG4hKFwiW0xPR10gRmlsZSBkaWFsb2cgY2FuY2VsbGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuYWN0aW9uKFwiU2F2ZVwiLCB8fCB7XG4gICAgICAgICAgICBwcmludGxuIShcIltMT0ddIE1lbnU6IFNhdmVcIik7XG4gICAgICAgICAgICBpZiBsZXQgU29tZShwYXRoKSA9IEZpbGVEaWFsb2c6OnNlbGVjdF9kaXJlY3RvcnkoXG4gICAgICAgICAgICAgICAgTm9uZSwgXCJTZWxlY3QgYSBkaXJlY3RvcnkgdG8gc2F2ZVwiLCBcbiAgICAgICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcHJpbnRsbiEoXCJbTE9HXSBEaXJlY3Rvcnkgc2VsZWN0ZWQ6IHt9XCIsIHBhdGgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwcmludGxuIShcIltMT0ddIEZpbGUgZGlhbG9nIGNhbmNlbGxlZFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmFjdGlvbihcIkV4aXRcIiwgfHwge1xuICAgICAgICAgICAgcHJpbnRsbiEoXCJbTE9HXSBNZW51OiBFeGl0XCIpO1xuICAgICAgICAgICAgc3RkOjpwcm9jZXNzOjpleGl0KDApO1xuICAgICAgICB9KVxuICAgICAgICAucGFyZW50KCZ3aW5kb3cpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgbGV0IGVkaXRfbWVudSA9IE1lbnU6Om5ldyhcIkVkaXRcIilcbiAgICAgICAgLmFjdGlvbihcIkNvcHlcIiwgfHwgcHJpbnRsbiEoXCJbTE9HXSBNZW51OiBDb3B5XCIpKVxuICAgICAgICAuYWN0aW9uKFwiUGFzdGVcIiwgfHwgcHJpbnRsbiEoXCJbTE9HXSBNZW51OiBQYXN0ZVwiKSlcbiAgICAgICAgLmFjdGlvbihcIkN1dFwiLCB8fCBwcmludGxuIShcIltMT0ddIE1lbnU6IEN1dFwiKSlcbiAgICAgICAgLnBhcmVudCgmd2luZG93KVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGxldCBoZWxwX21lbnUgPSBNZW51OjpuZXcoXCJIZWxwXCIpXG4gICAgICAgIC5hY3Rpb24oXCJBYm91dFwiLCB8fCB7XG4gICAgICAgICAgICBwcmludGxuIShcIltMT0ddIE1lbnU6IEFib3V0XCIpO1xuICAgICAgICAgICAgZGlhbG9nOjppbmZvcm1hdGlvbihcbiAgICAgICAgICAgICAgICBOb25lLCAgLy8gTm8gcGFyZW50IG5lZWRlZFxuICAgICAgICAgICAgICAgIFwiQWJvdXRcIixcbiAgICAgICAgICAgICAgICBcInF0cnMgV2lkZ2V0IEdhbGxlcnlcXG5WZXJzaW9uIDAuNC4yXFxuXFxuQWxsIHdpZGdldHMgdGVzdFwiLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICAgLnBhcmVudCgmd2luZG93KVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGxldCBfbWVudWJhciA9IE1lbnVCYXI6Om5ldygpXG4gICAgICAgIC5hZGRfbWVudShmaWxlX21lbnUpXG4gICAgICAgIC5hZGRfbWVudShlZGl0X21lbnUpXG4gICAgICAgIC5hZGRfbWVudShoZWxwX21lbnUpXG4gICAgICAgIC5wYXJlbnQoJndpbmRvdylcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBCb3R0b20gYnV0dG9uczogRGlhbG9nc1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGxldCBtdXQgYm90dG9tX2xheW91dCA9IEhCb3hMYXlvdXQ6Om5ldygpO1xuICAgIGJvdHRvbV9sYXlvdXQuc2V0X3NwYWNpbmcoMTApO1xuXG4gICAgbGV0IGluZm9fYnRuID0gUHVzaEJ1dHRvbjo6bmV3KFwiU2hvdyBJbmZvXCIpXG4gICAgICAgIC5vbl9jbGlja2VkKHx8IHtcbiAgICAgICAgICAgIHByaW50bG4hKFwiW0xPR10gSW5mbyBkaWFsb2cgc2hvd25cIik7XG4gICAgICAgICAgICBkaWFsb2c6OmluZm9ybWF0aW9uKE5vbmUsIFwiSW5mb1wiLCBcIlRoaXMgaXMgYW4gaW5mb3JtYXRpb24gZGlhbG9nXCIpO1xuICAgICAgICB9KVxuICAgICAgICAucGFyZW50KCZ3aW5kb3cpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGJvdHRvbV9sYXlvdXQuYWRkKGluZm9fYnRuKTtcblxuICAgIGxldCB3YXJuX2J0biA9IFB1c2hCdXR0b246Om5ldyhcIlNob3cgV2FybmluZ1wiKVxuICAgICAgICAub25fY2xpY2tlZCh8fCB7XG4gICAgICAgICAgICBwcmludGxuIShcIltMT0ddIFdhcm5pbmcgZGlhbG9nIHNob3duXCIpO1xuICAgICAgICAgICAgZGlhbG9nOjp3YXJuaW5nKE5vbmUsIFwiV2FybmluZ1wiLCBcIlRoaXMgaXMgYSB3YXJuaW5nIGRpYWxvZ1wiKTtcbiAgICAgICAgfSlcbiAgICAgICAgLnBhcmVudCgmd2luZG93KVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBib3R0b21fbGF5b3V0LmFkZCh3YXJuX2J0bik7XG5cbiAgICBsZXQgYXNrX2J0biA9IFB1c2hCdXR0b246Om5ldyhcIkFzayBRdWVzdGlvblwiKVxuICAgICAgICAub25fY2xpY2tlZCh8fCB7XG4gICAgICAgICAgICBwcmludGxuIShcIltMT0ddIFF1ZXN0aW9uIGRpYWxvZyBzaG93blwiKTtcbiAgICAgICAgICAgIGxldCBhbnN3ZXIgPSBkaWFsb2c6OnF1ZXN0aW9uKE5vbmUsIFwiUXVlc3Rpb25cIiwgXCJBcmUgeW91IHN1cmU/XCIpO1xuICAgICAgICAgICAgcHJpbnRsbiEoXCJbTE9HXSBBbnN3ZXI6IHt9XCIsIGlmIGFuc3dlciB7IFwiWWVzXCIgfSBlbHNlIHsgXCJOb1wiIH0pO1xuICAgICAgICB9KVxuICAgICAgICAucGFyZW50KCZ3aW5kb3cpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGJvdHRvbV9sYXlvdXQuYWRkKGFza19idG4pO1xuXG4gICAgbGV0IG11dCBib3R0b21fd2lkZ2V0ID0gV2lkZ2V0OjpuZXcoKS5wYXJlbnQoJndpbmRvdykuYnVpbGQoKTtcbiAgICBib3R0b21fd2lkZ2V0LnNldF9sYXlvdXQoJmJvdHRvbV9sYXlvdXQpO1xuICAgIG1haW5fbGF5b3V0LmFkZChib3R0b21fd2lkZ2V0KTtcblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIFN0YXR1cyBiYXJcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBsZXQgc3RhdHVzX2xhYmVsID0gTGFiZWw6Om5ldyhcIlN0YXR1czogUmVhZHkgLSBBbGwgd2lkZ2V0cyBsb2FkZWRcIilcbiAgICAgICAgLnBhcmVudCgmd2luZG93KVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBtYWluX2xheW91dC5hZGQoc3RhdHVzX2xhYmVsKTtcblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIFNob3cgd2luZG93IGFuZCBydW5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICB3aW5kb3cuc2hvdygpO1xuICAgIHByaW50bG4hKFwiW0xPR10gQXBwbGljYXRpb24gc3RhcnRlZCAtIGFsbCB3aWRnZXRzIGxvYWRlZFwiKTtcbiAgICBwcmludGxuIShcIltMT0ddIEludGVyYWN0IHdpdGggd2lkZ2V0cyB0byBzZWUgbG9ncyBpbiB0ZXJtaW5hbFwiKTtcblxuICAgIGFwcC5leGVjKCk7XG59In1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NTQwNjEwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiM2FiN2U1MTkiLCJwYXJlbnRJZCI6IjhhNjM0MzhkIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNTo0MC42MTBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzQ4cXZRTnQ0cUtQY21NV3o3S0hQRnAxWHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVkNDcyMGM4MTkxODc2M2ZhN2YxMjE0YzYxMSIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii8vISBUcmVlIHdpZGdldCBmb3IgZGlzcGxheWluZyBoaWVyYXJjaGljYWwgZGF0YS5cbi8vIVxuLy8hIFdyYXBzIFtgUVRyZWVXaWRnZXRgXShodHRwczovL2RvYy5xdC5pby9xdC02L3F0cmVld2lkZ2V0Lmh0bWwpLlxuXG51c2UgY3h4OjpsZXRfY3h4X3N0cmluZztcblxudXNlIGNyYXRlOjpmZmk7XG51c2UgY3JhdGU6OnNpZ25hbDo6e3NlbGYsIFNpZ25hbEhhbmRsZX07XG51c2UgY3JhdGU6OndpZGdldDo6QXNXaWRnZXQ7XG5cbi8vLyBBIHRyZWUgd2lkZ2V0IGZvciBkaXNwbGF5aW5nIGhpZXJhcmNoaWNhbCBpdGVtcy5cbi8vL1xuLy8vIFVzZSBhICoqYnVpbGRlciBwYXR0ZXJuKio6IFtgVHJlZVdpZGdldDo6bmV3YF0gcmV0dXJucyBhIFtgQnVpbGRlcmBdLlxuLy8vXG4vLy8gIyBTaWduYWxzXG4vLy9cbi8vLyB8IE1ldGhvZCB8IFF0IHNpZ25hbCB8IENhbGxiYWNrIHJlY2VpdmVzIHxcbi8vLyB8LS0tfC0tLXwtLS18XG4vLy8gfCBbYEJ1aWxkZXI6Om9uX2l0ZW1fY2xpY2tlZGBdIHwgYFFUcmVlV2lkZ2V0OjppdGVtQ2xpY2tlZGAgfCBgU3RyaW5nYCAoaXRlbSB0ZXh0KSB8XG4vLy8gfCBbYEJ1aWxkZXI6Om9uX2l0ZW1fZG91YmxlX2NsaWNrZWRgXSB8IGBRVHJlZVdpZGdldDo6aXRlbURvdWJsZUNsaWNrZWRgIHwgYFN0cmluZ2AgKGl0ZW0gdGV4dCkgfFxuLy8vIHwgW2BCdWlsZGVyOjpvbl9pdGVtX2V4cGFuZGVkYF0gfCBgUVRyZWVXaWRnZXQ6Oml0ZW1FeHBhbmRlZGAgfCBgU3RyaW5nYCAoaXRlbSB0ZXh0KSB8XG4vLy8gfCBbYEJ1aWxkZXI6Om9uX2l0ZW1fY29sbGFwc2VkYF0gfCBgUVRyZWVXaWRnZXQ6Oml0ZW1Db2xsYXBzZWRgIHwgYFN0cmluZ2AgKGl0ZW0gdGV4dCkgfFxuLy8vIHwgW2BCdWlsZGVyOjpvbl9jdXJyZW50X2l0ZW1fY2hhbmdlZGBdIHwgYFFUcmVlV2lkZ2V0OjpjdXJyZW50SXRlbUNoYW5nZWRgIHwgYFN0cmluZ2AgKGl0ZW0gdGV4dCkgfFxuLy8vXG4vLy8gIyBFeGFtcGxlXG4vLy9cbi8vLyBgYGBub19ydW5cbi8vLyB1c2UgcXRyczo6VHJlZVdpZGdldDtcbi8vL1xuLy8vIGxldCB0cmVlID0gVHJlZVdpZGdldDo6bmV3KClcbi8vLyAgICAgLm9uX2l0ZW1fY2xpY2tlZCh8dGV4dHwgcHJpbnRsbiEoXCJjbGlja2VkOiB7fVwiLCB0ZXh0KSlcbi8vLyAgICAgLmJ1aWxkKCk7XG4vLy9cbi8vLyB0cmVlLmFkZF90b3BfbGV2ZWxfaXRlbShcIlJvb3RcIik7XG4vLy8gdHJlZS5zZXRfaGVhZGVyX2xhYmVsKFwiTmFtZVwiKTtcbi8vLyBgYGBcbnB1YiBzdHJ1Y3QgVHJlZVdpZGdldCB7XG4gICAgcHRyOiAqbXV0IGZmaTo6UVRyZWVXaWRnZXQsXG4gICAgaGFzX3BhcmVudDogYm9vbCxcbiAgICBzaWduYWxfaGFuZGxlczogVmVjPFNpZ25hbEhhbmRsZT4sXG59XG5cbmltcGwgVHJlZVdpZGdldCB7XG4gICAgLy8vIFN0YXJ0IGJ1aWxkaW5nIGEgbmV3IHRyZWUgd2lkZ2V0LlxuICAgIHB1YiBmbiBuZXcoKSAtPiBCdWlsZGVyIHsgQnVpbGRlcjo6bmV3KCkgfVxuXG4gICAgLy8gLS0tIEl0ZW0gbWFuYWdlbWVudCAtLS1cblxuICAgIC8vLyBBZGQgYSB0b3AtbGV2ZWwgaXRlbSB3aXRoIHRoZSBnaXZlbiB0ZXh0LlxuICAgIHB1YiBmbiBhZGRfdG9wX2xldmVsX2l0ZW0oJnNlbGYsIHRleHQ6ICZzdHIpIHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghc2VsZi5wdHIuaXNfbnVsbCgpKTtcbiAgICAgICAgbGV0X2N4eF9zdHJpbmchKGNfdGV4dCA9IHRleHQpO1xuICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X2FkZFRvcExldmVsSXRlbShzZWxmLnB0ciwgJmNfdGV4dCk7IH1cbiAgICB9XG5cbiAgICAvLy8gUmVtb3ZlIGFsbCBpdGVtcy5cbiAgICBwdWIgZm4gY2xlYXIoJnNlbGYpIHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghc2VsZi5wdHIuaXNfbnVsbCgpKTtcbiAgICAgICAgdW5zYWZlIHsgZmZpOjpRVHJlZVdpZGdldF9jbGVhcihzZWxmLnB0cik7IH1cbiAgICB9XG5cbiAgICAvLyAtLS0gR2V0dGVycyAtLS1cblxuICAgIC8vLyBHZXQgdGhlIHRleHQgb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBpdGVtLlxuICAgIHB1YiBmbiBjdXJyZW50X2l0ZW1fdGV4dCgmc2VsZikgLT4gU3RyaW5nIHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghc2VsZi5wdHIuaXNfbnVsbCgpKTtcbiAgICAgICAgdW5zYWZlIHsgZmZpOjpRVHJlZVdpZGdldF9jdXJyZW50SXRlbVRleHQoc2VsZi5wdHIpIH1cbiAgICB9XG5cbiAgICAvLyAtLS0gSGVhZGVyIC0tLVxuXG4gICAgLy8vIFNldCB0aGUgaGVhZGVyIGxhYmVsIChzaW5nbGUgY29sdW1uKS5cbiAgICBwdWIgZm4gc2V0X2hlYWRlcl9sYWJlbCgmc2VsZiwgdGV4dDogJnN0cikge1xuICAgICAgICBkZWJ1Z19hc3NlcnQhKCFzZWxmLnB0ci5pc19udWxsKCkpO1xuICAgICAgICBsZXRfY3h4X3N0cmluZyEoY190ZXh0ID0gdGV4dCk7XG4gICAgICAgIHVuc2FmZSB7IGZmaTo6UVRyZWVXaWRnZXRfc2V0SGVhZGVyTGFiZWwoc2VsZi5wdHIsICZjX3RleHQpOyB9XG4gICAgfVxuXG4gICAgLy8vIFNldCBtdWx0aXBsZSBoZWFkZXIgbGFiZWxzLlxuICAgIHB1YiBmbiBzZXRfaGVhZGVyX2xhYmVscygmc2VsZiwgbGFiZWxzOiAmWyZzdHJdKSB7XG4gICAgICAgIGRlYnVnX2Fzc2VydCEoIXNlbGYucHRyLmlzX251bGwoKSk7XG4gICAgICAgIGxldCB2ZWM6IFZlYzxTdHJpbmc+ID0gbGFiZWxzLml0ZXIoKS5tYXAofHN8IHMudG9fc3RyaW5nKCkpLmNvbGxlY3QoKTtcbiAgICAgICAgdW5zYWZlIHsgZmZpOjpRVHJlZVdpZGdldF9zZXRIZWFkZXJMYWJlbHMoc2VsZi5wdHIsIHZlYyk7IH1cbiAgICB9XG5cbiAgICAvLyAtLS0gRXhwYW5kL0NvbGxhcHNlIC0tLVxuXG4gICAgLy8vIEV4cGFuZCBhbGwgaXRlbXMuXG4gICAgcHViIGZuIGV4cGFuZF9hbGwoJnNlbGYpIHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghc2VsZi5wdHIuaXNfbnVsbCgpKTtcbiAgICAgICAgdW5zYWZlIHsgZmZpOjpRVHJlZVdpZGdldF9leHBhbmRBbGwoc2VsZi5wdHIpOyB9XG4gICAgfVxuXG4gICAgLy8vIENvbGxhcHNlIGFsbCBpdGVtcy5cbiAgICBwdWIgZm4gY29sbGFwc2VfYWxsKCZzZWxmKSB7XG4gICAgICAgIGRlYnVnX2Fzc2VydCEoIXNlbGYucHRyLmlzX251bGwoKSk7XG4gICAgICAgIHVuc2FmZSB7IGZmaTo6UVRyZWVXaWRnZXRfY29sbGFwc2VBbGwoc2VsZi5wdHIpOyB9XG4gICAgfVxuXG4gICAgLy8vIEV4cGFuZCB0aGUgaXRlbSB3aXRoIHRoZSBnaXZlbiB0ZXh0LlxuICAgIHB1YiBmbiBleHBhbmRfaXRlbSgmc2VsZiwgdGV4dDogJnN0cikge1xuICAgICAgICBkZWJ1Z19hc3NlcnQhKCFzZWxmLnB0ci5pc19udWxsKCkpO1xuICAgICAgICBsZXRfY3h4X3N0cmluZyEoY190ZXh0ID0gdGV4dCk7XG4gICAgICAgIHVuc2FmZSB7IGZmaTo6UVRyZWVXaWRnZXRfZXhwYW5kSXRlbShzZWxmLnB0ciwgJmNfdGV4dCk7IH1cbiAgICB9XG5cbiAgICAvLyAtLS0gQ3VycmVudCBpdGVtIC0tLVxuXG4gICAgLy8vIFNldCB0aGUgY3VycmVudCBpdGVtIGJ5IHRleHQuXG4gICAgcHViIGZuIHNldF9jdXJyZW50X2l0ZW0oJnNlbGYsIHRleHQ6ICZzdHIpIHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghc2VsZi5wdHIuaXNfbnVsbCgpKTtcbiAgICAgICAgbGV0X2N4eF9zdHJpbmchKGNfdGV4dCA9IHRleHQpO1xuICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X3NldEN1cnJlbnRJdGVtKHNlbGYucHRyLCAmY190ZXh0KTsgfVxuICAgIH1cblxuICAgIC8vLyBHZXQgdGhlIG51bWJlciBvZiB0b3AtbGV2ZWwgaXRlbXMuXG4gICAgcHViIGZuIHRvcF9sZXZlbF9pdGVtX2NvdW50KCZzZWxmKSAtPiBpMzIge1xuICAgICAgICBkZWJ1Z19hc3NlcnQhKCFzZWxmLnB0ci5pc19udWxsKCkpO1xuICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X3RvcExldmVsSXRlbUNvdW50KHNlbGYucHRyKSB9XG4gICAgfVxuXG4gICAgLy8gLS0tIFNpZ25hbCBjb25uZWN0aW9ucyAocnVudGltZSkgLS0tXG5cbiAgICAvLy8gQ29ubmVjdCBjYWxsYmFjayB3aGVuIGFuIGl0ZW0gaXMgY2xpY2tlZC4gUmVjZWl2ZXMgdGhlIGl0ZW0gdGV4dC5cbiAgICBwdWIgZm4gY29ubmVjdF9pdGVtX2NsaWNrZWQ8RjogRm4oU3RyaW5nKT4oJm11dCBzZWxmLCBmOiBGKSB7XG4gICAgICAgIGRlYnVnX2Fzc2VydCEoIXNlbGYucHRyLmlzX251bGwoKSk7XG4gICAgICAgIGxldCBoYW5kbGUgPSBzaWduYWw6OmxlYWtfc3RyaW5nKGYpO1xuICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X29uSXRlbUNsaWNrZWQoc2VsZi5wdHIsIGhhbmRsZS50b2tlbik7IH1cbiAgICAgICAgc2VsZi5zaWduYWxfaGFuZGxlcy5wdXNoKGhhbmRsZSk7XG4gICAgfVxuXG4gICAgLy8vIENvbm5lY3QgY2FsbGJhY2sgd2hlbiBhbiBpdGVtIGlzIGRvdWJsZS1jbGlja2VkLiBSZWNlaXZlcyB0aGUgaXRlbSB0ZXh0LlxuICAgIHB1YiBmbiBjb25uZWN0X2l0ZW1fZG91YmxlX2NsaWNrZWQ8RjogRm4oU3RyaW5nKT4oJm11dCBzZWxmLCBmOiBGKSB7XG4gICAgICAgIGRlYnVnX2Fzc2VydCEoIXNlbGYucHRyLmlzX251bGwoKSk7XG4gICAgICAgIGxldCBoYW5kbGUgPSBzaWduYWw6OmxlYWtfc3RyaW5nKGYpO1xuICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X29uSXRlbURvdWJsZUNsaWNrZWQoc2VsZi5wdHIsIGhhbmRsZS50b2tlbik7IH1cbiAgICAgICAgc2VsZi5zaWduYWxfaGFuZGxlcy5wdXNoKGhhbmRsZSk7XG4gICAgfVxuXG4gICAgLy8vIENvbm5lY3QgY2FsbGJhY2sgd2hlbiBhbiBpdGVtIGlzIGV4cGFuZGVkLiBSZWNlaXZlcyB0aGUgaXRlbSB0ZXh0LlxuICAgIHB1YiBmbiBjb25uZWN0X2l0ZW1fZXhwYW5kZWQ8RjogRm4oU3RyaW5nKT4oJm11dCBzZWxmLCBmOiBGKSB7XG4gICAgICAgIGRlYnVnX2Fzc2VydCEoIXNlbGYucHRyLmlzX251bGwoKSk7XG4gICAgICAgIGxldCBoYW5kbGUgPSBzaWduYWw6OmxlYWtfc3RyaW5nKGYpO1xuICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X29uSXRlbUV4cGFuZGVkKHNlbGYucHRyLCBoYW5kbGUudG9rZW4pOyB9XG4gICAgICAgIHNlbGYuc2lnbmFsX2hhbmRsZXMucHVzaChoYW5kbGUpO1xuICAgIH1cblxuICAgIC8vLyBDb25uZWN0IGNhbGxiYWNrIHdoZW4gYW4gaXRlbSBpcyBjb2xsYXBzZWQuIFJlY2VpdmVzIHRoZSBpdGVtIHRleHQuXG4gICAgcHViIGZuIGNvbm5lY3RfaXRlbV9jb2xsYXBzZWQ8RjogRm4oU3RyaW5nKT4oJm11dCBzZWxmLCBmOiBGKSB7XG4gICAgICAgIGRlYnVnX2Fzc2VydCEoIXNlbGYucHRyLmlzX251bGwoKSk7XG4gICAgICAgIGxldCBoYW5kbGUgPSBzaWduYWw6OmxlYWtfc3RyaW5nKGYpO1xuICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X29uSXRlbUNvbGxhcHNlZChzZWxmLnB0ciwgaGFuZGxlLnRva2VuKTsgfVxuICAgICAgICBzZWxmLnNpZ25hbF9oYW5kbGVzLnB1c2goaGFuZGxlKTtcbiAgICB9XG5cbiAgICAvLy8gQ29ubmVjdCBjYWxsYmFjayB3aGVuIHRoZSBjdXJyZW50IGl0ZW0gY2hhbmdlcy4gUmVjZWl2ZXMgdGhlIGl0ZW0gdGV4dC5cbiAgICBwdWIgZm4gY29ubmVjdF9jdXJyZW50X2l0ZW1fY2hhbmdlZDxGOiBGbihTdHJpbmcpPigmbXV0IHNlbGYsIGY6IEYpIHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghc2VsZi5wdHIuaXNfbnVsbCgpKTtcbiAgICAgICAgbGV0IGhhbmRsZSA9IHNpZ25hbDo6bGVha19zdHJpbmcoZik7XG4gICAgICAgIHVuc2FmZSB7IGZmaTo6UVRyZWVXaWRnZXRfb25DdXJyZW50SXRlbUNoYW5nZWQoc2VsZi5wdHIsIGhhbmRsZS50b2tlbik7IH1cbiAgICAgICAgc2VsZi5zaWduYWxfaGFuZGxlcy5wdXNoKGhhbmRsZSk7XG4gICAgfVxuXG4gICAgI1tkb2MoaGlkZGVuKV1cbiAgICBwdWIoY3JhdGUpIGZuIGZyb21fcmF3KHB0cjogKm11dCBmZmk6OlFUcmVlV2lkZ2V0KSAtPiBTZWxmIHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghcHRyLmlzX251bGwoKSk7XG4gICAgICAgIFNlbGYgeyBwdHIsIGhhc19wYXJlbnQ6IHRydWUsIHNpZ25hbF9oYW5kbGVzOiBWZWM6Om5ldygpIH1cbiAgICB9XG59XG5cbmltcGwgQXNXaWRnZXQgZm9yIFRyZWVXaWRnZXQge1xuICAgIGZuIHdpZGdldF9wdHIoJnNlbGYpIC0+ICptdXQgZmZpOjpRV2lkZ2V0IHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghc2VsZi5wdHIuaXNfbnVsbCgpKTtcbiAgICAgICAgdW5zYWZlIHsgZmZpOjp0b1FXaWRnZXRfUVRyZWVXaWRnZXQoc2VsZi5wdHIpIH1cbiAgICB9XG4gICAgZm4gc2V0X2hhc19wYXJlbnQoJm11dCBzZWxmKSB7IHNlbGYuaGFzX3BhcmVudCA9IHRydWU7IH1cbn1cblxuaW1wbCBEcm9wIGZvciBUcmVlV2lkZ2V0IHtcbiAgICBmbiBkcm9wKCZtdXQgc2VsZikge1xuICAgICAgICBpZiBzZWxmLnB0ci5pc19udWxsKCkgeyByZXR1cm47IH1cbiAgICAgICAgaWYgc2VsZi5oYXNfcGFyZW50IHtcbiAgICAgICAgICAgIHVuc2FmZSB7IGZmaTo6UVdpZGdldF9kaXNjb25uZWN0QWxsKHNlbGYucHRyIGFzICptdXQgXyk7IH1cbiAgICAgICAgICAgIGZvciBoIGluIHNlbGYuc2lnbmFsX2hhbmRsZXMuZHJhaW4oLi4pIHsgdW5zYWZlIHsgaC5yZWNsYWltKCk7IH0gfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9yIGggaW4gc2VsZi5zaWduYWxfaGFuZGxlcy5kcmFpbiguLikgeyB1bnNhZmUgeyBoLnJlY2xhaW0oKTsgfSB9XG4gICAgICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X2RlbGV0ZShzZWxmLnB0cikgfTtcbiAgICAgICAgfVxuICAgICAgICBzZWxmLnB0ciA9IHN0ZDo6cHRyOjpudWxsX211dCgpO1xuICAgIH1cbn1cblxuLy8vIEJ1aWxkZXIgZm9yIFtgVHJlZVdpZGdldGBdLlxucHViIHN0cnVjdCBCdWlsZGVyIHtcbiAgICBvbl9pdGVtX2NsaWNrZWQ6IE9wdGlvbjxCb3g8ZHluIEZuKFN0cmluZyk+PixcbiAgICBvbl9pdGVtX2RvdWJsZV9jbGlja2VkOiBPcHRpb248Qm94PGR5biBGbihTdHJpbmcpPj4sXG4gICAgb25faXRlbV9leHBhbmRlZDogT3B0aW9uPEJveDxkeW4gRm4oU3RyaW5nKT4+LFxuICAgIG9uX2l0ZW1fY29sbGFwc2VkOiBPcHRpb248Qm94PGR5biBGbihTdHJpbmcpPj4sXG4gICAgb25fY3VycmVudF9pdGVtX2NoYW5nZWQ6IE9wdGlvbjxCb3g8ZHluIEZuKFN0cmluZyk+PixcbiAgICBwYXJlbnQ6IE9wdGlvbjwqbXV0IGZmaTo6UVdpZGdldD4sXG59XG5cbmltcGwgQnVpbGRlciB7XG4gICAgZm4gbmV3KCkgLT4gU2VsZiB7XG4gICAgICAgIFNlbGYge1xuICAgICAgICAgICAgb25faXRlbV9jbGlja2VkOiBOb25lLFxuICAgICAgICAgICAgb25faXRlbV9kb3VibGVfY2xpY2tlZDogTm9uZSxcbiAgICAgICAgICAgIG9uX2l0ZW1fZXhwYW5kZWQ6IE5vbmUsXG4gICAgICAgICAgICBvbl9pdGVtX2NvbGxhcHNlZDogTm9uZSxcbiAgICAgICAgICAgIG9uX2N1cnJlbnRfaXRlbV9jaGFuZ2VkOiBOb25lLFxuICAgICAgICAgICAgcGFyZW50OiBOb25lLFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8vIENhbGxlZCB3aGVuIGFuIGl0ZW0gaXMgY2xpY2tlZC4gUmVjZWl2ZXMgdGhlIGl0ZW0gdGV4dC5cbiAgICBwdWIgZm4gb25faXRlbV9jbGlja2VkPEY6IEZuKFN0cmluZykgKyAnc3RhdGljPihtdXQgc2VsZiwgZjogRikgLT4gU2VsZiB7XG4gICAgICAgIHNlbGYub25faXRlbV9jbGlja2VkID0gU29tZShCb3g6Om5ldyhmKSk7XG4gICAgICAgIHNlbGZcbiAgICB9XG5cbiAgICAvLy8gQ2FsbGVkIHdoZW4gYW4gaXRlbSBpcyBkb3VibGUtY2xpY2tlZC4gUmVjZWl2ZXMgdGhlIGl0ZW0gdGV4dC5cbiAgICBwdWIgZm4gb25faXRlbV9kb3VibGVfY2xpY2tlZDxGOiBGbihTdHJpbmcpICsgJ3N0YXRpYz4obXV0IHNlbGYsIGY6IEYpIC0+IFNlbGYge1xuICAgICAgICBzZWxmLm9uX2l0ZW1fZG91YmxlX2NsaWNrZWQgPSBTb21lKEJveDo6bmV3KGYpKTtcbiAgICAgICAgc2VsZlxuICAgIH1cblxuICAgIC8vLyBDYWxsZWQgd2hlbiBhbiBpdGVtIGlzIGV4cGFuZGVkLiBSZWNlaXZlcyB0aGUgaXRlbSB0ZXh0LlxuICAgIHB1YiBmbiBvbl9pdGVtX2V4cGFuZGVkPEY6IEZuKFN0cmluZykgKyAnc3RhdGljPihtdXQgc2VsZiwgZjogRikgLT4gU2VsZiB7XG4gICAgICAgIHNlbGYub25faXRlbV9leHBhbmRlZCA9IFNvbWUoQm94OjpuZXcoZikpO1xuICAgICAgICBzZWxmXG4gICAgfVxuXG4gICAgLy8vIENhbGxlZCB3aGVuIGFuIGl0ZW0gaXMgY29sbGFwc2VkLiBSZWNlaXZlcyB0aGUgaXRlbSB0ZXh0LlxuICAgIHB1YiBmbiBvbl9pdGVtX2NvbGxhcHNlZDxGOiBGbihTdHJpbmcpICsgJ3N0YXRpYz4obXV0IHNlbGYsIGY6IEYpIC0+IFNlbGYge1xuICAgICAgICBzZWxmLm9uX2l0ZW1fY29sbGFwc2VkID0gU29tZShCb3g6Om5ldyhmKSk7XG4gICAgICAgIHNlbGZcbiAgICB9XG5cbiAgICAvLy8gQ2FsbGVkIHdoZW4gdGhlIGN1cnJlbnQgaXRlbSBjaGFuZ2VzLiBSZWNlaXZlcyB0aGUgaXRlbSB0ZXh0LlxuICAgIHB1YiBmbiBvbl9jdXJyZW50X2l0ZW1fY2hhbmdlZDxGOiBGbihTdHJpbmcpICsgJ3N0YXRpYz4obXV0IHNlbGYsIGY6IEYpIC0+IFNlbGYge1xuICAgICAgICBzZWxmLm9uX2N1cnJlbnRfaXRlbV9jaGFuZ2VkID0gU29tZShCb3g6Om5ldyhmKSk7XG4gICAgICAgIHNlbGZcbiAgICB9XG5cbiAgICAvLy8gU2V0IHRoZSBwYXJlbnQgd2lkZ2V0LlxuICAgIHB1YiBmbiBwYXJlbnQobXV0IHNlbGYsIHBhcmVudDogJmR5biBBc1dpZGdldCkgLT4gU2VsZiB7XG4gICAgICAgIHNlbGYucGFyZW50ID0gU29tZShwYXJlbnQud2lkZ2V0X3B0cigpKTtcbiAgICAgICAgc2VsZlxuICAgIH1cblxuICAgIC8vLyBDcmVhdGUgdGhlIEMrKyBgUVRyZWVXaWRnZXRgIGFuZCByZXR1cm4gdGhlIFJ1c3Qgd3JhcHBlci5cbiAgICBwdWIgZm4gYnVpbGQoc2VsZikgLT4gVHJlZVdpZGdldCB7XG4gICAgICAgIGxldCBwdHIgPSB1bnNhZmUge1xuICAgICAgICAgICAgZmZpOjpRVHJlZVdpZGdldF9uZXcoc2VsZi5wYXJlbnQudW53cmFwX29yKHN0ZDo6cHRyOjpudWxsX211dCgpKSlcbiAgICAgICAgfTtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghcHRyLmlzX251bGwoKSk7XG4gICAgICAgIGxldCBtdXQgdHcgPSBUcmVlV2lkZ2V0IHtcbiAgICAgICAgICAgIHB0cixcbiAgICAgICAgICAgIGhhc19wYXJlbnQ6IHNlbGYucGFyZW50LmlzX3NvbWUoKSxcbiAgICAgICAgICAgIHNpZ25hbF9oYW5kbGVzOiBWZWM6Om5ldygpLFxuICAgICAgICB9O1xuICAgICAgICBpZiBsZXQgU29tZShmKSA9IHNlbGYub25faXRlbV9jbGlja2VkIHtcbiAgICAgICAgICAgIGxldCBoID0gc2lnbmFsOjpsZWFrX3N0cmluZyhmKTtcbiAgICAgICAgICAgIHVuc2FmZSB7IGZmaTo6UVRyZWVXaWRnZXRfb25JdGVtQ2xpY2tlZChwdHIsIGgudG9rZW4pOyB9XG4gICAgICAgICAgICB0dy5zaWduYWxfaGFuZGxlcy5wdXNoKGgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIGxldCBTb21lKGYpID0gc2VsZi5vbl9pdGVtX2RvdWJsZV9jbGlja2VkIHtcbiAgICAgICAgICAgIGxldCBoID0gc2lnbmFsOjpsZWFrX3N0cmluZyhmKTtcbiAgICAgICAgICAgIHVuc2FmZSB7IGZmaTo6UVRyZWVXaWRnZXRfb25JdGVtRG91YmxlQ2xpY2tlZChwdHIsIGgudG9rZW4pOyB9XG4gICAgICAgICAgICB0dy5zaWduYWxfaGFuZGxlcy5wdXNoKGgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIGxldCBTb21lKGYpID0gc2VsZi5vbl9pdGVtX2V4cGFuZGVkIHtcbiAgICAgICAgICAgIGxldCBoID0gc2lnbmFsOjpsZWFrX3N0cmluZyhmKTtcbiAgICAgICAgICAgIHVuc2FmZSB7IGZmaTo6UVRyZWVXaWRnZXRfb25JdGVtRXhwYW5kZWQocHRyLCBoLnRva2VuKTsgfVxuICAgICAgICAgICAgdHcuc2lnbmFsX2hhbmRsZXMucHVzaChoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiBsZXQgU29tZShmKSA9IHNlbGYub25faXRlbV9jb2xsYXBzZWQge1xuICAgICAgICAgICAgbGV0IGggPSBzaWduYWw6OmxlYWtfc3RyaW5nKGYpO1xuICAgICAgICAgICAgdW5zYWZlIHsgZmZpOjpRVHJlZVdpZGdldF9vbkl0ZW1Db2xsYXBzZWQocHRyLCBoLnRva2VuKTsgfVxuICAgICAgICAgICAgdHcuc2lnbmFsX2hhbmRsZXMucHVzaChoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiBsZXQgU29tZShmKSA9IHNlbGYub25fY3VycmVudF9pdGVtX2NoYW5nZWQge1xuICAgICAgICAgICAgbGV0IGggPSBzaWduYWw6OmxlYWtfc3RyaW5nKGYpO1xuICAgICAgICAgICAgdW5zYWZlIHsgZmZpOjpRVHJlZVdpZGdldF9vbkN1cnJlbnRJdGVtQ2hhbmdlZChwdHIsIGgudG9rZW4pOyB9XG4gICAgICAgICAgICB0dy5zaWduYWxfaGFuZGxlcy5wdXNoKGgpO1xuICAgICAgICB9XG4gICAgICAgIHR3XG4gICAgfVxufVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NTQwNjEwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYjNlNWJlMWYiLCJwYXJlbnRJZCI6IjNhYjdlNTE5IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNTo0MC42MTBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0RUNTdleTR2d0tHSzJhS0hRcXk4aW1qcXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVkNDcyMTQ4MTkxYmIxZjdiOTIxZDEwZjA2ZSIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii8vISBTdGF0aWMgY29udmVuaWVuY2UgZnVuY3Rpb25zIGZvciBpbnB1dCBkaWFsb2dzLlxuLy8hXG4vLyEgV3JhcHMgc3RhdGljIG1ldGhvZHMgb25cbi8vISBbYFFJbnB1dERpYWxvZ2BdKGh0dHBzOi8vZG9jLnF0LmlvL3F0LTYvcWlucHV0ZGlhbG9nLmh0bWwpLlxuLy8hXG4vLyEgIyBOb3RlXG4vLyFcbi8vISBUaGVzZSBhcmUgcHVyZSBzdGF0aWMgZnVuY3Rpb25zIOKAlCB0aGVyZSBpcyBubyBzdHJ1Y3Qgb3IgYnVpbGRlciBwYXR0ZXJuLlxuXG51c2UgY3h4OjpsZXRfY3h4X3N0cmluZztcblxudXNlIGNyYXRlOjpmZmk7XG51c2UgY3JhdGU6OndpZGdldDo6QXNXaWRnZXQ7XG5cbi8vLyBTaG93IGEgbW9kYWwgZGlhbG9nIGFza2luZyB0aGUgdXNlciB0byBlbnRlciBhIHN0cmluZy5cbi8vL1xuLy8vIFJldHVybnMgdGhlIGVudGVyZWQgdGV4dCwgb3IgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSB1c2VyIGNhbmNlbGxlZC5cbnB1YiBmbiBnZXRfdGV4dChwYXJlbnQ6IE9wdGlvbjwmZHluIEFzV2lkZ2V0PiwgdGl0bGU6ICZzdHIsIGxhYmVsOiAmc3RyLCBkZWZhdWx0X3RleHQ6ICZzdHIpIC0+IFN0cmluZyB7XG4gICAgbGV0IHBhcmVudF9wdHIgPSBwYXJlbnQubWFwKHxwfCBwLndpZGdldF9wdHIoKSkudW53cmFwX29yKHN0ZDo6cHRyOjpudWxsX211dCgpKTtcbiAgICBsZXRfY3h4X3N0cmluZyEoY190aXRsZSA9IHRpdGxlKTtcbiAgICBsZXRfY3h4X3N0cmluZyEoY19sYWJlbCA9IGxhYmVsKTtcbiAgICBsZXRfY3h4X3N0cmluZyEoY19kZWZhdWx0ID0gZGVmYXVsdF90ZXh0KTtcbiAgICB1bnNhZmUgeyBmZmk6OlFJbnB1dERpYWxvZ19nZXRUZXh0KHBhcmVudF9wdHIsICZjX3RpdGxlLCAmY19sYWJlbCwgJmNfZGVmYXVsdCkgfVxufVxuXG4vLy8gU2hvdyBhIG1vZGFsIGRpYWxvZyBhc2tpbmcgdGhlIHVzZXIgdG8gZW50ZXIgYW4gaW50ZWdlci5cbi8vL1xuLy8vIFJldHVybnMgYDBgIGlmIHRoZSB1c2VyIGNhbmNlbGxlZC5cbnB1YiBmbiBnZXRfaW50KFxuICAgIHBhcmVudDogT3B0aW9uPCZkeW4gQXNXaWRnZXQ+LFxuICAgIHRpdGxlOiAmc3RyLFxuICAgIGxhYmVsOiAmc3RyLFxuICAgIHZhbHVlOiBpMzIsXG4gICAgbWluOiBpMzIsXG4gICAgbWF4OiBpMzIsXG4gICAgc3RlcDogaTMyLFxuKSAtPiBpMzIge1xuICAgIGxldCBwYXJlbnRfcHRyID0gcGFyZW50Lm1hcCh8cHwgcC53aWRnZXRfcHRyKCkpLnVud3JhcF9vcihzdGQ6OnB0cjo6bnVsbF9tdXQoKSk7XG4gICAgbGV0X2N4eF9zdHJpbmchKGNfdGl0bGUgPSB0aXRsZSk7XG4gICAgbGV0X2N4eF9zdHJpbmchKGNfbGFiZWwgPSBsYWJlbCk7XG4gICAgdW5zYWZlIHsgZmZpOjpRSW5wdXREaWFsb2dfZ2V0SW50KHBhcmVudF9wdHIsICZjX3RpdGxlLCAmY19sYWJlbCwgdmFsdWUsIG1pbiwgbWF4LCBzdGVwKSB9XG59XG5cbi8vLyBTaG93IGEgbW9kYWwgZGlhbG9nIGFza2luZyB0aGUgdXNlciB0byBlbnRlciBhIGZsb2F0aW5nLXBvaW50IG51bWJlci5cbi8vL1xuLy8vIFJldHVybnMgYDAuMGAgaWYgdGhlIHVzZXIgY2FuY2VsbGVkLlxucHViIGZuIGdldF9kb3VibGUoXG4gICAgcGFyZW50OiBPcHRpb248JmR5biBBc1dpZGdldD4sXG4gICAgdGl0bGU6ICZzdHIsXG4gICAgbGFiZWw6ICZzdHIsXG4gICAgdmFsdWU6IGY2NCxcbiAgICBtaW46IGY2NCxcbiAgICBtYXg6IGY2NCxcbiAgICBkZWNpbWFsczogaTMyLFxuKSAtPiBmNjQge1xuICAgIGxldCBwYXJlbnRfcHRyID0gcGFyZW50Lm1hcCh8cHwgcC53aWRnZXRfcHRyKCkpLnVud3JhcF9vcihzdGQ6OnB0cjo6bnVsbF9tdXQoKSk7XG4gICAgbGV0X2N4eF9zdHJpbmchKGNfdGl0bGUgPSB0aXRsZSk7XG4gICAgbGV0X2N4eF9zdHJpbmchKGNfbGFiZWwgPSBsYWJlbCk7XG4gICAgdW5zYWZlIHsgZmZpOjpRSW5wdXREaWFsb2dfZ2V0RG91YmxlKHBhcmVudF9wdHIsICZjX3RpdGxlLCAmY19sYWJlbCwgdmFsdWUsIG1pbiwgbWF4LCBkZWNpbWFscykgfVxufVxuXG4vLy8gU2hvdyBhIG1vZGFsIGRpYWxvZyBhc2tpbmcgdGhlIHVzZXIgdG8gcGljayBhbiBpdGVtIGZyb20gYSBsaXN0LlxuLy8vXG4vLy8gUmV0dXJucyB0aGUgc2VsZWN0ZWQgaXRlbSB0ZXh0LCBvciBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlIHVzZXIgY2FuY2VsbGVkLlxucHViIGZuIGdldF9pdGVtKFxuICAgIHBhcmVudDogT3B0aW9uPCZkeW4gQXNXaWRnZXQ+LFxuICAgIHRpdGxlOiAmc3RyLFxuICAgIGxhYmVsOiAmc3RyLFxuICAgIGl0ZW1zOiAmWyZzdHJdLFxuICAgIGN1cnJlbnQ6IGkzMixcbiAgICBlZGl0YWJsZTogYm9vbCxcbikgLT4gU3RyaW5nIHtcbiAgICBsZXQgcGFyZW50X3B0ciA9IHBhcmVudC5tYXAofHB8IHAud2lkZ2V0X3B0cigpKS51bndyYXBfb3Ioc3RkOjpwdHI6Om51bGxfbXV0KCkpO1xuICAgIGxldF9jeHhfc3RyaW5nIShjX3RpdGxlID0gdGl0bGUpO1xuICAgIGxldF9jeHhfc3RyaW5nIShjX2xhYmVsID0gbGFiZWwpO1xuICAgIGxldCBpdGVtc192ZWM6IFZlYzxTdHJpbmc+ID0gaXRlbXMuaXRlcigpLm1hcCh8c3wgcy50b19zdHJpbmcoKSkuY29sbGVjdCgpO1xuICAgIHVuc2FmZSB7IGZmaTo6UUlucHV0RGlhbG9nX2dldEl0ZW0ocGFyZW50X3B0ciwgJmNfdGl0bGUsICZjX2xhYmVsLCBpdGVtc192ZWMsIGN1cnJlbnQsIGVkaXRhYmxlKSB9XG59XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1NDA2MTB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxYjA0ZmIxYyIsInBhcmVudElkIjoiYjNlNWJlMWYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA1OjQwLjYxMFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfamxHNElLand2U3NOVzlTSE5DWmg0dWxofGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWQ0NzIxODgxOTE4Y2VlMzBjNzcxODc0YjljIiwidG9vbE5hbWUiOiJyZWFkIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiLy8hIEZpbGUgZGlhbG9nIGZvciBvcGVuaW5nIGFuZCBzYXZpbmcgZmlsZXMuXG4vLyFcbi8vISBXcmFwcyBbYFFGaWxlRGlhbG9nYF0oaHR0cHM6Ly9kb2MucXQuaW8vcXQtNi9xZmlsZWRpYWxvZy5odG1sKS5cblxudXNlIGN4eDo6bGV0X2N4eF9zdHJpbmc7XG51c2UgY3JhdGU6OmZmaTtcbnVzZSBjcmF0ZTo6d2lkZ2V0OjpBc1dpZGdldDtcblxuLy8vIEZpbGUgZGlhbG9nIGNvbnZlbmllbmNlIGZ1bmN0aW9ucy5cbi8vL1xuLy8vIFByb3ZpZGVzIHN0YXRpYyBtZXRob2RzIGZvciBjb21tb24gZmlsZSBzZWxlY3Rpb24gb3BlcmF0aW9ucy5cbi8vL1xuLy8vICMgRXhhbXBsZVxuLy8vXG4vLy8gYGBgbm9fcnVuXG4vLy8gdXNlIHF0cnM6OkZpbGVEaWFsb2c7XG4vLy9cbi8vLyAvLyBPcGVuIGEgZmlsZVxuLy8vIGlmIGxldCBTb21lKHBhdGgpID0gRmlsZURpYWxvZzo6b3Blbl9maWxlKE5vbmUsIFwiT3BlbiBJbWFnZVwiLCBcIlwiLCBcIkltYWdlcyAoKi5wbmcgKi5qcGcpXCIpIHtcbi8vLyAgICAgcHJpbnRsbiEoXCJTZWxlY3RlZDoge31cIiwgcGF0aCk7XG4vLy8gfVxuLy8vXG4vLy8gLy8gU2F2ZSBhIGZpbGVcbi8vLyBpZiBsZXQgU29tZShwYXRoKSA9IEZpbGVEaWFsb2c6OnNhdmVfZmlsZShOb25lLCBcIlNhdmUgRG9jdW1lbnRcIiwgXCJcIiwgXCJUZXh0IEZpbGVzICgqLnR4dClcIikge1xuLy8vICAgICBwcmludGxuIShcIlNhdmUgdG86IHt9XCIsIHBhdGgpO1xuLy8vIH1cbi8vL1xuLy8vIC8vIFNlbGVjdCBhIGRpcmVjdG9yeVxuLy8vIGlmIGxldCBTb21lKHBhdGgpID0gRmlsZURpYWxvZzo6c2VsZWN0X2RpcmVjdG9yeShOb25lLCBcIlNlbGVjdCBGb2xkZXJcIiwgXCJcIikge1xuLy8vICAgICBwcmludGxuIShcIlNlbGVjdGVkIGRpcjoge31cIiwgcGF0aCk7XG4vLy8gfVxuLy8vIGBgYFxucHViIHN0cnVjdCBGaWxlRGlhbG9nO1xuXG5pbXBsIEZpbGVEaWFsb2cge1xuICAgIC8vLyBPcGVuIGEgc2luZ2xlIGZpbGUuXG4gICAgLy8vXG4gICAgLy8vICMgUGFyYW1ldGVyc1xuICAgIC8vL1xuICAgIC8vLyAqIGBwYXJlbnRgIOKAlCBPcHRpb25hbCBwYXJlbnQgd2lkZ2V0XG4gICAgLy8vICogYGNhcHRpb25gIOKAlCBEaWFsb2cgdGl0bGVcbiAgICAvLy8gKiBgZGlyYCDigJQgU3RhcnRpbmcgZGlyZWN0b3J5IChlbXB0eSBmb3IgZGVmYXVsdClcbiAgICAvLy8gKiBgZmlsdGVyYCDigJQgRmlsZSBmaWx0ZXIsIGUuZy4gYFwiSW1hZ2VzICgqLnBuZyAqLmpwZylcImBcbiAgICAvLy9cbiAgICAvLy8gIyBSZXR1cm5zXG4gICAgLy8vXG4gICAgLy8vIGBTb21lKHBhdGgpYCBpZiBhIGZpbGUgd2FzIHNlbGVjdGVkLCBgTm9uZWAgaWYgY2FuY2VsbGVkLlxuICAgIHB1YiBmbiBvcGVuX2ZpbGUoXG4gICAgICAgIHBhcmVudDogT3B0aW9uPCZkeW4gQXNXaWRnZXQ+LFxuICAgICAgICBjYXB0aW9uOiAmc3RyLFxuICAgICAgICBkaXI6ICZzdHIsXG4gICAgICAgIGZpbHRlcjogJnN0cixcbiAgICApIC0+IE9wdGlvbjxTdHJpbmc+IHtcbiAgICAgICAgbGV0IHBhcmVudF9wdHIgPSBwYXJlbnQubWFwKHxwfCBwLndpZGdldF9wdHIoKSkudW53cmFwX29yKHN0ZDo6cHRyOjpudWxsX211dCgpKTtcbiAgICAgICAgbGV0X2N4eF9zdHJpbmchKGNfY2FwdGlvbiA9IGNhcHRpb24pO1xuICAgICAgICBsZXRfY3h4X3N0cmluZyEoY19kaXIgPSBkaXIpO1xuICAgICAgICBsZXRfY3h4X3N0cmluZyEoY19maWx0ZXIgPSBmaWx0ZXIpO1xuXG4gICAgICAgIGxldCByZXN1bHQgPSB1bnNhZmUge1xuICAgICAgICAgICAgZmZpOjpRRmlsZURpYWxvZ19nZXRPcGVuRmlsZU5hbWUoXG4gICAgICAgICAgICAgICAgcGFyZW50X3B0cixcbiAgICAgICAgICAgICAgICAmY19jYXB0aW9uLFxuICAgICAgICAgICAgICAgICZjX2RpcixcbiAgICAgICAgICAgICAgICAmY19maWx0ZXIsXG4gICAgICAgICAgICApXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgcmVzdWx0LmlzX2VtcHR5KCkgeyBOb25lIH0gZWxzZSB7IFNvbWUocmVzdWx0KSB9XG4gICAgfVxuXG4gICAgLy8vIE9wZW4gbXVsdGlwbGUgZmlsZXMuXG4gICAgLy8vXG4gICAgLy8vICMgUGFyYW1ldGVyc1xuICAgIC8vL1xuICAgIC8vLyAqIGBwYXJlbnRgIOKAlCBPcHRpb25hbCBwYXJlbnQgd2lkZ2V0XG4gICAgLy8vICogYGNhcHRpb25gIOKAlCBEaWFsb2cgdGl0bGVcbiAgICAvLy8gKiBgZGlyYCDigJQgU3RhcnRpbmcgZGlyZWN0b3J5IChlbXB0eSBmb3IgZGVmYXVsdClcbiAgICAvLy8gKiBgZmlsdGVyYCDigJQgRmlsZSBmaWx0ZXIsIGUuZy4gYFwiSW1hZ2VzICgqLnBuZyAqLmpwZylcImBcbiAgICAvLy9cbiAgICAvLy8gIyBSZXR1cm5zXG4gICAgLy8vXG4gICAgLy8vIEEgdmVjdG9yIG9mIHNlbGVjdGVkIGZpbGUgcGF0aHMsIGVtcHR5IGlmIGNhbmNlbGxlZC5cbiAgICBwdWIgZm4gb3Blbl9maWxlcyhcbiAgICAgICAgcGFyZW50OiBPcHRpb248JmR5biBBc1dpZGdldD4sXG4gICAgICAgIGNhcHRpb246ICZzdHIsXG4gICAgICAgIGRpcjogJnN0cixcbiAgICAgICAgZmlsdGVyOiAmc3RyLFxuICAgICkgLT4gVmVjPFN0cmluZz4ge1xuICAgICAgICBsZXQgcGFyZW50X3B0ciA9IHBhcmVudC5tYXAofHB8IHAud2lkZ2V0X3B0cigpKS51bndyYXBfb3Ioc3RkOjpwdHI6Om51bGxfbXV0KCkpO1xuICAgICAgICBsZXRfY3h4X3N0cmluZyEoY19jYXB0aW9uID0gY2FwdGlvbik7XG4gICAgICAgIGxldF9jeHhfc3RyaW5nIShjX2RpciA9IGRpcik7XG4gICAgICAgIGxldF9jeHhfc3RyaW5nIShjX2ZpbHRlciA9IGZpbHRlcik7XG5cbiAgICAgICAgdW5zYWZlIHtcbiAgICAgICAgICAgIGZmaTo6UUZpbGVEaWFsb2dfZ2V0T3BlbkZpbGVOYW1lcyhcbiAgICAgICAgICAgICAgICBwYXJlbnRfcHRyLFxuICAgICAgICAgICAgICAgICZjX2NhcHRpb24sXG4gICAgICAgICAgICAgICAgJmNfZGlyLFxuICAgICAgICAgICAgICAgICZjX2ZpbHRlcixcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vLyBTYXZlIGEgZmlsZS5cbiAgICAvLy9cbiAgICAvLy8gIyBQYXJhbWV0ZXJzXG4gICAgLy8vXG4gICAgLy8vICogYHBhcmVudGAg4oCUIE9wdGlvbmFsIHBhcmVudCB3aWRnZXRcbiAgICAvLy8gKiBgY2FwdGlvbmAg4oCUIERpYWxvZyB0aXRsZVxuICAgIC8vLyAqIGBkaXJgIOKAlCBTdGFydGluZyBkaXJlY3RvcnkgKGVtcHR5IGZvciBkZWZhdWx0KVxuICAgIC8vLyAqIGBmaWx0ZXJgIOKAlCBGaWxlIGZpbHRlciwgZS5nLiBgXCJUZXh0IEZpbGVzICgqLnR4dClcImBcbiAgICAvLy9cbiAgICAvLy8gIyBSZXR1cm5zXG4gICAgLy8vXG4gICAgLy8vIGBTb21lKHBhdGgpYCBpZiBhIGZpbGUgd2FzIHNlbGVjdGVkLCBgTm9uZWAgaWYgY2FuY2VsbGVkLlxuICAgIHB1YiBmbiBzYXZlX2ZpbGUoXG4gICAgICAgIHBhcmVudDogT3B0aW9uPCZkeW4gQXNXaWRnZXQ+LFxuICAgICAgICBjYXB0aW9uOiAmc3RyLFxuICAgICAgICBkaXI6ICZzdHIsXG4gICAgICAgIGZpbHRlcjogJnN0cixcbiAgICApIC0+IE9wdGlvbjxTdHJpbmc+IHtcbiAgICAgICAgbGV0IHBhcmVudF9wdHIgPSBwYXJlbnQubWFwKHxwfCBwLndpZGdldF9wdHIoKSkudW53cmFwX29yKHN0ZDo6cHRyOjpudWxsX211dCgpKTtcbiAgICAgICAgbGV0X2N4eF9zdHJpbmchKGNfY2FwdGlvbiA9IGNhcHRpb24pO1xuICAgICAgICBsZXRfY3h4X3N0cmluZyEoY19kaXIgPSBkaXIpO1xuICAgICAgICBsZXRfY3h4X3N0cmluZyEoY19maWx0ZXIgPSBmaWx0ZXIpO1xuXG4gICAgICAgIGxldCByZXN1bHQgPSB1bnNhZmUge1xuICAgICAgICAgICAgZmZpOjpRRmlsZURpYWxvZ19nZXRTYXZlRmlsZU5hbWUoXG4gICAgICAgICAgICAgICAgcGFyZW50X3B0cixcbiAgICAgICAgICAgICAgICAmY19jYXB0aW9uLFxuICAgICAgICAgICAgICAgICZjX2RpcixcbiAgICAgICAgICAgICAgICAmY19maWx0ZXIsXG4gICAgICAgICAgICApXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgcmVzdWx0LmlzX2VtcHR5KCkgeyBOb25lIH0gZWxzZSB7IFNvbWUocmVzdWx0KSB9XG4gICAgfVxuXG4gICAgLy8vIFNlbGVjdCBhbiBleGlzdGluZyBkaXJlY3RvcnkuXG4gICAgLy8vXG4gICAgLy8vICMgUGFyYW1ldGVyc1xuICAgIC8vL1xuICAgIC8vLyAqIGBwYXJlbnRgIOKAlCBPcHRpb25hbCBwYXJlbnQgd2lkZ2V0XG4gICAgLy8vICogYGNhcHRpb25gIOKAlCBEaWFsb2cgdGl0bGVcbiAgICAvLy8gKiBgZGlyYCDigJQgU3RhcnRpbmcgZGlyZWN0b3J5IChlbXB0eSBmb3IgZGVmYXVsdClcbiAgICAvLy9cbiAgICAvLy8gIyBSZXR1cm5zXG4gICAgLy8vXG4gICAgLy8vIGBTb21lKHBhdGgpYCBpZiBhIGRpcmVjdG9yeSB3YXMgc2VsZWN0ZWQsIGBOb25lYCBpZiBjYW5jZWxsZWQuXG4gICAgcHViIGZuIHNlbGVjdF9kaXJlY3RvcnkoXG4gICAgICAgIHBhcmVudDogT3B0aW9uPCZkeW4gQXNXaWRnZXQ+LFxuICAgICAgICBjYXB0aW9uOiAmc3RyLFxuICAgICAgICBkaXI6ICZzdHIsXG4gICAgKSAtPiBPcHRpb248U3RyaW5nPiB7XG4gICAgICAgIGxldCBwYXJlbnRfcHRyID0gcGFyZW50Lm1hcCh8cHwgcC53aWRnZXRfcHRyKCkpLnVud3JhcF9vcihzdGQ6OnB0cjo6bnVsbF9tdXQoKSk7XG4gICAgICAgIGxldF9jeHhfc3RyaW5nIShjX2NhcHRpb24gPSBjYXB0aW9uKTtcbiAgICAgICAgbGV0X2N4eF9zdHJpbmchKGNfZGlyID0gZGlyKTtcblxuICAgICAgICBsZXQgcmVzdWx0ID0gdW5zYWZlIHtcbiAgICAgICAgICAgIGZmaTo6UUZpbGVEaWFsb2dfZ2V0RXhpc3RpbmdEaXJlY3RvcnkoXG4gICAgICAgICAgICAgICAgcGFyZW50X3B0cixcbiAgICAgICAgICAgICAgICAmY19jYXB0aW9uLFxuICAgICAgICAgICAgICAgICZjX2RpcixcbiAgICAgICAgICAgIClcbiAgICAgICAgfTtcblxuICAgICAgICBpZiByZXN1bHQuaXNfZW1wdHkoKSB7IE5vbmUgfSBlbHNlIHsgU29tZShyZXN1bHQpIH1cbiAgICB9XG59In1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NTQwNjEwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZTcwYjFiZjIiLCJwYXJlbnRJZCI6IjFiMDRmYjFjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNTo0MC42MTFaIiwibWVzc2FnZSI6eyJyb2xlIjoidXNlciIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6InVzZSBwb3B1bGFyIGxpYnJhcmllcywgbm90IHNvbWUgbGlicmFyeSB3aXRoIG9uZSBnaXRodWIgc3RhciJ9XSwidGltZXN0YW1wIjoxNzg0OTk1NTM0MzE3fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiODkxOGY2ODgiLCJwYXJlbnRJZCI6ImU3MGIxYmYyIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNjoxMC40MjBaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkFzc2Vzc2luZyBSdXN0IFF0NiBXaWRnZXRzIGxpbWl0YXRpb25zKipcblxuKipQbGFubmluZyB0byByZXN0b3JlIHByaW9yIEMrKyBzdGF0ZSoqXG5cbioqQ29uc2lkZXJpbmcgcmVzdG9yaW5nIGZ1bmN0aW9uYWwgQysrIHNvdXJjZXMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWQ4N2YwNDgxOTFhOTMzZDBkYzgwNmU4ZjRmXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpON3JPLTdYVEFFeFoyVFQwTTNQbzdlUDVEZkdoVllGUFlkeVYwdVFib0lKY3poZW1NX3Y1ZTg4WG11Z1RVQmlNcGZSUGFyc3JFd0xpaUtXdGR3LUd1elFFamdVZWUzZFZhOWFiVG1uUHF6cElIdWMzRENFTTNrVHVVeVRreEoxcWd2T29JQVF0MnlrS1kzemc4S3FnRm94aEgyTHR0bWtYS2lRZEZyRF9mRjBad2lVbFdDNTBRZGc5WUhTcGp0WmhOVXRMbVUyQ0o0b2pMMU5fYWt5bzVUbzFvM3B3dlluX3pCb19xY1hMbjdkRk5VY01uQm5JY0J5Qm9LRDJyam9hNmxfRU1KY1I3RnBqVkU5RFh4VTFoeTBHdWRPSkM4OFZTOENXc013Nkt5Q2ZtWU9ncFNDNXFyWFcwd2JTMmVMdWRjT3Ezbl9CY0FwUnE1V3dPdjdwWjZULURCZTZOVzlqTmN0R2QwM3doTm5vWkNRS1JPVDZXYUJBZnVqb1FCekJkTXNlVjV3bWlCSGdrRzZHb01vQmdWZ2ZMY01ydDRJdHRZQ0s4blR0Y3k4ZThMSWhfRzdBd2RCRm10Q0RaT1lRTnRDei1oMEN2NTlicTlJQTRya3lDTjZNMENyWGptZ2o2TTNoWEszWE0wNW96OTJjOVIxcTJHOGNicEcxa0lCRTBSTFZMcUk0S0REbjQxWnhBZFdPRVRZb0R0Mjd4NkNZc3lJak1zZFJYdUl3SWkwQ2thbmhjZEFYWG9oa1FUME1fVXQxeHYtTkFMVDFVRFRRR1JzU3Y2N0ZDYjN6THA4ZkJ1ZXhjZVVoa2ZmTHY3TXk1aHRwQXhqRU1MQ3Q1MHBhZm9rcEpjMHpkQ3ZseVNQVWFkQnN5eENGMkpGTzhLeWdPVFRNVEFRNmpTUWhTVDN3RTlzSERiLWVpYUl3Z1JLVzR6V2RSb2VMdjNzVVRxQWRNM0pSNlROQnZIRDJFYWJCazR2WjBtMFlXQ1dPdVY3TG1LX0o1NjlFU1QxVzhQa3VKdjY4dERPN0NKTERjbjRDNmFsRjA0Y2xkX2hLNXVfMklLVWU0aUYzS3Z2NjZlc0pBWG1fRGVMZVUzYW8yMzVyWUtJVXhWZ2NvcEo1RWdhOFVldV9KQ3J0SG5sWjVQbEE4a1dRMlFUNlBkZERDUmtvSFBjamU5ZE92LTgxT2xDXzBQd2xrXzhGQm0tek1kdTJ5VXdkNVRmLU9oSGstcjl5VndSSk0wVzVQLVVNd0Jsel9EWHloOWE1dUZqOTRaOWRmUmxramkxTk04bkVmSGZhQk0tMGdpRVRibS1VNkJoZklSVzZkXzE5bnQzTndEcVhrOEMydHdrS0lnS0d6SHBCUXlpZXZCTVdnZHlKelN3ZkwxRk1JN0xRRDFBWTdFVnpiQXMtYzZab0N2aHk2aktYZ3B1OEVjSDNyTGxvcmRLa2VDWEZJbTJTRFRITDNaM0Zva05KeTc2emN6cTNnUVVxTHk4UlJHMnh2NWVReHRKaEh2ZGhhSmFIWTBSSlpxQUZpWURaa0RZVlRpZ2hmaDRQalFFWVJ0QmktbzJkY2lzdWt0ZHQ5NnpQYjV5ck41SkZWN1k4RmJUUUxWVTFmS0lIOW96WEVMa3h6b002MFUtcWh1VHNLY0cxX2I1V3pBbjRSYUtYbWwweXhtYkFKZmh1dU5NNjJiV3gwV3piT215MVI5d1FsOTVPUVN1bGpPR2MyTjNkMWkwRmhibl9HbkNIZERhSmJ3WHQ0aXFiWDIwcTJGX2hVdnhnaV92NFJpc25wbWo1UkZLeWY0RUE1TnBBYk9lN0pCMHc4UVBOb1Z0Sk1PV01wWloxV2RZY3pvb3FaZFNFYkFLWWp4M2QzM0YyUGFfbDczS1k0aWdXSXVpZ09OTTUzUG1WcW40WWt3UU96djNzdUdmSzRQYUUwT0VHdzc2d3VTOEFPZmNrODZPdElOWkh3LTlSWmhfdTBBZmRLc1l3YWI0aDhwcXVLNDZ1T3JPdFg1ZUtVeUlXOHpHZ1MtOXhOZjdVM01aNmp0bG5ja19ZZmVRbERCWGlZQVhNdzYyOXFSWElnenhtYWdhMHN0V3pWb1dHU0NmUlNOM0Z4OUdIZXhOMFVHSzM3cXVqbl9yY1NWOS1tR3l6TUxhenBYNmh2OGIxa21TUHVPZFdLYUtvVms0N1lpWTVRX1JGMno0SkNZcnVvMXJJTE55YWJKcml4LWw3MWtTOTlDRFFHb1FOY3d1LWhuNVNQUVhZUFRlY2pmX2FZekpYb1BzT0QyTVpLenBlT01VVENUdC1kdEFLNXhQWkpNdm13SFhvMElwQ25sRDlKSDljVVg0SmRlNmc2ZnFaX1ExYjVFMng0NEt3TVkxXzg5SWpZNUdySFhEajVoYlRyYmZWQl9sQ0xpbEtaT0lDQURGS2hoNTRUOU9Ba1VsdzBlcUxLd1NSYnJZUU5WWUlxVDUzZTZqSlFLT3l6MWJybzUzc0F2Z0pCV292ak9nZVd0dG93LVIyNGdtOHBuSGJLeDIwZjhvVEdtVkNOT2Fjb25Sb2ZnU2o0OWhTZUttRVpOR01JYmhoTjRscWhON1JOVDN2VDlMLUtxa1FDTlJWaXBOREJTOTYwNmdydGM4VWMxMURmNk5qY3Qxb3lXcktZSTBRRGlqNmRUZ0p4eThPMzRINDFHTExHbXlILUYtWkxMZGRHOEI5TzZMV09ETlBuSTd0R3EzRXZFWEVXLTZINHdkY2U3d0VmWFd6RVRyZVI4S0pncEY3Q3NBWklJMHVzX25NZHhkRV9qU011N2RvaFBpbFktajRzUzhhWnFBRTJ2c2NJOVlKWnJMc3lTQlVtcTJlWkNKQ2pKSEFrdWZ1S0FyM2Y4YzNpcU9hcWY5dDRwVkZJR015Wng0VmFxVHk1YVFPRy1FRERJajR0TWhobjFIcEd0UFM4TUxxQ1k5UWhYdzNGVGN5TWlJd2RLdkJHS0xJaVA2aHZ3YXFMVl9yVmlPQWtsbTduR0o3TUZzR1BheFdWb094c0R4MEE0VktNWkdOUWFDd2paUGhHZU5hUFhwOFIwbDlyR2cwd3hTN0duaHloX045clJCUldxcXhtVXRIWUxvYVNCc0hnYjlHcmswRnEyeVpjSXJPM2JxSkIzMmhIUXFIWFU0TDBwYUJjMExMeUZ6d2I1QzQ2M05PdDlkdkVaOVdldUNEU3l3TjV0cEQ2MGtDSThNQWxrM2FEM1l1MXNkRlVrVVdUdjVISVFmSFgzWDdLaF84Ry1XUEZ5bVdMdXYtb1NEcnJYMU1yalJSMXlwNUdXdEstVVU5UFlOTFlaaVlCY1FrLTZsZnVDWG5hblNiWDFXV192bGYtUktTdjQ3NGYyTk16cEpVbTg4dEg2S0FDQUh2U2phckZLMkR2SWdQU21nYTdlR2FoalF0dWV6dnBUT1R1NG8wUHBNdzUxUGFTT3dldnlBeHNhc0tORHE0Q1Exbk02R2Zhejc3NXBESzFfdi16QzJHRS00T0VYUG5fbnBwazlpUi1oMFlUVnNULTVwMWYxb2tqRHEzcGNHcGI4SG40SUpxQ0c3SmpRaktpZVRxN1lnMG1wUTlEdFdrdFlzM0hUdU9taWZTRmxFR0ZxLW4tcm83MnU0Z0F5ZlZqVmRvRjdiNzFMSHJSRjVYT3R4N2E0MjZ1bHBJZ0ZOTnkwa3lqWGZwVURlampLUFJmdmVHY3pTUHBJMUM0NTB4M0Nwc29aZG5JREo1UENjX1dObDF1UW4xTmdGQTdqdUhqNml0Z0pEMUY4bnZkY2hLNER2dlVYSm9pUFdNQXlnbTQwY0hRalpQQ3prWkttNmRQRTduNWZrMDJHWTBieHhWcmNpR3F6QWRTazBaX1QtNF9FSEI2aEU4YWpfRjdfMzlNdzN3d1hjMnRydGdvS2ZDMWs2NlpucGc5VmFsV3dxT1BOXzVnVHo1NDlKMnl4aFVaQ0ZZb3JyQ2lqTjBvaG9qQmdpVnQtczVvamdpdHpzZ3c5VnV0Zkh2SjFsRHo0WnUwZ1IyY1VBd2dsc3U3RFVwRms3TVpMS29qclQwXy1RNlVaSUg3X1VIaDhyMEQtazBnajZWYXp0aTQzdVZjemVnNVN3YzVqdTFZVEFVeVAwM2l5NklzZlZTUFJ2dEs0ajdtZk5nU2R1dnpMUlE0NHJvNEFvNmd6bXI3cWU1bnh2OUl6a1hISGtlOXhRU2FmZ1dMNl91c05iekFFQkdqZEs2TU1TeW8zQWhWYWNkT2RfOUpoRHFxTTc3YkNoZm9CWDVCZEJrVURYb05PdUdFdmZZdmFscVR3NkE3TFc1LTE1dlFLVERPY3hVZmZsWXhOaXI5c3VrY1ZkOUEtMldwVzkzVDNIemx5ckdWR1dvY1E4NkVZVmk2cWJVUnpvREtsa2RIZEpYbzNmdkdNNFRxeHlUZ0JJUDJpNnpaaHd0d3FQWEVqQTlGNXZvUDVHNTRIdnZlMkVLM3lqbUlNUlhFV0c5S04wcXVvZU9JWEV1cF8wTUR2ZFVXRGRhMklFajZWUE13YmVLUG1pR1hLd011NDc3Y0FBTmFuTUxic2w0UTk2cjZhU2VOalVnTWxXS3gzNjJwNV9qVWRnSDNBLTFTX01TNm9abkVKNm1SRTQxZ3hub0pnaEZPQ1ZfUTNaSXNHMkZucXBLY1R4dGRNdDc5ZkFwVko0dlRGR01PelNCeHR3ZWZkSEd4aUd5OC1UYzdmQjFWU2dKMDRKcTcwVUVrTzBtRzdQSm9CazVSR09PN3lRdlpvRDd4YnVkUUYtWjNGRmRKempSZVFObDJERXYtRjlXWjZpMHE3cWU1LXZlTGVRZHczZmdhM05NOHhodnBiZUlRbzZCUG52LVJZWmJTVUFUNUpfQ0Npc2hQdm9aSW1zbURkQ1N5U2ZzdG1uVWhHTWQ3SG1LcTdWVFhsdlJTaWpTaGtSRzkyV3FkekZ2STdvUzZieWNOU3E3V2xTNFg5SU10RURBYV92SGUtUzU3V2ZnZmhfaDlTTTQyZ1FmX2xPbnJLLUhwdlNIc0dnOGgwNmpCWDZSLURZQWlDR3gtOEhiQUlic1lJWVMyMkpDdEdaeVZKSi1YaU1Ydms1ZTlXVDhqX0pmZm5nLWpqQUhYcXlac19KTjlkanhER1FyRzVReC01WkpVY3FyaVlta0NzMW5obTFocDFnM0d5RUZtVUU0VGFxOXpnSTZxUlpXb3hXNHhZOFdMU2I3dFRrWWtRM0FmRktwbGtQQkQtUldJSjlhOXl5bjd5V0tXcXRQcjN4MWZWbGgxTnRZWnRMLThqbGZUbHVjT2pZRHp2MzZRbFYyWEtmdi0zTUVtbERmZGNFV01pajVwZXB0a0pKa1p5LVd3blNcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkFzc2Vzc2luZyBSdXN0IFF0NiBXaWRnZXRzIGxpbWl0YXRpb25zKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIHRvIHJlc3RvcmUgcHJpb3IgQysrIHN0YXRlKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkNvbnNpZGVyaW5nIHJlc3RvcmluZyBmdW5jdGlvbmFsIEMrKyBzb3VyY2VzKipcIn1dfSJ9LHsidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIGZpbGUgcmVjb3ZlcnkgZnJvbSBzZXNzaW9uIGxvZ3MqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWViZjJhYzgxOTE4MDU4NTBhYWFkMGZhODlhXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpON3YtNVh6dmVydzZ5MkFGUjRQbjg5SzFBMXFWLXlqd1JoS2JiMVRfUFYwdVBHSWF0anRBcENUX3Z2U2hidzhIZzhYc19UWjRidm16OG1GNU5NcVJMaVJITmtpVjhSWmpYaEktNHMwMmpYc0VmM2R4VHpqRDFSYmp2MmMwd3ZveG5CZ292eW9GdzF4NE5uTkZOR1lRa1oxY3dIdWE2aElZdC03Wk5URUpRemxmYmNEbHNPNmRGbzhPb2lSY0o4dEo2X2E0X19XSUplanlGY1JUZXYta3cxVkljNDRtSHRyTzJ1R0Q0ZHlKTnVyeG9Vcm1IV1Q4LVE5c2RKUXpoTG5KS0FmWmdpT0R3VkVPRVFaUW5HNzJXOU12RlJvdHRpQ3NWOEpidmhudHJ5bmw0aXliS3B2UUhkOTUwTlZGQk1rb2lpM0tjVVJkSWFjRG05RGdieHI4YUUzUzI5NFJ2UmYyMEx1YWxpOG1XYmVQR25Ra0k0bzRkRXFVaWxyaS02OWxKV3FyMUFQT25FZ216aW5XY0Q0OFFfUUNvYkoycjctc3pHQ1dVWFY5aEJwYXVZa2RmTU9HWlNWUFNua0djbUxSOHJxQVRCZzRQWHR2ZWRpT25FVV82Rm5QZ0pkWThha0hTa1d5SGZtLWJKTDN2YktEd3gyWlpoM1lZZFVuYk5sR1hFZEtxaGpqaU5QN3UyVXBlbW5La1AwcmU2RG1YN29hS0RKcExSRTV4STlTWllRb1hYbG5HcFJZOWphVkt4aGExd1NBMjFpNWR4N1VZMVBBaW9YckRQNXhLbVE4d2I3VkdJUm1HLXRNcEF0V3hKNEdiLU51dXhkdVNZVTBHQ2pEWFJnZzFwUFgzckhoRklWS1FMZHp5R2k0SHJlQmFxYWdVa05sN2UwSUZZelRLS2tYRjF4WkZWb3BuTnJEa3ktTUJJQUNHZ05xN0NTMHBOSUtZeWhHeXlVU1JWd1oxYUtfMWp1RHhCX0p2UW52UE5mcHp5TnNiT1RBZVpmdU42Y1YyX2VkSmV6WHpRaGNCUm1OeWpxNEdQZ2NiY29FVTk0Wm8zOTFNb2V1WW9ZaGdoLWpVTGJlYVdvcVEwVEN1dFI5OEFwbUk4TV9wTWhrNDh6ejF0NEF5Njl6SUs2clJSRHBVeDhPZEk4WVE3d1JjVzVGUm94eE55S2tqWDUxWVpPUE9GVHpmUTd4azhOaEExQVhjcEhLZUR2R0dybFdmN3pNb2RlRDFnV1BFSDJGUFZReXdCQ3FyUEI1cjFPbUpjSERFV2h2SjJTdHRuTkJ2ZjlVTGFDY25NS09KcUV4Yzlqa2Jhdy0wN3NQWERMd1ZGUzZobk02Y1QxLVFudGhpcU54NTJxWDBWWkdpbVpCb0pCRm1CdEw5Tk5rSHE1UGVaSUlkdDNGdG1Fbi1YSlVfUUZiZmg3bThvM0tSNzdybmxVS2hhUEZKQ3gwYnVkRDNRSGRkNnRPb0lCVDR1RUZZclJ1VDRDQnBTeUxiNmtPSVZfUndnSUQ1eGJDOHVSejFsMk1JdTFfUkFJemxSUk8wMnFhbXdCM1pFZGZjMzZhMUxaaHpxNklGT3F6TllPaVFldjcwS2ZOR1g0cFVNelFaR2xIbzB1WV9OSFdUMVczWlpuRFYtRmpZQVlzekxWTzdvejNQOTFsb1JwNmhQU2NZZmdyekw1WkpWMGdSZ2MxSWNHZ1FyZ3NSdl9EbWh3V25jdk9lMjl0d2F1YWNwNmY4am55cWMxS19UVGRKWGx5cUdJQnZzQjF5ckZLTkVlV3BlME1vQ0RwR1NQcUVGMW5Kc085bDRqU2xrbmlwTlZpTHl6d1BVVlZxTUdiZU5ya282V3NWUUFoQjNSWlpzd19xRmZmOFFkVlBWTTJxMlZ5ZlM1VV9wYnA4b2otMHNpbzVOc2s4X1ZVMXV1U2dtNFVGOD1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIGZpbGUgcmVjb3ZlcnkgZnJvbSBzZXNzaW9uIGxvZ3MqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfTnFqOGpQOTJPOXQ4VnpucExOSXp3c29WfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWVmYWVjMDgxOTFiYzQ4ZDQzYjIzNjM3MzMyIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InB5dGhvbjMgLSA8PCdQWSdcbmltcG9ydCBqc29uLCBvc1xucD1vcy5lbnZpcm9uWydQSV9TRVNTSU9OX0ZJTEUnXVxuZm9yIGxpbmUgaW4gb3BlbihwKTpcbiB0cnk6IHg9anNvbi5sb2FkcyhsaW5lKVxuIGV4Y2VwdDogY29udGludWVcbiBzPXN0cih4KVxuIGlmICdjcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwJyBpbiBzOlxuICBwcmludCh4LmtleXMoKSwgeC5nZXQoJ3R5cGUnKSwgbGVuKGxpbmUpKVxuUFkiLCJ0aW1lb3V0IjoyMH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo3OTczLCJvdXRwdXQiOjY5OSwiY2FjaGVSZWFkIjoxMDkwNTYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NTk2LCJ0b3RhbFRva2VucyI6MTE3NzI4LCJjb3N0Ijp7ImlucHV0IjowLjAzOTg2NTAwMDAwMDAwMDAwNSwib3V0cHV0IjowLjAyMDk3LCJjYWNoZVJlYWQiOjAuMDU0NTI4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4xMTUzNjN9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1NDA2MTMsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWQ1MDNiNDgxOTFiODE3MzZkYmVjY2RhZDczIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjRjMWY3ODYzIiwicGFyZW50SWQiOiI4OTE4ZjY4OCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDY6MTAuNDU3WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9OcWo4alA5Mk85dDhWem5wTE5Jendzb1Z8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlZWZhZWMwODE5MWJjNDhkNDNiMjM2MzczMzIiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJkaWN0X2tleXMoWyd0eXBlJywgJ2lkJywgJ3BhcmVudElkJywgJ3RpbWVzdGFtcCcsICdtZXNzYWdlJ10pIG1lc3NhZ2UgMTg5MzlcbmRpY3Rfa2V5cyhbJ3R5cGUnLCAnaWQnLCAncGFyZW50SWQnLCAndGltZXN0YW1wJywgJ21lc3NhZ2UnXSkgbWVzc2FnZSAzODhcbmRpY3Rfa2V5cyhbJ3R5cGUnLCAnaWQnLCAncGFyZW50SWQnLCAndGltZXN0YW1wJywgJ21lc3NhZ2UnXSkgbWVzc2FnZSAyODQ2XG5kaWN0X2tleXMoWyd0eXBlJywgJ2lkJywgJ3BhcmVudElkJywgJ3RpbWVzdGFtcCcsICdtZXNzYWdlJ10pIG1lc3NhZ2UgMTk1M1xuZGljdF9rZXlzKFsndHlwZScsICdpZCcsICdwYXJlbnRJZCcsICd0aW1lc3RhbXAnLCAnbWVzc2FnZSddKSBtZXNzYWdlIDk3MVxuZGljdF9rZXlzKFsndHlwZScsICdpZCcsICdwYXJlbnRJZCcsICd0aW1lc3RhbXAnLCAnbWVzc2FnZSddKSBtZXNzYWdlIDQ0NFxuZGljdF9rZXlzKFsndHlwZScsICdpZCcsICdwYXJlbnRJZCcsICd0aW1lc3RhbXAnLCAnbWVzc2FnZSddKSBtZXNzYWdlIDUyMFxuZGljdF9rZXlzKFsndHlwZScsICdpZCcsICdwYXJlbnRJZCcsICd0aW1lc3RhbXAnLCAnbWVzc2FnZSddKSBtZXNzYWdlIDkyM1xuZGljdF9rZXlzKFsndHlwZScsICdpZCcsICdwYXJlbnRJZCcsICd0aW1lc3RhbXAnLCAnbWVzc2FnZSddKSBtZXNzYWdlIDczODdcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTU3MDQ1N319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjAwZjM5NDZjIiwicGFyZW50SWQiOiI0YzFmNzg2MyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDY6MjQuNTY0WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipEZWNpZGluZyBSdXN0IFF0NSBwbGFjZWhvbGRlciByZW1vdmFsIGFwcHJvYWNoKipcblxuKipQbGFubmluZyByZXN0b3JhdGlvbiBvZiBsYXN0IHdvcmtpbmcgQysrIHN0YXRlKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVmNDQ1YjQ4MTkxOTFhZWQ2YTdiNzQzZmI1OFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjc5SlFJQ0JkMFdvcmtaNFQ0Q24yZDlSOVFPSU9aa1A4Rmp2UkpiekJROUU5TldCQm9fRXdFc1hkUmZ5Yjd6OTgzX19IVFhKUGlLVFF5STRhdWpNYW9DcnpDOG80Sy00NmhIRVZLZmFydmk0ZjlfMW5hZ1F4c2xJbkJOeEJWY1ZUTVRoUHhSclVJS3BaWUNiT2pHQkM3aFdESEFtN09aeFk2N1JTWlpWY1ZlTHVxTlZZeEVGcWJXLTZZZ2tUbFlDb2Y4bEpwdG1pSklGVW9uenBXVndNdmNZRmFlSUMyM0p1eTJVUk9HYzNwdjBOQVMtZ2tXaU1jV1VKNURzWTM5WVRGWV9DTFJtUXB6LVFIZHIwVFloemptcjMwZ1lQd0g4VzFMLWNhRnVtdVV6LUxLSzlkcEdVazFfc1BjbkR0QmdsdzUtLXF5NkhFUERJYVRueHlIM2RZQThGWk40ZkI2ZXJmM0hWakVhV3NoSU9SOGE4blBrN29JcDlfUE1FbzMtWUFPcmR3MmZZNGZtMHZKaWZYQVN0U3JTSGhtNW41d3RDb2ZCZzUtVHowUzNBdHVnd2VHSWFsX2dtb1lpY21SMkM0X2x1SkgzUzFyVWNlUDBsRGxoVUxRQVJ5WS1xQVNSSjBTM00tcGJLWV9MQm81Mzl4UnYwVGdZVFZ6R2tQd243TE4taDJGcTQtbE5mNUZLWnJfUUNvTWEwNkpRVHk2dnE1Ym1Wd091amJjdm1ZUFFna1J0b1Nnb2Jrc2FUN0d4TGhackg4VmlqUXZPc3lhQV9PeGE2Zk1xMVBTeEtxbFA1emFEY0UtUlUycm1ZMVAwNzdxYXRTNW1GeW9leDdPR09JNDFnWjdvNmJFdndxOGdvYVQ0N3hvZktxdTVfby1MRko0WW8tRWJrNnJOc0xWSzVtTzdhRGxRaXk2NWltN1draXBUeUMxSTgxTUstWFl2R3A1UXpMaGZXVFFQMVdzUFNzYllzaDYwT0J6QmJSU0dVdVRDTUl6Mlg2QUNHaEpuVzhmRzRNVm1JTFpaZDdMTjR3US1NMmhWbzE3ZXVodzAyR05tWWRPcUFZdy14b0tSRkRXS19IN1pwdzdrX2RvRjlKRzU5SmE5bnVHdlpuMm1QWXJRWlRJQzJDR2dQMjVVWEhmem5GOXBLc1pudzNCMVZGRDR5OEpLeTNmLTRLNTFwc3BkZ09fc2FrcHY5T3VES0h6LWM4RUxldVViZjVEbXp6NGF6RlluVEtnQnhULTMzUnZDb1hLc0VDeEpqT3Jrajc1alRPQjFkUTZjbFc5elZEXzA1QVFhdm5LLVpVMUJNd3ZpZE92OFd1LXVWbkY4ZXBuS0M3OXR2TnVVVVhidVVvYXV0Yzd3QmctaDc3b2lWZmNEVTFhZGNsd09GX3A3djRlTlpTZHcyeDR2WGxyYmFkV09OeEFHTUpZZ2xmd3BxUHZlb1V2R3k5aGdEbEdzaEN2QW9UelFwSzQzcktEYU5lUkxOSkE3NGQ5ajVFWElURXljZl9CQkp2RTAzbWxuM0FJZ29faUdHek1ZWjJFbnFJUi1zY2Etck41RW1MRlM2ZkxQVDYxVU9FWW5NUXFReU85ZWhhMXlKZDE3TGZpdnpIeW5RSUo5NFFyTU9mTjdneDI3cVk1TG44YjJhQzd5X2xSQXhQMmpwQ2NGVm9XY0dxbEJSTjh0S1pKSjdFbWJ4dU1uTzJDQVc0Nmp6ZFdaSGRuczhwZDEyRVp6ekt4VHpOU3RwcEJyNEpZQ0JrcXFUWTJ6OXk2NVN0NXdQazBYcjRNbWFRV1g3SnZNaEVsWXFNeXpMZ1VJbTRYNjNrSHJTZnpKMExvc3p1bzlpUHlxQThvYlRVeTJxNkE2QVpkZl9xSUxhMERDZHN1RXNZZFA5VzFhODItSEhlRmwzMWpTTXlCSF9XR3BYeEJiOFcwVEJNQ0twVk1RNExDaFFJMEVwTmNHR3VrNlJfdVNmVVlNaUhGWURBR3BsSkJuZUxIWklkMWNFNmRXMnFZbE90SnZDeTNEdVNxZHBRc0RySXhqNG5HVXl0c0dNblllbkxmbmdQQzh4cU9oRW16VkVkdlh3c2dEY3VmbXZKRWFQNENnSzg3cXdnMllwTkFoS2pESGxNTXhvZFVDcTlZV0VBNUp5aEUxaklsTW41NjRGZGR2dHg3eXc1UFFrNnpTSWJCMmpURFBVaUt4V05vQzctbjI2QWcwVmZQN3NPMUdWQ2RxMG1SYkZST1EtQnEwODNvMEltWldtT0UyUnVZSUVaeFE4NDk4eXVuQmV5SVBqOFpPaGJKM2daQnRiekxSUGgwZEUwVFJRbDVNaGN2VFFBYWl4N2R1a1RBend0dDZYZERBYnozUkNqWTBuUnd0T1Z4RS1hbllCZmpfMkg5RkdsWTdkdW9PVlVVNjBPWVlRV3kyY2xOU2ZMOG5YMF9FWlRyX0FKUnB2bmNQTnZMbkRMY2w0aV9USmRnTWEtb0RpQ3FveXJ0bTlVa1dXbmhsd1BsaDg5VTcyX0t6d2o0b2huSmNzZjgtWW9sc1FRN2xRbU5EMHJEeE1UcTZyV0x4cVZqUzBLWHhKMTBRVGlKbWR0V2pkZWNsYkZFaE1lQUx6UkEtcndFSTFhcmdqcVNsbTVkZ0pCTElkZ0IwcDU0c2ZFUHVhOW4tczFSUURKVzRIc1pQUmFJMlE5dExlUTZnZXhHSXZjRnBfY29hUUtweUNrVmFPS3pld3pPM1h0cTAxWGx6YjVsQlNMVHBDeGtUNi0wcVhkaXlrM3RXcWE1QTRqeFcwUEZ5SEVyNVR5Nml1Ty1sMTRNNmJPR0VUTlV1RHp4YXUydko0RU8zdzhJQjZKWnVsdVc5SUFLNTYyT2ZLZVU5WmtNTV96TmE0b1ZUeWZMb1dSYURuQWRCdVdEc05iejlPcmp5OG1qcFlMd28zLWlURnpjSGdQcUptZGUwNGhsU3d1OHVGeUI4dUdSVkFfNEJHYXBTUGpwSEg5SFJJU19oMnBveE5KNGVMc3B4a1d2RWxod3dDRlk1V1hfWkhwaTktY1ZlQm1XaTBMY2NKTlJlTVlwelNOSEpLcjNWNm5pZm9sdU84d1hYY3pSZ0RqUDdCMkQxQ1hwSExpZW5kcUExWmJvWUlHTWxPaVYycVNmZnlsZ2ZZeVhzSk91SHdSTmc0SHhTcmU2bjBFTm5jbjg5bTEwc3RfS3RJQU83d2NDazlXOXd5SGUxVzhhN0FFcmNNS1hMTUNfVWo5ck1lZWFxQ0t2MmktRVpERHJGaEFxUENYekktR1ZlckdvNnhvZFhPU0dGQnF6OXl1NmF3elFPdjcyMV9HaG8tQmg0dU1BV1lwQ25kUFFrXzhCY3lLSExXWl92WEt5bVh0UURwT0ZTVUMtaURRdEFMNVpBR0tKT0VCYmJSZmlHd1R0cGNCQ202eXM2ekFXVGl4X19qVUlqb0E0OXpVdDVBMEpHZUgxNkFFWDFCSzlWT3pyaVliY0dBYnFnN0traVdUQ1FJT2Znd01adUVfMWhvMnZGeklnbDhLVFEzWks0VXN5bmJIQ0w5WlRJd1U4VC1qWU5BbDNadXI2X05VUWp3cFNGNlNkY05ITVJ5YkJJY1J1LTNSUTBpVkJMMF9OMzBoUFdvc2FMOEd2ZEdDOVVBREhXSE9UR3hPSUV3THRNRVFnTjhDcmh3ZExaYzF1TGRhRTVQLUVsZ0xyeHd6MUpRdzMzNmM9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipEZWNpZGluZyBSdXN0IFF0NSBwbGFjZWhvbGRlciByZW1vdmFsIGFwcHJvYWNoKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIHJlc3RvcmF0aW9uIG9mIGxhc3Qgd29ya2luZyBDKysgc3RhdGUqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfTkc5dU4yTVBWRnVrVmlHR1VkekJselREfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWZkZThkYzgxOTFiMjE4ZThjOGNkZmM3MjhhIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InB5dGhvbjMgLSA8PCdQWSdcbmltcG9ydCBqc29uLG9zXG5mb3IgbGluZSBpbiBvcGVuKG9zLmVudmlyb25bJ1BJX1NFU1NJT05fRklMRSddKTpcbiB0cnk6eD1qc29uLmxvYWRzKGxpbmUpXG4gZXhjZXB0OmNvbnRpbnVlXG4gbT14LmdldCgnbWVzc2FnZScse30pXG4gaWYgaXNpbnN0YW5jZShtLGRpY3QpOlxuICBmb3IgYyBpbiBtLmdldCgnY29udGVudCcsW10pOlxuICAgaWYgaXNpbnN0YW5jZShjLGRpY3QpIGFuZCBjLmdldCgndHlwZScpPT0ndG9vbENhbGwnIGFuZCBjLmdldCgnbmFtZScpPT0nd3JpdGUnIGFuZCBjLmdldCgnYXJndW1lbnRzJyx7fSkuZ2V0KCdwYXRoJywnJykuc3RhcnRzd2l0aCgnY3JhdGVzL2ZsYXNoZXItcXQnKTpcbiAgICBhPWNbJ2FyZ3VtZW50cyddOyBwcmludChhWydwYXRoJ10sbGVuKGEuZ2V0KCdjb250ZW50JywnJykpKVxuUFkifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE3MTcsIm91dHB1dCI6NDUyLCJjYWNoZVJlYWQiOjExNjIyNCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyOTUsInRvdGFsVG9rZW5zIjoxMTgzOTMsImNvc3QiOnsiaW5wdXQiOjAuMDA4NTg1LCJvdXRwdXQiOjAuMDEzNTYwMDAwMDAwMDAwMDAxLCJjYWNoZVJlYWQiOjAuMDU4MTEyLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wODAyNTd9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1NzA0NjEsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWYzMGFlODgxOTE5MDNlYjJhOTZlZTcyMTFjIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImU4NDI2NWMwIiwicGFyZW50SWQiOiIwMGYzOTQ2YyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDY6MjQuNTg3WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9ORzl1TjJNUFZGdWtWaUdHVWR6Qmx6VER8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlZmRlOGRjODE5MWIyMThlOGM4Y2RmYzcyOGEiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJjcmF0ZXMvZmxhc2hlci1xdC9zcmMvbWFpbi5ycyAxM1xuY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnMgMjEyM1xuY3JhdGVzL2ZsYXNoZXItcXQvcW1sL01haW4ucW1sIDE1NjU2XG5jcmF0ZXMvZmxhc2hlci1xdC9DYXJnby50b21sIDI0NlxuY3JhdGVzL2ZsYXNoZXItcXQvYnVpbGQucnMgNDc1XG5jcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwIDE2Mzc0XG5jcmF0ZXMvZmxhc2hlci1xdC9zcmMvbWFpbi5ycyAyNzQ4XG5jcmF0ZXMvZmxhc2hlci1xdC9idWlsZC5ycyA5MDZcbmNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWwgMjI3XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1ODQ1ODd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3MDk5ZmNkNiIsInBhcmVudElkIjoiZTg0MjY1YzAiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA2OjM0LjcxOFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqRXh0cmFjdGluZyBsYXRlc3QgQ2FyZ28gYW5kIGJ1aWxkIGluZm8qKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZjA1MDdlYzgxOTE5NDg3ZWRmYWMwYmI2YTI0XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpOOEdMTkdqekYtS2l2YW9ENVJUQXh4bVhVVGdaSkNCYnN0YnhScWxuT1Q4YkVHOWFuQ1Y2TENoMW5iMFluZnhjVldHWUJvNWNIQWlvSHl1RVdSX1FXQUV5Z3Y2ckNaVmp3aXJSSWt6dFpnVGhVcDZtQy1PVkZzY19CTDUwZkZ3d0FaR3FjcWY5MmtIY0R4NlFnRUVNeTd3MGpNdFFFMWJoMEFTazFHN1VDVkpxaTRHNjEySUJnUGxYU2M4VU45ZWRCeUNUT1dtSnZrZm1OY0Z0bkxjMVZKWFl0dlBuOG9rcmM0bnJqUDI2NXowMVJPWTIzbzFjYVpsVndmdFpDQ0pFZjBrcUVzOVQ2bURFWU1ldW5oNTNCQ3kzcUtHQnJlaGdreEZYOHR4czFTTkZZLUZWNUdyd0ZibDhSbDJBM1hOY1djS25zeDUzc1dsMWdrRXhHMXZiM2RIMERXVnFhblFsTlE1Q3BlV3JCeklVY3l4ZUZLRU82dktXS0ljU2FkQ0hGQ0J0Y1JqVzFjcEJ2dWRnQmk3M1VwN0p5aGVUV2ozSnNpS1VCUURGc09vc09GVnJnSnhxaDJlWmNMWVh0OGV0WFNSeWxTNTNhdWM0N3BzZ1pyUC1HcE5jck9RNXJEbVpUcGlVdFNPbHJCOEdJU3BITG9IT2Y4WF91ZnhrQ0FQMnprM0ROZTlWN2hPSWxLSkxZLUg2SkQyN29vV2FxYnkwWjc1UWd2ejJoVjJrVTNyQ1ViZVkyemxrM0VwMnhUemZQX0NvVXhVeDF5OUNlX3RDSzNKYWNQOUhVRHdxeHpvam55OFhLYVB1RlRpNkg1WnVuNV9PMlBGek5qQUdxbkNReTZsVHQ1QzQtWnhQVkxHMzE2X2x3OWZSMTdVQUFfVm5sX1VhaWpyZUNQYXlydmVIOVV1OFVrWlgyQUVvR1Rjak9vMXROZHpyYjZvNTU4S0lpVnA5T3o3eHo2a3ZtOFNzbVE0LWRRTENTcVdISjQ1TFQyRGpRbjRDTTZkOGZQaVJHaVlmczJBeHdZRG15dFd1M1NVbU1WMDdsTUx4a1NZUU90Z281dUF5cHZzaVFUelRrb0FXRkc5ZVIyNnFKeUlFZmpvc2VqNGtMNHZWZ1NqZjM0eFRSd2dwU214a081TDhCUWY2M1JRVTk3ODhyMzMxQ29peVFPMDBDYldUSWlseGhnR0dUUW9XUVhPSVNzYzRKOHlnWlMwLUZLZ2oxY05VWkgxUF9zQ0RhVVZWaDJtQVc3NnUzS0E2bVRfcDYyMFRuV2JVT3BRdUZhM3ZrWUdEbEp3WExBT1pYWHhsRVNJNTFtaEkycWlfbTJvaGxRMmZCaGQzN0dnYkU1WG9PekJVUVpWXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipFeHRyYWN0aW5nIGxhdGVzdCBDYXJnbyBhbmQgYnVpbGQgaW5mbyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF95cXZHNWd1REtldW9sMnhORXpLYXhaZEJ8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRmMDZiYjY0ODE5MTljNzA4NjBkZjIwYmFmYTQiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicHl0aG9uMyAtIDw8J1BZJ1xuaW1wb3J0IGpzb24sb3MscGF0aGxpYlxud2FudGVkPXtcbiAnY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbCc6MjQ2LFxuICdjcmF0ZXMvZmxhc2hlci1xdC9idWlsZC5ycyc6OTA2LFxuICdjcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwJzoxNjM3NCxcbiAnY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnMnOjI3NDgsXG59XG5mb3IgbGluZSBpbiBvcGVuKG9zLmVudmlyb25bJ1BJX1NFU1NJT05fRklMRSddKTpcbiB0cnk6eD1qc29uLmxvYWRzKGxpbmUpXG4gZXhjZXB0OmNvbnRpbnVlXG4gbT14LmdldCgnbWVzc2FnZScse30pXG4gaWYgbm90IGlzaW5zdGFuY2UobSxkaWN0KTpjb250aW51ZVxuIGZvciBjIGluIG0uZ2V0KCdjb250ZW50JyxbXSk6XG4gIGlmIG5vdCBpc2luc3RhbmNlKGMsZGljdCkgb3IgYy5nZXQoJ3R5cGUnKSE9J3Rvb2xDYWxsJyBvciBjLmdldCgnbmFtZScpIT0nd3JpdGUnOmNvbnRpbnVlXG4gIGE9Yy5nZXQoJ2FyZ3VtZW50cycse30pOyBwPWEuZ2V0KCdwYXRoJyk7IGNvbnRlbnQ9YS5nZXQoJ2NvbnRlbnQnLCcnKVxuICBpZiBwIGluIHdhbnRlZCBhbmQgbGVuKGNvbnRlbnQpPT13YW50ZWRbcF06XG4gICBwYXRobGliLlBhdGgocCkucGFyZW50Lm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1UcnVlKTsgcGF0aGxpYi5QYXRoKHApLndyaXRlX3RleHQoY29udGVudCk7IHByaW50KCdyZXN0b3JlZCcscClcblBZXG5jYXJnbyBidWlsZCAtcCBmbGFzaGVyLXF0IiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEyNjksIm91dHB1dCI6Mjg4LCJjYWNoZVJlYWQiOjExNzI0OCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyNCwidG90YWxUb2tlbnMiOjExODgwNSwiY29zdCI6eyJpbnB1dCI6MC4wMDYzNDUwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDg2NCwiY2FjaGVSZWFkIjowLjA1ODYyMzk5OTk5OTk5OTk5NiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDczNjA5fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1NTg0NTkyLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGYwMTAwOTQ4MTkxYTk4ZjY3ZTIxMDg5MzBiZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4YmNlZTZiNiIsInBhcmVudElkIjoiNzA5OWZjZDYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA2OjM5LjA0MloiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfeXF2RzVndURLZXVvbDJ4TkV6S2F4WmRCfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZjA2YmI2NDgxOTE5YzcwODYwZGYyMGJhZmE0IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoicmVzdG9yZWQgY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbFxucmVzdG9yZWQgY3JhdGVzL2ZsYXNoZXItcXQvc3JjL3VpLmNwcFxucmVzdG9yZWQgY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnNcbnJlc3RvcmVkIGNyYXRlcy9mbGFzaGVyLXF0L2J1aWxkLnJzXG4gICAgVXBkYXRpbmcgY3JhdGVzLmlvIGluZGV4XG4gICAgIExvY2tpbmcgMyBwYWNrYWdlcyB0byBsYXRlc3QgUnVzdCAxLjk3LjAgY29tcGF0aWJsZSB2ZXJzaW9uc1xuICAgICAgQWRkaW5nIGNjIHYxLjQuMFxuICAgICAgQWRkaW5nIGZpbmQtbXN2Yy10b29scyB2MC4xLjlcbiAgICAgIEFkZGluZyBzaGxleCB2Mi4wLjFcbiAgIENvbXBpbGluZyBmbGFzaGVyLXF0IHYwLjEuMCAoL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci9jcmF0ZXMvZmxhc2hlci1xdClcbiAgICBGaW5pc2hlZCBgZGV2YCBwcm9maWxlIFt1bm9wdGltaXplZCArIGRlYnVnaW5mb10gdGFyZ2V0KHMpIGluIDQuMjdzXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1OTkwNDJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJhYmRlYzIxOSIsInBhcmVudElkIjoiOGJjZWU2YjYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA3OjAwLjc2MVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqQ2xhcmlmeWluZyBRdDYgY29tcGF0aWJpbGl0eSBsaW1pdGF0aW9ucyoqXG5cbioqTGlzdGluZyBmaW5hbCBRdDYgaW50ZWdyYXRpb24gb3B0aW9ucyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRmMTIwYjkwODE5MWJiOGUzNDEwYTI4ZWRkZmRcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk44YzFGc1FidTlDM1pUbU0xXzZxc0h6N3BlSnQwVHRDclctcnFSVnNQUS1YbXM0dS12Y1ZoUFVaTmstTVQtVW9nSmxZTnpKMVFnU0hSWk9kbE5XTDZadHBPamJORGtkcFJ6ZVhRVTBKVThjQU5FTXlPeDFUS045Rmo5V21ORGF4TF9WWnptRlh5a2FfbHA4WVNmUk02TEw2NEdwR0doVzVOb2lFY1NReVVtc3REMm1UZXpvVzd4OGVVOV9GQjNUTUNoNXY0TzhqOFctMEF2bHh1ZXF4UkNFQkZiV1BnTVhMTXo2LVdrdENmVzBuaGtsZ1VYTU1TeTcxSTZhOVdFTC0teTNMYmFEbF9SUnhlNF9QdVdoWHZQZEdDbkk2cUhrSkhtY0FXZms5UDl3TkcyOXU3dU10MmxVRVFjZzRkaHZDa0wtdU4zTkVTYXM0TndjRUxVRDJpWk9aMTlwbEVydEJYdTNuZ09MOGlTRUluTE1ucG1NejhVSWIyaDNMMFRSQmtweFlIMHQzaGFSbVU1ZXJpQUJ3OVA3bGh4VUlPZjRaUmNKN3lrQUwySWY1WS1keVpxWnMyVHFzTktVLV8xaXJxZnhuM3d3QUg2eEZvQ0pkNWhHR2lvMEdaQlFiSEppNHYzQXZLT0JqbGpNbVRCY2U0aTFudTR1LVlOS21iRU00UWNra0MxU3JlZUl1OFpGMlBiRTRmQnBjMW1GX0xSUXUyTnF2ZkhKdmszamRkTEdNcnVPZlJOVVUzWmZ1Q3FUSWtkRmw3Qzl4NVBqenhWN0hFdGdsMndCX2FnSUZsWnliaGJqTzNXZTZ0UThOVUdoRWpkZEduTzRhRkw1MU5ZT1Y5WEdKWFktcjlGZ1huczFEQll4dU9kMHhXUmpJMFpkVEJpYUhtZ0UyczJ5dWVZSEpkZkZnOFNFQUpDMHZ5Z3V3cmF3UEdwMkE4YlZNTndwVlFPQm93cW93S2Q5RHpPM2ltbWQ4aHJmYTV4UGtsbVhsX1UtSzFVLXZFazRlOWZ4ZVRCT2prbFo0LWNKaVZKOW9TeklyaDE0RTc4WDBZQkRCZk1aWVJVcXVBSXR4X1I5RGV5OVE4S3dza2Z6WG1qR1pXREpQa1hlVExpNmNEMmlTMU5ZVXg5dDQ5dmp6ODU2NUxTSUt1a0FyUGRHUFZXdnlKS3R1cUxaMkdUM3ZBOHV4V0VQbjdDTXZTR3N4b3VyMWlpX3BWNW5IYnVnZ3VHVTN1NGpxWDc5Vl9NbGRyRThOVU9wNGxCQUc1TVM5SUlkVE9fRElqS09nRXZZV2FrejBSSXVLbHdQRG9ScnNOUTNyOFloWEpjc2lpMnJQMWRqZzhDNkhoTnlYQjFROWVVaHowT0J0X0RFYjBTYk4xN01YSEZvT2Z6N1UwUkR5cUxWNi1kQXBBeUp5MHFBaUVHdEMtem9tN3Y4Wjc3bFg2aFNyYm1SekpOdldnbnd0dWp1TV9Jc1NDZkxBaGgyWUJ3aVY4bzRsVHNfNHJqdVp5c1JLTUNGem83TTlyVkdWUGJZR2t6bXliNzBVSE9MWmV2dWxaSDVxdWdTVkdVT2NzVG1ickZDYzhCOTc2TmNKMkxVSWdoRXBUTC01LWxTU1hWRzVydkJKaUxyempmY2FOV2tXV2pLMWp4V1U1bUgtbS1jZW5OaFE5Y29lRUJJcjBRQmJlb2dYRU5sTTF2dmFZcFhyeXQ3Qk1DOU1uZVVJZ3M0b1VQcFZCU2pWVXF3QVlNWmtBa2lwWVpFMmI1QUhuU3dYVE96TVktd2hUdHc3YTVFYkFXdTFELTRWeVduWjNabTRjaFNZQnp4STAzTFRaRHA3ZlQzUTBMaU51RzF1bVI0OFZEdXVKaHJwRDhFUktHQlc5QjRpa2I3MXVKRG1VUExGM3Q1Z0FXRmppYTgySkh5NmRKaUpkdjlVRFQzNjRLY05YUjlqTXNkc1V3SUJlc1Fpa2pkWGo3YlFRcG9DZ0tUdzY3R2FqTTN5UXQ2QzN3NHRzLXF0b1AycjdOaVJjQUFFdU9EVmNIbnR5VTVHRDFEbzJ4eUV5dVVaM3BrVVNIMklubGVzUHFvSUJrMGx3QnZJOGVBMzh0SVBheTJGc05tWElvejJmOU9UZmFJa1RHUHgzOGFXRGtUckZYcDUtLWVzN2s5UTJfbWdCQkVyOUxRVU5vd2R1QzVnNVN0Q2lldGlXemFjYUd3Tkd3dFphNGhyYklJV0J0THduOXRLUnBYWlRaaHgyZFFXa2k3NVNfN2tZUVUyNFZ2MHpYVHV4NEpGLTBycEZEejBkUGdrMVZNbFYzYS1IYzd1anRGdGRNZ0hoRXl6S2V3NWdzdEdSamh1bXpIdm9GY1lHc1JLNHdZY2tqOEFPTlJoVmQtZ3RWZlJfWTRYQzJwY1FRcFhHbF85Q0FvSVhWejFvXzRra0lGbW9QOHEyODhJZkFDcmNnS0EzV1lkamltRGNZU1U4Nlo5MTlvRi1mRHZBd1ZYWnp1WnZrVjJuY1JTeDR1bmpQSzhDamF0THRtQzBpODlQdmRnOHR2SEtXVXQ5b0Q2c3pHeXY0ekZsUUR2MDEwNXI3TFd5azRzWVdlMUtnVFUwM1ZaM0d6d0ZIem9lcTlUeWZ5WW1BdldDd2ZhOWl5c2R2Y2dUU3o0Q0dHSU9WeG9PWGFEbFlvUU9QX2FpeTdacTZhX2hGblJzNXlDbmxic3JUY3EtRFlyMTVXQ2NCOGh0eXZ1bWlJUDZBSmJQblFnRm1BUWdET29QdERfRlA4WE02WWhKZ1RLVjZwYVk0aUVna1p6WEt1YXRLTDNmMndMYjQ5ODBlbkRyN3VIMUstaXBhLVR1N3k3NTE0cnZLb1c0MlRWR2FYMV9JMXZnYVJFVndsa1FySkNMaGlZb1Q0cnh6VkYtcHZBS1dxZjJ1TThyczI5M0FES3RObkFYOXhoNFp2NkJKTHVyeWx5UWxQd002d1BJNVcyZWJ3ajg0aEFQUzV3MUdKXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipDbGFyaWZ5aW5nIFF0NiBjb21wYXRpYmlsaXR5IGxpbWl0YXRpb25zKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkxpc3RpbmcgZmluYWwgUXQ2IGludGVncmF0aW9uIG9wdGlvbnMqKlwifV19In0seyJ0eXBlIjoidGV4dCIsInRleHQiOiJUaG9zZSByZXF1aXJlbWVudHMgY3VycmVudGx5IGNvbmZsaWN0OlxuXG4tICoqQ1hYLVF0KiogaXMgdGhlIGVzdGFibGlzaGVkLCBtYWludGFpbmVkIFJ1c3QvUXQ2IGludGVncmF0aW9uLCBidXQgcHJpbWFyaWx5IHN1cHBvcnRzIFJ1c3QtYmFja2VkIGBRT2JqZWN0YHMgd2l0aCBRTUwvUXQgUXVpY2suIEl0IGRvZXMgbm90IHByb3ZpZGUgY29tcHJlaGVuc2l2ZSBSdXN0IGJpbmRpbmdzIGZvciBRdCBXaWRnZXRzLlxuLSAqKlJpdHVhbCBgcXRfd2lkZ2V0c2AqKiB0YXJnZXRzIFF0NSBhbmQgaXMgbGFyZ2VseSB1bm1haW50YWluZWQuXG4tICoqcXRycy9xYXgqKiBvZmZlciBSdXN0LWZhY2luZyBRdDYgQVBJcywgYnV0IGFyZSB2ZXJ5IG5ldyBhbmQgbWluaW1hbGx5IGFkb3B0ZWQsIGNvbnRyYXJ5IHRvIHlvdXIgcG9wdWxhci1saWJyYXJ5IHJlcXVpcmVtZW50LlxuLSBOYXRpdmUgUXQgV2lkZ2V0cyB1c2UgYSBDKysgQUJJLCBzbyBiaW5kaW5ncyBhbHdheXMgbmVlZCBnZW5lcmF0ZWQgQysrIGdsdWUgaW50ZXJuYWxseS4gVGhhdCBpcyBmaW5lIGluIGRlcGVuZGVuY2llcywgYnV0IG5vIGVzdGFibGlzaGVkIFF0NiBjcmF0ZSBjdXJyZW50bHkgZXhwb3NlcyB0aGUgZnVsbCBXaWRnZXRzIEFQSSBjbGVhbmx5IGZyb20gUnVzdC5cblxuVGhlIHJlYWxpc3RpYyBvcHRpb25zIGFyZTpcblxuMS4gKipDWFgtUXQgKyBRdDYvUU1MKiog4oCUIGVzdGFibGlzaGVkIGxpYnJhcnkgYW5kIG5vIHByb2plY3QgQysrLCBidXQgcmV0dXJucyB0byBRdCBRdWljayBzdHlsaW5nLlxuMi4gKipRdDYgV2lkZ2V0cyArIHByb2plY3QgQysrIGJyaWRnZSoqIOKAlCBnZW51aW5lbHkgbmF0aXZlIGFwcGVhcmFuY2UuXG4zLiAqKnF0cnMgKyBRdDYgV2lkZ2V0cyoqIOKAlCBwcm9qZWN0IGNvZGUgZW50aXJlbHkgUnVzdCBhbmQgbmF0aXZlLWxvb2tpbmcsIGJ1dCByZWxpZXMgb24gYSB5b3VuZywgbG93LWFkb3B0aW9uIGxpYnJhcnkuXG5cbkkgaGF2ZSBsZWZ0IHRoZSBwcmV2aW91cyB3b3JraW5nIGltcGxlbWVudGF0aW9uIGludGFjdCByYXRoZXIgdGhhbiByZXBsYWNpbmcgaXQgd2l0aCBhbiB1bm1haW50YWluZWQgb3Igb2JzY3VyZSBkZXBlbmRlbmN5LiIsInRleHRTaWduYXR1cmUiOiJ7XCJ2XCI6MSxcImlkXCI6XCJtc2dfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRmMWNlMTUwODE5MWJiYzNhM2ZhZTJmZGViMDhcIixcInBoYXNlXCI6XCJmaW5hbF9hbnN3ZXJcIn0ifV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6Njk5LCJvdXRwdXQiOjQ3MCwiY2FjaGVSZWFkIjoxMTgyNzIsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MjIyLCJ0b3RhbFRva2VucyI6MTE5NDQxLCJjb3N0Ijp7ImlucHV0IjowLjAwMzQ5NTAwMDAwMDAwMDAwMDMsIm91dHB1dCI6MC4wMTQxLCJjYWNoZVJlYWQiOjAuMDU5MTM1OTk5OTk5OTk5OTk0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNzY3MzF9fSwic3RvcFJlYXNvbiI6InN0b3AiLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1OTkwNDcsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZjBmNzUwNDgxOTE5M2JjZjgyZTZiNzA5NGY3In19XSwibGVhZklkIjoiYWJkZWMyMTkiLCJzeXN0ZW1Qcm9tcHQiOiJZb3UgYXJlIGFuIGV4cGVydCBjb2RpbmcgYXNzaXN0YW50IG9wZXJhdGluZyBpbnNpZGUgcGksIGEgY29kaW5nIGFnZW50IGhhcm5lc3MuIFlvdSBoZWxwIHVzZXJzIGJ5IHJlYWRpbmcgZmlsZXMsIGV4ZWN1dGluZyBjb21tYW5kcywgZWRpdGluZyBjb2RlLCBhbmQgd3JpdGluZyBuZXcgZmlsZXMuXG5cbkF2YWlsYWJsZSB0b29sczpcbi0gcmVhZDogUmVhZCBmaWxlIGNvbnRlbnRzXG4tIGJhc2g6IEV4ZWN1dGUgYmFzaCBjb21tYW5kcyAobHMsIGdyZXAsIGZpbmQsIGV0Yy4pXG4tIGVkaXQ6IE1ha2UgcHJlY2lzZSBmaWxlIGVkaXRzIHdpdGggZXhhY3QgdGV4dCByZXBsYWNlbWVudCwgaW5jbHVkaW5nIG11bHRpcGxlIGRpc2pvaW50IGVkaXRzIGluIG9uZSBjYWxsXG4tIHdyaXRlOiBDcmVhdGUgb3Igb3ZlcndyaXRlIGZpbGVzXG4tIHdlYl9zZWFyY2g6IFNlYXJjaCB0aGUgcHVibGljIHdlYiBmb3IgY3VycmVudCBpbmZvcm1hdGlvblxuLSB3ZWJfZmV0Y2g6IEZldGNoIGFuZCByZWFkIGEgd2ViIHBhZ2UgZnJvbSBhbiBodHRwKHMpIFVSTFxuXG5JbiBhZGRpdGlvbiB0byB0aGUgdG9vbHMgYWJvdmUsIHlvdSBtYXkgaGF2ZSBhY2Nlc3MgdG8gb3RoZXIgY3VzdG9tIHRvb2xzIGRlcGVuZGluZyBvbiB0aGUgcHJvamVjdC5cblxuR3VpZGVsaW5lczpcbi0gVXNlIGJhc2ggZm9yIGZpbGUgb3BlcmF0aW9ucyBsaWtlIGxzLCByZywgZmluZFxuLSBVc2UgcmVhZCB0byBleGFtaW5lIGZpbGVzIGluc3RlYWQgb2YgY2F0IG9yIHNlZC5cbi0gSW5zcGVjdCBQSV8qIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgY3VycmVudCBtb2RlbCBhbmQgc2Vzc2lvbiBkZXRhaWxzLlxuLSBVc2UgZWRpdCBmb3IgcHJlY2lzZSBjaGFuZ2VzIChlZGl0c1tdLm9sZFRleHQgbXVzdCBtYXRjaCBleGFjdGx5KVxuLSBXaGVuIGNoYW5naW5nIG11bHRpcGxlIHNlcGFyYXRlIGxvY2F0aW9ucyBpbiBvbmUgZmlsZSwgdXNlIG9uZSBlZGl0IGNhbGwgd2l0aCBtdWx0aXBsZSBlbnRyaWVzIGluIGVkaXRzW10gaW5zdGVhZCBvZiBtdWx0aXBsZSBlZGl0IGNhbGxzXG4tIEVhY2ggZWRpdHNbXS5vbGRUZXh0IGlzIG1hdGNoZWQgYWdhaW5zdCB0aGUgb3JpZ2luYWwgZmlsZSwgbm90IGFmdGVyIGVhcmxpZXIgZWRpdHMgYXJlIGFwcGxpZWQuIERvIG5vdCBlbWl0IG92ZXJsYXBwaW5nIG9yIG5lc3RlZCBlZGl0cy4gTWVyZ2UgbmVhcmJ5IGNoYW5nZXMgaW50byBvbmUgZWRpdC5cbi0gS2VlcCBlZGl0c1tdLm9sZFRleHQgYXMgc21hbGwgYXMgcG9zc2libGUgd2hpbGUgc3RpbGwgYmVpbmcgdW5pcXVlIGluIHRoZSBmaWxlLiBEbyBub3QgcGFkIHdpdGggbGFyZ2UgdW5jaGFuZ2VkIHJlZ2lvbnMuXG4tIFVzZSB3cml0ZSBvbmx5IGZvciBuZXcgZmlsZXMgb3IgY29tcGxldGUgcmV3cml0ZXMuXG4tIFVzZSB3ZWJfc2VhcmNoIGZvciBjdXJyZW50LCBuaWNoZSwgb3IgZXh0ZXJuYWxseSB2ZXJpZmlhYmxlIGluZm9ybWF0aW9uOyBjaXRlIHJlc3VsdCBVUkxzIGluIHRoZSByZXNwb25zZS5cbi0gVXNlIHdlYl9mZXRjaCB0byBpbnNwZWN0IGEgcmVsZXZhbnQgcGFnZSByZXR1cm5lZCBieSB3ZWJfc2VhcmNoIGJlZm9yZSByZWx5aW5nIG9uIGl0cyBkZXRhaWxzLlxuLSBCZSBjb25jaXNlIGluIHlvdXIgcmVzcG9uc2VzXG4tIFNob3cgZmlsZSBwYXRocyBjbGVhcmx5IHdoZW4gd29ya2luZyB3aXRoIGZpbGVzXG5cblBpIGRvY3VtZW50YXRpb24gKHJlYWQgb25seSB3aGVuIHRoZSB1c2VyIGFza3MgYWJvdXQgcGkgaXRzZWxmLCBpdHMgU0RLLCBleHRlbnNpb25zLCB0aGVtZXMsIHNraWxscywgb3IgVFVJKTpcbi0gTWFpbiBkb2N1bWVudGF0aW9uOiAvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvYnVuL2luc3RhbGwvZ2xvYmFsL25vZGVfbW9kdWxlcy9AZWFyZW5kaWwtd29ya3MvcGktY29kaW5nLWFnZW50L1JFQURNRS5tZFxuLSBBZGRpdGlvbmFsIGRvY3M6IC9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9idW4vaW5zdGFsbC9nbG9iYWwvbm9kZV9tb2R1bGVzL0BlYXJlbmRpbC13b3Jrcy9waS1jb2RpbmctYWdlbnQvZG9jc1xuLSBFeGFtcGxlczogL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2J1bi9pbnN0YWxsL2dsb2JhbC9ub2RlX21vZHVsZXMvQGVhcmVuZGlsLXdvcmtzL3BpLWNvZGluZy1hZ2VudC9leGFtcGxlcyAoZXh0ZW5zaW9ucywgY3VzdG9tIHRvb2xzLCBTREspXG4tIFdoZW4gcmVhZGluZyBwaSBkb2NzIG9yIGV4YW1wbGVzLCByZXNvbHZlIGRvY3MvLi4uIHVuZGVyIEFkZGl0aW9uYWwgZG9jcyBhbmQgZXhhbXBsZXMvLi4uIHVuZGVyIEV4YW1wbGVzLCBub3QgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3Rvcnlcbi0gV2hlbiBhc2tlZCBhYm91dDogZXh0ZW5zaW9ucyAoZG9jcy9leHRlbnNpb25zLm1kLCBleGFtcGxlcy9leHRlbnNpb25zLyksIHRoZW1lcyAoZG9jcy90aGVtZXMubWQpLCBza2lsbHMgKGRvY3Mvc2tpbGxzLm1kKSwgcHJvbXB0IHRlbXBsYXRlcyAoZG9jcy9wcm9tcHQtdGVtcGxhdGVzLm1kKSwgVFVJIGNvbXBvbmVudHMgKGRvY3MvdHVpLm1kKSwga2V5YmluZGluZ3MgKGRvY3Mva2V5YmluZGluZ3MubWQpLCBTREsgaW50ZWdyYXRpb25zIChkb2NzL3Nkay5tZCksIGN1c3RvbSBwcm92aWRlcnMgKGRvY3MvY3VzdG9tLXByb3ZpZGVyLm1kKSwgYWRkaW5nIG1vZGVscyAoZG9jcy9tb2RlbHMubWQpLCBwaSBwYWNrYWdlcyAoZG9jcy9wYWNrYWdlcy5tZCksIGVudmlyb25tZW50IHZhcmlhYmxlcyAoZG9jcy9lbnZpcm9ubWVudC12YXJpYWJsZXMubWQpXG4tIFdoZW4gd29ya2luZyBvbiBwaSB0b3BpY3MsIHJlYWQgdGhlIGRvY3MgYW5kIGV4YW1wbGVzLCBhbmQgZm9sbG93IC5tZCBjcm9zcy1yZWZlcmVuY2VzIGJlZm9yZSBpbXBsZW1lbnRpbmdcbi0gQWx3YXlzIHJlYWQgcGkgLm1kIGZpbGVzIGNvbXBsZXRlbHkgYW5kIGZvbGxvdyBsaW5rcyB0byByZWxhdGVkIGRvY3MgKGUuZy4sIHR1aS5tZCBmb3IgVFVJIEFQSSBkZXRhaWxzKVxuQ3VycmVudCB3b3JraW5nIGRpcmVjdG9yeTogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlciIsInRvb2xzIjpbeyJuYW1lIjoicmVhZCIsImRlc2NyaXB0aW9uIjoiUmVhZCB0aGUgY29udGVudHMgb2YgYSBmaWxlLiBTdXBwb3J0cyB0ZXh0IGZpbGVzIGFuZCBpbWFnZXMgKGpwZywgcG5nLCBnaWYsIHdlYnAsIGJtcCkuIEltYWdlcyBhcmUgc2VudCBhcyBhdHRhY2htZW50cy4gRm9yIHRleHQgZmlsZXMsIG91dHB1dCBpcyB0cnVuY2F0ZWQgdG8gMjAwMCBsaW5lcyBvciA1MEtCICh3aGljaGV2ZXIgaXMgaGl0IGZpcnN0KS4gVXNlIG9mZnNldC9saW1pdCBmb3IgbGFyZ2UgZmlsZXMuIFdoZW4geW91IG5lZWQgdGhlIGZ1bGwgZmlsZSwgY29udGludWUgd2l0aCBvZmZzZXQgdW50aWwgY29tcGxldGUuIiwicGFyYW1ldGVycyI6eyJ0eXBlIjoib2JqZWN0IiwicmVxdWlyZWQiOlsicGF0aCJdLCJwcm9wZXJ0aWVzIjp7InBhdGgiOnsidHlwZSI6InN0cmluZyIsImRlc2NyaXB0aW9uIjoiUGF0aCB0byB0aGUgZmlsZSB0byByZWFkIChyZWxhdGl2ZSBvciBhYnNvbHV0ZSkifSwib2Zmc2V0Ijp7InR5cGUiOiJudW1iZXIiLCJkZXNjcmlwdGlvbiI6IkxpbmUgbnVtYmVyIHRvIHN0YXJ0IHJlYWRpbmcgZnJvbSAoMS1pbmRleGVkKSJ9LCJsaW1pdCI6eyJ0eXBlIjoibnVtYmVyIiwiZGVzY3JpcHRpb24iOiJNYXhpbXVtIG51bWJlciBvZiBsaW5lcyB0byByZWFkIn19fX0seyJuYW1lIjoiYmFzaCIsImRlc2NyaXB0aW9uIjoiRXhlY3V0ZSBhIGJhc2ggY29tbWFuZCBpbiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4gUmV0dXJucyBzdGRvdXQgYW5kIHN0ZGVyci4gT3V0cHV0IGlzIHRydW5jYXRlZCB0byBsYXN0IDIwMDAgbGluZXMgb3IgNTBLQiAod2hpY2hldmVyIGlzIGhpdCBmaXJzdCkuIElmIHRydW5jYXRlZCwgZnVsbCBvdXRwdXQgaXMgc2F2ZWQgdG8gYSB0ZW1wIGZpbGUuIE9wdGlvbmFsbHkgcHJvdmlkZSBhIHRpbWVvdXQgaW4gc2Vjb25kcy4iLCJwYXJhbWV0ZXJzIjp7InR5cGUiOiJvYmplY3QiLCJyZXF1aXJlZCI6WyJjb21tYW5kIl0sInByb3BlcnRpZXMiOnsiY29tbWFuZCI6eyJ0eXBlIjoic3RyaW5nIiwiZGVzY3JpcHRpb24iOiJCYXNoIGNvbW1hbmQgdG8gZXhlY3V0ZSJ9LCJ0aW1lb3V0Ijp7InR5cGUiOiJudW1iZXIiLCJkZXNjcmlwdGlvbiI6IlRpbWVvdXQgaW4gc2Vjb25kcyAob3B0aW9uYWwsIG5vIGRlZmF1bHQgdGltZW91dCkifX19fSx7Im5hbWUiOiJlZGl0IiwiZGVzY3JpcHRpb24iOiJFZGl0IGEgc2luZ2xlIGZpbGUgdXNpbmcgZXhhY3QgdGV4dCByZXBsYWNlbWVudC4gRXZlcnkgZWRpdHNbXS5vbGRUZXh0IG11c3QgbWF0Y2ggYSB1bmlxdWUsIG5vbi1vdmVybGFwcGluZyByZWdpb24gb2YgdGhlIG9yaWdpbmFsIGZpbGUuIElmIHR3byBjaGFuZ2VzIGFmZmVjdCB0aGUgc2FtZSBibG9jayBvciBuZWFyYnkgbGluZXMsIG1lcmdlIHRoZW0gaW50byBvbmUgZWRpdCBpbnN0ZWFkIG9mIGVtaXR0aW5nIG92ZXJsYXBwaW5nIGVkaXRzLiBEbyBub3QgaW5jbHVkZSBsYXJnZSB1bmNoYW5nZWQgcmVnaW9ucyBqdXN0IHRvIGNvbm5lY3QgZGlzdGFudCBjaGFuZ2VzLiIsInBhcmFtZXRlcnMiOnsidHlwZSI6Im9iamVjdCIsInJlcXVpcmVkIjpbInBhdGgiLCJlZGl0cyJdLCJwcm9wZXJ0aWVzIjp7InBhdGgiOnsidHlwZSI6InN0cmluZyIsImRlc2NyaXB0aW9uIjoiUGF0aCB0byB0aGUgZmlsZSB0byBlZGl0IChyZWxhdGl2ZSBvciBhYnNvbHV0ZSkifSwiZWRpdHMiOnsidHlwZSI6ImFycmF5IiwiaXRlbXMiOnsidHlwZSI6Im9iamVjdCIsInJlcXVpcmVkIjpbIm9sZFRleHQiLCJuZXdUZXh0Il0sInByb3BlcnRpZXMiOnsib2xkVGV4dCI6eyJ0eXBlIjoic3RyaW5nIiwiZGVzY3JpcHRpb24iOiJFeGFjdCB0ZXh0IGZvciBvbmUgdGFyZ2V0ZWQgcmVwbGFjZW1lbnQuIEl0IG11c3QgYmUgdW5pcXVlIGluIHRoZSBvcmlnaW5hbCBmaWxlIGFuZCBtdXN0IG5vdCBvdmVybGFwIHdpdGggYW55IG90aGVyIGVkaXRzW10ub2xkVGV4dCBpbiB0aGUgc2FtZSBjYWxsLiJ9LCJuZXdUZXh0Ijp7InR5cGUiOiJzdHJpbmciLCJkZXNjcmlwdGlvbiI6IlJlcGxhY2VtZW50IHRleHQgZm9yIHRoaXMgdGFyZ2V0ZWQgZWRpdC4ifX19LCJkZXNjcmlwdGlvbiI6Ik9uZSBvciBtb3JlIHRhcmdldGVkIHJlcGxhY2VtZW50cy4gRWFjaCBlZGl0IGlzIG1hdGNoZWQgYWdhaW5zdCB0aGUgb3JpZ2luYWwgZmlsZSwgbm90IGluY3JlbWVudGFsbHkuIERvIG5vdCBpbmNsdWRlIG92ZXJsYXBwaW5nIG9yIG5lc3RlZCBlZGl0cy4gSWYgdHdvIGNoYW5nZXMgdG91Y2ggdGhlIHNhbWUgYmxvY2sgb3IgbmVhcmJ5IGxpbmVzLCBtZXJnZSB0aGVtIGludG8gb25lIGVkaXQgaW5zdGVhZC4ifX19fSx7Im5hbWUiOiJ3cml0ZSIsImRlc2NyaXB0aW9uIjoiV3JpdGUgY29udGVudCB0byBhIGZpbGUuIENyZWF0ZXMgdGhlIGZpbGUgaWYgaXQgZG9lc24ndCBleGlzdCwgb3ZlcndyaXRlcyBpZiBpdCBkb2VzLiBBdXRvbWF0aWNhbGx5IGNyZWF0ZXMgcGFyZW50IGRpcmVjdG9yaWVzLiIsInBhcmFtZXRlcnMiOnsidHlwZSI6Im9iamVjdCIsInJlcXVpcmVkIjpbInBhdGgiLCJjb250ZW50Il0sInByb3BlcnRpZXMiOnsicGF0aCI6eyJ0eXBlIjoic3RyaW5nIiwiZGVzY3JpcHRpb24iOiJQYXRoIHRvIHRoZSBmaWxlIHRvIHdyaXRlIChyZWxhdGl2ZSBvciBhYnNvbHV0ZSkifSwiY29udGVudCI6eyJ0eXBlIjoic3RyaW5nIiwiZGVzY3JpcHRpb24iOiJDb250ZW50IHRvIHdyaXRlIHRvIHRoZSBmaWxlIn19fX0seyJuYW1lIjoid2ViX3NlYXJjaCIsImRlc2NyaXB0aW9uIjoiU2VhcmNoIHRoZSBwdWJsaWMgd2ViIGFuZCByZXR1cm4gcmVzdWx0IHRpdGxlcywgVVJMcywgYW5kIHNuaXBwZXRzLiIsInBhcmFtZXRlcnMiOnsidHlwZSI6Im9iamVjdCIsInJlcXVpcmVkIjpbInF1ZXJ5Il0sInByb3BlcnRpZXMiOnsicXVlcnkiOnsidHlwZSI6InN0cmluZyIsImRlc2NyaXB0aW9uIjoiV2ViIHNlYXJjaCBxdWVyeSJ9LCJtYXhSZXN1bHRzIjp7InR5cGUiOiJpbnRlZ2VyIiwibWluaW11bSI6MSwibWF4aW11bSI6MTB9fX19LHsibmFtZSI6IndlYl9mZXRjaCIsImRlc2NyaXB0aW9uIjoiRmV0Y2ggYSBwdWJsaWMgd2ViIHBhZ2UgYW5kIGV4dHJhY3QgcmVhZGFibGUgdGV4dCBmcm9tIGl0LiIsInBhcmFtZXRlcnMiOnsidHlwZSI6Im9iamVjdCIsInJlcXVpcmVkIjpbInVybCJdLCJwcm9wZXJ0aWVzIjp7InVybCI6eyJ0eXBlIjoic3RyaW5nIiwiZGVzY3JpcHRpb24iOiJQdWJsaWMgaHR0cChzKSBVUkwgdG8gZmV0Y2gifSwibWF4Q2hhcnMiOnsidHlwZSI6ImludGVnZXIiLCJtaW5pbXVtIjoxMDAwLCJtYXhpbXVtIjozMDAwMH19fX1dfQ==</script>
+ <script id="session-data" type="application/json">eyJoZWFkZXIiOnsidHlwZSI6InNlc3Npb24iLCJ2ZXJzaW9uIjozLCJpZCI6IjAxOWY5OTk5LWNjZGQtNzIzNC05MTJhLTYyZTViNjhhN2U5ZCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MDEuMzQxWiIsImN3ZCI6Ii9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIifSwiZW50cmllcyI6W3sidHlwZSI6Im1vZGVsX2NoYW5nZSIsImlkIjoiZWM1ZjI0YjUiLCJwYXJlbnRJZCI6bnVsbCwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDowNzowMS4zOTZaIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbElkIjoiZ3B0LTUuNi1zb2wifSx7InR5cGUiOiJ0aGlua2luZ19sZXZlbF9jaGFuZ2UiLCJpZCI6ImE0OTBjZmRkIiwicGFyZW50SWQiOiJlYzVmMjRiNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MDEuMzk2WiIsInRoaW5raW5nTGV2ZWwiOiJtZWRpdW0ifSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3YjI0OWE0NCIsInBhcmVudElkIjoiYTQ5MGNmZGQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjA3OjEyLjAwMVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiaW4gdGhpcyByZXBvIGkgaGF2ZSBhbHQtcm9vdGZzLWluc3RhbGxlciBzY3JpcHRzIHRoYXQgYXJlIHVzZWQgdG8gZmxhc2ggcm9vdGZzIHRvIHNvbWUgZGlmZmVyZW50IFNCQ3MuIENyZWF0ZSBpZGlvbWF0aWMgYWR3YWl0YSBndGsgaW50ZXJmYWNlXG50aGF0IGlzIHNvbWV3aGF0IG1pcnJvcnMgdGhpcyBzY3JpcHQuIHlvdSBkb24ndCBhY3R1YWxseSBuZWVkIHRvIGltcGxlbWVudCB0aGUgZmxhc2hpbmcsIGp1c3QgdGhlIGludGVyZmFjZS4gZG8gaXQgaW4gY3VycmVudCBydXN0IHByb2plY3QuIGFzayBpZiBhbnkgcXVlc3Rpb25zIGFyaXNlLiJ9XSwidGltZXN0YW1wIjoxNzg0OTg4NDMxOTk4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZDliYjgzNDciLCJwYXJlbnRJZCI6IjdiMjQ5YTQ0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDowNzoxOC4zMjBaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIHJlcG9zaXRvcnkgaW5zcGVjdGlvbioqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMTNhZTdjODE5MTg5ZDJiZmZkMmYzMDBiYWZcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1NV0JKMmxMM3NjRGdXM2xMeUtrY1EyeDdOelgyaGIyU2NXQ1lJV2xOSk5TbGM1OHFBTnpiZFVKQl9fRlBPdTBpTjhYMGU3b011S2syMW1HNVpIUlJCUmxSLVU3SjdTMDNMbFA2QS13aWpNSXlyS3BRd3JJdExiQk9xUTNuYmU4aTQ4SHlpZG5kOFpwRGppZG4yRENUMDdUUmNBVkltYjFIQXZmWHZ1TjFHLW53WjJHOFpvMENVWS1tT2gxa0prSDlrNng3QXJTMzdRYk1wUTdpb25fT3E5MzJVNnZYdVdyMUZUQXlHSUh5ZkhMYUV4UXdRSlpabDhHU2puMFJkUDhzTFBuTVE0Szlac1U0Z05kX2N1VUlaV2FuVi1LdnRjQkw5SFQ2R09PT2lLclF4NFhXYUZ5eXJCUVBsZkhWQVNBclJCemNOQjRnUnYzM3J4QkhtaDlJb0g1ZmYzam1wLXhzTENFTXNKNjVHcGExVlBYLXp0aXdVUEl1YV8xejYydWJGaFhYdTNzV1U2VVI3SGUzTXRxdkY3d2ltYzhBVmZaLTl1dFZsVFpvS2JrTFVZdUdRQW9kSTkycGNNR1hyNDRKNlg5OE1UV2VlRVh2WVMxa1pUeF9QQWtkTlRJT1Z4bFVEeDJKVy1fclFzOXZZUnp3enhJZXRlU3RsZl94RFcySHdfVWFPWFBlNFdjRkhhWjZ4VS0yN1hjcklyZ0FzYkh0NUNoUDJLMWtoUU5zZW1LaW1pM3g3ZHJFemRWVzZuQ29qVW9DemVveDdMelEtNzM5U19FUFhYNWduRUJSa2hTcDVyVlNrUXYxZUVUU3FOUmd3UzZOTE9VOWJNcnhpNVhab215dEx6YWlEVDJ0VWdYZU9GQm5ITm5WUjdxcE1FMzRBY1hRVGN2NUNMeVN2MTVjckNqMWUyVXpmZEx6ZmV2elJ4WUZjNXd2czduZkV4ZTd1QjEteUNRNlJwd3pyLWIzaVBoeXJtRVZQT1FpSlBZNjFVMFNoeXU2MW5oNEdEYmFhd3RoMWpFUWR2OENGR3JLY0p4QTZXV1RPcWM3Sy0wdE5sLTQ5UHU3emd4aXZ2ZnZwR2pxbmVUMXQ3U3dUdXgzWGVfc0NQaGxwOVZZam5aZ3FWb3BUeWhKeC1xLWduY0RvU2c1SWVMMmd3VkZJQ3BKUFlxTTEzRDAxeFBiNmM0dUVwQkZnSlRXczNjcGpHT2dscFA1SDE3bDJ2bGR0Rl84dHRzZnpyZkR3dDZsWWw4VlVlVTdZb1R5RlN5SUc2NVNGUlwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqUGxhbm5pbmcgcmVwb3NpdG9yeSBpbnNwZWN0aW9uKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX3dPSjB3ckdSUlZGUVZEYzJxWHRIWFA1c3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMxNjJjOTA4MTkxYTg5ZmFhYTU3NzIzZDFjMyIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJwcmludGYgJyVzXFxuJyAnLS0tIGVudiAtLS0nOyBlbnYgfCBncmVwICdeUElfJyB8fCB0cnVlOyBwcmludGYgJyVzXFxuJyAnLS0tIGZpbGVzIC0tLSc7IGZpbmQgLiAtbWF4ZGVwdGggMyAtdHlwZSBmIC1wcmludCB8IHNvcnQgfCBoZWFkIC0zMDAifX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfS1FxRUpjS04zeEcwbXJYd1g5TGMwRWFYfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzE2MmNiMDgxOTE4Y2M3Yjg0ZGFhYzg3YjdlIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImZpbmQgLi4gLW1heGRlcHRoIDQgLXR5cGUgZiBcXCggLWluYW1lICcqYWx0KnJvb3RmcyonIC1vIC1pbmFtZSAnKi5zaCcgXFwpIC1wcmludCB8IHNvcnQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEzMTEsIm91dHB1dCI6MTQwLCJjYWNoZVJlYWQiOjAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6OSwidG90YWxUb2tlbnMiOjE0NTEsImNvc3QiOnsiaW5wdXQiOjAuMDA2NTU1MDAwMDAwMDAwMDAxLCJvdXRwdXQiOjAuMDA0MiwiY2FjaGVSZWFkIjowLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMTA3NTV9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODg0MzIwMTIsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzEyNjNiODgxOTE4YzlkY2M5YjJhMWViNTkzIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImUwOGZjOTZhIiwicGFyZW50SWQiOiJkOWJiODM0NyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MTkuNDkzWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF93T0owd3JHUlJWRlFWRGMycVh0SFhQNXN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMTYyYzkwODE5MWE4OWZhYWE1NzcyM2QxYzMiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiItLS0gZW52IC0tLVxuUElfQ09ESU5HX0FHRU5UPXRydWVcblBJX1JFQVNPTklOR19MRVZFTD1tZWRpdW1cblBJX1NFU1NJT05fRklMRT0vaG9tZS9hZ3VzY2hpbi8ucGkvYWdlbnQvc2Vzc2lvbnMvLS1ob21lLWFndXNjaGluLVByb2plY3RzLWZsYXNoZXItLS8yMDI2LTA3LTI1VDE0LTA3LTAxLTM0MVpfMDE5Zjk5OTktY2NkZC03MjM0LTkxMmEtNjJlNWI2OGE3ZTlkLmpzb25sXG5QSV9QUk9WSURFUj1vcGVuYWktY29kZXhcblBJX01PREVMPWdwdC01LjYtc29sXG5QSV9TRVNTSU9OX0lEPTAxOWY5OTk5LWNjZGQtNzIzNC05MTJhLTYyZTViNjhhN2U5ZFxuLS0tIGZpbGVzIC0tLVxuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9hbHQtcm9vdGZzLWluc3RhbGxlclxuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9hbHQtcm9vdGZzLWluc3RhbGxlci5zcGVjXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL0FVVEhPUlNcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvQ09QWUlOR1xuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9FWFRSQV9PUFRJT05TXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL2Z1bmN0aW9uc1xuLi9hbHQtcm9vdGZzLWluc3RhbGxlci8uZ2Vhci9ydWxlc1xuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9sb2dcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvUkVBRE1FXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL3NoZWxsLWNvbmZpZ1xuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9zaGVsbC1lcnJvclxuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9zaGVsbC10ZXJtaW5mb1xuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9zb2NzLmQvQWxsV2lubmVyLWFhcmNoNjQuc2hcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvc29jcy5kL0FsbFdpbm5lci1yaXNjdjY0LnNoXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL3NvY3MuZC9LMXgtcmlzY3Y2NC5zaFxuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvc29jcy5kL1NpRml2ZS1yaXNjdjY0LnNoXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL3NvY3MuZC9TdGFyRml2ZS1yaXNjdjY0LnNoXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL3NvY3MuZC91bmtub3duLXNvYy5zaFxuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9TVVBQT1JURUQtQk9BUkRTXG4uL0NhcmdvLmxvY2tcbi4vQ2FyZ28udG9tbFxuLi8uZ2l0L0NPTU1JVF9FRElUTVNHXG4uLy5naXQvY29uZmlnXG4uLy5naXQvZGVzY3JpcHRpb25cbi4vLmdpdC9IRUFEXG4uLy5naXRpZ25vcmVcbi4vLmdpdC9pbmRleFxuLi8uZ2l0L2luZm8vZXhjbHVkZVxuLi8uZ2l0L2xvZ3MvSEVBRFxuLi9zcmMvbWFpbi5yc1xuLi90YXJnZXQvQ0FDSEVESVIuVEFHXG4uL3RhcmdldC9kZWJ1Zy8uY2FyZ28tYXJ0aWZhY3QtbG9ja1xuLi90YXJnZXQvZGVidWcvLmNhcmdvLWJ1aWxkLWxvY2tcbi4vdGFyZ2V0L2RlYnVnLy5jYXJnby1sb2NrXG4uL3RhcmdldC9kZWJ1Zy9mbGFzaGVyXG4uL3RhcmdldC9kZWJ1Zy9mbGFzaGVyLmRcbi4vdGFyZ2V0Ly5ydXN0Y19pbmZvLmpzb25cbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODQzOTQ5M319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjFhZWRmMzVhIiwicGFyZW50SWQiOiJlMDhmYzk2YSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MTkuNDkzWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9LUXFFSmNLTjN4RzBtclh3WDlMYzBFYVh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMTYyY2IwODE5MThjYzdiODRkYWFjODdiN2UiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIuLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvYWx0LXJvb3Rmcy1pbnN0YWxsZXJcbi4uL2FsdC1jb250cm9sbGVyLWluc3RhbGxlci9hbHQtcm9vdGZzLWluc3RhbGxlci5zcGVjXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL0FsbFdpbm5lci1hYXJjaDY0LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL0FsbFdpbm5lci1yaXNjdjY0LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL2JibC1yaXNjdjY0LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL2dlbmVyaWMteDg2LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL0hpRml2ZVVubGVhc2hlZC1yaXNjdjY0LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL0hpRml2ZVVubWF0Y2hlZC1yaXNjdjY0LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL1JvY2tjaGlwcy1hYXJjaDY0LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL1NpRml2ZS1yaXNjdjY0LnNoXG4uLi9hbHQtY29udHJvbGxlci1pbnN0YWxsZXIvc29jcy5kL3Vua25vd24tc29jLnNoXG4uLi9jb252ZXJ0X3BuZ190b19hdmlmLnNoXG4uLi9jb252LnNoXG4uLi9jb3Vyc2V3b3JrLXllYXIyL3JlcG9ydC9tZXJnZS5zaFxuLi4vZG90ZmlsZXMvLmNvbmZpZy9wb2x5YmFyL2xhdW5jaC5zaFxuLi4vZmZtcGVnLXJvY2tjaGlwL2RvYy9kb3h5LXdyYXBwZXIuc2hcbi4uL2ZmbXBlZy1yb2NrY2hpcC9mZmJ1aWxkL2xpYnZlcnNpb24uc2hcbi4uL2ZmbXBlZy1yb2NrY2hpcC9mZmJ1aWxkL3BrZ2NvbmZpZ19nZW5lcmF0ZS5zaFxuLi4vZmZtcGVnLXJvY2tjaGlwL2ZmYnVpbGQvdmVyc2lvbi5zaFxuLi4vZmZtcGVnLXJvY2tjaGlwL3Rlc3RzL2NvcHljb29rZXIuc2hcbi4uL2ZmbXBlZy1yb2NrY2hpcC90ZXN0cy9mYXRlLXJ1bi5zaFxuLi4vZmZtcGVnLXJvY2tjaGlwL3Rlc3RzL2ZhdGUuc2hcbi4uL2ZmbXBlZy1yb2NrY2hpcC90ZXN0cy9mYXRlL3NvdXJjZS1jaGVjay5zaFxuLi4vZmZtcGVnLXJvY2tjaGlwL3Rlc3RzL21kNS5zaFxuLi4vZmZtcGVnLXJvY2tjaGlwL3Rvb2xzL3RhcmdldF9kZWNfZmF0ZS5zaFxuLi4vZmxhc2hlci9hbHQtcm9vdGZzLWluc3RhbGxlci9hbHQtcm9vdGZzLWluc3RhbGxlclxuLi4vZmxhc2hlci9hbHQtcm9vdGZzLWluc3RhbGxlci9hbHQtcm9vdGZzLWluc3RhbGxlci5zcGVjXG4uLi9mbGFzaGVyL2FsdC1yb290ZnMtaW5zdGFsbGVyL3NvY3MuZC9BbGxXaW5uZXItYWFyY2g2NC5zaFxuLi4vZmxhc2hlci9hbHQtcm9vdGZzLWluc3RhbGxlci9zb2NzLmQvQWxsV2lubmVyLXJpc2N2NjQuc2hcbi4uL2ZsYXNoZXIvYWx0LXJvb3Rmcy1pbnN0YWxsZXIvc29jcy5kL0sxeC1yaXNjdjY0LnNoXG4uLi9mbGFzaGVyL2FsdC1yb290ZnMtaW5zdGFsbGVyL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxuLi4vZmxhc2hlci9hbHQtcm9vdGZzLWluc3RhbGxlci9zb2NzLmQvU2lGaXZlLXJpc2N2NjQuc2hcbi4uL2ZsYXNoZXIvYWx0LXJvb3Rmcy1pbnN0YWxsZXIvc29jcy5kL1N0YXJGaXZlLXJpc2N2NjQuc2hcbi4uL2ZsYXNoZXIvYWx0LXJvb3Rmcy1pbnN0YWxsZXIvc29jcy5kL3Vua25vd24tc29jLnNoXG4uLi9nYW1vdmEvZG9jL21ha2VyLnNoXG4uLi9saW51eC9hcmNoL202OGsvaW5zdGFsbC5zaFxuLi4vbGludXgvYXJjaC9wYXJpc2MvaW5zdGFsbC5zaFxuLi4vbGludXgva2VybmVsL2dlbl9raGVhZGVycy5zaFxuLi4vbGludXgvbGliL3Rlc3RfZm9ydGlmeS90ZXN0X2ZvcnRpZnkuc2hcbi4uL2xpbnV4L3NhbXBsZXMvYnBmL2RvX2hibV90ZXN0LnNoXG4uLi9saW51eC9zYW1wbGVzL2JwZi9sd3RfbGVuX2hpc3Quc2hcbi4uL2xpbnV4L3NhbXBsZXMvYnBmL3J1bl9jb29raWVfdWlkX2hlbHBlcl9leGFtcGxlLnNoXG4uLi9saW51eC9zYW1wbGVzL2JwZi90Y19sMl9yZWRpcmVjdC5zaFxuLi4vbGludXgvc2FtcGxlcy9icGYvdGVzdF9jbHNfYnBmLnNoXG4uLi9saW51eC9zYW1wbGVzL2JwZi90ZXN0X2x3dF9icGYuc2hcbi4uL2xpbnV4L3NhbXBsZXMvYnBmL3hkcDJza2JfbWV0YS5zaFxuLi4vbGludXgvc2FtcGxlcy9jaGVjay1leGVjL3J1bi1zY3JpcHQtYXNrLnNoXG4uLi9saW51eC9zYW1wbGVzL3BrdGdlbi9mdW5jdGlvbnMuc2hcbi4uL2xpbnV4L3NhbXBsZXMvcGt0Z2VuL3BhcmFtZXRlcnMuc2hcbi4uL2xpbnV4L3NhbXBsZXMvcGt0Z2VuL3BrdGdlbl9iZW5jaF94bWl0X21vZGVfbmV0aWZfcmVjZWl2ZS5zaFxuLi4vbGludXgvc2FtcGxlcy9wa3RnZW4vcGt0Z2VuX2JlbmNoX3htaXRfbW9kZV9xdWV1ZV94bWl0LnNoXG4uLi9saW51eC9zYW1wbGVzL3BrdGdlbi9wa3RnZW5fc2FtcGxlMDFfc2ltcGxlLnNoXG4uLi9saW51eC9zYW1wbGVzL3BrdGdlbi9wa3RnZW5fc2FtcGxlMDJfbXVsdGlxdWV1ZS5zaFxuLi4vbGludXgvc2FtcGxlcy9wa3RnZW4vcGt0Z2VuX3NhbXBsZTAzX2J1cnN0X3NpbmdsZV9mbG93LnNoXG4uLi9saW51eC9zYW1wbGVzL3BrdGdlbi9wa3RnZW5fc2FtcGxlMDRfbWFueV9mbG93cy5zaFxuLi4vbGludXgvc2FtcGxlcy9wa3RnZW4vcGt0Z2VuX3NhbXBsZTA1X2Zsb3dfcGVyX3RocmVhZC5zaFxuLi4vbGludXgvc2FtcGxlcy9wa3RnZW4vcGt0Z2VuX3NhbXBsZTA2X251bWFfYXdhcmVkX3F1ZXVlX2lycV9hZmZpbml0eS5zaFxuLi4vbGludXgvc2NyaXB0cy9hcy12ZXJzaW9uLnNoXG4uLi9saW51eC9zY3JpcHRzL2F0b21pYy9hdG9taWMtdGJsLnNoXG4uLi9saW51eC9zY3JpcHRzL2F0b21pYy9nZW4tYXRvbWljLWZhbGxiYWNrLnNoXG4uLi9saW51eC9zY3JpcHRzL2F0b21pYy9nZW4tYXRvbWljLWluc3RydW1lbnRlZC5zaFxuLi4vbGludXgvc2NyaXB0cy9hdG9taWMvZ2VuLWF0b21pYy1sb25nLnNoXG4uLi9saW51eC9zY3JpcHRzL2F0b21pYy9nZW4tYXRvbWljcy5zaFxuLi4vbGludXgvc2NyaXB0cy9hdG9taWMvZ2VuLXJ1c3QtYXRvbWljLWhlbHBlcnMuc2hcbi4uL2xpbnV4L3NjcmlwdHMvY2MtY2FuLWxpbmsuc2hcbi4uL2xpbnV4L3NjcmlwdHMvY2MtdmVyc2lvbi5zaFxuLi4vbGludXgvc2NyaXB0cy9jaGVja2VyLXZhbGlkLnNoXG4uLi9saW51eC9zY3JpcHRzL2NoZWNrX2V4dGFibGUuc2hcbi4uL2xpbnV4L3NjcmlwdHMvY2hlY2stZnVuY3Rpb24tbmFtZXMuc2hcbi4uL2xpbnV4L3NjcmlwdHMvY2hlY2tzeXNjYWxscy5zaFxuLi4vbGludXgvc2NyaXB0cy9jaGVjay11YXBpLnNoXG4uLi9saW51eC9zY3JpcHRzL2RlY29kZV9zdGFja3RyYWNlLnNoXG4uLi9saW51eC9zY3JpcHRzL2RlcG1vZC5zaFxuLi4vbGludXgvc2NyaXB0cy9kZXYtbmVlZHMuc2hcbi4uL2xpbnV4L3NjcmlwdHMvZHRjL3VwZGF0ZS1kdGMtc291cmNlLnNoXG4uLi9saW51eC9zY3JpcHRzL2ZpbGUtc2l6ZS5zaFxuLi4vbGludXgvc2NyaXB0cy9nZW4tYnRmLnNoXG4uLi9saW51eC9zY3JpcHRzL2dlbi1yYW5kc3RydWN0LXNlZWQuc2hcbi4uL2xpbnV4L3NjcmlwdHMvZ2l0LXJlc29sdmUuc2hcbi4uL2xpbnV4L3NjcmlwdHMvaGVhZGVyc19pbnN0YWxsLnNoXG4uLi9saW51eC9zY3JpcHRzL2luc3RhbGwuc2hcbi4uL2xpbnV4L3NjcmlwdHMva2NvbmZpZy9nY29uZi1jZmcuc2hcbi4uL2xpbnV4L3NjcmlwdHMva2NvbmZpZy9tY29uZi1jZmcuc2hcbi4uL2xpbnV4L3NjcmlwdHMva2NvbmZpZy9tZXJnZV9jb25maWcuc2hcbi4uL2xpbnV4L3NjcmlwdHMva2NvbmZpZy9uY29uZi1jZmcuc2hcbi4uL2xpbnV4L3NjcmlwdHMva2NvbmZpZy9xY29uZi1jZmcuc2hcbi4uL2xpbnV4L3NjcmlwdHMvbGQtdmVyc2lvbi5zaFxuLi4vbGludXgvc2NyaXB0cy9saW5rLXZtbGludXguc2hcbi4uL2xpbnV4L3NjcmlwdHMvbWluLXRvb2wtdmVyc2lvbi5zaFxuLi4vbGludXgvc2NyaXB0cy9ta3Vib290LnNoXG4uLi9saW51eC9zY3JpcHRzL21vZHVsZXMtY2hlY2suc2hcbi4uL2xpbnV4L3NjcmlwdHMvb3JjX2hhc2guc2hcbi4uL2xpbnV4L3NjcmlwdHMvcGFob2xlLXZlcnNpb24uc2hcbi4uL2xpbnV4L3NjcmlwdHMvcmVsb2NzX2NoZWNrLnNoXG4uLi9saW51eC9zY3JpcHRzL3J1c3RjLWxsdm0tdmVyc2lvbi5zaFxuLi4vbGludXgvc2NyaXB0cy9ydXN0Yy12ZXJzaW9uLnNoXG4uLi9saW51eC9zY3JpcHRzL3J1c3RfaXNfYXZhaWxhYmxlLnNoXG4uLi9saW51eC9zY3JpcHRzL3NlbGludXgvaW5zdGFsbF9wb2xpY3kuc2hcbi4uL2xpbnV4L3NjcmlwdHMvc3BkeGNoZWNrLXRlc3Quc2hcbi4uL2xpbnV4L3NjcmlwdHMvc3lzY2FsbGhkci5zaFxuLi4vbGludXgvc2NyaXB0cy9zeXNjYWxsbnIuc2hcbi4uL2xpbnV4L3NjcmlwdHMvc3lzY2FsbHRibC5zaFxuLi4vbGludXgvc2NyaXB0cy90YWdzLnNoXG4uLi9saW51eC9zY3JpcHRzL3Rvb2xzLXN1cHBvcnQtcmVsci5zaFxuLi4vbGludXgvc2NyaXB0cy90cmFjaW5nL2Z0cmFjZS1iaXNlY3Quc2hcbi4uL2xpbnV4L3NjcmlwdHMveGVuLWh5cGVyY2FsbHMuc2hcbi4uL2xpbnV4L3NjcmlwdHMveHpfd3JhcC5zaFxuLi4vbGludXgvdG9vbHMvYm9vdGNvbmZpZy90ZXN0LWJvb3Rjb25maWcuc2hcbi4uL2xpbnV4L3Rvb2xzL2NlcnRzL3ByaW50LWNlcnQtdGJzLWhhc2guc2hcbi4uL2xpbnV4L3Rvb2xzL2RvY3MvZmVhdHVyZXMtcmVmcmVzaC5zaFxuLi4vbGludXgvdG9vbHMvZG9jcy9maW5kLXVudXNlZC1kb2NzLnNoXG4uLi9saW51eC90b29scy9kb2NzL2xpc3QtYXJjaC5zaFxuLi4vbGludXgvdG9vbHMvZ3Bpby9ncGlvLXNsb3BweS1sb2dpYy1hbmFseXplci5zaFxuLi4vbGludXgvdG9vbHMvaHYvaHZfZ2V0X2RoY3BfaW5mby5zaFxuLi4vbGludXgvdG9vbHMvaHYvaHZfZ2V0X2Ruc19pbmZvLnNoXG4uLi9saW51eC90b29scy9odi9odl9zZXRfaWZjb25maWcuc2hcbi4uL2xpbnV4L3Rvb2xzL2xlZHMvZ2V0X2xlZF9kZXZpY2VfaW5mby5zaFxuLi4vbGludXgvdG9vbHMvbW0vc2xhYmluZm8tZ251cGxvdC5zaFxuLi4vbGludXgvdG9vbHMvb2JqdG9vbC9zeW5jLWNoZWNrLnNoXG4uLi9saW51eC90b29scy9wZXJmL2NoZWNrLWhlYWRlcnMuc2hcbi4uL2xpbnV4L3Rvb2xzL3BlcmYvcGVyZi1hcmNoaXZlLnNoXG4uLi9saW51eC90b29scy9wZXJmL3BlcmYtY29tcGxldGlvbi5zaFxuLi4vbGludXgvdG9vbHMvcGVyZi9wZXJmLWlvc3RhdC5zaFxuLi4vbGludXgvdG9vbHMvcmN1L2V4dHJhY3Qtc3RhbGwuc2hcbi4uL2xpbnV4L3Rvb2xzL3JjdS9yY3UtdXBkYXRlcnMuc2hcbi4uL2xpbnV4L3Rvb2xzL3RpbWUvdWRlbGF5X3Rlc3Quc2hcbi4uL2xpbnV4L3Rvb2xzL3VzYi9oY2QtdGVzdHMuc2hcbi4uL2xpbnV4L3Vzci9nZW5faW5pdHJhbWZzLnNoXG4uLi9ta2ltYWdlLXByb2ZpbGVzL2ZlYXR1cmVzLmluLzAwZXhhbXBsZS9nZW5lcmF0ZS5zaFxuLi4vbXBwL2J1aWxkL2FuZHJvaWQvZW52X3NldHVwLnNoXG4uLi9tcHAvYnVpbGQvYW5kcm9pZC91cGRhdGUuc2hcbi4uL21wcC9idWlsZC9saW51eC9vcHRfcHJvYy5zaFxuLi4vbXBwL21lcmdlX3N0YXRpY19saWIuc2hcbi4uL21wcC90b29scy9jaGFuZ2Vsb2cuc2hcbi4uL21wcC90b29scy9tcHBfYXN0eWxlLnNoXG4uLi9tcHAvdG9vbHMvcmVzb2x1dGlvbl90ZXN0LnNoXG4uLi9uYXMtc2VydmljZXMvdGVtcC5zaFxuLi4vbm9zbGVlcC5zaFxuLi4vb3B1cy1yZXNlYXJjaC9jaGVjay5zaFxuLi4vb3B1cy1yZXNlYXJjaC9raXMvY2hlY2suc2hcbi4uL29wdXMtcmVzZWFyY2gva2lzL3J1bi5zaFxuLi4vb3B1cy1yZXNlYXJjaC9ydW4uc2hcbi4uL29wdXMtcmVzZWFyY2gvc29hZC9jaGVjay5zaFxuLi4vb3B1cy1yZXNlYXJjaC9zb2FkL3J1bi5zaFxuLi4vb3dydC9nZXRzc2guc2hcbi4uL3NzdS1ncmFwaGljcy1jb3Vyc2Uvb2xkbGF0ZXgvbGVzc29uMDEvbWFrZXIuc2hcbi4uL3NzdS1ncmFwaGljcy1jb3Vyc2Uvb2xkbGF0ZXgvbGVzc29uMDMvbWFrZXIuc2hcbi4uL3NzdS1ncmFwaGljcy1jb3Vyc2Uvb2xkbGF0ZXgvbWFrZXIuc2hcbi4uL3NzdS1ncmFwaGljcy1yYXlsaWIvc3N1LWdyYXBoaWNzLW9wZW5nbC9tYWtlci5zaFxuLi4vc3N1LWdyYXBoaWNzLXJheWxpYi9zc3UtZ3JhcGhpY3MtcmF5bGliL21ha2VyLnNoXG4uLi91LWJvb3QvZG9jL3NwaGlueC9wYXJhbGxlbC13cmFwcGVyLnNoXG4uLi91LWJvb3Qvc2NyaXB0cy9iaW51dGlscy12ZXJzaW9uLnNoXG4uLi91LWJvb3Qvc2NyaXB0cy9idWlsZC1jYi5zaFxuLi4vdS1ib290L3NjcmlwdHMvYnVpbGQtZWZpLnNoXG4uLi91LWJvb3Qvc2NyaXB0cy9jaGVjay1vZi5zaFxuLi4vdS1ib290L3NjcmlwdHMvY2xhbmctdmVyc2lvbi5zaFxuLi4vdS1ib290L3NjcmlwdHMvZHRjL3VwZGF0ZS1kdGMtc291cmNlLnNoXG4uLi91LWJvb3Qvc2NyaXB0cy9kdGMtdmVyc2lvbi5zaFxuLi4vdS1ib290L3NjcmlwdHMvZ2NjLXN0YWNrLXVzYWdlLnNoXG4uLi91LWJvb3Qvc2NyaXB0cy9nY2MtdmVyc2lvbi5zaFxuLi4vdS1ib290L3NjcmlwdHMvZ2VuX2xsX2FkZHJlc3NhYmxlX3N5bWJvbHMuc2hcbi4uL3UtYm9vdC9zY3JpcHRzL2dldF9kZWZhdWx0X2VudnMuc2hcbi4uL3UtYm9vdC9zY3JpcHRzL2tjb25maWcvZ2NvbmYtY2ZnLnNoXG4uLi91LWJvb3Qvc2NyaXB0cy9rY29uZmlnL21jb25mLWNmZy5zaFxuLi4vdS1ib290L3NjcmlwdHMva2NvbmZpZy9tZXJnZV9jb25maWcuc2hcbi4uL3UtYm9vdC9zY3JpcHRzL2tjb25maWcvbmNvbmYtY2ZnLnNoXG4uLi91LWJvb3Qvc2NyaXB0cy9rY29uZmlnL3Fjb25mLWNmZy5zaFxuLi4vdS1ib290L3NjcmlwdHMvbGQtdmVyc2lvbi5zaFxuLi4vdS1ib290L3NjcmlwdHMvbWFrZV9waXAuc2hcbi4uL3UtYm9vdC90ZXN0L2ZzL2ZhdC1ub25jb250aWctdGVzdC5zaFxuLi4vdS1ib290L3Rlc3QvZnMvZnMtdGVzdC5zaFxuLi4vdS1ib290L3Rlc3QvaW1hZ2UvdGVzdC1pbWFnZXRvb2xzLnNoXG4uLi91LWJvb3QvdGVzdC9zdGRpbnQvdGVzdC1pbmNsdWRlcy5zaFxuLi4vdS1ib290L3Rvb2xzL2lteDhtX2ltYWdlLnNoXG4uLi91LWJvb3QvdG9vbHMvaW14OV9pbWFnZS5zaFxuLi4vdS1ib290L3Rvb2xzL2lteF9jbnRyX2ltYWdlLnNoXG4uLi91LWJvb3QvdG9vbHMvaW90MjA1MC1zaWduLWZ3LnNoXG4uLi91LWJvb3QvdG9vbHMvdXBkYXRlLXN1YnRyZWUuc2hcbi4uL3UtYm9vdC90b29scy96eW5xbXBfcHN1X2luaXRfbWluaW1pemUuc2hcbi4uL3YycmF5Ti9wYWNrYWdlLWRlYmlhbi1sb29uZy5zaFxuLi4vdjJyYXlOL3BhY2thZ2UtZGViaWFuLXJpc2N2LnNoXG4uLi92MnJheU4vcGFja2FnZS1kZWJpYW4uc2hcbi4uL3YycmF5Ti9wYWNrYWdlLW9zeC5zaFxuLi4vdjJyYXlOL3BhY2thZ2UtcmhlbC1yaXNjdi5zaFxuLi4vdjJyYXlOL3BhY2thZ2UtcmhlbC5zaFxuLi4vdnRjLWRlcGxveS92dGMtaW5mcmEvaW5pdC1zZXJ2LnNoXG4uLi93bHJvb3RzL2JhY2tlbmQvZHJtL2dlbl9wbnBpZHMuc2hcbi4uL3hwYWRuZW8vY29uZmlndXJlLnNoXG4uLi94cGFkbmVvL2luc3RhbGwuc2hcbi4uL3hwYWRuZW8vbGliL2luc3RhbGxlci5zaFxuLi4veHBhZG5lby9saWIvdmVyYm9zZS5zaFxuLi4veHBhZG5lby91bmluc3RhbGwuc2hcbi4uL3hwYWRuZW8vdXBkYXRlLnNoXG4uLi95dC1kbHAveXQtZGxwLnNoXG4uLi96eDJjNC9HaXRUb29scy9vbGQvTWlncmF0ZUZyb21HaXR3ZWJVbml4UGVybVRvR2l0b2xpdGUuc2hcbi4uL3p4MmM0L0dpdFRvb2xzL29sZC9OZXdDR2l0VW5peFBlcm1HaXRQcm9qZWN0LnNoXG4uLi96eDJjNC9HaXRUb29scy9vbGQvVXBsb2FkQ29udGVudHNUb0FueWNsaXBTZXJ2ZXIuc2hcbi4uL3p4MmM0L0dpdFRvb2xzL29sZC9VcGxvYWROZXdHaXRHaXR3ZWJVbml4UGVybS5zaFxuLi4vengyYzQvR2l0VG9vbHMvdXBsb2FkTmV3R2l0LnNoXG4uLi96eDJjNC9TdHJpcGUtQ1RGL2xldmVsMDEuc2hcbi4uL3p4MmM0L1N0cmlwZS1DVEYvbGV2ZWwwMi5zaFxuLi4vengyYzQvU3RyaXBlLUNURi9sZXZlbDAzLnNoXG4uLi96eDJjNC9TdHJpcGUtQ1RGL2xldmVsMDQuc2hcbi4uL3p4MmM0L1N0cmlwZS1DVEYvbGV2ZWwwNS5zaFxuLi4vengyYzQvd2lyZWd1YXJkLWhzL3Rlc3RzL2JlbmNoLnNoXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg0Mzk0OTN9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI2ZWYwYzQ1ZSIsInBhcmVudElkIjoiMWFlZGYzNWEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjA3OjI0LjEwNFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqUmV2aWV3aW5nIGNhcmdvIHNjcmlwdCBvcHRpb25zKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMxOTJiMTQ4MTkxODdkYWEyZDRlNzFlYTg3MFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTU1iTUZORlpsalVPT2F3YXFkYWM5c2Y2Z2JUZnU4OVNFbzNzVU1PZnM2WU52RlVwTVpoRnp4RTJmOW9pQlllczhEUkR0aDVOXzAtZUlQRktxNGJWYVJpUGRrSjdlUVJUbDR2YXAyaHZtYXpNSHdUQlZYSmp6eE54NjhzQmJCamJwV3ZXOW9OemNQa1oxQVFrM2E2dUtIYmRyZVRxRTdaOE03eUlGcjM0ckEwelh5MV9kUFJjSkZ2Q3VjcG5IalNKNThLTVFXaHdyZExQZlgzZGJaamFENlV3UnVIVlBtNUdnaUxiY2hLTnVxVWJIQ1pIX1h3X3BVc195MG8zQ3Z0M3Z3em82V2tfWVZvZHFyaUMyVGdmblctYVVZczloRk5PbjZMZFFrZHRWTFg4VlZKcG5VRnRRVHdzY2g2MjhfbXI2dVE5QlRhT1FoN3R3cnFiQTVUQmpmd052MjdZSHNHTjFVcThtNjZReGk2R2ZrWVZMOVlxazF6QTBMVHFNOTA2dnd3T3M4N1BUTElMemxGc0dGMDc2YVdDMmxicm5TRWQ1Z2RrYjk4V0xOTUQ2ekg3WjRaUFkzZUZsYW1BczVEaXZNM2lHWTFTSlNTVU56MmJtU05PSXJiMnFuS2pFQUttejlqMUZ0bTA5cjBrdC1pZEw2TkhyZ2JXUi1rcXNJcl9GMzBwOE91dHlxT2pxX0JCS2UxYWszZXBocXVtQ1dLM3M1Nm9FVGV0aFJuT0h2dU16bTNuZ3k3cmdIa1FOWHE1cXFOdnpidXhHaFllNUtZMnBydV9tYzZWTEpvcm5pZUl0SExqZmdOaldYS2Y3d2puUjhZeTBGTWVUTUF6VGRKZVJ3d1RzcGZUbG1Xa0FEajJVdUZEX20ydEx4WnM3dldsZWpCUmRQbmtrOUJHSWc2V0pmeFFQWktiTEpsVHhITWxRWVFJY0hMVmJGbjRCMmI0S2RvRHVPVE02bmpmVFVlRVdTOHRad2wxQy12MGs3SEJ0WGJVTFhkU1p3QnBMWW5xcUhrbng3LWt6OXhXWTl1RjdVU2Jod0hKbmVEbER0aS1CRGZRUmR6QzYxWF92WGFVcjktb2NTWEVhXzQwbFl1a3R4SzFjOXoyWHU3bEZCcndtX3F6Nm1DNHk4T1ZqVUluUDBVY0NiRmxsNUsxMk9zR0R5MGZZOFdERnpnS0xULU1oc1R4cFVLTE5maHJ3TWh5bm5GMWtHZERoMUJmTnZnVGxzU3dfcUlmRHBzbWRGMlVoOGVhejV5SUVnUHZMTEFXOEh0R2x5M0FVeWxoSlpmSGdFR0tXbURxZzRHUXZvT2dtLW83eDBXaGlCTE42dz1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlJldmlld2luZyBjYXJnbyBzY3JpcHQgb3B0aW9ucyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9Wa0hOZmkzNnRwMkZPSWpHSjRMeUlWeTd8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMWJlZjdjODE5MWEzM2MzOTcxZjg2Mjg1OWYiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiQ2FyZ28udG9tbCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF95VERPU3Vpak1IU2x5dFh2aFh2bmhkQWh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMWJlZjk0ODE5MTkzMWE2N2M4YjE1ZGYwYWUiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoic3JjL21haW4ucnMifX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfNVJsa1E4c3QzdE8zN2ZWZG15a1ZjaEIzfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzFiZWY5YzgxOTFiMjk2MzUxZmNmN2ZlMTk5IiwibmFtZSI6InJlYWQiLCJhcmd1bWVudHMiOnsicGF0aCI6ImFsdC1yb290ZnMtaW5zdGFsbGVyL1JFQURNRSJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF85eTlrenU3Q2dRcHQ0dmFKU3BIb1R1Vkp8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMWJlZmE4ODE5MTgxMTAxYWQ0ZjU5ZTBmMWMiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiYWx0LXJvb3Rmcy1pbnN0YWxsZXIvRVhUUkFfT1BUSU9OUyJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9aazdXRzFTYlk3TFlPdUx1cVJsdGRaR1h8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMWJlZmIwODE5MWFhNTAwM2VjZWVhOWE2YTMiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiYWx0LXJvb3Rmcy1pbnN0YWxsZXIvU1VQUE9SVEVELUJPQVJEUyJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF81dHdaeDRuMmhxN2taTEJyZnVjQ1ZjYTl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMWJlZmI4ODE5MTgzMjhhMjgzMzgxNDBiZDYiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiYWx0LXJvb3Rmcy1pbnN0YWxsZXIvYWx0LXJvb3Rmcy1pbnN0YWxsZXIiLCJsaW1pdCI6MTAwMH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo0Mzk0LCJvdXRwdXQiOjE1NiwiY2FjaGVSZWFkIjowLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjEzLCJ0b3RhbFRva2VucyI6NDU1MCwiY29zdCI6eyJpbnB1dCI6MC4wMjE5NzAwMDAwMDAwMDAwMDMsIm91dHB1dCI6MC4wMDQ2OCwiY2FjaGVSZWFkIjowLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMjY2NTAwMDAwMDAwMDAwMDR9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODg0Mzk0OTQsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzE3ZDYzNDgxOTE5YzQ4Nzg0YWQ2YzVlNzczIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImYzNTQ1NDc0IiwicGFyZW50SWQiOiI2ZWYwYzQ1ZSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MjQuMTA4WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9Wa0hOZmkzNnRwMkZPSWpHSjRMeUlWeTd8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMWJlZjdjODE5MWEzM2MzOTcxZjg2Mjg1OWYiLCJ0b29sTmFtZSI6InJlYWQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJbcGFja2FnZV1cbm5hbWUgPSBcImZsYXNoZXJcIlxudmVyc2lvbiA9IFwiMC4xLjBcIlxuZWRpdGlvbiA9IFwiMjAyNFwiXG5cbltkZXBlbmRlbmNpZXNdXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg0NDQxMDh9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJkYzNmYjU0NiIsInBhcmVudElkIjoiZjM1NDU0NzQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjA3OjI0LjEwOVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfeVRET1N1aWpNSFNseXRYdmhYdm5oZEFofGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzFiZWY5NDgxOTE5MzFhNjdjOGIxNWRmMGFlIiwidG9vbE5hbWUiOiJyZWFkIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiZm4gbWFpbigpIHtcbiAgICBwcmludGxuIShcIkhlbGxvLCB3b3JsZCFcIik7XG59XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg0NDQxMDl9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3NTE3MTM2NiIsInBhcmVudElkIjoiZGMzZmI1NDYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjA3OjI0LjEwOVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfNVJsa1E4c3QzdE8zN2ZWZG15a1ZjaEIzfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzFiZWY5YzgxOTFiMjk2MzUxZmNmN2ZlMTk5IiwidG9vbE5hbWUiOiJyZWFkIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiVG9vbHMgZm9yIHdyaXRpbmcgcm9vdGZzIGFyY2hpdmVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5hbHQtcm9vdGZzLWluc3RhbGxlclxuLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5UaGlzIHNjcmlwdCB3aWxsIGF1dG9tYXRlIHRoZSBwcm9jZXNzIG9mIHByZXBhcmluZyBhbiBBTFQgTGludXhcbnJvb3RmcyBhcmNoaXZlIGZvciB1c2Ugd2l0aCB2YXJpb3VzIGhhcmR3YXJlIHRhcmdldHMuXG5cbiAtIFdyaXRlIHRoZSBzZWxlY3RlZCBhcmNoaXZlIHJvb3RmcyB0byBtZWRpYSAob3B0aW9uYWwpXG4gLSBjdXN0b21pemUgbWVkaWEgd2l0aCBwbGF0Zm9ybSBzcGVjaWZpYyBVLUJvb3QgZmlsZShzKVxuIC0gVXBkYXRlIFUtQm9vdCBmb3IgYW5vdGhlciBUYXJnZXRcblxuVG8gYWRkIGFkZGl0aW9uYWwgc3VwcG9ydCwgY3JlYXRlIGEgY29kZSBzbmlwcGV0IGZpbGVcbihiYXNoIHNjcmlwdCkgaW4gdGhlIFwiYm9hcmRzLmRcIiBzdWJkaXJlY3Rvcnkgd2l0aCB0aGUgY29tbWFuZHNcbm5lZWRlZCB0byB3cml0ZSBVLUJvb3QgZm9yIHRoZSB0YXJnZXQgYm9hcmQuXG5cblVzYWdlOiBleGFtaW5lIGBhbHQtcm9vdGZzLWluc3RhbGxlciAtLWhlbHBgIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NDQ0MTA5fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNTYxMWRlNmYiLCJwYXJlbnRJZCI6Ijc1MTcxMzY2IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDowNzoyNC4xMDlaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzl5OWt6dTdDZ1FwdDR2YUpTcEhvVHVWSnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMxYmVmYTg4MTkxODExMDFhZDRmNTllMGYxYyIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiNERUZBVUxUX0tFUk5FTD02LjEyLjMzLTYuMTItYWx0MVxuI0ZBU1RfQk9PVD0xXG4jQk9PVF9USU1FT1VUPTBcbiMjIHBhdGggdG8gZGlyZWN0b3J5IHdpdGggKi5ycG1cbiNSUE1fSU5TVEFMTD0vcGF0aC90by9kaXJuYW1lXG4jIyBwYXRoIHRvIGZpbGUgY29udGFpbiBwYXNzd29yZCBoYXNoXG4jUk9PVF9QQVNTV0Q9L3BhdGgvdG8vaGFzaF9maWxlXG4jVVNFUl9QQVNTV0Q9L3BhdGgvdG8vaGFzaF9maWxlXG4jVVNFUl9OQU1FPXVzZXJcbiMjIHVzZSAvZXRjL2luaXRyZC5tay5vZW0gaW4gcm9vdGZzOlxuI0lOSVRSRF9PRU09MVxuI1VCT09UPS9wYXRoL3RvL2V4dGVybmFsX3Vib290X2RpcmVjdG9yeVxuI0FERE9OPS9wYXRoL3RvL2FkZG9uLnRhclxuI1NZU0NPTj10dHlTMiwxNTAwMDAwbjhcbiMjIGlmIG9uZSBvZiB0aGUgRFRCXyBvcHRpb25zIGFyZSB1c2VkLCB0aGUgb3RoZXIgdHdvIG5lZWQgdG8gYmUgc2V0IHRvb1xuI0RUQl9GSUxFPS9wYXRoL3RvL2R0Yl9maWxlXG4jRFRCX1ZFTkRPUj12ZW5kb3JfbmFtZSAoZS5nLiByb2NrY2hpcClcbiNEVEJfS1ZFUj1rZXJuZWwudmVyc2lvbiAoZS5nLiA2LjEyKVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NDQ0MTA5fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMjIwYWI0NmMiLCJwYXJlbnRJZCI6IjU2MTFkZTZmIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDowNzoyNC4xMDlaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1prN1dHMVNiWTdMWU91THVxUmx0ZFpHWHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMxYmVmYjA4MTkxYWE1MDAzZWNlZWE5YTZhMyIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IkFsbFdpbm5lciBEZXZpY2VzIChhYXJjaDY0KTpcbmE2NC1vbGludXhpbm9cdFx0XHRvcmFuZ2VwaV9wcmltZVxuYTY0LW9saW51eGluby1lbW1jXHRcdG9yYW5nZXBpX3dpblxuYW1hcnVsYV9hNjRfcmVsaWNcdFx0b3JhbmdlcGlfemVybzJcbmFuYmVybmljX3JnMzV4eF9oNzAwXHRcdG9yYW5nZXBpX3plcm8yd1xuYmFuYW5hcGlfbTJfcGx1c19oNVx0XHRvcmFuZ2VwaV96ZXJvM1xuYmFuYW5hcGlfbTY0XHRcdFx0b3JhbmdlcGlfemVyb19wbHVzXG5iZWVsaW5rX2dzMVx0XHRcdG9yYW5nZXBpX3plcm9fcGx1czJcbmVtbGlkX25ldXRpc19uNV9kZXZib2FyZFx0cGluZTY0LWx0c1xubGlicmV0ZWNoX2FsbF9oM19jY19oNVx0XHRwaW5lNjRfcGx1c1xubGlicmV0ZWNoX2FsbF9oM19pdF9oNVx0XHRwaW5lYm9va1xubGlicmV0ZWNoX2FsbF9oNV9jY19oNVx0XHRwaW5lX2g2NFxubGljaGVlX3J2XHRcdFx0cGluZXBob25lXG5uYW5vcGlfYTY0XHRcdFx0cGluZXRhYlxubmFub3BpX25lbzJcdFx0XHRyZXBrYV9waTNcbm5hbm9waV9uZW9fcGx1czJcdFx0cmVwa2FfcGk0XG5uYW5vcGlfcjFzX2g1XHRcdFx0c29waW5lX2Jhc2Vib2FyZFxubmV6aGFcdFx0XHRcdHRhbml4X3R4MVxub2NlYW5pY181MjA1XzVpbm1mZFx0XHR0YW5peF90eDZcbm9yYW5nZXBpXzNcdFx0XHR0ZXJlc19pXG5vcmFuZ2VwaV9saXRlMlx0XHRcdHRyYW5zcGVlZC04azYxOC10XG5vcmFuZ2VwaV9vbmVfcGx1c1x0XHR4OTZfbWF0ZVxub3JhbmdlcGlfcGMyXG5cbkFsbFdpbm5lciBEZXZpY2VzIChyaXNjdjY0KTpcbmxpY2hlZV9ydlxubmV6aGFcblxuUm9ja2NoaXAgRGV2aWNlcyAoYWFyY2g2NCk6XG5hbmJlcm5pYy1yZzU1Mi1yazMzOTlcdFx0b3JhbmdlcGktM2ItcmszNTY2XG5hbmJlcm5pYy1yZ3h4My1yazM1NjZcdFx0b3JhbmdlcGktNC1sdHMtcmszMzk5XG5hdGItdXNwZDIwa1x0XHRcdG9yYW5nZXBpLTQtcmszMzk5XG5icGktcjItcHJvLXJrMzU2OFx0XHRvcmFuZ2VwaS01LW1heC1yazM1ODhcbmNocm9tZWJvb2tfYm9iXHRcdFx0b3JhbmdlcGktNS1wbHVzLXJrMzU4OFxuY2hyb21lYm9va19rZXZpblx0XHRvcmFuZ2VwaS01LXJrMzU4OHNcbmNtMzU4OC1uYXMtcmszNTg4XHRcdG9yYW5nZXBpLTUtdWx0cmEtcmszNTg4XG5jb29scGktNGItcmszNTg4c1x0XHRvcmFuZ2VwaS1yMS1wbHVzLWx0cy1yazMzMjhcbmNvb2xwaS1jbTUtZXZiLXJrMzU4OFx0XHRvcmFuZ2VwaS1yMS1wbHVzLXJrMzMyOFxuY29vbHBpLWNtNS1nZW5ib29rLXJrMzU4OFx0b3JhbmdlcGktcmszMzk5XG5lYWlkay02MTAtcmszMzk5XHRcdHBpbmVib29rLXByby1yazMzOTlcbmV2Yi1weDMwXHRcdFx0cGluZXBob25lLXByby1yazMzOTlcbmV2Yi1yazMzMjhcdFx0XHRwaW5ldGFiMi1yazM1NjZcbmV2Yi1yazMzOTlcdFx0XHRwb3draWRkeS14MzVzLXJrMzU2NlxuZXZiLXJrMzU2OFx0XHRcdHBvd2tpZGR5LXg1NS1yazM1NjZcbmV2Yi1yazM1ODhcdFx0XHRwdW1hLXJrMzM5OVxuZmljdXMtcmszMzk5XHRcdFx0cHgzMC1jb3JlLWN0b3VjaDItb2YxMC1weDMwXG5maXJlZmx5LXB4MzBcdFx0XHRweDMwLWNvcmUtY3RvdWNoMi1weDMwXG5maXJlZmx5LXJrMzM5OVx0XHRcdHB4MzAtY29yZS1lZGltbTIuMi1weDMwXG5nYW1lZm9yY2UtYWNlLXJrMzU4OHNcdFx0cW5hcC10czQzMy1yazM1NjhcbmdlbmVyaWMtcmszNTY4XHRcdFx0cXVhcnR6NjQtYS1yazM1NjZcbmdlbmVyaWMtcmszNTg4XHRcdFx0cXVhcnR6NjQtYi1yazM1NjZcbmphZ3Vhci1yazM1ODhcdFx0XHRxdWFydHpwcm82NC1yazM1ODhcbmtoYWRhcy1lZGdlMi1yazM1ODhzXHRcdHJhZHhhLWNtMy1pby1yazM1NjZcbmtoYWRhcy1lZGdlLWNhcHRhaW4tcmszMzk5XHRyYWR4YS1lMjUtcmszNTY4XG5raGFkYXMtZWRnZS1yazMzOTlcdFx0cmFkeGEtemVyby0zLXJrMzU2Nlxua2hhZGFzLWVkZ2Utdi1yazMzOTlcdFx0cmluZ25lY2stcHgzMFxubGNrZmItdHNwaS1yazM1NjZcdFx0cm9jLWNjLXJrMzMyOFxubGVlei1yazMzOTlcdFx0XHRyb2NrLTNhLXJrMzU2OFxubHViYW5jYXQtMi1yazM1NjhcdFx0cm9jay0zYi1yazM1Njhcbm5hbm9wYy10NC1yazMzOTlcdFx0cm9jay0zYy1yazM1NjZcbm5hbm9wYy10Ni1yazM1ODhcdFx0cm9jay00Yy1wbHVzLXJrMzM5OVxubmFub3BpLW00LTJnYi1yazMzOTlcdFx0cm9jay00c2UtcmszMzk5XG5uYW5vcGktbTRiLXJrMzM5OVx0XHRyb2NrNWEtcmszNTg4c1xubmFub3BpLW00LXJrMzM5OVx0XHRyb2NrNWItcmszNTg4XG5uYW5vcGktbmVvNC1yazMzOTlcdFx0cm9jay01Yy1yazM1ODhzXG5uYW5vcGktcjJjLXBsdXMtcmszMzI4XHRcdHJvY2stNS1pdHgtcmszNTg4XG5uYW5vcGktcjJjLXJrMzMyOFx0XHRyb2NrNjQtcmszMzI4XG5uYW5vcGktcjJzLXBsdXMtcmszMzI4XHRcdHJvY2s5NjAtcmszMzk5XG5uYW5vcGktcjJzLXJrMzMyOFx0XHRyb2NrLXBpLTRjLXJrMzM5OVxubmFub3BpLXIzcy1yazM1NjZcdFx0cm9jay1waS00LXJrMzM5OVxubmFub3BpLXI0cy1yazMzOTlcdFx0cm9jay1waS1lLXJrMzMyOFxubmFub3BpLXI1Yy1yazM1NjhcdFx0cm9jay1waS1lLXYzLXJrMzMyOFxubmFub3BpLXI1cy1yazM1NjhcdFx0cm9jay1waS1uMTAtcmszMzk5cHJvXG5uYW5vcGktcjZjLXJrMzU4OHNcdFx0cm9ja3BybzY0LXJrMzM5OVxubmFub3BpLXI2cy1yazM1ODhzXHRcdHJvYy1wYy1tZXp6YW5pbmUtcmszMzk5XG5uZXU2YS1pby1yazM1ODhcdFx0XHRyb2MtcGMtcmszMzk5XG5uZXU2Yi1pby1yazM1ODhcdFx0XHRzaWdlNy1yazM1ODhcbm5vdmEtcmszNTg4c1x0XHRcdHNvcXVhcnR6LWJsYWRlLXJrMzU2NlxubnAtNTA0YS1yazM1NjhcdFx0XHRzb3F1YXJ0ei1jbTQtcmszNTY2XG5vZHJvaWQtZ28yXHRcdFx0c29xdWFydHotbW9kZWwtYS1yazM1NjZcbm9kcm9pZC1tMS1yazM1NjhcdFx0dGlnZXItcmszNTg4XG5vZHJvaWQtbTFzLXJrMzU2Nlx0XHR0b3licmljay1yazM1ODhcbm9kcm9pZC1tMi1yazM1ODhzXHRcdHR1cmluZy1yazEtcmszNTg4XG5cblNpRml2ZSBEZXZpY2VzIChyaXNjdjY0KTpcbiBzaWZpdmVfdW5sZWFzaGVkXG4gc2lmaXZlX3VubWF0Y2hlZFxuXG5TdGFyRml2ZSBEZXZpY2VzIChyaXNjdjY0KTpcbiBzdGFyZml2ZV92aXNpb25maXZlMlxuIHBpbmU2NF9zdGFyNjRcblxuSzF4IERldmljZXMgKHJpc2N2NjQpOlxuIG9yYW5nZXBpLXJ2MlxuIGJhbmFuYXBpLWYzXG4gbWlsa3YtanVwaXRlclxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NDQ0MTA5fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNzU5MDEwYWMiLCJwYXJlbnRJZCI6IjIyMGFiNDZjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDowNzoyNC4xMDlaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzV0d1p4NG4yaHE3a1pMQnJmdWNDVmNhOXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMxYmVmYjg4MTkxODMyOGEyODMzODE0MGJkNiIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiMhL2Jpbi9iYXNoXG4jICB2aW06c3c9ODpub2V0XG4jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAgR1BMLTIuMC1vci1sYXRlclxuI1xuIyByb290ZnMgaW5zdGFsbGVyIGZvciBBTFQgTGludXhcbiMgQ3VycmVudCB2ZXJzaW9uXG5WRVJTSU9OPTAuNy40XG5cbiMgVmFyaWFibGVcbkVYVDQ9MEZDNjNEQUYtODQ4My00NzcyLThFNzktM0Q2OUQ4NDc3REU0XG5ERUZBVUxUX0VYVDRfT1BUSU9OUz1cIi1tIDUgLWIgNDA5NiAtaSA4MTkyIC1JIDI1NlwiXG5UTVBST09UPVxuWyAtbiBcIiRUTVBcIiBdIHx8IFRNUD0vdG1wXG5QUk9HTkFNRT1cIiR7MCMjKi99XCJcbnVuc2V0IFJPT1RQQVJUX1VJRFxuXG4jIG9uZSBNZWJpYnl0ZSA9IDJeMjBcbk1CPTEwNDg1NzZcblxuIyB1c2FnZSBtZXNzYWdlXG51c2FnZSgpIHtcblx0ZWNobyBcIlxuVXNhZ2U6ICRQUk9HTkFNRSAtLXRhcmdldD1UQVJHRVQgPC0tcm9vdGZzPVJPT1RGUyB8IC0taW1hZ2UtaW49SU1BR0U+IDwtLW1lZGlhPURFVklDRSB8IC0taW1hZ2Utb3V0PUZJTEU+IFtvcHRpb25zXVxuXG5PcHRpb25zOlxuICAgIC0tdGFyZ2V0IFRBUkdFVCAgICAgIC0gdGFyZ2V0IGJvYXJkXG4gICAgLS1leHRyYS1vcHRpb25zICAgICAgLSBwYXRoIHRvIGZpbGUgd2l0aCBleHRyYSBvcHRpb25zIChzZWUgZXh0cmEtb3B0aW9ucylcbiAgICAtLWVmaSAgICAgICAgICAgICAgICAtIGFkZCBFRkkgcGFydGl0aW9uLCBzZXQgcGFydGl0aW9uIHRhYmxlIGdwdFxuICAgIC0tZWZpLW1iciAgICAgICAgICAgIC0gYWRkIEVGSSBwYXJ0aXRpb24sIHNldCBwYXJ0aXRpb24gdGFibGUgbXNkb3NcbiAgICAtLWJvb3RwYXJ0ICAgICAgICAgICAtIGFkZCBib290IHBhcnRpdGlvblxuICAgIC0tcm9vdC1mc3R5cGUgVFlQRSAgIC0gc3BlY2lmeSByb290IHBhcnRpdGlvbiBmaWxlc3lzdGVtXG4gICAgLS1yb290LWZzLW9wdCBPUFRTVFIgLSByb290IGZpbGVzeXN0ZW0gb3B0aW9uc1xuICAgIC0tdm5jIDEgICAgICAgICAgICAgIC0gZW5hYmxlIHZuYyBtb2RlIGZvciBhbHRlcmF0b3Itc2V0dXBcbiAgICAtLXZuYyAwICAgICAgICAgICAgICAtIGRpc2FibGUgdm5jIG1vZGUgZm9yIGFsdGVyYXRvci1zZXR1cFxuXG4gICAgLS1yb290ZnMgUk9PVEZTICAgICAgLSBhcmNoaXZlIHJvb3RmcyBmaWxlIG5hbWVcbiAgICAtLWltYWdlLWluIElNQUdFICAgICAtIGltYWdlIGZpbGUgbmFtZSAoaW1nfGltZy54eilcblxuICAgIC0tbWVkaWEgREVWSUNFICAgICAgIC0gbWVkaWEgZGV2aWNlIGZpbGUgKC9kZXYvW3NkWHxtbWNibGtYXSlcbiAgICAtLWltYWdlLW91dCBGSUxFICAgICAtIG91dCBpbWFnZSBmaWxlXG5cbiAgICAtLWx1a3MgICAgICAgICAgICAgICAtIGVuY3J5cHQgcm9vdCBwYXJ0aXRpb25cbiAgICAtLWx1a3Mtb3B0IE9QVFNUUiAgICAtIG9wdGlvbnMgZm9yIGx1a3MgY3JlYXRpb25cblxuICAgIC0tYWRkY29uc29sZSAgICAgICAgIC0gQWRkIHN5c3RlbSBzZXJpYWwgY29uc29sZVxuXG4gICAgLS1pbWFnZS1zaXplIFNJWkUgICAgLSBzaXplIG91dCBpbWFnZSBmaWxlIChNaUIpXG4gICAgLS1yZXNpemUgICAgICAgICAgICAgLSBSZXNpemUgUk9PVCBwYXJ0aXRpb25cbiAgICAtLXN1cHBvcnRlZCAgICAgICAgICAtIExpc3Qgb2Ygc3VwcG9ydGVkIGhhcmR3YXJlXG4gICAgLS12ZXJzaW9uICAgICAgICAgICAgLSBEaXNwbGF5IHZlcnNpb24gYW5kIGV4aXRcbiAgICAtLWRlYnVnICAgICAgICAgICAgICAtIFByaW50IGRlYnVnIGluZm8sIHBhc3MgaXQgYXMgZmlyc3QgYXJndW1lbnRcbiAgICAtLXN0ZG91dCAgICAgICAgICAgICAtIERvbid0IHVzZSBsb2cgZmlsZSwgcHV0IGV2ZXJ5dGhpbmcgdG8gc3Rkb3V0XG4gICAgLS1sb2c9RklMRSAgICAgICAgICAgLSBMb2cgZmlsZSAoZGVmYXVsdCAkTE9HX0ZJTEUpXG4gICAgLXkgICAgICAgICAgICAgICAgICAgLSBBc3N1bWVzIHllcywgd2lsbCBub3Qgd2FpdCBmb3IgY29uZmlybWF0aW9uXG5cbkV4YW1wbGU6ICRQUk9HTkFNRSAtLXJvb3RmcyByZWd1bGFyLWx4cXQtMjAxOTAyMTMtYWFyY2g2NC50YXIueHogLS10YXJnZXQgb3JhbmdlcGlfcHJpbWUgLS1tZWRpYSAvZGV2L21tY2JsazBcblxuVXBkYXRlIFUtQm9vdCBmb3IgYW5vdGhlciBUYXJnZXRcblVwZGF0ZSB0byBhIG5ldyB1LWJvb3QgZnJvbSBhIGxvY2FsIGhvc3QgaW5zdGFsbC5cblxuRXhhbXBsZTogJFBST0dOQU1FIC0tdGFyZ2V0IG9yYW5nZXBpX3ByaW1lIC0tbWVkaWEgL2Rldi9tbWNibGswXG5cblwiXG59XG5cbnByZV9leGl0KCkge1xuXHRsb2NhbCByYz0kP1xuXHR0cmFwIC0gRVhJVFxuXHRzeW5jXG5cblx0dW5tb3VudF9jaHJvb3Rcblx0dW5tb3VudF9wYXJ0aXRpb25cblxuXHRpZiBbIC1uIFwiJElNQUdFX09VVFwiIC1hIC1uIFwiJE1FRElBXCIgXTsgdGhlblxuXHRcdGtwYXJ0eCAtZCAtcyBcIiRNRURJQVwiIHx8IHtcblx0XHRcdHNsZWVwIDEwXG5cdFx0XHRrcGFydHggLWQgLXMgLXYgXCIkTUVESUFcIlxuXHRcdH1cblx0XHRsb3NldHVwIC0tZGV0YWNoIFwiJE1FRElBXCJcblx0Zmlcblx0ZXhpdCAkcmNcbn1cblxuZmluYWxfZXhpdCgpIHtcblx0cHJpbnRuICdJbnN0YWxsYXRpb24gQ29tcGxldGUhJ1xuXHRpZiBbIC1uIFwiJElNQUdFX09VVFwiIF07IHRoZW5cblx0XHRwcmludG4gJ0ltYWdlIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5Lidcblx0ZWxzZVxuXHRcdHByaW50biAnSW5zZXJ0IGludG8geW91ciBkZXZpY2UgYW5kIHRyeSBib290Lidcblx0XHRwcmludG4gJ0dvb2QgbHVjayEhISdcblx0Zmlcblx0ZXhpdCAwXG59XG5cbkRJUj1cIiQoZGlybmFtZSAkMClcIlxuLiBzaGVsbC1lcnJvciAyPi9kZXYvbnVsbCB8fCAuICRESVIvc2hlbGwtZXJyb3IgMj4vZGV2L251bGxcbi4gc2hlbGwtdGVybWluZm8gMj4vZGV2L251bGwgfHwgLiAkRElSL3NoZWxsLXRlcm1pbmZvIDI+L2Rldi9udWxsXG4uIHNoZWxsLWNvbmZpZyAyPi9kZXYvbnVsbCB8fCAuICRESVIvc2hlbGwtY29uZmlnIDI+L2Rldi9udWxsXG5cbiMgU2V0IHNvbWUgZ2xvYmFsIHZhcmlhYmxlcyBmb3IgdGhlIGNvbW1hbmQgZGlyZWN0b3J5LCB0YXJnZXQgYm9hcmQgZGlyZWN0b3J5LFxuIyBhbmQgdmFsaWQgdGFyZ2V0cy5cblsgLWQgXCIke0RJUn0vYm9hcmRzLmRcIiBdIHx8XG5cdERJUj0vdXNyL3NoYXJlL2FsdC1yb290ZnMtaW5zdGFsbGVyXG5bIC1kIFwiJHtESVJ9L2JvYXJkcy5kXCIgXSB8fFxuXHRmYXRhbCBcImVycm9yOiBkaXJlY3RvcnkgYm9hcmRzLmQgbm90IGV4aXN0XCJcbkJPQVJERElSPVwiJHtESVJ9L2JvYXJkcy5kXCJcblNPQ1NESVI9XCIke0RJUn0vc29jcy5kXCJcblxuIyBtaXNzaW5nIG9yIHdyb25ncyBhcmd1bWVudHNcblsgJCMgLWdlIDEgXSAmJlxuVE1QQVJHUz1cIiQoZ2V0b3B0IC1uIFwiJDBcIiAtbyBoeSAtbCBhZGRjb25zb2xlLGRlYnVnLGhlbHAsXFxcbmVmaSxlZmktbWJyLGJvb3RwYXJ0LHJvb3QtZnN0eXBlOixyb290LWZzLW9wdDosdGFyZ2V0Oixyb290ZnM6LFxcXG5tZWRpYTosaW1hZ2UtaW46LGltYWdlLW91dDosbHVrcyxsdWtzLW9wdDosaW1hZ2Utc2l6ZToscmVzaXplLHN1cHBvcnRlZCxcXFxudmVyc2lvbixzdGRvdXQsbG9nOix2bmMsXFxcbmV4dHJhLW9wdGlvbnM6IC0tIFwiJEBcIilcIlxuaWYgWyAkPyAtbmUgMCBdOyB0aGVuXG5cdHVzYWdlID4mMlxuXHRleGl0IDFcbmZpXG5cbmV2YWwgc2V0IC0tIFwiJFRNUEFSR1NcIlxuIyBjaGVjayB0aGUgYXJnc1xud2hpbGUgOjsgZG9cblx0Y2FzZSAkMSBpblxuXHRcdC0tKVxuXHRcdFx0c2hpZnQ7IGJyZWFrXG5cdFx0XHQ7O1xuXHRcdC0tYWRkY29uc29sZSlcblx0XHRcdENPTlNPTEU9MVxuXHRcdFx0Oztcblx0XHQtLWRlYnVnKVxuXHRcdFx0c2V0IC14XG5cdFx0XHQ7O1xuXHRcdC1ofC0taGVscClcblx0XHRcdHVzYWdlOyBleGl0IDBcblx0XHRcdDs7XG5cdFx0LS10YXJnZXQpXG5cdFx0XHRzaGlmdDsgVEFSR0VUPVwiJDFcIlxuXHRcdFx0Oztcblx0XHQtLWV4dHJhLW9wdGlvbnMpXG5cdFx0XHRzaGlmdDsgRVhUUkFfT1BUSU9OUz1cIiQxXCJcblx0XHRcdDs7XG5cdFx0LS1lZmkpXG5cdFx0XHRFRkk9XCIxXCJcblx0XHRcdE1FRElBVEFCTEU9Z3B0XG5cdFx0XHQ7O1xuXHRcdC0tZWZpLW1icilcblx0XHRcdEVGST1cIjFcIlxuXHRcdFx0TUVESUFUQUJMRT1tc2Rvc1xuXHRcdFx0Oztcblx0XHQtLWx1a3Mtb3B0KVxuXHRcdFx0c2hpZnQ7IExVS1NfT1BUPVwiJDFcIlxuXHRcdFx0Oztcblx0XHQtLWx1a3MpXG5cdFx0XHRMVUtTPVwiMVwiXG5cdFx0XHQ7O1xuXHRcdC0tYm9vdHBhcnQpXG5cdFx0XHRBRERfQk9PVFBBUlQ9XCIxXCJcblx0XHRcdDs7XG5cdFx0LS1yb290LWZzdHlwZSlcblx0XHRcdHNoaWZ0OyBST09UX0ZTVFlQRT1cIiQxXCJcblx0XHRcdDs7XG5cdFx0LS1yb290LWZzLW9wdClcblx0XHRcdHNoaWZ0OyBST09UX0ZTX09QVD1cIiQxXCJcblx0XHRcdDs7XG5cdFx0LS12bmMpXG5cdFx0XHRzaGlmdDsgVk5DPVwiJDFcIlxuXHRcdFx0Oztcblx0XHQtLXJvb3Rmcylcblx0XHRcdHNoaWZ0OyBST09URlM9XCIkMVwiXG5cdFx0XHQ7O1xuXHRcdC0taW1hZ2UtaW4pXG5cdFx0XHRzaGlmdDsgSU1BR0U9XCIkMVwiXG5cdFx0XHQ7O1xuXHRcdC0tbWVkaWEpXG5cdFx0XHRzaGlmdDsgTUVESUE9XCIkMVwiXG5cdFx0XHQ7O1xuXHRcdC0taW1hZ2Utb3V0KVxuXHRcdFx0c2hpZnQ7IElNQUdFX09VVD1cIiQxXCJcblx0XHRcdDs7XG5cdFx0LS1pbWFnZS1zaXplKVxuXHRcdFx0c2hpZnQ7IElNQUdFX1NJWkU9XCIkMVwiXG5cdFx0XHQ7O1xuXHRcdC0tcmVzaXplKVxuXHRcdFx0UkVTSVpFPVwiMVwiXG5cdFx0XHQ7O1xuXHRcdC0tc3VwcG9ydGVkKVxuXHRcdFx0Y2F0IFwiJERJUi9TVVBQT1JURUQtQk9BUkRTXCJcblx0XHRcdGV4aXQgMFxuXHRcdFx0Oztcblx0XHQtLXZlcnNpb24pXG5cdFx0XHRlY2hvIFwiJFBST0dOQU1FLSRWRVJTSU9OXCJcblx0XHRcdGV4aXQgMFxuXHRcdFx0Oztcblx0XHQtLWxvZylcblx0XHRcdHNoaWZ0XG5cdFx0XHRMT0dfRklMRT1cIiQocmVhZGxpbmsgLWYgXCIkMVwiKVwiXG5cdFx0XHQ7O1xuXHRcdC0tc3Rkb3V0KVxuXHRcdFx0TE9HX01PREU9XCJjb25cIlxuXHRcdFx0Oztcblx0XHQteSlcblx0XHRcdE5PQVNLPTFcblx0XHRcdDs7XG5cdFx0Kilcblx0XHRcdGVjaG8gXCJJbnZhbGlkIGFyZ3VtZW50ICQxXCJcblx0XHRcdHVzYWdlID4mMlxuXHRcdFx0ZXhpdCAxXG5cdFx0XHQ7O1xuXHRlc2FjXG5cdHNoaWZ0XG5kb25lXG5cbmlmIFsgLW4gXCIkVEFSR0VUXCIgXTsgdGhlblxuXHQjIGNoZWNrIGJvYXJkIHNjcmlwdCB0YXJnZXRcblx0aWYgWyAhIC1zICBcIiRCT0FSRERJUi8kVEFSR0VUXCIgXTsgdGhlblxuXHRcdGZhdGFsIFwiZXJyb3I6ICRUQVJHRVQgaXMgbm90IHN1cHBvcnRlZFwiXG5cdGZpXG5maVxuXG5pZiBbIC16ICRST09UX0ZTVFlQRSBdOyB0aGVuXG5cdFJPT1RfRlNUWVBFPWV4dDRcbmZpXG5cbmlmIFsgLXogXCIkUk9PVF9GU19PUFRcIiBdOyB0aGVuXG5cdGlmIFsgXCIkUk9PVF9GU1RZUEVcIiA9IGV4dDQgXTsgdGhlblxuXHRcdFJPT1RfRlNfT1BUPSRERUZBVUxUX0VYVDRfT1BUSU9OU1xuXHRmaVxuZmlcblxuaWYgWyAkUk9PVF9GU1RZUEUgPSBcImYyZnNcIiBdOyB0aGVuXG5cdCMgVS1Cb290IGRvZXNuJ3Qgc3VwcG9ydCBmMmZzLCBzbyAvYm9vdFxuXHQjIHdpdGggY29tcGF0aWJsZSBmaWxlc3lzdGVtIGlzIG5lZWRlZC5cblx0QUREX0JPT1RQQVJUPVwiMVwiXG5cdCMgRm9yY2Ugb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzeXN0ZW1cblx0Uk9PVF9GU19PUFQ9JFJPT1RfRlNfT1BUXCIgLWZcIlxuZmlcblxuaWYgWyAtbiBcIiRMVUtTX09QVFwiIF07IHRoZW5cblx0TFVLUz1cIjFcIlxuZmlcblxuaWYgWyAtbiBcIiRMVUtTXCIgXTsgdGhlblxuXHQjIExVS1MgcmVxdWlyZXMgc2VwYXJhdGUgL2Jvb3QgcGFydGl0aW9uXG5cdEFERF9CT09UUEFSVD1cIjFcIlxuZmlcblxuaWYgWyAtbiBcIiRFWFRSQV9PUFRJT05TXCIgXTsgdGhlblxuXHRbIC1zIFwiJEVYVFJBX09QVElPTlNcIiBdIHx8IGZhdGFsIFwiZXJyb3I6IGZpbGUgJEVYVFJBX09QVElPTlMgZG9lcyBub3QgZXhpc3QhISFcIlxuXHRERUZBVUxUX0tFUk5FTD1cIiQoc2hlbGxfY29uZmlnX2dldCBcIiRFWFRSQV9PUFRJT05TXCIgXCJERUZBVUxUX0tFUk5FTFwiKVwiXG5cdEZBU1RfQk9PVD1cIiQoc2hlbGxfY29uZmlnX2dldCBcIiRFWFRSQV9PUFRJT05TXCIgXCJGQVNUX0JPT1RcIilcIlxuXHRCT09UX1RJTUVPVVQ9XCIkKHNoZWxsX2NvbmZpZ19nZXQgXCIkRVhUUkFfT1BUSU9OU1wiIFwiQk9PVF9USU1FT1VUXCIpXCJcblx0UlBNX0lOU1RBTEw9XCIkKHNoZWxsX2NvbmZpZ19nZXQgXCIkRVhUUkFfT1BUSU9OU1wiIFwiUlBNX0lOU1RBTExcIilcIlxuXHRST09UX1BBU1NXRD1cIiQoc2hlbGxfY29uZmlnX2dldCBcIiRFWFRSQV9PUFRJT05TXCIgXCJST09UX1BBU1NXRFwiKVwiXG5cdFVTRVJfUEFTU1dEPVwiJChzaGVsbF9jb25maWdfZ2V0IFwiJEVYVFJBX09QVElPTlNcIiBcIlVTRVJfUEFTU1dEXCIpXCJcblx0VVNFUl9OQU1FPVwiJChzaGVsbF9jb25maWdfZ2V0IFwiJEVYVFJBX09QVElPTlNcIiBcIlVTRVJfTkFNRVwiKVwiXG5cdElOSVRSRF9PRU09XCIkKHNoZWxsX2NvbmZpZ19nZXQgXCIkRVhUUkFfT1BUSU9OU1wiIFwiSU5JVFJEX09FTVwiKVwiXG5cdFVCT09UPVwiJChzaGVsbF9jb25maWdfZ2V0IFwiJEVYVFJBX09QVElPTlNcIiBcIlVCT09UXCIpXCJcblx0QURET049XCIkKHNoZWxsX2NvbmZpZ19nZXQgXCIkRVhUUkFfT1BUSU9OU1wiIEFERE9OKVwiXG5cdFNZU0NPTj1cIiQoc2hlbGxfY29uZmlnX2dldCBcIiRFWFRSQV9PUFRJT05TXCIgXCJTWVNDT05cIilcIlxuXHREVEJfRklMRT1cIiQoc2hlbGxfY29uZmlnX2dldCBcIiRFWFRSQV9PUFRJT05TXCIgXCJEVEJfRklMRVwiKVwiXG5cdERUQl9WRU5ET1I9XCIkKHNoZWxsX2NvbmZpZ19nZXQgXCIkRVhUUkFfT1BUSU9OU1wiIFwiRFRCX1ZFTkRPUlwiKVwiXG5cdERUQl9LVkVSPVwiJChzaGVsbF9jb25maWdfZ2V0IFwiJEVYVFJBX09QVElPTlNcIiBcIkRUQl9LVkVSXCIpXCJcbmZpXG5cbiMgZ2V0dGluZyBmdWxsIFBBVEhcblsgLW4gXCIkUk9PVEZTXCIgXSAmJiBST09URlNfUEFUSD1cIiQocmVhZGxpbmsgLWYgXCIkUk9PVEZTXCIpXCJcblsgLW4gXCIkSU1BR0VcIiBdICYmIElNQUdFX1BBVEg9XCIkKHJlYWRsaW5rIC1mIFwiJElNQUdFXCIpXCJcblsgLW4gXCIkUk9PVF9QQVNTV0RcIiBdICYmIFJPT1RfUEFTU1dEX1BBVEg9XCIkKHJlYWRsaW5rIC1mIFwiJFJPT1RfUEFTU1dEXCIpXCJcblsgLW4gXCIkVVNFUl9QQVNTV0RcIiBdICYmIFVTRVJfUEFTU1dEX1BBVEg9XCIkKHJlYWRsaW5rIC1mIFwiJFVTRVJfUEFTU1dEXCIpXCJcblsgLW4gXCIkQURET05cIiBdICYmIEFERE9OX1BBVEg9XCIkKHJlYWRsaW5rIC1mIFwiJEFERE9OXCIpXCJcblsgLW4gXCIkVUJPT1RcIiBdICYmIFVCT09UX1BBVEg9XCIkKHJlYWRsaW5rIC1mIFwiJFVCT09UXCIpXCJcblsgLW4gXCIkUlBNX0lOU1RBTExcIiBdICYmIFJQTV9JTlNUQUxMX1BBVEg9XCIkKHJlYWRsaW5rIC1mIFwiJFJQTV9JTlNUQUxMXCIpXCJcblsgLW4gXCIkRFRCX0ZJTEVcIiBdICYmIERUQl9GSUxFX1BBVEg9XCIkKHJlYWRsaW5rIC1mIFwiJERUQl9GSUxFXCIpXCJcblxuIyBjaGVja2luZyBmaWxlcyBleGlzdGluZ1xuaWYgWyAtbiBcIiRST09URlNcIiBdOyB0aGVuXG5cdFsgLWYgXCIkUk9PVEZTX1BBVEhcIiBdIHx8IGZhdGFsIFwiZXJyb3I6IFJPT1RGUyBkb2VzIG5vdCBleGlzdFwiXG5cdFJPT1RGUz1cIiRST09URlNfUEFUSFwiXG5maVxuaWYgWyAtbiBcIiRJTUFHRVwiIF07IHRoZW5cblx0WyAtZiBcIiRJTUFHRV9QQVRIXCIgXSB8fCBmYXRhbCBcImVycm9yOiBJTUFHRSBkb2VzIG5vdCBleGlzdFwiXG5cdElNQUdFPVwiJElNQUdFX1BBVEhcIlxuZmlcbmlmIFsgLW4gXCIkUk9PVF9QQVNTV0RcIiBdOyB0aGVuXG5cdFsgLWYgXCIkUk9PVF9QQVNTV0RfUEFUSFwiIF0gfHwgZmF0YWwgXCJlcnJvcjogZmlsZSAkUk9PVF9QQVNTV0QgZG9lcyBub3QgZXhpc3RcIlxuXHRST09UX1BBU1NXRD1cIiRST09UX1BBU1NXRF9QQVRIXCJcbmZpXG5pZiBbIC1uIFwiJFVTRVJfUEFTU1dEXCIgXTsgdGhlblxuXHRbIC1mIFwiJFVTRVJfUEFTU1dEX1BBVEhcIiBdIHx8IGZhdGFsIFwiZXJyb3I6IGZpbGUgJFVTRVJfUEFTU1dEIGRvZXMgbm90IGV4aXN0XCJcblx0VVNFUl9QQVNTV0Q9XCIkVVNFUl9QQVNTV0RfUEFUSFwiXG5maVxuaWYgWyAtbiBcIiRBRERPTlwiIF07IHRoZW5cblx0WyAtZiBcIiRBRERPTl9QQVRIXCIgXSB8fCBmYXRhbCBcImVycm9yOiBmaWxlICRBRERPTiBkb2VzIG5vdCBleGlzdFwiXG5cdEFERE9OPVwiJEFERE9OX1BBVEhcIlxuZmlcbmlmIFsgLW4gXCIkVUJPT1RcIiBdOyB0aGVuXG5cdFsgLWQgXCIkVUJPT1RcIiBdIHx8IGZhdGFsIFwiZXJyb3I6IHUtYm9vdCBkaXJlY3RvcnkgJFVCT09UIGRvZXMgbm90IGV4aXN0XCJcbmZpXG5pZiBbIC1uIFwiJFJQTV9JTlNUQUxMXCIgXTsgdGhlblxuXHRbIC1kIFwiJFJQTV9JTlNUQUxMXCIgXSB8fCBmYXRhbCBcImVycm9yOiBycG0gZGlyZWN0b3J5ICRSUE1fSU5TVEFMTCBkb2VzIG5vdCBleGlzdFwiXG5maVxuaWYgWyAtbiBcIiREVEJfRklMRVwiIF07IHRoZW5cblx0WyAtZiBcIiREVEJfRklMRV9QQVRIXCIgXSB8fCBmYXRhbCBcImVycm9yOiBmaWxlICREVEJfRklMRSBkb2VzIG5vdCBleGlzdFwiXG5cdERUQl9GSUxFPVwiJERUQl9GSUxFX1BBVEhcIlxuZmlcblxuIyBjaGVja2luZyB0aGUgZW50ZXJlZCB2YWx1ZSAtLWltYWdlLXNpemVcbmlmIFsgLW4gXCIke0lNQUdFX1NJWkUtfVwiIF07IHRoZW5cblx0W1sgXCIkSU1BR0VfU0laRVwiID1+IFteMC05XSsgXV0gJiYgZmF0YWwgXCJlcnJvcjogYmFkIGltYWdlIHNpemVcIlxuZmlcblxuIyBlbnN1cmUgc3VkbyB1c2VyXG5pZiBbIFwiJCh3aG9hbWkpXCIgIT0gXCJyb290XCIgXTsgdGhlblxuXHRmYXRhbCBcImVycm9yOiB0aGlzIHNjcmlwdCByZXF1aXJlcyAnc3VkbycgcHJpdmlsZWdlcyBpbiBvcmRlciB0byB3cml0ZSB0byBkaXNrICYgbW91bnQgbWVkaWFcIlxuZmlcblxuaWYgWyAteiBcIiRJTUFHRV9PVVRcIiAtYSAteiBcIiRNRURJQVwiIF07IHRoZW5cblx0ZmF0YWwgXCJlcnJvcjogb25lIG9mIHRoZSBvcHRpb25zIG11c3QgYmUgZGVmaW5lZDogLS1tZWRpYSBvciAtLWltYWdlLW91dFwiXG5maVxuXG5pZiBbIC1uIFwiJElNQUdFX09VVFwiIC1hIC1uIFwiJE1FRElBXCIgXTsgdGhlblxuXHRmYXRhbCBcImVycm9yOiBBdCB0aGUgc2FtZSB0aW1lLCBtdXR1YWxseSBleGNsdXNpdmUgb3B0aW9ucyBhcmUgaW5kaWNhdGVkOiAtLW1lZGlhIGFuZCAtLWltYWdlLW91dFwiXG5maVxuXG5pZiBbIC1uIFwiJElNQUdFXCIgLWEgLW4gXCIkUk9PVEZTXCIgXTsgdGhlblxuXHRmYXRhbCBcImVycm9yOiBBdCB0aGUgc2FtZSB0aW1lLCBtdXR1YWxseSBleGNsdXNpdmUgb3B0aW9ucyBhcmUgaW5kaWNhdGVkOiAtLWltYWdlLWluIGFuZCAtLXJvb3Rmc1wiXG5maVxuXG5pZiBbIC1uIFwiJElNQUdFXCIgLWEgLW4gXCIkSU1BR0VfT1VUXCIgXTsgdGhlblxuXHRmYXRhbCBcImVycm9yOiBBdCB0aGUgc2FtZSB0aW1lLCBtdXR1YWxseSBleGNsdXNpdmUgb3B0aW9ucyBhcmUgaW5kaWNhdGVkOiAtLWltYWdlLWluIGFuZCAtLWltYWdlLW91dFwiXG5maVxuXG5cbmlmIFsgLW4gXCIkTUVESUFcIiBdICYmIFtbIFwiJChyZWFkbGluayAtZiAvZGV2L3Jvb3QpXCIgPT0gIFwiJE1FRElBXCIqIF1dOyB0aGVuXG5cdGZhdGFsIFwiZXJyb3I6ICRNRURJQSBpcyBhIGRldmljZSBjb250YWlucyBhIGhvc3Qgc3lzdGVtIHJvb3Rmc1wiXG5maVxuXG4jIHJvb3RmcyBleGlzdHNcbmlmIFsgLW4gXCIkUk9PVEZTXCIgLWEgISAtZiBcIiRST09URlNcIiBdOyB0aGVuXG5cdGZhdGFsIFwiZXJyb3I6ICRST09URlMgbm90IGZvdW5kISBQbGVhc2UgY2hvb3NlIGFuIGV4aXN0aW5nIHJvb3Rmc1wiXG5maVxuXG4jIGltYWdlIGV4aXN0c1xuaWYgWyAtbiBcIiRJTUFHRVwiIC1hICEgLWYgXCIkSU1BR0VcIiBdOyB0aGVuXG5cdGZhdGFsIFwiZXJyb3I6ICRJTUFHRSBub3QgZm91bmQhIFBsZWFzZSBjaG9vc2UgYW4gZXhpc3RpbmcgaW1hZ2VcIlxuZmlcblxuIyBkZXZpY2UgZXhpc3RzXG5pZiBbIC16IFwiJElNQUdFX09VVFwiIC1hICEgLWUgXCIkTUVESUFcIiBdOyB0aGVuXG5cdGZhdGFsIFwiZXJyb3I6ICRNRURJQSBub3QgZm91bmQhIFBsZWFzZSBjaG9vc2UgYW4gZXhpc3RpbmcgZGV2aWNlXCJcbmZpXG5cbiMgdGFyZ2V0IGJvYXJkIGV4aXN0c1xuaWYgWyAtbiBcIiRUQVJHRVRcIiAtYSAhIC1lIFwiJHtCT0FSRERJUn0vJHtUQVJHRVR9XCIgXTsgdGhlblxuXHRmYXRhbCBcImVycm9yOiAkVEFSR0VUIGlzIG5vdCBhIHN1cHBvcnRlZCBib2FyZFwiXG5maVxuXG5pZiBbIC1uIFwiJEFERE9OXCIgXTsgdGhlblxuXHRjYXNlIFwiJEFERE9OXCIgaW5cblx0XHQqLnRhcikgOztcblx0XHQqKSBmYXRhbCBcImVycm9yOiAkQURET04gaXMgbm90IGEgdGFyIGFyY2hpdmUhISFcIjs7XG5cdGVzYWNcblx0WyAtcyBcIiRBRERPTlwiIF0gfHwgZmF0YWwgXCJlcnJvcjogJEFERE9OIGRvZXMgbm90IGV4aXN0ISEhXCJcbmZpXG5cbmlmIFsgLW4gXCIkRFRCX0ZJTEVcIiBdIHx8IFsgLW4gXCIkRFRCX1ZFTkRPUlwiIF0gfHwgWyAtbiBcIiREVEJfS1ZFUlwiIF07IHRoZW5cblx0WyAteiBcIiREVEJfRklMRVwiIF0gJiYgZmF0YWwgXCJlcnJvcjogRFRCX0ZJTEUgaXMgdW5zZXRcIlxuXHRbIC16IFwiJERUQl9WRU5ET1JcIiBdICYmIGZhdGFsIFwiZXJyb3I6IERUQl9WRU5ET1IgaXMgdW5zZXRcIlxuXHRbIC16IFwiJERUQl9LVkVSXCIgXSAmJiBmYXRhbCBcImVycm9yOiBEVEJfS1ZFUiBpcyB1bnNldFwiXG5maVxuXG4jIGNoZWNrIGltYWdlIGZvcm1hdFxuaWYgWyAtbiBcIiRJTUFHRVwiIF07IHRoZW5cblx0Y2FzZSBcIiRJTUFHRVwiIGluXG5cdFx0Ki5pbWcpXG5cdFx0XHRDQVQ9J2NhdCdcblx0XHRcdDs7XG5cdFx0Ki5pbWcueHopXG5cdFx0XHRDQVQ9J3h6Y2F0J1xuXHRcdFx0Oztcblx0XHQqKSBmYXRhbCBcImVycm9yOiB1bmtub3duIGltYWdlIGZvcm1hdFwiXG5cdFx0XHQ7O1xuXHRlc2FjXG5cdCMgTk9URTogV2UgYXNzdW1lIHRoZXJlIGlzIG5vIGFyY2ggbmFtZXMgY29udGFpbmluZyAnLScgb3IgJy4nXG5cdEFSQ0g9XCIke0lNQUdFIyMqLX1cIlxuXHRBUkNIPVwiJHtBUkNIJSUuKn1cIlxuZmlcblxuIyBvdXRwdXQgY3VycmVudCBzdGF0dXMgb2YgdGFyIHRvIC9kZXYvdHR5IGV2ZXJ5IDUxMiByZWNvcmRzICg1IE1iKVxuIyB3aXRoIGRlZmF1bHQgYmxvY2tpbmcgZmFjdG9yIDIwICgxIHJlY29yZCA9IDIwKjUxMiBieXRlcylcblRBUj0ndGFyIC0tY2hlY2twb2ludD01MDAgLS1jaGVja3BvaW50LWFjdGlvbj10dHlvdXQ9JXM6JXt9VFxccidcbiMgZGVmaW5pdGlvbiBvZiB0aGUgcm9vdGZzIGFyY2hpdmUgZm9ybWF0IGFuZCBBUkNIXG5pZiBbIC1uIFwiJFJPT1RGU1wiIF07IHRoZW5cblx0Y2FzZSBcIiRST09URlNcIiBpblxuXHRcdCoudGFyKVxuXHRcdFx0VEFSPVwiJFRBUiAteGZcIlxuXHRcdFx0bGV0IFwiVEFSX1NJWkUgPSAkKHN0YXQgLUxjICVzIFwiJFJPT1RGU1wiKSAvICRNQlwiXG5cdFx0XHQ7O1xuXHRcdCoudGFyLmd6KVxuXHRcdFx0VEFSPVwiJFRBUiAtenhmXCJcblx0XHRcdGxldCBcIlRBUl9TSVpFID0gJChnemlwIC0tbGlzdCBcIiRST09URlNcIiB8IGF3ayAnRU5Ee3ByaW50ICQyfScpIC8gJE1CXCJcblx0XHRcdDs7XG5cdFx0Ki50YXIueHopXG5cdFx0XHRUQVI9XCIkVEFSIC1KeGZcIlxuXHRcdFx0bGV0IFwiVEFSX1NJWkUgPSAkKHh6IC0tcm9ib3QgLS1saXN0IFwiJFJPT1RGU1wiIHwgYXdrICcvXnRvdGFscy97cHJpbnQgJDV9JykgLyAkTUJcIlxuXHRcdFx0Oztcblx0XHQqKSBmYXRhbCBcImVycm9yOiB1bmtub3duIHJvb3RmcyBhcmNoaXZlIGZvcm1hdFwiXG5cdFx0XHQ7O1xuXHRlc2FjXG5cdCMgTk9URTogV2UgYXNzdW1lIHRoZXJlIGlzIG5vIGFyY2ggbmFtZXMgY29udGFpbmluZyAnLScgb3IgJy4nXG5cdEFSQ0g9XCIke1JPT1RGUyMjKi19XCJcblx0QVJDSD1cIiR7QVJDSCUlLip9XCJcbmZpXG5cbmNhc2UgXCIkTUVESUFcIiBpblxuXHQvZGV2L21tY2Jsayp8L2Rldi9sb29wKnwvZGV2L252bWUqKVxuXHRcdHBhcnRzdWZmaXg9XCJwXCJcblx0XHQ7O1xuXHQqKVxuXHRcdHVuc2V0IHBhcnRzdWZmaXhcblx0XHQ7O1xuZXNhY1xuXG4jIyMgaW5jbHVkZSBsb2dnaW5nXG4uICRESVIvbG9nXG5cbmxvZ19pbml0XG5cbiMgU291cmNlIGNvbW1vbiBzaGVsbCBmdW5jdGlvbnNcbi4gJERJUi9mdW5jdGlvbnNcblxuIyBTb3VyY2UgYm9hcmQgc3BlY2lmaWMgc2hlbGwgc2NyaXB0XG5pZiBbIC1uIFwiJFRBUkdFVFwiIF07IHRoZW5cblx0LiBcIiRCT0FSRERJUi8kVEFSR0VUXCJcbmVsc2Vcblx0LiBcIiRTT0NTRElSL3Vua25vd24tc29jLnNoXCJcbmZpXG5cblsgLXogXCIkRkFTVF9CT09UXCIgXSB8fCBCT09UX1RJTUVPVVQ9MFxuXG4jIEFkZCBkZWZhdWx0IHN5c3RlbSBjb25zb2xlXG5pZiBbIC1uIFwiJENPTlNPTEVcIiBdICYmIFsgLXogXCIkU1lTQ09OXCIgXTsgdGhlblxuXHRTWVNDT049dHR5UzAsMTE1MjAwbjhcbmZpXG5cbiMgQWRkIEVGSSBQYXJ0aXRpb25zXG5pZiBbIC1uIFwiJEVGSVwiIC1hIC1uIFwiJFJPT1RGU1wiIF07IHRoZW5cblx0aWYgWyAteiBcIiRGSVJNUEFSVF9OVU1cIiBdOyB0aGVuXG5cdFx0RklSTVBBUlRfTlVNPVwiJHtST09UUEFSVF9OVU19XCJcblx0XHRsZXQgUk9PVFBBUlRfTlVNPSR7RklSTVBBUlRfTlVNfSsxXG5cdGZpXG5maVxuXG4jIEFkZCBhIGJvb3QgcGFydGl0aW9uXG5pZiBbIC1uIFwiJEFERF9CT09UUEFSVFwiIF07IHRoZW5cblx0aWYgWyAteiBcIiRCT09UUEFSVF9OVU1cIiBdOyB0aGVuXG5cdFx0Qk9PVFBBUlRfTlVNPVwiJHtST09UUEFSVF9OVU19XCJcblx0XHRsZXQgUk9PVFBBUlRfTlVNPSR7Qk9PVFBBUlRfTlVNfSsxXG5cdGZpXG5maVxuXG5pZiBbIC16IFwiJFJPT1RGU1wiIC1hIC16IFwiJElNQUdFXCIgXTsgdGhlblxuXHRmaW5kX3BhcnRpdGlvbnNcbmZpXG5cbiMgZGVmYXVsdCBzaXplIG9mIHBhcnRpdGlvbnMgKE1pQilcblsgLXogXCIkRklSTVBBUlRfTlVNXCIgXSB8fCBGSVJNUEFSVF9TSVpFPTEyOFxuWyAteiBcIiRCT09UUEFSVF9OVU1cIiBdIHx8IEJPT1RQQVJUX1NJWkU9NTEyXG5cbmNoYW5nZV9wYXJ0aXRpb25cblxuIyBJbWFnZSBzaXplIGNhbGN1bGF0aW9uXG5pZiBbIC1uIFwiJFJPT1RGU1wiIC1hIC1uIFwiJElNQUdFX09VVFwiIF07IHRoZW5cblx0IyBJbmNyZWFzZSBzaXplIGJ5IDEwJSB3aGljaCBpcyByZXNlcnZlZCBieSBGUywgdGFrZSBpbnRvIGFjY291bnQgaS1ub2RlIHJhdGlvIGFuZCByZXNlcnZlZCAzMk1iLlxuXHQjIEFkZCAxIGp1c3QgaW4gY2FzZS5cblx0SU1BR0VfU0laRV9NSU49XCIkKGF3ayAtdlRTPVwiJFRBUl9TSVpFXCIgLXZNPVwiJE1CXCIgJ0JFR0lOeyBwcmludGYgKFwiJWRcIiwgKChUUys1MTIrMzIpKigxKzEwMjQvODE5MikqMS4xKzEpKSB9JylcIlxuXHRbIC16IFwiJEZJUk1QQVJUX1NJWkVcIiBdIHx8IGxldCBJTUFHRV9TSVpFX01JTj0kSU1BR0VfU0laRV9NSU4rJEZJUk1QQVJUX1NJWkVcblx0WyAteiBcIiRCT09UUEFSVF9TSVpFXCIgXSB8fCBsZXQgSU1BR0VfU0laRV9NSU49JElNQUdFX1NJWkVfTUlOKyRCT09UUEFSVF9TSVpFXG5cdCMgQ2hhbmdlIGltYWdlIHNpemVcblx0aWYgWyAteiBcIiR7SU1BR0VfU0laRS19XCIgXSB8fCBbIFwiJElNQUdFX1NJWkVfTUlOXCIgLWdlIFwiJElNQUdFX1NJWkVcIiBdOyB0aGVuXG5cdFx0SU1BR0VfU0laRT1cIiRJTUFHRV9TSVpFX01JTlwiXG5cdGZpXG5cdGxldCBcIkVORF9TRUNUT1IgPSAkSU1BR0VfU0laRSAtIDFcIlxuXHRFTkRfU0VDVE9SPVwiJEVORF9TRUNUT1JcIk1pQlxuZmlcblxuIyBMYXN0IGNoYW5jZSB0byBiYWNrIG91dFxuaWYgWyAtbiBcIiRJTUFHRV9PVVRcIiAtYSAtbiBcIiRJTUFHRV9TSVpFXCIgXTsgdGhlblxuXHRwcmludHggJ0ltYWdlIG91dDogJzsgcHJpbnRuIFwiJElNQUdFX09VVFwiIGdyZWVuIDIwXG5cdHByaW50eCAnSW1hZ2Ugc2l6ZTogJzsgcHJpbnRuIFwiJElNQUdFX1NJWkUgTWlCXCIgZ3JlZW4gMjBcbmVsc2Vcblx0cHJpbnR4ICdTZWxlY3RlZCBNZWRpYTogJzsgcHJpbnRuIFwiJE1FRElBXCIgZ3JlZW4gMjBcbmZpXG4jIHRhcmdldCBoYXJkd2FyZSBBUkNIXG5pZiBbIC1uIFwiJFRBUkdFVFwiIF07IHRoZW5cblx0cHJpbnR4ICdUYXJnZXQ6ICc7IHByaW50biBcIiRUQVJHRVRcIiBncmVlbiAyMFxuZmlcbiMgcm9vdGZzIGlmIGluY2x1ZGVkXG5pZiBbIC1uIFwiJFJPT1RGU1wiIF07IHRoZW5cblx0cHJpbnR4ICdTZWxlY3RlZCByb290ZnM6ICc7IHByaW50biBcIiRST09URlNcIiBncmVlbiAyMFxuZmlcbiMgaW1hZ2UtaW4gaWYgaW5jbHVkZWRcbmlmIFsgLW4gXCIkSU1BR0VcIiBdOyB0aGVuXG5cdHByaW50eCAnU2VsZWN0ZWQgaW1hZ2U6ICc7IHByaW50biBcIiRJTUFHRVwiIGdyZWVuIDIwXG5maVxuIyBhZGRvblxuaWYgWyAtbiBcIiRBRERPTlwiIF07IHRoZW5cblx0cHJpbnR4ICdBZGRvbjogJzsgcHJpbnRuIFwiJEFERE9OXCIgZ3JlZW4gMjBcbmZpXG5pZiBbIC1uIFwiJFVCT09UXCIgXTsgdGhlblxuXHRwcmludHggJ1UtYm9vdCBkaXJlY3Rvcnk6ICc7IHByaW50biBcIiRVQk9PVFwiIGdyZWVuIDIwXG5maVxuaWYgWyAtbiBcIiRSUE1fSU5TVEFMTFwiIF07IHRoZW5cblx0cHJpbnR4ICdSUE0gZGlyZWN0b3J5OiAnOyBwcmludG4gXCIkUlBNX0lOU1RBTExcIiBncmVlbiAyMFxuZmlcbmlmIFsgLW4gXCIkRFRCX0ZJTEVcIiBdOyB0aGVuXG5cdHByaW50eCAnRFRCIGZpbGU6ICc7IHByaW50biBcIiREVEJfRklMRVwiIGdyZWVuIDIwXG5maVxuaWYgWyAtbiBcIiREVEJfVkVORE9SXCIgXTsgdGhlblxuXHRwcmludHggJ0RUQiB2ZW5kb3I6ICc7IHByaW50biBcIiREVEJfVkVORE9SXCIgZ3JlZW4gMjBcbmZpXG5pZiBbIC1uIFwiJERUQl9LVkVSXCIgXTsgdGhlblxuXHRwcmludHggJ0RUQiBrZXJuZWwgdmVyc2lvbjogJzsgcHJpbnRuIFwiJERUQl9LVkVSXCIgZ3JlZW4gMjBcbmZpXG5pZiBbIC1uIFwiJERFRkFVTFRfS0VSTkVMXCIgXTsgdGhlblxuXHRwcmludHggJ0RlZmF1bHQga2VybmVsOiAnOyBwcmludG4gXCIkREVGQVVMVF9LRVJORUxcIiBncmVlbiAyMFxuZmlcbiMgYWRkY29uc29sZSBpZiBpbmNsdWRlZFxuaWYgWyAtbiBcIiRDT05TT0xFXCIgXTsgdGhlblxuXHRwcmludHggJ1N5c3RlbSBjb25zb2xlOiAnOyBwcmludG4gXCIkU1lTQ09OXCIgZ3JlZW4gMjBcbmZpXG5pZiBbIFwiJElOSVRSRF9PRU1cIiA9IDEgXTsgdGhlblxuXHRwcmludHggJ0luaXRyZCBPRU0gY29uZmlnOiAnOyBwcmludG4gXCJFbmFibGVkXCIgZ3JlZW4gMjBcbmZpXG5pZiBbIC1uIFwiJEZBU1RfQk9PVFwiIF07IHRoZW5cblx0cHJpbnR4ICdGYXN0IGJvb3Q6ICc7IHByaW50biBcIkVuYWJsZWRcIiBncmVlbiAyMFxuZmlcbmlmIFsgLW4gXCIkQk9PVF9USU1FT1VUXCIgXTsgdGhlblxuXHRwcmludHggJ0Jvb3QgdGltZW91dDogJzsgcHJpbnRuIFwiJEJPT1RfVElNRU9VVFwiIGdyZWVuIDIwXG5maVxuaWYgWyAtbiBcIiRST09UX1BBU1NXRFwiIF07IHRoZW5cblx0cHJpbnR4ICdyb290IHBhc3N3b3JkOiAnOyBwcmludG4gXCIkUk9PVF9QQVNTV0RcIiBncmVlbiAyMFxuZmlcbmlmIFsgLW4gXCIkVVNFUl9OQU1FXCIgXSAmJiBbIC1uIFwiJFVTRVJfUEFTU1dEXCIgXTsgdGhlblxuXHRwcmludHggJ1VzZXI6ICc7IHByaW50biBcIiRVU0VSX05BTUVcIiBncmVlbiAyMFxuXHRwcmludHggJ1VzZXIgcGFzc3dvcmQ6ICc7IHByaW50biBcIiRVU0VSX1BBU1NXRFwiIGdyZWVuIDIwXG5maVxuXG5pZiBbIC1uIFwiJExPR19GSUxFXCIgXTsgdGhlblxuXHRwcmludHggJ0xvZyBmaWxlOiAnOyBwcmludG4gXCIkTE9HX0ZJTEVcIiBncmVlbiAyMFxuZmlcblxuY2FzZSBcIiRWTkNcIiBpblxuXHQxKVxuXHRcdHByaW50eCAnVk5DOiAnOyBwcmludG4gXCJlbmFibGVkXCIgZ3JlZW4gMjBcblx0Oztcblx0MClcblx0XHRwcmludHggJ1ZOQzogJzsgcHJpbnRuIFwiZGlzYWJsZWRcIiByZWQgMjBcblx0OztcbmVzYWNcblxuaWYgWyAteiBcIiRJTUFHRV9PVVRcIiBdOyB0aGVuXG5cdGlmIFsgLW4gXCIkSU1BR0VcIiAtbyAtbiBcIiRST09URlNcIiBdOyB0aGVuXG5cdFx0cHJpbnRuIFwiV0FSTklORyEgQUxMIERBVEEgV0lMTCBCRSBERVNUUk9ZRURcIiByZWRcblx0ZWxzZVxuXHRcdHByaW50biBcIldBUk5JTkchIEJPT1RMT0FERVIgV0lMTCBCRSBPVkVSV1JJVFRFTlwiIHJlZFxuXHRmaVxuZmlcblxuaWYgWyBcIiROT0FTS1wiICE9IDEgXTsgdGhlblxuXHQjIEFzayB1c2VyIGJlZm9yZSBzdGFydFxuXHRwcmludG4gXCJXb3VsZCB5b3UgbGlrZSB0byBjb250aW51ZT8gW1llcy9Ob10gXCIgYm9sZFxuXHRyZWFkIFBST0NFRURcblx0Y2FzZSBcIiRQUk9DRUVEXCIgaW5cblx0XHRbWXldW0VlXVtTc10pXG5cdFx0XHQ7O1xuXHRcdCopXG5cdFx0XHRwcmludG4gXCJVc2VyIGV4aXQsIG5vIHJvb3RmcyB3cml0dGVuLlwiXG5cdFx0XHRleGl0IDBcblx0XHRcdDs7XG5cdGVzYWNcbmZpXG5cbnRyYXAgcHJlX2V4aXQgRVhJVCBIVVAgUElQRSBJTlQgUVVJVCBURVJNXG5cbiMgQ2hlY2sgdG8gbWFrZSBpbWFnZSBmaWxlXG5pZiBbIC1uIFwiJElNQUdFX09VVFwiIF07IHRoZW5cblx0TUVESUE9XCIkKGxvc2V0dXAgLS1maW5kKVwiXG5cdFsgLW4gXCIkTUVESUFcIiBdIHx8IGZhdGFsX2Vycm9yIFwiL2Rldi9sb29wKiBpcyBub3QgYWxsb3dlZCEhIVwiXG5maVxuXG4jIFByZXBhcmUgbWVkaWFcblsgLXogXCIke01FRElBLX1cIiBdIHx8IHByZXBhcmVfbWVkaWFcblxuIyBXcml0ZSBpbWFnZSBmaWxlIHRvIHRoZSBtZWRpYSBkZXZpY2VcbmlmIFsgLW4gXCIkSU1BR0VcIiBdOyB0aGVuXG5cdGltYWdlX3RvX21lZGlhXG5maVxuXG5pZiBbIC1uIFwiJFJPT1RGU1wiIF07IHRoZW5cblx0WyAteiBcIiR7SU1BR0VfT1VULX1cIiBdIHx8IHByZXBhcmVfaW1hZ2Vcblx0Y3JlYXRlX2Rpc2tsYWJlbFxuXHRjcmVhdGVfcGFydGl0aW9uXG5cdHN5bmNfcGFydGl0aW9uc1xuXHRmb3JtYXRfcGFydGl0aW9uXG5cdG1vdW50X3BhcnRpdGlvblxuXHR3cml0ZV9yb290ZnNcblx0c2V0dXBfZnN0YWJcdFxuXHR1cGRhdGVfY21kbGluZV90eHRcbmZpXG5cbnNvY193cml0ZV9ib290bG9hZGVyXG5cbiMgU2V0dXAgYm9vdCBmbGFnXG5zZXRfYm9vdGZsYWdcblxuIyBVcGRhdGUgYm9vdCBjb25maWdzXG5CT09UQ09ORj1cIiR7VE1QUk9PVC19L2Jvb3QvZXh0bGludXgvZXh0bGludXguY29uZlwiXG5pZiBbIC1zIFwiJEJPT1RDT05GXCIgXTsgdGhlblxuXHQjIENoYW5nZSBzeXN0ZW0gY29uc29sZVxuXHRpZiBbIC1uIFwiJENPTlNPTEVcIiBdOyB0aGVuXG5cdFx0c2VkIC1pIC1lICcvYXBwZW5kLyBzL1tbOnNwYWNlOl1dY29uc29sZT1bYS16QS1aMC05LF0qLy9nJyBcXFxuXHRcdCAgICAtZSBcIi9hcHBlbmQvIHMvJC8gY29uc29sZT10dHkwIGNvbnNvbGU9JFNZU0NPTi9nXCIgXFxcblx0XHQgICAgLWUgXCIvYXBwZW5kLyBzLyBxdWlldC8vZ1wiIFxcXG5cdFx0ICAgIFwiJEJPT1RDT05GXCJcblx0Zmlcblx0IyBDaGFuZ2UgZmFzdCBib290XG5cdGlmIFsgLW4gXCIkRkFTVF9CT09UXCIgXTsgdGhlblxuXHRcdHNlZCAtaSBcIi9ecHJvbXB0IC4qL2Q7cy9ebWVudSBcXCguKlxcKS9tZW51IFxcMVxcbnByb21wdCAwL1wiIFwiJEJPT1RDT05GXCJcblx0Zmlcblx0IyBDaGFuZ2UgbWVudSB0aW1lb3V0XG5cdGlmIFsgLW4gXCIkQk9PVF9USU1FT1VUXCIgXTsgdGhlblxuXHRcdHNlZCAtaSBcIi9edGltZW91dCAuKi9kO3MvXm1lbnUgXFwoLipcXCkvbWVudSBcXDFcXG50aW1lb3V0ICRCT09UX1RJTUVPVVQvXCIgXCIkQk9PVENPTkZcIlxuXHRmaVxuZmlcbkJPT1RDT05GPVwiJHtUTVBST09ULX0vYm9vdC9ncnViL2dydWIuY2ZnXCJcbmlmIFsgLXMgXCIkQk9PVENPTkZcIiBdOyB0aGVuXG5cdGlmIFsgLW4gXCIkQ09OU09MRVwiIF07IHRoZW5cblx0XHRzZWQgLWkgLWUgJy9bWzpzcGFjZTpdXWxpbnV4LyBzL1tbOnNwYWNlOl1dY29uc29sZT1bYS16QS1aMC05LF0qLy9nJyBcXFxuXHRcdCAgICAtZSBcIi9bWzpzcGFjZTpdXWxpbnV4LyBzLyQvIGNvbnNvbGU9dHR5MCBjb25zb2xlPSRTWVNDT04vZ1wiIFxcXG5cdFx0ICAgIC1lIFwiL1tbOnNwYWNlOl1dbGludXgvIHMvIHF1aWV0Ly9nXCIgXFxcblx0XHQgICAgXCIkQk9PVENPTkZcIlxuXHRmaVxuXHQjIENoYW5nZSBtZW51IHRpbWVvdXRcblx0aWYgWyAtbiBcIiRCT09UX1RJTUVPVVRcIiBdOyB0aGVuXG5cdFx0c2VkIC1pIFwicy9zZXQgdGltZW91dD0uKi9zZXQgdGltZW91dD0kQk9PVF9USU1FT1VUL1wiIFwiJEJPT1RDT05GXCJcblx0ZmlcbmZpXG5CT09UQ09ORj1cIiR7VE1QUk9PVC19L2V0Yy9zeXNjb25maWcvZ3J1YjJcIlxuaWYgWyAtcyBcIiRCT09UQ09ORlwiIF07IHRoZW5cblx0aWYgWyAtbiBcIiRDT05TT0xFXCIgXTsgdGhlblxuXHRcdHNlZCAtaSAtZSAnL0dSVUJfQ01ETElORV9MSU5VWC8gcy9bWzpzcGFjZTpdXWNvbnNvbGU9W2EtekEtWjAtOSxdKi8vZycgXFxcblx0XHQgICAgLWUgXCIvR1JVQl9DTURMSU5FX0xJTlVYLyBzLyckLyBjb25zb2xlPXR0eTAgY29uc29sZT0kU1lTQ09OJy9nXCIgXFxcblx0XHQgICAgLWUgXCIvR1JVQl9DTURMSU5FX0xJTlVYLyBzLyBxdWlldCAvIC9nO3MvIHF1aWV0Jy8nL2dcIiBcXFxuXHRcdCAgICBcIiRCT09UQ09ORlwiXG5cdGZpXG5cdCMgQ2hhbmdlIG1lbnUgdGltZW91dFxuXHRpZiBbIC1uIFwiJEJPT1RfVElNRU9VVFwiIF07IHRoZW5cblx0XHRzaGVsbF9jb25maWdfc2V0IFwiJEJPT1RDT05GXCIgR1JVQl9USU1FT1VUIFwiJEJPT1RfVElNRU9VVFwiXG5cdGZpXG5maVxudW5zZXQgQk9PVENPTkZcblxuIyBFbmFibGUgdm5jIG1vZGUgZm9yIGFsdGVyYXRvci1zZXR1cFxuQUxURVJBVE9SX1NFVFVQX0NPTkY9JHtUTVBST09ULX0vZXRjL2FsdGVyYXRvci1zZXR1cC9jb25maWdcbmlmIFsgLWYgXCIkQUxURVJBVE9SX1NFVFVQX0NPTkZcIiBdOyB0aGVuXG5cdGNhc2UgXCIkVk5DXCIgaW5cblx0XHQxKVxuXHRcdFx0c2VkICcvQUxURVJBVE9SX1NFVFVQX1ZOQz0vZCcgLWkgXCIkQUxURVJBVE9SX1NFVFVQX0NPTkZcIlxuXHRcdFx0ZWNobyAnQUxURVJBVE9SX1NFVFVQX1ZOQz0xJyA+PiBcIiRBTFRFUkFUT1JfU0VUVVBfQ09ORlwiXG5cdFx0Oztcblx0XHQwKVxuXHRcdFx0c2VkICcvXkFMVEVSQVRPUl9TRVRVUF9WTkM9L3MvXi8jLycgLWkgXCIkQUxURVJBVE9SX1NFVFVQX0NPTkZcIlxuXHRcdDs7XG5cdGVzYWNcbmZpXG5cbiMgZXh0cmFjdCBhZGRvbi50YXJcbmlmIFsgLW4gXCIkQURET05cIiBdOyB0aGVuXG5cdHByaW50X21lc3NhZ2UgXCJFeHRyYWN0IGFyY2hpdmUgJEFERE9OIHRvIHJvb3Rmcy4uLlwiXG5cdHRhciAteCAtQyBcIiRUTVBST09UXCIgLWYgXCIkQURET05cIiB8fFxuXHRcdGZhdGFsX2Vycm9yIFwiRXh0cmFjdCAkQURET04gZmFpbGVkISEhXCJcblx0cHJpbnRfZG9uZVxuZmlcblxuIyB1c2UgL2V0Yy9pbml0cmQubWsub2VtIGluIHJvb3Rmc1xuaWYgWyBcIiRJTklUUkRfT0VNXCIgPSAxIF07IHRoZW5cblx0cHJpbnRfbWVzc2FnZSBcIkNvcHlpbmcgaW5pdHJkLm1rLm9lbSB0byBpbml0cmQubWsgLi4uXCJcblx0Y3AgJFRNUFJPT1QvZXRjL2luaXRyZC5ta3sub2VtLH1cblx0cHJpbnRfZG9uZVxuZmlcblxuIyBtb3VudCBjaHJvb3QgaWYgbmVlZGVkXG5pZiBbIC1uIFwiJFJQTV9JTlNUQUxMXCIgXSB8fCBbIC1uIFwiJFJPT1RfUEFTU1dEXCIgXSB8fFxuICAgWyAtbiBcIiRVU0VSX05BTUVcIiBdIHx8IFsgLW4gXCIkVVNFUl9QQVNTV0RcIiBdIHx8XG4gICBbIC1uIFwiJERFRkFVTFRfS0VSTkVMXCIgXSB8fCBbIC1uIFwiJEVGSVwiIF07IHRoZW5cblx0cHJpbnRfbWVzc2FnZSBcIk1vdW50IGNocm9vdCAuLi5cIlxuXHRtb3VudF9jaHJvb3QgfHwgZmF0YWxfZXJyb3IgXCJNb3VudCBjaHJvb3QgZmFpbGVkISEhXCJcblx0cHJpbnRfZG9uZVxuZmlcblxuIyBpbnN0YWxsIGFkZGl0aW9ucyBwYWNrYWdlc1xuaWYgWyAtbiBcIiRSUE1fSU5TVEFMTFwiIF07IHRoZW5cblx0cHJpbnRfbWVzc2FnZSBcIkluc3RhbGwgYWRkaXRpb25zIHJwbSBwYWNrYWdlcyAuLi5cIlxuXHRycG1faW5zdGFsbCBcIiRSUE1fSU5TVEFMTFwiIHx8XG5cdFx0ZmF0YWxfZXJyb3IgXCJGYWlsZWQgaW5zdGFsbCBycG0gcGFja2FnZXMhISFcIlxuXHRwcmludF9kb25lXG5maVxuXG5pZiBbIC1uIFwiJERFRkFVTFRfS0VSTkVMXCIgXTsgdGhlblxuXHRwcmludF9tZXNzYWdlIFwiU2V0IGRlZmF1bHQga2VybmVsOiAkREVGQVVMVF9LRVJORUwgLi4uXCJcblx0ZXhlY19jaHJvb3QgaW5zdGFsbGtlcm5lbCAtLWtlZXAtaW5pdHJkIC11IFwiJERFRkFVTFRfS0VSTkVMXCIgfHxcblx0XHRmYXRhbF9lcnJvciBcIkZhaWxlZCB0byBzZXQgZGVmYXVsdCBrZXJuZWwhISFcIlxuXHRwcmludF9kb25lXG5maVxuXG5pZiBbIC1uIFwiJFJPT1RfUEFTU1dEXCIgXTsgdGhlblxuXHRwcmludF9tZXNzYWdlIFwiU2V0IHJvb3QgcGFzc3dvcmQgLi4uXCJcblx0ZXhlY19jaHJvb3QgdXNlcm1vZCAtcCBcIiQoaGVhZCAtbjEgXCIkUk9PVF9QQVNTV0RcIilcIiBcInJvb3RcIiB8fFxuXHRcdGZhdGFsX2Vycm9yIFwiRmFpbGVkIHRvIHNldCByb290IHBhc3N3b3JkISEhXCJcblx0cHJpbnRfZG9uZVxuZmlcblxuaWYgWyAtbiBcIiRVU0VSX05BTUVcIiBdICYmIFsgLW4gXCIkVVNFUl9QQVNTV0RcIiBdOyB0aGVuXG5cdHByaW50X21lc3NhZ2UgXCJDcmVhdGUgdXNlciBcXFwiJFVTRVJfTkFNRVxcXCIgLi4uXCJcblx0ZXhlY19jaHJvb3QgdXNlcmFkZCAtbSBcIiRVU0VSX05BTUVcIiB8fFxuXHRcdGZhdGFsX2Vycm9yIFwiRmFpbGVkIHRvIGFkZCB1c2VyIFxcXCIke1VTRVJfTkFNRX1cXFwiISEhXCJcblx0cHJpbnRfZG9uZVxuXHRwcmludF9tZXNzYWdlIFwiU2V0IHBhc3N3b3JkIGZvciB1c2VyIFxcXCIkVVNFUl9OQU1FXFxcIiAuLi5cIlxuXHRleGVjX2Nocm9vdCB1c2VybW9kIC1wIFwiJChoZWFkIC1uMSBcIiRVU0VSX1BBU1NXRFwiKVwiIFwiJFVTRVJfTkFNRVwiIHx8XG5cdFx0ZmF0YWxfZXJyb3IgXCJGYWlsZWQgdG8gc2V0ICRVU0VSX05BTUUgcGFzc3dvcmQhISFcIlxuXHRwcmludF9kb25lXG5maVxuXG5pZiBbIC1uIFwiJERUQl9GSUxFXCIgXSAmJiBbIC1uIFwiJERUQl9WRU5ET1JcIiBdICYmIFsgLW4gXCIkRFRCX0tWRVJcIiBdOyB0aGVuXG5cdHByaW50X21lc3NhZ2UgXCJJbnN0YWxsIGV4dGVybmFsIGR0YiAuLi5cIlxuXHRhZGRfZHRiIHx8IGZhdGFsX2Vycm9yIFwiRmFpbGVkIHRvIGluc3RhbGwgdmVuZG9yIGR0YiEhIVwiXG5cdHByaW50X2RvbmVcbmZpXG5cbiMgZ3J1Yi1lZmkgaW5zdGFsbFxuaWYgWyAtbiBcIiRFRklcIiBdICYmIFsgLW4gXCIkRklSTVBBUlRfTlVNXCIgXSAmJiBbIC1mIFwiJFRNUFJPT1RcIi9ldGMvc3lzY29uZmlnL2dydWIyIF07IHRoZW5cblx0cHJpbnRfbWVzc2FnZSBcIlRyeWluZyBncnViLWVmaSBpbnN0YWxsLi4uXCJcblx0Y2FzZSBcIiQoZXhlY19jaHJvb3QgYXJjaClcIiBpblxuXHRcdHg4Nl82NCkgZXhlY19jaHJvb3QgZ3J1Yi1pbnN0YWxsIC0tdGFyZ2V0PXg4Nl82NC1lZmkgLS1yZWNoZWNrIC0tcmVtb3ZhYmxlIFxcXG5cdFx0XHQtLXVlZmktc2VjdXJlLWJvb3QgfHwgZmF0YWxfZXJyb3IgXCJncnViLWluc3RhbGwgeDg2XzY0LWVmaSBmYWlsZWQhISFcIlxuXHRcdDs7XG5cdFx0YWFyY2g2NCkgZXhlY19jaHJvb3QgZ3J1Yi1pbnN0YWxsIC0tdGFyZ2V0PWFybTY0LWVmaSAtLXJlY2hlY2sgLS1yZW1vdmFibGUgXFxcblx0XHRcdC0tdWVmaS1zZWN1cmUtYm9vdCB8fCBmYXRhbF9lcnJvciBcImdydWItaW5zdGFsbCBhcm02NC1lZmkgZmFpbGVkISEhXCJcblx0XHQ7O1xuXHRcdHJpc2N2NjQpIGV4ZWNfY2hyb290IGdydWItaW5zdGFsbCAtLXRhcmdldD1yaXNjdjY0LWVmaSAtLXJlY2hlY2sgLS1yZW1vdmFibGUgXFxcblx0XHRcdC0tdWVmaS1zZWN1cmUtYm9vdCB8fCBmYXRhbF9lcnJvciBcImdydWItaW5zdGFsbCByaXNjdjY0LWVmaSBmYWlsZWQhISFcIlxuXHRcdDs7XG5cdFx0bG9vbmdhcmNoNjQpIGV4ZWNfY2hyb290IGdydWItaW5zdGFsbCAtLXRhcmdldD1sb29uZ2FyY2g2NC1lZmkgLS1yZWNoZWNrIC0tcmVtb3ZhYmxlIFxcXG5cdFx0XHQtLXVlZmktc2VjdXJlLWJvb3QgfHwgZmF0YWxfZXJyb3IgXCJncnViLWluc3RhbGwgbG9vbmdhcmNoNjQtZWZpIGZhaWxlZCEhIVwiXG5cdFx0Oztcblx0XHQqKSBmYXRhbF9lcnJvciBcIlVua25vd24gQVJDSCEhIVwiXG5cdFx0Oztcblx0ZXNhY1xuXHRleGVjX2Nocm9vdCB1cGRhdGUtZ3J1YiB8fCBmYXRhbF9lcnJvciBcInVwZGF0ZS1ncnViIGZhaWxlZCEhIVwiXG5cdHByaW50X2RvbmVcbmZpXG5cbmZpbmFsX2V4aXRcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODQ0NDEwOX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjcwNDkyOTZhIiwicGFyZW50SWQiOiI3NTkwMTBhYyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MjkuMDkyWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipDaGVja2luZyBhdmFpbGFibGUgR1RLIHBhY2thZ2VzIHdpdGggcGtnLWNvbmZpZyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMWRmYjFjODE5MWEwNTQwY2M0MTc2N2ZlMjdcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1NZ2ZfbWFEWjNDbDBhWnktbFdNOWVVajdBdHRGX0RhdzdZV3hWOFBILUQ4Y1N2VGpBREktdnpQZy1wQkZMbkJzUnh6d1U2Y3lOaGU3NkVqQ1cwb2dsZTMtY0lwaktsYmlUT2JiYkdmUUJOeVlhR1RveHE4V0NSdmJUWGVobTJsWkM0MGdnT19Idy1XRUE2a2VmUElJSjJYdGphZVdkYzNWbzJ5WVZtblJ5NTBtZ2NBS3gyd3FXbGJkXzhVOEE2cG9VQTlRVnRHRFZneEw5d3FOZEl3cUc1ZnpPZEhIa1FKSmQwSFBXRTdIVmtuLWcxbk9zejRja3d4aHY0QXRfemczTWVBaWI2UzktdnJOSnJHSXFWaEI1OG51anJNX2NQUHItTlJNMVFHSHd0UnY3bmJwc1E0OXhBMFcxMGhXMjg5cVptMTVoVHByUXB1YW9kX3dqQTU1SHZISzRXdk5qVlBGTkJiU2d2bEh3LWhqQlBFR3NDQmxHUURBbzJCcXBvZ0FSRUtneWlDcjVNUjUtWnJBYnhiWFhiNk1xbVBwQXRmUWl2Wms4NUtKTnhGVXpvWTQzVVpUd3BNUE53WkVqMDFzNmNUWGxDSEtNdDhldzQ3aWROTmhCMGlGUTloTGc4aWYwMkpudV9oMTVoRWJabmhUbzFTLVN0WXV3WVdaTDloS0xma19wLTJHZ19RdUcyWlExcUQtX3BVRjVNbG5mZ0UwWkVvUThrZ3dLbC0xU183a2xrOXFaSHpBeGo4OGRVeUJRX2h0Zmk5VVpZX1FVTG9WYU9abHZRMXR0VGlWMm1ZTjVTay1GUDNrZEtCLUVXakRlUkE5Z3ZWMk01cWlkcUl1Y3ZPZ2VQVEtmTVg4MVgzbHM3Mm9DWl8yZEVwcF8wY05ETktYa1RYRHk4SG0wU1VOSnlOQ1ZOeTVjYnNta2xLbzduV2tNV19qOE1UZXFPdWRGSmJkU1lmSkdCaHBnZlBrTWJGVWM1N1NKTi1tR1MxNG10QzVnd0hKci1BUmZmNVNIcnZBbG1aOEtEMXF0ZXFiQTY5aDRqbnhqY2xPWGVweUgtY1pQdHgyUUtBNkVXNWRmRS1Idk1KUDZtVVJZNVR3SHV4UU5WSkZaYUJkMXR5cG56amM3ZmZkSVQ3ZmhOMjYteU9aMGVmaFk4aXNON2x5X3lvUjYzMkpicE9fdkgyUk5VY2E0NGtPbWplaF9LWnNSS0lqTUotb19GNWdMUkYxU3JGVktSY0hVU0dNWFg5WlVKMEMwT1pHV0JBbHNIVjVUeWY5bjNXQTZzdTFDVDg5d2FERXNtSVdhcm82X1RpZ0ZOSlJSaXJabXhxVlVXQS1GWGFRRzZONkd5Vk90TVFHQ3JcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkNoZWNraW5nIGF2YWlsYWJsZSBHVEsgcGFja2FnZXMgd2l0aCBwa2ctY29uZmlnKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzBlaENRa0hvRkZCMWVWc2pmbDdhOWJGQnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMyMGYxZDA4MTkxODE0NTRmMTBkNzc5ZDVjMSIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJwa2ctY29uZmlnIC0tbW9kdmVyc2lvbiBndGs0IGxpYmFkd2FpdGEtMSAyPiYxOyBydXN0YyAtLXZlcnNpb247IGNhcmdvIC0tdmVyc2lvbiJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9BclF3MTZXTmZwSzRQcHJlVXVhTU1kQ3Z8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMjBmMWUwODE5MThkZDJkODFmM2M5ZjNmMWUiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiZmluZCBhbHQtcm9vdGZzLWluc3RhbGxlciAtbWF4ZGVwdGggMiAtdHlwZSBkIC1wcmludDsgaWYgWyAtZCBhbHQtcm9vdGZzLWluc3RhbGxlci9ib2FyZHMuZCBdOyB0aGVuIGZpbmQgYWx0LXJvb3Rmcy1pbnN0YWxsZXIvYm9hcmRzLmQgLW1heGRlcHRoIDEgLXR5cGUgZiAtcHJpbnRmICclZlxcbicgfCBzb3J0IHwgaGVhZDsgZmk7IGdpdCBzdGF0dXMgLS1zaG9ydCJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTMyMjMsIm91dHB1dCI6MTU3LCJjYWNoZVJlYWQiOjAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTcsInRvdGFsVG9rZW5zIjoxMzM4MCwiY29zdCI6eyJpbnB1dCI6MC4wNjYxMTUwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwNDcxLCJjYWNoZVJlYWQiOjAsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA3MDgyNTAwMDAwMDAwMDAxfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg4NDQ0MTA5LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMxYzZjODQ4MTkxOGU1ZTFlYjkwMzM0MzYxMiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI2NDc0MjNmYyIsInBhcmVudElkIjoiNzA0OTI5NmEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjA3OjI5LjExOFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfMGVoQ1FrSG9GRkIxZVZzamZsN2E5YkZCfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzIwZjFkMDgxOTE4MTQ1NGYxMGQ3NzlkNWMxIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiUGFja2FnZSBndGs0IHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG5QZXJoYXBzIHlvdSBzaG91bGQgYWRkIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBgZ3RrNC5wYydcbnRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGVcbk5vIHBhY2thZ2UgJ2d0azQnIGZvdW5kXG5QYWNrYWdlIGxpYmFkd2FpdGEtMSB3YXMgbm90IGZvdW5kIGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBwYXRoLlxuUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGxpYmFkd2FpdGEtMS5wYydcbnRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGVcbk5vIHBhY2thZ2UgJ2xpYmFkd2FpdGEtMScgZm91bmRcbnJ1c3RjIDEuOTYuMCAoYWM2OGZhYTIwIDIwMjYtMDUtMjUpIChidWlsdCBmcm9tIGEgc291cmNlIHRhcmJhbGwpXG5jYXJnbyAxLjk2LjAgKDMwYTM0YzY4MiAyMDI2LTA1LTI1KSAoYnVpbHQgZnJvbSBhIHNvdXJjZSB0YXJiYWxsKVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NDQ5MTE4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNWQ2NTNiY2UiLCJwYXJlbnRJZCI6IjY0NzQyM2ZjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDowNzoyOS4xMThaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0FyUXcxNldOZnBLNFBwcmVVdWFNTWRDdnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMyMGYxZTA4MTkxOGRkMmQ4MWYzYzlmM2YxZSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6ImFsdC1yb290ZnMtaW5zdGFsbGVyXG5hbHQtcm9vdGZzLWluc3RhbGxlci9zb2NzLmRcbmFsdC1yb290ZnMtaW5zdGFsbGVyLy5nZWFyXG5hbHQtcm9vdGZzLWluc3RhbGxlci8uZ2Vhci90YWdzXG5hbHQtcm9vdGZzLWluc3RhbGxlci8uZ2Vhci91cHN0cmVhbVxuYWx0LXJvb3Rmcy1pbnN0YWxsZXIvYm9hcmRzLmRcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODQ0OTExOH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImE4OGU1NjJmIiwicGFyZW50SWQiOiI1ZDY1M2JjZSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MzIuMzYxWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipJbnZlc3RpZ2F0aW5nIGdpdCBzdWJtb2R1bGUgc3RydWN0dXJlKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMyMjdjN2M4MTkxOTQyMzBiNmNmYTQyNTc0M1wiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTU1qRmFOTm5laDJwWVhnUGlFYldjd1lyVm1DeEFGMy1mRjN4QjBsLU1oQXhMaTlVeGFTdjk3QWE1N3hWeGozOEtWNUJJQ2hLRWFvZFNBQWJpNVZ6a0xrVFBLM1dGUDJ6UWlMcmt6M19YbHlIRDVLaWRfcHdRcFlLbTM2S3NCZ0FtckF3RWowQUV5Z2x1V3o2X0FQVnhTWGVLeHZPWTJDa2tjSXU4bzlSNU1fbnd1OXViMXhFWWlJLW83Q3dUcTdxY3ZfVDI3ZFNrT2tfS1MyNERXTXJHS3BpUkhOQXItQmVSbEN1cGljczd1Z0Z3WGlmMFFzczV5VU14bzh1QWNueTNNNi1Yb25MWERRR20yb29UalhvbUxKVEVjVWpITktFcnAweWxiNkxBQlFxZDJpVEkxUnRveUVYVFkyQUxCaEc0MEFSLWpGa3BKd0NTRDh0X1JzWXVidE10ZDBneV9KN1J3MHlkNldmRnpseGVKMGZSSVQwRGlyamk1MU95SGZxZVBkTkhNbDFVejBqeHhXYjJmQ2ltYTFLczdxSEIyNENjTDlHcno0TXFWTEROVmJDWHVPckhsRFROdnJpNzI2cTVWNXBydmNyQjROTDRuaUdhY21OVzk0ZlI3UnpGbjZWTjNzMERudmtwZDlUUnl4eElidXFOS2ZCb0Jzamd3SkZxRmZkeFkzdWZ2ZmtsQVdKV0N3bHBZdVNmV1NNdVI4RUI1Q2x5OGNadzlJMU9LcURWOVJTSzN5VEMwZmdFVzhpdEJGV1FnUDdudHpEbmQzRW9vcXdBMGRJcV9pVDl2ajhSLUdDRE0ySWd5cTZZOEtEYWJNTnBsUmkxMjdtM3Q5Tk54TjJBblRPR21qQmxHWHRDMjBLYm5aenJacW9hT3ZnNUZhSkdiRXpLc19ONVprQUV0YWV6Qld5TktYZHo4SWRqUG0yXzJUbkQ5NzBleWVjVTltZ1N6UldTeHctZE1GNkJQdDFMcUtZeURWZy03QWVLTzI2Mmx1UzBKd0NrSlZRUE5wMTlMWXFYeW0yTFJpSmZUQUNqa2VNUkV0aW9VWmlhQzVwMmFXcWJHVFZCRzRCSk9iV1VrdE11VVIyNG0zZUJ0RXJfTU84VEtOSDZuekM3aUJFVHFESzlueWw0SDZPNy10enBqdi01X2xXYjV3T1pnOUJfVHZ4MmlrQ3pjUldheDB4Tkl1Z29SSkZFb05IWjdiQkI2Y1JsMHBMcFlsNUJvNXFPX3hQSjBVMjNEc3hHV2x5QXhhU2xPMmFXNXEtaHhwV21nVGxCeEExMVY2bTB0SFhoMkFYODl6VDRmLXJpa0dPSFdBWjJuZFdJMD1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkludmVzdGlnYXRpbmcgZ2l0IHN1Ym1vZHVsZSBzdHJ1Y3R1cmUqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfSjYxYkc3TDZEN0FSWUprbUxUVkZEYnNCfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzIzNWU3YzgxOTE4MmY4YzFmOWQ3NWE2MzE2IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImZpbmQgYWx0LXJvb3Rmcy1pbnN0YWxsZXIvYm9hcmRzLmQgLW1heGRlcHRoIDEgLXR5cGUgZiB8IHdjIC1sOyBscyAtbGEgYWx0LXJvb3Rmcy1pbnN0YWxsZXIvYm9hcmRzLmQgfCBoZWFkIC0zMDsgZ3JlcCAtUmhvICduYW1lID0gXCJsaWJhZHdhaXRhXCInIH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYyAyPi9kZXYvbnVsbCB8IGhlYWQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjgwNiwib3V0cHV0Ijo5NywiY2FjaGVSZWFkIjoxMjgwMCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxNCwidG90YWxUb2tlbnMiOjEzNzAzLCJjb3N0Ijp7ImlucHV0IjowLjAwNDAzMDAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMjkxMDAwMDAwMDAwMDAwMDMsImNhY2hlUmVhZCI6MC4wMDYzOTk5OTk5OTk5OTk5OTk0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMTMzNDAwMDAwMDAwMDAwMDF9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODg0NDkxMTgsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzIxNzQxYzgxOTE4ZTYxZWY0ODYwNjQ4YTYwIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijc0MzBhMjhjIiwicGFyZW50SWQiOiJhODhlNTYyZiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDc6MzIuMzczWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9KNjFiRzdMNkQ3QVJZSmttTFRWRkRic0J8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMjM1ZTdjODE5MTgyZjhjMWY5ZDc1YTYzMTYiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIwXG50b3RhbCA4XG5kcnd4ci14ci14IDIgYWd1c2NoaW4gYWd1c2NoaW4gNDA5NiBKdWwgMjUgMTg6MDAgLlxuZHJ3eHIteHIteCA1IGFndXNjaGluIGFndXNjaGluIDQwOTYgSnVsIDI1IDE4OjAwIC4uXG5scnd4cnd4cnd4IDEgYWd1c2NoaW4gYWd1c2NoaW4gICAzMCBKdWwgMjUgMTg6MDAgYTY0LW9saW51eGlubyAtPiAuLi9zb2NzLmQvQWxsV2lubmVyLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBhNjQtb2xpbnV4aW5vLWVtbWMgLT4gLi4vc29jcy5kL0FsbFdpbm5lci1hYXJjaDY0LnNoXG5scnd4cnd4cnd4IDEgYWd1c2NoaW4gYWd1c2NoaW4gICAzMCBKdWwgMjUgMTg6MDAgYW1hcnVsYV9hNjRfcmVsaWMgLT4gLi4vc29jcy5kL0FsbFdpbm5lci1hYXJjaDY0LnNoXG5scnd4cnd4cnd4IDEgYWd1c2NoaW4gYWd1c2NoaW4gICAzMCBKdWwgMjUgMTg6MDAgYW5iZXJuaWNfcmczNXh4X2g3MDAgLT4gLi4vc29jcy5kL0FsbFdpbm5lci1hYXJjaDY0LnNoXG5scnd4cnd4cnd4IDEgYWd1c2NoaW4gYWd1c2NoaW4gICAzMCBKdWwgMjUgMTg6MDAgYW5iZXJuaWMtcmc1NTItcmszMzk5IC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGFuYmVybmljLXJneHgzLXJrMzU2NiAtPiAuLi9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBhdGItdXNwZDIwayAtPiAuLi9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDI0IEp1bCAyNSAxODowMCBiYW5hbmFwaS1mMyAtPiAuLi9zb2NzLmQvSzF4LXJpc2N2NjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBiYW5hbmFwaV9tMl9wbHVzX2g1IC0+IC4uL3NvY3MuZC9BbGxXaW5uZXItYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGJhbmFuYXBpX202NCAtPiAuLi9zb2NzLmQvQWxsV2lubmVyLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBiZWVsaW5rX2dzMSAtPiAuLi9zb2NzLmQvQWxsV2lubmVyLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBicGktcjItcHJvLXJrMzU2OCAtPiAuLi9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBjaHJvbWVib29rX2JvYiAtPiAuLi9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBjaHJvbWVib29rX2tldmluIC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGNtMzU4OC1uYXMtcmszNTg4IC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGNvb2xwaS00Yi1yazM1ODhzIC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGNvb2xwaS1jbTUtZXZiLXJrMzU4OCAtPiAuLi9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBjb29scGktY201LWdlbmJvb2stcmszNTg4IC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGVhaWRrLTYxMC1yazMzOTkgLT4gLi4vc29jcy5kL1JvY2tjaGlwcy1hYXJjaDY0LnNoXG5scnd4cnd4cnd4IDEgYWd1c2NoaW4gYWd1c2NoaW4gICAzMCBKdWwgMjUgMTg6MDAgZW1saWRfbmV1dGlzX241X2RldmJvYXJkIC0+IC4uL3NvY3MuZC9BbGxXaW5uZXItYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGV2Yi1weDMwIC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGV2Yi1yazMzMjggLT4gLi4vc29jcy5kL1JvY2tjaGlwcy1hYXJjaDY0LnNoXG5scnd4cnd4cnd4IDEgYWd1c2NoaW4gYWd1c2NoaW4gICAzMCBKdWwgMjUgMTg6MDAgZXZiLXJrMzM5OSAtPiAuLi9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbmxyd3hyd3hyd3ggMSBhZ3VzY2hpbiBhZ3VzY2hpbiAgIDMwIEp1bCAyNSAxODowMCBldmItcmszNTY4IC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGV2Yi1yazM1ODggLT4gLi4vc29jcy5kL1JvY2tjaGlwcy1hYXJjaDY0LnNoXG5scnd4cnd4cnd4IDEgYWd1c2NoaW4gYWd1c2NoaW4gICAzMCBKdWwgMjUgMTg6MDAgZmljdXMtcmszMzk5IC0+IC4uL3NvY3MuZC9Sb2NrY2hpcHMtYWFyY2g2NC5zaFxubHJ3eHJ3eHJ3eCAxIGFndXNjaGluIGFndXNjaGluICAgMzAgSnVsIDI1IDE4OjAwIGZpcmVmbHktcHgzMCAtPiAuLi9zb2NzLmQvUm9ja2NoaXBzLWFhcmNoNjQuc2hcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODQ1MjM3Mn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjZjYjNkOGJiIiwicGFyZW50SWQiOiI3NDMwYTI4YyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDg6MTAuMzIyWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipQbGFubmluZyBHVEs0L0Fkd2FpdGEgVUkgY29tcG9uZW50cyoqXG5cbioqRGVzaWduaW5nIGRldmljZSBzZWxlY3Rpb24gYW5kIGRpYWxvZ3MqKlxuXG4qKlNldHRpbmcgdGFyZ2V0IGNvZGUgc2l6ZSBsaW1pdCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzMjcxMTQ0ODE5MWJjNDkzMzA0YWU0MDNkYWRcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1NNExvVG1PY2c5YlVRTVBUNDR1dkJLbnlFSzlET19vemV0UHd3M1FlQlFHa2pmSjNjcDZacVVWbERGV2FHRlhXeVhHSWZYTEJXZWxWU2hpMkFUamJoWjE2WUhaSW05WkQ4NHlRS1F1aDVGOEpqU09KZHVNb1FGRDZIeHc4Umt0SGNrQlJROHR6NjBDYUNXbDVsQjlOX1huVGhncGFQd3pBaVE2THctNzc4STlCNVRQLXV4azNsVEZYRzlNQzd2VXNUSE5OSzBUaXBSd1B6b3VtSVRLWWN5TFBjRGZmajB3N09xa0tQU1VoQ2g3dGVsd3pvcFU4T19WMFhXQzZSRlRSWmpISXB5ekZQUU94c0psQ0hRcDU3aDFYdWdjQjVFR3ZUanNTcU9XcU9kOHVJNG1FSUd6RTAzQ1BCeU5iYU1tQnZkdXB3bkpPZDgtbFlrbWVtdDZaLXdzQkVlVy1DMkFJeVlvb1BVcWRWMGI2RWRBc0w4ZDNqUmRNcmxjcHM2elQ2bWdFZTR0UHpsSndGWHdFbVdYUkNUbEQ5Yk1lYkdZVHdhZlNNMkQ1bG04azRUOEl6NElIYm5SNTRNblZnX0Z1bFhYNVdXYXNnNU80YVJPZmVfVUFFanVPTmt3SGV4SEhoN2dCRDlqTzNHVnc2Z1MtNEZodlctLTJuSFNWYVVLZWNvOFZvWkRLY1JqLUJhdU9pODAtbVdfWEJGRE9vR3JTYXlYS3EwT3ZrQUZvNTZLekhsMlJOU3Z6TzdnUEpDeDZyQ00xTGR5c0Fnb0hsUExMRWc1OENMNjlHWm9QLUJMdmZJeTQ3dlNWLUJTQXROdkdnc2xEOUgwb2lxeGxTb21YZlpFS2dEajdBZ29OYkNGTkZBM0Z4cFcxQVY4ZVI3ME1mQXYtQjNBcHdtTTc2c2lybElLN2h2WlRMZndhczQ1YS1RbVhOVlRoM0xHSFpObXN1Z2kyd2dmYzI5SEZOSmp0Q3FDQ28tcldpWHJkbGdIT2lKTHFHd0s3Zi00V2N4RzEzMUtiUmFHTm5RMGxlZmlNY0VQcC01RjY4MDBNOEI3UVlNSWZUZDZ2V3pnbjRtWHZLTDlYREVTRUJjWHFHeVNJM3dIRDJtV2lTS2xTaGZob2hDVnZhRUJYbW5PUUZuTTliRElWSjJvYW53SjhPX19lRWVVdE5QVkNPMUh2VWRhdkNTZDV5WTFYNWxueUk0R2lkUk02cEwyV0xxR3ZVY2JfRWdDUFhOU3NwZzhWX3RnY0hySmZTazlkd2JfNVZENlNoVExvclJpTjlUTFRXX3NvbWpUR29jRXBXVkotRDlLeW9qZ2VqbS1OVnRBR0VMX2hGbDhMaThoTGliQUpxYlRBcm8wbkZobXpSR3BIUnJZQTdka1ZvcmhzT0FXb2thYVZNS2RoRUhVRnhZWDY2YTlsa3Q2OEwyOFVhT0JyNEhjbU90a1pOYWlraGFlTVl5RTFsZDY3bkY2QXp1SkJqbjBjTEVuMzZROE5Zbk9HSTQ3MUZ2Y2Q2M0UxWVdNeWVyMlhWUXhSalFYT2o4VEI2RktDb0lMZGVkcTRHakR6d1JuQXo1ekNGV1RDY24tUFpIcTRLcVhNUnpUeXhRNmMzbUpKMmp5aTM4SFhPVzZEaGhSTFBPWm8wNlN6NS1XejRoblVMTkxSSTZtQWtac29JSjFqTWZZaTBBME1xaDBoMTVoSUZkY3J2YVZzaUotcmw0X05JYVA2VWN0QUh2bnBhb3NwcDY0Um5veVBMTUZySHNCbFM4Y1dlYzRLS0x5OXRyMzFJUTVSaGl2ZmpHTWhGVHJFOHlXbVJ4Q3BPMC1ScTFFWmdRSmo3RTJFamxzdGFPbzNYb1hPVFlXSGtKQThGdjNwMTlMV0xUMFdzTmtLYnNhUUZPeXoyZUtMWFc1RkFNOWN5Qm55VzA0WDd1bnM5QUZHay0ybUVzMHhEU1diQi1FWWllVkZrVzdMTjhva3I4RmRON0JMWF9DVE9DN2hYQ3drWjYxaVowSEczZ282SVR4TVZvbXZzR0wweVdSRkwwV09sdG9pQ3VNR0xwdlllOVVzcFliNS1hUHphd3JNTzBjM0FLc2lqZmVYZzB6aHZraFV2czY5OTBFUEFUVllycjdicEw4TW5PQm1aUjd4WXJzSEotU2dZRjFDb3dsOVZTR0cyWjJpcU9QNEIwdDFNNHBxUGcxWE1qQldtRTFOcW9aR1FKTTVYUmY2Tm90ZnRQekRnbHRuSVJTalFQT3FQcGxvcGZVb0NxdnliRnBJVUlTakpieWNqa09Ybi1KWjZuWmctMHAzSHV3RlF4YnR6U1djRjdldHdwR1luMTZ3TXY1Ykg2N0hVVzE0dFE3bFE4YTRxQkZ3YkZ5QWhkalZqVDVVY2hybUZfMFdMMmUyRFhWME9OdU1nVlBOWU42clI5cngzdGlJNGZDWk9jM3RONnQ2RU15Vy1uSEpqbVl6ZUo5Vm00YjVSSFQ4LTZVNXZSaUhFSUM0Q3ZLMDMzOGg5c1pNQmR4LU1YZ3RTeTJxaUxiQlo1YzBseS1LemppeF9XOXlZa1ZWdkkwV2tFMkswZUgyVmhqQ3Y5a3lYaW5hTjN2WGFZS1dCOV9NQ3dDNmRvbXAycGQ5OGlFZERGRVVCdktUNjlYYnh0WDctaUw0SkhROE5sUzBvWXFFZVNXNU5qQzN2aTYtTlZxLWhHSmQ1SjRna1hnS0dodEdyZDJ1em5ldGZVczVqTmVJTTZ6UTRPMkQzTWliYjk2WVRXZzFOVTU3NHRFVUE2eTF3MHRWc3ZWVElXSm5KTU96bm9lRWstbEpoUDlLM25PaXJva29yeUw2aGxsVjNHRnRQV0c0YjVkSVV4dUhVQlZFSkwwOXJGZlpCR29IRjAyVDFxTVVfQXVseHZNN3FYa3Vrd0VlZFdtc2NOOHVzZWdNc1Q1N1BoSmNwa1ZUZXhCb1UtZ0Z0SEN5bHJad0c4UUxialJtNXowWFRrT1hlaUYzR0pTcWVjSlNYSHVlcUVEa3JxNklOOVlWaWhDbUpDNUo2TnA4RUJhaXdrVlBYTkhtcWUtVGtJbTdIVXBlWU5NVHZ2a1lOUTM0WWhDc2JJcmpJbVB4NDd1Q0J2d19BTmRrMmMzU2o0TXhQVXcyWXJzZjRFOXgtVm1OMXU3ZkFhTE5ZYmd0WnlqLUlKV21UWmxxTUlUdUE5OEI1a3pnREZEei1SRnNpVmg3aGVITmxKMXVocmExSnR6Qi10M0hySmZTeXUwRzRqNGw4TDBvNDNtUGpmNmNleFVib0p4a3lGdThtRDZjUnVJZmMwY3dBbzFlNHFxNXUwc292OGdwc0N3c3BrTHVmbEVQWDZicV84dm5jbzl2M0RENTUxbDY5ZHhUb2puY1F3eWpTSlpfZ2d6VDVsc1FoWS1SdkdlZkdYZERndEViY0hwZVZvT3lsb1RhMDU3eGs3VkJUODlRclBsbU5ZVlZNbW9PNm9JdU1NUEhFMkpNdFZDN2xKRC1mVTBIXzBxQjdzandDcVllZzV5bzljMC1pVVM0Z3Q5dDNLdTFTcU01cVRCZFZJdVhpUExSdEVVeUtha0dfNzlfcEF2XzZudzZtQmJmX2tzR2FEdERoRENjQ284clJmVHVxMy0zSURic0w2YTQ4aVdtUWl6Vk1nWm5uWWphT1BQZkVoeU94M1NzeUFyVVpMYkVkVm9fRGxmdGYwT0dHRHNmRzkyOVlGX1QwWXZJYUJnNGJkeF9oQjBSc0s0a0F1bTNNcHMyYzFxY3hnbURuWWlsNDNFbW80cDFJSW9MbWVqeENVM1JmcUNwOHpmbUlZVzBhX1hrTkJiSHFYeEdFZnlLbU9EalhxTmdJaG45Slh0QkxtY0lVaVFBTTVQQWdacXNneTlYVjc5bzVGNEZGSTdGclRkNlBLSHJqY0NWOGo3TVY1WGw4RDEyOEppaFd2ZXBiQ1hrSnlhVWFhOGY0VTJpQmpsbnlxVTh1bVp6alVQaTAxWTQwZzFOXzVqMU1QMld3alpmM0x5MWk1Q2lxbXBSMUdfOU1Pam9XcUYtTFAxR2U2TzZ0WEFCbmJSZjZmQ3kwdHB5MGV3ZGo5d2Q3U3RxQzFRSmNQMXViX2dRSkozT0Z2ellZcnFaajROVXU4T2lDN0stVThDUkxPQkUtMXhFQ3VWdDk0TExhYk52Q0g4bG13YUJmWHZxTm51Z2ROYy1qaTgwOTZVdW96bFA3RDV4Rzhwc0FubEhsUUU4WWV2dGNFZTVhM0x6MW5YdHB0cmQ4MFQwT3ZseUdIMnQ3cGpudE5FMWlKUXNSQjE1akFNbGtiREtGdU9IaWRwTEF4MURBbVZXSlFZZEF4QW5FcERYTlNPZ1dwUmV1Smo1WGNadGpGQ3BaNmlBZG8yQlMwVFpoWmkyWW5rRm5pM0JmelBpUjJQZ0NZbjlLMDIwdHJCQlEzRUpSUHVnY2NFT2tYa1JfVmkyNklYM0RYS0xNTmZRcWlid0c3eDFNcUlvZmNMUk4tWm9KRHdMRUM0QVZINzVkbHJFSWpwTl9kQVQ2ekpPNGxKckhEUERDdFgxeGdBWk9SY0dDcmEwVEFqdDdDa0QwNDhjVmc5dnA2a0FKdjltbWFGd0FGaERkZ3pNZGVaOHVSbWFJMTJYeEpNTVhheFVodnhFV1RhaXdPcy1WaGY5bDdodHMxSUs2UjNjS3B4ZzdYVGMxbUk2T0U3c2JUXzRTTGIyYTVIbjFaMFFCcVR2S1hiVkRuU1RjalZ1T3ItS1lzdzRha1Bncmotd0pVRUgybU41MWJVZXNybGt3STNSSEdLdk5RSHE4aWVUYlFVUjQ2U3UwYnFNUXk0eVdzTmhoV2lxaFNRQzlEN2VIb1Zkb2RLSGE5UXpfM3VMVFNMdHVocWp3V1pEYTVCeDRvMHhFbWxxbjFhMkZvX2RKRjR1bFZUcHFHUXpqTUxiRTNBcFo0RmRyZERxTV9Rb1JPOTFkRXVhVDZZb1FESDltRk5feGJSMi05QmIzZlJCMDU4MnA3Zlh3SmJGZHl1YUZnajg5dVdNZ1FGMDloaC1yaFo4NGJMVjVSWjBFdzY2YS1qcVZJNFoyWlJxZGVTdEoxVk5iTkgyLURlU1lBU2NjNlMwZ09tTlQxLTQ0RFcxY0dYUWRONENlV21wZV92anJObnpLZmk2VnpfdXUyWXhyU3VycDRtdVhBbDk4Z3U4VEI5bDk5UDBYck1sTG5zX2Z5ekdEellaVlNLVnJBUFRwUzdWNzFQbEFLWGhWZFdmZ0ZRUlZnOW9tOU9ybFliQ0g5UC00cWdrVFVtRmNyTzhkWm5KOGJoc2pnUE83LVdhT0lOd0VpUXZNZ185NUYwcTd3TnVxeEZmRGlQZnc0WkRIUGtwUTBXMlMwbjllaFF0cHhHSUx3bU9ERHRkZ2hrVHhhckVsQzBrYjRNcHFPb1VNdEpScS1HcEJhV3ZsUlNmaTZCcHJUeWhGZHNnV2hseTBnX29DWnJIcnVENFg3SHNTX2NXUVdmMU9paXdaU282OEVGTG5qa3RERDM3aEhiaEdDYzFkejd2VzUzR0NRbEdmbFhhRnpXbGVQMEoxYkhBdUVvUXdFbmxJTWNkTWpCeXhpRHNwb2VmWUtQdkMtekJUZ1wiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqUGxhbm5pbmcgR1RLNC9BZHdhaXRhIFVJIGNvbXBvbmVudHMqKlwifSx7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqRGVzaWduaW5nIGRldmljZSBzZWxlY3Rpb24gYW5kIGRpYWxvZ3MqKlwifSx7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqU2V0dGluZyB0YXJnZXQgY29kZSBzaXplIGxpbWl0KipcIn1dfSJ9LHsidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkRlc2lnbmluZyBHVEs0IEFQSSBzdHJ1Y3R1cmUqKlxuXG4qKlJlZmluaW5nIGJvYXJkIHNlbGVjdGlvbiBwYXJzaW5nIGFuZCBVSSBkZXNpZ24qKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzM4ZWUxNDgxOTFiYzBlYWFhODE1MmM3NzM0XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNTklNcURIQm9nYzQteU0yTGY1OEUzOTNSakJzWF9nSUhfVElzVVRCb1VoZ1JtLTNxMnl4WmFET0dmNTVKYzNVa18wVGZ0UDRVS3k4aHlEaTVDRkpTcjlOMTM5UW5KNnNVbDVQellzeWRGcW5Fcmh1N2tMQU1SUnJYRGlsYk9qOURFSkZBRnpiTWNvOHJPdGpoaG83ck9VaVlHOXc5S0VqS01RQU9icUJtVWMxSE9GLXBzNDcyTTZmcFQyVmx2OUcwa1NuUDNTVTh5eklHSDJ2WWhiazFUd1lMSFNrOGFDb2VVTGlMRU1KeXNqT0dSTVZnTm45WEJ5ZzZ1OFE1X2ItSmRSNGo2Z3dqeDNFZGo1VGtXTV9hUDVPbmZVQktSeHhJNjZLQ05NN0hPNXFHUG9YZHdWWjdtOE1hbktGd0ppQ2pjMWFwX3puNGFFUGJMcThPdVRTcFNxdjk3NVJCMEVHWFNJWUIwT0J6WE5GUFhSWHZLdTlrU3NpZ2pZTHdOOEd6QXFBNWx1Y2tNeFdxRm5ZVE1OamxLM0t2VmtnVU9mUmFPRG0zUmJOZmp2N0VCdG1ITTk2SWw5ekgtTmM1YzIzUTJXcXhXR3Q0LXJTY0xQZG5PVXlGMGxyX0c1ckpxUU4wQnpmbEZ1T2FhaGhtTC1kdDRaeC1La1pLZkxMYVpIV0U4SEVEMTBFcXhrZmVSTDR3MjFrY21mR2xobWh2MUgtcGhOQUg4d0RtdER1eHNMRnQ1TG5QNlJGbmFwaUk1cnV5WVdxUHpLeXliX2xfMklPTEg4UnpYcEd0eS1kb0hjbnpyVVRMcmR4cFdpQU84MWIzTGhUTk1zZ0hnQ012clB2UEdIaVFYSkNOUjdPTXgydnI4T0VwcHVxWUh0cllGTjlFaWVUenJPSTMxTEZNQ2FxQkJLX1N0RE5uZ1U3M3B2Y29CMVV5TUVyOGktU1JUUGpaNl9lTnJUZUctdTF2SVlIV0pvR1FLaXJYQUllbUFKaDBsbjZOOGliZGZ5WjFxNl9DcHUyUGE0WVBMRGRITlhQSUhIVVMtMTBVdUJzZmgtWlBFcjZKcHVqUmZfdDJxUFVIRTFKTGRBZE9ZX1A3M0cwUHBxWWUzMmxmWk9tU1NjVm0taURzRFdjU2N1TzhXNGxhWFhyd2hSN3JIcjRlbnh0bmVtU2VBdElzOVZ6RnJWLWdwY1FoWEhMbFc4VU84V25OUDRoc2h1bmg5Vkd3aUJqcU9MUXM2X185cXkwTnhQakhOMWdqQVNDTS1zZXZaMzB5QVNQQk9aOEVJWUxXR0JKa2FFMTdhcnhMemE1QTZBQ1NvcWFzQklUQklvbWplZ1p0UXVBYkY2bmg4WVd5VEpPa1A0RjhvVWpieFNoNlQtRmVEbXVxaVBPOVZ1ZndHMmd3WkFHVDdfcVRBM3RtYUN4ZFhfNDRxbzZiN196Tm5QV0YydFNraXdabnZCQVpLWWRubFltRnQzSmpiX2I2LVg3Y1hOaHpyNEJldmRDUGVqYklXWHp2d3VOZ2NBVERJZjJ5UW85a2FfeDc2eWVwbU9tZnFXOEdMZ09lN2xkWXhmeWpzcTRVWVlkYUh0TTZqZ2QzVGxBcDI2SEp1dDBsNjcweVhjcHJ6R1d0LVFLVWFfVnFCamRMZVM3UXk3bV91VEdHZDdCeUU1c2o2anpmbTFibGJtRWw1eDNHTVNic2J3RkZRVGptZkhURlpUY1pmTlRodmZCY2luOVlRLURTWjJBU1Q5MG01VzBsZ1c0ZUdjNXlmb2ZoLXV0elVZeU9QOFNlV0c2XzdQMHI3a3RKcE1UME91LXdpN2FoYVNMVUtFMUE3TV9TbXNCZ3FNRzdwalJyblE1R2s0Z0kzMHZ2RWEzZ1FjcmxybUlMd0d1RmdEVzBkVDAwcEpYc3ljSEZvYU1JVFZ4azVXSDJ4bXhIZFE5aDBRWENxOU9EZEFGaUtjTWRjUTF4aEdhTWlrQVVqREE4anZXVXFBRERfS3p5dGxSX04wOXFaWHNtbG5nb3NyV2gwTFAzYWM2eWFaVWJaSWlMRUkzckdiTzctMWVnQ2VyenRTWmtxZWFYMDktYmNOQ0tuN0ZGV0NsOTlxWmpDT3QtTGxNMnN5ZWhzTjd6UWItUlFubnY1MU52d1FvLWtYUFp2bURZQ0dOYkFwNG9QTHJ4MVNuT2tCVUl1dlRra1BWdGE3d3JzemlaQjZXYlNuODkxNEk5ZzkxSWp5T0FGWjhKcHNiTFRaUU8zOXVBa0xyVzV5TVItTjFJdlFwYTBRR1hOeTQ2WWkwQkp4YnZYZVlycXB2b0VLREZQWFdzMVlOanJ6UjJaVElUMWczaHZDQnBIVXBJek52ZXI1VFh3aDJWbXJuQi1FNVBSWHVOWGZkR09WT0VCcVNvWFVqX01ScDdYbElva0NCWG1WY2cxQlE3MlRISVdsdkZPVm02ejhxa3I0dlN3SkZIUmNDRDY2NGtmVDV2aWVGc0xpR3BiLURMdmZza2RhNUhXaXcxV1ZiQnpOR0QwMlhSWjlkampsRVo5dnZISjlYbXdOanhyMElUVzA4eUh4dzZfWS1BOHpYaWlNN3RBcWdmZ2pHLTVMY3UwTTRQc0NRN1dXckhfMnZNU1pRNFdycnhyel9fM2N2T1l4S0pTZWxUaUlOd0NrZDMyTTZMSmY1Q0VVWW96UzRKZjlfazNNWFBCbkxEUzdWNlpMMEpFanpkUlRiUm5Ea09hQ2JUSElSRENNeXRDMEFxb1dVa2NXaWwyaFQ5MmYzSGxXOXE3X1dURnNFOW95MkY3eXVuVzJtWGZ0bnRvd1RIT0ZHY3djRnRDQ05rLUZTNWJkbWFPbEYxRFkwejdNSWtfelVUTTBpa0h1dk9xWmVRR012SVFaTVJSWDBUZkJzZHM5Z2liVkJTNUlPdEJCNjBiMng4S3NQemJfeW52MHk3WUNibGd5X014Z3Btbzc1U3ZyZlBIMUVmQ1RpSThjeTcxNFlJY0ZxMThBczM3NjNlOTA2ZTROa1dscWczSEZ5aXY1WjhNTXBta1hnR3M5LUhNZlFveEFOTWlXeTI4Qmg4SGoxVE1CYjlHbEw5WGJJR2ZTWjBKa3ppY1hfSVd5V1Zta2pvWTRUSjJ3OC1ockFTV1hyZG1HSnR6Vi1oN3k0dnlhS05Sa1dyNWNBTmZha1NNRDJ3N3hVWUNKVm5pNkxvYVlDVnVkdHlteklIYTBOX0dFWkwzSnd4aUUyZnBzNDliQjd5M0d3Q2tCdG0zTnNELWdZcDR2V2VTMXVtVEtReVd1NWVTVXBhZE5nbzJRQjVLN3dlUnF3THFYUGhFOUd3OWl4aEJUM1pPUkVSSFAtUWkyNk9PUXJBSWwtUUZMem1VZm5GUlV2X3RhWTV2U1lYSEVXckJEcDgyMGdlUzd1eGxuVnoxeTdVdHBHbWpCdjNYbEZVd0hFZ1FpaXZIaEpVZHB5U0daRURFVWN5VldTeTBJVmZBemJWWlh1T1VROERNeE5YUS14ZDItR0J4NTYxZkQ1SEFmVjR5UDdneUZVdnVqMWZ5bkFfOFZfelhhZVpIY0RuVV9xUHNkWTJKNktadmtqTjZpOF9Nb2xlOWlWNjB6bTJqU0F2NlNuTjdOZXRXYjY1cTVXMEE4NmpDNmo2OVNINDVQcWNtRk5sR2pCN2JfQ2x6TkUwMmpOU1RQQkR0VEF1a21tYm5IMWhpNnNvOVhmeVJZYlQ2QXFJbEZRN0k4YnlqLUJ2djIwS1Y1cEw4alJWUzA5M1R4NDU4d0U4VkEzTGRhU3VhZ0FVb0E0eDZvbnNBY3U3ajdHdHExUGMwc19xSHBpeWJkQXNxdkprMHRNTFM0MHR6ODAtY3RIMDh4TldxTklva3JJRUVYRDFWM1BfUDJVeVJnRXhqQ0tqd1ZLSnhWejlSZGJybmEwbmluRUkycEJ1Y1haY09rUkM2VUp5cHotdUxkVHY4Tkh3LXZScldRTUtwOGxhNWxzZkNLak51RE5oVUdtRVJnWl81eXcySGVRY001eVdRUy04VUZHMGtZWXE2TDdlYUxFUmc4Ql9WYkNzQ1MtX2JOT04tNnZrbnhaUjBBamdmcmo0RE9wdXIwRFpndFdrOEZlRzVkU3AxX3lKSUMyWHBjRlVOenpvSnB3dHRzZVZPWk85d0N3WUZLTGFFYWJDb3pyOG1WOWRLWTMwMFdTNEpIQmJ2aWNGM1BzTGg0WnUyNm5LVEhGNGxsX3cycGtTZXNQNkFxVWtzLVlxekk5VVdNMnhXMlwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqRGVzaWduaW5nIEdUSzQgQVBJIHN0cnVjdHVyZSoqXCJ9LHtcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipSZWZpbmluZyBib2FyZCBzZWxlY3Rpb24gcGFyc2luZyBhbmQgVUkgZGVzaWduKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX1RIcWhDVmRyM0pXejdxUXVmWUE5Q3pwV3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzM0ODMxYWM4MTkxOGE3YzQzNzdlZmYwMzZlYSIsIm5hbWUiOiJ3cml0ZSIsImFyZ3VtZW50cyI6eyJwYXRoIjoiQ2FyZ28udG9tbCIsImNvbnRlbnQiOiJbcGFja2FnZV1cbm5hbWUgPSBcImZsYXNoZXJcIlxudmVyc2lvbiA9IFwiMC4xLjBcIlxuZWRpdGlvbiA9IFwiMjAyNFwiXG5kZXNjcmlwdGlvbiA9IFwiQSBHVEsgaW50ZXJmYWNlIGZvciBwcmVwYXJpbmcgQUxUIExpbnV4IGltYWdlcyBmb3Igc2luZ2xlLWJvYXJkIGNvbXB1dGVyc1wiXG5saWNlbnNlID0gXCJHUEwtMi4wLW9yLWxhdGVyXCJcblxuW2RlcGVuZGVuY2llc11cbmFkdyA9IHsgcGFja2FnZSA9IFwibGliYWR3YWl0YVwiLCB2ZXJzaW9uID0gXCIwLjhcIiwgZmVhdHVyZXMgPSBbXCJ2MV81XCJdIH1cbmd0ayA9IHsgcGFja2FnZSA9IFwiZ3RrNFwiLCB2ZXJzaW9uID0gXCIwLjEwXCIsIGZlYXR1cmVzID0gW1widjRfMTBcIl0gfVxuIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyMTA4LCJvdXRwdXQiOjEwMTIsImNhY2hlUmVhZCI6MTI4MDAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6ODY5LCJ0b3RhbFRva2VucyI6MTU5MjAsImNvc3QiOnsiaW5wdXQiOjAuMDEwNTQsIm91dHB1dCI6MC4wMzAzNiwiY2FjaGVSZWFkIjowLjAwNjM5OTk5OTk5OTk5OTk5OTQsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA0NzMwMDAwMDAwMDAwMDAxfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg4NDUyMzczLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzMyNGIwNWM4MTkxOGEwOTJkOTJjMzhhNDNlNyJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIyMWZkM2RkMCIsInBhcmVudElkIjoiNmNiM2Q4YmIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjA4OjEwLjMyN1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfVEhxaENWZHIzSld6N3FRdWZZQTlDenBXfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzQ4MzFhYzgxOTE4YTdjNDM3N2VmZjAzNmVhIiwidG9vbE5hbWUiOiJ3cml0ZSIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSB3cm90ZSAzMzUgYnl0ZXMgdG8gQ2FyZ28udG9tbCJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODQ5MDMyN319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjYyYWFhNjI2IiwicGFyZW50SWQiOiIyMWZkM2RkMCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDk6NDEuMzY1WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9xWExndWg3Snc1Vkw1M09OTmh5R3JRTjl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzNGJlZmNjODE5MWJkODQ3Y2FlMWFiNGEyOGYiLCJuYW1lIjoid3JpdGUiLCJhcmd1bWVudHMiOnsicGF0aCI6InNyYy9tYWluLnJzIiwiY29udGVudCI6InVzZSBhZHc6OnByZWx1ZGU6Oio7XG51c2UgZ3RrOjp7Z2lvLCBnbGlifTtcbnVzZSBzdGQ6OntjZWxsOjpSZWZDZWxsLCBmcywgcGF0aDo6UGF0aCwgcmM6OlJjfTtcblxuY29uc3QgQVBQX0lEOiAmc3RyID0gXCJvcmcuYWx0bGludXguRmxhc2hlclwiO1xuY29uc3QgQk9BUkRTOiAmc3RyID0gaW5jbHVkZV9zdHIhKFwiLi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvU1VQUE9SVEVELUJPQVJEU1wiKTtcblxuI1tkZXJpdmUoRGVmYXVsdCldXG5zdHJ1Y3QgU3RhdGUge1xuICAgIHNvdXJjZTogT3B0aW9uPFN0cmluZz4sXG4gICAgc291cmNlX2lzX2ltYWdlOiBib29sLFxuICAgIG91dHB1dF9maWxlOiBPcHRpb248U3RyaW5nPixcbiAgICBvdXRwdXRfaXNfZmlsZTogYm9vbCxcbn1cblxuZm4gbWFpbigpIC0+IGdsaWI6OkV4aXRDb2RlIHtcbiAgICBsZXQgYXBwID0gYWR3OjpBcHBsaWNhdGlvbjo6YnVpbGRlcigpLmFwcGxpY2F0aW9uX2lkKEFQUF9JRCkuYnVpbGQoKTtcbiAgICBhcHAuY29ubmVjdF9hY3RpdmF0ZShidWlsZF91aSk7XG4gICAgYXBwLnJ1bigpXG59XG5cbmZuIGJ1aWxkX3VpKGFwcDogJmFkdzo6QXBwbGljYXRpb24pIHtcbiAgICBsZXQgc3RhdGUgPSBSYzo6bmV3KFJlZkNlbGw6Om5ldyhTdGF0ZTo6ZGVmYXVsdCgpKSk7XG5cbiAgICBsZXQgd2luZG93ID0gYWR3OjpBcHBsaWNhdGlvbldpbmRvdzo6YnVpbGRlcigpXG4gICAgICAgIC5hcHBsaWNhdGlvbihhcHApXG4gICAgICAgIC50aXRsZShcIkFMVCBJbWFnZSBXcml0ZXJcIilcbiAgICAgICAgLmRlZmF1bHRfd2lkdGgoNzIwKVxuICAgICAgICAuZGVmYXVsdF9oZWlnaHQoNzYwKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGxldCB0b2FzdF9vdmVybGF5ID0gYWR3OjpUb2FzdE92ZXJsYXk6Om5ldygpO1xuICAgIGxldCB0b29sYmFyX3ZpZXcgPSBhZHc6OlRvb2xiYXJWaWV3OjpuZXcoKTtcbiAgICB0b2FzdF9vdmVybGF5LnNldF9jaGlsZChTb21lKCZ0b29sYmFyX3ZpZXcpKTtcblxuICAgIGxldCBoZWFkZXIgPSBhZHc6OkhlYWRlckJhcjo6bmV3KCk7XG4gICAgbGV0IGFib3V0X2J1dHRvbiA9IGd0azo6QnV0dG9uOjpidWlsZGVyKClcbiAgICAgICAgLmljb25fbmFtZShcImhlbHAtYWJvdXQtc3ltYm9saWNcIilcbiAgICAgICAgLnRvb2x0aXBfdGV4dChcIkFib3V0IEFMVCBJbWFnZSBXcml0ZXJcIilcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgaGVhZGVyLnBhY2tfZW5kKCZhYm91dF9idXR0b24pO1xuICAgIHRvb2xiYXJfdmlldy5hZGRfdG9wX2JhcigmaGVhZGVyKTtcblxuICAgIGxldCBwYWdlID0gYWR3OjpQcmVmZXJlbmNlc1BhZ2U6Om5ldygpO1xuICAgIHBhZ2Uuc2V0X3RpdGxlKFwiQ3JlYXRlIEluc3RhbGxhdGlvbiBNZWRpYVwiKTtcbiAgICBwYWdlLnNldF9kZXNjcmlwdGlvbihTb21lKFxuICAgICAgICBcIlByZXBhcmUgYW4gQUxUIExpbnV4IHJvb3QgZmlsZXN5c3RlbSBvciBkaXNrIGltYWdlIGZvciB5b3VyIGJvYXJkLlwiLFxuICAgICkpO1xuICAgIHRvb2xiYXJfdmlldy5zZXRfY29udGVudChTb21lKCZwYWdlKSk7XG5cbiAgICAvLyBTb3VyY2VcbiAgICBsZXQgc291cmNlX2dyb3VwID0gYWR3OjpQcmVmZXJlbmNlc0dyb3VwOjpidWlsZGVyKClcbiAgICAgICAgLnRpdGxlKFwiSW5zdGFsbGF0aW9uIFNvdXJjZVwiKVxuICAgICAgICAuZGVzY3JpcHRpb24oXCJDaG9vc2UgYSByb290IGZpbGVzeXN0ZW0gYXJjaGl2ZSBvciBhIHJlYWR5LW1hZGUgZGlzayBpbWFnZS5cIilcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBsZXQgc291cmNlX3R5cGVfcm93ID0gYWR3OjpBY3Rpb25Sb3c6OmJ1aWxkZXIoKS50aXRsZShcIlNvdXJjZSB0eXBlXCIpLmJ1aWxkKCk7XG4gICAgbGV0IHNvdXJjZV90eXBlcyA9IGd0azo6Qm94OjpuZXcoZ3RrOjpPcmllbnRhdGlvbjo6SG9yaXpvbnRhbCwgMCk7XG4gICAgc291cmNlX3R5cGVzLmFkZF9jc3NfY2xhc3MoXCJsaW5rZWRcIik7XG4gICAgc291cmNlX3R5cGVzLnNldF92YWxpZ24oZ3RrOjpBbGlnbjo6Q2VudGVyKTtcbiAgICBsZXQgYXJjaGl2ZV9idXR0b24gPSBndGs6OlRvZ2dsZUJ1dHRvbjo6d2l0aF9sYWJlbChcIlJvb3QgZmlsZXN5c3RlbVwiKTtcbiAgICBhcmNoaXZlX2J1dHRvbi5zZXRfYWN0aXZlKHRydWUpO1xuICAgIGxldCBpbWFnZV9idXR0b24gPSBndGs6OlRvZ2dsZUJ1dHRvbjo6d2l0aF9sYWJlbChcIkRpc2sgaW1hZ2VcIik7XG4gICAgaW1hZ2VfYnV0dG9uLnNldF9ncm91cChTb21lKCZhcmNoaXZlX2J1dHRvbikpO1xuICAgIHNvdXJjZV90eXBlcy5hcHBlbmQoJmFyY2hpdmVfYnV0dG9uKTtcbiAgICBzb3VyY2VfdHlwZXMuYXBwZW5kKCZpbWFnZV9idXR0b24pO1xuICAgIHNvdXJjZV90eXBlX3Jvdy5hZGRfc3VmZml4KCZzb3VyY2VfdHlwZXMpO1xuICAgIHNvdXJjZV9ncm91cC5hZGQoJnNvdXJjZV90eXBlX3Jvdyk7XG5cbiAgICBsZXQgc291cmNlX3JvdyA9IGFkdzo6QWN0aW9uUm93OjpidWlsZGVyKClcbiAgICAgICAgLnRpdGxlKFwiTm8gc291cmNlIHNlbGVjdGVkXCIpXG4gICAgICAgIC5zdWJ0aXRsZShcIlN1cHBvcnRlZDogLnRhciwgLnRhci5neiwgLnRhci54elwiKVxuICAgICAgICAuYWN0aXZhdGFibGUodHJ1ZSlcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgc291cmNlX3Jvdy5hZGRfcHJlZml4KCZpbWFnZShcImRvY3VtZW50LW9wZW4tc3ltYm9saWNcIikpO1xuICAgIGxldCBzb3VyY2VfY2hvb3NlID0gZ3RrOjpCdXR0b246OmJ1aWxkZXIoKVxuICAgICAgICAubGFiZWwoXCJDaG9vc2XigKZcIilcbiAgICAgICAgLnZhbGlnbihndGs6OkFsaWduOjpDZW50ZXIpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIHNvdXJjZV9yb3cuYWRkX3N1ZmZpeCgmc291cmNlX2Nob29zZSk7XG4gICAgc291cmNlX3Jvdy5zZXRfYWN0aXZhdGFibGVfd2lkZ2V0KFNvbWUoJnNvdXJjZV9jaG9vc2UpKTtcbiAgICBzb3VyY2VfZ3JvdXAuYWRkKCZzb3VyY2Vfcm93KTtcbiAgICBwYWdlLmFkZCgmc291cmNlX2dyb3VwKTtcblxuICAgIC8vIEhhcmR3YXJlXG4gICAgbGV0IGhhcmR3YXJlX2dyb3VwID0gYWR3OjpQcmVmZXJlbmNlc0dyb3VwOjpidWlsZGVyKClcbiAgICAgICAgLnRpdGxlKFwiVGFyZ2V0IEhhcmR3YXJlXCIpXG4gICAgICAgIC5kZXNjcmlwdGlvbihcIlRoZSBtYXRjaGluZyBib290bG9hZGVyIGFuZCBkZXZpY2UgdHJlZSB3aWxsIGJlIGluc3RhbGxlZC5cIilcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgbGV0IGJvYXJkX25hbWVzID0gc3VwcG9ydGVkX2JvYXJkcygpO1xuICAgIGxldCBib2FyZF9tb2RlbCA9IGd0azo6U3RyaW5nTGlzdDo6bmV3KFxuICAgICAgICAmYm9hcmRfbmFtZXNcbiAgICAgICAgICAgIC5pdGVyKClcbiAgICAgICAgICAgIC5tYXAoU3RyaW5nOjphc19zdHIpXG4gICAgICAgICAgICAuY29sbGVjdDo6PFZlYzxfPj4oKSxcbiAgICApO1xuICAgIGxldCBib2FyZF9yb3cgPSBhZHc6OkNvbWJvUm93OjpidWlsZGVyKClcbiAgICAgICAgLnRpdGxlKFwiQm9hcmRcIilcbiAgICAgICAgLnN1YnRpdGxlKFwiU2VsZWN0IHRoZSBzaW5nbGUtYm9hcmQgY29tcHV0ZXIgbW9kZWxcIilcbiAgICAgICAgLm1vZGVsKCZib2FyZF9tb2RlbClcbiAgICAgICAgLmVuYWJsZV9zZWFyY2godHJ1ZSlcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgaGFyZHdhcmVfZ3JvdXAuYWRkKCZib2FyZF9yb3cpO1xuICAgIHBhZ2UuYWRkKCZoYXJkd2FyZV9ncm91cCk7XG5cbiAgICAvLyBEZXN0aW5hdGlvblxuICAgIGxldCBkZXN0aW5hdGlvbl9ncm91cCA9IGFkdzo6UHJlZmVyZW5jZXNHcm91cDo6YnVpbGRlcigpXG4gICAgICAgIC50aXRsZShcIkRlc3RpbmF0aW9uXCIpXG4gICAgICAgIC5kZXNjcmlwdGlvbihcIldyaXRlIHRvIHJlbW92YWJsZSBtZWRpYSBvciBjcmVhdGUgYW4gaW1hZ2UgZmlsZS5cIilcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgbGV0IGRlc3RpbmF0aW9uX3R5cGVfcm93ID0gYWR3OjpBY3Rpb25Sb3c6OmJ1aWxkZXIoKS50aXRsZShcIk91dHB1dCB0eXBlXCIpLmJ1aWxkKCk7XG4gICAgbGV0IGRlc3RpbmF0aW9uX3R5cGVzID0gZ3RrOjpCb3g6Om5ldyhndGs6Ok9yaWVudGF0aW9uOjpIb3Jpem9udGFsLCAwKTtcbiAgICBkZXN0aW5hdGlvbl90eXBlcy5hZGRfY3NzX2NsYXNzKFwibGlua2VkXCIpO1xuICAgIGRlc3RpbmF0aW9uX3R5cGVzLnNldF92YWxpZ24oZ3RrOjpBbGlnbjo6Q2VudGVyKTtcbiAgICBsZXQgZHJpdmVfYnV0dG9uID0gZ3RrOjpUb2dnbGVCdXR0b246OndpdGhfbGFiZWwoXCJEcml2ZVwiKTtcbiAgICBkcml2ZV9idXR0b24uc2V0X2FjdGl2ZSh0cnVlKTtcbiAgICBsZXQgZmlsZV9idXR0b24gPSBndGs6OlRvZ2dsZUJ1dHRvbjo6d2l0aF9sYWJlbChcIkltYWdlIGZpbGVcIik7XG4gICAgZmlsZV9idXR0b24uc2V0X2dyb3VwKFNvbWUoJmRyaXZlX2J1dHRvbikpO1xuICAgIGRlc3RpbmF0aW9uX3R5cGVzLmFwcGVuZCgmZHJpdmVfYnV0dG9uKTtcbiAgICBkZXN0aW5hdGlvbl90eXBlcy5hcHBlbmQoJmZpbGVfYnV0dG9uKTtcbiAgICBkZXN0aW5hdGlvbl90eXBlX3Jvdy5hZGRfc3VmZml4KCZkZXN0aW5hdGlvbl90eXBlcyk7XG4gICAgZGVzdGluYXRpb25fZ3JvdXAuYWRkKCZkZXN0aW5hdGlvbl90eXBlX3Jvdyk7XG5cbiAgICBsZXQgZHJpdmVfbW9kZWwgPSBndGs6OlN0cmluZ0xpc3Q6Om5ldyhcbiAgICAgICAgJmF2YWlsYWJsZV9kcml2ZXMoKVxuICAgICAgICAgICAgLml0ZXIoKVxuICAgICAgICAgICAgLm1hcChTdHJpbmc6OmFzX3N0cilcbiAgICAgICAgICAgIC5jb2xsZWN0Ojo8VmVjPF8+PigpLFxuICAgICk7XG4gICAgbGV0IGRyaXZlX3JvdyA9IGFkdzo6Q29tYm9Sb3c6OmJ1aWxkZXIoKVxuICAgICAgICAudGl0bGUoXCJTdG9yYWdlIGRldmljZVwiKVxuICAgICAgICAuc3VidGl0bGUoXCJPbmx5IHJlbW92YWJsZSBkZXZpY2VzIGFyZSBzaG93blwiKVxuICAgICAgICAubW9kZWwoJmRyaXZlX21vZGVsKVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBkZXN0aW5hdGlvbl9ncm91cC5hZGQoJmRyaXZlX3Jvdyk7XG5cbiAgICBsZXQgb3V0cHV0X3JvdyA9IGFkdzo6QWN0aW9uUm93OjpidWlsZGVyKClcbiAgICAgICAgLnRpdGxlKFwiQ2hvb3NlIHdoZXJlIHRvIHNhdmUgdGhlIGltYWdlXCIpXG4gICAgICAgIC5zdWJ0aXRsZShcIlJhdyBkaXNrIGltYWdlICguaW1nKVwiKVxuICAgICAgICAudmlzaWJsZShmYWxzZSlcbiAgICAgICAgLmFjdGl2YXRhYmxlKHRydWUpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIG91dHB1dF9yb3cuYWRkX3ByZWZpeCgmaW1hZ2UoXCJkb2N1bWVudC1zYXZlLXN5bWJvbGljXCIpKTtcbiAgICBsZXQgb3V0cHV0X2Nob29zZSA9IGd0azo6QnV0dG9uOjpidWlsZGVyKClcbiAgICAgICAgLmxhYmVsKFwiQ2hvb3Nl4oCmXCIpXG4gICAgICAgIC52YWxpZ24oZ3RrOjpBbGlnbjo6Q2VudGVyKVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBvdXRwdXRfcm93LmFkZF9zdWZmaXgoJm91dHB1dF9jaG9vc2UpO1xuICAgIG91dHB1dF9yb3cuc2V0X2FjdGl2YXRhYmxlX3dpZGdldChTb21lKCZvdXRwdXRfY2hvb3NlKSk7XG4gICAgZGVzdGluYXRpb25fZ3JvdXAuYWRkKCZvdXRwdXRfcm93KTtcbiAgICBwYWdlLmFkZCgmZGVzdGluYXRpb25fZ3JvdXApO1xuXG4gICAgLy8gT3B0aW9ucyBtaXJyb3JpbmcgdGhlIGNvbW1hbmQgbGluZSdzIGNvbW1vbmx5IHVzZWQgc3dpdGNoZXMuXG4gICAgbGV0IG9wdGlvbnNfZ3JvdXAgPSBhZHc6OlByZWZlcmVuY2VzR3JvdXA6OmJ1aWxkZXIoKVxuICAgICAgICAudGl0bGUoXCJPcHRpb25zXCIpXG4gICAgICAgIC5kZXNjcmlwdGlvbihcIlBhcnRpdGlvbmluZyBhbmQgZmlyc3QtYm9vdCBzZXR0aW5nc1wiKVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBsZXQgZmlsZXN5c3RlbV9tb2RlbCA9IGd0azo6U3RyaW5nTGlzdDo6bmV3KCZbXCJleHQ0XCIsIFwiZjJmc1wiXSk7XG4gICAgbGV0IGZpbGVzeXN0ZW1fcm93ID0gYWR3OjpDb21ib1Jvdzo6YnVpbGRlcigpXG4gICAgICAgIC50aXRsZShcIlJvb3QgZmlsZXN5c3RlbVwiKVxuICAgICAgICAubW9kZWwoJmZpbGVzeXN0ZW1fbW9kZWwpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIG9wdGlvbnNfZ3JvdXAuYWRkKCZmaWxlc3lzdGVtX3Jvdyk7XG4gICAgb3B0aW9uc19ncm91cC5hZGQoJnN3aXRjaF9yb3coXG4gICAgICAgIFwiUmVzaXplIHJvb3QgcGFydGl0aW9uXCIsXG4gICAgICAgIFwiR3JvdyB0aGUgcm9vdCBmaWxlc3lzdGVtIHRvIGZpbGwgdGhlIGRlc3RpbmF0aW9uXCIsXG4gICAgICAgIFwidmlldy1mdWxsc2NyZWVuLXN5bWJvbGljXCIsXG4gICAgICAgIHRydWUsXG4gICAgKSk7XG4gICAgb3B0aW9uc19ncm91cC5hZGQoJnN3aXRjaF9yb3coXG4gICAgICAgIFwiU2VwYXJhdGUgYm9vdCBwYXJ0aXRpb25cIixcbiAgICAgICAgXCJDcmVhdGUgYSA1MTIgTWlCIGJvb3QgcGFydGl0aW9uXCIsXG4gICAgICAgIFwiZHJpdmUtaGFyZGRpc2stc3ltYm9saWNcIixcbiAgICAgICAgZmFsc2UsXG4gICAgKSk7XG4gICAgb3B0aW9uc19ncm91cC5hZGQoJnN3aXRjaF9yb3coXG4gICAgICAgIFwiRW5jcnlwdCByb290IHBhcnRpdGlvblwiLFxuICAgICAgICBcIlByb3RlY3QgdGhlIHJvb3QgZmlsZXN5c3RlbSB3aXRoIExVS1NcIixcbiAgICAgICAgXCJjaGFuZ2VzLXByZXZlbnQtc3ltYm9saWNcIixcbiAgICAgICAgZmFsc2UsXG4gICAgKSk7XG4gICAgb3B0aW9uc19ncm91cC5hZGQoJnN3aXRjaF9yb3coXG4gICAgICAgIFwiU2VyaWFsIGNvbnNvbGVcIixcbiAgICAgICAgXCJBZGQgdGhlIHN5c3RlbSBzZXJpYWwgY29uc29sZSB0byBib290IGFyZ3VtZW50c1wiLFxuICAgICAgICBcInV0aWxpdGllcy10ZXJtaW5hbC1zeW1ib2xpY1wiLFxuICAgICAgICBmYWxzZSxcbiAgICApKTtcbiAgICBwYWdlLmFkZCgmb3B0aW9uc19ncm91cCk7XG5cbiAgICBsZXQgYWR2YW5jZWRfZ3JvdXAgPSBhZHc6OlByZWZlcmVuY2VzR3JvdXA6OmJ1aWxkZXIoKS50aXRsZShcIkFkdmFuY2VkXCIpLmJ1aWxkKCk7XG4gICAgbGV0IGVmaV9tb2RlbCA9IGd0azo6U3RyaW5nTGlzdDo6bmV3KCZbXCJOb25lXCIsIFwiRUZJIChHUFQpXCIsIFwiRUZJIChNQlIpXCJdKTtcbiAgICBhZHZhbmNlZF9ncm91cC5hZGQoXG4gICAgICAgICZhZHc6OkNvbWJvUm93OjpidWlsZGVyKClcbiAgICAgICAgICAgIC50aXRsZShcIkVGSSBzeXN0ZW0gcGFydGl0aW9uXCIpXG4gICAgICAgICAgICAubW9kZWwoJmVmaV9tb2RlbClcbiAgICAgICAgICAgIC5idWlsZCgpLFxuICAgICk7XG4gICAgbGV0IHZuY19tb2RlbCA9IGd0azo6U3RyaW5nTGlzdDo6bmV3KCZbXCJVc2UgaW1hZ2UgZGVmYXVsdFwiLCBcIkVuYWJsZWRcIiwgXCJEaXNhYmxlZFwiXSk7XG4gICAgYWR2YW5jZWRfZ3JvdXAuYWRkKFxuICAgICAgICAmYWR3OjpDb21ib1Jvdzo6YnVpbGRlcigpXG4gICAgICAgICAgICAudGl0bGUoXCJGaXJzdC1ib290IFZOQ1wiKVxuICAgICAgICAgICAgLm1vZGVsKCZ2bmNfbW9kZWwpXG4gICAgICAgICAgICAuYnVpbGQoKSxcbiAgICApO1xuICAgIGxldCBleHRyYV9yb3cgPSBhZHc6OkFjdGlvblJvdzo6YnVpbGRlcigpXG4gICAgICAgIC50aXRsZShcIkV4dHJhIG9wdGlvbnMgZmlsZVwiKVxuICAgICAgICAuc3VidGl0bGUoXCJPcHRpb25hbCBpbnN0YWxsZXIgY29uZmlndXJhdGlvblwiKVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBleHRyYV9yb3cuYWRkX3N1ZmZpeChcbiAgICAgICAgJmd0azo6QnV0dG9uOjpidWlsZGVyKClcbiAgICAgICAgICAgIC5pY29uX25hbWUoXCJkb2N1bWVudC1vcGVuLXN5bWJvbGljXCIpXG4gICAgICAgICAgICAudG9vbHRpcF90ZXh0KFwiQ2hvb3NlIGV4dHJhIG9wdGlvbnMgZmlsZVwiKVxuICAgICAgICAgICAgLnZhbGlnbihndGs6OkFsaWduOjpDZW50ZXIpXG4gICAgICAgICAgICAuYnVpbGQoKSxcbiAgICApO1xuICAgIGFkdmFuY2VkX2dyb3VwLmFkZCgmZXh0cmFfcm93KTtcbiAgICBwYWdlLmFkZCgmYWR2YW5jZWRfZ3JvdXApO1xuXG4gICAgbGV0IGFjdGlvbl9iYXIgPSBndGs6OkJveDo6bmV3KGd0azo6T3JpZW50YXRpb246Okhvcml6b250YWwsIDEyKTtcbiAgICBhY3Rpb25fYmFyLnNldF9tYXJnaW5fdG9wKDEyKTtcbiAgICBhY3Rpb25fYmFyLnNldF9tYXJnaW5fYm90dG9tKDEyKTtcbiAgICBhY3Rpb25fYmFyLnNldF9tYXJnaW5fc3RhcnQoMTIpO1xuICAgIGFjdGlvbl9iYXIuc2V0X21hcmdpbl9lbmQoMTIpO1xuICAgIGxldCBhY3Rpb25faGludCA9IGd0azo6TGFiZWw6Om5ldyhTb21lKFwiTm90aGluZyB3aWxsIGJlIHdyaXR0ZW4gdW50aWwgeW91IGNvbmZpcm0uXCIpKTtcbiAgICBhY3Rpb25faGludC5hZGRfY3NzX2NsYXNzKFwiZGltLWxhYmVsXCIpO1xuICAgIGFjdGlvbl9oaW50LnNldF9oZXhwYW5kKHRydWUpO1xuICAgIGFjdGlvbl9oaW50LnNldF9oYWxpZ24oZ3RrOjpBbGlnbjo6U3RhcnQpO1xuICAgIGxldCBzdGFydF9idXR0b24gPSBndGs6OkJ1dHRvbjo6d2l0aF9sYWJlbChcIlJldmlldyBhbmQgV3JpdGVcIik7XG4gICAgc3RhcnRfYnV0dG9uLmFkZF9jc3NfY2xhc3MoXCJzdWdnZXN0ZWQtYWN0aW9uXCIpO1xuICAgIHN0YXJ0X2J1dHRvbi5zZXRfc2Vuc2l0aXZlKGZhbHNlKTtcbiAgICBhY3Rpb25fYmFyLmFwcGVuZCgmYWN0aW9uX2hpbnQpO1xuICAgIGFjdGlvbl9iYXIuYXBwZW5kKCZzdGFydF9idXR0b24pO1xuICAgIHRvb2xiYXJfdmlldy5hZGRfYm90dG9tX2JhcigmYWN0aW9uX2Jhcik7XG5cbiAgICB3aW5kb3cuc2V0X2NvbnRlbnQoU29tZSgmdG9hc3Rfb3ZlcmxheSkpO1xuXG4gICAgLy8gSW50ZXJhY3Rpb25zXG4gICAge1xuICAgICAgICBsZXQgd2luZG93ID0gd2luZG93LmNsb25lKCk7XG4gICAgICAgIGFib3V0X2J1dHRvbi5jb25uZWN0X2NsaWNrZWQobW92ZSB8X3wge1xuICAgICAgICAgICAgYWR3OjpBYm91dERpYWxvZzo6YnVpbGRlcigpXG4gICAgICAgICAgICAgICAgLmFwcGxpY2F0aW9uX25hbWUoXCJBTFQgSW1hZ2UgV3JpdGVyXCIpXG4gICAgICAgICAgICAgICAgLmFwcGxpY2F0aW9uX2ljb24oQVBQX0lEKVxuICAgICAgICAgICAgICAgIC5kZXZlbG9wZXJfbmFtZShcIkFMVCBMaW51eCBUZWFtXCIpXG4gICAgICAgICAgICAgICAgLnZlcnNpb24oZW52IShcIkNBUkdPX1BLR19WRVJTSU9OXCIpKVxuICAgICAgICAgICAgICAgIC5jb21tZW50cyhcIlByZXBhcmUgQUxUIExpbnV4IGluc3RhbGxhdGlvbiBtZWRpYSBmb3Igc3VwcG9ydGVkIHNpbmdsZS1ib2FyZCBjb21wdXRlcnMuXCIpXG4gICAgICAgICAgICAgICAgLndlYnNpdGUoXCJodHRwczovL3d3dy5hbHRsaW51eC5vcmdcIilcbiAgICAgICAgICAgICAgICAubGljZW5zZV90eXBlKGd0azo6TGljZW5zZTo6R3BsMjApXG4gICAgICAgICAgICAgICAgLmJ1aWxkKClcbiAgICAgICAgICAgICAgICAucHJlc2VudChTb21lKCZ3aW5kb3cpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHtcbiAgICAgICAgbGV0IHNvdXJjZV9yb3cgPSBzb3VyY2Vfcm93LmNsb25lKCk7XG4gICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGFyY2hpdmVfYnV0dG9uLmNvbm5lY3RfdG9nZ2xlZChtb3ZlIHxidXR0b258IHtcbiAgICAgICAgICAgIGlmIGJ1dHRvbi5pc19hY3RpdmUoKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLnNvdXJjZV9pc19pbWFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHNvdXJjZV9yb3cuc2V0X3N1YnRpdGxlKFwiU3VwcG9ydGVkOiAudGFyLCAudGFyLmd6LCAudGFyLnh6XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAge1xuICAgICAgICBsZXQgc291cmNlX3JvdyA9IHNvdXJjZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAgICAgICAgaW1hZ2VfYnV0dG9uLmNvbm5lY3RfdG9nZ2xlZChtb3ZlIHxidXR0b258IHtcbiAgICAgICAgICAgIGlmIGJ1dHRvbi5pc19hY3RpdmUoKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLnNvdXJjZV9pc19pbWFnZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgc291cmNlX3Jvdy5zZXRfc3VidGl0bGUoXCJTdXBwb3J0ZWQ6IC5pbWcsIC5pbWcueHpcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB7XG4gICAgICAgIGxldCB3aW5kb3cgPSB3aW5kb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHJvdyA9IHNvdXJjZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAgICAgICAgbGV0IGJvYXJkX3JvdyA9IGJvYXJkX3Jvdy5jbG9uZSgpO1xuICAgICAgICBsZXQgZHJpdmVfcm93ID0gZHJpdmVfcm93LmNsb25lKCk7XG4gICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbiAgICAgICAgc291cmNlX2Nob29zZS5jb25uZWN0X2NsaWNrZWQobW92ZSB8X3wge1xuICAgICAgICAgICAgbGV0IGNob29zZXIgPSBndGs6OkZpbGVDaG9vc2VyTmF0aXZlOjpidWlsZGVyKClcbiAgICAgICAgICAgICAgICAudGl0bGUoXCJDaG9vc2UgSW5zdGFsbGF0aW9uIFNvdXJjZVwiKVxuICAgICAgICAgICAgICAgIC50cmFuc2llbnRfZm9yKCZ3aW5kb3cpXG4gICAgICAgICAgICAgICAgLmFjdGlvbihndGs6OkZpbGVDaG9vc2VyQWN0aW9uOjpPcGVuKVxuICAgICAgICAgICAgICAgIC5hY2NlcHRfbGFiZWwoXCJTZWxlY3RcIilcbiAgICAgICAgICAgICAgICAuY2FuY2VsX2xhYmVsKFwiQ2FuY2VsXCIpXG4gICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG4gICAgICAgICAgICBsZXQgcm93ID0gcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuICAgICAgICAgICAgbGV0IGJvYXJkX3JvdyA9IGJvYXJkX3Jvdy5jbG9uZSgpO1xuICAgICAgICAgICAgbGV0IGRyaXZlX3JvdyA9IGRyaXZlX3Jvdy5jbG9uZSgpO1xuICAgICAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICAgICAgY2hvb3Nlci5jb25uZWN0X3Jlc3BvbnNlKG1vdmUgfGRpYWxvZywgcmVzcG9uc2V8IHtcbiAgICAgICAgICAgICAgICBpZiByZXNwb25zZSA9PSBndGs6OlJlc3BvbnNlVHlwZTo6QWNjZXB0XG4gICAgICAgICAgICAgICAgICAgICYmIGxldCBTb21lKHBhdGgpID0gZGlhbG9nLmZpbGUoKS5hbmRfdGhlbih8ZnwgZi5wYXRoKCkpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3RpdGxlKCZkaXNwbGF5X25hbWUoJnBhdGgpKTtcbiAgICAgICAgICAgICAgICAgICAgcm93LnNldF9zdWJ0aXRsZShwYXRoLnBhcmVudCgpLmFuZF90aGVuKFBhdGg6OnRvX3N0cikudW53cmFwX29yKFwiXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLnNvdXJjZSA9IFNvbWUocGF0aC5kaXNwbGF5KCkudG9fc3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCAmYm9hcmRfcm93LCAmZHJpdmVfcm93KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGlhbG9nLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY2hvb3Nlci5zaG93KCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB7XG4gICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICBib2FyZF9yb3cuY29ubmVjdF9zZWxlY3RlZF9ub3RpZnkobW92ZSB8cm93fCB7XG4gICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCByb3csICZkcml2ZV9yb3cpXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB7XG4gICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGxldCBib2FyZF9yb3cgPSBib2FyZF9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICBkcml2ZV9yb3cuY29ubmVjdF9zZWxlY3RlZF9ub3RpZnkobW92ZSB8cm93fCB7XG4gICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCAmYm9hcmRfcm93LCByb3cpXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB7XG4gICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IG91dHB1dF9yb3cgPSBvdXRwdXRfcm93LmNsb25lKCk7XG4gICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGxldCBib2FyZF9yb3cgPSBib2FyZF9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICBmaWxlX2J1dHRvbi5jb25uZWN0X3RvZ2dsZWQobW92ZSB8YnV0dG9ufCB7XG4gICAgICAgICAgICBsZXQgZmlsZSA9IGJ1dHRvbi5pc19hY3RpdmUoKTtcbiAgICAgICAgICAgIGRyaXZlX3Jvdy5zZXRfdmlzaWJsZSghZmlsZSk7XG4gICAgICAgICAgICBvdXRwdXRfcm93LnNldF92aXNpYmxlKGZpbGUpO1xuICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLm91dHB1dF9pc19maWxlID0gZmlsZTtcbiAgICAgICAgICAgIHVwZGF0ZV9zdGFydCgmc3RhcnRfYnV0dG9uLCAmc3RhdGUsICZib2FyZF9yb3csICZkcml2ZV9yb3cpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAge1xuICAgICAgICBsZXQgd2luZG93ID0gd2luZG93LmNsb25lKCk7XG4gICAgICAgIGxldCByb3cgPSBvdXRwdXRfcm93LmNsb25lKCk7XG4gICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGxldCBib2FyZF9yb3cgPSBib2FyZF9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IGRyaXZlX3JvdyA9IGRyaXZlX3Jvdy5jbG9uZSgpO1xuICAgICAgICBsZXQgc3RhcnRfYnV0dG9uID0gc3RhcnRfYnV0dG9uLmNsb25lKCk7XG4gICAgICAgIG91dHB1dF9jaG9vc2UuY29ubmVjdF9jbGlja2VkKG1vdmUgfF98IHtcbiAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4gICAgICAgICAgICAgICAgLnRpdGxlKFwiQ3JlYXRlIERpc2sgSW1hZ2VcIilcbiAgICAgICAgICAgICAgICAudHJhbnNpZW50X2Zvcigmd2luZG93KVxuICAgICAgICAgICAgICAgIC5hY3Rpb24oZ3RrOjpGaWxlQ2hvb3NlckFjdGlvbjo6U2F2ZSlcbiAgICAgICAgICAgICAgICAuYWNjZXB0X2xhYmVsKFwiU2VsZWN0XCIpXG4gICAgICAgICAgICAgICAgLmNhbmNlbF9sYWJlbChcIkNhbmNlbFwiKVxuICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuICAgICAgICAgICAgY2hvb3Nlci5zZXRfY3VycmVudF9uYW1lKFwiYWx0LWxpbnV4LmltZ1wiKTtcbiAgICAgICAgICAgIGxldCByb3cgPSByb3cuY2xvbmUoKTtcbiAgICAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgZHJpdmVfcm93ID0gZHJpdmVfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgc3RhcnRfYnV0dG9uID0gc3RhcnRfYnV0dG9uLmNsb25lKCk7XG4gICAgICAgICAgICBjaG9vc2VyLmNvbm5lY3RfcmVzcG9uc2UobW92ZSB8ZGlhbG9nLCByZXNwb25zZXwge1xuICAgICAgICAgICAgICAgIGlmIHJlc3BvbnNlID09IGd0azo6UmVzcG9uc2VUeXBlOjpBY2NlcHRcbiAgICAgICAgICAgICAgICAgICAgJiYgbGV0IFNvbWUocGF0aCkgPSBkaWFsb2cuZmlsZSgpLmFuZF90aGVuKHxmfCBmLnBhdGgoKSlcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJvdy5zZXRfdGl0bGUoJmRpc3BsYXlfbmFtZSgmcGF0aCkpO1xuICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBhdGgucGFyZW50KCkuYW5kX3RoZW4oUGF0aDo6dG9fc3RyKS51bndyYXBfb3IoXCJcIikpO1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkub3V0cHV0X2ZpbGUgPSBTb21lKHBhdGguZGlzcGxheSgpLnRvX3N0cmluZygpKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlX3N0YXJ0KCZzdGFydF9idXR0b24sICZzdGF0ZSwgJmJvYXJkX3JvdywgJmRyaXZlX3Jvdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRpYWxvZy5kZXN0cm95KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNob29zZXIuc2hvdygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAge1xuICAgICAgICBsZXQgd2luZG93ID0gd2luZG93LmNsb25lKCk7XG4gICAgICAgIGxldCB0b2FzdF9vdmVybGF5ID0gdG9hc3Rfb3ZlcmxheS5jbG9uZSgpO1xuICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gICAgICAgIGxldCBib2FyZF9uYW1lcyA9IGJvYXJkX25hbWVzLmNsb25lKCk7XG4gICAgICAgIGxldCBkcml2ZV9tb2RlbCA9IGRyaXZlX21vZGVsLmNsb25lKCk7XG4gICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgc3RhcnRfYnV0dG9uLmNvbm5lY3RfY2xpY2tlZChtb3ZlIHxffCB7XG4gICAgICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5ib3Jyb3coKTtcbiAgICAgICAgICAgIGxldCBib2FyZCA9IGJvYXJkX25hbWVzXG4gICAgICAgICAgICAgICAgLmdldChib2FyZF9yb3cuc2VsZWN0ZWQoKSBhcyB1c2l6ZSlcbiAgICAgICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuICAgICAgICAgICAgICAgIC51bndyYXBfb3IoXCJVbmtub3duIGJvYXJkXCIpO1xuICAgICAgICAgICAgbGV0IGRlc3RpbmF0aW9uID0gaWYgc3RhdGUub3V0cHV0X2lzX2ZpbGUge1xuICAgICAgICAgICAgICAgIHN0YXRlLm91dHB1dF9maWxlLmFzX2RlcmVmKCkudW53cmFwX29yKFwiTm8gb3V0cHV0IGZpbGVcIilcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZHJpdmVfbW9kZWxcbiAgICAgICAgICAgICAgICAgICAgLnN0cmluZyhkcml2ZV9yb3cuc2VsZWN0ZWQoKSlcbiAgICAgICAgICAgICAgICAgICAgLm1hcCh8c3wgcy50b19zdHJpbmcoKSlcbiAgICAgICAgICAgICAgICAgICAgLnVud3JhcF9vcl9lbHNlKHx8IFwiTm8gZHJpdmVcIi5pbnRvKCkpXG4gICAgICAgICAgICAgICAgICAgIC5sZWFrKClcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBsZXQgZGlhbG9nID0gYWR3OjpBbGVydERpYWxvZzo6YnVpbGRlcigpXG4gICAgICAgICAgICAgICAgLmhlYWRpbmcoXCJSZWFkeSB0byB3cml0ZT9cIilcbiAgICAgICAgICAgICAgICAuYm9keShmb3JtYXQhKFxuICAgICAgICAgICAgICAgICAgICBcIkJvYXJkOiB7Ym9hcmR9XFxuRGVzdGluYXRpb246IHtkZXN0aW5hdGlvbn1cXG5cXG5UaGlzIGlzIGFuIGludGVyZmFjZSBwcmV2aWV3LiBObyBkYXRhIHdpbGwgYmUgd3JpdHRlbi5cIlxuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG4gICAgICAgICAgICBkaWFsb2cuYWRkX3Jlc3BvbnNlKFwiY2FuY2VsXCIsIFwiQ2FuY2VsXCIpO1xuICAgICAgICAgICAgZGlhbG9nLmFkZF9yZXNwb25zZShcIndyaXRlXCIsIFwiV3JpdGVcIik7XG4gICAgICAgICAgICBkaWFsb2cuc2V0X3Jlc3BvbnNlX2FwcGVhcmFuY2UoXCJ3cml0ZVwiLCBhZHc6OlJlc3BvbnNlQXBwZWFyYW5jZTo6RGVzdHJ1Y3RpdmUpO1xuICAgICAgICAgICAgZGlhbG9nLnNldF9kZWZhdWx0X3Jlc3BvbnNlKFNvbWUoXCJjYW5jZWxcIikpO1xuICAgICAgICAgICAgZGlhbG9nLnNldF9jbG9zZV9yZXNwb25zZShcImNhbmNlbFwiKTtcbiAgICAgICAgICAgIGxldCB0b2FzdF9vdmVybGF5ID0gdG9hc3Rfb3ZlcmxheS5jbG9uZSgpO1xuICAgICAgICAgICAgZGlhbG9nLmNvbm5lY3RfcmVzcG9uc2UoU29tZShcIndyaXRlXCIpLCBtb3ZlIHxfLCBffCB7XG4gICAgICAgICAgICAgICAgdG9hc3Rfb3ZlcmxheS5hZGRfdG9hc3QoYWR3OjpUb2FzdDo6bmV3KFwiRmxhc2hpbmcgaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgcHJldmlld1wiKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGRpYWxvZy5wcmVzZW50KFNvbWUoJndpbmRvdykpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB3aW5kb3cucHJlc2VudCgpO1xufVxuXG5mbiBpbWFnZShpY29uX25hbWU6ICZzdHIpIC0+IGd0azo6SW1hZ2Uge1xuICAgIGxldCBpbWFnZSA9IGd0azo6SW1hZ2U6OmZyb21faWNvbl9uYW1lKGljb25fbmFtZSk7XG4gICAgaW1hZ2Uuc2V0X3BpeGVsX3NpemUoMjApO1xuICAgIGltYWdlXG59XG5cbmZuIHN3aXRjaF9yb3codGl0bGU6ICZzdHIsIHN1YnRpdGxlOiAmc3RyLCBpY29uX25hbWU6ICZzdHIsIGFjdGl2ZTogYm9vbCkgLT4gYWR3OjpTd2l0Y2hSb3cge1xuICAgIGxldCByb3cgPSBhZHc6OlN3aXRjaFJvdzo6YnVpbGRlcigpXG4gICAgICAgIC50aXRsZSh0aXRsZSlcbiAgICAgICAgLnN1YnRpdGxlKHN1YnRpdGxlKVxuICAgICAgICAuYWN0aXZlKGFjdGl2ZSlcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgcm93LmFkZF9wcmVmaXgoJmltYWdlKGljb25fbmFtZSkpO1xuICAgIHJvd1xufVxuXG5mbiBkaXNwbGF5X25hbWUocGF0aDogJlBhdGgpIC0+IFN0cmluZyB7XG4gICAgcGF0aC5maWxlX25hbWUoKVxuICAgICAgICAuYW5kX3RoZW4ofG5hbWV8IG5hbWUudG9fc3RyKCkpXG4gICAgICAgIC51bndyYXBfb3IoXCJTZWxlY3RlZCBmaWxlXCIpXG4gICAgICAgIC50b19vd25lZCgpXG59XG5cbmZuIHVwZGF0ZV9zdGFydChcbiAgICBidXR0b246ICZndGs6OkJ1dHRvbixcbiAgICBzdGF0ZTogJlJjPFJlZkNlbGw8U3RhdGU+PixcbiAgICBib2FyZDogJmFkdzo6Q29tYm9Sb3csXG4gICAgZHJpdmU6ICZhZHc6OkNvbWJvUm93LFxuKSB7XG4gICAgbGV0IHN0YXRlID0gc3RhdGUuYm9ycm93KCk7XG4gICAgbGV0IGhhc19kZXN0aW5hdGlvbiA9IGlmIHN0YXRlLm91dHB1dF9pc19maWxlIHtcbiAgICAgICAgc3RhdGUub3V0cHV0X2ZpbGUuaXNfc29tZSgpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgZHJpdmUubW9kZWwoKS5tYXAofG18IG0ubl9pdGVtcygpID4gMCkudW53cmFwX29yKGZhbHNlKVxuICAgIH07XG4gICAgYnV0dG9uLnNldF9zZW5zaXRpdmUoc3RhdGUuc291cmNlLmlzX3NvbWUoKSAmJiBib2FyZC5zZWxlY3RlZCgpICE9IGd0azo6SU5WQUxJRF9MSVNUX1BPU0lUSU9OICYmIGhhc19kZXN0aW5hdGlvbik7XG59XG5cbmZuIHN1cHBvcnRlZF9ib2FyZHMoKSAtPiBWZWM8U3RyaW5nPiB7XG4gICAgbGV0IG11dCByZXN1bHQgPSBWZWM6Om5ldygpO1xuICAgIGxldCBtdXQgZmFtaWx5ID0gXCJPdGhlclwiO1xuICAgIGZvciBsaW5lIGluIEJPQVJEUy5saW5lcygpIHtcbiAgICAgICAgbGV0IGxpbmUgPSBsaW5lLnRyaW0oKTtcbiAgICAgICAgaWYgbGluZS5pc19lbXB0eSgpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIGxldCBTb21lKGhlYWRpbmcpID0gbGluZS5zdHJpcF9zdWZmaXgoJzonKSB7XG4gICAgICAgICAgICBmYW1pbHkgPSBoZWFkaW5nO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIGJvYXJkIGluIGxpbmUuc3BsaXRfd2hpdGVzcGFjZSgpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGZvcm1hdCEoXCJ7Ym9hcmR9ICDCtyAge2ZhbWlseX1cIikpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlc3VsdFxufVxuXG5mbiBhdmFpbGFibGVfZHJpdmVzKCkgLT4gVmVjPFN0cmluZz4ge1xuICAgIGxldCBtdXQgZHJpdmVzID0gVmVjOjpuZXcoKTtcbiAgICBsZXQgT2soZW50cmllcykgPSBmczo6cmVhZF9kaXIoXCIvc3lzL2Jsb2NrXCIpIGVsc2Uge1xuICAgICAgICByZXR1cm4gZHJpdmVzO1xuICAgIH07XG4gICAgZm9yIGVudHJ5IGluIGVudHJpZXMuZmxhdHRlbigpIHtcbiAgICAgICAgbGV0IG5hbWUgPSBlbnRyeS5maWxlX25hbWUoKS50b19zdHJpbmdfbG9zc3koKS5pbnRvX293bmVkKCk7XG4gICAgICAgIGlmIG5hbWUuc3RhcnRzX3dpdGgoXCJsb29wXCIpIHx8IG5hbWUuc3RhcnRzX3dpdGgoXCJyYW1cIikgfHwgbmFtZS5zdGFydHNfd2l0aChcInpyYW1cIikge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHJlbW92YWJsZSA9IGZzOjpyZWFkX3RvX3N0cmluZyhlbnRyeS5wYXRoKCkuam9pbihcInJlbW92YWJsZVwiKSlcbiAgICAgICAgICAgIC5tYXAofHZhbHVlfCB2YWx1ZS50cmltKCkgPT0gXCIxXCIpXG4gICAgICAgICAgICAudW53cmFwX29yKGZhbHNlKTtcbiAgICAgICAgaWYgIXJlbW92YWJsZSAmJiAhbmFtZS5zdGFydHNfd2l0aChcIm1tY2Jsa1wiKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgc2VjdG9ycyA9IGZzOjpyZWFkX3RvX3N0cmluZyhlbnRyeS5wYXRoKCkuam9pbihcInNpemVcIikpXG4gICAgICAgICAgICAub2soKVxuICAgICAgICAgICAgLmFuZF90aGVuKHx2YWx1ZXwgdmFsdWUudHJpbSgpLnBhcnNlOjo8dTY0PigpLm9rKCkpXG4gICAgICAgICAgICAudW53cmFwX29yKDApO1xuICAgICAgICBsZXQgc2l6ZSA9IGZvcm1hdF9zaXplKHNlY3RvcnMuc2F0dXJhdGluZ19tdWwoNTEyKSk7XG4gICAgICAgIGxldCBtb2RlbCA9IGZzOjpyZWFkX3RvX3N0cmluZyhlbnRyeS5wYXRoKCkuam9pbihcImRldmljZS9tb2RlbFwiKSlcbiAgICAgICAgICAgIC51bndyYXBfb3JfZGVmYXVsdCgpXG4gICAgICAgICAgICAudHJpbSgpXG4gICAgICAgICAgICAudG9fb3duZWQoKTtcbiAgICAgICAgaWYgbW9kZWwuaXNfZW1wdHkoKSB7XG4gICAgICAgICAgICBkcml2ZXMucHVzaChmb3JtYXQhKFwiL2Rldi97bmFtZX0gIMK3ICB7c2l6ZX1cIikpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZHJpdmVzLnB1c2goZm9ybWF0IShcInttb2RlbH0gIMK3ICB7c2l6ZX0gIMK3ICAvZGV2L3tuYW1lfVwiKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZHJpdmVzLnNvcnQoKTtcbiAgICBkcml2ZXNcbn1cblxuZm4gZm9ybWF0X3NpemUoYnl0ZXM6IHU2NCkgLT4gU3RyaW5nIHtcbiAgICBjb25zdCBHSUI6IGY2NCA9IDEwMjQuMCAqIDEwMjQuMCAqIDEwMjQuMDtcbiAgICBjb25zdCBNSUI6IGY2NCA9IDEwMjQuMCAqIDEwMjQuMDtcbiAgICBpZiBieXRlcyBhcyBmNjQgPj0gR0lCIHtcbiAgICAgICAgZm9ybWF0IShcIns6LjF9IEdCXCIsIGJ5dGVzIGFzIGY2NCAvIEdJQilcbiAgICB9IGVsc2Uge1xuICAgICAgICBmb3JtYXQhKFwiezouMH0gTUJcIiwgYnl0ZXMgYXMgZjY0IC8gTUlCKVxuICAgIH1cbn1cbiJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MjExNSwib3V0cHV0Ijo0OTY3LCJjYWNoZVJlYWQiOjEzODI0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjAsInRvdGFsVG9rZW5zIjoyMDkwNiwiY29zdCI6eyJpbnB1dCI6MC4wMTA1NzUwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4xNDkwMSwiY2FjaGVSZWFkIjowLjAwNjkxMiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMTY2NDk3fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg4NDkwMzI4LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzM0YWJkMDg4MTkxYjUwMDhjYzliZTE3MDY4OCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJmNDFmMGU1MCIsInBhcmVudElkIjoiNjJhYWE2MjYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjA5OjQxLjM3MloiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfcVhMZ3VoN0p3NVZMNTNPTk5oeUdyUU45fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjMzRiZWZjYzgxOTFiZDg0N2NhZTFhYjRhMjhmIiwidG9vbE5hbWUiOiJ3cml0ZSIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSB3cm90ZSAxODcxMCBieXRlcyB0byBzcmMvbWFpbi5ycyJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODU4MTM3Mn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImNhYjQxZGUzIiwicGFyZW50SWQiOiJmNDFmMGU1MCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDk6NDcuMzk2WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipGaXhpbmcgbGVhayBtZXRob2QgYW5kIGRlZmF1bHQgc2VsZWN0aW9uKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNhN2ViOTg4MTkxOWQ1ZWU0ZDcwNjBmYzUxZFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTU9yWVV4ZTEtUjRJU0V2OVJTWVo0VE5TcklaVWthUmpncVkwblA3bXNUa1JMaFhsVEFWc1BuU2Faa05hUHdyWTJBU0RycXdSbDhXUEZOZWhtVDQyTW5vOVkxanJpQkcyallrdlNHZjRPazZLWHp5cTFsOGpjaG12dFQtTmV2SDVoUHAyU3p4SFpuLTA1MUZfdDRjQi00S0k4cS1GWnIydWpfZmV0RFpyOU93R0RxZThmaVNDY3RoMm5LUVJHbFVoSExCZjZUdWFmN0s3RzNVQ3VmRFNEZjJUcHpZcDNHTThlR1VVTEd2cV9xSUdFYm95S213OHBZeFhfNFAtaHZ0ZVVKcWlkSHU3OVhERnlTcXgzeHp4VGUyZXJwdmNGeFpZMXNoNkwwdHlUQzBQZldYSmVfYlJHdURnZlN6VlRpOXB4cVpzcHdDNHBNSml6MV9PRU1KQ2VWbzE4eDdTcUhUd3VudE5fZlVKQ2RPOHhaZWptVGlGU0NMdFJPQnVTWkctTFJnNktWd21WcWdVWXVScXdnajJ2Ry10RWJTN2R1dkdYWUNYSF9tNkVnRXJhS3huVGNuQ1R2MGs1T2FHUVFUWlEtX3ZZNUlrcnd3U2hwZjEtZ2VSNHhLTUJmSFBzUVhSZ3A5c2JwZTRwcnh0NXdnLV9PU1dpZ0tSdmtaNmJBdU9xb3FVckpqdDloS2JFWmc2ZjZQM1Z4NGRkUXhmam45djZNRGYxdy1oSlZRTVlSN0FIZjhzOEM1M1pjSUdVdll1aEVkTjBHSS1wemVKQ3lNM2dPTWhEeE5vdnVUVkFjRlpJU0o4c3l3NDFKMHU5U1JGVHUtRk5hcmx2R1R3ZzlQWXpJaWFTZFE2QjI5dV8tVi16MGpGN01FZmxZRFRFQlhZMVN6N3owOEIwM2ZvVzJXRVhjVXFCU3EycWlMeXVLRTJPVnFvOWZ2RlN4bkZ3LUZ1OW1FZDZzVE5kWEpoX2I0U0dkakFjT3p2b1hHdFZKRGhFU0lQbi10Zk9KUVlFVXc5b3JnQ1hMaXRGc3VkZ1VlNkF5WlpjQUp0N0xKUzRMU0tOY1E3LWtTVWFtVktUSExGVFZncnNYOHVCNjFLbXpLbVlVVzZ4Q0piZ2lLcEdpTmNsQlBXZGx4ZUhXWkhhQ3dMMDRZTUlRcGlobndlZmZ6VnZLTmN6eUlDMWxlay1CZTVteWZycVBGM1BBbElwLU83QWxIRzZzdkpOREZuME1Jbl91c1FfcEdkTkVQUWREcHM2dGZrZDNwWnhRR1pWZWl4dVZNMGVFYmppVmI5eWNEc3l4Vm5wVGF4VnNjMW1RZ09tclp1Zmw1enBZTVN0ZXFYWEVJT2I0S21NdzdCRjBFTkJzNkhVd0FNYTJUMFlQR2VHNDFVQnp3cG9nX253RnNkUVFjRlRldW9nTVluRFhPQkxIaGpNMW1ubVlENXhSNnVCZEVZZmlrQjJzcmUzR3lQUHRpalBUQTAzMUFfaTctdDNsekhqak5DeTlSY0kyR0F2LXlGS1VmNUVZWE04Xy01OTVyYldSRFJaSksxbG1ma0NaeGhPYVJfdUpJRTdoWnpFdUFPZUhaOUVzazBWbmExd3U4NjBoOUJCdXVNZVhyVjV5S1RSY0Z4LUNGX2xKcUhTQ3F2WGp4SHdTS29ENGdmT0hzNWhyZmE3OVdYMTg0SzdWZUs5dDZ0SWw2bUNCenZfSWtZZkJVZmNuSmtzZEd1bmttcUZVVkN3PT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkZpeGluZyBsZWFrIG1ldGhvZCBhbmQgZGVmYXVsdCBzZWxlY3Rpb24qKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfZkhGVjJKVzA5TEVrUnB0eTN5UlVydjMzfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2FiMmVjMDgxOTFhODA1ODA2OWQ2NmQxOTMxIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGZtdCAtLSAtLWNoZWNrIiwidGltZW91dCI6MTIwfX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfTlhza2NrdGlYbHFoOE94OUd6dElYWmJNfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2FiMmVjYzgxOTE4NmQzYjU4Y2FlMTFiM2Y1IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGNoZWNrIiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE3MzQyLCJvdXRwdXQiOjEyMiwiY2FjaGVSZWFkIjozNTg0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjU5LCJ0b3RhbFRva2VucyI6MjEwNDgsImNvc3QiOnsiaW5wdXQiOjAuMDg2NzEwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDM2NiwiY2FjaGVSZWFkIjowLjAwMTc5MiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDkyMTYyMDAwMDAwMDAwMDF9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODg1ODEzNzIsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2E1YzdjMDgxOTE5OTU5NjU0NTQwNmM0Njg5In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjViMjcxZDYwIiwicGFyZW50SWQiOiJjYWI0MWRlMyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDk6NTcuMDQ1WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9mSEZWMkpXMDlMRWtScHR5M3lSVXJ2MzN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYWIyZWMwODE5MWE4MDU4MDY5ZDY2ZDE5MzEiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJlcnJvcjogbm8gc3VjaCBjb21tYW5kOiBgZm10YFxuXG5oZWxwOiBhIGNvbW1hbmQgd2l0aCBhIHNpbWlsYXIgbmFtZSBleGlzdHM6IGBmaXhgXG5cbmhlbHA6IHZpZXcgYWxsIGluc3RhbGxlZCBjb21tYW5kcyB3aXRoIGBjYXJnbyAtLWxpc3RgXG5oZWxwOiBmaW5kIGEgcGFja2FnZSB0byBpbnN0YWxsIGBmbXRgIHdpdGggYGNhcmdvIHNlYXJjaCBjYXJnby1mbXRgXG5cblxuQ29tbWFuZCBleGl0ZWQgd2l0aCBjb2RlIDEwMSJ9XSwiZGV0YWlscyI6e30sImlzRXJyb3IiOnRydWUsInRpbWVzdGFtcCI6MTc4NDk4ODU5NzA0NH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijg4M2UxMzNkIiwicGFyZW50SWQiOiI1YjI3MWQ2MCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MDk6NTcuMDQ1WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9OWHNrY2t0aVhscWg4T3g5R3p0SVhaYk18ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYWIyZWNjODE5MTg2ZDNiNThjYWUxMWIzZjUiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgVXBkYXRpbmcgY3JhdGVzLmlvIGluZGV4XG4gICAgIExvY2tpbmcgNjcgcGFja2FnZXMgdG8gbGF0ZXN0IFJ1c3QgMS45Ni4wIGNvbXBhdGlibGUgdmVyc2lvbnNcbiAgICAgIEFkZGluZyBhdXRvY2ZnIHYxLjUuMVxuICAgICAgQWRkaW5nIGJpdGZsYWdzIHYyLjEzLjFcbiAgICAgIEFkZGluZyBjYWlyby1ycyB2MC4yMS41XG4gICAgICBBZGRpbmcgY2Fpcm8tc3lzLXJzIHYwLjIxLjVcbiAgICAgIEFkZGluZyBjZmctZXhwciB2MC4yMC44XG4gICAgICBBZGRpbmcgZXF1aXZhbGVudCB2MS4wLjJcbiAgICAgIEFkZGluZyBmaWVsZC1vZmZzZXQgdjAuMy42XG4gICAgICBBZGRpbmcgZnV0dXJlcy1jaGFubmVsIHYwLjMuMzNcbiAgICAgIEFkZGluZyBmdXR1cmVzLWNvcmUgdjAuMy4zM1xuICAgICAgQWRkaW5nIGZ1dHVyZXMtZXhlY3V0b3IgdjAuMy4zM1xuICAgICAgQWRkaW5nIGZ1dHVyZXMtaW8gdjAuMy4zM1xuICAgICAgQWRkaW5nIGZ1dHVyZXMtbWFjcm8gdjAuMy4zM1xuICAgICAgQWRkaW5nIGZ1dHVyZXMtdGFzayB2MC4zLjMzXG4gICAgICBBZGRpbmcgZnV0dXJlcy11dGlsIHYwLjMuMzNcbiAgICAgIEFkZGluZyBnZGstcGl4YnVmIHYwLjIxLjVcbiAgICAgIEFkZGluZyBnZGstcGl4YnVmLXN5cyB2MC4yMS41XG4gICAgICBBZGRpbmcgZ2RrNCB2MC4xMC4zXG4gICAgICBBZGRpbmcgZ2RrNC1zeXMgdjAuMTAuM1xuICAgICAgQWRkaW5nIGdpbyB2MC4yMS41XG4gICAgICBBZGRpbmcgZ2lvLXN5cyB2MC4yMS41XG4gICAgICBBZGRpbmcgZ2xpYiB2MC4yMS41XG4gICAgICBBZGRpbmcgZ2xpYi1tYWNyb3MgdjAuMjEuNVxuICAgICAgQWRkaW5nIGdsaWItc3lzIHYwLjIxLjVcbiAgICAgIEFkZGluZyBnb2JqZWN0LXN5cyB2MC4yMS41XG4gICAgICBBZGRpbmcgZ3JhcGhlbmUtcnMgdjAuMjEuNVxuICAgICAgQWRkaW5nIGdyYXBoZW5lLXN5cyB2MC4yMS41XG4gICAgICBBZGRpbmcgZ3NrNCB2MC4xMC4zXG4gICAgICBBZGRpbmcgZ3NrNC1zeXMgdjAuMTAuM1xuICAgICAgQWRkaW5nIGd0azQgdjAuMTAuMyAoYXZhaWxhYmxlOiB2MC4xMS40KVxuICAgICAgQWRkaW5nIGd0azQtbWFjcm9zIHYwLjEwLjNcbiAgICAgIEFkZGluZyBndGs0LXN5cyB2MC4xMC4zXG4gICAgICBBZGRpbmcgaGFzaGJyb3duIHYwLjE3LjFcbiAgICAgIEFkZGluZyBoZWNrIHYwLjUuMFxuICAgICAgQWRkaW5nIGluZGV4bWFwIHYyLjE0LjBcbiAgICAgIEFkZGluZyBsaWJhZHdhaXRhIHYwLjguMSAoYXZhaWxhYmxlOiB2MC45LjIpXG4gICAgICBBZGRpbmcgbGliYWR3YWl0YS1zeXMgdjAuOC4xXG4gICAgICBBZGRpbmcgbGliYyB2MC4yLjE4OVxuICAgICAgQWRkaW5nIG1lbWNociB2Mi44LjNcbiAgICAgIEFkZGluZyBtZW1vZmZzZXQgdjAuOS4xXG4gICAgICBBZGRpbmcgcGFuZ28gdjAuMjEuNVxuICAgICAgQWRkaW5nIHBhbmdvLXN5cyB2MC4yMS41XG4gICAgICBBZGRpbmcgcGluLXByb2plY3QtbGl0ZSB2MC4yLjE3XG4gICAgICBBZGRpbmcgcGtnLWNvbmZpZyB2MC4zLjMzXG4gICAgICBBZGRpbmcgcHJvYy1tYWNyby1jcmF0ZSB2My41LjBcbiAgICAgIEFkZGluZyBwcm9jLW1hY3JvMiB2MS4wLjEwN1xuICAgICAgQWRkaW5nIHF1b3RlIHYxLjAuNDdcbiAgICAgIEFkZGluZyBydXN0Y192ZXJzaW9uIHYwLjQuMVxuICAgICAgQWRkaW5nIHNlbXZlciB2MS4wLjI4XG4gICAgICBBZGRpbmcgc2VyZGVfY29yZSB2MS4wLjIyOVxuICAgICAgQWRkaW5nIHNlcmRlX2Rlcml2ZSB2MS4wLjIyOVxuICAgICAgQWRkaW5nIHNlcmRlX3NwYW5uZWQgdjEuMS4xXG4gICAgICBBZGRpbmcgc2xhYiB2MC40LjEyXG4gICAgICBBZGRpbmcgc21hbGx2ZWMgdjEuMTUuMlxuICAgICAgQWRkaW5nIHN5biB2Mi4wLjExOVxuICAgICAgQWRkaW5nIHN5biB2My4wLjNcbiAgICAgIEFkZGluZyBzeXN0ZW0tZGVwcyB2Ny4wLjhcbiAgICAgIEFkZGluZyB0YXJnZXQtbGV4aWNvbiB2MC4xMy41XG4gICAgICBBZGRpbmcgdG9tbCB2MS4xLjMrc3BlYy0xLjEuMFxuICAgICAgQWRkaW5nIHRvbWxfZGF0ZXRpbWUgdjEuMS4xK3NwZWMtMS4xLjBcbiAgICAgIEFkZGluZyB0b21sX2VkaXQgdjAuMjUuMTMrc3BlYy0xLjEuMFxuICAgICAgQWRkaW5nIHRvbWxfcGFyc2VyIHYxLjEuMitzcGVjLTEuMS4wXG4gICAgICBBZGRpbmcgdG9tbF93cml0ZXIgdjEuMS4yK3NwZWMtMS4xLjBcbiAgICAgIEFkZGluZyB1bmljb2RlLWlkZW50IHYxLjAuMjRcbiAgICAgIEFkZGluZyB2ZXJzaW9uLWNvbXBhcmUgdjAuMi4xXG4gICAgICBBZGRpbmcgd2luZG93cy1saW5rIHYwLjIuMVxuICAgICAgQWRkaW5nIHdpbmRvd3Mtc3lzIHYwLjYxLjJcbiAgICAgIEFkZGluZyB3aW5ub3cgdjEuMC40XG4gRG93bmxvYWRpbmcgY3JhdGVzIC4uLlxuICBEb3dubG9hZGVkIGF1dG9jZmcgdjEuNS4xXG4gIERvd25sb2FkZWQgYml0ZmxhZ3MgdjIuMTMuMVxuICBEb3dubG9hZGVkIGdkay1waXhidWYtc3lzIHYwLjIxLjVcbiAgRG93bmxvYWRlZCBmaWVsZC1vZmZzZXQgdjAuMy42XG4gIERvd25sb2FkZWQgZnV0dXJlcy10YXNrIHYwLjMuMzNcbiAgRG93bmxvYWRlZCBmdXR1cmVzLW1hY3JvIHYwLjMuMzNcbiAgRG93bmxvYWRlZCBmdXR1cmVzLWlvIHYwLjMuMzNcbiAgRG93bmxvYWRlZCBncmFwaGVuZS1zeXMgdjAuMjEuNVxuICBEb3dubG9hZGVkIGZ1dHVyZXMtY29yZSB2MC4zLjMzXG4gIERvd25sb2FkZWQgZ3RrNC1tYWNyb3MgdjAuMTAuM1xuICBEb3dubG9hZGVkIGdzazQtc3lzIHYwLjEwLjNcbiAgRG93bmxvYWRlZCBjYWlyby1zeXMtcnMgdjAuMjEuNVxuICBEb3dubG9hZGVkIGdyYXBoZW5lLXJzIHYwLjIxLjVcbiAgRG93bmxvYWRlZCBnb2JqZWN0LXN5cyB2MC4yMS41XG4gIERvd25sb2FkZWQgZ2RrLXBpeGJ1ZiB2MC4yMS41XG4gIERvd25sb2FkZWQgZnV0dXJlcy1leGVjdXRvciB2MC4zLjMzXG4gIERvd25sb2FkZWQgcGtnLWNvbmZpZyB2MC4zLjMzXG4gIERvd25sb2FkZWQgdmVyc2lvbi1jb21wYXJlIHYwLjIuMVxuICBEb3dubG9hZGVkIHBhbmdvLXN5cyB2MC4yMS41XG4gIERvd25sb2FkZWQgdGFyZ2V0LWxleGljb24gdjAuMTMuNVxuICBEb3dubG9hZGVkIHNtYWxsdmVjIHYxLjE1LjJcbiAgRG93bmxvYWRlZCB0b21sX3dyaXRlciB2MS4xLjIrc3BlYy0xLjEuMFxuICBEb3dubG9hZGVkIHN5c3RlbS1kZXBzIHY3LjAuOFxuICBEb3dubG9hZGVkIGZ1dHVyZXMtY2hhbm5lbCB2MC4zLjMzXG4gIERvd25sb2FkZWQgY2ZnLWV4cHIgdjAuMjAuOFxuICBEb3dubG9hZGVkIGxpYmFkd2FpdGEtc3lzIHYwLjguMVxuICBEb3dubG9hZGVkIHF1b3RlIHYxLjAuNDdcbiAgRG93bmxvYWRlZCBnc2s0IHYwLjEwLjNcbiAgRG93bmxvYWRlZCBjYWlyby1ycyB2MC4yMS41XG4gIERvd25sb2FkZWQgcGFuZ28gdjAuMjEuNVxuICBEb3dubG9hZGVkIHNlcmRlX2NvcmUgdjEuMC4yMjlcbiAgRG93bmxvYWRlZCB0b21sIHYxLjEuMytzcGVjLTEuMS4wXG4gIERvd25sb2FkZWQgdG9tbF9lZGl0IHYwLjI1LjEzK3NwZWMtMS4xLjBcbiAgRG93bmxvYWRlZCBtZW1jaHIgdjIuOC4zXG4gIERvd25sb2FkZWQgaW5kZXhtYXAgdjIuMTQuMFxuICBEb3dubG9hZGVkIGhhc2hicm93biB2MC4xNy4xXG4gIERvd25sb2FkZWQgbGliYWR3YWl0YSB2MC44LjFcbiAgRG93bmxvYWRlZCBmdXR1cmVzLXV0aWwgdjAuMy4zM1xuICBEb3dubG9hZGVkIHdpbm5vdyB2MS4wLjRcbiAgRG93bmxvYWRlZCBnaW8gdjAuMjEuNVxuICBEb3dubG9hZGVkIGd0azQtc3lzIHYwLjEwLjNcbiAgRG93bmxvYWRlZCBnZGs0IHYwLjEwLjNcbiAgRG93bmxvYWRlZCBwcm9jLW1hY3JvMiB2MS4wLjEwN1xuICBEb3dubG9hZGVkIGdsaWItc3lzIHYwLjIxLjVcbiAgRG93bmxvYWRlZCBnbGliLW1hY3JvcyB2MC4yMS41XG4gIERvd25sb2FkZWQgZ2RrNC1zeXMgdjAuMTAuM1xuICBEb3dubG9hZGVkIGdsaWIgdjAuMjEuNVxuICBEb3dubG9hZGVkIHN5biB2Mi4wLjExOVxuICBEb3dubG9hZGVkIGd0azQgdjAuMTAuM1xuICBEb3dubG9hZGVkIGxpYmMgdjAuMi4xODlcbiAgRG93bmxvYWRlZCBnaW8tc3lzIHYwLjIxLjVcbiAgIENvbXBpbGluZyB3aW5ub3cgdjEuMC40XG4gICBDb21waWxpbmcgdG9tbF9kYXRldGltZSB2MS4xLjErc3BlYy0xLjEuMFxuICAgQ29tcGlsaW5nIHRhcmdldC1sZXhpY29uIHYwLjEzLjVcbiAgIENvbXBpbGluZyBzbWFsbHZlYyB2MS4xNS4yXG4gICBDb21waWxpbmcgaGVjayB2MC41LjBcbiAgIENvbXBpbGluZyBzZXJkZV9zcGFubmVkIHYxLjEuMVxuICAgQ29tcGlsaW5nIHBrZy1jb25maWcgdjAuMy4zM1xuICAgQ29tcGlsaW5nIHZlcnNpb24tY29tcGFyZSB2MC4yLjFcbiAgIENvbXBpbGluZyBsaWJjIHYwLjIuMTg5XG4gICBDb21waWxpbmcgcHJvYy1tYWNybzIgdjEuMC4xMDdcbiAgIENvbXBpbGluZyB1bmljb2RlLWlkZW50IHYxLjAuMjRcbiAgIENvbXBpbGluZyBxdW90ZSB2MS4wLjQ3XG4gICBDb21waWxpbmcgaGFzaGJyb3duIHYwLjE3LjFcbiAgIENvbXBpbGluZyBlcXVpdmFsZW50IHYxLjAuMlxuICAgIENoZWNraW5nIGZ1dHVyZXMtY29yZSB2MC4zLjMzXG4gICAgQ2hlY2tpbmcgcGluLXByb2plY3QtbGl0ZSB2MC4yLjE3XG4gICAgQ2hlY2tpbmcgZnV0dXJlcy10YXNrIHYwLjMuMzNcbiAgICBDaGVja2luZyBzbGFiIHYwLjQuMTJcbiAgICBDaGVja2luZyBmdXR1cmVzLWNoYW5uZWwgdjAuMy4zM1xuICAgIENoZWNraW5nIGJpdGZsYWdzIHYyLjEzLjFcbiAgICBDaGVja2luZyBtZW1jaHIgdjIuOC4zXG4gICAgQ2hlY2tpbmcgZnV0dXJlcy1pbyB2MC4zLjMzXG4gICBDb21waWxpbmcgc2VtdmVyIHYxLjAuMjhcbiAgIENvbXBpbGluZyBhdXRvY2ZnIHYxLjUuMVxuICAgQ29tcGlsaW5nIHJ1c3RjX3ZlcnNpb24gdjAuNC4xXG4gICBDb21waWxpbmcgbWVtb2Zmc2V0IHYwLjkuMVxuICAgQ29tcGlsaW5nIGluZGV4bWFwIHYyLjE0LjBcbiAgIENvbXBpbGluZyBmaWVsZC1vZmZzZXQgdjAuMy42XG4gICBDb21waWxpbmcgY2ZnLWV4cHIgdjAuMjAuOFxuICAgQ29tcGlsaW5nIHN5biB2Mi4wLjExOVxuICAgQ29tcGlsaW5nIHRvbWxfcGFyc2VyIHYxLjEuMitzcGVjLTEuMS4wXG4gICBDb21waWxpbmcgdG9tbCB2MS4xLjMrc3BlYy0xLjEuMFxuICAgQ29tcGlsaW5nIHRvbWxfZWRpdCB2MC4yNS4xMytzcGVjLTEuMS4wXG4gICBDb21waWxpbmcgc3lzdGVtLWRlcHMgdjcuMC44XG4gICBDb21waWxpbmcgcHJvYy1tYWNyby1jcmF0ZSB2My41LjBcbiAgIENvbXBpbGluZyBnbGliLXN5cyB2MC4yMS41XG4gICBDb21waWxpbmcgZ29iamVjdC1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdpby1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIHBhbmdvLXN5cyB2MC4yMS41XG4gICBDb21waWxpbmcgZ2RrLXBpeGJ1Zi1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGNhaXJvLXN5cy1ycyB2MC4yMS41XG4gICBDb21waWxpbmcgZ3JhcGhlbmUtc3lzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBnZGs0LXN5cyB2MC4xMC4zXG4gICBDb21waWxpbmcgZ3NrNC1zeXMgdjAuMTAuM1xuICAgQ29tcGlsaW5nIGd0azQtc3lzIHYwLjEwLjNcbiAgIENvbXBpbGluZyBsaWJhZHdhaXRhLXN5cyB2MC44LjFcbndhcm5pbmc6IGdyYXBoZW5lLXN5c0AwLjIxLjU6IFxuZXJyb3I6IGZhaWxlZCB0byBydW4gY3VzdG9tIGJ1aWxkIGNvbW1hbmQgZm9yIGBncmFwaGVuZS1zeXMgdjAuMjEuNWBcblxuQ2F1c2VkIGJ5OlxuICBwcm9jZXNzIGRpZG4ndCBleGl0IHN1Y2Nlc3NmdWxseTogYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2dyYXBoZW5lLXN5cy0wZjYyZDgyYTlhYjhkMGM2L2J1aWxkLXNjcmlwdC1idWlsZGAgKGV4aXQgc3RhdHVzOiAxKVxuICAtLS0gc3Rkb3V0XG4gIGNhcmdvOnJlcnVuLWlmLWNoYW5nZWQ9L2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9ncmFwaGVuZS1zeXMtMC4yMS41L0NhcmdvLnRvbWxcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9R1JBUEhFTkVfR09CSkVDVF8xLjBfTk9fUEtHX0NPTkZJR1xuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX3g4Nl82NF91bmtub3duX2xpbnV4X2dudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1IT1NUX1BLR19DT05GSUdcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR1xuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1BBVEhfeDg2XzY0LXVua25vd24tbGludXgtZ251XG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfUEFUSF94ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHX1BBVEhcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19QQVRIXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfTElCRElSX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX0xJQkRJUl94ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHX0xJQkRJUlxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX0xJQkRJUlxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1NZU1JPT1RfRElSX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1NZU1JPT1RfRElSX3g4Nl82NF91bmtub3duX2xpbnV4X2dudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1IT1NUX1BLR19DT05GSUdfU1lTUk9PVF9ESVJcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19TWVNST09UX0RJUlxuICBjYXJnbzp3YXJuaW5nPVxuICBwa2ctY29uZmlnIGV4aXRlZCB3aXRoIHN0YXR1cyBjb2RlIDFcbiAgPiBQS0dfQ09ORklHX0FMTE9XX1NZU1RFTV9DRkxBR1M9MSBwa2ctY29uZmlnIC0tbGlicyAtLWNmbGFncyBncmFwaGVuZS1nb2JqZWN0LTEuMCAnZ3JhcGhlbmUtZ29iamVjdC0xLjAgPj0gMS4xMCdcblxuICBwa2ctY29uZmlnIG91dHB1dDpcbiAgICBQYWNrYWdlIGdyYXBoZW5lLWdvYmplY3QtMS4wIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG4gICAgUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGdyYXBoZW5lLWdvYmplY3QtMS4wLnBjJ1xuICAgIHRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGVcbiAgICBObyBwYWNrYWdlICdncmFwaGVuZS1nb2JqZWN0LTEuMCcgZm91bmRcbiAgICBQYWNrYWdlIGdyYXBoZW5lLWdvYmplY3QtMS4wIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG4gICAgUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGdyYXBoZW5lLWdvYmplY3QtMS4wLnBjJ1xuICAgIHRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGVcbiAgICBObyBwYWNrYWdlICdncmFwaGVuZS1nb2JqZWN0LTEuMCcgZm91bmRcblxuICBUaGUgc3lzdGVtIGxpYnJhcnkgYGdyYXBoZW5lLWdvYmplY3QtMS4wYCByZXF1aXJlZCBieSBjcmF0ZSBgZ3JhcGhlbmUtc3lzYCB3YXMgbm90IGZvdW5kLlxuICBUaGUgZmlsZSBgZ3JhcGhlbmUtZ29iamVjdC0xLjAucGNgIG5lZWRzIHRvIGJlIGluc3RhbGxlZCBhbmQgdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBtdXN0IGNvbnRhaW4gaXRzIHBhcmVudCBkaXJlY3RvcnkuXG4gIFRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IHNldC5cblxuICBISU5UOiBpZiB5b3UgaGF2ZSBpbnN0YWxsZWQgdGhlIGxpYnJhcnksIHRyeSBzZXR0aW5nIFBLR19DT05GSUdfUEFUSCB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGdyYXBoZW5lLWdvYmplY3QtMS4wLnBjYC5cblxud2FybmluZzogYnVpbGQgZmFpbGVkLCB3YWl0aW5nIGZvciBvdGhlciBqb2JzIHRvIGZpbmlzaC4uLlxud2FybmluZzogZ3RrNC1zeXNAMC4xMC4zOiBcbmVycm9yOiBmYWlsZWQgdG8gcnVuIGN1c3RvbSBidWlsZCBjb21tYW5kIGZvciBgZ3RrNC1zeXMgdjAuMTAuM2BcblxuQ2F1c2VkIGJ5OlxuICBwcm9jZXNzIGRpZG4ndCBleGl0IHN1Y2Nlc3NmdWxseTogYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2d0azQtc3lzLTUyMzljMzU2YmE2ZmNkZDEvYnVpbGQtc2NyaXB0LWJ1aWxkYCAoZXhpdCBzdGF0dXM6IDEpXG4gIC0tLSBzdGRvdXRcbiAgY2FyZ286cmVydW4taWYtY2hhbmdlZD0vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2d0azQtc3lzLTAuMTAuMy9DYXJnby50b21sXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPUdUSzRfTk9fUEtHX0NPTkZJR1xuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX3g4Nl82NF91bmtub3duX2xpbnV4X2dudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1IT1NUX1BLR19DT05GSUdcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR1xuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1BBVEhfeDg2XzY0LXVua25vd24tbGludXgtZ251XG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfUEFUSF94ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHX1BBVEhcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19QQVRIXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfTElCRElSX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX0xJQkRJUl94ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHX0xJQkRJUlxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX0xJQkRJUlxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1NZU1JPT1RfRElSX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1NZU1JPT1RfRElSX3g4Nl82NF91bmtub3duX2xpbnV4X2dudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1IT1NUX1BLR19DT05GSUdfU1lTUk9PVF9ESVJcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19TWVNST09UX0RJUlxuICBjYXJnbzp3YXJuaW5nPVxuICBwa2ctY29uZmlnIGV4aXRlZCB3aXRoIHN0YXR1cyBjb2RlIDFcbiAgPiBQS0dfQ09ORklHX0FMTE9XX1NZU1RFTV9DRkxBR1M9MSBwa2ctY29uZmlnIC0tbGlicyAtLWNmbGFncyBndGs0ICdndGs0ID49IDQuMTAnXG5cbiAgcGtnLWNvbmZpZyBvdXRwdXQ6XG4gICAgUGFja2FnZSBndGs0IHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG4gICAgUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGd0azQucGMnXG4gICAgdG8gdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICAgIE5vIHBhY2thZ2UgJ2d0azQnIGZvdW5kXG4gICAgUGFja2FnZSBndGs0IHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG4gICAgUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGd0azQucGMnXG4gICAgdG8gdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICAgIE5vIHBhY2thZ2UgJ2d0azQnIGZvdW5kXG5cbiAgVGhlIHN5c3RlbSBsaWJyYXJ5IGBndGs0YCByZXF1aXJlZCBieSBjcmF0ZSBgZ3RrNC1zeXNgIHdhcyBub3QgZm91bmQuXG4gIFRoZSBmaWxlIGBndGs0LnBjYCBuZWVkcyB0byBiZSBpbnN0YWxsZWQgYW5kIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUgbXVzdCBjb250YWluIGl0cyBwYXJlbnQgZGlyZWN0b3J5LlxuICBUaGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQuXG5cbiAgSElOVDogaWYgeW91IGhhdmUgaW5zdGFsbGVkIHRoZSBsaWJyYXJ5LCB0cnkgc2V0dGluZyBQS0dfQ09ORklHX1BBVEggdG8gdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGBndGs0LnBjYC5cblxuXG5cbkNvbW1hbmQgZXhpdGVkIHdpdGggY29kZSAxMDEifV0sImRldGFpbHMiOnt9LCJpc0Vycm9yIjp0cnVlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg1OTcwNDV9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJiYTk5M2FhNCIsInBhcmVudElkIjoiODgzZTEzM2QiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEwOjAyLjQ3N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqRXhwbG9yaW5nIFJ1c3QgZG9jc19ycyBidWlsZCBvcHRpbWl6YXRpb24qKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2I3MzZkMDgxOTE4YzBkNGZmOTRmZDM5Y2M5XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNTzZKSjY0ZV81UkhpT1JZSHYyRkR3bVZ2ZHZDc2ZudjBrTzM3dTQzbmxpZ0tUX3c0Y214aWxOa2VjaVd6UFg3Uk1KckVkM0NHTGNWZWotZnBXNjBQMFJJMktMZ1llaXJkQy0tRVNEREVGWkd5aWYxTzltY0NsRlFKenVRb3RSYVE2Z3dLRWZFNjVzQlVCbUZaSkk3Ri14NzNKQmRVWmVCTlQ3V3o4S2ViRzh1TFdJSUlYN09SNGtxSGxRY3UwbTlSYnZIWGd2WGp5MUc1U3o2QjJJRFh0TFdvZ09tYURQUFdUNGtjR0taUVEtT0VNRzBnX09FZC01eHJMdm5CRTJVRzZrV3c4aHo0WUI3Z3YxV0hDNDk5M0ZlbHJGazVkdGM0dDljcXNlcEdmMEpxSGRHMEs3Z1ZWMDBNZDN1eE5Jd3pkdEVvNFhNOTVSc0pVQzFRUHdlOVpjZ1BJdGQ4Q2s3VlhlZXFManhUNkFOdGp2SnJKUzROQk1lci1xVXJtTXVQd3ZYblVGX2VTd1hGcWh0cDdEMm5EU193MGc1SFZlXzBIR1JPcE42VjFsWVN6SHdPSWxEaDB6MjZ1WmlaOVZQb2tuNmt3S3BGRmUzaVZKMzQxa01RTFJ2bHNydHJZcTQ2dlZNWWE4WE1JOE44b2dRaWFaMGRsemstdDNQRGlZR2JiNENiTGFUZUVUMHRNVUNBUVoteUt3Y19oanAtQ3NTSkdyMl8tbDBkVmFxQmtQUHdEM3l5Vmc4ZzFIQndQUDdULWdLNndvVzF1RzF5N25aU0Mzejktdml3aGFEbEZEM3ZITUp3X18yRmE0TlBFVGxCYWc4c3lYX2liRjNTVmhmODJNLS0tbHRlNDVQZVN3M2pmMWNrYVJudUtYZkdSTzBpeFp3SktCRTNKUklzeE11SUV6bk8yOGdraUZOVVlHanluWWtKQi1XZjNOa01Qemk2TzRCVGN2MGhtLXFBbGdTMXNnUHdueWNYN2FHQkNxRjN2eEJQb3FXeDJVcVNnZjFqMHVRQmxrcmZXSXJJczFBZDI2X0JiTmRtbFNNXzNLQmxXOUFJVjZFRmRycDBmWk1EMDBpT280Wjdac2RlMVltM3FBTlk2di1MMjVKZmVZOHlYU0EtSWlKWHRIS0F3X0xXYlBob1I2VlllNjB0Wm9fSnlLb2NCbFlrMXJaZ0NlQ04zUWYwWkxobTdveWJmQ05TQ2dHcVIxcnFJOFBoRENJMFVLM1RtdlBVN1hMQ29uRVh6bWRGYXVDZlNPRF9hLTI0eFFvRkhtSjVPdklkaUdzelJHdVVSWW92UUk0Y3BfZU9NUkl1LU4tVTdqLXNUOENGN21yZjV4RHRwTHV6NFZ2a3p1Qkt1LTdJWklkTzdJMG9lS1M1RGtkWnRlei15Q3FoNk9lUE5jSkZZbUNxeFNSTENGY0VrdnZldGU5VmQxU3Njb0Zod3BYUXAwWDl5c2pyUVhRSm9OZVdVWnFLSnkzNTkzNXpQR281Wi1sakFKczVGVGthU2plSVhqNnJQUndURkE3RVBqRmo0VFVNZWVka2JZaW9ReGRRZjlJMEg4VEdFdFllOGRKbElYYWE4TzVib2JVcUduWkhRRG9yYWNiMHh5V2NPQVFUazl6RHNuSzk2aXE1NUV1SHlyaG5pQl9Idnp3VnhTbHkzcWpKQT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkV4cGxvcmluZyBSdXN0IGRvY3NfcnMgYnVpbGQgb3B0aW1pemF0aW9uKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX2NXZG14bnRyRGtXaERNUXI4SmYyT3FlTnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNiYTU5YTg4MTkxYWMxZjJmMDdlNThmODAzOSIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJydXN0Zm10IC0tdmVyc2lvbiAmJiBydXN0Zm10IC0tY2hlY2sgc3JjL21haW4ucnMiLCJ0aW1lb3V0IjoxMjB9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9BeG9Db0psY0FCV2hGR011eWd6ZmoxaFR8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYmE1OWJjODE5MWIzYzA5ZjZkYzkzOGM4NGMiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiRE9DU19SUz0xIGNhcmdvIGNoZWNrIiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjQ4NDMsIm91dHB1dCI6MTMyLCJjYWNoZVJlYWQiOjE5OTY4LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjU3LCJ0b3RhbFRva2VucyI6MjQ5NDMsImNvc3QiOnsiaW5wdXQiOjAuMDI0MjE1LCJvdXRwdXQiOjAuMDAzOTYsImNhY2hlUmVhZCI6MC4wMDk5ODQsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAzODE1OX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4ODU5NzA0NiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYjU2Mjg0ODE5MWI2YWU1YTNlYmFmZDk0M2EifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMzkyZGQzY2QiLCJwYXJlbnRJZCI6ImJhOTkzYWE0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDowNC4zNjdaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2NXZG14bnRyRGtXaERNUXI4SmYyT3FlTnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNiYTU5YTg4MTkxYWMxZjJmMDdlNThmODAzOSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii9iaW4vYmFzaDogbGluZSAxOiBydXN0Zm10OiBjb21tYW5kIG5vdCBmb3VuZFxuXG5cbkNvbW1hbmQgZXhpdGVkIHdpdGggY29kZSAxMjcifV0sImRldGFpbHMiOnt9LCJpc0Vycm9yIjp0cnVlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg2MDQzNjd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIzMDQ3YzE1ZCIsInBhcmVudElkIjoiMzkyZGQzY2QiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEwOjA0LjM2N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfQXhvQ29KbGNBQldoRkdNdXlnemZqMWhUfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2JhNTliYzgxOTFiM2MwOWY2ZGM5MzhjODRjIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgQ29tcGlsaW5nIGZ1dHVyZXMtbWFjcm8gdjAuMy4zM1xuICAgQ29tcGlsaW5nIGdsaWItbWFjcm9zIHYwLjIxLjVcbiAgIENvbXBpbGluZyBndGs0LW1hY3JvcyB2MC4xMC4zXG4gICBDb21waWxpbmcgZ2xpYi1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdpby1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGNhaXJvLXN5cy1ycyB2MC4yMS41XG4gICBDb21waWxpbmcgZ2RrLXBpeGJ1Zi1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdyYXBoZW5lLXN5cyB2MC4yMS41XG4gICBDb21waWxpbmcgZ2RrNC1zeXMgdjAuMTAuM1xuICAgQ29tcGlsaW5nIGdzazQtc3lzIHYwLjEwLjNcbiAgIENvbXBpbGluZyBndGs0LXN5cyB2MC4xMC4zXG4gICBDb21waWxpbmcgbGliYWR3YWl0YS1zeXMgdjAuOC4xXG53YXJuaW5nOiBsaWJhZHdhaXRhLXN5c0AwLjguMTogXG5lcnJvcjogZmFpbGVkIHRvIHJ1biBjdXN0b20gYnVpbGQgY29tbWFuZCBmb3IgYGxpYmFkd2FpdGEtc3lzIHYwLjguMWBcblxuQ2F1c2VkIGJ5OlxuICBwcm9jZXNzIGRpZG4ndCBleGl0IHN1Y2Nlc3NmdWxseTogYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2xpYmFkd2FpdGEtc3lzLTk1ZjNmOWFhOGNlNjIyODUvYnVpbGQtc2NyaXB0LWJ1aWxkYCAoZXhpdCBzdGF0dXM6IDEpXG4gIC0tLSBzdGRvdXRcbiAgY2FyZ286cmVydW4taWYtY2hhbmdlZD0vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2xpYmFkd2FpdGEtc3lzLTAuOC4xL0NhcmdvLnRvbWxcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9TElCQURXQUlUQV8xX05PX1BLR19DT05GSUdcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR194ODZfNjQtdW5rbm93bi1saW51eC1nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR194ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19QQVRIX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1BBVEhfeDg2XzY0X3Vua25vd25fbGludXhfZ251XG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPUhPU1RfUEtHX0NPTkZJR19QQVRIXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfUEFUSFxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX0xJQkRJUl94ODZfNjQtdW5rbm93bi1saW51eC1nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19MSUJESVJfeDg2XzY0X3Vua25vd25fbGludXhfZ251XG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPUhPU1RfUEtHX0NPTkZJR19MSUJESVJcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19MSUJESVJcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19TWVNST09UX0RJUl94ODZfNjQtdW5rbm93bi1saW51eC1nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19TWVNST09UX0RJUl94ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHX1NZU1JPT1RfRElSXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfU1lTUk9PVF9ESVJcbiAgY2FyZ286d2FybmluZz1cbiAgcGtnLWNvbmZpZyBleGl0ZWQgd2l0aCBzdGF0dXMgY29kZSAxXG4gID4gUEtHX0NPTkZJR19BTExPV19TWVNURU1fQ0ZMQUdTPTEgcGtnLWNvbmZpZyAtLWxpYnMgLS1jZmxhZ3MgbGliYWR3YWl0YS0xICdsaWJhZHdhaXRhLTEgPj0gMS41J1xuXG4gIHBrZy1jb25maWcgb3V0cHV0OlxuICAgIFBhY2thZ2UgbGliYWR3YWl0YS0xIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG4gICAgUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGxpYmFkd2FpdGEtMS5wYydcbiAgICB0byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlXG4gICAgTm8gcGFja2FnZSAnbGliYWR3YWl0YS0xJyBmb3VuZFxuICAgIFBhY2thZ2UgbGliYWR3YWl0YS0xIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG4gICAgUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGxpYmFkd2FpdGEtMS5wYydcbiAgICB0byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlXG4gICAgTm8gcGFja2FnZSAnbGliYWR3YWl0YS0xJyBmb3VuZFxuXG4gIFRoZSBzeXN0ZW0gbGlicmFyeSBgbGliYWR3YWl0YS0xYCByZXF1aXJlZCBieSBjcmF0ZSBgbGliYWR3YWl0YS1zeXNgIHdhcyBub3QgZm91bmQuXG4gIFRoZSBmaWxlIGBsaWJhZHdhaXRhLTEucGNgIG5lZWRzIHRvIGJlIGluc3RhbGxlZCBhbmQgdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBtdXN0IGNvbnRhaW4gaXRzIHBhcmVudCBkaXJlY3RvcnkuXG4gIFRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IHNldC5cblxuICBISU5UOiBpZiB5b3UgaGF2ZSBpbnN0YWxsZWQgdGhlIGxpYnJhcnksIHRyeSBzZXR0aW5nIFBLR19DT05GSUdfUEFUSCB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGxpYmFkd2FpdGEtMS5wY2AuXG5cbndhcm5pbmc6IGJ1aWxkIGZhaWxlZCwgd2FpdGluZyBmb3Igb3RoZXIgam9icyB0byBmaW5pc2guLi5cblxuXG5Db21tYW5kIGV4aXRlZCB3aXRoIGNvZGUgMTAxIn1dLCJkZXRhaWxzIjp7fSwiaXNFcnJvciI6dHJ1ZSwidGltZXN0YW1wIjoxNzg0OTg4NjA0MzY3fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNzg0NGNhZjEiLCJwYXJlbnRJZCI6IjMwNDdjMTVkIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDoxMi4yOTNaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkluc3BlY3RpbmcgZ2VuZXJhdGVkIEFQSXMgc291cmNlKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNiZTc0ODQ4MTkxYTU5ZDk1MWM3M2U2YmRhYlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTVBFUmI0RUpSdkoyNlFZeWhBX3AzQ2pTSW9CYTc0OXUxSzJDTllESnNjT2lPbDlndjF6UVFJa0hYdVI1SFJEWktHT3ZrYjcweEFsV2dBTFVpdlUySWkxdnBkc0d3ME9xLUJJRjdscGpKTXNPV0JTZHNsVkdrcmlmb182VjFiYUs0dDFlUC1EcFRPRUZOUGxPZDMzWVJudEdhYWp5X05lUlI3Wm9ZSncyUy0xRnhkNmFCV2pWci1XUjN1c3lMR2dFMnRQNER1Q0RxeXJCSUg2ZUVnT28zRDFJUTNhRGN6cUhwZnptQ2J5U3d4YmRHRUx5TDYtSmQtRW9vNW02eUhYb2VVMVpPSG1HSzlmYjVzUHo2ZFlnV1lGaGNaM000TnIyNU9sXzFiNVhoaXV1S25Xdk9GVFpGaHhPVFhNVG80NjFLbGg3RzIxUjhncWt3VVZnVG9BLVo1TVRGMkhqWVNRei1CT0JsRkVXVHpUTWdMNkhPWVJtMU11OThUVEJCMzlKRHE3WGVYSzg1Si1oTEMwdXNDMEhxcmYwejdCc1ZCSzI4b2pPVTcxVWlvZU1GWWlXS3NXUU1SMFZmdzc0U3NCNlROOVpzaTg0NjZYM0xhdW9LUm9QWjFaaGlRRUdFOHhnX2FiVjVaSGVqcllmOTlDY1h6SDZBUWZMbUJhQ1BCUzVpVjBuc1N1ZW83NV9jT1NLSHJtUWxWWWloZHVSUDFTaGpGRmw4UHlEZEdCM1RQWENndV94aHRlaXhoUkFPUzZLSjNHX2I4VWcxUzlVeXhsV3BUWTg0NHZsV1gzeWpwZkttOS1kV3djb25uZnNOUWxhVkVrejJWQ3l0WmhfSFprb1hhTzcySHo1d0o3cEI3QnRTVUFWZ2UxNjRQTkJFa0h1MWw2MkZGQWlrUzJHb3pMbWNiUHkzZExGc2ZxNGV1SGpWaUM4a054NmpZVnBBS1VsbTVWNG5oQXBUWF9POE5BTVlLVC1faG9ZQXIzWkYxcmFpa0lBMktidzlvYzFYVWFHNXhwSXRnelFUUnBsNGI3eWF0OWR5ZjFFNER3ODd3MXBKV3FZWHV1VzZHUkp4Zy1mNjRMUU5jNlByN0wxWEtERVpfYWYxTkhPTFg2enVUZE44dm1tOHNSUnFORmtnM1NCWmFLZG5CcklUMllZZjhkaTNnb1Y3NEF1aksyOUdTTlF1dWR5NXI4ZHB6ZGtyMlA5R0hCZFRzVnl5MzlCbFg0R095S2tlcXdNblJWSEZMdFFqXy1NTlQwTjFyWk1zQnh4MTVXVjVWakhKbjVIWXIwcjBoZFZUM2F3V3BfdEdYbDMzVWRBNkx5ckNuR2VWR0NOZGFDQVhISFpRMkhWQ1UwQzJodi1qb2JuempaQmtyb0FiUnA1XzlWTTgzaUVPUFRPb213dC1LTGRsZzNkXzF5M2FzTEJfNDZxUFpESlhuYzJyV2NwWXVSY3ozY1ZEWHN3VW5LcXV0WHA2ek9KNDk4cy1KUXhza1B5NGVVOFlKdFFURzdJQUM1VDJwYkZqTzZxc0VWSnBIcmV0UmJZdkxudG8zOWhXMFM1dz09XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipJbnNwZWN0aW5nIGdlbmVyYXRlZCBBUElzIHNvdXJjZSoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF84UEFZWVdrUUhEbkNSNGNhMWgwdG5Eeml8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYzQyNzI4ODE5MTg4NzJlZjYzZGI0ZDk5ZmMiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicmcgJ2ZuIHNldF9kZWZhdWx0X3Jlc3BvbnNlfGZuIHNldF9jbG9zZV9yZXNwb25zZXxmbiBjb25uZWN0X3Jlc3BvbnNlfHN0cnVjdCBBbGVydERpYWxvZycgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovbGliYWR3YWl0YS0wLjguMS9zcmMgLW4gfCBoZWFkIC0zMCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9ncXFZTWVkMWZvaVJ3NllpOU5pQU5GOGh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYzQyNzQwODE5MWIzMWYxYTE4OWM2MTg3Y2IiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicmcgJ2ZuIHNldF9jdXJyZW50X25hbWV8Zm4gZGVzdHJveVxcKCcgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovZ3RrNC0wLjEwLjMvc3JjL2F1dG8vZmlsZV9jaG9vc2VyX25hdGl2ZS5ycyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9ndGs0LTAuMTAuMy9zcmMvYXV0by9uYXRpdmVfZGlhbG9nLnJzIC1uOyByZyAnZm4gc3RyaW5nXFwoJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9ndGs0LTAuMTAuMy9zcmMvYXV0by9zdHJpbmdfbGlzdC5ycyAtbiJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9lUjZDYkRkSklaMXJmSWx4TXE1c1lSd0N8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYzQyNzUwODE5MTgwNzIzMjgwNGQxNzkzMjQiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicmcgJ2ZuIHNldF9kZXNjcmlwdGlvbnxkZXNjcmlwdGlvblxcKCcgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovbGliYWR3YWl0YS0wLjguMS9zcmMvYXV0by9wcmVmZXJlbmNlc19wYWdlLnJzIC1uOyByZyAnZW5hYmxlX3NlYXJjaCcgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovbGliYWR3YWl0YS0wLjguMS9zcmMvYXV0by9jb21ib19yb3cucnMgLW4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE4NzMsIm91dHB1dCI6MzE2LCJjYWNoZVJlYWQiOjI0MDY0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjQwLCJ0b3RhbFRva2VucyI6MjYyNTMsImNvc3QiOnsiaW5wdXQiOjAuMDA5MzY1LCJvdXRwdXQiOjAuMDA5NDgsImNhY2hlUmVhZCI6MC4wMTIwMzIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAzMDg3N319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4ODYwNDM2OCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYmNjMjAwODE5MWI1MzRlOGQ2MGY3MWVhZTcifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMWE1MzlkZjYiLCJwYXJlbnRJZCI6Ijc4NDRjYWYxIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDoxMi4zMTFaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzhQQVlZV2tRSERuQ1I0Y2ExaDB0bkR6aXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNjNDI3Mjg4MTkxODg3MmVmNjNkYjRkOTlmYyIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbGliYWR3YWl0YS0wLjguMS9zcmMvYXV0by9hbGVydF9kaWFsb2cucnM6MTc6ICAgIHB1YiBzdHJ1Y3QgQWxlcnREaWFsb2coT2JqZWN0PGZmaTo6QWR3QWxlcnREaWFsb2csIGZmaTo6QWR3QWxlcnREaWFsb2dDbGFzcz4pIEBleHRlbmRzIERpYWxvZywgZ3RrOjpXaWRnZXQsIEBpbXBsZW1lbnRzIGd0azo6QWNjZXNzaWJsZSwgZ3RrOjpCdWlsZGFibGUsIGd0azo6Q29uc3RyYWludFRhcmdldCwgZ3RrOjpTaG9ydGN1dE1hbmFnZXI7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2xpYmFkd2FpdGEtMC44LjEvc3JjL2F1dG8vYWxlcnRfZGlhbG9nLnJzOjYxOnB1YiBzdHJ1Y3QgQWxlcnREaWFsb2dCdWlsZGVyIHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbGliYWR3YWl0YS0wLjguMS9zcmMvYXV0by9hbGVydF9kaWFsb2cucnM6NTg4OiAgICBmbiBzZXRfY2xvc2VfcmVzcG9uc2UoJnNlbGYsIHJlc3BvbnNlOiAmc3RyKSB7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2xpYmFkd2FpdGEtMC44LjEvc3JjL2F1dG8vYWxlcnRfZGlhbG9nLnJzOjU5OTogICAgZm4gc2V0X2RlZmF1bHRfcmVzcG9uc2UoJnNlbGYsIHJlc3BvbnNlOiBPcHRpb248JnN0cj4pIHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbGliYWR3YWl0YS0wLjguMS9zcmMvYXV0by9hbGVydF9kaWFsb2cucnM6NjkwOiAgICBmbiBjb25uZWN0X3Jlc3BvbnNlPEY6IEZuKCZTZWxmLCAmc3RyKSArICdzdGF0aWM+KFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9saWJhZHdhaXRhLTAuOC4xL3NyYy9hdXRvL21lc3NhZ2VfZGlhbG9nLnJzOjcwNDogICAgZm4gc2V0X2Nsb3NlX3Jlc3BvbnNlKCZzZWxmLCByZXNwb25zZTogJnN0cikge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9saWJhZHdhaXRhLTAuOC4xL3NyYy9hdXRvL21lc3NhZ2VfZGlhbG9nLnJzOjcxNzogICAgZm4gc2V0X2RlZmF1bHRfcmVzcG9uc2UoJnNlbGYsIHJlc3BvbnNlOiBPcHRpb248JnN0cj4pIHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbGliYWR3YWl0YS0wLjguMS9zcmMvYXV0by9tZXNzYWdlX2RpYWxvZy5yczo4MDg6ICAgIGZuIGNvbm5lY3RfcmVzcG9uc2U8RjogRm4oJlNlbGYsICZzdHIpICsgJ3N0YXRpYz4oXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg2MTIzMTF9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxYWU0YjQ5ZCIsInBhcmVudElkIjoiMWE1MzlkZjYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEwOjEyLjMxMVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfZ3FxWU1lZDFmb2lSdzZZaTlOaUFORjhofGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2M0Mjc0MDgxOTFiMzFmMWExODljNjE4N2NiIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9ndGs0LTAuMTAuMy9zcmMvYXV0by9uYXRpdmVfZGlhbG9nLnJzOjI5OiAgICBmbiBkZXN0cm95KCZzZWxmKSB7XG40MDogICAgcHViIGZuIHN0cmluZygmc2VsZiwgcG9zaXRpb246IHUzMikgLT4gT3B0aW9uPGdsaWI6OkdTdHJpbmc+IHtcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODYxMjMxMX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjAyOWNlNWYzIiwicGFyZW50SWQiOiIxYWU0YjQ5ZCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTA6MTIuMzExWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9lUjZDYkRkSklaMXJmSWx4TXE1c1lSd0N8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYzQyNzUwODE5MTgwNzIzMjgwNGQxNzkzMjQiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiI3NjogICAgcHViIGZuIGRlc2NyaXB0aW9uKHNlbGYsIGRlc2NyaXB0aW9uOiBpbXBsIEludG88Z2xpYjo6R1N0cmluZz4pIC0+IFNlbGYge1xuMzM4OiAgICBmbiBkZXNjcmlwdGlvbigmc2VsZikgLT4gZ2xpYjo6R1N0cmluZyB7XG4zNDA6ICAgICAgICAgICAgZnJvbV9nbGliX25vbmUoZmZpOjphZHdfcHJlZmVyZW5jZXNfcGFnZV9nZXRfZGVzY3JpcHRpb24oXG40NjM6ICAgIGZuIHNldF9kZXNjcmlwdGlvbigmc2VsZiwgZGVzY3JpcHRpb246ICZzdHIpIHtcbjQ2NTogICAgICAgICAgICBmZmk6OmFkd19wcmVmZXJlbmNlc19wYWdlX3NldF9kZXNjcmlwdGlvbihcbjQ3NjogICAgZm4gc2V0X2Rlc2NyaXB0aW9uX2NlbnRlcmVkKCZzZWxmLCBjZW50ZXJlZDogYm9vbCkge1xuNjU6ICAgIHB1YiBmbiBlbmFibGVfc2VhcmNoKHNlbGYsIGVuYWJsZV9zZWFyY2g6IGJvb2wpIC0+IFNlbGYge1xuNjc6ICAgICAgICAgICAgYnVpbGRlcjogc2VsZi5idWlsZGVyLnByb3BlcnR5KFwiZW5hYmxlLXNlYXJjaFwiLCBlbmFibGVfc2VhcmNoKSxcbjQzODogICAgI1tkb2MoYWxpYXMgPSBcImFkd19jb21ib19yb3dfZ2V0X2VuYWJsZV9zZWFyY2hcIildXG40Mzk6ICAgICNbZG9jKGFsaWFzID0gXCJnZXRfZW5hYmxlX3NlYXJjaFwiKV1cbjQ0MzogICAgICAgICAgICBmcm9tX2dsaWIoZmZpOjphZHdfY29tYm9fcm93X2dldF9lbmFibGVfc2VhcmNoKFxuNTQyOiAgICAjW2RvYyhhbGlhcyA9IFwiYWR3X2NvbWJvX3Jvd19zZXRfZW5hYmxlX3NlYXJjaFwiKV1cbjU0NDogICAgZm4gc2V0X2VuYWJsZV9zZWFyY2goJnNlbGYsIGVuYWJsZV9zZWFyY2g6IGJvb2wpIHtcbjU0NjogICAgICAgICAgICBmZmk6OmFkd19jb21ib19yb3dfc2V0X2VuYWJsZV9zZWFyY2goXG41NDg6ICAgICAgICAgICAgICAgIGVuYWJsZV9zZWFyY2guaW50b19nbGliKCksXG42NDU6ICAgIGZuIGNvbm5lY3RfZW5hYmxlX3NlYXJjaF9ub3RpZnk8RjogRm4oJlNlbGYpICsgJ3N0YXRpYz4oJnNlbGYsIGY6IEYpIC0+IFNpZ25hbEhhbmRsZXJJZCB7XG42NDY6ICAgICAgICB1bnNhZmUgZXh0ZXJuIFwiQ1wiIGZuIG5vdGlmeV9lbmFibGVfc2VhcmNoX3RyYW1wb2xpbmU8XG42NjM6ICAgICAgICAgICAgICAgICAgICBub3RpZnlfZW5hYmxlX3NlYXJjaF90cmFtcG9saW5lOjo8U2VsZiwgRj4gYXMgKmNvbnN0ICgpLFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NjEyMzExfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYjYzOWJhMDUiLCJwYXJlbnRJZCI6IjAyOWNlNWYzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDoyNS41NTJaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkZpeGluZyBzZXRfZGVzY3JpcHRpb24gdXNhZ2UgYW5kIHJlbW92aW5nIHVudXNlZCBpbXBvcnRzKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNjNzMwZTA4MTkxODZjZjJlOTFiM2E1OTM4ZlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTVBOU2pqUmF5YTlvdGU5ZzNyWmYzLTNWOUpvbF9oWjFBOERqY2ZIVVRGQUFMNzBPVkwwZ1ZjNWVEMGFDc3Vtai1PMGtkVWJvcWFEWjVaWkx5RkFKajRUWG8yMDZDWVNod3dMTEwwZ0VpYmdGQ2QyaVZ0UThxenJNZWI3TVlRX095VElSZEdOQ3lnYnNIT25vT3RyZXdSdTZfYl9Hb2FLWnQ3ZEs1SGRuS1RBelR6bXJ5aUFkbGROR3BVMjBfZTFBdXFUMEYxUDlGOS1XSUd4OXpObzI5NHY3UDFfRFZsUllWX0RsQ010UVFEUFd0YXdkYlRINFYxWkdBZFFEQjBIRDF4aXFweFdfSGE0Q1FSeVhjenVQbm1KTGZzd1RscGhsbm5ISUcxV3A5QjRfVTE5NDg4TDRsV21QZlpkdzA1aVVtZEJMdE81c2N4NkxTX2k3WkpLTGV6WUVoTjlOMmx3ZmFSUnk3R2dMRzVWM254X0FVcDQ3NFZCX3ZZdncyWnN0Z2Q4VFQwX3RyMUR5UW1keWFTQUM0SVg3dVRMWFFodHp1c21tdWxKU2Vna0pfUkhXcWtxMmprX0prVmkySkU5SldKZ2JhQ3VNUzkzU2V0OVc5MGJuQXlTSF9SNkJPdGgwa0dQd3RMcm5OZS04ek5vRGgtRExsZ3BTQmJJQmtMdmg1UGhOcVR2Wmh6VkV6aEtXZ294M2ZoM3YyUXBBd2hKc25jOWZOQUx3b3ktQ3VOTjk1clNVX0NFQUhPMGRFdGpZT2dGUHNPbmh5Z3MydnJXc19feFF5NW1Nc05TNkYwQnBtbWF6R0QxZFNoMS1HOG1ZX1duMjZmVHM2Z21ZOTVUcjRObjJTMXBOMkNyNzFzUFlYdnpjWHBmOFVDMURkYWV6amRaNnJZZ3BhWUd3bTA5VlFwM3gydTBKbmh3dzB2V2hpa2FFckNiZkxtNUVpVWw0Y0hPcGtoSEhxMFBOemRtRi1KMTIzV1RQd1RWSFBZTG00TnBQZXRQZDhtNkZTUEdmRGxXc2phUzU2dUs4eFZ0Uk94UmpRRWg4d0IyZGllOHl0a01kMlhQMjdMenQ5MnRRa2ZtUGtOVTZ0QVp4YjNqQkJrTWowc2FIUlBFYmlodUd4TEhLVVZla25kT1F0eUVZSUtlcmRoWGRGb1I4ZS1Nc3E5cTlIdi1SZnZ3X04tcWdxTDlFQ3VaOTJkMWFyZVVld3lBSUxoWHNDZWNRV2Z4Q0owRHVtQVFNRV9wM2xHZ2VncVRMVXVPc3A3T1luU0ZrbVNPWXRIU3BzS09RVlpHUFJUUjBoeXBYRVh4SllxNTRGXzYyVjdEa3FvSWJQbjJON2ExQkx2Zk1aS3hNaHh5UllZclhCRjZBbXN3eEU3YXR1TGNvck1BdVZ5Zi15bDJZVzVqVmNBMTZmSkxBYmxYSWxjUkt0aU5qOEF1OHJSM0ZPRzlZSWk2RDc2WldfUF9mY0Z6ZHNCb0xMSXdZX1ZZbXBxSmVKdHZCXzRLTWRaNHV5czJYU2d3ajNtUm9aOFhhTll1VTZSV2ZBOXpST1lIemtITE02azRLVFlXbksxaXQtUnhvMC1HamNKRmFpTkdLNVJJdXQ1MU9NamtZOGtlcEhDLW9xRzg5OUNlWk1jSEc0QnRZMi00Unl0bzQ1X1JDY0VwYm9ka2JKc2RsNFdjVTNzZzg1bEhzOUc3VTMyNnhOcHJxd0xvX0p4dnhBcXIzNkh5c2RiYndPV0h6NGNtTUhqY2Q3dGdDZWlPdmV4SmR5S0xhS2hTeGRLTTZYbjc4Z1FFdzEwUHd0YlpzMXpuUnJ6b2dNb2ZBUGRTSjcyX1BSVEhYSXpKLWhaMml0bElURnNrdEExeXZBVEhXRXRVU0prUHZQZ1kxcjBqQWFLa0VidUY2d3l0X1F5TkxkRUg0WjFjeHVXYlZMTDUwb0V5bW9HZ3Fhb0VDWGQ5MXJ6MU83YVlSX0gyd3JnUTYyckJJc2lUbDNOMjhLRjhEM2EwVXBYQmQ5NTNGNm5aaHBKalNHX21GTHR6bEdFRmZGRXBkcm51bnpUczJFcGxhSVVsQlBjYnFpeHptMmtiejB0MHIwbUI4bnFCcDJ6OVJpMEtsb3J2dDVGQ3AzWndxQnpqUTV1Q2s2ZkRadktlV0NQbW9HdFBrZnNsZEo4TktkTEk2Yk5lMzJIeU9UVEEwaXRZMnNWZ3ZpaU5pWFFJc0drMVBZZzhpcFZ5Q0Q0TFZuY29jb1UwUWxSaTlfeEpfeWM0alY4YXZFUWRzMFpzNXgwLTV5anl4MG53dk5MVFdEUS1xMGtmRmxnQ2FyUGkxTmRJdUtpRjVYbVlOMF8wN0FuU1h1YmUzVDNHejVLOHVTdV9pZC1xQWxnZk54bGJtdGVXVENFeHN3bWhpdGp3OWVKbFRWSTA2d19NeThPSHdRUl9TZm5DUnp3b3I1dzNZZk5yY2lkbnh4TV9XcGpsbGRlTDVQRmI5WjM5NEhGVGFValVSM2dvU2gxRWNUanFpc2stUTBwT1ZjU0hHSmxlS0ZvaFRTanZEMDlnYlc5am9SM2staUVGSTZrRm13U0hkQVE4czNNR05FcG84UUVOd0NTRFctTXZ2bWw5OU1xRENBUHR0MkVoZnI3cTlaQnRadEQzTjFnVVNQa1JLa0RrMjlCUzFvSkdZOFI4R3ZyenVjVGRSZTlfbmE5SmJnRV9JTzV4dk5KSUFXS0dDWlF3ZFdZSF9tVzlUc3NFZHZpWFM1S0ZTdGFiSXZpcVNQd3AtdmNkeGRZV1BVOWlrUnZadHVrPVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqRml4aW5nIHNldF9kZXNjcmlwdGlvbiB1c2FnZSBhbmQgcmVtb3ZpbmcgdW51c2VkIGltcG9ydHMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfTXhhSHBFdVZTbkROQ2NKQ0lGbWFJR1lXfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2NkNGYzNDgxOTFiNjc1NWI0OGZkZTQyZGNhIiwibmFtZSI6ImVkaXQiLCJhcmd1bWVudHMiOnsicGF0aCI6InNyYy9tYWluLnJzIiwiZWRpdHMiOlt7Im9sZFRleHQiOiJ1c2UgZ3RrOjp7Z2lvLCBnbGlifTsiLCJuZXdUZXh0IjoidXNlIGd0azo6Z2xpYjsifSx7Im9sZFRleHQiOiIgICAgcGFnZS5zZXRfZGVzY3JpcHRpb24oU29tZShcbiAgICAgICAgXCJQcmVwYXJlIGFuIEFMVCBMaW51eCByb290IGZpbGVzeXN0ZW0gb3IgZGlzayBpbWFnZSBmb3IgeW91ciBib2FyZC5cIixcbiAgICApKTsiLCJuZXdUZXh0IjoiICAgIHBhZ2Uuc2V0X2Rlc2NyaXB0aW9uKFxuICAgICAgICBcIlByZXBhcmUgYW4gQUxUIExpbnV4IHJvb3QgZmlsZXN5c3RlbSBvciBkaXNrIGltYWdlIGZvciB5b3VyIGJvYXJkLlwiLFxuICAgICk7In0seyJvbGRUZXh0IjoiICAgICAgICAgICAgbGV0IGRlc3RpbmF0aW9uID0gaWYgc3RhdGUub3V0cHV0X2lzX2ZpbGUge1xuICAgICAgICAgICAgICAgIHN0YXRlLm91dHB1dF9maWxlLmFzX2RlcmVmKCkudW53cmFwX29yKFwiTm8gb3V0cHV0IGZpbGVcIilcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZHJpdmVfbW9kZWxcbiAgICAgICAgICAgICAgICAgICAgLnN0cmluZyhkcml2ZV9yb3cuc2VsZWN0ZWQoKSlcbiAgICAgICAgICAgICAgICAgICAgLm1hcCh8c3wgcy50b19zdHJpbmcoKSlcbiAgICAgICAgICAgICAgICAgICAgLnVud3JhcF9vcl9lbHNlKHx8IFwiTm8gZHJpdmVcIi5pbnRvKCkpXG4gICAgICAgICAgICAgICAgICAgIC5sZWFrKClcbiAgICAgICAgICAgIH07IiwibmV3VGV4dCI6IiAgICAgICAgICAgIGxldCBkZXN0aW5hdGlvbiA9IGlmIHN0YXRlLm91dHB1dF9pc19maWxlIHtcbiAgICAgICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAub3V0cHV0X2ZpbGVcbiAgICAgICAgICAgICAgICAgICAgLmNsb25lKClcbiAgICAgICAgICAgICAgICAgICAgLnVud3JhcF9vcl9lbHNlKHx8IFwiTm8gb3V0cHV0IGZpbGVcIi5pbnRvKCkpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRyaXZlX21vZGVsXG4gICAgICAgICAgICAgICAgICAgIC5zdHJpbmcoZHJpdmVfcm93LnNlbGVjdGVkKCkpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAofHN8IHMudG9fc3RyaW5nKCkpXG4gICAgICAgICAgICAgICAgICAgIC51bndyYXBfb3JfZWxzZSh8fCBcIk5vIGRyaXZlXCIuaW50bygpKVxuICAgICAgICAgICAgfTsifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MjA4OSwib3V0cHV0Ijo0NTgsImNhY2hlUmVhZCI6MjUwODgsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTcxLCJ0b3RhbFRva2VucyI6Mjc2MzUsImNvc3QiOnsiaW5wdXQiOjAuMDEwNDQ1MDAwMDAwMDAwMDAxLCJvdXRwdXQiOjAuMDEzNzQsImNhY2hlUmVhZCI6MC4wMTI1NDQsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAzNjcyOX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4ODYxMjMxMiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzYzRhYmJjODE5MWFjNTVlZDZmMjAxZWM4NGYifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiY2M4ZDBmNzgiLCJwYXJlbnRJZCI6ImI2MzliYTA1IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDoyNS41NjFaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX014YUhwRXVWU25ETkNjSkNJRm1hSUdZV3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNjZDRmMzQ4MTkxYjY3NTViNDhmZGU0MmRjYSIsInRvb2xOYW1lIjoiZWRpdCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSByZXBsYWNlZCAzIGJsb2NrKHMpIGluIHNyYy9tYWluLnJzLiJ9XSwiZGV0YWlscyI6eyJkaWZmIjoiICAgMSB1c2UgYWR3OjpwcmVsdWRlOjoqO1xuLSAgMiB1c2UgZ3RrOjp7Z2lvLCBnbGlifTtcbisgIDIgdXNlIGd0azo6Z2xpYjtcbiAgIDMgdXNlIHN0ZDo6e2NlbGw6OlJlZkNlbGwsIGZzLCBwYXRoOjpQYXRoLCByYzo6UmN9O1xuICAgNCBcbiAgIDUgY29uc3QgQVBQX0lEOiAmc3RyID0gXCJvcmcuYWx0bGludXguRmxhc2hlclwiO1xuICAgNiBjb25zdCBCT0FSRFM6ICZzdHIgPSBpbmNsdWRlX3N0ciEoXCIuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9TVVBQT1JURUQtQk9BUkRTXCIpO1xuICAgICAuLi5cbiAgNDIgICAgIHRvb2xiYXJfdmlldy5hZGRfdG9wX2JhcigmaGVhZGVyKTtcbiAgNDMgXG4gIDQ0ICAgICBsZXQgcGFnZSA9IGFkdzo6UHJlZmVyZW5jZXNQYWdlOjpuZXcoKTtcbiAgNDUgICAgIHBhZ2Uuc2V0X3RpdGxlKFwiQ3JlYXRlIEluc3RhbGxhdGlvbiBNZWRpYVwiKTtcbi0gNDYgICAgIHBhZ2Uuc2V0X2Rlc2NyaXB0aW9uKFNvbWUoXG4rIDQ2ICAgICBwYWdlLnNldF9kZXNjcmlwdGlvbihcbiAgNDcgICAgICAgICBcIlByZXBhcmUgYW4gQUxUIExpbnV4IHJvb3QgZmlsZXN5c3RlbSBvciBkaXNrIGltYWdlIGZvciB5b3VyIGJvYXJkLlwiLFxuLSA0OCAgICAgKSk7XG4rIDQ4ICAgICApO1xuICA0OSAgICAgdG9vbGJhcl92aWV3LnNldF9jb250ZW50KFNvbWUoJnBhZ2UpKTtcbiAgNTAgXG4gIDUxICAgICAvLyBTb3VyY2VcbiAgNTIgICAgIGxldCBzb3VyY2VfZ3JvdXAgPSBhZHc6OlByZWZlcmVuY2VzR3JvdXA6OmJ1aWxkZXIoKVxuICAgICAuLi5cbiAzODMgICAgICAgICAgICAgICAgIC5nZXQoYm9hcmRfcm93LnNlbGVjdGVkKCkgYXMgdXNpemUpXG4gMzg0ICAgICAgICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuIDM4NSAgICAgICAgICAgICAgICAgLnVud3JhcF9vcihcIlVua25vd24gYm9hcmRcIik7XG4gMzg2ICAgICAgICAgICAgIGxldCBkZXN0aW5hdGlvbiA9IGlmIHN0YXRlLm91dHB1dF9pc19maWxlIHtcbi0zODcgICAgICAgICAgICAgICAgIHN0YXRlLm91dHB1dF9maWxlLmFzX2RlcmVmKCkudW53cmFwX29yKFwiTm8gb3V0cHV0IGZpbGVcIilcbiszODcgICAgICAgICAgICAgICAgIHN0YXRlXG4rMzg4ICAgICAgICAgICAgICAgICAgICAgLm91dHB1dF9maWxlXG4rMzg5ICAgICAgICAgICAgICAgICAgICAgLmNsb25lKClcbiszOTAgICAgICAgICAgICAgICAgICAgICAudW53cmFwX29yX2Vsc2UofHwgXCJObyBvdXRwdXQgZmlsZVwiLmludG8oKSlcbiAzODggICAgICAgICAgICAgfSBlbHNlIHtcbiAzODkgICAgICAgICAgICAgICAgIGRyaXZlX21vZGVsXG4gMzkwICAgICAgICAgICAgICAgICAgICAgLnN0cmluZyhkcml2ZV9yb3cuc2VsZWN0ZWQoKSlcbiAzOTEgICAgICAgICAgICAgICAgICAgICAubWFwKHxzfCBzLnRvX3N0cmluZygpKVxuIDM5MiAgICAgICAgICAgICAgICAgICAgIC51bndyYXBfb3JfZWxzZSh8fCBcIk5vIGRyaXZlXCIuaW50bygpKVxuLTM5MyAgICAgICAgICAgICAgICAgICAgIC5sZWFrKClcbiAzOTQgICAgICAgICAgICAgfTtcbiAzOTUgICAgICAgICAgICAgbGV0IGRpYWxvZyA9IGFkdzo6QWxlcnREaWFsb2c6OmJ1aWxkZXIoKVxuIDM5NiAgICAgICAgICAgICAgICAgLmhlYWRpbmcoXCJSZWFkeSB0byB3cml0ZT9cIilcbiAzOTcgICAgICAgICAgICAgICAgIC5ib2R5KGZvcm1hdCEoXG4gICAgIC4uLiIsInBhdGNoIjoiLS0tIHNyYy9tYWluLnJzXG4rKysgc3JjL21haW4ucnNcbkBAIC0xLDYgKzEsNiBAQFxuIHVzZSBhZHc6OnByZWx1ZGU6Oio7XG4tdXNlIGd0azo6e2dpbywgZ2xpYn07XG4rdXNlIGd0azo6Z2xpYjtcbiB1c2Ugc3RkOjp7Y2VsbDo6UmVmQ2VsbCwgZnMsIHBhdGg6OlBhdGgsIHJjOjpSY307XG4gXG4gY29uc3QgQVBQX0lEOiAmc3RyID0gXCJvcmcuYWx0bGludXguRmxhc2hlclwiO1xuIGNvbnN0IEJPQVJEUzogJnN0ciA9IGluY2x1ZGVfc3RyIShcIi4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL1NVUFBPUlRFRC1CT0FSRFNcIik7XG5AQCAtNDIsMTEgKzQyLDExIEBAXG4gICAgIHRvb2xiYXJfdmlldy5hZGRfdG9wX2JhcigmaGVhZGVyKTtcbiBcbiAgICAgbGV0IHBhZ2UgPSBhZHc6OlByZWZlcmVuY2VzUGFnZTo6bmV3KCk7XG4gICAgIHBhZ2Uuc2V0X3RpdGxlKFwiQ3JlYXRlIEluc3RhbGxhdGlvbiBNZWRpYVwiKTtcbi0gICAgcGFnZS5zZXRfZGVzY3JpcHRpb24oU29tZShcbisgICAgcGFnZS5zZXRfZGVzY3JpcHRpb24oXG4gICAgICAgICBcIlByZXBhcmUgYW4gQUxUIExpbnV4IHJvb3QgZmlsZXN5c3RlbSBvciBkaXNrIGltYWdlIGZvciB5b3VyIGJvYXJkLlwiLFxuLSAgICApKTtcbisgICAgKTtcbiAgICAgdG9vbGJhcl92aWV3LnNldF9jb250ZW50KFNvbWUoJnBhZ2UpKTtcbiBcbiAgICAgLy8gU291cmNlXG4gICAgIGxldCBzb3VyY2VfZ3JvdXAgPSBhZHc6OlByZWZlcmVuY2VzR3JvdXA6OmJ1aWxkZXIoKVxuQEAgLTM4MywxNSArMzgzLDE3IEBAXG4gICAgICAgICAgICAgICAgIC5nZXQoYm9hcmRfcm93LnNlbGVjdGVkKCkgYXMgdXNpemUpXG4gICAgICAgICAgICAgICAgIC5tYXAoU3RyaW5nOjphc19zdHIpXG4gICAgICAgICAgICAgICAgIC51bndyYXBfb3IoXCJVbmtub3duIGJvYXJkXCIpO1xuICAgICAgICAgICAgIGxldCBkZXN0aW5hdGlvbiA9IGlmIHN0YXRlLm91dHB1dF9pc19maWxlIHtcbi0gICAgICAgICAgICAgICAgc3RhdGUub3V0cHV0X2ZpbGUuYXNfZGVyZWYoKS51bndyYXBfb3IoXCJObyBvdXRwdXQgZmlsZVwiKVxuKyAgICAgICAgICAgICAgICBzdGF0ZVxuKyAgICAgICAgICAgICAgICAgICAgLm91dHB1dF9maWxlXG4rICAgICAgICAgICAgICAgICAgICAuY2xvbmUoKVxuKyAgICAgICAgICAgICAgICAgICAgLnVud3JhcF9vcl9lbHNlKHx8IFwiTm8gb3V0cHV0IGZpbGVcIi5pbnRvKCkpXG4gICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgZHJpdmVfbW9kZWxcbiAgICAgICAgICAgICAgICAgICAgIC5zdHJpbmcoZHJpdmVfcm93LnNlbGVjdGVkKCkpXG4gICAgICAgICAgICAgICAgICAgICAubWFwKHxzfCBzLnRvX3N0cmluZygpKVxuICAgICAgICAgICAgICAgICAgICAgLnVud3JhcF9vcl9lbHNlKHx8IFwiTm8gZHJpdmVcIi5pbnRvKCkpXG4tICAgICAgICAgICAgICAgICAgICAubGVhaygpXG4gICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICBsZXQgZGlhbG9nID0gYWR3OjpBbGVydERpYWxvZzo6YnVpbGRlcigpXG4gICAgICAgICAgICAgICAgIC5oZWFkaW5nKFwiUmVhZHkgdG8gd3JpdGU/XCIpXG4gICAgICAgICAgICAgICAgIC5ib2R5KGZvcm1hdCEoXG4iLCJmaXJzdENoYW5nZWRMaW5lIjoyfSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODYyNTU2MX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjBlMGI5NmM5IiwicGFyZW50SWQiOiJjYzhkMGY3OCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTA6MzQuOTE2WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipQbGFubmluZyBjb21waWxlLXRpbWUgdHlwZSBjaGVja2luZyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzZDgzOGRjODE5MTk1M2FlMzI0ZmUwYmRjNTJcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1QYTZTS3M5WnNEcnZPVHp2dmdBTUY2cmZKMXdKSmxTSUxneEhVTG1hbTFDeUxhbFRneDhMMVpXVkdLZ3pyNUhtNWUwVUh3RlZnVm53RXV3YnJ6c1ZLaXJXY3UwQ1B4WEVta0lvM2NydDd2VTVkRnRWdWZLc2hKblRzNWZPNzhjSFRpVDFCMDJuZlZibk9DbGRlVEcyNllQUjUwNW5tMHZGMlBHdUZxS0h4LUNsQTQzT205UDF6NmpMdlFST0NnTGQxdzA3ZldETjN6eG92akRrb29INUc0OUs4QlZTODRJV29nYzdaZldRcFkzeVliVXY4di1nNTN2LXM1cjdwTG1rcUxWRWFRYXFGcDR6NkgzeThDT3dqcjBlUS04aDlvQ2IteC1DWGVzQzlic1RnamVCQWtMZFJlb0l3Q0hCQ0M3eFZvU0ZwSW5Ca3p2N1p0WEJ6X0tmRkRvUlZmdmhhVV9Da1pwRFVRUVJiWC1CVlluU3ctQkhCOHJrM25aeWtBU3NTOVg2cFVnQXpmS01USXc4QWMtOWJ1U2ZWaVF4TWlOQ2lEMUhVa1hjYU1Vbnd5WktyRm1IdmNDUlJYTVRkRnlObUgxVGRhelBoR1F0aGJhc0U3ZzFJYnpUTUJxTUZkUXltaWF0UlVfNUc5c0JUTVZYVGg4WGRKVXB2bWFwc0ZTZUdDVnpZQmc3QW5jT2NCb0NfNW5OcUdVdzVqOHBXTGxTVDhET1RPdFE4QVJ5TUJ3bm51c1VfMW1OaUo2Q2tCSi01cVRITTZfQ3ZJZWJpU2hPVllkcE9DVTM3WkFHakM2ZG1KQ25KX2dER0p2Y0dQRnMtVWFnZHBOZ1JtSVczWVNocWs3OExSSlZhY0dLR1ZVUzZTZFpSQl81ZlhtdEY2S09KYnhJUHpQUEZkenpmTEphLVRDMWxkMV9naHFzR0c5MFJRWmhzNVU3b24ydXdjSlgyYmFuV1V1ekVual9SUlJHTEQzYVNCN2JTV2lRQ092YVZmUU5VbkNjOS1OMnF3NUZjRFV0cEF5VVpuRElHVVNMME05ZEdocDBzc3JhMmxVb1VLZ3ZxZnBjY3RCRWFaRDZZNnRneFpHdlhpalNydll5aWd3aFFIZ2dQcURIRGhNcmFWTW83N1ltTk1VbFNPc053MmhBRGo5LXNFeDA4b1dvVGtjSm85eFhiRmVsZEp4Qm1iYlhQbnQxX3JYRmdLcVlpNm1jTXdCQ3RldWtkU2dQdENUZm4wSDhsV19UdnpmX0p6dlBLb25hRXYxMDNuNnhSZERrbFNfRG56LXhSbUF6TDRWeEd5dGxDNWlqX0x4bGc3Mk5BMWNmWGhRV0U3c0J3THJMZWV2RlZVRkJNRmNJcm5PbkFSMWtkd2w5TTVHTEUtZFktVVZtRVlaRUJmVGpGQ183NTFTZFYyY2NOX1Bnajh1eVo4NkZDWHZROThZWVp5YmkzeUFQMmN3dzE2QjZfWmduTS0wcExzVTJqcDlCZnlud2ZldDZsa3ZsdWJDWGJac3FLSzVxclhscWZOaEpzeDFJeHhuR0tLZU1NcnlOM0wzTXlLWUxMUDVLV3BZbDZQRjBVRkRhek9SR009XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBjb21waWxlLXRpbWUgdHlwZSBjaGVja2luZyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF8xemgwN2tNNkJaNG5IY3J1VTM1YkxQb1B8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzZGE0ZWRjODE5MTlmNDY0NzYzZTgzZWUyYmQiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9saWJhZHdhaXRhLXN5cy0wLjguMS9idWlsZC5ycyIsImxpbWl0Ijo4MH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxNTQ1LCJvdXRwdXQiOjExMCwiY2FjaGVSZWFkIjoyNjExMiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo0NSwidG90YWxUb2tlbnMiOjI3NzY3LCJjb3N0Ijp7ImlucHV0IjowLjAwNzcyNTAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMzMsImNhY2hlUmVhZCI6MC4wMTMwNTYsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyNDA4MDk5OTk5OTk5OTk5OH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4ODYyNTU2MiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzZDIwNjk4ODE5MWJmY2E0MjM1NWU3NGQ3M2UifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZDNlMzIxMzUiLCJwYXJlbnRJZCI6IjBlMGI5NmM5IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDozNC45MTlaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzF6aDA3a002Qlo0bkhjcnVVMzViTFBvUHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNkYTRlZGM4MTkxOWY0NjQ3NjNlODNlZTJiZCIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii8vIEdlbmVyYXRlZCBieSBnaXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9ndGstcnMvZ2lyIEAgYjNkNDQ0YTA1OGNmKVxuLy8gZnJvbVxuLy8gZnJvbSBnaXItZmlsZXMgKGh0dHBzOi8vZ2l0aHViLmNvbS9ndGstcnMvZ2lyLWZpbGVzLmdpdCBAIDVjMWU0OTBmZTUwYSlcbi8vIERPIE5PVCBFRElUXG5cbiNbY2ZnKG5vdChkb2NzcnMpKV1cbnVzZSBzdGQ6OnByb2Nlc3M7XG5cbiNbY2ZnKGRvY3NycyldXG5mbiBtYWluKCkge30gLy8gcHJldmVudCBsaW5raW5nIGxpYnJhcmllcyB0byBhdm9pZCBkb2N1bWVudGF0aW9uIGZhaWx1cmVcblxuI1tjZmcobm90KGRvY3NycykpXVxuZm4gbWFpbigpIHtcbiAgICBpZiBsZXQgRXJyKHMpID0gc3lzdGVtX2RlcHM6OkNvbmZpZzo6bmV3KCkucHJvYmUoKSB7XG4gICAgICAgIHByaW50bG4hKFwiY2FyZ286d2FybmluZz17c31cIik7XG4gICAgICAgIHByb2Nlc3M6OmV4aXQoMSk7XG4gICAgfVxufVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NjM0OTE5fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNjQ5N2UwMzIiLCJwYXJlbnRJZCI6ImQzZTMyMTM1IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDozNy44MzhaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkNoZWNraW5nIGNyYXRlIGZlYXR1cmUgZmxhZ3MqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2RjYmNhMDgxOTE4MGQ4ZDFmY2EzNTIzMDQ1XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNUGRlc3FRbW84Q18tN1EtVEhWVkhCV2VmN3BDYXcwb2JGZWg1d0I5MTQweFpPLUNzbk1hTmJIbEp2dGhOTUttODdHNU1NWHNSQTVFZ3ZYa2Vxa2tQcDVhRExGeWZsQ29ZSzREeHRWbGswUmwtZjJjazNtaWdDY1pUVFlJeDU4RVFpRFp4akNQcEVlR0xTZXJCaXRCNUhnek15bXlhdVRaTFR3cE1kdmpjNVBZNzdwc213bmlpUFJPN2lYZlVXOV9HMXpQMktwcWJFOTk3SXQ3MlNRdWdXN3NNOHpaeTBMeUdmMnZJcHVLc1FBdzBMS0JlVGRpN1I5cmR5VUNjQ2pGamViUnUyd0xyTTZONlY1b3JXNnRXVWw4VzNmai1uaVVGUjZ4UWFwenR0X1FBYVg0VG5OVGk4bEtKcDdVclpWLTFEcHYyV0RueXNqOWJ0T0FqY283Zmd5eWd5bnQ3ZXU5aDhPUU1TeXdpbXBEZFlGX3NQOWs4QzhVc3hocWpaMTE0eEZfWDRFejBfYVZNUmpPVjN5djhmYkNwdzQ4eFRzdDNveDBwdWo5Ukw1b08tZ2FzeTIwU2luQ04zaVI4UXZkaWZ0TC1UVVByRFlRVzRxU19zaW9VY2pPY2wzcEVwOG1CeHVFeDQ5SWNwdjNTd2pUU2c4eUtIUDIxNXhpWkdTRzV1MHhWeE1PZDk2SGhWcFpDOFc1Q0VsMl9UWms3STJhVjF5TlRBbllLMGZZWU9pOWZ0N1J4eTNKSTZNUWRqckpIX0ZEcUlVakI3R2NrTzl6T0t6U2tWLWpIVXVRWjg4QlcyeEx0SVB5Szg3ekRuR0c1aFl1RjU5cDd5aVVOMTVBQkVTQkFLc1daaXBZYVZ1UW5jZkhXalNib0FGNUpVRXVlTkhfX1BNVWJQX2hUWVpkZ2hTeC05UXE2N2J5cjF5YjRfRFRDN3FWYjlLcHVxdzA4Rkt6WXVKbHZNbE1kamJnc0pSUDFDTkpJckVVY1NxakZaRkVwMFQySHp0TmMzQ3VTY09Ga1M2S3RGVU1tRUNzcHJzNWRXdUduZEN1ei04eDZ1bGtJWlpEQ1c5LWFFb0xqWGhhU1lQNGNjSFBrZXVQYUZ2VDhLVWFNbGpDSXRnMnZ5dHBVeGRJdmRFaVhLNTR1WkpHLU9zbnNUMC1nOXBFcGxHQ25faHJtbnQySFlJTGpTWDVmQU92VUhDeW56T0szWGY4ZEFUY1cwODJBM2VRTjFpVEJoeHpfckpQcDJuVlYzVkgyZEprX3RqS2pROVJCSm5Rb1F2UmRIVGJ5YkxmTHN5NldYYjZQMzZKTzZwb3RGRHBLemtHZmhtM011Q1dYTFlna0hzYzh3TlF1VDhfSjZjXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipDaGVja2luZyBjcmF0ZSBmZWF0dXJlIGZsYWdzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX2FGRE9tUmRCcDRIYTV1VkxqNlBBa3pIa3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNkZDlkZTg4MTkxYTBhZTVhODIyZDJmODU1NyIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJSVVNURkxBR1M9Jy0tY2ZnIGRvY3NycycgY2FyZ28gY2hlY2siLCJ0aW1lb3V0IjoxMjB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6Nzc4LCJvdXRwdXQiOjU2LCJjYWNoZVJlYWQiOjI3MTM2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjIyLCJ0b3RhbFRva2VucyI6Mjc5NzAsImNvc3QiOnsiaW5wdXQiOjAuMDAzODkwMDAwMDAwMDAwMDAwMiwib3V0cHV0IjowLjAwMTY4LCJjYWNoZVJlYWQiOjAuMDEzNTY4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMTkxMzgwMDAwMDAwMDAwMDJ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODg2MzQ5MjAsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2RiM2NlMDgxOTE5ZDY2ZDRkZDQ0N2Q4MDk5In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijg2MDM2MDY0IiwicGFyZW50SWQiOiI2NDk3ZTAzMiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTA6MzguNzc2WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9hRkRPbVJkQnA0SGE1dVZMajZQQWt6SGt8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzZGQ5ZGU4ODE5MWEwYWU1YTgyMmQyZjg1NTciLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICBDb21waWxpbmcgd2lubm93IHYxLjAuNFxuICAgQ29tcGlsaW5nIHRvbWxfZGF0ZXRpbWUgdjEuMS4xK3NwZWMtMS4xLjBcbiAgIENvbXBpbGluZyB0YXJnZXQtbGV4aWNvbiB2MC4xMy41XG4gICBDb21waWxpbmcgaGVjayB2MC41LjBcbiAgIENvbXBpbGluZyBzbWFsbHZlYyB2MS4xNS4yXG4gICBDb21waWxpbmcgc2VyZGVfc3Bhbm5lZCB2MS4xLjFcbiAgIENvbXBpbGluZyB2ZXJzaW9uLWNvbXBhcmUgdjAuMi4xXG4gICBDb21waWxpbmcgcGtnLWNvbmZpZyB2MC4zLjMzXG4gICBDb21waWxpbmcgbGliYyB2MC4yLjE4OVxuICAgQ29tcGlsaW5nIHByb2MtbWFjcm8yIHYxLjAuMTA3XG4gICBDb21waWxpbmcgcXVvdGUgdjEuMC40N1xuICAgQ29tcGlsaW5nIHVuaWNvZGUtaWRlbnQgdjEuMC4yNFxuICAgQ29tcGlsaW5nIGhhc2hicm93biB2MC4xNy4xXG4gICBDb21waWxpbmcgZXF1aXZhbGVudCB2MS4wLjJcbiAgICBDaGVja2luZyBmdXR1cmVzLWNvcmUgdjAuMy4zM1xuICAgIENoZWNraW5nIHBpbi1wcm9qZWN0LWxpdGUgdjAuMi4xN1xuZXJyb3JbRTA1NTRdOiBgIyFbZmVhdHVyZV1gIG1heSBub3QgYmUgdXNlZCBvbiB0aGUgc3RhYmxlIHJlbGVhc2UgY2hhbm5lbFxuIC0tPiAvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3RvbWxfZGF0ZXRpbWUtMS4xLjErc3BlYy0xLjEuMC9zcmMvbGliLnJzOjU6MjFcbiAgfFxuNSB8ICMhW2NmZ19hdHRyKGRvY3NycywgZmVhdHVyZShkb2NfY2ZnKSldXG4gIHwgICAgICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5eXl5eXG5cbmVycm9yW0UwNTU0XTogYCMhW2ZlYXR1cmVdYCBtYXkgbm90IGJlIHVzZWQgb24gdGhlIHN0YWJsZSByZWxlYXNlIGNoYW5uZWxcbiAtLT4gL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zZXJkZV9zcGFubmVkLTEuMS4xL3NyYy9saWIucnM6ODoyMVxuICB8XG44IHwgIyFbY2ZnX2F0dHIoZG9jc3JzLCBmZWF0dXJlKGRvY19jZmcpKV1cbiAgfCAgICAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5cblxuZXJyb3JbRTA1NTRdOiBgIyFbZmVhdHVyZV1gIG1heSBub3QgYmUgdXNlZCBvbiB0aGUgc3RhYmxlIHJlbGVhc2UgY2hhbm5lbFxuICAtLT4gL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zbWFsbHZlYy0xLjE1LjIvc3JjL2xpYi5yczo5MzoyMVxuICAgfFxuOTMgfCAjIVtjZmdfYXR0cihkb2NzcnMsIGZlYXR1cmUoZG9jX2NmZykpXVxuICAgfCAgICAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5cblxuICAgIENoZWNraW5nIGZ1dHVyZXMtdGFzayB2MC4zLjMzXG4gICAgQ2hlY2tpbmcgc2xhYiB2MC40LjEyXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGVycm9yLCB0cnkgYHJ1c3RjIC0tZXhwbGFpbiBFMDU1NGAuXG5lcnJvcjogY291bGQgbm90IGNvbXBpbGUgYHNlcmRlX3NwYW5uZWRgIChsaWIpIGR1ZSB0byAxIHByZXZpb3VzIGVycm9yXG53YXJuaW5nOiBidWlsZCBmYWlsZWQsIHdhaXRpbmcgZm9yIG90aGVyIGpvYnMgdG8gZmluaXNoLi4uXG5lcnJvcltFMDU1NF06IGAjIVtmZWF0dXJlXWAgbWF5IG5vdCBiZSB1c2VkIG9uIHRoZSBzdGFibGUgcmVsZWFzZSBjaGFubmVsXG4gIC0tPiAvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3dpbm5vdy0xLjAuNC9zcmMvbGliLnJzOjQ5OjIxXG4gICB8XG40OSB8ICMhW2NmZ19hdHRyKGRvY3NycywgZmVhdHVyZShkb2NfY2ZnKSldXG4gICB8ICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXlxuICAgfFxuICAgPSBoZWxwOiB0aGUgZmVhdHVyZSBgZXh0ZW5kZWRfa2V5X3ZhbHVlX2F0dHJpYnV0ZXNgIGhhcyBiZWVuIHN0YWJsZSBzaW5jZSBgMS41NC4wYCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGFuIGF0dHJpYnV0ZSB0byBlbmFibGVcblxuZXJyb3I6IGNvdWxkIG5vdCBjb21waWxlIGB0b21sX2RhdGV0aW1lYCAobGliKSBkdWUgdG8gMSBwcmV2aW91cyBlcnJvclxuZXJyb3I6IGNvdWxkIG5vdCBjb21waWxlIGBzbWFsbHZlY2AgKGxpYikgZHVlIHRvIDEgcHJldmlvdXMgZXJyb3JcbmVycm9yOiBjb3VsZCBub3QgY29tcGlsZSBgd2lubm93YCAobGliKSBkdWUgdG8gMSBwcmV2aW91cyBlcnJvclxuXG5cbkNvbW1hbmQgZXhpdGVkIHdpdGggY29kZSAxMDEifV0sImRldGFpbHMiOnt9LCJpc0Vycm9yIjp0cnVlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg2Mzg3NzZ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI1MTU2ZDM4ZSIsInBhcmVudElkIjoiODYwMzYwNjQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEwOjQzLjA2MloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2UxZTA1YzgxOTFhOGY4ZTQyZDNmMjk2ODU1XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNUGlrSGMzN0s4ZW1XX3BsWVFDQW8wUEtoamtJOW1Ic0xVZ1BNVjdHblNyOTdsWnVOT2VSdUJOdl9WMDhlZEtPWnJ6YlpEd0FBVThtemVBcldfLTkzTlhadWlDdFJnUDhMUUdwVE9COGQxNnRqMV9xM3d5VlJyaWlLQWd4VGdSRFg5blN0QWFxY3ZNSVhZeW5ld18wQnhiMFhNSDZvdjR5QU5YQXNWTFF0dzhqbm4yZ05SbjRVYUstb01rd01GM1ZYVkJ4Sm0yLV92MXVDbnZJUEFrakZYTDRRZUxtWlN1YTBQaElvVmJweUpwZVprQXA1ZksyVU84aW02c3F3ekhGTVVWLUgtWDdaNlpreGFLWmlWTnZTY3BubkRHQ2MxRGtNUXNhWEhWaFl6RF9QRjROMG9GRTA3OWVXUmRraFUyaVkzdTlPRHpQNWJ2aVZsWElBdHpDdm45QnhpRU52MTAzRGJGNkpVTi1zMURRaUhfUU1OQ25BV2hTYVFPR2dOUzhHejNVU3dGMDBsYno4b0owQXQxYkZWamtuS3gzaFNsbl94TkVWT1NyZjYwa2NodF9xRkpkazhEWmx2a1B5OVJReUhTOW1IUE9tNE9JN2NWWHB6RTJFVEFXOTlrQVBRQ01zYU5nUVhxUkxiYXVKT3hZMTc0X2VqaEdWUl9aUXZYMUUxZDVqdGJJUEN4ZlBYTWhTa0ZpdHRfTlF3dF9KWkF0QmpIbHV6bjVKSEU2SUxRcFBuX09rOFBsX0V2ZThLajM3a25hdnd0UkNuQXoxTVh2enQ2SmdudFFWRGdYSFZXem8xZ0lkWHlYX2JmYnhQZWFQdkRIYzdTOEFwYUNjS21rUnBmSmdjdkNtM1ctR3g2S1lvS2Z0MmZlQkk3bmxFTXRHT3d4UEVGbnVpQXFhbGxTUklKX2JtZGxmMUJKZDJiQjNZcHVYLW44czlqelZNUE1CU215Z2xKTlRNczhvT1dTOGI1aGE5M08xdTAxamlCUjVBWmYwZ3haR2doaEFaOEpqQ1hKUDN2Yy1UUnd6VTBseEo1YXZOZGY5eF9KTGxEYVpPQncyRTRISFY0ZXFrV0ZZQ2VYN3VhZDBrckhOSVE1ZUxxQ01GSzAxZTV2QmRHUUZjUlFJbVlNUmRGSUtpNXBvREFjWEZ3S25DZmJXWVVPLVNTS1AtdzNqWE5LOFJ0TGY1RnphN0ZyNjV0NXRIRlZGQVNBb0FQTmNVLTdpNnlQQjFpSlhEQ251RE9oSFJhZ25XMVZPYlR3MnQzaUl3SkNQQzlcIixcInN1bW1hcnlcIjpbXX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9wY0E0NlFycVVQWXB4VzhvUENnNk5ueTl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzZTJkNzE4ODE5MTgwNjY3Zjc4YzZmNjExNWMiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiUlVTVENfQk9PVFNUUkFQPTEgUlVTVEZMQUdTPSctLWNmZyBkb2NzcnMnIGNhcmdvIGNoZWNrIiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE1OTksIm91dHB1dCI6NTUsImNhY2hlUmVhZCI6MjcxMzYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTMsInRvdGFsVG9rZW5zIjoyODc5MCwiY29zdCI6eyJpbnB1dCI6MC4wMDc5OTUsIm91dHB1dCI6MC4wMDE2NSwiY2FjaGVSZWFkIjowLjAxMzU2OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDIzMjEzfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg4NjM4Nzc3LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNkZjE5MzQ4MTkxYjRmOWRlNDg2NjUzNDNkYSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIzOGUyODJkZiIsInBhcmVudElkIjoiNTE1NmQzOGUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEwOjQ1LjgxM1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfcGNBNDZRcnFVUFlweFc4b1BDZzZObnk5fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2UyZDcxODgxOTE4MDY2N2Y3OGM2ZjYxMTVjIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgQ29tcGlsaW5nIHdpbm5vdyB2MS4wLjRcbiAgIENvbXBpbGluZyB0b21sX2RhdGV0aW1lIHYxLjEuMStzcGVjLTEuMS4wXG4gICBDb21waWxpbmcgc21hbGx2ZWMgdjEuMTUuMlxuICAgQ29tcGlsaW5nIHNlcmRlX3NwYW5uZWQgdjEuMS4xXG4gICBDb21waWxpbmcgdGFyZ2V0LWxleGljb24gdjAuMTMuNVxuICAgQ29tcGlsaW5nIGxpYmMgdjAuMi4xODlcbiAgIENvbXBpbGluZyBwcm9jLW1hY3JvMiB2MS4wLjEwN1xuICAgQ29tcGlsaW5nIHF1b3RlIHYxLjAuNDdcbiAgIENvbXBpbGluZyBpbmRleG1hcCB2Mi4xNC4wXG4gICAgQ2hlY2tpbmcgZnV0dXJlcy1jaGFubmVsIHYwLjMuMzNcbiAgICBDaGVja2luZyBtZW1jaHIgdjIuOC4zXG4gICAgQ2hlY2tpbmcgYml0ZmxhZ3MgdjIuMTMuMVxuICAgIENoZWNraW5nIGZ1dHVyZXMtaW8gdjAuMy4zM1xuICAgQ29tcGlsaW5nIHNlbXZlciB2MS4wLjI4XG4gICBDb21waWxpbmcgYXV0b2NmZyB2MS41LjFcbiAgIENvbXBpbGluZyBydXN0Y192ZXJzaW9uIHYwLjQuMVxuICAgQ29tcGlsaW5nIGNmZy1leHByIHYwLjIwLjhcbiAgIENvbXBpbGluZyBtZW1vZmZzZXQgdjAuOS4xXG4gICBDb21waWxpbmcgZmllbGQtb2Zmc2V0IHYwLjMuNlxuICAgQ29tcGlsaW5nIHN5biB2Mi4wLjExOVxuICAgQ29tcGlsaW5nIHRvbWxfcGFyc2VyIHYxLjEuMitzcGVjLTEuMS4wXG4gICBDb21waWxpbmcgdG9tbCB2MS4xLjMrc3BlYy0xLjEuMFxuICAgQ29tcGlsaW5nIHRvbWxfZWRpdCB2MC4yNS4xMytzcGVjLTEuMS4wXG4gICBDb21waWxpbmcgc3lzdGVtLWRlcHMgdjcuMC44XG4gICBDb21waWxpbmcgcHJvYy1tYWNyby1jcmF0ZSB2My41LjBcbiAgIENvbXBpbGluZyBnbGliLXN5cyB2MC4yMS41XG4gICBDb21waWxpbmcgZ29iamVjdC1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdpby1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIHBhbmdvLXN5cyB2MC4yMS41XG4gICBDb21waWxpbmcgZ2RrLXBpeGJ1Zi1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGNhaXJvLXN5cy1ycyB2MC4yMS41XG4gICBDb21waWxpbmcgZ3JhcGhlbmUtc3lzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBnZGs0LXN5cyB2MC4xMC4zXG4gICBDb21waWxpbmcgZ3NrNC1zeXMgdjAuMTAuM1xuICAgQ29tcGlsaW5nIGd0azQtc3lzIHYwLjEwLjNcbiAgIENvbXBpbGluZyBsaWJhZHdhaXRhLXN5cyB2MC44LjFcbndhcm5pbmc6IGd0azQtc3lzQDAuMTAuMzogXG5lcnJvcjogZmFpbGVkIHRvIHJ1biBjdXN0b20gYnVpbGQgY29tbWFuZCBmb3IgYGd0azQtc3lzIHYwLjEwLjNgXG5cbkNhdXNlZCBieTpcbiAgcHJvY2VzcyBkaWRuJ3QgZXhpdCBzdWNjZXNzZnVsbHk6IGAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9ndGs0LXN5cy03ZjU1M2FhYjQzYjdkODY2L2J1aWxkLXNjcmlwdC1idWlsZGAgKGV4aXQgc3RhdHVzOiAxKVxuICAtLS0gc3Rkb3V0XG4gIGNhcmdvOnJlcnVuLWlmLWNoYW5nZWQ9L2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9ndGs0LXN5cy0wLjEwLjMvQ2FyZ28udG9tbFxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1HVEs0X05PX1BLR19DT05GSUdcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR194ODZfNjQtdW5rbm93bi1saW51eC1nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR194ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19QQVRIX3g4Nl82NC11bmtub3duLWxpbnV4LWdudVxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX1BBVEhfeDg2XzY0X3Vua25vd25fbGludXhfZ251XG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPUhPU1RfUEtHX0NPTkZJR19QQVRIXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfUEFUSFxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1QS0dfQ09ORklHX0xJQkRJUl94ODZfNjQtdW5rbm93bi1saW51eC1nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19MSUJESVJfeDg2XzY0X3Vua25vd25fbGludXhfZ251XG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPUhPU1RfUEtHX0NPTkZJR19MSUJESVJcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19MSUJESVJcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19TWVNST09UX0RJUl94ODZfNjQtdW5rbm93bi1saW51eC1nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UEtHX0NPTkZJR19TWVNST09UX0RJUl94ODZfNjRfdW5rbm93bl9saW51eF9nbnVcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9SE9TVF9QS0dfQ09ORklHX1NZU1JPT1RfRElSXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVBLR19DT05GSUdfU1lTUk9PVF9ESVJcbiAgY2FyZ286d2FybmluZz1cbiAgcGtnLWNvbmZpZyBleGl0ZWQgd2l0aCBzdGF0dXMgY29kZSAxXG4gID4gUEtHX0NPTkZJR19BTExPV19TWVNURU1fQ0ZMQUdTPTEgcGtnLWNvbmZpZyAtLWxpYnMgLS1jZmxhZ3MgZ3RrNCAnZ3RrNCA+PSA0LjEwJ1xuXG4gIHBrZy1jb25maWcgb3V0cHV0OlxuICAgIFBhY2thZ2UgZ3RrNCB3YXMgbm90IGZvdW5kIGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBwYXRoLlxuICAgIFBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGBndGs0LnBjJ1xuICAgIHRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGVcbiAgICBObyBwYWNrYWdlICdndGs0JyBmb3VuZFxuICAgIFBhY2thZ2UgZ3RrNCB3YXMgbm90IGZvdW5kIGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBwYXRoLlxuICAgIFBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGBndGs0LnBjJ1xuICAgIHRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGVcbiAgICBObyBwYWNrYWdlICdndGs0JyBmb3VuZFxuXG4gIFRoZSBzeXN0ZW0gbGlicmFyeSBgZ3RrNGAgcmVxdWlyZWQgYnkgY3JhdGUgYGd0azQtc3lzYCB3YXMgbm90IGZvdW5kLlxuICBUaGUgZmlsZSBgZ3RrNC5wY2AgbmVlZHMgdG8gYmUgaW5zdGFsbGVkIGFuZCB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIG11c3QgY29udGFpbiBpdHMgcGFyZW50IGRpcmVjdG9yeS5cbiAgVGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0LlxuXG4gIEhJTlQ6IGlmIHlvdSBoYXZlIGluc3RhbGxlZCB0aGUgbGlicmFyeSwgdHJ5IHNldHRpbmcgUEtHX0NPTkZJR19QQVRIIHRvIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBgZ3RrNC5wY2AuXG5cbndhcm5pbmc6IGJ1aWxkIGZhaWxlZCwgd2FpdGluZyBmb3Igb3RoZXIgam9icyB0byBmaW5pc2guLi5cblxuXG5Db21tYW5kIGV4aXRlZCB3aXRoIGNvZGUgMTAxIn1dLCJkZXRhaWxzIjp7fSwiaXNFcnJvciI6dHJ1ZSwidGltZXN0YW1wIjoxNzg0OTg4NjQ1ODEzfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNGFhYjRkNjMiLCJwYXJlbnRJZCI6IjM4ZTI4MmRmIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDo1MS44ODBaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkludmVzdGlnYXRpbmcgYnVpbGQgc2NyaXB0IFJVU1RGTEFHUyB2aXNpYmlsaXR5KioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNlN2RjNWM4MTkxOGI2ODNmZWE1YWExZDE3YlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTVByUWJuSmcxdDBvazZZQTV4Y25BajRoUHpyQUhfcDZCajloamllVFZyRy1uWEhCei1KTE1iSmZZdHNIMW9hU3pKQzBVUHppTWpxTlBHU2xfX2NiWE54NVpxOHE1N3FMbXFWSXJvNzFqYS16eURpRmZMalh2bjhzR2Z2eTk3VnVGa1k3UmplNXU0NC15ZDVJbEN4X2VrenBuV0xYRlR1c2tXcUVrb1ZBVjByRkh1ZW5PVTk5RW1HZjFJbkQtUG9FYndCcUVVWVJhYkUyT2NDRlFGTWtrZ2ZaNjhOWGJWbzEzUHZlRUdwX2UyR0lWWTYzdHQycjF2MkZtY09udUx5TkM5OVNTWmZYNXR3ZUpZLWJyVnNNeFdNb3RxeUFQdXZYSkt6Qk1HNnpuZEV4czdsZlBEMjR0ODZremhOSDJDY2txazlBTnVqQVZ2OUctYUk4YkIwdXp0Tjh1eXVXaEpnWTJKWWV4Z3gwUHA1LVZUZWgtWUtfYnVPZnY1Q3h5QnlSTTdNRnNBcjYwUHBvd1R4ZkgzR3VyRnUtb2VGU1Q3MjBBUTBLczBmN294MHBZV0hYTUJ4S24tN3JKSE9XdXNZTkN5QndrTTFiU3ZWMDk0ZXN2dlFDbERSMVltdWlQZXc5b2FNbFJPeEJBN0htRE15OFhhWTFYSTFDSE9Ub3hZS19TOGRaREtuOTNTR3Z4THdJM2t2N2lCT1RaZElLQ0ROanp2Rms5VlcyQS1SanNpX0pLdUkwODJlQzRCOFpISUk3MzFmUFdnTmlhVlRJdnVhSXVuZUdYOGVmajRXU3RkbjUzcDhtTmctMGJSVFk5bThTVWo5Tk5FRE9jOXdsb0JNRnhhaEdaQVF0RGFFckNPYjR4bjAyMmZZN3k0UjNtYnZZRXVkUDQ1ZXVpMzhpMTFwRlZfNU50bWlZR3p0eVJ6Vk41Nmc4TUNSM2lLVXlJWWs4MVU5LUpQMUtsYkNkQTNmR1ZKemtnbVJiZTRQekE0eUZNaFEtb3BaaVk3WE9ULW5zUTB0c0NQMWlhcGkzUWViUDcwemNsU1c0V1JzNEZhdFNnUHB2QnlmaEpsWl8ySUJIcHNEajlmd3JoMGVnMmhhZFlWakFocmktMXREbFRULV9MdTN4MEZ5YTB0Mmp1dVIwVXZCYng2VHE4bFJnVFlFd2Z5UUNkUnU4RjhqbVhxajkyWVB6YVdzTndsWGFPWUlGazdfSkNGWU9SUFd5ZGtOMkhCNml5cDIxVGpOamN6OTR5cjM2bjBFM1JpYloyZG8wXzRzY21ZSm12M3p0WVlTc2JYR0ZHUGFKbDdscFBKMDZlZG9IZ2tUNjFDMjJwcDVyRjBoVVJuYnY1WlNHM3M3U3VLTDEwZm9BZEkzQXQ3M29Jc01XMFc4S2tiZ2JFbzFHUG5tUTJCNHdGN09aeHM5NnVXajZqRXRRMk1JWFdFVG5nQlZvQXNkZmM2cFhpM2xZa2NZTG5pUXd2N1h3ZGdlLXJVSFhWY2lVWlJ4Y1E5VU5temtKd0RUbHl0N1RtYXo5V1ZTMFdQWE1SN2FPTk1VeDdLeGFrRGx3elQxLVA0NmhZRGlMREJLRmFVdVpNVT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkludmVzdGlnYXRpbmcgYnVpbGQgc2NyaXB0IFJVU1RGTEFHUyB2aXNpYmlsaXR5KipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0tyck9UQ0wxaHBOS3pIN1lvQW1YOURQUHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNlYmE3OWM4MTkxODJlZWRmZmQ1Y2ZjZmFjMSIsIm5hbWUiOiJyZWFkIiwiYXJndW1lbnRzIjp7InBhdGgiOiIvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2d0azQtc3lzLTAuMTAuMy9idWlsZC5ycyIsImxpbWl0Ijo0MH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxODY1LCJvdXRwdXQiOjExNCwiY2FjaGVSZWFkIjoyODE2MCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo1MCwidG90YWxUb2tlbnMiOjMwMTM5LCJjb3N0Ijp7ImlucHV0IjowLjAwOTMyNSwib3V0cHV0IjowLjAwMzQyMDAwMDAwMDAwMDAwMDMsImNhY2hlUmVhZCI6MC4wMTQwNzk5OTk5OTk5OTk5OTksImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyNjgyNDk5OTk5OTk5OTk5OH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4ODY0NTgxNSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzZTYyM2NjODE5MTk5ZGMxYjJhYWU5NzViZGMifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNmRlNjI3ZmYiLCJwYXJlbnRJZCI6IjRhYWI0ZDYzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDo1MS44ODNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0tyck9UQ0wxaHBOS3pIN1lvQW1YOURQUHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNlYmE3OWM4MTkxODJlZWRmZmQ1Y2ZjZmFjMSIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii8vIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IGdpciAoaHR0cHM6Ly9naXRodWIuY29tL2d0ay1ycy9naXIpXG4vLyBmcm9tIGdpci1maWxlcyAoaHR0cHM6Ly9naXRodWIuY29tL2d0ay1ycy9naXItZmlsZXMpXG4vLyBETyBOT1QgRURJVFxuXG5mbiBtYWluKCkge1xuICAgIGlmIHN0ZDo6ZW52Ojp2YXIoXCJET0NTX1JTXCIpLmlzX29rKCkge1xuICAgICAgICAvLyBwcmV2ZW50IGxpbmtpbmcgbGlicmFyaWVzIHRvIGF2b2lkIGRvY3VtZW50YXRpb24gZmFpbHVyZVxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgbGV0IEVycihzKSA9IHN5c3RlbV9kZXBzOjpDb25maWc6Om5ldygpLnByb2JlKCkge1xuICAgICAgICBwcmludGxuIShcImNhcmdvOndhcm5pbmc9e3N9XCIpO1xuICAgICAgICBzdGQ6OnByb2Nlc3M6OmV4aXQoMSk7XG4gICAgfVxufVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NjUxODgyfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiODgwMjJlZTgiLCJwYXJlbnRJZCI6IjZkZTYyN2ZmIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMDo1Ny4zMTlaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkNvbWJpbmluZyBET0NTX1JTIGFuZCBydXN0IGNmZyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGMzZWZiYTZjODE5MWEzYTc5Yzg0MDc3NTEwOTNcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1QdzNaQWF3cUFXVzRmeU5OaV9VdWQ5SVF4amI4Y2F0ekdpWXFnNGFteTFyUlJjVzRmMDEwVW5xWW1JVDJvZHFzNEdxM0RwTndEeGJJeHBrV2xDYWpzU00ya3NNQ2JMS3ZmNTVnOFp0TXJjXzVNdWdRdTBUM2oyLUpPcXpweXFhengzNXROWEYzbkNxaEpWN0swR3kycTBEYm5rVXFpWnZCNUdjQmZOa0gwUFVJd2d3aHBzczBMY2lCaVVROEtJeTlRMGFYaGd2LUdDN2drWk8yOF8xdzVHbDRVZE5mSjRTemktV2ZmcjZyOGtuTnphSjNYRExhX25VRnliajhVYlpZY2dDaUJrSUEzUWJDVzdpaERWRjJzM0NocnJyNXZ5LWswc1VSZXUzQTZCNS0yb2NCal9abHY2bzNLVFc2dDVhX1dyejNITzJTNFJtOUJHeXRDRklLZVU0QXg1ZXRmTU16X2N1UnJwSExiYW5ENGo2RDFwdG9OTUIxVXFUdl9GSnZnczRNc3JaeGRaWUVWZmpKY1VBdEUxVG45UGRyVDFDZTE5SlVydVBMWVVoVUZLV3RwSi03Z0xpbUl4TEY0eW9ra2duS3BuZ2Nqby03S3hLMGU1ZVBSLVNKMHFXWklYU2NSUjJhZUNPU3ZBRU14Zmh0U2xzY1VVNG9xNGtBMVdHQ1RrY0w3NFV3QWd0ekNQNTFJRFI3eUxHUE1uRU1HM0ppRHZqVktiaFlsSlZJNDg2dC14OFpDN0JhMV9BdHV0RHRwTUJ5dlRVUXFudmdNU3R4TDVoSUhuMEVlaVFGS1ZWZS1oS1hmQ3ctX3ZuU25QX09FQjJrTEpXcW12eDRPajZGRjNjOWdpNmRXQW03UEE0emRuaGRpeHBjdTZGZVk3MWNtTkg3ejkyZnJHRmkzMmxXM1NKbGZTZkZ3ZEpDZk0xYzFRNFdnSVI0OUx2WEw4STBidjRoMURQSmdKaEFKR0FRcjF1WE9ndGFxVGh5Nkp2SWdMc3hPZ2pYRWcwQjJBbGs4RjRtc3NiWWxiMkdOUkltM2xfVmZQMEVDbnYyY0lJbnNENzZsUEFkQXhQRXNkZUtmeU13TnFkWXRCS0stM3NZcFRwM3NDQUtLMERVSU1VTzJpZDgzUUczS0ZkUDhieGhGc3BLY1JOV3J5QjdLaGFkT0VqQUhyUk5ucjlQc05XOWdKV3pxeUJCQlltV1UxODZ2aUVQaWZmckV4YmhCMGY0ZlVZV0dWSUFVNEZETkc4akJhSzVNcl92MDgtdFFUSGswNDA3bWNUYUNQakEtVmQzSUVnYng4RWFsMWt5NFVCMm9DalJ4eGpiTjZUUHp6YUh6Z0VtNVVfSU1KRkVsdWlTd1lUR0NyR05tbDVvSWVNNHRhQWlrUWpJWHMxakZTeWV2NldxdjluQlN6XzAwPVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqQ29tYmluaW5nIERPQ1NfUlMgYW5kIHJ1c3QgY2ZnKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0t2OUlHWE9aWDBvdGN4b0Q3Z1BSQ0pCRXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNmMGI0OTg4MTkxYjA3YzkwMmVlN2RhN2RhNSIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJET0NTX1JTPTEgUlVTVENfQk9PVFNUUkFQPTEgUlVTVEZMQUdTPSctLWNmZyBkb2NzcnMnIGNhcmdvIGNoZWNrIiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEwNzgsIm91dHB1dCI6ODMsImNhY2hlUmVhZCI6MjkxODQsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MzYsInRvdGFsVG9rZW5zIjozMDM0NSwiY29zdCI6eyJpbnB1dCI6MC4wMDUzOTAwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDI0OSwiY2FjaGVSZWFkIjowLjAxNDU5MTk5OTk5OTk5OTk5OSwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDIyNDcyfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg4NjUxODgzLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzNlYzM0YzQ4MTkxYTU1ZmFjZjYwZGQxNjhjMiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIwYjAwOTc2NSIsInBhcmVudElkIjoiODgwMjJlZTgiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjExOjM2LjU0N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfS3Y5SUdYT1pYMG90Y3hvRDdnUFJDSkJFfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjM2YwYjQ5ODgxOTFiMDdjOTAyZWU3ZGE3ZGE1IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgQ29tcGlsaW5nIGZ1dHVyZXMtbWFjcm8gdjAuMy4zM1xuICAgQ29tcGlsaW5nIGdsaWItbWFjcm9zIHYwLjIxLjVcbiAgIENvbXBpbGluZyBndGs0LW1hY3JvcyB2MC4xMC4zXG4gICBDb21waWxpbmcgZ2xpYi1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdvYmplY3Qtc3lzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBnaW8tc3lzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBwYW5nby1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdkazQtc3lzIHYwLjEwLjNcbiAgIENvbXBpbGluZyBncmFwaGVuZS1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdzazQtc3lzIHYwLjEwLjNcbiAgIENvbXBpbGluZyBndGs0LXN5cyB2MC4xMC4zXG4gICBDb21waWxpbmcgbGliYWR3YWl0YS1zeXMgdjAuOC4xXG4gICAgQ2hlY2tpbmcgY2Fpcm8tc3lzLXJzIHYwLjIxLjVcbiAgICBDaGVja2luZyBmdXR1cmVzLXV0aWwgdjAuMy4zM1xuICAgIENoZWNraW5nIGdkay1waXhidWYtc3lzIHYwLjIxLjVcbiAgICBDaGVja2luZyBmdXR1cmVzLWV4ZWN1dG9yIHYwLjMuMzNcbiAgICBDaGVja2luZyBnbGliIHYwLjIxLjVcbiAgICBDaGVja2luZyBnaW8gdjAuMjEuNVxuICAgIENoZWNraW5nIGNhaXJvLXJzIHYwLjIxLjVcbiAgICBDaGVja2luZyBncmFwaGVuZS1ycyB2MC4yMS41XG4gICAgQ2hlY2tpbmcgcGFuZ28gdjAuMjEuNVxuICAgIENoZWNraW5nIGdkay1waXhidWYgdjAuMjEuNVxuICAgIENoZWNraW5nIGdkazQgdjAuMTAuM1xuICAgIENoZWNraW5nIGdzazQgdjAuMTAuM1xuICAgIENoZWNraW5nIGd0azQgdjAuMTAuM1xuICAgIENoZWNraW5nIGxpYmFkd2FpdGEgdjAuOC4xXG4gICAgQ2hlY2tpbmcgZmxhc2hlciB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIpXG53YXJuaW5nOiB1c2Ugb2YgZGVwcmVjYXRlZCBzdHJ1Y3QgYGd0azQ6OkZpbGVDaG9vc2VyTmF0aXZlYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjI4MTozMlxuICAgIHxcbjI4MSB8ICAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4gICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXl5cbiAgICB8XG4gICAgPSBub3RlOiBgI1t3YXJuKGRlcHJlY2F0ZWQpXWAgb24gYnkgZGVmYXVsdFxuXG53YXJuaW5nOiB1c2Ugb2YgZGVwcmVjYXRlZCBzdHJ1Y3QgYGd0azQ6OkZpbGVDaG9vc2VyTmF0aXZlYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjM0NTozMlxuICAgIHxcbjM0NSB8ICAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4gICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXl5cblxud2FybmluZzogdXNlIG9mIGRlcHJlY2F0ZWQgYXNzb2NpYXRlZCBmdW5jdGlvbiBgZ3RrNDo6RmlsZUNob29zZXJOYXRpdmU6OmJ1aWxkZXJgOiBTaW5jZSA0LjEwXG4gICAtLT4gc3JjL21haW4ucnM6MjgxOjUxXG4gICAgfFxuMjgxIHwgICAgICAgICAgICAgbGV0IGNob29zZXIgPSBndGs6OkZpbGVDaG9vc2VyTmF0aXZlOjpidWlsZGVyKClcbiAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXlxuXG53YXJuaW5nOiB1c2Ugb2YgZGVwcmVjYXRlZCBtZXRob2QgYGd0azQ6OmJ1aWxkZXJzOjpGaWxlQ2hvb3Nlck5hdGl2ZUJ1aWxkZXI6OnRpdGxlYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjI4MjoxOFxuICAgIHxcbjI4MiB8ICAgICAgICAgICAgICAgICAudGl0bGUoXCJDaG9vc2UgSW5zdGFsbGF0aW9uIFNvdXJjZVwiKVxuICAgIHwgICAgICAgICAgICAgICAgICBeXl5eXlxuXG53YXJuaW5nOiB1c2Ugb2YgZGVwcmVjYXRlZCBtZXRob2QgYGd0azQ6OmJ1aWxkZXJzOjpGaWxlQ2hvb3Nlck5hdGl2ZUJ1aWxkZXI6OnRyYW5zaWVudF9mb3JgOiBTaW5jZSA0LjEwXG4gICAtLT4gc3JjL21haW4ucnM6MjgzOjE4XG4gICAgfFxuMjgzIHwgICAgICAgICAgICAgICAgIC50cmFuc2llbnRfZm9yKCZ3aW5kb3cpXG4gICAgfCAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5cblxud2FybmluZzogdXNlIG9mIGRlcHJlY2F0ZWQgbWV0aG9kIGBndGs0OjpidWlsZGVyczo6RmlsZUNob29zZXJOYXRpdmVCdWlsZGVyOjphY3Rpb25gOiBTaW5jZSA0LjEwXG4gICAtLT4gc3JjL21haW4ucnM6Mjg0OjE4XG4gICAgfFxuMjg0IHwgICAgICAgICAgICAgICAgIC5hY3Rpb24oZ3RrOjpGaWxlQ2hvb3NlckFjdGlvbjo6T3BlbilcbiAgICB8ICAgICAgICAgICAgICAgICAgXl5eXl5eXG5cbndhcm5pbmc6IHVzZSBvZiBkZXByZWNhdGVkIG1ldGhvZCBgZ3RrNDo6YnVpbGRlcnM6OkZpbGVDaG9vc2VyTmF0aXZlQnVpbGRlcjo6YWNjZXB0X2xhYmVsYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjI4NToxOFxuICAgIHxcbjI4NSB8ICAgICAgICAgICAgICAgICAuYWNjZXB0X2xhYmVsKFwiU2VsZWN0XCIpXG4gICAgfCAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXlxuXG53YXJuaW5nOiB1c2Ugb2YgZGVwcmVjYXRlZCBtZXRob2QgYGd0azQ6OmJ1aWxkZXJzOjpGaWxlQ2hvb3Nlck5hdGl2ZUJ1aWxkZXI6OmNhbmNlbF9sYWJlbGA6IFNpbmNlIDQuMTBcbiAgIC0tPiBzcmMvbWFpbi5yczoyODY6MThcbiAgICB8XG4yODYgfCAgICAgICAgICAgICAgICAgLmNhbmNlbF9sYWJlbChcIkNhbmNlbFwiKVxuICAgIHwgICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5cblxud2FybmluZzogdXNlIG9mIGRlcHJlY2F0ZWQgbWV0aG9kIGBndGs0OjpidWlsZGVyczo6RmlsZUNob29zZXJOYXRpdmVCdWlsZGVyOjpidWlsZGA6IFNpbmNlIDQuMTBcbiAgIC0tPiBzcmMvbWFpbi5yczoyODc6MThcbiAgICB8XG4yODcgfCAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG4gICAgfCAgICAgICAgICAgICAgICAgIF5eXl5eXG5cbndhcm5pbmc6IHVzZSBvZiBkZXByZWNhdGVkIG1ldGhvZCBgbGliYWR3YWl0YTo6cHJlbHVkZTo6RmlsZUNob29zZXJFeHQ6OmZpbGVgOiBTaW5jZSA0LjEwXG4gICAtLT4gc3JjL21haW4ucnM6Mjk1OjQ4XG4gICAgfFxuMjk1IHwgICAgICAgICAgICAgICAgICAgICAmJiBsZXQgU29tZShwYXRoKSA9IGRpYWxvZy5maWxlKCkuYW5kX3RoZW4ofGZ8IGYucGF0aCgpKVxuICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5eXG5cbndhcm5pbmc6IHVzZSBvZiBkZXByZWNhdGVkIGFzc29jaWF0ZWQgZnVuY3Rpb24gYGd0azQ6OkZpbGVDaG9vc2VyTmF0aXZlOjpidWlsZGVyYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjM0NTo1MVxuICAgIHxcbjM0NSB8ICAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4gICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5eXl5cblxud2FybmluZzogdXNlIG9mIGRlcHJlY2F0ZWQgbWV0aG9kIGBndGs0OjpidWlsZGVyczo6RmlsZUNob29zZXJOYXRpdmVCdWlsZGVyOjp0aXRsZWA6IFNpbmNlIDQuMTBcbiAgIC0tPiBzcmMvbWFpbi5yczozNDY6MThcbiAgICB8XG4zNDYgfCAgICAgICAgICAgICAgICAgLnRpdGxlKFwiQ3JlYXRlIERpc2sgSW1hZ2VcIilcbiAgICB8ICAgICAgICAgICAgICAgICAgXl5eXl5cblxud2FybmluZzogdXNlIG9mIGRlcHJlY2F0ZWQgbWV0aG9kIGBndGs0OjpidWlsZGVyczo6RmlsZUNob29zZXJOYXRpdmVCdWlsZGVyOjp0cmFuc2llbnRfZm9yYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjM0NzoxOFxuICAgIHxcbjM0NyB8ICAgICAgICAgICAgICAgICAudHJhbnNpZW50X2Zvcigmd2luZG93KVxuICAgIHwgICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5eXG5cbndhcm5pbmc6IHVzZSBvZiBkZXByZWNhdGVkIG1ldGhvZCBgZ3RrNDo6YnVpbGRlcnM6OkZpbGVDaG9vc2VyTmF0aXZlQnVpbGRlcjo6YWN0aW9uYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjM0ODoxOFxuICAgIHxcbjM0OCB8ICAgICAgICAgICAgICAgICAuYWN0aW9uKGd0azo6RmlsZUNob29zZXJBY3Rpb246OlNhdmUpXG4gICAgfCAgICAgICAgICAgICAgICAgIF5eXl5eXlxuXG53YXJuaW5nOiB1c2Ugb2YgZGVwcmVjYXRlZCBtZXRob2QgYGd0azQ6OmJ1aWxkZXJzOjpGaWxlQ2hvb3Nlck5hdGl2ZUJ1aWxkZXI6OmFjY2VwdF9sYWJlbGA6IFNpbmNlIDQuMTBcbiAgIC0tPiBzcmMvbWFpbi5yczozNDk6MThcbiAgICB8XG4zNDkgfCAgICAgICAgICAgICAgICAgLmFjY2VwdF9sYWJlbChcIlNlbGVjdFwiKVxuICAgIHwgICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5cblxud2FybmluZzogdXNlIG9mIGRlcHJlY2F0ZWQgbWV0aG9kIGBndGs0OjpidWlsZGVyczo6RmlsZUNob29zZXJOYXRpdmVCdWlsZGVyOjpjYW5jZWxfbGFiZWxgOiBTaW5jZSA0LjEwXG4gICAtLT4gc3JjL21haW4ucnM6MzUwOjE4XG4gICAgfFxuMzUwIHwgICAgICAgICAgICAgICAgIC5jYW5jZWxfbGFiZWwoXCJDYW5jZWxcIilcbiAgICB8ICAgICAgICAgICAgICAgICAgXl5eXl5eXl5eXl5eXG5cbndhcm5pbmc6IHVzZSBvZiBkZXByZWNhdGVkIG1ldGhvZCBgZ3RrNDo6YnVpbGRlcnM6OkZpbGVDaG9vc2VyTmF0aXZlQnVpbGRlcjo6YnVpbGRgOiBTaW5jZSA0LjEwXG4gICAtLT4gc3JjL21haW4ucnM6MzUxOjE4XG4gICAgfFxuMzUxIHwgICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuICAgIHwgICAgICAgICAgICAgICAgICBeXl5eXlxuXG53YXJuaW5nOiB1c2Ugb2YgZGVwcmVjYXRlZCBtZXRob2QgYGxpYmFkd2FpdGE6OnByZWx1ZGU6OkZpbGVDaG9vc2VyRXh0OjpzZXRfY3VycmVudF9uYW1lYDogU2luY2UgNC4xMFxuICAgLS0+IHNyYy9tYWluLnJzOjM1MjoyMVxuICAgIHxcbjM1MiB8ICAgICAgICAgICAgIGNob29zZXIuc2V0X2N1cnJlbnRfbmFtZShcImFsdC1saW51eC5pbWdcIik7XG4gICAgfCAgICAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5cblxud2FybmluZzogdXNlIG9mIGRlcHJlY2F0ZWQgbWV0aG9kIGBsaWJhZHdhaXRhOjpwcmVsdWRlOjpGaWxlQ2hvb3NlckV4dDo6ZmlsZWA6IFNpbmNlIDQuMTBcbiAgIC0tPiBzcmMvbWFpbi5yczozNjA6NDhcbiAgICB8XG4zNjAgfCAgICAgICAgICAgICAgICAgICAgICYmIGxldCBTb21lKHBhdGgpID0gZGlhbG9nLmZpbGUoKS5hbmRfdGhlbih8ZnwgZi5wYXRoKCkpXG4gICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5cblxud2FybmluZzogYGZsYXNoZXJgIChiaW4gXCJmbGFzaGVyXCIpIGdlbmVyYXRlZCAxOSB3YXJuaW5nc1xuICAgIEZpbmlzaGVkIGBkZXZgIHByb2ZpbGUgW3Vub3B0aW1pemVkICsgZGVidWdpbmZvXSB0YXJnZXQocykgaW4gMzkuMjFzXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg2OTY1NDd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIzNjU5N2JlNiIsInBhcmVudElkIjoiMGIwMDk3NjUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjExOjQxLjIzNVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqUGxhbm5pbmcgYXN5bmMgR1RLIDQuMTAgRmlsZURpYWxvZyB1c2FnZSoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0MWFkZGE0ODE5MWFkNzMzNTQwNThhYjlkMmZcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1RYkRnSTdFZTNkdUFRX2s1ODZPSUJVV29oZzFJVDU0dUc5SUVBSWRsZVpvcFVKOGxlNzZNdVFIdTRFemNRaG1LNVlRbGRuS2FzSzNqdnZKRUdCeGJRWjQ5bjFpM2puWFpsNFR1OG5KUXhTN3BWR3l6ejBzWmVhZlRHOWFURC1BVWhBRzRrMVYyS3FHMjliMVVjcjloR3ozbXNQT2I0ZFFpX3N4RWJDSXdNRDRkOEdnSXdWd2tFMW1SbzBrZEtlM0lDTV93Nm5xbkNjQ1RSQUYtUktyQzV3SFNUblM3X1BtNVJRbDNaY3BSRGs2UUNhM1hzeHplY1lfTTRzQjlEV0JGZEhpWE1FRkxMSUNvWHdUTHg1ZnN6YjZjSExlVHFsLXRlOUN6elpjWEIwZTNGY1VOck53Nl9rQW5WNUFXNko0VVMyUGhmM1lTVm5YaHVQaDJPWk5Gd2YwekE2cW8tWjI5ZjZWYUdFaE52c0JlMlVmWlVKVDFwOThJanloRG5sMXBQRkozR1YySUw1N2VrLVlWNTF2T21XanotOHdkeGpUX3FpZnRRRU1xWWMzWjBwRk9sazA0TFg1UEJhTVFSX2FDeGtRa3cwRjROR1cwYkV4YmNHQ3ZkQ3lNSENBRjRoV2t4SlpBd29FbURFWEpoVkxqa3RGSnJTY3EwaEtUYTF4Tm8yb0YtRUljNHQ5a0QyM1h1dXk4UEsyTlRaRHBTQmhGUVU2clQtXzN3ekRCZExHWGhUblpFMUtxMlpKNDlCYThlNGtENFdKRjNObFBpN045d1RFYVBVcWN4by1LcnJCd0ItUk5aRHVqRmt3bHBHaTQ1X3NmYWFVbFhjcC1neHBHd2lxNU9PbVpPSTk2R005RGxPUWtqa3BCMW9ZMk1MWC0zMXpYNTN6SVQ3TlEyMmY2eThWREZCWmlILXJuZVR1MnBhaldWNUxLY1B5a2t0OFFYVVNKdEVCVXhMX25GSTl2bnJOa01RdDdNUWNLTm1Uai1NSUpiTnpsOElpcFd6UU9jRWVwb0R1dFNWUlhEWk5HUlltZXFtX2tNOEJHQ1E5M1lqSDhRV0FxdUVJT1k0TGxUVXJ3V2Mzb0ZqZGM4RmdzTnRyOElpMlhaZmZUZDEyWFlXcU1PcC1WbktCdkc0N2dNaUdCNE85dl9IOHhxdE1tS3hjQnFUWUZyR2o0YXVBWW1fYUxGOEFNZFY5cEdQdDRqQmkxQ1B6VWpSNTBaN2dGQklaZzdESHF3NEdtUjRSMTFTZ01DSkUzMHBVZXhlTHo3Wnk2bWY5SFR5Nm1pMjFQR1NGRkVmZG5BYkRWREd6NGs0RHpGTFVGb3FkQVNfWjJHX3FvMWVRS3BpM0ktMXIwUEt2VHplZ1NtcjRTOGx5U1lHaWlXSC1HcXZaSnM4X0NzZFVjbkhnR2ZaZGlrPVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqUGxhbm5pbmcgYXN5bmMgR1RLIDQuMTAgRmlsZURpYWxvZyB1c2FnZSoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9aQkQyUnZJSWZxWWxDTG1KZlRjbkoyS1d8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0MWJiNzIwODE5MTkwY2Y3Y2U5YjQxYjYxZGMiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9ndGs0LTAuMTAuMy9zcmMvYXV0by9maWxlX2RpYWxvZy5ycyIsImxpbWl0IjoxODB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MjY0NSwib3V0cHV0Ijo5NSwiY2FjaGVSZWFkIjoyOTE4NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyOSwidG90YWxUb2tlbnMiOjMxOTI0LCJjb3N0Ijp7ImlucHV0IjowLjAxMzIyNSwib3V0cHV0IjowLjAwMjg1LCJjYWNoZVJlYWQiOjAuMDE0NTkxOTk5OTk5OTk5OTk5LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMzA2Njd9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODg2OTY1NDgsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDE4ZjJiMDgxOTFiODVlZjA5MmE5ZmFlZDliIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImNkMTQ3OTY4IiwicGFyZW50SWQiOiIzNjU5N2JlNiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTE6NDEuMjM3WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9aQkQyUnZJSWZxWWxDTG1KZlRjbkoyS1d8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0MWJiNzIwODE5MTkwY2Y3Y2U5YjQxYjYxZGMiLCJ0b29sTmFtZSI6InJlYWQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIvLyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBnaXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9ndGstcnMvZ2lyKVxuLy8gZnJvbSBnaXItZmlsZXMgKGh0dHBzOi8vZ2l0aHViLmNvbS9ndGstcnMvZ2lyLWZpbGVzKVxuLy8gRE8gTk9UIEVESVRcblxudXNlIGNyYXRlOjp7ZmZpLCBGaWxlRmlsdGVyLCBXaW5kb3d9O1xudXNlIGdsaWI6OntcbiAgICBwcmVsdWRlOjoqLFxuICAgIHNpZ25hbDo6e2Nvbm5lY3RfcmF3LCBTaWduYWxIYW5kbGVySWR9LFxuICAgIHRyYW5zbGF0ZTo6Kixcbn07XG51c2Ugc3RkOjp7Ym94ZWQ6OkJveCBhcyBCb3hfLCBwaW46OlBpbn07XG5cbmdsaWI6OndyYXBwZXIhIHtcbiAgICAjW2RvYyhhbGlhcyA9IFwiR3RrRmlsZURpYWxvZ1wiKV1cbiAgICBwdWIgc3RydWN0IEZpbGVEaWFsb2coT2JqZWN0PGZmaTo6R3RrRmlsZURpYWxvZywgZmZpOjpHdGtGaWxlRGlhbG9nQ2xhc3M+KTtcblxuICAgIG1hdGNoIGZuIHtcbiAgICAgICAgdHlwZV8gPT4gfHwgZmZpOjpndGtfZmlsZV9kaWFsb2dfZ2V0X3R5cGUoKSxcbiAgICB9XG59XG5cbmltcGwgRmlsZURpYWxvZyB7XG4gICAgI1tkb2MoYWxpYXMgPSBcImd0a19maWxlX2RpYWxvZ19uZXdcIildXG4gICAgcHViIGZuIG5ldygpIC0+IEZpbGVEaWFsb2cge1xuICAgICAgICBhc3NlcnRfaW5pdGlhbGl6ZWRfbWFpbl90aHJlYWQhKCk7XG4gICAgICAgIHVuc2FmZSB7IGZyb21fZ2xpYl9mdWxsKGZmaTo6Z3RrX2ZpbGVfZGlhbG9nX25ldygpKSB9XG4gICAgfVxuXG4gICAgLy8gcnVzdGRvYy1zdHJpcHBlci1pZ25vcmUtbmV4dFxuICAgIC8vLyBDcmVhdGVzIGEgbmV3IGJ1aWxkZXItcGF0dGVybiBzdHJ1Y3QgaW5zdGFuY2UgdG8gY29uc3RydWN0IFtgRmlsZURpYWxvZ2BdIG9iamVjdHMuXG4gICAgLy8vXG4gICAgLy8vIFRoaXMgbWV0aG9kIHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgW2BGaWxlRGlhbG9nQnVpbGRlcmBdKGNyYXRlOjpidWlsZGVyczo6RmlsZURpYWxvZ0J1aWxkZXIpIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBbYEZpbGVEaWFsb2dgXSBvYmplY3RzLlxuICAgIHB1YiBmbiBidWlsZGVyKCkgLT4gRmlsZURpYWxvZ0J1aWxkZXIge1xuICAgICAgICBGaWxlRGlhbG9nQnVpbGRlcjo6bmV3KClcbiAgICB9XG5cbiAgICAjW2RvYyhhbGlhcyA9IFwiZ3RrX2ZpbGVfZGlhbG9nX2dldF9hY2NlcHRfbGFiZWxcIildXG4gICAgI1tkb2MoYWxpYXMgPSBcImdldF9hY2NlcHRfbGFiZWxcIildXG4gICAgI1tkb2MoYWxpYXMgPSBcImFjY2VwdC1sYWJlbFwiKV1cbiAgICBwdWIgZm4gYWNjZXB0X2xhYmVsKCZzZWxmKSAtPiBPcHRpb248Z2xpYjo6R1N0cmluZz4ge1xuICAgICAgICB1bnNhZmUgeyBmcm9tX2dsaWJfbm9uZShmZmk6Omd0a19maWxlX2RpYWxvZ19nZXRfYWNjZXB0X2xhYmVsKHNlbGYudG9fZ2xpYl9ub25lKCkuMCkpIH1cbiAgICB9XG5cbiAgICAjW2RvYyhhbGlhcyA9IFwiZ3RrX2ZpbGVfZGlhbG9nX2dldF9kZWZhdWx0X2ZpbHRlclwiKV1cbiAgICAjW2RvYyhhbGlhcyA9IFwiZ2V0X2RlZmF1bHRfZmlsdGVyXCIpXVxuICAgICNbZG9jKGFsaWFzID0gXCJkZWZhdWx0LWZpbHRlclwiKV1cbiAgICBwdWIgZm4gZGVmYXVsdF9maWx0ZXIoJnNlbGYpIC0+IE9wdGlvbjxGaWxlRmlsdGVyPiB7XG4gICAgICAgIHVuc2FmZSB7XG4gICAgICAgICAgICBmcm9tX2dsaWJfbm9uZShmZmk6Omd0a19maWxlX2RpYWxvZ19nZXRfZGVmYXVsdF9maWx0ZXIoXG4gICAgICAgICAgICAgICAgc2VsZi50b19nbGliX25vbmUoKS4wLFxuICAgICAgICAgICAgKSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNbZG9jKGFsaWFzID0gXCJndGtfZmlsZV9kaWFsb2dfZ2V0X2ZpbHRlcnNcIildXG4gICAgI1tkb2MoYWxpYXMgPSBcImdldF9maWx0ZXJzXCIpXVxuICAgIHB1YiBmbiBmaWx0ZXJzKCZzZWxmKSAtPiBPcHRpb248Z2lvOjpMaXN0TW9kZWw+IHtcbiAgICAgICAgdW5zYWZlIHsgZnJvbV9nbGliX25vbmUoZmZpOjpndGtfZmlsZV9kaWFsb2dfZ2V0X2ZpbHRlcnMoc2VsZi50b19nbGliX25vbmUoKS4wKSkgfVxuICAgIH1cblxuICAgICNbZG9jKGFsaWFzID0gXCJndGtfZmlsZV9kaWFsb2dfZ2V0X2luaXRpYWxfZmlsZVwiKV1cbiAgICAjW2RvYyhhbGlhcyA9IFwiZ2V0X2luaXRpYWxfZmlsZVwiKV1cbiAgICAjW2RvYyhhbGlhcyA9IFwiaW5pdGlhbC1maWxlXCIpXVxuICAgIHB1YiBmbiBpbml0aWFsX2ZpbGUoJnNlbGYpIC0+IE9wdGlvbjxnaW86OkZpbGU+IHtcbiAgICAgICAgdW5zYWZlIHsgZnJvbV9nbGliX25vbmUoZmZpOjpndGtfZmlsZV9kaWFsb2dfZ2V0X2luaXRpYWxfZmlsZShzZWxmLnRvX2dsaWJfbm9uZSgpLjApKSB9XG4gICAgfVxuXG4gICAgI1tkb2MoYWxpYXMgPSBcImd0a19maWxlX2RpYWxvZ19nZXRfaW5pdGlhbF9mb2xkZXJcIildXG4gICAgI1tkb2MoYWxpYXMgPSBcImdldF9pbml0aWFsX2ZvbGRlclwiKV1cbiAgICAjW2RvYyhhbGlhcyA9IFwiaW5pdGlhbC1mb2xkZXJcIildXG4gICAgcHViIGZuIGluaXRpYWxfZm9sZGVyKCZzZWxmKSAtPiBPcHRpb248Z2lvOjpGaWxlPiB7XG4gICAgICAgIHVuc2FmZSB7XG4gICAgICAgICAgICBmcm9tX2dsaWJfbm9uZShmZmk6Omd0a19maWxlX2RpYWxvZ19nZXRfaW5pdGlhbF9mb2xkZXIoXG4gICAgICAgICAgICAgICAgc2VsZi50b19nbGliX25vbmUoKS4wLFxuICAgICAgICAgICAgKSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNbZG9jKGFsaWFzID0gXCJndGtfZmlsZV9kaWFsb2dfZ2V0X2luaXRpYWxfbmFtZVwiKV1cbiAgICAjW2RvYyhhbGlhcyA9IFwiZ2V0X2luaXRpYWxfbmFtZVwiKV1cbiAgICAjW2RvYyhhbGlhcyA9IFwiaW5pdGlhbC1uYW1lXCIpXVxuICAgIHB1YiBmbiBpbml0aWFsX25hbWUoJnNlbGYpIC0+IE9wdGlvbjxnbGliOjpHU3RyaW5nPiB7XG4gICAgICAgIHVuc2FmZSB7IGZyb21fZ2xpYl9ub25lKGZmaTo6Z3RrX2ZpbGVfZGlhbG9nX2dldF9pbml0aWFsX25hbWUoc2VsZi50b19nbGliX25vbmUoKS4wKSkgfVxuICAgIH1cblxuICAgICNbZG9jKGFsaWFzID0gXCJndGtfZmlsZV9kaWFsb2dfZ2V0X21vZGFsXCIpXVxuICAgICNbZG9jKGFsaWFzID0gXCJnZXRfbW9kYWxcIildXG4gICAgI1tkb2MoYWxpYXMgPSBcIm1vZGFsXCIpXVxuICAgIHB1YiBmbiBpc19tb2RhbCgmc2VsZikgLT4gYm9vbCB7XG4gICAgICAgIHVuc2FmZSB7IGZyb21fZ2xpYihmZmk6Omd0a19maWxlX2RpYWxvZ19nZXRfbW9kYWwoc2VsZi50b19nbGliX25vbmUoKS4wKSkgfVxuICAgIH1cblxuICAgICNbZG9jKGFsaWFzID0gXCJndGtfZmlsZV9kaWFsb2dfZ2V0X3RpdGxlXCIpXVxuICAgICNbZG9jKGFsaWFzID0gXCJnZXRfdGl0bGVcIildXG4gICAgcHViIGZuIHRpdGxlKCZzZWxmKSAtPiBnbGliOjpHU3RyaW5nIHtcbiAgICAgICAgdW5zYWZlIHsgZnJvbV9nbGliX25vbmUoZmZpOjpndGtfZmlsZV9kaWFsb2dfZ2V0X3RpdGxlKHNlbGYudG9fZ2xpYl9ub25lKCkuMCkpIH1cbiAgICB9XG5cbiAgICAjW2RvYyhhbGlhcyA9IFwiZ3RrX2ZpbGVfZGlhbG9nX29wZW5cIildXG4gICAgcHViIGZuIG9wZW48UDogRm5PbmNlKFJlc3VsdDxnaW86OkZpbGUsIGdsaWI6OkVycm9yPikgKyAnc3RhdGljPihcbiAgICAgICAgJnNlbGYsXG4gICAgICAgIHBhcmVudDogT3B0aW9uPCZpbXBsIElzQTxXaW5kb3c+PixcbiAgICAgICAgY2FuY2VsbGFibGU6IE9wdGlvbjwmaW1wbCBJc0E8Z2lvOjpDYW5jZWxsYWJsZT4+LFxuICAgICAgICBjYWxsYmFjazogUCxcbiAgICApIHtcbiAgICAgICAgbGV0IG1haW5fY29udGV4dCA9IGdsaWI6Ok1haW5Db250ZXh0OjpyZWZfdGhyZWFkX2RlZmF1bHQoKTtcbiAgICAgICAgbGV0IGlzX21haW5fY29udGV4dF9vd25lciA9IG1haW5fY29udGV4dC5pc19vd25lcigpO1xuICAgICAgICBsZXQgaGFzX2FjcXVpcmVkX21haW5fY29udGV4dCA9ICghaXNfbWFpbl9jb250ZXh0X293bmVyKVxuICAgICAgICAgICAgLnRoZW4ofHwgbWFpbl9jb250ZXh0LmFjcXVpcmUoKS5vaygpKVxuICAgICAgICAgICAgLmZsYXR0ZW4oKTtcbiAgICAgICAgYXNzZXJ0IShcbiAgICAgICAgICAgIGlzX21haW5fY29udGV4dF9vd25lciB8fCBoYXNfYWNxdWlyZWRfbWFpbl9jb250ZXh0LmlzX3NvbWUoKSxcbiAgICAgICAgICAgIFwiQXN5bmMgb3BlcmF0aW9ucyBvbmx5IGFsbG93ZWQgaWYgdGhlIHRocmVhZCBpcyBvd25pbmcgdGhlIE1haW5Db250ZXh0XCJcbiAgICAgICAgKTtcblxuICAgICAgICBsZXQgdXNlcl9kYXRhOiBCb3hfPGdsaWI6OnRocmVhZF9ndWFyZDo6VGhyZWFkR3VhcmQ8UD4+ID1cbiAgICAgICAgICAgIEJveF86Om5ldyhnbGliOjp0aHJlYWRfZ3VhcmQ6OlRocmVhZEd1YXJkOjpuZXcoY2FsbGJhY2spKTtcbiAgICAgICAgdW5zYWZlIGV4dGVybiBcIkNcIiBmbiBvcGVuX3RyYW1wb2xpbmU8XG4gICAgICAgICAgICBQOiBGbk9uY2UoUmVzdWx0PGdpbzo6RmlsZSwgZ2xpYjo6RXJyb3I+KSArICdzdGF0aWMsXG4gICAgICAgID4oXG4gICAgICAgICAgICBfc291cmNlX29iamVjdDogKm11dCBnbGliOjpnb2JqZWN0X2ZmaTo6R09iamVjdCxcbiAgICAgICAgICAgIHJlczogKm11dCBnaW86OmZmaTo6R0FzeW5jUmVzdWx0LFxuICAgICAgICAgICAgdXNlcl9kYXRhOiBnbGliOjpmZmk6Omdwb2ludGVyLFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGxldCBtdXQgZXJyb3IgPSBzdGQ6OnB0cjo6bnVsbF9tdXQoKTtcbiAgICAgICAgICAgIGxldCByZXQgPSBmZmk6Omd0a19maWxlX2RpYWxvZ19vcGVuX2ZpbmlzaChfc291cmNlX29iamVjdCBhcyAqbXV0IF8sIHJlcywgJm11dCBlcnJvcik7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gaWYgZXJyb3IuaXNfbnVsbCgpIHtcbiAgICAgICAgICAgICAgICBPayhmcm9tX2dsaWJfZnVsbChyZXQpKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBFcnIoZnJvbV9nbGliX2Z1bGwoZXJyb3IpKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGxldCBjYWxsYmFjazogQm94XzxnbGliOjp0aHJlYWRfZ3VhcmQ6OlRocmVhZEd1YXJkPFA+PiA9XG4gICAgICAgICAgICAgICAgQm94Xzo6ZnJvbV9yYXcodXNlcl9kYXRhIGFzICptdXQgXyk7XG4gICAgICAgICAgICBsZXQgY2FsbGJhY2s6IFAgPSBjYWxsYmFjay5pbnRvX2lubmVyKCk7XG4gICAgICAgICAgICBjYWxsYmFjayhyZXN1bHQpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjYWxsYmFjayA9IG9wZW5fdHJhbXBvbGluZTo6PFA+O1xuICAgICAgICB1bnNhZmUge1xuICAgICAgICAgICAgZmZpOjpndGtfZmlsZV9kaWFsb2dfb3BlbihcbiAgICAgICAgICAgICAgICBzZWxmLnRvX2dsaWJfbm9uZSgpLjAsXG4gICAgICAgICAgICAgICAgcGFyZW50Lm1hcCh8cHwgcC5hc19yZWYoKSkudG9fZ2xpYl9ub25lKCkuMCxcbiAgICAgICAgICAgICAgICBjYW5jZWxsYWJsZS5tYXAofHB8IHAuYXNfcmVmKCkpLnRvX2dsaWJfbm9uZSgpLjAsXG4gICAgICAgICAgICAgICAgU29tZShjYWxsYmFjayksXG4gICAgICAgICAgICAgICAgQm94Xzo6aW50b19yYXcodXNlcl9kYXRhKSBhcyAqbXV0IF8sXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHViIGZuIG9wZW5fZnV0dXJlKFxuICAgICAgICAmc2VsZixcbiAgICAgICAgcGFyZW50OiBPcHRpb248JihpbXBsIElzQTxXaW5kb3c+ICsgQ2xvbmUgKyAnc3RhdGljKT4sXG4gICAgKSAtPiBQaW48Qm94XzxkeW4gc3RkOjpmdXR1cmU6OkZ1dHVyZTxPdXRwdXQgPSBSZXN1bHQ8Z2lvOjpGaWxlLCBnbGliOjpFcnJvcj4+ICsgJ3N0YXRpYz4+IHtcbiAgICAgICAgbGV0IHBhcmVudCA9IHBhcmVudC5tYXAoVG9Pd25lZDo6dG9fb3duZWQpO1xuICAgICAgICBCb3hfOjpwaW4oZ2lvOjpHaW9GdXR1cmU6Om5ldyhzZWxmLCBtb3ZlIHxvYmosIGNhbmNlbGxhYmxlLCBzZW5kfCB7XG4gICAgICAgICAgICBvYmoub3BlbihcbiAgICAgICAgICAgICAgICBwYXJlbnQuYXNfcmVmKCkubWFwKDo6c3RkOjpib3Jyb3c6OkJvcnJvdzo6Ym9ycm93KSxcbiAgICAgICAgICAgICAgICBTb21lKGNhbmNlbGxhYmxlKSxcbiAgICAgICAgICAgICAgICBtb3ZlIHxyZXN8IHtcbiAgICAgICAgICAgICAgICAgICAgc2VuZC5yZXNvbHZlKHJlcyk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pKVxuICAgIH1cblxuICAgICNbZG9jKGFsaWFzID0gXCJndGtfZmlsZV9kaWFsb2dfb3Blbl9tdWx0aXBsZVwiKV1cbiAgICBwdWIgZm4gb3Blbl9tdWx0aXBsZTxQOiBGbk9uY2UoUmVzdWx0PGdpbzo6TGlzdE1vZGVsLCBnbGliOjpFcnJvcj4pICsgJ3N0YXRpYz4oXG4gICAgICAgICZzZWxmLFxuICAgICAgICBwYXJlbnQ6IE9wdGlvbjwmaW1wbCBJc0E8V2luZG93Pj4sXG4gICAgICAgIGNhbmNlbGxhYmxlOiBPcHRpb248JmltcGwgSXNBPGdpbzo6Q2FuY2VsbGFibGU+PixcbiAgICAgICAgY2FsbGJhY2s6IFAsXG4gICAgKSB7XG4gICAgICAgIGxldCBtYWluX2NvbnRleHQgPSBnbGliOjpNYWluQ29udGV4dDo6cmVmX3RocmVhZF9kZWZhdWx0KCk7XG4gICAgICAgIGxldCBpc19tYWluX2NvbnRleHRfb3duZXIgPSBtYWluX2NvbnRleHQuaXNfb3duZXIoKTtcbiAgICAgICAgbGV0IGhhc19hY3F1aXJlZF9tYWluX2NvbnRleHQgPSAoIWlzX21haW5fY29udGV4dF9vd25lcilcbiAgICAgICAgICAgIC50aGVuKHx8IG1haW5fY29udGV4dC5hY3F1aXJlKCkub2soKSlcbiAgICAgICAgICAgIC5mbGF0dGVuKCk7XG4gICAgICAgIGFzc2VydCEoXG4gICAgICAgICAgICBpc19tYWluX2NvbnRleHRfb3duZXIgfHwgaGFzX2FjcXVpcmVkX21haW5fY29udGV4dC5pc19zb21lKCksXG4gICAgICAgICAgICBcIkFzeW5jIG9wZXJhdGlvbnMgb25seSBhbGxvd2VkIGlmIHRoZSB0aHJlYWQgaXMgb3duaW5nIHRoZSBNYWluQ29udGV4dFwiXG4gICAgICAgICk7XG5cbls4OTYgbW9yZSBsaW5lcyBpbiBmaWxlLiBVc2Ugb2Zmc2V0PTE4MSB0byBjb250aW51ZS5dIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NzAxMjM3fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYTk3OTA2N2MiLCJwYXJlbnRJZCI6ImNkMTQ3OTY4IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMTo0NS4yNzJaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlNhdmluZyBkaWdpdGFsIHNpZ25hdHVyZXMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDFmOWZkMDgxOTFiYThkMGVjOGYwMDczY2VlXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNUWdYVDZtRVQyc1NzeXZOQThQNWg4TUxpc1lJZTJnT3NDaEJ3RVVpUVFRUUJ6Y0FhaFRLeU5qWjZEOVB6ajlwc1E2N1RfVkU5OWVoWWkxSVJtZzRhRmJxZk5fZEppMHE1Y0daUkQ2LXVQdnZCWTVITEdtWWRieS1lRlo0MVpLdFhQS3QzOG9zUkh4SHZZZC15VzJEeGs1WWd3cThFZXdwVHZHSFpTZmx2aUpTNXUxT3A5M0NDX3JjeEpILS1neHdwVXFaWHlXdi1DRDEyZHhlMDNPSDNtQTBBdHpuVkl6d0JOVENpUndsdUdHYzFlcnFSMUF3SWdoMXVtUmxYVnl2ZXl0T01LMVBKMTJtX2pEdXdIc3hyY0NGWUhrblItUUVPYmJkVkRzQjE2bTlRb1dHLW5HNHhVdXZnRUR0QmZISjRqQnJCTWFYNG94RUZRS2tVbTRXNTBOa0cybVhFUkZ6X1pacWE4WGI5aDBfVV9pb2JNM0xBdTZ4aHJCVFJvaG9YdkxOSnI2cWFZM2lRdHNBbTNOTHBiTzFLcUNRVzl5VnVkSW0yTWJ5YVlhdDhVTXlxTk9DUURWNE9Qd3V0ZmtGSlVwZzNHMkMtOXc0dmRzb25oaGRFN0d3ckdyRjA4UG9fRFNVUnJBNVJKQ0tURHd4am5tLU5WVVY0UTRKWXRkTFRlY3BMWDZ0S1RuZjZvQ1hyYUFpMWp2NzBQRXBQU2hNX2tDanhwMl9qbWVlbU5sV3BtQXRjazlNZ00wVmdZdGw2NV9TOHBQTk5nMkQxOG92SVRIMjlBRkdFTy1JSHE3REpETEliRVhteHhpOFNORVd3cnJDLUdmOHFqaHpDbUg0WEVZZVVWWHVzTUo4YXM3MWRVQmZIM2NnTmNWMDItamUzVkRyZVZPdGRNYWFWUEJMY3E3dHJ6c21tM3Vyb1hsOE1kWlF2UjRLMlcxWTkxOGpWRFc0LUE4MzMyVTdkbWhuUFdGMDE2anpQLUhQMVYyVUFvcDQzVU1CenQyVHlDamlYVTd1OVJtSmhTR2Z2c3MySVZkOG56WDE0SUJib3JNVkFoSFdZbGlJaXZHekhMVnBWbG1acDlXMk45bER1cmNncXZLbzB3V19CclNJOEp2dTBZbzdUY1lIMnVhcWphdHlreGU4UC1MR0VCaFdwa3BhTUhSLXpiaDlaNE03eXNUQWQtRjRDQ180QXpYN0Njb0ZyaGVnMjJLbGFuRldIczFyTXNMcVRFZmpPTkNjSmVic2hQdjliRDEwbEFualJwTm1MT19cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlNhdmluZyBkaWdpdGFsIHNpZ25hdHVyZXMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfMDQ0R3k0UExnczVmdkljd29hZkZ0Y0M3fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDIwNDIwYzgxOTFiOGI4YTg4NDAwZGM2MGM3IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJnIC1uICdwdWIgZm4gc2F2ZXxwdWIgZm4gaW5pdGlhbF9uYW1lfHB1YiBmbiBhY2NlcHRfbGFiZWx8cHViIGZuIHRpdGxlJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9ndGs0LTAuMTAuMy9zcmMvYXV0by9maWxlX2RpYWxvZy5ycyB8IHRhaWwgLTIwIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyMzQ0LCJvdXRwdXQiOjc2LCJjYWNoZVJlYWQiOjMxMjMyLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjcsInRvdGFsVG9rZW5zIjozMzY1MiwiY29zdCI6eyJpbnB1dCI6MC4wMTE3MjAwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDIyOCwiY2FjaGVSZWFkIjowLjAxNTYxNiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDI5NjE2MDAwMDAwMDAwMDAzfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg4NzAxMjM4LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQxZDkxYTQ4MTkxYWU0MTQxMzNhODhjNDUyYiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIzODE3MDljNCIsInBhcmVudElkIjoiYTk3OTA2N2MiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjExOjQ1LjI3OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfMDQ0R3k0UExnczVmdkljd29hZkZ0Y0M3fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDIwNDIwYzgxOTFiOGI4YTg4NDAwZGM2MGM3IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiNDA6ICAgIHB1YiBmbiBhY2NlcHRfbGFiZWwoJnNlbGYpIC0+IE9wdGlvbjxnbGliOjpHU3RyaW5nPiB7XG44MjogICAgcHViIGZuIGluaXRpYWxfbmFtZSgmc2VsZikgLT4gT3B0aW9uPGdsaWI6OkdTdHJpbmc+IHtcbjk1OiAgICBwdWIgZm4gdGl0bGUoJnNlbGYpIC0+IGdsaWI6OkdTdHJpbmcge1xuNDAxOiAgICBwdWIgZm4gc2F2ZTxQOiBGbk9uY2UoUmVzdWx0PGdpbzo6RmlsZSwgZ2xpYjo6RXJyb3I+KSArICdzdGF0aWM+KFxuNDUwOiAgICBwdWIgZm4gc2F2ZV9mdXR1cmUoXG40Njk6ICAgIHB1YiBmbiBzYXZlX3RleHRfZmlsZTxcbjUzNDogICAgcHViIGZuIHNhdmVfdGV4dF9maWxlX2Z1dHVyZShcbjEwMDA6ICAgIHB1YiBmbiBhY2NlcHRfbGFiZWwoc2VsZiwgYWNjZXB0X2xhYmVsOiBpbXBsIEludG88Z2xpYjo6R1N0cmluZz4pIC0+IFNlbGYge1xuMTA0NjogICAgcHViIGZuIGluaXRpYWxfbmFtZShzZWxmLCBpbml0aWFsX25hbWU6IGltcGwgSW50bzxnbGliOjpHU3RyaW5nPikgLT4gU2VsZiB7XG4xMDYyOiAgICBwdWIgZm4gdGl0bGUoc2VsZiwgdGl0bGU6IGltcGwgSW50bzxnbGliOjpHU3RyaW5nPikgLT4gU2VsZiB7XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg3MDUyNzh9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI5ZWQ1MDZjNCIsInBhcmVudElkIjoiMzgxNzA5YzQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEyOjA1LjAxOVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqUmVwbGFjaW5nIGNodW5rcyBhbmQgcmVmaW5pbmcgZmlsdGVyaW5nKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQyMjlmZjA4MTkxOTg5YjhjMTI4NDAxYTBjOFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTVFrXzhqbk5fR3lkWGZQbVMzbnh0UDFhOEpGNDk3aTV5VjZLX2ZhcE5YbHhmSUZiT0wtSGxkb1Rqb1UwVmtLVTNIekxESmMybmpTQlZkWEFjYUJDM3hodkJ5QkV5Ykl6M3Q4WDZtVTJGaVpLa25CcFJ3ODFQRWJRaFBRdk9oZlZhOGppV3FlWVFaU0JBRE1jVWJFaUs1am02TXFXM0NOSDBvOHdhMzRsb1hUQ1ZsRnQtcV96V0ctYUpvb2pkWlRkVmFaWXRxdGlzeVhaNVVXMk40WXdpdE9nVEtOaFI0LWYwWnVsZnhmOTRUOWxnbWpodDJYa2tPOXFwSVVxVi1IcmE4VUdlVkxQRkZlcWREdkdGcWtlSzgtdlQyV2kyVjcxd0pKN21GLVlhYnhwVlVBdkphMzFNY0o5Qk8ySDB5RFN1a05xSFpBMUgtd1h6MG40d0FWdmVLbl9DaWx3Z2dDNUJEN3Zja3o1cEtaS3E0QWlCUVBhVEpkV0tFV1VFSWVUeUlGTDNiVGpJcEV3MV9VTGVzS3IzX0p5dFcwQVZLODVpek10aHBlbDNnQXUwZll0VUY0SEhtRnYxbE8zbk1hOVVsdDlFYi15WkQ5TkF2X3NtamUxWDJpMkNIcnNkY0J1dEZ6Z3c1UEFobHlmTDdDWjFNSktzOF9ZS2F6V0Ric2hLTGlpTUhtaEpIZ1Utc3lmdE9zMTdLXzZkdUllQjdWOE5YRFFVaGo3YTlvQjhnVzExd25Vekl4elNQSmtjZjFoRDVmR0xkS2FQR0xrTmNMN05EUUxKU1BrUFhaY1ppWm12YUdENjdkcXZKdjg0MDR3dlBUV0Y3VUZjYU9DN2lOOTRzVlV5SzdtOG50SmtmNjVSVWxTN1lJUXRuazVEd242clVSbE5LZnZFcG5FRXFCOFJ0RWF2Q0NZWll0UFF2XzZjWlhFVEt5ZGFuaW1mb1JLdEF4OXo1RHhaa0hRS2RvYjVEWS15VFYxSUdUOGlCa0hjZjZDLVZSZHE0Zk1jeWktR2NEVi14RXllNkF3YzIzVmkxT3NBbFh5MzNGdmswS1p6SlJ6X21fQ2FMSFhvN1lkQm1xcTJtRTNPcHNkZzl4TWJ5N3hxaHVxU3RxWUl6TU9IRDhjTnpYY2dlWEltWU1tLVIyRVpQaUxzYXFFeXFleUZNMGl0M2J1YVkyaHVlSEJPaU8xQ3R1M1Z2c3B6SzlsVjZNcE5XSzlGb25HbVpteTJLZlM5VWgwTC03bTVST1NkbmVsX2h2djNJaExicXVtNU5wZWpUZ1dyNkxucUFDbHNkM0VVdGxsdVBsNWpmNnVEc2JWekNIemZiNjNSaW54a1FjejA1M202LWk1ZlhJQW0tS3d2TTR1aDV6MGozc3g4SDNOd2RiWXFKMF9CbFNOS2VrLW1ERFF1cEhIZlU9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipSZXBsYWNpbmcgY2h1bmtzIGFuZCByZWZpbmluZyBmaWx0ZXJpbmcqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfS2pTZTBpbjBwbFdNY1VLY1Z6WXpTeVEwfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDI0MDI2NDgxOTFiMjU5NzI2YjU5NzIzMWQ4IiwibmFtZSI6ImVkaXQiLCJhcmd1bWVudHMiOnsicGF0aCI6InNyYy9tYWluLnJzIiwiZWRpdHMiOlt7Im9sZFRleHQiOiIgICAgICAgICAgICBsZXQgY2hvb3NlciA9IGd0azo6RmlsZUNob29zZXJOYXRpdmU6OmJ1aWxkZXIoKVxuICAgICAgICAgICAgICAgIC50aXRsZShcIkNob29zZSBJbnN0YWxsYXRpb24gU291cmNlXCIpXG4gICAgICAgICAgICAgICAgLnRyYW5zaWVudF9mb3IoJndpbmRvdylcbiAgICAgICAgICAgICAgICAuYWN0aW9uKGd0azo6RmlsZUNob29zZXJBY3Rpb246Ok9wZW4pXG4gICAgICAgICAgICAgICAgLmFjY2VwdF9sYWJlbChcIlNlbGVjdFwiKVxuICAgICAgICAgICAgICAgIC5jYW5jZWxfbGFiZWwoXCJDYW5jZWxcIilcbiAgICAgICAgICAgICAgICAuYnVpbGQoKTtcbiAgICAgICAgICAgIGxldCByb3cgPSByb3cuY2xvbmUoKTtcbiAgICAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgZHJpdmVfcm93ID0gZHJpdmVfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgc3RhcnRfYnV0dG9uID0gc3RhcnRfYnV0dG9uLmNsb25lKCk7XG4gICAgICAgICAgICBjaG9vc2VyLmNvbm5lY3RfcmVzcG9uc2UobW92ZSB8ZGlhbG9nLCByZXNwb25zZXwge1xuICAgICAgICAgICAgICAgIGlmIHJlc3BvbnNlID09IGd0azo6UmVzcG9uc2VUeXBlOjpBY2NlcHRcbiAgICAgICAgICAgICAgICAgICAgJiYgbGV0IFNvbWUocGF0aCkgPSBkaWFsb2cuZmlsZSgpLmFuZF90aGVuKHxmfCBmLnBhdGgoKSlcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJvdy5zZXRfdGl0bGUoJmRpc3BsYXlfbmFtZSgmcGF0aCkpO1xuICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBhdGgucGFyZW50KCkuYW5kX3RoZW4oUGF0aDo6dG9fc3RyKS51bndyYXBfb3IoXCJcIikpO1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkuc291cmNlID0gU29tZShwYXRoLmRpc3BsYXkoKS50b19zdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9zdGFydCgmc3RhcnRfYnV0dG9uLCAmc3RhdGUsICZib2FyZF9yb3csICZkcml2ZV9yb3cpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkaWFsb2cuZGVzdHJveSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjaG9vc2VyLnNob3coKTsiLCJuZXdUZXh0IjoiICAgICAgICAgICAgbGV0IGNob29zZXIgPSBndGs6OkZpbGVEaWFsb2c6OmJ1aWxkZXIoKVxuICAgICAgICAgICAgICAgIC50aXRsZShcIkNob29zZSBJbnN0YWxsYXRpb24gU291cmNlXCIpXG4gICAgICAgICAgICAgICAgLmFjY2VwdF9sYWJlbChcIlNlbGVjdFwiKVxuICAgICAgICAgICAgICAgIC5tb2RhbCh0cnVlKVxuICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuICAgICAgICAgICAgbGV0IHJvdyA9IHJvdy5jbG9uZSgpO1xuICAgICAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAgICAgICAgICAgIGxldCBib2FyZF9yb3cgPSBib2FyZF9yb3cuY2xvbmUoKTtcbiAgICAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbiAgICAgICAgICAgIGNob29zZXIub3BlbihTb21lKCZ3aW5kb3cpLCBndGs6Omdpbzo6Q2FuY2VsbGFibGU6Ok5PTkUsIG1vdmUgfHJlc3VsdHwge1xuICAgICAgICAgICAgICAgIGlmIGxldCBTb21lKHBhdGgpID0gcmVzdWx0Lm9rKCkuYW5kX3RoZW4ofGZpbGV8IGZpbGUucGF0aCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJvdy5zZXRfdGl0bGUoJmRpc3BsYXlfbmFtZSgmcGF0aCkpO1xuICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBhdGgucGFyZW50KCkuYW5kX3RoZW4oUGF0aDo6dG9fc3RyKS51bndyYXBfb3IoXCJcIikpO1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkuc291cmNlID0gU29tZShwYXRoLmRpc3BsYXkoKS50b19zdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9zdGFydCgmc3RhcnRfYnV0dG9uLCAmc3RhdGUsICZib2FyZF9yb3csICZkcml2ZV9yb3cpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pOyJ9LHsib2xkVGV4dCI6IiAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4gICAgICAgICAgICAgICAgLnRpdGxlKFwiQ3JlYXRlIERpc2sgSW1hZ2VcIilcbiAgICAgICAgICAgICAgICAudHJhbnNpZW50X2Zvcigmd2luZG93KVxuICAgICAgICAgICAgICAgIC5hY3Rpb24oZ3RrOjpGaWxlQ2hvb3NlckFjdGlvbjo6U2F2ZSlcbiAgICAgICAgICAgICAgICAuYWNjZXB0X2xhYmVsKFwiU2VsZWN0XCIpXG4gICAgICAgICAgICAgICAgLmNhbmNlbF9sYWJlbChcIkNhbmNlbFwiKVxuICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuICAgICAgICAgICAgY2hvb3Nlci5zZXRfY3VycmVudF9uYW1lKFwiYWx0LWxpbnV4LmltZ1wiKTtcbiAgICAgICAgICAgIGxldCByb3cgPSByb3cuY2xvbmUoKTtcbiAgICAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgZHJpdmVfcm93ID0gZHJpdmVfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgc3RhcnRfYnV0dG9uID0gc3RhcnRfYnV0dG9uLmNsb25lKCk7XG4gICAgICAgICAgICBjaG9vc2VyLmNvbm5lY3RfcmVzcG9uc2UobW92ZSB8ZGlhbG9nLCByZXNwb25zZXwge1xuICAgICAgICAgICAgICAgIGlmIHJlc3BvbnNlID09IGd0azo6UmVzcG9uc2VUeXBlOjpBY2NlcHRcbiAgICAgICAgICAgICAgICAgICAgJiYgbGV0IFNvbWUocGF0aCkgPSBkaWFsb2cuZmlsZSgpLmFuZF90aGVuKHxmfCBmLnBhdGgoKSlcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJvdy5zZXRfdGl0bGUoJmRpc3BsYXlfbmFtZSgmcGF0aCkpO1xuICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBhdGgucGFyZW50KCkuYW5kX3RoZW4oUGF0aDo6dG9fc3RyKS51bndyYXBfb3IoXCJcIikpO1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkub3V0cHV0X2ZpbGUgPSBTb21lKHBhdGguZGlzcGxheSgpLnRvX3N0cmluZygpKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlX3N0YXJ0KCZzdGFydF9idXR0b24sICZzdGF0ZSwgJmJvYXJkX3JvdywgJmRyaXZlX3Jvdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRpYWxvZy5kZXN0cm95KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNob29zZXIuc2hvdygpOyIsIm5ld1RleHQiOiIgICAgICAgICAgICBsZXQgY2hvb3NlciA9IGd0azo6RmlsZURpYWxvZzo6YnVpbGRlcigpXG4gICAgICAgICAgICAgICAgLnRpdGxlKFwiQ3JlYXRlIERpc2sgSW1hZ2VcIilcbiAgICAgICAgICAgICAgICAuYWNjZXB0X2xhYmVsKFwiU2VsZWN0XCIpXG4gICAgICAgICAgICAgICAgLmluaXRpYWxfbmFtZShcImFsdC1saW51eC5pbWdcIilcbiAgICAgICAgICAgICAgICAubW9kYWwodHJ1ZSlcbiAgICAgICAgICAgICAgICAuYnVpbGQoKTtcbiAgICAgICAgICAgIGxldCByb3cgPSByb3cuY2xvbmUoKTtcbiAgICAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgZHJpdmVfcm93ID0gZHJpdmVfcm93LmNsb25lKCk7XG4gICAgICAgICAgICBsZXQgc3RhcnRfYnV0dG9uID0gc3RhcnRfYnV0dG9uLmNsb25lKCk7XG4gICAgICAgICAgICBjaG9vc2VyLnNhdmUoU29tZSgmd2luZG93KSwgZ3RrOjpnaW86OkNhbmNlbGxhYmxlOjpOT05FLCBtb3ZlIHxyZXN1bHR8IHtcbiAgICAgICAgICAgICAgICBpZiBsZXQgU29tZShwYXRoKSA9IHJlc3VsdC5vaygpLmFuZF90aGVuKHxmaWxlfCBmaWxlLnBhdGgoKSkge1xuICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3RpdGxlKCZkaXNwbGF5X25hbWUoJnBhdGgpKTtcbiAgICAgICAgICAgICAgICAgICAgcm93LnNldF9zdWJ0aXRsZShwYXRoLnBhcmVudCgpLmFuZF90aGVuKFBhdGg6OnRvX3N0cikudW53cmFwX29yKFwiXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLm91dHB1dF9maWxlID0gU29tZShwYXRoLmRpc3BsYXkoKS50b19zdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9zdGFydCgmc3RhcnRfYnV0dG9uLCAmc3RhdGUsICZib2FyZF9yb3csICZkcml2ZV9yb3cpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pOyJ9XX19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo1NTksIm91dHB1dCI6MTAxNSwiY2FjaGVSZWFkIjozMzI4MCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyMywidG90YWxUb2tlbnMiOjM0ODU0LCJjb3N0Ijp7ImlucHV0IjowLjAwMjc5NSwib3V0cHV0IjowLjAzMDQ1LCJjYWNoZVJlYWQiOjAuMDE2NjQsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA0OTg4NX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4ODcwNTI3OSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0MjE5ZTY0ODE5MTgyMjc1NDE2MzY4ZjEyMjEifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZjYxNTk3YTgiLCJwYXJlbnRJZCI6IjllZDUwNmM0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMjowNS4wMjRaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0tqU2UwaW4wcGxXTWNVS2NWell6U3lRMHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQyNDAyNjQ4MTkxYjI1OTcyNmI1OTcyMzFkOCIsInRvb2xOYW1lIjoiZWRpdCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSByZXBsYWNlZCAyIGJsb2NrKHMpIGluIHNyYy9tYWluLnJzLiJ9XSwiZGV0YWlscyI6eyJkaWZmIjoiICAgICAuLi5cbiAyNzcgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gMjc4ICAgICAgICAgbGV0IGRyaXZlX3JvdyA9IGRyaXZlX3Jvdy5jbG9uZSgpO1xuIDI3OSAgICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbiAyODAgICAgICAgICBzb3VyY2VfY2hvb3NlLmNvbm5lY3RfY2xpY2tlZChtb3ZlIHxffCB7XG4tMjgxICAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4rMjgxICAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlRGlhbG9nOjpidWlsZGVyKClcbiAyODIgICAgICAgICAgICAgICAgIC50aXRsZShcIkNob29zZSBJbnN0YWxsYXRpb24gU291cmNlXCIpXG4tMjgzICAgICAgICAgICAgICAgICAudHJhbnNpZW50X2Zvcigmd2luZG93KVxuLTI4NCAgICAgICAgICAgICAgICAgLmFjdGlvbihndGs6OkZpbGVDaG9vc2VyQWN0aW9uOjpPcGVuKVxuIDI4NSAgICAgICAgICAgICAgICAgLmFjY2VwdF9sYWJlbChcIlNlbGVjdFwiKVxuLTI4NiAgICAgICAgICAgICAgICAgLmNhbmNlbF9sYWJlbChcIkNhbmNlbFwiKVxuKzI4NCAgICAgICAgICAgICAgICAgLm1vZGFsKHRydWUpXG4gMjg3ICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcbiAyODggICAgICAgICAgICAgbGV0IHJvdyA9IHJvdy5jbG9uZSgpO1xuIDI4OSAgICAgICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuIDI5MCAgICAgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gMjkxICAgICAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAyOTIgICAgICAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuLTI5MyAgICAgICAgICAgICBjaG9vc2VyLmNvbm5lY3RfcmVzcG9uc2UobW92ZSB8ZGlhbG9nLCByZXNwb25zZXwge1xuLTI5NCAgICAgICAgICAgICAgICAgaWYgcmVzcG9uc2UgPT0gZ3RrOjpSZXNwb25zZVR5cGU6OkFjY2VwdFxuLTI5NSAgICAgICAgICAgICAgICAgICAgICYmIGxldCBTb21lKHBhdGgpID0gZGlhbG9nLmZpbGUoKS5hbmRfdGhlbih8ZnwgZi5wYXRoKCkpXG4tMjk2ICAgICAgICAgICAgICAgICB7XG4rMjkxICAgICAgICAgICAgIGNob29zZXIub3BlbihTb21lKCZ3aW5kb3cpLCBndGs6Omdpbzo6Q2FuY2VsbGFibGU6Ok5PTkUsIG1vdmUgfHJlc3VsdHwge1xuKzI5MiAgICAgICAgICAgICAgICAgaWYgbGV0IFNvbWUocGF0aCkgPSByZXN1bHQub2soKS5hbmRfdGhlbih8ZmlsZXwgZmlsZS5wYXRoKCkpIHtcbiAyOTcgICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3RpdGxlKCZkaXNwbGF5X25hbWUoJnBhdGgpKTtcbiAyOTggICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBhdGgucGFyZW50KCkuYW5kX3RoZW4oUGF0aDo6dG9fc3RyKS51bndyYXBfb3IoXCJcIikpO1xuIDI5OSAgICAgICAgICAgICAgICAgICAgIHN0YXRlLmJvcnJvd19tdXQoKS5zb3VyY2UgPSBTb21lKHBhdGguZGlzcGxheSgpLnRvX3N0cmluZygpKTtcbiAzMDAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCAmYm9hcmRfcm93LCAmZHJpdmVfcm93KTtcbiAzMDEgICAgICAgICAgICAgICAgIH1cbi0zMDIgICAgICAgICAgICAgICAgIGRpYWxvZy5kZXN0cm95KCk7XG4gMzAzICAgICAgICAgICAgIH0pO1xuLTMwNCAgICAgICAgICAgICBjaG9vc2VyLnNob3coKTtcbiAzMDUgICAgICAgICB9KTtcbiAzMDYgICAgIH1cbiAzMDcgICAgIHtcbiAzMDggICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuICAgICAuLi5cbiAzNDEgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4gMzQyICAgICAgICAgbGV0IGRyaXZlX3JvdyA9IGRyaXZlX3Jvdy5jbG9uZSgpO1xuIDM0MyAgICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbiAzNDQgICAgICAgICBvdXRwdXRfY2hvb3NlLmNvbm5lY3RfY2xpY2tlZChtb3ZlIHxffCB7XG4tMzQ1ICAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4rMzM5ICAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlRGlhbG9nOjpidWlsZGVyKClcbiAzNDYgICAgICAgICAgICAgICAgIC50aXRsZShcIkNyZWF0ZSBEaXNrIEltYWdlXCIpXG4tMzQ3ICAgICAgICAgICAgICAgICAudHJhbnNpZW50X2Zvcigmd2luZG93KVxuLTM0OCAgICAgICAgICAgICAgICAgLmFjdGlvbihndGs6OkZpbGVDaG9vc2VyQWN0aW9uOjpTYXZlKVxuIDM0OSAgICAgICAgICAgICAgICAgLmFjY2VwdF9sYWJlbChcIlNlbGVjdFwiKVxuLTM1MCAgICAgICAgICAgICAgICAgLmNhbmNlbF9sYWJlbChcIkNhbmNlbFwiKVxuKzM0MiAgICAgICAgICAgICAgICAgLmluaXRpYWxfbmFtZShcImFsdC1saW51eC5pbWdcIilcbiszNDMgICAgICAgICAgICAgICAgIC5tb2RhbCh0cnVlKVxuIDM1MSAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG4tMzUyICAgICAgICAgICAgIGNob29zZXIuc2V0X2N1cnJlbnRfbmFtZShcImFsdC1saW51eC5pbWdcIik7XG4gMzUzICAgICAgICAgICAgIGxldCByb3cgPSByb3cuY2xvbmUoKTtcbiAzNTQgICAgICAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAzNTUgICAgICAgICAgICAgbGV0IGJvYXJkX3JvdyA9IGJvYXJkX3Jvdy5jbG9uZSgpO1xuIDM1NiAgICAgICAgICAgICBsZXQgZHJpdmVfcm93ID0gZHJpdmVfcm93LmNsb25lKCk7XG4gMzU3ICAgICAgICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbi0zNTggICAgICAgICAgICAgY2hvb3Nlci5jb25uZWN0X3Jlc3BvbnNlKG1vdmUgfGRpYWxvZywgcmVzcG9uc2V8IHtcbi0zNTkgICAgICAgICAgICAgICAgIGlmIHJlc3BvbnNlID09IGd0azo6UmVzcG9uc2VUeXBlOjpBY2NlcHRcbi0zNjAgICAgICAgICAgICAgICAgICAgICAmJiBsZXQgU29tZShwYXRoKSA9IGRpYWxvZy5maWxlKCkuYW5kX3RoZW4ofGZ8IGYucGF0aCgpKVxuLTM2MSAgICAgICAgICAgICAgICAge1xuKzM1MCAgICAgICAgICAgICBjaG9vc2VyLnNhdmUoU29tZSgmd2luZG93KSwgZ3RrOjpnaW86OkNhbmNlbGxhYmxlOjpOT05FLCBtb3ZlIHxyZXN1bHR8IHtcbiszNTEgICAgICAgICAgICAgICAgIGlmIGxldCBTb21lKHBhdGgpID0gcmVzdWx0Lm9rKCkuYW5kX3RoZW4ofGZpbGV8IGZpbGUucGF0aCgpKSB7XG4gMzYyICAgICAgICAgICAgICAgICAgICAgcm93LnNldF90aXRsZSgmZGlzcGxheV9uYW1lKCZwYXRoKSk7XG4gMzYzICAgICAgICAgICAgICAgICAgICAgcm93LnNldF9zdWJ0aXRsZShwYXRoLnBhcmVudCgpLmFuZF90aGVuKFBhdGg6OnRvX3N0cikudW53cmFwX29yKFwiXCIpKTtcbiAzNjQgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkub3V0cHV0X2ZpbGUgPSBTb21lKHBhdGguZGlzcGxheSgpLnRvX3N0cmluZygpKTtcbiAzNjUgICAgICAgICAgICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCAmYm9hcmRfcm93LCAmZHJpdmVfcm93KTtcbiAzNjYgICAgICAgICAgICAgICAgIH1cbi0zNjcgICAgICAgICAgICAgICAgIGRpYWxvZy5kZXN0cm95KCk7XG4gMzY4ICAgICAgICAgICAgIH0pO1xuLTM2OSAgICAgICAgICAgICBjaG9vc2VyLnNob3coKTtcbiAzNzAgICAgICAgICB9KTtcbiAzNzEgICAgIH1cbiAzNzIgICAgIHtcbiAzNzMgICAgICAgICBsZXQgd2luZG93ID0gd2luZG93LmNsb25lKCk7XG4gICAgIC4uLiIsInBhdGNoIjoiLS0tIHNyYy9tYWluLnJzXG4rKysgc3JjL21haW4ucnNcbkBAIC0yNzcsMzIgKzI3NywyNiBAQFxuICAgICAgICAgbGV0IGJvYXJkX3JvdyA9IGJvYXJkX3Jvdy5jbG9uZSgpO1xuICAgICAgICAgbGV0IGRyaXZlX3JvdyA9IGRyaXZlX3Jvdy5jbG9uZSgpO1xuICAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICAgc291cmNlX2Nob29zZS5jb25uZWN0X2NsaWNrZWQobW92ZSB8X3wge1xuLSAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlQ2hvb3Nlck5hdGl2ZTo6YnVpbGRlcigpXG4rICAgICAgICAgICAgbGV0IGNob29zZXIgPSBndGs6OkZpbGVEaWFsb2c6OmJ1aWxkZXIoKVxuICAgICAgICAgICAgICAgICAudGl0bGUoXCJDaG9vc2UgSW5zdGFsbGF0aW9uIFNvdXJjZVwiKVxuLSAgICAgICAgICAgICAgICAudHJhbnNpZW50X2Zvcigmd2luZG93KVxuLSAgICAgICAgICAgICAgICAuYWN0aW9uKGd0azo6RmlsZUNob29zZXJBY3Rpb246Ok9wZW4pXG4gICAgICAgICAgICAgICAgIC5hY2NlcHRfbGFiZWwoXCJTZWxlY3RcIilcbi0gICAgICAgICAgICAgICAgLmNhbmNlbF9sYWJlbChcIkNhbmNlbFwiKVxuKyAgICAgICAgICAgICAgICAubW9kYWwodHJ1ZSlcbiAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG4gICAgICAgICAgICAgbGV0IHJvdyA9IHJvdy5jbG9uZSgpO1xuICAgICAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgICAgICAgbGV0IGJvYXJkX3JvdyA9IGJvYXJkX3Jvdy5jbG9uZSgpO1xuICAgICAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgICAgICBsZXQgc3RhcnRfYnV0dG9uID0gc3RhcnRfYnV0dG9uLmNsb25lKCk7XG4tICAgICAgICAgICAgY2hvb3Nlci5jb25uZWN0X3Jlc3BvbnNlKG1vdmUgfGRpYWxvZywgcmVzcG9uc2V8IHtcbi0gICAgICAgICAgICAgICAgaWYgcmVzcG9uc2UgPT0gZ3RrOjpSZXNwb25zZVR5cGU6OkFjY2VwdFxuLSAgICAgICAgICAgICAgICAgICAgJiYgbGV0IFNvbWUocGF0aCkgPSBkaWFsb2cuZmlsZSgpLmFuZF90aGVuKHxmfCBmLnBhdGgoKSlcbi0gICAgICAgICAgICAgICAge1xuKyAgICAgICAgICAgIGNob29zZXIub3BlbihTb21lKCZ3aW5kb3cpLCBndGs6Omdpbzo6Q2FuY2VsbGFibGU6Ok5PTkUsIG1vdmUgfHJlc3VsdHwge1xuKyAgICAgICAgICAgICAgICBpZiBsZXQgU29tZShwYXRoKSA9IHJlc3VsdC5vaygpLmFuZF90aGVuKHxmaWxlfCBmaWxlLnBhdGgoKSkge1xuICAgICAgICAgICAgICAgICAgICAgcm93LnNldF90aXRsZSgmZGlzcGxheV9uYW1lKCZwYXRoKSk7XG4gICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBhdGgucGFyZW50KCkuYW5kX3RoZW4oUGF0aDo6dG9fc3RyKS51bndyYXBfb3IoXCJcIikpO1xuICAgICAgICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLnNvdXJjZSA9IFNvbWUocGF0aC5kaXNwbGF5KCkudG9fc3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgICAgICAgdXBkYXRlX3N0YXJ0KCZzdGFydF9idXR0b24sICZzdGF0ZSwgJmJvYXJkX3JvdywgJmRyaXZlX3Jvdyk7XG4gICAgICAgICAgICAgICAgIH1cbi0gICAgICAgICAgICAgICAgZGlhbG9nLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICB9KTtcbi0gICAgICAgICAgICBjaG9vc2VyLnNob3coKTtcbiAgICAgICAgIH0pO1xuICAgICB9XG4gICAgIHtcbiAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG5AQCAtMzQxLDMzICszMzUsMjcgQEBcbiAgICAgICAgIGxldCBib2FyZF9yb3cgPSBib2FyZF9yb3cuY2xvbmUoKTtcbiAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbiAgICAgICAgIG91dHB1dF9jaG9vc2UuY29ubmVjdF9jbGlja2VkKG1vdmUgfF98IHtcbi0gICAgICAgICAgICBsZXQgY2hvb3NlciA9IGd0azo6RmlsZUNob29zZXJOYXRpdmU6OmJ1aWxkZXIoKVxuKyAgICAgICAgICAgIGxldCBjaG9vc2VyID0gZ3RrOjpGaWxlRGlhbG9nOjpidWlsZGVyKClcbiAgICAgICAgICAgICAgICAgLnRpdGxlKFwiQ3JlYXRlIERpc2sgSW1hZ2VcIilcbi0gICAgICAgICAgICAgICAgLnRyYW5zaWVudF9mb3IoJndpbmRvdylcbi0gICAgICAgICAgICAgICAgLmFjdGlvbihndGs6OkZpbGVDaG9vc2VyQWN0aW9uOjpTYXZlKVxuICAgICAgICAgICAgICAgICAuYWNjZXB0X2xhYmVsKFwiU2VsZWN0XCIpXG4tICAgICAgICAgICAgICAgIC5jYW5jZWxfbGFiZWwoXCJDYW5jZWxcIilcbisgICAgICAgICAgICAgICAgLmluaXRpYWxfbmFtZShcImFsdC1saW51eC5pbWdcIilcbisgICAgICAgICAgICAgICAgLm1vZGFsKHRydWUpXG4gICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuLSAgICAgICAgICAgIGNob29zZXIuc2V0X2N1cnJlbnRfbmFtZShcImFsdC1saW51eC5pbWdcIik7XG4gICAgICAgICAgICAgbGV0IHJvdyA9IHJvdy5jbG9uZSgpO1xuICAgICAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgICAgICAgbGV0IGJvYXJkX3JvdyA9IGJvYXJkX3Jvdy5jbG9uZSgpO1xuICAgICAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgICAgICBsZXQgc3RhcnRfYnV0dG9uID0gc3RhcnRfYnV0dG9uLmNsb25lKCk7XG4tICAgICAgICAgICAgY2hvb3Nlci5jb25uZWN0X3Jlc3BvbnNlKG1vdmUgfGRpYWxvZywgcmVzcG9uc2V8IHtcbi0gICAgICAgICAgICAgICAgaWYgcmVzcG9uc2UgPT0gZ3RrOjpSZXNwb25zZVR5cGU6OkFjY2VwdFxuLSAgICAgICAgICAgICAgICAgICAgJiYgbGV0IFNvbWUocGF0aCkgPSBkaWFsb2cuZmlsZSgpLmFuZF90aGVuKHxmfCBmLnBhdGgoKSlcbi0gICAgICAgICAgICAgICAge1xuKyAgICAgICAgICAgIGNob29zZXIuc2F2ZShTb21lKCZ3aW5kb3cpLCBndGs6Omdpbzo6Q2FuY2VsbGFibGU6Ok5PTkUsIG1vdmUgfHJlc3VsdHwge1xuKyAgICAgICAgICAgICAgICBpZiBsZXQgU29tZShwYXRoKSA9IHJlc3VsdC5vaygpLmFuZF90aGVuKHxmaWxlfCBmaWxlLnBhdGgoKSkge1xuICAgICAgICAgICAgICAgICAgICAgcm93LnNldF90aXRsZSgmZGlzcGxheV9uYW1lKCZwYXRoKSk7XG4gICAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBhdGgucGFyZW50KCkuYW5kX3RoZW4oUGF0aDo6dG9fc3RyKS51bndyYXBfb3IoXCJcIikpO1xuICAgICAgICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLm91dHB1dF9maWxlID0gU29tZShwYXRoLmRpc3BsYXkoKS50b19zdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCAmYm9hcmRfcm93LCAmZHJpdmVfcm93KTtcbiAgICAgICAgICAgICAgICAgfVxuLSAgICAgICAgICAgICAgICBkaWFsb2cuZGVzdHJveSgpO1xuICAgICAgICAgICAgIH0pO1xuLSAgICAgICAgICAgIGNob29zZXIuc2hvdygpO1xuICAgICAgICAgfSk7XG4gICAgIH1cbiAgICAge1xuICAgICAgICAgbGV0IHdpbmRvdyA9IHdpbmRvdy5jbG9uZSgpO1xuIiwiZmlyc3RDaGFuZ2VkTGluZSI6MjgxfSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODcyNTAyNH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImJiMTI1NWU1IiwicGFyZW50SWQiOiJmNjE1OTdhOCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTI6MTEuOTQwWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipWZXJpZnlpbmcgY29uZmlnIGluY3JlbWVudCBzcGVlZCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0Mzg5ZWQ4ODE5MWJlZDQ4NDJjNGJlYjY3YTlcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1RNXYzNVhvVlR5WE11NnE1QlNoWWJyWTM4WWl4OXFBT3R6OGFLcmFpV2YtUWlkUXMxRll1X2hZV29ZTkRWQ3ExWHZQX2d4SzJJN1dHSmZsOHFQTTZwRWZIZGpiQWhtdk5zMjFjZmcxQ193bVEtdVRDOTlOUXFNd2VXSWpxb2dVdjhvQUhUek5BZTF3M0k1eURtNkhPMDMwb1pVdEp2YUh2VFZnXy1FY20zQjB5azhNVXUxcXpjYVZRdTRQX094OUpsRzdpdm1ENk81VDlvQWRTbmFLWWdHMlE2VzlzRXpXdlR2MWpwWXFsaHVJVWFLUUFySmlLT05tUUNEcWhpbE5QNlBORl82cnV2YWdia1hXb1BfX3lsbFV5OXBkVnBWQ3ZvNmNTbUFROGVMNzRPTVhXNEdmOXlJdUhhYzFjWnZQeTFvdHQ1WWxGVTZMWkxZcGFwQWlFNmFyeHMtdGRTWlBJdlhkZVp0SURZeE5FS0JNSHdwRmlRM3ktbEVDcHNtVFFVOVBzNUxuamF4QkhRa19LU1NwRkx3NG1mLXA2Ry1rQzZhUlktVUpfRDgzLXpJQVJiWklwanlSSXBnalpvRFlwTS1TU2c0XzBRRlVfMDZmNTJLN2ZPMWIydUp6VlN5ZVc2RmZzWHNIY2t5WTJzU0lHZWxSdWJFYmVHYlNiSVRGbVdSYS1IaXplMFdrR0VVNkVQY1k4S1pkMHZtSFlDRldJYVRISzc2ZTVyeDg3TzZHeGhrMWoxd3puLVRiLWtHdkRkbUZsN211U1ZqRFN0a0s5ampTNHh6UGJYeXBORXY1MkkwTHo3anpEMkxmbzlGZGtWQkc1U2N1SGpQTG5CLU5SeXBqaGk1bG1wSnVPTEltVUh4VWFENFl4NkM4bGJhdHhSOW9PWXF5bUlUbklVdkJEVDBLd2hFQ1ppNnM5dHZlU3dIMUZlRkZNeEUwRWw4Xzl0X0JYaXlUTERaLXFRcUFIMGhXX1Bacl91YThUUnFGR3BudGdtYjNxSFVWckNUbTRkZjlZNUhDRDMxN0dGUkRxeV95Q3VaUnZoenBOVk5nSnBGb3Y0OE9USnVHR1lHWmlrS3pHYnFKNUVKNG1ZRmh1S2Vfck11U1ZXU3pHYW1kTC0wd3EtX0dCNHlDODFodDBuNHdVRUVNWENDVk5BSE92WmZrSjAxRXJVSldMby1SY0ZtUXNGWnBhXzNQQlNpbUlXNVZ4aXFQVlNTYnV1WW8zOFVwUWxjM2Z5czd0RVFBaGl2bmFQUzY1MDBRZExKeDdXeWYzdDRZc2lsNExmeTcwMG5uQ3BkeFE9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqVmVyaWZ5aW5nIGNvbmZpZyBpbmNyZW1lbnQgc3BlZWQqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfcEJRQXpTWkZXM3NiUFc1MnZ5aWhnUkp6fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDM5MzFkYzgxOTFhODI1OTdmZWFhZTFmNjA3IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6IkRPQ1NfUlM9MSBSVVNUQ19CT09UU1RSQVA9MSBSVVNURkxBR1M9Jy0tY2ZnIGRvY3NycycgY2FyZ28gY2hlY2siLCJ0aW1lb3V0IjoxMjB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTU5Niwib3V0cHV0Ijo1NywiY2FjaGVSZWFkIjozMzI4MCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxMCwidG90YWxUb2tlbnMiOjM0OTMzLCJjb3N0Ijp7ImlucHV0IjowLjAwNzk4MDAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMTcxMDAwMDAwMDAwMDAwMDEsImNhY2hlUmVhZCI6MC4wMTY2NCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDI2MzN9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODg3MjUwMjUsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDM1NjVkODgxOTFhM2E1NTUxNTdmN2RmY2M4In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjA1OTFlOTdmIiwicGFyZW50SWQiOiJiYjEyNTVlNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTI6MTIuMTE2WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9wQlFBelNaRlczc2JQVzUydnlpaGdSSnp8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0MzkzMWRjODE5MWE4MjU5N2ZlYWFlMWY2MDciLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgQ2hlY2tpbmcgZmxhc2hlciB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIpXG4gICAgRmluaXNoZWQgYGRldmAgcHJvZmlsZSBbdW5vcHRpbWl6ZWQgKyBkZWJ1Z2luZm9dIHRhcmdldChzKSBpbiAwLjE2c1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg4NzMyMTE2fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYmU5MzY0ZWEiLCJwYXJlbnRJZCI6IjA1OTFlOTdmIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMjozMi40NDVaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIGJ1aWxkIGluc3RydWN0aW9ucyBhbmQgVUkgZml4ZXMqKlxuXG4qKkVuaGFuY2luZyBVSSBzdGF0ZSBsb2dpYyBhbmQgZGV2aWNlIGZpbHRlcmluZyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0M2VhYWQwODE5MWFkM2YyYzlhZTFkZWI1OThcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1STEtPX0pWSWJSSWZrc0k3UmNJV3JVOWdRWlRLWkdZUU9BVVBTcnpNZ3drZVBjVV9jTy1ZZ1BiNjRhVm4wTkhVM3AyRXdfTTMxeXF6YlN3S2VYTG5kNnhKbEhxTjNuRE5iOWIyN3hIaVhFZkNvc0I1R25tdDFlNWlTQm5HQV9tbWJEUE9KbU8ySlJJLTJiR3htVlVpRkpqMTFUMjVWX185V1NOTHA1bjREZ1hPQ1AtUVFJVDJ5NU1wR1ROMEU4QzB1M3Byd1lOOHVfMU9YOWtsOWtGcmVSY0pjaVV0RFBWc0s4akx6aXBOLVhMSDYyUGFGSExMX0pnY1U4LWtWNlVjWkZFMEJKQWFpQ1JSVmJiRm90VnRTMWQ0YUpFOC03cS1mLXdHYWlvY0ZybndlaktGYTh0azRWdTdOUVlxc29jR2tNLUZvNFE0WHRXRHByWW9QekQ3LWp5aGJ2bUZTWGxSRnR3MWt6LWdSV0tJR0tkd1ktTE5ENjI5VzFjNEFFM0hkZkdPUGVNLTlBU3NHU1hQVGpOcjVYQ21NMS0wT1otaXctRTFCUHlPbVRUSFhGa1lWYmpmRnNJSXVfa09FcU8xUFN5UGg5c2dFbUw3TnFXaTRsalVUOGFnQ0VWN09OSmpMb3ZlR0EzZlJ3c1llOEJuNDZWZVNhRGpvckNfbk5ZU3VZdUYtTnpTc0pTMVk1aExULWE4SjUzMGQ3ZzBreEpqX0RwR2liaUp1SWlXZzh5S1FPdDhBbDc3NDJaTDlpanhlaURVSHQzM2lFM21yZzNOVFJvM045T0lfeXJGUk1FNkYyS25ib0hfLURPTFFQUXVzVk1jbElfRTRpbElyc2t6dEFrdVBwSzZkTHdCanU2dFg1WU5fWlZDclloeWV1TmtXVHdXMWx5Tkp3NHFjQnJBWHhTeWhZSmlyaEQ1MlExTHQ0YXhMSjQ0dkhtZXpKUHJYTGxaNmpseGxPM0FDMnhxVTlxbWstb0wtSS1CaG42bEJmQkMyOFBiZDZ0SFR6QkVtVksybW5oS2t2eGg5cUM4WWNzdnRUdHRGLW8zMWg4b0NyR1VUbUYwdnJad0k4ZmtWUHp6LUNpZmIyQUg5aWRPQmdlVlZNSVhSY3pzSGdELWNONXFuYjA0VTFLcEF0dXhLdy1sUGtVOHNmazBmaHlwTjlBWkNfWDN6QkR6eS1ZQzhkV2xnX1hpUTFiZ01kYmFrME1MaXM5ZWFHTU51THpyeG05NURnWWdCVFRTRktNelhidXdDdXZqd3NnaGpYekhWVkRNSDJqZkI4akdmbzBDUE1rMTF1YTBSeDZxcHFtdWltR2EzVTlLRF9aSHJyZGpsX21VeXhhc1c3SmhDVk5UVWxzTElQSkJTZjRzZ2I2eDViT05MMzdGSnZqUWp5WV9VNzFXS2FaZGxNWXFuT0JTQ3VjVlkyakdDa3hkdWd5MGwwVWs1ZS16aDZicjlSbGRMejZaQU82WXVuWWlfNHk0aUh0N0lURjdDMzFXeVl3MlJiYXUwR1Q4VWF2elUzbTRHdDh3WUZnQ2wyaDQ2WTJ1MWVTTVRGbVc3Z1gyRkVrRG0wVjBQMTZhd0lZaXRVN19SNTlLYkNyb3dyX3I0TFpqM0RvQTQyMXAzc3V5eVVKZmtMbEVjeDdlUjNUOThUTm1mNThRaWRIN25ZOHVwdzl2UkNLT2RtOVNIb1hNTTdpVmotVnZBSElnS2tXZHVlQkxaTDlMUVBWNVpWZ3h0cEF4YTlZYWNhNWZTbTFucFRNODRDZ0dQU1lpdHVvUDVIakhROE5LV3RkWU4tc0dpRGtvSVM4b2J2VXJCc2lHanBOZjdnZk02Y0ctdjU1VEFLSFo1eF9mYjhQSkl0VHhwLVBoM0VsZW5IVDBac0dRU29VczRIdVJvMVNLbXlFb1V5NVF4Qm1YTEh6RTQ1alA5QVV6cDd0TDgwSVFQSHY2U1YzTlpEa1ZjajJ3X3Mzc0lDaERHeXk5WmFWdHV4ZWpXN1h3ME0zU3EwNmxzTHloLTFzUDc0dFBQcEc3cFBFZTVKcUlYS0ZxbzNwZWhHT0N3MDRqWDMwV1ltbXlwWFloNTJ2MjVhZWdpeWk0bF93MFJZdTRaTUJvTnM0UnZrbVZ4bUo0NWJhanZnRnJBU0xNbzlTbXpseWpEbGZvbjJyZXZFcmkxU3hqQmFETl94WnJMWWJScEVMcEhhZlNpTzkxUk0xVV96dXRwUmFCTUYwZGhQcjl0c2FRWUFQSmRFVUhyWjV1NUFVLWJKcHg2eXJSRU9sWXhEVF81bEFqc3lzUUs1dFhtUks5YW5UZU1xWlhWNXk4dEFERFJLNHNPYVFKUlJoSnBlVTVNV0luWnA5ak1RV1Npb3dsMFZQRW9xSXFFenAzcnNNd1JTeXBlU1VzVWhZU2p5RGd3Z3VKcUZvQ1BJVTZFcHVCUl9RU1IyejNUNDlVU2xPbjFJbHlpOXRYUEp6LVdldUdmZi1MM21HdjZ2RXlSNG5qajU1LVRvbi1EVEw3SVdoZWs4OE9fRTk1V1Zfdkt4eVVoRWs4MG9ONHFHbnFaakYyT1ZBQ1JFc3VOT3hkRnNPUC1lM3pXQ2ZhNEM4MEhtWU9UMEoyMF9mQXo0TWVVS3Zid3RiZUdOeFRDQjFDc1BsMDFualJFUHdfLTlsbkRNR3dCbVFZeS1fdlcxbzctdUJhb3JWQWNfQy1HeEdZUGN0QmhfUWxBT1h3ZFVnYldfRF9LY2J5aDM4Tkh6TktHNlYzN3hkVGZsaEVscTZUQ2k3V3RXQjFJUFZOWjBWa29aSGxXcmtZanAzMHc5dWg3NnVZVmdJVXAyazYzSWFnd1hKWllxM3hOZkwzS2w0Uk9mam9sV3Y3Q0ZtUDZKbnFtZ0xocWdXQjAzNFNaM0cwYWpMbDNMN0tnQXBTNzBtdVlpNU5SRHRDVGwyZ19uUzl5c2tVX1ZSdEUwT1NCckYwWVc2WnBxOUp0NWhwLVMzSGluSUpDTDhCWlNQQS16TjlBNGZkM191MTRseW1IUVhHa3prbjVLSGRCSm1HdlA0cjlfcFZEaUo3bjY2TlEwd0VMaFh5TFZuemZsZVdwU3kwYkFpX1hkb2FlMTNVUV93NWVTMFc3OUI1SlpVaDEyQURxNzNRVXpTVFNyTFFtZVk0RUxSZ1JZblZ6UmNteGxBVjRzZS1ZMjltZUNUOGdxNjV5bVhwSkJUTGpObk5SZEZva0IxcUszZFJMWXY2cWJDYzFZMndhVlk3TkY3MU85UnFyRHAyZ1VNSnpvemVmSkFEeTZzWVlLYWVwenEzMlk0ZUoyRzZsNjRPZDJPT3pDejVlQ1R3UXQ5bDMtOG9BNldfSE5HWURGSlpKVXJJUVVHZ3lNOEVTRVprQlQxVjZSNjZnYXJKeDg4N1I0aGh2M21xR3h0TDM3N2N5YkVmNmRZUnpmbmNJZmRMX3ZpMlhfbUx4NjJpM2pydVRGME5KVDhSRFVrSW15dTBwakFkZTFzQWFmR04xY3JhVHdSNEcxRXJYSUtwSW50YWdsMkRaY0cwRzNwMU1xalhiQTY4M0VxWTZrV0IyNy1fOFM2QkgxdXBlcjhiX2thSDU3dG5ZWEVfcjJfbVhiYnVYaEk0MWdwaUxIS19heFh0R2t1YTEwNXMydm5hdTZ2R2pEci1NUW5uY3ZvVEQ3THJCc2U1QU1BcjdYMnp1bU5nTjdJUGM0N1M0YTE5WmJja3VCNlJKX183ZkZWUzJvX1pscVEyRS0xazA0SGVZb2t0N0lHRE14Q0t3dTktTUFiejkxMjNzMURqaWxDaEhHVTdGakhiSlNFUGFpYU5qVDhuSjNQU2FWVGVpSF9IRE1uc2tCNWswTmFybTN4eG5Obkc4bmFLTG1GdkhnV0lEbmdLM3prWjREaEJYSXhZX2l4Tk9CbEVzdldXU2FRckdjYnNQSGdRRFdGNGd5ZkhUZ2JQVE40Zy1rMERqRnJKNmdoRGV1a1BwT2VleTExM2JYc2VsZXktLVpSZHJOZW5Qd0ZUdWM1N2FUQlo5TVJYV0lTaF93Y1hoUVZCekNNSFJUWDZEaUxmdHU3b0tULVJORHN1NEZTYV9MNzcwZTBBcS16VHctS2RoY3hXQzBRVEVsVmRrWHRwdkVSMVpuQ2MwT09VTk53YzBiS2ZTcW5wQU9yVEstNlFWXzFGaEppbHcwTVgyU25iQzhidXB1cmcxWXpXNF9DUVFGOUpwR1BCcE1pWVZDeHFLNFRON1VXOXJmQWltNUphN3JqVDQtNW5wY1NhNWNodW80Y3BBLWhaaWZ2WjV2UGZiZ2huV0trMlBRTE9OeFFybnFPRGhndG5peWFpbUk4N1F2RUxKdDZfSEpGankxcXR3a293LUJpMlotWlhUSW1ZUXRRcVFlbVROMkppMlhRU0NnRmExRF81UHpuUnFuRlhVcHN0dWFcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIGJ1aWxkIGluc3RydWN0aW9ucyBhbmQgVUkgZml4ZXMqKlwifSx7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqRW5oYW5jaW5nIFVJIHN0YXRlIGxvZ2ljIGFuZCBkZXZpY2UgZmlsdGVyaW5nKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzlidTdSeWNNTTBOUnBxemNTSzVEZnhzWHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQ0YmY1NzA4MTkxYmI2MDY0ZGFjMGYwYjI0NyIsIm5hbWUiOiJlZGl0IiwiYXJndW1lbnRzIjp7InBhdGgiOiJzcmMvbWFpbi5ycyIsImVkaXRzIjpbeyJvbGRUZXh0IjoiICAgICAgICBsZXQgc291cmNlX3JvdyA9IHNvdXJjZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAgICAgICAgYXJjaGl2ZV9idXR0b24uY29ubmVjdF90b2dnbGVkKG1vdmUgfGJ1dHRvbnwge1xuICAgICAgICAgICAgaWYgYnV0dG9uLmlzX2FjdGl2ZSgpIHtcbiAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkuc291cmNlX2lzX2ltYWdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgc291cmNlX3Jvdy5zZXRfc3VidGl0bGUoXCJTdXBwb3J0ZWQ6IC50YXIsIC50YXIuZ3osIC50YXIueHpcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pOyIsIm5ld1RleHQiOiIgICAgICAgIGxldCBzb3VyY2Vfcm93ID0gc291cmNlX3Jvdy5jbG9uZSgpO1xuICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuICAgICAgICBsZXQgZmlsZV9idXR0b24gPSBmaWxlX2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICBhcmNoaXZlX2J1dHRvbi5jb25uZWN0X3RvZ2dsZWQobW92ZSB8YnV0dG9ufCB7XG4gICAgICAgICAgICBpZiBidXR0b24uaXNfYWN0aXZlKCkge1xuICAgICAgICAgICAgICAgIHN0YXRlLmJvcnJvd19tdXQoKS5zb3VyY2VfaXNfaW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBzb3VyY2Vfcm93LnNldF9zdWJ0aXRsZShcIlN1cHBvcnRlZDogLnRhciwgLnRhci5neiwgLnRhci54elwiKTtcbiAgICAgICAgICAgICAgICBmaWxlX2J1dHRvbi5zZXRfc2Vuc2l0aXZlKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTsifSx7Im9sZFRleHQiOiIgICAgICAgIGxldCBzb3VyY2Vfcm93ID0gc291cmNlX3Jvdy5jbG9uZSgpO1xuICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuICAgICAgICBpbWFnZV9idXR0b24uY29ubmVjdF90b2dnbGVkKG1vdmUgfGJ1dHRvbnwge1xuICAgICAgICAgICAgaWYgYnV0dG9uLmlzX2FjdGl2ZSgpIHtcbiAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkuc291cmNlX2lzX2ltYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzb3VyY2Vfcm93LnNldF9zdWJ0aXRsZShcIlN1cHBvcnRlZDogLmltZywgLmltZy54elwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7IiwibmV3VGV4dCI6IiAgICAgICAgbGV0IHNvdXJjZV9yb3cgPSBzb3VyY2Vfcm93LmNsb25lKCk7XG4gICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGxldCBmaWxlX2J1dHRvbiA9IGZpbGVfYnV0dG9uLmNsb25lKCk7XG4gICAgICAgIGxldCBkcml2ZV9idXR0b24gPSBkcml2ZV9idXR0b24uY2xvbmUoKTtcbiAgICAgICAgaW1hZ2VfYnV0dG9uLmNvbm5lY3RfdG9nZ2xlZChtb3ZlIHxidXR0b258IHtcbiAgICAgICAgICAgIGlmIGJ1dHRvbi5pc19hY3RpdmUoKSB7XG4gICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLnNvdXJjZV9pc19pbWFnZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgc291cmNlX3Jvdy5zZXRfc3VidGl0bGUoXCJTdXBwb3J0ZWQ6IC5pbWcsIC5pbWcueHpcIik7XG4gICAgICAgICAgICAgICAgZHJpdmVfYnV0dG9uLnNldF9hY3RpdmUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgZmlsZV9idXR0b24uc2V0X3NlbnNpdGl2ZShmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pOyJ9XX19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo2ODQsIm91dHB1dCI6NzQ4LCJjYWNoZVJlYWQiOjM0MzA0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjMzMywidG90YWxUb2tlbnMiOjM1NzM2LCJjb3N0Ijp7ImlucHV0IjowLjAwMzQyMDAwMDAwMDAwMDAwMDMsIm91dHB1dCI6MC4wMjI0NCwiY2FjaGVSZWFkIjowLjAxNzE1MiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDQzMDEyfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg4NzMyMTE3LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQzYzZmNDg4MTkxODU4YTYyYWY0ODE2OTVmMCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4ZjRkODZkNyIsInBhcmVudElkIjoiYmU5MzY0ZWEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEyOjMyLjQ0OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfOWJ1N1J5Y01NME5ScHF6Y1NLNURmeHNYfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDRiZjU3MDgxOTFiYjYwNjRkYWMwZjBiMjQ3IiwidG9vbE5hbWUiOiJlZGl0IiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHJlcGxhY2VkIDIgYmxvY2socykgaW4gc3JjL21haW4ucnMuIn1dLCJkZXRhaWxzIjp7ImRpZmYiOiIgICAgIC4uLlxuIDI1MiAgICAgfVxuIDI1MyAgICAge1xuIDI1NCAgICAgICAgIGxldCBzb3VyY2Vfcm93ID0gc291cmNlX3Jvdy5jbG9uZSgpO1xuIDI1NSAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4rMjU2ICAgICAgICAgbGV0IGZpbGVfYnV0dG9uID0gZmlsZV9idXR0b24uY2xvbmUoKTtcbiAyNTYgICAgICAgICBhcmNoaXZlX2J1dHRvbi5jb25uZWN0X3RvZ2dsZWQobW92ZSB8YnV0dG9ufCB7XG4gMjU3ICAgICAgICAgICAgIGlmIGJ1dHRvbi5pc19hY3RpdmUoKSB7XG4gMjU4ICAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkuc291cmNlX2lzX2ltYWdlID0gZmFsc2U7XG4gMjU5ICAgICAgICAgICAgICAgICBzb3VyY2Vfcm93LnNldF9zdWJ0aXRsZShcIlN1cHBvcnRlZDogLnRhciwgLnRhci5neiwgLnRhci54elwiKTtcbisyNjEgICAgICAgICAgICAgICAgIGZpbGVfYnV0dG9uLnNldF9zZW5zaXRpdmUodHJ1ZSk7XG4gMjYwICAgICAgICAgICAgIH1cbiAyNjEgICAgICAgICB9KTtcbiAyNjIgICAgIH1cbiAyNjMgICAgIHtcbiAyNjQgICAgICAgICBsZXQgc291cmNlX3JvdyA9IHNvdXJjZV9yb3cuY2xvbmUoKTtcbiAyNjUgICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuKzI2OCAgICAgICAgIGxldCBmaWxlX2J1dHRvbiA9IGZpbGVfYnV0dG9uLmNsb25lKCk7XG4rMjY5ICAgICAgICAgbGV0IGRyaXZlX2J1dHRvbiA9IGRyaXZlX2J1dHRvbi5jbG9uZSgpO1xuIDI2NiAgICAgICAgIGltYWdlX2J1dHRvbi5jb25uZWN0X3RvZ2dsZWQobW92ZSB8YnV0dG9ufCB7XG4gMjY3ICAgICAgICAgICAgIGlmIGJ1dHRvbi5pc19hY3RpdmUoKSB7XG4gMjY4ICAgICAgICAgICAgICAgICBzdGF0ZS5ib3Jyb3dfbXV0KCkuc291cmNlX2lzX2ltYWdlID0gdHJ1ZTtcbiAyNjkgICAgICAgICAgICAgICAgIHNvdXJjZV9yb3cuc2V0X3N1YnRpdGxlKFwiU3VwcG9ydGVkOiAuaW1nLCAuaW1nLnh6XCIpO1xuKzI3NCAgICAgICAgICAgICAgICAgZHJpdmVfYnV0dG9uLnNldF9hY3RpdmUodHJ1ZSk7XG4rMjc1ICAgICAgICAgICAgICAgICBmaWxlX2J1dHRvbi5zZXRfc2Vuc2l0aXZlKGZhbHNlKTtcbiAyNzAgICAgICAgICAgICAgfVxuIDI3MSAgICAgICAgIH0pO1xuIDI3MiAgICAgfVxuIDI3MyAgICAge1xuICAgICAuLi4iLCJwYXRjaCI6Ii0tLSBzcmMvbWFpbi5yc1xuKysrIHNyYy9tYWluLnJzXG5AQCAtMjUyLDIyICsyNTIsMjggQEBcbiAgICAgfVxuICAgICB7XG4gICAgICAgICBsZXQgc291cmNlX3JvdyA9IHNvdXJjZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4rICAgICAgICBsZXQgZmlsZV9idXR0b24gPSBmaWxlX2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICAgYXJjaGl2ZV9idXR0b24uY29ubmVjdF90b2dnbGVkKG1vdmUgfGJ1dHRvbnwge1xuICAgICAgICAgICAgIGlmIGJ1dHRvbi5pc19hY3RpdmUoKSB7XG4gICAgICAgICAgICAgICAgIHN0YXRlLmJvcnJvd19tdXQoKS5zb3VyY2VfaXNfaW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgc291cmNlX3Jvdy5zZXRfc3VidGl0bGUoXCJTdXBwb3J0ZWQ6IC50YXIsIC50YXIuZ3osIC50YXIueHpcIik7XG4rICAgICAgICAgICAgICAgIGZpbGVfYnV0dG9uLnNldF9zZW5zaXRpdmUodHJ1ZSk7XG4gICAgICAgICAgICAgfVxuICAgICAgICAgfSk7XG4gICAgIH1cbiAgICAge1xuICAgICAgICAgbGV0IHNvdXJjZV9yb3cgPSBzb3VyY2Vfcm93LmNsb25lKCk7XG4gICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuKyAgICAgICAgbGV0IGZpbGVfYnV0dG9uID0gZmlsZV9idXR0b24uY2xvbmUoKTtcbisgICAgICAgIGxldCBkcml2ZV9idXR0b24gPSBkcml2ZV9idXR0b24uY2xvbmUoKTtcbiAgICAgICAgIGltYWdlX2J1dHRvbi5jb25uZWN0X3RvZ2dsZWQobW92ZSB8YnV0dG9ufCB7XG4gICAgICAgICAgICAgaWYgYnV0dG9uLmlzX2FjdGl2ZSgpIHtcbiAgICAgICAgICAgICAgICAgc3RhdGUuYm9ycm93X211dCgpLnNvdXJjZV9pc19pbWFnZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgIHNvdXJjZV9yb3cuc2V0X3N1YnRpdGxlKFwiU3VwcG9ydGVkOiAuaW1nLCAuaW1nLnh6XCIpO1xuKyAgICAgICAgICAgICAgICBkcml2ZV9idXR0b24uc2V0X2FjdGl2ZSh0cnVlKTtcbisgICAgICAgICAgICAgICAgZmlsZV9idXR0b24uc2V0X3NlbnNpdGl2ZShmYWxzZSk7XG4gICAgICAgICAgICAgfVxuICAgICAgICAgfSk7XG4gICAgIH1cbiAgICAge1xuIiwiZmlyc3RDaGFuZ2VkTGluZSI6MjU2fSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4ODc1MjQ0OH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjUzNWY2YTZmIiwicGFyZW50SWQiOiI4ZjRkODZkNyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTI6MzcuMzAxWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipBc3Nlc3NpbmcgY29kZSBmb3JtYXR0aW5nIGFuZCBydXN0dXAgaW5zdGFsbGF0aW9uKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQ1MjRiYmM4MTkxOTY0YThjMTZjNGYyYzUxYlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTVJWM1U3T0NnUlFSS2V2OWZlY0VjOWF6VXoyaDhnVHJzWndSdC1aNXJzMXB6cmRBUHFJVUxhc1A5R3I4bk1mUUVkWHhDVkhIWFVia1hNNG1IU1FJdFl2WHpRQ0tUeHF2azBBbVE5QWRhbDNFUmg5c2ZHVVpNZW1menlOQ3NCLUktSDBYUkxFSHpZRUJtMmliS25HU1RRNXFqS3NtUWM1YThnbEEySVg2cGY2Yml2V0c2cmNacmVtNE5mdHIwUE83QUFfZERfT2dqa2hSaXpybnlJamROc2dJOG1wc19NZHV0SU9FRDBQRjM0NVM4UHk2T3ZMWm82TGxXMzVfQkJCdEdxLWtzeEFQdWF3eDNzQmtUZjFXRU5YcXhzMlZXYTZzX3Y4R3dfRzlPOWRZbTl4YTJpa0x1OHU2NVExalhod1hHN2p5X1pkMHJLZ3YzN09CdzFzd293dm9ueWI3b3c0a1J2a1ZkLUoySFhNQ0FDS1ZlSGRVMVowbnVaaEM3ODJvTE1WbDZLQ2JPc0xYWHFqWTVwWExUMHBJeXNDcl9Fbzh4bURHSllXZUJUTkpBMWNXZFFUNWk3akdMOExaNE5VT0xZSXpsaEw3SlZKcGU5eERLNGtEeUNiVmpwUGJvTFVkQWNVb3VxUHlXeVQ3cnZ0YmlfLTR5Y3otNjN6WkRaNi1PQzFBOFRjNmloWGNfSWNUYzQ2TkpYM3QwSmpjb3VWTklqQzU3VEpSNk13R0NXV1FHOVhwazJ1bmY1MEJNUGhxUTF2bE5nSWx3SkRNdUNJaUt4QU9ZYVUxWE1vVWh6Sm5USWtwSGhidzJEMU0xeDVZRzNZbDFua1h4WDJIUldpQ1M4cjR0NjQ0a1F2YU0wc0VZMWdkMFZNdUdKbGYyNm1La3lRLVdtbEtSdFB1OFZfdXVqT181Uy1XVTdpdXhuc012eXRwM0V6ajNlUzhrWlZNdjVnZUd5S3JtS2ZtbVVOQURNQTJyUFgwdHQxLWRRYmpHZHRvTnExTWNQOTRTa2I3V09HTWdiMmd5MTNTSVVTXzFYcGlrNUlmUXRyM3hTS3B5YXhCbzdscTRNdnE4MFpReDB4Qks2YnZpLS11QTJzT3Juc1h0X1d0MUxUU01Ka2VHV2x3M2I5aEYxM2ppTEp1RFhEQkRyZ04zaEtJcnh5bUhYNWl2bXlJMjVZWEJvdENQRzh1bHhnYTNiOFR4MWh2SXNOQWw4LWRVSTlEOVZLaFFsQk5WUTFBRzJRUW1tb251cXZRY2JIcGhzQ1V0Z0dNUHBjVWxaUHBqQlFKS2NxYUs5RWR2V1RGM1l6M2pfX0U1aDRDYnFHQjNGc1VXcEV6dlJiNW5jOFdTQkc0Q3IwSlZqbkMtTTg5Y3NncG45aXduLU96N3dvU1N2Q0E2WVFpZkZEVFBWbE5WSkFaTTVVeTk5Tlh6R1ExdndVM0xHS2EzQjJvUE1iNldGaVpsQXBqemZDOGpEUUduVFp2WHM5eG54ZTNHWWNZblM0RERvTllJbUZBTkt4OTJZTUFiOGc0UFNYZUxWdFNwYWoyaHBTTVlxaFZhb1MwN3FGN1lhb0trUkF0VzgtVTdKSE5ZcXVpOEdtRVFTMHRmSHZBcTRKdFNKNjlCdWNQOTl2Z20xZVhqZlZUR095cXR2UFJmS2pxVFpkcXpDTnhBV2hWTGc9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipBc3Nlc3NpbmcgY29kZSBmb3JtYXR0aW5nIGFuZCBydXN0dXAgaW5zdGFsbGF0aW9uKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0oxOHBhV3d5UTlHaUFEMUVUMW9aYjhjdXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQ1NTJiMDQ4MTkxYmQwNDkzNmY2NWQyZjc1NiIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJET0NTX1JTPTEgUlVTVENfQk9PVFNUUkFQPTEgUlVTVEZMQUdTPSctLWNmZyBkb2NzcnMnIGNhcmdvIGNoZWNrIiwidGltZW91dCI6MTIwfX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfd0h1MmpmRWE1bkoyVUNZcXZad0d3TTZHfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDU1MmIxYzgxOTE4NWI0MTIxZTY3OTNhMzBmIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImdpdCBzdGF0dXMgLS1zaG9ydDsgZ2l0IGRpZmYgLS1zdGF0OyBnaXQgZGlmZiAtLSBDYXJnby50b21sIHwgaGVhZCAtMTAwIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxNDU0LCJvdXRwdXQiOjE1MiwiY2FjaGVSZWFkIjozNDMwNCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo1NiwidG90YWxUb2tlbnMiOjM1OTEwLCJjb3N0Ijp7ImlucHV0IjowLjAwNzI3LCJvdXRwdXQiOjAuMDA0NTYsImNhY2hlUmVhZCI6MC4wMTcxNTIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyODk4Mn19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4ODc1MjQ0OSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0NTBjZDIwODE5MTg0ZjZiYzU5ZTE4MmRlZGUifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMGY5ZTg2OWIiLCJwYXJlbnRJZCI6IjUzNWY2YTZmIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxMjozNy40NjVaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0oxOHBhV3d5UTlHaUFEMUVUMW9aYjhjdXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQ1NTJiMDQ4MTkxYmQwNDkzNmY2NWQyZjc1NiIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiAgICBDaGVja2luZyBmbGFzaGVyIHYwLjEuMCAoL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlcilcbiAgICBGaW5pc2hlZCBgZGV2YCBwcm9maWxlIFt1bm9wdGltaXplZCArIGRlYnVnaW5mb10gdGFyZ2V0KHMpIGluIDAuMTRzXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg3NTc0NjV9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxNmZiYmRmOSIsInBhcmVudElkIjoiMGY5ZTg2OWIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEyOjM3LjQ2NVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfd0h1MmpmRWE1bkoyVUNZcXZad0d3TTZHfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNDU1MmIxYzgxOTE4NWI0MTIxZTY3OTNhMzBmIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiIE0gQ2FyZ28ubG9ja1xuIE0gQ2FyZ28udG9tbFxuIE0gc3JjL21haW4ucnNcbiBDYXJnby5sb2NrICB8IDY5NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKytcbiBDYXJnby50b21sICB8ICAgNCArXG4gc3JjL21haW4ucnMgfCA1MTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy1cbiAzIGZpbGVzIGNoYW5nZWQsIDEyMTIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSlcbmRpZmYgLS1naXQgYS9DYXJnby50b21sIGIvQ2FyZ28udG9tbFxuaW5kZXggOWFkOWFhOS4uNzVmN2RjMyAxMDA2NDRcbi0tLSBhL0NhcmdvLnRvbWxcbisrKyBiL0NhcmdvLnRvbWxcbkBAIC0yLDUgKzIsOSBAQFxuIG5hbWUgPSBcImZsYXNoZXJcIlxuIHZlcnNpb24gPSBcIjAuMS4wXCJcbiBlZGl0aW9uID0gXCIyMDI0XCJcbitkZXNjcmlwdGlvbiA9IFwiQSBHVEsgaW50ZXJmYWNlIGZvciBwcmVwYXJpbmcgQUxUIExpbnV4IGltYWdlcyBmb3Igc2luZ2xlLWJvYXJkIGNvbXB1dGVyc1wiXG4rbGljZW5zZSA9IFwiR1BMLTIuMC1vci1sYXRlclwiXG4gXG4gW2RlcGVuZGVuY2llc11cbithZHcgPSB7IHBhY2thZ2UgPSBcImxpYmFkd2FpdGFcIiwgdmVyc2lvbiA9IFwiMC44XCIsIGZlYXR1cmVzID0gW1widjFfNVwiXSB9XG4rZ3RrID0geyBwYWNrYWdlID0gXCJndGs0XCIsIHZlcnNpb24gPSBcIjAuMTBcIiwgZmVhdHVyZXMgPSBbXCJ2NF8xMFwiXSB9XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODg3NTc0NjV9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4ZWIxZThjOCIsInBhcmVudElkIjoiMTZmYmJkZjkiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjEyOjQ0LjM4NVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJJbXBsZW1lbnRlZCBhbiBpZGlvbWF0aWMgR1RLNC9saWJhZHdhaXRhIGludGVyZmFjZSBpbiB0aGUgY3VycmVudCBSdXN0IHByb2plY3QuXG5cbiMjIyBJbmNsdWRlZFxuXG4tIFJvb3QgZmlsZXN5c3RlbSBhcmNoaXZlIGFuZCBkaXNrLWltYWdlIHNvdXJjZSBzZWxlY3Rpb25cbi0gU2VhcmNoYWJsZSBib2FyZCBzZWxlY3RvciBwb3B1bGF0ZWQgZnJvbSBgU1VQUE9SVEVELUJPQVJEU2Bcbi0gUmVtb3ZhYmxlIGRyaXZlIGRldGVjdGlvbiBhbmQgaW1hZ2UtZmlsZSBvdXRwdXRcbi0gRmlsZXN5c3RlbSwgcmVzaXplLCBib290IHBhcnRpdGlvbiwgTFVLUywgc2VyaWFsIGNvbnNvbGUsIEVGSSwgYW5kIFZOQyBvcHRpb25zXG4tIFNvdXJjZS9kZXN0aW5hdGlvbiBjb21wYXRpYmlsaXR5IGhhbmRsaW5nXG4tIFJldmlldyBjb25maXJtYXRpb24gZGlhbG9nXG4tIEV4cGxpY2l0IHByZXZpZXcgYmVoYXZpb3LigJRubyBmbGFzaGluZyBpcyBwZXJmb3JtZWRcbi0gQWJvdXQgZGlhbG9nIGFuZCBBZHdhaXRhIHRvYXN0IG5vdGlmaWNhdGlvbnNcblxuIyMjIENoYW5nZWRcblxuLSBgQ2FyZ28udG9tbGBcbi0gYENhcmdvLmxvY2tgXG4tIGBzcmMvbWFpbi5yc2BcblxuVGhlIFJ1c3QgY29kZSBwYXNzZXMgYGNhcmdvIGNoZWNrYC4gVGhlIGxvY2FsIHN5c3RlbSBsYWNrcyBHVEs0L2xpYmFkd2FpdGEgZGV2ZWxvcG1lbnQgcGFja2FnZXMsIHNvIHJ1bm5pbmcgaXQgcmVxdWlyZXMgdGhvc2UgcGFja2FnZXMgdG8gYmUgaW5zdGFsbGVkLiIsInRleHRTaWduYXR1cmUiOiJ7XCJ2XCI6MSxcImlkXCI6XCJtc2dfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM0NTgxN2I4ODE5MWJmYWZmM2E2YzE3MDdlOTJcIixcInBoYXNlXCI6XCJmaW5hbF9hbnN3ZXJcIn0ifV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6ODc2LCJvdXRwdXQiOjE2MywiY2FjaGVSZWFkIjozNTMyOCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MzYzNjcsImNvc3QiOnsiaW5wdXQiOjAuMDA0MzgsIm91dHB1dCI6MC4wMDQ4OSwiY2FjaGVSZWFkIjowLjAxNzY2NCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDI2OTM0fX0sInN0b3BSZWFzb24iOiJzdG9wIiwidGltZXN0YW1wIjoxNzg0OTg4NzU3NDY2LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzQ1NWQxNGM4MTkxYTQ0NTc1MTgxMDllYTIwOCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI1ZWJlZTA4YiIsInBhcmVudElkIjoiOGViMWU4YzgiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjE3OjEyLjgyMFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiYm9hcmQgc2VsZWN0aW9uIGlzIGtpbmQgb2YgY3JhbXBlZC4gY2FuIHlvdSBkbyBzb21ldGhpbmcgYWJvdXQgaXQ/In1dLCJ0aW1lc3RhbXAiOjE3ODQ5ODkwMzI4MjB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJmMjY2MDQyYiIsInBhcmVudElkIjoiNWViZWUwOGIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjE3OjQ0LjY2MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqUmVkZXNpZ25pbmcgYm9hcmQgY2hvb3NlciBkaWFsb2cqKlxuXG4qKlJlZmFjdG9yaW5nIGJvYXJkIGRhdGEgYW5kIFVJIHVwZGF0ZXMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNTZjMGJlYzgxOTE5ZTA0NmM5NDEzNGIwNTI1XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNVjZpdEtoSk9yRWI1c2ZMcG4ya25OLW1MWF9nQnQ2RzhiUlZJMmxhcTdGaUFVaEJYNWluc3R6WlVMeFdTOXJWRUZ5WW1DQXlzNS0xSUM5aHlGNWVhMDd6RlVaMExzVWVweU9xb1FCQXdBWnY1elJmS1ZvZTJlTzJ4YTllUnNSRWFPUVVOWkhqMl83UE5rSGU5dWtOa3ZvNXh1Ymg4ZWlXazZUS0d4TVlGdk9oVlhFMkUyN0pId3h2NzNLeTBBZ1VFa2tWQTBhLS00ekZwVGpUNHN1LVQwRjFHdlNFdWx3SnYwSHZKNFVkUG14aHNXdWluNE5fMDZPSzFMZHd5TjNOa0RBODNCYnIzUHdhYXZVSU1TdmlXUE5RLURaVlVabDNoRHF6RWJFU3lnbVlLR0RtNkdnYzZxU2tkU0hZOU11UmI3dVdPX2NWdnZGYlR5aTlYMWpjWVlrcUlCallRdTdBaHJRV09zS2RIeEhkUUJLTmZuYnRwSThmbEpYRXNOd2tGa3ljTXFwUWxmM1pQZl9xajVsalNwZnhKRTlHZTVFamcyMThNeXdZSndlN2F0TlRETlJvOThYc3AyRm1NNzZjQlZENFZFRDNkVUktdDBXaHlkeDRoaWJ4LWFTUTBBOXdVb1FFeVcwR2pUVUpJQWFNWWxPOHV3cXhBaWtvSUtQcE5yVlZULTJqZW9ZRC0tdlFWUmR1cnZNV3lTRXFLUEYwaU95aG5LODlQOXR4bUFZOFhsVXBqOFNGckNFRkpmOU42ckt3OE9hdk5wcEVXNGpSbnpHdDV1clpJdVFzQzFLX0xlZzkyQWZhQS1sbjZYcWJZTlhEX1dBcHNaRnFsVGRxdHFUUDQ0VWpOYUpkZTFoMGVRYk9XZVYtT0pJRl9lOW9IcFBmU2loYTMyTngxSXk5M1NPSkZRWmdtN3BLQnlBTVg2OUJIbV9mX1lGRU1xMTljX3lVTGxTSDdMZFhQLThqLWtyck9PLU1OQ0ZINkQtaXMzNEF1cXFQWWVLSmZUY3FOOWZveDhBeXVzRkVDdGI2UVktT3otMmlXWmtFYTQwRURvNDJ4djZGUFRfdFVkRDI0MTc1amNNeTZIa0N2bllmVmdfTEJqTVJXNFdjN3ltTGdhRVNuX0wwTnIzS1I4R1JtUE5zR1pXQzRPanhIbkNlX0ZFdWNCNVR3TG5hM1hGdlBSY0FWMEVHaHJOVWFPaERKSTdYOThaOWFUYXdwUmZSZllXVlRSckNnZE5uQVpZWHYxMkJ0cjE3R3ZrdVhod0NuYTVaWkVJUWc4MkJrOVZsa2NpYnUxN3NUUzdFeUtBMEhsQTZBY05Wam53c0M4bV9Ucm5LN2twZ3UyZVhya3BzeFc0NDN0TlFFVFBnR2FER2N5Ujlqc3E0VWpDYVdyUDFPNzJncWFDWjlJZjFCVDFVek9ZTmhIQVNRbE1SVE5CUC15eDBuVE9lWVh1STU0dDk5SktoRENTdEVhUHZ3cUdQVmdpTmlESS0teFU3UjVVeEZldWlkMmx5dGtVNHBqRTU3cG42MjVUWGpGSVVFajI5YU9pQmE5eE51OE1WdHE3cFlTODBoVGV2ZzJncXdXalk5SUdaRjFnWW12MnF2R2poY2IzYTBUSGV1WTgwMmZMNHNUaGcwaXVqLWtMSzlMT3hiRWdyR1FoSG16LS13MDZXVGIzVk5wQjVNWkVieGFRS2JaRUlqdFdueHNqMzFqYUxENkswOUlzU1A5WGVpak9TbXMxcEgwTUtNbGdzX2tmbENkNzZCbEpxNXFKWWZwaDNBZmdlMndxZEJxRFFoSGxRa3FTZUlxSnBGWTRVSktGbnVyM3YtcWd2NG9VZEdzRFV1N3lOeEY1QkhraFpKTHdrdGNOZFZnRWNhZ241RDF0eDhYNy1uUF9lQTkwV05RV3FDcnc0VXg2QmV4V0NLYnV1aHozOFFpaGJ4Wlpqc0hwUEdra3IwaDZTbFhfUEN0LTNtMTB0TjdyVFd1Wms5bzQzOEJubWRReHZrYUNHeFctZmpNLXN4THpNVGthQ0J4TnVsTk5vN0h2LWFyUFFIek9PdXVtNVVUcGptUThBTWo4OEZtaGhIcU9CNWNoUS1TVlFnSVRLWWx2Ul9WRkhQTXZVcDJjWVY0UHJIUGZoWWVDX3VRSVR4TjVRZlpsWXpUNUU5VlZDNzc1NjNLVV9tTjF5N2g2NWE5LW9Vb25pNC1WR0M1aEdrVXJQOGMyVkpkaGtPV2lQbWVkT1YxdFdwQ1MxWFpocUtzek10SjNLRGdBcm51cVV3U0tOWTZHY2pxZmtHSHNJMnFsUzdLSzA5ZXRiUW0wYXlkYS1LaWFqc0NYNFBZbWllSVhDNVhjYzdaZmNOb0NzRjNoSTRaNXNDalcxaGZTclpTMjFFNTBCeTBMU2VRZnlBNDE4cXN3TnYxblg1aVQwVDZFRi1TUTVYS3FkSWVCcDhZUjUtOUxEM3ItS1NZUzk2ZXFNVExGM2N0MDhmbTZGZFJOVElEMHBpNXJvZ215by1jNjlrNXBrUDdBclVBSU9nQkZSeHpsYUUyN3NVVS0yUm9NSkFNcjQ3WmJaeFVrYk1WTEp3Rjl3Sk96NUNvaHR1UVJSWkJMam80R2dSdlBObzE2MmlGaGxVYmZFNV9BRm9PUW1NZjg1UlloTnZQdThnUk02UjJzcFpfYTNiVWhJMHhRZlNyNld2MTY5NUppc284ZjJTMGViUmtHSjkzR3hTcktjNUc0cTA4MGUzMkNweTRxSXNFa1FTN3dxdHo2cDhBdE9qcFpBem93U0lMNG5WT1poMGliTVdVSjhmeHNKdkU3VmtvOHVOV29WWkJWR25DNUdfUmdPUDU4NzczRlVmRC1jYkJKNnB1Vk9kWlVnV2pwbzVfb0VsckJXQ1pFbVZkSXlyeUNzRkZUeldzZDljdHFKdDg1WGg2UjhzeVVuMXQ0bUgwVWpsckEzS3UxQlVLRzNGR3lfVGhvUFFFODVDQXFENXpBbWNZZmV0MVcxM25fR1FGSzRTT3htYk5xZ1pmUUZCSXcxZlJ3NUhVbktkZWlLXzlRUXc4MXJiNmtzbThwV2FlX3dtSWZ0TTBoU1AtX0M0YVA5QmRlcm1ycFY3MmNQYk5OM1gtRVA4NC1mTG1kTU1IVWxqWVphTkhZV202OTNlWC1PMHNLcU9sV2JXVFliejJCY3Radks1amdHRU0wWGNUTE94cWlDc2NmZ0hwTW5JQ2JOWVNOZldINy0wVU14WXZublBBNkJnZW83cHpzaXY4b01UeDdvRUZveG1Hb2Z4OE5MTk9IeEhhTjhsWEpNYkg0S0MyUEd5eVI3b0RET0NNVWstOXZ3cU9MVy1GM2M4WWc1ZmptdUtMTGExeHdsTUFHaWhmT2dmZEVNMVNpNkk2Z1RKLUFYMy1qTW9qbGd6dlhZVjF1dVBvLXU3eUxMUjdLNVNxd3hnNGZPeDBoVUJ1ZzhodU95dlRZaTlGMUJnXzMtMDloNjJ5eDBaTkNGTktZM0d2ejFhYk13aUlHU1pQY2plX0xkX2tEYVFEZzMtSVU3VUhoSC04RHdTazRJbVlZOWhjNG16aVQ2b1Ztd3Z1Q3FNd2VwYi11U1VYemJlNGhUZDFfaW1JQUpwaXk0NW1SYjU4WWRvaVpuN2FOOTBYMTdwbDF4V055d1NIV0Qzd29IbGNmWk1kOGFPWGh4bXBzZHNueXdlVTlTZGRPVHpfdzZWM1RFVng5OVo2MWhVUmhfc2tPNEt1ak42RnZ6cnVlbkRhVHFPaEp3NFlNdW9uYzJMRURXNGtTYUE4R2dLWDhnbWFvcjRjWXIxZUh2Z3JDMmtJOFNrcXdzOG1JNHdCVm52WVZ2X0RKRWNDQmZORTh6dkJtSDhrN01OS0p1LUpsbjk0eUc1NFBQVmx2WDZzRXpxWG1oeDVyUlNzXzBrTDUwbk1wTTk2b1pkRU5OQlo1eVhFeFk4RVo0SmdPa1lEV0tyc3U3XzI5Mzh5UDhvT2FycXZjU0k0b0lJbUVUZHVZS3p3WUlDZ2JxWkk2QjJaa2g0TzNmNEdwa2o4aVV6eHBGUC1YV3dobS1RRFhBM3VJSk84VzZrVmVsMFBNWU05MXRrVzFFaFNoaVZCbHE1WkFQWkhHdkRBWGZvWUl4TVpEWEhGQmt6YkNVT2V3eUxsT1NGcWh5bGU4T2hIa0hZLTZGZlpZZ2dKYTF1ZnRHWTJOYzNzX0N0a2dwSnRUcEp3RVZlWkhXczZ5RU1Tb1FmUlJCaDZwekFmTS1rWDNwaDY2enE1RWxLVEtfWjZTZ1NYVmpzak5zWmozTEk5VjFLa2o4d0E3bVNzM0ozb281Mm9qNTRHX2ZrMjFSd1VhSmRmNHNvQkFoZ09CV0VSU1FmWmRRNXVJQWpkZU1qZGhvLWJmVE5jUnhLRUo2ZHZEQ2dOZFV2aHBuWGhuODA5emw0NXc3SVEtcnpHc3A2bGZNdWtRRkZPdHhHLXBtaDdGeEl1dUNGTV80TUl5Uzk1YU1kXzFxVkxaWFREcGMzWmREWjFneXJnTUxic0diT0oxVkRLX2taSDVjNEZJUXZieWJJREJmNWJsbm1HYlVsbm9TSTBZV1JSWl9RaWF2cV9ZVWZPQmt3amhvdjFzZjBacTBYcmQxdThIQTB6SlVvNElNMHN1dkRDQUo0bElCd2FtVENTZFhUYXdVcXpBY3lCNUFqY3ctOVY3dzFxc0ZUR3MtSENJUktkNDYyNjEwWklyX2xFXzFXOXM3YkJEZlo4eHduYmF4ZGNjc09uWW9rZW9wV3JaQmlIN0hmLVBJT3B1T2dybTVRQWFFQWljV045d0sxaTZsUkU9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipSZWRlc2lnbmluZyBib2FyZCBjaG9vc2VyIGRpYWxvZyoqXCJ9LHtcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipSZWZhY3RvcmluZyBib2FyZCBkYXRhIGFuZCBVSSB1cGRhdGVzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0FvV0xNWVFHdmZaQUdjV09FMjV4SXVFV3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzU3YTM3YzQ4MTkxYmM1OWE5YWEzYWMwMWE3YSIsIm5hbWUiOiJlZGl0IiwiYXJndW1lbnRzIjp7InBhdGgiOiJzcmMvbWFpbi5ycyIsImVkaXRzIjpbeyJvbGRUZXh0IjoiICAgIGxldCBib2FyZF9uYW1lcyA9IHN1cHBvcnRlZF9ib2FyZHMoKTtcbiAgICBsZXQgYm9hcmRfbW9kZWwgPSBndGs6OlN0cmluZ0xpc3Q6Om5ldyhcbiAgICAgICAgJmJvYXJkX25hbWVzXG4gICAgICAgICAgICAuaXRlcigpXG4gICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuICAgICAgICAgICAgLmNvbGxlY3Q6OjxWZWM8Xz4+KCksXG4gICAgKTtcbiAgICBsZXQgYm9hcmRfcm93ID0gYWR3OjpDb21ib1Jvdzo6YnVpbGRlcigpXG4gICAgICAgIC50aXRsZShcIkJvYXJkXCIpXG4gICAgICAgIC5zdWJ0aXRsZShcIlNlbGVjdCB0aGUgc2luZ2xlLWJvYXJkIGNvbXB1dGVyIG1vZGVsXCIpXG4gICAgICAgIC5tb2RlbCgmYm9hcmRfbW9kZWwpXG4gICAgICAgIC5lbmFibGVfc2VhcmNoKHRydWUpXG4gICAgICAgIC5idWlsZCgpOyIsIm5ld1RleHQiOiIgICAgbGV0IGJvYXJkcyA9IHN1cHBvcnRlZF9ib2FyZHMoKTtcbiAgICAvLyBLZWVwIHRoZSBsYWJlbHMgaW4gdGhlIHBvcHVwIHNob3J0LiBUaGUgcGxhdGZvcm0gaXMgc2hvd24gc2VwYXJhdGVseSBpblxuICAgIC8vIHRoZSByb3cgc3VidGl0bGUgb25jZSBhIGJvYXJkIGhhcyBiZWVuIHNlbGVjdGVkLlxuICAgIGxldCBtdXQgYm9hcmRfbmFtZXMgPSB2ZWMhW1wiQ2hvb3NlIGEgYm9hcmTigKZcIi50b19vd25lZCgpXTtcbiAgICBsZXQgbXV0IGJvYXJkX3BsYXRmb3JtcyA9IHZlYyFbU3RyaW5nOjpuZXcoKV07XG4gICAgZm9yIChuYW1lLCBwbGF0Zm9ybSkgaW4gYm9hcmRzIHtcbiAgICAgICAgYm9hcmRfbmFtZXMucHVzaChuYW1lKTtcbiAgICAgICAgYm9hcmRfcGxhdGZvcm1zLnB1c2gocGxhdGZvcm0pO1xuICAgIH1cbiAgICBsZXQgYm9hcmRfbW9kZWwgPSBndGs6OlN0cmluZ0xpc3Q6Om5ldyhcbiAgICAgICAgJmJvYXJkX25hbWVzXG4gICAgICAgICAgICAuaXRlcigpXG4gICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuICAgICAgICAgICAgLmNvbGxlY3Q6OjxWZWM8Xz4+KCksXG4gICAgKTtcbiAgICBsZXQgYm9hcmRfcm93ID0gYWR3OjpDb21ib1Jvdzo6YnVpbGRlcigpXG4gICAgICAgIC50aXRsZShcIlRhcmdldCBib2FyZFwiKVxuICAgICAgICAuc3VidGl0bGUoZm9ybWF0IShcbiAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHt9IHN1cHBvcnRlZCBib2FyZHNcIixcbiAgICAgICAgICAgIGJvYXJkX25hbWVzLmxlbigpIC0gMVxuICAgICAgICApKVxuICAgICAgICAubW9kZWwoJmJvYXJkX21vZGVsKVxuICAgICAgICAuZW5hYmxlX3NlYXJjaCh0cnVlKVxuICAgICAgICAuYnVpbGQoKTsifSx7Im9sZFRleHQiOiIgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICBib2FyZF9yb3cuY29ubmVjdF9zZWxlY3RlZF9ub3RpZnkobW92ZSB8cm93fCB7XG4gICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCByb3csICZkcml2ZV9yb3cpXG4gICAgICAgIH0pOyIsIm5ld1RleHQiOiIgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuICAgICAgICBsZXQgYm9hcmRfcGxhdGZvcm1zID0gYm9hcmRfcGxhdGZvcm1zLmNsb25lKCk7XG4gICAgICAgIGJvYXJkX3Jvdy5jb25uZWN0X3NlbGVjdGVkX25vdGlmeShtb3ZlIHxyb3d8IHtcbiAgICAgICAgICAgIGxldCBzZWxlY3RlZCA9IHJvdy5zZWxlY3RlZCgpIGFzIHVzaXplO1xuICAgICAgICAgICAgaWYgc2VsZWN0ZWQgPT0gMCB7XG4gICAgICAgICAgICAgICAgcm93LnNldF9zdWJ0aXRsZShmb3JtYXQhKFxuICAgICAgICAgICAgICAgICAgICBcIlNlYXJjaCBvciBjaG9vc2UgZnJvbSB7fSBzdXBwb3J0ZWQgYm9hcmRzXCIsXG4gICAgICAgICAgICAgICAgICAgIGJvYXJkX3BsYXRmb3Jtcy5sZW4oKSAtIDFcbiAgICAgICAgICAgICAgICApKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiBsZXQgU29tZShwbGF0Zm9ybSkgPSBib2FyZF9wbGF0Zm9ybXMuZ2V0KHNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgcm93LnNldF9zdWJ0aXRsZShwbGF0Zm9ybSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCByb3csICZkcml2ZV9yb3cpXG4gICAgICAgIH0pOyJ9LHsib2xkVGV4dCI6IiAgICBidXR0b24uc2V0X3NlbnNpdGl2ZShzdGF0ZS5zb3VyY2UuaXNfc29tZSgpICYmIGJvYXJkLnNlbGVjdGVkKCkgIT0gZ3RrOjpJTlZBTElEX0xJU1RfUE9TSVRJT04gJiYgaGFzX2Rlc3RpbmF0aW9uKTsiLCJuZXdUZXh0IjoiICAgIGJ1dHRvbi5zZXRfc2Vuc2l0aXZlKFxuICAgICAgICBzdGF0ZS5zb3VyY2UuaXNfc29tZSgpXG4gICAgICAgICAgICAmJiBib2FyZC5zZWxlY3RlZCgpICE9IGd0azo6SU5WQUxJRF9MSVNUX1BPU0lUSU9OXG4gICAgICAgICAgICAmJiBib2FyZC5zZWxlY3RlZCgpID4gMFxuICAgICAgICAgICAgJiYgaGFzX2Rlc3RpbmF0aW9uLFxuICAgICk7In0seyJvbGRUZXh0IjoiZm4gc3VwcG9ydGVkX2JvYXJkcygpIC0+IFZlYzxTdHJpbmc+IHtcbiAgICBsZXQgbXV0IHJlc3VsdCA9IFZlYzo6bmV3KCk7XG4gICAgbGV0IG11dCBmYW1pbHkgPSBcIk90aGVyXCI7XG4gICAgZm9yIGxpbmUgaW4gQk9BUkRTLmxpbmVzKCkge1xuICAgICAgICBsZXQgbGluZSA9IGxpbmUudHJpbSgpO1xuICAgICAgICBpZiBsaW5lLmlzX2VtcHR5KCkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgbGV0IFNvbWUoaGVhZGluZykgPSBsaW5lLnN0cmlwX3N1ZmZpeCgnOicpIHtcbiAgICAgICAgICAgIGZhbWlseSA9IGhlYWRpbmc7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgYm9hcmQgaW4gbGluZS5zcGxpdF93aGl0ZXNwYWNlKCkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goZm9ybWF0IShcIntib2FyZH0gIMK3ICB7ZmFtaWx5fVwiKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmVzdWx0XG59IiwibmV3VGV4dCI6ImZuIHN1cHBvcnRlZF9ib2FyZHMoKSAtPiBWZWM8KFN0cmluZywgU3RyaW5nKT4ge1xuICAgIGxldCBtdXQgcmVzdWx0ID0gVmVjOjpuZXcoKTtcbiAgICBsZXQgbXV0IGZhbWlseSA9IFwiT3RoZXJcIjtcbiAgICBmb3IgbGluZSBpbiBCT0FSRFMubGluZXMoKSB7XG4gICAgICAgIGxldCBsaW5lID0gbGluZS50cmltKCk7XG4gICAgICAgIGlmIGxpbmUuaXNfZW1wdHkoKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiBsZXQgU29tZShoZWFkaW5nKSA9IGxpbmUuc3RyaXBfc3VmZml4KCc6Jykge1xuICAgICAgICAgICAgZmFtaWx5ID0gaGVhZGluZztcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGZvciBib2FyZCBpbiBsaW5lLnNwbGl0X3doaXRlc3BhY2UoKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCgoYm9hcmQudG9fb3duZWQoKSwgZmFtaWx5LnRvX293bmVkKCkpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXN1bHRcbn0ifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTA1OSwib3V0cHV0IjoxMzMyLCJjYWNoZVJlYWQiOjM1MzI4LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjM4OSwidG90YWxUb2tlbnMiOjM3NzE5LCJjb3N0Ijp7ImlucHV0IjowLjAwNTI5NSwib3V0cHV0IjowLjAzOTk2LCJjYWNoZVJlYWQiOjAuMDE3NjY0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNjI5MTl9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODkwMzI4MjIsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNTZhNjA2YzgxOTE4NDJjNDc2ZmZkY2I5NzUzIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijk3NGNjZDM1IiwicGFyZW50SWQiOiJmMjY2MDQyYiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTc6NDQuNjY3WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9Bb1dMTVlRR3ZmWkFHY1dPRTI1eEl1RVd8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1N2EzN2M0ODE5MWJjNTlhOWFhM2FjMDFhN2EiLCJ0b29sTmFtZSI6ImVkaXQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgcmVwbGFjZWQgNCBibG9jayhzKSBpbiBzcmMvbWFpbi5ycy4ifV0sImRldGFpbHMiOnsiZGlmZiI6IiAgICAgLi4uXG4gIDg2ICAgICBsZXQgaGFyZHdhcmVfZ3JvdXAgPSBhZHc6OlByZWZlcmVuY2VzR3JvdXA6OmJ1aWxkZXIoKVxuICA4NyAgICAgICAgIC50aXRsZShcIlRhcmdldCBIYXJkd2FyZVwiKVxuICA4OCAgICAgICAgIC5kZXNjcmlwdGlvbihcIlRoZSBtYXRjaGluZyBib290bG9hZGVyIGFuZCBkZXZpY2UgdHJlZSB3aWxsIGJlIGluc3RhbGxlZC5cIilcbiAgODkgICAgICAgICAuYnVpbGQoKTtcbi0gOTAgICAgIGxldCBib2FyZF9uYW1lcyA9IHN1cHBvcnRlZF9ib2FyZHMoKTtcbisgOTAgICAgIGxldCBib2FyZHMgPSBzdXBwb3J0ZWRfYm9hcmRzKCk7XG4rIDkxICAgICAvLyBLZWVwIHRoZSBsYWJlbHMgaW4gdGhlIHBvcHVwIHNob3J0LiBUaGUgcGxhdGZvcm0gaXMgc2hvd24gc2VwYXJhdGVseSBpblxuKyA5MiAgICAgLy8gdGhlIHJvdyBzdWJ0aXRsZSBvbmNlIGEgYm9hcmQgaGFzIGJlZW4gc2VsZWN0ZWQuXG4rIDkzICAgICBsZXQgbXV0IGJvYXJkX25hbWVzID0gdmVjIVtcIkNob29zZSBhIGJvYXJk4oCmXCIudG9fb3duZWQoKV07XG4rIDk0ICAgICBsZXQgbXV0IGJvYXJkX3BsYXRmb3JtcyA9IHZlYyFbU3RyaW5nOjpuZXcoKV07XG4rIDk1ICAgICBmb3IgKG5hbWUsIHBsYXRmb3JtKSBpbiBib2FyZHMge1xuKyA5NiAgICAgICAgIGJvYXJkX25hbWVzLnB1c2gobmFtZSk7XG4rIDk3ICAgICAgICAgYm9hcmRfcGxhdGZvcm1zLnB1c2gocGxhdGZvcm0pO1xuKyA5OCAgICAgfVxuICA5MSAgICAgbGV0IGJvYXJkX21vZGVsID0gZ3RrOjpTdHJpbmdMaXN0OjpuZXcoXG4gIDkyICAgICAgICAgJmJvYXJkX25hbWVzXG4gIDkzICAgICAgICAgICAgIC5pdGVyKClcbiAgOTQgICAgICAgICAgICAgLm1hcChTdHJpbmc6OmFzX3N0cilcbiAgOTUgICAgICAgICAgICAgLmNvbGxlY3Q6OjxWZWM8Xz4+KCksXG4gIDk2ICAgICApO1xuICA5NyAgICAgbGV0IGJvYXJkX3JvdyA9IGFkdzo6Q29tYm9Sb3c6OmJ1aWxkZXIoKVxuLSA5OCAgICAgICAgIC50aXRsZShcIkJvYXJkXCIpXG4tIDk5ICAgICAgICAgLnN1YnRpdGxlKFwiU2VsZWN0IHRoZSBzaW5nbGUtYm9hcmQgY29tcHV0ZXIgbW9kZWxcIilcbisxMDYgICAgICAgICAudGl0bGUoXCJUYXJnZXQgYm9hcmRcIilcbisxMDcgICAgICAgICAuc3VidGl0bGUoZm9ybWF0IShcbisxMDggICAgICAgICAgICAgXCJTZWFyY2ggb3IgY2hvb3NlIGZyb20ge30gc3VwcG9ydGVkIGJvYXJkc1wiLFxuKzEwOSAgICAgICAgICAgICBib2FyZF9uYW1lcy5sZW4oKSAtIDFcbisxMTAgICAgICAgICApKVxuIDEwMCAgICAgICAgIC5tb2RlbCgmYm9hcmRfbW9kZWwpXG4gMTAxICAgICAgICAgLmVuYWJsZV9zZWFyY2godHJ1ZSlcbiAxMDIgICAgICAgICAuYnVpbGQoKTtcbiAxMDMgICAgIGhhcmR3YXJlX2dyb3VwLmFkZCgmYm9hcmRfcm93KTtcbiAgICAgLi4uXG4gMzA3ICAgICB7XG4gMzA4ICAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAzMDkgICAgICAgICBsZXQgZHJpdmVfcm93ID0gZHJpdmVfcm93LmNsb25lKCk7XG4gMzEwICAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuKzMyMiAgICAgICAgIGxldCBib2FyZF9wbGF0Zm9ybXMgPSBib2FyZF9wbGF0Zm9ybXMuY2xvbmUoKTtcbiAzMTEgICAgICAgICBib2FyZF9yb3cuY29ubmVjdF9zZWxlY3RlZF9ub3RpZnkobW92ZSB8cm93fCB7XG4rMzI0ICAgICAgICAgICAgIGxldCBzZWxlY3RlZCA9IHJvdy5zZWxlY3RlZCgpIGFzIHVzaXplO1xuKzMyNSAgICAgICAgICAgICBpZiBzZWxlY3RlZCA9PSAwIHtcbiszMjYgICAgICAgICAgICAgICAgIHJvdy5zZXRfc3VidGl0bGUoZm9ybWF0IShcbiszMjcgICAgICAgICAgICAgICAgICAgICBcIlNlYXJjaCBvciBjaG9vc2UgZnJvbSB7fSBzdXBwb3J0ZWQgYm9hcmRzXCIsXG4rMzI4ICAgICAgICAgICAgICAgICAgICAgYm9hcmRfcGxhdGZvcm1zLmxlbigpIC0gMVxuKzMyOSAgICAgICAgICAgICAgICAgKSk7XG4rMzMwICAgICAgICAgICAgIH0gZWxzZSBpZiBsZXQgU29tZShwbGF0Zm9ybSkgPSBib2FyZF9wbGF0Zm9ybXMuZ2V0KHNlbGVjdGVkKSB7XG4rMzMxICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBsYXRmb3JtKTtcbiszMzIgICAgICAgICAgICAgfVxuIDMxMiAgICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCByb3csICZkcml2ZV9yb3cpXG4gMzEzICAgICAgICAgfSk7XG4gMzE0ICAgICB9XG4gMzE1ICAgICB7XG4gICAgIC4uLlxuIDQ0NCAgICAgICAgIHN0YXRlLm91dHB1dF9maWxlLmlzX3NvbWUoKVxuIDQ0NSAgICAgfSBlbHNlIHtcbiA0NDYgICAgICAgICBkcml2ZS5tb2RlbCgpLm1hcCh8bXwgbS5uX2l0ZW1zKCkgPiAwKS51bndyYXBfb3IoZmFsc2UpXG4gNDQ3ICAgICB9O1xuLTQ0OCAgICAgYnV0dG9uLnNldF9zZW5zaXRpdmUoc3RhdGUuc291cmNlLmlzX3NvbWUoKSAmJiBib2FyZC5zZWxlY3RlZCgpICE9IGd0azo6SU5WQUxJRF9MSVNUX1BPU0lUSU9OICYmIGhhc19kZXN0aW5hdGlvbik7XG4rNDY5ICAgICBidXR0b24uc2V0X3NlbnNpdGl2ZShcbis0NzAgICAgICAgICBzdGF0ZS5zb3VyY2UuaXNfc29tZSgpXG4rNDcxICAgICAgICAgICAgICYmIGJvYXJkLnNlbGVjdGVkKCkgIT0gZ3RrOjpJTlZBTElEX0xJU1RfUE9TSVRJT05cbis0NzIgICAgICAgICAgICAgJiYgYm9hcmQuc2VsZWN0ZWQoKSA+IDBcbis0NzMgICAgICAgICAgICAgJiYgaGFzX2Rlc3RpbmF0aW9uLFxuKzQ3NCAgICAgKTtcbiA0NDkgfVxuIDQ1MCBcbi00NTEgZm4gc3VwcG9ydGVkX2JvYXJkcygpIC0+IFZlYzxTdHJpbmc+IHtcbis0NzcgZm4gc3VwcG9ydGVkX2JvYXJkcygpIC0+IFZlYzwoU3RyaW5nLCBTdHJpbmcpPiB7XG4gNDUyICAgICBsZXQgbXV0IHJlc3VsdCA9IFZlYzo6bmV3KCk7XG4gNDUzICAgICBsZXQgbXV0IGZhbWlseSA9IFwiT3RoZXJcIjtcbiA0NTQgICAgIGZvciBsaW5lIGluIEJPQVJEUy5saW5lcygpIHtcbiA0NTUgICAgICAgICBsZXQgbGluZSA9IGxpbmUudHJpbSgpO1xuICAgICAuLi5cbiA0NjAgICAgICAgICAgICAgZmFtaWx5ID0gaGVhZGluZztcbiA0NjEgICAgICAgICAgICAgY29udGludWU7XG4gNDYyICAgICAgICAgfVxuIDQ2MyAgICAgICAgIGZvciBib2FyZCBpbiBsaW5lLnNwbGl0X3doaXRlc3BhY2UoKSB7XG4tNDY0ICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGZvcm1hdCEoXCJ7Ym9hcmR9ICDCtyAge2ZhbWlseX1cIikpO1xuKzQ5MCAgICAgICAgICAgICByZXN1bHQucHVzaCgoYm9hcmQudG9fb3duZWQoKSwgZmFtaWx5LnRvX293bmVkKCkpKTtcbiA0NjUgICAgICAgICB9XG4gNDY2ICAgICB9XG4gNDY3ICAgICByZXN1bHRcbiA0NjggfVxuICAgICAuLi4iLCJwYXRjaCI6Ii0tLSBzcmMvbWFpbi5yc1xuKysrIHNyYy9tYWluLnJzXG5AQCAtODYsMTggKzg2LDI5IEBAXG4gICAgIGxldCBoYXJkd2FyZV9ncm91cCA9IGFkdzo6UHJlZmVyZW5jZXNHcm91cDo6YnVpbGRlcigpXG4gICAgICAgICAudGl0bGUoXCJUYXJnZXQgSGFyZHdhcmVcIilcbiAgICAgICAgIC5kZXNjcmlwdGlvbihcIlRoZSBtYXRjaGluZyBib290bG9hZGVyIGFuZCBkZXZpY2UgdHJlZSB3aWxsIGJlIGluc3RhbGxlZC5cIilcbiAgICAgICAgIC5idWlsZCgpO1xuLSAgICBsZXQgYm9hcmRfbmFtZXMgPSBzdXBwb3J0ZWRfYm9hcmRzKCk7XG4rICAgIGxldCBib2FyZHMgPSBzdXBwb3J0ZWRfYm9hcmRzKCk7XG4rICAgIC8vIEtlZXAgdGhlIGxhYmVscyBpbiB0aGUgcG9wdXAgc2hvcnQuIFRoZSBwbGF0Zm9ybSBpcyBzaG93biBzZXBhcmF0ZWx5IGluXG4rICAgIC8vIHRoZSByb3cgc3VidGl0bGUgb25jZSBhIGJvYXJkIGhhcyBiZWVuIHNlbGVjdGVkLlxuKyAgICBsZXQgbXV0IGJvYXJkX25hbWVzID0gdmVjIVtcIkNob29zZSBhIGJvYXJk4oCmXCIudG9fb3duZWQoKV07XG4rICAgIGxldCBtdXQgYm9hcmRfcGxhdGZvcm1zID0gdmVjIVtTdHJpbmc6Om5ldygpXTtcbisgICAgZm9yIChuYW1lLCBwbGF0Zm9ybSkgaW4gYm9hcmRzIHtcbisgICAgICAgIGJvYXJkX25hbWVzLnB1c2gobmFtZSk7XG4rICAgICAgICBib2FyZF9wbGF0Zm9ybXMucHVzaChwbGF0Zm9ybSk7XG4rICAgIH1cbiAgICAgbGV0IGJvYXJkX21vZGVsID0gZ3RrOjpTdHJpbmdMaXN0OjpuZXcoXG4gICAgICAgICAmYm9hcmRfbmFtZXNcbiAgICAgICAgICAgICAuaXRlcigpXG4gICAgICAgICAgICAgLm1hcChTdHJpbmc6OmFzX3N0cilcbiAgICAgICAgICAgICAuY29sbGVjdDo6PFZlYzxfPj4oKSxcbiAgICAgKTtcbiAgICAgbGV0IGJvYXJkX3JvdyA9IGFkdzo6Q29tYm9Sb3c6OmJ1aWxkZXIoKVxuLSAgICAgICAgLnRpdGxlKFwiQm9hcmRcIilcbi0gICAgICAgIC5zdWJ0aXRsZShcIlNlbGVjdCB0aGUgc2luZ2xlLWJvYXJkIGNvbXB1dGVyIG1vZGVsXCIpXG4rICAgICAgICAudGl0bGUoXCJUYXJnZXQgYm9hcmRcIilcbisgICAgICAgIC5zdWJ0aXRsZShmb3JtYXQhKFxuKyAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHt9IHN1cHBvcnRlZCBib2FyZHNcIixcbisgICAgICAgICAgICBib2FyZF9uYW1lcy5sZW4oKSAtIDFcbisgICAgICAgICkpXG4gICAgICAgICAubW9kZWwoJmJvYXJkX21vZGVsKVxuICAgICAgICAgLmVuYWJsZV9zZWFyY2godHJ1ZSlcbiAgICAgICAgIC5idWlsZCgpO1xuICAgICBoYXJkd2FyZV9ncm91cC5hZGQoJmJvYXJkX3Jvdyk7XG5AQCAtMzA3LDkgKzMxOCwxOSBAQFxuICAgICB7XG4gICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuICAgICAgICAgbGV0IGRyaXZlX3JvdyA9IGRyaXZlX3Jvdy5jbG9uZSgpO1xuICAgICAgICAgbGV0IHN0YXJ0X2J1dHRvbiA9IHN0YXJ0X2J1dHRvbi5jbG9uZSgpO1xuKyAgICAgICAgbGV0IGJvYXJkX3BsYXRmb3JtcyA9IGJvYXJkX3BsYXRmb3Jtcy5jbG9uZSgpO1xuICAgICAgICAgYm9hcmRfcm93LmNvbm5lY3Rfc2VsZWN0ZWRfbm90aWZ5KG1vdmUgfHJvd3wge1xuKyAgICAgICAgICAgIGxldCBzZWxlY3RlZCA9IHJvdy5zZWxlY3RlZCgpIGFzIHVzaXplO1xuKyAgICAgICAgICAgIGlmIHNlbGVjdGVkID09IDAge1xuKyAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKGZvcm1hdCEoXG4rICAgICAgICAgICAgICAgICAgICBcIlNlYXJjaCBvciBjaG9vc2UgZnJvbSB7fSBzdXBwb3J0ZWQgYm9hcmRzXCIsXG4rICAgICAgICAgICAgICAgICAgICBib2FyZF9wbGF0Zm9ybXMubGVuKCkgLSAxXG4rICAgICAgICAgICAgICAgICkpO1xuKyAgICAgICAgICAgIH0gZWxzZSBpZiBsZXQgU29tZShwbGF0Zm9ybSkgPSBib2FyZF9wbGF0Zm9ybXMuZ2V0KHNlbGVjdGVkKSB7XG4rICAgICAgICAgICAgICAgIHJvdy5zZXRfc3VidGl0bGUocGxhdGZvcm0pO1xuKyAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB1cGRhdGVfc3RhcnQoJnN0YXJ0X2J1dHRvbiwgJnN0YXRlLCByb3csICZkcml2ZV9yb3cpXG4gICAgICAgICB9KTtcbiAgICAgfVxuICAgICB7XG5AQCAtNDQ0LDEyICs0NjUsMTcgQEBcbiAgICAgICAgIHN0YXRlLm91dHB1dF9maWxlLmlzX3NvbWUoKVxuICAgICB9IGVsc2Uge1xuICAgICAgICAgZHJpdmUubW9kZWwoKS5tYXAofG18IG0ubl9pdGVtcygpID4gMCkudW53cmFwX29yKGZhbHNlKVxuICAgICB9O1xuLSAgICBidXR0b24uc2V0X3NlbnNpdGl2ZShzdGF0ZS5zb3VyY2UuaXNfc29tZSgpICYmIGJvYXJkLnNlbGVjdGVkKCkgIT0gZ3RrOjpJTlZBTElEX0xJU1RfUE9TSVRJT04gJiYgaGFzX2Rlc3RpbmF0aW9uKTtcbisgICAgYnV0dG9uLnNldF9zZW5zaXRpdmUoXG4rICAgICAgICBzdGF0ZS5zb3VyY2UuaXNfc29tZSgpXG4rICAgICAgICAgICAgJiYgYm9hcmQuc2VsZWN0ZWQoKSAhPSBndGs6OklOVkFMSURfTElTVF9QT1NJVElPTlxuKyAgICAgICAgICAgICYmIGJvYXJkLnNlbGVjdGVkKCkgPiAwXG4rICAgICAgICAgICAgJiYgaGFzX2Rlc3RpbmF0aW9uLFxuKyAgICApO1xuIH1cbiBcbi1mbiBzdXBwb3J0ZWRfYm9hcmRzKCkgLT4gVmVjPFN0cmluZz4ge1xuK2ZuIHN1cHBvcnRlZF9ib2FyZHMoKSAtPiBWZWM8KFN0cmluZywgU3RyaW5nKT4ge1xuICAgICBsZXQgbXV0IHJlc3VsdCA9IFZlYzo6bmV3KCk7XG4gICAgIGxldCBtdXQgZmFtaWx5ID0gXCJPdGhlclwiO1xuICAgICBmb3IgbGluZSBpbiBCT0FSRFMubGluZXMoKSB7XG4gICAgICAgICBsZXQgbGluZSA9IGxpbmUudHJpbSgpO1xuQEAgLTQ2MCw5ICs0ODYsOSBAQFxuICAgICAgICAgICAgIGZhbWlseSA9IGhlYWRpbmc7XG4gICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICB9XG4gICAgICAgICBmb3IgYm9hcmQgaW4gbGluZS5zcGxpdF93aGl0ZXNwYWNlKCkge1xuLSAgICAgICAgICAgIHJlc3VsdC5wdXNoKGZvcm1hdCEoXCJ7Ym9hcmR9ICDCtyAge2ZhbWlseX1cIikpO1xuKyAgICAgICAgICAgIHJlc3VsdC5wdXNoKChib2FyZC50b19vd25lZCgpLCBmYW1pbHkudG9fb3duZWQoKSkpO1xuICAgICAgICAgfVxuICAgICB9XG4gICAgIHJlc3VsdFxuIH1cbiIsImZpcnN0Q2hhbmdlZExpbmUiOjkwfSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTA2NDY2N319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjE0NzQ5ZjRiIiwicGFyZW50SWQiOiI5NzRjY2QzNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTc6NDguNzQwWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipWZXJpZnlpbmcgY29tcGlsYXRpb24qKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNThiYTlhYzgxOTE5YWYzMWUyY2MzOTZmZWU4XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNV01VR1lGbWI0cE5aenRwRjkzTFNscEVoLWlnd24zakpZejduVzNxa2hzb3czRjBWalRuSjE2THNoVl94bTBLSkNoYm5JZDBCVUs5UF8zSjF2SE50YjNnbjFGeF9INkVvSWRLM0ppdTVLTDBvN3RpZW9lUmdzLUNxU3BuUzZacFQ0V3pkY3dTVUh1V3FmUmVQaGNxczZWTzQ5bkQ3R29xWDBpaFRRNy1wSGpBYTJGQzlIM05XRU9rWWhnTnozb1hFbk01MHhUYmRWTkphbG9ZYnUyOFJyUEpNM2l2V0pUWTVBN1Y4T1h0SmhwZnNyUU9BX0laTFpsSnpZdXVQdF90dXZUdEd3SGtRSE9iM0ZEMThHcHZ5X09vdVhQbFhjdm5tQ1htNmhoMHMzZE1Za0JxNS02eGZLWVIzcGtPancwTG9OOXpuZEt1WHdoa3ZIZElsTWNWRVJGRmJ0M29Qdnl4VTBWTV96SEl6cDdXeGlpdVFqcHVnbU4yM1NjTWdBTXp1N01QYkdhWll4a3c4ZkhBOEI0WERTN25SOUhNWGtuSWNPX3g1U2w0RG9kNTA4MGRTWDlucE9vRjJfRmxvNVZ6NXROalJic2p3dW5BV1Y1QXRyY25rN3FYSzhvLXRKVnpVUFRrbV9SSUFaQXpZOUY4Z1hjUFgzc0pqWVdnNnFxQTBueVVwSlA4SjZOYmp4SkZvelJza3k0SFNmTmdCN0tWbHRqWS10WGhkangxSUxTLU5tblFmdkFjMEVTYmozYTNJRE0zeklWemRKZXE3WXdaSGlXaWsxTmhwRXJ2R1dnTjVXcUtBaVo5ZGF6dXJEZWtGa01uc05uTEZnd1NEZFVpdUxnMGRnSWxIdVNMRlhfLVFvd1JYY1pQelJYM2pRWG9DMjlOQ2Z1Qll3WTJjSE5TODBDS2NTX18xbUZQSFlNeVJ3R0FLa2txYkNaMXcwOWpCbjE0eHY3SERGRlBGRHowS2Q1a21WZ1VZT014cHJHMG1qTnhhMnZaYjZXWGVRRDRoS0NFWm4wcEpnc1ljNmQycHRDN0tna3VIRnY2R2xqY1RiUjFWMFdJRTJPbk1GUTNXSGxjLVBOOUxadU03Ul9PUEg2UUxoV2dzQjJ4VzRpNDNTSVV5Z2FrNjlyNm12anNDa1ZoVnZUUHNSSmxpVHFQVC04YzE1UXRBSTNiU3JIemR0NWtUMzVfbjFaellZVnVYNHBzLWRZWWYyN09WbXZlWG9ybzNlMEU1U2dwV1prcmhpR2VWMWgwTmZtU092U1E0a1RcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlZlcmlmeWluZyBjb21waWxhdGlvbioqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9JREs0RWFCSUhKckgyWmJsZkxvcE1ESWt8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1OGMxN2E4ODE5MTgwNTdmNmFkMTI5ZjgyMGUiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiRE9DU19SUz0xIFJVU1RDX0JPT1RTVFJBUD0xIFJVU1RGTEFHUz0nLS1jZmcgZG9jc3JzJyBjYXJnbyBjaGVjayIsInRpbWVvdXQiOjEyMH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyNDEzLCJvdXRwdXQiOjU0LCJjYWNoZVJlYWQiOjM1MzI4LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjcsInRvdGFsVG9rZW5zIjozNzc5NSwiY29zdCI6eyJpbnB1dCI6MC4wMTIwNjUwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDE2MjAwMDAwMDAwMDAwMDAxLCJjYWNoZVJlYWQiOjAuMDE3NjY0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMzEzNDl9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODkwNjQ2NjksInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNTg5MDVjMDgxOTFiZDViMjI1NTkyMGYxODE5In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijk1MzJjZmQwIiwicGFyZW50SWQiOiIxNDc0OWY0YiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTc6NDguOTY0WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9JREs0RWFCSUhKckgyWmJsZkxvcE1ESWt8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1OGMxN2E4ODE5MTgwNTdmNmFkMTI5ZjgyMGUiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgQ2hlY2tpbmcgZmxhc2hlciB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIpXG5lcnJvcltFMDMwOF06IG1pc21hdGNoZWQgdHlwZXNcbiAgIC0tPiBzcmMvbWFpbi5yczozMjY6MzRcbiAgICB8XG4zMjYgfCAgICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKGZvcm1hdCEoXG4gICAgfCAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX15cbjMyNyB8IHwgICAgICAgICAgICAgICAgICAgICBcIlNlYXJjaCBvciBjaG9vc2UgZnJvbSB7fSBzdXBwb3J0ZWQgYm9hcmRzXCIsXG4zMjggfCB8ICAgICAgICAgICAgICAgICAgICAgYm9hcmRfcGxhdGZvcm1zLmxlbigpIC0gMVxuMzI5IHwgfCAgICAgICAgICAgICAgICAgKSk7XG4gICAgfCB8X19fX19fX19fX19fX19fX19eIGV4cGVjdGVkIGAmc3RyYCwgZm91bmQgYFN0cmluZ2BcblxuRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBlcnJvciwgdHJ5IGBydXN0YyAtLWV4cGxhaW4gRTAzMDhgLlxuZXJyb3I6IGNvdWxkIG5vdCBjb21waWxlIGBmbGFzaGVyYCAoYmluIFwiZmxhc2hlclwiKSBkdWUgdG8gMSBwcmV2aW91cyBlcnJvclxuXG5cbkNvbW1hbmQgZXhpdGVkIHdpdGggY29kZSAxMDEifV0sImRldGFpbHMiOnt9LCJpc0Vycm9yIjp0cnVlLCJ0aW1lc3RhbXAiOjE3ODQ5ODkwNjg5NjR9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJiNDljN2Q3ZSIsInBhcmVudElkIjoiOTUzMmNmZDAiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjE3OjUyLjk5MVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqSWRlbnRpZnlpbmcgZm9ybWF0IG1ldGhvZCByZXF1aXJlbWVudHMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNThlYjRmODgxOTFiMDA3ZGVlYzQ4ZmU0NDZmXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNV1A3QmM2d3ZRSmZpdlhuNGxRcHIxMDFldzFnOWRXNDFNTHlkcUpaeTJUN2gyYnYxQ1BmcUtpSzJCbGRrTVVqalZvNklUUjdEWUhJUnJYZUNBLWsxX0RFd1g5aDA5NWpRb0xmYTM2WDFBNnRnVEp2a1AzQ1pjUjdTTXlzNTBPSkJ6NTB1SzRaTEhxNExOZnp0cXcwZE1vSlduOUl2Q1htMjJ4NkFnTmtYcGtXU0RSV2wtck1EZTYwSXd2YWxLcTJTbHFTclVfUURwaHhsMGNCMU5MZ09jU29SQVJoczVwTC1EckdnVnN5anFNYkFfQzc3ZE1XRnhUM0N0RWdSM013OV93a1QxVTBJQTBuNTMwbTRHTGxQRTFQR1VLTHg2d1RKR18wNi10cmdJcXBlV0d2c0VtV2NxRVU2QVM1ZG91WGJ3Y2dJMnZ4YmRLX2NCLTVfcjlMVVI0MEc1QWx0QVBMSEdVc3dMb094cDZFWm1telZFdVBTTy1mUFJkd1J3OHd6UExLMEhrV2xZV2tIUFhQMUVvb1NxcEMtTDVoclp5VTFFWmh1N0VCTUY3RGxWdFZkb1BKNGRIRnZOMzIxWlVYTllqbEtIRVlnMUpzdzhkNDh6RHRheUF6bWoxWGVKLTFXVy1vSkZvQndBQjROeG1pbkk1MDFHZXhGaExyN1o3bC1wRmtzZWlwenVpX1VWdnBtRUNJcWtUREVYcGpqOUZoT2JvMk4xbmN1RXZKUEZvejc5R040c3J6VW1NY1RvQWlRM29fMlF1dlJDcURUdkcyZm03VUtDQk5Td3VMazB2ZFkyUTRHd1pPQ0RNbm1aQXF2T0c2YjFxeERCbmpUTkNpQXVVblhDMUhNa2lRaGdUTnpJYm0wZU5keWFSR21VQjdhaFJOaGVxbzNiTVFsemhCZURaUFVGWjgtOURzWEpEdWk1TnZnVVdEYUE1c3ZiaGQ0enRXOHZmZm5obU8zSFBVaC1HaURjZ3B6T29Sa2lwbGZ4dlp0cVdfaHcwR2hBcUpMQk5KVlBvZHEtNzhUdGpfV2lNRzQ5WG5NRk42RnRSbkl5UzYxLW43WnZfSnkxWFAxMHF6aFZwS2IxZnpVSHBuVDZrdmVJNkJZX0Rxd2dTQW5ZR3o1eEFJaU8tYkZTVTNuT2ZGakx4SWJsTTRfbjQ4ZVhOUUJFMXo4TDE5VDZMbl8tU2RVSmNjYkt0ZTZwQUFCSDBSaEMzaXVHclFBTF94VnpsTUZjNndvak53emJER0RJc1lpNzNyRDZMcVVqT2dwdENuNzVJdkZZSjhDSWF4TEtBdWtuUFRodi1SalBYUEdfOXBPdnc5SmREbUxSUFYwWWRZT2gzYjIzdkIwZVFvZFpiczNUSC1qUWlCQTNoRWRLNm9ybGJZUT09XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipJZGVudGlmeWluZyBmb3JtYXQgbWV0aG9kIHJlcXVpcmVtZW50cyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9FZzhDandqVDFLZ2wxeHVTRzRUMHF5ZzJ8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1OGZiMTA0ODE5MWJhZDBjMGU0OTAwNmQ2MzIiLCJuYW1lIjoiZWRpdCIsImFyZ3VtZW50cyI6eyJwYXRoIjoic3JjL21haW4ucnMiLCJlZGl0cyI6W3sib2xkVGV4dCI6IiAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKGZvcm1hdCEoXG4gICAgICAgICAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHt9IHN1cHBvcnRlZCBib2FyZHNcIixcbiAgICAgICAgICAgICAgICAgICAgYm9hcmRfcGxhdGZvcm1zLmxlbigpIC0gMVxuICAgICAgICAgICAgICAgICkpOyIsIm5ld1RleHQiOiIgICAgICAgICAgICAgICAgcm93LnNldF9zdWJ0aXRsZSgmZm9ybWF0IShcbiAgICAgICAgICAgICAgICAgICAgXCJTZWFyY2ggb3IgY2hvb3NlIGZyb20ge30gc3VwcG9ydGVkIGJvYXJkc1wiLFxuICAgICAgICAgICAgICAgICAgICBib2FyZF9wbGF0Zm9ybXMubGVuKCkgLSAxXG4gICAgICAgICAgICAgICAgKSk7In1dfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjU3Nywib3V0cHV0IjoxMjIsImNhY2hlUmVhZCI6MzczNzYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MjEsInRvdGFsVG9rZW5zIjozODA3NSwiY29zdCI6eyJpbnB1dCI6MC4wMDI4ODUwMDAwMDAwMDAwMDA0LCJvdXRwdXQiOjAuMDAzNjYsImNhY2hlUmVhZCI6MC4wMTg2ODgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyNTIzM319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTA2ODk2NiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1OGQ2NDBjODE5MTkxMzE5NDQyZGEwMjc3Y2IifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiN2NiNTI3OTEiLCJwYXJlbnRJZCI6ImI0OWM3ZDdlIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxNzo1Mi45OTVaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0VnOENqd2pUMUtnbDF4dVNHNFQwcXlnMnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzU4ZmIxMDQ4MTkxYmFkMGMwZTQ5MDA2ZDYzMiIsInRvb2xOYW1lIjoiZWRpdCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSByZXBsYWNlZCAxIGJsb2NrKHMpIGluIHNyYy9tYWluLnJzLiJ9XSwiZGV0YWlscyI6eyJkaWZmIjoiICAgICAuLi5cbiAzMjIgICAgICAgICBsZXQgYm9hcmRfcGxhdGZvcm1zID0gYm9hcmRfcGxhdGZvcm1zLmNsb25lKCk7XG4gMzIzICAgICAgICAgYm9hcmRfcm93LmNvbm5lY3Rfc2VsZWN0ZWRfbm90aWZ5KG1vdmUgfHJvd3wge1xuIDMyNCAgICAgICAgICAgICBsZXQgc2VsZWN0ZWQgPSByb3cuc2VsZWN0ZWQoKSBhcyB1c2l6ZTtcbiAzMjUgICAgICAgICAgICAgaWYgc2VsZWN0ZWQgPT0gMCB7XG4tMzI2ICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKGZvcm1hdCEoXG4rMzI2ICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKCZmb3JtYXQhKFxuIDMyNyAgICAgICAgICAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHt9IHN1cHBvcnRlZCBib2FyZHNcIixcbiAzMjggICAgICAgICAgICAgICAgICAgICBib2FyZF9wbGF0Zm9ybXMubGVuKCkgLSAxXG4gMzI5ICAgICAgICAgICAgICAgICApKTtcbiAzMzAgICAgICAgICAgICAgfSBlbHNlIGlmIGxldCBTb21lKHBsYXRmb3JtKSA9IGJvYXJkX3BsYXRmb3Jtcy5nZXQoc2VsZWN0ZWQpIHtcbiAgICAgLi4uIiwicGF0Y2giOiItLS0gc3JjL21haW4ucnNcbisrKyBzcmMvbWFpbi5yc1xuQEAgLTMyMiw5ICszMjIsOSBAQFxuICAgICAgICAgbGV0IGJvYXJkX3BsYXRmb3JtcyA9IGJvYXJkX3BsYXRmb3Jtcy5jbG9uZSgpO1xuICAgICAgICAgYm9hcmRfcm93LmNvbm5lY3Rfc2VsZWN0ZWRfbm90aWZ5KG1vdmUgfHJvd3wge1xuICAgICAgICAgICAgIGxldCBzZWxlY3RlZCA9IHJvdy5zZWxlY3RlZCgpIGFzIHVzaXplO1xuICAgICAgICAgICAgIGlmIHNlbGVjdGVkID09IDAge1xuLSAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKGZvcm1hdCEoXG4rICAgICAgICAgICAgICAgIHJvdy5zZXRfc3VidGl0bGUoJmZvcm1hdCEoXG4gICAgICAgICAgICAgICAgICAgICBcIlNlYXJjaCBvciBjaG9vc2UgZnJvbSB7fSBzdXBwb3J0ZWQgYm9hcmRzXCIsXG4gICAgICAgICAgICAgICAgICAgICBib2FyZF9wbGF0Zm9ybXMubGVuKCkgLSAxXG4gICAgICAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgIH0gZWxzZSBpZiBsZXQgU29tZShwbGF0Zm9ybSkgPSBib2FyZF9wbGF0Zm9ybXMuZ2V0KHNlbGVjdGVkKSB7XG4iLCJmaXJzdENoYW5nZWRMaW5lIjozMjZ9LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5MDcyOTk1fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZjViZmQzNzIiLCJwYXJlbnRJZCI6IjdjYjUyNzkxIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxNzo1NS42NjFaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX21BNWRhNXdBNUU0UmI4Q1g4bDVjZTEyN3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzU5MmU0M2M4MTkxYWFiZjMxYmFlOGRmMWMwNyIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJET0NTX1JTPTEgUlVTVENfQk9PVFNUUkFQPTEgUlVTVEZMQUdTPSctLWNmZyBkb2NzcnMnIGNhcmdvIGNoZWNrIiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjcyMSwib3V0cHV0Ijo0NSwiY2FjaGVSZWFkIjozNzM3NiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MzgxNDIsImNvc3QiOnsiaW5wdXQiOjAuMDAzNjA1LCJvdXRwdXQiOjAuMDAxMzUsImNhY2hlUmVhZCI6MC4wMTg2ODgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyMzY0M319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTA3Mjk5NiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1OTE2MDk4ODE5MTk5Mzk5ODRlNjJlNWJiMzEifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMDBkZmIzMzIiLCJwYXJlbnRJZCI6ImY1YmZkMzcyIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxNzo1NS44MjdaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX21BNWRhNXdBNUU0UmI4Q1g4bDVjZTEyN3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzU5MmU0M2M4MTkxYWFiZjMxYmFlOGRmMWMwNyIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiAgICBDaGVja2luZyBmbGFzaGVyIHYwLjEuMCAoL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlcilcbiAgICBGaW5pc2hlZCBgZGV2YCBwcm9maWxlIFt1bm9wdGltaXplZCArIGRlYnVnaW5mb10gdGFyZ2V0KHMpIGluIDAuMTVzXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODkwNzU4Mjd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJmOTdlODJjYSIsInBhcmVudElkIjoiMDBkZmIzMzIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjE3OjU5LjAzNloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJJbXByb3ZlZCB0aGUgYm9hcmQgc2VsZWN0b3IgaW4gYHNyYy9tYWluLnJzYDpcblxuLSBEcm9wZG93biBub3cgZGlzcGxheXMgb25seSBib2FyZCBuYW1lcywgcmVkdWNpbmcgaG9yaXpvbnRhbCBjbHV0dGVyLlxuLSBQbGF0Zm9ybS9mYW1pbHkgaW5mb3JtYXRpb24gYXBwZWFycyBpbiB0aGUgcm93IHN1YnRpdGxlIGFmdGVyIHNlbGVjdGlvbi5cbi0gQWRkZWQgYSDigJxDaG9vc2UgYSBib2FyZOKApuKAnSBwbGFjZWhvbGRlci5cbi0gRGlzcGxheXMgdGhlIG51bWJlciBvZiBzdXBwb3J0ZWQgYm9hcmRzLlxuLSBXcml0aW5nIHJlbWFpbnMgZGlzYWJsZWQgdW50aWwgYSBib2FyZCBpcyBleHBsaWNpdGx5IHNlbGVjdGVkLlxuXG5gY2FyZ28gY2hlY2tgIHBhc3Nlcy4iLCJ0ZXh0U2lnbmF0dXJlIjoie1widlwiOjEsXCJpZFwiOlwibXNnXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNTk1NjY4NDgxOTE5OTZlMjE0NzJhM2IyNDM5XCIsXCJwaGFzZVwiOlwiZmluYWxfYW5zd2VyXCJ9In1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjgyMSwib3V0cHV0Ijo3NiwiY2FjaGVSZWFkIjozNzM3NiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MzgyNzMsImNvc3QiOnsiaW5wdXQiOjAuMDA0MTA1LCJvdXRwdXQiOjAuMDAyMjgsImNhY2hlUmVhZCI6MC4wMTg2ODgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyNTA3Mjk5OTk5OTk5OTk5OH19LCJzdG9wUmVhc29uIjoic3RvcCIsInRpbWVzdGFtcCI6MTc4NDk4OTA3NTgyOCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1OTQyY2Y4ODE5MTk3OTk0MzYzMWY5NDVlODQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYzFjZTFiNzQiLCJwYXJlbnRJZCI6ImY5N2U4MmNhIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxODo0MC40NDVaIiwibWVzc2FnZSI6eyJyb2xlIjoidXNlciIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6ImJ1dCBub3QgdGhlcmUgaXMgbm8gc2VwYXJhdGlvbiBiYXNlZCBvbiBhIHBsYXRmb3JtIG9yIFNvQyJ9XSwidGltZXN0YW1wIjoxNzg0OTg5MTIwNDQ0fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMmIyM2Q3ZjIiLCJwYXJlbnRJZCI6ImMxY2UxYjc0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxOTozMS4yNDNaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkV2YWx1YXRpbmcgZGlhbG9nIGRlc2lnbiBmb3IgZ3JvdXBlZCBzZWxlY3Rpb25zKipcblxuKipEZXNpZ25pbmcgc2VhcmNoYWJsZSBncm91cGVkIGRyb3Bkb3duIHdpdGggaGVhZGluZ3MqKlxuXG4qKkltcGxlbWVudGluZyBzdHlsZWQgaGVhZGluZyBzdHJpbmdzIGluIGxpc3QgbW9kZWwqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNWMyNzk5NDgxOTFiMzg1YjMwZjlmYzk1MzViXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNWFduejlNdGpWR0JKRmJ5V1hmQjlnZXdzbmJ5R1hRTkxKdjliXzh0MnZ6ZldZTDREZElkSXhuWXlEMDNWOHZpeUQ0SzRZNFJJYmhfZ3ZXNnF0NmZJbUtiT3BDOXNabk44d2lpbDlyQ2hzekoySE1QZ0RQYVRjYVVVNUtZYVR1LWJjMlZVd1NpTWlNNzF1em9HTC1fWG00Nmt1N2dnY2lKZXJva0F5XzdoSFMxMVJXMjVubGhIVGhvYlJ6TkFsNm9FaktUekpzVUVZVGpVQlZDNk5GS2h4WmxlRHdadU9nOTJSRWZHdVJJdUpvTW50ZkhBb2ptT1hmTUpxSlNuYTZHbE9kUU40bzcyMVZkMWNBUmFENmFZNlpJaGRHQmtMNVRvS1JkcDJfY2E3bWp2czNRTktZMkNKWWcwcUlDRC1nREZxWF9fM0k2S21zMGVpMTM1TmZFekNNQXJLbEpWdDB2Q3Uwcm01d28tMmdWMXZtSDZnT0RYUzZFLVljbVNhWnlkWndYUlhvS2VEektoVHlkenlaMk0xbXgxVnVDUWJHOXZNSTVjR2xYWktvdDR2aldQam16RUQ2eF93VzVJQzFVSlBFcmhsb1lNN3EzaWJ4QklyZFpqeHphMTJ0dGRqeVpuVUxWcENVNTg1bHRBM05VcFMzY1otdjg3UjNnbEFvc1Etdk9aNUx6WDBzZ1Z5LUFRRnpvRzdHWDNjcmJzUF85c0JBS3FsUkJpTi02LThRZW0zT0N4QXRONGVfV2pNWUdJY2M0cGFxZzRQT0YwR09hc3NUQU1IQzlNbkcwcUVDSldQengycDQzck1PTW5meTh0R1Ztd1JVTEwxZHU4aWVvSjZJdjExRzR3MThsOGJhVXlBdTJIb1FMVk4yWGlLNWthVVNpbVlhdlVXN3dFSWVqWTlORWtWQmhMajhNZFhaMEZpWUo2cUtrSWNLSUoyVXpGQl9Sc25hZzNoOWg0OXNRSUJYMmNrU1IzbHFGVzI3aEZuLUd0YTREVi1KbnZCVUtCMTQ0Q0labkw4RXdZWlNSTGxxUGNvQjZPQ3NZNXdLcU1sbzJzWG9rd0VsTExTbE9Ec1AwU2JFaW5kMjdkMExTbjMzc0Zjb09Fa0dIVW5aYk11MVVYcEw0M205eTA4aEV5cElheDJaSFJTTTgtOEFDd2pjOTJJT3l5bHEyYklqSjFwZ1lHdEkwcDAzQVhQa3VfSlpweGxJS3Z5YjRUYmRINGdoUEg5cnNKRWNHdFRoX1RZQUQtUUJzNjlzMzBrT21EX0xoY2h1MHBfOEVXNmlGT3BLa19CcjNFNmNRcnN5eTlBamVueHJfd01QdXU1SzhHY1hfcFpKVkVyNXB0enJwT3NuZGN3OGxUek1tNWd2YUszaGZGMlRVUTB5MkZoWmxrdTlqRjlVZGY5eHhaX0w3eWloSHUxbXFVMmtueUh0UTNzUVl0TVpTVm43aTBEbS1DZ0RQdU5EMEZMZ1pMbzZrSnVMc2l3V05MYUNabWdaa1FaOXRGemNTQVhBdzJJcjJITWl4ZzlLU25rQ0Y0eE9tRk9WV2JvM3p0TURBNnJJazRDcWNySWNRY0xHSHVkWnN5NXl3VEhhcVpuU1VkMWxiVnVBdVpLaW9yZmdQVW11VzYwUnVzRWd6blBjUktTeW5kajdaa3VDeUx3UXFfaTJjRzFxY09CU2xCdko2U3BUbGNHSlllenE5Q1Y4WjN0QnlzeGhJV0lxN00tU2tuU3dqeGpHWjlUdmpEbDQ1bHZ5eFdzRGF0SzIteEhyRWh2QUt2TlhVYWlhd3ZVQUNZaVh2bnUya3pkdGs1QzVadnZUY0IxMDBFVmxVQm1icUtDX1dlQ3BNWXkwQVdid0lMS0FYRVRhNU9UbnMyM3l6SHBwcHNJYTBNTV9lWW5BT0dmRDZ5Q2I4OHh6aHpfOHhGNkdXZWdfaUdfclJuZnd3NlA1b0p0UGRtajI3Z1RRZEJMbGpHSzBXLVRDZWMyR1ctaTFvb0dEdGJXTmtzNGJVN3otbmhBU0FWbWZpWkw2UVZOZ29NcnNVT1lzX1FydFdrTnR2bnk2SmVRMXVVODBxdmI3amJtVFozT0pJQlUtNl84eThqVjlRQllqV2YzZU5ZQm9kdXRjZ3o2bWtzLWFUYmo2MWR3dk53b0FpNzVTRzI4N3YtV2RoSlZlUy1hNEl6WFNxRXB4NkNVS0ozdlIxQmYxazVkTWFZNDNvVDVaWUYta2hfV0JEQTJaVFEzaUdaM25CdGVuN3NOR29uMzB5RW9uWm9Od0JYMVdINFBWdU56N1g4NUNvcUpsMUVKTXpPOVlORVc2N1V4SC1kUE53WlB0bGk5MDh0LWs3LUpaXzRYUkNaaUlST1JoczQ4TDFSQ1p1MFBDYnNvZDRvZzZ2bDRLeG0xNDZHLTl6ZlJtZ0djZ1d1cXlHWGtYWHpvVjNwWjlKbDJSVEt0eHh1S2ZHdC1iZEt3M0VhTHJwazA4RkttT2dFOWRwXy1YN3RnR0xHZmM4d1Y4YWQ0STdacm1LUnI5VXFaUTJ0cTVlMEh0WEp6VHl6RGplcDZpUzA3UmZPTDNsY1didm5GdnE0ZWFJUmdnMHlxUjhDaURuTUI3c1lHOWkxX3dIRi0yOWtmZzR5Wm8tVDFNWnNTRVY1eENuZHF1cFdGTnRkSXFUWmUzbHQwYlBKa0RrMGNKaVpkUC1BdS03MWxieGQ5WkVoNFJZOEpwdDF2M2xxRjRnVVpLdzNZTnAyVjNiZ0o4NU5nUUhoaXdsQk1OTUtQUHU4emVfTE9SUDRsaFlyc3k0aDlTaHdxNmRtSlFxS0lUZGU5V3pfa3dLVXVrZU9CdHhYaFM1MXZWb1JZYkpmZExiSXd2X3lrcE5BREx5UWJjTWhWcW56cHplV2VDcWpPUEFmYlg0WEdXQm1pR3l5OEY5djdTRFRQaGsxZmFxY1NubkdvMmd1akFPVUlTeC14OUNld01jdEdJMFQ1anhzTWxlemhCQk1WZFJzNWFPVW9aTUVYdVNXbzQwa0pmbjhiRVFWVUhEcEFqZUlpd09ScGN1TEtEaUlVT0dQc3BMUjJyYkd4N0poOURrUHI2SEZtLVRZQ1NURVBLTmJlVDNvcy1jVDRRTV9HMF9kRERZdU41LU1Zc1NwTzdMa0xKNTQ1NUtoSUVwR3o3aTdUMHR0OUhMamk4R0wzU0xXeE0ydXBzWnBLSllXUlRGdFdPQU9OdFVDaV9mX3QyMzdrV2g1NktsLVRDcWl1YkR0X2hfYmpnX0lFOW5FZ2M1NGdaZFExZXlhaU0tMk93cThEZDNIcXZSNW43cHBDZ2ZUZFNnTjFKV0F1UGdDRkhyWFFyUlBnSjhseVNDUVFSNFU1aG9hVVNZUHo1UE5xeUVVUU1VbGE0RG5EWWhoUVpFV1g5bGZRd2dzUWlXVUNtWXJudlBhcFhaSE12SUEwUmdFcmt5QU5Nc3RIbFFYNW10c054R2ZmVnRPaWVsRDVJOVlsTnAzWFNKdGRHS3RmTTUtZVRzM01CdFBHTVktUWpWNUVNYVdJMHVoa3FPb2lXbjktSXdwUHI4aERjUVVLNkFCZFB6cmIyQ0FtYkpncEpOc2tfQ01LUUZseFpMRmJNVFpKNHc4U0tzNXRpeVRLdG50enBKV0JjNVpKWFNMRFhhQXFTVXU5NVB4VnNadGR4UHZUSWRNNi1meWxRbEtxTlo4UHpHeDJHSGxnSWxEcFdBMnJoVkl5SEo3eGNRcGFWWnhXWUY0MUFqUEtZVEdqemR4R0RNQ203d1B2cVFEVHNNd3lrZU0zLVZWQnY5QW9uRm9GRTR6aUJFUk9ObXRaSlRfUnNGa3VhVWZJdFVmdVRxRFZSNTdKenY3YmlaUWxMX3g1MkcwaE1IcE1ZRGlBWEhyTDFfaVNFUFcyTHdSRFkxSzJnQlRGMlpON29DZnk4R2dhZHlzUkVibDZpdk9JYlVha3JyamxVQXJVeDgwbmRVajlhaUpETDctQTk0UXRRUEUweEY3Nk44bXVKc0NxbGFGNGhsdV95emFOVmR1dzlJN0sxN2p1MjZZbDNzRUVWSmo4T21xVGw2ZGw5cTNRMjlQMVRFSUpxZ3hPNzAzX01sTDU4UUczWkE1RTAwSXJEUXBTYXBfNmJ3ODhPSVNSTENvb0M4a2tlMGpjWnV0cFFiclZ3STk4QWxpTU1MRk43MVJGUzZ2bTh5WlVtZFE1allVN1dOaVpsa2JJTWF5SWQ4R3JDY09ZQzdIa0Y1WkNVMGZmTEtCNjNSMWxoN25SOXNURGNhMzhHaTE2ZE10X2Z5NXRFQkVqWEQxRjdKR2Mtd1ZJWDRVbk5TSmFVOWJhOWhWNFhGalREVm50cmlEbWU5bnQ3SHpFX1RYTFl4XzMwTzR3bVBsRnJQZHpVQmh5M0RhY3hUVDZXVFRTMHI1MGc1ckR6RkEyQXZGSHQyN3dtaU5CVXB3Z1Bvc0NJM091aHZKdy1kd0VFeTR3M0h6UGdhekJzc19UNUtwNjRuMHNhb1FpTnVmWmNjdEN6eW0zRHlnbmpBMlpSWG9iR2libDlXVURCZHRJS1lJNmVKVHF3ZWJGcThLQ0k1NENWaVAtZ2duWEQtNUxhWGZRRlNmTHVVaThmU3FoYmRhbFNhZ2lDSXI5VjdrQzdTa1NYQlVmcC1CVjdqVTNiVE5qdkMtMWRPOHF6cEZsak4yY0FJSzFhSUQ4NzVTY1l6QjlDWW9nczVSN211aWhXOE9LUG1oM1ZPQ3NqVDFUb29WUDd5RWM0ZHR3N0g1TlNFOUJkanBoYTJ6SjVIbWFwZGhUNWp3d1M2c1NxVFpmS19GZGVfLW9LY3F3ejlkSjlQclFPeDFYS2piS0dtOHlDd1p2RnNlZjROTGdEVVZkLUwzUFlTalBmQThKRExDdEpsS20xLXZfSjktSkFIMDdWcDRRV0V0dkJLOXpnTTJKSzExcTBtM3BKUHN2bGJSbmdXOV9pZENyY0NHaEhVcFJEclNZaVl4NWJHaUo2QkNyc1Z2RGRUb0d4S3E5b0tmLUUtZVE1dXQ5STNBNGl0R3QzWDlCVFFCaHdqVTJQZkREeWZkN1VReGktSGU1SG5tN0RqbGhQUkFDMW1hamJrbk1tSGxLcUEwUDFyVnBZczI3SDJrMWdIcm1rZERHOEJrald2U1ZyOHRKdWxUYV9vQ3BYYmoxdkIyTHNDc3MtdHlDZ1hnTTFRTjZsNS1iR3RCQnFTN2JZbkRiR05WSUY0VGRZNlFzNU5vYUtaRVRrYkpqSlFuRmxOaDV0cU4tNXRrWlkyOG1fU2ZuazFvUWRBYW0wYXp6SC10ZEtZWDc0LUtpRVFLQTYwbGlmbXozUWZtT1ljekt5M01jOE4xWm5oblFOWUxLRGpoNmgyOG00T2lSQjFxNnhKcUhJdHlTUWZzejU2a2dXNnpwa2Ruaktnbk5na0std3huVVVzQnJMcDlDOWdULTAwMlFnMGRnZ0NfWGVoOU92VFRzUi1tVGUxRFRFZkZjdGJkQWRfWEYxWWdTZk5hcFE4SFRpOUpSWHFmT1BncUYwVU41SVRtei1LWWtpNks5Qlg2ZnBKeVFxbWVjTWdmLWpKTmxnRWpENENZVnp6SHcxajFhV3N3WGpSWUJaZE5rV3p6RkNmUnZJbVI4UDRLODhuSWh6UDNoVVd6VHRITFpOME00cXVkSUFBb0JOVFZyWHF3aDN2ZXduWm9JSUtYeG84OUVFenhwZE9GaXRuZWtHYTNQN2VJUkFOOXBSSktvZFNibFRzUUVSOTQ4TklreGNkUElSRVJsUjYxRm81TXlHd1RfYWlSeUxXMEh5YVBQbTdDbm5aN0FUeE1HRUFUS3ZEMm42UGFSVXJaM0ZTUkd6dlhRS3VuWTQ0aXNjYnhOX2ZBNDdMcGtfenY1R3N4akxxZzEyYlpXRFV5cmQ1QWM3VzRhYTcxUEp0a19KTXpnX1c3aXpFUHc0ZTctMGZnMHV6cU1nWV9BM3EyZWQxQmRUSGpjd29LYlBJcmlGZFhoLVR2QT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkV2YWx1YXRpbmcgZGlhbG9nIGRlc2lnbiBmb3IgZ3JvdXBlZCBzZWxlY3Rpb25zKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkRlc2lnbmluZyBzZWFyY2hhYmxlIGdyb3VwZWQgZHJvcGRvd24gd2l0aCBoZWFkaW5ncyoqXCJ9LHtcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipJbXBsZW1lbnRpbmcgc3R5bGVkIGhlYWRpbmcgc3RyaW5ncyBpbiBsaXN0IG1vZGVsKipcIn1dfSJ9LHsidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlJlZmFjdG9yaW5nIGJvYXJkIHN1bW1hcnkgd2l0aCBwbGF0Zm9ybSBoZWFkaW5ncyoqXG5cbioqQWRqdXN0aW5nIHNlbGVjdGlvbiB1cGRhdGUgbG9naWMgYW5kIGJvYXJkIGNvdW50cyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1ZDY5NjkwODE5MTg5N2NlMGY0NDE2Y2NlZGRcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1YaGRNZFNzblVZQ29EcGNnWmo4SDJ3STJEZHFkazBILWljTEYyR2tNRnYxb3lnSzJMbDk5MS1FdFB5Y3ZtRUlWd1N5VXBXR3JSR3RVNTRmVFE4SEE2YXVxMFA0R0ZFWmNreElfanBEZm5zMW1jY3NORjQxNjVQU193TWoyOGphN2JyLWJpcW9fc3lqaTNDZVJ0Qklvay1aYnVUcGJNVmdOUWlGTmVUZGUxR2xLMFZyTmJHaC1STldHUUZhRTVPeTAwWGdfdUZyVUJyY3JiR18tT2FTb0c5ZXF3emdsOFM2aVhPZXRvMlRvQnNOS19aMmFyRmdUYTNPUlVwOWtXdnBGRFF2QlV4MnhLYkstejdKd2xjV3ZJREEtT2p5TWNOYWM1TVlfR0xSSzFSMHNoRUNiMGZoQUhXcnJSTVJJUlRVZVNheHV2MGUtT25wU2FqV3RvSG5BR2xsSTRfVUJJLUg5VVduS1VfWE56MDktTTNHQTkxaVFEZlFfX1VPaG9VZU5OS2FYeTVycGdka1lacktfNHd4NTBmbzBITTM3N3VyT1Y0UEl1bGEyeUxvOE92Yi04OE80akxEMEd5UzFxUGo3NDIwQWJUekhuUWFsU0ttOTNOZzk3eXVhWDAxYjRfb2Y3djFydWIxek9acEpHa2lVaUF6bDRLdFd1dm1sdUpFR1prU1lrelNIeXM5eEZzUFp2UkVfOEt6ejZRNS1zUWVSVWQtZWNyelFPNGNVazA3aXRHZlAxZ0cxaldveW1FdXlaNXlTNDZKQjFxcUFyVjE4djM0c1UtZWpOSVg3Q0ZnTDE2MWZwVVZsWklhYkFXeXI2QW5fR2hmVmFLSmZNNXNRb2Vka1VzS2I3Nms5LTRGMENqeDl0Mk5jWGNKTFNPXy1ZdzU4eWF0a3pvZkg0LS1FTkN2T2FBSjBKV2x6UzFuWk94T1pQTGs2c3ZKVjJqQmcwbFpFWlJwcXFTNU84Q0FmVlJqMWIyN0NFMlJCZk9TejV2V3NSdDlVZExQc2J0Tlp5c1pZeHJjWmR1QVRLZGpwNWxYdUxyX1pDcmN0b244dTRlNnFmVEhxOHZhVF9nM2pNZkJpVXJZUUZPajNnQTNWYnpQVUhhN0hvbm94T2xwSmJ3ZDAzVmJSZ1A5aG5ETFR1bGp1b2VrQ2lsQXlPS3ZZNFY4X2lpdWl1RlcySTdGX0J3OE5ydUtOVkVRNGtPX1MtZTdPQy1kMFpldFBsNUhFUFZpb0RpTW14VHgwckFILTJLLWg0MXgtbWdnV0daVjdSQTktX2I4ODBvRl9zcS1Ld2ppbUEzOTBDNFoxYXNxb2RGTkhsZzNKNVhiTldTbENULUt1RHdjU0Z1NExGMElHblNmSHVxVWFZekVWZHprZkxfUnd1NE5HUTFUSzJaU3IxUkpFWUJySXZNMnBKXzRwVkFYUXVUWUw0UUhSMDNRLUYtTFh2MnlwY2xOM0E0dU95MnpXUXllRWlTZVJkWkZXTFlkdHNqeWxPcUVzc2dVVTRpNFhJZEp1eEd4ZV9jMF9HQ1dsaEVxbjJObHRUVk8xMzNUSUJ0SjF0T0FZRW8xeG5fQzVkeVBuRHNFbGVmckRjTkJ2NGc5U3lJcmkzTnljaVVBVVBsNkhoOXdzLW9kTVZPRXBXMEZUWVdvamF1N3gwUWptbm8xVlJ4VGtVYzZuN284N2w1S1NNOW1RSkk3d0M3Mmp4dHpaOE1Yd3VudGZhbnFhY3RTNy1fdDJuZFJ3VWk2WV9fbjlNaDZOeVFrOG9pOTdzSmswaEdWNzA1OVVLSHZPV2RSN0wyTHpvTFVRT3lNbDlaRkEzMXp3c2J4ZUhESU12c05WRG15eUJfWDU3V0dGeF9NbU04aGNIdFZZYjYyZ190R2t5QktQSl94WlJMZmR4WXhVQ3lsYmF4SHo0anNVMjJ4SENWWXJNZ3NBSUg5TWZUYU0yS09fSVZkUk51VXdoaWFTdE9FejZGMnFucW5MdnVUMWtOZXhPcmU4Z2NVVWRkOWl6bW9qTG90Q0U5MHhtd0xiOG5IM0VUd0JYcEppcUZpY09Rb2JaUHEyNmt1YzJ6S29veWo1SHBXbWsxUWZRUDljSFlxMEZVdkItZ09NaHBIZ1h1ajR1aU1kbGFkZHBQQ1k2R3NwbWxtMktVR2ZMWURidWVMT2JyeXBra0VGVXVVZy05bXFwd29LOEd2ZjZQS3EtT0laVENpV1dmUG4wTXYtWjBPRmQ3czZ3WkFsRnR6ZElfVnBmdGVBVVhmeEhPN01xQnpmNkUyWDlNVFJPS3dJY3JYMVFiamV5WmNPZ2E3QW5PZG85aEpyLVlXUVJ6ZEFVSVB4Tm40VGpIVXRnZWxqUWpJS3h1WWp4bXE0eEh6WF8tQV9RTmVlc3pQbW1uTGZqeUlhMnhhZGJSb1ZHYUdFY0xzVXBqbFJ4V1JYbkJ1RXBrU2NYQ1ZKN2Q5TXd4TUN2YWJSbjh4aC1BMklWbVkza2FxRHc2SzljQ1QxUjcxdlZnMTd3Z00tM2NDem1ETUdhOHdEWFI2TldUN3E0VVZPa1ZfVFhWX3p2M1JFZURFQzFoaTdFRnNsajlDMUF4OVVjSGtRbThvTkZfeGxFaVRDWm9rREdVMXlrNzZSX0diTDNXdGJMWEdFenljTVQ0dnZldGluSXlxNUR6NEhkUUg4QmwtM2lnWi1ja05zYWY2cnpNUC1tZVNrNkptazRDSWxhUU52MkRvRHBSRm5NREh3WC1KVzllck45cDlfRGFQUEZqTW9YakJfUEpSNElOOVFoYUNRaHNmZHYwWjFPbzZjNlZoeGVqSDNmSkI4QWZ2Z2wzSVZOdGVQYVM4MmpBM05NTzBNVHN6aW9FdXdadmtWUVRoTjcxcWxNOXpFYXdtenhHbGZFbjQ3eVZJYWhVTmhlakNBVXM3NXNyU0hTYlluc25kd0E0UHRwUWUwNGtzeTB2RkU5TjZmX08yaTVhcUN4bVMxRWEyQWhaUFRtVzNQaGZ6dWpmcnVEa3AzdldRUXI0Wkx4ZTVuRG5vYmhYNE9ZM2JlYWJWOXpVb1R5S0VMYkdINFJiTVlxTWQ1SWdZVXVzalE2OS1MM3o1S18xZDZmS21Jb2xHSVc0bWF3eFVZajBCc3UxYlo0LWdxVEl4dGFPZmNzUGlGWHlVLVFiNTNUcS0xclJ0V0cwT3BEaUpVbUhLd2VFNnJRYnVGYmRYMW1sbzZPZnJpY2ZONVNUVi1KbEpQa1RBZHEwbVY5SWxFZHVNYy1rNEl0ZnkwNG4zUzhBWWVLZFFCb1BfYVVXS2RWWU1ZcmUxbU1XekstM2lRcnFWSXZvZ25meDd3YUEyeF95S2hQS29pSXhNaFlxRExfaTVnRzMxQl9ueW1KeV90QTVraU5RTERhX3JVM2tjUW5QMHlzb2pKYUk5UWp6VlpsbEhpNUFtUk5lTmRiMi1kTzZ2WnlOb3R1UHNBWFl2RFJoaXRRVTJVbDZGdDY0aVY5WlNyVE1pdHRKem1OMG45Y3NRV1pfTHVFTVRZMkgtNWcxd1RDbm5kVHEwNFg5WU9mbVk0NFo1c3dtQUxRdmd4NGVVenNmQkU4dEJKcFo4UGxFVm5ONm03Vm9OMFdlSlZncnhzVnVDQjExVV9HNlMzbzRDWkRraVJOYU1wYXZhVGFrSGxWNzNIMU8tMlJ0SEZkUzNLTk9IN05tSUNBWW1EQTkya2FUZzVqSndTS0JOOGNlYWdnUU9MbXJJS3d4My1TdTEtdFpwOUVWXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipSZWZhY3RvcmluZyBib2FyZCBzdW1tYXJ5IHdpdGggcGxhdGZvcm0gaGVhZGluZ3MqKlwifSx7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqQWRqdXN0aW5nIHNlbGVjdGlvbiB1cGRhdGUgbG9naWMgYW5kIGJvYXJkIGNvdW50cyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9XbzRNRmQ5NDd3UUtHbnJuT0FtcVVXaVN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1ZTE1YmE0ODE5MTgyZTdjODA5YWYyNTQzNWUiLCJuYW1lIjoiZWRpdCIsImFyZ3VtZW50cyI6eyJwYXRoIjoic3JjL21haW4ucnMiLCJlZGl0cyI6W3sib2xkVGV4dCI6IiAgICBsZXQgYm9hcmRzID0gc3VwcG9ydGVkX2JvYXJkcygpO1xuICAgIC8vIEtlZXAgdGhlIGxhYmVscyBpbiB0aGUgcG9wdXAgc2hvcnQuIFRoZSBwbGF0Zm9ybSBpcyBzaG93biBzZXBhcmF0ZWx5IGluXG4gICAgLy8gdGhlIHJvdyBzdWJ0aXRsZSBvbmNlIGEgYm9hcmQgaGFzIGJlZW4gc2VsZWN0ZWQuXG4gICAgbGV0IG11dCBib2FyZF9uYW1lcyA9IHZlYyFbXCJDaG9vc2UgYSBib2FyZOKAplwiLnRvX293bmVkKCldO1xuICAgIGxldCBtdXQgYm9hcmRfcGxhdGZvcm1zID0gdmVjIVtTdHJpbmc6Om5ldygpXTtcbiAgICBmb3IgKG5hbWUsIHBsYXRmb3JtKSBpbiBib2FyZHMge1xuICAgICAgICBib2FyZF9uYW1lcy5wdXNoKG5hbWUpO1xuICAgICAgICBib2FyZF9wbGF0Zm9ybXMucHVzaChwbGF0Zm9ybSk7XG4gICAgfVxuICAgIGxldCBib2FyZF9tb2RlbCA9IGd0azo6U3RyaW5nTGlzdDo6bmV3KFxuICAgICAgICAmYm9hcmRfbmFtZXNcbiAgICAgICAgICAgIC5pdGVyKClcbiAgICAgICAgICAgIC5tYXAoU3RyaW5nOjphc19zdHIpXG4gICAgICAgICAgICAuY29sbGVjdDo6PFZlYzxfPj4oKSxcbiAgICApO1xuICAgIGxldCBib2FyZF9yb3cgPSBhZHc6OkNvbWJvUm93OjpidWlsZGVyKClcbiAgICAgICAgLnRpdGxlKFwiVGFyZ2V0IGJvYXJkXCIpXG4gICAgICAgIC5zdWJ0aXRsZShmb3JtYXQhKFxuICAgICAgICAgICAgXCJTZWFyY2ggb3IgY2hvb3NlIGZyb20ge30gc3VwcG9ydGVkIGJvYXJkc1wiLFxuICAgICAgICAgICAgYm9hcmRfbmFtZXMubGVuKCkgLSAxXG4gICAgICAgICkpXG4gICAgICAgIC5tb2RlbCgmYm9hcmRfbW9kZWwpXG4gICAgICAgIC5lbmFibGVfc2VhcmNoKHRydWUpXG4gICAgICAgIC5idWlsZCgpOyIsIm5ld1RleHQiOiIgICAgbGV0IGJvYXJkcyA9IHN1cHBvcnRlZF9ib2FyZHMoKTtcbiAgICBsZXQgYm9hcmRfY291bnQgPSBib2FyZHMubGVuKCk7XG4gICAgLy8gQ29tYm9Sb3cgZG9lcyBub3QgaGF2ZSBuYXRpdmUgc2VjdGlvbiBoZWFkZXJzLCBzbyBpbnNlcnQgbm9uLXNlbGVjdGFibGUsXG4gICAgLy8gY2xlYXJseSBtYXJrZWQgaGVhZGluZ3Mgd2hpbGUga2VlcGluZyB0aGUgYWN0dWFsIGJvYXJkIGxhYmVscyBjb21wYWN0LlxuICAgIGxldCBtdXQgYm9hcmRfbmFtZXMgPSB2ZWMhW1wiQ2hvb3NlIGEgYm9hcmTigKZcIi50b19vd25lZCgpXTtcbiAgICBsZXQgbXV0IGJvYXJkX3BsYXRmb3JtcyA9IHZlYyFbU3RyaW5nOjpuZXcoKV07XG4gICAgbGV0IG11dCBib2FyZF90YXJnZXRzID0gdmVjIVtOb25lXTtcbiAgICBsZXQgbXV0IHByZXZpb3VzX3BsYXRmb3JtID0gTm9uZTtcbiAgICBmb3IgKG5hbWUsIHBsYXRmb3JtKSBpbiBib2FyZHMge1xuICAgICAgICBpZiBwcmV2aW91c19wbGF0Zm9ybS5hc19kZXJlZigpICE9IFNvbWUocGxhdGZvcm0uYXNfc3RyKCkpIHtcbiAgICAgICAgICAgIGJvYXJkX25hbWVzLnB1c2goZm9ybWF0IShcIuKUgOKUgCB7cGxhdGZvcm19IOKUgOKUgFwiKSk7XG4gICAgICAgICAgICBib2FyZF9wbGF0Zm9ybXMucHVzaChTdHJpbmc6Om5ldygpKTtcbiAgICAgICAgICAgIGJvYXJkX3RhcmdldHMucHVzaChOb25lKTtcbiAgICAgICAgICAgIHByZXZpb3VzX3BsYXRmb3JtID0gU29tZShwbGF0Zm9ybS5jbG9uZSgpKTtcbiAgICAgICAgfVxuICAgICAgICBib2FyZF9uYW1lcy5wdXNoKG5hbWUuY2xvbmUoKSk7XG4gICAgICAgIGJvYXJkX3BsYXRmb3Jtcy5wdXNoKHBsYXRmb3JtKTtcbiAgICAgICAgYm9hcmRfdGFyZ2V0cy5wdXNoKFNvbWUobmFtZSkpO1xuICAgIH1cbiAgICBsZXQgYm9hcmRfbW9kZWwgPSBndGs6OlN0cmluZ0xpc3Q6Om5ldyhcbiAgICAgICAgJmJvYXJkX25hbWVzXG4gICAgICAgICAgICAuaXRlcigpXG4gICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuICAgICAgICAgICAgLmNvbGxlY3Q6OjxWZWM8Xz4+KCksXG4gICAgKTtcbiAgICBsZXQgYm9hcmRfcm93ID0gYWR3OjpDb21ib1Jvdzo6YnVpbGRlcigpXG4gICAgICAgIC50aXRsZShcIlRhcmdldCBib2FyZFwiKVxuICAgICAgICAuc3VidGl0bGUoZm9ybWF0IShcbiAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHtib2FyZF9jb3VudH0gc3VwcG9ydGVkIGJvYXJkc1wiXG4gICAgICAgICkpXG4gICAgICAgIC5tb2RlbCgmYm9hcmRfbW9kZWwpXG4gICAgICAgIC5lbmFibGVfc2VhcmNoKHRydWUpXG4gICAgICAgIC5idWlsZCgpOyJ9LHsib2xkVGV4dCI6IiAgICAgICAgbGV0IGJvYXJkX3BsYXRmb3JtcyA9IGJvYXJkX3BsYXRmb3Jtcy5jbG9uZSgpO1xuICAgICAgICBib2FyZF9yb3cuY29ubmVjdF9zZWxlY3RlZF9ub3RpZnkobW92ZSB8cm93fCB7XG4gICAgICAgICAgICBsZXQgc2VsZWN0ZWQgPSByb3cuc2VsZWN0ZWQoKSBhcyB1c2l6ZTtcbiAgICAgICAgICAgIGlmIHNlbGVjdGVkID09IDAge1xuICAgICAgICAgICAgICAgIHJvdy5zZXRfc3VidGl0bGUoJmZvcm1hdCEoXG4gICAgICAgICAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHt9IHN1cHBvcnRlZCBib2FyZHNcIixcbiAgICAgICAgICAgICAgICAgICAgYm9hcmRfcGxhdGZvcm1zLmxlbigpIC0gMVxuICAgICAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIGxldCBTb21lKHBsYXRmb3JtKSA9IGJvYXJkX3BsYXRmb3Jtcy5nZXQoc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBsYXRmb3JtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZGF0ZV9zdGFydCgmc3RhcnRfYnV0dG9uLCAmc3RhdGUsIHJvdywgJmRyaXZlX3JvdylcbiAgICAgICAgfSk7IiwibmV3VGV4dCI6IiAgICAgICAgbGV0IGJvYXJkX3BsYXRmb3JtcyA9IGJvYXJkX3BsYXRmb3Jtcy5jbG9uZSgpO1xuICAgICAgICBsZXQgYm9hcmRfdGFyZ2V0cyA9IGJvYXJkX3RhcmdldHMuY2xvbmUoKTtcbiAgICAgICAgYm9hcmRfcm93LmNvbm5lY3Rfc2VsZWN0ZWRfbm90aWZ5KG1vdmUgfHJvd3wge1xuICAgICAgICAgICAgbGV0IHNlbGVjdGVkID0gcm93LnNlbGVjdGVkKCkgYXMgdXNpemU7XG4gICAgICAgICAgICBpZiBzZWxlY3RlZCA+IDBcbiAgICAgICAgICAgICAgICAmJiBib2FyZF90YXJnZXRzXG4gICAgICAgICAgICAgICAgICAgIC5nZXQoc2VsZWN0ZWQpXG4gICAgICAgICAgICAgICAgICAgIC5pc19zb21lX2FuZChPcHRpb246OmlzX25vbmUpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLy8gU2VjdGlvbiBoZWFkaW5ncyBhcmUgbGFiZWxzLCBub3QgdmFsaWQgaW5zdGFsbGF0aW9uIHRhcmdldHMuXG4gICAgICAgICAgICAgICAgcm93LnNldF9zZWxlY3RlZCgwKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiBzZWxlY3RlZCA9PSAwIHtcbiAgICAgICAgICAgICAgICBsZXQgY291bnQgPSBib2FyZF90YXJnZXRzLml0ZXIoKS5mbGF0dGVuKCkuY291bnQoKTtcbiAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKCZmb3JtYXQhKFxuICAgICAgICAgICAgICAgICAgICBcIlNlYXJjaCBvciBjaG9vc2UgZnJvbSB7Y291bnR9IHN1cHBvcnRlZCBib2FyZHNcIlxuICAgICAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIGxldCBTb21lKHBsYXRmb3JtKSA9IGJvYXJkX3BsYXRmb3Jtcy5nZXQoc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBsYXRmb3JtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZGF0ZV9zdGFydCgmc3RhcnRfYnV0dG9uLCAmc3RhdGUsIHJvdywgJmRyaXZlX3JvdylcbiAgICAgICAgfSk7In0seyJvbGRUZXh0IjoiICAgICAgICBsZXQgYm9hcmRfbmFtZXMgPSBib2FyZF9uYW1lcy5jbG9uZSgpO1xuICAgICAgICBsZXQgZHJpdmVfbW9kZWwgPSBkcml2ZV9tb2RlbC5jbG9uZSgpOyIsIm5ld1RleHQiOiIgICAgICAgIGxldCBib2FyZF90YXJnZXRzID0gYm9hcmRfdGFyZ2V0cy5jbG9uZSgpO1xuICAgICAgICBsZXQgZHJpdmVfbW9kZWwgPSBkcml2ZV9tb2RlbC5jbG9uZSgpOyJ9LHsib2xkVGV4dCI6IiAgICAgICAgICAgIGxldCBib2FyZCA9IGJvYXJkX25hbWVzXG4gICAgICAgICAgICAgICAgLmdldChib2FyZF9yb3cuc2VsZWN0ZWQoKSBhcyB1c2l6ZSlcbiAgICAgICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuICAgICAgICAgICAgICAgIC51bndyYXBfb3IoXCJVbmtub3duIGJvYXJkXCIpOyIsIm5ld1RleHQiOiIgICAgICAgICAgICBsZXQgYm9hcmQgPSBib2FyZF90YXJnZXRzXG4gICAgICAgICAgICAgICAgLmdldChib2FyZF9yb3cuc2VsZWN0ZWQoKSBhcyB1c2l6ZSlcbiAgICAgICAgICAgICAgICAuYW5kX3RoZW4oT3B0aW9uOjphc19kZXJlZilcbiAgICAgICAgICAgICAgICAudW53cmFwX29yKFwiVW5rbm93biBib2FyZFwiKTsifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6OTE2LCJvdXRwdXQiOjE4NTEsImNhY2hlUmVhZCI6MzczNzYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NzkzLCJ0b3RhbFRva2VucyI6NDAxNDMsImNvc3QiOnsiaW5wdXQiOjAuMDA0NTgwMDAwMDAwMDAwMDAxLCJvdXRwdXQiOjAuMDU1NTMsImNhY2hlUmVhZCI6MC4wMTg2ODgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA3ODc5OH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTEyMDQ0NywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1YzBjZGYwODE5MTkyNjA0OWMzMDhhMjlkYTQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiOWQwMDAyOTAiLCJwYXJlbnRJZCI6IjJiMjNkN2YyIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxOTozMS4yNTBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1dvNE1GZDk0N3dRS0ducm5PQW1xVVdpU3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzVlMTViYTQ4MTkxODJlN2M4MDlhZjI1NDM1ZSIsInRvb2xOYW1lIjoiZWRpdCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSByZXBsYWNlZCA0IGJsb2NrKHMpIGluIHNyYy9tYWluLnJzLiJ9XSwiZGV0YWlscyI6eyJkaWZmIjoiICAgICAuLi5cbiAgODcgICAgICAgICAudGl0bGUoXCJUYXJnZXQgSGFyZHdhcmVcIilcbiAgODggICAgICAgICAuZGVzY3JpcHRpb24oXCJUaGUgbWF0Y2hpbmcgYm9vdGxvYWRlciBhbmQgZGV2aWNlIHRyZWUgd2lsbCBiZSBpbnN0YWxsZWQuXCIpXG4gIDg5ICAgICAgICAgLmJ1aWxkKCk7XG4gIDkwICAgICBsZXQgYm9hcmRzID0gc3VwcG9ydGVkX2JvYXJkcygpO1xuLSA5MSAgICAgLy8gS2VlcCB0aGUgbGFiZWxzIGluIHRoZSBwb3B1cCBzaG9ydC4gVGhlIHBsYXRmb3JtIGlzIHNob3duIHNlcGFyYXRlbHkgaW5cbi0gOTIgICAgIC8vIHRoZSByb3cgc3VidGl0bGUgb25jZSBhIGJvYXJkIGhhcyBiZWVuIHNlbGVjdGVkLlxuKyA5MSAgICAgbGV0IGJvYXJkX2NvdW50ID0gYm9hcmRzLmxlbigpO1xuKyA5MiAgICAgLy8gQ29tYm9Sb3cgZG9lcyBub3QgaGF2ZSBuYXRpdmUgc2VjdGlvbiBoZWFkZXJzLCBzbyBpbnNlcnQgbm9uLXNlbGVjdGFibGUsXG4rIDkzICAgICAvLyBjbGVhcmx5IG1hcmtlZCBoZWFkaW5ncyB3aGlsZSBrZWVwaW5nIHRoZSBhY3R1YWwgYm9hcmQgbGFiZWxzIGNvbXBhY3QuXG4gIDkzICAgICBsZXQgbXV0IGJvYXJkX25hbWVzID0gdmVjIVtcIkNob29zZSBhIGJvYXJk4oCmXCIudG9fb3duZWQoKV07XG4gIDk0ICAgICBsZXQgbXV0IGJvYXJkX3BsYXRmb3JtcyA9IHZlYyFbU3RyaW5nOjpuZXcoKV07XG4rIDk2ICAgICBsZXQgbXV0IGJvYXJkX3RhcmdldHMgPSB2ZWMhW05vbmVdO1xuKyA5NyAgICAgbGV0IG11dCBwcmV2aW91c19wbGF0Zm9ybSA9IE5vbmU7XG4gIDk1ICAgICBmb3IgKG5hbWUsIHBsYXRmb3JtKSBpbiBib2FyZHMge1xuLSA5NiAgICAgICAgIGJvYXJkX25hbWVzLnB1c2gobmFtZSk7XG4rIDk5ICAgICAgICAgaWYgcHJldmlvdXNfcGxhdGZvcm0uYXNfZGVyZWYoKSAhPSBTb21lKHBsYXRmb3JtLmFzX3N0cigpKSB7XG4rMTAwICAgICAgICAgICAgIGJvYXJkX25hbWVzLnB1c2goZm9ybWF0IShcIuKUgOKUgCB7cGxhdGZvcm19IOKUgOKUgFwiKSk7XG4rMTAxICAgICAgICAgICAgIGJvYXJkX3BsYXRmb3Jtcy5wdXNoKFN0cmluZzo6bmV3KCkpO1xuKzEwMiAgICAgICAgICAgICBib2FyZF90YXJnZXRzLnB1c2goTm9uZSk7XG4rMTAzICAgICAgICAgICAgIHByZXZpb3VzX3BsYXRmb3JtID0gU29tZShwbGF0Zm9ybS5jbG9uZSgpKTtcbisxMDQgICAgICAgICB9XG4rMTA1ICAgICAgICAgYm9hcmRfbmFtZXMucHVzaChuYW1lLmNsb25lKCkpO1xuICA5NyAgICAgICAgIGJvYXJkX3BsYXRmb3Jtcy5wdXNoKHBsYXRmb3JtKTtcbisxMDcgICAgICAgICBib2FyZF90YXJnZXRzLnB1c2goU29tZShuYW1lKSk7XG4gIDk4ICAgICB9XG4gIDk5ICAgICBsZXQgYm9hcmRfbW9kZWwgPSBndGs6OlN0cmluZ0xpc3Q6Om5ldyhcbiAxMDAgICAgICAgICAmYm9hcmRfbmFtZXNcbiAxMDEgICAgICAgICAgICAgLml0ZXIoKVxuICAgICAuLi5cbiAxMDQgICAgICk7XG4gMTA1ICAgICBsZXQgYm9hcmRfcm93ID0gYWR3OjpDb21ib1Jvdzo6YnVpbGRlcigpXG4gMTA2ICAgICAgICAgLnRpdGxlKFwiVGFyZ2V0IGJvYXJkXCIpXG4gMTA3ICAgICAgICAgLnN1YnRpdGxlKGZvcm1hdCEoXG4tMTA4ICAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHt9IHN1cHBvcnRlZCBib2FyZHNcIixcbi0xMDkgICAgICAgICAgICAgYm9hcmRfbmFtZXMubGVuKCkgLSAxXG4rMTE4ICAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHtib2FyZF9jb3VudH0gc3VwcG9ydGVkIGJvYXJkc1wiXG4gMTEwICAgICAgICAgKSlcbiAxMTEgICAgICAgICAubW9kZWwoJmJvYXJkX21vZGVsKVxuIDExMiAgICAgICAgIC5lbmFibGVfc2VhcmNoKHRydWUpXG4gMTEzICAgICAgICAgLmJ1aWxkKCk7XG4gICAgIC4uLlxuIDMxOSAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmNsb25lKCk7XG4gMzIwICAgICAgICAgbGV0IGRyaXZlX3JvdyA9IGRyaXZlX3Jvdy5jbG9uZSgpO1xuIDMyMSAgICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbiAzMjIgICAgICAgICBsZXQgYm9hcmRfcGxhdGZvcm1zID0gYm9hcmRfcGxhdGZvcm1zLmNsb25lKCk7XG4rMzMyICAgICAgICAgbGV0IGJvYXJkX3RhcmdldHMgPSBib2FyZF90YXJnZXRzLmNsb25lKCk7XG4gMzIzICAgICAgICAgYm9hcmRfcm93LmNvbm5lY3Rfc2VsZWN0ZWRfbm90aWZ5KG1vdmUgfHJvd3wge1xuIDMyNCAgICAgICAgICAgICBsZXQgc2VsZWN0ZWQgPSByb3cuc2VsZWN0ZWQoKSBhcyB1c2l6ZTtcbiszMzUgICAgICAgICAgICAgaWYgc2VsZWN0ZWQgPiAwXG4rMzM2ICAgICAgICAgICAgICAgICAmJiBib2FyZF90YXJnZXRzXG4rMzM3ICAgICAgICAgICAgICAgICAgICAgLmdldChzZWxlY3RlZClcbiszMzggICAgICAgICAgICAgICAgICAgICAuaXNfc29tZV9hbmQoT3B0aW9uOjppc19ub25lKVxuKzMzOSAgICAgICAgICAgICB7XG4rMzQwICAgICAgICAgICAgICAgICAvLyBTZWN0aW9uIGhlYWRpbmdzIGFyZSBsYWJlbHMsIG5vdCB2YWxpZCBpbnN0YWxsYXRpb24gdGFyZ2V0cy5cbiszNDEgICAgICAgICAgICAgICAgIHJvdy5zZXRfc2VsZWN0ZWQoMCk7XG4rMzQyICAgICAgICAgICAgICAgICByZXR1cm47XG4rMzQzICAgICAgICAgICAgIH1cbiAzMjUgICAgICAgICAgICAgaWYgc2VsZWN0ZWQgPT0gMCB7XG4rMzQ1ICAgICAgICAgICAgICAgICBsZXQgY291bnQgPSBib2FyZF90YXJnZXRzLml0ZXIoKS5mbGF0dGVuKCkuY291bnQoKTtcbiAzMjYgICAgICAgICAgICAgICAgIHJvdy5zZXRfc3VidGl0bGUoJmZvcm1hdCEoXG4tMzI3ICAgICAgICAgICAgICAgICAgICAgXCJTZWFyY2ggb3IgY2hvb3NlIGZyb20ge30gc3VwcG9ydGVkIGJvYXJkc1wiLFxuLTMyOCAgICAgICAgICAgICAgICAgICAgIGJvYXJkX3BsYXRmb3Jtcy5sZW4oKSAtIDFcbiszNDcgICAgICAgICAgICAgICAgICAgICBcIlNlYXJjaCBvciBjaG9vc2UgZnJvbSB7Y291bnR9IHN1cHBvcnRlZCBib2FyZHNcIlxuIDMyOSAgICAgICAgICAgICAgICAgKSk7XG4gMzMwICAgICAgICAgICAgIH0gZWxzZSBpZiBsZXQgU29tZShwbGF0Zm9ybSkgPSBib2FyZF9wbGF0Zm9ybXMuZ2V0KHNlbGVjdGVkKSB7XG4gMzMxICAgICAgICAgICAgICAgICByb3cuc2V0X3N1YnRpdGxlKHBsYXRmb3JtKTtcbiAzMzIgICAgICAgICAgICAgfVxuICAgICAuLi5cbiAzODggICAgICAgICBsZXQgd2luZG93ID0gd2luZG93LmNsb25lKCk7XG4gMzg5ICAgICAgICAgbGV0IHRvYXN0X292ZXJsYXkgPSB0b2FzdF9vdmVybGF5LmNsb25lKCk7XG4gMzkwICAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAzOTEgICAgICAgICBsZXQgYm9hcmRfcm93ID0gYm9hcmRfcm93LmNsb25lKCk7XG4tMzkyICAgICAgICAgbGV0IGJvYXJkX25hbWVzID0gYm9hcmRfbmFtZXMuY2xvbmUoKTtcbis0MTEgICAgICAgICBsZXQgYm9hcmRfdGFyZ2V0cyA9IGJvYXJkX3RhcmdldHMuY2xvbmUoKTtcbiAzOTMgICAgICAgICBsZXQgZHJpdmVfbW9kZWwgPSBkcml2ZV9tb2RlbC5jbG9uZSgpO1xuIDM5NCAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAzOTUgICAgICAgICBzdGFydF9idXR0b24uY29ubmVjdF9jbGlja2VkKG1vdmUgfF98IHtcbiAzOTYgICAgICAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuYm9ycm93KCk7XG4tMzk3ICAgICAgICAgICAgIGxldCBib2FyZCA9IGJvYXJkX25hbWVzXG4rNDE2ICAgICAgICAgICAgIGxldCBib2FyZCA9IGJvYXJkX3RhcmdldHNcbiAzOTggICAgICAgICAgICAgICAgIC5nZXQoYm9hcmRfcm93LnNlbGVjdGVkKCkgYXMgdXNpemUpXG4tMzk5ICAgICAgICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuKzQxOCAgICAgICAgICAgICAgICAgLmFuZF90aGVuKE9wdGlvbjo6YXNfZGVyZWYpXG4gNDAwICAgICAgICAgICAgICAgICAudW53cmFwX29yKFwiVW5rbm93biBib2FyZFwiKTtcbiA0MDEgICAgICAgICAgICAgbGV0IGRlc3RpbmF0aW9uID0gaWYgc3RhdGUub3V0cHV0X2lzX2ZpbGUge1xuIDQwMiAgICAgICAgICAgICAgICAgc3RhdGVcbiA0MDMgICAgICAgICAgICAgICAgICAgICAub3V0cHV0X2ZpbGVcbiAgICAgLi4uIiwicGF0Y2giOiItLS0gc3JjL21haW4ucnNcbisrKyBzcmMvbWFpbi5yc1xuQEAgLTg3LDE1ICs4NywyNSBAQFxuICAgICAgICAgLnRpdGxlKFwiVGFyZ2V0IEhhcmR3YXJlXCIpXG4gICAgICAgICAuZGVzY3JpcHRpb24oXCJUaGUgbWF0Y2hpbmcgYm9vdGxvYWRlciBhbmQgZGV2aWNlIHRyZWUgd2lsbCBiZSBpbnN0YWxsZWQuXCIpXG4gICAgICAgICAuYnVpbGQoKTtcbiAgICAgbGV0IGJvYXJkcyA9IHN1cHBvcnRlZF9ib2FyZHMoKTtcbi0gICAgLy8gS2VlcCB0aGUgbGFiZWxzIGluIHRoZSBwb3B1cCBzaG9ydC4gVGhlIHBsYXRmb3JtIGlzIHNob3duIHNlcGFyYXRlbHkgaW5cbi0gICAgLy8gdGhlIHJvdyBzdWJ0aXRsZSBvbmNlIGEgYm9hcmQgaGFzIGJlZW4gc2VsZWN0ZWQuXG4rICAgIGxldCBib2FyZF9jb3VudCA9IGJvYXJkcy5sZW4oKTtcbisgICAgLy8gQ29tYm9Sb3cgZG9lcyBub3QgaGF2ZSBuYXRpdmUgc2VjdGlvbiBoZWFkZXJzLCBzbyBpbnNlcnQgbm9uLXNlbGVjdGFibGUsXG4rICAgIC8vIGNsZWFybHkgbWFya2VkIGhlYWRpbmdzIHdoaWxlIGtlZXBpbmcgdGhlIGFjdHVhbCBib2FyZCBsYWJlbHMgY29tcGFjdC5cbiAgICAgbGV0IG11dCBib2FyZF9uYW1lcyA9IHZlYyFbXCJDaG9vc2UgYSBib2FyZOKAplwiLnRvX293bmVkKCldO1xuICAgICBsZXQgbXV0IGJvYXJkX3BsYXRmb3JtcyA9IHZlYyFbU3RyaW5nOjpuZXcoKV07XG4rICAgIGxldCBtdXQgYm9hcmRfdGFyZ2V0cyA9IHZlYyFbTm9uZV07XG4rICAgIGxldCBtdXQgcHJldmlvdXNfcGxhdGZvcm0gPSBOb25lO1xuICAgICBmb3IgKG5hbWUsIHBsYXRmb3JtKSBpbiBib2FyZHMge1xuLSAgICAgICAgYm9hcmRfbmFtZXMucHVzaChuYW1lKTtcbisgICAgICAgIGlmIHByZXZpb3VzX3BsYXRmb3JtLmFzX2RlcmVmKCkgIT0gU29tZShwbGF0Zm9ybS5hc19zdHIoKSkge1xuKyAgICAgICAgICAgIGJvYXJkX25hbWVzLnB1c2goZm9ybWF0IShcIuKUgOKUgCB7cGxhdGZvcm19IOKUgOKUgFwiKSk7XG4rICAgICAgICAgICAgYm9hcmRfcGxhdGZvcm1zLnB1c2goU3RyaW5nOjpuZXcoKSk7XG4rICAgICAgICAgICAgYm9hcmRfdGFyZ2V0cy5wdXNoKE5vbmUpO1xuKyAgICAgICAgICAgIHByZXZpb3VzX3BsYXRmb3JtID0gU29tZShwbGF0Zm9ybS5jbG9uZSgpKTtcbisgICAgICAgIH1cbisgICAgICAgIGJvYXJkX25hbWVzLnB1c2gobmFtZS5jbG9uZSgpKTtcbiAgICAgICAgIGJvYXJkX3BsYXRmb3Jtcy5wdXNoKHBsYXRmb3JtKTtcbisgICAgICAgIGJvYXJkX3RhcmdldHMucHVzaChTb21lKG5hbWUpKTtcbiAgICAgfVxuICAgICBsZXQgYm9hcmRfbW9kZWwgPSBndGs6OlN0cmluZ0xpc3Q6Om5ldyhcbiAgICAgICAgICZib2FyZF9uYW1lc1xuICAgICAgICAgICAgIC5pdGVyKClcbkBAIC0xMDQsMTAgKzExNCw5IEBAXG4gICAgICk7XG4gICAgIGxldCBib2FyZF9yb3cgPSBhZHc6OkNvbWJvUm93OjpidWlsZGVyKClcbiAgICAgICAgIC50aXRsZShcIlRhcmdldCBib2FyZFwiKVxuICAgICAgICAgLnN1YnRpdGxlKGZvcm1hdCEoXG4tICAgICAgICAgICAgXCJTZWFyY2ggb3IgY2hvb3NlIGZyb20ge30gc3VwcG9ydGVkIGJvYXJkc1wiLFxuLSAgICAgICAgICAgIGJvYXJkX25hbWVzLmxlbigpIC0gMVxuKyAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHtib2FyZF9jb3VudH0gc3VwcG9ydGVkIGJvYXJkc1wiXG4gICAgICAgICApKVxuICAgICAgICAgLm1vZGVsKCZib2FyZF9tb2RlbClcbiAgICAgICAgIC5lbmFibGVfc2VhcmNoKHRydWUpXG4gICAgICAgICAuYnVpbGQoKTtcbkBAIC0zMTksMTQgKzMyOCwyNCBAQFxuICAgICAgICAgbGV0IHN0YXRlID0gc3RhdGUuY2xvbmUoKTtcbiAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgIGxldCBzdGFydF9idXR0b24gPSBzdGFydF9idXR0b24uY2xvbmUoKTtcbiAgICAgICAgIGxldCBib2FyZF9wbGF0Zm9ybXMgPSBib2FyZF9wbGF0Zm9ybXMuY2xvbmUoKTtcbisgICAgICAgIGxldCBib2FyZF90YXJnZXRzID0gYm9hcmRfdGFyZ2V0cy5jbG9uZSgpO1xuICAgICAgICAgYm9hcmRfcm93LmNvbm5lY3Rfc2VsZWN0ZWRfbm90aWZ5KG1vdmUgfHJvd3wge1xuICAgICAgICAgICAgIGxldCBzZWxlY3RlZCA9IHJvdy5zZWxlY3RlZCgpIGFzIHVzaXplO1xuKyAgICAgICAgICAgIGlmIHNlbGVjdGVkID4gMFxuKyAgICAgICAgICAgICAgICAmJiBib2FyZF90YXJnZXRzXG4rICAgICAgICAgICAgICAgICAgICAuZ2V0KHNlbGVjdGVkKVxuKyAgICAgICAgICAgICAgICAgICAgLmlzX3NvbWVfYW5kKE9wdGlvbjo6aXNfbm9uZSlcbisgICAgICAgICAgICB7XG4rICAgICAgICAgICAgICAgIC8vIFNlY3Rpb24gaGVhZGluZ3MgYXJlIGxhYmVscywgbm90IHZhbGlkIGluc3RhbGxhdGlvbiB0YXJnZXRzLlxuKyAgICAgICAgICAgICAgICByb3cuc2V0X3NlbGVjdGVkKDApO1xuKyAgICAgICAgICAgICAgICByZXR1cm47XG4rICAgICAgICAgICAgfVxuICAgICAgICAgICAgIGlmIHNlbGVjdGVkID09IDAge1xuKyAgICAgICAgICAgICAgICBsZXQgY291bnQgPSBib2FyZF90YXJnZXRzLml0ZXIoKS5mbGF0dGVuKCkuY291bnQoKTtcbiAgICAgICAgICAgICAgICAgcm93LnNldF9zdWJ0aXRsZSgmZm9ybWF0IShcbi0gICAgICAgICAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHt9IHN1cHBvcnRlZCBib2FyZHNcIixcbi0gICAgICAgICAgICAgICAgICAgIGJvYXJkX3BsYXRmb3Jtcy5sZW4oKSAtIDFcbisgICAgICAgICAgICAgICAgICAgIFwiU2VhcmNoIG9yIGNob29zZSBmcm9tIHtjb3VudH0gc3VwcG9ydGVkIGJvYXJkc1wiXG4gICAgICAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgIH0gZWxzZSBpZiBsZXQgU29tZShwbGF0Zm9ybSkgPSBib2FyZF9wbGF0Zm9ybXMuZ2V0KHNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgIHJvdy5zZXRfc3VidGl0bGUocGxhdGZvcm0pO1xuICAgICAgICAgICAgIH1cbkBAIC0zODgsMTYgKzQwNywxNiBAQFxuICAgICAgICAgbGV0IHdpbmRvdyA9IHdpbmRvdy5jbG9uZSgpO1xuICAgICAgICAgbGV0IHRvYXN0X292ZXJsYXkgPSB0b2FzdF9vdmVybGF5LmNsb25lKCk7XG4gICAgICAgICBsZXQgc3RhdGUgPSBzdGF0ZS5jbG9uZSgpO1xuICAgICAgICAgbGV0IGJvYXJkX3JvdyA9IGJvYXJkX3Jvdy5jbG9uZSgpO1xuLSAgICAgICAgbGV0IGJvYXJkX25hbWVzID0gYm9hcmRfbmFtZXMuY2xvbmUoKTtcbisgICAgICAgIGxldCBib2FyZF90YXJnZXRzID0gYm9hcmRfdGFyZ2V0cy5jbG9uZSgpO1xuICAgICAgICAgbGV0IGRyaXZlX21vZGVsID0gZHJpdmVfbW9kZWwuY2xvbmUoKTtcbiAgICAgICAgIGxldCBkcml2ZV9yb3cgPSBkcml2ZV9yb3cuY2xvbmUoKTtcbiAgICAgICAgIHN0YXJ0X2J1dHRvbi5jb25uZWN0X2NsaWNrZWQobW92ZSB8X3wge1xuICAgICAgICAgICAgIGxldCBzdGF0ZSA9IHN0YXRlLmJvcnJvdygpO1xuLSAgICAgICAgICAgIGxldCBib2FyZCA9IGJvYXJkX25hbWVzXG4rICAgICAgICAgICAgbGV0IGJvYXJkID0gYm9hcmRfdGFyZ2V0c1xuICAgICAgICAgICAgICAgICAuZ2V0KGJvYXJkX3Jvdy5zZWxlY3RlZCgpIGFzIHVzaXplKVxuLSAgICAgICAgICAgICAgICAubWFwKFN0cmluZzo6YXNfc3RyKVxuKyAgICAgICAgICAgICAgICAuYW5kX3RoZW4oT3B0aW9uOjphc19kZXJlZilcbiAgICAgICAgICAgICAgICAgLnVud3JhcF9vcihcIlVua25vd24gYm9hcmRcIik7XG4gICAgICAgICAgICAgbGV0IGRlc3RpbmF0aW9uID0gaWYgc3RhdGUub3V0cHV0X2lzX2ZpbGUge1xuICAgICAgICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAgLm91dHB1dF9maWxlXG4iLCJmaXJzdENoYW5nZWRMaW5lIjo5MX0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODkxNzEyNTB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI5NGZhZmY3NiIsInBhcmVudElkIjoiOWQwMDAyOTAiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjE5OjM2LjE0M1oiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqVmVyaWZ5aW5nIGJvcnJvdyBib2FyZCBjbG9uaW5nIGJlaGF2aW9yKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzVmNmRiYjg4MTkxOTc3YzdiMjUxNzI0MGIwNlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTVgzZHRFcndUb3g0amFOUDRLdFVESlFXdnZXVzRNY2pOQUNxdUVHekhNNldVMVpsdEVneHAwYm9DaTJXdFZHNlhkdDJ5Yk16TENsTVV1NWcwMnlMRVhvUlR3Z1h5OXBhUG1ZWU5lT2kwb3JHUThiaXpScTZ4LVpGbThLZGxsQkdsLV9oZ2pmNVVkY0VjWEJqUkpHclkyZWtkQjF5MG9hWkgwR3VZNWoyVS00Mlg1MDhXOEtxdGxTSWppd0RXbkRmeE9IaHFfaVQ1M2FVSkFHeDJoSWZDNnNQNlp6YXVkOHlCTHlTNmd4cmxLVERyMUE0cEJlUDh0dlFFU1NWLXBtcnItTUZSX0pMWl9mdWZZN0VHOU9xN0tPRVk0aTNaVFpMZ2tTZHpHZEZ1dktkOFNidFFodGFzNmY5dUotN0J4aGZ3UFhydkgtMml2XzBROVdwYW84V3h1YWZxMnBoaWlXVlg2aHF2bFQ0V21QUkotekVFNVFvZ1hDSzVOWlNXQklXcXdYcVA1bGl6emxWTl9Tb2NkX21nVHNkSk1pNUJsbFNNTUdrRXZ4MURuUDZKeVNweDFoREdEWHVrRnBfS3Zxdkstai1Eb2dPeVJxUzd1STZ5a0dhUF9SWEQ1SWEwRldEek5JNm5LQ29lRmp6enEtbE9wLW91c1BQYi05TmJ6R1JQbzRUbDFxenFDWHZJZXJtOVc1MzRQeWVaMDdjNVJ2Q0ZtRDhPU01zeDF2WUJ4a1VDS0xzV0YyX3FmaVVSRC1IeTlTdlY4c3JzdDlacnhmc1RxTjhsbVNWWFVpc29UdDJqTHdpQ2RaUDBSWEc4SkUyelRIMDRwQXBraG4yLTlxdndmUXBjQmpjTFY2ck91NDJ5em5sREtwVW5QdzhGRlM5RU5kOVFzVDYtWkJFa1VOb0sxT1hQUWNNZnpjMzB5T3o2ajloVmdRTktnLW1lZmlmcGp5cC1WMzRpT01meVJPOUt4TWUwT3FJalJKMGNaeHlMSE5lZEFaRGI5ZVJ3b2VHSF9pRWN4LXZIV0NPRzBRSFZJaHVldUhEaTFfbk9FWnNUUFpULUUycDJJaTBuNGlLUWpfbmEwTHNoN01IZkczdkFTTTg1aE93em1xWWxHSDdtTWtvSVA3QlgtMW1tT3FUR3ZLX3Vyc056aGFGMGRDemE4RWpsZVFQWDB5QTgxQk9saC1HVE9IVlhtTGZlMzlZZGJnV1ZsQWt0MklzQV9Ya3d4YjVhdTlLZkJER0JpNjVZNWpfbUNMbUVxTFVOLTE4cDN4OUVMcXc2Sl8yaXBBTmNmTlgxS3ZlNEpFVzVYbEVBUHc1UGZLNDZDUjlGeXp0VXRDQkJRRjdwVVhBSGxYOHF6a0tUYlJqSUpDeWFzcTl0NjNxNDB3dlhOV09iTk81ZWFpQ0VFZ0N1M1puYVE9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipWZXJpZnlpbmcgYm9ycm93IGJvYXJkIGNsb25pbmcgYmVoYXZpb3IqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfRU1hY2tUZENjdFE0TjBWZ1JnSGJEZFpyfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNWY3ZGQ5ODgxOTE5MGNlYmVjYjBhZGQ0MjZhIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6IkRPQ1NfUlM9MSBSVVNUQ19CT09UU1RSQVA9MSBSVVNURkxBR1M9Jy0tY2ZnIGRvY3NycycgY2FyZ28gY2hlY2siLCJ0aW1lb3V0IjoxMjB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6Mjc4OSwib3V0cHV0Ijo2OCwiY2FjaGVSZWFkIjozNzM3NiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyMSwidG90YWxUb2tlbnMiOjQwMjMzLCJjb3N0Ijp7ImlucHV0IjowLjAxMzk0NSwib3V0cHV0IjowLjAwMjA0LCJjYWNoZVJlYWQiOjAuMDE4Njg4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMzQ2NzI5OTk5OTk5OTk5OTV9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODkxNzEyNTEsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjNWY1NmRjNDgxOTFiNDZhNzU0Y2IxZDY5ZjgwIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjRjOWRjMTMzIiwicGFyZW50SWQiOiI5NGZhZmY3NiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MTk6MzYuMzExWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9FTWFja1RkQ2N0UTROMFZnUmdIYkRkWnJ8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1ZjdkZDk4ODE5MTkwY2ViZWNiMGFkZDQyNmEiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgQ2hlY2tpbmcgZmxhc2hlciB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIpXG4gICAgRmluaXNoZWQgYGRldmAgcHJvZmlsZSBbdW5vcHRpbWl6ZWQgKyBkZWJ1Z2luZm9dIHRhcmdldChzKSBpbiAwLjE1c1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5MTc2MzExfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiOTdlOTI0YTQiLCJwYXJlbnRJZCI6IjRjOWRjMTMzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoxOTozOS45NTJaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiQWRkZWQgcGxhdGZvcm0vU29DIHNlcGFyYXRpb24gdG8gdGhlIGJvYXJkIHNlbGVjdG9yOlxuXG4tIEJvYXJkcyBhcmUgZ3JvdXBlZCB1bmRlciB2aXNpYmxlIHBsYXRmb3JtIGFuZCBhcmNoaXRlY3R1cmUgaGVhZGluZ3MuXG4tIFNlY3Rpb24gaGVhZGluZ3MgY2Fubm90IGJlIHNlbGVjdGVkIGFzIGJvYXJkcy5cbi0gQm9hcmQgbGFiZWxzIHJlbWFpbiBjb21wYWN0LlxuLSBUaGUgc2VsZWN0ZWQgYm9hcmTigJlzIHBsYXRmb3JtIGFwcGVhcnMgaW4gdGhlIHJvdyBzdWJ0aXRsZS5cbi0gU2VhcmNoIGFuZCBib2FyZCBjb3VudHMgY29udGludWUgdG8gd29yayBjb3JyZWN0bHkuXG5cbmBjYXJnbyBjaGVja2AgcGFzc2VzLiIsInRleHRTaWduYXR1cmUiOiJ7XCJ2XCI6MSxcImlkXCI6XCJtc2dfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1ZjllNmE4ODE5MWI2YTM5M2EyNmUxZmU5OWZcIixcInBoYXNlXCI6XCJmaW5hbF9hbnN3ZXJcIn0ifV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6ODY0LCJvdXRwdXQiOjY5LCJjYWNoZVJlYWQiOjM5NDI0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjAsInRvdGFsVG9rZW5zIjo0MDM1NywiY29zdCI6eyJpbnB1dCI6MC4wMDQzMiwib3V0cHV0IjowLjAwMjA3MDAwMDAwMDAwMDAwMDIsImNhY2hlUmVhZCI6MC4wMTk3MTIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyNjEwMn19LCJzdG9wUmVhc29uIjoic3RvcCIsInRpbWVzdGFtcCI6MTc4NDk4OTE3NjMxMywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM1ZjhjMjU4ODE5MWE4ZGEyMGE3YzU1ZDU2NGYifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZTg5ZDY4ODgiLCJwYXJlbnRJZCI6Ijk3ZTkyNGE0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoyOToxMi41NThaIiwibWVzc2FnZSI6eyJyb2xlIjoidXNlciIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Im5vdyBtYWtlIHRoYXQgaW4gcXQuIG1vdmUgY3VycmVudCBjb2RlIGluIGEgc2VwYXJhdGUgdGFyZ2V0IG9yIGNyYXRlLCBhbmQgcXQgdmVyc2lvbiB0b28gaW4gYSBzZXBhcmF0ZSBjcmF0ZS4gbWF5YmUgY3JlYXRlIGNhcmdvIHdvcmtzcGFjZSBvciBzb21ldGhpbmcgc28gdGhhdCBpIGNhbiBydW4gYm90aCBvZiB0aGUgZ3Vpcy4ifV0sInRpbWVzdGFtcCI6MTc4NDk4OTc1MjU1N319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjM3MWY4OTgzIiwicGFyZW50SWQiOiJlODlkNjg4OCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6Mjk6MjEuNDM2WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipFdmFsdWF0aW5nIFF0IFJ1c3QgYmluZGluZyBvcHRpb25zKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzgzY2JlYTA4MTkxYTAyMjdmMzAzZmMzNGUyYVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWhCWmlSVXU0bDVWSE15UVBoODlra1hjWHI1TWV3NGFuUTB6T2RhTGNpSVVNNFlINmJrUnpHTkh3bmxkcTMtYTRiOFhadzEwc0RBOWtfR2JvcTVuWHdFdjJPQ0VVWWd0MllKZkRsenNldzBCSXd6WVpvMFhLV0ctUm1ROFhiOTIwVHZaUlo4T3BvN3JrdlltbjZiUG1GRE5SVkE1UTBmZXpZcTZEa29mNndZQ1B4ekJEbkFRclpXalg5djg2YWhObU5OU29tNWFrUzNTSjd3dTkzYlQ5akhUVTlhV1NHRWVtZnR5TnV6XzFzZ2J2THZpb0FkczMwV1NsNmVndzN2bjBQbGNpaURfYmpRa3pTbUpGN0pQX2NEb0h6Zk03Tm5PbGZsemNNVzgtYlBKZnRoWVFSTTZmaWx2QlNSRTRQWWxXZ3huSERNb240MndoSEx4Wk9wOVlaSk9MLXdzWTZSZ2NqeVhXMnFfbFUzTkc2Y3dvZGZ5T0h5TkhFUjVjbjNVVmQyZmZEZWpNaXhnZWJhY3RJUmMtWGY5TjRHdy1ma29vUE5VbFZ1cFFHUUtQNGo4MlFQSk1yWHhVSmR2TS1hUG9nQUxxLU8zSW5ja3pfMlY3SFF2alFoT3pmTTBYY19jZjFHb0U2ZDlUb3N5ZDdSRlJYMTBmZXdvOVhpS01MTy1rZ21lY09ZbXlYQms5bzJmMFgzWXZ2RlU5Z01YQmczNzl2b1hNbFlSRXZMamtDQ1VTTkFwUF9fSWJ6N0Vra2xFaDVfN2xkaGhDN3U0Y3hoWHhxT01nQ0VESG9JUng1SXp2UmNtd1lJMmZtR1hBOURSNm9tSWFCVmlrN2trYkFYTGF2RGk4N1p4NG45YlhERnktVHFrVXlQMjRwVXZ3eDY2NE1yLUJwZW9rSFRhWmlIc2YyTkNxQlRxejR6eUlCNll5SUVqUzFvdTJmWEszSXFlS2FXZzNmTWtycjRXUUtXS0RaOWMzSFByVzRfcGdqZlZjSXlqN0twY2Y2aUVtZ3JPMk56TzdCbXZ3OFhlMHdoczY5Z3Bsb0k1ZGRFS1J2VTZVbEJ5NDc5OUZXY1VtbmFnYjJZaVJRTVpMUExfVFpRcmRLVFA3UWE0eDZETHA5NkFkWGlUOWFnaTdlQ0N6UkprdGdVT3dpRHpnU1d1NDNsb2xGbUo4SGI5OU9DejBUQl9YbFhYTFpfOEF0WE1CRy0xdU8tb0lwMVdLdTVJbUFHUmVMVmJNblRPRml2RlBqYkJ4WUxUcHJVdFNjSjl1SHR6YlNvLWNsM1A3T3lvaVkwb19YcDc1ZXZDaUEydEtqRUJTS2ExcjRSWWROLWtNQ3ZrSHVPUDFkVXNaODRTclFnQ05uU2dwYVZOUXVPZmV3NXhhcEZVOUVNSHliT2JrbTBkYW43M0FWZDFDRGx5ekk9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipFdmFsdWF0aW5nIFF0IFJ1c3QgYmluZGluZyBvcHRpb25zKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0VrbjdTbFdZOUJqZUVPZVc0V1JsSFFGN3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg0MTQ0MDQ4MTkxOGY5NWIwYWFmNzU0ZWFhNiIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJwa2ctY29uZmlnIC0tbW9kdmVyc2lvbiBRdDZDb3JlIFF0NldpZGdldHMgUXQ1Q29yZSBRdDVXaWRnZXRzIDI+JjE7IGNvbW1hbmQgLXYgcW1ha2U2IHFtYWtlIHF0cGF0aHM2IHx8IHRydWU7IGZpbmQgL3Vzci9saWIgL3Vzci9sb2NhbC9saWIgLW5hbWUgJ2xpYlF0NldpZGdldHMuc28qJyAtbyAtbmFtZSAnbGliUXQ1V2lkZ2V0cy5zbyonIDI+L2Rldi9udWxsIHwgaGVhZCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF82NUQ1TFM5ZEhnaFpWbm1EelVvNU9UcVh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4NDE0NDIwODE5MWEzYjExYTQ2NDM0MzRkYWQiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiZ2l0IHN0YXR1cyAtLXNob3J0OyBmaW5kIC4gLW1heGRlcHRoIDIgLXR5cGUgZiAtcHJpbnQgfCBzb3J0IHwgaGVhZCAtNTA7IGR1IC1zaCB0YXJnZXQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjk4MSwib3V0cHV0IjoxNzksImNhY2hlUmVhZCI6Mzk0MjQsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MzAsInRvdGFsVG9rZW5zIjo0MDU4NCwiY29zdCI6eyJpbnB1dCI6MC4wMDQ5MDUwMDAwMDAwMDAwMDA1LCJvdXRwdXQiOjAuMDA1MzcsImNhY2hlUmVhZCI6MC4wMTk3MTIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyOTk4N319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTc1MjU2MCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4M2E0ZmM0ODE5MWFhYzIxMjU5NzJjYWViY2QifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZjJkYjBiYjciLCJwYXJlbnRJZCI6IjM3MWY4OTgzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoyOToyMi41OThaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0VrbjdTbFdZOUJqZUVPZVc0V1JsSFFGN3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg0MTQ0MDQ4MTkxOGY5NWIwYWFmNzU0ZWFhNiIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlBhY2thZ2UgUXQ2Q29yZSB3YXMgbm90IGZvdW5kIGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBwYXRoLlxuUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYFF0NkNvcmUucGMnXG50byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlXG5ObyBwYWNrYWdlICdRdDZDb3JlJyBmb3VuZFxuUGFja2FnZSBRdDZXaWRnZXRzIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguXG5QZXJoYXBzIHlvdSBzaG91bGQgYWRkIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBgUXQ2V2lkZ2V0cy5wYydcbnRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGVcbk5vIHBhY2thZ2UgJ1F0NldpZGdldHMnIGZvdW5kXG5QYWNrYWdlIFF0NUNvcmUgd2FzIG5vdCBmb3VuZCBpbiB0aGUgcGtnLWNvbmZpZyBzZWFyY2ggcGF0aC5cblBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGBRdDVDb3JlLnBjJ1xudG8gdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZVxuTm8gcGFja2FnZSAnUXQ1Q29yZScgZm91bmRcblBhY2thZ2UgUXQ1V2lkZ2V0cyB3YXMgbm90IGZvdW5kIGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBwYXRoLlxuUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYFF0NVdpZGdldHMucGMnXG50byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlXG5ObyBwYWNrYWdlICdRdDVXaWRnZXRzJyBmb3VuZFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5NzYyNTk4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMzUxMzJmMmMiLCJwYXJlbnRJZCI6ImYyZGIwYmI3IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoyOToyMi41OThaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzY1RDVMUzlkSGdoWlZubUR6VW81T1RxWHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg0MTQ0MjA4MTkxYTNiMTFhNDY0MzQzNGRhZCIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvYWx0LXJvb3Rmcy1pbnN0YWxsZXJcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvYWx0LXJvb3Rmcy1pbnN0YWxsZXIuc3BlY1xuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9BVVRIT1JTXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL0NPUFlJTkdcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvRVhUUkFfT1BUSU9OU1xuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9mdW5jdGlvbnNcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvbG9nXG4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL1JFQURNRVxuLi9hbHQtcm9vdGZzLWluc3RhbGxlci9zaGVsbC1jb25maWdcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvc2hlbGwtZXJyb3Jcbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvc2hlbGwtdGVybWluZm9cbi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvU1VQUE9SVEVELUJPQVJEU1xuLi9DYXJnby5sb2NrXG4uL0NhcmdvLnRvbWxcbi4vLmdpdC9DT01NSVRfRURJVE1TR1xuLi8uZ2l0L2NvbmZpZ1xuLi8uZ2l0L2Rlc2NyaXB0aW9uXG4uLy5naXQvSEVBRFxuLi8uZ2l0aWdub3JlXG4uLy5naXQvaW5kZXhcbi4vc3JjL21haW4ucnNcbi4vdGFyZ2V0L0NBQ0hFRElSLlRBR1xuLi90YXJnZXQvLnJ1c3RjX2luZm8uanNvblxuNzQzTVx0dGFyZ2V0XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODk3NjI1OTh9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJhN2ZjNzk1YSIsInBhcmVudElkIjoiMzUxMzJmMmMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjI5OjMyLjIzMFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqRXZhbHVhdGluZyBRdCBiaW5kaW5nIG9wdGlvbnMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODQ1OWJhYzgxOTE4M2Q3MjU0NWQ0OTZiNzAwXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNaExhanpsVUpXNXRPbDRwZTlxOFJYWUJvRktiblI3eDdJNnU4bUdaam9jRGljUjIyOGpGQ3ExeHY1c1lKY1pfQW9GT0NDcVF0a0R0NjB0SkxHT0wyeERFcUhKYldzRVhnWG4wTWNpclhQWmFOSjhWNnR0elFkb04zWGRoZjRtUnh2VUhwY0Nnb2VwWDlIZmdIY095dVFyOFV5VkFmdkY0OUFQUVVNbTFvcWwteW5qQW5IMzF5Yk00akk3RnpoWnNhN3RiZDJ0UjhPYldURXU0WHl5em1vckRwUmpRWVFIZWhnZ0E0WnBWRFlsODFaUGdzUnBPbUUzczhoMnlfMFNkOGpid1NlOWZDYkFuVTIzaG5oWWlnbmpYYXBfa19jeGxLa2NBM2xFSUliZTA2cnY5bV9hX0ZMcnpKTDNZcndlYU1uS29TMkJqNkhwMy1kbUQwWjJKN2hfaExNRjFIaEdqUWgxZG5Kc3kxS1UxSVVKN2lOaFhCYTg0eXBnYUVadkRZYzh5eDR6VWxiNHdfRnNueThxWXVodTdhd1U5am5xeDBhcnItVnpZSE4tZGN3eGVtNWttYVhBa2hhN3NDTW0zMWVBbDk5N1dpb3ZiWGtDT2NuLXV6akRpcjR0d01udGx1RGZtUjRTc3NvVGhPUjRDRS03WVNQRk8taThYYTFua0QwSGZfcjVmclBMcUtzY0tGSFhicFFlYXA1cW5oa3lmOFQ4b0xsTVRGak96cXJRMVNRNm5Bd2VXeFV3NEZycV9ZWEtHQTg5b2ppN2prOW12YjhnUTFQMkJ2aWpIdUJ3bzdpNGQ1UWF1dG5EMHMxelIwb2U0VFlSZ1E2b056ZVJwQ2xOd0JUdU5fT2h3VGJRdmNZVzV1a01ZNVFlSExmNVdLSUI0UDIzbWdoWkxrZmVfZ1pNZkl3cGloSWFXUVJzcEZTUklqZGNvSjlfeHdHYXg4a0p4MGtBRDlFQlllbTVWVEdaQklJdXd1SXhxa3V3UnVyTFZrMjR5ZnRKTWNNWFVkRUFTSkZSeUwxamZtdDFYaTNTRUt3TDUtWmFPcVRPNVJFdkJlcTNGQ21LVnZyMFREbmc0YVBWNEdRODNkNE84UW9nbjRJYmV4NGFfa0xkOTRnRjJsOTVCM1ZReUpuQ0xwRXB5WVhOY1hnYXc0bEJmSllOaWFsT1luSXdZMmRGQUdwTC0wZUpLdlZFRUtnV1JUYWNfOGJIc2JlRksyeDJFMmZMS3pyNE05LU1UNlZNN1Z4T2FIU05kM2s4VXNnRlE3Qm80V2dCMV9Ubzl6QXoxeGs1Q3R4OEw1Q3R3LXNRVkpoVDdPcXRIclJCX2p0dWYxaFB1QzV5NTFPbFZBYUFONF9XQ3NSRG9tQ1FTRlZId1Y2RU9lRFhlNmJ5dVFncjhZRDUwanNHdGRyRmp2ODJtaGFkeGdJSHhkYURJR2NpZjZrTk5sVnlaMGVteV80Y2hGWlNOYnM3VEk3cFk0em5xTUc4UFQ2M2xCc2N6VzBsdWtweWw0UEhBc2w0SjNpcmd6WFVuMzhmRVVqbjhHOVB0MXJaZkV0ZlJvWm9fSFBhbkxhRUFwR1pWREZXNmU3aGZFS0RxclRoQWs3SWM1N2NRcm0td2dWa2FJSG1CbFltaXRQNjYwX0pQaHlWSkJSMlhScDhBMDVyQXZOXy1fQkZnbDlfeTBMZUV5M2hjcGhUWUNTcGc3Qk0tbXhLdEI3NmdZb1FYajlDbWktd3hJVzR6eGpISVNCSWlWc20yUi1wdzZFM1NUeW1TUXh4VGFSb2VRcWZ3VS13d1ZvSkM0elp6YVVsVVA3SE9DaXJ0MGhJVFpkUTlwaVRDUVc5MDZPOUpmekx6MFdJSFQtRmJTMm5JYnBCbG40dHkyRjFQQnRwRWt1RXkwSU1fZklNVFB2UURiaFZlQ0JZTFlPVjBabFdILXd6UTJIOGNCeTBtdk9qcS01emJ5WUcxemd1dFE2dFdtaE83MWpVeUFfcngzTnN5TDR4RGJSbXlpYkJCVE5BMlRzcVRkZkJQQTVHQlhaTzhlZ0JjaWlvVUxTMHk2SEhoeW9EXzkzeVJnb3h1Y0Y1Yk1rWHN3dHdJVGRobExYRDFVZGFwclVuTnM0bTFPdlRuTFBTa1Z3a1hzWjd4NHpLTkJDRHJXUkV4UXhkdEpJOVY4dXFmMGNLZW9WVHlRYVhObEtMSWFLQlUzcllRVTRFUGpPYnkxbWY4NFgwZzVVVTNwcUYzN2g4eVE9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqRXZhbHVhdGluZyBRdCBiaW5kaW5nIG9wdGlvbnMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfUHlwTnFPVUEyMzB4ekJ5cTBkMHowT3NVfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODRiODM3YzgxOTE4YmM2NDMwNGFhMTQwMmE5IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIHNlYXJjaCBxbWV0YW9iamVjdCAtLWxpbWl0IDU7IGNhcmdvIGluZm8gcW1ldGFvYmplY3QgMj4vZGV2L251bGwgfCBoZWFkIC04MDsgY2FyZ28gc2VhcmNoIGN4eC1xdCAtLWxpbWl0IDUiLCJ0aW1lb3V0IjoxMjB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTU1Nywib3V0cHV0IjoxOTgsImNhY2hlUmVhZCI6Mzk0MjQsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTQwLCJ0b3RhbFRva2VucyI6NDExNzksImNvc3QiOnsiaW5wdXQiOjAuMDA3Nzg1LCJvdXRwdXQiOjAuMDA1OTQsImNhY2hlUmVhZCI6MC4wMTk3MTIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAzMzQzN319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTc2MjU5OSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4NDQxOWQ0ODE5MWIyMTc0NTE1MWUwNmE0NzMifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZWFjNzhhNWIiLCJwYXJlbnRJZCI6ImE3ZmM3OTVhIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDoyOTozNy45NzNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1B5cE5xT1VBMjMweHpCeXEwZDB6ME9zVXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg0YjgzN2M4MTkxOGJjNjQzMDRhYTE0MDJhOSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6InFtZXRhb2JqZWN0ID0gXCIwLjIuMTBcIiAgICAgICAgICMgRXhwb3NlIHJ1c3Qgb2JqZWN0IHRvIFF0IGFuZCBRTUwuXG5xbWV0YW9iamVjdF9pbXBsID0gXCIwLjIuMTBcIiAgICAjIEN1c3RvbSBkZXJpdmUgZm9yIHRoZSBxbWV0YW9iamVjdCBjcmF0ZS5cbmtpMThuID0gXCIxLjIuMFwiICAgICAgICAgICAgICAgICMgQSBjcmF0ZSB0byB1c2UgS0Y1STE4biBmcm9tIHJ1c3QuXG5xdHJhbnNsYXRpb24gPSBcIjAuMS43XCIgICAgICAgICAjIEEgbWluaW1hbGlzdCB0cmFuc2xhdGlvbiBzeXN0ZW0gYmFzZWQgb24ganNvbiBmb3IgcW1ldGFvYmplY3RcbnF0dHlwZXMgPSBcIjAuMi4xMlwiICAgICAgICAgICAgICMgTWFudWFsbHkgbWFpbnRhaW5lZCBidWlsZGluZ3MgZm9yIFF0IHZhbHVlIHR5cGVzXG4uLi4gYW5kIDQgY3JhdGVzIG1vcmUgKHVzZSAtLWxpbWl0IE4gdG8gc2VlIG1vcmUpXG5ub3RlOiB0byBsZWFybiBtb3JlIGFib3V0IGEgcGFja2FnZSwgcnVuIGBjYXJnbyBpbmZvIDxuYW1lPmBcbnFtZXRhb2JqZWN0ICNRdCAjUU1MICNRTWV0YU9iamVjdFxuRXhwb3NlIHJ1c3Qgb2JqZWN0IHRvIFF0IGFuZCBRTUwuXG52ZXJzaW9uOiAwLjIuMTBcbmxpY2Vuc2U6IE1JVFxucnVzdC12ZXJzaW9uOiB1bmtub3duXG5kb2N1bWVudGF0aW9uOiBodHRwczovL2RvY3MucnMvcW1ldGFvYmplY3QvMC4yLjEwXG5yZXBvc2l0b3J5OiBodHRwczovL2dpdGh1Yi5jb20vd29ib3EvcW1ldGFvYmplY3QtcnNcbmNyYXRlcy5pbzogaHR0cHM6Ly9jcmF0ZXMuaW8vY3JhdGVzL3FtZXRhb2JqZWN0LzAuMi4xMFxuZmVhdHVyZXM6XG4gK2RlZmF1bHQgICAgICAgICAgPSBbbG9nXVxuICBsb2cgICAgICAgICAgICAgID0gW2RlcDpsb2ddXG4gIGNocm9ub19xZGF0ZXRpbWUgPSBbcXR0eXBlcy9jaHJvbm9dXG4gIHdlYmVuZ2luZSAgICAgICAgPSBbcXR0eXBlcy9xdHdlYmVuZ2luZV1cbmN4eC1xdCA9IFwiMC45LjFcIiAgICAgICAgICAjIFNhZmUgaW50ZXJvcCBiZXR3ZWVuIFJ1c3QgYW5kIFF0XG5rdXNoaSA9IFwiMC4xLjBcIiAgICAgICAgICAgIyBCdWlsZC10aW1lIGJvaWxlcnBsYXRlIGdlbmVyYXRvciBmb3IgY3h4LXF0IGJyaWRnZXMuIERlY2xhcmUgcXByb3BlcnRpZXMgYW5kIGxpc3QtbW9kZWwgcm9sZXMgb25jZSBpbuKAplxuY3h4LXF0LWJ1aWxkID0gXCIwLjkuMVwiICAgICMgSGVscGVycyBmb3IgaW50ZWdyYXRpbmcgYGN4eC1xdGAgY3JhdGUgaW50byBhIENhcmdvIGJ1aWxkXG5jeHgtcXQtZ2VuID0gXCIwLjkuMVwiICAgICAgIyBDb2RlIGdlbmVyYXRpb24gZm9yIGludGVncmF0aW5nIGBjeHgtcXRgIGludG8gaGlnaGVyIGxldmVsIHRvb2xzXG5jeHgtcXQtbGliID0gXCIwLjkuMVwiICAgICAgIyBRdCB0eXBlcyBmb3IgaW50ZWdyYXRpbmcgYGN4eC1xdGAgY3JhdGUgd2l0aCBgY3h4YFxuLi4uIGFuZCAxNSBjcmF0ZXMgbW9yZSAodXNlIC0tbGltaXQgTiB0byBzZWUgbW9yZSlcbm5vdGU6IHRvIGxlYXJuIG1vcmUgYWJvdXQgYSBwYWNrYWdlLCBydW4gYGNhcmdvIGluZm8gPG5hbWU+YFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5Nzc3OTczfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMGYxNGM3ZTIiLCJwYXJlbnRJZCI6ImVhYzc4YTViIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDowMy4wNDBaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIFFNTC1SdXN0IGRhdGEgaW50ZWdyYXRpb24qKlxuXG4qKkRlc2lnbmluZyBRTUwgYmFja2VuZCBwcm9wZXJ0aWVzIGFuZCBVSSoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4NTNkZGEwODE5MTllNDY3ZmQ3NDg1NGM2YmZcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1oajF3dlVHM2kxLUJlY0hPRGstNTRqeENoT1hoaThSTi0tdU5xQ0E1UnluTnNwREY5UHlKNTFjQ1NyenczSzllUmdLcTFBck5DOUd0WjNTbW8zczVhZzdfZVY5VXU0MWp5Ni1BeWUzZDRWcDNPelktaUFTOFZ5dHVrSHdyeXlJVzRYMmdLZGtzdEs2dld3YWZGV213QzdIVGNNcTdXYVdOUjhjUWlMSzNRWGcyTHpOdTZVMTlkRENuUmRHaVo2Vk9aMlQ5cWx0ZXYwYUkxMUJYaVZEVi1GWE5DbmNkWmZPQzQ5NW1GQ291eFFHSEllS1QtdzdQOXhXdTdweHk1a0hXZWJfRENlenMxQ19JbEtDcWVaU1NuZ0hjUTM2YnJKZ3Uxc2ZPRlNPbU44NG9TemZFVXlLd3dBbk9jODFSalJGZEZoRzRFcXJTR0hMTEJQT2pyZm5wS2drbFJBdy1wdmFYaHZuaFhjQzB5YkFLODA0cXlWZ3ZEbkwyM2taMmk3UDBIUDNweVVmOUhkbG9TYUJwRXNGLTZqLTFaLXQ0YXRJLU9kLWEzMHZCR1JFeFZLVHd2V3VZQjNqVjdialljX1hYOUlkQmV4ZFlwNFFlRDZGX3Y0dGZwM1hTS0pWOXpiTThVU1VBQlBON1ZlUFhlVjN6WEUxWHFLR0ZLNGF1aF9sYmVkejVEbW9yVGw5dGpQMUstcDlXTTZoMGdwV0FGLVphTi1JMUxQTEZEMXkwVkw3c0k2ekdBQ0NtejhaZnR3dVNIWXA4Rmhtb2p0YlpOUm5UT3hyWHV2N0ZqMUd4aWRJNDBvTkRiTzJybG9zc0RQa2hIQXJOSUhxTmJmTldCZXVkYzFqb2xibnRLeV9NT3IwaFVob1NDVE1SNEF1MjdaNU0zblZJTmY4SVJPV0dTdE5ZdGVydnhNNGFHWGZLNVM2R3A5aUl5RklXdTRUdHc5VUUtUWxMWjg0S3JDVUhHTUFYV1RxRng0V0hRN0haaGE3YS01ZUw2ckczMmN4RFpWaUwyblpnVmpZbEp2WHlncDFRQWdjQmhyNWdoU0RkNjg2Mkg1RGduQURWaU9xYUpCUDZXeXVyZHV2ZzhKRFpnM05maG9Sc2dhenRJdUxYT0FpNndFZ01MSktMaWRuWmZrV1U3SHNvZWlCdWpuNjZWeVkzRlFNaDVtbnFrTGNGYjFIUVo0RXR3NmVBTnVWemstZVlvajVIa1JpcVRrQm9YYlhlc1V6ckdkV3lSZ2JsN3lBSUxvYjNqWThyVFlmVVJidnFjdGRPMEFaRUpwMXp1a250S0pCd1VVNXBsTzdGS1J0SDBaOTVwZXV5RXg2c0JaQWhVZFhqRnhyeFR3N18wcXZ5akZCamd4V3kyYS00ZHlGd1ZsUUxMUXZvWWZaN1gyVlplZmRVYWxSR1pYSWRYTENaOFJqOU9zcXdtWUViOEhTR2FHM3lfbGFIZnRpck12TW9LZVp2X1pMLWI1ckk4b0ZPOXkwbDkxeEgyay1FZm1hZG01N1BCbm5ZU09oMUhBeUIwYUlmQ01SeThwX1Q3UUQyZEpld2VxM3JiTExZaUdYdmdZOHAxSDMweDE4QjVKeFl1c1puTFYtcElUMU9XYTRBMXJiRVdqTDYyNUpXeVpOdTBRZHhSTHVfV2l0eFp0ajl2ZEFpTnd1V0hSOHozdDUtdE5lZDN4dE9pT3NoTExRdFFHV1A3S3hndURYVmluSFNUaHU2c0o0LUFnckJoTm1jSXRpZU9zVFNCdzFpUWtEdXVhM0RTNWM2ZWhwRnh0YXpkTk5HbWpqSmRQUEMzTG5iU00zdWR2c1RtX0RMTkRTU2UycUI5YW1kcGlMVW9WR3JGNlJOa1NnQnZ6dHBXTDdMOTN6R0FWRGlUcGpub19yM2ZBNk1WdHNrZmx2QVEwMWQ2VnduNk52bVREQmtrTlJlNWNXUm1BcjVzMUJsS0QyZkdfVkNONDY1bkhKLTNzSnhjTTdPWXlEZXdtLTJqSXFRN1RYUV85aVF1RXNGa2lETTdlYTc4UlB1M1FrenZnV3V0Q1NjOFBjX3NKWjZqT3R0NE0xXy1Wa1Z0OVBGT1RoTEhfSk9KblBEdHc0d2ZMbmlyak1vY2hpR1VHNjJabkRFMENoZkdIUjE5bWtIUWgyb3h1M2tFN0ZUSUJmRDBBOGs3aGNzaUU0NWV4UEpXaE9MenlmYjZCR1FRNXdodlFINi04OEZib3loMkRZTG1DSWk4cTdFa244bTNRTGdWWmdKejFJYWR4OTVxWmNoZDd2ZG45T09jZjBaTEowNWRkczNLdVhFa3V2djhKMHQybFl5YmxlbG9Yc0x1cndxbENsMEgxUVVxa3ZkQ05NT1pwUEJFLXBRc0tZbXNwTDBuNGl5OWJvZDFiR1VMU0V5Uy1DZ1EyNFpCT2tKaWpVY2lMTUFMM3RENC1KX1VYQUxwZWJLUlZidFFBTjFROUw1RFJiWllDdE5DRm91VXlwbkZ0ZXJyZG94dTBFV0ZrR2xoaHZXbVVtc1hjTzQ0UWdZWko5cmZiSENfcWxYcUxCcU9mM2Jsb3BlV2xTZGdIMWZtS0JJYU1SSlhSQ0VGaHhuRkQ3dHozc2hHYWwwaEp2N2FaVlFKaFJCbjlUdFFIdzZGQ3BqODdLUlhvaTNXLVk1NnpCNWFzbE03X0ZXcnRCcl9pU0IwZXVIVzFVQmFkcFEyTEpOdDNRTlVWb0xQS3NwUmlxLWhfOFdsbDFRcE1TX0Eyb2lxNUpmaWFqNGtyM3hZZUVEeTdTMWUxeU5mTC1QY19CY0pfaS1adzNfSFFYQUFWU0UzdVRpakdQRlp4eHlxcmpnYWJTWWNtcTRmUkZ5ZzhTWW5oUW1CZmtNZTRRQlRIM3g3Z1JoS2ZyYkhES2RzMDNFeHU4T3BKVDgzaElqWGJxcnJfcy0tWW1xZkIzZmtfTHczNkFTLUN4aUtocjJsaHNrVUlkQkx1Ykt2eXRlOVhLQ3IzQUpEbDJDWVdTMnQ4cU9vMm9Pa0RvVTNrYlFEUDZQX29VNkFSaU56TGxPd3dOeTBpY1p5M2pYWHdqWWs4bWE3ckUtZTdSVkRBSFV1dXVlZWppTGcxX3lINTlDd2REM2Zkd2t6R0hYMnFUSkU2MEFXQ1dXVlZKODRNV3gzd040MGRSSkpoajJuYkktMmRoRzRVRU9iWkNnQ19YSTVxeDhLd2o3Z1dPUXd6cVV5bXhtVkt6U2k1NmhFMVhiRzE1LTdSY2FGR1FNOTFUOE5SUHZmdXNTZUVCOU9JbkFlYmhWOURLcVRYNFkzcS1oUmZuT3FNNHdhOGdKMXI4dXlhMzl3RVpUTjFES2JwVnBFZXpVOHRuZTdPQ29LcXpTU05qcW1VOTAzektoSzk3bHZnRWdETHRScGJfeVhRbFlwYU5pMERYekhqLUdQV1c4WWotSDZzOUlIMzBCVXpvM0NUT3NvZHpPRThKMnFMNHdHWTZCLUUxMVk1X0NUdmJWcHBfSjljMVgzQk5oN2ZnemdOUFdtSTBzN3VDdGJYcDRQeGsyNWtwWkZNUlZjbUQxVG1kczgtSDVXS255OGJKcndBSWo1RDB4eXNoTkVXMGtHcnY3ckpyYXhHOXBqTXBfNVhWcUZGRGtmajlFRm1RSlhVRm83QzZ2RkpSb3FsNTdBS0NGTGxjRTM1WlpaRFBpV0hwYWw4RUthcE8zZEhhcHN2TG40NlptYjcyT0xGRjd3Y1lySVBHZzVpY2NhMUs0bnFDdDI0VHZDeXRGeFFLSXdLQ25UaVU2dk5XellybzExd0pGM2NFaWhGVUZoMUhoa0JoUUhUWS1teWhLcmZ4VTBtb0ZuT3ljU0FrcERNYkFTb2haVHRPajJJZlBsR3NVSVZ4X1dyRlgyOWs3VWNVcVMzVXNWWlpNbXUybGFQNDlKZkNHQ0hLVldtX3RvWVI2alNsTlExMXVoSW1yVVZBQXJoYVpMTWJYSGNwckNHVEVOSzBxbkxNNE5zMFdEWFl4YkdPQjByREJtZWExQWROT0pOLUxyWmVZZndiVzRGRDVDTTc4REVvYjI3dnRWT3NIdWN0QVdNV2I3Nk15RlVfalN0cE5aU21ZcnJRUGkzWTBDY2k5RFpVNk9oTjB1YThEbXFSV2x4UlZ0V3paalBDSzN6WC1zd19QQmJuZGxpQkRzSHpRTmFCOWVoNnc4V1BQZS1RaTR3REdxanZqTWhTeGM5dzhNUnV3YTAweWtaMF85ZS1SbWQtMzNuQ1k1WjdDZWRNaENidnluQ2VrUHZoUGJDX0NqR2lyUHJMQ0d5aDVZWV9ld2h1VG1rOUlCaHFvQy16c1NjUlQxUWJNeExNdVVIRGoxNWZsVHF4TW4wU0h6Wlp4dzRYXzd3Vk1yaml1OC12TTFnT0xMUHE3RUpMTEJfMnZYdnp6Y3Y0UnI5TWhLdkpZa1JGSXJKdG00eWJnQUFqbkxRMWpqOEIwSzF0NzJVdmxRN2RpU0tTZnJGbTdLaEtaUmpUYWpDY2FxaGREZlF6bHhhaGtDZ21MMW82eXJXb0wtXy01MThnM0I3SzBxMkR6NThqd0JvMnVDMUFvUTEweDR1QkxlMUdqc19tZGdEZUFJeUhSVkVZRVEyU1JCYlJHbGNpNlJLc19zQS1TeUFkbEVET2tUS2JUMDZuYjRMM2YyOE9yVVZBVHlzUnRtVnB3ZjNtUHVwMmhlMktvZVRwT0FmWnJISDVXSFgyUVVzWGxCVnU4Z0RIMHc0bGlWdmMzQmZtZ3BvOWdFdVptM05JMURmTDMzeEhpbXcxa0FXOUlFYUlJMGFxdkJLZ000ZDBGUUJLR1haQ09oMmNaa0tCRzRGUHAtY0Nzd1IxVWh1d2VXUUFuVWwxbG1FbUxsRHg1cmhBemZDdjJsSWowcXhtOXNYMnJ4dC00WFZVRDYwdjg4SEFsS2xxazNaOWtCTHh0eUFuQWJENmpYMTZYRXprU3RMSF9QLTJPR0F3NEFVMVEzSlFzY0pScTZFNVd5c1dTaVRlcEczSDRsVXpYczFhbVl3bjZIVjI2WDJhc3V2R19lY25lLUhYQ2RmMG01blFSc3R0S2NhOVM0YTFqQzNsN3h6VFpyZUo1cFNTMi1KUkc4NjdZRlNsUU1vNWxvNGdrYk1XcW1VVTl6RktFZzFia0x2VmVhcHd3eVJmTHJqVHJFWTBWZkp3VFcxVERpZ1BvcE4tWDd6YlFJc2NSbl8yc3NfY19lTEZRTUg5blFyVWhyeUJEZUR4ZlpQc2hTX2pqTVhfWHZ4WlVYVkIzS21Pc09xLUxKdEoxcWRTYWVkX0NfR0tTekJyZz09XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBRTUwtUnVzdCBkYXRhIGludGVncmF0aW9uKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkRlc2lnbmluZyBRTUwgYmFja2VuZCBwcm9wZXJ0aWVzIGFuZCBVSSoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9hR3FmUVdnOXhtcG5rVDFLTThuS1BZeFN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4NjNiMGFjODE5MWEzYzJlZTdhMDNiZWI0ZjYiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoibWtkaXIgLXAgY3JhdGVzL2ZsYXNoZXItZ3RrL3NyYyBjcmF0ZXMvZmxhc2hlci1xdC9zcmMgY3JhdGVzL2ZsYXNoZXItcXQvcW1sICYmIG12IHNyYy9tYWluLnJzIGNyYXRlcy9mbGFzaGVyLWd0ay9zcmMvbWFpbi5ycyAmJiBybWRpciBzcmNcbmNhdCA+IENhcmdvLnRvbWwgPDwnRU9GJ1xuW3dvcmtzcGFjZV1cbm1lbWJlcnMgPSBbXCJjcmF0ZXMvZmxhc2hlci1ndGtcIiwgXCJjcmF0ZXMvZmxhc2hlci1xdFwiXVxuZGVmYXVsdC1tZW1iZXJzID0gW1wiY3JhdGVzL2ZsYXNoZXItZ3RrXCJdXG5yZXNvbHZlciA9IFwiM1wiXG5FT0ZcbmNhdCA+IGNyYXRlcy9mbGFzaGVyLWd0ay9DYXJnby50b21sIDw8J0VPRidcbltwYWNrYWdlXVxubmFtZSA9IFwiZmxhc2hlci1ndGtcIlxudmVyc2lvbiA9IFwiMC4xLjBcIlxuZWRpdGlvbiA9IFwiMjAyNFwiXG5kZXNjcmlwdGlvbiA9IFwiQW4gQWR3YWl0YSBHVEsgaW50ZXJmYWNlIGZvciBwcmVwYXJpbmcgQUxUIExpbnV4IFNCQyBpbWFnZXNcIlxubGljZW5zZSA9IFwiR1BMLTIuMC1vci1sYXRlclwiXG5cbltkZXBlbmRlbmNpZXNdXG5hZHcgPSB7IHBhY2thZ2UgPSBcImxpYmFkd2FpdGFcIiwgdmVyc2lvbiA9IFwiMC44XCIsIGZlYXR1cmVzID0gW1widjFfNVwiXSB9XG5ndGsgPSB7IHBhY2thZ2UgPSBcImd0azRcIiwgdmVyc2lvbiA9IFwiMC4xMFwiLCBmZWF0dXJlcyA9IFtcInY0XzEwXCJdIH1cbkVPRlxuY2F0ID4gY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbCA8PCdFT0YnXG5bcGFja2FnZV1cbm5hbWUgPSBcImZsYXNoZXItcXRcIlxudmVyc2lvbiA9IFwiMC4xLjBcIlxuZWRpdGlvbiA9IFwiMjAyNFwiXG5kZXNjcmlwdGlvbiA9IFwiQSBRdCBpbnRlcmZhY2UgZm9yIHByZXBhcmluZyBBTFQgTGludXggU0JDIGltYWdlc1wiXG5saWNlbnNlID0gXCJHUEwtMi4wLW9yLWxhdGVyXCJcblxuW2RlcGVuZGVuY2llc11cbnFtZXRhb2JqZWN0ID0gXCIwLjIuMTBcIlxuRU9GXG4jIGFkanVzdCByZWxvY2F0ZWQgaW5jbHVkZSBwYXRoXG5weXRob24zIC0gPDwnUFknXG5wPSdjcmF0ZXMvZmxhc2hlci1ndGsvc3JjL21haW4ucnMnXG5zPW9wZW4ocCkucmVhZCgpLnJlcGxhY2UoJ2luY2x1ZGVfc3RyIShcIi4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL1NVUFBPUlRFRC1CT0FSRFNcIiknLCAnaW5jbHVkZV9zdHIhKFwiLi4vLi4vLi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvU1VQUE9SVEVELUJPQVJEU1wiKScpXG5vcGVuKHAsJ3cnKS53cml0ZShzKVxuUFlcbmNhcmdvIGZldGNoIiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEyMDEsIm91dHB1dCI6OTE1LCJjYWNoZVJlYWQiOjQwNDQ4LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjQ3OSwidG90YWxUb2tlbnMiOjQyNTY0LCJjb3N0Ijp7ImlucHV0IjowLjAwNjAwNTAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAyNzQ1MDAwMDAwMDAwMDAwMiwiY2FjaGVSZWFkIjowLjAyMDIyNCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDUzNjc5MDAwMDAwMDAwMDA0fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg5Nzc3OTc1LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg1MjhmNDA4MTkxYWI2ZGUwNDk3ZDYyNWQ2YyJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJiYWU2MWIxOCIsInBhcmVudElkIjoiMGYxNGM3ZTIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMwOjAzLjA3NloiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfYUdxZlFXZzl4bXBua1QxS004bktQWXhTfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODYzYjBhYzgxOTFhM2MyZWU3YTAzYmViNGY2IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiZXJyb3I6IGZhaWxlZCB0byBsb2FkIG1hbmlmZXN0IGZvciB3b3Jrc3BhY2UgbWVtYmVyIGAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL2NyYXRlcy9mbGFzaGVyLXF0YFxucmVmZXJlbmNlZCBieSB3b3Jrc3BhY2UgYXQgYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvQ2FyZ28udG9tbGBcblxuQ2F1c2VkIGJ5OlxuICBmYWlsZWQgdG8gcGFyc2UgbWFuaWZlc3QgYXQgYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbGBcblxuQ2F1c2VkIGJ5OlxuICBubyB0YXJnZXRzIHNwZWNpZmllZCBpbiB0aGUgbWFuaWZlc3RcbiAgZWl0aGVyIHNyYy9saWIucnMsIHNyYy9tYWluLnJzLCBhIFtsaWJdIHNlY3Rpb24sIG9yIFtbYmluXV0gc2VjdGlvbiBtdXN0IGJlIHByZXNlbnRcblxuXG5Db21tYW5kIGV4aXRlZCB3aXRoIGNvZGUgMTAxIn1dLCJkZXRhaWxzIjp7fSwiaXNFcnJvciI6dHJ1ZSwidGltZXN0YW1wIjoxNzg0OTg5ODAzMDc2fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNjE0ODVmNjEiLCJwYXJlbnRJZCI6ImJhZTYxYjE4IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDowNS42MDJaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkNyZWF0aW5nIHBsYWNlaG9sZGVyIGFuZCBmZXRjaGluZyBpbnNwZWN0IGV4YW1wbGVzKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg2Y2E1OTg4MTkxODhmMGYxMmY3NWNmMzQxYlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWh0XzlBZmhKMHpzNlA4Z3ZEdXREaGJuM1VoU091NW5MczdscDZjc0dHUVhaY19MQW1vdEtVakl2d1V3WFB4N3d5MGtUanN1OGhCRTNJNW5HN1VxNzBoN1RyTkxsZW1oejJ6MFo4VUphV1ZlYXFFcVloY2VfTXJpeHgyV2lTcGQ3RnVJNGU3NlNmaVZlSUhIcHhFTlkyMVJYTjVoQ0J3WEpGWVJUekU4dFFiSUdzUlJ2MDh4dDR2WDlZbFc5YmRrM2lLNUJVTlp0ellhNndDUEpMbDQwODFub0VBa1RjR3VGaXNMU3plUENHX1NIWWkwS3pBSzFkWEJtd2VtekhteGJRZ2kwRFBDQ0M2UHlLZHpCbHA3LWlNYzB6cEVzUmMtcnI2UEZpR1VhMUU2TTcyenNUVUlGTTJqOWh1SkFYcFN2c2owOUFiRVAxVEpMUl9vU1V0bndZbEJEUUF3RUIwd1hBa0F2dWc4Nkgtd25JUGl5b3kxbHBlaVRrUHRjWmNaTXFPcGlhTnVLeEhZcmhEeFp2Wlp4enA4YWt2SXJ1Y1BmWkRRa1o0eEVRQUcxX3NLV2VsWlpiNFBRdnFTemFIZFBvM0swZEx3YlNJY094LWpJSjlKZzFrTXRYVElTc3lJbEJ4N2hWSmNTT2dhVklEdENtTGZoYWRwNUE1TzlNakVlTmdNTGRZRmVZTS1nckJRYVl1aF93VEtYZGxSeHNsSmZCUU16cjEzWXctNGVtNEJMV0hjQm1fempRWmdsaGhPaWg4c1prQnFDWVdtNDV6QlM3NWdfcjZnTDZYdUk2b3o5Y0QtaWhlbGZFZTJQOVRod2EwUjVMU2Fua2txa1JkTzlmenNrbXYzNlB1b1paQ0NyTHRfUUx2ZGdYWE83S2FTb2xNMHdWU2hHVTEtc0FBQ1hvdHFiOUxHYWV2T2tNV3R6Mm8tX2NHZ1lUakdsdTlWMDlWeUdVSVNMei03ZG1qR1JYX2d4dnNGdXI4R1U4aXNucy1sUGsxaHJ3cmRpUHhZZGlOWVRUcFVlVUdsS1JNWnFnYzNxMlo1dDhCaXU0TndQeEZiMVJDZXo5OUl4bHVKYkxVSWZzZDVFMHl3Yk9qQ1A4WW1aUDhxeVJIZzdpTlpRM1FMam15Q3NSdUxyU2Q5enNIWTNCV1FtRkxwQjRzTTBPdGcwNlhUT2VDWGRIVTVNZkh0d3dsLWQ5UHBqSjVzWGlfX3h5aUNuVEliMmxBaFlHdU83VU1Lc1U2d1hVdzNRcEtwNC1BYkRvMzNvdXN1Q1A1Y251UlR2WmJWUEF2X2JxYXFRaE5VTEVNN3VDVjk1d0cyaVJhY1FnV0ptQT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkNyZWF0aW5nIHBsYWNlaG9sZGVyIGFuZCBmZXRjaGluZyBpbnNwZWN0IGV4YW1wbGVzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX3ZLQUZPaERJN2VSZ1FMVDRFb216eGFYdHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg2ZDJkNjA4MTkxYmZmNzBmM2NhMmM4NWMxYiIsIm5hbWUiOiJ3cml0ZSIsImFyZ3VtZW50cyI6eyJwYXRoIjoiY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnMiLCJjb250ZW50IjoiZm4gbWFpbigpIHt9XG4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEyMjAsIm91dHB1dCI6NDcsImNhY2hlUmVhZCI6NDE0NzIsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTIsInRvdGFsVG9rZW5zIjo0MjczOSwiY29zdCI6eyJpbnB1dCI6MC4wMDYxLCJvdXRwdXQiOjAuMDAxNDEsImNhY2hlUmVhZCI6MC4wMjA3MzU5OTk5OTk5OTk5OTcsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAyODI0NTk5OTk5OTk5OTk5N319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTgwMzA3OCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4NmI2NzU0ODE5MTgzMDNkMjEzZTIyZjY2ZjkifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNDRjOWYzODMiLCJwYXJlbnRJZCI6IjYxNDg1ZjYxIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDowNS42MDNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX3ZLQUZPaERJN2VSZ1FMVDRFb216eGFYdHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg2ZDJkNjA4MTkxYmZmNzBmM2NhMmM4NWMxYiIsInRvb2xOYW1lIjoid3JpdGUiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgd3JvdGUgMTMgYnl0ZXMgdG8gY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnMifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODk4MDU2MDN9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4NTk3MzRlMiIsInBhcmVudElkIjoiNDRjOWYzODMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMwOjA5LjM2NloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfT0xrckJJdkdBVXpDOVlPZlFBRlBMbEFOfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODcwNGM4MDgxOTFhNmQ4MjU4MTViZTM4ZWNlIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGZldGNoICYmIGZpbmQgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjIC1wYXRoICcqcW1ldGFvYmplY3QtMC4yLjEwL2V4YW1wbGVzLyonIC10eXBlIGYgfCBoZWFkIC0yMCIsInRpbWVvdXQiOjEyMH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyNjcsIm91dHB1dCI6NTUsImNhY2hlUmVhZCI6NDI0OTYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MCwidG90YWxUb2tlbnMiOjQyODE4LCJjb3N0Ijp7ImlucHV0IjowLjAwMTMzNSwib3V0cHV0IjowLjAwMTY1LCJjYWNoZVJlYWQiOjAuMDIxMjQ4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMjQyMzI5OTk5OTk5OTk5OTh9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODk4MDU2MDUsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODZlMDgwYzgxOTFiYTY0OTA1ZjIyMDY3NjE5In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjRhZTU1ZmNjIiwicGFyZW50SWQiOiI4NTk3MzRlMiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzA6MTcuMjcyWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9PTGtyQkl2R0FVekM5WU9mUUFGUExsQU58ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4NzA0YzgwODE5MWE2ZDgyNTgxNWJlMzhlY2UiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgVXBkYXRpbmcgY3JhdGVzLmlvIGluZGV4XG4gICAgIExvY2tpbmcgMTkgcGFja2FnZXMgdG8gbGF0ZXN0IFJ1c3QgMS45Ni4wIGNvbXBhdGlibGUgdmVyc2lvbnNcbiAgICAgIEFkZGluZyBhaG8tY29yYXNpY2sgdjEuMS40XG4gICAgICBBZGRpbmcgYnl0ZW9yZGVyIHYxLjUuMFxuICAgICAgQWRkaW5nIGNjIHYxLjQuMFxuICAgICAgQWRkaW5nIGNwcCB2MC41LjExXG4gICAgICBBZGRpbmcgY3BwX2J1aWxkIHYwLjUuMTFcbiAgICAgIEFkZGluZyBjcHBfY29tbW9uIHYwLjUuMTFcbiAgICAgIEFkZGluZyBjcHBfbWFjcm9zIHYwLjUuMTFcbiAgICAgIEFkZGluZyBmaW5kLW1zdmMtdG9vbHMgdjAuMS45XG4gICAgICBBZGRpbmcgbGF6eV9zdGF0aWMgdjEuNS4wXG4gICAgICBBZGRpbmcgbG9nIHYwLjQuMzNcbiAgICAgIEFkZGluZyBxbWV0YW9iamVjdCB2MC4yLjEwXG4gICAgICBBZGRpbmcgcW1ldGFvYmplY3RfaW1wbCB2MC4yLjEwXG4gICAgICBBZGRpbmcgcXR0eXBlcyB2MC4yLjEyXG4gICAgICBBZGRpbmcgcmVnZXggdjEuMTMuMVxuICAgICAgQWRkaW5nIHJlZ2V4LWF1dG9tYXRhIHYwLjQuMTZcbiAgICAgIEFkZGluZyByZWdleC1zeW50YXggdjAuOC4xMVxuICAgICAgQWRkaW5nIHNobGV4IHYyLjAuMVxuICAgICAgQWRkaW5nIHN5biB2MS4wLjEwOVxuICAgICAgQWRkaW5nIHVuaWNvZGUteGlkIHYwLjIuNlxuIERvd25sb2FkaW5nIGNyYXRlcyAuLi5cbiAgRG93bmxvYWRlZCBzZXJkZV9kZXJpdmUgdjEuMC4yMjlcbiAgRG93bmxvYWRlZCBzaGxleCB2Mi4wLjFcbiAgRG93bmxvYWRlZCBsb2cgdjAuNC4zM1xuICBEb3dubG9hZGVkIGNjIHYxLjQuMFxuICBEb3dubG9hZGVkIHJlZ2V4IHYxLjEzLjFcbiAgRG93bmxvYWRlZCBzeW4gdjMuMC4zXG4gIERvd25sb2FkZWQgcmVnZXgtc3ludGF4IHYwLjguMTFcbiAgRG93bmxvYWRlZCBxbWV0YW9iamVjdF9pbXBsIHYwLjIuMTBcbiAgRG93bmxvYWRlZCBxdHR5cGVzIHYwLjIuMTJcbiAgRG93bmxvYWRlZCBjcHBfbWFjcm9zIHYwLjUuMTFcbiAgRG93bmxvYWRlZCBjcHAgdjAuNS4xMVxuICBEb3dubG9hZGVkIGNwcF9jb21tb24gdjAuNS4xMVxuICBEb3dubG9hZGVkIHJlZ2V4LWF1dG9tYXRhIHYwLjQuMTZcbiAgRG93bmxvYWRlZCBjcHBfYnVpbGQgdjAuNS4xMVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5ODE3MjcyfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZDE0ODFiNTAiLCJwYXJlbnRJZCI6IjRhZTU1ZmNjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDoyMy4zMTRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKk5vdGljaW5nIGdsb2JhbCBxbWV0YSBkb3dubG9hZCBsb2NhdGlvbioqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4N2M3M2U4ODE5MTk4YmM0Yzk5MDIyNGZkZjhcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1oOVZLV3VBWlQ4dWxsNjVpTkpZREcxRHNYVm0waGlEMUQ0UmJydUlHUEYwVGdiUkRKcU1PME45TU1pUk1uQWF3QldGN0FUM093WmNjUzNhZ1ZZMnZfbHpsWUNLdUMzTkxqZDEzLUhhRllBaEhzTkh0UjZJN1FfTWpmeTBjNl82bWllN180NzlDdU5NdEV6Y203ODZCdDZWM0w4LUYtWHpORkkwdXhTMWNfdWxjRkJrX0dwVFZ0cVV5YU9FSFVWal93Q0ZCSHFBQ2kxS1FIelpjUGtJSTU5YUFVYk5pTzhaQTM1Qk9DWkM2blFnSGVBZDEtQUN6X29JWHFRblBtSkFJYi1xNWhrN0o4UnVTV0ZMcXZ5SWx6NjJNVWRVWXZybTlzUS0wU1ZEZmUwQUc0am55dUY2MnBLb09YLWFuLXNQSlhOaXpRQlRKUHFZUFhMdjR6UmlkVmFGdDNYcFNSVk5KVldYRnhfSmMwRDJWRThNOHJHOV80TG9jMzFCZEtFaVd1ZlpVQnVMem1oOGxkN2xvSU1nVWl5WWltc3RISEM0enVDR3VDSldWdWl0TjRuRWFSZUpuOFBGbTNiQzc4RG8xc0F4Q1BVd3pJcFc1TmIwQTRiemFRV1g0ZHNQNGxwVnp2RHN1U0pZYkVmLTBVdnpHakkzLXJwWVc1RERqMnJOWXh5Ty16Q3lvdkhTUS04ck9pQjdHa1gtUHBfTGxwbmNfTUFjaml2b0VxRXlJRkZObFVScjhWV1JTckhubUJOXzA3M0tOVkEwZ0tsel8wZ3lTRDFGNTJja3VMaVByMGVnaVkwazFUUEhRYWRKQVRtNm5HTXNoc3E1SkRUdGdWb3NZakFjUmxsR3hialFtZDJfeC1FRnQ3dk5BUFhfSk1zdDBwR3U4SFgtaGFyblphYjhhcFJBT1dURTlIVWRNZWgtbDFiUkJVa3U4dkxuV3BKMkhDNlNkQUp0WnhjYU9pdEJybl9vZGtYQUg3ek5wMVd0VkgzTFJLSGZNVG9CSFpDbDFJTVQ1bl8zOGFGSTJ2Q1gtQ0hqRXo4dF8zOGR6V1F0ckx4VC1KTHFsTzNfSk1zTGRfdjBRSF9ZX1lWNUFfQVMxb3pEUlFnVFJ5ejRxUHlpTDEzODJXcXp0WGkxd0JiZnV4LXpNODJ3RnZyeFp2b2dKcVpoTzVxTkxrekVoNjZKekJnUzFpbU5ab2otZTB0emJKZkN2RWthTkl4R3ViSkdObFZMRC1tR0htbDNEQkhPcm1hT2FiQVNfTzZxQ2dNRGROa2tXTFlJZzlBdWkyNnFTcEV1QTdhWkVlbUljNkduRnVwU21sUVVObll3TC1KcGQxVVAyWjVycl9HNkxTSnZGTkhcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKk5vdGljaW5nIGdsb2JhbCBxbWV0YSBkb3dubG9hZCBsb2NhdGlvbioqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9TTzFuc0h2OFkxZmlkUFRkMHdJazVRU258ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4N2QyZjMwODE5MWIzZmQwMmI3ZGZhNDY5N2MiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiZmluZCB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMgLW1heGRlcHRoIDMgLXR5cGUgZCAtbmFtZSAncW1ldGFvYmplY3QtMC4yLjEwJzsgcmcgJ3NldF9wcm9wZXJ0eXxRbWxFbmdpbmU6Om5ld3xxdF9wcm9wZXJ0eSEnIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL3FtZXRhb2JqZWN0LTAuMi4xMCAtZyAnKi5ycycgfCBoZWFkIC00MCJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6NzQ5LCJvdXRwdXQiOjEwNiwiY2FjaGVSZWFkIjo0MjQ5NiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxNSwidG90YWxUb2tlbnMiOjQzMzUxLCJjb3N0Ijp7ImlucHV0IjowLjAwMzc0NTAwMDAwMDAwMDAwMDUsIm91dHB1dCI6MC4wMDMxOCwiY2FjaGVSZWFkIjowLjAyMTI0OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDI4MTczfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg5ODE3Mjc0LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg3YjBkMTA4MTkxOGRlNjI1NTMzNmY0NjYxNiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI5Y2UzZTY0ZCIsInBhcmVudElkIjoiZDE0ODFiNTAiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMwOjIzLjM0N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfU08xbnNIdjhZMWZpZFBUZDB3SWs1UVNufGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODdkMmYzMDgxOTFiM2ZkMDJiN2RmYTQ2OTdjIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTBcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3NyYy9xbWV0YXR5cGUucnM6Ly8vIE9uY2UgaW1wbGVtZW50ZWQgZm9yIGEgdHlwZSwgaXQgY2FuIGJlIHVzZWQgYXMgYSB0eXBlIG9mIGEgcXRfcHJvcGVydHkhIG9yXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC9zcmMvbGliLnJzOiAgICAgICAgbmFtZTogcXRfcHJvcGVydHkhKFFTdHJpbmc7IE5PVElGWSBuYW1lX2NoYW5nZWQpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvc3JjL2xpYi5yczogICAgICAgIGxldCBtdXQgZW5naW5lID0gUW1sRW5naW5lOjpuZXcoKTtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3NyYy9saWIucnM6ICAgICAgICByZXN1bHQ6IHF0X3Byb3BlcnR5IShRU3RyaW5nOyBOT1RJRlkgcmVzdWx0X2NoYW5nZWQpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvc3JjL2xpYi5yczogICAgIyBsZXQgbXV0IGVuZ2luZSA9IFFtbEVuZ2luZTo6bmV3KCk7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC9zcmMvbGliLnJzOiAgICAvLy8gRklYTUU6IHNob3VsZCBwcm9iYWJseSBub3QgYmUgdXNlZC4gUHJlZmVyIHVzaW5nIGEgUW1sRW5naW5lOjpuZXdfcW9iamVjdC5cbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3NyYy9saWIucnM6Ly8vICAgIGZvbzogcXRfcHJvcGVydHkhKHUzMjsgTk9USUZZIGZvb19jaGFuZ2VkIFdSSVRFIHNldF9mb28pLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvc3JjL2xpYi5yczovLy8gIyAgICAgbGV0IG11dCBlbmdpbmUgPSBRbWxFbmdpbmU6Om5ldygpO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvc3JjL3F0ZGVjbGFyYXRpdmUucnM6ICAgIHB1YiBmbiBzZXRfcHJvcGVydHkoJm11dCBzZWxmLCBuYW1lOiBRU3RyaW5nLCB2YWx1ZTogUVZhcmlhbnQpIHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3NyYy9xdGRlY2xhcmF0aXZlLnJzOiAgICAgICAgbGV0IG11dCBlbmdpbmUgPSBRbWxFbmdpbmU6Om5ldygpO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvbW9kZWxzLnJzOiAgICAgICAgcHViIGxpc3Q6IHF0X3Byb3BlcnR5IShSZWZDZWxsPFNpbXBsZUxpc3RNb2RlbDxYPj47IENPTlNUKSxcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3Rlc3RzL21vZGVscy5yczogICAgICAgIHB1YiBsaXN0OiBxdF9wcm9wZXJ0eSEoUmVmQ2VsbDxTaW1wbGVMaXN0TW9kZWw8WD4+OyBDT05TVCksXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgICAgIHZhbHVlOiBxdF9wcm9wZXJ0eSEoYm9vbCksXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgcHJvcF94OiBxdF9wcm9wZXJ0eSEodTMyOyBOT1RJRlkgcHJvcF94X2NoYW5nZWQpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgIHByb3BfeTogcXRfcHJvcGVydHkhKFN0cmluZzsgTk9USUZZIHByb3BfeV9jaGFuZ2VkKSxcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3Rlc3RzL3Rlc3RzLnJzOiAgICBwcm9wX3o6IHF0X3Byb3BlcnR5IShRU3RyaW5nOyBOT1RJRlkgcHJvcF96X2NoYW5nZWQpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgIHByb3BfY29sb3I6IHF0X3Byb3BlcnR5IShRQ29sb3IpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgIHByb3BfanN2YWx1ZTogcXRfcHJvcGVydHkhKFFKU1ZhbHVlKSxcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3Rlc3RzL3Rlc3RzLnJzOiAgICBwcm9wX3ZhcmlhbnRtYXA6IHF0X3Byb3BlcnR5IShRVmFyaWFudE1hcCksXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgdmFsdWU6IHF0X3Byb3BlcnR5ISh1MzIpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgICAgICBudW1fdmFsdWU6IHF0X3Byb3BlcnR5ISh1MzI7IEFMSUFTIG51bVZhbHVlKSxcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3Rlc3RzL3Rlc3RzLnJzOiAgICAgICAgc3RyX3ZhbHVlOiBxdF9wcm9wZXJ0eSEoU3RyaW5nOyBBTElBUyBzdHJWYWx1ZSksXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgcHJvcF9vYmplY3Q6IHF0X3Byb3BlcnR5IShSZWZDZWxsPE15T2JqZWN0PjsgQ09OU1QpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgIHByb3A6IHF0X3Byb3BlcnR5IShRUG9pbnRlcjxTb21lT2JqZWN0PjsgTk9USUZZIHByb3BfY2hhbmdlZCksXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgbGV0IGVuZ2luZSA9IFJjOjpuZXcoUW1sRW5naW5lOjpuZXcoKSk7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgbGV0IGVuZ2luZSA9IFJjOjpuZXcoUW1sRW5naW5lOjpuZXcoKSk7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgICAgIHByb3BfeDogcXRfcHJvcGVydHkhKHUzMjsgUkVBRCBwcm9wX3hfZ2V0dGVyIENPTlNUKSxcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3Rlc3RzL3Rlc3RzLnJzOiAgICAgICAgcHJvcF95OiBxdF9wcm9wZXJ0eSEoU3RyaW5nOyBSRUFEIHByb3BfeV9nZXR0ZXIgQ09OU1QpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgICAgICBwcm9wX3g6IHF0X3Byb3BlcnR5ISh1MzI7IFdSSVRFIHByb3BfeF9zZXR0ZXIgTk9USUZZIHByb3BfeF9ub3RpZnkpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgICAgICBwcm9wX3k6IHF0X3Byb3BlcnR5IShTdHJpbmc7IE5PVElGWSBwcm9wX3lfbm90aWZ5IFdSSVRFIHByb3BfeV9zZXR0ZXIpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgICAgICBteV9wcm9wZXJ0eTogcXRfcHJvcGVydHkhKHUzMiksXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgcHJvcF94OiBxdF9wcm9wZXJ0eSEodTMyOyBSRUFEIHByb3BfeF9nZXR0ZXIgQ09OU1QpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgIHByb3BfeTogcXRfcHJvcGVydHkhKHUzMjsgV1JJVEUgcHJvcF95X3NldHRlciksXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC90ZXN0cy90ZXN0cy5yczogICAgbGV0IF9hID0gUW1sRW5naW5lOjpuZXcoKTtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3Rlc3RzL3Rlc3RzLnJzOiAgICBsZXQgX2IgPSBRbWxFbmdpbmU6Om5ldygpO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgICAgICByZXN1bHQ6IHF0X3Byb3BlcnR5IShRU3RyaW5nOyBOT1RJRlkgcmVzdWx0X2NoYW5nZWQpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgIGxldCBlbmdpbmUgPSBRbWxFbmdpbmU6Om5ldygpO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgICAgICB2YWx1ZTogcXRfcHJvcGVydHkhKGJvb2wpLFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvdGVzdHMvdGVzdHMucnM6ICAgICAgICBsZXQgZW5naW5lID0gUmM6Om5ldyhRbWxFbmdpbmU6Om5ldygpKTtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3Rlc3RzL3Rlc3RzLnJzOiAgICBsZXQgZW5naW5lID0gUW1sRW5naW5lOjpuZXcoKTtcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTgyMzM0N319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjY5MGI4MWQzIiwicGFyZW50SWQiOiI5Y2UzZTY0ZCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzA6MjYuMjY5WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9haDlMVWZ2eXhubkRNVUh6eXNSMUZtelN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ODBmNTIwODE5MTgyN2U4ZDdjMGQ5N2I4MjgiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xbWV0YW9iamVjdC0wLjIuMTAvc3JjL2xpYi5ycyIsIm9mZnNldCI6MzAsImxpbWl0Ijo4MH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjozMTQ0LCJvdXRwdXQiOjY1LCJjYWNoZVJlYWQiOjQyNDk2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjAsInRvdGFsVG9rZW5zIjo0NTcwNSwiY29zdCI6eyJpbnB1dCI6MC4wMTU3Miwib3V0cHV0IjowLjAwMTk1MDAwMDAwMDAwMDAwMDEsImNhY2hlUmVhZCI6MC4wMjEyNDgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAzODkxOH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTgyMzM0OSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4N2ZhYzZjODE5MTk5YjdiOTkyOTU0ODY1YWIifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMWEzNTkyNGYiLCJwYXJlbnRJZCI6IjY5MGI4MWQzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDoyNi4yNzBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2FoOUxVZnZ5eG5uRE1VSHp5c1IxRm16U3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg4MGY1MjA4MTkxODI3ZThkN2MwZDk3YjgyOCIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiAgICAgICAgLy8gU3BlY2lmeSB0aGUgYmFzZSBjbGFzcyB3aXRoIHRoZSBxdF9iYXNlX2NsYXNzIG1hY3JvXG4gICAgICAgIGJhc2U6IHF0X2Jhc2VfY2xhc3MhKHRyYWl0IFFPYmplY3QpLFxuICAgICAgICAvLyBEZWNsYXJlIGBuYW1lYCBhcyBhIHByb3BlcnR5IHVzYWJsZSBmcm9tIFF0XG4gICAgICAgIG5hbWU6IHF0X3Byb3BlcnR5IShRU3RyaW5nOyBOT1RJRlkgbmFtZV9jaGFuZ2VkKSxcbiAgICAgICAgLy8gRGVjbGFyZSBhIHNpZ25hbFxuICAgICAgICBuYW1lX2NoYW5nZWQ6IHF0X3NpZ25hbCEoKSxcbiAgICAgICAgLy8gQW5kIGV2ZW4gYSBzbG90XG4gICAgICAgIGNvbXB1dGVfZ3JlZXRpbmdzOiBxdF9tZXRob2QhKGZuIGNvbXB1dGVfZ3JlZXRpbmdzKCZzZWxmLCB2ZXJiOiBTdHJpbmcpIC0+IFFTdHJpbmcge1xuICAgICAgICAgICAgZm9ybWF0IShcInt9IHt9XCIsIHZlcmIsIHNlbGYubmFtZS50b19zdHJpbmcoKSkuaW50bygpXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgZm4gbWFpbigpIHtcbiAgICAgICAgLy8gUmVnaXN0ZXIgdGhlIGBHcmVldGVyYCBzdHJ1Y3QgdG8gUU1MXG4gICAgICAgIHFtbF9yZWdpc3Rlcl90eXBlOjo8R3JlZXRlcj4oY3N0ciEoXCJHcmVldGVyXCIpLCAxLCAwLCBjc3RyIShcIkdyZWV0ZXJcIikpO1xuICAgICAgICAvLyBDcmVhdGUgYSBRTUwgZW5naW5lIGZyb20gcnVzdFxuICAgICAgICBsZXQgbXV0IGVuZ2luZSA9IFFtbEVuZ2luZTo6bmV3KCk7XG4gICAgIyByZXR1cm47IC8vIFdlIGNhbid0IGNyZWF0ZSBhIHdpbmRvdyBpbiB0aGUgQ0lcbiAgICAgICAgLy8gKEhlcmUgdGhlIFFNTCBjb2RlIGlzIGlubGluZSwgYnV0IG9uZSBjYW4gYWxzbyBsb2FkIGZyb20gYSBmaWxlKVxuICAgICAgICBlbmdpbmUubG9hZF9kYXRhKHIjXCJcbiAgICAgICAgICAgIGltcG9ydCBRdFF1aWNrIDIuNlxuICAgICAgICAgICAgaW1wb3J0IFF0UXVpY2suV2luZG93IDIuMFxuICAgICAgICAgICAgLy8gSW1wb3J0IG91ciBSdXN0IGNsYXNzZXNcbiAgICAgICAgICAgIGltcG9ydCBHcmVldGVyIDEuMFxuXG4gICAgICAgICAgICBXaW5kb3cge1xuICAgICAgICAgICAgICAgIHZpc2libGU6IHRydWVcbiAgICAgICAgICAgICAgICAvLyBJbnN0YW50aWF0ZSB0aGUgcnVzdCBzdHJ1Y3RcbiAgICAgICAgICAgICAgICBHcmVldGVyIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGdyZWV0ZXI7XG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBhIHByb3BlcnR5XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiV29ybGRcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBUZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5jZW50ZXJJbjogcGFyZW50XG4gICAgICAgICAgICAgICAgICAgIC8vIENhbGwgYSBtZXRob2RcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogZ3JlZXRlci5jb21wdXRlX2dyZWV0aW5ncyhcImhlbGxvXCIpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBcIiMuaW50bygpKTtcbiAgICAgICAgZW5naW5lLmV4ZWMoKTtcbiAgICB9XG4gICAgYGBgXG5cbiAgICAjIEJhc2ljIHR5cGVzXG5cbiAgICBUaGUgcmUtZXhwb3J0ZWQgY3JhdGUgW2BxdHR5cGVzYF0gY29udGFpbnMgYmluZGluZyB0byB0aGUgbW9zdCB1c2VmdWxsXG4gICAgYmFzaWMgdHlwZXMgc3VjaCBhcyBbYFFTdHJpbmdgXSwgW2BRVmFyaWFudGBdLCAuLi5cblxuICAgIFlvdSBjYW4gYWxzbyBzaW1wbHkgdXNlIHJ1c3QgdHlwZSBgU3RyaW5nYCwgYnV0IHVzaW5nIFFTdHJpbmcgbWlnaHQgYXZvaWQgdW5lY2Vzc2FyeVxuICAgIGNvbnZlcnNpb25zIGluIHNvbWUgY2FzZS5cblxuICAgICMgTWV0YSB0eXBlXG5cbiAgICBJbiBvcmRlciB0byBiZSBhYmxlIHRvIHVzZSBhIHR5cGUgaW4gYSBzaWduYWwgb3IgbWV0aG9kIHBhcmFtZXRlciwgb3IgYXMgYSBwcm9wZXJ0eSB0eXBlLFxuICAgIHRoZSB0eXBlIG5lZWQgdG8gaW1wbGVtZW50IHRoZSBbUU1ldGFUeXBlXShxbWV0YXR5cGUvdHJhaXQuUU1ldGFUeXBlLmh0bWwpIHRyYWl0LlxuICAgIEFsbCB0aGUgbWV0aG9kIGFyZSBwcm92aWRlZCBzbyB5b3UgY2FuIGp1c3QgaW1wbGVtZW50IHRoZSBRTWV0YVR5cGUgbGlrZSB0aGlzOlxuXG4gICAgYGBgcnVzdFxuICAgIHVzZSBxbWV0YW9iamVjdDo6UU1ldGFUeXBlO1xuXG4gICAgI1tkZXJpdmUoRGVmYXVsdCwgQ2xvbmUpXVxuICAgIHN0cnVjdCBNeVBvaW50KHUzMiwgdTMyKTtcblxuICAgIGltcGwgUU1ldGFUeXBlIGZvciBNeVBvaW50IHt9O1xuICAgIGBgYFxuXG4gICAgV2l0aCB0aGF0IGl0IGlzIGFsc28gcG9zc2libGUgdG8gcHV0IHRoZSB0eXBlIGluIGEgIFtgUVZhcmlhbnRgXVxuXG4gICAgIyBPYmplY3QgcGlubmluZ1xuXG4gICAgT25jZSBhbiBvYmplY3QgdGhhdCBkZXJpdmVzIGZyb20gUU9iamVjdCBpcyBleHBvc2VkIHRvIEMrKywgaXQgbmVlZHMgdG8gYmUgcGlubmVkLCBhbmQgY2Fubm90XG4gICAgYmUgbW92ZWQgaW4gbWVtb3J5LlxuICAgIEFsc28sIHNpbmNlIHRoZSBRdCBjb2RlIGNhbiBiZSByZS1lbnRyYW50LCB0aGUgb2JqZWN0IG11c3QgYmUgcGxhY2VkIGluIGEgUmVmQ2VsbC5cbiAgICBUaGUgW1FPYmplY3RQaW5uZWRdKHN0cnVjdC5RT2JqZWN0UGlubmVkLmh0bWwpIG9iamVjdCBpcyB1c2VkIHRvIGVuZm9yY2UgdGhlIHBpbm5pbmcuXG5cbiAgICBJZiB5b3Ugd2FudCB0byBrZWVwIHBvaW50ZXIgdG8gcmVmZXJlbmNlLCB5b3UgY2FuIHVzZSBbUVBvaW50ZXJdKHN0cnVjdC5RUG9pbnRlci5odG1sKS5cblxuICAgICMgVGhyZWFkaW5nXG5cblxuWzk5NCBtb3JlIGxpbmVzIGluIGZpbGUuIFVzZSBvZmZzZXQ9MTEwIHRvIGNvbnRpbnVlLl0ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODk4MjYyNzB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJkNGViZjgxZCIsInBhcmVudElkIjoiMWEzNTkyNGYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMwOjI5LjM5OVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqVmVyaWZ5aW5nIFFNTCBzdHJpbmcgbG9hZGluZyBhbmQgcHJvcGVydHkgc2V0dGluZyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ODM3YmIwODE5MTkzYTYzODM0MTRmYWFjMzVcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1pRXMwSFVqcHZsUlNyMWRmX0JROVpueUVxMEJZaGZBdFdHZk55a2JZVjZwX3l6aDlOYUFmWHo5Vl9XVzZfOWJKUTU0SkFPbU1OY0hRYXh1am9HNFRHRTE5M1REM2tVc1BGZGh4OGxuY2VnMXp2aE1CVTIwbTNMMnlIbEwyRjRWVVlsMVBIN1djQ0Z2V2N5NFdjdFhYN3F1aVc0eUtkSlR5b19CcWVjYXJ4M0ExZVJoWXd2d1VNYWg5STVaS29sOXh4eHZGaWRqRi1KaTBLSndPdnlJZ1l5TXVndGdDQlB6M2xIdzhvcWlMNHFUTlRhdjN2QmVpVDFjQ1ExQW1reFVHX05ESWpnOE5vTGhveWtPRDBnaF9kekRrd3M4VktZT3Brdm9uXzhlUVRzeDhULU1jMlI0M3VEYjlYNkNCLUNpZVFFT0oxN3pWN3R6LTNNN0I4WjNpTFA2Z3RhZHJoOTR4aEpucjRMN2hLWVowSjFZVmd0WTU0NnhpVmtxUzgyck1zM1RRb21YY2tmcXJfRHh3RkpTN3ZrUUdVT3NRenlTaXZCX3dhMkFVRU95MDgza2NQRFFncGc2ekVkVE5RUUR1WUdBdEg1a3BDbnhtU2xmQnZ5V2pJUFd2YkhheGdOVHIwTVVkc0JFOWNWTUhHSFVmY28yT2MzaWE2U0JGbWN0M3dxYlc1Y1JlcTZpcVZFTGk1MWw1S2tNdGZueTZ2dXhOSkZsYklvM1lzMURTOU13NXE0T1ZhakVLTGdvV1pmUjlGTVhLb05SLWFxVUVDMTUySm9BYkU3MzVqUGNtZlB3T0ZuenZWcy1iUWg0TElNclFPeElBMm1DdEIxUGlRUmRBWmZmWWNtS19YNFFYNk1HNE1kUkJrMEowRFFDdDhsc2xRd1dVclV5bExnQldwSlNMMGRUd3dTbUJFS0twOWp1dkFjMjQ2TFRBMHZTVEs5cWV4OGt5dC1WUHNDdG5qX0l1SXVrdFBRUzNsbmRRcGctN0xsQzViaGtMaTkxQ1BCR3YxT2ZRRi05cVM2b3ZFcUE1LU5WM2NFLURYbTF0cEFOdTlPMUxpdk5xbGxTYXByMjZ6RElQek85bG4yZUJ4aGpJU0tUMjZmbVJHYVlWZUEtRXR2LW1mOWNiYktEMWNLYVRINUh0WWtfYlNyS0VZdzdHWEQ5QkxqUzRYWmo2SmJrQ2RRQjEwQTBnV0VOUkJ1UWdXbHo3RDBsSWZzeEkyMFJMb2hnaklpMVA0T1Fycjl4X2pJMlJ0bFBRSHFLZFFBVDBRU1pPaGRKV3VlRVE0ZkZlenhPazlhR3M0SDBrRTlBc0toSnhoSDlUU2lVRjlSVG1ZQ1NhbFJpV2FZNXlWRVg0N3RXaFBmbUE1NC1RZ0VDbTB4WVVHTjV3PT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlZlcmlmeWluZyBRTUwgc3RyaW5nIGxvYWRpbmcgYW5kIHByb3BlcnR5IHNldHRpbmcqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfWDhXS0c5N2NDWnprcEZnZmVtRFlPelBafGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODg0NmFmMDgxOTE4NmY4NzM4YTczYmY5ZTdjIiwibmFtZSI6InJlYWQiLCJhcmd1bWVudHMiOnsicGF0aCI6Ii9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcW1ldGFvYmplY3QtMC4yLjEwL3NyYy9xdGRlY2xhcmF0aXZlLnJzIiwib2Zmc2V0IjozOTAsImxpbWl0Ijo1NX19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxODIyLCJvdXRwdXQiOjkzLCJjYWNoZVJlYWQiOjQ0NTQ0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjIyLCJ0b3RhbFRva2VucyI6NDY0NTksImNvc3QiOnsiaW5wdXQiOjAuMDA5MTEsIm91dHB1dCI6MC4wMDI3OSwiY2FjaGVSZWFkIjowLjAyMjI3MiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDM0MTcyfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg5ODI2MjcxLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg4MmEwZDg4MTkxOGRmZmYyM2NjYWU1MTVhMSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJiYjQ3M2NkMiIsInBhcmVudElkIjoiZDRlYmY4MWQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMwOjI5LjQwMFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfWDhXS0c5N2NDWnprcEZnZmVtRFlPelBafGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODg0NmFmMDgxOTE4NmY4NzM4YTczYmY5ZTdjIiwidG9vbE5hbWUiOiJyZWFkIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgICAgICBjcHAhKHVuc2FmZSBbZW5naW5lIGFzIFwiUW1sRW5naW5lSG9sZGVyICpcIl0gLT4gUW1sQ29tcG9uZW50IGFzIFwiUVFtbENvbXBvbmVudEhvbGRlclwiIHtcbiAgICAgICAgICAgIHJldHVybiBRUW1sQ29tcG9uZW50SG9sZGVyKGVuZ2luZS0+ZW5naW5lLmdldCgpKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIHVuZGVybHlpbmcgUVFtbENvbXBvbmVudC4gU2ltaWxhciB0byBRT2JqZWN0OjpnZXRfY3BwX29iamVjdCgpXG4gICAgcHViIGZuIGdldF9jcHBfb2JqZWN0KCZzZWxmKSAtPiAqbXV0IGNfdm9pZCB7XG4gICAgICAgIGNwcCEodW5zYWZlIFtzZWxmIGFzIFwiUVFtbENvbXBvbmVudEhvbGRlciAqXCJdIC0+ICptdXQgY192b2lkIGFzIFwiUVFtbENvbXBvbmVudCAqXCIge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYtPmNvbXBvbmVudC5nZXQoKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gUGVyZm9ybXMgUVFtbENvbXBvbmVudDo6bG9hZFVybFxuICAgIHB1YiBmbiBsb2FkX3VybCgmbXV0IHNlbGYsIHVybDogUVVybCwgY29tcGlsYXRpb25fbW9kZTogQ29tcGlsYXRpb25Nb2RlKSB7XG4gICAgICAgIGNwcCEodW5zYWZlIFtcbiAgICAgICAgICAgIHNlbGYgYXMgXCJRUW1sQ29tcG9uZW50SG9sZGVyICpcIixcbiAgICAgICAgICAgIHVybCBhcyBcIlFVcmxcIixcbiAgICAgICAgICAgIGNvbXBpbGF0aW9uX21vZGUgYXMgXCJRUW1sQ29tcG9uZW50OjpDb21waWxhdGlvbk1vZGVcIlxuICAgICAgICBdIHtcbiAgICAgICAgICAgIHNlbGYtPmNvbXBvbmVudC0+bG9hZFVybCh1cmwsIGNvbXBpbGF0aW9uX21vZGUpO1xuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8vLyBQZXJmb3JtcyBRUW1sQ29tcG9uZW50OjpzZXREYXRhIHdpdGggYSBkZWZhdWx0IHVybFxuICAgIHB1YiBmbiBzZXRfZGF0YSgmbXV0IHNlbGYsIGRhdGE6IFFCeXRlQXJyYXkpIHtcbiAgICAgICAgY3BwISh1bnNhZmUgW3NlbGYgYXMgXCJRUW1sQ29tcG9uZW50SG9sZGVyICpcIiwgZGF0YSBhcyBcIlFCeXRlQXJyYXlcIl0ge1xuICAgICAgICAgICAgc2VsZi0+Y29tcG9uZW50LT5zZXREYXRhKGRhdGEsIFFVcmwoKSk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8vIFBlcmZvcm1zIFFRbWxDb21wb25lbnQ6OnNldERhdGFcbiAgICBwdWIgZm4gc2V0X2RhdGFfYXMoJm11dCBzZWxmLCBkYXRhOiBRQnl0ZUFycmF5LCB1cmw6IFFVcmwpIHtcbiAgICAgICAgY3BwISh1bnNhZmUgW3NlbGYgYXMgXCJRUW1sQ29tcG9uZW50SG9sZGVyICpcIiwgZGF0YSBhcyBcIlFCeXRlQXJyYXlcIiwgdXJsIGFzIFwiUVVybFwiXSB7XG4gICAgICAgICAgICBzZWxmLT5jb21wb25lbnQtPnNldERhdGEoZGF0YSwgdXJsKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gUGVyZm9ybXMgUVFtbENvbXBvbmVudDo6Y3JlYXRlXG4gICAgcHViIGZuIGNyZWF0ZSgmbXV0IHNlbGYpIC0+ICptdXQgY192b2lkIHtcbiAgICAgICAgY3BwISh1bnNhZmUgW3NlbGYgYXMgXCJRUW1sQ29tcG9uZW50SG9sZGVyICpcIl0gLT4gKm11dCBjX3ZvaWQgYXMgXCJRT2JqZWN0ICpcIiB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi0+Y29tcG9uZW50LT5jcmVhdGUoKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gUGVyZm9ybXMgUVFtbENvbXBvbmVudDo6c3RhdHVzXG4gICAgcHViIGZuIHN0YXR1cygmc2VsZikgLT4gQ29tcG9uZW50U3RhdHVzIHtcbiAgICAgICAgY3BwISh1bnNhZmUgW1xuICAgICAgICAgICAgc2VsZiBhcyBcIlFRbWxDb21wb25lbnRIb2xkZXIgKlwiXG4gICAgICAgIF0gLT4gQ29tcG9uZW50U3RhdHVzIGFzIFwiUVFtbENvbXBvbmVudDo6U3RhdHVzXCIge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYtPmNvbXBvbmVudC0+c3RhdHVzKCk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8vIFNlZSBRdCBkb2N1bWVudGF0aW9uIGZvciBRUW1sQ29tcG9uZW50OjpzdGF0dXNDaGFuZ2VkXG4gICAgcHViIGZuIHN0YXR1c19jaGFuZ2VkX3NpZ25hbCgpIC0+IFNpZ25hbDxmbihzdGF0dXM6IENvbXBvbmVudFN0YXR1cyk+IHtcblxuWzgyNyBtb3JlIGxpbmVzIGluIGZpbGUuIFVzZSBvZmZzZXQ9NDQ1IHRvIGNvbnRpbnVlLl0ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODk4Mjk0MDB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJmM2NlOGM1NSIsInBhcmVudElkIjoiYmI0NzNjZDIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMwOjMzLjI1MVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfcG5uWVdVcjJxOWV4c1FoSnNrdlEwdE5MfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODg3Njg1NDgxOTE5OGRjOTMwNjBmZmE4OGEyIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJnIC1uICdwdWIgZm4gc2V0X3Byb3BlcnR5JyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9xbWV0YW9iamVjdC0wLjIuMTAvc3JjL3F0ZGVjbGFyYXRpdmUucnM7IHJnICdpbXBsIEZyb208LipRVmFyaWFudCcgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovcXR0eXBlcy0wLjIuMTIvc3JjIC1uIHwgaGVhZCAtMzAifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE0MDUsIm91dHB1dCI6ODcsImNhY2hlUmVhZCI6NDU1NjgsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MCwidG90YWxUb2tlbnMiOjQ3MDYwLCJjb3N0Ijp7ImlucHV0IjowLjAwNzAyNTAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMjYxLCJjYWNoZVJlYWQiOjAuMDIyNzg0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMzI0MTl9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODk4Mjk0MDEsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODg1ZDVhYzgxOTFhZDgyMTAyZmNjNzc3NWVlIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjcyODczZTIxIiwicGFyZW50SWQiOiJmM2NlOGM1NSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzA6MzMuMjYyWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9wbm5ZV1VyMnE5ZXhzUWhKc2t2UTB0Tkx8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ODc2ODU0ODE5MTk4ZGM5MzA2MGZmYTg4YTIiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIxNzA6ICAgIHB1YiBmbiBzZXRfcHJvcGVydHkoJm11dCBzZWxmLCBuYW1lOiBRU3RyaW5nLCB2YWx1ZTogUVZhcmlhbnQpIHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXR0eXBlcy0wLjIuMTIvc3JjL3F0Y29yZS9xdmFyaWFudC5yczoxMTI6aW1wbCBGcm9tPFFTdHJpbmc+IGZvciBRVmFyaWFudCB7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0dHlwZXMtMC4yLjEyL3NyYy9xdGNvcmUvcXZhcmlhbnQucnM6MTIyOmltcGwgRnJvbTxRVmFyaWFudE1hcD4gZm9yIFFWYXJpYW50IHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXR0eXBlcy0wLjIuMTIvc3JjL3F0Y29yZS9xdmFyaWFudC5yczoxMzI6aW1wbCBGcm9tPFFCeXRlQXJyYXk+IGZvciBRVmFyaWFudCB7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0dHlwZXMtMC4yLjEyL3NyYy9xdGNvcmUvcXZhcmlhbnQucnM6MTQyOmltcGwgRnJvbTxRRGF0ZT4gZm9yIFFWYXJpYW50IHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXR0eXBlcy0wLjIuMTIvc3JjL3F0Y29yZS9xdmFyaWFudC5yczoxNTI6aW1wbCBGcm9tPFFUaW1lPiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjE2MjppbXBsIEZyb208UURhdGVUaW1lPiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjE3MjppbXBsIEZyb208UVVybD4gZm9yIFFWYXJpYW50IHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXR0eXBlcy0wLjIuMTIvc3JjL3F0Y29yZS9xdmFyaWFudC5yczoxODI6aW1wbCBGcm9tPFFWYXJpYW50TGlzdD4gZm9yIFFWYXJpYW50IHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXR0eXBlcy0wLjIuMTIvc3JjL3F0Y29yZS9xdmFyaWFudC5yczoxOTM6aW1wbCBGcm9tPFFTdHJpbmdMaXN0PiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjIwNDppbXBsIEZyb208aTMyPiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjIxNDppbXBsIEZyb208dTMyPiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjIyNDppbXBsIEZyb208aTY0PiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjIzNDppbXBsIEZyb208dTY0PiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjI0NDppbXBsIEZyb208ZjMyPiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjI1NDppbXBsIEZyb208ZjY0PiBmb3IgUVZhcmlhbnQge1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHR5cGVzLTAuMi4xMi9zcmMvcXRjb3JlL3F2YXJpYW50LnJzOjI2NDppbXBsIEZyb208Ym9vbD4gZm9yIFFWYXJpYW50IHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXR0eXBlcy0wLjIuMTIvc3JjL2xpYi5yczoxNTQ5OmltcGwgRnJvbTxRVmFyaWFudD4gZm9yIFFKc29uVmFsdWUge1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5ODMzMjYyfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNTZiYjFhZTYiLCJwYXJlbnRJZCI6IjcyODczZTIxIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDozMy4yNjNaIiwibWVzc2FnZSI6eyJyb2xlIjoidXNlciIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6ImlmIG5lZWRlZCBpbnN0YWxsIHF0IGRlcGVuZGVuY2llcyB3aXRoIGFwdC1nZXQuIG1ha2Ugc28gdGhhdCBwcm9qZWN0IGlzIGNvbXBpbGFibGUgd2l0aCBjYXJnbyBidWlsZCJ9XSwidGltZXN0YW1wIjoxNzg0OTg5ODMwMDA3fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYmVlMmZjN2MiLCJwYXJlbnRJZCI6IjU2YmIxYWU2IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDozNy42MjJaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkNoZWNraW5nIGRpc3RyaWJ1dGlvbiBwYWNrYWdlIG1hbmFnZXIqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODhhZWVmYzgxOTE4MzY3MjliYjM3ODJiMWViXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNaU5oRGlaeEpTWDg2cmx2NHdqX0V4MGZlYlFSUVhTaFJQTFdEVlZRcF9Fblk5VnFOZi0wYnBiT3piRkZDbnFxREFycVA4QnU0ZVAtN0lHR0I5dXRQZmlEOERUMTVxcjZVNjhwMDVuVFpaSzl5M3RKZFcxYjJrVmxpa21WOW9oOEtKTnBNeHd2bnVKUFVjMEstMm1TMkJyR0xLb1pQWkhXYU1fMTY4RGZXZXdROFlLOHYyVjhZdGZhZUpCa3FBdnY4Ym8ybm9JMGViM2l0YjU3ZjE5ZVcwZmIyV3gwajdYRU5NUFFvQW1La1FMSzhETmpOQ1JxWktQTEtDSWxzay03bTBZWFBXWXhlWmhBQlh5VEF3VG0taVhzSkZtZDRIWS1uV09COVZGYWJlVFRVQkhBcE90NnVvNWI0U0lmbUdhUU0xdjRwUzhCR1VLbXd5UVItUVpHTTdOYTNZQ0wya2VRQkVxM2N0ZGw2ejk1Y0tVMy1EYUlHLUZsOFVTYkZfWXpxUWFWSDVqYi03UjVYcEN6N2N1c1lnam1hWTBGVTBERDZlbFNOaUZhdzhhQUtTNmpmZS1CX1ZvVWxMVEhKcklZdExfNmVSeTAzdk1JbzJJYVBZYWZBWDRFWENnLWRNVEc4dVFQV2pQZk5PVldoRV9obFNQU0k0cFlwRWk1NXczYWRxTzhVODhXR3Q5WThaV3pnXzNQQ0Y4QjZpZ3RUN3pOSXFjaW1RNU5EV2V6VmhsM01oVkFDYU9rOC1JWXB5VTNtM0JwbGV0U2dwSnJMd2gtLXhTRy1ISXdHdFQycENkRTMtOFRxaXVTODR1N25MZE1PSjdWejl6MkJUdVFZa3RHVHNuR0g0c1lwdVNralRBOTF6cF85Qzh3WExOakFoVTRXclZmNmNCajBza19jZVc3N3hCbjFNc2ZYWUg5WnJtSGt5RGU1ZnltVVRqSEhGUzJsdUhTZE1OeVVINlY1cGNIZjgtNGpIOFRwcnlkdEszQnZXWVNzR3lnaE13SjByRmlUTDBWT2pWZno0bDRoRVcxalFFS1VvSmhZV0JIaHlqa1REb282c3dEQnhhekd0Z19zWVY2MFF2Y0xBZEFmUDE2SjFzWDFaZDFvZzJqRWw0V0dGWDZveHB2OHpZS1R0d3oxeGR1VUs1aUxlTGVERDlweDJRWkZQZ05xc2ZDTEFzOGJBUzZXQW5Zd0hmdlZTSWVjVHRPNGhBa1IxSEtEV3MzRVJfdHEzNXBFOTlDSVV2dGotQjJLSk9JNUswMGgxNGg2VHh0MERxU2VSenhBRUctQlhIY1ZsMzR3PT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkNoZWNraW5nIGRpc3RyaWJ1dGlvbiBwYWNrYWdlIG1hbmFnZXIqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfaDA5bEtFMWE0eE5NOXI4WDd5U0MxVDZofGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODhkN2M5ODgxOTFhYzdkNmZhYTRiNzAwNzFjIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNvbW1hbmQgLXYgYXB0LWdldDsgY2F0IC9ldGMvb3MtcmVsZWFzZSB8IGhlYWQ7IGlkOyBzdWRvIC1uIHRydWUgMj4mMTsgZWNobyBzdWRvOiQ/In19LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX1BlNmhEYkxnWWVzU1RuNWZDTUQ2U1pvcnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg4ZDdjYjA4MTkxODRiMGMyNjkzZDE3MjE5NCIsIm5hbWUiOiJyZWFkIiwiYXJndW1lbnRzIjp7InBhdGgiOiIvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3FtZXRhb2JqZWN0LTAuMi4xMC9zcmMvcXRkZWNsYXJhdGl2ZS5ycyIsIm9mZnNldCI6MTQ1LCJsaW1pdCI6NDV9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTQ1OCwib3V0cHV0IjoxNDIsImNhY2hlUmVhZCI6NDY1OTIsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTMsInRvdGFsVG9rZW5zIjo0ODE5MiwiY29zdCI6eyJpbnB1dCI6MC4wMDcyOTAwMDAwMDAwMDAwMDA1LCJvdXRwdXQiOjAuMDA0MjYsImNhY2hlUmVhZCI6MC4wMjMyOTU5OTk5OTk5OTk5OTcsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjAzNDg0Nn19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTgzMzI2NCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ODlhNjIwODE5MWIzMTNjODI1YjI5N2UxODUifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiY2E1NTYwM2UiLCJwYXJlbnRJZCI6ImJlZTJmYzdjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDozNy42NTNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2gwOWxLRTFhNHhOTTlyOFg3eVNDMVQ2aHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg4ZDdjOTg4MTkxYWM3ZDZmYWE0YjcwMDcxYyIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii91c3IvYmluL2FwdC1nZXRcbk5BTUU9XCJBTFRcIlxuVkVSU0lPTj1cIjIwMjYwMzE2XCJcbklEPWFsdGxpbnV4XG5WRVJTSU9OX0lEPTIwMjYwMzE2XG5QUkVUVFlfTkFNRT1cIkFMVCBSZWd1bGFyXCJcblZBUklBTlQ9XCJSZWd1bGFyXCJcbkFOU0lfQ09MT1I9XCIxOzMzXCJcbkNQRV9OQU1FPVwiY3BlOi9vOmFsdDpzaXN5cGh1czoyMDI2MDMxNlwiXG5CVUlMRF9JRD1cIlNpc3lwaHVzIDIwMjQwMTIyXCJcbkFMVF9CUkFOQ0hfSUQ9XCJzaXN5cGh1c1wiXG51aWQ9MTAwMChhZ3VzY2hpbikgZ2lkPTEwMDAoYWd1c2NoaW4pIGdyb3Vwcz0xMDAwKGFndXNjaGluKSwxMCh3aGVlbCksMTQodXVjcCksMTkocHJvYyksMjIoY2Ryb20pLDcxKGZsb3BweSksODAoY2R3cml0ZXIpLDgxKGF1ZGlvKSw4MyhyYWRpbyksMTAwKHVzZXJzKSw5NDgoaGFzaG1hbiksOTYzKGNhbWVyYSksOTc3KHZpZGVvKSw5NzkoZGlhbG91dCksOTk3KHhncnApLDk5OChzY2FubmVyKSwxMDAxKGFndXNjaGluX2EpLDEwMDIoYWd1c2NoaW5fYilcbnN1ZG86IGEgcGFzc3dvcmQgaXMgcmVxdWlyZWRcbnN1ZG86MVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5ODM3NjUzfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZTNjYWE5YzUiLCJwYXJlbnRJZCI6ImNhNTU2MDNlIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMDozNy42NTNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1BlNmhEYkxnWWVzU1RuNWZDTUQ2U1pvcnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg4ZDdjYjA4MTkxODRiMGMyNjkzZDE3MjE5NCIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gTG9hZHMgcW1sIGRhdGEgd2l0aCBgdXJsYCBhcyBiYXNlIHVybCBjb21wb25lbnQgKFNlZSBRUW1sQXBwbGljYXRpb25FbmdpbmU6OmxvYWREYXRhKVxuICAgIHB1YiBmbiBsb2FkX2RhdGFfYXMoJm11dCBzZWxmLCBkYXRhOiBRQnl0ZUFycmF5LCB1cmw6IFFVcmwpIHtcbiAgICAgICAgY3BwISh1bnNhZmUgW3NlbGYgYXMgXCJRbWxFbmdpbmVIb2xkZXIgKlwiLCBkYXRhIGFzIFwiUUJ5dGVBcnJheVwiLCB1cmwgYXMgXCJRVXJsXCJdIHtcbiAgICAgICAgICAgIHNlbGYtPmVuZ2luZS0+bG9hZERhdGEoZGF0YSwgdXJsKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gTGF1bmNoZXMgdGhlIGFwcGxpY2F0aW9uXG4gICAgcHViIGZuIGV4ZWMoJnNlbGYpIHtcbiAgICAgICAgY3BwISh1bnNhZmUgW3NlbGYgYXMgXCJRbWxFbmdpbmVIb2xkZXIgKlwiXSB7XG4gICAgICAgICAgICBzZWxmLT5hcHAtPmV4ZWMoKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gQ2xvc2VzIHRoZSBhcHBsaWNhdGlvblxuICAgIHB1YiBmbiBxdWl0KCZzZWxmKSB7XG4gICAgICAgIGNwcCEodW5zYWZlIFtzZWxmIGFzIFwiUW1sRW5naW5lSG9sZGVyICpcIl0ge1xuICAgICAgICAgICAgc2VsZi0+YXBwLT5xdWl0KCk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8vIFNldHMgYSBwcm9wZXJ0eSBmb3IgdGhpcyBRTUwgY29udGV4dCAoY2FsbHMgUVFtbEVuZ2luZTo6cm9vdENvbnRleHQoKS0+c2V0Q29udGV4dFByb3BlcnR5KVxuICAgIHB1YiBmbiBzZXRfcHJvcGVydHkoJm11dCBzZWxmLCBuYW1lOiBRU3RyaW5nLCB2YWx1ZTogUVZhcmlhbnQpIHtcbiAgICAgICAgY3BwISh1bnNhZmUgW3NlbGYgYXMgXCJRbWxFbmdpbmVIb2xkZXIgKlwiLCBuYW1lIGFzIFwiUVN0cmluZ1wiLCB2YWx1ZSBhcyBcIlFWYXJpYW50XCJdIHtcbiAgICAgICAgICAgIHNlbGYtPmVuZ2luZS0+cm9vdENvbnRleHQoKS0+c2V0Q29udGV4dFByb3BlcnR5KG5hbWUsIHZhbHVlKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gU2V0cyBhbiBvYmplY3QgZm9yIHRoaXMgUU1MIGNvbnRleHQgKGNhbGxzIFFRbWxFbmdpbmU6OnJvb3RDb250ZXh0KCktPnNldENvbnRleHRPYmplY3QpXG4gICAgcHViIGZuIHNldF9vYmplY3Q8VDogUU9iamVjdCArIFNpemVkPigmbXV0IHNlbGYsIG9iajogUU9iamVjdFBpbm5lZDxUPikge1xuICAgICAgICBsZXQgb2JqX3B0ciA9IG9iai5nZXRfb3JfY3JlYXRlX2NwcF9vYmplY3QoKTtcbiAgICAgICAgY3BwISh1bnNhZmUgW3NlbGYgYXMgXCJRbWxFbmdpbmVIb2xkZXIgKlwiLCBvYmpfcHRyIGFzIFwiUU9iamVjdCAqXCJdIHtcbiAgICAgICAgICAgIHNlbGYtPmVuZ2luZS0+cm9vdENvbnRleHQoKS0+c2V0Q29udGV4dE9iamVjdChvYmpfcHRyKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8gU2V0cyBhIHByb3BlcnR5IGZvciB0aGlzIFFNTCBjb250ZXh0IChjYWxscyBRUW1sRW5naW5lOjpyb290Q29udGV4dCgpLT5zZXRDb250ZXh0UHJvcGVydHkpXG4gICAgLy8vXG4gICAgLy8gKFRPRE86IGNvbnNpZGVyIG1ha2luZyB0aGUgbGlmZXRpbWUgdGhlIG9uZSBvZiB0aGUgZW5naW5lLCBpbnN0ZWFkIG9mIHN0YXRpYylcbiAgICBwdWIgZm4gc2V0X29iamVjdF9wcm9wZXJ0eTxUOiBRT2JqZWN0ICsgU2l6ZWQ+KFxuICAgICAgICAmbXV0IHNlbGYsXG4gICAgICAgIG5hbWU6IFFTdHJpbmcsXG5cblsxMDgyIG1vcmUgbGluZXMgaW4gZmlsZS4gVXNlIG9mZnNldD0xOTAgdG8gY29udGludWUuXSJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTgzNzY1M319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImY4NjBjNmE3IiwicGFyZW50SWQiOiJlM2NhYTljNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzE6MDQuNjUwWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipBc3Nlc3NpbmcgUXQgYW5kIEdUSyBkZXBlbmRlbmNpZXMqKlxuXG4qKkRlc2lnbmluZyBRTUwgQXBwbGljYXRpb25XaW5kb3cgYW5kIGNvbXBvbmVudHMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjODhmN2MxMDgxOTE5MTgzOGMyNDA1NzllNDhhXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNaWZtUElVdTgzd2U3MG5LT3NYVk4zcHNHX2pDLWhUTDlzMUJmNDZzY0dlRjZ0Q2hYQk5QSnp5dzhEaGtzZXk5UFZ6MnY0c0xUeHdjdjBHcmRsdDNhdDI1TUZsWXlzZTJyNFlCYzB1Y1dFLUFTZzNoQ0JVVmt5d0Uwa0gySnk2QkJBdXFKVVdVQ256NjI1V1FoZk5iWUpWVXFPUWNDdzJNSlRRMWh1LUJObzlNU2ZMM0F5REQwZ3prcHNpV2tmWGNHOEF0LVEyRzd6VzJiRjlER1dlQk9wTEh3SDRUMWhBbG1QQmJxQVJYMTNVRExyQWhIMlhvSWV5V01aR2xhbEdyMFk1TFJLRU05aWc3cWJhUFBNTE9NSEZTZnNfM2NmLTlQZGpZcVA3ck1rYjVnRjBnMm5VWUhXYmU5RVk3NlYwa2tiRXdtZkd2VDlOT0poaEJMX25MdzI1OVFQTEdhSjVteTFBOEVycWJKOTB0dUYxampnVGR0S0tnX2dOQXZaZTYxSWstM3VpV0hXYWpvbWctM2hCazh3RUFyOVVSWkVYY1lkb1RxcmZMWnVVNVJycXkwVllwUGQ2QXBMZ1ZzR1VaVlpPZGtQS2VPNEJVd2xpQkJiM1pzbkY5bTNOeGxReHYxbmpEcGpwclRNM0oxWHBoUlllZkdrZlNFT0ZNWW5rWW1QSWRsZVJMNWRndnE0TGtubEdBbms1dGlZdXpqZWNmQU0yNktVeGkyNkVzNk5qalJZUmtoNXdwY3RJcDNNcWN4WXhNcHVrRFRtR1VOX3V5eTVScC1vWXRUcmVuRGw3VkZSN0tRYm9XcTdqRGpuSXR1RHFTZFBpZ0dibVRRSmF5TlVEYVFSTzduM0tDYzY0eTc4RFowN2FXc1NOUmdCOFVLdkgyQnVCcWIzWloya2o1SF8tNU4zdXF5SGw3WTluQ2Y4RVhZWjd5YV9Vbk05UTd6RmFWSUVwUDA4T2hVUk1HTTZaLW53X2FlekVZY0dYODFQZ3RHdXFfU1dGUWVmYjRrNklpTHowWnluVU1DQXRxVFd4OVg2RHVob3V1akpWWDVqY1ZyR21KQU1XcWtVa2pGdkJ6SEFwdGlfMXVmTU5BMVMwNVNneUotX3YxVWFPZVZWNk5ZMmZNMS1pR2VoU2x4Q05SZ2M1VWpISkNTcHRyeTF1SHBYUW5VbWdOS1IyYTN4WjRyMWp6Zm1rTE1xMHdpTWV0QjZac0loVW1BX01zZnU3TFRZaU04Y3NxQW1XOGI0NlQ1MlNiV3FZUFVUMEI5V0tCbXJpVm1fLUZBM3p3SEtUV3FlQUdVTXZIN0tyVmVHWHJEazk5dFZ2NnZGc1lQUVpheUMtTS1ib05VYkw3ZnhOc3J1dlFTSkdyYTBCSDVsbnJJTDJwaHRjMnR6VFlKNFEwQ3g2WkVXQnIwMUg1SHFuUUo0SDVKRkRJdDdpd1hPTjVncklNNmRMdW04WXNPQWMxWmVwTnlqUm05WkxVZU03R1A2ejl2OVZSd09POWtTTUxEdGlEVUVYX195MXVCU25mdzktUV9fLWgwenFOWDhzS3lSWEFXRE51dl8zNlF3ejhweDJHNVIwZ3o3cWVzR3g2OXdqaHFsbXl6amxRTDNPNE90bVJYcGlBQW9mVnc0S0xLNjlmWlQ4M0ZvWFBqU21GRC04Y0hiVGFCLU1nYjNhdFlZUFJ6X1JNdVRJS19XZ2g2RmphTzJOME11TkxlNDR1aGZrQmgxWXJSTXNXZWFfMFpPdWlyT2ROYmppUFVWLVhTaUt4c1JpZzN2NFlXQUk0RnFoODAycGtQdWQxYmFUa29rYU94Qm4teG5VcldjZkEwRy1WbEtMTXpjZTVRUWE3MUhaemtZczRKTWlKaUtPY0dmRVhGN0N2OHhiUW0xWlFVSzItM2QyVGpUb0F6SGFvZXVQVWJ3OW11NzZKVEo3LUxNdGE4QXdwQlNQTjRXTGtUby00aXhJUHl0SGNaVTJEVFFuaWw1WElKT2Fsd192b2pERWVncnNlU1dVeEFMNkxmd2FQRG9NZlZpSnYwYmlNaWFnb2NNZTVlakJqRTAzaVZPc1ZDcTl5SkFkSlRsUnpNQ0dwLTRRZmZsLWh6d1FXSFVIX1JBUlJzb010blJ2Zy1pWkN5TTdWTlMxMjhucDRTSjZxSmxRczZTTkdhTVIzb0wwTjBOY0J4QmJyOG4xaHFaUDlCQ21jRkV0NGxDeDdiUEpSNmlBX0pWUjFLUWI0TUNyMjI5dHBzU1BPUVJ2N1Z4bWx4U2x0UzNDcVptTmxXTGhWbmF0RjE0bi1wdEEySEp5cmUwNGZtX0N6RndOMWw4NDFOV0NyaWdoem0zTjU0dWZ0TUxDaExWbzFzMEFuS0lubmJGT2lwLVdLOWxlSm5CV2oydFJzOWJkbDJ3SE9ZeDE3bUxDd1lQYVpTSmtOT3NkM3JCYWFIX0VtRGZldjYxU1ppekxVc3U4S2RuXzdRUFRMQk9pNG5Vbkhmb1ZUV0xLeW9JSjlBS05NWVVhTVpCdC0zdTdYT2I0R3A2SzNhNnJKVHhLMG1hTTBNQjZ1WWh3YWtCUHhCem1Fa1V0cUZwSFJZMnNiOEl4TF9kNzNqVncwdVhON2JrQlRpbHNSN1llM3ZVNVB2aUZzYmhfNFhiYUdKOVQxVng3MGhXbGZ5TVF3WHZlam1SZkt6ejB5QkRYQVRFMlNyS29hYkw1cERPZ2M3ajB4TUhTcGE4a1ZXMk05S0Y5elZ6TzgweWt2RWtTX245bHo0OXZCV0FHWG1DeUNoaUVRSTAxdkQ2c3pLYjlPSjBxOFVQcEh2Nkx4Y2VDZ3Zsa0J6QkVSLUhNQ3VudldXUWRzeEZTVm9HZndDZGtUSlBXQ2xmY1NsNE1wS2JEb0l6c2ZjM0cxZ3ZwZzRrWnM4MUN3UXk3X29fd21pZ1pENVdxQnVqT25UT2lBNzZMYmhaYzdhOGpSWkJqR3NEVzMycjdEc0E5NU9kSUZYTjZhMG5ldWxVOWZmNFgyZjB1NlNNTzQ4bkZmMDZKTTlGQWMxUENzSTBpNFJWNzBfUlRfSzFtQWhYVkludTlJaDFzdk00TlJRdldZY2h3cHBnMzBabllOeTVhWnozVUhQcVF3cXd2bmtTeUN4R2ZWUndNM1QtcUhXMkR0Vk5FaE0ySGNFV2RSLXAzcHRKTG9hUWkzVTd1cldlMDRKYjhpb0JfeTNHcHRuLXA2cWxNcjRfYlo5TWNaNFNPX2V6dU9xbk13TDBDc0ZKdG8yWDU3QzlEX1I1SDN6VWU0UFRwaGpHeGhGRUE3REgteHhneWplTGdPQk90RW54andoMm5YMEpCSmI5MzNmWVlhR3VjT2FvQzlrS3ZhR3hnV2RxQjBLek4wYlh1bzlaQ1h0ZEFFM21DOGtJR0Y5cGd6b1RoUmdZdWxUX2E1TUZLVVNxbFVUQjdhT1N1NDhwZ2o0b08zUjdCeTBMSXlzc0ZJRXgyVGxLZVFwMnotYURSU2NBX3RaSzlON2RSVnFsc3JDRkFmUVZkN1hOclc4eVV1elR0TVVRT2xMelZIYkNKVFdsTXB1anpoR2dKeV9GeFU1MzExZzFoQk1tNThCR1NvQlNUeE9hWjNjc3dLUjg1cU9QTnNMV1NwdjVYYm1yYXdET2poT1ZyaXNsYnRzT0VFRFZZazNfZ2tPdnZmTWtDQlNMd3ZUQjJwZXVuREN0UkZGN0ZSbDdGZnlNSE5EYU9pSV9HMGh5a1lNcVp5bDZVRkRkQmVfTlIzbEQ3QjF2X1RZM3hLcXllOVh3UTM3RlZyLTk3UjFMVFd2dGFtMWxHYkF1Y0JydTlOV1gyVmxmaUNONE9nZTl2T1k5bWJCNFNkRHJ0S0kzazFpNFE2cU1tSGw5OElMUE1UTXV6VldkOEladFgyejFiS0h0cGt1Nm1rMVdNQlpnOTJVX1hKWGNmUjNSQVczS1VuYjZoTDVFcFE1MXE0bGVuZE1uSmxMdFU3RktjaDN2SG1JVDRrNHlsSTBZTUM5TlhXMHo4Z3JHaVBZbmlIZTloQ212NnFjZEVqZmpXSzVjWm01OHlLR2tGcFd6S2pKLUxpNUN6eWRQRnZIc01teFBnOTVMQzRSaWJBQ25KaUE0Rk8wZzF4WWJwNWVwTnc3UUgyd0N6cTlBZnU1cFo1a0xvWFN0VjhKbnZTSXNXX05GdWYwSGhoWUVKZnJmaVpXRXR0WjhwdEF1UVdPRGJmLWJaMjV2U1g0NlFBVHIycFJMVkgtV1Z5N29JT3BwMU1MbF9OY1R3a0VtNFVnbHZ5WDM3cm5VTVNNSHdLVzhxcGU1Vk9PNXVzTFhTYlBDYmtMamhOeDRSZXg4ZVVhRmRoSVVuTFFrenhzY3RJU2FWWnZBaXVwRWZ4TUhqMFFyV2VsTXFTSjhsZzY2eXpmb0EwOGVVd0xYalA3M3d5Ty1RYmJZRTNGOElXODdnV3NRenMzTlhWX21WY0NnQ2VtdWFwY3BRLVRFS0I2eldhYVJyT1lueHhwaGNlc0tyeTAzN2xRcUhsYnVEQk43TlhUTk1Ka0xZczRkV3Npam04MlBpQV82Y0FYWTBqaE9ISHRmLTFhVDhrU0RfZlRwZXJXWTlsa01HYVJyUWdOZjZYZ3VhY1pIbWpkTmRVRU1CZWp6SlpLWkpxY3FhVkFHbUpmS0tzQ3NqUDFHbUJWVjdJSEhQakJPc2l0RHZxWkhCcUZVTDZrZHVPcDlIRDVfclhXRFNOcDgydWx5ZTkzNUM0ek9fSndVMWtoYnBNNW5tejZfbXhaX044aGI1ZjRjOXBkLXA4US1kUzJGcF9FNmJyb2ZYZUZIQXpyWVI3dFdmdXBIRHMtaXhOY0sxckxoVlNaUDE3VWhMUUxURDhGMG1sRTVTUDNtcmNRPT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkFzc2Vzc2luZyBRdCBhbmQgR1RLIGRlcGVuZGVuY2llcyoqXCJ9LHtcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipEZXNpZ25pbmcgUU1MIEFwcGxpY2F0aW9uV2luZG93IGFuZCBjb21wb25lbnRzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0lsWVNEYW5NN3BNNkZxNDRpMWRNeXhDRXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg5ZmY1YjQ4MTkxOTYyMzAyNjFmODYzYWE4ZiIsIm5hbWUiOiJ3cml0ZSIsImFyZ3VtZW50cyI6eyJwYXRoIjoiY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnMiLCJjb250ZW50IjoidXNlIHFtZXRhb2JqZWN0Ojp7UW1sRW5naW5lLCBRU3RyaW5nLCBRVmFyaWFudH07XG51c2Ugc3RkOjpmcztcblxuY29uc3QgQk9BUkRTOiAmc3RyID0gaW5jbHVkZV9zdHIhKFwiLi4vLi4vLi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvU1VQUE9SVEVELUJPQVJEU1wiKTtcbmNvbnN0IFFNTDogJnN0ciA9IGluY2x1ZGVfc3RyIShcIi4uL3FtbC9NYWluLnFtbFwiKTtcblxuZm4gbWFpbigpIHtcbiAgICBsZXQgbXV0IGVuZ2luZSA9IFFtbEVuZ2luZTo6bmV3KCk7XG4gICAgZW5naW5lLnNldF9wcm9wZXJ0eShcbiAgICAgICAgUVN0cmluZzo6ZnJvbShcInN1cHBvcnRlZEJvYXJkc1RleHRcIiksXG4gICAgICAgIFFWYXJpYW50Ojpmcm9tKFFTdHJpbmc6OmZyb20oQk9BUkRTKSksXG4gICAgKTtcbiAgICBlbmdpbmUuc2V0X3Byb3BlcnR5KFxuICAgICAgICBRU3RyaW5nOjpmcm9tKFwiYXZhaWxhYmxlRHJpdmVzVGV4dFwiKSxcbiAgICAgICAgUVZhcmlhbnQ6OmZyb20oUVN0cmluZzo6ZnJvbShhdmFpbGFibGVfZHJpdmVzKCkuam9pbihcIlxcblwiKSkpLFxuICAgICk7XG4gICAgZW5naW5lLmxvYWRfZGF0YShRTUwuaW50bygpKTtcbiAgICBlbmdpbmUuZXhlYygpO1xufVxuXG5mbiBhdmFpbGFibGVfZHJpdmVzKCkgLT4gVmVjPFN0cmluZz4ge1xuICAgIGxldCBtdXQgZHJpdmVzID0gVmVjOjpuZXcoKTtcbiAgICBsZXQgT2soZW50cmllcykgPSBmczo6cmVhZF9kaXIoXCIvc3lzL2Jsb2NrXCIpIGVsc2Uge1xuICAgICAgICByZXR1cm4gZHJpdmVzO1xuICAgIH07XG5cbiAgICBmb3IgZW50cnkgaW4gZW50cmllcy5mbGF0dGVuKCkge1xuICAgICAgICBsZXQgbmFtZSA9IGVudHJ5LmZpbGVfbmFtZSgpLnRvX3N0cmluZ19sb3NzeSgpLmludG9fb3duZWQoKTtcbiAgICAgICAgaWYgbmFtZS5zdGFydHNfd2l0aChcImxvb3BcIikgfHwgbmFtZS5zdGFydHNfd2l0aChcInJhbVwiKSB8fCBuYW1lLnN0YXJ0c193aXRoKFwienJhbVwiKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcmVtb3ZhYmxlID0gZnM6OnJlYWRfdG9fc3RyaW5nKGVudHJ5LnBhdGgoKS5qb2luKFwicmVtb3ZhYmxlXCIpKVxuICAgICAgICAgICAgLm1hcCh8dmFsdWV8IHZhbHVlLnRyaW0oKSA9PSBcIjFcIilcbiAgICAgICAgICAgIC51bndyYXBfb3IoZmFsc2UpO1xuICAgICAgICBpZiAhcmVtb3ZhYmxlICYmICFuYW1lLnN0YXJ0c193aXRoKFwibW1jYmxrXCIpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHNlY3RvcnMgPSBmczo6cmVhZF90b19zdHJpbmcoZW50cnkucGF0aCgpLmpvaW4oXCJzaXplXCIpKVxuICAgICAgICAgICAgLm9rKClcbiAgICAgICAgICAgIC5hbmRfdGhlbih8dmFsdWV8IHZhbHVlLnRyaW0oKS5wYXJzZTo6PHU2ND4oKS5vaygpKVxuICAgICAgICAgICAgLnVud3JhcF9vcigwKTtcbiAgICAgICAgbGV0IG1vZGVsID0gZnM6OnJlYWRfdG9fc3RyaW5nKGVudHJ5LnBhdGgoKS5qb2luKFwiZGV2aWNlL21vZGVsXCIpKVxuICAgICAgICAgICAgLnVud3JhcF9vcl9kZWZhdWx0KClcbiAgICAgICAgICAgIC50cmltKClcbiAgICAgICAgICAgIC50b19vd25lZCgpO1xuICAgICAgICBsZXQgZGVzY3JpcHRpb24gPSBpZiBtb2RlbC5pc19lbXB0eSgpIHtcbiAgICAgICAgICAgIGZvcm1hdCEoXCIvZGV2L3tuYW1lfVwiKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbW9kZWxcbiAgICAgICAgfTtcbiAgICAgICAgZHJpdmVzLnB1c2goZm9ybWF0IShcbiAgICAgICAgICAgIFwie2Rlc2NyaXB0aW9ufSAgwrcgIHt9ICDCtyAgL2Rldi97bmFtZX1cIixcbiAgICAgICAgICAgIGZvcm1hdF9zaXplKHNlY3RvcnMuc2F0dXJhdGluZ19tdWwoNTEyKSlcbiAgICAgICAgKSk7XG4gICAgfVxuICAgIGRyaXZlcy5zb3J0KCk7XG4gICAgZHJpdmVzXG59XG5cbmZuIGZvcm1hdF9zaXplKGJ5dGVzOiB1NjQpIC0+IFN0cmluZyB7XG4gICAgY29uc3QgR0lCOiBmNjQgPSAxMDI0LjAgKiAxMDI0LjAgKiAxMDI0LjA7XG4gICAgY29uc3QgTUlCOiBmNjQgPSAxMDI0LjAgKiAxMDI0LjA7XG4gICAgaWYgYnl0ZXMgYXMgZjY0ID49IEdJQiB7XG4gICAgICAgIGZvcm1hdCEoXCJ7Oi4xfSBHQlwiLCBieXRlcyBhcyBmNjQgLyBHSUIpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgZm9ybWF0IShcIns6LjB9IE1CXCIsIGJ5dGVzIGFzIGY2NCAvIE1JQilcbiAgICB9XG59XG4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEyMjksIm91dHB1dCI6MTEzMiwiY2FjaGVSZWFkIjo0NzYxNiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo0MzcsInRvdGFsVG9rZW5zIjo0OTk3NywiY29zdCI6eyJpbnB1dCI6MC4wMDYxNDUsIm91dHB1dCI6MC4wMzM5NjAwMDAwMDAwMDAwMDQsImNhY2hlUmVhZCI6MC4wMjM4MDgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA2MzkxM319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTgzNzY1NCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4OGUxYTY4ODE5MTlkMjc2NWI4NzQ4YTZiNGIifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZjkwMWZlYzMiLCJwYXJlbnRJZCI6ImY4NjBjNmE3IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMTowNC42NTNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0lsWVNEYW5NN3BNNkZxNDRpMWRNeXhDRXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzg5ZmY1YjQ4MTkxOTYyMzAyNjFmODYzYWE4ZiIsInRvb2xOYW1lIjoid3JpdGUiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgd3JvdGUgMjEyMyBieXRlcyB0byBjcmF0ZXMvZmxhc2hlci1xdC9zcmMvbWFpbi5ycyJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTg2NDY1M319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjM1OTEyNGI3IiwicGFyZW50SWQiOiJmOTAxZmVjMyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzI6MDcuNDk3WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4YWEzZTIwODE5MWIyYzk0NmM2ZDdjNGM2YmZcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1pdHZXeUx4NmU5YV85Q3Q0UmREVXY5UlRHTS0xdVk2Tlg1UHpvbWJjeTdDd0xySTd3elUwMDFKbXRLcHM2ekc2NExMY0ktWkNNczhJUkFKa050eXZLX3dVTFBhbjFkRUQyWm54UzRfYTJQNXJOMFlIR1pTZm52TkNHXy0xdEthXzFsNFNvY2ljVEZZbGdsUzRMbmJwX2U1TDRTRElRenZkSklnaEFJZ3IwWXU4cWhxaGxvMWFoSFFLRnJMS0tac2J6cktUbGpoMmMtRG5raFN2T0JlWnhQNE9vRWF2VkhjS0hhTEZvbjJrcTB4YXQtUlVnQTRVS1A2ZlBmWXZma3AycVZzakhHd3ROUS1ValNzNGJaWGJuZy1RakhOQ3NaNHVDZGlNeVpQb1JuVGhxelNYYzgwTjdBejdKSERPMTNaWHRwN2E1Q0NTMHJ3MUJQVVRuM0RoUGhUenR5VlBVRjBBVUxEY2x0YlkweFNWY0tNbWowZVN4d3FaMFd2OHJJMDZoTGFIUlV5b1MxaG4tZFB5M0NjVFQxNExSOC11d2dpZnhoMDZua3hTQjZuZXZIdzlFN1VIVV90V3NXT0RHZVk2Qll2UVdXZVUtZjRfRU9EZ1owTHllQzRGTjJxbjBaMDRHaFBudkdUMXc0Z3ZDNks4cmxhOHltem5pa2Rtak9oVXZmWW5ZNm9LYXJZRjZKQ252b2tIMDUwVkpVLUxpVGhVNlJoaExPSTZzRDU5UUFQSGd0X1dVVF9hOC05b2szWk1RX3pvVGFOMmRVZ25CQVVQMUNUeDA2amNzelBmbktmRm9lNFEwOEFWaUUwNXVZQXNWbmVqQmtFV3M3R25hWmg3d2dzcTRlcmltRFhfaTlmS0pWSmc1NmlJYjdzb1RtaDM1cE9QRXplcnh3RFA3TTVubnJkWkRYaXlISkVFYTZTRlcyQmhvemxWLXVIUi12MW1zMDBYZk9xb0g1X19PcVBMRTY1NjVWVkk3SWR3NjVmVU0tWkxxYzhvUDVKYWZUU0pzeElKWlR0U0hGRHhhMVRiTGhsRm54c2xNbU1SQVc0M0M3Mkpjc1BzZ0tobkhfV2E1b2JXbVJ5clBpOVhEUVJOX0NSbTFDbkdWczdaanNRTVlBTUdtMGlZREJOSFVrX3FOMVNadEpvbktmemtFWmVFMGxXV05FVExRR1lUNEVyWG1Ba0NsSVY3bDJJVXdwQjhaVWtVUHdWeG42andVSXI2TXJmbFBFbzVBYkhycz1cIixcInN1bW1hcnlcIjpbXX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9rZnNkanJrd0w1SHk0RXBQd2piM3ViTzV8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4YWQyMzg4ODE5MTg3ODI0OWRjMjk1MzYzNzUiLCJuYW1lIjoid3JpdGUiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L3FtbC9NYWluLnFtbCIsImNvbnRlbnQiOiJpbXBvcnQgUXRRdWljayAyLjEyXG5pbXBvcnQgUXRRdWljay5Db250cm9scyAyLjEyXG5pbXBvcnQgUXRRdWljay5MYXlvdXRzIDEuMTJcbmltcG9ydCBRdC5sYWJzLnBsYXRmb3JtIDEuMSBhcyBQbGF0Zm9ybVxuXG5BcHBsaWNhdGlvbldpbmRvdyB7XG4gICAgaWQ6IHdpbmRvd1xuICAgIHZpc2libGU6IHRydWVcbiAgICB3aWR0aDogNzYwXG4gICAgaGVpZ2h0OiA4MjBcbiAgICBtaW5pbXVtV2lkdGg6IDYyMFxuICAgIG1pbmltdW1IZWlnaHQ6IDYyMFxuICAgIHRpdGxlOiBxc1RyKFwiQUxUIEltYWdlIFdyaXRlciDigJQgUXRcIilcblxuICAgIHByb3BlcnR5IGJvb2wgc291cmNlSXNJbWFnZTogZmFsc2VcbiAgICBwcm9wZXJ0eSBib29sIG91dHB1dElzRmlsZTogZmFsc2VcbiAgICBwcm9wZXJ0eSBzdHJpbmcgc291cmNlUGF0aDogXCJcIlxuICAgIHByb3BlcnR5IHN0cmluZyBvdXRwdXRQYXRoOiBcIlwiXG4gICAgcHJvcGVydHkgc3RyaW5nIHNlbGVjdGVkQm9hcmQ6IFwiXCJcbiAgICBwcm9wZXJ0eSBzdHJpbmcgc2VsZWN0ZWRQbGF0Zm9ybTogXCJcIlxuICAgIHByb3BlcnR5IHZhciBkcml2ZU5hbWVzOiBhdmFpbGFibGVEcml2ZXNUZXh0Lmxlbmd0aCA/IGF2YWlsYWJsZURyaXZlc1RleHQuc3BsaXQoXCJcXG5cIikgOiBbXVxuXG4gICAgZnVuY3Rpb24gbG9jYWxQYXRoKHVybCkge1xuICAgICAgICB2YXIgdmFsdWUgPSB1cmwudG9TdHJpbmcoKVxuICAgICAgICByZXR1cm4gdmFsdWUuaW5kZXhPZihcImZpbGU6Ly9cIikgPT09IDAgPyBkZWNvZGVVUklDb21wb25lbnQodmFsdWUuc3Vic3RyaW5nKDcpKSA6IHZhbHVlXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZmlsZU5hbWUocGF0aCkge1xuICAgICAgICB2YXIgcGFydHMgPSBwYXRoLnNwbGl0KFwiL1wiKVxuICAgICAgICByZXR1cm4gcGFydHNbcGFydHMubGVuZ3RoIC0gMV1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZWFkeSgpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZVBhdGgubGVuZ3RoID4gMCAmJiBzZWxlY3RlZEJvYXJkLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAmJiAob3V0cHV0SXNGaWxlID8gb3V0cHV0UGF0aC5sZW5ndGggPiAwIDogZHJpdmVCb3guY3VycmVudEluZGV4ID49IDApXG4gICAgfVxuXG4gICAgaGVhZGVyOiBUb29sQmFyIHtcbiAgICAgICAgUm93TGF5b3V0IHtcbiAgICAgICAgICAgIGFuY2hvcnMuZmlsbDogcGFyZW50XG4gICAgICAgICAgICBhbmNob3JzLmxlZnRNYXJnaW46IDE2XG4gICAgICAgICAgICBhbmNob3JzLnJpZ2h0TWFyZ2luOiA4XG4gICAgICAgICAgICBMYWJlbCB7XG4gICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIkFMVCBJbWFnZSBXcml0ZXJcIilcbiAgICAgICAgICAgICAgICBmb250LnBpeGVsU2l6ZTogMThcbiAgICAgICAgICAgICAgICBmb250LmJvbGQ6IHRydWVcbiAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBUb29sQnV0dG9uIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBcIuKTmFwiXG4gICAgICAgICAgICAgICAgZm9udC5waXhlbFNpemU6IDE4XG4gICAgICAgICAgICAgICAgQWNjZXNzaWJsZS5uYW1lOiBxc1RyKFwiQWJvdXRcIilcbiAgICAgICAgICAgICAgICBvbkNsaWNrZWQ6IGFib3V0RGlhbG9nLm9wZW4oKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgU2Nyb2xsVmlldyB7XG4gICAgICAgIGlkOiBzY3JvbGxcbiAgICAgICAgYW5jaG9ycy5maWxsOiBwYXJlbnRcbiAgICAgICAgY29udGVudFdpZHRoOiBhdmFpbGFibGVXaWR0aFxuICAgICAgICBjbGlwOiB0cnVlXG5cbiAgICAgICAgQ29sdW1uTGF5b3V0IHtcbiAgICAgICAgICAgIHdpZHRoOiBNYXRoLm1pbihzY3JvbGwuYXZhaWxhYmxlV2lkdGggLSA0MCwgNzAwKVxuICAgICAgICAgICAgeDogTWF0aC5tYXgoMjAsIChzY3JvbGwuYXZhaWxhYmxlV2lkdGggLSB3aWR0aCkgLyAyKVxuICAgICAgICAgICAgc3BhY2luZzogMTZcblxuICAgICAgICAgICAgSXRlbSB7IExheW91dC5wcmVmZXJyZWRIZWlnaHQ6IDggfVxuICAgICAgICAgICAgTGFiZWwge1xuICAgICAgICAgICAgICAgIHRleHQ6IHFzVHIoXCJDcmVhdGUgSW5zdGFsbGF0aW9uIE1lZGlhXCIpXG4gICAgICAgICAgICAgICAgZm9udC5waXhlbFNpemU6IDI2XG4gICAgICAgICAgICAgICAgZm9udC5ib2xkOiB0cnVlXG4gICAgICAgICAgICAgICAgTGF5b3V0LmFsaWdubWVudDogUXQuQWxpZ25IQ2VudGVyXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBMYWJlbCB7XG4gICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIlByZXBhcmUgYW4gQUxUIExpbnV4IHJvb3QgZmlsZXN5c3RlbSBvciBkaXNrIGltYWdlIGZvciB5b3VyIGJvYXJkLlwiKVxuICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlLm1pZFxuICAgICAgICAgICAgICAgIHdyYXBNb2RlOiBUZXh0LldvcmRXcmFwXG4gICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWdubWVudDogVGV4dC5BbGlnbkhDZW50ZXJcbiAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEZyYW1lIHtcbiAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICAgICAgQ29sdW1uTGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5maWxsOiBwYXJlbnRcbiAgICAgICAgICAgICAgICAgICAgc3BhY2luZzogMTJcbiAgICAgICAgICAgICAgICAgICAgTGFiZWwgeyB0ZXh0OiBxc1RyKFwiSW5zdGFsbGF0aW9uIFNvdXJjZVwiKTsgZm9udC5ib2xkOiB0cnVlOyBmb250LnBpeGVsU2l6ZTogMTcgfVxuICAgICAgICAgICAgICAgICAgICBMYWJlbCB7IHRleHQ6IHFzVHIoXCJDaG9vc2UgYSByb290IGZpbGVzeXN0ZW0gYXJjaGl2ZSBvciBhIHJlYWR5LW1hZGUgZGlzayBpbWFnZS5cIik7IGNvbG9yOiBwYWxldHRlLm1pZCB9XG4gICAgICAgICAgICAgICAgICAgIEJ1dHRvbkdyb3VwIHsgaWQ6IHNvdXJjZUdyb3VwIH1cbiAgICAgICAgICAgICAgICAgICAgUm93TGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIlNvdXJjZSB0eXBlXCIpOyBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFJhZGlvQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBxc1RyKFwiUm9vdCBmaWxlc3lzdGVtXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvbkdyb3VwLmdyb3VwOiBzb3VyY2VHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZWQ6IGlmIChjaGVja2VkKSBzb3VyY2VJc0ltYWdlID0gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFJhZGlvQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBxc1RyKFwiRGlzayBpbWFnZVwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvbkdyb3VwLmdyb3VwOiBzb3VyY2VHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZWQ6IGlmIChjaGVja2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUlzSW1hZ2UgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dElzRmlsZSA9IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlT3V0cHV0LmNoZWNrZWQgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFJvd0xheW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFjaW5nOiAxMlxuICAgICAgICAgICAgICAgICAgICAgICAgTGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHNvdXJjZVBhdGgubGVuZ3RoID8gZmlsZU5hbWUoc291cmNlUGF0aCkgOiBxc1RyKFwiTm8gc291cmNlIHNlbGVjdGVkXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC5ib2xkOiBzb3VyY2VQYXRoLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGlkZTogVGV4dC5FbGlkZU1pZGRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvbiB7IHRleHQ6IHFzVHIoXCJDaG9vc2XigKZcIik7IG9uQ2xpY2tlZDogc291cmNlRGlhbG9nLm9wZW4oKSB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgTGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogc291cmNlUGF0aC5sZW5ndGggPyBzb3VyY2VQYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHNvdXJjZUlzSW1hZ2UgPyBxc1RyKFwiU3VwcG9ydGVkOiAuaW1nLCAuaW1nLnh6XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBxc1RyKFwiU3VwcG9ydGVkOiAudGFyLCAudGFyLmd6LCAudGFyLnh6XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcGFsZXR0ZS5taWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsaWRlOiBUZXh0LkVsaWRlTWlkZGxlXG4gICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEZyYW1lIHtcbiAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICAgICAgQ29sdW1uTGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5maWxsOiBwYXJlbnRcbiAgICAgICAgICAgICAgICAgICAgc3BhY2luZzogMTBcbiAgICAgICAgICAgICAgICAgICAgTGFiZWwgeyB0ZXh0OiBxc1RyKFwiVGFyZ2V0IEhhcmR3YXJlXCIpOyBmb250LmJvbGQ6IHRydWU7IGZvbnQucGl4ZWxTaXplOiAxNyB9XG4gICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIkJvYXJkcyBhcmUgZ3JvdXBlZCBieSBwbGF0Zm9ybSwgU29DIGZhbWlseSwgYW5kIGFyY2hpdGVjdHVyZS5cIik7IGNvbG9yOiBwYWxldHRlLm1pZCB9XG4gICAgICAgICAgICAgICAgICAgIFJvd0xheW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBDb2x1bW5MYXlvdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHNlbGVjdGVkQm9hcmQubGVuZ3RoID8gc2VsZWN0ZWRCb2FyZCA6IHFzVHIoXCJObyBib2FyZCBzZWxlY3RlZFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LmJvbGQ6IHNlbGVjdGVkQm9hcmQubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHNlbGVjdGVkQm9hcmQubGVuZ3RoID8gc2VsZWN0ZWRQbGF0Zm9ybSA6IHFzVHIoXCJDaG9vc2UgZnJvbSB0aGUgc3VwcG9ydGVkIGJvYXJkIGxpc3RcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUubWlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQnV0dG9uIHsgdGV4dDogcXNUcihcIlNlbGVjdCBCb2FyZOKAplwiKTsgb25DbGlja2VkOiBib2FyZERpYWxvZy5vcGVuKCkgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBGcmFtZSB7XG4gICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxXaWR0aDogdHJ1ZVxuICAgICAgICAgICAgICAgIENvbHVtbkxheW91dCB7XG4gICAgICAgICAgICAgICAgICAgIGFuY2hvcnMuZmlsbDogcGFyZW50XG4gICAgICAgICAgICAgICAgICAgIHNwYWNpbmc6IDEyXG4gICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIkRlc3RpbmF0aW9uXCIpOyBmb250LmJvbGQ6IHRydWU7IGZvbnQucGl4ZWxTaXplOiAxNyB9XG4gICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIldyaXRlIHRvIHJlbW92YWJsZSBtZWRpYSBvciBjcmVhdGUgYW4gaW1hZ2UgZmlsZS5cIik7IGNvbG9yOiBwYWxldHRlLm1pZCB9XG4gICAgICAgICAgICAgICAgICAgIEJ1dHRvbkdyb3VwIHsgaWQ6IG91dHB1dEdyb3VwIH1cbiAgICAgICAgICAgICAgICAgICAgUm93TGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIk91dHB1dCB0eXBlXCIpOyBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFJhZGlvQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogZHJpdmVPdXRwdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBxc1RyKFwiRHJpdmVcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQnV0dG9uR3JvdXAuZ3JvdXA6IG91dHB1dEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGVja2VkQ2hhbmdlZDogaWYgKGNoZWNrZWQpIG91dHB1dElzRmlsZSA9IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBSYWRpb0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIkltYWdlIGZpbGVcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVkOiAhc291cmNlSXNJbWFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvbkdyb3VwLmdyb3VwOiBvdXRwdXRHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZWQ6IGlmIChjaGVja2VkKSBvdXRwdXRJc0ZpbGUgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgUm93TGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6ICFvdXRwdXRJc0ZpbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIlN0b3JhZ2UgZGV2aWNlXCIpOyBMYXlvdXQucHJlZmVycmVkV2lkdGg6IDE1MCB9XG4gICAgICAgICAgICAgICAgICAgICAgICBDb21ib0JveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGRyaXZlQm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxXaWR0aDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiBkcml2ZU5hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheVRleHQ6IGN1cnJlbnRJbmRleCA8IDAgPyBxc1RyKFwiTm8gcmVtb3ZhYmxlIGRyaXZlcyBkZXRlY3RlZFwiKSA6IGN1cnJlbnRUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgUm93TGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IG91dHB1dElzRmlsZVxuICAgICAgICAgICAgICAgICAgICAgICAgTGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IG91dHB1dFBhdGgubGVuZ3RoID8gb3V0cHV0UGF0aCA6IHFzVHIoXCJDaG9vc2Ugd2hlcmUgdG8gc2F2ZSB0aGUgaW1hZ2VcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGlkZTogVGV4dC5FbGlkZU1pZGRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvbiB7IHRleHQ6IHFzVHIoXCJDaG9vc2XigKZcIik7IG9uQ2xpY2tlZDogb3V0cHV0RGlhbG9nLm9wZW4oKSB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEZyYW1lIHtcbiAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICAgICAgQ29sdW1uTGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5maWxsOiBwYXJlbnRcbiAgICAgICAgICAgICAgICAgICAgc3BhY2luZzogOFxuICAgICAgICAgICAgICAgICAgICBMYWJlbCB7IHRleHQ6IHFzVHIoXCJPcHRpb25zXCIpOyBmb250LmJvbGQ6IHRydWU7IGZvbnQucGl4ZWxTaXplOiAxNyB9XG4gICAgICAgICAgICAgICAgICAgIFJvd0xheW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBMYWJlbCB7IHRleHQ6IHFzVHIoXCJSb290IGZpbGVzeXN0ZW1cIik7IExheW91dC5maWxsV2lkdGg6IHRydWUgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQ29tYm9Cb3ggeyBtb2RlbDogW1wiZXh0NFwiLCBcImYyZnNcIl0gfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIENoZWNrQm94IHsgdGV4dDogcXNUcihcIlJlc2l6ZSByb290IHBhcnRpdGlvbiB0byBmaWxsIHRoZSBkZXN0aW5hdGlvblwiKTsgY2hlY2tlZDogdHJ1ZSB9XG4gICAgICAgICAgICAgICAgICAgIENoZWNrQm94IHsgdGV4dDogcXNUcihcIkNyZWF0ZSBhIHNlcGFyYXRlIDUxMiBNaUIgYm9vdCBwYXJ0aXRpb25cIikgfVxuICAgICAgICAgICAgICAgICAgICBDaGVja0JveCB7IHRleHQ6IHFzVHIoXCJFbmNyeXB0IHRoZSByb290IHBhcnRpdGlvbiB3aXRoIExVS1NcIikgfVxuICAgICAgICAgICAgICAgICAgICBDaGVja0JveCB7IHRleHQ6IHFzVHIoXCJBZGQgdGhlIHN5c3RlbSBzZXJpYWwgY29uc29sZVwiKSB9XG4gICAgICAgICAgICAgICAgICAgIFJvd0xheW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBMYWJlbCB7IHRleHQ6IHFzVHIoXCJFRkkgc3lzdGVtIHBhcnRpdGlvblwiKTsgTGF5b3V0LmZpbGxXaWR0aDogdHJ1ZSB9XG4gICAgICAgICAgICAgICAgICAgICAgICBDb21ib0JveCB7IG1vZGVsOiBbcXNUcihcIk5vbmVcIiksIHFzVHIoXCJFRkkgKEdQVClcIiksIHFzVHIoXCJFRkkgKE1CUilcIildIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBSb3dMYXlvdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgTGFiZWwgeyB0ZXh0OiBxc1RyKFwiRmlyc3QtYm9vdCBWTkNcIik7IExheW91dC5maWxsV2lkdGg6IHRydWUgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQ29tYm9Cb3ggeyBtb2RlbDogW3FzVHIoXCJVc2UgaW1hZ2UgZGVmYXVsdFwiKSwgcXNUcihcIkVuYWJsZWRcIiksIHFzVHIoXCJEaXNhYmxlZFwiKV0gfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgSXRlbSB7IExheW91dC5wcmVmZXJyZWRIZWlnaHQ6IDgwIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvb3RlcjogVG9vbEJhciB7XG4gICAgICAgIFJvd0xheW91dCB7XG4gICAgICAgICAgICBhbmNob3JzLmZpbGw6IHBhcmVudFxuICAgICAgICAgICAgYW5jaG9ycy5tYXJnaW5zOiAxMFxuICAgICAgICAgICAgTGFiZWwgeyB0ZXh0OiBxc1RyKFwiTm90aGluZyB3aWxsIGJlIHdyaXR0ZW4gdW50aWwgeW91IGNvbmZpcm0uXCIpOyBjb2xvcjogcGFsZXR0ZS5taWQ7IExheW91dC5maWxsV2lkdGg6IHRydWUgfVxuICAgICAgICAgICAgQnV0dG9uIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBxc1RyKFwiUmV2aWV3IGFuZCBXcml0ZVwiKVxuICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkOiB0cnVlXG4gICAgICAgICAgICAgICAgZW5hYmxlZDogcmVhZHkoKVxuICAgICAgICAgICAgICAgIG9uQ2xpY2tlZDogcmV2aWV3RGlhbG9nLm9wZW4oKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgRGlhbG9nIHtcbiAgICAgICAgaWQ6IGJvYXJkRGlhbG9nXG4gICAgICAgIHBhcmVudDogT3ZlcmxheS5vdmVybGF5XG4gICAgICAgIGFuY2hvcnMuY2VudGVySW46IHBhcmVudFxuICAgICAgICB3aWR0aDogTWF0aC5taW4od2luZG93LndpZHRoIC0gNDgsIDYyMClcbiAgICAgICAgaGVpZ2h0OiBNYXRoLm1pbih3aW5kb3cuaGVpZ2h0IC0gODAsIDY1MClcbiAgICAgICAgbW9kYWw6IHRydWVcbiAgICAgICAgdGl0bGU6IHFzVHIoXCJTZWxlY3QgVGFyZ2V0IEJvYXJkXCIpXG4gICAgICAgIHN0YW5kYXJkQnV0dG9uczogRGlhbG9nLkNhbmNlbFxuXG4gICAgICAgIExpc3RNb2RlbCB7IGlkOiBhbGxCb2FyZHMgfVxuICAgICAgICBMaXN0TW9kZWwgeyBpZDogZmlsdGVyZWRCb2FyZHMgfVxuXG4gICAgICAgIGZ1bmN0aW9uIHBvcHVsYXRlKCkge1xuICAgICAgICAgICAgaWYgKGFsbEJvYXJkcy5jb3VudCA+IDApIHJldHVyblxuICAgICAgICAgICAgdmFyIHBsYXRmb3JtID0gXCJPdGhlclwiXG4gICAgICAgICAgICB2YXIgbGluZXMgPSBzdXBwb3J0ZWRCb2FyZHNUZXh0LnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgdmFyIGxpbmUgPSBsaW5lc1tpXS50cmltKClcbiAgICAgICAgICAgICAgICBpZiAoIWxpbmUubGVuZ3RoKSBjb250aW51ZVxuICAgICAgICAgICAgICAgIGlmIChsaW5lLmNoYXJBdChsaW5lLmxlbmd0aCAtIDEpID09PSBcIjpcIikge1xuICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybSA9IGxpbmUuc3Vic3RyaW5nKDAsIGxpbmUubGVuZ3RoIC0gMSlcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZXMgPSBsaW5lLnNwbGl0KC9cXFxccysvKVxuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IG5hbWVzLmxlbmd0aDsgKytqKVxuICAgICAgICAgICAgICAgICAgICAgICAgYWxsQm9hcmRzLmFwcGVuZCh7IGJvYXJkTmFtZTogbmFtZXNbal0sIHBsYXRmb3JtTmFtZTogcGxhdGZvcm0gfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWx0ZXIoXCJcIilcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGZpbHRlcihxdWVyeSkge1xuICAgICAgICAgICAgZmlsdGVyZWRCb2FyZHMuY2xlYXIoKVxuICAgICAgICAgICAgdmFyIG5lZWRsZSA9IHF1ZXJ5LnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxsQm9hcmRzLmNvdW50OyArK2kpIHtcbiAgICAgICAgICAgICAgICB2YXIgaXRlbSA9IGFsbEJvYXJkcy5nZXQoaSlcbiAgICAgICAgICAgICAgICBpZiAoIW5lZWRsZS5sZW5ndGggfHwgaXRlbS5ib2FyZE5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKG5lZWRsZSkgPj0gMFxuICAgICAgICAgICAgICAgICAgICAgICAgfHwgaXRlbS5wbGF0Zm9ybU5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKG5lZWRsZSkgPj0gMClcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyZWRCb2FyZHMuYXBwZW5kKHsgYm9hcmROYW1lOiBpdGVtLmJvYXJkTmFtZSwgcGxhdGZvcm1OYW1lOiBpdGVtLnBsYXRmb3JtTmFtZSB9KVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgb25PcGVuZWQ6IHsgcG9wdWxhdGUoKTsgc2VhcmNoRmllbGQuZm9yY2VBY3RpdmVGb2N1cygpIH1cblxuICAgICAgICBDb2x1bW5MYXlvdXQge1xuICAgICAgICAgICAgYW5jaG9ycy5maWxsOiBwYXJlbnRcbiAgICAgICAgICAgIFRleHRGaWVsZCB7XG4gICAgICAgICAgICAgICAgaWQ6IHNlYXJjaEZpZWxkXG4gICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxXaWR0aDogdHJ1ZVxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dDogcXNUcihcIlNlYXJjaCBib2FyZHMgb3IgcGxhdGZvcm1z4oCmXCIpXG4gICAgICAgICAgICAgICAgc2VsZWN0QnlNb3VzZTogdHJ1ZVxuICAgICAgICAgICAgICAgIG9uVGV4dENoYW5nZWQ6IGJvYXJkRGlhbG9nLmZpbHRlcih0ZXh0KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgTGFiZWwge1xuICAgICAgICAgICAgICAgIHRleHQ6IHFzVHIoXCIlMSBtYXRjaGluZyBib2FyZHNcIikuYXJnKGZpbHRlcmVkQm9hcmRzLmNvdW50KVxuICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlLm1pZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgTGlzdFZpZXcge1xuICAgICAgICAgICAgICAgIGlkOiBib2FyZExpc3RcbiAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxIZWlnaHQ6IHRydWVcbiAgICAgICAgICAgICAgICBjbGlwOiB0cnVlXG4gICAgICAgICAgICAgICAgbW9kZWw6IGZpbHRlcmVkQm9hcmRzXG4gICAgICAgICAgICAgICAgc3BhY2luZzogMlxuICAgICAgICAgICAgICAgIHNlY3Rpb24ucHJvcGVydHk6IFwicGxhdGZvcm1OYW1lXCJcbiAgICAgICAgICAgICAgICBzZWN0aW9uLmNyaXRlcmlhOiBWaWV3U2VjdGlvbi5GdWxsU3RyaW5nXG4gICAgICAgICAgICAgICAgc2VjdGlvbi5kZWxlZ2F0ZTogUmVjdGFuZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGJvYXJkTGlzdC53aWR0aFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlLmFsdGVybmF0ZUJhc2VcbiAgICAgICAgICAgICAgICAgICAgTGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5sZWZ0OiBwYXJlbnQubGVmdFxuICAgICAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5sZWZ0TWFyZ2luOiAxMlxuICAgICAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy52ZXJ0aWNhbENlbnRlcjogcGFyZW50LnZlcnRpY2FsQ2VudGVyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBzZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LmJvbGQ6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlLmhpZ2hsaWdodFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlbGVnYXRlOiBJdGVtRGVsZWdhdGUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYm9hcmRMaXN0LndpZHRoXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGJvYXJkTmFtZVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrZWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQm9hcmQgPSBib2FyZE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUGxhdGZvcm0gPSBwbGF0Zm9ybU5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvYXJkRGlhbG9nLmNsb3NlKClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBTY3JvbGxCYXIudmVydGljYWw6IFNjcm9sbEJhciB7fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgRGlhbG9nIHtcbiAgICAgICAgaWQ6IHJldmlld0RpYWxvZ1xuICAgICAgICBwYXJlbnQ6IE92ZXJsYXkub3ZlcmxheVxuICAgICAgICBhbmNob3JzLmNlbnRlckluOiBwYXJlbnRcbiAgICAgICAgbW9kYWw6IHRydWVcbiAgICAgICAgdGl0bGU6IHFzVHIoXCJSZWFkeSB0byB3cml0ZT9cIilcbiAgICAgICAgc3RhbmRhcmRCdXR0b25zOiBEaWFsb2cuQ2FuY2VsIHwgRGlhbG9nLk9rXG4gICAgICAgIG9uQWNjZXB0ZWQ6IHByZXZpZXdOb3RpY2Uub3BlbigpXG4gICAgICAgIENvbHVtbkxheW91dCB7XG4gICAgICAgICAgICBMYWJlbCB7IHRleHQ6IHFzVHIoXCJCb2FyZFwiKTsgZm9udC5ib2xkOiB0cnVlIH1cbiAgICAgICAgICAgIExhYmVsIHsgdGV4dDogc2VsZWN0ZWRCb2FyZCArIFwiIOKAlCBcIiArIHNlbGVjdGVkUGxhdGZvcm0gfVxuICAgICAgICAgICAgTGFiZWwgeyB0ZXh0OiBxc1RyKFwiRGVzdGluYXRpb25cIik7IGZvbnQuYm9sZDogdHJ1ZSB9XG4gICAgICAgICAgICBMYWJlbCB7IHRleHQ6IG91dHB1dElzRmlsZSA/IG91dHB1dFBhdGggOiBkcml2ZUJveC5jdXJyZW50VGV4dDsgZWxpZGU6IFRleHQuRWxpZGVNaWRkbGU7IExheW91dC5tYXhpbXVtV2lkdGg6IDQ1MCB9XG4gICAgICAgICAgICBMYWJlbCB7IHRleHQ6IHFzVHIoXCJUaGlzIGlzIGFuIGludGVyZmFjZSBwcmV2aWV3LiBObyBkYXRhIHdpbGwgYmUgd3JpdHRlbi5cIik7IGNvbG9yOiBwYWxldHRlLm1pZCB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBEaWFsb2cge1xuICAgICAgICBpZDogYWJvdXREaWFsb2dcbiAgICAgICAgcGFyZW50OiBPdmVybGF5Lm92ZXJsYXlcbiAgICAgICAgYW5jaG9ycy5jZW50ZXJJbjogcGFyZW50XG4gICAgICAgIG1vZGFsOiB0cnVlXG4gICAgICAgIHRpdGxlOiBxc1RyKFwiQWJvdXQgQUxUIEltYWdlIFdyaXRlclwiKVxuICAgICAgICBzdGFuZGFyZEJ1dHRvbnM6IERpYWxvZy5Pa1xuICAgICAgICBMYWJlbCB7XG4gICAgICAgICAgICB0ZXh0OiBxc1RyKFwiQUxUIEltYWdlIFdyaXRlciDigJQgUXRcXG5WZXJzaW9uIDAuMS4wXFxuXFxuUHJlcGFyZSBBTFQgTGludXggaW5zdGFsbGF0aW9uIG1lZGlhIGZvciBzdXBwb3J0ZWQgU0JDcy5cIilcbiAgICAgICAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6IFRleHQuQWxpZ25IQ2VudGVyXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBQb3B1cCB7XG4gICAgICAgIGlkOiBwcmV2aWV3Tm90aWNlXG4gICAgICAgIHBhcmVudDogT3ZlcmxheS5vdmVybGF5XG4gICAgICAgIHg6IChwYXJlbnQud2lkdGggLSB3aWR0aCkgLyAyXG4gICAgICAgIHk6IHBhcmVudC5oZWlnaHQgLSBoZWlnaHQgLSAyNFxuICAgICAgICBwYWRkaW5nOiAxNlxuICAgICAgICBjbG9zZVBvbGljeTogUG9wdXAuQ2xvc2VPbkVzY2FwZSB8IFBvcHVwLkNsb3NlT25QcmVzc091dHNpZGVcbiAgICAgICAgTGFiZWwgeyB0ZXh0OiBxc1RyKFwiRmxhc2hpbmcgaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgcHJldmlld1wiKSB9XG4gICAgICAgIFRpbWVyIHsgaW50ZXJ2YWw6IDM1MDA7IHJ1bm5pbmc6IHByZXZpZXdOb3RpY2UudmlzaWJsZTsgb25UcmlnZ2VyZWQ6IHByZXZpZXdOb3RpY2UuY2xvc2UoKSB9XG4gICAgfVxuXG4gICAgUGxhdGZvcm0uRmlsZURpYWxvZyB7XG4gICAgICAgIGlkOiBzb3VyY2VEaWFsb2dcbiAgICAgICAgdGl0bGU6IHFzVHIoXCJDaG9vc2UgSW5zdGFsbGF0aW9uIFNvdXJjZVwiKVxuICAgICAgICBmaWxlTW9kZTogUGxhdGZvcm0uRmlsZURpYWxvZy5PcGVuRmlsZVxuICAgICAgICBuYW1lRmlsdGVyczogc291cmNlSXNJbWFnZSA/IFtxc1RyKFwiRGlzayBpbWFnZXMgKCouaW1nICouaW1nLnh6KVwiKSwgcXNUcihcIkFsbCBmaWxlcyAoKilcIildXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogW3FzVHIoXCJSb290IGZpbGVzeXN0ZW0gYXJjaGl2ZXMgKCoudGFyICoudGFyLmd6ICoudGFyLnh6KVwiKSwgcXNUcihcIkFsbCBmaWxlcyAoKilcIildXG4gICAgICAgIG9uQWNjZXB0ZWQ6IHNvdXJjZVBhdGggPSBsb2NhbFBhdGgoZmlsZSlcbiAgICB9XG5cbiAgICBQbGF0Zm9ybS5GaWxlRGlhbG9nIHtcbiAgICAgICAgaWQ6IG91dHB1dERpYWxvZ1xuICAgICAgICB0aXRsZTogcXNUcihcIkNyZWF0ZSBEaXNrIEltYWdlXCIpXG4gICAgICAgIGZpbGVNb2RlOiBQbGF0Zm9ybS5GaWxlRGlhbG9nLlNhdmVGaWxlXG4gICAgICAgIGRlZmF1bHRTdWZmaXg6IFwiaW1nXCJcbiAgICAgICAgbmFtZUZpbHRlcnM6IFtxc1RyKFwiUmF3IGRpc2sgaW1hZ2VzICgqLmltZylcIiksIHFzVHIoXCJBbGwgZmlsZXMgKCopXCIpXVxuICAgICAgICBvbkFjY2VwdGVkOiBvdXRwdXRQYXRoID0gbG9jYWxQYXRoKGZpbGUpXG4gICAgfVxufVxuIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMzYyLCJvdXRwdXQiOjMzOTYsImNhY2hlUmVhZCI6NDg2NDAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NywidG90YWxUb2tlbnMiOjUzMzk4LCJjb3N0Ijp7ImlucHV0IjowLjAwNjgxMDAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjEwMTg4LCJjYWNoZVJlYWQiOjAuMDI0MzE5OTk5OTk5OTk5OTk4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4xMzMwMX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTg2NDY1NCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4YTkwMjYwODE5MWE5NTIwYmI5OTU0YjE3OWMifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZWZkYTEwM2QiLCJwYXJlbnRJZCI6IjM1OTEyNGI3IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMjowNy40OThaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2tmc2Rqcmt3TDVIeTRFcFB3amIzdWJPNXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzhhZDIzODg4MTkxODc4MjQ5ZGMyOTUzNjM3NSIsInRvb2xOYW1lIjoid3JpdGUiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgd3JvdGUgMTU2NTYgYnl0ZXMgdG8gY3JhdGVzL2ZsYXNoZXItcXQvcW1sL01haW4ucW1sIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5OTI3NDk4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNjBiMDNlNzIiLCJwYXJlbnRJZCI6ImVmZGExMDNkIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMjoxNC42OTZaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlZlcmlmeWluZyBjb21waWxlIGVycm9ycyB3aXRob3V0IHN1ZG8qKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOGU5NDJkNDgxOTE4Yzg2NzQzM2JhOTJjZmYyXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNanVKbW5MUG5kWlo3ejR5UEZZQXNFbDFRb29KbzB4eUp2dzJlZ21SY28xV1ZtV09wSkpyZWIwc2J0Z0hmckgzY2FRTDFuSnR4SXB5VndoN1d1X0Jzb0VIYm14LWIxM3N4a3d0a0s1eDExeFlpYmtadW5rQlRhUkpiTXlvLU50cDJyLTJiR2Q4TGFTLXYtWDVyX29MQ1k4OW5HRHByMkNWN29fT0lxMEtSRTE4dWlYX0Nrc0V6UlVkc09UdklCek9MaGFLMTZSY1N0dTVGVUcxa1RJTVBHRGg1NFRvR2JiSGVRZEFqdm9TaGp0RlhHM3NxejJTMHZRSlZRNWp0VlJOUERnZ3lqY1pUdjVQS1NTaWZQemU4SkRsME1wbElEM1FMYVpGbzFIbU9DVkVZaGE5VF85T3pMMm83RlJQdGJqQmQ0T0U5SlZNSDhZNV9xUklkWTBodWdsdzdjZ2pvVFZYSkZlSkN3RV9Db1lnTkVaQzVWbFE3SmVhYzhmRk5RaDhuSWEwZ3hLdWMyUG5XSzIwbGY2NDY2aEtxMmRJZWtMdnpyQmJ3cHVHaXRTbDRQdlVCWGk4THM3Nm0zYjQ3ekU3eDQ2VmR6M1phYUFqWFRVTzJ0bDBnc0NESlhrRVJhNTM3V1lzZ09jTWdHUzFOREY5NURsWFFpQXlTMXJacXZLZmlKZjlIQTdYUzBWOUVYYUd0bFJPS0oxNXp6V3lSR1pDN2hWeGl0R3dlUDNUTmJSaERJTlRuSjdxeGlEeTJfTUdGSGs2WEttZ1JlWk1idDFQQk1TcmYxelR5V29Xengtc0FTODRsSnVWTEpTR2ltWi1id1ZteGhpNjZtM3NuOXdXaHJsYldQb2RZc1pYUjRFcGJMdmE2MHJwVDRxdEtTbFhFVDFheHBQa01BVURnbHp3VWtraExYVDMtNnNGbUF1dDJicHRKOVV1QVgxbFg1Qm1Pdzg3Zy1vZXJrMzF3Ymlua0lIWUZCUUQtclBWLVZRMnJlZk9kRGpUXzBYbzR4MHM2STlyS0VGZHlSd05oODRuQmVrVkF1aEl6WnlLeDBhSEk2UkE3Q3kyazBBRjJYQlVXbkQ4R3lzdFVNRDAtd3pQS215bjBybFRiWFBsM05pd0puMnU2cHRCZGdiVVNubHdiZ19HSWNVLXptaDdPMURmTVJHU0ZvSGlmdGV5Z095eDBQbDlHSy11NG9MV0FBZExTcDU0OTNfc2pDbjB0X042dGpkRkJjN0tzWDVwNHNwdXlpVkh2X3VtVlpDZERsLU5ydE9mUzZYNWNoVnl4X1hHZEdnYVNsYVlycW45cVhRbEJWb1VGdTQyUXNMNERtS1pjNHVNb1JjX2hGYnRsQkZxTnNhSnoxTWpGSVB4WlRZdEZRTHJ0dzV0eko4TG9PdXZoN3VaS3hOM2Y3VzhNVVFTRFo1Q0VmUVpPQ29pRGx6Sm11eFJKdTNhT1EyaUx5UlVfTnViYzZnZUw4V3ZyOXZNdnpYRzFVWjBXeDItcWpJVWVKTEZvaDItRWFuejYwdkdwLXRvNHRqZ2t1cnhtMTRsZ05DQ1VfamRIQUdqMmpYZHdJSFpRVmEzT05uRXdtNWM2aUhuMGNYekRCbFZTeEpwdFhGR2ttU2xaRU5hWEE1T3Jra0Fzdk1xTDBONndsRXJBUTc5SVBmZVF6VUxnREk0b3d3X1RBX0pSa0lhYkFweDJ2SGJaUl9OWW90WXdJOFdrS0JkcW5Kazh1YU1mN2YyY0NvVjdLZkdFeFM1MExaVmpXeHNucnNxSzJMZTBSWVk0c3ZcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlZlcmlmeWluZyBjb21waWxlIGVycm9ycyB3aXRob3V0IHN1ZG8qKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfMWxGaXZaZUhtR2RtSXRLdmJPYWhUcjlnfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOGVlODRmYzgxOTFhZjcwODVjOTZjYjgxNzYxIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImFwdC1jYWNoZSBzZWFyY2ggJ15xdDUtLipkZXZlbCcgfCBoZWFkIC0zMDsgYXB0LWNhY2hlIHNlYXJjaCBxdWlja2NvbnRyb2xzMiB8IGhlYWQgLTIwOyBhcHQtY2FjaGUgc2VhcmNoIGxpYmFkd2FpdGEgfCBoZWFkIC0yMCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9hV0JhMTJhc1RiS3RCVFRtS0VPSzdsdnp8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ZWU4NTEwODE5MTlkNDAyOTFiYmUzZjg0YzMiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiY2FyZ28gbWV0YWRhdGEgLS1uby1kZXBzIC0tZm9ybWF0LXZlcnNpb24gMSA+L2Rldi9udWxsICYmIGVjaG8gJ3dvcmtzcGFjZSBtZXRhZGF0YTogb2snOyBnaXQgc3RhdHVzIC0tc2hvcnQ7IGdyZXAgLW4gJ2FsdC1yb290ZnMnIGNyYXRlcy9mbGFzaGVyLWd0ay9zcmMvbWFpbi5ycyB8IGhlYWQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjM3NjAsIm91dHB1dCI6MTk3LCJjYWNoZVJlYWQiOjQ5NjY0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjY2LCJ0b3RhbFRva2VucyI6NTM2MjEsImNvc3QiOnsiaW5wdXQiOjAuMDE4OCwib3V0cHV0IjowLjAwNTkxLCJjYWNoZVJlYWQiOjAuMDI0ODMyLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNDk1NDJ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5ODk5Mjc1MDAsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOGU3ZGU4NDgxOTFiMGRiZmI1YTM0NzI1M2U0In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImM1MTk1ZmNhIiwicGFyZW50SWQiOiI2MGIwM2U3MiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzI6MjQuNDg3WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF8xbEZpdlplSG1HZG1JdEt2Yk9haFRyOWd8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ZWU4NGZjODE5MWFmNzA4NWM5NmNiODE3NjEiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJxdDUtM2QtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LTNkXG5xdDUtYmFzZS1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtYmFzZVxucXQ1LWJhc2UtZGV2ZWwtc3RhdGljIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIHF0NS1iYXNlXG5xdDUtY2hhcnRzLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIHF0NS1jaGFydHNcbnF0NS1jb25uZWN0aXZpdHktZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LWNvbm5lY3Rpdml0eVxucXQ1LWRhdGF2aXMzZC1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtZGF0YXZpczNkXG5xdDUtZGVjbGFyYXRpdmUtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LWRlY2xhcmF0aXZlXG5xdDUtZGVjbGFyYXRpdmUtZGV2ZWwtc3RhdGljIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIHF0NS1kZWNsYXJhdGl2ZVxucXQ1LWVuZ2luaW8tZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LWVuZ2luaW9cbnF0NS1mZWVkYmFjay1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtZmVlZGJhY2tcbnF0NS1nYW1lcGFkLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIHF0NS1nYW1lcGFkXG5xdDUtbG9jYXRpb24tZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LWxvY2F0aW9uXG5xdDUtbXVsdGltZWRpYS1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtbXVsdGltZWRpYVxucXQ1LW5ldHdvcmthdXRoLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIHF0NS1uZXR3b3JrYXV0aFxucXQ1LXBob25vbi1kZXZlbCAtIEhlYWRlciBmaWxlcyBhbmQgZG9jdW1lbnRhdGlvbiBmb3IgY29tcGlsaW5nIFBob25vbiBhcHBsaWNhdGlvbnNcbnF0NS1xdHN5c3RlbXMtZGV2ZWwgLSBRdCA1IFN5c3RlbXMgKGRldmVsb3BtZW50IGZpbGVzKVxucXQ1LXF0c3lzdGVtcy1wcml2YXRlLWRldmVsIC0gUXQgNSBTeXN0ZW1zIChkZXZlbG9wbWVudCBmaWxlcylcbnF0NS1xdWlja2NvbnRyb2xzMi1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtcXVpY2tjb250cm9sczJcbnF0NS1xdWlja2NvbnRyb2xzMi1kZXZlbC1zdGF0aWMgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LXF1aWNrY29udHJvbHMyXG5xdDUtcmVtb3Rlb2JqZWN0cy1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtcmVtb3Rlb2JqZWN0c1xucXQ1LXNjcmlwdC1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtc2NyaXB0XG5xdDUtc2N4bWwtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LXNjeG1sXG5xdDUtc2Vuc29ycy1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtc2Vuc29yc1xucXQ1LXNlcmlhbGJ1cy1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtc2VyaWFsYnVzXG5xdDUtc2VyaWFscG9ydC1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtc2VyaWFscG9ydFxucXQ1LXNwZWVjaC1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtc3BlZWNoXG5xdDUtc3ZnLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIHF0NS1zdmdcbnF0NS10b29scy1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDUtdG9vbHNcbnF0NS12aXJ0dWFsa2V5Ym9hcmQtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LXZpcnR1YWxrZXlib2FyZFxucXQ1LXdheWxhbmQtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ1LXdheWxhbmRcbmRxdDUtcXVpY2tjb250cm9sczIgLSBRdDUgLSBtb2R1bGUgd2l0aCBzZXQgb2YgUXRRdWljayBDb250cm9scyAyXG5kcXQ1LXF1aWNrY29udHJvbHMyLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIGRxdDUtcXVpY2tjb250cm9sczJcbmRxdDUtcXVpY2tjb250cm9sczItZGV2ZWwtc3RhdGljIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIGRxdDUtcXVpY2tjb250cm9sczJcbmRxdDUtcXVpY2tjb250cm9sczItZG9jIC0gRG9jdW1lbnQgZm9yIGRldmVsb3BpbmcgYXBwcyB3aGljaCB3aWxsIHVzZSBRdDUgZHF0cXVpY2tjb250cm9sczJcbmxpYmRxdDUtcXVpY2tjb250cm9sczIgLSBRdDUgbGlicmFyeVxubGliZHF0Ni1xdWlja2NvbnRyb2xzMiAtIFF0NiAtIGxpYnJhcnlcbmxpYmRxdDYtcXVpY2tjb250cm9sczJiYXNpYyAtIFF0NiAtIGxpYnJhcnlcbmxpYmRxdDYtcXVpY2tjb250cm9sczJiYXNpY3N0eWxlaW1wbCAtIFF0NiAtIGxpYnJhcnlcbmxpYmRxdDYtcXVpY2tjb250cm9sczJmbHVlbnR3aW51aTNzdHlsZWltcGwgLSBRdDYgLSBsaWJyYXJ5XG5saWJkcXQ2LXF1aWNrY29udHJvbHMyZnVzaW9uIC0gUXQ2IC0gbGlicmFyeVxubGliZHF0Ni1xdWlja2NvbnRyb2xzMmZ1c2lvbnN0eWxlaW1wbCAtIFF0NiAtIGxpYnJhcnlcbmxpYmRxdDYtcXVpY2tjb250cm9sczJpbWFnaW5lIC0gUXQ2IC0gbGlicmFyeVxubGliZHF0Ni1xdWlja2NvbnRyb2xzMmltYWdpbmVzdHlsZWltcGwgLSBRdDYgLSBsaWJyYXJ5XG5saWJkcXQ2LXF1aWNrY29udHJvbHMyaW1wbCAtIFF0NiAtIGxpYnJhcnlcbmxpYmRxdDYtcXVpY2tjb250cm9sczJtYXRlcmlhbCAtIFF0NiAtIGxpYnJhcnlcbmxpYmRxdDYtcXVpY2tjb250cm9sczJtYXRlcmlhbHN0eWxlaW1wbCAtIFF0NiAtIGxpYnJhcnlcbmxpYmRxdDYtcXVpY2tjb250cm9sczJ1bml2ZXJzYWwgLSBRdDYgLSBsaWJyYXJ5XG5saWJkcXQ2LXF1aWNrY29udHJvbHMydW5pdmVyc2Fsc3R5bGVpbXBsIC0gUXQ2IC0gbGlicmFyeVxua2Y1LWtpcmlnYW1pIC0gQSBRdFF1aWNrIGJhc2VkIGNvbXBvbmVudHMgc2V0XG5rZjYta2lyaWdhbWkgLSBBIFF0UXVpY2sgYmFzZWQgY29tcG9uZW50cyBzZXRcbmxpYmFkd2FpdGEtcXQ1IC0gQWR3YWl0YSBRdDUgbGlicmFyeVxubGliYWR3YWl0YS1xdDUtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgbGliYWR3YWl0YS1xdDVcbmxpYmFkd2FpdGEtcXQ2IC0gQWR3YWl0YSBRdDYgbGlicmFyeVxubGliYWR3YWl0YS1xdDYtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgbGliYWR3YWl0YS1xdDZcbmFsdC13ZWF0aGVyLWFkdyAtIFdlYXRoZXIgZm9yZWNhc3RcbmNyb3NzcGlwZSAtIEdyYXBoaWNhbCBQaXBlV2lyZSBjb25uZWN0aW9ucyBtYW5hZ2VyXG5lbGFzdGljIC0gRGVzaWduIHNwcmluZyBhbmltYXRpb25zXG5lbWJlbGxpc2ggLSBJbnN0YWxsIG5lcmQgZm9udHNcbmV4ZXJjaXNlLXRpbWVyIC0gRXhlcmNpc2UgVGltZXJcbmZhbGNvbmQtZ3VpIC0gQSBHVEs0L0xpYkFkd2FpdGEgYXBwbGljYXRpb24gdG8gY29udHJvbCBhbmQgbW9uaXRvciB0aGUgRmFsY29uZCBnYW1pbmcgb3B0aW1pemF0aW9uIGRhZW1vblxuZ2VvY2x1ZS1zdHVtYmxlciAtIEdlb2NsdWUgU3R1bWJsZXJcbmdpdHB1bHNhciAtIEdOT01FLW5hdGl2ZSBHaXQgR1VJIHdyaXR0ZW4gaW4gUnVzdCB3aXRoIEdUSzQvbGliYWR3YWl0YVxuZ2l0dGUgLSBBIEdUSzQvbGliYWR3YWl0YSBHaXQgY2xpZW50IGZvciB0aGUgR05PTUUgZGVza3RvcFxubGliYWRhcHRhIC0gbGliQWRhcHRhIGlzIGxpYkFkd2FpdGEgd2l0aCB0aGVtZSBzdXBwb3J0IGFuZCBhIGZldyBleHRyYVxubGliYWR3YWl0YSAtIExpYnJhcnkgd2l0aCBHVEs0IHdpZGdldHMgZm9yIG1vYmlsZSBkZXZpY2VzXG5saWJhZHdhaXRhLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIGxpYmFkd2FpdGFcbmxpYmFkd2FpdGEtZ2lyIC0gR09iamVjdCBpbnRyb3NwZWN0aW9uIGRhdGEgZm9yIGxpYmFkd2FpdGFcbmxpYmJpc211dGgxIC0gTGliYWR3YWl0YSdzIHJlc3BvbnNpdmUgd2lkZ2V0cywgd2l0aG91dCBhbGwgdGhlIGJhZ2dhZ2VcbmxpYmd0ay1ub2NzZCAtIEFuIExEX1BSRUxPQUQgbGlicmFyeSB0byBkaXNhYmxlIENTRCBpbiBHVEszLzRcbmxpYmd0ay1ub2NzZDAgLSBBbiBMRF9QUkVMT0FEIGxpYnJhcnkgdG8gZGlzYWJsZSBDU0QgaW4gR1RLMy80XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODk5NDQ0ODd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4NWUwN2NmMyIsInBhcmVudElkIjoiYzUxOTVmY2EiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMyOjI0LjQ4N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfYVdCYTEyYXNUYkt0QlRUbUtFT0s3bHZ6fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOGVlODUxMDgxOTE5ZDQwMjkxYmJlM2Y4NGMzIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoid29ya3NwYWNlIG1ldGFkYXRhOiBva1xuIE0gQ2FyZ28ubG9ja1xuIE0gQ2FyZ28udG9tbFxuIEQgc3JjL21haW4ucnNcbj8/IGNyYXRlcy9cbjY6Y29uc3QgQk9BUkRTOiAmc3RyID0gaW5jbHVkZV9zdHIhKFwiLi4vLi4vLi4vYWx0LXJvb3Rmcy1pbnN0YWxsZXIvU1VQUE9SVEVELUJPQVJEU1wiKTtcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTk0NDQ4N319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjJlY2M2MWNmIiwicGFyZW50SWQiOiI4NWUwN2NmMyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzI6MzIuMDMzWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipBc3Nlc3NpbmcgUXQgZGVwZW5kZW5jaWVzIGFuZCBidWlsZCBlbnZpcm9ubWVudCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ZmIyNjE0ODE5MTk1ZGM0OTE5YTRkZGQwYjBcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1qX1dRbzgyTHp4U1ZaYUpEOEFKb0d1bmpNcVhwUFZLYUV6TWhXdHgzNlh4TkpWUlVzeC1TazlVV18tYkZsRU9WRF9sX1NJVzBDODJNV2tSR3V1dXBFQ2dWM2xqLTNNdXhWTHQ0cDdJcmozSExheDFBQlgwVWMySmJ2SDUxcWFrWm9BcWt0YlQ0aFR1WWNyaDlQbXpXR0ptZUozWEJvT2p6dGVqSHpZS3VmNXoyZ2loa3ZSenR5UGlWT2JVLTI2SUthZnRRUVg2R2RVTFpVTnYzVlk0cGltbTRnT1c0RkR3TFc2RnhDVlBOcEdiblhNSENXLXdPaG4zMnNZMFBtS0lWb1J2dUpVaUdSeEVZYURhWWNaNGZocFE0dl9ON01GYm1Dc0pDYjVBNU9sWWRrYjh6ZmNDVFZhUzh1T0tFS0pnQmRqOGQwTWkxbU12UmJjc3BnM2c1VTV6NDBVNzlpcy1ub05YX2RvRXZmYXBrZ0xMVWRVQjNGeUhNQUxUcDd5bXlRWDYxel9BdC1Qd1lRbHNua2FiVlVYNm5zNkJ0TU1qOUVwc2c5TjgybUhaRjNSMVVncnNpbHU0c09EMkNZMzJIblpxZ243Y2gwLTFjTUM3OVgwanFIQ1BQdzFtV0pLVWRBS25YMjhOMXBMRTNGRVYxc1Z5WlVaM0hfdzVxNWdwbjZTRlRGWWN0MzVXUVoyMlptenN6U2ltOHVhOWxkZy00YVVLLU04UnRzdWtEVktncUpaZEM3a3Z1MFBTYmVLai1kdG1iU25RdmFESjk4Q21SU0ItNmFIY0NXNERENjhrRF95M1RWQ0FqdkpGWXlFWnpwQVJCMUxFT1RFb09IN3pDdFVJcHNlbVUxYlVzaUR1QjRZN0MySHYyd1IyYlc5YXVCN2NzOWV0UGxIZ1FnMndjVTJ2QTRwRk5weGlielE4VjlxNkNPQndRbFFCYkNpQllFUUNtUVhVSGY1Y25xdzdSRDlSOTg3aE5WVWl1TUxNcUNGMVo3cEpRTWZHaFd3NUNzaFR5WmN3aV92dHZmc0UzdXdHeGF0azg5Xzg4ZkZQM1NXZTdPdmhmdEhPX0EyR2lFWVZzMC00bno5YWlWSzVrWlpQVWpUZjdmTDduV1JjUTNSMHJmSy1VZTVIZnNlMmdlcDR1Vl9oMzVFSGJMWWx6VXBNN3lyTUYtMVI0VWZDQmVLNXl4dXFZUkRhSFhZR05TLUZIdHBQajVKaTh3SDI4Z1NubGJ6NmhGNUVLZmN3NTdkOTNVLVRPSllYVmNhN0Z4MWE1RTNRMHQ1QXYtcllXanlIMFB1cjFKYVdaSlVMMzNpOXF6eGZkNHBFLWplc0NDdkN6RXNPaUVQUE55dWREUjJpT2Q5clVQMUZfZk8yZjduOUgtNy11cDNLMXo4WG9zeFI2cTRqQmlDR3RITTY5eFFZNUROY3FvUlk4ZXFzM1pBeUpaRFhTb0tOdjVxRjFsV0RBbmM5WkZ5M3U3ZXFUbnE1d0p4T0JmU1pHcmplN3R3UVNJeUN0UnlOZktpc0pfMmNFV3JuRWRNMlZ0SlFYMkdXc2dQb2dPanB3SVRIX3JNTkR6NDIxSTJOTVZrTlJpREJhd2FIQi1TaGdzZGg5N0s4RDZncXNxSWJMUzFCZ3N4a0c3QjZ2S0E3YjJHS0lmNFpJUDhXWmtJekhxR3RLU1dRcFR1QTFCQXppNEw0eDFWWlNLRDBsT2t3Z1hLeEcyWDF5Q0g3NWdWUzMySm5lTml6eFVUZW5RYTJyLTRKa2xuMDNsZFJiQlQwZUtweHc0OS1fYkhGaFVIdFlqYUZYR1BuTDRjeWE5ZjBFT25WQ2ZPT21TclJyVXd0UWJOUTV5Snl5WVplTl8wa3JSLXItOXJpSTBrNFN5NVV5TEdRRUNRcGJpMW1TTmIyVnN3TUo2NzhPcko2TkNtY3pRb3VVY1c1SlpaSmxhb1dEcEp4U0RRXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipBc3Nlc3NpbmcgUXQgZGVwZW5kZW5jaWVzIGFuZCBidWlsZCBlbnZpcm9ubWVudCoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9qVXJ3RlFpaG9FRHVwWW5UNXZna3c1THp8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ZmZlNDBjODE5MWJkYTE5NDg1ODU1MTdkOWQiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiRE9DU19SUz0xIFJVU1RDX0JPT1RTVFJBUD0xIFJVU1RGTEFHUz0nLS1jZmcgZG9jc3JzJyBjYXJnbyBjaGVjayAtcCBmbGFzaGVyLWd0ayIsInRpbWVvdXQiOjEyMH19LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX2huM29zTFFpdFpBZHVhb2NYRjhJR1J0SXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzhmZmU0Mjg4MTkxYjEzNzkxM2QyYTI1ZDY4NCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJjYXJnbyBjaGVjayAtcCBmbGFzaGVyLXF0IiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjIwNTYsIm91dHB1dCI6MjAwLCJjYWNoZVJlYWQiOjUyNzM2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjEwNiwidG90YWxUb2tlbnMiOjU0OTkyLCJjb3N0Ijp7ImlucHV0IjowLjAxMDI4MDAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwNiwiY2FjaGVSZWFkIjowLjAyNjM2OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDQyNjQ4MDAwMDAwMDAwMDA1fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg5OTQ0NDg5LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzhmOGU1ZGM4MTkxOWIyZjYzNjdiYjQzOTM4NiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxOTQ1YjhmNiIsInBhcmVudElkIjoiMmVjYzYxY2YiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMyOjM2LjYyMVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfalVyd0ZRaWhvRUR1cFluVDV2Z2t3NUx6fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOGZmZTQwYzgxOTFiZGExOTQ4NTg1NTE3ZDlkIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgIEJsb2NraW5nIHdhaXRpbmcgZm9yIGZpbGUgbG9jayBvbiBwYWNrYWdlIGNhY2hlXG4gICAgQmxvY2tpbmcgd2FpdGluZyBmb3IgZmlsZSBsb2NrIG9uIHBhY2thZ2UgY2FjaGVcbiAgICBCbG9ja2luZyB3YWl0aW5nIGZvciBmaWxlIGxvY2sgb24gcGFja2FnZSBjYWNoZVxuICAgIEJsb2NraW5nIHdhaXRpbmcgZm9yIGZpbGUgbG9jayBvbiBidWlsZCBkaXJlY3RvcnlcbiAgICBDaGVja2luZyBmbGFzaGVyLWd0ayB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvY3JhdGVzL2ZsYXNoZXItZ3RrKVxuICAgIEZpbmlzaGVkIGBkZXZgIHByb2ZpbGUgW3Vub3B0aW1pemVkICsgZGVidWdpbmZvXSB0YXJnZXQocykgaW4gNC41N3NcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTk1NjYyMX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjY3OThjYzZkIiwicGFyZW50SWQiOiIxOTQ1YjhmNiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzI6MzYuNjIxWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9objNvc0xRaXRaQWR1YW9jWEY4SUdSdEl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM4ZmZlNDI4ODE5MWIxMzc5MTNkMmEyNWQ2ODQiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgQmxvY2tpbmcgd2FpdGluZyBmb3IgZmlsZSBsb2NrIG9uIHBhY2thZ2UgY2FjaGVcbiAgICBCbG9ja2luZyB3YWl0aW5nIGZvciBmaWxlIGxvY2sgb24gcGFja2FnZSBjYWNoZVxuICAgIEJsb2NraW5nIHdhaXRpbmcgZm9yIGZpbGUgbG9jayBvbiBwYWNrYWdlIGNhY2hlXG4gICBDb21waWxpbmcgbWVtY2hyIHYyLjguM1xuICAgQ29tcGlsaW5nIHJlZ2V4LXN5bnRheCB2MC44LjExXG4gICBDb21waWxpbmcgc2hsZXggdjIuMC4xXG4gICBDb21waWxpbmcgZmluZC1tc3ZjLXRvb2xzIHYwLjEuOVxuICAgQ29tcGlsaW5nIHVuaWNvZGUteGlkIHYwLjIuNlxuICAgQ29tcGlsaW5nIHN5biB2MS4wLjEwOVxuICAgQ29tcGlsaW5nIGJ5dGVvcmRlciB2MS41LjBcbiAgICBDaGVja2luZyBsYXp5X3N0YXRpYyB2MS41LjBcbiAgICBDaGVja2luZyBsb2cgdjAuNC4zM1xuICAgQ29tcGlsaW5nIHN5biB2Mi4wLjExOVxuICAgQ29tcGlsaW5nIGNjIHYxLjQuMFxuICAgQ29tcGlsaW5nIGFoby1jb3Jhc2ljayB2MS4xLjRcbiAgIENvbXBpbGluZyByZWdleC1hdXRvbWF0YSB2MC40LjE2XG4gICBDb21waWxpbmcgcW1ldGFvYmplY3RfaW1wbCB2MC4yLjEwXG4gICBDb21waWxpbmcgY3BwX2NvbW1vbiB2MC41LjExXG4gICBDb21waWxpbmcgY3BwX21hY3JvcyB2MC41LjExXG4gICBDb21waWxpbmcgcmVnZXggdjEuMTMuMVxuICAgQ29tcGlsaW5nIGNwcF9idWlsZCB2MC41LjExXG4gICAgQ2hlY2tpbmcgY3BwIHYwLjUuMTFcbiAgIENvbXBpbGluZyBxdHR5cGVzIHYwLjIuMTJcbiAgIENvbXBpbGluZyBxbWV0YW9iamVjdCB2MC4yLjEwXG5lcnJvcjogZmFpbGVkIHRvIHJ1biBjdXN0b20gYnVpbGQgY29tbWFuZCBmb3IgYHF0dHlwZXMgdjAuMi4xMmBcblxuQ2F1c2VkIGJ5OlxuICBwcm9jZXNzIGRpZG4ndCBleGl0IHN1Y2Nlc3NmdWxseTogYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL3F0dHlwZXMtYTJjNjE2NzZiNTM1YzU0ZC9idWlsZC1zY3JpcHQtYnVpbGRgIChleGl0IHN0YXR1czogMTAxKVxuICAtLS0gc3Rkb3V0XG4gIGNhcmdvOnJ1c3RjLWNoZWNrLWNmZz1jZmcobm9fcXQpXG4gIGNhcmdvOnJ1c3RjLWNoZWNrLWNmZz1jZmcocXRfNV8xMSxxdF81XzEyLHF0XzVfMTUscXJlYWxfaXNfZmxvYXQpXG4gIGNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVFUX0lOQ0xVREVfUEFUSFxuICBjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1RVF9MSUJSQVJZX1BBVEhcbiAgY2FyZ286cmVydW4taWYtZW52LWNoYW5nZWQ9UU1BS0VcblxuICAtLS0gc3RkZXJyXG5cbiAgdGhyZWFkICdtYWluJyAoMTk0NjYwKSBwYW5pY2tlZCBhdCAvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0dHlwZXMtMC4yLjEyL2J1aWxkLnJzOjI5Ojk6XG4gIEZhaWxlZCB0byBleGVjdXRlIHFtYWtlLiBNYWtlIHN1cmUgJ3FtYWtlJyBpcyBpbiB5b3VyIHBhdGghXG4gIGVudGl0eSBub3QgZm91bmRcbiAgbm90ZTogcnVuIHdpdGggYFJVU1RfQkFDS1RSQUNFPTFgIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGRpc3BsYXkgYSBiYWNrdHJhY2VcblxuXG5Db21tYW5kIGV4aXRlZCB3aXRoIGNvZGUgMTAxIn1dLCJkZXRhaWxzIjp7fSwiaXNFcnJvciI6dHJ1ZSwidGltZXN0YW1wIjoxNzg0OTg5OTU2NjIxfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNzM1OGRkNDEiLCJwYXJlbnRJZCI6IjY3OThjYzZkIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMjo0MS44MDFaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlZlcmlmeWluZyBxbWV0YSBjb2RlIGNvbXBpbGF0aW9uIGZlYXNpYmlsaXR5KioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkwNzJiODg4MTkxODA5ODk5N2ZmMzRkZjAwMFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWtKeC13UkZ6TVFaUmJsSS1pSU9JZld5S3JwZnpLM2dIWldIYWdmM0o0RUJoZUE1TWFQclZ0VjdfMUx0N2NQSmhBUEtFTlZiaTNDZEhEVTBCRzV5aElLTkVna2lYeWd0enFROE5WWjlXSTh2aldmUDBHaWFweXNNV2ppc2pIZ19oU1hzX2VxQ3B5MWpqM0lVdDZaTDl4ck1SbU0wMEZ5ck5xSEp5d1FDbkRmU3dDeXp4WFJUN2dkUnJtRzZKNjY3d2x3U2NmMTlkVjRqcU9nU1JSdmQwdm5BT1QtTlZtVWJxY0ttOGY1VEh1VGdtbElIZ1NhNkhqQkNzWTVYeWRwZEt5d2VEdll4R1JpbTU3dDl5dTh6a01MRHRQSUJXQy02MHNjS3UxQnJTTVMwNngzeGZXMVdjSml0Z3FZSmZTUHpZV0NwelJRMHg2RHNqOGp3MkNVSXpwQ3ZaOHR1UmxsSUtneFlGU0dqZnRnak5TV3pEM2RlSkk3VkU4ZTVCS2xEZzNaMTVkQll2LVdYMmZlR2c5aXJjdnZYT0RwVWZHbkx5TEY1SHFRMHJpTzZEVElxeVpEaDBuMmIzZ3FQUmdnTWdzQjh1WjBXMGtfNU83MmZ4VWdHb1ZNSU95VE52d3JTTjd0Z1dKalhlaWlKN2lnNXhZUG9EZy1GVkhVQmhjTjRBUXpVN3AwUWQ4dXdyaWN2UG52WmJfZTFBVHNjY3hGUWNQbnVFaUhhdVU1SkxxRldjQldIUDNJMFdfRE5pSlpIbk83bHc5SG15aW9fMmZFZFFnZ0ctZ3hwUExST3JmbTBocWwyRHhzSnk0M1loWEo2S1RYYnZKal9XenR3djJ0T2ZiNnFScTZ6QXNaU2ZLTG1KaG9ualBaNk93UGdMMHBsWlRfRG1EMmk1Q09TdF9XOHU0TWtqWWd4VFZJV3V4bTNzdE4td0RLQ1o0eTZlM1lsMzJmSWJOWkg0TG1BRXVScXR0Nk5LM2Y3cXROY1U4RzdHUEtTR1BpSThQR1JqS00zTUVscWdoQnJBVjdiMkU3dHNsN2lLU0hZcjM3aG9HaDZIWFQ4c3RQS0pSY0Yya0dvQXhRMTE1ckxzSWh0eEZmeWdETEhkczhxRHB3c2p6Wm5wcGUycXZScGlpeWExOFM1YVFDbHUwV0MtWlJSVDZpVGViWWlPU0RCNkIzb0d2ZXA2STE2Vkw0eUhRcl9HenBBekZGcUNnSFduR2FRQTNrWDA5UEhWRnlEaDQ0X282SldoSDdOT2JpeEI3OVZCcGx0Z2U0aDRRYmd1cUp1bXdSZC1CNTBmeTJfX1BJRFVMR1hzZnhnSUxvcVBxUGNYemtXVzdKeEE0OUlqalg2MUNJenIxRGpTVWEwYzRuQkRiUVkxY1ctRmRpLTdsSFYtT2RyQTFqMDVnZk1KMHdZTmtxcmpNdTAtTXlIN2NHSUhXQ3dsbzlxdGdpS1A1OENONm1NRDViWFlXbm5RRkxTOWdxa0F5cWhjdkVZeXRuSjlkSmFMZjF4eGRTcjdiV04xV3B3WGlqSG45eFlvOTduelBVbzFwUmtEbW9GcXlHUTNtbmVMcGhpYmQxVV9sOHdBTHBNNGY5aHFaYVN3aHc1RkRpdHpUM1htUlFpY1BGNC0xTWp4QUV6ajdtNVEyZ2VtWHhWLUxKSms2dkV0MkMxRjBqSUVGRTY5bnVISzlLYThvckxqeG1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlZlcmlmeWluZyBxbWV0YSBjb2RlIGNvbXBpbGF0aW9uIGZlYXNpYmlsaXR5KipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0tkb1lzUHZKRk9LdlJXT3h6RmZJQko4VnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkwOTQwNGM4MTkxYmYyYmFlYzVkYTgxM2MwOCIsIm5hbWUiOiJyZWFkIiwiYXJndW1lbnRzIjp7InBhdGgiOiIvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0dHlwZXMtMC4yLjEyL2J1aWxkLnJzIiwibGltaXQiOjE4MH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxODk5LCJvdXRwdXQiOjEyNSwiY2FjaGVSZWFkIjo1Mzc2MCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo2MywidG90YWxUb2tlbnMiOjU1Nzg0LCJjb3N0Ijp7ImlucHV0IjowLjAwOTQ5NSwib3V0cHV0IjowLjAwMzc1MDAwMDAwMDAwMDAwMDMsImNhY2hlUmVhZCI6MC4wMjY4Nzk5OTk5OTk5OTk5OTgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA0MDEyNDk5OTk5OTk5OTk5NH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTk1NjYyMywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MDRmODI0ODE5MWE1YjA1YzQ3YTU3MzMwYWQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMmUxOTNkYWIiLCJwYXJlbnRJZCI6IjczNThkZDQxIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMjo0MS44MDJaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0tkb1lzUHZKRk9LdlJXT3h6RmZJQko4VnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkwOTQwNGM4MTkxYmYyYmFlYzVkYTgxM2MwOCIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii8qIENvcHlyaWdodCAoQykgMjAxOCBPbGl2aWVyIEdvZmZhcnQgPG9nb2ZmYXJ0QHdvYm9xLmNvbT5cblxuUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZFxuYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbixcbmluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG5hbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLFxuc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cblRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWxcbnBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUXG5OT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORFxuTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFU1xuT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOXG5DT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuKi9cblxudXNlIHN0ZDo6aW86OnByZWx1ZGU6Oio7XG51c2Ugc3RkOjppbzo6QnVmUmVhZGVyO1xudXNlIHN0ZDo6cGF0aDo6e1BhdGgsIFBhdGhCdWZ9O1xudXNlIHN0ZDo6cHJvY2Vzczo6Q29tbWFuZDtcblxudXNlIHNlbXZlcjo6VmVyc2lvbjtcblxuZm4gcmVwb3J0X2Vycm9yKF9lcnI6ICZzdHIpIC0+ICEge1xuICAgIHtcbiAgICAgICAgI1tjZmcoZmVhdHVyZSA9IFwicmVxdWlyZWRcIildXG4gICAgICAgIHBhbmljIShcInt9XCIsIF9lcnIpO1xuICAgICAgICAjW2NmZyhub3QoZmVhdHVyZSA9IFwicmVxdWlyZWRcIikpXVxuICAgICAgICB7XG4gICAgICAgICAgICBwcmludGxuIShcImNhcmdvOnJ1c3RjLWNmZz1ub19xdFwiKTtcbiAgICAgICAgICAgIHByaW50bG4hKFwiY2FyZ286Rk9VTkQ9MFwiKTtcbiAgICAgICAgICAgIHByaW50bG4hKFwiY2FyZ286RVJST1JfTUVTU0FHRT17fVwiLCBfZXJyLmVzY2FwZV9kZWJ1ZygpKTtcbiAgICAgICAgICAgIHN0ZDo6cHJvY2Vzczo6ZXhpdCgwKVxuICAgICAgICB9XG4gICAgfVxufVxuXG5mbiBxbWFrZV9xdWVyeSh2YXI6ICZzdHIpIC0+IFN0cmluZyB7XG4gICAgbGV0IG91dHB1dCA9IG1hdGNoIHN0ZDo6ZW52Ojp2YXIoXCJRTUFLRVwiKSB7XG4gICAgICAgIE9rKGVudl92YXJfdmFsdWUpID0+IENvbW1hbmQ6Om5ldyhlbnZfdmFyX3ZhbHVlKS5hcmdzKCZbXCItcXVlcnlcIiwgdmFyXSkub3V0cHV0KCksXG4gICAgICAgIEVycihfZW52X3Zhcl9lcnIpID0+IHtcbiAgICAgICAgICAgICh8fCB7XG4gICAgICAgICAgICAgICAgLy8gU29tZSBMaW51eCBkaXN0cmlidXRpb25zIChGZWRvcmEsIEFyY2gpIHJlbmFtZSBxbWFrZSB0byBxbWFrZS1xdDUuXG4gICAgICAgICAgICAgICAgLy8gcW1ha2U2IGlzIGFuIG9mZmljaWFsIGFsaWFzIHRoYXQgZ2VuZXJhbGx5IGFsd2F5cyBwb2ludHMgdG8gdGhlIFF0NiB2ZXJzaW9uLlxuICAgICAgICAgICAgICAgIGZvciBxbWFrZSBpbiAmW1wicW1ha2U2XCIsIFwicW1ha2VcIiwgXCJxbWFrZS1xdDVcIl0ge1xuICAgICAgICAgICAgICAgICAgICBtYXRjaCBDb21tYW5kOjpuZXcocW1ha2UpLmFyZ3MoJltcIi1xdWVyeVwiLCB2YXJdKS5vdXRwdXQoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBFcnIoZXJyKSBpZiBlcnIua2luZCgpID09IHN0ZDo6aW86OkVycm9yS2luZDo6Tm90Rm91bmQgPT4gY29udGludWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB4ID0+IHJldHVybiB4LFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEVycihzdGQ6OmlvOjpFcnJvcktpbmQ6Ok5vdEZvdW5kLmludG8oKSlcbiAgICAgICAgICAgIH0pKClcbiAgICAgICAgfVxuICAgIH07XG4gICAgbGV0IG91dHB1dCA9IG1hdGNoIG91dHB1dCB7XG4gICAgICAgIE9rKG91dHB1dCkgPT4gb3V0cHV0LFxuICAgICAgICBFcnIoZXJyKSA9PiByZXBvcnRfZXJyb3IoJmZvcm1hdCEoXG4gICAgICAgICAgICBcIkZhaWxlZCB0byBleGVjdXRlIHFtYWtlLiBNYWtlIHN1cmUgJ3FtYWtlJyBpcyBpbiB5b3VyIHBhdGghXFxue31cIixcbiAgICAgICAgICAgIGVyclxuICAgICAgICApKSxcbiAgICB9O1xuXG4gICAgaWYgIW91dHB1dC5zdGF0dXMuc3VjY2VzcygpIHtcbiAgICAgICAgcmVwb3J0X2Vycm9yKCZmb3JtYXQhKFxuICAgICAgICAgICAgXCJxbWFrZSByZXR1cm5lZCB3aXRoIGVycm9yOlxcbnt9XFxue31cIixcbiAgICAgICAgICAgIHN0ZDo6c3RyOjpmcm9tX3V0ZjgoJm91dHB1dC5zdGRlcnIpLnVud3JhcF9vcl9kZWZhdWx0KCksXG4gICAgICAgICAgICBzdGQ6OnN0cjo6ZnJvbV91dGY4KCZvdXRwdXQuc3Rkb3V0KS51bndyYXBfb3JfZGVmYXVsdCgpXG4gICAgICAgICkpO1xuICAgIH1cbiAgICBzdGQ6OnN0cjo6ZnJvbV91dGY4KCZvdXRwdXQuc3Rkb3V0KS5leHBlY3QoXCJVVEYtOCBjb252ZXJzaW9uIGZhaWxlZFwiKS50cmltKCkudG9fc3RyaW5nKClcbn1cblxuZm4gb3Blbl9jb3JlX2hlYWRlcihcbiAgICBmaWxlOiAmc3RyLFxuICAgIHF0X2luY2x1ZGVfcGF0aDogJnN0cixcbiAgICBxdF9saWJyYXJ5X3BhdGg6ICZzdHIsXG4pIC0+IEJ1ZlJlYWRlcjxzdGQ6OmZzOjpGaWxlPiB7XG4gICAgbGV0IGNhcmdvX3RhcmdldF9vcyA9IHN0ZDo6ZW52Ojp2YXIoXCJDQVJHT19DRkdfVEFSR0VUX09TXCIpLnVud3JhcCgpO1xuXG4gICAgbGV0IG11dCBwYXRoID0gUGF0aEJ1Zjo6ZnJvbShxdF9pbmNsdWRlX3BhdGgpO1xuICAgIHBhdGgucHVzaChcIlF0Q29yZVwiKTtcbiAgICBwYXRoLnB1c2goZmlsZSk7XG4gICAgaWYgY2FyZ29fdGFyZ2V0X29zID09IFwibWFjb3NcIiB7XG4gICAgICAgIGlmICFwYXRoLmV4aXN0cygpIHtcbiAgICAgICAgICAgIHBhdGggPSBQYXRoOjpuZXcocXRfbGlicmFyeV9wYXRoKS5qb2luKFwiUXRDb3JlLmZyYW1ld29yay9IZWFkZXJzXCIpO1xuICAgICAgICAgICAgcGF0aC5wdXNoKGZpbGUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGxldCBmID0gbWF0Y2ggc3RkOjpmczo6RmlsZTo6b3BlbigmcGF0aCkge1xuICAgICAgICBPayhmKSA9PiBmLFxuICAgICAgICBFcnIoZSkgPT4gcmVwb3J0X2Vycm9yKCZmb3JtYXQhKFxuICAgICAgICAgICAgXCJDYW5ub3Qgb3BlbiBgezo/fWAsIHBsZWFzZSBtYWtlIHN1cmUgdGhhdCB0aGUgUXQgaGVhZGVycyBhcmUgaW5zdGFsbGVkLlxcbnt9XCIsXG4gICAgICAgICAgICBwYXRoLCBlXG4gICAgICAgICkpLFxuICAgIH07XG4gICAgQnVmUmVhZGVyOjpuZXcoZilcbn1cblxuLy8gcXJlYWwgaXMgYSBkb3VibGUsIHVubGVzcyBRVF9DT09SRF9UWVBFIHNheXMgb3RoZXJ3aXNlOlxuLy8gaHR0cHM6Ly9kb2MucXQuaW8vcXQtNS9xdGdsb2JhbC5odG1sI3FyZWFsLXR5cGVkZWZcbmZuIGRldGVjdF9xcmVhbF9zaXplKHF0X2luY2x1ZGVfcGF0aDogJnN0ciwgcXRfbGlicmFyeV9wYXRoOiAmc3RyKSB7XG4gICAgY29uc3QgQ09ORklHX0hFQURFUjogJidzdGF0aWMgc3RyID0gXCJxY29uZmlnLmhcIjtcbiAgICBsZXQgYiA9IG9wZW5fY29yZV9oZWFkZXIoQ09ORklHX0hFQURFUiwgcXRfaW5jbHVkZV9wYXRoLCBxdF9saWJyYXJ5X3BhdGgpO1xuXG4gICAgLy8gRmluZCBkZWNsYXJhdGlvbiBvZiBRVF9DT09SRF9UWVBFXG4gICAgZm9yIGxpbmUgaW4gYi5saW5lcygpIHtcbiAgICAgICAgbGV0IGxpbmUgPSBsaW5lLmV4cGVjdChcIlVURi04IGNvbnZlcnNpb24gZmFpbGVkIGZvciBxY29uZmlnLmhcIik7XG4gICAgICAgIGlmIGxpbmUuY29udGFpbnMoXCJRVF9DT09SRF9UWVBFXCIpIHtcbiAgICAgICAgICAgIGlmIGxpbmUuY29udGFpbnMoXCJmbG9hdFwiKSB7XG4gICAgICAgICAgICAgICAgcHJpbnRsbiEoXCJjYXJnbzpydXN0Yy1jZmc9cXJlYWxfaXNfZmxvYXRcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYW5pYyEoXCJRVF9DT09SRF9UWVBFIHdpdGggdW5rbm93biBkZWNsYXJhdGlvbiB7fVwiLCBsaW5lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZm4gZGV0ZWN0X3ZlcnNpb25fZnJvbV9oZWFkZXIocXRfaW5jbHVkZV9wYXRoOiAmc3RyLCBxdF9saWJyYXJ5X3BhdGg6ICZzdHIpIC0+IFN0cmluZyB7XG4gICAgY29uc3QgVkVSU0lPTl9IRUFERVI6ICYnc3RhdGljIHN0ciA9IFwicXRjb3JldmVyc2lvbi5oXCI7XG4gICAgbGV0IGIgPSBvcGVuX2NvcmVfaGVhZGVyKFZFUlNJT05fSEVBREVSLCBxdF9pbmNsdWRlX3BhdGgsIHF0X2xpYnJhcnlfcGF0aCk7XG5cbiAgICAvLyBGaW5kIGRlY2xhcmF0aW9uIG9mIFFUQ09SRV9WRVJTSU9OX1NUUlxuICAgIGZvciBsaW5lIGluIGIubGluZXMoKSB7XG4gICAgICAgIGxldCBsaW5lID0gbGluZS5leHBlY3QoXCJVVEYtOCBjb252ZXJzaW9uIGZhaWxlZCBmb3IgcXRjb3JldmVyc2lvbi5oXCIpO1xuICAgICAgICBpZiBsaW5lLmNvbnRhaW5zKFwiUVRDT1JFX1ZFUlNJT05fU1RSXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBsaW5lLnNwbGl0KCdcXFwiJykubnRoKDEpLmV4cGVjdChcIlBhcnNpbmcgUVRDT1JFX1ZFUlNJT05fU1RSXCIpLmludG8oKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwYW5pYyEoXCJDb3VsZCBub3QgZGV0ZWN0IFF0IHZlcnNpb24gZnJvbSBpbmNsdWRlIHBhdGhzXCIpXG59XG5cbmZuIG1haW4oKSB7XG4gICAgcHJpbnRsbiEoXCJjYXJnbzpydXN0Yy1jaGVjay1jZmc9Y2ZnKG5vX3F0KVwiKTtcbiAgICBwcmludGxuIShcImNhcmdvOnJ1c3RjLWNoZWNrLWNmZz1jZmcocXRfNV8xMSxxdF81XzEyLHF0XzVfMTUscXJlYWxfaXNfZmxvYXQpXCIpO1xuXG4gICAgLy8gU2ltcGxlIGNmZyEodGFyZ2V0XyogPSBcIi4uLlwiKSBkb2Vzbid0IHdvcmsgaW4gYnVpbGQgc2NyaXB0cyB0aGUgd2F5IGl0IGRvZXMgaW4gY3JhdGUncyBjb2RlLlxuICAgIC8vIGh0dHBzOi8vZG9jLnJ1c3QtbGFuZy5vcmcvY2FyZ28vcmVmZXJlbmNlL2Vudmlyb25tZW50LXZhcmlhYmxlcy5odG1sI2Vudmlyb25tZW50LXZhcmlhYmxlcy1jYXJnby1zZXRzLWZvci1idWlsZC1zY3JpcHRzXG4gICAgbGV0IGNhcmdvX3RhcmdldF9vcyA9IHN0ZDo6ZW52Ojp2YXIoXCJDQVJHT19DRkdfVEFSR0VUX09TXCIpLnVud3JhcCgpO1xuICAgIGxldCBjYXJnb190YXJnZXRfZW52ID0gc3RkOjplbnY6OnZhcihcIkNBUkdPX0NGR19UQVJHRVRfRU5WXCIpLnVud3JhcCgpO1xuXG4gICAgcHJpbnRsbiEoXCJjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1RVF9JTkNMVURFX1BBVEhcIik7XG4gICAgcHJpbnRsbiEoXCJjYXJnbzpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1RVF9MSUJSQVJZX1BBVEhcIik7XG4gICAgbGV0IChxdF92ZXJzaW9uLCBxdF9pbmNsdWRlX3BhdGgsIHF0X2xpYnJhcnlfcGF0aCkgPSBtYXRjaCAoXG4gICAgICAgIHN0ZDo6ZW52Ojp2YXIoXCJRVF9JTkNMVURFX1BBVEhcIikub2soKS5maWx0ZXIofHh8ICF4LmlzX2VtcHR5KCkpLFxuICAgICAgICBzdGQ6OmVudjo6dmFyKFwiUVRfTElCUkFSWV9QQVRIXCIpLm9rKCkuZmlsdGVyKHx4fCAheC5pc19lbXB0eSgpKSxcbiAgICApIHtcbiAgICAgICAgKFNvbWUocXRfaW5jbHVkZV9wYXRoKSwgU29tZShxdF9saWJyYXJ5X3BhdGgpKSA9PiB7XG4gICAgICAgICAgICBsZXQgcXRfdmVyc2lvbiA9IGRldGVjdF92ZXJzaW9uX2Zyb21faGVhZGVyKCZxdF9pbmNsdWRlX3BhdGgsICZxdF9saWJyYXJ5X3BhdGgpO1xuICAgICAgICAgICAgKHF0X3ZlcnNpb24sIHF0X2luY2x1ZGVfcGF0aCwgcXRfbGlicmFyeV9wYXRoKVxuICAgICAgICB9XG4gICAgICAgIChOb25lLCBOb25lKSA9PiB7XG4gICAgICAgICAgICBwcmludGxuIShcImNhcmdvOnJlcnVuLWlmLWVudi1jaGFuZ2VkPVFNQUtFXCIpO1xuICAgICAgICAgICAgbGV0IHF0X3ZlcnNpb24gPSBxbWFrZV9xdWVyeShcIlFUX1ZFUlNJT05cIik7XG4gICAgICAgICAgICBsZXQgcXRfaW5jbHVkZV9wYXRoID0gcW1ha2VfcXVlcnkoXCJRVF9JTlNUQUxMX0hFQURFUlNcIik7XG4gICAgICAgICAgICBsZXQgcXRfbGlicmFyeV9wYXRoID0gcW1ha2VfcXVlcnkoXCJRVF9JTlNUQUxMX0xJQlNcIik7XG4gICAgICAgICAgICAocXRfdmVyc2lvbiwgcXRfaW5jbHVkZV9wYXRoLCBxdF9saWJyYXJ5X3BhdGgpXG4gICAgICAgIH1cbiAgICAgICAgKFNvbWUoXyksIE5vbmUpIHwgKE5vbmUsIFNvbWUoXykpID0+IHtcbiAgICAgICAgICAgIHBhbmljIShcIlFUX0lOQ0xVREVfUEFUSCBhbmQgUVRfTElCUkFSWV9QQVRIIGVudiB2YXJpYWJsZSBtdXN0IGJlIGVpdGhlciBib3RoIGVtcHR5IG9yIGJvdGggc2V0LlwiKVxuICAgICAgICB9XG4gICAgfTtcbiAgICBkZXRlY3RfcXJlYWxfc2l6ZSgmcXRfaW5jbHVkZV9wYXRoLCAmcXRfbGlicmFyeV9wYXRoKTtcbiAgICBsZXQgcXRfdmVyc2lvbiA9IHF0X3ZlcnNpb24ucGFyc2U6OjxWZXJzaW9uPigpLmV4cGVjdChcIlBhcnNpbmcgUXQgdmVyc2lvbiBmYWlsZWRcIik7XG5cbiAgICBpZiBxdF92ZXJzaW9uIDwgVmVyc2lvbjo6bmV3KDUsIDYsIDApIHtcbiAgICAgICAgcmVwb3J0X2Vycm9yKCZmb3JtYXQhKFwiUXQgdG9vIG9sZC4gRm91bmQgdmVyc2lvbiB7fSwgYnV0IFF0IDUuNiBpcyByZXF1aXJlZC5cXG5JZiBzZXZlcmFsIHZlcnNpb25zIG9mIFF0IGFyZSBpbnN0YWxsZWQsIHNldCB0aGUgUEFUSCBvciBRTUFLRSBlbnZpcm9ubWVudCB2YXJpYWJsZSBzbyBpdCBmaW5kcyB0aGUgY29ycmVjdCB2ZXJzaW9uXCIsIHF0X3ZlcnNpb24pKTtcbiAgICB9XG5cbiAgICBsZXQgbXV0IGZsYWdzID0gdmVjIVtdO1xuICAgIGlmIGNhcmdvX3RhcmdldF9vcyA9PSBcIm1hY29zXCIge1xuICAgICAgICBmbGFncy5wdXNoKFwiLUZcIik7XG4gICAgICAgIGZsYWdzLnB1c2goJnF0X2xpYnJhcnlfcGF0aCk7XG4gICAgfVxuICAgIGlmIGNhcmdvX3RhcmdldF9lbnYgPT0gXCJtc3ZjXCIge1xuICAgICAgICAvLyBGb3IgaHR0cHM6Ly9jb2RlLnF0LmlvL2NnaXQvcXQvcXRiYXNlLmdpdC9jb21taXQvP2lkPTBkYzZjYzA1NTE3NGEwNTU2ZjJlNDFjYTI2OTAxM2IzYTcwNTZjODZcbiAgICAgICAgZmxhZ3MucHVzaChcIi9wZXJtaXNzaXZlLVwiKTtcbiAgICAgICAgLy8gUXQgYXNzdW1lIFVURi04IGVuY29kaW5nXG5cbls5NyBtb3JlIGxpbmVzIGluIGZpbGUuIFVzZSBvZmZzZXQ9MTgxIHRvIGNvbnRpbnVlLl0ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODk5NjE4MDJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJiZDM5ZTUyMiIsInBhcmVudElkIjoiMmUxOTNkYWIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMyOjUyLjc5OVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqQXNzZXNzaW5nIFF0IHZlcnNpb24gY29tcGF0aWJpbGl0eSBhbmQgYnVpbGQgY29uZmlndXJhdGlvbioqXG5cbioqUGxhbm5pbmcgd29ya3NwYWNlIGJ1aWxkIGZvciBib3RoIHRhcmdldHMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTBiZjlmNDgxOTE4ODBkNWExYjYzMzcwZDE2XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpNa1VncGU4OVZXVERScFppYTZpdHdRZWdaUGdGV3Mzancwc1JKYVpMYUZNdHVwd0JzajYxT2FzQmhQQnBjT2tJc1RLTXBFaGZob3lEaUdpc2p4ZXdTeUVISHgwMHF1NE5tNi02bDhyVlZNcFVrQVNtUTB6UFNOeUtzdmM3RHpqckRXS0FMQXlENWhIbXFQWTJITF9meWUtVHJicGVYWWgwTUNHS2hYX0pNa1dZUldHN19kUVZWWllncnNvVEh5Yk8zWDJucUtWY09ONTNTSkJiN2ZnZXRrbWZFMGxZUVhpT1ZUaVhnWWpMQ290ZTdIeGFUSm9KaUF4MHNfbi04cklkalhycGNFNVIxX0ZaY1VvRURQN1pQamx2SDl4V080a0puM2w5WHJSd2w4bjRxbkxhanBGcDFsYThxU3NXZEdZNmFLOWgza3Iwd2lBT2ZoZmtOT3NhT0pnSGtIMG9ZN1IyT3dwZnZVMl9hNWktd201dVRGSXU4dHFnUXhybEM2OWtOWUszZ3BzTUZ3alBqRF9hSE9JWnNhWklhN0RveGc3T25pU0xaTjYtc3VsS1dteTdYMlA0czFPSlh2UW1yTDdGTzVsWVlhRF9oR2N1SWVCVndVSmNUTUFaV1RnX0x3OVVuUkNudE9YNkhtQ3owZFNqaWtLZmk4NzZzYzJ3NTFkVV8wQWNDdGZnWHdhNUlpaUVaZXZVVkJFcHVhNkUtaGQzTGpoaHBfMFR2bmE1M2Y4VFRETTJ5STlfYV9BOFFYeDF5d1k1TzFGWXN4YXk3Z2dJc0lIQndyblRmcDlLOGZMMFM1MF9rcjBiV1JhcmdWVnhud0FERnl0SFljaV9sWTFqajBheEVTRHhHLU1nS0h1Y2s1OVVjdmItTVBKV0VhNXdRX2RRQzVFMmxFOUNFTDRnNG5rWXUzQzd0anhScnFtWGRtX1Btb1lCVUxwSVc4cEZQdlFxa0xDV2dnaVRNaDhSYUlRNVBEWDU3dmdHZV9OUlZiNkNjeXNhUWctM1BRUnNxU2RFc0Jvcnl2Tk1ON3p4UklZdkEwSUQ3TTY3M2FSeXVCSFg4TWR2WGlSSHl1U3laVG5XYTV6LWZubmlPcTZMM1FDYmNyUk9Lckp5Rm5hcnVueWRZVF9kZWVIUmJmZ0RfSWN6d19zYU5iLUJvLVVCVUh0SmtaaGlVQ2NfRnRJWlJIbURWbS1raVN0SVktRTZuNzVVcjhGSGx3QUlvYkJUb0xYV29sWkw3aVVwZUlRRTBLRnpZY1VPd1p0R09VYUt4ZWZPWThMeHBxR2pBRk1CQ2EteHBjdmJVOGZ1Y0FYSmhDZjdmWjY0T2hEU05qZ0Roc0cyMXlIYkZ3VXFITVFaN2l5eGdLY2ZaOVRDdXlZMVJTQWxweE9TYjhSODlRMHlwVEY5bTI1QVN0dkc5SGJ3dGI4SF9URlZTVjN0cWstZ3VCdzdHZXVVVVUwV2VyNHVZMk1Vclk1ZXRjRmRzZ1ZoSkpPWFcyT0NfSDVJdnBnT2FKS2s2d2pfM1k3eWZWUC1mLVNINlhpdTZjRWtpeGRjcjRNSWxlN1lYMVJFc2RZTDAwQ3AyUTIyUUFHX1NmNXQ2RlNDazB1TmY5bVdfZG1PMVQyaWhOa2R1Ql9nVzk5STlYeG5zNFRCTmxRQjg0U1h1NGY5dzVfWUlTcmc1VWdrRGdDbVhiTGJxQXhtZkJFMHFmRjhMQ2FwaVpDVEY4ZzBWT0tDMUt2ZVBaaWVFQlFxMnU3dTAwM2UxWV9aRXRxcjFLQThUOXVLcjl5VVRLNTJic0RtbVFPY2N2aUozaVVZY1lTanNCbUxsU1l3YUJObEdlVHNvSjZTUThRVXM5QU5IR3dLYTM5eXJYUGY3VjkzMFR4OEdsTENUZ0pTRmctYm1ScWc0WDBncW9Mc29HWEFrSGl1REJDRXlJY1VnNUlkaUxJdWQ2Q3lfMWZmUlBYY0NwTHl0UFVNMElwX0xQaEt0Wl9hUHpsSzBvRkhWMnk4ZkFyNXNSd29TRlhydG5Ndl9pOW5NUFFyaGlDYUVRdW5HUDJxZWNib1B0dTNRbGk3QWxVV0VldjR1VjJQWjUzRWJ4eTlFTG1zY0FwbDNDN3pOdVB5a3dqdFNLM25kVGM1c2RDYk5Zb2lFLThVdGdsQWs4eUczX1BWc2t0ejJrY0x2aGE4dHg0TzlmQ2YzZFllN2F5aDJaa0NySDdILVpmeTczRi1Rb1J4SW9pWWd0c3lzM0hzdHR6SGkwLWJTOEhyZGgtazVibnhkY2FRcGh3VFcwS3JNVVc0LWFRenFzSVFtMVFta1Q1bjN3ajVZMXFYaWg0N0tYY2p3bGF6RThiNXJycmZ5Yi1PTnY5Vm5SMHRUNFpnSGFwTWRDQ0tjTS0zbjI0ckRlTGtLNGN3QUYzWjNXeUhUZzZBRDZrX2JuQm1OODFiX0R4NFlXSG5OeG1ZekpFQVZTR2d4MmJNQWVmdTVMYTVBd3ZSLXBiZjFDNWVqRTdTMzRmTkhuT25fMzNIX20xR3JyZmZ5N2dtTTBmdkhONGpySE1pSmc5ZEZZbFdPZFJJWDl5Nzh0ejk1V2xXWl9IMVEtVUM4ME9va1g2N3RoTGI4N2NGZE5JQzFwSHNKLXIzUGR0a3d3QzNLSUc3VzZmVDcwanZfZ1Z2OURkVkdfYmw5ZjNBLXlvbXFzdURWckJaLUdmODlnSWpydVZyRUhpWUNOUUVJaVduakF1SkVUUWpQNGVLM2JXU2dUSktQX0pxRkRvNUVpTGxnUTJBQ05oN2dGWm1SbWllTXFVUHBPZzEzNTlnU2E0aW5RT3N6RzhpOHk2WTg3REZvLTB4M2xyblFRZHBzMm9SSm9KS1JodHkzQ1EzdUVFSEFKRTFfUnM2VmtaTVRySE9CNXRROHRNXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipBc3Nlc3NpbmcgUXQgdmVyc2lvbiBjb21wYXRpYmlsaXR5IGFuZCBidWlsZCBjb25maWd1cmF0aW9uKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIHdvcmtzcGFjZSBidWlsZCBmb3IgYm90aCB0YXJnZXRzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzBRNEhvbFJwTk9NY2dKa29uS29IRGJEd3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkxNGE3Yzg4MTkxODFiZWQzMTc5NGZmNWY4MiIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJhcHQtY2FjaGUgc2VhcmNoICdebGliZ3RrNC1kZXZlbCR8XnF0NS1xdWlja2NvbnRyb2xzMiR8XnF0NS1kZWNsYXJhdGl2ZSR8XnF0NS1iYXNlLWNvbW1vbiQnIn19LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzJoSG4xSzhlTDQ1YVc5aFhmb0xTTzNRTHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkxNGE3ZGM4MTkxYjdlMDU5NDZmZTEzNjUxNCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJhcHQtY2FjaGUgc2hvdyBxdDUtYmFzZS1kZXZlbCAyPi9kZXYvbnVsbCB8IGdyZXAgLUUgJ14oRGVwZW5kc3xOYW1lfFZlcnNpb24pOicgfCBoZWFkIC0yMDsgYXB0LWNhY2hlIHNob3cgcXQ1LWRlY2xhcmF0aXZlLWRldmVsIDI+L2Rldi9udWxsIHwgZ3JlcCAtRSAnXihEZXBlbmRzfE5hbWUpOicgfCBoZWFkIC0xMCJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6Mjg2MSwib3V0cHV0IjozMzksImNhY2hlUmVhZCI6NTQ3ODQsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTk4LCJ0b3RhbFRva2VucyI6NTc5ODQsImNvc3QiOnsiaW5wdXQiOjAuMDE0MzA1MDAwMDAwMDAwMDAyLCJvdXRwdXQiOjAuMDEwMTcsImNhY2hlUmVhZCI6MC4wMjczOTIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA1MTg2N319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTk2MTgwNCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MGEyNDA4ODE5MWExMDQ0YWIxYWU4OTY2ZjAifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMThiNmU3MDciLCJwYXJlbnRJZCI6ImJkMzllNTIyIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMjo1OC4xNTlaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzBRNEhvbFJwTk9NY2dKa29uS29IRGJEd3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkxNGE3Yzg4MTkxODFiZWQzMTc5NGZmNWY4MiIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6ImxpYmd0azQtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBhbmQgdG9vbHMgZm9yIEdUSzQgYXBwbGljYXRpb25zXG5xdDUtYmFzZS1jb21tb24gLSBDb21tb24gcGFja2FnZSBmb3IgUXQ1XG5xdDUtcXVpY2tjb250cm9sczIgLSBRdDUgLSBtb2R1bGUgd2l0aCBzZXQgb2YgUXRRdWljayBDb250cm9scyAyXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5ODk5NzgxNTh9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3YTcwNWNjNSIsInBhcmVudElkIjoiMThiNmU3MDciLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMyOjU4LjE1OVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfMmhIbjFLOGVMNDVhVzloWGZvTFNPM1FMfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTE0YTdkYzgxOTFiN2UwNTk0NmZlMTM2NTE0IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiVmVyc2lvbjogNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ni4xMDAuMS4zQDE3NzE0MTg1MjFcbkRlcGVuZHM6IHBrZ2NvbmZpZyhnbCksIHBrZ2NvbmZpZyhlZ2wpLCBnY2MtYysrLCAvYmluL2Jhc2gsIC91c3IvYmluL2VudiwgL3Vzci9saWI2NC9wa2djb25maWcsIGNvcmV1dGlscywgZ2xpYmMta2VybmhlYWRlcnMtZ2VuZXJpYywgZ2xpYmMta2VybmhlYWRlcnMteDg2LCBncmVwLCBsaWJYMTEtZGV2ZWwsIGxpYmRvdWJsZS1jb252ZXJzaW9uLWRldmVsLCBsaWJnbHZuZC1kZXZlbCwgbGliaWN1LWRldmVsLCBsaWJzc2wtZGV2ZWwsIGxpYnN0ZGMrKy5zby42KEdMSUJDWFhfMy40LjMyKSg2NGJpdCksIGxpYnVkZXYtZGV2ZWwsIGxpYnhjYi1kZXZlbCwgbGlieGtiY29tbW9uLWRldmVsLCBsaWJ6c3RkLnNvLjEoKSg2NGJpdCkgKD49IHNldDpsaXNhVGl5MTcwT2NON1Z5dGU5KSwgcGVybChDb25maWcucG0pLCBwZXJsKEN3ZC5wbSksIHBlcmwoRW5nbGlzaC5wbSksIHBlcmwoRmlsZS9CYXNlbmFtZS5wbSksIHBlcmwoRmlsZS9GaW5kLnBtKSwgcGVybChGaWxlL1BhdGgucG0pLCBwZXJsKEZpbGUvU3BlYy5wbSksIHBlcmwoR2V0b3B0L0xvbmcucG0pLCBwZXJsKElPL0ZpbGUucG0pLCBwZXJsLWJhc2UsIHV0aWwtbGludXgsIHZ1bGthbi1oZWFkZXJzLCB4b3JnLXByb3RvLWRldmVsLCB4eGQsIHJwbS1tYWNyb3MtcXQ1ICg9IDUuMTUuMTgtYWx0MTpzaXN5cGh1cys0MDg1ODYuMTAwLjEuMyksIGxpYnF0NS1zcWwgKD0gNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ni4xMDAuMS4zKSwgbGlicXQ1LW5ldHdvcmsgKD0gNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ni4xMDAuMS4zKSwgbGlicXQ1LW9wZW5nbCAoPSA1LjE1LjE4LWFsdDE6c2lzeXBodXMrNDA4NTg2LjEwMC4xLjMpLCBsaWJxdDUteG1sICg9IDUuMTUuMTgtYWx0MTpzaXN5cGh1cys0MDg1ODYuMTAwLjEuMyksIGxpYnF0NS1jb25jdXJyZW50ICg9IDUuMTUuMTgtYWx0MTpzaXN5cGh1cys0MDg1ODYuMTAwLjEuMyksIGxpYnF0NS1wcmludHN1cHBvcnQgKD0gNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ni4xMDAuMS4zKSwgbGlicXQ1LXRlc3QgKD0gNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ni4xMDAuMS4zKSwgbGlicXQ1LWVnbGZzZGV2aWNlaW50ZWdyYXRpb24gKD0gNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ni4xMDAuMS4zKSwgbGlicXQ1LXhjYnFwYSAoPSA1LjE1LjE4LWFsdDE6c2lzeXBodXMrNDA4NTg2LjEwMC4xLjMpLCBsaWJxdDUtZWdsZnNrbXNzdXBwb3J0ICg9IDUuMTUuMTgtYWx0MTpzaXN5cGh1cys0MDg1ODYuMTAwLjEuMylcbkRlcGVuZHM6IHF0NS1iYXNlLWRldmVsLCAvdXNyL2xpYjY0L3BrZ2NvbmZpZywgbGliUXQ1Q29yZS5zby41KCkoNjRiaXQpICg+PSBzZXQ6cWdnOU05NGNDY1lDa0VDR2Q4aGlmMmdxQXRQbGZJeWJzcTB3b05EQWtWbTk5RWZaeW1adFp1VUlkY3BaRHVralRiWVpyazh4SjhwRWxzRVN5OTJScjU3N3Q4NXppRUE5YW1CRUc3cldyd0h2R3lldjd3UTFweURPd0hKdHAyUjVaaFc0VE1ObGx3UEs0bkpVSzlSM0pvZDMyZ0dadmdORjNDWm1ZRGd3d2tmMUtRbm1KTmpWWnZabDh4eVZSeXV3dzR1QjVtMXJadGRsQ2N1RTMzWkVwZDFvSGI5cER5bTg1dXhwWmxTWThveFhtM1RNVzJ5NnVOc1RaRldaYTRGakJ0RHdKdm1YTnpwcG1SNVNadWFsV1NGRGsySU8zalhSaWU4YW85NUNvU3hSa0hrUVpKcVF4N1NpRVQ2enNjeHJ3Y1JRTGZVRXVyRXFPUXV4OXpXQUxNYXVtMW43ZXFTSzA2U0JqRHlIR0daY2VBWmlRVzY5ME93WkVmejI4Z1pHVWVuZ0E1MTBxcFdiTXJpbFp5eWdNVmtBRnNsUTBEQU9pV0JSdmpuWWQyRWk2dzg2TjFoZ1NobmlvVXhhQWlHUHNSVnQ0NkduM1pmZFptaXBvOWdaN1RQdTBqQ3hUMTJaRUdiWkxRM2FLbVJtdFgyQXVxdE5abG5zdkZwaDR6VVFGNTF0NmprNHRORUxzT1ZaM3FKUE92YThYVTBRU1psbHBmNzZsY2hzcVg0TjRhTkNueWltbFNSUkRjdWFUVDZPUzg1SkVFM2ZCYTFLNlNHQ2pzRjRVelFHVTh5Y1ltcGRaY2U1Vlo0NlRTWmJZa3Zpd1g2cjBpU0RJOThPMU91eFpDZzlxSVVrWWtCSXpzaW5tOVVSOWJPZlNaazhaMTBtbDRkeW9LUkM3QTFqdzQ3b256SVhGU3VxMlV3djhDenJ2ektaRXJ5YU5OWjM3bVhmYU5mYm5udXBtOGY3SU1hUjVUaE9zd0YyNnVSUFRkUXN3UW5VaHlRUFpzZ0FxekRGYURtek0xaHFDV2tveGhyQW5BOWlPOG9CRXBTa3M1UHQ4bnB1TFoyTXpORnJyUDc2NXphcVdQdlBJc2s3MzI1ekFpZWxTUGRBS3NjYUJXZ1UxNkoyanViNWtpTDNCdVJ3Z0RjVFFkYWpNb3hDeFJrY3JnNFJzVnJNdDE0alhZc3BDcWZ2eXY0SEhzeHRzU2M5ZVFiMGVQMHdkRzNiOFRDN21WejhCaDR6dDE2MDYxQVo1a0t3WEpaTGFXb015aHdDbGZjWko4c1ozM0RuUGpSdFg5SDZTTm1XeE1wa2xqazkzQU9OemVINTYzTUJDamNXeExKb2lHVXd4Z3Bmc2daYXZVeDRxWnZEMGxnZ2ptQ2VpRUJTbUpROFpKOVoxd1RRWTFvWjk0Wm1TVlR5VzJVTndPRmNQa3RsYmtKZUp6QXl4OVlMdlFsSTJ1dXBwNGFhenpzY1BJc0l0YU1qSmlnQmZRM0YxSXNMN2lQbVB6eWIzUEE5czVVeUp4em5qa1FaaXVnczNxNUdrWE1waFdPVkIzZ3pmYWdSVzdRTU1EWkhJRzBuWUh5YmlhUHJMMDZUeHlveXVyajBkMzdyRzBPVGZEWHpVeDRKcFdudDh3MVNHWHQ1ZUIxUVQ2NUJBZm9sWVpkdWVQTnVHV0RzTnh4OWIwWnlpTU1SWUZIc1NSQ2FFWkgyWjVMVndrTGFkbHBVRXB5UXo3QXNFY0ZYTlZ5QmdYbHl5b3UybXNvWWpVZkR2R0taajlaMERCOGgxM2M3Rnh6WEpRc2ZmN0pTY2l5cnFaSERMMkg4WERUNGU1WGYyQThER0Z0TVBDcFU0RkNaenJnaTR2NGhsUTlxWHYwMlZlYlh2Nkw2VXZJblN5UnFoY1gyUXlGSnJwT1I3SlFrazVGWDI1eHBXeXdacVowYThBV21ncGlGV2NybDRBdGNrSE5YempEcG9oNTYwSlN4amJLakNhdjRFV3VYeDhmeUtacFZXZ1AyeGUyZWN5Z0lxMVp0dDFVM1VQeFpENHBac2RMWFVCMmRCeFpnNjUzZTlLN0dOQTBDZFVPMG1kRkk0S25xdDdTYlVNQW5Dc29hakFpQkljN1dEYTRyeW80NnRNRHhMaFU2cHpwRkRUR3FZbkJqRE53ZnFvZWlPZ1hFZ2xDVWRBMVc4VDJNbEk5dXQzR0JnU1BwS05NQUVpVnlyQlAySEozRjNSZHlQY3EyV0dCQVZ4QVpDRE9MTVRKRDZOWmowbW9CVzJ3ajdVblE0NGphSkkya2hPQmlYY1cya1V6WmFRZjFMbTNPNG80bmt0eVRVTUhHaVNVNTlUcDJMS1ZvR2ZlU3NKZThwZmZhcHJxamN4TnRGbzRmWHhaeGVCSEZuVzhKYmtWZ2dvcklTemljTmNtODJvQmtJc25CWUtYVnBlemRRZE5aaU1DUEcxWmEyU0lvaVF0c1BSa1p5QU9RNnRaamlkWjU0S2FDZlpKVGxqeWphS0oxVndwdVVaMHdZNFl6SVhoV0g3aDJBWkpIWmFEakgyNnljVHpQUmFQVTg3SUhSZUJnNHdEdGpBTE5INWZNbkcyRk1mOXlET3VpWjNiTVhSczlTYjZJY1prZWpxb0FmNFk0MWYyaUtnMU50empUODFHNjJqdjhaOTEpLCBsaWJRdDVHdWkuc28uNSgpKDY0Yml0KSAoPj0gc2V0OnJrWVRhd1dnVjJPQVBORTZGdFZQRlozdkZYUnB4MHZYakV6V2Qwb2RXRnFCUHlxY3NKdXFGdXNEQk53ZFVGeUlaTHhIa3puWTFxb1VYOXZtWkZnY2FRYnVsa09tclJPdlZqaXNaSURwT1pucEtWSDh5ZTFENjJPY1k2UFJwa3JxczcxMUZvRDVPbGhhMmNSNDk0ZlppVXlFa3hiVkRJR3dONGlPQTlQOVBnSUgwRzVMN09ZNmphN1FCbUhaOEs0eWpGTVRTMTNocFlFb2QxOWtxbXNyVzV3TFFoaXliblRlRkF2S1RQanNhbW9DWkE5YmV4dTFWMTdUcklwQ0hhOE9NQjZHNFJDbER0cVpjRWxzeXNhU3ZXYVM4ZVlRaUcyVVNwMng4MXJ0VWs1YU1PV2d0eHZCRHhxNlphQVhRaE9wZ29VVFp4d0xWNzVBWkxLRjdjZm9zajJTcENBSG8wKSwgbGliUXQ1TmV0d29yay5zby41KCkoNjRiaXQpICg+PSBzZXQ6b2lFV2M5cFZMRnJxdXdFWkpQUW5RTVRVcDJVWUpLYkVGZHlUUEtVWjhHa1p1NG9VWWp5Z3JmYmF1RXN3MVJ1a2xhc0hia2RQUDFjZ0RvZ3dhM0NpSDF3TWY2ekJacmp5ZnhaRnRXV0YwKSwgbGliUXQ1V2lkZ2V0cy5zby41KCkoNjRiaXQpICg+PSBzZXQ6cmpNckUwc2NQWTVYUVBNQnREZDlHTkFHUm9pUDFUVktDd3hNZkdmcThXZmgwcTVPYUhrdDVYTDlKZjgwVlpGVjhubUdLeHVKQndiMUhKWjFHM0tOMDlkQnNTcU9TTXlDYTNHb3Nxak9pVER6Z2RwNWFnZncydk10WjA3c0JHeGM4YXJtRHFJMWFJbHhTeERjalpIejFYa1pkYjRJZXNaQmd0UXdteGZXb0xGblRCMmZtODRuZmVJV0JjWVlnalc5WjREdm1wZmFkWkxOMkM3eGdxMG1rNm55QlhBMXFkaEhId0xBZFdvUWFEMGU0dDZEOFpqWmt4ekhMMm12TGpDZ1lvbWdFNGdqQ2d4enhabmN2YmRwWVE5U2dFd2xOeEJTdFU3Q2RlckZhaTFDaHU0TlB6SXMxMjA0M1RlZlZaS3FkU2dnWFJ2WEQ1ejJuMFJaNURTOEt6aENVVVJibG85VjZtSEZseHdkQkVOUkdtVlhrWndzWkVYTzk3cmR6NnAyVHVZYmxwNmV3ZEtKWm80cmcwTU1PbTd0eUphWHR2UWp5YWo1UG1ZaXI5bnl2S2VFaGMzSzhXcnFUTFk1WUZSZ3ZNTVlObVpHWmlaczVRQndMTXNydzltNzIpLCBsaWJzdGRjKysuc28uNihHTElCQ1hYXzMuNC4xMSkoNjRiaXQpLCBsaWJzdGRjKysuc28uNihHTElCQ1hYXzMuNC4yMSkoNjRiaXQpLCBsaWJzdGRjKysuc28uNihHTElCQ1hYXzMuNC45KSg2NGJpdCksIHBrZ2NvbmZpZyhRdDVDb3JlKSwgcGtnY29uZmlnKFF0NUd1aSksIHBrZ2NvbmZpZyhRdDVOZXR3b3JrKSwgcGtnY29uZmlnKFF0NVRlc3QpLCBwa2djb25maWcoUXQ1V2lkZ2V0cyksIGxpYnF0NS1xdWlja3BhcnRpY2xlcyAoPSA1LjE1LjE4LWFsdDE6c2lzeXBodXMrNDA4NTg3LjEwMC4xLjEpLCBsaWJxdDUtcXVpY2t0ZXN0ICg9IDUuMTUuMTgtYWx0MTpzaXN5cGh1cys0MDg1ODcuMTAwLjEuMSksIGxpYnF0NS1xdWlja3dpZGdldHMgKD0gNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ny4xMDAuMS4xKSwgbGlicXQ1LXF1aWNrc2hhcGVzICg9IDUuMTUuMTgtYWx0MTpzaXN5cGh1cys0MDg1ODcuMTAwLjEuMSksIGxpYnF0NS1xbWxtb2RlbHMgKD0gNS4xNS4xOC1hbHQxOnNpc3lwaHVzKzQwODU4Ny4xMDAuMS4xKSwgbGlicXQ1LXFtbHdvcmtlcnNjcmlwdCAoPSA1LjE1LjE4LWFsdDE6c2lzeXBodXMrNDA4NTg3LjEwMC4xLjEpLCBycG0tYnVpbGQtcW1sICg9IDUuMTUuMTgtYWx0MTpzaXN5cGh1cys0MDg1ODcuMTAwLjEuMSlcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTk3ODE1OX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImI3M2RkOGQ0IiwicGFyZW50SWQiOiI3YTcwNWNjNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzM6MDIuNjY1WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipFbnN1cmluZyByb290IG1hbmlmZXN0IGxhY2tzIGRlZmF1bHQgbWVtYmVyKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkxYzkyYTQ4MTkxYTlhN2ExNjI4MzY1OTYzOVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWtkWU1oMVRaUUFLM0ZtSVVaOVV1cHV6LXVkSFNHdHRIX2RxbzFYakdzdnA3XzF2UUR2NjNyMGVVVERtck83RndRMVJKUl9QOW53NFZvRW1mdWNJdVB2QmtXaWY0Si0xYUZGd0hpeUNxaDhDazBGWm5PM05UQnc2T3hibUk3bG5Wd0Y1M2dOU29HeXVDRUp0Y0NlNTFFTUFBTmNYRWZ5dGFUV3lDOUNFN3kxOHBRLUZRM2xrOExNWDQ3Xy1GcTdkaG42YTZwVXZOLXFndkxQdDFLcHZhNkxsUWdXZzI3dDJPc2FTNERJMXM3ZXg0V3pyeF80Ny1PWDU3OE9rcllxSTZFa3RRb21ObHZ6U0kybWZjYk8yS1gwbUtZemZzWkxIbGRldWFxemtmN0ZoLTdBdkhjZ196STBNZC1IOWhBS3M1TWkzR3JIYUlINTdETVo0ZFBwZDZKcTVEd19hQXJGMEctcy10Nk1vSTNxZXJ6Zm5JRDZPX3V5aUZfVllVUV9CUXl3bVdfdkNueHRNeWxYUEM4clpHanhQelpLMlNMS2VwUGJ5WkpVOEEzWUREc2hGXzBJSEh1VkQtZHpQMGZDUGpfcEJjeTc1QmVIUldkWDAwYk5ZRExveWQwem9RMHdmRUhQLWVzVTUxX2V5TUlnREMxSXZLVHhLYlBCWDMyN3dlUmdkV0R6M1Jvb2RHTk5ibS13ZDhNejhrdTNXcnJrT19tUlNaV1lPQjZ5U0c3enRJdUJsTjdpVlpCWUNER3FGUzRLQlZpU0t0bkJnNFNOM1RXek5IZmpsU19WMzRjaWVQbFh2VkRvUjZjYmQ3eDM5MjRlSkNJdXpMZFpVbm1sQjNKZF9hNE4zV1djcWpTR2plYjc3TmVqbGVPRkw4U1loUHJ0eFN5U1dxcnotUWhWS2hSVllsd2I3dGFISGl2Wk9aQmhFODdXN2habTdaejA3cWJUNkU4N1ZudzlZX25vblYzTlZnbXByLWd1aG5odDh3bWotWnNmbVdWNmR0b2tKeW90T1JrY25oeWMzbXlmSEhrNUN1ZFdnRlZVYVBSZmpmNE5wM2oyWWtsTTdQZmJpQlFmT0VMbERZZDVEOGttQ05XUG15dXFhQXFzV3JhQ0w0WW5zUWRzNGRPaWpUVU5jUndxelhoeHJTVG93aklmRHFYc0c4UDNHRlU1UFBXY2VJMnVuOG95LW1GVVB3SndKUDJ4Y053Ym5oZXZEenpDZkpUaUVYUGRSajZyQUtadmt5djVweGZ6ZHBBVXBPVlBiS2htZGhZRFFpZV9wdVdnMk9DQWNiVGV1Zz09XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipFbnN1cmluZyByb290IG1hbmlmZXN0IGxhY2tzIGRlZmF1bHQgbWVtYmVyKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzNLdHdUNzY3azVJN2lBUGJWSHVaV1Z1YnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkxZDIwN2M4MTkxYTU4ZWQ3ZGNkYzZiNGRiOCIsIm5hbWUiOiJlZGl0IiwiYXJndW1lbnRzIjp7InBhdGgiOiJDYXJnby50b21sIiwiZWRpdHMiOlt7Im9sZFRleHQiOiJtZW1iZXJzID0gW1wiY3JhdGVzL2ZsYXNoZXItZ3RrXCIsIFwiY3JhdGVzL2ZsYXNoZXItcXRcIl1cbmRlZmF1bHQtbWVtYmVycyA9IFtcImNyYXRlcy9mbGFzaGVyLWd0a1wiXVxucmVzb2x2ZXIgPSBcIjNcIiIsIm5ld1RleHQiOiJtZW1iZXJzID0gW1wiY3JhdGVzL2ZsYXNoZXItZ3RrXCIsIFwiY3JhdGVzL2ZsYXNoZXItcXRcIl1cbnJlc29sdmVyID0gXCIzXCIifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6NDEyNiwib3V0cHV0IjoxMTEsImNhY2hlUmVhZCI6NTY4MzIsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTEsInRvdGFsVG9rZW5zIjo2MTA2OSwiY29zdCI6eyJpbnB1dCI6MC4wMjA2MzAwMDAwMDAwMDAwMDMsIm91dHB1dCI6MC4wMDMzMywiY2FjaGVSZWFkIjowLjAyODQxNiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDUyMzc2MDAwMDAwMDAwMDA2fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg5OTc4MTYxLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkxYTg3N2M4MTkxYTUxNTczMzEyOWMzY2M0MCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxNzZhMGFhNCIsInBhcmVudElkIjoiYjczZGQ4ZDQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMzOjAyLjY2OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfM0t0d1Q3NjdrNUk3aUFQYlZIdVpXVnVifGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTFkMjA3YzgxOTFhNThlZDdkY2RjNmI0ZGI4IiwidG9vbE5hbWUiOiJlZGl0IiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHJlcGxhY2VkIDEgYmxvY2socykgaW4gQ2FyZ28udG9tbC4ifV0sImRldGFpbHMiOnsiZGlmZiI6IiAxIFt3b3Jrc3BhY2VdXG4gMiBtZW1iZXJzID0gW1wiY3JhdGVzL2ZsYXNoZXItZ3RrXCIsIFwiY3JhdGVzL2ZsYXNoZXItcXRcIl1cbi0zIGRlZmF1bHQtbWVtYmVycyA9IFtcImNyYXRlcy9mbGFzaGVyLWd0a1wiXVxuIDQgcmVzb2x2ZXIgPSBcIjNcIiIsInBhdGNoIjoiLS0tIENhcmdvLnRvbWxcbisrKyBDYXJnby50b21sXG5AQCAtMSw0ICsxLDMgQEBcbiBbd29ya3NwYWNlXVxuIG1lbWJlcnMgPSBbXCJjcmF0ZXMvZmxhc2hlci1ndGtcIiwgXCJjcmF0ZXMvZmxhc2hlci1xdFwiXVxuLWRlZmF1bHQtbWVtYmVycyA9IFtcImNyYXRlcy9mbGFzaGVyLWd0a1wiXVxuIHJlc29sdmVyID0gXCIzXCJcbiIsImZpcnN0Q2hhbmdlZExpbmUiOjN9LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTg5OTgyNjY4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZjk3MWNiYWEiLCJwYXJlbnRJZCI6IjE3NmEwYWE0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMzoxMy43NDlaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkFkZGluZyBpbml0aWFsIFJFQURNRSoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MjJkODljODE5MTk4MjRhMjk4YjFkODI5NWZcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1ramdzaE1MU1dubHgyVnM2dFlJN2J2ZW1sd3FQaFFIWExpX3JWdkNFXzdyRG1XTkFVTzZhVXFwYm5fZnZqd3Y5WEo5a0ZEQVJQY0dTbk9Oc1VGY0xXWmhtbnlWQXpMc3JpUUc2Tl94aVdMRU9HOGFzb01RbkgydG81YlE0YjM1alZxOFdVMjVtUzNGSWplVFJ3b1lvYkZTVEt2YkJoU0tnb1gtdWJjd3NjYkNwVktwSHFqSDFfMkVJOElRWDZPM0JGRjZabFNjdGdybXF6Vi1sTTJXWVhDalNaRVFXcklEbXFqY2dlM2hUSFJHM1lFUjNad2hUZUFxY0EtWWNuUXBDS0Y5SWtLNWlKalllSllzWWIwcGlNUmxTbkc3eVpzdEY4ZDN0NzM2c3ZGZ0N5WkxmTUhpMHJpM01va2V5ZGlMZ2ZlVE1JSm8tNjAwTzNXMjh1MHUxc1g2b0NUTURXN0dGNlNZVy03bENUTDV4Q0RNY1JEQ3h1U01NNGx1WGJJa1VfbWl1WmRSM1Zha1hNR3I4NHFJNk5BdmR5MlRrTVd5dkMwWlpxSTRxdUo3c0IwMS03MldrYmU2QjJMTEVIVFBSUjZOSHhEWk02OVV4YkQ0N0t6Z1kzcGxSV1liOVZQeHJBSXZDS05HWEMyWVZ3TE9kTFRVTUlRRERsUHZuRTRuY2lwUzZrTlZQNmhROE82VkNGSnl3dDkyZlN4cE1HLXhxRW92VlA4S3ZpcWtpMWowa0dXRk53QUYwaHVwN3NwZXF3SmhWcVpUOWM2NlA5TG1POU1aQ3ZNN0JRRmtlZDFyRTBPVk4tVGNKUEpHUDBuOFQ1TFdNSllZZFJVZ0pWZlpQTFJjbzl2cUk0aTFwX1diZTNNRXZjSWZ6N3k0Y2hONEdrSm5IU2E5dWVGbFk5ZEdPYUw2alU5VVhpZWlXYS1maFkxMGVuNWVWMVpFQ253dHJxQktWMk8zN0ZVd0kyOTlyZU5BTkhWOURCOVN4WFh3djNKWUNXbUVKLUt1OGs2X1B1YkFUQ1g4SWttLThRZFpoaFhrNnZ5OGxsZk1wbUpwcmdFYjVsYXY3WVZnZGRPc2txQ0lmYzFfVXRKX0xfVlhia3VYWEtpc1ZEYnVJZjZCd0R1dGdUNU5TTFBpVVZzZmRUSl8tYUhTSUZWcVlFd1RuMnVhR3Z0MUxWRTI5VXo1X1BBOUdNVkVHU01rNndXRE5xbHRXYVBobTVVUmR4MTQ5YjJza0F3T0JkWC1TTT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkFkZGluZyBpbml0aWFsIFJFQURNRSoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9RM2h4MVNSRFRRMHZqUGlvb0I4cXVWeWJ8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MjM0ZGNjODE5MWIxNzc5NDI5N2I1ZTUxNjAiLCJuYW1lIjoid3JpdGUiLCJhcmd1bWVudHMiOnsicGF0aCI6IlJFQURNRS5tZCIsImNvbnRlbnQiOiIjIEFMVCBJbWFnZSBXcml0ZXIgR1VJIHByb3RvdHlwZXNcblxuVGhpcyB3b3Jrc3BhY2UgY29udGFpbnMgdHdvIGluZGVwZW5kZW50IGludGVyZmFjZXMgZm9yIGBhbHQtcm9vdGZzLWluc3RhbGxlcmA6XG5cbi0gYGNyYXRlcy9mbGFzaGVyLWd0a2Ag4oCUIEdUSyA0L2xpYmFkd2FpdGFcbi0gYGNyYXRlcy9mbGFzaGVyLXF0YCDigJQgUXQgNS9RdCBRdWljayBDb250cm9scyAyXG5cbkJvdGggYXJlIGludGVyZmFjZSBwcmV2aWV3cy4gVGhleSBpbnNwZWN0IHN1cHBvcnRlZCBib2FyZHMgYW5kIHJlbW92YWJsZSBkcml2ZXMsIGJ1dCBkbyBub3Qgd3JpdGUgdG8gYW55IGRldmljZS5cblxuIyMgU3lzdGVtIGRlcGVuZGVuY2llc1xuXG5PbiBBTFQgTGludXg6XG5cbmBgYHNoXG5zdWRvIGFwdC1nZXQgaW5zdGFsbCBnY2MtYysrIGxpYmd0azQtZGV2ZWwgbGliYWR3YWl0YS1kZXZlbCBcXFxuICBxdDUtYmFzZS1kZXZlbCBxdDUtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ1LXF1aWNrY29udHJvbHMyLWRldmVsIFxcXG4gIHF0NS1xdWlja2NvbnRyb2xzMlxuYGBgXG5cblRoZSBRdCBiaW5kaW5ncyBkaXNjb3ZlciBRdCB0aHJvdWdoIGBxbWFrZWAuIElmIHNldmVyYWwgUXQgdmVyc2lvbnMgYXJlIGluc3RhbGxlZCwgc2VsZWN0IFF0IDUgZXhwbGljaXRseTpcblxuYGBgc2hcbmV4cG9ydCBRTUFLRT0vdXNyL2xpYjY0L3F0NS9iaW4vcW1ha2VcbmBgYFxuXG4oVGhlIGV4YWN0IGBxbWFrZWAgcGF0aCBjYW4gYmUgZm91bmQgd2l0aCBgcnBtIC1xbCBxdDUtYmFzZS1kZXZlbCB8IGdyZXAgJy9xbWFrZSQnYC4pXG5cbiMjIEJ1aWxkXG5cbkJ1aWxkIGJvdGggYXBwbGljYXRpb25zOlxuXG5gYGBzaFxuY2FyZ28gYnVpbGRcbmBgYFxuXG5CdWlsZCBvciBydW4gb25lIGludGVyZmFjZTpcblxuYGBgc2hcbmNhcmdvIGJ1aWxkIC1wIGZsYXNoZXItZ3RrXG5jYXJnbyBidWlsZCAtcCBmbGFzaGVyLXF0XG5cbmNhcmdvIHJ1biAtcCBmbGFzaGVyLWd0a1xuY2FyZ28gcnVuIC1wIGZsYXNoZXItcXRcbmBgYFxuIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMTg3LCJvdXRwdXQiOjMzMSwiY2FjaGVSZWFkIjo1OTkwNCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo3LCJ0b3RhbFRva2VucyI6NjE0MjIsImNvc3QiOnsiaW5wdXQiOjAuMDA1OTM1LCJvdXRwdXQiOjAuMDA5OTMsImNhY2hlUmVhZCI6MC4wMjk5NTIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA0NTgxN319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk4OTk4MjY3MCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MjEwMjA0ODE5MTgzNWZhOGM5NGM4YWU4YjIifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiM2Q0YTg5YzMiLCJwYXJlbnRJZCI6ImY5NzFjYmFhIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMzoxMy43NTFaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1EzaHgxU1JEVFEwdmpQaW9vQjhxdVZ5YnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkyMzRkY2M4MTkxYjE3Nzk0Mjk3YjVlNTE2MCIsInRvb2xOYW1lIjoid3JpdGUiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgd3JvdGUgOTY1IGJ5dGVzIHRvIFJFQURNRS5tZCJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk4OTk5Mzc1MX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImE0Zjk2NzkwIiwicGFyZW50SWQiOiIzZDRhODljMyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzM6MjAuMzU3WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipEaWFnbm9zaW5nIFFNTCBzeW50YXggYW5kIHByb3BlcnR5IGlzc3VlcyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MmI3YzU0ODE5MWJkYTY2MWFhNDMyMmViZTRcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1rdkE3dlViSF9keGhfRHFVcGhqalhNQlhxY3psVUo1TzIwUnRldWctQjM5aTNDUGZKdzByd2liZ2pLRi16NTZJb1hQRWljdGRia0ROTmRwby10YzhTYW1GeVMtZTRLYl9Dem1fX1FpbDVtaGNBX1RMVEUyNGwweHlXd1dJQXoxV29vd3VhU2ZmZWNLaFpxTWNUaGFSU1ZIYzdYYzU2Sy03YkdHaHIwUVNGWkxKTlVfblowZGpMelhfY2pNVUNoQl9CalVGRVRNRHhDSXFIUGVyX0E4aWZrY2l5SkpyZXN6QmxrT2RZRWxQMTdoMUE2TXo4QVVEWlgyMFVHVDVJZUQ4T2g0NGJXc3BEZjYyVGp5VjNhaGF1RWtxYjZVRndIUEFqR281M3Bkd1A5MjlERFJZbDJlQkUzNkNoX3pSUEdNYzhpZTJRM0J2Qkx6YkFNZTFQSzNLcFQwZlJLZXRKWXNiUGpWa2llTXRmelc2Qkdmc1BOa01XTjRVQlZJTWR4RV90SVJFemNseEdaVV9qV1pNWmFWNWdJQ2U1OW9zemhFeWVnZHNLaWkxdlBuRWNhUHZBUVd0OXl3SGxaSmQtQV9vMkRvNDUxVkJFYVpYcVBJeTRZNVItcDdXemxCM1Q2WnloQWZyM2ROQWdvQXNKNXVzYXAwWGo4V2hsVWxhcGQwNXpLdW56U3N4U2U5Y2ZFakd2UTI4WFpnclBlemNSQmk5Sm5pZ3J0bXJfT0VDLVNYN0hmNWhRQTIwMWVZZlJobkwzbGNZOVJLNVNzb0FBLXVvd1JaVlE0QmJNU3p5dGl4Um5GRklRam1vYkRTdHBvMXpEdTdJa21JckFQOHZVNHdvQV9mX2V3T0pLNDhFaGJ0SEdCc3FsSXBYLTlOLXZOV3hHWDg3RS1valhsVmpITy03TFJjS0dKRUhFUzJVSnQ0bUpMMTFqdXRCVm5tM1JBdThaQV8zeHA2eWN5a3NwdnpVLWhBS0ZfZ0p2b0FlSzZiems4X3hubkd4aGk0X0ZscTc0T1cybDkydXBqdzhjczQ0bVFYMURiWGJtOW9rMDUwal8yTTN4WWlaVE1nRm53Y19yOGlveHRUa21fSjU0NzJpUjVZemExLXc4RExsaGdZN052bldVNDFZc1F1TDVWVE0zRXJmSEl5TGd6ZXFDbG8wQ1lSeWNBdkZaUzk1ZTlMYUltMnNNUzZlLWZ1bDBrN2NzMlEtQ3p6QjlUT0Z6UzByQ194eGM3RE1vTmdYUndBOFFUWFU2RlNlNTJPdkNHVW5KVllGbmQ0aEJiWUxlQ0h4eTJyd3JWOV9QQkNIZmhNNWxhUnBYdFU1eEhVeElYUURGMVo3cmp3N1hGQWtFWEd4bHlBbFhrLWVLS2FGRFN6OURPdVZFOFNWRUw2MU1ZNVVKUWdvcE16cVJoVUJXbXBHZG9rclB1RnFTWVljZnd0YWNGYV9ldUhTYnBNeDdqeXZmeE1UaTVBcHhDUzVKOTRCVzNfTmNsUUYzYlVrd21jd05xb2FsanJERlhwYWRFTXU3UktzNDl2NTE1aHVPZi00S0dUUTVrNWtxdzgxWC1TMTY4dDR5bC1oVnFGSUtLTkl4UWREYkZBOUIxTk9lbWtDU0hZbk82dDA5dFVNT2djdGhmQVJzc1FKV3BNYXdfZmhwZkFIRm5nanF1ei1waENpM2JYMFRmOXJrU2dfejVXZUYyaVNVQmU3S2RhRzctNXljTGxwSm1MMzQtNTl6V3FXVmxldW1EZTlSdlAxbFJ1SllOck9JS3JNOXVleHJUSWMtUi1YLUFOYmVPSHdLMEZXVGZ3Nm95SEVKZHZiemR2M0NRRkthRG5HZ0ZhWHQ4TXg1UThPT3Q1eHBySmNScVBJSWpHMkpkWU9HWjB2Tk9YbURFb0NwdHVxck1nM2RSdnhwYVd5NVJndGFhdFd6ZTRKekF5bXRORkVtdnJzbGxZa2VQRDQwVHZ6VDBJUHNTNTdZV1htX1pvRlpTaVpEQVNuY2dmQWhNa2VBdERWaVBCTl9QNFE4OGJQblNvUHlOc1lwVWxPLWJSZ2V4NWxWVU1zbFh0b3diaXFjTGJtd1RQaFlhQmdMTTJhc0JveWhSTEd3UzE5UFhINWN2OXprVFJKZVhlZUdBaG5DNmlLREZ0UlVUbFpodzA5MlhWUXlWQWMzakZmTUl2MW9tbW1DMEo0b1JRekE5OFVOOFREV0FQbm5XUEtXeTFDNDB3cFNQT0JJWTlreXFRRnBQbHhRNEdsZ0k2cUtjMmNMV04yWWpDNDV6QlA5blAyVXdsa3hiY3Zmd01xZjZ3dUxfXzdXMUdSVXNmZHJVdjdBMTlyampVbmJ2SDZ1MEotMlNvSmdSVV92SHFxTUFPSDR0bFdvd3ZfdGlpUnhKOGxGeHJMQ0RSWUFZYS1pOFExWjJjcmszaklJcnBrWUZLNUtIVlVfRFd5OUxTRVllbEJNNEtiR2M1YXg4XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipEaWFnbm9zaW5nIFFNTCBzeW50YXggYW5kIHByb3BlcnR5IGlzc3VlcyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF95UlBVMm5ORUcyRWY3dWVoSngwaVJzTjl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MmZlNTQwODE5MWI1OWI1YWNlMjhhNGQ5N2MiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiZ3JlcCAtbiAnc3BsaXQnIGNyYXRlcy9mbGFzaGVyLXF0L3FtbC9NYWluLnFtbDsgZ3JlcCAtbiAncGFsZXR0ZScgY3JhdGVzL2ZsYXNoZXItcXQvcW1sL01haW4ucW1sIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo1MTIsIm91dHB1dCI6MTk0LCJjYWNoZVJlYWQiOjYwOTI4LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjE0NCwidG90YWxUb2tlbnMiOjYxNjM0LCJjb3N0Ijp7ImlucHV0IjowLjAwMjU2LCJvdXRwdXQiOjAuMDA1ODIwMDAwMDAwMDAwMDAwNSwiY2FjaGVSZWFkIjowLjAzMDQ2Mzk5OTk5OTk5OTk5OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDM4ODQ0fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTg5OTkzNzUyLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkyYTFlODg4MTkxOTFhODM5MjQyNjU2YjRlNiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxOTAyMTQyNSIsInBhcmVudElkIjoiYTRmOTY3OTAiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMzOjIwLjM2M1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfeVJQVTJuTkVHMkVmN3VlaEp4MGlSc045fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTJmZTU0MDgxOTFiNTliNWFjZTI4YTRkOTdjIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiMjE6ICAgIHByb3BlcnR5IHZhciBkcml2ZU5hbWVzOiBhdmFpbGFibGVEcml2ZXNUZXh0Lmxlbmd0aCA/IGF2YWlsYWJsZURyaXZlc1RleHQuc3BsaXQoXCJcXG5cIikgOiBbXVxuMjk6ICAgICAgICB2YXIgcGFydHMgPSBwYXRoLnNwbGl0KFwiL1wiKVxuMjU5OiAgICAgICAgICAgIHZhciBsaW5lcyA9IHN1cHBvcnRlZEJvYXJkc1RleHQuc3BsaXQoXCJcXG5cIilcbjI2NjogICAgICAgICAgICAgICAgICAgIHZhciBuYW1lcyA9IGxpbmUuc3BsaXQoL1xcXFxzKy8pXG43ODogICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUubWlkXG45MDogICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIkNob29zZSBhIHJvb3QgZmlsZXN5c3RlbSBhcmNoaXZlIG9yIGEgcmVhZHktbWFkZSBkaXNrIGltYWdlLlwiKTsgY29sb3I6IHBhbGV0dGUubWlkIH1cbjEyNDogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcGFsZXR0ZS5taWRcbjEzNzogICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIkJvYXJkcyBhcmUgZ3JvdXBlZCBieSBwbGF0Zm9ybSwgU29DIGZhbWlseSwgYW5kIGFyY2hpdGVjdHVyZS5cIik7IGNvbG9yOiBwYWxldHRlLm1pZCB9XG4xNDc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcGFsZXR0ZS5taWRcbjE2MTogICAgICAgICAgICAgICAgICAgIExhYmVsIHsgdGV4dDogcXNUcihcIldyaXRlIHRvIHJlbW92YWJsZSBtZWRpYSBvciBjcmVhdGUgYW4gaW1hZ2UgZmlsZS5cIik7IGNvbG9yOiBwYWxldHRlLm1pZCB9XG4yMzM6ICAgICAgICAgICAgTGFiZWwgeyB0ZXh0OiBxc1RyKFwiTm90aGluZyB3aWxsIGJlIHdyaXR0ZW4gdW50aWwgeW91IGNvbmZpcm0uXCIpOyBjb2xvcjogcGFsZXR0ZS5taWQ7IExheW91dC5maWxsV2lkdGg6IHRydWUgfVxuMjk4OiAgICAgICAgICAgICAgICBjb2xvcjogcGFsZXR0ZS5taWRcbjMxMjogICAgICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlLmFsdGVybmF0ZUJhc2VcbjMxOTogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcGFsZXR0ZS5oaWdobGlnaHRcbjM0OTogICAgICAgICAgICBMYWJlbCB7IHRleHQ6IHFzVHIoXCJUaGlzIGlzIGFuIGludGVyZmFjZSBwcmV2aWV3LiBObyBkYXRhIHdpbGwgYmUgd3JpdHRlbi5cIik7IGNvbG9yOiBwYWxldHRlLm1pZCB9XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTAwMDAzNjN9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3MjVkNjdiNSIsInBhcmVudElkIjoiMTkwMjE0MjUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMzOjMwLjc3OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqRml4aW5nIFFNTCByZWdleCBzcGxpdHRpbmcgYW5kIGNsYXJpZnlpbmcgcGFsZXR0ZSBzY29wZSoqXG5cbioqUGxhbm5pbmcgZGV2aWNlIHBhdGggZHVwbGljYXRpb24gYW5kIGdyb3VwaW5nIGZpeGVzKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkzMmQ2MDA4MTkxYmU4Y2JjM2ZlMzk2MDYyOFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWs1VHFJa2wxQ3MwdHZkOVpXT0xfWDQzakpxSnF4YjI3UXJNM04zY1R2VkdWeHNtM0JSTHphVG96X2JxUS1ReUhsUXg0Wk92U05CZXVhOHluaGhUSUs5dFN4UjBCQjF6WnBTTEVEdHhSc3ljeHdqRHhVV0FsT1JNLTV0TWhCREZFR21zUU1HbDFSNGZfdEI5SE5BSzJDNEJaS1I1emY1T1Q2bkt6UUxpZHgteHN3a1RBY1M2RmJ1UHRiTlN0X3p4UDZFaDlmU3BuRHQzVzhpZXo1ZFhJWTNDMVJzU1FTdHJuY3RUV01GWlNiSlVhTndHSFZjeHRLamtyUFFEQUZ2TURTX0RWYUJGbXZFT3pZZFdwUGwzVGRTcml0QmJObGkyZUt3NkxraXhHM0h1eTlUbU5YNWJlMWZ0X0R3YnRVSUdEV1pGUVZlQXdpYmJyM093aFJJdU9kMG90YWpUS2RyRy1hT0FKcUc5QmttTi1TaGhKWTBKOXZqREdmTmFrcjUzdzFYay1LYWp4M3ZHbU9kbU5RQjhacDVpMGtNQldaWk5hY2ZkTEdhZVBNd0loallFTS03SzIxVEdHNkkwZVM4S0lyTG12NXVPNmRCeklhUEZIbThVUU5PbnNITmhheGZ2NmZaSi1iS2htN2hMMGdKQXNyTUd6Z240WFlEb01NMF9tNHJYN0x6bHNaR3hvWlU1dnlUSnZqRXZaVzM4WTZEXy01VHVoMUk2YmVNTng2S2g2RGo0UlZFRGJhWDdOMlpBckZKZGNrVlJDdXlCR0k0TVRmVG80X2Z6c180UVV4Qm5IX19jUGE2Um5qUm5YamRNdFdIaE5vLTRwNlc5SUR0YTR4UnNOR3d5ei1DX1NQcFdCNTYtLVJkUGZFLUpsQW8wdlc5elMzVlhNd0h3VG83aG1yZkxPYUFrODNDQTNncUtUV1N5MTFldFpGS3lQcHlzUkt2MV9TSVQ4TG1Zdng0SXZubUJ6MEdvanR2V3dEazZ1Q281MmxnR3FfbkhRQkF6TFE5cHpLZXpBY1U0LUpkdjdPOEQ5bmlsWV9OSVMtM3ZVMi0zM3F0MlRuZnZhSGRlYnFablNPckdYbmNKYTJhYjEyVVVLa19GdktEQV9pNDlhM1JKY0V3cHVaM0xMZmdlbC1nR1hmaWY5VjllLVZndG4xTl9xMTFBSWFHWjMybUQ0cF9Bb0tSVGZzdEZHSmN5ZEdaUWowdHBVWDFfUzVXWkhzX0Q5QjZTWG45bDJtbFpyZkJfT2t5TjRUTS1RLVdRMUVSMmduRHkyNTlCczhCY3FuTHlkRjNjSGJNaDh2SUowTUN6UHN6RlJlN1pQWVEwSGRYOHpCeXF3cFRZbHhaUFdSdXFyeGFxZTFIeHVRUWJqZ1VJZzJjN0N5NUF4N1hrVTNaZkxscjl4Vmt4U05SZ2VDZ29yd2Y1VkR1YjJvZWY2RFhPTk9hd2p5eHdyS3o3M3lHYlhCWUMzbVV2S2xicmRMM0FmclUyOVlYRWdjb3g4WEN4eWdjSTZDUnZGU2VpVmJ4STg1UGNQVTN4V1dVZE9LSi03RURiVVpOOVI3bzVqSDRqVnBpMk9CUkRva1FmUVhjVEFGTkx3MGd1NVc5dko1MU1OQ0hmQ0VYaGZDSUpRem9kTkRSUmtfMEYwZWZwa25TWndyOGYza1BEb1Bxb1JLT0JsczdBR3ZHa1BZb0lZUkNoaTlDeWktQ2FjS2ZYVkJwOWxDbVdwVHhxRDljMk1pZ0llQWI3X3FNNWtHVzFBQlBoX0t2VG00R0tFMHdqQlRDVF9lYjM5NmZ6NnQ3bU0xWUlwNXROVG9BN1Y5RHhpTU8zM2xLZEZITFgxcV9FbGIzNzlBX0FwaU41TFVnc0RGcHZGZmNWZVNtZmhGVGVoSEtvdmpId19FT194UlJmLWs0M0JfZXpMRFp4TmVPVVFmVFp4U2JDSTV4UGhoWVRPTGI2MGhiaWxudkVHa2xVZEFLQTdxOXhhN2JITzZfeDNEbk1UTTIzdHVjV2E5VEdxU3dtd2NtTU1ZbjdfT2FZbHNTeENfNnRXbDdja0lzdmZEOFVjaXZRZm9pMmNPQ0lTNjgydEJ6MnNnN3FsOE1BZXZfZnU2SFU3aHdyckNOVkFnRHhMcEg2cC1kcS0za0o2dURMMEI0U0U0bVpwdVhWeVRZekc1cGVpUUJPd3ZQYjF5aUpWbU1aMHpJMzZoWVVZem5KSkp2ck9XVXNBTzRXdW1zZTY3SzJjeWdueEpyVkpmQ016blF2S2FoVThlWU92aXk1VVN2S3RpdXdpNmNKaXJqOHBTODlnOXZqcnhiYm5KcUh1c0R1Zm90UjB1cm9nVDRhVGpSLVRxTTlQVk9LOXhqd3pObWxXOTRNWmpYOE9ja0NTWmxMSndhX1kyd2V3U2tLZTJFd19Rc29qUmhjbEo0aWYxYklhdURLaTRtSDNjSWtIQnRTYTdBNXNBeklOVHI1TVptRkdueHA3Vzh4RS15Rkdmd05yYVROYm5xYnVhU0UxWk9XUW1PaEFlOV9udUJkV2ljLUFSNVBTYXB5MXlodG8xM2l5STJOempoZFFUc0I1SmM3Qi0ySVRBUkdjcktubVctQUJrTGdjLTJBaG03eTZmRHB4TXNhcWNDV3ZZWGlfMngtWEJxbzF4WmtvV3BPdzdYOW9HNmlhb2ljUXJ5dExodHRIdDU2d25XeG1LamlvVXB3OXlnLS0wRzhTbEJOYzBIZzlEdm1BV2N0QlJLZ3o0eTQ5QTNESlZDWERQUTBEbWV5Mm9iWXQtLVVDZ0tVTlBIbnowT1E1NDlLYU5aeG9SXzNEVmNXQTZ5YUltTmdyVF9Ic1NUNTY2R3kybjFLeWZpc2laRmQ2QkhLZy16V2o5blQ2anRyTTJfOVhtcE43cmh1T3lTMEF2Y1pYd29HaEJ0YVE9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqRml4aW5nIFFNTCByZWdleCBzcGxpdHRpbmcgYW5kIGNsYXJpZnlpbmcgcGFsZXR0ZSBzY29wZSoqXCJ9LHtcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBkZXZpY2UgcGF0aCBkdXBsaWNhdGlvbiBhbmQgZ3JvdXBpbmcgZml4ZXMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfS25nekdhRW5mRHFnbTU2Z0pRNzZtTmJwfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTM5YTllODgxOTFiNjZiNDVmYjA1MDgxZGIxIiwibmFtZSI6ImVkaXQiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L3FtbC9NYWluLnFtbCIsImVkaXRzIjpbeyJvbGRUZXh0IjoiICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZXMgPSBsaW5lLnNwbGl0KC9cXFxccysvKSIsIm5ld1RleHQiOiIgICAgICAgICAgICAgICAgICAgIHZhciBuYW1lcyA9IGxpbmUuc3BsaXQoL1xccysvKSJ9LHsib2xkVGV4dCI6IiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUuYWx0ZXJuYXRlQmFzZSIsIm5ld1RleHQiOiIgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aW5kb3cucGFsZXR0ZS5hbHRlcm5hdGVCYXNlIn0seyJvbGRUZXh0IjoiICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUuaGlnaGxpZ2h0IiwibmV3VGV4dCI6IiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aW5kb3cucGFsZXR0ZS5oaWdobGlnaHQifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6OTYyLCJvdXRwdXQiOjMwOCwiY2FjaGVSZWFkIjo2MDkyOCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyMDMsInRvdGFsVG9rZW5zIjo2MjE5OCwiY29zdCI6eyJpbnB1dCI6MC4wMDQ4MSwib3V0cHV0IjowLjAwOTI0LCJjYWNoZVJlYWQiOjAuMDMwNDYzOTk5OTk5OTk5OTk4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNDQ1MTR9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTAwMDAzNjUsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTMwYmNhYzgxOTE5NzE0OGM3YTEyYjM5MTJiIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjI0NmUyZDNhIiwicGFyZW50SWQiOiI3MjVkNjdiNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzM6MzAuNzgyWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9Lbmd6R2FFbmZEcWdtNTZnSlE3Nm1OYnB8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5MzlhOWU4ODE5MWI2NmI0NWZiMDUwODFkYjEiLCJ0b29sTmFtZSI6ImVkaXQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgcmVwbGFjZWQgMyBibG9jayhzKSBpbiBjcmF0ZXMvZmxhc2hlci1xdC9xbWwvTWFpbi5xbWwuIn1dLCJkZXRhaWxzIjp7ImRpZmYiOiIgICAgIC4uLlxuIDI2MiAgICAgICAgICAgICAgICAgaWYgKCFsaW5lLmxlbmd0aCkgY29udGludWVcbiAyNjMgICAgICAgICAgICAgICAgIGlmIChsaW5lLmNoYXJBdChsaW5lLmxlbmd0aCAtIDEpID09PSBcIjpcIikge1xuIDI2NCAgICAgICAgICAgICAgICAgICAgIHBsYXRmb3JtID0gbGluZS5zdWJzdHJpbmcoMCwgbGluZS5sZW5ndGggLSAxKVxuIDI2NSAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbi0yNjYgICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZXMgPSBsaW5lLnNwbGl0KC9cXFxccysvKVxuKzI2NiAgICAgICAgICAgICAgICAgICAgIHZhciBuYW1lcyA9IGxpbmUuc3BsaXQoL1xccysvKVxuIDI2NyAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbmFtZXMubGVuZ3RoOyArK2opXG4gMjY4ICAgICAgICAgICAgICAgICAgICAgICAgIGFsbEJvYXJkcy5hcHBlbmQoeyBib2FyZE5hbWU6IG5hbWVzW2pdLCBwbGF0Zm9ybU5hbWU6IHBsYXRmb3JtIH0pXG4gMjY5ICAgICAgICAgICAgICAgICB9XG4gMjcwICAgICAgICAgICAgIH1cbiAgICAgLi4uXG4gMzA4ICAgICAgICAgICAgICAgICBzZWN0aW9uLmNyaXRlcmlhOiBWaWV3U2VjdGlvbi5GdWxsU3RyaW5nXG4gMzA5ICAgICAgICAgICAgICAgICBzZWN0aW9uLmRlbGVnYXRlOiBSZWN0YW5nbGUge1xuIDMxMCAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBib2FyZExpc3Qud2lkdGhcbiAzMTEgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQyXG4tMzEyICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUuYWx0ZXJuYXRlQmFzZVxuKzMxMiAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aW5kb3cucGFsZXR0ZS5hbHRlcm5hdGVCYXNlXG4gMzEzICAgICAgICAgICAgICAgICAgICAgTGFiZWwge1xuIDMxNCAgICAgICAgICAgICAgICAgICAgICAgICBhbmNob3JzLmxlZnQ6IHBhcmVudC5sZWZ0XG4gMzE1ICAgICAgICAgICAgICAgICAgICAgICAgIGFuY2hvcnMubGVmdE1hcmdpbjogMTJcbiAzMTYgICAgICAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy52ZXJ0aWNhbENlbnRlcjogcGFyZW50LnZlcnRpY2FsQ2VudGVyXG4gMzE3ICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHNlY3Rpb25cbiAzMTggICAgICAgICAgICAgICAgICAgICAgICAgZm9udC5ib2xkOiB0cnVlXG4tMzE5ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlLmhpZ2hsaWdodFxuKzMxOSAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2luZG93LnBhbGV0dGUuaGlnaGxpZ2h0XG4gMzIwICAgICAgICAgICAgICAgICAgICAgfVxuIDMyMSAgICAgICAgICAgICAgICAgfVxuIDMyMiAgICAgICAgICAgICAgICAgZGVsZWdhdGU6IEl0ZW1EZWxlZ2F0ZSB7XG4gMzIzICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGJvYXJkTGlzdC53aWR0aFxuICAgICAuLi4iLCJwYXRjaCI6Ii0tLSBjcmF0ZXMvZmxhc2hlci1xdC9xbWwvTWFpbi5xbWxcbisrKyBjcmF0ZXMvZmxhc2hlci1xdC9xbWwvTWFpbi5xbWxcbkBAIC0yNjIsOSArMjYyLDkgQEBcbiAgICAgICAgICAgICAgICAgaWYgKCFsaW5lLmxlbmd0aCkgY29udGludWVcbiAgICAgICAgICAgICAgICAgaWYgKGxpbmUuY2hhckF0KGxpbmUubGVuZ3RoIC0gMSkgPT09IFwiOlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybSA9IGxpbmUuc3Vic3RyaW5nKDAsIGxpbmUubGVuZ3RoIC0gMSlcbiAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbi0gICAgICAgICAgICAgICAgICAgIHZhciBuYW1lcyA9IGxpbmUuc3BsaXQoL1xcXFxzKy8pXG4rICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZXMgPSBsaW5lLnNwbGl0KC9cXHMrLylcbiAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbmFtZXMubGVuZ3RoOyArK2opXG4gICAgICAgICAgICAgICAgICAgICAgICAgYWxsQm9hcmRzLmFwcGVuZCh7IGJvYXJkTmFtZTogbmFtZXNbal0sIHBsYXRmb3JtTmFtZTogcGxhdGZvcm0gfSlcbiAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgIH1cbkBAIC0zMDgsMTYgKzMwOCwxNiBAQFxuICAgICAgICAgICAgICAgICBzZWN0aW9uLmNyaXRlcmlhOiBWaWV3U2VjdGlvbi5GdWxsU3RyaW5nXG4gICAgICAgICAgICAgICAgIHNlY3Rpb24uZGVsZWdhdGU6IFJlY3RhbmdsZSB7XG4gICAgICAgICAgICAgICAgICAgICB3aWR0aDogYm9hcmRMaXN0LndpZHRoXG4gICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQyXG4tICAgICAgICAgICAgICAgICAgICBjb2xvcjogcGFsZXR0ZS5hbHRlcm5hdGVCYXNlXG4rICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2luZG93LnBhbGV0dGUuYWx0ZXJuYXRlQmFzZVxuICAgICAgICAgICAgICAgICAgICAgTGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgIGFuY2hvcnMubGVmdDogcGFyZW50LmxlZnRcbiAgICAgICAgICAgICAgICAgICAgICAgICBhbmNob3JzLmxlZnRNYXJnaW46IDEyXG4gICAgICAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy52ZXJ0aWNhbENlbnRlcjogcGFyZW50LnZlcnRpY2FsQ2VudGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogc2VjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQuYm9sZDogdHJ1ZVxuLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlLmhpZ2hsaWdodFxuKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aW5kb3cucGFsZXR0ZS5oaWdobGlnaHRcbiAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICBkZWxlZ2F0ZTogSXRlbURlbGVnYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBib2FyZExpc3Qud2lkdGhcbiIsImZpcnN0Q2hhbmdlZExpbmUiOjI2Nn0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTAwMTA3ODJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3M2NhODRjNCIsInBhcmVudElkIjoiMjQ2ZTJkM2EiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMzOjM3LjI1MloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqVGVzdGluZyBhcHQtZ2V0IGRvd25sb2FkIGZlYXNpYmlsaXR5KioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0YzkzYzc3NzA4MTkxODgxYzQwMmJlM2Q5NjA4Y1wiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWxBblNGXzg4OXBIRU1Yc3VmemVKclRjMFlLa1hCVzJJRzM0Y19PdEhsMGZDTjJ6ZXBMdk5KRndSU2gxRTUzQkduRlo1TWJZMldROWVWUDE3bzMyYmRvWjRjUFdGZDRjZUdROFVBOU1MaGJUdlBfNkNuX0ZtWTNHbXRjcTdIdmMxU3l4eWFUM1B6MlcxWVlMTVZYbFhuZVR0ZFp2TUVuVXpLcEFEbDBNd3U1bWc0YUpTQ09acUNfMHpYUG5vY0ZSWG5sdGszOVAtS3RocExYeFEwQUdCM2dNNUo1dW9qcDY5Wmd0ekpTWjk4c0RIRGw1LXVLZkpSZ3NzUndmUTRGeV9HY0wweEotVkg1S05wd09hVDhKSXdLSllYVFZ4S1pla1FXcDJKUGVzamFFU1BGZHF5V0RIektYeVRUY1EwcFVEZDFjck40bFZlNGo1WFpmWHVWN3dZejR1YV9qSlVtUkw5b1FVaW1LbGtjb0tfbkZLeHROUzhfTnc3Nm56NkUwVnZlVEFYRkJsSVNUZkRFaktxTkdXc0hCb1Z3SFVuY0xvcHpXbzYwN2pqQ0s3dlM5ZWszRmxkNU5WeDlUZl9PcXFyN0pRcFBZcElQc1IwU2N5QVkzM3J5NUhzQ0llYTJtcHNOZzFlYnlvdEFrSDJkRC1jWkxicjZTUS14dDZXR1VNUjBnSDNTZjlDdUp3VXRscmJDemNEWlc4QThhR0pmSUh1X0QxSU5lbFQtS0xCTVBNR2ZVRmdIcmdmWDNoOENENDR1MXhEUncyTzRkNEhuWnJFYkVPU1RMaG9WMlh4UmkwOVBHZVFYZVY1MzcySElEMnVpOUMzRHJhNzZYMkNTRkRZdXV3UjFwREdOQkhwN1VoSHB2Qm5PM0hVODkwaXJidllzTXJrTk1DUWRNQlAwRC1QQi1qNUZldmZjdi1yanNsbENYM2cyVkxvT3dWdFRCMFViX3hUYUNhUUFVM0NOS3JvS0tSUkwyNzdWQ2dFS21qMk0tYXBSQzhhaHpzQjVxaDNrcmVWaGR1QmdJQVR2Sy10aUt3S2FVTXh4OGJiWmQ1ZjJpdmFLX1dySWViWTE1eVNHZTRvNXB6SEEzeW13cWhHaUktcHhYdmJ3MDZ1clJGdVEwS2lremJwYlMzUi0yeWRpTTd5Z2JZR2xOUzNmWmkzOFdLTWhOWDdaRkY5Nng0SFNQbm5tbzNRN01pMXpYSTFYeUFJR1M1RGFlV2Y0alZPMnVKaS1JS01la19fZ2ItNTEzOG9Wd0pCYUxnRTctN1N0VXdRVU1tMHFKNkNJOHFsUDNyMVI3SDF1X3pGQkFkM1VieVk2U1ppbmZxbEIzSzQyU244VTJBbGpFbV9rTHFkaV9LQUc2aEdYVjFTUWo5cHNmd2lpWURNYmcxNDRsaFVlZTlBWGtTN2RzQ0J2UXVYLUdlcmkzTkZIMlNFUlFQYl9kcDhmVmVBdXNQMTdJMFBMUmdfcnp2R2xOTW85N0FtdURWaUpsRWRvZU5NWDlWZmxyX0tabk9QRWVvTGdoQlgzRDd3dkRrWGpsWFhYWEV0VXNaSGJISnZ0R29DeDNQSHhxNWx5MDEzZEQ2WT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlRlc3RpbmcgYXB0LWdldCBkb3dubG9hZCBmZWFzaWJpbGl0eSoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9qZ3FSd2NHWDBuZFlFNVJ1NjBxUmV5OFZ8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5NDBmNzljODE5MTllYTRhYTQ2ODA1MmZjMTIiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiYXB0LWdldCBkb3dubG9hZCBxdDUtYmFzZS1kZXZlbCAyPiYxIHwgaGVhZCIsInRpbWVvdXQiOjMwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEyOTgsIm91dHB1dCI6ODEsImNhY2hlUmVhZCI6NjA5MjgsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NDUsInRvdGFsVG9rZW5zIjo2MjMwNywiY29zdCI6eyJpbnB1dCI6MC4wMDY0OSwib3V0cHV0IjowLjAwMjQzLCJjYWNoZVJlYWQiOjAuMDMwNDYzOTk5OTk5OTk5OTk4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wMzkzODR9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTAwMTA3ODMsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTNiNTIwNDgxOTE4MzFmZGE1ZDYwMjVmMTMwIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImNlYTZhNDcyIiwicGFyZW50SWQiOiI3M2NhODRjNCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzM6MzcuMjYzWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9qZ3FSd2NHWDBuZFlFNVJ1NjBxUmV5OFZ8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5NDBmNzljODE5MTllYTRhYTQ2ODA1MmZjMTIiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJFOiBJbnZhbGlkIG9wZXJhdGlvbiBkb3dubG9hZFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTkwMDE3MjYzfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMmRmNjJmYjEiLCJwYXJlbnRJZCI6ImNlYTZhNDcyIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMzo1Mi44MjdaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlZlcmlmeWluZyBRdCBkZXBlbmRlbmNpZXMgZm9yIHFtZXRhb2JqZWN0IGJ1aWxkKipcblxuKipJbnZlc3RpZ2F0aW5nIFJ1c3QgUVN0cmluZyBjb252ZXJzaW9uIGlzc3VlKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzk0NGM2ZGM4MTkxYWY4ODc5ZWVjZTY3OGM2MFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWxQZlh3NjJYZEc3WFdCWE5OU2xRZy1PZDhZYU1aMVJ2Wnk2UGhzcERuTmF4LWoweHJSdjBiNVZicTBmWTYtR2ZoRnBzT0VBTUF0ZGk0N2FRV09KUWhXRUdqRTNLWFZVQ2Q2cGgtWGtxWWZvUDZDeHpwM0J6ZU9tSEVZN192VDBPbXVkM2pMUEhOU241NXFEU1VKSnhlZ0RGNDhacHV5TGljc1Bra19vWXJIVUs0M0YzRTNfRjRaRURteVpZb2FMVmFyYnhwelNmSHNLOWRDcElSUHBHUkpMYXhDRGoteFhiT25RSGxYS1p0eUhQQll2SVBWV0Rvc3JFMm95ZnFlRW5ONVdDaFkxc1VTak1jQ000c01sOUx0cXl2a25aMDg5Q0xrS05aQ3RZVjNXZ0dZMHRUOUJ6LWh6TXlLTmNwa01GT243NVRHNjEza20ycVlqVEtSdEN2dVdkc0JIaGotVkF6bURndHdXVlhPYkZBcTNHLXBnV0prQkFReTJEZXh1WXJmRXlfZHRFWktUYndSaVgwVkIwenVZdTl5aElDWWluS1dPVkt2dVA0Z0k2YWV1VUJZTUFQQTJUdjJINXg3VDlha3lXLWZjellsWHh6YW1RVWdDX1dQVFNJZV84X21WTGVaWU5BNFhXbnFrQ3E2UFo5Z0k5Rkp0emZ6eFBwUVhFZmUtZHI3ZGFsZUktLU5vRm45cU9SaVoxQ0I0MEFnSkdyV2VxaEE3VXozZF84djZhelJSSUp3bXhndUl3M2hLa3NBUDNMSFNNTU5XeE1PMkREc0p6OHRXcTZMY0dWeXVBem8zc3lLX25aMnpFZHZTb2lKekVFZFQ1aWl2ZmR4NE1aazMxdDF3UGxmY2pxQ2NuX3R3QVlUc3ZoV0hFekExU2kzTUdFYm9hYXZyWVNtOHJqYUowLWR5dGx3Zm5OUG1BXzQwVWdOdUpaQVFXSDZpQ0lDQ1poQTFLRTMxT2VtWlpXZGFRckdLNTdvVUJoMHplazBDTUx1dWliSUdTTEp5OVdzRFh4bG04SkhPaUFJaGR2eDFmd0lhUjlad2FsSF9OMVpLcms1T1haRUlId21BM3ozd2d4NUdEWGhtSk1BNzRSLThCelFmR0Q1UTl1OVpEM1BreUE2OUtYZGVRblJHbkpraVdaM1paaS03RWFscjA5cnJuZmtwd1VzUW9HWVlESFN6ZG02T0g1V2ZDeE9uekY1VkIxNUsxbE44UU54T2lPVEthcnNmc1hUMS1RVEpJZzBrZWJWVVd0YXA3dE5OVjl2dS1nWUUxMXVWZ3dDbVpMb1R3OUVvM3RpQm13SnRGOWs0NzdQMG14c1hRV3BDOGZvV0w0dXZ3Mks4OUtBenN2LS1vYXFuWXk0enQ4TEVkNS1yTFJwZ1FTMHFsQzY3Z0FPTDN0M2lhSndhZWxyVkgwM3dWMkNjbGRNTDUzV1FPR1RYQmFaVnh5RGYxSld4UHNPMGFhSEd5QXF1MXc5cG1jLVRENVFvNkJaRjQ2OE1XcXdaWmJIeGRDRDV4ak5JRU9HSWp6Z3RMbjFoZ2ZiWXNaRnI5bjRDY1FRVzBtaWp1N3YtRVoxQ3g1cUZoczItTW80TXVacWpEYlFMdHBkc0xmeXZFczJSNVU4aVEzZURDak1mT191LTkwaDV0ekNZZWcyVVEzY0pid1hZT3cyeEduVWZnbV9ON1NNRDdiWnphbzJ3d012WWNOSXNEZUVZajFrb2R6RWdOVncxbHUyQ3hFZjBXbC1RdEM5aWpPWW42cVF3RktLYmVseVdtVkwyMVJhS0hfQWdhcXRweGh4QWY1QndTUGxsc2lkUWhKU0Y4QTJhMXZzbHZRY2Z6bURrR1NNeDNqQ3JCekdVTlF1R2pyX3ZzakR3NmdEUGF5UTFvcUVzY254OG1QRVVDS0NVNUI3dU9tbXpQS1d5cS03TlJfZ1FrRTgySmFNa3hSekZwcmdIaHlpOEtUVTlnNWhNcXE5N28zRjdJY2J0MFZLTUQ2ZHpONno3MUZTcEZic1FxVGJpM3pkMl9YNXBETGdFalBkNjdTN0JfdVlqSVhET0dVVWdPVFZ2TmRJaGdTSHJKMUpQV2hhdkhRSV9vRm9DUGRWblBSb3pQNGdxeXFEWktuMnRSbWR1YlZPR2F3c2M0TG1sbE8za3QyTjZLNTQyY3BDY0JWMGVyc1F5YmpNd29vZG5fTXFyQ1dwa1kxUHQycEdmdFpXNms5anRxMU8ycS1sVWRneUJBcXV5TlZyVkozR2NYOUFYdW5TdDJFOUZEeUpZbHZpc2NnZEtfRExlQVR0b2w2LXEwNmhWMFhmV2dkYkRseWVWcFBnR0h1NE9WUFNLbWIxQVZnV1hkcFdiM2otOUxuN0JxYUJGS1J0R0tsZEs4aDZVWlJfNklNMnB6c1pxRGhOOEVTZlRSTGQ1b2VWOGdud1NLZUlfQ1lXYkF0QmxiMmkyNFJYUWgwUmI2dlJRSXloTmktM1dQNldWU1RFR1M0OE51bW4tMEs2Ukwya0t2TVIyMlp6MWVCeHcxZ3RKdmRxZHJ6U3Y2bDZSek9FbXo3MExuQUx5WjRtTXpjYTU4Szk1blVNMFpvMW5PaTVtbkUwbmxOMm83Ykhjek5jOTFUdml2ZHpjY1lUMElsLTlTNXA1cUxtVHNYeFpHaGxPaDN3UXFNbTJhNzZVZi1FRkxZLXk0WHhlb2wyblh3LUZ4ckQ3MEFwNXQ3V2JaRk9KejVpdi1iNEEyNmFRQ05STGxPUUVjV2tNTW43WWszRWRaVWtuNW16bzltSV82bk50SW1uZTk4N1llV1hhcnc5SzdzNkpKbERRTHJObVpVQmZqYllqanpQdnZhSE95dU4zUWpKbXVfTnBWTHNUYlREUHhHeEplX1dHd0VYeUNKNklyWGJkRlQwODJpcEpKczBoZ3dMYXdfUnVrbVFtM3RjMTBOQXh2djBUa05ka1V2eUxnYnFvUzdLU25xYmtkdDN4LU5xQVJzT2dVQktPeFRYUU83RUxKdlBGdzBvZXBnRGtYRmx1UFp5Q2h3OTgxNjZ6U0ZnUHFFc2RjNmxGektqRmJtZWZFZW1pRjl4bTEwU2d6YjNsUXVBQ01YM0lLVEU3Y2VkQXNQd19PaTU4VjB2YmdfUEFJV3hUdjRNamlrZzhyMGoxc3NydklidU80dUNsbThjZ2c9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqVmVyaWZ5aW5nIFF0IGRlcGVuZGVuY2llcyBmb3IgcW1ldGFvYmplY3QgYnVpbGQqKlwifSx7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqSW52ZXN0aWdhdGluZyBSdXN0IFFTdHJpbmcgY29udmVyc2lvbiBpc3N1ZSoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9IVVRmUGxyemFkbHlxYVRON0tGTUxobG58ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5NGZjZWI0ODE5MTg4ODEwYjM1Nzg1ZTUzMzYiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicmcgJ2ltcGwgRnJvbTwuKlFTdHJpbmcnIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL3F0dHlwZXMtMC4yLjEyL3NyYy9xdGNvcmUvcXN0cmluZy5ycyAtbiB8IGhlYWQgLTIwOyBnaXQgZGlmZiAtLXN0YXQ7IGdpdCBzdGF0dXMgLS1zaG9ydCJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MzcyLCJvdXRwdXQiOjMxOSwiY2FjaGVSZWFkIjo2MTk1MiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyNTEsInRvdGFsVG9rZW5zIjo2MjY0MywiY29zdCI6eyJpbnB1dCI6MC4wMDE4Niwib3V0cHV0IjowLjAwOTU3LCJjYWNoZVJlYWQiOjAuMDMwOTc2LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNDI0MDZ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTAwMTcyNjUsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTQxZWE0MDgxOTE4YTU4MzYyOTRjYzUwYjc3In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjdlNWIxNWQ0IiwicGFyZW50SWQiOiIyZGY2MmZiMSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzM6NTIuODM5WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9IVVRmUGxyemFkbHlxYVRON0tGTUxobG58ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5NGZjZWI0ODE5MTg4ODEwYjM1Nzg1ZTUzMzYiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIxOTk6aW1wbCBGcm9tPFFVcmw+IGZvciBRU3RyaW5nIHtcbjIzMjppbXBsIEZyb208UVN0cmluZz4gZm9yIFBhdGhCdWYge1xuMjM4OmltcGwgRnJvbTxTdHJpbmc+IGZvciBRU3RyaW5nIHtcbiBDYXJnby5sb2NrICB8IDE4OCArKysrKysrKysrKysrKysrKysrLVxuIENhcmdvLnRvbWwgIHwgIDEzICstXG4gc3JjL21haW4ucnMgfCA1NTggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gMyBmaWxlcyBjaGFuZ2VkLCAxOTAgaW5zZXJ0aW9ucygrKSwgNTY5IGRlbGV0aW9ucygtKVxuIE0gQ2FyZ28ubG9ja1xuIE0gQ2FyZ28udG9tbFxuIEQgc3JjL21haW4ucnNcbj8/IFJFQURNRS5tZFxuPz8gY3JhdGVzL1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTkwMDMyODM5fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNmYyZDA2OTgiLCJwYXJlbnRJZCI6IjdlNWIxNWQ0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNDozMzo1OC4xMzJaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlZlcmlmeWluZyBRdCBRTUwgcGFyc2VyIHJlZ2V4KioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzk1M2EzNDQ4MTkxOGU0MDg0NTdjNTg0YzlkYlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTWxWX2wwVFpTZ1d4SmxwSGM3SmFQbmRQQlc4QzlacUpYd1F4UmFxMHpOSExHV3BuMHVvTHVnZUdyM0dydV9LczN1Wm9YdDVWeUtLRDVMbU5kQWJKR0hXcC1lZVNZaDZrd3JPSFFrQUdMLVZlNlc4a3hZSTRRM2RIaHBkc2tGVldzdFNQTEdpdW15UUVoVVpVM1RucHdEUkF6VVdWT2lmQS02Rk91VTNCY29NZ1JHMkdUZVJ3bmdEem5yZDRfNTVLUlkzbUluTWhLdHo0Q0lsSmk2V1lreUhUN1g5aDltRG5PV3BLWjB6SENsUUsweEU2OG02NWoyMk5EUFhqQm5BcEVZdTU5QmtWYmotMGpHcGg5TWc2RzBxV2o1Z0pMTWRMUDBrRUkxc1ZyZ18tUUpGTk9FMnJYY0RvLS0wTGVjN19SOTVVWmVubEt2cVlDUWpnLWo1NkRMakQ5dHEwTkczOTNCaVVTRUdKN2ExX0swcFVEN05xcFdJQkxrQmEwN2tUVXBBUmtXcklQTEVUbjdIY2VLSFF6bjluMDcxNlo4VnZQVEo1b0FZcjh5SjZTcVdVMTZNZHpCLVo2cHFodHhHNXVOUWpocG9Bc0NVRUVfOC1vR1Iya0RsTHVPem9USm9fd0F1dTJsdUFtVEdreTZMdWxBR1hIM0FFMDFRaVFxU0prWVpYTEtwd0NDVjBZeFJmX3hNX2lEdy1zZzlFelRHNXE4Zl8wNFFVeURfQWc4VzI2TWVmXzFveXdNMXJYTTZmaTNGckhUb3lfNTNTWm15R0dDMGMxQWN2ZnJJMmJmTmdrUk9YNFBKMGZwRTVRcEpHSUZ4NzlILU9vUWctUXNrb1NNSXA1LVVMVVM5NmJJak9NY0pLVi1NNldhSmlZbXlGd3BIS2Z1ZE5vT3VGM2txUWhoSzN4VDFCZkJMXzhHaWlXc2dBUTc2OGg1Nko1UjYybHNSZG93SkVsRHlTLVg2ajlTTldGQm1MeFg5T21PNGJ5VHdMSW1yLUVscnU4UnE5WkxhNms5LU1uY3RlTzVYUHVHY1RSWVFKcUw3eUN1SzlCcjBZbWwyay1OT2NSR19taFc0QUVFeFlqUHVqeTA3Q0x5ZWc0NHJZelNJVWZYazRiaGlESDlYWDhpWG5sV0RyUXpUTlZLN2xBTlNJRTFVSFUxTTJqemRiQ3NseXRlUDAtS3hBazFaN0ltRTNZZlZBTGZXNWZ1dkpkVnh5RmM5RXVHalR0OEVzMTVqa0VrWXJhaU9aOGtmekROUld0ZTF1dXlaYktRclU2cklzVUg2RXhoQjZzNk9lT25xX1c2c3dTMmo4X1dzTUFiYW5WNzFldXVkcXA2VGlMQW1DZFIwN3ZrNlwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqVmVyaWZ5aW5nIFF0IFFNTCBwYXJzZXIgcmVnZXgqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfc3VPckcyN0JUR01zQm1uRHdndUFURWVrfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTU1ZWFkODgxOTFhYWNhMTAwZDljZjc3ZWM1IiwibmFtZSI6InJlYWQiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L3FtbC9NYWluLnFtbCIsIm9mZnNldCI6MjU4LCJsaW1pdCI6MTN9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6Nzk3LCJvdXRwdXQiOjU3LCJjYWNoZVJlYWQiOjYxOTUyLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjIxLCJ0b3RhbFRva2VucyI6NjI4MDYsImNvc3QiOnsiaW5wdXQiOjAuMDAzOTg1MDAwMDAwMDAwMDAxLCJvdXRwdXQiOjAuMDAxNzEwMDAwMDAwMDAwMDAwMSwiY2FjaGVSZWFkIjowLjAzMDk3NiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDM2NjcxfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTkwMDMyODQxLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0Yzk1MTVjZGM4MTkxYWJlNmY0NjA3MTcyYTkxNiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIzMDk0MDYyMSIsInBhcmVudElkIjoiNmYyZDA2OTgiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE0OjMzOjU4LjEzM1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfc3VPckcyN0JUR01zQm1uRHdndUFURWVrfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTU1ZWFkODgxOTFhYWNhMTAwZDljZjc3ZWM1IiwidG9vbE5hbWUiOiJyZWFkIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgICAgICAgICAgdmFyIHBsYXRmb3JtID0gXCJPdGhlclwiXG4gICAgICAgICAgICB2YXIgbGluZXMgPSBzdXBwb3J0ZWRCb2FyZHNUZXh0LnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgdmFyIGxpbmUgPSBsaW5lc1tpXS50cmltKClcbiAgICAgICAgICAgICAgICBpZiAoIWxpbmUubGVuZ3RoKSBjb250aW51ZVxuICAgICAgICAgICAgICAgIGlmIChsaW5lLmNoYXJBdChsaW5lLmxlbmd0aCAtIDEpID09PSBcIjpcIikge1xuICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybSA9IGxpbmUuc3Vic3RyaW5nKDAsIGxpbmUubGVuZ3RoIC0gMSlcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZXMgPSBsaW5lLnNwbGl0KC9cXHMrLylcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBuYW1lcy5sZW5ndGg7ICsrailcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsbEJvYXJkcy5hcHBlbmQoeyBib2FyZE5hbWU6IG5hbWVzW2pdLCBwbGF0Zm9ybU5hbWU6IHBsYXRmb3JtIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5bMTI1IG1vcmUgbGluZXMgaW4gZmlsZS4gVXNlIG9mZnNldD0yNzEgdG8gY29udGludWUuXSJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5MDAzODEzM319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjhmYmY3YzUxIiwicGFyZW50SWQiOiIzMDk0MDYyMSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTQ6MzQ6MTUuOTAwWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipQbGFubmluZyBRdCBhbmQgR1RLIGludGVncmF0aW9uKipcblxuKipWZXJpZnlpbmcgUXQgZGVwZW5kZW5jeSBwYWNrYWdlcyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5NTgzNDk0ODE5MTk2ZGI4OTlkMjZmNDJlNTlcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk1sZkx3SlA5TTVZUGRfQ0dUb3U4Tk5MbHkxdXlxSXppdW96SVdiU2NPbHR6QnRfZjdGR3pubFBRaHI2SW9pd3Y5MmR3SkJtMEpoa2hDaDIxX3pOcjl0bmFSeHY5TG9MQWgyNWNoUEtuV3k4NmJlal9nMGx1WmJSYjdQV18tTnFqSng3Mm1Qdk5aTV9CM2FrR01YZFhmdlBGb28wZlI2QjFkYWdHS2dtaXprWTVTSVkyZUhBWlMwR0JadzVyQnlXYVFyTGJsUl9uMFVEODhIVm5zNGtsOGtuejEwMzVZZ1dfekp1amhOaGtjZ2pzYVE3S2VhdTFiSFcyQ2gwOFUzdVNHNnhudW9odVRIcVlyWW8wZHUtVnNSU0FjbWlUekEzNGREODlVa1VqZHZRVkVfUXplM05BMDZoUjhfQnRmU0p3VEFibEpfX3NCSTdGOEdFdndpQmdEc1BGbnZlRXJMeGZNRG8wXzl6LVBtem4tNzVNVk9UYUh6dU1NZ3ZlRnRMWEFoeHItWTR2bUZWZ3ZCa2JrcHh2d2hEckxTdWw4MVd4dXZxdzRjTV9hMUd0LUo2NFc5R2J1cWhkblJiYVRNZ3Etd1ZFb19tSzB2b0FwbzFYYTdtWlA2UlZuNDFneFJRMHF6cGN0Z2tPQ28tczdyY1JicUVNSTlOTzRDYUZjZ1FIdW5XYTJjWmhsTGdrQUpJZ2NyLXhMN3JJSU9aQjJfaU5paUUtck1VV28zbHAxY0VJU0RTU2prUU9VQlVUeVBrd0JLWDNCMk1ZWWlBVFB2UXRFYXFtZmxaS05xZTF0cGhsdUZGWkxVS0hMcnNkRWtDS1poTG1XU3lBbmV5RXhoTGpuV1czRF81cC02Uy1leHY1NTZacXZQRmliZEhGUHlfdXZGeWdsTzhsVWR5VUFnMnBhbURndHI4YWFfUkJ3cW1aUFRpcEVUS1FQaWM3UkZFWnp4RWNTb0NxTWRNaVJUUHEya1R1NDRuaXBwQ0tHUm5xZVZwLWxUeDY5clRMZGFBaEVZZ2F1MV9paGpIRy1xR05HcXhCYW93bFozSnVhZHdXS1ZEMVIwMFB0T0twZktPbUtuRUJPLVlITGdFcW45TGRBTTI3RWhJWnRPSmszcWR6YkJlVkQyam9SYVZCYTg5ZHVSbFV4QmhrQlE2TlFtSWVIWm9yeVhWeDlxbDVtOER6Z1AwaE1Fd2d0bkFpQ3g2dzFfVU1ETW0wTE1aT1k1dWZTSHB0Y0JiZmpuVDc1SVY1MW1zNGhqOVE2U2NmWjdZUW9VRm9jdi1pUTZXRHp6NlN6dHVQYU53TDZPTXQ3ZmxXXzF0ZW41b296R2R1endoQ1dmSGhDemt4cjI5ZHhVdVF3d05oOV9rNUJlNjRsUUp0TlZiRENXaDU2ZU1UbFBRYXZTUFRFVWs3X1paTjRfTE5iOTNSVFhzY192U0pTS0VXaV9FWkh4RzhMcmRwMnBPZGgtb1FRclFmZ0VmOWVIVU5mTUxJdldpVEd1aDYya21ybnlwZDRLWXlEVWRJbG9fcElRa2FjUWN1TFlaeG9Bb0pmQ3FBV3dLZGJqZzc5Zk8yR0U0LXcxOHA1V01oNG5WcjJINnRUOUVJdnd1aW85STFHTWZEbDk0ckhIVHJYa2JGYTQtQWxrYTE3d0dHTk5aZWk0Yjc4M01tV1JHbkZ2NzctRVRfVERoZ1NBaGFvejNRYmVLUThZbmNlQVVvQS1MYnlHV01TanhaT2dRWVFBTkdvcHNwMVVXNzdwQ3pNZGctVjdtaUEydFk2ZklxcXF1bTNzSHliLTZ0Y3dHbkRlWC04bUcyelA1cThCWGhSQUpwMnU0a3diUUQ3SkoxQk9EdDFXdmZoTXFoNVRoQTVENkVXSmFZUXFkRXdRRnJmT0pRaGVWdzJNdThXY3ZjN1VGZUdPVWw4WDc0MG1SdDhmMUhLTVprX0tUOWVJNUNIZ3JyX1BpT0RheHNnb0F6VmJoeXI3M1dQaVo5dVRESE9nTGIzRlBoZ2xSWGxSSXN4Zi1iVlNaLS1uaHo4MlZ2SHpWVEJ0dWhqcVpMN21USzdBcWJFang4V2otZFlvVTF1cmdkby1HQ084dUdHLXVQNUkwd0dsa1VRM2kwaFQ2Rlk2NkdKLWJkeF9nM1RoSkplbGpZdlJGUlIxUV9mMEFEZXNpdVRhQktfZGo5U2FFWjBuc2owZU1fejRhaV9mV1M3VnJrRVpSWXMwaGZReXVYRm5qQkw2d2hDV1pSVnh3ZDBvUzV3UkJqNHlpV0NuODAyMHFXVTdkb3RHTjd3bk1zYVJycVJDS0pnQXhER2p4Wmk5SVc2ckgwTDZ1dUxDdURGMHpZcEVka3JCVDBkZjdlelZkb1VpWDV0cWJ4cW5hdlpOeXhQQXU0endsNlNYN21YRVNsMC0yR3hSN0E1Z1NoamxMa0VCV0g4T0VLLWdrcTQ4TUdob0JaYWN4S2tDZnJHVm44bV9acjVBaUJYOGNqdmxNU25TcFNiX2xSWkpGUEJOczJ5SVZZS3FON1hNRTlBUWp1ZGY0dHhPeUJRTHhfUGgzSzJlR1RTNVA0Y3ctOEU3ZGZsV0pBQUdGWnRwRXRkX3NwcWNxRTBMYzg1N2k4dkMwYWlpX3R3UmQteWROYVpoWUVOdVZOX0czanV1SzA4TmE5MmNFb1phWXdLUlcyYnIwb3E0STZQR3BSYXl4WmY1dzdVaGF0VXpWT0hQQ290bzBfTUZ3V0FUZlc4bDhDTlFWT056eHlEcThzYVh4NXo3b1lsVXl1OFJ0OUdRUmR2NnlOTEVNb29qd2Z2VXhzZ3RSbF9UdzZGT1RzeVZpWU56aDRhUUZlVW9rQ2Vhd1dMVEJKdy1jZXVaYjJKZE1uTUlLUmJUNUk0RFJ4Um1ZTTJsZGtsQnFuOUkxZDBXZFhXU05oblBVM2R5MjlFNld5Y3Y5TjIyZE1HTUF6U0dfYzN4U0ZPcDExbkVBN1B6RUZIQm9NRDJwa1BTYjVraEljU2JETlg3RzZmVVpNTUVZTFdrXzJnZThxaXlySzVFVGxsbVlQVDMwcDJzTS1jVEVrTnhFMnQ4NVJ2bENJM2hkbzVucXFoM2h6NjA4aU11Ujh1QWhST1A5czhJNFlGeVJVbWV0eTRvMGNJbkh4N0tUMkU4NmpqbGxSYWhMMExpVFZHQk9xcURNZnNvUkRMSWFVejl4WDlXSG9sVjV0SE9nOWxhRXEyUGZXVWttSXd2WUlhUXFFbklIeFcxWkxzQWNyRm1kT0hfTV9qeHBXeXZzZ1VqNFpyejlJY3k3SGo2eHRoc09Lb29ZR3dWT1puZHAxQkhRY21QSWlCM2t1MmYyc29Tb0xEMm9EY2NselAxSGVWNzZmVnFXb19aSTdBWWl6X1E9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBRdCBhbmQgR1RLIGludGVncmF0aW9uKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlZlcmlmeWluZyBRdCBkZXBlbmRlbmN5IHBhY2thZ2VzKipcIn1dfSJ9LHsidHlwZSI6InRleHQiLCJ0ZXh0IjoiQ3JlYXRlZCBhIENhcmdvIHdvcmtzcGFjZSB3aXRoIHR3byBpbmRlcGVuZGVudCBHVUkgYXBwbGljYXRpb25zOlxuXG4tIGBjcmF0ZXMvZmxhc2hlci1ndGtgIOKAlCBleGlzdGluZyBHVEs0L2xpYmFkd2FpdGEgaW50ZXJmYWNlXG4tIGBjcmF0ZXMvZmxhc2hlci1xdGAg4oCUIG5ldyBRdCA1L1F0IFF1aWNrIENvbnRyb2xzIGludGVyZmFjZVxuXG5UaGUgUXQgdmVyc2lvbiBpbmNsdWRlczpcblxuLSBTZWFyY2hhYmxlIGJvYXJkLXNlbGVjdGlvbiBkaWFsb2dcbi0gUGxhdGZvcm0vU29DL2FyY2hpdGVjdHVyZSBzZWN0aW9uIGhlYWRlcnNcbi0gU291cmNlIGFuZCBkZXN0aW5hdGlvbiBzZWxlY3Rpb25cbi0gUmVtb3ZhYmxlLWRyaXZlIGRldGVjdGlvblxuLSBQYXJ0aXRpb25pbmcgYW5kIGluc3RhbGxlciBvcHRpb25zXG4tIFJldmlldyBkaWFsb2dcbi0gTm8gYWN0dWFsIGZsYXNoaW5nIGltcGxlbWVudGF0aW9uXG5cbkJ1aWxkIGJvdGggd2l0aDpcblxuYGBgYmFzaFxuY2FyZ28gYnVpbGRcbmBgYFxuXG5SdW4gaW5kaXZpZHVhbGx5OlxuXG5gYGBiYXNoXG5jYXJnbyBydW4gLXAgZmxhc2hlci1ndGtcbmNhcmdvIHJ1biAtcCBmbGFzaGVyLXF0XG5gYGBcblxuU3lzdGVtIGRlcGVuZGVuY3kgYW5kIGJ1aWxkIGluc3RydWN0aW9ucyBhcmUgZG9jdW1lbnRlZCBpbiBgUkVBRE1FLm1kYC5cblxuSSBjb3VsZG7igJl0IHBlcmZvcm0gYSBjb21wbGV0ZSBsb2NhbCBRdCBidWlsZCBiZWNhdXNlIFF0IGRldmVsb3BtZW50IHBhY2thZ2VzIGFyZSBhYnNlbnQgYW5kIGBzdWRvYCByZXF1aXJlcyBhIHBhc3N3b3JkLiBJbnN0YWxsIHRoZW0gb24gQUxUIExpbnV4IHdpdGg6XG5cbmBgYGJhc2hcbnN1ZG8gYXB0LWdldCBpbnN0YWxsIGdjYy1jKysgbGliZ3RrNC1kZXZlbCBsaWJhZHdhaXRhLWRldmVsIFxcXG4gIHF0NS1iYXNlLWRldmVsIHF0NS1kZWNsYXJhdGl2ZS1kZXZlbCBxdDUtcXVpY2tjb250cm9sczItZGV2ZWwgXFxcbiAgcXQ1LXF1aWNrY29udHJvbHMyXG5gYGBcblxuVGhlIHJlbG9jYXRlZCBHVEsgY3JhdGUgcGFzc2VzIGBjYXJnbyBjaGVja2A7IHdvcmtzcGFjZSBtZXRhZGF0YSBpcyB2YWxpZC4iLCJ0ZXh0U2lnbmF0dXJlIjoie1widlwiOjEsXCJpZFwiOlwibXNnXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRjOTVmYTA4ODgxOTE4MTBiNGRhMzM3ODI2ZGYyXCIsXCJwaGFzZVwiOlwiZmluYWxfYW5zd2VyXCJ9In1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEwMTIsIm91dHB1dCI6NTE4LCJjYWNoZVJlYWQiOjYxOTUyLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjI2OSwidG90YWxUb2tlbnMiOjYzNDgyLCJjb3N0Ijp7ImlucHV0IjowLjAwNTA2LCJvdXRwdXQiOjAuMDE1NTQsImNhY2hlUmVhZCI6MC4wMzA5NzYsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA1MTU3Nn19LCJzdG9wUmVhc29uIjoic3RvcCIsInRpbWVzdGFtcCI6MTc4NDk5MDAzODEzNSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGM5NTY3YWJjODE5MTgwNThhNzExYTEzYmZmZjIifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNDFiNjUzYjQiLCJwYXJlbnRJZCI6IjhmYmY3YzUxIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1NToxNC4zMTFaIiwibWVzc2FnZSI6eyJyb2xlIjoidXNlciIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6InRoZSBxdCB2ZXJzaW9uIGxvb2tzIHZlcnkgZm9yZWlnbiBpbiBib3RoIHF0IGFuZCBub24tcXQgc3lzdGVtcy4gY291bGQgeW91IG1ha2UgaXQgbG9vayBtb3JlIG5hdGl2ZT8gaXMgaXQgYmVjYXVzZSBvZiBxdHF1aWNrPyJ9XSwidGltZXN0YW1wIjoxNzg0OTk0OTE0MzA4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNzM3NTlhYzciLCJwYXJlbnRJZCI6IjQxYjY1M2I0IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1NTozOC44NjFaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIFJ1c3QtQysrIFF0IFdpZGdldHMgaW50ZWdyYXRpb24qKlxuXG4qKkRlc2lnbmluZyBDKysgUXQgV2lkZ2V0cyBpbnRlcmZhY2UgZm9yIFJ1c3QgRkZJKipcblxuKipJbXBsZW1lbnRpbmcgY2VudHJhbCBzdGF0dXMgYW5kIGRldmljZSBvcHRpb25zKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGM2N2Y2NjQ4MTkxODViYjEzYmFkNTdmN2U1MVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTng1TDlRRjQyam5uakNvNFhLVW1QNkdfaTRsN0VuVEZRNVVkSFY4alhPU0dlbVhRb2M1Ny15djM5NkppajNmMGpQd25lNjl6VDZNaGRtSVJVSDN5Q1lkWWxGYVdhT1VFQTliZjRITEZrQnVsZnpyeVB4aWNOd3UzMFk2d3NMU2w0MzZnYXVMWWd0Vnp6ZlZ2QmZ5Nmxya0xpU3JSS1Z5M3FORFRuVTJDOUlZc2dUaGtPZnkxQ1E5Z1IyOHBQMHA2cDY1dEFnRDNXTVl5YUJLQklna2tTRVRuOFItRjVIOHZaUzlPWlZwVHBVa2RLNFE0R0VhODJXSHMtallnOV8yeFNQWkVBSm9GU0tzRGdDQkszQW5Pc1l4X0QwdTFnOHRIRTE4dHkxZGItWjdBNTU3SjRROGhwYzFab2tmWXFVQ09zLTJyQU1wQ3lRbFpfX3RtMVgzak5scHpiTC1VLXU5T0w4YVQ0OFdfb1YwZlVUNU9sMXpZME01dU5zcExYNi1ueVlQQnFwT2hiS0Y5LVVzQzNTXzZNRWYxc010VmcwaDlJRUJ4empDRlpqcUpBbzZpdlB2dENuMDFYMUVBcWZGOW1kX1I0cHk2VEloV2hDTEc4aHJ2Z2F6aFpOLUt0V0xmUHpHRjJVb0ZBY3MtSVMwN3R5akt5T0FYb3Z3S2lGRFVrdzYzZ3l0WEtkOWNYNFc2d3pJcXI1WmVFMnlyM0lSSU5NRjN3MWtLamNDRkE5ajdpVlNCdk9ZbVF0Q2pIOHFuek5zc2c5QThZSzd2dXY2UEpFLUhMbE4zVzl2b1RJYV9xMEJtR0duWDNCcm45U3ozR0VfamVhd0M0ZWJlZml6T2M3eGg3WllkVXhTNTNGS2Fqb1dOZHFCZlNUQjdiOFNuMEtGV01XZGNzWFNvYlducVotd1YxejhFQk5mQWxjM3J6MExJaGNRdTFoN3dXdWdaY1pDSzdRZnhfNkZyOUJ0RWpvYkhKcTQtdTlIQ0FTQmRrRDhVWm9RUE1YMmNQV1V5cXhrckx6cHpJZVRpMGE1OG5qRTFCVDBob3ItUjNZTmktY2d3RDcwZEMzcmhMMmppdWpDUjBaTEhXX3Q1c050MVVGX3dDMEF3eFVSWk1IQ3V6OHIxSUtsZks4dVYtUmpnMEVlczJKOWdZQTFlSXpfZEZFdWVCWmpxY1Q2Y1VwV3pFVmtfZGFpWl9nVHZ6RjdhNHlRNXVPckU1Zy1pOGUtcXdCRDg0cFZzd1JOWXNvenFuS3NFTHJBSEE0eTRRTkU5Nlk4M0daencydzhpUFAzNHJzVGJNQlptelZpVU9ZS0FabFljQlRpNEFkQVJ3UUtNbUxaZnUwLUNfOF9WR2lWdzhGVGtOZ0hXNWh1a2x3X244UVFUUndDT05BV3JxSVlUQnFCRlJGVWJpejFySGd1ZGItUERFV3JKS1ZsX2FpREVHMEpDbHBTaE1ZVFg1VDlTdjRjRXFrNGhWWEVDV2NQamdJRzJ4THRaODM2S2FVNFlnZWF6WlpmNjFYMVhLU19fM3hwUEVYTU0xX1gxamlxUHl2TGFPT1pILW1uUEpyZVpfY2s5N2N3aVVtTDlQV0J3SU1vZ1h4Q1laRVJwMmhMSXdzeDlrWkRMYy16akJKdWwtVk5XUWl2YWNzWVdxUktNMktyMHhqX3djZWV5MDA0dmlpN1lNdlh6WWJrUW9qZ1ZaU21UM1EzNWlaa0pjaEFVLUxUcHh4MW5YUlkwUnQ0a3ZJd3ZjVlQ1ZTREVTFtTUhRRnRiUjhlanp1LUhGeFdVQXI3eVJZbDN5WkNId0NjdEtIcTNkVTgtb3duZkhVX0JwSE0wNDRGOUhLbnZwaTB6aGgwc19EZzV6T21yUDRQLWl0ZnY1X0ZmRV9lZEFTUEt1MnkyRE9EVl80elU1UHZISmZjdzlJT1BnZjQ2cWd5WlFMdFQ5RWxfYWFUREpVeUMxRk9RZ2huTktNVkxFckdwQUtnOGNTMVl3eERJYnBfTVpJTVVMS1ZueW9aZjFLRjV0QkNEREZaMEptWTRhU1RVb0hXYUFNcWstRFBJRERPRG1qQWw5QnkxVVNiRFNoNkJuNXZadE1FeEZNZzQ3STJyMElaU1o3ODByWVozek9sNHFrTFA0VGp1VHljS3dBWDM4RmpUTTRfN1VHQ0dPN0VOUmVjb2FIOHdDYW5kdDhjbnZzQTJQOFNXWUpndkI5dTl6MVhxRENIakdocDRaRGhXX05YUWRvLVRnZUlrMnRZbFZ1NDVvN25DYmJjN0hRLWRIaEc1S3lmWFJkLWhrZkd6eWNFcDZHZW1vUmtuN05vZldBSC1FTC1NWGR4andYSnRtOU9oTU1nNlVGcDdaZTFETjRTQXFtQTlLeWxvUGFCdkNpdTRWV3ctaFM1WWNSbG5QdGY2d2hhRjdzd3hPVWotdXhjUmtlRmlTbDJlNFE0WTJfYkl6M1RVY0JDRDdWdktpN2xfQzlPUmJkdjdabjRXUVBRUFBFSVZDR3FHQjNPUy0yeDZvaXVoeVNWVmtQdGt5UFE0OTJSeWNMSlBVZVN1bEsxcjRLODZyRVdOXzByNHQ3bDhSejdkbHhNNjBvSm5LLVIyYThsY1ctbWNPNGVKbEU1VjljOU11NWdRcXREZkR2N0RtRnRibTNvbzFhUXZVd01qSUk1ZGl4c3RYYnNHcDNPUDY4Rjd4QkVRajRQVTh2SGxwakJzVW5SZXN0LUJCUXo3MWw1WTlOSDhCU2dpTnUyNHZ4QWZ2Tk05LVY2a2YxYTh0NTc0M194dU1uWlBoRTRjZ1ozdW1wYWN5ZVVtRm9neDRRTUdzaHdvWUItOUQtMUs0c0N5cXRMMlNQRFotbFR4V2wyV0VERTVzRm1yRDRHbE5LUzE0VnIwd3Y2bWJHNHRWcTMxQ083VjdCbXZ0RDF3bjVVWHhkdnlCa0l6MFRNR3U0WEZPUzJId1hhNEpkUFg3aUJWZF8xSHRjWmthNnVxMWZWR0ZpNHJzeHN1M1NIWmJDOGlwbkhfaGdjTnE3RDAyN2tUOC1sZTc3d2xLWFFGMl9TZVUyLTI0eWw3d0NHTHVmVV9hbzZ5NHZyS1ZkTndoMW5zcUZ4Yk1Sa3VOT3RCUWI2QUt3bnM0LThzVk1JWGtzaktwUUpQd0hKRG5SUWFFd2dPVVY3VWRtSER6SzdyNUVmZGlxcWpjY1cwSWkyLTF1Tk1kS3hQUWZvTU5hUHVVSENVRk1ST3hHUklBNHZNbTV4VG96dE1DQkJ5SFFZSE5rNllyX2J6VVltd0lCVnlfZHZWRV9wai15ZHptOGdLTVBJMmlOV3FmME9nMW5hRUFKbEJfRGJhVWVHRjhwVVRIOXM5YzVWVmtKVGh1dzlFNTI0Z0phaEJoWDUxeGgyU19mYWxCVW9pNG9aSHFRMEMwTWp4eDlKcWNQVXNOOWs0cTVpdXNQYWhPQ1FjSF9Tc3czWHdCNFFkbUY2a05ZSUVDRnl3OV8xTUJTdGp3RTdKZjZWVEsyNjFoTWpWWU8yWC1CaUVXUThidWRBTjhpeTdzMVlLYmtRalo2NEpoZXZKSTlkTHU2Ty1WTjVVZEE2UDdWQmR2WHR4UFpmWVR2Mm1YeE1XdWg2VEVfanpyWHNwUW5hbTdzUUk2UDllZ1dET1BORzMzNGQ5ZVZRYlBrWFBGaU9fLVRjaFlUWk00N3NhbEdWUjFDaHh6d1BuMW9uYkRuZkJjVlM4dllPajFveFF3MURmaUgzenZIcXRxbzM3NzlSN0Q1M09NQ2MxdlhRYXBOdHdyUUQydW4zM0ZHQjFfZXVCMXVoeGNkUFpINDVZVmVSNjl5ZXVGOVJoVjFZbldtLVgxN3RTQWFzVGs2UFktUEx0OFJTZmNmMk81bUNweER5YkU4SFdPVU1ObHRIQk9fS2tYT2U2QnNKa2hFMTZsQUJGUVBIVXltbDFxNGUwYk83YnlhclpZYXJmZUw3d3NUeTg2ZVFkNWVOano1X01xRUx6dTF3WU5mMW40T0F2Sk1MR2w4dng3MmE1c0tjT1BNZFNvdGF6TFpnSTc2UHRoUk5Ocml6am1QLTRXcTE3ajd2N1oybnctVUxQdjZWOWNNRU5zRGw3eGhZUG0tSko5ZGtYMGZDdHZueFNQb2pPc2xpLTRNWTAzaVk3VUlkVG1xV0lCMnB4T3BRV083MGFYOXRldGdfUUc1cnhvMV8zQ1lOWkdqQWFLOGJNYS1GWjFGY3l4SHNGNTZiVi00QU9jNl96VUpPVlhwMmRNWGpFaXVjRVNON2dkLXd1aUJmYkFidGdWWC1QcDQ1VjV3NHVvWUtuaDkwVTl4T09YcFpoeGdOVUJEeXNsMTMzQXI1SVhhR3JyV2s2d0hWUlFsMlJtblJaeW5tUzVyNXNtUV9MUkpnTjJTdHVGNFBrcEpNNXc5MEMtUExLdXdaQWxvUmozTkpIZE5TSG1kRURfdnJsSWNpYjVlaVdLTjlabWtVM1pjX1lQeE92c0JrS20wVXAwelM1NnJHQ3NpR3RmUm9SNEFrV1BpcVVnX1R2WEloQnZpcUMzUzRKNUROcHpONS1uUlcxV085TzV3MDRsSGJZODY0VlBTVWRTbFlMbWd6dFpGSmFiZHlBRXB5Z2xNM2NVcmN3eDBmSnIzRHktSDgycXU2eDBFNHdvMU9iTzd1X3pnOEtiV05iRTlhZnp5ZVZ4RG1fOFo5OHRzRzhTNF84X1gwcXVTMW1YakxmSTUtOGZjNUVoWEF3RmhtTGFxb2pERXNpZXRZUWY4Y0p0YTYweEwzeDBHeTJ1c3Y1bElHbzhtVXNSQVp3dTdQRmV1bm8wVzdma1pwUFJfakpuR3A4T2k4bHNTUVZhdFNkcUVsX1I3VE5NSUlaVldWdC1XY0FaMjE0dElYNjQzdlNnaEo1MTFQTVh6QTlhVHV0VG00R285S2VoQ2pQRmlfQlhpQW1RTG5yOHVhOHh5T3hTZllrSUluX2Q1STdPbVd2ekxWOTZvX2hLMEFxQTBQT0FrNm51WWIweWg1MnhfQXhqSnVKT2ozWEMyV0w0Y1Q2UWloVFc1QTRFbVlCelF4cXU2ZHNPOTRJdkctTWFDQl9PbUxIdjd3c1pQWmdkVVdFREphWWFlTzFqNjBLX2R5Qkw0amJqMEtVNmJjRnFpTWhMZWQ5VWhTZ0IyNXFlOFRoZ1FNTVhZOGF1em1FR1FhOWp6SUJsbXhWSUdTTnY1SHNwNWE2MVFoQ3dyWENiQ29lNHFrcVZQSzYzdjdNT1E9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBSdXN0LUMrKyBRdCBXaWRnZXRzIGludGVncmF0aW9uKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkRlc2lnbmluZyBDKysgUXQgV2lkZ2V0cyBpbnRlcmZhY2UgZm9yIFJ1c3QgRkZJKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkltcGxlbWVudGluZyBjZW50cmFsIHN0YXR1cyBhbmQgZGV2aWNlIG9wdGlvbnMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfWUdkb2s1cEJjTUFzSDVNTnl3NTE0V3o1fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkYzc5N2Y4NDgxOTE5ZGYzODhiNjI0NTE2OWY5IiwibmFtZSI6IndyaXRlIiwiYXJndW1lbnRzIjp7InBhdGgiOiJjcmF0ZXMvZmxhc2hlci1xdC9DYXJnby50b21sIiwiY29udGVudCI6IltwYWNrYWdlXVxubmFtZSA9IFwiZmxhc2hlci1xdFwiXG52ZXJzaW9uID0gXCIwLjEuMFwiXG5lZGl0aW9uID0gXCIyMDI0XCJcbmRlc2NyaXB0aW9uID0gXCJBIG5hdGl2ZSBRdCBXaWRnZXRzIGludGVyZmFjZSBmb3IgcHJlcGFyaW5nIEFMVCBMaW51eCBTQkMgaW1hZ2VzXCJcbmxpY2Vuc2UgPSBcIkdQTC0yLjAtb3ItbGF0ZXJcIlxuYnVpbGQgPSBcImJ1aWxkLnJzXCJcblxuW2J1aWxkLWRlcGVuZGVuY2llc11cbmNjID0gXCIxLjRcIlxucGtnLWNvbmZpZyA9IFwiMC4zXCJcbiJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6NjM1MTgsIm91dHB1dCI6NjI1LCJjYWNoZVJlYWQiOjAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NTA0LCJ0b3RhbFRva2VucyI6NjQxNDMsImNvc3QiOnsiaW5wdXQiOjAuMzE3NTkwMDAwMDAwMDAwMDQsIm91dHB1dCI6MC4wMTg3NSwiY2FjaGVSZWFkIjowLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4zMzYzNDAwMDAwMDAwMDAwM319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NDkxNDMzNCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRjNjU1MmYwODE5MTg5NzkxMTQ0NzdiN2Y1YmYifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNjkyOTkyOGUiLCJwYXJlbnRJZCI6IjczNzU5YWM3IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1NTozOC44NjdaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1lHZG9rNXBCY01Bc0g1TU55dzUxNFd6NXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGM3OTdmODQ4MTkxOWRmMzg4YjYyNDUxNjlmOSIsInRvb2xOYW1lIjoid3JpdGUiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgd3JvdGUgMjQ2IGJ5dGVzIHRvIGNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWwifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTQ5Mzg4Njd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJjN2FiMmQ0OSIsInBhcmVudElkIjoiNjkyOTkyOGUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU1OjQ0LjM0OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfV29KQUlGTHdWSVBJYlJHbXlob3oxQWxafGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkYzdkMGJmYzgxOTE4ODgxZTYxNTI3ZmVhYmQxIiwibmFtZSI6IndyaXRlIiwiYXJndW1lbnRzIjp7InBhdGgiOiJjcmF0ZXMvZmxhc2hlci1xdC9idWlsZC5ycyIsImNvbnRlbnQiOiJmbiBtYWluKCkge1xuICAgIHByaW50bG4hKFwiY2FyZ286cmVydW4taWYtY2hhbmdlZD1zcmMvdWkuY3BwXCIpO1xuXG4gICAgbGV0IHF0ID0gcGtnX2NvbmZpZzo6Q29uZmlnOjpuZXcoKVxuICAgICAgICAuYXRsZWFzdF92ZXJzaW9uKFwiNS4xMlwiKVxuICAgICAgICAucHJvYmUoXCJRdDVXaWRnZXRzXCIpXG4gICAgICAgIC5leHBlY3QoXCJRdCA1IFdpZGdldHMgZGV2ZWxvcG1lbnQgZmlsZXMgd2VyZSBub3QgZm91bmQgKGluc3RhbGwgcXQ1LWJhc2UtZGV2ZWwpXCIpO1xuXG4gICAgbGV0IG11dCBidWlsZCA9IGNjOjpCdWlsZDo6bmV3KCk7XG4gICAgYnVpbGQuY3BwKHRydWUpLmZpbGUoXCJzcmMvdWkuY3BwXCIpLmZsYWdfaWZfc3VwcG9ydGVkKFwiLXN0ZD1jKysxN1wiKTtcbiAgICBmb3IgcGF0aCBpbiBxdC5pbmNsdWRlX3BhdGhzIHtcbiAgICAgICAgYnVpbGQuaW5jbHVkZShwYXRoKTtcbiAgICB9XG4gICAgYnVpbGQuY29tcGlsZShcImZsYXNoZXJfcXRfdWlcIik7XG59XG4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjExOTIsIm91dHB1dCI6MTgxLCJjYWNoZVJlYWQiOjYyOTc2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjAsInRvdGFsVG9rZW5zIjo2NDM0OSwiY29zdCI6eyJpbnB1dCI6MC4wMDU5NjAwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDU0MywiY2FjaGVSZWFkIjowLjAzMTQ4Nzk5OTk5OTk5OTk5NSwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDQyODc4fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk0OTM4ODcwLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGM3Yjc0ODg4MTkxOWY1ZGM0NmIxZTE4MmQwZSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4OGY5NTM3MyIsInBhcmVudElkIjoiYzdhYjJkNDkiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU1OjQ0LjM0OVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfV29KQUlGTHdWSVBJYlJHbXlob3oxQWxafGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkYzdkMGJmYzgxOTE4ODgxZTYxNTI3ZmVhYmQxIiwidG9vbE5hbWUiOiJ3cml0ZSIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSB3cm90ZSA0NzUgYnl0ZXMgdG8gY3JhdGVzL2ZsYXNoZXItcXQvYnVpbGQucnMifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTQ5NDQzNDl9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJmZjQ5NDMwOCIsInBhcmVudElkIjoiODhmOTUzNzMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU3OjA3LjE0MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqSW1wbGVtZW50aW5nIEMrKyBmdW5jdGlvbmFsaXR5KioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGM4M2ExYTA4MTkxOGM3ODU3Y2NlZjkzMTdjZlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTnlFbW5uVk9LMldUVU9qOWJ5V0xiV0diM045TUltdzNHVkt6M21odEZVUFhGal9Kd1BYYXhnR3dTbDFJNkxnYm9oYl9uUGhDeFdzQWxMa1NuU3A5Q1RqekJzajZpb05zUEU0WWJueHlhNTZIbmcxRHpxd3k0TFMzSDJwaktPVHV0WDhOcjhjbkdGUkZLQlBYZXhCVEM5bUJHcGhieWowaGtidk9CQ2FzQkNvbmU1dG5sMU9KUTNyb0R2ZmJRQUM5UWUxdTM3c0RfZFBZNFZyU2dXWjdKNVpWSTZxWHc2cGlXWV9HTmxoUDBlbGcwaW5ybGtLdTBxT0NBNUhaQXp3NHZlY1lPM0xqelJ3TzNfQ1VKUWZ3c2NSdUhtYUpNVGhlUHdqYXFfUEQ0eGVock1ENzlnaDJ4aUNKendfRVQ1bWQ4RlNrTGxONFFSVGRmQU9TcTJTN2Z4LTFrZXhoQUQxQk1IQzNwNjRnRFN3N0hUN0tyaE41UnZFRkZBYVlmVGtGMDhIZUJtN2NKTm9WdnF5VGthOUx6M1RwSXZOYUprbkZLZUtNNUdVVzNDeE5zankzbS1zd2MzVU8tLUtlenQ0blRvUTZrbV92QVJ4emV4dmVoY0FyWUNDR25OWE41OG5MNnhnTTA1REM5cEJrenQzV2wtZGJwRHQxYWpoT3FfMHpRTy1qSklySG50d0JoQkxJT1k3SGtfZGZmNXA5RHp3dlZwZTk2N0xYZTJFMGJTdmdObGtCeGVwaE1vMFlSSXVMNERETkdybmlIUFVkZkppcTVUdi1zS2lWZmQtTHFINWxWaVFOUUoyNUkyTE5vazFFQmlGUUk3cXFpUDBVYkNTdTF3SW9RemUwdjY3T3l4TEpQUXlpMHo5S0czem5RaGttdFMtTy1SNjI5WlFtRTFQcVdwUTh4VW9Wc1A2RTFTUVNrbXdCeHBWOXBnWVgydmFpUmh2OUFsQWN6R0JMeDlfM2czTTZMcXd0NVM5bnNPb3phLXZDWHh2ckYtN0F2c21VNFpBLS14S2xnd3hwOVA0RHQyNGc5ZnR4c0k4Z1h6bjlOd2RpMEdXSURxb3ZCY2Nhd1lvWmRyVW9kWWhTbGxMR25Lc3ZOY3RibnAtSXhyNW9ZbUtJdnVlSkVmSlBFQkNIS3BHTGluRU9ZRzVVWmhBd2IzUEVSU2N2S2xGT1FGR3RuRWJWS1N5Ti1JODZxZ1YtWUx2XzQtanF4d1ROem5XQkJFaTQ3ZjVRYzJKMk0xekp3dWEzb0JQdzRNWW4zdUlzTGxoXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipJbXBsZW1lbnRpbmcgQysrIGZ1bmN0aW9uYWxpdHkqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfWHJoWDRIT1VadFh6cm53Tk43Z3Q0QlNrfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkYzg0M2EwNDgxOTFhYTBlMzcyNTQ2MmMwMDU1IiwibmFtZSI6IndyaXRlIiwiYXJndW1lbnRzIjp7InBhdGgiOiJjcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwIiwiY29udGVudCI6IiNpbmNsdWRlIDxRQXBwbGljYXRpb24+XG4jaW5jbHVkZSA8UUJ1dHRvbkdyb3VwPlxuI2luY2x1ZGUgPFFDaGVja0JveD5cbiNpbmNsdWRlIDxRQ29tYm9Cb3g+XG4jaW5jbHVkZSA8UURpYWxvZz5cbiNpbmNsdWRlIDxRRGlhbG9nQnV0dG9uQm94PlxuI2luY2x1ZGUgPFFGaWxlRGlhbG9nPlxuI2luY2x1ZGUgPFFGb3JtTGF5b3V0PlxuI2luY2x1ZGUgPFFGcmFtZT5cbiNpbmNsdWRlIDxRR3JvdXBCb3g+XG4jaW5jbHVkZSA8UUhCb3hMYXlvdXQ+XG4jaW5jbHVkZSA8UUxhYmVsPlxuI2luY2x1ZGUgPFFMaW5lRWRpdD5cbiNpbmNsdWRlIDxRTWFpbldpbmRvdz5cbiNpbmNsdWRlIDxRTWVudUJhcj5cbiNpbmNsdWRlIDxRTWVzc2FnZUJveD5cbiNpbmNsdWRlIDxRUHVzaEJ1dHRvbj5cbiNpbmNsdWRlIDxRUmFkaW9CdXR0b24+XG4jaW5jbHVkZSA8UVNjcm9sbEFyZWE+XG4jaW5jbHVkZSA8UVN0YXR1c0Jhcj5cbiNpbmNsdWRlIDxRU3R5bGU+XG4jaW5jbHVkZSA8UVRyZWVXaWRnZXQ+XG4jaW5jbHVkZSA8UVZCb3hMYXlvdXQ+XG5cbm5hbWVzcGFjZSB7XG5cbnN0cnVjdCBCb2FyZCB7XG4gICAgUVN0cmluZyBuYW1lO1xuICAgIFFTdHJpbmcgcGxhdGZvcm07XG59O1xuXG5RVmVjdG9yPEJvYXJkPiBwYXJzZUJvYXJkcyhjb25zdCBRU3RyaW5nICZ0ZXh0KSB7XG4gICAgUVZlY3RvcjxCb2FyZD4gYm9hcmRzO1xuICAgIFFTdHJpbmcgcGxhdGZvcm0gPSBRU3RyaW5nTGl0ZXJhbChcIk90aGVyXCIpO1xuICAgIGZvciAoY29uc3QgUVN0cmluZyAmcmF3TGluZSA6IHRleHQuc3BsaXQoJ1xcbicpKSB7XG4gICAgICAgIGNvbnN0IFFTdHJpbmcgbGluZSA9IHJhd0xpbmUudHJpbW1lZCgpO1xuICAgICAgICBpZiAobGluZS5pc0VtcHR5KCkpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgaWYgKGxpbmUuZW5kc1dpdGgoJzonKSkge1xuICAgICAgICAgICAgcGxhdGZvcm0gPSBsaW5lLmxlZnQobGluZS5zaXplKCkgLSAxKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgUVN0cmluZyAmbmFtZSA6IGxpbmUuc3BsaXQoUVJlZ0V4cChRU3RyaW5nTGl0ZXJhbChcIlxcXFxzK1wiKSksIFF0OjpTa2lwRW1wdHlQYXJ0cykpXG4gICAgICAgICAgICBib2FyZHMucHVzaF9iYWNrKHtuYW1lLCBwbGF0Zm9ybX0pO1xuICAgIH1cbiAgICByZXR1cm4gYm9hcmRzO1xufVxuXG5RTGFiZWwgKmRlc2NyaXB0aW9uKGNvbnN0IFFTdHJpbmcgJnRleHQpIHtcbiAgICBhdXRvICpsYWJlbCA9IG5ldyBRTGFiZWwodGV4dCk7XG4gICAgbGFiZWwtPnNldFdvcmRXcmFwKHRydWUpO1xuICAgIGxhYmVsLT5zZXRGb3JlZ3JvdW5kUm9sZShRUGFsZXR0ZTo6TWlkKTtcbiAgICByZXR1cm4gbGFiZWw7XG59XG5cblFHcm91cEJveCAqZ3JvdXAoY29uc3QgUVN0cmluZyAmdGl0bGUsIFFMYXlvdXQgKmxheW91dCkge1xuICAgIGF1dG8gKmJveCA9IG5ldyBRR3JvdXBCb3godGl0bGUpO1xuICAgIGJveC0+c2V0TGF5b3V0KGxheW91dCk7XG4gICAgcmV0dXJuIGJveDtcbn1cblxuY2xhc3MgQm9hcmREaWFsb2cgZmluYWwgOiBwdWJsaWMgUURpYWxvZyB7XG5wdWJsaWM6XG4gICAgZXhwbGljaXQgQm9hcmREaWFsb2coY29uc3QgUVZlY3RvcjxCb2FyZD4gJmJvYXJkcywgUVdpZGdldCAqcGFyZW50ID0gbnVsbHB0cilcbiAgICAgICAgOiBRRGlhbG9nKHBhcmVudCksIGJvYXJkc18oYm9hcmRzKSB7XG4gICAgICAgIHNldFdpbmRvd1RpdGxlKHRyKFwiU2VsZWN0IFRhcmdldCBCb2FyZFwiKSk7XG4gICAgICAgIHJlc2l6ZSg2MjAsIDYyMCk7XG4gICAgICAgIHNldE1vZGFsKHRydWUpO1xuXG4gICAgICAgIGF1dG8gKmxheW91dCA9IG5ldyBRVkJveExheW91dCh0aGlzKTtcbiAgICAgICAgc2VhcmNoXyA9IG5ldyBRTGluZUVkaXQ7XG4gICAgICAgIHNlYXJjaF8tPnNldFBsYWNlaG9sZGVyVGV4dCh0cihcIlNlYXJjaCBib2FyZHMsIHBsYXRmb3Jtcywgb3IgYXJjaGl0ZWN0dXJlc+KAplwiKSk7XG4gICAgICAgIHNlYXJjaF8tPnNldENsZWFyQnV0dG9uRW5hYmxlZCh0cnVlKTtcbiAgICAgICAgdHJlZV8gPSBuZXcgUVRyZWVXaWRnZXQ7XG4gICAgICAgIHRyZWVfLT5zZXRIZWFkZXJIaWRkZW4odHJ1ZSk7XG4gICAgICAgIHRyZWVfLT5zZXRSb290SXNEZWNvcmF0ZWQodHJ1ZSk7XG4gICAgICAgIHRyZWVfLT5zZXRBbHRlcm5hdGluZ1Jvd0NvbG9ycyh0cnVlKTtcbiAgICAgICAgdHJlZV8tPnNldFVuaWZvcm1Sb3dIZWlnaHRzKHRydWUpO1xuICAgICAgICBsYXlvdXQtPmFkZFdpZGdldChzZWFyY2hfKTtcbiAgICAgICAgbGF5b3V0LT5hZGRXaWRnZXQodHJlZV8sIDEpO1xuXG4gICAgICAgIGF1dG8gKmJ1dHRvbnMgPSBuZXcgUURpYWxvZ0J1dHRvbkJveChRRGlhbG9nQnV0dG9uQm94OjpDYW5jZWwpO1xuICAgICAgICBsYXlvdXQtPmFkZFdpZGdldChidXR0b25zKTtcbiAgICAgICAgY29ubmVjdChidXR0b25zLCAmUURpYWxvZ0J1dHRvbkJveDo6cmVqZWN0ZWQsIHRoaXMsICZRRGlhbG9nOjpyZWplY3QpO1xuICAgICAgICBjb25uZWN0KHNlYXJjaF8sICZRTGluZUVkaXQ6OnRleHRDaGFuZ2VkLCB0aGlzLCBbdGhpc10oY29uc3QgUVN0cmluZyAmdGV4dCkgeyBwb3B1bGF0ZSh0ZXh0KTsgfSk7XG4gICAgICAgIGNvbm5lY3QodHJlZV8sICZRVHJlZVdpZGdldDo6aXRlbUFjdGl2YXRlZCwgdGhpcywgW3RoaXNdKFFUcmVlV2lkZ2V0SXRlbSAqaXRlbSkge1xuICAgICAgICAgICAgaWYgKGl0ZW0gJiYgaXRlbS0+cGFyZW50KCkpIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE5hbWVfID0gaXRlbS0+ZGF0YSgwLCBRdDo6VXNlclJvbGUpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRQbGF0Zm9ybV8gPSBpdGVtLT5wYXJlbnQoKS0+dGV4dCgwKTtcbiAgICAgICAgICAgICAgICBhY2NlcHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHBvcHVsYXRlKHt9KTtcbiAgICB9XG5cbiAgICBRU3RyaW5nIHNlbGVjdGVkTmFtZSgpIGNvbnN0IHsgcmV0dXJuIHNlbGVjdGVkTmFtZV87IH1cbiAgICBRU3RyaW5nIHNlbGVjdGVkUGxhdGZvcm0oKSBjb25zdCB7IHJldHVybiBzZWxlY3RlZFBsYXRmb3JtXzsgfVxuXG5wcml2YXRlOlxuICAgIHZvaWQgcG9wdWxhdGUoY29uc3QgUVN0cmluZyAmcXVlcnkpIHtcbiAgICAgICAgdHJlZV8tPmNsZWFyKCk7XG4gICAgICAgIFFNYXA8UVN0cmluZywgUVRyZWVXaWRnZXRJdGVtICo+IGhlYWRpbmdzO1xuICAgICAgICBjb25zdCBRU3RyaW5nIG5lZWRsZSA9IHF1ZXJ5LnRyaW1tZWQoKTtcbiAgICAgICAgZm9yIChjb25zdCBCb2FyZCAmYm9hcmQgOiBib2FyZHNfKSB7XG4gICAgICAgICAgICBpZiAoIW5lZWRsZS5pc0VtcHR5KCkgJiYgIWJvYXJkLm5hbWUuY29udGFpbnMobmVlZGxlLCBRdDo6Q2FzZUluc2Vuc2l0aXZlKVxuICAgICAgICAgICAgICAgICYmICFib2FyZC5wbGF0Zm9ybS5jb250YWlucyhuZWVkbGUsIFF0OjpDYXNlSW5zZW5zaXRpdmUpKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgYXV0byAqJmhlYWRpbmcgPSBoZWFkaW5nc1tib2FyZC5wbGF0Zm9ybV07XG4gICAgICAgICAgICBpZiAoIWhlYWRpbmcpIHtcbiAgICAgICAgICAgICAgICBoZWFkaW5nID0gbmV3IFFUcmVlV2lkZ2V0SXRlbSh0cmVlXywge2JvYXJkLnBsYXRmb3JtfSk7XG4gICAgICAgICAgICAgICAgUUZvbnQgZm9udCA9IGhlYWRpbmctPmZvbnQoMCk7XG4gICAgICAgICAgICAgICAgZm9udC5zZXRCb2xkKHRydWUpO1xuICAgICAgICAgICAgICAgIGhlYWRpbmctPnNldEZvbnQoMCwgZm9udCk7XG4gICAgICAgICAgICAgICAgaGVhZGluZy0+c2V0RmxhZ3MoaGVhZGluZy0+ZmxhZ3MoKSAmIH5RdDo6SXRlbUlzU2VsZWN0YWJsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhdXRvICppdGVtID0gbmV3IFFUcmVlV2lkZ2V0SXRlbShoZWFkaW5nLCB7Ym9hcmQubmFtZX0pO1xuICAgICAgICAgICAgaXRlbS0+c2V0RGF0YSgwLCBRdDo6VXNlclJvbGUsIGJvYXJkLm5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHRyZWVfLT5leHBhbmRBbGwoKTtcbiAgICAgICAgaWYgKCFxdWVyeS5pc0VtcHR5KCkgJiYgdHJlZV8tPnRvcExldmVsSXRlbUNvdW50KCkgPiAwKSB7XG4gICAgICAgICAgICBhdXRvICpoZWFkaW5nID0gdHJlZV8tPnRvcExldmVsSXRlbSgwKTtcbiAgICAgICAgICAgIGlmIChoZWFkaW5nLT5jaGlsZENvdW50KCkgPiAwKVxuICAgICAgICAgICAgICAgIHRyZWVfLT5zZXRDdXJyZW50SXRlbShoZWFkaW5nLT5jaGlsZCgwKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBRVmVjdG9yPEJvYXJkPiBib2FyZHNfO1xuICAgIFFMaW5lRWRpdCAqc2VhcmNoXyA9IG51bGxwdHI7XG4gICAgUVRyZWVXaWRnZXQgKnRyZWVfID0gbnVsbHB0cjtcbiAgICBRU3RyaW5nIHNlbGVjdGVkTmFtZV87XG4gICAgUVN0cmluZyBzZWxlY3RlZFBsYXRmb3JtXztcbn07XG5cbmNsYXNzIE1haW5XaW5kb3cgZmluYWwgOiBwdWJsaWMgUU1haW5XaW5kb3cge1xucHVibGljOlxuICAgIE1haW5XaW5kb3coY29uc3QgUVN0cmluZyAmYm9hcmRzVGV4dCwgY29uc3QgUVN0cmluZyAmZHJpdmVzVGV4dClcbiAgICAgICAgOiBib2FyZHNfKHBhcnNlQm9hcmRzKGJvYXJkc1RleHQpKSB7XG4gICAgICAgIHNldFdpbmRvd1RpdGxlKHRyKFwiQUxUIEltYWdlIFdyaXRlclwiKSk7XG4gICAgICAgIHJlc2l6ZSg3ODAsIDgyMCk7XG4gICAgICAgIHNldE1pbmltdW1TaXplKDYyMCwgNjAwKTtcblxuICAgICAgICBhdXRvICphYm91dCA9IG1lbnVCYXIoKS0+YWRkTWVudSh0cihcIiZIZWxwXCIpKS0+YWRkQWN0aW9uKHRyKFwiJkFib3V0XCIpKTtcbiAgICAgICAgY29ubmVjdChhYm91dCwgJlFBY3Rpb246OnRyaWdnZXJlZCwgdGhpcywgW3RoaXNdIHtcbiAgICAgICAgICAgIFFNZXNzYWdlQm94OjphYm91dCh0aGlzLCB0cihcIkFib3V0IEFMVCBJbWFnZSBXcml0ZXJcIiksXG4gICAgICAgICAgICAgICAgdHIoXCI8aDM+QUxUIEltYWdlIFdyaXRlcjwvaDM+PHA+VmVyc2lvbiAwLjEuMDwvcD5cIlxuICAgICAgICAgICAgICAgICAgIFwiPHA+UHJlcGFyZSBBTFQgTGludXggaW5zdGFsbGF0aW9uIG1lZGlhIGZvciBzdXBwb3J0ZWQgXCJcbiAgICAgICAgICAgICAgICAgICBcInNpbmdsZS1ib2FyZCBjb21wdXRlcnMuPC9wPlwiKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGF1dG8gKnNjcm9sbCA9IG5ldyBRU2Nyb2xsQXJlYTtcbiAgICAgICAgc2Nyb2xsLT5zZXRXaWRnZXRSZXNpemFibGUodHJ1ZSk7XG4gICAgICAgIHNjcm9sbC0+c2V0RnJhbWVTaGFwZShRRnJhbWU6Ok5vRnJhbWUpO1xuICAgICAgICBzZXRDZW50cmFsV2lkZ2V0KHNjcm9sbCk7XG5cbiAgICAgICAgYXV0byAqdmlld3BvcnQgPSBuZXcgUVdpZGdldDtcbiAgICAgICAgYXV0byAqb3V0ZXIgPSBuZXcgUUhCb3hMYXlvdXQodmlld3BvcnQpO1xuICAgICAgICBvdXRlci0+c2V0Q29udGVudHNNYXJnaW5zKDIwLCAyMCwgMjAsIDIwKTtcbiAgICAgICAgYXV0byAqY29udGVudCA9IG5ldyBRV2lkZ2V0O1xuICAgICAgICBjb250ZW50LT5zZXRNYXhpbXVtV2lkdGgoNzAwKTtcbiAgICAgICAgYXV0byAqbGF5b3V0ID0gbmV3IFFWQm94TGF5b3V0KGNvbnRlbnQpO1xuICAgICAgICBsYXlvdXQtPnNldFNwYWNpbmcoMTYpO1xuICAgICAgICBvdXRlci0+YWRkU3RyZXRjaCgpO1xuICAgICAgICBvdXRlci0+YWRkV2lkZ2V0KGNvbnRlbnQsIDEpO1xuICAgICAgICBvdXRlci0+YWRkU3RyZXRjaCgpO1xuICAgICAgICBzY3JvbGwtPnNldFdpZGdldCh2aWV3cG9ydCk7XG5cbiAgICAgICAgYXV0byAqdGl0bGUgPSBuZXcgUUxhYmVsKHRyKFwiQ3JlYXRlIEluc3RhbGxhdGlvbiBNZWRpYVwiKSk7XG4gICAgICAgIFFGb250IHRpdGxlRm9udCA9IHRpdGxlLT5mb250KCk7XG4gICAgICAgIHRpdGxlRm9udC5zZXRQb2ludFNpemUodGl0bGVGb250LnBvaW50U2l6ZSgpICsgNyk7XG4gICAgICAgIHRpdGxlRm9udC5zZXRCb2xkKHRydWUpO1xuICAgICAgICB0aXRsZS0+c2V0Rm9udCh0aXRsZUZvbnQpO1xuICAgICAgICB0aXRsZS0+c2V0QWxpZ25tZW50KFF0OjpBbGlnbkNlbnRlcik7XG4gICAgICAgIGxheW91dC0+YWRkV2lkZ2V0KHRpdGxlKTtcbiAgICAgICAgYXV0byAqaW50cm8gPSBkZXNjcmlwdGlvbih0cihcIlByZXBhcmUgYW4gQUxUIExpbnV4IHJvb3QgZmlsZXN5c3RlbSBvciBkaXNrIGltYWdlIGZvciB5b3VyIGJvYXJkLlwiKSk7XG4gICAgICAgIGludHJvLT5zZXRBbGlnbm1lbnQoUXQ6OkFsaWduQ2VudGVyKTtcbiAgICAgICAgbGF5b3V0LT5hZGRXaWRnZXQoaW50cm8pO1xuXG4gICAgICAgIGNyZWF0ZVNvdXJjZShsYXlvdXQpO1xuICAgICAgICBjcmVhdGVIYXJkd2FyZShsYXlvdXQpO1xuICAgICAgICBjcmVhdGVEZXN0aW5hdGlvbihsYXlvdXQsIGRyaXZlc1RleHQpO1xuICAgICAgICBjcmVhdGVPcHRpb25zKGxheW91dCk7XG4gICAgICAgIGxheW91dC0+YWRkU3RyZXRjaCgpO1xuXG4gICAgICAgIGF1dG8gKmJhciA9IG5ldyBRV2lkZ2V0O1xuICAgICAgICBhdXRvICpiYXJMYXlvdXQgPSBuZXcgUUhCb3hMYXlvdXQoYmFyKTtcbiAgICAgICAgYmFyTGF5b3V0LT5zZXRDb250ZW50c01hcmdpbnMoMTIsIDgsIDEyLCA4KTtcbiAgICAgICAgYmFyTGF5b3V0LT5hZGRXaWRnZXQoZGVzY3JpcHRpb24odHIoXCJOb3RoaW5nIHdpbGwgYmUgd3JpdHRlbiB1bnRpbCB5b3UgY29uZmlybS5cIikpLCAxKTtcbiAgICAgICAgd3JpdGVCdXR0b25fID0gbmV3IFFQdXNoQnV0dG9uKHRyKFwiUmV2aWV3IGFuZCBXcml0ZVwiKSk7XG4gICAgICAgIHdyaXRlQnV0dG9uXy0+c2V0RGVmYXVsdCh0cnVlKTtcbiAgICAgICAgd3JpdGVCdXR0b25fLT5zZXRFbmFibGVkKGZhbHNlKTtcbiAgICAgICAgYmFyTGF5b3V0LT5hZGRXaWRnZXQod3JpdGVCdXR0b25fKTtcbiAgICAgICAgc3RhdHVzQmFyKCktPmFkZFBlcm1hbmVudFdpZGdldChiYXIsIDEpO1xuICAgICAgICBjb25uZWN0KHdyaXRlQnV0dG9uXywgJlFQdXNoQnV0dG9uOjpjbGlja2VkLCB0aGlzLCBbdGhpc10geyByZXZpZXcoKTsgfSk7XG4gICAgfVxuXG5wcml2YXRlOlxuICAgIHZvaWQgY3JlYXRlU291cmNlKFFWQm94TGF5b3V0ICpwYWdlKSB7XG4gICAgICAgIGF1dG8gKmxheW91dCA9IG5ldyBRVkJveExheW91dDtcbiAgICAgICAgbGF5b3V0LT5hZGRXaWRnZXQoZGVzY3JpcHRpb24odHIoXCJDaG9vc2UgYSByb290IGZpbGVzeXN0ZW0gYXJjaGl2ZSBvciBhIHJlYWR5LW1hZGUgZGlzayBpbWFnZS5cIikpKTtcbiAgICAgICAgYXV0byAqdHlwZXMgPSBuZXcgUUhCb3hMYXlvdXQ7XG4gICAgICAgIHR5cGVzLT5hZGRXaWRnZXQobmV3IFFMYWJlbCh0cihcIlNvdXJjZSB0eXBlXCIpKSk7XG4gICAgICAgIHR5cGVzLT5hZGRTdHJldGNoKCk7XG4gICAgICAgIHJvb3Rmc0J1dHRvbl8gPSBuZXcgUVJhZGlvQnV0dG9uKHRyKFwiUm9vdCBmaWxlc3lzdGVtXCIpKTtcbiAgICAgICAgaW1hZ2VCdXR0b25fID0gbmV3IFFSYWRpb0J1dHRvbih0cihcIkRpc2sgaW1hZ2VcIikpO1xuICAgICAgICByb290ZnNCdXR0b25fLT5zZXRDaGVja2VkKHRydWUpO1xuICAgICAgICB0eXBlcy0+YWRkV2lkZ2V0KHJvb3Rmc0J1dHRvbl8pO1xuICAgICAgICB0eXBlcy0+YWRkV2lkZ2V0KGltYWdlQnV0dG9uXyk7XG4gICAgICAgIGxheW91dC0+YWRkTGF5b3V0KHR5cGVzKTtcblxuICAgICAgICBhdXRvICpwaWNrZXIgPSBuZXcgUUhCb3hMYXlvdXQ7XG4gICAgICAgIHNvdXJjZUxhYmVsXyA9IG5ldyBRTGFiZWwodHIoXCJObyBzb3VyY2Ugc2VsZWN0ZWRcIikpO1xuICAgICAgICBzb3VyY2VMYWJlbF8tPnNldFRleHRJbnRlcmFjdGlvbkZsYWdzKFF0OjpUZXh0U2VsZWN0YWJsZUJ5TW91c2UpO1xuICAgICAgICBhdXRvICpjaG9vc2UgPSBuZXcgUVB1c2hCdXR0b24odHIoXCJDaG9vc2XigKZcIikpO1xuICAgICAgICBjaG9vc2UtPnNldEljb24oc3R5bGUoKS0+c3RhbmRhcmRJY29uKFFTdHlsZTo6U1BfRGlhbG9nT3BlbkJ1dHRvbikpO1xuICAgICAgICBwaWNrZXItPmFkZFdpZGdldChzb3VyY2VMYWJlbF8sIDEpO1xuICAgICAgICBwaWNrZXItPmFkZFdpZGdldChjaG9vc2UpO1xuICAgICAgICBsYXlvdXQtPmFkZExheW91dChwaWNrZXIpO1xuICAgICAgICBzb3VyY2VIaW50XyA9IGRlc2NyaXB0aW9uKHRyKFwiU3VwcG9ydGVkOiAudGFyLCAudGFyLmd6LCAudGFyLnh6XCIpKTtcbiAgICAgICAgbGF5b3V0LT5hZGRXaWRnZXQoc291cmNlSGludF8pO1xuICAgICAgICBwYWdlLT5hZGRXaWRnZXQoZ3JvdXAodHIoXCJJbnN0YWxsYXRpb24gU291cmNlXCIpLCBsYXlvdXQpKTtcblxuICAgICAgICBjb25uZWN0KHJvb3Rmc0J1dHRvbl8sICZRUmFkaW9CdXR0b246OnRvZ2dsZWQsIHRoaXMsIFt0aGlzXShib29sIGNoZWNrZWQpIHtcbiAgICAgICAgICAgIGlmIChjaGVja2VkKSB7XG4gICAgICAgICAgICAgICAgc291cmNlSGludF8tPnNldFRleHQodHIoXCJTdXBwb3J0ZWQ6IC50YXIsIC50YXIuZ3osIC50YXIueHpcIikpO1xuICAgICAgICAgICAgICAgIGZpbGVPdXRwdXRCdXR0b25fLT5zZXRFbmFibGVkKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgY29ubmVjdChpbWFnZUJ1dHRvbl8sICZRUmFkaW9CdXR0b246OnRvZ2dsZWQsIHRoaXMsIFt0aGlzXShib29sIGNoZWNrZWQpIHtcbiAgICAgICAgICAgIGlmIChjaGVja2VkKSB7XG4gICAgICAgICAgICAgICAgc291cmNlSGludF8tPnNldFRleHQodHIoXCJTdXBwb3J0ZWQ6IC5pbWcsIC5pbWcueHpcIikpO1xuICAgICAgICAgICAgICAgIGRyaXZlT3V0cHV0QnV0dG9uXy0+c2V0Q2hlY2tlZCh0cnVlKTtcbiAgICAgICAgICAgICAgICBmaWxlT3V0cHV0QnV0dG9uXy0+c2V0RW5hYmxlZChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjb25uZWN0KGNob29zZSwgJlFQdXNoQnV0dG9uOjpjbGlja2VkLCB0aGlzLCBbdGhpc10ge1xuICAgICAgICAgICAgY29uc3QgUVN0cmluZyBmaWx0ZXIgPSBpbWFnZUJ1dHRvbl8tPmlzQ2hlY2tlZCgpXG4gICAgICAgICAgICAgICAgPyB0cihcIkRpc2sgaW1hZ2VzICgqLmltZyAqLmltZy54eik7O0FsbCBmaWxlcyAoKilcIilcbiAgICAgICAgICAgICAgICA6IHRyKFwiUm9vdCBmaWxlc3lzdGVtIGFyY2hpdmVzICgqLnRhciAqLnRhci5neiAqLnRhci54eik7O0FsbCBmaWxlcyAoKilcIik7XG4gICAgICAgICAgICBjb25zdCBRU3RyaW5nIHBhdGggPSBRRmlsZURpYWxvZzo6Z2V0T3BlbkZpbGVOYW1lKHRoaXMsIHRyKFwiQ2hvb3NlIEluc3RhbGxhdGlvbiBTb3VyY2VcIiksIHt9LCBmaWx0ZXIpO1xuICAgICAgICAgICAgaWYgKCFwYXRoLmlzRW1wdHkoKSkge1xuICAgICAgICAgICAgICAgIHNvdXJjZVBhdGhfID0gcGF0aDtcbiAgICAgICAgICAgICAgICBzb3VyY2VMYWJlbF8tPnNldFRleHQoUUZpbGVJbmZvKHBhdGgpLmZpbGVOYW1lKCkpO1xuICAgICAgICAgICAgICAgIHNvdXJjZUxhYmVsXy0+c2V0VG9vbFRpcChwYXRoKTtcbiAgICAgICAgICAgICAgICBzb3VyY2VIaW50Xy0+c2V0VGV4dChRRmlsZUluZm8ocGF0aCkuYWJzb2x1dGVQYXRoKCkpO1xuICAgICAgICAgICAgICAgIHVwZGF0ZVJlYWR5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHZvaWQgY3JlYXRlSGFyZHdhcmUoUVZCb3hMYXlvdXQgKnBhZ2UpIHtcbiAgICAgICAgYXV0byAqbGF5b3V0ID0gbmV3IFFWQm94TGF5b3V0O1xuICAgICAgICBsYXlvdXQtPmFkZFdpZGdldChkZXNjcmlwdGlvbih0cihcIkJvYXJkcyBhcmUgZ3JvdXBlZCBieSBwbGF0Zm9ybSwgU29DIGZhbWlseSwgYW5kIGFyY2hpdGVjdHVyZS5cIikpKTtcbiAgICAgICAgYXV0byAqcm93ID0gbmV3IFFIQm94TGF5b3V0O1xuICAgICAgICBhdXRvICpsYWJlbHMgPSBuZXcgUVZCb3hMYXlvdXQ7XG4gICAgICAgIGJvYXJkTGFiZWxfID0gbmV3IFFMYWJlbCh0cihcIk5vIGJvYXJkIHNlbGVjdGVkXCIpKTtcbiAgICAgICAgYm9hcmRIaW50XyA9IGRlc2NyaXB0aW9uKHRyKFwiQ2hvb3NlIGZyb20gJTEgc3VwcG9ydGVkIGJvYXJkc1wiKS5hcmcoYm9hcmRzXy5zaXplKCkpKTtcbiAgICAgICAgbGFiZWxzLT5hZGRXaWRnZXQoYm9hcmRMYWJlbF8pO1xuICAgICAgICBsYWJlbHMtPmFkZFdpZGdldChib2FyZEhpbnRfKTtcbiAgICAgICAgYXV0byAqc2VsZWN0ID0gbmV3IFFQdXNoQnV0dG9uKHRyKFwiU2VsZWN0IEJvYXJk4oCmXCIpKTtcbiAgICAgICAgcm93LT5hZGRMYXlvdXQobGFiZWxzLCAxKTtcbiAgICAgICAgcm93LT5hZGRXaWRnZXQoc2VsZWN0KTtcbiAgICAgICAgbGF5b3V0LT5hZGRMYXlvdXQocm93KTtcbiAgICAgICAgcGFnZS0+YWRkV2lkZ2V0KGdyb3VwKHRyKFwiVGFyZ2V0IEhhcmR3YXJlXCIpLCBsYXlvdXQpKTtcblxuICAgICAgICBjb25uZWN0KHNlbGVjdCwgJlFQdXNoQnV0dG9uOjpjbGlja2VkLCB0aGlzLCBbdGhpc10ge1xuICAgICAgICAgICAgQm9hcmREaWFsb2cgZGlhbG9nKGJvYXJkc18sIHRoaXMpO1xuICAgICAgICAgICAgaWYgKGRpYWxvZy5leGVjKCkgPT0gUURpYWxvZzo6QWNjZXB0ZWQpIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEJvYXJkXyA9IGRpYWxvZy5zZWxlY3RlZE5hbWUoKTtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFBsYXRmb3JtXyA9IGRpYWxvZy5zZWxlY3RlZFBsYXRmb3JtKCk7XG4gICAgICAgICAgICAgICAgYm9hcmRMYWJlbF8tPnNldFRleHQoc2VsZWN0ZWRCb2FyZF8pO1xuICAgICAgICAgICAgICAgIFFGb250IGZvbnQgPSBib2FyZExhYmVsXy0+Zm9udCgpO1xuICAgICAgICAgICAgICAgIGZvbnQuc2V0Qm9sZCh0cnVlKTtcbiAgICAgICAgICAgICAgICBib2FyZExhYmVsXy0+c2V0Rm9udChmb250KTtcbiAgICAgICAgICAgICAgICBib2FyZEhpbnRfLT5zZXRUZXh0KHNlbGVjdGVkUGxhdGZvcm1fKTtcbiAgICAgICAgICAgICAgICB1cGRhdGVSZWFkeSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB2b2lkIGNyZWF0ZURlc3RpbmF0aW9uKFFWQm94TGF5b3V0ICpwYWdlLCBjb25zdCBRU3RyaW5nICZkcml2ZXNUZXh0KSB7XG4gICAgICAgIGF1dG8gKmxheW91dCA9IG5ldyBRVkJveExheW91dDtcbiAgICAgICAgbGF5b3V0LT5hZGRXaWRnZXQoZGVzY3JpcHRpb24odHIoXCJXcml0ZSB0byByZW1vdmFibGUgbWVkaWEgb3IgY3JlYXRlIGFuIGltYWdlIGZpbGUuXCIpKSk7XG4gICAgICAgIGF1dG8gKnR5cGVzID0gbmV3IFFIQm94TGF5b3V0O1xuICAgICAgICB0eXBlcy0+YWRkV2lkZ2V0KG5ldyBRTGFiZWwodHIoXCJPdXRwdXQgdHlwZVwiKSkpO1xuICAgICAgICB0eXBlcy0+YWRkU3RyZXRjaCgpO1xuICAgICAgICBkcml2ZU91dHB1dEJ1dHRvbl8gPSBuZXcgUVJhZGlvQnV0dG9uKHRyKFwiRHJpdmVcIikpO1xuICAgICAgICBmaWxlT3V0cHV0QnV0dG9uXyA9IG5ldyBRUmFkaW9CdXR0b24odHIoXCJJbWFnZSBmaWxlXCIpKTtcbiAgICAgICAgZHJpdmVPdXRwdXRCdXR0b25fLT5zZXRDaGVja2VkKHRydWUpO1xuICAgICAgICB0eXBlcy0+YWRkV2lkZ2V0KGRyaXZlT3V0cHV0QnV0dG9uXyk7XG4gICAgICAgIHR5cGVzLT5hZGRXaWRnZXQoZmlsZU91dHB1dEJ1dHRvbl8pO1xuICAgICAgICBsYXlvdXQtPmFkZExheW91dCh0eXBlcyk7XG5cbiAgICAgICAgZHJpdmVSb3dfID0gbmV3IFFXaWRnZXQ7XG4gICAgICAgIGF1dG8gKmRyaXZlTGF5b3V0ID0gbmV3IFFGb3JtTGF5b3V0KGRyaXZlUm93Xyk7XG4gICAgICAgIGRyaXZlQm94XyA9IG5ldyBRQ29tYm9Cb3g7XG4gICAgICAgIGNvbnN0IFFTdHJpbmdMaXN0IGRyaXZlcyA9IGRyaXZlc1RleHQuc3BsaXQoJ1xcbicsIFF0OjpTa2lwRW1wdHlQYXJ0cyk7XG4gICAgICAgIGRyaXZlQm94Xy0+YWRkSXRlbXMoZHJpdmVzKTtcbiAgICAgICAgaWYgKGRyaXZlcy5pc0VtcHR5KCkpIHtcbiAgICAgICAgICAgIGRyaXZlQm94Xy0+YWRkSXRlbSh0cihcIk5vIHJlbW92YWJsZSBkcml2ZXMgZGV0ZWN0ZWRcIikpO1xuICAgICAgICAgICAgZHJpdmVCb3hfLT5zZXRFbmFibGVkKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICBkcml2ZUxheW91dC0+YWRkUm93KHRyKFwiU3RvcmFnZSBkZXZpY2VcIiksIGRyaXZlQm94Xyk7XG4gICAgICAgIGxheW91dC0+YWRkV2lkZ2V0KGRyaXZlUm93Xyk7XG5cbiAgICAgICAgZmlsZVJvd18gPSBuZXcgUVdpZGdldDtcbiAgICAgICAgYXV0byAqZmlsZUxheW91dCA9IG5ldyBRSEJveExheW91dChmaWxlUm93Xyk7XG4gICAgICAgIGZpbGVMYXlvdXQtPnNldENvbnRlbnRzTWFyZ2lucygwLCAwLCAwLCAwKTtcbiAgICAgICAgb3V0cHV0TGFiZWxfID0gbmV3IFFMYWJlbCh0cihcIkNob29zZSB3aGVyZSB0byBzYXZlIHRoZSBpbWFnZVwiKSk7XG4gICAgICAgIGF1dG8gKmNob29zZSA9IG5ldyBRUHVzaEJ1dHRvbih0cihcIkNob29zZeKAplwiKSk7XG4gICAgICAgIGNob29zZS0+c2V0SWNvbihzdHlsZSgpLT5zdGFuZGFyZEljb24oUVN0eWxlOjpTUF9EaWFsb2dTYXZlQnV0dG9uKSk7XG4gICAgICAgIGZpbGVMYXlvdXQtPmFkZFdpZGdldChvdXRwdXRMYWJlbF8sIDEpO1xuICAgICAgICBmaWxlTGF5b3V0LT5hZGRXaWRnZXQoY2hvb3NlKTtcbiAgICAgICAgZmlsZVJvd18tPmhpZGUoKTtcbiAgICAgICAgbGF5b3V0LT5hZGRXaWRnZXQoZmlsZVJvd18pO1xuICAgICAgICBwYWdlLT5hZGRXaWRnZXQoZ3JvdXAodHIoXCJEZXN0aW5hdGlvblwiKSwgbGF5b3V0KSk7XG5cbiAgICAgICAgY29ubmVjdChkcml2ZU91dHB1dEJ1dHRvbl8sICZRUmFkaW9CdXR0b246OnRvZ2dsZWQsIHRoaXMsIFt0aGlzXShib29sIGNoZWNrZWQpIHtcbiAgICAgICAgICAgIGRyaXZlUm93Xy0+c2V0VmlzaWJsZShjaGVja2VkKTtcbiAgICAgICAgICAgIGZpbGVSb3dfLT5zZXRWaXNpYmxlKCFjaGVja2VkKTtcbiAgICAgICAgICAgIHVwZGF0ZVJlYWR5KCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25uZWN0KGNob29zZSwgJlFQdXNoQnV0dG9uOjpjbGlja2VkLCB0aGlzLCBbdGhpc10ge1xuICAgICAgICAgICAgY29uc3QgUVN0cmluZyBwYXRoID0gUUZpbGVEaWFsb2c6OmdldFNhdmVGaWxlTmFtZSh0aGlzLCB0cihcIkNyZWF0ZSBEaXNrIEltYWdlXCIpLFxuICAgICAgICAgICAgICAgIFFTdHJpbmdMaXRlcmFsKFwiYWx0LWxpbnV4LmltZ1wiKSwgdHIoXCJSYXcgZGlzayBpbWFnZXMgKCouaW1nKTs7QWxsIGZpbGVzICgqKVwiKSk7XG4gICAgICAgICAgICBpZiAoIXBhdGguaXNFbXB0eSgpKSB7XG4gICAgICAgICAgICAgICAgb3V0cHV0UGF0aF8gPSBwYXRoO1xuICAgICAgICAgICAgICAgIG91dHB1dExhYmVsXy0+c2V0VGV4dChRRmlsZUluZm8ocGF0aCkuZmlsZU5hbWUoKSk7XG4gICAgICAgICAgICAgICAgb3V0cHV0TGFiZWxfLT5zZXRUb29sVGlwKHBhdGgpO1xuICAgICAgICAgICAgICAgIHVwZGF0ZVJlYWR5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHZvaWQgY3JlYXRlT3B0aW9ucyhRVkJveExheW91dCAqcGFnZSkge1xuICAgICAgICBhdXRvICpsYXlvdXQgPSBuZXcgUUZvcm1MYXlvdXQ7XG4gICAgICAgIGF1dG8gKmZpbGVzeXN0ZW0gPSBuZXcgUUNvbWJvQm94O1xuICAgICAgICBmaWxlc3lzdGVtLT5hZGRJdGVtcyh7UVN0cmluZ0xpdGVyYWwoXCJleHQ0XCIpLCBRU3RyaW5nTGl0ZXJhbChcImYyZnNcIil9KTtcbiAgICAgICAgbGF5b3V0LT5hZGRSb3codHIoXCJSb290IGZpbGVzeXN0ZW1cIiksIGZpbGVzeXN0ZW0pO1xuICAgICAgICBhdXRvICpyZXNpemUgPSBuZXcgUUNoZWNrQm94KHRyKFwiR3JvdyB0byBmaWxsIHRoZSBkZXN0aW5hdGlvblwiKSk7XG4gICAgICAgIHJlc2l6ZS0+c2V0Q2hlY2tlZCh0cnVlKTtcbiAgICAgICAgbGF5b3V0LT5hZGRSb3codHIoXCJSZXNpemUgcm9vdCBwYXJ0aXRpb25cIiksIHJlc2l6ZSk7XG4gICAgICAgIGxheW91dC0+YWRkUm93KHRyKFwiQm9vdCBwYXJ0aXRpb25cIiksIG5ldyBRQ2hlY2tCb3godHIoXCJDcmVhdGUgYSBzZXBhcmF0ZSA1MTIgTWlCIHBhcnRpdGlvblwiKSkpO1xuICAgICAgICBsYXlvdXQtPmFkZFJvdyh0cihcIkVuY3J5cHRpb25cIiksIG5ldyBRQ2hlY2tCb3godHIoXCJFbmNyeXB0IHJvb3QgcGFydGl0aW9uIHdpdGggTFVLU1wiKSkpO1xuICAgICAgICBsYXlvdXQtPmFkZFJvdyh0cihcIlNlcmlhbCBjb25zb2xlXCIpLCBuZXcgUUNoZWNrQm94KHRyKFwiQWRkIHRvIGJvb3QgYXJndW1lbnRzXCIpKSk7XG4gICAgICAgIGF1dG8gKmVmaSA9IG5ldyBRQ29tYm9Cb3g7XG4gICAgICAgIGVmaS0+YWRkSXRlbXMoe3RyKFwiTm9uZVwiKSwgdHIoXCJFRkkgKEdQVClcIiksIHRyKFwiRUZJIChNQlIpXCIpfSk7XG4gICAgICAgIGxheW91dC0+YWRkUm93KHRyKFwiRUZJIHN5c3RlbSBwYXJ0aXRpb25cIiksIGVmaSk7XG4gICAgICAgIGF1dG8gKnZuYyA9IG5ldyBRQ29tYm9Cb3g7XG4gICAgICAgIHZuYy0+YWRkSXRlbXMoe3RyKFwiVXNlIGltYWdlIGRlZmF1bHRcIiksIHRyKFwiRW5hYmxlZFwiKSwgdHIoXCJEaXNhYmxlZFwiKX0pO1xuICAgICAgICBsYXlvdXQtPmFkZFJvdyh0cihcIkZpcnN0LWJvb3QgVk5DXCIpLCB2bmMpO1xuICAgICAgICBwYWdlLT5hZGRXaWRnZXQoZ3JvdXAodHIoXCJPcHRpb25zXCIpLCBsYXlvdXQpKTtcbiAgICB9XG5cbiAgICB2b2lkIHVwZGF0ZVJlYWR5KCkge1xuICAgICAgICBjb25zdCBib29sIGRlc3RpbmF0aW9uID0gZHJpdmVPdXRwdXRCdXR0b25fLT5pc0NoZWNrZWQoKVxuICAgICAgICAgICAgPyBkcml2ZUJveF8tPmlzRW5hYmxlZCgpICYmIGRyaXZlQm94Xy0+Y3VycmVudEluZGV4KCkgPj0gMFxuICAgICAgICAgICAgOiAhb3V0cHV0UGF0aF8uaXNFbXB0eSgpO1xuICAgICAgICB3cml0ZUJ1dHRvbl8tPnNldEVuYWJsZWQoIXNvdXJjZVBhdGhfLmlzRW1wdHkoKSAmJiAhc2VsZWN0ZWRCb2FyZF8uaXNFbXB0eSgpICYmIGRlc3RpbmF0aW9uKTtcbiAgICB9XG5cbiAgICB2b2lkIHJldmlldygpIHtcbiAgICAgICAgY29uc3QgUVN0cmluZyBkZXN0aW5hdGlvbiA9IGRyaXZlT3V0cHV0QnV0dG9uXy0+aXNDaGVja2VkKCkgPyBkcml2ZUJveF8tPmN1cnJlbnRUZXh0KCkgOiBvdXRwdXRQYXRoXztcbiAgICAgICAgUU1lc3NhZ2VCb3ggZGlhbG9nKFFNZXNzYWdlQm94OjpXYXJuaW5nLCB0cihcIlJlYWR5IHRvIHdyaXRlP1wiKSxcbiAgICAgICAgICAgIHRyKFwiQm9hcmQ6ICUxXFxuUGxhdGZvcm06ICUyXFxuRGVzdGluYXRpb246ICUzXFxuXFxuXCJcbiAgICAgICAgICAgICAgIFwiVGhpcyBpcyBhbiBpbnRlcmZhY2UgcHJldmlldy4gTm8gZGF0YSB3aWxsIGJlIHdyaXR0ZW4uXCIpXG4gICAgICAgICAgICAgICAgLmFyZyhzZWxlY3RlZEJvYXJkXywgc2VsZWN0ZWRQbGF0Zm9ybV8sIGRlc3RpbmF0aW9uKSxcbiAgICAgICAgICAgIFFNZXNzYWdlQm94OjpDYW5jZWwgfCBRTWVzc2FnZUJveDo6T2ssIHRoaXMpO1xuICAgICAgICBkaWFsb2cuc2V0RGVmYXVsdEJ1dHRvbihRTWVzc2FnZUJveDo6Q2FuY2VsKTtcbiAgICAgICAgZGlhbG9nLmJ1dHRvbihRTWVzc2FnZUJveDo6T2spLT5zZXRUZXh0KHRyKFwiV3JpdGVcIikpO1xuICAgICAgICBpZiAoZGlhbG9nLmV4ZWMoKSA9PSBRTWVzc2FnZUJveDo6T2spXG4gICAgICAgICAgICBzdGF0dXNCYXIoKS0+c2hvd01lc3NhZ2UodHIoXCJGbGFzaGluZyBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBwcmV2aWV3XCIpLCA0MDAwKTtcbiAgICB9XG5cbiAgICBRVmVjdG9yPEJvYXJkPiBib2FyZHNfO1xuICAgIFFTdHJpbmcgc291cmNlUGF0aF87XG4gICAgUVN0cmluZyBvdXRwdXRQYXRoXztcbiAgICBRU3RyaW5nIHNlbGVjdGVkQm9hcmRfO1xuICAgIFFTdHJpbmcgc2VsZWN0ZWRQbGF0Zm9ybV87XG4gICAgUVJhZGlvQnV0dG9uICpyb290ZnNCdXR0b25fID0gbnVsbHB0cjtcbiAgICBRUmFkaW9CdXR0b24gKmltYWdlQnV0dG9uXyA9IG51bGxwdHI7XG4gICAgUVJhZGlvQnV0dG9uICpkcml2ZU91dHB1dEJ1dHRvbl8gPSBudWxscHRyO1xuICAgIFFSYWRpb0J1dHRvbiAqZmlsZU91dHB1dEJ1dHRvbl8gPSBudWxscHRyO1xuICAgIFFMYWJlbCAqc291cmNlTGFiZWxfID0gbnVsbHB0cjtcbiAgICBRTGFiZWwgKnNvdXJjZUhpbnRfID0gbnVsbHB0cjtcbiAgICBRTGFiZWwgKmJvYXJkTGFiZWxfID0gbnVsbHB0cjtcbiAgICBRTGFiZWwgKmJvYXJkSGludF8gPSBudWxscHRyO1xuICAgIFFMYWJlbCAqb3V0cHV0TGFiZWxfID0gbnVsbHB0cjtcbiAgICBRV2lkZ2V0ICpkcml2ZVJvd18gPSBudWxscHRyO1xuICAgIFFXaWRnZXQgKmZpbGVSb3dfID0gbnVsbHB0cjtcbiAgICBRQ29tYm9Cb3ggKmRyaXZlQm94XyA9IG51bGxwdHI7XG4gICAgUVB1c2hCdXR0b24gKndyaXRlQnV0dG9uXyA9IG51bGxwdHI7XG59O1xuXG59IC8vIG5hbWVzcGFjZVxuXG5leHRlcm4gXCJDXCIgaW50IHJ1bl9xdF9hcHAoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpib2FyZHMsIGNvbnN0IGNoYXIgKmRyaXZlcykge1xuICAgIFFBcHBsaWNhdGlvbiBhcHAoYXJnYywgYXJndik7XG4gICAgUUNvcmVBcHBsaWNhdGlvbjo6c2V0QXBwbGljYXRpb25OYW1lKFFTdHJpbmdMaXRlcmFsKFwiQUxUIEltYWdlIFdyaXRlclwiKSk7XG4gICAgUUNvcmVBcHBsaWNhdGlvbjo6c2V0T3JnYW5pemF0aW9uTmFtZShRU3RyaW5nTGl0ZXJhbChcIkFMVCBMaW51eFwiKSk7XG4gICAgUUFwcGxpY2F0aW9uOjpzZXRXaW5kb3dJY29uKFFBcHBsaWNhdGlvbjo6c3R5bGUoKS0+c3RhbmRhcmRJY29uKFFTdHlsZTo6U1BfRHJpdmVIREljb24pKTtcbiAgICBNYWluV2luZG93IHdpbmRvdyhRU3RyaW5nOjpmcm9tVXRmOChib2FyZHMpLCBRU3RyaW5nOjpmcm9tVXRmOChkcml2ZXMpKTtcbiAgICB3aW5kb3cuc2hvdygpO1xuICAgIHJldHVybiBhcHAuZXhlYygpO1xufVxuIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjozNzIsIm91dHB1dCI6NDQxMCwiY2FjaGVSZWFkIjo2NDAwMCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxMCwidG90YWxUb2tlbnMiOjY4NzgyLCJjb3N0Ijp7ImlucHV0IjowLjAwMTg2LCJvdXRwdXQiOjAuMTMyMywiY2FjaGVSZWFkIjowLjAzMiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMTY2MTZ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTQ5NDQzNTEsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkYzgwYjczMDgxOTE5MDBkNTRhNmQ1NGZmZDQ2In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjRjY2UwNmZhIiwicGFyZW50SWQiOiJmZjQ5NDMwOCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTc6MDcuMjAwWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9YcmhYNEhPVVp0WHpybndOTjdndDRCU2t8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRjODQzYTA0ODE5MWFhMGUzNzI1NDYyYzAwNTUiLCJ0b29sTmFtZSI6IndyaXRlIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHdyb3RlIDE2Mzc0IGJ5dGVzIHRvIGNyYXRlcy9mbGFzaGVyLXF0L3NyYy91aS5jcHAifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTUwMjcyMDB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxODVlZGY4OSIsInBhcmVudElkIjoiNGNjZTA2ZmEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU3OjI2LjgzMloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqQ29tcGxldGluZyBRdDUgaW5jbHVkZXMgYW5kIHNpZ25hbCBzZXR1cCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRjZDRlNGE0ODE5MTlhMWVkZTcyMzJmZTFlMmRcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk56WWZGZWRTY1lOb0ZveUlLcGgyZWgxcmZQUl9EY3R3Wm03eFE4c19reXNSLWR1ZDBpdEFzNU5sdjh0Y1NlN3pMdFNqWUJ6T2poQ09hcTh0aUpMTG1hdkRoLUdNYkpzOVFTaFZjWWVnbGJlZ25RWTZmYW9jWi1sMkJqVWFzNGcwMDlqZlkxOWVKZmc1UmFmMEhpQWg3TGJnMElxN0hjNkg2VHNkVmFtRnNJNWNIa19XdjFIOVVobldhZ3NnazFzTEJsY2s3VUlPTHdtMU9heGt3UlNXZmQ1SjFodEt0ZnV3cDF4cWJzbkJNeFJETGZKampqWVlVanUxUFlYSG8wYXFZd2psbXN4TUYzTFh2NXlyY2pFOGsxRkhjWDZTVzF1bWZXWDFfWTE1OEM3NnJGaHhENjZlUTV3TkZKdVZkcWJENktzeGxlY1E3bWhWS1Z2WkU0TjBsMnhUSnVUMnpGWU4xUTlORHAycGJHQUlMVHlxOTdmSklzR19iVE13UWNHM0dueEhBbURaWklpRldIM1RXakYtYWx5QWZQT2pYNDlSQVl0Qk1UelhVdWpYb3J1OEdmMHhZQjV3YVZVWV9vWC1SNnI5bm9jcFNydTk5ckdNSHp1YzU2d09IZXdWUEpHM21IQWVTQVQtLVVNcy1rd2p5bE1HeUo0T0hqWXFtYzVHdkxhd0V0QXNWQTk5dW1Nbkt0eTNWRjk4dE1OWEdtbFFrS3RmTmZmeXFRMmUzbkZRZGVpZmVLVk9oY1ZmTXBjMERkdHpjUWRkdk0xT0Vib0JhZFg2c3RiWlRhLUdxb1dab3JXczFWRDZobFNoanNDcHVpM1pCRmxYbU1TRGlDTVFfYzZzUnRPRzZKT1U1V0lPXzJ4RjMwWVhKaUFyZ01wTnRMTnpzSFRQM25NS1MwMnNTdkpFMEROblRraUNqLWlTUXpnUGlKbzNxeHhkWDI0cGdiWG9tYUZscF9OYVpic0JfYXdSUzRUempuYzdBaDRWSG5LNWZ1d1p2dUYwV1JaZF8tanFWSGRsTHM1R3NOQ0FqMG9TcjBua3RGT2hGdHFpTzgtNlozSk5Rb1QwTXA5X2J6NVBhQ0IxdWxMc085M1dTWWN2Ty0tbzVheGVGZmc2c3ByY2J6MGNrSWs0V3hwLTYtY2RzS3EtaHNXbmdXRGFTeWhwYnBaLWpnVEo5SnZHZEE5dlhwemRpRkRUaEtsUm5uWUE5dmpheDgyMFRrTEFMbHk5OU1uc0JmRjZyZVR4dWRLWTQybERDOVdUMDBubmlURkNxWkdzSDBQRk5mdnlMYzgtWEFJdW1GRl9jeFBEWXAtV3VJUjVrdklGeG5YMmhOeWhYa3BoVGc0dnZvMlFWTENJVEFPUnZYdWJiTGVnUUwzZ0dpTWp5TkN4aWYySHdNQlpMTGp6WjZ0bjlsclA0ZV9mNVhoUlo3TTVIbUJVMS01Uk1CVFlWbUZCcmV5Y3pmUW41cmoxcVVrdzRab2pENVhoTG1lblhLTDV6cXc1RFQ2bkZsdU5FTjVUVTBmWjBNWW1IYTJjUTRYcDF1VzBpRm9fbkR0QmxiamIzcVBmZnloU2ZXU0k1cm94ajhQNG1jTEd1cnRmbGpkVkptYTc0STBhMFpFcUFfN0pFVEVCVzBDYjB2Y25paFhoS0RQeWxFOHlXOEFCTnRfSUhRRlFyWmtOa0tqU3VJQ3hGM1ZRdWFJYkJJaGIza09uMzF1azJBN2lPMzhiYzJMU2dobG8tU3B3MU0yZE43Rkc5RTlKcXZid2hDOGgyMi00Tlh1QV9VM25XUGpKTnNrSUFIT2hWN0dQNTFPNlFQVG5yanYyckxLa1pPSkJ4YngwSmM2WUo2SFFERGJBd2F0dmltXzdLVXR4WFFuMmo4Sk5Sa3hsREpSWjdFcFRUSUNmdGdTQUZZM2pSLU5uOUsxTi1ybk13Z1hyRUFsdVdLb0FPRV82bTdpSmtOdnZLdkpMRmdEVWZVR3AzOXZ4OHlHS3d0Rnp1aHIwaFpjTC0zNDU2S1RrYlhZbU9HVlpjNGhGQkpJQTcxVXFCdjZkd2xsZ3RxaU4yTFRISWNFWEE9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqQ29tcGxldGluZyBRdDUgaW5jbHVkZXMgYW5kIHNpZ25hbCBzZXR1cCoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9TWEdRRjRQOGpQOUJzY2hlRk9aTjFjZTB8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRjZDgzODkwODE5MTlmODU3MmY2MjYzOTEwZGEiLCJuYW1lIjoid3JpdGUiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L3NyYy9tYWluLnJzIiwiY29udGVudCI6InVzZSBzdGQ6OntcbiAgICBlbnYsXG4gICAgZmZpOjpDU3RyaW5nLFxuICAgIGZzLFxuICAgIG9zOjpyYXc6OntjX2NoYXIsIGNfaW50fSxcbn07XG5cbmNvbnN0IEJPQVJEUzogJnN0ciA9IGluY2x1ZGVfc3RyIShcIi4uLy4uLy4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL1NVUFBPUlRFRC1CT0FSRFNcIik7XG5cbnVuc2FmZSBleHRlcm4gXCJDXCIge1xuICAgIGZuIHJ1bl9xdF9hcHAoXG4gICAgICAgIGFyZ2M6IGNfaW50LFxuICAgICAgICBhcmd2OiAqbXV0ICptdXQgY19jaGFyLFxuICAgICAgICBib2FyZHM6ICpjb25zdCBjX2NoYXIsXG4gICAgICAgIGRyaXZlczogKmNvbnN0IGNfY2hhcixcbiAgICApIC0+IGNfaW50O1xufVxuXG5mbiBtYWluKCkge1xuICAgIGxldCBhcmd1bWVudHM6IFZlYzxDU3RyaW5nPiA9IGVudjo6YXJncygpXG4gICAgICAgIC5tYXAofGFyZ3wgQ1N0cmluZzo6bmV3KGFyZykuZXhwZWN0KFwiYXBwbGljYXRpb24gYXJndW1lbnQgY29udGFpbnMgYSBOVUwgYnl0ZVwiKSlcbiAgICAgICAgLmNvbGxlY3QoKTtcbiAgICBsZXQgbXV0IGFyZ3VtZW50X3BvaW50ZXJzOiBWZWM8Km11dCBjX2NoYXI+ID0gYXJndW1lbnRzXG4gICAgICAgIC5pdGVyKClcbiAgICAgICAgLm1hcCh8YXJnfCBhcmcuYXNfcHRyKCkuY2FzdF9tdXQoKSlcbiAgICAgICAgLmNvbGxlY3QoKTtcbiAgICBsZXQgYm9hcmRzID0gQ1N0cmluZzo6bmV3KEJPQVJEUykuZXhwZWN0KFwiYm9hcmQgbGlzdCBjb250YWlucyBhIE5VTCBieXRlXCIpO1xuICAgIGxldCBkcml2ZXMgPSBDU3RyaW5nOjpuZXcoYXZhaWxhYmxlX2RyaXZlcygpLmpvaW4oXCJcXG5cIikpXG4gICAgICAgIC5leHBlY3QoXCJkcml2ZSBkZXNjcmlwdGlvbiBjb250YWlucyBhIE5VTCBieXRlXCIpO1xuXG4gICAgLy8gUUFwcGxpY2F0aW9uIG9ubHkgYm9ycm93cyBhcmd2IGFuZCB0aGUgdHdvIHN0cmluZ3MgZm9yIHRoZSBkdXJhdGlvbiBvZlxuICAgIC8vIHRoaXMgY2FsbDsgYWxsIGJhY2tpbmcgQ1N0cmluZ3MgcmVtYWluIGFsaXZlIHVudGlsIHRoZSBldmVudCBsb29wIGV4aXRzLlxuICAgIHVuc2FmZSB7XG4gICAgICAgIHJ1bl9xdF9hcHAoXG4gICAgICAgICAgICBhcmd1bWVudF9wb2ludGVycy5sZW4oKSBhcyBjX2ludCxcbiAgICAgICAgICAgIGFyZ3VtZW50X3BvaW50ZXJzLmFzX211dF9wdHIoKSxcbiAgICAgICAgICAgIGJvYXJkcy5hc19wdHIoKSxcbiAgICAgICAgICAgIGRyaXZlcy5hc19wdHIoKSxcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbmZuIGF2YWlsYWJsZV9kcml2ZXMoKSAtPiBWZWM8U3RyaW5nPiB7XG4gICAgbGV0IG11dCBkcml2ZXMgPSBWZWM6Om5ldygpO1xuICAgIGxldCBPayhlbnRyaWVzKSA9IGZzOjpyZWFkX2RpcihcIi9zeXMvYmxvY2tcIikgZWxzZSB7XG4gICAgICAgIHJldHVybiBkcml2ZXM7XG4gICAgfTtcblxuICAgIGZvciBlbnRyeSBpbiBlbnRyaWVzLmZsYXR0ZW4oKSB7XG4gICAgICAgIGxldCBuYW1lID0gZW50cnkuZmlsZV9uYW1lKCkudG9fc3RyaW5nX2xvc3N5KCkuaW50b19vd25lZCgpO1xuICAgICAgICBpZiBuYW1lLnN0YXJ0c193aXRoKFwibG9vcFwiKSB8fCBuYW1lLnN0YXJ0c193aXRoKFwicmFtXCIpIHx8IG5hbWUuc3RhcnRzX3dpdGgoXCJ6cmFtXCIpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGxldCByZW1vdmFibGUgPSBmczo6cmVhZF90b19zdHJpbmcoZW50cnkucGF0aCgpLmpvaW4oXCJyZW1vdmFibGVcIikpXG4gICAgICAgICAgICAubWFwKHx2YWx1ZXwgdmFsdWUudHJpbSgpID09IFwiMVwiKVxuICAgICAgICAgICAgLnVud3JhcF9vcihmYWxzZSk7XG4gICAgICAgIGlmICFyZW1vdmFibGUgJiYgIW5hbWUuc3RhcnRzX3dpdGgoXCJtbWNibGtcIikge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgc2VjdG9ycyA9IGZzOjpyZWFkX3RvX3N0cmluZyhlbnRyeS5wYXRoKCkuam9pbihcInNpemVcIikpXG4gICAgICAgICAgICAub2soKVxuICAgICAgICAgICAgLmFuZF90aGVuKHx2YWx1ZXwgdmFsdWUudHJpbSgpLnBhcnNlOjo8dTY0PigpLm9rKCkpXG4gICAgICAgICAgICAudW53cmFwX29yKDApO1xuICAgICAgICBsZXQgbW9kZWwgPSBmczo6cmVhZF90b19zdHJpbmcoZW50cnkucGF0aCgpLmpvaW4oXCJkZXZpY2UvbW9kZWxcIikpXG4gICAgICAgICAgICAudW53cmFwX29yX2RlZmF1bHQoKVxuICAgICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgICAgLnRvX293bmVkKCk7XG4gICAgICAgIGxldCBkZXNjcmlwdGlvbiA9IGlmIG1vZGVsLmlzX2VtcHR5KCkge1xuICAgICAgICAgICAgZm9ybWF0IShcIi9kZXYve25hbWV9XCIpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtb2RlbFxuICAgICAgICB9O1xuICAgICAgICBkcml2ZXMucHVzaChmb3JtYXQhKFxuICAgICAgICAgICAgXCJ7ZGVzY3JpcHRpb259ICDCtyAge30gIMK3ICAvZGV2L3tuYW1lfVwiLFxuICAgICAgICAgICAgZm9ybWF0X3NpemUoc2VjdG9ycy5zYXR1cmF0aW5nX211bCg1MTIpKVxuICAgICAgICApKTtcbiAgICB9XG4gICAgZHJpdmVzLnNvcnQoKTtcbiAgICBkcml2ZXNcbn1cblxuZm4gZm9ybWF0X3NpemUoYnl0ZXM6IHU2NCkgLT4gU3RyaW5nIHtcbiAgICBjb25zdCBHSUI6IGY2NCA9IDEwMjQuMCAqIDEwMjQuMCAqIDEwMjQuMDtcbiAgICBjb25zdCBNSUI6IGY2NCA9IDEwMjQuMCAqIDEwMjQuMDtcbiAgICBpZiBieXRlcyBhcyBmNjQgPj0gR0lCIHtcbiAgICAgICAgZm9ybWF0IShcIns6LjF9IEdCXCIsIGJ5dGVzIGFzIGY2NCAvIEdJQilcbiAgICB9IGVsc2Uge1xuICAgICAgICBmb3JtYXQhKFwiezouMH0gTUJcIiwgYnl0ZXMgYXMgZjY0IC8gTUlCKVxuICAgIH1cbn1cbiJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6NDgwNywib3V0cHV0Ijo5NzcsImNhY2hlUmVhZCI6NjQwMDAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6OTksInRvdGFsVG9rZW5zIjo2OTc4NCwiY29zdCI6eyJpbnB1dCI6MC4wMjQwMzUsIm91dHB1dCI6MC4wMjkzMSwiY2FjaGVSZWFkIjowLjAzMiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDg1MzQ1fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MDI3MjAyLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGNkMzg5NmM4MTkxYjEwN2RlNTc0NWI2MGNiNiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4YWM4ZDNmMiIsInBhcmVudElkIjoiMTg1ZWRmODkiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU3OjI2LjgzOVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfU1hHUUY0UDhqUDlCc2NoZUZPWk4xY2UwfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkY2Q4Mzg5MDgxOTE5Zjg1NzJmNjI2MzkxMGRhIiwidG9vbE5hbWUiOiJ3cml0ZSIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSB3cm90ZSAyNzQ4IGJ5dGVzIHRvIGNyYXRlcy9mbGFzaGVyLXF0L3NyYy9tYWluLnJzIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MDQ2ODM5fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMjAwY2I0NjEiLCJwYXJlbnRJZCI6IjhhYzhkM2YyIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1NzozNC4zNDRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkRlbGV0aW5nIG9ic29sZXRlIFFNTCBmaWxlcyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRjZThmODYwODE5MTkxZjRjYWYyNjVjMWQzNjVcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk56cEZEaXh2eXZUcTFCNnRuSGZfTHVRSHJZdEY2VFYwOUtJUEp0aUdqcVRoQU5JTzdIRnF3eVJVdVlmN0hpOUlCQXVxOTc3NkhPMHl0Z2JENnc3amp1MnQ2NVppeUxmdW9HMjA1R244WXpHOXlMTUIxejVkUEE3c2hNOFlGRGRNT0dLQkNUNXJIWWFnM2VvQ0xsRUtrdnM3X20wemJwSFhuTTZLMWIzRW5JVlhJV1hMNU5uYW4wN1dFUmJNb0czOU9HZWl1eEZxdk1XaVloaURyaFNFRFQwcDhaMVdBSTl3T285a2Z3Z1B4TnRmeDVBMGZJUmhYZ2xoNXBzT2FxVHVNdG5FbjY2SlNncFlNT1lPR21iRjJxX3BlbGpnWGNORW1lNDJGXzg2bWdQZXk4TFRMbzNUQ0tuenloREVvQW1iNDZwMmNjUmJpOV9xY29pQTJsNTdENHl2YTNKQzFFVXExY1FQaFVuZEY0dS1NMmxXNWROdUpaRDd3Wmk1b3pYcksxaERiSWg0Z0kwVU9MZ2xDcEczeUZjZ19XRGFWQTdVTEdzM2xNaWhYcS1LMTdKcHNTWnplNXBuQ0dOd3RiaGNTWk41OS1Zb0s3WG5pWmh0SktGLTVoUTN4TEdiLU5UTVplNENGZW83OFVGLUY4ZkpSaDlCMlRIc1VySXJtNEdpQW1fZFN1NE1tM3N0MkNJQ1I2bzByQUNwNDZrbjZYdlRweXRTRGpVOGdNRmdIYXY3dFZrVm1xcVpZN1RkbXZvTFVkXzllX3ZiLXI4UEdUSUNoYVlXaTZ5Snc4SFNKcFEzaVd6RndVdWlkcGNfajBOM0hiQWFvTjAwRkpzS05vRW1YZVkwTTZRQlNpQ1NKSTI4akVwYzhfcVVneEh2aFJMZi1yR2tlZE1qU0pTYlVZZHNFYzFaTXFMMFNrTllEcXplMXRwY1ZHTnVWcGNCT1N6UkUxUDRFU241bzhaRXdxU1dsRmRITHBiZG05MDFFbmhxVW9CUmpRLVk4Zy16MDNnMXIzODNvb2hERTNCWkk4TmZKRUR6bmJ6eWVJaVBzUUNjcXdvcnlBYU9RSnRGcVVEYk5IOWR1cjRpLUVqUmp6MXU0QlJkTFl1MEVCR0NlR19ENG5RLTUzVHhtb1lGSzBPaWNLalRWVFRkZ2I5bEt4bDgxNUZYZmFHUmFYNkptSTRZMFp6S1Qyb3JHOEVEdHJUMGNjQzE1aExmUDlJYWtzTHBZYzVBeHdtRmdqSGF3TWk4V214dWt0WjJ5YWFOaGJnRERZSmpSdTZHb1VqTG8xdlpsYkRDRVY4QVhpVXhwNGxUSV9GNzJyRXJHYkJvYTA9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipEZWxldGluZyBvYnNvbGV0ZSBRTUwgZmlsZXMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfVzAzNUJ5M3FFZmdJZVpGcmxwaDRrUzBOfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkY2U5ZTMzODgxOTE4NDAwNDZhOThiNWM1Y2I3IiwibmFtZSI6ImVkaXQiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L3NyYy91aS5jcHAiLCJlZGl0cyI6W3sib2xkVGV4dCI6IiNpbmNsdWRlIDxRQXBwbGljYXRpb24+XG4jaW5jbHVkZSA8UUJ1dHRvbkdyb3VwPlxuI2luY2x1ZGUgPFFDaGVja0JveD5cbiNpbmNsdWRlIDxRQ29tYm9Cb3g+XG4jaW5jbHVkZSA8UURpYWxvZz4iLCJuZXdUZXh0IjoiI2luY2x1ZGUgPFFBY3Rpb24+XG4jaW5jbHVkZSA8UUFwcGxpY2F0aW9uPlxuI2luY2x1ZGUgPFFDaGVja0JveD5cbiNpbmNsdWRlIDxRQ29tYm9Cb3g+XG4jaW5jbHVkZSA8UURpYWxvZz4ifSx7Im9sZFRleHQiOiIjaW5jbHVkZSA8UUZpbGVEaWFsb2c+XG4jaW5jbHVkZSA8UUZvcm1MYXlvdXQ+XG4jaW5jbHVkZSA8UUZyYW1lPiIsIm5ld1RleHQiOiIjaW5jbHVkZSA8UUZpbGVEaWFsb2c+XG4jaW5jbHVkZSA8UUZpbGVJbmZvPlxuI2luY2x1ZGUgPFFGb250PlxuI2luY2x1ZGUgPFFGb3JtTGF5b3V0PlxuI2luY2x1ZGUgPFFGcmFtZT4ifSx7Im9sZFRleHQiOiIjaW5jbHVkZSA8UU1haW5XaW5kb3c+XG4jaW5jbHVkZSA8UU1lbnVCYXI+XG4jaW5jbHVkZSA8UU1lc3NhZ2VCb3g+IiwibmV3VGV4dCI6IiNpbmNsdWRlIDxRTWFpbldpbmRvdz5cbiNpbmNsdWRlIDxRTWFwPlxuI2luY2x1ZGUgPFFNZW51QmFyPlxuI2luY2x1ZGUgPFFNZXNzYWdlQm94PlxuI2luY2x1ZGUgPFFQYWxldHRlPiJ9LHsib2xkVGV4dCI6IiNpbmNsdWRlIDxRUmFkaW9CdXR0b24+XG4jaW5jbHVkZSA8UVNjcm9sbEFyZWE+IiwibmV3VGV4dCI6IiNpbmNsdWRlIDxRUmFkaW9CdXR0b24+XG4jaW5jbHVkZSA8UVJlZ0V4cD5cbiNpbmNsdWRlIDxRU2Nyb2xsQXJlYT4ifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTcxMywib3V0cHV0IjoyODksImNhY2hlUmVhZCI6NjgwOTYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTgsInRvdGFsVG9rZW5zIjo3MDA5OCwiY29zdCI6eyJpbnB1dCI6MC4wMDg1NjUwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDg2NywiY2FjaGVSZWFkIjowLjAzNDA0OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDUxMjgzfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MDQ2ODQyLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGNlNzNhOGM4MTkxODE1ZWM3MzQ3MTRlMzBiNSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4MTIyY2RhNSIsInBhcmVudElkIjoiMjAwY2I0NjEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU3OjM0LjM1MloiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfVzAzNUJ5M3FFZmdJZVpGcmxwaDRrUzBOfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkY2U5ZTMzODgxOTE4NDAwNDZhOThiNWM1Y2I3IiwidG9vbE5hbWUiOiJlZGl0IiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHJlcGxhY2VkIDQgYmxvY2socykgaW4gY3JhdGVzL2ZsYXNoZXItcXQvc3JjL3VpLmNwcC4ifV0sImRldGFpbHMiOnsiZGlmZiI6IisgIDEgI2luY2x1ZGUgPFFBY3Rpb24+XG4gICAxICNpbmNsdWRlIDxRQXBwbGljYXRpb24+XG4tICAyICNpbmNsdWRlIDxRQnV0dG9uR3JvdXA+XG4gICAzICNpbmNsdWRlIDxRQ2hlY2tCb3g+XG4gICA0ICNpbmNsdWRlIDxRQ29tYm9Cb3g+XG4gICA1ICNpbmNsdWRlIDxRRGlhbG9nPlxuICAgNiAjaW5jbHVkZSA8UURpYWxvZ0J1dHRvbkJveD5cbiAgIDcgI2luY2x1ZGUgPFFGaWxlRGlhbG9nPlxuKyAgOCAjaW5jbHVkZSA8UUZpbGVJbmZvPlxuKyAgOSAjaW5jbHVkZSA8UUZvbnQ+XG4gICA4ICNpbmNsdWRlIDxRRm9ybUxheW91dD5cbiAgIDkgI2luY2x1ZGUgPFFGcmFtZT5cbiAgMTAgI2luY2x1ZGUgPFFHcm91cEJveD5cbiAgMTEgI2luY2x1ZGUgPFFIQm94TGF5b3V0PlxuICAxMiAjaW5jbHVkZSA8UUxhYmVsPlxuICAxMyAjaW5jbHVkZSA8UUxpbmVFZGl0PlxuICAxNCAjaW5jbHVkZSA8UU1haW5XaW5kb3c+XG4rIDE3ICNpbmNsdWRlIDxRTWFwPlxuICAxNSAjaW5jbHVkZSA8UU1lbnVCYXI+XG4gIDE2ICNpbmNsdWRlIDxRTWVzc2FnZUJveD5cbisgMjAgI2luY2x1ZGUgPFFQYWxldHRlPlxuICAxNyAjaW5jbHVkZSA8UVB1c2hCdXR0b24+XG4gIDE4ICNpbmNsdWRlIDxRUmFkaW9CdXR0b24+XG4rIDIzICNpbmNsdWRlIDxRUmVnRXhwPlxuICAxOSAjaW5jbHVkZSA8UVNjcm9sbEFyZWE+XG4gIDIwICNpbmNsdWRlIDxRU3RhdHVzQmFyPlxuICAyMSAjaW5jbHVkZSA8UVN0eWxlPlxuICAyMiAjaW5jbHVkZSA8UVRyZWVXaWRnZXQ+XG4gICAgIC4uLiIsInBhdGNoIjoiLS0tIGNyYXRlcy9mbGFzaGVyLXF0L3NyYy91aS5jcHBcbisrKyBjcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwXG5AQCAtMSwyMiArMSwyNyBAQFxuKyNpbmNsdWRlIDxRQWN0aW9uPlxuICNpbmNsdWRlIDxRQXBwbGljYXRpb24+XG4tI2luY2x1ZGUgPFFCdXR0b25Hcm91cD5cbiAjaW5jbHVkZSA8UUNoZWNrQm94PlxuICNpbmNsdWRlIDxRQ29tYm9Cb3g+XG4gI2luY2x1ZGUgPFFEaWFsb2c+XG4gI2luY2x1ZGUgPFFEaWFsb2dCdXR0b25Cb3g+XG4gI2luY2x1ZGUgPFFGaWxlRGlhbG9nPlxuKyNpbmNsdWRlIDxRRmlsZUluZm8+XG4rI2luY2x1ZGUgPFFGb250PlxuICNpbmNsdWRlIDxRRm9ybUxheW91dD5cbiAjaW5jbHVkZSA8UUZyYW1lPlxuICNpbmNsdWRlIDxRR3JvdXBCb3g+XG4gI2luY2x1ZGUgPFFIQm94TGF5b3V0PlxuICNpbmNsdWRlIDxRTGFiZWw+XG4gI2luY2x1ZGUgPFFMaW5lRWRpdD5cbiAjaW5jbHVkZSA8UU1haW5XaW5kb3c+XG4rI2luY2x1ZGUgPFFNYXA+XG4gI2luY2x1ZGUgPFFNZW51QmFyPlxuICNpbmNsdWRlIDxRTWVzc2FnZUJveD5cbisjaW5jbHVkZSA8UVBhbGV0dGU+XG4gI2luY2x1ZGUgPFFQdXNoQnV0dG9uPlxuICNpbmNsdWRlIDxRUmFkaW9CdXR0b24+XG4rI2luY2x1ZGUgPFFSZWdFeHA+XG4gI2luY2x1ZGUgPFFTY3JvbGxBcmVhPlxuICNpbmNsdWRlIDxRU3RhdHVzQmFyPlxuICNpbmNsdWRlIDxRU3R5bGU+XG4gI2luY2x1ZGUgPFFUcmVlV2lkZ2V0PlxuIiwiZmlyc3RDaGFuZ2VkTGluZSI6MX0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTUwNTQzNTJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3ZGRlNjI2MCIsInBhcmVudElkIjoiODEyMmNkYTUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU3OjQxLjQxNVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfN0wySVU0MDVMWXFMemtGazRMdHFCSkE4fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkY2YzZjVkMDgxOTFiMDUyY2ZkYTk0ZTE5NzA0IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJtIC1yZiBjcmF0ZXMvZmxhc2hlci1xdC9xbWxcbmNhcmdvIHVwZGF0ZSAtcCBxbWV0YW9iamVjdCAtLXByZWNpc2UgMC4yLjEwIDI+L2Rldi9udWxsIHx8IHRydWVcbmNhcmdvIG1ldGFkYXRhIC0tbm8tZGVwcyAtLWZvcm1hdC12ZXJzaW9uIDEgPi9kZXYvbnVsbFxuY2FyZ28gY2hlY2sgLXAgZmxhc2hlci1xdCIsInRpbWVvdXQiOjEyMH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMDA1LCJvdXRwdXQiOjc5LCJjYWNoZVJlYWQiOjY5MTIwLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjAsInRvdGFsVG9rZW5zIjo3MDIwNCwiY29zdCI6eyJpbnB1dCI6MC4wMDUwMjUwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDIzNywiY2FjaGVSZWFkIjowLjAzNDU2LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNDE5NTV9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTUwNTQzNTUsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkY2VlZDAzYzgxOTE5YzliMmEyM2RkZGEyYWFhIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjgwMDg3ZmE2IiwicGFyZW50SWQiOiI3ZGRlNjI2MCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTc6NTcuNDI2WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF83TDJJVTQwNUxZcUx6a0ZrNEx0cUJKQTh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRjZjNmNWQwODE5MWIwNTJjZmRhOTRlMTk3MDQiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICBDb21waWxpbmcgcGtnLWNvbmZpZyB2MC4zLjMzXG4gICBDb21waWxpbmcgZmxhc2hlci1xdCB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvY3JhdGVzL2ZsYXNoZXItcXQpXG4gICAgRmluaXNoZWQgYGRldmAgcHJvZmlsZSBbdW5vcHRpbWl6ZWQgKyBkZWJ1Z2luZm9dIHRhcmdldChzKSBpbiAyLjgxc1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MDc3NDI2fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMzMxYmM4YzMiLCJwYXJlbnRJZCI6IjgwMDg3ZmE2IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1ODowMi41NDdaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlZlcmlmeWluZyBzdWNjZXNzZnVsIFF0IHBhY2thZ2UgZGV0ZWN0aW9uKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGQwN2RhMTA4MTkxOTM2ZWM5MDJkMjZiN2JlOVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjBLbTQwUTJoTzJ2NlZYbVhhdHNqOVYxc0llbmhPWVlrMXM1VG80aVRoLWQ5M0JEWER5WWUzaEJBaURTdEpkYUxRRDhhS2FBRVh0WlNzemNsOFp0VDBlUzAxRmdXdHpQc2pfY1UycWc3UzhjcFZmaUROUzllZEVUN2VlcHM3amJVVzUxNm5adE1zSFQ2UmM1TWFmVkhOZXBPY2RuRWJ2ZGw1UjNPSzBSVXAyeE5GcjUwa3lXcGhUWm9nZGh6TW14UnRZUktFb0FmYkt1bUphMU1EYkZKQ0hWdVBmRy1QX1BCRkx1SWpfOEtUYlNBNlAzbFNJSFU3U3RFLW1rQ0VTM0FDY1pOQVJySmRwb1pqYmlISDAyMzd0dUM1YjN6TUpubkJQdmV3YkdvY1FudUc5RUstWVR2RWdWT045a3lkZVV4TnFQUzRkdjJobWlKMG5BNGppdzJkYVhxWFlHdlo0Z1FVRWdIcWJPRVJIZ3pYc3N0YzJNUzdFcjFiczRPRlB3UGVHaXZMeGd5dnBvNVpPZHQwOUpVNDVUdWI3dnlhNlRaS0NsUVI0ZWwycUo4bzV4NGY3RjJyN1NnV25Fa1dRTVFJV2hmd0FHdm5fQ0xNUXltVVExME1NMFhDREE2T3NPdE9wMFpyZ0Z3cUdtQUpsazJBQ0syYjQxU1JLQk9NVDNiT2JqblhVWFgyZDNpTWVpaGgtQXNSTDY4LTVzTmpIamtYSVhUYnVKSVd3LXhodmExVmlaLVo0dW1xaXl1OUtvcjhQZDN6UmFTT0Y1WDZIOHFrYmFvdTNNNjVCcVNwR2pEYkZvcmRCNHNhQlB4ZUc4MktOVGVCOW13a01fTzN1VlJYbUQ5MDVLUkFOSFpIckNZMFplSk1meWltTUMxVWNMN0cyY3VSMlUtYVlVN2RCQ0hSYUp6UDQzdUtfLUFaTS01cmktTmZxRC1BZ0tmTks0aWZEWnRCZWhvQWhBRWZMdHVGQ0RfYklHV3hYVzkwbUpad0lJNU9tazhiR0dObkh6OE9FcXl5dld1V0JveXRRRi1nRlJfR0s5N3hsRTZxYnlmWWt3X0x0a2g0RXl5eTZmUVFoUndXaFVrR2F6WjJwd01vakhCOVlVMW9TNjV2TVVmSExCVXBqSF9qNkVIeXRoVUpsamstODVWN2pkek1NeERfUTRlbm1oNU1EYmRBM0MwcHdXVjRZOFlGUl9QWTNGamU2OFlnYVphUmJKTGJSRTJxcVE4RkhaWFFFdkdWNW1TMTVPTzVrT0RJRzFnQnFaZWJ6TG5oOFM0bmx2dFRzSVppdWt4NzQ3Z3ktcTBDbEk5aFliY2Z4M1FaUzZuVUtDOXp2YThGdU14c2p1RGhpbFhadEdDT2F1b2tzbVRxdkZsRzlXcW9xckpKVGdPenR6eXA2Qy0zSmtZd1V4c2JGNjRpa0RBX0dOZWNfZnAzS1dNWVdhN0NmeWFsd2ZNR3ZmYVJSVV8taHN4VzR4N0JsV3BPLTRJRTMzWWZtRFRUM0tpQXlfaE94aFd4SEFWUHpsWVJtSW9lVVY2OUwwZFNXU2NjRTBtQ3Zycy1DSDg4ZGszemtQUjFyZjVydkZ5M3VGRGRYb2cwbFJ1LVRoYy1sSGNzdXBvMDZtTlNLUV9mR3hkUHMwc1huajVZVDZwNXNrclU5UjJPNTBSZWJoM0VlbXdySS1JOHFyQ3NHYmdrdTVFX250R2QzRmhZYVhVZlJNMzE3cnkyOGYweVBmYXg3bkhDN1NqSUYweWJDOENvPVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqVmVyaWZ5aW5nIHN1Y2Nlc3NmdWwgUXQgcGFja2FnZSBkZXRlY3Rpb24qKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfWnlnZjA0Sk03RmtIR3kzS2FjM2RvS1ZEfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDBhNDc4ODgxOTFiZDhjMWRiYmM1NmNlYjg4IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGJ1aWxkIiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjExNjAsIm91dHB1dCI6ODgsImNhY2hlUmVhZCI6NjkxMjAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NjMsInRvdGFsVG9rZW5zIjo3MDM2OCwiY29zdCI6eyJpbnB1dCI6MC4wMDU4MDAwMDAwMDAwMDAwMDA1LCJvdXRwdXQiOjAuMDAyNjQsImNhY2hlUmVhZCI6MC4wMzQ1NiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDQzfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MDc3NDI5LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGQwNWQ5OTg4MTkxOTg2NmQyMTUwYTZjMWNjOSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJmZDM5Y2VkNSIsInBhcmVudElkIjoiMzMxYmM4YzMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU4OjA0LjkxM1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfWnlnZjA0Sk03RmtIR3kzS2FjM2RvS1ZEfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDBhNDc4ODgxOTFiZDhjMWRiYmM1NmNlYjg4IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTogaW4gZnVuY3Rpb24gYHN0ZDo6ZW5hYmxlX2lmPFF0UHJpdmF0ZTo6RnVuY3Rpb25Qb2ludGVyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6TWFpbldpbmRvdzo6Y3JlYXRlSGFyZHdhcmUoUVZCb3hMYXlvdXQqKTo6e2xhbWJkYSgpIzF9Pjo6QXJndW1lbnRDb3VudD09KC0xKSwgUU1ldGFPYmplY3Q6OkNvbm5lY3Rpb24+Ojp0eXBlIFFPYmplY3Q6OmNvbm5lY3Q8dm9pZCAoUUFic3RyYWN0QnV0dG9uOjoqKShib29sKSwgKGFub255bW91cyBuYW1lc3BhY2UpOjpNYWluV2luZG93OjpjcmVhdGVIYXJkd2FyZShRVkJveExheW91dCopOjp7bGFtYmRhKCkjMX0+KFF0UHJpdmF0ZTo6RnVuY3Rpb25Qb2ludGVyPHZvaWQgKFFBYnN0cmFjdEJ1dHRvbjo6KikoYm9vbCk+OjpPYmplY3QgY29uc3QqLCB2b2lkIChRQWJzdHJhY3RCdXR0b246OiopKGJvb2wpLCBRT2JqZWN0IGNvbnN0KiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpNYWluV2luZG93OjpjcmVhdGVIYXJkd2FyZShRVkJveExheW91dCopOjp7bGFtYmRhKCkjMX0sIFF0OjpDb25uZWN0aW9uVHlwZSknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FvYmplY3QuaDozNDc6KC50ZXh0Ll9aTjdRT2JqZWN0N2Nvbm5lY3RJTTE1UUFic3RyYWN0QnV0dG9uRnZiRVpOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3cxNGNyZWF0ZUhhcmR3YXJlRVAxMVFWQm94TGF5b3V0RVVsdkVfRUVOU3Q5ZW5hYmxlX2lmSVhlcXNyTjlRdFByaXZhdGUxNUZ1bmN0aW9uUG9pbnRlcklUMF9FRTEzQXJndW1lbnRDb3VudExpbjFFRU4xMVFNZXRhT2JqZWN0MTBDb25uZWN0aW9uRUU0dHlwZUVQS05TQl9JVF9FNk9iamVjdEVTSV9QS1NfU0NfTjJRdDE0Q29ubmVjdGlvblR5cGVFKzB4OWIpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRQWJzdHJhY3RCdXR0b246OnN0YXRpY01ldGFPYmplY3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xb2JqZWN0Lmg6MzQ3OigudGV4dC5fWk43UU9iamVjdDdjb25uZWN0SU0xNVFBYnN0cmFjdEJ1dHRvbkZ2YkVaTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93MTRjcmVhdGVIYXJkd2FyZUVQMTFRVkJveExheW91dEVVbHZFX0VFTlN0OWVuYWJsZV9pZklYZXFzck45UXRQcml2YXRlMTVGdW5jdGlvblBvaW50ZXJJVDBfRUUxM0FyZ3VtZW50Q291bnRMaW4xRUVOMTFRTWV0YU9iamVjdDEwQ29ubmVjdGlvbkVFNHR5cGVFUEtOU0JfSVRfRTZPYmplY3RFU0lfUEtTX1NDX04yUXQxNENvbm5lY3Rpb25UeXBlRSsweGI0KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU9iamVjdDo6Y29ubmVjdEltcGwoUU9iamVjdCBjb25zdCosIHZvaWQqKiwgUU9iamVjdCBjb25zdCosIHZvaWQqKiwgUXRQcml2YXRlOjpRU2xvdE9iamVjdEJhc2UqLCBRdDo6Q29ubmVjdGlvblR5cGUsIGludCBjb25zdCosIFFNZXRhT2JqZWN0IGNvbnN0KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgc3RkOjplbmFibGVfaWY8UXRQcml2YXRlOjpGdW5jdGlvblBvaW50ZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpNYWluV2luZG93OjpjcmVhdGVEZXN0aW5hdGlvbihRVkJveExheW91dCosIFFTdHJpbmcgY29uc3QmKTo6e2xhbWJkYShib29sKSMxfT46OkFyZ3VtZW50Q291bnQ9PSgtMSksIFFNZXRhT2JqZWN0OjpDb25uZWN0aW9uPjo6dHlwZSBRT2JqZWN0Ojpjb25uZWN0PHZvaWQgKFFBYnN0cmFjdEJ1dHRvbjo6KikoYm9vbCksIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6TWFpbldpbmRvdzo6Y3JlYXRlRGVzdGluYXRpb24oUVZCb3hMYXlvdXQqLCBRU3RyaW5nIGNvbnN0Jik6OntsYW1iZGEoYm9vbCkjMX0+KFF0UHJpdmF0ZTo6RnVuY3Rpb25Qb2ludGVyPHZvaWQgKFFBYnN0cmFjdEJ1dHRvbjo6KikoYm9vbCk+OjpPYmplY3QgY29uc3QqLCB2b2lkIChRQWJzdHJhY3RCdXR0b246OiopKGJvb2wpLCBRT2JqZWN0IGNvbnN0KiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpNYWluV2luZG93OjpjcmVhdGVEZXN0aW5hdGlvbihRVkJveExheW91dCosIFFTdHJpbmcgY29uc3QmKTo6e2xhbWJkYShib29sKSMxfSwgUXQ6OkNvbm5lY3Rpb25UeXBlKSc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcW9iamVjdC5oOjM0NzooLnRleHQuX1pON1FPYmplY3Q3Y29ubmVjdElNMTVRQWJzdHJhY3RCdXR0b25GdmJFWk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvdzE3Y3JlYXRlRGVzdGluYXRpb25FUDExUVZCb3hMYXlvdXRSSzdRU3RyaW5nRVVsYkVfRUVOU3Q5ZW5hYmxlX2lmSVhlcXNyTjlRdFByaXZhdGUxNUZ1bmN0aW9uUG9pbnRlcklUMF9FRTEzQXJndW1lbnRDb3VudExpbjFFRU4xMVFNZXRhT2JqZWN0MTBDb25uZWN0aW9uRUU0dHlwZUVQS05TRV9JVF9FNk9iamVjdEVTTF9QS1NfU0ZfTjJRdDE0Q29ubmVjdGlvblR5cGVFKzB4OWIpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRQWJzdHJhY3RCdXR0b246OnN0YXRpY01ldGFPYmplY3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xb2JqZWN0Lmg6MzQ3OigudGV4dC5fWk43UU9iamVjdDdjb25uZWN0SU0xNVFBYnN0cmFjdEJ1dHRvbkZ2YkVaTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93MTdjcmVhdGVEZXN0aW5hdGlvbkVQMTFRVkJveExheW91dFJLN1FTdHJpbmdFVWxiRV9FRU5TdDllbmFibGVfaWZJWGVxc3JOOVF0UHJpdmF0ZTE1RnVuY3Rpb25Qb2ludGVySVQwX0VFMTNBcmd1bWVudENvdW50TGluMUVFTjExUU1ldGFPYmplY3QxMENvbm5lY3Rpb25FRTR0eXBlRVBLTlNFX0lUX0U2T2JqZWN0RVNMX1BLU19TRl9OMlF0MTRDb25uZWN0aW9uVHlwZUUrMHhiNCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFPYmplY3Q6OmNvbm5lY3RJbXBsKFFPYmplY3QgY29uc3QqLCB2b2lkKiosIFFPYmplY3QgY29uc3QqLCB2b2lkKiosIFF0UHJpdmF0ZTo6UVNsb3RPYmplY3RCYXNlKiwgUXQ6OkNvbm5lY3Rpb25UeXBlLCBpbnQgY29uc3QqLCBRTWV0YU9iamVjdCBjb25zdCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTogaW4gZnVuY3Rpb24gYFFTdGF0aWNTdHJpbmdEYXRhPDEzPjo6ZGF0YV9wdHIoKSBjb25zdCc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXN0cmluZ2xpdGVyYWwuaDo5NjooLnRleHQuX1pOSzE3UVN0YXRpY1N0cmluZ0RhdGFJTGkxM0VFOGRhdGFfcHRyRXZbX1pOSzE3UVN0YXRpY1N0cmluZ0RhdGFJTGkxM0VFOGRhdGFfcHRyRXZdKzB4M2EpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxdF9hc3NlcnQoY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTogaW4gZnVuY3Rpb24gYHN0ZDo6ZW5hYmxlX2lmPFF0UHJpdmF0ZTo6RnVuY3Rpb25Qb2ludGVyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6TWFpbldpbmRvdzo6Y3JlYXRlRGVzdGluYXRpb24oUVZCb3hMYXlvdXQqLCBRU3RyaW5nIGNvbnN0Jik6OntsYW1iZGEoKSMxfT46OkFyZ3VtZW50Q291bnQ9PSgtMSksIFFNZXRhT2JqZWN0OjpDb25uZWN0aW9uPjo6dHlwZSBRT2JqZWN0Ojpjb25uZWN0PHZvaWQgKFFBYnN0cmFjdEJ1dHRvbjo6KikoYm9vbCksIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6TWFpbldpbmRvdzo6Y3JlYXRlRGVzdGluYXRpb24oUVZCb3hMYXlvdXQqLCBRU3RyaW5nIGNvbnN0Jik6OntsYW1iZGEoKSMxfT4oUXRQcml2YXRlOjpGdW5jdGlvblBvaW50ZXI8dm9pZCAoUUFic3RyYWN0QnV0dG9uOjoqKShib29sKT46Ok9iamVjdCBjb25zdCosIHZvaWQgKFFBYnN0cmFjdEJ1dHRvbjo6KikoYm9vbCksIFFPYmplY3QgY29uc3QqLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Ok1haW5XaW5kb3c6OmNyZWF0ZURlc3RpbmF0aW9uKFFWQm94TGF5b3V0KiwgUVN0cmluZyBjb25zdCYpOjp7bGFtYmRhKCkjMX0sIFF0OjpDb25uZWN0aW9uVHlwZSknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FvYmplY3QuaDozNDc6KC50ZXh0Ll9aTjdRT2JqZWN0N2Nvbm5lY3RJTTE1UUFic3RyYWN0QnV0dG9uRnZiRVpOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3cxN2NyZWF0ZURlc3RpbmF0aW9uRVAxMVFWQm94TGF5b3V0Uks3UVN0cmluZ0VVbHZFX0VFTlN0OWVuYWJsZV9pZklYZXFzck45UXRQcml2YXRlMTVGdW5jdGlvblBvaW50ZXJJVDBfRUUxM0FyZ3VtZW50Q291bnRMaW4xRUVOMTFRTWV0YU9iamVjdDEwQ29ubmVjdGlvbkVFNHR5cGVFUEtOU0VfSVRfRTZPYmplY3RFU0xfUEtTX1NGX04yUXQxNENvbm5lY3Rpb25UeXBlRSsweDliKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUUFic3RyYWN0QnV0dG9uOjpzdGF0aWNNZXRhT2JqZWN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcW9iamVjdC5oOjM0NzooLnRleHQuX1pON1FPYmplY3Q3Y29ubmVjdElNMTVRQWJzdHJhY3RCdXR0b25GdmJFWk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvdzE3Y3JlYXRlRGVzdGluYXRpb25FUDExUVZCb3hMYXlvdXRSSzdRU3RyaW5nRVVsdkVfRUVOU3Q5ZW5hYmxlX2lmSVhlcXNyTjlRdFByaXZhdGUxNUZ1bmN0aW9uUG9pbnRlcklUMF9FRTEzQXJndW1lbnRDb3VudExpbjFFRU4xMVFNZXRhT2JqZWN0MTBDb25uZWN0aW9uRUU0dHlwZUVQS05TRV9JVF9FNk9iamVjdEVTTF9QS1NfU0ZfTjJRdDE0Q29ubmVjdGlvblR5cGVFKzB4YjQpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRT2JqZWN0Ojpjb25uZWN0SW1wbChRT2JqZWN0IGNvbnN0Kiwgdm9pZCoqLCBRT2JqZWN0IGNvbnN0Kiwgdm9pZCoqLCBRdFByaXZhdGU6OlFTbG90T2JqZWN0QmFzZSosIFF0OjpDb25uZWN0aW9uVHlwZSwgaW50IGNvbnN0KiwgUU1ldGFPYmplY3QgY29uc3QqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6IGluIGZ1bmN0aW9uIGBRU3RhdGljU3RyaW5nRGF0YTw0Pjo6ZGF0YV9wdHIoKSBjb25zdCc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXN0cmluZ2xpdGVyYWwuaDo5NjooLnRleHQuX1pOSzE3UVN0YXRpY1N0cmluZ0RhdGFJTGk0RUU4ZGF0YV9wdHJFdltfWk5LMTdRU3RhdGljU3RyaW5nRGF0YUlMaTRFRThkYXRhX3B0ckV2XSsweDNhKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcXRfYXNzZXJ0KGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiwgaW50KSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6IGluIGZ1bmN0aW9uIGBRU3RyaW5nIFF0UHJpdmF0ZTo6YXJnVG9RU3RyaW5nRGlzcGF0Y2g8UVN0cmluZ1ZpZXcsIFF0UHJpdmF0ZTo6UVN0cmluZ1ZpZXdBcmcsIFF0UHJpdmF0ZTo6UVN0cmluZ1ZpZXdBcmcsIFF0UHJpdmF0ZTo6UVN0cmluZ1ZpZXdBcmc+KFFTdHJpbmdWaWV3LCBRdFByaXZhdGU6OlFTdHJpbmdWaWV3QXJnIGNvbnN0JiwgUXRQcml2YXRlOjpRU3RyaW5nVmlld0FyZyBjb25zdCYsIFF0UHJpdmF0ZTo6UVN0cmluZ1ZpZXdBcmcgY29uc3QmKSc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXN0cmluZy5oOjIxMDg6KC50ZXh0Ll9aTks3UVN0cmluZzNhcmdJSlJTX1MxX1JLU19FRUVOU3Q5ZW5hYmxlX2lmSVhhYWdlc1pUX0xpMkVzclN0N2lzX3NhbWVJTjlRdFByaXZhdGU4Qm9vbExpc3RJSlhzcHNyTlNfMzNpc19jb252ZXJ0aWJsZV90b192aWV3X29yX3FzdHJpbmdJVF9FRTV2YWx1ZUVMYjFFRUVFTlM3X0lKTGIxRVhzcHNyU0FfNXZhbHVlRUVFRUU1dmFsdWVFU19FNHR5cGVFRHBPUzlfW19aTks3UVN0cmluZzNhcmdJSlJTX1MxX1JLU19FRUVOU3Q5ZW5hYmxlX2lmSVhhYWdlc1pUX0xpMkVzclN0N2lzX3NhbWVJTjlRdFByaXZhdGU4Qm9vbExpc3RJSlhzcHNyTlNfMzNpc19jb252ZXJ0aWJsZV90b192aWV3X29yX3FzdHJpbmdJVF9FRTV2YWx1ZUVMYjFFRUVFTlM3X0lKTGIxRVhzcHNyU0FfNXZhbHVlRUVFRUU1dmFsdWVFU19FNHR5cGVFRHBPUzlfXSsweDE2Nik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFF0UHJpdmF0ZTo6YXJnVG9RU3RyaW5nKFFTdHJpbmdWaWV3LCB1bnNpZ25lZCBsb25nLCBRdFByaXZhdGU6OkFyZ0Jhc2UgY29uc3QqKiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUVN0YXRpY1N0cmluZ0RhdGE8MTY+OjpkYXRhX3B0cigpIGNvbnN0JzpcbiAgICAgICAgICAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xc3RyaW5nbGl0ZXJhbC5oOjk2OigudGV4dC5fWk5LMTdRU3RhdGljU3RyaW5nRGF0YUlMaTE2RUU4ZGF0YV9wdHJFdltfWk5LMTdRU3RhdGljU3RyaW5nRGF0YUlMaTE2RUU4ZGF0YV9wdHJFdl0rMHgzYSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHF0X2Fzc2VydChjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGludCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUVN0YXRpY1N0cmluZ0RhdGE8OT46OmRhdGFfcHRyKCkgY29uc3QnOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FzdHJpbmdsaXRlcmFsLmg6OTY6KC50ZXh0Ll9aTksxN1FTdGF0aWNTdHJpbmdEYXRhSUxpOUVFOGRhdGFfcHRyRXZbX1pOSzE3UVN0YXRpY1N0cmluZ0RhdGFJTGk5RUU4ZGF0YV9wdHJFdl0rMHgzYSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHF0X2Fzc2VydChjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGludCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUUxpc3Q8UVN0cmluZz46OmRlYWxsb2MoUUxpc3REYXRhOjpEYXRhKiknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FsaXN0Lmg6OTIzOigudGV4dC5fWk41UUxpc3RJN1FTdHJpbmdFN2RlYWxsb2NFUE45UUxpc3REYXRhNERhdGFFW19aTjVRTGlzdEk3UVN0cmluZ0U3ZGVhbGxvY0VQTjlRTGlzdERhdGE0RGF0YUVdKzB4NWIpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRTGlzdERhdGE6OmRpc3Bvc2UoUUxpc3REYXRhOjpEYXRhKiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUUxpc3Q8UVN0cmluZz46OmRldGFjaF9oZWxwZXJfZ3JvdyhpbnQsIGludCknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FsaXN0Lmg6ODAzOigudGV4dC5fWk41UUxpc3RJN1FTdHJpbmdFMThkZXRhY2hfaGVscGVyX2dyb3dFaWlbX1pONVFMaXN0STdRU3RyaW5nRTE4ZGV0YWNoX2hlbHBlcl9ncm93RWlpXSsweDNiKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUUxpc3REYXRhOjpkZXRhY2hfZ3JvdyhpbnQqLCBpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTogaW4gZnVuY3Rpb24gYGJvb2wgcU1hcExlc3NUaGFuS2V5PFFTdHJpbmc+KFFTdHJpbmcgY29uc3QmLCBRU3RyaW5nIGNvbnN0JiknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FtYXAuaDo2ODooLnRleHQuX1oxNXFNYXBMZXNzVGhhbktleUk3UVN0cmluZ0ViUktUX1MzX1tfWjE1cU1hcExlc3NUaGFuS2V5STdRU3RyaW5nRWJSS1RfUzNfXSsweDIzKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgb3BlcmF0b3I8KFFTdHJpbmcgY29uc3QmLCBRU3RyaW5nIGNvbnN0JiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUVR5cGVkQXJyYXlEYXRhPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6Qm9hcmQ+OjphbGxvY2F0ZSh1bnNpZ25lZCBsb25nLCBRRmxhZ3M8UUFycmF5RGF0YTo6QWxsb2NhdGlvbk9wdGlvbj4pJzpcbiAgICAgICAgICAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xYXJyYXlkYXRhLmg6MjI0OigudGV4dC5fWk4xNVFUeXBlZEFycmF5RGF0YUlOMTJfR0xPQkFMX19OXzE1Qm9hcmRFRThhbGxvY2F0ZUVtNlFGbGFnc0lOMTBRQXJyYXlEYXRhMTZBbGxvY2F0aW9uT3B0aW9uRUUrMHgyNik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFBcnJheURhdGE6OmFsbG9jYXRlKHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIFFGbGFnczxRQXJyYXlEYXRhOjpBbGxvY2F0aW9uT3B0aW9uPiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUU1hcERhdGE8UVN0cmluZywgUVRyZWVXaWRnZXRJdGVtKj46OmRlc3Ryb3koKSc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcW1hcC5oOjI1MDooLnRleHQuX1pOOFFNYXBEYXRhSTdRU3RyaW5nUDE1UVRyZWVXaWRnZXRJdGVtRTdkZXN0cm95RXZbX1pOOFFNYXBEYXRhSTdRU3RyaW5nUDE1UVRyZWVXaWRnZXRJdGVtRTdkZXN0cm95RXZdKzB4NTIpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRTWFwRGF0YUJhc2U6OmZyZWVUcmVlKFFNYXBOb2RlQmFzZSosIGludCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xbWFwLmg6MjUyOigudGV4dC5fWk44UU1hcERhdGFJN1FTdHJpbmdQMTVRVHJlZVdpZGdldEl0ZW1FN2Rlc3Ryb3lFdltfWk44UU1hcERhdGFJN1FTdHJpbmdQMTVRVHJlZVdpZGdldEl0ZW1FN2Rlc3Ryb3lFdl0rMHg1ZSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFNYXBEYXRhQmFzZTo6ZnJlZURhdGEoUU1hcERhdGFCYXNlKiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUVZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkJvYXJkPjo6ZGV0YWNoKCknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3F2ZWN0b3IuaDo0MDc6KC50ZXh0Ll9aTjdRVmVjdG9ySU4xMl9HTE9CQUxfX05fMTVCb2FyZEVFNmRldGFjaEV2KzB4YWMpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxdF9hc3NlcnQoY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTogaW4gZnVuY3Rpb24gYFF0UHJpdmF0ZTo6UVZhcmlhbnRWYWx1ZUhlbHBlcjxRRm9udD46Om1ldGFUeXBlKFFWYXJpYW50IGNvbnN0JiknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3F2YXJpYW50Lmg6NzQzOigudGV4dC5fWk45UXRQcml2YXRlMTlRVmFyaWFudFZhbHVlSGVscGVySTVRRm9udEU4bWV0YVR5cGVFUks4UVZhcmlhbnRbX1pOOVF0UHJpdmF0ZTE5UVZhcmlhbnRWYWx1ZUhlbHBlckk1UUZvbnRFOG1ldGFUeXBlRVJLOFFWYXJpYW50XSsweDMzKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVZhcmlhbnQ6OnVzZXJUeXBlKCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xdmFyaWFudC5oOjc0NDooLnRleHQuX1pOOVF0UHJpdmF0ZTE5UVZhcmlhbnRWYWx1ZUhlbHBlckk1UUZvbnRFOG1ldGFUeXBlRVJLOFFWYXJpYW50W19aTjlRdFByaXZhdGUxOVFWYXJpYW50VmFsdWVIZWxwZXJJNVFGb250RThtZXRhVHlwZUVSSzhRVmFyaWFudF0rMHg0OSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFWYXJpYW50Ojpjb25zdERhdGEoKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3F2YXJpYW50Lmg6NzQ0OigudGV4dC5fWk45UXRQcml2YXRlMTlRVmFyaWFudFZhbHVlSGVscGVySTVRRm9udEU4bWV0YVR5cGVFUks4UVZhcmlhbnRbX1pOOVF0UHJpdmF0ZTE5UVZhcmlhbnRWYWx1ZUhlbHBlckk1UUZvbnRFOG1ldGFUeXBlRVJLOFFWYXJpYW50XSsweDViKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUUZvbnQ6OlFGb250KFFGb250IGNvbnN0JiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xdmFyaWFudC5oOjc0NTooLnRleHQuX1pOOVF0UHJpdmF0ZTE5UVZhcmlhbnRWYWx1ZUhlbHBlckk1UUZvbnRFOG1ldGFUeXBlRVJLOFFWYXJpYW50W19aTjlRdFByaXZhdGUxOVFWYXJpYW50VmFsdWVIZWxwZXJJNVFGb250RThtZXRhVHlwZUVSSzhRVmFyaWFudF0rMHg2Yyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFGb250OjpRRm9udCgpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXZhcmlhbnQuaDo3NDY6KC50ZXh0Ll9aTjlRdFByaXZhdGUxOVFWYXJpYW50VmFsdWVIZWxwZXJJNVFGb250RThtZXRhVHlwZUVSSzhRVmFyaWFudFtfWk45UXRQcml2YXRlMTlRVmFyaWFudFZhbHVlSGVscGVySTVRRm9udEU4bWV0YVR5cGVFUks4UVZhcmlhbnRdKzB4ODEpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRVmFyaWFudDo6Y29udmVydChpbnQsIHZvaWQqKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3F2YXJpYW50Lmg6NzQ3OigudGV4dC5fWk45UXRQcml2YXRlMTlRVmFyaWFudFZhbHVlSGVscGVySTVRRm9udEU4bWV0YVR5cGVFUks4UVZhcmlhbnRbX1pOOVF0UHJpdmF0ZTE5UVZhcmlhbnRWYWx1ZUhlbHBlckk1UUZvbnRFOG1ldGFUeXBlRVJLOFFWYXJpYW50XSsweDk4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUUZvbnQ6OlFGb250KFFGb250IGNvbnN0JiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xdmFyaWFudC5oOjc0ODooLnRleHQuX1pOOVF0UHJpdmF0ZTE5UVZhcmlhbnRWYWx1ZUhlbHBlckk1UUZvbnRFOG1ldGFUeXBlRVJLOFFWYXJpYW50W19aTjlRdFByaXZhdGUxOVFWYXJpYW50VmFsdWVIZWxwZXJJNVFGb250RThtZXRhVHlwZUVSSzhRVmFyaWFudF0rMHhhNik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFGb250OjpRRm9udCgpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXZhcmlhbnQuaDo3NDk6KC50ZXh0Ll9aTjlRdFByaXZhdGUxOVFWYXJpYW50VmFsdWVIZWxwZXJJNVFGb250RThtZXRhVHlwZUVSSzhRVmFyaWFudFtfWk45UXRQcml2YXRlMTlRVmFyaWFudFZhbHVlSGVscGVySTVRRm9udEU4bWV0YVR5cGVFUks4UVZhcmlhbnRdKzB4YjIpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRm9udDo6flFGb250KCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xdmFyaWFudC5oOjc0OTooLnRleHQuX1pOOVF0UHJpdmF0ZTE5UVZhcmlhbnRWYWx1ZUhlbHBlckk1UUZvbnRFOG1ldGFUeXBlRVJLOFFWYXJpYW50W19aTjlRdFByaXZhdGUxOVFWYXJpYW50VmFsdWVIZWxwZXJJNVFGb250RThtZXRhVHlwZUVSSzhRVmFyaWFudF0rMHhjNyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFGb250Ojp+UUZvbnQoKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6IGluIGZ1bmN0aW9uIGBRVHlwZWRBcnJheURhdGE8KGFub255bW91cyBuYW1lc3BhY2UpOjpCb2FyZD46OmRlYWxsb2NhdGUoUUFycmF5RGF0YSopJzpcbiAgICAgICAgICAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xYXJyYXlkYXRhLmg6MjM5OigudGV4dC5fWk4xNVFUeXBlZEFycmF5RGF0YUlOMTJfR0xPQkFMX19OXzE1Qm9hcmRFRTEwZGVhbGxvY2F0ZUVQMTBRQXJyYXlEYXRhKzB4MWUpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRQXJyYXlEYXRhOjpkZWFsbG9jYXRlKFFBcnJheURhdGEqLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6IGluIGZ1bmN0aW9uIGBRVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6Qm9hcmQ+OjpyZWFsbG9jKGludCwgUUZsYWdzPFFBcnJheURhdGE6OkFsbG9jYXRpb25PcHRpb24+KSc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXZlY3Rvci5oOjY5MjooLnRleHQuX1pON1FWZWN0b3JJTjEyX0dMT0JBTF9fTl8xNUJvYXJkRUU3cmVhbGxvY0VpNlFGbGFnc0lOMTBRQXJyYXlEYXRhMTZBbGxvY2F0aW9uT3B0aW9uRUUrMHg0Mik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHF0X2Fzc2VydChjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGludCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xdmVjdG9yLmg6NzAwOigudGV4dC5fWk43UVZlY3RvcklOMTJfR0xPQkFMX19OXzE1Qm9hcmRFRTdyZWFsbG9jRWk2UUZsYWdzSU4xMFFBcnJheURhdGExNkFsbG9jYXRpb25PcHRpb25FRSsweDgxKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcUJhZEFsbG9jKCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xdmVjdG9yLmg6NzAzOigudGV4dC5fWk43UVZlY3RvcklOMTJfR0xPQkFMX19OXzE1Qm9hcmRFRTdyZWFsbG9jRWk2UUZsYWdzSU4xMFFBcnJheURhdGExNkFsbG9jYXRpb25PcHRpb25FRSsweGM0KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcXRfYXNzZXJ0KGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiwgaW50KSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3F2ZWN0b3IuaDo3MDU6KC50ZXh0Ll9aTjdRVmVjdG9ySU4xMl9HTE9CQUxfX05fMTVCb2FyZEVFN3JlYWxsb2NFaTZRRmxhZ3NJTjEwUUFycmF5RGF0YTE2QWxsb2NhdGlvbk9wdGlvbkVFKzB4ZjUpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxdF9hc3NlcnQoY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXZlY3Rvci5oOjczODooLnRleHQuX1pON1FWZWN0b3JJTjEyX0dMT0JBTF9fTl8xNUJvYXJkRUU3cmVhbGxvY0VpNlFGbGFnc0lOMTBRQXJyYXlEYXRhMTZBbGxvY2F0aW9uT3B0aW9uRUUrMHgyNTMpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxdF9hc3NlcnQoY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXZlY3Rvci5oOjc1MDooLnRleHQuX1pON1FWZWN0b3JJTjEyX0dMT0JBTF9fTl8xNUJvYXJkRUU3cmVhbGxvY0VpNlFGbGFnc0lOMTBRQXJyYXlEYXRhMTZBbGxvY2F0aW9uT3B0aW9uRUUrMHgyYmMpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxdF9hc3NlcnQoY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcXZlY3Rvci5oOjc1MTooLnRleHQuX1pON1FWZWN0b3JJTjEyX0dMT0JBTF9fTl8xNUJvYXJkRUU3cmVhbGxvY0VpNlFGbGFnc0lOMTBRQXJyYXlEYXRhMTZBbGxvY2F0aW9uT3B0aW9uRUUrMHgyZjkpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxdF9hc3NlcnQoY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTovdXNyL2luY2x1ZGUvcXQ1L1F0Q29yZS9xdmVjdG9yLmg6NzUzOiBtb3JlIHVuZGVmaW5lZCByZWZlcmVuY2VzIHRvIGBxdF9hc3NlcnQoY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBpbnQpJyBmb2xsb3dcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6IGluIGZ1bmN0aW9uIGBRTWFwPFFTdHJpbmcsIFFUcmVlV2lkZ2V0SXRlbSo+OjpkZXRhY2hfaGVscGVyKCknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FtYXAuaDo5ODI6KC50ZXh0Ll9aTjRRTWFwSTdRU3RyaW5nUDE1UVRyZWVXaWRnZXRJdGVtRTEzZGV0YWNoX2hlbHBlckV2W19aTjRRTWFwSTdRU3RyaW5nUDE1UVRyZWVXaWRnZXRJdGVtRTEzZGV0YWNoX2hlbHBlckV2XSsweGExKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU1hcERhdGFCYXNlOjpyZWNhbGNNb3N0TGVmdE5vZGUoKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6IGluIGZ1bmN0aW9uIGBRTWFwRGF0YTxRU3RyaW5nLCBRVHJlZVdpZGdldEl0ZW0qPjo6Y3JlYXRlTm9kZShRU3RyaW5nIGNvbnN0JiwgUVRyZWVXaWRnZXRJdGVtKiBjb25zdCYsIFFNYXBOb2RlPFFTdHJpbmcsIFFUcmVlV2lkZ2V0SXRlbSo+KiwgYm9vbCknOlxuICAgICAgICAgIC91c3IvaW5jbHVkZS9xdDUvUXRDb3JlL3FtYXAuaDoyMjY6KC50ZXh0Ll9aTjhRTWFwRGF0YUk3UVN0cmluZ1AxNVFUcmVlV2lkZ2V0SXRlbUUxMGNyZWF0ZU5vZGVFUktTMF9SS1MyX1A4UU1hcE5vZGVJUzBfUzJfRWJbX1pOOFFNYXBEYXRhSTdRU3RyaW5nUDE1UVRyZWVXaWRnZXRJdGVtRTEwY3JlYXRlTm9kZUVSS1MwX1JLUzJfUDhRTWFwTm9kZUlTMF9TMl9FYl0rMHg0NSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFNYXBEYXRhQmFzZTo6Y3JlYXRlTm9kZShpbnQsIGludCwgUU1hcE5vZGVCYXNlKiwgYm9vbCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUUxpc3Q8UVN0cmluZz46OnJlc2VydmUoaW50KSc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcWxpc3QuaDo2MTU6KC50ZXh0Ll9aTjVRTGlzdEk3UVN0cmluZ0U3cmVzZXJ2ZUVpW19aTjVRTGlzdEk3UVN0cmluZ0U3cmVzZXJ2ZUVpXSsweDU1KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUUxpc3REYXRhOjpyZWFsbG9jKGludCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiBpbiBmdW5jdGlvbiBgUUxpc3Q8UVN0cmluZz46OmRldGFjaF9oZWxwZXIoaW50KSc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcWxpc3QuaDo4MzM6KC50ZXh0Ll9aTjVRTGlzdEk3UVN0cmluZ0UxM2RldGFjaF9oZWxwZXJFaVtfWk41UUxpc3RJN1FTdHJpbmdFMTNkZXRhY2hfaGVscGVyRWldKzB4MzEpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRTGlzdERhdGE6OmRldGFjaChpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTogaW4gZnVuY3Rpb24gYFFNYXBEYXRhPFFTdHJpbmcsIFFUcmVlV2lkZ2V0SXRlbSo+OjpjcmVhdGUoKSc6XG4gICAgICAgICAgL3Vzci9pbmNsdWRlL3F0NS9RdENvcmUvcW1hcC5oOjI0NDooLnRleHQuX1pOOFFNYXBEYXRhSTdRU3RyaW5nUDE1UVRyZWVXaWRnZXRJdGVtRTZjcmVhdGVFdltfWk44UU1hcERhdGFJN1FTdHJpbmdQMTVRVHJlZVdpZGdldEl0ZW1FNmNyZWF0ZUV2XSsweDkpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRTWFwRGF0YUJhc2U6OmNyZWF0ZURhdGEoKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDEwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU1haW5XaW5kb3c6Om1ldGFPYmplY3QoKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDE4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU1haW5XaW5kb3c6OnF0X21ldGFjYXN0KGNoYXIgY29uc3QqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDIwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU1haW5XaW5kb3c6OnF0X21ldGFjYWxsKFFNZXRhT2JqZWN0OjpDYWxsLCBpbnQsIHZvaWQqKiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgzOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFNYWluV2luZG93OjpldmVudChRRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDQwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU9iamVjdDo6ZXZlbnRGaWx0ZXIoUU9iamVjdCosIFFFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4NDgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRT2JqZWN0Ojp0aW1lckV2ZW50KFFUaW1lckV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHg1MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFPYmplY3Q6OmNoaWxkRXZlbnQoUUNoaWxkRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDU4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU9iamVjdDo6Y3VzdG9tRXZlbnQoUUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHg2MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFPYmplY3Q6OmNvbm5lY3ROb3RpZnkoUU1ldGFNZXRob2QgY29uc3QmKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDY4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU9iamVjdDo6ZGlzY29ubmVjdE5vdGlmeShRTWV0YU1ldGhvZCBjb25zdCYpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4NzApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpkZXZUeXBlKCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHg3OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnNldFZpc2libGUoYm9vbCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHg4MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnNpemVIaW50KCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHg4OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6Om1pbmltdW1TaXplSGludCgpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4OTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpoZWlnaHRGb3JXaWR0aChpbnQpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4OTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpoYXNIZWlnaHRGb3JXaWR0aCgpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4YTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpwYWludEVuZ2luZSgpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4YTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojptb3VzZVByZXNzRXZlbnQoUU1vdXNlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweGIwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6bW91c2VSZWxlYXNlRXZlbnQoUU1vdXNlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweGI4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6bW91c2VEb3VibGVDbGlja0V2ZW50KFFNb3VzZUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHhjMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6Om1vdXNlTW92ZUV2ZW50KFFNb3VzZUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHhjOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OndoZWVsRXZlbnQoUVdoZWVsRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweGQwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6a2V5UHJlc3NFdmVudChRS2V5RXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweGQ4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6a2V5UmVsZWFzZUV2ZW50KFFLZXlFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4ZTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojpmb2N1c0luRXZlbnQoUUZvY3VzRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweGU4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6Zm9jdXNPdXRFdmVudChRRm9jdXNFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4ZjApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjplbnRlckV2ZW50KFFFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4ZjgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpsZWF2ZUV2ZW50KFFFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTAwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6cGFpbnRFdmVudChRUGFpbnRFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTA4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6bW92ZUV2ZW50KFFNb3ZlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDExMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnJlc2l6ZUV2ZW50KFFSZXNpemVFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTE4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6Y2xvc2VFdmVudChRQ2xvc2VFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTIwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUU1haW5XaW5kb3c6OmNvbnRleHRNZW51RXZlbnQoUUNvbnRleHRNZW51RXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDEyOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnRhYmxldEV2ZW50KFFUYWJsZXRFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTMwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6YWN0aW9uRXZlbnQoUUFjdGlvbkV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxMzgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpkcmFnRW50ZXJFdmVudChRRHJhZ0VudGVyRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDE0MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OmRyYWdNb3ZlRXZlbnQoUURyYWdNb3ZlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDE0OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OmRyYWdMZWF2ZUV2ZW50KFFEcmFnTGVhdmVFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTUwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6ZHJvcEV2ZW50KFFEcm9wRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDE1OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnNob3dFdmVudChRU2hvd0V2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxNjApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpoaWRlRXZlbnQoUUhpZGVFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTY4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6bmF0aXZlRXZlbnQoUUJ5dGVBcnJheSBjb25zdCYsIHZvaWQqLCBsb25nKiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxNzApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpjaGFuZ2VFdmVudChRRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDE3OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6Om1ldHJpYyhRUGFpbnREZXZpY2U6OlBhaW50RGV2aWNlTWV0cmljKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDE4MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OmluaXRQYWludGVyKFFQYWludGVyKikgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxODgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpyZWRpcmVjdGVkKFFQb2ludCopIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTkwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6c2hhcmVkUGFpbnRlcigpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTk4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6aW5wdXRNZXRob2RFdmVudChRSW5wdXRNZXRob2RFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MWEwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6aW5wdXRNZXRob2RRdWVyeShRdDo6SW5wdXRNZXRob2RRdWVyeSkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxYTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojpmb2N1c05leHRQcmV2Q2hpbGQoYm9vbCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxYjApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRTWFpbldpbmRvdzo6Y3JlYXRlUG9wdXBNZW51KCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxZDgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBub24tdmlydHVhbCB0aHVuayB0byBRV2lkZ2V0OjpkZXZUeXBlKCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgxZTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBub24tdmlydHVhbCB0aHVuayB0byBRV2lkZ2V0OjpwYWludEVuZ2luZSgpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MWU4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbm9uLXZpcnR1YWwgdGh1bmsgdG8gUVdpZGdldDo6bWV0cmljKFFQYWludERldmljZTo6UGFpbnREZXZpY2VNZXRyaWMpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MWYwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbm9uLXZpcnR1YWwgdGh1bmsgdG8gUVdpZGdldDo6aW5pdFBhaW50ZXIoUVBhaW50ZXIqKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTBNYWluV2luZG93RSsweDFmOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG5vbi12aXJ0dWFsIHRodW5rIHRvIFFXaWRnZXQ6OnJlZGlyZWN0ZWQoUVBvaW50KikgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTEwTWFpbldpbmRvd0UrMHgyMDApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBub24tdmlydHVhbCB0aHVuayB0byBRV2lkZ2V0OjpzaGFyZWRQYWludGVyKCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjptZXRhT2JqZWN0KCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjpxdF9tZXRhY2FzdChjaGFyIGNvbnN0KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MjApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjpxdF9tZXRhY2FsbChRTWV0YU9iamVjdDo6Q2FsbCwgaW50LCB2b2lkKiopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDM4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6ZXZlbnQoUUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4NDApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjpldmVudEZpbHRlcihRT2JqZWN0KiwgUUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4NDgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRT2JqZWN0Ojp0aW1lckV2ZW50KFFUaW1lckV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4NTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRT2JqZWN0OjpjaGlsZEV2ZW50KFFDaGlsZEV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4NTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRT2JqZWN0OjpjdXN0b21FdmVudChRRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHg2MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFPYmplY3Q6OmNvbm5lY3ROb3RpZnkoUU1ldGFNZXRob2QgY29uc3QmKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHg2OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFPYmplY3Q6OmRpc2Nvbm5lY3ROb3RpZnkoUU1ldGFNZXRob2QgY29uc3QmKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHg3MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OmRldlR5cGUoKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHg3OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFEaWFsb2c6OnNldFZpc2libGUoYm9vbCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4ODApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjpzaXplSGludCgpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDg4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUURpYWxvZzo6bWluaW11bVNpemVIaW50KCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4OTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpoZWlnaHRGb3JXaWR0aChpbnQpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDk4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6aGFzSGVpZ2h0Rm9yV2lkdGgoKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHhhMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnBhaW50RW5naW5lKCkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4YTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojptb3VzZVByZXNzRXZlbnQoUU1vdXNlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHhiMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6Om1vdXNlUmVsZWFzZUV2ZW50KFFNb3VzZUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4YjgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojptb3VzZURvdWJsZUNsaWNrRXZlbnQoUU1vdXNlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHhjMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6Om1vdXNlTW92ZUV2ZW50KFFNb3VzZUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4YzgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojp3aGVlbEV2ZW50KFFXaGVlbEV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4ZDApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjprZXlQcmVzc0V2ZW50KFFLZXlFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweGQ4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6a2V5UmVsZWFzZUV2ZW50KFFLZXlFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweGUwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6Zm9jdXNJbkV2ZW50KFFGb2N1c0V2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4ZTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojpmb2N1c091dEV2ZW50KFFGb2N1c0V2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4ZjApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjplbnRlckV2ZW50KFFFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweGY4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6bGVhdmVFdmVudChRRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxMDApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpwYWludEV2ZW50KFFQYWludEV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MTA4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6bW92ZUV2ZW50KFFNb3ZlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxMTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjpyZXNpemVFdmVudChRUmVzaXplRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxMTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjpjbG9zZUV2ZW50KFFDbG9zZUV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MTIwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUURpYWxvZzo6Y29udGV4dE1lbnVFdmVudChRQ29udGV4dE1lbnVFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDEyOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnRhYmxldEV2ZW50KFFUYWJsZXRFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDEzMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OmFjdGlvbkV2ZW50KFFBY3Rpb25FdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDEzOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OmRyYWdFbnRlckV2ZW50KFFEcmFnRW50ZXJFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDE0MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OmRyYWdNb3ZlRXZlbnQoUURyYWdNb3ZlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxNDgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpkcmFnTGVhdmVFdmVudChRRHJhZ0xlYXZlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxNTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0Ojpkcm9wRXZlbnQoUURyb3BFdmVudCopJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDE1OCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFEaWFsb2c6OnNob3dFdmVudChRU2hvd0V2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MTYwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6aGlkZUV2ZW50KFFIaWRlRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxNjgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpuYXRpdmVFdmVudChRQnl0ZUFycmF5IGNvbnN0Jiwgdm9pZCosIGxvbmcqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxNzApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpjaGFuZ2VFdmVudChRRXZlbnQqKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxNzgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjptZXRyaWMoUVBhaW50RGV2aWNlOjpQYWludERldmljZU1ldHJpYykgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MTgwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6aW5pdFBhaW50ZXIoUVBhaW50ZXIqKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxODgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjpyZWRpcmVjdGVkKFFQb2ludCopIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDE5MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFXaWRnZXQ6OnNoYXJlZFBhaW50ZXIoKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxOTgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRV2lkZ2V0OjppbnB1dE1ldGhvZEV2ZW50KFFJbnB1dE1ldGhvZEV2ZW50KiknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MWEwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6aW5wdXRNZXRob2RRdWVyeShRdDo6SW5wdXRNZXRob2RRdWVyeSkgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MWE4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUVdpZGdldDo6Zm9jdXNOZXh0UHJldkNoaWxkKGJvb2wpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDFiMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFEaWFsb2c6Om9wZW4oKSdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgxYjgpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBRRGlhbG9nOjpleGVjKCknXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MWMwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgUURpYWxvZzo6ZG9uZShpbnQpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDFjOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFEaWFsb2c6OmFjY2VwdCgpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDFkMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFFEaWFsb2c6OnJlamVjdCgpJ1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDFmOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG5vbi12aXJ0dWFsIHRodW5rIHRvIFFXaWRnZXQ6OmRldlR5cGUoKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgyMDApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBub24tdmlydHVhbCB0aHVuayB0byBRV2lkZ2V0OjpwYWludEVuZ2luZSgpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDIwOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG5vbi12aXJ0dWFsIHRodW5rIHRvIFFXaWRnZXQ6Om1ldHJpYyhRUGFpbnREZXZpY2U6OlBhaW50RGV2aWNlTWV0cmljKSBjb25zdCdcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2ZsYXNoZXItcXQtOTc0ZDg5ZWQ2OGMzOTBkNC9vdXQvbGliZmxhc2hlcl9xdF91aS5hKDA2MDJmYjUyY2I2NmYzMTYtdWkubyk6KC5kYXRhLnJlbC5yby5fWlRWTjEyX0dMT0JBTF9fTl8xMTFCb2FyZERpYWxvZ0UrMHgyMTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBub24tdmlydHVhbCB0aHVuayB0byBRV2lkZ2V0Ojppbml0UGFpbnRlcihRUGFpbnRlciopIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVFZOMTJfR0xPQkFMX19OXzExMUJvYXJkRGlhbG9nRSsweDIxOCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG5vbi12aXJ0dWFsIHRodW5rIHRvIFFXaWRnZXQ6OnJlZGlyZWN0ZWQoUVBvaW50KikgY29uc3QnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUVk4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MjIwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbm9uLXZpcnR1YWwgdGh1bmsgdG8gUVdpZGdldDo6c2hhcmVkUGFpbnRlcigpIGNvbnN0J1xuICAgICAgICAgIC91c3IvYmluL2xkLmJmZDogL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvZmxhc2hlci1xdC05NzRkODllZDY4YzM5MGQ0L291dC9saWJmbGFzaGVyX3F0X3VpLmEoMDYwMmZiNTJjYjY2ZjMxNi11aS5vKTooLmRhdGEucmVsLnJvLl9aVElOMTJfR0xPQkFMX19OXzExME1haW5XaW5kb3dFKzB4MTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB0eXBlaW5mbyBmb3IgUU1haW5XaW5kb3cnXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9mbGFzaGVyLXF0LTk3NGQ4OWVkNjhjMzkwZDQvb3V0L2xpYmZsYXNoZXJfcXRfdWkuYSgwNjAyZmI1MmNiNjZmMzE2LXVpLm8pOiguZGF0YS5yZWwucm8uX1pUSU4xMl9HTE9CQUxfX05fMTExQm9hcmREaWFsb2dFKzB4MTApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB0eXBlaW5mbyBmb3IgUURpYWxvZydcbiAgICAgICAgICBjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXNcbiAgICAgICAgICBcbiAgPSBub3RlOiBzb21lIGBleHRlcm5gIGZ1bmN0aW9ucyBjb3VsZG4ndCBiZSBmb3VuZDsgc29tZSBuYXRpdmUgbGlicmFyaWVzIG1heSBuZWVkIHRvIGJlIGluc3RhbGxlZCBvciBoYXZlIHRoZWlyIHBhdGggc3BlY2lmaWVkXG4gID0gbm90ZTogdXNlIHRoZSBgLWxgIGZsYWcgdG8gc3BlY2lmeSBuYXRpdmUgbGlicmFyaWVzIHRvIGxpbmtcbiAgPSBub3RlOiB1c2UgdGhlIGBjYXJnbzpydXN0Yy1saW5rLWxpYmAgZGlyZWN0aXZlIHRvIHNwZWNpZnkgdGhlIG5hdGl2ZSBsaWJyYXJpZXMgdG8gbGluayB3aXRoIENhcmdvIChzZWUgaHR0cHM6Ly9kb2MucnVzdC1sYW5nLm9yZy9jYXJnby9yZWZlcmVuY2UvYnVpbGQtc2NyaXB0cy5odG1sI3J1c3RjLWxpbmstbGliKVxuXG4gICBDb21waWxpbmcgY2ZnLWV4cHIgdjAuMjAuOFxuZXJyb3I6IGNvdWxkIG5vdCBjb21waWxlIGBmbGFzaGVyLXF0YCAoYmluIFwiZmxhc2hlci1xdFwiKSBkdWUgdG8gMSBwcmV2aW91cyBlcnJvclxud2FybmluZzogYnVpbGQgZmFpbGVkLCB3YWl0aW5nIGZvciBvdGhlciBqb2JzIHRvIGZpbmlzaC4uLlxuXG5bU2hvd2luZyBsaW5lcyA0MTAtNjAxIG9mIDYwMSAoNTAuMEtCIGxpbWl0KS4gRnVsbCBvdXRwdXQ6IC90bXAvLnByaXZhdGUvYWd1c2NoaW4vcGktYmFzaC01MTg2ZTQ4YmRiZTYyNzI0LmxvZ11cblxuQ29tbWFuZCBleGl0ZWQgd2l0aCBjb2RlIDEwMSJ9XSwiZGV0YWlscyI6e30sImlzRXJyb3IiOnRydWUsInRpbWVzdGFtcCI6MTc4NDk5NTA4NDkxM319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImFiOTNlNmY1IiwicGFyZW50SWQiOiJmZDM5Y2VkNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTg6MTcuNTAwWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipGaXhpbmcgUXQgbGlicmFyeSBsaW5rIG9yZGVyIGluIGJ1aWxkIHNjcmlwdCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkMGU5MGNjODE5MWE5MjQwNzMzNjYyOGM4NTdcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk4wU2RLa2pYWVpZQkZ6b0J5bDc2VjNLYTBXTWVYN0MyVDBhWUhJSlg5czJLRk5ieVZKMW9DNHpjTk1yMXowbVNuazZwTjVhdm1YcUtLaENvbm1OcDRkMTQ0QWNVeVgwSFE1MkdJRGtXY0paS1FaRFVYZjFZVENVSDhrUlNvQzZIWF9HRHNJSTJtcUE4UVAyMFcwRE0tM0Z0SkV0bHVlR0FhUlhSSFE5OG1TVkV5WG5yNTJJM1E1bXJtcjVscl80ZURkTE5Wc0VHOTVhSjdRSWRUdXNsUHVodjA2T3Jxd3VnRk9ROFpuR1VWV3lJcGd2MHpWRFdqRHBkZjZtVW5ZNzRoMzFoWjV1dWxwYXAxNHpZbXRhQWRSTDN2RHl4X0wtR1R3aTNUWlFYMkN6QTUybXEwSjZNQVpCSVIyMk5vODFOS0ZqeDJ4dXNXYnR3aHBNbktsekhmXy1McHhtQzFPMmowVllocXozYXRrbGExZ1dTWjFVb1BuYjF0S3JMRHluUWMtQUdRSDQ0OFk0ckhISXQtQWpMdExLYWs5SU9kTXBMbGgyNEhPMTE2bF9lNGFISDFQY1c1czZDdnJSM2dJbHFFem9oanppbmp6WGlLU0hjQVlXbmpwSVVRODBQNnp5dHR5R3FfRVZKb08yeXREZ0NoWWJBZXFjREM3WG41QmJKcFk4dzFjejBnMkNaZ3F6R2NVazhIbS01Ujk0bjVpd0dsQU9pdzNVaFdCb2FjQUNva0xPQm9vNWtsdjVRNlp4dXg4Y18xQ2wyVnJ6MG8wMEZoM0NVSlJ2Ymd1bjdFMGN0LTJ0aURPaVRIc1hFMzBoTE12U2ZsLVZ6cDJuT2JSMVBJQXJGeF9LcVVLdm1GZFd0cmNPNm92U2tSVVdWRFBJQzlGeUlab182US01Z2xGOEozR0Nrc2F0TlhCTTVmWXBma1V1RUJVYzFEUERnZ0FKS3JONUt0c2JjVV80NXRubEd6VXRaaExKbWNzM2FlSkY1LTRaRzJmbXVWdFFjTWRfbHlETFpYR3l2MC01MjEybVdlZkVjWXRsa051a09xclJYbXpNUHJSYzNsOThYNXRBdmd2M094U0RMbG5qRmZKOUFPLS1iQ2RLOFJpcjZDUjVGSEhFQW05OG5MRlh3b3Y5VjBXVkQyX195ZVhZM21GNmluREhyTXFXdEJQNHZUQmhBYXVKTkZQS0NlaktGLXJNLThFMUVJYW9mV0c1WXFfQ0x5QUVLYjVTaTJRWlJRVG5DR3FubGNSakhQNW1EeG9seHVFS1dfTmJ0MVB4NHFQNVk0NFBvaFh4aFJPbHk4OHlBM0RiWW82cWtNSUpGc3lVVENtX3dHaW5sLU93dS1ZQkpHcGZqcU1ZTTJrbkJaSlczcFNrLTdhLTBDOU9PYUNDTjN4dGJXTnM0SkJiSWR1YUlwcHZkQTFWSmJVLXYzdFNHd1JzZUtHejl0dllfeHVZdkp5c1NoX0Z1dXQ4TnBEZTkwbDFxRDlGSjhnR1E5WUx5azRFSm9VSlVMdGJTU3dpeldPV3dOWkZUUl9heXBaVERKc241NThtbUFtbUFXZHpaSEpiaVVDcjdXa1NPSDdQSEhibTZkNFlPenNBclRVYnpFZXNiS2lrQTluZ29RSHpCYnpCNVRuTE8zWFc4aFRLdFhka1pzdXpiOVRLOHVlZV9POEN4bTdQVUtrZkd0SnJ5em1kSklQbUU3NHdseXZYa3VoTWlUdi03SlZGaXJKYnYySTFSdkR6REFNN0llczBfTk9nenRPci05b2RWMUhUQW5vRjBUM3YtV0I2WmdOT1h2Yk1mNDFtbG9JNFlRdFBBXzZ2TXI1X1N4cWkzam1yX1BpRlR5QW1McjJXbWhoX0N6NWpna3dfZWRINHl2aWVzRDkwMFZFZ2lYWWJNd0xSQUdxSTdFbGdDQVlUWGxUYTJEYlNlX0xvS2dXZjd4eS1lUHVrbnpjbWxaMHg4enNzeUVWSndacFVhb3EwbGNGQmgwN002VnVyUEdDTkJOeDBRREJ4M3BieEVfY19GS09LaFdzVWt3VEdnR182WVVvZDZsM1VKRWVCQjVJQWdtTDlkeWF2cWRGc3ZlNjI2SURGd1hEMGF2N2lRN2FMTGdqeWlMS2NENTFwQWlPWHNHUmlSNUVTM1l0M1V3PT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkZpeGluZyBRdCBsaWJyYXJ5IGxpbmsgb3JkZXIgaW4gYnVpbGQgc2NyaXB0KipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX2RmbmZ1QjAwdVd0NE80czRreFRBZU5HcHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGQxMjVjMzg4MTkxOGRkMmUwMDFhNmU5YWYwOSIsIm5hbWUiOiJ3cml0ZSIsImFyZ3VtZW50cyI6eyJwYXRoIjoiY3JhdGVzL2ZsYXNoZXItcXQvYnVpbGQucnMiLCJjb250ZW50IjoiZm4gbWFpbigpIHtcbiAgICBwcmludGxuIShcImNhcmdvOnJlcnVuLWlmLWNoYW5nZWQ9c3JjL3VpLmNwcFwiKTtcblxuICAgIGxldCBxdCA9IHBrZ19jb25maWc6OkNvbmZpZzo6bmV3KClcbiAgICAgICAgLmF0bGVhc3RfdmVyc2lvbihcIjUuMTJcIilcbiAgICAgICAgLmNhcmdvX21ldGFkYXRhKGZhbHNlKVxuICAgICAgICAucHJvYmUoXCJRdDVXaWRnZXRzXCIpXG4gICAgICAgIC5leHBlY3QoXCJRdCA1IFdpZGdldHMgZGV2ZWxvcG1lbnQgZmlsZXMgd2VyZSBub3QgZm91bmQgKGluc3RhbGwgcXQ1LWJhc2UtZGV2ZWwpXCIpO1xuXG4gICAgbGV0IG11dCBidWlsZCA9IGNjOjpCdWlsZDo6bmV3KCk7XG4gICAgYnVpbGQuY3BwKHRydWUpLmZpbGUoXCJzcmMvdWkuY3BwXCIpLmZsYWdfaWZfc3VwcG9ydGVkKFwiLXN0ZD1jKysxN1wiKTtcbiAgICBmb3IgcGF0aCBpbiAmcXQuaW5jbHVkZV9wYXRocyB7XG4gICAgICAgIGJ1aWxkLmluY2x1ZGUocGF0aCk7XG4gICAgfVxuICAgIGJ1aWxkLmNvbXBpbGUoXCJmbGFzaGVyX3F0X3VpXCIpO1xuXG4gICAgLy8gS2VlcCBzaGFyZWQgUXQgbGlicmFyaWVzIGFmdGVyIG91ciBzdGF0aWMgQysrIGFyY2hpdmUgb24gdGhlIGxpbmtlclxuICAgIC8vIGNvbW1hbmQgbGluZTsgR05VIGxkIHJlc29sdmVzIHN0YXRpYyBhcmNoaXZlcyBmcm9tIGxlZnQgdG8gcmlnaHQuXG4gICAgZm9yIHBhdGggaW4gJnF0LmxpbmtfcGF0aHMge1xuICAgICAgICBwcmludGxuIShcImNhcmdvOnJ1c3RjLWxpbmstc2VhcmNoPW5hdGl2ZT17fVwiLCBwYXRoLmRpc3BsYXkoKSk7XG4gICAgfVxuICAgIHByaW50bG4hKFwiY2FyZ286cnVzdGMtbGluay1saWI9UXQ1V2lkZ2V0c1wiKTtcbiAgICBwcmludGxuIShcImNhcmdvOnJ1c3RjLWxpbmstbGliPVF0NUd1aVwiKTtcbiAgICBwcmludGxuIShcImNhcmdvOnJ1c3RjLWxpbmstbGliPVF0NUNvcmVcIik7XG59XG4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE3Mzc0LCJvdXRwdXQiOjQxNywiY2FjaGVSZWFkIjo3MDE0NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxMDYsInRvdGFsVG9rZW5zIjo4NzkzNSwiY29zdCI6eyJpbnB1dCI6MC4wODY4Nywib3V0cHV0IjowLjAxMjUxLCJjYWNoZVJlYWQiOjAuMDM1MDcyLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4xMzQ0NTJ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTUwODQ5MTYsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDBkNDE3NDgxOTE4MmEwYzYxNmRiNmY2OWI0In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImQxOWY0MTQ1IiwicGFyZW50SWQiOiJhYjkzZTZmNSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTg6MTcuNTAxWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9kZm5mdUIwMHVXdDRPNHM0a3hUQWVOR3B8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkMTI1YzM4ODE5MThkZDJlMDAxYTZlOWFmMDkiLCJ0b29sTmFtZSI6IndyaXRlIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHdyb3RlIDkwNiBieXRlcyB0byBjcmF0ZXMvZmxhc2hlci1xdC9idWlsZC5ycyJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTA5NzUwMX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjVjNDdlZTRiIiwicGFyZW50SWQiOiJkMTlmNDE0NSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTg6MjAuNDM2WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipQbGFubmluZyBRdCBidWlsZCBmaXJzdCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkMWI4OWEwODE5MWFhZDBhNzRkMWZhZDE3ZTdcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk4wYy1uUG9YeUMtMHpPVzlBMmVuOUU2eWZhOTVMaG9WV05xYnpCVjlZRE9KaDE5YWFuc202dTFuQ01JNUdHYlo4N3FPNW45djZON0h4RzFQY1REUVpzWC1VTDgxRnRZemdOWlFjdWxsaHB1bUZWSXhCa3lRNWFMeS1vOWtpVFNMNTN3OER2aTVaRFZhSzlvTXR2b2dyZkxobURCSC1icnlEVmNMbHZkSkdpb2hYUXJ2WnRrSXMyMFpLeVdfY09IdHdlaXA3TXloeTZKWHBDaXdLeDY5Y0lNSzJNaVNaaV9EcFV1YVZ1RnhXMVd3Tl95ZjJ4STdyVGJxOE54NnV2UHYwbXpUQ05RQkVVOGNiNEJ0ZW9JWUpRdmpGYlNjVUhpVVc2RkhtSEV6bWlUdVRrWUc1Y1Y5b0p1X0JFQy1faTA2ME43TDBITFVINGVtUnNUbEwyWmM2OUR2cTBueGJXSmFad3hzTmNwUGhuQnl0d3RUOHhxdFVjTEhaWVRYUzRQVjk2b1dueEtxcElEQkNsRkNUR3VOeGR3UVhyMzRoZlNsbU9zNXU0WWhJTXVjN0Y4VGVLck93LXNVbzk0aTI2Wk9DZWd2X0x1NVNwRTI0Q0pVVGVOd3RpeUxBSEtSZXNmYmM0N3IxTFc4NFc1QmEtWC04dDVGR0NaNl9fQWZrNkt3bG5vS0FJaXZJbDRlZEItSW50WGpkRHJlemZyMkc1Q1pJM3JhckZ1eVpUV2RCdTRLVUVhMEJtem1QTFRGdTlwcmUzMGRURW54QkwxQU5wWWJLUW5WRVJLeUpkT0JFMVpNbktsOTVIYk16QU1QUUFSOHpCU0owMUUwOFRRZWdyWFpyTDhDRmV0SXdtSmJhclZsd2FuUE1KbWRkaEFibnJseHZITmF5X3FmVExZa3VjeVliT29iMjRoNk9RbENZRkYyUU5WcFVMRXNROTZLbk5XenljSWNQVUtRVHo0aVNhZnVFakt6b29mVC1IaDY1UDQ3MXV0elNkb1lzVVY4VlQ1TVk4U2Jxei03d3k5RHFMRlE1OEY1RDgzeUI2cm93eHRSbTJ3ZnhneXR6d0VEX2tYY3VOQzNWLWlyOTE3YmdSWElTZV8zRW5KZmszeUNPX29sNC02UG5sMC0zOENRLUFFMDJ4YU5lSmVuTUx6S1J6VXNpQW1Dd2tENG9TclBOUU8wOXNFTl9EUlJWTzlNNFliUnZDOVdmckJMOGRZR1hUYUw3UDZ4ZElLeFFlV21FdHdkNFJKU2pCOHcyRGNJQUFXY3lKZ1wiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqUGxhbm5pbmcgUXQgYnVpbGQgZmlyc3QqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfbTlmcWdaMGlxbXBqWWNaR0RvSzBINWRofGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDFjMmFkMDgxOTE4OGMyYTEzOWI4YjY4NzUyIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGJ1aWxkIC1wIGZsYXNoZXItcXQgJiYgY2FyZ28gYnVpbGQiLCJ0aW1lb3V0IjoxMjB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTQzMCwib3V0cHV0Ijo0MywiY2FjaGVSZWFkIjo4NjUyOCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo5LCJ0b3RhbFRva2VucyI6ODgwMDEsImNvc3QiOnsiaW5wdXQiOjAuMDA3MTUwMDAwMDAwMDAwMDAxLCJvdXRwdXQiOjAuMDAxMjkwMDAwMDAwMDAwMDAwMSwiY2FjaGVSZWFkIjowLjA0MzI2NCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDUxNzA0fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MDk3NTAzLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGQxOWRlZDQ4MTkxODYwN2VmYWEwOThkMTE5ZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJkMWE5ZmI2NyIsInBhcmVudElkIjoiNWM0N2VlNGIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU5OjEyLjkyNloiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfbTlmcWdaMGlxbXBqWWNaR0RvSzBINWRofGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDFjMmFkMDgxOTE4OGMyYTEzOWI4YjY4NzUyIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgQ29tcGlsaW5nIGZsYXNoZXItcXQgdjAuMS4wICgvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL2NyYXRlcy9mbGFzaGVyLXF0KVxuICAgIEZpbmlzaGVkIGBkZXZgIHByb2ZpbGUgW3Vub3B0aW1pemVkICsgZGVidWdpbmZvXSB0YXJnZXQocykgaW4gMS44NnNcbiAgIENvbXBpbGluZyB0b21sX3BhcnNlciB2MS4xLjIrc3BlYy0xLjEuMFxuICAgQ29tcGlsaW5nIGluZGV4bWFwIHYyLjE0LjBcbiAgIENvbXBpbGluZyBmdXR1cmVzLW1hY3JvIHYwLjMuMzNcbiAgIENvbXBpbGluZyB0b21sIHYxLjEuMytzcGVjLTEuMS4wXG4gICBDb21waWxpbmcgc3lzdGVtLWRlcHMgdjcuMC44XG4gICBDb21waWxpbmcgZnV0dXJlcy11dGlsIHYwLjMuMzNcbiAgIENvbXBpbGluZyB0b21sX2VkaXQgdjAuMjUuMTMrc3BlYy0xLjEuMFxuICAgQ29tcGlsaW5nIGdsaWItc3lzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBnb2JqZWN0LXN5cyB2MC4yMS41XG4gICBDb21waWxpbmcgZ2lvLXN5cyB2MC4yMS41XG4gICBDb21waWxpbmcgY2Fpcm8tc3lzLXJzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBwYW5nby1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdkay1waXhidWYtc3lzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBncmFwaGVuZS1zeXMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdkazQtc3lzIHYwLjEwLjNcbiAgIENvbXBpbGluZyBnc2s0LXN5cyB2MC4xMC4zXG4gICBDb21waWxpbmcgZ3RrNC1zeXMgdjAuMTAuM1xuICAgQ29tcGlsaW5nIGxpYmFkd2FpdGEtc3lzIHYwLjguMVxuICAgQ29tcGlsaW5nIHByb2MtbWFjcm8tY3JhdGUgdjMuNS4wXG4gICBDb21waWxpbmcgZ2xpYi1tYWNyb3MgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGd0azQtbWFjcm9zIHYwLjEwLjNcbiAgIENvbXBpbGluZyBmdXR1cmVzLWV4ZWN1dG9yIHYwLjMuMzNcbiAgIENvbXBpbGluZyBnbGliIHYwLjIxLjVcbiAgIENvbXBpbGluZyBnaW8gdjAuMjEuNVxuICAgQ29tcGlsaW5nIGNhaXJvLXJzIHYwLjIxLjVcbiAgIENvbXBpbGluZyBncmFwaGVuZS1ycyB2MC4yMS41XG4gICBDb21waWxpbmcgcGFuZ28gdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdkay1waXhidWYgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdkazQgdjAuMTAuM1xuICAgQ29tcGlsaW5nIGdzazQgdjAuMTAuM1xuICAgQ29tcGlsaW5nIGd0azQgdjAuMTAuM1xuICAgQ29tcGlsaW5nIGxpYmFkd2FpdGEgdjAuOC4xXG4gICBDb21waWxpbmcgZmxhc2hlci1ndGsgdjAuMS4wICgvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL2NyYXRlcy9mbGFzaGVyLWd0aylcbiAgICBGaW5pc2hlZCBgZGV2YCBwcm9maWxlIFt1bm9wdGltaXplZCArIGRlYnVnaW5mb10gdGFyZ2V0KHMpIGluIDUwLjYwc1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MTUyOTI2fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMWMxYzJjZDEiLCJwYXJlbnRJZCI6ImQxYTlmYjY3IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1OToxNi43MDVaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIFF0IHNjcmVlbnNob3QgZXhlY3V0aW9uIHdpdGggdGltZW91dCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNTJlMGY4ODE5MWIyOWJhMDM1NjNlOWY0NGZcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk4xVDVGRVg3eHpNd09OLWU3enVmTXo2UlduWklMSzhIZnJGc2hkUkh6UWk3amZqcVVuRDlEZmduNEl4bklJc3pYZ29leEFwT1JNc1RPcjdpTWx5bzF3STQ2Skw2amVyaFlBWncwcXJVaXY0NXoxaGQ2WXcyUUhVeEpIWjlJZXpScnpHcmpwczg5dXhkd3lzS2ZYbEJRZTFubmEwOUF3aDNqVGtyeDE5cUxfVzlPWW43Z0NYRlNVTzVReGdBR0pDM2dJRkh6X1ZERjRlc01IczlLZ2ZNVGJFNFFnSENSSklBRUVxRFNZcVUyWGR5VTVlaDVIaldQZmpZRkhUckd0YnRWQkVjeDZZM0JVaHVIWkJhSjVOcDA2QWkzS080Y3VrZ2JVSWh4Ymt5TEFTY00xb3dmMmpGQnlza3pWUXFfV0JUdzJkaFVNelF2VU0tWlRVcENMYUt1dXZlUWdnNU44cExoWHAwSHRRYUdrUnFlQ2ExczRIREpQYlNwYjVJa1o3dVo0MlhzMDJ3Mkk4dEVweFpRZ1lmRUpGTTRFcUt6NHFOSW5renZBeFk3WUpBMERFNzVYSk1QMkp5T0RETE92UUxGTU5uYmJKVG9nSEt2RDE1M3JyYTR6TDJVN3ZNYzFXWU9RcUF0VkNKU1ktX3BxT0txcmJJVDRBSTRpY1lvSm5GYzBlbVcwbUdyZFN5ODc4bTBaOGhhcDZTRlNDOWh3aFJINjczaFZ6VzdtOXpRNDZ4OGJZZVFuT05za19PdTRyb0tyY3A1aEFLaGU0OURVdi1yTVN1ODh5UE44QXNXMU40bk1PS0x4eW92WkJ5UUd4Y1FDajI3dkwwREFLaVd2NGdrMHphdHk1YXNVWGR4RC1OQndfLVFfXzJUbk1PR3I5ZE8tVkJ4TmV1SUpIcVZuWG1JcGpiZ2txWEoyMkVPVTVHenVFLTZhdzVUcjJtbk4yTmwySUc0VnRVMHUzVkpkRklfNDJKYkJZcEFoR1VIQnplZWc5OVk4TDJYbUtkQUo5cnJfYS1rbkV3MlJERjVTZWtOcDZvcS1oLTNPV2xTakhoUUd5Qm51NWlsSUxnNTVMeWNocVFkZW4tNWx4Tm1IbG5iZklVSnAtTXRyX25RNTdvTmJwZVd3M0pSQ3piWUwwQ3ZlR21hYVFOb3pUZFNpbjl2UWw3dFZMSkkxNWM1MUF0bTE1a3RIUTFKRjdCalZoc01LaE9DcGFPNG1CY1lNWkJOdGI0UEg3VzJBVmdYdm9sS1dHakpXZkY1dVlrdWhBbUhqRUp4ZEItWkg1bDFmeVhtVU8ydS03TFdsWVJhSzZXbzZpTjFvUktSUlJQVWdxS0pLZzZteGF2NWs4Z004bi11U192clI3Y25SZnBCOFRvVFJoMHp0QV9ybV8wOG9ycWRvS3lWWVI1VC04UkFRYXFIVURYeWdUQktDNGttLS03NmNQTXRhQmZhQUE0c0N5eG9SRGN5NTg0bFZHLVc5WE5kaHotNFdlXzdKSF9Rcz1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIFF0IHNjcmVlbnNob3QgZXhlY3V0aW9uIHdpdGggdGltZW91dCoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF93c0FXY3l6ZjVmdG5qbTl5S3FGVzJ5c258ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNTNiYzQwODE5MTk0ZjEzYzZmNjVkMDkxZjUiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoidGltZW91dCAzcyB0YXJnZXQvZGVidWcvZmxhc2hlci1xdCA+L3RtcC9mbGFzaGVyLXF0Lm91dCAyPi90bXAvZmxhc2hlci1xdC5lcnI7IHJjPSQ/OyBlY2hvIHJjOiRyYzsgY2F0IC90bXAvZmxhc2hlci1xdC5lcnIiLCJ0aW1lb3V0IjoxMH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMDI0LCJvdXRwdXQiOjk0LCJjYWNoZVJlYWQiOjg3NTUyLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjI3LCJ0b3RhbFRva2VucyI6ODg2NzAsImNvc3QiOnsiaW5wdXQiOjAuMDA1MTIsIm91dHB1dCI6MC4wMDI4MiwiY2FjaGVSZWFkIjowLjA0Mzc3NTk5OTk5OTk5OTk5NSwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDUxNzE2fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MTUyOTUwLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGQ1MTY2YjA4MTkxYjc0MmE1OWEyY2EwN2VkZSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJkODhiNmVlNyIsInBhcmVudElkIjoiMWMxYzJjZDEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU5OjE5LjcyN1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfd3NBV2N5emY1ZnRuam05eUtxRlcyeXNufGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDUzYmM0MDgxOTE5NGYxM2M2ZjY1ZDA5MWY1IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoicmM6MTI0XG5xdC5xcGEucGx1Z2luOiBDb3VsZCBub3QgZmluZCB0aGUgUXQgcGxhdGZvcm0gcGx1Z2luIFwid2F5bGFuZFwiIGluIFwiXCJcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTE1OTcyN319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjQ2NzI0NWY2IiwicGFyZW50SWQiOiJkODhiNmVlNyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTk6MjguMzE3WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipVcGRhdGluZyBSRUFETUUgd2l0aCBRdCBXaWRnZXRzIGRldGFpbHMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDVhYTVhODgxOTE5MDhhMjExYzNkODJjYTk3XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpOMWNkTXpmeDh6UTVXUENaYUZROExNdHoxNUhGWWZtbTF6VTIzUndRc2luOFB3OTNXSG9TMTQwWEgwUmJYalVZbkZfd0RKckVtUUpIY2dKSzNXakNZNmJFTmt2LTZPWEFESEpRcWl2RFJOUzEwT0xydmt0MmRjcnpSTXl0aGI5c2stWVJJWXYyVEVlSWVybzFTUGxpaEZmM1Y3cXJwVWtEa0F3RDZEUTdXb1g2VEFoVEdTcEFBcjU3dDlIWDkwTS00b3NvcEtOaWpXLUg0d2VvU0xKeDZBTzJqb1ZWU2J4VWpVeEFQbGJRakliZnJaRFFTb2trY05abEt0SWdGSGJDRXhPRjd1LWUtOTBETDQ3OC1pY0E5VTNwc0tORWlXMW0zVzhlQ1BwcnExdzRHVU14anhjNG5iQ0h2ZFZEcjU5VDZhUExHY0llNElzeUxFY0N0YjV1SVNjNENRN2poWVN0c0dBNDF5ZGpvVFFWb3BZU3hVWmhlWV9VOG9wWTdlMkVickk5T3NpZGU0NWNKNFlKblV3YVg5QjlmNktqUjUxQXBPZTB3WVI3UlBKbmhWUGh2VXdIdi1EU2hWT1l3M2E4TVdWTFpxZFVLOUN4b3g0UmNudjZ2M0Y4TEtjNUNKSnBjUXdpa09OODVoby1mS21QSTZPOHh2X09nUUk1M3Zpd3dQdGZTWFFoZGZidGFlbjZEaG90NU5QODFCTTd3X2dLZkFhM3JWdC1ORnd3QWViUXRlSWV0eDdwNjdndEtXaGViZzZfWk9uN3lsYW5uMWtoSUM0cE1obGpsR1BVMTBJbnNVOHlMTkpNdnhWVWhLSUVCb0s5M1BKWk9YUk5ienRnVjVGYkdCeHNWbDE3bFVKVThRV3RLTll0a2Fpc21FZFZMWHBGRWU0VzJIbkxfOXpuUVFFZVgzYkd0VHRWcGZhVFoxeS1fM09TcWVSazAxYmVEV21UTThkNzFGVzB3bDd1Y3poT2JZVEkycGRLXzFvU01jLWpSREJJMmtFMlBicDNWRnRRWGxCcTloSTBtUmxUQi1CTGtIbk5iQ1V0NGFsRFJ2SGdjaW9BcDY3VlBwZDhsUDVsYWJSUWZDbkRQQ1FKVk80aU5BaURmcGo2NWFHa1pKMVNKZXNLWDhiTG9Ia2oxRTZHZjVITEwyMWhvQ1VQUktZR2JQREJFXzB6SFNIS09CM2JPREZzc2RzTDdoWWlfbEpYR1E2YjVfZDZnQWNCaG5JZ2RLZEcxamtabzFvdmpMOFoyMGIwR2JGZDlaQjB5TXQtaVFKemdTMlVOLXVfSnBrZ1RNVFhySUpqd19YSWktclZHUlBrSHhyVVgyMXp6WTJQZjR1WkoyeGlzem85ZHU4YjlISEFpb25kbnNLQ25scjBZWGN6S2tNTkpiSXNlVUZiZjRwZ3l1UVJVemtWaFRObzZmYjM0TFRER3VpY3pVZnljcVFoMmFadVJwMmh6aGM3ekNZWmZPN2plTmMwTThheE8zUlRNcnhWQnBIMHNqS185S2xXSndmdTJ4WUtTTHdcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlVwZGF0aW5nIFJFQURNRSB3aXRoIFF0IFdpZGdldHMgZGV0YWlscyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9Nb1N3NjJ1MnRxdkZjR25TY0pQaG1UNXN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNWMxN2JjODE5MTk4ZmI5NWNmZjUzYTIwMWMiLCJuYW1lIjoiZWRpdCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiUkVBRE1FLm1kIiwiZWRpdHMiOlt7Im9sZFRleHQiOiItIGBjcmF0ZXMvZmxhc2hlci1xdGAg4oCUIFF0IDUvUXQgUXVpY2sgQ29udHJvbHMgMiIsIm5ld1RleHQiOiItIGBjcmF0ZXMvZmxhc2hlci1xdGAg4oCUIG5hdGl2ZSBRdCA1IFdpZGdldHMifSx7Im9sZFRleHQiOiJzdWRvIGFwdC1nZXQgaW5zdGFsbCBnY2MtYysrIGxpYmd0azQtZGV2ZWwgbGliYWR3YWl0YS1kZXZlbCBcXFxuICBxdDUtYmFzZS1kZXZlbCBxdDUtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ1LXF1aWNrY29udHJvbHMyLWRldmVsIFxcXG4gIHF0NS1xdWlja2NvbnRyb2xzMlxuYGBgXG5cblRoZSBRdCBiaW5kaW5ncyBkaXNjb3ZlciBRdCB0aHJvdWdoIGBxbWFrZWAuIElmIHNldmVyYWwgUXQgdmVyc2lvbnMgYXJlIGluc3RhbGxlZCwgc2VsZWN0IFF0IDUgZXhwbGljaXRseTpcblxuYGBgc2hcbmV4cG9ydCBRTUFLRT0vdXNyL2xpYjY0L3F0NS9iaW4vcW1ha2VcbmBgYFxuXG4oVGhlIGV4YWN0IGBxbWFrZWAgcGF0aCBjYW4gYmUgZm91bmQgd2l0aCBgcnBtIC1xbCBxdDUtYmFzZS1kZXZlbCB8IGdyZXAgJy9xbWFrZSQnYC4pIiwibmV3VGV4dCI6InN1ZG8gYXB0LWdldCBpbnN0YWxsIGdjYy1jKysgbGliZ3RrNC1kZXZlbCBsaWJhZHdhaXRhLWRldmVsIHF0NS1iYXNlLWRldmVsXG5gYGBcblxuVGhlIFF0IGNyYXRlIGRpc2NvdmVycyBRdCA1IHRocm91Z2ggYHBrZy1jb25maWdgIGFuZCB1c2VzIHRoZSBwbGF0Zm9ybSdzIG5hdGl2ZSBRdCB3aWRnZXQgc3R5bGUuIEl0IGRvZXMgbm90IHJlcXVpcmUgUU1MIG9yIFF0IFF1aWNrLiJ9XX19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMTUxLCJvdXRwdXQiOjI5NCwiY2FjaGVSZWFkIjo4NzU1MiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjozNiwidG90YWxUb2tlbnMiOjg4OTk3LCJjb3N0Ijp7ImlucHV0IjowLjAwNTc1NTAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwODgyLCJjYWNoZVJlYWQiOjAuMDQzNzc1OTk5OTk5OTk5OTk1LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNTgzNTF9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTUxNTk3MzAsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDU4MTMyNDgxOTE4ODE3M2QwNWMwYjVhMTlhIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjYxYzNmYjMyIiwicGFyZW50SWQiOiI0NjcyNDVmNiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTk6MjguMzIyWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9Nb1N3NjJ1MnRxdkZjR25TY0pQaG1UNXN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNWMxN2JjODE5MTk4ZmI5NWNmZjUzYTIwMWMiLCJ0b29sTmFtZSI6ImVkaXQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgcmVwbGFjZWQgMiBibG9jayhzKSBpbiBSRUFETUUubWQuIn1dLCJkZXRhaWxzIjp7ImRpZmYiOiIgICAgLi4uXG4gIDIgXG4gIDMgVGhpcyB3b3Jrc3BhY2UgY29udGFpbnMgdHdvIGluZGVwZW5kZW50IGludGVyZmFjZXMgZm9yIGBhbHQtcm9vdGZzLWluc3RhbGxlcmA6XG4gIDQgXG4gIDUgLSBgY3JhdGVzL2ZsYXNoZXItZ3RrYCDigJQgR1RLIDQvbGliYWR3YWl0YVxuLSA2IC0gYGNyYXRlcy9mbGFzaGVyLXF0YCDigJQgUXQgNS9RdCBRdWljayBDb250cm9scyAyXG4rIDYgLSBgY3JhdGVzL2ZsYXNoZXItcXRgIOKAlCBuYXRpdmUgUXQgNSBXaWRnZXRzXG4gIDcgXG4gIDggQm90aCBhcmUgaW50ZXJmYWNlIHByZXZpZXdzLiBUaGV5IGluc3BlY3Qgc3VwcG9ydGVkIGJvYXJkcyBhbmQgcmVtb3ZhYmxlIGRyaXZlcywgYnV0IGRvIG5vdCB3cml0ZSB0byBhbnkgZGV2aWNlLlxuICA5IFxuIDEwICMjIFN5c3RlbSBkZXBlbmRlbmNpZXNcbiAxMSBcbiAxMiBPbiBBTFQgTGludXg6XG4gMTMgXG4gMTQgYGBgc2hcbi0xNSBzdWRvIGFwdC1nZXQgaW5zdGFsbCBnY2MtYysrIGxpYmd0azQtZGV2ZWwgbGliYWR3YWl0YS1kZXZlbCBcXFxuLTE2ICAgcXQ1LWJhc2UtZGV2ZWwgcXQ1LWRlY2xhcmF0aXZlLWRldmVsIHF0NS1xdWlja2NvbnRyb2xzMi1kZXZlbCBcXFxuLTE3ICAgcXQ1LXF1aWNrY29udHJvbHMyXG4rMTUgc3VkbyBhcHQtZ2V0IGluc3RhbGwgZ2NjLWMrKyBsaWJndGs0LWRldmVsIGxpYmFkd2FpdGEtZGV2ZWwgcXQ1LWJhc2UtZGV2ZWxcbiAxOCBgYGBcbiAxOSBcbi0yMCBUaGUgUXQgYmluZGluZ3MgZGlzY292ZXIgUXQgdGhyb3VnaCBgcW1ha2VgLiBJZiBzZXZlcmFsIFF0IHZlcnNpb25zIGFyZSBpbnN0YWxsZWQsIHNlbGVjdCBRdCA1IGV4cGxpY2l0bHk6XG4rMTggVGhlIFF0IGNyYXRlIGRpc2NvdmVycyBRdCA1IHRocm91Z2ggYHBrZy1jb25maWdgIGFuZCB1c2VzIHRoZSBwbGF0Zm9ybSdzIG5hdGl2ZSBRdCB3aWRnZXQgc3R5bGUuIEl0IGRvZXMgbm90IHJlcXVpcmUgUU1MIG9yIFF0IFF1aWNrLlxuIDIxIFxuLTIyIGBgYHNoXG4tMjMgZXhwb3J0IFFNQUtFPS91c3IvbGliNjQvcXQ1L2Jpbi9xbWFrZVxuLTI0IGBgYFxuLTI1IFxuLTI2IChUaGUgZXhhY3QgYHFtYWtlYCBwYXRoIGNhbiBiZSBmb3VuZCB3aXRoIGBycG0gLXFsIHF0NS1iYXNlLWRldmVsIHwgZ3JlcCAnL3FtYWtlJCdgLilcbi0yNyBcbiAyOCAjIyBCdWlsZFxuIDI5IFxuIDMwIEJ1aWxkIGJvdGggYXBwbGljYXRpb25zOlxuIDMxIFxuICAgIC4uLiIsInBhdGNoIjoiLS0tIFJFQURNRS5tZFxuKysrIFJFQURNRS5tZFxuQEAgLTIsMzAgKzIsMjIgQEBcbiBcbiBUaGlzIHdvcmtzcGFjZSBjb250YWlucyB0d28gaW5kZXBlbmRlbnQgaW50ZXJmYWNlcyBmb3IgYGFsdC1yb290ZnMtaW5zdGFsbGVyYDpcbiBcbiAtIGBjcmF0ZXMvZmxhc2hlci1ndGtgIOKAlCBHVEsgNC9saWJhZHdhaXRhXG4tLSBgY3JhdGVzL2ZsYXNoZXItcXRgIOKAlCBRdCA1L1F0IFF1aWNrIENvbnRyb2xzIDJcbistIGBjcmF0ZXMvZmxhc2hlci1xdGAg4oCUIG5hdGl2ZSBRdCA1IFdpZGdldHNcbiBcbiBCb3RoIGFyZSBpbnRlcmZhY2UgcHJldmlld3MuIFRoZXkgaW5zcGVjdCBzdXBwb3J0ZWQgYm9hcmRzIGFuZCByZW1vdmFibGUgZHJpdmVzLCBidXQgZG8gbm90IHdyaXRlIHRvIGFueSBkZXZpY2UuXG4gXG4gIyMgU3lzdGVtIGRlcGVuZGVuY2llc1xuIFxuIE9uIEFMVCBMaW51eDpcbiBcbiBgYGBzaFxuLXN1ZG8gYXB0LWdldCBpbnN0YWxsIGdjYy1jKysgbGliZ3RrNC1kZXZlbCBsaWJhZHdhaXRhLWRldmVsIFxcXG4tICBxdDUtYmFzZS1kZXZlbCBxdDUtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ1LXF1aWNrY29udHJvbHMyLWRldmVsIFxcXG4tICBxdDUtcXVpY2tjb250cm9sczJcbitzdWRvIGFwdC1nZXQgaW5zdGFsbCBnY2MtYysrIGxpYmd0azQtZGV2ZWwgbGliYWR3YWl0YS1kZXZlbCBxdDUtYmFzZS1kZXZlbFxuIGBgYFxuIFxuLVRoZSBRdCBiaW5kaW5ncyBkaXNjb3ZlciBRdCB0aHJvdWdoIGBxbWFrZWAuIElmIHNldmVyYWwgUXQgdmVyc2lvbnMgYXJlIGluc3RhbGxlZCwgc2VsZWN0IFF0IDUgZXhwbGljaXRseTpcbitUaGUgUXQgY3JhdGUgZGlzY292ZXJzIFF0IDUgdGhyb3VnaCBgcGtnLWNvbmZpZ2AgYW5kIHVzZXMgdGhlIHBsYXRmb3JtJ3MgbmF0aXZlIFF0IHdpZGdldCBzdHlsZS4gSXQgZG9lcyBub3QgcmVxdWlyZSBRTUwgb3IgUXQgUXVpY2suXG4gXG4tYGBgc2hcbi1leHBvcnQgUU1BS0U9L3Vzci9saWI2NC9xdDUvYmluL3FtYWtlXG4tYGBgXG4tXG4tKFRoZSBleGFjdCBgcW1ha2VgIHBhdGggY2FuIGJlIGZvdW5kIHdpdGggYHJwbSAtcWwgcXQ1LWJhc2UtZGV2ZWwgfCBncmVwICcvcW1ha2UkJ2AuKVxuLVxuICMjIEJ1aWxkXG4gXG4gQnVpbGQgYm90aCBhcHBsaWNhdGlvbnM6XG4gXG4iLCJmaXJzdENoYW5nZWRMaW5lIjo2fSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTE2ODMyMn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImJiMjM0MThkIiwicGFyZW50SWQiOiI2MWMzZmIzMiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTk6MzMuOTY1WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNjNjZWQ0ODE5MThkOGJhYTRlZDFjMDM2MzRcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk4xbFktanVxMWNjWW1FUjhlQUxTcGs2ZEt3Z21aOWZVamdSQUdNU19ubHFsVURlUnVMN09UajI5RDFBY2c5VjZOMmE2NVNmRVlscWRrY2Rqb1hwUW5wYW9FZVc4UFNxay1yV21FR2IxWWtOWm9OSU55RW1ocHZDQXVJcERtb1A0Z3NnYWVZay1WSmRMdmlkVzhSS29Ycy1DQi1yeWc1RlhOU0tDN2JZaEgzNnN6eTU5dHVxNC12ajBJejYxVmlHbTVaRFZFcXYwZElpM0dzaVpBbjVsUEVmMWZhYllPVk9VQi1HUFZUMDMzc2NiTEtNYXduOFE4cXcydjFxR3ZyNV9jcWlWcE1sdXBJQTdEUlpXQk9HNHhWX25nc2JhQVhPTngwcHBlcHJYa01oWXEtbEpHTmhKdDJUV0RMeXNodXNJM2NCZXdrMmNvc2hTN190UGRVb3FRSWhydFRobzhfY0l0NEtBT0xJWUVvVFJzMjdVLUNTdVdtMG1nOFV1REpyZVJjdXBNZ1hMU0pkb1NDS0RheFBEaktPWlo0dTRDdEZHM19TWkxDZGVQUjluMmF4V1hRQ1hLRWlYM29YTFV5M2pQeTZTRlNfZnVlMWxRVnlXQnNneUp0ZDc4MVQ3RU5XYnVkYTRNU1pFZnlIeklDSmNhdzE3VnZjd1ZDQ3RMY2FBVl9rVVh1QzJmdVViRFlNTjZPdWZ6WlduS1J1MWNGVFVYSU83MG1mRDFvU3JIelloOU1GMTZWc25hby1FdHJZem9Ddm1Xc3NpdzlUcWExSVRXeEdrZFdpTVllREhWSVE4Q0E3VGRnRThTbUMwQmktcVRlZVN1clFubVgybklLN05MSXQ1QUlYbThHZGdqUlJ1ZHU5VFU1NmVtR0RoMzZHZS1fcjJrVi1JX05HZzhqZHRMc3dpMEFZQ19ZdGVpaXlZU085Z0lQVlVpRnY5RE4yT3BrTlF6aGphMDRZU3d6QkQtang5S1FBTnpUWTdJU0lhT1VRbWVsQ214TzlwWUVxUzlYenJFdnVuX1V1bnZicUJqQ3dxSEFiN2ZlNVItbHdVdzFpSjFWRWR0UnFsRGlkVDVkWW1hV2JzYmphbUh2eWNJNU02bUdpVzZraGludkF2MVgtV0lvbnM3djRUT053QUFMNTlBd2drOFh1a25sUHNDRm1oV2o2dWhEVXBub2d0Rnk0LUM0V1NMc2V6ZmloSFp4WExYOW16SzhHdXZWeWluMnRFVUgtMWswV2dMX3B0Tmp5SHdwR1k1SXZ0cGJUMXhiZnVEeHhPVENvc3JaekV3a0stS0Jwanc9PVwiLFwic3VtbWFyeVwiOltdfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0ZLSU8zcXFWamF0SE5iWUtrTllOYjdySHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGQ2NWQ4OTQ4MTkxYmY5MWQ3OTQyOWRhNTM4OCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJnaXQgc3RhdHVzIC0tc2hvcnQ7IGdpdCBkaWZmIC0tc3RhdCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9sblcwTTc1SFBDSE5VYzlXTk03OVNxMnF8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNjVkOGE4ODE5MTljY2M1ZmIyZWE4Yzg1YjciLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiZ3JlcCAtbiAncW1ldGFvYmplY3QnIENhcmdvLmxvY2sgQ2FyZ28udG9tbCBjcmF0ZXMvZmxhc2hlci1xdC9DYXJnby50b21sIHx8IHRydWU7IGZpbmQgY3JhdGVzL2ZsYXNoZXItcXQgLW1heGRlcHRoIDMgLXR5cGUgZiAtcHJpbnQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjQ0Miwib3V0cHV0IjoxMTEsImNhY2hlUmVhZCI6ODg1NzYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTMsInRvdGFsVG9rZW5zIjo4OTEyOSwiY29zdCI6eyJpbnB1dCI6MC4wMDIyMSwib3V0cHV0IjowLjAwMzMzLCJjYWNoZVJlYWQiOjAuMDQ0Mjg4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNDk4Mjh9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTUxNjgzMjQsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDYwYWEwMDgxOTFhNzJjOGVhOTJlMzFiZWUxIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjE3ZGQzNjA4IiwicGFyZW50SWQiOiJiYjIzNDE4ZCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTk6MzQuMDEwWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9GS0lPM3FxVmphdEhOYllLa05ZTmI3ckh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNjVkODk0ODE5MWJmOTFkNzk0MjlkYTUzODgiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgTSBDYXJnby5sb2NrXG4gTSBSRUFETUUubWRcbiBNIGNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWxcbiBEIGNyYXRlcy9mbGFzaGVyLXF0L3FtbC9NYWluLnFtbFxuIE0gY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnNcbj8/IDAxOWY5OTk5LWNjZGQtNzIzNC05MTJhLTYyZTViNjhhN2U5ZC5qc29ubFxuPz8gY3JhdGVzL2ZsYXNoZXItcXQvYnVpbGQucnNcbj8/IGNyYXRlcy9mbGFzaGVyLXF0L3NyYy91aS5jcHBcbj8/IHBpLXNlc3Npb24tMjAyNi0wNy0yNVQxNC0wNy0wMS0zNDFaXzAxOWY5OTk5LWNjZGQtNzIzNC05MTJhLTYyZTViNjhhN2U5ZC5odG1sXG4gQ2FyZ28ubG9jayAgICAgICAgICAgICAgICAgICAgIHwgMTYwICstLS0tLS0tLS0tLS0tLS0tXG4gUkVBRE1FLm1kICAgICAgICAgICAgICAgICAgICAgIHwgIDE0ICstXG4gY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbCAgIHwgICA4ICstXG4gY3JhdGVzL2ZsYXNoZXItcXQvcW1sL01haW4ucW1sIHwgMzk0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnMgIHwgIDUwICsrKystLVxuIDUgZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgNTgwIGRlbGV0aW9ucygtKVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MTc0MDEwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiOTI2NWY4MzgiLCJwYXJlbnRJZCI6IjE3ZGQzNjA4IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1OTozNC4wMTBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2xuVzBNNzVIUENITlVjOVdOTTc5U3EycXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGQ2NWQ4YTg4MTkxOWNjYzVmYjJlYThjODViNyIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6ImNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWxcbmNyYXRlcy9mbGFzaGVyLXF0L2J1aWxkLnJzXG5jcmF0ZXMvZmxhc2hlci1xdC9zcmMvbWFpbi5yc1xuY3JhdGVzL2ZsYXNoZXItcXQvc3JjL3VpLmNwcFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MTc0MDEwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZGYwMjJlMDAiLCJwYXJlbnRJZCI6IjkyNjVmODM4IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNTo1OTo0MC4wNzRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkNsZWFuaW5nIHVwIHVudHJhY2tlZCBzZXNzaW9uIGFydGlmYWN0cyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNjk3MzI4ODE5MWFkZmM5ZTdjNzU0MmVkZDVcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk4xck16YjlzQXhKTGk3LTFTRC1yTmx5MXlZWjBuV1VJY2Zaei12NXUtRXljelB3Q0JKWEVIOFpmcjNyWnVXSmh3b2ZhQUxCT0dESGE1VWczQlhYVC1PMWszdHZsSDBGNkFYNzI0T2FPbVRid1lMUENfV3UzbGNLc1ZnZkllVHE5MVkzUFFkSmt6UHJUbXJkOVFFc3NBajJLNE5QTDVmeXRocUhzenR0MDNfa2VRUmdHWktvcGFGWjdFNDROTGhxVTZuUzFTelg3NFFzRXBvRGhwWEpFYWpsbEllel85M3RfejZhcjlab3BFQkZmSURKc1RfREpMOTVqamNjSnVkQ0ZzbEFOM1ZLWDlnSUVFak5nbHBjbkpJenZ0QzJTMmJVNWl1M1VvQTZLbG16QVgtUmhiQ0VPWGMxWVJyd0VGU3NCUkNfVndCeXByY1RCcmljMUNMWjd1b2p5R3JxUUhSd2xjTDhVZzFMUHNRWTh5THl3cC1qVFNSMHQzbEF1TzRUTGMzaXdyZjhHeXFSdGhMdTU3bENab1B3NlhuNzk3S0Z1Tmg3SFF1cTVpY09Bcnc0OW9Ub2hreTd6RDJDSXBkeDkxeENfeEF0YUNEZTZ2bTJiN0h0bU9OeVJMdDQ3ci1WUll6MXd4UmhOQWNuSGtNRl9qNTFhRmgwTXlQSE1pVUJKb09EX3BmXzAtYTJtSkNnajVqLXVIejhEbVpYb0tpUno1UDlacGFYQk1Fd2t2aHdqRV9naE1sOHhjRjhoWTFKcFdSdmh4Nm1nQmRNcEhibXBFNkhXVzBkRDFKSjVpNFlyc1RyRFJOOC0wOVQxd1FFenNjQldoQ1JJcFFyTkxoRHFQNV8xZ0xfTzYwYk8yZUtuakY3LXhUNUtNOXE3X01EWmVLQmdDMFctbmlMMHhNVENUWHNZcjRoUjY5NTZTekdUbjRLbThmTWZHdERoNUVvWUJzcklkc0txUENhOHkyRHBsVTdqdkVvQWp1YXh1alJyRzhPY1RubzlTVEZEN2Z5OXc1eDVIVV9FMUh0Y3BHWmdYSjRadm1vc1FMR29KbVpzZGo1UHh1RHZrbnh5RTQ5dFdwdW0yZW5CbEg3RFJGVFU5ekdLbmVyUWRCUGdiejFiRXotc3l5anp3X3VCRWhjZWpDRHJmdU9yWS1QaXdXam9VZEhzWnpZN014UGZMR2JIWmZhajQ2V3FSNmRfTlIzQXMzZ1k4YUl1WDYwcXpWeko0X1g3RjJRU1g3ZVU3S2x0SW4zMHRlNjhQbkJSSnlrY2NzREFVX1gyejdPR3dJWFF3c2ZlMkhyVG1oNFlaalM4RGJ0aVZvV1ZOcGhLTS1GUHJRQ3hOem8xMFJpamhpV01tS0pYMUNjazRMRHQ1XzBHRmV3R19uaTMzVTIxcHp6RXRfRnJ6dW1jQXBMMGdPdnNlTXNXcnEzT0NDaDh6TWc3TFViMWktYWV1amJJQmExek51TC1LcWhSbjROTFRmX0VhYkxQczZHRzlkcmhFRmFscEtqV28ydG5yXzM5N3R5VEFLZDBuTnZuMWtITnd5aGxVeUd2OXdNeTRVZjBmOFRIZEFPWUFBa2VzcnpKRmc9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipDbGVhbmluZyB1cCB1bnRyYWNrZWQgc2Vzc2lvbiBhcnRpZmFjdHMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfME4wMUhEU1VEdUR0b0tIRFd0bjczaGl2fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDZiMWUwNDgxOTFiYmY1ZWUwNGMxMDkxMTM1IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJtIC1mIDAxOWY5OTk5LWNjZGQtNzIzNC05MTJhLTYyZTViNjhhN2U5ZC5qc29ubCBwaS1zZXNzaW9uLTIwMjYtMDctMjVUMTQtMDctMDEtMzQxWl8wMTlmOTk5OS1jY2RkLTcyMzQtOTEyYS02MmU1YjY4YTdlOWQuaHRtbFxuZ2l0IHN0YXR1cyAtLXNob3J0In19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo4MjgsIm91dHB1dCI6MTQ0LCJjYWNoZVJlYWQiOjg4NTc2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjQ1LCJ0b3RhbFRva2VucyI6ODk1NDgsImNvc3QiOnsiaW5wdXQiOjAuMDA0MTQwMDAwMDAwMDAwMDAwNSwib3V0cHV0IjowLjAwNDMyLCJjYWNoZVJlYWQiOjAuMDQ0Mjg4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNTI3NDh9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTUxNzQwMTMsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZDY2NjNkNDgxOTFiMDIyYTE2NTBiMGM3NDgwIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjBjZmNhN2I1IiwicGFyZW50SWQiOiJkZjAyMmUwMCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTU6NTk6NDAuMDgxWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF8wTjAxSERTVUR1RHRvS0hEV3RuNzNoaXZ8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNmIxZTA0ODE5MWJiZjVlZTA0YzEwOTExMzUiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgTSBDYXJnby5sb2NrXG4gTSBSRUFETUUubWRcbiBNIGNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWxcbiBEIGNyYXRlcy9mbGFzaGVyLXF0L3FtbC9NYWluLnFtbFxuIE0gY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnNcbj8/IGNyYXRlcy9mbGFzaGVyLXF0L2J1aWxkLnJzXG4/PyBjcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTUxODAwODB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIyYTZmZDUyZiIsInBhcmVudElkIjoiMGNmY2E3YjUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE1OjU5OjQ3LjcyNloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJZZXPigJR0aGUgZm9yZWlnbiBhcHBlYXJhbmNlIHdhcyBsYXJnZWx5IGNhdXNlZCBieSBRdCBRdWljayBDb250cm9scywgd2hpY2ggZG8gbm90IHVzZSB0cmFkaXRpb25hbCBuYXRpdmUgZGVza3RvcCB3aWRnZXRzLlxuXG5JIHJlcGxhY2VkIHRoZSBRdCBRdWljay9RTUwgaW50ZXJmYWNlIHdpdGggbmF0aXZlIFF0IDUgV2lkZ2V0czpcblxuLSBVc2VzIHRoZSBzeXN0ZW0gUXQgd2lkZ2V0IHN0eWxlIGFuZCBwYWxldHRlXG4tIE5hdGl2ZSBkaWFsb2dzLCBtZW51cywgYnV0dG9ucywgcmFkaW8gYnV0dG9ucywgZm9ybXMsIGFuZCBzY3JvbGwgYXJlYXNcbi0gQm9hcmQgcGlja2VyIGlzIG5vdyBhIG5hdGl2ZSBzZWFyY2hhYmxlIHRyZWUgZ3JvdXBlZCBieSBwbGF0Zm9ybS9Tb0Ncbi0gUmVtb3ZlZCBRTUwgYW5kIHRoZSBgcW1ldGFvYmplY3RgIGRlcGVuZGVuY3lcbi0gUnVzdCBsYXVuY2hlcyB0aGUgUXQgV2lkZ2V0cyBpbXBsZW1lbnRhdGlvbiB0aHJvdWdoIGEgc21hbGwgQysrIEZGSSBsYXllclxuLSBVcGRhdGVkIGJ1aWxkIGluc3RydWN0aW9ucyBpbiBgUkVBRE1FLm1kYFxuXG5WZXJpZmllZCBzdWNjZXNzZnVsbHk6XG5cbmBgYGJhc2hcbmNhcmdvIGJ1aWxkXG5gYGBcblxuQm90aCBHVEsgYW5kIFF0IGFwcGxpY2F0aW9ucyBub3cgYnVpbGQuIFJ1biB0aGUgbmV3IHZlcnNpb24gd2l0aDpcblxuYGBgYmFzaFxuY2FyZ28gcnVuIC1wIGZsYXNoZXItcXRcbmBgYCIsInRleHRTaWduYXR1cmUiOiJ7XCJ2XCI6MSxcImlkXCI6XCJtc2dfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNmU0OTI0ODE5MThiZGU1ZDFkYjI3NTEyMGJcIixcInBoYXNlXCI6XCJmaW5hbF9hbnN3ZXJcIn0ifV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTA0Miwib3V0cHV0IjoxNTksImNhY2hlUmVhZCI6ODg1NzYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MCwidG90YWxUb2tlbnMiOjg5Nzc3LCJjb3N0Ijp7ImlucHV0IjowLjAwNTIxLCJvdXRwdXQiOjAuMDA0NzcsImNhY2hlUmVhZCI6MC4wNDQyODgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA1NDI2OH19LCJzdG9wUmVhc29uIjoic3RvcCIsInRpbWVzdGFtcCI6MTc4NDk5NTE4MDA4MywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkNmM5ODc0ODE5MWFkMTQ1NTkwYzQ3NzkxYTAifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZWQ3YWY5Y2QiLCJwYXJlbnRJZCI6IjJhNmZkNTJmIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMTo1OS44MzFaIiwibWVzc2FnZSI6eyJyb2xlIjoidXNlciIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Im9rYXkgaXQgbG9va3MgYmV0dGVyLCBidXQgaSBkb250IHdhbnQgYW55IGMrKyBpbiB0aGlzIHByb2plY3QuIHdyaXRlIGl0IGluIHJ1c3QgdXNpbmcgcXQgbGlicmFyeS4gYW5kIGlmIG5vdCBleHBsYWluIHdoeS4ifV0sInRpbWVzdGFtcCI6MTc4NDk5NTMxOTgzMH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijk0YmFiYmY1IiwicGFyZW50SWQiOiJlZDdhZjljZCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDI6MTEuODAzWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipJbnZlc3RpZ2F0aW5nIFJ1c3QgUXQgV2lkZ2V0cyBiaW5kaW5ncyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRkZmE5MGY4ODE5MTg4NTU0MGE4MzVjN2Y0NDBcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk40RC15NjZBYWk3RDZhdDVXSmNaMWRlVTNGd1JfeXkxbU1Kd1dWaTBwUEFxblpZa0ZMTV9MV3pUM2ZZaUZIcUlnUlJhTlJ2REJ1bU9LUG03M1pyTE4tdm9HN093LVJpUV9vWU9ycEI5Mmx2T2ZvOUZyRFhTd3JNVWF4NEVVdFVqV3hNTlNBelM0Wkc4c3d5d0dRQTJUX1k0M1hQbHozRWZodlgxNFQzUGhyMVdLUVNkRHZLLTN4d294b3lzMzZWNml0V1R0MWhUd0Ffd0JtcXAzLTJxT2gtZ1IxSHJiT2Vrblp6ZGhvUklFQ09Md1RkVzFXbEctVDdiVzRzQmtsdGJTRkFnM3BmOTBUYkZlWlJyZng4U3ZnRjJySC1ZMllxNGhseTFMekFzanZmems2b0hoUjVIbHk4YnZXZ2lOQ1hhV19fT0phYWZ5alpjSHZId28wNThpSUxkV0xNMXllU1ZIazRaZ1hOQmQxUEZzTUMyM0s0M1BveENfUFFxUHdTQk50MDVyWkVCVERUMS1BTE0tWUROeW0zUldrRUdSemtuVmJ0R050LWFqeWpmRWJsYlZEY3hmelc5NHFXMmhoRmJicDZtZmJManlNTDhoZ2JMV0RCWEFiSnBPa09VUk1BTWJBd3M2WjdhN1Z0UmphZ1djTzNPXzg5MEwwQVRQaUdZWENiRTFfbkI0R2hJaTA1TkstSzhrMWxGTFJWQkFBQVlJWkxnOEoxaGFXamQ4Rm10UmVkVDV3VWlCSEFxR1d3dzA4SjRUemN4S0VvaGZIWnR5ZXNBNWtCSXZFR0FyaWxlT2ZhTkoyWmdEcTFTeExLY2lmNlAtM2FkUDhZYzZJXzM5NThCUUJLNUhZT3dzeklxbjhXX1BBUldPMElSTHNCOHlrQlVvczJ5VFNlNkdsTUtwOFpCNWg3RUZhWUZKRE0zcldHUkZlMGhISFMxUTVxMGhMajBycmp6ZmNKWE1tVnMtU24zSm81QktyaGZlWHEwU2JlSnZpRzdFS3kyd1VxSGZkSGlzQllPMTE4TnFzSUhBdkR5T1JCMmdXNHlxRm9aa05IQnFZY2Q5bzdWTTdHeF91TF9TSFNKZ3BYSUVvNUVGYUM4alo2c1JmYXEwbENnZGFid0xlWkEyYVk5a3ljd29JZ3hIU3lMaHItRC1tQkNVVkZnS2laeUxab1Z2MlhnVEZhWXl3YlN6aTJ0S1gyb091XzNrNlJBMDJQTmdXR0d1czhwdWRURHBWU0h2X2JMdVpDZG1TN2VsXzFyYThpbC0zVFh1VExlTzZ5cnlwLVY5dExwVVFhU0w1UVFKMjFsZ3BMOVcwTmhod0d3Q2FGeDFFa09ybHdGeDdBcC1IcWo0TFdyNVc2RnY0TFo5dkJmYThzN1JsZExsSUJySGx5d1BhbjJkQWVJWEluVUk3RW9TMDk2bk5SMDVnTnhubERydlFwb2FDUFhTR0hGa2ZIaUd5bU91N0doMEhqMGVFaGdlUm0zRm1uVGFTWVgtTXhUbEFyRURRRW82M0hWeHRhcXNsSFdxWW50UWhZTTVhRzZnbTlnbFllSFZXUnkwQ1VSSDFtcXpSWXI4YzhsMHBYUklzWUVzQWZRb2RTQmw5VU45UGpReHJBVDhJVEtDN3VicXlTcmxiS0tkc1hGWWs5LVdxTlJZNi1XTWxSblhka01HbkNzLUI3SHgtdUZmZlEwTTFXYlM4Y3E4c1RPY3BFVG5aR0J5T1ZCd0V5dkY5VVd6cFNlMmFXamc1ZWY5RVFGNVFaemFYZlQwT29tbHkyTVRTMGNKSGtTWnRPVW5MbGF2M3hVand5OWRKNjVrSm5KaHFETndGelNrQktGc19IZjNreDd5SjMweDY1N0lwckVJTnlNSnJXVEgtRHhENjVWMEsxeTk0eWcwVmJpS2NUbThIcUx4Y1Q1Q2tmQkpzPVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqSW52ZXN0aWdhdGluZyBSdXN0IFF0IFdpZGdldHMgYmluZGluZ3MqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfTU5xMFAxazVUMkNRc2lKQzVvaE1KeXczfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTAzOWJkMDgxOTE5ZDEyMjM5YjZmMGY4YzRiIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGluZm8gcXRfd2lkZ2V0cyAyPi9kZXYvbnVsbCB8IGhlYWQgLTgwOyBjYXJnbyBpbmZvIHF0X2NvcmUgMj4vZGV2L251bGwgfCBoZWFkIC01MDsgY2FyZ28gc2VhcmNoIHJpdHVhbCAtLWxpbWl0IDEwIiwidGltZW91dCI6MTIwfX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfUDBvRU5Sb0VlQ3JhcDdrbG5zejllemNlfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTAzOWJlNDgxOTFiM2ViZjY0OTljMzBjM2U3IiwibmFtZSI6IndlYl9zZWFyY2giLCJhcmd1bWVudHMiOnsicXVlcnkiOiJSdXN0IFF0IFdpZGdldHMgY3JhdGUgcXRfd2lkZ2V0cyByaXR1YWwgZXhhbXBsZSBRQXBwbGljYXRpb24gMjAyNSJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTIzNywib3V0cHV0IjoxODcsImNhY2hlUmVhZCI6ODg1NzYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6ODgsInRvdGFsVG9rZW5zIjo5MDAwMCwiY29zdCI6eyJpbnB1dCI6MC4wMDYxODUsIm91dHB1dCI6MC4wMDU2MSwiY2FjaGVSZWFkIjowLjA0NDI4OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDU2MDgzfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MzE5ODM0LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGRmODhhODg4MTkxOGQ1MjkwM2FlZmZkYzdkOCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJlMjgwNDJhMyIsInBhcmVudElkIjoiOTRiYWJiZjUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAyOjIyLjE2OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfTU5xMFAxazVUMkNRc2lKQzVvaE1KeXczfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTAzOWJkMDgxOTE5ZDEyMjM5YjZmMGY4YzRiIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoicXRfd2lkZ2V0cyAjZ3VpICNmZmkgI3F0ICNyaXR1YWxcbkJpbmRpbmdzIGZvciBRdFdpZGdldHMgQysrIGxpYnJhcnlcbnZlcnNpb246IDAuNS4wXG5saWNlbnNlOiBNSVQgT1IgQXBhY2hlLTIuMFxucnVzdC12ZXJzaW9uOiB1bmtub3duXG5kb2N1bWVudGF0aW9uOiBodHRwczovL3J1c3QtcXQuZ2l0aHViLmlvL3J1c3Rkb2MvcXQvcXRfd2lkZ2V0c1xucmVwb3NpdG9yeTogaHR0cHM6Ly9naXRodWIuY29tL3J1c3QtcXQvcml0dWFsXG5jcmF0ZXMuaW86IGh0dHBzOi8vY3JhdGVzLmlvL2NyYXRlcy9xdF93aWRnZXRzLzAuNS4wXG5mZWF0dXJlczpcbiAgcml0dWFsX3J1c3Rkb2MgICAgICAgICA9IFtxdF9jb3JlL3JpdHVhbF9ydXN0ZG9jLCBxdF9ndWkvcml0dWFsX3J1c3Rkb2NdXG4gIHJpdHVhbF9ydXN0ZG9jX25pZ2h0bHkgPSBbcXRfY29yZS9yaXR1YWxfcnVzdGRvY19uaWdodGx5LCBxdF9ndWkvcml0dWFsX3J1c3Rkb2NfbmlnaHRseV1cbnF0X2NvcmUgI2d1aSAjZmZpICNxdCAjcml0dWFsXG5CaW5kaW5ncyBmb3IgUXRDb3JlIEMrKyBsaWJyYXJ5XG52ZXJzaW9uOiAwLjUuMFxubGljZW5zZTogTUlUIE9SIEFwYWNoZS0yLjBcbnJ1c3QtdmVyc2lvbjogdW5rbm93blxuZG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9ydXN0LXF0LmdpdGh1Yi5pby9ydXN0ZG9jL3F0L3F0X2NvcmVcbnJlcG9zaXRvcnk6IGh0dHBzOi8vZ2l0aHViLmNvbS9ydXN0LXF0L3JpdHVhbFxuY3JhdGVzLmlvOiBodHRwczovL2NyYXRlcy5pby9jcmF0ZXMvcXRfY29yZS8wLjUuMFxuZmVhdHVyZXM6XG4gIHJpdHVhbF9ydXN0ZG9jICAgICAgICAgPSBbXVxuICByaXR1YWxfcnVzdGRvY19uaWdodGx5ID0gW11cbnJpdHVhbCA9IFwiMC4wLjBcIiAgICAgICAgICAgICAgICMgQXV0b21hdGljIGdlbmVyYXRvciBvZiBDKysgbGlicmFyeSB3cmFwcGVyc1xucml0dWFsLWNsaSA9IFwiMC4xLjBcIiAgICAgICAgICAgIyBtaW5pbWFsIENMSSBoYWJpdCB0cmFja2VyXG5yaXR1YWxfY29tbW9uID0gXCIwLjQuMFwiICAgICAgICAjIENvbW1vbiB1dGlsaXRpZXMgZm9yIHJpdHVhbCBhbmQgcml0dWFsX2J1aWxkXG5yaXR1YWxfYnVpbGQgPSBcIjAuNC4wXCIgICAgICAgICAjIEJ1aWxkIHNjcmlwdCBpbXBsZW1lbnRhdGlvbiBmb3IgQysrIGxpYnJhcnkgd3JhcHBlcnNcbnF0X3JpdHVhbF9jb21tb24gPSBcIjAuNC4wXCIgICAgICMgQ29tbW9uIHV0aWxpdGllcyBmb3IgZ2VuZXJhdGluZyBhbmQgYnVpbGRpbmcgUnVzdC1RdCBjcmF0ZXNcbnF0X3JpdHVhbF9idWlsZCA9IFwiMC41LjBcIiAgICAgICMgQnVpbGQgc2NyaXB0IGltcGxlbWVudGF0aW9uIGZvciBSdXN0IFF0IGNyYXRlc1xucXRfcml0dWFsID0gXCIwLjAuMFwiICAgICAgICAgICAgIyBHZW5lcmF0b3Igb2YgUnVzdC1RdCBjcmF0ZXNcbmNvbW1vbnNlbnNlID0gXCIwLjAuMVwiICAgICAgICAgICMgUGVyc29uYWwgcml0dWFsIGxpYnJhcnkgb2YgZXJnb25vbWljIFJ1c3QgdXRpbGl0aWVzXG5pc29jbGluZS1wcm90b2NvbCA9IFwiMC4xLjBcIiAgICAjIFdpcmUgdHlwZXMgc2hhcmVkIGJldHdlZW4gaXNvY2xpbmUtc2RrIGFuZCBpc29jbGluZS1nYXRld2F5LiBXb3JrZXJJbnB1dCwgV29ya2VyUmVzdWx0LCBUaWNrS2luZOKAplxuY3BwX3N0ZCA9IFwiMC4xLjFcIiAgICAgICAgICAgICAgIyBCaW5kaW5ncyBmb3IgQysrIHN0YW5kYXJkIGxpYnJhcnlcbi4uLiBhbmQgNzMgY3JhdGVzIG1vcmUgKHVzZSAtLWxpbWl0IE4gdG8gc2VlIG1vcmUpXG5ub3RlOiB0byBsZWFybiBtb3JlIGFib3V0IGEgcGFja2FnZSwgcnVuIGBjYXJnbyBpbmZvIDxuYW1lPmBcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTM0MjE2OH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImI3MTk1NzhlIiwicGFyZW50SWQiOiJlMjgwNDJhMyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDI6MjIuMTY4WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9QMG9FTlJvRWVDcmFwN2tsbnN6OWV6Y2V8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlMDM5YmU0ODE5MWIzZWJmNjQ5OWMzMGMzZTciLCJ0b29sTmFtZSI6IndlYl9zZWFyY2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIxLiBHZXR0aW5nIHN0YXJ0ZWQgLSBSaXR1YWxcbmh0dHBzOi8vcnVzdC1xdC5naXRodWIuaW8vcXQvZ2V0dGluZ19zdGFydGVkL1xuXG4yLiBxdF93aWRnZXRzIC0gUnVzdCAtIERvY3MucnNcbmh0dHBzOi8vZG9jcy5ycy9xdF93aWRnZXRzL2xhdGVzdC9xdF93aWRnZXRzL1xuXG4zLiBSaXR1YWwgLSBSaXR1YWxcbmh0dHBzOi8vcnVzdC1xdC5naXRodWIuaW8vXG5cbjQuIHF0X3dpZGdldHMgLSBSdXN0IC0gRG9jcy5yc1xuaHR0cHM6Ly9kb2NzLnJzL3F0X3dpZGdldHMvMC40LjEvcXRfd2lkZ2V0cy9pbmRleC5odG1sXG5cbjUuIEdpdEh1YiAtIHJ1c3QtcXQvcml0dWFsOiBVc2UgQysrIGxpYnJhcmllcyBmcm9tIFJ1c3QgwrcgR2l0SHViXG5odHRwczovL2dpdGh1Yi5jb20vcnVzdC1xdC9yaXR1YWwifV0sImRldGFpbHMiOnsicmVzdWx0cyI6W3sidGl0bGUiOiJHZXR0aW5nIHN0YXJ0ZWQgLSBSaXR1YWwiLCJ1cmwiOiJodHRwczovL3J1c3QtcXQuZ2l0aHViLmlvL3F0L2dldHRpbmdfc3RhcnRlZC8iLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6InF0X3dpZGdldHMgLSBSdXN0IC0gRG9jcy5ycyIsInVybCI6Imh0dHBzOi8vZG9jcy5ycy9xdF93aWRnZXRzL2xhdGVzdC9xdF93aWRnZXRzLyIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiUml0dWFsIC0gUml0dWFsIiwidXJsIjoiaHR0cHM6Ly9ydXN0LXF0LmdpdGh1Yi5pby8iLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6InF0X3dpZGdldHMgLSBSdXN0IC0gRG9jcy5ycyIsInVybCI6Imh0dHBzOi8vZG9jcy5ycy9xdF93aWRnZXRzLzAuNC4xL3F0X3dpZGdldHMvaW5kZXguaHRtbCIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiR2l0SHViIC0gcnVzdC1xdC9yaXR1YWw6IFVzZSBDKysgbGlicmFyaWVzIGZyb20gUnVzdCDCtyBHaXRIdWIiLCJ1cmwiOiJodHRwczovL2dpdGh1Yi5jb20vcnVzdC1xdC9yaXR1YWwiLCJzbmlwcGV0IjoiIn1dfSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTM0MjE2OH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjlmODljYWY1IiwicGFyZW50SWQiOiJiNzE5NTc4ZSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDI6MjkuNzE3WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipQbGFubmluZyBSdXN0IHJld3JpdGUgd2l0aCBxdF93aWRnZXRzKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUwZjgzMDQ4MTkxODdmMjNmYjk3MTA4MjA5NVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjRVOG9uVUItaHUtUnducUtKZkpjZ044OGJKSU1QOVc1UzFBZHV0OVk0TFFaOERRQmJZYWtrZGJQYXF6T3ozS01WemVSeUlmUm5VQklaM0l0RlV0MUFRbWlfd1lpSjdBMlJaaHA4Q2xHdVk4N2gyeVNObU04TjBfUWZteW1TemNCWEJvelpYMUljSzNsV3E1a1FOU18wcnRuTkRmV281UTNQdDktc0NwdXMzRFRqUzZlR3lCRGpybEV6YUV1YkZPdmJOMTV5UUx0dkJEN3RUTVdoUXNUb2FvOERIbHZPMWxWby1QOVB3WFdtajFpaTJaNVRYbzRvSjAxYWwtdkhHcV9GQ3JwOEVuZlJ1ZVlrRzJCaDcyQ2pKVkVDeFBPMkpEM043MEVrR1FET3NURjJVN0stRTRzbzNBeGxxNW1YbEhrUGhyM2ZJZVZiV0NuQnEzZ09vQzFCQ2g3NHpiUDQtcktUdXRHNWQtTVVtMktJMVc2RnBsQWpZdkpkMDJudG5sblJ2RjVuTVprTjJRMFFQNTdxS295M1p3ck1mak9WV3hCeUtMMV9tdy1lQjFGN2RqQ2xORTRQZk5lNXFzUm1BLW5maDdldTZmSkJwSFVvZ0t4VjFabHI4LXljUHo2YS1fQUxfLWNET0ZYU3RUbzdyRnhxbEFOc1BIc1NYYVMwbS1ZNHZkVVhYUGxxM1FRTDVFYmVYZzhmUllKa2k5TU1tSEltQ2o2YUNaMzBjZkhQcFVhMFVwaVdRWTlfeDRFcC15cGNnX05ndklWU2s3VWV0bHZfNXhfWGNDMTJ4X3c0OGh6anJzTmRRbEl1bDE0WXh6WmVDQTg1WnpqeUVtX2xmWVB3WnFvb3hpYWxlNl8xYVlwUDNDZFhkNVRzdWJJRUhQUldjLTdUTFdOUEcyNng1ZjVva1lNQm9PZFA4aXVlWXd5cDgxT0JMMGZkbUFhU0l6cFh6eUJNVFduN2dVSFZXQWZUV1l3Sm9FZjktd19fM2plT2JsblhEMmhUSXd2UDFGNVlKZGI4Y2pUaGZtMWh5ZnZvUkZnVm5NZHZUNUhhMzRKb1h0ZkFsRGVvQ0NGTDNQVm92Uk9ubkVBRVNoNThTR3NUTlBsTVlHTkV3NUFVWjRxWER0OE92QXk2ZkJYU1JHWEZ3ZThmaTlraHhoeElNSFRHZXdNSHZRTHd0SVdwSEI1V0xXX3NQeF93Wnctc1FIR0NZRDJjSU5uaEE4RU42QUdUd2hlZmpvQ1BSdnoxRGVzNmJ2NDFUdGFFdU15d3lXTzhYVHN6d3VZcDBXelJWbmhnTmFtaXpaSDFsb1ViZVAteFFONVhjMDc1UnViMG9YUW85cU5POTk4aHhHdWhPZ05uRkZZaUs1Wjdjc0NBVkg5ejVrSjdIR1I2ZDVxczZVT3AxUjR1QXJ2VnRqQ29aWTRpbk5SbkNlY0FfTFBqX295Q0tTT29YMkplc2UwelBUcFFZRkp1UTNRMm5kSEUwaGo3VEYwLWc0TU9TU3FLbTNJRTNVT0FzekZjcE12Zzd6a2hzVXZlalBLYlpvYW51X0p5TkdWQTkwb1JuSDNNN2JVOVNrZFlQRFEyTVV4Qi1SdHNMeVlmYVROelVIU0Jscnl3ZjdXWUN0dlBrX2tBWVlWNm1NRks5cEtGaDQxbEJMOXhndGh3N3RqSGRHcjFqU29HWHRXQ3pXdFRqVVo3TlhhVDBGd2VWRHplMmQ4TW5yVzF1QTRLcThDWjRZN1kxbTNKWTY4NmtzLVUzWXd6dnQtMmt1Y3dUUjJZUjEycFhNQlNjdGF1eGt5MElncUoxa1l6WGRWUjJKRkttM2JJNUs3cjNpOXAxaTBZbXluUmFFTHRwbnp6Q183RC0tc2s5YTQ0U1I2bTNKeENLd3g0NlRzMURMM2o5dlVoaVNubG5Bd1VmTXZxdmRsRGlpejhmUUY2V2ZjVnBuaHYtOVpIQzdaZDlHeVJXdHZKcFNiaUoyQ2R2dTc5NldZVzk0cmY1RjNmalpKYjJxN3RXdndmMkJwSXc1dy1OVE5VaUwtaV9Vb1BVQ1oxbC1HbW8tR2lSNVpUWndHN1ZjWUNRb2I3VXQ5MDNhdlY3dWRtSVlsY1ZxSGFlOWJHSDlUOXk5bG4xN2dEZTlyTFpSaksyQm9hZkE4YVU5bzEwc1BkNXdkLTdYSExBMG5KNFJEMno2Z0hheWVjYXJLeWFMRTBONVNHLWJRbXhsek13SWpiMGw1RkViRzc5UGU4bUw0UTBJWHh5cXVvTnNvd1M5V1FyQlI2MlItZjUwUWhLMHJhUjgwQlFIcDgzZ1U5akpHaEthRFNLZmdwa1ZmbU1vdz09XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBSdXN0IHJld3JpdGUgd2l0aCBxdF93aWRnZXRzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX05XbzlBNUdva0FCVXVWcmFUZnNDamZzbnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUxNDQ1ZDg4MTkxYTFlZmYyMWFmOGM5YzIwMCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJmaW5kIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYyAtbWF4ZGVwdGggMiAtdHlwZSBkIC1uYW1lICdxdF93aWRnZXRzLTAuNS4wJyAtbyAtbmFtZSAncXRfY29yZS0wLjUuMCc7IGZpbmQgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovcXRfd2lkZ2V0cy0wLjUuMCAtbWF4ZGVwdGggMiAtdHlwZSBmIHwgaGVhZCAtMjAgMj4vZGV2L251bGwifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEwNzEsIm91dHB1dCI6MjI5LCJjYWNoZVJlYWQiOjg5NjAwLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjEzMSwidG90YWxUb2tlbnMiOjkwOTAwLCJjb3N0Ijp7ImlucHV0IjowLjAwNTM1NSwib3V0cHV0IjowLjAwNjg3LCJjYWNoZVJlYWQiOjAuMDQ0OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDU3MDI1fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MzQyMTcxLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUwZTg3NjQ4MTkxOGQwMmUwODg5NGM5MDI1MCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJjYjE5ODM5YyIsInBhcmVudElkIjoiOWY4OWNhZjUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAyOjI5Ljc5MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfTldvOUE1R29rQUJVdVZyYVRmc0NqZnNufGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTE0NDVkODgxOTFhMWVmZjIxYWY4YzljMjAwIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF9jb3JlLTAuNS4wXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjBcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRfd2lkZ2V0cy0wLjUuMC9DYXJnby50b21sLm9yaWdcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRfd2lkZ2V0cy0wLjUuMC9yaXR1YWxfZGJfdjEuanNvblxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wL0NhcmdvLnRvbWxcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRfd2lkZ2V0cy0wLjUuMC9idWlsZC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wLy5jYXJnb192Y3NfaW5mby5qc29uXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjAvLmNhcmdvLW9rXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjAvdGVzdHMvbW9kZWxfaW5kZXhfbGlzdC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wL3Rlc3RzL3B1c2hfYnV0dG9uLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjAvYnVpbGRfc2NyaXB0X2RhdGEuanNvblxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wL2NfbGliL2ZpbGUxLmNwcFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wL2NfbGliL3F0X3dpZGdldHNfY19nbG9iYWwuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wL2NfbGliL0NNYWtlTGlzdHMudHh0XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjAvY19saWIvc2l6ZWRfdHlwZXMuY3h4XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjAvc3JjL2xpYi5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wL3NyYy9mZmkuaW4ucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRfd2lkZ2V0cy0wLjUuMC9zcmMvb3BzLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjAvc3JjL2ltcGxfcV9hcHBsaWNhdGlvbi5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdF93aWRnZXRzLTAuNS4wL3NyYy9xX2RyYXdfYm9yZGVyX3BpeG1hcC5yc1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MzQ5NzkwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiY2VjYzBjOWEiLCJwYXJlbnRJZCI6ImNiMTk4MzljIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMjozNS4zOTBaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkFzc2Vzc2luZyBDKysgcHJlc2VuY2UgaW4gYmluZGluZ3MgcGFja2FnZSoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlMTc5NTcwODE5MWJhN2E5ZTIyM2ZiNjdkMmVcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk40Yk55eXZBZk5vVnhfTjhjX1VoazFHdHJESkF0XzBHZW9GdU9NSDBaeWVYYUlTWGNqcjl1X3lvdERleFNiZjl3WGFCTm1CNmQ2clZpdkpJWjJpdzdWbTd4OTBJbjc0RFlXam5fYkZFOHFpSWhhSy1qYzVvT0hFdlNBTmptWS03TmNhZDhhZTFaTE1hQ25FQ1hqU3REWWJWX2d4Zl9UQlZvT0x6YVNtbkEyTnJBRTFqak1rci1COTFNWDhEUWl2NmtLWVpOX0ItNER2OElXc1lQcGRwRlk3UXpQSmdZaGgybHYtTFVreXVjTV9mUnFVQ19aRk1ZbGhhS0VQUWYxZGpWQWVBc0ZlTnJTSHhVMzdmRm52UjBtTkZPY2tnUGVHc1paX0drTGwxRVlRemRNSHB6STJzQ29xUFFmdGVyc0dHQjRzMmdTMG9nb1RkX1lJbHhSel9LN3J6V1ZCU3J5Zk1aTjl2QmxlWkFBWDVWZm1xRHdfVlVLcjFONjR6cHBnMllBYkxERVdKU2c0ajhJUTc0NHFOX0R5dWMxUFRhQ0kzeFltSzVSb0tNNDJzSE1rMFBWYjFBQjctcDBPNS1XR3RJTmN5VXYtWjRKbnl3Y0NVVUY4Qm9GRGx1cTBFMW8tTTR6MmhJWFQ0ZElfUnlUOGU3U1Faa0g5LXd4amNiUkxLeXZXQ2loOUdPbHFkS3dFeGlTMVR5bmJGcklzWjBvTkdFLVhucU9HbDVobVN5OEo1TEJxUWRHVlBkbHpIMXozazBnSlVJVGhfM2YxSGl6YmVMbnVVc1pRY0xUdGU2STZkUmdxMFNGb0UxenEwa1FUb0pkM1RjYnVZM09FVHRUZ05TLXFEaVpySGhWX2Jqa3RvSWt0UFFEa2FvcXZfTUtHZ2lnTDBDS1A0YzdvWVF1aENDSmtwaFlPU1BicktZWVdCdGJqQzlUTUp6VHBiZU1FdW4yUEJnQTYxQzctUERZa3h5MDhJckIwMkxtM21ZRzZWN3U2UHBLWjhRLXpSUEZsQ1d4Rm5neEd1d2J2Q3lSTVl0YXNzVjg2WHJhaXY4ektyWHNCeVd2WVJjZXNqZEJlSGd2X2RRMFFDVTU2WFhQRGpHRHhyS2F6VVA0Y1B2QUZDQ0I4alVBd29PaXRMSFZqeE1GSDVkX0FQSWJnRlB4bVVNTDc2d0lKdWVSLWRXMmhOcUMzTS0xWGNPMFNVVlh3T21qdnVEMDd0NjRfbGpyTTM5R0lDVVY1aGVHUmMxNnhlSDhDTS1tMTk0N0k2VHhhOEdXRmo0U1BFUG1LdWhpdHRZYU1Fc2stYzR4SjQzbmJ0dVRYdTNhOTU0WDhaMzdUcHZ6T0lkU0JNZVlGalY4T2FFSFZnWm9JMUhyVGZZQXMzS1ZlYWpmSVFSVV9rNE51VGZmNk5JRUNscVlGWUprOHlIQ3BMQi1wNTlzNTg5X3REby1UVno0RTgwWXFTUlFPeGJlSWNHb1VkUT09XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipBc3Nlc3NpbmcgQysrIHByZXNlbmNlIGluIGJpbmRpbmdzIHBhY2thZ2UqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfUFFObmY0ejVXdE9mc2tGdTVERm1uOGpyfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTFiM2E3MDgxOTFiYmY2OTBjNzIwMDNkNGE3IiwibmFtZSI6InJlYWQiLCJhcmd1bWVudHMiOnsicGF0aCI6Ii9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRfd2lkZ2V0cy0wLjUuMC90ZXN0cy9wdXNoX2J1dHRvbi5ycyJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9OREJEdXhCYjhWSXNLdEw3VDZleDhXcjN8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlMWIzYTgwODE5MTg3MWYzYmI0YmY0Yjg1MmMiLCJuYW1lIjoid2ViX2ZldGNoIiwiYXJndW1lbnRzIjp7InVybCI6Imh0dHBzOi8vcnVzdC1xdC5naXRodWIuaW8vcXQvZ2V0dGluZ19zdGFydGVkLyIsIm1heENoYXJzIjoxNTAwMH19LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX1FkcHAwYmtYTVRlazE2elVYbDlScm5zbXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUxYjNhOGM4MTkxOGQwZmViNTAwYTkwNzVhNSIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJmaW5kIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL3F0X3dpZGdldHMtMC41LjAvZXhhbXBsZXMgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovcXRfY29yZS0wLjUuMC9leGFtcGxlcyAtdHlwZSBmIDI+L2Rldi9udWxsIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyMTYzLCJvdXRwdXQiOjIwMCwiY2FjaGVSZWFkIjo4OTYwMCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjozMSwidG90YWxUb2tlbnMiOjkxOTYzLCJjb3N0Ijp7ImlucHV0IjowLjAxMDgxNTAwMDAwMDAwMDAwMiwib3V0cHV0IjowLjAwNiwiY2FjaGVSZWFkIjowLjA0NDgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA2MTYxNX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTM0OTc5MywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlMTYyN2EwODE5MTg5YWQzMDNkOGQ0NmY1YjQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYjA0ZDcxMDUiLCJwYXJlbnRJZCI6ImNlY2MwYzlhIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMjozNi4zNzJaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1BRTm5mNHo1V3RPZnNrRnU1REZtbjhqcnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUxYjNhNzA4MTkxYmJmNjkwYzcyMDAzZDRhNyIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6InVzZSBxdF93aWRnZXRzOjp7cXRfY29yZTo6UVN0cmluZywgUUFwcGxpY2F0aW9uLCBRUHVzaEJ1dHRvbn07XG5cbiNbdGVzdF1cbmZuIHB1c2hfYnV0dG9uMSgpIHtcbiAgICBRQXBwbGljYXRpb246OmluaXQofF98IHVuc2FmZSB7XG4gICAgICAgIGxldCBidG4gPSBRUHVzaEJ1dHRvbjo6ZnJvbV9xX3N0cmluZygmUVN0cmluZzo6ZnJvbV9zdGRfc3RyKFwiZmlyc3RfYnV0dG9uXCIpKTtcbiAgICAgICAgbGV0IHRleHQgPSBidG4udGV4dCgpLnRvX3N0ZF9zdHJpbmcoKTtcbiAgICAgICAgYXNzZXJ0X2VxISgmdGV4dCwgXCJmaXJzdF9idXR0b25cIik7XG4gICAgICAgIDBcbiAgICB9KVxufVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MzU2MzcyfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMTYxZTcyZGYiLCJwYXJlbnRJZCI6ImIwNGQ3MTA1IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMjozNi4zNzJaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX05EQkR1eEJiOFZJc0t0TDdUNmV4OFdyM3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUxYjNhODA4MTkxODcxZjNiYjRiZjRiODUyYyIsInRvb2xOYW1lIjoid2ViX2ZldGNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU291cmNlOiBodHRwczovL3J1c3QtcXQuZ2l0aHViLmlvL3F0L2dldHRpbmdfc3RhcnRlZC9cblxuR2V0dGluZyBzdGFydGVkIC0gUml0dWFsIFJpdHVhbCBVc2UgQysrIGxpYnJhcmllcyBmcm9tIFJ1c3QgQWJvdXQgUml0dWFsIFJ1c3QgKyBRdCBndWlkZSBCbG9nIEdldHRpbmcgc3RhcnRlZCBUbyB1c2UgUXQgZnJvbSBSdXN0LCBhZGQgdGhlIGNyYXRlcyBhcyBkZXBlbmRlbmNpZXMgdG8geW91ciBDYXJnby50b21sICwgZm9yIGV4YW1wbGU6IFtkZXBlbmRlbmNpZXNdIHF0X3dpZGdldHMgPSBcIjAuNVwiIEVhY2ggY3JhdGUgcmUtZXhwb3J0cyBpdHMgZGVwZW5kZW5jaWVzLCBzbywgZm9yIGV4YW1wbGUsIHlvdSBjYW4gYWNjZXNzIHF0X2NvcmUgYXMgcXRfd2lkZ2V0czo6cXRfY29yZSB3aXRob3V0IGFkZGluZyBhbiBleHBsaWNpdCBkZXBlbmRlbmN5LiBZb3UgY2FuIGFsc28gYWRkIHRoZW0gYXMgZGlyZWN0IGRlcGVuZGVuY2llcyBmb3IgY29udmVuaWVuY2UsIGJ1dCBtYWtlIHN1cmUgdG8gdXNlIGNvbXBhdGlibGUgdmVyc2lvbnMuIFNlZSBydXN0LXF0L2V4YW1wbGVzIHJlcG9zaXRvcnkgdG8gc2VlIGhvdyB0byB1c2UgdGhlIEFQSSBwcm92aWRlZCBieSBRdCBjcmF0ZXMuIE1vc3Qgb2YgdGhlIFF0IEFQSSBpcyB0cmFuc2xhdGVkIHRvIFJ1c3QgYXMtaXMgd2hlbiBwb3NzaWJsZS4gSWRlbnRpZmllcnMgYXJlIG1vZGlmaWVkIGFjY29yZGluZyB0byBSdXN0JnJzcXVvO3MgbmFtaW5nIGNvbnZlbnRpb24uIE92ZXJsb2FkZWQgbWV0aG9kcyAobWV0aG9kcyBhY2NlcHRpbmcgbXVsdGlwbGUgc2V0cyBvZiBhcmd1bWVudCB0eXBlcykgYXJlIHdyYXBwZWQgYXMgZGlzdGluY3QgUnVzdCBtZXRob2RzIHdpdGggc3VmZml4ZXMgdGhhdCBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZW0uIEluIG1hbnkgY2FzZXMsIHlvdSBjYW4gYWRkcmVzcyB0aGUgUXQgZG9jdW1lbnRhdGlvbiBhbmQgdHJhbnNsYXRlIGV4YW1wbGVzIGZyb20gaXQgYWxtb3N0IGRpcmVjdGx5IHRvIFJ1c3QgY29kZS4gQ3JhdGUgZG9jdW1lbnRhdGlvbiAoYXZhaWxhYmxlIG9uIGRvY3MucnMgb3IgdGhyb3VnaCBjYXJnbyBkb2MgKSBmZWF0dXJlcyBlbWJlZGRlZCBRdCBkb2N1bWVudGF0aW9uLiBJbiBhZGRpdGlvbiwgUnVzdCBjcmF0ZXMgcHJvdmlkZSBzb21lIGhlbHBlcnMgdG8gaW1wcm92ZSBlcmdvbm9taWNzOiBRdCBhcHBsaWNhdGlvbiBvYmplY3RzICggUUFwcGxpY2F0aW9uICwgUUd1aUFwcGxpY2F0aW9uICwgUUNvcmVBcHBsaWNhdGlvbiApIHJlcXVpcmUgYXJnYyBhbmQgYXJndiB0byBiZSBwcmVzZW50LCBhbmQgdGhlc2UgYXJlIG5vdCBhdmFpbGFibGUgZGlyZWN0bHkgaW4gUnVzdC4gVXNlIGluaXQgaGVscGVycyB0byBpbml0aWFsaXplIHRoZSBhcHBsaWNhdGlvbiBjb3JyZWN0bHk6IGZuIG1haW4gKCkgeyBRQXBwbGljYXRpb24gOjogaW5pdCAoIHwgYXBwIHwgdW5zYWZlIHsgLy8uLi4gfSkgfSBxdF9jb3JlIHByb3ZpZGVzIEFQSSBmb3IgdXNpbmcgc2lnbmFscyBhbmQgc2xvdHMgY29udmVuaWVudGx5LiBZb3UgY2FuIGNvbm5lY3QgYnVpbHQtaW4gc2lnbmFscyB0byBidWlsdC1pbiBzbG90cyBsaWtlIHRoaXM6IGxldCBtdXQgdGltZXIgPSBRVGltZXIgOjogbmV3XzBhICgpOyB0aW1lciAuIHRpbWVvdXQgKCkuIGNvbm5lY3QgKCBhcHAgLiBzbG90X3F1aXQgKCkpOyBZb3UgY2FuIGFsc28gY29ubmVjdCBzaWduYWxzIHRvIFJ1c3QgY2xvc3VyZXMgKHNlZSBiYXNpY19mb3JtIGV4YW1wbGUgOiBsZXQgYnV0dG9uX2NsaWNrZWQgPSBTbG90Tm9BcmdzIDo6IG5ldyAoIE51bGxQdHIgLCBtb3ZlIHx8IHsgLi4uIH0pOyBidXR0b24gLiBjbGlja2VkICgpLiBjb25uZWN0ICggJiBidXR0b25fY2xpY2tlZCApOyBZb3UgY2FuIGFsc28gY3JlYXRlIGFuZCBlbWl0IHNpZ25hbHM6IHVzZSBxdF9jb3JlIDo6IHsgUVRpbWVyICwgU2lnbmFsT2ZJbnQgfTsgbGV0IHNpZ25hbCA9IFNpZ25hbE9mSW50IDo6IG5ldyAoKTsgbGV0IHRpbWVyID0gUVRpbWVyIDo6IG5ld18wYSAoKTsgc2lnbmFsIC4gY29ubmVjdCAoIHRpbWVyIC4gc2xvdF9zdGFydCAoKSk7IHNpZ25hbCAuIGVtaXQgKCAxMDAgKTsgQ29tcGF0aWJpbGl0eSBvZiBzaWduYWwmcnNxdW87cyBhbmQgc2xvdCZyc3F1bztzIGFyZ3VtZW50cyBpcyBjaGVja2VkIGF0IGNvbXBpbGUgdGltZS4gTm90ZSB0aGF0IGVhY2ggc2V0IG9mIGFyZ3VtZW50IHR5cGVzIHJlcXVpcmVzIGEgc2VwYXJhdGUgUnVzdCB0eXBlIG9mIHNpZ25hbCBvciBzbG90IChlLmcuIFNsb3ROb0FyZ3MgLCBTbG90T2ZJbnQgLCBldGMuKS4gT3RoZXIgY3JhdGVzIG1heSBhbHNvIHByb3ZpZGUgbmV3IHNpZ25hbCBhbmQgc2xvdCBvYmplY3RzIChlLmcuIHF0X3dpZGdldHM6OlNsb3RPZlFUcmVlV2lkZ2V0SXRlbSApLiBRU3RyaW5nOjpmcm9tX3N0ZF9zdHIgLCBRU3RyaW5nOjp0b19zdGRfc3RyaW5nICwgUUJ5dGVBcnJheTo6ZnJvbV9zbGljZSAsIGFuZCBpbXBsPCdhPiBGcm9tPCYnYSBRU3RyaW5nPiBmb3IgU3RyaW5nIHByb3ZpZGUgY29udmVyc2lvbnMgZnJvbSBRdCZyc3F1bztzIHR5cGVzIHRvIFJ1c3QgdHlwZXMgYW5kIGJhY2suIFFGbGFncyBnZW5lcmljIHR5cGUgbWltaWNzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIEMrKydzIFFGbGFncyBjbGFzcy4gcWRiZyBmdW5jdGlvbiBmcm9tIHF0X2NvcmUgd3JhcHMgYSBwcmludGFibGUgKHdpdGggUURlYnVnICkgUXQgb2JqZWN0IGludG8gYSBzaGltIG9iamVjdCB0aGF0IGltcGxlbWVudHMgUnVzdCZyc3F1bztzIGZtdDo6RGVidWcgLiBFZGl0IG9uIEdpdEh1YiBQcmV2IC0gU2V0dGluZyB1cCBOZXh0IC0gU21hcnQgcG9pbnRlcnMgUG93ZXJlZCBieSBIdWdvIC4gVGhlbWUgYnkgVGVjaERvYyAuIERlc2lnbmVkIGJ5IFRoaW5nc3ltIC4gSG9tZSBBYm91dCBSaXR1YWwgU2V0dGluZyB1cCBSdW5uaW5nIGdlbmVyYXRvciBSdXN0ICsgUXQgZ3VpZGUgU2V0dGluZyB1cCBHZXR0aW5nIHN0YXJ0ZWQgU21hcnQgcG9pbnRlcnMgVW5zYWZldHkgRGVwbG95bWVudCBQcm9jZXNzaW5nIGEgQysrIGxpYnJhcnkgU2V0dGluZyB1cCBSdW5uaW5nIGdlbmVyYXRvciJ9XSwiZGV0YWlscyI6eyJ1cmwiOiJodHRwczovL3J1c3QtcXQuZ2l0aHViLmlvL3F0L2dldHRpbmdfc3RhcnRlZC8iLCJjb250ZW50VHlwZSI6InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIsInRydW5jYXRlZCI6ZmFsc2V9LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MzU2MzcyfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNWQxNzMxMTgiLCJwYXJlbnRJZCI6IjE2MWU3MmRmIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMjozNi4zNzJaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1FkcHAwYmtYTVRlazE2elVYbDlScm5zbXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUxYjNhOGM4MTkxOGQwZmViNTAwYTkwNzVhNSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IihubyBvdXRwdXQpXG5cbkNvbW1hbmQgZXhpdGVkIHdpdGggY29kZSAxIn1dLCJkZXRhaWxzIjp7fSwiaXNFcnJvciI6dHJ1ZSwidGltZXN0YW1wIjoxNzg0OTk1MzU2MzcyfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZDQ5YzAxY2QiLCJwYXJlbnRJZCI6IjVkMTczMTE4IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMjozOS42MTRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUxZTg5YWM4MTkxOTUyMzQwYWViM2FiNTM0NlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjRmMWt1cFhPalRQcU1nVUxaaUVaWXVnYWZzMVN3SmtHV1ZGM21ULTgzMkprbmQwZ3JLdlQtZTB4TUdmTjFYejVjejJDQjlQR2N2c0ZvTjNhcjNxUkQwcWtUa0tqYVdMUHAzcWxSV3Q4dlFmUTA5cXp4Sjc4TlE1YkJoQVNBNDFwbS1zeElYc1FaaWo1THVZM2pLeGUyQWdadlZ1dFFHWlBiYzFucVBodm9GTXk2QWNlazJpZ3JybHpSenlKc21OeDdBSUM3LVhZc3ViVmZsS1FQQUM3a0FHT3N4LXlrMk5Day0zWTBjRWFKc3NycmRKZGtEMkNhbkJvV1V3dWI0Z0o2aUd6aEkzQWQ0a0xaamllTkk5X3RXOTNTOUxIekNLQkZGMXU0T28xc1E5VnBmeGc0eFY0S280NVNLckZieDhULUR5QUg4MVlFTHFCLU5zeW95N3M3cWl4Q3VGMEp5aVhYQVdTNEFCTkt0Ql9CNVZFd2dPa2tHVnF3SFkxLTZfMDhmVGtENjIyTW5kQ042TW8wLTNaR2NacWpYVWNwMF9IREZ6OEVEWGM0cGt1Qnl5blBmWmFDcWFHVmd2blYwLTdDTEcwWXQwdkFFSmNaejVadkdJRm1kVTR5b0VuY0hJSEpoMG8tZXd4azVPSUhvTmhBOXhNNmV4TFlaR044TVJBc3RvSHZrcjEwX1RpalQ1QXF1RVBDM2YweXhGN2wxNnpJMk1GZ2lKa3lpQTBDRW5oVUhuNVJhUmM2M01ySlBSZmJwYTAxWHJzaVRmajBhT0hRR3hWNGRUTHl6anl6RnVrTm5uYktQcElHd1VLcG5kaklLdENfOGZ1VWhOaERaUkJMd2dQaGNPOVp4TUdKbVFRZmZ5TGVoeTN2bEx4UjRLV0RJaTRzeUhYMjdMYTFHX19oajFHaUJkcUNHV3BtOVVlMTFfb3FBWmw1aF9DTW4tSUEtZ0sySUFXVk4tazBlT3hwamxVSllzYWtxdUJVSTdraENsN3hHVzhkX084MFhqOEttcjl1d2lhV0NnWGFEdjRkM3dFTHZDUTJYejd2MHJrSU5vWVc3WUJFMHNYMzN5UkQtMm1NWWZQTS1qMDAzQ2VkSTVuTFk5aGRNRnBWaF9xVkoxelhRYTdNQ3RISXotM3pKa1VHeW41V1ZIcWRwWUl4YXVnUWtZc2psVlFfOFR2NGtIRHMtRDkxVkN5bFQ4YWQwaWdWSjBveThQQ1F0aWh2d3hXZHJnaklBeTlfTkI5dzhPZ183b3djMEJBdWpyVnczR3djRzU5alBrLVlnNVVmX1I3MjZLdz09XCIsXCJzdW1tYXJ5XCI6W119In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfRVV3c2QwWFI3WHZJb3JDUHd2MjhCSkk4fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTFmMWY5ODgxOTFhYTEyMjRiODYzNmU2NmU4IiwibmFtZSI6IndlYl9zZWFyY2giLCJhcmd1bWVudHMiOnsicXVlcnkiOiJnaXRodWIgcnVzdC1xdCBleGFtcGxlcyBiYXNpY19mb3JtIHF0X3dpZGdldHMgU2xvdE5vQXJncyJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTA4OSwib3V0cHV0Ijo0MSwiY2FjaGVSZWFkIjo5MTY0OCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxMCwidG90YWxUb2tlbnMiOjkyNzc4LCJjb3N0Ijp7ImlucHV0IjowLjAwNTQ0NSwib3V0cHV0IjowLjAwMTIzLCJjYWNoZVJlYWQiOjAuMDQ1ODI0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNTI0OTl9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTUzNTYzNzUsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTFjYjVlYzgxOTE5NGM1OTcyM2Y5MDM4ZmM0In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjE0ZWIzYzk5IiwicGFyZW50SWQiOiJkNDljMDFjZCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDI6NDEuMzY0WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9FVXdzZDBYUjdYdklvckNQd3YyOEJKSTh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlMWYxZjk4ODE5MWFhMTIyNGI4NjM2ZTY2ZTgiLCJ0b29sTmFtZSI6IndlYl9zZWFyY2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIxLiBleGFtcGxlcy93aWRnZXRzL2Jhc2ljX2Zvcm0vc3JjL21haW4ucnMgYXQgbWFzdGVyIMK3IHJ1c3QtcXQgLi4uIC0gR2l0SHViXG5odHRwczovL2dpdGh1Yi5jb20vcnVzdC1xdC9leGFtcGxlcy9ibG9iL21hc3Rlci93aWRnZXRzL2Jhc2ljX2Zvcm0vc3JjL21haW4ucnNcblxuMi4gUnVzdCArIFF0IGV4YW1wbGVzIC0gR2l0SHViXG5odHRwczovL2dpdGh1Yi5jb20vcnVzdC1xdC9leGFtcGxlc1xuXG4zLiBHZXR0aW5nIHN0YXJ0ZWQgLSBSaXR1YWxcbmh0dHBzOi8vcnVzdC1xdC5naXRodWIuaW8vcXQvZ2V0dGluZ19zdGFydGVkL1xuXG40LiBxdF93aWRnZXRzIC0gUnVzdCAtIERvY3MucnNcbmh0dHBzOi8vZG9jcy5ycy9xdF93aWRnZXRzL2xhdGVzdC9xdF93aWRnZXRzL1xuXG41LiBxdF93aWRnZXRzIC0gUnVzdCAtIERvY3MucnNcbmh0dHBzOi8vZG9jcy5ycy9xdF93aWRnZXRzLzAuNC4xL3F0X3dpZGdldHMvaW5kZXguaHRtbCJ9XSwiZGV0YWlscyI6eyJyZXN1bHRzIjpbeyJ0aXRsZSI6ImV4YW1wbGVzL3dpZGdldHMvYmFzaWNfZm9ybS9zcmMvbWFpbi5ycyBhdCBtYXN0ZXIgwrcgcnVzdC1xdCAuLi4gLSBHaXRIdWIiLCJ1cmwiOiJodHRwczovL2dpdGh1Yi5jb20vcnVzdC1xdC9leGFtcGxlcy9ibG9iL21hc3Rlci93aWRnZXRzL2Jhc2ljX2Zvcm0vc3JjL21haW4ucnMiLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6IlJ1c3QgKyBRdCBleGFtcGxlcyAtIEdpdEh1YiIsInVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9ydXN0LXF0L2V4YW1wbGVzIiwic25pcHBldCI6IiJ9LHsidGl0bGUiOiJHZXR0aW5nIHN0YXJ0ZWQgLSBSaXR1YWwiLCJ1cmwiOiJodHRwczovL3J1c3QtcXQuZ2l0aHViLmlvL3F0L2dldHRpbmdfc3RhcnRlZC8iLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6InF0X3dpZGdldHMgLSBSdXN0IC0gRG9jcy5ycyIsInVybCI6Imh0dHBzOi8vZG9jcy5ycy9xdF93aWRnZXRzL2xhdGVzdC9xdF93aWRnZXRzLyIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoicXRfd2lkZ2V0cyAtIFJ1c3QgLSBEb2NzLnJzIiwidXJsIjoiaHR0cHM6Ly9kb2NzLnJzL3F0X3dpZGdldHMvMC40LjEvcXRfd2lkZ2V0cy9pbmRleC5odG1sIiwic25pcHBldCI6IiJ9XX0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTUzNjEzNjR9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI0NDI1NWZmYiIsInBhcmVudElkIjoiMTRlYjNjOTkiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAyOjQ0LjcyMFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfYVdzaE1DVmxPNEJzaFRMUmVRS2JGeWFDfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTIzZjY0YzgxOTE5NjVjNDQ1MmJhMTczZWI3IiwibmFtZSI6IndlYl9mZXRjaCIsImFyZ3VtZW50cyI6eyJ1cmwiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcnVzdC1xdC9leGFtcGxlcy9tYXN0ZXIvd2lkZ2V0cy9iYXNpY19mb3JtL3NyYy9tYWluLnJzIiwibWF4Q2hhcnMiOjIwMDAwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEyNjksIm91dHB1dCI6NDAsImNhY2hlUmVhZCI6OTE2NDgsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MCwidG90YWxUb2tlbnMiOjkyOTU3LCJjb3N0Ijp7ImlucHV0IjowLjAwNjM0NTAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMTIwMDAwMDAwMDAwMDAwMDEsImNhY2hlUmVhZCI6MC4wNDU4MjQsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA1MzM2OX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTM2MTM2NywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlMjI1YTU4ODE5MWI1ZjNkMmUzOWU3OTY1MzYifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNDQ5NjdlNTMiLCJwYXJlbnRJZCI6IjQ0MjU1ZmZiIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMjo0NS43MDFaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2FXc2hNQ1ZsTzRCc2hUTFJlUUtiRnlhQ3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUyM2Y2NGM4MTkxOTY1YzQ0NTJiYTE3M2ViNyIsInRvb2xOYW1lIjoid2ViX2ZldGNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU291cmNlOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcnVzdC1xdC9leGFtcGxlcy9tYXN0ZXIvd2lkZ2V0cy9iYXNpY19mb3JtL3NyYy9tYWluLnJzXG5cbiMhW3dpbmRvd3Nfc3Vic3lzdGVtID0gXCJ3aW5kb3dzXCJdXG5cbnVzZSBjcHBfY29yZTo6e1B0ciwgUmVmLCBTdGF0aWNVcGNhc3R9O1xudXNlIHF0X2NvcmU6Ontxcywgc2xvdCwgQ29udGV4dE1lbnVQb2xpY3ksIFFCb3gsIFFPYmplY3QsIFFQb2ludCwgU2xvdE5vQXJnc307XG51c2UgcXRfd2lkZ2V0czo6e1xuICAgIFFBY3Rpb24sIFFBcHBsaWNhdGlvbiwgUUxpbmVFZGl0LCBRTWVudSwgUU1lc3NhZ2VCb3gsIFFQdXNoQnV0dG9uLCBRVGFibGVXaWRnZXQsXG4gICAgUVRhYmxlV2lkZ2V0SXRlbSwgUVZCb3hMYXlvdXQsIFFXaWRnZXQsIFNsb3RPZlFQb2ludCwgU2xvdE9mUVRhYmxlV2lkZ2V0SXRlbVFUYWJsZVdpZGdldEl0ZW0sXG59O1xudXNlIHN0ZDo6cmM6OlJjO1xuXG5zdHJ1Y3QgRm9ybSB7XG4gICAgd2lkZ2V0OiBRQm94PFFXaWRnZXQ+LFxuICAgIGxpbmVfZWRpdDogUUJveDxRTGluZUVkaXQ+LFxuICAgIGJ1dHRvbjogUUJveDxRUHVzaEJ1dHRvbj4sXG4gICAgdGFibGU6IFFCb3g8UVRhYmxlV2lkZ2V0Pixcbn1cblxuaW1wbCBTdGF0aWNVcGNhc3Q8UU9iamVjdD4gZm9yIEZvcm0ge1xuICAgIHVuc2FmZSBmbiBzdGF0aWNfdXBjYXN0KHB0cjogUHRyPFNlbGY+KSAtPiBQdHI8UU9iamVjdD4ge1xuICAgICAgICBwdHIud2lkZ2V0LmFzX3B0cigpLnN0YXRpY191cGNhc3QoKVxuICAgIH1cbn1cblxuaW1wbCBGb3JtIHtcbiAgICBmbiBuZXcoKSAtPiBSYzxGb3JtPiB7XG4gICAgICAgIHVuc2FmZSB7XG4gICAgICAgICAgICBsZXQgd2lkZ2V0ID0gUVdpZGdldDo6bmV3XzBhKCk7XG4gICAgICAgICAgICBsZXQgbGF5b3V0ID0gUVZCb3hMYXlvdXQ6Om5ld18xYSgmd2lkZ2V0KTtcblxuICAgICAgICAgICAgbGV0IGxpbmVfZWRpdCA9IFFMaW5lRWRpdDo6bmV3KCk7XG4gICAgICAgICAgICBsYXlvdXQuYWRkX3dpZGdldCgmbGluZV9lZGl0KTtcblxuICAgICAgICAgICAgbGV0IGJ1dHRvbiA9IFFQdXNoQnV0dG9uOjpmcm9tX3Ffc3RyaW5nKCZxcyhcIlN0YXJ0XCIpKTtcbiAgICAgICAgICAgIGJ1dHRvbi5zZXRfZW5hYmxlZChmYWxzZSk7XG4gICAgICAgICAgICBsYXlvdXQuYWRkX3dpZGdldCgmYnV0dG9uKTtcblxuICAgICAgICAgICAgbGV0IHRhYmxlID0gUVRhYmxlV2lkZ2V0OjpuZXdfMGEoKTtcbiAgICAgICAgICAgIHRhYmxlLnNldF9jb250ZXh0X21lbnVfcG9saWN5KENvbnRleHRNZW51UG9saWN5OjpDdXN0b21Db250ZXh0TWVudSk7XG4gICAgICAgICAgICB0YWJsZS5zZXRfcm93X2NvdW50KDIpO1xuICAgICAgICAgICAgdGFibGUuc2V0X2NvbHVtbl9jb3VudCgxKTtcblxuICAgICAgICAgICAgbGV0IGl0ZW0xID0gUVRhYmxlV2lkZ2V0SXRlbTo6bmV3KCkuaW50b19wdHIoKTtcbiAgICAgICAgICAgIGl0ZW0xLnNldF90ZXh0KCZxcyhcIkl0ZW0gMVwiKSk7XG4gICAgICAgICAgICB0YWJsZS5zZXRfaXRlbSgwLCAwLCBpdGVtMSk7XG5cbiAgICAgICAgICAgIGxldCBpdGVtMiA9IFFUYWJsZVdpZGdldEl0ZW06Om5ldygpLmludG9fcHRyKCk7XG4gICAgICAgICAgICBpdGVtMi5zZXRfdGV4dCgmcXMoXCJJdGVtIDJcIikpO1xuICAgICAgICAgICAgdGFibGUuc2V0X2l0ZW0oMSwgMCwgaXRlbTIpO1xuXG4gICAgICAgICAgICBsYXlvdXQuaW5zZXJ0X3dpZGdldF8yYSgwLCAmdGFibGUpO1xuXG4gICAgICAgICAgICB3aWRnZXQuc2hvdygpO1xuXG4gICAgICAgICAgICBsZXQgdGhpcyA9IFJjOjpuZXcoU2VsZiB7XG4gICAgICAgICAgICAgICAgd2lkZ2V0LFxuICAgICAgICAgICAgICAgIGJ1dHRvbixcbiAgICAgICAgICAgICAgICBsaW5lX2VkaXQsXG4gICAgICAgICAgICAgICAgdGFibGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuaW5pdCgpO1xuICAgICAgICAgICAgdGhpc1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5zYWZlIGZuIGluaXQoc2VsZjogJlJjPFNlbGY+KSB7XG4gICAgICAgIHNlbGYuYnV0dG9uXG4gICAgICAgICAgICAuY2xpY2tlZCgpXG4gICAgICAgICAgICAuY29ubmVjdCgmc2VsZi5zbG90X29uX2J1dHRvbl9jbGlja2VkKCkpO1xuICAgICAgICBzZWxmLmxpbmVfZWRpdFxuICAgICAgICAgICAgLnRleHRfZWRpdGVkKClcbiAgICAgICAgICAgIC5jb25uZWN0KCZzZWxmLnNsb3Rfb25fbGluZV9lZGl0X3RleHRfZWRpdGVkKCkpO1xuICAgICAgICBzZWxmLnRhYmxlXG4gICAgICAgICAgICAuY3VycmVudF9pdGVtX2NoYW5nZWQoKVxuICAgICAgICAgICAgLmNvbm5lY3QoJnNlbGYuc2xvdF9vbl90YWJsZV9jdXJyZW50X2l0ZW1fY2hhbmdlZCgpKTtcbiAgICAgICAgc2VsZi50YWJsZVxuICAgICAgICAgICAgLmN1c3RvbV9jb250ZXh0X21lbnVfcmVxdWVzdGVkKClcbiAgICAgICAgICAgIC5jb25uZWN0KCZzZWxmLnNsb3Rfb25fdGFibGVfY29udGV4dF9tZW51X3JlcXVlc3RlZCgpKTtcbiAgICB9XG5cbiAgICAjW3Nsb3QoU2xvdE5vQXJncyldXG4gICAgdW5zYWZlIGZuIG9uX2xpbmVfZWRpdF90ZXh0X2VkaXRlZChzZWxmOiAmUmM8U2VsZj4pIHtcbiAgICAgICAgc2VsZi5idXR0b24uc2V0X2VuYWJsZWQoIXNlbGYubGluZV9lZGl0LnRleHQoKS5pc19lbXB0eSgpKTtcbiAgICB9XG5cbiAgICAjW3Nsb3QoU2xvdE5vQXJncyldXG4gICAgdW5zYWZlIGZuIG9uX2J1dHRvbl9jbGlja2VkKHNlbGY6ICZSYzxTZWxmPikge1xuICAgICAgICBsZXQgdGV4dCA9IHNlbGYubGluZV9lZGl0LnRleHQoKTtcbiAgICAgICAgUU1lc3NhZ2VCb3g6OmluZm9ybWF0aW9uX3Ffd2lkZ2V0Ml9xX3N0cmluZyhcbiAgICAgICAgICAgICZzZWxmLndpZGdldCxcbiAgICAgICAgICAgICZxcyhcIkV4YW1wbGVcIiksXG4gICAgICAgICAgICAmcXMoXCJUZXh0OiBcXFwiJTFcXFwiLiBDb25ncmF0dWxhdGlvbnMhXCIpLmFyZ19xX3N0cmluZygmdGV4dCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgI1tzbG90KFNsb3RPZlFUYWJsZVdpZGdldEl0ZW1RVGFibGVXaWRnZXRJdGVtKV1cbiAgICB1bnNhZmUgZm4gb25fdGFibGVfY3VycmVudF9pdGVtX2NoYW5nZWQoXG4gICAgICAgIHNlbGY6ICZSYzxTZWxmPixcbiAgICAgICAgY3VycmVudDogUHRyPFFUYWJsZVdpZGdldEl0ZW0+LFxuICAgICAgICBwcmV2aW91czogUHRyPFFUYWJsZVdpZGdldEl0ZW0+LFxuICAgICkge1xuICAgICAgICBpZiAhcHJldmlvdXMuaXNfbnVsbCgpIHtcbiAgICAgICAgICAgIGxldCBmb250ID0gcHJldmlvdXMuZm9udCgpO1xuICAgICAgICAgICAgZm9udC5zZXRfYm9sZChmYWxzZSk7XG4gICAgICAgICAgICBwcmV2aW91cy5zZXRfZm9udCgmZm9udCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgIWN1cnJlbnQuaXNfbnVsbCgpIHtcbiAgICAgICAgICAgIGxldCBmb250ID0gY3VycmVudC5mb250KCk7XG4gICAgICAgICAgICBmb250LnNldF9ib2xkKHRydWUpO1xuICAgICAgICAgICAgY3VycmVudC5zZXRfZm9udCgmZm9udCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjW3Nsb3QoU2xvdE9mUVBvaW50KV1cbiAgICB1bnNhZmUgZm4gb25fdGFibGVfY29udGV4dF9tZW51X3JlcXVlc3RlZChzZWxmOiAmUmM8U2VsZj4sIHBvczogUmVmPFFQb2ludD4pIHtcbiAgICAgICAgbGV0IGdsb2JhbF9wb3MgPSBzZWxmLnRhYmxlLnZpZXdwb3J0KCkubWFwX3RvX2dsb2JhbChwb3MpO1xuICAgICAgICBsZXQgbWVudSA9IFFNZW51OjpuZXcoKTtcbiAgICAgICAgbWVudS5hZGRfYWN0aW9uX3Ffc3RyaW5nKCZxcyhcIkZha2UgYWN0aW9uIDFcIikpO1xuICAgICAgICBtZW51LmFkZF9hY3Rpb25fcV9zdHJpbmcoJnFzKFwiRmFrZSBhY3Rpb24gMlwiKSk7XG5cbiAgICAgICAgbGV0IGFjdGlvbjMgPSBRQWN0aW9uOjpmcm9tX3Ffc3RyaW5nKCZxcyhcIlJlYWwgYWN0aW9uXCIpKTtcbiAgICAgICAgbWVudS5hZGRfYWN0aW9uKCZhY3Rpb24zKTtcblxuICAgICAgICBsZXQgYWN0aW9uID0gbWVudS5leGVjXzFhX211dCgmZ2xvYmFsX3Bvcyk7XG4gICAgICAgIGxldCBtZXNzYWdlID0gaWYgYWN0aW9uLmlzX251bGwoKSB7XG4gICAgICAgICAgICBcIk5vIGFjdGlvbiBzZWxlY3RlZCFcIi50b19zdHJpbmcoKVxuICAgICAgICB9IGVsc2UgaWYgYWN0aW9uLmFzX3Jhd19wdHIoKSA9PSBhY3Rpb24zLmFzX3Jhd19wdHIoKSB7XG4gICAgICAgICAgICBcIlJlYWwgYWN0aW9uIHNlbGVjdGVkIVwiLnRvX3N0cmluZygpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmb3JtYXQhKFwiRmFrZSBhY3Rpb24gc2VsZWN0ZWQgKHt9KVwiLCBhY3Rpb24udGV4dCgpLnRvX3N0ZF9zdHJpbmcoKSlcbiAgICAgICAgfTtcbiAgICAgICAgUU1lc3NhZ2VCb3g6OmluZm9ybWF0aW9uX3Ffd2lkZ2V0Ml9xX3N0cmluZygmc2VsZi53aWRnZXQsICZxcyhcIkV4YW1wbGVcIiksICZxcyhtZXNzYWdlKSk7XG4gICAgfVxufVxuXG5mbiBtYWluKCkge1xuICAgIFFBcHBsaWNhdGlvbjo6aW5pdCh8X3wgdW5zYWZlIHtcbiAgICAgICAgbGV0IF9mb3JtID0gRm9ybTo6bmV3KCk7XG4gICAgICAgIFFBcHBsaWNhdGlvbjo6ZXhlYygpXG4gICAgfSlcbn0ifV0sImRldGFpbHMiOnsidXJsIjoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3J1c3QtcXQvZXhhbXBsZXMvbWFzdGVyL3dpZGdldHMvYmFzaWNfZm9ybS9zcmMvbWFpbi5ycyIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRydW5jYXRlZCI6ZmFsc2V9LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1MzY1NzAxfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMGZmZGFmNTgiLCJwYXJlbnRJZCI6IjQ0OTY3ZTUzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMzoxMS45NjRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIFJ1c3QgcG9ydCB3aXRoIFF0IHNsb3RzKipcblxuKipBc3Nlc3NpbmcgUXQgd2lkZ2V0IG93bmVyc2hpcCBhbmQgZGlhbG9ncyoqXG5cbioqRGVzaWduaW5nIHNsb3QgY2xvc3VyZXMgd2l0aCBSYyBhbmQgV2VhayoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlMjg4MzBjODE5MWEwNjViMjg2NDY5Yzk0NDRcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk40X2t3X3JuU0VHbGZQc1ZVU3VlSjF6OXkybXgzNlFGSWc5NnZEa2JFVEgyRlRJbjQzaHRZb0IySW5UNi1GYWVsQVBlRkpieGNWdVZtRnRCc3hNTzQtWDNvQi1zenNPY0liRUpVZENfX21OOGd4cENvQkVKREtnZTZVMjcwWlpza0d2ZjFaemRlRmdPcnhmUnBWMjl4NE0tLVlzRmROX2VMUnhFRERCWXZlNVItWWRXOXBEc2JGVUJjV01sTi1odEZRTDd3N3ZWS0xoWDVCR3A2ZnMyYzBud0laQ3V5Smd0NWJDck96bVNPTXFMZEZGZXNFVXFtVHFOZ0JGdVYtb1VBdWx0anJ5QVBZcUUzLVN5MV9CQ3h3VTFiZi1FT0dZSlotZ1p2WWczLXZQZXNOV2dzWHlEZ2hOY0lBRHhQTmRFYjNoR21yXzJsNmpQd25VaEJRSHZVUVVJTUxnRzliWHZCS01ZN2J6X1RobXJ2bVg0SlNiejhROVNmQUNZRkpCUzZucTJ4MjJCQkM1VGZEZVYyYllwQ01JVWxvMTJmeEgtTGw1dy1uM3FUblV6a1lRMmJGYlFvMU9FUlZrOGVPUkpjdDlJTW1PczhhU2NNWjY1bXpVNVhuNUNkdTZUTTlQYXNCS09sTWJCSEJZMDJyU0VMTzhuNWdadFBnZG5tX01WZnVLZ2h2aHdhMGs2VmNid0MtUXFBRHgzcG9VakJGaEZOV1VVejJtVHlQbE8wZ1ZpQ1RtV2JDRG1CSktOa0JIeG5mMnZoWGc1cWtqUlQ1VmRHSjROd0VnMlAzaTlRUjFwTjAyeGxTb2xmX0dFSWRscHRmQWVVSUZZR25xZHpGRUJWaTJ5Nm9lTFV4NTlYbmNUeWpCSnZzcENzcTU2azdyMnVMWkZnRDRGS0dYRFNybVZ0aGQ4elVLekxFUzJjSlFQNVNTam51QTh5MzA4ZEF3S1ZmLWM4Z0pTalg0WVhmc3pHM2poQ25jRE5FdS1TQ2MtNDJGbGo2QUZickt4Z0l2Z0o2RzdjWGUwY0hnRTh4OWdIZ09fSk5mcUpqX0d1X3VuSUE2RktQRUljWUM3UktlZ0FGa2ZWQ1R1dDFKUjRLRG94ZlBSUXk4c1RYanVVVmJ6X0RRTDVhQ0dQQloyRWxxZm5pT2ZRNkZqSWs0d0VaU2p1QnZGRkJJclBhQ05XN2Rra1lLdGJZbHJtZ3QyX1JfN28wM3l5SnNSZHAzWjRwZkMyYU9CaFZNbkZsdXQ3NV8xR29LX0pTVm1NYjE4bHRrN1NMWkhHZWtvM19Cd0tNem1KOWpFZFREV29fcGszMGpzMHhqVVBnTjdUZ3hsUGtBNFQ4YnJFanpfdDR6ckcwbEFMbWlMVm5VV1JyOUphNklMZ2cwUG5pcGNySWhBcTZIYnRQQWlVdlRGaXpUX1pYVUkxNGt6LWlETWZtSlRFb29PTHp6c29Rb2ZYcjFyRmxfRXcwZGFDZ2ZCeW8yZVNqSGYtMldBSUluVGpfT1daejMzTmJIX0VfN05MVFZNY1hLODNRWnVEaDFTakpTU3pSSGtiSEpIeGFwckM5M3VUcWctdkFBVHVtZzY2dEtWQm9JaHhsY09WYmJSOS01dmNFeDl3VldiUFhFdHdYZ2ZKaGhRQ2NQaTlMUG5vcGVjUzBxdmZtZ0tPdVFlWFFZbEJkUGNhcVZPNm5ZQkJHeURvajB3QzlJbXU2UzlaOEpvbDJhSlNVVExXdTRnMkQ4VWFUQ2xxek1LS0RsejU0Q2h3eFV4Q2laaDFib1B3TDRQRk50a3VYZVJLeVR2UUZWTjZHNnE4Q0htX1psWXRXajJQckxRdUEyTGNRQUM4OFFqRXpfY2wwSFg2RXByOEJLVzRxRHZPWXNFZ1ZiSlI5dXRveTQtVG5RdUNDNzd5X1hpUFg5WUZYUXkwWGxKRXlaMWNBUnF5ZGdmSGNEYWhwSmlRWVQxc19XbXhhUjNZZHg4Tk0yYkVaY29tQVBCTUpaeGFxMDRwNndVRk5mdlJvNGpqcHp3c1BCR2xGQkY5T1BUT3hNTEFNa051M3ZucEVMU0J3bm9aZlNYSGxDbTQyVjlLR01iUmtvdjNiLWxmQ0hvNFR1ZVd6V184Vk13M3VIOXhTUzZrREk5UUZOclJCMDNfUUVyR1pZbWFrS29XMVFyak9Vdkxfa0p0ZlJDV3FFUGR2akNDSkgyMXJiQXVESTlhTDducy0xWkVDZ1RJOXNfbUlfN3NYSjZ3VURiY0duXzZuV3FFcllISWY1TXZGakdqcEh4ZHIwOWhqWDFLQzNMNGkwalFhZXk1cm5sQmZ5R1k2a19iYkltbFgxM2t1X0x2UFFhZHFiRzhLNG9FZnR5eHR0X3YzUXhUM09CVG9qNkJ3TzNzRXh0Q25HTl9TcHVWOWl6WGRWVjVNeG1rdTZfaDZZbk02dWpIYVUweUR1Skc0M3BzUkktblh2ZzQwUFYzQjIxZFlFV3ZKMEJUODlCN0RxM3AtMUl3UVBJaDdnc2VfcV9nVkhwZGdkRktMcURhbnZBcERJR2tlUmFBVk9oRjVvYmotNDFoYmdWMjJoOGxCdTYzY0tQOEo4UVRTT2tPZEFkUzB3WXh4VjUyS1JxY2cyQ1pLbW12cW9PeGZqRmI5YVlWX3MyM3V1WFRiSmgxNWNncjY3SUZjSU9HSWU2c1oxQk1lMGE1ODJwYWt0bjRPSUNPX2NMdXYzV1BCTTNlRnYzOHM0U2JROU91TmtZd2c2MVRobXUyenBzM21veXdGalNCUENaNmkwRW9lUGp5UUE0b0xTYlBfbWl6dTBUZU9kVUliS0tzLTh2VC05eC1uWURkU1U5dV8zYWV6eGkxWEI3dlRhdjh1UlljLW1ydXJudEpQZ0NEalgzaVJIcjN4MHBiQlp6emdEeWNFSmhhLTJCbmFLNTdUbFB2S1RFSEo3T3U2My1QYWxzLU02SW9LejJaa3Nmb0ltZG5wSDl4OXhHemk5SHZhUEFVbW1MQi1UWWVveXprOGtNd2pGTzg3SUl5alJVeVlybWNCQWVFUTRjdkhROXlZd1R3MXRVdkVJbTRweG13NFJZOFhkdkRIRlRja0IzalZpdUc1WU0wdzFsaHE2eVJZbF9aT2tiYS1YSlN2MzdCUXdkNDhBd2tIUUZYcVdJMGppMUpzaktWZFhIRVRNYW8zNWg5Z2ZVSkN2WnRKYXFHcEhqNTZjeWtzbXkxWHRwUm5zQXRBMWRnRWxsRWNzNHBoVS1CNFIzRDhBWlJzUTZkdzAtZXRVbG1pcmhOb05OcXpRYTRYTjRoek9NcGMwcmRZTkJlRDhhM3dic0VCZ1h4UmhsQnI3TUtrb1MyZkhiQXdUYWFPdGlfWmlYVEFQTEUxWUhRRlFFTmJ3aXgzSzFaeldRNWFHNHMwWi1FdWM2aXZoUlM2UXBjbGxXLXFBeVA1Z2VKSVo1bzRlM3FZMHlZU19iQWZ2UjcxSEt3a0R6dnNjTWlPbG4yb2NLV2pVWHV1dW9td2lLRXFYYkRZNENiMmlTZFhoVW4wTDlQWUZWZ3Y2U0tzWnZxWVVjMjJDeHZLdmlDa0JYeldGTVNiNlRtbVZxdlJVdVlwNExjUEFnQ1AyVDBYS3c2c2FsSHFtbkVZUjJJWjQxODRLbGl0bXpZaDYxbUkwT18tYXBxckE0dnF6YVlwdjc2eHBYNnBoS1BYNV9pTTB2a1dUX2dFWXpOVE03RXliQzd1VWp2V2pRbkNLSmgtZUZIRFAzQTF4NjhmcHFHcFJueFRvTU02dm5SUkNvMlJPUkhPVm9aV1dIRmppajFyYXQ4enBBaTdOSVhfR1UxU1hJbUEtM2lnajl4QUY5OVU4Ty0zQXdEQlNaZFU0TXFIZ0Y2LXVzWF84S0N6dzhQZDk0VG1tcjB3VkEteDc3Yi1oVnFOTHlVaXgwVzBTTDJZOEEtUE0tZVJjVnI4YzVtNDZJMjhwa2tCbGVVekl5djY3ejdPYllHQW1fbU92aUFwLTNlY0lkRUFKbHNxTWdoQzlidVBBcFBrdFJUMXMwc01VTG0wb3RJZUFfeHNyZHV3bmdlUExzVjNhVGZKVXZidVBtWng3SnZXVlFJMEd4UEZhcXQ1R2VoY2ZYQWZCTjVWMEpHS0hnUXltTHVpVWNJYWJsLXVWZEVjU0NJNUFITlA5dmZYUEFsdWkyVi1uOEJQZkttTWVENE9xNnBQOWdaWUp2WVFfVk5OQzRiUUpGMWhPRlBteExnSHk1NDN5ZGNUVk4wRy12S1JQVDBuS1BRZk5zallBd1NXUVNZLUtfSG8xemtCQ1AwdzhMbXExN2NBRWhoemF2X1luNnZzVnVnNzRQa1NyZUlWcnJwbGZBQ3k3a1NjR0MxYnhPMW1aMWxiN2p1d3BhdnItVF9lbjR4ZmlIMU5SSWhJaUVIM2FvSVN0NldRQzlndXNQMzlaVWdLdEsweFJMV2l2NDBmV05YbjhXNzN0bkNZWm1qblV4eXhHX3FjZ3BqREdwUFk2MTB3bFdLcW5GaVhtUGpHOEw1UkZOSkN0aWdha25iTXFDU1hqbFduYkMyVW1vbHNGamlveVFtNy0xM1dyY004aHJIRHZGUjFCd3Y0S2NQczZ0NWo5RDdXbFgxal9xLWlMQ3hNTlp4VTZhMUZocWRnRGpVem0zNHBRZzlGcDhvUGhremVHbi1YX2swSXNCLXlOaC15MmpXeHQwVVlneWVhbGVlRmdfNFRGMFM0cVFfNGFURVRtUVJ1R1lScjZvMjVmcy1Wa3FSakkwMjNpd0hPc0RNS2FEdjFpblVPU3FpVm9jZXpoNS15T2tMZlNyUEo4Rll5NHBtWXh1amk4MGtBbjNOT0JSRXZzMm5OeGNWbE9rMndYaFk4SkNTc1AwY2FiQ0VldEE1S0lMWkNET1B1WE5IbVNxU2dLNi1GM1c3MF9rUGhLRXZHZVFabHVpOHFNbXA5djQtMVVmdEhuWXJCdWFhMVYtVXMtTVdhV2pvX0M2Z3QwQlNJUWVQQUR2ekdDN1c4bDVHc2hUSWNmR0ltNnlTZzRGTjZubkZRYzlmV1VuY1RBcnN4QkxfMHUzcE1GNGZxWU1aVmd3UjR5YlZwTTBJSjFqdXZqTXFDSVJYaDN4OUdDbzRxSFhsN2g2b29GVGM1ZjRMUUp5d1VaSlBrU3lHUkhwUnZ0RVFDRV9xX0xLaVpUdkotM1hLdzk2N0lWMkFKS05uV2xMOVhKbEswRTV5OEl2d0FqbHl6QUhUVU0xQ2ZRcjJTcUh0ekRsbDJPaU83UnQ5azdNVHQtWDFxT0VDcWVVcXlsYUtlbjlLT2JHdXVzU08xTzZyMWZ4M3ZLYnF4R0ZydDlsYjB6bDVXcmZ5LVpGaTJDQ2VLVnZPTU5ObjZGTlZIYlhIVW53cTJYcGtJSkdSSGRCRmhxQUk2eXU4Y2R4d3o1V1lKS3ZZd0ozenNZYS03UUtYZFBDTTZ4RVhoSzAtTXk2bnVqX3FHc0N2U0MzajNpbkh1MklLekUtR3hhdGY0ckpEUGtCYW5yR290TXE3Z0dDS3VZa0tjRlFnR3kyN1M1Ni1yWW9RcWhyNWhnMDVueC1mUENvTTNORkZpYVZ4UT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIFJ1c3QgcG9ydCB3aXRoIFF0IHNsb3RzKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkFzc2Vzc2luZyBRdCB3aWRnZXQgb3duZXJzaGlwIGFuZCBkaWFsb2dzKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkRlc2lnbmluZyBzbG90IGNsb3N1cmVzIHdpdGggUmMgYW5kIFdlYWsqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfYlhRbWZ6OFhlSWJzaDNGbUE0MTJPSkZ1fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTNmZDAzYzgxOTFiMGJjZmExMjZiOWZjMjI0IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJnICdwdWIgdW5zYWZlIGZuIGdldF9vcGVuX2ZpbGVfbmFtZXxwdWIgdW5zYWZlIGZuIGdldF9zYXZlX2ZpbGVfbmFtZXxwdWIgdW5zYWZlIGZuIGdldF9pdGVtJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9xdF93aWRnZXRzLTAuNS4wL3NyYy9mZmkuaW4ucnMgfCBoZWFkIC0zMCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9NUzVMN1A4U3NQZkY1bVFzaDNjMnVDczh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlM2ZkMGNjODE5MWE4Mzg1YmZkN2YwZjg2N2YiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicmcgJ3B1YiB1bnNhZmUgZm4gKGFkZF9yb3d8YWRkX3dpZGdldHxhZGRfbGF5b3V0fHNldF93aWRnZXR8c2V0X2NlbnRyYWxfd2lkZ2V0fHNldF93aW5kb3dfdGl0bGV8c2V0X3BsYWNlaG9sZGVyX3RleHR8c2V0X2NsZWFyX2J1dHRvbl9lbmFibGVkKScgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovcXRfd2lkZ2V0cy0wLjUuMC9zcmMvZmZpLmluLnJzIHwgaGVhZCAtODAifX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfeWxlTmZNcjVURDdHQWhKcGhzdjBFZTJnfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTNmZDBkODgxOTE4ODVjZWMwN2Y3ODRjMTM2IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJnICdwdWIgdW5zYWZlIGZuIChuZXdfMGF8bmV3XzFhfGZyb21fcV9zdHJpbmd8ZXhlY3xzbG90X2FjY2VwdHxjdXJyZW50X2l0ZW18c2V0X2hlYWRlcl9oaWRkZW58YWRkX3RvcF9sZXZlbF9pdGVtfGFkZF9jaGlsZCknIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL3F0X3dpZGdldHMtMC41LjAvc3JjL2ZmaS5pbi5ycyB8IGhlYWQgLTgwIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMzM3LCJvdXRwdXQiOjc0MSwiY2FjaGVSZWFkIjo5MjY3MiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo0OTksInRvdGFsVG9rZW5zIjo5NDc1MCwiY29zdCI6eyJpbnB1dCI6MC4wMDY2ODUwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMjIyMywiY2FjaGVSZWFkIjowLjA0NjMzNTk5OTk5OTk5OTk5NSwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDc1MjUxfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1MzY1NzA0LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGUyNjBlZGM4MTkxOTFiNWNjODE4MDdkNmIwNiJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIwM2FhODQ5NSIsInBhcmVudElkIjoiMGZmZGFmNTgiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAzOjExLjk5MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfYlhRbWZ6OFhlSWJzaDNGbUE0MTJPSkZ1fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTNmZDAzYzgxOTFiMGJjZmExMjZiOWZjMjI0IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiKG5vIG91dHB1dCkifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTUzOTE5OTB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI0YmQ2NjUxZiIsInBhcmVudElkIjoiMDNhYTg0OTUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAzOjExLjk5MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfTVM1TDdQOFNzUGZGNW1Rc2gzYzJ1Q3M4fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTNmZDBjYzgxOTFhODM4NWJmZDdmMGY4NjdmIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiKG5vIG91dHB1dCkifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTUzOTE5OTB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI1ODhjNDJiMSIsInBhcmVudElkIjoiNGJkNjY1MWYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAzOjExLjk5MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfeWxlTmZNcjVURDdHQWhKcGhzdjBFZTJnfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTNmZDBkODgxOTE4ODVjZWMwN2Y3ODRjMTM2IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiKG5vIG91dHB1dCkifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTUzOTE5OTB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4NmM1ODlmMSIsInBhcmVudElkIjoiNTg4YzQyYjEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAzOjExLjk5MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiaSdtIG9rYXkgaWYgYysrIGlzIGluIGRlcGVuZGVuY2llcywgaSBkb24ndCB3YW50IGMrKyBpbiBNWSBwYXJ0IG9mIHByb2plY3QifV0sInRpbWVzdGFtcCI6MTc4NDk5NTM4ODgzMH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImI3ZDhlMzBhIiwicGFyZW50SWQiOiI4NmM1ODlmMSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDM6MTguNDg4WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipJbnNwZWN0aW5nIGdlbmVyYXRlZCBGRkkgbW9kdWxlcyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNDNhNDE4ODE5MWI5NTQzZGJiZTNmZmVlZTlcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk41RUlxcjAwV3pjZFpzUGU1QnNLckt3T0dodjRNWVRHTTJHdWtnTndaUnF3V3lQZFUtZmFOVUhsOUh4cjgzTXlkNjJ0dmFaaHNGVFNpaVBXZklKYVUxbmFZdmJyc1dJY3ZQZ3lmamUxMGYxdmsxQnZBX1FuZk5KM0lJSEpTX1BUQkp6Y0RVSk16MWRCeU55cUVTemIzT3UxYUV5R2hsclVJSGkzRlJHR2FIb2JCSktvNVA5VUtHS29wYi1GNU4yeUZGaVFHQ25XaW9ZaG1xa21NVGhmVTB4UV9kNWJxY1JNM2xwYWQ5UkFZQURoZnB5MGx4Q1NDQkhKWDNPdkJGeHF1Z000TlVISWVEaWZBUWl3MXB2eU0wUWlRME1Rd3cxcmlQdGEyNFlLLV9HVkpRYVJ0Q0FnZUkydkxUWjRydW8telAzcFNVS0pUajNENGhNcmh4UnctSEVaajczT3NET0JwSWg1M05SVTczZ2FjbERXbGVWMkpXR2RKWUhubl9ZaGFTSVo2OERiT0ZNUXBkNnl6UnJtbS1NWDMtanhrZEhjekhmaWZJZktMUDZKeHB3TzZnbTJoYVJVZXlLZ21OMjF0NmtyWnJZQ1VPRVdNOWFnZGdvXy1GT3RwdjdtRi16UWc3Q2pvQ0xUVk0yZGVtUzNVZkdwb2FYbWdFNzc3cWp5Tm9Ec3RQS3QtVWNVNUhZTXFES2JQeEZfeFNDaXBrakcyNld3ZUJlckxXaDU3d1RQOC1oZHVaWU05aWR2T2lneTNvNlVFU1BZR05ySDFxUmxtYVZIc3hCZkFxWUE0dE40UmdkcjJyWDBWNndTQVFucEZFRjI2N2RjYzZJMTdUcTU1WV9MbWFEUHlwZXkzWG5iTGZ6c09acEdmT01YNWtnaFdlM3Q3d3BuVWkyLU9GQkFUemdSdmthN3lUM1hTNWtldGZ6cGJOS2F5R2t3SVg2d1dkTmljb1VNM0plN21YV1pwTmpTT0dQWXBXTkxkbzdXQzNjaHZPQmk3YTFZZG56bjhBV1pYLXVRd2NrYkUwLUNjX21TV085Q19hTVJabGd6QzVTRURJeGFCYXFKMVJJR0lVMVBjV2JTZ3RfdHVmWjVwR3hTMmtQZ183dXBtOS1ZZXc0UHJmanZwNlNaTXN0b2hDOXhHQ1JZWjY3QWNuWHB1cVVYeE9BSDVYU2Y4VlllUDlzay10Ym5NM2NsOEFVa1EtaXJseWxCdTl0Z3lDN0Y4dXA4a2NtdUhxOVBIQ3ZZN0I4U0dybGdLM3pFLXdOSURXcktDQkxBZVg4ZnZ3UktJN29ySzc2ZGgzOVZJQm5UV1RTYnhKdW1GNEJibzQzWmJJUjVoQWZSOVFaUEcxZElkTk54VlVSMmg2Q1N5SlJUMDU5b2tFaDMzRUFUcTY5d3pJQjNUNXlCbllMNjZ5dzVDVWp5dVlGUU5VaEpwZWp0Qm5kNkdRblMxV0NmaktmT3hBYmtHd3ZCRERFa295WWtNc3RGTUdhMDdRQVh3RT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkluc3BlY3RpbmcgZ2VuZXJhdGVkIEZGSSBtb2R1bGVzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzg1N0JIZzl3TjAzSEpqWDNzUWtpY1F2N3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU0NGUwNDA4MTkxOGUyM2Q4ZDUyMTgyM2MyNyIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJncmVwIC1uICdzdHJ1Y3QgUUZpbGVEaWFsb2dcXHxpbXBsIFFGaWxlRGlhbG9nXFx8Z2V0X29wZW5fZmlsZScgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovcXRfd2lkZ2V0cy0wLjUuMC9zcmMvZmZpLmluLnJzIHwgaGVhZDsgd2MgLWwgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovcXRfd2lkZ2V0cy0wLjUuMC9zcmMvZmZpLmluLnJzOyBmaW5kIHRhcmdldC9kZWJ1Zy9idWlsZC9xdF93aWRnZXRzLSogLW5hbWUgZmZpLnJzIC1vIC1uYW1lIGdlbmVyYXRlZC5ycyB8IGhlYWQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjExMTYsIm91dHB1dCI6MTQ2LCJjYWNoZVJlYWQiOjkzNjk2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjM2LCJ0b3RhbFRva2VucyI6OTQ5NTgsImNvc3QiOnsiaW5wdXQiOjAuMDA1NTgwMDAwMDAwMDAwMDAxLCJvdXRwdXQiOjAuMDA0MzgsImNhY2hlUmVhZCI6MC4wNDY4NDgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA1NjgwOH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTM5MTk5NCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNDA3YzE0ODE5MWIwZTc2ZTFmZDgzMzZmNzUifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiY2QzNGNhZTMiLCJwYXJlbnRJZCI6ImI3ZDhlMzBhIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMzoxOC41MTBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzg1N0JIZzl3TjAzSEpqWDNzUWtpY1F2N3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU0NGUwNDA4MTkxOGUyM2Q4ZDUyMTgyM2MyNyIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IjExNzk5NiAvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0X3dpZGdldHMtMC41LjAvc3JjL2ZmaS5pbi5yc1xuZmluZDog4oCYdGFyZ2V0L2RlYnVnL2J1aWxkL3F0X3dpZGdldHMtKuKAmTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1Mzk4NTEwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZWM3MTFlNzgiLCJwYXJlbnRJZCI6ImNkMzRjYWUzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMzoyMy4xNjRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU0OTUxMTA4MTkxYjE4ZjdmZThjM2NhNDEwOVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjVKUXpfR0ZvY2R0bklkQm5acjU5NV96eUNvd2UyLUlPNmRONlAtRFFlc3l1c0g5V0VXX1RjVkJBdTREZFE1T1pQNkpDcnhYNlAxVWhKekhweWNZNkw2YXl1Z1RoR3BFRTBTZ2VyTUlSdHVxOW9aV1lGTEVOQWdzOG1fUEdvS2thX04wY1VrQnRNWlNrY3JEd016MnR0amxZVExlUmQ5OVZ3cFYxYmVIZ0p0Q2JoaEo3QXh6dkZSZlhsemt0dlVJQUxLbXAzM0ZSd1c5UEVTOTlOblFoTXdYNDZPcXhBOEpfcXc0aXJsaHpRaWZzNnNpRC1hZkJaMFZEdTZJYkRDZTYxcDB4ODhLUnNJY2dnMlhOaVRmOXR5U05XYkdyLVFURi1ia2tUcmZvZUw2Smt3bjQ3dzRWYTFqdDJlaGNjb3ItekdJNld5ZXJiX0pmejlQdE1mWEJvZ3NDMUo5TkdDVzFTN1dGUVBYcWR1TFBXd0hub2NhLTdsX1c0b2x1bnUzamZ3NlJzMkFkaEQ4M3NVakpuczFBdEdmMVZSNkxSX29CbEUtSGQtMUY5VUhxaTRaSW1wa2VxR0FYMDhaUk9HUHluMVR0Nm5XTkc2bC1aWGhpTHFxUHVsWmpoRURFc2plMkNzMnlRYTNvU2NOWFBjRFdISXBjY29Xa3hucFZXdG5zVEF3MFhiQl9jdzUxUndqMkhsbDVJM2x4NG5jd3RNUDNzRWdJM3N5T0FwUzFHZS1VMlBlQUJSUWtsUXhQeWpXLXNGY0pmdlhoa2VWTDRoRklzZDVCQVRZVDIwUzRrazR2QnAxWjYtVlRaWGxlSlpfa1Rrby16S1g2QXFUdjlRMG5nTllpREpJVFpxb01WNFhtQ2Vac1RGNHprWlFNUEF4dy15dmEtRmNPRTh2T3hOWExwSWZZTzJrOXRVQk1BVFBsZUdpbXVWMVZVdEFLU2lnVlNEYktnUHVETXJ2a1JnQlJsSWRVSF9aQzBiaW9Hck1SYjNmb0d4NXVPYXh4WUlCUno2dDNzZU0xVVBpMlRuQlVNWDRRWThhSUxuVWVOZGxaY0o2Y1dQeFM0XzB4MDZYdFREUnU0QzhsUk5meG5BWEdiUmpFQUZhSmhQYU5FUHBMM1BuMWVRN1RSS1k4bHl2dVlXbk5KV3VqZHk2TTN0N1p2Mnhnd29mXy1EQmxkZnh0bDRrUWJsS1Fwa0N5cW9zbzNKd1VWajFyOXl0TWtHdllWaFVveG9nR2RXWkU1aVJ3ZUFqcWprS2w4NzB0bm1tYnFsc1dac3FER1k1VG45endnZVpMSHVxQT09XCIsXCJzdW1tYXJ5XCI6W119In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfdXNxT2IzbmlYOHZnU09mcHZKVnNkczhYfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTQ5Y2YwYzgxOTFhZjc0MTAyOGVmOGY1NjE2IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJnICdnZXRfb3Blbl9maWxlJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9xdF93aWRnZXRzLTAuNS4wL3NyYy9mZmkuaW4ucnMgfCBoZWFkOyByZyAnUUZpbGVEaWFsb2cnIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL3F0X3dpZGdldHMtMC41LjAvc3JjL2ZmaS5pbi5ycyB8IGhlYWQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjMxMiwib3V0cHV0Ijo5MywiY2FjaGVSZWFkIjo5NDcyMCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxMSwidG90YWxUb2tlbnMiOjk1MTI1LCJjb3N0Ijp7ImlucHV0IjowLjAwMTU2MDAwMDAwMDAwMDAwMDIsIm91dHB1dCI6MC4wMDI3OSwiY2FjaGVSZWFkIjowLjA0NzM2LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNTE3MX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTM5ODUxMywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNDZkYzk4ODE5MTk4YjEzMzVjOTNmMjg1OWEifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYTE2MzAxMDEiLCJwYXJlbnRJZCI6ImVjNzExZTc4IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMzoyMy4xNzVaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX3VzcU9iM25pWDh2Z1NPZnB2SlZzZHM4WHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU0OWNmMGM4MTkxYWY3NDEwMjhlZjhmNTYxNiIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiAgICBwdWIgZm4gY3RyX3F0X3dpZGdldHNfZmZpX1FGaWxlRGlhbG9nX3N0YXRpY01ldGFPYmplY3QoKSAtPiAqY29uc3QgOjpxdF9jb3JlOjpRTWV0YU9iamVjdDtcbiAgICAvLy8gPHA+UXQgdXNlcyB0aGlzIHZhbHVlIGludGVybmFsbHksIGUuZy4gaW4gPGEgaHJlZj1cImh0dHA6Ly9kb2MucXQuaW8vcXQtNS9xZmlsZWRpYWxvZy5odG1sXCI+UUZpbGVEaWFsb2c8L2E+LjwvcD5cbiAgICAvLy8gPHA+UXQgdXNlcyB0aGlzIHZhbHVlIGludGVybmFsbHksIGUuZy4gaW4gPGEgaHJlZj1cImh0dHA6Ly9kb2MucXQuaW8vcXQtNS9xZmlsZWRpYWxvZy5odG1sXCI+UUZpbGVEaWFsb2c8L2E+LjwvcD5cbiAgICBwdWIgZm4gY3RyX3F0X3dpZGdldHNfZmZpX1FGaWxlRGlhbG9nX21ldGFPYmplY3QoXG4gICAgICAgIHRoaXNfcHRyOiAqY29uc3QgY3JhdGU6OlFGaWxlRGlhbG9nLFxuICAgIHB1YiBmbiBjdHJfcXRfd2lkZ2V0c19mZmlfUUZpbGVEaWFsb2dfcXRfbWV0YWNhc3QoXG4gICAgICAgIHRoaXNfcHRyOiAqbXV0IGNyYXRlOjpRRmlsZURpYWxvZyxcbiAgICBwdWIgZm4gY3RyX3F0X3dpZGdldHNfZmZpX1FGaWxlRGlhbG9nX3F0X21ldGFjYWxsKFxuICAgICAgICB0aGlzX3B0cjogKm11dCBjcmF0ZTo6UUZpbGVEaWFsb2csXG4gICAgcHViIGZuIGN0cl9xdF93aWRnZXRzX2ZmaV9RRmlsZURpYWxvZ190cihcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTQwMzE3NX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImRjMmUwNmFiIiwicGFyZW50SWQiOiJhMTYzMDEwMSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDM6MjYuNDI4WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipTZWFyY2hpbmcgZm9yIGdldE9wZW5GaWxlTmFtZSBmdW5jdGlvbioqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNGNmMDUwODE5MWIzYjA5Yzg2YjEwMjRjNjNcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk41TmdPZ2c2elp5NlRPWmZGLTlaakFmVklkZ0NUMHhienZEQjdaUy1nb3dXUWFuZHJkVlJmcE5vejg0cXlYVWg3MmVpRjhCbUtKZUJpdHZqY1VoMHNma3k1QU5BQnpva1ZLOHcwVktBZGpKVzRTLUcwNFZVSDZzckloVUREMUUxVmxlVkRGUEx6a0g2QUFfMzBXdnhSSVRuRzhWaC1SNDZmWDBQdkh4RzFYNXlaTzFjNG9wYjg4NDVqYUhiX2lnUm8zYlZ1NHFNQ2xHSEJRSkxiNWFHbmFJYTVmaDVqXzY1b2RqalBNR3piV0xSQ28yZmd6RnMxWk9QYkxfa1BiNHZMOHlVUXNyckpZTUwyR3BlSEpPMHFjN1B4UFlfX09IV25sX015cjF6S2pjZEdkS29zQmxmMGQyaDE5VV91djdEU01xdEZla04xT09tWjB0MUU3Znd4NEd1TV9seW5jbG4xMzJsOW1rR0Y0YUQxa19TTmlWZW9NaVpfODZJaXpOQ2pPLTM4eFpyVFRsXy1mUlZVT0htb1JIdGF2Yy02MXUxVlpiaHBsQVd6QW9QeV9VcFFYQU5TZk1YanBHd09ORHQ3OWI2djhjSGk5SlpQajJ3ZDIydUhacl94WHNIOE84SXdIU1hrZlNCY2FWR3JfVElHRUU5eEcxcVFadllNQjdmRTl5clhvMlg1ejRreVY1U3FoTFYzb0EwRlpWeUJ4OEhDU2NNeVh4STZTT0NJUkstNU5ZSEMtVmxxYmk2TFlzS3YxZThDdV9OWno1M0J1ODRlLU1LRE5zLVh3LS1SLTMwcmFhVElGWHdvaVQ4MnhaT1JiUTRZbk5teUt5ZVZWR1I5Z18zdHhYUzdrWm16c0NScjJnc0hfbmhHdjE1dkFoVnozT29uLU9qSlFPOVZGRDdheWxkTDVxZnROZzdWNzhYaUxtMnZJUllfbzRiQzlfeDkzWmdSMkUxSmJrUVRFVWNhTnozLVhLc2g2Ym5GY0k2NjZHYnBwUl84Sm9fX1JXV2JCVWd0U1ZIQ1dwbmEyc3lnVDNXMTBZRmFoUmVLZ1RaVmljanUybmFINUxjeldDOW5JSU1PRUdrVDIyNWhJR1JiejhCaHo0VlJEZUdKTFJSQ004ZkJUM3BGNGlNMVcxRk5MNmVMek0xTW9jZUJEUGNSRklyWEdDLWtaemhaX1BZZFAtUl9PRFBVR2NaaThYT1R6Ri0zX0k1Y3ByTmtMOEJBT2k2TnVyR21LS0tOVGNqM0U1SVA3akxyV0pNd1dSR01LeFJFTDctMmZ1MU1BZ2xNMm02NExOd0hIRFNYaVdfVWpydGxibVJNdFRQNktITFVYaW9aS1pWcldRQUs0c2U0R3l6cGdIYVNHdEE5aGRpbXAtLXduWlZRPT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlNlYXJjaGluZyBmb3IgZ2V0T3BlbkZpbGVOYW1lIGZ1bmN0aW9uKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX3BqaTdQZUpYdG15Wll5REI4ODhFV3V3RnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU0ZGM0NjA4MTkxOGM3ZDM3Y2EwYWQzNWMyYiIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJyZyAnZ2V0T3BlbkZpbGVOYW1lJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9xdF93aWRnZXRzLTAuNS4wL3NyYy9mZmkuaW4ucnMgfCBoZWFkIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo2MjYsIm91dHB1dCI6NzMsImNhY2hlUmVhZCI6OTQ3MjAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MjIsInRvdGFsVG9rZW5zIjo5NTQxOSwiY29zdCI6eyJpbnB1dCI6MC4wMDMxMzAwMDAwMDAwMDAwMDA0LCJvdXRwdXQiOjAuMDAyMTksImNhY2hlUmVhZCI6MC4wNDczNiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDUyNjh9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTU0MDMxNzcsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTRiOGYwYzgxOTE5ZDAwMDczMzdkNmM1NTBlIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjAyY2RhZGViIiwicGFyZW50SWQiOiJkYzJlMDZhYiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDM6MjYuNDM1WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9wamk3UGVKWHRteVpZeURCODg4RVd1d0Z8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNGRjNDYwODE5MThjN2QzN2NhMGFkMzVjMmIiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgLy8vIDxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRPcGVuRmlsZU5hbWVcIj5DKysgZG9jdW1lbnRhdGlvbjwvYT46PGRpdiBzdHlsZT0nYm9yZGVyOiAxcHggc29saWQgIzVDRkY5NTsgYmFja2dyb3VuZDogI0Q2RkZFNDsgcGFkZGluZzogMTZweDsnPjxwPlRoaXMgaXMgYSBjb252ZW5pZW5jZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIGV4aXN0aW5nIGZpbGUgc2VsZWN0ZWQgYnkgdGhlIHVzZXIuIElmIHRoZSB1c2VyIHByZXNzZXMgQ2FuY2VsLCBpdCByZXR1cm5zIGEgbnVsbCBzdHJpbmcuPC9wPlxuICAgIC8vLyAgIDxzcGFuIGNsYXNzPVwidHlwZVwiPjxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcXN0cmluZy5odG1sXCI+UVN0cmluZzwvYT48L3NwYW4+IGZpbGVOYW1lIDxzcGFuIGNsYXNzPVwib3BlcmF0b3JcIj49PC9zcGFuPiA8c3BhbiBjbGFzcz1cInR5cGVcIj48YSBocmVmPVwiaHR0cDovL2RvYy5xdC5pby9xdC01L3FmaWxlZGlhbG9nLmh0bWwjUUZpbGVEaWFsb2dcIj5RRmlsZURpYWxvZzwvYT48L3NwYW4+PHNwYW4gY2xhc3M9XCJvcGVyYXRvclwiPjo6PC9zcGFuPmdldE9wZW5GaWxlTmFtZSg8c3BhbiBjbGFzcz1cImtleXdvcmRcIj50aGlzPC9zcGFuPjxzcGFuIGNsYXNzPVwib3BlcmF0b3JcIj4sPC9zcGFuPiB0cig8c3BhbiBjbGFzcz1cInN0cmluZ1wiPlwiT3BlbiBGaWxlXCI8L3NwYW4+KTxzcGFuIGNsYXNzPVwib3BlcmF0b3JcIj4sPC9zcGFuPlxuICAgIC8vLyA8cD48Yj5TZWUgYWxzbyA8L2I+PGEgaHJlZj1cImh0dHA6Ly9kb2MucXQuaW8vcXQtNS9xZmlsZWRpYWxvZy5odG1sI2dldE9wZW5GaWxlTmFtZXNcIj5nZXRPcGVuRmlsZU5hbWVzPC9hPigpLCA8YSBocmVmPVwiaHR0cDovL2RvYy5xdC5pby9xdC01L3FmaWxlZGlhbG9nLmh0bWwjZ2V0U2F2ZUZpbGVOYW1lXCI+Z2V0U2F2ZUZpbGVOYW1lPC9hPigpLCBhbmQgPGEgaHJlZj1cImh0dHA6Ly9kb2MucXQuaW8vcXQtNS9xZmlsZWRpYWxvZy5odG1sI2dldEV4aXN0aW5nRGlyZWN0b3J5XCI+Z2V0RXhpc3RpbmdEaXJlY3Rvcnk8L2E+KCkuPC9wPjwvZGl2PlxuICAgIHB1YiBmbiBjdHJfcXRfd2lkZ2V0c19mZmlfUUZpbGVEaWFsb2dfZ2V0T3BlbkZpbGVOYW1lKFxuICAgIC8vLyA8cD5UaGUgZnVuY3Rpb24gaXMgdXNlZCBzaW1pbGFybHkgdG8gPGEgaHJlZj1cImh0dHA6Ly9kb2MucXQuaW8vcXQtNS9xZmlsZWRpYWxvZy5odG1sI2dldE9wZW5GaWxlTmFtZVwiPlFGaWxlRGlhbG9nOjpnZXRPcGVuRmlsZU5hbWU8L2E+KCkuIEluIHBhcnRpY3VsYXIgPGk+cGFyZW50PC9pPiwgPGk+Y2FwdGlvbjwvaT4sIDxpPmRpcjwvaT4sIDxpPmZpbHRlcjwvaT4sIDxpPnNlbGVjdGVkRmlsdGVyPC9pPiBhbmQgPGk+b3B0aW9uczwvaT4gYXJlIHVzZWQgaW4gdGhlIGV4YWN0IHNhbWUgd2F5LjwvcD5cbiAgICAvLy8gPHA+VGhlIG1haW4gZGlmZmVyZW5jZSB3aXRoIDxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRPcGVuRmlsZU5hbWVcIj5RRmlsZURpYWxvZzo6Z2V0T3BlbkZpbGVOYW1lPC9hPigpIGNvbWVzIGZyb20gdGhlIGFiaWxpdHkgb2ZmZXJlZCB0byB0aGUgdXNlciB0byBzZWxlY3QgYSByZW1vdGUgZmlsZS4gVGhhdCdzIHdoeSB0aGUgcmV0dXJuIHR5cGUgYW5kIHRoZSB0eXBlIG9mIDxpPmRpcjwvaT4gaXMgPGEgaHJlZj1cImh0dHA6Ly9kb2MucXQuaW8vcXQtNS9xdXJsLmh0bWxcIj5RVXJsPC9hPi48L3A+XG4gICAgLy8vIDxwPjxiPlNlZSBhbHNvIDwvYj48YSBocmVmPVwiaHR0cDovL2RvYy5xdC5pby9xdC01L3FmaWxlZGlhbG9nLmh0bWwjZ2V0T3BlbkZpbGVOYW1lXCI+Z2V0T3BlbkZpbGVOYW1lPC9hPigpLCA8YSBocmVmPVwiaHR0cDovL2RvYy5xdC5pby9xdC01L3FmaWxlZGlhbG9nLmh0bWwjZ2V0T3BlbkZpbGVVcmxzXCI+Z2V0T3BlbkZpbGVVcmxzPC9hPigpLCA8YSBocmVmPVwiaHR0cDovL2RvYy5xdC5pby9xdC01L3FmaWxlZGlhbG9nLmh0bWwjZ2V0U2F2ZUZpbGVVcmxcIj5nZXRTYXZlRmlsZVVybDwvYT4oKSwgYW5kIDxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRFeGlzdGluZ0RpcmVjdG9yeVVybFwiPmdldEV4aXN0aW5nRGlyZWN0b3J5VXJsPC9hPigpLjwvcD48L2Rpdj5cbiAgICAvLy8gPHA+PGI+U2VlIGFsc28gPC9iPjxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRPcGVuRmlsZU5hbWVcIj5nZXRPcGVuRmlsZU5hbWU8L2E+KCksIDxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRPcGVuRmlsZU5hbWVzXCI+Z2V0T3BlbkZpbGVOYW1lczwvYT4oKSwgYW5kIDxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRFeGlzdGluZ0RpcmVjdG9yeVwiPmdldEV4aXN0aW5nRGlyZWN0b3J5PC9hPigpLjwvcD48L2Rpdj5cbiAgICAvLy8gPHA+PGI+U2VlIGFsc28gPC9iPjxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRPcGVuRmlsZU5hbWVcIj5nZXRPcGVuRmlsZU5hbWU8L2E+KCksIDxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRPcGVuRmlsZU5hbWVzXCI+Z2V0T3BlbkZpbGVOYW1lczwvYT4oKSwgYW5kIDxhIGhyZWY9XCJodHRwOi8vZG9jLnF0LmlvL3F0LTUvcWZpbGVkaWFsb2cuaHRtbCNnZXRTYXZlRmlsZU5hbWVcIj5nZXRTYXZlRmlsZU5hbWU8L2E+KCkuPC9wPjwvZGl2PlxuICAgIC8vLyA8YSBocmVmPVwiaHR0cDovL2RvYy5xdC5pby9xdC01L3FmaWxlZGlhbG9nLmh0bWwjZ2V0T3BlbkZpbGVOYW1lc1wiPkMrKyBkb2N1bWVudGF0aW9uPC9hPjo8ZGl2IHN0eWxlPSdib3JkZXI6IDFweCBzb2xpZCAjNUNGRjk1OyBiYWNrZ3JvdW5kOiAjRDZGRkU0OyBwYWRkaW5nOiAxNnB4Oyc+PHA+VGhpcyBpcyBhIGNvbnZlbmllbmNlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IHdpbGwgcmV0dXJuIG9uZSBvciBtb3JlIGV4aXN0aW5nIGZpbGVzIHNlbGVjdGVkIGJ5IHRoZSB1c2VyLjwvcD5cbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTQwNjQzNX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImM2ZDMyZTQzIiwicGFyZW50SWQiOiIwMmNkYWRlYiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDM6MzYuNjQ2WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipQbGFubmluZyBkZXBlbmRlbmN5IHVwZGF0ZXMgYW5kIGJ1aWxkIGluc3BlY3Rpb24qKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTU1MDEwODgxOTE5ZjJjNTYwMWY4MzYzZWUwXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpONVh6Tjk3WnVkT0RodkhhOXNPWFVXTEl3XzBHS1NjbGZtMGtZeWJQajlIOXFieWNwRWdCWnYzTFB3OWRfMm9hMGFYOWRjcjBoNmZwalFsR3ZVZGNGQkdBRFlIUG1YVTJvN0hJWENuVk5jeGo3OXp2cUd6TXo2Uk0zWjJfNjZ5RHlwTEhWYjJzSndOV0NjbXlqX3locklBSFFWMFhGNFN2NklGb0dubGotemh0QzZjbDlCX0ZGVFlZUnpsWDd5WU5EbmxFRS00eWVZOHo4OVdEakR6ZjY2WTZxZlJXTE5ITEgzeHdiRUhob3VPVk1NanNYcTEzT1FsMFA4ajhaRnVwTTZiNzhzZGRrRmt6YW1fMlJ1NlN2T29hZmRYT1A1WXJ1YjBlTFF2QTRqbjlZRm9PSzZSZzRpclNKNTREZmlkNmhnVENvczVQV2ZRT2tIZnp1SWRGbGNtSzBMSW5tbXRUTkNFdUJCMGFDQ1lyVDhYVUJtNklKZ2dFQWkzaXBXQjB3RGFHZmRhT1N5Z0F6X0gtekt6c2oxNmh5R25pSjRDdDV1WHJ5TWtjaHlBX0YxclItREN0dVM2Y1FFblJxOXI1RTR2TkdIaTA5OUhIWnZheUZ5RXNleVl5Y3poSHdJcGYzalhzbUxLMmRLSEIxRGZWZlpsYXNzd2QwcDRzZHFSb3cxRTBBTElMdW84Y1FSV1VaeGhPaW5EcnZaSzNTUzJlTUFJSWh1ZWdSOENOQzlUUFVzME45VV9GcnkzMEJDVXEyX0lXT1B3SWU3dnhxTjhac3lxM0p1OXF0NU5fN0RrcWF0UkNORkttRUJ4Y01hWWN3TXdEblVld28zYVB6aXhxU3NXUjVzOW15Z0JqZTNXSlpLSGtaa3Vqb1k4SmItRmtEUFJ0QW0yOGR0RzhGVHNrZ1VjSjRWRjFVOVhDOWhtb0FZQnRwTm02aHJsMUhBSW9DdVRod1kyS3d3a21zUE9IalJRdGQzWVA1dWljSWxLMzAzQ0czMW9ETlI5S0k5N2RoWVpoWk13TW82cHR5Qll5Mmc1WHRCbEdxNExvNjAyWG5pdkd0R1RkZm5jT2JudFhPajJfLUhCdmFCWk1FZ3B2Y2RjVWpNeDZIcjE0NlNEeEh3Q25ocGV6dk50YkFQT2NuV3NQYWN4T2s1b3lYV1AzSUtwRnAxdnlOczd3OGVyOURzT1RTQUhmUk5WeUt2MWJ2QjN1U0o5NGROcUF4ZC1zdE8tVDJ2RDl6c21GNjUzSHN3ZnJ6OGFNSGpDMGp2MEtWTHp2b2FJRUx4MWNraXhpTDVPZXRqMmNFcU1lNU1wNkJWWUJhUzFvWGJwZ0M0bDEwNm95Y2RzeGdZcjZzMnlGUFVSZFlmODBWdkpEY3BaRW9vM1gzVFpRMWlTX0hmWGFCYTU4S01CSXNSMTJ6aVdqRGk1UFJ3V1ByeXAxR0NjbHY0UFVhd09jTDhINHVBTi1NZ1BrVVFrQkkyNTZDbjIwVHM3UE95anY0UDJzS2FOMUFoRFpoRXRETGFZUVM0bWhya0p3OWttVUVOaFZNU2xBR2N2N0Qxb0JlcGMwYVEyUjVPZUhzc05CcDl0bTBVOEZWMUMxaGp2OHdmWTFvM3ktZHB2VC1DY29udE9PNEZKX1FaaHJrYTMzeGMxYkdHcXBwREhZX1ExYk1pUkE1T1BCUjh2dTJYSS1iMEhnRm1iY3N6RUwwcVRxQXg5dFQ3b0pHZ1NVLWFkVHJhQnVvMmR3UXFCTkQ2d0dIM2hJUmplQmZZVDhGR2tzdWg4NFFVMmxnaU92UG83QVk2RFJZMkhvdHZ2MUxzSmNnPT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIGRlcGVuZGVuY3kgdXBkYXRlcyBhbmQgYnVpbGQgaW5zcGVjdGlvbioqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF8wa1hmMncyZHRVMDdyNTVNZlVoSTlNbGt8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNTc5MjE0ODE5MWE5OGUzMDJhYmM5NmJmZmEiLCJuYW1lIjoid3JpdGUiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWwiLCJjb250ZW50IjoiW3BhY2thZ2VdXG5uYW1lID0gXCJmbGFzaGVyLXF0XCJcbnZlcnNpb24gPSBcIjAuMS4wXCJcbmVkaXRpb24gPSBcIjIwMjRcIlxuZGVzY3JpcHRpb24gPSBcIkEgbmF0aXZlIFF0IFdpZGdldHMgaW50ZXJmYWNlIGZvciBwcmVwYXJpbmcgQUxUIExpbnV4IFNCQyBpbWFnZXNcIlxubGljZW5zZSA9IFwiR1BMLTIuMC1vci1sYXRlclwiXG5cbltkZXBlbmRlbmNpZXNdXG5jcHBfY29yZSA9IFwiMC42XCJcbnF0X3dpZGdldHMgPSBcIjAuNVwiXG4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE2NzEsIm91dHB1dCI6MTgyLCJjYWNoZVJlYWQiOjk0NzIwLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjY5LCJ0b3RhbFRva2VucyI6OTY1NzMsImNvc3QiOnsiaW5wdXQiOjAuMDA4MzU1MDAwMDAwMDAwMDAxLCJvdXRwdXQiOjAuMDA1NDYwMDAwMDAwMDAwMDAwNCwiY2FjaGVSZWFkIjowLjA0NzM2LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNjExNzV9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTU0MDY0MzcsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTRmMDI1YzgxOTFhYzdjZmMzOTg5ZmJkNWZmIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjM0N2Y0YTgzIiwicGFyZW50SWQiOiJjNmQzMmU0MyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDM6MzYuNjUxWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF8wa1hmMncyZHRVMDdyNTVNZlVoSTlNbGt8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNTc5MjE0ODE5MWE5OGUzMDJhYmM5NmJmZmEiLCJ0b29sTmFtZSI6IndyaXRlIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHdyb3RlIDIyNyBieXRlcyB0byBjcmF0ZXMvZmxhc2hlci1xdC9DYXJnby50b21sIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NDE2NjUxfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiOTIxMzEyMTQiLCJwYXJlbnRJZCI6IjM0N2Y0YTgzIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowMzo0MC4wNjRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX09qVzZidVROZ2hqaXVZdnloUnhlSGhFY3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU1YTczNmM4MTkxOGU1ZjViN2FiNTU0ODk3ZCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJybSAtZiBjcmF0ZXMvZmxhc2hlci1xdC9idWlsZC5ycyBjcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwXG5jYXQgPiBjcmF0ZXMvZmxhc2hlci1xdC9zcmMvbWFpbi5ycyA8PCdFT0YnXG51c2UgcXRfd2lkZ2V0czo6UUFwcGxpY2F0aW9uO1xuZm4gbWFpbigpIHsgUUFwcGxpY2F0aW9uOjppbml0KHxffCAwKTsgfVxuRU9GXG5jYXJnbyBjaGVjayAtcCBmbGFzaGVyLXF0IiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjg1NCwib3V0cHV0Ijo4NywiY2FjaGVSZWFkIjo5NTc0NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6OTY2ODUsImNvc3QiOnsiaW5wdXQiOjAuMDA0MjcsIm91dHB1dCI6MC4wMDI2MSwiY2FjaGVSZWFkIjowLjA0Nzg3MiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDU0NzUxOTk5OTk5OTk5OTk1fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1NDE2NjUzLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU1OTAwNGM4MTkxYjVjYzNjNjg0NjE5NzdkMSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI2ZTE2NmY1ZiIsInBhcmVudElkIjoiOTIxMzEyMTQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjAzOjU3LjYzMFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfT2pXNmJ1VE5naGppdVl2eWhSeGVIaEVjfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTVhNzM2YzgxOTE4ZTVmNWI3YWI1NTQ4OTdkIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgIFVwZGF0aW5nIGNyYXRlcy5pbyBpbmRleFxuICAgICBMb2NraW5nIDU5IHBhY2thZ2VzIHRvIGxhdGVzdCBSdXN0IDEuOTcuMCBjb21wYXRpYmxlIHZlcnNpb25zXG4gICAgICBBZGRpbmcgYWRkcjJsaW5lIHYwLjI1LjFcbiAgICAgIEFkZGluZyBhZGxlcjIgdjIuMC4xXG4gICAgICBBZGRpbmcgYWhvLWNvcmFzaWNrIHYxLjEuNFxuICAgICAgQWRkaW5nIGF0dHkgdjAuMi4xNFxuICAgICAgQWRkaW5nIGJhY2t0cmFjZSB2MC4zLjc2XG4gICAgICBBZGRpbmcgYmluY29kZSB2MS4zLjNcbiAgICAgIEFkZGluZyBjZmctaWYgdjEuMC40XG4gICAgICBBZGRpbmcgY3BwX2NvcmUgdjAuNi4wXG4gICAgICBBZGRpbmcgZHVuY2UgdjEuMC41XG4gICAgICBBZGRpbmcgZWl0aGVyIHYxLjE3LjBcbiAgICAgIEFkZGluZyBlbnZfbG9nZ2VyIHYwLjcuMVxuICAgICAgQWRkaW5nIGZhaWx1cmUgdjAuMS44XG4gICAgICBBZGRpbmcgZmFpbHVyZV9kZXJpdmUgdjAuMS44XG4gICAgICBBZGRpbmcgZ2ltbGkgdjAuMzIuM1xuICAgICAgQWRkaW5nIGhlcm1pdC1hYmkgdjAuMS4xOVxuICAgICAgQWRkaW5nIGhlcm1pdC1hYmkgdjAuNS4yXG4gICAgICBBZGRpbmcgaHVtYW50aW1lIHYxLjMuMFxuICAgICAgQWRkaW5nIGl0ZXJ0b29scyB2MC44LjJcbiAgICAgIEFkZGluZyBpdG9hIHYxLjAuMThcbiAgICAgIEFkZGluZyBrZXJuZWwzMi1zeXMgdjAuMi4yXG4gICAgICBBZGRpbmcgbGF6eV9zdGF0aWMgdjEuNS4wXG4gICAgICBBZGRpbmcgbG9nIHYwLjQuMzNcbiAgICAgIEFkZGluZyBtaW5pel9veGlkZSB2MC44LjlcbiAgICAgIEFkZGluZyBudW1fY3B1cyB2MS4xNy4wXG4gICAgICBBZGRpbmcgb2JqZWN0IHYwLjM3LjNcbiAgICAgIEFkZGluZyBwYXRoZGlmZiB2MC4xLjBcbiAgICAgIEFkZGluZyBwcm9jLW1hY3JvLWhhY2sgdjAuNS4yMCtkZXByZWNhdGVkXG4gICAgICBBZGRpbmcgcXRfY29yZSB2MC41LjBcbiAgICAgIEFkZGluZyBxdF9ndWkgdjAuNS4wXG4gICAgICBBZGRpbmcgcXRfbWFjcm9zIHYwLjEuMVxuICAgICAgQWRkaW5nIHF0X3JpdHVhbF9idWlsZCB2MC41LjBcbiAgICAgIEFkZGluZyBxdF9yaXR1YWxfY29tbW9uIHYwLjQuMFxuICAgICAgQWRkaW5nIHF0X3dpZGdldHMgdjAuNS4wXG4gICAgICBBZGRpbmcgcXVpY2stZXJyb3IgdjEuMi4zXG4gICAgICBBZGRpbmcgcmVnZXggdjEuMTMuMVxuICAgICAgQWRkaW5nIHJlZ2V4LWF1dG9tYXRhIHYwLjQuMTZcbiAgICAgIEFkZGluZyByZWdleC1zeW50YXggdjAuOC4xMVxuICAgICAgQWRkaW5nIHJpdHVhbF9idWlsZCB2MC40LjBcbiAgICAgIEFkZGluZyByaXR1YWxfY29tbW9uIHYwLjQuMFxuICAgICAgQWRkaW5nIHJ1c3RjLWRlbWFuZ2xlIHYwLjEuMjhcbiAgICAgIEFkZGluZyBzZW12ZXIgdjAuOS4wXG4gICAgICBBZGRpbmcgc2VtdmVyLXBhcnNlciB2MC43LjBcbiAgICAgIEFkZGluZyBzZXJkZSB2MS4wLjIyOVxuICAgICAgQWRkaW5nIHNlcmRlX2pzb24gdjEuMC4xNTFcbiAgICAgIEFkZGluZyBzaGVsbC13b3JkcyB2MC4xLjBcbiAgICAgIEFkZGluZyBzeW4gdjEuMC4xMDlcbiAgICAgIEFkZGluZyBzeW5zdHJ1Y3R1cmUgdjAuMTIuNlxuICAgICAgQWRkaW5nIHRlcm0gdjAuNC42XG4gICAgICBBZGRpbmcgdGVybS1wYWludGVyIHYwLjIuNFxuICAgICAgQWRkaW5nIHRlcm1jb2xvciB2MS40LjFcbiAgICAgIEFkZGluZyB0b21sIHYwLjQuMTBcbiAgICAgIEFkZGluZyB1bmljb2RlLXhpZCB2MC4yLjZcbiAgICAgIEFkZGluZyB3aW5hcGkgdjAuMi44XG4gICAgICBBZGRpbmcgd2luYXBpIHYwLjMuOVxuICAgICAgQWRkaW5nIHdpbmFwaS1idWlsZCB2MC4xLjFcbiAgICAgIEFkZGluZyB3aW5hcGktaTY4Ni1wYy13aW5kb3dzLWdudSB2MC40LjBcbiAgICAgIEFkZGluZyB3aW5hcGktdXRpbCB2MC4xLjExXG4gICAgICBBZGRpbmcgd2luYXBpLXg4Nl82NC1wYy13aW5kb3dzLWdudSB2MC40LjBcbiAgICAgIEFkZGluZyB6bWlqIHYxLjAuMjNcbiBEb3dubG9hZGluZyBjcmF0ZXMgLi4uXG4gIERvd25sb2FkZWQgZmFpbHVyZV9kZXJpdmUgdjAuMS44XG4gIERvd25sb2FkZWQgcGF0aGRpZmYgdjAuMS4wXG4gIERvd25sb2FkZWQgYmFja3RyYWNlIHYwLjMuNzZcbiAgRG93bmxvYWRlZCBhdHR5IHYwLjIuMTRcbiAgRG93bmxvYWRlZCBwcm9jLW1hY3JvLWhhY2sgdjAuNS4yMCtkZXByZWNhdGVkXG4gIERvd25sb2FkZWQgYmluY29kZSB2MS4zLjNcbiAgRG93bmxvYWRlZCBkdW5jZSB2MS4wLjVcbiAgRG93bmxvYWRlZCBlaXRoZXIgdjEuMTcuMFxuICBEb3dubG9hZGVkIGVudl9sb2dnZXIgdjAuNy4xXG4gIERvd25sb2FkZWQgaHVtYW50aW1lIHYxLjMuMFxuICBEb3dubG9hZGVkIGFkZHIybGluZSB2MC4yNS4xXG4gIERvd25sb2FkZWQgZmFpbHVyZSB2MC4xLjhcbiAgRG93bmxvYWRlZCBxdWljay1lcnJvciB2MS4yLjNcbiAgRG93bmxvYWRlZCBpdGVydG9vbHMgdjAuOC4yXG4gIERvd25sb2FkZWQgc2VtdmVyLXBhcnNlciB2MC43LjBcbiAgRG93bmxvYWRlZCB0ZXJtY29sb3IgdjEuNC4xXG4gIERvd25sb2FkZWQgc2VtdmVyIHYwLjkuMFxuICBEb3dubG9hZGVkIHN5bnN0cnVjdHVyZSB2MC4xMi42XG4gIERvd25sb2FkZWQgem1paiB2MS4wLjIzXG4gIERvd25sb2FkZWQgcnVzdGMtZGVtYW5nbGUgdjAuMS4yOFxuICBEb3dubG9hZGVkIHRvbWwgdjAuNC4xMFxuICBEb3dubG9hZGVkIHNlcmRlIHYxLjAuMjI5XG4gIERvd25sb2FkZWQgc2VyZGVfanNvbiB2MS4wLjE1MVxuICBEb3dubG9hZGVkIGdpbWxpIHYwLjMyLjNcbiAgRG93bmxvYWRlZCBvYmplY3QgdjAuMzcuM1xuICBEb3dubG9hZGVkIHF0X3JpdHVhbF9jb21tb24gdjAuNC4wXG4gIERvd25sb2FkZWQgY3BwX2NvcmUgdjAuNi4wXG4gIERvd25sb2FkZWQgcXRfbWFjcm9zIHYwLjEuMVxuICBEb3dubG9hZGVkIHF0X3JpdHVhbF9idWlsZCB2MC41LjBcbiAgRG93bmxvYWRlZCB0ZXJtIHYwLjQuNlxuICBEb3dubG9hZGVkIHNoZWxsLXdvcmRzIHYwLjEuMFxuICBEb3dubG9hZGVkIHJpdHVhbF9idWlsZCB2MC40LjBcbiAgRG93bmxvYWRlZCByaXR1YWxfY29tbW9uIHYwLjQuMFxuICBEb3dubG9hZGVkIHRlcm0tcGFpbnRlciB2MC4yLjRcbiAgRG93bmxvYWRlZCBxdF9ndWkgdjAuNS4wXG4gICBDb21waWxpbmcgc3luIHYxLjAuMTA5XG4gICBDb21waWxpbmcgc2VyZGVfY29yZSB2MS4wLjIyOVxuICAgQ29tcGlsaW5nIG9iamVjdCB2MC4zNy4zXG4gICBDb21waWxpbmcgc2VyZGUgdjEuMC4yMjlcbiAgIENvbXBpbGluZyBhaG8tY29yYXNpY2sgdjEuMS40XG4gICBDb21waWxpbmcgZ2ltbGkgdjAuMzIuM1xuICAgQ29tcGlsaW5nIGFkbGVyMiB2Mi4wLjFcbiAgIENvbXBpbGluZyBmYWlsdXJlX2Rlcml2ZSB2MC4xLjhcbiAgIENvbXBpbGluZyB6bWlqIHYxLjAuMjNcbiAgIENvbXBpbGluZyBzZXJkZV9qc29uIHYxLjAuMTUxXG4gICBDb21waWxpbmcgY2ZnLWlmIHYxLjAuNFxuICAgQ29tcGlsaW5nIGxpYmMgdjAuMi4xODlcbiAgIENvbXBpbGluZyBydXN0Yy1kZW1hbmdsZSB2MC4xLjI4XG4gICBDb21waWxpbmcgc2VtdmVyLXBhcnNlciB2MC43LjBcbiAgIENvbXBpbGluZyBpdG9hIHYxLjAuMThcbiAgIENvbXBpbGluZyBzeW4gdjMuMC4zXG4gICBDb21waWxpbmcgdGVybSB2MC40LjZcbiAgIENvbXBpbGluZyBtaW5pel9veGlkZSB2MC44LjlcbiAgIENvbXBpbGluZyBlaXRoZXIgdjEuMTcuMFxuICAgQ29tcGlsaW5nIGxvZyB2MC40LjMzXG4gICBDb21waWxpbmcgc2VtdmVyIHYwLjkuMFxuICAgQ29tcGlsaW5nIGxhenlfc3RhdGljIHYxLjUuMFxuICAgQ29tcGlsaW5nIGR1bmNlIHYxLjAuNVxuICAgQ29tcGlsaW5nIHNoZWxsLXdvcmRzIHYwLjEuMFxuICAgQ29tcGlsaW5nIHBhdGhkaWZmIHYwLjEuMFxuICAgQ29tcGlsaW5nIGl0ZXJ0b29scyB2MC44LjJcbiAgIENvbXBpbGluZyB0ZXJtLXBhaW50ZXIgdjAuMi40XG4gICBDb21waWxpbmcgcXVpY2stZXJyb3IgdjEuMi4zXG4gICBDb21waWxpbmcgdGVybWNvbG9yIHYxLjQuMVxuICAgQ29tcGlsaW5nIHByb2MtbWFjcm8taGFjayB2MC41LjIwK2RlcHJlY2F0ZWRcbiAgIENvbXBpbGluZyBodW1hbnRpbWUgdjEuMy4wXG4gICBDb21waWxpbmcgcmVnZXgtYXV0b21hdGEgdjAuNC4xNlxuICAgQ29tcGlsaW5nIG51bV9jcHVzIHYxLjE3LjBcbiAgIENvbXBpbGluZyBhdHR5IHYwLjIuMTRcbiAgICBDaGVja2luZyBjcHBfY29yZSB2MC42LjBcbiAgIENvbXBpbGluZyBzZXJkZV9kZXJpdmUgdjEuMC4yMjlcbiAgIENvbXBpbGluZyBhZGRyMmxpbmUgdjAuMjUuMVxuICAgQ29tcGlsaW5nIHJlZ2V4IHYxLjEzLjFcbiAgIENvbXBpbGluZyBiaW5jb2RlIHYxLjMuM1xuICAgQ29tcGlsaW5nIHRvbWwgdjAuNC4xMFxuICAgQ29tcGlsaW5nIGJhY2t0cmFjZSB2MC4zLjc2XG4gICBDb21waWxpbmcgc3luc3RydWN0dXJlIHYwLjEyLjZcbiAgIENvbXBpbGluZyBlbnZfbG9nZ2VyIHYwLjcuMVxuICAgQ29tcGlsaW5nIHF0X21hY3JvcyB2MC4xLjFcbiAgIENvbXBpbGluZyBmYWlsdXJlIHYwLjEuOFxuICAgQ29tcGlsaW5nIHJpdHVhbF9jb21tb24gdjAuNC4wXG4gICBDb21waWxpbmcgcml0dWFsX2J1aWxkIHYwLjQuMFxuICAgQ29tcGlsaW5nIHF0X3JpdHVhbF9jb21tb24gdjAuNC4wXG4gICBDb21waWxpbmcgcXRfcml0dWFsX2J1aWxkIHYwLjUuMFxuICAgQ29tcGlsaW5nIHF0X2NvcmUgdjAuNS4wXG4gICBDb21waWxpbmcgcXRfZ3VpIHYwLjUuMFxuICAgQ29tcGlsaW5nIHF0X3dpZGdldHMgdjAuNS4wXG5lcnJvcjogZmFpbGVkIHRvIHJ1biBjdXN0b20gYnVpbGQgY29tbWFuZCBmb3IgYHF0X2NvcmUgdjAuNS4wYFxuXG5DYXVzZWQgYnk6XG4gIHByb2Nlc3MgZGlkbid0IGV4aXQgc3VjY2Vzc2Z1bGx5OiBgL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvcXRfY29yZS05YjY4Njc4OGRjNDA4ZTA0L2J1aWxkLXNjcmlwdC1idWlsZGAgKGV4aXQgc3RhdHVzOiAxKVxuICAtLS0gc3RkZXJyXG4gIFsyMDI2LTA3LTI1VDE2OjAzOjU3WiBFUlJPUiByaXR1YWxfY29tbW9uOjplcnJvcnNdIEVycm9yOlxuICBbMjAyNi0wNy0yNVQxNjowMzo1N1ogRVJST1Igcml0dWFsX2NvbW1vbjo6ZXJyb3JzXSAgICBmYWlsZWQgdG8gcnVuIGNvbW1hbmQ6IFwicW1ha2VcIiBcIi1xdWVyeVwiIFwiUVRfVkVSU0lPTlwiXG4gIFsyMDI2LTA3LTI1VDE2OjAzOjU3WiBFUlJPUiByaXR1YWxfY29tbW9uOjplcnJvcnNdICAgIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkgKG9zIGVycm9yIDIpXG53YXJuaW5nOiBidWlsZCBmYWlsZWQsIHdhaXRpbmcgZm9yIG90aGVyIGpvYnMgdG8gZmluaXNoLi4uXG5lcnJvcjogZmFpbGVkIHRvIHJ1biBjdXN0b20gYnVpbGQgY29tbWFuZCBmb3IgYHF0X2d1aSB2MC41LjBgXG5cbkNhdXNlZCBieTpcbiAgcHJvY2VzcyBkaWRuJ3QgZXhpdCBzdWNjZXNzZnVsbHk6IGAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9xdF9ndWktMjk3Yzg0ZDY2YTVjNDY5YS9idWlsZC1zY3JpcHQtYnVpbGRgIChleGl0IHN0YXR1czogMSlcbiAgLS0tIHN0ZGVyclxuICBbMjAyNi0wNy0yNVQxNjowMzo1N1ogRVJST1Igcml0dWFsX2NvbW1vbjo6ZXJyb3JzXSBFcnJvcjpcbiAgWzIwMjYtMDctMjVUMTY6MDM6NTdaIEVSUk9SIHJpdHVhbF9jb21tb246OmVycm9yc10gICAgZmFpbGVkIHRvIHJ1biBjb21tYW5kOiBcInFtYWtlXCIgXCItcXVlcnlcIiBcIlFUX1ZFUlNJT05cIlxuICBbMjAyNi0wNy0yNVQxNjowMzo1N1ogRVJST1Igcml0dWFsX2NvbW1vbjo6ZXJyb3JzXSAgICBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IChvcyBlcnJvciAyKVxuZXJyb3I6IGZhaWxlZCB0byBydW4gY3VzdG9tIGJ1aWxkIGNvbW1hbmQgZm9yIGBxdF93aWRnZXRzIHYwLjUuMGBcblxuQ2F1c2VkIGJ5OlxuICBwcm9jZXNzIGRpZG4ndCBleGl0IHN1Y2Nlc3NmdWxseTogYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL3F0X3dpZGdldHMtYzhmNjhlNjVlMjhkZjg2OS9idWlsZC1zY3JpcHQtYnVpbGRgIChleGl0IHN0YXR1czogMSlcbiAgLS0tIHN0ZGVyclxuICBbMjAyNi0wNy0yNVQxNjowMzo1N1ogRVJST1Igcml0dWFsX2NvbW1vbjo6ZXJyb3JzXSBFcnJvcjpcbiAgWzIwMjYtMDctMjVUMTY6MDM6NTdaIEVSUk9SIHJpdHVhbF9jb21tb246OmVycm9yc10gICAgZmFpbGVkIHRvIHJ1biBjb21tYW5kOiBcInFtYWtlXCIgXCItcXVlcnlcIiBcIlFUX1ZFUlNJT05cIlxuICBbMjAyNi0wNy0yNVQxNjowMzo1N1ogRVJST1Igcml0dWFsX2NvbW1vbjo6ZXJyb3JzXSAgICBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IChvcyBlcnJvciAyKVxuXG5cbkNvbW1hbmQgZXhpdGVkIHdpdGggY29kZSAxMDEifV0sImRldGFpbHMiOnt9LCJpc0Vycm9yIjp0cnVlLCJ0aW1lc3RhbXAiOjE3ODQ5OTU0Mzc2MzB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3Mzc2NTg2OCIsInBhcmVudElkIjoiNmUxNjZmNWYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA0OjAwLjkyOFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqVmVyaWZ5aW5nIHFtYWtlIGV4ZWN1dGFibGUgcGF0aCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNmY0NjhjODE5MTg0MjZlYjAxY2M1MjNjZDNcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk41dzlndE94bl9kNGJjZkFvYzNFZnpTV3Zpbl90cy1oOElyUUhhckJ1ald4QnB1LVV2V2pHMTM5bFN3ZHdOTElOaDBIYlV6RnRZYTZ0M19GcmVfbzMwZ1ZaLUYzU1F6aDl0U1BpelpydUhlUDFIbFhfcDNGMkd0MXlWeEJMN1JhdHRDNGNsNmx6b2NVNTRTLUk1Tm5aSmpoQWxaYms2bENIdVVjeTJ1eGpuRXBKUnUzcU5sN2VzLWRnaGw3Y0xQMFNkY29BUnJhWEpaRENvanE1UmNocU9KdzJOZS1udVhMMUFPVlBldU8wc3BydUFOTkpJTURMS0h3U3U0ZVVXcFFtY05fSFRlTTNLYkdwN1U0SElGZFZQWEFBSlpRWjhRalpfUVRieGg0R1RwUWF2R25sYVFVaFZZRS11T3BYMUVaRzl4dWFOZFB5TDc1RWNWa21HVjE5YXFOdUk1SVM0Mm1odU13S1NUVm90a1p6Szc2Y29obHdnTXZnSkhPa25iREM5SE5qclhUMlZfMXlEWkp1V1ItTDE5NV9IZkxoMEVmV2FHbGtWaTlEQmpMRjlzaDhSN2RTUnViOEl4Nk9yT283SV9EREFMaTh2XzdER1BtQzJROXExaEpvenptRlBkQ1BNb05KVmxqY3BzcEhDVERFRGNvc09ub1R6THhYZHdiWGFDNzdMaU54dkJRdHFmWXlLSkRXYWRmMlFMd0NGQnpqQmIybjZqWlpKSml0TUQwaWU3bHdnUWd0NkdmbTR0Wkp2aG9hNE5hTThPaHRQT3hTemlaS3lrdHhrVnBJX0dra3lvZ2ZkOHNoR3drVEVhbk15ak1wUG9YSkdXMFlqalR2N1EyUDZjdTZqWUdmaUxrV3A4R2lWR3lzcUxiUUMxRFRFT3dpOWNGYkotbG5QV0dNdGxIRmh0MlM1X0dxVE9SbnJUclpEWE5keE1ScG90TmRJS0thRi00RzY1LXlweHBBdk10ZnZPNHR0Mm05Rk5OUkdaS2l4dXJIRnBxNllQMVpWa2F0NjhNYTRfbDZPOHBIdC13SmtRakVUNV9iNFVWVThiQ0daT3haTlQyVUNtdjVxNUs1ZG1tZ2FNTjl0aTEyWE1QREZxZkxIYmpkWEMtTV9vOWNOX2JDdXhkVGt2SzdpNUwyRFpDcFFidUNuOENVekQ1U1llZkd6elJNY0hnOHJsbV9DWF9YbmJjaF9rSjdyYk56SUFWMVg4VFRKbnpvcktkZ01ta3FSVzNIWkc1ZVRaYVExbjlYdXFiYVlCRTFCckw2ZjlBeHd3ZEVGUVkxellnRmpTczJBUmhEakt3ek56N0JEZDN3TmVibHpVV1R6MHRWakV6MjVvTnFnSzhXa192RzZySjVUc254VVhuamtJcTFzNHpnPT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlZlcmlmeWluZyBxbWFrZSBleGVjdXRhYmxlIHBhdGgqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfeVltOWFidno1STRaUGhteUo2VlB6WGdPfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTcwMjA5MDgxOTFiOTI0YWM2MWZjNWJmMzY1IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImZpbmQgL3VzciAtdHlwZSBmIC1uYW1lIHFtYWtlIDI+L2Rldi9udWxsIHwgaGVhZCAtMjA7IHBrZy1jb25maWcgLS12YXJpYWJsZT1ob3N0X2JpbnMgUXQ1Q29yZTsgcGtnLWNvbmZpZyAtLXZhcmlhYmxlPXByZWZpeCBRdDVDb3JlIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjozMjYxLCJvdXRwdXQiOjg0LCJjYWNoZVJlYWQiOjk1NzQ0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjI1LCJ0b3RhbFRva2VucyI6OTkwODksImNvc3QiOnsiaW5wdXQiOjAuMDE2MzA1LCJvdXRwdXQiOjAuMDAyNTIsImNhY2hlUmVhZCI6MC4wNDc4NzIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA2NjY5N319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTQzNzYzMywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNmUyMWZjODE5MTkyYTdjZTM5OTRlNjVhOGIifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYTMwOTJiZTEiLCJwYXJlbnRJZCI6IjczNzY1ODY4IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDowNC40MTBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX3lZbTlhYnZ6NUk0WlBobXlKNlZQelhnT3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU3MDIwOTA4MTkxYjkyNGFjNjFmYzViZjM2NSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii91c3Ivc2hhcmUvcXQ1L2JpblxuL3Vzci9zaGFyZS9xdDVcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTQ0NDQxMH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijk3MDIxZTZjIiwicGFyZW50SWQiOiJhMzA5MmJlMSIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDQ6MDkuNzk5WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipJbnZlc3RpZ2F0aW5nIHFtYWtlIHBhY2thZ2Ugc2VwYXJhdGlvbioqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNzc0MTc4ODE5MWFiMzZkMDE3OWUyOGYzNDFcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk41NFlDTkhZaGtyWjhsbWRfSnRjQlplcDh1dFpJalNVTTdoQnBSS3JwNzJMcjNPVXVVRG01U2ZxTFpfS3FqWTNrSUF3emZ3S1h2RWVmb0dDZHo3YnhGLWcxMGl4d2h0UUZuMDU1bzdteXBja2llSTZBemVIajA5bzc1WjJ2RkVDYTNvVW5YS1ktb3Z0X3hneWE0MnM2b05ZeFprQ0djaDdrM2V1bE1ZbTdkVlNJa2lLSjB4bHgwZkRGcVphaVJKNUQ3ZVB4SU9jLWRueW1iTHo5OTdXSnlqVlFTSnhUeFpVUi1BMkQyZFRxQnhDYTlmZXZYT3ZnMFNka1VhMHdmb1V0TlkxVkNQczBaTDc0MTBsLWpaZnVraklac19FYXY5SjhWMmcwUjVGR2tjUVBJdC13VXRnYmpLYUo1OWhTN2hiU3hfTEgxVERfVnNpWHZ5ZEF1RVY4SlFTaV9RcTQ5UDZiNFNIeWpCejVGa2kxbHJkaHlEOVRuRVNid0Z3em45bEE2WGlEUkNjWU0ydk1KY2dPcDQyd2xkZkNIU2Y0NDFyTUI1OGp3Vko4OVlaT1lKTm55a2ZhUjZ2YlpsUDJFZ3NFT3RxaGQ3cEFYckZ4N1dndURldE1udW5zN05vYmlWTlJobVFyaEZoZllkMDFtQ2Q1SXhkck9uUm5yVzdDYUdBWjVMa3VmMTN4QWxEbEdWSzBkV3R0cGdaaldGZ184U1JWZnpVZ2U5aGtUY2lJQjFOSE5hWmRJcjU5bmlzam1RV2VVYTVWbllVWFBoMkN3aW9fNW5rbVBzMzlBaXFEQnpFa0VJTlI1ekJvbmMyS09LdVFoeTlXVU5nbExJdkFaOXBEeGZTalhEeGFSQXRtN0RWSXlZMlFCY2htYjFoOU9JcHgyR3l4MGdyaGFEUTExbzZ3c2c3OWtwRW9aQVZFZFY3OHoyTmpNcm9Md2pPTnVDLWJkZy1CRkxUX0FPZlVCRk5JLV8zRURKbHlPemhjRExWR2JEZFpOX3dGTWI1dWNRa0NodFFZeFNleUYxZmdGVktMQ0NWdDE3aGt1aUFwYnkxVEliUkJETS1PUTZRcnZOcGhQc016S09lTXBnaVZVOUw1TTVTamJhN0ppcGhULVZtbDdKclBkZ0lQV0t4MVNYOXpXY1dKem40ZndlQkJtZnAwMFlsM0pwUlVreFRycGRLeDdERUx3ZEJGWWNZaGZkRkpweE5MSm01eUV4MEZyWERGN3ExQV9QTkNnMzhkdkhPNlNnZ29fR1hUVk9zU3pkdGJlVjRZMHhYMzZtaThYX2Rka18tYkF2V2I1VmxTSi1XT2FjUlZKYVhCRzJkOGt2dG96RGJRY0pWeWNSb3pOVDNtZmZyRzVwVE43c3lMVHR2MXBnQnZuWTEwRVZOSndWX1BtRFlTQTBRT0EydkN2SnBLaTNJN2k0dDNINl8yb3I1QW81dU1FbEdfd01oem4yVFZIaENYVTRJaGFXQ3F0dDVxOTVTZklydTZoRTlNaz1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkludmVzdGlnYXRpbmcgcW1ha2UgcGFja2FnZSBzZXBhcmF0aW9uKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0gydDB2R0ZaUHRKOTRWZkxkbnZlbjFTaXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU3ODQyMDg4MTkxOWE2ZDhjZDMyMzc4YmUwOSIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJhcHQtY2FjaGUgc2VhcmNoICdxbWFrZScgfCBoZWFkIC0zMDsgcnBtIC1xYSB8IGdyZXAgJ15xdDUnIHwgc29ydCB8IGhlYWQgLTMwIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyOTcsIm91dHB1dCI6NzksImNhY2hlUmVhZCI6OTg4MTYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MzMsInRvdGFsVG9rZW5zIjo5OTE5MiwiY29zdCI6eyJpbnB1dCI6MC4wMDE0ODUwMDAwMDAwMDAwMDAyLCJvdXRwdXQiOjAuMDAyMzcsImNhY2hlUmVhZCI6MC4wNDk0MDgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA1MzI2M319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTQ0NDQxNCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlNzRjNDNjODE5MTkwYjVkM2FjZWQxOTc4ZmEifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMWJiZWFkNTEiLCJwYXJlbnRJZCI6Ijk3MDIxZTZjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDoxMy44NzVaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0gydDB2R0ZaUHRKOTRWZkxkbnZlbjFTaXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU3ODQyMDg4MTkxOWE2ZDhjZDMyMzc4YmUwOSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6InFicyAtIE1vZGVybiBidWlsZCB0b29sIGZvciBzb2Z0d2FyZSBwcm9qZWN0c1xuaTU4Ni1xYnMgLSBNb2Rlcm4gYnVpbGQgdG9vbCBmb3Igc29mdHdhcmUgcHJvamVjdHNcbmRlYmhlbHBlciAtIFRvb2xzIGZvciBEZWJpYW4gUGFja2FnZXNcbnBlcmwtUlBNLVNvdXJjZS1EZXBlbmRlbmN5LUFuYWx5emVyIC0gUGVybCBsaWJyYXJ5IGZvciBmaW5kaW5nIGJ1aWxkIGRlcGVuZGVuY2llcyBmcm9tIHNvZnR3YXJlIHNvdXJjZXNcbnB5dGhvbjMtbW9kdWxlLVB5UXQtYnVpbGRlciAtIFRoZSBQRVAgNTE3IGNvbXBsaWFudCBQeVF0IGJ1aWxkIHN5c3RlbVxucHl0aG9uMy1tb2R1bGUtYmVhcnR5cGUgLSBVbmJlYXJhYmx5IGZhc3QgbmVhci1yZWFsLXRpbWUgaHlicmlkIHJ1bnRpbWUtc3RhdGljIHR5cGUtY2hlY2tpbmcgaW4gcHVyZSBQeXRob25cbnF0NS1iYXNlLWNvbW1vbi01LjE1LjE4LWFsdDEueDg2XzY0XG5xdDUtYmFzZS1kZXZlbC01LjE1LjE4LWFsdDEueDg2XzY0XG5xdDUtZGVjbGFyYXRpdmUtY29tbW9uLTUuMTUuMTgtYWx0MS54ODZfNjRcbnF0NS1kZWNsYXJhdGl2ZS1kZXZlbC01LjE1LjE4LWFsdDEueDg2XzY0XG5xdDUtcXVpY2tjb250cm9sczItNS4xNS4xOC1hbHQxLng4Nl82NFxucXQ1LXF1aWNrY29udHJvbHMyLWNvbW1vbi01LjE1LjE4LWFsdDEubm9hcmNoXG5xdDUtcXVpY2tjb250cm9sczItZGV2ZWwtNS4xNS4xOC1hbHQxLng4Nl82NFxucXQ1LXF1aWNrY29udHJvbHMtNS4xNS4xOC1hbHQxLng4Nl82NFxucXQ1LXN2Zy1jb21tb24tNS4xNS4xOC1hbHQxLm5vYXJjaFxucXQ1LXRyYW5zbGF0aW9ucy01LjE1LjE4LWFsdDEubm9hcmNoXG5xdDUtdmlydHVhbGtleWJvYXJkLTUuMTUuMTgtYWx0MS54ODZfNjRcbnF0NS12aXJ0dWFsa2V5Ym9hcmQtY29tbW9uLTUuMTUuMTgtYWx0MS5ub2FyY2hcbnF0NS13YXlsYW5kLWNvbW1vbi01LjE1LjE4LWFsdDEubm9hcmNoXG5xdDUteDExZXh0cmFzLWNvbW1vbi01LjE1LjE4LWFsdDEubm9hcmNoXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTU0NTM4NzV9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJlNzQ2NzlhYiIsInBhcmVudElkIjoiMWJiZWFkNTEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA0OjEzLjg3NloiLCJtZXNzYWdlIjp7InJvbGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiaSBuZWVkIHlvdSB0byB3cml0ZSBpdCBpbiBxdDYifV0sInRpbWVzdGFtcCI6MTc4NDk5NTQ0NzMzMH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjRmOGIxODBiIiwicGFyZW50SWQiOiJlNzQ2NzlhYiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDQ6MjUuNjExWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipBc3Nlc3NpbmcgUXQ2IHN1cHBvcnQgaW4gY3h4LXF0KioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU4MjdiODQ4MTkxOGUyNzc1NTE0NzY4MzY4ZlwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjZKZGxpWm9pOEJkUTYwQkhxMDcwY0V0bDZRR3BEdW16d2FuNllpdnVHNXltZFpyWGFGb0NJY04yNkJ4ZVljUWtmS0otNkV0TDJNYzRnR2RFWFhUSnVWVTczR3B1SFRGcE9meEVuVktxUmpkRjdBQTN1OUlDNjZwS1FyNTN1UWM1c3ZldjdOSEFvQWFKNmtEZkI3cnl2Y1ZycThpRGlmRDdpMTh5aW5GZUZfczlfOFRmaXV5ZnpIYzBDUi0yUFZJd3U5M3JPNktndjQzWmt5bUhLUVFha3ZsZkxUU3Y0enU5My1EUWQtcmg4Y0h4dTY4UWRFdmVCOC1lRE5mQkJfa3hSOVhTZlB6X2N3NTVaU2tfTzRzUVAtWkJsOFU1UUl3WUE0OXhTSDZvd0U0NXhhdU1iWTdFZVRjQlhLcGJKdk1DSlBMRXVjTFJXc2duajdLV2dEVjVpVWxKRFh2bUdnSjFhcHRybl81THI3eVRTdXhjQ0dRMVdFaUZoRV81S0xWMWxoczdKODA2a092NVVDcnZHSG43OVFIUmgwQW9EUktibTVadlNBblA2UXhjaDVqdnVhMXIxd3lwU3g3Mkhta2pYbXlQR0Q0N1h0YU84cFV0WmcwaEgyS1hkcnRGLXFydnVkcjJyeU5SU25ZRjZYZER2WW5aR0EtTHZmYUJnMDVIMVNGZC16LVZGLUIxakYySEZMUWVaVHg3enF3dzdBNUZtTGdtWlcwNkIydmx4N1ZDNTlMY0lzY3NfR0dlMUtlWVVnWmVhV2JGNGpldEVPQkNTanZ0Z2c3bThLRTA4ME55TnNXUlVhN2swbzR2Z3c1b1c0X0NMWTBLbHExdHdTZmNpcmRtUXVMRTIzZ2w2czItb0JYVkJTRXIzdXJrUmFmcHJkZFBLbzVZZl9xSXBBRU00MksxVWppZXVQQkRrTE01WU1yV05NX25OQkhOcUtpSm9leWd1Y2M3WDdsQ1dKUjhfc2Eycmd1OUx0QTQ2cy1tNW9FZkkzdlFKMXloNnhfWjB3WjVrVzE0Wm9YSm45WC15UXNhNGpyNDc4cnBhbXd0Uzl6azlXUnFDUkcyZXppY1p4RUhVNDh3RVpPWVI4NS1LZEk3ZXpMUk1EY3FOUUJYbF9Da1Z4blR2bk9xbjR3aE8zWlpGTkg2Vm96RlVfcGdKVHloVm9JbTVjb0xEbTZaLUpLY0w4WEFrbWJZUGtaOEFnNlo1ek1Lb0ZaYnlnc05rSDRYNVY3dXl0N2Rld2JWOEZsUVQxOGd2QXZCOXVhMlhteGZRLXpqX0Q1TTk5T2hwRXBqRm5jRmpwa21ZVkF4WnFESTJPMnZ2Vks5WkMtd01mdXdzVFpnZFpCRHFDUmYwa0lncFRlVVA1RHhDUTFMSFZMd0lwdkhZcGdvR1BwSEJicFVjUHJiOEhESXM3eUM0Tlc1VXVueDNmeTV6RVVidHpWSllHMkpITXRsREtZV3VhZ3FyV0t1RW9NY3NvaGpGTzQwTGw1Wm1SUGVwdGpnUUR3Vld5VUhyRW9ZbFMtTXd6bUVLY19lTG9JR0ZKRzFMMkNhWHVKUElfanBqZlBkWS1aM010QlVsZVkzb1FwSXlVZG83Qi0yUnJjZGliUERqM2loczhUUXdOcF9uR2ZqNnJrY2hOd3ZjSndMT29WRUs4Q05wTHdsWnYwZmNWVGJGZ0JILU54MHd4V1JxVzRUclFINmhQaG9yNWNQVWtLV2c5Tml3eXpVZnV1LXNLc0JRU1ZyeF9SS29ZZVFoR2RVeElfc2hUcTJ6T2lVaUZKandYbXhIVGZGcUJVYXdvLWFHb0lwVkY4ZkhMSUZKUnNMTGRvNFRwOEhMT09Ndk9lbk02QW5YZTlNXzRMN0R1V2hadmxFYl8xd2xvYXdyamFmWVQ1Sm9DSXc9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqQXNzZXNzaW5nIFF0NiBzdXBwb3J0IGluIGN4eC1xdCoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF8wU2ZKQUlMNGp1Q1NxTUFTdmh3Rk5tOG18ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlODk1ZTk0ODE5MTk1NmU1YjZiYzU5ZDkyNzUiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiY2FyZ28gaW5mbyBjeHgtcXQtbGliIDI+L2Rldi9udWxsIHwgaGVhZCAtMTAwOyBjYXJnbyBpbmZvIGN4eC1xdCAyPi9kZXYvbnVsbCB8IGhlYWQgLTcwOyBjYXJnbyBzZWFyY2ggcXQ2IC0tbGltaXQgMjAiLCJ0aW1lb3V0IjoxMjB9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9hOHJsS045TEpzSXQ2RU4yZHdpdUpydWl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlODk1ZWE4ODE5MWJkNGEyZTBhOWQ4MmRiNDkiLCJuYW1lIjoid2ViX3NlYXJjaCIsImFyZ3VtZW50cyI6eyJxdWVyeSI6IlJ1c3QgUXQ2IFdpZGdldHMgYmluZGluZ3MgY3JhdGUgbm8gQysrIGN4eC1xdCBRQXBwbGljYXRpb24gUVdpZGdldCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF8yQVdvbml6dExudFRwUXIzek9McktkNWh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlODk1ZWI0ODE5MTlkNzBiYWY4ZmRhMDc0NTUiLCJuYW1lIjoid2ViX3NlYXJjaCIsImFyZ3VtZW50cyI6eyJxdWVyeSI6IlJ1c3QgUXQ2IGJpbmRpbmdzIHF0X3dpZGdldHMgcml0dWFsIFF0NiBzdXBwb3J0In19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo3MzgsIm91dHB1dCI6MjI3LCJjYWNoZVJlYWQiOjk4ODE2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjk2LCJ0b3RhbFRva2VucyI6OTk3ODEsImNvc3QiOnsiaW5wdXQiOjAuMDAzNjksIm91dHB1dCI6MC4wMDY4MSwiY2FjaGVSZWFkIjowLjA0OTQwOCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDU5OTA4fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1NDUzODc4LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU4MDk2NTg4MTkxYWNjNWU5Y2Q5ZTEwNGEzZSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJlMWRjNzU0ZSIsInBhcmVudElkIjoiNGY4YjE4MGIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA0OjM1LjA3OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfMFNmSkFJTDRqdUNTcU1BU3Zod0ZObThtfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTg5NWU5NDgxOTE5NTZlNWI2YmM1OWQ5Mjc1IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiY3h4LXF0LWxpYlxuUXQgdHlwZXMgZm9yIGludGVncmF0aW5nIGBjeHgtcXRgIGNyYXRlIHdpdGggYGN4eGBcbnZlcnNpb246IDAuOS4xXG5saWNlbnNlOiBNSVQgT1IgQXBhY2hlLTIuMFxucnVzdC12ZXJzaW9uOiAxLjg1LjBcbmRvY3VtZW50YXRpb246IGh0dHBzOi8vZG9jcy5ycy9jeHgtcXQtbGliLzAuOS4xXG5yZXBvc2l0b3J5OiBodHRwczovL2dpdGh1Yi5jb20vS0RBQi9jeHgtcXQvXG5jcmF0ZXMuaW86IGh0dHBzOi8vY3JhdGVzLmlvL2NyYXRlcy9jeHgtcXQtbGliLzAuOS4xXG5mZWF0dXJlczpcbiArZGVmYXVsdCAgICAgICAgICAgICAgPSBbXVxuICBieXRlcyAgICAgICAgICAgICAgICA9IFtkZXA6Ynl0ZXNdXG4gIGNocm9ubyAgICAgICAgICAgICAgID0gW2RlcDpjaHJvbm9dXG4gIGZ1bGwgICAgICAgICAgICAgICAgID0gW3F0X2Z1bGwsIHNlcmRlLCB1cmwsIHV1aWQsIHRpbWUsIHJnYiwgaHR0cCwgY2hyb25vLCBieXRlcywgaW1hZ2UtdjAtMjQsIGltYWdlLXYwLTI1XVxuICBodHRwICAgICAgICAgICAgICAgICA9IFtkZXA6aHR0cF1cbiAgaW1hZ2UtdjAtMjQgICAgICAgICAgPSBbZGVwOmltYWdlLXYwLTI0XVxuICBpbWFnZS12MC0yNSAgICAgICAgICA9IFtkZXA6aW1hZ2UtdjAtMjVdXG4gIGxpbmtfcXRfb2JqZWN0X2ZpbGVzID0gW2N4eC1xdC1idWlsZC9saW5rX3F0X29iamVjdF9maWxlc11cbiAgcXRfZnVsbCAgICAgICAgICAgICAgPSBbcXRfZ3VpLCBxdF9xbWwsIHF0X3F1aWNrY29udHJvbHNdXG4gIHF0X2d1aSAgICAgICAgICAgICAgID0gW11cbiAgcXRfcW1sICAgICAgICAgICAgICAgPSBbXVxuICBxdF9xdWlja2NvbnRyb2xzICAgICA9IFtdXG4gIHJnYiAgICAgICAgICAgICAgICAgID0gW2RlcDpyZ2JdXG4gIHNlcmRlICAgICAgICAgICAgICAgID0gW2RlcDpzZXJkZV1cbiAgdGltZSAgICAgICAgICAgICAgICAgPSBbZGVwOnRpbWVdXG4gIHVybCAgICAgICAgICAgICAgICAgID0gW2RlcDp1cmxdXG4gIHV1aWQgICAgICAgICAgICAgICAgID0gW2RlcDp1dWlkXVxuY3h4LXF0ICNjeHggI2ZmaSAjUU1MICNRdFxuU2FmZSBpbnRlcm9wIGJldHdlZW4gUnVzdCBhbmQgUXRcbnZlcnNpb246IDAuOS4xXG5saWNlbnNlOiBNSVQgT1IgQXBhY2hlLTIuMFxucnVzdC12ZXJzaW9uOiAxLjg1LjBcbmRvY3VtZW50YXRpb246IGh0dHBzOi8vZG9jcy5ycy9jeHgtcXQvMC45LjFcbmhvbWVwYWdlOiBodHRwczovL2tkYWIuZ2l0aHViLmlvL2N4eC1xdC9ib29rL1xucmVwb3NpdG9yeTogaHR0cHM6Ly9naXRodWIuY29tL0tEQUIvY3h4LXF0L1xuY3JhdGVzLmlvOiBodHRwczovL2NyYXRlcy5pby9jcmF0ZXMvY3h4LXF0LzAuOS4xXG5xdHJzID0gXCIwLjQuMlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHF0cnMgLSBBIHR5cGUtc2FmZSwgYnVpbGRlci1wYXR0ZXJuLWRyaXZlbiBRdDYgR1VJIGxpYnJhcnkgZm9yIFJ1c3RcbmNtYWtlLWZtdCA9IFwiMC4xMC4yXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRmFzdCBDTWFrZSBmb3JtYXR0ZXIgd2l0aCBncmFtbWFyLWF3YXJlIGxpbmUgd3JhcHBpbmdcbnF0YnJpZGdlID0gXCIwLjIuMFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTWV0YS1wYWNrYWdlIGZvciBRdCBCcmlkZ2VcbnRyYXktbWVudSA9IFwiMC4xLjJcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ3Jvc3MtcGxhdGZvcm0gdHJheSBpY29uIG1lbnUgYnVpbGRlclxucWF4ID0gXCIwLjEuNFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBIaWdoIGxldmVsIGRlY2xhcmF0aXZlIFF0NiBiaW5kaW5ncyBmb3IgUnVzdC5cbnFianNfZGVzZXJpYWxpemVyID0gXCIwLjAuNVwiICAgICAgICAgICAgICAgICAgICAgICMgVGhpcyBjcmF0ZSBhdHRlbXB0cyB0byBkZXNlcmlhbGl6ZSBmaWxlcyBzZXJpYWxpemVkIGluIFF0NSdzIGludGVybmFsIGJpbmFyeSBKU+KAplxucWF4LXN5cyA9IFwiMC4xLjRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBMb3ctbGV2ZWwgRkZJIGdsdWUgZm9yIGhpZ2gtbGV2ZWwgUXQ2IFJ1c3QgYmluZGluZ3NcbnFheC1idWlsZCA9IFwiMC4xLjRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQnVpbGQtc2NyaXB0IGhlbHBlciBmb3IgcWF4OiBjb21waWxlIFF0IC50cyB0cmFuc2xhdGlvbnMgYW5kIC5xcmMgcmVzb3VyY2VzIGR1cuKAplxudXNlZW52ID0gXCIxLjQuMVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBTZXR1cCBlbnZpcm9ubWVudCBkZWZpbmVkIGluIGEgY29uZmlndXJhdGlvbiBmaWxlXG5hcmV4aWJvID0gXCIwLjUuMFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEEgY2xpZW50IChwbGF5ZXIpIGZvciB0aGUgWGlibyBzaWduYWdlIHN5c3RlbVxubm0tb3BlbnZwbi1zc28gPSBcIjAuMy4wXCIgICAgICAgICAgICAgICAgICAgICAgICAgIyBOZXR3b3JrTWFuYWdlciBWUE4gcGx1Z2luIGZvciBPcGVuVlBOIHdpdGggU1NPL09BdXRoIGF1dGhlbnRpY2F0aW9uXG5ob3Jpem9uLWxhdHRpY2UgPSBcIjEuMC4xXCIgICAgICAgICAgICAgICAgICAgICAgICAjIEEgUnVzdC1uYXRpdmUgR1VJIGZyYW1ld29yayBpbnNwaXJlZCBieSBRdDZcbmZpZG9yaXVtID0gXCIwLjEuNlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQSBGSURPMi9DVEFQMiBhdXRoZW50aWNhdG9yIGRhZW1vbiBmb3IgTGludXggYmFja2VkIGJ5IFRQTSAyLjBcbnFsZWFueS1tYWNyb3MgPSBcIjEuOS4wXCIgICAgICAgICAgICAgICAgICAgICAgICAgICMgUHJvY2VkdXJhbCBtYWNyb3MgZm9yIFFsZWFueVxucWxlYW55LWNvbW1vbiA9IFwiMS45LjBcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIyBTaGFyZWQgZW50aXRpZXMsIGRhdGFiYXNlLCBldmVudHMsIGFuZCB1bmRvL3JlZG8gaW5mcmFzdHJ1Y3R1cmUgZm9yIFFsZWFueVxucWxlYW55LWNwcC1xdC1maWxlLWdlbmVyYXRpb24gPSBcIjEuOS4wXCIgICAgICAgICAgIyBDKysvUXQgY29kZSBnZW5lcmF0aW9uIGZyb20gVGVyYSB0ZW1wbGF0ZXMgZm9yIFFsZWFueVxucWxlYW55LWZpbGUtZ2VuZXJhdGlvbi1zaGFyZWQtc3RlcHMgPSBcIjEuOS4wXCIgICAgIyBTaGFyZWQgZmlsZSBnZW5lcmF0aW9uIHV0aWxpdGllcyBmb3IgUWxlYW55XG5xbGVhbnktZGlyZWN0LWFjY2VzcyA9IFwiMS45LjBcIiAgICAgICAgICAgICAgICAgICAjIEVudGl0eSBDUlVEIGFjY2VzcyBmb3IgUWxlYW55XG5xbGVhbnktaGFuZGxpbmctbWFuaWZlc3QgPSBcIjEuOS4wXCIgICAgICAgICAgICAgICAjIFlBTUwgbWFuaWZlc3QgbG9hZGluZywgc2F2aW5nLCBhbmQgdmFsaWRhdGlvbiBmb3IgUWxlYW55XG5xbGVhbnktaGFuZGxpbmctYXBwLWxpZmVjeWNsZSA9IFwiMS45LjBcIiAgICAgICAgICAjIEFwcGxpY2F0aW9uIGluaXRpYWxpemF0aW9uIGFuZCBjbGVhbnVwIGZvciBRbGVhbnlcbi4uLiBhbmQgNSBjcmF0ZXMgbW9yZSAodXNlIC0tbGltaXQgTiB0byBzZWUgbW9yZSlcbm5vdGU6IHRvIGxlYXJuIG1vcmUgYWJvdXQgYSBwYWNrYWdlLCBydW4gYGNhcmdvIGluZm8gPG5hbWU+YFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NDc1MDc4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNTQ4MWI3ZmMiLCJwYXJlbnRJZCI6ImUxZGM3NTRlIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDozNS4wNzhaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2E4cmxLTjlMSnNJdDZFTjJkd2l1SnJ1aXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU4OTVlYTg4MTkxYmQ0YTJlMGE5ZDgyZGI0OSIsInRvb2xOYW1lIjoid2ViX3NlYXJjaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IjEuIEdpdEh1YiAtIEtEQUIvY3h4LXF0OiBTYWZlIGludGVyb3AgYmV0d2VlbiBSdXN0IGFuZCBRdFxuaHR0cHM6Ly9naXRodWIuY29tL0tEQUIvY3h4LXF0XG5cbjIuIEdldHRpbmcgU3RhcnRlZCAtIENYWC1RdCBEb2N1bWVudGF0aW9uIC0gR2l0SHViIFBhZ2VzXG5odHRwczovL2tkYWIuZ2l0aHViLmlvL2N4eC1xdC9ib29rL2dldHRpbmctc3RhcnRlZC9pbmRleC5odG1sXG5cbjMuIEludHJvZHVjdGlvbiAtIENYWC1RdCBEb2N1bWVudGF0aW9uIC0gR2l0SHViIFBhZ2VzXG5odHRwczovL2tkYWIuZ2l0aHViLmlvL2N4eC1xdC9ib29rL1xuXG40LiBjeHgtcXQtbGliIOKAlCBzeXN0ZW0gbGlicmFyeSBpbnRlcmZhY2UgZm9yIFJ1c3QgLy8gTGliLnJzXG5odHRwczovL2xpYi5ycy9jcmF0ZXMvY3h4LXF0LWxpYlxuXG41LiBjeHgtcXQvUkVBRE1FLm1kIGF0IG1haW4gwrcgS0RBQi9jeHgtcXQgwrcgR2l0SHViXG5odHRwczovL2dpdGh1Yi5jb20vS0RBQi9jeHgtcXQvYmxvYi9tYWluL1JFQURNRS5tZCJ9XSwiZGV0YWlscyI6eyJyZXN1bHRzIjpbeyJ0aXRsZSI6IkdpdEh1YiAtIEtEQUIvY3h4LXF0OiBTYWZlIGludGVyb3AgYmV0d2VlbiBSdXN0IGFuZCBRdCIsInVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9LREFCL2N4eC1xdCIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiR2V0dGluZyBTdGFydGVkIC0gQ1hYLVF0IERvY3VtZW50YXRpb24gLSBHaXRIdWIgUGFnZXMiLCJ1cmwiOiJodHRwczovL2tkYWIuZ2l0aHViLmlvL2N4eC1xdC9ib29rL2dldHRpbmctc3RhcnRlZC9pbmRleC5odG1sIiwic25pcHBldCI6IiJ9LHsidGl0bGUiOiJJbnRyb2R1Y3Rpb24gLSBDWFgtUXQgRG9jdW1lbnRhdGlvbiAtIEdpdEh1YiBQYWdlcyIsInVybCI6Imh0dHBzOi8va2RhYi5naXRodWIuaW8vY3h4LXF0L2Jvb2svIiwic25pcHBldCI6IiJ9LHsidGl0bGUiOiJjeHgtcXQtbGliIOKAlCBzeXN0ZW0gbGlicmFyeSBpbnRlcmZhY2UgZm9yIFJ1c3QgLy8gTGliLnJzIiwidXJsIjoiaHR0cHM6Ly9saWIucnMvY3JhdGVzL2N4eC1xdC1saWIiLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6ImN4eC1xdC9SRUFETUUubWQgYXQgbWFpbiDCtyBLREFCL2N4eC1xdCDCtyBHaXRIdWIiLCJ1cmwiOiJodHRwczovL2dpdGh1Yi5jb20vS0RBQi9jeHgtcXQvYmxvYi9tYWluL1JFQURNRS5tZCIsInNuaXBwZXQiOiIifV19LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NDc1MDc4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZmVmNmJkOTkiLCJwYXJlbnRJZCI6IjU0ODFiN2ZjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDozNS4wNzhaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzJBV29uaXp0TG50VHBRcjN6T0xyS2Q1aHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU4OTVlYjQ4MTkxOWQ3MGJhZjhmZGEwNzQ1NSIsInRvb2xOYW1lIjoid2ViX3NlYXJjaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IjEuIFJpdHVhbCAtIFJpdHVhbFxuaHR0cHM6Ly9ydXN0LXF0LmdpdGh1Yi5pby9cblxuMi4gR2l0SHViIC0gcnVzdC1xdC9yaXR1YWw6IFVzZSBDKysgbGlicmFyaWVzIGZyb20gUnVzdCDCtyBHaXRIdWJcbmh0dHBzOi8vZ2l0aHViLmNvbS9ydXN0LXF0L3JpdHVhbFxuXG4zLiBHZXR0aW5nIHN0YXJ0ZWQgLSBSaXR1YWxcbmh0dHBzOi8vcnVzdC1xdC5naXRodWIuaW8vcXQvZ2V0dGluZ19zdGFydGVkL1xuXG40LiByaXR1YWw6IEMrKyBsaWJyYXJ5IGJpbmRpbmdzIGZvciBSdXN0IC0gbnVtZmVyLmNvbVxuaHR0cHM6Ly9udW1mZXIuY29tL3J1c3QtcXQvcml0dWFsXG5cbjUuIFJ1c3QtUXQgwrcgR2l0SHViXG5odHRwczovL2dpdGh1Yi5jb20vcnVzdC1xdCJ9XSwiZGV0YWlscyI6eyJyZXN1bHRzIjpbeyJ0aXRsZSI6IlJpdHVhbCAtIFJpdHVhbCIsInVybCI6Imh0dHBzOi8vcnVzdC1xdC5naXRodWIuaW8vIiwic25pcHBldCI6IiJ9LHsidGl0bGUiOiJHaXRIdWIgLSBydXN0LXF0L3JpdHVhbDogVXNlIEMrKyBsaWJyYXJpZXMgZnJvbSBSdXN0IMK3IEdpdEh1YiIsInVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9ydXN0LXF0L3JpdHVhbCIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiR2V0dGluZyBzdGFydGVkIC0gUml0dWFsIiwidXJsIjoiaHR0cHM6Ly9ydXN0LXF0LmdpdGh1Yi5pby9xdC9nZXR0aW5nX3N0YXJ0ZWQvIiwic25pcHBldCI6IiJ9LHsidGl0bGUiOiJyaXR1YWw6IEMrKyBsaWJyYXJ5IGJpbmRpbmdzIGZvciBSdXN0IC0gbnVtZmVyLmNvbSIsInVybCI6Imh0dHBzOi8vbnVtZmVyLmNvbS9ydXN0LXF0L3JpdHVhbCIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiUnVzdC1RdCDCtyBHaXRIdWIiLCJ1cmwiOiJodHRwczovL2dpdGh1Yi5jb20vcnVzdC1xdCIsInNuaXBwZXQiOiIifV19LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NDc1MDc4fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZDIwZjZmMzkiLCJwYXJlbnRJZCI6ImZlZjZiZDk5IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDo0MS4wNDRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU5NmI3NDg4MTkxYjNlMjBhMTAyMGRlNTExZFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjZZanpWRlNYbHI3b250SDJTYUV4YVYxUmp6aE1kSXdQVXRYTmVJekFrMkQ0ci1DMUlPbFlpQ1ptTlF3dGI1TVB4eW1BMWd5NzRNMDFlVUJIcnc4ekwwYjNBRGh2aXpjc3pqdWZHUzdoWVF3Tjk3SnVTUl8tODJKZ1g1ZkZXbzY3X2Q4RDVPT0FDU1BQUDlLcUZ1NkY1MFZTNHVvc0NZZEdrLU5EaUd4UWFEOGw2UXRPVnd5OVcxaFEydkxIRVQtUFNhbTN0ck02R3drUVNLTlFLcGVTNXk4WWNIOE8teTNjVWxIc2lBVWNYSklOaUd5WTMybndKZzI2YzFiQlA3QUJISk50SmZPVjZCVlF1b3ZkUmFXVS11UG5OcHdqSDJGN1UzamFPTW5NMVBQVThZSm5UZi14UXNPNFNYUzBRVndZSG1WTTVPWWFSOGpJQjhHZzROeFl3WEhVeFMwQTBydmRsSHRCQmZDRURhY0FfZWRWUVFfclJjMVUxVzFvV25hSmMxU1RIWVZ2ZnJIX09vaFN0VjdOb0VxbTdOOTNEcHFYZGhTWVZZZVZkaDh1elpNM1FWVEJXbFRtS280amJmVDdrWUYwdnU5ODhnWExwRWQwZ0RERndudVdMQTdFQTdiOHpkTVNaNjN1NmJTU0hJbWMzVW5PLUw2NXBvdGdseDNYa2VxeldSNms5cVhMVnZfc3drUXYyaU5JcGIxZHRvdlotTkVGby1PRXpvSkVKam9na3FnVXlBYkxPd3poN0dFVmVKX2ZiLVBxMFlNMVdkamhxMDlQSTJMSXQ4YXFueEkwTnlVUWxHWGh2MmZJV1d5MTZuVUN2MFdabmlQLUZUVDdUT0VndDctOV85bFJUMTRnOFpRdjFSSHRHRzNRYjd0MTBJWGJhcG04cE1aR01pRUtWc3BNTURxR1FxTVAyVkRZcHhFODhrVklRa2VYODdZRDFWU2RVNTB1NURoM3Z6YzFLX1BqOFUzcnYwUlRsRkstTFlNRHM1TDJ5cGw0bFBFX0Uxc1VjQXhfdndLZnZWVnBYZktQSkx1N0dpcDVGV1o3WjNhNE04dnQzNW8wTjJzNFRaSEptenNGQUNOYkRvYnlIbkk4S01jMFBtdGJuSm9JVWN3Q2Q1WHZjdUdBcU9UQ3ltWHg2UXhHdkVXNks0V0tyTDUzQUViOGxxY1BNTlRxRllFMEJQcjhSbTJGMmJBZDJPREptU3JtQzFQdy1VaUJlRlZrM1ZPZjJwWGU4M2Mxb25pNHd6NW41VXNwYXpVekNaXCIsXCJzdW1tYXJ5XCI6W119In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfRVFHVFBZcXNnaldxampvZ3lHdVV3UTVQfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTk4ZDVkYzgxOTE5Y2I4ODcxMDJmNWNkMGM1IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGluZm8gcXRycyAyPi9kZXYvbnVsbCB8IGhlYWQgLTEwMDsgY2FyZ28gaW5mbyBxYXggMj4vZGV2L251bGwgfCBoZWFkIC0xMDAiLCJ0aW1lb3V0IjoxMjB9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF8zc3ZjR2Y0bVo0Um1YclQwN2dBeEpkdXp8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlOThkNWYwODE5MWI4ZWVlMzI5MDJjNmRkYjQiLCJuYW1lIjoid2ViX3NlYXJjaCIsImFyZ3VtZW50cyI6eyJxdWVyeSI6InF0cnMgUnVzdCBRdDYgR1VJIGV4YW1wbGVzIGdpdGh1YiJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9GaGd5Smt5UFBSdEx0UUpPVW43V0t6Sm18ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlOThkNWY4ODE5MWFhMWFhOGMwZjA4Yzc3MTciLCJuYW1lIjoid2ViX3NlYXJjaCIsImFyZ3VtZW50cyI6eyJxdWVyeSI6InFheCBSdXN0IFF0NiB3aWRnZXRzIGV4YW1wbGVzIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyMjUzLCJvdXRwdXQiOjExNywiY2FjaGVSZWFkIjo5ODgxNiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxMCwidG90YWxUb2tlbnMiOjEwMTE4NiwiY29zdCI6eyJpbnB1dCI6MC4wMTEyNjUsIm91dHB1dCI6MC4wMDM1MSwiY2FjaGVSZWFkIjowLjA0OTQwOCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDY0MTgzfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1NDc1MDgxLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU5M2FmMmM4MTkxODJlZDI5ZjNiZjA5ZGQxYSJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxMGQzMDQ3MyIsInBhcmVudElkIjoiZDIwZjZmMzkiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA0OjQ5LjQ2MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfRVFHVFBZcXNnaldxampvZ3lHdVV3UTVQfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZTk4ZDVkYzgxOTE5Y2I4ODcxMDJmNWNkMGM1IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoicXRycyAjcXQgI2d1aSAjcXQ2ICN3aWRnZXRzICNjeHhcbnF0cnMgLSBBIHR5cGUtc2FmZSwgYnVpbGRlci1wYXR0ZXJuLWRyaXZlbiBRdDYgR1VJIGxpYnJhcnkgZm9yIFJ1c3RcbnZlcnNpb246IDAuNC4yXG5saWNlbnNlOiBNSVQgT1IgQXBhY2hlLTIuMFxucnVzdC12ZXJzaW9uOiB1bmtub3duXG5kb2N1bWVudGF0aW9uOiBodHRwczovL2RvY3MucnMvcXRycy8wLjQuMlxucmVwb3NpdG9yeTogaHR0cHM6Ly9naXRodWIuY29tL3poYW5naGFveHZhbi9xdHJzXG5jcmF0ZXMuaW86IGh0dHBzOi8vY3JhdGVzLmlvL2NyYXRlcy9xdHJzLzAuNC4yXG5xYXggI2d1aSAjcXQgI3VpXG5IaWdoIGxldmVsIGRlY2xhcmF0aXZlIFF0NiBiaW5kaW5ncyBmb3IgUnVzdC5cbnZlcnNpb246IDAuMS40XG5saWNlbnNlOiBNSVQgT1IgQXBhY2hlLTIuMFxucnVzdC12ZXJzaW9uOiB1bmtub3duXG5kb2N1bWVudGF0aW9uOiBodHRwczovL2RvY3MucnMvcWF4LzAuMS40XG5yZXBvc2l0b3J5OiBodHRwczovL2dpdGh1Yi5jb20vbW9uc2xlci1zb2Z0d2FyZS9xYXhcbmNyYXRlcy5pbzogaHR0cHM6Ly9jcmF0ZXMuaW8vY3JhdGVzL3FheC8wLjEuNFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NDg5NDYwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNjNkZmQxMzkiLCJwYXJlbnRJZCI6IjEwZDMwNDczIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDo0OS40NjBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzNzdmNHZjRtWjRSbVhyVDA3Z0F4SmR1enxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU5OGQ1ZjA4MTkxYjhlZWUzMjkwMmM2ZGRiNCIsInRvb2xOYW1lIjoid2ViX3NlYXJjaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IjEuIHF0cnMg4oCUIFJ1c3Qtc3R5bGUgUXQ2IGJpbmRpbmdzIC0gR2l0SHViXG5odHRwczovL2dpdGh1Yi5jb20vemhhbmdoYW94dmFuL3F0cnNcblxuMi4gR2l0SHViIC0gS0RBQi9jeHgtcXQ6IFNhZmUgaW50ZXJvcCBiZXR3ZWVuIFJ1c3QgYW5kIFF0XG5odHRwczovL2dpdGh1Yi5jb20vS0RBQi9jeHgtcXRcblxuMy4gTGFuZ3VhZ2UgQmluZGluZ3MgLSBRdCBXaWtpXG5odHRwczovL3dpa2kucXQuaW8vTGFuZ3VhZ2VfQmluZGluZ3NcblxuNC4gQnVpbGQgYSBkZXNrdG9wIGFwcCB3aXRoIFF0IGFuZCBSdXN0IC0gREVWIENvbW11bml0eVxuaHR0cHM6Ly9kZXYudG8vbG9ncm9ja2V0L2J1aWxkLWEtZGVza3RvcC1hcHAtd2l0aC1xdC1hbmQtcnVzdC0xY2ZpXG5cbjUuIFJ1c3QgcXQ2IFByb2plY3RzIHwgTGliSHVudFxuaHR0cHM6Ly93d3cubGliaHVudC5jb20vbC9ydXN0L3RvcGljL3F0NiJ9XSwiZGV0YWlscyI6eyJyZXN1bHRzIjpbeyJ0aXRsZSI6InF0cnMg4oCUIFJ1c3Qtc3R5bGUgUXQ2IGJpbmRpbmdzIC0gR2l0SHViIiwidXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3poYW5naGFveHZhbi9xdHJzIiwic25pcHBldCI6IiJ9LHsidGl0bGUiOiJHaXRIdWIgLSBLREFCL2N4eC1xdDogU2FmZSBpbnRlcm9wIGJldHdlZW4gUnVzdCBhbmQgUXQiLCJ1cmwiOiJodHRwczovL2dpdGh1Yi5jb20vS0RBQi9jeHgtcXQiLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6Ikxhbmd1YWdlIEJpbmRpbmdzIC0gUXQgV2lraSIsInVybCI6Imh0dHBzOi8vd2lraS5xdC5pby9MYW5ndWFnZV9CaW5kaW5ncyIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiQnVpbGQgYSBkZXNrdG9wIGFwcCB3aXRoIFF0IGFuZCBSdXN0IC0gREVWIENvbW11bml0eSIsInVybCI6Imh0dHBzOi8vZGV2LnRvL2xvZ3JvY2tldC9idWlsZC1hLWRlc2t0b3AtYXBwLXdpdGgtcXQtYW5kLXJ1c3QtMWNmaSIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiUnVzdCBxdDYgUHJvamVjdHMgfCBMaWJIdW50IiwidXJsIjoiaHR0cHM6Ly93d3cubGliaHVudC5jb20vbC9ydXN0L3RvcGljL3F0NiIsInNuaXBwZXQiOiIifV19LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NDg5NDYwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMmI4ZmEyYzgiLCJwYXJlbnRJZCI6IjYzZGZkMTM5IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDo0OS40NjFaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0ZoZ3lKa3lQUFJ0THRRSk9VbjdXS3pKbXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGU5OGQ1Zjg4MTkxYWExYWE4YzBmMDhjNzcxNyIsInRvb2xOYW1lIjoid2ViX3NlYXJjaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IjEuIEdpdEh1YiAtIG1vbnNsZXItc29mdHdhcmUvcWF4OiBIaWdoIGxldmVsIGRlY2xhcmF0aXZlIFF0NiBiaW5kaW5ncyBmb3IgLi4uXG5odHRwczovL2dpdGh1Yi5jb20vbW9uc2xlci1zb2Z0d2FyZS9xYXhcblxuMi4gR2l0SHViIC0gemhhbmdoYW94dmFuL3F0cnM6IHF0cnMgLSBBIHR5cGUtc2FmZSwgYnVpbGRlci1wYXR0ZXJuLWRyaXZlbiAuLi5cbmh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhb3h2YW4vcXRyc1xuXG4zLiBRdCBXaWRnZXRzIEV4YW1wbGVzIHwgUXQgV2lkZ2V0cyB8IFF0IDYuMTEuMVxuaHR0cHM6Ly9kb2MucXQuaW8vcXQtNi9leGFtcGxlcy13aWRnZXRzLmh0bWxcblxuNC4gcWF4LWJ1aWxkIOKAlCBDYXJnbyBsaWJyYXJ5IC8vIExpYi5yc1xuaHR0cHM6Ly9saWIucnMvY3JhdGVzL3FheC1idWlsZFxuXG41LiBRdCBFeGFtcGxlcyBBbmQgVHV0b3JpYWxzIHwgUXQgNi4xMVxuaHR0cHM6Ly9kb2MucXQuaW8vcXQtNi9xdGV4YW1wbGVzYW5kdHV0b3JpYWxzLmh0bWwifV0sImRldGFpbHMiOnsicmVzdWx0cyI6W3sidGl0bGUiOiJHaXRIdWIgLSBtb25zbGVyLXNvZnR3YXJlL3FheDogSGlnaCBsZXZlbCBkZWNsYXJhdGl2ZSBRdDYgYmluZGluZ3MgZm9yIC4uLiIsInVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9tb25zbGVyLXNvZnR3YXJlL3FheCIsInNuaXBwZXQiOiIifSx7InRpdGxlIjoiR2l0SHViIC0gemhhbmdoYW94dmFuL3F0cnM6IHF0cnMgLSBBIHR5cGUtc2FmZSwgYnVpbGRlci1wYXR0ZXJuLWRyaXZlbiAuLi4iLCJ1cmwiOiJodHRwczovL2dpdGh1Yi5jb20vemhhbmdoYW94dmFuL3F0cnMiLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6IlF0IFdpZGdldHMgRXhhbXBsZXMgfCBRdCBXaWRnZXRzIHwgUXQgNi4xMS4xIiwidXJsIjoiaHR0cHM6Ly9kb2MucXQuaW8vcXQtNi9leGFtcGxlcy13aWRnZXRzLmh0bWwiLCJzbmlwcGV0IjoiIn0seyJ0aXRsZSI6InFheC1idWlsZCDigJQgQ2FyZ28gbGlicmFyeSAvLyBMaWIucnMiLCJ1cmwiOiJodHRwczovL2xpYi5ycy9jcmF0ZXMvcWF4LWJ1aWxkIiwic25pcHBldCI6IiJ9LHsidGl0bGUiOiJRdCBFeGFtcGxlcyBBbmQgVHV0b3JpYWxzIHwgUXQgNi4xMSIsInVybCI6Imh0dHBzOi8vZG9jLnF0LmlvL3F0LTYvcXRleGFtcGxlc2FuZHR1dG9yaWFscy5odG1sIiwic25pcHBldCI6IiJ9XX0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTU0ODk0NjF9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxZDMxMDJiOSIsInBhcmVudElkIjoiMmI4ZmEyYzgiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA0OjU0LjgwOFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfeWZFUVczdEtsOU1pTTV1TEg5ZGtqSTJWfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWE2ODAwMDgxOTFhMTc5OGVjYjhhMjVjMWIzIiwibmFtZSI6IndlYl9mZXRjaCIsImFyZ3VtZW50cyI6eyJ1cmwiOiJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vemhhbmdoYW94dmFuL3F0cnMvbWFpbi9SRUFETUUubWQiLCJtYXhDaGFycyI6MjAwMDB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6ODQwLCJvdXRwdXQiOjQwLCJjYWNoZVJlYWQiOjEwMDg2NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MTAxNzQ0LCJjb3N0Ijp7ImlucHV0IjowLjAwNDIwMDAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMTIwMDAwMDAwMDAwMDAwMDEsImNhY2hlUmVhZCI6MC4wNTA0MzIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA1NTgzMn19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTQ4OTQ2NCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlYTIwNjI0ODE5MWI0OWEwMmQ0NDQyODUxNzYifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNTVmNTc5OGMiLCJwYXJlbnRJZCI6IjFkMzEwMmI5IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNDo1NS4xOTdaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX3lmRVFXM3RLbDlNaU01dUxIOWRrakkyVnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVhNjgwMDA4MTkxYTE3OThlY2I4YTI1YzFiMyIsInRvb2xOYW1lIjoid2ViX2ZldGNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU291cmNlOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vemhhbmdoYW94dmFuL3F0cnMvbWFpbi9SRUFETUUubWRcblxuIyBxdHJzIOKAlCBSdXN0LXN0eWxlIFF0NiBiaW5kaW5nc1xuXG5bIVtDcmF0ZXMuaW9dKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vY3JhdGVzL3YvcXRycy5zdmcpXShodHRwczovL2NyYXRlcy5pby9jcmF0ZXMvcXRycylcblshW0RvY3MucnNdKGh0dHBzOi8vZG9jcy5ycy9xdHJzL2JhZGdlLnN2ZyldKGh0dHBzOi8vZG9jcy5ycy9xdHJzKVxuWyFbTGljZW5zZTogTUlUIE9SIEFwYWNoZS0yLjBdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvbGljZW5zZS1NSVQlMkZBcGFjaGUtLTIuMC1ibHVlLnN2ZyldKExJQ0VOU0UpXG5cbiFbRGVtb10oaHR0cHM6Ly9naXRodWIuY29tL3poYW5naGFveHZhbi9xdHJzL2Jsb2IvbWFpbi9hc3NldHMvZGVtby5wbmcpXG5cbkEgdHlwZS1zYWZlLCBidWlsZGVyLXBhdHRlcm4tZHJpdmVuIFF0NiBHVUkgbGlicmFyeSBmb3IgUnVzdC4gQnVpbHQgb25cbltgY3h4YF0oaHR0cHM6Ly9jeHgucnMpIGZvciB6ZXJvLWNvc3QgQysrIGludGVyb3AsIHdpdGggUkFJSSBtZW1vcnlcbm1hbmFnZW1lbnQgYW5kIHNpZ25hbC9jYWxsYmFjayBicmlkZ2luZy5cblxuIyMgRmVhdHVyZXNcblxuLSBCdWlsZGVyIHBhdHRlcm4g4oCUIGNoYWluIGAudGl0bGUoXCJYXCIpLnNpemUoODAwLCA2MDApLmJ1aWxkKClgXG4tIFJBSUkgY2xlYW51cCDigJQgYXV0b21hdGljIEMrKyBkZWxldGlvbiwgcGFyZW50LWNoaWxkIGF3YXJlIChubyBkb3VibGUtZnJlZSlcbi0gU2lnbmFsIGJyaWRnaW5nIOKAlCBRdCBzaWduYWxzIGludm9rZSBSdXN0IGNsb3N1cmVzIHZpYSBhIGdsb2JhbCB0cmFtcG9saW5lXG4tIExheW91dCBvd25lcnNoaXAg4oCUIGFkZGluZyBhIHdpZGdldCB0byBhIGxheW91dCB0cmFuc2ZlcnMgb3duZXJzaGlwXG4tIC51aSBmaWxlIGxvYWRpbmcg4oCUIGxvYWQgUXQgRGVzaWduZXIgYC51aWAgZmlsZXMgYXQgcnVudGltZVxuLSBaZXJvIHVuc2FmZSBpbiBwdWJsaWMgQVBJIOKAlCBhbGwgRkZJIGlzIGVuY2Fwc3VsYXRlZFxuXG4jIyBRdWljayBTdGFydFxuXG5gYGBydXN0XG51c2UgcXRyczo6cHJlbHVkZTo6KjtcblxuZm4gbWFpbigpIHtcbiAgICBsZXQgYXBwID0gQXBwbGljYXRpb246Om5ldygpO1xuXG4gICAgbGV0IG11dCB3aW5kb3cgPSBXaWRnZXQ6Om5ldygpXG4gICAgICAgIC50aXRsZShcIkhlbGxvLCBxdHJzIVwiKVxuICAgICAgICAuc2l6ZSg0MDAsIDMwMClcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBsZXQgbXV0IGxheW91dCA9IFZCb3hMYXlvdXQ6OndpdGhfcGFyZW50KCZ3aW5kb3cpO1xuXG4gICAgbGV0IGJ0biA9IFB1c2hCdXR0b246Om5ldyhcIkNsaWNrIG1lXCIpXG4gICAgICAgIC5vbl9jbGlja2VkKHx8IHByaW50bG4hKFwiY2xpY2tlZCFcIikpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGxldCBsYWJlbCA9IExhYmVsOjpuZXcoXCJXZWxjb21lIVwiKS5idWlsZCgpO1xuXG4gICAgbGF5b3V0LmFkZChidG4pO1xuICAgIGxheW91dC5hZGQobGFiZWwpO1xuXG4gICAgd2luZG93LnNldF9sYXlvdXQoJmxheW91dCk7XG4gICAgd2luZG93LnNob3coKTtcblxuICAgIGFwcC5leGVjKCk7XG59XG5gYGBcblxuWW91IGNhbiBzZWUgW2RlbW8ucnNdKGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhb3h2YW4vcXRycy9ibG9iL21haW4vZXhhbXBsZXMvZGVtby9kZW1vLnJzKSBmb3IgZGV0YWlscy5cblxuIyMgV2lkZ2V0c1xuXG4jIyMgV2luZG93cyAmIENvbnRhaW5lcnNcbnwgVHlwZSB8IFF0IENsYXNzIHwgU2lnbmFscyB8XG58LS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfFxufCBgQXBwbGljYXRpb25gIHwgYFFBcHBsaWNhdGlvbmAgfCDigJQgfFxufCBgV2lkZ2V0YCB8IGBRV2lkZ2V0YCB8IOKAlCB8XG58IGBNYWluV2luZG93YCB8IGBRTWFpbldpbmRvd2AgfCDigJQgfFxufCBgR3JvdXBCb3hgIHwgYFFHcm91cEJveGAgfCDigJQgfFxufCBgVGFiV2lkZ2V0YCB8IGBRVGFiV2lkZ2V0YCB8IGBvbl9jdXJyZW50X2NoYW5nZWQoaTMyKWAgfFxufCBgU3RhY2tlZFdpZGdldGAgfCBgUVN0YWNrZWRXaWRnZXRgIHwgYG9uX2N1cnJlbnRfY2hhbmdlZChpMzIpYCB8XG58IGBTY3JvbGxBcmVhYCB8IGBRU2Nyb2xsQXJlYWAgfCDigJQgfFxufCBgU3BsaXR0ZXJgIHwgYFFTcGxpdHRlcmAgfCDigJQgfFxuXG4jIyMgQnV0dG9ucyAmIENvbnRyb2xzXG58IFR5cGUgfCBRdCBDbGFzcyB8IFNpZ25hbHMgfFxufC0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLXxcbnwgYFB1c2hCdXR0b25gIHwgYFFQdXNoQnV0dG9uYCB8IGBvbl9jbGlja2VkYCB8XG58IGBUb29sQnV0dG9uYCB8IGBRVG9vbEJ1dHRvbmAgfCBgb25fY2xpY2tlZGA8YnI+YG9uX3RvZ2dsZWQoYm9vbClgIHxcbnwgYENoZWNrQm94YCB8IGBRQ2hlY2tCb3hgIHwgYG9uX3RvZ2dsZWQoYm9vbClgIHxcbnwgYFJhZGlvQnV0dG9uYCB8IGBRUmFkaW9CdXR0b25gIHwgYG9uX3RvZ2dsZWQoYm9vbClgIHxcbnwgYFNsaWRlcmAgfCBgUVNsaWRlcmAgfCBgb25fdmFsdWVfY2hhbmdlZChpMzIpYCB8XG58IGBTcGluQm94YCB8IGBRU3BpbkJveGAgfCBgb25fdmFsdWVfY2hhbmdlZChpMzIpYCB8XG58IGBDb21ib0JveGAgfCBgUUNvbWJvQm94YCB8IGBvbl9jdXJyZW50X3RleHRfY2hhbmdlZGA8YnI+YG9uX2N1cnJlbnRfaW5kZXhfY2hhbmdlZChpMzIpYCB8XG5cbiMjIyBUZXh0ICYgRGlzcGxheVxufCBUeXBlIHwgUXQgQ2xhc3MgfCBTaWduYWxzIHxcbnwtLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS18XG58IGBMYWJlbGAgfCBgUUxhYmVsYCB8IOKAlCB8XG58IGBMaW5lRWRpdGAgfCBgUUxpbmVFZGl0YCB8IGBvbl9yZXR1cm5fcHJlc3NlZGAgfFxufCBgVGV4dEVkaXRgIHwgYFFUZXh0RWRpdGAgfCBgb25fdGV4dF9jaGFuZ2VkYCB8XG58IGBQbGFpblRleHRFZGl0YCB8IGBRUGxhaW5UZXh0RWRpdGAgfCBgb25fdGV4dF9jaGFuZ2VkYDxicj5gb25fY3Vyc29yX3Bvc2l0aW9uX2NoYW5nZWRgIHxcbnwgYFRleHRCcm93c2VyYCB8IGBRVGV4dEJyb3dzZXJgIHwgYG9uX2FuY2hvcl9jbGlja2VkKFN0cmluZylgPGJyPmBvbl90ZXh0X2NoYW5nZWRgIHxcbnwgYFByb2dyZXNzQmFyYCB8IGBRUHJvZ3Jlc3NCYXJgIHwg4oCUIHxcblxuIyMjIEl0ZW0gVmlld3NcbnwgVHlwZSB8IFF0IENsYXNzIHwgU2lnbmFscyB8XG58LS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfFxufCBgTGlzdFdpZGdldGAgfCBgUUxpc3RXaWRnZXRgIHwgYG9uX2l0ZW1fY2xpY2tlZChTdHJpbmcpYDxicj5gb25faXRlbV9kb3VibGVfY2xpY2tlZChTdHJpbmcpYDxicj5gb25fY3VycmVudF9pdGVtX2NoYW5nZWQoU3RyaW5nKWAgfFxufCBgVGFibGVXaWRnZXRgIHwgYFFUYWJsZVdpZGdldGAgfCBgb25fY2VsbF9jbGlja2VkYDxicj5gb25fY2VsbF9kb3VibGVfY2xpY2tlZGA8YnI+YG9uX2N1cnJlbnRfY2VsbF9jaGFuZ2VkYCB8XG58IGBUcmVlV2lkZ2V0YCB8IGBRVHJlZVdpZGdldGAgfCBgb25faXRlbV9jbGlja2VkKFN0cmluZylgPGJyPmBvbl9pdGVtX2RvdWJsZV9jbGlja2VkKFN0cmluZylgPGJyPmBvbl9pdGVtX2V4cGFuZGVkKFN0cmluZylgPGJyPmBvbl9pdGVtX2NvbGxhcHNlZChTdHJpbmcpYDxicj5gb25fY3VycmVudF9pdGVtX2NoYW5nZWQoU3RyaW5nKWAgfFxuXG4jIyMgRGF0ZSAmIFRpbWVcbnwgVHlwZSB8IFF0IENsYXNzIHwgU2lnbmFscyB8XG58LS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfFxufCBgRGF0ZUVkaXRgIHwgYFFEYXRlRWRpdGAgfCBgb25fZGF0ZV9jaGFuZ2VkKFN0cmluZylgIHxcbnwgYFRpbWVFZGl0YCB8IGBRVGltZUVkaXRgIHwgYG9uX3RpbWVfY2hhbmdlZChTdHJpbmcpYCB8XG58IGBEYXRlVGltZUVkaXRgIHwgYFFEYXRlVGltZUVkaXRgIHwgYG9uX2RhdGVfdGltZV9jaGFuZ2VkKFN0cmluZylgIHxcbnwgYENhbGVuZGFyV2lkZ2V0YCB8IGBRQ2FsZW5kYXJXaWRnZXRgIHwgYG9uX3NlbGVjdGlvbl9jaGFuZ2VkYDxicj5gb25fYWN0aXZhdGVkKFN0cmluZylgIHxcblxuIyMjIE1lbnVzICYgVG9vbGJhcnNcbnwgVHlwZSB8IFF0IENsYXNzIHwgU2lnbmFscyB8XG58LS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfFxufCBgQWN0aW9uYCB8IGBRQWN0aW9uYCB8IGBvbl90cmlnZ2VyZWQoYm9vbClgPGJyPmBvbl90b2dnbGVkKGJvb2wpYCB8XG58IGBNZW51YCB8IGBRTWVudWAgfCDigJQgfFxufCBgTWVudUJhcmAgfCBgUU1lbnVCYXJgIHwg4oCUIHxcbnwgYFRvb2xCYXJgIHwgYFFUb29sQmFyYCB8IHBlci1hY3Rpb24gY2FsbGJhY2tzIHZpYSBgYWRkX2FjdGlvbmAgfFxufCBgU3RhdHVzQmFyYCB8IGBRU3RhdHVzQmFyYCB8IOKAlCB8XG5cbiMjIyBEaWFsb2dzXG58IFR5cGUgfCBRdCBDbGFzcyB8IE5vdGVzIHxcbnwtLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tfFxufCBgTWVzc2FnZUJveGAgfCBgUU1lc3NhZ2VCb3hgIHwgQnVpbGRlciArIGBleGVjKClgLCBzdGF0aWMgYGFib3V0KClgIHxcbnwgYEZpbGVEaWFsb2dgIHwgYFFGaWxlRGlhbG9nYCB8IGBvcGVuX2ZpbGVgLCBgc2F2ZV9maWxlYCwgYHNlbGVjdF9kaXJlY3RvcnlgIChzdGF0aWMpIHxcbnwgYFByb2dyZXNzRGlhbG9nYCB8IGBRUHJvZ3Jlc3NEaWFsb2dgIHwgQnVpbGRlciB3aXRoIGBzZXRfdmFsdWVgIC8gYHdhc19jYW5jZWxlZGAgfFxufCBgSW5wdXREaWFsb2dgIHwgYFFJbnB1dERpYWxvZ2AgfCBgZ2V0X3RleHRgLCBgZ2V0X2ludGAsIGBnZXRfZG91YmxlYCwgYGdldF9pdGVtYCAoc3RhdGljKSB8XG58IGBNZXNzYWdlQm94YCB8IGBRTWVzc2FnZUJveGAgfCBgaW5mb3JtYXRpb25gLCBgd2FybmluZ2AsIGBjcml0aWNhbGAsIGBxdWVzdGlvbmAgKHN0YXRpYykgfFxuXG4jIyMgTGF5b3V0c1xufCBUeXBlIHwgUXQgQ2xhc3MgfCBTaWduYWxzIHxcbnwtLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS18XG58IGBWQm94TGF5b3V0YCB8IGBRVkJveExheW91dGAgfCDigJQgfFxufCBgSEJveExheW91dGAgfCBgUUhCb3hMYXlvdXRgIHwg4oCUIHxcbnwgYEdyaWRMYXlvdXRgIHwgYFFHcmlkTGF5b3V0YCB8IOKAlCB8XG5cbiMjIyBTdHlsaW5nICYgVXRpbGl0aWVzXG58IFR5cGUgfCBRdCBDbGFzcyB8IFNpZ25hbHMgfFxufC0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLXxcbnwgYEZyYW1lYCB8IGBRRnJhbWVgIHwg4oCUIChzaGFwZS9zaGFkb3cpIHxcbnwgYEZvbnRgIHwgYFFGb250YCB8IOKAlCAoZmFtaWx5LCBzaXplLCB3ZWlnaHQgYnVpbGRlcikgfFxufCBgRm9udEV4dGAgfCAqKHRyYWl0KSogfCBgZm9udCgpYCAvIGBzZXRfZm9udCgpYCBibGFua2V0LWltcGwgfFxufCBgU2hvcnRjdXRgIHwgYFFTaG9ydGN1dGAgfCBgb25fYWN0aXZhdGVkKClgIChRT2JqZWN0KSB8XG5cbiMjIyBTeXN0ZW1cbnwgVHlwZSB8IFF0IENsYXNzIHwgU2lnbmFscyB8XG58LS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfFxufCBgVGltZXJgIHwgYFFUaW1lcmAgfCBgb25fdGltZW91dGA8YnI+YHNpbmdsZV9zaG90KG1zLCBmbilgIHxcbnwgYFN5c3RlbVRyYXlJY29uYCB8IGBRU3lzdGVtVHJheUljb25gIHwgYG9uX2FjdGl2YXRlZChUcmF5SWNvblJlYXNvbilgIHxcbnwgYFVpTG9hZGVyYCB8IGBRVWlMb2FkZXJgIHwgYC51aWAgZmlsZSBsb2FkaW5nIHxcbnwgYFBvaW50YCB8IGBRUG9pbnRgIHwg4oCUIHxcblxuIyMgUHJlcmVxdWlzaXRlc1xuXG5RdDYgd2l0aCBkZXZlbG9wbWVudCBoZWFkZXJzOlxuXG58IFBsYXRmb3JtIHwgSW5zdHJ1Y3Rpb25zIHxcbnwtLS18LS0tfFxufCBEZWJpYW4gLyBVYnVudHUgfCBgc3VkbyBhcHQgaW5zdGFsbCBxdDYtYmFzZS1kZXYgcXQ2LWRlY2xhcmF0aXZlLWRldmAgfFxufCBGZWRvcmEgfCBgc3VkbyBkbmYgaW5zdGFsbCBxdDYtcXRiYXNlLWRldmVsIHF0Ni1xdGRlY2xhcmF0aXZlLWRldmVsYCB8XG58IEFyY2ggfCBgc3VkbyBwYWNtYW4gLVMgcXQ2LWJhc2UgcXQ2LWRlY2xhcmF0aXZlYCB8XG58IG1hY09TIChIb21lYnJldykgfCBgYnJldyBpbnN0YWxsIHF0QDZgIHxcbnwgV2luZG93cyB8IEluc3RhbGwgZnJvbSBbcXQuaW9dKGh0dHBzOi8vd3d3LnF0LmlvL2Rvd25sb2FkLW9wZW4tc291cmNlKSBvciB2aWEgW3ZjcGtnXShodHRwczovL3ZjcGtnLmlvKSB8XG5cblJlbWVtYmVyIHRvIHNldCBhIGBQQVRIYCBlbnZpcm9ubWVudCB0byB0ZWxsIGBxdHJzYCB3aGVyZSB0aGUgYHFtYWtlYCBhcmUuXG5cbiMjIEluc3RhbGxhdGlvblxuXG5BZGQgdG8geW91ciBgQ2FyZ28udG9tbGA6XG5cbmBgYHRvbWxcbltkZXBlbmRlbmNpZXNdXG5xdHJzID0gXCIwLjQuMlwiXG5gYGBcblxuIyMgTWVtb3J5IG1hbmFnZW1lbnRcblxuV2lkZ2V0cyBhcmUgZGVsZXRlZCBhdXRvbWF0aWNhbGx5IG9uIGBEcm9wYCDigJQgdW5sZXNzIHRoZXkgaGF2ZSBhIFF0XG5wYXJlbnQgKHNldCBleHBsaWNpdGx5IG9yIHZpYSBsYXlvdXQpLiBJbiB0aGF0IGNhc2UgUXQncyBwYXJlbnQtY2hpbGQgdHJlZVxuaGFuZGxlcyBkZWxldGlvbiwgcHJldmVudGluZyBkb3VibGUtZnJlZS5cblxuYGBgXG5XaWRnZXQgY3JlYXRlZCB3aXRob3V0IHBhcmVudCAgLT4gIERyb3AgZGVsZXRlcyBDKysgb2JqZWN0XG5XaWRnZXQgY3JlYXRlZCB3aXRoIHBhcmVudCAgICAgLT4gIERyb3Agc2tpcHMgZGVsZXRpb24gKFF0IGhhbmRsZXMgaXQpXG5XaWRnZXQgYWRkZWQgdG8gbGF5b3V0ICAgICAgICAgLT4gIExheW91dCB0YWtlcyBvd25lcnNoaXAsIERyb3Agc2tpcHMgZGVsZXRpb25cbmBgYFxuXG4jIyBUaHJlYWQgc2FmZXR5XG5cblF0IEdVSSBjbGFzc2VzIGFyZSAqKm5vdCB0aHJlYWQtc2FmZSoqLiBBbGwgd2lkZ2V0IGNyZWF0aW9uLCBtdXRhdGlvbiwgYW5kXG50aGUgZXZlbnQgbG9vcCBtdXN0IGhhcHBlbiBvbiB0aGUgbWFpbiB0aHJlYWQuXG5cbiMjIExpY2Vuc2VcblxuTUlUIE9SIEFwYWNoZS0yLjAg4oCUIHNlZSBbTElDRU5TRS1NSVRdKExJQ0VOU0UtTUlUKSBhbmQgW0xJQ0VOU0UtQVBBQ0hFXShMSUNFTlNFLUFQQUNIRSkuIn1dLCJkZXRhaWxzIjp7InVybCI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS96aGFuZ2hhb3h2YW4vcXRycy9tYWluL1JFQURNRS5tZCIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRydW5jYXRlZCI6ZmFsc2V9LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NDk1MTk3fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNTBhNmQxYWMiLCJwYXJlbnRJZCI6IjU1ZjU3OThjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNToxNS4zNDNaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkNoZWNraW5nIFF0NiBhdmFpbGFiaWxpdHkgd2l0aCBwa2ctY29uZmlnKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGViNDkyODA4MTkxOWNkMDY2MzE1MDkxN2NlOFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjYxNV9ScHZkRWJFYVZnVU4zYk1UbFV0RUlmOUI4QTZFMXpNMVBjS0Y3Q1dPOFJGSDd6VUhSQWxmeDI5NWZRR2JWMGlKengtX3E0UUZEY0Q0TFVkcDdsd1pxN1I3eFNjN1poSVJBODFZQk5Xa1poOXB2UVZsVHVIRmlwS1kxQkwySFd0T3RpOWh2TzNGWEdsR2ZnLW1xQW01M21sVlN2RWRnOEZSYnM2aG9zSTI5bklHMDVERmtFVEF1ZVZnalZQVGdWUzRQdG1rOGF4X0pQTm9sWTlJTEVFbnRsb3ZKOEtMTXIweVU5Q2RVaDJLQkI4TWxSSWl5YUJtOUpZczJ3d0N1ejZvNFExQUFuNXRMS3ZQVjI1aDFaamF3TXFlZTBTLUdNcWVhbWUwMTdrMFZ0aW9YdFQ2aTBaSnFmVmdoYnRENmZmSGVsYjJnVGFZaDNTQktEeXVhMnNyNlhHRUZkbEtmaEZOSGZhT1E3TWtFb1JPcmc3MDBIQ0pYek85Z25FdE02T3o4ZlVOOU1QRFZ0QURQOTNtRFRsNnowLTlOUlZNTVViUnhpbVVHd3lHekNyWXVOT25nYnhJN2txXzNqRmJMZjBkaFdxLUU5bUt3X0g0ZnRpQnExUTRUUW1nQ21KVWZnYTYtczRHRWE4LTh2TzA2ZGR0QXNqdk1VUTdwUnRBWUVoUXZzU2VhcGxEazdSUWZrYkxLcUxUaFJPV21TT0c4WDZxUTBpU3JVNk9kS2ZHTGNBbEtIVElUWUd6bzRlTUg5SWhGVGtSR1JGTDg0SkhpTXVhZ2hNdENXOHNuQm1sclBwczRVZUU0X1JReDd5dlQzRm9mcVhJY05uR0VlbXlUY1ZQdFNJa0Qycm5hU2V5U3U5UkY2M3N2SHBEZXZBdEhVcEQtMWxCWjAwVl90MWp5TzR3bXItREY2VklOZlpnVWh5dzFkN3hiaEREaUhDbTk0WTRXZTZaVWJOQ0hQellQYUtpS0NtRnFzb2ozbFB3MV8tckFaYVh2NUZWTmh1TW1EdF9PS0M4S0c0N0FoQUxmZDZ3NjNla3FzbjVRTlIyWkdIY2oyODZTekp0X0w3Y0M0N1lBbHdEZUdlZFQ0UkNYZm9QcVlhZEVncHM5SFJKNU5JNW5rZUwxY2NQMFhEOVlxZzViYi15bnR1ajAxSTh2OEYxMkVHdm1BSEp1Si1ZYzhvV1pFcy11dmZhQjU0RHFqdE00MXpHMnM5VngwM0EwVGZzSFVObHo0cllqYU41RW1KUTlkNGlMSFpJclh0a2pWVnFRcDZBU09mZVF2eTJjcnNFVEF5TWY5NU15d3paWEd3d2RtVVJZMy1rTT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkNoZWNraW5nIFF0NiBhdmFpbGFiaWxpdHkgd2l0aCBwa2ctY29uZmlnKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX3FYNVoyNDJVbklWd0pvU05ZSHN4ak5rRnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGViNWEyOGM4MTkxYjg2ODVlYTdhYTY2NTM0MCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJwa2ctY29uZmlnIC0tbW9kdmVyc2lvbiBRdDZDb3JlIFF0NldpZGdldHMgMj4mMTsgY29tbWFuZCAtdiBxbWFrZTY7IGFwdC1jYWNoZSBzZWFyY2ggJ15xdDYtYmFzZS1kZXZlbCQnIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoyOTAyLCJvdXRwdXQiOjY3LCJjYWNoZVJlYWQiOjEwMDg2NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxNSwidG90YWxUb2tlbnMiOjEwMzgzMywiY29zdCI6eyJpbnB1dCI6MC4wMTQ1MSwib3V0cHV0IjowLjAwMjAxLCJjYWNoZVJlYWQiOjAuMDUwNDMyLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNjY5NTJ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTU0OTUyMDAsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWE3OTg2NDgxOTE4ODE4YTEyYWFlMWU3ZjNmIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjFiOTAwY2ZiIiwicGFyZW50SWQiOiI1MGE2ZDFhYyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDU6MTguNDc4WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9xWDVaMjQyVW5JVndKb1NOWUhzeGpOa0Z8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlYjVhMjhjODE5MWI4Njg1ZWE3YWE2NjUzNDAiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJQYWNrYWdlIFF0NkNvcmUgd2FzIG5vdCBmb3VuZCBpbiB0aGUgcGtnLWNvbmZpZyBzZWFyY2ggcGF0aC5cblBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGBRdDZDb3JlLnBjJ1xudG8gdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZVxuTm8gcGFja2FnZSAnUXQ2Q29yZScgZm91bmRcblBhY2thZ2UgUXQ2V2lkZ2V0cyB3YXMgbm90IGZvdW5kIGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBwYXRoLlxuUGVyaGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYFF0NldpZGdldHMucGMnXG50byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlXG5ObyBwYWNrYWdlICdRdDZXaWRnZXRzJyBmb3VuZFxucXQ2LWJhc2UtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ2LWJhc2VcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTUxODQ3OH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjQ2N2E1OGRjIiwicGFyZW50SWQiOiIxYjkwMGNmYiIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDU6MjUuNjc3WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipJbnNwZWN0aW5nIFF0IFJTIGNyYXRlIGFuZCBleGFtcGxlcyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlYzExZWM0ODE5MTgxYjI0MWNiYzYzNGQ5YzVcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk43RUY1R0NRam5JWEtJbUZLckJkWlQ0ajJXTDB5MUF3N2RsVng1QnA1bUpCWC1yY1hWOXJ5SXFiMnJtOFBCYVpub3R0Y1lwRWVxUFotV3VPOV9ISDIwRVV5bW51bk4yTkJMTk9XVDhqZW1JZ2dPSXlYQWtDQUtZcmE0dUJBUFBkTTdRZ05Md0JwMm53WXBDSEI2UE9CTzg3TndYbGktTHpwWkpvck9DcXRKV1VTZEpjclQxQVplRWNJcUN0T0RjOVZTRFNjLUZQT1ZVU1kzbWkzRzJKaWtZVWhsV2tYbXZ4NGNNdDQ1REVLOExaWTFYY2c2TjFPc0tpTEhVd2FaWWNyc1pPRW1YeVhXWUpUX1BZeGhLT2JmZlN5WnQ3UkZIM3JGY21ESzJndlhKZ1VzRkZYenRyYVBHRGowb2FiaTVGUTFpZm1SYzM1QnBZOEIxblNlMnJCZ2I3X1UwMzRib1B6X01rRHNfWllGMFBhQm9oX2UzbVVkSXJiemp2dnFQSERORklfdFhpN2YwX29RMER0eGVYd0p5ODhFaWJzM0Y1TXRmbS1LTUg4MExGamwzMFh4TzV2SjZEUjFic0d0MXRQc2FUZFhlZnJNOFJ3QmhDY1ltYmtuUlJXMUptOFpjMUdKRm01N2JEUDBiQTFmcmlWMHdGRmllR0plMzRPdm9iWHFCZlRZbklta2tyYUFsVXM5ekQ1WkZ4SnhxSUdkU1h0ZEhBX3g3OFhsY0RjV3dmVVdSU2RPU3V1aW14TV9IbGFjdUVRcGt3VU5zd2FHUE40bE4xVlBHeFY3WWRNSU9rRTFkdk02ZVRKU2pxdzZkazQyeHVQUEZrUm5oU21iWDdFNFY3SFJEUG9OS3VMaFJ2SUN1MGNBUWxxLWdpUjMzUUNqMFd2NmNOTk45UjdPZHAwZ2plc1BYRDJhUGNNaS1jbURLUjhIRWtpWnVYY0F2Z0JGTWtONlRDR1pRY1A1WVc1a0tnY1A4MTZ0eEhqWjNFclRFNXhhNUdXTUtfS3lBb0pWbmRpUGdqVXVtUVhPa0Q5SFI5R2M1WTRKZkpBZE42SmVxaE43bUlVYmY3Nm5fRjdJbFVHT04yNXJ1bm52dWxQM2REb215VUpjc1V1X1ZXQjFiU1F6LVdEMmRHSHp0cm1sS3NXRTRuTEdBcjdDOUFZU2xpRGFCWmtfUVN6a1dGR3N2VEFaTmhicFYwWjF3QW8tTlVjcVFrdFpyamtNbFNESVZlSjI5MUR3YjF0Y1VRanBteHdtZ0VPSWFDalNDdVU3ZHVhckxEY2JXN2lrSjlFNTNuY29rdm0wS09tUV9BUTlBck5oMDhGM3BPd1g1aVM0amtxYlIwUDd2YkRPd3V2QlRuTTFvR3VMRVM5S1djWE9OeVZfRE1hZkIzdzdialg3T2o3d0oyQWpqTFZnWDhoWkZMWm9GcHdPN1ZvNDQtaWhINVd2VUFVTlZzMzF6elc5SXJxdUlOdXQ2UVlBNXllVEY0cXI5dGNPS18tMkxiQ0dqdFRJZnNxczdicXVvWldqVFwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqSW5zcGVjdGluZyBRdCBSUyBjcmF0ZSBhbmQgZXhhbXBsZXMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfV1FlS1cwZEU4NkJHb2VLU3NtMDhPM2NifGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWM0MTJkMDgxOTFhNGRhZjI3ZGI1MWJiOWZhIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImZpbmQgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjIC1tYXhkZXB0aCAyIC10eXBlIGQgLW5hbWUgJ3F0cnMtMC40LjInOyBjYXJnbyBpbmZvIHF0cnMgPi9kZXYvbnVsbCJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTAzNCwib3V0cHV0Ijo5MiwiY2FjaGVSZWFkIjoxMDI5MTIsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MzcsInRvdGFsVG9rZW5zIjoxMDQwMzgsImNvc3QiOnsiaW5wdXQiOjAuMDA1MTcsIm91dHB1dCI6MC4wMDI3NiwiY2FjaGVSZWFkIjowLjA1MTQ1NTk5OTk5OTk5OTk5NSwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDU5Mzg1OTk5OTk5OTk5OTk0fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1NTE4NDgyLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGViZWRmMmM4MTkxYTdlZjhiMjhhODg2ZDk4ZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIyODc2NTZkMiIsInBhcmVudElkIjoiNDY3YTU4ZGMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA1OjI2LjU0OVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfV1FlS1cwZEU4NkJHb2VLU3NtMDhPM2NifGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWM0MTJkMDgxOTFhNGRhZjI3ZGI1MWJiOWZhIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yXG4gICAgVXBkYXRpbmcgY3JhdGVzLmlvIGluZGV4XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1MjY1NDl9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4ZDRmZjBmMSIsInBhcmVudElkIjoiMjg3NjU2ZDIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA1OjMyLjIyN1oiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqUmV2aWV3aW5nIGRlbW8vd2lkZ2V0cyBBUEkqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWM5YThhYzgxOTFiNjRhNGIxZDJjMGEzOWUwXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpON01YbVBZUzcxS1pfazdCWlQ5WnU5enkyTkh3Sm40NXBfZXgwR1dBdnRfUXVWVXdqSnZxTVF1Y0RDWG5XajMxbHZaSGVBT21UZjR0Q2VUZ1ZvTTZrQkFuY1VfNEh5NFZuTXozYzBSMl9SNlFzQjFucXpEYk5aem1KZzZGeXVWbG1TaURLZzRYNm5vRVM1ZVduYzIzSk9wcm9TMFJPb0VzdWJ6Um5aSDhoV2d4eXI1NE5CNDN1b2Q2YU9VUGV1X096dU1vU1FBUkNzV2xNa1ptMHZJbTM0YXkwNVVBbEgtN2c4UHJHZUcxVDhoeTA1OGxPajUzMzNTbWRuRGJWa29rMUNHb1RhSWVDbzUwLTI4SUtiQ0VfbnFDbTVQZTZsamxEWEMzR3k1c2R3YThUTHNJU2JaQU1PM2F2NDA1Tk1hUFhYOFJMQ0ZDcTRJODhiX2pvN3kwd1dkOUtrSmcwNHV4Z3N2T1pFZjBtbmNZOTh6MXgycXJNckxwQVFXUHl4U2MtQUtwekNnRzYyc013VGlXblVkVFJiandUVG9WWDhVOGVxNUJqWnRjQUoyeFJLamxEZjFNcWtJeGhVa0o2SUg1M3Z5Z1dnYUY0cU5TMFZxWVlWOVZnUUhSVXEyNUJOVnJESmt1VFBWN2ZTeXhCdkJIVWs0NWd4QVlqMURQajlRek05aW9hTGpOUmxtWWFXZFRGRWgydWg0amg2ZEJwd3VfU1VTb2o0VGpQQk9PYWx1RVlnV3c3OUQ4MjlaYXFTdXFBNjQ5a00zSDdYSjE0TWdhc2VjWlN5VXZiVnZTTjU0Z0lTbkhDZXUwdUYtaHBjNjU2Z0RHcktKTEtIV3h3TEZkUjNmbkYwZGxTVXduZ2JZVFVGbmNHNzVZTmNpWlBEMXY1VW5KenY5RUpFVmZocXJOMG10RUZvQmxBT3RaQ0ZzQnZUM2dhYkJaajRMb05EVzZrQzJCMVJTYmJqTkpOek5tNU9BMHg2WC1ZdjhTTGNCZVJVWER6cTZiLUdjaDJ4bkJxc014Ry1veW1mNXhyV3FVRjBiclJqVVVFMmQ3aFdGMFhyY05xOTJVNzl1OHFmeS1xT25tbm5weGtmbGYyYTJzNHNlMFRHZHBmWXJ0X2VkajduQmtDSk5qZkczd0VMeVRUUmlHdk5ZbENPT0ZvZlFzalFBREZBZkFVZHdJd1BKZ3V5VDRlY1VVZlVUdXZIMTJtS3NxU2lSbUdSMi1EZUNmeUtWdGtVZWc0RTJFR21mNTNlYTZlTFZWalI5N21KdTFxYzhcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlJldmlld2luZyBkZW1vL3dpZGdldHMgQVBJKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX1h3cTZoa3RKTEtEYm5VVjA1QjRxbHB3MnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVjYzE0OTg4MTkxOGU4M2E0OTAwOGQzMWU4ZCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJmaW5kIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL3F0cnMtMC40LjIgLW1heGRlcHRoIDMgLXR5cGUgZiB8IHNvcnQgfCBoZWFkIC04MCJ9fSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9rWnZFZnZaaU9VT1dFd29EYmhsbk5Fakx8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlY2MxNGFjODE5MWJiMDRmZjU1MzNhNjViYTMiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9saWIucnMiLCJsaW1pdCI6MjAwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjExODAsIm91dHB1dCI6MTMzLCJjYWNoZVJlYWQiOjEwMjkxMiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo5LCJ0b3RhbFRva2VucyI6MTA0MjI1LCJjb3N0Ijp7ImlucHV0IjowLjAwNTkwMDAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMzk5MDAwMDAwMDAwMDAwMDUsImNhY2hlUmVhZCI6MC4wNTE0NTU5OTk5OTk5OTk5OTUsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA2MTM0Nn19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NDk5NTUyNjU1MiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlYzZmZGI4ODE5MWJmMThmMWI4MjliODYzZGMifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiM2I5Y2QzZTYiLCJwYXJlbnRJZCI6IjhkNGZmMGYxIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNTozMi4yMzNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1h3cTZoa3RKTEtEYm5VVjA1QjRxbHB3MnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVjYzE0OTg4MTkxOGU4M2E0OTAwOGQzMWU4ZCIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9hc3NldHMvZGVtby5wbmdcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9hc3NldHMvaWNvbi5wbmdcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9idWlsZC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL0NhcmdvLmxvY2tcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi8uY2FyZ28tb2tcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9DYXJnby50b21sXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvQ2FyZ28udG9tbC5vcmlnXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvLmNhcmdvX3Zjc19pbmZvLmpzb25cbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9DSEFOR0VMT0cubWRcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9DT05UUklCVVRJTkdfV0lER0VULm1kXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvZXhhbXBsZXMvYmFzaWMvYmFzaWMucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9leGFtcGxlcy9kZW1vL2RlbW8ucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9leGFtcGxlcy9lZGl0b3IvZWRpdG9yLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvZXhhbXBsZXMvdWkvdWkucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9leGFtcGxlcy91aS91aS51aVxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yLy5naXRpZ25vcmVcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi8uZ2l0bWVzc2FnZVxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL0xJQ0VOQ0UtQVBBQ0hFXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvTElDRU5TRS1NSVRcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9SRUFETUUubWRcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvYWN0aW9uLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2FwcC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9idXR0b24ucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY2FsZW5kYXJ3aWRnZXQucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY2hlY2tib3gucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY29tYm9ib3gucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY29ubi5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvYWN0aW9uLmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL2FwcC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9idXR0b24uaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvY2FsZW5kYXJ3aWRnZXQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvY2hlY2tib3guaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvY29tYm9ib3guaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvZGF0ZWVkaXQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvZGF0ZXRpbWVlZGl0Lmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL2RpYWxvZy5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9maWxlZGlhbG9nLmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL2ZvbnQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvZnJhbWUuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvZ3JvdXBib3guaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvaW5wdXRkaWFsb2cuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvaW5wdXQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvbGFiZWwuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvbGF5b3V0Lmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL2xpc3R3aWRnZXQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvbWFpbndpbmRvdy5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9tZW51Lmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL21lc3NhZ2Vib3guaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvcGxhaW50ZXh0ZWRpdC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9wb2ludC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9wcm9ncmVzc2Jhci5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9wcm9ncmVzc2RpYWxvZy5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9xdF93aWRnZXQuY3BwXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9xdF93aWRnZXQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvcmFkaW9idXR0b24uaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvc2Nyb2xsYXJlYS5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9zaG9ydGN1dC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9zaWduYWwuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvc2xpZGVyLmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL3NwaW5ib3guaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvc3BsaXR0ZXIuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvc3RhY2tlZHdpZGdldC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC9zdGF0dXNiYXIuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvc3lzdGVtdHJheWljb24uaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvdGFibGV3aWRnZXQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvdGFid2lkZ2V0Lmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL3RleHRicm93c2VyLmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL3RleHRlZGl0Lmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL3RocmVhZC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC90aW1lZWRpdC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC90aW1lci5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC90b29sYmFyLmhcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvY3BwL3Rvb2xidXR0b24uaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9jcHAvdHJlZXdpZGdldC5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC91aWxvYWRlci5oXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2NwcC93aWRnZXQuaFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9kYXRlZWRpdC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdHJzLTAuNC4yL3NyYy9kYXRldGltZWVkaXQucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvZGlhbG9nLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL2ZmaS5yc1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NTMyMjMzfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNGY1NmY4NjciLCJwYXJlbnRJZCI6IjNiOWNkM2U2IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNTozMi4yMzNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2tadkVmdlppT1VPV0V3b0RiaGxuTkVqTHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVjYzE0YWM4MTkxYmIwNGZmNTUzM2E2NWJhMyIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii8vISAjIHF0cnMg4oCUIFJ1c3Qtc3R5bGUgUXQ2IGJpbmRpbmdzXG4vLyFcbi8vISBBIHR5cGUtc2FmZSwgYnVpbGRlci1wYXR0ZXJuLWRyaXZlbiBRdDYgR1VJIGxpYnJhcnkgZm9yIFJ1c3QuXG4vLyEgQnVpbHQgb24gW2BjeHhgXSBmb3IgQysrIGludGVyb3AsIHdpdGggUkFJSSBtZW1vcnkgbWFuYWdlbWVudCxcbi8vISBzaWduYWwvY2FsbGJhY2sgYnJpZGdpbmcsIGFuZCBhIGZsdWVudCBidWlsZGVyIEFQSS5cbi8vIVxuLy8hICMjIEluc3RhbGxhdGlvblxuLy8hXG4vLyEgQWRkIHRvIHlvdXIgYENhcmdvLnRvbWxgOlxuLy8hXG4vLyEgYGBgdG9tbFxuLy8hIFtkZXBlbmRlbmNpZXNdXG4vLyEgcXRycyA9IFwiMC40LjJcIlxuLy8hIGBgYFxuLy8hXG4vLyEgIyMgRGVzaWduIHByaW5jaXBsZXNcbi8vIVxuLy8hIC0gQnVpbGRlciBwYXR0ZXJuIGV2ZXJ5d2hlcmUg4oCUIGNoYWluIGAudGl0bGUoXCJYXCIpLnNpemUoODAwLCA2MDApLnNob3coKWBcbi8vISAtIFJBSUkgY2xlYW51cCDigJQgd2lkZ2V0cyBhcmUgYXV0b21hdGljYWxseSBkZWxldGVkIG9uIGBEcm9wYCwgd2l0aFxuLy8hICAgcGFyZW50LWNoaWxkIGF3YXJlbmVzcyAod2lkZ2V0cyB3aXRoIGEgUXQgcGFyZW50IHNraXAgQysrIGRlbGV0aW9uIHRvXG4vLyEgICBhdm9pZCBkb3VibGUtZnJlZSkuXG4vLyEgLSBUeXBlLXNhZmUgbGF5b3V0IG93bmVyc2hpcCDigJQgYWRkaW5nIGEgd2lkZ2V0IHRvIGEgbGF5b3V0IHRyYW5zZmVyc1xuLy8hICAgb3duZXJzaGlwOyB0aGUgbGF5b3V0IGRyb3BzIGl0cyBjaGlsZHJlbiB3aGVuIGl0IGdvZXMgb3V0IG9mIHNjb3BlLlxuLy8hIC0gWmVyby1jb3N0IHNpZ25hbCBicmlkZ2luZyDigJQgUXQgc2lnbmFscyBpbnZva2UgUnVzdCBjbG9zdXJlcyB2aWEgYVxuLy8hICAgc2luZ2xlIGdsb2JhbCB0cmFtcG9saW5lOyBjb250ZXh0IHRva2VucyBhcmUgcGxhaW4gYHU2NGAgdmFsdWVzLlxuLy8hXG4vLyEgIyMgQXJjaGl0ZWN0dXJlXG4vLyFcbi8vISB8IExheWVyIHwgQ3JhdGUgbW9kdWxlIHwgV2hhdCBpdCBkb2VzIHxcbi8vISB8LS0tfC0tLXwtLS18XG4vLyEgfCBDKysgZ2x1ZSB8ICooaW50ZXJuYWwpKiB8IElubGluZSB3cmFwcGVycyBhcm91bmQgUXQ1L1F0NiBBUEkgfFxuLy8hIHwgY3h4IGJyaWRnZSB8IFtgZmZpYF0gfCBPcGFxdWUgQysrIHR5cGVzICsgYGV4dGVybiBcIkMrK1wiYCBzaWduYXR1cmVzIHxcbi8vISB8IFNhZmUgd3JhcHBlcnMgfCBbYGFwcGBdLCBbYHdpZGdldGBdLCBbYGJ1dHRvbmBdLCAuLi4gfCBCdWlsZGVyIHBhdHRlcm5zLCBSQUlJLCBzaWduYWxzIHxcbi8vISB8IFB1YmxpYyBBUEkgfCAqKHRoaXMgbW9kdWxlKSogfCBSZS1leHBvcnRzIG9mIGFsbCBzYWZlIHR5cGVzIHxcbi8vIVxuLy8hICMjIFdpZGdldCBnYWxsZXJ5XG4vLyFcbi8vISAjIyMgV2luZG93cyAmIENvbnRhaW5lcnNcbi8vIVxuLy8hIHwgVHlwZSB8IFF0IGNsYXNzIHwgU2lnbmFscyB8XG4vLyEgfC0tLXwtLS18LS0tfFxuLy8hIHwgW2BBcHBsaWNhdGlvbmBdIHwgYFFBcHBsaWNhdGlvbmAgfCDigJQgfFxuLy8hIHwgW2BXaWRnZXRgXSB8IGBRV2lkZ2V0YCB8IOKAlCB8XG4vLyEgfCBbYE1haW5XaW5kb3dgXSB8IGBRTWFpbldpbmRvd2AgfCDigJQgfFxuLy8hIHwgW2BHcm91cEJveGBdIHwgYFFHcm91cEJveGAgfCDigJQgfFxuLy8hIHwgW2BUYWJXaWRnZXRgXSB8IGBRVGFiV2lkZ2V0YCB8IGBvbl9jdXJyZW50X2NoYW5nZWQoaTMyKWAgfFxuLy8hIHwgW2BTdGFja2VkV2lkZ2V0YF0gfCBgUVN0YWNrZWRXaWRnZXRgIHwgYG9uX2N1cnJlbnRfY2hhbmdlZChpMzIpYCB8XG4vLyEgfCBbYFNjcm9sbEFyZWFgXSB8IGBRU2Nyb2xsQXJlYWAgfCDigJQgfFxuLy8hIHwgW2BTcGxpdHRlcmBdIHwgYFFTcGxpdHRlcmAgfCDigJQgfFxuLy8hXG4vLyEgIyMjIEJ1dHRvbnMgJiBDb250cm9sc1xuLy8hXG4vLyEgfCBUeXBlIHwgUXQgY2xhc3MgfCBTaWduYWxzIHxcbi8vISB8LS0tfC0tLXwtLS18XG4vLyEgfCBbYFB1c2hCdXR0b25gXSB8IGBRUHVzaEJ1dHRvbmAgfCBgb25fY2xpY2tlZGAgfFxuLy8hIHwgW2BUb29sQnV0dG9uYF0gfCBgUVRvb2xCdXR0b25gIHwgYG9uX2NsaWNrZWRgPGJyPmBvbl90b2dnbGVkKGJvb2wpYCB8XG4vLyEgfCBbYENoZWNrQm94YF0gfCBgUUNoZWNrQm94YCB8IGBvbl90b2dnbGVkKGJvb2wpYCB8XG4vLyEgfCBbYFJhZGlvQnV0dG9uYF0gfCBgUVJhZGlvQnV0dG9uYCB8IGBvbl90b2dnbGVkKGJvb2wpYCB8XG4vLyEgfCBbYFNsaWRlcmBdIHwgYFFTbGlkZXJgIHwgYG9uX3ZhbHVlX2NoYW5nZWQoaTMyKWAgfFxuLy8hIHwgW2BTcGluQm94YF0gfCBgUVNwaW5Cb3hgIHwgYG9uX3ZhbHVlX2NoYW5nZWQoaTMyKWAgfFxuLy8hIHwgW2BDb21ib0JveGBdIHwgYFFDb21ib0JveGAgfCBgb25fY3VycmVudF90ZXh0X2NoYW5nZWRgPGJyPmBvbl9jdXJyZW50X2luZGV4X2NoYW5nZWQoaTMyKWAgfFxuLy8hXG4vLyEgIyMjIFRleHQgJiBEaXNwbGF5XG4vLyFcbi8vISB8IFR5cGUgfCBRdCBjbGFzcyB8IFNpZ25hbHMgfFxuLy8hIHwtLS18LS0tfC0tLXxcbi8vISB8IFtgTGFiZWxgXSB8IGBRTGFiZWxgIHwg4oCUIHxcbi8vISB8IFtgTGluZUVkaXRgXSB8IGBRTGluZUVkaXRgIHwgYG9uX3JldHVybl9wcmVzc2VkYCB8XG4vLyEgfCBbYFRleHRFZGl0YF0gfCBgUVRleHRFZGl0YCB8IGBvbl90ZXh0X2NoYW5nZWRgIHxcbi8vISB8IFtgUGxhaW5UZXh0RWRpdGBdIHwgYFFQbGFpblRleHRFZGl0YCB8IGBvbl90ZXh0X2NoYW5nZWRgPGJyPmBvbl9jdXJzb3JfcG9zaXRpb25fY2hhbmdlZGAgfFxuLy8hIHwgW2BUZXh0QnJvd3NlcmBdIHwgYFFUZXh0QnJvd3NlcmAgfCBgb25fYW5jaG9yX2NsaWNrZWQoU3RyaW5nKWA8YnI+YG9uX3RleHRfY2hhbmdlZGAgfFxuLy8hIHwgW2BQcm9ncmVzc0JhcmBdIHwgYFFQcm9ncmVzc0JhcmAgfCDigJQgfFxuLy8hXG4vLyEgIyMjIEl0ZW0gVmlld3Ncbi8vIVxuLy8hIHwgVHlwZSB8IFF0IGNsYXNzIHwgU2lnbmFscyB8XG4vLyEgfC0tLXwtLS18LS0tfFxuLy8hIHwgW2BMaXN0V2lkZ2V0YF0gfCBgUUxpc3RXaWRnZXRgIHwgYG9uX2l0ZW1fY2xpY2tlZChTdHJpbmcpYDxicj5gb25faXRlbV9kb3VibGVfY2xpY2tlZChTdHJpbmcpYDxicj5gb25fY3VycmVudF9pdGVtX2NoYW5nZWQoU3RyaW5nKWAgfFxuLy8hIHwgW2BUYWJsZVdpZGdldGBdIHwgYFFUYWJsZVdpZGdldGAgfCBgb25fY2VsbF9jbGlja2VkYDxicj5gb25fY2VsbF9kb3VibGVfY2xpY2tlZGA8YnI+YG9uX2N1cnJlbnRfY2VsbF9jaGFuZ2VkYCB8XG4vLyEgfCBbYFRyZWVXaWRnZXRgXSB8IGBRVHJlZVdpZGdldGAgfCBgb25faXRlbV9jbGlja2VkKFN0cmluZylgPGJyPmBvbl9pdGVtX2RvdWJsZV9jbGlja2VkKFN0cmluZylgPGJyPmBvbl9pdGVtX2V4cGFuZGVkKFN0cmluZylgPGJyPmBvbl9pdGVtX2NvbGxhcHNlZChTdHJpbmcpYDxicj5gb25fY3VycmVudF9pdGVtX2NoYW5nZWQoU3RyaW5nKWAgfFxuLy8hXG4vLyEgIyMjIERhdGUgJiBUaW1lXG4vLyFcbi8vISB8IFR5cGUgfCBRdCBjbGFzcyB8IFNpZ25hbHMgfFxuLy8hIHwtLS18LS0tfC0tLXxcbi8vISB8IFtgRGF0ZUVkaXRgXSB8IGBRRGF0ZUVkaXRgIHwgYG9uX2RhdGVfY2hhbmdlZChTdHJpbmcpYCB8XG4vLyEgfCBbYFRpbWVFZGl0YF0gfCBgUVRpbWVFZGl0YCB8IGBvbl90aW1lX2NoYW5nZWQoU3RyaW5nKWAgfFxuLy8hIHwgW2BEYXRlVGltZUVkaXRgXSB8IGBRRGF0ZVRpbWVFZGl0YCB8IGBvbl9kYXRlX3RpbWVfY2hhbmdlZChTdHJpbmcpYCB8XG4vLyEgfCBbYENhbGVuZGFyV2lkZ2V0YF0gfCBgUUNhbGVuZGFyV2lkZ2V0YCB8IGBvbl9zZWxlY3Rpb25fY2hhbmdlZGA8YnI+YG9uX2FjdGl2YXRlZChTdHJpbmcpYCB8XG4vLyFcbi8vISAjIyMgTWVudXMgJiBUb29sYmFyc1xuLy8hXG4vLyEgfCBUeXBlIHwgUXQgY2xhc3MgfCBTaWduYWxzIHxcbi8vISB8LS0tfC0tLXwtLS18XG4vLyEgfCBbYEFjdGlvbmBdIHwgYFFBY3Rpb25gIHwgYG9uX3RyaWdnZXJlZChib29sKWA8YnI+YG9uX3RvZ2dsZWQoYm9vbClgIHxcbi8vISB8IFtgTWVudWBdIHwgYFFNZW51YCB8IOKAlCB8XG4vLyEgfCBbYE1lbnVCYXJgXSB8IGBRTWVudUJhcmAgfCDigJQgfFxuLy8hIHwgW2BUb29sQmFyYF0gfCBgUVRvb2xCYXJgIHwgcGVyLWFjdGlvbiBjYWxsYmFja3MgdmlhIGBhZGRfYWN0aW9uYCB8XG4vLyEgfCBbYFN0YXR1c0JhcmBdIHwgYFFTdGF0dXNCYXJgIHwg4oCUIHxcbi8vIVxuLy8hICMjIyBEaWFsb2dzXG4vLyFcbi8vISB8IFR5cGUgfCBRdCBjbGFzcyB8IE5vdGVzIHxcbi8vISB8LS0tfC0tLXwtLS18XG4vLyEgfCBbYE1lc3NhZ2VCb3hgXSB8IGBRTWVzc2FnZUJveGAgfCBCdWlsZGVyICsgYGV4ZWMoKWAsIHN0YXRpYyBgYWJvdXQoKWAgfFxuLy8hIHwgW2BGaWxlRGlhbG9nYF0gfCBgUUZpbGVEaWFsb2dgIHwgYG9wZW5fZmlsZWAsIGBzYXZlX2ZpbGVgLCBgc2VsZWN0X2RpcmVjdG9yeWAgKHN0YXRpYykgfFxuLy8hIHwgW2BQcm9ncmVzc0RpYWxvZ2BdIHwgYFFQcm9ncmVzc0RpYWxvZ2AgfCBCdWlsZGVyIHdpdGggYHNldF92YWx1ZWAgLyBgd2FzX2NhbmNlbGVkYCB8XG4vLyEgfCBgaW5wdXRkaWFsb2dgIHwgYFFJbnB1dERpYWxvZ2AgfCBgZ2V0X3RleHRgLCBgZ2V0X2ludGAsIGBnZXRfZG91YmxlYCwgYGdldF9pdGVtYCAoc3RhdGljKSB8XG4vLyEgfCBgZGlhbG9nYCB8IGBRTWVzc2FnZUJveGAgfCBgaW5mb3JtYXRpb25gLCBgd2FybmluZ2AsIGBjcml0aWNhbGAsIGBxdWVzdGlvbmAgKHN0YXRpYykgfFxuLy8hXG4vLyEgIyMjIExheW91dHNcbi8vIVxuLy8hIHwgVHlwZSB8IFF0IGNsYXNzIHwgU2lnbmFscyB8XG4vLyEgfC0tLXwtLS18LS0tfFxuLy8hIHwgW2BWQm94TGF5b3V0YF0gfCBgUVZCb3hMYXlvdXRgIHwg4oCUIHxcbi8vISB8IFtgSEJveExheW91dGBdIHwgYFFIQm94TGF5b3V0YCB8IOKAlCB8XG4vLyEgfCBbYEdyaWRMYXlvdXRgXSB8IGBRR3JpZExheW91dGAgfCDigJQgfFxuLy8hXG4vLyEgIyMjIFN0eWxpbmcgJiBVdGlsaXRpZXNcbi8vIVxuLy8hIHwgVHlwZSB8IFF0IGNsYXNzIHwgU2lnbmFscyB8XG4vLyEgfC0tLXwtLS18LS0tfFxuLy8hIHwgW2BGcmFtZWBdIHwgYFFGcmFtZWAgfCDigJQgKHNoYXBlL3NoYWRvdyBkZWNvcmF0aW9ucykgfFxuLy8hIHwgW2BGb250YF0gfCBgUUZvbnRgIHwg4oCUIChidWlsZGVyOiBmYW1pbHksIHNpemUsIHdlaWdodCkgfFxuLy8hIHwgW2BGb250RXh0YF0gfCAqKHRyYWl0KSogfCBgZm9udCgpYCAvIGBzZXRfZm9udCgpYCBvbiBhbGwgd2lkZ2V0cyB8XG4vLyEgfCBbYFNob3J0Y3V0YF0gfCBgUVNob3J0Y3V0YCB8IGBvbl9hY3RpdmF0ZWQoKWAgKFFPYmplY3QpIHxcbi8vIVxuLy8hICMjIyBTeXN0ZW1cbi8vIVxuLy8hIHwgVHlwZSB8IFF0IGNsYXNzIHwgU2lnbmFscyB8XG4vLyEgfC0tLXwtLS18LS0tfFxuLy8hIHwgW2BUaW1lcmBdIHwgYFFUaW1lcmAgfCBgb25fdGltZW91dGA8YnI+YHNpbmdsZV9zaG90KG1zLCBmbilgIHxcbi8vISB8IFtgU3lzdGVtVHJheUljb25gXSB8IGBRU3lzdGVtVHJheUljb25gIHwgYG9uX2FjdGl2YXRlZChUcmF5SWNvblJlYXNvbilgIHxcbi8vISB8IFtgVWlMb2FkZXJgXSB8IGBRVWlMb2FkZXJgIHwgYC51aWAgZmlsZSBsb2FkaW5nIHxcbi8vISB8IFtgUG9pbnRgXSB8IGBRUG9pbnRgIHwg4oCUIHxcbi8vIVxuLy8hICMjIFF1aWNrIGV4YW1wbGVcbi8vIVxuLy8hIGBgYG5vX3J1blxuLy8hIHVzZSBxdHJzOjpwcmVsdWRlOjoqO1xuLy8hXG4vLyEgZm4gbWFpbigpIHtcbi8vISAgICAgbGV0IGFwcCA9IEFwcGxpY2F0aW9uOjpuZXcoKTtcbi8vIVxuLy8hICAgICBsZXQgbXV0IHdpbmRvdyA9IFdpZGdldDo6bmV3KClcbi8vISAgICAgICAgIC50aXRsZShcIkhlbGxvLCBxdHJzIVwiKVxuLy8hICAgICAgICAgLnNpemUoNDAwLCAzMDApXG4vLyEgICAgICAgICAuYnVpbGQoKTtcbi8vIVxuLy8hICAgICBsZXQgbXV0IGxheW91dCA9IFZCb3hMYXlvdXQ6OndpdGhfcGFyZW50KCZ3aW5kb3cpO1xuLy8hXG4vLyEgICAgIGxldCBidG4gPSBQdXNoQnV0dG9uOjpuZXcoXCJDbGljayBtZVwiKVxuLy8hICAgICAgICAgLm9uX2NsaWNrZWQofHwgcHJpbnRsbiEoXCJjbGlja2VkIVwiKSlcbi8vISAgICAgICAgIC5idWlsZCgpO1xuLy8hICAgICBsZXQgbGFiZWwgPSBMYWJlbDo6bmV3KFwiV2VsY29tZSFcIikuYnVpbGQoKTtcbi8vIVxuLy8hICAgICBsYXlvdXQuYWRkKGJ0bik7XG4vLyEgICAgIGxheW91dC5hZGQobGFiZWwpO1xuLy8hXG4vLyEgICAgIHdpbmRvdy5zZXRfbGF5b3V0KCZsYXlvdXQpO1xuLy8hICAgICB3aW5kb3cuc2hvdygpO1xuLy8hXG4vLyEgICAgIGFwcC5leGVjKCk7XG4vLyEgfVxuLy8hIGBgYFxuLy8hXG4vLyEgIyMgVGhyZWFkIHNhZmV0eVxuLy8hXG4vLyEgUXQgR1VJIGNsYXNzZXMgYXJlICoqbm90IHRocmVhZC1zYWZlKiouIEFsbCB3aWRnZXQgY3JlYXRpb24sIG11dGF0aW9uLFxuLy8hIGFuZCB0aGUgZXZlbnQgbG9vcCBtdXN0IGhhcHBlbiBvbiB0aGUgbWFpbiB0aHJlYWQuIFRoaXMgbGlicmFyeSBkb2VzXG4vLyEgbm90IGFkZCBhbnkgc3luY2hyb25pc2F0aW9uIOKAlCB5b3UgYXJlIHJlc3BvbnNpYmxlIGZvciBzdGF5aW5nIG9uIHRoZVxuLy8hIHJpZ2h0IHRocmVhZCwganVzdCBhcyBpbiBDKysgUXQuXG4vLyFcbi8vISAjIyBMaW5raW5nXG4vLyFcbi8vISBRdDYgKENvcmUsIEd1aSwgV2lkZ2V0cykgbXVzdCBiZSBpbnN0YWxsZWQgd2l0aCBkZXZlbG9wbWVudCBoZWFkZXJzLlxuLy8hIFRoZSBidWlsZCBzY3JpcHQgdXNlcyBgcW1ha2VgIHRvIGxvY2F0ZSB0aGVtLiBJZiB5b3Ugc2VlXG4vLyEgYFF0IG5vdCBmb3VuZCFgLCBpbnN0YWxsIHRoZSBgcXQ2LWJhc2UtZGV2YCBwYWNrYWdlXG4vLyEgKG9yIGVxdWl2YWxlbnQpIGZvciB5b3VyIGRpc3RyaWJ1dGlvbi5cblxucHViIG1vZCBhY3Rpb247XG5wdWIgbW9kIGFwcDtcbnB1YiBtb2QgYnV0dG9uO1xucHViIG1vZCBjaGVja2JveDtcbnB1YiBtb2QgY29tYm9ib3g7XG5wdWIgbW9kIGNvbm47XG5wdWIgbW9kIGRhdGVlZGl0O1xucHViIG1vZCBkYXRldGltZWVkaXQ7XG5wdWIgbW9kIGRpYWxvZztcbnB1YiBtb2QgZmZpO1xucHViIG1vZCBncmlkO1xucHViIG1vZCBncm91cGJveDtcbnB1YiBtb2QgaW5wdXQ7XG5wdWIgbW9kIGlucHV0ZGlhbG9nO1xucHViIG1vZCBsYWJlbDtcbnB1YiBtb2QgbGF5b3V0O1xucHViIG1vZCBsaXN0d2lkZ2V0O1xucHViIG1vZCBtZW51O1xucHViIG1vZCBtYWlud2luZG93O1xucHViIG1vZCBtZXNzYWdlYm94O1xuXG5bMTEwIG1vcmUgbGluZXMgaW4gZmlsZS4gVXNlIG9mZnNldD0yMDEgdG8gY29udGludWUuXSJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTUzMjIzM319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImQzYjgxMmQzIiwicGFyZW50SWQiOiI0ZjU2Zjg2NyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDU6NDAuNjA4WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipJbnNwZWN0aW5nIFRyZWUgQVBJIGZvciBxdHJzKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVjZTM0YTQ4MTkxYjQwNWYyM2UzOTg5NmI1ZVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjdVM2RtWFduYXY2bHBCOGVHNzUySHllTFh3b0FKb2FieFpWazZJRm04bTNBX3Q0SF9WWDJjYVdTWDI0d0FLSHBfc0FlSHVpaXdONDV6eVRoMlpFSnhDMEZKTUowdkhGSUVzUXhGemMySlRFX1RKQnV6c0RicS16bTJGZnZuQjF5WFRxbDJTRGpsVTRMRkM3REJPUldXb0hMNEtIUHNWNE1kb2t1UnFtWmstVzdPUDUwVzFHUHlHT0RRX1dHZ2xacXFZMlRyMEtRT3drSDFmV0d4Qms1S0VlR2tpZ0tDX1laUUN5YjRpOVN4QlQ0Rnl5ZHVjQlU0REtxRzF4dmlqLWhvVnY3ZHlwV0I4YXFnQ1dDekM4bmliV0h0dm5HYzA3LVl1MVJ0MC1vX0wwMnhUZnZhMGQ2aEE1dTBtb0ZGMnpQOWVYTGYwMDNCTzA3bGp4ZjRvWUV4TWRTSTE4QXdBdXo3M042VTlselM2aHVCM2tGUTNDRUtKalNuVVV6TEFPNXk2cDVUbjlfZmJZWnlsZ2hkYU90Mm4zRjlMY3pNLXJPZDRmLVRfSUw0NmJUaGJMdUVOYUg3eHBGYURIQ1dadGFRdG5yQTNKMEwzeEx5MU56V0xYcU9iMTZ2MURRN0pEVVkwaExuRUt1Z3NYcTZkUng2Ri1UdjdtN0t2YnNCSm9Zcm5qaGJPRmoyT3Q4YmFxYU9ORFJwSGZkMkgzdlpKSksyUXBkbllybjZQUklsMEZOMXUzdmFCYXd0S29JQUl6RE5BUWw0QVZyeVhaMkswdXA3Wm1FRWowaUR3UU9OWXZMYWFpd2xlNFdqaVcwTURPWG9XM2pnN1YtY2tsUWVXUUVBS2phWkV1Wll6ZzRERFV6ckZHREk3cGhXMHZOUloxSl9OOG5zT2JKSHlwNlpTYV94VzJfajMybUZ2bVBuMDlrbm9RM1VhdHRxak9JbkI5SXJkWDFxSlFOOFdXOGRsbWJ1TEljVWpJQjFiRnJGVEstNnRLdy15aTZKbGVlSFVFWlA5dWRhWFA3ZG5zeFY5dGJoUXlFbHJNUGdvUmZUVFhjakZZRGRXS1AyejhqcFZTTVdVOFg2czc4bFQtOXlYSVhncE5NMjk2MjVEZEtVN21KakRxa0N3Qm05ZGtrZm9HSmI3SDRUX3hkV09nc0hTbzZPa0Z1VXpzY1lSdm1KZmVlNk1FT0ppQ29Wc2FNdUtqWGtZdzlVSnMtVGdkVjJxUUJkZHNiYUJPa0k3dlRpSElCM3phcURWcG9RV2FMVV9DNHZkVjRJUWZ3QXpSbmQtYnkwSmsyVXRWcFR6OHZSNUxidUg4aU8zaHpXQVpCNDhGQklFMzQ0VjlnRmpLUUZwVUdmQjBJanF3QTh5blhCWDlPVlpZbjBnekpocWEwNUVnRUF4RVFFNlQxXzJocm89XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipJbnNwZWN0aW5nIFRyZWUgQVBJIGZvciBxdHJzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX290cHdGc0Jod1RCRVk2MkNUbVg1Z3NVUHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVkNDcxZmM4MTkxOTIwZGE1Y2VhOTJhMTQ2NCIsIm5hbWUiOiJyZWFkIiwiYXJndW1lbnRzIjp7InBhdGgiOiIvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvZXhhbXBsZXMvZGVtby9kZW1vLnJzIiwibGltaXQiOjUwMH19LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzQ4cXZRTnQ0cUtQY21NV3o3S0hQRnAxWHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVkNDcyMGM4MTkxODc2M2ZhN2YxMjE0YzYxMSIsIm5hbWUiOiJyZWFkIiwiYXJndW1lbnRzIjp7InBhdGgiOiIvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3F0cnMtMC40LjIvc3JjL3RyZWV3aWRnZXQucnMiLCJsaW1pdCI6MzAwfX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfRFQ1N2V5NHZ3S0dLMmFLSFFxeThpbWpxfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWQ0NzIxNDgxOTFiYjFmN2I5MjFkMTBmMDZlIiwibmFtZSI6InJlYWQiLCJhcmd1bWVudHMiOnsicGF0aCI6Ii9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvaW5wdXRkaWFsb2cucnMiLCJsaW1pdCI6MjIwfX0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfamxHNElLand2U3NOVzlTSE5DWmg0dWxofGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWQ0NzIxODgxOTE4Y2VlMzBjNzcxODc0YjljIiwibmFtZSI6InJlYWQiLCJhcmd1bWVudHMiOnsicGF0aCI6Ii9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcXRycy0wLjQuMi9zcmMvZmlsZWRpYWxvZy5ycyIsImxpbWl0IjoyMDB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6NTc4Mywib3V0cHV0IjoyNzUsImNhY2hlUmVhZCI6MTAzOTM2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjI1LCJ0b3RhbFRva2VucyI6MTA5OTk0LCJjb3N0Ijp7ImlucHV0IjowLjAyODkxNTAwMDAwMDAwMDAwMywib3V0cHV0IjowLjAwODI1LCJjYWNoZVJlYWQiOjAuMDUxOTY4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wODkxMzN9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1MzIyMzcsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWNjOWI2YzgxOTE5ZDRhNjA4YTdiZTJkZjc4In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjhhNjM0MzhkIiwicGFyZW50SWQiOiJkM2I4MTJkMyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDU6NDAuNjEwWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9vdHB3RnNCaHdUQkVZNjJDVG1YNWdzVVB8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlZDQ3MWZjODE5MTkyMGRhNWNlYTkyYTE0NjQiLCJ0b29sTmFtZSI6InJlYWQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIvLyBleGFtcGxlcy9kZW1vLnJzIOKAlCBxdHJzIHdpZGdldCBnYWxsZXJ5IGRlbW9cbi8vXG4vLyBSdW46IGNhcmdvIHJ1biAtLWV4YW1wbGUgZGVtb1xuXG51c2UgcXRyczo6cHJlbHVkZTo6KjtcbnVzZSBxdHJzOjpkaWFsb2c7XG51c2UgcXRyczo6c2lnbmFsczo6c2xpZGVyX3NpZ25hbHM6OlZBTFVFX0NIQU5HRUQgYXMgU0xJREVSX1ZBTFVFX0NIQU5HRUQ7XG51c2UgcXRyczo6c2lnbmFsczo6c3Bpbl9ib3hfc2lnbmFsczo6VkFMVUVfQ0hBTkdFRCBhcyBTUElOX1ZBTFVFX0NIQU5HRUQ7XG51c2UgcXRyczo6c2lnbmFsczo6c3Bpbl9ib3hfc2xvdHM6OlNFVF9WQUxVRTtcbnVzZSBxdHJzOjpzaWduYWxzOjpzbGlkZXJfc2xvdHM6OlNFVF9WQUxVRSBhcyBTTElERVJfU0VUX1ZBTFVFO1xudXNlIHF0cnM6OnNpZ25hbHM6OnByb2dyZXNzX2Jhcl9zbG90czo6U0VUX1ZBTFVFIGFzIFBCX1NFVF9WQUxVRTtcblxuZm4gbWFpbigpIHtcbiAgICBsZXQgYXBwID0gQXBwbGljYXRpb246Om5ldygpO1xuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gTWFpbiB3aW5kb3dcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBsZXQgd2luZG93ID0gV2lkZ2V0OjpuZXcoKVxuICAgICAgICAudGl0bGUoXCJxdHJzIFdpZGdldCBHYWxsZXJ5XCIpXG4gICAgICAgIC5pY29uKFwiYXNzZXRzL2ljb24ucG5nXCIpXG4gICAgICAgIC5zaXplKDkwMCwgNzAwKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIE1haW4gbGF5b3V0XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgbGV0IG11dCBtYWluX2xheW91dCA9IFZCb3hMYXlvdXQ6OndpdGhfcGFyZW50KCZ3aW5kb3cpO1xuICAgIG1haW5fbGF5b3V0LnNldF9zcGFjaW5nKDEwKTtcbiAgICBtYWluX2xheW91dC5zZXRfY29udGVudHNfbWFyZ2lucygxNSwgMTUsIDE1LCAxNSk7XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBUaXRsZVxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGxldCB0aXRsZV9sYWJlbCA9IExhYmVsOjpuZXcoXCJcXG5xdHJzIFdpZGdldCBHYWxsZXJ5XCIpXG4gICAgICAgIC5wYXJlbnQoJndpbmRvdylcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgbWFpbl9sYXlvdXQuYWRkKHRpdGxlX2xhYmVsKTtcbiAgICBcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBTZWN0aW9uIDE6IEJ1dHRvbnNcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBsZXQgZ3JvdXAxID0gR3JvdXBCb3g6Om5ldyhcIkJ1dHRvbnNcIilcbiAgICAgICAgLnBhcmVudCgmd2luZG93KVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBsZXQgbXV0IGcxX2xheW91dCA9IFZCb3hMYXlvdXQ6OndpdGhfcGFyZW50KCZncm91cDEpO1xuICAgIGcxX2xheW91dC5zZXRfc3BhY2luZyg4KTtcblxuICAgIC8vIFB1c2hCdXR0b25cbiAgICBsZXQgYnRuID0gUHVzaEJ1dHRvbjo6bmV3KFwiQ2xpY2sgTWVcIilcbiAgICAgICAgLm9uX2NsaWNrZWQofHwgcHJpbnRsbiEoXCJbTE9HXSBCdXR0b24gY2xpY2tlZFwiKSlcbiAgICAgICAgLnBhcmVudCgmZ3JvdXAxKVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBnMV9sYXlvdXQuYWRkKGJ0bik7XG5cbiAgICAvLyBDaGVja0JveFxuICAgIGxldCBjYiA9IENoZWNrQm94OjpuZXcoXCJDaGVjayBtZVwiKVxuICAgICAgICAuY2hlY2tlZChmYWxzZSlcbiAgICAgICAgLm9uX3RvZ2dsZWQofGNoZWNrZWR8IHByaW50bG4hKFwiW0xPR10gQ2hlY2tCb3g6IHt9XCIsIGNoZWNrZWQpKVxuICAgICAgICAucGFyZW50KCZncm91cDEpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGcxX2xheW91dC5hZGQoY2IpO1xuXG4gICAgLy8gUmFkaW9CdXR0b24gZ3JvdXBcbiAgICBsZXQgcmIxX2xhYmVsID0gTGFiZWw6Om5ldyhcIlJhZGlvIEdyb3VwIChjbGljayB0byBsb2cpOlwiKS5wYXJlbnQoJmdyb3VwMSkuYnVpbGQoKTtcbiAgICBnMV9sYXlvdXQuYWRkKHJiMV9sYWJlbCk7XG5cbiAgICBsZXQgcmIxID0gUmFkaW9CdXR0b246Om5ldyhcIk9wdGlvbiBBXCIpXG4gICAgICAgIC5jaGVja2VkKHRydWUpXG4gICAgICAgIC5vbl90b2dnbGVkKHxjaGVja2VkfCB7XG4gICAgICAgICAgICBpZiBjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBwcmludGxuIShcIltMT0ddIFJhZGlvIHNlbGVjdGVkOiBBXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAucGFyZW50KCZncm91cDEpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGcxX2xheW91dC5hZGQocmIxKTtcblxuICAgIGxldCByYjIgPSBSYWRpb0J1dHRvbjo6bmV3KFwiT3B0aW9uIEJcIilcbiAgICAgICAgLmNoZWNrZWQoZmFsc2UpXG4gICAgICAgIC5vbl90b2dnbGVkKHxjaGVja2VkfCB7XG4gICAgICAgICAgICBpZiBjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBwcmludGxuIShcIltMT0ddIFJhZGlvIHNlbGVjdGVkOiBCXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAucGFyZW50KCZncm91cDEpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGcxX2xheW91dC5hZGQocmIyKTtcblxuICAgIGxldCByYjMgPSBSYWRpb0J1dHRvbjo6bmV3KFwiT3B0aW9uIENcIilcbiAgICAgICAgLmNoZWNrZWQoZmFsc2UpXG4gICAgICAgIC5vbl90b2dnbGVkKHxjaGVja2VkfCB7XG4gICAgICAgICAgICBpZiBjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBwcmludGxuIShcIltMT0ddIFJhZGlvIHNlbGVjdGVkOiBDXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAucGFyZW50KCZncm91cDEpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGcxX2xheW91dC5hZGQocmIzKTtcblxuICAgIG1haW5fbGF5b3V0LmFkZChncm91cDEpO1xuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gU2VjdGlvbiAyOiBJbnB1dCB3aWRnZXRzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgbGV0IGdyb3VwMiA9IEdyb3VwQm94OjpuZXcoXCJJbnB1dHNcIilcbiAgICAgICAgLnBhcmVudCgmd2luZG93KVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBsZXQgbXV0IGcyX2xheW91dCA9IFZCb3hMYXlvdXQ6OndpdGhfcGFyZW50KCZncm91cDIpO1xuICAgIGcyX2xheW91dC5zZXRfc3BhY2luZyg4KTtcblxuICAgIC8vIExpbmVFZGl0XG4gICAgbGV0IGVkaXQgPSBMaW5lRWRpdDo6bmV3KFwiVHlwZSB0ZXh0IGhlcmUuLi5cIilcbiAgICAgICAgLm9uX3JldHVybl9wcmVzc2VkKHx8IHByaW50bG4hKFwiW0xPR10gTGluZUVkaXQgcmV0dXJuIHByZXNzZWRcIikpXG4gICAgICAgIC5wYXJlbnQoJmdyb3VwMilcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgZzJfbGF5b3V0LmFkZChlZGl0KTtcblxuICAgIC8vIENvbWJvQm94XG4gICAgbGV0IG11dCBjb21ibyA9IENvbWJvQm94OjpuZXcoKVxuICAgICAgICAuaXRlbXMoJltcIkl0ZW0gMVwiLCBcIkl0ZW0gMlwiLCBcIkl0ZW0gM1wiLCBcIkl0ZW0gNFwiXSlcbiAgICAgICAgLm9uX2N1cnJlbnRfdGV4dF9jaGFuZ2VkKHx8IHByaW50bG4hKFwiW0xPR10gQ29tYm9Cb3ggdGV4dCBjaGFuZ2VkXCIpKVxuICAgICAgICAucGFyZW50KCZncm91cDIpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGNvbWJvLmNvbm5lY3RfY3VycmVudF9pbmRleF9jaGFuZ2VkKHxpZHh8IHtcbiAgICAgICAgcHJpbnRsbiEoXCJbTE9HXSBDb21ib0JveCBpbmRleDoge31cIiwgaWR4KTtcbiAgICB9KTtcbiAgICBnMl9sYXlvdXQuYWRkKGNvbWJvKTtcblxuICAgIC8vIFRleHRFZGl0XG4gICAgbGV0IHRleHRfZWRpdCA9IFRleHRFZGl0OjpuZXcoKVxuICAgICAgICAucGxhY2Vob2xkZXIoXCJXcml0ZSBtdWx0aS1saW5lIHRleHQgaGVyZS4uLlwiKVxuICAgICAgICAub25fdGV4dF9jaGFuZ2VkKHx8IHByaW50bG4hKFwiW0xPR10gVGV4dEVkaXQgY29udGVudCBjaGFuZ2VkXCIpKVxuICAgICAgICAucGFyZW50KCZncm91cDIpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGcyX2xheW91dC5hZGQodGV4dF9lZGl0KTtcblxuICAgIG1haW5fbGF5b3V0LmFkZChncm91cDIpO1xuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gU2VjdGlvbiAzOiBGdWxsIEJpZGlyZWN0aW9uYWwgU3luYyAoU2xpZGVyIOKGlCBTcGluQm94IOKGkiBQcm9ncmVzc0JhcilcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBsZXQgZ3JvdXAzID0gR3JvdXBCb3g6Om5ldyhcIlZhbHVlc1wiKVxuICAgICAgICAucGFyZW50KCZ3aW5kb3cpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGxldCBtdXQgZzNfbGF5b3V0ID0gVkJveExheW91dDo6d2l0aF9wYXJlbnQoJmdyb3VwMyk7XG4gICAgZzNfbGF5b3V0LnNldF9zcGFjaW5nKDgpO1xuXG4gICAgLy8gQnVpbGQgYWxsIHdpZGdldHMgZmlyc3QgKGJlZm9yZSBhZGRpbmcgdG8gbGF5b3V0KVxuICAgIGxldCBiYXIgPSBQcm9ncmVzc0Jhcjo6bmV3KClcbiAgICAgICAgLnJhbmdlKDAsIDEwMClcbiAgICAgICAgLnZhbHVlKDUwKVxuICAgICAgICAuZm9ybWF0KFwiJXAlXCIpXG4gICAgICAgIC5wYXJlbnQoJmdyb3VwMylcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBsZXQgc2xpZGVyID0gU2xpZGVyOjpob3Jpem9udGFsKClcbiAgICAgICAgLnJhbmdlKDAsIDEwMClcbiAgICAgICAgLnBhcmVudCgmZ3JvdXAzKVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBzbGlkZXIuc2V0X3ZhbHVlKDUwKTtcblxuICAgIGxldCBzcGluID0gU3BpbkJveDo6bmV3KClcbiAgICAgICAgLnJhbmdlKDAsIDEwMClcbiAgICAgICAgLnZhbHVlKDUwKVxuICAgICAgICAuc3VmZml4KFwiIHVuaXRzXCIpXG4gICAgICAgIC5wYXJlbnQoJmdyb3VwMylcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBBTEwgY29ubmVjdGlvbnMgQkVGT1JFIGFkZGluZyB0byBsYXlvdXRcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIC8vIFNsaWRlciDihpIgU3BpbkJveCAoYmlkaXJlY3Rpb25hbClcbiAgICBzbGlkZXIuY29ubmVjdChcbiAgICAgICAgU0xJREVSX1ZBTFVFX0NIQU5HRUQsXG4gICAgICAgICZzcGluLFxuICAgICAgICBTRVRfVkFMVUUsXG4gICAgICAgIENvbm5UeXBlOjpRdWV1ZWQsXG4gICAgKTtcblxuICAgIC8vIFNwaW5Cb3gg4oaSIFNsaWRlciAoYmlkaXJlY3Rpb25hbClcbiAgICBzcGluLmNvbm5lY3QoXG4gICAgICAgIFNQSU5fVkFMVUVfQ0hBTkdFRCxcbiAgICAgICAgJnNsaWRlcixcbiAgICAgICAgU0xJREVSX1NFVF9WQUxVRSxcbiAgICAgICAgQ29ublR5cGU6OlF1ZXVlZCxcbiAgICApO1xuXG4gICAgLy8gU2xpZGVyIOKGkiBQcm9ncmVzc0JhclxuICAgIHNsaWRlci5jb25uZWN0KFxuICAgICAgICBTTElERVJfVkFMVUVfQ0hBTkdFRCxcbiAgICAgICAgJmJhcixcbiAgICAgICAgUEJfU0VUX1ZBTFVFLFxuICAgICAgICBDb25uVHlwZTo6QXV0byxcbiAgICApO1xuXG4gICAgLy8gU3BpbkJveCDihpIgUHJvZ3Jlc3NCYXJcbiAgICBzcGluLmNvbm5lY3QoXG4gICAgICAgIFNQSU5fVkFMVUVfQ0hBTkdFRCxcbiAgICAgICAgJmJhcixcbiAgICAgICAgUEJfU0VUX1ZBTFVFLFxuICAgICAgICBDb25uVHlwZTo6QXV0byxcbiAgICApO1xuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gTk9XIGFkZCB3aWRnZXRzIHRvIGxheW91dCAoYWZ0ZXIgYWxsIGNvbm5lY3Rpb25zKVxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGczX2xheW91dC5hZGQoYmFyKTtcbiAgICBnM19sYXlvdXQuYWRkKHNsaWRlcik7XG4gICAgZzNfbGF5b3V0LmFkZChzcGluKTtcblxuICAgIG1haW5fbGF5b3V0LmFkZChncm91cDMpO1xuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gU2VjdGlvbiA0OiBUYWJXaWRnZXRcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBsZXQgbXV0IHRhYnMgPSBUYWJXaWRnZXQ6Om5ldygpXG4gICAgICAgIC5vbl9jdXJyZW50X2NoYW5nZWQofGlkeHwgcHJpbnRsbiEoXCJbTE9HXSBUYWIgY2hhbmdlZCB0bzoge31cIiwgaWR4KSlcbiAgICAgICAgLnBhcmVudCgmd2luZG93KVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIC8vIFRhYiAxOiBTaW1wbGUgdGV4dFxuICAgIGxldCB0YWIxID0gV2lkZ2V0OjpuZXcoKS5wYXJlbnQoJnRhYnMpLmJ1aWxkKCk7XG4gICAgbGV0IG11dCB0YWIxX2xheW91dCA9IFZCb3hMYXlvdXQ6OndpdGhfcGFyZW50KCZ0YWIxKTtcbiAgICBsZXQgdGFiMV9sYWJlbCA9IExhYmVsOjpuZXcoXCJUaGlzIGlzIFRhYiAxXCIpLnBhcmVudCgmdGFiMSkuYnVpbGQoKTtcbiAgICB0YWIxX2xheW91dC5hZGQodGFiMV9sYWJlbCk7XG4gICAgdGFicy5hZGRfdGFiKEJveDo6bmV3KHRhYjEpLCBcIlRhYiAxXCIpO1xuXG4gICAgLy8gVGFiIDI6IENoZWNrQm94ZXNcbiAgICBsZXQgdGFiMiA9IFdpZGdldDo6bmV3KCkucGFyZW50KCZ0YWJzKS5idWlsZCgpO1xuICAgIGxldCBtdXQgdGFiMl9sYXlvdXQgPSBWQm94TGF5b3V0Ojp3aXRoX3BhcmVudCgmdGFiMik7XG4gICAgbGV0IGNiMSA9IENoZWNrQm94OjpuZXcoXCJPcHRpb24gWFwiKS5wYXJlbnQoJnRhYjIpLmJ1aWxkKCk7XG4gICAgbGV0IGNiMiA9IENoZWNrQm94OjpuZXcoXCJPcHRpb24gWVwiKS5wYXJlbnQoJnRhYjIpLmJ1aWxkKCk7XG4gICAgdGFiMl9sYXlvdXQuYWRkKGNiMSk7XG4gICAgdGFiMl9sYXlvdXQuYWRkKGNiMik7XG4gICAgdGFicy5hZGRfdGFiKEJveDo6bmV3KHRhYjIpLCBcIlRhYiAyXCIpO1xuXG4gICAgLy8gVGFiIDM6IEJ1dHRvblxuICAgIGxldCB0YWIzID0gV2lkZ2V0OjpuZXcoKS5wYXJlbnQoJnRhYnMpLmJ1aWxkKCk7XG4gICAgbGV0IG11dCB0YWIzX2xheW91dCA9IFZCb3hMYXlvdXQ6OndpdGhfcGFyZW50KCZ0YWIzKTtcbiAgICBsZXQgYnRuX3RhYjMgPSBQdXNoQnV0dG9uOjpuZXcoXCJUYWIgMyBCdXR0b25cIilcbiAgICAgICAgLm9uX2NsaWNrZWQofHwgcHJpbnRsbiEoXCJbTE9HXSBUYWIgMyBidXR0b24gY2xpY2tlZFwiKSlcbiAgICAgICAgLnBhcmVudCgmdGFiMylcbiAgICAgICAgLmJ1aWxkKCk7XG4gICAgdGFiM19sYXlvdXQuYWRkKGJ0bl90YWIzKTtcbiAgICB0YWJzLmFkZF90YWIoQm94OjpuZXcodGFiMyksIFwiVGFiIDNcIik7XG5cbiAgICBtYWluX2xheW91dC5hZGQodGFicyk7XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBTZWN0aW9uIDU6IE1lbnUgKyBNZW51QmFyXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgbGV0IGZpbGVfbWVudSA9IE1lbnU6Om5ldyhcIkZpbGVcIilcbiAgICAgICAgLmFjdGlvbihcIk5ld1wiLCB8fCBwcmludGxuIShcIltMT0ddIE1lbnU6IE5ld1wiKSlcbiAgICAgICAgLmFjdGlvbihcIk9wZW5cIiwgfHwge1xuICAgICAgICAgICAgcHJpbnRsbiEoXCJbTE9HXSBNZW51OiBPcGVuXCIpO1xuICAgICAgICAgICAgaWYgbGV0IFNvbWUocGF0aCkgPSBGaWxlRGlhbG9nOjpvcGVuX2ZpbGUoXG4gICAgICAgICAgICAgICAgTm9uZSwgIC8vIE5vIHBhcmVudCBuZWVkZWRcbiAgICAgICAgICAgICAgICBcIlNlbGVjdCBhIGZpbGVcIixcbiAgICAgICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgICAgIFwiQWxsIEZpbGVzICgqLiopOztUZXh0IEZpbGVzICgqLnR4dCk7O0ltYWdlcyAoKi5wbmcgKi5qcGcgKi5ibXApXCJcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHByaW50bG4hKFwiW0xPR10gRmlsZSBzZWxlY3RlZDoge31cIiwgcGF0aCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHByaW50bG4hKFwiW0xPR10gRmlsZSBkaWFsb2cgY2FuY2VsbGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuYWN0aW9uKFwiU2F2ZVwiLCB8fCB7XG4gICAgICAgICAgICBwcmludGxuIShcIltMT0ddIE1lbnU6IFNhdmVcIik7XG4gICAgICAgICAgICBpZiBsZXQgU29tZShwYXRoKSA9IEZpbGVEaWFsb2c6OnNlbGVjdF9kaXJlY3RvcnkoXG4gICAgICAgICAgICAgICAgTm9uZSwgXCJTZWxlY3QgYSBkaXJlY3RvcnkgdG8gc2F2ZVwiLCBcbiAgICAgICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcHJpbnRsbiEoXCJbTE9HXSBEaXJlY3Rvcnkgc2VsZWN0ZWQ6IHt9XCIsIHBhdGgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwcmludGxuIShcIltMT0ddIEZpbGUgZGlhbG9nIGNhbmNlbGxlZFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmFjdGlvbihcIkV4aXRcIiwgfHwge1xuICAgICAgICAgICAgcHJpbnRsbiEoXCJbTE9HXSBNZW51OiBFeGl0XCIpO1xuICAgICAgICAgICAgc3RkOjpwcm9jZXNzOjpleGl0KDApO1xuICAgICAgICB9KVxuICAgICAgICAucGFyZW50KCZ3aW5kb3cpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgbGV0IGVkaXRfbWVudSA9IE1lbnU6Om5ldyhcIkVkaXRcIilcbiAgICAgICAgLmFjdGlvbihcIkNvcHlcIiwgfHwgcHJpbnRsbiEoXCJbTE9HXSBNZW51OiBDb3B5XCIpKVxuICAgICAgICAuYWN0aW9uKFwiUGFzdGVcIiwgfHwgcHJpbnRsbiEoXCJbTE9HXSBNZW51OiBQYXN0ZVwiKSlcbiAgICAgICAgLmFjdGlvbihcIkN1dFwiLCB8fCBwcmludGxuIShcIltMT0ddIE1lbnU6IEN1dFwiKSlcbiAgICAgICAgLnBhcmVudCgmd2luZG93KVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGxldCBoZWxwX21lbnUgPSBNZW51OjpuZXcoXCJIZWxwXCIpXG4gICAgICAgIC5hY3Rpb24oXCJBYm91dFwiLCB8fCB7XG4gICAgICAgICAgICBwcmludGxuIShcIltMT0ddIE1lbnU6IEFib3V0XCIpO1xuICAgICAgICAgICAgZGlhbG9nOjppbmZvcm1hdGlvbihcbiAgICAgICAgICAgICAgICBOb25lLCAgLy8gTm8gcGFyZW50IG5lZWRlZFxuICAgICAgICAgICAgICAgIFwiQWJvdXRcIixcbiAgICAgICAgICAgICAgICBcInF0cnMgV2lkZ2V0IEdhbGxlcnlcXG5WZXJzaW9uIDAuNC4yXFxuXFxuQWxsIHdpZGdldHMgdGVzdFwiLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICAgLnBhcmVudCgmd2luZG93KVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGxldCBfbWVudWJhciA9IE1lbnVCYXI6Om5ldygpXG4gICAgICAgIC5hZGRfbWVudShmaWxlX21lbnUpXG4gICAgICAgIC5hZGRfbWVudShlZGl0X21lbnUpXG4gICAgICAgIC5hZGRfbWVudShoZWxwX21lbnUpXG4gICAgICAgIC5wYXJlbnQoJndpbmRvdylcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBCb3R0b20gYnV0dG9uczogRGlhbG9nc1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGxldCBtdXQgYm90dG9tX2xheW91dCA9IEhCb3hMYXlvdXQ6Om5ldygpO1xuICAgIGJvdHRvbV9sYXlvdXQuc2V0X3NwYWNpbmcoMTApO1xuXG4gICAgbGV0IGluZm9fYnRuID0gUHVzaEJ1dHRvbjo6bmV3KFwiU2hvdyBJbmZvXCIpXG4gICAgICAgIC5vbl9jbGlja2VkKHx8IHtcbiAgICAgICAgICAgIHByaW50bG4hKFwiW0xPR10gSW5mbyBkaWFsb2cgc2hvd25cIik7XG4gICAgICAgICAgICBkaWFsb2c6OmluZm9ybWF0aW9uKE5vbmUsIFwiSW5mb1wiLCBcIlRoaXMgaXMgYW4gaW5mb3JtYXRpb24gZGlhbG9nXCIpO1xuICAgICAgICB9KVxuICAgICAgICAucGFyZW50KCZ3aW5kb3cpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGJvdHRvbV9sYXlvdXQuYWRkKGluZm9fYnRuKTtcblxuICAgIGxldCB3YXJuX2J0biA9IFB1c2hCdXR0b246Om5ldyhcIlNob3cgV2FybmluZ1wiKVxuICAgICAgICAub25fY2xpY2tlZCh8fCB7XG4gICAgICAgICAgICBwcmludGxuIShcIltMT0ddIFdhcm5pbmcgZGlhbG9nIHNob3duXCIpO1xuICAgICAgICAgICAgZGlhbG9nOjp3YXJuaW5nKE5vbmUsIFwiV2FybmluZ1wiLCBcIlRoaXMgaXMgYSB3YXJuaW5nIGRpYWxvZ1wiKTtcbiAgICAgICAgfSlcbiAgICAgICAgLnBhcmVudCgmd2luZG93KVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBib3R0b21fbGF5b3V0LmFkZCh3YXJuX2J0bik7XG5cbiAgICBsZXQgYXNrX2J0biA9IFB1c2hCdXR0b246Om5ldyhcIkFzayBRdWVzdGlvblwiKVxuICAgICAgICAub25fY2xpY2tlZCh8fCB7XG4gICAgICAgICAgICBwcmludGxuIShcIltMT0ddIFF1ZXN0aW9uIGRpYWxvZyBzaG93blwiKTtcbiAgICAgICAgICAgIGxldCBhbnN3ZXIgPSBkaWFsb2c6OnF1ZXN0aW9uKE5vbmUsIFwiUXVlc3Rpb25cIiwgXCJBcmUgeW91IHN1cmU/XCIpO1xuICAgICAgICAgICAgcHJpbnRsbiEoXCJbTE9HXSBBbnN3ZXI6IHt9XCIsIGlmIGFuc3dlciB7IFwiWWVzXCIgfSBlbHNlIHsgXCJOb1wiIH0pO1xuICAgICAgICB9KVxuICAgICAgICAucGFyZW50KCZ3aW5kb3cpXG4gICAgICAgIC5idWlsZCgpO1xuICAgIGJvdHRvbV9sYXlvdXQuYWRkKGFza19idG4pO1xuXG4gICAgbGV0IG11dCBib3R0b21fd2lkZ2V0ID0gV2lkZ2V0OjpuZXcoKS5wYXJlbnQoJndpbmRvdykuYnVpbGQoKTtcbiAgICBib3R0b21fd2lkZ2V0LnNldF9sYXlvdXQoJmJvdHRvbV9sYXlvdXQpO1xuICAgIG1haW5fbGF5b3V0LmFkZChib3R0b21fd2lkZ2V0KTtcblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIFN0YXR1cyBiYXJcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBsZXQgc3RhdHVzX2xhYmVsID0gTGFiZWw6Om5ldyhcIlN0YXR1czogUmVhZHkgLSBBbGwgd2lkZ2V0cyBsb2FkZWRcIilcbiAgICAgICAgLnBhcmVudCgmd2luZG93KVxuICAgICAgICAuYnVpbGQoKTtcbiAgICBtYWluX2xheW91dC5hZGQoc3RhdHVzX2xhYmVsKTtcblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIFNob3cgd2luZG93IGFuZCBydW5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICB3aW5kb3cuc2hvdygpO1xuICAgIHByaW50bG4hKFwiW0xPR10gQXBwbGljYXRpb24gc3RhcnRlZCAtIGFsbCB3aWRnZXRzIGxvYWRlZFwiKTtcbiAgICBwcmludGxuIShcIltMT0ddIEludGVyYWN0IHdpdGggd2lkZ2V0cyB0byBzZWUgbG9ncyBpbiB0ZXJtaW5hbFwiKTtcblxuICAgIGFwcC5leGVjKCk7XG59In1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NTQwNjEwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiM2FiN2U1MTkiLCJwYXJlbnRJZCI6IjhhNjM0MzhkIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNTo0MC42MTBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzQ4cXZRTnQ0cUtQY21NV3o3S0hQRnAxWHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVkNDcyMGM4MTkxODc2M2ZhN2YxMjE0YzYxMSIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii8vISBUcmVlIHdpZGdldCBmb3IgZGlzcGxheWluZyBoaWVyYXJjaGljYWwgZGF0YS5cbi8vIVxuLy8hIFdyYXBzIFtgUVRyZWVXaWRnZXRgXShodHRwczovL2RvYy5xdC5pby9xdC02L3F0cmVld2lkZ2V0Lmh0bWwpLlxuXG51c2UgY3h4OjpsZXRfY3h4X3N0cmluZztcblxudXNlIGNyYXRlOjpmZmk7XG51c2UgY3JhdGU6OnNpZ25hbDo6e3NlbGYsIFNpZ25hbEhhbmRsZX07XG51c2UgY3JhdGU6OndpZGdldDo6QXNXaWRnZXQ7XG5cbi8vLyBBIHRyZWUgd2lkZ2V0IGZvciBkaXNwbGF5aW5nIGhpZXJhcmNoaWNhbCBpdGVtcy5cbi8vL1xuLy8vIFVzZSBhICoqYnVpbGRlciBwYXR0ZXJuKio6IFtgVHJlZVdpZGdldDo6bmV3YF0gcmV0dXJucyBhIFtgQnVpbGRlcmBdLlxuLy8vXG4vLy8gIyBTaWduYWxzXG4vLy9cbi8vLyB8IE1ldGhvZCB8IFF0IHNpZ25hbCB8IENhbGxiYWNrIHJlY2VpdmVzIHxcbi8vLyB8LS0tfC0tLXwtLS18XG4vLy8gfCBbYEJ1aWxkZXI6Om9uX2l0ZW1fY2xpY2tlZGBdIHwgYFFUcmVlV2lkZ2V0OjppdGVtQ2xpY2tlZGAgfCBgU3RyaW5nYCAoaXRlbSB0ZXh0KSB8XG4vLy8gfCBbYEJ1aWxkZXI6Om9uX2l0ZW1fZG91YmxlX2NsaWNrZWRgXSB8IGBRVHJlZVdpZGdldDo6aXRlbURvdWJsZUNsaWNrZWRgIHwgYFN0cmluZ2AgKGl0ZW0gdGV4dCkgfFxuLy8vIHwgW2BCdWlsZGVyOjpvbl9pdGVtX2V4cGFuZGVkYF0gfCBgUVRyZWVXaWRnZXQ6Oml0ZW1FeHBhbmRlZGAgfCBgU3RyaW5nYCAoaXRlbSB0ZXh0KSB8XG4vLy8gfCBbYEJ1aWxkZXI6Om9uX2l0ZW1fY29sbGFwc2VkYF0gfCBgUVRyZWVXaWRnZXQ6Oml0ZW1Db2xsYXBzZWRgIHwgYFN0cmluZ2AgKGl0ZW0gdGV4dCkgfFxuLy8vIHwgW2BCdWlsZGVyOjpvbl9jdXJyZW50X2l0ZW1fY2hhbmdlZGBdIHwgYFFUcmVlV2lkZ2V0OjpjdXJyZW50SXRlbUNoYW5nZWRgIHwgYFN0cmluZ2AgKGl0ZW0gdGV4dCkgfFxuLy8vXG4vLy8gIyBFeGFtcGxlXG4vLy9cbi8vLyBgYGBub19ydW5cbi8vLyB1c2UgcXRyczo6VHJlZVdpZGdldDtcbi8vL1xuLy8vIGxldCB0cmVlID0gVHJlZVdpZGdldDo6bmV3KClcbi8vLyAgICAgLm9uX2l0ZW1fY2xpY2tlZCh8dGV4dHwgcHJpbnRsbiEoXCJjbGlja2VkOiB7fVwiLCB0ZXh0KSlcbi8vLyAgICAgLmJ1aWxkKCk7XG4vLy9cbi8vLyB0cmVlLmFkZF90b3BfbGV2ZWxfaXRlbShcIlJvb3RcIik7XG4vLy8gdHJlZS5zZXRfaGVhZGVyX2xhYmVsKFwiTmFtZVwiKTtcbi8vLyBgYGBcbnB1YiBzdHJ1Y3QgVHJlZVdpZGdldCB7XG4gICAgcHRyOiAqbXV0IGZmaTo6UVRyZWVXaWRnZXQsXG4gICAgaGFzX3BhcmVudDogYm9vbCxcbiAgICBzaWduYWxfaGFuZGxlczogVmVjPFNpZ25hbEhhbmRsZT4sXG59XG5cbmltcGwgVHJlZVdpZGdldCB7XG4gICAgLy8vIFN0YXJ0IGJ1aWxkaW5nIGEgbmV3IHRyZWUgd2lkZ2V0LlxuICAgIHB1YiBmbiBuZXcoKSAtPiBCdWlsZGVyIHsgQnVpbGRlcjo6bmV3KCkgfVxuXG4gICAgLy8gLS0tIEl0ZW0gbWFuYWdlbWVudCAtLS1cblxuICAgIC8vLyBBZGQgYSB0b3AtbGV2ZWwgaXRlbSB3aXRoIHRoZSBnaXZlbiB0ZXh0LlxuICAgIHB1YiBmbiBhZGRfdG9wX2xldmVsX2l0ZW0oJnNlbGYsIHRleHQ6ICZzdHIpIHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghc2VsZi5wdHIuaXNfbnVsbCgpKTtcbiAgICAgICAgbGV0X2N4eF9zdHJpbmchKGNfdGV4dCA9IHRleHQpO1xuICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X2FkZFRvcExldmVsSXRlbShzZWxmLnB0ciwgJmNfdGV4dCk7IH1cbiAgICB9XG5cbiAgICAvLy8gUmVtb3ZlIGFsbCBpdGVtcy5cbiAgICBwdWIgZm4gY2xlYXIoJnNlbGYpIHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghc2VsZi5wdHIuaXNfbnVsbCgpKTtcbiAgICAgICAgdW5zYWZlIHsgZmZpOjpRVHJlZVdpZGdldF9jbGVhcihzZWxmLnB0cik7IH1cbiAgICB9XG5cbiAgICAvLyAtLS0gR2V0dGVycyAtLS1cblxuICAgIC8vLyBHZXQgdGhlIHRleHQgb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBpdGVtLlxuICAgIHB1YiBmbiBjdXJyZW50X2l0ZW1fdGV4dCgmc2VsZikgLT4gU3RyaW5nIHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghc2VsZi5wdHIuaXNfbnVsbCgpKTtcbiAgICAgICAgdW5zYWZlIHsgZmZpOjpRVHJlZVdpZGdldF9jdXJyZW50SXRlbVRleHQoc2VsZi5wdHIpIH1cbiAgICB9XG5cbiAgICAvLyAtLS0gSGVhZGVyIC0tLVxuXG4gICAgLy8vIFNldCB0aGUgaGVhZGVyIGxhYmVsIChzaW5nbGUgY29sdW1uKS5cbiAgICBwdWIgZm4gc2V0X2hlYWRlcl9sYWJlbCgmc2VsZiwgdGV4dDogJnN0cikge1xuICAgICAgICBkZWJ1Z19hc3NlcnQhKCFzZWxmLnB0ci5pc19udWxsKCkpO1xuICAgICAgICBsZXRfY3h4X3N0cmluZyEoY190ZXh0ID0gdGV4dCk7XG4gICAgICAgIHVuc2FmZSB7IGZmaTo6UVRyZWVXaWRnZXRfc2V0SGVhZGVyTGFiZWwoc2VsZi5wdHIsICZjX3RleHQpOyB9XG4gICAgfVxuXG4gICAgLy8vIFNldCBtdWx0aXBsZSBoZWFkZXIgbGFiZWxzLlxuICAgIHB1YiBmbiBzZXRfaGVhZGVyX2xhYmVscygmc2VsZiwgbGFiZWxzOiAmWyZzdHJdKSB7XG4gICAgICAgIGRlYnVnX2Fzc2VydCEoIXNlbGYucHRyLmlzX251bGwoKSk7XG4gICAgICAgIGxldCB2ZWM6IFZlYzxTdHJpbmc+ID0gbGFiZWxzLml0ZXIoKS5tYXAofHN8IHMudG9fc3RyaW5nKCkpLmNvbGxlY3QoKTtcbiAgICAgICAgdW5zYWZlIHsgZmZpOjpRVHJlZVdpZGdldF9zZXRIZWFkZXJMYWJlbHMoc2VsZi5wdHIsIHZlYyk7IH1cbiAgICB9XG5cbiAgICAvLyAtLS0gRXhwYW5kL0NvbGxhcHNlIC0tLVxuXG4gICAgLy8vIEV4cGFuZCBhbGwgaXRlbXMuXG4gICAgcHViIGZuIGV4cGFuZF9hbGwoJnNlbGYpIHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghc2VsZi5wdHIuaXNfbnVsbCgpKTtcbiAgICAgICAgdW5zYWZlIHsgZmZpOjpRVHJlZVdpZGdldF9leHBhbmRBbGwoc2VsZi5wdHIpOyB9XG4gICAgfVxuXG4gICAgLy8vIENvbGxhcHNlIGFsbCBpdGVtcy5cbiAgICBwdWIgZm4gY29sbGFwc2VfYWxsKCZzZWxmKSB7XG4gICAgICAgIGRlYnVnX2Fzc2VydCEoIXNlbGYucHRyLmlzX251bGwoKSk7XG4gICAgICAgIHVuc2FmZSB7IGZmaTo6UVRyZWVXaWRnZXRfY29sbGFwc2VBbGwoc2VsZi5wdHIpOyB9XG4gICAgfVxuXG4gICAgLy8vIEV4cGFuZCB0aGUgaXRlbSB3aXRoIHRoZSBnaXZlbiB0ZXh0LlxuICAgIHB1YiBmbiBleHBhbmRfaXRlbSgmc2VsZiwgdGV4dDogJnN0cikge1xuICAgICAgICBkZWJ1Z19hc3NlcnQhKCFzZWxmLnB0ci5pc19udWxsKCkpO1xuICAgICAgICBsZXRfY3h4X3N0cmluZyEoY190ZXh0ID0gdGV4dCk7XG4gICAgICAgIHVuc2FmZSB7IGZmaTo6UVRyZWVXaWRnZXRfZXhwYW5kSXRlbShzZWxmLnB0ciwgJmNfdGV4dCk7IH1cbiAgICB9XG5cbiAgICAvLyAtLS0gQ3VycmVudCBpdGVtIC0tLVxuXG4gICAgLy8vIFNldCB0aGUgY3VycmVudCBpdGVtIGJ5IHRleHQuXG4gICAgcHViIGZuIHNldF9jdXJyZW50X2l0ZW0oJnNlbGYsIHRleHQ6ICZzdHIpIHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghc2VsZi5wdHIuaXNfbnVsbCgpKTtcbiAgICAgICAgbGV0X2N4eF9zdHJpbmchKGNfdGV4dCA9IHRleHQpO1xuICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X3NldEN1cnJlbnRJdGVtKHNlbGYucHRyLCAmY190ZXh0KTsgfVxuICAgIH1cblxuICAgIC8vLyBHZXQgdGhlIG51bWJlciBvZiB0b3AtbGV2ZWwgaXRlbXMuXG4gICAgcHViIGZuIHRvcF9sZXZlbF9pdGVtX2NvdW50KCZzZWxmKSAtPiBpMzIge1xuICAgICAgICBkZWJ1Z19hc3NlcnQhKCFzZWxmLnB0ci5pc19udWxsKCkpO1xuICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X3RvcExldmVsSXRlbUNvdW50KHNlbGYucHRyKSB9XG4gICAgfVxuXG4gICAgLy8gLS0tIFNpZ25hbCBjb25uZWN0aW9ucyAocnVudGltZSkgLS0tXG5cbiAgICAvLy8gQ29ubmVjdCBjYWxsYmFjayB3aGVuIGFuIGl0ZW0gaXMgY2xpY2tlZC4gUmVjZWl2ZXMgdGhlIGl0ZW0gdGV4dC5cbiAgICBwdWIgZm4gY29ubmVjdF9pdGVtX2NsaWNrZWQ8RjogRm4oU3RyaW5nKT4oJm11dCBzZWxmLCBmOiBGKSB7XG4gICAgICAgIGRlYnVnX2Fzc2VydCEoIXNlbGYucHRyLmlzX251bGwoKSk7XG4gICAgICAgIGxldCBoYW5kbGUgPSBzaWduYWw6OmxlYWtfc3RyaW5nKGYpO1xuICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X29uSXRlbUNsaWNrZWQoc2VsZi5wdHIsIGhhbmRsZS50b2tlbik7IH1cbiAgICAgICAgc2VsZi5zaWduYWxfaGFuZGxlcy5wdXNoKGhhbmRsZSk7XG4gICAgfVxuXG4gICAgLy8vIENvbm5lY3QgY2FsbGJhY2sgd2hlbiBhbiBpdGVtIGlzIGRvdWJsZS1jbGlja2VkLiBSZWNlaXZlcyB0aGUgaXRlbSB0ZXh0LlxuICAgIHB1YiBmbiBjb25uZWN0X2l0ZW1fZG91YmxlX2NsaWNrZWQ8RjogRm4oU3RyaW5nKT4oJm11dCBzZWxmLCBmOiBGKSB7XG4gICAgICAgIGRlYnVnX2Fzc2VydCEoIXNlbGYucHRyLmlzX251bGwoKSk7XG4gICAgICAgIGxldCBoYW5kbGUgPSBzaWduYWw6OmxlYWtfc3RyaW5nKGYpO1xuICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X29uSXRlbURvdWJsZUNsaWNrZWQoc2VsZi5wdHIsIGhhbmRsZS50b2tlbik7IH1cbiAgICAgICAgc2VsZi5zaWduYWxfaGFuZGxlcy5wdXNoKGhhbmRsZSk7XG4gICAgfVxuXG4gICAgLy8vIENvbm5lY3QgY2FsbGJhY2sgd2hlbiBhbiBpdGVtIGlzIGV4cGFuZGVkLiBSZWNlaXZlcyB0aGUgaXRlbSB0ZXh0LlxuICAgIHB1YiBmbiBjb25uZWN0X2l0ZW1fZXhwYW5kZWQ8RjogRm4oU3RyaW5nKT4oJm11dCBzZWxmLCBmOiBGKSB7XG4gICAgICAgIGRlYnVnX2Fzc2VydCEoIXNlbGYucHRyLmlzX251bGwoKSk7XG4gICAgICAgIGxldCBoYW5kbGUgPSBzaWduYWw6OmxlYWtfc3RyaW5nKGYpO1xuICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X29uSXRlbUV4cGFuZGVkKHNlbGYucHRyLCBoYW5kbGUudG9rZW4pOyB9XG4gICAgICAgIHNlbGYuc2lnbmFsX2hhbmRsZXMucHVzaChoYW5kbGUpO1xuICAgIH1cblxuICAgIC8vLyBDb25uZWN0IGNhbGxiYWNrIHdoZW4gYW4gaXRlbSBpcyBjb2xsYXBzZWQuIFJlY2VpdmVzIHRoZSBpdGVtIHRleHQuXG4gICAgcHViIGZuIGNvbm5lY3RfaXRlbV9jb2xsYXBzZWQ8RjogRm4oU3RyaW5nKT4oJm11dCBzZWxmLCBmOiBGKSB7XG4gICAgICAgIGRlYnVnX2Fzc2VydCEoIXNlbGYucHRyLmlzX251bGwoKSk7XG4gICAgICAgIGxldCBoYW5kbGUgPSBzaWduYWw6OmxlYWtfc3RyaW5nKGYpO1xuICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X29uSXRlbUNvbGxhcHNlZChzZWxmLnB0ciwgaGFuZGxlLnRva2VuKTsgfVxuICAgICAgICBzZWxmLnNpZ25hbF9oYW5kbGVzLnB1c2goaGFuZGxlKTtcbiAgICB9XG5cbiAgICAvLy8gQ29ubmVjdCBjYWxsYmFjayB3aGVuIHRoZSBjdXJyZW50IGl0ZW0gY2hhbmdlcy4gUmVjZWl2ZXMgdGhlIGl0ZW0gdGV4dC5cbiAgICBwdWIgZm4gY29ubmVjdF9jdXJyZW50X2l0ZW1fY2hhbmdlZDxGOiBGbihTdHJpbmcpPigmbXV0IHNlbGYsIGY6IEYpIHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghc2VsZi5wdHIuaXNfbnVsbCgpKTtcbiAgICAgICAgbGV0IGhhbmRsZSA9IHNpZ25hbDo6bGVha19zdHJpbmcoZik7XG4gICAgICAgIHVuc2FmZSB7IGZmaTo6UVRyZWVXaWRnZXRfb25DdXJyZW50SXRlbUNoYW5nZWQoc2VsZi5wdHIsIGhhbmRsZS50b2tlbik7IH1cbiAgICAgICAgc2VsZi5zaWduYWxfaGFuZGxlcy5wdXNoKGhhbmRsZSk7XG4gICAgfVxuXG4gICAgI1tkb2MoaGlkZGVuKV1cbiAgICBwdWIoY3JhdGUpIGZuIGZyb21fcmF3KHB0cjogKm11dCBmZmk6OlFUcmVlV2lkZ2V0KSAtPiBTZWxmIHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghcHRyLmlzX251bGwoKSk7XG4gICAgICAgIFNlbGYgeyBwdHIsIGhhc19wYXJlbnQ6IHRydWUsIHNpZ25hbF9oYW5kbGVzOiBWZWM6Om5ldygpIH1cbiAgICB9XG59XG5cbmltcGwgQXNXaWRnZXQgZm9yIFRyZWVXaWRnZXQge1xuICAgIGZuIHdpZGdldF9wdHIoJnNlbGYpIC0+ICptdXQgZmZpOjpRV2lkZ2V0IHtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghc2VsZi5wdHIuaXNfbnVsbCgpKTtcbiAgICAgICAgdW5zYWZlIHsgZmZpOjp0b1FXaWRnZXRfUVRyZWVXaWRnZXQoc2VsZi5wdHIpIH1cbiAgICB9XG4gICAgZm4gc2V0X2hhc19wYXJlbnQoJm11dCBzZWxmKSB7IHNlbGYuaGFzX3BhcmVudCA9IHRydWU7IH1cbn1cblxuaW1wbCBEcm9wIGZvciBUcmVlV2lkZ2V0IHtcbiAgICBmbiBkcm9wKCZtdXQgc2VsZikge1xuICAgICAgICBpZiBzZWxmLnB0ci5pc19udWxsKCkgeyByZXR1cm47IH1cbiAgICAgICAgaWYgc2VsZi5oYXNfcGFyZW50IHtcbiAgICAgICAgICAgIHVuc2FmZSB7IGZmaTo6UVdpZGdldF9kaXNjb25uZWN0QWxsKHNlbGYucHRyIGFzICptdXQgXyk7IH1cbiAgICAgICAgICAgIGZvciBoIGluIHNlbGYuc2lnbmFsX2hhbmRsZXMuZHJhaW4oLi4pIHsgdW5zYWZlIHsgaC5yZWNsYWltKCk7IH0gfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9yIGggaW4gc2VsZi5zaWduYWxfaGFuZGxlcy5kcmFpbiguLikgeyB1bnNhZmUgeyBoLnJlY2xhaW0oKTsgfSB9XG4gICAgICAgICAgICB1bnNhZmUgeyBmZmk6OlFUcmVlV2lkZ2V0X2RlbGV0ZShzZWxmLnB0cikgfTtcbiAgICAgICAgfVxuICAgICAgICBzZWxmLnB0ciA9IHN0ZDo6cHRyOjpudWxsX211dCgpO1xuICAgIH1cbn1cblxuLy8vIEJ1aWxkZXIgZm9yIFtgVHJlZVdpZGdldGBdLlxucHViIHN0cnVjdCBCdWlsZGVyIHtcbiAgICBvbl9pdGVtX2NsaWNrZWQ6IE9wdGlvbjxCb3g8ZHluIEZuKFN0cmluZyk+PixcbiAgICBvbl9pdGVtX2RvdWJsZV9jbGlja2VkOiBPcHRpb248Qm94PGR5biBGbihTdHJpbmcpPj4sXG4gICAgb25faXRlbV9leHBhbmRlZDogT3B0aW9uPEJveDxkeW4gRm4oU3RyaW5nKT4+LFxuICAgIG9uX2l0ZW1fY29sbGFwc2VkOiBPcHRpb248Qm94PGR5biBGbihTdHJpbmcpPj4sXG4gICAgb25fY3VycmVudF9pdGVtX2NoYW5nZWQ6IE9wdGlvbjxCb3g8ZHluIEZuKFN0cmluZyk+PixcbiAgICBwYXJlbnQ6IE9wdGlvbjwqbXV0IGZmaTo6UVdpZGdldD4sXG59XG5cbmltcGwgQnVpbGRlciB7XG4gICAgZm4gbmV3KCkgLT4gU2VsZiB7XG4gICAgICAgIFNlbGYge1xuICAgICAgICAgICAgb25faXRlbV9jbGlja2VkOiBOb25lLFxuICAgICAgICAgICAgb25faXRlbV9kb3VibGVfY2xpY2tlZDogTm9uZSxcbiAgICAgICAgICAgIG9uX2l0ZW1fZXhwYW5kZWQ6IE5vbmUsXG4gICAgICAgICAgICBvbl9pdGVtX2NvbGxhcHNlZDogTm9uZSxcbiAgICAgICAgICAgIG9uX2N1cnJlbnRfaXRlbV9jaGFuZ2VkOiBOb25lLFxuICAgICAgICAgICAgcGFyZW50OiBOb25lLFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8vIENhbGxlZCB3aGVuIGFuIGl0ZW0gaXMgY2xpY2tlZC4gUmVjZWl2ZXMgdGhlIGl0ZW0gdGV4dC5cbiAgICBwdWIgZm4gb25faXRlbV9jbGlja2VkPEY6IEZuKFN0cmluZykgKyAnc3RhdGljPihtdXQgc2VsZiwgZjogRikgLT4gU2VsZiB7XG4gICAgICAgIHNlbGYub25faXRlbV9jbGlja2VkID0gU29tZShCb3g6Om5ldyhmKSk7XG4gICAgICAgIHNlbGZcbiAgICB9XG5cbiAgICAvLy8gQ2FsbGVkIHdoZW4gYW4gaXRlbSBpcyBkb3VibGUtY2xpY2tlZC4gUmVjZWl2ZXMgdGhlIGl0ZW0gdGV4dC5cbiAgICBwdWIgZm4gb25faXRlbV9kb3VibGVfY2xpY2tlZDxGOiBGbihTdHJpbmcpICsgJ3N0YXRpYz4obXV0IHNlbGYsIGY6IEYpIC0+IFNlbGYge1xuICAgICAgICBzZWxmLm9uX2l0ZW1fZG91YmxlX2NsaWNrZWQgPSBTb21lKEJveDo6bmV3KGYpKTtcbiAgICAgICAgc2VsZlxuICAgIH1cblxuICAgIC8vLyBDYWxsZWQgd2hlbiBhbiBpdGVtIGlzIGV4cGFuZGVkLiBSZWNlaXZlcyB0aGUgaXRlbSB0ZXh0LlxuICAgIHB1YiBmbiBvbl9pdGVtX2V4cGFuZGVkPEY6IEZuKFN0cmluZykgKyAnc3RhdGljPihtdXQgc2VsZiwgZjogRikgLT4gU2VsZiB7XG4gICAgICAgIHNlbGYub25faXRlbV9leHBhbmRlZCA9IFNvbWUoQm94OjpuZXcoZikpO1xuICAgICAgICBzZWxmXG4gICAgfVxuXG4gICAgLy8vIENhbGxlZCB3aGVuIGFuIGl0ZW0gaXMgY29sbGFwc2VkLiBSZWNlaXZlcyB0aGUgaXRlbSB0ZXh0LlxuICAgIHB1YiBmbiBvbl9pdGVtX2NvbGxhcHNlZDxGOiBGbihTdHJpbmcpICsgJ3N0YXRpYz4obXV0IHNlbGYsIGY6IEYpIC0+IFNlbGYge1xuICAgICAgICBzZWxmLm9uX2l0ZW1fY29sbGFwc2VkID0gU29tZShCb3g6Om5ldyhmKSk7XG4gICAgICAgIHNlbGZcbiAgICB9XG5cbiAgICAvLy8gQ2FsbGVkIHdoZW4gdGhlIGN1cnJlbnQgaXRlbSBjaGFuZ2VzLiBSZWNlaXZlcyB0aGUgaXRlbSB0ZXh0LlxuICAgIHB1YiBmbiBvbl9jdXJyZW50X2l0ZW1fY2hhbmdlZDxGOiBGbihTdHJpbmcpICsgJ3N0YXRpYz4obXV0IHNlbGYsIGY6IEYpIC0+IFNlbGYge1xuICAgICAgICBzZWxmLm9uX2N1cnJlbnRfaXRlbV9jaGFuZ2VkID0gU29tZShCb3g6Om5ldyhmKSk7XG4gICAgICAgIHNlbGZcbiAgICB9XG5cbiAgICAvLy8gU2V0IHRoZSBwYXJlbnQgd2lkZ2V0LlxuICAgIHB1YiBmbiBwYXJlbnQobXV0IHNlbGYsIHBhcmVudDogJmR5biBBc1dpZGdldCkgLT4gU2VsZiB7XG4gICAgICAgIHNlbGYucGFyZW50ID0gU29tZShwYXJlbnQud2lkZ2V0X3B0cigpKTtcbiAgICAgICAgc2VsZlxuICAgIH1cblxuICAgIC8vLyBDcmVhdGUgdGhlIEMrKyBgUVRyZWVXaWRnZXRgIGFuZCByZXR1cm4gdGhlIFJ1c3Qgd3JhcHBlci5cbiAgICBwdWIgZm4gYnVpbGQoc2VsZikgLT4gVHJlZVdpZGdldCB7XG4gICAgICAgIGxldCBwdHIgPSB1bnNhZmUge1xuICAgICAgICAgICAgZmZpOjpRVHJlZVdpZGdldF9uZXcoc2VsZi5wYXJlbnQudW53cmFwX29yKHN0ZDo6cHRyOjpudWxsX211dCgpKSlcbiAgICAgICAgfTtcbiAgICAgICAgZGVidWdfYXNzZXJ0ISghcHRyLmlzX251bGwoKSk7XG4gICAgICAgIGxldCBtdXQgdHcgPSBUcmVlV2lkZ2V0IHtcbiAgICAgICAgICAgIHB0cixcbiAgICAgICAgICAgIGhhc19wYXJlbnQ6IHNlbGYucGFyZW50LmlzX3NvbWUoKSxcbiAgICAgICAgICAgIHNpZ25hbF9oYW5kbGVzOiBWZWM6Om5ldygpLFxuICAgICAgICB9O1xuICAgICAgICBpZiBsZXQgU29tZShmKSA9IHNlbGYub25faXRlbV9jbGlja2VkIHtcbiAgICAgICAgICAgIGxldCBoID0gc2lnbmFsOjpsZWFrX3N0cmluZyhmKTtcbiAgICAgICAgICAgIHVuc2FmZSB7IGZmaTo6UVRyZWVXaWRnZXRfb25JdGVtQ2xpY2tlZChwdHIsIGgudG9rZW4pOyB9XG4gICAgICAgICAgICB0dy5zaWduYWxfaGFuZGxlcy5wdXNoKGgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIGxldCBTb21lKGYpID0gc2VsZi5vbl9pdGVtX2RvdWJsZV9jbGlja2VkIHtcbiAgICAgICAgICAgIGxldCBoID0gc2lnbmFsOjpsZWFrX3N0cmluZyhmKTtcbiAgICAgICAgICAgIHVuc2FmZSB7IGZmaTo6UVRyZWVXaWRnZXRfb25JdGVtRG91YmxlQ2xpY2tlZChwdHIsIGgudG9rZW4pOyB9XG4gICAgICAgICAgICB0dy5zaWduYWxfaGFuZGxlcy5wdXNoKGgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIGxldCBTb21lKGYpID0gc2VsZi5vbl9pdGVtX2V4cGFuZGVkIHtcbiAgICAgICAgICAgIGxldCBoID0gc2lnbmFsOjpsZWFrX3N0cmluZyhmKTtcbiAgICAgICAgICAgIHVuc2FmZSB7IGZmaTo6UVRyZWVXaWRnZXRfb25JdGVtRXhwYW5kZWQocHRyLCBoLnRva2VuKTsgfVxuICAgICAgICAgICAgdHcuc2lnbmFsX2hhbmRsZXMucHVzaChoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiBsZXQgU29tZShmKSA9IHNlbGYub25faXRlbV9jb2xsYXBzZWQge1xuICAgICAgICAgICAgbGV0IGggPSBzaWduYWw6OmxlYWtfc3RyaW5nKGYpO1xuICAgICAgICAgICAgdW5zYWZlIHsgZmZpOjpRVHJlZVdpZGdldF9vbkl0ZW1Db2xsYXBzZWQocHRyLCBoLnRva2VuKTsgfVxuICAgICAgICAgICAgdHcuc2lnbmFsX2hhbmRsZXMucHVzaChoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiBsZXQgU29tZShmKSA9IHNlbGYub25fY3VycmVudF9pdGVtX2NoYW5nZWQge1xuICAgICAgICAgICAgbGV0IGggPSBzaWduYWw6OmxlYWtfc3RyaW5nKGYpO1xuICAgICAgICAgICAgdW5zYWZlIHsgZmZpOjpRVHJlZVdpZGdldF9vbkN1cnJlbnRJdGVtQ2hhbmdlZChwdHIsIGgudG9rZW4pOyB9XG4gICAgICAgICAgICB0dy5zaWduYWxfaGFuZGxlcy5wdXNoKGgpO1xuICAgICAgICB9XG4gICAgICAgIHR3XG4gICAgfVxufVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NTQwNjEwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYjNlNWJlMWYiLCJwYXJlbnRJZCI6IjNhYjdlNTE5IiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNTo0MC42MTBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0RUNTdleTR2d0tHSzJhS0hRcXk4aW1qcXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVkNDcyMTQ4MTkxYmIxZjdiOTIxZDEwZjA2ZSIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii8vISBTdGF0aWMgY29udmVuaWVuY2UgZnVuY3Rpb25zIGZvciBpbnB1dCBkaWFsb2dzLlxuLy8hXG4vLyEgV3JhcHMgc3RhdGljIG1ldGhvZHMgb25cbi8vISBbYFFJbnB1dERpYWxvZ2BdKGh0dHBzOi8vZG9jLnF0LmlvL3F0LTYvcWlucHV0ZGlhbG9nLmh0bWwpLlxuLy8hXG4vLyEgIyBOb3RlXG4vLyFcbi8vISBUaGVzZSBhcmUgcHVyZSBzdGF0aWMgZnVuY3Rpb25zIOKAlCB0aGVyZSBpcyBubyBzdHJ1Y3Qgb3IgYnVpbGRlciBwYXR0ZXJuLlxuXG51c2UgY3h4OjpsZXRfY3h4X3N0cmluZztcblxudXNlIGNyYXRlOjpmZmk7XG51c2UgY3JhdGU6OndpZGdldDo6QXNXaWRnZXQ7XG5cbi8vLyBTaG93IGEgbW9kYWwgZGlhbG9nIGFza2luZyB0aGUgdXNlciB0byBlbnRlciBhIHN0cmluZy5cbi8vL1xuLy8vIFJldHVybnMgdGhlIGVudGVyZWQgdGV4dCwgb3IgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSB1c2VyIGNhbmNlbGxlZC5cbnB1YiBmbiBnZXRfdGV4dChwYXJlbnQ6IE9wdGlvbjwmZHluIEFzV2lkZ2V0PiwgdGl0bGU6ICZzdHIsIGxhYmVsOiAmc3RyLCBkZWZhdWx0X3RleHQ6ICZzdHIpIC0+IFN0cmluZyB7XG4gICAgbGV0IHBhcmVudF9wdHIgPSBwYXJlbnQubWFwKHxwfCBwLndpZGdldF9wdHIoKSkudW53cmFwX29yKHN0ZDo6cHRyOjpudWxsX211dCgpKTtcbiAgICBsZXRfY3h4X3N0cmluZyEoY190aXRsZSA9IHRpdGxlKTtcbiAgICBsZXRfY3h4X3N0cmluZyEoY19sYWJlbCA9IGxhYmVsKTtcbiAgICBsZXRfY3h4X3N0cmluZyEoY19kZWZhdWx0ID0gZGVmYXVsdF90ZXh0KTtcbiAgICB1bnNhZmUgeyBmZmk6OlFJbnB1dERpYWxvZ19nZXRUZXh0KHBhcmVudF9wdHIsICZjX3RpdGxlLCAmY19sYWJlbCwgJmNfZGVmYXVsdCkgfVxufVxuXG4vLy8gU2hvdyBhIG1vZGFsIGRpYWxvZyBhc2tpbmcgdGhlIHVzZXIgdG8gZW50ZXIgYW4gaW50ZWdlci5cbi8vL1xuLy8vIFJldHVybnMgYDBgIGlmIHRoZSB1c2VyIGNhbmNlbGxlZC5cbnB1YiBmbiBnZXRfaW50KFxuICAgIHBhcmVudDogT3B0aW9uPCZkeW4gQXNXaWRnZXQ+LFxuICAgIHRpdGxlOiAmc3RyLFxuICAgIGxhYmVsOiAmc3RyLFxuICAgIHZhbHVlOiBpMzIsXG4gICAgbWluOiBpMzIsXG4gICAgbWF4OiBpMzIsXG4gICAgc3RlcDogaTMyLFxuKSAtPiBpMzIge1xuICAgIGxldCBwYXJlbnRfcHRyID0gcGFyZW50Lm1hcCh8cHwgcC53aWRnZXRfcHRyKCkpLnVud3JhcF9vcihzdGQ6OnB0cjo6bnVsbF9tdXQoKSk7XG4gICAgbGV0X2N4eF9zdHJpbmchKGNfdGl0bGUgPSB0aXRsZSk7XG4gICAgbGV0X2N4eF9zdHJpbmchKGNfbGFiZWwgPSBsYWJlbCk7XG4gICAgdW5zYWZlIHsgZmZpOjpRSW5wdXREaWFsb2dfZ2V0SW50KHBhcmVudF9wdHIsICZjX3RpdGxlLCAmY19sYWJlbCwgdmFsdWUsIG1pbiwgbWF4LCBzdGVwKSB9XG59XG5cbi8vLyBTaG93IGEgbW9kYWwgZGlhbG9nIGFza2luZyB0aGUgdXNlciB0byBlbnRlciBhIGZsb2F0aW5nLXBvaW50IG51bWJlci5cbi8vL1xuLy8vIFJldHVybnMgYDAuMGAgaWYgdGhlIHVzZXIgY2FuY2VsbGVkLlxucHViIGZuIGdldF9kb3VibGUoXG4gICAgcGFyZW50OiBPcHRpb248JmR5biBBc1dpZGdldD4sXG4gICAgdGl0bGU6ICZzdHIsXG4gICAgbGFiZWw6ICZzdHIsXG4gICAgdmFsdWU6IGY2NCxcbiAgICBtaW46IGY2NCxcbiAgICBtYXg6IGY2NCxcbiAgICBkZWNpbWFsczogaTMyLFxuKSAtPiBmNjQge1xuICAgIGxldCBwYXJlbnRfcHRyID0gcGFyZW50Lm1hcCh8cHwgcC53aWRnZXRfcHRyKCkpLnVud3JhcF9vcihzdGQ6OnB0cjo6bnVsbF9tdXQoKSk7XG4gICAgbGV0X2N4eF9zdHJpbmchKGNfdGl0bGUgPSB0aXRsZSk7XG4gICAgbGV0X2N4eF9zdHJpbmchKGNfbGFiZWwgPSBsYWJlbCk7XG4gICAgdW5zYWZlIHsgZmZpOjpRSW5wdXREaWFsb2dfZ2V0RG91YmxlKHBhcmVudF9wdHIsICZjX3RpdGxlLCAmY19sYWJlbCwgdmFsdWUsIG1pbiwgbWF4LCBkZWNpbWFscykgfVxufVxuXG4vLy8gU2hvdyBhIG1vZGFsIGRpYWxvZyBhc2tpbmcgdGhlIHVzZXIgdG8gcGljayBhbiBpdGVtIGZyb20gYSBsaXN0LlxuLy8vXG4vLy8gUmV0dXJucyB0aGUgc2VsZWN0ZWQgaXRlbSB0ZXh0LCBvciBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlIHVzZXIgY2FuY2VsbGVkLlxucHViIGZuIGdldF9pdGVtKFxuICAgIHBhcmVudDogT3B0aW9uPCZkeW4gQXNXaWRnZXQ+LFxuICAgIHRpdGxlOiAmc3RyLFxuICAgIGxhYmVsOiAmc3RyLFxuICAgIGl0ZW1zOiAmWyZzdHJdLFxuICAgIGN1cnJlbnQ6IGkzMixcbiAgICBlZGl0YWJsZTogYm9vbCxcbikgLT4gU3RyaW5nIHtcbiAgICBsZXQgcGFyZW50X3B0ciA9IHBhcmVudC5tYXAofHB8IHAud2lkZ2V0X3B0cigpKS51bndyYXBfb3Ioc3RkOjpwdHI6Om51bGxfbXV0KCkpO1xuICAgIGxldF9jeHhfc3RyaW5nIShjX3RpdGxlID0gdGl0bGUpO1xuICAgIGxldF9jeHhfc3RyaW5nIShjX2xhYmVsID0gbGFiZWwpO1xuICAgIGxldCBpdGVtc192ZWM6IFZlYzxTdHJpbmc+ID0gaXRlbXMuaXRlcigpLm1hcCh8c3wgcy50b19zdHJpbmcoKSkuY29sbGVjdCgpO1xuICAgIHVuc2FmZSB7IGZmaTo6UUlucHV0RGlhbG9nX2dldEl0ZW0ocGFyZW50X3B0ciwgJmNfdGl0bGUsICZjX2xhYmVsLCBpdGVtc192ZWMsIGN1cnJlbnQsIGVkaXRhYmxlKSB9XG59XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1NDA2MTB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxYjA0ZmIxYyIsInBhcmVudElkIjoiYjNlNWJlMWYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA1OjQwLjYxMFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfamxHNElLand2U3NOVzlTSE5DWmg0dWxofGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWQ0NzIxODgxOTE4Y2VlMzBjNzcxODc0YjljIiwidG9vbE5hbWUiOiJyZWFkIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiLy8hIEZpbGUgZGlhbG9nIGZvciBvcGVuaW5nIGFuZCBzYXZpbmcgZmlsZXMuXG4vLyFcbi8vISBXcmFwcyBbYFFGaWxlRGlhbG9nYF0oaHR0cHM6Ly9kb2MucXQuaW8vcXQtNi9xZmlsZWRpYWxvZy5odG1sKS5cblxudXNlIGN4eDo6bGV0X2N4eF9zdHJpbmc7XG51c2UgY3JhdGU6OmZmaTtcbnVzZSBjcmF0ZTo6d2lkZ2V0OjpBc1dpZGdldDtcblxuLy8vIEZpbGUgZGlhbG9nIGNvbnZlbmllbmNlIGZ1bmN0aW9ucy5cbi8vL1xuLy8vIFByb3ZpZGVzIHN0YXRpYyBtZXRob2RzIGZvciBjb21tb24gZmlsZSBzZWxlY3Rpb24gb3BlcmF0aW9ucy5cbi8vL1xuLy8vICMgRXhhbXBsZVxuLy8vXG4vLy8gYGBgbm9fcnVuXG4vLy8gdXNlIHF0cnM6OkZpbGVEaWFsb2c7XG4vLy9cbi8vLyAvLyBPcGVuIGEgZmlsZVxuLy8vIGlmIGxldCBTb21lKHBhdGgpID0gRmlsZURpYWxvZzo6b3Blbl9maWxlKE5vbmUsIFwiT3BlbiBJbWFnZVwiLCBcIlwiLCBcIkltYWdlcyAoKi5wbmcgKi5qcGcpXCIpIHtcbi8vLyAgICAgcHJpbnRsbiEoXCJTZWxlY3RlZDoge31cIiwgcGF0aCk7XG4vLy8gfVxuLy8vXG4vLy8gLy8gU2F2ZSBhIGZpbGVcbi8vLyBpZiBsZXQgU29tZShwYXRoKSA9IEZpbGVEaWFsb2c6OnNhdmVfZmlsZShOb25lLCBcIlNhdmUgRG9jdW1lbnRcIiwgXCJcIiwgXCJUZXh0IEZpbGVzICgqLnR4dClcIikge1xuLy8vICAgICBwcmludGxuIShcIlNhdmUgdG86IHt9XCIsIHBhdGgpO1xuLy8vIH1cbi8vL1xuLy8vIC8vIFNlbGVjdCBhIGRpcmVjdG9yeVxuLy8vIGlmIGxldCBTb21lKHBhdGgpID0gRmlsZURpYWxvZzo6c2VsZWN0X2RpcmVjdG9yeShOb25lLCBcIlNlbGVjdCBGb2xkZXJcIiwgXCJcIikge1xuLy8vICAgICBwcmludGxuIShcIlNlbGVjdGVkIGRpcjoge31cIiwgcGF0aCk7XG4vLy8gfVxuLy8vIGBgYFxucHViIHN0cnVjdCBGaWxlRGlhbG9nO1xuXG5pbXBsIEZpbGVEaWFsb2cge1xuICAgIC8vLyBPcGVuIGEgc2luZ2xlIGZpbGUuXG4gICAgLy8vXG4gICAgLy8vICMgUGFyYW1ldGVyc1xuICAgIC8vL1xuICAgIC8vLyAqIGBwYXJlbnRgIOKAlCBPcHRpb25hbCBwYXJlbnQgd2lkZ2V0XG4gICAgLy8vICogYGNhcHRpb25gIOKAlCBEaWFsb2cgdGl0bGVcbiAgICAvLy8gKiBgZGlyYCDigJQgU3RhcnRpbmcgZGlyZWN0b3J5IChlbXB0eSBmb3IgZGVmYXVsdClcbiAgICAvLy8gKiBgZmlsdGVyYCDigJQgRmlsZSBmaWx0ZXIsIGUuZy4gYFwiSW1hZ2VzICgqLnBuZyAqLmpwZylcImBcbiAgICAvLy9cbiAgICAvLy8gIyBSZXR1cm5zXG4gICAgLy8vXG4gICAgLy8vIGBTb21lKHBhdGgpYCBpZiBhIGZpbGUgd2FzIHNlbGVjdGVkLCBgTm9uZWAgaWYgY2FuY2VsbGVkLlxuICAgIHB1YiBmbiBvcGVuX2ZpbGUoXG4gICAgICAgIHBhcmVudDogT3B0aW9uPCZkeW4gQXNXaWRnZXQ+LFxuICAgICAgICBjYXB0aW9uOiAmc3RyLFxuICAgICAgICBkaXI6ICZzdHIsXG4gICAgICAgIGZpbHRlcjogJnN0cixcbiAgICApIC0+IE9wdGlvbjxTdHJpbmc+IHtcbiAgICAgICAgbGV0IHBhcmVudF9wdHIgPSBwYXJlbnQubWFwKHxwfCBwLndpZGdldF9wdHIoKSkudW53cmFwX29yKHN0ZDo6cHRyOjpudWxsX211dCgpKTtcbiAgICAgICAgbGV0X2N4eF9zdHJpbmchKGNfY2FwdGlvbiA9IGNhcHRpb24pO1xuICAgICAgICBsZXRfY3h4X3N0cmluZyEoY19kaXIgPSBkaXIpO1xuICAgICAgICBsZXRfY3h4X3N0cmluZyEoY19maWx0ZXIgPSBmaWx0ZXIpO1xuXG4gICAgICAgIGxldCByZXN1bHQgPSB1bnNhZmUge1xuICAgICAgICAgICAgZmZpOjpRRmlsZURpYWxvZ19nZXRPcGVuRmlsZU5hbWUoXG4gICAgICAgICAgICAgICAgcGFyZW50X3B0cixcbiAgICAgICAgICAgICAgICAmY19jYXB0aW9uLFxuICAgICAgICAgICAgICAgICZjX2RpcixcbiAgICAgICAgICAgICAgICAmY19maWx0ZXIsXG4gICAgICAgICAgICApXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgcmVzdWx0LmlzX2VtcHR5KCkgeyBOb25lIH0gZWxzZSB7IFNvbWUocmVzdWx0KSB9XG4gICAgfVxuXG4gICAgLy8vIE9wZW4gbXVsdGlwbGUgZmlsZXMuXG4gICAgLy8vXG4gICAgLy8vICMgUGFyYW1ldGVyc1xuICAgIC8vL1xuICAgIC8vLyAqIGBwYXJlbnRgIOKAlCBPcHRpb25hbCBwYXJlbnQgd2lkZ2V0XG4gICAgLy8vICogYGNhcHRpb25gIOKAlCBEaWFsb2cgdGl0bGVcbiAgICAvLy8gKiBgZGlyYCDigJQgU3RhcnRpbmcgZGlyZWN0b3J5IChlbXB0eSBmb3IgZGVmYXVsdClcbiAgICAvLy8gKiBgZmlsdGVyYCDigJQgRmlsZSBmaWx0ZXIsIGUuZy4gYFwiSW1hZ2VzICgqLnBuZyAqLmpwZylcImBcbiAgICAvLy9cbiAgICAvLy8gIyBSZXR1cm5zXG4gICAgLy8vXG4gICAgLy8vIEEgdmVjdG9yIG9mIHNlbGVjdGVkIGZpbGUgcGF0aHMsIGVtcHR5IGlmIGNhbmNlbGxlZC5cbiAgICBwdWIgZm4gb3Blbl9maWxlcyhcbiAgICAgICAgcGFyZW50OiBPcHRpb248JmR5biBBc1dpZGdldD4sXG4gICAgICAgIGNhcHRpb246ICZzdHIsXG4gICAgICAgIGRpcjogJnN0cixcbiAgICAgICAgZmlsdGVyOiAmc3RyLFxuICAgICkgLT4gVmVjPFN0cmluZz4ge1xuICAgICAgICBsZXQgcGFyZW50X3B0ciA9IHBhcmVudC5tYXAofHB8IHAud2lkZ2V0X3B0cigpKS51bndyYXBfb3Ioc3RkOjpwdHI6Om51bGxfbXV0KCkpO1xuICAgICAgICBsZXRfY3h4X3N0cmluZyEoY19jYXB0aW9uID0gY2FwdGlvbik7XG4gICAgICAgIGxldF9jeHhfc3RyaW5nIShjX2RpciA9IGRpcik7XG4gICAgICAgIGxldF9jeHhfc3RyaW5nIShjX2ZpbHRlciA9IGZpbHRlcik7XG5cbiAgICAgICAgdW5zYWZlIHtcbiAgICAgICAgICAgIGZmaTo6UUZpbGVEaWFsb2dfZ2V0T3BlbkZpbGVOYW1lcyhcbiAgICAgICAgICAgICAgICBwYXJlbnRfcHRyLFxuICAgICAgICAgICAgICAgICZjX2NhcHRpb24sXG4gICAgICAgICAgICAgICAgJmNfZGlyLFxuICAgICAgICAgICAgICAgICZjX2ZpbHRlcixcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vLyBTYXZlIGEgZmlsZS5cbiAgICAvLy9cbiAgICAvLy8gIyBQYXJhbWV0ZXJzXG4gICAgLy8vXG4gICAgLy8vICogYHBhcmVudGAg4oCUIE9wdGlvbmFsIHBhcmVudCB3aWRnZXRcbiAgICAvLy8gKiBgY2FwdGlvbmAg4oCUIERpYWxvZyB0aXRsZVxuICAgIC8vLyAqIGBkaXJgIOKAlCBTdGFydGluZyBkaXJlY3RvcnkgKGVtcHR5IGZvciBkZWZhdWx0KVxuICAgIC8vLyAqIGBmaWx0ZXJgIOKAlCBGaWxlIGZpbHRlciwgZS5nLiBgXCJUZXh0IEZpbGVzICgqLnR4dClcImBcbiAgICAvLy9cbiAgICAvLy8gIyBSZXR1cm5zXG4gICAgLy8vXG4gICAgLy8vIGBTb21lKHBhdGgpYCBpZiBhIGZpbGUgd2FzIHNlbGVjdGVkLCBgTm9uZWAgaWYgY2FuY2VsbGVkLlxuICAgIHB1YiBmbiBzYXZlX2ZpbGUoXG4gICAgICAgIHBhcmVudDogT3B0aW9uPCZkeW4gQXNXaWRnZXQ+LFxuICAgICAgICBjYXB0aW9uOiAmc3RyLFxuICAgICAgICBkaXI6ICZzdHIsXG4gICAgICAgIGZpbHRlcjogJnN0cixcbiAgICApIC0+IE9wdGlvbjxTdHJpbmc+IHtcbiAgICAgICAgbGV0IHBhcmVudF9wdHIgPSBwYXJlbnQubWFwKHxwfCBwLndpZGdldF9wdHIoKSkudW53cmFwX29yKHN0ZDo6cHRyOjpudWxsX211dCgpKTtcbiAgICAgICAgbGV0X2N4eF9zdHJpbmchKGNfY2FwdGlvbiA9IGNhcHRpb24pO1xuICAgICAgICBsZXRfY3h4X3N0cmluZyEoY19kaXIgPSBkaXIpO1xuICAgICAgICBsZXRfY3h4X3N0cmluZyEoY19maWx0ZXIgPSBmaWx0ZXIpO1xuXG4gICAgICAgIGxldCByZXN1bHQgPSB1bnNhZmUge1xuICAgICAgICAgICAgZmZpOjpRRmlsZURpYWxvZ19nZXRTYXZlRmlsZU5hbWUoXG4gICAgICAgICAgICAgICAgcGFyZW50X3B0cixcbiAgICAgICAgICAgICAgICAmY19jYXB0aW9uLFxuICAgICAgICAgICAgICAgICZjX2RpcixcbiAgICAgICAgICAgICAgICAmY19maWx0ZXIsXG4gICAgICAgICAgICApXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgcmVzdWx0LmlzX2VtcHR5KCkgeyBOb25lIH0gZWxzZSB7IFNvbWUocmVzdWx0KSB9XG4gICAgfVxuXG4gICAgLy8vIFNlbGVjdCBhbiBleGlzdGluZyBkaXJlY3RvcnkuXG4gICAgLy8vXG4gICAgLy8vICMgUGFyYW1ldGVyc1xuICAgIC8vL1xuICAgIC8vLyAqIGBwYXJlbnRgIOKAlCBPcHRpb25hbCBwYXJlbnQgd2lkZ2V0XG4gICAgLy8vICogYGNhcHRpb25gIOKAlCBEaWFsb2cgdGl0bGVcbiAgICAvLy8gKiBgZGlyYCDigJQgU3RhcnRpbmcgZGlyZWN0b3J5IChlbXB0eSBmb3IgZGVmYXVsdClcbiAgICAvLy9cbiAgICAvLy8gIyBSZXR1cm5zXG4gICAgLy8vXG4gICAgLy8vIGBTb21lKHBhdGgpYCBpZiBhIGRpcmVjdG9yeSB3YXMgc2VsZWN0ZWQsIGBOb25lYCBpZiBjYW5jZWxsZWQuXG4gICAgcHViIGZuIHNlbGVjdF9kaXJlY3RvcnkoXG4gICAgICAgIHBhcmVudDogT3B0aW9uPCZkeW4gQXNXaWRnZXQ+LFxuICAgICAgICBjYXB0aW9uOiAmc3RyLFxuICAgICAgICBkaXI6ICZzdHIsXG4gICAgKSAtPiBPcHRpb248U3RyaW5nPiB7XG4gICAgICAgIGxldCBwYXJlbnRfcHRyID0gcGFyZW50Lm1hcCh8cHwgcC53aWRnZXRfcHRyKCkpLnVud3JhcF9vcihzdGQ6OnB0cjo6bnVsbF9tdXQoKSk7XG4gICAgICAgIGxldF9jeHhfc3RyaW5nIShjX2NhcHRpb24gPSBjYXB0aW9uKTtcbiAgICAgICAgbGV0X2N4eF9zdHJpbmchKGNfZGlyID0gZGlyKTtcblxuICAgICAgICBsZXQgcmVzdWx0ID0gdW5zYWZlIHtcbiAgICAgICAgICAgIGZmaTo6UUZpbGVEaWFsb2dfZ2V0RXhpc3RpbmdEaXJlY3RvcnkoXG4gICAgICAgICAgICAgICAgcGFyZW50X3B0cixcbiAgICAgICAgICAgICAgICAmY19jYXB0aW9uLFxuICAgICAgICAgICAgICAgICZjX2RpcixcbiAgICAgICAgICAgIClcbiAgICAgICAgfTtcblxuICAgICAgICBpZiByZXN1bHQuaXNfZW1wdHkoKSB7IE5vbmUgfSBlbHNlIHsgU29tZShyZXN1bHQpIH1cbiAgICB9XG59In1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg0OTk1NTQwNjEwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZTcwYjFiZjIiLCJwYXJlbnRJZCI6IjFiMDRmYjFjIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNTo0MC42MTFaIiwibWVzc2FnZSI6eyJyb2xlIjoidXNlciIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6InVzZSBwb3B1bGFyIGxpYnJhcmllcywgbm90IHNvbWUgbGlicmFyeSB3aXRoIG9uZSBnaXRodWIgc3RhciJ9XSwidGltZXN0YW1wIjoxNzg0OTk1NTM0MzE3fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiODkxOGY2ODgiLCJwYXJlbnRJZCI6ImU3MGIxYmYyIiwidGltZXN0YW1wIjoiMjAyNi0wNy0yNVQxNjowNjoxMC40MjBaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkFzc2Vzc2luZyBSdXN0IFF0NiBXaWRnZXRzIGxpbWl0YXRpb25zKipcblxuKipQbGFubmluZyB0byByZXN0b3JlIHByaW9yIEMrKyBzdGF0ZSoqXG5cbioqQ29uc2lkZXJpbmcgcmVzdG9yaW5nIGZ1bmN0aW9uYWwgQysrIHNvdXJjZXMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWQ4N2YwNDgxOTFhOTMzZDBkYzgwNmU4ZjRmXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpON3JPLTdYVEFFeFoyVFQwTTNQbzdlUDVEZkdoVllGUFlkeVYwdVFib0lKY3poZW1NX3Y1ZTg4WG11Z1RVQmlNcGZSUGFyc3JFd0xpaUtXdGR3LUd1elFFamdVZWUzZFZhOWFiVG1uUHF6cElIdWMzRENFTTNrVHVVeVRreEoxcWd2T29JQVF0MnlrS1kzemc4S3FnRm94aEgyTHR0bWtYS2lRZEZyRF9mRjBad2lVbFdDNTBRZGc5WUhTcGp0WmhOVXRMbVUyQ0o0b2pMMU5fYWt5bzVUbzFvM3B3dlluX3pCb19xY1hMbjdkRk5VY01uQm5JY0J5Qm9LRDJyam9hNmxfRU1KY1I3RnBqVkU5RFh4VTFoeTBHdWRPSkM4OFZTOENXc013Nkt5Q2ZtWU9ncFNDNXFyWFcwd2JTMmVMdWRjT3Ezbl9CY0FwUnE1V3dPdjdwWjZULURCZTZOVzlqTmN0R2QwM3doTm5vWkNRS1JPVDZXYUJBZnVqb1FCekJkTXNlVjV3bWlCSGdrRzZHb01vQmdWZ2ZMY01ydDRJdHRZQ0s4blR0Y3k4ZThMSWhfRzdBd2RCRm10Q0RaT1lRTnRDei1oMEN2NTlicTlJQTRya3lDTjZNMENyWGptZ2o2TTNoWEszWE0wNW96OTJjOVIxcTJHOGNicEcxa0lCRTBSTFZMcUk0S0REbjQxWnhBZFdPRVRZb0R0Mjd4NkNZc3lJak1zZFJYdUl3SWkwQ2thbmhjZEFYWG9oa1FUME1fVXQxeHYtTkFMVDFVRFRRR1JzU3Y2N0ZDYjN6THA4ZkJ1ZXhjZVVoa2ZmTHY3TXk1aHRwQXhqRU1MQ3Q1MHBhZm9rcEpjMHpkQ3ZseVNQVWFkQnN5eENGMkpGTzhLeWdPVFRNVEFRNmpTUWhTVDN3RTlzSERiLWVpYUl3Z1JLVzR6V2RSb2VMdjNzVVRxQWRNM0pSNlROQnZIRDJFYWJCazR2WjBtMFlXQ1dPdVY3TG1LX0o1NjlFU1QxVzhQa3VKdjY4dERPN0NKTERjbjRDNmFsRjA0Y2xkX2hLNXVfMklLVWU0aUYzS3Z2NjZlc0pBWG1fRGVMZVUzYW8yMzVyWUtJVXhWZ2NvcEo1RWdhOFVldV9KQ3J0SG5sWjVQbEE4a1dRMlFUNlBkZERDUmtvSFBjamU5ZE92LTgxT2xDXzBQd2xrXzhGQm0tek1kdTJ5VXdkNVRmLU9oSGstcjl5VndSSk0wVzVQLVVNd0Jsel9EWHloOWE1dUZqOTRaOWRmUmxramkxTk04bkVmSGZhQk0tMGdpRVRibS1VNkJoZklSVzZkXzE5bnQzTndEcVhrOEMydHdrS0lnS0d6SHBCUXlpZXZCTVdnZHlKelN3ZkwxRk1JN0xRRDFBWTdFVnpiQXMtYzZab0N2aHk2aktYZ3B1OEVjSDNyTGxvcmRLa2VDWEZJbTJTRFRITDNaM0Zva05KeTc2emN6cTNnUVVxTHk4UlJHMnh2NWVReHRKaEh2ZGhhSmFIWTBSSlpxQUZpWURaa0RZVlRpZ2hmaDRQalFFWVJ0QmktbzJkY2lzdWt0ZHQ5NnpQYjV5ck41SkZWN1k4RmJUUUxWVTFmS0lIOW96WEVMa3h6b002MFUtcWh1VHNLY0cxX2I1V3pBbjRSYUtYbWwweXhtYkFKZmh1dU5NNjJiV3gwV3piT215MVI5d1FsOTVPUVN1bGpPR2MyTjNkMWkwRmhibl9HbkNIZERhSmJ3WHQ0aXFiWDIwcTJGX2hVdnhnaV92NFJpc25wbWo1UkZLeWY0RUE1TnBBYk9lN0pCMHc4UVBOb1Z0Sk1PV01wWloxV2RZY3pvb3FaZFNFYkFLWWp4M2QzM0YyUGFfbDczS1k0aWdXSXVpZ09OTTUzUG1WcW40WWt3UU96djNzdUdmSzRQYUUwT0VHdzc2d3VTOEFPZmNrODZPdElOWkh3LTlSWmhfdTBBZmRLc1l3YWI0aDhwcXVLNDZ1T3JPdFg1ZUtVeUlXOHpHZ1MtOXhOZjdVM01aNmp0bG5ja19ZZmVRbERCWGlZQVhNdzYyOXFSWElnenhtYWdhMHN0V3pWb1dHU0NmUlNOM0Z4OUdIZXhOMFVHSzM3cXVqbl9yY1NWOS1tR3l6TUxhenBYNmh2OGIxa21TUHVPZFdLYUtvVms0N1lpWTVRX1JGMno0SkNZcnVvMXJJTE55YWJKcml4LWw3MWtTOTlDRFFHb1FOY3d1LWhuNVNQUVhZUFRlY2pmX2FZekpYb1BzT0QyTVpLenBlT01VVENUdC1kdEFLNXhQWkpNdm13SFhvMElwQ25sRDlKSDljVVg0SmRlNmc2ZnFaX1ExYjVFMng0NEt3TVkxXzg5SWpZNUdySFhEajVoYlRyYmZWQl9sQ0xpbEtaT0lDQURGS2hoNTRUOU9Ba1VsdzBlcUxLd1NSYnJZUU5WWUlxVDUzZTZqSlFLT3l6MWJybzUzc0F2Z0pCV292ak9nZVd0dG93LVIyNGdtOHBuSGJLeDIwZjhvVEdtVkNOT2Fjb25Sb2ZnU2o0OWhTZUttRVpOR01JYmhoTjRscWhON1JOVDN2VDlMLUtxa1FDTlJWaXBOREJTOTYwNmdydGM4VWMxMURmNk5qY3Qxb3lXcktZSTBRRGlqNmRUZ0p4eThPMzRINDFHTExHbXlILUYtWkxMZGRHOEI5TzZMV09ETlBuSTd0R3EzRXZFWEVXLTZINHdkY2U3d0VmWFd6RVRyZVI4S0pncEY3Q3NBWklJMHVzX25NZHhkRV9qU011N2RvaFBpbFktajRzUzhhWnFBRTJ2c2NJOVlKWnJMc3lTQlVtcTJlWkNKQ2pKSEFrdWZ1S0FyM2Y4YzNpcU9hcWY5dDRwVkZJR015Wng0VmFxVHk1YVFPRy1FRERJajR0TWhobjFIcEd0UFM4TUxxQ1k5UWhYdzNGVGN5TWlJd2RLdkJHS0xJaVA2aHZ3YXFMVl9yVmlPQWtsbTduR0o3TUZzR1BheFdWb094c0R4MEE0VktNWkdOUWFDd2paUGhHZU5hUFhwOFIwbDlyR2cwd3hTN0duaHloX045clJCUldxcXhtVXRIWUxvYVNCc0hnYjlHcmswRnEyeVpjSXJPM2JxSkIzMmhIUXFIWFU0TDBwYUJjMExMeUZ6d2I1QzQ2M05PdDlkdkVaOVdldUNEU3l3TjV0cEQ2MGtDSThNQWxrM2FEM1l1MXNkRlVrVVdUdjVISVFmSFgzWDdLaF84Ry1XUEZ5bVdMdXYtb1NEcnJYMU1yalJSMXlwNUdXdEstVVU5UFlOTFlaaVlCY1FrLTZsZnVDWG5hblNiWDFXV192bGYtUktTdjQ3NGYyTk16cEpVbTg4dEg2S0FDQUh2U2phckZLMkR2SWdQU21nYTdlR2FoalF0dWV6dnBUT1R1NG8wUHBNdzUxUGFTT3dldnlBeHNhc0tORHE0Q1Exbk02R2Zhejc3NXBESzFfdi16QzJHRS00T0VYUG5fbnBwazlpUi1oMFlUVnNULTVwMWYxb2tqRHEzcGNHcGI4SG40SUpxQ0c3SmpRaktpZVRxN1lnMG1wUTlEdFdrdFlzM0hUdU9taWZTRmxFR0ZxLW4tcm83MnU0Z0F5ZlZqVmRvRjdiNzFMSHJSRjVYT3R4N2E0MjZ1bHBJZ0ZOTnkwa3lqWGZwVURlampLUFJmdmVHY3pTUHBJMUM0NTB4M0Nwc29aZG5JREo1UENjX1dObDF1UW4xTmdGQTdqdUhqNml0Z0pEMUY4bnZkY2hLNER2dlVYSm9pUFdNQXlnbTQwY0hRalpQQ3prWkttNmRQRTduNWZrMDJHWTBieHhWcmNpR3F6QWRTazBaX1QtNF9FSEI2aEU4YWpfRjdfMzlNdzN3d1hjMnRydGdvS2ZDMWs2NlpucGc5VmFsV3dxT1BOXzVnVHo1NDlKMnl4aFVaQ0ZZb3JyQ2lqTjBvaG9qQmdpVnQtczVvamdpdHpzZ3c5VnV0Zkh2SjFsRHo0WnUwZ1IyY1VBd2dsc3U3RFVwRms3TVpMS29qclQwXy1RNlVaSUg3X1VIaDhyMEQtazBnajZWYXp0aTQzdVZjemVnNVN3YzVqdTFZVEFVeVAwM2l5NklzZlZTUFJ2dEs0ajdtZk5nU2R1dnpMUlE0NHJvNEFvNmd6bXI3cWU1bnh2OUl6a1hISGtlOXhRU2FmZ1dMNl91c05iekFFQkdqZEs2TU1TeW8zQWhWYWNkT2RfOUpoRHFxTTc3YkNoZm9CWDVCZEJrVURYb05PdUdFdmZZdmFscVR3NkE3TFc1LTE1dlFLVERPY3hVZmZsWXhOaXI5c3VrY1ZkOUEtMldwVzkzVDNIemx5ckdWR1dvY1E4NkVZVmk2cWJVUnpvREtsa2RIZEpYbzNmdkdNNFRxeHlUZ0JJUDJpNnpaaHd0d3FQWEVqQTlGNXZvUDVHNTRIdnZlMkVLM3lqbUlNUlhFV0c5S04wcXVvZU9JWEV1cF8wTUR2ZFVXRGRhMklFajZWUE13YmVLUG1pR1hLd011NDc3Y0FBTmFuTUxic2w0UTk2cjZhU2VOalVnTWxXS3gzNjJwNV9qVWRnSDNBLTFTX01TNm9abkVKNm1SRTQxZ3hub0pnaEZPQ1ZfUTNaSXNHMkZucXBLY1R4dGRNdDc5ZkFwVko0dlRGR01PelNCeHR3ZWZkSEd4aUd5OC1UYzdmQjFWU2dKMDRKcTcwVUVrTzBtRzdQSm9CazVSR09PN3lRdlpvRDd4YnVkUUYtWjNGRmRKempSZVFObDJERXYtRjlXWjZpMHE3cWU1LXZlTGVRZHczZmdhM05NOHhodnBiZUlRbzZCUG52LVJZWmJTVUFUNUpfQ0Npc2hQdm9aSW1zbURkQ1N5U2ZzdG1uVWhHTWQ3SG1LcTdWVFhsdlJTaWpTaGtSRzkyV3FkekZ2STdvUzZieWNOU3E3V2xTNFg5SU10RURBYV92SGUtUzU3V2ZnZmhfaDlTTTQyZ1FmX2xPbnJLLUhwdlNIc0dnOGgwNmpCWDZSLURZQWlDR3gtOEhiQUlic1lJWVMyMkpDdEdaeVZKSi1YaU1Ydms1ZTlXVDhqX0pmZm5nLWpqQUhYcXlac19KTjlkanhER1FyRzVReC01WkpVY3FyaVlta0NzMW5obTFocDFnM0d5RUZtVUU0VGFxOXpnSTZxUlpXb3hXNHhZOFdMU2I3dFRrWWtRM0FmRktwbGtQQkQtUldJSjlhOXl5bjd5V0tXcXRQcjN4MWZWbGgxTnRZWnRMLThqbGZUbHVjT2pZRHp2MzZRbFYyWEtmdi0zTUVtbERmZGNFV01pajVwZXB0a0pKa1p5LVd3blNcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkFzc2Vzc2luZyBSdXN0IFF0NiBXaWRnZXRzIGxpbWl0YXRpb25zKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIHRvIHJlc3RvcmUgcHJpb3IgQysrIHN0YXRlKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkNvbnNpZGVyaW5nIHJlc3RvcmluZyBmdW5jdGlvbmFsIEMrKyBzb3VyY2VzKipcIn1dfSJ9LHsidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIGZpbGUgcmVjb3ZlcnkgZnJvbSBzZXNzaW9uIGxvZ3MqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWViZjJhYzgxOTE4MDU4NTBhYWFkMGZhODlhXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpON3YtNVh6dmVydzZ5MkFGUjRQbjg5SzFBMXFWLXlqd1JoS2JiMVRfUFYwdVBHSWF0anRBcENUX3Z2U2hidzhIZzhYc19UWjRidm16OG1GNU5NcVJMaVJITmtpVjhSWmpYaEktNHMwMmpYc0VmM2R4VHpqRDFSYmp2MmMwd3ZveG5CZ292eW9GdzF4NE5uTkZOR1lRa1oxY3dIdWE2aElZdC03Wk5URUpRemxmYmNEbHNPNmRGbzhPb2lSY0o4dEo2X2E0X19XSUplanlGY1JUZXYta3cxVkljNDRtSHRyTzJ1R0Q0ZHlKTnVyeG9Vcm1IV1Q4LVE5c2RKUXpoTG5KS0FmWmdpT0R3VkVPRVFaUW5HNzJXOU12RlJvdHRpQ3NWOEpidmhudHJ5bmw0aXliS3B2UUhkOTUwTlZGQk1rb2lpM0tjVVJkSWFjRG05RGdieHI4YUUzUzI5NFJ2UmYyMEx1YWxpOG1XYmVQR25Ra0k0bzRkRXFVaWxyaS02OWxKV3FyMUFQT25FZ216aW5XY0Q0OFFfUUNvYkoycjctc3pHQ1dVWFY5aEJwYXVZa2RmTU9HWlNWUFNua0djbUxSOHJxQVRCZzRQWHR2ZWRpT25FVV82Rm5QZ0pkWThha0hTa1d5SGZtLWJKTDN2YktEd3gyWlpoM1lZZFVuYk5sR1hFZEtxaGpqaU5QN3UyVXBlbW5La1AwcmU2RG1YN29hS0RKcExSRTV4STlTWllRb1hYbG5HcFJZOWphVkt4aGExd1NBMjFpNWR4N1VZMVBBaW9YckRQNXhLbVE4d2I3VkdJUm1HLXRNcEF0V3hKNEdiLU51dXhkdVNZVTBHQ2pEWFJnZzFwUFgzckhoRklWS1FMZHp5R2k0SHJlQmFxYWdVa05sN2UwSUZZelRLS2tYRjF4WkZWb3BuTnJEa3ktTUJJQUNHZ05xN0NTMHBOSUtZeWhHeXlVU1JWd1oxYUtfMWp1RHhCX0p2UW52UE5mcHp5TnNiT1RBZVpmdU42Y1YyX2VkSmV6WHpRaGNCUm1OeWpxNEdQZ2NiY29FVTk0Wm8zOTFNb2V1WW9ZaGdoLWpVTGJlYVdvcVEwVEN1dFI5OEFwbUk4TV9wTWhrNDh6ejF0NEF5Njl6SUs2clJSRHBVeDhPZEk4WVE3d1JjVzVGUm94eE55S2tqWDUxWVpPUE9GVHpmUTd4azhOaEExQVhjcEhLZUR2R0dybFdmN3pNb2RlRDFnV1BFSDJGUFZReXdCQ3FyUEI1cjFPbUpjSERFV2h2SjJTdHRuTkJ2ZjlVTGFDY25NS09KcUV4Yzlqa2Jhdy0wN3NQWERMd1ZGUzZobk02Y1QxLVFudGhpcU54NTJxWDBWWkdpbVpCb0pCRm1CdEw5Tk5rSHE1UGVaSUlkdDNGdG1Fbi1YSlVfUUZiZmg3bThvM0tSNzdybmxVS2hhUEZKQ3gwYnVkRDNRSGRkNnRPb0lCVDR1RUZZclJ1VDRDQnBTeUxiNmtPSVZfUndnSUQ1eGJDOHVSejFsMk1JdTFfUkFJemxSUk8wMnFhbXdCM1pFZGZjMzZhMUxaaHpxNklGT3F6TllPaVFldjcwS2ZOR1g0cFVNelFaR2xIbzB1WV9OSFdUMVczWlpuRFYtRmpZQVlzekxWTzdvejNQOTFsb1JwNmhQU2NZZmdyekw1WkpWMGdSZ2MxSWNHZ1FyZ3NSdl9EbWh3V25jdk9lMjl0d2F1YWNwNmY4am55cWMxS19UVGRKWGx5cUdJQnZzQjF5ckZLTkVlV3BlME1vQ0RwR1NQcUVGMW5Kc085bDRqU2xrbmlwTlZpTHl6d1BVVlZxTUdiZU5ya282V3NWUUFoQjNSWlpzd19xRmZmOFFkVlBWTTJxMlZ5ZlM1VV9wYnA4b2otMHNpbzVOc2s4X1ZVMXV1U2dtNFVGOD1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIGZpbGUgcmVjb3ZlcnkgZnJvbSBzZXNzaW9uIGxvZ3MqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfTnFqOGpQOTJPOXQ4VnpucExOSXp3c29WfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWVmYWVjMDgxOTFiYzQ4ZDQzYjIzNjM3MzMyIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InB5dGhvbjMgLSA8PCdQWSdcbmltcG9ydCBqc29uLCBvc1xucD1vcy5lbnZpcm9uWydQSV9TRVNTSU9OX0ZJTEUnXVxuZm9yIGxpbmUgaW4gb3BlbihwKTpcbiB0cnk6IHg9anNvbi5sb2FkcyhsaW5lKVxuIGV4Y2VwdDogY29udGludWVcbiBzPXN0cih4KVxuIGlmICdjcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwJyBpbiBzOlxuICBwcmludCh4LmtleXMoKSwgeC5nZXQoJ3R5cGUnKSwgbGVuKGxpbmUpKVxuUFkiLCJ0aW1lb3V0IjoyMH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo3OTczLCJvdXRwdXQiOjY5OSwiY2FjaGVSZWFkIjoxMDkwNTYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NTk2LCJ0b3RhbFRva2VucyI6MTE3NzI4LCJjb3N0Ijp7ImlucHV0IjowLjAzOTg2NTAwMDAwMDAwMDAwNSwib3V0cHV0IjowLjAyMDk3LCJjYWNoZVJlYWQiOjAuMDU0NTI4LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4xMTUzNjN9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1NDA2MTMsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWQ1MDNiNDgxOTFiODE3MzZkYmVjY2RhZDczIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjRjMWY3ODYzIiwicGFyZW50SWQiOiI4OTE4ZjY4OCIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDY6MTAuNDU3WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9OcWo4alA5Mk85dDhWem5wTE5Jendzb1Z8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlZWZhZWMwODE5MWJjNDhkNDNiMjM2MzczMzIiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJkaWN0X2tleXMoWyd0eXBlJywgJ2lkJywgJ3BhcmVudElkJywgJ3RpbWVzdGFtcCcsICdtZXNzYWdlJ10pIG1lc3NhZ2UgMTg5MzlcbmRpY3Rfa2V5cyhbJ3R5cGUnLCAnaWQnLCAncGFyZW50SWQnLCAndGltZXN0YW1wJywgJ21lc3NhZ2UnXSkgbWVzc2FnZSAzODhcbmRpY3Rfa2V5cyhbJ3R5cGUnLCAnaWQnLCAncGFyZW50SWQnLCAndGltZXN0YW1wJywgJ21lc3NhZ2UnXSkgbWVzc2FnZSAyODQ2XG5kaWN0X2tleXMoWyd0eXBlJywgJ2lkJywgJ3BhcmVudElkJywgJ3RpbWVzdGFtcCcsICdtZXNzYWdlJ10pIG1lc3NhZ2UgMTk1M1xuZGljdF9rZXlzKFsndHlwZScsICdpZCcsICdwYXJlbnRJZCcsICd0aW1lc3RhbXAnLCAnbWVzc2FnZSddKSBtZXNzYWdlIDk3MVxuZGljdF9rZXlzKFsndHlwZScsICdpZCcsICdwYXJlbnRJZCcsICd0aW1lc3RhbXAnLCAnbWVzc2FnZSddKSBtZXNzYWdlIDQ0NFxuZGljdF9rZXlzKFsndHlwZScsICdpZCcsICdwYXJlbnRJZCcsICd0aW1lc3RhbXAnLCAnbWVzc2FnZSddKSBtZXNzYWdlIDUyMFxuZGljdF9rZXlzKFsndHlwZScsICdpZCcsICdwYXJlbnRJZCcsICd0aW1lc3RhbXAnLCAnbWVzc2FnZSddKSBtZXNzYWdlIDkyM1xuZGljdF9rZXlzKFsndHlwZScsICdpZCcsICdwYXJlbnRJZCcsICd0aW1lc3RhbXAnLCAnbWVzc2FnZSddKSBtZXNzYWdlIDczODdcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NDk5NTU3MDQ1N319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjAwZjM5NDZjIiwicGFyZW50SWQiOiI0YzFmNzg2MyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDY6MjQuNTY0WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipEZWNpZGluZyBSdXN0IFF0NSBwbGFjZWhvbGRlciByZW1vdmFsIGFwcHJvYWNoKipcblxuKipQbGFubmluZyByZXN0b3JhdGlvbiBvZiBsYXN0IHdvcmtpbmcgQysrIHN0YXRlKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGVmNDQ1YjQ4MTkxOTFhZWQ2YTdiNzQzZmI1OFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFaTjc5SlFJQ0JkMFdvcmtaNFQ0Q24yZDlSOVFPSU9aa1A4Rmp2UkpiekJROUU5TldCQm9fRXdFc1hkUmZ5Yjd6OTgzX19IVFhKUGlLVFF5STRhdWpNYW9DcnpDOG80Sy00NmhIRVZLZmFydmk0ZjlfMW5hZ1F4c2xJbkJOeEJWY1ZUTVRoUHhSclVJS3BaWUNiT2pHQkM3aFdESEFtN09aeFk2N1JTWlpWY1ZlTHVxTlZZeEVGcWJXLTZZZ2tUbFlDb2Y4bEpwdG1pSklGVW9uenBXVndNdmNZRmFlSUMyM0p1eTJVUk9HYzNwdjBOQVMtZ2tXaU1jV1VKNURzWTM5WVRGWV9DTFJtUXB6LVFIZHIwVFloemptcjMwZ1lQd0g4VzFMLWNhRnVtdVV6LUxLSzlkcEdVazFfc1BjbkR0QmdsdzUtLXF5NkhFUERJYVRueHlIM2RZQThGWk40ZkI2ZXJmM0hWakVhV3NoSU9SOGE4blBrN29JcDlfUE1FbzMtWUFPcmR3MmZZNGZtMHZKaWZYQVN0U3JTSGhtNW41d3RDb2ZCZzUtVHowUzNBdHVnd2VHSWFsX2dtb1lpY21SMkM0X2x1SkgzUzFyVWNlUDBsRGxoVUxRQVJ5WS1xQVNSSjBTM00tcGJLWV9MQm81Mzl4UnYwVGdZVFZ6R2tQd243TE4taDJGcTQtbE5mNUZLWnJfUUNvTWEwNkpRVHk2dnE1Ym1Wd091amJjdm1ZUFFna1J0b1Nnb2Jrc2FUN0d4TGhackg4VmlqUXZPc3lhQV9PeGE2Zk1xMVBTeEtxbFA1emFEY0UtUlUycm1ZMVAwNzdxYXRTNW1GeW9leDdPR09JNDFnWjdvNmJFdndxOGdvYVQ0N3hvZktxdTVfby1MRko0WW8tRWJrNnJOc0xWSzVtTzdhRGxRaXk2NWltN1draXBUeUMxSTgxTUstWFl2R3A1UXpMaGZXVFFQMVdzUFNzYllzaDYwT0J6QmJSU0dVdVRDTUl6Mlg2QUNHaEpuVzhmRzRNVm1JTFpaZDdMTjR3US1NMmhWbzE3ZXVodzAyR05tWWRPcUFZdy14b0tSRkRXS19IN1pwdzdrX2RvRjlKRzU5SmE5bnVHdlpuMm1QWXJRWlRJQzJDR2dQMjVVWEhmem5GOXBLc1pudzNCMVZGRDR5OEpLeTNmLTRLNTFwc3BkZ09fc2FrcHY5T3VES0h6LWM4RUxldVViZjVEbXp6NGF6RlluVEtnQnhULTMzUnZDb1hLc0VDeEpqT3Jrajc1alRPQjFkUTZjbFc5elZEXzA1QVFhdm5LLVpVMUJNd3ZpZE92OFd1LXVWbkY4ZXBuS0M3OXR2TnVVVVhidVVvYXV0Yzd3QmctaDc3b2lWZmNEVTFhZGNsd09GX3A3djRlTlpTZHcyeDR2WGxyYmFkV09OeEFHTUpZZ2xmd3BxUHZlb1V2R3k5aGdEbEdzaEN2QW9UelFwSzQzcktEYU5lUkxOSkE3NGQ5ajVFWElURXljZl9CQkp2RTAzbWxuM0FJZ29faUdHek1ZWjJFbnFJUi1zY2Etck41RW1MRlM2ZkxQVDYxVU9FWW5NUXFReU85ZWhhMXlKZDE3TGZpdnpIeW5RSUo5NFFyTU9mTjdneDI3cVk1TG44YjJhQzd5X2xSQXhQMmpwQ2NGVm9XY0dxbEJSTjh0S1pKSjdFbWJ4dU1uTzJDQVc0Nmp6ZFdaSGRuczhwZDEyRVp6ekt4VHpOU3RwcEJyNEpZQ0JrcXFUWTJ6OXk2NVN0NXdQazBYcjRNbWFRV1g3SnZNaEVsWXFNeXpMZ1VJbTRYNjNrSHJTZnpKMExvc3p1bzlpUHlxQThvYlRVeTJxNkE2QVpkZl9xSUxhMERDZHN1RXNZZFA5VzFhODItSEhlRmwzMWpTTXlCSF9XR3BYeEJiOFcwVEJNQ0twVk1RNExDaFFJMEVwTmNHR3VrNlJfdVNmVVlNaUhGWURBR3BsSkJuZUxIWklkMWNFNmRXMnFZbE90SnZDeTNEdVNxZHBRc0RySXhqNG5HVXl0c0dNblllbkxmbmdQQzh4cU9oRW16VkVkdlh3c2dEY3VmbXZKRWFQNENnSzg3cXdnMllwTkFoS2pESGxNTXhvZFVDcTlZV0VBNUp5aEUxaklsTW41NjRGZGR2dHg3eXc1UFFrNnpTSWJCMmpURFBVaUt4V05vQzctbjI2QWcwVmZQN3NPMUdWQ2RxMG1SYkZST1EtQnEwODNvMEltWldtT0UyUnVZSUVaeFE4NDk4eXVuQmV5SVBqOFpPaGJKM2daQnRiekxSUGgwZEUwVFJRbDVNaGN2VFFBYWl4N2R1a1RBend0dDZYZERBYnozUkNqWTBuUnd0T1Z4RS1hbllCZmpfMkg5RkdsWTdkdW9PVlVVNjBPWVlRV3kyY2xOU2ZMOG5YMF9FWlRyX0FKUnB2bmNQTnZMbkRMY2w0aV9USmRnTWEtb0RpQ3FveXJ0bTlVa1dXbmhsd1BsaDg5VTcyX0t6d2o0b2huSmNzZjgtWW9sc1FRN2xRbU5EMHJEeE1UcTZyV0x4cVZqUzBLWHhKMTBRVGlKbWR0V2pkZWNsYkZFaE1lQUx6UkEtcndFSTFhcmdqcVNsbTVkZ0pCTElkZ0IwcDU0c2ZFUHVhOW4tczFSUURKVzRIc1pQUmFJMlE5dExlUTZnZXhHSXZjRnBfY29hUUtweUNrVmFPS3pld3pPM1h0cTAxWGx6YjVsQlNMVHBDeGtUNi0wcVhkaXlrM3RXcWE1QTRqeFcwUEZ5SEVyNVR5Nml1Ty1sMTRNNmJPR0VUTlV1RHp4YXUydko0RU8zdzhJQjZKWnVsdVc5SUFLNTYyT2ZLZVU5WmtNTV96TmE0b1ZUeWZMb1dSYURuQWRCdVdEc05iejlPcmp5OG1qcFlMd28zLWlURnpjSGdQcUptZGUwNGhsU3d1OHVGeUI4dUdSVkFfNEJHYXBTUGpwSEg5SFJJU19oMnBveE5KNGVMc3B4a1d2RWxod3dDRlk1V1hfWkhwaTktY1ZlQm1XaTBMY2NKTlJlTVlwelNOSEpLcjNWNm5pZm9sdU84d1hYY3pSZ0RqUDdCMkQxQ1hwSExpZW5kcUExWmJvWUlHTWxPaVYycVNmZnlsZ2ZZeVhzSk91SHdSTmc0SHhTcmU2bjBFTm5jbjg5bTEwc3RfS3RJQU83d2NDazlXOXd5SGUxVzhhN0FFcmNNS1hMTUNfVWo5ck1lZWFxQ0t2MmktRVpERHJGaEFxUENYekktR1ZlckdvNnhvZFhPU0dGQnF6OXl1NmF3elFPdjcyMV9HaG8tQmg0dU1BV1lwQ25kUFFrXzhCY3lLSExXWl92WEt5bVh0UURwT0ZTVUMtaURRdEFMNVpBR0tKT0VCYmJSZmlHd1R0cGNCQ202eXM2ekFXVGl4X19qVUlqb0E0OXpVdDVBMEpHZUgxNkFFWDFCSzlWT3pyaVliY0dBYnFnN0traVdUQ1FJT2Znd01adUVfMWhvMnZGeklnbDhLVFEzWks0VXN5bmJIQ0w5WlRJd1U4VC1qWU5BbDNadXI2X05VUWp3cFNGNlNkY05ITVJ5YkJJY1J1LTNSUTBpVkJMMF9OMzBoUFdvc2FMOEd2ZEdDOVVBREhXSE9UR3hPSUV3THRNRVFnTjhDcmh3ZExaYzF1TGRhRTVQLUVsZ0xyeHd6MUpRdzMzNmM9XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipEZWNpZGluZyBSdXN0IFF0NSBwbGFjZWhvbGRlciByZW1vdmFsIGFwcHJvYWNoKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlBsYW5uaW5nIHJlc3RvcmF0aW9uIG9mIGxhc3Qgd29ya2luZyBDKysgc3RhdGUqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfTkc5dU4yTVBWRnVrVmlHR1VkekJselREfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWZkZThkYzgxOTFiMjE4ZThjOGNkZmM3MjhhIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InB5dGhvbjMgLSA8PCdQWSdcbmltcG9ydCBqc29uLG9zXG5mb3IgbGluZSBpbiBvcGVuKG9zLmVudmlyb25bJ1BJX1NFU1NJT05fRklMRSddKTpcbiB0cnk6eD1qc29uLmxvYWRzKGxpbmUpXG4gZXhjZXB0OmNvbnRpbnVlXG4gbT14LmdldCgnbWVzc2FnZScse30pXG4gaWYgaXNpbnN0YW5jZShtLGRpY3QpOlxuICBmb3IgYyBpbiBtLmdldCgnY29udGVudCcsW10pOlxuICAgaWYgaXNpbnN0YW5jZShjLGRpY3QpIGFuZCBjLmdldCgndHlwZScpPT0ndG9vbENhbGwnIGFuZCBjLmdldCgnbmFtZScpPT0nd3JpdGUnIGFuZCBjLmdldCgnYXJndW1lbnRzJyx7fSkuZ2V0KCdwYXRoJywnJykuc3RhcnRzd2l0aCgnY3JhdGVzL2ZsYXNoZXItcXQnKTpcbiAgICBhPWNbJ2FyZ3VtZW50cyddOyBwcmludChhWydwYXRoJ10sbGVuKGEuZ2V0KCdjb250ZW50JywnJykpKVxuUFkifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE3MTcsIm91dHB1dCI6NDUyLCJjYWNoZVJlYWQiOjExNjIyNCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyOTUsInRvdGFsVG9rZW5zIjoxMTgzOTMsImNvc3QiOnsiaW5wdXQiOjAuMDA4NTg1LCJvdXRwdXQiOjAuMDEzNTYwMDAwMDAwMDAwMDAxLCJjYWNoZVJlYWQiOjAuMDU4MTEyLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wODAyNTd9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1NzA0NjEsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZWYzMGFlODgxOTE5MDNlYjJhOTZlZTcyMTFjIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImU4NDI2NWMwIiwicGFyZW50SWQiOiIwMGYzOTQ2YyIsInRpbWVzdGFtcCI6IjIwMjYtMDctMjVUMTY6MDY6MjQuNTg3WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9ORzl1TjJNUFZGdWtWaUdHVWR6Qmx6VER8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRlZmRlOGRjODE5MWIyMThlOGM4Y2RmYzcyOGEiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJjcmF0ZXMvZmxhc2hlci1xdC9zcmMvbWFpbi5ycyAxM1xuY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnMgMjEyM1xuY3JhdGVzL2ZsYXNoZXItcXQvcW1sL01haW4ucW1sIDE1NjU2XG5jcmF0ZXMvZmxhc2hlci1xdC9DYXJnby50b21sIDI0NlxuY3JhdGVzL2ZsYXNoZXItcXQvYnVpbGQucnMgNDc1XG5jcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwIDE2Mzc0XG5jcmF0ZXMvZmxhc2hlci1xdC9zcmMvbWFpbi5ycyAyNzQ4XG5jcmF0ZXMvZmxhc2hlci1xdC9idWlsZC5ycyA5MDZcbmNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWwgMjI3XG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1ODQ1ODd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3MDk5ZmNkNiIsInBhcmVudElkIjoiZTg0MjY1YzAiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA2OjM0LjcxOFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqRXh0cmFjdGluZyBsYXRlc3QgQ2FyZ28gYW5kIGJ1aWxkIGluZm8qKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZjA1MDdlYzgxOTE5NDg3ZWRmYWMwYmI2YTI0XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcVpOOEdMTkdqekYtS2l2YW9ENVJUQXh4bVhVVGdaSkNCYnN0YnhScWxuT1Q4YkVHOWFuQ1Y2TENoMW5iMFluZnhjVldHWUJvNWNIQWlvSHl1RVdSX1FXQUV5Z3Y2ckNaVmp3aXJSSWt6dFpnVGhVcDZtQy1PVkZzY19CTDUwZkZ3d0FaR3FjcWY5MmtIY0R4NlFnRUVNeTd3MGpNdFFFMWJoMEFTazFHN1VDVkpxaTRHNjEySUJnUGxYU2M4VU45ZWRCeUNUT1dtSnZrZm1OY0Z0bkxjMVZKWFl0dlBuOG9rcmM0bnJqUDI2NXowMVJPWTIzbzFjYVpsVndmdFpDQ0pFZjBrcUVzOVQ2bURFWU1ldW5oNTNCQ3kzcUtHQnJlaGdreEZYOHR4czFTTkZZLUZWNUdyd0ZibDhSbDJBM1hOY1djS25zeDUzc1dsMWdrRXhHMXZiM2RIMERXVnFhblFsTlE1Q3BlV3JCeklVY3l4ZUZLRU82dktXS0ljU2FkQ0hGQ0J0Y1JqVzFjcEJ2dWRnQmk3M1VwN0p5aGVUV2ozSnNpS1VCUURGc09vc09GVnJnSnhxaDJlWmNMWVh0OGV0WFNSeWxTNTNhdWM0N3BzZ1pyUC1HcE5jck9RNXJEbVpUcGlVdFNPbHJCOEdJU3BITG9IT2Y4WF91ZnhrQ0FQMnprM0ROZTlWN2hPSWxLSkxZLUg2SkQyN29vV2FxYnkwWjc1UWd2ejJoVjJrVTNyQ1ViZVkyemxrM0VwMnhUemZQX0NvVXhVeDF5OUNlX3RDSzNKYWNQOUhVRHdxeHpvam55OFhLYVB1RlRpNkg1WnVuNV9PMlBGek5qQUdxbkNReTZsVHQ1QzQtWnhQVkxHMzE2X2x3OWZSMTdVQUFfVm5sX1VhaWpyZUNQYXlydmVIOVV1OFVrWlgyQUVvR1Rjak9vMXROZHpyYjZvNTU4S0lpVnA5T3o3eHo2a3ZtOFNzbVE0LWRRTENTcVdISjQ1TFQyRGpRbjRDTTZkOGZQaVJHaVlmczJBeHdZRG15dFd1M1NVbU1WMDdsTUx4a1NZUU90Z281dUF5cHZzaVFUelRrb0FXRkc5ZVIyNnFKeUlFZmpvc2VqNGtMNHZWZ1NqZjM0eFRSd2dwU214a081TDhCUWY2M1JRVTk3ODhyMzMxQ29peVFPMDBDYldUSWlseGhnR0dUUW9XUVhPSVNzYzRKOHlnWlMwLUZLZ2oxY05VWkgxUF9zQ0RhVVZWaDJtQVc3NnUzS0E2bVRfcDYyMFRuV2JVT3BRdUZhM3ZrWUdEbEp3WExBT1pYWHhsRVNJNTFtaEkycWlfbTJvaGxRMmZCaGQzN0dnYkU1WG9PekJVUVpWXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipFeHRyYWN0aW5nIGxhdGVzdCBDYXJnbyBhbmQgYnVpbGQgaW5mbyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF95cXZHNWd1REtldW9sMnhORXpLYXhaZEJ8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRmMDZiYjY0ODE5MTljNzA4NjBkZjIwYmFmYTQiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicHl0aG9uMyAtIDw8J1BZJ1xuaW1wb3J0IGpzb24sb3MscGF0aGxpYlxud2FudGVkPXtcbiAnY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbCc6MjQ2LFxuICdjcmF0ZXMvZmxhc2hlci1xdC9idWlsZC5ycyc6OTA2LFxuICdjcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwJzoxNjM3NCxcbiAnY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnMnOjI3NDgsXG59XG5mb3IgbGluZSBpbiBvcGVuKG9zLmVudmlyb25bJ1BJX1NFU1NJT05fRklMRSddKTpcbiB0cnk6eD1qc29uLmxvYWRzKGxpbmUpXG4gZXhjZXB0OmNvbnRpbnVlXG4gbT14LmdldCgnbWVzc2FnZScse30pXG4gaWYgbm90IGlzaW5zdGFuY2UobSxkaWN0KTpjb250aW51ZVxuIGZvciBjIGluIG0uZ2V0KCdjb250ZW50JyxbXSk6XG4gIGlmIG5vdCBpc2luc3RhbmNlKGMsZGljdCkgb3IgYy5nZXQoJ3R5cGUnKSE9J3Rvb2xDYWxsJyBvciBjLmdldCgnbmFtZScpIT0nd3JpdGUnOmNvbnRpbnVlXG4gIGE9Yy5nZXQoJ2FyZ3VtZW50cycse30pOyBwPWEuZ2V0KCdwYXRoJyk7IGNvbnRlbnQ9YS5nZXQoJ2NvbnRlbnQnLCcnKVxuICBpZiBwIGluIHdhbnRlZCBhbmQgbGVuKGNvbnRlbnQpPT13YW50ZWRbcF06XG4gICBwYXRobGliLlBhdGgocCkucGFyZW50Lm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1UcnVlKTsgcGF0aGxpYi5QYXRoKHApLndyaXRlX3RleHQoY29udGVudCk7IHByaW50KCdyZXN0b3JlZCcscClcblBZXG5jYXJnbyBidWlsZCAtcCBmbGFzaGVyLXF0IiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjEyNjksIm91dHB1dCI6Mjg4LCJjYWNoZVJlYWQiOjExNzI0OCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyNCwidG90YWxUb2tlbnMiOjExODgwNSwiY29zdCI6eyJpbnB1dCI6MC4wMDYzNDUwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDg2NCwiY2FjaGVSZWFkIjowLjA1ODYyMzk5OTk5OTk5OTk5NiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDczNjA5fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg0OTk1NTg0NTkyLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTY0ZGYwMTAwOTQ4MTkxYTk4ZjY3ZTIxMDg5MzBiZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4YmNlZTZiNiIsInBhcmVudElkIjoiNzA5OWZjZDYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA2OjM5LjA0MloiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfeXF2RzVndURLZXVvbDJ4TkV6S2F4WmRCfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZjA2YmI2NDgxOTE5YzcwODYwZGYyMGJhZmE0IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoicmVzdG9yZWQgY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbFxucmVzdG9yZWQgY3JhdGVzL2ZsYXNoZXItcXQvc3JjL3VpLmNwcFxucmVzdG9yZWQgY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnNcbnJlc3RvcmVkIGNyYXRlcy9mbGFzaGVyLXF0L2J1aWxkLnJzXG4gICAgVXBkYXRpbmcgY3JhdGVzLmlvIGluZGV4XG4gICAgIExvY2tpbmcgMyBwYWNrYWdlcyB0byBsYXRlc3QgUnVzdCAxLjk3LjAgY29tcGF0aWJsZSB2ZXJzaW9uc1xuICAgICAgQWRkaW5nIGNjIHYxLjQuMFxuICAgICAgQWRkaW5nIGZpbmQtbXN2Yy10b29scyB2MC4xLjlcbiAgICAgIEFkZGluZyBzaGxleCB2Mi4wLjFcbiAgIENvbXBpbGluZyBmbGFzaGVyLXF0IHYwLjEuMCAoL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvZmxhc2hlci9jcmF0ZXMvZmxhc2hlci1xdClcbiAgICBGaW5pc2hlZCBgZGV2YCBwcm9maWxlIFt1bm9wdGltaXplZCArIGRlYnVnaW5mb10gdGFyZ2V0KHMpIGluIDQuMjdzXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1OTkwNDJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJhYmRlYzIxOSIsInBhcmVudElkIjoiOGJjZWU2YjYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA3LTI1VDE2OjA3OjAwLjc2MVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqQ2xhcmlmeWluZyBRdDYgY29tcGF0aWJpbGl0eSBsaW1pdGF0aW9ucyoqXG5cbioqTGlzdGluZyBmaW5hbCBRdDYgaW50ZWdyYXRpb24gb3B0aW9ucyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRmMTIwYjkwODE5MWJiOGUzNDEwYTI4ZWRkZmRcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxWk44YzFGc1FidTlDM1pUbU0xXzZxc0h6N3BlSnQwVHRDclctcnFSVnNQUS1YbXM0dS12Y1ZoUFVaTmstTVQtVW9nSmxZTnpKMVFnU0hSWk9kbE5XTDZadHBPamJORGtkcFJ6ZVhRVTBKVThjQU5FTXlPeDFUS045Rmo5V21ORGF4TF9WWnptRlh5a2FfbHA4WVNmUk02TEw2NEdwR0doVzVOb2lFY1NReVVtc3REMm1UZXpvVzd4OGVVOV9GQjNUTUNoNXY0TzhqOFctMEF2bHh1ZXF4UkNFQkZiV1BnTVhMTXo2LVdrdENmVzBuaGtsZ1VYTU1TeTcxSTZhOVdFTC0teTNMYmFEbF9SUnhlNF9QdVdoWHZQZEdDbkk2cUhrSkhtY0FXZms5UDl3TkcyOXU3dU10MmxVRVFjZzRkaHZDa0wtdU4zTkVTYXM0TndjRUxVRDJpWk9aMTlwbEVydEJYdTNuZ09MOGlTRUluTE1ucG1NejhVSWIyaDNMMFRSQmtweFlIMHQzaGFSbVU1ZXJpQUJ3OVA3bGh4VUlPZjRaUmNKN3lrQUwySWY1WS1keVpxWnMyVHFzTktVLV8xaXJxZnhuM3d3QUg2eEZvQ0pkNWhHR2lvMEdaQlFiSEppNHYzQXZLT0JqbGpNbVRCY2U0aTFudTR1LVlOS21iRU00UWNra0MxU3JlZUl1OFpGMlBiRTRmQnBjMW1GX0xSUXUyTnF2ZkhKdmszamRkTEdNcnVPZlJOVVUzWmZ1Q3FUSWtkRmw3Qzl4NVBqenhWN0hFdGdsMndCX2FnSUZsWnliaGJqTzNXZTZ0UThOVUdoRWpkZEduTzRhRkw1MU5ZT1Y5WEdKWFktcjlGZ1huczFEQll4dU9kMHhXUmpJMFpkVEJpYUhtZ0UyczJ5dWVZSEpkZkZnOFNFQUpDMHZ5Z3V3cmF3UEdwMkE4YlZNTndwVlFPQm93cW93S2Q5RHpPM2ltbWQ4aHJmYTV4UGtsbVhsX1UtSzFVLXZFazRlOWZ4ZVRCT2prbFo0LWNKaVZKOW9TeklyaDE0RTc4WDBZQkRCZk1aWVJVcXVBSXR4X1I5RGV5OVE4S3dza2Z6WG1qR1pXREpQa1hlVExpNmNEMmlTMU5ZVXg5dDQ5dmp6ODU2NUxTSUt1a0FyUGRHUFZXdnlKS3R1cUxaMkdUM3ZBOHV4V0VQbjdDTXZTR3N4b3VyMWlpX3BWNW5IYnVnZ3VHVTN1NGpxWDc5Vl9NbGRyRThOVU9wNGxCQUc1TVM5SUlkVE9fRElqS09nRXZZV2FrejBSSXVLbHdQRG9ScnNOUTNyOFloWEpjc2lpMnJQMWRqZzhDNkhoTnlYQjFROWVVaHowT0J0X0RFYjBTYk4xN01YSEZvT2Z6N1UwUkR5cUxWNi1kQXBBeUp5MHFBaUVHdEMtem9tN3Y4Wjc3bFg2aFNyYm1SekpOdldnbnd0dWp1TV9Jc1NDZkxBaGgyWUJ3aVY4bzRsVHNfNHJqdVp5c1JLTUNGem83TTlyVkdWUGJZR2t6bXliNzBVSE9MWmV2dWxaSDVxdWdTVkdVT2NzVG1ickZDYzhCOTc2TmNKMkxVSWdoRXBUTC01LWxTU1hWRzVydkJKaUxyempmY2FOV2tXV2pLMWp4V1U1bUgtbS1jZW5OaFE5Y29lRUJJcjBRQmJlb2dYRU5sTTF2dmFZcFhyeXQ3Qk1DOU1uZVVJZ3M0b1VQcFZCU2pWVXF3QVlNWmtBa2lwWVpFMmI1QUhuU3dYVE96TVktd2hUdHc3YTVFYkFXdTFELTRWeVduWjNabTRjaFNZQnp4STAzTFRaRHA3ZlQzUTBMaU51RzF1bVI0OFZEdXVKaHJwRDhFUktHQlc5QjRpa2I3MXVKRG1VUExGM3Q1Z0FXRmppYTgySkh5NmRKaUpkdjlVRFQzNjRLY05YUjlqTXNkc1V3SUJlc1Fpa2pkWGo3YlFRcG9DZ0tUdzY3R2FqTTN5UXQ2QzN3NHRzLXF0b1AycjdOaVJjQUFFdU9EVmNIbnR5VTVHRDFEbzJ4eUV5dVVaM3BrVVNIMklubGVzUHFvSUJrMGx3QnZJOGVBMzh0SVBheTJGc05tWElvejJmOU9UZmFJa1RHUHgzOGFXRGtUckZYcDUtLWVzN2s5UTJfbWdCQkVyOUxRVU5vd2R1QzVnNVN0Q2lldGlXemFjYUd3Tkd3dFphNGhyYklJV0J0THduOXRLUnBYWlRaaHgyZFFXa2k3NVNfN2tZUVUyNFZ2MHpYVHV4NEpGLTBycEZEejBkUGdrMVZNbFYzYS1IYzd1anRGdGRNZ0hoRXl6S2V3NWdzdEdSamh1bXpIdm9GY1lHc1JLNHdZY2tqOEFPTlJoVmQtZ3RWZlJfWTRYQzJwY1FRcFhHbF85Q0FvSVhWejFvXzRra0lGbW9QOHEyODhJZkFDcmNnS0EzV1lkamltRGNZU1U4Nlo5MTlvRi1mRHZBd1ZYWnp1WnZrVjJuY1JTeDR1bmpQSzhDamF0THRtQzBpODlQdmRnOHR2SEtXVXQ5b0Q2c3pHeXY0ekZsUUR2MDEwNXI3TFd5azRzWVdlMUtnVFUwM1ZaM0d6d0ZIem9lcTlUeWZ5WW1BdldDd2ZhOWl5c2R2Y2dUU3o0Q0dHSU9WeG9PWGFEbFlvUU9QX2FpeTdacTZhX2hGblJzNXlDbmxic3JUY3EtRFlyMTVXQ2NCOGh0eXZ1bWlJUDZBSmJQblFnRm1BUWdET29QdERfRlA4WE02WWhKZ1RLVjZwYVk0aUVna1p6WEt1YXRLTDNmMndMYjQ5ODBlbkRyN3VIMUstaXBhLVR1N3k3NTE0cnZLb1c0MlRWR2FYMV9JMXZnYVJFVndsa1FySkNMaGlZb1Q0cnh6VkYtcHZBS1dxZjJ1TThyczI5M0FES3RObkFYOXhoNFp2NkJKTHVyeWx5UWxQd002d1BJNVcyZWJ3ajg0aEFQUzV3MUdKXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipDbGFyaWZ5aW5nIFF0NiBjb21wYXRpYmlsaXR5IGxpbWl0YXRpb25zKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkxpc3RpbmcgZmluYWwgUXQ2IGludGVncmF0aW9uIG9wdGlvbnMqKlwifV19In0seyJ0eXBlIjoidGV4dCIsInRleHQiOiJUaG9zZSByZXF1aXJlbWVudHMgY3VycmVudGx5IGNvbmZsaWN0OlxuXG4tICoqQ1hYLVF0KiogaXMgdGhlIGVzdGFibGlzaGVkLCBtYWludGFpbmVkIFJ1c3QvUXQ2IGludGVncmF0aW9uLCBidXQgcHJpbWFyaWx5IHN1cHBvcnRzIFJ1c3QtYmFja2VkIGBRT2JqZWN0YHMgd2l0aCBRTUwvUXQgUXVpY2suIEl0IGRvZXMgbm90IHByb3ZpZGUgY29tcHJlaGVuc2l2ZSBSdXN0IGJpbmRpbmdzIGZvciBRdCBXaWRnZXRzLlxuLSAqKlJpdHVhbCBgcXRfd2lkZ2V0c2AqKiB0YXJnZXRzIFF0NSBhbmQgaXMgbGFyZ2VseSB1bm1haW50YWluZWQuXG4tICoqcXRycy9xYXgqKiBvZmZlciBSdXN0LWZhY2luZyBRdDYgQVBJcywgYnV0IGFyZSB2ZXJ5IG5ldyBhbmQgbWluaW1hbGx5IGFkb3B0ZWQsIGNvbnRyYXJ5IHRvIHlvdXIgcG9wdWxhci1saWJyYXJ5IHJlcXVpcmVtZW50LlxuLSBOYXRpdmUgUXQgV2lkZ2V0cyB1c2UgYSBDKysgQUJJLCBzbyBiaW5kaW5ncyBhbHdheXMgbmVlZCBnZW5lcmF0ZWQgQysrIGdsdWUgaW50ZXJuYWxseS4gVGhhdCBpcyBmaW5lIGluIGRlcGVuZGVuY2llcywgYnV0IG5vIGVzdGFibGlzaGVkIFF0NiBjcmF0ZSBjdXJyZW50bHkgZXhwb3NlcyB0aGUgZnVsbCBXaWRnZXRzIEFQSSBjbGVhbmx5IGZyb20gUnVzdC5cblxuVGhlIHJlYWxpc3RpYyBvcHRpb25zIGFyZTpcblxuMS4gKipDWFgtUXQgKyBRdDYvUU1MKiog4oCUIGVzdGFibGlzaGVkIGxpYnJhcnkgYW5kIG5vIHByb2plY3QgQysrLCBidXQgcmV0dXJucyB0byBRdCBRdWljayBzdHlsaW5nLlxuMi4gKipRdDYgV2lkZ2V0cyArIHByb2plY3QgQysrIGJyaWRnZSoqIOKAlCBnZW51aW5lbHkgbmF0aXZlIGFwcGVhcmFuY2UuXG4zLiAqKnF0cnMgKyBRdDYgV2lkZ2V0cyoqIOKAlCBwcm9qZWN0IGNvZGUgZW50aXJlbHkgUnVzdCBhbmQgbmF0aXZlLWxvb2tpbmcsIGJ1dCByZWxpZXMgb24gYSB5b3VuZywgbG93LWFkb3B0aW9uIGxpYnJhcnkuXG5cbkkgaGF2ZSBsZWZ0IHRoZSBwcmV2aW91cyB3b3JraW5nIGltcGxlbWVudGF0aW9uIGludGFjdCByYXRoZXIgdGhhbiByZXBsYWNpbmcgaXQgd2l0aCBhbiB1bm1haW50YWluZWQgb3Igb2JzY3VyZSBkZXBlbmRlbmN5LiIsInRleHRTaWduYXR1cmUiOiJ7XCJ2XCI6MSxcImlkXCI6XCJtc2dfMDFiOTk1ZTNhNzcwNWVlNDAxNmE2NGRmMWNlMTUwODE5MWJiYzNhM2ZhZTJmZGViMDhcIixcInBoYXNlXCI6XCJmaW5hbF9hbnN3ZXJcIn0ifV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6Njk5LCJvdXRwdXQiOjQ3MCwiY2FjaGVSZWFkIjoxMTgyNzIsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MjIyLCJ0b3RhbFRva2VucyI6MTE5NDQxLCJjb3N0Ijp7ImlucHV0IjowLjAwMzQ5NTAwMDAwMDAwMDAwMDMsIm91dHB1dCI6MC4wMTQxLCJjYWNoZVJlYWQiOjAuMDU5MTM1OTk5OTk5OTk5OTk0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNzY3MzF9fSwic3RvcFJlYXNvbiI6InN0b3AiLCJ0aW1lc3RhbXAiOjE3ODQ5OTU1OTkwNDcsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNjRkZjBmNzUwNDgxOTE5M2JjZjgyZTZiNzA5NGY3In19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjRlMzQ3ZDQzIiwicGFyZW50SWQiOiJhYmRlYzIxOSIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MjQ6MjkuNzkwWiIsIm1lc3NhZ2UiOnsicm9sZSI6InVzZXIiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJva2F5LCBjYW4geW91IHJld3JpdGUgaXQgaW4gcW1sIHVzaW5nIGtpcmlnYW1pIGtkZSBmcmFtZXdvcms/In1dLCJ0aW1lc3RhbXAiOjE3ODU3NjM0Njk3ODh9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIwZmVjZDA1MSIsInBhcmVudElkIjoiNGUzNDdkNDMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjI0OjQ0Ljc2NVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqQXNzZXNzaW5nIFF0NiBhbmQgQ1hYLVF0IGF2YWlsYWJpbGl0eSoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2OTQ2M2VjODE5MWFhZjZhZDJhZDdiZDQyNTVcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxY0phY3ZOUmhDUFdqODBkcGhkQ3BlQWdXQnFwOWJZUUdRVDJ6Z3B1U1lBU0FucmdVNUZkU2FjSVhhTlVXNWh1M2N4Tk9rbTRVMUFudVVoRm1keUIxdUVrRWhQRkdKWEwzMjdxcV81eVh5MF9EWVNfbTdYcndwdGR4ZU1Hd25TUTVPdjRUZS1rOE9JR29wbllEWnZtM0FWOENRTFUwSEV6ZjBvMlVHSEt3WG1KdTNFQ0NldE5UZ3RaWHhHUmNONGJzWU1xaHR5RXpRcGZWY2lCN05FTk9ZQkJZZlBwSXh4VHVnSkE4WWVMS0xGMWV4T3ZjVjgtSkF1a1FDbWpKUE5sektYY1I5SEtKcXZvdXRvUFViSmlFX0dVclRtaXJ3cVpjb2JxYUZrRnJhcnkzMV9WMzlQMnFuQWdtMFRoSmF5VERMcnZVVkY3QlMtcm9SLVp0S1lLbW5WVThISHZUTUFzNS00MHpaNVlwbXpUU0tjck5FM29WNmlZbGJ0ZEhkRUExYm05MDB3T2N0eEYtQmh6OGxQSzZsbGp3ZWRKblpYQjRxQkFFUk51Y3hSVTU5SmNsbGVhalIzalFNdkFlQ1VhZ0FNWlNfNTM3YjYwNjVYSTY3RVF5S2RrbkRDY2F4UUx2S2Q5Mkp3NnhnTGZQUm1LWUpMYm9JcC0wOWVTNVFlanhITkcxeUxNYWtfcmF6Sjdmd2c0OFhibGZCbE1CbnpBWVRSRFg5WDZvOXFrVGx3UWlRZXhDRGNta2hUdHRmVl9GWXMyRHlvSS1JaVhfckpyTUpDZWNWUjNKWnFQU1NmcWpDVUs0R2RXeHM4Tmsxbmgwc1dwb3BmOUI5LUdOc09kTktEUDRyWjJCaFc5VXAwSU84NE41TUFhVWdZUl84cU9JSkJMU2pBRDA1WlRfSGpOVW5KZGFKV3JfcGk5UDgtVHRLU3YzbkQzVzhseVR2eFJ5MTU3Nk95OW5scUg0Rm5VbFJGRHRWM0hIc3ZVa2FxNHdEQkFEOVZkYkdWZTJncFBvSUFreWxuQlhtN2p6SXAwLTlhcE5OTkpBZVFhZUpLWWVpYTBNMXFYTWNHREt1YU9pYlNvY0hrUFAtdkc1QmhULVFWLWVOVzJDbTk4RXFGY3VBV1pDZFBrZU5QVDFsc3FpQ0xKMjlLMG1abDUwVVAtaWl2VHppT2tyLWpuQTVaMmhidjFWUDhqejdURW9nbEpzS2pONzVDMXhBaVplTnZ1Y19ZYjZHLS1IdnRVbFVuT2RXejg0T2pDYXlfQXNzVEx6MjV5WjF4VFduXzNWTnZjTDJrQmZkZ0FCOWVJNEl3YjJNeXc2cG04dV95LTc0bmtIbmN3TmVTUG9hdmFyb1hPNksxblN1TTlsM1JjWGczdU50cENPbk9pbXVjeUp0OWpMaUEtNTloZnFmdzZ4eDhUbmZjTXc3ZW54Z1Z1MHhnRS1NU3poTG41SDVoWlhlcEZRdTczZGRwWXdORGZzclJaanBTWUhUX0ZEZDYzSGRaRHVVZE9DSFlaVmdBdlNlYUhMSXhSSWszWUR2ZWdtVUszLUhmbUlNU0wwZTZHMGlYS3pTOFd2QTVEbDNLeVB4TmpGdkEtODZHRmJqZ3lnaHc1and1czZjWlFxc2QtbTVBcXpNTDY5VmNWd081Q2xPS1BBbkhEVEJISVQ5ejJSWWphemE5OXhkQUZfdlNjNFdmd0xzcEt1NWwtMEVRc1hsaUJQZUJqcldrRG9mNzFBMGxFLVJsb1RBaWlmMzBaY3JGWT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkFzc2Vzc2luZyBRdDYgYW5kIENYWC1RdCBhdmFpbGFiaWxpdHkqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfMUxxWUQ0YlJ2bVYwT1pONUpSY3d3SGZVfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NjljOWNhODgxOTFiMmI5ZGJlNDU4MmQ3ZDlmIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InBrZy1jb25maWcgLS1tb2R2ZXJzaW9uIFF0NkNvcmUgUXQ2UW1sIFF0NlF1aWNrIDI+JjE7IHJwbSAtcWEgfCBncmVwIC1FaSAna2lyaWdhbWl8cXQ2LWJhc2UtZGV2ZWx8cXQ2LWRlY2xhcmF0aXZlLWRldmVsJyB8IHNvcnQ7IGFwdC1jYWNoZSBzZWFyY2ggJ15rZjYta2lyaWdhbWl8XnF0Ni1iYXNlLWRldmVsfF5xdDYtZGVjbGFyYXRpdmUtZGV2ZWwnIn19LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX3BKbHU1c2tMVzQ0WTRxdVFoY05sREtpMXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTY5YzljYjg4MTkxYTUwZmUzZmZlNzRiNDQ4NSIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJmaW5kIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL2N4eC1xdC0wLjkuMS9leGFtcGxlcyAtbWF4ZGVwdGggMyAtdHlwZSBmIDI+L2Rldi9udWxsIHwgaGVhZCAtNDA7IGZpbmQgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovY3h4LXF0LWJ1aWxkLTAuOS4xIC1tYXhkZXB0aCAyIC10eXBlIGYgMj4vZGV2L251bGwgfCBoZWFkIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMTkyOTEsIm91dHB1dCI6MjgzLCJjYWNoZVJlYWQiOjAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6ODYsInRvdGFsVG9rZW5zIjoxMTk1NzQsImNvc3QiOnsiaW5wdXQiOjAuNTk2NDU1MDAwMDAwMDAwMSwib3V0cHV0IjowLjAwODQ5MDAwMDAwMDAwMDAwMSwiY2FjaGVSZWFkIjowLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC42MDQ5NDUwMDAwMDAwMDAxfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg1NzYzNDY5ODAzLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTY5MTBmZDQ4MTkxOGUyNDlkMDI5NGVhNDg1NyIsInJhd1N0b3BSZWFzb24iOiJjb21wbGV0ZWQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiOGYwMWQxNDMiLCJwYXJlbnRJZCI6IjBmZWNkMDUxIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyNDo0Ny43NzRaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsXzFMcVlENGJSdm1WME9aTjVKUmN3d0hmVXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTY5YzljYTg4MTkxYjJiOWRiZTQ1ODJkN2Q5ZiIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IjYuMTAuM1xuNi4xMC4zXG42LjEwLjNcbnF0Ni1iYXNlLWRldmVsLTYuMTAuMy1hbHQ0Lng4Nl82NFxucXQ2LWRlY2xhcmF0aXZlLWRldmVsLTYuMTAuMy1hbHQyLng4Nl82NFxua2Y2LWtpcmlnYW1pIC0gQSBRdFF1aWNrIGJhc2VkIGNvbXBvbmVudHMgc2V0XG5rZjYta2lyaWdhbWktZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3Iga2Y2LWtpcmlnYW1pXG5saWJraXJpZ2FtaTYgLSBrZjYta2lyaWdhbWkgbGlicmFyeVxubGlia2lyaWdhbWljb250cm9sczYgLSBrZjYta2lyaWdhbWkgbGlicmFyeVxubGlia2lyaWdhbWlkZWxlZ2F0ZXM2IC0ga2Y2LWtpcmlnYW1pIGxpYnJhcnlcbmxpYmtpcmlnYW1pZGlhbG9nczYgLSBrZjYta2lyaWdhbWkgbGlicmFyeVxubGlia2lyaWdhbWlmb3JtczYgLSBrZjYta2lyaWdhbWkgbGlicmFyeVxubGlia2lyaWdhbWlmb3Jtc3ByaXZhdGVjYXJkczYgLSBrZjYta2lyaWdhbWkgbGlicmFyeVxubGlia2lyaWdhbWlmb3Jtc3ByaXZhdGVmbGF0NiAtIGtmNi1raXJpZ2FtaSBsaWJyYXJ5XG5saWJraXJpZ2FtaWZvcm1zcHJpdmF0ZXRlbXBsYXRlczYgLSBrZjYta2lyaWdhbWkgbGlicmFyeVxubGlia2lyaWdhbWlsYXlvdXRzNiAtIGtmNi1raXJpZ2FtaSBsaWJyYXJ5XG5saWJraXJpZ2FtaWxheW91dHNwcml2YXRlNiAtIGtmNi1raXJpZ2FtaSBsaWJyYXJ5XG5saWJraXJpZ2FtaXBsYXRmb3JtNiAtIGtmNi1raXJpZ2FtaSBsaWJyYXJ5XG5saWJraXJpZ2FtaXBvbHlmaWxsNiAtIGtmNi1raXJpZ2FtaSBsaWJyYXJ5XG5saWJraXJpZ2FtaXByaW1pdGl2ZXM2IC0ga2Y2LWtpcmlnYW1pIGxpYnJhcnlcbmxpYmtpcmlnYW1pcHJpdmF0ZTYgLSBrZjYta2lyaWdhbWkgbGlicmFyeVxubGlia2lyaWdhbWl0ZW1wbGF0ZXM2IC0ga2Y2LWtpcmlnYW1pIGxpYnJhcnlcbmtmNi1raXJpZ2FtaS1hZGRvbnMgLSBTZXQgb2Ygd2lkZ2V0cyBmb3IgS2lyaWdhbWktYmFzZWQgYXBwbGljYXRpb25zXG5rZjYta2lyaWdhbWktYWRkb25zLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIGtmNi1raXJpZ2FtaS1hZGRvbnNcbmxpYmtpcmlnYW1pYWRkb25zY29tcG9uZW50czYgLSBrZjYta2lyaWdhbWktYWRkb25zIGxpYnJhcnlcbmxpYmtpcmlnYW1pYWRkb25zc3RhdGVmdWxhcHA2IC0ga2Y2LWtpcmlnYW1pLWFkZG9ucyBsaWJyYXJ5XG5saWJraXJpZ2FtaWFwcDYgLSBrZjYta2lyaWdhbWktYWRkb25zIGxpYnJhcnlcbnF0Ni1iYXNlLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIHF0Ni1iYXNlXG5xdDYtYmFzZS1kZXZlbC1zdGF0aWMgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ2LWJhc2VcbnF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDYtZGVjbGFyYXRpdmVcbnF0Ni1kZWNsYXJhdGl2ZS1kZXZlbC1zdGF0aWMgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ2LWRlY2xhcmF0aXZlXG5pNTg2LWxpYmtpcmlnYW1pNiAtIGtmNi1raXJpZ2FtaSBsaWJyYXJ5XG5pNTg2LWxpYmtpcmlnYW1pYWRkb25zY29tcG9uZW50czYgLSBrZjYta2lyaWdhbWktYWRkb25zIGxpYnJhcnlcbmk1ODYtbGlia2lyaWdhbWlhZGRvbnNzdGF0ZWZ1bGFwcDYgLSBrZjYta2lyaWdhbWktYWRkb25zIGxpYnJhcnlcbmk1ODYtbGlia2lyaWdhbWlhcHA2IC0ga2Y2LWtpcmlnYW1pLWFkZG9ucyBsaWJyYXJ5XG5pNTg2LWxpYmtpcmlnYW1pY29udHJvbHM2IC0ga2Y2LWtpcmlnYW1pIGxpYnJhcnlcbmk1ODYtbGlia2lyaWdhbWlkZWxlZ2F0ZXM2IC0ga2Y2LWtpcmlnYW1pIGxpYnJhcnlcbmk1ODYtbGlia2lyaWdhbWlkaWFsb2dzNiAtIGtmNi1raXJpZ2FtaSBsaWJyYXJ5XG5pNTg2LWxpYmtpcmlnYW1pZm9ybXM2IC0ga2Y2LWtpcmlnYW1pIGxpYnJhcnlcbmk1ODYtbGlia2lyaWdhbWlmb3Jtc3ByaXZhdGVjYXJkczYgLSBrZjYta2lyaWdhbWkgbGlicmFyeVxuaTU4Ni1saWJraXJpZ2FtaWZvcm1zcHJpdmF0ZWZsYXQ2IC0ga2Y2LWtpcmlnYW1pIGxpYnJhcnlcbmk1ODYtbGlia2lyaWdhbWlmb3Jtc3ByaXZhdGV0ZW1wbGF0ZXM2IC0ga2Y2LWtpcmlnYW1pIGxpYnJhcnlcbmk1ODYtbGlia2lyaWdhbWlsYXlvdXRzNiAtIGtmNi1raXJpZ2FtaSBsaWJyYXJ5XG5pNTg2LWxpYmtpcmlnYW1pbGF5b3V0c3ByaXZhdGU2IC0ga2Y2LWtpcmlnYW1pIGxpYnJhcnlcbmk1ODYtbGlia2lyaWdhbWlwbGF0Zm9ybTYgLSBrZjYta2lyaWdhbWkgbGlicmFyeVxuaTU4Ni1saWJraXJpZ2FtaXBvbHlmaWxsNiAtIGtmNi1raXJpZ2FtaSBsaWJyYXJ5XG5pNTg2LWxpYmtpcmlnYW1pcHJpbWl0aXZlczYgLSBrZjYta2lyaWdhbWkgbGlicmFyeVxuaTU4Ni1saWJraXJpZ2FtaXByaXZhdGU2IC0ga2Y2LWtpcmlnYW1pIGxpYnJhcnlcbmk1ODYtbGlia2lyaWdhbWl0ZW1wbGF0ZXM2IC0ga2Y2LWtpcmlnYW1pIGxpYnJhcnlcbmtmNi1raXJpZ2FtaS1jb21tb24gLSBrZjYta2lyaWdhbWkgY29tbW9uIHBhY2thZ2VcbmtmNi1raXJpZ2FtaS1hZGRvbnMtY29tbW9uIC0ga2Y2LWtpcmlnYW1pLWFkZG9ucyBjb21tb24gcGFja2FnZVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg1NzYzNDg3Nzc0fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMTQ5OTcxNzEiLCJwYXJlbnRJZCI6IjhmMDFkMTQzIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyNDo0Ny43NzRaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX3BKbHU1c2tMVzQ0WTRxdVFoY05sREtpMXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTY5YzljYjg4MTkxYTUwZmUzZmZlNzRiNDQ4NSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IihubyBvdXRwdXQpIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg1NzYzNDg3Nzc0fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNGZkYjc2MGUiLCJwYXJlbnRJZCI6IjE0OTk3MTcxIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyNDo1NC4xMzRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkV2YWx1YXRpbmcgS2lyaWdhbWkgYW5kIFFNTCBkZXBlbmRlbmNpZXMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NmExNTlkMDgxOTE4MzQyYTNkMDUyOTgyN2ZiXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcWNKYWt1OTF4Y3kwOGVwOUExZ2VWVlpScUpRY3pQVXV5WjQwaVBVakpQYm1aSkxzTERtNE5xQWlwc1daZGFTd25qV2ZyVlBfYjhTRHdqblBjNEVVZjd6MjFtZnRfYUVYdmpKaEp4YTRmZFgtcU9zTkE5UkkwcF9lZnZVTkNZQXl3VVhfLU9GR2NoVm1USmg3aUQ2WENrUjNZUzY2UUNNUGpmcUc5eGtiT3I1TXA3Q1dJWWgyd3hOYVNsV3lyOGxHRmFfRzAxUy1YNEZJVGFFbGc2ajQ0Z2taZEZydzQ2QU5CU0RHVGF1Y1l0c1VLUnFKTDlKdlVQZEdyYkNFbm54Z0VST2ZMOXNrclZESWxGZ3Byb19oLXRVczM1THhDMy1kWGlEU1NxVEdXSE41Rkl6czl5N3BKZHdYRXZ2WUlsa0tRRXVrTTZ2aDdROTNHNXdycXBUVm9zb0Y2TDBtVFBfMEJMX0ZlWUN3MjVkWlBkS2xjRWFFQjlQM25CVm9neE1JNUhPdkhVUzZBbE1za0NURkk5dlk0Slp3UkdHTVA5YXpiRmR5bXA1YXM3aWlqLTgtRUFMbGFBQ0xucFBobVh3X09XNGZEYmpfanVKbTFZWlpWWVN4ZGRfeGd5Q19sZVJKZTFZNTZiOWdwdThKcGJjZGxya1psZkdiV3o2bjVTQnJVc0U4QnU0a0pWcUdKRTJTVng0NWlfRkVZODlndmdrbmxjbVRTU0ZSQjN5clBKaVdJNnY5bXdKLVdBcFp2ZTR3Ny05cE9CQmFPYVFROXBRR0tMd2xfbXFnUVpwRFlnT3Zhb3BNdVVVMHJkdi1lOG4yR1F4NThsaU1fbVdrak93WlliQW5ZcTBhbldKaDJwd2ZseG4xSGdVdTFOemRHcEEzSkRfeFJUY0NRVHZFWXV5WE9LVDlIS09JWjZRQ3I2eHhKeW5ZMjZyNUNia2hWSUYyakU3b0ItaWYydFE0U2lPMGFTNlVtWlg3Y3Q0MU9Wc3hBM0RTLXhoaTdBN2g4MVNfVzZ4SWNXaThzX0pLWEw5UDJHZDNOZGpuMkR2RnhDeDN0SGU1bVZQd1NjN3Q4MzBSQVhyaDdyQVl2RGpzOGlKYmZOdDB5c3ZVX3pIN0FuUnQ0bEpBVUtndG4tZmdjbDd0a0NiSEE0S3NuS0tsRWFFZlJlN0VjNVFZcVRqcUhTSl9KTXFGbnpRNXpyV205N2UzOVMtcHVpN0tadFdlRWlKMVluUzhoM3hXTWRrZnRLS3JzeTFZR0wzVjdlTmI4MXRtLVliUHQtdzM1U2FNTllfZ2hFV2JnSENQY3dER1o1WjhBOGJjWWoyRzhBbEFQNFNhdkJELTRGVmpGcnl3cHpsSHpPd1Z0Vjd4NmN4enlrZmJWZVU4QVJXWmR2ZlpJajhISWdpa0NsUW1sZkZPZEl0UnUwdDdtTVdfUW53b080UEMzbXplZnZYVlE5SmJjMWQ3ZnNPNzRxTTdyS21VT2RUYnhCenV0TnlDME4wSnJMaEFTNDU5eGdHWW53TmNZbzdzZnpJMThYWlFBcnN5UGxlbVlKZ3llMFVPR2hScmVIS3pqWEh0dVluV21rNHUwdjRDT2JQM3dPeDZnRHZmY1RZUTZ4UWRISEFkdEczaXhtaEVsdVItUHBuT1RQbGo3bHBMaWVUWmNCTGdsaDBkeVVrTFJZbW50NjB0alRKZ3dGanNKSXI5WkNON1doRUVhVEdxeEZuaHZrT2xnaE1uNlN4UVNlaEFqMkdMal9yR1ZnNWQ5ckNaSENRS1NfYzBHYWdIQXJfdlExSUdkdGg4NlhBajBIX3U4X3V1QkhPYy16bzJiS3RDSUlfTUVhZmRmQjltczltQTJDczJ1WElIS2NxSzhMVmxzYUxUWDc2WmFiamd4NXRia01DQ1hzUEhVZ1ZqaVFRc0V0ckVLb18zTlExb3hOdG5TVVZ4RHp1bG5GUUp1RmFndm80eEU4S2h6V0c5MFRtVXY3Y0VIUnVsckVyYS1SLUZJWkg2WDNxdnFxdFdrdlZSSUJaS1pNMk03OEV1b25fVWVQRm9PZGRaMjhJbEg5LWdWV3ZKVjc5OE9Ja0VfbEhDYkFQVWx1WUNpMG80PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqRXZhbHVhdGluZyBLaXJpZ2FtaSBhbmQgUU1MIGRlcGVuZGVuY2llcyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9Ed3JMNXBCd3lLbDdOeWZRT0FDTWtnbzl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2YTRjNWIwODE5MWJhODRkZmNkZDExZTcxZjEiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiY2FyZ28gaW5mbyBjeHgtcXQtbGliID4vZGV2L251bGw7IGNhcmdvIGluZm8gY3h4LXF0ID4vZGV2L251bGw7IGZpbmQgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovY3h4LXF0LWxpYi0wLjkuMS9zcmMgLW1heGRlcHRoIDMgLXR5cGUgZiB8IHNvcnQgfCBoZWFkIC04MDsgcmcgJ1FHdWlBcHBsaWNhdGlvbnxRUW1sQXBwbGljYXRpb25FbmdpbmV8bG9hZCcgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovY3h4LXF0LWxpYi0wLjkuMS9zcmMgLW4gfCBoZWFkIC04MCJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MjIyOCwib3V0cHV0IjoyMzUsImNhY2hlUmVhZCI6MTE4MjcyLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjExNiwidG90YWxUb2tlbnMiOjEyMDczNSwiY29zdCI6eyJpbnB1dCI6MC4wMTExNCwib3V0cHV0IjowLjAwNzA1LCJjYWNoZVJlYWQiOjAuMDU5MTM1OTk5OTk5OTk5OTk0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNzczMjU5OTk5OTk5OTk5OX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2MzQ4Nzc3NiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2YTAwZjIwODE5MWJjOGQ1NjM5ZDRkODhhNzMiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImNiZWFjYWRjIiwicGFyZW50SWQiOiI0ZmRiNzYwZSIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MjU6MDYuNjM4WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9Ed3JMNXBCd3lLbDdOeWZRT0FDTWtnbzl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2YTRjNWIwODE5MWJhODRkZmNkZDExZTcxZjEiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgVXBkYXRpbmcgY3JhdGVzLmlvIGluZGV4XG4gRG93bmxvYWRpbmcgY3JhdGVzIC4uLlxuICBEb3dubG9hZGVkIGN4eC1xdC1saWIgdjAuOS4xXG4gICAgVXBkYXRpbmcgY3JhdGVzLmlvIGluZGV4XG4gRG93bmxvYWRpbmcgY3JhdGVzIC4uLlxuICBEb3dubG9hZGVkIGN4eC1xdCB2MC45LjFcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9pbml0LmNwcFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL21vZC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FhbnlzdHJpbmd2aWV3LmNwcFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FhbnlzdHJpbmd2aWV3LnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWJ5dGVhcnJheS5jcHBcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xYnl0ZWFycmF5LnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWNvcmVhcHBsaWNhdGlvbi5jcHBcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xY29yZWFwcGxpY2F0aW9uLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWRhdGUuY3BwXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWRhdGUucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xZGF0ZXRpbWUuY3BwXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWRhdGV0aW1lLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWZsYWdzL21vZC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FmbGFncy9xZmxhZy5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FmbGFncy9yZXByLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWZsYWdzL3V0aWwucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xaGFzaC9tb2QucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xaGFzaC9xaGFzaC5jcHBcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xaGFzaC9xaGFzaF9pMzJfcWJ5dGVhcnJheS5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FoYXNoL3FoYXNoX3FzdHJpbmdfcXZhcmlhbnQucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbGluZS5jcHBcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbGluZWYuY3BwXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpbmVmLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpbmUucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbGlzdC9tb2QucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbGlzdC9xbGlzdF9ib29sLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3QuY3BwXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3RfZjMyLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3RfZjY0LnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3RfaTE2LnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3RfaTMyLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3RfaTY0LnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3RfaTgucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbGlzdC9xbGlzdF9xYnl0ZWFycmF5LnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3RfcWNvbG9yLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3RfcWRhdGUucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbGlzdC9xbGlzdF9xZGF0ZXRpbWUucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbGlzdC9xbGlzdF9xbGluZWYucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbGlzdC9xbGlzdF9xbGluZS5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FsaXN0L3FsaXN0X3FtYXJnaW5zZi5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FsaXN0L3FsaXN0X3FtYXJnaW5zLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3RfcXBlcnNpc3RlbnRtb2RlbGluZGV4LnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3RfcXBvaW50Zi5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FsaXN0L3FsaXN0X3Fwb2ludC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FsaXN0L3FsaXN0X3FyZWN0Zi5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FsaXN0L3FsaXN0X3FyZWN0LnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3RfcXNpemVmLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3RfcXNpemUucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbGlzdC9xbGlzdF9xc3RyaW5nLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3RfcXRpbWUucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbGlzdC9xbGlzdF9xdXJsLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWxpc3QvcWxpc3RfcXV1aWQucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbGlzdC9xbGlzdF9xdmFyaWFudC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FsaXN0L3FsaXN0X3UxNi5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FsaXN0L3FsaXN0X3UzMi5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FsaXN0L3FsaXN0X3U2NC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FsaXN0L3FsaXN0X3U4LnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcW1hcC9tb2QucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbWFwL3FtYXAuY3BwXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcW1hcC9xbWFwX3FzdHJpbmdfcXZhcmlhbnQucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbWFyZ2lucy5jcHBcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbWFyZ2luc2YuY3BwXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcW1hcmdpbnNmLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcW1hcmdpbnMucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbWV0YXR5cGUvbW9kLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcW1ldGF0eXBlL3FtZXRhdHlwZXR5cGVfdjUucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xbWV0YXR5cGUvcW1ldGF0eXBldHlwZV92Ni5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3Ftb2RlbGluZGV4LmNwcFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3Ftb2RlbGluZGV4LnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcW9iamVjdC5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FwZXJzaXN0ZW50bW9kZWxpbmRleC5jcHBcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xcGVyc2lzdGVudG1vZGVsaW5kZXgucnNcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xcG9pbnQuY3BwXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcXBvaW50Zi5jcHBcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xcG9pbnRmLnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcXBvaW50LnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcXJlY3QuY3BwXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcXJlY3RmLmNwcFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FyZWN0Zi5yc1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3FyZWN0LnJzXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sZW5naW5lLnJzOjE2OiAgICAgICAgLy8vIFRoaXMgc2lnbmFsIGlzIGVtaXR0ZWQgd2hlbiB0aGUgUU1MIGxvYWRlZCBieSB0aGUgZW5naW5lIHdvdWxkIGxpa2UgdG8gZXhpdCBmcm9tIHRoZSBldmVudCBsb29wIHdpdGggdGhlIHNwZWNpZmllZCByZXR1cm4gY29kZSBgcmV0X2NvZGVgLlxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9xbWwvcXFtbGVuZ2luZS5yczoyMDogICAgICAgIC8vLyBUaGlzIHNpZ25hbCBpcyBlbWl0dGVkIHdoZW4gdGhlIFFNTCBsb2FkZWQgYnkgdGhlIGVuZ2luZSB3b3VsZCBsaWtlIHRvIHF1aXQuXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3F1aWNrY29udHJvbHMvcXF1aWNrc3R5bGUucnM6MjA6ICAgICAgICAvLy8gKipOb3RlOioqIFRoZSBhcHBsaWNhdGlvbiBzdHlsZSBjYW4gYmUgc3BlY2lmaWVkIGJ5IHBhc3NpbmcgYSBgLXN0eWxlYCBjb21tYW5kIGxpbmUgYXJndW1lbnQuIFRoZXJlZm9yZSB0aGlzIGZ1bmN0aW9uIG1heSBub3QgcmV0dXJuIGEgZnVsbHkgcmVzb2x2ZWQgdmFsdWUgaWYgY2FsbGVkIGJlZm9yZSBjb25zdHJ1Y3RpbmcgYSBbYFFHdWlBcHBsaWNhdGlvbmBdKGNyYXRlOjpRR3VpQXBwbGljYXRpb24pLlxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9xdWlja2NvbnRyb2xzL3FxdWlja3N0eWxlLnJzOjI4OiAgICAgICAgLy8vICoqTm90ZToqKiBUaGUgc3R5bGUgbXVzdCBiZSBjb25maWd1cmVkIGJlZm9yZSBsb2FkaW5nIFFNTCB0aGF0IGltcG9ydHMgUXQgUXVpY2sgQ29udHJvbHMuIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBjaGFuZ2UgdGhlIHN0eWxlIGFmdGVyIHRoZSBRTUwgdHlwZXMgaGF2ZSBiZWVuIHJlZ2lzdGVyZWQuXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3F1aWNrY29udHJvbHMvcXF1aWNrc3R5bGUucnM6Mzc6ICAgICAgICAvLy8gTm90ZTogVGhlIHN0eWxlIG11c3QgYmUgY29uZmlndXJlZCBiZWZvcmUgbG9hZGluZyBRTUwgdGhhdCBpbXBvcnRzIFF0IFF1aWNrIENvbnRyb2xzLiBJdCBpcyBub3QgcG9zc2libGUgdG8gY2hhbmdlIHRoZSBzdHlsZSBhZnRlciB0aGUgUU1MIHR5cGVzIGhhdmUgYmVlbiByZWdpc3RlcmVkLlxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9xbWwvcXFtbGFwcGxpY2F0aW9uZW5naW5lLmNwcDoxMzo6OnN0ZDo6dW5pcXVlX3B0cjxRUW1sQXBwbGljYXRpb25FbmdpbmU+XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUuY3BwOjE2OiAgcmV0dXJuIDo6c3RkOjptYWtlX3VuaXF1ZTxRUW1sQXBwbGljYXRpb25FbmdpbmU+KCk7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9tb2QucnM6NzpwdWIgdXNlIHFxbWxhcHBsaWNhdGlvbmVuZ2luZTo6UVFtbEFwcGxpY2F0aW9uRW5naW5lO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9xbWwvcXFtbGFwcGxpY2F0aW9uZW5naW5lLnJzOjIyOiAgICAgICAgZm4gYWRkSW1wb3J0UGF0aChzZWxmOiBQaW48Jm11dCBRUW1sQXBwbGljYXRpb25FbmdpbmU+LCBwYXRoOiAmUVN0cmluZyk7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUucnM6MjY6ICAgICAgICBmbiBhZGRQbHVnaW5QYXRoKHNlbGY6IFBpbjwmbXV0IFFRbWxBcHBsaWNhdGlvbkVuZ2luZT4sIHBhdGg6ICZRU3RyaW5nKTtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvcW1sL3FxbWxhcHBsaWNhdGlvbmVuZ2luZS5yczozMTogICAgICAgIGZuIGJhc2VVcmwoc2VsZjogJlFRbWxBcHBsaWNhdGlvbkVuZ2luZSkgLT4gUVVybDtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvcW1sL3FxbWxhcHBsaWNhdGlvbmVuZ2luZS5yczozNTogICAgICAgIGZuIGltcG9ydFBhdGhMaXN0KHNlbGY6ICZRUW1sQXBwbGljYXRpb25FbmdpbmUpIC0+IFFTdHJpbmdMaXN0O1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9xbWwvcXFtbGFwcGxpY2F0aW9uZW5naW5lLnJzOjM4OiAgICAgICAgZm4gbG9hZChzZWxmOiBQaW48Jm11dCBRUW1sQXBwbGljYXRpb25FbmdpbmU+LCB1cmw6ICZRVXJsKTtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvcW1sL3FxbWxhcHBsaWNhdGlvbmVuZ2luZS5yczo0MTogICAgICAgICNbcnVzdF9uYW1lID0gXCJsb2FkX2RhdGFcIl1cbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvcW1sL3FxbWxhcHBsaWNhdGlvbmVuZ2luZS5yczo0MjogICAgICAgIGZuIGxvYWREYXRhKHNlbGY6IFBpbjwmbXV0IFFRbWxBcHBsaWNhdGlvbkVuZ2luZT4sIGRhdGE6ICZRQnl0ZUFycmF5LCB1cmw6ICZRVXJsKTtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvcW1sL3FxbWxhcHBsaWNhdGlvbmVuZ2luZS5yczo0NjogICAgICAgIGZuIG9mZmxpbmVTdG9yYWdlUGF0aChzZWxmOiAmUVFtbEFwcGxpY2F0aW9uRW5naW5lKSAtPiBRU3RyaW5nO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9xbWwvcXFtbGFwcGxpY2F0aW9uZW5naW5lLnJzOjUwOiAgICAgICAgZm4gcGx1Z2luUGF0aExpc3Qoc2VsZjogJlFRbWxBcHBsaWNhdGlvbkVuZ2luZSkgLT4gUVN0cmluZ0xpc3Q7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUucnM6NTQ6ICAgICAgICBmbiBzZXRCYXNlVXJsKHNlbGY6IFBpbjwmbXV0IFFRbWxBcHBsaWNhdGlvbkVuZ2luZT4sIHVybDogJlFVcmwpO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9xbWwvcXFtbGFwcGxpY2F0aW9uZW5naW5lLnJzOjU4OiAgICAgICAgZm4gc2V0SW1wb3J0UGF0aExpc3Qoc2VsZjogUGluPCZtdXQgUVFtbEFwcGxpY2F0aW9uRW5naW5lPiwgcGF0aHM6ICZRU3RyaW5nTGlzdCk7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUucnM6NjA6ICAgICAgICAvLy8gU2V0cyB0aGUgaW5pdGlhbFByb3BlcnRpZXMgd2l0aCB3aGljaCB0aGUgUU1MIGNvbXBvbmVudCBnZXRzIGluaXRpYWxpemVkIGFmdGVyIGl0IGdldHMgbG9hZGVkLlxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9xbWwvcXFtbGFwcGxpY2F0aW9uZW5naW5lLnJzOjYzOiAgICAgICAgICAgIHNlbGY6IFBpbjwmbXV0IFFRbWxBcHBsaWNhdGlvbkVuZ2luZT4sXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUucnM6Njk6ICAgICAgICBmbiBzZXRQbHVnaW5QYXRoTGlzdChzZWxmOiBQaW48Jm11dCBRUW1sQXBwbGljYXRpb25FbmdpbmU+LCBwYXRoczogJlFTdHJpbmdMaXN0KTtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvcW1sL3FxbWxhcHBsaWNhdGlvbmVuZ2luZS5yczo3MzogICAgICAgIGZuIHNldE9mZmxpbmVTdG9yYWdlUGF0aChzZWxmOiBQaW48Jm11dCBRUW1sQXBwbGljYXRpb25FbmdpbmU+LCBkaXI6ICZRU3RyaW5nKTtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvcW1sL3FxbWxhcHBsaWNhdGlvbmVuZ2luZS5yczo3ODogICAgICAgIC8vLyBgUVFtbEFwcGxpY2F0aW9uRW5naW5lYCBwcm92aWRlcyBhIGNvbnZlbmllbnQgd2F5IHRvIGxvYWQgYW4gYXBwbGljYXRpb24gZnJvbSBhIHNpbmdsZSBRTUwgZmlsZS5cbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvcW1sL3FxbWxhcHBsaWNhdGlvbmVuZ2luZS5yczo4MDogICAgICAgIC8vLyBRdCBEb2N1bWVudGF0aW9uOiBbUVFtbEFwcGxpY2F0aW9uRW5naW5lXShodHRwczovL2RvYy5xdC5pby9xdC9xcW1sYXBwbGljYXRpb25lbmdpbmUuaHRtbCNkZXRhaWxzKVxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9xbWwvcXFtbGFwcGxpY2F0aW9uZW5naW5lLnJzOjgzOiAgICAgICAgdHlwZSBRUW1sQXBwbGljYXRpb25FbmdpbmU7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUucnM6ODc6ICAgICAgICAvLy8gVGhpcyBzaWduYWwgaXMgZW1pdHRlZCB3aGVuIGFuIG9iamVjdCBmaW5pc2hlcyBsb2FkaW5nLiBJZiBsb2FkaW5nIHdhcyBzdWNjZXNzZnVsLCBgb2JqZWN0YCBjb250YWlucyBhIHBvaW50ZXIgdG8gdGhlIGxvYWRlZCBvYmplY3QsIG90aGVyd2lzZSB0aGUgcG9pbnRlciBpcyBudWxsLlxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9xbWwvcXFtbGFwcGxpY2F0aW9uZW5naW5lLnJzOjk1OiAgICAgICAgICAgIHNlbGY6IFBpbjwmbXV0IFFRbWxBcHBsaWNhdGlvbkVuZ2luZT4sXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUucnM6MTAwOiAgICAgICAgLy8vIFRoaXMgc2lnbmFsIGlzIGVtaXR0ZWQgd2hlbiBsb2FkaW5nIGZpbmlzaGVzIGJlY2F1c2UgYW4gZXJyb3Igb2NjdXJyZWQuXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUucnM6MTAyOiAgICAgICAgLy8vIFRoZSBgdXJsYCB0byB0aGUgY29tcG9uZW50IHRoYXQgZmFpbGVkIHRvIGxvYWQgaXMgcHJvdmlkZWQgYXMgYW4gYXJndW1lbnQuXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUucnM6MTEwOiAgICAgICAgZm4gb2JqZWN0Q3JlYXRpb25GYWlsZWQoc2VsZjogUGluPCZtdXQgUVFtbEFwcGxpY2F0aW9uRW5naW5lPiwgdXJsOiAmUVVybCk7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUucnM6MTIyOiAgICAgICAgZm4gcXFtbGFwcGxpY2F0aW9uZW5naW5lTmV3KCkgLT4gVW5pcXVlUHRyPFFRbWxBcHBsaWNhdGlvbkVuZ2luZT47XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUucnM6MTI1OiAgICAvLyBRUW1sQXBwbGljYXRpb25FbmdpbmUgaXMgbm90IGEgdHJpdmlhbCB0byBDWFggYW5kIGlzIG5vdCByZWxvY2F0YWJsZSBpbiBRdFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9xbWwvcXFtbGFwcGxpY2F0aW9uZW5naW5lLnJzOjEyODogICAgLy8gc3RhdGljX2Fzc2VydChRVHlwZUluZm88UVFtbEFwcGxpY2F0aW9uRW5naW5lPjo6aXNSZWxvY2F0YWJsZSk7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUucnM6MTI5OiAgICBpbXBsIFVuaXF1ZVB0cjxRUW1sQXBwbGljYXRpb25FbmdpbmU+IHt9XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUucnM6MTMyOnB1YiB1c2UgZmZpOjpRUW1sQXBwbGljYXRpb25FbmdpbmU7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUucnM6MTM0OmltcGwgUVFtbEFwcGxpY2F0aW9uRW5naW5lIHtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvcW1sL3FxbWxhcHBsaWNhdGlvbmVuZ2luZS5yczoxMzU6ICAgIC8vLyBDcmVhdGUgYSBuZXcgYFFRbWxBcHBsaWNhdGlvbkVuZ2luZWAuXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL3FtbC9xcW1sYXBwbGljYXRpb25lbmdpbmUucnM6MTM3OiAgICAvLy8gWW91IHdpbGwgaGF2ZSB0byBjYWxsIFtsb2FkXShodHRwczovL2RvYy5xdC5pby9xdC9xcW1sYXBwbGljYXRpb25lbmdpbmUuaHRtbCNsb2FkKSgpIGxhdGVyIGluIG9yZGVyIHRvIGxvYWQgYSBRTUwgZmlsZS5cbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvZ3VpL3FwYWludGVyLnJzOjMyNzogICAgICAgIC8vLyBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGhhbmRsZSB0aGUgbmV3bGluZSBjaGFyYWN0ZXIgKFxcbiksIGFzIGl0IGNhbm5vdCBicmVhayB0ZXh0IGludG8gbXVsdGlwbGUgbGluZXMsIGFuZCBpdCBjYW5ub3QgZGlzcGxheSB0aGUgbmV3bGluZSBjaGFyYWN0ZXIuIFVzZSB0aGUgW1FQYWludGVyOjpkcmF3VGV4dCgpIG92ZXJsb2FkXShodHRwczovL2RvYy5xdC5pby9xdC9xcGFpbnRlci5odG1sI2RyYXdUZXh0LTUpIHRoYXQgdGFrZXMgYSByZWN0YW5nbGUgaW5zdGVhZCBpZiB5b3Ugd2FudCB0byBkcmF3IG11bHRpcGxlIGxpbmVzIG9mIHRleHQgd2l0aCB0aGUgbmV3bGluZSBjaGFyYWN0ZXIsIG9yIGlmIHlvdSB3YW50IHRoZSB0ZXh0IHRvIGJlIHdyYXBwZWQuXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2d1aS9tb2QucnM6MTY6cHViIHVzZSBxZ3VpYXBwbGljYXRpb246OlFHdWlBcHBsaWNhdGlvbjtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvZ3VpL3FndWlhcHBsaWNhdGlvbi5yczozNzogICAgICAgIC8vLyBUaGUgYFFHdWlBcHBsaWNhdGlvbmAgY2xhc3MgbWFuYWdlcyB0aGUgR1VJIGFwcGxpY2F0aW9uJ3MgY29udHJvbCBmbG93IGFuZCBtYWluIHNldHRpbmdzLlxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzOjM5OiAgICAgICAgLy8vIFF0IERvY3VtZW50YXRpb246IFtRR3VpQXBwbGljYXRpb25dKGh0dHBzOi8vZG9jLnF0LmlvL3F0L3FndWlhcHBsaWNhdGlvbi5odG1sI2RldGFpbHMpXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2d1aS9xZ3VpYXBwbGljYXRpb24ucnM6NDI6ICAgICAgICB0eXBlIFFHdWlBcHBsaWNhdGlvbjtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvZ3VpL3FndWlhcHBsaWNhdGlvbi5yczo0NjogICAgICAgICNbU2VsZiA9IFwiUUd1aUFwcGxpY2F0aW9uXCJdXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2d1aS9xZ3VpYXBwbGljYXRpb24ucnM6NTA6ICAgICAgICAjW1NlbGYgPSBcIlFHdWlBcHBsaWNhdGlvblwiXVxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzOjU5OiAgICAgICAgZm4gcWd1aWFwcGxpY2F0aW9uTmV3KGFyZ3M6ICZRVmVjdG9yX1FCeXRlQXJyYXkpIC0+IFVuaXF1ZVB0cjxRR3VpQXBwbGljYXRpb24+O1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzOjcwOiAgICAgICAgZm4gcWFwcGxpY2F0aW9uQWRkTGlicmFyeVBhdGgoYXBwOiBQaW48Jm11dCBRR3VpQXBwbGljYXRpb24+LCBwYXRoOiAmUVN0cmluZyk7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2d1aS9xZ3VpYXBwbGljYXRpb24ucnM6NzM6ICAgICAgICBmbiBxYXBwbGljYXRpb25BcHBsaWNhdGlvbk5hbWUoYXBwOiAmUUd1aUFwcGxpY2F0aW9uKSAtPiBRU3RyaW5nO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzOjc5OiAgICAgICAgZm4gcWFwcGxpY2F0aW9uUmVtb3ZlTGlicmFyeVBhdGgoYXBwOiAmUUd1aUFwcGxpY2F0aW9uLCBwYXRoOiAmUVN0cmluZyk7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2d1aS9xZ3VpYXBwbGljYXRpb24ucnM6ODI6ICAgICAgICBmbiBxYXBwbGljYXRpb25BcHBsaWNhdGlvblZlcnNpb24oYXBwOiAmUUd1aUFwcGxpY2F0aW9uKSAtPiBRU3RyaW5nO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzOjg1OiAgICAgICAgZm4gcWFwcGxpY2F0aW9uRXhlYyhhcHA6IFBpbjwmbXV0IFFHdWlBcHBsaWNhdGlvbj4pIC0+IGkzMjtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvZ3VpL3FndWlhcHBsaWNhdGlvbi5yczo4ODogICAgICAgIGZuIHFhcHBsaWNhdGlvbkxpYnJhcnlQYXRocyhhcHA6ICZRR3VpQXBwbGljYXRpb24pIC0+IFFTdHJpbmdMaXN0O1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzOjkxOiAgICAgICAgZm4gcWFwcGxpY2F0aW9uT3JnYW5pemF0aW9uRG9tYWluKGFwcDogJlFHdWlBcHBsaWNhdGlvbikgLT4gUVN0cmluZztcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvZ3VpL3FndWlhcHBsaWNhdGlvbi5yczo5NDogICAgICAgIGZuIHFhcHBsaWNhdGlvbk9yZ2FuaXphdGlvbk5hbWUoYXBwOiAmUUd1aUFwcGxpY2F0aW9uKSAtPiBRU3RyaW5nO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzOjk3OiAgICAgICAgZm4gcWFwcGxpY2F0aW9uU2V0QXBwbGljYXRpb25OYW1lKGFwcDogUGluPCZtdXQgUUd1aUFwcGxpY2F0aW9uPiwgbmFtZTogJlFTdHJpbmcpO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzOjEwMzogICAgICAgIGZuIHFhcHBsaWNhdGlvblNldEFwcGxpY2F0aW9uVmVyc2lvbihhcHA6IFBpbjwmbXV0IFFHdWlBcHBsaWNhdGlvbj4sIHZlcnNpb246ICZRU3RyaW5nKTtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvZ3VpL3FndWlhcHBsaWNhdGlvbi5yczoxMTI6ICAgICAgICBmbiBxYXBwbGljYXRpb25TZXRMaWJyYXJ5UGF0aHMoYXBwOiBQaW48Jm11dCBRR3VpQXBwbGljYXRpb24+LCBwYXRoczogJlFTdHJpbmdMaXN0KTtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvZ3VpL3FndWlhcHBsaWNhdGlvbi5yczoxMTU6ICAgICAgICBmbiBxYXBwbGljYXRpb25TZXRPcmdhbml6YXRpb25Eb21haW4oYXBwOiBQaW48Jm11dCBRR3VpQXBwbGljYXRpb24+LCBkb21haW46ICZRU3RyaW5nKTtcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvZ3VpL3FndWlhcHBsaWNhdGlvbi5yczoxMTg6ICAgICAgICBmbiBxYXBwbGljYXRpb25TZXRPcmdhbml6YXRpb25OYW1lKGFwcDogUGluPCZtdXQgUUd1aUFwcGxpY2F0aW9uPiwgbmFtZTogJlFTdHJpbmcpO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzOjEzMDogICAgLy8gUUd1aUFwcGxpY2F0aW9uIGlzIG5vdCBhIHRyaXZpYWwgdG8gQ1hYIGFuZCBpcyBub3QgcmVsb2NhdGFibGUgaW4gUXRcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvZ3VpL3FndWlhcHBsaWNhdGlvbi5yczoxMzM6ICAgIC8vIHN0YXRpY19hc3NlcnQoUVR5cGVJbmZvPFFHdWlBcHBsaWNhdGlvbj46OmlzUmVsb2NhdGFibGUpO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzOjEzNDogICAgaW1wbCBVbmlxdWVQdHI8UUd1aUFwcGxpY2F0aW9uPiB7fVxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzOjEzNzpwdWIgdXNlIGZmaTo6UUd1aUFwcGxpY2F0aW9uO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzOjEzOTppbXBsIFFHdWlBcHBsaWNhdGlvbiB7XG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2d1aS9xZ3VpYXBwbGljYXRpb24ucnM6MTc2OiAgICAvLy8gUmV0dXJucyBhIGxpc3Qgb2YgcGF0aHMgdGhhdCB0aGUgYXBwbGljYXRpb24gd2lsbCBzZWFyY2ggd2hlbiBkeW5hbWljYWxseSBsb2FkaW5nIGxpYnJhcmllcy5cbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvZ3VpL3FndWlhcHBsaWNhdGlvbi5yczoyNDE6ICAgIC8vLyBTZXRzIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCB3aGVuIGxvYWRpbmcgcGx1Z2lucyB3aXRoIFtRTGlicmFyeV0oaHR0cHM6Ly9kb2MucXQuaW8vcXQvcWxpYnJhcnkuaHRtbCkgdG8gYHBhdGhzYC5cbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvZ3VpL3FndWlhcHBsaWNhdGlvbi5jcHA6MTY6OjpzdGQ6OnVuaXF1ZV9wdHI8UUd1aUFwcGxpY2F0aW9uPlxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLmNwcDoxOTogIC8vIEVuc3VyZSB0aGF0IG91ciBRVmVjdG9yIGhhcyB0aGUgc2FtZSBsaWZldGltZSBhcyB0aGUgUUd1aUFwcGxpY2F0aW9uXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2d1aS9xZ3VpYXBwbGljYXRpb24uY3BwOjIwOiAgLy8gYnkgc3RvcmluZyBpdCBpbnNpZGUgYSBRT2JqZWN0IHRoYXQgaGFzIFFHdWlBcHBsaWNhdGlvbiBhcyBpdCdzIHBhcmVudFxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLmNwcDoyMjogIC8vIE5vdGUgdGhhdCBRR3VpQXBwbGljYXRpb24gdXNlcyBhIHJlZmVyZW5jZSB0byBhbiBpbnQgZm9yIHRoZSBzaXplIGhlcmVcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvZ3VpL3FndWlhcHBsaWNhdGlvbi5jcHA6MjU6ICAgIDo6c3RkOjptYWtlX3VuaXF1ZTxRR3VpQXBwbGljYXRpb24+KGFyZ3NEYXRhLT5zaXplKCksIGFyZ3NEYXRhLT5kYXRhKCkpO1xuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3Fjb3JlYXBwbGljYXRpb24ucnM6MTIzOiAgICAvLy8gUmV0dXJucyBhIGxpc3Qgb2YgcGF0aHMgdGhhdCB0aGUgYXBwbGljYXRpb24gd2lsbCBzZWFyY2ggd2hlbiBkeW5hbWljYWxseSBsb2FkaW5nIGxpYnJhcmllcy5cbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xY29yZWFwcGxpY2F0aW9uLnJzOjE3NzogICAgLy8vIFNldHMgdGhlIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gc2VhcmNoIHdoZW4gbG9hZGluZyBwbHVnaW5zIHdpdGggW1FMaWJyYXJ5XShodHRwczovL2RvYy5xdC5pby9xdC9xbGlicmFyeS5odG1sKSB0byBgcGF0aHNgLlxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3Fjb3JlYXBwbGljYXRpb24uY3BwOjQwOiAgLy8gRW5zdXJlIHRoYXQgb3VyIFFWZWN0b3IgaGFzIHRoZSBzYW1lIGxpZmV0aW1lIGFzIHRoZSBRR3VpQXBwbGljYXRpb25cbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xY29yZWFwcGxpY2F0aW9uLmNwcDo0MTogIC8vIGJ5IHN0b3JpbmcgaXQgaW5zaWRlIGEgUU9iamVjdCB0aGF0IGhhcyBRR3VpQXBwbGljYXRpb24gYXMgaXQncyBwYXJlbnRcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xY29yZWFwcGxpY2F0aW9uLmNwcDo0MzogIC8vIE5vdGUgdGhhdCBRR3VpQXBwbGljYXRpb24gdXNlcyBhIHJlZmVyZW5jZSB0byBhbiBpbnQgZm9yIHRoZSBzaXplIGhlcmVcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xc3RyaW5nLmNwcDo2MDogIC8vIENYWCBjYW4ndCBjaG9vc2UgYmV0d2VlbiBhcmcgb3ZlcmxvYWRzIHNvIHVzZSBDKytcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9zcmMvY29yZS9xdXVpZC5yczoxMDA6ICAgICAgICAvLyBTdGFydGluZyB3aXRoIFF0IDYuOSwgUXQgYWRkZWQgYW4gb3ZlcmxvYWQgZm9yIFFVdWlkOjp2YXJpYW50IGFuZCBRVXVpZDo6dmVyc2lvbi5cbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NTc2MzUwNjYzOH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImMwOTFhY2U3IiwicGFyZW50SWQiOiJjYmVhY2FkYyIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MjU6MTkuOTA0WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipEZXNpZ25pbmcgUU1MIGJvYXJkIGRhdGEgZW1iZWRkaW5nKipcblxuKipBc3Nlc3NpbmcgY3h4LXF0IGJ1aWxkIGludGVncmF0aW9uKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTZiNTc0OGM4MTkxOTcyMjVmM2MxZWE2ZTZhOVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFjSmE5bDZ3Y3REV0c0emFxTno1NzM1VVN3VnY4ZmtFZHRwcEhQbTdHTDE0aFU3ZDltOS1kZXRDZnZqeXBJQXE2NEZ1M1ZoZWtweGM1ZkxlbFRNT3R0R0d2eXk0Ym1CZV91b3dmUFk0ellFdVQ4S0xaQjYxdHBuWnVKQ2thcnVoeUpQaXdqMHIxQXZuX09XT2VkRzFzZUczelZRUGp3LTdqeGZjdjFwajdWdWxfQ2p4VHJEOFVRXzlxaURReDUwMTR6S2VyNUlpc1A0ZVpJeDlFam5UYkpZZWgxN1JWR3BUcVFtQml4WngyVXBQaGZDNFZyaXc0TUpZS3lVamJNQVRBMVBYTm1GRGxqRWN6T1BLODFwQlpiVWxFNENWZ2xoemh5cnZDS1cwVXNuNkl1alNPclluSnktWDdXU1BlT3dLOC1FcjB0VUEtVEc5a2wtRFo0czhkeXZGZDE4LWh4QjJyLWZNTWd0UWtRWE9MQWM4M0JvRE5haHRjczR2czdwYnJKSzlaRGZuZ2taeER6X1ZtTFJxZFotaUQ5M3Exc3ExT3VSTmV5SGllaUpPcldJeEFiM3FxZzNJWHBra25RM2MtRnVOSzFUT2dvNVRueFRaUm1Ga2ZDOXlEcGpmdzN3cGNYUkdLMWItRnNQN0lHbnJyRmM0THg2UHVtVVo5NGNBUEJQX3hCeE92bzlZN3NhSGkwX0FEdi15VVhVUG03M2QzR1VOekFsR0RUYURadDBMLURRLTd5QTlhNTZ1ZlVsTnBwUUM3UGlweDdFSnlsZVI2WDVtOEtCb3pjZVZ4dS1zOXRqX1o4UnBIRy1qLVZVU1BoaVhaOHhjTmNqa3Y3M1hjSTE3bjhlcDB2T0cxVUNrd0xlTU1iZ0RBdnYzaEx1WWoyLU5TUVo5N2ZHbFdtRmY5cExJTDBmbklMd1JTVjh6dEtPNHZGTGw2aHNZUWpIMU55MWFLVFNtRG5pSWp4VkdBSlZxV1hSc3ZHX2JNVlJOOGdUZ0lIVHFYRmQ1RVpRNG1QMWg4UXM1UDBwbGljOWhkdGlDLWNfWUU3WjhGem9OZHo0RVFlb3E3Wmt1c1gwV0J4QTRSWnIxTDBrTS0xTGNsXzVCVEhZQmt5cHhTa0o2RVEySUdCWlRYQjB0Nk5jTDV5UGYxX0VKRmNzTTNtN3FNMFlKbk8xdHAzNkFHc1gzeGY0WTRYZUZRX282aHItUktZWG9OaERCMzBLZlZBV3pYVTQ5QUdjUFdlWU03OUZWUnFxbGd5OXgzZXVyLTRZMFFsRlJsbE1BcjZBbndNaXBTdkFReTZrdEZIM3RiaTloMjhZaW1RVVh3bFFlaFp4WjEwT1o4VkppWU1LU0RLekpKeTRwMXhHVzYwaHByVmdRUGduR1NoZndFeGJPcXlMWjdZRUlsb1JXeDAyWnNlV2RlTmx1LVk5Rmh3dGNBaDVSNlE2RUhoSVdGT1JNMlRPNWkzTlBvV2tsV0JtenBobDNOeGY1a2JUUkVLVTAyTzc0c3l1LXU3VGNDX2lmSTdJM1R1RktMUXdSOTZ0N0tvV19MalM5NXgzX1NtN1lNUEQ0RzZQemR3WmNCM2VqUGIxN0EzN282Ukt5dTJXTW1fczNNcHJaSnhSVE1rTVMtdWx3NTMwRXJENzZWZUNqdWtvV01BTWM5bXo5ZFVqSGNzRGpDTnJlSXhuS0FqMThlbGhnRW1qRjRXQXNpb1FFMHkxcVF2eWZieDJFZWJoQ0Q0b0laOUVFUG5LYktBQldiMWo4V0pNUE5UbnhxZFJBZzhOTkE0ZHFyY2tiNXlJTVVNN2hpem1Sd3pPWk9TbTZpY2xDeG1aZ1k0c0FnTDBJbU1kX3lrR29xamFhQUxvX0NodUZYcXZsNmxKeThiRkVyZ3BraVpwamN6azhrdnJlQ195bW1DOHNRbUN3QndoZ1JqVFBkYkFCRWhROXc3amhsWmoyU2JzRVVLQ2F5MkdsNVprVzhhX3hDZTZ4c1hESjdCWWNpdkJvd1VqWUw2TXlaMXBOQU9JXy1KU0Z5Z2R5WG5YWkFzVmNhOEhzeXhQMm9pT2lyUVBTWjdGXzF6cmltT2dXOEF5YzA0LVZoSFJ3M3FSRmFGVU9fTnhrWDRXaWNjNmJ4bE15bnB4SGplMDlhMFJFRjFVakdVSW1tLXJtWHo5d3k5WjFGb3BCYTVjZU1POVExOXdYMVJDVVVtLWltdEM3MWlnVm9tVWhrWmdlZnh4dUduaXFaWTRTTEd1ODd1WjA4LUxPZldWWVEtRjIzcVZKMmdrd090ZURhNFpJMFZRM1hxTGpCOXBQRC05eXFEZzRNal9XbXZaMDlQaUM4Vm1UR3d4djcyTDVMdE5WQml1YVlzVWY1WS00MXh4M085VGV3eThvRzhlZnZzLXY5WDJ2N1VKVHhLWkFQdjF6dDlhU2lONm1Hb3k2S0syUUpCZW5uVkdsN1BMWUZXOHEtVkpHZFViSUN0bzNMTXNranNRbTY4MlRYSVdwS0lKV01ySGMtcTh1eFNiUUxJQzJHaDN1b201VVhqUDB5b2FfM3BCSVhxVUlOcEk3cTdWaXJSQ2p4LU96Y3Y3WGVGcnd2SnE3SkVScE9UcjRndC1lbTJzQ0pNY2tibWZ3b3hNTGx5azlMSFQxRVBoakpIdDUwdGNhcVViT2xNdUc1QzR1RUpSdnZZQlZlNVhVck5qNjdVU1JQVVhpYjcyd3ZFZ0RYR21NMjI2LWhmejJrX2MxZ2hXZndPaThDNGRnYTYzWmJ2R0NqNFJiMGJlbEdEczd4Q3NRUGpVM0MtaEtwRGR0OGRjV2ZtdjhsdUR5VXB5aEYxUnhpZ0ZSRFBMdG1iWnl2RXpkU1ZsMlZTUEF2c25KSWlzZW1zdHJpUm82eF9hdEZOLW1NM0xUSHNCb1BzM1o5SFlMZFpqc3hRUUlsck9rVVlTUGJHUHphSThBSmdxNlBjakw1bVVVWHZlOTR5Rll5YVROaW1PTUw0V2I1T05HcnFrOHR0Y0dmMkNsX0p0Q0c0dDQ4NDJwbXFBUnI0Y0MzemZZU29HbXotOFdPYkM1VFl6VTlpX2ZiWWNDVUQ5X0p2VTBlTXZFdEE5QUdac01DbktuNGN2a2UtdWFxTHFuR0J0Y0Zoa1IyOVBtbXRHTmJQZFFtajgxa3VjZlJtMVVaX29vWkhDbkZuNVBzZy1qS2FtMTNXSXpxa3BMVUg5VTdlWFJmWExYVDJhRVBPck9NSVRUYnFQZ19cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkRlc2lnbmluZyBRTUwgYm9hcmQgZGF0YSBlbWJlZGRpbmcqKlwifSx7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqQXNzZXNzaW5nIGN4eC1xdCBidWlsZCBpbnRlZ3JhdGlvbioqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9PRVdjQmdEWUZnTXdZMEQxYmJlUkFDenB8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2YmRkNGE4ODE5MTllNTMwODg5YmZjMDFjZWEiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicmcgJ1FRbWxBcHBsaWNhdGlvbkVuZ2luZTo6bmV3fFFHdWlBcHBsaWNhdGlvbjo6bmV3JyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9jeHgtcXQtbGliLTAuOS4xIC1nICcqLnJzJyB8IGhlYWQgLTMwOyBzZWQgLW4gJzEzMCwxNzVwJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9jeHgtcXQtbGliLTAuOS4xL3NyYy9xbWwvcXFtbGFwcGxpY2F0aW9uZW5naW5lLnJzOyBzZWQgLW4gJzEzOSwxNzVwJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzOyBjYXQgfi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjLyovY3h4LXF0LWxpYi0wLjkuMS9DYXJnby50b21sIHwgZ3JlcCAtQTMwICdcXFtmZWF0dXJlc1xcXScifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjk3OTksIm91dHB1dCI6NDM1LCJjYWNoZVJlYWQiOjEyMDMyMCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyNTcsInRvdGFsVG9rZW5zIjoxMzA1NTQsImNvc3QiOnsiaW5wdXQiOjAuMDQ4OTk1MDAwMDAwMDAwMDA0LCJvdXRwdXQiOjAuMDEzMDUsImNhY2hlUmVhZCI6MC4wNjAxNiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMTIyMjA1MDAwMDAwMDAwMDF9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjM1MDY2NDAsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NmIzMGQ2MDgxOTE5MzliNTk3ZWE2NjdmZjJiIiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI5ZTI3ZTEyYyIsInBhcmVudElkIjoiYzA5MWFjZTciLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjI1OjE5LjkyOFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfT0VXY0JnRFlGZ013WTBEMWJiZVJBQ3pwfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NmJkZDRhODgxOTE5ZTUzMDg4OWJmYzAxY2VhIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoifVxuXG5wdWIgdXNlIGZmaTo6UVFtbEFwcGxpY2F0aW9uRW5naW5lO1xuXG5pbXBsIFFRbWxBcHBsaWNhdGlvbkVuZ2luZSB7XG4gICAgLy8vIENyZWF0ZSBhIG5ldyBgUVFtbEFwcGxpY2F0aW9uRW5naW5lYC5cbiAgICAvLy9cbiAgICAvLy8gWW91IHdpbGwgaGF2ZSB0byBjYWxsIFtsb2FkXShodHRwczovL2RvYy5xdC5pby9xdC9xcW1sYXBwbGljYXRpb25lbmdpbmUuaHRtbCNsb2FkKSgpIGxhdGVyIGluIG9yZGVyIHRvIGxvYWQgYSBRTUwgZmlsZS5cbiAgICBwdWIgZm4gbmV3KCkgLT4gY3h4OjpVbmlxdWVQdHI8U2VsZj4ge1xuICAgICAgICBmZmk6OnFxbWxhcHBsaWNhdGlvbmVuZ2luZV9uZXcoKVxuICAgIH1cbn1cbmltcGwgUUd1aUFwcGxpY2F0aW9uIHtcbiAgICAvLy8gUHJlcGVuZHMgYHBhdGhgIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpYnJhcnkgcGF0aCBsaXN0LFxuICAgIC8vLyBlbnN1cmluZyB0aGF0IGl0IGlzIHNlYXJjaGVkIGZvciBsaWJyYXJpZXMgZmlyc3QuXG4gICAgLy8vIElmIGBwYXRoYCBpcyBlbXB0eSBvciBhbHJlYWR5IGluIHRoZSBwYXRoIGxpc3QsIHRoZSBwYXRoIGxpc3QgaXMgbm90IGNoYW5nZWQuXG4gICAgcHViIGZuIGFkZF9saWJyYXJ5X3BhdGgoc2VsZjogUGluPCZtdXQgU2VsZj4sIHBhdGg6ICZRU3RyaW5nKSB7XG4gICAgICAgIGZmaTo6cWd1aWFwcGxpY2F0aW9uX2FkZF9saWJyYXJ5X3BhdGgoc2VsZiwgcGF0aCk7XG4gICAgfVxuXG4gICAgLy8vIFJldHVybnMgdGhlIG5hbWUgb2YgdGhpcyBhcHBsaWNhdGlvbi5cbiAgICBwdWIgZm4gYXBwbGljYXRpb25fbmFtZSgmc2VsZikgLT4gUVN0cmluZyB7XG4gICAgICAgIGZmaTo6cWd1aWFwcGxpY2F0aW9uX2FwcGxpY2F0aW9uX25hbWUoc2VsZilcbiAgICB9XG5cbiAgICAvLy8gUmV0dXJucyB0aGUgdXNlci12aXNpYmxlIG5hbWUgb2YgdGhpcyBhcHBsaWNhdGlvbi5cbiAgICBwdWIgZm4gYXBwbGljYXRpb25fZGlzcGxheV9uYW1lKCZzZWxmKSAtPiBRU3RyaW5nIHtcbiAgICAgICAgZmZpOjpxZ3VpYXBwbGljYXRpb25fYXBwbGljYXRpb25fZGlzcGxheV9uYW1lKClcbiAgICB9XG5cbiAgICAvLy8gUmV0dXJucyB0aGUgdmVyc2lvbiBvZiB0aGlzIGFwcGxpY2F0aW9uLlxuICAgIHB1YiBmbiBhcHBsaWNhdGlvbl92ZXJzaW9uKCZzZWxmKSAtPiBRU3RyaW5nIHtcbiAgICAgICAgZmZpOjpxZ3VpYXBwbGljYXRpb25fYXBwbGljYXRpb25fdmVyc2lvbihzZWxmKVxuICAgIH1cblxuICAgIC8vLyBFbnRlcnMgdGhlIG1haW4gZXZlbnQgbG9vcCBhbmQgd2FpdHMgdW50aWwgW2V4aXRdXFwoKSBpcyBjYWxsZWQsXG4gICAgLy8vIGFuZCB0aGVuIHJldHVybnMgdGhlIHZhbHVlIHRoYXQgd2FzIHNldCB0byBbZXhpdF1cXCgpICh3aGljaCBpcyAwIGlmIFtleGl0XVxcKCkgaXMgY2FsbGVkIHZpYSBbcXVpdF1cXCgpKS5cbiAgICAvLy9cbiAgICAvLy8gW2V4aXRdOiBodHRwczovL2RvYy5xdC5pby9xdC9xY29yZWFwcGxpY2F0aW9uLmh0bWwjZXhpdFxuICAgIC8vLyBbcXVpdF06IGh0dHBzOi8vZG9jLnF0LmlvL3F0L3Fjb3JlYXBwbGljYXRpb24uaHRtbCNxdWl0XG4gICAgcHViIGZuIGV4ZWMoc2VsZjogUGluPCZtdXQgU2VsZj4pIC0+IGkzMiB7XG4gICAgICAgIGZmaTo6cWd1aWFwcGxpY2F0aW9uX2V4ZWMoc2VsZilcbiAgICB9XG5cbiAgICAvLy8gUmV0dXJucyB0aGUgZGVmYXVsdCBhcHBsaWNhdGlvbiBmb250LlxuICAgIHB1YiBmbiBmb250KCZzZWxmKSAtPiBRRm9udCB7XG4gICAgICAgIGZmaTo6cWd1aWFwcGxpY2F0aW9uX2ZvbnQoKVxuICAgIH1cblxuW2ZlYXR1cmVzXVxuYnl0ZXMgPSBbXCJkZXA6Ynl0ZXNcIl1cbmNocm9ubyA9IFtcImRlcDpjaHJvbm9cIl1cbmRlZmF1bHQgPSBbXVxuZnVsbCA9IFtcbiAgICBcInF0X2Z1bGxcIixcbiAgICBcInNlcmRlXCIsXG4gICAgXCJ1cmxcIixcbiAgICBcInV1aWRcIixcbiAgICBcInRpbWVcIixcbiAgICBcInJnYlwiLFxuICAgIFwiaHR0cFwiLFxuICAgIFwiY2hyb25vXCIsXG4gICAgXCJieXRlc1wiLFxuICAgIFwiaW1hZ2UtdjAtMjRcIixcbiAgICBcImltYWdlLXYwLTI1XCIsXG5dXG5odHRwID0gW1wiZGVwOmh0dHBcIl1cbmltYWdlLXYwLTI0ID0gW1wiZGVwOmltYWdlLXYwLTI0XCJdXG5pbWFnZS12MC0yNSA9IFtcImRlcDppbWFnZS12MC0yNVwiXVxubGlua19xdF9vYmplY3RfZmlsZXMgPSBbXCJjeHgtcXQtYnVpbGQvbGlua19xdF9vYmplY3RfZmlsZXNcIl1cbnF0X2Z1bGwgPSBbXG4gICAgXCJxdF9ndWlcIixcbiAgICBcInF0X3FtbFwiLFxuICAgIFwicXRfcXVpY2tjb250cm9sc1wiLFxuXVxucXRfZ3VpID0gW11cbnF0X3FtbCA9IFtdXG5xdF9xdWlja2NvbnRyb2xzID0gW11cbnJnYiA9IFtcImRlcDpyZ2JcIl1cbnNlcmRlID0gW1wiZGVwOnNlcmRlXCJdXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODU3NjM1MTk5Mjh9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI2MjkwMjgyZSIsInBhcmVudElkIjoiOWUyN2UxMmMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjI1OjI0LjYzN1oiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqSW5pdGlhdGluZyBRR3VpIHNlYXJjaCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2YzIyNjYwODE5MWE0ZTIwODk1YzRmMDZjMjJcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxY0piQ3BEUjRnQzF4aWFia3IzRGl5VkQwaTVrdllUNWtkUi01VlBEeGZobDVHUzQtTmM4ckY5dG5VNXU5MEN5eDZjbDhaY1YwalM2Y0Y2a3JRbENZekdjdG9pNGFILThhZ1B3X2F2UHQycDk3bDBzQlp3andxYW1ZazJLYUJ6YmZMMTNyRkxtRVhzSVNyY1RtLTNvNi1FbEtQSVNobkVwN2hyMElTeDJmX3dBVHRyTTR1SUY4V0RpeHRwSFZIeEl6U2x5ZE5NVFJMcGt6dkxaMS1vOTQ3Z2QtNEl1anlvak5mXzJ4VGVES1VpMmozX2Zwa1ZMNnRxRkFzRDhmc1RtSW1qRXJVdDFXRmtLN0NrbWk4TDctcVBSZkE2SGRuQ0tYS3lmNW5fdTd1cElId3hpRU43WHdXOUJuQkF0Z0RQa1M3T1VTWTlPVGhqNUd5WlZFM0xHcTBQRXBMVVRhUVlLMUQxSVFEWXQwM092bVVLVi1OZnhPWjdVemJ3M3VBU1JuUGJlY1ZOVVZHem9CZ094ZE5YTTNuaXhPSjJ5TzlsRkZ1ZGZVMWdXaEtJMGo1RHZaNmpYV1poRFZmR3dSTk5MRUQzaXMtOXJxaXpMb0hGUUpobmdpN1NNakRqWWJQWmRsQ1MtU001MGJaTlYzLXpOUkVxSGs4ZUwtdFVDdzBLZTJyUG5Wb19jWWU1YVdXU09nZTU3YmZrbEI5VmE0Q09SaWkxZHdOU2MxTjBzVlJqMjZxZW1TS2t0SGk4V0YwYXlVMmh3Y2FaR1BmdENTS2pFWDkxU2lNaWJpOUpkc0FxaXlHOFZ3aU9tRTZ3TW5LNmxwYXg4Q3pOWERqeEZoZkhYTHR0ekI5YmdsSkR3UnVVSnQzLVR0TFJHR2oyZlFBb1QtLWg3TDRIOTh4ODJ1cklvZU1wX053NVFRSkVQcTd1c3VBQk1WeFZRQ0lGM19pV3lIWnl2Skl2cGh0blk4RXl0UDNhNUJQb1FGRnVnTnpXMzU3ak1UZHBveUhrT1BfZnY0UlgtQUJRcTZkckp1cC1mVkVxcVRUM2U0NU5sU1NQSG1tY1VHb3VSNWgwdjNtZndDUDZtMEtZeTBZQkFaUWVtTU4zVUFBbUhaRzlBYjZnRnBnYzh0cWlGQ0hzU2htRFB4MkpKVUhzcE5UMHI1NDZLT29MX29PdV9SZlFpZ2o1NFRlX05HamJqQk9Pc1gyNlhiTG1pcE1teWtRREhEZ2ZLWDJpUTlLRXM3UktxcTVHNVNOTk5CeW9BNUtRRjIzR1RxaEZ5dFwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqSW5pdGlhdGluZyBRR3VpIHNlYXJjaCoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF90UndYdEhpVVNvOWp2M2V4aWJ1T2JxeUh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2YzJkNzc0ODE5MWIwOGU4MjBlZTIxYTU2NzMiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicmcgJ3B1YiBmbiBuZXcnIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL2N4eC1xdC1saWItMC45LjEvc3JjL2d1aS9xZ3VpYXBwbGljYXRpb24ucnM7IHJnICdjeHhfcXRfbGliJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9jeHgtcXQtbGliLTAuOS4xL1JFQURNRS5tZCB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9jeHgtcXQtbGliLTAuOS4xL3Rlc3RzIC1nICcqLnJzJyAyPi9kZXYvbnVsbCB8IGhlYWQifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE2MzUsIm91dHB1dCI6MTI4LCJjYWNoZVJlYWQiOjEyOTUzNiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo5LCJ0b3RhbFRva2VucyI6MTMxMjk5LCJjb3N0Ijp7ImlucHV0IjowLjAwODE3NSwib3V0cHV0IjowLjAwMzg0LCJjYWNoZVJlYWQiOjAuMDY0NzY3OTk5OTk5OTk5OTksImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA3Njc4Mjk5OTk5OTk5OTk5fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg1NzYzNTE5OTMwLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTZjMDVlMzA4MTkxYmI5ZjBlNTllNDRmMGQ4NiIsInJhd1N0b3BSZWFzb24iOiJjb21wbGV0ZWQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZWNjMTM2ZDEiLCJwYXJlbnRJZCI6IjYyOTAyODJlIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyNToyNC42NTFaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX3RSd1h0SGlVU285anYzZXhpYnVPYnF5SHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTZjMmQ3NzQ4MTkxYjA4ZTgyMGVlMjFhNTY3MyIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiAgICBwdWIgZm4gbmV3KCkgLT4gY3h4OjpVbmlxdWVQdHI8U2VsZj4ge1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg1NzYzNTI0NjUxfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMmU4ZjQ1MDgiLCJwYXJlbnRJZCI6ImVjYzEzNmQxIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyNToyNy43NzdaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX2lJUThadlBKR2VXNkljTnZOYkgxeHI3Q3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTZjNjc0ZGM4MTkxOTg4ZmJmNDdlMzhjY2ZiMCIsIm5hbWUiOiJyZWFkIiwiYXJndW1lbnRzIjp7InBhdGgiOiIvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvc3JjL2d1aS9xZ3VpYXBwbGljYXRpb24ucnMiLCJvZmZzZXQiOjEyNSwibGltaXQiOjIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjc2NCwib3V0cHV0Ijo3MCwiY2FjaGVSZWFkIjoxMzA1NjAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MCwidG90YWxUb2tlbnMiOjEzMTM5NCwiY29zdCI6eyJpbnB1dCI6MC4wMDM4MjAwMDAwMDAwMDAwMDA1LCJvdXRwdXQiOjAuMDAyMSwiY2FjaGVSZWFkIjowLjA2NTI3OTk5OTk5OTk5OTk5LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNzExOTk5OTk5OTk5OTk5OX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2MzUyNDY1MywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2YzRmZDljODE5MTgyYjhlYzJhOTBjMmQwYzQiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjIyMzFmMmEwIiwicGFyZW50SWQiOiIyZThmNDUwOCIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MjU6MjcuNzgxWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9pSVE4WnZQSkdlVzZJY052TmJIMXhyN0N8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2YzY3NGRjODE5MTk4OGZiZjQ3ZTM4Y2NmYjAiLCJ0b29sTmFtZSI6InJlYWQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgICAgICNbZG9jKGhpZGRlbildXG4gICAgICAgICNbcnVzdF9uYW1lID0gXCJxZ3VpYXBwbGljYXRpb25fcXVlcnlfa2V5Ym9hcmRfbW9kaWZpZXJzXCJdXG4gICAgICAgIGZuIHFndWlhcHBsaWNhdGlvblF1ZXJ5S2V5Ym9hcmRNb2RpZmllcnMoKSAtPiBLZXlib2FyZE1vZGlmaWVycztcbiAgICB9XG5cbiAgICAvLyBRR3VpQXBwbGljYXRpb24gaXMgbm90IGEgdHJpdmlhbCB0byBDWFggYW5kIGlzIG5vdCByZWxvY2F0YWJsZSBpbiBRdFxuICAgIC8vIGFzIHRoZSBmb2xsb3dpbmcgZmFpbHMgaW4gQysrLiBTbyB3ZSBjYW5ub3QgbWFyayBpdCBhcyBhIHRyaXZpYWwgdHlwZVxuICAgIC8vIGFuZCBuZWVkIHRvIHVzZSByZWZlcmVuY2VzIG9yIHBvaW50ZXJzLlxuICAgIC8vIHN0YXRpY19hc3NlcnQoUVR5cGVJbmZvPFFHdWlBcHBsaWNhdGlvbj46OmlzUmVsb2NhdGFibGUpO1xuICAgIGltcGwgVW5pcXVlUHRyPFFHdWlBcHBsaWNhdGlvbj4ge31cbn1cblxucHViIHVzZSBmZmk6OlFHdWlBcHBsaWNhdGlvbjtcblxuaW1wbCBRR3VpQXBwbGljYXRpb24ge1xuICAgIC8vLyBQcmVwZW5kcyBgcGF0aGAgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlicmFyeSBwYXRoIGxpc3QsXG4gICAgLy8vIGVuc3VyaW5nIHRoYXQgaXQgaXMgc2VhcmNoZWQgZm9yIGxpYnJhcmllcyBmaXJzdC5cbiAgICAvLy8gSWYgYHBhdGhgIGlzIGVtcHR5IG9yIGFscmVhZHkgaW4gdGhlIHBhdGggbGlzdCwgdGhlIHBhdGggbGlzdCBpcyBub3QgY2hhbmdlZC5cbiAgICBwdWIgZm4gYWRkX2xpYnJhcnlfcGF0aChzZWxmOiBQaW48Jm11dCBTZWxmPiwgcGF0aDogJlFTdHJpbmcpIHtcbiAgICAgICAgZmZpOjpxZ3VpYXBwbGljYXRpb25fYWRkX2xpYnJhcnlfcGF0aChzZWxmLCBwYXRoKTtcblxuWzE0OCBtb3JlIGxpbmVzIGluIGZpbGUuIFVzZSBvZmZzZXQ9MTQ1IHRvIGNvbnRpbnVlLl0ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODU3NjM1Mjc3ODF9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI5YzZmYzI0MCIsInBhcmVudElkIjoiMjIzMWYyYTAiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjI1OjMyLjQ2N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfbHN6V21PeGFoNm9IU1JUajVuYmpGUDdMfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NmM5MzhjODgxOTE5NjVmMjI1YmRlNTkzOTcyIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJnIC1uICdwdWIgZm4gbmV3JyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMDYxLCJvdXRwdXQiOjUyLCJjYWNoZVJlYWQiOjEzMDU2MCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MTMxNjczLCJjb3N0Ijp7ImlucHV0IjowLjAwNTMwNTAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMTU2LCJjYWNoZVJlYWQiOjAuMDY1Mjc5OTk5OTk5OTk5OTksImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA3MjE0NDk5OTk5OTk5OTk5fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg1NzYzNTI3NzgzLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTZjODA4ODQ4MTkxOGUyNWZlN2E1YzI1MDg1NSIsInJhd1N0b3BSZWFzb24iOiJjb21wbGV0ZWQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMTdjM2Y0Y2MiLCJwYXJlbnRJZCI6IjljNmZjMjQwIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyNTozMi40ODRaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2xzeldtT3hhaDZvSFNSVGo1bmJqRlA3THxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTZjOTM4Yzg4MTkxOTY1ZjIyNWJkZTU5Mzk3MiIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IjE4MzogICAgcHViIGZuIG5ldygpIC0+IGN4eDo6VW5pcXVlUHRyPFNlbGY+IHtcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NTc2MzUzMjQ4NH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImVkMjQwMDcyIiwicGFyZW50SWQiOiIxN2MzZjRjYyIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MjU6MzUuNjYwWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9PaThBUzVsbkRsNzlzTE1MUjBDa0dBdWx8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2Y2U1NDIwODE5MWI2NzIxN2U4MGRjODhhMDEiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtbGliLTAuOS4xL3NyYy9ndWkvcWd1aWFwcGxpY2F0aW9uLnJzIiwib2Zmc2V0IjoxNzgsImxpbWl0IjoxOH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMTQwLCJvdXRwdXQiOjcwLCJjYWNoZVJlYWQiOjEzMDU2MCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MTMxNzcwLCJjb3N0Ijp7ImlucHV0IjowLjAwNTcsIm91dHB1dCI6MC4wMDIxLCJjYWNoZVJlYWQiOjAuMDY1Mjc5OTk5OTk5OTk5OTksImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA3MzA3OTk5OTk5OTk5OTk5fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg1NzYzNTMyNDg1LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTZjY2JkNTA4MTkxOWY4YWIwZmRiMzEyODMwYyIsInJhd1N0b3BSZWFzb24iOiJjb21wbGV0ZWQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNmViY2FiZGIiLCJwYXJlbnRJZCI6ImVkMjQwMDcyIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyNTozNS42NjFaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX09pOEFTNWxuRGw3OXNMTUxSMENrR0F1bHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTZjZTU0MjA4MTkxYjY3MjE3ZTgwZGM4OGEwMSIsInRvb2xOYW1lIjoicmVhZCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiAgICAgICAgZmZpOjpxZ3VpYXBwbGljYXRpb25fbGlicmFyeV9wYXRocyhzZWxmKVxuICAgIH1cblxuICAgIC8vLyBJbml0aWFsaXplcyB0aGUgd2luZG93IHN5c3RlbSBhbmQgY29uc3RydWN0cyBhbiBhcHBsaWNhdGlvbiBvYmplY3QuXG4gICAgLy8vIFN0YW5kYXJkIFtRdCBjb21tYW5kIGxpbmUgYXJndW1lbnRzXShodHRwczovL2RvYy5xdC5pby9xdC9xZ3VpYXBwbGljYXRpb24uaHRtbCNzdXBwb3J0ZWQtY29tbWFuZC1saW5lLW9wdGlvbnMpIGFyZSBoYW5kbGVkIGF1dG9tYXRpY2FsbHkuXG4gICAgcHViIGZuIG5ldygpIC0+IGN4eDo6VW5pcXVlUHRyPFNlbGY+IHtcbiAgICAgICAgbGV0IG11dCB2ZWN0b3IgPSBRVmVjdG9yOjo8UUJ5dGVBcnJheT46OmRlZmF1bHQoKTtcblxuICAgICAgICAvLyBDb25zdHJ1Y3QgYW4gb3duZWQgUVZlY3RvciBvZiB0aGUgYXJnc1xuICAgICAgICAvLyBhcyB3ZSBuZWVkIHRoZSBhcmdzX29zIGRhdGEgdG8gb3V0bGl2ZSB0aGlzIG1ldGhvZFxuICAgICAgICAvLyBzbyB3ZSBwYXNzIGEgUVZlY3RvciB0byBDKysgd2hpY2ggaXMgdGhlbiBzdG9yZWRcbiAgICAgICAgZm9yIGFyZyBpbiBzdGQ6OmVudjo6YXJnc19vcygpIHtcbiAgICAgICAgICAgIC8vIFVuaXggT3NTdHJpbmdzIGNhbiBiZSBkaXJlY3RseSBjb252ZXJ0ZWQgdG8gYnl0ZXMuXG4gICAgICAgICAgICAjW2NmZyh1bml4KV1cbiAgICAgICAgICAgIHVzZSBzdGQ6Om9zOjp1bml4OjpmZmk6Ok9zU3RyRXh0O1xuXG4gICAgICAgICAgICAvLyBXaW5kb3dzIE9zU3RyaW5ncyBhcmUgV1RGLTggZW5jb2RlZCwgc28gdGhleSBuZWVkIHRvIGJlXG4gICAgICAgICAgICAvLyBjb252ZXJ0ZWQgdG8gVVRGLTggU3RyaW5ncyBiZWZvcmUgYmVpbmcgY29udmVydGVkIHRvIGJ5dGVzLlxuXG5bOTcgbW9yZSBsaW5lcyBpbiBmaWxlLiBVc2Ugb2Zmc2V0PTE5NiB0byBjb250aW51ZS5dIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg1NzYzNTM1NjYxfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNjcwZDhkYTQiLCJwYXJlbnRJZCI6IjZlYmNhYmRiIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyNTo0Ni4xMDZaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIEtpcmlnYW1pIFFNTCBpbnRlZ3JhdGlvbioqXG5cbioqVmVyaWZ5aW5nIEtpcmlnYW1pIG1vZHVsZSBwcmVzZW5jZSoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2ZDJlMWY4ODE5MTllMDcyMjY0MDRkNDYyZGNcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxY0piWklpMWZDRURWcTUtalUwblVlYWlOcnVBb2l0UmFqUk9LN1dZVGg0eFhpQWtMbVhrRjFJNXloYk1rcGhGNGZEM0wtdUZ0bjBOc3dXdjVrcFdVRHVjbUVnU1dFMlBFVXpYVzdhanRNVG9XcGdlT1d3MmVrbHA5MGszMWplYU5idjU3R0FURVR2dVh4SVBCUUZtUHFTME5iUy1aM1dOTFctNmNaSWxMSzZSY25UcWxudkItNnZqZFpqTGl3LTVPUFhVNFFSVEUtYjNkSmxMM1BYb3hXRG1nblR6Nlo1S21zY1FlX1FJbnZnd0ZJLVQzdHViZHJmd0pmcXA1ZXY5Z25Zanl3UVIxR1ZyTHctX0s3YjZEMzhDZHNGbmNEbHF0R2daXzhva2hrN3B3cHFHaExURTVvTmhOSVhkOWNfSzdSZHluYWxGU1ExS0dwMVRzRkpqTVhUc0ZEa3BSOFFBTjNYV2hDZVhiNnI3aGRBaFR5SWVwTHdzdjlRc0R4cDl0bHZVWk50YzVVUnZ1QUtPb2RkM0dJZWhKcV95d19STms1QzFaVDJIaU1yWlBkWWNzbnY0WnJzcEhaN1lWQ3Y0WG9qUHBWcl85YTFLbmozRElMWEFuTmpBUnBUMDFoSmFVcXcwRHhNblBFeWdXVmd6NFRRM0F2akVmcXNFSWdOTFBDdDVwdHAtZ2hvS3JPVkZUa3VtUktXTmVha3E2bW1yMWRSSFdPcVN6MEdtRUJ5SzVxMG5Ga0wxODRHV193NHhOaEZQLUxlMVVIOEhBMWRubk1raE5NOVExQTNrVjRxSHF0ZG9vRm1vZkNZVHZ6c2lfWVR3d2RqTU0xREhCSVBEaUwwVkJ2MHdzQWlSTDdZVHJ5UFRiLTdpRFZQSW9LN2IzQl80b3JzNWZNblJ2QVplOThxXzhuRGJINVhYQkVGRmU0TzNyUHJPRTVsQmJ4SWhRM200NXJULXdaZEZuckNwZWk3ZnRHY19EM1g5MUNMQ0xYY2dMd1NNRnBPRTd6bkRVSFdybWZudldXM2JQOEhRLUl4c2Z1WHotTXhsWE9ld3NDbWZOSnYyc01XZzI3U2ZPX0xWM2xjNlpISEpBVHN1NVBpRHhjbmwyaTQzdjVBUGZUR3BCUndYOVhXUUU4cG9IU1ZoYjM5NFFyUWtSODVfUEo4em1yeVU3cnl1RG82MFVzdlY0eUhHSHplSlJ2R1JPaEg2MXZVRjQwN2U1Z25idlVYUFY1NXBtUmNnMG1ZY0hhNFZ3cFNPSkdqenJaOUZKSTlEUnlMemRiSDRtam53U1QyejlhSjRTZy1ISnlnX2VvMnFOZnV0Q0NvU0JiLVg2WE9idUlITUplcEJyclB2LS1SOEFra1hCNE05QVd3YlpPdlp4dThaREpITEs1UWlVbzZySmYzSldXdkltcm00eGhmbU9iU2gySnpGWlA4VFphM3F6OVVjNHRPQjR5VElwNlhndWJBcGY1VTlHdEUxbnd1N2ZKRUxPSzF0VG5XMGs4a3NuQ1h2RUg0T0JxS3hlWHNWRmtGQlczV09iazJqRUNqdXJBNEV5bkZYcktNRHFUTXR1VWY2MEdDLTJqdWoxY3drTVZQdEI5eURCeFFKbTVtblFGQWFkbHl6ckdQVTVEMnY0X3I3dmpycHRraEhVSmRSNFczeW5YNmtyaFBzbTMzNE5MQVFjTUZqQi1YbXFuUFJiOHBTSXd6aWlIak9udWR3R2lNU29PeGctMHF0YWlfVC1sZnFLMDNVQlBfdW8zRUtuaWR0UWVFUDN3S3ktQUhsMTZuQ0xJaVJsZEh0aVdBWTBKV3FXcHg4LTFoRzNKX1JqdUVKT2Zud0ZOb0o1MkxzaFFkTlFsbElHZ0kzVUwyaEpMWUVNME9PT0NMdUJVUmVHX09SNG1pWldUMUg0X1lLdnlSbGRnZ1Z4andfeTVTOWZudmlBTU9MaDdNbFY5bFZHY1pDNFdXVXpvRFk4Uzc1Nm5XMWVQSlZNSGpSUzN3RXd0Sko4aXJRSllZc2RZT3FqY1lNTnRreWUtejVsRnVzbWpRSnpyVUZOSVlkZ3J4LXNSLUQ4RHFhNW1ZSHhyVzY3ZmhTdkl1TEhSQlUxUGpKeVJMVGQ3aEFVcmJQSU01SzJOMG1FQ01IQUNpR3QxcmlJaUdXdWFyR1ZLWGdBWjdxak5idHFTRGowZjRPZkR1M3h0amx5ajBYRGR0TUdUaW1uZVV2WF9sd2VDUjRyNFlta2hQOG9XVllFUjRGOC1nUFlqUHFqY3E0NnlDeWIzaU1lRzdmNlRSN1l5cHlsWndnN0ZCYlZtYmZTSm9JS1ZkZ0t2eUxtYk1kc1hCX1hLVXQ4SUozM3FDZ0NsVkdsYnlIanoyb0FsbWlpcHhzZmZDeFlNdmcyX0hjQ0pqazRRSjFNSmlqa0JIV3dEVDRlZHZjNDRHQ09hQmlMaUxQZXpNcC0tVnlhOVBDSHlod2liX3g5VEpDS1hJREszTXRNcGdscHh5WjFKYXNvdGN1Y0lwcng1QS1aOXlUMmVNU1dmbWdUVmo4bWhqRFdTNERxMjN5YV9mc1k2U3ZpSFhlS1hobUZHb0FWSFJIUDFRdjZILWZlWEM5QzZiUk5JT0lXREF6bWlBRDlnQ0kzMXcxTHJoVXNYMWsxWGV6S05COGh2RmJxNFUzRlJzQi1YdGpjTHFYM1d4UlRvSEJzYzY1THlQUVF6N094emlFNGMwVERSNUFEM1IyV2taenRDZUZWdXJDdzg1ajdRUkp0Q2NnX01FdkY2WFRFQ2w3QVRKY3d1aUE5OHNDalpfSUM3OThxZGkyMkF6b1pHQTJ4bi01VWw2Yk41Vk01bjdwVzB0VGl0SVpGWUtCS251dmtwUEJMM0JYUXZEclJDUFF5X1hLX3haajAxalRGNG4welZ4UHBrQ2Frd2lqSTBwYnMzTWlIMXpsTXgxWjB5anFHNE5ZPVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqUGxhbm5pbmcgS2lyaWdhbWkgUU1MIGludGVncmF0aW9uKipcIn0se1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlZlcmlmeWluZyBLaXJpZ2FtaSBtb2R1bGUgcHJlc2VuY2UqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfaHdJUGsyblA5VXZ4aGlmU2VvazRibjZsfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NmQ5MGIxYzgxOTE5MWQxMDdiMDY0NGExZGQ4IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImZpbmQgL3Vzci9saWI2NC9xdDYvcW1sIC91c3IvbGliL3F0Ni9xbWwgLW1heGRlcHRoIDUgLXR5cGUgZiAtcGF0aCAnKmtpcmlnYW1pKicgMj4vZGV2L251bGwgfCBoZWFkOyBjb21tYW5kIC12IHFtYWtlNiBxbWxsaW50NiBxbWxsaW50In19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo0MDYsIm91dHB1dCI6MzEyLCJjYWNoZVJlYWQiOjEzMTU4NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyMzgsInRvdGFsVG9rZW5zIjoxMzIzMDIsImNvc3QiOnsiaW5wdXQiOjAuMDAyMDMsIm91dHB1dCI6MC4wMDkzNiwiY2FjaGVSZWFkIjowLjA2NTc5MiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDc3MTgyfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg1NzYzNTM1NjYzLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTZkMDU1YjA4MTkxYWE5MDhjNDVjMGE3OGQyYyIsInJhd1N0b3BSZWFzb24iOiJjb21wbGV0ZWQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiOTc2MjBmZDUiLCJwYXJlbnRJZCI6IjY3MGQ4ZGE0IiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyNTo0Ni4xMjZaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2h3SVBrMm5QOVV2eGhpZlNlb2s0Ym42bHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTZkOTBiMWM4MTkxOTFkMTA3YjA2NDRhMWRkOCIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IihubyBvdXRwdXQpXG5cbkNvbW1hbmQgZXhpdGVkIHdpdGggY29kZSAxIn1dLCJkZXRhaWxzIjp7fSwiaXNFcnJvciI6dHJ1ZSwidGltZXN0YW1wIjoxNzg1NzYzNTQ2MTI2fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZDgyZDI1MjQiLCJwYXJlbnRJZCI6Ijk3NjIwZmQ1IiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyNTo1NS40OThaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkNvbmZpZ3VyaW5nIENYWC1RdCBidWlsZCBhbmQgUUJ5dGVBcnJheSBjb252ZXJzaW9uKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTZkYjdhYTA4MTkxODlmNDE5ZjdkMjA2ZTdiOFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFjSmJkcE1IVl9RamFydkJ4dEEtXzdITW5Ca0RCMEUzUlg1Rm5GWm14dWdoYVF5bEZuQTE1cFFvbGVtOVZfOUx5RldyRmkxaFJkZVAzMkpLWnFid2pvZ1pqRDVjMkF3cWNsZTYwR1A5ZTBvYlZQRlF4MXZDMEp4RjAzR2FOclhUR1FydXIxQU0zWUpnZTNxVEtENlUxUng0Rm5mTGpkVG1OeGtxMGRpakxSX2h1STNDS2kyelBYWVBleGRHOGU4RDVIcW5aUUMzU2tZbDk3V3RDYjQ4WDdSNFdjOGNuUVpjXzJNRXp1YzRTZnBYcHlaTllLNmliNjZSVklpaEJwMXpLU0hRRGpybHdPZXZWVmVWdmVKN1VlVFNCME5WSk5VcTRYNDBKQnUtemR5MVVya1B6dGpkTEhHSVNKNmlVdm9FSi1hLUxJa3VUR0gtWi1ZQnRCb0NCS0lZbDRJVzM0UW9QX0ZqNUdnWmFDRUxLWVppaVVySWdtRTV5NG9MZFVXZU1kWVhNY3VKUnpBRnNHSzdKS2t0T240MUx2ckZ6R0QwS3BHd05qSGNfQnNPZ29iRnp3bTBFVm91RU14T1JKRjNfamI1cW0zRWQzTGx0cHVJc2tjem5NcXpoQV9pUGF1VTM0Y29zQ1M2N01KWFdIeUV6OUxxUWJacXlXREN0Rk1FVncyN2k1NWFTMkNxVHdkUWFuUEpEY2IxeXJOSlRSQmcxbGtwZU5lWGpDT19NZl8zYUtPTm5TWGtNdXJzNW44SHZLZUFDZGtabFhUeFFrc3Z2YUdXei1MUzFRWjVGZlc3cUxCLXpTT19IT21SbjNRMTBvcTJIN2U3LXRNaGNtOUdCTDEzdk1iUDlKbl9XN0s1T0h5bmE2ejJVVW5qYXFBQ3ZKeHQxVHNOT1BWdC1IYVdPQzFJZ3V0TTg0cTFNT0NNRGk0d29pWDdxWHB4SzB4d2V1Wk9VT0tvZDNDS0FfeEl6RHlRNlZkS3FQRXdneVRYS3MzVktpWVNtaERaZkJLUG51a1Ntc2FKQzJrU2Z2c0dQM3o5WXcweFFnX3hpLUNrZVRqRUczRDhmajN3aGppOFdidlpUUGNLZmRyOU9ZRUx6eXBfTHFIN0ZVdjRIdmIzQUlEcmhuclpCWU5uYVpoQUNOR0JlWEFlclM1c2U4UEFEdzNWX1lPVDUyWUhQVXFVYXdTUUpkdVZqdThEdU1QQnRJeDNjMXZIUjhoeVk5M3VPY19RV1gtbWFlTUZSZjVXMlIzaGN0YTBaMEl5UzBIc01uUGw1a2lrUUNPSEw5c1BXX2FxZnJhcXgyZ0k2VmdCRnVzbFdrMGtHUUNTRXY2YXpoYWxQa25STkhIa1owTG15eTdDMDdvYThSMkt5aWhYaVNyZXBEbVhJME80ZHBacWRDTGpsTV9FMXJ3cW1hN2ZyZWZZY3A4cWxjR2ZsVkMyMnZmcnNTMDQ5c2ZNenc4Y0c5NjZyYnVnUG1sX0RhQ1ZmY0ZFMDAwajBDZUlRNmFfZHlfcHVsQ2E3T3FPMkRpczRQTV9ZMk5ZWm5lcjk5QkdKc0VaTFBpSnpDdFFOT0VNUnF1cXFWWVg2OXhZOGhJa2J0ekZFVDVJeUNpNVUyOHNJY3VVQi1JREZZU29LOVpCWEdqT0wzZk5RNXc9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqQ29uZmlndXJpbmcgQ1hYLVF0IGJ1aWxkIGFuZCBRQnl0ZUFycmF5IGNvbnZlcnNpb24qKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfMGg3YVQ2RTlYNVlkYVphTGpnQ05kRW01fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NmRkYzQwYzgxOTE5ZTllYWFmNWFhMmEzOWJiIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJnICdpbXBsIEZyb20nIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL2N4eC1xdC1saWItMC45LjEvc3JjL2NvcmUvcWJ5dGVhcnJheS5ycyB8IGhlYWQgLTIwOyByZyAnaW1wbCBEZWZhdWx0JyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9jeHgtcXQtbGliLTAuOS4xL3NyYy9jb3JlL3F1cmwucnMgfCBoZWFkIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo3MzgsIm91dHB1dCI6MTU5LCJjYWNoZVJlYWQiOjEzMTU4NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo3MCwidG90YWxUb2tlbnMiOjEzMjQ4MSwiY29zdCI6eyJpbnB1dCI6MC4wMDM2OSwib3V0cHV0IjowLjAwNDc3LCJjYWNoZVJlYWQiOjAuMDY1NzkyLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNzQyNTJ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjM1NDYxMjgsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NmRhNjczMDgxOTFiOTQ0NzQ3NjM2NGZmMjBkIiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJiNWFiMzc0NyIsInBhcmVudElkIjoiZDgyZDI1MjQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjI1OjU1LjUxMVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfMGg3YVQ2RTlYNVlkYVphTGpnQ05kRW01fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NmRkYzQwYzgxOTE5ZTllYWFmNWFhMmEzOWJiIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiaW1wbCBGcm9tPCZzdHI+IGZvciBRQnl0ZUFycmF5IHtcbmltcGwgRnJvbTwmU3RyaW5nPiBmb3IgUUJ5dGVBcnJheSB7XG5pbXBsIEZyb208Jlt1OF0+IGZvciBRQnl0ZUFycmF5IHtcbmltcGwgRnJvbTwmUUJ5dGVBcnJheT4gZm9yIFZlYzx1OD4ge1xuaW1wbCBGcm9tPCZieXRlczo6Qnl0ZXM+IGZvciBRQnl0ZUFycmF5IHtcbmltcGwgRnJvbTwmUUJ5dGVBcnJheT4gZm9yIGJ5dGVzOjpCeXRlcyB7XG5pbXBsIERlZmF1bHQgZm9yIFFVcmwge1xuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg1NzYzNTU1NTExfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZTA1ZGY5ZGEiLCJwYXJlbnRJZCI6ImI1YWIzNzQ3IiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyNjowNC42NjRaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlZlcmlmeWluZyBzdWNjZXNzZnVsIGJ1aWxkIGNvbXBsZXRpb24qKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NmU4NmQ3NDgxOTE4YTk2MzAzNzQ2MWMxOWQ2XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcWNKYnJWX1VCal9lZHFENS1sejhiM3VfTnBLTVVmM3hUMVdHVTNCSndJV2d6NHJlREh4UFdsZlF5VFRPdVp5bEZCcnNucGVwbXhRanVEc1ppaFZydTdRdzh5amctb0trdWNaYzFob0tFMV9ORnhzbVpmNWFMUk15MTJmdl9CeFVSaWxqOGpJVU4ybjlYY2ZaRXJmNjBfTjY1WVlMd21hMG5JeVlCeEZ2NW9zd0VLQ3QzNzJYdGpBSTZ4NXpIQ0tJLUZIVDBWWmczVWxpOVBxYjhFM1BfTnNQdzAwU3BGN3ZwUzl0bkVKTjVHNV92QWJoLVhDN09GMU82OWRaWV9wYS11Qm5nSTBaZFNkRHN4Rm5kWElJRzU4T09aVDhhUXRha1VacDdRRlhyeXQwbnhJaE1RRE54ZUliRTFHUm01QU1jai03VVdpMzNEZnpIU3d3OTJ3U2pRSmhRZXgyQWkwSFc4S0JoU01aY0M3bUs0WmtscW9LazBIVWFCMllZUHNmdlZwNE1yMzF0eF9pRzg1NlB3OGpUdDRmTFZTZ0NpYmxBSmdWWFl6eWlXVHhQcllVTzZiejZnRjhjV1ZhSEQzUmVjRlpCT2hVY2VOZm8xQXBLVkt6b2gxTTNCZU5fdXpqWXY5UUgxSWRacUU4eDk3MlVfQzdtSGE2WUVNQ2FWajJHVVBIaGw0VlNHVi1Vd2Y0YVBSX1E5aV9xT0M4MllXa1ExXzlXZUgyZlA1QmozOGRZTEwxaXY2d1dmeTZtVnJJaFBWdTNNT3pINHdqM09FYlhoS3gtem5CWTZmVVA4eHc0LWZXNXlXZnFKa3ZfRDg5XzdQbTB4S1FIQ3M4Z2w5S0FDQmkzZWhYZmd0aWRUZThzSU9Pb21WN1BfU0pETzc2WC1obmtkT2h6UmpFanQwOVZVQTN6MHlHWThhNF9XUHdnUWtQRi0xNF83UFRWZWxxMDUzNmxPSGlTMGtPYlpzV0lISFdFSnpwWGlqdUJhRWNCM2xCZW1lcVhkWFIwZ3M1eXk1d1U0em94eEhXZ1JxSzdzMmZiaEVWTXpPZHhKaEVwSWhNZzlCR3FQZ28wcGNtT2VTcUpQU05vTl80eWJhdUlleW9MRUd4VXNnZHh3MFRHYlVhTHRIT2tVaV9Gd0JFMWpPemk2WHh4T3UwaXJ5bzVRM0dseGtob0g4XzJwdWUyUVoxRG44MUU2NWh5aUwtcXdpQ1Q1dC1uUlJEZ0h6M2g4cmJMTmNZaVlLZDhuNjlneXBDS1FMVHdYS19JS3FHSzN3V0dcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlZlcmlmeWluZyBzdWNjZXNzZnVsIGJ1aWxkIGNvbXBsZXRpb24qKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfdTFUOFoxN0wybjN6UElOdlczSkk4bkRKfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NmViMjk0YzgxOTFhNWM5NzVkZmYwNjk1YzY1IiwibmFtZSI6IndyaXRlIiwiYXJndW1lbnRzIjp7InBhdGgiOiJjcmF0ZXMvZmxhc2hlci1xdC9DYXJnby50b21sIiwiY29udGVudCI6IltwYWNrYWdlXVxubmFtZSA9IFwiZmxhc2hlci1xdFwiXG52ZXJzaW9uID0gXCIwLjEuMFwiXG5lZGl0aW9uID0gXCIyMDI0XCJcbmRlc2NyaXB0aW9uID0gXCJBIFF0IDYvS0RFIEtpcmlnYW1pIGludGVyZmFjZSBmb3IgcHJlcGFyaW5nIEFMVCBMaW51eCBTQkMgaW1hZ2VzXCJcbmxpY2Vuc2UgPSBcIkdQTC0yLjAtb3ItbGF0ZXJcIlxuXG5bZGVwZW5kZW5jaWVzXVxuY3h4LXF0LWxpYiA9IHsgdmVyc2lvbiA9IFwiMC45LjFcIiwgZmVhdHVyZXMgPSBbXCJxdF9ndWlcIiwgXCJxdF9xbWxcIiwgXCJxdF9xdWlja2NvbnRyb2xzXCJdIH1cbnNlcmRlX2pzb24gPSBcIjFcIlxuIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo5NzksIm91dHB1dCI6MTUwLCJjYWNoZVJlYWQiOjEzMTU4NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo4LCJ0b3RhbFRva2VucyI6MTMyNzEzLCJjb3N0Ijp7ImlucHV0IjowLjAwNDg5NSwib3V0cHV0IjowLjAwNDUwMDAwMDAwMDAwMDAwMDUsImNhY2hlUmVhZCI6MC4wNjU3OTIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA3NTE4N319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2MzU1NTUxMywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2ZTQ1MzcwODE5MThlZjE3NWU2OTA2NzY0ZmQiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijk3YWViMGNiIiwicGFyZW50SWQiOiJlMDVkZjlkYSIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MjY6MDQuNjY3WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF91MVQ4WjE3TDJuM3pQSU52VzNKSThuREp8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2ZWIyOTRjODE5MWE1Yzk3NWRmZjA2OTVjNjUiLCJ0b29sTmFtZSI6IndyaXRlIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHdyb3RlIDI5NiBieXRlcyB0byBjcmF0ZXMvZmxhc2hlci1xdC9DYXJnby50b21sIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg1NzYzNTY0NjY3fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiODU0MDFjYWUiLCJwYXJlbnRJZCI6Ijk3YWViMGNiIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyNjoyMS45MThaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKldyaXRpbmcgbWFpbiBmdW5jdGlvbioqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2ZWVhOGM4ODE5MThiYTllOWNkZTkzNWU2Y2JcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxY0pidldzMC0wZDBJYnpjQi1uNklRVGJnVGFMV210MjVrMHVjMm1pZGFJMHpRU0R3eFhHblVwU3l6VVpuWVB2SXpveklCenVYeG52by1PaExnOUJ3S0s0VG45TWxpbG1yMzNWa3F0MG5IMFY5TWYzOGlrRHlzUUYydmJhUHN6S2NMTWRycUl2V0JFVnZlOXNQNGt2SDVHQ0txSU5leVRzRTV4b1ktcldXamlsbzl0SW00a1BNT2paRHFBQkxzSXhvQU93MVpJWkZEQUVFRFN3YXpLcmlpaGFmM2JaYUY4MmFqOWZLclpYZ3JsRmRwZ1A5QTl1ckl6Q0JoTVdVXzBJM1JsTWxWRXloX1pPMjJWbFdoc2xxMXRNV0VwempNMzdOeTZoQkVRSjJVOHp6d2ltc3FVRm9wQ1ZBSFlWXzNVLXduNmtfc3FGWThsZHhaYjdXbVBWeG1NaDdQU28xUm5vczdIXzJOQ19uVDBLaUJ5Y1VtWTVBdWZOLXhDNmhjSUtTMmljcnVucE9NdUMwUzB1d2ExUUZQbUdodG05LWd2cmdObHBQNThxSW9Ic1ZaSkEwV3NqSk40RkQwMEVueXFTc1F2eU45cEtwS05RV3E0OVNScjV0eUlZNWFBYlJ6N0dWVDhHRjA0d2puUVBWSzUwSWVTSTNlNGllc2dieWRFSTFjVWc3aElkX1VLT1h6MGhnSExJMGJtbG5RdTlCSko2ZWNuQktFR0JLRUFPQXJZMV8zc0FWNFp6T2NBVEFlMFZOR1pTUUJ0eUNCV3Bkc3R3ZUVqQ1o4M3VoMVZwTXdVYmYxVExWTWVyc0Q0TjdFYi1BajlsVEpZUTZSUEV5NGpMUTY1NlZsOUc4TFpmVmgySERkaU4xbm9Ld29HSmJRVno1aVZLRE04RHlZVWFrV0dlSXBjVk9VMVRMbmNyLXY0LWtKMklYRUF2NGdxai1SNXhJemxXQ3Nva2EyZDhrT0dFMGN4WDhDd1M4a2pVa3cwZ2w5MXZDV1hTLUlwTnI0Nmw4XzQtUnRrdGlzRkdIYmp4bGM3ZGN4N3hWVXhnZ2F2MG9tWjhZM015UlVFZmpuNXVCOTd2SUpVRmNYN09DeUdMd3FBUGxCX2ZNMTNVUEtEM1VHOGJWVFY4clZzZlhvYUpydGFRYUZXelpMTXFkcjZLRlJ1YlFUTjhjQlVtLThYUUlsMWJMTlJTc0NsQ3ktWkt0MkFsVmJYam1yb1dieXJTWFo3NDdFM19CaG1oSG44MD1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKldyaXRpbmcgbWFpbiBmdW5jdGlvbioqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9ib3B0NmpCVHN3NVhLbDBmakFHcUpsd0h8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2ZWY0ZDJjODE5MTljYjM3YWFhNDE5MmI4ZmYiLCJuYW1lIjoid3JpdGUiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L3NyYy9tYWluLnJzIiwiY29udGVudCI6InVzZSBjeHhfcXRfbGliOjp7UUJ5dGVBcnJheSwgUUd1aUFwcGxpY2F0aW9uLCBRUW1sQXBwbGljYXRpb25FbmdpbmUsIFFTdHJpbmcsIFFVcmx9O1xudXNlIHN0ZDo6ZnM7XG5cbmNvbnN0IEJPQVJEUzogJnN0ciA9IGluY2x1ZGVfc3RyIShcIi4uLy4uLy4uL2FsdC1yb290ZnMtaW5zdGFsbGVyL1NVUFBPUlRFRC1CT0FSRFNcIik7XG5jb25zdCBRTUw6ICZzdHIgPSBpbmNsdWRlX3N0ciEoXCIuLi9xbWwvTWFpbi5xbWxcIik7XG5cbmZuIG1haW4oKSB7XG4gICAgbGV0IG11dCBhcHAgPSBRR3VpQXBwbGljYXRpb246Om5ldygpO1xuICAgIGFwcC5waW5fbXV0KClcbiAgICAgICAgLnNldF9hcHBsaWNhdGlvbl9uYW1lKCZRU3RyaW5nOjpmcm9tKFwiQUxUIEltYWdlIFdyaXRlclwiKSk7XG4gICAgYXBwLnBpbl9tdXQoKVxuICAgICAgICAuc2V0X29yZ2FuaXphdGlvbl9uYW1lKCZRU3RyaW5nOjpmcm9tKFwiQUxUIExpbnV4XCIpKTtcbiAgICBhcHAucGluX211dCgpXG4gICAgICAgIC5zZXRfYXBwbGljYXRpb25fdmVyc2lvbigmUVN0cmluZzo6ZnJvbShlbnYhKFwiQ0FSR09fUEtHX1ZFUlNJT05cIikpKTtcblxuICAgIGxldCBib2FyZHMgPSBzZXJkZV9qc29uOjp0b19zdHJpbmcoQk9BUkRTKS5leHBlY3QoXCJzZXJpYWxpemUgc3VwcG9ydGVkIGJvYXJkc1wiKTtcbiAgICBsZXQgZHJpdmVzID0gc2VyZGVfanNvbjo6dG9fc3RyaW5nKCZhdmFpbGFibGVfZHJpdmVzKCkuam9pbihcIlxcblwiKSlcbiAgICAgICAgLmV4cGVjdChcInNlcmlhbGl6ZSBhdmFpbGFibGUgZHJpdmVzXCIpO1xuICAgIGxldCBxbWwgPSBRTUxcbiAgICAgICAgLnJlcGxhY2UoXCJAU1VQUE9SVEVEX0JPQVJEU0BcIiwgJmJvYXJkcylcbiAgICAgICAgLnJlcGxhY2UoXCJAQVZBSUxBQkxFX0RSSVZFU0BcIiwgJmRyaXZlcyk7XG5cbiAgICBsZXQgbXV0IGVuZ2luZSA9IFFRbWxBcHBsaWNhdGlvbkVuZ2luZTo6bmV3KCk7XG4gICAgZW5naW5lXG4gICAgICAgIC5waW5fbXV0KClcbiAgICAgICAgLmxvYWRfZGF0YSgmUUJ5dGVBcnJheTo6ZnJvbShxbWwuYXNfc3RyKCkpLCAmUVVybDo6ZGVmYXVsdCgpKTtcbiAgICBhcHAucGluX211dCgpLmV4ZWMoKTtcbn1cblxuZm4gYXZhaWxhYmxlX2RyaXZlcygpIC0+IFZlYzxTdHJpbmc+IHtcbiAgICBsZXQgbXV0IGRyaXZlcyA9IFZlYzo6bmV3KCk7XG4gICAgbGV0IE9rKGVudHJpZXMpID0gZnM6OnJlYWRfZGlyKFwiL3N5cy9ibG9ja1wiKSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGRyaXZlcztcbiAgICB9O1xuICAgIGZvciBlbnRyeSBpbiBlbnRyaWVzLmZsYXR0ZW4oKSB7XG4gICAgICAgIGxldCBuYW1lID0gZW50cnkuZmlsZV9uYW1lKCkudG9fc3RyaW5nX2xvc3N5KCkuaW50b19vd25lZCgpO1xuICAgICAgICBpZiBuYW1lLnN0YXJ0c193aXRoKFwibG9vcFwiKSB8fCBuYW1lLnN0YXJ0c193aXRoKFwicmFtXCIpIHx8IG5hbWUuc3RhcnRzX3dpdGgoXCJ6cmFtXCIpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGxldCByZW1vdmFibGUgPSBmczo6cmVhZF90b19zdHJpbmcoZW50cnkucGF0aCgpLmpvaW4oXCJyZW1vdmFibGVcIikpXG4gICAgICAgICAgICAubWFwKHx2YWx1ZXwgdmFsdWUudHJpbSgpID09IFwiMVwiKVxuICAgICAgICAgICAgLnVud3JhcF9vcihmYWxzZSk7XG4gICAgICAgIGlmICFyZW1vdmFibGUgJiYgIW5hbWUuc3RhcnRzX3dpdGgoXCJtbWNibGtcIikge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHNlY3RvcnMgPSBmczo6cmVhZF90b19zdHJpbmcoZW50cnkucGF0aCgpLmpvaW4oXCJzaXplXCIpKVxuICAgICAgICAgICAgLm9rKClcbiAgICAgICAgICAgIC5hbmRfdGhlbih8dmFsdWV8IHZhbHVlLnRyaW0oKS5wYXJzZTo6PHU2ND4oKS5vaygpKVxuICAgICAgICAgICAgLnVud3JhcF9vcigwKTtcbiAgICAgICAgbGV0IG1vZGVsID0gZnM6OnJlYWRfdG9fc3RyaW5nKGVudHJ5LnBhdGgoKS5qb2luKFwiZGV2aWNlL21vZGVsXCIpKVxuICAgICAgICAgICAgLnVud3JhcF9vcl9kZWZhdWx0KClcbiAgICAgICAgICAgIC50cmltKClcbiAgICAgICAgICAgIC50b19vd25lZCgpO1xuICAgICAgICBsZXQgZGVzY3JpcHRpb24gPSBpZiBtb2RlbC5pc19lbXB0eSgpIHtcbiAgICAgICAgICAgIGZvcm1hdCEoXCIvZGV2L3tuYW1lfVwiKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbW9kZWxcbiAgICAgICAgfTtcbiAgICAgICAgZHJpdmVzLnB1c2goZm9ybWF0IShcbiAgICAgICAgICAgIFwie2Rlc2NyaXB0aW9ufSAgwrcgIHt9ICDCtyAgL2Rldi97bmFtZX1cIixcbiAgICAgICAgICAgIGZvcm1hdF9zaXplKHNlY3RvcnMuc2F0dXJhdGluZ19tdWwoNTEyKSlcbiAgICAgICAgKSk7XG4gICAgfVxuICAgIGRyaXZlcy5zb3J0KCk7XG4gICAgZHJpdmVzXG59XG5cbmZuIGZvcm1hdF9zaXplKGJ5dGVzOiB1NjQpIC0+IFN0cmluZyB7XG4gICAgY29uc3QgR0lCOiBmNjQgPSAxMDI0LjAgKiAxMDI0LjAgKiAxMDI0LjA7XG4gICAgY29uc3QgTUlCOiBmNjQgPSAxMDI0LjAgKiAxMDI0LjA7XG4gICAgaWYgYnl0ZXMgYXMgZjY0ID49IEdJQiB7XG4gICAgICAgIGZvcm1hdCEoXCJ7Oi4xfSBHQlwiLCBieXRlcyBhcyBmNjQgLyBHSUIpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgZm9ybWF0IShcIns6LjB9IE1CXCIsIGJ5dGVzIGFzIGY2NCAvIE1JQilcbiAgICB9XG59XG4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjExNTQsIm91dHB1dCI6ODQwLCJjYWNoZVJlYWQiOjEzMTU4NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo3LCJ0b3RhbFRva2VucyI6MTMzNTc4LCJjb3N0Ijp7ImlucHV0IjowLjAwNTc3MDAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAyNTIsImNhY2hlUmVhZCI6MC4wNjU3OTIsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA5Njc2Mn19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2MzU2NDY2OSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2ZWQxYmM4ODE5MWIyZTdhOWIwMmMxM2Q1MzgiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6Ijk4M2FlMDljIiwicGFyZW50SWQiOiI4NTQwMWNhZSIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MjY6MjEuOTIxWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9ib3B0NmpCVHN3NVhLbDBmakFHcUpsd0h8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk2ZWY0ZDJjODE5MTljYjM3YWFhNDE5MmI4ZmYiLCJ0b29sTmFtZSI6IndyaXRlIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHdyb3RlIDI1OTEgYnl0ZXMgdG8gY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnMifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODU3NjM1ODE5MjF9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIyM2ZlOTBjYiIsInBhcmVudElkIjoiOTgzYWUwOWMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjI3OjM3LjM3N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqUGxhbm5pbmcgS2lyaWdhbWktYmFzZWQgUU1MIHJld3JpdGUqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NmZmNmNlNDgxOTE5YjA4Y2IxMjFhMmU5NmQzXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcWNKY0ZkTXBRR2hMV1N1MGU2Q3ZDMkVJSDZEQXluQktYRk1LMjg4RllsbjBPOF9HT0Y5ODdrUWMwMWJZMVI4d2w3QnZyM294QnJhdjk4X3JYRzVPVjRWekVuU1FyZE9GYXk2dW1iSHpueGxwOVRPRmNwQUtfSFF1dnZxa1RDR1V4enFUaUhSU1hxY0xOcDdiU1JJU1FfZ0ZzZXdUdnZkbHpQb3ZhRU1GSGFZNm8wWXFBdXVQaFd2RHRBR2M0UmYwQV80Zy1DT0NTcDZZT3pHd3gyNGUtQXBCbVd3dXl1QzIxM1BESmNoTHE1Q012NFFEbm94MUdjV1BvRTFla1REejE3RjVjeFB2cEJjSjY5RjZoUklxdDByQ2FZUUNRVU9RaTFzNDQ5blh6bzdFV2pTcFJuLVN6eHBrWDRFWHdDejNmYVQ1c0NLemFwc01YNjNmeUwzdXR1RS16b0R6bjM4WFZHWEJwNVhjV1Q2dmtBVjU0cXlsenh4LTZnNFppMGJVckczSjFtVllkdU5kT0VISzNyemNJRlI3TnFRTmRmdVlXQzU0WXR3czVvMlExbU1adjQwV1NobGpLcVlyYlQ0Y0o2LWVKblBCU3JFZkluckNoWGN2WkJ3azI0WjBOVC1VNWxVV3JocDl5N1JNcVVabHJUTWdiS3JjbjNzbW5IazJxMUczWjZmZTd0VlVLclJXN3NuekFwXzhVZzRfLVR2Y1prRXo0Q1dGdV92bzI4QnJlNkExaUdEQ3VuTUdhZ0hmYW9MWnpLYVNGSVpneWhGbHVWdnpYVHR3RFVCelNKMGZIRHREaU9mUm9wV21XUzFqUmVfUTNPTDMyTkFsX0pFSDVfU04yblBHMmlmWm1ycTN6LUljdzhaWUt3dHdKblE3NFVkaUJkaWVWdmgtYWVocmRiLXk4OVRxSkZDc1JnYVA1NVo0VGQzenlfQTVXMFFuZkFXZUlnRGZJMFVFSHExc2pCZ1kyNDBZcS1ad3BkZlJ1RUJoTk90Y0dUNjdiTzVMUXVkRkxzVEJvbnA1aW1mRWxEYXVweUJvQVM4dmgweWdRNHRtd1dXM042MUxVR1cwS3A3cWZyYVJVdS1NLWZwdjNXWmpYZDY3ejc4VHZOb0xUb1RoTkdnbDhYZG5FT1FIbW0xbE43N3FOaE1WdjBWZGczQUlrS05ybTRCV0x4ZEJKY2J3eVdjc2NkVVVmV2JwUzkwWTMyaDhncjE2VE1HYk1qR0J6d3JYa0thZ1pScHdLRWZOS2Q0R0lJZ2xQS1BCVWpsb3cwek1INEt4Wk9YSTZjUjR6Z082LTNGMHhXc01lb2hOa3hodmtsbzF4QVJwR1JiVWsxTjhWWEtPRF9FVHBsamZJTE5yWVF6Y3ZMb0xqc2V3ZDRNSE9rYWJLSktvVlVqdkg4Y2g5SWZxRU9lcTBKeHZXZ3FONkE2VG0zelp1b2Joa2tYcEoyUXVubEVVV0dhYVBJdHBCWUJmUlM0eTVGNzlBLWx4NktQbXExV1YwYVdFN0VsVXBPWlZlVTVlNm02ZGZVc1dqSzVZeUJNbXQ5cGdaVHFhNFBzajI2TUpkVVY5cVU2cEROUEZVU1ZSa2hDT2FzcGdNakswNXVTUHlaMjZfQ0JBWXBtNUdNRGJuTWxMU01PR1pTU3FsVjV0YVFZWTdxQTBqYlJNaEx0eThZeXFHckdnQi1nNkd0c18yd3JkQjJqVG1yQVJIQmtzTTZQUklIWWtWRkhNcGxtUU1rcWljZ1FHVlh3SzVycnktbk9ZMDBpb3V5WGZtOGlhdVNvZXpYMVl6OHRZM1RRbW1yZU1YOENvRjFkMWxvQTRGc3BYQXE1THEtQUNIY2h3VWo2WXd5eU9WemZNODl4aGk3TjgzLTFVSGtkZzZwbVJIQVV2Qi1vUkZfSngxbFRkSFJSQlEteFY3Qmg3WEczR0NvNVNLYWdoUmpFSGJCb3AwZER0cm9UNWVMRXZKcHJTOEhfZHo2MGhWNmpjZEVlQkVGS0J0cTV2Q1ZWX0trTXBCZmhBWm1meXZnS2gwRWhVNDNSQllNUk0zT1NJdHY2bE5qU2ZabUtyekRjdU5YTllWaklZaGxORUIwZlRyU19WMm14dHlCZjYxS25INXhnc29rOGpiM2tQa3o1MUtudGY3Z3R4WWR1djZla0xOWnVpemRDSHloYnhXX1JoeGFlZTIzNUVvYmNqYUxuOTg0WUpTQzAzdEllTmtuM3ZWU1Z5Z1c2azNzdjVyNHFobG1SWWlKamF1VFJvQTJHQ3JnQ2MtbFZ4WXhfcUxGSjEtSTFXMTBlZ1FpU3NLclJIOTIyRld6eVJJS3hCSlBBc3hPN0ZLM0ZZM3VfbHN2WGZ4MUliMkREN2pGSjUzNVhMNU9lWGpZV1NIaWFJck9LTmV4MDZ0UHd6UGNDdHJmeFVvTU9yT1N0VDQ4T2JYMHlFY3QydmVoRmF1RHhGSVl2MVVCTFAzRldrSG1oR3B0WExEaml1SlFoMWNmNk1HN3k1MFo2Q1BBMGxCUGpMSGRGcWVGNEJDVkdJTFEySlZad1MwVkNpNmJmMmRaSldKeVJVRkdoMW9OOFY3UUp2azExQmNYSzdIakJ5TGFGMFc1b2NqZnhJeGRLeWNleUhaYkNhdFNCSHBta201XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBLaXJpZ2FtaS1iYXNlZCBRTUwgcmV3cml0ZSoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF96RGFiM1RvTmxQM2lEQ1dBemxDTXpuRmF8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk3MDU3ODgwODE5MTg3NjZmZTRlMzgxNDE0OWEiLCJuYW1lIjoid3JpdGUiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L3FtbC9NYWluLnFtbCIsImNvbnRlbnQiOiJpbXBvcnQgUXRRdWlja1xuaW1wb3J0IFF0UXVpY2suQ29udHJvbHMgYXMgQ29udHJvbHNcbmltcG9ydCBRdFF1aWNrLkxheW91dHNcbmltcG9ydCBRdFF1aWNrLkRpYWxvZ3NcbmltcG9ydCBvcmcua2RlLmtpcmlnYW1pIGFzIEtpcmlnYW1pXG5cbktpcmlnYW1pLkFwcGxpY2F0aW9uV2luZG93IHtcbiAgICBpZDogcm9vdFxuICAgIHZpc2libGU6IHRydWVcbiAgICB3aWR0aDogNzYwXG4gICAgaGVpZ2h0OiA4MjBcbiAgICBtaW5pbXVtV2lkdGg6IDYwMFxuICAgIG1pbmltdW1IZWlnaHQ6IDU4MFxuICAgIHRpdGxlOiBxc1RyKFwiQUxUIEltYWdlIFdyaXRlclwiKVxuXG4gICAgcmVhZG9ubHkgcHJvcGVydHkgc3RyaW5nIHN1cHBvcnRlZEJvYXJkc1RleHQ6IEBTVVBQT1JURURfQk9BUkRTQFxuICAgIHJlYWRvbmx5IHByb3BlcnR5IHN0cmluZyBhdmFpbGFibGVEcml2ZXNUZXh0OiBAQVZBSUxBQkxFX0RSSVZFU0BcbiAgICBwcm9wZXJ0eSBib29sIHNvdXJjZUlzSW1hZ2U6IGZhbHNlXG4gICAgcHJvcGVydHkgYm9vbCBvdXRwdXRJc0ZpbGU6IGZhbHNlXG4gICAgcHJvcGVydHkgc3RyaW5nIHNvdXJjZVBhdGg6IFwiXCJcbiAgICBwcm9wZXJ0eSBzdHJpbmcgb3V0cHV0UGF0aDogXCJcIlxuICAgIHByb3BlcnR5IHN0cmluZyBzZWxlY3RlZEJvYXJkOiBcIlwiXG4gICAgcHJvcGVydHkgc3RyaW5nIHNlbGVjdGVkUGxhdGZvcm06IFwiXCJcbiAgICBwcm9wZXJ0eSB2YXIgZHJpdmVOYW1lczogYXZhaWxhYmxlRHJpdmVzVGV4dC5sZW5ndGggPyBhdmFpbGFibGVEcml2ZXNUZXh0LnNwbGl0KFwiXFxuXCIpIDogW11cblxuICAgIGZ1bmN0aW9uIGxvY2FsUGF0aCh1cmwpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gdXJsLnRvU3RyaW5nKClcbiAgICAgICAgcmV0dXJuIHZhbHVlLnN0YXJ0c1dpdGgoXCJmaWxlOi8vXCIpID8gZGVjb2RlVVJJQ29tcG9uZW50KHZhbHVlLnN1YnN0cmluZyg3KSkgOiB2YWx1ZVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGZpbGVOYW1lKHBhdGgpIHtcbiAgICAgICAgdmFyIHBhcnRzID0gcGF0aC5zcGxpdChcIi9cIilcbiAgICAgICAgcmV0dXJuIHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcmVhZHkoKSB7XG4gICAgICAgIHJldHVybiBzb3VyY2VQYXRoLmxlbmd0aCA+IDAgJiYgc2VsZWN0ZWRCb2FyZC5sZW5ndGggPiAwXG4gICAgICAgICAgICAmJiAob3V0cHV0SXNGaWxlID8gb3V0cHV0UGF0aC5sZW5ndGggPiAwIDogZHJpdmVCb3guY3VycmVudEluZGV4ID49IDAgJiYgZHJpdmVOYW1lcy5sZW5ndGggPiAwKVxuICAgIH1cblxuICAgIGdsb2JhbERyYXdlcjogS2lyaWdhbWkuR2xvYmFsRHJhd2VyIHtcbiAgICAgICAgaXNNZW51OiB0cnVlXG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIEtpcmlnYW1pLkFjdGlvbiB7XG4gICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIkFib3V0IEFMVCBJbWFnZSBXcml0ZXJcIilcbiAgICAgICAgICAgICAgICBpY29uLm5hbWU6IFwiaGVscC1hYm91dFwiXG4gICAgICAgICAgICAgICAgb25UcmlnZ2VyZWQ6IGFib3V0RGlhbG9nLm9wZW4oKVxuICAgICAgICAgICAgfVxuICAgICAgICBdXG4gICAgfVxuXG4gICAgcGFnZVN0YWNrLmluaXRpYWxQYWdlOiBLaXJpZ2FtaS5TY3JvbGxhYmxlUGFnZSB7XG4gICAgICAgIHRpdGxlOiBxc1RyKFwiQ3JlYXRlIEluc3RhbGxhdGlvbiBNZWRpYVwiKVxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICBLaXJpZ2FtaS5BY3Rpb24ge1xuICAgICAgICAgICAgICAgIHRleHQ6IHFzVHIoXCJBYm91dFwiKVxuICAgICAgICAgICAgICAgIGljb24ubmFtZTogXCJoZWxwLWFib3V0XCJcbiAgICAgICAgICAgICAgICBkaXNwbGF5SGludDogS2lyaWdhbWkuRGlzcGxheUhpbnQuSWNvbk9ubHlcbiAgICAgICAgICAgICAgICBvblRyaWdnZXJlZDogYWJvdXREaWFsb2cub3BlbigpXG4gICAgICAgICAgICB9XG4gICAgICAgIF1cblxuICAgICAgICBDb2x1bW5MYXlvdXQge1xuICAgICAgICAgICAgd2lkdGg6IE1hdGgubWluKHBhcmVudC53aWR0aCwgS2lyaWdhbWkuVW5pdHMuZ3JpZFVuaXQgKiA0MilcbiAgICAgICAgICAgIGFuY2hvcnMuaG9yaXpvbnRhbENlbnRlcjogcGFyZW50Lmhvcml6b250YWxDZW50ZXJcbiAgICAgICAgICAgIHNwYWNpbmc6IEtpcmlnYW1pLlVuaXRzLmxhcmdlU3BhY2luZ1xuXG4gICAgICAgICAgICBDb250cm9scy5MYWJlbCB7XG4gICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIlByZXBhcmUgYW4gQUxUIExpbnV4IHJvb3QgZmlsZXN5c3RlbSBvciBkaXNrIGltYWdlIGZvciB5b3VyIGJvYXJkLlwiKVxuICAgICAgICAgICAgICAgIGNvbG9yOiBLaXJpZ2FtaS5UaGVtZS5kaXNhYmxlZFRleHRDb2xvclxuICAgICAgICAgICAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6IFRleHQuQWxpZ25IQ2VudGVyXG4gICAgICAgICAgICAgICAgd3JhcE1vZGU6IFRleHQuV29yZFdyYXBcbiAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEtpcmlnYW1pLkFic3RyYWN0Q2FyZCB7XG4gICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxXaWR0aDogdHJ1ZVxuICAgICAgICAgICAgICAgIGNvbnRlbnRJdGVtOiBDb2x1bW5MYXlvdXQge1xuICAgICAgICAgICAgICAgICAgICBzcGFjaW5nOiBLaXJpZ2FtaS5Vbml0cy5zbWFsbFNwYWNpbmdcbiAgICAgICAgICAgICAgICAgICAgS2lyaWdhbWkuSGVhZGluZyB7IHRleHQ6IHFzVHIoXCJJbnN0YWxsYXRpb24gU291cmNlXCIpOyBsZXZlbDogMyB9XG4gICAgICAgICAgICAgICAgICAgIENvbnRyb2xzLkxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHFzVHIoXCJDaG9vc2UgYSByb290IGZpbGVzeXN0ZW0gYXJjaGl2ZSBvciBhIHJlYWR5LW1hZGUgZGlzayBpbWFnZS5cIilcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBLaXJpZ2FtaS5UaGVtZS5kaXNhYmxlZFRleHRDb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgd3JhcE1vZGU6IFRleHQuV29yZFdyYXBcbiAgICAgICAgICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBLaXJpZ2FtaS5Gb3JtTGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIFJvd0xheW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgS2lyaWdhbWkuRm9ybURhdGEubGFiZWw6IHFzVHIoXCJTb3VyY2UgdHlwZTpcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250cm9scy5SYWRpb0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHFzVHIoXCJSb290IGZpbGVzeXN0ZW1cIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoZWNrZWRDaGFuZ2VkOiBpZiAoY2hlY2tlZCkgc291cmNlSXNJbWFnZSA9IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xzLlJhZGlvQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIkRpc2sgaW1hZ2VcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGVja2VkQ2hhbmdlZDogaWYgKGNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUlzSW1hZ2UgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZU91dHB1dC5jaGVja2VkID0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgUm93TGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBLaXJpZ2FtaS5Gb3JtRGF0YS5sYWJlbDogcXNUcihcIlNvdXJjZTpcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250cm9scy5MYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHNvdXJjZVBhdGgubGVuZ3RoID8gZmlsZU5hbWUoc291cmNlUGF0aCkgOiBxc1RyKFwiTm8gc291cmNlIHNlbGVjdGVkXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsaWRlOiBUZXh0LkVsaWRlTWlkZGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udHJvbHMuQnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIkNob29zZeKAplwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uLm5hbWU6IFwiZG9jdW1lbnQtb3BlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tlZDogc291cmNlRGlhbG9nLm9wZW4oKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBDb250cm9scy5MYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBzb3VyY2VQYXRoLmxlbmd0aCA/IHNvdXJjZVBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHNvdXJjZUlzSW1hZ2UgPyBxc1RyKFwiU3VwcG9ydGVkOiAuaW1nLCAuaW1nLnh6XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcXNUcihcIlN1cHBvcnRlZDogLnRhciwgLnRhci5neiwgLnRhci54elwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEtpcmlnYW1pLlRoZW1lLmRpc2FibGVkVGV4dENvbG9yXG4gICAgICAgICAgICAgICAgICAgICAgICBlbGlkZTogVGV4dC5FbGlkZU1pZGRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxXaWR0aDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBLaXJpZ2FtaS5BYnN0cmFjdENhcmQge1xuICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICBjb250ZW50SXRlbTogQ29sdW1uTGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgS2lyaWdhbWkuSGVhZGluZyB7IHRleHQ6IHFzVHIoXCJUYXJnZXQgSGFyZHdhcmVcIik7IGxldmVsOiAzIH1cbiAgICAgICAgICAgICAgICAgICAgQ29udHJvbHMuTGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIkJvYXJkcyBhcmUgZ3JvdXBlZCBieSBwbGF0Zm9ybSwgU29DIGZhbWlseSwgYW5kIGFyY2hpdGVjdHVyZS5cIilcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBLaXJpZ2FtaS5UaGVtZS5kaXNhYmxlZFRleHRDb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgd3JhcE1vZGU6IFRleHQuV29yZFdyYXBcbiAgICAgICAgICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBSb3dMYXlvdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxXaWR0aDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgS2lyaWdhbWkuSWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiBcImNvbXB1dGVyLXN5bWJvbGljXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBsaWNpdFdpZHRoOiBLaXJpZ2FtaS5Vbml0cy5pY29uU2l6ZXMubWVkaXVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wbGljaXRIZWlnaHQ6IGltcGxpY2l0V2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIENvbHVtbkxheW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhY2luZzogMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250cm9scy5MYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHNlbGVjdGVkQm9hcmQubGVuZ3RoID8gc2VsZWN0ZWRCb2FyZCA6IHFzVHIoXCJObyBib2FyZCBzZWxlY3RlZFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LmJvbGQ6IHNlbGVjdGVkQm9hcmQubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250cm9scy5MYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHNlbGVjdGVkQm9hcmQubGVuZ3RoID8gc2VsZWN0ZWRQbGF0Zm9ybSA6IHFzVHIoXCJDaG9vc2UgYSBzdXBwb3J0ZWQgdGFyZ2V0IGJvYXJkXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBLaXJpZ2FtaS5UaGVtZS5kaXNhYmxlZFRleHRDb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xzLkJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIlNlbGVjdCBCb2FyZOKAplwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tlZDogYm9hcmREaWFsb2cub3BlbigpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEtpcmlnYW1pLkFic3RyYWN0Q2FyZCB7XG4gICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxXaWR0aDogdHJ1ZVxuICAgICAgICAgICAgICAgIGNvbnRlbnRJdGVtOiBDb2x1bW5MYXlvdXQge1xuICAgICAgICAgICAgICAgICAgICBLaXJpZ2FtaS5IZWFkaW5nIHsgdGV4dDogcXNUcihcIkRlc3RpbmF0aW9uXCIpOyBsZXZlbDogMyB9XG4gICAgICAgICAgICAgICAgICAgIENvbnRyb2xzLkxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHFzVHIoXCJXcml0ZSB0byByZW1vdmFibGUgbWVkaWEgb3IgY3JlYXRlIGFuIGltYWdlIGZpbGUuXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogS2lyaWdhbWkuVGhlbWUuZGlzYWJsZWRUZXh0Q29sb3JcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBLaXJpZ2FtaS5Gb3JtTGF5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIFJvd0xheW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgS2lyaWdhbWkuRm9ybURhdGEubGFiZWw6IHFzVHIoXCJPdXRwdXQgdHlwZTpcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250cm9scy5SYWRpb0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBkcml2ZU91dHB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBxc1RyKFwiRHJpdmVcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoZWNrZWRDaGFuZ2VkOiBpZiAoY2hlY2tlZCkgb3V0cHV0SXNGaWxlID0gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udHJvbHMuUmFkaW9CdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBxc1RyKFwiSW1hZ2UgZmlsZVwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVkOiAhc291cmNlSXNJbWFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoZWNrZWRDaGFuZ2VkOiBpZiAoY2hlY2tlZCkgb3V0cHV0SXNGaWxlID0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xzLkNvbWJvQm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogZHJpdmVCb3hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiAhb3V0cHV0SXNGaWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgS2lyaWdhbWkuRm9ybURhdGEubGFiZWw6IHFzVHIoXCJTdG9yYWdlIGRldmljZTpcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IGRyaXZlTmFtZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VGV4dDogY3VycmVudEluZGV4IDwgMCB8fCBkcml2ZU5hbWVzLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHFzVHIoXCJObyByZW1vdmFibGUgZHJpdmVzIGRldGVjdGVkXCIpIDogY3VycmVudFRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVkOiBkcml2ZU5hbWVzLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFJvd0xheW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogb3V0cHV0SXNGaWxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgS2lyaWdhbWkuRm9ybURhdGEubGFiZWw6IHFzVHIoXCJJbWFnZSBmaWxlOlwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xzLkxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogb3V0cHV0UGF0aC5sZW5ndGggPyBvdXRwdXRQYXRoIDogcXNUcihcIkNob29zZSB3aGVyZSB0byBzYXZlIHRoZSBpbWFnZVwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGlkZTogVGV4dC5FbGlkZU1pZGRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xzLkJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHFzVHIoXCJDaG9vc2XigKZcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbi5uYW1lOiBcImRvY3VtZW50LXNhdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrZWQ6IG91dHB1dERpYWxvZy5vcGVuKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEtpcmlnYW1pLkFic3RyYWN0Q2FyZCB7XG4gICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxXaWR0aDogdHJ1ZVxuICAgICAgICAgICAgICAgIGNvbnRlbnRJdGVtOiBDb2x1bW5MYXlvdXQge1xuICAgICAgICAgICAgICAgICAgICBLaXJpZ2FtaS5IZWFkaW5nIHsgdGV4dDogcXNUcihcIk9wdGlvbnNcIik7IGxldmVsOiAzIH1cbiAgICAgICAgICAgICAgICAgICAgS2lyaWdhbWkuRm9ybUxheW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICBDb250cm9scy5Db21ib0JveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgS2lyaWdhbWkuRm9ybURhdGEubGFiZWw6IHFzVHIoXCJSb290IGZpbGVzeXN0ZW06XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IFtcImV4dDRcIiwgXCJmMmZzXCJdXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBDb250cm9scy5DaGVja0JveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgS2lyaWdhbWkuRm9ybURhdGEubGFiZWw6IHFzVHIoXCJSZXNpemUgcm9vdCBwYXJ0aXRpb246XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIkdyb3cgdG8gZmlsbCB0aGUgZGVzdGluYXRpb25cIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBDb250cm9scy5DaGVja0JveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgS2lyaWdhbWkuRm9ybURhdGEubGFiZWw6IHFzVHIoXCJCb290IHBhcnRpdGlvbjpcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBxc1RyKFwiQ3JlYXRlIGEgc2VwYXJhdGUgNTEyIE1pQiBwYXJ0aXRpb25cIilcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xzLkNoZWNrQm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBLaXJpZ2FtaS5Gb3JtRGF0YS5sYWJlbDogcXNUcihcIkVuY3J5cHRpb246XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIkVuY3J5cHQgcm9vdCBwYXJ0aXRpb24gd2l0aCBMVUtTXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBDb250cm9scy5DaGVja0JveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgS2lyaWdhbWkuRm9ybURhdGEubGFiZWw6IHFzVHIoXCJTZXJpYWwgY29uc29sZTpcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBxc1RyKFwiQWRkIHRvIGJvb3QgYXJndW1lbnRzXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBDb250cm9scy5Db21ib0JveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgS2lyaWdhbWkuRm9ybURhdGEubGFiZWw6IHFzVHIoXCJFRkkgc3lzdGVtIHBhcnRpdGlvbjpcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDogW3FzVHIoXCJOb25lXCIpLCBxc1RyKFwiRUZJIChHUFQpXCIpLCBxc1RyKFwiRUZJIChNQlIpXCIpXVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQ29udHJvbHMuQ29tYm9Cb3gge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtpcmlnYW1pLkZvcm1EYXRhLmxhYmVsOiBxc1RyKFwiRmlyc3QtYm9vdCBWTkM6XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IFtxc1RyKFwiVXNlIGltYWdlIGRlZmF1bHRcIiksIHFzVHIoXCJFbmFibGVkXCIpLCBxc1RyKFwiRGlzYWJsZWRcIildXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEtpcmlnYW1pLklubGluZU1lc3NhZ2Uge1xuICAgICAgICAgICAgICAgIGlkOiBwcmV2aWV3TWVzc2FnZVxuICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICB0eXBlOiBLaXJpZ2FtaS5NZXNzYWdlVHlwZS5JbmZvcm1hdGlvblxuICAgICAgICAgICAgICAgIHRleHQ6IHFzVHIoXCJGbGFzaGluZyBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBpbnRlcmZhY2UgcHJldmlldy5cIilcbiAgICAgICAgICAgICAgICBzaG93Q2xvc2VCdXR0b246IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvb3RlcjogQ29udHJvbHMuVG9vbEJhciB7XG4gICAgICAgIGNvbnRlbnRJdGVtOiBSb3dMYXlvdXQge1xuICAgICAgICAgICAgQ29udHJvbHMuTGFiZWwge1xuICAgICAgICAgICAgICAgIHRleHQ6IHFzVHIoXCJOb3RoaW5nIHdpbGwgYmUgd3JpdHRlbiB1bnRpbCB5b3UgY29uZmlybS5cIilcbiAgICAgICAgICAgICAgICBjb2xvcjogS2lyaWdhbWkuVGhlbWUuZGlzYWJsZWRUZXh0Q29sb3JcbiAgICAgICAgICAgICAgICBMYXlvdXQubGVmdE1hcmdpbjogS2lyaWdhbWkuVW5pdHMubGFyZ2VTcGFjaW5nXG4gICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxXaWR0aDogdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQ29udHJvbHMuQnV0dG9uIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBxc1RyKFwiUmV2aWV3IGFuZCBXcml0ZVwiKVxuICAgICAgICAgICAgICAgIGljb24ubmFtZTogXCJtZWRpYS1mbGFzaC1zZC1tbWNcIlxuICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkOiB0cnVlXG4gICAgICAgICAgICAgICAgZW5hYmxlZDogcm9vdC5yZWFkeSgpXG4gICAgICAgICAgICAgICAgTGF5b3V0LnJpZ2h0TWFyZ2luOiBLaXJpZ2FtaS5Vbml0cy5sYXJnZVNwYWNpbmdcbiAgICAgICAgICAgICAgICBvbkNsaWNrZWQ6IHJldmlld0RpYWxvZy5vcGVuKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIENvbnRyb2xzLkRpYWxvZyB7XG4gICAgICAgIGlkOiBib2FyZERpYWxvZ1xuICAgICAgICBwYXJlbnQ6IENvbnRyb2xzLk92ZXJsYXkub3ZlcmxheVxuICAgICAgICBhbmNob3JzLmNlbnRlckluOiBwYXJlbnRcbiAgICAgICAgd2lkdGg6IE1hdGgubWluKHJvb3Qud2lkdGggLSBLaXJpZ2FtaS5Vbml0cy5ncmlkVW5pdCAqIDIsIEtpcmlnYW1pLlVuaXRzLmdyaWRVbml0ICogMzQpXG4gICAgICAgIGhlaWdodDogTWF0aC5taW4ocm9vdC5oZWlnaHQgLSBLaXJpZ2FtaS5Vbml0cy5ncmlkVW5pdCAqIDQsIEtpcmlnYW1pLlVuaXRzLmdyaWRVbml0ICogMzQpXG4gICAgICAgIG1vZGFsOiB0cnVlXG4gICAgICAgIHRpdGxlOiBxc1RyKFwiU2VsZWN0IFRhcmdldCBCb2FyZFwiKVxuICAgICAgICBzdGFuZGFyZEJ1dHRvbnM6IENvbnRyb2xzLkRpYWxvZy5DYW5jZWxcblxuICAgICAgICBMaXN0TW9kZWwgeyBpZDogYWxsQm9hcmRzIH1cbiAgICAgICAgTGlzdE1vZGVsIHsgaWQ6IGZpbHRlcmVkQm9hcmRzIH1cblxuICAgICAgICBmdW5jdGlvbiBwb3B1bGF0ZSgpIHtcbiAgICAgICAgICAgIGlmIChhbGxCb2FyZHMuY291bnQgPiAwKSByZXR1cm5cbiAgICAgICAgICAgIHZhciBwbGF0Zm9ybSA9IFwiT3RoZXJcIlxuICAgICAgICAgICAgdmFyIGxpbmVzID0gc3VwcG9ydGVkQm9hcmRzVGV4dC5zcGxpdChcIlxcblwiKVxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgICAgIHZhciBsaW5lID0gbGluZXNbaV0udHJpbSgpXG4gICAgICAgICAgICAgICAgaWYgKCFsaW5lLmxlbmd0aCkgY29udGludWVcbiAgICAgICAgICAgICAgICBpZiAobGluZS5lbmRzV2l0aChcIjpcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgcGxhdGZvcm0gPSBsaW5lLnN1YnN0cmluZygwLCBsaW5lLmxlbmd0aCAtIDEpXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5hbWVzID0gbGluZS5zcGxpdCgvXFxzKy8pXG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbmFtZXMubGVuZ3RoOyArK2opXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGxCb2FyZHMuYXBwZW5kKHsgYm9hcmROYW1lOiBuYW1lc1tqXSwgcGxhdGZvcm1OYW1lOiBwbGF0Zm9ybSB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbHRlcihcIlwiKVxuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gZmlsdGVyKHF1ZXJ5KSB7XG4gICAgICAgICAgICBmaWx0ZXJlZEJvYXJkcy5jbGVhcigpXG4gICAgICAgICAgICB2YXIgbmVlZGxlID0gcXVlcnkudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhbGxCb2FyZHMuY291bnQ7ICsraSkge1xuICAgICAgICAgICAgICAgIHZhciBpdGVtID0gYWxsQm9hcmRzLmdldChpKVxuICAgICAgICAgICAgICAgIGlmICghbmVlZGxlLmxlbmd0aCB8fCBpdGVtLmJvYXJkTmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG5lZWRsZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IGl0ZW0ucGxhdGZvcm1OYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobmVlZGxlKSlcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyZWRCb2FyZHMuYXBwZW5kKHsgYm9hcmROYW1lOiBpdGVtLmJvYXJkTmFtZSwgcGxhdGZvcm1OYW1lOiBpdGVtLnBsYXRmb3JtTmFtZSB9KVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgb25PcGVuZWQ6IHtcbiAgICAgICAgICAgIHBvcHVsYXRlKClcbiAgICAgICAgICAgIHNlYXJjaEZpZWxkLmZvcmNlQWN0aXZlRm9jdXMoKVxuICAgICAgICB9XG5cbiAgICAgICAgY29udGVudEl0ZW06IENvbHVtbkxheW91dCB7XG4gICAgICAgICAgICBDb250cm9scy5UZXh0RmllbGQge1xuICAgICAgICAgICAgICAgIGlkOiBzZWFyY2hGaWVsZFxuICAgICAgICAgICAgICAgIExheW91dC5maWxsV2lkdGg6IHRydWVcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlclRleHQ6IHFzVHIoXCJTZWFyY2ggYm9hcmRzIG9yIHBsYXRmb3Jtc+KAplwiKVxuICAgICAgICAgICAgICAgIG9uVGV4dENoYW5nZWQ6IGJvYXJkRGlhbG9nLmZpbHRlcih0ZXh0KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQ29udHJvbHMuTGFiZWwge1xuICAgICAgICAgICAgICAgIHRleHQ6IHFzVHIoXCIlMSBtYXRjaGluZyBib2FyZHNcIikuYXJnKGZpbHRlcmVkQm9hcmRzLmNvdW50KVxuICAgICAgICAgICAgICAgIGNvbG9yOiBLaXJpZ2FtaS5UaGVtZS5kaXNhYmxlZFRleHRDb2xvclxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgTGlzdFZpZXcge1xuICAgICAgICAgICAgICAgIGlkOiBib2FyZExpc3RcbiAgICAgICAgICAgICAgICBMYXlvdXQuZmlsbFdpZHRoOiB0cnVlXG4gICAgICAgICAgICAgICAgTGF5b3V0LmZpbGxIZWlnaHQ6IHRydWVcbiAgICAgICAgICAgICAgICBjbGlwOiB0cnVlXG4gICAgICAgICAgICAgICAgbW9kZWw6IGZpbHRlcmVkQm9hcmRzXG4gICAgICAgICAgICAgICAgc2VjdGlvbi5wcm9wZXJ0eTogXCJwbGF0Zm9ybU5hbWVcIlxuICAgICAgICAgICAgICAgIHNlY3Rpb24uY3JpdGVyaWE6IFZpZXdTZWN0aW9uLkZ1bGxTdHJpbmdcbiAgICAgICAgICAgICAgICBzZWN0aW9uLmRlbGVnYXRlOiBLaXJpZ2FtaS5MaXN0U2VjdGlvbkhlYWRlciB7IHRleHQ6IHNlY3Rpb24gfVxuICAgICAgICAgICAgICAgIGRlbGVnYXRlOiBDb250cm9scy5JdGVtRGVsZWdhdGUge1xuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZCBwcm9wZXJ0eSBzdHJpbmcgYm9hcmROYW1lXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkIHByb3BlcnR5IHN0cmluZyBwbGF0Zm9ybU5hbWVcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGJvYXJkTGlzdC53aWR0aFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBib2FyZE5hbWVcbiAgICAgICAgICAgICAgICAgICAgaWNvbi5uYW1lOiBcImNvbXB1dGVyLXN5bWJvbGljXCJcbiAgICAgICAgICAgICAgICAgICAgb25DbGlja2VkOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEJvYXJkID0gYm9hcmROYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFBsYXRmb3JtID0gcGxhdGZvcm1OYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICBib2FyZERpYWxvZy5jbG9zZSgpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQ29udHJvbHMuU2Nyb2xsQmFyLnZlcnRpY2FsOiBDb250cm9scy5TY3JvbGxCYXIge31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIENvbnRyb2xzLkRpYWxvZyB7XG4gICAgICAgIGlkOiByZXZpZXdEaWFsb2dcbiAgICAgICAgcGFyZW50OiBDb250cm9scy5PdmVybGF5Lm92ZXJsYXlcbiAgICAgICAgYW5jaG9ycy5jZW50ZXJJbjogcGFyZW50XG4gICAgICAgIG1vZGFsOiB0cnVlXG4gICAgICAgIHRpdGxlOiBxc1RyKFwiUmVhZHkgdG8gd3JpdGU/XCIpXG4gICAgICAgIHN0YW5kYXJkQnV0dG9uczogQ29udHJvbHMuRGlhbG9nLkNhbmNlbCB8IENvbnRyb2xzLkRpYWxvZy5Pa1xuICAgICAgICBvbkFjY2VwdGVkOiBwcmV2aWV3TWVzc2FnZS52aXNpYmxlID0gdHJ1ZVxuICAgICAgICBjb250ZW50SXRlbTogS2lyaWdhbWkuRm9ybUxheW91dCB7XG4gICAgICAgICAgICBDb250cm9scy5MYWJlbCB7IEtpcmlnYW1pLkZvcm1EYXRhLmxhYmVsOiBxc1RyKFwiQm9hcmQ6XCIpOyB0ZXh0OiBzZWxlY3RlZEJvYXJkIH1cbiAgICAgICAgICAgIENvbnRyb2xzLkxhYmVsIHsgS2lyaWdhbWkuRm9ybURhdGEubGFiZWw6IHFzVHIoXCJQbGF0Zm9ybTpcIik7IHRleHQ6IHNlbGVjdGVkUGxhdGZvcm0gfVxuICAgICAgICAgICAgQ29udHJvbHMuTGFiZWwge1xuICAgICAgICAgICAgICAgIEtpcmlnYW1pLkZvcm1EYXRhLmxhYmVsOiBxc1RyKFwiRGVzdGluYXRpb246XCIpXG4gICAgICAgICAgICAgICAgdGV4dDogb3V0cHV0SXNGaWxlID8gb3V0cHV0UGF0aCA6IGRyaXZlQm94LmN1cnJlbnRUZXh0XG4gICAgICAgICAgICAgICAgZWxpZGU6IFRleHQuRWxpZGVNaWRkbGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIENvbnRyb2xzLkxhYmVsIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBxc1RyKFwiVGhpcyBpcyBhbiBpbnRlcmZhY2UgcHJldmlldy4gTm8gZGF0YSB3aWxsIGJlIHdyaXR0ZW4uXCIpXG4gICAgICAgICAgICAgICAgY29sb3I6IEtpcmlnYW1pLlRoZW1lLmRpc2FibGVkVGV4dENvbG9yXG4gICAgICAgICAgICAgICAgd3JhcE1vZGU6IFRleHQuV29yZFdyYXBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIENvbnRyb2xzLkRpYWxvZyB7XG4gICAgICAgIGlkOiBhYm91dERpYWxvZ1xuICAgICAgICBwYXJlbnQ6IENvbnRyb2xzLk92ZXJsYXkub3ZlcmxheVxuICAgICAgICBhbmNob3JzLmNlbnRlckluOiBwYXJlbnRcbiAgICAgICAgbW9kYWw6IHRydWVcbiAgICAgICAgdGl0bGU6IHFzVHIoXCJBYm91dCBBTFQgSW1hZ2UgV3JpdGVyXCIpXG4gICAgICAgIHN0YW5kYXJkQnV0dG9uczogQ29udHJvbHMuRGlhbG9nLk9rXG4gICAgICAgIGNvbnRlbnRJdGVtOiBDb2x1bW5MYXlvdXQge1xuICAgICAgICAgICAgS2lyaWdhbWkuSWNvbiB7XG4gICAgICAgICAgICAgICAgc291cmNlOiBcIm1lZGlhLWZsYXNoLXNkLW1tY1wiXG4gICAgICAgICAgICAgICAgaW1wbGljaXRXaWR0aDogS2lyaWdhbWkuVW5pdHMuaWNvblNpemVzLmh1Z2VcbiAgICAgICAgICAgICAgICBpbXBsaWNpdEhlaWdodDogaW1wbGljaXRXaWR0aFxuICAgICAgICAgICAgICAgIExheW91dC5hbGlnbm1lbnQ6IFF0LkFsaWduSENlbnRlclxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgS2lyaWdhbWkuSGVhZGluZyB7IHRleHQ6IHFzVHIoXCJBTFQgSW1hZ2UgV3JpdGVyXCIpOyBsZXZlbDogMjsgTGF5b3V0LmFsaWdubWVudDogUXQuQWxpZ25IQ2VudGVyIH1cbiAgICAgICAgICAgIENvbnRyb2xzLkxhYmVsIHsgdGV4dDogcXNUcihcIlZlcnNpb24gMC4xLjBcIik7IExheW91dC5hbGlnbm1lbnQ6IFF0LkFsaWduSENlbnRlciB9XG4gICAgICAgICAgICBDb250cm9scy5MYWJlbCB7XG4gICAgICAgICAgICAgICAgdGV4dDogcXNUcihcIlByZXBhcmUgQUxUIExpbnV4IGluc3RhbGxhdGlvbiBtZWRpYSBmb3Igc3VwcG9ydGVkIHNpbmdsZS1ib2FyZCBjb21wdXRlcnMuXCIpXG4gICAgICAgICAgICAgICAgd3JhcE1vZGU6IFRleHQuV29yZFdyYXBcbiAgICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ25tZW50OiBUZXh0LkFsaWduSENlbnRlclxuICAgICAgICAgICAgICAgIExheW91dC5wcmVmZXJyZWRXaWR0aDogS2lyaWdhbWkuVW5pdHMuZ3JpZFVuaXQgKiAyMlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgRmlsZURpYWxvZyB7XG4gICAgICAgIGlkOiBzb3VyY2VEaWFsb2dcbiAgICAgICAgdGl0bGU6IHFzVHIoXCJDaG9vc2UgSW5zdGFsbGF0aW9uIFNvdXJjZVwiKVxuICAgICAgICBmaWxlTW9kZTogRmlsZURpYWxvZy5PcGVuRmlsZVxuICAgICAgICBuYW1lRmlsdGVyczogc291cmNlSXNJbWFnZVxuICAgICAgICAgICAgPyBbcXNUcihcIkRpc2sgaW1hZ2VzICgqLmltZyAqLmltZy54eilcIiksIHFzVHIoXCJBbGwgZmlsZXMgKCopXCIpXVxuICAgICAgICAgICAgOiBbcXNUcihcIlJvb3QgZmlsZXN5c3RlbSBhcmNoaXZlcyAoKi50YXIgKi50YXIuZ3ogKi50YXIueHopXCIpLCBxc1RyKFwiQWxsIGZpbGVzICgqKVwiKV1cbiAgICAgICAgb25BY2NlcHRlZDogc291cmNlUGF0aCA9IGxvY2FsUGF0aChzZWxlY3RlZEZpbGUpXG4gICAgfVxuXG4gICAgRmlsZURpYWxvZyB7XG4gICAgICAgIGlkOiBvdXRwdXREaWFsb2dcbiAgICAgICAgdGl0bGU6IHFzVHIoXCJDcmVhdGUgRGlzayBJbWFnZVwiKVxuICAgICAgICBmaWxlTW9kZTogRmlsZURpYWxvZy5TYXZlRmlsZVxuICAgICAgICBkZWZhdWx0U3VmZml4OiBcImltZ1wiXG4gICAgICAgIG5hbWVGaWx0ZXJzOiBbcXNUcihcIlJhdyBkaXNrIGltYWdlcyAoKi5pbWcpXCIpLCBxc1RyKFwiQWxsIGZpbGVzICgqKVwiKV1cbiAgICAgICAgb25BY2NlcHRlZDogb3V0cHV0UGF0aCA9IGxvY2FsUGF0aChzZWxlY3RlZEZpbGUpXG4gICAgfVxufVxuIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo5OTUsIm91dHB1dCI6Mzk0NywiY2FjaGVSZWFkIjoxMzI2MDgsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTc1LCJ0b3RhbFRva2VucyI6MTM3NTUwLCJjb3N0Ijp7ImlucHV0IjowLjAwNDk3NSwib3V0cHV0IjowLjExODQxLCJjYWNoZVJlYWQiOjAuMDY2MzA0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4xODk2ODl9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjM1ODE5MjMsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NmZlMzg1MDgxOTFiMDYxZmMxZjFiZGRkMGIwIiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJkMmU2ZWJjMCIsInBhcmVudElkIjoiMjNmZTkwY2IiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjI3OjM3LjM4MFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfekRhYjNUb05sUDNpRENXQXpsQ016bkZhfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NzA1Nzg4MDgxOTE4NzY2ZmU0ZTM4MTQxNDlhIiwidG9vbE5hbWUiOiJ3cml0ZSIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSB3cm90ZSAxODI5MiBieXRlcyB0byBjcmF0ZXMvZmxhc2hlci1xdC9xbWwvTWFpbi5xbWwifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODU3NjM2NTczODB9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIwNGEzMmQ4YiIsInBhcmVudElkIjoiZDJlNmViYzAiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjI3OjQwLjU2MVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqUGxhbm5pbmcgcmVtb3ZhbCBvZiBDKysgYnVpbGQgc2NyaXB0KioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTc0YjBiZDQ4MTkxYTViNjJjMTYxMWY4YTMwY1wiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFjSmRNUGF2MEZ0ZUZ6eWd4bHg4WVAwcDlFRVpiWEpXd2luWnhteThkQ3pIREtDVnFFbWMzcTVlRUZwTVpXdjhmMmhOQlJRR2QyenREMkxhNkM4T0NfenlpOUNoZm1tWVlnNVdUdHEzbDRURUxGZ2IyWUlGNUZjOERyYW44MnlvQm5IZkxjX2k2RFkxU3hYZVFyY2hxUFdKM0Vpd2paT0daZVFPdVIwWFJxdjZNZDBDS1FXTzBQZXBXMXluN1IxS21zTGdkdnc2T2tWaS1CYzM1UThvaERmb0cxOVFabjVtU0dPb1JzN3d0RU1Xb3hsNXNPeXVtMS1VazFRd3hUZTU0c3JDQkpCcmVmUk9ndlNzR3ZjYVFpZ0RRNFNJXzdERmloMmx0MXJwNFFSWnA3Y1kyTjJzVnI5dWpkODNkMmdRdzRNTVpuZUJZZVE4cGtBaHVXSHctdThNenVrSGUtRktSTU9ISHhhekNFQmhmcFFXT0lKelpWU3diRnMwYmtjMFNIYVJOMUtoWk1hbEtzekF1ZG8yTnB0T05PUGVCUXdZUlNzcjhHR0dyYXdpbnp6cFZfYk9aTk9XUlBZb0xlMU43VkVqY2NBM3NOdW9zZWktZVRrQVE1VWZaMHE5NW15VzNiRldGR1pWMkhrdm1PTmI5VFpNZHFxTlVNTVBZNjFObzVBY1BfMjJsTTVWMTJEX1R0QTZ4bWtfc3FMUW9aSXdYWjJXX29yTU1ra0lMYWU1aUh5YmdTVmhJdk9JeFZYNTJNYzhnM2h0dzdQbUl5UzVPNHpUMk5PLThXaUk2RUVLaUZEZmprZllta2E5c2otUURBTlYzcXZ4UzNqa3FZU25hQ3lKeDRneU5CUFdNbkY2eXRleXpDeHF3SWFLbEk1WFI3OVNaLXl1blp3c1pwem1KcUYzQ1RFSmlkaW1OMFA0NWFiRkFEUFJVQmdnVEtJaHZSV05oUFFlc2hLbTRCVG9oXy1nTVY0VzAtWTduN3Rnam9qVGh4MVczMlFOOUo0MHVrUXFKVGx4UWpjOVFkdnJReTZYa3BRaXNkeGVweXJ0WWVJWHUzQmNVMWlRMEE0aXRrQ0VQbHZyc3g5UjFfQU1rMlJieWtOTDBPVHh1R2RFTHh6ZU1NX1pzYzJiYS1XeXlCeDZMY3RmU2NrdGNYdmRpUzh3U1cxTVhtQWlHOHZfUlJTb01qVFgtcmNEeDU5RzV0Y21DSUtkV2ZkOVEyemtNREw2LWhpMUR5TWh4M3ozLTlzRWVPTG1qZUdxU0RmVVhUMVZ1XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyByZW1vdmFsIG9mIEMrKyBidWlsZCBzY3JpcHQqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfTFpGWFZ5anZJMlZTMzJaQ3ZsT211VTVWfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NzRjMWIzODgxOTE5ZWZkOTY2NzQwNWYzM2QwIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJtIC1mIGNyYXRlcy9mbGFzaGVyLXF0L2J1aWxkLnJzIGNyYXRlcy9mbGFzaGVyLXF0L3NyYy91aS5jcHBcbmNhcmdvIGJ1aWxkIC1wIGZsYXNoZXItcXQiLCJ0aW1lb3V0IjoxMjB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6NDk2OCwib3V0cHV0Ijo2MSwiY2FjaGVSZWFkIjoxMzI2MDgsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MTEsInRvdGFsVG9rZW5zIjoxMzc2MzcsImNvc3QiOnsiaW5wdXQiOjAuMDI0ODQsIm91dHB1dCI6MC4wMDE4MywiY2FjaGVSZWFkIjowLjA2NjMwNCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDkyOTc0fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg1NzYzNjU3MzgyLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTc0OWMyMWM4MTkxYjQ0OTEwY2RmYjU5MmFiOSIsInJhd1N0b3BSZWFzb24iOiJjb21wbGV0ZWQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiOWVkZWFmZjQiLCJwYXJlbnRJZCI6IjA0YTMyZDhiIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyODo0Mi41MDJaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX0xaRlhWeWp2STJWUzMyWkN2bE9tdVU1VnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTc0YzFiMzg4MTkxOWVmZDk2Njc0MDVmMzNkMCIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiAgICBVcGRhdGluZyBjcmF0ZXMuaW8gaW5kZXhcbiAgICAgTG9ja2luZyA0NCBwYWNrYWdlcyB0byBsYXRlc3QgUnVzdCAxLjg3LjAgY29tcGF0aWJsZSB2ZXJzaW9uc1xuICAgICAgQWRkaW5nIGFuc3R5bGUgdjEuMC4xNFxuICAgICAgQWRkaW5nIGFueWhvdyB2MS4wLjEwNFxuICAgICAgQWRkaW5nIGNmZy1pZiB2MS4wLjRcbiAgICAgIEFkZGluZyBjbGFuZy1mb3JtYXQgdjAuMy4wXG4gICAgICBBZGRpbmcgY2xhcCB2NC42LjVcbiAgICAgIEFkZGluZyBjbGFwX2J1aWxkZXIgdjQuNi41XG4gICAgICBBZGRpbmcgY2xhcF9sZXggdjEuMS4wXG4gICAgICBBZGRpbmcgY29kZXNwYW4tcmVwb3J0aW5nIHYwLjExLjFcbiAgICAgIEFkZGluZyBjb2Rlc3Bhbi1yZXBvcnRpbmcgdjAuMTMuMVxuICAgICAgQWRkaW5nIGNvbnZlcnRfY2FzZSB2MC42LjBcbiAgICAgIEFkZGluZyBjeHggdjEuMC4xOThcbiAgICAgIEFkZGluZyBjeHgtYnVpbGQgdjEuMC4xOThcbiAgICAgIEFkZGluZyBjeHgtZ2VuIHYwLjcuMTk4XG4gICAgICBBZGRpbmcgY3h4LXF0IHYwLjkuMVxuICAgICAgQWRkaW5nIGN4eC1xdC1idWlsZCB2MC45LjFcbiAgICAgIEFkZGluZyBjeHgtcXQtZ2VuIHYwLjkuMVxuICAgICAgQWRkaW5nIGN4eC1xdC1saWIgdjAuOS4xXG4gICAgICBBZGRpbmcgY3h4LXF0LW1hY3JvIHYwLjkuMVxuICAgICAgQWRkaW5nIGN4eGJyaWRnZS1jbWQgdjEuMC4xOThcbiAgICAgIEFkZGluZyBjeHhicmlkZ2UtZmxhZ3MgdjEuMC4xOThcbiAgICAgIEFkZGluZyBjeHhicmlkZ2UtbWFjcm8gdjEuMC4xOThcbiAgICAgIEFkZGluZyBmb2xkaGFzaCB2MC4yLjBcbiAgICAgIEFkZGluZyBnZXRyYW5kb20gdjAuNC4zXG4gICAgICBBZGRpbmcgaW5kb2MgdjIuMC43XG4gICAgICBBZGRpbmcgaXRvYSB2MS4wLjE4XG4gICAgICBBZGRpbmcgam9ic2VydmVyIHYwLjEuMzVcbiAgICAgIEFkZGluZyBsaW5rLWNwbHVzcGx1cyB2MS4wLjEyXG4gICAgICBBZGRpbmcgcXQtYnVpbGQtdXRpbHMgdjAuOS4xXG4gICAgICBBZGRpbmcgci1lZmkgdjYuMC4wXG4gICAgICBBZGRpbmcgcnVzdHZlcnNpb24gdjEuMC4yM1xuICAgICAgQWRkaW5nIHNjcmF0Y2ggdjEuMC45XG4gICAgICBBZGRpbmcgc2VyZGUgdjEuMC4yMjlcbiAgICAgIEFkZGluZyBzZXJkZV9qc29uIHYxLjAuMTUxXG4gICAgICBBZGRpbmcgc3RhdGljX2Fzc2VydGlvbnMgdjEuMS4wXG4gICAgICBBZGRpbmcgc3Ryc2ltIHYwLjExLjFcbiAgICAgIEFkZGluZyB0ZXJtY29sb3IgdjEuNC4xXG4gICAgICBBZGRpbmcgdGhpc2Vycm9yIHYxLjAuNjlcbiAgICAgIEFkZGluZyB0aGlzZXJyb3ItaW1wbCB2MS4wLjY5XG4gICAgICBBZGRpbmcgdW5pY29kZS1zZWdtZW50YXRpb24gdjEuMTMuM1xuICAgICAgQWRkaW5nIHVuaWNvZGUtd2lkdGggdjAuMS4xNFxuICAgICAgQWRkaW5nIHVuaWNvZGUtd2lkdGggdjAuMi4yXG4gICAgICBBZGRpbmcgd2hpY2ggdjguMC41XG4gICAgICBBZGRpbmcgd2luYXBpLXV0aWwgdjAuMS4xMVxuICAgICAgQWRkaW5nIHptaWogdjEuMC4yM1xuIERvd25sb2FkaW5nIGNyYXRlcyAuLi5cbiAgRG93bmxvYWRlZCBjb2Rlc3Bhbi1yZXBvcnRpbmcgdjAuMTMuMVxuICBEb3dubG9hZGVkIGpvYnNlcnZlciB2MC4xLjM1XG4gIERvd25sb2FkZWQgY2xhbmctZm9ybWF0IHYwLjMuMFxuICBEb3dubG9hZGVkIGNvbnZlcnRfY2FzZSB2MC42LjBcbiAgRG93bmxvYWRlZCBsaW5rLWNwbHVzcGx1cyB2MS4wLjEyXG4gIERvd25sb2FkZWQgY3h4YnJpZGdlLWZsYWdzIHYxLjAuMTk4XG4gIERvd25sb2FkZWQgd2hpY2ggdjguMC41XG4gIERvd25sb2FkZWQgdGVybWNvbG9yIHYxLjQuMVxuICBEb3dubG9hZGVkIHJ1c3R2ZXJzaW9uIHYxLjAuMjNcbiAgRG93bmxvYWRlZCBjb2Rlc3Bhbi1yZXBvcnRpbmcgdjAuMTEuMVxuICBEb3dubG9hZGVkIGN4eGJyaWRnZS1tYWNybyB2MS4wLjE5OFxuICBEb3dubG9hZGVkIGN4eCB2MS4wLjE5OFxuICBEb3dubG9hZGVkIGN4eC1xdC1tYWNybyB2MC45LjFcbiAgRG93bmxvYWRlZCBxdC1idWlsZC11dGlscyB2MC45LjFcbiAgRG93bmxvYWRlZCBjeHgtcXQtYnVpbGQgdjAuOS4xXG4gIERvd25sb2FkZWQgY3h4LWdlbiB2MC43LjE5OFxuICBEb3dubG9hZGVkIGN4eC1xdC1nZW4gdjAuOS4xXG4gICBDb21waWxpbmcgcHJvYy1tYWNybzIgdjEuMC4xMDdcbiAgIENvbXBpbGluZyB0aGlzZXJyb3IgdjEuMC42OVxuICAgQ29tcGlsaW5nIHNlcmRlX2NvcmUgdjEuMC4yMjlcbiAgIENvbXBpbGluZyB0ZXJtY29sb3IgdjEuNC4xXG4gICBDb21waWxpbmcgem1paiB2MS4wLjIzXG4gICBDb21waWxpbmcgdW5pY29kZS13aWR0aCB2MC4yLjJcbiAgIENvbXBpbGluZyBzZXJkZV9qc29uIHYxLjAuMTUxXG4gICBDb21waWxpbmcgc2VyZGUgdjEuMC4yMjlcbiAgIENvbXBpbGluZyB1bmljb2RlLXNlZ21lbnRhdGlvbiB2MS4xMy4zXG4gICBDb21waWxpbmcgbGliYyB2MC4yLjE4OVxuICAgQ29tcGlsaW5nIGFueWhvdyB2MS4wLjEwNFxuICAgQ29tcGlsaW5nIGl0b2EgdjEuMC4xOFxuICAgQ29tcGlsaW5nIG1lbWNociB2Mi44LjNcbiAgIENvbXBpbGluZyBpbmRvYyB2Mi4wLjdcbiAgIENvbXBpbGluZyB1bmljb2RlLXdpZHRoIHYwLjEuMTRcbiAgIENvbXBpbGluZyBjeHhicmlkZ2UtZmxhZ3MgdjEuMC4xOThcbiAgIENvbXBpbGluZyBmb2xkaGFzaCB2MC4yLjBcbiAgIENvbXBpbGluZyBzdGF0aWNfYXNzZXJ0aW9ucyB2MS4xLjBcbiAgIENvbXBpbGluZyBjb2Rlc3Bhbi1yZXBvcnRpbmcgdjAuMTMuMVxuICAgQ29tcGlsaW5nIGNvZGVzcGFuLXJlcG9ydGluZyB2MC4xMS4xXG4gICBDb21waWxpbmcgY29udmVydF9jYXNlIHYwLjYuMFxuICAgQ29tcGlsaW5nIHF1b3RlIHYxLjAuNDdcbiAgIENvbXBpbGluZyBzeW4gdjMuMC4zXG4gICBDb21waWxpbmcgc3luIHYyLjAuMTE5XG4gICBDb21waWxpbmcgam9ic2VydmVyIHYwLjEuMzVcbiAgIENvbXBpbGluZyB3aGljaCB2OC4wLjVcbiAgIENvbXBpbGluZyBjYyB2MS40LjBcbiAgIENvbXBpbGluZyBsaW5rLWNwbHVzcGx1cyB2MS4wLjEyXG4gICBDb21waWxpbmcgY3h4IHYxLjAuMTk4XG4gICBDb21waWxpbmcgY3h4LWdlbiB2MC43LjE5OFxuICAgQ29tcGlsaW5nIHNlcmRlX2Rlcml2ZSB2MS4wLjIyOVxuICAgQ29tcGlsaW5nIGN4eGJyaWRnZS1tYWNybyB2MS4wLjE5OFxuICAgQ29tcGlsaW5nIHRoaXNlcnJvci1pbXBsIHYxLjAuNjlcbiAgIENvbXBpbGluZyBjbGFuZy1mb3JtYXQgdjAuMy4wXG4gICBDb21waWxpbmcgY3h4LXF0LWdlbiB2MC45LjFcbiAgIENvbXBpbGluZyBxdC1idWlsZC11dGlscyB2MC45LjFcbiAgIENvbXBpbGluZyBjeHgtcXQtYnVpbGQgdjAuOS4xXG4gICBDb21waWxpbmcgY3h4LXF0LW1hY3JvIHYwLjkuMVxuICAgQ29tcGlsaW5nIGN4eC1xdCB2MC45LjFcbiAgIENvbXBpbGluZyBjeHgtcXQtbGliIHYwLjkuMVxuZXJyb3I6IGZhaWxlZCB0byBydW4gY3VzdG9tIGJ1aWxkIGNvbW1hbmQgZm9yIGBjeHgtcXQtbGliIHYwLjkuMWBcblxuQ2F1c2VkIGJ5OlxuICBwcm9jZXNzIGRpZG4ndCBleGl0IHN1Y2Nlc3NmdWxseTogYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9jeHgtcXQtbGliLWIxN2E1MGE4NjUxNjI2ODgvYnVpbGQtc2NyaXB0LWJ1aWxkYCAoZXhpdCBzdGF0dXM6IDEwMSlcbiAgLS0tIHN0ZG91dFxuICBjYXJnbzo6cmVydW4taWYtZW52LWNoYW5nZWQ9UU1BS0VcbiAgY2FyZ286OnJlcnVuLWlmLWVudi1jaGFuZ2VkPVFUX1ZFUlNJT05fTUFKT1JcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvaW5pdC5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2d1aS9pbml0LmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xYnl0ZWFycmF5LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3Fjb3JlYXBwbGljYXRpb24ucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWRhdGUucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWhhc2gvcWhhc2hfaTMyX3FieXRlYXJyYXkucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWhhc2gvcWhhc2hfcXN0cmluZ19xdmFyaWFudC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xbGluZS5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xbGluZWYucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWxpc3QvcWxpc3RfYm9vbC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xbGlzdC9xbGlzdF9mMzIucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWxpc3QvcWxpc3RfZjY0LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FsaXN0L3FsaXN0X2k4LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FsaXN0L3FsaXN0X2kxNi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xbGlzdC9xbGlzdF9pMzIucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWxpc3QvcWxpc3RfaTY0LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FsaXN0L3FsaXN0X3FieXRlYXJyYXkucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWxpc3QvcWxpc3RfcWRhdGUucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWxpc3QvcWxpc3RfcWxpbmUucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWxpc3QvcWxpc3RfcWxpbmVmLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FsaXN0L3FsaXN0X3FtYXJnaW5zLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FsaXN0L3FsaXN0X3FtYXJnaW5zZi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xbGlzdC9xbGlzdF9xcGVyc2lzdGVudG1vZGVsaW5kZXgucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWxpc3QvcWxpc3RfcXBvaW50LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FsaXN0L3FsaXN0X3Fwb2ludGYucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWxpc3QvcWxpc3RfcXJlY3QucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWxpc3QvcWxpc3RfcXJlY3RmLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FsaXN0L3FsaXN0X3FzaXplLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FsaXN0L3FsaXN0X3FzaXplZi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xbGlzdC9xbGlzdF9xc3RyaW5nLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FsaXN0L3FsaXN0X3F0aW1lLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FsaXN0L3FsaXN0X3F1cmwucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWxpc3QvcWxpc3RfcXV1aWQucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWxpc3QvcWxpc3RfcXZhcmlhbnQucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWxpc3QvcWxpc3RfdTgucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWxpc3QvcWxpc3RfdTE2LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FsaXN0L3FsaXN0X3UzMi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xbGlzdC9xbGlzdF91NjQucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcW1hcC9xbWFwX3FzdHJpbmdfcXZhcmlhbnQucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcW1hcmdpbnMucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcW1hcmdpbnNmLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3Ftb2RlbGluZGV4LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FvYmplY3QucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXBlcnNpc3RlbnRtb2RlbGluZGV4LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3Fwb2ludC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xcG9pbnRmLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FyZWN0LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FyZWN0Zi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xc2V0L3FzZXRfYm9vbC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xc2V0L3FzZXRfZjMyLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FzZXQvcXNldF9mNjQucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXNldC9xc2V0X2k4LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FzZXQvcXNldF9pMTYucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXNldC9xc2V0X2kzMi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xc2V0L3FzZXRfaTY0LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FzZXQvcXNldF9xYnl0ZWFycmF5LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FzZXQvcXNldF9xZGF0ZS5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xc2V0L3FzZXRfcXBlcnNpc3RlbnRtb2RlbGluZGV4LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FzZXQvcXNldF9xc3RyaW5nLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FzZXQvcXNldF9xdGltZS5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xc2V0L3FzZXRfcXVybC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xc2V0L3FzZXRfcXV1aWQucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXNldC9xc2V0X3U4LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FzZXQvcXNldF91MTYucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXNldC9xc2V0X3UzMi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xc2V0L3FzZXRfdTY0LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FzaXplLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FzaXplZi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xc3RyaW5nLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FzdHJpbmdsaXN0LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F0LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F0aW1lLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F0bG9nZ2luZy5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdHlwZXMucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXVybC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdXVpZC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9tb2QucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfYm9vbC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9xdmFyaWFudF9mMzIucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfZjY0LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2YXJpYW50L3F2YXJpYW50X2k4LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2YXJpYW50L3F2YXJpYW50X2kxNi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9xdmFyaWFudF9pMzIucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfaTY0LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2YXJpYW50L3F2YXJpYW50X3FieXRlYXJyYXkucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfcWRhdGUucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfcWxpbmUucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfcWxpbmVmLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2YXJpYW50L3F2YXJpYW50X3Ftb2RlbGluZGV4LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2YXJpYW50L3F2YXJpYW50X3FwZXJzaXN0ZW50bW9kZWxpbmRleC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9xdmFyaWFudF9xcG9pbnQucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfcXBvaW50Zi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9xdmFyaWFudF9xcmVjdC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9xdmFyaWFudF9xcmVjdGYucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfcXNpemUucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfcXNpemVmLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2YXJpYW50L3F2YXJpYW50X3FzdHJpbmcucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfcXN0cmluZ2xpc3QucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfcXRpbWUucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfcXVybC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9xdmFyaWFudF9xdXVpZC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9xdmFyaWFudF9xdmFyaWFudGhhc2gucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfcXZhcmlhbnRsaXN0LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2YXJpYW50L3F2YXJpYW50X3F2YXJpYW50bWFwLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2YXJpYW50L3F2YXJpYW50X3U4LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2YXJpYW50L3F2YXJpYW50X3UxNi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9xdmFyaWFudF91MzIucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfdTY0LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2ZWN0b3IvcXZlY3Rvcl9ib29sLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2ZWN0b3IvcXZlY3Rvcl9mMzIucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZlY3Rvci9xdmVjdG9yX2Y2NC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmVjdG9yL3F2ZWN0b3JfaTgucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZlY3Rvci9xdmVjdG9yX2kxNi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmVjdG9yL3F2ZWN0b3JfaTMyLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2ZWN0b3IvcXZlY3Rvcl9pNjQucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZlY3Rvci9xdmVjdG9yX3FieXRlYXJyYXkucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZlY3Rvci9xdmVjdG9yX3FkYXRlLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2ZWN0b3IvcXZlY3Rvcl9xbGluZS5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmVjdG9yL3F2ZWN0b3JfcWxpbmVmLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2ZWN0b3IvcXZlY3Rvcl9xbWFyZ2lucy5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmVjdG9yL3F2ZWN0b3JfcW1hcmdpbnNmLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2ZWN0b3IvcXZlY3Rvcl9xcGVyc2lzdGVudG1vZGVsaW5kZXgucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZlY3Rvci9xdmVjdG9yX3Fwb2ludC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmVjdG9yL3F2ZWN0b3JfcXBvaW50Zi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmVjdG9yL3F2ZWN0b3JfcXJlY3QucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZlY3Rvci9xdmVjdG9yX3FyZWN0Zi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmVjdG9yL3F2ZWN0b3JfcXNpemUucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZlY3Rvci9xdmVjdG9yX3FzaXplZi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmVjdG9yL3F2ZWN0b3JfcXN0cmluZy5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmVjdG9yL3F2ZWN0b3JfcXRpbWUucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZlY3Rvci9xdmVjdG9yX3F1cmwucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZlY3Rvci9xdmVjdG9yX3F1dWlkLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2ZWN0b3IvcXZlY3Rvcl9xdmFyaWFudC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmVjdG9yL3F2ZWN0b3JfdTgucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZlY3Rvci9xdmVjdG9yX3UxNi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmVjdG9yL3F2ZWN0b3JfdTMyLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2ZWN0b3IvcXZlY3Rvcl91NjQucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcW1ldGF0eXBlL3FtZXRhdHlwZXR5cGVfdjUucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWxpc3QvcWxpc3RfcWNvbG9yLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2YXJpYW50L3F2YXJpYW50X3Fjb2xvci5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9xdmFyaWFudF9xZm9udC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9xdmFyaWFudF9xaW1hZ2UucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfcXBlbi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9xdmFyaWFudF9xcG9seWdvbi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9xdmFyaWFudF9xcG9seWdvbmYucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfcXF1YXRlcm5pb24ucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfcXJlZ2lvbi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9xdmFyaWFudF9xdmVjdG9yMmQucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnRfcXZlY3RvcjNkLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2YXJpYW50L3F2YXJpYW50X3F2ZWN0b3I0ZC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmVjdG9yL3F2ZWN0b3JfcWNvbG9yLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9ndWkvcWNvbG9yLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9ndWkvcWZvbnQucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2d1aS9xZ3VpYXBwbGljYXRpb24ucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2d1aS9xaW1hZ2UucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2d1aS9xcXVhdGVybmlvbi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvZ3VpL3FwYWludGVycGF0aC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvZ3VpL3FwYWludGVyLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9ndWkvcXBlbi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvZ3VpL3Fwb2x5Z29uLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9ndWkvcXBvbHlnb25mLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9ndWkvcXJlZ2lvbi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvZ3VpL3F2ZWN0b3IyZC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvZ3VpL3F2ZWN0b3IzZC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvZ3VpL3F2ZWN0b3I0ZC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvcW1sL3FxbWxhcHBsaWNhdGlvbmVuZ2luZS5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvcW1sL3FxbWxlbmdpbmUucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL3F1aWNrY29udHJvbHMvcXF1aWNrc3R5bGUucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWRhdGV0aW1lLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F0aW1lem9uZS5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xbGlzdC9xbGlzdF9xZGF0ZXRpbWUucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXNldC9xc2V0X3FkYXRldGltZS5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdmFyaWFudC9xdmFyaWFudF9xZGF0ZXRpbWUucnNcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZlY3Rvci9xdmVjdG9yX3FkYXRldGltZS5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xYnl0ZWFycmF5LmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xY29yZWFwcGxpY2F0aW9uLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xZGF0ZS5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcWhhc2gvcWhhc2guY3BwXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FsaW5lLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xbGluZWYuY3BwXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FsaXN0L3FsaXN0LmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xbWFwL3FtYXAuY3BwXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FtYXJnaW5zLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xbWFyZ2luc2YuY3BwXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3Ftb2RlbGluZGV4LmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xcGVyc2lzdGVudG1vZGVsaW5kZXguY3BwXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3Fwb2ludC5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXBvaW50Zi5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXJlY3QuY3BwXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3FyZWN0Zi5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXNldC9xc2V0LmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xc2l6ZS5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXNpemVmLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xc3RyaW5nLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xc3RyaW5nbGlzdC5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXRpbWUuY3BwXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F0bG9nZ2luZy5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXR5cGVzLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdXJsLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xdXVpZC5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2NvcmUvcXZhcmlhbnQvcXZhcmlhbnQuY3BwXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F2ZWN0b3IvcXZlY3Rvci5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL3F0X3R5cGVzLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvZ3VpL3Fjb2xvci5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2d1aS9xZm9udC5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2d1aS9xZ2VuZXJpY21hdHJpeC5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2d1aS9xZ3VpYXBwbGljYXRpb24uY3BwXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9ndWkvcWltYWdlLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvZ3VpL3FwYWludGVycGF0aC5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2d1aS9xcGFpbnRlci5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2d1aS9xcGVuLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvZ3VpL3Fwb2x5Z29uLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvZ3VpL3Fwb2x5Z29uZi5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2d1aS9xcXVhdGVybmlvbi5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2d1aS9xcmVnaW9uLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvZ3VpL3F2ZWN0b3IyZC5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2d1aS9xdmVjdG9yM2QuY3BwXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9ndWkvcXZlY3RvcjRkLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvcW1sL3FxbWxhcHBsaWNhdGlvbmVuZ2luZS5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL3FtbC9xcW1sZW5naW5lLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29yZS9xZGF0ZXRpbWUuY3BwXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb3JlL3F0aW1lem9uZS5jcHBcbiAgY3h4LXF0LWJ1aWxkOiBEaXNjb3ZlcmVkIGRlcGVuZGVuY3kgYGN4eC1xdGAgYXQ6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9jeHgtcXQtYWQ5ODFhOWIzOWZmMThlMy9vdXQvY3h4cXRidWlsZC9tYW5pZmVzdC5qc29uXG4gIGNhcmdvOjpydXN0Yy1saW5rLWFyZz0tZnVzZS1sZD1sbGRcbiAgY2FyZ286OnJlcnVuLWlmLWVudi1jaGFuZ2VkPVFNQUtFXG4gIGNhcmdvOjpyZXJ1bi1pZi1lbnYtY2hhbmdlZD1RVF9WRVJTSU9OX01BSk9SXG4gIGNhcmdvOjpydXN0Yy1saW5rLXNlYXJjaD0vdXNyL2xpYjY0XG5cbiAgLS0tIHN0ZGVyclxuXG4gIHRocmVhZCAnbWFpbicgcGFuaWNrZWQgYXQgL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9xdC1idWlsZC11dGlscy0wLjkuMS9zcmMvaW5zdGFsbGF0aW9uL3NoYXJlZC5yczoxODE6MjU6XG4gIENvdWxkIG5vdCBmaW5kIGEgcHJsIHBhdGggZm9yIFF0IG1vZHVsZTogUXVpY2tDb250cm9sczJcbiAgbm90ZTogcnVuIHdpdGggYFJVU1RfQkFDS1RSQUNFPTFgIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGRpc3BsYXkgYSBiYWNrdHJhY2Vcbndhcm5pbmc6IGJ1aWxkIGZhaWxlZCwgd2FpdGluZyBmb3Igb3RoZXIgam9icyB0byBmaW5pc2guLi5cblxuXG5Db21tYW5kIGV4aXRlZCB3aXRoIGNvZGUgMTAxIn1dLCJkZXRhaWxzIjp7fSwiaXNFcnJvciI6dHJ1ZSwidGltZXN0YW1wIjoxNzg1NzYzNzIyNTAyfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYzkxNjFhMzIiLCJwYXJlbnRJZCI6IjllZGVhZmY0IiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyODo0Ni44OTBaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlJlbW92aW5nIHF0X3F1aWNrY29udHJvbHMgZmVhdHVyZSoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk3OGMwNDA0ODE5MWI4ODJiNGI1OTVlNmJlY2JcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxY0plTjY4eUo3S3JILXZjTmh5T1ZkWUZLRFcycFJ4VmxjaFpDUmE3MlVGa2ZUZ01ZZmt4aUZqdVBBX1ZTYjRGMUxEeXpEX0FITEgxZjBzRE03WkRLS0hEU1FHbkJ2RjZMVlBHWlllYlFqVWV3RlREX1lTakxRLU1rel9JTGtqU1pCXzd2OERkX1NNTUFfYkxhaTg4UlNkdE1LZjA3Sk80akk0VHdFR0xYNVB4ZGxLVkhIRmdmb0xfdHJlc0txc2w4WVQwdnhTb2VlcnFYdmY2ZlVmYjJsc1Q1Z21JM2sxVEYxdWg2SVRDc1YxSEVLMmJaXzUwRTVmSnZrdHM3bWh1TTI2eTYzVktZWmM4UzRpMHh6MDZhRlVnalJPcmI2cEZvSEpNT1JhUUZ0QXdGbG8yQ0tmcE1jamhENGlKUm1wNFJyamUtNkJlcUJTRjdxdDcwdElQRndmT3J4RUpVUERKX3lMT2lTTWRDYVpDU2hXNzVYaTd3Vi1rTTZkVS1CWnY4OEE3aDRFaEk5SGVsMUtVeHNVMmlKM0t5dzBJX01WWXBoOTFocFNqM1NmUkRYN0liRmVUREJtWTRYZ0x6SzljSVpmZ3hycGhoV2JIc1YyRmRYWXVfM0xaV3k5SVNqaldzdFZSc21Ra1FRSXE5UVZIcUpBYjFhT2lSdFZjU190TjNjWDAtWm1jbGFzbWhQRHczUjRuMzRmREx6cHlxT3kyNGwybjlJaFZqLUM2S2pMX0gyYko5QXJURkZpVFc0V1lGX1ljM3Byc2UtZ1N0UGxXZ2xsSFQtc0N4NHJrMWw2N1VDRnYxenR0QWpnQUFyaDlzX21NczVkc29kSXNlYUl6eTNScXlIRUZERktRcDhZMElNVzcwVWJnMnRTSTJDMU9mVWlxT09lMlF6VWJZLXY3NEpCVzdJWDNnSEdTLUkwSFRtS3pIbm9JSzRFWnFVVjJ1RjdKbHI0bTQ3dDRQMDk3bThjQ1lueDJzYzJVX0lMQXpuSXk5UTJQdHpQY1hrd2FPNmN4Q2l1S2dqSkpTblFXT2lyaFZDWjRjRUd1Y1Vtem9sMk9vanBNSGRvdVNMcURlSUF1ektnU0RnSnJBZGVhbGZjT2lxODY1SE5YWFI0Xy1QdlB4UDc2WjNuZ2RBOFRJU21FeHBnZHV4WU40TTdqOTRhQWNaZUJ3blZCZG1yUlBWQUkxR2Z0NzRvU1VFNlpVaEd2X21qWlRGc0xxNHRqNXktS2U3OEI5SmxFRVNIdmlBa2lLN1I5YjBJX3diQmk3aWNjYkVmeENveW5TWUhCM0xkNlNNZVlaRlJMdnl3YlFzYTJvWk5kUTZ1WVEzWjZOS2w1eGFhNmJSM0RtU0pFbjVuT1RNZk1FMTBmc01JR1B4WmxCSWx1QU14dC1hWnE3aWo4czk5dGNsamRaaE9OUE5hSjZWVVJQa28zZzF2YzNNRllwMEpzMExqZVZWajNKNVlRSmloSC1rS3pvcEZIa3NKTDJxUGE3bmdTQVVRR0t6aG9obVdmejE0ejVTcHliVEZhaHZzdVBGSHJwM09udlFLdEFpRV95UWFIR0xsM0lfdUc2aUJBWWlzYkVRQ289XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipSZW1vdmluZyBxdF9xdWlja2NvbnRyb2xzIGZlYXR1cmUqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfUW9vZDFqbGtnOGhYUjA0aUo1dVNtM3NOfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NzhkYTlhNDgxOTE4NmJkNGNkMDMzZDQ2NjgyIiwibmFtZSI6ImVkaXQiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWwiLCJlZGl0cyI6W3sib2xkVGV4dCI6ImN4eC1xdC1saWIgPSB7IHZlcnNpb24gPSBcIjAuOS4xXCIsIGZlYXR1cmVzID0gW1wicXRfZ3VpXCIsIFwicXRfcW1sXCIsIFwicXRfcXVpY2tjb250cm9sc1wiXSB9IiwibmV3VGV4dCI6ImN4eC1xdC1saWIgPSB7IHZlcnNpb24gPSBcIjAuOS4xXCIsIGZlYXR1cmVzID0gW1wicXRfZ3VpXCIsIFwicXRfcW1sXCJdIH0ifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6NjYwMywib3V0cHV0IjoxNTEsImNhY2hlUmVhZCI6MTM2NzA0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjQ2LCJ0b3RhbFRva2VucyI6MTQzNDU4LCJjb3N0Ijp7ImlucHV0IjowLjAzMzAxNSwib3V0cHV0IjowLjAwNDUzLCJjYWNoZVJlYWQiOjAuMDY4MzUyLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4xMDU4OTY5OTk5OTk5OTk5OX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2MzcyMjUwNCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk3OGFlOTk4ODE5MWJlYzlhODljM2I1ZmNmMGYiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImE2MmUzZTJlIiwicGFyZW50SWQiOiJjOTE2MWEzMiIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6Mjg6NDYuODk2WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9Rb29kMWpsa2c4aFhSMDRpSjV1U20zc058ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk3OGRhOWE0ODE5MTg2YmQ0Y2QwMzNkNDY2ODIiLCJ0b29sTmFtZSI6ImVkaXQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgcmVwbGFjZWQgMSBibG9jayhzKSBpbiBjcmF0ZXMvZmxhc2hlci1xdC9DYXJnby50b21sLiJ9XSwiZGV0YWlscyI6eyJkaWZmIjoiICAgIC4uLlxuICA1IGRlc2NyaXB0aW9uID0gXCJBIFF0IDYvS0RFIEtpcmlnYW1pIGludGVyZmFjZSBmb3IgcHJlcGFyaW5nIEFMVCBMaW51eCBTQkMgaW1hZ2VzXCJcbiAgNiBsaWNlbnNlID0gXCJHUEwtMi4wLW9yLWxhdGVyXCJcbiAgNyBcbiAgOCBbZGVwZW5kZW5jaWVzXVxuLSA5IGN4eC1xdC1saWIgPSB7IHZlcnNpb24gPSBcIjAuOS4xXCIsIGZlYXR1cmVzID0gW1wicXRfZ3VpXCIsIFwicXRfcW1sXCIsIFwicXRfcXVpY2tjb250cm9sc1wiXSB9XG4rIDkgY3h4LXF0LWxpYiA9IHsgdmVyc2lvbiA9IFwiMC45LjFcIiwgZmVhdHVyZXMgPSBbXCJxdF9ndWlcIiwgXCJxdF9xbWxcIl0gfVxuIDEwIHNlcmRlX2pzb24gPSBcIjFcIiIsInBhdGNoIjoiLS0tIGNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWxcbisrKyBjcmF0ZXMvZmxhc2hlci1xdC9DYXJnby50b21sXG5AQCAtNSw2ICs1LDYgQEBcbiBkZXNjcmlwdGlvbiA9IFwiQSBRdCA2L0tERSBLaXJpZ2FtaSBpbnRlcmZhY2UgZm9yIHByZXBhcmluZyBBTFQgTGludXggU0JDIGltYWdlc1wiXG4gbGljZW5zZSA9IFwiR1BMLTIuMC1vci1sYXRlclwiXG4gXG4gW2RlcGVuZGVuY2llc11cbi1jeHgtcXQtbGliID0geyB2ZXJzaW9uID0gXCIwLjkuMVwiLCBmZWF0dXJlcyA9IFtcInF0X2d1aVwiLCBcInF0X3FtbFwiLCBcInF0X3F1aWNrY29udHJvbHNcIl0gfVxuK2N4eC1xdC1saWIgPSB7IHZlcnNpb24gPSBcIjAuOS4xXCIsIGZlYXR1cmVzID0gW1wicXRfZ3VpXCIsIFwicXRfcW1sXCJdIH1cbiBzZXJkZV9qc29uID0gXCIxXCJcbiIsImZpcnN0Q2hhbmdlZExpbmUiOjl9LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg1NzYzNzI2ODk2fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNWFhYjc0YzUiLCJwYXJlbnRJZCI6ImE2MmUzZTJlIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyODo1MS4wNTFaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX09hZWlWeXBoT1ZWWnpkV2RIb1pKeHpvOXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTc5Mjg2OWM4MTkxYWY3ZWEwYTgxMThkMTNhZCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJjYXJnbyBidWlsZCAtcCBmbGFzaGVyLXF0IiwidGltZW91dCI6MTIwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjYzOCwib3V0cHV0IjoyOSwiY2FjaGVSZWFkIjoxNDI4NDgsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MCwidG90YWxUb2tlbnMiOjE0MzUxNSwiY29zdCI6eyJpbnB1dCI6MC4wMDMxOSwib3V0cHV0IjowLjAwMDg3LCJjYWNoZVJlYWQiOjAuMDcxNDI0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNzU0ODR9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjM3MjY4OTgsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NzhmMmNlYzgxOTE4MWJmYTRhYzRkN2U3Mjg2IiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI2YjI0MWE4NCIsInBhcmVudElkIjoiNWFhYjc0YzUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjI5OjM4LjYzOVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfT2FlaVZ5cGhPVlZaemRXZEhvWkp4em85fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5NzkyODY5YzgxOTFhZjdlYTBhODExOGQxM2FkIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgQ29tcGlsaW5nIGN4eC1xdC1saWIgdjAuOS4xXG4gICBDb21waWxpbmcgZmxhc2hlci1xdCB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyL2NyYXRlcy9mbGFzaGVyLXF0KVxuZXJyb3I6IGxpbmtpbmcgd2l0aCBgY2NgIGZhaWxlZDogZXhpdCBzdGF0dXM6IDFcbiAgfFxuICA9IG5vdGU6ICBcImNjXCIgXCItbTY0XCIgXCIvdG1wLy5wcml2YXRlL2FndXNjaGluL3J1c3RjeVh0MzRvL3N5bWJvbHMub1wiIFwiPDY4IG9iamVjdCBmaWxlcyBvbWl0dGVkPlwiIFwiLVdsLC0tYXMtbmVlZGVkXCIgXCItV2wsLUJzdGF0aWNcIiBcIi9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9kZXBzL3tsaWJzZXJkZV9qc29uLWMwMWRlODI4ZTlhMWM1Y2QucmxpYixsaWJtZW1jaHItYTNlMzhkNDg0MDk5OWNmNy5ybGliLGxpYml0b2EtMmI1ZTcyYzQ0ZjI0ZDM2OC5ybGliLGxpYnptaWotNDVmYzhhNjAyNzRlYjEyNS5ybGliLGxpYnNlcmRlX2NvcmUtMDNmMTg5OTE3MmI0YTVhYi5ybGliLGxpYmN4eF9xdF9saWItZTI1NWIwMTVmZmY2OTYzNC5ybGlifS5ybGliXCIgXCItV2wsLS13aG9sZS1hcmNoaXZlXCIgXCItV2wsL3RtcC8ucHJpdmF0ZS9hZ3VzY2hpbi9ydXN0Y3lYdDM0by9saWJjeHgtcXQtY2FsbC1pbml0LWNyYXRlX2N4eF9xdF9saWIuYVwiIFwiLVdsLC0tbm8td2hvbGUtYXJjaGl2ZVwiIFwiL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvYnVpbGRyb290L2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2RlcHMve2xpYmN4eF9xdC02ZjNmYjU5OWVhZDdlN2RlLnJsaWJ9LnJsaWJcIiBcIi1XbCwtLXdob2xlLWFyY2hpdmVcIiBcIi1XbCwvdG1wLy5wcml2YXRlL2FndXNjaGluL3J1c3RjeVh0MzRvL2xpYmN4eC1xdC1jYWxsLWluaXQtY3JhdGVfY3h4X3F0LmFcIiBcIi1XbCwtLW5vLXdob2xlLWFyY2hpdmVcIiBcIi9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9kZXBzL3tsaWJzdGF0aWNfYXNzZXJ0aW9ucy05YWQ5MDk1MmMyMmM0MTAyLnJsaWIsbGlidGhpc2Vycm9yLTVhNmJjNDVmNDdiMGY2NjgucmxpYixsaWJjeHgtZDg4YTA4ZTgwM2I1NmRiMi5ybGliLGxpYmZvbGRoYXNoLTU0MWRhMjc1NmMxOWJkODEucmxpYixsaWJsaW5rX2NwbHVzcGx1cy1iY2NiNjczYzdlM2MwYmZiLnJsaWJ9LnJsaWJcIiBcIjxzeXNyb290Pi9saWIvcnVzdGxpYi94ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3tsaWJzdGQtKixsaWJwYW5pY191bndpbmQtKixsaWJvYmplY3QtKixsaWJtZW1jaHItKixsaWJhZGRyMmxpbmUtKixsaWJnaW1saS0qLGxpYnJ1c3RjX2RlbWFuZ2xlLSosbGlic3RkX2RldGVjdC0qLGxpYmhhc2hicm93bi0qLGxpYnJ1c3RjX3N0ZF93b3Jrc3BhY2VfYWxsb2MtKixsaWJtaW5pel9veGlkZS0qLGxpYmFkbGVyMi0qLGxpYnVud2luZC0qLGxpYmNmZ19pZi0qLGxpYmxpYmMtKixsaWJhbGxvYy0qLGxpYnJ1c3RjX3N0ZF93b3Jrc3BhY2VfY29yZS0qLGxpYmNvcmUtKixsaWJjb21waWxlcl9idWlsdGlucy0qfS5ybGliXCIgXCItV2wsLUJkeW5hbWljXCIgXCItbFF0NUd1aVwiIFwiLWxRdDVDb3JlXCIgXCItbFF0NVFtbFwiIFwiLWxzdGRjKytcIiBcIi1sUXQ1Q29yZVwiIFwiLWxzdGRjKytcIiBcIi1sc3RkYysrXCIgXCItbGdjY19zXCIgXCItbHV0aWxcIiBcIi1scnRcIiBcIi1scHRocmVhZFwiIFwiLWxtXCIgXCItbGRsXCIgXCItbGNcIiBcIi1MXCIgXCIvdG1wLy5wcml2YXRlL2FndXNjaGluL3J1c3RjeVh0MzRvL3Jhdy1keWxpYnNcIiBcIi1XbCwtLWVoLWZyYW1lLWhkclwiIFwiLVdsLC16LG5vZXhlY3N0YWNrXCIgXCItTFwiIFwiL3Vzci9saWI2NFwiIFwiLUxcIiBcIi9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9jeHgtcXQtbGliLTkwNzA2NmM2ZmE5OGM0MzEvb3V0XCIgXCItTFwiIFwiL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvYnVpbGRyb290L2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2N4eC1xdC1saWItOTA3MDY2YzZmYTk4YzQzMS9vdXRcIiBcIi1MXCIgXCIvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9idWlsZHJvb3QvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvY3h4LTNhYWI5MmRmNGU5YTZhYmYvb3V0XCIgXCItTFwiIFwiL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvYnVpbGRyb290L2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2xpbmstY3BsdXNwbHVzLWU0OGE5M2QxYWIzMmM2ODkvb3V0XCIgXCItTFwiIFwiL3Vzci9saWI2NFwiIFwiLUxcIiBcIi9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9jeHgtcXQtYWQ5ODFhOWIzOWZmMThlMy9vdXRcIiBcIi1MXCIgXCIvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9idWlsZHJvb3QvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvY3h4LXF0LWFkOTgxYTliMzlmZjE4ZTMvb3V0XCIgXCItTFwiIFwiPHN5c3Jvb3Q+L2xpYi9ydXN0bGliL3g4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWJcIiBcIi1vXCIgXCIvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9idWlsZHJvb3QvZmxhc2hlci90YXJnZXQvZGVidWcvZGVwcy9mbGFzaGVyX3F0LWRiM2JjMzhiZTZkN2UzM2NcIiBcIi1XbCwtLWdjLXNlY3Rpb25zXCIgXCItcGllXCIgXCItV2wsLXoscmVscm8sLXosbm93XCIgXCItbm9kZWZhdWx0bGlic1wiXG4gID0gbm90ZTogc29tZSBhcmd1bWVudHMgYXJlIG9taXR0ZWQuIHVzZSBgLS12ZXJib3NlYCB0byBzaG93IGFsbCBsaW5rZXIgYXJndW1lbnRzXG4gID0gbm90ZTogL3Vzci9iaW4vbGQuYmZkOiAvdG1wLy5wcml2YXRlL2FndXNjaGluL3J1c3RjeVh0MzRvL2xpYmN4eC1xdC1jYWxsLWluaXQtY3JhdGVfY3h4X3F0X2xpYi5hKGZkY2UxZTM1ZGQ0YjAwMjQtY2FsbC1pbml0aWFsaXplcnMubyk6IGluIGZ1bmN0aW9uIGBfX3N0YXRpY19pbml0aWFsaXphdGlvbl9hbmRfZGVzdHJ1Y3Rpb25fMCgpJzpcbiAgICAgICAgICAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9idWlsZHJvb3QvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvY3h4LXF0LWxpYi05MDcwNjZjNmZhOThjNDMxL291dC9jeHgtcXQtYnVpbGQvaW5pdGlhbGl6ZXJzL2NyYXRlX2N4eF9xdF9saWIvY2FsbC1pbml0aWFsaXplcnMuY3BwOjI6KC50ZXh0Ll9aNDFfX3N0YXRpY19pbml0aWFsaXphdGlvbl9hbmRfZGVzdHJ1Y3Rpb25fMHYrMHg5KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgY3h4X3F0X2luaXRfY3JhdGVfY3h4X3F0X2xpYidcbiAgICAgICAgICAvdXNyL2Jpbi9sZC5iZmQ6IC90bXAvLnByaXZhdGUvYWd1c2NoaW4vcnVzdGN5WHQzNG8vbGliY3h4LXF0LWNhbGwtaW5pdC1jcmF0ZV9jeHhfcXQuYShmOGNhYjBlMWFjZGFiYzk1LWNhbGwtaW5pdGlhbGl6ZXJzLm8pOiBpbiBmdW5jdGlvbiBgX19zdGF0aWNfaW5pdGlhbGl6YXRpb25fYW5kX2Rlc3RydWN0aW9uXzAoKSc6XG4gICAgICAgICAgL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvYnVpbGRyb290L2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2N4eC1xdC1hZDk4MWE5YjM5ZmYxOGUzL291dC9jeHgtcXQtYnVpbGQvaW5pdGlhbGl6ZXJzL2NyYXRlX2N4eF9xdC9jYWxsLWluaXRpYWxpemVycy5jcHA6MjooLnRleHQuX1o0MV9fc3RhdGljX2luaXRpYWxpemF0aW9uX2FuZF9kZXN0cnVjdGlvbl8wdisweDkpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjeHhfcXRfaW5pdF9jcmF0ZV9jeHhfcXQnXG4gICAgICAgICAgY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzXG4gICAgICAgICAgXG4gID0gbm90ZTogc29tZSBgZXh0ZXJuYCBmdW5jdGlvbnMgY291bGRuJ3QgYmUgZm91bmQ7IHNvbWUgbmF0aXZlIGxpYnJhcmllcyBtYXkgbmVlZCB0byBiZSBpbnN0YWxsZWQgb3IgaGF2ZSB0aGVpciBwYXRoIHNwZWNpZmllZFxuICA9IG5vdGU6IHVzZSB0aGUgYC1sYCBmbGFnIHRvIHNwZWNpZnkgbmF0aXZlIGxpYnJhcmllcyB0byBsaW5rXG4gID0gbm90ZTogdXNlIHRoZSBgY2FyZ286cnVzdGMtbGluay1saWJgIGRpcmVjdGl2ZSB0byBzcGVjaWZ5IHRoZSBuYXRpdmUgbGlicmFyaWVzIHRvIGxpbmsgd2l0aCBDYXJnbyAoc2VlIGh0dHBzOi8vZG9jLnJ1c3QtbGFuZy5vcmcvY2FyZ28vcmVmZXJlbmNlL2J1aWxkLXNjcmlwdHMuaHRtbCNydXN0Yy1saW5rLWxpYilcblxuZXJyb3I6IGNvdWxkIG5vdCBjb21waWxlIGBmbGFzaGVyLXF0YCAoYmluIFwiZmxhc2hlci1xdFwiKSBkdWUgdG8gMSBwcmV2aW91cyBlcnJvclxuXG5cbkNvbW1hbmQgZXhpdGVkIHdpdGggY29kZSAxMDEifV0sImRldGFpbHMiOnt9LCJpc0Vycm9yIjp0cnVlLCJ0aW1lc3RhbXAiOjE3ODU3NjM3Nzg2Mzl9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJlYmUwOTYxMCIsInBhcmVudElkIjoiNmIyNDFhODQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjI5OjQ1LjE2NVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqQ29uZmlndXJpbmcgUXQ2IGFuZCBsaW5raW5nIFF0IG9iamVjdCBmaWxlcyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk3YzYzMWU0ODE5MWJkMTNlODllYzgyMmRhYjlcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxY0pmSVA0YnpoZ2FIT0FLTnZYOUpZd1VzOEpWdDJab2NFRkIwdlp1bmYtSDBua3hPTzRPdktrbURmNDV6Y2ZBRjZzenRyR1NoYkJlbU93Zlh3em5sN1pfS2VlcHlhdks1S1lHTG1QOGFiRGF0QkV6eXpqdlRNMEJnQU5FQnpUZDRWSXptR3ZXRE9veERxaWFlWXFELThtbnFlWDYwSE1GYWFPdmJrNHNmdTBMOFZCTzBOeXUtTlFCUUpZNTd4T19RTlFZUFRQcGkyNTNxdmFCRDE5Qmd1SGZWTC1CR2UzSTY4ZGFaN3pNNDFCMXVWYWtqdEJ6R2YweWNWaTZ6T1J3aUpUeGtKc0I3R1EzU25PMkljaF8yZnZ0WkFuRGdxTWJVcEZXLU11TjR6ZUlpUFAtVVpKNVFKTk9HX3l5XzcwT0JURzZhTTh5emxRZ0ppMDNZRkViVzd4a1J4TzJ3VUJZQlpTcDAybVgzTzJiMUZTSnlES2hFQWVjY2JZOFl5MmZId2tJQ1ZFYmFUNFpYdzdKYmRSb2pyRjlSOUhoOWJ6V3QycGRYQy1GNzV2VHhSYzV3ODJ5cWlUVFV3OVN6MzY3SUhUVEdpZ2dmNjJrMXM5bFFNNXY5TmpBSTc2MWJRSzg2dkM2QVV3WkFrYUlreHBXdnZYZjZYLVFFNE5tdGZycDdvQm5aNTRIbzA3QVRrX21ITlJ4UXo2d01FQldSNDlpWDN1MXJxTHd2d1I3SVRPUnV3MXhWNElNbHh5SmZodzZUcVViU2YzUVFYTEw0cXhQTm1rc09BVEZ2enpQUlc4bmNKREk3akFRdlBTTHR1dEZ1NGxmcUVGM2QweXNIMklZQlVpODBBOGg1ZENmVFFVWmxEQmk5WUJOd2prNC1MZ0piLVBoX3RMVDFFemhKeHJOclVkX0ZweXhGNm9oQ0NERm9aZ3QwNHZId0hFcWpnbmd0enhPTS1Gc2NzVWlNMUlKOVgtYmNHb05yTE13RVZudUl1Q1JLbHMwNzY0alIySXNxd2g0VHdMUXRJOU9HeTl0TkpGeTBwVGJpZ3pjZV9uWGh2bFBBZFBUVDIxRF9lRE5nZDJuX0c0eGpxS2pmMnU5NjF6Tzh1UHRXeTFlR2w4YXpHNjRZWnVUNlRoc1g2a2xMdW5FajZ0SGNzS3A3QmJlelkzRXRLMlNjQlBFaE5qSzZyV3F2ZE9OamJYTGw0UTVHaVA5RUJtN2ZJWV9aVENvUGxIak9MdkI4SS1ydVZKSTVpcWxyUERuM2hJcTJaVXVqYUZRdUp1Qk5QVDBKdm54TXRyRmQ4VVBCU3pHdHl5TlprRF9IbXFpcjl0alJVSGpkaE0tMDM4N1Y2Yjc3S2JSQXRaOTZ4b1pFTGNfdk9XdEszc3RoaVVLMHpWSEE5NXBDbG1RLU40bVNvZVZ5Tmg0RUJoeHVITGFoTDZjOE9rdjVxWGZab2l6VUtwWi1ISTdzVnlYSW1tUi1RN3pobFpDWXZRYTRJdEhiZ3RodTd1eEtPbmFFRzVKUUFEMzQ4MGt4ZFBGTFhWbHJ1bEZEWldZMFo4OGc2U0VQR09oMWhFeEZndmo0QW5UdHVCalRkMXV4SGl5WnBscUk0VVRMdlJPakFBVC01RXhJTDBMVkp4X21YbTBJUWcxQ043cFNRaGRLck05b2xZdUp4LXdpWDJuVkRDeE1iZmFyelFwTWc1Vmk0RWY5VXl5aGtSZmRJQ09iendIOUZUNUo4VjNyRndUSGJBUVpnMlVZYTNOWnZrWjlYMmxPUTllRTFraHpaSmMzaURSVWNHX2ptckhXTFlnLUxaV05PRkc1S1dHRXhGUkZiZjdycjdvQ3FTWDJQQ1ktMGJST0tfc1NKOFhQeTlYU3k0NkpcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkNvbmZpZ3VyaW5nIFF0NiBhbmQgbGlua2luZyBRdCBvYmplY3QgZmlsZXMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfYVpjT2ZVTGJKNGJQUGdNY3R4NFhDNnBlfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5N2M4ODIxYzgxOTE4N2M2OWI1NTIyMmNmM2QzIiwibmFtZSI6ImVkaXQiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWwiLCJlZGl0cyI6W3sib2xkVGV4dCI6ImZlYXR1cmVzID0gW1wicXRfZ3VpXCIsIFwicXRfcW1sXCJdIiwibmV3VGV4dCI6ImZlYXR1cmVzID0gW1wicXRfZ3VpXCIsIFwicXRfcW1sXCIsIFwibGlua19xdF9vYmplY3RfZmlsZXNcIl0ifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MjE4MSwib3V0cHV0IjoxNTcsImNhY2hlUmVhZCI6MTQyODQ4LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjg1LCJ0b3RhbFRva2VucyI6MTQ1MTg2LCJjb3N0Ijp7ImlucHV0IjowLjAxMDkwNTAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwNDcxLCJjYWNoZVJlYWQiOjAuMDcxNDI0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wODcwMzl9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjM3Nzg2NDIsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5N2MzY2ExODgxOTFhZDA1M2QzZGI1YWFmZGUwIiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI1MWMyNzYzOCIsInBhcmVudElkIjoiZWJlMDk2MTAiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjI5OjQ1LjE2N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfYVpjT2ZVTGJKNGJQUGdNY3R4NFhDNnBlfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5N2M4ODIxYzgxOTE4N2M2OWI1NTIyMmNmM2QzIiwidG9vbE5hbWUiOiJlZGl0IiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHJlcGxhY2VkIDEgYmxvY2socykgaW4gY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbC4ifV0sImRldGFpbHMiOnsiZGlmZiI6IiAgICAuLi5cbiAgNSBkZXNjcmlwdGlvbiA9IFwiQSBRdCA2L0tERSBLaXJpZ2FtaSBpbnRlcmZhY2UgZm9yIHByZXBhcmluZyBBTFQgTGludXggU0JDIGltYWdlc1wiXG4gIDYgbGljZW5zZSA9IFwiR1BMLTIuMC1vci1sYXRlclwiXG4gIDcgXG4gIDggW2RlcGVuZGVuY2llc11cbi0gOSBjeHgtcXQtbGliID0geyB2ZXJzaW9uID0gXCIwLjkuMVwiLCBmZWF0dXJlcyA9IFtcInF0X2d1aVwiLCBcInF0X3FtbFwiXSB9XG4rIDkgY3h4LXF0LWxpYiA9IHsgdmVyc2lvbiA9IFwiMC45LjFcIiwgZmVhdHVyZXMgPSBbXCJxdF9ndWlcIiwgXCJxdF9xbWxcIiwgXCJsaW5rX3F0X29iamVjdF9maWxlc1wiXSB9XG4gMTAgc2VyZGVfanNvbiA9IFwiMVwiIiwicGF0Y2giOiItLS0gY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbFxuKysrIGNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWxcbkBAIC01LDYgKzUsNiBAQFxuIGRlc2NyaXB0aW9uID0gXCJBIFF0IDYvS0RFIEtpcmlnYW1pIGludGVyZmFjZSBmb3IgcHJlcGFyaW5nIEFMVCBMaW51eCBTQkMgaW1hZ2VzXCJcbiBsaWNlbnNlID0gXCJHUEwtMi4wLW9yLWxhdGVyXCJcbiBcbiBbZGVwZW5kZW5jaWVzXVxuLWN4eC1xdC1saWIgPSB7IHZlcnNpb24gPSBcIjAuOS4xXCIsIGZlYXR1cmVzID0gW1wicXRfZ3VpXCIsIFwicXRfcW1sXCJdIH1cbitjeHgtcXQtbGliID0geyB2ZXJzaW9uID0gXCIwLjkuMVwiLCBmZWF0dXJlcyA9IFtcInF0X2d1aVwiLCBcInF0X3FtbFwiLCBcImxpbmtfcXRfb2JqZWN0X2ZpbGVzXCJdIH1cbiBzZXJkZV9qc29uID0gXCIxXCJcbiIsImZpcnN0Q2hhbmdlZExpbmUiOjl9LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg1NzYzNzg1MTY3fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMTY2MTQwY2MiLCJwYXJlbnRJZCI6IjUxYzI3NjM4IiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzoyOTo1MC4xNjdaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzRodHJScmJMeVJJSXVRZmhndTZNb3NGdHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTdjY2JmNGM4MTkxYjkyNjU2NzkyZGU4OWYxMiIsIm5hbWUiOiJ3cml0ZSIsImFyZ3VtZW50cyI6eyJwYXRoIjoiLmNhcmdvL2NvbmZpZy50b21sIiwiY29udGVudCI6IltlbnZdXG4jIENYWC1RdCBvdGhlcndpc2UgcHJlZmVycyBRdCA1IHdoZW4gYm90aCBtYWpvciB2ZXJzaW9ucyBhcmUgaW5zdGFsbGVkLlxuUVRfVkVSU0lPTl9NQUpPUiA9IFwiNlwiXG4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjMxOCwib3V0cHV0Ijo1NCwiY2FjaGVSZWFkIjoxNDQ4OTYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MCwidG90YWxUb2tlbnMiOjE0NTI2OCwiY29zdCI6eyJpbnB1dCI6MC4wMDE1OSwib3V0cHV0IjowLjAwMTYyMDAwMDAwMDAwMDAwMDEsImNhY2hlUmVhZCI6MC4wNzI0NDgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA3NTY1OH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2Mzc4NTE2OCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk3Yzk2ZDc0ODE5MWEzMjQ1Y2Y0ZGNjNWIzMjEiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImIxZTdmNTFjIiwicGFyZW50SWQiOiIxNjYxNDBjYyIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6Mjk6NTAuMTY4WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF80aHRyUnJiTHlSSUl1UWZoZ3U2TW9zRnR8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk3Y2NiZjRjODE5MWI5MjY1Njc5MmRlODlmMTIiLCJ0b29sTmFtZSI6IndyaXRlIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHdyb3RlIDEwMSBieXRlcyB0byAuY2FyZ28vY29uZmlnLnRvbWwifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODU3NjM3OTAxNjh9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI4YTQyY2Y4ZSIsInBhcmVudElkIjoiYjFlN2Y1MWMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjI5OjUzLjEwNloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfSGhkSEZDYnZkZW5NcUp4MWhIUG52Z0ZFfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5N2QwNWNiYzgxOTFhMDgzMTlkNDEyNDBhNDI4IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGNsZWFuIC1wIGN4eC1xdC1saWIgJiYgY2FyZ28gYnVpbGQgLXAgZmxhc2hlci1xdCIsInRpbWVvdXQiOjE4MH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjozOTMsIm91dHB1dCI6MzksImNhY2hlUmVhZCI6MTQ0ODk2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjAsInRvdGFsVG9rZW5zIjoxNDUzMjgsImNvc3QiOnsiaW5wdXQiOjAuMDAxOTY1LCJvdXRwdXQiOjAuMDAxMTcsImNhY2hlUmVhZCI6MC4wNzI0NDgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA3NTU4M319LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2Mzc5MDE3MCwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk3Y2U5NzAwODE5MWE4YzA1NWNhNzZjZmRjMjUiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImYzOGM5ZTgwIiwicGFyZW50SWQiOiI4YTQyY2Y4ZSIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6Mjk6NTUuNDkwWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9IaGRIRkNidmRlbk1xSngxaEhQbnZnRkV8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk3ZDA1Y2JjODE5MWEwODMxOWQ0MTI0MGE0MjgiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgIFJlbW92ZWQgODM0IGZpbGVzLCAzNTEuMU1pQiB0b3RhbFxuICAgQ29tcGlsaW5nIHF0LWJ1aWxkLXV0aWxzIHYwLjkuMVxuICAgQ29tcGlsaW5nIGN4eC1xdC1idWlsZCB2MC45LjFcbiAgIENvbXBpbGluZyBjeHgtcXQgdjAuOS4xXG4gICBDb21waWxpbmcgY3h4LXF0LWxpYiB2MC45LjFcbmVycm9yOiBmYWlsZWQgdG8gcnVuIGN1c3RvbSBidWlsZCBjb21tYW5kIGZvciBgY3h4LXF0IHYwLjkuMWBcblxuQ2F1c2VkIGJ5OlxuICBwcm9jZXNzIGRpZG4ndCBleGl0IHN1Y2Nlc3NmdWxseTogYC9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9jeHgtcXQtMWUxZDNkZWQ4YzcyZGQ4NC9idWlsZC1zY3JpcHQtYnVpbGRgIChleGl0IHN0YXR1czogMTAxKVxuICAtLS0gc3Rkb3V0XG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb25uZWN0aW9uLnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9xb2JqZWN0LnJzXG4gIGNhcmdvOjpyZXJ1bi1pZi1jaGFuZ2VkPXNyYy9jb25uZWN0aW9uLmNwcFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvaW5pdC5jcHBcbiAgY2FyZ286OnJ1c3RjLWxpbmstYXJnPS1mdXNlLWxkPWxsZFxuICBjYXJnbzo6cmVydW4taWYtZW52LWNoYW5nZWQ9UU1BS0VcbiAgY2FyZ286OnJlcnVuLWlmLWVudi1jaGFuZ2VkPVFUX1ZFUlNJT05fTUFKT1JcblxuICAtLS0gc3RkZXJyXG5cbiAgdGhyZWFkICdtYWluJyBwYW5pY2tlZCBhdCAvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1idWlsZC0wLjkuMS9zcmMvbGliLnJzOjEyNTI6MTQ6XG4gIENvdWxkIG5vdCBmaW5kIFF0IGluc3RhbGxhdGlvbjogQ291bGQgbm90IGZpbmQgUXRcbiAgbm90ZTogcnVuIHdpdGggYFJVU1RfQkFDS1RSQUNFPTFgIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGRpc3BsYXkgYSBiYWNrdHJhY2VcblxuXG5Db21tYW5kIGV4aXRlZCB3aXRoIGNvZGUgMTAxIn1dLCJkZXRhaWxzIjp7fSwiaXNFcnJvciI6dHJ1ZSwidGltZXN0YW1wIjoxNzg1NzYzNzk1NDkwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiM2FjMjFkYjgiLCJwYXJlbnRJZCI6ImYzOGM5ZTgwIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzozMDowMi4yNjBaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKkludmVzdGlnYXRpbmcgbWlzc2luZyBxbWFrZSBpbiBRdDYgcGFja2FnZSoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk3ZDcwOGEwODE5MWJiZDczNjJkMzAwOGJmZmFcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxY0pmWlU0YVJ2Z04tLVk4WHdNb3U0dUxvUjhacGpUMnItbW9rR3lvdTVBYWt5ajMwMzRkUmdGMEpkclNSRS1tWHVCcUdVakhFM09PdllkTFhlRllPX19NQ2hjZFRCbUpkLXZXYmNfZnliS2lnd2xwaUo0RENsbUM1dWJobzQxTHQ0VTFSYVdPMF90eVIySFkwUEtTZW1JeWpwNjdYZm53Q1FTamE4blh4MldxS3ZwZU13Z1hDNkI4MzBERnhuTGhWQkI2WGhIYTRmUTV0M0NEZk1JTUVpZFZwNGdyWHBFeXZXcWI5eEZaWVZ0YTNKNzZTdEJjQzZmM3ZGSjh2ZEdLaHFDMDRSNmdvZzhjbGZ1U2RjbG5ZVEdQSFVUcURKY0hnN1FQREVKVUlKaVlxSEstRlRMUU9YT1QwU2h5bnlwVlVUeTZ4U1ZmbWZIdy1yQkhXT2tQdUZ4dzdBMEVpYXU3VjhBWEZTbXF3MGZSUXNMTHFELWNYa013V1YwTXQtemNxZHp3OHpOZURjN3hMdTJJRG9hZmdldGZ6YkNDNno1dkVDNmJ3MWZJWGc3b0hUMFc2c3NSdGp3eHFPeDNqMnY1YXFlbW9lYVBNcjlCNHRjUHZvVGdSc29DVmtmM0dpSzYxRTVpVGg3R1Z1LVV1Qkd0NGZPcFhjUkFzMnRxY3NBMDdyVV9tRTlMNzFKV0VSSTRGUHBKc0J5SjNZdFpqMkprakRjV2lWYzNyUE91YTZKdTdtX1dFS3R2ODAwQjZoQXRZc0Utc1N0MDNuaGVDeGQ2MVk0bnF3a09UQldMdGxhdzYyVlVxQ0dSbWh4ZFNrZk9kRi1hdXk1cE5CZF9MdE5FVlpLUGhhTnV2ZjUxc1F2RlFHM2pPa1laWWppNXFVQWxxcFpvVm8xQkdwOWFnU2sydjBlME9VQXdtdUpCNGZ6anM1b251SzNIQlBvWVh0SndyNE9ZRzFCWG0yZ2NWR2lRUi12OElkd20tNXRNN183NzZqcU11SjJ6QUhvb0ZncWU0YjJiNXdOUk1mbHIxVkZ2NTJCa3hpeDMyY2d5TmZlc3JzbHItN1RkVjVrckNZMm5ZYjZhNVVsTzBmd3Qxek1QMlRxd0ItMXUtLTlEZDNIcXhQSjk5VTQxdnIwcU5ITmFTV09tbms3NHBERlIzY0FReDVHNzZMb0ZhdzhfQVZCckx1bnY3TWZmVWN2ZkxQRE44a0RNYlZMMDZINjU3c2VWYnNoSkFmVktiSzN0X3BFYXE2R05CaFM0aTlBU2xrWDNMY3dkMWVROE4xbklBUzFVLVJvbjMtV2ZqRDNfV2tObXd3UEpWQjRBaGc5MXBMTWluZElhdGdubTdlRVdrbnJaREZ3WTByV1gxeGNwdkRVMlo1MWYxMTEwYVk2R0lyLWVGd0JYQlRQcjJyTHlQTTE3QkRRamZ1ZmhMeURERGNJaVFQcjhoS2h0anNwUEI3WVhuU1JqTVIzbjVrdFNENWZpMzdENXpBcUFVdWY3Z19rQWR2VjI2cFBlVVFkMnB4ZkFNZEVLb1dlN0JIOXhWLVgyZm9IcHctR2lUZFkxMTJPdmhtbFNBTjJHU1Q2NFNjb0JkSjdxUk9BZ3g4Z1VQSENsVnNiYVUtSTJKRERLNmJuSTFkZXJXREtqbUdlS1B3cDY5c3JXRVp3ci1wdDZIdWlRVDdWUGIxN3dIZ2hSbkRyNEhvQVdjTWdyT3lGUTR1akV2UDVDUThnaEU5YmdpLWM1S3pJaVZwMFp2NXpGR1FiZ3k3cjV4ckVOM1psbHdjd2lweHQwUDZTM04wV1ZmOEk5ZHVLZWJQTGdWWmZKbHBCRFBnRE9pd2VLcWdoUkRUSldGdXI4RFVzUWRJYkxVeHpmcTJkZlMzcVhCdFRtZ3ZySXJNbXo2RXBreFFRc3NrSmsxUy0yMHMtbzJObU5OZzc0PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqSW52ZXN0aWdhdGluZyBtaXNzaW5nIHFtYWtlIGluIFF0NiBwYWNrYWdlKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX1E3dDVNczNIV3dKemZZbDlUSmtGY1RubXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTdkOTRlYjA4MTkxYTYwMzhiMzQ2ZmEzZDlkYSIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJhcHQtY2FjaGUgc2VhcmNoICdxdDYuKnRvb2xzJyB8IGhlYWQgLTMwOyBycG0gLXFsIHF0Ni1iYXNlLWRldmVsIHwgZ3JlcCAtRSAncW1ha2V8YmluLycgfCBoZWFkIC0zMDsgcnBtIC1xYSB8IGdyZXAgJ15xdDYnIHwgc29ydCB8IGhlYWQgLTQwIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo3ODksIm91dHB1dCI6MTY1LCJjYWNoZVJlYWQiOjE0NDg5NiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo5NSwidG90YWxUb2tlbnMiOjE0NTg1MCwiY29zdCI6eyJpbnB1dCI6MC4wMDM5NDUwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDQ5NSwiY2FjaGVSZWFkIjowLjA3MjQ0OCwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDgxMzQzfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg1NzYzNzk1NDkyLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTdkM2JmMDQ4MTkxYjEzZDFmOTFjNDc3YmE3NCIsInJhd1N0b3BSZWFzb24iOiJjb21wbGV0ZWQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNTBjNDU5ZmMiLCJwYXJlbnRJZCI6IjNhYzIxZGI4IiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzozMDowMy40MDBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1E3dDVNczNIV3dKemZZbDlUSmtGY1RubXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTdkOTRlYjA4MTkxYTYwMzhiMzQ2ZmEzZDlkYSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6ImRxdDYtc2hhZGVydG9vbHMtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgZHF0Ni1zaGFkZXJ0b29sc1xuZHF0Ni1zaGFkZXJ0b29scy1kb2MgLSBEb2N1bWVudCBmb3IgZGV2ZWxvcGluZyBhcHBzIHdoaWNoIHdpbGwgdXNlIFF0NiBkcXRzaGFkZXJ0b29sc1xubGliZHF0Ni1zaGFkZXJ0b29scyAtIFF0NiBsaWJyYXJ5XG5kcXQ2LXRvb2xzIC0gUXQ2IC0gUXRUb29sIGNvbXBvbmVudHNcbmRxdDYtdG9vbHMtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgZHF0Ni10b29sc1xuZHF0Ni10b29scy1kb2MgLSBEb2N1bWVudCBmb3IgZGV2ZWxvcGluZyBhcHBzIHdoaWNoIHdpbGwgdXNlIFF0NiBkcXR0b29sc1xubGliZHF0Ni11aXRvb2xzIC0gUXQ2IGxpYnJhcnlcbmxpYnF0Ni1zaGFkZXJ0b29scyAtIFF0NiBsaWJyYXJ5XG5xdDYtc2hhZGVydG9vbHMtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ2LXNoYWRlcnRvb2xzXG5xdDYtc2hhZGVydG9vbHMtZG9jIC0gRG9jdW1lbnQgZm9yIGRldmVsb3BpbmcgYXBwcyB3aGljaCB3aWxsIHVzZSBRdDYgcXRzaGFkZXJ0b29sc1xubGlicXQ2LXVpdG9vbHMgLSBRdDYgbGlicmFyeVxucXQ2LXRvb2xzIC0gUXQ2IC0gUXRUb29sIGNvbXBvbmVudHNcbnF0Ni10b29scy1kZXZlbCAtIERldmVsb3BtZW50IGZpbGVzIGZvciBxdDYtdG9vbHNcbnF0Ni10b29scy1kb2MgLSBEb2N1bWVudCBmb3IgZGV2ZWxvcGluZyBhcHBzIHdoaWNoIHdpbGwgdXNlIFF0NiBxdHRvb2xzXG5pNTg2LWRxdDYtc2hhZGVydG9vbHMtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgZHF0Ni1zaGFkZXJ0b29sc1xuaTU4Ni1kcXQ2LXRvb2xzLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIGRxdDYtdG9vbHNcbmk1ODYtbGliZHF0Ni1zaGFkZXJ0b29scyAtIFF0NiBsaWJyYXJ5XG5pNTg2LWxpYmRxdDYtdWl0b29scyAtIFF0NiBsaWJyYXJ5XG5pNTg2LWxpYnF0Ni1zaGFkZXJ0b29scyAtIFF0NiBsaWJyYXJ5XG5pNTg2LWxpYnF0Ni11aXRvb2xzIC0gUXQ2IGxpYnJhcnlcbmk1ODYtcXQ2LXNoYWRlcnRvb2xzLWRldmVsIC0gRGV2ZWxvcG1lbnQgZmlsZXMgZm9yIHF0Ni1zaGFkZXJ0b29sc1xuaTU4Ni1xdDYtdG9vbHMtZGV2ZWwgLSBEZXZlbG9wbWVudCBmaWxlcyBmb3IgcXQ2LXRvb2xzXG5kcXQ2LWx4cXQtYnVpbGQtdG9vbHMgLSBseHF0LWJ1aWxkLXRvb2xzIGZvcmsgZm9yIERERVxuZHF0Ni1zaGFkZXJ0b29scy1jb21tb24gLSBDb21tb24gcGFja2FnZSBmb3IgZHF0Ni1zaGFkZXJ0b29sc1xuZHF0Ni10b29scy1jb21tb24gLSBDb21tb24gcGFja2FnZSBmb3IgZHF0Ni10b29sc1xucXQ2LXNoYWRlcnRvb2xzLWNvbW1vbiAtIENvbW1vbiBwYWNrYWdlIGZvciBxdDYtc2hhZGVydG9vbHNcbnF0Ni10b29scy1jb21tb24gLSBDb21tb24gcGFja2FnZSBmb3IgcXQ2LXRvb2xzXG4vdXNyL2Jpbi9hbmRyb2lkZGVwbG95cXQtcXQ2XG4vdXNyL2Jpbi9hbmRyb2lkdGVzdHJ1bm5lci1xdDZcbi91c3IvYmluL3FkYnVzY3BwMnhtbC1xdDZcbi91c3IvYmluL3FkYnVzeG1sMmNwcC1xdDZcbi91c3IvYmluL3FtYWtlLXF0NlxuL3Vzci9iaW4vcXQtY21ha2UtY3JlYXRlLXF0NlxuL3Vzci9iaW4vcXQtY21ha2UtcXQ2XG4vdXNyL2Jpbi9xdC1jb25maWd1cmUtbW9kdWxlLXF0NlxuL3Vzci9iaW4vcXRwYXRocy1xdDZcbi91c3IvaW5jbHVkZS9xdDYvUXRDb3JlLzYuMTAuMy9RdENvcmUvcHJpdmF0ZS9xbWFrZWFycmF5X3AuaFxuL3Vzci9saWI2NC9xdDYvbWtzcGVjcy9haXgtZysrLTY0L3FtYWtlLmNvbmZcbi91c3IvbGliNjQvcXQ2L21rc3BlY3MvYWl4LWcrKy9xbWFrZS5jb25mXG4vdXNyL2xpYjY0L3F0Ni9ta3NwZWNzL2FuZHJvaWQtY2xhbmcvcW1ha2UuY29uZlxuL3Vzci9saWI2NC9xdDYvbWtzcGVjcy9jb21tb24vdWlraXQvcW1ha2UuY29uZlxuL3Vzci9saWI2NC9xdDYvbWtzcGVjcy9jeWd3aW4tZysrL3FtYWtlLmNvbmZcbi91c3IvbGliNjQvcXQ2L21rc3BlY3MvZGFyd2luLWcrKy9xbWFrZS5jb25mXG4vdXNyL2xpYjY0L3F0Ni9ta3NwZWNzL2RldmljZXMvZnJlZWJzZC1nZW5lcmljLWNsYW5nL3FtYWtlLmNvbmZcbi91c3IvbGliNjQvcXQ2L21rc3BlY3MvZGV2aWNlcy9mcmVlYnNkLXJhc3AtcGktY2xhbmcvcW1ha2UuY29uZlxuL3Vzci9saWI2NC9xdDYvbWtzcGVjcy9kZXZpY2VzL2ludGVncml0eS1hcm12OC1TQTgxNTVQL3FtYWtlLmNvbmZcbi91c3IvbGliNjQvcXQ2L21rc3BlY3MvZGV2aWNlcy9pbnRlZ3JpdHktYXJtdjgtZHJpdmUtY3gvcW1ha2UuY29uZlxuL3Vzci9saWI2NC9xdDYvbWtzcGVjcy9kZXZpY2VzL2ludGVncml0eS1hcm12OC1tc204OTk2YXUvcW1ha2UuY29uZlxuL3Vzci9saWI2NC9xdDYvbWtzcGVjcy9kZXZpY2VzL2xpbnV4LWFyY2hvcy1nZW44LWcrKy9xbWFrZS5jb25mXG4vdXNyL2xpYjY0L3F0Ni9ta3NwZWNzL2RldmljZXMvbGludXgtYXJtLWFtbG9naWMtODcyNk0tZysrL3FtYWtlLmNvbmZcbi91c3IvbGliNjQvcXQ2L21rc3BlY3MvZGV2aWNlcy9saW51eC1hcm0tZ2VuZXJpYy1nKysvcW1ha2UuY29uZlxuL3Vzci9saWI2NC9xdDYvbWtzcGVjcy9kZXZpY2VzL2xpbnV4LWFybS1oaXNpbGljb24taGl4NWhkMi1nKysvcW1ha2UuY29uZlxuL3Vzci9saWI2NC9xdDYvbWtzcGVjcy9kZXZpY2VzL2xpbnV4LWFybS10cmlkZW50LXBueDg0NzMtZysrL3FtYWtlLmNvbmZcbi91c3IvbGliNjQvcXQ2L21rc3BlY3MvZGV2aWNlcy9saW51eC1iZWFnbGVib2FyZC1nKysvcW1ha2UuY29uZlxuL3Vzci9saWI2NC9xdDYvbWtzcGVjcy9kZXZpY2VzL2xpbnV4LWNvbGlicmktdmYtZysrL3FtYWtlLmNvbmZcbi91c3IvbGliNjQvcXQ2L21rc3BlY3MvZGV2aWNlcy9saW51eC1kcml2ZS1jeC1nKysvcW1ha2UuY29uZlxuL3Vzci9saWI2NC9xdDYvbWtzcGVjcy9kZXZpY2VzL2xpbnV4LWVtdS1nKysvcW1ha2UuY29uZlxucXQ2LTVjb21wYXQtY29tbW9uLTYuMTAuMy1hbHQxLm5vYXJjaFxucXQ2LTVjb21wYXQtZGV2ZWwtNi4xMC4zLWFsdDEueDg2XzY0XG5xdDYtYmFzZS1jb21tb24tNi4xMC4zLWFsdDQueDg2XzY0XG5xdDYtYmFzZS1kZXZlbC02LjEwLjMtYWx0NC54ODZfNjRcbnF0Ni1kZWNsYXJhdGl2ZS02LjEwLjMtYWx0Mi54ODZfNjRcbnF0Ni1kZWNsYXJhdGl2ZS1jb21tb24tNi4xMC4zLWFsdDIueDg2XzY0XG5xdDYtZGVjbGFyYXRpdmUtZGV2ZWwtNi4xMC4zLWFsdDIueDg2XzY0XG5xdDYtaW1hZ2Vmb3JtYXRzLTYuMTAuMy1hbHQxLng4Nl82NFxucXQ2LWltYWdlZm9ybWF0cy1jb21tb24tNi4xMC4zLWFsdDEubm9hcmNoXG5xdDZrZXljaGFpbi1jb21tb24tMC4xNi4wLWFsdDEubm9hcmNoXG5xdDYtbXVsdGltZWRpYS1jb21tb24tNi4xMC4zLWFsdDEubm9hcmNoXG5xdDYtc2N4bWwtY29tbW9uLTYuMTAuMy1hbHQxLm5vYXJjaFxucXQ2LXNlcmlhbHBvcnQtY29tbW9uLTYuMTAuMy1hbHQxLm5vYXJjaFxucXQ2LXNlcmlhbHBvcnQtZGV2ZWwtNi4xMC4zLWFsdDEueDg2XzY0XG5xdDYtc2hhZGVydG9vbHMtY29tbW9uLTYuMTAuMy1hbHQyLm5vYXJjaFxucXQ2LXN2Zy1jb21tb24tNi4xMC4zLWFsdDIubm9hcmNoXG5xdDYtc3ZnLWRldmVsLTYuMTAuMy1hbHQyLng4Nl82NFxucXQ2LXRvb2xzLTYuMTAuMy1hbHQzLng4Nl82NFxucXQ2LXRvb2xzLWNvbW1vbi02LjEwLjMtYWx0My5ub2FyY2hcbnF0Ni10cmFuc2xhdGlvbnMtNi4xMC4zLWFsdDEubm9hcmNoXG5xdDYtdmlydHVhbGtleWJvYXJkLTYuMTAuMy1hbHQxLng4Nl82NFxucXQ2LXZpcnR1YWxrZXlib2FyZC1jb21tb24tNi4xMC4zLWFsdDEubm9hcmNoXG5xdDYtd2F5bGFuZC02LjEwLjMtYWx0MS54ODZfNjRcbnF0Ni13YXlsYW5kLWNvbW1vbi02LjEwLjMtYWx0MS5ub2FyY2hcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NTc2MzgwMzQwMH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImIxMWYzMzMyIiwicGFyZW50SWQiOiI1MGM0NTlmYyIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzA6MDguMzMyWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipDb25maWd1cmluZyBRTUFLRSB0byBxbWFrZS1xdDYgcGF0aCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk3ZGUwZmMwODE5MTllY2YyYTUxNDY2ZDgzMjVcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxY0pmZlhoZkF1Y1hFZEV3YkVEQlU5aXFfVTRzX1ZFUVFaemU1NzlHbEVxSmkya0tJbVpNSDVxUXhacDg0RFdVWFpra1M0cFp4QlRHZnd5cEM1TWJ1d3RzLXZ1S0lIM3hQN1J3aXZGM0ZsQUJIdjgyTWtud3EwQ2ZoOUV3ZGpsNjc4NjRPVmxtMzhNTW1vb0p1M245UGtEQmNLOTEwdjhSZGJ1ZF93azhrUmQxUVlKdVp6SGZiWkUzMmxhZVNaUGVva3ZRZWR6Rl82cFozSTFMSTlGMURuVHo5VUVSdnpDaVB3YTJqVkJMWUNBRnhKWk4wVHBkWUczeVk1bG15a202Vlh4cHNRZzlWMU5VbTdIeW0zZ0hqbFI5elZ3aUVWQW9ZS2xTSHZHUWZJbFZNLWgtZWVxTXR6SFpaVGlUX09nRVNUcFhySW1uT2ptclZtdUczbFVnaWxGOHRHMGJiYmp2T3dVdUxzT2NTWjNBQlVxdExWdHhOTE5iTnh6LXExUVdWdjFTOEVqQ0dhdk0xOEstbl9HU0FtdlJFdElpZjQ1b0otUnl6RVFkelpyNnkwTXlneHR4Sm9aRHRGNWFqc2lQSW16ZGI2ZmtjbXJTbkxXRXdGT29zeFY4Z1NYbHc0Y0xWSlVNUS1wNmdFeXg1ZUZoa240NmJROXM1TndOX05yQk5Da2U1d1A1SF8tMFhlME8tWU42c0JjT1BneFVQWnVhRER3M0FrTm1JMmJabktFZzFJdmF0NkswUkRRMlQzX0dMWkZVel9raFZaZnRCdlRsRjZ3djVvM2k5andpOFJOZFIzY1Y4YldCTnI2X1k4aHpwNHh3LU96ODVWeW81VEVLbmRXZXFLSFExSWNHdWVtZnBZRU5IZ19wbFdvLXpybDI2UVR2QzZtRnFpNm0wcHVOYnQzSzd0cmhNdVhGSUlETG5yaTlzLS1kaVVNZFJSNlRIUENIa01INWpWUDRmQUlsay1RSFVBZ0FuRWQ0ZDRVTFFkZFRkR2NWN1QxdGQxeVhndENhU1VzaXk3aWdhWUpLWFJkWnAtMTVDRzFQTUtBU3VXVDNFNm5aVnFORG1jeXVhb1BTQWQ0VWNYQ3NSMVNhQ1REckdab2V6djN6ZTVUaTl1bEFmYkZocEVERXJEWkhkWUZMOEZRdkxTZklGWERiZDl0WmpQS3dhQmZxZmRnZGdzWi0td2pyVnFreThzZDRodHZGa0dNck0zMUVEQWsyc2t1ZUo4RjRXT19UTHRlaHBRSDV0VVZzR2dHbzBNN0E0NjBqcUl2dm1tWElZdUM5R3hsNzgwdVlodHZScWJHYVBOa0NreElRcXJXWlhDbi1RWVF4aUZGZXlJVWRpSkZSODNLSlUzQkk5cUduOUljcTdnYVRERGpibDE2c2pwV0pkZS02NnN4SWtrN2NJTFI0PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqQ29uZmlndXJpbmcgUU1BS0UgdG8gcW1ha2UtcXQ2IHBhdGgqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfUkl3SmlXTXZOYlRmcXU2WTJjcUloVWt2fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5N2RmYzQ0ODgxOTE5NjMyN2FhOGZhMTFiODU2IiwibmFtZSI6ImVkaXQiLCJhcmd1bWVudHMiOnsicGF0aCI6Ii5jYXJnby9jb25maWcudG9tbCIsImVkaXRzIjpbeyJvbGRUZXh0IjoiUVRfVkVSU0lPTl9NQUpPUiA9IFwiNlwiIiwibmV3VGV4dCI6IlFUX1ZFUlNJT05fTUFKT1IgPSBcIjZcIlxuUU1BS0UgPSBcIi91c3IvYmluL3FtYWtlLXF0NlwiIn1dfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjIzNTYsIm91dHB1dCI6OTgsImNhY2hlUmVhZCI6MTQ0ODk2LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjM0LCJ0b3RhbFRva2VucyI6MTQ3MzUwLCJjb3N0Ijp7ImlucHV0IjowLjAxMTc4LCJvdXRwdXQiOjAuMDAyOTQsImNhY2hlUmVhZCI6MC4wNzI0NDgsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA4NzE2OH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2MzgwMzQwMywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk3ZGJmMWU4ODE5MTlkZDlkMmIwYzgzZjIzNTUiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjU2ODBiZjE5IiwicGFyZW50SWQiOiJiMTFmMzMzMiIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzA6MDguMzMzWiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9SSXdKaVdNdk5iVGZxdTZZMmNxSWhVa3Z8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk3ZGZjNDQ4ODE5MTk2MzI3YWE4ZmExMWI4NTYiLCJ0b29sTmFtZSI6ImVkaXQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgcmVwbGFjZWQgMSBibG9jayhzKSBpbiAuY2FyZ28vY29uZmlnLnRvbWwuIn1dLCJkZXRhaWxzIjp7ImRpZmYiOiIgMSBbZW52XVxuIDIgIyBDWFgtUXQgb3RoZXJ3aXNlIHByZWZlcnMgUXQgNSB3aGVuIGJvdGggbWFqb3IgdmVyc2lvbnMgYXJlIGluc3RhbGxlZC5cbiAzIFFUX1ZFUlNJT05fTUFKT1IgPSBcIjZcIlxuKzQgUU1BS0UgPSBcIi91c3IvYmluL3FtYWtlLXF0NlwiIiwicGF0Y2giOiItLS0gLmNhcmdvL2NvbmZpZy50b21sXG4rKysgLmNhcmdvL2NvbmZpZy50b21sXG5AQCAtMSwzICsxLDQgQEBcbiBbZW52XVxuICMgQ1hYLVF0IG90aGVyd2lzZSBwcmVmZXJzIFF0IDUgd2hlbiBib3RoIG1ham9yIHZlcnNpb25zIGFyZSBpbnN0YWxsZWQuXG4gUVRfVkVSU0lPTl9NQUpPUiA9IFwiNlwiXG4rUU1BS0UgPSBcIi91c3IvYmluL3FtYWtlLXF0NlwiXG4iLCJmaXJzdENoYW5nZWRMaW5lIjo0fSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NTc2MzgwODMzM319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjRkNzA1NjIyIiwicGFyZW50SWQiOiI1NjgwYmYxOSIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzA6MTEuNTg2WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9yb0xhaURxYXhxYlA3Q0c4czZqUHV2aXF8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk3ZTJlYzZjODE5MWFiMmU1YzYwZjY4ODgzYzEiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoiY2FyZ28gYnVpbGQgLXAgZmxhc2hlci1xdCIsInRpbWVvdXQiOjE4MH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo0MzAsIm91dHB1dCI6MjksImNhY2hlUmVhZCI6MTQ2OTQ0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjAsInRvdGFsVG9rZW5zIjoxNDc0MDMsImNvc3QiOnsiaW5wdXQiOjAuMDAyMTUsIm91dHB1dCI6MC4wMDA4NywiY2FjaGVSZWFkIjowLjA3MzQ3MiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDc2NDkxOTk5OTk5OTk5OTl9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjM4MDgzMzUsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5N2UwYTFkYzgxOTE5MzcwODhmYjBjNGIzZDIwIiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI3YWJmMmM0OSIsInBhcmVudElkIjoiNGQ3MDU2MjIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjMxOjI3LjMzMloiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfcm9MYWlEcWF4cWJQN0NHOHM2alB1dmlxfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5N2UyZWM2YzgxOTFhYjJlNWM2MGY2ODg4M2MxIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgQ29tcGlsaW5nIGN4eC1xdCB2MC45LjFcbiAgIENvbXBpbGluZyBjeHgtcXQtbGliIHYwLjkuMVxuICAgQ29tcGlsaW5nIGZsYXNoZXItcXQgdjAuMS4wICgvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9idWlsZHJvb3QvZmxhc2hlci9jcmF0ZXMvZmxhc2hlci1xdClcbmVycm9yOiBsaW5raW5nIHdpdGggYGNjYCBmYWlsZWQ6IGV4aXQgc3RhdHVzOiAxXG4gIHxcbiAgPSBub3RlOiAgXCJjY1wiIFwiLW02NFwiIFwiL3RtcC8ucHJpdmF0ZS9hZ3VzY2hpbi9ydXN0Y2Z5SHFNVS9zeW1ib2xzLm9cIiBcIjw2OCBvYmplY3QgZmlsZXMgb21pdHRlZD5cIiBcIi1XbCwtLWFzLW5lZWRlZFwiIFwiLVdsLC1Cc3RhdGljXCIgXCIvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9idWlsZHJvb3QvZmxhc2hlci90YXJnZXQvZGVidWcvZGVwcy97bGlic2VyZGVfanNvbi1jMDFkZTgyOGU5YTFjNWNkLnJsaWIsbGlibWVtY2hyLWEzZTM4ZDQ4NDA5OTljZjcucmxpYixsaWJpdG9hLTJiNWU3MmM0NGYyNGQzNjgucmxpYixsaWJ6bWlqLTQ1ZmM4YTYwMjc0ZWIxMjUucmxpYixsaWJzZXJkZV9jb3JlLTAzZjE4OTkxNzJiNGE1YWIucmxpYixsaWJjeHhfcXRfbGliLWNkY2E0Y2VjYWVlMGFkNWEucmxpYn0ucmxpYlwiIFwiLVdsLC0td2hvbGUtYXJjaGl2ZVwiIFwiLVdsLC90bXAvLnByaXZhdGUvYWd1c2NoaW4vcnVzdGNmeUhxTVUvbGliY3h4LXF0LWNhbGwtaW5pdC1jcmF0ZV9jeHhfcXRfbGliLmFcIiBcIi1XbCwtLW5vLXdob2xlLWFyY2hpdmVcIiBcIi9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9kZXBzL3tsaWJjeHhfcXQtMzg4MjczNGQyNzVlMzc1Yy5ybGlifS5ybGliXCIgXCItV2wsLS13aG9sZS1hcmNoaXZlXCIgXCItV2wsL3RtcC8ucHJpdmF0ZS9hZ3VzY2hpbi9ydXN0Y2Z5SHFNVS9saWJjeHgtcXQtY2FsbC1pbml0LWNyYXRlX2N4eF9xdC5hXCIgXCItV2wsLS1uby13aG9sZS1hcmNoaXZlXCIgXCIvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9idWlsZHJvb3QvZmxhc2hlci90YXJnZXQvZGVidWcvZGVwcy97bGlic3RhdGljX2Fzc2VydGlvbnMtOWFkOTA5NTJjMjJjNDEwMi5ybGliLGxpYnRoaXNlcnJvci01YTZiYzQ1ZjQ3YjBmNjY4LnJsaWIsbGliY3h4LWQ4OGEwOGU4MDNiNTZkYjIucmxpYixsaWJmb2xkaGFzaC01NDFkYTI3NTZjMTliZDgxLnJsaWIsbGlibGlua19jcGx1c3BsdXMtYmNjYjY3M2M3ZTNjMGJmYi5ybGlifS5ybGliXCIgXCI8c3lzcm9vdD4vbGliL3J1c3RsaWIveDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi97bGlic3RkLSosbGlicGFuaWNfdW53aW5kLSosbGlib2JqZWN0LSosbGlibWVtY2hyLSosbGliYWRkcjJsaW5lLSosbGliZ2ltbGktKixsaWJydXN0Y19kZW1hbmdsZS0qLGxpYnN0ZF9kZXRlY3QtKixsaWJoYXNoYnJvd24tKixsaWJydXN0Y19zdGRfd29ya3NwYWNlX2FsbG9jLSosbGlibWluaXpfb3hpZGUtKixsaWJhZGxlcjItKixsaWJ1bndpbmQtKixsaWJjZmdfaWYtKixsaWJsaWJjLSosbGliYWxsb2MtKixsaWJydXN0Y19zdGRfd29ya3NwYWNlX2NvcmUtKixsaWJjb3JlLSosbGliY29tcGlsZXJfYnVpbHRpbnMtKn0ucmxpYlwiIFwiLVdsLC1CZHluYW1pY1wiIFwiLWxRdDZDb3JlXCIgXCItbFF0Nkd1aVwiIFwiLWxRdDZRbWxcIiBcIi1sc3RkYysrXCIgXCItbFF0NkNvcmVcIiBcIi1sc3RkYysrXCIgXCItbHN0ZGMrK1wiIFwiLWxnY2Nfc1wiIFwiLWx1dGlsXCIgXCItbHJ0XCIgXCItbHB0aHJlYWRcIiBcIi1sbVwiIFwiLWxkbFwiIFwiLWxjXCIgXCItTFwiIFwiL3RtcC8ucHJpdmF0ZS9hZ3VzY2hpbi9ydXN0Y2Z5SHFNVS9yYXctZHlsaWJzXCIgXCItV2wsLS1laC1mcmFtZS1oZHJcIiBcIi1XbCwteixub2V4ZWNzdGFja1wiIFwiLUxcIiBcIi91c3IvbGliNjRcIiBcIi1MXCIgXCIvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9idWlsZHJvb3QvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvY3h4LXF0LWxpYi02ZWE0MjgyNTAxNGQ5MDU4L291dFwiIFwiLUxcIiBcIi9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9jeHgtcXQtbGliLTZlYTQyODI1MDE0ZDkwNTgvb3V0XCIgXCItTFwiIFwiL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvYnVpbGRyb290L2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2N4eC0zYWFiOTJkZjRlOWE2YWJmL291dFwiIFwiLUxcIiBcIi9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9saW5rLWNwbHVzcGx1cy1lNDhhOTNkMWFiMzJjNjg5L291dFwiIFwiLUxcIiBcIi91c3IvbGliNjRcIiBcIi1MXCIgXCIvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9idWlsZHJvb3QvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvY3h4LXF0LTE1ODk1ZDM0MDdmYThlNGYvb3V0XCIgXCItTFwiIFwiL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvYnVpbGRyb290L2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2N4eC1xdC0xNTg5NWQzNDA3ZmE4ZTRmL291dFwiIFwiLUxcIiBcIjxzeXNyb290Pi9saWIvcnVzdGxpYi94ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliXCIgXCItb1wiIFwiL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvYnVpbGRyb290L2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2RlcHMvZmxhc2hlcl9xdC00MjY4ZDY1YTM5YTRmN2RmXCIgXCItV2wsLS1nYy1zZWN0aW9uc1wiIFwiLXBpZVwiIFwiLVdsLC16LHJlbHJvLC16LG5vd1wiIFwiLW5vZGVmYXVsdGxpYnNcIlxuICA9IG5vdGU6IHNvbWUgYXJndW1lbnRzIGFyZSBvbWl0dGVkLiB1c2UgYC0tdmVyYm9zZWAgdG8gc2hvdyBhbGwgbGlua2VyIGFyZ3VtZW50c1xuICA9IG5vdGU6IC91c3IvYmluL2xkLmJmZDogL3RtcC8ucHJpdmF0ZS9hZ3VzY2hpbi9ydXN0Y2Z5SHFNVS9saWJjeHgtcXQtY2FsbC1pbml0LWNyYXRlX2N4eF9xdF9saWIuYSg2OTU0ZWY4Njc1NjVjZGQ4LWNhbGwtaW5pdGlhbGl6ZXJzLm8pOiBpbiBmdW5jdGlvbiBgX19zdGF0aWNfaW5pdGlhbGl6YXRpb25fYW5kX2Rlc3RydWN0aW9uXzAoKSc6XG4gICAgICAgICAgL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvYnVpbGRyb290L2ZsYXNoZXIvdGFyZ2V0L2RlYnVnL2J1aWxkL2N4eC1xdC1saWItNmVhNDI4MjUwMTRkOTA1OC9vdXQvY3h4LXF0LWJ1aWxkL2luaXRpYWxpemVycy9jcmF0ZV9jeHhfcXRfbGliL2NhbGwtaW5pdGlhbGl6ZXJzLmNwcDoyOigudGV4dC5fWjQxX19zdGF0aWNfaW5pdGlhbGl6YXRpb25fYW5kX2Rlc3RydWN0aW9uXzB2KzB4OSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGN4eF9xdF9pbml0X2NyYXRlX2N4eF9xdF9saWInXG4gICAgICAgICAgL3Vzci9iaW4vbGQuYmZkOiAvdG1wLy5wcml2YXRlL2FndXNjaGluL3J1c3RjZnlIcU1VL2xpYmN4eC1xdC1jYWxsLWluaXQtY3JhdGVfY3h4X3F0LmEoOTY0YmE5ZjY1YmE0MzA0Mi1jYWxsLWluaXRpYWxpemVycy5vKTogaW4gZnVuY3Rpb24gYF9fc3RhdGljX2luaXRpYWxpemF0aW9uX2FuZF9kZXN0cnVjdGlvbl8wKCknOlxuICAgICAgICAgIC9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyL3RhcmdldC9kZWJ1Zy9idWlsZC9jeHgtcXQtMTU4OTVkMzQwN2ZhOGU0Zi9vdXQvY3h4LXF0LWJ1aWxkL2luaXRpYWxpemVycy9jcmF0ZV9jeHhfcXQvY2FsbC1pbml0aWFsaXplcnMuY3BwOjI6KC50ZXh0Ll9aNDFfX3N0YXRpY19pbml0aWFsaXphdGlvbl9hbmRfZGVzdHJ1Y3Rpb25fMHYrMHg5KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgY3h4X3F0X2luaXRfY3JhdGVfY3h4X3F0J1xuICAgICAgICAgIGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1c1xuICAgICAgICAgIFxuICA9IG5vdGU6IHNvbWUgYGV4dGVybmAgZnVuY3Rpb25zIGNvdWxkbid0IGJlIGZvdW5kOyBzb21lIG5hdGl2ZSBsaWJyYXJpZXMgbWF5IG5lZWQgdG8gYmUgaW5zdGFsbGVkIG9yIGhhdmUgdGhlaXIgcGF0aCBzcGVjaWZpZWRcbiAgPSBub3RlOiB1c2UgdGhlIGAtbGAgZmxhZyB0byBzcGVjaWZ5IG5hdGl2ZSBsaWJyYXJpZXMgdG8gbGlua1xuICA9IG5vdGU6IHVzZSB0aGUgYGNhcmdvOnJ1c3RjLWxpbmstbGliYCBkaXJlY3RpdmUgdG8gc3BlY2lmeSB0aGUgbmF0aXZlIGxpYnJhcmllcyB0byBsaW5rIHdpdGggQ2FyZ28gKHNlZSBodHRwczovL2RvYy5ydXN0LWxhbmcub3JnL2NhcmdvL3JlZmVyZW5jZS9idWlsZC1zY3JpcHRzLmh0bWwjcnVzdGMtbGluay1saWIpXG5cbmVycm9yOiBjb3VsZCBub3QgY29tcGlsZSBgZmxhc2hlci1xdGAgKGJpbiBcImZsYXNoZXItcXRcIikgZHVlIHRvIDEgcHJldmlvdXMgZXJyb3JcblxuXG5Db21tYW5kIGV4aXRlZCB3aXRoIGNvZGUgMTAxIn1dLCJkZXRhaWxzIjp7fSwiaXNFcnJvciI6dHJ1ZSwidGltZXN0YW1wIjoxNzg1NzYzODg3MzMyfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiZjVhZmJkNWIiLCJwYXJlbnRJZCI6IjdhYmYyYzQ5IiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzozMTozMi4yMzdaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIGN1c3RvbSBidWlsZCBzY3JpcHQgZm9yIGxpbmtfcXRfb2JqZWN0X2ZpbGVzKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTgzMGJhZDA4MTkxODgzOTI4MmI2ZTFlNjI4MFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFjSmd5U0dSTERGV182WHUtUmxGSy0tY1lINWF5Z0wxNlRiVXFYNTJIYUVYWFVGUk5HZzctTF9VTGVJT0s3RTNwREtacUdyZndUdGRGeFJtRXdQRkRLTU5qWDc4dGNyYzJMSUptV21hVEV2TXRJWEZvX1JvZ1MtMU9IdVRqWmlHbms3U0xtdXFBLXZsWmZVTS1DZEZuMU50ZmV1ZXpsLWgyMHd3bUxOTkpqTDVQZWlRZjMzNTNac3A5dWJsbUEybTB0bjVlRzktWDJucWJzLXRwYU4tZVhEbUpENlBHY1dHcTNmSkFlYlEwa3E0SXZ4VEYyTkJVTTRkTmVyWTVyOW9yYnNoLUZ5djRSN21Sbkl1ZTcxb1k1Wk1SY3pfcU9qYmNRQ2tyc0ppUWhPV1lLWmEyQmRvUlpyOHFROXFfaU1rZk1mTS1Qd29qZS15TzhQNkVZekRVb2hpOG5seTdoR2hCTUxTRVRka1VGSlV2SDZyZ0R0RGxJVVhiaFJ3TTVVWUtJa0JJTnhmRHBVREcyUXBKdW0wdGlEVG82MVRfTllPT3RiRWZZdUtrdGlaTmxVTHVESHVpX0N0SlhiQU1aNklUcTVFVGFrV09PNGM5QXpod1paWmRjRmR1by1qZzIxVnI5V1dOTjFTT19XQ1l3MDhnZW12WU5fVUVKalRFbFoxNEZTbjdURkw3TXQ4N2hVYzU1OVR5c3VKdzFZVlZFWUJld1VBdGhtVG5nVnFfbTFOdHdWOFhEcmlHNGRLU2JUYUEtLWQxSzdWdndZTkJFbnVBMUhzQzJCdWNKWFQxdXVyTkRxWlY1NWVkd2VyVkl1d0xiRFdBX0xYWlRMRmhQa2VJZ1gzOEZUZjlzQVpHRzdLamUyTUMyT1FYN2tieUlfbVdVQWJ4YjdWZmJqVjlRSWdKemVhTl9nakk0RUpUWDZEM2gzMTYtWHZzV2dDZzVMWUkwcExkcDdYdU9zN280TXJUVURnTGUxOXFBdDdBbHltY21xNU9ackJqTzVwRGgyck5PaDkwaXpTN1hKY1h4WTdRRGRGNExTVlhoSzIxUXBzNmtEbFoxLXQ3aDNnTDl3dmYxRDRNRktpT0FVMDUwVmN3RTZiZUlsa2ZXTm1JWG1aX0dyV3hQcE1IWmR1UWpLZ2RUaVBXd1JWZExzblduNnFQT2RNRXVSY21IRWprX19jaEJOYzdoS3BXUENTa3JQXzJzUi0wa3dkbTJYaFJnTjhHbE5PT0ZVUE5EZXZITEp3MTlYekJWZVM0bG5iX3B1ekhlZzRDVWRjVEFrSUEtYVNsVmNFQWpicHNwclUyR3hnS2p6TGw4WVdvVTE0cVB6UGpua0k5S1ROY3VRc3Y4amxqYTZUVGVkZUxBcS1HcDFmb1hmUXZiYkI1M25RTFEzNlJ3REdhRno3cTgzc0lRVWhyQzZfYS1QMjMzV1g5TEIwTXhhU3lrMnlpdnA4RzN6aUU3aHNuTlE3WWVmWDhJRmNPTDJYcDZ1RGpLbWEtYTFtMVJQVWUzRjlMQmprYzV0WTYwci10NDJDcDFKOEhENGxpMGdReFdZWHJLMHFZNDEyS3RCWjNKa2Vzbmdhd2pBQ011Sk9jWjl1RU14LVd2MGhGVUljTUJHdzRlUFo2Qld3eGFHNjZleVpGN3UwUW00d3pvRVk5U2VkV2NYNWJHNHp5eVRicmtfeUhvSHhLWlgzcGpmWDJnOVFmSUZOQTRLbUViV0VmM09PSWo2RC1WcGRIazRmZy03RUVrdXdmcmRzbjhqTDU2RDdkTVlkVDU5R0NJM2MxXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBjdXN0b20gYnVpbGQgc2NyaXB0IGZvciBsaW5rX3F0X29iamVjdF9maWxlcyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF94aFY0WGpzQ3BheE5oWWZyQWFiZmpKZVV8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4MzJmNTkwODE5MThkYjIwOWMxOGZjZWZmN2EiLCJuYW1lIjoiYmFzaCIsImFyZ3VtZW50cyI6eyJjb21tYW5kIjoicmcgJ0N4eFF0QnVpbGRlcjo6bmV3JyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9jeHgtcXQtYnVpbGQtMC45LjEgLWcgJyoucnMnIC1nICcqLm1kJyB8IGhlYWQgLTMwOyByZyAnbGlua19xdF9vYmplY3RfZmlsZXMnIH4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy8qL2N4eC1xdCowLjkuMSAtbiB8IGhlYWQgLTMwIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxOTk4LCJvdXRwdXQiOjE3NiwiY2FjaGVSZWFkIjoxNDY5NDQsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NzgsInRvdGFsVG9rZW5zIjoxNDkxMTgsImNvc3QiOnsiaW5wdXQiOjAuMDA5OTksIm91dHB1dCI6MC4wMDUyOCwiY2FjaGVSZWFkIjowLjA3MzQ3MiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDg4NzQyfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg1NzYzODg3MzM1LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTgyZmE3NTg4MTkxOTFiNGI2MWQyYzhhNjU2YiIsInJhd1N0b3BSZWFzb24iOiJjb21wbGV0ZWQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYjQzODQ2NjAiLCJwYXJlbnRJZCI6ImY1YWZiZDViIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzozMTozMi4yNzVaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX3hoVjRYanNDcGF4TmhZZnJBYWJmakplVXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTgzMmY1OTA4MTkxOGRiMjA5YzE4ZmNlZmY3YSIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ii9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWJ1aWxkLTAuOS4xL3NyYy9saWIucnM6Ly8vIEN4eFF0QnVpbGRlcjo6bmV3KClcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWJ1aWxkLTAuOS4xL3NyYy9saWIucnM6ICAgIC8vLyBDeHhRdEJ1aWxkZXI6Om5ld19xbWxfbW9kdWxlKFFtbE1vZHVsZTo6bmV3KFwiY29tLmtkYWIuY3h4X3F0LmRlbW9cIikucW1sX2ZpbGVzKFtcInFtbC9tYWluLnFtbFwiXSkpXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1idWlsZC0wLjkuMS9zcmMvbGliLnJzOiAgICAvLy8gQ3h4UXRCdWlsZGVyOjpuZXcoKVxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtYnVpbGQtMC45LjEvc3JjL2xpYi5yczogICAgLy8vIEN4eFF0QnVpbGRlcjo6bmV3KClcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWJ1aWxkLTAuOS4xL3NyYy9saWIucnM6ICAgIC8vLyBDeHhRdEJ1aWxkZXI6Om5ldygpXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1idWlsZC0wLjkuMS9zcmMvbGliLnJzOiAgICAvLy8gQ3h4UXRCdWlsZGVyOjpuZXcoKVxuL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtYnVpbGQtMC45LjEvc3JjL2xpYi5yczogICAgLy8vIEN4eFF0QnVpbGRlcjo6bmV3KClcbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWJ1aWxkLTAuOS4xL0NhcmdvLnRvbWwub3JpZzoyNzpsaW5rX3F0X29iamVjdF9maWxlcyA9IFtcInF0LWJ1aWxkLXV0aWxzL2xpbmtfcXRfb2JqZWN0X2ZpbGVzXCJdXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1idWlsZC0wLjkuMS9DYXJnby50b21sOjI5OmxpbmtfcXRfb2JqZWN0X2ZpbGVzID0gW1wicXQtYnVpbGQtdXRpbHMvbGlua19xdF9vYmplY3RfZmlsZXNcIl1cbi9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWxpYi0wLjkuMS9DYXJnby50b21sOjU3OmxpbmtfcXRfb2JqZWN0X2ZpbGVzID0gW1wiY3h4LXF0LWJ1aWxkL2xpbmtfcXRfb2JqZWN0X2ZpbGVzXCJdXG4vaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2N4eC1xdC1saWItMC45LjEvQ2FyZ28udG9tbC5vcmlnOjgyOmxpbmtfcXRfb2JqZWN0X2ZpbGVzID0gW1wiY3h4LXF0LWJ1aWxkL2xpbmtfcXRfb2JqZWN0X2ZpbGVzXCJdXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODU3NjM4OTIyNzV9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIwMTlkMTg3OSIsInBhcmVudElkIjoiYjQzODQ2NjAiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjMxOjM4LjU3NFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfY3BZaUNJMFpFR1o1akY4Q1NadkFYMmxYfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5ODM5MmJhODgxOTE4NjEzNTU0Nzg3OWZlM2UxIiwibmFtZSI6InJlYWQiLCJhcmd1bWVudHMiOnsicGF0aCI6Ii9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY3h4LXF0LWJ1aWxkLTAuOS4xL3NyYy9saWIucnMiLCJvZmZzZXQiOjEzMCwibGltaXQiOjcwfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjE4MTEsIm91dHB1dCI6NjcsImNhY2hlUmVhZCI6MTQ3OTY4LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjAsInRvdGFsVG9rZW5zIjoxNDk4NDYsImNvc3QiOnsiaW5wdXQiOjAuMDA5MDU1LCJvdXRwdXQiOjAuMDAyMDEsImNhY2hlUmVhZCI6MC4wNzM5ODQsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA4NTA0OX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2Mzg5MjI3NywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4Mzc0NmU0ODE5MWE5N2M4YTE3N2RkZGZkOGIiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImZhNTUwNjk3IiwicGFyZW50SWQiOiIwMTlkMTg3OSIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzE6MzguNTc3WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9jcFlpQ0kwWkVHWjVqRjhDU1p2QVgybFh8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4MzkyYmE4ODE5MTg2MTM1NTQ3ODc5ZmUzZTEiLCJ0b29sTmFtZSI6InJlYWQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IGxhdGVyIHdlIHdpbGwgYWxsb3cgZm9yIG11bHRpcGxlIENYWCBvciBDWFgtUXQgYmxvY2tzIGluIG9uZSBmaWxlXG4gICAgICAgICAgICAgICAgICAgIGlmIGZvdW5kX2JyaWRnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYW5pYyEoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJVbmZvcnR1bmF0ZWx5IG9ubHkgZmlsZXMgd2l0aCBlaXRoZXIgYSBzaW5nbGUgY3h4IG9yIGEgc2luZ2xlIGN4eF9xdCBtb2R1bGUgYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGZpbGUge30gaGFzIG1vcmUgdGhhbiBvbmUgb2YgdGhlc2UuXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVzdF9maWxlX3BhdGguZGlzcGxheSgpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBmb3VuZF9icmlkZ2UgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgICAgIGxldCBtdXQgcGFyc2VyID0gUGFyc2VyOjpmcm9tKCptLmNsb25lKCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwX2VycihHZW5lcmF0ZWRFcnJvcjo6ZnJvbSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXBfZXJyKHRvX2RpYWdub3N0aWMpPztcbiAgICAgICAgICAgICAgICAgICAgcXVhbGlmeV9zZWxmX3R5cGVzKCZtdXQgcGFyc2VyKVxuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcF9lcnIoR2VuZXJhdGVkRXJyb3I6OmZyb20pXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwX2Vycih0b19kaWFnbm9zdGljKT87XG4gICAgICAgICAgICAgICAgICAgIGxldCBnZW5lcmF0ZWRfY3BwID0gR2VuZXJhdGVkQ3BwQmxvY2tzOjpmcm9tKCZwYXJzZXIsICZjeHhfcXRfb3B0KVxuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcF9lcnIoR2VuZXJhdGVkRXJyb3I6OmZyb20pXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwX2Vycih0b19kaWFnbm9zdGljKT87XG4gICAgICAgICAgICAgICAgICAgIGxldCBnZW5lcmF0ZWRfcnVzdCA9IEdlbmVyYXRlZFJ1c3RCbG9ja3M6OmZyb20oJnBhcnNlcilcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXBfZXJyKEdlbmVyYXRlZEVycm9yOjpmcm9tKVxuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcF9lcnIodG9fZGlhZ25vc3RpYyk/O1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IHdlJ2xsIGhhdmUgdG8gZXh0ZW5kIHRoZSBDKysgZGF0YSBoZXJlIHJhdGhlciB0aGFuIG92ZXJ3cml0aW5nXG4gICAgICAgICAgICAgICAgICAgIC8vIGFzc3VtaW5nIHdlIHNoYXJlIHRoZSBzYW1lIGZpbGVcbiAgICAgICAgICAgICAgICAgICAgY3h4X3F0ID0gU29tZSh3cml0ZV9jcHAoJmdlbmVyYXRlZF9jcHAsICZpbmNsdWRlX2lkZW50KSk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBydXN0X3Rva2VucyA9IHdyaXRlX3J1c3QoJmdlbmVyYXRlZF9ydXN0LCBTb21lKCZpbmNsdWRlX2lkZW50KSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBkbyB0aGlzIGFuZCBjYW4ndCByZWx5IG9uIHRoZSBtYWNybywgYXMgd2UgbmVlZCB0byBnZW5lcmF0ZSB0aGVcbiAgICAgICAgICAgICAgICAgICAgLy8gQ1hYIGJyaWRnZSBSdXN0IGNvZGUgdGhhdCBpcyB0aGVuIGZlZCBpbnRvIHRoZSBjeHhfZ2VuIGdlbmVyYXRpb24uXG4gICAgICAgICAgICAgICAgICAgIHRva2Vucy5leHRlbmQocnVzdF90b2tlbnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBDeHhRdEl0ZW06Okl0ZW0oaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0b2tlbnMuZXh0ZW5kKGl0ZW0uaW50b190b2tlbl9zdHJlYW0oKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG11dCBvcHQgPSBjeHhfZ2VuOjpPcHQ6OmRlZmF1bHQoKTtcbiAgICAgICAgb3B0LmNmZ19ldmFsdWF0b3IgPSBCb3g6Om5ldyhjZmdfZXZhbHVhdG9yOjpDYXJnb0VudkNmZ0V2YWx1YXRvcik7XG4gICAgICAgIGxldCBjeHggPSBjeHhfZ2VuOjpnZW5lcmF0ZV9oZWFkZXJfYW5kX2NjKHRva2VucywgJm9wdClcbiAgICAgICAgICAgIC5tYXBfZXJyKEdlbmVyYXRlZEVycm9yOjpmcm9tKVxuICAgICAgICAgICAgLm1hcF9lcnIodG9fZGlhZ25vc3RpYyk/O1xuXG4gICAgICAgIE9rKEdlbmVyYXRlZENwcCB7XG4gICAgICAgICAgICBjeHhfcXQsXG4gICAgICAgICAgICBjeHgsXG4gICAgICAgICAgICBmaWxlX2lkZW50LFxuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8vLyBXcml0ZSBnZW5lcmF0ZWQgLmNwcCBhbmQgLmggZmlsZXMgdG8gc3BlY2lmaWVkIGRpcmVjdG9yaWVzLiBSZXR1cm5zIHRoZSBwYXRocyBvZiBhbGwgZmlsZXMgd3JpdHRlbi5cbiAgICBwdWIgZm4gd3JpdGVfdG9fZGlyZWN0b3JpZXMoXG4gICAgICAgIHNlbGYsXG4gICAgICAgIGNwcF9kaXJlY3Rvcnk6IGltcGwgQXNSZWY8UGF0aD4sXG4gICAgICAgIGhlYWRlcl9kaXJlY3Rvcnk6IGltcGwgQXNSZWY8UGF0aD4sXG4gICAgKSAtPiBHZW5lcmF0ZWRDcHBGaWxlUGF0aHMge1xuICAgICAgICBsZXQgY3BwX2RpcmVjdG9yeSA9IGNwcF9kaXJlY3RvcnkuYXNfcmVmKCk7XG4gICAgICAgIGxldCBoZWFkZXJfZGlyZWN0b3J5ID0gaGVhZGVyX2RpcmVjdG9yeS5hc19yZWYoKTtcblxuICAgICAgICBsZXQgbXV0IGNwcF9maWxlX3BhdGhzID0gR2VuZXJhdGVkQ3BwRmlsZVBhdGhzIHtcbiAgICAgICAgICAgIHBsYWluX2NwcDogUGF0aEJ1Zjo6bmV3KCksXG4gICAgICAgICAgICBxb2JqZWN0OiBOb25lLFxuICAgICAgICAgICAgcW9iamVjdF9oZWFkZXI6IE5vbmUsXG4gICAgICAgIH07XG4gICAgICAgIGlmIGxldCBTb21lKGN4eF9xdF9nZW5lcmF0ZWQpID0gJnNlbGYuY3h4X3F0IHtcbiAgICAgICAgICAgIGxldCBoZWFkZXJfcGF0aCA9IFBhdGhCdWY6OmZyb20oZm9ybWF0IShcbiAgICAgICAgICAgICAgICBcInt9L3t9LmN4eHF0LmhcIixcbiAgICAgICAgICAgICAgICBoZWFkZXJfZGlyZWN0b3J5LmRpc3BsYXkoKSxcbiAgICAgICAgICAgICAgICBzZWxmLmZpbGVfaWRlbnRcbiAgICAgICAgICAgICkpO1xuXG5bMTE3NiBtb3JlIGxpbmVzIGluIGZpbGUuIFVzZSBvZmZzZXQ9MjAwIHRvIGNvbnRpbnVlLl0ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODU3NjM4OTg1Nzd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxODQ2NGFmZSIsInBhcmVudElkIjoiZmE1NTA2OTciLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjMxOjQyLjk2NloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfTlB1dEM0eEozeGhaMkw0SVVSekhwSDFHfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5ODNkMTdkMDgxOTE4N2QxNDU3ZjU1OWM4NzM1IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJnIC1uICdwdWIgZm4gYnVpbGR8cHViIGZuIHF0X21vZHVsZXxzdHJ1Y3QgQ3h4UXRCdWlsZGVyJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9jeHgtcXQtYnVpbGQtMC45LjEvc3JjL2xpYi5ycyB8IHRhaWwgLTIwOyBzZWQgLW4gJzcwMCw3NjBwJyB+Ly5sb2NhbC9zaGFyZS9jYXJnby9yZWdpc3RyeS9zcmMvKi9jeHgtcXQtYnVpbGQtMC45LjEvc3JjL2xpYi5ycyJ9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTQ3NCwib3V0cHV0Ijo5OCwiY2FjaGVSZWFkIjoxNDg5OTIsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MCwidG90YWxUb2tlbnMiOjE1MDU2NCwiY29zdCI6eyJpbnB1dCI6MC4wMDczNzAwMDAwMDAwMDAwMDEsIm91dHB1dCI6MC4wMDI5NCwiY2FjaGVSZWFkIjowLjA3NDQ5NTk5OTk5OTk5OTk5LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wODQ4MDU5OTk5OTk5OTk5OX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2Mzg5ODU3OSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4M2IwYmEwODE5MTlhYTI2ZTZkN2JkMzBkZmEiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImRjMzEwYmY3IiwicGFyZW50SWQiOiIxODQ2NGFmZSIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzE6NDIuOTg0WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9OUHV0QzR4SjN4aFoyTDRJVVJ6SHBIMUd8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4M2QxN2QwODE5MTg3ZDE0NTdmNTU5Yzg3MzUiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIzNjE6cHViIHN0cnVjdCBDeHhRdEJ1aWxkZXIge1xuNjAxOiAgICBwdWIgZm4gcXRfbW9kdWxlKG11dCBzZWxmLCBtb2R1bGU6ICZzdHIpIC0+IFNlbGYge1xuMTIzMjogICAgcHViIGZuIGJ1aWxkKG11dCBzZWxmKSAtPiBJbnRlcmZhY2Uge1xuICAgICAgICAgICAgbGV0IHNvdXJjZSA9IGRlcGVuZGVuY3lfcm9vdC5qb2luKGluY2x1ZGVfcHJlZml4KTtcbiAgICAgICAgICAgIGxldCBkZXN0ID0gaGVhZGVyX3Jvb3Quam9pbihpbmNsdWRlX3ByZWZpeCk7XG5cbiAgICAgICAgICAgIG1hdGNoIGRpcjo6c3ltbGlua19vcl9jb3B5X2RpcmVjdG9yeShzb3VyY2UsIGRlc3QpIHtcbiAgICAgICAgICAgICAgICBPayh0cnVlKSA9PiAoKSxcbiAgICAgICAgICAgICAgICBPayhmYWxzZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBwYW5pYyEoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIkNvbmZsaWN0aW5nIGluY2x1ZGVfcHJlZml4ZXMgZm9yIHtpbmNsdWRlX3ByZWZpeH0hXFxuRGVwZW5kZW5jeSB7ZGVwX25hbWV9IGNvbmZsaWN0cyB3aXRoIGV4aXN0aW5nIGluY2x1ZGUgcGF0aFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVwX25hbWUgPSBkZXBlbmRlbmN5Lm1hbmlmZXN0Lm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEVycihlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHBhbmljIShcIkNvdWxkIG5vdCB7SU5DTFVERV9WRVJCfSBmb3IgaW5jbHVkZV9wcmVmaXgge2luY2x1ZGVfcHJlZml4fToge2U6P31cIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm4gaXNfZGVidWcoKSAtPiBib29sIHtcbiAgICAgICAgbGV0IGRlYnVnID0gc3RkOjplbnY6OnZhcihcIkRFQlVHXCIpLnVud3JhcF9vcl9lbHNlKHxffCBcIjBcIi50b19vd25lZCgpKTtcbiAgICAgICAgZGVidWcgIT0gXCIwXCIgJiYgZGVidWcgIT0gXCJmYWxzZVwiIHx8IGRlYnVnICE9IFwibm9uZVwiXG4gICAgfVxuXG4gICAgZm4gc2V0dXBfY2NfYnVpbGRlcihidWlsZGVyOiAmbXV0IGNjOjpCdWlsZCwgaW5jbHVkZV9wYXRoczogJltpbXBsIEFzUmVmPFBhdGg+XSkge1xuICAgICAgICAvLyBOb3RlLCBlbnN1cmUgb3VyIHNldHRpbmdzIHN0YXkgaW4gc3luYyBhY3Jvc3MgY3h4LXF0IGFuZCBjeHgtcXQtbGliXG4gICAgICAgIGJ1aWxkZXIuY3BwKHRydWUpO1xuICAgICAgICBidWlsZGVyLnN0ZChcImMrKzE3XCIpO1xuICAgICAgICAvLyBNU1ZDXG4gICAgICAgIGJ1aWxkZXIuZmxhZ19pZl9zdXBwb3J0ZWQoXCIvWmM6X19jcGx1c3BsdXNcIik7XG4gICAgICAgIGJ1aWxkZXIuZmxhZ19pZl9zdXBwb3J0ZWQoXCIvcGVybWlzc2l2ZS1cIik7XG4gICAgICAgIGJ1aWxkZXIuZmxhZ19pZl9zdXBwb3J0ZWQoXCIvYmlnb2JqXCIpO1xuICAgICAgICAvLyBNaW5HVyByZXF1aXJlcyBiaWctb2JqIG90aGVyd2lzZSBkZWJ1ZyBidWlsZHMgZmFpbFxuICAgICAgICBidWlsZGVyLmZsYWdfaWZfc3VwcG9ydGVkKFwiLVdhLC1tYmlnLW9ialwiKTtcblxuICAgICAgICBmb3IgaW5jbHVkZV9wYXRoIGluIGluY2x1ZGVfcGF0aHMge1xuICAgICAgICAgICAgYnVpbGRlci5pbmNsdWRlKGluY2x1ZGVfcGF0aCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAhU2VsZjo6aXNfZGVidWcoKSB7XG4gICAgICAgICAgICAvLyBNYWtlIHN1cmUgUVRfTk9fREVCVUcgaXMgc2V0IGFwcHJvcHJpYXRlbHkuXG4gICAgICAgICAgICAvLyBUaGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHdoZW4gYnVpbGRpbmcgZHluYW1pYyBRTUwgbW9kdWxlcyB1bmRlciB3aW5kb3dzLCB3aGVyZVxuICAgICAgICAgICAgLy8gd2UgYWx3YXlzIGxpbmsgYWdhaW5zdCB0aGUgcmVsZWFzZSBtb2RlIFF0LlxuICAgICAgICAgICAgLy8gUV9QTFVHSU5fTUVUQURBVEEgd2lsbCBvdGhlcndpc2UgcmVwb3J0IHRoYXQgdGhlIHBsdWdpbiB3YXMgYnVpbHQgaW4gZGVidWcgbW9kZSBhbmRcbiAgICAgICAgICAgIC8vIHRoZSBtYWluIGJpbmFyeSB3aWxsIHJlZnVzZSB0byBsb2FkIGl0LlxuICAgICAgICAgICAgYnVpbGRlci5kZWZpbmUoXCJRVF9OT19ERUJVR1wiLCBOb25lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vLyBSZXR1cm5zIHRoZSBsaXN0IG9mIE1vYyBwcm9kdWN0cy4gRXNwZWNpYWxseSB0aGUgcW1sX21ldGF0eXBlcy5qc29uIGZpbGVzIGFyZSBuZWVkZWQgZm9yXG4gICAgLy8vIHRoZSBRTUwgbW9kdWxlIGdlbmVyYXRpb24gbGF0ZXJcbiAgICBmbiBtb2NfY3BwX2ZpbGVzKCZtdXQgc2VsZiwgcXRidWlsZDogJm11dCBxdF9idWlsZF91dGlsczo6UXRCdWlsZCkgLT4gVmVjPE1vY1Byb2R1Y3RzPiB7XG4gICAgICAgIHNlbGYuY3BwX2ZpbGVzLml0ZXIoKS5maWx0ZXIofGZpbGV8IGZpbGUuZW5hYmxlX21vYykubWFwKHxDcHBGaWxlIHtcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICBtb2NfYXJndW1lbnRzLFxuICAgICAgICAgICAgZW5hYmxlX21vYzogXyxcbiAgICAgICAgICAgIGNvbXBpbGU6IF9cbiAgICAgICAgfXxcbiAgICAgICAge1xuICAgICAgICAgICAgbGV0IG11dCBtb2NfYXJndW1lbnRzID0gbW9jX2FyZ3VtZW50cy5jbG9uZSgpO1xuICAgICAgICAgICAgLy8gRW5zdXJlIHRoYXQgaGVhZGVyIHJvb3QgaXMgaW4gdGhlIGluY2x1ZGUgcGF0aCBvZiBtb2NcbiAgICAgICAgICAgIC8vIG90aGVyd2lzZSBpdCBjYW5ub3QgcmVhZCB0aGUgLmN4eC5oIHBhdGhzXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODU3NjM5MDI5ODR9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI5NmYyODAzOCIsInBhcmVudElkIjoiZGMzMTBiZjciLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjMxOjQ3LjYzOVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqQWRkaW5nIGJ1aWxkIGRlcGVuZGVuY3kgd2l0aCBRdCBmZWF0dXJlcyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4NDBjZTEwODE5MTg5YWNkYjQwNmNkZGU1Y2JcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxY0poQ0doU3B4NFhNek9FeEpnLVY3UEVxMlZrY0xlNGlDOUphSUJEcTFpbXN0TUZPRDJfVm1SZlRQUFUwM3g2OWYyVkZYWkItQlFCY0dQdVRmMGdNbXdVV1dhWWU2WnFPNXhiYmJCdUw4RGVrNEh6V2g4bEpGN3JCMkdOWTdTSkRoZHl5bmlKc3dVN2YwdlhmRXdrS1h5U2ZGaUd3QWJzOHZJUl9CNXpNaWQ0MUh1SHdrNUc5ODBCRjVuU3huVmREZTlXYlFQdmRvZkJVTUVVa2E2bXpxQVBoRjJXRHNscGhmOWdobzFMWTdISVJNV0FBTkdBVE1TRzFWakJkRUtKd3JzQlNFb3l1NVpwSlZlSC1QWTdfY21Wa1lOc3hnWlBQOHM0RnhiVkptRlljUGpkNnFjMENoX0ZUajVDQVh2ZGQ4eGZjYmt4eFVTNDAyRGJsVWNFTmNBcjFtRlZSTVNEc083QVRsOF9ETFIyQXNnWm9NWEdNeUtjWVlNRDI3N2xTYVVScUlxR1M1MjFjbndsSm9zbFFPNWI3ejgtQV9EZkhTMVpWY1l3R2xzdVdWbWhVMF9ycmpkT2FUNVJDZld2M19oTlp5TDVlZmlPSVVRM1ZjbjV1aFV3VGpZUmJpWGJfQUp1WUpUNUZzRlBXdU1RLUdBVlZKWHp1Z3hHNF9HSWgxdk9Kd0RGYzlaLVFNZklHbGhiTVdSa0E4bmdLbi0zbEx2MnZZdDF4bUVqNVdKX0RPUGRKVzFtTDMzOUFjT1JuT1hudmFleTAxUWxROUM1dTZBZHVOM0k3NXQwaTVkS0VkN1lpWjItOFM4b1pKRUhMOFluMnY0bjFDTUhnU0F0WjIwUy1rUm4zQWtFc2Q0MU5tdHRYUk1ZUUt3d1dfVktOTXR0MGVleHEyLUFGcWdHMHpCSEFHZGZDZ0w2UElEMHNNNzdfME14X3g2UDVhWFhZNU1BNGY4NEFsNnBnZFVmY0dyUUZWb01KRzc3dVZpQUlnQUdxbm5HQnYtQkdBYVJENTZyWEFOU1d4V2NFaUY5YWVIQ0ZmVTFWZV93aExRS0RVbGkxRGYzLThROHdEVDFvQmtNcDQ2ZmdFQlRNSVhMNXVEOGlBNjg5TmgyLU1sODMxWHdRcjdNZllDU3JPd3YtVGN2dVpqTXB6X1FUTHNQWnBVOFlRMWlVd0hNYWVjLTdjRUhQWUVhOTBVMW1WX0NIZ2dmMjRwU3BqZXBUVlJBaUFJSnI1T0l6dnNkdmstbXl3Y3dwcWdTczJkQmtvdWZRQzlOdG9NTldkeTczU0plQkhjWXQ1TXBiejU3T2FMWW13U0VMb1JLcnJWX3hqcDlNNlBDVlJKdUlNZ01BTVdmaHAwSjVtQ3loYm5EZlpsbzVoX0QyX195SERQUXZFa3BYUE84VTRrZTBpZFlHRzF0YkpxWno2NVlaMGRqeFZ2TXdqaVBwSXZzeDNxM3ctRndzR0E2YmN1VDBZb2pYQmQwel84czYyQzcyZHQ1cWpmUk56dURXYm1pWnU2TGNDYnZSalI3czZGQXMwUkJpX2t0cVJNbzl2WHRaS2pCV1pIUVd2QkZCdFdWandpVEdyVUV6S2o2X0ZheWVxckJRZEZCY3hXTmdcIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkFkZGluZyBidWlsZCBkZXBlbmRlbmN5IHdpdGggUXQgZmVhdHVyZXMqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfek9rTzFxbTMzY1dQeXh0VEdsWWpvWEtJfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5ODQyZDQ0ODgxOTE5ODgwMWNmMjUzNDI5ZmNmIiwibmFtZSI6ImVkaXQiLCJhcmd1bWVudHMiOnsicGF0aCI6ImNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWwiLCJlZGl0cyI6W3sib2xkVGV4dCI6InNlcmRlX2pzb24gPSBcIjFcIlxuIiwibmV3VGV4dCI6InNlcmRlX2pzb24gPSBcIjFcIlxuXG5bYnVpbGQtZGVwZW5kZW5jaWVzXVxuY3h4LXF0LWJ1aWxkID0geyB2ZXJzaW9uID0gXCIwLjkuMVwiLCBmZWF0dXJlcyA9IFtcImxpbmtfcXRfb2JqZWN0X2ZpbGVzXCJdIH1cbiJ9XX19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMTQwLCJvdXRwdXQiOjE0MywiY2FjaGVSZWFkIjoxNTAwMTYsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NTQsInRvdGFsVG9rZW5zIjoxNTEyOTksImNvc3QiOnsiaW5wdXQiOjAuMDA1Nywib3V0cHV0IjowLjAwNDI5LCJjYWNoZVJlYWQiOjAuMDc1MDA3OTk5OTk5OTk5OTksImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA4NDk5Nzk5OTk5OTk5OTk5fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg1NzYzOTAyOTg3LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTgzZjdlNjA4MTkxODQzMjE4ODQ3NDNiMzRjYyIsInJhd1N0b3BSZWFzb24iOiJjb21wbGV0ZWQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNzQ2ZTQzZDciLCJwYXJlbnRJZCI6Ijk2ZjI4MDM4IiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzozMTo0Ny42NDBaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX3pPa08xcW0zM2NXUHl4dFRHbFlqb1hLSXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTg0MmQ0NDg4MTkxOTg4MDFjZjI1MzQyOWZjZiIsInRvb2xOYW1lIjoiZWRpdCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSByZXBsYWNlZCAxIGJsb2NrKHMpIGluIGNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWwuIn1dLCJkZXRhaWxzIjp7ImRpZmYiOiIgICAgLi4uXG4gIDcgXG4gIDggW2RlcGVuZGVuY2llc11cbiAgOSBjeHgtcXQtbGliID0geyB2ZXJzaW9uID0gXCIwLjkuMVwiLCBmZWF0dXJlcyA9IFtcInF0X2d1aVwiLCBcInF0X3FtbFwiLCBcImxpbmtfcXRfb2JqZWN0X2ZpbGVzXCJdIH1cbiAxMCBzZXJkZV9qc29uID0gXCIxXCJcbisxMSBcbisxMiBbYnVpbGQtZGVwZW5kZW5jaWVzXVxuKzEzIGN4eC1xdC1idWlsZCA9IHsgdmVyc2lvbiA9IFwiMC45LjFcIiwgZmVhdHVyZXMgPSBbXCJsaW5rX3F0X29iamVjdF9maWxlc1wiXSB9IiwicGF0Y2giOiItLS0gY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbFxuKysrIGNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWxcbkBAIC03LDQgKzcsNyBAQFxuIFxuIFtkZXBlbmRlbmNpZXNdXG4gY3h4LXF0LWxpYiA9IHsgdmVyc2lvbiA9IFwiMC45LjFcIiwgZmVhdHVyZXMgPSBbXCJxdF9ndWlcIiwgXCJxdF9xbWxcIiwgXCJsaW5rX3F0X29iamVjdF9maWxlc1wiXSB9XG4gc2VyZGVfanNvbiA9IFwiMVwiXG4rXG4rW2J1aWxkLWRlcGVuZGVuY2llc11cbitjeHgtcXQtYnVpbGQgPSB7IHZlcnNpb24gPSBcIjAuOS4xXCIsIGZlYXR1cmVzID0gW1wibGlua19xdF9vYmplY3RfZmlsZXNcIl0gfVxuIiwiZmlyc3RDaGFuZ2VkTGluZSI6MTF9LCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg1NzYzOTA3NjQwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiOGUxYWI5NmQiLCJwYXJlbnRJZCI6Ijc0NmU0M2Q3IiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzozMTo1My40NzZaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX21vYzlYYUNjVHJJejVXU0h2SWFpSjQ2bXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTg0ODQzOTA4MTkxYWZlMWZjOTNlNmViMmNhMCIsIm5hbWUiOiJ3cml0ZSIsImFyZ3VtZW50cyI6eyJwYXRoIjoiY3JhdGVzL2ZsYXNoZXItcXQvYnVpbGQucnMiLCJjb250ZW50IjoiZm4gbWFpbigpIHtcbiAgICBjeHhfcXRfYnVpbGQ6OkN4eFF0QnVpbGRlcjo6bmV3KClcbiAgICAgICAgLnF0X21vZHVsZShcIlFtbFwiKVxuICAgICAgICAucXRfbW9kdWxlKFwiUXVpY2tcIilcbiAgICAgICAgLmJ1aWxkKCk7XG59XG4ifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjI4Nywib3V0cHV0Ijo3NCwiY2FjaGVSZWFkIjoxNTEwNDAsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6MCwidG90YWxUb2tlbnMiOjE1MTQwMSwiY29zdCI6eyJpbnB1dCI6MC4wMDE0MzUsIm91dHB1dCI6MC4wMDIyMiwiY2FjaGVSZWFkIjowLjA3NTUxOTk5OTk5OTk5OTk5LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNzkxNzV9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjM5MDc2NDEsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5ODQzZjEyNDgxOTE4ZjRiNWYyNzZmNDMwMTYzIiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIyZWQ1OTEyMiIsInBhcmVudElkIjoiOGUxYWI5NmQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjMxOjUzLjQ3N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfbW9jOVhhQ2NUckl6NVdTSHZJYWlKNDZtfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5ODQ4NDM5MDgxOTFhZmUxZmM5M2U2ZWIyY2EwIiwidG9vbE5hbWUiOiJ3cml0ZSIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSB3cm90ZSAxMjQgYnl0ZXMgdG8gY3JhdGVzL2ZsYXNoZXItcXQvYnVpbGQucnMifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODU3NjM5MTM0Nzd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJjMzlmNTZhZCIsInBhcmVudElkIjoiMmVkNTkxMjIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjMxOjU2LjQxOVoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfS2JFWDQ0QURjVVd3NXRuNWIzMXZDeFVZfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5ODRiYmM3MDgxOTE5YTA0YmFlZmU1MjU2YTYxIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGJ1aWxkIC1wIGZsYXNoZXItcXQiLCJ0aW1lb3V0IjoxODB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6Mzg0LCJvdXRwdXQiOjI5LCJjYWNoZVJlYWQiOjE1MTA0MCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MTUxNDUzLCJjb3N0Ijp7ImlucHV0IjowLjAwMTkyMDAwMDAwMDAwMDAwMDMsIm91dHB1dCI6MC4wMDA4NywiY2FjaGVSZWFkIjowLjA3NTUxOTk5OTk5OTk5OTk5LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wNzgzMDk5OTk5OTk5OTk5OX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2MzkxMzQ3OSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4NDlkZmUwODE5MWIwMjI2ZGZlNTU0MzY2ZjAiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImM3ZmYzZmI2IiwicGFyZW50SWQiOiJjMzlmNTZhZCIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzE6NTguNzY0WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9LYkVYNDRBRGNVV3c1dG41YjMxdkN4VVl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4NGJiYzcwODE5MTlhMDRiYWVmZTUyNTZhNjEiLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICBDb21waWxpbmcgZmxhc2hlci1xdCB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyL2NyYXRlcy9mbGFzaGVyLXF0KVxuICAgIEZpbmlzaGVkIGBkZXZgIHByb2ZpbGUgW3Vub3B0aW1pemVkICsgZGVidWdpbmZvXSB0YXJnZXQocykgaW4gMi4yOHNcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NTc2MzkxODc2M319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjNmYTIwN2I5IiwicGFyZW50SWQiOiJjN2ZmM2ZiNiIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzI6MDIuMzc2WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipJZGVudGlmeWluZyBtaXNzaW5nIGtpcmlnYW1pIHJ1bnRpbWUgY2F1c2luZyBlcnJvcnMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5ODUwYTgzODgxOTE4YWEwYzljNzhhMzYyMTY0XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcWNKaFJhSllFSG1iLXpuZTk2R2NQMXQ0ZFF1LWpPTnZzT1dmVFNJeWd1VzEyVEVZS2hWTF9FUGtBQWwza0lWY1lKQ0tzVkZqNEc0NjZxaUplVUgxVU1uTUczQjhUUzBkX3BIQkdpRXRVUmVuNTk1ZjRXaVhJd1IybHowLVoxZzVfUUtpU25yYy0wTkpvWHZRWjdvcUJEa1VtZ1FqR1UwNnlkTktlTmxyQzRDcW1FQ2ppa253M0EyWWY2d1JnR053Skltdmh4VGRqRTdfeFdtdEswMkJiTkJQdzRfQkZQQ1hZNjlNN01oelZ5Z092bTMtejdWcXNQWm5LQnVLUzhpMTBocUl0bUt5cGRId1VHaXVwOXg1LURrcFJNRGZUUnVNeHZwM3BKMlRlUk9RemZMRzByR1ZqSG5SRlU3U05OUTBncjVMOUJyZTRCTkFMWklVaE9JWWp6aTAwdmhaSHFyRGpaMFZBQ1plQzQzZlJXcUZ2anBsQWs3aDFDQk9ZZFRwMVFNT0VRT25fak1BMnlCekV6VFJQNVJBV1NPUGZVOEVoWXpyR0piSVo1TE9TSm5TM3VPbXBWb3JrQUhMZnAycDVjNWxOTS1wcUJFbTBHSExULWNOZ3hPLXBjNk1EZkx3b1E2S0NTc2t6N1FtTFlFMGE5TXJkUmtJM3pPMnhiMGdXYTlGYW16NDRlVDRyMEZLMjhwSkVNVjdaOTFNUlI5bFNkY2hTZllITjNZM0ljV3M3Y2FMZmRQY1czNldydjBFaEZsTW82cHN3dS1ndUVkcnlMdVlhZ3ZvRDFleDhDXzQ4NV9WblVxamZaYzkzeEdaQ2o1RVhZRTQ5UXAxbDhwS3VUcFM5REhkLTVnSkhMSnZJRkcwWGZRRmJnLVdaaFhYZDJ2eHE0WUIydzFxUGpPR2tyalJCOC1EaUNwVXI4TnZKWWJlazdtSUdqNFJJV2ZwQUhfY3BpOEwwTTJfMExHU2Q0SUpQME9haVowbVJobi1KZk9JOWJrN0h1Tm44SW10S1NvcEVQNmtYblFDT2NUdGVtUHEtSGRJMEtVczVzSkNIS3EzWm9YeUdCUk9GekpteVNDWTRtRi0yclFBbUlYRlZDQTZ4VmFRaEQxRjY3d1ZLM2xVNFc4ZmFLMmxQekVESXhKOWtrQzBDSVVoSkdEbFM1UXlDREFDRDdtU2J4UU85cDdFT0VCRmZONVRpSHRFY1B0bEU1cGlxQUh1NjlUOHFYc3JtUlB0VVFpSkdtUnRkWmpPaENDTG9nNkhXVHBVRHlOdC1BanlpaDIwaVBxaUFBMlQzWmxoeDFCUXNXSE1OZzlHWHRnakUyb1h4RkRrPVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqSWRlbnRpZnlpbmcgbWlzc2luZyBraXJpZ2FtaSBydW50aW1lIGNhdXNpbmcgZXJyb3JzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX1RURmNaOUJQbDQwa1JDN1JtYTRCZmh0QnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTg1MTdlMTA4MTkxODJmZjEyODNlYThhZTk3NCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJRVF9RUEFfUExBVEZPUk09b2Zmc2NyZWVuIHRpbWVvdXQgNHMgdGFyZ2V0L2RlYnVnL2ZsYXNoZXItcXQgPiAvdG1wL2ZsYXNoZXIub3V0IDI+L3RtcC9mbGFzaGVyLmVycjsgZWNobyByYzokPzsgY2F0IC90bXAvZmxhc2hlci5lcnIiLCJ0aW1lb3V0IjoxMH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo0NzksIm91dHB1dCI6ODIsImNhY2hlUmVhZCI6MTUxMDQwLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjE3LCJ0b3RhbFRva2VucyI6MTUxNjAxLCJjb3N0Ijp7ImlucHV0IjowLjAwMjM5NSwib3V0cHV0IjowLjAwMjQ2LCJjYWNoZVJlYWQiOjAuMDc1NTE5OTk5OTk5OTk5OTksImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA4MDM3NDk5OTk5OTk5OTk5fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg1NzYzOTE4NzY2LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTg0ZjFkNWM4MTkxODY5ZWEyY2Q3YzY5MGFlYyIsInJhd1N0b3BSZWFzb24iOiJjb21wbGV0ZWQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNjUwYThiOWUiLCJwYXJlbnRJZCI6IjNmYTIwN2I5IiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzozMjowNi4zOTNaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX1RURmNaOUJQbDQwa1JDN1JtYTRCZmh0QnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTg1MTdlMTA4MTkxODJmZjEyODNlYThhZTk3NCIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6InJjOjEyNFxuUVFtbEFwcGxpY2F0aW9uRW5naW5lIGZhaWxlZCB0byBsb2FkIGNvbXBvbmVudFxuPFVua25vd24gRmlsZT46NToxOiBtb2R1bGUgXCJvcmcua2RlLmtpcmlnYW1pXCIgaXMgbm90IGluc3RhbGxlZFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg1NzYzOTI2MzkzfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiN2I2ODdlYzIiLCJwYXJlbnRJZCI6IjY1MGE4YjllIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzozMjoxMS42MTBaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlBsYW5uaW5nIFFNTCByb290IG9iamVjdCB2ZXJpZmljYXRpb24qKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5ODU3ZmNhNDgxOTE4MmViYTMzYzE4YzVkYmJhXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcWNKaGIyMmxxcFVZaTRBSlpIZ2VHUlpjYjhEMllJQ0g3ODJPeHJQdEE1U21qS3B1clpvemY0c1phc3BUOWtXNF9wQV9ROGd1YWx4UWF6dnM0bmtIY2JCNG8yS0Q4SFl1SWR6bjZzS3FvZWVvQ1hLam5zazQzUEt4d2pkdnM3dzRIM3ZKQWVYV1RMTFFmS3RZbFRoOGtILXNQYWw3MVNWWnlnMUlvMGFJOTZ3ODRYUlhoLXJZanZ1QktiVkdneXdDS1lHY094UFN5cENkNFpVMEE0dzhtdWVvM0p0Y2JlRnhTMHF1d1VyOUdQdFVNSDNqb1JieEtHRDUyZE5QUEhjOGpUSERfcWxlTFhiWVBHN2xaNGRJbEctLW9ac2h4SlhqelZDYS1lY1BvS0pib1YyX0lRMTIzOXdRWlExU2pOUGFsWWg1N3dDUWhMcmRWNThqR2NLUGpaaXYzMU8zMjhEeE5mclk3Y21ITUhCOHc2dS1CcXdBeWhpNkVQY29DVFlyTTRJS25yTXh5UWNQOWNVNVpsNDZta3BvVzhFZUVHRzBodFN2TGJtRUFaOC1KU2R4dEJUVXphYlctb01vR0hIaDZ5TG1xYzlzMEdVZUpBenBMSGo3Wk5tNmVjbjVxZ1F2RlZwYmNlWjI4dE91Q3Mxbi1IclF3YVhlMWs5V0d0aWdRLWVFZVVTdVVZMDQ5QThtSTh2eVRIcnFReWNvblExQ1E2QUNDeW9YZmZicHZaczV1RW96bkRTQ2ozOUNLeVQxdjFtelEtN192a3VQdXpIM1NQalFzbDlRczQ2bl9mVmx1b0pvSlBvN0pWUFF3U3RteWhiOFAtSW4tSnJSanRXVFNsT3F5TGFpYk1qeFNiMnpTN3pvbXBoOHJiYVlVUmJDTVo1SWhzcGY4enI1azVOd0Z0LWVQWC1QWm1VZThLblhLMDZMcHp2dldYNV9Jbi03dkpNU3BHb0ZMSzlWVHctZ2RWMmg0WkZyTE5yTktnQVc0Rkt1SFBHc2VfSjhaSFNRQkVoV3NFcUYzWVNpLWN0cWJzXzM3Y25oNnFZZVpFX3pZRE01MUlPS2lJYzVGSnA5SWpIWHg5ckUxUUNUS3VlYU1kTGNiLWEtbXBnT250Y1k1dkpWWjd5eTQ1WUctT0hoQzZsVUpLRGtaRFY5UEI4cTNHdzhjaDYxLWluaFJhVHc3QnhNbm5qdWx0MDRKXzVwWDZ5NEpHNENTNDZTV01fa1h6d3dMNnl4MGdfT1ZXckNETHNDLXo1MFZtRWxSTjJhSlNfT0JGMC12VXl3RzIwRVAzTlZMTHpFS1ZnMlFld2g3UFI4RFFSWUc1UGJWYzJRcWVpcFk4NzRPVHJtVnVoUXNCNm1ISkVTRkV1dmV0OThaSG5zN0dlZHJieUtlMGlVS0hkbXNKRGo3V3F0VG1GQlRmWWg2aU0zLTlyN1VnTzRFM2RNcWZqU0VjODBxT2pEUkRNZ0V3MkZnczRuUnA3YmdlVTNtRzBkdmJuSlVqbzl5eWRIbkdSSVB0V2hyV0ZnNENyNmcwbklGMW9JaFZVc1VCSWVJWnJwcldlWFNja1FpeEhIb0kycnRfdUZCLXBlQjBPcllxTUoxbERNS29TYmJZU2xTR21pN2pvVExOMmFUbE1jeE1PZXJPc1R2ZmY2TkFSbmJWSEdCMG1PMGNiXzltbGU2WkQwTzVTRzE0WTlKbDQxbHkyaHY3UG1Xd1FuRi1fSEdXck9NM3BKdEt2OExKLWVMVU5yUHdVT2dlU1BLRXBXZ3dmSlh6bDdoRThIeDg3TnVVaUtJMnYwQlNiSW9zbDU4eUl6S1lhSGJ2NHlydEFTQXVZUGNUWlltallfd0pKMEM2OGhFN3NvODRKeWpscHRkZVh5Vkl2MEhiMm1VSTBkVXhQaU10b0twaEpOdVZTWkM1eVB4TU9fNU9tV3FLY25sX2FnMXpZSWNBSE9WaFluTzZaeGZLTGxiaTdmQ0lKVnJRbVpXT1BGdnVwaGNGVU54YlUwRUlFMU44Mjk3WmtBZGJXTFVyaXZENVcwa0ctcHE4c2Y4WS1NQjhDMjRicWFLWktFV1NKMWx4NjYyX0RUSlk4UE1SMEFNNEpfU1RZckh1azZaYkdicElIQXhER280XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipQbGFubmluZyBRTUwgcm9vdCBvYmplY3QgdmVyaWZpY2F0aW9uKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX1ZDaVhPRk9idlk1dGhCdW5yYXdlNkZPR3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTg1YjU3NzQ4MTkxYTI5ZGIxZDE5ZmVlN2JiNiIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJjYXJnbyBidWlsZCIsInRpbWVvdXQiOjE4MH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo2MDcsIm91dHB1dCI6MTM4LCJjYWNoZVJlYWQiOjE1MTA0MCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxMTMsInRvdGFsVG9rZW5zIjoxNTE3ODUsImNvc3QiOnsiaW5wdXQiOjAuMDAzMDM1MDAwMDAwMDAwMDAwNCwib3V0cHV0IjowLjAwNDE0MDAwMDAwMDAwMDAwMDUsImNhY2hlUmVhZCI6MC4wNzU1MTk5OTk5OTk5OTk5OSwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDgyNjk0OTk5OTk5OTk5OTl9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjM5MjYzOTYsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5ODU2YTk5ODgxOTFiZmUwMTAwZDRlY2VkZGMzIiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIyN2U0MmJlMiIsInBhcmVudElkIjoiN2I2ODdlYzIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjMzOjM0LjI1MloiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfVkNpWE9GT2J2WTV0aEJ1bnJhd2U2Rk9HfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5ODViNTc3NDgxOTFhMjlkYjFkMTlmZWU3YmI2IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgQ29tcGlsaW5nIGpvYnNlcnZlciB2MC4xLjM1XG4gICBDb21waWxpbmcgd2hpY2ggdjguMC41XG4gICBDb21waWxpbmcgbWVtY2hyIHYyLjguM1xuICAgQ29tcGlsaW5nIGZ1dHVyZXMtbWFjcm8gdjAuMy4zM1xuICAgQ29tcGlsaW5nIGdsaWItbWFjcm9zIHYwLjIxLjVcbiAgIENvbXBpbGluZyBndGs0LW1hY3JvcyB2MC4xMC4zXG4gICBDb21waWxpbmcgc2VyZGVfanNvbiB2MS4wLjE1MVxuICAgQ29tcGlsaW5nIGNjIHYxLjQuMFxuICAgQ29tcGlsaW5nIGZ1dHVyZXMtdXRpbCB2MC4zLjMzXG4gICBDb21waWxpbmcgcXQtYnVpbGQtdXRpbHMgdjAuOS4xXG4gICBDb21waWxpbmcgbGluay1jcGx1c3BsdXMgdjEuMC4xMlxuICAgQ29tcGlsaW5nIGN4eCB2MS4wLjE5OFxuICAgQ29tcGlsaW5nIGN4eC1xdC1idWlsZCB2MC45LjFcbiAgIENvbXBpbGluZyBjeHgtcXQgdjAuOS4xXG4gICBDb21waWxpbmcgY3h4LXF0LWxpYiB2MC45LjFcbiAgIENvbXBpbGluZyBmbGFzaGVyLXF0IHYwLjEuMCAoL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvYnVpbGRyb290L2ZsYXNoZXIvY3JhdGVzL2ZsYXNoZXItcXQpXG4gICBDb21waWxpbmcgZnV0dXJlcy1leGVjdXRvciB2MC4zLjMzXG4gICBDb21waWxpbmcgZ2xpYiB2MC4yMS41XG4gICBDb21waWxpbmcgZ2lvIHYwLjIxLjVcbiAgIENvbXBpbGluZyBjYWlyby1ycyB2MC4yMS41XG4gICBDb21waWxpbmcgZ3JhcGhlbmUtcnMgdjAuMjEuNVxuICAgQ29tcGlsaW5nIGdkay1waXhidWYgdjAuMjEuNVxuICAgQ29tcGlsaW5nIHBhbmdvIHYwLjIxLjVcbiAgIENvbXBpbGluZyBnZGs0IHYwLjEwLjNcbiAgIENvbXBpbGluZyBnc2s0IHYwLjEwLjNcbiAgIENvbXBpbGluZyBndGs0IHYwLjEwLjNcbiAgIENvbXBpbGluZyBsaWJhZHdhaXRhIHYwLjguMVxuICAgQ29tcGlsaW5nIGZsYXNoZXItZ3RrIHYwLjEuMCAoL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvYnVpbGRyb290L2ZsYXNoZXIvY3JhdGVzL2ZsYXNoZXItZ3RrKVxuICAgIEZpbmlzaGVkIGBkZXZgIHByb2ZpbGUgW3Vub3B0aW1pemVkICsgZGVidWdpbmZvXSB0YXJnZXQocykgaW4gMW0gMjJzXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODU3NjQwMTQyNTJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI0OWIxYzNkNSIsInBhcmVudElkIjoiMjdlNDJiZTIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjMzOjM5LjA4NloiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqVXBkYXRpbmcgUkVBRE1FIHRvIFF0NiBhbmQgS2lyaWdhbWkqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGIyMDFjODgxOTFhMTE4Njg4NTVmYjkzM2RkXCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcWNKaXlXVlRneDRMeTVEVnc3SXZfWHJZLVFaUm9RZnFjVmdzRk1JZ0tTai1GSTNNelhYYTRqU0phd0NVUUtBcERmSTdDWG1ZSFdJLXJETWZIa20xdUF0WmdHNnM1SkZOS3pQZW5QRkFqUUpUa1BRQWhQZWg5WDhlbm92TmlsRmFqaDlzYkRpUEdLNXlvdGo0RUluVjFIeW9OVmJoTkpwamlBZXItNlJwN1BWcUUyN3otdU1EcENJRWFVQUZXVU9LNU1wWEZXYzdxTGU1MTNLTWJNck1EVHYtVXlfSUJqd1ZmXzRuMWd2aU9BZF9hWE9uRzdRdElham1MS2UyMlUzcG5BcFVXUi02cmFaTG5BNWlmSTJXVXZDaDNSeFBkUUFHdDdCTVZ4bEE1Xy14cEdTZ1RrWXhhT1BaMzFPems1ME5Rckx0SHU0Y3JLUkJmMXFWQlBMWGYzaWFVU2RQTW5RQXdXZ0dRcGlyMC1rbGJEcVBMQkl3eEVnTExjMnI3Y1c0cWk2a2xEYWdwLWFRNEQxbmQ4Vk5yRnNCcFhDSmYtM3hPT3VWTW1FS0gzNDFMcmpJc0VGVGZkSnM1bXVvblFQc296aFBicThUdWY5QXVodjkwdEpxelhMeUsxSjNkM1AxSUgzVnI2MlR3MVlPSDRtaTE4NUJKVEN0RWZ1WkExYUZ1RXdtYXY3MzNiYVBZdzRDbXVCZm1aanhkdVJFMjJ6YmRkV2RrZjRWOHVhbG9BMG81cDNudGtWSWZYWWNtSVQ4VW1yQ19uZEZ6Tk5ZOFY5NWJhX1ZUenh2VnA4d05wVHk0TXlHMWtBeUo1RUVjOUlQd3U5eU02VXAtUTJkRVJ3ZHJ1ZUxSVklsU1lCRkc5T0stYXZSQ2lUUHlpTmVSeFNjSnBBV0xfODRFQVYxc1JlZU9IY283M1FOZ3FMcGZhcENKek1ncHItQnNuazlkQ24wYnJaSWJqbERwSDhSb3NFOWFUMmZKNktaN2ZUSjlEQk10Ql9nYW1JZFE1NHNEaEota2EtSGFkRFNTTFJTTzRpNFpZVGVJUTRFUjN1VVpTNUhtZUtKamZCM2xfR1kxVEk3UHdHcU9famFJS1F0TXhxREZYMGRqc0pUNHZrVWZRSnVDSHNSUUF3VWR0RWxnYUcxNlM5bEx1R0tzaTFzWjRDbWpxeUxfelZJV2IwWVJVVEtFRzAyVS1fUDRXQ0o3S2U5Q1psbDNOMGRldGVvQ1JhdVdlNjJCOG0zbjNlZHRrNzU2MTRyQzNGREVTa0xZVGlFWWRQNDZDeTV6TmwzX1IxQ2oyX2NqRW5Xd1h4YlpSSzNwWFo5bU1xV1pobnBERlpDQ3dqVEUxdWVLa1ZHLVB2dXU4YWlPclZfRE9CZ0R3bjF0OXNRVzRGTXo2Zz09XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipVcGRhdGluZyBSRUFETUUgdG8gUXQ2IGFuZCBLaXJpZ2FtaSoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF85cGR0V2Q3djRPUUkyWkFWNXVsd0swbm18ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4YjJkNWUwODE5MWIyYWE3MWE2M2YyZmVjMTUiLCJuYW1lIjoicmVhZCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiUkVBRE1FLm1kIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMTc5LCJvdXRwdXQiOjQ0LCJjYWNoZVJlYWQiOjE1MTA0MCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyNCwidG90YWxUb2tlbnMiOjE1MjI2MywiY29zdCI6eyJpbnB1dCI6MC4wMDU4OTUsIm91dHB1dCI6MC4wMDEzMiwiY2FjaGVSZWFkIjowLjA3NTUxOTk5OTk5OTk5OTk5LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wODI3MzQ5OTk5OTk5OTk5OX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2NDAxNDI1NSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4YWZlODI0ODE5MTljMTJhYTI3MzYyN2ZhNjgiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImY2MDZiMDQyIiwicGFyZW50SWQiOiI0OWIxYzNkNSIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzM6MzkuMDg3WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF85cGR0V2Q3djRPUUkyWkFWNXVsd0swbm18ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4YjJkNWUwODE5MWIyYWE3MWE2M2YyZmVjMTUiLCJ0b29sTmFtZSI6InJlYWQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIjIEFMVCBJbWFnZSBXcml0ZXIgR1VJIHByb3RvdHlwZXNcblxuVGhpcyB3b3Jrc3BhY2UgY29udGFpbnMgdHdvIGluZGVwZW5kZW50IGludGVyZmFjZXMgZm9yIGBhbHQtcm9vdGZzLWluc3RhbGxlcmA6XG5cbi0gYGNyYXRlcy9mbGFzaGVyLWd0a2Ag4oCUIEdUSyA0L2xpYmFkd2FpdGFcbi0gYGNyYXRlcy9mbGFzaGVyLXF0YCDigJQgbmF0aXZlIFF0IDUgV2lkZ2V0c1xuXG5Cb3RoIGFyZSBpbnRlcmZhY2UgcHJldmlld3MuIFRoZXkgaW5zcGVjdCBzdXBwb3J0ZWQgYm9hcmRzIGFuZCByZW1vdmFibGUgZHJpdmVzLCBidXQgZG8gbm90IHdyaXRlIHRvIGFueSBkZXZpY2UuXG5cbiMjIFN5c3RlbSBkZXBlbmRlbmNpZXNcblxuT24gQUxUIExpbnV4OlxuXG5gYGBzaFxuc3VkbyBhcHQtZ2V0IGluc3RhbGwgZ2NjLWMrKyBsaWJndGs0LWRldmVsIGxpYmFkd2FpdGEtZGV2ZWwgcXQ1LWJhc2UtZGV2ZWxcbmBgYFxuXG5UaGUgUXQgY3JhdGUgZGlzY292ZXJzIFF0IDUgdGhyb3VnaCBgcGtnLWNvbmZpZ2AgYW5kIHVzZXMgdGhlIHBsYXRmb3JtJ3MgbmF0aXZlIFF0IHdpZGdldCBzdHlsZS4gSXQgZG9lcyBub3QgcmVxdWlyZSBRTUwgb3IgUXQgUXVpY2suXG5cbiMjIEJ1aWxkXG5cbkJ1aWxkIGJvdGggYXBwbGljYXRpb25zOlxuXG5gYGBzaFxuY2FyZ28gYnVpbGRcbmBgYFxuXG5CdWlsZCBvciBydW4gb25lIGludGVyZmFjZTpcblxuYGBgc2hcbmNhcmdvIGJ1aWxkIC1wIGZsYXNoZXItZ3RrXG5jYXJnbyBidWlsZCAtcCBmbGFzaGVyLXF0XG5cbmNhcmdvIHJ1biAtcCBmbGFzaGVyLWd0a1xuY2FyZ28gcnVuIC1wIGZsYXNoZXItcXRcbmBgYFxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg1NzY0MDE5MDg3fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiNDMxYzY0Y2MiLCJwYXJlbnRJZCI6ImY2MDZiMDQyIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzozMzo0NS4yMjFaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX2gxdHI2M1h4d3VTeDRJM21GeWpaUWpwdXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOThiNTM5MDQ4MTkxYjJjYTIzMDhhNGYxZTI2MiIsIm5hbWUiOiJlZGl0IiwiYXJndW1lbnRzIjp7InBhdGgiOiJSRUFETUUubWQiLCJlZGl0cyI6W3sib2xkVGV4dCI6Ii0gYGNyYXRlcy9mbGFzaGVyLXF0YCDigJQgbmF0aXZlIFF0IDUgV2lkZ2V0cyIsIm5ld1RleHQiOiItIGBjcmF0ZXMvZmxhc2hlci1xdGAg4oCUIFF0IDYvS0RFIEtpcmlnYW1pIn0seyJvbGRUZXh0Ijoic3VkbyBhcHQtZ2V0IGluc3RhbGwgZ2NjLWMrKyBsaWJndGs0LWRldmVsIGxpYmFkd2FpdGEtZGV2ZWwgcXQ1LWJhc2UtZGV2ZWxcbmBgYFxuXG5UaGUgUXQgY3JhdGUgZGlzY292ZXJzIFF0IDUgdGhyb3VnaCBgcGtnLWNvbmZpZ2AgYW5kIHVzZXMgdGhlIHBsYXRmb3JtJ3MgbmF0aXZlIFF0IHdpZGdldCBzdHlsZS4gSXQgZG9lcyBub3QgcmVxdWlyZSBRTUwgb3IgUXQgUXVpY2suIiwibmV3VGV4dCI6InN1ZG8gYXB0LWdldCBpbnN0YWxsIGdjYy1jKysgbGliZ3RrNC1kZXZlbCBsaWJhZHdhaXRhLWRldmVsIFxcXG4gIHF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCBrZjYta2lyaWdhbWlcbmBgYFxuXG5UaGUgUXQgY3JhdGUgdXNlcyB0aGUgbWFpbnRhaW5lZCBDWFgtUXQgYmluZGluZ3MgYW5kIGNvbnRhaW5zIG5vIGhhbmR3cml0dGVuIEMrKy4gSXRzIGludGVyZmFjZSBpcyBRTUwgdXNpbmcgS0RFJ3MgS2lyaWdhbWkgZnJhbWV3b3JrLiBgLmNhcmdvL2NvbmZpZy50b21sYCBzZWxlY3RzIFF0IDYgZXhwbGljaXRseSBvbiBzeXN0ZW1zIHRoYXQgYWxzbyBoYXZlIFF0IDUgaW5zdGFsbGVkLiJ9XX19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo0MTQsIm91dHB1dCI6MjIxLCJjYWNoZVJlYWQiOjE1MjA2NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MTUyNjk5LCJjb3N0Ijp7ImlucHV0IjowLjAwMjA3MDAwMDAwMDAwMDAwMDIsIm91dHB1dCI6MC4wMDY2MzAwMDAwMDAwMDAwMDA1LCJjYWNoZVJlYWQiOjAuMDc2MDMyLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wODQ3MzJ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjQwMTkwODksInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGIzNmU3MDgxOTFhMzhhM2Y4OTExODBkNWQ3IiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJkOTAzYzJjNiIsInBhcmVudElkIjoiNDMxYzY0Y2MiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjMzOjQ1LjI0OVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfaDF0cjYzWHh3dVN4NEkzbUZ5alpRanB1fGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGI1MzkwNDgxOTFiMmNhMjMwOGE0ZjFlMjYyIiwidG9vbE5hbWUiOiJlZGl0IiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiU3VjY2Vzc2Z1bGx5IHJlcGxhY2VkIDIgYmxvY2socykgaW4gUkVBRE1FLm1kLiJ9XSwiZGV0YWlscyI6eyJkaWZmIjoiICAgIC4uLlxuICAyIFxuICAzIFRoaXMgd29ya3NwYWNlIGNvbnRhaW5zIHR3byBpbmRlcGVuZGVudCBpbnRlcmZhY2VzIGZvciBgYWx0LXJvb3Rmcy1pbnN0YWxsZXJgOlxuICA0IFxuICA1IC0gYGNyYXRlcy9mbGFzaGVyLWd0a2Ag4oCUIEdUSyA0L2xpYmFkd2FpdGFcbi0gNiAtIGBjcmF0ZXMvZmxhc2hlci1xdGAg4oCUIG5hdGl2ZSBRdCA1IFdpZGdldHNcbisgNiAtIGBjcmF0ZXMvZmxhc2hlci1xdGAg4oCUIFF0IDYvS0RFIEtpcmlnYW1pXG4gIDcgXG4gIDggQm90aCBhcmUgaW50ZXJmYWNlIHByZXZpZXdzLiBUaGV5IGluc3BlY3Qgc3VwcG9ydGVkIGJvYXJkcyBhbmQgcmVtb3ZhYmxlIGRyaXZlcywgYnV0IGRvIG5vdCB3cml0ZSB0byBhbnkgZGV2aWNlLlxuICA5IFxuIDEwICMjIFN5c3RlbSBkZXBlbmRlbmNpZXNcbiAxMSBcbiAxMiBPbiBBTFQgTGludXg6XG4gMTMgXG4gMTQgYGBgc2hcbi0xNSBzdWRvIGFwdC1nZXQgaW5zdGFsbCBnY2MtYysrIGxpYmd0azQtZGV2ZWwgbGliYWR3YWl0YS1kZXZlbCBxdDUtYmFzZS1kZXZlbFxuKzE1IHN1ZG8gYXB0LWdldCBpbnN0YWxsIGdjYy1jKysgbGliZ3RrNC1kZXZlbCBsaWJhZHdhaXRhLWRldmVsIFxcXG4rMTYgICBxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwga2Y2LWtpcmlnYW1pXG4gMTYgYGBgXG4gMTcgXG4tMTggVGhlIFF0IGNyYXRlIGRpc2NvdmVycyBRdCA1IHRocm91Z2ggYHBrZy1jb25maWdgIGFuZCB1c2VzIHRoZSBwbGF0Zm9ybSdzIG5hdGl2ZSBRdCB3aWRnZXQgc3R5bGUuIEl0IGRvZXMgbm90IHJlcXVpcmUgUU1MIG9yIFF0IFF1aWNrLlxuKzE5IFRoZSBRdCBjcmF0ZSB1c2VzIHRoZSBtYWludGFpbmVkIENYWC1RdCBiaW5kaW5ncyBhbmQgY29udGFpbnMgbm8gaGFuZHdyaXR0ZW4gQysrLiBJdHMgaW50ZXJmYWNlIGlzIFFNTCB1c2luZyBLREUncyBLaXJpZ2FtaSBmcmFtZXdvcmsuIGAuY2FyZ28vY29uZmlnLnRvbWxgIHNlbGVjdHMgUXQgNiBleHBsaWNpdGx5IG9uIHN5c3RlbXMgdGhhdCBhbHNvIGhhdmUgUXQgNSBpbnN0YWxsZWQuXG4gMTkgXG4gMjAgIyMgQnVpbGRcbiAyMSBcbiAyMiBCdWlsZCBib3RoIGFwcGxpY2F0aW9uczpcbiAgICAuLi4iLCJwYXRjaCI6Ii0tLSBSRUFETUUubWRcbisrKyBSRUFETUUubWRcbkBAIC0yLDIxICsyLDIyIEBAXG4gXG4gVGhpcyB3b3Jrc3BhY2UgY29udGFpbnMgdHdvIGluZGVwZW5kZW50IGludGVyZmFjZXMgZm9yIGBhbHQtcm9vdGZzLWluc3RhbGxlcmA6XG4gXG4gLSBgY3JhdGVzL2ZsYXNoZXItZ3RrYCDigJQgR1RLIDQvbGliYWR3YWl0YVxuLS0gYGNyYXRlcy9mbGFzaGVyLXF0YCDigJQgbmF0aXZlIFF0IDUgV2lkZ2V0c1xuKy0gYGNyYXRlcy9mbGFzaGVyLXF0YCDigJQgUXQgNi9LREUgS2lyaWdhbWlcbiBcbiBCb3RoIGFyZSBpbnRlcmZhY2UgcHJldmlld3MuIFRoZXkgaW5zcGVjdCBzdXBwb3J0ZWQgYm9hcmRzIGFuZCByZW1vdmFibGUgZHJpdmVzLCBidXQgZG8gbm90IHdyaXRlIHRvIGFueSBkZXZpY2UuXG4gXG4gIyMgU3lzdGVtIGRlcGVuZGVuY2llc1xuIFxuIE9uIEFMVCBMaW51eDpcbiBcbiBgYGBzaFxuLXN1ZG8gYXB0LWdldCBpbnN0YWxsIGdjYy1jKysgbGliZ3RrNC1kZXZlbCBsaWJhZHdhaXRhLWRldmVsIHF0NS1iYXNlLWRldmVsXG4rc3VkbyBhcHQtZ2V0IGluc3RhbGwgZ2NjLWMrKyBsaWJndGs0LWRldmVsIGxpYmFkd2FpdGEtZGV2ZWwgXFxcbisgIHF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCBrZjYta2lyaWdhbWlcbiBgYGBcbiBcbi1UaGUgUXQgY3JhdGUgZGlzY292ZXJzIFF0IDUgdGhyb3VnaCBgcGtnLWNvbmZpZ2AgYW5kIHVzZXMgdGhlIHBsYXRmb3JtJ3MgbmF0aXZlIFF0IHdpZGdldCBzdHlsZS4gSXQgZG9lcyBub3QgcmVxdWlyZSBRTUwgb3IgUXQgUXVpY2suXG4rVGhlIFF0IGNyYXRlIHVzZXMgdGhlIG1haW50YWluZWQgQ1hYLVF0IGJpbmRpbmdzIGFuZCBjb250YWlucyBubyBoYW5kd3JpdHRlbiBDKysuIEl0cyBpbnRlcmZhY2UgaXMgUU1MIHVzaW5nIEtERSdzIEtpcmlnYW1pIGZyYW1ld29yay4gYC5jYXJnby9jb25maWcudG9tbGAgc2VsZWN0cyBRdCA2IGV4cGxpY2l0bHkgb24gc3lzdGVtcyB0aGF0IGFsc28gaGF2ZSBRdCA1IGluc3RhbGxlZC5cbiBcbiAjIyBCdWlsZFxuIFxuIEJ1aWxkIGJvdGggYXBwbGljYXRpb25zOlxuIiwiZmlyc3RDaGFuZ2VkTGluZSI6Nn0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODU3NjQwMjUyNDl9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiI2OGI4ZTU0YiIsInBhcmVudElkIjoiZDkwM2MyYzYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjMzOjUzLjM2OFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqQW5hbHl6aW5nIEtpcmlnYW1pIFFNTCBpbnRlZ3JhdGlvbiBpc3N1ZXMqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGJiMTdiYzgxOTFhNjc5MDU0Yjc4MmE3YjM0XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcWNKakFFNGNRMFJFR2R6b2NPNGQ2MFlLbWthQkQ5UWc4X3p0VXdKM2IwSUpUOWIyRVlGbElxMDc1eTloLUdhY3g3bURybFBzbU1qalppZS1XVU9xNFFiZk5tMG94Um0tZmRDekpYNkR6WDNXbndrdHJId0pGRENSb0VFN2J3WUZIWnBkeWtSQWpPcC0zWWcyT3NJS0sxamxkYndjeGNGUnlDZUJUNDRFSFNsWHJZa2I3MXBkemx2VngzNEJYaUFMckhNUHdHa3RBUnppMXE4TW5aUE9hc2lMTmwwYTR5Ty1ZdEdGLUNBZmg4Mk1VaURCM0JtbXZRYmtyekxMRG1oSnRCQ3B1NHVCcXdiLWllSFRGWU5SY0tmNG9qX0tNaTZHeTJaS0dGUVpueVMyWjZ1MXBHOE1UeGRkMkxLem9oUmlDNXdZS2d0QVd6bEhYRW14RkxkVm1OV1ZxUFZTUTBPVnQ0WE01RVZaNWZ3eWxtN3NrQUdPVnRzcF95S0FnZHNTeXE4MkdleHhoT09NTXhoUjNmNlZfSnNJNmY1OWJiaWpGS21sYnRfVkVmdGdFNFhNdUpMVTRwRl80c1RQRVRCTkdiOHNGaVpocVRTbnI4QzltSVJXTU5NREowNWpRM1pxcGhwcFJlQ2JFYmxJbXdPbU4xeldnWTdpWTBRNjZQeGQ2UGlvdGhiXzRHVWkzSUNJZktzU2QzVndzTDhlSERVX0NQWjlEMFFuV1JnU0tJRlZfZEg5VnVtaVIwRF9RX1FQZ2xnLVRNSmZsU1cwV1poWnZKQm9WNmJJT2xFVkdEbjJlVjRjRGxVTTR1TTJ6ZDMtM1h0bjkzQkZNaWxxSUJmbVFCLWp3M1FGTTBJSmZMRkhWd0pSVWFzV0w0c0w1SlV0amRERmFORzI5ZGRncUdONXpQZldiSWpVNEtHOFBhOW81ZXg2VUtiRlNnUmRLanVxcXh5amNqdktWNXB1NGlfdDA1VkQ5c0gtWEpqU2J6UVJuMHd0OWZxSDJHRXFRVWtiUUVua0dNSzE2QXNGQ0hnOFZPR01PU1BwaW9TSVVDOXRpRWtYTE81aFZ3UXZzejY1WHpyNTZxN1dRcV9mc3pibVFjenZ2d1Q2dDBkOFk5T3ZJVTY3cUl6dmpsYngyR1liUXhfbVFwUm8yMHdkQUZMdGVMNFVxaFR6eDZPbjVuSjlrVXBiOFFsdWVXTUI5YkdQUVBhTW9kS0VmaEp6OFBPQmpEUi1lWURzLWZSTFFXeVEzWHBXMldUNkVUZ0dTb0lKWWNLRXBwU05fUno4LV9BYkNJMUhrWkJJZk10Wm9UUi1WSFhFSFRzbjJWNUhCdjlOZ1llNlhzQjk2elVkZ09QbUZPNkNwelpDbzhta28wOXlMWDQ4Yzl3azZwMkFadkhvVHBIeUFpd0lHdW94OHQyTEZ0aHRNX1dnaDhUSlNGNjZyWkNpQlFHaG5jNEo5d0JpY3BlQklBZi1pbEhzeXhILWZYUUl3enBTUFdGT21lV2pFc3RtV0RDdGZndmNFNTBETFh0c3FLY0VLMFNuN2QyS2Nmd3I1cnBqUlQyZlI1YmpVR041eVJ0cnBldHZTUXp4TV9OejVQMktaUEhHU0lGSlNjSUVkT19RT0t5bmRyUlA4SzBWNDQ0STlVdWFfbllXQTdteGFtX2xDV0c1Z1g0WEVpNFh3aUZ5MldwN05SUlFkS0ZJVTRfaThEQ3l3dGNRQWpZTUI5bWhYNno2M0FXaHpKWmpBVmdsU00xZGkwRUxKbEVqQVl5NEsxUWN6T0Zua0FSY1hUSm5DNWJKNGY1OVF3aHNzU0loeUhRbXRhckQzOHhMUjJMUFdOeUhIck9VajEzR253X21sRlpscDU2TE1FQ0VlSkFmQlV6RFNwNzl4NGVsVl9XNXc5VzBGc3IyNWpzOXNSakdxbjlPdGJ1THlUWnpwS0htLW1sN2xLSzRQdjk3QldmZ0hJR3VYSDVLTWl5Nm1RLWZtLWIwRzZWQnJYY0J1bnN6dC12Yk9ibWNrdjdNNTloZ2d2dFUyTHcxX1pyMkVHcmJSd255YjR4X2pqWDBidEpNMUtaWnEzRHluX3lqYmhIWVVLRUxDdHlCbkNRUXAxQWxyTGNIWW9nY3loZkR4YVpRYkxpOEdaNmNaaG1LMV9CRHgtaVJLNl9oVlpydXdxcWlHb1U0MzlzTVgxUFJJNDhZUDNVZGJaOUJsMloxSzlaVVEyREpxNmdoTnJnSFBEU2tFM1FiTS1pckhjTnJTNk5iQXlrbXRfSjN3VEYtbTJudzBYZGQ0OTFjaEVqS1VhTFBmMlRlbVhNTTBQYXhrbGtVRE54aFA0Q0VhcjBkS2FFck1vcjgxcDJvYW5PRk5oN3htQWIxUDJSVVNOMTRtanNfMjN2Q2Y2LWdCXzhmM0JPUUdkWlpZcHRsZ3NwTDIySC1HVjlEelZTeFF6eWptcFc5T015NVBQblNBQXZSTHhKRWlsWW1yaGpuYmZMZkstaTBrV0dtOFpNUzNxSzFzeVRCaXdBTHc0dEhkSTFiT25TN01lQ2VYNW4zeVdPeFd2aWx6dm4zdGVHUU55bEljdVd1Skh3PT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkFuYWx5emluZyBLaXJpZ2FtaSBRTUwgaW50ZWdyYXRpb24gaXNzdWVzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX0hudk4xcVJyZWZYMHNIMzF3M2NnYUo0WXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOThjMDgzY2M4MTkxYTVlOTNjYTQzMTFjYWFmYiIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJscyAvdmFyL2NhY2hlL2FwdC9hcmNoaXZlcy9rZjYta2lyaWdhbWkqIDI+L2Rldi9udWxsIHx8IHRydWU7IGdpdCBzdGF0dXMgLS1zaG9ydDsgZ2l0IGRpZmYgLS1zdGF0In19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo2NTYsIm91dHB1dCI6MjEyLCJjYWNoZVJlYWQiOjE1MjA2NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoxNjAsInRvdGFsVG9rZW5zIjoxNTI5MzIsImNvc3QiOnsiaW5wdXQiOjAuMDAzMjgwMDAwMDAwMDAwMDAwNCwib3V0cHV0IjowLjAwNjM2LCJjYWNoZVJlYWQiOjAuMDc2MDMyLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wODU2NzJ9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjQwMjUyNTEsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGI5ODgxYzgxOTE4NGEzMmRmMWMyMjY1MDY5IiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJkYzk0NjhlMiIsInBhcmVudElkIjoiNjhiOGU1NGIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjMzOjUzLjQyMFoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfSG52TjFxUnJlZlgwc0gzMXczY2dhSjRZfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGMwODNjYzgxOTFhNWU5M2NhNDMxMWNhYWZiIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiIE0gQ2FyZ28ubG9ja1xuIE0gUkVBRE1FLm1kXG4gTSBjcmF0ZXMvZmxhc2hlci1xdC9DYXJnby50b21sXG4gTSBjcmF0ZXMvZmxhc2hlci1xdC9idWlsZC5yc1xuIE0gY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnNcbiBEIGNyYXRlcy9mbGFzaGVyLXF0L3NyYy91aS5jcHBcbj8/IDAxOWY5OTk5LWNjZGQtNzIzNC05MTJhLTYyZTViNjhhN2U5ZC5qc29ubFxuPz8gY3JhdGVzL2ZsYXNoZXItcXQvcW1sL1xuIENhcmdvLmxvY2sgICAgICAgICAgICAgICAgICAgIHwgNDI0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLVxuIFJFQURNRS5tZCAgICAgICAgICAgICAgICAgICAgIHwgICA3ICstXG4gY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbCAgfCAgMTAgKy1cbiBjcmF0ZXMvZmxhc2hlci1xdC9idWlsZC5ycyAgICB8ICAyNyArLS1cbiBjcmF0ZXMvZmxhc2hlci1xdC9zcmMvbWFpbi5ycyB8ICA1OSArKystLS1cbiBjcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwICB8IDQwNCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gNiBmaWxlcyBjaGFuZ2VkLCA0NTggaW5zZXJ0aW9ucygrKSwgNDczIGRlbGV0aW9ucygtKVxuIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg1NzY0MDMzNDIwfX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiYTNhY2I1OTQiLCJwYXJlbnRJZCI6ImRjOTQ2OGUyIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzozMzo1Ni42OTJaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRoaW5raW5nIiwidGhpbmtpbmciOiIqKlJlbW92aW5nIHNlc3Npb24gYXJ0aWZhY3QqKiIsInRoaW5raW5nU2lnbmF0dXJlIjoie1wiaWRcIjpcInJzXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGMzNzg2ODgxOTE4MTNiZTQ0Y2ZjOGFkNGY0XCIsXCJ0eXBlXCI6XCJyZWFzb25pbmdcIixcImNvbnRlbnRcIjpbXSxcImVuY3J5cHRlZF9jb250ZW50XCI6XCJnQUFBQUFCcWNKakVTcjgyRkFsRnJUZHJIS1VKZVN5Y00tMzQzbHd5MXZ0aC02R3BaX0JnZ19PajE0NWVBNGYzUC16ZVhFOXMyM1doWC1yNU5hd013NDhobWdYOVg0WUs0STc2T0N6SkJSSTJtYVh6NnhLa1BacGZjQnhaSGNRaWEwSnR4Sm84YXlPRmEyOTZXMTQyTld2dUM5bUp4TE11VVJtWVBKajJId0dhOUlBcWdpWngzSmkzcC1lVVdWSU1hZHBhUXpKQ2pKT1d3V2hPcFBRTGM1cTRSaDA0N3p3MUEyVnZrSEZZYlNDU0hfblo0ZWhMQ2RyeldXdVBsZ2YxTkYtUWI4bDFtcTNjejlMV0tzbzktcGZBSjYwRTZHeDJPbkRsZ09vZXhVNC1xVXVIbHg1UTEwYVJJQ2xQQk5IcUZYaGhyc2czN1Faa2Ficm8xeUtFdlY4YllwS2FhUVByM0ZpU19PVy1WdnhEV0Q5ekExZVBnUUxLSGJibC1XWW9XSEJ6eXNwTDN0blB6aUJJNlZHajZmVjgwMHFyTlVZLUNrN3RvTGlxcmt5QjRGMm1ab09QLVRVbFQ4T2lEMlBUUWJyaXNwQUFzOVBhTEZZSTVwTlpic09BODl6SGdUbC1QOF9RVmhpS1Y4Nl9sRlJTVW5ST1hrb0JXcEVLSHRLQjRlbDJpaHd5bnZPTnJuc1RyWG94cVRfT3BneWhTX2FLQ0xFWkxoc0g1eDZkUmg4SUEyYl8yTmdQOEpIcXVPNVNXRTJfUE15cldXZUl6LWpCdnlzZ1M2SG5LU1l0dkpOMi1RS2lScjQtOEFMR2pXdE54cFl3bEJuVHJILXA2NzZPUG1zUU5LWDJzMmYtYkNxeFlOdkY3MDFIb2xjWTZYbEdNbFFTRFdSTm5RX21uYjZZS1FMTEdUN3RWRUNfOTdMbksxOFR3czNQbkUtM0F1M2dnX0dsb0hmamZQUEtVWnVNN1V5Zjk4RVVMeVZ5MDlhd3ZWWkZON1lCSFRZTlFBcnM2WWFvT3BFdjJSRVYwNFdHbEJpZHU5UjhTN2I5eVhCUEhCYjVaWFE0MDZxNW1fNFZYemV4NHdhaFREM2VTTEV4bHctdl9WaEFxSFVNUWNhSVNBYXg3a0o4X0prZF9QNXVZY05uT3RBTjFEdjk5TnA5MmNEeXRaTFJDOGp3eHFFZG8xQWEwVXY0TWdtNTl3dHNnOUV1cjI0VlY4b3pxYVhUM284azBLQ0NjcUZlVV9wbXdQaDEyaVJjWm5TV3NPZnQ3cGFlYjVaMmEyaUVEaThqa0daMjBTbk1ZVHdLUW5lSHNnPT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKlJlbW92aW5nIHNlc3Npb24gYXJ0aWZhY3QqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfd0o1TzBDbWhENTZpMTRmV05TWUl2NUZnfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGM0MDlmNDgxOTFhYTc5OTEyNTQ1NmMxYWUyIiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6InJtIC1mIDAxOWY5OTk5LWNjZGQtNzIzNC05MTJhLTYyZTViNjhhN2U5ZC5qc29ubDsgZ2l0IHN0YXR1cyAtLXNob3J0In19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjoxMDYwLCJvdXRwdXQiOjYzLCJjYWNoZVJlYWQiOjE1MjA2NCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo5LCJ0b3RhbFRva2VucyI6MTUzMTg3LCJjb3N0Ijp7ImlucHV0IjowLjAwNTMsIm91dHB1dCI6MC4wMDE4OSwiY2FjaGVSZWFkIjowLjA3NjAzMiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDgzMjIyfX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg1NzY0MDMzNDIyLCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOThjMWQzNDQ4MTkxYTc1MGRkZGQ5ODRhNDQ4ZCIsInJhd1N0b3BSZWFzb24iOiJjb21wbGV0ZWQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiOTU4N2QyYTciLCJwYXJlbnRJZCI6ImEzYWNiNTk0IiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzozMzo1Ni43MDlaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX3dKNU8wQ21oRDU2aTE0ZldOU1lJdjVGZ3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOThjNDA5ZjQ4MTkxYWE3OTkxMjU0NTZjMWFlMiIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiBNIENhcmdvLmxvY2tcbiBNIFJFQURNRS5tZFxuIE0gY3JhdGVzL2ZsYXNoZXItcXQvQ2FyZ28udG9tbFxuIE0gY3JhdGVzL2ZsYXNoZXItcXQvYnVpbGQucnNcbiBNIGNyYXRlcy9mbGFzaGVyLXF0L3NyYy9tYWluLnJzXG4gRCBjcmF0ZXMvZmxhc2hlci1xdC9zcmMvdWkuY3BwXG4/PyBjcmF0ZXMvZmxhc2hlci1xdC9xbWwvXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODU3NjQwMzY3MDl9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJhN2Y5YWFhMiIsInBhcmVudElkIjoiOTU4N2QyYTciLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjM0OjAyLjE3NFoiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqQ2hlY2tpbmcgLmdpdGlnbm9yZSBmb3IgLmNhcmdvIGNvbmZpZyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4YzhmMWMwODE5MTlkMWY3ZTJiOWRhMjRkZWFcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxY0pqSkF0VUQwU3BqVC1jcU9lcGhncVo3UHRXMVk5ckF1a1RMSG9zclhjRi1GN0Zwel9KYjRLbkpDdmFLSXd5R0N3MDhXTlhFNjVpcUtWUUM0UHpLS19DYXF5TThsa1NtQ0NMQWdxcWNfb3o1anNncDNKMW9GWVVLVkFrcWFaakRscjh3NEFkQnlHTmZnbmVQMlFoUW9OZzY5Wlloa3lmcS1qR1FmeU1mdWRSMG1lZ1VlZGNjNEZVUk9FSExNY3hPVDc2NFdtRUp3ckpRNlREVW1hZWlaTmtCckpoTTdaTXF1Y0pLM3NYVmUwNVlJWlFpMW9fQTZjTTQxT2tSSFRxWDRFWGNBQ3JGVVdrZ1RQNFN6eDBlWkNIdEVLRXJhMkdTNEV6ZnNIWTRsdVkxbURzTWdGSDVrdXlWcmxIaXRSU1RrUnBma1hUaU90akZSNkZVQ2F3SmV6SUtzXzlBbkt6WUJpSTh6a08xUnVmc2RGNG1Qc3ZtTHVaalNpZU9RQXFnalVBUzZvRFRseUdma1pwVjBQS1ZReUdvMENUOHRwaGRwQUZEdHk0WDVremxIMVc2VzRuTjdpYjVxSHN0ZVBNRUFQdl9ySUNsUmJwZG82NURRdDBrT0lhRDluX3ZINmdXZkRHcm41bjBNM0F3eW5hVVU5OENBUDljXzFnN2ZZX1J4WXgtU2hSM1JKNkl4ajhHZHRtN1FQNlB0a1NHNVVGcmlGNWx1SmRmR3R4WEJWZkk0cnVGdTc3NmpFZmhxWm1mTTNxX3RELWZxRDU5ZDZHcW02VDlBRlduT2liQTdCbDJqcUFNdzVlQjFsVHI3S2pteFdVS3U5NUs0VlktV2RkSVBNSnBsOXIyOTBUZldwaThaTElWcEY3MVNMVlBxZXZtZ21Wdy1vZG1NMU9iU25FQ0xfdDlRRmtfR2w1em5SNWIxMWlGVmpqdUJJeGxJeVVwMnhWbmVjTTQ5SG02T29MOHRzSWFzbjItSGdBLV9QZXdxQW0xT0tnMU5sUmxsbERIejYwZ0hHYjhEcGhyUzRvTXp1dWJmUkQtY2NLZFdiZDAzUDBJZlZEdkV4UExnZlYzSjloMFhQZ1RiLXpmLXFTd3k5S3JmR3ZmM2t1LW9lWVpEVWpuZXhEZlNqNEJSZkFtMnM0WmNpX3ZoekhEcGtualVOSDZueFloV0RYNmdIQUJZT0ZBOHFNYXZ1VGlPcFJBdjVtc0UteGJuSV9UX3RpSGp0WjNMTDNTWEZ5YUF3TF81d2tyTWZodXd3V1N2dmxaSC11VWhmclAtZzRPMlhKcUhaOTAwV2pDWms3THN3MGRCVTZxVFdFTGdzM1otNW51bHJRbWIyXzdJRmc1OXRHN3NfOTdZNXJjVUFRSlRlZC1YdFRCbE9hRFNnPT1cIixcInN1bW1hcnlcIjpbe1widHlwZVwiOlwic3VtbWFyeV90ZXh0XCIsXCJ0ZXh0XCI6XCIqKkNoZWNraW5nIC5naXRpZ25vcmUgZm9yIC5jYXJnbyBjb25maWcqKlwifV19In0seyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfNkduU1N6bmJuckVqU3ZKZTlVVThMVXJifGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGM5ZTRmYzgxOTFiNmE0MGU1NjA1Y2ZmMjUwIiwibmFtZSI6InJlYWQiLCJhcmd1bWVudHMiOnsicGF0aCI6Ii5naXRpZ25vcmUifX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjExOTEsIm91dHB1dCI6NDQsImNhY2hlUmVhZCI6MTUyMDY0LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjIzLCJ0b3RhbFRva2VucyI6MTUzMjk5LCJjb3N0Ijp7ImlucHV0IjowLjAwNTk1NSwib3V0cHV0IjowLjAwMTMyLCJjYWNoZVJlYWQiOjAuMDc2MDMyLCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wODMzMDd9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjQwMzY3MTEsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGM1MGRmYzgxOTFhMmEzNGNhM2VlZDA1NDRhIiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJkMmYzYjMzYSIsInBhcmVudElkIjoiYTdmOWFhYTIiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjM0OjAyLjE3NVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfNkduU1N6bmJuckVqU3ZKZTlVVThMVXJifGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGM5ZTRmYzgxOTFiNmE0MGU1NjA1Y2ZmMjUwIiwidG9vbE5hbWUiOiJyZWFkIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiLipcbiEuZ2l0aWdub3JlXG4hLmdpdGF0dHJpYnV0ZXNcbi90YXJnZXRcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NTc2NDA0MjE3NX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjNiM2U2Njc4IiwicGFyZW50SWQiOiJkMmYzYjMzYSIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzQ6MDUuOTUyWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipVcGRhdGluZyBnaXRpZ25vcmUgdG8gdHJhY2sgLmNhcmdvIGNvbmZpZyoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4Y2JlZjUwODE5MTgzY2M2Y2FmYWJkYTdhZjVcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxY0pqTUgtckJHcXlfdEZyeWVWRXJIdUdmcjNwZlNYZGpHZDY3MU13MlUweEt4ZVBfZnYzd3ZmanNLM28zMkNNTXRlNmZyblY0YjV1VWFsbkZaR0Z5NWJUSFVjZHdnRERMekd6VFh6Y05EMmJNYmpKTWtlVDlBSkplMDk5bndnTDRMU3ZMWHhKMDRVY3pVX2hRSGJqZUhZeWF6VlZlWC12Qk9tdkloeFFTXy1MSFUzR0MzVGtNRmZYbzFnZXBNQkY4ZFN4OXktS2FXbHpObU5sLVo3U3hLOEZVbzJfaXpoYk5IZE1jSnRXeTB5cFd1X0Y4YVJnZDZNWkNJb1dyUkZhc05pUlJadzRBRWVyV0R5RFp4RXdMdDRBNmo1NTBHLVhjTDZ2V041VHhfN1A3elh0bFhGVnZ5WU1LdEV0Tm9MUjkxOThhc1JPOWJoRDQzLW9xTTg3QUt4dDNwaVdveUhTakdieDBjNk9XS09La0dwV3dXenNWbzhCUVNGekdxekFDN012R1Z2WWFXOEVOVFlvdlBsU1JDMS1oYUVoWVoyckNYYUZQZ1NtdmZUYy1vNGdyaWtZS0pnTktkRkxTQ202cUczZ1FjWGhRVHJfYzZmQjYyYUNQZ3BuUVVNOFNRVjdzckgtOG5xM1FKRktDRVpxWTFCR21GSVJiLVBJdzNHYzBJc3djMUpEWko0c21qSjFOdFJGekRwTm5CTWlMR1lrSlVGWnpHNGpESFdTQThYd0JHZVFFYkVJQTRQeUYtTVhuTUM3dkF5YkU0WHpVdUY5VGQ0SHhtN3ZqbzhSQTY3UTRRcllNMnNnSTVTWks0MENNaGRyeE5JOE5SYW9SUUItdjdEM3NILU1FYXdkQ2xJLWZRc0JNRTUxNXZDcjZPZEJ4T1JNRUtYeHpjQlo1NTE3eWhWbGVhNEFQMXNSdjczWTdzRlE1NkhFVldRQzRVZ2dCbzI4V0YxdUxRWFRySGdmRlRkR1IwODJBc21vQ3lpc1dua2R3XzBjdnlJaDYyX3BtNWZhSWVnbXdWek52cS1iaTNRYTNwQnlqRGw1c1lUUUFHNGpnSE1BLVZvNHFURkk3ajVad2hGMkR1TmlUb254ZTZHOUx0N3RYQTBUOGNjNHNjUjVrYTExRXR2Q0JiV2tTRW1IbVpqaG5uWlFxNjVDX0YwcVViMDhOVDZOVm42dkFqa05NRUZvQVllU2I5Rnd3ZTJkT2plMXM0d05lOWNmNEJSc2FJalBaREZJS2RoSHpsdk1adlhiM0p5ZkRaZG1lREdaTVZOeVNiNEFwYW5hV1Nid1g2WDFyRVN3YkZkM01BVEVlaVJlc05nVVNZaFJ0cjBoS0V0NnZhRWtRZjRzOUlmRDBsM1BLOTc0OGNhQW9JQ3UxM0dKMTdtcjJ2S0FxSzhwYTZGT3ltVmEwanhqV0N1OVR1OFZxaE1VWXZFNW81RG5uXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipVcGRhdGluZyBnaXRpZ25vcmUgdG8gdHJhY2sgLmNhcmdvIGNvbmZpZyoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF9SRUQxUllMbXl0NDJJbWUya1Z2TzV4ejl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4Y2NmYzY4ODE5MThlODk0NDViZGI2NWRhYzEiLCJuYW1lIjoiZWRpdCIsImFyZ3VtZW50cyI6eyJwYXRoIjoiLmdpdGlnbm9yZSIsImVkaXRzIjpbeyJvbGRUZXh0IjoiLipcbiEuZ2l0aWdub3JlXG4hLmdpdGF0dHJpYnV0ZXNcbi90YXJnZXQiLCJuZXdUZXh0IjoiLipcbiEuZ2l0aWdub3JlXG4hLmdpdGF0dHJpYnV0ZXNcbiEuY2FyZ28vXG4hLmNhcmdvL2NvbmZpZy50b21sXG4vdGFyZ2V0In1dfX1dLCJhcGkiOiJvcGVuYWktY29kZXgtcmVzcG9uc2VzIiwicHJvdmlkZXIiOiJvcGVuYWktY29kZXgiLCJtb2RlbCI6ImdwdC01LjYtc29sIiwidXNhZ2UiOnsiaW5wdXQiOjIzNCwib3V0cHV0IjoxMDMsImNhY2hlUmVhZCI6MTUzMDg4LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjMxLCJ0b3RhbFRva2VucyI6MTUzNDI1LCJjb3N0Ijp7ImlucHV0IjowLjAwMTE3LCJvdXRwdXQiOjAuMDAzMDksImNhY2hlUmVhZCI6MC4wNzY1NDQsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA4MDgwNH19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2NDA0MjE3NywicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4Y2FiOGE0ODE5MThkZWUzMDI1ZjFlYjYxMzgiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjQ2YjY3MGYyIiwicGFyZW50SWQiOiIzYjNlNjY3OCIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzQ6MDUuOTU0WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9SRUQxUllMbXl0NDJJbWUya1Z2TzV4ejl8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4Y2NmYzY4ODE5MThlODk0NDViZGI2NWRhYzEiLCJ0b29sTmFtZSI6ImVkaXQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgcmVwbGFjZWQgMSBibG9jayhzKSBpbiAuZ2l0aWdub3JlLiJ9XSwiZGV0YWlscyI6eyJkaWZmIjoiIDEgLipcbiAyICEuZ2l0aWdub3JlXG4gMyAhLmdpdGF0dHJpYnV0ZXNcbis0ICEuY2FyZ28vXG4rNSAhLmNhcmdvL2NvbmZpZy50b21sXG4gNCAvdGFyZ2V0IiwicGF0Y2giOiItLS0gLmdpdGlnbm9yZVxuKysrIC5naXRpZ25vcmVcbkBAIC0xLDQgKzEsNiBAQFxuIC4qXG4gIS5naXRpZ25vcmVcbiAhLmdpdGF0dHJpYnV0ZXNcbishLmNhcmdvL1xuKyEuY2FyZ28vY29uZmlnLnRvbWxcbiAvdGFyZ2V0XG4iLCJmaXJzdENoYW5nZWRMaW5lIjo0fSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NTc2NDA0NTk1NH19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjkzNjI1MWJjIiwicGFyZW50SWQiOiI0NmI2NzBmMiIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzQ6MTcuMDM2WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipQbGFubmluZyBxbWFrZSBwYXRoIHBvcnRhYmlsaXR5IGltcHJvdmVtZW50cyoqXG5cbioqSW1wbGVtZW50aW5nIHJlbGF0aXZlIHFtYWtlNiB3cmFwcGVyIHNjcmlwdCoqIiwidGhpbmtpbmdTaWduYXR1cmUiOiJ7XCJpZFwiOlwicnNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4Y2Y5Mjg0ODE5MWFmMWZjMWI5NDE5ZGU3NGNcIixcInR5cGVcIjpcInJlYXNvbmluZ1wiLFwiY29udGVudFwiOltdLFwiZW5jcnlwdGVkX2NvbnRlbnRcIjpcImdBQUFBQUJxY0pqWFgxYVk5Vi1UNUVWVDVsWkcxQk9KcG9HZ0hQMmhqVHRDbVBWS0RuaG9VbmgtMEFqZjNkWWdGRHZNa3hQNlU0N0VYaC1pdDdueF9MN3pVel9TN09OcDZWdTMxVW5PX1otS1dRUE5pV2tLS1UyV0hwai1zNENBd1JGeUlSUG9RMXFyTW5KcFlyTzZTX01jQ2lWU1ZNMU1kUG1GM2pqSjVMQ1gwYzh2Z0ljTmdpZjNuSVFCRWZoRXhnM3ByazlRUEVQbFBhQUd5Tmtjc2VPWDNncHN1akpOWTk5WkFwOV95NXlFSEl6ZVpOTVp5alJQR2g2UG9xdlZjcUptUmNBMlJTaDNfWXZnSkw0dlQ1ZzU2djl0UEdNWWZaRGpUdVdpTEFLM1llY1lSYXlZTDRiN250cEU4azFkUEJ4emtSZDNQSXprQmxOQkxXZjhXQTlLc3JLYWYxWFV0LUxxMGhtNVlsRDRHRFJIN3E0U2docEZhQkRzNHZpdDZ5bW9vQnhyVE9SbWxWQ1l2V29OUVdzQXkxVVppWTZMazF6b081WXkzM09DaVU5TWV4bkZ5eC1WeEpsVG56YmdkS1ZBWW1USnh4SHdlTDd2YjFVN19nUGxqWnVLbk1hWmZyZVJ1RTdNTzdfcXBhVjRYcVRmUlctaDYwdjNidFZWX0NIV093SWtVLVNFSVhOaGhLNE1KLXRTTmpDN3c1VDRVQWtXZXZkdVRjNFl3dUc3eFhaREZNMzlqTkNkb3dTRDBVczh3ekl0OGZVN1N1dVNRSmFkNmlZV1owTnFRSzBia2hSWnVKakpTbGFISHg0UFpUQ1lkWTh0WVEwUklOR3BmMkE2RW83bmdUS05TZ0F4RUtwX1Q5eXpGMmhWUzk2MTYwYXVlWFU5MEZUUzk0Ync0UGJnRkxEenlXbGxKWXh2TjNxVUhRaWVrQ2UzdmRHanBvQTVmYXZvVnNaNlNlNThPSWtCb0M4N3hvdkkwNkhhSThkdjFqamM4cXpjWm9OY0dNSElTSmxXUGR5N2JubkJKckYxX3FUeThKV25oc3lLbm1YX25TVnVaQnc2Ul85bWpjZ0JrUUJ1Mk5qLTFGTWF5MkoyT0FqQ2tJdHpzTzI0ZU5lSXhWcUtkYU1rUGVoMXZjYTJVTEpCSDZaSHUtQ2dKN1FBcW5pbVpmR2xXbG5zcndvRS1tNjBMV1hTUno4QXZLMjZraU1RVk45bS1XSE0yZC1RenUwcHh3RjJHbHB4NzM2Rkg2RHNrZUFIdVBDRG1SNjE0QVA2MDVVMTR1ZnhXeVBrSEJjM2NRc0FDQXJXbHhCUlF2VmlMY1RpdjdQT3ljLVRIaExvTDByWGM0dEN0dDlWYmNzT29XR1JUN2VtUnk1QTBCQk5wZlpXT3VUZU4wT0JnWkY5VmhBLWtnZjBOdURqNjczWTE2ejJIc0NFdThpZHFfTnNiSTFMNm9yN2ZReG5BWmxLdVB6Z1BwZnlLejd0b245bXVrdFZCN2gtdjdYZ21ScEtGb1NsRUJsbldyWHFkNGpLb3FSTThkRl9Jb1FwNEZNc1lhNHhRam0tdkgwQWxuVEhiendTbTBwRzg1UkJEOTBQSFloQ2VFdjhMZFJtMVhVXzR1ZFpKSjBaTjVrdXhPbUkxUjN2N0hMMWZjUUQzVDBUc2RpRlJtZkozRHBkSEZWanhsaTNTNTFuTjdwN09wVXY2M3NfNVdHQkp5bXRyQjZiZldfUFh5eEhKWmExeG5IbHdiTGdWbk1kaTdVR3c3SFBXUWFPOFdFeTV6bVJRcnF1WE1kbWlWbUpWZW5fRzFON3p1aW5PNWFCanh0VDBYcHhWU0oxbHVoTlRxN0w2c2p1WE95UjZlVFEwaUxpYzhMclY0bEdwcEFpZGpjRlRZZ0czbWtIQTRxQ25pSmlsY3dBem5uczNRTzZSQUZ0VkQzQjM1MmRvOFVzYnNJdUNnRGd3eE1qV3owVUVnaWlKUlVGWFdVT0x1aFNhcGpWSXpSMDM5TW9lakhrLXZzUTNvT0V2b0pUU0NlLWk1dm45UHkyTnVlT2s4Und4QmRXMUpmbGRERWJvaS1zeklyRjItRFRpclF1T0N0S2FSNXhrRlVpN00yV3JicFlJNDY5YVlLbzV4Um1sUFZJamJoRWZuc1R6Q2lwUG9mR2VfVTMwUE4xbjJnckR2NFNodnFSNUgtWl9nOXpmS0JQTmtHR1BGbm9LNy14a3FmbDBscHRJZ2pxYUQxb1U5RjM1YjU4Z21nZFBsNDhOTU12WnZPSkNGSEhHdUpyOV9Gdm9zeXRKOGhVWXAzUjhOUzgwd3pZUzA5dk9QLVhvVl9HZWtoYWNJZC1hV0RvSS02aFdTTndfSlBSRFZWelFWTXZnQXRUSHpyRElhcFNxYzdCSllhUXVXYnZ4eW5tU2Nybk0wazQ2SlozZmdwaXhSSHdfV09ab3A4OUowM1JrYThRZW9CZHd4TWtGbnRHLXotNkZwMzRGYjBfQlN1R0dpcVlPb1lLTHExeFRBT2tCZHFjUGVRRnI5Zi04WGNCMEZZOEI0WHZtUVZQc2hubVV1Q0pRV1YxOE5NTkxkaFREQ29laDBqTkQ2MFRhSzhMTmptWGt3S2NrMXpOVzR0ODRFcmlHUG02eGtUTWRIQVV0eFJiOHMySFNjeDdmZ3loMXEyMWhBQzE1VENZcloyZU5QRzVmbndkLUVUZkU3c2hCZnEwQjdQUm9sS3BXa2hTV09pRnIybXFxQ1JuSlhwd2xTMllMczUwSUZMZUl0dFVjWV9VNS0zVUw5bGkxdjdZRE1qUFh2bDJ1NnpWZkNsbXhDUW1pdFVNQVQ1WFJZZFdFSi1Hc2ViVVdlNGFubnJUY21rR0UtZ1hNQ205UGRwTElkQW1HT2JtdDQ5dTBmem9RSWVsTExZWHdhNU1hV0JPcEhIMmJDaXN6YlVJLWtxak1nZXdWbDZUN2M2eHJEdU5uS1poaUxDbC1JajU3VC1WZGw5cjdjdzQxdVlieFlhbmhwMVBjeF9pY184OXVMcFdiR0hyYkVia0tFa1VxbHY1bGx2TnUwMC1qQUpvSmRsNjVzVXZFVDdUZzZSczR4MWVMbTM4UHlyTmpyTHVNOExVYUFUMVlRNW9nbmhPZi1mY1pnN0lLZnRpWTViVDI4Vk8xZXAtSF94clVNTUdjQ0NmS3BYY1N4NUh1RUtzUDBxTU5STEZZaTZvanNaTWRJb3pPN1k4VVNJWV9qNW5IckxRakpnek9qV1ZNUzZLTU1LUEo4RS1mN0EyV1pCWU9kWDFuTzlXN21udWdsUXktOFhKYmNMcm9IMjJ3V0lzaGQ5ekd0d05CN1VvblRmVUhlbUhRa3M0Y3AxUEpqd3Q3OHpPbGdVY0JEZm1WX0ExZVlWVnFXb2lPdFJKcnhLU3RiS2h3cXE0ZElzMTgtd25kYktSaS00QlQwUXZ6SlpXTnBzZDVqUzdia2ljSmdEZU5HTENFSXcyTnI1a1dsWGd4TGxMY1lhN1RsUzBvczBocmVhZWdEdHNyYzBPaGltRDYtN1Y1TmZjTFlZTXBRaC05alF0S3FpQk1HaWs2cG9tNWI3U1MxdW1udDZOTTVNeGpuNld6em5pRXc9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqUGxhbm5pbmcgcW1ha2UgcGF0aCBwb3J0YWJpbGl0eSBpbXByb3ZlbWVudHMqKlwifSx7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqSW1wbGVtZW50aW5nIHJlbGF0aXZlIHFtYWtlNiB3cmFwcGVyIHNjcmlwdCoqXCJ9XX0ifSx7InR5cGUiOiJ0b29sQ2FsbCIsImlkIjoiY2FsbF94bHZPTkJHZFNRVW1iaGt2SHo3Y2dyQTB8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4ZDdjZjQwODE5MWI5OWZlNzFhZDE2ZjhjOTQiLCJuYW1lIjoid3JpdGUiLCJhcmd1bWVudHMiOnsicGF0aCI6InRvb2xzL3FtYWtlNiIsImNvbnRlbnQiOiIjIS9iaW4vc2hcbnNldCAtZXVcblxuaWYgY29tbWFuZCAtdiBxbWFrZTYgPi9kZXYvbnVsbCAyPiYxOyB0aGVuXG4gICAgZXhlYyBxbWFrZTYgXCIkQFwiXG5maVxuaWYgY29tbWFuZCAtdiBxbWFrZS1xdDYgPi9kZXYvbnVsbCAyPiYxOyB0aGVuXG4gICAgZXhlYyBxbWFrZS1xdDYgXCIkQFwiXG5maVxuXG5lY2hvIFwiUXQgNiBxbWFrZSB3YXMgbm90IGZvdW5kOyBpbnN0YWxsIHRoZSBRdCA2IGRldmVsb3BtZW50IHRvb2xzXCIgPiYyXG5leGl0IDEyN1xuIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0IjozNTksIm91dHB1dCI6NDE5LCJjYWNoZVJlYWQiOjE1MzA4OCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjoyOTcsInRvdGFsVG9rZW5zIjoxNTM4NjYsImNvc3QiOnsiaW5wdXQiOjAuMDAxNzk1MDAwMDAwMDAwMDAwMiwib3V0cHV0IjowLjAxMjU3LCJjYWNoZVJlYWQiOjAuMDc2NTQ0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wOTA5MDl9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjQwNDU5NTYsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGNlNDcxNDgxOTFhNmMzYTZjMDA3MzQxNWEzIiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIwNmQyMDVmNCIsInBhcmVudElkIjoiOTM2MjUxYmMiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjM0OjE3LjA1N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfeGx2T05CR2RTUVVtYmhrdkh6N2NnckEwfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGQ3Y2Y0MDgxOTFiOTlmZTcxYWQxNmY4Yzk0IiwidG9vbE5hbWUiOiJ3cml0ZSIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSB3cm90ZSAyNDEgYnl0ZXMgdG8gdG9vbHMvcW1ha2U2In1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg1NzY0MDU3MDU3fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiODE0ZjcwN2MiLCJwYXJlbnRJZCI6IjA2ZDIwNWY0IiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzozNDoyMC4wNjhaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX29vNWZzQVZwVGExNjJTZ1NRUk1vUUx1ZXxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOThkYWI0ZDA4MTkxOWFiNjZiZmQ0NDFiYTNhZCIsIm5hbWUiOiJ3cml0ZSIsImFyZ3VtZW50cyI6eyJwYXRoIjoiLmNhcmdvL2NvbmZpZy50b21sIiwiY29udGVudCI6IltlbnZdXG4jIENYWC1RdCBvdGhlcndpc2UgcHJlZmVycyBRdCA1IHdoZW4gYm90aCBtYWpvciB2ZXJzaW9ucyBhcmUgaW5zdGFsbGVkLlxuUVRfVkVSU0lPTl9NQUpPUiA9IFwiNlwiXG5RTUFLRSA9IHsgdmFsdWUgPSBcIi4uL3Rvb2xzL3FtYWtlNlwiLCByZWxhdGl2ZSA9IHRydWUgfVxuIn19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo3OTgsIm91dHB1dCI6NzIsImNhY2hlUmVhZCI6MTUzMDg4LCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjAsInRvdGFsVG9rZW5zIjoxNTM5NTgsImNvc3QiOnsiaW5wdXQiOjAuMDAzOTkwMDAwMDAwMDAwMDAwNSwib3V0cHV0IjowLjAwMjE2LCJjYWNoZVJlYWQiOjAuMDc2NTQ0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wODI2OTR9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjQwNTcwNTksInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGQ5NTZlODgxOTFiOGM5YzE1ZWVlZjcyNTk1IiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxZjViZjg5ZSIsInBhcmVudElkIjoiODE0ZjcwN2MiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjM0OjIwLjA2OVoiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfb281ZnNBVnBUYTE2MlNnU1FSTW9RTHVlfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGRhYjRkMDgxOTE5YWI2NmJmZDQ0MWJhM2FkIiwidG9vbE5hbWUiOiJ3cml0ZSIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlN1Y2Nlc3NmdWxseSB3cm90ZSAxNTYgYnl0ZXMgdG8gLmNhcmdvL2NvbmZpZy50b21sIn1dLCJpc0Vycm9yIjpmYWxzZSwidGltZXN0YW1wIjoxNzg1NzY0MDYwMDY5fX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMTgwNzVlNWEiLCJwYXJlbnRJZCI6IjFmNWJmODllIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzozNDoyMi43NzJaIiwibWVzc2FnZSI6eyJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX1dpSWlSVWI4cG9PWWZxM3NqNVRETUVrQnxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOThkZGMyZmM4MTkxYTE3YjdiNmU5Yzg5YTNiNCIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJjaG1vZCAreCB0b29scy9xbWFrZTZcbmNhcmdvIGNsZWFuIC1wIGN4eC1xdC1saWIgLXAgY3h4LXF0ICYmIGNhcmdvIGJ1aWxkIC1wIGZsYXNoZXItcXQiLCJ0aW1lb3V0IjoxODB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6ODkxLCJvdXRwdXQiOjUzLCJjYWNoZVJlYWQiOjE1MzA4OCwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MTU0MDMyLCJjb3N0Ijp7ImlucHV0IjowLjAwNDQ1NTAwMDAwMDAwMDAwMSwib3V0cHV0IjowLjAwMTU5LCJjYWNoZVJlYWQiOjAuMDc2NTQ0LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wODI1ODl9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjQwNjAwNzEsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGRjNWY1ODgxOTE4ZTIyNzI2OWE5NzYwNDExIiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIwZjllYzAzZCIsInBhcmVudElkIjoiMTgwNzVlNWEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjM0OjI0LjY3M1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfV2lJaVJVYjhwb09ZZnEzc2o1VERNRWtCfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGRkYzJmYzgxOTFhMTdiN2I2ZTljODlhM2I0IiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiICAgICBSZW1vdmVkIDE4MDYgZmlsZXMsIDc3OC42TWlCIHRvdGFsXG4gICBDb21waWxpbmcgY3h4LXF0IHYwLjkuMVxuICAgQ29tcGlsaW5nIGN4eC1xdC1saWIgdjAuOS4xXG5lcnJvcjogZmFpbGVkIHRvIHJ1biBjdXN0b20gYnVpbGQgY29tbWFuZCBmb3IgYGN4eC1xdCB2MC45LjFgXG5cbkNhdXNlZCBieTpcbiAgcHJvY2VzcyBkaWRuJ3QgZXhpdCBzdWNjZXNzZnVsbHk6IGAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9idWlsZHJvb3QvZmxhc2hlci90YXJnZXQvZGVidWcvYnVpbGQvY3h4LXF0LTFlMWQzZGVkOGM3MmRkODQvYnVpbGQtc2NyaXB0LWJ1aWxkYCAoZXhpdCBzdGF0dXM6IDEwMSlcbiAgLS0tIHN0ZG91dFxuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29ubmVjdGlvbi5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvcW9iamVjdC5yc1xuICBjYXJnbzo6cmVydW4taWYtY2hhbmdlZD1zcmMvY29ubmVjdGlvbi5jcHBcbiAgY2FyZ286OnJlcnVuLWlmLWNoYW5nZWQ9c3JjL2luaXQuY3BwXG4gIGNhcmdvOjpydXN0Yy1saW5rLWFyZz0tZnVzZS1sZD1sbGRcbiAgY2FyZ286OnJlcnVuLWlmLWVudi1jaGFuZ2VkPVFNQUtFXG5cbiAgLS0tIHN0ZGVyclxuXG4gIHRocmVhZCAnbWFpbicgcGFuaWNrZWQgYXQgL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9jeHgtcXQtYnVpbGQtMC45LjEvc3JjL2xpYi5yczoxMjUyOjE0OlxuICBDb3VsZCBub3QgZmluZCBRdCBpbnN0YWxsYXRpb246IFFNQUtFIGVudmlyb25tZW50IHZhcmlhYmxlIHNwZWNpZmllZCBhcyAvaG9tZS9hZ3VzY2hpbi9Qcm9qZWN0cy9idWlsZHJvb3QvZmxhc2hlci8uLi90b29scy9xbWFrZTYgYnV0IGNvdWxkIG5vdCBkZXRlY3QgUXQ6IENvdWxkIG5vdCBmaW5kIFF0XG4gIG5vdGU6IHJ1biB3aXRoIGBSVVNUX0JBQ0tUUkFDRT0xYCBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBkaXNwbGF5IGEgYmFja3RyYWNlXG5cblxuQ29tbWFuZCBleGl0ZWQgd2l0aCBjb2RlIDEwMSJ9XSwiZGV0YWlscyI6e30sImlzRXJyb3IiOnRydWUsInRpbWVzdGFtcCI6MTc4NTc2NDA2NDY3M319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjJkZWU5ODhmIiwicGFyZW50SWQiOiIwZjllYzAzZCIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzQ6MjguNDUzWiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipDb3JyZWN0aW5nIHJlbGF0aXZlIGJhc2UgcGF0aCBzZXR0aW5nKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOThlMjk3MWM4MTkxOTRhMWFiN2Q2YTY1YjE4MFwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFjSmpqMzVyVDVSMWktRVRpeUZfUzRZRGVFM01oZFJMV3RmTDl6MWlzbC00OUk5WEdBQ1k0eWRoT3hSYmVlbHZ0NFZJMjB6OUFGT2NsTERfXzR0emJhVlZUMWJZUTlsYTM0eDBqOWtMdlFac2tEOUxQaWwyNHBmQUttSEQ3MWFOSDhidW9YS3lsNU5jaER0U2w3OWJVUjNaMHFRejZTNHI4RXg0cWR2bEkwZUNWWlQzWC0tTmNNbDlKYVpIejdhX0xiZlZIbURKZVFRTXdOUWY1Zm8yQXhZRGN4NXhFS2hzSGNYemxRcXp5Qjdtd29LdVd4UndiV0FJcWhMOEI4ZVk4aHh6TjJ1bklwOXVXSFZ1REVjV1FtZlprellxdWtyY1FHenNnZTh6Q01BeEZkbFNwNm80ZlpaYmZLcmd4dFB0RmJnWHVtdmgzT0RGUzFkcmkzU2ZNWFdMOHo0YnFkMFJmSzZSd2YtRF92WWNtbG1OZGNIQnIycWxsUjhyemIxVG5iV3RDOTExM3o0M29xUjE4TzN2ZmRXekt4c0dDZnFRUTVFajN0eGttRVpzZlJQMzdWM195NGtTaTR6amw1THkwREtSc1E0TUZDREJ6ZU5ub2NaRDFmTEVtdnoxQXVKNUt2ZTRLVXZGYTNnMDJUMGkzZmUzQkxFaWN6T2lVYlBlc0wwWkhVUkc4VVNlQ2hPZ3RldzFxRmZtUFpxaEpzX0VTc3RuRTJsRU5GNk4yeDlWSFphLXhEMXRReWYtdDJlWENDb1JHTU9KalZoNnNTbnVGck1sX0gySk9LTGQ3cGZUQ0RpRVBGVmFGdWNBQzl0ZFozMlJLTGtPaEh4Z0Z0d05CVlFGVndrb2hvQkMwSjZxY1lPWXNHeWU0NG5hSUR4ZzRyR2x5YTVLTVAteXh4S3J4b25jb1hEWmVsQm9VREdFelo1VUpUSXdLV0w2WkkzNnBKOHFKcEYwUU5LblhIblFUQnBTNElDMkNEQnZPX3JTVHBGUGF1TVduNVhOQS1NdmxRX25tejNhVmN2Rk03UjJIcTRXUXQtYktiMjhWT1VmZ0ttVC12ZW1sLXlvQmVaNHlFekxVZEhjcDdaT2xMS0NaZGFrVmc5U0VUTmZvZmV1MzVQY29tQ1pWeElpMGVIVGhyRHh1Rk54RWltLWpyWVhhbThieHhLVDVQckZRZFBxemZZSWF0bzlkeDI4LXJ6a3VVcUNScVF4ZWoyMGgxWU53Rl96dFBzVHQxUW9ockR0M205SHZRbE1fVUF1eUVJQUZoNWx4b0RCNFZKT0d2ZHZoSzdGaHJoaFJjUktoRk1qMnpNZlI1MV9rX3FzWGNXc0J4cXBHcEdGRXp6Y0pvcjd0S0kweW5OVkF5SG9VMFVTd0xoMFljcG5xek1sNUdwUEZjTm13M2pURW9MX3UzMjF0QjlkVWFmbWFDbkdoeTJrUzVZSUFIbHExQUNxdE5VRVplclBkRGxXcDEtRm5zYldRbEtpaHZucVZCNE54Z0F6M2VpOE53YW1TeTdxM0VLb20tX01fXCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipDb3JyZWN0aW5nIHJlbGF0aXZlIGJhc2UgcGF0aCBzZXR0aW5nKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsXzEwNWJoV2dRQW5MUHpCYndjcHowanNoNHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOThlM2MwODQ4MTkxOTVlOGY4ZmEzNmFlYzdlNSIsIm5hbWUiOiJlZGl0IiwiYXJndW1lbnRzIjp7InBhdGgiOiIuY2FyZ28vY29uZmlnLnRvbWwiLCJlZGl0cyI6W3sib2xkVGV4dCI6InZhbHVlID0gXCIuLi90b29scy9xbWFrZTZcIiIsIm5ld1RleHQiOiJ2YWx1ZSA9IFwidG9vbHMvcW1ha2U2XCIifV19fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MTI4OSwib3V0cHV0Ijo5MywiY2FjaGVSZWFkIjoxNTMwODgsImNhY2hlV3JpdGUiOjAsInJlYXNvbmluZyI6NDAsInRvdGFsVG9rZW5zIjoxNTQ0NzAsImNvc3QiOnsiaW5wdXQiOjAuMDA2NDQ1LCJvdXRwdXQiOjAuMDAyNzksImNhY2hlUmVhZCI6MC4wNzY1NDQsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA4NTc3OX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2NDA2NDY3NiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4ZTE2N2JjODE5MWIwYTU0Yzg3MDA4YmM0MGEiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjQwM2FjYzdhIiwicGFyZW50SWQiOiIyZGVlOTg4ZiIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzQ6MjguNDU0WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF8xMDViaFdnUUFuTFB6QmJ3Y3B6MGpzaDR8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk4ZTNjMDg0ODE5MTk1ZThmOGZhMzZhZWM3ZTUiLCJ0b29sTmFtZSI6ImVkaXQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJTdWNjZXNzZnVsbHkgcmVwbGFjZWQgMSBibG9jayhzKSBpbiAuY2FyZ28vY29uZmlnLnRvbWwuIn1dLCJkZXRhaWxzIjp7ImRpZmYiOiIgMSBbZW52XVxuIDIgIyBDWFgtUXQgb3RoZXJ3aXNlIHByZWZlcnMgUXQgNSB3aGVuIGJvdGggbWFqb3IgdmVyc2lvbnMgYXJlIGluc3RhbGxlZC5cbiAzIFFUX1ZFUlNJT05fTUFKT1IgPSBcIjZcIlxuLTQgUU1BS0UgPSB7IHZhbHVlID0gXCIuLi90b29scy9xbWFrZTZcIiwgcmVsYXRpdmUgPSB0cnVlIH1cbis0IFFNQUtFID0geyB2YWx1ZSA9IFwidG9vbHMvcW1ha2U2XCIsIHJlbGF0aXZlID0gdHJ1ZSB9IiwicGF0Y2giOiItLS0gLmNhcmdvL2NvbmZpZy50b21sXG4rKysgLmNhcmdvL2NvbmZpZy50b21sXG5AQCAtMSw0ICsxLDQgQEBcbiBbZW52XVxuICMgQ1hYLVF0IG90aGVyd2lzZSBwcmVmZXJzIFF0IDUgd2hlbiBib3RoIG1ham9yIHZlcnNpb25zIGFyZSBpbnN0YWxsZWQuXG4gUVRfVkVSU0lPTl9NQUpPUiA9IFwiNlwiXG4tUU1BS0UgPSB7IHZhbHVlID0gXCIuLi90b29scy9xbWFrZTZcIiwgcmVsYXRpdmUgPSB0cnVlIH1cbitRTUFLRSA9IHsgdmFsdWUgPSBcInRvb2xzL3FtYWtlNlwiLCByZWxhdGl2ZSA9IHRydWUgfVxuIiwiZmlyc3RDaGFuZ2VkTGluZSI6NH0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODU3NjQwNjg0NTR9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJhMGZjYjdkMCIsInBhcmVudElkIjoiNDAzYWNjN2EiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjM0OjMwLjY1N1oiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbENhbGwiLCJpZCI6ImNhbGxfZmJuYWNCNFJwd1IwV2dZWFl6UHhJOGVIfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OGU2MTc3ODgxOTFiZDU2YTMwMmI2NzIyMmM0IiwibmFtZSI6ImJhc2giLCJhcmd1bWVudHMiOnsiY29tbWFuZCI6ImNhcmdvIGJ1aWxkIC1wIGZsYXNoZXItcXQiLCJ0aW1lb3V0IjoxODB9fV0sImFwaSI6Im9wZW5haS1jb2RleC1yZXNwb25zZXMiLCJwcm92aWRlciI6Im9wZW5haS1jb2RleCIsIm1vZGVsIjoiZ3B0LTUuNi1zb2wiLCJ1c2FnZSI6eyJpbnB1dCI6MzgyLCJvdXRwdXQiOjI5LCJjYWNoZVJlYWQiOjE1NDExMiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MTU0NTIzLCJjb3N0Ijp7ImlucHV0IjowLjAwMTkxMDAwMDAwMDAwMDAwMDIsIm91dHB1dCI6MC4wMDA4NywiY2FjaGVSZWFkIjowLjA3NzA1NiwiY2FjaGVXcml0ZSI6MCwidG90YWwiOjAuMDc5ODM2fX0sInN0b3BSZWFzb24iOiJ0b29sVXNlIiwidGltZXN0YW1wIjoxNzg1NzY0MDY4NDU2LCJyZXNwb25zZUlkIjoicmVzcF8wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOThlNGRjNzA4MTkxOWRmMWZlNzVmMzI3MTAzZSIsInJhd1N0b3BSZWFzb24iOiJjb21wbGV0ZWQifX0seyJ0eXBlIjoibWVzc2FnZSIsImlkIjoiMjFkNDE4YWMiLCJwYXJlbnRJZCI6ImEwZmNiN2QwIiwidGltZXN0YW1wIjoiMjAyNi0wOC0wM1QxMzozNTo0MS4zMzlaIiwibWVzc2FnZSI6eyJyb2xlIjoidG9vbFJlc3VsdCIsInRvb2xDYWxsSWQiOiJjYWxsX2ZibmFjQjRScHdSMFdnWVhZelB4SThlSHxmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOThlNjE3Nzg4MTkxYmQ1NmEzMDJiNjcyMjJjNCIsInRvb2xOYW1lIjoiYmFzaCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiAgIENvbXBpbGluZyBjeHgtcXQgdjAuOS4xXG4gICBDb21waWxpbmcgY3h4LXF0LWxpYiB2MC45LjFcbiAgIENvbXBpbGluZyBmbGFzaGVyLXF0IHYwLjEuMCAoL2hvbWUvYWd1c2NoaW4vUHJvamVjdHMvYnVpbGRyb290L2ZsYXNoZXIvY3JhdGVzL2ZsYXNoZXItcXQpXG4gICAgRmluaXNoZWQgYGRldmAgcHJvZmlsZSBbdW5vcHRpbWl6ZWQgKyBkZWJ1Z2luZm9dIHRhcmdldChzKSBpbiAxbSAxMHNcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NTc2NDE0MTMzOX19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjNkODgwNDdkIiwicGFyZW50SWQiOiIyMWQ0MThhYyIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzU6NDYuMjU1WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0aGlua2luZyIsInRoaW5raW5nIjoiKipBc3Nlc3NpbmcgUXQgcGFja2FnZSBkZXBlbmRlbmNpZXMgYW5kIHJ1bnRpbWUgaXNzdWVzKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTkyZmJiMTA4MTkxYTZlODhmNWJlZWFiZmNkYVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFjSmt5MXpZSEt0UkxfYmFUbEdBUHplRWlKNHRlMkh1NDExelpGWHdIZmtRd1dVaWNXLVo4V3RqMWxqNHJ5NEVXU1JfalRVOEZZVlZkclYybzhGTjFuVTZycjRkMXNqa2E1eGZjczFQODg5UTJmYWo2MUl2QURrZVJhbFQyemcyQUktbHFNYlppMWNSNmxRQzZLUUJaWGk1YlRLSVFERnExRERIdTNFN3pGM09JVmV5NVVibHk4cEQta1hNejRtTmFRWGtrV1RGUVZUYUhoNWZXckFoc0xLcjVsbTg2Nlc1TGxCOFQyQ3JIRkgzT2d1M0hPZVl1WUtBN3UxUFh6TEpzSDdqNWQ1R0x2Q0EwQUdHVTRYWEVkSUg2VmF6QmFyMUw0c0pJaC1QOG13VXZhQlBaQjRiSGxlZm5UdDM3STR5Q0UybjVFSzFNSXZmUDc2bjBJY1ZDM184VVpTVW44SWplZGtLaTVya25nM0tYWlZ2Yjk3UklMLXY2NFpvajRJOTUwT1ZERUNIQmtwM1VjWFRQc0lsRVAta0VWX21JZ0drMjBUa0NvX3BaSHZsOFRTd3ZXdGFHMXdDcVVPMVhJQkNqek1QU1ZSYXdmd0RvS01BaWJhRWhKd0NiN2dPcXNuSTBHak5tZ0FQNXFZQ0t3S3FYNW1aXzZqdU5HRUNkZGY1MHBVajFlRl9qSWoybGo0Wm0wTUp6YzBqT3VEYmdhWUdWOHdsVlZwVVhWazlSTkVCSmpIOUJFaFVWYnQtRWo4bXpkNEt6LUVxdmlzd1lZbUdxUGZSZEYtMU5HSlF4U2xmcC1ycWJqV2E5d0hjQlBFeGtmYmpXQmxzbjBuZkNUQ0dBZ3c5TGp6X0tWTmEtbzdieERtU2pya3NTTS1rdHllYTF6XzI2bl81S0FlN2pMZG83WEh2cTlneWZtRnJlcDJ0M1FZb2pLVURCZHNpRndWdFJvNGhIY1prbDE3eWNDcjVvUVREb2UwaG0yNnRDeUlWUUd5Z1haSHBNRktsbG5DUzI3aEdKU1lnQXdzNnFZQi1RZG9oRFF0NzFCMTUycjhWMmt0aE1IWWI3VWMxWGhETzhnbW5adldJQ3BQeWU4OE5LNk9QTDRVeUVMODBUZWRJU3NHSEFUaHlmR2RlZzlKQlNpUWZwMUVTMURteFVhTWtWd0paQ0wyY2JzZm4wTTJtSW1ISXk5bDZWV3VONjEydWRsSmxjWG95VWJLeTdNN2tNOHNmSk56TmFiNWJBbEFiNy14a2J2T01yV3ZpbzJ6ZTJSQ1MzNTlwcnZHOG5sS1c1cGtORjBFOFBPSnFNUkVpOWU2ejNXMjZKOFd1SU5Zdk1GQUlhNFZXT05ROWpzRnhHVU1RU0pLa0xTR3YzTnp6RFVHVHVGWU1BcG1ydTVyck1LTTJ0NGhIU2lYRnlrRW1kVjBjMWdMSFY3N0dETTFzZHhkUHB6OUI1ZzhJU0RuQ0tQVnRRdEkybXFIbWFNMFMtOGlhcWcyREdUVWE3WUdRR1dLY0V1aHdfaGhXQlBtLUhwbDlGNEQxTkRYQndpcDFUQk5fRG0zSDdINzZBNWVxa2diMjluZ014ODdpV0t4ZC1pSzNUclRrZERuemxmYVQ3MjdTeXNNbDlXeFNnUUQwMEFiUmFiYlY3cTBqbmdEWWwyang5dTlueTY4X0lsVzhKM1lJY0Ntc1ZXRm5GVTN3ZlJrSFRuVE5NRzJuWmVEUklLSWtuMjhLOVFMVEc3MUVRU1FidTUybS13T0IyV3JtS0JQcDJSbUVVejZNMFp1ODNKbmUyZjFXWUZyTVJmenlES1BjcjJXUG4tQnBMelBaZlhRQkJ4a2pZNnBDVHdGcmxVbGg3cVRMcmxDMHM3ZjdMVDVHSC1ZY20tb2lXNDhxaXJrbEk4YnJHVFBkUTFGUEhweHVpdDYxMkFrUzVvSVRVTi16ekNjN1V4b1d0UHN0RFhGN0wtaE96U1oyYWIxc0Y3Y0Jpdm0zVmR6QjU2U2c2Nks2ZFAzbU4taWxXOGdPajVOTWh4cWhnTHNKdDNxSmlzQ2JEdGJlaGUyam1JRlhQTS1QM1ByMEhUQT09XCIsXCJzdW1tYXJ5XCI6W3tcInR5cGVcIjpcInN1bW1hcnlfdGV4dFwiLFwidGV4dFwiOlwiKipBc3Nlc3NpbmcgUXQgcGFja2FnZSBkZXBlbmRlbmNpZXMgYW5kIHJ1bnRpbWUgaXNzdWVzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX3B4T3AxTG5uYUNjanRFWGtrTlhORlB2S3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTkzMjBmOWM4MTkxYTc4MGU1YjEyMTdmMzI5NyIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJjYXJnbyBidWlsZCIsInRpbWVvdXQiOjE4MH19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo1MDcsIm91dHB1dCI6MTI0LCJjYWNoZVJlYWQiOjE1NDExMiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjo5OSwidG90YWxUb2tlbnMiOjE1NDc0MywiY29zdCI6eyJpbnB1dCI6MC4wMDI1MzUwMDAwMDAwMDAwMDA0LCJvdXRwdXQiOjAuMDAzNzIsImNhY2hlUmVhZCI6MC4wNzcwNTYsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA4MzMxMX19LCJzdG9wUmVhc29uIjoidG9vbFVzZSIsInRpbWVzdGFtcCI6MTc4NTc2NDE0MTM0MiwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk5MmQ5ZmY0ODE5MWFiZDI4YTRlMjZhMzk5MDYiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6IjllZmYyMjRmIiwicGFyZW50SWQiOiIzZDg4MDQ3ZCIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6MzY6NTcuNDU3WiIsIm1lc3NhZ2UiOnsicm9sZSI6InRvb2xSZXN1bHQiLCJ0b29sQ2FsbElkIjoiY2FsbF9weE9wMUxubmFDY2p0RVhra05YTkZQdkt8ZmNfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk5MzIwZjljODE5MWE3ODBlNWIxMjE3ZjMyOTciLCJ0b29sTmFtZSI6ImJhc2giLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiIgICBDb21waWxpbmcgY3h4LXF0IHYwLjkuMVxuICAgQ29tcGlsaW5nIGN4eC1xdC1saWIgdjAuOS4xXG4gICBDb21waWxpbmcgZmxhc2hlci1xdCB2MC4xLjAgKC9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyL2NyYXRlcy9mbGFzaGVyLXF0KVxuICAgIEZpbmlzaGVkIGBkZXZgIHByb2ZpbGUgW3Vub3B0aW1pemVkICsgZGVidWdpbmZvXSB0YXJnZXQocykgaW4gMW0gMTFzXG4ifV0sImlzRXJyb3IiOmZhbHNlLCJ0aW1lc3RhbXAiOjE3ODU3NjQyMTc0NTd9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiIxMjEzNWQ3NCIsInBhcmVudElkIjoiOWVmZjIyNGYiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjM3OjAwLjM3M1oiLCJtZXNzYWdlIjp7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGhpbmtpbmciLCJ0aGlua2luZyI6IioqQ2hlY2tpbmcgZ2l0IHN0YXR1cyBmb3IgYXJ0aWZhY3RzKioiLCJ0aGlua2luZ1NpZ25hdHVyZSI6IntcImlkXCI6XCJyc18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTk3YjA4ZTA4MTkxODQ0MzZiODE5MjE4Nzk0YVwiLFwidHlwZVwiOlwicmVhc29uaW5nXCIsXCJjb250ZW50XCI6W10sXCJlbmNyeXB0ZWRfY29udGVudFwiOlwiZ0FBQUFBQnFjSmw3MVRScjdhazRoTUJjVE1BRVBJWkx2RmJ2SUxaZzl4Z25zMG5nRVdWRFl3ZlVraUlMaG9CVURUMi1sam9qcjV1R052dlBKeTdVQWxFRnlqVHg4SkVxdWJ2dXAyWVJBOUxwTVgweG9kVTRFUHJnUE9VMU5oVmRnLVlVckQzRzUzVU1zVnpiRldoSjN5aFppRmxhZWQ0X3hSUGdtT09aVGFScHBCS1RqbVFJMWNSUXlrc2h1cFhlMUF4eHR1UXNETVVVbFp4WUlITERBRkN4M0U3UURfNXJvRnVwNG5YZ2FDR01DYnZXTmdQa2hTdEZTN1pzaGVhTzJmQWllZlhPSVB6MmN2LWJnUlNqTEhDa2xPOF9HbW1tWnplUHJocXFiSnNsRTY1eThJeXVTdzZjdW1kR2pyZ0xZWlkxRlY2cjZIbUR3VVg1SzJKVGpGbXBIREdLVWpoTU9sdmtVY2o5akpkWlYwNDM2cHFraWxFbEFtQUNIOUR6enRuMnAyU1RxQ19GSXVydTlaY1VvLVhhZ2lFbDFiTTNjbGs1UTY5dnFpY2tnQ0xxdkpscWlxNEc2Wkk5c1BROVluNkYyWE82OVd6T25vWTctWTVBeTdUX2R6WExhelVfZExuRkI5M2dJZFFJeHFXMnpaR2ZTeGQtSkgtZ1BBak5pRmRSSERudFNGdVBYdlpWUmtPbGxCMHJ6SU5WQ3ZfZE1rMVVOMjROVU9rUndvVnRNZzR2cmpJUHNFaTNlQ0xJMjVYRUl0RHg1ZFFVMXpiZ2JEMENhVlVLVEhiOE1ybDVER3lOR1lSZ3k1R1B5TEZIY3dFc1lXbU41RXdCeHRiOFpCQ2YydUhjVHdneVFadEM0M2NvUlYyalp6UHZXQWIzbFVaaXM3RmRzemhnTDVtdE52eGhMdXJJRUttcDNGS3NHQjFLZEU2TjdBcDFjcU1qNTh4QmFNWGt6OUJzUHhoVVhqSU5OVWxLakx6SGZqZnNxOTdIaE5VZ1F4UFlkdXA3eVhIRkRaQWdidTVBYkQtd29WdVUxS0NXai1fRjlsaWRRaWluZElPN2l4amszdUhkRmRjUUlPR2xVUy1hR2JoRGoyTVRwZUhJSnRJcmxLSF80Y3ZEZE5DRFB0ZjlLU1lYMDVFR2I5SVo5ZTRiUTVZa3ExQWFJSjYzam9NdzNDX2xxU0N1al9kMHJ1UFFyUFIyQnRhSjRIUGxzN0pHOVp2YUxXNE03dE0zTGpQVDhYNUJqOWxWZi1tbGpsbDNhaEVKaXZGZ1VqcmxsNzRQLVprRUw4bkZDazM4S3NCUF9yUEJFWWh6T1hNdkF1SkNLYlhxOHNNc1pkeXZBWmVYSmQ2ejNVWEwwVHdMRUdvN001S3FmaG1RdDExRW9fS2JsSVRwWWc9PVwiLFwic3VtbWFyeVwiOlt7XCJ0eXBlXCI6XCJzdW1tYXJ5X3RleHRcIixcInRleHRcIjpcIioqQ2hlY2tpbmcgZ2l0IHN0YXR1cyBmb3IgYXJ0aWZhY3RzKipcIn1dfSJ9LHsidHlwZSI6InRvb2xDYWxsIiwiaWQiOiJjYWxsX09xQTVuR0ZnUUM5enp5Yldqd0psenRlR3xmY18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTk3YmUzMTg4MTkxYTA3YmUzYzA1YTU5ZWZmYSIsIm5hbWUiOiJiYXNoIiwiYXJndW1lbnRzIjp7ImNvbW1hbmQiOiJnaXQgc3RhdHVzIC0tc2hvcnQ7IGZpbmQgY3JhdGVzL2ZsYXNoZXItcXQgLW1heGRlcHRoIDMgLXR5cGUgZiAtcHJpbnQgfCBzb3J0In19XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo3MjcsIm91dHB1dCI6NjIsImNhY2hlUmVhZCI6MTU0MTEyLCJjYWNoZVdyaXRlIjowLCJyZWFzb25pbmciOjIwLCJ0b3RhbFRva2VucyI6MTU0OTAxLCJjb3N0Ijp7ImlucHV0IjowLjAwMzYzNSwib3V0cHV0IjowLjAwMTg2LCJjYWNoZVJlYWQiOjAuMDc3MDU2LCJjYWNoZVdyaXRlIjowLCJ0b3RhbCI6MC4wODI1NTF9fSwic3RvcFJlYXNvbiI6InRvb2xVc2UiLCJ0aW1lc3RhbXAiOjE3ODU3NjQyMTc0NjEsInJlc3BvbnNlSWQiOiJyZXNwXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OTc5ZDBiMDgxOTFiMmZiZGRkYjY3NTVmYjIxIiwicmF3U3RvcFJlYXNvbiI6ImNvbXBsZXRlZCJ9fSx7InR5cGUiOiJtZXNzYWdlIiwiaWQiOiJkN2Q2YzJjMiIsInBhcmVudElkIjoiMTIxMzVkNzQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA4LTAzVDEzOjM3OjAwLjQwN1oiLCJtZXNzYWdlIjp7InJvbGUiOiJ0b29sUmVzdWx0IiwidG9vbENhbGxJZCI6ImNhbGxfT3FBNW5HRmdRQzl6enliV2p3Smx6dGVHfGZjXzAxYjk5NWUzYTc3MDVlZTQwMTZhNzA5OTdiZTMxODgxOTFhMDdiZTNjMDVhNTllZmZhIiwidG9vbE5hbWUiOiJiYXNoIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0IjoiIE0gLmdpdGlnbm9yZVxuIE0gQ2FyZ28ubG9ja1xuIE0gUkVBRE1FLm1kXG4gTSBjcmF0ZXMvZmxhc2hlci1xdC9DYXJnby50b21sXG4gTSBjcmF0ZXMvZmxhc2hlci1xdC9idWlsZC5yc1xuIE0gY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnNcbiBEIGNyYXRlcy9mbGFzaGVyLXF0L3NyYy91aS5jcHBcbj8/IC5jYXJnby9cbj8/IGNyYXRlcy9mbGFzaGVyLXF0L3FtbC9cbj8/IHRvb2xzL1xuY3JhdGVzL2ZsYXNoZXItcXQvYnVpbGQucnNcbmNyYXRlcy9mbGFzaGVyLXF0L0NhcmdvLnRvbWxcbmNyYXRlcy9mbGFzaGVyLXF0L3FtbC9NYWluLnFtbFxuY3JhdGVzL2ZsYXNoZXItcXQvc3JjL21haW4ucnNcbiJ9XSwiaXNFcnJvciI6ZmFsc2UsInRpbWVzdGFtcCI6MTc4NTc2NDIyMDQwN319LHsidHlwZSI6Im1lc3NhZ2UiLCJpZCI6ImMwZDBhYjhhIiwicGFyZW50SWQiOiJkN2Q2YzJjMiIsInRpbWVzdGFtcCI6IjIwMjYtMDgtMDNUMTM6Mzc6MDUuMjg1WiIsIm1lc3NhZ2UiOnsicm9sZSI6ImFzc2lzdGFudCIsImNvbnRlbnQiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IlJld3JvdGUgdGhlIFF0IGFwcGxpY2F0aW9uIHVzaW5nOlxuXG4tIFF0IDZcbi0gS0RFIEtpcmlnYW1pIFFNTFxuLSBNYWludGFpbmVkIENYWC1RdCBSdXN0IGJpbmRpbmdzXG4tIE5vIGhhbmR3cml0dGVuIEMrKyBpbiB0aGUgcHJvamVjdFxuXG5UaGUgaW50ZXJmYWNlIGluY2x1ZGVzIEtpcmlnYW1pIGNhcmRzLCByZXNwb25zaXZlIGZvcm0gbGF5b3V0cywgS0RFIGljb25zIGFuZCBjb2xvcnMsIGdyb3VwZWQgc2VhcmNoYWJsZSBib2FyZCBzZWxlY3Rpb24sIG5hdGl2ZSBRdCA2IGZpbGUgZGlhbG9ncywgcmV2aWV3IGRpYWxvZywgYW5kIGlubGluZSBzdGF0dXMgbWVzc2FnZXMuXG5cblZlcmlmaWVkIHRoZSBjb21wbGV0ZSB3b3Jrc3BhY2UgYnVpbGRzOlxuXG5gYGBiYXNoXG5jYXJnbyBidWlsZFxuYGBgXG5cblJ1biBpdCB3aXRoOlxuXG5gYGBiYXNoXG5jYXJnbyBydW4gLXAgZmxhc2hlci1xdFxuYGBgXG5cbktpcmlnYW1pIG11c3QgYmUgaW5zdGFsbGVkIGF0IHJ1bnRpbWU6XG5cbmBgYGJhc2hcbnN1ZG8gYXB0LWdldCBpbnN0YWxsIHF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCBrZjYta2lyaWdhbWlcbmBgYFxuXG5UaGUgY3VycmVudCBtYWNoaW5lIGxhY2tzIGBrZjYta2lyaWdhbWlgLCBzbyBJIGNvdWxkIHZlcmlmeSBjb21waWxhdGlvbiBidXQgbm90IGxhdW5jaCB0aGUgY29tcGxldGUgaW50ZXJmYWNlIGxvY2FsbHkuIiwidGV4dFNpZ25hdHVyZSI6IntcInZcIjoxLFwiaWRcIjpcIm1zZ18wMWI5OTVlM2E3NzA1ZWU0MDE2YTcwOTk3ZGY0Nzg4MTkxOTkwZmEwZDk4ZDMwYmNmMlwiLFwicGhhc2VcIjpcImZpbmFsX2Fuc3dlclwifSJ9XSwiYXBpIjoib3BlbmFpLWNvZGV4LXJlc3BvbnNlcyIsInByb3ZpZGVyIjoib3BlbmFpLWNvZGV4IiwibW9kZWwiOiJncHQtNS42LXNvbCIsInVzYWdlIjp7ImlucHV0Ijo5MTAsIm91dHB1dCI6MTc0LCJjYWNoZVJlYWQiOjE1NDExMiwiY2FjaGVXcml0ZSI6MCwicmVhc29uaW5nIjowLCJ0b3RhbFRva2VucyI6MTU1MTk2LCJjb3N0Ijp7ImlucHV0IjowLjAwNDU1LCJvdXRwdXQiOjAuMDA1MjIsImNhY2hlUmVhZCI6MC4wNzcwNTYsImNhY2hlV3JpdGUiOjAsInRvdGFsIjowLjA4NjgyNn19LCJzdG9wUmVhc29uIjoic3RvcCIsInRpbWVzdGFtcCI6MTc4NTc2NDIyMDQwOSwicmVzcG9uc2VJZCI6InJlc3BfMDFiOTk1ZTNhNzcwNWVlNDAxNmE3MDk5N2NiZTJjODE5MWEwMDlhNmQwNmNlNDMxNmIiLCJyYXdTdG9wUmVhc29uIjoiY29tcGxldGVkIn19XSwibGVhZklkIjoiYzBkMGFiOGEiLCJzeXN0ZW1Qcm9tcHQiOiJZb3UgYXJlIGFuIGV4cGVydCBjb2RpbmcgYXNzaXN0YW50IG9wZXJhdGluZyBpbnNpZGUgcGksIGEgY29kaW5nIGFnZW50IGhhcm5lc3MuIFlvdSBoZWxwIHVzZXJzIGJ5IHJlYWRpbmcgZmlsZXMsIGV4ZWN1dGluZyBjb21tYW5kcywgZWRpdGluZyBjb2RlLCBhbmQgd3JpdGluZyBuZXcgZmlsZXMuXG5cbkF2YWlsYWJsZSB0b29sczpcbi0gcmVhZDogUmVhZCBmaWxlIGNvbnRlbnRzXG4tIGJhc2g6IEV4ZWN1dGUgYmFzaCBjb21tYW5kcyAobHMsIGdyZXAsIGZpbmQsIGV0Yy4pXG4tIGVkaXQ6IE1ha2UgcHJlY2lzZSBmaWxlIGVkaXRzIHdpdGggZXhhY3QgdGV4dCByZXBsYWNlbWVudCwgaW5jbHVkaW5nIG11bHRpcGxlIGRpc2pvaW50IGVkaXRzIGluIG9uZSBjYWxsXG4tIHdyaXRlOiBDcmVhdGUgb3Igb3ZlcndyaXRlIGZpbGVzXG5cbkluIGFkZGl0aW9uIHRvIHRoZSB0b29scyBhYm92ZSwgeW91IG1heSBoYXZlIGFjY2VzcyB0byBvdGhlciBjdXN0b20gdG9vbHMgZGVwZW5kaW5nIG9uIHRoZSBwcm9qZWN0LlxuXG5HdWlkZWxpbmVzOlxuLSBVc2UgYmFzaCBmb3IgZmlsZSBvcGVyYXRpb25zIGxpa2UgbHMsIHJnLCBmaW5kXG4tIFVzZSByZWFkIHRvIGV4YW1pbmUgZmlsZXMgaW5zdGVhZCBvZiBjYXQgb3Igc2VkLlxuLSBJbnNwZWN0IFBJXyogZW52aXJvbm1lbnQgdmFyaWFibGVzIGZvciBjdXJyZW50IG1vZGVsIGFuZCBzZXNzaW9uIGRldGFpbHMuXG4tIFVzZSBlZGl0IGZvciBwcmVjaXNlIGNoYW5nZXMgKGVkaXRzW10ub2xkVGV4dCBtdXN0IG1hdGNoIGV4YWN0bHkpXG4tIFdoZW4gY2hhbmdpbmcgbXVsdGlwbGUgc2VwYXJhdGUgbG9jYXRpb25zIGluIG9uZSBmaWxlLCB1c2Ugb25lIGVkaXQgY2FsbCB3aXRoIG11bHRpcGxlIGVudHJpZXMgaW4gZWRpdHNbXSBpbnN0ZWFkIG9mIG11bHRpcGxlIGVkaXQgY2FsbHNcbi0gRWFjaCBlZGl0c1tdLm9sZFRleHQgaXMgbWF0Y2hlZCBhZ2FpbnN0IHRoZSBvcmlnaW5hbCBmaWxlLCBub3QgYWZ0ZXIgZWFybGllciBlZGl0cyBhcmUgYXBwbGllZC4gRG8gbm90IGVtaXQgb3ZlcmxhcHBpbmcgb3IgbmVzdGVkIGVkaXRzLiBNZXJnZSBuZWFyYnkgY2hhbmdlcyBpbnRvIG9uZSBlZGl0LlxuLSBLZWVwIGVkaXRzW10ub2xkVGV4dCBhcyBzbWFsbCBhcyBwb3NzaWJsZSB3aGlsZSBzdGlsbCBiZWluZyB1bmlxdWUgaW4gdGhlIGZpbGUuIERvIG5vdCBwYWQgd2l0aCBsYXJnZSB1bmNoYW5nZWQgcmVnaW9ucy5cbi0gVXNlIHdyaXRlIG9ubHkgZm9yIG5ldyBmaWxlcyBvciBjb21wbGV0ZSByZXdyaXRlcy5cbi0gQmUgY29uY2lzZSBpbiB5b3VyIHJlc3BvbnNlc1xuLSBTaG93IGZpbGUgcGF0aHMgY2xlYXJseSB3aGVuIHdvcmtpbmcgd2l0aCBmaWxlc1xuXG5QaSBkb2N1bWVudGF0aW9uIChyZWFkIG9ubHkgd2hlbiB0aGUgdXNlciBhc2tzIGFib3V0IHBpIGl0c2VsZiwgaXRzIFNESywgZXh0ZW5zaW9ucywgdGhlbWVzLCBza2lsbHMsIG9yIFRVSSk6XG4tIE1haW4gZG9jdW1lbnRhdGlvbjogL2hvbWUvYWd1c2NoaW4vLmxvY2FsL3NoYXJlL2J1bi9pbnN0YWxsL2dsb2JhbC9ub2RlX21vZHVsZXMvQGVhcmVuZGlsLXdvcmtzL3BpLWNvZGluZy1hZ2VudC9SRUFETUUubWRcbi0gQWRkaXRpb25hbCBkb2NzOiAvaG9tZS9hZ3VzY2hpbi8ubG9jYWwvc2hhcmUvYnVuL2luc3RhbGwvZ2xvYmFsL25vZGVfbW9kdWxlcy9AZWFyZW5kaWwtd29ya3MvcGktY29kaW5nLWFnZW50L2RvY3Ncbi0gRXhhbXBsZXM6IC9ob21lL2FndXNjaGluLy5sb2NhbC9zaGFyZS9idW4vaW5zdGFsbC9nbG9iYWwvbm9kZV9tb2R1bGVzL0BlYXJlbmRpbC13b3Jrcy9waS1jb2RpbmctYWdlbnQvZXhhbXBsZXMgKGV4dGVuc2lvbnMsIGN1c3RvbSB0b29scywgU0RLKVxuLSBXaGVuIHJlYWRpbmcgcGkgZG9jcyBvciBleGFtcGxlcywgcmVzb2x2ZSBkb2NzLy4uLiB1bmRlciBBZGRpdGlvbmFsIGRvY3MgYW5kIGV4YW1wbGVzLy4uLiB1bmRlciBFeGFtcGxlcywgbm90IHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4tIFdoZW4gYXNrZWQgYWJvdXQ6IGV4dGVuc2lvbnMgKGRvY3MvZXh0ZW5zaW9ucy5tZCwgZXhhbXBsZXMvZXh0ZW5zaW9ucy8pLCB0aGVtZXMgKGRvY3MvdGhlbWVzLm1kKSwgc2tpbGxzIChkb2NzL3NraWxscy5tZCksIHByb21wdCB0ZW1wbGF0ZXMgKGRvY3MvcHJvbXB0LXRlbXBsYXRlcy5tZCksIFRVSSBjb21wb25lbnRzIChkb2NzL3R1aS5tZCksIGtleWJpbmRpbmdzIChkb2NzL2tleWJpbmRpbmdzLm1kKSwgU0RLIGludGVncmF0aW9ucyAoZG9jcy9zZGsubWQpLCBjdXN0b20gcHJvdmlkZXJzIChkb2NzL2N1c3RvbS1wcm92aWRlci5tZCksIGFkZGluZyBtb2RlbHMgKGRvY3MvbW9kZWxzLm1kKSwgcGkgcGFja2FnZXMgKGRvY3MvcGFja2FnZXMubWQpLCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgKGRvY3MvZW52aXJvbm1lbnQtdmFyaWFibGVzLm1kKVxuLSBXaGVuIHdvcmtpbmcgb24gcGkgdG9waWNzLCByZWFkIHRoZSBkb2NzIGFuZCBleGFtcGxlcywgYW5kIGZvbGxvdyAubWQgY3Jvc3MtcmVmZXJlbmNlcyBiZWZvcmUgaW1wbGVtZW50aW5nXG4tIEFsd2F5cyByZWFkIHBpIC5tZCBmaWxlcyBjb21wbGV0ZWx5IGFuZCBmb2xsb3cgbGlua3MgdG8gcmVsYXRlZCBkb2NzIChlLmcuLCB0dWkubWQgZm9yIFRVSSBBUEkgZGV0YWlscylcbkN1cnJlbnQgd29ya2luZyBkaXJlY3Rvcnk6IC9ob21lL2FndXNjaGluL1Byb2plY3RzL2J1aWxkcm9vdC9mbGFzaGVyIiwidG9vbHMiOlt7Im5hbWUiOiJyZWFkIiwiZGVzY3JpcHRpb24iOiJSZWFkIHRoZSBjb250ZW50cyBvZiBhIGZpbGUuIFN1cHBvcnRzIHRleHQgZmlsZXMgYW5kIGltYWdlcyAoanBnLCBwbmcsIGdpZiwgd2VicCwgYm1wKS4gSW1hZ2VzIGFyZSBzZW50IGFzIGF0dGFjaG1lbnRzLiBGb3IgdGV4dCBmaWxlcywgb3V0cHV0IGlzIHRydW5jYXRlZCB0byAyMDAwIGxpbmVzIG9yIDUwS0IgKHdoaWNoZXZlciBpcyBoaXQgZmlyc3QpLiBVc2Ugb2Zmc2V0L2xpbWl0IGZvciBsYXJnZSBmaWxlcy4gV2hlbiB5b3UgbmVlZCB0aGUgZnVsbCBmaWxlLCBjb250aW51ZSB3aXRoIG9mZnNldCB1bnRpbCBjb21wbGV0ZS4iLCJwYXJhbWV0ZXJzIjp7InR5cGUiOiJvYmplY3QiLCJyZXF1aXJlZCI6WyJwYXRoIl0sInByb3BlcnRpZXMiOnsicGF0aCI6eyJ0eXBlIjoic3RyaW5nIiwiZGVzY3JpcHRpb24iOiJQYXRoIHRvIHRoZSBmaWxlIHRvIHJlYWQgKHJlbGF0aXZlIG9yIGFic29sdXRlKSJ9LCJvZmZzZXQiOnsidHlwZSI6Im51bWJlciIsImRlc2NyaXB0aW9uIjoiTGluZSBudW1iZXIgdG8gc3RhcnQgcmVhZGluZyBmcm9tICgxLWluZGV4ZWQpIn0sImxpbWl0Ijp7InR5cGUiOiJudW1iZXIiLCJkZXNjcmlwdGlvbiI6Ik1heGltdW0gbnVtYmVyIG9mIGxpbmVzIHRvIHJlYWQifX19fSx7Im5hbWUiOiJiYXNoIiwiZGVzY3JpcHRpb24iOiJFeGVjdXRlIGEgYmFzaCBjb21tYW5kIGluIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LiBSZXR1cm5zIHN0ZG91dCBhbmQgc3RkZXJyLiBPdXRwdXQgaXMgdHJ1bmNhdGVkIHRvIGxhc3QgMjAwMCBsaW5lcyBvciA1MEtCICh3aGljaGV2ZXIgaXMgaGl0IGZpcnN0KS4gSWYgdHJ1bmNhdGVkLCBmdWxsIG91dHB1dCBpcyBzYXZlZCB0byBhIHRlbXAgZmlsZS4gT3B0aW9uYWxseSBwcm92aWRlIGEgdGltZW91dCBpbiBzZWNvbmRzLiIsInBhcmFtZXRlcnMiOnsidHlwZSI6Im9iamVjdCIsInJlcXVpcmVkIjpbImNvbW1hbmQiXSwicHJvcGVydGllcyI6eyJjb21tYW5kIjp7InR5cGUiOiJzdHJpbmciLCJkZXNjcmlwdGlvbiI6IkJhc2ggY29tbWFuZCB0byBleGVjdXRlIn0sInRpbWVvdXQiOnsidHlwZSI6Im51bWJlciIsImRlc2NyaXB0aW9uIjoiVGltZW91dCBpbiBzZWNvbmRzIChvcHRpb25hbCwgbm8gZGVmYXVsdCB0aW1lb3V0KSJ9fX19LHsibmFtZSI6ImVkaXQiLCJkZXNjcmlwdGlvbiI6IkVkaXQgYSBzaW5nbGUgZmlsZSB1c2luZyBleGFjdCB0ZXh0IHJlcGxhY2VtZW50LiBFdmVyeSBlZGl0c1tdLm9sZFRleHQgbXVzdCBtYXRjaCBhIHVuaXF1ZSwgbm9uLW92ZXJsYXBwaW5nIHJlZ2lvbiBvZiB0aGUgb3JpZ2luYWwgZmlsZS4gSWYgdHdvIGNoYW5nZXMgYWZmZWN0IHRoZSBzYW1lIGJsb2NrIG9yIG5lYXJieSBsaW5lcywgbWVyZ2UgdGhlbSBpbnRvIG9uZSBlZGl0IGluc3RlYWQgb2YgZW1pdHRpbmcgb3ZlcmxhcHBpbmcgZWRpdHMuIERvIG5vdCBpbmNsdWRlIGxhcmdlIHVuY2hhbmdlZCByZWdpb25zIGp1c3QgdG8gY29ubmVjdCBkaXN0YW50IGNoYW5nZXMuIiwicGFyYW1ldGVycyI6eyJ0eXBlIjoib2JqZWN0IiwicmVxdWlyZWQiOlsicGF0aCIsImVkaXRzIl0sInByb3BlcnRpZXMiOnsicGF0aCI6eyJ0eXBlIjoic3RyaW5nIiwiZGVzY3JpcHRpb24iOiJQYXRoIHRvIHRoZSBmaWxlIHRvIGVkaXQgKHJlbGF0aXZlIG9yIGFic29sdXRlKSJ9LCJlZGl0cyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoib2JqZWN0IiwicmVxdWlyZWQiOlsib2xkVGV4dCIsIm5ld1RleHQiXSwicHJvcGVydGllcyI6eyJvbGRUZXh0Ijp7InR5cGUiOiJzdHJpbmciLCJkZXNjcmlwdGlvbiI6IkV4YWN0IHRleHQgZm9yIG9uZSB0YXJnZXRlZCByZXBsYWNlbWVudC4gSXQgbXVzdCBiZSB1bmlxdWUgaW4gdGhlIG9yaWdpbmFsIGZpbGUgYW5kIG11c3Qgbm90IG92ZXJsYXAgd2l0aCBhbnkgb3RoZXIgZWRpdHNbXS5vbGRUZXh0IGluIHRoZSBzYW1lIGNhbGwuIn0sIm5ld1RleHQiOnsidHlwZSI6InN0cmluZyIsImRlc2NyaXB0aW9uIjoiUmVwbGFjZW1lbnQgdGV4dCBmb3IgdGhpcyB0YXJnZXRlZCBlZGl0LiJ9fX0sImRlc2NyaXB0aW9uIjoiT25lIG9yIG1vcmUgdGFyZ2V0ZWQgcmVwbGFjZW1lbnRzLiBFYWNoIGVkaXQgaXMgbWF0Y2hlZCBhZ2FpbnN0IHRoZSBvcmlnaW5hbCBmaWxlLCBub3QgaW5jcmVtZW50YWxseS4gRG8gbm90IGluY2x1ZGUgb3ZlcmxhcHBpbmcgb3IgbmVzdGVkIGVkaXRzLiBJZiB0d28gY2hhbmdlcyB0b3VjaCB0aGUgc2FtZSBibG9jayBvciBuZWFyYnkgbGluZXMsIG1lcmdlIHRoZW0gaW50byBvbmUgZWRpdCBpbnN0ZWFkLiJ9fX19LHsibmFtZSI6IndyaXRlIiwiZGVzY3JpcHRpb24iOiJXcml0ZSBjb250ZW50IHRvIGEgZmlsZS4gQ3JlYXRlcyB0aGUgZmlsZSBpZiBpdCBkb2Vzbid0IGV4aXN0LCBvdmVyd3JpdGVzIGlmIGl0IGRvZXMuIEF1dG9tYXRpY2FsbHkgY3JlYXRlcyBwYXJlbnQgZGlyZWN0b3JpZXMuIiwicGFyYW1ldGVycyI6eyJ0eXBlIjoib2JqZWN0IiwicmVxdWlyZWQiOlsicGF0aCIsImNvbnRlbnQiXSwicHJvcGVydGllcyI6eyJwYXRoIjp7InR5cGUiOiJzdHJpbmciLCJkZXNjcmlwdGlvbiI6IlBhdGggdG8gdGhlIGZpbGUgdG8gd3JpdGUgKHJlbGF0aXZlIG9yIGFic29sdXRlKSJ9LCJjb250ZW50Ijp7InR5cGUiOiJzdHJpbmciLCJkZXNjcmlwdGlvbiI6IkNvbnRlbnQgdG8gd3JpdGUgdG8gdGhlIGZpbGUifX19fV19</script>
<!-- Vendored libraries -->
<script>/**
diff --git a/tools/qmake6 b/tools/qmake6
new file mode 100755
index 0000000..c1d7181
--- /dev/null
+++ b/tools/qmake6
@@ -0,0 +1,12 @@
+#!/bin/sh
+set -eu
+
+if command -v qmake6 >/dev/null 2>&1; then
+ exec qmake6 "$@"
+fi
+if command -v qmake-qt6 >/dev/null 2>&1; then
+ exec qmake-qt6 "$@"
+fi
+
+echo "Qt 6 qmake was not found; install the Qt 6 development tools" >&2
+exit 127