Name: series-workflowr2mfw Phase: Succeeded StartedAt: 2026-08-05 21:30:23 +0000 UTC FinishedAt: 2026-08-05 22:33:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[0] Phase: Succeeded StartedAt: 2026-08-05 21:30:23 +0000 UTC FinishedAt: 2026-08-05 21:50:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[0].run-triage Phase: Succeeded StartedAt: 2026-08-05 21:30:23 +0000 UTC FinishedAt: 2026-08-05 21:50:18 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "wireless-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git", "commit_hash": "ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "MT7921U", "MT7925U", "MAC80211", "CFG80211" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "wireless-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git", "commit_hash": "ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "MT7921U", "MT7925U", "MAC80211", "CFG80211" ], "series_id": "9ee0576e-0bd8-4b1f-9c17-ea44de13248e" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "mt7921_usb_sdio_tx_complete_skb", "mt7925_usb_sdio_tx_complete_skb" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O01UNzkyMVUmIzM0OywKICAgICYjMzQ7TVQ3OTI1VSYjMzQ7LAogICAgJiMzNDtNQUM4MDIxMSYjMzQ7LAogICAgJiMzNDtDRkc4MDIxMSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O210NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2ImIzM0OywKICAgICYjMzQ7bXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYiYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhbiBSQ1UgcmVhZCBsb2NrIGlzc3VlIGluIHRoZSBUWCBjb21wbGV0aW9uIGhhbmRsZXJzIG9mIHRoZSBNZWRpYXRlayBNVDc5MjEgYW5kIE1UNzkyNSBVU0IvU0RJTyB3aXJlbGVzcyBkcml2ZXJzLiBUaGVzZSBkcml2ZXJzIGNhbiBiZSBmdXp6ZWQgdmlhIFVTQiB1c2luZyBkdW1teV9oY2QuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDg8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCAwZGNkNDNjZmFjZGI4ODU0YTk2YjVmOGE0MWE5MGJlOWZjY2U0OWY3XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBBdWcgNSAyMTo0ODozOSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jXG5pbmRleCBmN2Q1NDQ3MmRhMWIxLi42NjFhNTRlNmM3NjM3IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jXG5AQCAtODI4LDExICYjNDM7ODI4LDE0IEBAIHZvaWQgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXG4gXHR1MTYgaWR4O1xuIFxuIFx0aWR4ID0gbGUzMl9nZXRfYml0cyh0eHdpWzFdLCBNVF9UWEQxX1dMQU5fSURYKTtcbiYjNDM7XG4mIzQzO1x0cmN1X3JlYWRfbG9jaygpO1xuIFx0d2NpZCA9IF9fbXQ3Nl93Y2lkX3B0cihtZGV2LCBpZHgpO1xuIFx0c3RhID0gd2NpZF90b19zdGEod2NpZCk7XG4gXG4gXHRpZiAoc3RhIFx1MDAyNlx1MDAyNiBsaWtlbHkoZS1cdTAwM2Vza2ItXHUwMDNlcHJvdG9jb2wgIT0gY3B1X3RvX2JlMTYoRVRIX1BfUEFFKSkpXG4gXHRcdG10NzZfY29ubmFjMl90eF9jaGVja19hZ2dyKHN0YSwgdHh3aSk7XG4mIzQzO1x0cmN1X3JlYWRfdW5sb2NrKCk7XG4gXG4gXHRza2JfcHVsbChlLVx1MDAzZXNrYiwgaGVhZHJvb20pO1xuIFx0bXQ3Nl90eF9jb21wbGV0ZV9za2IobWRldiwgZS1cdTAwM2V3Y2lkLCBlLVx1MDAzZXNrYik7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuY1xuaW5kZXggNmIwY2QxOTk2ZWNiMy4uMjBlMDkxOWQyN2Y4ZCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuY1xuQEAgLTE0NzAsMTEgJiM0MzsxNDcwLDE0IEBAIHZvaWQgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXG4gXHR1MTYgaWR4O1xuIFxuIFx0aWR4ID0gbGUzMl9nZXRfYml0cyh0eHdpWzFdLCBNVF9UWEQxX1dMQU5fSURYKTtcbiYjNDM7XG4mIzQzO1x0cmN1X3JlYWRfbG9jaygpO1xuIFx0d2NpZCA9IF9fbXQ3Nl93Y2lkX3B0cihtZGV2LCBpZHgpO1xuIFx0c3RhID0gd2NpZF90b19zdGEod2NpZCk7XG4gXG4gXHRpZiAoc3RhIFx1MDAyNlx1MDAyNiBsaWtlbHkoZS1cdTAwM2Vza2ItXHUwMDNlcHJvdG9jb2wgIT0gY3B1X3RvX2JlMTYoRVRIX1BfUEFFKSkpXG4gXHRcdG10NzkyNV90eF9jaGVja19hZ2dyKHN0YSwgZS1cdTAwM2Vza2IsIHdjaWQpO1xuJiM0MztcdHJjdV9yZWFkX3VubG9jaygpO1xuIFxuIFx0c2tiX3B1bGwoZS1cdTAwM2Vza2IsIGhlYWRyb29tKTtcbiBcdG10NzZfdHhfY29tcGxldGVfc2tiKG1kZXYsIGUtXHUwMDNld2NpZCwgZS1cdTAwM2Vza2IpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ4PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjFtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtNVDc5MjFVJiMzNDssCiAgICAmIzM0O01UNzkyNVUmIzM0OywKICAgICYjMzQ7TUFDODAyMTEmIzM0OywKICAgICYjMzQ7Q0ZHODAyMTEmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDttdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiJiMzNDssCiAgICAmIzM0O210NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2ImIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYW4gUkNVIHJlYWQgbG9jayBpc3N1ZSBpbiB0aGUgVFggY29tcGxldGlvbiBoYW5kbGVycyBvZiB0aGUgTWVkaWF0ZWsgTVQ3OTIxIGFuZCBNVDc5MjUgVVNCL1NESU8gd2lyZWxlc3MgZHJpdmVycy4gVGhlc2UgZHJpdmVycyBjYW4gYmUgZnV6emVkIHZpYSBVU0IgdXNpbmcgZHVtbXlfaGNkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgMGRjZDQzY2ZhY2RiODg1NGE5NmI1ZjhhNDFhOTBiZTlmY2NlNDlmNwpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgQXVnIDUgMjE6NDg6MzkgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jCmluZGV4IGY3ZDU0NDcyZGExYjEuLjY2MWE1NGU2Yzc2MzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jCkBAIC04MjgsMTEgJiM0Mzs4MjgsMTQgQEAgdm9pZCBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldiwKIAl1MTYgaWR4OwogCiAJaWR4ID0gbGUzMl9nZXRfYml0cyh0eHdpWzFdLCBNVF9UWEQxX1dMQU5fSURYKTsKJiM0MzsKJiM0MzsJcmN1X3JlYWRfbG9jaygpOwogCXdjaWQgPSBfX210NzZfd2NpZF9wdHIobWRldiwgaWR4KTsKIAlzdGEgPSB3Y2lkX3RvX3N0YSh3Y2lkKTsKIAogCWlmIChzdGEgJmFtcDsmYW1wOyBsaWtlbHkoZS0mZ3Q7c2tiLSZndDtwcm90b2NvbCAhPSBjcHVfdG9fYmUxNihFVEhfUF9QQUUpKSkKIAkJbXQ3Nl9jb25uYWMyX3R4X2NoZWNrX2FnZ3Ioc3RhLCB0eHdpKTsKJiM0MzsJcmN1X3JlYWRfdW5sb2NrKCk7CiAKIAlza2JfcHVsbChlLSZndDtza2IsIGhlYWRyb29tKTsKIAltdDc2X3R4X2NvbXBsZXRlX3NrYihtZGV2LCBlLSZndDt3Y2lkLCBlLSZndDtza2IpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYwppbmRleCA2YjBjZDE5OTZlY2IzLi4yMGUwOTE5ZDI3ZjhkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYwpAQCAtMTQ3MCwxMSAmIzQzOzE0NzAsMTQgQEAgdm9pZCBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldiwKIAl1MTYgaWR4OwogCiAJaWR4ID0gbGUzMl9nZXRfYml0cyh0eHdpWzFdLCBNVF9UWEQxX1dMQU5fSURYKTsKJiM0MzsKJiM0MzsJcmN1X3JlYWRfbG9jaygpOwogCXdjaWQgPSBfX210NzZfd2NpZF9wdHIobWRldiwgaWR4KTsKIAlzdGEgPSB3Y2lkX3RvX3N0YSh3Y2lkKTsKIAogCWlmIChzdGEgJmFtcDsmYW1wOyBsaWtlbHkoZS0mZ3Q7c2tiLSZndDtwcm90b2NvbCAhPSBjcHVfdG9fYmUxNihFVEhfUF9QQUUpKSkKIAkJbXQ3OTI1X3R4X2NoZWNrX2FnZ3Ioc3RhLCBlLSZndDtza2IsIHdjaWQpOwomIzQzOwlyY3VfcmVhZF91bmxvY2soKTsKIAogCXNrYl9wdWxsKGUtJmd0O3NrYiwgaGVhZHJvb20pOwogCW10NzZfdHhfY29tcGxldGVfc2tiKG1kZXYsIGUtJmd0O3djaWQsIGUtJmd0O3NrYik7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI2MTEKCQkJCQkJCW91dHB1dDogMzEKCQkJCQkJCXRob3VnaHRzOiAzNzMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgTWVkaWF0ZWsgV2lyZWxlc3MgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCBhIHBhdGNoIHRoYXQmIzM5O3MgdG91Y2hpbmcgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jYCBhbmQgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jYC4gVGhlIGNoYW5nZXMgaW52b2x2ZSBhZGRpbmcgYHJjdV9yZWFkX2xvY2soKWAgYW5kIGByY3VfcmVhZF91bmxvY2soKWAgYXJvdW5kIGNhbGxzIHRvIGBfX210NzZfd2NpZF9wdHIobWRldiwgaWR4KWAsIGB3Y2lkX3RvX3N0YSh3Y2lkKWAsIGFuZCBmdW5jdGlvbnMgbGlrZSBgbXQ3Nl9jb25uYWMyX3R4X2NoZWNrX2FnZ3Ioc3RhLCB0eHdpKWAgYW5kIGBtdDc5MjVfdHhfY2hlY2tfYWdncihzdGEsIGUtJmd0O3NrYiwgd2NpZClgLiBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcywgd2hhdCYjMzk7cyB0aGUgY29udGV4dCBoZXJlLCBhbmQgYXJlIHRoZXJlIHNlY3VyaXR5IGltcGxpY2F0aW9ucz8KClRoZXNlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIHdpdGhpbiBgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAgYW5kIGBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCwgd2hpY2ggaW5kaWNhdGVzIHRoaXMgaXMgcmVsYXRlZCB0byBNZWRpYXRlayBNVDc5MjEgYW5kIE1UNzkyNSBkcml2ZXJzLiBOb3csIE1UNzkyMSBhbmQgTVQ3OTI1IGFyZSB3aXJlbGVzcyBkcml2ZXJzLCBzcGVjaWZpY2FsbHkuIE15IGFudGVubmEgZ29lcyB1cCBpbW1lZGlhdGVseSDigJMgd2lyZWxlc3MgZHJpdmVycyBhcmUgb2Z0ZW4gYSBwcmltZSB0YXJnZXQgZm9yIGZ1enppbmcuIElmIHRoZXkgYXJlIFVTQiBvciBTRElPIGJhc2VkLCBvciBldmVuIG1hYzgwMjExX2h3c2ltLCB0aGV5JiMzOTtyZSBvZnRlbiBtb3JlIHN1c2NlcHRpYmxlIGFuZCBleHBsb2l0YWJsZS4KClRoZSBuYW1pbmcgb2YgdGhlIGZ1bmN0aW9ucywgYCpfdXNiX3NkaW9fKmAsIGlzIGEgc3Ryb25nIGhpbnQuIFRoaXMgbWVhbnMgVVNCIG9yIFNESU8uIElmIHRoZXkgYXJlIGZvciBVU0IgZGV2aWNlcywgdGhhdCBvcGVucyB0aGUgcG9zc2liaWxpdHkgb2YgbGV2ZXJhZ2luZyBkdW1teV9oY2Qgb3Igc3l6a2FsbGVyJiMzOTtzIFVTQiBmdXp6aW5nIGNhcGFiaWxpdGllcyB0byBwb2tlIGF0IHRoZW0uIE15IG5leHQgc3RlcCBpcyB0byBxdWlja2x5IGNoZWNrIGlmIE1UNzkyMVUgYW5kIE1UNzkyNVUgYXJlIGFjdHVhbGx5IFVTQiBkcml2ZXJzIGFuZCBpZiB0aGV5IGNhbiBiZSBlbmFibGVkLiBJIG5lZWQgdG8gY29uZmlybSB0aGlzIGlzIGEgZnV6emFibGUgdGFyZ2V0LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O210NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2ImIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmM9ODE5PUVYUE9SVF9TWU1CT0xfR1BMKG10NzkyMV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYy04MjAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYzo4MjE6dm9pZCBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jLTgyMi1cdFx0XHRcdCAgICAgc3RydWN0IG10NzZfcXVldWVfZW50cnkgKmUpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmMtODQyLX1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jOjg0MzpFWFBPUlRfU1lNQk9MX0dQTChtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jLTg0NC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tdDc5MjEuaD0zMjg9aW50IG10NzkyMV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsIHZvaWQgKnR4d2lfcHRyLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL210NzkyMS5oLTMzMS1cdFx0XHRcdCAgIHN0cnVjdCBtdDc2X3R4X2luZm8gKnR4X2luZm8pO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbXQ3OTIxLmg6MzMyOnZvaWQgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tdDc5MjEuaC0zMzMtXHRcdFx0XHQgICAgIHN0cnVjdCBtdDc2X3F1ZXVlX2VudHJ5ICplKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9zZGlvLmM9OTA9c3RhdGljIGludCBtdDc5MjFzX3Byb2JlKHN0cnVjdCBzZGlvX2Z1bmMgKmZ1bmMsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvc2Rpby5jLTk5LVx0XHQudHhfcHJlcGFyZV9za2IgPSBtdDc5MjFfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2IsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9zZGlvLmM6MTAwOlx0XHQudHhfY29tcGxldGVfc2tiID0gbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL3NkaW8uYy0xMDEtXHRcdC50eF9zdGF0dXNfZGF0YSA9IG10NzkyMV91c2Jfc2Rpb190eF9zdGF0dXNfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS91c2IuYz0xNTA9c3RhdGljIGludCBtdDc5MjF1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICp1c2JfaW50Zixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS91c2IuYy0xNjAtXHRcdC50eF9wcmVwYXJlX3NrYiA9IG10NzkyMV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL3VzYi5jOjE2MTpcdFx0LnR4X2NvbXBsZXRlX3NrYiA9IG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2IsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS91c2IuYy0xNjItXHRcdC50eF9zdGF0dXNfZGF0YSA9IG10NzkyMV91c2Jfc2Rpb190eF9zdGF0dXNfZGF0YSxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0NDA0CgkJCQkJCQlvdXRwdXQ6IDMxCgkJCQkJCQl0aG91Z2h0czogNzgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0czoKCioqQW5hbHl6aW5nIHRoZSBtdDc5MjEgRHJpdmVyJiMzOTtzIFRYIENvbXBsZXRpb24gSGFuZGxlcnMqKgoKT2theSwgc28gSSYjMzk7bSBkaWdnaW5nIGludG8gdGhlIE1lZGlhdGVrIE1UNzkyMSBkcml2ZXIgY29kZSwgc3BlY2lmaWNhbGx5IHRoZSBVU0IgYW5kIFNESU8gdmFyaWFudHMuIEkgc2VlIHRoYXQgdGhlIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBmdW5jdGlvbiBpcyBiZWluZyB1c2VkIGluIGJvdGggdGhlIFVTQiBwcm9iZSBmdW5jdGlvbiAoYG10NzkyMXVfcHJvYmVgKSBhbmQgdGhlIFNESU8gcHJvYmUgZnVuY3Rpb24gKGBtdDc5MjFzX3Byb2JlYCkuIFRoYXQmIzM5O3MgaW50ZXJlc3RpbmcsIHN1Z2dlc3RpbmcgYSBkZWdyZWUgb2Ygc2hhcmVkIGZ1bmN0aW9uYWxpdHksIG9yIGF0IGxlYXN0IGEgc2ltaWxhciBtZWNoYW5pc20gZm9yIGhhbmRsaW5nIHRyYW5zbWl0IGNvbXBsZXRpb25zIGFjcm9zcyB0aGUgdHdvIGludGVyZmFjZSB0eXBlcy4gTm93LCBnaXZlbiB0aGUgc2ltaWxhcml0eSBpbiB0aGUgbmFtaW5nLCBhbmQgdGhlIGFyY2hpdGVjdHVyYWwgcGFyYWxsZWxzIEkmIzM5O20gYXdhcmUgb2YgaW4gdGhlc2UgTWVkaWF0ZWsgZHJpdmVycywgbGV0JiMzOTtzIGdvIGEgbGV2ZWwgZGVlcGVyIGFuZCBjaGVjayBvdXQgdGhlIGBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBmdW5jdGlvbiwgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgcGFyYWxsZWxzIHRvIGJlIGRyYXduIHRoZXJlLCBvciBpZiB0aGV5IGFyZSB3aWxkbHkgZGlmZmVyZW50LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O210NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2ImIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmM9MTQ2MT1FWFBPUlRfU1lNQk9MX0dQTChtdDc5MjVfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2IpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMtMTQ2Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jOjE0NjM6dm9pZCBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jLTE0NjQtXHRcdFx0XHQgICAgIHN0cnVjdCBtdDc2X3F1ZXVlX2VudHJ5ICplKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jLTE0ODQtfVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmM6MTQ4NTpFWFBPUlRfU1lNQk9MX0dQTChtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jLTE0ODYtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbXQ3OTI1Lmg9MzYyPWludCBtdDc5MjVfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LCB2b2lkICp0eHdpX3B0cixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tdDc5MjUuaC0zNjUtXHRcdFx0XHQgICBzdHJ1Y3QgbXQ3Nl90eF9pbmZvICp0eF9pbmZvKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L210NzkyNS5oOjM2Njp2b2lkIG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbXQ3OTI1LmgtMzY3LVx0XHRcdFx0ICAgICBzdHJ1Y3QgbXQ3Nl9xdWV1ZV9lbnRyeSAqZSk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvdXNiLmM9MTQzPXN0YXRpYyBpbnQgbXQ3OTI1dV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqdXNiX2ludGYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvdXNiLmMtMTUzLVx0XHQudHhfcHJlcGFyZV9za2IgPSBtdDc5MjVfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2IsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS91c2IuYzoxNTQ6XHRcdC50eF9jb21wbGV0ZV9za2IgPSBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvdXNiLmMtMTU1LVx0XHQudHhfc3RhdHVzX2RhdGEgPSBtdDc5MjVfdXNiX3NkaW9fdHhfc3RhdHVzX2RhdGEsXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTQ4MgoJCQkJCQkJb3V0cHV0OiAyMQoJCQkJCQkJdGhvdWdodHM6IDU4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBVU0IgV2lyZWxlc3MgRHJpdmVyIEZ1enppbmcgUG90ZW50aWFsKioKCk9rYXksIHNvIEkgc2VlIHRoaXMgY29kZSBpcyBwYXJ0IG9mIGBtdDc5MjV1X3Byb2JlYCwgd2hpY2ggdGVsbHMgbWUgdGhpcyBpcyBkZWZpbml0ZWx5IGEgVVNCIHdpcmVsZXNzIGRyaXZlci4gVGhhdCYjMzk7cyBnb29kLCBiZWNhdXNlIHRoYXQgaW1tZWRpYXRlbHkgb3BlbnMgdXAgdGhlIHBvc3NpYmlsaXR5IG9mIGxldmVyYWdpbmcgc3l6a2FsbGVyJiMzOTtzIFVTQiBmdXp6aW5nIGNhcGFiaWxpdGllcy4gTXkgZmlyc3QgdGhvdWdodCBpcywgJiMzNDtmYW50YXN0aWMsIGFub3RoZXIgYXJlYSB0byBwcm9iZSEmIzM0OyBOb3csIGxldCYjMzk7cyB0YWtlIGEgcXVpY2sgbG9vayBhdCB0aGUgS2NvbmZpZyBvcHRpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGVzZSBkcml2ZXJzLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgY29uZmlndXJhdGlvbiBzcGFjZSB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSBzcGVjaWZpYyBzZXR0aW5ncyBvciBkZXBlbmRlbmNpZXMgdGhhdCBtaWdodCBpbmZsdWVuY2UgaG93IEkmIzM5O2xsIGFwcHJvYWNoIHRoZSBmdXp6aW5nIGNhbXBhaWduLiBJZGVudGlmeWluZyB0aG9zZSBvcHRpb25zIHdpbGwgaGVscCBtZSB0YWlsb3Igc3l6a2FsbGVyIGFuZCBteSBmdXp6aW5nIHNldHVwIGZvciBtYXhpbXVtIGVmZmVjdGl2ZW5lc3MuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIE1UNzkyMVUmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZz0xNz1jb25maWcgTVQ3OTIxU1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWctMjctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnOjI4OmNvbmZpZyBNVDc5MjFVXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTI5LVx0dHJpc3RhdGUgXCYjMzQ7TWVkaWFUZWsgTVQ3OTIxVSAoVVNCKSBzdXBwb3J0XCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTg1OQoJCQkJCQkJb3V0cHV0OiAyMQoJCQkJCQkJdGhvdWdodHM6IDE1CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IHRob3VnaHQgcHJvY2VzcywgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRoZSBNVDc5MjVVIGFuZCBpdHMgS2NvbmZpZzoKCioqRGVlcCBEaXZlIGludG8gdGhlIE1UNzkyNVUgS2NvbmZpZyoqCgpPa2F5LCB0aW1lIHRvIGdldCBteSBoYW5kcyBkaXJ0eS4gTGV0JiMzOTtzIHN0YXJ0IGJ5IGRpZ2dpbmcgaW50byB0aGUgS2NvbmZpZyBmb3IgdGhlIE1UNzkyNVUuIEkgbmVlZCB0byB1bmRlcnN0YW5kIGV4YWN0bHkgaG93IHRoaXMgZGV2aWNlIGlzIGNvbmZpZ3VyZWQgd2l0aGluIHRoZSBrZXJuZWwuIEkmIzM5O2xsIG5lZWQgdG8gaWRlbnRpZnkgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9ucywgZGVwZW5kZW5jaWVzLCBhbmQgYW55IGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uIHRoYXQmIzM5O3MgZ29pbmcgb24uIEkmIzM5O20gbG9va2luZyBmb3IgdGhlIGtleSBzZXR0aW5ncyByZWxhdGVkIHRvIGl0cyBmdW5jdGlvbmFsaXR5OiBkcml2ZXJzLCBmaXJtd2FyZSBsb2FkaW5nLCBwb3dlciBtYW5hZ2VtZW50LCBhbmQgYW55dGhpbmcgZWxzZSBzcGVjaWZpYyB0byBpdHMgYmVoYXZpb3Igd2l0aGluIHRoZSBzeXN0ZW0uIEFyZSB0aGVyZSBhbnkgdW51c3VhbCBkZWZhdWx0cyBvciBxdWlya3MgSSBzaG91bGQgYmUgYXdhcmUgb2Y/IEkmIzM5O2xsIGJlIG1ldGljdWxvdXNseSBleGFtaW5pbmcgdGhlIGRlcGVuZGVuY2llcyB0byBzZWUgd2hhdCBpbXBhY3QgdGhpcyBoYXMgb24gb3RoZXIgZGV2aWNlIGNvbmZpZ3VyYXRpb25zLiBLbm93aW5nIHRoZSBLY29uZmlnIGlzIGFic29sdXRlbHkgY3JpdGljYWwgZm9yIHVuZGVyc3RhbmRpbmcgaG93IHRoZSBkZXZpY2UgaXMgaW50ZWdyYXRlZCBhbmQgaG93IEkgbWlnaHQgY3VzdG9taXplIGl0LiBUaW1lIHRvIGdldCB0byB3b3JrLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgTVQ3OTI1VSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnPTc9Y29uZmlnIE1UNzkyNUVcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnLTE4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZzoxOTpjb25maWcgTVQ3OTI1VVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZy0yMC1cdHRyaXN0YXRlIFwmIzM0O01lZGlhVGVrIE1UNzkyNVUgKFVTQikgc3VwcG9ydFwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA2MjQxCgkJCQkJCQlvdXRwdXQ6IDU5CgkJCQkJCQl0aG91Z2h0czogMjEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgdGhvdWdodCBwcm9jZXNzLCBzdW1tYXJpemVkIGFzIHlvdSByZXF1ZXN0ZWQ6CgoqKkFzc2Vzc2luZyBEZXBlbmRlbmNpZXM6IE1UNzkyMVUgYW5kIE1UNzkyNVUqKgoKT2theSwgc28gSSBuZWVkIHRvIHF1aWNrbHkgZ2V0IGEgaGFuZGxlIG9uIHRoZSBzdXBwb3J0IHN0cnVjdHVyZXMsIHRoZSBuZWNlc3NhcnkgaGFyZHdhcmUgYW5kIHNvZnR3YXJlIHJlbGF0aW9uc2hpcHMsIGZvciBib3RoIHRoZSBNVDc5MjFVIGFuZCB0aGUgTVQ3OTI1VS4gU3BlY2lmaWNhbGx5LCBJJiMzOTttIHRoaW5raW5nIGFib3V0IHRoZSBkZXBlbmRlbmNpZXMuIFdoYXQgYXJlIHRoZSBrZXkgZWxlbWVudHMgdGhlc2Ugd2lyZWxlc3Mgc29sdXRpb25zIHJlbHkgb24gdG8gZnVuY3Rpb24gY29ycmVjdGx5PyBJIG5lZWQgdG8gdW5kZXJzdGFuZCBldmVyeXRoaW5nIGZyb20gdGhlIGNoaXBzZXRzIGFuZCBkcml2ZXJzIHRvIGFueSBleHRlcm5hbCBjb21wb25lbnRzLCBsaWJyYXJpZXMsIG9yIGV2ZW4gc3BlY2lmaWMgZmlybXdhcmUgdmVyc2lvbnMgdGhhdCBhcmUgY3J1Y2lhbCBmb3Igb3BlcmF0aW9uLiBUaGlzIHdpbGwgaW5mb3JtIG15IG5leHQgc3RlcHMsIHdoZXRoZXIgaXQgaXMgZm9yIGRldmVsb3BtZW50LCB0cm91Ymxlc2hvb3RpbmcsIG9yIGludGVncmF0aW9uLiBMZXQmIzM5O3MgZGlnIGluIGFuZCBmaWd1cmUgb3V0IGV4YWN0bHkgd2hhdCB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIGluIHRlcm1zIG9mIGRlcGVuZGVuY3kgbWFuYWdlbWVudCBmb3IgdGhlc2UgdHdvLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgTVQ3OTIxVXxjb25maWcgTVQ3OTI1VXxkZXBlbmRzIG9uJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnPTc9Y29uZmlnIE1UNzkyMUVcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTktXHRzZWxlY3QgTVQ3OTIxX0NPTU1PTlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZzoxMDpcdGRlcGVuZHMgb24gTUFDODAyMTFcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWc6MTE6XHRkZXBlbmRzIG9uIFBDSVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZy0xMi1cdGhlbHBcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnPTE3PWNvbmZpZyBNVDc5MjFTXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZy0yMC1cdHNlbGVjdCBNVDc5MjFfQ09NTU9OXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnOjIxOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZzoyMjpcdGRlcGVuZHMgb24gTU1DXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTIzLVx0aGVscFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWctMjctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnOjI4OmNvbmZpZyBNVDc5MjFVXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTI5LVx0dHJpc3RhdGUgXCYjMzQ7TWVkaWFUZWsgTVQ3OTIxVSAoVVNCKSBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZy0zMS1cdHNlbGVjdCBNVDc5MjFfQ09NTU9OXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnOjMyOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZzozMzpcdGRlcGVuZHMgb24gVVNCXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTM0LVx0aGVscFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEzLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA3MDYzCgkJCQkJCQlvdXRwdXQ6IDUxCgkJCQkJCQl0aG91Z2h0czogMTIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGxldCYjMzk7cyBkaXZlIGludG8gdGhpcy4gSGVyZSYjMzk7cyBteSB0aG91Z2h0IHByb2Nlc3Mgb24gY2hlY2tpbmcgdGhvc2UgTVQ3OTI1VSBkZXBlbmRlbmNpZXMsIHN1bW1hcml6ZWQgaW4gdGhlIGZpcnN0IHBlcnNvbjoKCioqTVQ3OTI1VSBEZXBlbmRlbmNpZXM6IEEgUXVpY2sgQXNzZXNzbWVudCoqCgpBbHJpZ2h0LCB0aGUgZmlyc3QgdGhpbmcgSSBuZWVkIHRvIGRvIGlzIGdldCBhIGdvb2QgaGFuZGxlIG9uIHRoZSBNVDc5MjVVJiMzOTtzIGRlcGVuZGVuY2llcy4gSSBjYW4mIzM5O3QganVzdCBqdW1wIGludG8gdGhpcyB3aXRob3V0IGtub3dpbmcgd2hhdCBlbHNlIHRoaXMgdGhpbmcgcmVsaWVzIG9uLiBJIG5lZWQgdG8gZmlndXJlIG91dCB3aGF0IGRyaXZlcnMsIGZpcm13YXJlLCBsaWJyYXJpZXMsIG9yIGV2ZW4gb3RoZXIgaGFyZHdhcmUgY29tcG9uZW50cyBpdCBuZWVkcyB0byBmdW5jdGlvbiBwcm9wZXJseS4gVGhpcyBpcyBjcnVjaWFsIGZvciB0cm91Ymxlc2hvb3RpbmcsIGRlYnVnZ2luZywgYW5kLCBvZiBjb3Vyc2UsIGFueSBraW5kIG9mIGludGVncmF0aW9uIG9yIG1vZGlmaWNhdGlvbiBJIG1pZ2h0IGJlIHBsYW5uaW5nIGRvd24gdGhlIGxpbmUuIEl0JiMzOTtzIGFib3V0IGJ1aWxkaW5nIGEgcm9idXN0IHVuZGVyc3RhbmRpbmcgb2YgdGhlIHdob2xlIHN5c3RlbSBzbyB0aGF0IEkgZG9uJiMzOTt0IG1pc3Mgc29tZXRoaW5nIGZ1bmRhbWVudGFsLiBMZXQmIzM5O3Mgc2VlIHdoYXQgd2UmIzM5O3ZlIGdvdC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIE1UNzkyNVV8ZGVwZW5kcyBvbiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZz03PWNvbmZpZyBNVDc5MjVFXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZy05LVx0c2VsZWN0IE1UNzkyNV9DT01NT05cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWc6MTA6XHRkZXBlbmRzIG9uIE1BQzgwMjExXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnOjExOlx0ZGVwZW5kcyBvbiBQQ0lcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWctMTItXHRoZWxwXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZy0xOC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWc6MTk6Y29uZmlnIE1UNzkyNVVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWctMjAtXHR0cmlzdGF0ZSBcJiMzNDtNZWRpYVRlayBNVDc5MjVVIChVU0IpIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnLTIyLVx0c2VsZWN0IE1UNzkyNV9DT01NT05cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWc6MjM6XHRkZXBlbmRzIG9uIE1BQzgwMjExXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnOjI0Olx0ZGVwZW5kcyBvbiBVU0JcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWctMjUtXHRoZWxwXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDc3MDcKCQkJCQkJCW91dHB1dDogMzkKCQkJCQkJCXRob3VnaHRzOiAzMTcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgUmVjZW50IFBhdGNoIGZvciBNVDc5MjFVL01UNzkyNVUgRHJpdmVycyoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBhbmQgaW1tZWRpYXRlbHksIHRoZSBjb3JlIG9mIGl0IHNlZW1zIHRvIGJlIGFkZHJlc3NpbmcgUkNVIChSZWFkLUNvcHktVXBkYXRlKSBpc3N1ZXMgd2l0aGluIHRoZSBgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAgYW5kIGBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBmdW5jdGlvbnMuIFRoZXNlIGZ1bmN0aW9ucyBoYW5kbGUgVFggY29tcGxldGlvbiBldmVudHMsIHdoaWNoIGlzIGNyaXRpY2FsIGZvciBuZXR3b3JrIHBlcmZvcm1hbmNlLCBlc3BlY2lhbGx5IGluIHRoZXNlIE1lZGlhVGVrIFVTQiBXaUZpIGRldmljZXMuCgpFc3NlbnRpYWxseSwgdGhlIHBhdGNoIGlzIGFkZGluZyBgcmN1X3JlYWRfbG9jaygpYCBhbmQgYHJjdV9yZWFkX3VubG9jaygpYCBjYWxscy4gSXQmIzM5O3MgYSBmdW5jdGlvbmFsIGZpeCBmb3IgYSBwb3RlbnRpYWwgUkNVIGhhemFyZC4gVGhlIGludGVyZXN0aW5nIHF1ZXN0aW9uIGlzLCBhcmUgdGhlc2UgZnVuY3Rpb25zIHJlYWNoYWJsZSB0aHJvdWdoIFVTQiBmdXp6aW5nPyBTaW5jZSB0aGV5JiMzOTtyZSB0cmlnZ2VyZWQgYnkgVFggY29tcGxldGlvbnMsIGFuZCB0aG9zZSBjb3VsZCByZXN1bHQgZnJvbSBlaXRoZXIgdXMgKnNlbmRpbmcqIHBhY2tldHMgb3ZlciBVU0IgKHdoaWNoIHdvdWxkIGJlIHRoZSBjb21tb24gY2FzZSBkdXJpbmcgZnV6emluZyksIG9yIHRoZSBkZXZpY2UgaXRzZWxmIHNlbmRpbmcgY29tcGxldGlvbiBldmVudHMgKmJhY2sqIHRvIHVzIG92ZXIgVVNCLCB0aGUgYW5zd2VyIGlzIGxpa2VseSB5ZXMuCgpOb3csIGxldCYjMzk7cyBzZWUuLi5pcyBgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAgc3RhdGljIG9yIGV4cG9ydGVkPyBBaCwgaXQmIzM5O3MgKmV4cG9ydGVkKiB2aWEgYEVYUE9SVF9TWU1CT0xfR1BMKG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2IpYC4gVGhhdOKAmXMgYSBnb29kIHNpZ24g4oCTIGl0JiMzOTtzIGFjY2Vzc2libGUgZnJvbSBvdGhlciBtb2R1bGVzLCB3aGljaCBtYWtlcyBpdCBhIHNvbGlkIHRhcmdldC4KCkkgc2hvdWxkIGFsc28gY2hlY2sgaWYgYW55IHNwZWNpZmljIGNvbmZpZ3VyYXRpb25zIGFyZSBuZWVkZWQgZm9yIHRoaXMgdG8gYmUgYWN0aXZlLiBJJiMzOTtsbCBuZWVkIHRvIGNvbmZpcm0gdGhhdCBgTVQ3Nl9DT1JFYCBhbmQgYE1UNzZfVVNCYCBhcmUgZW5hYmxlZCBhbmQgY2hlY2sgdGhlIEtjb25maWcgZmlsZXMgZm9yIGRlcGVuZGVuY2llcywgc3BlY2lmaWNhbGx5IGluIGBkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWdgLiBUaGVzZSBhcmUgcHJldHR5IGNvbW1vbiwgYnV0IGl0JiMzOTtzIGEgZ29vZCBwcmFjdGljZSB0byB2ZXJpZnkuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBNVDc2JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZS1DbGVhclxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnOjI6Y29uZmlnIE1UNzZfQ09SRVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTMtXHR0cmlzdGF0ZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy01LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnOjY6Y29uZmlnIE1UNzZfTEVEU1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTctXHRib29sXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTExLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnOjEyOmNvbmZpZyBNVDc2X1VTQlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTEzLVx0dHJpc3RhdGVcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctMTUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWc6MTY6Y29uZmlnIE1UNzZfU0RJT1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTE3LVx0dHJpc3RhdGVcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctMTktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWc6MjA6Y29uZmlnIE1UNzZ4MDJfTElCXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctMjEtXHR0cmlzdGF0ZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0yMy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZzoyNDpjb25maWcgTVQ3NngwMl9VU0JcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0yNS1cdHRyaXN0YXRlXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTI3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnOjI4OmNvbmZpZyBNVDc2X0NPTk5BQ19MSUJcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0yOS1cdHRyaXN0YXRlXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnPTM2PWNvbmZpZyBNVDc5MnhfVVNCXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTM5LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnOjQwOmNvbmZpZyBNVDc2X05QVVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTQxLVx0dHJpc3RhdGVcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogOTA5NwoJCQkJCQkJb3V0cHV0OiA0MwoJCQkJCQkJdGhvdWdodHM6IDIyOAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipLZXJuZWwgQ29uZmlndXJhdGlvbiBEZWNpc2lvbnMgZm9yIE1lZGlhVGVrIFdpcmVsZXNzIERyaXZlcnMqKgoKT2theSwgc28gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIHJpZ2h0IGtlcm5lbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoaXMgTWVkaWFUZWsgd2lyZWxlc3MgZHJpdmVyIHdvcmsuIEJhc2VkIG9uIHdoYXQgSSYjMzk7bSBzZWVpbmcsIGl0IGxvb2tzIGxpa2UgYE1UNzkyMVVgIGFuZCBgTVQ3OTI1VWAgYXJlIHRoZSBrZXkgY29uZmlncyB0byBlbmFibGUuIEFuZCwgaWYgd2Ugd2FudCB0byBwb3RlbnRpYWxseSBleHBsb3JlIFNESU8tYmFzZWQgdGVzdGluZywgYE1UNzkyMVNgIG1pZ2h0IGJlIHdvcnRod2hpbGUsIGFsdGhvdWdoIHN5emthbGxlciBkb2VzbiYjMzk7dCBoYXZlIHRoZSBlYXNpZXN0IHRpbWUgZnV6emluZyBTRElPIGNvbXBhcmVkIHRvIFVTQi4gU3RpbGwsIGl0IGNvdWxkIGJlIHVzZWZ1bCwgc28gbGV0JiMzOTtzIGRpZyBhIGJpdCBkZWVwZXIgaW50byB0aGF0LiBSaWdodCwgYE1UNzkyMVNgIGRlcGVuZHMgb24gYE1BQzgwMjExYCBhbmQgYE1NQ2AsIHNvIHRob3NlIGFyZSBwcmVyZXF1aXNpdGVzLgoKU28gdGhlIHByaW1hcnkgb25lcyBhcmUgZ29pbmcgdG8gYmUgYE1UNzkyMVVgLCBgTVQ3OTI1VWAsIGFuZCBwb3RlbnRpYWxseSBgTVQ3OTIxU2AuCgpXYWl0LCBob2xkIG9uIGEgc2Vjb25kLi4uIHRoZSBhY3R1YWwgZHJpdmVyIGNvZGUgdXBkYXRlcyBhcmUgbG9jYXRlZCBpbiBgZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmNgIGFuZCBgZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmNgLiAgSG1tLCB0aG9zZSBmaWxlcyBhcmUgY29uZGl0aW9uYWxseSBjb21waWxlZCBiYXNlZCBvbiBgTVQ3OTIxX0NPTU1PTmAgYW5kIGBNVDc5MjVfQ09NTU9OYC4gT2theSwgdGhhdCYjMzk7cyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIuIExldCYjMzk7cyBtYWtlIHN1cmUgSSBhY2NvdW50IGZvciB0aGF0IHdoZW4gYnVpbGRpbmcgb3V0IHRoZSByZWxldmFudCBkZXBlbmRlbmNpZXMuIE5vdyBJIHNob3VsZCBjaGVjayB0aGUgTWFrZWZpbGUgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL2AgdG8gY29uZmlybS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7bWFjXFwubyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlPTY9b2JqLSQoQ09ORklHX01UNzkyMVUpICYjNDM7PSBtdDc5MjF1Lm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlLTctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9NYWtlZmlsZTo4Om10NzkyMS1jb21tb24teSA6PSBtYWMubyBtY3UubyByZWdkLm8gbWFpbi5vIGluaXQubyBkZWJ1Z2ZzLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlLTktbXQ3OTIxLWNvbW1vbi0kKENPTkZJR19OTDgwMjExX1RFU1RNT0RFKSAmIzQzOz0gdGVzdG1vZGUub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvTWFrZWZpbGU6MTA6bXQ3OTIxZS15IDo9IHBjaS5vIHBjaV9tYWMubyBwY2lfbWN1Lm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlOjExOm10NzkyMXMteSA6PSBzZGlvLm8gc2Rpb19tYWMubyBzZGlvX21jdS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9NYWtlZmlsZS0xMi1tdDc5MjF1LXkgOj0gdXNiLm9cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTAwMzgKCQkJCQkJCW91dHB1dDogNDMKCQkJCQkJCXRob3VnaHRzOiAxNTQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBLZXJuZWwgQ29uZmlndXJhdGlvbiBEZXBlbmRlbmNpZXMqKgoKT2theSwgc28gSSYjMzk7bSBkaWdnaW5nIGludG8gdGhpcyBrZXJuZWwgY29uZmlndXJhdGlvbi4gSXQgbG9va3MgbGlrZSBgbWFjLm9gIGlzIGRpcmVjdGx5IGJ1aWx0IGFzIHBhcnQgb2YgYG10NzkyMS1jb21tb24teWAsIGJ1dCB0aGF0JiMzOTtzIG9ubHkgd2hlbiBgQ09ORklHX01UNzkyMV9DT01NT05gIGlzIHNldC4gUmlnaHQsIHNvIGBNVDc5MjFfQ09NTU9OYCBpdHNlbGYgaXMgKnNlbGVjdGVkKiBieSBhIGJ1bmNoIG9mIG90aGVyIGNvbmZpZ3M6IGBNVDc5MjFFYCwgYE1UNzkyMVNgLCBhbmQgYE1UNzkyMVVgLiBUaGF0IHN1Z2dlc3RzIGEgc3RyZWFtbGluZWQgYXBwcm9hY2guIEluc3RlYWQgb2YgbWVzc2luZyB3aXRoIGBNVDc5MjFfQ09NTU9OYCBkaXJlY3RseSwgSSBjYW4gcHJvYmFibHkganVzdCBlbmFibGUgYE1UNzkyMVVgIGFuZCwgc2luY2Ugd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBVU0IgZGV2aWNlcywgYE1UNzkyNVVgIHRvby4gVGhhdCBzaG91bGQgcHVsbCBpbiB0aGUgY29tbW9uIGNvbXBvbmVudHMgd2UgbmVlZC4gSSYjMzk7bGwgbmVlZCB0byBkb3VibGUgY2hlY2ssIGJ1dCBJJiMzOTttIGdvaW5nIHRvIHdhbnQgYE1BQzgwMjExYCBhbmQgYFVTQmAgZW5hYmxlZCBhcyB3ZWxsLCB3aGljaCBtYWtlcyBzZW5zZS4gSnVzdCB0byBiZSBjb21wbGV0ZWx5IHN1cmUsIEkgc2hvdWxkIHZlcmlmeSB3aGF0IGRlcGVuZHMgb24gYE1UNzkyNV9DT01NT05gIGluIHRoZSBgZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGVgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDttYWNcXC5vJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGUmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGU9NT1vYmotJChDT05GSUdfTVQ3OTI1VSkgJiM0Mzs9IG10NzkyNXUub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGUtNi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L01ha2VmaWxlOjc6bXQ3OTI1LWNvbW1vbi15IDo9IG1hYy5vIG1jdS5vIHJlZ2QubyBtYWluLm8gaW5pdC5vIGRlYnVnZnMub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGUtOC1tdDc5MjUtY29tbW9uLSQoQ09ORklHX05MODAyMTFfVEVTVE1PREUpICYjNDM7PSB0ZXN0bW9kZS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9NYWtlZmlsZTo5Om10NzkyNWUteSA6PSBwY2kubyBwY2lfbWFjLm8gcGNpX21jdS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9NYWtlZmlsZS0xMC1tdDc5MjV1LXkgOj0gdXNiLm9cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTA3NjgKCQkJCQkJCW91dHB1dDogMzgKCQkJCQkJCXRob3VnaHRzOiAyOTMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRnV6emluZyBTdHJhdGVneSBmb3IgbXQ3OTI1LWNvbW1vbi15IE1vZHVsZSoqCgpPa2F5LCBzbyBsb29raW5nIGF0IHRoaXMsIGBtYWMub2AgaXMgZGVmaW5pdGVseSBwYXJ0IG9mIGBtdDc5MjUtY29tbW9uLXlgLCB3aGljaCBpcyBpbXBvcnRhbnQgZm9yIGNvbnRleHQuIEkgc2VlIHRoYXQgdGhlIGNoYW5nZXMgYXJlIGluIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBhbmQgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgLiBUaGVzZSBhcmUgY2xlYXJseSBmdW5jdGlvbmFsIGNoYW5nZXMsIHNwZWNpZmljYWxseSBhZGRpbmcgYW4gUkNVIHJlYWQgbG9jayBiZWZvcmUgZGVyZWZlcmVuY2luZyBSQ1UtcHJvdGVjdGVkIHBvaW50ZXJzLiBHb29kIGNhdGNoOyB0aGF0JiMzOTtzIHRoZSBraW5kIG9mIHRoaW5nIHRoYXQgY2FuIGxlYWQgdG8gc3VidGxlIHJhY2UgY29uZGl0aW9ucyB0aGF0IGZ1enppbmcgY2FuIHVuY292ZXIuIFRoZSBmYWN0IHRoYXQgdGhlc2UgYXJlIHJlYWNoYWJsZSB0aHJvdWdoIFVTQiBmdXp6aW5nIGNvbmZpcm1zIHRoYXQgdGhpcyBpcyBzb21ldGhpbmcgd2Ugc2hvdWxkIHByaW9yaXRpemUuIEkmIzM5O20gZ29pbmcgdG8gc2V0IGBXb3J0aEZ1enppbmc9dHJ1ZWAgZm9yIHRoZXNlLgoKTXkgZm9jdXMgc2hvdWxkIGJlIG9uIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBhbmQgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIOKAkyB0aG9zZSBhcmUgdGhlIGtleSBzeW1ib2xzIHRvIHRyYWNrLgoKRm9yIGNvbmZpZ3VyYXRpb25zLCBJIG5lZWQgdG8gZW5hYmxlIGBNVDc5MjFVYCwgYE1UNzkyNVVgLCBgTUFDODAyMTFgLCBhbmQgYFVTQmAuIFRob3NlIGFyZSB0aGUgcmVsZXZhbnQgZHJpdmVycyBmb3IgVVNCIGZ1bmN0aW9uYWxpdHkuCgpOb3csIGxldCYjMzk7cyBqdXN0IG1ha2UgYSBxdWljayBjYWxsIGFib3V0IGBNVDc5MjFTYC4gSXQgZGVwZW5kcyBvbiBgTU1DYC4gU3l6a2FsbGVy4oCZcyBNTUMgZnV6emluZyBpc24mIzM5O3QgdGhlIHN0cm9uZ2VzdCwgYnV0IHRoZXJlJiMzOTtzIHByb2JhYmx5IG5vIGhhcm0gaW4gaGF2aW5nIGl0IGVuYWJsZWQgdG9vLCBldmVuIGlmIGl0IGFkZHMgb25seSBhIGxpdHRsZSBjb3ZlcmFnZS4gRm9yIG5vdywgaXQgbWlnaHQgYmUgbW9yZSBiZW5lZmljaWFsIHRvIGxlYXZlIG91dCBgTVQ3OTIxU2AgYW5kIGtlZXAgdGhlIGZvY3VzLiAKCkFscmlnaHQsIEkmIzM5O2xsIGdvIGFoZWFkIHdpdGgganVzdCBlbmFibGluZyBgTVQ3OTIxVWAgYW5kIGBNVDc5MjVVYC4gVGhhdCYjMzk7cyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQuIEkgc2hvdWxkIGFsc28gY2hlY2sgaWYgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIGlzIGV4cG9ydGVkIHRvIG1ha2Ugc3VyZSB3ZSBkb24mIzM5O3QgaGF2ZSB0byBhY2NvdW50IGZvciBhbnkgc3RyYW5nZSBpc3N1ZXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O0VYUE9SVF9TWU1CT0xfR1BMXFwobXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYz0xNDYzPXZvaWQgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMtMTQ4NC19XG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYzoxNDg1OkVYUE9SVF9TWU1CT0xfR1BMKG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2IpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMtMTQ4Ni1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTE3MjYKCQkJCQkJCW91dHB1dDogNDEKCQkJCQkJCXRob3VnaHRzOiAxMzMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRGVwZW5kZW5jeSBBbmFseXNpcyBmb3IgTVQ3OTIxVSBhbmQgTVQ3OTI1VSoqCgpSaWdodCwgb2theSwgc2VlbXMgbGlrZSB3ZSYjMzk7cmUgZ29vZCB0byBnbyB0aGVyZS4gTm93LCBsZXQmIzM5O3MganVzdCBtYWtlIHN1cmUgdGhlcmUgYXJlbiYjMzk7dCBhbnkgc25lYWt5IGRlcGVuZGVuY2llcyBsdXJraW5nIGFyb3VuZCBmb3IgdGhvc2UgYE1UNzkyMVVgIGFuZCBgTVQ3OTI1VWAgZHJpdmVycy4gSG1tLCBpdCBsb29rcyBsaWtlIGJvdGggYE1UNzkyMVVgIGFuZCBgTVQ3OTI1VWAgcmVseSBvbiBgTUFDODAyMTFgIGFuZCwgb2YgY291cnNlLCB0aGUgYFVTQmAgc3RhY2suIE5vdywgdGhpbmtpbmcgYmFjaywgYE1BQzgwMjExYCBoYXMgaXRzIG93biBkZXBlbmRlbmN5IG9uIGBDRkc4MDIxMWAuIFNvLCB0byBhdm9pZCBhbnkgaGVhZGFjaGVzIGRvd24gdGhlIGxpbmUgYW5kIGVuc3VyZSBldmVyeXRoaW5nIGJ1aWxkcyBjb3JyZWN0bHksIGl0IHdvdWxkIHByb2JhYmx5IGJlIGEgZ29vZCBpZGVhIHRvIGFkZCBgQ0ZHODAyMTFgIHRvIHRoZSBtaXggYXMgd2VsbC4gSnVzdCB0byBiZSBjb21wbGV0ZWx5IHRob3JvdWdoLCBsZXQmIzM5O3MgcXVpY2tseSBkb3VibGUtY2hlY2sgdGhlIGRlcGVuZGVuY2llcyBvZiBgTUFDODAyMTFgIGl0c2VsZiwgdG8gYmUgZXh0cmEgc3VyZSB3ZSYjMzk7cmUgbm90IG1pc3NpbmcgYW55dGhpbmcgb2J2aW91cy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIE1BQzgwMjExfGRlcGVuZHMgb24mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxubmV0L21hYzgwMjExL0tjb25maWc6Mjpjb25maWcgTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTMtXHR0cmlzdGF0ZSBcJiMzNDtHZW5lcmljIElFRUUgODAyLjExIE5ldHdvcmtpbmcgU3RhY2sgKG1hYzgwMjExKVwmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6NDpcdGRlcGVuZHMgb24gQ0ZHODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTUtXHRzZWxlY3QgQ1JZUFRPXG4tLVxubmV0L21hYzgwMjExL0tjb25maWc9MTY9Y29tbWVudCBcJiMzNDtDRkc4MDIxMSBuZWVkcyB0byBiZSBlbmFibGVkIGZvciBNQUM4MDIxMVwmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MTc6XHRkZXBlbmRzIG9uIENGRzgwMjExPW5cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE4LVxubmV0L21hYzgwMjExL0tjb25maWc9MTk9aWYgTUFDODAyMTEgIT0gblxubmV0L21hYzgwMjExL0tjb25maWctMjAtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMTpjb25maWcgTUFDODAyMTFfSEFTX1JDXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMi1cdGJvb2xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzLVxubmV0L21hYzgwMjExL0tjb25maWc6MjQ6Y29uZmlnIE1BQzgwMjExX1JDX01JTlNUUkVMXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNS1cdGJvb2wgXCYjMzQ7TWluc3RyZWxcJiMzNDsgaWYgRVhQRVJUXG4tLVxubmV0L21hYzgwMjExL0tjb25maWc9MzE9Y2hvaWNlXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zMi1cdHByb21wdCBcJiMzNDtEZWZhdWx0IHJhdGUgY29udHJvbCBhbGdvcml0aG1cJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjMzOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9IQVNfUkNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTM0LVx0ZGVmYXVsdCBNQUM4MDIxMV9SQ19ERUZBVUxUX01JTlNUUkVMXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctNDAtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo0MTpjb25maWcgTUFDODAyMTFfUkNfREVGQVVMVF9NSU5TVFJFTFxubmV0L21hYzgwMjExL0tjb25maWctNDItXHRib29sIFwmIzM0O01pbnN0cmVsXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo0MzpcdGRlcGVuZHMgb24gTUFDODAyMTFfUkNfTUlOU1RSRUxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQ0LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnPTQ4PWVuZGNob2ljZVxubmV0L21hYzgwMjExL0tjb25maWctNDktXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo1MDpjb25maWcgTUFDODAyMTFfUkNfREVGQVVMVFxubmV0L21hYzgwMjExL0tjb25maWctNTEtXHRzdHJpbmdcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZz01Nz1jb21tZW50IFwmIzM0O1NvbWUgd2lyZWxlc3MgZHJpdmVycyByZXF1aXJlIGEgcmF0ZSBjb250cm9sIGFsZ29yaXRobVwmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6NTg6XHRkZXBlbmRzIG9uIE1BQzgwMjExIFx1MDAyNlx1MDAyNiBNQUM4MDIxMV9IQVNfUkM9blxubmV0L21hYzgwMjExL0tjb25maWctNTktXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo2MDpjb25maWcgTUFDODAyMTFfS1VOSVRfVEVTVFxubmV0L21hYzgwMjExL0tjb25maWctNjEtXHR0cmlzdGF0ZSBcJiMzNDtLVW5pdCB0ZXN0cyBmb3IgbWFjODAyMTFcJiMzNDsgaWYgIUtVTklUX0FMTF9URVNUU1xubmV0L21hYzgwMjExL0tjb25maWc6NjI6XHRkZXBlbmRzIG9uIEtVTklUXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo2MzpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTY0LVx0ZGVmYXVsdCBLVU5JVF9BTExfVEVTVFNcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy02OS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjcwOmNvbmZpZyBNQUM4MDIxMV9NRVNIXG5uZXQvbWFjODAyMTEvS2NvbmZpZy03MS1cdGJvb2wgXCYjMzQ7RW5hYmxlIG1hYzgwMjExIG1lc2ggbmV0d29ya2luZyBzdXBwb3J0XCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo3MjpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTczLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTc4LVxubmV0L21hYzgwMjExL0tjb25maWc6Nzk6Y29uZmlnIE1BQzgwMjExX0xFRFNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTgwLVx0Ym9vbCBcJiMzNDtFbmFibGUgTEVEIHRyaWdnZXJzXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo4MTpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjgyOlx0ZGVwZW5kcyBvbiBMRURTX0NMQVNTPXkgfHwgTEVEU19DTEFTUz1NQUM4MDIxMVxubmV0L21hYzgwMjExL0tjb25maWctODMtXHRzZWxlY3QgTEVEU19UUklHR0VSU1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg3LVxubmV0L21hYzgwMjExL0tjb25maWc6ODg6Y29uZmlnIE1BQzgwMjExX0RFQlVHRlNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg5LVx0Ym9vbCBcJiMzNDtFeHBvcnQgbWFjODAyMTEgaW50ZXJuYWxzIGluIERlYnVnRlNcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjkwOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMSBcdTAwMjZcdTAwMjYgQ0ZHODAyMTFfREVCVUdGU1xubmV0L21hYzgwMjExL0tjb25maWctOTEtXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctOTYtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5Nzpjb25maWcgTUFDODAyMTFfTUVTU0FHRV9UUkFDSU5HXG5uZXQvbWFjODAyMTEvS2NvbmZpZy05OC1cdGJvb2wgXCYjMzQ7VHJhY2UgYWxsIG1hYzgwMjExIGRlYnVnIG1lc3NhZ2VzXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5OTpcdGRlcGVuZHMgb24gTUFDODAyMTEgXHUwMDI2XHUwMDI2IFRSQUNJTkdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEwMC1cdGhlbHBcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMDktXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTA6bWVudWNvbmZpZyBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTEtXHRib29sIFwmIzM0O1NlbGVjdCBtYWM4MDIxMSBkZWJ1Z2dpbmcgZmVhdHVyZXNcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExMjpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTExMy1cdGhlbHBcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTUtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTY6Y29uZmlnIE1BQzgwMjExX05PSU5MSU5FXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTctXHRib29sIFwmIzM0O0RvIG5vdCBpbmxpbmUgVFgvUlggaGFuZGxlcnNcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExODpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTE5LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzMS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjEzMjpjb25maWcgTUFDODAyMTFfVkVSQk9TRV9ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMTMzLVx0Ym9vbCBcJiMzNDtWZXJib3NlIGRlYnVnZ2luZyBvdXRwdXRcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjEzNDpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTM1LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE0Mi1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE0Mzpjb25maWcgTUFDODAyMTFfTUxNRV9ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMTQ0LVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1hbmFnZWQgTUxNRSBvdXRwdXRcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE0NTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTQ2LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1My1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE1NDpjb25maWcgTUFDODAyMTFfU1RBX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNTUtXHRib29sIFwmIzM0O1ZlcmJvc2Ugc3RhdGlvbiBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE1NjpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTU3LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE2Mi1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2Mzpjb25maWcgTUFDODAyMTFfSFRfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE2NC1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBIVCBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2NTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTY2LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE3NC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE3NTpjb25maWcgTUFDODAyMTFfT0NCX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzYtXHRib29sIFwmIzM0O1ZlcmJvc2UgT0NCIGRlYnVnZ2luZ1wmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MTc3Olx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzgtXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMTg1LVxubmV0L21hYzgwMjExL0tjb25maWc6MTg2OmNvbmZpZyBNQUM4MDIxMV9JQlNTX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xODctXHRib29sIFwmIzM0O1ZlcmJvc2UgSUJTUyBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE4ODpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTg5LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE5Ni1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5Nzpjb25maWcgTUFDODAyMTFfUFNfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE5OC1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBwb3dlcnNhdmUgbW9kZSBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5OTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMjAwLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIwOC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIwOTpjb25maWcgTUFDODAyMTFfTVBMX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMTAtXHRib29sIFwmIzM0O1ZlcmJvc2UgbWVzaCBwZWVyIGxpbmsgZGVidWdnaW5nXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMTE6XHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIxMjpcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxubmV0L21hYzgwMjExL0tjb25maWctMjEzLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIyMS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyMjpjb25maWcgTUFDODAyMTFfTVBBVEhfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIyMy1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIHBhdGggZGVidWdnaW5nXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMjQ6XHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyNTpcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxubmV0L21hYzgwMjExL0tjb25maWctMjI2LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIzNTpjb25maWcgTUFDODAyMTFfTUhXTVBfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNi1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIEhXTVAgcm91dGluZyBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIzNzpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWc6MjM4Olx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMzktXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjQ3LVxubmV0L21hYzgwMjExL0tjb25maWc6MjQ4OmNvbmZpZyBNQUM4MDIxMV9NRVNIX1NZTkNfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0OS1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIHN5bmNocm9uaXphdGlvbiBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI1MDpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWc6MjUxOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNTItXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjU4LVxubmV0L21hYzgwMjExL0tjb25maWc6MjU5OmNvbmZpZyBNQUM4MDIxMV9NRVNIX0NTQV9ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMjYwLVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1lc2ggY2hhbm5lbCBzd2l0Y2ggZGVidWdnaW5nXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNjE6XHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI2MjpcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxubmV0L21hYzgwMjExL0tjb25maWctMjYzLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2OS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI3MDpjb25maWcgTUFDODAyMTFfTUVTSF9QU19ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMjcxLVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1lc2ggcG93ZXJzYXZlIGRlYnVnZ2luZ1wmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MjcyOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNzM6XHRkZXBlbmRzIG9uIE1BQzgwMjExX01FU0hcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI3NC1cdGhlbHBcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODAtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyODE6Y29uZmlnIE1BQzgwMjExX1RETFNfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4Mi1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBURExTIGRlYnVnZ2luZ1wmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MjgzOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODQtXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjkyLVxubmV0L21hYzgwMjExL0tjb25maWc6MjkzOmNvbmZpZyBNQUM4MDIxMV9ERUJVR19DT1VOVEVSU1xubmV0L21hYzgwMjExL0tjb25maWctMjk0LVx0Ym9vbCBcJiMzNDtFeHRyYSBzdGF0aXN0aWNzIGZvciBUWC9SWCBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI5NTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWc6Mjk2Olx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR0ZTXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yOTctXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMzA3LVxubmV0L21hYzgwMjExL0tjb25maWc6MzA4OmNvbmZpZyBNQUM4MDIxMV9TVEFfSEFTSF9NQVhfU0laRVxubmV0L21hYzgwMjExL0tjb25maWctMzA5LVx0aW50IFwmIzM0O1N0YXRpb24gaGFzaCB0YWJsZSBtYXhpbXVtIHNpemVcJiMzNDsgaWYgTUFDODAyMTFfREVCVUdfTUVOVVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjI1LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxNTkyMQoJCQkJCQkJb3V0cHV0OiAzNwoJCQkJCQkJdGhvdWdodHM6IDM2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBhbiBleHBlcnQmIzM5O3MgaW50ZXJuYWwgbW9ub2xvZ3VlOgoKKipEZXBlbmRlbmNpZXMgYW5kIHRoZSBNQUM4MDIxMSBMYXllcioqCgpBbHJpZ2h0LCBzbyBJJiMzOTttIGRpZ2dpbmcgaW50byBgTUFDODAyMTFgIGFnYWluLiBSaWdodCwgYE1BQzgwMjExYCBhYnNvbHV0ZWx5IGRlcGVuZHMgb24gYENGRzgwMjExYC4gVGhhdCYjMzk7cyBmdW5kYW1lbnRhbCwgd2Uga25vdyB0aGF0LiBMZXQmIzM5O3MgbWFrZSBzdXJlIG91ciB1bmRlcnN0YW5kaW5nIG9mIHRoYXQgcmVtYWlucyBzaGFycCBhbmQgdGhhdCBhbnkgd29yayBiZWluZyBkb25lIGRvd25zdHJlYW0gZG9lc24mIzM5O3QgaW50cm9kdWNlIHVud2FudGVkIGZyaWN0aW9uLiBJIG5lZWQgdG8gcXVpY2tseSByZWZyZXNoIG15c2VsZiBvbiB0aGUgc3BlY2lmaWNzIG9mIHRob3NlIGRlcGVuZGVuY2llcy4gTGV0IG1lIGdvIHRha2UgYSBsb29rIGF0IHRoZSBgQ0ZHODAyMTFgIHNpZGUgb2YgdGhpbmdzIHRvIGNvbmZpcm0gZXZlcnl0aGluZyBpcyBhcyBpdCBzaG91bGQgYmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBDRkc4MDIxMXxkZXBlbmRzIG9uJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3dpcmVsZXNzL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L3dpcmVsZXNzL0tjb25maWc9NT1jb25maWcgV0VYVF9DT1JFXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy02LVx0ZGVmX2Jvb2wgeVxubmV0L3dpcmVsZXNzL0tjb25maWc6NzpcdGRlcGVuZHMgb24gQ0ZHODAyMTFfV0VYVCB8fCBXSVJFTEVTU19FWFRcbm5ldC93aXJlbGVzcy9LY29uZmlnLTgtXG5uZXQvd2lyZWxlc3MvS2NvbmZpZz05PWNvbmZpZyBXRVhUX1BST0Ncbm5ldC93aXJlbGVzcy9LY29uZmlnLTEwLVx0ZGVmX2Jvb2wgeVxubmV0L3dpcmVsZXNzL0tjb25maWc6MTE6XHRkZXBlbmRzIG9uIFBST0NfRlNcbm5ldC93aXJlbGVzcy9LY29uZmlnOjEyOlx0ZGVwZW5kcyBvbiBXRVhUX0NPUkVcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEzLVxubmV0L3dpcmVsZXNzL0tjb25maWc9MTQ9Y29uZmlnIFdFWFRfUFJJVlxuLS1cbm5ldC93aXJlbGVzcy9LY29uZmlnLTE2LVxubmV0L3dpcmVsZXNzL0tjb25maWc6MTc6Y29uZmlnIENGRzgwMjExXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xOC1cdHRyaXN0YXRlIFwmIzM0O2NmZzgwMjExIC0gd2lyZWxlc3MgY29uZmlndXJhdGlvbiBBUElcJiMzNDtcbm5ldC93aXJlbGVzcy9LY29uZmlnOjE5Olx0ZGVwZW5kcyBvbiBSRktJTEwgfHwgIVJGS0lMTFxubmV0L3dpcmVsZXNzL0tjb25maWctMjAtXHRzZWxlY3QgRldfTE9BREVSXG4tLVxubmV0L3dpcmVsZXNzL0tjb25maWc9Mzg9Y29uZmlnIE5MODAyMTFfVEVTVE1PREVcbi0tXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy01MS1cbm5ldC93aXJlbGVzcy9LY29uZmlnOjUyOmNvbmZpZyBDRkc4MDIxMV9ERVZFTE9QRVJfV0FSTklOR1Ncbm5ldC93aXJlbGVzcy9LY29uZmlnLTUzLVx0Ym9vbCBcJiMzNDtlbmFibGUgZGV2ZWxvcGVyIHdhcm5pbmdzXCYjMzQ7XG4tLVxubmV0L3dpcmVsZXNzL0tjb25maWctNjctXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzo2ODpjb25maWcgQ0ZHODAyMTFfQ0VSVElGSUNBVElPTl9PTlVTXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy02OS1cdGJvb2wgXCYjMzQ7Y2ZnODAyMTEgY2VydGlmaWNhdGlvbiBvbnVzXCYjMzQ7XG5uZXQvd2lyZWxlc3MvS2NvbmZpZzo3MDpcdGRlcGVuZHMgb24gRVhQRVJUXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy03MS1cdGRlZmF1bHQgblxuLS1cbm5ldC93aXJlbGVzcy9LY29uZmlnLTg4LVxubmV0L3dpcmVsZXNzL0tjb25maWc6ODk6Y29uZmlnIENGRzgwMjExX1JFUVVJUkVfU0lHTkVEX1JFR0RCXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy05MC1cdGJvb2wgXCYjMzQ7cmVxdWlyZSByZWdkYiBzaWduYXR1cmVcJiMzNDsgaWYgQ0ZHODAyMTFfQ0VSVElGSUNBVElPTl9PTlVTXG4tLVxubmV0L3dpcmVsZXNzL0tjb25maWctOTgtXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzo5OTpjb25maWcgQ0ZHODAyMTFfVVNFX0tFUk5FTF9SRUdEQl9LRVlTXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMDAtXHRib29sIFwmIzM0O2FsbG93IHJlZ2RiIGtleXMgc2hpcHBlZCB3aXRoIHRoZSBrZXJuZWxcJiMzNDsgaWYgQ0ZHODAyMTFfQ0VSVElGSUNBVElPTl9PTlVTXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMDEtXHRkZWZhdWx0IHlcbm5ldC93aXJlbGVzcy9LY29uZmlnOjEwMjpcdGRlcGVuZHMgb24gQ0ZHODAyMTFfUkVRVUlSRV9TSUdORURfUkVHREJcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEwMy1cdGhlbHBcbi0tXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMTAtXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMTE6Y29uZmlnIENGRzgwMjExX0VYVFJBX1JFR0RCX0tFWURJUlxubmV0L3dpcmVsZXNzL0tjb25maWctMTEyLVx0c3RyaW5nIFwmIzM0O2FkZGl0aW9uYWwgcmVnZGIga2V5IGRpcmVjdG9yeVwmIzM0OyBpZiBDRkc4MDIxMV9DRVJUSUZJQ0FUSU9OX09OVVNcbm5ldC93aXJlbGVzcy9LY29uZmlnOjExMzpcdGRlcGVuZHMgb24gQ0ZHODAyMTFfUkVRVUlSRV9TSUdORURfUkVHREJcbm5ldC93aXJlbGVzcy9LY29uZmlnLTExNC1cdGhlbHBcbi0tXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMjEtXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMjI6Y29uZmlnIENGRzgwMjExX1JFR19DRUxMVUxBUl9ISU5UU1xubmV0L3dpcmVsZXNzL0tjb25maWctMTIzLVx0Ym9vbCBcJiMzNDtjZmc4MDIxMSByZWd1bGF0b3J5IHN1cHBvcnQgZm9yIGNlbGx1bGFyIGJhc2Ugc3RhdGlvbiBoaW50c1wmIzM0O1xubmV0L3dpcmVsZXNzL0tjb25maWc6MTI0Olx0ZGVwZW5kcyBvbiBDRkc4MDIxMV9DRVJUSUZJQ0FUSU9OX09OVVNcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEyNS1cdGhlbHBcbi0tXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMzQtXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMzU6Y29uZmlnIENGRzgwMjExX1JFR19SRUxBWF9OT19JUlxubmV0L3dpcmVsZXNzL0tjb25maWctMTM2LVx0Ym9vbCBcJiMzNDtjZmc4MDIxMSBzdXBwb3J0IGZvciBOT19JUiByZWxheGF0aW9uXCYjMzQ7XG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMzc6XHRkZXBlbmRzIG9uIENGRzgwMjExX0NFUlRJRklDQVRJT05fT05VU1xubmV0L3dpcmVsZXNzL0tjb25maWctMTM4LVx0aGVscFxuLS1cbm5ldC93aXJlbGVzcy9LY29uZmlnLTE1OC1cbm5ldC93aXJlbGVzcy9LY29uZmlnOjE1OTpjb25maWcgQ0ZHODAyMTFfREVGQVVMVF9QU1xubmV0L3dpcmVsZXNzL0tjb25maWctMTYwLVx0Ym9vbCBcJiMzNDtlbmFibGUgcG93ZXJzYXZlIGJ5IGRlZmF1bHRcJiMzNDtcbi0tXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xNjgtXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxNjk6Y29uZmlnIENGRzgwMjExX0RFQlVHRlNcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE3MC1cdGJvb2wgXCYjMzQ7Y2ZnODAyMTEgRGVidWdGUyBlbnRyaWVzXCYjMzQ7XG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxNzE6XHRkZXBlbmRzIG9uIERFQlVHX0ZTXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xNzItXHRoZWxwXG4tLVxubmV0L3dpcmVsZXNzL0tjb25maWctMTc2LVxubmV0L3dpcmVsZXNzL0tjb25maWc6MTc3OmNvbmZpZyBDRkc4MDIxMV9DUkRBX1NVUFBPUlRcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE3OC1cdGJvb2wgXCYjMzQ7c3VwcG9ydCBDUkRBXCYjMzQ7IGlmIEVYUEVSVFxuLS1cbm5ldC93aXJlbGVzcy9LY29uZmlnLTE4Ni1cbm5ldC93aXJlbGVzcy9LY29uZmlnOjE4Nzpjb25maWcgQ0ZHODAyMTFfV0VYVFxubmV0L3dpcmVsZXNzL0tjb25maWctMTg4LVx0Ym9vbCBcJiMzNDtjZmc4MDIxMSB3aXJlbGVzcyBleHRlbnNpb25zIGNvbXBhdGliaWxpdHlcJiMzNDtcbi0tXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xOTMtXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxOTQ6Y29uZmlnIENGRzgwMjExX0tVTklUX1RFU1Rcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE5NS1cdHRyaXN0YXRlIFwmIzM0O0tVbml0IHRlc3RzIGZvciBjZmc4MDIxMVwmIzM0OyBpZiAhS1VOSVRfQUxMX1RFU1RTXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxOTY6XHRkZXBlbmRzIG9uIEtVTklUXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxOTc6XHRkZXBlbmRzIG9uIENGRzgwMjExXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xOTgtXHRkZWZhdWx0IEtVTklUX0FMTF9URVNUU1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjI3LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxNzU1MQoJCQkJCQkJb3V0cHV0OiAzMgoJCQkJCQkJdGhvdWdodHM6IDc3NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBXaXJlbGVzcyBEcml2ZXIgRml4IGZvciBGdXp6aW5nKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBhIHBvdGVudGlhbCBmdXp6aW5nIHRhcmdldC4gSXQgbG9va3MgbGlrZSB0aGUgYENGRzgwMjExYCBjb3JlIGRvZXNuJiMzOTt0IGhhdmUgYW55IHNwZWNpZmljIGRlcGVuZGVuY2llcyBiZXlvbmQgdGhlIGBSRktJTExgIG1vZHVsZSwgb3Igbm90IGBSRktJTExgIHdoaWNoIGlzIGdvb2QgdG8ga25vdy4gU28sIHRvIGVuc3VyZSB0aGlzIGNvZGUgaXMgaW5jbHVkZWQgaW4gdGhlIHN5emthbGxlciBjb25maWd1cmF0aW9uLCBJIG5lZWQgdG8gbWFrZSBzdXJlIHRoZXNlIGNvbmZpZ3MgYXJlIHNldDogYE1UNzkyMVVgLCBgTVQ3OTI1VWAsIGBNQUM4MDIxMWAsIGBDRkc4MDIxMWAuIEkgc2hvdWxkIGFsc28gbWFrZSBzdXJlIGBVU0JgIGlzIGVuYWJsZWQsIGV2ZW4gdGhvdWdoIGl0JiMzOTtzIGxpa2VseSBhbHJlYWR5IGluIHRoZSBzdGFuZGFyZCBjb25maWdzLiBBY3R1YWxseSwgaG9sZCBvbiwgYE1UNzkyMVVgIGRvZXMgaGF2ZSBkZXBlbmRlbmNpZXMgb24gYE1BQzgwMjExYCBhbmQgYFVTQmAsIHNvIGxldCYjMzk7cyBqdXN0IG1ha2UgdGhlIGxpc3QgbW9yZSBleHBsaWNpdDogYE1UNzkyMVVgLCBgTVQ3OTI1VWAsIGBNQUM4MDIxMWAsIGBDRkc4MDIxMWAuCgpUaGUgZm9jdXMgc3ltYm9scyBoZXJlIGFyZSBnb2luZyB0byBiZSBgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAgYW5kIGBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYC4gSSBzaG91bGQgcXVpY2tseSBkb3VibGUtY2hlY2sgdGhlIGRpZmYgZm9yIGFueSBvdGhlciBtb2RpZmllZCBmdW5jdGlvbnMuIEFoYSwgaGVyZSYjMzk7cyB0aGUgY29kZToKCmBgYGRpZmYKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmMKQEAgLTgyOCwxMSAmIzQzOzgyOCwxNCBAQCB2b2lkIG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LAogCXUxNiBpZHg7CiAKIAlpZHggPSBsZTMyX2dldF9iaXRzKHR4d2lbMV0sIE1UX1RYRDFfV0xBTl9JRFgpOwomIzQzOwomIzQzOwlyY3VfcmVhZF9sb2NrKCk7CiAJd2NpZCA9IF9fbXQ3Nl93Y2lkX3B0cihtZGV2LCBpZHgpOwogCXN0YSA9IHdjaWRfdG9fc3RhKHdjaWQpOwogCiAJaWYgKHN0YSAmYW1wOyZhbXA7IGxpa2VseShlLSZndDtza2ItJmd0O3Byb3RvY29sICE9IGNwdV90b19iZTE2KEVUSF9QX1BBRSkpKQogCQltdDc2X2Nvbm5hYzJfdHhfY2hlY2tfYWdncihzdGEsIHR4d2kpOwomIzQzOwlyY3VfcmVhZF91bmxvY2soKTsKIAogCXNrYl9wdWxsKGUtJmd0O3NrYiwgaGVhZHJvb20pOwogCW10NzZfdHhfY29tcGxldGVfc2tiKG1kZXYsIGUtJmd0O3djaWQsIGUtJmd0O3NrYik7CmBgYAoKQW5kIGl0JiMzOTtzIGEgdmVyeSBzaW1pbGFyIG1vZGlmaWNhdGlvbiBmb3IgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgLiBUaGUgcGF0Y2ggYWRkcmVzc2VzIGFuIFJDVSByZWFkIGxvY2sgaXNzdWUgaW4gdGhlIFRYIGNvbXBsZXRpb24gaGFuZGxlcnMgZm9yIHRoZSBNZWRpYXRlayBNVDc5MjEgYW5kIE1UNzkyNSBVU0IvU0RJTyB3aXJlbGVzcyBkcml2ZXJzLiBUaGVzZSBkcml2ZXJzIGFyZSByZWFjaGFibGUgdGhyb3VnaCBVU0IgdXNpbmcgYSBgZHVtbXlfaGNkYCwgd2hpY2ggaXMgZ3JlYXQgZm9yIGZ1enppbmcuCgpJIHdvbmRlciBpZiBgbXQ3Nl9jb25uYWMyX3R4X2NoZWNrX2FnZ3JgIG9yIGBtdDc5MjVfdHhfY2hlY2tfYWdncmAgd291bGQgYWxzbyBiZSBnb29kIGZvY3VzIHN5bWJvbHM/IFdlbGwsIHRoZXkmIzM5O3JlIGNhbGxlZCB3aXRoaW4gdGhlIG1vZGlmaWVkIGJsb2NrLCBidXQgdGhlIG1vZGlmaWNhdGlvbnMgYXJlICppbiogYG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIGFuZCBgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAsIHNvIGZvY3VzaW5nIG9uIHRob3NlIGB0eF9jb21wbGV0ZV9za2JgIGZ1bmN0aW9ucyBkaXJlY3RseSBtYWtlcyBtb3JlIHNlbnNlIHRvIG1lLgoKSSB3aWxsIG5lZWQgdG8gdmVyaWZ5IGlmIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBhbmQgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIGFyZSB3b3JraW5nIGFzIGV4cGVjdGVkLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjI4LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt2b2lkIG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2ImIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmM9ODE5PUVYUE9SVF9TWU1CT0xfR1BMKG10NzkyMV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYy04MjAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYzo4MjE6dm9pZCBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jLTgyMi1cdFx0XHRcdCAgICAgc3RydWN0IG10NzZfcXVldWVfZW50cnkgKmUpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbXQ3OTIxLmg9MzI4PWludCBtdDc5MjFfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LCB2b2lkICp0eHdpX3B0cixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tdDc5MjEuaC0zMzEtXHRcdFx0XHQgICBzdHJ1Y3QgbXQ3Nl90eF9pbmZvICp0eF9pbmZvKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL210NzkyMS5oOjMzMjp2b2lkIG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbXQ3OTIxLmgtMzMzLVx0XHRcdFx0ICAgICBzdHJ1Y3QgbXQ3Nl9xdWV1ZV9lbnRyeSAqZSk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjUwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE5NjI3CgkJCQkJCQlvdXRwdXQ6IDE1OAoJCQkJCQkJdGhvdWdodHM6IDExCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLCBhbmQgcmVuZGVyZWQgaW4gdGhlIGZpcnN0IHBlcnNvbjoKCioqQXNzZXNzbWVudCBhbmQgQ2xvc3VyZSoqCgpSaWdodCwgaW5pdGlhbCByZXZpZXcgY29tcGxldGUuIEFsbCB0aGUgZGF0YSBwb2ludHMgYWxpZ24gYXMgZXhwZWN0ZWQ7IHRoZSBtZXRob2RvbG9neSBob2xkcyB0cnVlLCBhbmQgdGhlIG91dHB1dHMgYXJlIHdpdGhpbiB0aGUgZXN0YWJsaXNoZWQgcGFyYW1ldGVycy4gTm90aGluZyYjMzk7cyBmbGFnZ2VkIGFueSByZWQgZmxhZ3MsIGFuZCBhbGwgZGVwZW5kZW5jaWVzIHNlZW0gdG8gYmUgcmVzb2x2aW5nIHByb3Blcmx5LiBOb3csIHRoZSBuZXh0IHN0ZXAgaXMgc3RyYWlnaHRmb3J3YXJkOiBJdCYjMzk7cyB0aW1lIHRvIHNldCB0aGUgcmVzdWx0cy4gTm8gZnVydGhlciBjYXZlYXRzIG9yIHF1YWxpZmljYXRpb25zIGFyZSBuZWVkZWQgYXQgdGhpcyBzdGFnZSwgdGhlIGNvbmNsdXNpb24gaXMgY2xlYXIuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MzAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjUwPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtNVDc5MjFVJiMzNDssCiAgICAmIzM0O01UNzkyNVUmIzM0OywKICAgICYjMzQ7TUFDODAyMTEmIzM0OywKICAgICYjMzQ7Q0ZHODAyMTEmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDttdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiJiMzNDssCiAgICAmIzM0O210NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2ImIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYW4gUkNVIHJlYWQgbG9jayBpc3N1ZSBpbiB0aGUgVFggY29tcGxldGlvbiBoYW5kbGVycyBvZiB0aGUgTWVkaWF0ZWsgTVQ3OTIxIGFuZCBNVDc5MjUgVVNCL1NESU8gd2lyZWxlc3MgZHJpdmVycy4gVGhlc2UgZHJpdmVycyBjYW4gYmUgZnV6emVkIHZpYSBVU0IgdXNpbmcgZHVtbXlfaGNkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtNVDc5MjFVJiMzNDssCiAgICAmIzM0O01UNzkyNVUmIzM0OywKICAgICYjMzQ7TUFDODAyMTEmIzM0OywKICAgICYjMzQ7Q0ZHODAyMTEmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDttdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiJiMzNDssCiAgICAmIzM0O210NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2ImIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYW4gUkNVIHJlYWQgbG9jayBpc3N1ZSBpbiB0aGUgVFggY29tcGxldGlvbiBoYW5kbGVycyBvZiB0aGUgTWVkaWF0ZWsgTVQ3OTIxIGFuZCBNVDc5MjUgVVNCL1NESU8gd2lyZWxlc3MgZHJpdmVycy4gVGhlc2UgZHJpdmVycyBjYW4gYmUgZnV6emVkIHZpYSBVU0IgdXNpbmcgZHVtbXlfaGNkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDg6NDAuNDcwMjc5MloiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjg2MDYyODc4ODg3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk1UNzkyMVVcIixcbiAgICBcIk1UNzkyNVVcIixcbiAgICBcIk1BQzgwMjExXCIsXG4gICAgXCJDRkc4MDIxMVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JcIixcbiAgICBcIm10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhbiBSQ1UgcmVhZCBsb2NrIGlzc3VlIGluIHRoZSBUWCBjb21wbGV0aW9uIGhhbmRsZXJzIG9mIHRoZSBNZWRpYXRlayBNVDc5MjEgYW5kIE1UNzkyNSBVU0IvU0RJTyB3aXJlbGVzcyBkcml2ZXJzLiBUaGVzZSBkcml2ZXJzIGNhbiBiZSBmdXp6ZWQgdmlhIFVTQiB1c2luZyBkdW1teV9oY2QuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ4OjQwLjQ3MDI4ODM1WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MjY0MjkxOTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAwZGNkNDNjZmFjZGI4ODU0YTk2YjVmOGE0MWE5MGJlOWZjY2U0OWY3XFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgQXVnIDUgMjE6NDg6MzkgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuY1xcbmluZGV4IGY3ZDU0NDcyZGExYjEuLjY2MWE1NGU2Yzc2MzcgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmNcXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuY1xcbkBAIC04MjgsMTEgKzgyOCwxNCBAQCB2b2lkIG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LFxcbiBcXHR1MTYgaWR4O1xcbiBcXG4gXFx0aWR4ID0gbGUzMl9nZXRfYml0cyh0eHdpWzFdLCBNVF9UWEQxX1dMQU5fSURYKTtcXG4rXFxuK1xcdHJjdV9yZWFkX2xvY2soKTtcXG4gXFx0d2NpZCA9IF9fbXQ3Nl93Y2lkX3B0cihtZGV2LCBpZHgpO1xcbiBcXHRzdGEgPSB3Y2lkX3RvX3N0YSh3Y2lkKTtcXG4gXFxuIFxcdGlmIChzdGEgXFx1MDAyNlxcdTAwMjYgbGlrZWx5KGUtXFx1MDAzZXNrYi1cXHUwMDNlcHJvdG9jb2wgIT0gY3B1X3RvX2JlMTYoRVRIX1BfUEFFKSkpXFxuIFxcdFxcdG10NzZfY29ubmFjMl90eF9jaGVja19hZ2dyKHN0YSwgdHh3aSk7XFxuK1xcdHJjdV9yZWFkX3VubG9jaygpO1xcbiBcXG4gXFx0c2tiX3B1bGwoZS1cXHUwMDNlc2tiLCBoZWFkcm9vbSk7XFxuIFxcdG10NzZfdHhfY29tcGxldGVfc2tiKG1kZXYsIGUtXFx1MDAzZXdjaWQsIGUtXFx1MDAzZXNrYik7XFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmNcXG5pbmRleCA2YjBjZDE5OTZlY2IzLi4yMGUwOTE5ZDI3ZjhkIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmNcXG5AQCAtMTQ3MCwxMSArMTQ3MCwxNCBAQCB2b2lkIG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LFxcbiBcXHR1MTYgaWR4O1xcbiBcXG4gXFx0aWR4ID0gbGUzMl9nZXRfYml0cyh0eHdpWzFdLCBNVF9UWEQxX1dMQU5fSURYKTtcXG4rXFxuK1xcdHJjdV9yZWFkX2xvY2soKTtcXG4gXFx0d2NpZCA9IF9fbXQ3Nl93Y2lkX3B0cihtZGV2LCBpZHgpO1xcbiBcXHRzdGEgPSB3Y2lkX3RvX3N0YSh3Y2lkKTtcXG4gXFxuIFxcdGlmIChzdGEgXFx1MDAyNlxcdTAwMjYgbGlrZWx5KGUtXFx1MDAzZXNrYi1cXHUwMDNlcHJvdG9jb2wgIT0gY3B1X3RvX2JlMTYoRVRIX1BfUEFFKSkpXFxuIFxcdFxcdG10NzkyNV90eF9jaGVja19hZ2dyKHN0YSwgZS1cXHUwMDNlc2tiLCB3Y2lkKTtcXG4rXFx0cmN1X3JlYWRfdW5sb2NrKCk7XFxuIFxcbiBcXHRza2JfcHVsbChlLVxcdTAwM2Vza2IsIGhlYWRyb29tKTtcXG4gXFx0bXQ3Nl90eF9jb21wbGV0ZV9za2IobWRldiwgZS1cXHUwMDNld2NpZCwgZS1cXHUwMDNlc2tiKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDg6NDEuMDk3NjgxNzQ0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6ODU0MzU0Njc2MTMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTVQ3OTIxVVwiLFxuICAgIFwiTVQ3OTI1VVwiLFxuICAgIFwiTUFDODAyMTFcIixcbiAgICBcIkNGRzgwMjExXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYlwiLFxuICAgIFwibXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYlwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGFuIFJDVSByZWFkIGxvY2sgaXNzdWUgaW4gdGhlIFRYIGNvbXBsZXRpb24gaGFuZGxlcnMgb2YgdGhlIE1lZGlhdGVrIE1UNzkyMSBhbmQgTVQ3OTI1IFVTQi9TRElPIHdpcmVsZXNzIGRyaXZlcnMuIFRoZXNlIGRyaXZlcnMgY2FuIGJlIGZ1enplZCB2aWEgVVNCIHVzaW5nIGR1bW15X2hjZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgMGRjZDQzY2ZhY2RiODg1NGE5NmI1ZjhhNDFhOTBiZTlmY2NlNDlmN1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgQXVnIDUgMjE6NDg6MzkgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jXG5pbmRleCBmN2Q1NDQ3MmRhMWIxLi42NjFhNTRlNmM3NjM3IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jXG5AQCAtODI4LDExICs4MjgsMTQgQEAgdm9pZCBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldixcbiBcdHUxNiBpZHg7XG4gXG4gXHRpZHggPSBsZTMyX2dldF9iaXRzKHR4d2lbMV0sIE1UX1RYRDFfV0xBTl9JRFgpO1xuK1xuK1x0cmN1X3JlYWRfbG9jaygpO1xuIFx0d2NpZCA9IF9fbXQ3Nl93Y2lkX3B0cihtZGV2LCBpZHgpO1xuIFx0c3RhID0gd2NpZF90b19zdGEod2NpZCk7XG4gXG4gXHRpZiAoc3RhIFx1MDAyNlx1MDAyNiBsaWtlbHkoZS1cdTAwM2Vza2ItXHUwMDNlcHJvdG9jb2wgIT0gY3B1X3RvX2JlMTYoRVRIX1BfUEFFKSkpXG4gXHRcdG10NzZfY29ubmFjMl90eF9jaGVja19hZ2dyKHN0YSwgdHh3aSk7XG4rXHRyY3VfcmVhZF91bmxvY2soKTtcbiBcbiBcdHNrYl9wdWxsKGUtXHUwMDNlc2tiLCBoZWFkcm9vbSk7XG4gXHRtdDc2X3R4X2NvbXBsZXRlX3NrYihtZGV2LCBlLVx1MDAzZXdjaWQsIGUtXHUwMDNlc2tiKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jXG5pbmRleCA2YjBjZDE5OTZlY2IzLi4yMGUwOTE5ZDI3ZjhkIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jXG5AQCAtMTQ3MCwxMSArMTQ3MCwxNCBAQCB2b2lkIG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LFxuIFx0dTE2IGlkeDtcbiBcbiBcdGlkeCA9IGxlMzJfZ2V0X2JpdHModHh3aVsxXSwgTVRfVFhEMV9XTEFOX0lEWCk7XG4rXG4rXHRyY3VfcmVhZF9sb2NrKCk7XG4gXHR3Y2lkID0gX19tdDc2X3djaWRfcHRyKG1kZXYsIGlkeCk7XG4gXHRzdGEgPSB3Y2lkX3RvX3N0YSh3Y2lkKTtcbiBcbiBcdGlmIChzdGEgXHUwMDI2XHUwMDI2IGxpa2VseShlLVx1MDAzZXNrYi1cdTAwM2Vwcm90b2NvbCAhPSBjcHVfdG9fYmUxNihFVEhfUF9QQUUpKSlcbiBcdFx0bXQ3OTI1X3R4X2NoZWNrX2FnZ3Ioc3RhLCBlLVx1MDAzZXNrYiwgd2NpZCk7XG4rXHRyY3VfcmVhZF91bmxvY2soKTtcbiBcbiBcdHNrYl9wdWxsKGUtXHUwMDNlc2tiLCBoZWFkcm9vbSk7XG4gXHRtdDc2X3R4X2NvbXBsZXRlX3NrYihtZGV2LCBlLVx1MDAzZXdjaWQsIGUtXHUwMDNlc2tiKTtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ4OjQxLjA5NzY4NTA0NFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjY0NDk3MTc4NjIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgTWVkaWF0ZWsgV2lyZWxlc3MgRHJpdmVyIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0J3MgdG91Y2hpbmcgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jYCBhbmQgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jYC4gVGhlIGNoYW5nZXMgaW52b2x2ZSBhZGRpbmcgYHJjdV9yZWFkX2xvY2soKWAgYW5kIGByY3VfcmVhZF91bmxvY2soKWAgYXJvdW5kIGNhbGxzIHRvIGBfX210NzZfd2NpZF9wdHIobWRldiwgaWR4KWAsIGB3Y2lkX3RvX3N0YSh3Y2lkKWAsIGFuZCBmdW5jdGlvbnMgbGlrZSBgbXQ3Nl9jb25uYWMyX3R4X2NoZWNrX2FnZ3Ioc3RhLCB0eHdpKWAgYW5kIGBtdDc5MjVfdHhfY2hlY2tfYWdncihzdGEsIGUtXHUwMDNlc2tiLCB3Y2lkKWAuIE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCB3aGF0J3MgdGhlIGNvbnRleHQgaGVyZSwgYW5kIGFyZSB0aGVyZSBzZWN1cml0eSBpbXBsaWNhdGlvbnM/XG5cblRoZXNlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIHdpdGhpbiBgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAgYW5kIGBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCwgd2hpY2ggaW5kaWNhdGVzIHRoaXMgaXMgcmVsYXRlZCB0byBNZWRpYXRlayBNVDc5MjEgYW5kIE1UNzkyNSBkcml2ZXJzLiBOb3csIE1UNzkyMSBhbmQgTVQ3OTI1IGFyZSB3aXJlbGVzcyBkcml2ZXJzLCBzcGVjaWZpY2FsbHkuIE15IGFudGVubmEgZ29lcyB1cCBpbW1lZGlhdGVseSDigJMgd2lyZWxlc3MgZHJpdmVycyBhcmUgb2Z0ZW4gYSBwcmltZSB0YXJnZXQgZm9yIGZ1enppbmcuIElmIHRoZXkgYXJlIFVTQiBvciBTRElPIGJhc2VkLCBvciBldmVuIG1hYzgwMjExX2h3c2ltLCB0aGV5J3JlIG9mdGVuIG1vcmUgc3VzY2VwdGlibGUgYW5kIGV4cGxvaXRhYmxlLlxuXG5UaGUgbmFtaW5nIG9mIHRoZSBmdW5jdGlvbnMsIGAqX3VzYl9zZGlvXypgLCBpcyBhIHN0cm9uZyBoaW50LiBUaGlzIG1lYW5zIFVTQiBvciBTRElPLiBJZiB0aGV5IGFyZSBmb3IgVVNCIGRldmljZXMsIHRoYXQgb3BlbnMgdGhlIHBvc3NpYmlsaXR5IG9mIGxldmVyYWdpbmcgZHVtbXlfaGNkIG9yIHN5emthbGxlcidzIFVTQiBmdXp6aW5nIGNhcGFiaWxpdGllcyB0byBwb2tlIGF0IHRoZW0uIE15IG5leHQgc3RlcCBpcyB0byBxdWlja2x5IGNoZWNrIGlmIE1UNzkyMVUgYW5kIE1UNzkyNVUgYXJlIGFjdHVhbGx5IFVTQiBkcml2ZXJzIGFuZCBpZiB0aGV5IGNhbiBiZSBlbmFibGVkLiBJIG5lZWQgdG8gY29uZmlybSB0aGlzIGlzIGEgZnV6emFibGUgdGFyZ2V0LlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNjExLCJPdXRwdXRUb2tlbnMiOjMxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzczLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDg6NDcuNTQ3NDA2MDc2WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIyMjEyMjE0NDcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYlwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYz04MTk9RVhQT1JUX1NZTUJPTF9HUEwobXQ3OTIxX3VzYl9zZGlvX3R4X3ByZXBhcmVfc2tiKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYy04MjAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmM6ODIxOnZvaWQgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmMtODIyLVxcdFxcdFxcdFxcdCAgICAgc3RydWN0IG10NzZfcXVldWVfZW50cnkgKmUpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYy04NDItfVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jOjg0MzpFWFBPUlRfU1lNQk9MX0dQTChtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYy04NDQtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tdDc5MjEuaD0zMjg9aW50IG10NzkyMV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsIHZvaWQgKnR4d2lfcHRyLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbXQ3OTIxLmgtMzMxLVxcdFxcdFxcdFxcdCAgIHN0cnVjdCBtdDc2X3R4X2luZm8gKnR4X2luZm8pO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL210NzkyMS5oOjMzMjp2b2lkIG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL210NzkyMS5oLTMzMy1cXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBtdDc2X3F1ZXVlX2VudHJ5ICplKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL3NkaW8uYz05MD1zdGF0aWMgaW50IG10NzkyMXNfcHJvYmUoc3RydWN0IHNkaW9fZnVuYyAqZnVuYyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL3NkaW8uYy05OS1cXHRcXHQudHhfcHJlcGFyZV9za2IgPSBtdDc5MjFfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2IsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvc2Rpby5jOjEwMDpcXHRcXHQudHhfY29tcGxldGVfc2tiID0gbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9zZGlvLmMtMTAxLVxcdFxcdC50eF9zdGF0dXNfZGF0YSA9IG10NzkyMV91c2Jfc2Rpb190eF9zdGF0dXNfZGF0YSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL3VzYi5jPTE1MD1zdGF0aWMgaW50IG10NzkyMXVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKnVzYl9pbnRmLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvdXNiLmMtMTYwLVxcdFxcdC50eF9wcmVwYXJlX3NrYiA9IG10NzkyMV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS91c2IuYzoxNjE6XFx0XFx0LnR4X2NvbXBsZXRlX3NrYiA9IG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2IsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvdXNiLmMtMTYyLVxcdFxcdC50eF9zdGF0dXNfZGF0YSA9IG10NzkyMV91c2Jfc2Rpb190eF9zdGF0dXNfZGF0YSxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDg6NDkuNzY4NjM0NzczWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDA5NDc1OTIzOSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHM6XG5cbioqQW5hbHl6aW5nIHRoZSBtdDc5MjEgRHJpdmVyJ3MgVFggQ29tcGxldGlvbiBIYW5kbGVycyoqXG5cbk9rYXksIHNvIEknbSBkaWdnaW5nIGludG8gdGhlIE1lZGlhdGVrIE1UNzkyMSBkcml2ZXIgY29kZSwgc3BlY2lmaWNhbGx5IHRoZSBVU0IgYW5kIFNESU8gdmFyaWFudHMuIEkgc2VlIHRoYXQgdGhlIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBmdW5jdGlvbiBpcyBiZWluZyB1c2VkIGluIGJvdGggdGhlIFVTQiBwcm9iZSBmdW5jdGlvbiAoYG10NzkyMXVfcHJvYmVgKSBhbmQgdGhlIFNESU8gcHJvYmUgZnVuY3Rpb24gKGBtdDc5MjFzX3Byb2JlYCkuIFRoYXQncyBpbnRlcmVzdGluZywgc3VnZ2VzdGluZyBhIGRlZ3JlZSBvZiBzaGFyZWQgZnVuY3Rpb25hbGl0eSwgb3IgYXQgbGVhc3QgYSBzaW1pbGFyIG1lY2hhbmlzbSBmb3IgaGFuZGxpbmcgdHJhbnNtaXQgY29tcGxldGlvbnMgYWNyb3NzIHRoZSB0d28gaW50ZXJmYWNlIHR5cGVzLiBOb3csIGdpdmVuIHRoZSBzaW1pbGFyaXR5IGluIHRoZSBuYW1pbmcsIGFuZCB0aGUgYXJjaGl0ZWN0dXJhbCBwYXJhbGxlbHMgSSdtIGF3YXJlIG9mIGluIHRoZXNlIE1lZGlhdGVrIGRyaXZlcnMsIGxldCdzIGdvIGEgbGV2ZWwgZGVlcGVyIGFuZCBjaGVjayBvdXQgdGhlIGBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBmdW5jdGlvbiwgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgcGFyYWxsZWxzIHRvIGJlIGRyYXduIHRoZXJlLCBvciBpZiB0aGV5IGFyZSB3aWxkbHkgZGlmZmVyZW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjo0NDA0LCJPdXRwdXRUb2tlbnMiOjMxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NzgsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDg6NTMuODYzMzk2OTkyWiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI1NzI2NDUwMzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYlwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYz0xNDYxPUVYUE9SVF9TWU1CT0xfR1BMKG10NzkyNV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMtMTQ2Mi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYzoxNDYzOnZvaWQgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMtMTQ2NC1cXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBtdDc2X3F1ZXVlX2VudHJ5ICplKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMtMTQ4NC19XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmM6MTQ4NTpFWFBPUlRfU1lNQk9MX0dQTChtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYy0xNDg2LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbXQ3OTI1Lmg9MzYyPWludCBtdDc5MjVfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LCB2b2lkICp0eHdpX3B0cixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L210NzkyNS5oLTM2NS1cXHRcXHRcXHRcXHQgICBzdHJ1Y3QgbXQ3Nl90eF9pbmZvICp0eF9pbmZvKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tdDc5MjUuaDozNjY6dm9pZCBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tdDc5MjUuaC0zNjctXFx0XFx0XFx0XFx0ICAgICBzdHJ1Y3QgbXQ3Nl9xdWV1ZV9lbnRyeSAqZSk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS91c2IuYz0xNDM9c3RhdGljIGludCBtdDc5MjV1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICp1c2JfaW50ZixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L3VzYi5jLTE1My1cXHRcXHQudHhfcHJlcGFyZV9za2IgPSBtdDc5MjVfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2IsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvdXNiLmM6MTU0OlxcdFxcdC50eF9jb21wbGV0ZV9za2IgPSBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L3VzYi5jLTE1NS1cXHRcXHQudHhfc3RhdHVzX2RhdGEgPSBtdDc5MjVfdXNiX3NkaW9fdHhfc3RhdHVzX2RhdGEsXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ4OjU2LjQzNjA0NjY4M1oiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMxNzE3MDE4MzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIFVTQiBXaXJlbGVzcyBEcml2ZXIgRnV6emluZyBQb3RlbnRpYWwqKlxuXG5Pa2F5LCBzbyBJIHNlZSB0aGlzIGNvZGUgaXMgcGFydCBvZiBgbXQ3OTI1dV9wcm9iZWAsIHdoaWNoIHRlbGxzIG1lIHRoaXMgaXMgZGVmaW5pdGVseSBhIFVTQiB3aXJlbGVzcyBkcml2ZXIuIFRoYXQncyBnb29kLCBiZWNhdXNlIHRoYXQgaW1tZWRpYXRlbHkgb3BlbnMgdXAgdGhlIHBvc3NpYmlsaXR5IG9mIGxldmVyYWdpbmcgc3l6a2FsbGVyJ3MgVVNCIGZ1enppbmcgY2FwYWJpbGl0aWVzLiBNeSBmaXJzdCB0aG91Z2h0IGlzLCBcImZhbnRhc3RpYywgYW5vdGhlciBhcmVhIHRvIHByb2JlIVwiIE5vdywgbGV0J3MgdGFrZSBhIHF1aWNrIGxvb2sgYXQgdGhlIEtjb25maWcgb3B0aW9ucyBhc3NvY2lhdGVkIHdpdGggdGhlc2UgZHJpdmVycy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGNvbmZpZ3VyYXRpb24gc3BhY2UgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgc3BlY2lmaWMgc2V0dGluZ3Mgb3IgZGVwZW5kZW5jaWVzIHRoYXQgbWlnaHQgaW5mbHVlbmNlIGhvdyBJJ2xsIGFwcHJvYWNoIHRoZSBmdXp6aW5nIGNhbXBhaWduLiBJZGVudGlmeWluZyB0aG9zZSBvcHRpb25zIHdpbGwgaGVscCBtZSB0YWlsb3Igc3l6a2FsbGVyIGFuZCBteSBmdXp6aW5nIHNldHVwIGZvciBtYXhpbXVtIGVmZmVjdGl2ZW5lc3MuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjU0ODIsIk91dHB1dFRva2VucyI6MjEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo1OCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo0ODo1OS42MDc3NTI1MTlaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjQ1Njg2ODk0MywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgTVQ3OTIxVVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnPTE3PWNvbmZpZyBNVDc5MjFTXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTI3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWc6Mjg6Y29uZmlnIE1UNzkyMVVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTI5LVxcdHRyaXN0YXRlIFxcXCJNZWRpYVRlayBNVDc5MjFVIChVU0IpIHN1cHBvcnRcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjAyLjA2NDY1MDg5MloiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI5Mzk5ODMwNjEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSB0aG91Z2h0IHByb2Nlc3MsIGFzIGlmIEkgd2VyZSBjb25zaWRlcmluZyB0aGUgTVQ3OTI1VSBhbmQgaXRzIEtjb25maWc6XG5cbioqRGVlcCBEaXZlIGludG8gdGhlIE1UNzkyNVUgS2NvbmZpZyoqXG5cbk9rYXksIHRpbWUgdG8gZ2V0IG15IGhhbmRzIGRpcnR5LiBMZXQncyBzdGFydCBieSBkaWdnaW5nIGludG8gdGhlIEtjb25maWcgZm9yIHRoZSBNVDc5MjVVLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBleGFjdGx5IGhvdyB0aGlzIGRldmljZSBpcyBjb25maWd1cmVkIHdpdGhpbiB0aGUga2VybmVsLiBJJ2xsIG5lZWQgdG8gaWRlbnRpZnkgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9ucywgZGVwZW5kZW5jaWVzLCBhbmQgYW55IGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uIHRoYXQncyBnb2luZyBvbi4gSSdtIGxvb2tpbmcgZm9yIHRoZSBrZXkgc2V0dGluZ3MgcmVsYXRlZCB0byBpdHMgZnVuY3Rpb25hbGl0eTogZHJpdmVycywgZmlybXdhcmUgbG9hZGluZywgcG93ZXIgbWFuYWdlbWVudCwgYW5kIGFueXRoaW5nIGVsc2Ugc3BlY2lmaWMgdG8gaXRzIGJlaGF2aW9yIHdpdGhpbiB0aGUgc3lzdGVtLiBBcmUgdGhlcmUgYW55IHVudXN1YWwgZGVmYXVsdHMgb3IgcXVpcmtzIEkgc2hvdWxkIGJlIGF3YXJlIG9mPyBJJ2xsIGJlIG1ldGljdWxvdXNseSBleGFtaW5pbmcgdGhlIGRlcGVuZGVuY2llcyB0byBzZWUgd2hhdCBpbXBhY3QgdGhpcyBoYXMgb24gb3RoZXIgZGV2aWNlIGNvbmZpZ3VyYXRpb25zLiBLbm93aW5nIHRoZSBLY29uZmlnIGlzIGFic29sdXRlbHkgY3JpdGljYWwgZm9yIHVuZGVyc3RhbmRpbmcgaG93IHRoZSBkZXZpY2UgaXMgaW50ZWdyYXRlZCBhbmQgaG93IEkgbWlnaHQgY3VzdG9taXplIGl0LiBUaW1lIHRvIGdldCB0byB3b3JrLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1ODU5LCJPdXRwdXRUb2tlbnMiOjIxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDk6MDUuMDA0NjM4MjI0WiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMzczMDUwNDExLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBNVDc5MjVVXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWc9Nz1jb25maWcgTVQ3OTI1RVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZy0xOC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnOjE5OmNvbmZpZyBNVDc5MjVVXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZy0yMC1cXHR0cmlzdGF0ZSBcXFwiTWVkaWFUZWsgTVQ3OTI1VSAoVVNCKSBzdXBwb3J0XFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo0OTowNy4zNzc2OTUyNTVaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzA0NjM4MzA4MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRob3VnaHQgcHJvY2Vzcywgc3VtbWFyaXplZCBhcyB5b3UgcmVxdWVzdGVkOlxuXG4qKkFzc2Vzc2luZyBEZXBlbmRlbmNpZXM6IE1UNzkyMVUgYW5kIE1UNzkyNVUqKlxuXG5Pa2F5LCBzbyBJIG5lZWQgdG8gcXVpY2tseSBnZXQgYSBoYW5kbGUgb24gdGhlIHN1cHBvcnQgc3RydWN0dXJlcywgdGhlIG5lY2Vzc2FyeSBoYXJkd2FyZSBhbmQgc29mdHdhcmUgcmVsYXRpb25zaGlwcywgZm9yIGJvdGggdGhlIE1UNzkyMVUgYW5kIHRoZSBNVDc5MjVVLiBTcGVjaWZpY2FsbHksIEknbSB0aGlua2luZyBhYm91dCB0aGUgZGVwZW5kZW5jaWVzLiBXaGF0IGFyZSB0aGUga2V5IGVsZW1lbnRzIHRoZXNlIHdpcmVsZXNzIHNvbHV0aW9ucyByZWx5IG9uIHRvIGZ1bmN0aW9uIGNvcnJlY3RseT8gSSBuZWVkIHRvIHVuZGVyc3RhbmQgZXZlcnl0aGluZyBmcm9tIHRoZSBjaGlwc2V0cyBhbmQgZHJpdmVycyB0byBhbnkgZXh0ZXJuYWwgY29tcG9uZW50cywgbGlicmFyaWVzLCBvciBldmVuIHNwZWNpZmljIGZpcm13YXJlIHZlcnNpb25zIHRoYXQgYXJlIGNydWNpYWwgZm9yIG9wZXJhdGlvbi4gVGhpcyB3aWxsIGluZm9ybSBteSBuZXh0IHN0ZXBzLCB3aGV0aGVyIGl0IGlzIGZvciBkZXZlbG9wbWVudCwgdHJvdWJsZXNob290aW5nLCBvciBpbnRlZ3JhdGlvbi4gTGV0J3MgZGlnIGluIGFuZCBmaWd1cmUgb3V0IGV4YWN0bHkgd2hhdCB3ZSdyZSBkZWFsaW5nIHdpdGggaW4gdGVybXMgb2YgZGVwZW5kZW5jeSBtYW5hZ2VtZW50IGZvciB0aGVzZSB0d28uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjYyNDEsIk91dHB1dFRva2VucyI6NTksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo0OToxMC40MjQwODA0MjVaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYzOTMwNTIzLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBNVDc5MjFVfGNvbmZpZyBNVDc5MjVVfGRlcGVuZHMgb25cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnPTc9Y29uZmlnIE1UNzkyMUVcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWctOS1cXHRzZWxlY3QgTVQ3OTIxX0NPTU1PTlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWc6MTA6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWc6MTE6XFx0ZGVwZW5kcyBvbiBQQ0lcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTEyLVxcdGhlbHBcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWc9MTc9Y29uZmlnIE1UNzkyMVNcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWctMjAtXFx0c2VsZWN0IE1UNzkyMV9DT01NT05cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnOjIxOlxcdGRlcGVuZHMgb24gTUFDODAyMTFcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnOjIyOlxcdGRlcGVuZHMgb24gTU1DXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZy0yMy1cXHRoZWxwXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTI3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWc6Mjg6Y29uZmlnIE1UNzkyMVVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTI5LVxcdHRyaXN0YXRlIFxcXCJNZWRpYVRlayBNVDc5MjFVIChVU0IpIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTMxLVxcdHNlbGVjdCBNVDc5MjFfQ09NTU9OXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZzozMjpcXHRkZXBlbmRzIG9uIE1BQzgwMjExXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZzozMzpcXHRkZXBlbmRzIG9uIFVTQlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWctMzQtXFx0aGVscFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo0OToxMC40ODgwMTc0MDhaIiwiU2VxIjoxMywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzIyODIwODI0MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgbGV0J3MgZGl2ZSBpbnRvIHRoaXMuIEhlcmUncyBteSB0aG91Z2h0IHByb2Nlc3Mgb24gY2hlY2tpbmcgdGhvc2UgTVQ3OTI1VSBkZXBlbmRlbmNpZXMsIHN1bW1hcml6ZWQgaW4gdGhlIGZpcnN0IHBlcnNvbjpcblxuKipNVDc5MjVVIERlcGVuZGVuY2llczogQSBRdWljayBBc3Nlc3NtZW50KipcblxuQWxyaWdodCwgdGhlIGZpcnN0IHRoaW5nIEkgbmVlZCB0byBkbyBpcyBnZXQgYSBnb29kIGhhbmRsZSBvbiB0aGUgTVQ3OTI1VSdzIGRlcGVuZGVuY2llcy4gSSBjYW4ndCBqdXN0IGp1bXAgaW50byB0aGlzIHdpdGhvdXQga25vd2luZyB3aGF0IGVsc2UgdGhpcyB0aGluZyByZWxpZXMgb24uIEkgbmVlZCB0byBmaWd1cmUgb3V0IHdoYXQgZHJpdmVycywgZmlybXdhcmUsIGxpYnJhcmllcywgb3IgZXZlbiBvdGhlciBoYXJkd2FyZSBjb21wb25lbnRzIGl0IG5lZWRzIHRvIGZ1bmN0aW9uIHByb3Blcmx5LiBUaGlzIGlzIGNydWNpYWwgZm9yIHRyb3VibGVzaG9vdGluZywgZGVidWdnaW5nLCBhbmQsIG9mIGNvdXJzZSwgYW55IGtpbmQgb2YgaW50ZWdyYXRpb24gb3IgbW9kaWZpY2F0aW9uIEkgbWlnaHQgYmUgcGxhbm5pbmcgZG93biB0aGUgbGluZS4gSXQncyBhYm91dCBidWlsZGluZyBhIHJvYnVzdCB1bmRlcnN0YW5kaW5nIG9mIHRoZSB3aG9sZSBzeXN0ZW0gc28gdGhhdCBJIGRvbid0IG1pc3Mgc29tZXRoaW5nIGZ1bmRhbWVudGFsLiBMZXQncyBzZWUgd2hhdCB3ZSd2ZSBnb3QuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjcwNjMsIk91dHB1dFRva2VucyI6NTEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo0OToxMy43MTYyMjc4ODlaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjk4NTU2NDMwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBNVDc5MjVVfGRlcGVuZHMgb25cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnPTc9Y29uZmlnIE1UNzkyNUVcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWctOS1cXHRzZWxlY3QgTVQ3OTI1X0NPTU1PTlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWc6MTA6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWc6MTE6XFx0ZGVwZW5kcyBvbiBQQ0lcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnLTEyLVxcdGhlbHBcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWctMTgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZzoxOTpjb25maWcgTVQ3OTI1VVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWctMjAtXFx0dHJpc3RhdGUgXFxcIk1lZGlhVGVrIE1UNzkyNVUgKFVTQikgc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWctMjItXFx0c2VsZWN0IE1UNzkyNV9DT01NT05cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnOjIzOlxcdGRlcGVuZHMgb24gTUFDODAyMTFcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnOjI0OlxcdGRlcGVuZHMgb24gVVNCXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZy0yNS1cXHRoZWxwXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjEzLjgxNDc4OTYzOVoiLCJTZXEiOjE1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2ODU0OTA2ODExLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIFJlY2VudCBQYXRjaCBmb3IgTVQ3OTIxVS9NVDc5MjVVIERyaXZlcnMqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpbW1lZGlhdGVseSwgdGhlIGNvcmUgb2YgaXQgc2VlbXMgdG8gYmUgYWRkcmVzc2luZyBSQ1UgKFJlYWQtQ29weS1VcGRhdGUpIGlzc3VlcyB3aXRoaW4gdGhlIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBhbmQgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIGZ1bmN0aW9ucy4gVGhlc2UgZnVuY3Rpb25zIGhhbmRsZSBUWCBjb21wbGV0aW9uIGV2ZW50cywgd2hpY2ggaXMgY3JpdGljYWwgZm9yIG5ldHdvcmsgcGVyZm9ybWFuY2UsIGVzcGVjaWFsbHkgaW4gdGhlc2UgTWVkaWFUZWsgVVNCIFdpRmkgZGV2aWNlcy5cblxuRXNzZW50aWFsbHksIHRoZSBwYXRjaCBpcyBhZGRpbmcgYHJjdV9yZWFkX2xvY2soKWAgYW5kIGByY3VfcmVhZF91bmxvY2soKWAgY2FsbHMuIEl0J3MgYSBmdW5jdGlvbmFsIGZpeCBmb3IgYSBwb3RlbnRpYWwgUkNVIGhhemFyZC4gVGhlIGludGVyZXN0aW5nIHF1ZXN0aW9uIGlzLCBhcmUgdGhlc2UgZnVuY3Rpb25zIHJlYWNoYWJsZSB0aHJvdWdoIFVTQiBmdXp6aW5nPyBTaW5jZSB0aGV5J3JlIHRyaWdnZXJlZCBieSBUWCBjb21wbGV0aW9ucywgYW5kIHRob3NlIGNvdWxkIHJlc3VsdCBmcm9tIGVpdGhlciB1cyAqc2VuZGluZyogcGFja2V0cyBvdmVyIFVTQiAod2hpY2ggd291bGQgYmUgdGhlIGNvbW1vbiBjYXNlIGR1cmluZyBmdXp6aW5nKSwgb3IgdGhlIGRldmljZSBpdHNlbGYgc2VuZGluZyBjb21wbGV0aW9uIGV2ZW50cyAqYmFjayogdG8gdXMgb3ZlciBVU0IsIHRoZSBhbnN3ZXIgaXMgbGlrZWx5IHllcy5cblxuTm93LCBsZXQncyBzZWUuLi5pcyBgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAgc3RhdGljIG9yIGV4cG9ydGVkPyBBaCwgaXQncyAqZXhwb3J0ZWQqIHZpYSBgRVhQT1JUX1NZTUJPTF9HUEwobXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYilgLiBUaGF04oCZcyBhIGdvb2Qgc2lnbiDigJMgaXQncyBhY2Nlc3NpYmxlIGZyb20gb3RoZXIgbW9kdWxlcywgd2hpY2ggbWFrZXMgaXQgYSBzb2xpZCB0YXJnZXQuXG5cbkkgc2hvdWxkIGFsc28gY2hlY2sgaWYgYW55IHNwZWNpZmljIGNvbmZpZ3VyYXRpb25zIGFyZSBuZWVkZWQgZm9yIHRoaXMgdG8gYmUgYWN0aXZlLiBJJ2xsIG5lZWQgdG8gY29uZmlybSB0aGF0IGBNVDc2X0NPUkVgIGFuZCBgTVQ3Nl9VU0JgIGFyZSBlbmFibGVkIGFuZCBjaGVjayB0aGUgS2NvbmZpZyBmaWxlcyBmb3IgZGVwZW5kZW5jaWVzLCBzcGVjaWZpY2FsbHkgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZ2AuIFRoZXNlIGFyZSBwcmV0dHkgY29tbW9uLCBidXQgaXQncyBhIGdvb2QgcHJhY3RpY2UgdG8gdmVyaWZ5LlxuXG5cbiIsIklucHV0VG9rZW5zIjo3NzA3LCJPdXRwdXRUb2tlbnMiOjM5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzE3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjIwLjY2OTY5OTM5WiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2OTUzNDQ0MywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgTVQ3NlwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlLUNsZWFyXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnOjI6Y29uZmlnIE1UNzZfQ09SRVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0zLVxcdHRyaXN0YXRlXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctNS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWc6Njpjb25maWcgTVQ3Nl9MRURTXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTctXFx0Ym9vbFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTExLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZzoxMjpjb25maWcgTVQ3Nl9VU0JcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctMTMtXFx0dHJpc3RhdGVcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0xNS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWc6MTY6Y29uZmlnIE1UNzZfU0RJT1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0xNy1cXHR0cmlzdGF0ZVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTE5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZzoyMDpjb25maWcgTVQ3NngwMl9MSUJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctMjEtXFx0dHJpc3RhdGVcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0yMy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWc6MjQ6Y29uZmlnIE1UNzZ4MDJfVVNCXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTI1LVxcdHRyaXN0YXRlXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctMjctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnOjI4OmNvbmZpZyBNVDc2X0NPTk5BQ19MSUJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctMjktXFx0dHJpc3RhdGVcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZz0zNj1jb25maWcgTVQ3OTJ4X1VTQlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTM5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZzo0MDpjb25maWcgTVQ3Nl9OUFVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctNDEtXFx0dHJpc3RhdGVcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDk6MjAuNzM5MjM5NDIzWiIsIlNlcSI6MTcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjU4MTUwMjkzMDAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqS2VybmVsIENvbmZpZ3VyYXRpb24gRGVjaXNpb25zIGZvciBNZWRpYVRlayBXaXJlbGVzcyBEcml2ZXJzKipcblxuT2theSwgc28gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIHJpZ2h0IGtlcm5lbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoaXMgTWVkaWFUZWsgd2lyZWxlc3MgZHJpdmVyIHdvcmsuIEJhc2VkIG9uIHdoYXQgSSdtIHNlZWluZywgaXQgbG9va3MgbGlrZSBgTVQ3OTIxVWAgYW5kIGBNVDc5MjVVYCBhcmUgdGhlIGtleSBjb25maWdzIHRvIGVuYWJsZS4gQW5kLCBpZiB3ZSB3YW50IHRvIHBvdGVudGlhbGx5IGV4cGxvcmUgU0RJTy1iYXNlZCB0ZXN0aW5nLCBgTVQ3OTIxU2AgbWlnaHQgYmUgd29ydGh3aGlsZSwgYWx0aG91Z2ggc3l6a2FsbGVyIGRvZXNuJ3QgaGF2ZSB0aGUgZWFzaWVzdCB0aW1lIGZ1enppbmcgU0RJTyBjb21wYXJlZCB0byBVU0IuIFN0aWxsLCBpdCBjb3VsZCBiZSB1c2VmdWwsIHNvIGxldCdzIGRpZyBhIGJpdCBkZWVwZXIgaW50byB0aGF0LiBSaWdodCwgYE1UNzkyMVNgIGRlcGVuZHMgb24gYE1BQzgwMjExYCBhbmQgYE1NQ2AsIHNvIHRob3NlIGFyZSBwcmVyZXF1aXNpdGVzLlxuXG5TbyB0aGUgcHJpbWFyeSBvbmVzIGFyZSBnb2luZyB0byBiZSBgTVQ3OTIxVWAsIGBNVDc5MjVVYCwgYW5kIHBvdGVudGlhbGx5IGBNVDc5MjFTYC5cblxuV2FpdCwgaG9sZCBvbiBhIHNlY29uZC4uLiB0aGUgYWN0dWFsIGRyaXZlciBjb2RlIHVwZGF0ZXMgYXJlIGxvY2F0ZWQgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jYCBhbmQgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jYC4gIEhtbSwgdGhvc2UgZmlsZXMgYXJlIGNvbmRpdGlvbmFsbHkgY29tcGlsZWQgYmFzZWQgb24gYE1UNzkyMV9DT01NT05gIGFuZCBgTVQ3OTI1X0NPTU1PTmAuIE9rYXksIHRoYXQncyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIuIExldCdzIG1ha2Ugc3VyZSBJIGFjY291bnQgZm9yIHRoYXQgd2hlbiBidWlsZGluZyBvdXQgdGhlIHJlbGV2YW50IGRlcGVuZGVuY2llcy4gTm93IEkgc2hvdWxkIGNoZWNrIHRoZSBNYWtlZmlsZSBpbiBgZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvYCB0byBjb25maXJtLlxuXG5cbiIsIklucHV0VG9rZW5zIjo5MDk3LCJPdXRwdXRUb2tlbnMiOjQzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjI4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjI2LjU1NDI3MTY1M1oiLCJTZXEiOjE4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODA2Mzk0NjEsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibWFjXFxcXC5vXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlPTY9b2JqLSQoQ09ORklHX01UNzkyMVUpICs9IG10NzkyMXUub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlLTctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvTWFrZWZpbGU6ODptdDc5MjEtY29tbW9uLXkgOj0gbWFjLm8gbWN1Lm8gcmVnZC5vIG1haW4ubyBpbml0Lm8gZGVidWdmcy5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvTWFrZWZpbGUtOS1tdDc5MjEtY29tbW9uLSQoQ09ORklHX05MODAyMTFfVEVTVE1PREUpICs9IHRlc3Rtb2RlLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9NYWtlZmlsZToxMDptdDc5MjFlLXkgOj0gcGNpLm8gcGNpX21hYy5vIHBjaV9tY3Uub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlOjExOm10NzkyMXMteSA6PSBzZGlvLm8gc2Rpb19tYWMubyBzZGlvX21jdS5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvTWFrZWZpbGUtMTItbXQ3OTIxdS15IDo9IHVzYi5vXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjI2LjYzNDkyMDMwNFoiLCJTZXEiOjE5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0Mzg3MTA1NzAwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgS2VybmVsIENvbmZpZ3VyYXRpb24gRGVwZW5kZW5jaWVzKipcblxuT2theSwgc28gSSdtIGRpZ2dpbmcgaW50byB0aGlzIGtlcm5lbCBjb25maWd1cmF0aW9uLiBJdCBsb29rcyBsaWtlIGBtYWMub2AgaXMgZGlyZWN0bHkgYnVpbHQgYXMgcGFydCBvZiBgbXQ3OTIxLWNvbW1vbi15YCwgYnV0IHRoYXQncyBvbmx5IHdoZW4gYENPTkZJR19NVDc5MjFfQ09NTU9OYCBpcyBzZXQuIFJpZ2h0LCBzbyBgTVQ3OTIxX0NPTU1PTmAgaXRzZWxmIGlzICpzZWxlY3RlZCogYnkgYSBidW5jaCBvZiBvdGhlciBjb25maWdzOiBgTVQ3OTIxRWAsIGBNVDc5MjFTYCwgYW5kIGBNVDc5MjFVYC4gVGhhdCBzdWdnZXN0cyBhIHN0cmVhbWxpbmVkIGFwcHJvYWNoLiBJbnN0ZWFkIG9mIG1lc3Npbmcgd2l0aCBgTVQ3OTIxX0NPTU1PTmAgZGlyZWN0bHksIEkgY2FuIHByb2JhYmx5IGp1c3QgZW5hYmxlIGBNVDc5MjFVYCBhbmQsIHNpbmNlIHdlJ3JlIGRlYWxpbmcgd2l0aCBVU0IgZGV2aWNlcywgYE1UNzkyNVVgIHRvby4gVGhhdCBzaG91bGQgcHVsbCBpbiB0aGUgY29tbW9uIGNvbXBvbmVudHMgd2UgbmVlZC4gSSdsbCBuZWVkIHRvIGRvdWJsZSBjaGVjaywgYnV0IEknbSBnb2luZyB0byB3YW50IGBNQUM4MDIxMWAgYW5kIGBVU0JgIGVuYWJsZWQgYXMgd2VsbCwgd2hpY2ggbWFrZXMgc2Vuc2UuIEp1c3QgdG8gYmUgY29tcGxldGVseSBzdXJlLCBJIHNob3VsZCB2ZXJpZnkgd2hhdCBkZXBlbmRzIG9uIGBNVDc5MjVfQ09NTU9OYCBpbiB0aGUgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L01ha2VmaWxlYC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTAwMzgsIk91dHB1dFRva2VucyI6NDMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNTQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDk6MzEuMDIyMDI4MzQ0WiIsIlNlcSI6MjAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMDYzNTYwNzksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibWFjXFxcXC5vXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L01ha2VmaWxlXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L01ha2VmaWxlPTU9b2JqLSQoQ09ORklHX01UNzkyNVUpICs9IG10NzkyNXUub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L01ha2VmaWxlLTYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGU6NzptdDc5MjUtY29tbW9uLXkgOj0gbWFjLm8gbWN1Lm8gcmVnZC5vIG1haW4ubyBpbml0Lm8gZGVidWdmcy5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGUtOC1tdDc5MjUtY29tbW9uLSQoQ09ORklHX05MODAyMTFfVEVTVE1PREUpICs9IHRlc3Rtb2RlLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9NYWtlZmlsZTo5Om10NzkyNWUteSA6PSBwY2kubyBwY2lfbWFjLm8gcGNpX21jdS5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGUtMTAtbXQ3OTI1dS15IDo9IHVzYi5vXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjMxLjEyODM4ODI3M1oiLCJTZXEiOjIxLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2MTU0OTE1NDU0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgU3RyYXRlZ3kgZm9yIG10NzkyNS1jb21tb24teSBNb2R1bGUqKlxuXG5Pa2F5LCBzbyBsb29raW5nIGF0IHRoaXMsIGBtYWMub2AgaXMgZGVmaW5pdGVseSBwYXJ0IG9mIGBtdDc5MjUtY29tbW9uLXlgLCB3aGljaCBpcyBpbXBvcnRhbnQgZm9yIGNvbnRleHQuIEkgc2VlIHRoYXQgdGhlIGNoYW5nZXMgYXJlIGluIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBhbmQgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgLiBUaGVzZSBhcmUgY2xlYXJseSBmdW5jdGlvbmFsIGNoYW5nZXMsIHNwZWNpZmljYWxseSBhZGRpbmcgYW4gUkNVIHJlYWQgbG9jayBiZWZvcmUgZGVyZWZlcmVuY2luZyBSQ1UtcHJvdGVjdGVkIHBvaW50ZXJzLiBHb29kIGNhdGNoOyB0aGF0J3MgdGhlIGtpbmQgb2YgdGhpbmcgdGhhdCBjYW4gbGVhZCB0byBzdWJ0bGUgcmFjZSBjb25kaXRpb25zIHRoYXQgZnV6emluZyBjYW4gdW5jb3Zlci4gVGhlIGZhY3QgdGhhdCB0aGVzZSBhcmUgcmVhY2hhYmxlIHRocm91Z2ggVVNCIGZ1enppbmcgY29uZmlybXMgdGhhdCB0aGlzIGlzIHNvbWV0aGluZyB3ZSBzaG91bGQgcHJpb3JpdGl6ZS4gSSdtIGdvaW5nIHRvIHNldCBgV29ydGhGdXp6aW5nPXRydWVgIGZvciB0aGVzZS5cblxuTXkgZm9jdXMgc2hvdWxkIGJlIG9uIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBhbmQgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIOKAkyB0aG9zZSBhcmUgdGhlIGtleSBzeW1ib2xzIHRvIHRyYWNrLlxuXG5Gb3IgY29uZmlndXJhdGlvbnMsIEkgbmVlZCB0byBlbmFibGUgYE1UNzkyMVVgLCBgTVQ3OTI1VWAsIGBNQUM4MDIxMWAsIGFuZCBgVVNCYC4gVGhvc2UgYXJlIHRoZSByZWxldmFudCBkcml2ZXJzIGZvciBVU0IgZnVuY3Rpb25hbGl0eS5cblxuTm93LCBsZXQncyBqdXN0IG1ha2UgYSBxdWljayBjYWxsIGFib3V0IGBNVDc5MjFTYC4gSXQgZGVwZW5kcyBvbiBgTU1DYC4gU3l6a2FsbGVy4oCZcyBNTUMgZnV6emluZyBpc24ndCB0aGUgc3Ryb25nZXN0LCBidXQgdGhlcmUncyBwcm9iYWJseSBubyBoYXJtIGluIGhhdmluZyBpdCBlbmFibGVkIHRvbywgZXZlbiBpZiBpdCBhZGRzIG9ubHkgYSBsaXR0bGUgY292ZXJhZ2UuIEZvciBub3csIGl0IG1pZ2h0IGJlIG1vcmUgYmVuZWZpY2lhbCB0byBsZWF2ZSBvdXQgYE1UNzkyMVNgIGFuZCBrZWVwIHRoZSBmb2N1cy4gXG5cbkFscmlnaHQsIEknbGwgZ28gYWhlYWQgd2l0aCBqdXN0IGVuYWJsaW5nIGBNVDc5MjFVYCBhbmQgYE1UNzkyNVVgLiBUaGF0J3MgYSBnb29kIHN0YXJ0aW5nIHBvaW50LiBJIHNob3VsZCBhbHNvIGNoZWNrIGlmIGBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBpcyBleHBvcnRlZCB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgaGF2ZSB0byBhY2NvdW50IGZvciBhbnkgc3RyYW5nZSBpc3N1ZXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjEwNzY4LCJPdXRwdXRUb2tlbnMiOjM4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjkzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjM3LjI4MzMwNzM0N1oiLCJTZXEiOjIyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjYzNDYxNTM3NCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJFWFBPUlRfU1lNQk9MX0dQTFxcXFwobXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYlwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYz0xNDYzPXZvaWQgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYy0xNDg0LX1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYzoxNDg1OkVYUE9SVF9TWU1CT0xfR1BMKG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2IpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jLTE0ODYtXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjM5LjkxNzkyODIxMVoiLCJTZXEiOjIzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MDUxMDE2ODIzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkRlcGVuZGVuY3kgQW5hbHlzaXMgZm9yIE1UNzkyMVUgYW5kIE1UNzkyNVUqKlxuXG5SaWdodCwgb2theSwgc2VlbXMgbGlrZSB3ZSdyZSBnb29kIHRvIGdvIHRoZXJlLiBOb3csIGxldCdzIGp1c3QgbWFrZSBzdXJlIHRoZXJlIGFyZW4ndCBhbnkgc25lYWt5IGRlcGVuZGVuY2llcyBsdXJraW5nIGFyb3VuZCBmb3IgdGhvc2UgYE1UNzkyMVVgIGFuZCBgTVQ3OTI1VWAgZHJpdmVycy4gSG1tLCBpdCBsb29rcyBsaWtlIGJvdGggYE1UNzkyMVVgIGFuZCBgTVQ3OTI1VWAgcmVseSBvbiBgTUFDODAyMTFgIGFuZCwgb2YgY291cnNlLCB0aGUgYFVTQmAgc3RhY2suIE5vdywgdGhpbmtpbmcgYmFjaywgYE1BQzgwMjExYCBoYXMgaXRzIG93biBkZXBlbmRlbmN5IG9uIGBDRkc4MDIxMWAuIFNvLCB0byBhdm9pZCBhbnkgaGVhZGFjaGVzIGRvd24gdGhlIGxpbmUgYW5kIGVuc3VyZSBldmVyeXRoaW5nIGJ1aWxkcyBjb3JyZWN0bHksIGl0IHdvdWxkIHByb2JhYmx5IGJlIGEgZ29vZCBpZGVhIHRvIGFkZCBgQ0ZHODAyMTFgIHRvIHRoZSBtaXggYXMgd2VsbC4gSnVzdCB0byBiZSBjb21wbGV0ZWx5IHRob3JvdWdoLCBsZXQncyBxdWlja2x5IGRvdWJsZS1jaGVjayB0aGUgZGVwZW5kZW5jaWVzIG9mIGBNQUM4MDIxMWAgaXRzZWxmLCB0byBiZSBleHRyYSBzdXJlIHdlJ3JlIG5vdCBtaXNzaW5nIGFueXRoaW5nIG9idmlvdXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjExNzI2LCJPdXRwdXRUb2tlbnMiOjQxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTMzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjQzLjk2ODk0ODEzNVoiLCJTZXEiOjI0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NzEwNDE3ODMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIE1BQzgwMjExfGRlcGVuZHMgb25cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L21hYzgwMjExL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L21hYzgwMjExL0tjb25maWctMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyOmNvbmZpZyBNQUM4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTMtXFx0dHJpc3RhdGUgXFxcIkdlbmVyaWMgSUVFRSA4MDIuMTEgTmV0d29ya2luZyBTdGFjayAobWFjODAyMTEpXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQ6XFx0ZGVwZW5kcyBvbiBDRkc4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTUtXFx0c2VsZWN0IENSWVBUT1xcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWc9MTY9Y29tbWVudCBcXFwiQ0ZHODAyMTEgbmVlZHMgdG8gYmUgZW5hYmxlZCBmb3IgTUFDODAyMTFcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTc6XFx0ZGVwZW5kcyBvbiBDRkc4MDIxMT1uXFxubmV0L21hYzgwMjExL0tjb25maWctMTgtXFxubmV0L21hYzgwMjExL0tjb25maWc9MTk9aWYgTUFDODAyMTEgIT0gblxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIxOmNvbmZpZyBNQUM4MDIxMV9IQVNfUkNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMi1cXHRib29sXFxubmV0L21hYzgwMjExL0tjb25maWctMjMtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjQ6Y29uZmlnIE1BQzgwMjExX1JDX01JTlNUUkVMXFxubmV0L21hYzgwMjExL0tjb25maWctMjUtXFx0Ym9vbCBcXFwiTWluc3RyZWxcXFwiIGlmIEVYUEVSVFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWc9MzE9Y2hvaWNlXFxubmV0L21hYzgwMjExL0tjb25maWctMzItXFx0cHJvbXB0IFxcXCJEZWZhdWx0IHJhdGUgY29udHJvbCBhbGdvcml0aG1cXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MzM6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9IQVNfUkNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zNC1cXHRkZWZhdWx0IE1BQzgwMjExX1JDX0RFRkFVTFRfTUlOU1RSRUxcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQxOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUX01JTlNUUkVMXFxubmV0L21hYzgwMjExL0tjb25maWctNDItXFx0Ym9vbCBcXFwiTWluc3RyZWxcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6NDM6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9SQ19NSU5TVFJFTFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQ0LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnPTQ4PWVuZGNob2ljZVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQ5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjUwOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUXFxubmV0L21hYzgwMjExL0tjb25maWctNTEtXFx0c3RyaW5nXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZz01Nz1jb21tZW50IFxcXCJTb21lIHdpcmVsZXNzIGRyaXZlcnMgcmVxdWlyZSBhIHJhdGUgY29udHJvbCBhbGdvcml0aG1cXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6NTg6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMSBcXHUwMDI2XFx1MDAyNiBNQUM4MDIxMV9IQVNfUkM9blxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTU5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjYwOmNvbmZpZyBNQUM4MDIxMV9LVU5JVF9URVNUXFxubmV0L21hYzgwMjExL0tjb25maWctNjEtXFx0dHJpc3RhdGUgXFxcIktVbml0IHRlc3RzIGZvciBtYWM4MDIxMVxcXCIgaWYgIUtVTklUX0FMTF9URVNUU1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjYyOlxcdGRlcGVuZHMgb24gS1VOSVRcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo2MzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExXFxubmV0L21hYzgwMjExL0tjb25maWctNjQtXFx0ZGVmYXVsdCBLVU5JVF9BTExfVEVTVFNcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTY5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjcwOmNvbmZpZyBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctNzEtXFx0Ym9vbCBcXFwiRW5hYmxlIG1hYzgwMjExIG1lc2ggbmV0d29ya2luZyBzdXBwb3J0XFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjcyOlxcdGRlcGVuZHMgb24gTUFDODAyMTFcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy03My1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy03OC1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo3OTpjb25maWcgTUFDODAyMTFfTEVEU1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTgwLVxcdGJvb2wgXFxcIkVuYWJsZSBMRUQgdHJpZ2dlcnNcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6ODE6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjgyOlxcdGRlcGVuZHMgb24gTEVEU19DTEFTUz15IHx8IExFRFNfQ0xBU1M9TUFDODAyMTFcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy04My1cXHRzZWxlY3QgTEVEU19UUklHR0VSU1xcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctODctXFxubmV0L21hYzgwMjExL0tjb25maWc6ODg6Y29uZmlnIE1BQzgwMjExX0RFQlVHRlNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy04OS1cXHRib29sIFxcXCJFeHBvcnQgbWFjODAyMTEgaW50ZXJuYWxzIGluIERlYnVnRlNcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6OTA6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMSBcXHUwMDI2XFx1MDAyNiBDRkc4MDIxMV9ERUJVR0ZTXFxubmV0L21hYzgwMjExL0tjb25maWctOTEtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctOTYtXFxubmV0L21hYzgwMjExL0tjb25maWc6OTc6Y29uZmlnIE1BQzgwMjExX01FU1NBR0VfVFJBQ0lOR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTk4LVxcdGJvb2wgXFxcIlRyYWNlIGFsbCBtYWM4MDIxMSBkZWJ1ZyBtZXNzYWdlc1xcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5OTpcXHRkZXBlbmRzIG9uIE1BQzgwMjExIFxcdTAwMjZcXHUwMDI2IFRSQUNJTkdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMDAtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTA5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExMDptZW51Y29uZmlnIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTEtXFx0Ym9vbCBcXFwiU2VsZWN0IG1hYzgwMjExIGRlYnVnZ2luZyBmZWF0dXJlc1xcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTI6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTExMy1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTUtXFxubmV0L21hYzgwMjExL0tjb25maWc6MTE2OmNvbmZpZyBNQUM4MDIxMV9OT0lOTElORVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTExNy1cXHRib29sIFxcXCJEbyBub3QgaW5saW5lIFRYL1JYIGhhbmRsZXJzXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExODpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTktXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTMxLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjEzMjpjb25maWcgTUFDODAyMTFfVkVSQk9TRV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzMy1cXHRib29sIFxcXCJWZXJib3NlIGRlYnVnZ2luZyBvdXRwdXRcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTM0OlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzNS1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNDItXFxubmV0L21hYzgwMjExL0tjb25maWc6MTQzOmNvbmZpZyBNQUM4MDIxMV9NTE1FX0RFQlVHXFxubmV0L21hYzgwMjExL0tjb25maWctMTQ0LVxcdGJvb2wgXFxcIlZlcmJvc2UgbWFuYWdlZCBNTE1FIG91dHB1dFxcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxNDU6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXFxubmV0L21hYzgwMjExL0tjb25maWctMTQ2LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1My1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxNTQ6Y29uZmlnIE1BQzgwMjExX1NUQV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1NS1cXHRib29sIFxcXCJWZXJib3NlIHN0YXRpb24gZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE1NjpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNTctXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTYyLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2Mzpjb25maWcgTUFDODAyMTFfSFRfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNjQtXFx0Ym9vbCBcXFwiVmVyYm9zZSBIVCBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTY1OlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE2Ni1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzQtXFxubmV0L21hYzgwMjExL0tjb25maWc6MTc1OmNvbmZpZyBNQUM4MDIxMV9PQ0JfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzYtXFx0Ym9vbCBcXFwiVmVyYm9zZSBPQ0IgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE3NzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzgtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTg1LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE4Njpjb25maWcgTUFDODAyMTFfSUJTU19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE4Ny1cXHRib29sIFxcXCJWZXJib3NlIElCU1MgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE4ODpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xODktXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTk2LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5Nzpjb25maWcgTUFDODAyMTFfUFNfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xOTgtXFx0Ym9vbCBcXFwiVmVyYm9zZSBwb3dlcnNhdmUgbW9kZSBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTk5OlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIwMC1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMDgtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjA5OmNvbmZpZyBNQUM4MDIxMV9NUExfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMTAtXFx0Ym9vbCBcXFwiVmVyYm9zZSBtZXNoIHBlZXIgbGluayBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MjExOlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIxMjpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX01FU0hcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMTMtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjIxLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyMjpjb25maWcgTUFDODAyMTFfTVBBVEhfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMjMtXFx0Ym9vbCBcXFwiVmVyYm9zZSBtZXNoIHBhdGggZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyNDpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMjU6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctMjI2LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNC1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMzU6Y29uZmlnIE1BQzgwMjExX01IV01QX0RFQlVHXFxubmV0L21hYzgwMjExL0tjb25maWctMjM2LVxcdGJvb2wgXFxcIlZlcmJvc2UgbWVzaCBIV01QIHJvdXRpbmcgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIzNzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMzg6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctMjM5LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0Ny1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNDg6Y29uZmlnIE1BQzgwMjExX01FU0hfU1lOQ19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0OS1cXHRib29sIFxcXCJWZXJib3NlIG1lc2ggc3luY2hyb25pemF0aW9uIGRlYnVnZ2luZ1xcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNTA6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXFxubmV0L21hYzgwMjExL0tjb25maWc6MjUxOlxcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI1Mi1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNTgtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjU5OmNvbmZpZyBNQUM4MDIxMV9NRVNIX0NTQV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2MC1cXHRib29sIFxcXCJWZXJib3NlIG1lc2ggY2hhbm5lbCBzd2l0Y2ggZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI2MTpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNjI6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctMjYzLVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2OS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNzA6Y29uZmlnIE1BQzgwMjExX01FU0hfUFNfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNzEtXFx0Ym9vbCBcXFwiVmVyYm9zZSBtZXNoIHBvd2Vyc2F2ZSBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MjcyOlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI3MzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX01FU0hcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNzQtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjgwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MTpjb25maWcgTUFDODAyMTFfVERMU19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4Mi1cXHRib29sIFxcXCJWZXJib3NlIFRETFMgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODQtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjkyLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI5Mzpjb25maWcgTUFDODAyMTFfREVCVUdfQ09VTlRFUlNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yOTQtXFx0Ym9vbCBcXFwiRXh0cmEgc3RhdGlzdGljcyBmb3IgVFgvUlggZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI5NTpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyOTY6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR0ZTXFxubmV0L21hYzgwMjExL0tjb25maWctMjk3LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTMwNy1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzozMDg6Y29uZmlnIE1BQzgwMjExX1NUQV9IQVNIX01BWF9TSVpFXFxubmV0L21hYzgwMjExL0tjb25maWctMzA5LVxcdGludCBcXFwiU3RhdGlvbiBoYXNoIHRhYmxlIG1heGltdW0gc2l6ZVxcXCIgaWYgTUFDODAyMTFfREVCVUdfTUVOVVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo0OTo0NC4wMzk5OTQ1ODdaIiwiU2VxIjoyNSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDE4MjA1NDU1OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBhbiBleHBlcnQncyBpbnRlcm5hbCBtb25vbG9ndWU6XG5cbioqRGVwZW5kZW5jaWVzIGFuZCB0aGUgTUFDODAyMTEgTGF5ZXIqKlxuXG5BbHJpZ2h0LCBzbyBJJ20gZGlnZ2luZyBpbnRvIGBNQUM4MDIxMWAgYWdhaW4uIFJpZ2h0LCBgTUFDODAyMTFgIGFic29sdXRlbHkgZGVwZW5kcyBvbiBgQ0ZHODAyMTFgLiBUaGF0J3MgZnVuZGFtZW50YWwsIHdlIGtub3cgdGhhdC4gTGV0J3MgbWFrZSBzdXJlIG91ciB1bmRlcnN0YW5kaW5nIG9mIHRoYXQgcmVtYWlucyBzaGFycCBhbmQgdGhhdCBhbnkgd29yayBiZWluZyBkb25lIGRvd25zdHJlYW0gZG9lc24ndCBpbnRyb2R1Y2UgdW53YW50ZWQgZnJpY3Rpb24uIEkgbmVlZCB0byBxdWlja2x5IHJlZnJlc2ggbXlzZWxmIG9uIHRoZSBzcGVjaWZpY3Mgb2YgdGhvc2UgZGVwZW5kZW5jaWVzLiBMZXQgbWUgZ28gdGFrZSBhIGxvb2sgYXQgdGhlIGBDRkc4MDIxMWAgc2lkZSBvZiB0aGluZ3MgdG8gY29uZmlybSBldmVyeXRoaW5nIGlzIGFzIGl0IHNob3VsZCBiZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MTU5MjEsIk91dHB1dFRva2VucyI6MzcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozNiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo0OTo0OC4yMjIwNTEyODZaIiwiU2VxIjoyNiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjExMDY2MjU4OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQ0ZHODAyMTF8ZGVwZW5kcyBvblwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvd2lyZWxlc3MvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvd2lyZWxlc3MvS2NvbmZpZz01PWNvbmZpZyBXRVhUX0NPUkVcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy02LVxcdGRlZl9ib29sIHlcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzo3OlxcdGRlcGVuZHMgb24gQ0ZHODAyMTFfV0VYVCB8fCBXSVJFTEVTU19FWFRcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy04LVxcbm5ldC93aXJlbGVzcy9LY29uZmlnPTk9Y29uZmlnIFdFWFRfUFJPQ1xcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEwLVxcdGRlZl9ib29sIHlcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMTpcXHRkZXBlbmRzIG9uIFBST0NfRlNcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMjpcXHRkZXBlbmRzIG9uIFdFWFRfQ09SRVxcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEzLVxcbm5ldC93aXJlbGVzcy9LY29uZmlnPTE0PWNvbmZpZyBXRVhUX1BSSVZcXG4tLVxcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE2LVxcbm5ldC93aXJlbGVzcy9LY29uZmlnOjE3OmNvbmZpZyBDRkc4MDIxMVxcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE4LVxcdHRyaXN0YXRlIFxcXCJjZmc4MDIxMSAtIHdpcmVsZXNzIGNvbmZpZ3VyYXRpb24gQVBJXFxcIlxcbm5ldC93aXJlbGVzcy9LY29uZmlnOjE5OlxcdGRlcGVuZHMgb24gUkZLSUxMIHx8ICFSRktJTExcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0yMC1cXHRzZWxlY3QgRldfTE9BREVSXFxuLS1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZz0zOD1jb25maWcgTkw4MDIxMV9URVNUTU9ERVxcbi0tXFxubmV0L3dpcmVsZXNzL0tjb25maWctNTEtXFxubmV0L3dpcmVsZXNzL0tjb25maWc6NTI6Y29uZmlnIENGRzgwMjExX0RFVkVMT1BFUl9XQVJOSU5HU1xcbm5ldC93aXJlbGVzcy9LY29uZmlnLTUzLVxcdGJvb2wgXFxcImVuYWJsZSBkZXZlbG9wZXIgd2FybmluZ3NcXFwiXFxuLS1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy02Ny1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzo2ODpjb25maWcgQ0ZHODAyMTFfQ0VSVElGSUNBVElPTl9PTlVTXFxubmV0L3dpcmVsZXNzL0tjb25maWctNjktXFx0Ym9vbCBcXFwiY2ZnODAyMTEgY2VydGlmaWNhdGlvbiBvbnVzXFxcIlxcbm5ldC93aXJlbGVzcy9LY29uZmlnOjcwOlxcdGRlcGVuZHMgb24gRVhQRVJUXFxubmV0L3dpcmVsZXNzL0tjb25maWctNzEtXFx0ZGVmYXVsdCBuXFxuLS1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy04OC1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzo4OTpjb25maWcgQ0ZHODAyMTFfUkVRVUlSRV9TSUdORURfUkVHREJcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy05MC1cXHRib29sIFxcXCJyZXF1aXJlIHJlZ2RiIHNpZ25hdHVyZVxcXCIgaWYgQ0ZHODAyMTFfQ0VSVElGSUNBVElPTl9PTlVTXFxuLS1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy05OC1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzo5OTpjb25maWcgQ0ZHODAyMTFfVVNFX0tFUk5FTF9SRUdEQl9LRVlTXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTAwLVxcdGJvb2wgXFxcImFsbG93IHJlZ2RiIGtleXMgc2hpcHBlZCB3aXRoIHRoZSBrZXJuZWxcXFwiIGlmIENGRzgwMjExX0NFUlRJRklDQVRJT05fT05VU1xcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEwMS1cXHRkZWZhdWx0IHlcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMDI6XFx0ZGVwZW5kcyBvbiBDRkc4MDIxMV9SRVFVSVJFX1NJR05FRF9SRUdEQlxcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEwMy1cXHRoZWxwXFxuLS1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMTAtXFxubmV0L3dpcmVsZXNzL0tjb25maWc6MTExOmNvbmZpZyBDRkc4MDIxMV9FWFRSQV9SRUdEQl9LRVlESVJcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMTItXFx0c3RyaW5nIFxcXCJhZGRpdGlvbmFsIHJlZ2RiIGtleSBkaXJlY3RvcnlcXFwiIGlmIENGRzgwMjExX0NFUlRJRklDQVRJT05fT05VU1xcbm5ldC93aXJlbGVzcy9LY29uZmlnOjExMzpcXHRkZXBlbmRzIG9uIENGRzgwMjExX1JFUVVJUkVfU0lHTkVEX1JFR0RCXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTE0LVxcdGhlbHBcXG4tLVxcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEyMS1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMjI6Y29uZmlnIENGRzgwMjExX1JFR19DRUxMVUxBUl9ISU5UU1xcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEyMy1cXHRib29sIFxcXCJjZmc4MDIxMSByZWd1bGF0b3J5IHN1cHBvcnQgZm9yIGNlbGx1bGFyIGJhc2Ugc3RhdGlvbiBoaW50c1xcXCJcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMjQ6XFx0ZGVwZW5kcyBvbiBDRkc4MDIxMV9DRVJUSUZJQ0FUSU9OX09OVVNcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMjUtXFx0aGVscFxcbi0tXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTM0LVxcbm5ldC93aXJlbGVzcy9LY29uZmlnOjEzNTpjb25maWcgQ0ZHODAyMTFfUkVHX1JFTEFYX05PX0lSXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTM2LVxcdGJvb2wgXFxcImNmZzgwMjExIHN1cHBvcnQgZm9yIE5PX0lSIHJlbGF4YXRpb25cXFwiXFxubmV0L3dpcmVsZXNzL0tjb25maWc6MTM3OlxcdGRlcGVuZHMgb24gQ0ZHODAyMTFfQ0VSVElGSUNBVElPTl9PTlVTXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTM4LVxcdGhlbHBcXG4tLVxcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE1OC1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxNTk6Y29uZmlnIENGRzgwMjExX0RFRkFVTFRfUFNcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xNjAtXFx0Ym9vbCBcXFwiZW5hYmxlIHBvd2Vyc2F2ZSBieSBkZWZhdWx0XFxcIlxcbi0tXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTY4LVxcbm5ldC93aXJlbGVzcy9LY29uZmlnOjE2OTpjb25maWcgQ0ZHODAyMTFfREVCVUdGU1xcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE3MC1cXHRib29sIFxcXCJjZmc4MDIxMSBEZWJ1Z0ZTIGVudHJpZXNcXFwiXFxubmV0L3dpcmVsZXNzL0tjb25maWc6MTcxOlxcdGRlcGVuZHMgb24gREVCVUdfRlNcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xNzItXFx0aGVscFxcbi0tXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTc2LVxcbm5ldC93aXJlbGVzcy9LY29uZmlnOjE3Nzpjb25maWcgQ0ZHODAyMTFfQ1JEQV9TVVBQT1JUXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTc4LVxcdGJvb2wgXFxcInN1cHBvcnQgQ1JEQVxcXCIgaWYgRVhQRVJUXFxuLS1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xODYtXFxubmV0L3dpcmVsZXNzL0tjb25maWc6MTg3OmNvbmZpZyBDRkc4MDIxMV9XRVhUXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTg4LVxcdGJvb2wgXFxcImNmZzgwMjExIHdpcmVsZXNzIGV4dGVuc2lvbnMgY29tcGF0aWJpbGl0eVxcXCJcXG4tLVxcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE5My1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxOTQ6Y29uZmlnIENGRzgwMjExX0tVTklUX1RFU1RcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xOTUtXFx0dHJpc3RhdGUgXFxcIktVbml0IHRlc3RzIGZvciBjZmc4MDIxMVxcXCIgaWYgIUtVTklUX0FMTF9URVNUU1xcbm5ldC93aXJlbGVzcy9LY29uZmlnOjE5NjpcXHRkZXBlbmRzIG9uIEtVTklUXFxubmV0L3dpcmVsZXNzL0tjb25maWc6MTk3OlxcdGRlcGVuZHMgb24gQ0ZHODAyMTFcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xOTgtXFx0ZGVmYXVsdCBLVU5JVF9BTExfVEVTVFNcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDk6NDguMzMyNzE4MDI0WiIsIlNlcSI6MjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjExNTY3OTUzMTI4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIFdpcmVsZXNzIERyaXZlciBGaXggZm9yIEZ1enppbmcqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBhIHBvdGVudGlhbCBmdXp6aW5nIHRhcmdldC4gSXQgbG9va3MgbGlrZSB0aGUgYENGRzgwMjExYCBjb3JlIGRvZXNuJ3QgaGF2ZSBhbnkgc3BlY2lmaWMgZGVwZW5kZW5jaWVzIGJleW9uZCB0aGUgYFJGS0lMTGAgbW9kdWxlLCBvciBub3QgYFJGS0lMTGAgd2hpY2ggaXMgZ29vZCB0byBrbm93LiBTbywgdG8gZW5zdXJlIHRoaXMgY29kZSBpcyBpbmNsdWRlZCBpbiB0aGUgc3l6a2FsbGVyIGNvbmZpZ3VyYXRpb24sIEkgbmVlZCB0byBtYWtlIHN1cmUgdGhlc2UgY29uZmlncyBhcmUgc2V0OiBgTVQ3OTIxVWAsIGBNVDc5MjVVYCwgYE1BQzgwMjExYCwgYENGRzgwMjExYC4gSSBzaG91bGQgYWxzbyBtYWtlIHN1cmUgYFVTQmAgaXMgZW5hYmxlZCwgZXZlbiB0aG91Z2ggaXQncyBsaWtlbHkgYWxyZWFkeSBpbiB0aGUgc3RhbmRhcmQgY29uZmlncy4gQWN0dWFsbHksIGhvbGQgb24sIGBNVDc5MjFVYCBkb2VzIGhhdmUgZGVwZW5kZW5jaWVzIG9uIGBNQUM4MDIxMWAgYW5kIGBVU0JgLCBzbyBsZXQncyBqdXN0IG1ha2UgdGhlIGxpc3QgbW9yZSBleHBsaWNpdDogYE1UNzkyMVVgLCBgTVQ3OTI1VWAsIGBNQUM4MDIxMWAsIGBDRkc4MDIxMWAuXG5cblRoZSBmb2N1cyBzeW1ib2xzIGhlcmUgYXJlIGdvaW5nIHRvIGJlIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBhbmQgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgLiBJIHNob3VsZCBxdWlja2x5IGRvdWJsZS1jaGVjayB0aGUgZGlmZiBmb3IgYW55IG90aGVyIG1vZGlmaWVkIGZ1bmN0aW9ucy4gQWhhLCBoZXJlJ3MgdGhlIGNvZGU6XG5cbmBgYGRpZmZcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuY1xuQEAgLTgyOCwxMSArODI4LDE0IEBAIHZvaWQgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXG4gXHR1MTYgaWR4O1xuIFxuIFx0aWR4ID0gbGUzMl9nZXRfYml0cyh0eHdpWzFdLCBNVF9UWEQxX1dMQU5fSURYKTtcbitcbitcdHJjdV9yZWFkX2xvY2soKTtcbiBcdHdjaWQgPSBfX210NzZfd2NpZF9wdHIobWRldiwgaWR4KTtcbiBcdHN0YSA9IHdjaWRfdG9fc3RhKHdjaWQpO1xuIFxuIFx0aWYgKHN0YSBcdTAwMjZcdTAwMjYgbGlrZWx5KGUtXHUwMDNlc2tiLVx1MDAzZXByb3RvY29sICE9IGNwdV90b19iZTE2KEVUSF9QX1BBRSkpKVxuIFx0XHRtdDc2X2Nvbm5hYzJfdHhfY2hlY2tfYWdncihzdGEsIHR4d2kpO1xuK1x0cmN1X3JlYWRfdW5sb2NrKCk7XG4gXG4gXHRza2JfcHVsbChlLVx1MDAzZXNrYiwgaGVhZHJvb20pO1xuIFx0bXQ3Nl90eF9jb21wbGV0ZV9za2IobWRldiwgZS1cdTAwM2V3Y2lkLCBlLVx1MDAzZXNrYik7XG5gYGBcblxuQW5kIGl0J3MgYSB2ZXJ5IHNpbWlsYXIgbW9kaWZpY2F0aW9uIGZvciBgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAuIFRoZSBwYXRjaCBhZGRyZXNzZXMgYW4gUkNVIHJlYWQgbG9jayBpc3N1ZSBpbiB0aGUgVFggY29tcGxldGlvbiBoYW5kbGVycyBmb3IgdGhlIE1lZGlhdGVrIE1UNzkyMSBhbmQgTVQ3OTI1IFVTQi9TRElPIHdpcmVsZXNzIGRyaXZlcnMuIFRoZXNlIGRyaXZlcnMgYXJlIHJlYWNoYWJsZSB0aHJvdWdoIFVTQiB1c2luZyBhIGBkdW1teV9oY2RgLCB3aGljaCBpcyBncmVhdCBmb3IgZnV6emluZy5cblxuSSB3b25kZXIgaWYgYG10NzZfY29ubmFjMl90eF9jaGVja19hZ2dyYCBvciBgbXQ3OTI1X3R4X2NoZWNrX2FnZ3JgIHdvdWxkIGFsc28gYmUgZ29vZCBmb2N1cyBzeW1ib2xzPyBXZWxsLCB0aGV5J3JlIGNhbGxlZCB3aXRoaW4gdGhlIG1vZGlmaWVkIGJsb2NrLCBidXQgdGhlIG1vZGlmaWNhdGlvbnMgYXJlICppbiogYG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIGFuZCBgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAsIHNvIGZvY3VzaW5nIG9uIHRob3NlIGB0eF9jb21wbGV0ZV9za2JgIGZ1bmN0aW9ucyBkaXJlY3RseSBtYWtlcyBtb3JlIHNlbnNlIHRvIG1lLlxuXG5JIHdpbGwgbmVlZCB0byB2ZXJpZnkgaWYgYG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIGFuZCBgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAgYXJlIHdvcmtpbmcgYXMgZXhwZWN0ZWQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE3NTUxLCJPdXRwdXRUb2tlbnMiOjMyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6Nzc2LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjU5LjkwMDY3NDM0M1oiLCJTZXEiOjI4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjUxNTkxNjEyNiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ2b2lkIG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmM9ODE5PUVYUE9SVF9TWU1CT0xfR1BMKG10NzkyMV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmMtODIwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jOjgyMTp2b2lkIG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jLTgyMi1cXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBtdDc2X3F1ZXVlX2VudHJ5ICplKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbXQ3OTIxLmg9MzI4PWludCBtdDc5MjFfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LCB2b2lkICp0eHdpX3B0cixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL210NzkyMS5oLTMzMS1cXHRcXHRcXHRcXHQgICBzdHJ1Y3QgbXQ3Nl90eF9pbmZvICp0eF9pbmZvKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tdDc5MjEuaDozMzI6dm9pZCBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tdDc5MjEuaC0zMzMtXFx0XFx0XFx0XFx0ICAgICBzdHJ1Y3QgbXQ3Nl9xdWV1ZV9lbnRyeSAqZSk7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjUwOjAyLjQxNjU5NTMwOVoiLCJTZXEiOjI5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozOTg2NTYzNDgyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2UsIGFuZCByZW5kZXJlZCBpbiB0aGUgZmlyc3QgcGVyc29uOlxuXG4qKkFzc2Vzc21lbnQgYW5kIENsb3N1cmUqKlxuXG5SaWdodCwgaW5pdGlhbCByZXZpZXcgY29tcGxldGUuIEFsbCB0aGUgZGF0YSBwb2ludHMgYWxpZ24gYXMgZXhwZWN0ZWQ7IHRoZSBtZXRob2RvbG9neSBob2xkcyB0cnVlLCBhbmQgdGhlIG91dHB1dHMgYXJlIHdpdGhpbiB0aGUgZXN0YWJsaXNoZWQgcGFyYW1ldGVycy4gTm90aGluZydzIGZsYWdnZWQgYW55IHJlZCBmbGFncywgYW5kIGFsbCBkZXBlbmRlbmNpZXMgc2VlbSB0byBiZSByZXNvbHZpbmcgcHJvcGVybHkuIE5vdywgdGhlIG5leHQgc3RlcCBpcyBzdHJhaWdodGZvcndhcmQ6IEl0J3MgdGltZSB0byBzZXQgdGhlIHJlc3VsdHMuIE5vIGZ1cnRoZXIgY2F2ZWF0cyBvciBxdWFsaWZpY2F0aW9ucyBhcmUgbmVlZGVkIGF0IHRoaXMgc3RhZ2UsIHRoZSBjb25jbHVzaW9uIGlzIGNsZWFyLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxOTYyNywiT3V0cHV0VG9rZW5zIjoxNTgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo1MDowNi40MDMxNjIzN1oiLCJTZXEiOjMwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEyOTk4MzkyNiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTVQ3OTIxVVwiLFxuICAgIFwiTVQ3OTI1VVwiLFxuICAgIFwiTUFDODAyMTFcIixcbiAgICBcIkNGRzgwMjExXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYlwiLFxuICAgIFwibXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYlwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGFuIFJDVSByZWFkIGxvY2sgaXNzdWUgaW4gdGhlIFRYIGNvbXBsZXRpb24gaGFuZGxlcnMgb2YgdGhlIE1lZGlhdGVrIE1UNzkyMSBhbmQgTVQ3OTI1IFVTQi9TRElPIHdpcmVsZXNzIGRyaXZlcnMuIFRoZXNlIGRyaXZlcnMgY2FuIGJlIGZ1enplZCB2aWEgVVNCIHVzaW5nIGR1bW15X2hjZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJNVDc5MjFVXCIsXG4gICAgXCJNVDc5MjVVXCIsXG4gICAgXCJNQUM4MDIxMVwiLFxuICAgIFwiQ0ZHODAyMTFcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiXCIsXG4gICAgXCJtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYW4gUkNVIHJlYWQgbG9jayBpc3N1ZSBpbiB0aGUgVFggY29tcGxldGlvbiBoYW5kbGVycyBvZiB0aGUgTWVkaWF0ZWsgTVQ3OTIxIGFuZCBNVDc5MjUgVVNCL1NESU8gd2lyZWxlc3MgZHJpdmVycy4gVGhlc2UgZHJpdmVycyBjYW4gYmUgZnV6emVkIHZpYSBVU0IgdXNpbmcgZHVtbXlfaGNkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowr2mfw[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-05 21:30:23 +0000 UTC FinishedAt: 2026-08-05 21:50:08 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "wireless-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git", "commit_hash": "ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "MT7921U", "MT7925U", "MAC80211", "CFG80211" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "wireless-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git", "commit_hash": "ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "MT7921U", "MT7925U", "MAC80211", "CFG80211" ], "series_id": "9ee0576e-0bd8-4b1f-9c17-ea44de13248e" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "mt7921_usb_sdio_tx_complete_skb", "mt7925_usb_sdio_tx_complete_skb" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O01UNzkyMVUmIzM0OywKICAgICYjMzQ7TVQ3OTI1VSYjMzQ7LAogICAgJiMzNDtNQUM4MDIxMSYjMzQ7LAogICAgJiMzNDtDRkc4MDIxMSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O210NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2ImIzM0OywKICAgICYjMzQ7bXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYiYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhbiBSQ1UgcmVhZCBsb2NrIGlzc3VlIGluIHRoZSBUWCBjb21wbGV0aW9uIGhhbmRsZXJzIG9mIHRoZSBNZWRpYXRlayBNVDc5MjEgYW5kIE1UNzkyNSBVU0IvU0RJTyB3aXJlbGVzcyBkcml2ZXJzLiBUaGVzZSBkcml2ZXJzIGNhbiBiZSBmdXp6ZWQgdmlhIFVTQiB1c2luZyBkdW1teV9oY2QuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDg8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCAwZGNkNDNjZmFjZGI4ODU0YTk2YjVmOGE0MWE5MGJlOWZjY2U0OWY3XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBBdWcgNSAyMTo0ODozOSAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jXG5pbmRleCBmN2Q1NDQ3MmRhMWIxLi42NjFhNTRlNmM3NjM3IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jXG5AQCAtODI4LDExICYjNDM7ODI4LDE0IEBAIHZvaWQgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXG4gXHR1MTYgaWR4O1xuIFxuIFx0aWR4ID0gbGUzMl9nZXRfYml0cyh0eHdpWzFdLCBNVF9UWEQxX1dMQU5fSURYKTtcbiYjNDM7XG4mIzQzO1x0cmN1X3JlYWRfbG9jaygpO1xuIFx0d2NpZCA9IF9fbXQ3Nl93Y2lkX3B0cihtZGV2LCBpZHgpO1xuIFx0c3RhID0gd2NpZF90b19zdGEod2NpZCk7XG4gXG4gXHRpZiAoc3RhIFx1MDAyNlx1MDAyNiBsaWtlbHkoZS1cdTAwM2Vza2ItXHUwMDNlcHJvdG9jb2wgIT0gY3B1X3RvX2JlMTYoRVRIX1BfUEFFKSkpXG4gXHRcdG10NzZfY29ubmFjMl90eF9jaGVja19hZ2dyKHN0YSwgdHh3aSk7XG4mIzQzO1x0cmN1X3JlYWRfdW5sb2NrKCk7XG4gXG4gXHRza2JfcHVsbChlLVx1MDAzZXNrYiwgaGVhZHJvb20pO1xuIFx0bXQ3Nl90eF9jb21wbGV0ZV9za2IobWRldiwgZS1cdTAwM2V3Y2lkLCBlLVx1MDAzZXNrYik7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuY1xuaW5kZXggNmIwY2QxOTk2ZWNiMy4uMjBlMDkxOWQyN2Y4ZCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuY1xuQEAgLTE0NzAsMTEgJiM0MzsxNDcwLDE0IEBAIHZvaWQgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXG4gXHR1MTYgaWR4O1xuIFxuIFx0aWR4ID0gbGUzMl9nZXRfYml0cyh0eHdpWzFdLCBNVF9UWEQxX1dMQU5fSURYKTtcbiYjNDM7XG4mIzQzO1x0cmN1X3JlYWRfbG9jaygpO1xuIFx0d2NpZCA9IF9fbXQ3Nl93Y2lkX3B0cihtZGV2LCBpZHgpO1xuIFx0c3RhID0gd2NpZF90b19zdGEod2NpZCk7XG4gXG4gXHRpZiAoc3RhIFx1MDAyNlx1MDAyNiBsaWtlbHkoZS1cdTAwM2Vza2ItXHUwMDNlcHJvdG9jb2wgIT0gY3B1X3RvX2JlMTYoRVRIX1BfUEFFKSkpXG4gXHRcdG10NzkyNV90eF9jaGVja19hZ2dyKHN0YSwgZS1cdTAwM2Vza2IsIHdjaWQpO1xuJiM0MztcdHJjdV9yZWFkX3VubG9jaygpO1xuIFxuIFx0c2tiX3B1bGwoZS1cdTAwM2Vza2IsIGhlYWRyb29tKTtcbiBcdG10NzZfdHhfY29tcGxldGVfc2tiKG1kZXYsIGUtXHUwMDNld2NpZCwgZS1cdTAwM2Vza2IpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ4PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjFtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtNVDc5MjFVJiMzNDssCiAgICAmIzM0O01UNzkyNVUmIzM0OywKICAgICYjMzQ7TUFDODAyMTEmIzM0OywKICAgICYjMzQ7Q0ZHODAyMTEmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDttdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiJiMzNDssCiAgICAmIzM0O210NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2ImIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYW4gUkNVIHJlYWQgbG9jayBpc3N1ZSBpbiB0aGUgVFggY29tcGxldGlvbiBoYW5kbGVycyBvZiB0aGUgTWVkaWF0ZWsgTVQ3OTIxIGFuZCBNVDc5MjUgVVNCL1NESU8gd2lyZWxlc3MgZHJpdmVycy4gVGhlc2UgZHJpdmVycyBjYW4gYmUgZnV6emVkIHZpYSBVU0IgdXNpbmcgZHVtbXlfaGNkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgMGRjZDQzY2ZhY2RiODg1NGE5NmI1ZjhhNDFhOTBiZTlmY2NlNDlmNwpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgQXVnIDUgMjE6NDg6MzkgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jCmluZGV4IGY3ZDU0NDcyZGExYjEuLjY2MWE1NGU2Yzc2MzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jCkBAIC04MjgsMTEgJiM0Mzs4MjgsMTQgQEAgdm9pZCBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldiwKIAl1MTYgaWR4OwogCiAJaWR4ID0gbGUzMl9nZXRfYml0cyh0eHdpWzFdLCBNVF9UWEQxX1dMQU5fSURYKTsKJiM0MzsKJiM0MzsJcmN1X3JlYWRfbG9jaygpOwogCXdjaWQgPSBfX210NzZfd2NpZF9wdHIobWRldiwgaWR4KTsKIAlzdGEgPSB3Y2lkX3RvX3N0YSh3Y2lkKTsKIAogCWlmIChzdGEgJmFtcDsmYW1wOyBsaWtlbHkoZS0mZ3Q7c2tiLSZndDtwcm90b2NvbCAhPSBjcHVfdG9fYmUxNihFVEhfUF9QQUUpKSkKIAkJbXQ3Nl9jb25uYWMyX3R4X2NoZWNrX2FnZ3Ioc3RhLCB0eHdpKTsKJiM0MzsJcmN1X3JlYWRfdW5sb2NrKCk7CiAKIAlza2JfcHVsbChlLSZndDtza2IsIGhlYWRyb29tKTsKIAltdDc2X3R4X2NvbXBsZXRlX3NrYihtZGV2LCBlLSZndDt3Y2lkLCBlLSZndDtza2IpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYwppbmRleCA2YjBjZDE5OTZlY2IzLi4yMGUwOTE5ZDI3ZjhkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYwpAQCAtMTQ3MCwxMSAmIzQzOzE0NzAsMTQgQEAgdm9pZCBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldiwKIAl1MTYgaWR4OwogCiAJaWR4ID0gbGUzMl9nZXRfYml0cyh0eHdpWzFdLCBNVF9UWEQxX1dMQU5fSURYKTsKJiM0MzsKJiM0MzsJcmN1X3JlYWRfbG9jaygpOwogCXdjaWQgPSBfX210NzZfd2NpZF9wdHIobWRldiwgaWR4KTsKIAlzdGEgPSB3Y2lkX3RvX3N0YSh3Y2lkKTsKIAogCWlmIChzdGEgJmFtcDsmYW1wOyBsaWtlbHkoZS0mZ3Q7c2tiLSZndDtwcm90b2NvbCAhPSBjcHVfdG9fYmUxNihFVEhfUF9QQUUpKSkKIAkJbXQ3OTI1X3R4X2NoZWNrX2FnZ3Ioc3RhLCBlLSZndDtza2IsIHdjaWQpOwomIzQzOwlyY3VfcmVhZF91bmxvY2soKTsKIAogCXNrYl9wdWxsKGUtJmd0O3NrYiwgaGVhZHJvb20pOwogCW10NzZfdHhfY29tcGxldGVfc2tiKG1kZXYsIGUtJmd0O3djaWQsIGUtJmd0O3NrYik7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI2MTEKCQkJCQkJCW91dHB1dDogMzEKCQkJCQkJCXRob3VnaHRzOiAzNzMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgTWVkaWF0ZWsgV2lyZWxlc3MgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCBhIHBhdGNoIHRoYXQmIzM5O3MgdG91Y2hpbmcgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jYCBhbmQgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jYC4gVGhlIGNoYW5nZXMgaW52b2x2ZSBhZGRpbmcgYHJjdV9yZWFkX2xvY2soKWAgYW5kIGByY3VfcmVhZF91bmxvY2soKWAgYXJvdW5kIGNhbGxzIHRvIGBfX210NzZfd2NpZF9wdHIobWRldiwgaWR4KWAsIGB3Y2lkX3RvX3N0YSh3Y2lkKWAsIGFuZCBmdW5jdGlvbnMgbGlrZSBgbXQ3Nl9jb25uYWMyX3R4X2NoZWNrX2FnZ3Ioc3RhLCB0eHdpKWAgYW5kIGBtdDc5MjVfdHhfY2hlY2tfYWdncihzdGEsIGUtJmd0O3NrYiwgd2NpZClgLiBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcywgd2hhdCYjMzk7cyB0aGUgY29udGV4dCBoZXJlLCBhbmQgYXJlIHRoZXJlIHNlY3VyaXR5IGltcGxpY2F0aW9ucz8KClRoZXNlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIHdpdGhpbiBgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAgYW5kIGBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCwgd2hpY2ggaW5kaWNhdGVzIHRoaXMgaXMgcmVsYXRlZCB0byBNZWRpYXRlayBNVDc5MjEgYW5kIE1UNzkyNSBkcml2ZXJzLiBOb3csIE1UNzkyMSBhbmQgTVQ3OTI1IGFyZSB3aXJlbGVzcyBkcml2ZXJzLCBzcGVjaWZpY2FsbHkuIE15IGFudGVubmEgZ29lcyB1cCBpbW1lZGlhdGVseSDigJMgd2lyZWxlc3MgZHJpdmVycyBhcmUgb2Z0ZW4gYSBwcmltZSB0YXJnZXQgZm9yIGZ1enppbmcuIElmIHRoZXkgYXJlIFVTQiBvciBTRElPIGJhc2VkLCBvciBldmVuIG1hYzgwMjExX2h3c2ltLCB0aGV5JiMzOTtyZSBvZnRlbiBtb3JlIHN1c2NlcHRpYmxlIGFuZCBleHBsb2l0YWJsZS4KClRoZSBuYW1pbmcgb2YgdGhlIGZ1bmN0aW9ucywgYCpfdXNiX3NkaW9fKmAsIGlzIGEgc3Ryb25nIGhpbnQuIFRoaXMgbWVhbnMgVVNCIG9yIFNESU8uIElmIHRoZXkgYXJlIGZvciBVU0IgZGV2aWNlcywgdGhhdCBvcGVucyB0aGUgcG9zc2liaWxpdHkgb2YgbGV2ZXJhZ2luZyBkdW1teV9oY2Qgb3Igc3l6a2FsbGVyJiMzOTtzIFVTQiBmdXp6aW5nIGNhcGFiaWxpdGllcyB0byBwb2tlIGF0IHRoZW0uIE15IG5leHQgc3RlcCBpcyB0byBxdWlja2x5IGNoZWNrIGlmIE1UNzkyMVUgYW5kIE1UNzkyNVUgYXJlIGFjdHVhbGx5IFVTQiBkcml2ZXJzIGFuZCBpZiB0aGV5IGNhbiBiZSBlbmFibGVkLiBJIG5lZWQgdG8gY29uZmlybSB0aGlzIGlzIGEgZnV6emFibGUgdGFyZ2V0LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O210NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2ImIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmM9ODE5PUVYUE9SVF9TWU1CT0xfR1BMKG10NzkyMV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYy04MjAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYzo4MjE6dm9pZCBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jLTgyMi1cdFx0XHRcdCAgICAgc3RydWN0IG10NzZfcXVldWVfZW50cnkgKmUpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmMtODQyLX1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jOjg0MzpFWFBPUlRfU1lNQk9MX0dQTChtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jLTg0NC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tdDc5MjEuaD0zMjg9aW50IG10NzkyMV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsIHZvaWQgKnR4d2lfcHRyLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL210NzkyMS5oLTMzMS1cdFx0XHRcdCAgIHN0cnVjdCBtdDc2X3R4X2luZm8gKnR4X2luZm8pO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbXQ3OTIxLmg6MzMyOnZvaWQgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tdDc5MjEuaC0zMzMtXHRcdFx0XHQgICAgIHN0cnVjdCBtdDc2X3F1ZXVlX2VudHJ5ICplKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9zZGlvLmM9OTA9c3RhdGljIGludCBtdDc5MjFzX3Byb2JlKHN0cnVjdCBzZGlvX2Z1bmMgKmZ1bmMsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvc2Rpby5jLTk5LVx0XHQudHhfcHJlcGFyZV9za2IgPSBtdDc5MjFfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2IsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9zZGlvLmM6MTAwOlx0XHQudHhfY29tcGxldGVfc2tiID0gbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL3NkaW8uYy0xMDEtXHRcdC50eF9zdGF0dXNfZGF0YSA9IG10NzkyMV91c2Jfc2Rpb190eF9zdGF0dXNfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS91c2IuYz0xNTA9c3RhdGljIGludCBtdDc5MjF1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICp1c2JfaW50Zixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS91c2IuYy0xNjAtXHRcdC50eF9wcmVwYXJlX3NrYiA9IG10NzkyMV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL3VzYi5jOjE2MTpcdFx0LnR4X2NvbXBsZXRlX3NrYiA9IG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2IsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS91c2IuYy0xNjItXHRcdC50eF9zdGF0dXNfZGF0YSA9IG10NzkyMV91c2Jfc2Rpb190eF9zdGF0dXNfZGF0YSxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0NDA0CgkJCQkJCQlvdXRwdXQ6IDMxCgkJCQkJCQl0aG91Z2h0czogNzgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0czoKCioqQW5hbHl6aW5nIHRoZSBtdDc5MjEgRHJpdmVyJiMzOTtzIFRYIENvbXBsZXRpb24gSGFuZGxlcnMqKgoKT2theSwgc28gSSYjMzk7bSBkaWdnaW5nIGludG8gdGhlIE1lZGlhdGVrIE1UNzkyMSBkcml2ZXIgY29kZSwgc3BlY2lmaWNhbGx5IHRoZSBVU0IgYW5kIFNESU8gdmFyaWFudHMuIEkgc2VlIHRoYXQgdGhlIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBmdW5jdGlvbiBpcyBiZWluZyB1c2VkIGluIGJvdGggdGhlIFVTQiBwcm9iZSBmdW5jdGlvbiAoYG10NzkyMXVfcHJvYmVgKSBhbmQgdGhlIFNESU8gcHJvYmUgZnVuY3Rpb24gKGBtdDc5MjFzX3Byb2JlYCkuIFRoYXQmIzM5O3MgaW50ZXJlc3RpbmcsIHN1Z2dlc3RpbmcgYSBkZWdyZWUgb2Ygc2hhcmVkIGZ1bmN0aW9uYWxpdHksIG9yIGF0IGxlYXN0IGEgc2ltaWxhciBtZWNoYW5pc20gZm9yIGhhbmRsaW5nIHRyYW5zbWl0IGNvbXBsZXRpb25zIGFjcm9zcyB0aGUgdHdvIGludGVyZmFjZSB0eXBlcy4gTm93LCBnaXZlbiB0aGUgc2ltaWxhcml0eSBpbiB0aGUgbmFtaW5nLCBhbmQgdGhlIGFyY2hpdGVjdHVyYWwgcGFyYWxsZWxzIEkmIzM5O20gYXdhcmUgb2YgaW4gdGhlc2UgTWVkaWF0ZWsgZHJpdmVycywgbGV0JiMzOTtzIGdvIGEgbGV2ZWwgZGVlcGVyIGFuZCBjaGVjayBvdXQgdGhlIGBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBmdW5jdGlvbiwgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgcGFyYWxsZWxzIHRvIGJlIGRyYXduIHRoZXJlLCBvciBpZiB0aGV5IGFyZSB3aWxkbHkgZGlmZmVyZW50LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O210NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2ImIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmM9MTQ2MT1FWFBPUlRfU1lNQk9MX0dQTChtdDc5MjVfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2IpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMtMTQ2Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jOjE0NjM6dm9pZCBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jLTE0NjQtXHRcdFx0XHQgICAgIHN0cnVjdCBtdDc2X3F1ZXVlX2VudHJ5ICplKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jLTE0ODQtfVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmM6MTQ4NTpFWFBPUlRfU1lNQk9MX0dQTChtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jLTE0ODYtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbXQ3OTI1Lmg9MzYyPWludCBtdDc5MjVfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LCB2b2lkICp0eHdpX3B0cixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tdDc5MjUuaC0zNjUtXHRcdFx0XHQgICBzdHJ1Y3QgbXQ3Nl90eF9pbmZvICp0eF9pbmZvKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L210NzkyNS5oOjM2Njp2b2lkIG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbXQ3OTI1LmgtMzY3LVx0XHRcdFx0ICAgICBzdHJ1Y3QgbXQ3Nl9xdWV1ZV9lbnRyeSAqZSk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvdXNiLmM9MTQzPXN0YXRpYyBpbnQgbXQ3OTI1dV9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqdXNiX2ludGYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvdXNiLmMtMTUzLVx0XHQudHhfcHJlcGFyZV9za2IgPSBtdDc5MjVfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2IsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS91c2IuYzoxNTQ6XHRcdC50eF9jb21wbGV0ZV9za2IgPSBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvdXNiLmMtMTU1LVx0XHQudHhfc3RhdHVzX2RhdGEgPSBtdDc5MjVfdXNiX3NkaW9fdHhfc3RhdHVzX2RhdGEsXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTQ4MgoJCQkJCQkJb3V0cHV0OiAyMQoJCQkJCQkJdGhvdWdodHM6IDU4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBVU0IgV2lyZWxlc3MgRHJpdmVyIEZ1enppbmcgUG90ZW50aWFsKioKCk9rYXksIHNvIEkgc2VlIHRoaXMgY29kZSBpcyBwYXJ0IG9mIGBtdDc5MjV1X3Byb2JlYCwgd2hpY2ggdGVsbHMgbWUgdGhpcyBpcyBkZWZpbml0ZWx5IGEgVVNCIHdpcmVsZXNzIGRyaXZlci4gVGhhdCYjMzk7cyBnb29kLCBiZWNhdXNlIHRoYXQgaW1tZWRpYXRlbHkgb3BlbnMgdXAgdGhlIHBvc3NpYmlsaXR5IG9mIGxldmVyYWdpbmcgc3l6a2FsbGVyJiMzOTtzIFVTQiBmdXp6aW5nIGNhcGFiaWxpdGllcy4gTXkgZmlyc3QgdGhvdWdodCBpcywgJiMzNDtmYW50YXN0aWMsIGFub3RoZXIgYXJlYSB0byBwcm9iZSEmIzM0OyBOb3csIGxldCYjMzk7cyB0YWtlIGEgcXVpY2sgbG9vayBhdCB0aGUgS2NvbmZpZyBvcHRpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGVzZSBkcml2ZXJzLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgY29uZmlndXJhdGlvbiBzcGFjZSB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSBzcGVjaWZpYyBzZXR0aW5ncyBvciBkZXBlbmRlbmNpZXMgdGhhdCBtaWdodCBpbmZsdWVuY2UgaG93IEkmIzM5O2xsIGFwcHJvYWNoIHRoZSBmdXp6aW5nIGNhbXBhaWduLiBJZGVudGlmeWluZyB0aG9zZSBvcHRpb25zIHdpbGwgaGVscCBtZSB0YWlsb3Igc3l6a2FsbGVyIGFuZCBteSBmdXp6aW5nIHNldHVwIGZvciBtYXhpbXVtIGVmZmVjdGl2ZW5lc3MuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIE1UNzkyMVUmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZz0xNz1jb25maWcgTVQ3OTIxU1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWctMjctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnOjI4OmNvbmZpZyBNVDc5MjFVXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTI5LVx0dHJpc3RhdGUgXCYjMzQ7TWVkaWFUZWsgTVQ3OTIxVSAoVVNCKSBzdXBwb3J0XCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTg1OQoJCQkJCQkJb3V0cHV0OiAyMQoJCQkJCQkJdGhvdWdodHM6IDE1CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IHRob3VnaHQgcHJvY2VzcywgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRoZSBNVDc5MjVVIGFuZCBpdHMgS2NvbmZpZzoKCioqRGVlcCBEaXZlIGludG8gdGhlIE1UNzkyNVUgS2NvbmZpZyoqCgpPa2F5LCB0aW1lIHRvIGdldCBteSBoYW5kcyBkaXJ0eS4gTGV0JiMzOTtzIHN0YXJ0IGJ5IGRpZ2dpbmcgaW50byB0aGUgS2NvbmZpZyBmb3IgdGhlIE1UNzkyNVUuIEkgbmVlZCB0byB1bmRlcnN0YW5kIGV4YWN0bHkgaG93IHRoaXMgZGV2aWNlIGlzIGNvbmZpZ3VyZWQgd2l0aGluIHRoZSBrZXJuZWwuIEkmIzM5O2xsIG5lZWQgdG8gaWRlbnRpZnkgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9ucywgZGVwZW5kZW5jaWVzLCBhbmQgYW55IGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uIHRoYXQmIzM5O3MgZ29pbmcgb24uIEkmIzM5O20gbG9va2luZyBmb3IgdGhlIGtleSBzZXR0aW5ncyByZWxhdGVkIHRvIGl0cyBmdW5jdGlvbmFsaXR5OiBkcml2ZXJzLCBmaXJtd2FyZSBsb2FkaW5nLCBwb3dlciBtYW5hZ2VtZW50LCBhbmQgYW55dGhpbmcgZWxzZSBzcGVjaWZpYyB0byBpdHMgYmVoYXZpb3Igd2l0aGluIHRoZSBzeXN0ZW0uIEFyZSB0aGVyZSBhbnkgdW51c3VhbCBkZWZhdWx0cyBvciBxdWlya3MgSSBzaG91bGQgYmUgYXdhcmUgb2Y/IEkmIzM5O2xsIGJlIG1ldGljdWxvdXNseSBleGFtaW5pbmcgdGhlIGRlcGVuZGVuY2llcyB0byBzZWUgd2hhdCBpbXBhY3QgdGhpcyBoYXMgb24gb3RoZXIgZGV2aWNlIGNvbmZpZ3VyYXRpb25zLiBLbm93aW5nIHRoZSBLY29uZmlnIGlzIGFic29sdXRlbHkgY3JpdGljYWwgZm9yIHVuZGVyc3RhbmRpbmcgaG93IHRoZSBkZXZpY2UgaXMgaW50ZWdyYXRlZCBhbmQgaG93IEkgbWlnaHQgY3VzdG9taXplIGl0LiBUaW1lIHRvIGdldCB0byB3b3JrLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgTVQ3OTI1VSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnPTc9Y29uZmlnIE1UNzkyNUVcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnLTE4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZzoxOTpjb25maWcgTVQ3OTI1VVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZy0yMC1cdHRyaXN0YXRlIFwmIzM0O01lZGlhVGVrIE1UNzkyNVUgKFVTQikgc3VwcG9ydFwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA2MjQxCgkJCQkJCQlvdXRwdXQ6IDU5CgkJCQkJCQl0aG91Z2h0czogMjEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgdGhvdWdodCBwcm9jZXNzLCBzdW1tYXJpemVkIGFzIHlvdSByZXF1ZXN0ZWQ6CgoqKkFzc2Vzc2luZyBEZXBlbmRlbmNpZXM6IE1UNzkyMVUgYW5kIE1UNzkyNVUqKgoKT2theSwgc28gSSBuZWVkIHRvIHF1aWNrbHkgZ2V0IGEgaGFuZGxlIG9uIHRoZSBzdXBwb3J0IHN0cnVjdHVyZXMsIHRoZSBuZWNlc3NhcnkgaGFyZHdhcmUgYW5kIHNvZnR3YXJlIHJlbGF0aW9uc2hpcHMsIGZvciBib3RoIHRoZSBNVDc5MjFVIGFuZCB0aGUgTVQ3OTI1VS4gU3BlY2lmaWNhbGx5LCBJJiMzOTttIHRoaW5raW5nIGFib3V0IHRoZSBkZXBlbmRlbmNpZXMuIFdoYXQgYXJlIHRoZSBrZXkgZWxlbWVudHMgdGhlc2Ugd2lyZWxlc3Mgc29sdXRpb25zIHJlbHkgb24gdG8gZnVuY3Rpb24gY29ycmVjdGx5PyBJIG5lZWQgdG8gdW5kZXJzdGFuZCBldmVyeXRoaW5nIGZyb20gdGhlIGNoaXBzZXRzIGFuZCBkcml2ZXJzIHRvIGFueSBleHRlcm5hbCBjb21wb25lbnRzLCBsaWJyYXJpZXMsIG9yIGV2ZW4gc3BlY2lmaWMgZmlybXdhcmUgdmVyc2lvbnMgdGhhdCBhcmUgY3J1Y2lhbCBmb3Igb3BlcmF0aW9uLiBUaGlzIHdpbGwgaW5mb3JtIG15IG5leHQgc3RlcHMsIHdoZXRoZXIgaXQgaXMgZm9yIGRldmVsb3BtZW50LCB0cm91Ymxlc2hvb3RpbmcsIG9yIGludGVncmF0aW9uLiBMZXQmIzM5O3MgZGlnIGluIGFuZCBmaWd1cmUgb3V0IGV4YWN0bHkgd2hhdCB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIGluIHRlcm1zIG9mIGRlcGVuZGVuY3kgbWFuYWdlbWVudCBmb3IgdGhlc2UgdHdvLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgTVQ3OTIxVXxjb25maWcgTVQ3OTI1VXxkZXBlbmRzIG9uJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnPTc9Y29uZmlnIE1UNzkyMUVcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTktXHRzZWxlY3QgTVQ3OTIxX0NPTU1PTlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZzoxMDpcdGRlcGVuZHMgb24gTUFDODAyMTFcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWc6MTE6XHRkZXBlbmRzIG9uIFBDSVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZy0xMi1cdGhlbHBcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnPTE3PWNvbmZpZyBNVDc5MjFTXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZy0yMC1cdHNlbGVjdCBNVDc5MjFfQ09NTU9OXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnOjIxOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZzoyMjpcdGRlcGVuZHMgb24gTU1DXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTIzLVx0aGVscFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWctMjctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnOjI4OmNvbmZpZyBNVDc5MjFVXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTI5LVx0dHJpc3RhdGUgXCYjMzQ7TWVkaWFUZWsgTVQ3OTIxVSAoVVNCKSBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZy0zMS1cdHNlbGVjdCBNVDc5MjFfQ09NTU9OXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnOjMyOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZzozMzpcdGRlcGVuZHMgb24gVVNCXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTM0LVx0aGVscFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEzLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA3MDYzCgkJCQkJCQlvdXRwdXQ6IDUxCgkJCQkJCQl0aG91Z2h0czogMTIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGxldCYjMzk7cyBkaXZlIGludG8gdGhpcy4gSGVyZSYjMzk7cyBteSB0aG91Z2h0IHByb2Nlc3Mgb24gY2hlY2tpbmcgdGhvc2UgTVQ3OTI1VSBkZXBlbmRlbmNpZXMsIHN1bW1hcml6ZWQgaW4gdGhlIGZpcnN0IHBlcnNvbjoKCioqTVQ3OTI1VSBEZXBlbmRlbmNpZXM6IEEgUXVpY2sgQXNzZXNzbWVudCoqCgpBbHJpZ2h0LCB0aGUgZmlyc3QgdGhpbmcgSSBuZWVkIHRvIGRvIGlzIGdldCBhIGdvb2QgaGFuZGxlIG9uIHRoZSBNVDc5MjVVJiMzOTtzIGRlcGVuZGVuY2llcy4gSSBjYW4mIzM5O3QganVzdCBqdW1wIGludG8gdGhpcyB3aXRob3V0IGtub3dpbmcgd2hhdCBlbHNlIHRoaXMgdGhpbmcgcmVsaWVzIG9uLiBJIG5lZWQgdG8gZmlndXJlIG91dCB3aGF0IGRyaXZlcnMsIGZpcm13YXJlLCBsaWJyYXJpZXMsIG9yIGV2ZW4gb3RoZXIgaGFyZHdhcmUgY29tcG9uZW50cyBpdCBuZWVkcyB0byBmdW5jdGlvbiBwcm9wZXJseS4gVGhpcyBpcyBjcnVjaWFsIGZvciB0cm91Ymxlc2hvb3RpbmcsIGRlYnVnZ2luZywgYW5kLCBvZiBjb3Vyc2UsIGFueSBraW5kIG9mIGludGVncmF0aW9uIG9yIG1vZGlmaWNhdGlvbiBJIG1pZ2h0IGJlIHBsYW5uaW5nIGRvd24gdGhlIGxpbmUuIEl0JiMzOTtzIGFib3V0IGJ1aWxkaW5nIGEgcm9idXN0IHVuZGVyc3RhbmRpbmcgb2YgdGhlIHdob2xlIHN5c3RlbSBzbyB0aGF0IEkgZG9uJiMzOTt0IG1pc3Mgc29tZXRoaW5nIGZ1bmRhbWVudGFsLiBMZXQmIzM5O3Mgc2VlIHdoYXQgd2UmIzM5O3ZlIGdvdC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIE1UNzkyNVV8ZGVwZW5kcyBvbiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZz03PWNvbmZpZyBNVDc5MjVFXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZy05LVx0c2VsZWN0IE1UNzkyNV9DT01NT05cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWc6MTA6XHRkZXBlbmRzIG9uIE1BQzgwMjExXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnOjExOlx0ZGVwZW5kcyBvbiBQQ0lcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWctMTItXHRoZWxwXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZy0xOC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWc6MTk6Y29uZmlnIE1UNzkyNVVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWctMjAtXHR0cmlzdGF0ZSBcJiMzNDtNZWRpYVRlayBNVDc5MjVVIChVU0IpIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnLTIyLVx0c2VsZWN0IE1UNzkyNV9DT01NT05cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWc6MjM6XHRkZXBlbmRzIG9uIE1BQzgwMjExXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnOjI0Olx0ZGVwZW5kcyBvbiBVU0JcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWctMjUtXHRoZWxwXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDc3MDcKCQkJCQkJCW91dHB1dDogMzkKCQkJCQkJCXRob3VnaHRzOiAzMTcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgUmVjZW50IFBhdGNoIGZvciBNVDc5MjFVL01UNzkyNVUgRHJpdmVycyoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBhbmQgaW1tZWRpYXRlbHksIHRoZSBjb3JlIG9mIGl0IHNlZW1zIHRvIGJlIGFkZHJlc3NpbmcgUkNVIChSZWFkLUNvcHktVXBkYXRlKSBpc3N1ZXMgd2l0aGluIHRoZSBgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAgYW5kIGBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBmdW5jdGlvbnMuIFRoZXNlIGZ1bmN0aW9ucyBoYW5kbGUgVFggY29tcGxldGlvbiBldmVudHMsIHdoaWNoIGlzIGNyaXRpY2FsIGZvciBuZXR3b3JrIHBlcmZvcm1hbmNlLCBlc3BlY2lhbGx5IGluIHRoZXNlIE1lZGlhVGVrIFVTQiBXaUZpIGRldmljZXMuCgpFc3NlbnRpYWxseSwgdGhlIHBhdGNoIGlzIGFkZGluZyBgcmN1X3JlYWRfbG9jaygpYCBhbmQgYHJjdV9yZWFkX3VubG9jaygpYCBjYWxscy4gSXQmIzM5O3MgYSBmdW5jdGlvbmFsIGZpeCBmb3IgYSBwb3RlbnRpYWwgUkNVIGhhemFyZC4gVGhlIGludGVyZXN0aW5nIHF1ZXN0aW9uIGlzLCBhcmUgdGhlc2UgZnVuY3Rpb25zIHJlYWNoYWJsZSB0aHJvdWdoIFVTQiBmdXp6aW5nPyBTaW5jZSB0aGV5JiMzOTtyZSB0cmlnZ2VyZWQgYnkgVFggY29tcGxldGlvbnMsIGFuZCB0aG9zZSBjb3VsZCByZXN1bHQgZnJvbSBlaXRoZXIgdXMgKnNlbmRpbmcqIHBhY2tldHMgb3ZlciBVU0IgKHdoaWNoIHdvdWxkIGJlIHRoZSBjb21tb24gY2FzZSBkdXJpbmcgZnV6emluZyksIG9yIHRoZSBkZXZpY2UgaXRzZWxmIHNlbmRpbmcgY29tcGxldGlvbiBldmVudHMgKmJhY2sqIHRvIHVzIG92ZXIgVVNCLCB0aGUgYW5zd2VyIGlzIGxpa2VseSB5ZXMuCgpOb3csIGxldCYjMzk7cyBzZWUuLi5pcyBgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAgc3RhdGljIG9yIGV4cG9ydGVkPyBBaCwgaXQmIzM5O3MgKmV4cG9ydGVkKiB2aWEgYEVYUE9SVF9TWU1CT0xfR1BMKG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2IpYC4gVGhhdOKAmXMgYSBnb29kIHNpZ24g4oCTIGl0JiMzOTtzIGFjY2Vzc2libGUgZnJvbSBvdGhlciBtb2R1bGVzLCB3aGljaCBtYWtlcyBpdCBhIHNvbGlkIHRhcmdldC4KCkkgc2hvdWxkIGFsc28gY2hlY2sgaWYgYW55IHNwZWNpZmljIGNvbmZpZ3VyYXRpb25zIGFyZSBuZWVkZWQgZm9yIHRoaXMgdG8gYmUgYWN0aXZlLiBJJiMzOTtsbCBuZWVkIHRvIGNvbmZpcm0gdGhhdCBgTVQ3Nl9DT1JFYCBhbmQgYE1UNzZfVVNCYCBhcmUgZW5hYmxlZCBhbmQgY2hlY2sgdGhlIEtjb25maWcgZmlsZXMgZm9yIGRlcGVuZGVuY2llcywgc3BlY2lmaWNhbGx5IGluIGBkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWdgLiBUaGVzZSBhcmUgcHJldHR5IGNvbW1vbiwgYnV0IGl0JiMzOTtzIGEgZ29vZCBwcmFjdGljZSB0byB2ZXJpZnkuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBNVDc2JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZS1DbGVhclxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnOjI6Y29uZmlnIE1UNzZfQ09SRVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTMtXHR0cmlzdGF0ZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy01LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnOjY6Y29uZmlnIE1UNzZfTEVEU1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTctXHRib29sXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTExLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnOjEyOmNvbmZpZyBNVDc2X1VTQlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTEzLVx0dHJpc3RhdGVcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctMTUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWc6MTY6Y29uZmlnIE1UNzZfU0RJT1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTE3LVx0dHJpc3RhdGVcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctMTktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWc6MjA6Y29uZmlnIE1UNzZ4MDJfTElCXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctMjEtXHR0cmlzdGF0ZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0yMy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZzoyNDpjb25maWcgTVQ3NngwMl9VU0JcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0yNS1cdHRyaXN0YXRlXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTI3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnOjI4OmNvbmZpZyBNVDc2X0NPTk5BQ19MSUJcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0yOS1cdHRyaXN0YXRlXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnPTM2PWNvbmZpZyBNVDc5MnhfVVNCXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTM5LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnOjQwOmNvbmZpZyBNVDc2X05QVVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTQxLVx0dHJpc3RhdGVcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogOTA5NwoJCQkJCQkJb3V0cHV0OiA0MwoJCQkJCQkJdGhvdWdodHM6IDIyOAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipLZXJuZWwgQ29uZmlndXJhdGlvbiBEZWNpc2lvbnMgZm9yIE1lZGlhVGVrIFdpcmVsZXNzIERyaXZlcnMqKgoKT2theSwgc28gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIHJpZ2h0IGtlcm5lbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoaXMgTWVkaWFUZWsgd2lyZWxlc3MgZHJpdmVyIHdvcmsuIEJhc2VkIG9uIHdoYXQgSSYjMzk7bSBzZWVpbmcsIGl0IGxvb2tzIGxpa2UgYE1UNzkyMVVgIGFuZCBgTVQ3OTI1VWAgYXJlIHRoZSBrZXkgY29uZmlncyB0byBlbmFibGUuIEFuZCwgaWYgd2Ugd2FudCB0byBwb3RlbnRpYWxseSBleHBsb3JlIFNESU8tYmFzZWQgdGVzdGluZywgYE1UNzkyMVNgIG1pZ2h0IGJlIHdvcnRod2hpbGUsIGFsdGhvdWdoIHN5emthbGxlciBkb2VzbiYjMzk7dCBoYXZlIHRoZSBlYXNpZXN0IHRpbWUgZnV6emluZyBTRElPIGNvbXBhcmVkIHRvIFVTQi4gU3RpbGwsIGl0IGNvdWxkIGJlIHVzZWZ1bCwgc28gbGV0JiMzOTtzIGRpZyBhIGJpdCBkZWVwZXIgaW50byB0aGF0LiBSaWdodCwgYE1UNzkyMVNgIGRlcGVuZHMgb24gYE1BQzgwMjExYCBhbmQgYE1NQ2AsIHNvIHRob3NlIGFyZSBwcmVyZXF1aXNpdGVzLgoKU28gdGhlIHByaW1hcnkgb25lcyBhcmUgZ29pbmcgdG8gYmUgYE1UNzkyMVVgLCBgTVQ3OTI1VWAsIGFuZCBwb3RlbnRpYWxseSBgTVQ3OTIxU2AuCgpXYWl0LCBob2xkIG9uIGEgc2Vjb25kLi4uIHRoZSBhY3R1YWwgZHJpdmVyIGNvZGUgdXBkYXRlcyBhcmUgbG9jYXRlZCBpbiBgZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmNgIGFuZCBgZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmNgLiAgSG1tLCB0aG9zZSBmaWxlcyBhcmUgY29uZGl0aW9uYWxseSBjb21waWxlZCBiYXNlZCBvbiBgTVQ3OTIxX0NPTU1PTmAgYW5kIGBNVDc5MjVfQ09NTU9OYC4gT2theSwgdGhhdCYjMzk7cyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIuIExldCYjMzk7cyBtYWtlIHN1cmUgSSBhY2NvdW50IGZvciB0aGF0IHdoZW4gYnVpbGRpbmcgb3V0IHRoZSByZWxldmFudCBkZXBlbmRlbmNpZXMuIE5vdyBJIHNob3VsZCBjaGVjayB0aGUgTWFrZWZpbGUgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL2AgdG8gY29uZmlybS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7bWFjXFwubyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlPTY9b2JqLSQoQ09ORklHX01UNzkyMVUpICYjNDM7PSBtdDc5MjF1Lm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlLTctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9NYWtlZmlsZTo4Om10NzkyMS1jb21tb24teSA6PSBtYWMubyBtY3UubyByZWdkLm8gbWFpbi5vIGluaXQubyBkZWJ1Z2ZzLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlLTktbXQ3OTIxLWNvbW1vbi0kKENPTkZJR19OTDgwMjExX1RFU1RNT0RFKSAmIzQzOz0gdGVzdG1vZGUub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvTWFrZWZpbGU6MTA6bXQ3OTIxZS15IDo9IHBjaS5vIHBjaV9tYWMubyBwY2lfbWN1Lm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlOjExOm10NzkyMXMteSA6PSBzZGlvLm8gc2Rpb19tYWMubyBzZGlvX21jdS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9NYWtlZmlsZS0xMi1tdDc5MjF1LXkgOj0gdXNiLm9cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTAwMzgKCQkJCQkJCW91dHB1dDogNDMKCQkJCQkJCXRob3VnaHRzOiAxNTQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBLZXJuZWwgQ29uZmlndXJhdGlvbiBEZXBlbmRlbmNpZXMqKgoKT2theSwgc28gSSYjMzk7bSBkaWdnaW5nIGludG8gdGhpcyBrZXJuZWwgY29uZmlndXJhdGlvbi4gSXQgbG9va3MgbGlrZSBgbWFjLm9gIGlzIGRpcmVjdGx5IGJ1aWx0IGFzIHBhcnQgb2YgYG10NzkyMS1jb21tb24teWAsIGJ1dCB0aGF0JiMzOTtzIG9ubHkgd2hlbiBgQ09ORklHX01UNzkyMV9DT01NT05gIGlzIHNldC4gUmlnaHQsIHNvIGBNVDc5MjFfQ09NTU9OYCBpdHNlbGYgaXMgKnNlbGVjdGVkKiBieSBhIGJ1bmNoIG9mIG90aGVyIGNvbmZpZ3M6IGBNVDc5MjFFYCwgYE1UNzkyMVNgLCBhbmQgYE1UNzkyMVVgLiBUaGF0IHN1Z2dlc3RzIGEgc3RyZWFtbGluZWQgYXBwcm9hY2guIEluc3RlYWQgb2YgbWVzc2luZyB3aXRoIGBNVDc5MjFfQ09NTU9OYCBkaXJlY3RseSwgSSBjYW4gcHJvYmFibHkganVzdCBlbmFibGUgYE1UNzkyMVVgIGFuZCwgc2luY2Ugd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBVU0IgZGV2aWNlcywgYE1UNzkyNVVgIHRvby4gVGhhdCBzaG91bGQgcHVsbCBpbiB0aGUgY29tbW9uIGNvbXBvbmVudHMgd2UgbmVlZC4gSSYjMzk7bGwgbmVlZCB0byBkb3VibGUgY2hlY2ssIGJ1dCBJJiMzOTttIGdvaW5nIHRvIHdhbnQgYE1BQzgwMjExYCBhbmQgYFVTQmAgZW5hYmxlZCBhcyB3ZWxsLCB3aGljaCBtYWtlcyBzZW5zZS4gSnVzdCB0byBiZSBjb21wbGV0ZWx5IHN1cmUsIEkgc2hvdWxkIHZlcmlmeSB3aGF0IGRlcGVuZHMgb24gYE1UNzkyNV9DT01NT05gIGluIHRoZSBgZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGVgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDttYWNcXC5vJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGUmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGU9NT1vYmotJChDT05GSUdfTVQ3OTI1VSkgJiM0Mzs9IG10NzkyNXUub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGUtNi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L01ha2VmaWxlOjc6bXQ3OTI1LWNvbW1vbi15IDo9IG1hYy5vIG1jdS5vIHJlZ2QubyBtYWluLm8gaW5pdC5vIGRlYnVnZnMub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGUtOC1tdDc5MjUtY29tbW9uLSQoQ09ORklHX05MODAyMTFfVEVTVE1PREUpICYjNDM7PSB0ZXN0bW9kZS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9NYWtlZmlsZTo5Om10NzkyNWUteSA6PSBwY2kubyBwY2lfbWFjLm8gcGNpX21jdS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9NYWtlZmlsZS0xMC1tdDc5MjV1LXkgOj0gdXNiLm9cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTA3NjgKCQkJCQkJCW91dHB1dDogMzgKCQkJCQkJCXRob3VnaHRzOiAyOTMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRnV6emluZyBTdHJhdGVneSBmb3IgbXQ3OTI1LWNvbW1vbi15IE1vZHVsZSoqCgpPa2F5LCBzbyBsb29raW5nIGF0IHRoaXMsIGBtYWMub2AgaXMgZGVmaW5pdGVseSBwYXJ0IG9mIGBtdDc5MjUtY29tbW9uLXlgLCB3aGljaCBpcyBpbXBvcnRhbnQgZm9yIGNvbnRleHQuIEkgc2VlIHRoYXQgdGhlIGNoYW5nZXMgYXJlIGluIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBhbmQgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgLiBUaGVzZSBhcmUgY2xlYXJseSBmdW5jdGlvbmFsIGNoYW5nZXMsIHNwZWNpZmljYWxseSBhZGRpbmcgYW4gUkNVIHJlYWQgbG9jayBiZWZvcmUgZGVyZWZlcmVuY2luZyBSQ1UtcHJvdGVjdGVkIHBvaW50ZXJzLiBHb29kIGNhdGNoOyB0aGF0JiMzOTtzIHRoZSBraW5kIG9mIHRoaW5nIHRoYXQgY2FuIGxlYWQgdG8gc3VidGxlIHJhY2UgY29uZGl0aW9ucyB0aGF0IGZ1enppbmcgY2FuIHVuY292ZXIuIFRoZSBmYWN0IHRoYXQgdGhlc2UgYXJlIHJlYWNoYWJsZSB0aHJvdWdoIFVTQiBmdXp6aW5nIGNvbmZpcm1zIHRoYXQgdGhpcyBpcyBzb21ldGhpbmcgd2Ugc2hvdWxkIHByaW9yaXRpemUuIEkmIzM5O20gZ29pbmcgdG8gc2V0IGBXb3J0aEZ1enppbmc9dHJ1ZWAgZm9yIHRoZXNlLgoKTXkgZm9jdXMgc2hvdWxkIGJlIG9uIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBhbmQgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIOKAkyB0aG9zZSBhcmUgdGhlIGtleSBzeW1ib2xzIHRvIHRyYWNrLgoKRm9yIGNvbmZpZ3VyYXRpb25zLCBJIG5lZWQgdG8gZW5hYmxlIGBNVDc5MjFVYCwgYE1UNzkyNVVgLCBgTUFDODAyMTFgLCBhbmQgYFVTQmAuIFRob3NlIGFyZSB0aGUgcmVsZXZhbnQgZHJpdmVycyBmb3IgVVNCIGZ1bmN0aW9uYWxpdHkuCgpOb3csIGxldCYjMzk7cyBqdXN0IG1ha2UgYSBxdWljayBjYWxsIGFib3V0IGBNVDc5MjFTYC4gSXQgZGVwZW5kcyBvbiBgTU1DYC4gU3l6a2FsbGVy4oCZcyBNTUMgZnV6emluZyBpc24mIzM5O3QgdGhlIHN0cm9uZ2VzdCwgYnV0IHRoZXJlJiMzOTtzIHByb2JhYmx5IG5vIGhhcm0gaW4gaGF2aW5nIGl0IGVuYWJsZWQgdG9vLCBldmVuIGlmIGl0IGFkZHMgb25seSBhIGxpdHRsZSBjb3ZlcmFnZS4gRm9yIG5vdywgaXQgbWlnaHQgYmUgbW9yZSBiZW5lZmljaWFsIHRvIGxlYXZlIG91dCBgTVQ3OTIxU2AgYW5kIGtlZXAgdGhlIGZvY3VzLiAKCkFscmlnaHQsIEkmIzM5O2xsIGdvIGFoZWFkIHdpdGgganVzdCBlbmFibGluZyBgTVQ3OTIxVWAgYW5kIGBNVDc5MjVVYC4gVGhhdCYjMzk7cyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQuIEkgc2hvdWxkIGFsc28gY2hlY2sgaWYgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIGlzIGV4cG9ydGVkIHRvIG1ha2Ugc3VyZSB3ZSBkb24mIzM5O3QgaGF2ZSB0byBhY2NvdW50IGZvciBhbnkgc3RyYW5nZSBpc3N1ZXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O0VYUE9SVF9TWU1CT0xfR1BMXFwobXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYz0xNDYzPXZvaWQgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMtMTQ4NC19XG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYzoxNDg1OkVYUE9SVF9TWU1CT0xfR1BMKG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2IpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMtMTQ4Ni1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTE3MjYKCQkJCQkJCW91dHB1dDogNDEKCQkJCQkJCXRob3VnaHRzOiAxMzMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRGVwZW5kZW5jeSBBbmFseXNpcyBmb3IgTVQ3OTIxVSBhbmQgTVQ3OTI1VSoqCgpSaWdodCwgb2theSwgc2VlbXMgbGlrZSB3ZSYjMzk7cmUgZ29vZCB0byBnbyB0aGVyZS4gTm93LCBsZXQmIzM5O3MganVzdCBtYWtlIHN1cmUgdGhlcmUgYXJlbiYjMzk7dCBhbnkgc25lYWt5IGRlcGVuZGVuY2llcyBsdXJraW5nIGFyb3VuZCBmb3IgdGhvc2UgYE1UNzkyMVVgIGFuZCBgTVQ3OTI1VWAgZHJpdmVycy4gSG1tLCBpdCBsb29rcyBsaWtlIGJvdGggYE1UNzkyMVVgIGFuZCBgTVQ3OTI1VWAgcmVseSBvbiBgTUFDODAyMTFgIGFuZCwgb2YgY291cnNlLCB0aGUgYFVTQmAgc3RhY2suIE5vdywgdGhpbmtpbmcgYmFjaywgYE1BQzgwMjExYCBoYXMgaXRzIG93biBkZXBlbmRlbmN5IG9uIGBDRkc4MDIxMWAuIFNvLCB0byBhdm9pZCBhbnkgaGVhZGFjaGVzIGRvd24gdGhlIGxpbmUgYW5kIGVuc3VyZSBldmVyeXRoaW5nIGJ1aWxkcyBjb3JyZWN0bHksIGl0IHdvdWxkIHByb2JhYmx5IGJlIGEgZ29vZCBpZGVhIHRvIGFkZCBgQ0ZHODAyMTFgIHRvIHRoZSBtaXggYXMgd2VsbC4gSnVzdCB0byBiZSBjb21wbGV0ZWx5IHRob3JvdWdoLCBsZXQmIzM5O3MgcXVpY2tseSBkb3VibGUtY2hlY2sgdGhlIGRlcGVuZGVuY2llcyBvZiBgTUFDODAyMTFgIGl0c2VsZiwgdG8gYmUgZXh0cmEgc3VyZSB3ZSYjMzk7cmUgbm90IG1pc3NpbmcgYW55dGhpbmcgb2J2aW91cy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDUgMjE6NDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIE1BQzgwMjExfGRlcGVuZHMgb24mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvbWFjODAyMTEvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxubmV0L21hYzgwMjExL0tjb25maWc6Mjpjb25maWcgTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTMtXHR0cmlzdGF0ZSBcJiMzNDtHZW5lcmljIElFRUUgODAyLjExIE5ldHdvcmtpbmcgU3RhY2sgKG1hYzgwMjExKVwmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6NDpcdGRlcGVuZHMgb24gQ0ZHODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTUtXHRzZWxlY3QgQ1JZUFRPXG4tLVxubmV0L21hYzgwMjExL0tjb25maWc9MTY9Y29tbWVudCBcJiMzNDtDRkc4MDIxMSBuZWVkcyB0byBiZSBlbmFibGVkIGZvciBNQUM4MDIxMVwmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MTc6XHRkZXBlbmRzIG9uIENGRzgwMjExPW5cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE4LVxubmV0L21hYzgwMjExL0tjb25maWc9MTk9aWYgTUFDODAyMTEgIT0gblxubmV0L21hYzgwMjExL0tjb25maWctMjAtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMTpjb25maWcgTUFDODAyMTFfSEFTX1JDXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMi1cdGJvb2xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzLVxubmV0L21hYzgwMjExL0tjb25maWc6MjQ6Y29uZmlnIE1BQzgwMjExX1JDX01JTlNUUkVMXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNS1cdGJvb2wgXCYjMzQ7TWluc3RyZWxcJiMzNDsgaWYgRVhQRVJUXG4tLVxubmV0L21hYzgwMjExL0tjb25maWc9MzE9Y2hvaWNlXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zMi1cdHByb21wdCBcJiMzNDtEZWZhdWx0IHJhdGUgY29udHJvbCBhbGdvcml0aG1cJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjMzOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9IQVNfUkNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTM0LVx0ZGVmYXVsdCBNQUM4MDIxMV9SQ19ERUZBVUxUX01JTlNUUkVMXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctNDAtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo0MTpjb25maWcgTUFDODAyMTFfUkNfREVGQVVMVF9NSU5TVFJFTFxubmV0L21hYzgwMjExL0tjb25maWctNDItXHRib29sIFwmIzM0O01pbnN0cmVsXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo0MzpcdGRlcGVuZHMgb24gTUFDODAyMTFfUkNfTUlOU1RSRUxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQ0LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnPTQ4PWVuZGNob2ljZVxubmV0L21hYzgwMjExL0tjb25maWctNDktXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo1MDpjb25maWcgTUFDODAyMTFfUkNfREVGQVVMVFxubmV0L21hYzgwMjExL0tjb25maWctNTEtXHRzdHJpbmdcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZz01Nz1jb21tZW50IFwmIzM0O1NvbWUgd2lyZWxlc3MgZHJpdmVycyByZXF1aXJlIGEgcmF0ZSBjb250cm9sIGFsZ29yaXRobVwmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6NTg6XHRkZXBlbmRzIG9uIE1BQzgwMjExIFx1MDAyNlx1MDAyNiBNQUM4MDIxMV9IQVNfUkM9blxubmV0L21hYzgwMjExL0tjb25maWctNTktXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo2MDpjb25maWcgTUFDODAyMTFfS1VOSVRfVEVTVFxubmV0L21hYzgwMjExL0tjb25maWctNjEtXHR0cmlzdGF0ZSBcJiMzNDtLVW5pdCB0ZXN0cyBmb3IgbWFjODAyMTFcJiMzNDsgaWYgIUtVTklUX0FMTF9URVNUU1xubmV0L21hYzgwMjExL0tjb25maWc6NjI6XHRkZXBlbmRzIG9uIEtVTklUXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo2MzpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTY0LVx0ZGVmYXVsdCBLVU5JVF9BTExfVEVTVFNcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy02OS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjcwOmNvbmZpZyBNQUM4MDIxMV9NRVNIXG5uZXQvbWFjODAyMTEvS2NvbmZpZy03MS1cdGJvb2wgXCYjMzQ7RW5hYmxlIG1hYzgwMjExIG1lc2ggbmV0d29ya2luZyBzdXBwb3J0XCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo3MjpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTczLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTc4LVxubmV0L21hYzgwMjExL0tjb25maWc6Nzk6Y29uZmlnIE1BQzgwMjExX0xFRFNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTgwLVx0Ym9vbCBcJiMzNDtFbmFibGUgTEVEIHRyaWdnZXJzXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo4MTpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjgyOlx0ZGVwZW5kcyBvbiBMRURTX0NMQVNTPXkgfHwgTEVEU19DTEFTUz1NQUM4MDIxMVxubmV0L21hYzgwMjExL0tjb25maWctODMtXHRzZWxlY3QgTEVEU19UUklHR0VSU1xuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg3LVxubmV0L21hYzgwMjExL0tjb25maWc6ODg6Y29uZmlnIE1BQzgwMjExX0RFQlVHRlNcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTg5LVx0Ym9vbCBcJiMzNDtFeHBvcnQgbWFjODAyMTEgaW50ZXJuYWxzIGluIERlYnVnRlNcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjkwOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMSBcdTAwMjZcdTAwMjYgQ0ZHODAyMTFfREVCVUdGU1xubmV0L21hYzgwMjExL0tjb25maWctOTEtXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctOTYtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5Nzpjb25maWcgTUFDODAyMTFfTUVTU0FHRV9UUkFDSU5HXG5uZXQvbWFjODAyMTEvS2NvbmZpZy05OC1cdGJvb2wgXCYjMzQ7VHJhY2UgYWxsIG1hYzgwMjExIGRlYnVnIG1lc3NhZ2VzXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5OTpcdGRlcGVuZHMgb24gTUFDODAyMTEgXHUwMDI2XHUwMDI2IFRSQUNJTkdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEwMC1cdGhlbHBcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMDktXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTA6bWVudWNvbmZpZyBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTEtXHRib29sIFwmIzM0O1NlbGVjdCBtYWM4MDIxMSBkZWJ1Z2dpbmcgZmVhdHVyZXNcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExMjpcdGRlcGVuZHMgb24gTUFDODAyMTFcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTExMy1cdGhlbHBcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTUtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTY6Y29uZmlnIE1BQzgwMjExX05PSU5MSU5FXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTctXHRib29sIFwmIzM0O0RvIG5vdCBpbmxpbmUgVFgvUlggaGFuZGxlcnNcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExODpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTE5LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzMS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjEzMjpjb25maWcgTUFDODAyMTFfVkVSQk9TRV9ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMTMzLVx0Ym9vbCBcJiMzNDtWZXJib3NlIGRlYnVnZ2luZyBvdXRwdXRcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjEzNDpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTM1LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE0Mi1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE0Mzpjb25maWcgTUFDODAyMTFfTUxNRV9ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMTQ0LVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1hbmFnZWQgTUxNRSBvdXRwdXRcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE0NTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTQ2LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1My1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE1NDpjb25maWcgTUFDODAyMTFfU1RBX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNTUtXHRib29sIFwmIzM0O1ZlcmJvc2Ugc3RhdGlvbiBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE1NjpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTU3LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE2Mi1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2Mzpjb25maWcgTUFDODAyMTFfSFRfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE2NC1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBIVCBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2NTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTY2LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE3NC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE3NTpjb25maWcgTUFDODAyMTFfT0NCX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzYtXHRib29sIFwmIzM0O1ZlcmJvc2UgT0NCIGRlYnVnZ2luZ1wmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MTc3Olx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzgtXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMTg1LVxubmV0L21hYzgwMjExL0tjb25maWc6MTg2OmNvbmZpZyBNQUM4MDIxMV9JQlNTX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xODctXHRib29sIFwmIzM0O1ZlcmJvc2UgSUJTUyBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE4ODpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMTg5LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE5Ni1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5Nzpjb25maWcgTUFDODAyMTFfUFNfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE5OC1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBwb3dlcnNhdmUgbW9kZSBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5OTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWctMjAwLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIwOC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIwOTpjb25maWcgTUFDODAyMTFfTVBMX0RFQlVHXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMTAtXHRib29sIFwmIzM0O1ZlcmJvc2UgbWVzaCBwZWVyIGxpbmsgZGVidWdnaW5nXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMTE6XHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIxMjpcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxubmV0L21hYzgwMjExL0tjb25maWctMjEzLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIyMS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyMjpjb25maWcgTUFDODAyMTFfTVBBVEhfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIyMy1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIHBhdGggZGVidWdnaW5nXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMjQ6XHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyNTpcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxubmV0L21hYzgwMjExL0tjb25maWctMjI2LVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNC1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIzNTpjb25maWcgTUFDODAyMTFfTUhXTVBfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNi1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIEhXTVAgcm91dGluZyBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIzNzpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWc6MjM4Olx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMzktXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjQ3LVxubmV0L21hYzgwMjExL0tjb25maWc6MjQ4OmNvbmZpZyBNQUM4MDIxMV9NRVNIX1NZTkNfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0OS1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBtZXNoIHN5bmNocm9uaXphdGlvbiBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI1MDpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWc6MjUxOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNTItXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjU4LVxubmV0L21hYzgwMjExL0tjb25maWc6MjU5OmNvbmZpZyBNQUM4MDIxMV9NRVNIX0NTQV9ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMjYwLVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1lc2ggY2hhbm5lbCBzd2l0Y2ggZGVidWdnaW5nXCYjMzQ7XG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNjE6XHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI2MjpcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxubmV0L21hYzgwMjExL0tjb25maWctMjYzLVx0aGVscFxuLS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2OS1cbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI3MDpjb25maWcgTUFDODAyMTFfTUVTSF9QU19ERUJVR1xubmV0L21hYzgwMjExL0tjb25maWctMjcxLVx0Ym9vbCBcJiMzNDtWZXJib3NlIG1lc2ggcG93ZXJzYXZlIGRlYnVnZ2luZ1wmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MjcyOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNzM6XHRkZXBlbmRzIG9uIE1BQzgwMjExX01FU0hcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI3NC1cdGhlbHBcbi0tXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODAtXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyODE6Y29uZmlnIE1BQzgwMjExX1RETFNfREVCVUdcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4Mi1cdGJvb2wgXCYjMzQ7VmVyYm9zZSBURExTIGRlYnVnZ2luZ1wmIzM0O1xubmV0L21hYzgwMjExL0tjb25maWc6MjgzOlx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODQtXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMjkyLVxubmV0L21hYzgwMjExL0tjb25maWc6MjkzOmNvbmZpZyBNQUM4MDIxMV9ERUJVR19DT1VOVEVSU1xubmV0L21hYzgwMjExL0tjb25maWctMjk0LVx0Ym9vbCBcJiMzNDtFeHRyYSBzdGF0aXN0aWNzIGZvciBUWC9SWCBkZWJ1Z2dpbmdcJiMzNDtcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI5NTpcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxubmV0L21hYzgwMjExL0tjb25maWc6Mjk2Olx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR0ZTXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yOTctXHRoZWxwXG4tLVxubmV0L21hYzgwMjExL0tjb25maWctMzA3LVxubmV0L21hYzgwMjExL0tjb25maWc6MzA4OmNvbmZpZyBNQUM4MDIxMV9TVEFfSEFTSF9NQVhfU0laRVxubmV0L21hYzgwMjExL0tjb25maWctMzA5LVx0aW50IFwmIzM0O1N0YXRpb24gaGFzaCB0YWJsZSBtYXhpbXVtIHNpemVcJiMzNDsgaWYgTUFDODAyMTFfREVCVUdfTUVOVVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjI1LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxNTkyMQoJCQkJCQkJb3V0cHV0OiAzNwoJCQkJCQkJdGhvdWdodHM6IDM2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBhbiBleHBlcnQmIzM5O3MgaW50ZXJuYWwgbW9ub2xvZ3VlOgoKKipEZXBlbmRlbmNpZXMgYW5kIHRoZSBNQUM4MDIxMSBMYXllcioqCgpBbHJpZ2h0LCBzbyBJJiMzOTttIGRpZ2dpbmcgaW50byBgTUFDODAyMTFgIGFnYWluLiBSaWdodCwgYE1BQzgwMjExYCBhYnNvbHV0ZWx5IGRlcGVuZHMgb24gYENGRzgwMjExYC4gVGhhdCYjMzk7cyBmdW5kYW1lbnRhbCwgd2Uga25vdyB0aGF0LiBMZXQmIzM5O3MgbWFrZSBzdXJlIG91ciB1bmRlcnN0YW5kaW5nIG9mIHRoYXQgcmVtYWlucyBzaGFycCBhbmQgdGhhdCBhbnkgd29yayBiZWluZyBkb25lIGRvd25zdHJlYW0gZG9lc24mIzM5O3QgaW50cm9kdWNlIHVud2FudGVkIGZyaWN0aW9uLiBJIG5lZWQgdG8gcXVpY2tseSByZWZyZXNoIG15c2VsZiBvbiB0aGUgc3BlY2lmaWNzIG9mIHRob3NlIGRlcGVuZGVuY2llcy4gTGV0IG1lIGdvIHRha2UgYSBsb29rIGF0IHRoZSBgQ0ZHODAyMTFgIHNpZGUgb2YgdGhpbmdzIHRvIGNvbmZpcm0gZXZlcnl0aGluZyBpcyBhcyBpdCBzaG91bGQgYmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjQ5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBDRkc4MDIxMXxkZXBlbmRzIG9uJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L3dpcmVsZXNzL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7bmV0L3dpcmVsZXNzL0tjb25maWc9NT1jb25maWcgV0VYVF9DT1JFXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy02LVx0ZGVmX2Jvb2wgeVxubmV0L3dpcmVsZXNzL0tjb25maWc6NzpcdGRlcGVuZHMgb24gQ0ZHODAyMTFfV0VYVCB8fCBXSVJFTEVTU19FWFRcbm5ldC93aXJlbGVzcy9LY29uZmlnLTgtXG5uZXQvd2lyZWxlc3MvS2NvbmZpZz05PWNvbmZpZyBXRVhUX1BST0Ncbm5ldC93aXJlbGVzcy9LY29uZmlnLTEwLVx0ZGVmX2Jvb2wgeVxubmV0L3dpcmVsZXNzL0tjb25maWc6MTE6XHRkZXBlbmRzIG9uIFBST0NfRlNcbm5ldC93aXJlbGVzcy9LY29uZmlnOjEyOlx0ZGVwZW5kcyBvbiBXRVhUX0NPUkVcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEzLVxubmV0L3dpcmVsZXNzL0tjb25maWc9MTQ9Y29uZmlnIFdFWFRfUFJJVlxuLS1cbm5ldC93aXJlbGVzcy9LY29uZmlnLTE2LVxubmV0L3dpcmVsZXNzL0tjb25maWc6MTc6Y29uZmlnIENGRzgwMjExXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xOC1cdHRyaXN0YXRlIFwmIzM0O2NmZzgwMjExIC0gd2lyZWxlc3MgY29uZmlndXJhdGlvbiBBUElcJiMzNDtcbm5ldC93aXJlbGVzcy9LY29uZmlnOjE5Olx0ZGVwZW5kcyBvbiBSRktJTEwgfHwgIVJGS0lMTFxubmV0L3dpcmVsZXNzL0tjb25maWctMjAtXHRzZWxlY3QgRldfTE9BREVSXG4tLVxubmV0L3dpcmVsZXNzL0tjb25maWc9Mzg9Y29uZmlnIE5MODAyMTFfVEVTVE1PREVcbi0tXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy01MS1cbm5ldC93aXJlbGVzcy9LY29uZmlnOjUyOmNvbmZpZyBDRkc4MDIxMV9ERVZFTE9QRVJfV0FSTklOR1Ncbm5ldC93aXJlbGVzcy9LY29uZmlnLTUzLVx0Ym9vbCBcJiMzNDtlbmFibGUgZGV2ZWxvcGVyIHdhcm5pbmdzXCYjMzQ7XG4tLVxubmV0L3dpcmVsZXNzL0tjb25maWctNjctXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzo2ODpjb25maWcgQ0ZHODAyMTFfQ0VSVElGSUNBVElPTl9PTlVTXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy02OS1cdGJvb2wgXCYjMzQ7Y2ZnODAyMTEgY2VydGlmaWNhdGlvbiBvbnVzXCYjMzQ7XG5uZXQvd2lyZWxlc3MvS2NvbmZpZzo3MDpcdGRlcGVuZHMgb24gRVhQRVJUXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy03MS1cdGRlZmF1bHQgblxuLS1cbm5ldC93aXJlbGVzcy9LY29uZmlnLTg4LVxubmV0L3dpcmVsZXNzL0tjb25maWc6ODk6Y29uZmlnIENGRzgwMjExX1JFUVVJUkVfU0lHTkVEX1JFR0RCXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy05MC1cdGJvb2wgXCYjMzQ7cmVxdWlyZSByZWdkYiBzaWduYXR1cmVcJiMzNDsgaWYgQ0ZHODAyMTFfQ0VSVElGSUNBVElPTl9PTlVTXG4tLVxubmV0L3dpcmVsZXNzL0tjb25maWctOTgtXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzo5OTpjb25maWcgQ0ZHODAyMTFfVVNFX0tFUk5FTF9SRUdEQl9LRVlTXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMDAtXHRib29sIFwmIzM0O2FsbG93IHJlZ2RiIGtleXMgc2hpcHBlZCB3aXRoIHRoZSBrZXJuZWxcJiMzNDsgaWYgQ0ZHODAyMTFfQ0VSVElGSUNBVElPTl9PTlVTXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMDEtXHRkZWZhdWx0IHlcbm5ldC93aXJlbGVzcy9LY29uZmlnOjEwMjpcdGRlcGVuZHMgb24gQ0ZHODAyMTFfUkVRVUlSRV9TSUdORURfUkVHREJcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEwMy1cdGhlbHBcbi0tXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMTAtXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMTE6Y29uZmlnIENGRzgwMjExX0VYVFJBX1JFR0RCX0tFWURJUlxubmV0L3dpcmVsZXNzL0tjb25maWctMTEyLVx0c3RyaW5nIFwmIzM0O2FkZGl0aW9uYWwgcmVnZGIga2V5IGRpcmVjdG9yeVwmIzM0OyBpZiBDRkc4MDIxMV9DRVJUSUZJQ0FUSU9OX09OVVNcbm5ldC93aXJlbGVzcy9LY29uZmlnOjExMzpcdGRlcGVuZHMgb24gQ0ZHODAyMTFfUkVRVUlSRV9TSUdORURfUkVHREJcbm5ldC93aXJlbGVzcy9LY29uZmlnLTExNC1cdGhlbHBcbi0tXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMjEtXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMjI6Y29uZmlnIENGRzgwMjExX1JFR19DRUxMVUxBUl9ISU5UU1xubmV0L3dpcmVsZXNzL0tjb25maWctMTIzLVx0Ym9vbCBcJiMzNDtjZmc4MDIxMSByZWd1bGF0b3J5IHN1cHBvcnQgZm9yIGNlbGx1bGFyIGJhc2Ugc3RhdGlvbiBoaW50c1wmIzM0O1xubmV0L3dpcmVsZXNzL0tjb25maWc6MTI0Olx0ZGVwZW5kcyBvbiBDRkc4MDIxMV9DRVJUSUZJQ0FUSU9OX09OVVNcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEyNS1cdGhlbHBcbi0tXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMzQtXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMzU6Y29uZmlnIENGRzgwMjExX1JFR19SRUxBWF9OT19JUlxubmV0L3dpcmVsZXNzL0tjb25maWctMTM2LVx0Ym9vbCBcJiMzNDtjZmc4MDIxMSBzdXBwb3J0IGZvciBOT19JUiByZWxheGF0aW9uXCYjMzQ7XG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMzc6XHRkZXBlbmRzIG9uIENGRzgwMjExX0NFUlRJRklDQVRJT05fT05VU1xubmV0L3dpcmVsZXNzL0tjb25maWctMTM4LVx0aGVscFxuLS1cbm5ldC93aXJlbGVzcy9LY29uZmlnLTE1OC1cbm5ldC93aXJlbGVzcy9LY29uZmlnOjE1OTpjb25maWcgQ0ZHODAyMTFfREVGQVVMVF9QU1xubmV0L3dpcmVsZXNzL0tjb25maWctMTYwLVx0Ym9vbCBcJiMzNDtlbmFibGUgcG93ZXJzYXZlIGJ5IGRlZmF1bHRcJiMzNDtcbi0tXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xNjgtXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxNjk6Y29uZmlnIENGRzgwMjExX0RFQlVHRlNcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE3MC1cdGJvb2wgXCYjMzQ7Y2ZnODAyMTEgRGVidWdGUyBlbnRyaWVzXCYjMzQ7XG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxNzE6XHRkZXBlbmRzIG9uIERFQlVHX0ZTXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xNzItXHRoZWxwXG4tLVxubmV0L3dpcmVsZXNzL0tjb25maWctMTc2LVxubmV0L3dpcmVsZXNzL0tjb25maWc6MTc3OmNvbmZpZyBDRkc4MDIxMV9DUkRBX1NVUFBPUlRcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE3OC1cdGJvb2wgXCYjMzQ7c3VwcG9ydCBDUkRBXCYjMzQ7IGlmIEVYUEVSVFxuLS1cbm5ldC93aXJlbGVzcy9LY29uZmlnLTE4Ni1cbm5ldC93aXJlbGVzcy9LY29uZmlnOjE4Nzpjb25maWcgQ0ZHODAyMTFfV0VYVFxubmV0L3dpcmVsZXNzL0tjb25maWctMTg4LVx0Ym9vbCBcJiMzNDtjZmc4MDIxMSB3aXJlbGVzcyBleHRlbnNpb25zIGNvbXBhdGliaWxpdHlcJiMzNDtcbi0tXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xOTMtXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxOTQ6Y29uZmlnIENGRzgwMjExX0tVTklUX1RFU1Rcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE5NS1cdHRyaXN0YXRlIFwmIzM0O0tVbml0IHRlc3RzIGZvciBjZmc4MDIxMVwmIzM0OyBpZiAhS1VOSVRfQUxMX1RFU1RTXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxOTY6XHRkZXBlbmRzIG9uIEtVTklUXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxOTc6XHRkZXBlbmRzIG9uIENGRzgwMjExXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xOTgtXHRkZWZhdWx0IEtVTklUX0FMTF9URVNUU1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjI3LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxNzU1MQoJCQkJCQkJb3V0cHV0OiAzMgoJCQkJCQkJdGhvdWdodHM6IDc3NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBXaXJlbGVzcyBEcml2ZXIgRml4IGZvciBGdXp6aW5nKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBhIHBvdGVudGlhbCBmdXp6aW5nIHRhcmdldC4gSXQgbG9va3MgbGlrZSB0aGUgYENGRzgwMjExYCBjb3JlIGRvZXNuJiMzOTt0IGhhdmUgYW55IHNwZWNpZmljIGRlcGVuZGVuY2llcyBiZXlvbmQgdGhlIGBSRktJTExgIG1vZHVsZSwgb3Igbm90IGBSRktJTExgIHdoaWNoIGlzIGdvb2QgdG8ga25vdy4gU28sIHRvIGVuc3VyZSB0aGlzIGNvZGUgaXMgaW5jbHVkZWQgaW4gdGhlIHN5emthbGxlciBjb25maWd1cmF0aW9uLCBJIG5lZWQgdG8gbWFrZSBzdXJlIHRoZXNlIGNvbmZpZ3MgYXJlIHNldDogYE1UNzkyMVVgLCBgTVQ3OTI1VWAsIGBNQUM4MDIxMWAsIGBDRkc4MDIxMWAuIEkgc2hvdWxkIGFsc28gbWFrZSBzdXJlIGBVU0JgIGlzIGVuYWJsZWQsIGV2ZW4gdGhvdWdoIGl0JiMzOTtzIGxpa2VseSBhbHJlYWR5IGluIHRoZSBzdGFuZGFyZCBjb25maWdzLiBBY3R1YWxseSwgaG9sZCBvbiwgYE1UNzkyMVVgIGRvZXMgaGF2ZSBkZXBlbmRlbmNpZXMgb24gYE1BQzgwMjExYCBhbmQgYFVTQmAsIHNvIGxldCYjMzk7cyBqdXN0IG1ha2UgdGhlIGxpc3QgbW9yZSBleHBsaWNpdDogYE1UNzkyMVVgLCBgTVQ3OTI1VWAsIGBNQUM4MDIxMWAsIGBDRkc4MDIxMWAuCgpUaGUgZm9jdXMgc3ltYm9scyBoZXJlIGFyZSBnb2luZyB0byBiZSBgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAgYW5kIGBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYC4gSSBzaG91bGQgcXVpY2tseSBkb3VibGUtY2hlY2sgdGhlIGRpZmYgZm9yIGFueSBvdGhlciBtb2RpZmllZCBmdW5jdGlvbnMuIEFoYSwgaGVyZSYjMzk7cyB0aGUgY29kZToKCmBgYGRpZmYKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmMKQEAgLTgyOCwxMSAmIzQzOzgyOCwxNCBAQCB2b2lkIG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LAogCXUxNiBpZHg7CiAKIAlpZHggPSBsZTMyX2dldF9iaXRzKHR4d2lbMV0sIE1UX1RYRDFfV0xBTl9JRFgpOwomIzQzOwomIzQzOwlyY3VfcmVhZF9sb2NrKCk7CiAJd2NpZCA9IF9fbXQ3Nl93Y2lkX3B0cihtZGV2LCBpZHgpOwogCXN0YSA9IHdjaWRfdG9fc3RhKHdjaWQpOwogCiAJaWYgKHN0YSAmYW1wOyZhbXA7IGxpa2VseShlLSZndDtza2ItJmd0O3Byb3RvY29sICE9IGNwdV90b19iZTE2KEVUSF9QX1BBRSkpKQogCQltdDc2X2Nvbm5hYzJfdHhfY2hlY2tfYWdncihzdGEsIHR4d2kpOwomIzQzOwlyY3VfcmVhZF91bmxvY2soKTsKIAogCXNrYl9wdWxsKGUtJmd0O3NrYiwgaGVhZHJvb20pOwogCW10NzZfdHhfY29tcGxldGVfc2tiKG1kZXYsIGUtJmd0O3djaWQsIGUtJmd0O3NrYik7CmBgYAoKQW5kIGl0JiMzOTtzIGEgdmVyeSBzaW1pbGFyIG1vZGlmaWNhdGlvbiBmb3IgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgLiBUaGUgcGF0Y2ggYWRkcmVzc2VzIGFuIFJDVSByZWFkIGxvY2sgaXNzdWUgaW4gdGhlIFRYIGNvbXBsZXRpb24gaGFuZGxlcnMgZm9yIHRoZSBNZWRpYXRlayBNVDc5MjEgYW5kIE1UNzkyNSBVU0IvU0RJTyB3aXJlbGVzcyBkcml2ZXJzLiBUaGVzZSBkcml2ZXJzIGFyZSByZWFjaGFibGUgdGhyb3VnaCBVU0IgdXNpbmcgYSBgZHVtbXlfaGNkYCwgd2hpY2ggaXMgZ3JlYXQgZm9yIGZ1enppbmcuCgpJIHdvbmRlciBpZiBgbXQ3Nl9jb25uYWMyX3R4X2NoZWNrX2FnZ3JgIG9yIGBtdDc5MjVfdHhfY2hlY2tfYWdncmAgd291bGQgYWxzbyBiZSBnb29kIGZvY3VzIHN5bWJvbHM/IFdlbGwsIHRoZXkmIzM5O3JlIGNhbGxlZCB3aXRoaW4gdGhlIG1vZGlmaWVkIGJsb2NrLCBidXQgdGhlIG1vZGlmaWNhdGlvbnMgYXJlICppbiogYG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIGFuZCBgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAsIHNvIGZvY3VzaW5nIG9uIHRob3NlIGB0eF9jb21wbGV0ZV9za2JgIGZ1bmN0aW9ucyBkaXJlY3RseSBtYWtlcyBtb3JlIHNlbnNlIHRvIG1lLgoKSSB3aWxsIG5lZWQgdG8gdmVyaWZ5IGlmIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBhbmQgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIGFyZSB3b3JraW5nIGFzIGV4cGVjdGVkLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjI4LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wNSAyMTo0OTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt2b2lkIG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2ImIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmM9ODE5PUVYUE9SVF9TWU1CT0xfR1BMKG10NzkyMV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYy04MjAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYzo4MjE6dm9pZCBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jLTgyMi1cdFx0XHRcdCAgICAgc3RydWN0IG10NzZfcXVldWVfZW50cnkgKmUpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbXQ3OTIxLmg9MzI4PWludCBtdDc5MjFfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LCB2b2lkICp0eHdpX3B0cixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tdDc5MjEuaC0zMzEtXHRcdFx0XHQgICBzdHJ1Y3QgbXQ3Nl90eF9pbmZvICp0eF9pbmZvKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL210NzkyMS5oOjMzMjp2b2lkIG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbXQ3OTIxLmgtMzMzLVx0XHRcdFx0ICAgICBzdHJ1Y3QgbXQ3Nl9xdWV1ZV9lbnRyeSAqZSk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjUwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE5NjI3CgkJCQkJCQlvdXRwdXQ6IDE1OAoJCQkJCQkJdGhvdWdodHM6IDExCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLCBhbmQgcmVuZGVyZWQgaW4gdGhlIGZpcnN0IHBlcnNvbjoKCioqQXNzZXNzbWVudCBhbmQgQ2xvc3VyZSoqCgpSaWdodCwgaW5pdGlhbCByZXZpZXcgY29tcGxldGUuIEFsbCB0aGUgZGF0YSBwb2ludHMgYWxpZ24gYXMgZXhwZWN0ZWQ7IHRoZSBtZXRob2RvbG9neSBob2xkcyB0cnVlLCBhbmQgdGhlIG91dHB1dHMgYXJlIHdpdGhpbiB0aGUgZXN0YWJsaXNoZWQgcGFyYW1ldGVycy4gTm90aGluZyYjMzk7cyBmbGFnZ2VkIGFueSByZWQgZmxhZ3MsIGFuZCBhbGwgZGVwZW5kZW5jaWVzIHNlZW0gdG8gYmUgcmVzb2x2aW5nIHByb3Blcmx5LiBOb3csIHRoZSBuZXh0IHN0ZXAgaXMgc3RyYWlnaHRmb3J3YXJkOiBJdCYjMzk7cyB0aW1lIHRvIHNldCB0aGUgcmVzdWx0cy4gTm8gZnVydGhlciBjYXZlYXRzIG9yIHF1YWxpZmljYXRpb25zIGFyZSBuZWVkZWQgYXQgdGhpcyBzdGFnZSwgdGhlIGNvbmNsdXNpb24gaXMgY2xlYXIuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MzAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzA1IDIxOjUwPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtNVDc5MjFVJiMzNDssCiAgICAmIzM0O01UNzkyNVUmIzM0OywKICAgICYjMzQ7TUFDODAyMTEmIzM0OywKICAgICYjMzQ7Q0ZHODAyMTEmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDttdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiJiMzNDssCiAgICAmIzM0O210NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2ImIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYW4gUkNVIHJlYWQgbG9jayBpc3N1ZSBpbiB0aGUgVFggY29tcGxldGlvbiBoYW5kbGVycyBvZiB0aGUgTWVkaWF0ZWsgTVQ3OTIxIGFuZCBNVDc5MjUgVVNCL1NESU8gd2lyZWxlc3MgZHJpdmVycy4gVGhlc2UgZHJpdmVycyBjYW4gYmUgZnV6emVkIHZpYSBVU0IgdXNpbmcgZHVtbXlfaGNkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtNVDc5MjFVJiMzNDssCiAgICAmIzM0O01UNzkyNVUmIzM0OywKICAgICYjMzQ7TUFDODAyMTEmIzM0OywKICAgICYjMzQ7Q0ZHODAyMTEmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDttdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiJiMzNDssCiAgICAmIzM0O210NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2ImIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYW4gUkNVIHJlYWQgbG9jayBpc3N1ZSBpbiB0aGUgVFggY29tcGxldGlvbiBoYW5kbGVycyBvZiB0aGUgTWVkaWF0ZWsgTVQ3OTIxIGFuZCBNVDc5MjUgVVNCL1NESU8gd2lyZWxlc3MgZHJpdmVycy4gVGhlc2UgZHJpdmVycyBjYW4gYmUgZnV6emVkIHZpYSBVU0IgdXNpbmcgZHVtbXlfaGNkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDg6NDAuNDcwMjc5MloiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjg2MDYyODc4ODg3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk1UNzkyMVVcIixcbiAgICBcIk1UNzkyNVVcIixcbiAgICBcIk1BQzgwMjExXCIsXG4gICAgXCJDRkc4MDIxMVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JcIixcbiAgICBcIm10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhbiBSQ1UgcmVhZCBsb2NrIGlzc3VlIGluIHRoZSBUWCBjb21wbGV0aW9uIGhhbmRsZXJzIG9mIHRoZSBNZWRpYXRlayBNVDc5MjEgYW5kIE1UNzkyNSBVU0IvU0RJTyB3aXJlbGVzcyBkcml2ZXJzLiBUaGVzZSBkcml2ZXJzIGNhbiBiZSBmdXp6ZWQgdmlhIFVTQiB1c2luZyBkdW1teV9oY2QuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ4OjQwLjQ3MDI4ODM1WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MjY0MjkxOTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAwZGNkNDNjZmFjZGI4ODU0YTk2YjVmOGE0MWE5MGJlOWZjY2U0OWY3XFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgQXVnIDUgMjE6NDg6MzkgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuY1xcbmluZGV4IGY3ZDU0NDcyZGExYjEuLjY2MWE1NGU2Yzc2MzcgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmNcXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuY1xcbkBAIC04MjgsMTEgKzgyOCwxNCBAQCB2b2lkIG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LFxcbiBcXHR1MTYgaWR4O1xcbiBcXG4gXFx0aWR4ID0gbGUzMl9nZXRfYml0cyh0eHdpWzFdLCBNVF9UWEQxX1dMQU5fSURYKTtcXG4rXFxuK1xcdHJjdV9yZWFkX2xvY2soKTtcXG4gXFx0d2NpZCA9IF9fbXQ3Nl93Y2lkX3B0cihtZGV2LCBpZHgpO1xcbiBcXHRzdGEgPSB3Y2lkX3RvX3N0YSh3Y2lkKTtcXG4gXFxuIFxcdGlmIChzdGEgXFx1MDAyNlxcdTAwMjYgbGlrZWx5KGUtXFx1MDAzZXNrYi1cXHUwMDNlcHJvdG9jb2wgIT0gY3B1X3RvX2JlMTYoRVRIX1BfUEFFKSkpXFxuIFxcdFxcdG10NzZfY29ubmFjMl90eF9jaGVja19hZ2dyKHN0YSwgdHh3aSk7XFxuK1xcdHJjdV9yZWFkX3VubG9jaygpO1xcbiBcXG4gXFx0c2tiX3B1bGwoZS1cXHUwMDNlc2tiLCBoZWFkcm9vbSk7XFxuIFxcdG10NzZfdHhfY29tcGxldGVfc2tiKG1kZXYsIGUtXFx1MDAzZXdjaWQsIGUtXFx1MDAzZXNrYik7XFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmNcXG5pbmRleCA2YjBjZDE5OTZlY2IzLi4yMGUwOTE5ZDI3ZjhkIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmNcXG5AQCAtMTQ3MCwxMSArMTQ3MCwxNCBAQCB2b2lkIG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LFxcbiBcXHR1MTYgaWR4O1xcbiBcXG4gXFx0aWR4ID0gbGUzMl9nZXRfYml0cyh0eHdpWzFdLCBNVF9UWEQxX1dMQU5fSURYKTtcXG4rXFxuK1xcdHJjdV9yZWFkX2xvY2soKTtcXG4gXFx0d2NpZCA9IF9fbXQ3Nl93Y2lkX3B0cihtZGV2LCBpZHgpO1xcbiBcXHRzdGEgPSB3Y2lkX3RvX3N0YSh3Y2lkKTtcXG4gXFxuIFxcdGlmIChzdGEgXFx1MDAyNlxcdTAwMjYgbGlrZWx5KGUtXFx1MDAzZXNrYi1cXHUwMDNlcHJvdG9jb2wgIT0gY3B1X3RvX2JlMTYoRVRIX1BfUEFFKSkpXFxuIFxcdFxcdG10NzkyNV90eF9jaGVja19hZ2dyKHN0YSwgZS1cXHUwMDNlc2tiLCB3Y2lkKTtcXG4rXFx0cmN1X3JlYWRfdW5sb2NrKCk7XFxuIFxcbiBcXHRza2JfcHVsbChlLVxcdTAwM2Vza2IsIGhlYWRyb29tKTtcXG4gXFx0bXQ3Nl90eF9jb21wbGV0ZV9za2IobWRldiwgZS1cXHUwMDNld2NpZCwgZS1cXHUwMDNlc2tiKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDg6NDEuMDk3NjgxNzQ0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6ODU0MzU0Njc2MTMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTVQ3OTIxVVwiLFxuICAgIFwiTVQ3OTI1VVwiLFxuICAgIFwiTUFDODAyMTFcIixcbiAgICBcIkNGRzgwMjExXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYlwiLFxuICAgIFwibXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYlwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGFuIFJDVSByZWFkIGxvY2sgaXNzdWUgaW4gdGhlIFRYIGNvbXBsZXRpb24gaGFuZGxlcnMgb2YgdGhlIE1lZGlhdGVrIE1UNzkyMSBhbmQgTVQ3OTI1IFVTQi9TRElPIHdpcmVsZXNzIGRyaXZlcnMuIFRoZXNlIGRyaXZlcnMgY2FuIGJlIGZ1enplZCB2aWEgVVNCIHVzaW5nIGR1bW15X2hjZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgMGRjZDQzY2ZhY2RiODg1NGE5NmI1ZjhhNDFhOTBiZTlmY2NlNDlmN1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgQXVnIDUgMjE6NDg6MzkgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jXG5pbmRleCBmN2Q1NDQ3MmRhMWIxLi42NjFhNTRlNmM3NjM3IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jXG5AQCAtODI4LDExICs4MjgsMTQgQEAgdm9pZCBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldixcbiBcdHUxNiBpZHg7XG4gXG4gXHRpZHggPSBsZTMyX2dldF9iaXRzKHR4d2lbMV0sIE1UX1RYRDFfV0xBTl9JRFgpO1xuK1xuK1x0cmN1X3JlYWRfbG9jaygpO1xuIFx0d2NpZCA9IF9fbXQ3Nl93Y2lkX3B0cihtZGV2LCBpZHgpO1xuIFx0c3RhID0gd2NpZF90b19zdGEod2NpZCk7XG4gXG4gXHRpZiAoc3RhIFx1MDAyNlx1MDAyNiBsaWtlbHkoZS1cdTAwM2Vza2ItXHUwMDNlcHJvdG9jb2wgIT0gY3B1X3RvX2JlMTYoRVRIX1BfUEFFKSkpXG4gXHRcdG10NzZfY29ubmFjMl90eF9jaGVja19hZ2dyKHN0YSwgdHh3aSk7XG4rXHRyY3VfcmVhZF91bmxvY2soKTtcbiBcbiBcdHNrYl9wdWxsKGUtXHUwMDNlc2tiLCBoZWFkcm9vbSk7XG4gXHRtdDc2X3R4X2NvbXBsZXRlX3NrYihtZGV2LCBlLVx1MDAzZXdjaWQsIGUtXHUwMDNlc2tiKTtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jXG5pbmRleCA2YjBjZDE5OTZlY2IzLi4yMGUwOTE5ZDI3ZjhkIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jXG5AQCAtMTQ3MCwxMSArMTQ3MCwxNCBAQCB2b2lkIG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LFxuIFx0dTE2IGlkeDtcbiBcbiBcdGlkeCA9IGxlMzJfZ2V0X2JpdHModHh3aVsxXSwgTVRfVFhEMV9XTEFOX0lEWCk7XG4rXG4rXHRyY3VfcmVhZF9sb2NrKCk7XG4gXHR3Y2lkID0gX19tdDc2X3djaWRfcHRyKG1kZXYsIGlkeCk7XG4gXHRzdGEgPSB3Y2lkX3RvX3N0YSh3Y2lkKTtcbiBcbiBcdGlmIChzdGEgXHUwMDI2XHUwMDI2IGxpa2VseShlLVx1MDAzZXNrYi1cdTAwM2Vwcm90b2NvbCAhPSBjcHVfdG9fYmUxNihFVEhfUF9QQUUpKSlcbiBcdFx0bXQ3OTI1X3R4X2NoZWNrX2FnZ3Ioc3RhLCBlLVx1MDAzZXNrYiwgd2NpZCk7XG4rXHRyY3VfcmVhZF91bmxvY2soKTtcbiBcbiBcdHNrYl9wdWxsKGUtXHUwMDNlc2tiLCBoZWFkcm9vbSk7XG4gXHRtdDc2X3R4X2NvbXBsZXRlX3NrYihtZGV2LCBlLVx1MDAzZXdjaWQsIGUtXHUwMDNlc2tiKTtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ4OjQxLjA5NzY4NTA0NFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjY0NDk3MTc4NjIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgTWVkaWF0ZWsgV2lyZWxlc3MgRHJpdmVyIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0J3MgdG91Y2hpbmcgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jYCBhbmQgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jYC4gVGhlIGNoYW5nZXMgaW52b2x2ZSBhZGRpbmcgYHJjdV9yZWFkX2xvY2soKWAgYW5kIGByY3VfcmVhZF91bmxvY2soKWAgYXJvdW5kIGNhbGxzIHRvIGBfX210NzZfd2NpZF9wdHIobWRldiwgaWR4KWAsIGB3Y2lkX3RvX3N0YSh3Y2lkKWAsIGFuZCBmdW5jdGlvbnMgbGlrZSBgbXQ3Nl9jb25uYWMyX3R4X2NoZWNrX2FnZ3Ioc3RhLCB0eHdpKWAgYW5kIGBtdDc5MjVfdHhfY2hlY2tfYWdncihzdGEsIGUtXHUwMDNlc2tiLCB3Y2lkKWAuIE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCB3aGF0J3MgdGhlIGNvbnRleHQgaGVyZSwgYW5kIGFyZSB0aGVyZSBzZWN1cml0eSBpbXBsaWNhdGlvbnM/XG5cblRoZXNlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIHdpdGhpbiBgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAgYW5kIGBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCwgd2hpY2ggaW5kaWNhdGVzIHRoaXMgaXMgcmVsYXRlZCB0byBNZWRpYXRlayBNVDc5MjEgYW5kIE1UNzkyNSBkcml2ZXJzLiBOb3csIE1UNzkyMSBhbmQgTVQ3OTI1IGFyZSB3aXJlbGVzcyBkcml2ZXJzLCBzcGVjaWZpY2FsbHkuIE15IGFudGVubmEgZ29lcyB1cCBpbW1lZGlhdGVseSDigJMgd2lyZWxlc3MgZHJpdmVycyBhcmUgb2Z0ZW4gYSBwcmltZSB0YXJnZXQgZm9yIGZ1enppbmcuIElmIHRoZXkgYXJlIFVTQiBvciBTRElPIGJhc2VkLCBvciBldmVuIG1hYzgwMjExX2h3c2ltLCB0aGV5J3JlIG9mdGVuIG1vcmUgc3VzY2VwdGlibGUgYW5kIGV4cGxvaXRhYmxlLlxuXG5UaGUgbmFtaW5nIG9mIHRoZSBmdW5jdGlvbnMsIGAqX3VzYl9zZGlvXypgLCBpcyBhIHN0cm9uZyBoaW50LiBUaGlzIG1lYW5zIFVTQiBvciBTRElPLiBJZiB0aGV5IGFyZSBmb3IgVVNCIGRldmljZXMsIHRoYXQgb3BlbnMgdGhlIHBvc3NpYmlsaXR5IG9mIGxldmVyYWdpbmcgZHVtbXlfaGNkIG9yIHN5emthbGxlcidzIFVTQiBmdXp6aW5nIGNhcGFiaWxpdGllcyB0byBwb2tlIGF0IHRoZW0uIE15IG5leHQgc3RlcCBpcyB0byBxdWlja2x5IGNoZWNrIGlmIE1UNzkyMVUgYW5kIE1UNzkyNVUgYXJlIGFjdHVhbGx5IFVTQiBkcml2ZXJzIGFuZCBpZiB0aGV5IGNhbiBiZSBlbmFibGVkLiBJIG5lZWQgdG8gY29uZmlybSB0aGlzIGlzIGEgZnV6emFibGUgdGFyZ2V0LlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNjExLCJPdXRwdXRUb2tlbnMiOjMxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzczLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDg6NDcuNTQ3NDA2MDc2WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIyMjEyMjE0NDcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYlwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYz04MTk9RVhQT1JUX1NZTUJPTF9HUEwobXQ3OTIxX3VzYl9zZGlvX3R4X3ByZXBhcmVfc2tiKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYy04MjAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmM6ODIxOnZvaWQgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmMtODIyLVxcdFxcdFxcdFxcdCAgICAgc3RydWN0IG10NzZfcXVldWVfZW50cnkgKmUpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYy04NDItfVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jOjg0MzpFWFBPUlRfU1lNQk9MX0dQTChtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYy04NDQtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tdDc5MjEuaD0zMjg9aW50IG10NzkyMV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsIHZvaWQgKnR4d2lfcHRyLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbXQ3OTIxLmgtMzMxLVxcdFxcdFxcdFxcdCAgIHN0cnVjdCBtdDc2X3R4X2luZm8gKnR4X2luZm8pO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL210NzkyMS5oOjMzMjp2b2lkIG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL210NzkyMS5oLTMzMy1cXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBtdDc2X3F1ZXVlX2VudHJ5ICplKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL3NkaW8uYz05MD1zdGF0aWMgaW50IG10NzkyMXNfcHJvYmUoc3RydWN0IHNkaW9fZnVuYyAqZnVuYyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL3NkaW8uYy05OS1cXHRcXHQudHhfcHJlcGFyZV9za2IgPSBtdDc5MjFfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2IsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvc2Rpby5jOjEwMDpcXHRcXHQudHhfY29tcGxldGVfc2tiID0gbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9zZGlvLmMtMTAxLVxcdFxcdC50eF9zdGF0dXNfZGF0YSA9IG10NzkyMV91c2Jfc2Rpb190eF9zdGF0dXNfZGF0YSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL3VzYi5jPTE1MD1zdGF0aWMgaW50IG10NzkyMXVfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKnVzYl9pbnRmLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvdXNiLmMtMTYwLVxcdFxcdC50eF9wcmVwYXJlX3NrYiA9IG10NzkyMV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS91c2IuYzoxNjE6XFx0XFx0LnR4X2NvbXBsZXRlX3NrYiA9IG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2IsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvdXNiLmMtMTYyLVxcdFxcdC50eF9zdGF0dXNfZGF0YSA9IG10NzkyMV91c2Jfc2Rpb190eF9zdGF0dXNfZGF0YSxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDg6NDkuNzY4NjM0NzczWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDA5NDc1OTIzOSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHM6XG5cbioqQW5hbHl6aW5nIHRoZSBtdDc5MjEgRHJpdmVyJ3MgVFggQ29tcGxldGlvbiBIYW5kbGVycyoqXG5cbk9rYXksIHNvIEknbSBkaWdnaW5nIGludG8gdGhlIE1lZGlhdGVrIE1UNzkyMSBkcml2ZXIgY29kZSwgc3BlY2lmaWNhbGx5IHRoZSBVU0IgYW5kIFNESU8gdmFyaWFudHMuIEkgc2VlIHRoYXQgdGhlIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBmdW5jdGlvbiBpcyBiZWluZyB1c2VkIGluIGJvdGggdGhlIFVTQiBwcm9iZSBmdW5jdGlvbiAoYG10NzkyMXVfcHJvYmVgKSBhbmQgdGhlIFNESU8gcHJvYmUgZnVuY3Rpb24gKGBtdDc5MjFzX3Byb2JlYCkuIFRoYXQncyBpbnRlcmVzdGluZywgc3VnZ2VzdGluZyBhIGRlZ3JlZSBvZiBzaGFyZWQgZnVuY3Rpb25hbGl0eSwgb3IgYXQgbGVhc3QgYSBzaW1pbGFyIG1lY2hhbmlzbSBmb3IgaGFuZGxpbmcgdHJhbnNtaXQgY29tcGxldGlvbnMgYWNyb3NzIHRoZSB0d28gaW50ZXJmYWNlIHR5cGVzLiBOb3csIGdpdmVuIHRoZSBzaW1pbGFyaXR5IGluIHRoZSBuYW1pbmcsIGFuZCB0aGUgYXJjaGl0ZWN0dXJhbCBwYXJhbGxlbHMgSSdtIGF3YXJlIG9mIGluIHRoZXNlIE1lZGlhdGVrIGRyaXZlcnMsIGxldCdzIGdvIGEgbGV2ZWwgZGVlcGVyIGFuZCBjaGVjayBvdXQgdGhlIGBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBmdW5jdGlvbiwgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgcGFyYWxsZWxzIHRvIGJlIGRyYXduIHRoZXJlLCBvciBpZiB0aGV5IGFyZSB3aWxkbHkgZGlmZmVyZW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjo0NDA0LCJPdXRwdXRUb2tlbnMiOjMxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NzgsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDg6NTMuODYzMzk2OTkyWiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI1NzI2NDUwMzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYlwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYz0xNDYxPUVYUE9SVF9TWU1CT0xfR1BMKG10NzkyNV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMtMTQ2Mi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYzoxNDYzOnZvaWQgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMtMTQ2NC1cXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBtdDc2X3F1ZXVlX2VudHJ5ICplKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmMtMTQ4NC19XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbWFjLmM6MTQ4NTpFWFBPUlRfU1lNQk9MX0dQTChtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYy0xNDg2LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvbXQ3OTI1Lmg9MzYyPWludCBtdDc5MjVfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LCB2b2lkICp0eHdpX3B0cixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L210NzkyNS5oLTM2NS1cXHRcXHRcXHRcXHQgICBzdHJ1Y3QgbXQ3Nl90eF9pbmZvICp0eF9pbmZvKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tdDc5MjUuaDozNjY6dm9pZCBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tdDc5MjUuaC0zNjctXFx0XFx0XFx0XFx0ICAgICBzdHJ1Y3QgbXQ3Nl9xdWV1ZV9lbnRyeSAqZSk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS91c2IuYz0xNDM9c3RhdGljIGludCBtdDc5MjV1X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICp1c2JfaW50ZixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L3VzYi5jLTE1My1cXHRcXHQudHhfcHJlcGFyZV9za2IgPSBtdDc5MjVfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2IsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvdXNiLmM6MTU0OlxcdFxcdC50eF9jb21wbGV0ZV9za2IgPSBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L3VzYi5jLTE1NS1cXHRcXHQudHhfc3RhdHVzX2RhdGEgPSBtdDc5MjVfdXNiX3NkaW9fdHhfc3RhdHVzX2RhdGEsXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ4OjU2LjQzNjA0NjY4M1oiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMxNzE3MDE4MzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIFVTQiBXaXJlbGVzcyBEcml2ZXIgRnV6emluZyBQb3RlbnRpYWwqKlxuXG5Pa2F5LCBzbyBJIHNlZSB0aGlzIGNvZGUgaXMgcGFydCBvZiBgbXQ3OTI1dV9wcm9iZWAsIHdoaWNoIHRlbGxzIG1lIHRoaXMgaXMgZGVmaW5pdGVseSBhIFVTQiB3aXJlbGVzcyBkcml2ZXIuIFRoYXQncyBnb29kLCBiZWNhdXNlIHRoYXQgaW1tZWRpYXRlbHkgb3BlbnMgdXAgdGhlIHBvc3NpYmlsaXR5IG9mIGxldmVyYWdpbmcgc3l6a2FsbGVyJ3MgVVNCIGZ1enppbmcgY2FwYWJpbGl0aWVzLiBNeSBmaXJzdCB0aG91Z2h0IGlzLCBcImZhbnRhc3RpYywgYW5vdGhlciBhcmVhIHRvIHByb2JlIVwiIE5vdywgbGV0J3MgdGFrZSBhIHF1aWNrIGxvb2sgYXQgdGhlIEtjb25maWcgb3B0aW9ucyBhc3NvY2lhdGVkIHdpdGggdGhlc2UgZHJpdmVycy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGNvbmZpZ3VyYXRpb24gc3BhY2UgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgc3BlY2lmaWMgc2V0dGluZ3Mgb3IgZGVwZW5kZW5jaWVzIHRoYXQgbWlnaHQgaW5mbHVlbmNlIGhvdyBJJ2xsIGFwcHJvYWNoIHRoZSBmdXp6aW5nIGNhbXBhaWduLiBJZGVudGlmeWluZyB0aG9zZSBvcHRpb25zIHdpbGwgaGVscCBtZSB0YWlsb3Igc3l6a2FsbGVyIGFuZCBteSBmdXp6aW5nIHNldHVwIGZvciBtYXhpbXVtIGVmZmVjdGl2ZW5lc3MuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjU0ODIsIk91dHB1dFRva2VucyI6MjEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo1OCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo0ODo1OS42MDc3NTI1MTlaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjQ1Njg2ODk0MywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgTVQ3OTIxVVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnPTE3PWNvbmZpZyBNVDc5MjFTXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTI3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWc6Mjg6Y29uZmlnIE1UNzkyMVVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTI5LVxcdHRyaXN0YXRlIFxcXCJNZWRpYVRlayBNVDc5MjFVIChVU0IpIHN1cHBvcnRcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjAyLjA2NDY1MDg5MloiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI5Mzk5ODMwNjEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSB0aG91Z2h0IHByb2Nlc3MsIGFzIGlmIEkgd2VyZSBjb25zaWRlcmluZyB0aGUgTVQ3OTI1VSBhbmQgaXRzIEtjb25maWc6XG5cbioqRGVlcCBEaXZlIGludG8gdGhlIE1UNzkyNVUgS2NvbmZpZyoqXG5cbk9rYXksIHRpbWUgdG8gZ2V0IG15IGhhbmRzIGRpcnR5LiBMZXQncyBzdGFydCBieSBkaWdnaW5nIGludG8gdGhlIEtjb25maWcgZm9yIHRoZSBNVDc5MjVVLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBleGFjdGx5IGhvdyB0aGlzIGRldmljZSBpcyBjb25maWd1cmVkIHdpdGhpbiB0aGUga2VybmVsLiBJJ2xsIG5lZWQgdG8gaWRlbnRpZnkgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9ucywgZGVwZW5kZW5jaWVzLCBhbmQgYW55IGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uIHRoYXQncyBnb2luZyBvbi4gSSdtIGxvb2tpbmcgZm9yIHRoZSBrZXkgc2V0dGluZ3MgcmVsYXRlZCB0byBpdHMgZnVuY3Rpb25hbGl0eTogZHJpdmVycywgZmlybXdhcmUgbG9hZGluZywgcG93ZXIgbWFuYWdlbWVudCwgYW5kIGFueXRoaW5nIGVsc2Ugc3BlY2lmaWMgdG8gaXRzIGJlaGF2aW9yIHdpdGhpbiB0aGUgc3lzdGVtLiBBcmUgdGhlcmUgYW55IHVudXN1YWwgZGVmYXVsdHMgb3IgcXVpcmtzIEkgc2hvdWxkIGJlIGF3YXJlIG9mPyBJJ2xsIGJlIG1ldGljdWxvdXNseSBleGFtaW5pbmcgdGhlIGRlcGVuZGVuY2llcyB0byBzZWUgd2hhdCBpbXBhY3QgdGhpcyBoYXMgb24gb3RoZXIgZGV2aWNlIGNvbmZpZ3VyYXRpb25zLiBLbm93aW5nIHRoZSBLY29uZmlnIGlzIGFic29sdXRlbHkgY3JpdGljYWwgZm9yIHVuZGVyc3RhbmRpbmcgaG93IHRoZSBkZXZpY2UgaXMgaW50ZWdyYXRlZCBhbmQgaG93IEkgbWlnaHQgY3VzdG9taXplIGl0LiBUaW1lIHRvIGdldCB0byB3b3JrLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1ODU5LCJPdXRwdXRUb2tlbnMiOjIxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDk6MDUuMDA0NjM4MjI0WiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMzczMDUwNDExLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBNVDc5MjVVXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWc9Nz1jb25maWcgTVQ3OTI1RVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZy0xOC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnOjE5OmNvbmZpZyBNVDc5MjVVXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZy0yMC1cXHR0cmlzdGF0ZSBcXFwiTWVkaWFUZWsgTVQ3OTI1VSAoVVNCKSBzdXBwb3J0XFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo0OTowNy4zNzc2OTUyNTVaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzA0NjM4MzA4MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRob3VnaHQgcHJvY2Vzcywgc3VtbWFyaXplZCBhcyB5b3UgcmVxdWVzdGVkOlxuXG4qKkFzc2Vzc2luZyBEZXBlbmRlbmNpZXM6IE1UNzkyMVUgYW5kIE1UNzkyNVUqKlxuXG5Pa2F5LCBzbyBJIG5lZWQgdG8gcXVpY2tseSBnZXQgYSBoYW5kbGUgb24gdGhlIHN1cHBvcnQgc3RydWN0dXJlcywgdGhlIG5lY2Vzc2FyeSBoYXJkd2FyZSBhbmQgc29mdHdhcmUgcmVsYXRpb25zaGlwcywgZm9yIGJvdGggdGhlIE1UNzkyMVUgYW5kIHRoZSBNVDc5MjVVLiBTcGVjaWZpY2FsbHksIEknbSB0aGlua2luZyBhYm91dCB0aGUgZGVwZW5kZW5jaWVzLiBXaGF0IGFyZSB0aGUga2V5IGVsZW1lbnRzIHRoZXNlIHdpcmVsZXNzIHNvbHV0aW9ucyByZWx5IG9uIHRvIGZ1bmN0aW9uIGNvcnJlY3RseT8gSSBuZWVkIHRvIHVuZGVyc3RhbmQgZXZlcnl0aGluZyBmcm9tIHRoZSBjaGlwc2V0cyBhbmQgZHJpdmVycyB0byBhbnkgZXh0ZXJuYWwgY29tcG9uZW50cywgbGlicmFyaWVzLCBvciBldmVuIHNwZWNpZmljIGZpcm13YXJlIHZlcnNpb25zIHRoYXQgYXJlIGNydWNpYWwgZm9yIG9wZXJhdGlvbi4gVGhpcyB3aWxsIGluZm9ybSBteSBuZXh0IHN0ZXBzLCB3aGV0aGVyIGl0IGlzIGZvciBkZXZlbG9wbWVudCwgdHJvdWJsZXNob290aW5nLCBvciBpbnRlZ3JhdGlvbi4gTGV0J3MgZGlnIGluIGFuZCBmaWd1cmUgb3V0IGV4YWN0bHkgd2hhdCB3ZSdyZSBkZWFsaW5nIHdpdGggaW4gdGVybXMgb2YgZGVwZW5kZW5jeSBtYW5hZ2VtZW50IGZvciB0aGVzZSB0d28uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjYyNDEsIk91dHB1dFRva2VucyI6NTksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo0OToxMC40MjQwODA0MjVaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYzOTMwNTIzLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBNVDc5MjFVfGNvbmZpZyBNVDc5MjVVfGRlcGVuZHMgb25cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnPTc9Y29uZmlnIE1UNzkyMUVcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWctOS1cXHRzZWxlY3QgTVQ3OTIxX0NPTU1PTlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWc6MTA6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWc6MTE6XFx0ZGVwZW5kcyBvbiBQQ0lcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTEyLVxcdGhlbHBcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWc9MTc9Y29uZmlnIE1UNzkyMVNcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWctMjAtXFx0c2VsZWN0IE1UNzkyMV9DT01NT05cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnOjIxOlxcdGRlcGVuZHMgb24gTUFDODAyMTFcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnOjIyOlxcdGRlcGVuZHMgb24gTU1DXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZy0yMy1cXHRoZWxwXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTI3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWc6Mjg6Y29uZmlnIE1UNzkyMVVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTI5LVxcdHRyaXN0YXRlIFxcXCJNZWRpYVRlayBNVDc5MjFVIChVU0IpIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9LY29uZmlnLTMxLVxcdHNlbGVjdCBNVDc5MjFfQ09NTU9OXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZzozMjpcXHRkZXBlbmRzIG9uIE1BQzgwMjExXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvS2NvbmZpZzozMzpcXHRkZXBlbmRzIG9uIFVTQlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL0tjb25maWctMzQtXFx0aGVscFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo0OToxMC40ODgwMTc0MDhaIiwiU2VxIjoxMywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzIyODIwODI0MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgbGV0J3MgZGl2ZSBpbnRvIHRoaXMuIEhlcmUncyBteSB0aG91Z2h0IHByb2Nlc3Mgb24gY2hlY2tpbmcgdGhvc2UgTVQ3OTI1VSBkZXBlbmRlbmNpZXMsIHN1bW1hcml6ZWQgaW4gdGhlIGZpcnN0IHBlcnNvbjpcblxuKipNVDc5MjVVIERlcGVuZGVuY2llczogQSBRdWljayBBc3Nlc3NtZW50KipcblxuQWxyaWdodCwgdGhlIGZpcnN0IHRoaW5nIEkgbmVlZCB0byBkbyBpcyBnZXQgYSBnb29kIGhhbmRsZSBvbiB0aGUgTVQ3OTI1VSdzIGRlcGVuZGVuY2llcy4gSSBjYW4ndCBqdXN0IGp1bXAgaW50byB0aGlzIHdpdGhvdXQga25vd2luZyB3aGF0IGVsc2UgdGhpcyB0aGluZyByZWxpZXMgb24uIEkgbmVlZCB0byBmaWd1cmUgb3V0IHdoYXQgZHJpdmVycywgZmlybXdhcmUsIGxpYnJhcmllcywgb3IgZXZlbiBvdGhlciBoYXJkd2FyZSBjb21wb25lbnRzIGl0IG5lZWRzIHRvIGZ1bmN0aW9uIHByb3Blcmx5LiBUaGlzIGlzIGNydWNpYWwgZm9yIHRyb3VibGVzaG9vdGluZywgZGVidWdnaW5nLCBhbmQsIG9mIGNvdXJzZSwgYW55IGtpbmQgb2YgaW50ZWdyYXRpb24gb3IgbW9kaWZpY2F0aW9uIEkgbWlnaHQgYmUgcGxhbm5pbmcgZG93biB0aGUgbGluZS4gSXQncyBhYm91dCBidWlsZGluZyBhIHJvYnVzdCB1bmRlcnN0YW5kaW5nIG9mIHRoZSB3aG9sZSBzeXN0ZW0gc28gdGhhdCBJIGRvbid0IG1pc3Mgc29tZXRoaW5nIGZ1bmRhbWVudGFsLiBMZXQncyBzZWUgd2hhdCB3ZSd2ZSBnb3QuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjcwNjMsIk91dHB1dFRva2VucyI6NTEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo0OToxMy43MTYyMjc4ODlaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjk4NTU2NDMwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBNVDc5MjVVfGRlcGVuZHMgb25cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnPTc9Y29uZmlnIE1UNzkyNUVcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWctOS1cXHRzZWxlY3QgTVQ3OTI1X0NPTU1PTlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWc6MTA6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWc6MTE6XFx0ZGVwZW5kcyBvbiBQQ0lcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnLTEyLVxcdGhlbHBcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWctMTgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZzoxOTpjb25maWcgTVQ3OTI1VVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWctMjAtXFx0dHJpc3RhdGUgXFxcIk1lZGlhVGVrIE1UNzkyNVUgKFVTQikgc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L0tjb25maWctMjItXFx0c2VsZWN0IE1UNzkyNV9DT01NT05cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnOjIzOlxcdGRlcGVuZHMgb24gTUFDODAyMTFcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9LY29uZmlnOjI0OlxcdGRlcGVuZHMgb24gVVNCXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvS2NvbmZpZy0yNS1cXHRoZWxwXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjEzLjgxNDc4OTYzOVoiLCJTZXEiOjE1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2ODU0OTA2ODExLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIFJlY2VudCBQYXRjaCBmb3IgTVQ3OTIxVS9NVDc5MjVVIERyaXZlcnMqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpbW1lZGlhdGVseSwgdGhlIGNvcmUgb2YgaXQgc2VlbXMgdG8gYmUgYWRkcmVzc2luZyBSQ1UgKFJlYWQtQ29weS1VcGRhdGUpIGlzc3VlcyB3aXRoaW4gdGhlIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBhbmQgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIGZ1bmN0aW9ucy4gVGhlc2UgZnVuY3Rpb25zIGhhbmRsZSBUWCBjb21wbGV0aW9uIGV2ZW50cywgd2hpY2ggaXMgY3JpdGljYWwgZm9yIG5ldHdvcmsgcGVyZm9ybWFuY2UsIGVzcGVjaWFsbHkgaW4gdGhlc2UgTWVkaWFUZWsgVVNCIFdpRmkgZGV2aWNlcy5cblxuRXNzZW50aWFsbHksIHRoZSBwYXRjaCBpcyBhZGRpbmcgYHJjdV9yZWFkX2xvY2soKWAgYW5kIGByY3VfcmVhZF91bmxvY2soKWAgY2FsbHMuIEl0J3MgYSBmdW5jdGlvbmFsIGZpeCBmb3IgYSBwb3RlbnRpYWwgUkNVIGhhemFyZC4gVGhlIGludGVyZXN0aW5nIHF1ZXN0aW9uIGlzLCBhcmUgdGhlc2UgZnVuY3Rpb25zIHJlYWNoYWJsZSB0aHJvdWdoIFVTQiBmdXp6aW5nPyBTaW5jZSB0aGV5J3JlIHRyaWdnZXJlZCBieSBUWCBjb21wbGV0aW9ucywgYW5kIHRob3NlIGNvdWxkIHJlc3VsdCBmcm9tIGVpdGhlciB1cyAqc2VuZGluZyogcGFja2V0cyBvdmVyIFVTQiAod2hpY2ggd291bGQgYmUgdGhlIGNvbW1vbiBjYXNlIGR1cmluZyBmdXp6aW5nKSwgb3IgdGhlIGRldmljZSBpdHNlbGYgc2VuZGluZyBjb21wbGV0aW9uIGV2ZW50cyAqYmFjayogdG8gdXMgb3ZlciBVU0IsIHRoZSBhbnN3ZXIgaXMgbGlrZWx5IHllcy5cblxuTm93LCBsZXQncyBzZWUuLi5pcyBgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAgc3RhdGljIG9yIGV4cG9ydGVkPyBBaCwgaXQncyAqZXhwb3J0ZWQqIHZpYSBgRVhQT1JUX1NZTUJPTF9HUEwobXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYilgLiBUaGF04oCZcyBhIGdvb2Qgc2lnbiDigJMgaXQncyBhY2Nlc3NpYmxlIGZyb20gb3RoZXIgbW9kdWxlcywgd2hpY2ggbWFrZXMgaXQgYSBzb2xpZCB0YXJnZXQuXG5cbkkgc2hvdWxkIGFsc28gY2hlY2sgaWYgYW55IHNwZWNpZmljIGNvbmZpZ3VyYXRpb25zIGFyZSBuZWVkZWQgZm9yIHRoaXMgdG8gYmUgYWN0aXZlLiBJJ2xsIG5lZWQgdG8gY29uZmlybSB0aGF0IGBNVDc2X0NPUkVgIGFuZCBgTVQ3Nl9VU0JgIGFyZSBlbmFibGVkIGFuZCBjaGVjayB0aGUgS2NvbmZpZyBmaWxlcyBmb3IgZGVwZW5kZW5jaWVzLCBzcGVjaWZpY2FsbHkgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZ2AuIFRoZXNlIGFyZSBwcmV0dHkgY29tbW9uLCBidXQgaXQncyBhIGdvb2QgcHJhY3RpY2UgdG8gdmVyaWZ5LlxuXG5cbiIsIklucHV0VG9rZW5zIjo3NzA3LCJPdXRwdXRUb2tlbnMiOjM5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzE3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjIwLjY2OTY5OTM5WiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2OTUzNDQ0MywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgTVQ3NlwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlLUNsZWFyXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnOjI6Y29uZmlnIE1UNzZfQ09SRVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0zLVxcdHRyaXN0YXRlXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctNS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWc6Njpjb25maWcgTVQ3Nl9MRURTXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTctXFx0Ym9vbFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTExLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZzoxMjpjb25maWcgTVQ3Nl9VU0JcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctMTMtXFx0dHJpc3RhdGVcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0xNS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWc6MTY6Y29uZmlnIE1UNzZfU0RJT1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0xNy1cXHR0cmlzdGF0ZVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTE5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZzoyMDpjb25maWcgTVQ3NngwMl9MSUJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctMjEtXFx0dHJpc3RhdGVcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZy0yMy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWc6MjQ6Y29uZmlnIE1UNzZ4MDJfVVNCXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTI1LVxcdHRyaXN0YXRlXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctMjctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnOjI4OmNvbmZpZyBNVDc2X0NPTk5BQ19MSUJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctMjktXFx0dHJpc3RhdGVcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZz0zNj1jb25maWcgTVQ3OTJ4X1VTQlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9LY29uZmlnLTM5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvS2NvbmZpZzo0MDpjb25maWcgTVQ3Nl9OUFVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L0tjb25maWctNDEtXFx0dHJpc3RhdGVcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDk6MjAuNzM5MjM5NDIzWiIsIlNlcSI6MTcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjU4MTUwMjkzMDAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqS2VybmVsIENvbmZpZ3VyYXRpb24gRGVjaXNpb25zIGZvciBNZWRpYVRlayBXaXJlbGVzcyBEcml2ZXJzKipcblxuT2theSwgc28gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIHJpZ2h0IGtlcm5lbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoaXMgTWVkaWFUZWsgd2lyZWxlc3MgZHJpdmVyIHdvcmsuIEJhc2VkIG9uIHdoYXQgSSdtIHNlZWluZywgaXQgbG9va3MgbGlrZSBgTVQ3OTIxVWAgYW5kIGBNVDc5MjVVYCBhcmUgdGhlIGtleSBjb25maWdzIHRvIGVuYWJsZS4gQW5kLCBpZiB3ZSB3YW50IHRvIHBvdGVudGlhbGx5IGV4cGxvcmUgU0RJTy1iYXNlZCB0ZXN0aW5nLCBgTVQ3OTIxU2AgbWlnaHQgYmUgd29ydGh3aGlsZSwgYWx0aG91Z2ggc3l6a2FsbGVyIGRvZXNuJ3QgaGF2ZSB0aGUgZWFzaWVzdCB0aW1lIGZ1enppbmcgU0RJTyBjb21wYXJlZCB0byBVU0IuIFN0aWxsLCBpdCBjb3VsZCBiZSB1c2VmdWwsIHNvIGxldCdzIGRpZyBhIGJpdCBkZWVwZXIgaW50byB0aGF0LiBSaWdodCwgYE1UNzkyMVNgIGRlcGVuZHMgb24gYE1BQzgwMjExYCBhbmQgYE1NQ2AsIHNvIHRob3NlIGFyZSBwcmVyZXF1aXNpdGVzLlxuXG5TbyB0aGUgcHJpbWFyeSBvbmVzIGFyZSBnb2luZyB0byBiZSBgTVQ3OTIxVWAsIGBNVDc5MjVVYCwgYW5kIHBvdGVudGlhbGx5IGBNVDc5MjFTYC5cblxuV2FpdCwgaG9sZCBvbiBhIHNlY29uZC4uLiB0aGUgYWN0dWFsIGRyaXZlciBjb2RlIHVwZGF0ZXMgYXJlIGxvY2F0ZWQgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jYCBhbmQgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jYC4gIEhtbSwgdGhvc2UgZmlsZXMgYXJlIGNvbmRpdGlvbmFsbHkgY29tcGlsZWQgYmFzZWQgb24gYE1UNzkyMV9DT01NT05gIGFuZCBgTVQ3OTI1X0NPTU1PTmAuIE9rYXksIHRoYXQncyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIuIExldCdzIG1ha2Ugc3VyZSBJIGFjY291bnQgZm9yIHRoYXQgd2hlbiBidWlsZGluZyBvdXQgdGhlIHJlbGV2YW50IGRlcGVuZGVuY2llcy4gTm93IEkgc2hvdWxkIGNoZWNrIHRoZSBNYWtlZmlsZSBpbiBgZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvYCB0byBjb25maXJtLlxuXG5cbiIsIklucHV0VG9rZW5zIjo5MDk3LCJPdXRwdXRUb2tlbnMiOjQzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjI4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjI2LjU1NDI3MTY1M1oiLCJTZXEiOjE4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODA2Mzk0NjEsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibWFjXFxcXC5vXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlPTY9b2JqLSQoQ09ORklHX01UNzkyMVUpICs9IG10NzkyMXUub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlLTctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvTWFrZWZpbGU6ODptdDc5MjEtY29tbW9uLXkgOj0gbWFjLm8gbWN1Lm8gcmVnZC5vIG1haW4ubyBpbml0Lm8gZGVidWdmcy5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvTWFrZWZpbGUtOS1tdDc5MjEtY29tbW9uLSQoQ09ORklHX05MODAyMTFfVEVTVE1PREUpICs9IHRlc3Rtb2RlLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9NYWtlZmlsZToxMDptdDc5MjFlLXkgOj0gcGNpLm8gcGNpX21hYy5vIHBjaV9tY3Uub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL01ha2VmaWxlOjExOm10NzkyMXMteSA6PSBzZGlvLm8gc2Rpb19tYWMubyBzZGlvX21jdS5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvTWFrZWZpbGUtMTItbXQ3OTIxdS15IDo9IHVzYi5vXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjI2LjYzNDkyMDMwNFoiLCJTZXEiOjE5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0Mzg3MTA1NzAwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgS2VybmVsIENvbmZpZ3VyYXRpb24gRGVwZW5kZW5jaWVzKipcblxuT2theSwgc28gSSdtIGRpZ2dpbmcgaW50byB0aGlzIGtlcm5lbCBjb25maWd1cmF0aW9uLiBJdCBsb29rcyBsaWtlIGBtYWMub2AgaXMgZGlyZWN0bHkgYnVpbHQgYXMgcGFydCBvZiBgbXQ3OTIxLWNvbW1vbi15YCwgYnV0IHRoYXQncyBvbmx5IHdoZW4gYENPTkZJR19NVDc5MjFfQ09NTU9OYCBpcyBzZXQuIFJpZ2h0LCBzbyBgTVQ3OTIxX0NPTU1PTmAgaXRzZWxmIGlzICpzZWxlY3RlZCogYnkgYSBidW5jaCBvZiBvdGhlciBjb25maWdzOiBgTVQ3OTIxRWAsIGBNVDc5MjFTYCwgYW5kIGBNVDc5MjFVYC4gVGhhdCBzdWdnZXN0cyBhIHN0cmVhbWxpbmVkIGFwcHJvYWNoLiBJbnN0ZWFkIG9mIG1lc3Npbmcgd2l0aCBgTVQ3OTIxX0NPTU1PTmAgZGlyZWN0bHksIEkgY2FuIHByb2JhYmx5IGp1c3QgZW5hYmxlIGBNVDc5MjFVYCBhbmQsIHNpbmNlIHdlJ3JlIGRlYWxpbmcgd2l0aCBVU0IgZGV2aWNlcywgYE1UNzkyNVVgIHRvby4gVGhhdCBzaG91bGQgcHVsbCBpbiB0aGUgY29tbW9uIGNvbXBvbmVudHMgd2UgbmVlZC4gSSdsbCBuZWVkIHRvIGRvdWJsZSBjaGVjaywgYnV0IEknbSBnb2luZyB0byB3YW50IGBNQUM4MDIxMWAgYW5kIGBVU0JgIGVuYWJsZWQgYXMgd2VsbCwgd2hpY2ggbWFrZXMgc2Vuc2UuIEp1c3QgdG8gYmUgY29tcGxldGVseSBzdXJlLCBJIHNob3VsZCB2ZXJpZnkgd2hhdCBkZXBlbmRzIG9uIGBNVDc5MjVfQ09NTU9OYCBpbiB0aGUgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L01ha2VmaWxlYC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTAwMzgsIk91dHB1dFRva2VucyI6NDMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNTQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDk6MzEuMDIyMDI4MzQ0WiIsIlNlcSI6MjAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMDYzNTYwNzksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibWFjXFxcXC5vXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L01ha2VmaWxlXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L01ha2VmaWxlPTU9b2JqLSQoQ09ORklHX01UNzkyNVUpICs9IG10NzkyNXUub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L01ha2VmaWxlLTYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGU6NzptdDc5MjUtY29tbW9uLXkgOj0gbWFjLm8gbWN1Lm8gcmVnZC5vIG1haW4ubyBpbml0Lm8gZGVidWdmcy5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGUtOC1tdDc5MjUtY29tbW9uLSQoQ09ORklHX05MODAyMTFfVEVTVE1PREUpICs9IHRlc3Rtb2RlLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9NYWtlZmlsZTo5Om10NzkyNWUteSA6PSBwY2kubyBwY2lfbWFjLm8gcGNpX21jdS5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjUvTWFrZWZpbGUtMTAtbXQ3OTI1dS15IDo9IHVzYi5vXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjMxLjEyODM4ODI3M1oiLCJTZXEiOjIxLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2MTU0OTE1NDU0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgU3RyYXRlZ3kgZm9yIG10NzkyNS1jb21tb24teSBNb2R1bGUqKlxuXG5Pa2F5LCBzbyBsb29raW5nIGF0IHRoaXMsIGBtYWMub2AgaXMgZGVmaW5pdGVseSBwYXJ0IG9mIGBtdDc5MjUtY29tbW9uLXlgLCB3aGljaCBpcyBpbXBvcnRhbnQgZm9yIGNvbnRleHQuIEkgc2VlIHRoYXQgdGhlIGNoYW5nZXMgYXJlIGluIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBhbmQgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgLiBUaGVzZSBhcmUgY2xlYXJseSBmdW5jdGlvbmFsIGNoYW5nZXMsIHNwZWNpZmljYWxseSBhZGRpbmcgYW4gUkNVIHJlYWQgbG9jayBiZWZvcmUgZGVyZWZlcmVuY2luZyBSQ1UtcHJvdGVjdGVkIHBvaW50ZXJzLiBHb29kIGNhdGNoOyB0aGF0J3MgdGhlIGtpbmQgb2YgdGhpbmcgdGhhdCBjYW4gbGVhZCB0byBzdWJ0bGUgcmFjZSBjb25kaXRpb25zIHRoYXQgZnV6emluZyBjYW4gdW5jb3Zlci4gVGhlIGZhY3QgdGhhdCB0aGVzZSBhcmUgcmVhY2hhYmxlIHRocm91Z2ggVVNCIGZ1enppbmcgY29uZmlybXMgdGhhdCB0aGlzIGlzIHNvbWV0aGluZyB3ZSBzaG91bGQgcHJpb3JpdGl6ZS4gSSdtIGdvaW5nIHRvIHNldCBgV29ydGhGdXp6aW5nPXRydWVgIGZvciB0aGVzZS5cblxuTXkgZm9jdXMgc2hvdWxkIGJlIG9uIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBhbmQgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIOKAkyB0aG9zZSBhcmUgdGhlIGtleSBzeW1ib2xzIHRvIHRyYWNrLlxuXG5Gb3IgY29uZmlndXJhdGlvbnMsIEkgbmVlZCB0byBlbmFibGUgYE1UNzkyMVVgLCBgTVQ3OTI1VWAsIGBNQUM4MDIxMWAsIGFuZCBgVVNCYC4gVGhvc2UgYXJlIHRoZSByZWxldmFudCBkcml2ZXJzIGZvciBVU0IgZnVuY3Rpb25hbGl0eS5cblxuTm93LCBsZXQncyBqdXN0IG1ha2UgYSBxdWljayBjYWxsIGFib3V0IGBNVDc5MjFTYC4gSXQgZGVwZW5kcyBvbiBgTU1DYC4gU3l6a2FsbGVy4oCZcyBNTUMgZnV6emluZyBpc24ndCB0aGUgc3Ryb25nZXN0LCBidXQgdGhlcmUncyBwcm9iYWJseSBubyBoYXJtIGluIGhhdmluZyBpdCBlbmFibGVkIHRvbywgZXZlbiBpZiBpdCBhZGRzIG9ubHkgYSBsaXR0bGUgY292ZXJhZ2UuIEZvciBub3csIGl0IG1pZ2h0IGJlIG1vcmUgYmVuZWZpY2lhbCB0byBsZWF2ZSBvdXQgYE1UNzkyMVNgIGFuZCBrZWVwIHRoZSBmb2N1cy4gXG5cbkFscmlnaHQsIEknbGwgZ28gYWhlYWQgd2l0aCBqdXN0IGVuYWJsaW5nIGBNVDc5MjFVYCBhbmQgYE1UNzkyNVVgLiBUaGF0J3MgYSBnb29kIHN0YXJ0aW5nIHBvaW50LiBJIHNob3VsZCBhbHNvIGNoZWNrIGlmIGBtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBpcyBleHBvcnRlZCB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgaGF2ZSB0byBhY2NvdW50IGZvciBhbnkgc3RyYW5nZSBpc3N1ZXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjEwNzY4LCJPdXRwdXRUb2tlbnMiOjM4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjkzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjM3LjI4MzMwNzM0N1oiLCJTZXEiOjIyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjYzNDYxNTM3NCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJFWFBPUlRfU1lNQk9MX0dQTFxcXFwobXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYlwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYz0xNDYzPXZvaWQgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYy0xNDg0LX1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyNS9tYWMuYzoxNDg1OkVYUE9SVF9TWU1CT0xfR1BMKG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2IpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTI1L21hYy5jLTE0ODYtXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjM5LjkxNzkyODIxMVoiLCJTZXEiOjIzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MDUxMDE2ODIzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkRlcGVuZGVuY3kgQW5hbHlzaXMgZm9yIE1UNzkyMVUgYW5kIE1UNzkyNVUqKlxuXG5SaWdodCwgb2theSwgc2VlbXMgbGlrZSB3ZSdyZSBnb29kIHRvIGdvIHRoZXJlLiBOb3csIGxldCdzIGp1c3QgbWFrZSBzdXJlIHRoZXJlIGFyZW4ndCBhbnkgc25lYWt5IGRlcGVuZGVuY2llcyBsdXJraW5nIGFyb3VuZCBmb3IgdGhvc2UgYE1UNzkyMVVgIGFuZCBgTVQ3OTI1VWAgZHJpdmVycy4gSG1tLCBpdCBsb29rcyBsaWtlIGJvdGggYE1UNzkyMVVgIGFuZCBgTVQ3OTI1VWAgcmVseSBvbiBgTUFDODAyMTFgIGFuZCwgb2YgY291cnNlLCB0aGUgYFVTQmAgc3RhY2suIE5vdywgdGhpbmtpbmcgYmFjaywgYE1BQzgwMjExYCBoYXMgaXRzIG93biBkZXBlbmRlbmN5IG9uIGBDRkc4MDIxMWAuIFNvLCB0byBhdm9pZCBhbnkgaGVhZGFjaGVzIGRvd24gdGhlIGxpbmUgYW5kIGVuc3VyZSBldmVyeXRoaW5nIGJ1aWxkcyBjb3JyZWN0bHksIGl0IHdvdWxkIHByb2JhYmx5IGJlIGEgZ29vZCBpZGVhIHRvIGFkZCBgQ0ZHODAyMTFgIHRvIHRoZSBtaXggYXMgd2VsbC4gSnVzdCB0byBiZSBjb21wbGV0ZWx5IHRob3JvdWdoLCBsZXQncyBxdWlja2x5IGRvdWJsZS1jaGVjayB0aGUgZGVwZW5kZW5jaWVzIG9mIGBNQUM4MDIxMWAgaXRzZWxmLCB0byBiZSBleHRyYSBzdXJlIHdlJ3JlIG5vdCBtaXNzaW5nIGFueXRoaW5nIG9idmlvdXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjExNzI2LCJPdXRwdXRUb2tlbnMiOjQxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTMzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjQzLjk2ODk0ODEzNVoiLCJTZXEiOjI0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NzEwNDE3ODMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIE1BQzgwMjExfGRlcGVuZHMgb25cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L21hYzgwMjExL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L21hYzgwMjExL0tjb25maWctMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyOmNvbmZpZyBNQUM4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTMtXFx0dHJpc3RhdGUgXFxcIkdlbmVyaWMgSUVFRSA4MDIuMTEgTmV0d29ya2luZyBTdGFjayAobWFjODAyMTEpXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQ6XFx0ZGVwZW5kcyBvbiBDRkc4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTUtXFx0c2VsZWN0IENSWVBUT1xcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWc9MTY9Y29tbWVudCBcXFwiQ0ZHODAyMTEgbmVlZHMgdG8gYmUgZW5hYmxlZCBmb3IgTUFDODAyMTFcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTc6XFx0ZGVwZW5kcyBvbiBDRkc4MDIxMT1uXFxubmV0L21hYzgwMjExL0tjb25maWctMTgtXFxubmV0L21hYzgwMjExL0tjb25maWc9MTk9aWYgTUFDODAyMTEgIT0gblxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIxOmNvbmZpZyBNQUM4MDIxMV9IQVNfUkNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMi1cXHRib29sXFxubmV0L21hYzgwMjExL0tjb25maWctMjMtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjQ6Y29uZmlnIE1BQzgwMjExX1JDX01JTlNUUkVMXFxubmV0L21hYzgwMjExL0tjb25maWctMjUtXFx0Ym9vbCBcXFwiTWluc3RyZWxcXFwiIGlmIEVYUEVSVFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWc9MzE9Y2hvaWNlXFxubmV0L21hYzgwMjExL0tjb25maWctMzItXFx0cHJvbXB0IFxcXCJEZWZhdWx0IHJhdGUgY29udHJvbCBhbGdvcml0aG1cXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MzM6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9IQVNfUkNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0zNC1cXHRkZWZhdWx0IE1BQzgwMjExX1JDX0RFRkFVTFRfTUlOU1RSRUxcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjQxOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUX01JTlNUUkVMXFxubmV0L21hYzgwMjExL0tjb25maWctNDItXFx0Ym9vbCBcXFwiTWluc3RyZWxcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6NDM6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9SQ19NSU5TVFJFTFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQ0LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnPTQ4PWVuZGNob2ljZVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTQ5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjUwOmNvbmZpZyBNQUM4MDIxMV9SQ19ERUZBVUxUXFxubmV0L21hYzgwMjExL0tjb25maWctNTEtXFx0c3RyaW5nXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZz01Nz1jb21tZW50IFxcXCJTb21lIHdpcmVsZXNzIGRyaXZlcnMgcmVxdWlyZSBhIHJhdGUgY29udHJvbCBhbGdvcml0aG1cXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6NTg6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMSBcXHUwMDI2XFx1MDAyNiBNQUM4MDIxMV9IQVNfUkM9blxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTU5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjYwOmNvbmZpZyBNQUM4MDIxMV9LVU5JVF9URVNUXFxubmV0L21hYzgwMjExL0tjb25maWctNjEtXFx0dHJpc3RhdGUgXFxcIktVbml0IHRlc3RzIGZvciBtYWM4MDIxMVxcXCIgaWYgIUtVTklUX0FMTF9URVNUU1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjYyOlxcdGRlcGVuZHMgb24gS1VOSVRcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo2MzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExXFxubmV0L21hYzgwMjExL0tjb25maWctNjQtXFx0ZGVmYXVsdCBLVU5JVF9BTExfVEVTVFNcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTY5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjcwOmNvbmZpZyBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctNzEtXFx0Ym9vbCBcXFwiRW5hYmxlIG1hYzgwMjExIG1lc2ggbmV0d29ya2luZyBzdXBwb3J0XFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjcyOlxcdGRlcGVuZHMgb24gTUFDODAyMTFcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy03My1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy03OC1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo3OTpjb25maWcgTUFDODAyMTFfTEVEU1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTgwLVxcdGJvb2wgXFxcIkVuYWJsZSBMRUQgdHJpZ2dlcnNcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6ODE6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjgyOlxcdGRlcGVuZHMgb24gTEVEU19DTEFTUz15IHx8IExFRFNfQ0xBU1M9TUFDODAyMTFcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy04My1cXHRzZWxlY3QgTEVEU19UUklHR0VSU1xcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctODctXFxubmV0L21hYzgwMjExL0tjb25maWc6ODg6Y29uZmlnIE1BQzgwMjExX0RFQlVHRlNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy04OS1cXHRib29sIFxcXCJFeHBvcnQgbWFjODAyMTEgaW50ZXJuYWxzIGluIERlYnVnRlNcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6OTA6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMSBcXHUwMDI2XFx1MDAyNiBDRkc4MDIxMV9ERUJVR0ZTXFxubmV0L21hYzgwMjExL0tjb25maWctOTEtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctOTYtXFxubmV0L21hYzgwMjExL0tjb25maWc6OTc6Y29uZmlnIE1BQzgwMjExX01FU1NBR0VfVFJBQ0lOR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTk4LVxcdGJvb2wgXFxcIlRyYWNlIGFsbCBtYWM4MDIxMSBkZWJ1ZyBtZXNzYWdlc1xcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzo5OTpcXHRkZXBlbmRzIG9uIE1BQzgwMjExIFxcdTAwMjZcXHUwMDI2IFRSQUNJTkdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMDAtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTA5LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExMDptZW51Y29uZmlnIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTEtXFx0Ym9vbCBcXFwiU2VsZWN0IG1hYzgwMjExIGRlYnVnZ2luZyBmZWF0dXJlc1xcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxMTI6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTExMy1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTUtXFxubmV0L21hYzgwMjExL0tjb25maWc6MTE2OmNvbmZpZyBNQUM4MDIxMV9OT0lOTElORVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTExNy1cXHRib29sIFxcXCJEbyBub3QgaW5saW5lIFRYL1JYIGhhbmRsZXJzXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjExODpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xMTktXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTMxLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjEzMjpjb25maWcgTUFDODAyMTFfVkVSQk9TRV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzMy1cXHRib29sIFxcXCJWZXJib3NlIGRlYnVnZ2luZyBvdXRwdXRcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTM0OlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTEzNS1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNDItXFxubmV0L21hYzgwMjExL0tjb25maWc6MTQzOmNvbmZpZyBNQUM4MDIxMV9NTE1FX0RFQlVHXFxubmV0L21hYzgwMjExL0tjb25maWctMTQ0LVxcdGJvb2wgXFxcIlZlcmJvc2UgbWFuYWdlZCBNTE1FIG91dHB1dFxcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxNDU6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXFxubmV0L21hYzgwMjExL0tjb25maWctMTQ2LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1My1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoxNTQ6Y29uZmlnIE1BQzgwMjExX1NUQV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE1NS1cXHRib29sIFxcXCJWZXJib3NlIHN0YXRpb24gZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE1NjpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNTctXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTYyLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE2Mzpjb25maWcgTUFDODAyMTFfSFRfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNjQtXFx0Ym9vbCBcXFwiVmVyYm9zZSBIVCBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTY1OlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE2Ni1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzQtXFxubmV0L21hYzgwMjExL0tjb25maWc6MTc1OmNvbmZpZyBNQUM4MDIxMV9PQ0JfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzYtXFx0Ym9vbCBcXFwiVmVyYm9zZSBPQ0IgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE3NzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xNzgtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTg1LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE4Njpjb25maWcgTUFDODAyMTFfSUJTU19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTE4Ny1cXHRib29sIFxcXCJWZXJib3NlIElCU1MgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE4ODpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xODktXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMTk2LVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjE5Nzpjb25maWcgTUFDODAyMTFfUFNfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0xOTgtXFx0Ym9vbCBcXFwiVmVyYm9zZSBwb3dlcnNhdmUgbW9kZSBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MTk5OlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIwMC1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMDgtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjA5OmNvbmZpZyBNQUM4MDIxMV9NUExfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMTAtXFx0Ym9vbCBcXFwiVmVyYm9zZSBtZXNoIHBlZXIgbGluayBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MjExOlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIxMjpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX01FU0hcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMTMtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjIxLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyMjpjb25maWcgTUFDODAyMTFfTVBBVEhfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yMjMtXFx0Ym9vbCBcXFwiVmVyYm9zZSBtZXNoIHBhdGggZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIyNDpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMjU6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctMjI2LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTIzNC1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMzU6Y29uZmlnIE1BQzgwMjExX01IV01QX0RFQlVHXFxubmV0L21hYzgwMjExL0tjb25maWctMjM2LVxcdGJvb2wgXFxcIlZlcmJvc2UgbWVzaCBIV01QIHJvdXRpbmcgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjIzNzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyMzg6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctMjM5LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0Ny1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNDg6Y29uZmlnIE1BQzgwMjExX01FU0hfU1lOQ19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI0OS1cXHRib29sIFxcXCJWZXJib3NlIG1lc2ggc3luY2hyb25pemF0aW9uIGRlYnVnZ2luZ1xcXCJcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNTA6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR19NRU5VXFxubmV0L21hYzgwMjExL0tjb25maWc6MjUxOlxcdGRlcGVuZHMgb24gTUFDODAyMTFfTUVTSFxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI1Mi1cXHRoZWxwXFxuLS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNTgtXFxubmV0L21hYzgwMjExL0tjb25maWc6MjU5OmNvbmZpZyBNQUM4MDIxMV9NRVNIX0NTQV9ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2MC1cXHRib29sIFxcXCJWZXJib3NlIG1lc2ggY2hhbm5lbCBzd2l0Y2ggZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI2MTpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNjI6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9NRVNIXFxubmV0L21hYzgwMjExL0tjb25maWctMjYzLVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI2OS1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyNzA6Y29uZmlnIE1BQzgwMjExX01FU0hfUFNfREVCVUdcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNzEtXFx0Ym9vbCBcXFwiVmVyYm9zZSBtZXNoIHBvd2Vyc2F2ZSBkZWJ1Z2dpbmdcXFwiXFxubmV0L21hYzgwMjExL0tjb25maWc6MjcyOlxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdfTUVOVVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI3MzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX01FU0hcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yNzQtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjgwLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MTpjb25maWcgTUFDODAyMTFfVERMU19ERUJVR1xcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTI4Mi1cXHRib29sIFxcXCJWZXJib3NlIFRETFMgZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI4MzpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yODQtXFx0aGVscFxcbi0tXFxubmV0L21hYzgwMjExL0tjb25maWctMjkyLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI5Mzpjb25maWcgTUFDODAyMTFfREVCVUdfQ09VTlRFUlNcXG5uZXQvbWFjODAyMTEvS2NvbmZpZy0yOTQtXFx0Ym9vbCBcXFwiRXh0cmEgc3RhdGlzdGljcyBmb3IgVFgvUlggZGVidWdnaW5nXFxcIlxcbm5ldC9tYWM4MDIxMS9LY29uZmlnOjI5NTpcXHRkZXBlbmRzIG9uIE1BQzgwMjExX0RFQlVHX01FTlVcXG5uZXQvbWFjODAyMTEvS2NvbmZpZzoyOTY6XFx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR0ZTXFxubmV0L21hYzgwMjExL0tjb25maWctMjk3LVxcdGhlbHBcXG4tLVxcbm5ldC9tYWM4MDIxMS9LY29uZmlnLTMwNy1cXG5uZXQvbWFjODAyMTEvS2NvbmZpZzozMDg6Y29uZmlnIE1BQzgwMjExX1NUQV9IQVNIX01BWF9TSVpFXFxubmV0L21hYzgwMjExL0tjb25maWctMzA5LVxcdGludCBcXFwiU3RhdGlvbiBoYXNoIHRhYmxlIG1heGltdW0gc2l6ZVxcXCIgaWYgTUFDODAyMTFfREVCVUdfTUVOVVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo0OTo0NC4wMzk5OTQ1ODdaIiwiU2VxIjoyNSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDE4MjA1NDU1OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBhbiBleHBlcnQncyBpbnRlcm5hbCBtb25vbG9ndWU6XG5cbioqRGVwZW5kZW5jaWVzIGFuZCB0aGUgTUFDODAyMTEgTGF5ZXIqKlxuXG5BbHJpZ2h0LCBzbyBJJ20gZGlnZ2luZyBpbnRvIGBNQUM4MDIxMWAgYWdhaW4uIFJpZ2h0LCBgTUFDODAyMTFgIGFic29sdXRlbHkgZGVwZW5kcyBvbiBgQ0ZHODAyMTFgLiBUaGF0J3MgZnVuZGFtZW50YWwsIHdlIGtub3cgdGhhdC4gTGV0J3MgbWFrZSBzdXJlIG91ciB1bmRlcnN0YW5kaW5nIG9mIHRoYXQgcmVtYWlucyBzaGFycCBhbmQgdGhhdCBhbnkgd29yayBiZWluZyBkb25lIGRvd25zdHJlYW0gZG9lc24ndCBpbnRyb2R1Y2UgdW53YW50ZWQgZnJpY3Rpb24uIEkgbmVlZCB0byBxdWlja2x5IHJlZnJlc2ggbXlzZWxmIG9uIHRoZSBzcGVjaWZpY3Mgb2YgdGhvc2UgZGVwZW5kZW5jaWVzLiBMZXQgbWUgZ28gdGFrZSBhIGxvb2sgYXQgdGhlIGBDRkc4MDIxMWAgc2lkZSBvZiB0aGluZ3MgdG8gY29uZmlybSBldmVyeXRoaW5nIGlzIGFzIGl0IHNob3VsZCBiZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MTU5MjEsIk91dHB1dFRva2VucyI6MzcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozNiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo0OTo0OC4yMjIwNTEyODZaIiwiU2VxIjoyNiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjExMDY2MjU4OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQ0ZHODAyMTF8ZGVwZW5kcyBvblwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvd2lyZWxlc3MvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvd2lyZWxlc3MvS2NvbmZpZz01PWNvbmZpZyBXRVhUX0NPUkVcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy02LVxcdGRlZl9ib29sIHlcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzo3OlxcdGRlcGVuZHMgb24gQ0ZHODAyMTFfV0VYVCB8fCBXSVJFTEVTU19FWFRcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy04LVxcbm5ldC93aXJlbGVzcy9LY29uZmlnPTk9Y29uZmlnIFdFWFRfUFJPQ1xcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEwLVxcdGRlZl9ib29sIHlcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMTpcXHRkZXBlbmRzIG9uIFBST0NfRlNcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMjpcXHRkZXBlbmRzIG9uIFdFWFRfQ09SRVxcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEzLVxcbm5ldC93aXJlbGVzcy9LY29uZmlnPTE0PWNvbmZpZyBXRVhUX1BSSVZcXG4tLVxcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE2LVxcbm5ldC93aXJlbGVzcy9LY29uZmlnOjE3OmNvbmZpZyBDRkc4MDIxMVxcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE4LVxcdHRyaXN0YXRlIFxcXCJjZmc4MDIxMSAtIHdpcmVsZXNzIGNvbmZpZ3VyYXRpb24gQVBJXFxcIlxcbm5ldC93aXJlbGVzcy9LY29uZmlnOjE5OlxcdGRlcGVuZHMgb24gUkZLSUxMIHx8ICFSRktJTExcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0yMC1cXHRzZWxlY3QgRldfTE9BREVSXFxuLS1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZz0zOD1jb25maWcgTkw4MDIxMV9URVNUTU9ERVxcbi0tXFxubmV0L3dpcmVsZXNzL0tjb25maWctNTEtXFxubmV0L3dpcmVsZXNzL0tjb25maWc6NTI6Y29uZmlnIENGRzgwMjExX0RFVkVMT1BFUl9XQVJOSU5HU1xcbm5ldC93aXJlbGVzcy9LY29uZmlnLTUzLVxcdGJvb2wgXFxcImVuYWJsZSBkZXZlbG9wZXIgd2FybmluZ3NcXFwiXFxuLS1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy02Ny1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzo2ODpjb25maWcgQ0ZHODAyMTFfQ0VSVElGSUNBVElPTl9PTlVTXFxubmV0L3dpcmVsZXNzL0tjb25maWctNjktXFx0Ym9vbCBcXFwiY2ZnODAyMTEgY2VydGlmaWNhdGlvbiBvbnVzXFxcIlxcbm5ldC93aXJlbGVzcy9LY29uZmlnOjcwOlxcdGRlcGVuZHMgb24gRVhQRVJUXFxubmV0L3dpcmVsZXNzL0tjb25maWctNzEtXFx0ZGVmYXVsdCBuXFxuLS1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy04OC1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzo4OTpjb25maWcgQ0ZHODAyMTFfUkVRVUlSRV9TSUdORURfUkVHREJcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy05MC1cXHRib29sIFxcXCJyZXF1aXJlIHJlZ2RiIHNpZ25hdHVyZVxcXCIgaWYgQ0ZHODAyMTFfQ0VSVElGSUNBVElPTl9PTlVTXFxuLS1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy05OC1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzo5OTpjb25maWcgQ0ZHODAyMTFfVVNFX0tFUk5FTF9SRUdEQl9LRVlTXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTAwLVxcdGJvb2wgXFxcImFsbG93IHJlZ2RiIGtleXMgc2hpcHBlZCB3aXRoIHRoZSBrZXJuZWxcXFwiIGlmIENGRzgwMjExX0NFUlRJRklDQVRJT05fT05VU1xcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEwMS1cXHRkZWZhdWx0IHlcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMDI6XFx0ZGVwZW5kcyBvbiBDRkc4MDIxMV9SRVFVSVJFX1NJR05FRF9SRUdEQlxcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEwMy1cXHRoZWxwXFxuLS1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMTAtXFxubmV0L3dpcmVsZXNzL0tjb25maWc6MTExOmNvbmZpZyBDRkc4MDIxMV9FWFRSQV9SRUdEQl9LRVlESVJcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMTItXFx0c3RyaW5nIFxcXCJhZGRpdGlvbmFsIHJlZ2RiIGtleSBkaXJlY3RvcnlcXFwiIGlmIENGRzgwMjExX0NFUlRJRklDQVRJT05fT05VU1xcbm5ldC93aXJlbGVzcy9LY29uZmlnOjExMzpcXHRkZXBlbmRzIG9uIENGRzgwMjExX1JFUVVJUkVfU0lHTkVEX1JFR0RCXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTE0LVxcdGhlbHBcXG4tLVxcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEyMS1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMjI6Y29uZmlnIENGRzgwMjExX1JFR19DRUxMVUxBUl9ISU5UU1xcbm5ldC93aXJlbGVzcy9LY29uZmlnLTEyMy1cXHRib29sIFxcXCJjZmc4MDIxMSByZWd1bGF0b3J5IHN1cHBvcnQgZm9yIGNlbGx1bGFyIGJhc2Ugc3RhdGlvbiBoaW50c1xcXCJcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxMjQ6XFx0ZGVwZW5kcyBvbiBDRkc4MDIxMV9DRVJUSUZJQ0FUSU9OX09OVVNcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xMjUtXFx0aGVscFxcbi0tXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTM0LVxcbm5ldC93aXJlbGVzcy9LY29uZmlnOjEzNTpjb25maWcgQ0ZHODAyMTFfUkVHX1JFTEFYX05PX0lSXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTM2LVxcdGJvb2wgXFxcImNmZzgwMjExIHN1cHBvcnQgZm9yIE5PX0lSIHJlbGF4YXRpb25cXFwiXFxubmV0L3dpcmVsZXNzL0tjb25maWc6MTM3OlxcdGRlcGVuZHMgb24gQ0ZHODAyMTFfQ0VSVElGSUNBVElPTl9PTlVTXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTM4LVxcdGhlbHBcXG4tLVxcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE1OC1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxNTk6Y29uZmlnIENGRzgwMjExX0RFRkFVTFRfUFNcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xNjAtXFx0Ym9vbCBcXFwiZW5hYmxlIHBvd2Vyc2F2ZSBieSBkZWZhdWx0XFxcIlxcbi0tXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTY4LVxcbm5ldC93aXJlbGVzcy9LY29uZmlnOjE2OTpjb25maWcgQ0ZHODAyMTFfREVCVUdGU1xcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE3MC1cXHRib29sIFxcXCJjZmc4MDIxMSBEZWJ1Z0ZTIGVudHJpZXNcXFwiXFxubmV0L3dpcmVsZXNzL0tjb25maWc6MTcxOlxcdGRlcGVuZHMgb24gREVCVUdfRlNcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xNzItXFx0aGVscFxcbi0tXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTc2LVxcbm5ldC93aXJlbGVzcy9LY29uZmlnOjE3Nzpjb25maWcgQ0ZHODAyMTFfQ1JEQV9TVVBQT1JUXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTc4LVxcdGJvb2wgXFxcInN1cHBvcnQgQ1JEQVxcXCIgaWYgRVhQRVJUXFxuLS1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xODYtXFxubmV0L3dpcmVsZXNzL0tjb25maWc6MTg3OmNvbmZpZyBDRkc4MDIxMV9XRVhUXFxubmV0L3dpcmVsZXNzL0tjb25maWctMTg4LVxcdGJvb2wgXFxcImNmZzgwMjExIHdpcmVsZXNzIGV4dGVuc2lvbnMgY29tcGF0aWJpbGl0eVxcXCJcXG4tLVxcbm5ldC93aXJlbGVzcy9LY29uZmlnLTE5My1cXG5uZXQvd2lyZWxlc3MvS2NvbmZpZzoxOTQ6Y29uZmlnIENGRzgwMjExX0tVTklUX1RFU1RcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xOTUtXFx0dHJpc3RhdGUgXFxcIktVbml0IHRlc3RzIGZvciBjZmc4MDIxMVxcXCIgaWYgIUtVTklUX0FMTF9URVNUU1xcbm5ldC93aXJlbGVzcy9LY29uZmlnOjE5NjpcXHRkZXBlbmRzIG9uIEtVTklUXFxubmV0L3dpcmVsZXNzL0tjb25maWc6MTk3OlxcdGRlcGVuZHMgb24gQ0ZHODAyMTFcXG5uZXQvd2lyZWxlc3MvS2NvbmZpZy0xOTgtXFx0ZGVmYXVsdCBLVU5JVF9BTExfVEVTVFNcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDVUMjE6NDk6NDguMzMyNzE4MDI0WiIsIlNlcSI6MjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjExNTY3OTUzMTI4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIFdpcmVsZXNzIERyaXZlciBGaXggZm9yIEZ1enppbmcqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBhIHBvdGVudGlhbCBmdXp6aW5nIHRhcmdldC4gSXQgbG9va3MgbGlrZSB0aGUgYENGRzgwMjExYCBjb3JlIGRvZXNuJ3QgaGF2ZSBhbnkgc3BlY2lmaWMgZGVwZW5kZW5jaWVzIGJleW9uZCB0aGUgYFJGS0lMTGAgbW9kdWxlLCBvciBub3QgYFJGS0lMTGAgd2hpY2ggaXMgZ29vZCB0byBrbm93LiBTbywgdG8gZW5zdXJlIHRoaXMgY29kZSBpcyBpbmNsdWRlZCBpbiB0aGUgc3l6a2FsbGVyIGNvbmZpZ3VyYXRpb24sIEkgbmVlZCB0byBtYWtlIHN1cmUgdGhlc2UgY29uZmlncyBhcmUgc2V0OiBgTVQ3OTIxVWAsIGBNVDc5MjVVYCwgYE1BQzgwMjExYCwgYENGRzgwMjExYC4gSSBzaG91bGQgYWxzbyBtYWtlIHN1cmUgYFVTQmAgaXMgZW5hYmxlZCwgZXZlbiB0aG91Z2ggaXQncyBsaWtlbHkgYWxyZWFkeSBpbiB0aGUgc3RhbmRhcmQgY29uZmlncy4gQWN0dWFsbHksIGhvbGQgb24sIGBNVDc5MjFVYCBkb2VzIGhhdmUgZGVwZW5kZW5jaWVzIG9uIGBNQUM4MDIxMWAgYW5kIGBVU0JgLCBzbyBsZXQncyBqdXN0IG1ha2UgdGhlIGxpc3QgbW9yZSBleHBsaWNpdDogYE1UNzkyMVVgLCBgTVQ3OTI1VWAsIGBNQUM4MDIxMWAsIGBDRkc4MDIxMWAuXG5cblRoZSBmb2N1cyBzeW1ib2xzIGhlcmUgYXJlIGdvaW5nIHRvIGJlIGBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiYCBhbmQgYG10NzkyNV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgLiBJIHNob3VsZCBxdWlja2x5IGRvdWJsZS1jaGVjayB0aGUgZGlmZiBmb3IgYW55IG90aGVyIG1vZGlmaWVkIGZ1bmN0aW9ucy4gQWhhLCBoZXJlJ3MgdGhlIGNvZGU6XG5cbmBgYGRpZmZcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuY1xuQEAgLTgyOCwxMSArODI4LDE0IEBAIHZvaWQgbXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYihzdHJ1Y3QgbXQ3Nl9kZXYgKm1kZXYsXG4gXHR1MTYgaWR4O1xuIFxuIFx0aWR4ID0gbGUzMl9nZXRfYml0cyh0eHdpWzFdLCBNVF9UWEQxX1dMQU5fSURYKTtcbitcbitcdHJjdV9yZWFkX2xvY2soKTtcbiBcdHdjaWQgPSBfX210NzZfd2NpZF9wdHIobWRldiwgaWR4KTtcbiBcdHN0YSA9IHdjaWRfdG9fc3RhKHdjaWQpO1xuIFxuIFx0aWYgKHN0YSBcdTAwMjZcdTAwMjYgbGlrZWx5KGUtXHUwMDNlc2tiLVx1MDAzZXByb3RvY29sICE9IGNwdV90b19iZTE2KEVUSF9QX1BBRSkpKVxuIFx0XHRtdDc2X2Nvbm5hYzJfdHhfY2hlY2tfYWdncihzdGEsIHR4d2kpO1xuK1x0cmN1X3JlYWRfdW5sb2NrKCk7XG4gXG4gXHRza2JfcHVsbChlLVx1MDAzZXNrYiwgaGVhZHJvb20pO1xuIFx0bXQ3Nl90eF9jb21wbGV0ZV9za2IobWRldiwgZS1cdTAwM2V3Y2lkLCBlLVx1MDAzZXNrYik7XG5gYGBcblxuQW5kIGl0J3MgYSB2ZXJ5IHNpbWlsYXIgbW9kaWZpY2F0aW9uIGZvciBgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAuIFRoZSBwYXRjaCBhZGRyZXNzZXMgYW4gUkNVIHJlYWQgbG9jayBpc3N1ZSBpbiB0aGUgVFggY29tcGxldGlvbiBoYW5kbGVycyBmb3IgdGhlIE1lZGlhdGVrIE1UNzkyMSBhbmQgTVQ3OTI1IFVTQi9TRElPIHdpcmVsZXNzIGRyaXZlcnMuIFRoZXNlIGRyaXZlcnMgYXJlIHJlYWNoYWJsZSB0aHJvdWdoIFVTQiB1c2luZyBhIGBkdW1teV9oY2RgLCB3aGljaCBpcyBncmVhdCBmb3IgZnV6emluZy5cblxuSSB3b25kZXIgaWYgYG10NzZfY29ubmFjMl90eF9jaGVja19hZ2dyYCBvciBgbXQ3OTI1X3R4X2NoZWNrX2FnZ3JgIHdvdWxkIGFsc28gYmUgZ29vZCBmb2N1cyBzeW1ib2xzPyBXZWxsLCB0aGV5J3JlIGNhbGxlZCB3aXRoaW4gdGhlIG1vZGlmaWVkIGJsb2NrLCBidXQgdGhlIG1vZGlmaWNhdGlvbnMgYXJlICppbiogYG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIGFuZCBgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAsIHNvIGZvY3VzaW5nIG9uIHRob3NlIGB0eF9jb21wbGV0ZV9za2JgIGZ1bmN0aW9ucyBkaXJlY3RseSBtYWtlcyBtb3JlIHNlbnNlIHRvIG1lLlxuXG5JIHdpbGwgbmVlZCB0byB2ZXJpZnkgaWYgYG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JgIGFuZCBgbXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYmAgYXJlIHdvcmtpbmcgYXMgZXhwZWN0ZWQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE3NTUxLCJPdXRwdXRUb2tlbnMiOjMyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6Nzc2LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjQ5OjU5LjkwMDY3NDM0M1oiLCJTZXEiOjI4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjUxNTkxNjEyNiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ2b2lkIG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2JcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmM9ODE5PUVYUE9SVF9TWU1CT0xfR1BMKG10NzkyMV91c2Jfc2Rpb190eF9wcmVwYXJlX3NrYik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFjLmMtODIwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jOjgyMTp2b2lkIG10NzkyMV91c2Jfc2Rpb190eF9jb21wbGV0ZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jLTgyMi1cXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBtdDc2X3F1ZXVlX2VudHJ5ICplKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbXQ3OTIxLmg9MzI4PWludCBtdDc5MjFfdXNiX3NkaW9fdHhfcHJlcGFyZV9za2Ioc3RydWN0IG10NzZfZGV2ICptZGV2LCB2b2lkICp0eHdpX3B0cixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTIxL210NzkyMS5oLTMzMS1cXHRcXHRcXHRcXHQgICBzdHJ1Y3QgbXQ3Nl90eF9pbmZvICp0eF9pbmZvKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tdDc5MjEuaDozMzI6dm9pZCBtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiKHN0cnVjdCBtdDc2X2RldiAqbWRldixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tdDc5MjEuaC0zMzMtXFx0XFx0XFx0XFx0ICAgICBzdHJ1Y3QgbXQ3Nl9xdWV1ZV9lbnRyeSAqZSk7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTA1VDIxOjUwOjAyLjQxNjU5NTMwOVoiLCJTZXEiOjI5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozOTg2NTYzNDgyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2UsIGFuZCByZW5kZXJlZCBpbiB0aGUgZmlyc3QgcGVyc29uOlxuXG4qKkFzc2Vzc21lbnQgYW5kIENsb3N1cmUqKlxuXG5SaWdodCwgaW5pdGlhbCByZXZpZXcgY29tcGxldGUuIEFsbCB0aGUgZGF0YSBwb2ludHMgYWxpZ24gYXMgZXhwZWN0ZWQ7IHRoZSBtZXRob2RvbG9neSBob2xkcyB0cnVlLCBhbmQgdGhlIG91dHB1dHMgYXJlIHdpdGhpbiB0aGUgZXN0YWJsaXNoZWQgcGFyYW1ldGVycy4gTm90aGluZydzIGZsYWdnZWQgYW55IHJlZCBmbGFncywgYW5kIGFsbCBkZXBlbmRlbmNpZXMgc2VlbSB0byBiZSByZXNvbHZpbmcgcHJvcGVybHkuIE5vdywgdGhlIG5leHQgc3RlcCBpcyBzdHJhaWdodGZvcndhcmQ6IEl0J3MgdGltZSB0byBzZXQgdGhlIHJlc3VsdHMuIE5vIGZ1cnRoZXIgY2F2ZWF0cyBvciBxdWFsaWZpY2F0aW9ucyBhcmUgbmVlZGVkIGF0IHRoaXMgc3RhZ2UsIHRoZSBjb25jbHVzaW9uIGlzIGNsZWFyLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxOTYyNywiT3V0cHV0VG9rZW5zIjoxNTgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0wNVQyMTo1MDowNi40MDMxNjIzN1oiLCJTZXEiOjMwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEyOTk4MzkyNiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTVQ3OTIxVVwiLFxuICAgIFwiTVQ3OTI1VVwiLFxuICAgIFwiTUFDODAyMTFcIixcbiAgICBcIkNGRzgwMjExXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibXQ3OTIxX3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYlwiLFxuICAgIFwibXQ3OTI1X3VzYl9zZGlvX3R4X2NvbXBsZXRlX3NrYlwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGFuIFJDVSByZWFkIGxvY2sgaXNzdWUgaW4gdGhlIFRYIGNvbXBsZXRpb24gaGFuZGxlcnMgb2YgdGhlIE1lZGlhdGVrIE1UNzkyMSBhbmQgTVQ3OTI1IFVTQi9TRElPIHdpcmVsZXNzIGRyaXZlcnMuIFRoZXNlIGRyaXZlcnMgY2FuIGJlIGZ1enplZCB2aWEgVVNCIHVzaW5nIGR1bW15X2hjZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJNVDc5MjFVXCIsXG4gICAgXCJNVDc5MjVVXCIsXG4gICAgXCJNQUM4MDIxMVwiLFxuICAgIFwiQ0ZHODAyMTFcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJtdDc5MjFfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiXCIsXG4gICAgXCJtdDc5MjVfdXNiX3NkaW9fdHhfY29tcGxldGVfc2tiXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYW4gUkNVIHJlYWQgbG9jayBpc3N1ZSBpbiB0aGUgVFggY29tcGxldGlvbiBoYW5kbGVycyBvZiB0aGUgTWVkaWF0ZWsgTVQ3OTIxIGFuZCBNVDc5MjUgVVNCL1NESU8gd2lyZWxlc3MgZHJpdmVycy4gVGhlc2UgZHJpdmVycyBjYW4gYmUgZnV6emVkIHZpYSBVU0IgdXNpbmcgZHVtbXlfaGNkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowr2mfw[1] Phase: Succeeded StartedAt: 2026-08-05 21:50:18 +0000 UTC FinishedAt: 2026-08-05 21:50:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-08-05 21:50:18 +0000 UTC FinishedAt: 2026-08-05 21:50:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2] Phase: Succeeded StartedAt: 2026-08-05 21:50:18 +0000 UTC FinishedAt: 2026-08-05 22:33:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-08-05 21:50:18 +0000 UTC FinishedAt: 2026-08-05 22:33:24 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-08-05 21:50:18 +0000 UTC FinishedAt: 2026-08-05 21:50:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-08-05 21:50:18 +0000 UTC FinishedAt: 2026-08-05 21:50:22 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-convert-artifact-112736380/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-08-05 21:50:28 +0000 UTC FinishedAt: 2026-08-05 22:11:08 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-08-05 21:50:28 +0000 UTC FinishedAt: 2026-08-05 22:11:08 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*980fedff-1357-4860-8155-ffee9159f3fc,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-convert-artifact-112736380/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "88049d05-514d-4cc0-af5c-0967cd80bd12", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-build-action-2305045418/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-08-05 21:50:28 +0000 UTC FinishedAt: 2026-08-05 22:10:42 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*980fedff-1357-4860-8155-ffee9159f3fc,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-convert-artifact-112736380/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "88049d05-514d-4cc0-af5c-0967cd80bd12", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-build-action-2305045418/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-08-05 22:11:08 +0000 UTC FinishedAt: 2026-08-05 22:11:08 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-08-05 22:11:08 +0000 UTC FinishedAt: 2026-08-05 22:11:08 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-08-05 22:11:08 +0000 UTC FinishedAt: 2026-08-05 22:11:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-08-05 22:11:08 +0000 UTC FinishedAt: 2026-08-05 22:11:19 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-convert-artifact-1546322619/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-08-05 22:11:29 +0000 UTC FinishedAt: 2026-08-05 22:13:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-08-05 22:11:29 +0000 UTC FinishedAt: 2026-08-05 22:13:09 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*88049d05-514d-4cc0-af5c-0967cd80bd12,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-build-action-2305045418/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-08-05 22:13:19 +0000 UTC FinishedAt: 2026-08-05 22:13:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-08-05 22:13:19 +0000 UTC FinishedAt: 2026-08-05 22:13:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-08-05 22:13:19 +0000 UTC FinishedAt: 2026-08-05 22:30:05 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-08-05 22:13:19 +0000 UTC FinishedAt: 2026-08-05 22:30:05 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*980fedff-1357-4860-8155-ffee9159f3fc,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-convert-artifact-1546322619/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "ee175d70-785e-4526-b676-54db46bf1358", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-build-action-860061151/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-08-05 22:13:19 +0000 UTC FinishedAt: 2026-08-05 22:29:55 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*980fedff-1357-4860-8155-ffee9159f3fc,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-convert-artifact-1546322619/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "ee175d70-785e-4526-b676-54db46bf1358", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-build-action-860061151/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-08-05 22:30:05 +0000 UTC FinishedAt: 2026-08-05 22:30:05 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-08-05 22:30:05 +0000 UTC FinishedAt: 2026-08-05 22:30:05 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-08-05 22:30:05 +0000 UTC FinishedAt: 2026-08-05 22:32:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-08-05 22:30:05 +0000 UTC FinishedAt: 2026-08-05 22:31:55 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*ee175d70-785e-4526-b676-54db46bf1358,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-build-action-860061151/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-08-05 22:32:04 +0000 UTC FinishedAt: 2026-08-05 22:33:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-08-05 22:32:04 +0000 UTC FinishedAt: 2026-08-05 22:33:24 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:track,Default:nil,Value:*KASAN,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:base-build-id,Default:nil,Value:*88049d05-514d-4cc0-af5c-0967cd80bd12,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*ee175d70-785e-4526-b676-54db46bf1358,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-build-action-2305045418/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-build-action-860061151/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-08-05 22:32:04 +0000 UTC FinishedAt: 2026-08-05 22:32:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-08-05 22:32:04 +0000 UTC FinishedAt: 2026-08-05 22:32:09 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-convert-artifact-2851691444/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-08-05 22:32:04 +0000 UTC FinishedAt: 2026-08-05 22:32:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-08-05 22:32:04 +0000 UTC FinishedAt: 2026-08-05 22:32:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-08-05 22:32:05 +0000 UTC FinishedAt: 2026-08-05 22:32:05 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-08-05 22:32:15 +0000 UTC FinishedAt: 2026-08-05 22:33:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflowr2mfw[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["mt7921_usb_sdio_tx_complete_skb","mt7925_usb_sdio_tx_complete_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"ea7ebb542d5833ceb3f031869e1ffacfe6ce54eb","config_name":"upstream-apparmor-kasan.config","enable_configs":["MT7921U","MT7925U","MAC80211","CFG80211"],"series_id":"9ee0576e-0bd8-4b1f-9c17-ea44de13248e","tree_name":"wireless-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/wireless/wireless-next.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-08-05 22:32:15 +0000 UTC FinishedAt: 2026-08-05 22:33:18 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*88049d05-514d-4cc0-af5c-0967cd80bd12,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*ee175d70-785e-4526-b676-54db46bf1358,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Fuzz,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-build-action-2305045418/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:/patched,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-build-action-860061151/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:config,Path:/tmp/config.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowr2mfw/series-workflowr2mfw-convert-artifact-2851691444/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,}