ZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWkzODYvdS1ib290LWkzODYuaCBiL2luY2x1ZGUvYXNtLWkzODYvdS1ib290LWkzODYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTVlMDU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20taTM4Ni91LWJvb3QtaTM4Ni5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiAoQykgQ29weXJpZ2h0IDIwMDIKKyAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCBkYW5pZWxAb21pY3Jvbi5zZS4KKyAqCisgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcworICogcHJvamVjdC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLAorICogTUEgMDIxMTEtMTMwNyBVU0EKKyAqLworCisjaWZuZGVmIF9VX0JPT1RfSTM4Nl9IXworI2RlZmluZSBfVV9CT09UX0kzODZfSF8JMQorCisvKiBmb3IgdGhlIGZvbGxvd2luZyB2YXJpYWJsZXMsIHNlZSBzdGFydC5TICovCitleHRlcm4gdWxvbmcgaTM4NmJvb3Rfc3RhcnQ7CSAgICAvKiBjb2RlIHN0YXJ0IChpbiBmbGFzaCkgKi8KK2V4dGVybiB1bG9uZyBpMzg2Ym9vdF9lbmQ7CSAgICAvKiBjb2RlIGVuZCAoaW4gZmxhc2gpICovCitleHRlcm4gdWxvbmcgaTM4NmJvb3Rfcm9tZGF0YV9zdGFydDsvKiBkYXRhc2VnbWVudCBpbiBmbGFzaCAoYWxzbyBjb2RlK3JvZGF0YSBlbmQpICovCitleHRlcm4gdWxvbmcgaTM4NmJvb3Rfcm9tZGF0YV9kZXN0OyAvKiBkYXRhIGxvY2F0aW9uIHNlZ21lbnQgaW4gcmFtICovCitleHRlcm4gdWxvbmcgaTM4NmJvb3Rfcm9tZGF0YV9zaXplOyAvKiBzaXplIG9mIGRhdGEgc2VnbWVudCAqLworZXh0ZXJuIHVsb25nIGkzODZib290X2Jzc19zdGFydDsgICAgLyogYnNzIHN0YXJ0ICovCitleHRlcm4gdWxvbmcgaTM4NmJvb3RfYnNzX3NpemU7ICAgICAvKiBic3Mgc2l6ZSAqLworZXh0ZXJuIHVsb25nIGkzODZib290X3N0YWNrX2VuZDsgICAgLyogZmlyc3QgdXNhYmxlIFJBTSBhZGRyZXNzIGFmdGVyIGJzcyBhbmQgc3RhY2sgKi8KK2V4dGVybiB1bG9uZyBpMzg2Ym9vdF9yYW1fZW5kOyAgICAgIC8qIGVuZCBvZiByYW0gKi8KKworZXh0ZXJuIHVsb25nIGkzODZib290X3JlYWxtb2RlOyAgICAgLyogc3RhcnQgb2YgcmVhbG1vZGUgZW50cnkgY29kZSAqLworZXh0ZXJuIHVsb25nIGkzODZib290X3JlYWxtb2RlX3NpemU7Lyogc2l6ZSBvZiByZWFsbW9kZSBlbnRyeSBjb2RlICovCitleHRlcm4gdWxvbmcgaTM4NmJvb3RfYmlvczsgICAgICAgICAvKiBzdGFydCBvZiBCSU9TIGVtdWxhdGlvbiBjb2RlICovCitleHRlcm4gdWxvbmcgaTM4NmJvb3RfYmlvc19zaXplOyAgICAvKiBzaXplIG9mIEJJT1MgZW11bGF0aW9uIGNvZGUgKi8KKworCisvKiBjcHUvLi4uL2NwdS5jICovCitpbnQgY3B1X2luaXQodm9pZCk7CitpbnQgdGltZXJfaW5pdCh2b2lkKTsKKworLyogYm9hcmQvLi4uLy4uLiAqLworaW50CWJvYXJkX2luaXQodm9pZCk7CitpbnQJZHJhbV9pbml0ICh2b2lkKTsKKworCisjZW5kaWYJLyogX1VfQk9PVF9JMzg2X0hfICovCg==