LyoKICogRmlubmlzaCByZXNvdXJjZXMgZm9yIG1zaHRtbCAKICoKICogQ29weXJpZ2h0IDIwMDUgS2ltbW8gTXlsbHl2aXJ0YQogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKICovCgoKTEFOR1VBR0UgTEFOR19GSU5OSVNILCBTVUJMQU5HX0RFRkFVTFQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19IVE1MRElTQUJMRUQgICAgIkhUTUw6biBu5Hl0dORtaW5lbiBvbiB05Gxs5GhldGtlbGzkIHBvaXN0ZXR0dSBr5Hl09nN05C4iCiAgICBJRFNfSFRNTERPQ1VNRU5UICAgICJIVE1MIERva3VtZW50dGkiCn0KCi8qIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBpbiBzaGRvY2xjLmRsbCAqLwoKSURSX0JST1dTRV9DT05URVhUX01FTlUgTUVOVQp7CiAgICBQT1BVUCAiT2xldHVzIgogICAgewogICAgICAgIE1FTlVJVEVNICImVGFrYWlzaW4iLCAgICAgICAgICAgICAgICAgICAgIElETV9CQUNLCiAgICAgICAgTUVOVUlURU0gIiZFdGVlbnDkaW4iLCAgICAgICAgICAgICAgICAgICAgSURNX0ZPUldBUkQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVGEmbGxlbm5hIFRhdXN0YS4uLiIsICAgICAgICAgICBJRE1fU0FWRUJBQ0tHUk9VTkRBUwogICAgICAgIE1FTlVJVEVNICImQXNldGEgVGF1c3Rha3NpIiwgICAgICAgICAgICAgIElETV9TRVRBU0JBQ0tHUk9VTkQKICAgICAgICBNRU5VSVRFTSAiJktvcGlvaSBUYXVzdGEiLCAgICAgICAgICAgICAgICBJRE1fQ09QWUJBQ0tHUk9VTkQKICAgICAgICBNRU5VSVRFTSAiQSZzZXRhIFR59nD2eWTkbGxlIiwgICAgICAgICAgICBJRE1fU0VUQVNERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImVmFsaXRzZSBLYWlra2kiLCAgICAgICAgICAgICAgIElETV9TRUxFQ1RBTEwKICAgICAgICBNRU5VSVRFTSAiTCZpaXTkIiwgICAgICAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTHVvICZQaWtha3V2YWtlIiwgICAgICAgICAgICAgICBJRE1fQ1JFQVRFU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiTGlz5OQgUyZ1b3Npa2tlaWhpbiIsICAgICAgICAgICBJRE1fQUREVE9GQVZPVVJJVEVTCiAgICAgICAgTUVOVUlURU0gIk7kJnl05CBM5GhkZSIsICAgICAgICAgICAgICAgICAgSURNX1ZJRVdTT1VSQ0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiS29vJmRhdXMiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fRU5DT0RJTkcgCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlR1bCZvc3RhIiwgICAgICAgICAgICAgICAgICAgICAgSURNX1BSSU5UCiAgICAgICAgTUVOVUlURU0gIlAm5Gl2aXTkIiwgICAgICAgICAgICAgICAgICAgICAgSURNX1JFRlJFU0ggCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIk8mbWluYWlzdXVkZXQiLCAgICAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiS3V2YSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJkF2YWEgTGlua2tpIiwgICAgICAgICAgICAgICAgICBJRE1fT1BFTkxJTksKICAgICAgICBNRU5VSVRFTSAiQSZ2YWEgTGlua2tpIFV1ZGVzc2EgSWtrdW5hc3NhIixJRE1fT1BFTklOTkVXV0lORE9XCiAgICAgICAgTUVOVUlURU0gIiZUYWxsZW5uYSBrb2hkZSBuaW1lbGzkLi4uIiwgICAgSURNX1NBVkVUQVJHRVRBUwogICAgICAgIE1FTlVJVEVNICJUJnVsb3N0YSBLb2hkZSIsICAgICAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImTuR5dOQgS3V2YSIsICAgICAgICAgICAgICAgICAgIElETV9TSE9XUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJUYWxsZW5uYSBLdXZhIE5pJm1lbGzkLi4uIiwgICAgIElETV9TQVZFUElDVFVSRUFTCiAgICAgICAgTUVOVUlURU0gIkzkJmhldOQga3V2YSBz5Ghr9nBvc3RpbmEuLi4iLCAgSURNX0VNQUlMUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJUdWxvc3RhICZLdXZhLi4uIiwgICAgICAgICAgICAgIElETV9QUklOVFBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiTWVuZSAmT21paW4gS3V2aWluIiwgICAgICAgICAgICBJRE1fR09UT01ZUElDVFVSRVMKICAgICAgICBNRU5VSVRFTSAiQSZzZXRhIFRhdXN0YWtzaSIsICAgICAgICAgICAgICBJRE1fU0VUQVNCQUNLR1JPVU5ECiAgICAgICAgTUVOVUlURU0gIkFzZXRhIFQmefZw9nlk5GxsZS4uLiIsICAgICAgICAgSURNX1NFVEFTREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkxlaWtrYWEiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIktvJnBpb2kiLCAgICAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiS29waW9pIFBpa2FrdXZhayZlIiwgICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIkwmaWl05CIsICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFIAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMaXMm5OQgU3Vvc2lra2VpaGluLi4uIiwgICAgICAgIElETV9BRERUT0ZBVk9VUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiT21pbmFpc3V1JmRldCIsICAgICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJIYWxsaW50YSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiSyZ1bW9hIiwgICAgICAgICAgICAgICAgICAgICAgICBJRE1fVU5ETyAKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkxlaWtrYWEiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3Bpb2kiLCAgICAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiTCZpaXTkIiwgICAgICAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSAiUCZvaXN0YSIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fREVMRVRFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlYmYWxpdHNlIEthaWtraSIsICAgICAgICAgICAgICAgSURNX1NFTEVDVEFMTAogICAgfQoKICAgIFBPUFVQICJUYXVsdWtrbyIKICAgIHsKICAgICAgICBQT1BVUCAiJlZhbGl0c2UiCiAgICAgICAgewogICAgICAgICAgICBNRU5VSVRFTSAiJlNvbHUiLCAgICAgICAgICAgICAgICAgICAgIElETV9DRUxMIAogICAgICAgICAgICBNRU5VSVRFTSAiJlJpdmkiLCAgICAgICAgICAgICAgICAgICAgIElETV9ST1cKICAgICAgICAgICAgTUVOVUlURU0gIiZQYWxzdGEiLCAgICAgICAgICAgICAgICAgICBJRE1fQ09MVU1OCiAgICAgICAgICAgIE1FTlVJVEVNICImVGF1bHVra28iLCAgICAgICAgICAgICAgICAgSURNX1RBQkxFCiAgICAgICAgfQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTJm9sdW4gT21pbmFpc3V1ZGV0IiwgICAgICAgICAgIElETV9DRUxMUFJPUEVSVElFUwogICAgICAgIE1FTlVJVEVNICJUYSZ1bHVrb24gT21pbmFpc3V1ZGV0IiwgICAgICAgIElETV9UQUJMRVBST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiMURTaXZ1biBWYWxpbnRhIgogICAgewogICAgICAgIE1FTlVJVEVNICImTGVpa2thYSIsICAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGlvaSIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJMJmlpdOQiLCAgICAgICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNICJWJmFsaXRzZSBLYWlra2kiLCAgICAgICAgICAgICAgIElETV9TRUxFQ1RBTEwgCiAgICAgICAgTUVOVUlURU0gIiZUdWxvc3RhIiwgICAgICAgICAgICAgICAgICAgICAgSURNX1BSSU5UCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICB9CgogICAgUE9QVVAgIkFua2t1cmkiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZBdmFhIiwgICAgICAgICAgICAgICAgICAgICAgICAgSURNX09QRU5MSU5LCiAgICAgICAgTUVOVUlURU0gIkEmdmFhIFV1ZGVzc2EgSWtrdW5hc3NhIiwgICAgICAgSURNX09QRU5JTk5FV1dJTkRPVwogICAgICAgIE1FTlVJVEVNICImVGFsbGVubmEgS29oZGUuLi4iLCAgICAgICAgICAgIElETV9TQVZFVEFSR0VUQVMKICAgICAgICBNRU5VSVRFTSAiVCZ1bG9zdGEgS29oZGUiLCAgICAgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkxlaWtrYWEiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3Bpb2kiLCAgICAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiS29waW9pICZQaWtha3V2YWtlIiwgICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIkwmaWl05CIsICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkxpJnPk5CBTdW9zaWtrZWloaW4uLi4iLCAgICAgICAgSURNX0FERFRPRkFWT1VSSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJPJm1pbmFpc3V1ZGV0IiwgICAgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkNvbnRleHQgVW5rbm93biIKICAgIHsKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgIH0KCiAgICBQT1BVUCAiRFlOU1JDIEt1dmEiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZBdmFhIExpbmtraSIsICAgICAgICAgICAgICAgICAgSURNX09QRU5MSU5LCiAgICAgICAgTUVOVUlURU0gIkEmdmFhIFV1ZGVzc2EgSWtrdW5hc3NhIiwgICAgICAgSURNX09QRU5JTk5FV1dJTkRPVwogICAgICAgIE1FTlVJVEVNICJUYWxsZW5uYSAmS29oZGUuLi4iLCAgICAgICAgICAgIElETV9TQVZFVEFSR0VUQVMKICAgICAgICBNRU5VSVRFTSAiVCZ1bG9zdGEgS29oZGUiLCAgICAgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJk7keXTkIEt1dmEiLCAgICAgICAgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiVGFsbGVubmEgVmkmZGVvIE5pbWVsbOQuLi4iLCAgICBJRE1fU0FWRVBJQ1RVUkVBUwogICAgICAgIE1FTlVJVEVNICJBJnNldGEgVGF1c3Rha3NpIiwgICAgICAgICAgICAgIElETV9TRVRBU0JBQ0tHUk9VTkQKICAgICAgICBNRU5VSVRFTSAiQXNldGEgVHkm9nD2eWTkbGxlLi4uIiwgICAgICAgICBJRE1fU0VUQVNERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImTGVpa2thYSIsICAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiSyZvcGlvaSIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJLb3Bpb2kgJlBpa2FrdXZha2UiLCAgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiTCZpaXTkIiwgICAgICAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTGlzJuTkIFN1b3Npa2tlaWhpbi4uLiIsICAgICAgICBJRE1fQUREVE9GQVZPVVJJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZUb2lzdGEiLCAgICAgICAgICAgICAgICAgICAgICAgSURNX1BMQVkKICAgICAgICBNRU5VSVRFTSAiUCZ5c+R5dOQiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fU1RPUAogICAgICAgIE1FTlVJVEVNICJPJm1pbmFpc3V1ZWRldCIsICAgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkFSVCBLdXZhIgogICAgewogICAgICAgIE1FTlVJVEVNICImQXZhYSBMaW5ra2kiLCAgICAgICAgICAgICAgICAgIElETV9PUEVOTElOSwogICAgICAgIE1FTlVJVEVNICJBJnZhYSBVdWRlc3NhIElra3VuYXNzYSIsICAgICAgIElETV9PUEVOSU5ORVdXSU5ET1cKICAgICAgICBNRU5VSVRFTSAiVGFsbGVubmEgS29oJmRlLi4uIiwgICAgICAgICAgICBJRE1fU0FWRVRBUkdFVEFTCiAgICAgICAgTUVOVUlURU0gIlQmdWxvc3RhIEtvaGRlIiwgICAgICAgICAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZO5Hl05CBLdXZhIiwgICAgICAgICAgICAgICAgICAgSURNX1NIT1dQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIlRhbGwmZW5uYSBLdXZhIE5pbWVsbOQuLi4iLCAgICAgSURNX1NBVkVQSUNUVVJFQVMKICAgICAgICBNRU5VSVRFTSAiQSZzZXRhIFRhdXN0YWtzaSIsICAgICAgICAgICAgICBJRE1fU0VUQVNCQUNLR1JPVU5ECiAgICAgICAgTUVOVUlURU0gIkFzZXRhIFR5JvZw9nlk5GxsZS4uLiIsICAgICAgICAgSURNX1NFVEFTREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkxlaWtrYWEiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIksmb3Bpb2kiLCAgICAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiS29waW9pICZQaWtha3V2YWtlIiwgICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIkwmaWl05CIsICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkxpcybk5CBTdW9zaWtrZWloaW4uLi4iLCAgICAgICAgSURNX0FERFRPRkFWT1VSSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImVG9pc3RhIiwgICAgICAgICAgICAgICAgICAgICAgIElETV9QTEFZCiAgICAgICAgTUVOVUlURU0gIlAmeXPkeXTkIiwgICAgICAgICAgICAgICAgICAgICAgSURNX1NUT1AKICAgICAgICBNRU5VSVRFTSAiQWwma3V1biIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fUkVXSU5ECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIk8mbWluYWlzdXVkZXQiLCAgICAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiRGVidWciCiAgICB7CiAgICAgICAgTUVOVUlURU0gIlRyYWNlIFRhZ3MiLCAgICAgICAgICAgICAgICAgICAgSURNX1RSQUNFVEFHUyAKICAgICAgICBNRU5VSVRFTSAiUmVzb3VyY2UgRmFpbHVyZXMiLCAgICAgICAgICAgICBJRE1fUkVTT1VSQ0VGQUlMVVJFUwogICAgICAgIE1FTlVJVEVNICJEdW1wIFRyYWNraW5nIEluZm8iLCAgICAgICAgICAgIElETV9EVU1QVFJBQ0tJTkdJTkZPCiAgICAgICAgTUVOVUlURU0gIkRlYnVnIEJyZWFrIiwgICAgICAgICAgICAgICAgICAgSURNX0RFQlVHQlJFQUsKICAgICAgICBNRU5VSVRFTSAiRGVidWcgVmlldyIsICAgICAgICAgICAgICAgICAgICBJRE1fREVCVUdWSUVXCiAgICAgICAgTUVOVUlURU0gIkR1bXAgVHJlZSIsICAgICAgICAgICAgICAgICAgICAgSURNX0RVTVBUUkVFCiAgICAgICAgTUVOVUlURU0gIkR1bXAgTGluZXMiLCAgICAgICAgICAgICAgICAgICAgSURNX0RVTVBMSU5FUwogICAgICAgIE1FTlVJVEVNICJEdW1wIERpc3BsYXlUcmVlIiwgICAgICAgICAgICAgIElETV9EVU1QRElTUExBWVRSRUUKICAgICAgICBNRU5VSVRFTSAiRHVtcCBGb3JtYXRDYWNoZXMiLCAgICAgICAgICAgICBJRE1fRFVNUEZPUk1BVENBQ0hFUwogICAgICAgIE1FTlVJVEVNICJEdW1wIExheW91dFJlY3RzIiwgICAgICAgICAgICAgIElETV9EVU1QTEFZT1VUUkVDVFMKICAgICAgICBNRU5VSVRFTSAiTWVtb3J5IE1vbml0b3IiLCAgICAgICAgICAgICAgICBJRE1fTUVNT1JZTU9OSVRPUgogICAgICAgIE1FTlVJVEVNICJQZXJmb3JtYW5jZSBNZXRlcnMiLCAgICAgICAgICAgIElETV9QRVJGT1JNQU5DRU1FVEVSUwogICAgICAgIE1FTlVJVEVNICJTYXZlIEhUTUwiLCAgICAgICAgICAgICAgICAgICAgIElETV9TQVZFSFRNTAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQnJvd3NlIFZpZXciLCAgICAgICAgICAgICAgICAgIElETV9CUk9XU0VWSUVXCiAgICAgICAgTUVOVUlURU0gIiZFZGl0IFZpZXciLCAgICAgICAgICAgICAgICAgICAgSURNX0VESVRWSUVXCiAgICB9CgogICAgUE9QVVAgIlB5c3R5c3VvcmEgVmllcml0eXNwYWxra2kiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIlZpZXJpdOQgVORubmUiLCAgICAgICAgICAgICAgICAgSURNX1NDUk9MTEhFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiWWz2cyIsICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fVE9QCiAgICAgICAgTUVOVUlURU0gIkFsYXMiLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0JPVFRPTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTaXZ1IFls9nMiLCAgICAgICAgICAgICAgICAgICAgIElETV9QQUdFVVAKICAgICAgICBNRU5VSVRFTSAiU2l2dSBBbGFzIiwgICAgICAgICAgICAgICAgICAgICBJRE1fUEFHRURPV04KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVmllcml05CBZbPZzIiwgICAgICAgICAgICAgICAgICBJRE1fU0NST0xMVVAKICAgICAgICBNRU5VSVRFTSAiVmllcml05CBBbGFzIiwgICAgICAgICAgICAgICAgICBJRE1fU0NST0xMRE9XTgogICAgfQoKICAgIFBPUFVQICJWYWFrYXN1b3JhIFZpZXJpdHlzcGFsa2tpIgogICAgewogICAgICAgIE1FTlVJVEVNICJWaWVyaXTkIFTkbm5lIiwgICAgICAgICAgICAgICAgIElETV9TQ1JPTExIRVJFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlZhc2VuIFJldW5hIiwgICAgICAgICAgICAgICAgICAgSURNX0xFRlRFREdFCiAgICAgICAgTUVOVUlURU0gIk9pa2VhIFJldW5hIiwgICAgICAgICAgICAgICAgICAgSURNX1JJR0hURURHRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTaXZ1IFZhc2VtcGFhbiIsICAgICAgICAgICAgICAgIElETV9QQUdFTEVGVAogICAgICAgIE1FTlVJVEVNICJTaXZ1IE9pa2VhYW4iLCAgICAgICAgICAgICAgICAgIElETV9QQUdFUklHSFQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVmllcml05CBWYXNlbW1hbGxlIiwgICAgICAgICAgICBJRE1fU0NST0xMTEVGVAogICAgICAgIE1FTlVJVEVNICJWaWVyaXTkIE9pa2VhbGxlIiwgICAgICAgICAgICAgIElETV9TQ1JPTExSSUdIVAogICAgfQp9Cg==