LyoKICogQ29weXJpZ2h0IDIwMDUtMjAwNyBBbGV4YW5kZXIgTi4gU/hybmVzIDxhbGV4QHRoZWhhbmRvZmFnb255LmNvbT4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKI2luY2x1ZGUgInNoZG9jbGMuaCIKCkxBTkdVQUdFIExBTkdfREFOSVNILCBTVUJMQU5HX0RFRkFVTFQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19NRVNTQUdFX0JPWF9USVRMRSwgIldpbmUgSW50ZXJuZXQgRXhwbG9yZXIiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19QUklOVF9IRUFERVJfVEVNUExBVEUgIiZ3JmJTaWRlICZwIiAvKiBGSVhNRTogc2hvdWxkIGJlICImdyZiUGFnZSAmcCBvZiAmUCIgKi8KICAgIElEU19QUklOVF9GT09URVJfVEVNUExBVEUgIiZ1JmImZCIKfQoKSURSX0JST1dTRV9DT05URVhUX01FTlUgTUVOVQp7CiAgICBQT1BVUCAiU3RhbmRhcmQiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIlRpbCZiYWdlIiwgICAgICAgICAgICAgICAgICBJRE1fR09CQUNLV0FSRAogICAgICAgIE1FTlVJVEVNICImRnJlbSIsICAgICAgICAgICAgICAgSURNX0dPRk9SV0FSRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJHZW0gYmFnZ3J1bmQgJnNvbS4uLiIsICAgSURNX1NBVkVCQUNLR1JPVU5ECiAgICAgICAgTUVOVUlURU0gIkJydWcgc29tIGJhZyZncnVuZCIsICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIiZLb3BpZXIgYmFnZ3J1bmQiLCAgICAgICBJRE1fQ09QWUJBQ0tHUk9VTkQKICAgICAgICBNRU5VSVRFTSAiQnJ1ZyBzb20gc2tyaXZlYm9yJmRzb2JqZWt0IiwgICBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTWFya+lyICZhbHQiLCAgICAgICAgICAgIElETV9TRUxFQ1RBTEwKICAgICAgICBNRU5VSVRFTSAiJkluZHPmdCIsICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTGF2IGcmZW52ZWoiLCAgICAgICBJRE1fQ1JFQVRFU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiVGlsZvhqIHRpbCAmZmF2b3JpdHRlciIsICAgICBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gIiZWaXMga2lsZGVrb2RlIiwgICAgICAgICAgIElETV9WSUVXU09VUkNFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIksmb2RpbmciLCAgICAgICAgICAgICAgSURNX0xBTkdVQUdFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlVkc2tyJml2IiwgICAgICAgICAgICAgICAgIElETV9QUklOVAogICAgICAgIE1FTlVJVEVNICJPcGRhdGUmciIsICAgICAgICAgICAgICAgX0lETV9SRUZSRVNICiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkVnZW5za2EmcGVyIiwgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJCaWxsZWRlIgogICAgewogICAgICAgIE1FTlVJVEVNICLFYmVuICZsaW5rIiwgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAixWJlbiBsaW5rIGkgJm55dCB2aW5kdWUiLCBJRE1fRk9MTE9XTElOS04KICAgICAgICBNRU5VSVRFTSAiRyZlbSBkZXN0aW5hdGlvbiBzb20uLi4iLCAgICAgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICJVZHNrcml2ICZkZXN0aW5hdGlvbiIsICAgICAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZWaXMgYmlsbGVkZSIsICAgICAgICAgICAgSURNX1NIT1dQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIkdlbSBiaWxsZWRlICZzb20uLi4iLCAgICAgIElETV9TQVZFUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJTZW5kIGJpbGxlZGV0Li4uIiwgICAgICAgSURNX01QX0VNQUlMUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJVZHNrciZpdiBiaWxsZWRlLi4uIiwgICAgICAgIElETV9NUF9QUklOVFBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiJkflIHRpbCBtaW5lIGJpbGxlZGVyIiwgICAgICAgSURNX01QX01ZUElDUwogICAgICAgIE1FTlVJVEVNICJCcnVnIHNvbSBiYWcmZ3J1bmQiLCAgICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIkJydWcgc29tIHNrcml2ZWJvciZkc29iamVrdC4uLiIsICBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJktsaXAiLCAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiSyZvcGllciIsICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJLb3BpZXIgZ2VuJnZlaiIsICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIiZJbmRz5nQiLCAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVGlsZvhqIHRpbCAmZmF2b3JpdHRlci4uLiIsICAgICBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkVnZW5za2FiZSZyIiwgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkNvbnRyb2wiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZGb3J0cnlkIiwgICAgICAgSURNX1VORE8KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJktsaXAiLCAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waWVyIiwgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiJkluZHPmdCIsICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gIiZTbGV0IiwgICAgIElETV9ERUxFVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTWFya2VyICZhbHQiLCBJRE1fU0VMRUNUQUxMCiAgICB9CgogICAgUE9QVVAgIlRhYmVsIgogICAgewogICAgICAgIFBPUFVQICImTWFya2VyIgogICAgICAgIHsKICAgICAgICAgICAgTUVOVUlURU0gIiZDZWxsZSIsICAgICAgICAgSURNX0NFTExTRUxFQ1QKICAgICAgICAgICAgTUVOVUlURU0gIiZS5mtrZSIsICAgICAgICAgIElETV9ST1dTRUxFQ1QKICAgICAgICAgICAgTUVOVUlURU0gIiZLb2xvbmUiLCAgICAgICBJRE1fQ09MVU1OU0VMRUNUCiAgICAgICAgICAgIE1FTlVJVEVNICImVGFiZWwiLCAgICAgICAgSURNX1RBQkxFU0VMRUNUCiAgICAgICAgfQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJFZ2Vuc2thcGVyIGZvciAmY2VsbGUiLCAgSURNX0NFTExQUk9QRVJUSUVTCiAgICAgICAgTUVOVUlURU0gIkVnZW5za2FwZXIgZm9yICZ0YWJlbCIsIElETV9UQUJMRVBST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiMURTaWRlduZsZ2luZyIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJktsaXAiLCAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waWVyIiwgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiSW5kc+Z0IiwgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gIk1hcmtlciAmYWx0IiwgSURNX1NFTEVDVEFMTAogICAgICAgIE1FTlVJVEVNICImVWRza3JpdiIsICAgICAgSURNX1BSSU5UCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICB9CgogICAgUE9QVVAgIkFua2VyIgogICAgewogICAgICAgIE1FTlVJVEVNICImxWJlbiIsICAgICAgICAgICAgICAgIElETV9GT0xMT1dMSU5LQwogICAgICAgIE1FTlVJVEVNICLFYmVuIGkgJm55dCB2aW5kdWUiLCAgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIiZHZW0gZGVzdGluYXRpb24gc29tLi4uIiwgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICImVWRza3JpdmUgZGVzdGluYXRpb24iLCAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZLbGlwIiwgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIksmb3BpZXIiLCAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJLb3BpZXIgZ2VuJnZlaiIsICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiJkluZHPmdCIsICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlRpbGb4aiB0aWwgJmZhdm9yaXR0ZXIuLi4iLCBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkVnZW5za2FiZSZyIiwgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiVWtlbmR0IHNhbW1lbmjmbmciCiAgICB7CiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICB9CgogICAgUE9QVVAgIkRZTlNSQy1iaWxsZWRlIgogICAgewogICAgICAgIE1FTlVJVEVNICLFYmVuIGwmaW5rIiwgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAixWJlbiBsaW5rIGkgJm55dCB2aW5kdWUiLCBJRE1fRk9MTE9XTElOS04KICAgICAgICBNRU5VSVRFTSAiJkdlbSBkZXN0aW5hdGlvbiBzb20uLi4iLCAgICAgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICJVZHNrcml2IGRlc3RpbmF0aW9uIiwgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlZpcyBiaWxsZWRlIiwgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiR2VtIHZpZGVvICZzb20uLi4iLCAgICAgICAgSURNX1NBVkVQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIkJydWcgc29tIGJhZ2dydW5kIiwgICAgICAgSURNX1NFVFdBTExQQVBFUgogICAgICAgIE1FTlVJVEVNICJCcnVnIHNvbSBza3JpdmVib3ImZHNlbGVtZW50Li4uIiwgIElETV9TRVRERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImS2xpcCIsICAgICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waWVyIiwgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIktvcGllciBnZW4mdmVqIiwgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiJkluZHPmdCIsICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJUaWxm+GogdGlsICZmYXZvcml0dGVyLi4uIiwgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQWZzcGlsIiwgICAgICAgICAgICAgICAgICAgICBJRE1fRFlOU1JDUExBWQogICAgICAgIE1FTlVJVEVNICJTdG9wIiwgICAgICAgICAgICAgICAgICAgICBJRE1fRFlOU1JDU1RPUAogICAgICAgIE1FTlVJVEVNICJFZ2Vuc2thYmUmciIsICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJBUlQtYmlsZGUiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIibFYmVuIGxpbmsiLCAgICAgICAgICAgICAgIElETV9GT0xMT1dMSU5LQwogICAgICAgIE1FTlVJVEVNICLFYmVuIGxpbmsgaSAmbnl0IHZpbmR1ZSIsIElETV9GT0xMT1dMSU5LTgogICAgICAgIE1FTlVJVEVNICJHZW0gZGVzdGluYXRpb24gc29tLi4uIiwgICAgICAgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAiVWRza3JpdiBkZXN0aW5hdGlvbiIsICAgICAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZWaXMgYmlsbGVkZSIsICAgICAgICAgICAgSURNX1NIT1dQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIkdlbSBiaWxsZWRlICZzb20uLi4iLCAgICAgIElETV9TQVZFUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJCcnVnIHNvbSBiYWcmZ3J1bmQiLCAgICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIkJydWcgc29tIHNrcml2ZWJvciZkb2JqZWt0Li4uIiwgIElETV9TRVRERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImS2xpcCIsICAgICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waWVyIiwgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIktvcGllciBnZW4mdmVqIiwgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiJkluZHPmdCIsICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJUaWxm+GogdGlsICZmYXZvcml0dGVyLi4uIiwgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQWZzcGlsIiwgICAgICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUUExBWQogICAgICAgIE1FTlVJVEVNICJTdG9wIiwgICAgICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUU1RPUAogICAgICAgIE1FTlVJVEVNICJTcG9sIHRpbGJhZ2UiLCAgICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUUkVXSU5ECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkVnZW5za2FiZSZyIiwgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkZlamxz+GduaW5nIgogICAgewogICAgICAgIE1FTlVJVEVNICJTcG9yaW5nc23mZXJrZXIiLCAgICAgICAgIElETV9UUkFDRVRBR1MKICAgICAgICBNRU5VSVRFTSAiUmVzc291cmNlZmVqbCIsICBJRE1fUkVTT1VSQ0VGQUlMVVJFUwogICAgICAgIE1FTlVJVEVNICJEdW1wIHNwb3JpbmdzaW5mb3JtYXRpb24iLCBJRE1fRFVNUFRSQUNLSU5HSU5GTwogICAgICAgIE1FTlVJVEVNICJGZWpsc/hnbmluZ3NwYXVzZSIsICAgICAgICBJRE1fREVCVUdCUkVBSwogICAgICAgIE1FTlVJVEVNICJGZWpsc/hnbmluZ3N2aXNuaW5nIiwgICAgICAgICBJRE1fREVCVUdWSUVXCiAgICAgICAgTUVOVUlURU0gIkR1bXAgq1RyZWW7IiwgICAgICAgICAgSURNX0RVTVBUUkVFCiAgICAgICAgTUVOVUlURU0gIkR1bXAgq0xpbmVzuyIsICAgICAgICAgSURNX0RVTVBMSU5FUwogICAgICAgIE1FTlVJVEVNICJEdW1wIKtEaXNwbGF5VHJlZbsiLCAgIElETV9EVU1QRElTUExBWVRSRUUKICAgICAgICBNRU5VSVRFTSAiRHVtcCCrRm9ybWF0Q2FjaGVzuyIsICBJRE1fRFVNUEZPUk1BVENBQ0hFUwogICAgICAgIE1FTlVJVEVNICJEdW1wIKtMYXlvdXRSZWN0c7siLCAgIElETV9EVU1QTEFZT1VUUkVDVFMKICAgICAgICBNRU5VSVRFTSAiSHVrb21tZWxzZXNvdmVyduVnZXIiLCAgICAgSURNX01FTU9SWU1PTklUT1IKICAgICAgICBNRU5VSVRFTSAiWWRlbHNlc23lbGVyZSIsIElETV9QRVJGT1JNQU5DRU1FVEVSUwogICAgICAgIE1FTlVJVEVNICJHZW0gSFRNTCIsICAgICAgICAgIElETV9TQVZFSFRNTAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImR2VubmVtc2UgdmlzbmluZyIsICAgICAgIElETV9CUk9XU0VNT0RFCiAgICAgICAgTUVOVUlURU0gIlImZWRpZ2VyaW5ncyB2aXNuaW5nIiwgICAgICAgICBJRE1fRURJVE1PREUKICAgIH0KCiAgICBQT1BVUCAiTG9kcmV0IHJ1bGxlZmVsdCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiUnVsIGhlciIsICBJRE1fU0NST0xMX0hFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVG9wIiwgICAgICAgICAgSURNX1NDUk9MTF9UT1AKICAgICAgICBNRU5VSVRFTSAiQnVuZCIsICAgICAgIElETV9TQ1JPTExfQk9UVE9NCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNpZGUgb3AiLCAgICAgIElETV9TQ1JPTExfUEFHRVVQCiAgICAgICAgTUVOVUlURU0gIlNpZGUgbmUiLCAgICBJRE1fU0NST0xMX1BBR0VET1dOCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlJ1bCBvcCIsICAgIElETV9TQ1JPTExfVVAKICAgICAgICBNRU5VSVRFTSAiUnVsIG5lIiwgIElETV9TQ1JPTExfRE9XTgogICAgfQoKICAgIFBPUFVQICJWYW5kcmV0IHJ1bGxlZmVsdCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiUnVsIGhlciIsICBJRE1fU0NST0xMX0hFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVmVuc3RyZSBrYW50IiwgICAgSURNX1NDUk9MTF9MRUZURURHRQogICAgICAgIE1FTlVJVEVNICJI+GpyZSBrYW50IiwgICBJRE1fU0NST0xMX1JJR0hURURHRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTaWRlIHZlbnN0cmUiLCAgICBJRE1fU0NST0xMX1BBR0VMRUZUCiAgICAgICAgTUVOVUlURU0gIlNpZGUgaPhqcmUiLCAgIElETV9TQ1JPTExfUEFHRVJJR0hUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlJ1bCB0aWwgdmVuc3RyZSIsICBJRE1fU0NST0xMX0xFRlQKICAgICAgICBNRU5VSVRFTSAiUnVsIHRpbCBo+GpyZSIsIElETV9TQ1JPTExfUklHSFQKICAgIH0KfQo=