LyogSGV5LCBFbWFjcywgb3BlbiB0aGlzIGZpbGUgd2l0aCAtKi0gY29kaW5nOiBjcDEyNTAgLSotCiAqCiAqIEhUTUwgSGVscCByZXNvdXJjZXMKICogQ3plY2ggTGFuZ3VhZ2UgU3VwcG9ydAogKgogKiBDb3B5cmlnaHQgMjAwNSBKYW1lcyBIYXdraW5zCiAqIENvcHlyaWdodCAyMDA1IERhdmlkIEtyZWRiYQogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgojaW5jbHVkZSAicmVzb3VyY2UuaCIKCkxBTkdVQUdFIExBTkdfQ1pFQ0gsIFNVQkxBTkdfREVGQVVMVAoKLyogQ3plY2ggc3RyaW5ncyBpbiBDUDEyNTAgKi8KClNUUklOR1RBQkxFCkJFR0lOCiAgICBJRFNfQ09OVEVOVFMgICAgICImT2JzYWgiCiAgICBJRFNfSU5ERVggICAgICAgICJJJm5kZXgiCiAgICBJRFNfU0VBUkNIICAgICAgICImSGxlZGF0IgogICAgSURTX0ZBVk9SSVRFUyAgICAiT2Js7SZiZW7pIgpFTkQKClNUUklOR1RBQkxFCkJFR0lOCiAgICBJRFRCX0VYUEFORCAgICAgICJSb3piYWxpdCIKICAgIElEVEJfQ09OVFJBQ1QgICAgIlNrcv10IgogICAgSURUQl9TVE9QICAgICAgICAiWmFzdGF2aXQiCiAgICBJRFRCX1JFRlJFU0ggICAgICJPYm5vdml0IgogICAgSURUQl9CQUNLICAgICAgICAiWnDsdCIKICAgIElEVEJfSE9NRSAgICAgICAgIkRvbfkiCiAgICBJRFRCX1NZTkMgICAgICAgICJTeW5jaHJvbml6b3ZhdCIKICAgIElEVEJfUFJJTlQgICAgICAgIlRpc2siCiAgICBJRFRCX09QVElPTlMgICAgICJWb2xieSIKICAgIElEVEJfRk9SV0FSRCAgICAgIlZw+GVkIgogICAgSURUQl9OT1RFUyAgICAgICAiSURUQl9OT1RFUyIKICAgIElEVEJfQlJPV1NFX0ZXRCAgIklEVEJfQlJPV1NFX0ZXRCIKICAgIElEVEJfQlJPV1NFX0JBQ0sgIklEVF9CUk9XU0VfQkFDSyIKICAgIElEVEJfQ09OVEVOVFMgICAgIklEVEJfQ09OVEVOVFMiCiAgICBJRFRCX0lOREVYICAgICAgICJJRFRCX0lOREVYIgogICAgSURUQl9TRUFSQ0ggICAgICAiSURUQl9TRUFSQ0giCiAgICBJRFRCX0hJU1RPUlkgICAgICJJRFRCX0hJU1RPUlkiCiAgICBJRFRCX0ZBVk9SSVRFUyAgICJJRFRCX0ZBVk9SSVRFUyIKICAgIElEVEJfSlVNUDEgICAgICAgIlNrb2sxIgogICAgSURUQl9KVU1QMiAgICAgICAiU2tvazIiCiAgICBJRFRCX0NVU1RPTUlaRSAgICJQ+Gl6cPlzb2JpdCIKICAgIElEVEJfWk9PTSAgICAgICAgIkx1cGEiCiAgICBJRFRCX1RPQ19ORVhUICAgICJJRFRCX1RPQ19ORVhUIgogICAgSURUQl9UT0NfUFJFViAgICAiSURUQl9UT0NfUFJFViIKRU5ECg==