1669235777
AwuilbDvXz%3Aa3d429d347a190e48f8b25b9e931be13-cfa1dc447fb3019c59369fcd4610569a
s:401756:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxMjp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDA6IlB1bGwgZGF0YSBmcm9tIFNhbGVzZm9yY2UgaW50byBXb3JkUHJlc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czo1OiJjbGFzcyI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzA6Ik9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xHZW5lcmljIjoyOntzOjc6IgAqAG5hbWUiO3M6NzoicGFja2FnZSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjI6Ik9iamVjdF9TeW5jX1NhbGVzZm9yY2UiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6ImNmYTFkYzQ0N2ZiMzAxOWM1OTM2OWZjZDQ2MTA1NjlhIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWUiO3M6NDA6ImNsYXNzLW9iamVjdC1zeW5jLXNmLXNhbGVzZm9yY2UtcHVsbC5waHAiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo0ODoiY2xhc3Nlcy9jbGFzcy1vYmplY3Qtc3luYy1zZi1zYWxlc2ZvcmNlLXB1bGwucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czoxMDAxNjM6Ijw/cGhwCi8qKgogKiBQdWxsIGRhdGEgZnJvbSBTYWxlc2ZvcmNlIGludG8gV29yZFByZXNzCiAqCiAqIEBjbGFzcyAgIE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbAogKiBAcGFja2FnZSBPYmplY3RfU3luY19TYWxlc2ZvcmNlCiAqLwoKZGVmaW5lZCggJ0FCU1BBVEgnICkgfHwgZXhpdDsKCi8qKgogKiBPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGwgY2xhc3MuCiAqLwpjbGFzcyBPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGwgewoKCS8qKgoJICogQ3VycmVudCB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4KCSAqCgkgKiBAdmFyIHN0cmluZwoJICovCglwdWJsaWMgJHZlcnNpb247CgoJLyoqCgkgKiBUaGUgbWFpbiBwbHVnaW4gZmlsZQoJICoKCSAqIEB2YXIgc3RyaW5nCgkgKi8KCXB1YmxpYyAkZmlsZTsKCgkvKioKCSAqIEdsb2JhbCBvYmplY3Qgb2YgYCR3cGRiYCwgdGhlIFdvcmRQcmVzcyBkYXRhYmFzZQoJICoKCSAqIEB2YXIgb2JqZWN0CgkgKi8KCXB1YmxpYyAkd3BkYjsKCgkvKioKCSAqIFRoZSBwbHVnaW4ncyBzbHVnIHNvIHdlIGNhbiBpbmNsdWRlIGl0IHdoZW4gbmVjZXNzYXJ5CgkgKgoJICogQHZhciBzdHJpbmcKCSAqLwoJcHVibGljICRzbHVnOwoKCS8qKgoJICogVGhlIHBsdWdpbidzIHByZWZpeCB3aGVuIHNhdmluZyBvcHRpb25zIHRvIHRoZSBkYXRhYmFzZQoJICoKCSAqIEB2YXIgc3RyaW5nCgkgKi8KCXB1YmxpYyAkb3B0aW9uX3ByZWZpeDsKCgkvKioKCSAqIExvZ2luIGNyZWRlbnRpYWxzIGZvciB0aGUgU2FsZXNmb3JjZSBBUEk7IGNvbWVzIGZyb20gd3AtY29uZmlnIG9yIGZyb20gdGhlIHBsdWdpbiBzZXR0aW5ncwoJICoKCSAqIEB2YXIgYXJyYXkKCSAqLwoJcHVibGljICRsb2dpbl9jcmVkZW50aWFsczsKCgkvKioKCSAqIEFycmF5IG9mIHdoYXQgY2xhc3NlcyBpbiB0aGUgcGx1Z2luIGNhbiBiZSBzY2hlZHVsZWQgdG8gb2NjdXIgd2l0aCBgd3BfY3JvbmAgZXZlbnRzCgkgKgoJICogQHZhciBhcnJheQoJICovCglwdWJsaWMgJHNjaGVkdWxhYmxlX2NsYXNzZXM7CgoJLyoqCgkgKiBPYmplY3RfU3luY19TZl9RdWV1ZSBjbGFzcwoJICoKCSAqIEB2YXIgb2JqZWN0CgkgKi8KCXB1YmxpYyAkcXVldWU7CgoJLyoqCgkgKiBPYmplY3RfU3luY19TZl9Mb2dnaW5nIGNsYXNzCgkgKgoJICogQHZhciBvYmplY3QKCSAqLwoJcHVibGljICRsb2dnaW5nOwoKCS8qKgoJICogT2JqZWN0X1N5bmNfU2ZfTWFwcGluZyBjbGFzcwoJICoKCSAqIEB2YXIgb2JqZWN0CgkgKi8KCXB1YmxpYyAkbWFwcGluZ3M7CgoJLyoqCgkgKiBPYmplY3RfU3luY19TZl9Xb3JkUHJlc3MgY2xhc3MKCSAqCgkgKiBAdmFyIG9iamVjdAoJICovCglwdWJsaWMgJHdvcmRwcmVzczsKCgkvKioKCSAqIE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2UgY2xhc3MKCSAqIFRoaXMgY29udGFpbnMgU2FsZXNmb3JjZSBBUEkgbWV0aG9kcwoJICoKCSAqIEB2YXIgYXJyYXkKCSAqLwoJcHVibGljICRzYWxlc2ZvcmNlOwoKCS8qKgoJICogT2JqZWN0X1N5bmNfU2ZfUHVsbF9PcHRpb25zIGNsYXNzCgkgKgoJICogQHZhciBvYmplY3QKCSAqLwoJcHVibGljICRwdWxsX29wdGlvbnM7CgoJLyoqCgkgKiBUaGUgbmFtZSBvZiB0aGUgQWN0aW9uU2NoZWR1bGVyIHF1ZXVlCgkgKgoJICogQHZhciBzdHJpbmcKCSAqLwoJcHVibGljICRzY2hlZHVsZV9uYW1lOwoKCS8qKgoJICogV2hldGhlciB0byBiYXRjaCBTT1FMIHF1ZXJpZXMKCSAqCgkgKiBAdmFyIGJvb2wKCSAqLwoJcHJpdmF0ZSAkYmF0Y2hfc29xbF9xdWVyaWVzOwoKCS8qKgoJICogTWluaW11bSBzaXplIG9mIGEgU09RTCBiYXRjaAoJICoKCSAqIEB2YXIgaW50CgkgKi8KCXByaXZhdGUgJG1pbl9zb3FsX2JhdGNoX3NpemU7CgoJLyoqCgkgKiBNYXhpbXVtIHNpemUgb2YgYSBTT1FMIGJhdGNoCgkgKgoJICogQHZhciBpbnQKCSAqLwoJcHJpdmF0ZSAkbWF4X3NvcWxfc2l6ZTsKCgkvKioKCSAqIFR5cGVzIG9mIFNhbGVzZm9yY2UgcmVjb3JkcyB0aGF0IGNhbiBiZSBtZXJnZWQKCSAqCgkgKiBAdmFyIGFycmF5CgkgKi8KCXB1YmxpYyAkbWVyZ2VhYmxlX3JlY29yZF90eXBlczsKCgkvKioKCSAqIFdoZXRoZXIgdGhlIHBsdWdpbiBpcyBpbiBkZWJ1ZyBtb2RlCgkgKgoJICogQHZhciBzdHJpbmcKCSAqLwoJcHVibGljICRkZWJ1ZzsKCgkvKioKCSAqIENvbnN0cnVjdG9yIGZvciBwdWxsIGNsYXNzCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsKCQkkdGhpcy0+dmVyc2lvbiAgICAgICAgICAgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPnZlcnNpb247CgkJJHRoaXMtPmZpbGUgICAgICAgICAgICAgICAgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5maWxlOwoJCSR0aGlzLT53cGRiICAgICAgICAgICAgICAgID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+d3BkYjsKCQkkdGhpcy0+c2x1ZyAgICAgICAgICAgICAgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPnNsdWc7CgkJJHRoaXMtPm9wdGlvbl9wcmVmaXggICAgICAgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5vcHRpb25fcHJlZml4OwoJCSR0aGlzLT5sb2dpbl9jcmVkZW50aWFscyAgID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+bG9naW5fY3JlZGVudGlhbHM7CgkJJHRoaXMtPnNjaGVkdWxhYmxlX2NsYXNzZXMgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5zY2hlZHVsYWJsZV9jbGFzc2VzOwoKCQkkdGhpcy0+cXVldWUgICAgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPnF1ZXVlOwoJCSR0aGlzLT5sb2dnaW5nICAgID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+bG9nZ2luZzsKCQkkdGhpcy0+bWFwcGluZ3MgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPm1hcHBpbmdzOwoJCSR0aGlzLT53b3JkcHJlc3MgID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+d29yZHByZXNzOwoJCSR0aGlzLT5zYWxlc2ZvcmNlID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+c2FsZXNmb3JjZTsKCgkJJHRoaXMtPnB1bGxfb3B0aW9ucyA9IG5ldyBPYmplY3RfU3luY19TZl9QdWxsX09wdGlvbnMoKTsKCgkJJHRoaXMtPnNjaGVkdWxlX25hbWUgPSAnc2FsZXNmb3JjZV9wdWxsJzsKCgkJLy8gVG8gYmUgY2xlYXI6IHdlIHNob3VsZCBvbmx5IGV2ZXIgc2V0IHRoaXMgdG8gdHJ1ZSBpZiBTYWxlc2ZvcmNlIGFjdHVhbGx5IHN0YXJ0cyB0byByZWxpYWJseSBzdXBwb3J0IGl0IGluc3RlYWQgb2YgZ2VuZXJhbGx5IGlnbm9yaW5nIGl0LgoJCSR0aGlzLT5iYXRjaF9zb3FsX3F1ZXJpZXMgPSAkdGhpcy0+YmF0Y2hfc29xbF9xdWVyaWVzKCBmYWxzZSApOwoKCQkvLyBNYXhpbXVtIG9mZnNldCBzaXplIGZvciBhIFNPUUwgcXVlcnkgdG8gU2FsZXNmb3JjZQoJCS8vIFNlZTogaHR0cHM6Ly9kZXZlbG9wZXIuc2FsZXNmb3JjZS5jb20vZG9jcy9hdGxhcy5lbi11cy5zb3FsX3Nvc2wubWV0YS9zb3FsX3Nvc2wvc2ZvcmNlX2FwaV9jYWxsc19zb3FsX3NlbGVjdF9vZmZzZXQuaHRtCgkJLy8gRnJvbSBTYWxlc2ZvcmNlOiAiVGhlIG1heGltdW0gb2Zmc2V0IGlzIDIsMDAwIHJvd3MuIFJlcXVlc3RpbmcgYW4gb2Zmc2V0IGdyZWF0ZXIgdGhhbiAyLDAwMCByZXN1bHRzIGluIGEgTlVNQkVSX09VVFNJREVfVkFMSURfUkFOR0UgZXJyb3IuIi4KCQkkdGhpcy0+bWluX3NvcWxfYmF0Y2hfc2l6ZSA9IDIwMDsgLy8gYmF0Y2hlcyBjYW5ub3QgYmUgc21hbGxlciB0aGFuIDIwMCByZWNvcmRzLgoJCSR0aGlzLT5tYXhfc29xbF9zaXplICAgICAgID0gMjAwMDsKCgkJJHRoaXMtPm1lcmdlYWJsZV9yZWNvcmRfdHlwZXMgPSBhcnJheSggJ0xlYWQnLCAnQ29udGFjdCcsICdBY2NvdW50JyApOwoKCQkvLyBDcmVhdGUgYWN0aW9uIGhvb2tzIGZvciBXb3JkUHJlc3Mgb2JqZWN0cy4gV2UgcnVuIHRoaXMgYWZ0ZXIgcGx1Z2lucyBhcmUgbG9hZGVkIGluIGNhc2Ugc29tZXRoaW5nIGRlcGVuZHMgb24gYW5vdGhlciBwbHVnaW4uCgkJYWRkX2FjdGlvbiggJ3BsdWdpbnNfbG9hZGVkJywgYXJyYXkoICR0aGlzLCAnYWRkX2FjdGlvbnMnICkgKTsKCgkJLy8gZGVwcmVjYXRlZCBhY3Rpb25zLgoJCSR0aGlzLT5kZXByZWNhdGVkX2FjdGlvbnMoKTsKCgkJJHRoaXMtPmRlYnVnID0gZ2V0X29wdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAnZGVidWdfbW9kZScsIGZhbHNlICk7CgkJJHRoaXMtPmRlYnVnID0gZmlsdGVyX3ZhciggJHRoaXMtPmRlYnVnLCBGSUxURVJfVkFMSURBVEVfQk9PTEVBTiApOwoKCX0KCgkvKioKCSAqIFdoZXRoZXIgdG8gdXNlIHRoZSBiYXRjaFNpemUgcGFyYW1ldGVyIG9uIFNPUUwgcXVlcmllcwoJICoKCSAqIEBwYXJhbSBib29sICRiYXRjaF9zb3FsX3F1ZXJpZXMgd2hldGhlciB0byBiYXRjaCB0aGUgcXVlcmllcy4KCSAqIEByZXR1cm4gYm9vbCAkYmF0Y2hfc29xbF9xdWVyaWVzCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gYmF0Y2hfc29xbF9xdWVyaWVzKCAkYmF0Y2hfc29xbF9xdWVyaWVzICkgewoJCS8vIGFzIG9mIHZlcnNpb24gMzQuMCwgdGhlIFNhbGVzZm9yY2UgUkVTVCBBUEkgYWNjZXB0cyBhIGJhdGNoU2l6ZSBvcHRpb24gb24gdGhlIFNmb3JjZS1DYWxsLU9wdGlvbnMgaGVhZGVyLgoJCWlmICggdmVyc2lvbl9jb21wYXJlKCAkdGhpcy0+bG9naW5fY3JlZGVudGlhbHNbJ3Jlc3RfYXBpX3ZlcnNpb24nXSwgJzM0LjAnLCAnPCcgKSApIHsKCQkJJGJhdGNoX3NvcWxfcXVlcmllcyA9IGZhbHNlOwoJCX0KCQkvLyBvdGhlcndpc2UsIHJldHVybiB3aGF0ZXZlciB0aGUgcGx1Z2luJ3MgZGVmYXVsdCB2YWx1ZSBpcy4KCQkvLyB0aGlzIGFsbG93cyB1cyB0byBkZWNpZGUgdG8gc3VwcG9ydCBxdWVyeSBiYXRjaGluZyBpZiBpdCBpcyBldmVyIG5vdCBhYnN1cmRseSBiYWQuCgkJcmV0dXJuICRiYXRjaF9zb3FsX3F1ZXJpZXM7Cgl9CgoJLyoqCgkgKiBDcmVhdGUgdGhlIGFjdGlvbiBob29rcyBiYXNlZCBvbiB3aGF0IG9iamVjdCBtYXBzIGV4aXN0IGZyb20gdGhlIGFkbWluIHNldHRpbmdzCgkgKiByb3V0ZSBpcyBodHRwOi8vZXhhbXBsZS5jb20vd3AtanNvbi9zYWxlc2ZvcmNlLXJlc3QtYXBpL3B1bGwvIHBsdXMgcGFyYW1zIHdlIGRlY2lkZSB0byBhY2NlcHQuCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBhZGRfYWN0aW9ucygpIHsKCgkJLy8gYWpheCBob29rLgoJCWFkZF9hY3Rpb24oICd3cF9hamF4X3NhbGVzZm9yY2VfcHVsbF93ZWJob29rJywgYXJyYXkoICR0aGlzLCAnc2FsZXNmb3JjZV9wdWxsX3dlYmhvb2snICkgKTsKCgkJLy8gYWN0aW9uLXNjaGVkdWxlciBuZWVkcyB0d28gaG9va3M6IG9uZSB0byBjaGVjayBmb3IgcmVjb3JkcywgYW5kIG9uZSB0byBwcm9jZXNzIHRoZW0uCgkJYWRkX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9jaGVja19yZWNvcmRzJywgYXJyYXkoICR0aGlzLCAnc2FsZXNmb3JjZV9wdWxsJyApLCAxMCApOwoJCWFkZF9hY3Rpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfcHJvY2Vzc19yZWNvcmRzJywgYXJyYXkoICR0aGlzLCAnc2FsZXNmb3JjZV9wdWxsX3Byb2Nlc3NfcmVjb3JkcycgKSwgMTAsIDMgKTsKCX0KCgkvKioKCSAqIERlcHJlY2F0ZWQgYWN0aW9ucwoJICovCglwdWJsaWMgZnVuY3Rpb24gZGVwcmVjYXRlZF9hY3Rpb25zKCkgewoJCS8vIHByZXZpb3VzIG9wdGlvbiBuYW1lcy4KCQlhZGRfZmlsdGVyKCAnb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2VfcHVsbF9vcHRpb25fbGVnYWN5X2tleScsIGFycmF5KCAkdGhpcywgJ2RlcHJlY2F0ZWRfcHVsbF9vcHRpb25fbmFtZXMnICksIDEwLCAyICk7Cgl9CgoJLyoqCgkgKiBNb2RpZnkgbGVnYWN5IG5hbWVkIGluZGl2aWR1YWwgb3B0aW9uIHJlY29yZHMgZm9yIHN5bmMgb3BlcmF0aW9ucwoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJGtleSB0aGUgcGx1Z2luJ3Mgc3VnZ2VzdGVkIGtleSBuYW1lLgoJICogQHBhcmFtIGFycmF5ICAkcGFyYW1zIHRoZSBhcnJheSBvZiBwYXJhbWV0ZXJzIHRvIG1ha2UgdGhlIGtleS4KCSAqIEByZXR1cm4gbWl4ZWQgJHZhbHVlIHRoZSB2YWx1ZSBvZiB0aGUgaXRlbS4gRmFsc2UgaWYgaXQncyBlbXB0eS4KCSAqLwoJcHVibGljIGZ1bmN0aW9uIGRlcHJlY2F0ZWRfcHVsbF9vcHRpb25fbmFtZXMoICRrZXksICRwYXJhbXMgKSB7CgkJaWYgKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX2xhc3RfaWQnID09PSAka2V5ICkgewoJCQkka2V5ID0gJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAnbGFzdF9wdWxsX2lkJzsKCQl9CgkJaWYgKCBpc3NldCggJHBhcmFtc1snb2JqZWN0X3R5cGUnXSApICkgewoJCQlpZiAoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfY3VycmVudF9xdWVyeV8nIC4gJHBhcmFtc1snb2JqZWN0X3R5cGUnXSA9PT0gJGtleSApIHsKCQkJCSRrZXkgPSAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdjdXJyZW50bHlfcHVsbGluZ19xdWVyeV8nIC4gJHBhcmFtc1snb2JqZWN0X3R5cGUnXTsKCQkJfQoJCX0KCQlyZXR1cm4gJGtleTsKCX0KCgkvKioKCSAqIFJFU1QgQVBJIGNhbGxiYWNrIGZvciBzYWxlc2ZvcmNlIHB1bGwuIFJldHVybnMgc3RhdHVzIG9mIDIwMCBmb3Igc3VjY2Vzc2Z1bAoJICogYXR0ZW1wdCBvciA0MDMgZm9yIGEgZmFpbGVkIHB1bGwgYXR0ZW1wdCAoU0Ygbm90IGF1dGhvcml6ZWQsIHRocmVzaGhvbGQKCSAqIHJlYWNoZWQsIGV0Yy4KCSAqCgkgKiBAcGFyYW0gV1BfUkVTVF9SZXF1ZXN0ICRyZXF1ZXN0IFRoaXMgaXMgYSBtZXJnZWQgb2JqZWN0IG9mIGFsbCB0aGUgYXJndW1lbnRzIGZyb20gdGhlIEFQSSByZXF1ZXN0LgoJICogQHJldHVybiBhcnJheQoJICogY29kZTogMjAxCgkgKiBkYXRhOgoJICogICBzdWNjZXNzIDogdHJ1ZQoJICovCglwdWJsaWMgZnVuY3Rpb24gc2FsZXNmb3JjZV9wdWxsX3dlYmhvb2soIFdQX1JFU1RfUmVxdWVzdCAkcmVxdWVzdCApIHsKCgkJLy8gcnVuIGEgcHVsbCByZXF1ZXN0IGFuZCB0aGVuIHJ1biB0aGUgc2NoZWR1bGUgaWYgYW55dGhpbmcgaXMgaW4gdGhlcmUuCgkJJGRhdGEgPSAkdGhpcy0+c2FsZXNmb3JjZV9wdWxsKCk7CgoJCS8vIHNhbGVzZm9yY2VfcHVsbCBjdXJyZW50bHkgcmV0dXJucyB0cnVlIGlmIGl0IHJ1bnMgc3VjY2Vzc2Z1bGx5LgoJCWlmICggdHJ1ZSA9PT0gJGRhdGEgKSB7CgkJCSRjb2RlID0gJzIwMSc7CgkJCS8vIGNoZWNrIHRvIHNlZSBpZiBhbnl0aGluZyBpcyBpbiB0aGUgcXVldWUgYW5kIGhhbmRsZSBpdCBpZiBpdCBpcwoJCQkvLyBzaW5nbGUgdGFzayBmb3IgYWN0aW9uLXNjaGVkdWxlciB0byBjaGVjayBmb3IgZGF0YS4KCQkJJHRoaXMtPnF1ZXVlLT5hZGQoCgkJCQkkdGhpcy0+c2NoZWR1bGFibGVfY2xhc3Nlc1sgJHRoaXMtPnNjaGVkdWxlX25hbWUgXVsnaW5pdGlhbGl6ZXInXSwKCQkJCWFycmF5KCksCgkJCQkkdGhpcy0+c2NoZWR1bGVfbmFtZQoJCQkpOwoJCX0gZWxzZSB7CgkJCSRjb2RlID0gJzQwMyc7CgkJfQoKCQkkcmVzdWx0ID0gYXJyYXkoCgkJCSdjb2RlJyA9PiAkY29kZSwKCQkJJ2RhdGEnID0+IGFycmF5KAoJCQkJJ3N1Y2Nlc3MnID0+ICRkYXRhLAoJCQkpLAoJCSk7CgoJCXJldHVybiAkcmVzdWx0OwoKCX0KCgkvKioKCSAqIENhbGxiYWNrIGZvciB0aGUgc3RhbmRhcmQgcHVsbCBwcm9jZXNzIHVzZWQgYnkgd2ViaG9va3MgYW5kIGNyb24uCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBzYWxlc2ZvcmNlX3B1bGwoKSB7CgkJJHNmYXBpID0gJHRoaXMtPnNhbGVzZm9yY2VbJ3NmYXBpJ107CgoJCWlmICggdHJ1ZSA9PT0gJHRoaXMtPnNhbGVzZm9yY2VbJ2lzX2F1dGhvcml6ZWQnXSAmJiB0cnVlID09PSAkdGhpcy0+Y2hlY2tfdGhyb3R0bGUoKSApIHsKCgkJCSR0aGlzLT5nZXRfdXBkYXRlZF9yZWNvcmRzKCk7CgkJCSR0aGlzLT5nZXRfbWVyZ2VkX3JlY29yZHMoKTsKCQkJJHRoaXMtPmdldF9kZWxldGVkX3JlY29yZHMoKTsKCgkJCS8vIFN0b3JlIHRoaXMgcmVxdWVzdCB0aW1lIGZvciB0aGUgdGhyb3R0bGUgY2hlY2suCgkJCSR0aGlzLT5wdWxsX29wdGlvbnMtPnNldCggJ2xhc3Rfc3luYycsICcnLCAnJywgdGltZSgpICk7CgkJCXJldHVybiB0cnVlOwoKCQl9IGVsc2UgewoJCQkvLyBObyBwdWxsIGhhcHBlbmVkLgoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfQoKCS8qKgoJICogRGV0ZXJtaW5lcyBpZiB0aGUgU2FsZXNmb3JjZSBwdWxsIHNob3VsZCBiZSBhbGxvd2VkLCBvciB0aHJvdHRsZWQuCgkgKiBQcmV2ZW50cyB0b28gbWFueSBwdWxsIHByb2Nlc3NlcyBmcm9tIHJ1bm5pbmcgYXQgb25jZS4KCSAqCgkgKiBAcmV0dXJuIGJvb2wgUmV0dXJucyBmYWxzZSBpZiB0aGUgdGltZSBlbGFwc2VkIGJldHdlZW4gcmVjZW50IHB1bGxzIGlzIHRvbyBzaG9ydC4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBjaGVja190aHJvdHRsZSgpIHsKCQkkcHVsbF90aHJvdHRsZSA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ3Rocm90dGxlJywgJycsICcnLCA1ICk7CgkJJGxhc3Rfc3luYyAgICAgPSAkdGhpcy0+cHVsbF9vcHRpb25zLT5nZXQoICdsYXN0X3N5bmMnLCAnJywgJycsIDAgKTsKCgkJaWYgKCB0aW1lKCkgPiAoICRsYXN0X3N5bmMgKyAkcHVsbF90aHJvdHRsZSApICkgewoJCQlyZXR1cm4gdHJ1ZTsKCQl9IGVsc2UgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfQoKCS8qKgoJICogUHVsbCB1cGRhdGVkIHJlY29yZHMgZnJvbSBTYWxlc2ZvcmNlIGFuZCBwbGFjZSB0aGVtIGluIHRoZSBxdWV1ZS4KCSAqIEV4ZWN1dGVzIGEgU09RTCBxdWVyeSBiYXNlZCBvbiBkZWZpbmVkIG1hcHBpbmdzLCBsb29wcyB0aHJvdWdoIHRoZSByZXN1bHRzLAoJICogYW5kIHBsYWNlcyBlYWNoIHVwZGF0ZWQgU0Ygb2JqZWN0IGludG8gdGhlIHF1ZXVlIGZvciBsYXRlciBwcm9jZXNzaW5nLgoJICogV2UgY29weSB0aGUgY29udmVudGlvbiBmcm9tIHRoZSBEcnVwYWwgbW9kdWxlIGhlcmUsIGFuZCBydW4gYSBzZXBhcmF0ZSBTT1FMIHF1ZXJ5IGZvciBlYWNoIHR5cGUgb2Ygb2JqZWN0IGluIFNGCgkgKiBJZiB3ZSByZXR1cm4gc29tZXRoaW5nIGhlcmUsIGl0J3MgYmVjYXVzZSB0aGVyZSBpcyBhbiBlcnJvci4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBnZXRfdXBkYXRlZF9yZWNvcmRzKCkgewoJCSRzZmFwaSA9ICR0aGlzLT5zYWxlc2ZvcmNlWydzZmFwaSddOwoJCWZvcmVhY2ggKCAkdGhpcy0+bWFwcGluZ3MtPmdldF9maWVsZG1hcHMoIG51bGwsICR0aGlzLT5tYXBwaW5ncy0+YWN0aXZlX2ZpZWxkbWFwX2NvbmRpdGlvbnMgKSBhcyAkc2FsZXNmb3JjZV9tYXBwaW5nICkgewoJCQkkbWFwX3N5bmNfdHJpZ2dlcnMgPSAkc2FsZXNmb3JjZV9tYXBwaW5nWydzeW5jX3RyaWdnZXJzJ107IC8vIHRoaXMgc2V0cyB3aGljaCBTYWxlc2ZvcmNlIHRyaWdnZXJzIGFyZSBhbGxvd2VkIGZvciB0aGUgbWFwcGluZy4KCQkJJHR5cGUgICAgICAgICAgICAgID0gJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXTsgLy8gdGhpcyBzZXRzIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlIGZvciB0aGUgU09RTCBxdWVyeS4KCgkJCSRzb3FsID0gJHRoaXMtPmdldF9wdWxsX3F1ZXJ5KCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZyApOwoKCQkJLy8gZ2V0X3B1bGxfcXVlcnkgcmV0dXJucyBudWxsIGlmIGl0IGhhcyBubyBtYXRjaGluZyBmaWVsZHMuCgkJCWlmICggbnVsbCA9PT0gJHNvcWwgKSB7CgkJCQljb250aW51ZTsKCQkJfQoKCQkJLy8gd2UgZG9uJ3Qgd2FudCB0byBjYWNoZSB0aGlzIGJlY2F1c2UgdGltZXN0YW1wcy4KCQkJJHF1ZXJ5X29wdGlvbnMgPSBhcnJheSgKCQkJCSdjYWNoZScgPT4gZmFsc2UsCgkJCSk7CgoJCQkvLyBpZiB3ZSBhcmUgYmF0Y2hpbmcgc29xbCBxdWVyaWVzLCBsZXQncyBkbyBpdC4KCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+YmF0Y2hfc29xbF9xdWVyaWVzICkgewoJCQkJLy8gcHVsbCBxdWVyeSBiYXRjaCBzaXplIG9wdGlvbiBuYW1lLgoJCQkJJHB1bGxfcXVlcnlfYmF0Y2hfc2l6ZSA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ3F1ZXJ5X2JhdGNoX3NpemUnLCAnJywgJycsICcnICk7CgkJCQlpZiAoICcnICE9PSAkcHVsbF9xdWVyeV9iYXRjaF9zaXplICkgewoJCQkJCSRiYXRjaF9zaXplID0gZmlsdGVyX3ZhciggJHRoaXMtPnB1bGxfb3B0aW9ucy0+Z2V0KCAncXVlcnlfYmF0Y2hfc2l6ZScsICcnLCAnJywgJHRoaXMtPm1pbl9zb3FsX2JhdGNoX3NpemUgKSwgRklMVEVSX1ZBTElEQVRFX0lOVCApOwoJCQkJfSBlbHNlIHsKCQkJCQkvLyBvbGQgbGltaXQgdmFsdWUuCgkJCQkJLy8gRGVwcmVjYXRlZCBpbiAyLjAuMy4KCQkJCQkkYmF0Y2hfc2l6ZSA9IGZpbHRlcl92YXIoICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ3F1ZXJ5X2xpbWl0JywgJycsICcnLCAkdGhpcy0+bWluX3NvcWxfYmF0Y2hfc2l6ZSApLCBGSUxURVJfVkFMSURBVEVfSU5UICk7CgkJCQl9CgkJCQkkYmF0Y2hfc2l6ZSA9IGZpbHRlcl92YXIoCgkJCQkJJGJhdGNoX3NpemUsCgkJCQkJRklMVEVSX1ZBTElEQVRFX0lOVCwKCQkJCQlhcnJheSgKCQkJCQkJJ29wdGlvbnMnID0+IGFycmF5KAoJCQkJCQkJJ21pbl9yYW5nZScgPT4gJHRoaXMtPm1pbl9zb3FsX2JhdGNoX3NpemUsCgkJCQkJCQknbWF4X3JhbmdlJyA9PiAkdGhpcy0+bWF4X3NvcWxfc2l6ZSwKCQkJCQkJKSwKCQkJCQkpCgkJCQkpOwoJCQkJaWYgKCBmYWxzZSAhPT0gJGJhdGNoX3NpemUgKSB7CgkJCQkJLy8gdGhlIFNmb3JjZS1RdWVyeS1PcHRpb25zIGhlYWRlciBpcyBhIGNvbW1hIGRlbGltaXRlZCBzdHJpbmcuCgkJCQkJJHF1ZXJ5X29wdGlvbnNbJ2hlYWRlcnMnXVsnU2ZvcmNlLVF1ZXJ5LU9wdGlvbnMnXSA9ICdiYXRjaFNpemU9JyAuICRiYXRjaF9zaXplOwoJCQkJfQoJCQl9CgoJCQkvLyBydW4gdGhlIF9fdG9TdHJpbmcgbWV0aG9kIHRvIGNvbnZlcnQgdGhlIFNPUUwgcXVlcnkgb2JqZWN0IHRvIGEgc3RyaW5nLgoJCQkkc29xbF9zdHJpbmcgPSAoc3RyaW5nKSAkc29xbDsKCgkJCS8vIGFkZCBhIGZpbHRlciBoZXJlIHRvIG1vZGlmeSB0aGUgcXVlcnkgb25jZSBpdCdzIGEgc3RyaW5nLgoJCQkvLyBIb29rIHRvIGFsbG93IG90aGVyIHBsdWdpbnMgdG8gbW9kaWZ5IHRoZSBTT1FMIHF1ZXJ5IGJlZm9yZSBpdCBpcyBzZW50IHRvIFNhbGVzZm9yY2UuCgkJCSRzb3FsX3N0cmluZyA9IGFwcGx5X2ZpbHRlcnMoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfcXVlcnlfc3RyaW5nX21vZGlmeScsICRzb3FsX3N0cmluZywgJHNvcWwsICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgoJCQkvLyBxdWljayBleGFtcGxlIHRvIGNoYW5nZSB0aGUgb3JkZXIgdG8gZGVzY2VuZGluZyBvbmNlIHRoZSBxdWVyeSBpcyBhbHJlYWR5IGEgc3RyaW5nLgoJCQkvKiAvLyBwaHBjczppZ25vcmUgU3F1aXouUEhQLkNvbW1lbnRlZE91dENvZGUuRm91bmQKCQkJYWRkX2ZpbHRlciggJ29iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlX3B1bGxfcXVlcnlfc3RyaW5nX21vZGlmeScsICdjaGFuZ2VfcHVsbF9xdWVyeScsIDEwLCA0ICk7CgkJCS8vIGNhbiBhbHdheXMgcmVkdWNlIHRoaXMgbnVtYmVyIGlmIGFsbCB0aGUgYXJndW1lbnRzIGFyZSBub3QgbmVjZXNzYXJ5CgkJCWZ1bmN0aW9uIGNoYW5nZV9wdWxsX3F1ZXJ5X3N0cmluZyggJHNvcWxfc3RyaW5nLCAkc29xbCwgJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmcgKSB7CgkJCQkkc29xbF9zdHJpbmcgPSBzdHJfcmVwbGFjZSggJ0FTQycsICdERVNDJywgJHNvcWxfc3RyaW5nKTsKCQkJCXJldHVybiAkc29xbF9zdHJpbmc7CgkJCX0KCQkJKi8KCgkJCS8vIEV4ZWN1dGUgcXVlcnkuCgkJCSRyZXN1bHRzID0gJHNmYXBpLT5xdWVyeSgKCQkJCSRzb3FsX3N0cmluZywKCQkJCSRxdWVyeV9vcHRpb25zCgkJCSk7CgoJCQkkcmVzcG9uc2UgICAgID0gJHJlc3VsdHNbJ2RhdGEnXTsKCQkJJHZlcnNpb25fcGF0aCA9IHdwX3BhcnNlX3VybCggJHNmYXBpLT5nZXRfYXBpX2VuZHBvaW50KCksIFBIUF9VUkxfUEFUSCApOwoKCQkJJHNmX2xhc3Rfc3luYyA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ2xhc3Rfc3luYycsICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCBudWxsICk7CgkJCSRsYXN0X3N5bmMgICAgPSBnbWRhdGUoICdZLW0tZFxUSDppOnNcWicsICRzZl9sYXN0X3N5bmMgKTsKCgkJCWlmICggISBpc3NldCggJHJlc3BvbnNlWydlcnJvckNvZGUnXSApICYmIDAgPCBjb3VudCggJHJlc3BvbnNlWydyZWNvcmRzJ10gKSApIHsKCQkJCS8vIFdyaXRlIGl0ZW1zIHRvIHRoZSBxdWV1ZS4KCQkJCWZvcmVhY2ggKCAkcmVzcG9uc2VbJ3JlY29yZHMnXSBhcyAka2V5ID0+ICRyZXN1bHQgKSB7CgkJCQkJLy8gaWYgd2UndmUgYWxyZWFkeSBwdWxsZWQsIG9yIHRyaWVkIHRvIHB1bGwsIHRoZSBjdXJyZW50IElELCBkb24ndCBkbyBpdCBhZ2Fpbi4KCQkJCQkkbGFzdF9pZCA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ2xhc3RfaWQnLCAnJywgJycsICcnICk7CgkJCQkJaWYgKCAkbGFzdF9pZCA9PT0gJHJlc3VsdFsnSWQnXSApIHsKCQkJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+ZGVidWcgKSB7CgkJCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBmYWlsZWQgcHVsbC4KCQkJCQkJCSRzdGF0dXMgPSAnZGVidWcnOwoJCQkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB0aGUgU2FsZXNmb3JjZSBJRC4KCQkJCQkJCQllc2NfaHRtbF9fKCAnJTEkczogU2FsZXNmb3JjZSBJRCAlMiRzIGhhcyBhbHJlYWR5IGJlZW4gYXR0ZW1wdGVkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCQkJZXNjX2F0dHIoICRyZXN1bHRbJ0lkJ10gKQoJCQkJCQkJKTsKCgkJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCQl9CgoJCQkJCQkJJGRlYnVnID0gYXJyYXkoCgkJCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJCQknbWVzc2FnZScgPT4gZXNjX2h0bWxfXyggJ1RoaXMgSUQgaGFzIGFscmVhZHkgYmVlbiBhdHRlbXB0ZWQgc28gaXQgd2FzIG5vdCBwdWxsZWQgYWdhaW4uJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJCSd0cmlnZ2VyJyA9PiAwLAoJCQkJCQkJCSdwYXJlbnQnICA9PiAnJywKCQkJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkJCSk7CgoJCQkJCQkJJGxvZ2dpbmctPnNldHVwKCAkZGVidWcgKTsKCQkJCQkJfQoKCQkJCQkJY29udGludWU7CgkJCQkJfQoKCQkJCQkvLyBpZiB0aGlzIHJlY29yZCBpcyBuZXcgYXMgb2YgdGhlIGxhc3Qgc3luYywgdXNlIHRoZSBjcmVhdGUgdHJpZ2dlci4KCQkJCQlpZiAoIGlzc2V0KCAkcmVzdWx0WydDcmVhdGVkRGF0ZSddICkgJiYgJHJlc3VsdFsnQ3JlYXRlZERhdGUnXSA+ICRsYXN0X3N5bmMgKSB7CgkJCQkJCSRzZl9zeW5jX3RyaWdnZXIgPSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfY3JlYXRlOwoJCQkJCX0gZWxzZSB7CgkJCQkJCSRzZl9zeW5jX3RyaWdnZXIgPSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfdXBkYXRlOwoJCQkJCX0KCgkJCQkJLy8gT25seSBxdWV1ZSB3aGVuIHRoZSByZWNvcmQncyB0cmlnZ2VyIGlzIGNvbmZpZ3VyZWQgZm9yIHRoZSBtYXBwaW5nLgoJCQkJCWlmICggaXNzZXQoICRtYXBfc3luY190cmlnZ2VycyApICYmIGlzc2V0KCAkc2Zfc3luY190cmlnZ2VyICkgJiYgaW5fYXJyYXkoICRzZl9zeW5jX3RyaWdnZXIsICRtYXBfc3luY190cmlnZ2VycywgdHJ1ZSApICkgeyAvLyB3cCBvciBzZiBjcnVkIGV2ZW50LgoJCQkJCQkkZGF0YSA9IGFycmF5KAoJCQkJCQkJJ29iamVjdF90eXBlJyAgICAgPT4gJHR5cGUsCgkJCQkJCQknb2JqZWN0JyAgICAgICAgICA9PiAkcmVzdWx0LAoJCQkJCQkJJ21hcHBpbmcnICAgICAgICAgPT4gJHNhbGVzZm9yY2VfbWFwcGluZywKCQkJCQkJCSdzZl9zeW5jX3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsIC8vIHVzZSB0aGUgYXBwcm9wcmlhdGUgdHJpZ2dlciBiYXNlZCBvbiB3aGVuIHRoaXMgd2FzIGNyZWF0ZWQuCgkJCQkJCSk7CgoJCQkJCQkkcHVsbF9hbGxvd2VkID0gJHRoaXMtPmlzX3B1bGxfYWxsb3dlZCggJHR5cGUsICRyZXN1bHQsICRzZl9zeW5jX3RyaWdnZXIsICRzYWxlc2ZvcmNlX21hcHBpbmcsICRtYXBfc3luY190cmlnZ2VycyApOwoKCQkJCQkJaWYgKCBmYWxzZSA9PT0gJHB1bGxfYWxsb3dlZCApIHsKCQkJCQkJCS8vIHVwZGF0ZSB0aGUgY3VycmVudCBzdGF0ZSBzbyB3ZSBkb24ndCBlbmQgdXAgb24gdGhlIHNhbWUgcmVjb3JkIGFnYWluIGlmIHRoZSBsb29wIGZhaWxzLgoJCQkJCQkJJHRoaXMtPnB1bGxfb3B0aW9ucy0+c2V0KCAnbGFzdF9pZCcsICcnLCAnJywgJHJlc3VsdFsnSWQnXSApOwoJCQkJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+ZGVidWcgKSB7CgkJCQkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3IgZmFpbGVkIHB1bGwuCgkJCQkJCQkJJHN0YXR1cyA9ICdkZWJ1Zyc7CgkJCQkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgdGhlIFNhbGVzZm9yY2UgSUQuCgkJCQkJCQkJCWVzY19odG1sX18oICclMSRzOiBTYWxlc2ZvcmNlIElEICUyJHMgaXMgbm90IGFsbG93ZWQuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCQkJCWVzY19hdHRyKCAkcmVzdWx0WydJZCddICkKCQkJCQkJCQkpOwoKCQkJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCQkJfQoKCQkJCQkJCQkkZGVidWcgPSBhcnJheSgKCQkJCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJCQkJJ21lc3NhZ2UnID0+IGVzY19odG1sX18oICdUaGlzIElEIGlzIG5vdCBwdWxsYWJsZSBzbyBpdCB3YXMgc2tpcHBlZC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkJCQkncGFyZW50JyAgPT4gJycsCgkJCQkJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJCQkJCSk7CgoJCQkJCQkJCSRsb2dnaW5nLT5zZXR1cCggJGRlYnVnICk7CgkJCQkJCQl9CgkJCQkJCQljb250aW51ZTsKCQkJCQkJfQoKCQkJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+ZGVidWcgKSB7CgkJCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBxdWV1ZSBhZGRpdGlvbi4KCQkJCQkJCSRzdGF0dXMgPSAnZGVidWcnOwoJCQkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB0aGUgU2FsZXNmb3JjZSBJRC4KCQkJCQkJCQllc2NfaHRtbF9fKCAnJTEkczogQWRkIFNhbGVzZm9yY2UgSUQgJTIkcyB0byB0aGUgcXVldWUnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJCQkJCWVzY19hdHRyKCAkcmVzdWx0WydJZCddICkKCQkJCQkJCSk7CgoJCQkJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJCQkJfQoKCQkJCQkJCSRtZXNzYWdlID0gc3ByaW50ZigKCQkJCQkJCQkvLyB0cmFuc2xhdG9yczogMSkgaXMgdGhlIG5hbWUgb2YgdGhlIGhvb2sgdGhhdCB3YXMgY2FsbGVkLCAyKSBpcyB0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZSwgMykgaXMgdGhlIElEIGZvciB0aGUgb2JqZWN0IG1hcCwgNCkgaXMgdGhlIGV2ZW50IHRyaWdnZXIgdGhhdCBpcyBydW5uaW5nLCBhbmQgNSkgaXMgdGhlIG5hbWUgb2YgdGhlIHNjaGVkdWxlIHRoYXQgaXMgcnVubmluZy4KCQkJCQkJCQllc2NfaHRtbF9fKCAnVGhpcyByZWNvcmQgaXMgYmVpbmcgc2VudCB0byB0aGUgcXVldWUuIFRoZSBob29rIG5hbWUgaXMgJTEkcy4gVGhlIGFyZ3VtZW50cyBmb3IgdGhlIGhvb2sgYXJlOiBvYmplY3QgdHlwZSAlMiRzLCBvYmplY3QgbWFwIElEICUzJHMsIHN5bmMgdHJpZ2dlciAlNCRzLiBUaGUgc2NoZWR1bGUgbmFtZSBpcyAlNSRzLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCQllc2NfYXR0ciggJHRoaXMtPnNjaGVkdWxhYmxlX2NsYXNzZXNbICR0aGlzLT5zY2hlZHVsZV9uYW1lIF1bJ2NhbGxiYWNrJ10gKSwKCQkJCQkJCQllc2NfYXR0ciggJHR5cGUgKSwKCQkJCQkJCQlhYnNpbnQoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10gKSwKCQkJCQkJCQkkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkJCSR0aGlzLT5zY2hlZHVsZV9uYW1lCgkJCQkJCQkpOwoKCQkJCQkJCSRkZWJ1ZyA9IGFycmF5KAoJCQkJCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQkJCQkJJ21lc3NhZ2UnID0+ICRtZXNzYWdlLAoJCQkJCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkJCSdwYXJlbnQnICA9PiAnJywKCQkJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkJCSk7CgoJCQkJCQkJJGxvZ2dpbmctPnNldHVwKCAkZGVidWcgKTsKCQkJCQkJfQoKCQkJCQkJLy8gYWRkIGEgcXVldWUgYWN0aW9uIHRvIHNhdmUgZGF0YSBmcm9tIHNhbGVzZm9yY2UuCgkJCQkJCSR0aGlzLT5xdWV1ZS0+YWRkKAoJCQkJCQkJJHRoaXMtPnNjaGVkdWxhYmxlX2NsYXNzZXNbICR0aGlzLT5zY2hlZHVsZV9uYW1lIF1bJ2NhbGxiYWNrJ10sCgkJCQkJCQlhcnJheSgKCQkJCQkJCQknb2JqZWN0X3R5cGUnICAgICA9PiAkdHlwZSwKCQkJCQkJCQknb2JqZWN0JyAgICAgICAgICA9PiAkcmVzdWx0WydJZCddLAoJCQkJCQkJCSdzZl9zeW5jX3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCQkpLAoJCQkJCQkJJHRoaXMtPnNjaGVkdWxlX25hbWUKCQkJCQkJKTsKCQkJCQkJLy8gdXBkYXRlIHRoZSBjdXJyZW50IHN0YXRlIHNvIHdlIGRvbid0IGVuZCB1cCBvbiB0aGUgc2FtZSByZWNvcmQgYWdhaW4gaWYgdGhlIGxvb3AgZmFpbHMuCgkJCQkJCSR0aGlzLT5wdWxsX29wdGlvbnMtPnNldCggJ2xhc3RfaWQnLCAnJywgJycsICRyZXN1bHRbJ0lkJ10gKTsKCQkJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+ZGVidWcgKSB7CgkJCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBzdWNjZXNzZnVsIHB1bGwuCgkJCQkJCQkkc3RhdHVzID0gJ2RlYnVnJzsKCQkJCQkJCSR0aXRsZSAgPSBzcHJpbnRmKAoJCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgdGhlIFNhbGVzZm9yY2UgSUQuCgkJCQkJCQkJZXNjX2h0bWxfXyggJyUxJHM6IFNhbGVzZm9yY2UgSUQgJTIkcyBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgcHVsbGVkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCQkJZXNjX2F0dHIoICRyZXN1bHRbJ0lkJ10gKQoJCQkJCQkJKTsKCgkJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCQl9CgoJCQkJCQkJJGRlYnVnID0gYXJyYXkoCgkJCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJCQknbWVzc2FnZScgPT4gZXNjX2h0bWxfXyggJ1RoaXMgSUQgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHB1bGxlZCBhbmQgYWRkZWQgdG8gdGhlIHF1ZXVlIGZvciBwcm9jZXNzaW5nLiBJdCBjYW5ub3QgYmUgcHVsbGVkIGFnYWluIHdpdGhvdXQgYmVpbmcgbW9kaWZpZWQgYWdhaW4uJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkJCSdwYXJlbnQnICA9PiAnJywKCQkJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkJCSk7CgkJCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRkZWJ1ZyApOwoJCQkJCQl9IC8vIGVuZCBvZiBkZWJ1ZwoJCQkJCX0gLy8gZW5kIGlmCgkJCQl9IC8vIGVuZCBmb3JlYWNoCgoJCQkJLy8gd2UncmUgZG9uZSB3aXRoIHRoZSBmb3JlYWNoLiBzdG9yZSB0aGUgTGFzdE1vZGlmaWVkRGF0ZSBvZiB0aGUgbGFzdCBpdGVtIHByb2Nlc3NlZCwgb3IgdGhlIGN1cnJlbnQgdGltZSBpZiBpdCBpc24ndCB0aGVyZS4KCQkJCSRsYXN0X2RhdGVfZm9yX3F1ZXJ5ID0gaXNzZXQoICRyZXN1bHRbJ0xhc3RNb2RpZmllZERhdGUnXSApID8gJHJlc3VsdFsnTGFzdE1vZGlmaWVkRGF0ZSddIDogJyc7CgkJCQkkdGhpcy0+aW5jcmVtZW50X2N1cnJlbnRfdHlwZV9kYXRldGltZSggJHR5cGUsICRsYXN0X2RhdGVfZm9yX3F1ZXJ5LCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddICk7CgoJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+YmF0Y2hfc29xbF9xdWVyaWVzICkgewoJCQkJCS8vIGlmIGFwcGxpY2FibGUsIHByb2Nlc3MgdGhlIG5leHQgYmF0Y2ggb2YgcmVjb3Jkcy4KCQkJCQkkdGhpcy0+Z2V0X25leHRfcmVjb3JkX2JhdGNoKCAkbGFzdF9zeW5jLCAkc2FsZXNmb3JjZV9tYXBwaW5nLCAkbWFwX3N5bmNfdHJpZ2dlcnMsICR0eXBlLCAkdmVyc2lvbl9wYXRoLCAkcXVlcnlfb3B0aW9ucywgJHJlc3BvbnNlICk7CgkJCQl9IGVsc2UgewoJCQkJCS8vIEhlcmUsIHdlIGNoZWNrIGFuZCBzZWUgaWYgdGhlIHF1ZXJ5IGhhcyByZXN1bHRzIHdpdGggYW4gYWRkaXRpb25hbCBvZmZzZXQuCgkJCQkJLy8gSWYgaXQgZG9lcywgd2UgcmVnZW5lcmF0ZSB0aGUgcXVlcnkgc28gaXQgd2lsbCBoYXZlIGFuIG9mZnNldCBuZXh0IHRpbWUgaXQgcnVucy4KCQkJCQkvLyBJZiBpdCBkb2VzIG5vdCwgd2UgY2xlYXIgdGhlIHF1ZXJ5IGlmIHdlJ3ZlIGp1c3QgcHJvY2Vzc2VkIHRoZSBsYXN0IHJvdy4KCQkJCQkvLyB0aGlzIGFsbG93cyB1cyB0byBydW4gYW4gb2Zmc2V0IG9uIHRoZSBzdG9yZWQgcXVlcnkgaW5zdGVhZCBvZiBjbGVhcmluZyBpdC4KCQkJCQkkZG9lc19uZXh0X29mZnNldF9oYXZlX3Jlc3VsdHMgPSAkdGhpcy0+Y2hlY2tfb2Zmc2V0X3F1ZXJ5KCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZywgJHF1ZXJ5X29wdGlvbnMgKTsKCQkJCQllbmQoICRyZXNwb25zZVsncmVjb3JkcyddICk7CgkJCQkJJGxhc3RfcmVjb3JkX2tleSA9IGtleSggJHJlc3BvbnNlWydyZWNvcmRzJ10gKTsKCQkJCQlpZiAoIHRydWUgPT09ICRkb2VzX25leHRfb2Zmc2V0X2hhdmVfcmVzdWx0cyApIHsKCQkJCQkJLy8gaW5jcmVtZW50IFNPUUwgcXVlcnkgdG8gcnVuLgoJCQkJCQkkc29xbCA9ICR0aGlzLT5nZXRfcHVsbF9xdWVyeSggJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCQkJCQl9IGVsc2VpZiAoICRsYXN0X3JlY29yZF9rZXkgPT09ICRrZXkgKSB7CgkJCQkJCS8vIGNsZWFyIHRoZSBzdG9yZWQgcXVlcnkuIHdlIGRvbid0IG5lZWQgdG8gb2Zmc2V0IGFuZCB3ZSd2ZSBmaW5pc2hlZCB0aGUgbG9vcC4KCQkJCQkJJHRoaXMtPmNsZWFyX2N1cnJlbnRfdHlwZV9xdWVyeSggJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10gKTsKCQkJCQl9CgkJCQl9IC8vIGVuZCBpZgoJCQl9IGVsc2VpZiAoICEgaXNzZXQoICRyZXNwb25zZVsnZXJyb3JDb2RlJ10gKSAmJiAwID09PSBjb3VudCggJHJlc3BvbnNlWydyZWNvcmRzJ10gKSAmJiBmYWxzZSA9PT0gJHRoaXMtPmJhdGNoX3NvcWxfcXVlcmllcyApIHsKCQkJCS8vIG9ubHkgdXBkYXRlL2NsZWFyIHRoZXNlIG9wdGlvbiB2YWx1ZXMgaWYgd2UgYXJlIGN1cnJlbnRseSBzdGlsbCBwcm9jZXNzaW5nIGEgcXVlcnkuCgkJCQkkY3VycmVudF9xdWVyeSA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ2N1cnJlbnRfcXVlcnknLCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgJycgKTsKCQkJCWlmICggJycgIT09ICRjdXJyZW50X3F1ZXJ5ICkgewoJCQkJCSR0aGlzLT5jbGVhcl9jdXJyZW50X3R5cGVfcXVlcnkoICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddICk7CgkJCQl9CgkJCQkvLyB0cnkgdG8gY2hlY2sgZm9yIHNwZWNpZmljIGVycm9yIGNvZGVzIGZyb20gU2FsZXNmb3JjZS4KCQkJfSBlbHNlaWYgKCBpc3NldCggJHJlc3BvbnNlWydlcnJvckNvZGUnXSApICYmICdJTlZBTElEX0ZJRUxEJyA9PT0gJHJlc3BvbnNlWydlcnJvckNvZGUnXSApIHsKCQkJCS8vIHNldCB1cCBsb2cgZW50cnkuCgkJCQkkc3RhdHVzICAgID0gJ2Vycm9yJzsKCQkJCSRsb2dfdGl0bGUgPSBzcHJpbnRmKAoJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgdGhlIHNlcnZlciBlcnJvciBjb2RlLCBhbmQgMykgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LgoJCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIHdoZW4gcHVsbGluZyAlMyRzIGRhdGEgZnJvbSBTYWxlc2ZvcmNlLiBDaGVjayBhbmQgcmVzYXZlIHRoZSBmaWVsZG1hcC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJCWVzY19hdHRyKCAkcmVzcG9uc2VbJ2Vycm9yQ29kZSddICksCgkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J10gKQoJCQkJKTsKCQkJCSRsb2dfYm9keSA9ICc8cD4nIC4gZXNjX2h0bWxfXyggJ0EgZmllbGQgbWF5IGhhdmUgYmVlbiBkZWxldGVkIGZyb20gU2FsZXNmb3JjZSwgb3IgaXQgaGFzIG90aGVyd2lzZSBiZWNvbWUgaW52YWxpZC4gWW91IG1heSBuZWVkIHRvIGNoZWNrIGFuZCByZXNhdmUgeW91ciBmaWVsZG1hcC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9wPic7CgoJCQkJLy8gaWYgaXQncyBhbiBpbnZhbGlkIGZpZWxkLCB0cnkgdG8gY2xlYXIgdGhlIGNhY2hlZCBxdWVyeSBzbyBpdCBjYW4gdHJ5IGFnYWluIG5leHQgdGltZS4KCQkJCSRjdXJyZW50X3F1ZXJ5ID0gJHRoaXMtPnB1bGxfb3B0aW9ucy0+Z2V0KCAnY3VycmVudF9xdWVyeScsICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAnJyApOwoJCQkJaWYgKCAnJyAhPT0gJGN1cnJlbnRfcXVlcnkgKSB7CgkJCQkJJHRoaXMtPmNsZWFyX2N1cnJlbnRfdHlwZV9xdWVyeSggJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10gKTsKCQkJCQkkbG9nX3RpdGxlIC49IGVzY19odG1sX18oICcgVGhlIHN0b3JlZCBxdWVyeSBoYXMgYmVlbiBjbGVhcmVkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKTsKCQkJCQkkbG9nX2JvZHkgIC49ICc8cD4nIC4gZXNjX2h0bWxfXyggJ1RoZSBjdXJyZW50bHkgc3RvcmVkIHF1ZXJ5IGZvciB0aGlzIG9iamVjdCB0eXBlIGhhcyBiZWVuIGRlbGV0ZWQuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzwvcD4nOwoJCQkJfQoKCQkJCSRsb2dfYm9keSAuPSBzcHJpbnRmKAoJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgU2FsZXNmb3JjZSBBUEkgcmVzcG9uc2UgbWVzc2FnZS4KCQkJCQknPHA+JyAuIGVzY19odG1sX18oICdTYWxlc2ZvcmNlIEFQSSBSZXNwb25zZTogJTEkcycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L3A+JywKCQkJCQkkcmVzcG9uc2VbJ21lc3NhZ2UnXQoJCQkJKTsKCgkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQl9CgoJCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJCSd0aXRsZScgICA9PiAkbG9nX3RpdGxlLAoJCQkJCSdtZXNzYWdlJyA9PiAkbG9nX2JvZHksCgkJCQkJJ3RyaWdnZXInID0+IDAsCgkJCQkJJ3BhcmVudCcgID0+ICcnLAoJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJKTsKCgkJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCQkJfSBlbHNlaWYgKCBpc3NldCggJHJlc3BvbnNlWydlcnJvckNvZGUnXSApICkgewoJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3IgZmFpbGVkIHB1bGwuCgkJCQkkc3RhdHVzID0gJ2Vycm9yJzsKCQkJCSR0aXRsZSAgPSBzcHJpbnRmKAoJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgdGhlIHNlcnZlciBlcnJvciBjb2RlLCBhbmQgMykgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LgoJCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIHdoZW4gcHVsbGluZyAlMyRzIGRhdGEgZnJvbSBTYWxlc2ZvcmNlJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCQllc2NfYXR0ciggJHJlc3BvbnNlWydlcnJvckNvZGUnXSApLAoJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICkKCQkJCSk7CgoJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJfQoKCQkJCSRyZXN1bHQgPSBhcnJheSgKCQkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJCSdtZXNzYWdlJyA9PiAkcmVzcG9uc2VbJ21lc3NhZ2UnXSwKCQkJCQkndHJpZ2dlcicgPT4gMCwKCQkJCQkncGFyZW50JyAgPT4gJycsCgkJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCQkpOwoKCQkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJCXJldHVybiAkcmVzdWx0OwoKCQkJfSAvLyBFbmQgaWYoKSBzdGF0ZW1lbnQuCgkJfSAvLyBFbmQgZm9yZWFjaCgpIGxvb3AuCgl9CgoJLyoqCgkgKiBQdWxsIHRoZSBuZXh0IGJhdGNoIG9mIHJlY29yZHMgZnJvbSB0aGUgU2FsZXNmb3JjZSBBUEksIGlmIGFwcGxpY2FibGUKCSAqIEV4ZWN1dGVzIGEgbmV4dFJlY29yZHNVcmwgU09RTCBxdWVyeSBiYXNlZCBvbiB0aGUgcHJldmlvdXMgcmVzdWx0LAoJICogYW5kIHBsYWNlcyBlYWNoIHVwZGF0ZWQgU0Ygb2JqZWN0IGludG8gdGhlIHF1ZXVlIGZvciBsYXRlciBwcm9jZXNzaW5nLgoJICoKCSAqIEBwYXJhbSBkYXRldGltZSAkbGFzdF9zeW5jIHdoZW4gaXQgd2FzIGxhc3Qgc3luY2VkLgoJICogQHBhcmFtIGFycmF5ICAgICRzYWxlc2ZvcmNlX21hcHBpbmcgdGhlIGZpZWxkbWFwLgoJICogQHBhcmFtIGFycmF5ICAgICRtYXBfc3luY190cmlnZ2VycyB0aGUgc3luYyB0cmlnZ2VyIGJpdCB2YWx1ZXMuCgkgKiBAcGFyYW0gc3RyaW5nICAgJHR5cGUgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUuCgkgKiBAcGFyYW0gc3RyaW5nICAgJHZlcnNpb25fcGF0aCB0aGUgQVBJIHBhdGggZm9yIHRoZSBTYWxlc2ZvcmNlIHZlcnNpb24uCgkgKiBAcGFyYW0gYXJyYXkgICAgJHF1ZXJ5X29wdGlvbnMgdGhlIFNPUUwgcXVlcnkgb3B0aW9ucy4KCSAqIEBwYXJhbSBhcnJheSAgICAkcmVzcG9uc2UgdGhlIHByZXZpb3VzIHJlc3BvbnNlLgoJICovCglwcml2YXRlIGZ1bmN0aW9uIGdldF9uZXh0X3JlY29yZF9iYXRjaCggJGxhc3Rfc3luYywgJHNhbGVzZm9yY2VfbWFwcGluZywgJG1hcF9zeW5jX3RyaWdnZXJzLCAkdHlwZSwgJHZlcnNpb25fcGF0aCwgJHF1ZXJ5X29wdGlvbnMsICRyZXNwb25zZSApIHsKCQkvLyBIYW5kbGUgbmV4dCBiYXRjaCBvZiByZWNvcmRzIGlmIGl0IGV4aXN0cy4KCQkkbmV4dF9yZWNvcmRzX3VybCA9IGlzc2V0KCAkcmVzcG9uc2VbJ25leHRSZWNvcmRzVXJsJ10gKSA/IHN0cl9yZXBsYWNlKCAkdmVyc2lvbl9wYXRoLCAnJywgJHJlc3BvbnNlWyduZXh0UmVjb3Jkc1VybCddICkgOiBmYWxzZTsKCQl3aGlsZSAoICRuZXh0X3JlY29yZHNfdXJsICkgewoJCQkvLyBzaG91bGRuJ3QgY2FjaGUgdGhpcyBlaXRoZXIuIGl0J3MgZ29pbmcgaW50byB0aGUgcXVldWUgaWYgaXQgZXhpc3RzIGFueXdheS4KCQkJJG5ld19yZXN1bHRzICA9ICRzZmFwaS0+YXBpX2NhbGwoCgkJCQkkbmV4dF9yZWNvcmRzX3VybCwKCQkJCWFycmF5KCksCgkJCQknR0VUJywKCQkJCSRxdWVyeV9vcHRpb25zCgkJCSk7CgkJCSRuZXdfcmVzcG9uc2UgPSAkbmV3X3Jlc3VsdHNbJ2RhdGEnXTsKCQkJaWYgKCAhIGlzc2V0KCAkbmV3X3Jlc3BvbnNlWydlcnJvckNvZGUnXSApICkgewoJCQkJLy8gV3JpdGUgaXRlbXMgdG8gdGhlIHF1ZXVlLgoJCQkJZm9yZWFjaCAoICRuZXdfcmVzcG9uc2VbJ3JlY29yZHMnXSBhcyAkcmVzdWx0ICkgewoJCQkJCS8vIGlmIHRoaXMgcmVjb3JkIGlzIG5ldyBhcyBvZiB0aGUgbGFzdCBzeW5jLCB1c2UgdGhlIGNyZWF0ZSB0cmlnZ2VyLgoJCQkJCWlmICggaXNzZXQoICRyZXN1bHRbJ0NyZWF0ZWREYXRlJ10gKSAmJiAkcmVzdWx0WydDcmVhdGVkRGF0ZSddID4gJGxhc3Rfc3luYyApIHsKCQkJCQkJJHNmX3N5bmNfdHJpZ2dlciA9ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9jcmVhdGU7CgkJCQkJfSBlbHNlIHsKCQkJCQkJJHNmX3N5bmNfdHJpZ2dlciA9ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl91cGRhdGU7CgkJCQkJfQoJCQkJCS8vIE9ubHkgcXVldWUgd2hlbiB0aGUgcmVjb3JkJ3MgdHJpZ2dlciBpcyBjb25maWd1cmVkIGZvciB0aGUgbWFwcGluZy4KCQkJCQlpZiAoIGlzc2V0KCAkbWFwX3N5bmNfdHJpZ2dlcnMgKSAmJiBpc3NldCggJHNmX3N5bmNfdHJpZ2dlciApICYmIGluX2FycmF5KCAkc2Zfc3luY190cmlnZ2VyLCAkbWFwX3N5bmNfdHJpZ2dlcnMsIHRydWUgKSApIHsgLy8gd3Agb3Igc2YgY3J1ZCBldmVudC4KCQkJCQkJJGRhdGEgPSBhcnJheSgKCQkJCQkJCSdvYmplY3RfdHlwZScgICAgID0+ICR0eXBlLAoJCQkJCQkJJ29iamVjdCcgICAgICAgICAgPT4gJHJlc3VsdCwKCQkJCQkJCSdtYXBwaW5nJyAgICAgICAgID0+ICRzYWxlc2ZvcmNlX21hcHBpbmcsCgkJCQkJCQknc2Zfc3luY190cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLCAvLyB1c2UgdGhlIGFwcHJvcHJpYXRlIHRyaWdnZXIgYmFzZWQgb24gd2hlbiB0aGlzIHdhcyBjcmVhdGVkLgoJCQkJCQkpOwoJCQkJCQkvLyBhZGQgYSBxdWV1ZSBhY3Rpb24gdG8gc2F2ZSBkYXRhIGZyb20gc2FsZXNmb3JjZS4KCQkJCQkJJHRoaXMtPnF1ZXVlLT5hZGQoCgkJCQkJCQkkdGhpcy0+c2NoZWR1bGFibGVfY2xhc3Nlc1sgJHRoaXMtPnNjaGVkdWxlX25hbWUgXVsnY2FsbGJhY2snXSwKCQkJCQkJCWFycmF5KAoJCQkJCQkJCSdvYmplY3RfdHlwZScgICAgID0+ICR0eXBlLAoJCQkJCQkJCSdvYmplY3QnICAgICAgICAgID0+ICRyZXN1bHRbJ0lkJ10sCgkJCQkJCQkJJ3NmX3N5bmNfdHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJCSksCgkJCQkJCQkkdGhpcy0+c2NoZWR1bGVfbmFtZQoJCQkJCQkpOwoJCQkJCQkvLyBVcGRhdGUgdGhlIGxhc3QgcHVsbCBzeW5jIHRpbWVzdGFtcCBmb3IgdGhpcyByZWNvcmQgdHlwZSB0byBhdm9pZCByZS1wcm9jZXNzaW5nIGluIGNhc2Ugb2YgZXJyb3IuCgkJCQkJCSRsYXN0X3N5bmNfcHVsbF90cmlnZ2VyID0gRGF0ZVRpbWU6OmNyZWF0ZUZyb21Gb3JtYXQoICdZLW0tZFxUSDppOnMrJywgJHJlc3VsdFsgJHNhbGVzZm9yY2VfbWFwcGluZ1sncHVsbF90cmlnZ2VyX2ZpZWxkJ10gXSwgbmV3IERhdGVUaW1lWm9uZSggJ1VUQycgKSApOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQkkbmV4dF9yZWNvcmRzX3VybCA9IGlzc2V0KCAkbmV3X3Jlc3BvbnNlWyduZXh0UmVjb3Jkc1VybCddICkgPyBzdHJfcmVwbGFjZSggJHZlcnNpb25fcGF0aCwgJycsICRuZXdfcmVzcG9uc2VbJ25leHRSZWNvcmRzVXJsJ10gKSA6IGZhbHNlOwoJCX0gLy8gZW5kIHdoaWxlIGxvb3AKCX0KCgkvKioKCSAqIEdldCB0aGUgbmV4dCBvZmZzZXQgcXVlcnkuIElmIGNoZWNrIGlzIHRydWUsIG9ubHkgc2VlIGlmIHRoYXQgcXVlcnkgd291bGQgaGF2ZSByZXN1bHRzLiBPdGhlcndpc2UsIHJldHVybiB0aGUgU09RTCBvYmplY3QuCgkgKiBXaGVuIGJhdGNoU2l6ZSBpcyBub3QgaW4gdXNlLCBydW4gYSBjaGVjayB3aXRoIGFuIG9mZnNldC4KCSAqCgkgKiBAcGFyYW0gc3RyaW5nICR0eXBlIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlLgoJICogQHBhcmFtIGFycmF5ICAkc2FsZXNmb3JjZV9tYXBwaW5nIHRoZSBtYXAgYmV0d2VlbiBvYmplY3QgdHlwZXMuCgkgKiBAcGFyYW0gYXJyYXkgICRxdWVyeV9vcHRpb25zIHRoZSBvcHRpb25zIGZvciB0aGUgU09RTCBxdWVyeS4KCSAqIEByZXR1cm4gb2JqZWN0fGJvb2wgJHNvcWx8JGRvZXNfbmV4dF9vZmZzZXRfaGF2ZV9yZXN1bHRzCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gY2hlY2tfb2Zmc2V0X3F1ZXJ5KCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZywgJHF1ZXJ5X29wdGlvbnMgKSB7CgoJCSRzb3FsICAgICAgICAgICAgICAgICAgICAgICAgICA9ICR0aGlzLT5nZXRfcHVsbF9xdWVyeSggJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCQkkZG9lc19uZXh0X29mZnNldF9oYXZlX3Jlc3VsdHMgPSBmYWxzZTsKCgkJJHNmYXBpID0gJHRoaXMtPnNhbGVzZm9yY2VbJ3NmYXBpJ107CgkJLy8gRXhlY3V0ZSBxdWVyeQoJCS8vIGhhdmUgdG8gY2FzdCBpdCB0byBzdHJpbmcgdG8gbWFrZSBzdXJlIGl0IHVzZXMgdGhlIG1hZ2ljIG1ldGhvZAoJCS8vIHdlIGRvbid0IHdhbnQgdG8gY2FjaGUgdGhpcyBiZWNhdXNlIHRpbWVzdGFtcHMuCgkJJHJlc3VsdHMgPSAkc2ZhcGktPnF1ZXJ5KAoJCQkoc3RyaW5nKSAkc29xbCwKCQkJJHF1ZXJ5X29wdGlvbnMKCQkpOwoKCQkkcmVzcG9uc2UgPSAkcmVzdWx0c1snZGF0YSddOwoJCWlmICggISBpc3NldCggJHJlc3BvbnNlWydlcnJvckNvZGUnXSApICYmIDAgPCBjb3VudCggJHJlc3BvbnNlWydyZWNvcmRzJ10gKSApIHsKCQkJJGRvZXNfbmV4dF9vZmZzZXRfaGF2ZV9yZXN1bHRzID0gdHJ1ZTsKCQl9CgkJcmV0dXJuICRkb2VzX25leHRfb2Zmc2V0X2hhdmVfcmVzdWx0czsKCX0KCgoJLyoqCgkgKiBHaXZlbiBhIFNPYmplY3QgdHlwZSBuYW1lLCBidWlsZCBhbiBTT1FMIHF1ZXJ5IHRvIGluY2x1ZGUgYWxsIGZpZWxkcyBmb3IgYWxsCgkgKiBmaWVsZG1hcHMgbWFwcGVkIHRvIHRoYXQgU09iamVjdC4KCSAqCgkgKiBAcGFyYW0gc3RyaW5nICR0eXBlIGUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4KCSAqIEBwYXJhbSBhcnJheSAgJHNhbGVzZm9yY2VfbWFwcGluZyB0aGUgZmllbGRtYXAgdGhhdCBtYXBzIHRoZSB0d28gb2JqZWN0IHR5cGVzLgoJICogQHJldHVybiBPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1NlbGVjdF9RdWVyeSBvciBudWxsIGlmIG5vIG1hcHBpbmdzIG9yIG5vIG1hcHBlZCBmaWVsZHMgd2VyZSBmb3VuZC4KCSAqIEBzZWUgT2JqZWN0X1N5bmNfU2ZfTWFwcGluZzo6Z2V0X21hcHBlZF9maWVsZHMKCSAqIEBzZWUgT2JqZWN0X1N5bmNfU2ZfTWFwcGluZzo6Z2V0X21hcHBlZF9yZWNvcmRfdHlwZXMKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBnZXRfcHVsbF9xdWVyeSggJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmcgPSBhcnJheSgpICkgewoJCS8vIHdlIG5lZWQgdG8gZGV0ZXJtaW5lIHdoYXQgdG8gZG8gd2l0aCBzYXZlZCBxdWVyaWVzLiB0aGlzIGlzIHdoYXQgd2UgY3VycmVudGx5IGRvIGJ1dCBpdCBkb2Vzbid0IHdvcmsuCgkJLy8gY2hlY2sgaWYgd2UgaGF2ZSBhIHN0b3JlZCBuZXh0IHF1ZXJ5IHRvIHJ1biBmb3IgdGhpcyB0eXBlLiBpZiBzbywgdW5zZXJpYWxpemUgaXQgc28gd2UgaGF2ZSBhbiBvYmplY3QuCgkJJHB1bGxfcXVlcnlfcnVubmluZyA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ2N1cnJlbnRfcXVlcnknLCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgJycgKTsKCQlpZiAoICcnICE9PSAkcHVsbF9xdWVyeV9ydW5uaW5nICkgewoJCQkkc2F2ZWRfcXVlcnkgPSBtYXliZV91bnNlcmlhbGl6ZSggJHB1bGxfcXVlcnlfcnVubmluZyApOwoJCX0KCgkJJG1hcHBlZF9maWVsZHMgICAgICAgPSBhcnJheSgpOwoJCSRtYXBwZWRfcmVjb3JkX3R5cGVzID0gYXJyYXkoKTsKCgkJJG1hcHBpbmdzID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfZmllbGRtYXBzKAoJCQludWxsLAoJCQlhcnJheV9tZXJnZSgKCQkJCSR0aGlzLT5tYXBwaW5ncy0+YWN0aXZlX2ZpZWxkbWFwX2NvbmRpdGlvbnMsCgkJCQlhcnJheSgKCQkJCQknc2FsZXNmb3JjZV9vYmplY3QnID0+ICR0eXBlLAoJCQkJKQoJCQkpLAoJCSk7CgoJCS8vIEl0ZXJhdGUgb3ZlciBlYWNoIGZpZWxkIG1hcHBpbmcgdG8gZGV0ZXJtaW5lIG91ciBxdWVyeSBwYXJhbWV0ZXJzLgoJCWZvcmVhY2ggKCAkbWFwcGluZ3MgYXMgJHNhbGVzZm9yY2VfbWFwcGluZyApIHsKCgkJCS8vIG9ubHkgdXNlIGZpZWxkcyB0aGF0IGNvbWUgZnJvbSBTYWxlc2ZvcmNlIHRvIFdvcmRQcmVzcywgb3IgdGhhdCBzeW5jLgoJCQkkbWFwcGVkX2ZpZWxkcyA9IGFycmF5X21lcmdlKAoJCQkJJG1hcHBlZF9maWVsZHMsCgkJCQkkdGhpcy0+bWFwcGluZ3MtPmdldF9tYXBwZWRfZmllbGRzKAoJCQkJCSRzYWxlc2ZvcmNlX21hcHBpbmcsCgkJCQkJYXJyYXkoICR0aGlzLT5tYXBwaW5ncy0+ZGlyZWN0aW9uX3N5bmMsICR0aGlzLT5tYXBwaW5ncy0+ZGlyZWN0aW9uX3NmX3dvcmRwcmVzcyApCgkJCQkpCgkJCSk7CgoJCQkvLyBJZiBSZWNvcmQgVHlwZSBpcyBzcGVjaWZpZWQsIHJlc3RyaWN0IHF1ZXJ5LgoJCQkkbWFwcGluZ19yZWNvcmRfdHlwZXMgPSAkdGhpcy0+bWFwcGluZ3MtPmdldF9tYXBwZWRfcmVjb3JkX3R5cGVzKCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgoJCQkvLyBJZiBSZWNvcmQgVHlwZSBpcyBub3Qgc3BlY2lmaWVkIGZvciBhIGdpdmVuIG1hcHBpbmcsIGVuc3VyZSBxdWVyeSBpcyB1bnJlc3RyaWN0ZWQuCgkJCWlmICggZW1wdHkoICRtYXBwaW5nX3JlY29yZF90eXBlcyApICkgewoJCQkJJG1hcHBlZF9yZWNvcmRfdHlwZXMgPSBmYWxzZTsKCQkJfSBlbHNlaWYgKCBpc19hcnJheSggJG1hcHBlZF9yZWNvcmRfdHlwZXMgKSApIHsKCQkJCSRtYXBwZWRfcmVjb3JkX3R5cGVzID0gYXJyYXlfbWVyZ2UoICRtYXBwZWRfcmVjb3JkX3R5cGVzLCAkbWFwcGluZ19yZWNvcmRfdHlwZXMgKTsKCQkJfQoJCX0gLy8gRW5kIGZvcmVhY2goKSBsb29wLgoKCQkvLyBUaGVyZSBhcmUgbm8gZmllbGQgbWFwcGluZ3MgY29uZmlndXJlZCB0byBwdWxsIGRhdGEgZnJvbSBTYWxlc2ZvcmNlIHNvCgkJLy8gbW92ZSBvbiB0byB0aGUgbmV4dCBtYXBwZWQgb2JqZWN0LiBQcmV2ZW50cyBxdWVyeWluZyB1bm1hcHBlZCBkYXRhLgoJCWlmICggZW1wdHkoICRtYXBwZWRfZmllbGRzICkgKSB7CgkJCXJldHVybiBudWxsOwoJCX0KCgkJaWYgKCAhIGlzc2V0KCAkc2F2ZWRfcXVlcnkgKSApIHsKCQkJJHNvcWwgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9TZWxlY3RfUXVlcnkoICR0eXBlICk7CgoJCQkvLyBDb252ZXJ0IGZpZWxkIG1hcHBpbmdzIHRvIFNPUUwuCgkJCSRzb3FsLT5maWVsZHMgPSBhcnJheV9tZXJnZSgKCQkJCSRtYXBwZWRfZmllbGRzLAoJCQkJYXJyYXkoCgkJCQkJJ0lkJyA9PiAnSWQnLAoJCQkJCSRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdHJpZ2dlcl9maWVsZCddID0+ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdHJpZ2dlcl9maWVsZCddLAoJCQkJKQoJCQkpOwoKCQkJLy8gY2hlY2sgaWYgdGhpcyBpcyBhIFNhbGVzZm9yY2UgY3JlYXRlIGV2ZW50LgoJCQlpZiAoIGluX2FycmF5KCAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfY3JlYXRlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzeW5jX3RyaWdnZXJzJ10sIHRydWUgKSApIHsKCQkJCSRzb3FsLT5maWVsZHNbJ0NyZWF0ZWREYXRlJ10gPSAnQ3JlYXRlZERhdGUnOwoJCQl9CgoJCQkvLyBPcmRlciBieSB0aGUgdHJpZ2dlciBmaWVsZCwgcmVxdWVzdGluZyB0aGUgb2xkZXN0IHJlY29yZHMgZmlyc3QuCgkJCSRzb3FsLT5vcmRlciA9IGFycmF5KAoJCQkJJHNhbGVzZm9yY2VfbWFwcGluZ1sncHVsbF90cmlnZ2VyX2ZpZWxkJ10gPT4gJ0FTQycsCgkJCSk7CgoJCQkvLyBTZXQgYSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIHJlY29yZHMgdGhhdCBjYW4gYmUgcmV0cmlldmVkIGZyb20gdGhlIEFQSSBhdCBvbmUgdGltZS4KCQkJJHNvcWwtPmxpbWl0ID0gZmlsdGVyX3ZhciggJHRoaXMtPnB1bGxfb3B0aW9ucy0+Z2V0KCAncXVlcnlfbGltaXQnLCAnJywgJycsIDI1ICksIEZJTFRFUl9WQUxJREFURV9JTlQgKTsKCgkJCS8vIGlmIHRoZXJlIGFyZSByZWNvcmQgdHlwZXMgb24gdGhpcyBmaWVsZG1hcCwgdXNlIHRoZW0gYXMgYSBjb25kaXRpb25hbC4KCQkJaWYgKCAhIGVtcHR5KCAkbWFwcGVkX3JlY29yZF90eXBlcyApICkgewoJCQkJJHNvcWwtPmFkZF9jb25kaXRpb24oICdSZWNvcmRUeXBlSWQnLCBhcnJheV92YWx1ZXMoICRtYXBwZWRfcmVjb3JkX3R5cGVzICksICdJTicgKTsKCQkJfQoJCX0gZWxzZSB7CgkJCSRzb3FsID0gJHNhdmVkX3F1ZXJ5OwoJCX0KCgkJLy8gR2V0IHRoZSB2YWx1ZSBmb3IgdGhlIHB1bGwgdHJpZ2dlciBmaWVsZC4gT2Z0ZW4gdGhpcyB3aWxsIExhc3RNb2RpZmllZERhdGUuIEl0IG5lZWRzIHRvIGNoYW5nZSB3aGVuIHRoZSBxdWVyeSBnZXRzIHJlZ2VuZXJhdGVkIGFmdGVyIHRoZSBtYXggb2Zmc2V0IGhhcyBiZWVuIHJlYWNoZWQuCgkJJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZSA9ICR0aGlzLT5nZXRfcHVsbF9kYXRlX3ZhbHVlKCAkdHlwZSwgJHNvcWwsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10gKTsKCgkJLy8gd2UgY2hlY2sgdG8gc2VlIGlmIHRoZSBzdG9yZWQgZGF0ZSBpcyB0aGUgc2FtZSBhcyB0aGUgbmV3IG9uZS4gaWYgaXQgaXMgbm90LCB3ZSB3aWxsIHdhbnQgdG8gcmVzZXQgdGhlIG9mZnNldC4KCQkkcmVzZXRfb2Zmc2V0ID0gZmFsc2U7CgkJJGhhc19kYXRlICAgICA9IGZhbHNlOwoJCSRrZXkgICAgICAgICAgPSBhcnJheV9zZWFyY2goICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdHJpZ2dlcl9maWVsZCddLCBhcnJheV9jb2x1bW4oICRzb3FsLT5jb25kaXRpb25zLCAnZmllbGQnICksIHRydWUgKTsKCQlpZiAoIGZhbHNlICE9PSAka2V5ICkgewoJCQkkaGFzX2RhdGUgPSB0cnVlOwoJCQlpZiAoICRzb3FsLT5jb25kaXRpb25zWyAka2V5IF1bJ3ZhbHVlJ10gIT09ICRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWUgKSB7CgkJCQkkcmVzZXRfb2Zmc2V0ID0gdHJ1ZTsKCQkJfQoJCX0KCgkJaWYgKCBmYWxzZSA9PT0gJGhhc19kYXRlICkgewoJCQkkcmVzZXRfb2Zmc2V0ID0gdHJ1ZTsKCQkJJHNvcWwtPmFkZF9jb25kaXRpb24oICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdHJpZ2dlcl9maWVsZCddLCAkcHVsbF90cmlnZ2VyX2ZpZWxkX3ZhbHVlLCAnPicgKTsKCQl9IGVsc2UgewoJCQkkc29xbC0+Y29uZGl0aW9uc1sgJGtleSBdWyd2YWx1ZSddID0gJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZTsKCQl9CgoJCS8vIEdldCB0aGUgdmFsdWUgZm9yIHRoZSBTT1FMIG9mZnNldC4gSWYgbWF4IGhhcyBhbHJlYWR5IGJlZW4gcmVhY2hlZCwgaXQgaXMgemVyby4KCQkkc29xbC0+b2Zmc2V0ID0gJHRoaXMtPmdldF9wdWxsX29mZnNldCggJHR5cGUsICRzb3FsLCAkcmVzZXRfb2Zmc2V0ICk7CgoJCS8vIGFkZCBhIGZpbHRlciBoZXJlIHRvIG1vZGlmeSB0aGUgcXVlcnkKCQkvLyBIb29rIHRvIGFsbG93IG90aGVyIHBsdWdpbnMgdG8gbW9kaWZ5IHRoZSBTT1FMIHF1ZXJ5IGJlZm9yZSBpdCBpcyBzZW50IHRvIFNhbGVzZm9yY2UuCgkJJHNvcWwgPSBhcHBseV9maWx0ZXJzKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX3F1ZXJ5X21vZGlmeScsICRzb3FsLCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZywgJG1hcHBlZF9maWVsZHMgKTsKCgkJLy8gcXVpY2sgZXhhbXBsZSB0byBjaGFuZ2UgdGhlIG9yZGVyIHRvIGRlc2NlbmRpbmcuCgkJLyogLy8gcGhwY3M6aWdub3JlIFNxdWl6LlBIUC5Db21tZW50ZWRPdXRDb2RlLkZvdW5kCgkJYWRkX2ZpbHRlciggJ29iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlX3B1bGxfcXVlcnlfbW9kaWZ5JywgJ2NoYW5nZV9wdWxsX3F1ZXJ5JywgMTAsIDQgKTsKCQkvLyBjYW4gYWx3YXlzIHJlZHVjZSB0aGlzIG51bWJlciBpZiBhbGwgdGhlIGFyZ3VtZW50cyBhcmUgbm90IG5lY2Vzc2FyeQoJCWZ1bmN0aW9uIGNoYW5nZV9wdWxsX3F1ZXJ5KCAkc29xbCwgJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmcsICRtYXBwZWRfZmllbGRzICkgewoJCQkkc29xbC0+b3JkZXIgPSAnREVTQyc7CgkJCXJldHVybiAkc29xbDsKCQl9CgkJKi8KCgkJLy8gTWFrZSBzdXJlIG91ciBTT1FMIG9iamVjdCBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFycmF5cyBhcmUgdW5pcXVlLiBUaGlzIHByZXZlbnRzIHZhbHVlcyBhZGRlZCB2aWEgZGV2ZWxvcGVyIGhvb2sgZnJvbSBiZWluZyBhZGRlZCByZXBlYXRlZGx5IHdoZW4gYSBxdWVyeSBpcyBjYWNoZWQuCgkJaWYgKCB2ZXJzaW9uX2NvbXBhcmUoIFBIUF9WRVJTSU9OLCAnNy4wLjgnLCAnPj0nICkgKSB7CgkJCSRzb3FsLT5maWVsZHMgICAgID0gYXJyYXlfdW5pcXVlKCAkc29xbC0+ZmllbGRzLCBTT1JUX1JFR1VMQVIgKTsKCQkJJHNvcWwtPm9yZGVyICAgICAgPSBhcnJheV91bmlxdWUoICRzb3FsLT5vcmRlciwgU09SVF9SRUdVTEFSICk7CgkJCSRzb3FsLT5jb25kaXRpb25zID0gYXJyYXlfdW5pcXVlKCAkc29xbC0+Y29uZGl0aW9ucywgU09SVF9SRUdVTEFSICk7CgkJfSBlbHNlIHsKCQkJJHNvcWwtPmZpZWxkcyAgICAgPSBhcnJheV9tYXAoICd1bnNlcmlhbGl6ZScsIGFycmF5X3VuaXF1ZSggYXJyYXlfbWFwKCAnc2VyaWFsaXplJywgJHNvcWwtPmZpZWxkcyApICkgKTsKCQkJJHNvcWwtPm9yZGVyICAgICAgPSBhcnJheV9tYXAoICd1bnNlcmlhbGl6ZScsIGFycmF5X3VuaXF1ZSggYXJyYXlfbWFwKCAnc2VyaWFsaXplJywgJHNvcWwtPm9yZGVyICkgKSApOwoJCQkkc29xbC0+Y29uZGl0aW9ucyA9IGFycmF5X21hcCggJ3Vuc2VyaWFsaXplJywgYXJyYXlfdW5pcXVlKCBhcnJheV9tYXAoICdzZXJpYWxpemUnLCAkc29xbC0+Y29uZGl0aW9ucyApICkgKTsKCQl9CgoJCS8vIHNlcmlhbGl6ZSB0aGUgY3VycmVudGx5IHJ1bm5pbmcgU09RTCBxdWVyeSBhbmQgc3RvcmUgaXQgZm9yIHRoaXMgdHlwZS4KCQkkc2VyaWFsaXplZF9jdXJyZW50X3F1ZXJ5ID0gbWF5YmVfc2VyaWFsaXplKCAkc29xbCApOwoJCSR0aGlzLT5wdWxsX29wdGlvbnMtPnNldCggJ2N1cnJlbnRfcXVlcnknLCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgJHNlcmlhbGl6ZWRfY3VycmVudF9xdWVyeSwgZmFsc2UgKTsKCQlyZXR1cm4gJHNvcWw7Cgl9CgoKCS8qKgoJICogRGV0ZXJtaW5lIHRoZSBvZmZzZXQgZm9yIHRoZSBTT1FMIHF1ZXJ5IHRvIHJ1bgoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJHR5cGUgZS5nLiAiQ29udGFjdCIsICJBY2NvdW50IiwgZXRjLgoJICogQHBhcmFtIG9iamVjdCAkc29xbCB0aGUgU09RTCBvYmplY3QuCgkgKiBAcGFyYW0gYm9vbCAgICRyZXNldCB3aGV0aGVyIHRvIHJlc2V0IHRoZSBvZmZzZXQuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gZ2V0X3B1bGxfb2Zmc2V0KCAkdHlwZSwgJHNvcWwsICRyZXNldCA9IGZhbHNlICkgewoJCS8vIHNldCBhbiBvZmZzZXQuIGlmIHRoZXJlIGlzIGEgc2F2ZWQgb2Zmc2V0LCBhZGQgdGhlIGxpbWl0IHRvIGl0IGFuZCBtb3ZlIG9uLiBvdGhlcndpc2UsIHVzZSB0aGUgbGltaXQuCgkJJG9mZnNldCA9IGlzc2V0KCAkc29xbC0+b2Zmc2V0ICkgPyAkc29xbC0+b2Zmc2V0ICsgJHNvcWwtPmxpbWl0IDogJHNvcWwtPmxpbWl0OwoJCWlmICggdHJ1ZSA9PT0gJHJlc2V0IHx8ICRvZmZzZXQgPiAkdGhpcy0+bWF4X3NvcWxfc2l6ZSApIHsKCQkJJG9mZnNldCA9IDA7CgkJfQoJCXJldHVybiAkb2Zmc2V0OwoJfQoKCS8qKgoJICogR2l2ZW4gYSBTT2JqZWN0IHR5cGUgbmFtZSwgZGV0ZXJtaW5lIHRoZSBkYXRldGltZSB2YWx1ZSB0aGUgU09RTCBvYmplY3Qgc2hvdWxkIHVzZSB0byBmaWx0ZXIgcmVzdWx0cy4gT2Z0ZW4gdGhpcyB3aWxsIGJlIExhc3RNb2RpZmllZERhdGUuCgkgKgoJICogQHBhcmFtIHN0cmluZyAkdHlwZSBlLmcuICJDb250YWN0IiwgIkFjY291bnQiLCBldGMuCgkgKiBAcGFyYW0gb2JqZWN0ICRzb3FsIHRoZSBTT1FMIG9iamVjdC4KCSAqIEBwYXJhbSBpbnQgICAgJGZpZWxkbWFwX2lkIGlzIHRoZSBmaWVsZG1hcCBJRCB0aGF0IGdvZXMgd2l0aCB0aGlzIHF1ZXJ5LgoJICogQHJldHVybiB0aW1lc3RhbXAgJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZQoJICovCglwcml2YXRlIGZ1bmN0aW9uIGdldF9wdWxsX2RhdGVfdmFsdWUoICR0eXBlLCAkc29xbCwgJGZpZWxkbWFwX2lkID0gJycgKSB7CgkJLy8gSWYgbm8gbGFzdHVwZGF0ZSwgZ2V0IGFsbCByZWNvcmRzLCBlbHNlIGdldCByZWNvcmRzIHNpbmNlIGxhc3QgcHVsbC4KCQkvLyB0aGlzIHNob3VsZCBiZSB3aGF0IGtlZXBzIGl0IGZyb20gZ2V0dGluZyBhbGwgdGhlIHJlY29yZHMsIHdoZXRoZXIgb3Igbm90IHRoZXkndmUgZXZlciBiZWVuIHVwZGF0ZWQKCQkvLyB3ZSBhbHNvIHVzZSB0aGUgb3B0aW9uIGZvciB3aGVuIHRoZSBwbHVnaW4gd2FzIGluc3RhbGxlZCwgYW5kIGRvbid0IGdvIGJhY2sgZnVydGhlciB0aGFuIHRoYXQgYnkgZGVmYXVsdC4KCgkJJHNmX2FjdGl2YXRlX3RpbWUgPSBnZXRfb3B0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdhY3RpdmF0ZV90aW1lJywgJycgKTsKCQkkc2ZfbGFzdF9zeW5jICAgICA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ2xhc3Rfc3luYycsICR0eXBlLCAkZmllbGRtYXBfaWQsIG51bGwgKTsKCQlpZiAoICRzZl9sYXN0X3N5bmMgKSB7CgkJCSRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWUgPSBnbWRhdGUoICdZLW0tZFxUSDppOnNcWicsICRzZl9sYXN0X3N5bmMgKTsKCQl9IGVsc2UgewoJCQkkcHVsbF90cmlnZ2VyX2ZpZWxkX3ZhbHVlID0gZ21kYXRlKCAnWS1tLWRcVEg6aTpzXFonLCAkc2ZfYWN0aXZhdGVfdGltZSApOwoJCX0KCgkJLy8gdG9kbzogcHV0IGEgaG9vayBpbiBoZXJlIHRvIGxldCBkZXZzIGdvIHJldHJvYWN0aXZlIGlmIHRoZXkgd2FudCwgYW5kIHN5bmMgZGF0YSBmcm9tIGJlZm9yZSBwbHVnaW4gd2FzIGFjdGl2YXRlZC4KCgkJcmV0dXJuICRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWU7CgoJfQoKCS8qKgoJICogR2V0IG1lcmdlZCByZWNvcmRzIGZyb20gU2FsZXNmb3JjZS4KCSAqIE5vdGUgdGhhdCBtZXJnZXMgY2FuIGN1cnJlbnRseSBvbmx5IHdvcmsgaWYgdGhlIFNvYXAgQVBJIGlzIGVuYWJsZWQuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gZ2V0X21lcmdlZF9yZWNvcmRzKCkgewoKCQkkdXNlX3NvYXAgPSAkdGhpcy0+c2FsZXNmb3JjZVsnc29hcF9sb2FkZWQnXTsKCQlpZiAoIHRydWUgPT09ICR1c2Vfc29hcCApIHsKCQkJJHNvYXAgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9Tb2FwX1BhcnRuZXIoKTsKCQl9CgkJJHNlY29uZHMgPSA2MDsKCgkJJG1lcmdlZF9yZWNvcmRzID0gYXJyYXkoKTsKCgkJLy8gTG9hZCBmaWVsZG1hcHMgZm9yIG1lcmdlYWJsZSB0eXBlcy4KCQlmb3JlYWNoICggJHRoaXMtPm1lcmdlYWJsZV9yZWNvcmRfdHlwZXMgYXMgJHR5cGUgKSB7CgkJCSRtYXBwaW5ncyA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2ZpZWxkbWFwcygKCQkJCW51bGwsCgkJCQlhcnJheV9tZXJnZSgKCQkJCQkkdGhpcy0+bWFwcGluZ3MtPmFjdGl2ZV9maWVsZG1hcF9jb25kaXRpb25zLAoJCQkJCWFycmF5KAoJCQkJCQknc2FsZXNmb3JjZV9vYmplY3QnID0+ICR0eXBlLAoJCQkJCSkKCQkJCSksCgkJCSk7CgoJCQkvLyBJdGVyYXRlIG92ZXIgZWFjaCBmaWVsZCBtYXBwaW5nIHRvIGRldGVybWluZSBvdXIgcXVlcnkgcGFyYW1ldGVycy4KCQkJZm9yZWFjaCAoICRtYXBwaW5ncyBhcyAkc2FsZXNmb3JjZV9tYXBwaW5nICkgewoJCQkJJGxhc3RfbWVyZ2Vfc3luYyA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ21lcmdlX2xhc3QnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddLCAnJywgdGltZSgpICk7CgkJCQkkbm93ICAgICAgICAgICAgID0gdGltZSgpOwoJCQkJJHRoaXMtPnB1bGxfb3B0aW9ucy0+c2V0KCAnbWVyZ2VfbGFzdCcsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J10sICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sICRub3cgKTsKCgkJCQkvLyBnZXRfZGVsZXRlZCgpIGNvbnN0cmFpbnQ6IHN0YXJ0RGF0ZSBjYW5ub3QgYmUgbW9yZSB0aGFuIDMwIGRheXMgYWdvCgkJCQkvLyAodXNpbmcgYW4gaW5jb21wYXRpYmxlIGRhdGUgbWF5IGxlYWQgdG8gZXhjZXB0aW9ucykuCgkJCQkkbGFzdF9tZXJnZV9zeW5jID0gJGxhc3RfbWVyZ2Vfc3luYyA+ICggdGltZSgpIC0gMjUwNTYwMCApID8gJGxhc3RfbWVyZ2Vfc3luYyA6ICggdGltZSgpIC0gMjUwNTYwMCApOwoKCQkJCS8vIGdldF9kZWxldGVkKCkgY29uc3RyYWludDogc3RhcnREYXRlIG11c3QgYmUgYXQgbGVhc3Qgb25lIG1pbnV0ZSBncmVhdGVyCgkJCQkvLyB0aGFuIGVuZERhdGUuCgkJCQkkbm93ID0gJG5vdyA+ICggJGxhc3RfbWVyZ2Vfc3luYyArIDYwICkgPyAkbm93IDogJG5vdyArIDYwOwoKCQkJCS8vIG5lZWQgdG8gYmUgdXNpbmcgZ21kYXRlIGZvciBTYWxlc2ZvcmNlIGNhbGwuCgkJCQkkbGFzdF9tZXJnZV9zeW5jX3NmID0gZ21kYXRlKCAnWS1tLWRcVEg6aTpzXFonLCAkbGFzdF9tZXJnZV9zeW5jICk7CgoJCQkJLy8gdG9kbzogd2Ugd2FudCB0byBhZGQgc29tZXRoaW5nIGxpa2UgdGhpcyBldmVudHVhbGx5LCB0byB0aGUgcXVlcnk6IEFORCBTeXN0ZW1Nb2RzdGFtcCA+IDIwMDYtMDEtMDFUMjM6MDE6MDErMDE6MDAuCgoJCQkJJG1lcmdlZCA9IGFycmF5KCk7CgkJCQkvLyB0aGVyZSBkb2Vzbid0IGFwcGVhciB0byBiZSBhIHdheSB0byBkbyB0aGlzIGluIHRoZSByZXN0IGFwaTsgZm9yIG5vdyB3ZSdsbCBkbyBzb2FwLgoJCQkJaWYgKCB0cnVlID09PSAkdXNlX3NvYXAgKSB7CgkJCQkJJHR5cGUgICA9ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J107CgkJCQkJJHF1ZXJ5ICA9ICJTRUxFQ1QgSWQsIGlzRGVsZXRlZCwgbWFzdGVyUmVjb3JkSWQgRlJPTSAkdHlwZSBXSEVSRSBtYXN0ZXJSZWNvcmRJZCAhPSAnJyBBTkQgU3lzdGVtTW9kU3RhbXAgPiAkbGFzdF9tZXJnZV9zeW5jX3NmIjsKCQkJCQkkbWVyZ2VkID0gJHNvYXAtPnRyeV9zb2FwKCAncXVlcnlBbGwnLCAkcXVlcnkgKTsKCQkJCQlpZiAoICEgZW1wdHkoICRtZXJnZWQtPnJlY29yZHMgKSApIHsKCQkJCQkJJG1lcmdlZCA9IGpzb25fZGVjb2RlKCB3cF9qc29uX2VuY29kZSggJG1lcmdlZC0+cmVjb3JkcyApLCB0cnVlICk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJY29udGludWU7CgkJCQkJfQoKCQkJCQlmb3JlYWNoICggJG1lcmdlZCBhcyAkcmVzdWx0ICkgewoJCQkJCQkkcmVjb3JkID0gYXJyYXkoKTsKCQkJCQkJaWYgKCBpc19hcnJheSggYXJyYXlfdW5pcXVlKCAkcmVzdWx0WydJZCddICkgKSApIHsKCQkJCQkJCSRyZWNvcmRbJ0lkJ10gPSBhcnJheV91bmlxdWUoICRyZXN1bHRbJ0lkJ10gKVswXTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCSRyZWNvcmRbJ0lkJ10gPSAkcmVzdWx0WydJZCddOwoJCQkJCQl9CgkJCQkJCWlmICggaXNzZXQoICRyZXN1bHRbJ2FueSddICkgKSB7CgkJCQkJCQlsaWJ4bWxfdXNlX2ludGVybmFsX2Vycm9ycyggdHJ1ZSApOwoJCQkJCQkJJGFueSA9IHNpbXBsZXhtbF9sb2FkX3N0cmluZyggJzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+PHJvb3Q+JyAuICRyZXN1bHRbJ2FueSddIC4gJzwvcm9vdD4nICk7CgkJCQkJCQlpZiAoICRhbnkgKSB7CgkJCQkJCQkJJGpzb24gICA9IHdwX2pzb25fZW5jb2RlKCAkYW55ICk7CgkJCQkJCQkJJGFycmF5ICA9IGpzb25fZGVjb2RlKCAkanNvbiwgdHJ1ZSApOwoJCQkJCQkJCSRyZWNvcmQgPSBhcnJheV9tZXJnZSggJHJlY29yZCwgJGFycmF5ICk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQkJJG1lcmdlZF9yZWNvcmRzW10gPSAkcmVjb3JkOwoJCQkJCQkkdGhpcy0+cmVzcG9uZF90b19zYWxlc2ZvcmNlX21lcmdlKCAkdHlwZSwgJHJlY29yZCApOwoJCQkJCX0gLy8gRW5kIGZvcmVhY2ggb24gbWVyZ2VkCgkJCQl9IC8vIEVuZCBpZiBvbiBzb2FwCgkJCQlpZiAoICEgZW1wdHkoICRtZXJnZWRfcmVjb3JkcyApICkgewoJCQkJCXNldF90cmFuc2llbnQoICdzYWxlc2ZvcmNlX21lcmdlZF8nIC4gJHR5cGUsICRtZXJnZWRfcmVjb3JkcywgJHNlY29uZHMgKTsKCQkJCX0KCQkJfSAvLyBFbmQgZm9yZWFjaCBvbiBtYXBwaW5ncwoJCX0gLy8gZW5kIGZvcmVhY2ggb24gdHlwZXMKCgl9CgoJLyoqCgkgKiBSZXNwb25kIHRvIFNhbGVzZm9yY2UgbWVyZ2UgZXZlbnRzCgkgKiBUaGlzIG1lYW5zIHdlIHVwZGF0ZSB0aGUgbWFwcGluZyBvYmplY3QgdG8gY29udGFpbiB0aGUgbmV3IFNhbGVzZm9yY2UgSWQsIGFuZCBwdWxsIGl0cyBkYXRhCgkgKgoJICogQHBhcmFtIHN0cmluZyAkb2JqZWN0X3R5cGUgd2hhdCB0eXBlIG9mIFNhbGVzZm9yY2Ugb2JqZWN0IGl0IGlzLgoJICogQHBhcmFtIGFycmF5ICAkbWVyZ2VkX3JlY29yZCB0aGUgcmVjb3JkIHRoYXQgd2FzIG1lcmdlZC4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiByZXNwb25kX3RvX3NhbGVzZm9yY2VfbWVyZ2UoICRvYmplY3RfdHlwZSwgJG1lcmdlZF9yZWNvcmQgKSB7CgkJJG9wID0gJ01lcmdlJzsKCQlpZiAoIGlzc2V0KCAkbWVyZ2VkX3JlY29yZFsnSWQnXSApICYmIHRydWUgPT09IGZpbHRlcl92YXIoICRtZXJnZWRfcmVjb3JkWydzZjpJc0RlbGV0ZWQnXSwgRklMVEVSX1ZBTElEQVRFX0JPT0xFQU4gKSAmJiAnJyAhPT0gJG1lcmdlZF9yZWNvcmRbJ3NmOk1hc3RlclJlY29yZElkJ10gKSB7CgkJCSRwcmV2aW91c19zZl9pZCAgPSAkbWVyZ2VkX3JlY29yZFsnSWQnXTsKCQkJJG5ld19zZl9pZCAgICAgICA9ICRtZXJnZWRfcmVjb3JkWydzZjpNYXN0ZXJSZWNvcmRJZCddOwoJCQkkbWFwcGluZ19vYmplY3RzID0gJHRoaXMtPm1hcHBpbmdzLT5sb2FkX2FsbF9ieV9zYWxlc2ZvcmNlKCAkcHJldmlvdXNfc2ZfaWQgKTsKCQkJZm9yZWFjaCAoICRtYXBwaW5nX29iamVjdHMgYXMgJG1hcHBpbmdfb2JqZWN0ICkgewoJCQkJJHdvcmRwcmVzc190eXBlICAgICAgICAgICAgICAgICAgPSAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19vYmplY3QnXTsKCQkJCSR3b3JkcHJlc3NfaWQgICAgICAgICAgICAgICAgICAgID0gJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXTsKCQkJCSRtYXBwaW5nX29iamVjdFsnc2FsZXNmb3JjZV9pZCddID0gJG5ld19zZl9pZDsKCQkJCSRtYXBwaW5nX29iamVjdCAgICAgICAgICAgICAgICAgID0gJHRoaXMtPm1hcHBpbmdzLT51cGRhdGVfb2JqZWN0X21hcCggJG1hcHBpbmdfb2JqZWN0LCAkbWFwcGluZ19vYmplY3RbJ2lkJ10gKTsKCgkJCQkkc3RhdHVzID0gJ3N1Y2Nlc3MnOwoKCQkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJCX0KCgkJCQkkdGl0bGUgPSBzcHJpbnRmKAoJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgd2hhdCBvcGVyYXRpb24gaXMgaGFwcGVuaW5nLCAzKSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZSwgNCkgdGhlIHByZXZpb3VzIFNhbGVzZm9yY2UgSWQgdmFsdWUsIDUpIHRoZSBuZXcgU2FsZXNmb3JjZSBJZCB2YWx1ZSwgNikgdGhlIG5hbWUgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QsIDcpIHRoZSBXb3JkUHJlc3MgaWQgdmFsdWUuCgkJCQkJZXNjX2h0bWxfXyggJyUxJHM6ICUyJHMgU2FsZXNmb3JjZSAlMyRzIG9iamVjdHMgd2l0aCBJZHMgJTQkcyBhbmQgJTUkcyB3ZXJlIG1lcmdlZCAoJTUkcyBpcyB0aGUgcmVtYWluaW5nIElELiBJdCBpcyBtYXBwZWQgdG8gV29yZFByZXNzICU2JHMgd2l0aCAlNyRzLiknLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCQllc2NfYXR0ciggJG9iamVjdF90eXBlICksCgkJCQkJZXNjX2F0dHIoICRwcmV2aW91c19zZl9pZCApLAoJCQkJCWVzY19hdHRyKCAkbmV3X3NmX2lkICksCgkJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfdHlwZSApLAoJCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkICkKCQkJCSk7CgoJCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQkJJ21lc3NhZ2UnID0+ICcnLAoJCQkJCSd0cmlnZ2VyJyA9PiAwLAoJCQkJCSdwYXJlbnQnICA9PiAkd29yZHByZXNzX2lkLAoJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJKTsKCgkJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCgkJCQkvLyBhZnRlciBpdCBoYXMgYmVlbiBtZXJnZWQsIHB1bGwgaXQuCgkJCQkkcmVzdWx0ID0gJHRoaXMtPm1hbnVhbF9wdWxsKCAkb2JqZWN0X3R5cGUsICRuZXdfc2ZfaWQgKTsKCgkJCX0KCQl9Cgl9CgoJLyoqCgkgKiBHZXQgZGVsZXRlZCByZWNvcmRzIGZyb20gc2FsZXNmb3JjZS4KCSAqIE5vdGUgdGhhdCBkZWxldGlvbnMgY2FuIG9ubHkgYmUgcXVlcmllZCB2aWEgUkVTVCB3aXRoIGFuIEFQSSB2ZXJzaW9uID49IDI5LjAuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gZ2V0X2RlbGV0ZWRfcmVjb3JkcygpIHsKCgkJJHNmYXBpID0gJHRoaXMtPnNhbGVzZm9yY2VbJ3NmYXBpJ107CgoJCS8vIFRoZSBEcnVwYWwgbW9kdWxlIHJ1bnMgYSBjaGVja19tZXJnZWRfcmVjb3JkcyBjYWxsIHJpZ2h0IGhlcmUsIGJ1dCBpdCBzZWVtcyB0byBiZSBhbiBpbnZhbGlkIFNPUUwgcXVlcnkuCgkJLy8gV2UgYXJlIG5vdCBpbmNvcnBvcmF0aW5nIHRoYXQgcGFydCBvZiB0aGlzIGJyYW5jaCBhdCB0aGlzIHRpbWUKCQkvLyBTZWUgR2l0SHViIGlzc3VlIDE5NyB0byB0cmFjayB0aGlzIHN0YXR1cy4gaHR0cHM6Ly9naXRodWIuY29tL01pbm5Qb3N0L29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlL2lzc3Vlcy8xOTcuCgoJCS8vIExvYWQgYWxsIHVuaXF1ZSBTRiByZWNvcmQgdHlwZXMgdGhhdCB3ZSBoYXZlIG1hcHBpbmdzIGZvci4gVGhpcyByZXN1bHRzIGluIGEgZG91YmxlIGxvb3AuCgkJZm9yZWFjaCAoICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2ZpZWxkbWFwcyggbnVsbCwgJHRoaXMtPm1hcHBpbmdzLT5hY3RpdmVfZmllbGRtYXBfY29uZGl0aW9ucyApIGFzICRzYWxlc2ZvcmNlX21hcHBpbmcgKSB7CgoJCQkkbWFwX3N5bmNfdHJpZ2dlcnMgPSAkc2FsZXNmb3JjZV9tYXBwaW5nWydzeW5jX3RyaWdnZXJzJ107IC8vIHRoaXMgc2V0cyB3aGljaCBTYWxlc2ZvcmNlIHRyaWdnZXJzIGFyZSBhbGxvd2VkIGZvciB0aGUgbWFwcGluZy4KCQkJJHR5cGUgICAgICAgICAgICAgID0gJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXTsgLy8gdGhpcyBzZXRzIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlIGZvciB0aGUgU09RTCBxdWVyeS4KCgkJCSRtYXBwaW5ncyA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2ZpZWxkbWFwcygKCQkJCW51bGwsCgkJCQlhcnJheV9tZXJnZSgKCQkJCQkkdGhpcy0+bWFwcGluZ3MtPmFjdGl2ZV9maWVsZG1hcF9jb25kaXRpb25zLAoJCQkJCWFycmF5KAoJCQkJCQknc2FsZXNmb3JjZV9vYmplY3QnID0+ICR0eXBlLAoJCQkJCSkKCQkJCSksCgkJCSk7CgoJCQkvLyBJdGVyYXRlIG92ZXIgZWFjaCBmaWVsZCBtYXBwaW5nIHRvIGRldGVybWluZSBvdXIgcXVlcnkgcGFyYW1ldGVycy4KCQkJZm9yZWFjaCAoICRtYXBwaW5ncyBhcyAkc2FsZXNmb3JjZV9tYXBwaW5nICkgewoKCQkJCSRsYXN0X2RlbGV0ZV9zeW5jID0gJHRoaXMtPnB1bGxfb3B0aW9ucy0+Z2V0KCAnZGVsZXRlX2xhc3QnLCAkdHlwZSwgJycsIHRpbWUoKSApOwoJCQkJJG5vdyAgICAgICAgICAgICAgPSB0aW1lKCk7CgkJCQkkdGhpcy0+cHVsbF9vcHRpb25zLT5zZXQoICdkZWxldGVfbGFzdCcsICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAkbm93ICk7CgoJCQkJLy8gZ2V0X2RlbGV0ZWQoKSBjb25zdHJhaW50OiBzdGFydERhdGUgY2Fubm90IGJlIG1vcmUgdGhhbiAzMCBkYXlzIGFnbwoJCQkJLy8gKHVzaW5nIGFuIGluY29tcGF0aWJsZSBkYXRlIG1heSBsZWFkIHRvIGV4Y2VwdGlvbnMpLgoJCQkJJGxhc3RfZGVsZXRlX3N5bmMgPSAkbGFzdF9kZWxldGVfc3luYyA+ICggdGltZSgpIC0gMjUwNTYwMCApID8gJGxhc3RfZGVsZXRlX3N5bmMgOiAoIHRpbWUoKSAtIDI1MDU2MDAgKTsKCgkJCQkvLyBnZXRfZGVsZXRlZCgpIGNvbnN0cmFpbnQ6IHN0YXJ0RGF0ZSBtdXN0IGJlIGF0IGxlYXN0IG9uZSBtaW51dGUgZ3JlYXRlcgoJCQkJLy8gdGhhbiBlbmREYXRlLgoJCQkJJG5vdyA9ICRub3cgPiAoICRsYXN0X2RlbGV0ZV9zeW5jICsgNjAgKSA/ICRub3cgOiAkbm93ICsgNjA7CgoJCQkJLy8gbmVlZCB0byBiZSB1c2luZyBnbWRhdGUgZm9yIFNhbGVzZm9yY2UgY2FsbC4KCQkJCSRsYXN0X2RlbGV0ZV9zeW5jX3NmID0gZ21kYXRlKCAnWS1tLWRcVEg6aTpzXFonLCAkbGFzdF9kZWxldGVfc3luYyApOwoJCQkJJG5vd19zZiAgICAgICAgICAgICAgPSBnbWRhdGUoICdZLW0tZFxUSDppOnNcWicsICRub3cgKTsKCgkJCQkvLyBTYWxlc2ZvcmNlIGNhbGwuCgkJCQkkZGVsZXRlZCA9ICRzZmFwaS0+Z2V0X2RlbGV0ZWQoICR0eXBlLCAkbGFzdF9kZWxldGVfc3luY19zZiwgJG5vd19zZiApOwoJCQkJJG1lcmdlZCAgPSBnZXRfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9tZXJnZWRfJyAuICR0eXBlICk7CgkJCQlpZiAoIGZhbHNlICE9PSAkbWVyZ2VkICYmIGlzc2V0KCAkZGVsZXRlZFsnZGF0YSddWydkZWxldGVkUmVjb3JkcyddICkgKSB7CgkJCQkJZm9yZWFjaCAoICRtZXJnZWQgYXMgJGtleSApIHsKCQkJCQkJJGRlbGV0ZWRbJ2RhdGEnXVsnZGVsZXRlZFJlY29yZHMnXSA9IGFycmF5X2ZpbHRlcigKCQkJCQkJCSRkZWxldGVkWydkYXRhJ11bJ2RlbGV0ZWRSZWNvcmRzJ10sCgkJCQkJCQlmdW5jdGlvbiggJHggKSB1c2UgKCAka2V5ICkgewoJCQkJCQkJCWlmICggISBpc3NldCggJHhbJ0lkJ10gKSAmJiBpc3NldCggJHhbJ2lkJ10gKSApIHsKCQkJCQkJCQkJJHhbJ0lkJ10gPSAkeFsnaWQnXTsKCQkJCQkJCQl9CgkJCQkJCQkJcmV0dXJuICR4WydJZCddICE9PSAka2V5OwoJCQkJCQkJfQoJCQkJCQkpOwoJCQkJCX0KCQkJCX0KCgkJCQlpZiAoIGVtcHR5KCAkZGVsZXRlZFsnZGF0YSddWydkZWxldGVkUmVjb3JkcyddICkgKSB7CgkJCQkJY29udGludWU7CgkJCQl9CgoJCQkJZm9yZWFjaCAoICRkZWxldGVkWydkYXRhJ11bJ2RlbGV0ZWRSZWNvcmRzJ10gYXMgJHJlc3VsdCApIHsKCgkJCQkJJHNmX3N5bmNfdHJpZ2dlciA9ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9kZWxldGU7CgoJCQkJCS8vIFNhbGVzZm9yY2Ugc2VyaW91c2x5IHJldHVybnMgSWQgZm9yIHVwZGF0ZSByZXF1ZXN0cyBhbmQgaWQgZm9yIGRlbGV0ZSByZXF1ZXN0cyBhbmQgdGhpcyBtYWtlcyBubyBzZW5zZSBidXQgbWF5YmUgb25lIGRheSB0aGV5IG1pZ2h0IGNoYW5nZSBpdCBzb21laG93PwoJCQkJCWlmICggISBpc3NldCggJHJlc3VsdFsnSWQnXSApICYmIGlzc2V0KCAkcmVzdWx0WydpZCddICkgKSB7CgkJCQkJCSRyZXN1bHRbJ0lkJ10gPSAkcmVzdWx0WydpZCddOwoJCQkJCX0KCQkJCQkkZGF0YSA9IGFycmF5KAoJCQkJCQknb2JqZWN0X3R5cGUnICAgICA9PiAkdHlwZSwKCQkJCQkJJ29iamVjdCcgICAgICAgICAgPT4gJHJlc3VsdCwKCQkJCQkJJ21hcHBpbmcnICAgICAgICAgPT4gJHNhbGVzZm9yY2VfbWFwcGluZywKCQkJCQkJJ3NmX3N5bmNfdHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwgLy8gc2YgZGVsZXRlIHRyaWdnZXIuCgkJCQkJKTsKCgkJCQkJLy8gZGVmYXVsdCBpcyBwdWxsIGlzIGFsbG93ZWQuCgkJCQkJJHB1bGxfYWxsb3dlZCA9IHRydWU7CgoJCQkJCS8vIGlmIHRoZSBjdXJyZW50IGZpZWxkbWFwIGRvZXMgbm90IGFsbG93IGRlbGV0ZSwgc2V0IHB1bGxfYWxsb3dlZCB0byBmYWxzZS4KCQkJCQlpZiAoIGlzc2V0KCAkbWFwX3N5bmNfdHJpZ2dlcnMgKSAmJiAhIGluX2FycmF5KCAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfZGVsZXRlLCAkbWFwX3N5bmNfdHJpZ2dlcnMsIHRydWUgKSApIHsKCQkJCQkJJHB1bGxfYWxsb3dlZCA9IGZhbHNlOwoJCQkJCX0KCgkJCQkJLy8gSG9vayB0byBhbGxvdyBvdGhlciBwbHVnaW5zIHRvIHByZXZlbnQgYSBwdWxsIHBlci1tYXBwaW5nLgoJCQkJCS8vIFB1dHRpbmcgdGhlIHB1bGxfYWxsb3dlZCBob29rIGhlcmUgd2lsbCBrZWVwIHRoZSBxdWV1ZSBmcm9tIGRlbGV0aW5nIGEgV29yZFByZXNzIHJlY29yZCB3aGVuIGl0IGlzIG5vdCBzdXBwb3NlZCB0byBkZWxldGUgaXQuCgkJCQkJJHB1bGxfYWxsb3dlZCA9IGFwcGx5X2ZpbHRlcnMoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfb2JqZWN0X2FsbG93ZWQnLCAkcHVsbF9hbGxvd2VkLCAkdHlwZSwgJHJlc3VsdCwgJHNmX3N5bmNfdHJpZ2dlciwgJHNhbGVzZm9yY2VfbWFwcGluZyApOwoKCQkJCQkvLyBleGFtcGxlIHRvIGtlZXAgZnJvbSBkZWxldGluZyB0aGUgV29yZFByZXNzIHJlY29yZCBtYXBwZWQgdG8gdGhlIENvbnRhY3Qgd2l0aCBJZCBvZiBhYmNkZWYuCgkJCQkJLyogLy8gcGhwY3M6aWdub3JlIFNxdWl6LlBIUC5Db21tZW50ZWRPdXRDb2RlLkZvdW5kCgkJCQkJYWRkX2ZpbHRlciggJ29iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlX3B1bGxfb2JqZWN0X2FsbG93ZWQnLCAnY2hlY2tfdXNlcicsIDEwLCA1ICk7CgkJCQkJLy8gY2FuIGFsd2F5cyByZWR1Y2UgdGhpcyBudW1iZXIgaWYgYWxsIHRoZSBhcmd1bWVudHMgYXJlIG5vdCBuZWNlc3NhcnkKCQkJCQlmdW5jdGlvbiBjaGVja191c2VyKCAkcHVsbF9hbGxvd2VkLCAkb2JqZWN0X3R5cGUsICRvYmplY3QsICRzZl9zeW5jX3RyaWdnZXIsICRzYWxlc2ZvcmNlX21hcHBpbmcgKSB7CgkJCQkJCWlmICggJG9iamVjdF90eXBlID09PSAnQ29udGFjdCcgJiYgJG9iamVjdFsnSWQnXSA9PT0gJ2FiY2RlZicgKSB7CgkJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJCX0KCQkJCQl9CgkJCQkJKi8KCgkJCQkJaWYgKCBmYWxzZSA9PT0gJHB1bGxfYWxsb3dlZCApIHsKCQkJCQkJY29udGludWU7CgkJCQkJfQoKCQkJCQkvLyBzZXR1cCB0aGUgSWQgYW5kIHRoZSBkZWxldGVkRGF0ZSBmb3IgcGFzc2luZyB0byB0aGUgcXVldWUuCgkJCQkJJGRlbGV0ZWRfaXRlbSA9IGFycmF5KAoJCQkJCQknSWQnICAgICAgICAgID0+ICRyZXN1bHRbJ0lkJ10sCgkJCQkJCSdkZWxldGVkRGF0ZScgPT4gJHJlc3VsdFsnZGVsZXRlZERhdGUnXSwKCQkJCQkpOwoKCQkJCQkvLyBBZGQgYSBxdWV1ZSBhY3Rpb24gdG8gZGVsZXRlIGRhdGEgZnJvbSBXb3JkUHJlc3MgYWZ0ZXIgaXQgaGFzIGJlZW4gZGVsZXRlZCBmcm9tIFNhbGVzZm9yY2UuCgkJCQkJJHRoaXMtPnF1ZXVlLT5hZGQoCgkJCQkJCSR0aGlzLT5zY2hlZHVsYWJsZV9jbGFzc2VzWyAkdGhpcy0+c2NoZWR1bGVfbmFtZSBdWydjYWxsYmFjayddLAoJCQkJCQlhcnJheSgKCQkJCQkJCSdvYmplY3RfdHlwZScgICAgID0+ICR0eXBlLAoJCQkJCQkJJ29iamVjdCcgICAgICAgICAgPT4gJGRlbGV0ZWRfaXRlbSwKCQkJCQkJCSdzZl9zeW5jX3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCSksCgkJCQkJCSR0aGlzLT5zY2hlZHVsZV9uYW1lCgkJCQkJKTsKCgkJCQl9IC8vIGVuZCBmb3JlYWNoLgoKCQkJCSR0aGlzLT5wdWxsX29wdGlvbnMtPnNldCggJ2RlbGV0ZV9sYXN0JywgJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sIHRpbWUoKSApOwoKCQkJfSAvLyBFbmQgZm9yZWFjaCgpIGxvb3AuCgkJfSAvLyBFbmQgZm9yZWFjaCgpIGxvb3AuCgl9CgoJLyoqCgkgKiBNZXRob2QgZm9yIGFqYXggaG9va3MgdG8gY2FsbCBmb3IgcHVsbGluZyBtYW51YWxseQoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJG9iamVjdF90eXBlIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlLgoJICogQHBhcmFtIHN0cmluZyAkc2FsZXNmb3JjZV9pZCB0aGUgU2FsZXNmb3JjZSByZWNvcmQgSUQuCgkgKiBAcmV0dXJuIGFycmF5ICRyZXN1bHQKCSAqLwoJcHVibGljIGZ1bmN0aW9uIG1hbnVhbF9wdWxsKCAkb2JqZWN0X3R5cGUsICRzYWxlc2ZvcmNlX2lkID0gJycgKSB7CgoJCWlmICggJycgPT09ICRzYWxlc2ZvcmNlX2lkICkgewoJCQkkc2Zfc3luY190cmlnZ2VyID0gJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX2NyZWF0ZTsKCQl9IGVsc2UgewoJCQkkc2Zfc3luY190cmlnZ2VyID0gJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX3VwZGF0ZTsKCQl9CgoJCSRyZXN1bHRzID0gJHRoaXMtPnNhbGVzZm9yY2VfcHVsbF9wcm9jZXNzX3JlY29yZHMoICRvYmplY3RfdHlwZSwgJHNhbGVzZm9yY2VfaWQsICRzZl9zeW5jX3RyaWdnZXIgKTsKCgkJJGNvZGUgPSAnMjAxJzsKCQlmb3JlYWNoICggJHJlc3VsdHMgYXMgJHJlc3VsdCApIHsKCQkJaWYgKCAhIGlzc2V0KCAkcmVzdWx0WydzdGF0dXMnXSApIHx8ICdzdWNjZXNzJyAhPT0gJHJlc3VsdFsnc3RhdHVzJ10gKSB7CgkJCQkkY29kZSA9ICc0MDMnOwoJCQl9CgkJfQoKCQkkcmVzdWx0ID0gYXJyYXkoCgkJCSdjb2RlJyA9PiAkY29kZSwKCQkJJ2RhdGEnID0+IGFycmF5KAoJCQkJJ3N1Y2Nlc3MnID0+ICRyZXN1bHRzLAoJCQkpLAoJCSk7CgoJCXJldHVybiAkcmVzdWx0OwoKCX0KCgkvKioKCSAqIFN5bmMgV29yZFByZXNzIG9iamVjdHMgYW5kIFNhbGVzZm9yY2Ugb2JqZWN0cyBmcm9tIHRoZSBxdWV1ZSB1c2luZyB0aGUgUkVTVCBBUEkuCgkgKgoJICogQHBhcmFtIHN0cmluZyAgICAgICAkb2JqZWN0X3R5cGUgVHlwZSBvZiBTYWxlc2ZvcmNlIG9iamVjdC4KCSAqIEBwYXJhbSBhcnJheXxzdHJpbmcgJG9iamVjdCBUaGUgU2FsZXNmb3JjZSBkYXRhIG9yIGl0cyBJZCB2YWx1ZS4KCSAqIEBwYXJhbSBpbnQgICAgICAgICAgJHNmX3N5bmNfdHJpZ2dlciBUcmlnZ2VyIGZvciB0aGlzIHN5bmMuCgkgKiBAcmV0dXJuIGJvb2wgdHJ1ZSBvciBleGl0IHRoZSBtZXRob2QKCSAqIEB0aHJvd3MgT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIEV4Y2VwdGlvbiAkZS4KCSAqLwoJcHVibGljIGZ1bmN0aW9uIHNhbGVzZm9yY2VfcHVsbF9wcm9jZXNzX3JlY29yZHMoICRvYmplY3RfdHlwZSwgJG9iamVjdCwgJHNmX3N5bmNfdHJpZ2dlciApIHsKCgkJJHNmYXBpID0gJHRoaXMtPnNhbGVzZm9yY2VbJ3NmYXBpJ107CgoJCWlmICggaXNfc3RyaW5nKCAkb2JqZWN0ICkgKSB7CgkJCSRzYWxlc2ZvcmNlX2lkID0gJG9iamVjdDsKCQkJLy8gTG9hZCB0aGUgU2FsZXNmb3JjZSBvYmplY3QgZGF0YSB0byBzYXZlIGluIFdvcmRQcmVzcy4gV2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGlzIGRhdGEgZG9lcyBub3QgZ2V0IGNhY2hlZCwgd2hpY2ggaXMgY29uc2lzdGVudCB3aXRoIG90aGVyIHB1bGwgYmVoYXZpb3IgYXMgd2VsbCBhcyBpbiBvdGhlciBtZXRob2RzIGluIHRoaXMgY2xhc3MuCgkJCS8vIFdlIHNob3VsZCBvbmx5IGRvIHRoaXMgaWYgd2UncmUgbm90IHRyeWluZyB0byBkZWxldGUgZGF0YSBpbiBXb3JkUHJlc3MgLSBvdGhlcndpc2UsIHdlJ2xsIGdldCBhIDQwNCBmcm9tIFNhbGVzZm9yY2UgYW5kIHRoZSBkZWxldGUgd2lsbCBmYWlsLgoJCQlpZiAoICRzZl9zeW5jX3RyaWdnZXIgIT09ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9kZWxldGUgKSB7CgkJCQkkb2JqZWN0ID0gJHNmYXBpLT5vYmplY3RfcmVhZCgKCQkJCQkkb2JqZWN0X3R5cGUsCgkJCQkJJHNhbGVzZm9yY2VfaWQsCgkJCQkJYXJyYXkoCgkJCQkJCSdjYWNoZScgPT4gZmFsc2UsCgkJCQkJKQoJCQkJKVsnZGF0YSddOwoJCQl9IGVsc2UgewoJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+ZGVidWcgKSB7CgkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3IgZmFpbGVkIHB1bGwuCgkJCQkJJHN0YXR1cyA9ICdkZWJ1Zyc7CgkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cy4KCQkJCQkJZXNjX2h0bWxfXyggJyUxJHM6IHdlIGFyZSBtaXNzaW5nIGEgZGVsZXRlZERhdGUgYXR0cmlidXRlIGhlcmUsIGJ1dCBhcmUgZXhwZWN0ZWQgdG8gZGVsZXRlIGFuIGl0ZW0uJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICkKCQkJCQkpOwoKCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJfQoKCQkJCQkkZGVidWcgPSBhcnJheSgKCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJJ21lc3NhZ2UnID0+ICcnLAoJCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJJ3BhcmVudCcgID0+ICcnLAoJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkpOwoKCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRkZWJ1ZyApOwoJCQkJfQoKCQkJCSRvYmplY3QgPSBhcnJheSgKCQkJCQknSWQnICAgICAgICAgID0+ICRvYmplY3QsCgkJCQkJJ2RlbGV0ZWREYXRlJyA9PiBnbWRhdGUoICdZLW0tZFxUSDppOnNcWicgKSwgLy8gdGhpcyBzaG91bGQgaG9wZWZ1bGx5IG5ldmVyIGhhcHBlbi4KCQkJCSk7CgkJCX0gLy8gZGVsZXRlZCByZWNvcmRzIHNob3VsZCBhbHdheXMgY29tZSB0aHJvdWdoIHdpdGggdGhlaXIgb3duIGRlbGV0ZWREYXRlIHZhbHVlLgoJCX0KCgkJJG1hcHBpbmdfY29uZGl0aW9ucyA9IGFycmF5KAoJCQknc2FsZXNmb3JjZV9vYmplY3QnID0+ICRvYmplY3RfdHlwZSwKCQkpOwoKCQlpZiAoIGlzc2V0KCAkb2JqZWN0WydSZWNvcmRUeXBlSWQnXSApICYmICRvYmplY3RbJ1JlY29yZFR5cGVJZCddICE9PSAkdGhpcy0+bWFwcGluZ3MtPnNhbGVzZm9yY2VfZGVmYXVsdF9yZWNvcmRfdHlwZSApIHsKCQkJLy8gdXNlIHRoaXMgY29uZGl0aW9uIHRvIGZpbHRlciB0aGUgbWFwcGluZ3MsIGF0IHRoYXQgdGltZS4KCQkJJG1hcHBpbmdfY29uZGl0aW9uc1snc2FsZXNmb3JjZV9yZWNvcmRfdHlwZSddID0gJG9iamVjdFsnUmVjb3JkVHlwZUlkJ107CgkJfQoKCQkkc2FsZXNmb3JjZV9tYXBwaW5ncyA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2ZpZWxkbWFwcygKCQkJbnVsbCwKCQkJYXJyYXlfbWVyZ2UoCgkJCQkkdGhpcy0+bWFwcGluZ3MtPmFjdGl2ZV9maWVsZG1hcF9jb25kaXRpb25zLAoJCQkJJG1hcHBpbmdfY29uZGl0aW9ucywKCQkJKSwKCQkpOwoKCQkvLyBmcm9tIGRydXBhbDogaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBtYXBwaW5nLCBkb24ndCB0aHJvdyBleGNlcHRpb25zLgoJCSRob2xkX2V4Y2VwdGlvbnMgPSBjb3VudCggJHNhbGVzZm9yY2VfbWFwcGluZ3MgKSA+IDE7CgkJJGV4Y2VwdGlvbiAgICAgICA9IGZhbHNlOwoKCQkkZnJlcXVlbmNpZXMgPSAkdGhpcy0+cXVldWUtPmdldF9mcmVxdWVuY2llcygpOwoJCSRzZWNvbmRzICAgICA9IHJlc2V0KCAkZnJlcXVlbmNpZXMgKVsnZnJlcXVlbmN5J10gKyA2MDsKCgkJJHRyYW5zaWVudHNfdG9fZGVsZXRlID0gYXJyYXkoKTsKCgkJJHJlc3VsdHMgPSBhcnJheSgpOwoKCQlmb3JlYWNoICggJHNhbGVzZm9yY2VfbWFwcGluZ3MgYXMgJHNhbGVzZm9yY2VfbWFwcGluZyApIHsKCgkJCS8vIHRoaXMgcmV0dXJucyB0aGUgcm93IHRoYXQgbWFwcyBhbiBpbmRpdmlkdWFsIFNhbGVzZm9yY2Ugcm93IHRvIGFuIGluZGl2aWR1YWwgV29yZFByZXNzIHJvdy4KCQkJaWYgKCBpc3NldCggJG9iamVjdFsnSWQnXSApICkgewoJCQkJJG1hcHBpbmdfb2JqZWN0cyA9ICR0aGlzLT5tYXBwaW5ncy0+bG9hZF9hbGxfYnlfc2FsZXNmb3JjZSggJG9iamVjdFsnSWQnXSApOwoJCQl9IGVsc2UgewoJCQkJLy8gaWYgd2UgZG9uJ3QgaGF2ZSBhIFNhbGVzZm9yY2Ugb2JqZWN0IGlkLCB3ZSd2ZSBnb3Qgbm8gYnVzaW5lc3MgZG9pbmcgc3R1ZmYgaW4gV29yZFByZXNzLgoJCQkJJHN0YXR1cyA9ICdlcnJvcic7CgkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQl9CgoJCQkJJHRpdGxlID0gc3ByaW50ZigKCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGxvZyBzdGF0dXMuCgkJCQkJZXNjX2h0bWxfXyggJyUxJHM6IFNhbGVzZm9yY2UgUHVsbDogdW5hYmxlIHRvIHByb2Nlc3MgcXVldWUgaXRlbSBiZWNhdXNlIGl0IGhhcyBubyBTYWxlc2ZvcmNlIElkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICkKCQkJCSk7CgkJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQknbWVzc2FnZScgPT4gcHJpbnRfciggJG9iamVjdCwgdHJ1ZSApLCAvLyBwaHBjczppZ25vcmUgV29yZFByZXNzLlBIUC5EZXZlbG9wbWVudEZ1bmN0aW9ucy5lcnJvcl9sb2dfcHJpbnRfcgoJCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJCSdwYXJlbnQnICA9PiAwLCAvLyBwYXJlbnQgaWQgZ29lcyBoZXJlIGJ1dCB3ZSBkb24ndCBoYXZlIG9uZSwgc28gbWFrZSBpdCAwLgoJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJKTsKCgkJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCgkJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCQkJCWNvbnRpbnVlOwoJCQl9CgoJCQkvLyBJcyB0aGlzIFNhbGVzZm9yY2Ugb2JqZWN0IGFscmVhZHkgY29ubmVjdGVkIHRvIGF0IGxlYXN0IG9uZSBXb3JkUHJlc3Mgb2JqZWN0PwoJCQlpZiAoIGlzc2V0KCAkbWFwcGluZ19vYmplY3RzWzBdWydpZCddICkgKSB7CgkJCQkkaXNfbmV3ID0gZmFsc2U7CgkJCX0gZWxzZSB7CgkJCQkvLyB0aGVyZSBpcyBub3QgYSBtYXBwaW5nIG9iamVjdCBmb3IgdGhpcyBTYWxlc2ZvcmNlIG9iamVjdCBpZCB5ZXQKCQkJCS8vIGNoZWNrIHRvIHNlZSBpZiB0aGVyZSBpcyBhIHB1c2hpbmcgdHJhbnNpZW50IGZvciB0aGF0IFNhbGVzZm9yY2UgSWQuCgkJCQkkaXNfbmV3ID0gdHJ1ZTsKCQkJfQoKCQkJLy8gYnkgZGVmYXVsdCwgd2UncmUgbm90IGRvaW5nIGEgbWVyZ2UuCgkJCSRpc19tZXJnZSA9IGZhbHNlOwoJCQkkbWVyZ2VkICAgPSBnZXRfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9tZXJnZWRfJyAuICRvYmplY3RfdHlwZSApOwoJCQlpZiAoIGZhbHNlICE9PSAkbWVyZ2VkICkgewoJCQkJJGtleSA9IGFycmF5X3NlYXJjaCggJG9iamVjdFsnSWQnXSwgYXJyYXlfY29sdW1uKCAkbWVyZ2VkLCAnSWQnICksIHRydWUgKTsKCQkJCWlmICggZmFsc2UgIT09ICRrZXkgKSB7CgkJCQkJJGlzX21lcmdlID0gdHJ1ZTsKCQkJCQkkaXNfbmV3ICAgPSBmYWxzZTsKCQkJCX0KCQkJfQoKCQkJJG1hcHBpbmdfb2JqZWN0X2lkX3RyYW5zaWVudCA9IGdldF90cmFuc2llbnQoICdzYWxlc2ZvcmNlX3B1c2hpbmdfb2JqZWN0X2lkJyApOwoJCQlpZiAoIGZhbHNlID09PSAkbWFwcGluZ19vYmplY3RfaWRfdHJhbnNpZW50ICkgewoJCQkJJG1hcHBpbmdfb2JqZWN0X2lkX3RyYW5zaWVudCA9ICRvYmplY3RbJ0lkJ107CgkJCX0KCQkJLy8gSGVyZSdzIHdoZXJlIHdlIGNoZWNrIHRvIHNlZSB3aGV0aGVyIHRoZSBjdXJyZW50IHJlY29yZCB3YXMgdXBkYXRlZCBieSBhIHB1c2ggZnJvbSB0aGlzIHBsdWdpbiBvciBub3QuIEhlcmUncyBob3cgaXQgd29ya3M6CgkJCS8vIDEuIEEgcmVjb3JkIGdldHMgcHVzaGVkIHRvIFNhbGVzZm9yY2UgYnkgdGhpcyBwbHVnaW4uCgkJCS8vIDIuIFdlIHNhdmUgdGhlIExhc3RNb2RpZmllZERhdGUgZnJvbSB0aGUgU2FsZXNmb3JjZSByZXN1bHQgYXMgYSB0aW1lc3RhbXAgaW4gdGhlIHRyYW5zaWVudC4KCQkJLy8gMy4gQmVsb3csIGluIGFkZGl0aW9uIHRvIGNoZWNraW5nIHRoZSBTYWxlc2ZvcmNlIElkLCB3ZSBjaGVjayBhZ2FpbnN0ICRvYmplY3QncyBMYXN0TW9kaWZpZWREYXRlIGFuZCBpZiBpdCdzIG5vdCBsYXRlciB0aGFuIHRoZSB0cmFuc2llbnQgdmFsdWUsIHdlIHNraXAgaXQgYmVjYXVzZSBpdCdzIHN0aWxsIHB1c2hpbmcgZnJvbSBvdXIgYWN0aXZpdHkuCgkJCSRzYWxlc2ZvcmNlX3B1c2hpbmcgPSAoaW50KSBnZXRfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9wdXNoaW5nXycgLiAkbWFwcGluZ19vYmplY3RfaWRfdHJhbnNpZW50ICk7CgoJCQlpZiAoIDEgIT09ICRzYWxlc2ZvcmNlX3B1c2hpbmcgKSB7CgkJCQkvLyB0aGUgZm9ybWF0IHRvIGNvbXBhcmUgaXMgbGlrZSB0aGlzOiBnbWRhdGUoICdZLW0tZFxUSDppOnNcWicsICRzYWxlc2ZvcmNlX3B1c2hpbmcgKS4KCQkJCWlmICggJG1hcHBpbmdfb2JqZWN0X2lkX3RyYW5zaWVudCAhPT0gJG9iamVjdFsnSWQnXSApIHsKCQkJCQkkc2FsZXNmb3JjZV9wdXNoaW5nID0gMDsKCQkJCX0gZWxzZWlmICggMCA9PT0gJHNhbGVzZm9yY2VfcHVzaGluZyB8fCAoIGlzc2V0KCAkb2JqZWN0WydMYXN0TW9kaWZpZWREYXRlJ10gKSAmJiBzdHJ0b3RpbWUoICRvYmplY3RbJ0xhc3RNb2RpZmllZERhdGUnXSApID4gJHNhbGVzZm9yY2VfcHVzaGluZyApIHx8ICggaXNzZXQoICRvYmplY3RbJ2RlbGV0ZWREYXRlJ10gKSAmJiBzdHJ0b3RpbWUoICRvYmplY3RbJ2RlbGV0ZWREYXRlJ10gKSA+ICRzYWxlc2ZvcmNlX3B1c2hpbmcgKSApIHsKCQkJCQkkc2FsZXNmb3JjZV9wdXNoaW5nID0gMDsKCQkJCX0gZWxzZSB7CgkJCQkJJHNhbGVzZm9yY2VfcHVzaGluZyA9IDE7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQkkc2FsZXNmb3JjZV9wdXNoaW5nID0gMTsKCQkJfQoKCQkJaWYgKCAxID09PSAkc2FsZXNmb3JjZV9wdXNoaW5nICkgewoJCQkJJHRyYW5zaWVudHNfdG9fZGVsZXRlW10gPSAkbWFwcGluZ19vYmplY3RfaWRfdHJhbnNpZW50OwoJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+ZGVidWcgKSB7CgkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3IgZmFpbGVkIHB1bGwuCgkJCQkJJHN0YXR1cyA9ICdkZWJ1Zyc7CgkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgdGhlIG1hcHBpbmcgb2JqZWN0IElEIHRyYW5zaWVudC4KCQkJCQkJZXNjX2h0bWxfXyggJyUxJHM6IG1hcHBpbmcgb2JqZWN0IHRyYW5zaWVudCBJRCAlMiRzIGlzIGN1cnJlbnRseSBwdXNoaW5nLCBzbyB3ZSBkbyBub3QgcHVsbCBpdC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCQkJJG1hcHBpbmdfb2JqZWN0X2lkX3RyYW5zaWVudAoJCQkJCSk7CgoJCQkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJCQl9CgoJCQkJCSRkZWJ1ZyA9IGFycmF5KAoJCQkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJCQknbWVzc2FnZScgPT4gJycsCgkJCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkncGFyZW50JyAgPT4gJycsCgkJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJCSk7CgoJCQkJCSRsb2dnaW5nLT5zZXR1cCggJGRlYnVnICk7CgkJCQl9CgoJCQkJY29udGludWU7CgkJCX0KCgkJCSRzdHJ1Y3R1cmUgICAgICAgICAgICAgICA9ICR0aGlzLT53b3JkcHJlc3MtPmdldF93b3JkcHJlc3NfdGFibGVfc3RydWN0dXJlKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKTsKCQkJJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lID0gJHN0cnVjdHVyZVsnaWRfZmllbGQnXTsKCgkJCS8vIG9ubHkgZGVhbCB3aXRoIHBhcmFtZXRlcnMgaWYgd2UgYXJlIG5vdCBkZWxldGluZy4KCQkJaWYgKCAoIHRydWUgPT09ICRpc19uZXcgJiYgJHNmX3N5bmNfdHJpZ2dlciA9PT0gJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX2NyZWF0ZSApIHx8ICRzZl9zeW5jX3RyaWdnZXIgPT09ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl91cGRhdGUgKSB7IC8vIHRyaWdnZXIgaXMgYSBiaXQgb3BlcmF0b3IKCQkJCS8vIG1hcCB0aGUgU2FsZXNmb3JjZSB2YWx1ZXMgdG8gV29yZFByZXNzIGZpZWxkcy4KCQkJCSRwYXJhbXMgPSAkdGhpcy0+bWFwcGluZ3MtPm1hcF9wYXJhbXMoICRzYWxlc2ZvcmNlX21hcHBpbmcsICRvYmplY3QsICRzZl9zeW5jX3RyaWdnZXIsIGZhbHNlLCAkaXNfbmV3LCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgKTsKCgkJCQkvLyBob29rIHRvIGFsbG93IG90aGVyIHBsdWdpbnMgdG8gbW9kaWZ5IHRoZSAkcGFyYW1zIGFycmF5CgkJCQkvLyB1c2UgaG9vayB0byBtYXAgZmllbGRzIGJldHdlZW4gdGhlIFdvcmRQcmVzcyBhbmQgU2FsZXNmb3JjZSBvYmplY3RzCgkJCQkvLyByZXR1cm5zICRwYXJhbXMuCgkJCQkkcGFyYW1zID0gYXBwbHlfZmlsdGVycyggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9wYXJhbXNfbW9kaWZ5JywgJHBhcmFtcywgJHNhbGVzZm9yY2VfbWFwcGluZywgJG9iamVjdCwgJHNmX3N5bmNfdHJpZ2dlciwgZmFsc2UsICRpc19uZXcgKTsKCgkJCQkvLyBzZXR1cCBwcmVtYXRjaCBwYXJhbWV0ZXJzLgoJCQkJJHByZW1hdGNoID0gYXJyYXkoKTsKCgkJCQkvLyBpZiB0aGVyZSBpcyBhIHByZW1hdGNoIFdvcmRQcmVzcyBmaWVsZCAtIGllIGVtYWlsIC0gb24gdGhlIGZpZWxkbWFwIG9iamVjdC4KCQkJCWlmICggaXNzZXQoICRwYXJhbXNbJ3ByZW1hdGNoJ10gKSAmJiBpc19hcnJheSggJHBhcmFtc1sncHJlbWF0Y2gnXSApICkgewoJCQkJCSRwcmVtYXRjaFsnZmllbGRfd29yZHByZXNzJ10gID0gJHBhcmFtc1sncHJlbWF0Y2gnXVsnd29yZHByZXNzX2ZpZWxkJ107CgkJCQkJJHByZW1hdGNoWydmaWVsZF9zYWxlc2ZvcmNlJ10gPSAkcGFyYW1zWydwcmVtYXRjaCddWydzYWxlc2ZvcmNlX2ZpZWxkJ107CgkJCQkJJHByZW1hdGNoWyd2YWx1ZSddICAgICAgICAgICAgPSAkcGFyYW1zWydwcmVtYXRjaCddWyd2YWx1ZSddOwoJCQkJCSRwcmVtYXRjaFsnbWV0aG9kcyddICAgICAgICAgID0gYXJyYXkoCgkJCQkJCSdtZXRob2RfbWF0Y2gnICA9PiBpc3NldCggJHBhcmFtc1sncHJlbWF0Y2gnXVsnbWV0aG9kX21hdGNoJ10gKSA/ICRwYXJhbXNbJ3ByZW1hdGNoJ11bJ21ldGhvZF9tYXRjaCddIDogJHBhcmFtc1sncHJlbWF0Y2gnXVsnbWV0aG9kX3JlYWQnXSwKCQkJCQkJJ21ldGhvZF9jcmVhdGUnID0+ICRwYXJhbXNbJ3ByZW1hdGNoJ11bJ21ldGhvZF9jcmVhdGUnXSwKCQkJCQkJJ21ldGhvZF91cGRhdGUnID0+ICRwYXJhbXNbJ3ByZW1hdGNoJ11bJ21ldGhvZF91cGRhdGUnXSwKCQkJCQkJJ21ldGhvZF9yZWFkJyAgID0+ICRwYXJhbXNbJ3ByZW1hdGNoJ11bJ21ldGhvZF9yZWFkJ10sCgkJCQkJKTsKCQkJCQl1bnNldCggJHBhcmFtc1sncHJlbWF0Y2gnXSApOwoJCQkJfQoKCQkJCS8vIGlmIHRoZXJlIGlzIGFuIGV4dGVybmFsIGtleSBmaWVsZCBpbiBTYWxlc2ZvcmNlIC0gaWUgYSBNYWlsY2hpbXAgdXNlciBpZCAtIG9uIHRoZSBmaWVsZG1hcCBvYmplY3QsIHRoaXMgc2hvdWxkIG5vdCBhZmZlY3QgaG93IFdvcmRQcmVzcyBoYW5kbGVzIGl0IGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUgcHVsbCBwYXJhbWV0ZXJzLgoKCQkJCS8vIGlmIHdlIGRvbid0IGdldCBhbnkgcGFyYW1zLCB0aGVyZSBhcmUgbm8gZmllbGRzIHRoYXQgc2hvdWxkIGJlIHNlbnQgdG8gV29yZFByZXNzLgoJCQkJaWYgKCBlbXB0eSggJHBhcmFtcyApICkgewoKCQkJCQkvLyBpZiB0aGUgcGFyYW1ldGVycyBhcnJheSBpcyBlbXB0eSBhdCB0aGlzIHBvaW50LCB3ZSBzaG91bGQgY3JlYXRlIGEgbG9nIGVudHJ5IHRvIHRoYXQgZWZmZWN0LgoJCQkJCS8vIEkgdGhpbmsgaXQgc2hvdWxkIGJlIGEgZGVidWcgbWVzc2FnZSwgdW5sZXNzIHdlIGxlYXJuIGZyb20gdXNlcnMgdGhhdCBpdCBzaG91bGQgYmUgcmFpc2VkIHRvIGFuIGVycm9yLgoJCQkJCWlmICggdHJ1ZSA9PT0gJHRoaXMtPmRlYnVnICkgewoJCQkJCQkkc3RhdHVzID0gJ2RlYnVnJzsKCQkJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJCQl9CgoJCQkJCQkkdGl0bGUgPSBzcHJpbnRmKAoJCQkJCQkJLy8gdHJhbnNsYXRvcnM6ICUxJHMgaXMgdGhlIGxvZyBzdGF0dXMuCgkJCQkJCQllc2NfaHRtbF9fKCAnJTEkcyBNYXBwaW5nOiBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgcGx1Z2luIHNldHRpbmdzLCB0aGVyZSBhcmUgbm8gcGFyYW1ldGVycyBpbiB0aGUgY3VycmVudCBkYXRhc2V0IHRoYXQgY2FuIGJlIHB1bGxlZCBmcm9tIFNhbGVzZm9yY2UuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApCgkJCQkJCSk7CgoJCQkJCQkkYm9keSA9ICcnOwoKCQkJCQkJJGJvZHkgLj0gc3ByaW50ZigKCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgZmllbGRtYXAgcm93IElELCAyKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCwgMykgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LgoJCQkJCQkJJzxwPicgLiBlc2NfaHRtbF9fKCAnVGhlcmUgaXMgYSBmaWVsZG1hcCB3aXRoIElEIG9mICUxJHMgYW5kIGl0IG1hcHMgdGhlIFdvcmRQcmVzcyAlMiRzIG9iamVjdCB0byB0aGUgU2FsZXNmb3JjZSAlMyRzIG9iamVjdC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9wPicsCgkJCQkJCQlhYnNpbnQoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10gKSwKCQkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICkKCQkJCQkJKTsKCgkJCQkJCS8vIHdoZXRoZXIgaXQncyBhIG5ldyBtYXBwaW5nIG9iamVjdCBvciBub3QuCgkJCQkJCWlmICggZmFsc2UgPT09ICRpc19uZXcgKSB7CgkJCQkJCQkvLyB0aGlzIG9uZSBpcyBub3QgbmV3LgoJCQkJCQkJZm9yZWFjaCAoICRtYXBwaW5nX29iamVjdHMgYXMgJG1hcHBpbmdfb2JqZWN0ICkgewoJCQkJCQkJCSRib2R5IC49IHNwcmludGYoCgkJCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbWFwcGluZyBvYmplY3Qgcm93IElELCAyKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCwgMykgdGhlIElEIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0LCA0KSB0aGUgSUQgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IGl0IHdhcyB0cnlpbmcgdG8gbWFwLgoJCQkJCQkJCQknPHA+JyAuIGVzY19odG1sX18oICdUaGVyZSBpcyBhbiBleGlzdGluZyBvYmplY3QgbWFwIHdpdGggSUQgb2YgJTEkcyBhbmQgaXQgaXMgbWFwcGVkIHRvIHRoZSBXb3JkUHJlc3MgJTIkcyB3aXRoIElEIG9mICUzJHMgYW5kIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB3aXRoIElEIG9mICU0JHMuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzwvcD4nLAoJCQkJCQkJCQlhYnNpbnQoICRtYXBwaW5nX29iamVjdFsnaWQnXSApLAoJCQkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCQkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10gKSwKCQkJCQkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnc2FsZXNmb3JjZV9pZCddICkKCQkJCQkJCQkpOwoJCQkJCQkJfQoJCQkJCQl9IGVsc2UgewoJCQkJCQkJLy8gdGhpcyBvbmUgaXMgbmV3LgoJCQkJCQkJJGJvZHkgLj0gc3ByaW50ZigKCQkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIElEIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCwgMikgdGhlIFdvcmRQcmVzcyBvYmplY3QgdHlwZS4KCQkJCQkJCQknPHA+JyAuIGVzY19odG1sX18oICdUaGUgcGx1Z2luIHdhcyB0cnlpbmcgdG8gcHVsbCB0aGUgU2FsZXNmb3JjZSBvYmplY3Qgd2l0aCBJRCBvZiAlMSRzIHRvIHRoZSBXb3JkUHJlc3MgJTIkcyBvYmplY3QgdHlwZS4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9wPicsCgkJCQkJCQkJZXNjX2F0dHIoICRvYmplY3RbJ0lkJ10gKSwKCQkJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddICkKCQkJCQkJCSk7CgkJCQkJCX0KCgkJCQkJCSRib2R5IC49IHNwcmludGYoCgkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZSAxKSB0aGUgb2JqZWN0J3MgZGF0YSB0aGF0IHdhcyBhdHRlbXB0ZWQuCgkJCQkJCQknPHA+JyAuIGVzY19odG1sX18oICdUaGUgU2FsZXNmb3JjZSBvYmplY3QgZGF0YSB0aGF0IHdhcyBhdHRlbXB0ZWQ6ICUxJHMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9wPicsCgkJCQkJCQlwcmludF9yKCAkb2JqZWN0LCB0cnVlICkgLy8gcGhwY3M6aWdub3JlIFdvcmRQcmVzcy5QSFAuRGV2ZWxvcG1lbnRGdW5jdGlvbnMuZXJyb3JfbG9nX3ByaW50X3IKCQkJCQkJKTsKCgkJCQkJCSRsb2dnaW5nLT5zZXR1cCgKCQkJCQkJCSR0aXRsZSwKCQkJCQkJCSRib2R5LAoJCQkJCQkJJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJCTAsCgkJCQkJCQkkc3RhdHVzCgkJCQkJCSk7CgkJCQkJfSAvLyBlbmQgZGVidWcgbW9kZSBjaGVjay4KCgkJCQkJY29udGludWU7CgkJCQl9IC8vIGVuZCBpZiBwYXJhbXMgYXJlIGVtcHR5LgoJCQl9IGVsc2VpZiAoICRzZl9zeW5jX3RyaWdnZXIgPT09ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9kZWxldGUgKSB7CgkJCQkvLyB0aGlzIGlzIGEgZGVsZXRpb24uIGRvbid0IGRlYWwgd2l0aCBwYXJhbWV0ZXJzLgoJCQkJJGlzX25ldyA9IGZhbHNlOwoJCQl9IC8vIGVuZCBjaGVja2luZyBmb3IgY3JlYXRlL3VwZGF0ZS9kZWxldGUuCgoJCQkvLyBpZiB0aGlzIFNhbGVzZm9yY2UgcmVjb3JkIGlzIG5ldyB0byBXb3JkUHJlc3MsIHdlIGNhbiB0cnkgdG8gY3JlYXRlIGl0LgoJCQlpZiAoIHRydWUgPT09ICRpc19uZXcgKSB7CgkJCQlpZiAoIGlzc2V0KCAkbWFwcGluZ19vYmplY3RzWzBdICkgKSB7CgkJCQkJJG1hcHBpbmdfb2JqZWN0ID0gJG1hcHBpbmdfb2JqZWN0c1swXTsKCQkJCX0gZWxzZSB7CgkJCQkJJG1hcHBpbmdfb2JqZWN0ID0gJG1hcHBpbmdfb2JqZWN0czsKCQkJCX0KCQkJCSRzeW5jZWRfb2JqZWN0ID0gJHRoaXMtPmdldF9zeW5jZWRfb2JqZWN0KCAkb2JqZWN0LCAkbWFwcGluZ19vYmplY3QsICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCQkJCSRjcmVhdGUgICAgICAgID0gJHRoaXMtPmNyZWF0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCAkc2Zfc3luY190cmlnZ2VyLCAkc3luY2VkX29iamVjdCwgJHBhcmFtcywgJHByZW1hdGNoLCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUsICRzZWNvbmRzICk7CgkJCQkkcmVzdWx0cyAgICAgICA9IGFycmF5X21lcmdlKCAkcmVzdWx0cywgJGNyZWF0ZSApOwoJCQl9IGVsc2VpZiAoIGZhbHNlID09PSAkaXNfbmV3ICYmIGZhbHNlID09PSAkaXNfbWVyZ2UgKSB7CgkJCQkvLyB1bmxlc3Mgd2UncmUgb24gYSBkZWxldGUsIHRoZXJlIGlzIGFscmVhZHkgYXQgbGVhc3Qgb25lIG1hcHBpbmdfb2JqZWN0WydpZCddIGFzc29jaWF0ZWQgd2l0aCB0aGlzIFNhbGVzZm9yY2UgSWQKCQkJCS8vIHJpZ2h0IGhlcmUgd2Ugc2hvdWxkIHNldCB0aGUgcHVsbGluZyB0cmFuc2llbnQuCgkJCQlzZXRfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9wdWxsaW5nXycgLiAkb2JqZWN0WydJZCddLCAxLCAkc2Vjb25kcyApOwoJCQkJc2V0X3RyYW5zaWVudCggJ3NhbGVzZm9yY2VfcHVsbGluZ19vYmplY3RfaWQnLCAkb2JqZWN0WydJZCddICk7CgoJCQkJZm9yZWFjaCAoICRtYXBwaW5nX29iamVjdHMgYXMgJG1hcHBpbmdfb2JqZWN0ICkgewoJCQkJCSRzeW5jZWRfb2JqZWN0ID0gJHRoaXMtPmdldF9zeW5jZWRfb2JqZWN0KCAkb2JqZWN0LCAkbWFwcGluZ19vYmplY3QsICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCQkJCQkvLyBpZiBwYXJhbXMgaXMgc2V0LCB0aGlzIGlzIGFuIHVwZGF0ZSByZXF1ZXN0LiBpZiBub3QsIGl0IGlzIGEgZGVsZXRlLgoJCQkJCWlmICggaXNzZXQoICRwYXJhbXMgKSApIHsKCQkJCQkJJHVwZGF0ZSAgPSAkdGhpcy0+dXBkYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UoICRzZl9zeW5jX3RyaWdnZXIsICRzeW5jZWRfb2JqZWN0LCAkcGFyYW1zLCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUsICRzZWNvbmRzICk7CgkJCQkJCSRyZXN1bHRzID0gYXJyYXlfbWVyZ2UoICRyZXN1bHRzLCAkdXBkYXRlICk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJJGRlbGV0ZSAgPSAkdGhpcy0+ZGVsZXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UoICRzZl9zeW5jX3RyaWdnZXIsICRzeW5jZWRfb2JqZWN0LCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUsICRzZWNvbmRzLCAkbWFwcGluZ19vYmplY3RzICk7CgkJCQkJCSRyZXN1bHRzID0gYXJyYXlfbWVyZ2UoICRyZXN1bHRzLCAkZGVsZXRlICk7CgkJCQkJfQoJCQkJfQoJCQl9IGVsc2VpZiAoIGZhbHNlID09PSAkaXNfbmV3ICkgewoJCQkJLy8gb24gbWVyZ2UsIHdlIHNob3VsZCBzdGlsbCB1cGRhdGUgdGhlIHRyYW5zaWVudC4KCQkJCXNldF90cmFuc2llbnQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfJyAuICRvYmplY3RbJ0lkJ10sIDEsICRzZWNvbmRzICk7CgkJCQlzZXRfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9wdWxsaW5nX29iamVjdF9pZCcsICRvYmplY3RbJ0lkJ10gKTsKCQkJfQoJCX0gLy8gRW5kIGZvcmVhY2goKSBvbiAkc2FsZXNmb3JjZV9tYXBwaW5ncy4KCgkJLy8gZGVsZXRlIHRyYW5zaWVudHMgdGhhdCB3ZSd2ZSBhbHJlYWR5IHByb2Nlc3NlZCBmb3IgdGhpcyBTYWxlc2ZvcmNlIG9iamVjdC4KCQlmb3JlYWNoICggJHRyYW5zaWVudHNfdG9fZGVsZXRlIGFzICRtYXBwaW5nX29iamVjdF9pZF90cmFuc2llbnQgKSB7CgkJCWRlbGV0ZV90cmFuc2llbnQoICdzYWxlc2ZvcmNlX3B1c2hpbmdfJyAuICRtYXBwaW5nX29iamVjdF9pZF90cmFuc2llbnQgKTsKCQl9CgoJCSRwdXNoaW5nX2lkID0gZ2V0X3RyYW5zaWVudCggJ3NhbGVzZm9yY2VfcHVzaGluZ19vYmplY3RfaWQnICk7CgkJaWYgKCBpbl9hcnJheSggJHB1c2hpbmdfaWQsICR0cmFuc2llbnRzX3RvX2RlbGV0ZSwgdHJ1ZSApICkgewoJCQlkZWxldGVfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9wdXNoaW5nX29iamVjdF9pZCcgKTsKCQl9CgoJCWlmICggISBlbXB0eSggJGV4Y2VwdGlvbiApICkgewoJCQl0aHJvdyAkZXhjZXB0aW9uOwoJCX0KCgkJcmV0dXJuICRyZXN1bHRzOwoKCX0KCgkvKioKCSAqIEdlbmVyYXRlIHRoZSBzeW5jZWRfb2JqZWN0IGFycmF5CgkgKgoJICogQHBhcmFtIGFycmF5ICRvYmplY3QgVGhlIGRhdGEgZm9yIHRoZSBTYWxlc2ZvcmNlIG9iamVjdC4KCSAqIEBwYXJhbSBhcnJheSAkbWFwcGluZ19vYmplY3QgVGhlIGRhdGEgZm9yIHRoZSBtYXBwaW5nIG9iamVjdCBiZXR3ZWVuIHRoZSBpbmRpdmlkdWFsIFNhbGVzZm9yY2UgYW5kIFdvcmRQcmVzcyBpdGVtcy4KCSAqIEBwYXJhbSBhcnJheSAkc2FsZXNmb3JjZV9tYXBwaW5nIFRoZSBkYXRhIGZvciB0aGUgZmllbGRtYXAgYmV0d2VlbiB0aGUgb2JqZWN0IHR5cGVzLgoJICogQHJldHVybiBhcnJheSAkc3luY2VkX29iamVjdCBUaGUgY29tYmluZWQgYXJyYXkgb2YgdGhlc2UgaXRlbXMuIEl0IGFsbG93cyBmb3IgZmlsdGVyaW5nIG9mLCBhdCBsZWFzdCwgdGhlIG1hcHBpbmdfb2JqZWN0LgoJICovCglwcml2YXRlIGZ1bmN0aW9uIGdldF9zeW5jZWRfb2JqZWN0KCAkb2JqZWN0LCAkbWFwcGluZ19vYmplY3QsICRzYWxlc2ZvcmNlX21hcHBpbmcgKSB7CgkJLy8gaWYgdGhlcmUncyBhbHJlYWR5IGEgY29ubmVjdGlvbiBiZXR3ZWVuIHRoZSBvYmplY3RzLCAkbWFwcGluZ19vYmplY3Qgd2lsbCBiZSBhbiBhcnJheSBhdCB0aGlzIHBvaW50CgkJLy8gaWYgaXQncyBub3QgYWxyZWFkeSBjb25uZWN0ZWQgKGllIG9uIGNyZWF0ZSksIHRoZSBhcnJheSB3aWxsIGJlIGVtcHR5LgoKCQkvLyBob29rIHRvIGFsbG93IG90aGVyIHBsdWdpbnMgdG8gZGVmaW5lIG9yIGFsdGVyIHRoZSBtYXBwaW5nIG9iamVjdC4KCQkkbWFwcGluZ19vYmplY3QgPSBhcHBseV9maWx0ZXJzKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX21hcHBpbmdfb2JqZWN0JywgJG1hcHBpbmdfb2JqZWN0LCAkb2JqZWN0LCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgoJCS8vIHdlIGFscmVhZHkgaGF2ZSB0aGUgZGF0YSBmcm9tIFNhbGVzZm9yY2UgYXQgdGhpcyBwb2ludDsgd2UganVzdCBuZWVkIHRvIHdvcmsgd2l0aCBpdCBpbiBXb3JkUHJlc3MuCgkJJHN5bmNlZF9vYmplY3QgPSBhcnJheSgKCQkJJ3NhbGVzZm9yY2Vfb2JqZWN0JyA9PiAkb2JqZWN0LAoJCQknbWFwcGluZ19vYmplY3QnICAgID0+ICRtYXBwaW5nX29iamVjdCwKCQkJJ21hcHBpbmcnICAgICAgICAgICA9PiAkc2FsZXNmb3JjZV9tYXBwaW5nLAoJCSk7CgkJcmV0dXJuICRzeW5jZWRfb2JqZWN0OwoJfQoKCS8qKgoJICogQ3JlYXRlIHJlY29yZHMgaW4gV29yZFByZXNzIGZyb20gYSBTYWxlc2ZvcmNlIHB1bGwKCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRzZl9zeW5jX3RyaWdnZXIgVGhlIGN1cnJlbnQgb3BlcmF0aW9uJ3MgdHJpZ2dlci4KCSAqIEBwYXJhbSBhcnJheSAgJHN5bmNlZF9vYmplY3QgQ29tYmluZWQgZGF0YSBmb3IgZmllbGRtYXAsIG1hcHBpbmcgb2JqZWN0LCBhbmQgU2FsZXNmb3JjZSBvYmplY3QgZGF0YS4KCSAqIEBwYXJhbSBhcnJheSAgJHBhcmFtcyBBcnJheSBvZiBtYXBwZWQga2V5IHZhbHVlIHBhaXJzIGJldHdlZW4gV29yZFByZXNzIGFuZCBTYWxlc2ZvcmNlIGZpZWxkcy4KCSAqIEBwYXJhbSBhcnJheSAgJHByZW1hdGNoIEFycmF5IG9mIGNyaXRlcmlhIHRvIGRldGVybWluZSB3aGF0IHRvIGRvIG9uIHVwc2VydCBvcGVyYXRpb25zLgoJICogQHBhcmFtIHN0cmluZyAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgVGhlIG5hbWUgb2YgdGhlIElEIGZpZWxkIGZvciB0aGlzIHBhcnRpY3VsYXIgV29yZFByZXNzIG9iamVjdCB0eXBlLgoJICogQHBhcmFtIGludCAgICAkc2Vjb25kcyBUaW1lb3V0IGZvciB0aGUgdHJhbnNpZW50IHZhbHVlIHRvIGRldGVybWluZSB0aGUgZGlyZWN0aW9uIGZvciBhIHN5bmMuCgkgKiBAcmV0dXJuIGFycmF5ICRyZXN1bHRzIEN1cnJlbnRseSB0aGlzIGNvbnRhaW5zIGFuIGFycmF5IG9mIGxvZyBlbnRyaWVzIGZvciBlYWNoIGF0dGVtcHQuCgkgKiBAdGhyb3dzIE9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiBFeGNlcHRpb24gJGUuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gY3JlYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UoICRzZl9zeW5jX3RyaWdnZXIsICRzeW5jZWRfb2JqZWN0LCAkcGFyYW1zLCAkcHJlbWF0Y2gsICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSwgJHNlY29uZHMgKSB7CgoJCSRzYWxlc2ZvcmNlX21hcHBpbmcgPSAkc3luY2VkX29iamVjdFsnbWFwcGluZyddOwoJCSRvYmplY3QgICAgICAgICAgICAgPSAkc3luY2VkX29iamVjdFsnc2FsZXNmb3JjZV9vYmplY3QnXTsKCQkvLyBtZXRob2RzIHRvIHJ1biB0aGUgd3AgdXBkYXRlIG9wZXJhdGlvbnMuCgkJJHJlc3VsdHMgPSBhcnJheSgpOwoJCSRvcCAgICAgID0gJyc7CgoJCS8vIHNldHVwIFNGIHJlY29yZCB0eXBlLiBDYW1wYWlnbk1lbWJlciBvYmplY3RzIGdldCB0aGVpciBDYW1wYWlnbidzIHR5cGUKCQkvLyBpIGFtIHN0aWxsIGEgYml0IGNvbmZ1c2VkIGFib3V0IHRoaXMKCQkvLyB3ZSBzaG91bGQgc3RvcmUgdGhpcyBhcyBhIG1ldGEgZmllbGQgb24gZWFjaCBvYmplY3QsIGlmIGl0IG1lZXRzIHRoZXNlIGNyaXRlcmlhCgkJLy8gd2UgbmVlZCB0byBzdG9yZSB0aGUgcmVhZC9tb2RpZnkgYXR0cmlidXRlcyBiZWNhdXNlIHRoZSBmaWVsZCBkb2Vzbid0IGV4aXN0IGluIHRoZSBtYXBwaW5nLgoJCWlmICggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9yZWNvcmRfdHlwZV9kZWZhdWx0J10gIT09ICR0aGlzLT5tYXBwaW5ncy0+c2FsZXNmb3JjZV9kZWZhdWx0X3JlY29yZF90eXBlICYmIGVtcHR5KCAkcGFyYW1zWydSZWNvcmRUeXBlSWQnXSApICYmICggJ0NhbXBhaWduTWVtYmVyJyAhPT0gJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApICkgewoJCQkkdHlwZSA9ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXTsKCQkJaWYgKCAnY2F0ZWdvcnknID09PSAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gfHwgJ3RhZycgPT09ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSB8fCAncG9zdF90YWcnID09PSAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSB7CgkJCQkkdHlwZSA9ICd0ZXJtJzsKCQkJfQoJCQkkcGFyYW1zWydSZWNvcmRUeXBlSWQnXSA9IGFycmF5KAoJCQkJJ3ZhbHVlJyAgICAgICAgID0+ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2VfcmVjb3JkX3R5cGVfZGVmYXVsdCddLAoJCQkJJ21ldGhvZF9tb2RpZnknID0+ICd1cGRhdGVfJyAuICR0eXBlIC4gJ19tZXRhJywKCQkJCSdtZXRob2RfcmVhZCcgICA9PiAnZ2V0XycgLiAkdHlwZSAuICdfbWV0YScsCgkJCSk7CgkJfQoKCQl0cnkgewoKCQkJLy8gaG9vayB0byBhbGxvdyBvdGhlciBwbHVnaW5zIHRvIG1vZGlmeSB0aGUgJHdvcmRwcmVzc19pZCBzdHJpbmcgaGVyZQoJCQkvLyB1c2UgaG9vayB0byBjaGFuZ2UgdGhlIG9iamVjdCB0aGF0IGlzIGJlaW5nIG1hdGNoZWQgdG8gZGV2ZWxvcGVyJ3Mgb3duIGNyaXRlcmlhCgkJCS8vIGV4OiBtYXRjaCBhIFdvcmRQcmVzcyB1c2VyIGJhc2VkIG9uIHNvbWUgb3RoZXIgY3JpdGVyaWEgdGhhbiB0aGUgcHJlZGVmaW5lZCBvbmVzCgkJCS8vIHJldHVybnMgYSAkd29yZHByZXNzX2lkLgoJCQkvLyBpdCBzaG91bGQga2VlcCBOVUxMIGlmIHRoZXJlIGlzIG5vIG1hdGNoCgkJCS8vIHRoZSBmdW5jdGlvbiB0aGF0IGNhbGxzIHRoaXMgaG9vayBuZWVkcyB0byBjaGVjayB0aGUgbWFwcGluZyB0byBtYWtlIHN1cmUgdGhlIFdvcmRQcmVzcyBvYmplY3QgaXMgdGhlIHJpZ2h0IHR5cGUuCgkJCSR3b3JkcHJlc3NfaWQgPSBhcHBseV9maWx0ZXJzKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdmaW5kX3dwX29iamVjdF9tYXRjaCcsIG51bGwsICRvYmplY3QsICRzYWxlc2ZvcmNlX21hcHBpbmcsICdwdWxsJyApOwoKCQkJLy8gaG9vayB0byBhbGxvdyBvdGhlciBwbHVnaW5zIHRvIGRvIHNvbWV0aGluZyByaWdodCBiZWZvcmUgV29yZFByZXNzIGRhdGEgaXMgc2F2ZWQKCQkJLy8gZXg6IHJ1biBvdXRzaWRlIG1ldGhvZHMgb24gYW4gb2JqZWN0IGlmIGl0IGV4aXN0cywgb3IgZG8gc29tZXRoaW5nIGluIHByZXBhcmF0aW9uIGZvciBpdCBpZiBpdCBkb2Vzbid0LgoJCQlkb19hY3Rpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3ByZV9wdWxsJywgJHdvcmRwcmVzc19pZCwgJHNhbGVzZm9yY2VfbWFwcGluZywgJG9iamVjdCwgJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lLCAkcGFyYW1zICk7CgoJCQlpZiAoIGlzc2V0KCAkcHJlbWF0Y2hbJ2ZpZWxkX3NhbGVzZm9yY2UnXSApIHx8IG51bGwgIT09ICR3b3JkcHJlc3NfaWQgKSB7CgoJCQkJJG9wID0gJ1Vwc2VydCc7CgoJCQkJLy8gaWYgYSBwcmVtYXRjaCBjcml0ZXJpYSBleGlzdHMsIG1ha2UgdGhlIHZhbHVlcyBxdWVyeWFibGUuCgkJCQlpZiAoIGlzc2V0KCAkcHJlbWF0Y2hbJ2ZpZWxkX3NhbGVzZm9yY2UnXSApICkgewoJCQkJCSR1cHNlcnRfa2V5ICAgICA9ICRwcmVtYXRjaFsnZmllbGRfd29yZHByZXNzJ107CgkJCQkJJHVwc2VydF92YWx1ZSAgID0gJHByZW1hdGNoWyd2YWx1ZSddOwoJCQkJCSR1cHNlcnRfbWV0aG9kcyA9ICRwcmVtYXRjaFsnbWV0aG9kcyddOwoJCQkJfQoKCQkJCWlmICggbnVsbCAhPT0gJHdvcmRwcmVzc19pZCApIHsKCQkJCQkkdXBzZXJ0X2tleSAgICAgPSAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWU7CgkJCQkJJHVwc2VydF92YWx1ZSAgID0gJHdvcmRwcmVzc19pZDsKCQkJCQkkdXBzZXJ0X21ldGhvZHMgPSBhcnJheSgpOwoJCQkJfQoKCQkJCS8vIHdpdGggdGhlIGZsYWcgYXQgdGhlIGVuZCwgdXBzZXJ0IHJldHVybnMgYSAkd29yZHByZXNzX2lkIG9ubHkKCQkJCS8vIHdlIGNhbiB0aGVuIGNoZWNrIHRvIHNlZSBpZiBpdCBoYXMgYSBtYXBwaW5nIG9iamVjdAoJCQkJLy8gd2Ugc2hvdWxkIG9ubHkgZG8gdGhpcyBpZiB0aGUgYWJvdmUgaG9vayBkaWRuJ3QgYWxyZWFkeSBzZXQgdGhlICR3b3JkcHJlc3NfaWQuCgkJCQlpZiAoIG51bGwgPT09ICR3b3JkcHJlc3NfaWQgKSB7CgkJCQkJJHdvcmRwcmVzc19pZCA9ICR0aGlzLT53b3JkcHJlc3MtPm9iamVjdF91cHNlcnQoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSwgJHVwc2VydF9rZXksICR1cHNlcnRfdmFsdWUsICR1cHNlcnRfbWV0aG9kcywgJHBhcmFtcywgJHNhbGVzZm9yY2VfbWFwcGluZ1sncHVsbF90b19kcmFmdHMnXSwgdHJ1ZSApOwoJCQkJfQoKCQkJCS8vIHBsYWNlaG9sZGVyIG1hcHBpbmcgb2JqZWN0LgoJCQkJJG1hcHBpbmdfb2JqZWN0ID0gYXJyYXkoKTsKCgkJCQkvLyBmaW5kIG91dCBpZiB0aGVyZSBpcyBhIG1hcHBpbmcgb2JqZWN0IGZvciB0aGlzIFdvcmRQcmVzcyBvYmplY3QgYWxyZWFkeQoJCQkJLy8gZG9uJ3QgZG8gaXQgaWYgdGhlIFdvcmRQcmVzcyBpZCBpcyAwLgoJCQkJaWYgKCAwICE9PSAkd29yZHByZXNzX2lkICkgewoJCQkJCSRtYXBwaW5nX29iamVjdHMgPSAkdGhpcy0+bWFwcGluZ3MtPmdldF9hbGxfb2JqZWN0X21hcHMoCgkJCQkJCWFycmF5KAoJCQkJCQkJJ3dvcmRwcmVzc19pZCcgICAgID0+ICR3b3JkcHJlc3NfaWQsCgkJCQkJCQknd29yZHByZXNzX29iamVjdCcgPT4gJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddLAoJCQkJCQkpCgkJCQkJKTsKCQkJCQlpZiAoIGlzc2V0KCAkbWFwcGluZ19vYmplY3RzWzBdICkgJiYgaXNfYXJyYXkoICRtYXBwaW5nX29iamVjdHNbMF0gKSApIHsKCQkJCQkJJG1hcHBpbmdfb2JqZWN0ID0gJG1hcHBpbmdfb2JqZWN0c1swXTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCS8vIGlmIHRoZSB3cCBvYmplY3QgaXMgMCwgY2hlY2sgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgb2JqZWN0IG1hcHMgdGhhdCBoYXZlIGFuIGlkIG9mIDAuIGlmIHRoZXJlIGFyZSBhbnksIGxvZyB0aGVtLgoJCQkJCSRtYXBwaW5nX29iamVjdF9kZWJ1ZyA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2FsbF9vYmplY3RfbWFwcygKCQkJCQkJYXJyYXkoCgkJCQkJCQknd29yZHByZXNzX2lkJyA9PiAkd29yZHByZXNzX2lkLAoJCQkJCQkpCgkJCQkJKTsKCgkJCQkJaWYgKCAhIGVtcHR5KCAkbWFwcGluZ19vYmplY3RfZGVidWcgKSApIHsKCQkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSB0byB3YXJuIGFib3V0IGF0IGxlYXN0IG9uZSBpZCBvZiAwLgoJCQkJCQkkc3RhdHVzID0gJ2Vycm9yJzsKCQkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGxvZyBzdGF0dXMuCgkJCQkJCQllc2NfaHRtbF9fKCAnJTEkczogVGhlcmUgaXMgYXQgbGVhc3Qgb25lIG9iamVjdCBtYXAgd2l0aCBhIFdvcmRQcmVzcyBJRCBvZiAwLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKQoJCQkJCQkpOwoKCQkJCQkJaWYgKCAxID09PSBjb3VudCggJG1hcHBpbmdfb2JqZWN0X2RlYnVnICkgKSB7CgkJCQkJCQkkYm9keSA9IHNwcmludGYoCgkJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBtYXBwaW5nIG9iamVjdCByb3cgSUQsIDIpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0LCAzKSB0aGUgSUQgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IGl0IHdhcyB0cnlpbmcgdG8gbWFwLgoJCQkJCQkJCWVzY19odG1sX18oICdUaGVyZSBpcyBhbiBvYmplY3QgbWFwIHdpdGggSUQgb2YgJTEkcyBhbmQgaXQgaXMgbWFwcGVkIHRvIHRoZSBXb3JkUHJlc3MgJTIkcyB3aXRoIElEIG9mIDAgYW5kIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB3aXRoIElEIG9mICUzJHMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQkJYWJzaW50KCAkbWFwcGluZ19vYmplY3RfZGVidWdbMF1bJ2lkJ10gKSwKCQkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0X2RlYnVnWzBdWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0X2RlYnVnWzBdWydzYWxlc2ZvcmNlX2lkJ10gKQoJCQkJCQkJKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCSRib2R5ID0gc3ByaW50ZiggZXNjX2h0bWxfXyggJ1RoZXJlIGFyZSBtdWx0aXBsZSBvYmplY3QgbWFwcyB3aXRoIFdvcmRQcmVzcyBJRCBvZiAwLiBUaGVpciBJRHMgYXJlOiAnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPHVsPicgKTsKCQkJCQkJCWZvcmVhY2ggKCAkbWFwcGluZ19vYmplY3RfZGVidWcgYXMgJG1hcHBpbmdfb2JqZWN0ICkgewoJCQkJCQkJCSRib2R5IC49IHNwcmludGYoCgkJCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbWFwcGluZyBvYmplY3Qgcm93IElELCAyKSB0aGUgSUQgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LCAzKSB0aGUgV29yZFByZXNzIG9iamVjdCB0eXBlLgoJCQkJCQkJCQknPGxpPicgLiBlc2NfaHRtbF9fKCAnTWFwcGluZyBvYmplY3QgaWQ6ICUxJHMuIFNhbGVzZm9yY2UgSWQ6ICUyJHMuIFdvcmRQcmVzcyBvYmplY3QgdHlwZTogJTMkcycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L2xpPicsCgkJCQkJCQkJCWFic2ludCggJG1hcHBpbmdfb2JqZWN0WydpZCddICksCgkJCQkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3NhbGVzZm9yY2VfaWQnXSApLAoJCQkJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddICkKCQkJCQkJCQkpOwoJCQkJCQkJfQoJCQkJCQkJJGJvZHkgLj0gc3ByaW50ZiggJzwvdWw+JyApOwoJCQkJCQl9CgoJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCX0KCQkJCQkJJHBhcmVudCA9IDA7CgoJCQkJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJCQkJJ21lc3NhZ2UnID0+ICRib2R5LAoJCQkJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCQkncGFyZW50JyAgPT4gJHBhcmVudCwKCQkJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJCQkpOwoKCQkJCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCQkJCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudC4KCQkJCX0gLy8gRW5kIGlmKCkgc3RhdGVtZW50LgoKCQkJCS8vIHRoZXJlIGlzIGFscmVhZHkgYSBtYXBwaW5nIG9iamVjdC4gZG9uJ3QgY2hhbmdlIHRoZSBXb3JkUHJlc3MgZGF0YSB0byBtYXRjaCB0aGlzIG5ldyBTYWxlc2ZvcmNlIHJlY29yZCwgYnV0IGxvZyBpdC4KCQkJCWlmICggaXNzZXQoICRtYXBwaW5nX29iamVjdFsnaWQnXSApICkgewoJCQkJCS8vIHNldCB0aGUgdHJhbnNpZW50IHNvIHRoYXQgc2FsZXNmb3JjZV9wdXNoIGRvZXNuJ3Qgc3RhcnQgZG9pbmcgc3R1ZmYsIHRoZW4gcmV0dXJuIG91dCBvZiBoZXJlLgoJCQkJCXNldF90cmFuc2llbnQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfJyAuICRtYXBwaW5nX29iamVjdFsnc2FsZXNmb3JjZV9pZCddLCAxLCAkc2Vjb25kcyApOwoJCQkJCXNldF90cmFuc2llbnQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfb2JqZWN0X2lkJywgJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10gKTsKCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IHRvIGluZGljYXRlIHRoYXQgbm90aGluZyBoYXBwZW5lZC4KCQkJCQkkc3RhdHVzID0gJ25vdGljZSc7CgkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSBsb2cgc3RhdHVzLCAyKSBtYXBwaW5nIG9iamVjdCByb3cgaWQsIDMpIFdvcmRQcmVzcyBvYmplY3QgdHlvZSwgNCkgaW5kaXZpZHVhbCBXb3JkUHJlc3MgaXRlbSBJRCwgNSkgaW5kaXZpZHVhbCBTYWxlc2ZvcmNlIGl0ZW0gSUQuCgkJCQkJCWVzY19odG1sX18oICclMSRzOiBCZWNhdXNlIG9iamVjdCBtYXAgJTIkcyBhbHJlYWR5IGV4aXN0cywgV29yZFByZXNzICUzJHMgJTQkcyB3YXMgbm90IG1hcHBlZCB0byBTYWxlc2ZvcmNlIElkICU1JHMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCQkJYWJzaW50KCAkbWFwcGluZ19vYmplY3RbJ2lkJ10gKSwKCQkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJCQlhYnNpbnQoICR3b3JkcHJlc3NfaWQgKSwKCQkJCQkJZXNjX2F0dHIoICRvYmplY3RbJ0lkJ10gKQoJCQkJCSk7CgoJCQkJCSRib2R5ID0gc3ByaW50ZigKCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmUgMSkgV29yZFByZXNzIG9iamVjdCB0eXBlLCAyKSBmaWVsZCBuYW1lIGZvciB0aGUgV29yZFByZXNzIGlkLCAzKSB0aGUgV29yZFByZXNzIGlkIHZhbHVlLCA0KSB0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZSwgNSkgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IElkIHRoYXQgd2FzIG1vZGlmaWVkLCA2KSB0aGUgbWFwcGluZyBvYmplY3Qgcm93IGlkLgoJCQkJCQllc2NfaHRtbF9fKCAnVGhlIFdvcmRQcmVzcyAlMSRzIHdpdGggJTIkcyBvZiAlMyRzIGlzIGFscmVhZHkgbWFwcGVkIHRvIHRoZSBTYWxlc2ZvcmNlICU0JHMgd2l0aCBJZCBvZiAlNSRzIGluIHRoZSBtYXBwaW5nIG9iamVjdCB3aXRoIGlkIG9mICU2JHMuIFRoZSBTYWxlc2ZvcmNlICU0JHMgd2l0aCBJZCBvZiAlNSRzIHdhcyBjcmVhdGVkIG9yIG1vZGlmaWVkIGluIFNhbGVzZm9yY2UsIGFuZCB3b3VsZCBvdGhlcndpc2UgaGF2ZSBiZWVuIG1hcHBlZCB0byB0aGlzIFdvcmRQcmVzcyByZWNvcmQuIE5vIFdvcmRQcmVzcyBkYXRhIGhhcyBiZWVuIGNoYW5nZWQgdG8gcHJldmVudCBjaGFuZ2luZyBkYXRhIHVuaW50ZW50aW9uYWxseS4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCQkJZXNjX2F0dHIoICRzdHJ1Y3R1cmVbJ2lkX2ZpZWxkJ10gKSwKCQkJCQkJYWJzaW50KCAkd29yZHByZXNzX2lkICksCgkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQkJCWVzY19hdHRyKCAkb2JqZWN0WydJZCddICksCgkJCQkJCWFic2ludCggJG1hcHBpbmdfb2JqZWN0WydpZCddICkKCQkJCQkpOwoKCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJfQoKCQkJCQkvLyBpZiB3ZSBrbm93IHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlkIHdlIGNhbiBwdXQgaXQgaW4gdGhlcmUuCgkJCQkJaWYgKCBudWxsICE9PSAkd29yZHByZXNzX2lkICkgewoJCQkJCQkkcGFyZW50ID0gJHdvcmRwcmVzc19pZDsKCQkJCQl9IGVsc2UgewoJCQkJCQkkcGFyZW50ID0gMDsKCQkJCQl9CgoJCQkJCSRyZXN1bHQgPSBhcnJheSgKCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJJ21lc3NhZ2UnID0+ICRib2R5LAoJCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJJ3BhcmVudCcgID0+ICRwYXJlbnQsCgkJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJCSk7CgoJCQkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCgkJCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudC4KCgkJCQkvLyByaWdodCBoZXJlIHdlIHNob3VsZCBzZXQgdGhlIHB1bGxpbmcgdHJhbnNpZW50CgkJCQkvLyB0aGlzIG1lYW5zIHdlIGhhdmUgdG8gY3JlYXRlIHRoZSBtYXBwaW5nIG9iamVjdCBoZXJlIGFzIHdlbGwsIGFuZCB1cGRhdGUgaXQgd2l0aCB0aGUgY29ycmVjdCBJRHMgYWZ0ZXIgc3VjY2Vzc2Z1bCByZXNwb25zZQoJCQkJLy8gY3JlYXRlIHRoZSBtYXBwaW5nIG9iamVjdCBiZXR3ZWVuIHRoZSByb3dzLgoJCQkJJG1hcHBpbmdfb2JqZWN0X2lkID0gJHRoaXMtPmNyZWF0ZV9vYmplY3RfbWFwKCAkb2JqZWN0LCAkdGhpcy0+bWFwcGluZ3MtPmdlbmVyYXRlX3RlbXBvcmFyeV9pZCggJ3B1bGwnICksICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCQkJCXNldF90cmFuc2llbnQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfJyAuICRvYmplY3RbJ0lkJ10sIDEsICRzZWNvbmRzICk7CgkJCQlzZXRfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9wdWxsaW5nX29iamVjdF9pZCcsICRvYmplY3RbJ0lkJ10gKTsKCQkJCSRtYXBwaW5nX29iamVjdHMgPSAkdGhpcy0+bWFwcGluZ3MtPmdldF9hbGxfb2JqZWN0X21hcHMoCgkJCQkJYXJyYXkoCgkJCQkJCSdpZCcgPT4gJG1hcHBpbmdfb2JqZWN0X2lkLAoJCQkJCSkKCQkJCSk7CgkJCQlpZiAoIGlzc2V0KCAkbWFwcGluZ19vYmplY3RzWzBdICkgJiYgaXNfYXJyYXkoICRtYXBwaW5nX29iamVjdHNbMF0gKSApIHsKCQkJCQkkbWFwcGluZ19vYmplY3QgPSAkbWFwcGluZ19vYmplY3RzWzBdOwoJCQkJfQoJCQkJLy8gbm93IHdlIGNhbiB1cHNlcnQgdGhlIG9iamVjdCBpbiB3cCBpZiB3ZSd2ZSBnb3R0ZW4gdG8gdGhpcyBwb2ludAoJCQkJLy8gdGhpcyBjb21tYW5kIHdpbGwgZWl0aGVyIGNyZWF0ZSBvciB1cGRhdGUgdGhlIG9iamVjdC4KCQkJCSRyZXN1bHQgPSAkdGhpcy0+d29yZHByZXNzLT5vYmplY3RfdXBzZXJ0KCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10sICR1cHNlcnRfa2V5LCAkdXBzZXJ0X3ZhbHVlLCAkdXBzZXJ0X21ldGhvZHMsICRwYXJhbXMsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdG9fZHJhZnRzJ10gKTsKCgkJCX0gZWxzZSB7CgkJCQkvLyBObyBrZXkgb3IgcHJlbWF0Y2ggZmllbGQgZXhpc3RzIG9uIHRoaXMgZmllbGQgbWFwIG9iamVjdCwgY3JlYXRlIGEgbmV3IG9iamVjdCBpbiBXb3JkUHJlc3MuCgkJCQkkb3AgICAgICAgICAgICAgICAgPSAnQ3JlYXRlJzsKCQkJCSRtYXBwaW5nX29iamVjdF9pZCA9ICR0aGlzLT5jcmVhdGVfb2JqZWN0X21hcCggJG9iamVjdCwgJHRoaXMtPm1hcHBpbmdzLT5nZW5lcmF0ZV90ZW1wb3JhcnlfaWQoICdwdWxsJyApLCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgkJCQlzZXRfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9wdWxsaW5nXycgLiAkbWFwcGluZ19vYmplY3RfaWQsIDEsICRzZWNvbmRzICk7CgkJCQlzZXRfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9wdWxsaW5nX29iamVjdF9pZCcsICRtYXBwaW5nX29iamVjdF9pZCApOwoJCQkJJG1hcHBpbmdfb2JqZWN0cyA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2FsbF9vYmplY3RfbWFwcygKCQkJCQlhcnJheSgKCQkJCQkJJ2lkJyA9PiAkbWFwcGluZ19vYmplY3RfaWQsCgkJCQkJKQoJCQkJKTsKCQkJCWlmICggaXNzZXQoICRtYXBwaW5nX29iamVjdHNbMF0gKSAmJiBpc19hcnJheSggJG1hcHBpbmdfb2JqZWN0c1swXSApICkgewoJCQkJCSRtYXBwaW5nX29iamVjdCA9ICRtYXBwaW5nX29iamVjdHNbMF07CgkJCQl9CgoJCQkJJHJlc3VsdCA9ICR0aGlzLT53b3JkcHJlc3MtPm9iamVjdF9jcmVhdGUoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSwgJHBhcmFtcyApOwoJCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudC4KCQl9IGNhdGNoICggT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uICRlICkgewoJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBmYWlsZWQgY3JlYXRlIG9yIHVwc2VydC4KCQkJJHN0YXR1cyA9ICdlcnJvcic7CgkJCSR0aXRsZSAgPSBzcHJpbnRmKAoJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB3aGF0IG9wZXJhdGlvbiBpcyBoYXBwZW5pbmcsIGFuZCAzKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdC4KCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIFdvcmRQcmVzcyAlMyRzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApCgkJCSk7CgoJCQlpZiAoIG51bGwgIT09ICRzYWxlc2ZvcmNlX2lkICkgewoJCQkJJHRpdGxlIC49ICcgJyAuICRzYWxlc2ZvcmNlX2lkOwoJCQl9CgoJCQkkdGl0bGUgLj0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QsIGFuZCAyKSBJZCBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QuCgkJCQllc2NfaHRtbF9fKCAnIChTYWxlc2ZvcmNlICUxJHMgd2l0aCBJZCBvZiAlMiRzKScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J10sCgkJCQkkb2JqZWN0WydJZCddCgkJCSk7CgoJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCX0KCgkJCS8vIGlmIHdlIGtub3cgdGhlIFdvcmRQcmVzcyBvYmplY3QgaWQgd2UgY2FuIHB1dCBpdCBpbiB0aGVyZS4KCQkJaWYgKCBudWxsICE9PSAkd29yZHByZXNzX2lkICkgewoJCQkJJHBhcmVudCA9ICR3b3JkcHJlc3NfaWQ7CgkJCX0gZWxzZSB7CgkJCQkkcGFyZW50ID0gMDsKCQkJfQoKCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCSdtZXNzYWdlJyA9PiAkZS0+Z2V0TWVzc2FnZSgpLAoJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkncGFyZW50JyAgPT4gJHBhcmVudCwKCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkpOwoKCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCgkJCWlmICggZmFsc2UgPT09ICRob2xkX2V4Y2VwdGlvbnMgKSB7CgkJCQl0aHJvdyAkZTsKCQkJfQoJCQlpZiAoIGVtcHR5KCAkZXhjZXB0aW9uICkgKSB7CgkJCQkkZXhjZXB0aW9uID0gJGU7CgkJCX0gZWxzZSB7CgkJCQkkbXlfY2xhc3MgID0gZ2V0X2NsYXNzKCAkZSApOwoJCQkJJGV4Y2VwdGlvbiA9IG5ldyAkbXlfY2xhc3MoICRlLT5nZXRNZXNzYWdlKCksICRlLT5nZXRDb2RlKCksICRleGNlcHRpb24gKTsKCQkJfQoKCQkJLy8gaG9vayBmb3IgcHVsbCBmYWlsLgoJCQlkb19hY3Rpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfZmFpbCcsICRvcCwgJHJlc3VsdCwgJHN5bmNlZF9vYmplY3QgKTsKCgkJfSAvLyBFbmQgdHJ5KCkgbWV0aG9kLgoKCQkvLyBzZXQgJHdvcmRwcmVzc19kYXRhIHRvIHRoZSBxdWVyeSByZXN1bHQuCgkJJHdvcmRwcmVzc19kYXRhID0gJHJlc3VsdFsnZGF0YSddOwoJCWlmICggaXNzZXQoICR3b3JkcHJlc3NfZGF0YVsgIiR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSIgXSApICkgewoJCQkkd29yZHByZXNzX2lkID0gJHdvcmRwcmVzc19kYXRhWyAiJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lIiBdOwoJCX0gZWxzZSB7CgkJCSR3b3JkcHJlc3NfaWQgPSAwOwoJCX0KCgkJLy8gV29yZFByZXNzIGNydWQgY2FsbCB3YXMgc3VjY2Vzc2Z1bAoJCS8vIHRoaXMgbWVhbnMgdGhlIG9iamVjdCBoYXMgYWxyZWFkeSBiZWVuIGNyZWF0ZWQvdXBkYXRlZCBpbiBXb3JkUHJlc3MKCQkvLyB0aGlzIGlzIG5vdCByZWR1bmRhbnQgYmVjYXVzZSB0aGlzIGlzIHdoZXJlIGl0IGNyZWF0ZXMgdGhlIG9iamVjdCBtYXBwaW5nIHJvd3MgaW4gV29yZFByZXNzIGlmIHRoZSBvYmplY3QgZG9lcyBub3QgYWxyZWFkeSBoYXZlIG9uZSAod2UgYXJlIHN0aWxsIGluc2lkZSAkaXNfbmV3ID09PSBUUlVFIGhlcmUpLgoKCQlpZiAoIGVtcHR5KCAkcmVzdWx0WydlcnJvcnMnXSApICkgewoJCQkkc3RhdHVzID0gJ3N1Y2Nlc3MnOwoKCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQl9CgoJCQkkdGl0bGUgPSBzcHJpbnRmKAoJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB3aGF0IG9wZXJhdGlvbiBpcyBoYXBwZW5pbmcsIDMpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUsIDQpIHRoZSBXb3JkUHJlc3MgaWQgZmllbGQgbmFtZSwgNSkgdGhlIFdvcmRQcmVzcyBvYmplY3QgaWQgdmFsdWUsIDYpIHRoZSBuYW1lIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCwgNykgdGhlIFNhbGVzZm9yY2UgSWQgdmFsdWUuCgkJCQllc2NfaHRtbF9fKCAnJTEkczogJTIkcyBXb3JkUHJlc3MgJTMkcyB3aXRoICU0JHMgb2YgJTUkcyAoU2FsZXNmb3JjZSAlNiRzIElkIG9mICU3JHMpJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApLAoJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWQgKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQllc2NfYXR0ciggJG9iamVjdFsnSWQnXSApCgkJCSk7CgoJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJJ21lc3NhZ2UnID0+ICcnLAoJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkncGFyZW50JyAgPT4gJHdvcmRwcmVzc19pZCwKCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkpOwoKCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCgkJCS8vIHVwZGF0ZSB0aGF0IG1hcHBpbmcgb2JqZWN0LgoJCQkkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddID0gJHdvcmRwcmVzc19pZDsKCQkJJG1hcHBpbmdfb2JqZWN0ICAgICAgICAgICAgICAgICA9ICR0aGlzLT5tYXBwaW5ncy0+dXBkYXRlX29iamVjdF9tYXAoICRtYXBwaW5nX29iamVjdCwgJG1hcHBpbmdfb2JqZWN0WydpZCddICk7CgoJCQkvLyBob29rIGZvciBwdWxsIHN1Y2Nlc3MuCgkJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9zdWNjZXNzJywgJG9wLCAkcmVzdWx0LCAkc3luY2VkX29iamVjdCApOwoJCX0gZWxzZSB7CgoJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBmYWlsZWQgY3JlYXRlIG9yIHVwc2VydAoJCQkvLyB0aGlzIGlzIHBhcnQgb2YgdGhlIGRydXBhbCBtb2R1bGUgYnV0IGkgYW0gZmFpbGluZyB0byB1bmRlcnN0YW5kIHdoZW4gaXQgd291bGQgZXZlciBmaXJlLCBzaW5jZSB0aGUgY2F0Y2ggc2hvdWxkIGNhdGNoIHRoZSBlcnJvcnMKCQkJLy8gaWYgd2Ugc2VlIHRoaXMgaW4gdGhlIGxvZyBlbnRyaWVzLCB3ZSBjYW4gdW5kZXJzdGFuZCB3aGF0IGl0IGRvZXMsIGJ1dCBwcm9iYWJseSBub3QgdW50aWwgdGhlbi4KCQkJJHN0YXR1cyA9ICdlcnJvcic7CgkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJfQoKCQkJaWYgKCBpc19vYmplY3QoICR3b3JkcHJlc3NfaWQgKSApIHsKCQkJCS8vIHByaW50IHRoaXMgYXJyYXkgYmVjYXVzZSBpZiB0aGlzIGhhcHBlbnMsIHNvbWV0aGluZyB3ZWlyZCBoYXMgaGFwcGVuZWQgYW5kIHdlIHdhbnQgdG8gbG9nIHdoYXRldmVyIHdlIGhhdmUuCgkJCQkkd29yZHByZXNzX2lkID0gcHJpbnRfciggJHdvcmRwcmVzc19pZCwgdHJ1ZSApOyAvLyBwaHBjczppZ25vcmUgV29yZFByZXNzLlBIUC5EZXZlbG9wbWVudEZ1bmN0aW9ucy5lcnJvcl9sb2dfcHJpbnRfcgoJCQl9CgoJCQkkdGl0bGUgPSBzcHJpbnRmKAoJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB3aGF0IG9wZXJhdGlvbiBpcyBoYXBwZW5pbmcsIDMpIHRoZSBuYW1lIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlLCA0KSB0aGUgU2FsZXNmb3JjZSBvYmplY3QgSWQgdmFsdWUuCgkJCQllc2NfaHRtbF9fKCAnJTEkcyBzeW5jaW5nOiAlMiRzIHRvIFdvcmRQcmVzcyAoU2FsZXNmb3JjZSAlMyRzIElkICU0JHMpJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J10gKSwKCQkJCWVzY19hdHRyKCAkb2JqZWN0WydJZCddICkKCQkJKTsKCgkJCSRib2R5ID0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCB0eXBlLCAyKSB0aGUgV29yZFByZXNzIGlkIGZpZWxkIG5hbWUsIDMpIHRoZSBXb3JkUHJlc3MgaWQgZmllbGQgdmFsdWUsIDQpIHRoZSBhcnJheSBvZiBlcnJvcnMuCgkJCQknPHA+JyAuIGVzY19odG1sX18oICdPYmplY3Q6ICUxJHMgd2l0aCAlMiRzIG9mICUzJHMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9wPjxwPicgLiBlc2NfaHRtbF9fKCAnTWVzc2FnZTogJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJyU0JHM8L3A+JywKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgKSwKCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkICksCgkJCQlwcmludF9yKCAkcmVzdWx0WydlcnJvcnMnXSwgdHJ1ZSApIC8vIHBocGNzOmlnbm9yZSBXb3JkUHJlc3MuUEhQLkRldmVsb3BtZW50RnVuY3Rpb25zLmVycm9yX2xvZ19wcmludF9yCgkJCSk7CgoJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJJ21lc3NhZ2UnID0+ICRib2R5LAoJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkncGFyZW50JyAgPT4gJHdvcmRwcmVzc19pZCwKCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkpOwoKCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCgkJCS8vIGhvb2sgZm9yIHB1bGwgZmFpbC4KCQkJZG9fYWN0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX2ZhaWwnLCAkb3AsICRyZXN1bHQsICRzeW5jZWRfb2JqZWN0ICk7CgoJCX0gLy8gRW5kIGlmKCkgc3RhdGVtZW50LgoJCXJldHVybiAkcmVzdWx0czsKCX0KCgkvKioKCSAqIFVwZGF0ZSByZWNvcmRzIGluIFdvcmRQcmVzcyBmcm9tIGEgU2FsZXNmb3JjZSBwdWxsCgkgKgoJICogQHBhcmFtIHN0cmluZyAkc2Zfc3luY190cmlnZ2VyIFRoZSBjdXJyZW50IG9wZXJhdGlvbidzIHRyaWdnZXIuCgkgKiBAcGFyYW0gYXJyYXkgICRzeW5jZWRfb2JqZWN0IENvbWJpbmVkIGRhdGEgZm9yIGZpZWxkbWFwLCBtYXBwaW5nIG9iamVjdCwgYW5kIFNhbGVzZm9yY2Ugb2JqZWN0IGRhdGEuCgkgKiBAcGFyYW0gYXJyYXkgICRwYXJhbXMgQXJyYXkgb2YgbWFwcGVkIGtleSB2YWx1ZSBwYWlycyBiZXR3ZWVuIFdvcmRQcmVzcyBhbmQgU2FsZXNmb3JjZSBmaWVsZHMuCgkgKiBAcGFyYW0gc3RyaW5nICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSBUaGUgbmFtZSBvZiB0aGUgSUQgZmllbGQgZm9yIHRoaXMgcGFydGljdWxhciBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUuCgkgKiBAcGFyYW0gaW50ICAgICRzZWNvbmRzIFRpbWVvdXQgZm9yIHRoZSB0cmFuc2llbnQgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoZSBkaXJlY3Rpb24gZm9yIGEgc3luYy4KCSAqIEByZXR1cm4gYXJyYXkgJHJlc3VsdHMgQ3VycmVudGx5IHRoaXMgY29udGFpbnMgYW4gYXJyYXkgb2YgbG9nIGVudHJpZXMgZm9yIGVhY2ggYXR0ZW1wdC4KCSAqIEB0aHJvd3MgT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIEV4Y2VwdGlvbiAkZS4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiB1cGRhdGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSggJHNmX3N5bmNfdHJpZ2dlciwgJHN5bmNlZF9vYmplY3QsICRwYXJhbXMsICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSwgJHNlY29uZHMgKSB7CgoJCSRzYWxlc2ZvcmNlX21hcHBpbmcgPSAkc3luY2VkX29iamVjdFsnbWFwcGluZyddOwoJCSRtYXBwaW5nX29iamVjdCAgICAgPSAkc3luY2VkX29iamVjdFsnbWFwcGluZ19vYmplY3QnXTsKCQkkb2JqZWN0ICAgICAgICAgICAgID0gJHN5bmNlZF9vYmplY3RbJ3NhbGVzZm9yY2Vfb2JqZWN0J107CgoJCS8vIG1ldGhvZHMgdG8gcnVuIHRoZSB3cCB1cGRhdGUgb3BlcmF0aW9ucy4KCQkkcmVzdWx0cyA9IGFycmF5KCk7CgkJJG9wICAgICAgPSAnJzsKCgkJLy8gaWYgdGhlIGxhc3Qgc3luYyBpcyBncmVhdGVyIHRoYW4gdGhlIGxhc3QgdGltZSB0aGlzIG9iamVjdCB3YXMgdXBkYXRlZCBieSBTYWxlc2ZvcmNlLCBza2lwIGl0CgkJLy8gdGhpcyBrZWVwcyB1cyBmcm9tIGRvaW5nIHJlZHVuZGFudCBzeW5jcwoJCS8vIGJlY2F1c2UgU0Ygc3RvcmVzIGFsbCBEYXRlVGltZXMgaW4gVVRDLgoJCSRtYXBwaW5nX29iamVjdFsnb2JqZWN0X3VwZGF0ZWQnXSA9IGN1cnJlbnRfdGltZSggJ215c3FsJyApOwoKCQkkcHVsbF90cmlnZ2VyX2ZpZWxkID0gJHNhbGVzZm9yY2VfbWFwcGluZ1sncHVsbF90cmlnZ2VyX2ZpZWxkJ107CgkJJHB1bGxfdHJpZ2dlcl92YWx1ZSA9ICRvYmplY3RbICRwdWxsX3RyaWdnZXJfZmllbGQgXTsKCgkJLy8gaG9vayB0byBhbGxvdyBvdGhlciBwbHVnaW5zIHRvIGRvIHNvbWV0aGluZyByaWdodCBiZWZvcmUgV29yZFByZXNzIGRhdGEgaXMgc2F2ZWQKCQkvLyBleDogcnVuIG91dHNpZGUgbWV0aG9kcyBvbiBhbiBvYmplY3QgaWYgaXQgZXhpc3RzLCBvciBkbyBzb21ldGhpbmcgaW4gcHJlcGFyYXRpb24gZm9yIGl0IGlmIGl0IGRvZXNuJ3QuCgkJZG9fYWN0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwcmVfcHVsbCcsICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10sICRzYWxlc2ZvcmNlX21hcHBpbmcsICRvYmplY3QsICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSwgJHBhcmFtcyApOwoKCQl0cnkgewoKCQkJJG9wICAgICA9ICdVcGRhdGUnOwoJCQkkcmVzdWx0ID0gJHRoaXMtPndvcmRwcmVzcy0+b2JqZWN0X3VwZGF0ZSggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddLCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddLCAkcGFyYW1zLCAkbWFwcGluZ19vYmplY3QgKTsKCgkJCSRtYXBwaW5nX29iamVjdFsnbGFzdF9zeW5jX3N0YXR1cyddICA9ICR0aGlzLT5tYXBwaW5ncy0+c3RhdHVzX3N1Y2Nlc3M7CgkJCSRtYXBwaW5nX29iamVjdFsnbGFzdF9zeW5jX21lc3NhZ2UnXSA9IGVzY19odG1sX18oICdNYXBwaW5nIG9iamVjdCB1cGRhdGVkIHZpYSBmdW5jdGlvbjogJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gX19GVU5DVElPTl9fOwoKCQkJJHN0YXR1cyA9ICdzdWNjZXNzJzsKCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQl9CgoJCQkkdGl0bGUgPSBzcHJpbnRmKAoJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB3aGF0IG9wZXJhdGlvbiBpcyBoYXBwZW5pbmcsIDMpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUsIDQpIHRoZSBXb3JkUHJlc3MgaWQgZmllbGQgbmFtZSwgNSkgdGhlIFdvcmRQcmVzcyBvYmplY3QgaWQgdmFsdWUsIDYpIHRoZSBuYW1lIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCwgNykgdGhlIFNhbGVzZm9yY2UgSWQgdmFsdWUuCgkJCQllc2NfaHRtbF9fKCAnJTEkczogJTIkcyBXb3JkUHJlc3MgJTMkcyB3aXRoICU0JHMgb2YgJTUkcyAoU2FsZXNmb3JjZSAlNiRzIElkIG9mICU3JHMpJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApLAoJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10gKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQllc2NfYXR0ciggJG9iamVjdFsnSWQnXSApCgkJCSk7CgoJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJJ21lc3NhZ2UnID0+ICcnLAoJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkncGFyZW50JyAgPT4gJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSwKCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkpOwoKCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCgkJCS8vIGhvb2sgZm9yIHB1bGwgc3VjY2Vzcy4KCQkJZG9fYWN0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX3N1Y2Nlc3MnLCAkb3AsICRyZXN1bHQsICRzeW5jZWRfb2JqZWN0ICk7CgoJCX0gY2F0Y2ggKCBPYmplY3RfU3luY19TZl9FeGNlcHRpb24gJGUgKSB7CgkJCS8vIGNyZWF0ZSBsb2cgZW50cnkgZm9yIGZhaWxlZCB1cGRhdGUuCgkJCSRzdGF0dXMgPSAnZXJyb3InOwoJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCX0KCgkJCSR0aXRsZSAuPSBzcHJpbnRmKAoJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB3aGF0IG9wZXJhdGlvbiBpcyBoYXBwZW5pbmcsIDMpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0LCA0KSB0aGUgV29yZFByZXNzIGlkIGZpZWxkIG5hbWUsIDUpIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlkIHZhbHVlLCA2KSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QsIDcpIHRoZSBTYWxlc2ZvcmNlIElkIHZhbHVlLgoJCQkJZXNjX2h0bWxfXyggJyUxJHM6ICUyJHMgV29yZFByZXNzICUzJHMgd2l0aCAlNCRzIG9mICU1JHMgKFNhbGVzZm9yY2UgJTYkcyB3aXRoIElkIG9mICU3JHMpJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApLAoJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10gKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQllc2NfYXR0ciggJG9iamVjdFsnSWQnXSApCgkJCSk7CgoJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJJ21lc3NhZ2UnID0+ICRlLT5nZXRNZXNzYWdlKCksCgkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCSdwYXJlbnQnICA9PiAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddLAoJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCSk7CgoJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCgkJCSRyZXN1bHRzW10gPSAkcmVzdWx0OwoKCQkJJG1hcHBpbmdfb2JqZWN0WydsYXN0X3N5bmNfc3RhdHVzJ10gID0gJHRoaXMtPm1hcHBpbmdzLT5zdGF0dXNfZXJyb3I7CgkJCSRtYXBwaW5nX29iamVjdFsnbGFzdF9zeW5jX21lc3NhZ2UnXSA9ICRlLT5nZXRNZXNzYWdlKCk7CgoJCQlpZiAoIGZhbHNlID09PSAkaG9sZF9leGNlcHRpb25zICkgewoJCQkJdGhyb3cgJGU7CgkJCX0KCQkJaWYgKCBlbXB0eSggJGV4Y2VwdGlvbiApICkgewoJCQkJJGV4Y2VwdGlvbiA9ICRlOwoJCQl9IGVsc2UgewoJCQkJJG15X2NsYXNzICA9IGdldF9jbGFzcyggJGUgKTsKCQkJCSRleGNlcHRpb24gPSBuZXcgJG15X2NsYXNzKCAkZS0+Z2V0TWVzc2FnZSgpLCAkZS0+Z2V0Q29kZSgpLCAkZXhjZXB0aW9uICk7CgkJCX0KCgkJCS8vIGhvb2sgZm9yIHB1bGwgZmFpbC4KCQkJZG9fYWN0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX2ZhaWwnLCAkb3AsICRyZXN1bHQsICRzeW5jZWRfb2JqZWN0ICk7CgoJCX0gLy8gRW5kIHRyeSgpIG1ldGhvZC4KCgkJLy8gbmVlZCB0byBtb3ZlIHRoZXNlIGludG8gdGhlIHN1Y2Nlc3MgY2hlY2suCgoJCS8vIG1heWJlIGNhbiBjaGVjayB0byBzZWUgaWYgd2UgYWN0dWFsbHkgdXBkYXRlZCBhbnl0aGluZyBpbiBXb3JkUHJlc3MKCQkvLyB0ZWxsIHRoZSBtYXBwaW5nIG9iamVjdCAtIHdoZXRoZXIgaXQgaXMgbmV3IG9yIGFscmVhZHkgZXhpc3RlZCAtIGhvdyB3ZSBqdXN0IHVzZWQgaXQuCgkJJG1hcHBpbmdfb2JqZWN0WydsYXN0X3N5bmNfYWN0aW9uJ10gPSAncHVsbCc7CgkJJG1hcHBpbmdfb2JqZWN0WydsYXN0X3N5bmMnXSAgICAgICAgPSBjdXJyZW50X3RpbWUoICdteXNxbCcgKTsKCgkJLy8gdXBkYXRlIHRoYXQgbWFwcGluZyBvYmplY3QuIHRoZSBTYWxlc2ZvcmNlIGRhdGEgdmVyc2lvbiB3aWxsIGJlIHNldCBoZXJlIGFzIHdlbGwgYmVjYXVzZSB3ZSBzZXQgaXQgZWFybGllci4KCQkkdXBkYXRlX29iamVjdF9tYXAgPSAkdGhpcy0+bWFwcGluZ3MtPnVwZGF0ZV9vYmplY3RfbWFwKCAkbWFwcGluZ19vYmplY3QsICRtYXBwaW5nX29iamVjdFsnaWQnXSApOwoKCQlyZXR1cm4gJHJlc3VsdHM7CgoJfQoKCS8qKgoJICogRGVsZXRlIHJlY29yZHMgaW4gV29yZFByZXNzIGZyb20gYSBTYWxlc2ZvcmNlIHB1bGwKCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRzZl9zeW5jX3RyaWdnZXIgVGhlIGN1cnJlbnQgb3BlcmF0aW9uJ3MgdHJpZ2dlci4KCSAqIEBwYXJhbSBhcnJheSAgJHN5bmNlZF9vYmplY3QgQ29tYmluZWQgZGF0YSBmb3IgZmllbGRtYXAsIG1hcHBpbmcgb2JqZWN0LCBhbmQgU2FsZXNmb3JjZSBvYmplY3QgZGF0YS4KCSAqIEBwYXJhbSBzdHJpbmcgJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lIFRoZSBuYW1lIG9mIHRoZSBJRCBmaWVsZCBmb3IgdGhpcyBwYXJ0aWN1bGFyIFdvcmRQcmVzcyBvYmplY3QgdHlwZS4KCSAqIEBwYXJhbSBpbnQgICAgJHNlY29uZHMgVGltZW91dCBmb3IgdGhlIHRyYW5zaWVudCB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIGRpcmVjdGlvbiBmb3IgYSBzeW5jLgoJICogQHBhcmFtIGFycmF5ICAkbWFwcGluZ19vYmplY3RzIFRoZSBkYXRhIGZvciB0aGUgbWFwcGluZyBvYmplY3RzIGJldHdlZW4gdGhlIGluZGl2aWR1YWwgU2FsZXNmb3JjZSBhbmQgV29yZFByZXNzIGl0ZW1zLiBXZSBvbmx5IHBhc3MgdGhpcyBiZWNhdXNlIG9mIHRoZSBuZWVkIHRvIGNvdW50IGJlZm9yZSBkZWxldGluZyByZWNvcmRzLgoJICogQHJldHVybiBhcnJheSAkcmVzdWx0cyBDdXJyZW50bHkgdGhpcyBjb250YWlucyBhbiBhcnJheSBvZiBsb2cgZW50cmllcyBmb3IgZWFjaCBhdHRlbXB0LgoJICogQHRocm93cyBPYmplY3RfU3luY19TZl9FeGNlcHRpb24gRXhjZXB0aW9uICRlLgoJICovCglwcml2YXRlIGZ1bmN0aW9uIGRlbGV0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCAkc2Zfc3luY190cmlnZ2VyLCAkc3luY2VkX29iamVjdCwgJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lLCAkc2Vjb25kcywgJG1hcHBpbmdfb2JqZWN0cyApIHsKCgkJJHNhbGVzZm9yY2VfbWFwcGluZyA9ICRzeW5jZWRfb2JqZWN0WydtYXBwaW5nJ107CgkJJG1hcHBpbmdfb2JqZWN0ICAgICA9ICRzeW5jZWRfb2JqZWN0WydtYXBwaW5nX29iamVjdCddOwoKCQkvLyBtZXRob2RzIHRvIHJ1biB0aGUgd3AgZGVsZXRlIG9wZXJhdGlvbnMuCgkJJHJlc3VsdHMgPSBhcnJheSgpOwoJCSRvcCAgICAgID0gJyc7CgoJCS8vIGRlbGV0aW5nIG1hcHBlZCBvYmplY3RzLgoJCWlmICggJHNmX3N5bmNfdHJpZ2dlciA9PT0gJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX2RlbGV0ZSApIHsgLy8gdHJpZ2dlciBpcyBhIGJpdCBvcGVyYXRvci4KCQkJaWYgKCBpc3NldCggJG1hcHBpbmdfb2JqZWN0WydpZCddICkgKSB7CgoJCQkJJG9wID0gJ0RlbGV0ZSc7CgoJCQkJLy8gb25seSBkZWxldGUgaWYgdGhlcmUgYXJlIG5vIGFkZGl0aW9uYWwgbWFwcGluZyBvYmplY3RzIGZvciB0aGlzIHJlY29yZC4KCQkJCWlmICggMSA9PT0gY291bnQoICRtYXBwaW5nX29iamVjdHMgKSApIHsKCgkJCQkJc2V0X3RyYW5zaWVudCggJ3NhbGVzZm9yY2VfcHVsbGluZ18nIC4gJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10sIDEsICRzZWNvbmRzICk7CgkJCQkJc2V0X3RyYW5zaWVudCggJ3NhbGVzZm9yY2VfcHVsbGluZ19vYmplY3RfaWQnLCAkbWFwcGluZ19vYmplY3RbJ3NhbGVzZm9yY2VfaWQnXSApOwoKCQkJCQl0cnkgewoJCQkJCQkkcmVzdWx0ID0gJHRoaXMtPndvcmRwcmVzcy0+b2JqZWN0X2RlbGV0ZSggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddLCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddICk7CgkJCQkJfSBjYXRjaCAoIE9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiAkZSApIHsKCQkJCQkJJHN0YXR1cyA9ICdlcnJvcic7CgkJCQkJCS8vIGNyZWF0ZSBsb2cgZW50cnkgZm9yIGZhaWxlZCBkZWxldGUuCgkJCQkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJCQkJfQoKCQkJCQkJJHRpdGxlID0gc3ByaW50ZigKCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgd2hhdCBvcGVyYXRpb24gaXMgaGFwcGVuaW5nLCAzKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCB0eXBlLCA0KSB0aGUgV29yZFByZXNzIGlkIGZpZWxkIG5hbWUsIDUpIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlkIHZhbHVlLCA2KSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QsIDcpIHRoZSBTYWxlc2ZvcmNlIElkIHZhbHVlLgoJCQkJCQkJZXNjX2h0bWxfXyggJyUxJHM6ICUyJHMgV29yZFByZXNzICUzJHMgd2l0aCAlNCRzIG9mICU1JHMgKCU2JHMgJTckcyknLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCQllc2NfYXR0ciggJG9wICksCgkJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddICksCgkJCQkJCQllc2NfYXR0ciggJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lICksCgkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSApLAoJCQkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J10gKSwKCQkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3NhbGVzZm9yY2VfaWQnXSApCgkJCQkJCSk7CgoJCQkJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJCQkJJ21lc3NhZ2UnID0+ICRlLT5nZXRNZXNzYWdlKCksCgkJCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJCSdwYXJlbnQnICA9PiAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddLAoJCQkJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCQkJCSk7CgoJCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCgkJCQkJCSRyZXN1bHRzW10gPSAkcmVzdWx0OwoKCQkJCQkJaWYgKCBmYWxzZSA9PT0gJGhvbGRfZXhjZXB0aW9ucyApIHsKCQkJCQkJCXRocm93ICRlOwoJCQkJCQl9CgkJCQkJCWlmICggZW1wdHkoICRleGNlcHRpb24gKSApIHsKCQkJCQkJCSRleGNlcHRpb24gPSAkZTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCSRteV9jbGFzcyAgPSBnZXRfY2xhc3MoICRlICk7CgkJCQkJCQkkZXhjZXB0aW9uID0gbmV3ICRteV9jbGFzcyggJGUtPmdldE1lc3NhZ2UoKSwgJGUtPmdldENvZGUoKSwgJGV4Y2VwdGlvbiApOwoJCQkJCQl9CgoJCQkJCQkvLyBob29rIGZvciBwdWxsIGZhaWwuCgkJCQkJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9mYWlsJywgJG9wLCAkcmVzdWx0LCAkc3luY2VkX29iamVjdCApOwoKCQkJCQl9IC8vIEVuZCB0cnkoKSBtZXRob2QuCgoJCQkJCWlmICggISBpc3NldCggJGUgKSApIHsKCQkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3Igc3VjY2Vzc2Z1bCBkZWxldGUgaWYgdGhlIHJlc3VsdCBoYWQgbm8gZXJyb3JzLgoJCQkJCQkkc3RhdHVzID0gJ3N1Y2Nlc3MnOwoJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCX0KCgkJCQkJCSR0aXRsZSA9IHNwcmludGYoCgkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGxvZyBzdGF0dXMsIDIpIHdoYXQgb3BlcmF0aW9uIGlzIGhhcHBlbmluZywgMykgdGhlIG5hbWUgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QgdHlwZSwgNCkgdGhlIFdvcmRQcmVzcyBpZCBmaWVsZCBuYW1lLCA1KSB0aGUgV29yZFByZXNzIG9iamVjdCBpZCB2YWx1ZSwgNikgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LCA3KSB0aGUgU2FsZXNmb3JjZSBJZCB2YWx1ZS4KCQkJCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIFdvcmRQcmVzcyAlMyRzIHdpdGggJTQkcyBvZiAlNSRzICglNiRzICU3JHMpJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApLAoJCQkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10gKSwKCQkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10gKQoJCQkJCQkpOwoKCQkJCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJCSdtZXNzYWdlJyA9PiAnJywKCQkJCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkJJ3BhcmVudCcgID0+ICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10sCgkJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkJKTsKCgkJCQkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgoJCQkJCQkvLyBob29rIGZvciBwdWxsIHN1Y2Nlc3MuCgkJCQkJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9zdWNjZXNzJywgJG9wLCAkcmVzdWx0LCAkc3luY2VkX29iamVjdCApOwoJCQkJCX0gLy8gRW5kIGlmKCkgc3RhdGVtZW50IGlmIGl0IHdhcyBzdWNjZXNzZnVsLgoJCQkJfSBlbHNlIHsKCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBhZGRpdGlvbmFsIG1hcHBlZCBpdGVtcy4KCQkJCQkkbW9yZV9pZHMgPSBzcHJpbnRmKAoJCQkJCQkvLyB0cmFuc2xhdG9yczogcGFyYW1ldGVyIGlzIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3MgaWQgZmllbGQgbmFtZS4KCQkJCQkJJzxwPicgLiBlc2NfaHRtbF9fKCAnVGhlIFdvcmRQcmVzcyByZWNvcmQgd2FzIG5vdCBkZWxldGVkIGJlY2F1c2UgdGhlcmUgYXJlIG11bHRpcGxlIFNhbGVzZm9yY2UgSURzIHRoYXQgbWF0Y2ggdGhpcyBXb3JkUHJlc3MgJTEkcy4pIFRoZXkgYXJlOicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L3A+JywKCQkJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApCgkJCQkJKTsKCgkJCQkJJG1vcmVfaWRzIC49ICc8dWw+JzsKCQkJCQlmb3JlYWNoICggJG1hcHBpbmdfb2JqZWN0cyBhcyAkbWF0Y2ggKSB7CgkJCQkJCSRtb3JlX2lkcyAuPSAnPGxpPicgLiAkbWF0Y2hbJ3NhbGVzZm9yY2VfaWQnXSAuICc8L2xpPic7CgkJCQkJfQoJCQkJCSRtb3JlX2lkcyAuPSAnPC91bD4nOwoKCQkJCQkkbW9yZV9pZHMgLj0gJzxwPicgLiBlc2NfaHRtbF9fKCAnVGhlIG1hcCByb3cgYmV0d2VlbiB0aGlzIFNhbGVzZm9yY2Ugb2JqZWN0IGFuZCB0aGUgV29yZFByZXNzIG9iamVjdCwgYXMgc3RvcmVkIGluIHRoZSBXb3JkUHJlc3MgZGF0YWJhc2UsIHdpbGwgYmUgZGVsZXRlZCwgYW5kIHRoaXMgU2FsZXNmb3JjZSBvYmplY3QgaGFzIGJlZW4gZGVsZXRlZCwgYnV0IFdvcmRQcmVzcyBvYmplY3QgZGF0YSB3aWxsIHJlbWFpbiB1bnRvdWNoZWQuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzwvcD4nOwoKCQkJCQkkc3RhdHVzID0gJ25vdGljZSc7CgkJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJCX0KCgkJCQkJJHRpdGxlID0gc3ByaW50ZigKCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBvcGVyYXRpb24gdGhhdCBpcyBoYXBwZW5pbmcsIDIpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUsIDMpIHRoZSBXb3JkUHJlc3MgaWQgZmllbGQgbmFtZSwgNCkgdGhlIFdvcmRQcmVzcyBvYmplY3QgaWQgdmFsdWUsIDUpIHRoZSBuYW1lIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlLCA2KSB0aGUgU2FsZXNmb3JjZSBJZC4KCQkJCQkJZXNjX2h0bWxfXyggJyUxJHM6ICUyJHMgb24gV29yZFByZXNzICUzJHMgd2l0aCAlNCRzIG9mICU1JHMgd2FzIHN0b3BwZWQgYmVjYXVzZSB0aGVyZSBhcmUgb3RoZXIgV29yZFByZXNzIHJlY29yZHMgbWFwcGVkIHRvIFNhbGVzZm9yY2UgJTYkcyBvZiAlNyRzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJCQllc2NfYXR0ciggJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lICksCgkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddICksCgkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3NhbGVzZm9yY2VfaWQnXSApCgkJCQkJKTsKCgkJCQkJJG5vdGljZSA9IGFycmF5KAoJCQkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJCQknbWVzc2FnZScgPT4gJG1vcmVfaWRzLAoJCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJJ3BhcmVudCcgID0+IDAsCgkJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJCSk7CgoJCQkJCSRsb2dnaW5nLT5zZXR1cCggJG5vdGljZSApOwoJCQkJfSAvLyBFbmQgaWYoKSBvbiBjb3VudAoJCQkJLy8gZGVsZXRlIHRoZSBtYXAgcm93IGZyb20gV29yZFByZXNzIGFmdGVyIHRoZSBXb3JkUHJlc3Mgcm93IGhhcyBiZWVuIGRlbGV0ZWQKCQkJCS8vIHdlIGRlbGV0ZSB0aGUgbWFwIHJvdyBldmVuIGlmIHRoZSBXb3JkUHJlc3MgZGVsZXRlIGZhaWxlZCwgYmVjYXVzZSB0aGUgU2FsZXNmb3JjZSBvYmplY3QgaXMgZ29uZS4KCQkJCSR0aGlzLT5tYXBwaW5ncy0+ZGVsZXRlX29iamVjdF9tYXAoICRtYXBwaW5nX29iamVjdFsnaWQnXSApOwoJCQkJLy8gdGhlcmUgaXMgbm8gbWFwIHJvdyBpZiB3ZSBlbmQgdGhpcyBpZiBzdGF0ZW1lbnQuCgkJCX0gLy8gRW5kIGlmKCkgc3RhdGVtZW50LgoJCX0gLy8gRW5kIGlmKCkgc3RhdGVtZW50LgoKCQlyZXR1cm4gJHJlc3VsdHM7CgoJfQoKCS8qKgoJICogQ2xlYXIgdGhlIGN1cnJlbnRseSBzdG9yZWQgcXVlcnkgZm9yIHRoZSBzcGVjaWZpZWQgY29udGVudCB0eXBlCgkgKgoJICogQHBhcmFtIHN0cmluZyAkdHlwZSBlLmcuICJDb250YWN0IiwgIkFjY291bnQiLCBldGMuCgkgKiBAcGFyYW0gaW50ICAgICRmaWVsZG1hcF9pZCBpcyB0aGUgZmllbGRtYXAgSUQgdGhhdCBnb2VzIHdpdGggdGhpcyBxdWVyeS4KCSAqLwoJcHVibGljIGZ1bmN0aW9uIGNsZWFyX2N1cnJlbnRfdHlwZV9xdWVyeSggJHR5cGUsICRmaWVsZG1hcF9pZCA9ICcnICkgewoJCS8vIHVwZGF0ZSB0aGUgbGFzdCBzeW5jIHRpbWVzdGFtcCBmb3IgdGhpcyBjb250ZW50IHR5cGUuCgkJJHRoaXMtPmluY3JlbWVudF9jdXJyZW50X3R5cGVfZGF0ZXRpbWUoICR0eXBlLCAkZmllbGRtYXBfaWQgKTsKCQkvLyBkZWxldGUgdGhlIG9wdGlvbiB2YWx1ZSBmb3IgdGhlIGN1cnJlbnRseSBwdWxsaW5nIHF1ZXJ5IGZvciB0aGlzIHR5cGUuCgkJJHRoaXMtPnB1bGxfb3B0aW9ucy0+ZGVsZXRlKCAnY3VycmVudF9xdWVyeScsICR0eXBlLCAkZmllbGRtYXBfaWQgKTsKCQkvLyBkZWxldGUgdGhlIG9wdGlvbiB2YWx1ZSBmb3IgdGhlIGxhc3QgcHVsbCByZWNvcmQgaWQuCgkJJHRoaXMtPnB1bGxfb3B0aW9ucy0+ZGVsZXRlKCAnbGFzdF9pZCcsICcnLCAnJyApOwoJfQoKCS8qKgoJICogSW5jcmVtZW50IHRoZSBjdXJyZW50bHkgcnVubmluZyBxdWVyeSdzIGRhdGV0aW1lCgkgKgoJICogQHBhcmFtIHN0cmluZyAgICAkdHlwZSBlLmcuICJDb250YWN0IiwgIkFjY291bnQiLCBldGMuCgkgKiBAcGFyYW0gdGltZXN0YW1wICRuZXh0X3F1ZXJ5X21vZGlmaWVkX2RhdGUgdGhlIGxhc3QgcmVjb3JkJ3MgbW9kaWZpZWQgZGF0ZXRpbWUsIG9yIHRoZSBjdXJyZW50IHRpbWUgaWYgdGhlcmUgaXNuJ3Qgb25lLgoJICogQHBhcmFtIGludCAgICAgICAkZmllbGRtYXBfaWQgaXMgdGhlIGZpZWxkbWFwIElEIHRoYXQgZ29lcyB3aXRoIHRoaXMgcXVlcnkuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gaW5jcmVtZW50X2N1cnJlbnRfdHlwZV9kYXRldGltZSggJHR5cGUsICRuZXh0X3F1ZXJ5X21vZGlmaWVkX2RhdGUgPSAnJywgJGZpZWxkbWFwX2lkID0gJycgKSB7CgkJLy8gdXBkYXRlIHRoZSBsYXN0IHN5bmMgdGltZXN0YW1wIGZvciB0aGlzIGNvbnRlbnQgdHlwZS4KCQlpZiAoICcnID09PSAkbmV4dF9xdWVyeV9tb2RpZmllZF9kYXRlICkgewoJCQkkbmV4dF9xdWVyeV9tb2RpZmllZF9kYXRlID0gdGltZSgpOwoJCX0gZWxzZSB7CgkJCSRuZXh0X3F1ZXJ5X21vZGlmaWVkX2RhdGUgPSBzdHJ0b3RpbWUoICRuZXh0X3F1ZXJ5X21vZGlmaWVkX2RhdGUgKTsKCQl9CgkJJHRoaXMtPnB1bGxfb3B0aW9ucy0+c2V0KCAnbGFzdF9zeW5jJywgJHR5cGUsICRmaWVsZG1hcF9pZCwgJG5leHRfcXVlcnlfbW9kaWZpZWRfZGF0ZSApOwoJfQoKCS8qKgoJICogQ3JlYXRlIGFuIG9iamVjdCBtYXAgYmV0d2VlbiBhIFNhbGVzZm9yY2Ugb2JqZWN0IGFuZCBhIFdvcmRQcmVzcyBvYmplY3QKCSAqCgkgKiBAcGFyYW0gYXJyYXkgICRzYWxlc2ZvcmNlX29iamVjdCBBcnJheSBvZiB0aGUgc2FsZXNmb3JjZSBvYmplY3QncyBkYXRhLgoJICogQHBhcmFtIHN0cmluZyAkd29yZHByZXNzX2lkIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgV29yZFByZXNzIG9iamVjdC4KCSAqIEBwYXJhbSBhcnJheSAgJGZpZWxkX21hcHBpbmcgVGhlIHJvdyB0aGF0IG1hcHMgdGhlIG9iamVjdCB0eXBlcyB0b2dldGhlciwgaW5jbHVkaW5nIHdoaWNoIGZpZWxkcyBtYXRjaCB3aGljaCBvdGhlciBmaWVsZHMuCgkgKiBAcmV0dXJuIGludCAkd3BkYi0+aW5zZXJ0X2lkIFRoaXMgaXMgdGhlIGRhdGFiYXNlIHJvdyBmb3IgdGhlIG1hcCBvYmplY3QKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBjcmVhdGVfb2JqZWN0X21hcCggJHNhbGVzZm9yY2Vfb2JqZWN0LCAkd29yZHByZXNzX2lkLCAkZmllbGRfbWFwcGluZyApIHsKCQkvLyBDcmVhdGUgb2JqZWN0IG1hcCBhbmQgc2F2ZSBpdC4KCQkkbWFwcGluZ19vYmplY3QgPSAkdGhpcy0+bWFwcGluZ3MtPmNyZWF0ZV9vYmplY3RfbWFwKAoJCQlhcnJheSgKCQkJCSd3b3JkcHJlc3NfaWQnICAgICAgPT4gJHdvcmRwcmVzc19pZCwgLy8gV29yZFByZXNzIHVuaXF1ZSBpZC4KCQkJCSdzYWxlc2ZvcmNlX2lkJyAgICAgPT4gJHNhbGVzZm9yY2Vfb2JqZWN0WydJZCddLCAvLyBTYWxlc2ZvcmNlIHVuaXF1ZSBpZC4gd2UgZG9uJ3QgY2FyZSB3aGF0IGtpbmQgb2Ygb2JqZWN0IGl0IGlzIGF0IHRoaXMgcG9pbnQuCgkJCQknd29yZHByZXNzX29iamVjdCcgID0+ICRmaWVsZF9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10sIC8vIGtlZXAgdHJhY2sgb2Ygd2hhdCBraW5kIG9mIFdvcmRQcmVzcyBvYmplY3QgdGhpcyBpcy4KCQkJCSdsYXN0X3N5bmMnICAgICAgICAgPT4gY3VycmVudF90aW1lKCAnbXlzcWwnICksCgkJCQknbGFzdF9zeW5jX2FjdGlvbicgID0+ICdwdWxsJywKCQkJCSdsYXN0X3N5bmNfc3RhdHVzJyAgPT4gJHRoaXMtPm1hcHBpbmdzLT5zdGF0dXNfc3VjY2VzcywKCQkJCSdsYXN0X3N5bmNfbWVzc2FnZScgPT4gZXNjX2h0bWxfXyggJ01hcHBpbmcgb2JqZWN0IGNyZWF0ZWQgdmlhIGZ1bmN0aW9uOiAnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiBfX0ZVTkNUSU9OX18sCgkJCQknYWN0aW9uJyAgICAgICAgICAgID0+ICdjcmVhdGVkJywKCQkJKQoJCSk7CgoJCXJldHVybiAkbWFwcGluZ19vYmplY3Q7CgoJfQoKCS8qKgoJICogRmluZCBvdXQgaWYgcHVsbCBpcyBhbGxvd2VkIGZvciB0aGlzIHJlY29yZAoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJG9iamVjdF90eXBlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUuCgkgKiBAcGFyYW0gYXJyYXkgICRvYmplY3QgQXJyYXkgb2YgdGhlIHNhbGVzZm9yY2Ugb2JqZWN0J3MgZGF0YS4KCSAqIEBwYXJhbSBzdHJpbmcgJHNmX3N5bmNfdHJpZ2dlciBUaGUgY3VycmVudCBvcGVyYXRpb24ncyB0cmlnZ2VyLgoJICogQHBhcmFtIGFycmF5ICAkc2FsZXNmb3JjZV9tYXBwaW5nIHRoZSBmaWVsZG1hcCB0aGF0IG1hcHMgdGhlIHR3byBvYmplY3QgdHlwZXMuCgkgKiBAcGFyYW0gYXJyYXkgICRtYXBfc3luY190cmlnZ2VycyB0aGUgdHJpZ2dlcnMgdGhhdCBhcmUgZW5hYmxlZC4KCSAqIEByZXR1cm4gYm9vbCAkcHVsbF9hbGxvd2VkIFdoZXRoZXIgYWxsIHRoaXMgc3R1ZmYgYWxsb3dzIHRoZSAkcmVzdWx0IHRvIGJlIHB1bGxlZCBpbnRvIFdvcmRQcmVzcwoJICovCglwcml2YXRlIGZ1bmN0aW9uIGlzX3B1bGxfYWxsb3dlZCggJG9iamVjdF90eXBlLCAkb2JqZWN0LCAkc2Zfc3luY190cmlnZ2VyLCAkc2FsZXNmb3JjZV9tYXBwaW5nLCAkbWFwX3N5bmNfdHJpZ2dlcnMgKSB7CgoJCS8vIGRlZmF1bHQgaXMgcHVsbCBpcyBhbGxvd2VkLgoJCSRwdWxsX2FsbG93ZWQgPSB0cnVlOwoKCQkvLyBpZiB0aGUgY3VycmVudCBmaWVsZG1hcCBkb2VzIG5vdCBhbGxvdyBjcmVhdGUsIHdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlcmUgaXMgYW4gb2JqZWN0IG1hcCBmb3IgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IElkLiBpZiBub3QsIHNldCBwdWxsX2FsbG93ZWQgdG8gZmFsc2UuCgkJaWYgKCAhIGluX2FycmF5KCAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfY3JlYXRlLCAkbWFwX3N5bmNfdHJpZ2dlcnMsIHRydWUgKSApIHsKCQkJJG9iamVjdF9tYXAgPSAkdGhpcy0+bWFwcGluZ3MtPmxvYWRfYWxsX2J5X3NhbGVzZm9yY2UoICRvYmplY3RbJ0lkJ10gKTsKCQkJaWYgKCBlbXB0eSggJG9iamVjdF9tYXAgKSApIHsKCQkJCSRwdWxsX2FsbG93ZWQgPSBmYWxzZTsKCQkJfQoJCX0KCgkJLy8gSG9vayB0byBhbGxvdyBvdGhlciBwbHVnaW5zIHRvIHByZXZlbnQgYSBwdWxsIHBlci1tYXBwaW5nLgoJCS8vIFB1dHRpbmcgdGhlIHB1bGxfYWxsb3dlZCBob29rIGhlcmUgd2lsbCBrZWVwIHRoZSBxdWV1ZSBmcm9tIHN0b3JpbmcgZGF0YSB3aGVuIGl0IGlzIG5vdCBzdXBwb3NlZCB0byBzdG9yZSBpdC4KCQkkcHVsbF9hbGxvd2VkID0gYXBwbHlfZmlsdGVycyggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9vYmplY3RfYWxsb3dlZCcsICRwdWxsX2FsbG93ZWQsICRvYmplY3RfdHlwZSwgJG9iamVjdCwgJHNmX3N5bmNfdHJpZ2dlciwgJHNhbGVzZm9yY2VfbWFwcGluZyApOwoKCQkvLyBleGFtcGxlIHRvIGtlZXAgZnJvbSBwdWxsaW5nIHRoZSBDb250YWN0IHdpdGggaWQgb2YgYWJjZGVmLgoJCS8qIC8vIHBocGNzOmlnbm9yZSBTcXVpei5QSFAuQ29tbWVudGVkT3V0Q29kZS5Gb3VuZAoJCWFkZF9maWx0ZXIoICdvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZV9wdWxsX29iamVjdF9hbGxvd2VkJywgJ2NoZWNrX3VzZXInLCAxMCwgNSApOwoJCS8vIGNhbiBhbHdheXMgcmVkdWNlIHRoaXMgbnVtYmVyIGlmIGFsbCB0aGUgYXJndW1lbnRzIGFyZSBub3QgbmVjZXNzYXJ5CgkJZnVuY3Rpb24gY2hlY2tfdXNlciggJHB1bGxfYWxsb3dlZCwgJG9iamVjdF90eXBlLCAkb2JqZWN0LCAkc2Zfc3luY190cmlnZ2VyLCAkc2FsZXNmb3JjZV9tYXBwaW5nICkgewoJCQlpZiAoICRvYmplY3RfdHlwZSA9PT0gJ0NvbnRhY3QnICYmICRvYmplY3RbJ0lkJ10gPT09ICdhYmNkZWYnICkgewoJCQkJJHB1bGxfYWxsb3dlZCA9IGZhbHNlOwoJCQl9CgkJCXJldHVybiAkcHVsbF9hbGxvd2VkOwoJCX0KCQkqLwoKCQlyZXR1cm4gJHB1bGxfYWxsb3dlZDsKCX0KCn0KIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWVzcGFjZXMiO2E6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW5jbHVkZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZnVuY3Rpb25zIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNvbnN0YW50cyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjbGFzc2VzIjthOjE6e3M6MzE6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGwiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIjoxMTp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MzE6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGwiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czozMDoiT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNzoiT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsIGNsYXNzLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHBhcmVudCI7TjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AaW1wbGVtZW50cyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGNvbnN0YW50cyI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHByb3BlcnRpZXMiO2E6MTk6e3M6NDE6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiR2ZXJzaW9uIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQxOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokdmVyc2lvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjc6InZlcnNpb24iO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mjk6IkN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcGx1Z2luIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjM4OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokZmlsZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozODoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JGZpbGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo0OiJmaWxlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjIwOiJUaGUgbWFpbiBwbHVnaW4gZmlsZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mjg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czozODoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHdwZGIiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzg6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiR3cGRiIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NDoid3BkYiI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo0ODoiR2xvYmFsIG9iamVjdCBvZiBgJHdwZGJgLCB0aGUgV29yZFByZXNzIGRhdGFiYXNlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czozODoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHNsdWciO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzg6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRzbHVnIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NDoic2x1ZyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1MzoiVGhlIHBsdWdpbidzIHNsdWcgc28gd2UgY2FuIGluY2x1ZGUgaXQgd2hlbiBuZWNlc3NhcnkiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mzc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDc6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRvcHRpb25fcHJlZml4IjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ3OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokb3B0aW9uX3ByZWZpeCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEzOiJvcHRpb25fcHJlZml4Ijt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjU1OiJUaGUgcGx1Z2luJ3MgcHJlZml4IHdoZW4gc2F2aW5nIG9wdGlvbnMgdG8gdGhlIGRhdGFiYXNlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjUxOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbG9naW5fY3JlZGVudGlhbHMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTE6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRsb2dpbl9jcmVkZW50aWFscyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE3OiJsb2dpbl9jcmVkZW50aWFscyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo5MDoiTG9naW4gY3JlZGVudGlhbHMgZm9yIHRoZSBTYWxlc2ZvcmNlIEFQSTsgY29tZXMgZnJvbSB3cC1jb25maWcgb3IgZnJvbSB0aGUgcGx1Z2luIHNldHRpbmdzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHNjaGVkdWxhYmxlX2NsYXNzZXMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRzY2hlZHVsYWJsZV9jbGFzc2VzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTk6InNjaGVkdWxhYmxlX2NsYXNzZXMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6ODM6IkFycmF5IG9mIHdoYXQgY2xhc3NlcyBpbiB0aGUgcGx1Z2luIGNhbiBiZSBzY2hlZHVsZWQgdG8gb2NjdXIgd2l0aCBgd3BfY3JvbmAgZXZlbnRzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1ODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czozOToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHF1ZXVlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM5OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokcXVldWUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo1OiJxdWV1ZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyNjoiT2JqZWN0X1N5bmNfU2ZfUXVldWUgY2xhc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjY1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjQxOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbG9nZ2luZyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JGxvZ2dpbmciO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo3OiJsb2dnaW5nIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI4OiJPYmplY3RfU3luY19TZl9Mb2dnaW5nIGNsYXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Nzc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo0MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JG1hcHBpbmdzIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQyOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbWFwcGluZ3MiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo4OiJtYXBwaW5ncyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyODoiT2JqZWN0X1N5bmNfU2ZfTWFwcGluZyBjbGFzcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtOO31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Nzk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjg0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiR3b3JkcHJlc3MiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiR3b3JkcHJlc3MiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo5OiJ3b3JkcHJlc3MiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MzA6Ik9iamVjdF9TeW5jX1NmX1dvcmRQcmVzcyBjbGFzcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtOO31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6ODY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjkxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRzYWxlc2ZvcmNlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokc2FsZXNmb3JjZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEwOiJzYWxlc2ZvcmNlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjY4OiJPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlIGNsYXNzClRoaXMgY29udGFpbnMgU2FsZXNmb3JjZSBBUEkgbWV0aG9kcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjk5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRwdWxsX29wdGlvbnMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRwdWxsX29wdGlvbnMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMjoicHVsbF9vcHRpb25zIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjMzOiJPYmplY3RfU3luY19TZl9QdWxsX09wdGlvbnMgY2xhc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEwMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTA2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDc6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRzY2hlZHVsZV9uYW1lIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ3OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokc2NoZWR1bGVfbmFtZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEzOiJzY2hlZHVsZV9uYW1lIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjM3OiJUaGUgbmFtZSBvZiB0aGUgQWN0aW9uU2NoZWR1bGVyIHF1ZXVlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEwODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTEzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NTI6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRiYXRjaF9zb3FsX3F1ZXJpZXMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTI6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRiYXRjaF9zb3FsX3F1ZXJpZXMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxODoiYmF0Y2hfc29xbF9xdWVyaWVzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI5OiJXaGV0aGVyIHRvIGJhdGNoIFNPUUwgcXVlcmllcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMTU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JG1pbl9zb3FsX2JhdGNoX3NpemUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRtaW5fc29xbF9iYXRjaF9zaXplIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTk6Im1pbl9zb3FsX2JhdGNoX3NpemUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mjg6Ik1pbmltdW0gc2l6ZSBvZiBhIFNPUUwgYmF0Y2giO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTIyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTI3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDc6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRtYXhfc29xbF9zaXplIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ3OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbWF4X3NvcWxfc2l6ZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEzOiJtYXhfc29xbF9zaXplIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI4OiJNYXhpbXVtIHNpemUgb2YgYSBTT1FMIGJhdGNoIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyOTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEzNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjU2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbWVyZ2VhYmxlX3JlY29yZF90eXBlcyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JG1lcmdlYWJsZV9yZWNvcmRfdHlwZXMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMjoibWVyZ2VhYmxlX3JlY29yZF90eXBlcyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo0NjoiVHlwZXMgb2YgU2FsZXNmb3JjZSByZWNvcmRzIHRoYXQgY2FuIGJlIG1lcmdlZCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTM2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNDE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czozOToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JGRlYnVnIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM5OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokZGVidWciO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo1OiJkZWJ1ZyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNToiV2hldGhlciB0aGUgcGx1Z2luIGlzIGluIGRlYnVnIG1vZGUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTQzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNDg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBtZXRob2RzIjthOjI3OntzOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpfX2NvbnN0cnVjdCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyNjoiQ29uc3RydWN0b3IgZm9yIHB1bGwgY2xhc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE1MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6X19jb25zdHJ1Y3QoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjExOiJfX2NvbnN0cnVjdCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNTM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6YmF0Y2hfc29xbF9xdWVyaWVzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjU0OiJXaGV0aGVyIHRvIHVzZSB0aGUgYmF0Y2hTaXplIHBhcmFtZXRlciBvbiBTT1FMIHF1ZXJpZXMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE4OiJiYXRjaF9zb3FsX3F1ZXJpZXMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjk6IndoZXRoZXIgdG8gYmF0Y2ggdGhlIHF1ZXJpZXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxOToiJGJhdGNoX3NvcWxfcXVlcmllcyI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxOTQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmJhdGNoX3NvcWxfcXVlcmllcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTg6ImJhdGNoX3NvcWxfcXVlcmllcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTg6ImJhdGNoX3NvcWxfcXVlcmllcyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIwMDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjphZGRfYWN0aW9ucygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoxNzQ6IkNyZWF0ZSB0aGUgYWN0aW9uIGhvb2tzIGJhc2VkIG9uIHdoYXQgb2JqZWN0IG1hcHMgZXhpc3QgZnJvbSB0aGUgYWRtaW4gc2V0dGluZ3MKcm91dGUgaXMgaHR0cDovL2V4YW1wbGUuY29tL3dwLWpzb24vc2FsZXNmb3JjZS1yZXN0LWFwaS9wdWxsLyBwbHVzIHBhcmFtcyB3ZSBkZWNpZGUgdG8gYWNjZXB0LiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjEwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjphZGRfYWN0aW9ucygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6ImFkZF9hY3Rpb25zIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIxNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpkZXByZWNhdGVkX2FjdGlvbnMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTg6IkRlcHJlY2F0ZWQgYWN0aW9ucyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjI0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpkZXByZWNhdGVkX2FjdGlvbnMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE4OiJkZXByZWNhdGVkX2FjdGlvbnMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjI3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NjM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmRlcHJlY2F0ZWRfcHVsbF9vcHRpb25fbmFtZXMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NjU6Ik1vZGlmeSBsZWdhY3kgbmFtZWQgaW5kaXZpZHVhbCBvcHRpb24gcmVjb3JkcyBmb3Igc3luYyBvcGVyYXRpb25zIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjM6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czozOiJrZXkiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzI6InRoZSBwbHVnaW4ncyBzdWdnZXN0ZWQga2V5IG5hbWUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjY6InBhcmFtcyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDA6InRoZSBhcnJheSBvZiBwYXJhbWV0ZXJzIHRvIG1ha2UgdGhlIGtleS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NTA6IiR2YWx1ZSB0aGUgdmFsdWUgb2YgdGhlIGl0ZW0uIEZhbHNlIGlmIGl0J3MgZW1wdHkuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzMjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6ZGVwcmVjYXRlZF9wdWxsX29wdGlvbl9uYW1lcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mjg6ImRlcHJlY2F0ZWRfcHVsbF9vcHRpb25fbmFtZXMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mjp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Mzoia2V5IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NjoicGFyYW1zIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTg6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OnNhbGVzZm9yY2VfcHVsbF93ZWJob29rKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjE2MToiUkVTVCBBUEkgY2FsbGJhY2sgZm9yIHNhbGVzZm9yY2UgcHVsbC4gUmV0dXJucyBzdGF0dXMgb2YgMjAwIGZvciBzdWNjZXNzZnVsCmF0dGVtcHQgb3IgNDAzIGZvciBhIGZhaWxlZCBwdWxsIGF0dGVtcHQgKFNGIG5vdCBhdXRob3JpemVkLCB0aHJlc2hob2xkCnJlYWNoZWQsIGV0Yy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjc6InJlcXVlc3QiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTY6IlxXUF9SRVNUX1JlcXVlc3QiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNToiV1BfUkVTVF9SZXF1ZXN0Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NjY6IlRoaXMgaXMgYSBtZXJnZWQgb2JqZWN0IG9mIGFsbCB0aGUgYXJndW1lbnRzIGZyb20gdGhlIEFQSSByZXF1ZXN0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjMyOiJjb2RlOiAyMDEKZGF0YToKICBzdWNjZXNzIDogdHJ1ZSI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNTE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTg6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OnNhbGVzZm9yY2VfcHVsbF93ZWJob29rKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMzoic2FsZXNmb3JjZV9wdWxsX3dlYmhvb2siO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NzoicmVxdWVzdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjE2OiJcV1BfUkVTVF9SZXF1ZXN0IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTU6IldQX1JFU1RfUmVxdWVzdCI7fX1zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNjI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1MDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6c2FsZXNmb3JjZV9wdWxsKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjY1OiJDYWxsYmFjayBmb3IgdGhlIHN0YW5kYXJkIHB1bGwgcHJvY2VzcyB1c2VkIGJ5IHdlYmhvb2tzIGFuZCBjcm9uLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjkyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUwOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpzYWxlc2ZvcmNlX3B1bGwoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJzYWxlc2ZvcmNlX3B1bGwiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mjk1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NDk6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmNoZWNrX3Rocm90dGxlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjY2OiJEZXRlcm1pbmVzIGlmIHRoZSBTYWxlc2ZvcmNlIHB1bGwgc2hvdWxkIGJlIGFsbG93ZWQsIG9yIHRocm90dGxlZC4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NTQ6IlByZXZlbnRzIHRvbyBtYW55IHB1bGwgcHJvY2Vzc2VzIGZyb20gcnVubmluZyBhdCBvbmNlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Njg6IlJldHVybnMgZmFsc2UgaWYgdGhlIHRpbWUgZWxhcHNlZCBiZXR3ZWVuIHJlY2VudCBwdWxscyBpcyB0b28gc2hvcnQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjMxNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y2hlY2tfdGhyb3R0bGUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE0OiJjaGVja190aHJvdHRsZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzIwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF91cGRhdGVkX3JlY29yZHMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NjU6IlB1bGwgdXBkYXRlZCByZWNvcmRzIGZyb20gU2FsZXNmb3JjZSBhbmQgcGxhY2UgdGhlbSBpbiB0aGUgcXVldWUuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjMxOToiRXhlY3V0ZXMgYSBTT1FMIHF1ZXJ5IGJhc2VkIG9uIGRlZmluZWQgbWFwcGluZ3MsIGxvb3BzIHRocm91Z2ggdGhlIHJlc3VsdHMsCmFuZCBwbGFjZXMgZWFjaCB1cGRhdGVkIFNGIG9iamVjdCBpbnRvIHRoZSBxdWV1ZSBmb3IgbGF0ZXIgcHJvY2Vzc2luZy4KV2UgY29weSB0aGUgY29udmVudGlvbiBmcm9tIHRoZSBEcnVwYWwgbW9kdWxlIGhlcmUsIGFuZCBydW4gYSBzZXBhcmF0ZSBTT1FMIHF1ZXJ5IGZvciBlYWNoIHR5cGUgb2Ygb2JqZWN0IGluIFNGCklmIHdlIHJldHVybiBzb21ldGhpbmcgaGVyZSwgaXQncyBiZWNhdXNlIHRoZXJlIGlzIGFuIGVycm9yLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMzE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF91cGRhdGVkX3JlY29yZHMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJnZXRfdXBkYXRlZF9yZWNvcmRzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMzg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X25leHRfcmVjb3JkX2JhdGNoKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjIwNzoiUHVsbCB0aGUgbmV4dCBiYXRjaCBvZiByZWNvcmRzIGZyb20gdGhlIFNhbGVzZm9yY2UgQVBJLCBpZiBhcHBsaWNhYmxlCkV4ZWN1dGVzIGEgbmV4dFJlY29yZHNVcmwgU09RTCBxdWVyeSBiYXNlZCBvbiB0aGUgcHJldmlvdXMgcmVzdWx0LAphbmQgcGxhY2VzIGVhY2ggdXBkYXRlZCBTRiBvYmplY3QgaW50byB0aGUgcXVldWUgZm9yIGxhdGVyIHByb2Nlc3NpbmcuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjc6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo5OiJsYXN0X3N5bmMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6OToiXGRhdGV0aW1lIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6ODoiZGF0ZXRpbWUiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNDoid2hlbiBpdCB3YXMgbGFzdCBzeW5jZWQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjEzOiJ0aGUgZmllbGRtYXAuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE3OiJtYXBfc3luY190cmlnZ2VycyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjg6InRoZSBzeW5jIHRyaWdnZXIgYml0IHZhbHVlcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoidHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNzoidGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo0O086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEyOiJ2ZXJzaW9uX3BhdGgiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDA6InRoZSBBUEkgcGF0aCBmb3IgdGhlIFNhbGVzZm9yY2UgdmVyc2lvbi4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjU7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6InF1ZXJ5X29wdGlvbnMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjIzOiJ0aGUgU09RTCBxdWVyeSBvcHRpb25zLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo4OiJyZXNwb25zZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjI6InRoZSBwcmV2aW91cyByZXNwb25zZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Njc5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfbmV4dF9yZWNvcmRfYmF0Y2goKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIxOiJnZXRfbmV4dF9yZWNvcmRfYmF0Y2giO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjc6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjk6Imxhc3Rfc3luYyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNzoibWFwX3N5bmNfdHJpZ2dlcnMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjM7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ0eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTo0O086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTI6InZlcnNpb25fcGF0aCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6NTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJxdWVyeV9vcHRpb25zIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTo2O086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoicmVzcG9uc2UiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo2OTI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y2hlY2tfb2Zmc2V0X3F1ZXJ5KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjEyMjoiR2V0IHRoZSBuZXh0IG9mZnNldCBxdWVyeS4gSWYgY2hlY2sgaXMgdHJ1ZSwgb25seSBzZWUgaWYgdGhhdCBxdWVyeSB3b3VsZCBoYXZlIHJlc3VsdHMuIE90aGVyd2lzZSwgcmV0dXJuIHRoZSBTT1FMIG9iamVjdC4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NTc6IldoZW4gYmF0Y2hTaXplIGlzIG5vdCBpbiB1c2UsIHJ1biBhIGNoZWNrIHdpdGggYW4gb2Zmc2V0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjQ6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJ0eXBlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI3OiJ0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTg6InNhbGVzZm9yY2VfbWFwcGluZyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjk6InRoZSBtYXAgYmV0d2VlbiBvYmplY3QgdHlwZXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJxdWVyeV9vcHRpb25zIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMToidGhlIG9wdGlvbnMgZm9yIHRoZSBTT1FMIHF1ZXJ5LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MztPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjM2OiIkc29xbHwkZG9lc19uZXh0X29mZnNldF9oYXZlX3Jlc3VsdHMiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzQwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpjaGVja19vZmZzZXRfcXVlcnkoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE4OiJjaGVja19vZmZzZXRfcXVlcnkiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InR5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxODoic2FsZXNmb3JjZV9tYXBwaW5nIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTM6InF1ZXJ5X29wdGlvbnMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3NDk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo0OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X3B1bGxfcXVlcnkoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTEwOiJHaXZlbiBhIFNPYmplY3QgdHlwZSBuYW1lLCBidWlsZCBhbiBTT1FMIHF1ZXJ5IHRvIGluY2x1ZGUgYWxsIGZpZWxkcyBmb3IgYWxsCmZpZWxkbWFwcyBtYXBwZWQgdG8gdGhhdCBTT2JqZWN0LiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo1OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoidHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMToiZS5nLiAiQ29udGFjdCIsICJBY2NvdW50IiwgZXRjLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxODoic2FsZXNmb3JjZV9tYXBwaW5nIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0NDoidGhlIGZpZWxkbWFwIHRoYXQgbWFwcyB0aGUgdHdvIG9iamVjdCB0eXBlcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzk6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1NlbGVjdF9RdWVyeSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjM4OiJPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1NlbGVjdF9RdWVyeSI7fX1zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo1NDoib3IgbnVsbCBpZiBubyBtYXBwaW5ncyBvciBubyBtYXBwZWQgZmllbGRzIHdlcmUgZm91bmQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDI6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFNlZSI6Mzp7czo3OiIAKgBuYW1lIjtzOjM6InNlZSI7czo5OiIAKgByZWZlcnMiO086NTQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxGcXNlbiI6MTp7czo2MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxGcXNlbgBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQyOiJcT2JqZWN0X1N5bmNfU2ZfTWFwcGluZzo6Z2V0X21hcHBlZF9maWVsZHMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiZ2V0X21hcHBlZF9maWVsZHMiO319czoxNDoiACoAZGVzY3JpcHRpb24iO047fWk6NDtPOjQyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xTZWUiOjM6e3M6NzoiACoAbmFtZSI7czozOiJzZWUiO3M6OToiACoAcmVmZXJzIjtPOjU0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZWZlcmVuY2VcRnFzZW4iOjE6e3M6NjE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZWZlcmVuY2VcRnFzZW4AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0ODoiXE9iamVjdF9TeW5jX1NmX01hcHBpbmc6OmdldF9tYXBwZWRfcmVjb3JkX3R5cGVzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjM6ImdldF9tYXBwZWRfcmVjb3JkX3R5cGVzIjt9fXM6MTQ6IgAqAGRlc2NyaXB0aW9uIjtOO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzcxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ5OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfcHVsbF9xdWVyeSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTQ6ImdldF9wdWxsX3F1ZXJ5Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ0eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTg6InNhbGVzZm9yY2VfbWFwcGluZyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6NzoiYXJyYXkoKSI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjc4MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUwOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfcHVsbF9vZmZzZXQoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDY6IkRldGVybWluZSB0aGUgb2Zmc2V0IGZvciB0aGUgU09RTCBxdWVyeSB0byBydW4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InR5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6ImUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoic29xbCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTY6InRoZSBTT1FMIG9iamVjdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NToicmVzZXQiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjg6IndoZXRoZXIgdG8gcmVzZXQgdGhlIG9mZnNldC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTIwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUwOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfcHVsbF9vZmZzZXQoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJnZXRfcHVsbF9vZmZzZXQiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InR5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJzb3FsIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NToicmVzZXQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjU6ImZhbHNlIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTI3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF9wdWxsX2RhdGVfdmFsdWUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTM4OiJHaXZlbiBhIFNPYmplY3QgdHlwZSBuYW1lLCBkZXRlcm1pbmUgdGhlIGRhdGV0aW1lIHZhbHVlIHRoZSBTT1FMIG9iamVjdCBzaG91bGQgdXNlIHRvIGZpbHRlciByZXN1bHRzLiBPZnRlbiB0aGlzIHdpbGwgYmUgTGFzdE1vZGlmaWVkRGF0ZS4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NDp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InR5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6ImUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoic29xbCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTY6InRoZSBTT1FMIG9iamVjdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTE6ImZpZWxkbWFwX2lkIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQ1OiJpcyB0aGUgZmllbGRtYXAgSUQgdGhhdCBnb2VzIHdpdGggdGhpcyBxdWVyeS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTA6Ilx0aW1lc3RhbXAiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo5OiJ0aW1lc3RhbXAiO319czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjU6IiRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWUiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTM2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfcHVsbF9kYXRlX3ZhbHVlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToiZ2V0X3B1bGxfZGF0ZV92YWx1ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoidHlwZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InNvcWwiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToiZmllbGRtYXBfaWQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjI6IicnIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTQ0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF9tZXJnZWRfcmVjb3JkcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNToiR2V0IG1lcmdlZCByZWNvcmRzIGZyb20gU2FsZXNmb3JjZS4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Njg6Ik5vdGUgdGhhdCBtZXJnZXMgY2FuIGN1cnJlbnRseSBvbmx5IHdvcmsgaWYgdGhlIFNvYXAgQVBJIGlzIGVuYWJsZWQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjk2MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X21lcmdlZF9yZWNvcmRzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxODoiZ2V0X21lcmdlZF9yZWNvcmRzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo5Njc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo2MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6cmVzcG9uZF90b19zYWxlc2ZvcmNlX21lcmdlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjEyNjoiUmVzcG9uZCB0byBTYWxlc2ZvcmNlIG1lcmdlIGV2ZW50cwpUaGlzIG1lYW5zIHdlIHVwZGF0ZSB0aGUgbWFwcGluZyBvYmplY3QgdG8gY29udGFpbiB0aGUgbmV3IFNhbGVzZm9yY2UgSWQsIGFuZCBwdWxsIGl0cyBkYXRhIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjI6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMToib2JqZWN0X3R5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mzc6IndoYXQgdHlwZSBvZiBTYWxlc2ZvcmNlIG9iamVjdCBpdCBpcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6Im1lcmdlZF9yZWNvcmQiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI3OiJ0aGUgcmVjb3JkIHRoYXQgd2FzIG1lcmdlZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTA0ODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6cmVzcG9uZF90b19zYWxlc2ZvcmNlX21lcmdlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNzoicmVzcG9uZF90b19zYWxlc2ZvcmNlX21lcmdlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToib2JqZWN0X3R5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMzoibWVyZ2VkX3JlY29yZCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEwNTU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1NDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X2RlbGV0ZWRfcmVjb3JkcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNjoiR2V0IGRlbGV0ZWQgcmVjb3JkcyBmcm9tIHNhbGVzZm9yY2UuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjc3OiJOb3RlIHRoYXQgZGVsZXRpb25zIGNhbiBvbmx5IGJlIHF1ZXJpZWQgdmlhIFJFU1Qgd2l0aCBhbiBBUEkgdmVyc2lvbiA+PSAyOS4wLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMTA0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfZGVsZXRlZF9yZWNvcmRzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToiZ2V0X2RlbGV0ZWRfcmVjb3JkcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTEwODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjptYW51YWxfcHVsbCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1MDoiTWV0aG9kIGZvciBhamF4IGhvb2tzIHRvIGNhbGwgZm9yIHB1bGxpbmcgbWFudWFsbHkiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJvYmplY3RfdHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNzoidGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJzYWxlc2ZvcmNlX2lkIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI1OiJ0aGUgU2FsZXNmb3JjZSByZWNvcmQgSUQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NzoiJHJlc3VsdCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMjM5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjptYW51YWxfcHVsbCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6Im1hbnVhbF9wdWxsIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjExOiJvYmplY3RfdHlwZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJzYWxlc2ZvcmNlX2lkIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7czoyOiInJyI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyNDY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo2NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6c2FsZXNmb3JjZV9wdWxsX3Byb2Nlc3NfcmVjb3JkcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo4MDoiU3luYyBXb3JkUHJlc3Mgb2JqZWN0cyBhbmQgU2FsZXNmb3JjZSBvYmplY3RzIGZyb20gdGhlIHF1ZXVlIHVzaW5nIHRoZSBSRVNUIEFQSS4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NTp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJvYmplY3RfdHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNjoiVHlwZSBvZiBTYWxlc2ZvcmNlIG9iamVjdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6Njoib2JqZWN0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozNjoiVGhlIFNhbGVzZm9yY2UgZGF0YSBvciBpdHMgSWQgdmFsdWUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE1OiJzZl9zeW5jX3RyaWdnZXIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjI6IlRyaWdnZXIgZm9yIHRoaXMgc3luYy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjIzOiJ0cnVlIG9yIGV4aXQgdGhlIG1ldGhvZCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NDtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xUaHJvd3MiOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI1OiJcT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjQ6Ik9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiI7fX1zOjc6IgAqAG5hbWUiO3M6NjoidGhyb3dzIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMzoiRXhjZXB0aW9uICRlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMjc0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpzYWxlc2ZvcmNlX3B1bGxfcHJvY2Vzc19yZWNvcmRzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czozMToic2FsZXNmb3JjZV9wdWxsX3Byb2Nlc3NfcmVjb3JkcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToib2JqZWN0X3R5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo2OiJvYmplY3QiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNToic2Zfc3luY190cmlnZ2VyIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTI4MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUyOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfc3luY2VkX29iamVjdCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozMjoiR2VuZXJhdGUgdGhlIHN5bmNlZF9vYmplY3QgYXJyYXkiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NDp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjY6Im9iamVjdCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzU6IlRoZSBkYXRhIGZvciB0aGUgU2FsZXNmb3JjZSBvYmplY3QuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE0OiJtYXBwaW5nX29iamVjdCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6ODY6IlRoZSBkYXRhIGZvciB0aGUgbWFwcGluZyBvYmplY3QgYmV0d2VlbiB0aGUgaW5kaXZpZHVhbCBTYWxlc2ZvcmNlIGFuZCBXb3JkUHJlc3MgaXRlbXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjUxOiJUaGUgZGF0YSBmb3IgdGhlIGZpZWxkbWFwIGJldHdlZW4gdGhlIG9iamVjdCB0eXBlcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMDc6IiRzeW5jZWRfb2JqZWN0IFRoZSBjb21iaW5lZCBhcnJheSBvZiB0aGVzZSBpdGVtcy4gSXQgYWxsb3dzIGZvciBmaWx0ZXJpbmcgb2YsIGF0IGxlYXN0LCB0aGUgbWFwcGluZ19vYmplY3QuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE2Mjc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTI6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF9zeW5jZWRfb2JqZWN0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiZ2V0X3N5bmNlZF9vYmplY3QiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6Im9iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE0OiJtYXBwaW5nX29iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNjM1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NjQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmNyZWF0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjUwOiJDcmVhdGUgcmVjb3JkcyBpbiBXb3JkUHJlc3MgZnJvbSBhIFNhbGVzZm9yY2UgcHVsbCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo4OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMjoiVGhlIGN1cnJlbnQgb3BlcmF0aW9uJ3MgdHJpZ2dlci4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6InN5bmNlZF9vYmplY3QiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjcxOiJDb21iaW5lZCBkYXRhIGZvciBmaWVsZG1hcCwgbWFwcGluZyBvYmplY3QsIGFuZCBTYWxlc2ZvcmNlIG9iamVjdCBkYXRhLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo2OiJwYXJhbXMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjcyOiJBcnJheSBvZiBtYXBwZWQga2V5IHZhbHVlIHBhaXJzIGJldHdlZW4gV29yZFByZXNzIGFuZCBTYWxlc2ZvcmNlIGZpZWxkcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6ODoicHJlbWF0Y2giO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjYzOiJBcnJheSBvZiBjcml0ZXJpYSB0byBkZXRlcm1pbmUgd2hhdCB0byBkbyBvbiB1cHNlcnQgb3BlcmF0aW9ucy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjQ7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MjM6IndvcmRwcmVzc19pZF9maWVsZF9uYW1lIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjY3OiJUaGUgbmFtZSBvZiB0aGUgSUQgZmllbGQgZm9yIHRoaXMgcGFydGljdWxhciBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo1O086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjc6InNlY29uZHMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NzA6IlRpbWVvdXQgZm9yIHRoZSB0cmFuc2llbnQgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoZSBkaXJlY3Rpb24gZm9yIGEgc3luYy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjY7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3NDoiJHJlc3VsdHMgQ3VycmVudGx5IHRoaXMgY29udGFpbnMgYW4gYXJyYXkgb2YgbG9nIGVudHJpZXMgZm9yIGVhY2ggYXR0ZW1wdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjc7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVGhyb3dzIjozOntzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyNToiXE9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI0OiJPYmplY3RfU3luY19TZl9FeGNlcHRpb24iO319czo3OiIAKgBuYW1lIjtzOjY6InRocm93cyI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTM6IkV4Y2VwdGlvbiAkZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTY1MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y3JlYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI5OiJjcmVhdGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Njp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJzeW5jZWRfb2JqZWN0IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NjoicGFyYW1zIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTozO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoicHJlbWF0Y2giO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjQ7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoyMzoid29yZHByZXNzX2lkX2ZpZWxkX25hbWUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjU7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJzZWNvbmRzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTY2MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjY0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjp1cGRhdGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1MDoiVXBkYXRlIHJlY29yZHMgaW4gV29yZFByZXNzIGZyb20gYSBTYWxlc2ZvcmNlIHB1bGwiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Nzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE1OiJzZl9zeW5jX3RyaWdnZXIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzI6IlRoZSBjdXJyZW50IG9wZXJhdGlvbidzIHRyaWdnZXIuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJzeW5jZWRfb2JqZWN0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MToiQ29tYmluZWQgZGF0YSBmb3IgZmllbGRtYXAsIG1hcHBpbmcgb2JqZWN0LCBhbmQgU2FsZXNmb3JjZSBvYmplY3QgZGF0YS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NjoicGFyYW1zIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MjoiQXJyYXkgb2YgbWFwcGVkIGtleSB2YWx1ZSBwYWlycyBiZXR3ZWVuIFdvcmRQcmVzcyBhbmQgU2FsZXNmb3JjZSBmaWVsZHMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjIzOiJ3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo2NzoiVGhlIG5hbWUgb2YgdGhlIElEIGZpZWxkIGZvciB0aGlzIHBhcnRpY3VsYXIgV29yZFByZXNzIG9iamVjdCB0eXBlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo3OiJzZWNvbmRzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjcwOiJUaW1lb3V0IGZvciB0aGUgdHJhbnNpZW50IHZhbHVlIHRvIGRldGVybWluZSB0aGUgZGlyZWN0aW9uIGZvciBhIHN5bmMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo1O086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NzQ6IiRyZXN1bHRzIEN1cnJlbnRseSB0aGlzIGNvbnRhaW5zIGFuIGFycmF5IG9mIGxvZyBlbnRyaWVzIGZvciBlYWNoIGF0dGVtcHQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo2O086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFRocm93cyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MjU6IlxPYmplY3RfU3luY19TZl9FeGNlcHRpb24iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNDoiT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIjt9fXM6NzoiACoAbmFtZSI7czo2OiJ0aHJvd3MiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjEzOiJFeGNlcHRpb24gJGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIwNTc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OnVwZGF0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyOToidXBkYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjU6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE1OiJzZl9zeW5jX3RyaWdnZXIiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMzoic3luY2VkX29iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6InBhcmFtcyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MztPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjIzOiJ3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6NDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjc6InNlY29uZHMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMDY4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NjQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmRlbGV0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjUwOiJEZWxldGUgcmVjb3JkcyBpbiBXb3JkUHJlc3MgZnJvbSBhIFNhbGVzZm9yY2UgcHVsbCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo3OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMjoiVGhlIGN1cnJlbnQgb3BlcmF0aW9uJ3MgdHJpZ2dlci4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6InN5bmNlZF9vYmplY3QiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjcxOiJDb21iaW5lZCBkYXRhIGZvciBmaWVsZG1hcCwgbWFwcGluZyBvYmplY3QsIGFuZCBTYWxlc2ZvcmNlIG9iamVjdCBkYXRhLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoyMzoid29yZHByZXNzX2lkX2ZpZWxkX25hbWUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Njc6IlRoZSBuYW1lIG9mIHRoZSBJRCBmaWVsZCBmb3IgdGhpcyBwYXJ0aWN1bGFyIFdvcmRQcmVzcyBvYmplY3QgdHlwZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6Nzoic2Vjb25kcyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MDoiVGltZW91dCBmb3IgdGhlIHRyYW5zaWVudCB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIGRpcmVjdGlvbiBmb3IgYSBzeW5jLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxNToibWFwcGluZ19vYmplY3RzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxNTk6IlRoZSBkYXRhIGZvciB0aGUgbWFwcGluZyBvYmplY3RzIGJldHdlZW4gdGhlIGluZGl2aWR1YWwgU2FsZXNmb3JjZSBhbmQgV29yZFByZXNzIGl0ZW1zLiBXZSBvbmx5IHBhc3MgdGhpcyBiZWNhdXNlIG9mIHRoZSBuZWVkIHRvIGNvdW50IGJlZm9yZSBkZWxldGluZyByZWNvcmRzLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjc0OiIkcmVzdWx0cyBDdXJyZW50bHkgdGhpcyBjb250YWlucyBhbiBhcnJheSBvZiBsb2cgZW50cmllcyBmb3IgZWFjaCBhdHRlbXB0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xUaHJvd3MiOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI1OiJcT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjQ6Ik9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiI7fX1zOjc6IgAqAG5hbWUiO3M6NjoidGhyb3dzIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMzoiRXhjZXB0aW9uICRlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMTk3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpkZWxldGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mjk6ImRlbGV0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTo1OntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNToic2Zfc3luY190cmlnZ2VyIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTM6InN5bmNlZF9vYmplY3QiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoyMzoid29yZHByZXNzX2lkX2ZpZWxkX25hbWUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjM7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJzZWNvbmRzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTo0O086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTU6Im1hcHBpbmdfb2JqZWN0cyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIyMDg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y2xlYXJfY3VycmVudF90eXBlX3F1ZXJ5KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjYzOiJDbGVhciB0aGUgY3VycmVudGx5IHN0b3JlZCBxdWVyeSBmb3IgdGhlIHNwZWNpZmllZCBjb250ZW50IHR5cGUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InR5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6ImUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTE6ImZpZWxkbWFwX2lkIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQ1OiJpcyB0aGUgZmllbGRtYXAgSUQgdGhhdCBnb2VzIHdpdGggdGhpcyBxdWVyeS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM3MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y2xlYXJfY3VycmVudF90eXBlX3F1ZXJ5KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNDoiY2xlYXJfY3VycmVudF90eXBlX3F1ZXJ5Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InR5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToiZmllbGRtYXBfaWQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjI6IicnIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM3NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjY2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjppbmNyZW1lbnRfY3VycmVudF90eXBlX2RhdGV0aW1lKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjQ4OiJJbmNyZW1lbnQgdGhlIGN1cnJlbnRseSBydW5uaW5nIHF1ZXJ5J3MgZGF0ZXRpbWUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InR5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6ImUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MjQ6Im5leHRfcXVlcnlfbW9kaWZpZWRfZGF0ZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoxMDoiXHRpbWVzdGFtcCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjk6InRpbWVzdGFtcCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjc2OiJ0aGUgbGFzdCByZWNvcmQncyBtb2RpZmllZCBkYXRldGltZSwgb3IgdGhlIGN1cnJlbnQgdGltZSBpZiB0aGVyZSBpc24ndCBvbmUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJmaWVsZG1hcF9pZCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0NToiaXMgdGhlIGZpZWxkbWFwIElEIHRoYXQgZ29lcyB3aXRoIHRoaXMgcXVlcnkuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzODY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmluY3JlbWVudF9jdXJyZW50X3R5cGVfZGF0ZXRpbWUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjMxOiJpbmNyZW1lbnRfY3VycmVudF90eXBlX2RhdGV0aW1lIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ0eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MjQ6Im5leHRfcXVlcnlfbW9kaWZpZWRfZGF0ZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6MjoiJyciO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToiZmllbGRtYXBfaWQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjI6IicnIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM5MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUyOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpjcmVhdGVfb2JqZWN0X21hcCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo3MToiQ3JlYXRlIGFuIG9iamVjdCBtYXAgYmV0d2VlbiBhIFNhbGVzZm9yY2Ugb2JqZWN0IGFuZCBhIFdvcmRQcmVzcyBvYmplY3QiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NDp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE3OiJzYWxlc2ZvcmNlX29iamVjdCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mzg6IkFycmF5IG9mIHRoZSBzYWxlc2ZvcmNlIG9iamVjdCdzIGRhdGEuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEyOiJ3b3JkcHJlc3NfaWQiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDM6IlVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgV29yZFByZXNzIG9iamVjdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6ImZpZWxkX21hcHBpbmciO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjkzOiJUaGUgcm93IHRoYXQgbWFwcyB0aGUgb2JqZWN0IHR5cGVzIHRvZ2V0aGVyLCBpbmNsdWRpbmcgd2hpY2ggZmllbGRzIG1hdGNoIHdoaWNoIG90aGVyIGZpZWxkcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjYwOiIkd3BkYi0+aW5zZXJ0X2lkIFRoaXMgaXMgdGhlIGRhdGFiYXNlIHJvdyBmb3IgdGhlIG1hcCBvYmplY3QiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjQwMztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y3JlYXRlX29iamVjdF9tYXAoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE3OiJjcmVhdGVfb2JqZWN0X21hcCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTc6InNhbGVzZm9yY2Vfb2JqZWN0IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTI6IndvcmRwcmVzc19pZCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJmaWVsZF9tYXBwaW5nIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjQxMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUwOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjppc19wdWxsX2FsbG93ZWQoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDM6IkZpbmQgb3V0IGlmIHB1bGwgaXMgYWxsb3dlZCBmb3IgdGhpcyByZWNvcmQiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Njp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJvYmplY3RfdHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMzoiU2FsZXNmb3JjZSBvYmplY3QgdHlwZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6Njoib2JqZWN0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozODoiQXJyYXkgb2YgdGhlIHNhbGVzZm9yY2Ugb2JqZWN0J3MgZGF0YS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMjoiVGhlIGN1cnJlbnQgb3BlcmF0aW9uJ3MgdHJpZ2dlci4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTg6InNhbGVzZm9yY2VfbWFwcGluZyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDQ6InRoZSBmaWVsZG1hcCB0aGF0IG1hcHMgdGhlIHR3byBvYmplY3QgdHlwZXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo0O086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE3OiJtYXBfc3luY190cmlnZ2VycyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzA6InRoZSB0cmlnZ2VycyB0aGF0IGFyZSBlbmFibGVkLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6ODM6IiRwdWxsX2FsbG93ZWQgV2hldGhlciBhbGwgdGhpcyBzdHVmZiBhbGxvd3MgdGhlICRyZXN1bHQgdG8gYmUgcHVsbGVkIGludG8gV29yZFByZXNzIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI0MzA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTA6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmlzX3B1bGxfYWxsb3dlZCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTU6ImlzX3B1bGxfYWxsb3dlZCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6NTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTE6Im9iamVjdF90eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Njoib2JqZWN0IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MztPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjQ7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNzoibWFwX3N5bmNfdHJpZ2dlcnMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNDQwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AdXNlZFRyYWl0cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO319fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fX0=";