LyoKICogU3BhbmlzaCByZXNvdXJjZXMgZm9yIG1zaHRtbAogKgogKiBDb3B5cmlnaHQgMjAwNiwgMjAwNyBKb3PpIE1hbnVlbCBGZXJyZXIgT3J0aXoKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKCkxBTkdVQUdFIExBTkdfU1BBTklTSCwgU1VCTEFOR19ORVVUUkFMCgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfTUVTU0FHRV9CT1hfVElUTEUsICJJbnRlcm5ldCBFeHBsb3JlciBkZSBXaW5lIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfUFJJTlRfSEVBREVSX1RFTVBMQVRFICImdyZiUOFnaW5hICZwIiAvKiBGSVhNRTogc2hvdWxkIGJlICImdyZiUGFnZSAmcCBvZiAmUCIgKi8KICAgIElEU19QUklOVF9GT09URVJfVEVNUExBVEUgIiZ1JmImZCIKfQoKSURSX0JST1dTRV9DT05URVhUX01FTlUgTUVOVQp7CiAgICBQT1BVUCAiRGVmYXVsdCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJkF0cuFzIiwgICAgICAgICAgICAgICAgIElETV9HT0JBQ0tXQVJECiAgICAgICAgTUVOVUlURU0gIkFkZSZsYW50ZSIsICAgICAgICAgICAgICBJRE1fR09GT1JXQVJECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZHdWFyZGFyIGZvbmRvIGNvbW8uLi4iLCBJRE1fU0FWRUJBQ0tHUk9VTkQKICAgICAgICBNRU5VSVRFTSAiUCZvbmVyIGNvbW8gZm9uZG8iLCAgICAgIElETV9TRVRXQUxMUEFQRVIKICAgICAgICBNRU5VSVRFTSAiJkNvcGlhciBmb25kbyIsICAgICAgICAgIElETV9DT1BZQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICJB8WFkaXIgYWwgJmVzY3JpdG9yaW8iLCAgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNlbGVjY2lvbmFyICZ0b2RvIiwgICAgICBJRE1fU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gIiZQZWdhciIsICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQ3JlYXIgYWNjZSZzbyBkaXJlY3RvIiwgIElETV9DUkVBVEVTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICJB8WFkaXIgYSAmRmF2b3JpdG9zIiwgICAgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNICImVmVyIGPzZGlnbyIsICAgICAgICAgICAgSURNX1ZJRVdTT1VSQ0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQ29kJmlmaWNhY2nzbiIsICAgICAgICAgIElETV9MQU5HVUFHRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJJJm1wcmltaXIiLCAgICAgICAgICAgICAgSURNX1BSSU5UCiAgICAgICAgTUVOVUlURU0gIiZSZWNhcmdhciIsICAgICAgICAgICAgICBfSURNX1JFRlJFU0gKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiUHJvcGllJmRhZGVzIiwgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkltYWdlIgogICAgewogICAgICAgIE1FTlVJVEVNICImQWJyaXIgZW5sYWNlIiwgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAiQSZicmlyIGVuIG51ZXZhIHZlbnRhbmEiLCAgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIkd1YXJkYXIgZW4mbGFjZSBjb21vLi4uIiwgIElETV9TQVZFVEFSR0VUCiAgICAgICAgTUVOVUlURU0gIiZJbXByaW1pciBlbmxhY2UiLCAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJNJm9zdHJhciBpbWFnZW4iICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiRyZ1YXJkYXIgaW1hZ2VuIGNvbW8uLi4iLCAgSURNX1NBVkVQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIiZFbnZpYXIgcG9yIGNvcnJlby4uLiIsICAgIElETV9NUF9FTUFJTFBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiSSZtcHJpbWlyIGltYWdlbi4uLiIsICAgICAgSURNX01QX1BSSU5UUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJJJnIgYSBNaXMgaW3hZ2VuZXMiLCAgICAgICBJRE1fTVBfTVlQSUNTCiAgICAgICAgTUVOVUlURU0gIiZQb25lciBjb21vIGZvbmRvIiwgICAgICAgIElETV9TRVRXQUxMUEFQRVIKICAgICAgICBNRU5VSVRFTSAiQSbxYWRpciBhbCBlc2NyaXRvcmlvLi4uIiwgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkNvciZ0YXIiLCAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJkNvcGlhciIsICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiQ29waWFyIGFjY2Umc28gZGlyZWN0byIsICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICJQZSZnYXIiLCAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQfFhZGlyIGEgJkZhdm9yaXRvcy4uLiIsICAgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJQcm9waWUmZGFkZXMiLCAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJDb250cm9sIgogICAgewogICAgICAgIE1FTlVJVEVNICImRGVzaGFjZXIiLCAgICAgICAgIElETV9VTkRPCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkNvJnJ0YXIiLCAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICImQ29waWFyIiwgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIiZQZWdhciIsICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gIiZFbGltaW5hciIsICAgICAgICAgSURNX0RFTEVURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImU2VsZWNjaW9uYXIgdG9kbyIsIElETV9TRUxFQ1RBTEwKICAgIH0KCiAgICBQT1BVUCAiVGFibGUiCiAgICB7CiAgICAgICAgUE9QVVAgIiZTZWxlY2Npb25hciIKICAgICAgICB7CiAgICAgICAgICAgIE1FTlVJVEVNICImQ2VsZGEiLCAgICAgICAgICAgIElETV9DRUxMU0VMRUNUCiAgICAgICAgICAgIE1FTlVJVEVNICImRmlsYSIsICAgICAgICAgICAgIElETV9ST1dTRUxFQ1QKICAgICAgICAgICAgTUVOVUlURU0gIkMmb2x1bW5hIiwgICAgICAgICAgSURNX0NPTFVNTlNFTEVDVAogICAgICAgICAgICBNRU5VSVRFTSAiJlRhYmxhIiwgICAgICAgICAgICBJRE1fVEFCTEVTRUxFQ1QKICAgICAgICB9CiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlByb3BpZWRhZGVzIGRlICZjZWxkYSIsIElETV9DRUxMUFJPUEVSVElFUwogICAgICAgIE1FTlVJVEVNICJQcm9waWVkYWRlcyBkZSAmdGFibGEiLCBJRE1fVEFCTEVQUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIjFEU2l0ZSBTZWxlY3QiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIkNvJnJ0YXIiLCAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICImQ29waWFyIiwgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIiZQZWdhciIsICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gIiZTZWxlY2Npb25hciB0b2RvIiwgSURNX1NFTEVDVEFMTAogICAgICAgIE1FTlVJVEVNICImSW1wcmltaXIiLCAgICAgICAgIElETV9QUklOVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgfQoKICAgIFBPUFVQICJBbmNob3IiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZBYnJpciIsICAgICAgICAgICAgICAgICAgICAgIElETV9GT0xMT1dMSU5LQwogICAgICAgIE1FTlVJVEVNICJBYnJpciBlbiB1bmEgJm51ZXZhIHZlbnRhbmEiLCBJRE1fRk9MTE9XTElOS04KICAgICAgICBNRU5VSVRFTSAiJkd1YXJkYXIgZW5sYWNlIGNvbW8uLi4iLCAgICAgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAiJkltcHJpbWlyIGVubGFjZSIsICAgICAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkNvciZ0YXIiICAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJkNvcGlhciIsICAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiQyZvcGlhciBhY2Nlc28gZGlyZWN0byIsICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICImUGVnYXIiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQfFhZGlyIGEgJkZhdm9yaXRvcy4uLiIsICAgICAgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJQJnJvcGllZGFkZXMiLCAgICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJDb250ZXh0IFVua25vd24iCiAgICB7CiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICB9CgogICAgUE9QVVAgIkRZTlNSQyBJbWFnZSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJkFicmlyIGVubGFjZSIsICAgICAgICAgICAgICAgSURNX0ZPTExPV0xJTktDCiAgICAgICAgTUVOVUlURU0gIkFicmlyIGVuIHVuYSAmbnVldmEgdmVudGFuYSIsIElETV9GT0xMT1dMSU5LTgogICAgICAgIE1FTlVJVEVNICJHJnVhcmRhciBlbmxhY2UgY29tby4uLiIsICAgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICJJbXByaW1pciBlbiZsYWNlIiwgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJk1vc3RyYXIgaW1hZ2VuIiwgICAgICAgICAgICAgSURNX1NIT1dQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIkd1YXJkYXIgJnbtZGVvIGNvbW8uLi4iLCAgICAgIElETV9TQVZFUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJQb24mZXIgY29tbyBmb25kbyIsICAgICAgICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIkHxYSZkaXIgYWwgZXNjcml0b3Jpby4uLiIsICAgIElETV9TRVRERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJDb3ImdGFyIiAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZDb3BpYXIiLCAgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIkMmb3BpYXIgYWNjZXNvIGRpcmVjdG8iLCAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiUGUmZ2FyIiwgICAgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkHxYWRpciBhICZGYXZvcml0b3MuLi4iLCAgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlJlcHJvZHVjaXIiLCAgICAgICAgICAgICAgICAgSURNX0RZTlNSQ1BMQVkKICAgICAgICBNRU5VSVRFTSAiJlBhcmFyIiwgICAgICAgICAgICAgICAgICAgICAgSURNX0RZTlNSQ1NUT1AKICAgICAgICBNRU5VSVRFTSAiUHJvcCZpZWRhZGVzIiwgICAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiQVJUIEltYWdlIgogICAgewogICAgICAgIE1FTlVJVEVNICImQWJyaXIgZW5sYWNlIiwgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAiQWJyaXIgZW4gdW5hICZudWV2YSB2ZW50YW5hIiwgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIiZHdWFyZGFyIGVubGFjZSBjb21vLi4uIiwgICAgIElETV9TQVZFVEFSR0VUCiAgICAgICAgTUVOVUlURU0gIiZJbXByaW1pciBlbmxhY2UiLCAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImTW9zdHJhciBpbeFnZW4iLCAgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiRyZ1YXJkYXIgaW1hZ2VuIGNvbW8uLi4iLCAgICAgSURNX1NBVkVQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIlAmb25lciBjb21vIGZvbmRvIiwgICAgICAgICAgIElETV9TRVRXQUxMUEFQRVIKICAgICAgICBNRU5VSVRFTSAiQSbxYWRpciBhbCBlc2NyaXRvcmlvLi4uIiwgICAgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkNvciZ0YXIiLCAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJkNvcGlhciIsICAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiQ29waWFyIGFjY2VzbyAmZGlyZWN0byIsICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICImUGVnYXIiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQfFhZGlyIGEgJkZhdm9yaXRvcy4uLiIsICAgICAgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJSJmVwcm9kdWNpciIsICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUUExBWQogICAgICAgIE1FTlVJVEVNICJQYSZyYXIiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUU1RPUAogICAgICAgIE1FTlVJVEVNICJSZSZib2JpbmFyIiwgICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUUkVXSU5ECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlByb3BpZWRhZGUmcyIsICAgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkRlYnVnIgogICAgewogICAgICAgIE1FTlVJVEVNICJUcmF6YXIgJmV0aXF1ZXRhcyIsICAgICAgICAgICBJRE1fVFJBQ0VUQUdTCiAgICAgICAgTUVOVUlURU0gIkZhbGxvcyBkZSAmcmVjdXJzb3MiLCAgICAgICAgIElETV9SRVNPVVJDRUZBSUxVUkVTCiAgICAgICAgTUVOVUlURU0gIlZvbGNhciBpbmZvIGRlIHNlJmd1aW1pZW50byIsIElETV9EVU1QVFJBQ0tJTkdJTkZPCiAgICAgICAgTUVOVUlURU0gIkRlcHVyYXIgJnBhcmFkYSIsICAgICAgICAgICAgIElETV9ERUJVR0JSRUFLCiAgICAgICAgTUVOVUlURU0gIkRlcHVyYXIgJnZpc3RhIiwgICAgICAgICAgICAgIElETV9ERUJVR1ZJRVcKICAgICAgICBNRU5VSVRFTSAiVm9sY2FyICZUcmVlIiwgICAgICAgICAgICAgICAgSURNX0RVTVBUUkVFCiAgICAgICAgTUVOVUlURU0gIlZvbGNhciAmTGluZXMiLCAgICAgICAgICAgICAgIElETV9EVU1QTElORVMKICAgICAgICBNRU5VSVRFTSAiVm9sY2FyICZEaXNwbGF5VHJlZSIsICAgICAgICAgSURNX0RVTVBESVNQTEFZVFJFRQogICAgICAgIE1FTlVJVEVNICJWb2xjYXIgJkZvcm1hdENhY2hlcyIsICAgICAgICBJRE1fRFVNUEZPUk1BVENBQ0hFUwogICAgICAgIE1FTlVJVEVNICJWb2xjYXIgTGEmeW91dFJlY3RzIiwgICAgICAgICBJRE1fRFVNUExBWU9VVFJFQ1RTCiAgICAgICAgTUVOVUlURU0gIk1vbml0b3IgZGUgJm1lbW9yaWEiLCAgICAgICAgIElETV9NRU1PUllNT05JVE9SCiAgICAgICAgTUVOVUlURU0gIk1lZGlkb3JlcyBkZSByZSZuZGltaWVudG8iLCAgIElETV9QRVJGT1JNQU5DRU1FVEVSUwogICAgICAgIE1FTlVJVEVNICJHdWFyZGFyICZIVE1MIiwgICAgICAgICAgICAgICBJRE1fU0FWRUhUTUwKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiRSZ4YW1pbmFyIHZpc3RhIiwgICAgICAgICAgICAgSURNX0JST1dTRU1PREUKICAgICAgICBNRU5VSVRFTSAiRWQmaXRhciB2aXN0YSIsICAgICAgICAgICAgICAgSURNX0VESVRNT0RFCiAgICB9CgogICAgUE9QVVAgIlZlcnRpY2FsIFNjcm9sbGJhciIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiRGVzcGxhemFyICZhcXXtIiwgICBJRE1fU0NST0xMX0hFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlByaW5jaXBpbyIgICAgICAgICBJRE1fU0NST0xMX1RPUAogICAgICAgIE1FTlVJVEVNICImRmluYWwiLCAgICAgICAgICAgIElETV9TQ1JPTExfQk9UVE9NCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlDhZ2luYSBhJnJyaWJhIiwgICAgSURNX1NDUk9MTF9QQUdFVVAKICAgICAgICBNRU5VSVRFTSAiUOFnaW5hIGEmYmFqbyIsICAgICBJRE1fU0NST0xMX1BBR0VET1dOCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkRlc3BsYXphciBhcnImaWJhIiwgSURNX1NDUk9MTF9VUAogICAgICAgIE1FTlVJVEVNICJEZXNwbGF6YXIgYWJhJmpvIiwgIElETV9TQ1JPTExfRE9XTgogICAgfQoKICAgIFBPUFVQICJIb3Jpem9udGFsIFNjcm9sbGJhciIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiRGVzcGxhemFyICZhcXXtIiwgICAgICAgICAgIElETV9TQ1JPTExfSEVSRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJCb3JkZSAmaXpxdWllcmRvIiwgICAgICAgICAgSURNX1NDUk9MTF9MRUZURURHRQogICAgICAgIE1FTlVJVEVNICJCb3JkZSAmZGVyZWNobyIsICAgICAgICAgICAgSURNX1NDUk9MTF9SSUdIVEVER0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiUOFnaW5hIGEgbGEgaSZ6cXVpZXJkYSIsICAgIElETV9TQ1JPTExfUEFHRUxFRlQKICAgICAgICBNRU5VSVRFTSAiUOFnaW5hIGEgbGEgZCZlcmVjaGEiLCAgICAgIElETV9TQ1JPTExfUEFHRVJJR0hUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkRlc3BsYXphciBhIGxhIGl6JnF1aWVyZGEiLCBJRE1fU0NST0xMX0xFRlQKICAgICAgICBNRU5VSVRFTSAiRGVzcGxhemFyIGEgbGEgZGUmcmVjaGEiLCAgIElETV9TQ1JPTExfUklHSFQKICAgIH0KfQo=