ZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci93YXRjaGRvZy9pNjMwMGVzYi5jIGIvZHJpdmVycy9jaGFyL3dhdGNoZG9nL2k2MzAwZXNiLmMKaW5kZXggNTc1ZDZjZC4uOTM3ODVmMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3dhdGNoZG9nL2k2MzAwZXNiLmMKKysrIGIvZHJpdmVycy9jaGFyL3dhdGNoZG9nL2k2MzAwZXNiLmMKQEAgLTEsMjAgKzEsMTUgQEAKIC8qCi0gKglpNjMwMGVzYiAwLjAzOglXYXRjaGRvZyB0aW1lciBkcml2ZXIgZm9yIEludGVsIDYzMDBFU0IgY2hpcHNldAorICoJaTYzMDBlc2I6CVdhdGNoZG9nIHRpbWVyIGRyaXZlciBmb3IgSW50ZWwgNjMwMEVTQiBjaGlwc2V0CiAgKgogICoJKGMpIENvcHlyaWdodCAyMDA0IEdvb2dsZSBJbmMuCisgKgkoYykgQ29weXJpZ2h0IDIwMDUgRGF2aWQgSORyZGVtYW4gPGRhdmlkQDJnZW4uY29tPgogICoKICAqCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqCW1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKglhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24KICAqCTIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogICAgICBiYXNlZCBvbiBpODEwLXRjby5jIHdoaWNoIGlzCi0gKgotICoJKGMpIENvcHlyaWdodCAyMDAwCWtlcm5lbCBjb25jZXB0cyA8bmlsc0BrZXJuZWxjb25jZXB0cy5kZT4KLSAqCQkJCWRldmVsb3BlZCBmb3IKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSmVudHJvIEFHLCBIYWFyL011bmljaCAoR2VybWFueSkKLSAqCi0gKiAJd2hpY2ggaXMgaW4gdHVybiBiYXNlZCBvbiBzb2Z0ZG9nLmMgYnkgQWxhbiBDb3ggPGFsYW5AcmVkaGF0LmNvbT4KKyAqICAgICAgYmFzZWQgb24gaTgxMC10Y28uYyB3aGljaCBpcyBpbiB0dXJuIGJhc2VkIG9uIHNvZnRkb2cuYwogICoKICAqIAlUaGUgdGltZXIgaXMgaW1wbGVtZW50ZWQgaW4gdGhlIGZvbGxvd2luZyBJL08gY29udHJvbGxlciBodWJzOgogICogCShTZWUgdGhlIGludGVsIGRvY3VtZW50YXRpb24gb24gaHR0cDovL2RldmVsb3Blci5pbnRlbC5jb20uKQpAQCAtNDcsMTQgKzQyLDM5IEBACiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAotI2luY2x1ZGUgImk2MzAwZXNiLmgiCi0KIC8qIE1vZHVsZSBhbmQgdmVyc2lvbiBpbmZvcm1hdGlvbiAqLwogI2RlZmluZSBFU0JfVkVSU0lPTiAiMC4wMyIKICNkZWZpbmUgRVNCX01PRFVMRV9OQU1FICJpNjMwMEVTQiB0aW1lciIKICNkZWZpbmUgRVNCX0RSSVZFUl9OQU1FIEVTQl9NT0RVTEVfTkFNRSAiLCB2IiBFU0JfVkVSU0lPTgogI2RlZmluZSBQRlggRVNCX01PRFVMRV9OQU1FICI6ICIKIAorLyogUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzICovCisjZGVmaW5lIEVTQl9DT05GSUdfUkVHICAweDYwICAgICAgICAgICAgLyogQ29uZmlnIHJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIEVTQl9MT0NLX1JFRyAgICAweDY4ICAgICAgICAgICAgLyogV0RUIGxvY2sgcmVnaXN0ZXIgICAgICAgICAgICAgICAgICovCisKKy8qIE1lbW9yeSBtYXBwZWQgcmVnaXN0ZXJzICovCisjZGVmaW5lIEVTQl9USU1FUjFfUkVHICBCQVNFQUREUiArIDB4MDAgLyogVGltZXIxIHZhbHVlIGFmdGVyIGVhY2ggcmVzZXQgICAgICovCisjZGVmaW5lIEVTQl9USU1FUjJfUkVHICBCQVNFQUREUiArIDB4MDQgLyogVGltZXIyIHZhbHVlIGFmdGVyIGVhY2ggcmVzZXQgICAgICovCisjZGVmaW5lIEVTQl9HSU5UU1JfUkVHICBCQVNFQUREUiArIDB4MDggLyogR2VuZXJhbCBJbnRlcnJ1cHQgU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIEVTQl9SRUxPQURfUkVHICBCQVNFQUREUiArIDB4MGMgLyogUmVsb2FkIHJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICovCisKKy8qIExvY2sgcmVnaXN0ZXIgYml0cyAqLworI2RlZmluZSBFU0JfV0RUX0ZVTkMgICAgKCAweDAxIDw8IDIgKSAgIC8qIFdhdGNoZG9nIGZ1bmN0aW9uYWxpdHkgICAgICAgICAgICAqLworI2RlZmluZSBFU0JfV0RUX0VOQUJMRSAgKCAweDAxIDw8IDEgKSAgIC8qIEVuYWJsZSBXRFQgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBFU0JfV0RUX0xPQ0sgICAgKCAweDAxIDw8IDAgKSAgIC8qIExvY2sgKG5vd2F5b3V0KSAgICAgICAgICAgICAgICAgICAqLworCisvKiBDb25maWcgcmVnaXN0ZXIgYml0cyAqLworI2RlZmluZSBFU0JfV0RUX1JFQk9PVCAgKCAweDAxIDw8IDUgKSAgIC8qIEVuYWJsZSByZWJvb3Qgb24gdGltZW91dCAgICAgICAgICAqLworI2RlZmluZSBFU0JfV0RUX0ZSRVEgICAgKCAweDAxIDw8IDIgKSAgIC8qIERlY3JlbWVudCBmcmVxdWVuY3kgICAgICAgICAgICAgICAqLworI2RlZmluZSBFU0JfV0RUX0lOVFRZUEUgKCAweDExIDw8IDAgKSAgIC8qIEludGVycnVwdCB0eXBlIG9uIHRpbWVyMSB0aW1lb3V0ICAqLworCisvKiBSZWxvYWQgcmVnaXN0ZXIgYml0cyAqLworI2RlZmluZSBFU0JfV0RUX1JFTE9BRCAoIDB4MDEgPDwgOCApICAgIC8qIHByZXZlbnQgdGltZW91dCAgICAgICAgICAgICAgICAgICAqLworCisvKiBNYWdpYyBjb25zdGFudHMgKi8KKyNkZWZpbmUgRVNCX1VOTE9DSzEgICAgIDB4ODAgICAgICAgICAgICAvKiBTdGVwIDEgdG8gdW5sb2NrIHJlc2V0IHJlZ2lzdGVycyAgKi8KKyNkZWZpbmUgRVNCX1VOTE9DSzIgICAgIDB4ODYgICAgICAgICAgICAvKiBTdGVwIDIgdG8gdW5sb2NrIHJlc2V0IHJlZ2lzdGVycyAgKi8KKwogLyogaW50ZXJuYWwgdmFyaWFibGVzICovCiBzdGF0aWMgdm9pZCBfX2lvbWVtICpCQVNFQUREUjsKIHN0YXRpYyBzcGlubG9ja190IGVzYl9sb2NrOyAvKiBHdWFyZHMgdGhlIGhhcmR3YXJlICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvd2F0Y2hkb2cvaTYzMDBlc2IuaCBiL2RyaXZlcnMvY2hhci93YXRjaGRvZy9pNjMwMGVzYi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMGM5MjNiLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvY2hhci93YXRjaGRvZy9pNjMwMGVzYi5oCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotLyoKLSAqCWk2MzAwZXNiOglXYXRjaGRvZyB0aW1lciBkcml2ZXIgZm9yIEludGVsIDYzMDBFU0IgY2hpcHNldAotICoKLSAqCShjKSBDb3B5cmlnaHQgMjAwMCBrZXJuZWwgY29uY2VwdHMgPG5pbHNAa2VybmVsY29uY2VwdHMuZGU+LCBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoJCQkJaHR0cDovL3d3dy5rZXJuZWxjb25jZXB0cy5kZQotICoKLSAqCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqCW1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKglhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24KLSAqCTIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICoJTmVpdGhlciBrZXJuZWwgY29uY2VwdHMgbm9yIE5pbHMgRmFlcmJlciBhZG1pdCBsaWFiaWxpdHkgbm9yIHByb3ZpZGUKLSAqCXdhcnJhbnR5IGZvciBhbnkgb2YgdGhpcyBzb2Z0d2FyZS4gVGhpcyBtYXRlcmlhbCBpcyBwcm92aWRlZAotICoJIkFTLUlTIiBhbmQgYXQgbm8gY2hhcmdlLgotICoKLSAqCShjKSBDb3B5cmlnaHQgMjAwMAlrZXJuZWwgY29uY2VwdHMgPG5pbHNAa2VybmVsY29uY2VwdHMuZGU+Ci0gKgkJCQlkZXZlbG9wZWQgZm9yCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEplbnRybyBBRywgSGFhci9NdW5pY2ggKEdlcm1hbnkpCi0gKgotICoJVENPIHRpbWVyIGRyaXZlciBmb3IgaTh4eCBjaGlwc2V0cwotICoJYmFzZWQgb24gc29mdGRvZy5jIGJ5IEFsYW4gQ294IDxhbGFuQHJlZGhhdC5jb20+Ci0gKgotICoJRm9yIGhpc3RvcnkgYW5kIHRoZSBjb21wbGV0ZSBsaXN0IG9mIHN1cHBvcnRlZCBJL08gQ29udHJvbGxlciBIdWIncwotICoJc2VlIGk4eHhfdGNvLmMKLSAqLwotCi0KLS8qCi0gKiBTb21lIGFkZHJlc3MgZGVmaW5pdGlvbnMgZm9yIHRoZSBUQ08KLSAqLwotCi0vKiBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlcnMgKi8KLSNkZWZpbmUgRVNCX0NPTkZJR19SRUcgIDB4NjAgICAgICAgICAgICAvKiBDb25maWcgcmVnaXN0ZXIgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgRVNCX0xPQ0tfUkVHICAgIDB4NjggICAgICAgICAgICAvKiBXRFQgbG9jayByZWdpc3RlciAgICAgICAgICAgICAgICAgKi8KLQotLyogTWVtb3J5IG1hcHBlZCByZWdpc3RlcnMgKi8KLSNkZWZpbmUgRVNCX1RJTUVSMV9SRUcgIEJBU0VBRERSICsgMHgwMCAvKiBUaW1lcjEgdmFsdWUgYWZ0ZXIgZWFjaCByZXNldCAgICAgKi8KLSNkZWZpbmUgRVNCX1RJTUVSMl9SRUcgIEJBU0VBRERSICsgMHgwNCAvKiBUaW1lcjIgdmFsdWUgYWZ0ZXIgZWFjaCByZXNldCAgICAgKi8KLSNkZWZpbmUgRVNCX0dJTlRTUl9SRUcgIEJBU0VBRERSICsgMHgwOCAvKiBHZW5lcmFsIEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgRVNCX1JFTE9BRF9SRUcgIEJBU0VBRERSICsgMHgwYyAvKiBSZWxvYWQgcmVnaXN0ZXIgICAgICAgICAgICAgICAgICAgKi8KLQotCi0vKgotICogU29tZSByZWdpc3RlciBiaXRzCi0gKi8KLQotLyogTG9jayByZWdpc3RlciBiaXRzICovCi0jZGVmaW5lIEVTQl9XRFRfRlVOQyAgICAoIDB4MDEgPDwgMiApICAgLyogV2F0Y2hkb2cgZnVuY3Rpb25hbGl0eSAgICAgICAgICAgICovCi0jZGVmaW5lIEVTQl9XRFRfRU5BQkxFICAoIDB4MDEgPDwgMSApICAgLyogRW5hYmxlIFdEVCAgICAgICAgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIEVTQl9XRFRfTE9DSyAgICAoIDB4MDEgPDwgMCApICAgLyogTG9jayAobm93YXlvdXQpICAgICAgICAgICAgICAgICAgICovCi0KLS8qIENvbmZpZyByZWdpc3RlciBiaXRzICovCi0jZGVmaW5lIEVTQl9XRFRfUkVCT09UICAoIDB4MDEgPDwgNSApICAgLyogRW5hYmxlIHJlYm9vdCBvbiB0aW1lb3V0ICAgICAgICAgICovCi0jZGVmaW5lIEVTQl9XRFRfRlJFUSAgICAoIDB4MDEgPDwgMiApICAgLyogRGVjcmVtZW50IGZyZXF1ZW5jeSAgICAgICAgICAgICAgICovCi0jZGVmaW5lIEVTQl9XRFRfSU5UVFlQRSAoIDB4MTEgPDwgMCApICAgLyogSW50ZXJydXB0IHR5cGUgb24gdGltZXIxIHRpbWVvdXQgICovCi0KLS8qIFJlbG9hZCByZWdpc3RlciBiaXRzICovCi0jZGVmaW5lIEVTQl9XRFRfUkVMT0FEICggMHgwMSA8PCA4ICkgICAgLyogcHJldmVudCB0aW1lb3V0ICAgICAgICAgICAgICAgICAgICovCi0KLS8qCi0gKiBTb21lIG1hZ2ljIGNvbnN0YW50cwotICovCi0jZGVmaW5lIEVTQl9VTkxPQ0sxICAgICAweDgwICAgICAgICAgICAgLyogU3RlcCAxIHRvIHVubG9jayByZXNldCByZWdpc3RlcnMgICovCi0jZGVmaW5lIEVTQl9VTkxPQ0syICAgICAweDg2ICAgICAgICAgICAgLyogU3RlcCAyIHRvIHVubG9jayByZXNldCByZWdpc3RlcnMgICovCg==