From 595e834fc24680236c0487c353fbcc06206e94b7 Mon Sep 17 00:00:00 2001 From: cuisongliu Date: Sun, 13 Oct 2024 19:35:35 +0800 Subject: [PATCH] feat(main): add controller config Signed-off-by: cuisongliu --- defaults/up.sh | 5 +---- defaults/zz_generated_bindata.go | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/defaults/up.sh b/defaults/up.sh index bdbf475..c2dc5b7 100644 --- a/defaults/up.sh +++ b/defaults/up.sh @@ -185,10 +185,7 @@ kafka_monitor_ip() { [[ -n "${process_role}" ]] || die "kafka_down: failed to get node role" # get private ip first - local_private_ip=$(hostname -I | awk '{print $1}') - if [[ "x${local_private_ip}" == "x" || "x${local_private_ip}" == "x127.0.0.1" ]]; then - die "kafka_start_up: failed to find the local private IP address." - fi + local_private_ip="0.0.0.0" advertised_ip="${local_private_ip}" # change ip settings for this node diff --git a/defaults/zz_generated_bindata.go b/defaults/zz_generated_bindata.go index 830508e..627ed6e 100644 --- a/defaults/zz_generated_bindata.go +++ b/defaults/zz_generated_bindata.go @@ -67,7 +67,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _defaultsUpSh = "\x23\x21\x2f\x75\x73\x72\x2f\x62\x69\x6e\x2f\x65\x6e\x76\x20\x62\x61\x73\x68\x0a\x0a\x23\x20\x4c\x69\x63\x65\x6e\x73\x65\x64\x20\x74\x6f\x20\x74\x68\x65\x20\x41\x70\x61\x63\x68\x65\x20\x53\x6f\x66\x74\x77\x61\x72\x65\x20\x46\x6f\x75\x6e\x64\x61\x74\x69\x6f\x6e\x20\x28\x41\x53\x46\x29\x20\x75\x6e\x64\x65\x72\x20\x6f\x6e\x65\x20\x6f\x72\x20\x6d\x6f\x72\x65\x0a\x23\x20\x63\x6f\x6e\x74\x72\x69\x62\x75\x74\x6f\x72\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x61\x67\x72\x65\x65\x6d\x65\x6e\x74\x73\x2e\x20\x20\x53\x65\x65\x20\x74\x68\x65\x20\x4e\x4f\x54\x49\x43\x45\x20\x66\x69\x6c\x65\x20\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x64\x20\x77\x69\x74\x68\x0a\x23\x20\x74\x68\x69\x73\x20\x77\x6f\x72\x6b\x20\x66\x6f\x72\x20\x61\x64\x64\x69\x74\x69\x6f\x6e\x61\x6c\x20\x69\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e\x20\x72\x65\x67\x61\x72\x64\x69\x6e\x67\x20\x63\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x6f\x77\x6e\x65\x72\x73\x68\x69\x70\x2e\x0a\x23\x20\x54\x68\x65\x20\x41\x53\x46\x20\x6c\x69\x63\x65\x6e\x73\x65\x73\x20\x74\x68\x69\x73\x20\x66\x69\x6c\x65\x20\x74\x6f\x20\x59\x6f\x75\x20\x75\x6e\x64\x65\x72\x20\x74\x68\x65\x20\x41\x70\x61\x63\x68\x65\x20\x4c\x69\x63\x65\x6e\x73\x65\x2c\x20\x56\x65\x72\x73\x69\x6f\x6e\x20\x32\x2e\x30\x0a\x23\x20\x28\x74\x68\x65\x20\x22\x4c\x69\x63\x65\x6e\x73\x65\x22\x29\x3b\x20\x79\x6f\x75\x20\x6d\x61\x79\x20\x6e\x6f\x74\x20\x75\x73\x65\x20\x74\x68\x69\x73\x20\x66\x69\x6c\x65\x20\x65\x78\x63\x65\x70\x74\x20\x69\x6e\x20\x63\x6f\x6d\x70\x6c\x69\x61\x6e\x63\x65\x20\x77\x69\x74\x68\x0a\x23\x20\x74\x68\x65\x20\x4c\x69\x63\x65\x6e\x73\x65\x2e\x20\x20\x59\x6f\x75\x20\x6d\x61\x79\x20\x6f\x62\x74\x61\x69\x6e\x20\x61\x20\x63\x6f\x70\x79\x20\x6f\x66\x20\x74\x68\x65\x20\x4c\x69\x63\x65\x6e\x73\x65\x20\x61\x74\x0a\x23\x0a\x23\x20\x20\x20\x20\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x61\x70\x61\x63\x68\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4c\x49\x43\x45\x4e\x53\x45\x2d\x32\x2e\x30\x0a\x23\x0a\x23\x20\x55\x6e\x6c\x65\x73\x73\x20\x72\x65\x71\x75\x69\x72\x65\x64\x20\x62\x79\x20\x61\x70\x70\x6c\x69\x63\x61\x62\x6c\x65\x20\x6c\x61\x77\x20\x6f\x72\x20\x61\x67\x72\x65\x65\x64\x20\x74\x6f\x20\x69\x6e\x20\x77\x72\x69\x74\x69\x6e\x67\x2c\x20\x73\x6f\x66\x74\x77\x61\x72\x65\x0a\x23\x20\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x64\x20\x75\x6e\x64\x65\x72\x20\x74\x68\x65\x20\x4c\x69\x63\x65\x6e\x73\x65\x20\x69\x73\x20\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x64\x20\x6f\x6e\x20\x61\x6e\x20\x22\x41\x53\x20\x49\x53\x22\x20\x42\x41\x53\x49\x53\x2c\x0a\x23\x20\x57\x49\x54\x48\x4f\x55\x54\x20\x57\x41\x52\x52\x41\x4e\x54\x49\x45\x53\x20\x4f\x52\x20\x43\x4f\x4e\x44\x49\x54\x49\x4f\x4e\x53\x20\x4f\x46\x20\x41\x4e\x59\x20\x4b\x49\x4e\x44\x2c\x20\x65\x69\x74\x68\x65\x72\x20\x65\x78\x70\x72\x65\x73\x73\x20\x6f\x72\x20\x69\x6d\x70\x6c\x69\x65\x64\x2e\x0a\x23\x20\x53\x65\x65\x20\x74\x68\x65\x20\x4c\x69\x63\x65\x6e\x73\x65\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x73\x70\x65\x63\x69\x66\x69\x63\x20\x6c\x61\x6e\x67\x75\x61\x67\x65\x20\x67\x6f\x76\x65\x72\x6e\x69\x6e\x67\x20\x70\x65\x72\x6d\x69\x73\x73\x69\x6f\x6e\x73\x20\x61\x6e\x64\x0a\x23\x20\x6c\x69\x6d\x69\x74\x61\x74\x69\x6f\x6e\x73\x20\x75\x6e\x64\x65\x72\x20\x74\x68\x65\x20\x4c\x69\x63\x65\x6e\x73\x65\x2e\x0a\x0a\x73\x63\x72\x69\x70\x74\x5f\x70\x61\x74\x68\x3d\x22\x24\x7b\x30\x7d\x22\x0a\x0a\x23\x20\x54\x68\x65\x20\x61\x62\x73\x6f\x6c\x75\x74\x65\x20\x70\x61\x74\x68\x20\x74\x6f\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x77\x68\x69\x63\x68\x20\x74\x68\x69\x73\x20\x73\x63\x72\x69\x70\x74\x20\x69\x73\x20\x69\x6e\x2e\x0a\x73\x74\x61\x72\x74\x5f\x64\x69\x72\x3d\x22\x24\x28\x63\x64\x20\x22\x24\x28\x64\x69\x72\x6e\x61\x6d\x65\x20\x22\x24\x7b\x42\x41\x53\x48\x5f\x53\x4f\x55\x52\x43\x45\x5b\x30\x5d\x7d\x22\x29\x22\x20\x26\x26\x20\x70\x77\x64\x29\x22\x0a\x0a\x72\x75\x6e\x5f\x69\x6e\x66\x6f\x5f\x66\x69\x6c\x65\x3d\x22\x24\x7b\x73\x74\x61\x72\x74\x5f\x64\x69\x72\x7d\x2f\x72\x75\x6e\x2e\x69\x6e\x66\x6f\x22\x0a\x0a\x23\x20\x54\x68\x65\x20\x61\x62\x73\x6f\x6c\x75\x74\x65\x20\x70\x61\x74\x68\x20\x74\x6f\x20\x74\x68\x65\x20\x72\x6f\x6f\x74\x20\x4b\x61\x66\x6b\x61\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x0a\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x3d\x22\x24\x28\x20\x63\x64\x20\x22\x24\x7b\x73\x74\x61\x72\x74\x5f\x64\x69\x72\x7d\x2f\x2e\x2e\x2f\x6b\x61\x66\x6b\x61\x22\x20\x26\x26\x20\x70\x77\x64\x20\x29\x22\x0a\x0a\x64\x61\x74\x61\x5f\x70\x61\x74\x68\x3d\x22\x2f\x64\x61\x74\x61\x2f\x6b\x61\x66\x6b\x61\x22\x0a\x0a\x23\x20\x45\x78\x69\x74\x20\x77\x69\x74\x68\x20\x61\x6e\x20\x65\x72\x72\x6f\x72\x20\x6d\x65\x73\x73\x61\x67\x65\x2e\x0a\x64\x69\x65\x28\x29\x20\x7b\x0a\x20\x20\x65\x63\x68\x6f\x20\x22\x24\x40\x22\x0a\x20\x20\x65\x78\x69\x74\x20\x31\x0a\x7d\x0a\x0a\x65\x63\x68\x6f\x5f\x61\x6e\x64\x5f\x64\x6f\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x20\x63\x6d\x64\x3d\x22\x24\x7b\x40\x7d\x22\x0a\x20\x20\x20\x20\x65\x63\x68\x6f\x20\x22\x24\x7b\x63\x6d\x64\x7d\x22\x0a\x20\x20\x20\x20\x24\x7b\x63\x6d\x64\x7d\x0a\x7d\x0a\x0a\x23\x20\x52\x75\x6e\x20\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x20\x61\x6e\x64\x20\x64\x69\x65\x20\x69\x66\x20\x69\x74\x20\x66\x61\x69\x6c\x73\x2e\x0a\x23\x0a\x23\x20\x4f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x66\x6c\x61\x67\x73\x3a\x0a\x23\x20\x2d\x76\x3a\x20\x70\x72\x69\x6e\x74\x20\x74\x68\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x20\x62\x65\x66\x6f\x72\x65\x20\x72\x75\x6e\x6e\x69\x6e\x67\x20\x69\x74\x2e\x0a\x23\x20\x2d\x6f\x3a\x20\x64\x69\x73\x70\x6c\x61\x79\x20\x74\x68\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x20\x6f\x75\x74\x70\x75\x74\x2e\x0a\x23\x20\x24\x40\x3a\x20\x54\x68\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x20\x74\x6f\x20\x72\x75\x6e\x2e\x0a\x6d\x75\x73\x74\x5f\x64\x6f\x28\x29\x20\x7b\x0a\x20\x20\x6c\x6f\x63\x61\x6c\x20\x76\x65\x72\x62\x6f\x73\x65\x3d\x30\x0a\x20\x20\x6c\x6f\x63\x61\x6c\x20\x6f\x75\x74\x70\x75\x74\x3d\x22\x2f\x64\x65\x76\x2f\x6e\x75\x6c\x6c\x22\x0a\x20\x20\x77\x68\x69\x6c\x65\x20\x74\x72\x75\x65\x3b\x20\x64\x6f\x0a\x20\x20\x20\x20\x63\x61\x73\x65\x20\x24\x7b\x31\x7d\x20\x69\x6e\x0a\x20\x20\x20\x20\x2d\x76\x29\x0a\x20\x20\x20\x20\x20\x20\x76\x65\x72\x62\x6f\x73\x65\x3d\x31\x0a\x20\x20\x20\x20\x20\x20\x73\x68\x69\x66\x74\x0a\x20\x20\x20\x20\x20\x20\x3b\x3b\x0a\x20\x20\x20\x20\x2d\x6f\x29\x0a\x20\x20\x20\x20\x20\x20\x6f\x75\x74\x70\x75\x74\x3d\x22\x2f\x64\x65\x76\x2f\x73\x74\x64\x6f\x75\x74\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x68\x69\x66\x74\x0a\x20\x20\x20\x20\x20\x20\x3b\x3b\x0a\x20\x20\x20\x20\x2a\x29\x20\x62\x72\x65\x61\x6b\x20\x3b\x3b\x0a\x20\x20\x20\x20\x65\x73\x61\x63\x0a\x20\x20\x64\x6f\x6e\x65\x0a\x20\x20\x6c\x6f\x63\x61\x6c\x20\x63\x6d\x64\x3d\x22\x24\x2a\x22\x0a\x20\x20\x5b\x5b\x20\x22\x24\x7b\x76\x65\x72\x62\x6f\x73\x65\x7d\x22\x20\x2d\x65\x71\x20\x31\x20\x5d\x5d\x20\x26\x26\x20\x65\x63\x68\x6f\x20\x22\x24\x7b\x63\x6d\x64\x7d\x22\x0a\x20\x20\x65\x76\x61\x6c\x20\x22\x24\x7b\x63\x6d\x64\x7d\x22\x20\x3e\x24\x7b\x6f\x75\x74\x70\x75\x74\x7d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x24\x7b\x31\x7d\x20\x66\x61\x69\x6c\x65\x64\x22\x0a\x7d\x0a\x0a\x23\x20\x44\x69\x73\x70\x6c\x61\x79\x20\x61\x20\x75\x73\x61\x67\x65\x20\x6d\x65\x73\x73\x61\x67\x65\x20\x6f\x6e\x20\x74\x68\x65\x20\x74\x65\x72\x6d\x69\x6e\x61\x6c\x20\x61\x6e\x64\x20\x65\x78\x69\x74\x2e\x0a\x23\x0a\x23\x20\x24\x31\x3a\x20\x54\x68\x65\x20\x65\x78\x69\x74\x20\x73\x74\x61\x74\x75\x73\x20\x74\x6f\x20\x75\x73\x65\x0a\x75\x73\x61\x67\x65\x28\x29\x20\x7b\x0a\x20\x20\x6c\x6f\x63\x61\x6c\x20\x65\x78\x69\x74\x5f\x73\x74\x61\x74\x75\x73\x3d\x22\x24\x7b\x31\x7d\x22\x0a\x20\x20\x63\x61\x74\x20\x3c\x3c\x45\x4f\x46\x0a\x73\x74\x61\x72\x74\x3a\x20\x61\x20\x74\x6f\x6f\x6c\x20\x66\x6f\x72\x20\x73\x74\x61\x72\x74\x69\x6e\x67\x20\x27\x41\x75\x74\x6f\x4d\x51\x20\x66\x6f\x72\x20\x41\x70\x61\x63\x68\x65\x20\x4b\x61\x66\x6b\x61\x20\x6f\x6e\x20\x53\x33\x27\x2e\x0a\x0a\x55\x73\x61\x67\x65\x3a\x20\x24\x7b\x73\x63\x72\x69\x70\x74\x5f\x70\x61\x74\x68\x7d\x20\x5b\x63\x6f\x6d\x6d\x61\x6e\x64\x5d\x20\x5b\x6f\x70\x74\x69\x6f\x6e\x73\x5d\x0a\x0a\x68\x65\x6c\x70\x7c\x2d\x68\x7c\x2d\x2d\x68\x65\x6c\x70\x0a\x20\x20\x20\x20\x44\x69\x73\x70\x6c\x61\x79\x20\x74\x68\x69\x73\x20\x68\x65\x6c\x70\x20\x6d\x65\x73\x73\x61\x67\x65\x0a\x75\x70\x20\x5b\x2d\x2d\x70\x72\x6f\x63\x65\x73\x73\x2e\x72\x6f\x6c\x65\x73\x20\x52\x4f\x4c\x45\x5d\x20\x5b\x2d\x2d\x6e\x6f\x64\x65\x2e\x69\x64\x20\x4e\x4f\x44\x45\x5f\x49\x44\x5d\x20\x5b\x2d\x2d\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2e\x71\x75\x6f\x72\x75\x6d\x2e\x76\x6f\x74\x65\x72\x73\x20\x56\x4f\x54\x45\x52\x53\x5d\x0a\x20\x20\x20\x5b\x2d\x2d\x73\x33\x2e\x72\x65\x67\x69\x6f\x6e\x20\x52\x45\x47\x49\x4f\x4e\x5d\x20\x5b\x2d\x2d\x73\x33\x2e\x62\x75\x63\x6b\x65\x74\x20\x42\x55\x43\x4b\x45\x54\x5d\x20\x5b\x2d\x2d\x73\x33\x2e\x65\x6e\x64\x70\x6f\x69\x6e\x74\x20\x45\x4e\x44\x50\x4f\x49\x4e\x54\x5d\x0a\x20\x20\x20\x5b\x2d\x2d\x73\x33\x2e\x61\x63\x63\x65\x73\x73\x2e\x6b\x65\x79\x20\x41\x43\x43\x45\x53\x53\x5f\x4b\x45\x59\x5d\x20\x5b\x2d\x2d\x73\x33\x2e\x73\x65\x63\x72\x65\x74\x2e\x6b\x65\x79\x20\x53\x45\x43\x52\x45\x54\x5f\x4b\x45\x59\x5d\x0a\x20\x20\x20\x20\x73\x74\x61\x72\x74\x20\x6e\x6f\x64\x65\x2e\x0a\x45\x4f\x46\x0a\x20\x20\x65\x78\x69\x74\x20\x22\x24\x7b\x65\x78\x69\x74\x5f\x73\x74\x61\x74\x75\x73\x7d\x22\x0a\x7d\x0a\x0a\x23\x20\x43\x68\x65\x63\x6b\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x70\x72\x65\x73\x65\x6e\x63\x65\x20\x6f\x66\x20\x63\x65\x72\x74\x61\x69\x6e\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x2e\x0a\x23\x0a\x23\x20\x24\x40\x3a\x20\x54\x68\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x20\x74\x6f\x20\x63\x68\x65\x63\x6b\x20\x66\x6f\x72\x2e\x20\x20\x54\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x77\x69\x6c\x6c\x20\x64\x69\x65\x20\x69\x66\x20\x61\x6e\x79\x20\x6f\x66\x20\x74\x68\x65\x73\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x20\x61\x72\x65\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64\x20\x62\x79\x0a\x23\x20\x20\x20\x20\x20\x20\x20\x74\x68\x65\x20\x27\x77\x68\x69\x63\x68\x27\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x2e\x0a\x72\x65\x71\x75\x69\x72\x65\x5f\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x28\x29\x20\x7b\x0a\x20\x20\x6c\x6f\x63\x61\x6c\x20\x63\x6d\x64\x73\x3d\x28\x22\x24\x40\x22\x29\x0a\x20\x20\x66\x6f\x72\x20\x63\x6d\x64\x20\x69\x6e\x20\x22\x24\x7b\x63\x6d\x64\x73\x5b\x40\x5d\x7d\x22\x3b\x20\x64\x6f\x0a\x20\x20\x20\x20\x77\x68\x69\x63\x68\x20\x2d\x2d\x20\x22\x24\x7b\x63\x6d\x64\x7d\x22\x20\x26\x3e\x2f\x64\x65\x76\x2f\x6e\x75\x6c\x6c\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x59\x6f\x75\x20\x6d\x75\x73\x74\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20\x24\x7b\x63\x6d\x64\x7d\x20\x74\x6f\x20\x72\x75\x6e\x20\x74\x68\x69\x73\x20\x73\x63\x72\x69\x70\x74\x2e\x22\x0a\x20\x20\x64\x6f\x6e\x65\x0a\x7d\x0a\x0a\x23\x20\x53\x65\x74\x20\x61\x20\x67\x6c\x6f\x62\x61\x6c\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x20\x74\x6f\x20\x61\x20\x76\x61\x6c\x75\x65\x2e\x0a\x23\x0a\x23\x20\x24\x31\x3a\x20\x54\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x20\x6e\x61\x6d\x65\x20\x74\x6f\x20\x73\x65\x74\x2e\x20\x20\x54\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x77\x69\x6c\x6c\x20\x64\x69\x65\x20\x69\x66\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x68\x61\x73\x20\x61\x20\x76\x61\x6c\x75\x65\x2e\x20\x20\x54\x68\x65\x0a\x23\x20\x20\x20\x20\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x6d\x61\x64\x65\x20\x72\x65\x61\x64\x6f\x6e\x6c\x79\x20\x74\x6f\x20\x70\x72\x65\x76\x65\x6e\x74\x20\x61\x6e\x79\x20\x66\x75\x74\x75\x72\x65\x20\x6d\x6f\x64\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x73\x2e\x0a\x23\x20\x24\x32\x3a\x20\x54\x68\x65\x20\x76\x61\x6c\x75\x65\x20\x74\x6f\x20\x73\x65\x74\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x20\x74\x6f\x2e\x20\x20\x54\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x77\x69\x6c\x6c\x20\x64\x69\x65\x20\x69\x66\x20\x74\x68\x65\x20\x76\x61\x6c\x75\x65\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x20\x6f\x72\x20\x73\x74\x61\x72\x74\x73\x0a\x23\x20\x20\x20\x20\x20\x77\x69\x74\x68\x20\x61\x20\x64\x61\x73\x68\x2e\x0a\x23\x20\x24\x33\x3a\x20\x41\x20\x68\x75\x6d\x61\x6e\x2d\x72\x65\x61\x64\x61\x62\x6c\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x2e\x0a\x73\x65\x74\x5f\x6f\x6e\x63\x65\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x20\x6b\x65\x79\x3d\x22\x24\x7b\x31\x7d\x22\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x20\x76\x61\x6c\x75\x65\x3d\x22\x24\x7b\x32\x7d\x22\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x20\x77\x68\x61\x74\x3d\x22\x24\x7b\x33\x7d\x22\x0a\x20\x20\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x21\x6b\x65\x79\x7d\x22\x20\x5d\x5d\x20\x26\x26\x20\x64\x69\x65\x20\x22\x45\x72\x72\x6f\x72\x3a\x20\x6d\x6f\x72\x65\x20\x74\x68\x61\x6e\x20\x6f\x6e\x65\x20\x76\x61\x6c\x75\x65\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x66\x6f\x72\x20\x24\x7b\x77\x68\x61\x74\x7d\x2e\x22\x0a\x20\x20\x20\x20\x76\x65\x72\x69\x66\x79\x5f\x63\x6f\x6d\x6d\x61\x6e\x64\x5f\x6c\x69\x6e\x65\x5f\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x22\x24\x7b\x76\x61\x6c\x75\x65\x7d\x22\x20\x22\x24\x7b\x77\x68\x61\x74\x7d\x22\x0a\x20\x20\x20\x20\x23\x20\x49\x74\x20\x77\x6f\x75\x6c\x64\x20\x62\x65\x20\x62\x65\x74\x74\x65\x72\x20\x74\x6f\x20\x75\x73\x65\x20\x64\x65\x63\x6c\x61\x72\x65\x20\x2d\x67\x2c\x20\x62\x75\x74\x20\x6f\x6c\x64\x65\x72\x20\x62\x61\x73\x68\x20\x76\x65\x72\x73\x69\x6f\x6e\x73\x20\x64\x6f\x6e\x27\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x69\x74\x2e\x0a\x20\x20\x20\x20\x65\x78\x70\x6f\x72\x74\x20\x22\x24\x7b\x6b\x65\x79\x7d\x22\x3d\x22\x24\x7b\x76\x61\x6c\x75\x65\x7d\x22\x0a\x7d\x0a\x0a\x23\x20\x56\x65\x72\x69\x66\x79\x20\x74\x68\x61\x74\x20\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x2d\x6c\x69\x6e\x65\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x69\x73\x20\x70\x72\x65\x73\x65\x6e\x74\x20\x61\x6e\x64\x20\x64\x6f\x65\x73\x20\x6e\x6f\x74\x20\x73\x74\x61\x72\x74\x20\x77\x69\x74\x68\x20\x61\x20\x73\x6c\x61\x73\x68\x2e\x0a\x23\x0a\x23\x20\x24\x31\x3a\x20\x54\x68\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x2d\x6c\x69\x6e\x65\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x74\x6f\x20\x76\x65\x72\x69\x66\x79\x2e\x0a\x23\x20\x24\x32\x3a\x20\x41\x20\x68\x75\x6d\x61\x6e\x2d\x72\x65\x61\x64\x61\x62\x6c\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x2e\x0a\x76\x65\x72\x69\x66\x79\x5f\x63\x6f\x6d\x6d\x61\x6e\x64\x5f\x6c\x69\x6e\x65\x5f\x61\x72\x67\x75\x6d\x65\x6e\x74\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x20\x76\x61\x6c\x75\x65\x3d\x22\x24\x7b\x31\x7d\x22\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x20\x77\x68\x61\x74\x3d\x22\x24\x7b\x32\x7d\x22\x0a\x20\x20\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x76\x61\x6c\x75\x65\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x45\x72\x72\x6f\x72\x3a\x20\x6e\x6f\x20\x76\x61\x6c\x75\x65\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x66\x6f\x72\x20\x24\x7b\x77\x68\x61\x74\x7d\x22\x0a\x20\x20\x20\x20\x5b\x5b\x20\x24\x7b\x76\x61\x6c\x75\x65\x7d\x20\x3d\x3d\x20\x2d\x2a\x20\x5d\x5d\x20\x26\x26\x20\x64\x69\x65\x20\x22\x45\x72\x72\x6f\x72\x3a\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x76\x61\x6c\x75\x65\x20\x24\x7b\x76\x61\x6c\x75\x65\x7d\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x66\x6f\x72\x20\x24\x7b\x77\x68\x61\x74\x7d\x22\x0a\x7d\x0a\x0a\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x28\x29\x20\x7b\x0a\x20\x20\x6b\x65\x79\x3d\x24\x31\x0a\x20\x20\x76\x61\x6c\x75\x65\x3d\x24\x32\x0a\x20\x20\x66\x69\x6c\x65\x3d\x24\x33\x0a\x20\x20\x23\x20\x72\x65\x70\x6c\x61\x63\x65\x20\x73\x70\x65\x63\x69\x61\x6c\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x73\x0a\x20\x20\x76\x61\x6c\x75\x65\x3d\x24\x7b\x76\x61\x6c\x75\x65\x2f\x2f\x26\x2f\x5c\x5c\x26\x7d\x0a\x20\x20\x76\x61\x6c\x75\x65\x3d\x24\x7b\x76\x61\x6c\x75\x65\x2f\x2f\x23\x2f\x2f\x5c\x5c\x23\x2f\x7d\x0a\x20\x20\x65\x63\x68\x6f\x20\x22\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x3a\x20\x6b\x65\x79\x3d\x24\x7b\x6b\x65\x79\x7d\x2c\x20\x76\x61\x6c\x75\x65\x3d\x24\x7b\x76\x61\x6c\x75\x65\x7d\x2c\x20\x66\x69\x6c\x65\x3d\x24\x7b\x66\x69\x6c\x65\x7d\x22\x0a\x20\x20\x73\x65\x64\x20\x2d\x69\x20\x22\x73\x7c\x5e\x24\x7b\x6b\x65\x79\x7d\x3d\x2e\x2a\x24\x7c\x24\x7b\x6b\x65\x79\x7d\x3d\x24\x7b\x76\x61\x6c\x75\x65\x7d\x7c\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x7d\x22\x0a\x7d\x0a\x0a\x61\x64\x64\x5f\x6f\x72\x5f\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x28\x29\x20\x7b\x0a\x20\x20\x6b\x65\x79\x3d\x24\x31\x0a\x20\x20\x76\x61\x6c\x75\x65\x3d\x24\x32\x0a\x20\x20\x66\x69\x6c\x65\x3d\x24\x33\x0a\x20\x20\x69\x66\x20\x67\x72\x65\x70\x20\x2d\x71\x20\x22\x5e\x24\x7b\x6b\x65\x79\x7d\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x7d\x22\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x24\x7b\x6b\x65\x79\x7d\x22\x20\x22\x24\x7b\x76\x61\x6c\x75\x65\x7d\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x7d\x22\x0a\x20\x20\x65\x6c\x73\x65\x0a\x20\x20\x20\x20\x65\x63\x68\x6f\x20\x22\x24\x7b\x6b\x65\x79\x7d\x3d\x24\x7b\x76\x61\x6c\x75\x65\x7d\x22\x20\x7c\x20\x74\x65\x65\x20\x2d\x61\x20\x22\x24\x7b\x66\x69\x6c\x65\x7d\x22\x20\x3e\x2f\x64\x65\x76\x2f\x6e\x75\x6c\x6c\x0a\x20\x20\x66\x69\x0a\x7d\x0a\x0a\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x61\x6c\x6c\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x3d\x24\x31\x0a\x20\x20\x20\x20\x61\x64\x64\x5f\x6f\x72\x5f\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x61\x75\x74\x6f\x62\x61\x6c\x61\x6e\x63\x65\x72\x2e\x74\x6f\x70\x69\x63\x22\x20\x22\x41\x75\x74\x6f\x42\x61\x6c\x61\x6e\x63\x65\x72\x4d\x65\x74\x72\x69\x63\x73\x52\x65\x70\x6f\x72\x74\x65\x72\x54\x6f\x70\x69\x63\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x61\x64\x64\x5f\x6f\x72\x5f\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x61\x75\x74\x6f\x62\x61\x6c\x61\x6e\x63\x65\x72\x2e\x74\x6f\x70\x69\x63\x2e\x6e\x75\x6d\x2e\x70\x61\x72\x74\x69\x74\x69\x6f\x6e\x73\x22\x20\x22\x31\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x7d\x0a\x0a\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x5f\x6f\x6e\x6c\x79\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x3d\x24\x31\x0a\x20\x20\x20\x20\x61\x64\x64\x5f\x6f\x72\x5f\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x61\x75\x74\x6f\x62\x61\x6c\x61\x6e\x63\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2e\x65\x6e\x61\x62\x6c\x65\x22\x20\x22\x74\x72\x75\x65\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x61\x64\x64\x5f\x6f\x72\x5f\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x61\x75\x74\x6f\x62\x61\x6c\x61\x6e\x63\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2e\x65\x78\x63\x6c\x75\x64\x65\x2e\x74\x6f\x70\x69\x63\x73\x22\x20\x22\x5f\x5f\x63\x6f\x6e\x73\x75\x6d\x65\x72\x5f\x6f\x66\x66\x73\x65\x74\x73\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x7d\x0a\x0a\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x62\x72\x6f\x6b\x65\x72\x5f\x6f\x6e\x6c\x79\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x3d\x24\x31\x0a\x20\x20\x20\x20\x61\x64\x64\x5f\x6f\x72\x5f\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6d\x65\x74\x72\x69\x63\x2e\x72\x65\x70\x6f\x72\x74\x65\x72\x73\x22\x20\x22\x6b\x61\x66\x6b\x61\x2e\x61\x75\x74\x6f\x62\x61\x6c\x61\x6e\x63\x65\x72\x2e\x6d\x65\x74\x72\x69\x63\x73\x72\x65\x70\x6f\x72\x74\x65\x72\x2e\x41\x75\x74\x6f\x42\x61\x6c\x61\x6e\x63\x65\x72\x4d\x65\x74\x72\x69\x63\x73\x52\x65\x70\x6f\x72\x74\x65\x72\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x7d\x0a\x0a\x74\x75\x72\x6e\x5f\x6f\x6e\x5f\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x72\x6f\x6c\x65\x3d\x24\x31\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x3d\x24\x32\x0a\x20\x20\x20\x20\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x61\x6c\x6c\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x62\x72\x6f\x6b\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x62\x72\x6f\x6b\x65\x72\x5f\x6f\x6e\x6c\x79\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x65\x6c\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x5f\x6f\x6e\x6c\x79\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x65\x6c\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x73\x65\x72\x76\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x5f\x6f\x6e\x6c\x79\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x62\x72\x6f\x6b\x65\x72\x5f\x6f\x6e\x6c\x79\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x66\x69\x0a\x7d\x0a\x0a\x0a\x23\x20\x6d\x6f\x6e\x69\x74\x6f\x72\x20\x61\x6e\x64\x20\x63\x68\x61\x6e\x67\x65\x20\x61\x64\x76\x65\x72\x74\x69\x73\x65\x64\x20\x69\x70\x20\x66\x6f\x72\x20\x6b\x61\x66\x6b\x61\x0a\x6b\x61\x66\x6b\x61\x5f\x6d\x6f\x6e\x69\x74\x6f\x72\x5f\x69\x70\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x3d\x24\x28\x67\x72\x65\x70\x20\x22\x72\x6f\x6c\x65\x22\x20\x22\x24\x7b\x72\x75\x6e\x5f\x69\x6e\x66\x6f\x5f\x66\x69\x6c\x65\x7d\x22\x20\x7c\x20\x61\x77\x6b\x20\x2d\x46\x3d\x20\x27\x7b\x70\x72\x69\x6e\x74\x20\x24\x32\x7d\x27\x29\x0a\x20\x20\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x6b\x61\x66\x6b\x61\x5f\x64\x6f\x77\x6e\x3a\x20\x66\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x67\x65\x74\x20\x6e\x6f\x64\x65\x20\x72\x6f\x6c\x65\x22\x0a\x0a\x20\x20\x20\x20\x23\x20\x67\x65\x74\x20\x70\x72\x69\x76\x61\x74\x65\x20\x69\x70\x20\x66\x69\x72\x73\x74\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x5f\x70\x72\x69\x76\x61\x74\x65\x5f\x69\x70\x3d\x24\x28\x68\x6f\x73\x74\x6e\x61\x6d\x65\x20\x2d\x49\x20\x7c\x20\x61\x77\x6b\x20\x27\x7b\x70\x72\x69\x6e\x74\x20\x24\x31\x7d\x27\x29\x0a\x20\x20\x20\x20\x69\x66\x20\x5b\x5b\x20\x22\x78\x24\x7b\x6c\x6f\x63\x61\x6c\x5f\x70\x72\x69\x76\x61\x74\x65\x5f\x69\x70\x7d\x22\x20\x3d\x3d\x20\x22\x78\x22\x20\x7c\x7c\x20\x22\x78\x24\x7b\x6c\x6f\x63\x61\x6c\x5f\x70\x72\x69\x76\x61\x74\x65\x5f\x69\x70\x7d\x22\x20\x3d\x3d\x20\x22\x78\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x65\x20\x22\x6b\x61\x66\x6b\x61\x5f\x73\x74\x61\x72\x74\x5f\x75\x70\x3a\x20\x66\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x66\x69\x6e\x64\x20\x74\x68\x65\x20\x6c\x6f\x63\x61\x6c\x20\x70\x72\x69\x76\x61\x74\x65\x20\x49\x50\x20\x61\x64\x64\x72\x65\x73\x73\x2e\x22\x0a\x20\x20\x20\x20\x66\x69\x0a\x20\x20\x20\x20\x61\x64\x76\x65\x72\x74\x69\x73\x65\x64\x5f\x69\x70\x3d\x22\x24\x7b\x6c\x6f\x63\x61\x6c\x5f\x70\x72\x69\x76\x61\x74\x65\x5f\x69\x70\x7d\x22\x0a\x0a\x20\x20\x20\x20\x23\x20\x63\x68\x61\x6e\x67\x65\x20\x69\x70\x20\x73\x65\x74\x74\x69\x6e\x67\x73\x20\x66\x6f\x72\x20\x74\x68\x69\x73\x20\x6e\x6f\x64\x65\x0a\x20\x20\x20\x20\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x73\x65\x72\x76\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x22\x20\x22\x50\x4c\x41\x49\x4e\x54\x45\x58\x54\x3a\x2f\x2f\x24\x7b\x6c\x6f\x63\x61\x6c\x5f\x70\x72\x69\x76\x61\x74\x65\x5f\x69\x70\x7d\x3a\x39\x30\x39\x32\x2c\x43\x4f\x4e\x54\x52\x4f\x4c\x4c\x45\x52\x3a\x2f\x2f\x24\x7b\x6c\x6f\x63\x61\x6c\x5f\x70\x72\x69\x76\x61\x74\x65\x5f\x69\x70\x7d\x3a\x39\x30\x39\x33\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x61\x64\x76\x65\x72\x74\x69\x73\x65\x64\x2e\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x22\x20\x22\x50\x4c\x41\x49\x4e\x54\x45\x58\x54\x3a\x2f\x2f\x24\x7b\x61\x64\x76\x65\x72\x74\x69\x73\x65\x64\x5f\x69\x70\x7d\x3a\x39\x30\x39\x32\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x65\x6c\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x62\x72\x6f\x6b\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x22\x20\x22\x50\x4c\x41\x49\x4e\x54\x45\x58\x54\x3a\x2f\x2f\x24\x7b\x6c\x6f\x63\x61\x6c\x5f\x70\x72\x69\x76\x61\x74\x65\x5f\x69\x70\x7d\x3a\x39\x30\x39\x32\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x61\x64\x76\x65\x72\x74\x69\x73\x65\x64\x2e\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x22\x20\x22\x50\x4c\x41\x49\x4e\x54\x45\x58\x54\x3a\x2f\x2f\x24\x7b\x61\x64\x76\x65\x72\x74\x69\x73\x65\x64\x5f\x69\x70\x7d\x3a\x39\x30\x39\x32\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x65\x6c\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x22\x20\x22\x43\x4f\x4e\x54\x52\x4f\x4c\x4c\x45\x52\x3a\x2f\x2f\x24\x7b\x6c\x6f\x63\x61\x6c\x5f\x70\x72\x69\x76\x61\x74\x65\x5f\x69\x70\x7d\x3a\x39\x30\x39\x33\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x65\x6c\x73\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x65\x20\x22\x6b\x61\x66\x6b\x61\x5f\x6d\x6f\x6e\x69\x74\x6f\x72\x5f\x69\x70\x3a\x20\x75\x6e\x6b\x6e\x6f\x77\x6e\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x72\x6f\x6c\x65\x20\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x0a\x20\x20\x20\x20\x66\x69\x0a\x7d\x0a\x0a\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x5f\x66\x72\x6f\x6d\x5f\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x5f\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x3d\x24\x31\x0a\x20\x20\x20\x20\x23\x20\x4c\x69\x73\x74\x20\x6f\x66\x20\x73\x70\x65\x63\x69\x61\x6c\x20\x63\x61\x73\x65\x73\x20\x74\x6f\x20\x61\x70\x70\x6c\x79\x20\x74\x6f\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x20\x2d\x72\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x5f\x72\x65\x67\x65\x78\x70\x73\x3d\x28\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22\x73\x2f\x73\x61\x73\x6c\x5c\x2e\x73\x73\x6c\x2f\x73\x61\x73\x6c\x5f\x73\x73\x6c\x2f\x67\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22\x73\x2f\x73\x61\x73\x6c\x5c\x2e\x70\x6c\x61\x69\x6e\x74\x65\x78\x74\x2f\x73\x61\x73\x6c\x5f\x70\x6c\x61\x69\x6e\x74\x65\x78\x74\x2f\x67\x22\x0a\x20\x20\x20\x20\x29\x0a\x20\x20\x20\x20\x23\x20\x4d\x61\x70\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x74\x6f\x20\x63\x6f\x6e\x66\x69\x67\x20\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x0a\x20\x20\x20\x20\x66\x6f\x72\x20\x76\x61\x72\x20\x69\x6e\x20\x22\x24\x7b\x21\x4b\x41\x46\x4b\x41\x5f\x43\x46\x47\x5f\x40\x7d\x22\x3b\x20\x64\x6f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6b\x65\x79\x3d\x22\x24\x28\x65\x63\x68\x6f\x20\x22\x24\x76\x61\x72\x22\x20\x7c\x20\x73\x65\x64\x20\x2d\x65\x20\x27\x73\x2f\x5e\x4b\x41\x46\x4b\x41\x5f\x43\x46\x47\x5f\x2f\x2f\x67\x27\x20\x2d\x65\x20\x27\x73\x2f\x5f\x2f\x5c\x2e\x2f\x67\x27\x20\x7c\x20\x74\x72\x20\x27\x5b\x3a\x75\x70\x70\x65\x72\x3a\x5d\x27\x20\x27\x5b\x3a\x6c\x6f\x77\x65\x72\x3a\x5d\x27\x29\x22\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x23\x20\x45\x78\x63\x65\x70\x74\x69\x6f\x6e\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x63\x61\x6d\x65\x6c\x20\x63\x61\x73\x65\x20\x69\x6e\x20\x74\x68\x69\x73\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x5b\x5b\x20\x22\x24\x76\x61\x72\x22\x20\x3d\x3d\x20\x22\x4b\x41\x46\x4b\x41\x5f\x43\x46\x47\x5f\x5a\x4f\x4f\x4b\x45\x45\x50\x45\x52\x5f\x43\x4c\x49\x45\x4e\x54\x43\x4e\x58\x4e\x53\x4f\x43\x4b\x45\x54\x22\x20\x5d\x5d\x20\x26\x26\x20\x6b\x65\x79\x3d\x22\x7a\x6f\x6f\x6b\x65\x65\x70\x65\x72\x2e\x63\x6c\x69\x65\x6e\x74\x43\x6e\x78\x6e\x53\x6f\x63\x6b\x65\x74\x22\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x23\x20\x41\x70\x70\x6c\x79\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x20\x72\x65\x67\x65\x78\x70\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\x72\x20\x72\x65\x67\x65\x78\x20\x69\x6e\x20\x22\x24\x7b\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x5f\x72\x65\x67\x65\x78\x70\x73\x5b\x40\x5d\x7d\x22\x3b\x20\x64\x6f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6b\x65\x79\x3d\x22\x24\x28\x65\x63\x68\x6f\x20\x22\x24\x6b\x65\x79\x22\x20\x7c\x20\x73\x65\x64\x20\x22\x24\x72\x65\x67\x65\x78\x22\x29\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6f\x6e\x65\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6c\x75\x65\x3d\x22\x24\x7b\x21\x76\x61\x72\x7d\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x64\x64\x5f\x6f\x72\x5f\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x24\x7b\x6b\x65\x79\x7d\x22\x20\x22\x24\x7b\x76\x61\x6c\x75\x65\x7d\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x64\x6f\x6e\x65\x0a\x7d\x0a\x0a\x6b\x61\x66\x6b\x61\x5f\x75\x70\x28\x29\x20\x7b\x0a\x20\x20\x65\x63\x68\x6f\x20\x22\x6b\x61\x66\x6b\x61\x5f\x75\x70\x3a\x20\x73\x74\x61\x72\x74\x22\x0a\x0a\x20\x20\x77\x68\x69\x6c\x65\x20\x5b\x5b\x20\x24\x23\x20\x2d\x67\x65\x20\x31\x20\x5d\x5d\x3b\x20\x64\x6f\x0a\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x22\x24\x7b\x31\x7d\x22\x20\x69\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x70\x72\x6f\x63\x65\x73\x73\x2e\x72\x6f\x6c\x65\x73\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x72\x6f\x6c\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x6e\x6f\x64\x65\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x6e\x6f\x64\x65\x2e\x69\x64\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x6e\x6f\x64\x65\x5f\x69\x64\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x69\x64\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x6e\x6f\x64\x65\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2e\x71\x75\x6f\x72\x75\x6d\x2e\x76\x6f\x74\x65\x72\x73\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x71\x75\x6f\x72\x75\x6d\x5f\x76\x6f\x74\x65\x72\x73\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x20\x71\x75\x6f\x72\x75\x6d\x20\x76\x6f\x74\x65\x72\x73\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x73\x33\x2e\x72\x65\x67\x69\x6f\x6e\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x73\x33\x5f\x72\x65\x67\x69\x6f\x6e\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x72\x65\x67\x69\x6f\x6e\x73\x20\x6f\x66\x20\x73\x33\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x73\x33\x2e\x62\x75\x63\x6b\x65\x74\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x73\x33\x5f\x62\x75\x63\x6b\x65\x74\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x62\x75\x63\x6b\x65\x74\x20\x6e\x61\x6d\x65\x20\x6f\x66\x20\x73\x33\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x63\x6c\x75\x73\x74\x65\x72\x2e\x69\x64\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x63\x6c\x75\x73\x74\x65\x72\x5f\x69\x64\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x6b\x61\x66\x6b\x61\x20\x63\x6c\x75\x73\x74\x65\x72\x20\x69\x64\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x73\x33\x2e\x61\x63\x63\x65\x73\x73\x2e\x6b\x65\x79\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x73\x33\x5f\x61\x63\x63\x65\x73\x73\x5f\x6b\x65\x79\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x73\x33\x20\x61\x63\x63\x65\x73\x73\x20\x6b\x65\x79\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x73\x33\x2e\x73\x65\x63\x72\x65\x74\x2e\x6b\x65\x79\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x73\x33\x5f\x73\x65\x63\x72\x65\x74\x5f\x6b\x65\x79\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x73\x33\x20\x73\x65\x63\x72\x65\x74\x20\x6b\x65\x79\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x73\x33\x2e\x65\x6e\x64\x70\x6f\x69\x6e\x74\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x73\x33\x5f\x65\x6e\x64\x70\x6f\x69\x6e\x74\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x73\x33\x20\x65\x6e\x64\x70\x6f\x69\x6e\x74\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x73\x33\x2e\x70\x61\x74\x68\x2e\x73\x74\x79\x6c\x65\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x73\x33\x5f\x70\x61\x74\x68\x5f\x73\x74\x79\x6c\x65\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x73\x33\x20\x70\x61\x74\x68\x20\x73\x74\x79\x6c\x65\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x65\x73\x61\x63\x0a\x20\x20\x64\x6f\x6e\x65\x0a\x0a\x20\x20\x70\x69\x64\x3d\x24\x28\x6a\x63\x6d\x64\x20\x7c\x20\x67\x72\x65\x70\x20\x2d\x65\x20\x6b\x61\x66\x6b\x61\x2e\x4b\x61\x66\x6b\x61\x20\x7c\x20\x61\x77\x6b\x20\x27\x7b\x70\x72\x69\x6e\x74\x20\x24\x31\x7d\x27\x29\x0a\x20\x20\x69\x66\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x70\x69\x64\x7d\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x65\x63\x68\x6f\x20\x22\x6b\x61\x66\x6b\x61\x5f\x75\x70\x3a\x20\x6b\x61\x66\x6b\x61\x20\x69\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x72\x75\x6e\x6e\x69\x6e\x67\x2c\x20\x70\x69\x64\x3d\x24\x7b\x70\x69\x64\x7d\x22\x0a\x20\x20\x20\x20\x20\x20\x65\x78\x69\x74\x20\x30\x0a\x20\x20\x66\x69\x0a\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x6e\x6f\x64\x65\x5f\x69\x64\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x6e\x6f\x64\x65\x5f\x69\x64\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x71\x75\x6f\x72\x75\x6d\x5f\x76\x6f\x74\x65\x72\x73\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x71\x75\x6f\x72\x75\x6d\x5f\x76\x6f\x74\x65\x72\x73\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x73\x33\x5f\x72\x65\x67\x69\x6f\x6e\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x73\x33\x5f\x72\x65\x67\x69\x6f\x6e\x3d\x22\x24\x7b\x41\x57\x53\x5f\x44\x45\x46\x41\x55\x4c\x54\x5f\x52\x45\x47\x49\x4f\x4e\x7d\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x73\x33\x5f\x62\x75\x63\x6b\x65\x74\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x73\x33\x5f\x62\x75\x63\x6b\x65\x74\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x73\x33\x5f\x61\x63\x63\x65\x73\x73\x5f\x6b\x65\x79\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x73\x33\x5f\x61\x63\x63\x65\x73\x73\x5f\x6b\x65\x79\x3d\x22\x24\x7b\x4b\x41\x46\x4b\x41\x5f\x53\x33\x5f\x41\x43\x43\x45\x53\x53\x5f\x4b\x45\x59\x7d\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x73\x33\x5f\x73\x65\x63\x72\x65\x74\x5f\x6b\x65\x79\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x73\x33\x5f\x73\x65\x63\x72\x65\x74\x5f\x6b\x65\x79\x3d\x22\x24\x7b\x4b\x41\x46\x4b\x41\x5f\x53\x33\x5f\x53\x45\x43\x52\x45\x54\x5f\x4b\x45\x59\x7d\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x73\x33\x5f\x65\x6e\x64\x70\x6f\x69\x6e\x74\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x73\x33\x5f\x65\x6e\x64\x70\x6f\x69\x6e\x74\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x73\x33\x5f\x70\x61\x74\x68\x5f\x73\x74\x79\x6c\x65\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x73\x33\x5f\x70\x61\x74\x68\x5f\x73\x74\x79\x6c\x65\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x63\x6c\x75\x73\x74\x65\x72\x5f\x69\x64\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x63\x6c\x75\x73\x74\x65\x72\x5f\x69\x64\x3d\x22\x72\x5a\x64\x45\x30\x44\x6a\x5a\x53\x72\x71\x79\x39\x36\x50\x58\x72\x4d\x55\x5a\x56\x77\x22\x0a\x0a\x20\x20\x66\x6f\x72\x20\x72\x6f\x6c\x65\x20\x69\x6e\x20\x22\x62\x72\x6f\x6b\x65\x72\x22\x20\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x22\x20\x22\x73\x65\x72\x76\x65\x72\x22\x3b\x20\x64\x6f\x0a\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6e\x6f\x64\x65\x2e\x69\x64\x22\x20\x22\x24\x7b\x6e\x6f\x64\x65\x5f\x69\x64\x7d\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2e\x71\x75\x6f\x72\x75\x6d\x2e\x76\x6f\x74\x65\x72\x73\x22\x20\x22\x24\x7b\x71\x75\x6f\x72\x75\x6d\x5f\x76\x6f\x74\x65\x72\x73\x7d\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x73\x33\x2e\x64\x61\x74\x61\x2e\x62\x75\x63\x6b\x65\x74\x73\x22\x20\x22\x30\x40\x73\x33\x3a\x2f\x2f\x24\x7b\x73\x33\x5f\x62\x75\x63\x6b\x65\x74\x7d\x3f\x72\x65\x67\x69\x6f\x6e\x3d\x24\x7b\x73\x33\x5f\x72\x65\x67\x69\x6f\x6e\x7d\x26\x65\x6e\x64\x70\x6f\x69\x6e\x74\x3d\x24\x7b\x73\x33\x5f\x65\x6e\x64\x70\x6f\x69\x6e\x74\x7d\x26\x61\x75\x74\x68\x54\x79\x70\x65\x3d\x73\x74\x61\x74\x69\x63\x26\x70\x61\x74\x68\x53\x74\x79\x6c\x65\x3d\x24\x7b\x73\x33\x5f\x70\x61\x74\x68\x5f\x73\x74\x79\x6c\x65\x7d\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x73\x33\x2e\x6f\x70\x73\x2e\x62\x75\x63\x6b\x65\x74\x73\x22\x20\x22\x30\x40\x73\x33\x3a\x2f\x2f\x24\x7b\x73\x33\x5f\x62\x75\x63\x6b\x65\x74\x7d\x3f\x72\x65\x67\x69\x6f\x6e\x3d\x24\x7b\x73\x33\x5f\x72\x65\x67\x69\x6f\x6e\x7d\x26\x65\x6e\x64\x70\x6f\x69\x6e\x74\x3d\x24\x7b\x73\x33\x5f\x65\x6e\x64\x70\x6f\x69\x6e\x74\x7d\x26\x61\x75\x74\x68\x54\x79\x70\x65\x3d\x73\x74\x61\x74\x69\x63\x26\x70\x61\x74\x68\x53\x74\x79\x6c\x65\x3d\x24\x7b\x73\x33\x5f\x70\x61\x74\x68\x5f\x73\x74\x79\x6c\x65\x7d\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6c\x6f\x67\x2e\x64\x69\x72\x73\x22\x20\x22\x24\x7b\x64\x61\x74\x61\x5f\x70\x61\x74\x68\x7d\x2f\x6b\x72\x61\x66\x74\x2d\x24\x7b\x72\x6f\x6c\x65\x7d\x2d\x6c\x6f\x67\x73\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x73\x33\x2e\x77\x61\x6c\x2e\x70\x61\x74\x68\x22\x20\x22\x30\x40\x66\x69\x6c\x65\x3a\x2f\x2f\x24\x7b\x64\x61\x74\x61\x5f\x70\x61\x74\x68\x7d\x2f\x77\x61\x6c\x3f\x63\x61\x70\x61\x63\x69\x74\x79\x3d\x32\x31\x34\x37\x34\x38\x33\x36\x34\x38\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x23\x20\x74\x75\x72\x6e\x20\x6f\x6e\x20\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x0a\x20\x20\x20\x20\x20\x20\x74\x75\x72\x6e\x5f\x6f\x6e\x5f\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x20\x22\x24\x7b\x72\x6f\x6c\x65\x7d\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x64\x6f\x6e\x65\x0a\x0a\x20\x20\x69\x66\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x4b\x41\x46\x4b\x41\x5f\x48\x45\x41\x50\x5f\x4f\x50\x54\x53\x7d\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x6b\x61\x66\x6b\x61\x5f\x68\x65\x61\x70\x5f\x6f\x70\x74\x73\x3d\x22\x24\x7b\x4b\x41\x46\x4b\x41\x5f\x48\x45\x41\x50\x5f\x4f\x50\x54\x53\x7d\x22\x0a\x20\x20\x65\x6c\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x62\x72\x6f\x6b\x65\x72\x22\x20\x7c\x7c\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x73\x65\x72\x76\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x6b\x61\x66\x6b\x61\x5f\x68\x65\x61\x70\x5f\x6f\x70\x74\x73\x3d\x22\x2d\x58\x6d\x73\x31\x67\x20\x2d\x58\x6d\x78\x31\x67\x20\x2d\x58\x58\x3a\x4d\x65\x74\x61\x73\x70\x61\x63\x65\x53\x69\x7a\x65\x3d\x39\x36\x6d\x20\x2d\x58\x58\x3a\x4d\x61\x78\x44\x69\x72\x65\x63\x74\x4d\x65\x6d\x6f\x72\x79\x53\x69\x7a\x65\x3d\x31\x47\x22\x0a\x20\x20\x65\x6c\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x6b\x61\x66\x6b\x61\x5f\x68\x65\x61\x70\x5f\x6f\x70\x74\x73\x3d\x22\x2d\x58\x6d\x73\x31\x67\x20\x2d\x58\x6d\x78\x31\x67\x20\x2d\x58\x58\x3a\x4d\x65\x74\x61\x73\x70\x61\x63\x65\x53\x69\x7a\x65\x3d\x39\x36\x6d\x22\x0a\x20\x20\x65\x6c\x73\x65\x0a\x20\x20\x20\x20\x20\x20\x64\x69\x65\x20\x22\x6b\x61\x66\x6b\x61\x5f\x73\x74\x61\x72\x74\x5f\x75\x70\x3a\x20\x75\x6e\x6b\x6e\x6f\x77\x6e\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x72\x6f\x6c\x65\x20\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x0a\x20\x20\x66\x69\x0a\x20\x20\x65\x78\x70\x6f\x72\x74\x20\x4b\x41\x46\x4b\x41\x5f\x48\x45\x41\x50\x5f\x4f\x50\x54\x53\x3d\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x68\x65\x61\x70\x5f\x6f\x70\x74\x73\x7d\x22\x0a\x0a\x20\x20\x23\x20\x61\x64\x64\x20\x74\x68\x69\x73\x20\x6e\x6f\x64\x65\x27\x73\x20\x69\x6e\x66\x6f\x20\x74\x6f\x20\x72\x75\x6e\x2e\x69\x6e\x66\x6f\x0a\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6e\x6f\x64\x65\x2e\x69\x64\x22\x20\x22\x24\x7b\x6e\x6f\x64\x65\x5f\x69\x64\x7d\x22\x20\x22\x24\x7b\x72\x75\x6e\x5f\x69\x6e\x66\x6f\x5f\x66\x69\x6c\x65\x7d\x22\x0a\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x72\x6f\x6c\x65\x22\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x22\x24\x7b\x72\x75\x6e\x5f\x69\x6e\x66\x6f\x5f\x66\x69\x6c\x65\x7d\x22\x0a\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6b\x61\x66\x6b\x61\x2e\x62\x61\x73\x65\x2e\x70\x61\x74\x68\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x22\x20\x22\x24\x7b\x72\x75\x6e\x5f\x69\x6e\x66\x6f\x5f\x66\x69\x6c\x65\x7d\x22\x0a\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6b\x61\x66\x6b\x61\x2e\x64\x61\x74\x61\x2e\x70\x61\x74\x68\x22\x20\x22\x24\x7b\x64\x61\x74\x61\x5f\x70\x61\x74\x68\x7d\x22\x20\x22\x24\x7b\x72\x75\x6e\x5f\x69\x6e\x66\x6f\x5f\x66\x69\x6c\x65\x7d\x22\x0a\x0a\x20\x20\x23\x20\x63\x68\x61\x6e\x67\x65\x20\x69\x70\x20\x73\x65\x74\x74\x69\x6e\x67\x73\x20\x68\x65\x72\x65\x0a\x20\x20\x6b\x61\x66\x6b\x61\x5f\x6d\x6f\x6e\x69\x74\x6f\x72\x5f\x69\x70\x0a\x20\x20\x65\x63\x68\x6f\x20\x22\x6b\x61\x66\x6b\x61\x5f\x75\x70\x3a\x20\x69\x70\x20\x73\x65\x74\x74\x69\x6e\x67\x73\x20\x63\x68\x61\x6e\x67\x65\x64\x22\x0a\x0a\x20\x20\x23\x20\x6f\x76\x65\x72\x72\x69\x64\x65\x20\x73\x65\x74\x74\x69\x6e\x67\x73\x20\x66\x72\x6f\x6d\x20\x65\x6e\x76\x0a\x20\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x5f\x66\x72\x6f\x6d\x5f\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x5f\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x0a\x20\x20\x23\x20\x44\x69\x73\x61\x62\x6c\x65\x20\x74\x68\x65\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x63\x6f\x6e\x73\x6f\x6c\x65\x20\x6c\x6f\x67\x67\x65\x72\x20\x69\x6e\x20\x66\x61\x76\x6f\x75\x72\x20\x6f\x66\x20\x4b\x61\x66\x6b\x61\x41\x70\x70\x65\x6e\x64\x65\x72\x20\x28\x77\x68\x69\x63\x68\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x74\x68\x65\x20\x65\x78\x61\x63\x74\x20\x6f\x75\x74\x70\x75\x74\x29\x0a\x20\x20\x65\x63\x68\x6f\x20\x22\x6c\x6f\x67\x34\x6a\x2e\x61\x70\x70\x65\x6e\x64\x65\x72\x2e\x73\x74\x64\x6f\x75\x74\x2e\x54\x68\x72\x65\x73\x68\x6f\x6c\x64\x3d\x4f\x46\x46\x22\x20\x3e\x3e\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6c\x6f\x67\x34\x6a\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x0a\x20\x20\x23\x20\x66\x6f\x72\x6d\x61\x74\x20\x74\x68\x65\x20\x64\x61\x74\x61\x20\x70\x61\x74\x68\x0a\x20\x20\x6d\x75\x73\x74\x5f\x64\x6f\x20\x2d\x76\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x62\x69\x6e\x2f\x6b\x61\x66\x6b\x61\x2d\x73\x74\x6f\x72\x61\x67\x65\x2e\x73\x68\x20\x66\x6f\x72\x6d\x61\x74\x20\x2d\x67\x20\x2d\x74\x20\x24\x7b\x63\x6c\x75\x73\x74\x65\x72\x5f\x69\x64\x7d\x20\x2d\x63\x20\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x0a\x20\x20\x65\x78\x65\x63\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x62\x69\x6e\x2f\x6b\x61\x66\x6b\x61\x2d\x73\x65\x72\x76\x65\x72\x2d\x73\x74\x61\x72\x74\x2e\x73\x68\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x7d\x0a\x0a\x23\x20\x50\x61\x72\x73\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x2d\x6c\x69\x6e\x65\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x0a\x5b\x5b\x20\x24\x23\x20\x2d\x6c\x74\x20\x31\x20\x5d\x5d\x20\x26\x26\x20\x75\x73\x61\x67\x65\x20\x30\x0a\x23\x20\x44\x69\x73\x70\x6c\x61\x79\x20\x74\x68\x65\x20\x68\x65\x6c\x70\x20\x74\x65\x78\x74\x20\x69\x66\x20\x2d\x68\x20\x6f\x72\x20\x2d\x2d\x68\x65\x6c\x70\x20\x61\x70\x70\x65\x61\x72\x73\x20\x69\x6e\x20\x74\x68\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x20\x6c\x69\x6e\x65\x0a\x66\x6f\x72\x20\x61\x72\x67\x20\x69\x6e\x20\x22\x24\x7b\x40\x7d\x22\x3b\x20\x64\x6f\x0a\x20\x20\x63\x61\x73\x65\x20\x22\x24\x7b\x61\x72\x67\x7d\x22\x20\x69\x6e\x0a\x20\x20\x2d\x68\x20\x7c\x20\x2d\x2d\x68\x65\x6c\x70\x29\x20\x75\x73\x61\x67\x65\x20\x30\x20\x3b\x3b\x0a\x20\x20\x2d\x2d\x29\x20\x62\x72\x65\x61\x6b\x20\x3b\x3b\x0a\x20\x20\x2a\x29\x20\x3b\x3b\x0a\x20\x20\x65\x73\x61\x63\x0a\x64\x6f\x6e\x65\x0a\x61\x63\x74\x69\x6f\x6e\x3d\x22\x24\x7b\x31\x7d\x22\x0a\x73\x68\x69\x66\x74\x0a\x63\x61\x73\x65\x20\x22\x24\x7b\x61\x63\x74\x69\x6f\x6e\x7d\x22\x20\x69\x6e\x0a\x68\x65\x6c\x70\x29\x20\x75\x73\x61\x67\x65\x20\x30\x20\x3b\x3b\x0a\x0a\x75\x70\x29\x0a\x20\x20\x6b\x61\x66\x6b\x61\x5f\x22\x24\x7b\x61\x63\x74\x69\x6f\x6e\x7d\x22\x20\x22\x24\x7b\x40\x7d\x22\x0a\x20\x20\x65\x78\x69\x74\x20\x30\x0a\x20\x20\x3b\x3b\x0a\x0a\x2a\x29\x0a\x20\x20\x65\x63\x68\x6f\x20\x22\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x20\x27\x24\x7b\x61\x63\x74\x69\x6f\x6e\x7d\x27\x2e\x20\x20\x54\x79\x70\x65\x20\x27\x24\x7b\x73\x63\x72\x69\x70\x74\x5f\x70\x61\x74\x68\x7d\x20\x2d\x2d\x68\x65\x6c\x70\x27\x20\x66\x6f\x72\x20\x75\x73\x61\x67\x65\x20\x69\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e\x2e\x22\x0a\x20\x20\x65\x78\x69\x74\x20\x31\x0a\x20\x20\x3b\x3b\x0a\x65\x73\x61\x63\x0a" +var _defaultsUpSh = "\x23\x21\x2f\x75\x73\x72\x2f\x62\x69\x6e\x2f\x65\x6e\x76\x20\x62\x61\x73\x68\x0a\x0a\x23\x20\x4c\x69\x63\x65\x6e\x73\x65\x64\x20\x74\x6f\x20\x74\x68\x65\x20\x41\x70\x61\x63\x68\x65\x20\x53\x6f\x66\x74\x77\x61\x72\x65\x20\x46\x6f\x75\x6e\x64\x61\x74\x69\x6f\x6e\x20\x28\x41\x53\x46\x29\x20\x75\x6e\x64\x65\x72\x20\x6f\x6e\x65\x20\x6f\x72\x20\x6d\x6f\x72\x65\x0a\x23\x20\x63\x6f\x6e\x74\x72\x69\x62\x75\x74\x6f\x72\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x61\x67\x72\x65\x65\x6d\x65\x6e\x74\x73\x2e\x20\x20\x53\x65\x65\x20\x74\x68\x65\x20\x4e\x4f\x54\x49\x43\x45\x20\x66\x69\x6c\x65\x20\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x64\x20\x77\x69\x74\x68\x0a\x23\x20\x74\x68\x69\x73\x20\x77\x6f\x72\x6b\x20\x66\x6f\x72\x20\x61\x64\x64\x69\x74\x69\x6f\x6e\x61\x6c\x20\x69\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e\x20\x72\x65\x67\x61\x72\x64\x69\x6e\x67\x20\x63\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x6f\x77\x6e\x65\x72\x73\x68\x69\x70\x2e\x0a\x23\x20\x54\x68\x65\x20\x41\x53\x46\x20\x6c\x69\x63\x65\x6e\x73\x65\x73\x20\x74\x68\x69\x73\x20\x66\x69\x6c\x65\x20\x74\x6f\x20\x59\x6f\x75\x20\x75\x6e\x64\x65\x72\x20\x74\x68\x65\x20\x41\x70\x61\x63\x68\x65\x20\x4c\x69\x63\x65\x6e\x73\x65\x2c\x20\x56\x65\x72\x73\x69\x6f\x6e\x20\x32\x2e\x30\x0a\x23\x20\x28\x74\x68\x65\x20\x22\x4c\x69\x63\x65\x6e\x73\x65\x22\x29\x3b\x20\x79\x6f\x75\x20\x6d\x61\x79\x20\x6e\x6f\x74\x20\x75\x73\x65\x20\x74\x68\x69\x73\x20\x66\x69\x6c\x65\x20\x65\x78\x63\x65\x70\x74\x20\x69\x6e\x20\x63\x6f\x6d\x70\x6c\x69\x61\x6e\x63\x65\x20\x77\x69\x74\x68\x0a\x23\x20\x74\x68\x65\x20\x4c\x69\x63\x65\x6e\x73\x65\x2e\x20\x20\x59\x6f\x75\x20\x6d\x61\x79\x20\x6f\x62\x74\x61\x69\x6e\x20\x61\x20\x63\x6f\x70\x79\x20\x6f\x66\x20\x74\x68\x65\x20\x4c\x69\x63\x65\x6e\x73\x65\x20\x61\x74\x0a\x23\x0a\x23\x20\x20\x20\x20\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x61\x70\x61\x63\x68\x65\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x4c\x49\x43\x45\x4e\x53\x45\x2d\x32\x2e\x30\x0a\x23\x0a\x23\x20\x55\x6e\x6c\x65\x73\x73\x20\x72\x65\x71\x75\x69\x72\x65\x64\x20\x62\x79\x20\x61\x70\x70\x6c\x69\x63\x61\x62\x6c\x65\x20\x6c\x61\x77\x20\x6f\x72\x20\x61\x67\x72\x65\x65\x64\x20\x74\x6f\x20\x69\x6e\x20\x77\x72\x69\x74\x69\x6e\x67\x2c\x20\x73\x6f\x66\x74\x77\x61\x72\x65\x0a\x23\x20\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x64\x20\x75\x6e\x64\x65\x72\x20\x74\x68\x65\x20\x4c\x69\x63\x65\x6e\x73\x65\x20\x69\x73\x20\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x64\x20\x6f\x6e\x20\x61\x6e\x20\x22\x41\x53\x20\x49\x53\x22\x20\x42\x41\x53\x49\x53\x2c\x0a\x23\x20\x57\x49\x54\x48\x4f\x55\x54\x20\x57\x41\x52\x52\x41\x4e\x54\x49\x45\x53\x20\x4f\x52\x20\x43\x4f\x4e\x44\x49\x54\x49\x4f\x4e\x53\x20\x4f\x46\x20\x41\x4e\x59\x20\x4b\x49\x4e\x44\x2c\x20\x65\x69\x74\x68\x65\x72\x20\x65\x78\x70\x72\x65\x73\x73\x20\x6f\x72\x20\x69\x6d\x70\x6c\x69\x65\x64\x2e\x0a\x23\x20\x53\x65\x65\x20\x74\x68\x65\x20\x4c\x69\x63\x65\x6e\x73\x65\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x73\x70\x65\x63\x69\x66\x69\x63\x20\x6c\x61\x6e\x67\x75\x61\x67\x65\x20\x67\x6f\x76\x65\x72\x6e\x69\x6e\x67\x20\x70\x65\x72\x6d\x69\x73\x73\x69\x6f\x6e\x73\x20\x61\x6e\x64\x0a\x23\x20\x6c\x69\x6d\x69\x74\x61\x74\x69\x6f\x6e\x73\x20\x75\x6e\x64\x65\x72\x20\x74\x68\x65\x20\x4c\x69\x63\x65\x6e\x73\x65\x2e\x0a\x0a\x73\x63\x72\x69\x70\x74\x5f\x70\x61\x74\x68\x3d\x22\x24\x7b\x30\x7d\x22\x0a\x0a\x23\x20\x54\x68\x65\x20\x61\x62\x73\x6f\x6c\x75\x74\x65\x20\x70\x61\x74\x68\x20\x74\x6f\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x77\x68\x69\x63\x68\x20\x74\x68\x69\x73\x20\x73\x63\x72\x69\x70\x74\x20\x69\x73\x20\x69\x6e\x2e\x0a\x73\x74\x61\x72\x74\x5f\x64\x69\x72\x3d\x22\x24\x28\x63\x64\x20\x22\x24\x28\x64\x69\x72\x6e\x61\x6d\x65\x20\x22\x24\x7b\x42\x41\x53\x48\x5f\x53\x4f\x55\x52\x43\x45\x5b\x30\x5d\x7d\x22\x29\x22\x20\x26\x26\x20\x70\x77\x64\x29\x22\x0a\x0a\x72\x75\x6e\x5f\x69\x6e\x66\x6f\x5f\x66\x69\x6c\x65\x3d\x22\x24\x7b\x73\x74\x61\x72\x74\x5f\x64\x69\x72\x7d\x2f\x72\x75\x6e\x2e\x69\x6e\x66\x6f\x22\x0a\x0a\x23\x20\x54\x68\x65\x20\x61\x62\x73\x6f\x6c\x75\x74\x65\x20\x70\x61\x74\x68\x20\x74\x6f\x20\x74\x68\x65\x20\x72\x6f\x6f\x74\x20\x4b\x61\x66\x6b\x61\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x0a\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x3d\x22\x24\x28\x20\x63\x64\x20\x22\x24\x7b\x73\x74\x61\x72\x74\x5f\x64\x69\x72\x7d\x2f\x2e\x2e\x2f\x6b\x61\x66\x6b\x61\x22\x20\x26\x26\x20\x70\x77\x64\x20\x29\x22\x0a\x0a\x64\x61\x74\x61\x5f\x70\x61\x74\x68\x3d\x22\x2f\x64\x61\x74\x61\x2f\x6b\x61\x66\x6b\x61\x22\x0a\x0a\x23\x20\x45\x78\x69\x74\x20\x77\x69\x74\x68\x20\x61\x6e\x20\x65\x72\x72\x6f\x72\x20\x6d\x65\x73\x73\x61\x67\x65\x2e\x0a\x64\x69\x65\x28\x29\x20\x7b\x0a\x20\x20\x65\x63\x68\x6f\x20\x22\x24\x40\x22\x0a\x20\x20\x65\x78\x69\x74\x20\x31\x0a\x7d\x0a\x0a\x65\x63\x68\x6f\x5f\x61\x6e\x64\x5f\x64\x6f\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x20\x63\x6d\x64\x3d\x22\x24\x7b\x40\x7d\x22\x0a\x20\x20\x20\x20\x65\x63\x68\x6f\x20\x22\x24\x7b\x63\x6d\x64\x7d\x22\x0a\x20\x20\x20\x20\x24\x7b\x63\x6d\x64\x7d\x0a\x7d\x0a\x0a\x23\x20\x52\x75\x6e\x20\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x20\x61\x6e\x64\x20\x64\x69\x65\x20\x69\x66\x20\x69\x74\x20\x66\x61\x69\x6c\x73\x2e\x0a\x23\x0a\x23\x20\x4f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x66\x6c\x61\x67\x73\x3a\x0a\x23\x20\x2d\x76\x3a\x20\x70\x72\x69\x6e\x74\x20\x74\x68\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x20\x62\x65\x66\x6f\x72\x65\x20\x72\x75\x6e\x6e\x69\x6e\x67\x20\x69\x74\x2e\x0a\x23\x20\x2d\x6f\x3a\x20\x64\x69\x73\x70\x6c\x61\x79\x20\x74\x68\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x20\x6f\x75\x74\x70\x75\x74\x2e\x0a\x23\x20\x24\x40\x3a\x20\x54\x68\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x20\x74\x6f\x20\x72\x75\x6e\x2e\x0a\x6d\x75\x73\x74\x5f\x64\x6f\x28\x29\x20\x7b\x0a\x20\x20\x6c\x6f\x63\x61\x6c\x20\x76\x65\x72\x62\x6f\x73\x65\x3d\x30\x0a\x20\x20\x6c\x6f\x63\x61\x6c\x20\x6f\x75\x74\x70\x75\x74\x3d\x22\x2f\x64\x65\x76\x2f\x6e\x75\x6c\x6c\x22\x0a\x20\x20\x77\x68\x69\x6c\x65\x20\x74\x72\x75\x65\x3b\x20\x64\x6f\x0a\x20\x20\x20\x20\x63\x61\x73\x65\x20\x24\x7b\x31\x7d\x20\x69\x6e\x0a\x20\x20\x20\x20\x2d\x76\x29\x0a\x20\x20\x20\x20\x20\x20\x76\x65\x72\x62\x6f\x73\x65\x3d\x31\x0a\x20\x20\x20\x20\x20\x20\x73\x68\x69\x66\x74\x0a\x20\x20\x20\x20\x20\x20\x3b\x3b\x0a\x20\x20\x20\x20\x2d\x6f\x29\x0a\x20\x20\x20\x20\x20\x20\x6f\x75\x74\x70\x75\x74\x3d\x22\x2f\x64\x65\x76\x2f\x73\x74\x64\x6f\x75\x74\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x68\x69\x66\x74\x0a\x20\x20\x20\x20\x20\x20\x3b\x3b\x0a\x20\x20\x20\x20\x2a\x29\x20\x62\x72\x65\x61\x6b\x20\x3b\x3b\x0a\x20\x20\x20\x20\x65\x73\x61\x63\x0a\x20\x20\x64\x6f\x6e\x65\x0a\x20\x20\x6c\x6f\x63\x61\x6c\x20\x63\x6d\x64\x3d\x22\x24\x2a\x22\x0a\x20\x20\x5b\x5b\x20\x22\x24\x7b\x76\x65\x72\x62\x6f\x73\x65\x7d\x22\x20\x2d\x65\x71\x20\x31\x20\x5d\x5d\x20\x26\x26\x20\x65\x63\x68\x6f\x20\x22\x24\x7b\x63\x6d\x64\x7d\x22\x0a\x20\x20\x65\x76\x61\x6c\x20\x22\x24\x7b\x63\x6d\x64\x7d\x22\x20\x3e\x24\x7b\x6f\x75\x74\x70\x75\x74\x7d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x24\x7b\x31\x7d\x20\x66\x61\x69\x6c\x65\x64\x22\x0a\x7d\x0a\x0a\x23\x20\x44\x69\x73\x70\x6c\x61\x79\x20\x61\x20\x75\x73\x61\x67\x65\x20\x6d\x65\x73\x73\x61\x67\x65\x20\x6f\x6e\x20\x74\x68\x65\x20\x74\x65\x72\x6d\x69\x6e\x61\x6c\x20\x61\x6e\x64\x20\x65\x78\x69\x74\x2e\x0a\x23\x0a\x23\x20\x24\x31\x3a\x20\x54\x68\x65\x20\x65\x78\x69\x74\x20\x73\x74\x61\x74\x75\x73\x20\x74\x6f\x20\x75\x73\x65\x0a\x75\x73\x61\x67\x65\x28\x29\x20\x7b\x0a\x20\x20\x6c\x6f\x63\x61\x6c\x20\x65\x78\x69\x74\x5f\x73\x74\x61\x74\x75\x73\x3d\x22\x24\x7b\x31\x7d\x22\x0a\x20\x20\x63\x61\x74\x20\x3c\x3c\x45\x4f\x46\x0a\x73\x74\x61\x72\x74\x3a\x20\x61\x20\x74\x6f\x6f\x6c\x20\x66\x6f\x72\x20\x73\x74\x61\x72\x74\x69\x6e\x67\x20\x27\x41\x75\x74\x6f\x4d\x51\x20\x66\x6f\x72\x20\x41\x70\x61\x63\x68\x65\x20\x4b\x61\x66\x6b\x61\x20\x6f\x6e\x20\x53\x33\x27\x2e\x0a\x0a\x55\x73\x61\x67\x65\x3a\x20\x24\x7b\x73\x63\x72\x69\x70\x74\x5f\x70\x61\x74\x68\x7d\x20\x5b\x63\x6f\x6d\x6d\x61\x6e\x64\x5d\x20\x5b\x6f\x70\x74\x69\x6f\x6e\x73\x5d\x0a\x0a\x68\x65\x6c\x70\x7c\x2d\x68\x7c\x2d\x2d\x68\x65\x6c\x70\x0a\x20\x20\x20\x20\x44\x69\x73\x70\x6c\x61\x79\x20\x74\x68\x69\x73\x20\x68\x65\x6c\x70\x20\x6d\x65\x73\x73\x61\x67\x65\x0a\x75\x70\x20\x5b\x2d\x2d\x70\x72\x6f\x63\x65\x73\x73\x2e\x72\x6f\x6c\x65\x73\x20\x52\x4f\x4c\x45\x5d\x20\x5b\x2d\x2d\x6e\x6f\x64\x65\x2e\x69\x64\x20\x4e\x4f\x44\x45\x5f\x49\x44\x5d\x20\x5b\x2d\x2d\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2e\x71\x75\x6f\x72\x75\x6d\x2e\x76\x6f\x74\x65\x72\x73\x20\x56\x4f\x54\x45\x52\x53\x5d\x0a\x20\x20\x20\x5b\x2d\x2d\x73\x33\x2e\x72\x65\x67\x69\x6f\x6e\x20\x52\x45\x47\x49\x4f\x4e\x5d\x20\x5b\x2d\x2d\x73\x33\x2e\x62\x75\x63\x6b\x65\x74\x20\x42\x55\x43\x4b\x45\x54\x5d\x20\x5b\x2d\x2d\x73\x33\x2e\x65\x6e\x64\x70\x6f\x69\x6e\x74\x20\x45\x4e\x44\x50\x4f\x49\x4e\x54\x5d\x0a\x20\x20\x20\x5b\x2d\x2d\x73\x33\x2e\x61\x63\x63\x65\x73\x73\x2e\x6b\x65\x79\x20\x41\x43\x43\x45\x53\x53\x5f\x4b\x45\x59\x5d\x20\x5b\x2d\x2d\x73\x33\x2e\x73\x65\x63\x72\x65\x74\x2e\x6b\x65\x79\x20\x53\x45\x43\x52\x45\x54\x5f\x4b\x45\x59\x5d\x0a\x20\x20\x20\x20\x73\x74\x61\x72\x74\x20\x6e\x6f\x64\x65\x2e\x0a\x45\x4f\x46\x0a\x20\x20\x65\x78\x69\x74\x20\x22\x24\x7b\x65\x78\x69\x74\x5f\x73\x74\x61\x74\x75\x73\x7d\x22\x0a\x7d\x0a\x0a\x23\x20\x43\x68\x65\x63\x6b\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x70\x72\x65\x73\x65\x6e\x63\x65\x20\x6f\x66\x20\x63\x65\x72\x74\x61\x69\x6e\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x2e\x0a\x23\x0a\x23\x20\x24\x40\x3a\x20\x54\x68\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x20\x74\x6f\x20\x63\x68\x65\x63\x6b\x20\x66\x6f\x72\x2e\x20\x20\x54\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x77\x69\x6c\x6c\x20\x64\x69\x65\x20\x69\x66\x20\x61\x6e\x79\x20\x6f\x66\x20\x74\x68\x65\x73\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x20\x61\x72\x65\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64\x20\x62\x79\x0a\x23\x20\x20\x20\x20\x20\x20\x20\x74\x68\x65\x20\x27\x77\x68\x69\x63\x68\x27\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x2e\x0a\x72\x65\x71\x75\x69\x72\x65\x5f\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x28\x29\x20\x7b\x0a\x20\x20\x6c\x6f\x63\x61\x6c\x20\x63\x6d\x64\x73\x3d\x28\x22\x24\x40\x22\x29\x0a\x20\x20\x66\x6f\x72\x20\x63\x6d\x64\x20\x69\x6e\x20\x22\x24\x7b\x63\x6d\x64\x73\x5b\x40\x5d\x7d\x22\x3b\x20\x64\x6f\x0a\x20\x20\x20\x20\x77\x68\x69\x63\x68\x20\x2d\x2d\x20\x22\x24\x7b\x63\x6d\x64\x7d\x22\x20\x26\x3e\x2f\x64\x65\x76\x2f\x6e\x75\x6c\x6c\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x59\x6f\x75\x20\x6d\x75\x73\x74\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20\x24\x7b\x63\x6d\x64\x7d\x20\x74\x6f\x20\x72\x75\x6e\x20\x74\x68\x69\x73\x20\x73\x63\x72\x69\x70\x74\x2e\x22\x0a\x20\x20\x64\x6f\x6e\x65\x0a\x7d\x0a\x0a\x23\x20\x53\x65\x74\x20\x61\x20\x67\x6c\x6f\x62\x61\x6c\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x20\x74\x6f\x20\x61\x20\x76\x61\x6c\x75\x65\x2e\x0a\x23\x0a\x23\x20\x24\x31\x3a\x20\x54\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x20\x6e\x61\x6d\x65\x20\x74\x6f\x20\x73\x65\x74\x2e\x20\x20\x54\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x77\x69\x6c\x6c\x20\x64\x69\x65\x20\x69\x66\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x68\x61\x73\x20\x61\x20\x76\x61\x6c\x75\x65\x2e\x20\x20\x54\x68\x65\x0a\x23\x20\x20\x20\x20\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x6d\x61\x64\x65\x20\x72\x65\x61\x64\x6f\x6e\x6c\x79\x20\x74\x6f\x20\x70\x72\x65\x76\x65\x6e\x74\x20\x61\x6e\x79\x20\x66\x75\x74\x75\x72\x65\x20\x6d\x6f\x64\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x73\x2e\x0a\x23\x20\x24\x32\x3a\x20\x54\x68\x65\x20\x76\x61\x6c\x75\x65\x20\x74\x6f\x20\x73\x65\x74\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x20\x74\x6f\x2e\x20\x20\x54\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x77\x69\x6c\x6c\x20\x64\x69\x65\x20\x69\x66\x20\x74\x68\x65\x20\x76\x61\x6c\x75\x65\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x20\x6f\x72\x20\x73\x74\x61\x72\x74\x73\x0a\x23\x20\x20\x20\x20\x20\x77\x69\x74\x68\x20\x61\x20\x64\x61\x73\x68\x2e\x0a\x23\x20\x24\x33\x3a\x20\x41\x20\x68\x75\x6d\x61\x6e\x2d\x72\x65\x61\x64\x61\x62\x6c\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x2e\x0a\x73\x65\x74\x5f\x6f\x6e\x63\x65\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x20\x6b\x65\x79\x3d\x22\x24\x7b\x31\x7d\x22\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x20\x76\x61\x6c\x75\x65\x3d\x22\x24\x7b\x32\x7d\x22\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x20\x77\x68\x61\x74\x3d\x22\x24\x7b\x33\x7d\x22\x0a\x20\x20\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x21\x6b\x65\x79\x7d\x22\x20\x5d\x5d\x20\x26\x26\x20\x64\x69\x65\x20\x22\x45\x72\x72\x6f\x72\x3a\x20\x6d\x6f\x72\x65\x20\x74\x68\x61\x6e\x20\x6f\x6e\x65\x20\x76\x61\x6c\x75\x65\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x66\x6f\x72\x20\x24\x7b\x77\x68\x61\x74\x7d\x2e\x22\x0a\x20\x20\x20\x20\x76\x65\x72\x69\x66\x79\x5f\x63\x6f\x6d\x6d\x61\x6e\x64\x5f\x6c\x69\x6e\x65\x5f\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x22\x24\x7b\x76\x61\x6c\x75\x65\x7d\x22\x20\x22\x24\x7b\x77\x68\x61\x74\x7d\x22\x0a\x20\x20\x20\x20\x23\x20\x49\x74\x20\x77\x6f\x75\x6c\x64\x20\x62\x65\x20\x62\x65\x74\x74\x65\x72\x20\x74\x6f\x20\x75\x73\x65\x20\x64\x65\x63\x6c\x61\x72\x65\x20\x2d\x67\x2c\x20\x62\x75\x74\x20\x6f\x6c\x64\x65\x72\x20\x62\x61\x73\x68\x20\x76\x65\x72\x73\x69\x6f\x6e\x73\x20\x64\x6f\x6e\x27\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x69\x74\x2e\x0a\x20\x20\x20\x20\x65\x78\x70\x6f\x72\x74\x20\x22\x24\x7b\x6b\x65\x79\x7d\x22\x3d\x22\x24\x7b\x76\x61\x6c\x75\x65\x7d\x22\x0a\x7d\x0a\x0a\x23\x20\x56\x65\x72\x69\x66\x79\x20\x74\x68\x61\x74\x20\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x2d\x6c\x69\x6e\x65\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x69\x73\x20\x70\x72\x65\x73\x65\x6e\x74\x20\x61\x6e\x64\x20\x64\x6f\x65\x73\x20\x6e\x6f\x74\x20\x73\x74\x61\x72\x74\x20\x77\x69\x74\x68\x20\x61\x20\x73\x6c\x61\x73\x68\x2e\x0a\x23\x0a\x23\x20\x24\x31\x3a\x20\x54\x68\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x2d\x6c\x69\x6e\x65\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x74\x6f\x20\x76\x65\x72\x69\x66\x79\x2e\x0a\x23\x20\x24\x32\x3a\x20\x41\x20\x68\x75\x6d\x61\x6e\x2d\x72\x65\x61\x64\x61\x62\x6c\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x2e\x0a\x76\x65\x72\x69\x66\x79\x5f\x63\x6f\x6d\x6d\x61\x6e\x64\x5f\x6c\x69\x6e\x65\x5f\x61\x72\x67\x75\x6d\x65\x6e\x74\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x20\x76\x61\x6c\x75\x65\x3d\x22\x24\x7b\x31\x7d\x22\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x20\x77\x68\x61\x74\x3d\x22\x24\x7b\x32\x7d\x22\x0a\x20\x20\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x76\x61\x6c\x75\x65\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x45\x72\x72\x6f\x72\x3a\x20\x6e\x6f\x20\x76\x61\x6c\x75\x65\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x66\x6f\x72\x20\x24\x7b\x77\x68\x61\x74\x7d\x22\x0a\x20\x20\x20\x20\x5b\x5b\x20\x24\x7b\x76\x61\x6c\x75\x65\x7d\x20\x3d\x3d\x20\x2d\x2a\x20\x5d\x5d\x20\x26\x26\x20\x64\x69\x65\x20\x22\x45\x72\x72\x6f\x72\x3a\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x76\x61\x6c\x75\x65\x20\x24\x7b\x76\x61\x6c\x75\x65\x7d\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x20\x66\x6f\x72\x20\x24\x7b\x77\x68\x61\x74\x7d\x22\x0a\x7d\x0a\x0a\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x28\x29\x20\x7b\x0a\x20\x20\x6b\x65\x79\x3d\x24\x31\x0a\x20\x20\x76\x61\x6c\x75\x65\x3d\x24\x32\x0a\x20\x20\x66\x69\x6c\x65\x3d\x24\x33\x0a\x20\x20\x23\x20\x72\x65\x70\x6c\x61\x63\x65\x20\x73\x70\x65\x63\x69\x61\x6c\x20\x63\x68\x61\x72\x61\x63\x74\x65\x72\x73\x0a\x20\x20\x76\x61\x6c\x75\x65\x3d\x24\x7b\x76\x61\x6c\x75\x65\x2f\x2f\x26\x2f\x5c\x5c\x26\x7d\x0a\x20\x20\x76\x61\x6c\x75\x65\x3d\x24\x7b\x76\x61\x6c\x75\x65\x2f\x2f\x23\x2f\x2f\x5c\x5c\x23\x2f\x7d\x0a\x20\x20\x65\x63\x68\x6f\x20\x22\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x3a\x20\x6b\x65\x79\x3d\x24\x7b\x6b\x65\x79\x7d\x2c\x20\x76\x61\x6c\x75\x65\x3d\x24\x7b\x76\x61\x6c\x75\x65\x7d\x2c\x20\x66\x69\x6c\x65\x3d\x24\x7b\x66\x69\x6c\x65\x7d\x22\x0a\x20\x20\x73\x65\x64\x20\x2d\x69\x20\x22\x73\x7c\x5e\x24\x7b\x6b\x65\x79\x7d\x3d\x2e\x2a\x24\x7c\x24\x7b\x6b\x65\x79\x7d\x3d\x24\x7b\x76\x61\x6c\x75\x65\x7d\x7c\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x7d\x22\x0a\x7d\x0a\x0a\x61\x64\x64\x5f\x6f\x72\x5f\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x28\x29\x20\x7b\x0a\x20\x20\x6b\x65\x79\x3d\x24\x31\x0a\x20\x20\x76\x61\x6c\x75\x65\x3d\x24\x32\x0a\x20\x20\x66\x69\x6c\x65\x3d\x24\x33\x0a\x20\x20\x69\x66\x20\x67\x72\x65\x70\x20\x2d\x71\x20\x22\x5e\x24\x7b\x6b\x65\x79\x7d\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x7d\x22\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x24\x7b\x6b\x65\x79\x7d\x22\x20\x22\x24\x7b\x76\x61\x6c\x75\x65\x7d\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x7d\x22\x0a\x20\x20\x65\x6c\x73\x65\x0a\x20\x20\x20\x20\x65\x63\x68\x6f\x20\x22\x24\x7b\x6b\x65\x79\x7d\x3d\x24\x7b\x76\x61\x6c\x75\x65\x7d\x22\x20\x7c\x20\x74\x65\x65\x20\x2d\x61\x20\x22\x24\x7b\x66\x69\x6c\x65\x7d\x22\x20\x3e\x2f\x64\x65\x76\x2f\x6e\x75\x6c\x6c\x0a\x20\x20\x66\x69\x0a\x7d\x0a\x0a\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x61\x6c\x6c\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x3d\x24\x31\x0a\x20\x20\x20\x20\x61\x64\x64\x5f\x6f\x72\x5f\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x61\x75\x74\x6f\x62\x61\x6c\x61\x6e\x63\x65\x72\x2e\x74\x6f\x70\x69\x63\x22\x20\x22\x41\x75\x74\x6f\x42\x61\x6c\x61\x6e\x63\x65\x72\x4d\x65\x74\x72\x69\x63\x73\x52\x65\x70\x6f\x72\x74\x65\x72\x54\x6f\x70\x69\x63\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x61\x64\x64\x5f\x6f\x72\x5f\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x61\x75\x74\x6f\x62\x61\x6c\x61\x6e\x63\x65\x72\x2e\x74\x6f\x70\x69\x63\x2e\x6e\x75\x6d\x2e\x70\x61\x72\x74\x69\x74\x69\x6f\x6e\x73\x22\x20\x22\x31\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x7d\x0a\x0a\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x5f\x6f\x6e\x6c\x79\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x3d\x24\x31\x0a\x20\x20\x20\x20\x61\x64\x64\x5f\x6f\x72\x5f\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x61\x75\x74\x6f\x62\x61\x6c\x61\x6e\x63\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2e\x65\x6e\x61\x62\x6c\x65\x22\x20\x22\x74\x72\x75\x65\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x61\x64\x64\x5f\x6f\x72\x5f\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x61\x75\x74\x6f\x62\x61\x6c\x61\x6e\x63\x65\x72\x2e\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2e\x65\x78\x63\x6c\x75\x64\x65\x2e\x74\x6f\x70\x69\x63\x73\x22\x20\x22\x5f\x5f\x63\x6f\x6e\x73\x75\x6d\x65\x72\x5f\x6f\x66\x66\x73\x65\x74\x73\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x7d\x0a\x0a\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x62\x72\x6f\x6b\x65\x72\x5f\x6f\x6e\x6c\x79\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x3d\x24\x31\x0a\x20\x20\x20\x20\x61\x64\x64\x5f\x6f\x72\x5f\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6d\x65\x74\x72\x69\x63\x2e\x72\x65\x70\x6f\x72\x74\x65\x72\x73\x22\x20\x22\x6b\x61\x66\x6b\x61\x2e\x61\x75\x74\x6f\x62\x61\x6c\x61\x6e\x63\x65\x72\x2e\x6d\x65\x74\x72\x69\x63\x73\x72\x65\x70\x6f\x72\x74\x65\x72\x2e\x41\x75\x74\x6f\x42\x61\x6c\x61\x6e\x63\x65\x72\x4d\x65\x74\x72\x69\x63\x73\x52\x65\x70\x6f\x72\x74\x65\x72\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x7d\x0a\x0a\x74\x75\x72\x6e\x5f\x6f\x6e\x5f\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x72\x6f\x6c\x65\x3d\x24\x31\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x3d\x24\x32\x0a\x20\x20\x20\x20\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x61\x6c\x6c\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x62\x72\x6f\x6b\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x62\x72\x6f\x6b\x65\x72\x5f\x6f\x6e\x6c\x79\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x65\x6c\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x5f\x6f\x6e\x6c\x79\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x65\x6c\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x73\x65\x72\x76\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x5f\x6f\x6e\x6c\x79\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x5f\x73\x65\x74\x74\x69\x6e\x67\x5f\x66\x6f\x72\x5f\x62\x72\x6f\x6b\x65\x72\x5f\x6f\x6e\x6c\x79\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x66\x69\x0a\x7d\x0a\x0a\x0a\x23\x20\x6d\x6f\x6e\x69\x74\x6f\x72\x20\x61\x6e\x64\x20\x63\x68\x61\x6e\x67\x65\x20\x61\x64\x76\x65\x72\x74\x69\x73\x65\x64\x20\x69\x70\x20\x66\x6f\x72\x20\x6b\x61\x66\x6b\x61\x0a\x6b\x61\x66\x6b\x61\x5f\x6d\x6f\x6e\x69\x74\x6f\x72\x5f\x69\x70\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x3d\x24\x28\x67\x72\x65\x70\x20\x22\x72\x6f\x6c\x65\x22\x20\x22\x24\x7b\x72\x75\x6e\x5f\x69\x6e\x66\x6f\x5f\x66\x69\x6c\x65\x7d\x22\x20\x7c\x20\x61\x77\x6b\x20\x2d\x46\x3d\x20\x27\x7b\x70\x72\x69\x6e\x74\x20\x24\x32\x7d\x27\x29\x0a\x20\x20\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x6b\x61\x66\x6b\x61\x5f\x64\x6f\x77\x6e\x3a\x20\x66\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x67\x65\x74\x20\x6e\x6f\x64\x65\x20\x72\x6f\x6c\x65\x22\x0a\x0a\x20\x20\x20\x20\x23\x20\x67\x65\x74\x20\x70\x72\x69\x76\x61\x74\x65\x20\x69\x70\x20\x66\x69\x72\x73\x74\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x5f\x70\x72\x69\x76\x61\x74\x65\x5f\x69\x70\x3d\x22\x30\x2e\x30\x2e\x30\x2e\x30\x22\x0a\x20\x20\x20\x20\x61\x64\x76\x65\x72\x74\x69\x73\x65\x64\x5f\x69\x70\x3d\x22\x24\x7b\x6c\x6f\x63\x61\x6c\x5f\x70\x72\x69\x76\x61\x74\x65\x5f\x69\x70\x7d\x22\x0a\x0a\x20\x20\x20\x20\x23\x20\x63\x68\x61\x6e\x67\x65\x20\x69\x70\x20\x73\x65\x74\x74\x69\x6e\x67\x73\x20\x66\x6f\x72\x20\x74\x68\x69\x73\x20\x6e\x6f\x64\x65\x0a\x20\x20\x20\x20\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x73\x65\x72\x76\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x22\x20\x22\x50\x4c\x41\x49\x4e\x54\x45\x58\x54\x3a\x2f\x2f\x24\x7b\x6c\x6f\x63\x61\x6c\x5f\x70\x72\x69\x76\x61\x74\x65\x5f\x69\x70\x7d\x3a\x39\x30\x39\x32\x2c\x43\x4f\x4e\x54\x52\x4f\x4c\x4c\x45\x52\x3a\x2f\x2f\x24\x7b\x6c\x6f\x63\x61\x6c\x5f\x70\x72\x69\x76\x61\x74\x65\x5f\x69\x70\x7d\x3a\x39\x30\x39\x33\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x61\x64\x76\x65\x72\x74\x69\x73\x65\x64\x2e\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x22\x20\x22\x50\x4c\x41\x49\x4e\x54\x45\x58\x54\x3a\x2f\x2f\x24\x7b\x61\x64\x76\x65\x72\x74\x69\x73\x65\x64\x5f\x69\x70\x7d\x3a\x39\x30\x39\x32\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x65\x6c\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x62\x72\x6f\x6b\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x22\x20\x22\x50\x4c\x41\x49\x4e\x54\x45\x58\x54\x3a\x2f\x2f\x24\x7b\x6c\x6f\x63\x61\x6c\x5f\x70\x72\x69\x76\x61\x74\x65\x5f\x69\x70\x7d\x3a\x39\x30\x39\x32\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x61\x64\x76\x65\x72\x74\x69\x73\x65\x64\x2e\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x22\x20\x22\x50\x4c\x41\x49\x4e\x54\x45\x58\x54\x3a\x2f\x2f\x24\x7b\x61\x64\x76\x65\x72\x74\x69\x73\x65\x64\x5f\x69\x70\x7d\x3a\x39\x30\x39\x32\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x65\x6c\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6c\x69\x73\x74\x65\x6e\x65\x72\x73\x22\x20\x22\x43\x4f\x4e\x54\x52\x4f\x4c\x4c\x45\x52\x3a\x2f\x2f\x24\x7b\x6c\x6f\x63\x61\x6c\x5f\x70\x72\x69\x76\x61\x74\x65\x5f\x69\x70\x7d\x3a\x39\x30\x39\x33\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x65\x6c\x73\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x65\x20\x22\x6b\x61\x66\x6b\x61\x5f\x6d\x6f\x6e\x69\x74\x6f\x72\x5f\x69\x70\x3a\x20\x75\x6e\x6b\x6e\x6f\x77\x6e\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x72\x6f\x6c\x65\x20\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x0a\x20\x20\x20\x20\x66\x69\x0a\x7d\x0a\x0a\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x5f\x66\x72\x6f\x6d\x5f\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x5f\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x3d\x24\x31\x0a\x20\x20\x20\x20\x23\x20\x4c\x69\x73\x74\x20\x6f\x66\x20\x73\x70\x65\x63\x69\x61\x6c\x20\x63\x61\x73\x65\x73\x20\x74\x6f\x20\x61\x70\x70\x6c\x79\x20\x74\x6f\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x0a\x20\x20\x20\x20\x6c\x6f\x63\x61\x6c\x20\x2d\x72\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x5f\x72\x65\x67\x65\x78\x70\x73\x3d\x28\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22\x73\x2f\x73\x61\x73\x6c\x5c\x2e\x73\x73\x6c\x2f\x73\x61\x73\x6c\x5f\x73\x73\x6c\x2f\x67\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22\x73\x2f\x73\x61\x73\x6c\x5c\x2e\x70\x6c\x61\x69\x6e\x74\x65\x78\x74\x2f\x73\x61\x73\x6c\x5f\x70\x6c\x61\x69\x6e\x74\x65\x78\x74\x2f\x67\x22\x0a\x20\x20\x20\x20\x29\x0a\x20\x20\x20\x20\x23\x20\x4d\x61\x70\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x74\x6f\x20\x63\x6f\x6e\x66\x69\x67\x20\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x0a\x20\x20\x20\x20\x66\x6f\x72\x20\x76\x61\x72\x20\x69\x6e\x20\x22\x24\x7b\x21\x4b\x41\x46\x4b\x41\x5f\x43\x46\x47\x5f\x40\x7d\x22\x3b\x20\x64\x6f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6b\x65\x79\x3d\x22\x24\x28\x65\x63\x68\x6f\x20\x22\x24\x76\x61\x72\x22\x20\x7c\x20\x73\x65\x64\x20\x2d\x65\x20\x27\x73\x2f\x5e\x4b\x41\x46\x4b\x41\x5f\x43\x46\x47\x5f\x2f\x2f\x67\x27\x20\x2d\x65\x20\x27\x73\x2f\x5f\x2f\x5c\x2e\x2f\x67\x27\x20\x7c\x20\x74\x72\x20\x27\x5b\x3a\x75\x70\x70\x65\x72\x3a\x5d\x27\x20\x27\x5b\x3a\x6c\x6f\x77\x65\x72\x3a\x5d\x27\x29\x22\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x23\x20\x45\x78\x63\x65\x70\x74\x69\x6f\x6e\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x63\x61\x6d\x65\x6c\x20\x63\x61\x73\x65\x20\x69\x6e\x20\x74\x68\x69\x73\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x5b\x5b\x20\x22\x24\x76\x61\x72\x22\x20\x3d\x3d\x20\x22\x4b\x41\x46\x4b\x41\x5f\x43\x46\x47\x5f\x5a\x4f\x4f\x4b\x45\x45\x50\x45\x52\x5f\x43\x4c\x49\x45\x4e\x54\x43\x4e\x58\x4e\x53\x4f\x43\x4b\x45\x54\x22\x20\x5d\x5d\x20\x26\x26\x20\x6b\x65\x79\x3d\x22\x7a\x6f\x6f\x6b\x65\x65\x70\x65\x72\x2e\x63\x6c\x69\x65\x6e\x74\x43\x6e\x78\x6e\x53\x6f\x63\x6b\x65\x74\x22\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x23\x20\x41\x70\x70\x6c\x79\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x20\x72\x65\x67\x65\x78\x70\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\x72\x20\x72\x65\x67\x65\x78\x20\x69\x6e\x20\x22\x24\x7b\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x5f\x72\x65\x67\x65\x78\x70\x73\x5b\x40\x5d\x7d\x22\x3b\x20\x64\x6f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6b\x65\x79\x3d\x22\x24\x28\x65\x63\x68\x6f\x20\x22\x24\x6b\x65\x79\x22\x20\x7c\x20\x73\x65\x64\x20\x22\x24\x72\x65\x67\x65\x78\x22\x29\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6f\x6e\x65\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6c\x75\x65\x3d\x22\x24\x7b\x21\x76\x61\x72\x7d\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x64\x64\x5f\x6f\x72\x5f\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x24\x7b\x6b\x65\x79\x7d\x22\x20\x22\x24\x7b\x76\x61\x6c\x75\x65\x7d\x22\x20\x22\x24\x7b\x66\x69\x6c\x65\x5f\x6e\x61\x6d\x65\x7d\x22\x0a\x20\x20\x20\x20\x64\x6f\x6e\x65\x0a\x7d\x0a\x0a\x6b\x61\x66\x6b\x61\x5f\x75\x70\x28\x29\x20\x7b\x0a\x20\x20\x65\x63\x68\x6f\x20\x22\x6b\x61\x66\x6b\x61\x5f\x75\x70\x3a\x20\x73\x74\x61\x72\x74\x22\x0a\x0a\x20\x20\x77\x68\x69\x6c\x65\x20\x5b\x5b\x20\x24\x23\x20\x2d\x67\x65\x20\x31\x20\x5d\x5d\x3b\x20\x64\x6f\x0a\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x22\x24\x7b\x31\x7d\x22\x20\x69\x6e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x70\x72\x6f\x63\x65\x73\x73\x2e\x72\x6f\x6c\x65\x73\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x72\x6f\x6c\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x6e\x6f\x64\x65\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x6e\x6f\x64\x65\x2e\x69\x64\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x6e\x6f\x64\x65\x5f\x69\x64\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x69\x64\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x6e\x6f\x64\x65\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2e\x71\x75\x6f\x72\x75\x6d\x2e\x76\x6f\x74\x65\x72\x73\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x71\x75\x6f\x72\x75\x6d\x5f\x76\x6f\x74\x65\x72\x73\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x20\x71\x75\x6f\x72\x75\x6d\x20\x76\x6f\x74\x65\x72\x73\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x73\x33\x2e\x72\x65\x67\x69\x6f\x6e\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x73\x33\x5f\x72\x65\x67\x69\x6f\x6e\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x72\x65\x67\x69\x6f\x6e\x73\x20\x6f\x66\x20\x73\x33\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x73\x33\x2e\x62\x75\x63\x6b\x65\x74\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x73\x33\x5f\x62\x75\x63\x6b\x65\x74\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x62\x75\x63\x6b\x65\x74\x20\x6e\x61\x6d\x65\x20\x6f\x66\x20\x73\x33\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x63\x6c\x75\x73\x74\x65\x72\x2e\x69\x64\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x63\x6c\x75\x73\x74\x65\x72\x5f\x69\x64\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x6b\x61\x66\x6b\x61\x20\x63\x6c\x75\x73\x74\x65\x72\x20\x69\x64\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x73\x33\x2e\x61\x63\x63\x65\x73\x73\x2e\x6b\x65\x79\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x73\x33\x5f\x61\x63\x63\x65\x73\x73\x5f\x6b\x65\x79\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x73\x33\x20\x61\x63\x63\x65\x73\x73\x20\x6b\x65\x79\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x73\x33\x2e\x73\x65\x63\x72\x65\x74\x2e\x6b\x65\x79\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x73\x33\x5f\x73\x65\x63\x72\x65\x74\x5f\x6b\x65\x79\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x73\x33\x20\x73\x65\x63\x72\x65\x74\x20\x6b\x65\x79\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x73\x33\x2e\x65\x6e\x64\x70\x6f\x69\x6e\x74\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x73\x33\x5f\x65\x6e\x64\x70\x6f\x69\x6e\x74\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x73\x33\x20\x65\x6e\x64\x70\x6f\x69\x6e\x74\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x2d\x73\x33\x2e\x70\x61\x74\x68\x2e\x73\x74\x79\x6c\x65\x29\x20\x73\x65\x74\x5f\x6f\x6e\x63\x65\x20\x73\x33\x5f\x70\x61\x74\x68\x5f\x73\x74\x79\x6c\x65\x20\x22\x24\x7b\x32\x7d\x22\x20\x22\x73\x33\x20\x70\x61\x74\x68\x20\x73\x74\x79\x6c\x65\x22\x3b\x20\x73\x68\x69\x66\x74\x20\x32\x3b\x3b\x0a\x20\x20\x20\x20\x20\x20\x65\x73\x61\x63\x0a\x20\x20\x64\x6f\x6e\x65\x0a\x0a\x20\x20\x70\x69\x64\x3d\x24\x28\x6a\x63\x6d\x64\x20\x7c\x20\x67\x72\x65\x70\x20\x2d\x65\x20\x6b\x61\x66\x6b\x61\x2e\x4b\x61\x66\x6b\x61\x20\x7c\x20\x61\x77\x6b\x20\x27\x7b\x70\x72\x69\x6e\x74\x20\x24\x31\x7d\x27\x29\x0a\x20\x20\x69\x66\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x70\x69\x64\x7d\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x65\x63\x68\x6f\x20\x22\x6b\x61\x66\x6b\x61\x5f\x75\x70\x3a\x20\x6b\x61\x66\x6b\x61\x20\x69\x73\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x72\x75\x6e\x6e\x69\x6e\x67\x2c\x20\x70\x69\x64\x3d\x24\x7b\x70\x69\x64\x7d\x22\x0a\x20\x20\x20\x20\x20\x20\x65\x78\x69\x74\x20\x30\x0a\x20\x20\x66\x69\x0a\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x6e\x6f\x64\x65\x5f\x69\x64\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x6e\x6f\x64\x65\x5f\x69\x64\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x71\x75\x6f\x72\x75\x6d\x5f\x76\x6f\x74\x65\x72\x73\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x71\x75\x6f\x72\x75\x6d\x5f\x76\x6f\x74\x65\x72\x73\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x73\x33\x5f\x72\x65\x67\x69\x6f\x6e\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x73\x33\x5f\x72\x65\x67\x69\x6f\x6e\x3d\x22\x24\x7b\x41\x57\x53\x5f\x44\x45\x46\x41\x55\x4c\x54\x5f\x52\x45\x47\x49\x4f\x4e\x7d\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x73\x33\x5f\x62\x75\x63\x6b\x65\x74\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x73\x33\x5f\x62\x75\x63\x6b\x65\x74\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x73\x33\x5f\x61\x63\x63\x65\x73\x73\x5f\x6b\x65\x79\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x73\x33\x5f\x61\x63\x63\x65\x73\x73\x5f\x6b\x65\x79\x3d\x22\x24\x7b\x4b\x41\x46\x4b\x41\x5f\x53\x33\x5f\x41\x43\x43\x45\x53\x53\x5f\x4b\x45\x59\x7d\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x73\x33\x5f\x73\x65\x63\x72\x65\x74\x5f\x6b\x65\x79\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x73\x33\x5f\x73\x65\x63\x72\x65\x74\x5f\x6b\x65\x79\x3d\x22\x24\x7b\x4b\x41\x46\x4b\x41\x5f\x53\x33\x5f\x53\x45\x43\x52\x45\x54\x5f\x4b\x45\x59\x7d\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x73\x33\x5f\x65\x6e\x64\x70\x6f\x69\x6e\x74\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x73\x33\x5f\x65\x6e\x64\x70\x6f\x69\x6e\x74\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x73\x33\x5f\x70\x61\x74\x68\x5f\x73\x74\x79\x6c\x65\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x64\x69\x65\x20\x22\x73\x33\x5f\x70\x61\x74\x68\x5f\x73\x74\x79\x6c\x65\x20\x69\x73\x20\x65\x6d\x70\x74\x79\x22\x0a\x20\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x63\x6c\x75\x73\x74\x65\x72\x5f\x69\x64\x7d\x22\x20\x5d\x5d\x20\x7c\x7c\x20\x63\x6c\x75\x73\x74\x65\x72\x5f\x69\x64\x3d\x22\x72\x5a\x64\x45\x30\x44\x6a\x5a\x53\x72\x71\x79\x39\x36\x50\x58\x72\x4d\x55\x5a\x56\x77\x22\x0a\x0a\x20\x20\x66\x6f\x72\x20\x72\x6f\x6c\x65\x20\x69\x6e\x20\x22\x62\x72\x6f\x6b\x65\x72\x22\x20\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x22\x20\x22\x73\x65\x72\x76\x65\x72\x22\x3b\x20\x64\x6f\x0a\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6e\x6f\x64\x65\x2e\x69\x64\x22\x20\x22\x24\x7b\x6e\x6f\x64\x65\x5f\x69\x64\x7d\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x2e\x71\x75\x6f\x72\x75\x6d\x2e\x76\x6f\x74\x65\x72\x73\x22\x20\x22\x24\x7b\x71\x75\x6f\x72\x75\x6d\x5f\x76\x6f\x74\x65\x72\x73\x7d\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x73\x33\x2e\x64\x61\x74\x61\x2e\x62\x75\x63\x6b\x65\x74\x73\x22\x20\x22\x30\x40\x73\x33\x3a\x2f\x2f\x24\x7b\x73\x33\x5f\x62\x75\x63\x6b\x65\x74\x7d\x3f\x72\x65\x67\x69\x6f\x6e\x3d\x24\x7b\x73\x33\x5f\x72\x65\x67\x69\x6f\x6e\x7d\x26\x65\x6e\x64\x70\x6f\x69\x6e\x74\x3d\x24\x7b\x73\x33\x5f\x65\x6e\x64\x70\x6f\x69\x6e\x74\x7d\x26\x61\x75\x74\x68\x54\x79\x70\x65\x3d\x73\x74\x61\x74\x69\x63\x26\x70\x61\x74\x68\x53\x74\x79\x6c\x65\x3d\x24\x7b\x73\x33\x5f\x70\x61\x74\x68\x5f\x73\x74\x79\x6c\x65\x7d\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x73\x33\x2e\x6f\x70\x73\x2e\x62\x75\x63\x6b\x65\x74\x73\x22\x20\x22\x30\x40\x73\x33\x3a\x2f\x2f\x24\x7b\x73\x33\x5f\x62\x75\x63\x6b\x65\x74\x7d\x3f\x72\x65\x67\x69\x6f\x6e\x3d\x24\x7b\x73\x33\x5f\x72\x65\x67\x69\x6f\x6e\x7d\x26\x65\x6e\x64\x70\x6f\x69\x6e\x74\x3d\x24\x7b\x73\x33\x5f\x65\x6e\x64\x70\x6f\x69\x6e\x74\x7d\x26\x61\x75\x74\x68\x54\x79\x70\x65\x3d\x73\x74\x61\x74\x69\x63\x26\x70\x61\x74\x68\x53\x74\x79\x6c\x65\x3d\x24\x7b\x73\x33\x5f\x70\x61\x74\x68\x5f\x73\x74\x79\x6c\x65\x7d\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6c\x6f\x67\x2e\x64\x69\x72\x73\x22\x20\x22\x24\x7b\x64\x61\x74\x61\x5f\x70\x61\x74\x68\x7d\x2f\x6b\x72\x61\x66\x74\x2d\x24\x7b\x72\x6f\x6c\x65\x7d\x2d\x6c\x6f\x67\x73\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x73\x33\x2e\x77\x61\x6c\x2e\x70\x61\x74\x68\x22\x20\x22\x30\x40\x66\x69\x6c\x65\x3a\x2f\x2f\x24\x7b\x64\x61\x74\x61\x5f\x70\x61\x74\x68\x7d\x2f\x77\x61\x6c\x3f\x63\x61\x70\x61\x63\x69\x74\x79\x3d\x32\x31\x34\x37\x34\x38\x33\x36\x34\x38\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x23\x20\x74\x75\x72\x6e\x20\x6f\x6e\x20\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x0a\x20\x20\x20\x20\x20\x20\x74\x75\x72\x6e\x5f\x6f\x6e\x5f\x61\x75\x74\x6f\x5f\x62\x61\x6c\x61\x6e\x63\x65\x72\x20\x22\x24\x7b\x72\x6f\x6c\x65\x7d\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x20\x20\x64\x6f\x6e\x65\x0a\x0a\x20\x20\x69\x66\x20\x5b\x5b\x20\x2d\x6e\x20\x22\x24\x7b\x4b\x41\x46\x4b\x41\x5f\x48\x45\x41\x50\x5f\x4f\x50\x54\x53\x7d\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x6b\x61\x66\x6b\x61\x5f\x68\x65\x61\x70\x5f\x6f\x70\x74\x73\x3d\x22\x24\x7b\x4b\x41\x46\x4b\x41\x5f\x48\x45\x41\x50\x5f\x4f\x50\x54\x53\x7d\x22\x0a\x20\x20\x65\x6c\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x62\x72\x6f\x6b\x65\x72\x22\x20\x7c\x7c\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x73\x65\x72\x76\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x6b\x61\x66\x6b\x61\x5f\x68\x65\x61\x70\x5f\x6f\x70\x74\x73\x3d\x22\x2d\x58\x6d\x73\x31\x67\x20\x2d\x58\x6d\x78\x31\x67\x20\x2d\x58\x58\x3a\x4d\x65\x74\x61\x73\x70\x61\x63\x65\x53\x69\x7a\x65\x3d\x39\x36\x6d\x20\x2d\x58\x58\x3a\x4d\x61\x78\x44\x69\x72\x65\x63\x74\x4d\x65\x6d\x6f\x72\x79\x53\x69\x7a\x65\x3d\x31\x47\x22\x0a\x20\x20\x65\x6c\x69\x66\x20\x5b\x5b\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x3d\x3d\x20\x22\x63\x6f\x6e\x74\x72\x6f\x6c\x6c\x65\x72\x22\x20\x5d\x5d\x3b\x20\x74\x68\x65\x6e\x0a\x20\x20\x20\x20\x20\x20\x6b\x61\x66\x6b\x61\x5f\x68\x65\x61\x70\x5f\x6f\x70\x74\x73\x3d\x22\x2d\x58\x6d\x73\x31\x67\x20\x2d\x58\x6d\x78\x31\x67\x20\x2d\x58\x58\x3a\x4d\x65\x74\x61\x73\x70\x61\x63\x65\x53\x69\x7a\x65\x3d\x39\x36\x6d\x22\x0a\x20\x20\x65\x6c\x73\x65\x0a\x20\x20\x20\x20\x20\x20\x64\x69\x65\x20\x22\x6b\x61\x66\x6b\x61\x5f\x73\x74\x61\x72\x74\x5f\x75\x70\x3a\x20\x75\x6e\x6b\x6e\x6f\x77\x6e\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x72\x6f\x6c\x65\x20\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x0a\x20\x20\x66\x69\x0a\x20\x20\x65\x78\x70\x6f\x72\x74\x20\x4b\x41\x46\x4b\x41\x5f\x48\x45\x41\x50\x5f\x4f\x50\x54\x53\x3d\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x68\x65\x61\x70\x5f\x6f\x70\x74\x73\x7d\x22\x0a\x0a\x20\x20\x23\x20\x61\x64\x64\x20\x74\x68\x69\x73\x20\x6e\x6f\x64\x65\x27\x73\x20\x69\x6e\x66\x6f\x20\x74\x6f\x20\x72\x75\x6e\x2e\x69\x6e\x66\x6f\x0a\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6e\x6f\x64\x65\x2e\x69\x64\x22\x20\x22\x24\x7b\x6e\x6f\x64\x65\x5f\x69\x64\x7d\x22\x20\x22\x24\x7b\x72\x75\x6e\x5f\x69\x6e\x66\x6f\x5f\x66\x69\x6c\x65\x7d\x22\x0a\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x72\x6f\x6c\x65\x22\x20\x22\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x22\x20\x22\x24\x7b\x72\x75\x6e\x5f\x69\x6e\x66\x6f\x5f\x66\x69\x6c\x65\x7d\x22\x0a\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6b\x61\x66\x6b\x61\x2e\x62\x61\x73\x65\x2e\x70\x61\x74\x68\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x22\x20\x22\x24\x7b\x72\x75\x6e\x5f\x69\x6e\x66\x6f\x5f\x66\x69\x6c\x65\x7d\x22\x0a\x20\x20\x73\x65\x74\x75\x70\x5f\x76\x61\x6c\x75\x65\x20\x22\x6b\x61\x66\x6b\x61\x2e\x64\x61\x74\x61\x2e\x70\x61\x74\x68\x22\x20\x22\x24\x7b\x64\x61\x74\x61\x5f\x70\x61\x74\x68\x7d\x22\x20\x22\x24\x7b\x72\x75\x6e\x5f\x69\x6e\x66\x6f\x5f\x66\x69\x6c\x65\x7d\x22\x0a\x0a\x20\x20\x23\x20\x63\x68\x61\x6e\x67\x65\x20\x69\x70\x20\x73\x65\x74\x74\x69\x6e\x67\x73\x20\x68\x65\x72\x65\x0a\x20\x20\x6b\x61\x66\x6b\x61\x5f\x6d\x6f\x6e\x69\x74\x6f\x72\x5f\x69\x70\x0a\x20\x20\x65\x63\x68\x6f\x20\x22\x6b\x61\x66\x6b\x61\x5f\x75\x70\x3a\x20\x69\x70\x20\x73\x65\x74\x74\x69\x6e\x67\x73\x20\x63\x68\x61\x6e\x67\x65\x64\x22\x0a\x0a\x20\x20\x23\x20\x6f\x76\x65\x72\x72\x69\x64\x65\x20\x73\x65\x74\x74\x69\x6e\x67\x73\x20\x66\x72\x6f\x6d\x20\x65\x6e\x76\x0a\x20\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x5f\x66\x72\x6f\x6d\x5f\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x5f\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x0a\x20\x20\x23\x20\x44\x69\x73\x61\x62\x6c\x65\x20\x74\x68\x65\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x63\x6f\x6e\x73\x6f\x6c\x65\x20\x6c\x6f\x67\x67\x65\x72\x20\x69\x6e\x20\x66\x61\x76\x6f\x75\x72\x20\x6f\x66\x20\x4b\x61\x66\x6b\x61\x41\x70\x70\x65\x6e\x64\x65\x72\x20\x28\x77\x68\x69\x63\x68\x20\x70\x72\x6f\x76\x69\x64\x65\x73\x20\x74\x68\x65\x20\x65\x78\x61\x63\x74\x20\x6f\x75\x74\x70\x75\x74\x29\x0a\x20\x20\x65\x63\x68\x6f\x20\x22\x6c\x6f\x67\x34\x6a\x2e\x61\x70\x70\x65\x6e\x64\x65\x72\x2e\x73\x74\x64\x6f\x75\x74\x2e\x54\x68\x72\x65\x73\x68\x6f\x6c\x64\x3d\x4f\x46\x46\x22\x20\x3e\x3e\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6c\x6f\x67\x34\x6a\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x0a\x20\x20\x23\x20\x66\x6f\x72\x6d\x61\x74\x20\x74\x68\x65\x20\x64\x61\x74\x61\x20\x70\x61\x74\x68\x0a\x20\x20\x6d\x75\x73\x74\x5f\x64\x6f\x20\x2d\x76\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x62\x69\x6e\x2f\x6b\x61\x66\x6b\x61\x2d\x73\x74\x6f\x72\x61\x67\x65\x2e\x73\x68\x20\x66\x6f\x72\x6d\x61\x74\x20\x2d\x67\x20\x2d\x74\x20\x24\x7b\x63\x6c\x75\x73\x74\x65\x72\x5f\x69\x64\x7d\x20\x2d\x63\x20\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x0a\x20\x20\x65\x78\x65\x63\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x62\x69\x6e\x2f\x6b\x61\x66\x6b\x61\x2d\x73\x65\x72\x76\x65\x72\x2d\x73\x74\x61\x72\x74\x2e\x73\x68\x22\x20\x22\x24\x7b\x6b\x61\x66\x6b\x61\x5f\x64\x69\x72\x7d\x2f\x63\x6f\x6e\x66\x69\x67\x2f\x6b\x72\x61\x66\x74\x2f\x24\x7b\x70\x72\x6f\x63\x65\x73\x73\x5f\x72\x6f\x6c\x65\x7d\x2e\x70\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x22\x0a\x7d\x0a\x0a\x23\x20\x50\x61\x72\x73\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x2d\x6c\x69\x6e\x65\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x0a\x5b\x5b\x20\x24\x23\x20\x2d\x6c\x74\x20\x31\x20\x5d\x5d\x20\x26\x26\x20\x75\x73\x61\x67\x65\x20\x30\x0a\x23\x20\x44\x69\x73\x70\x6c\x61\x79\x20\x74\x68\x65\x20\x68\x65\x6c\x70\x20\x74\x65\x78\x74\x20\x69\x66\x20\x2d\x68\x20\x6f\x72\x20\x2d\x2d\x68\x65\x6c\x70\x20\x61\x70\x70\x65\x61\x72\x73\x20\x69\x6e\x20\x74\x68\x65\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x20\x6c\x69\x6e\x65\x0a\x66\x6f\x72\x20\x61\x72\x67\x20\x69\x6e\x20\x22\x24\x7b\x40\x7d\x22\x3b\x20\x64\x6f\x0a\x20\x20\x63\x61\x73\x65\x20\x22\x24\x7b\x61\x72\x67\x7d\x22\x20\x69\x6e\x0a\x20\x20\x2d\x68\x20\x7c\x20\x2d\x2d\x68\x65\x6c\x70\x29\x20\x75\x73\x61\x67\x65\x20\x30\x20\x3b\x3b\x0a\x20\x20\x2d\x2d\x29\x20\x62\x72\x65\x61\x6b\x20\x3b\x3b\x0a\x20\x20\x2a\x29\x20\x3b\x3b\x0a\x20\x20\x65\x73\x61\x63\x0a\x64\x6f\x6e\x65\x0a\x61\x63\x74\x69\x6f\x6e\x3d\x22\x24\x7b\x31\x7d\x22\x0a\x73\x68\x69\x66\x74\x0a\x63\x61\x73\x65\x20\x22\x24\x7b\x61\x63\x74\x69\x6f\x6e\x7d\x22\x20\x69\x6e\x0a\x68\x65\x6c\x70\x29\x20\x75\x73\x61\x67\x65\x20\x30\x20\x3b\x3b\x0a\x0a\x75\x70\x29\x0a\x20\x20\x6b\x61\x66\x6b\x61\x5f\x22\x24\x7b\x61\x63\x74\x69\x6f\x6e\x7d\x22\x20\x22\x24\x7b\x40\x7d\x22\x0a\x20\x20\x65\x78\x69\x74\x20\x30\x0a\x20\x20\x3b\x3b\x0a\x0a\x2a\x29\x0a\x20\x20\x65\x63\x68\x6f\x20\x22\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x20\x27\x24\x7b\x61\x63\x74\x69\x6f\x6e\x7d\x27\x2e\x20\x20\x54\x79\x70\x65\x20\x27\x24\x7b\x73\x63\x72\x69\x70\x74\x5f\x70\x61\x74\x68\x7d\x20\x2d\x2d\x68\x65\x6c\x70\x27\x20\x66\x6f\x72\x20\x75\x73\x61\x67\x65\x20\x69\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e\x2e\x22\x0a\x20\x20\x65\x78\x69\x74\x20\x31\x0a\x20\x20\x3b\x3b\x0a\x65\x73\x61\x63\x0a" func defaultsUpShBytes() ([]byte, error) { return bindataRead( @@ -82,7 +82,7 @@ func defaultsUpSh() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "defaults/up.sh", size: 12265, mode: os.FileMode(420), modTime: time.Unix(1728116494, 0)} + info := bindataFileInfo{name: "defaults/up.sh", size: 12068, mode: os.FileMode(420), modTime: time.Unix(1728819272, 0)} a := &asset{bytes: bytes, info: info} return a, nil }