ZGlmZiAtLWdpdCBhL3NyYy9kaWdyYXBoLmMgYi9zcmMvZGlncmFwaC5jCmluZGV4IDA2YjIyN2EuLjkzYTgwYTggMTAwNjQ0Ci0tLSBhL3NyYy9kaWdyYXBoLmMKKysrIGIvc3JjL2RpZ3JhcGguYwpAQCAtMzgsMTEgKzM4LDExIEBACiAgKiBOb3RlOiBDaGFyYWN0ZXJzIG1hcmtlZCB3aXRoIFhYIGFyZSBub3QgaW5jbHVkZWQgbGl0ZXJhbGx5LCBiZWNhdXNlIHNvbWUKICAqIGNvbXBpbGVycyBjYW5ub3QgaGFuZGxlIHRoZW0gKEFtaWdhIFNBUy9DIGlzIHRoZSBtb3N0IHBpY2t5IG9uZSkuCiAgKi8KK3N0YXRpYyBkaWdyX1QgZGlncmFwaGRlZmF1bHRbXSA9CiAjaWYgZGVmaW5lZChNU0RPUykgfHwgZGVmaW5lZChPUzIpCiAJLyoKIAkgKiBNU0RPUyBkaWdyYXBocy4KIAkgKi8KLWRpZ3JfVAlkaWdyYXBoZGVmYXVsdFtdID0KICAgICAgICB7eydDJywgJywnLCAxMjh9LAkvKiB+QCBYWCAqLwogCXsndScsICciJywgMTI5fSwJLyoggSAqLwogCXsnZScsICdcJycsIDEzMH0sCS8qIIIgKi8KQEAgLTExMSw3ICsxMTEsNiBAQAogCS8qCiAJICogQVRBUkkgZGlncmFwaHMKIAkgKi8KLWRpZ3JfVAlkaWdyYXBoZGVmYXVsdFtdID0KICAgICAgICB7eydDJywgJywnLCAxMjh9LAkvKiB+QCBYWCAqLwogCXsndScsICciJywgMTI5fSwJLyoggSAqLwogCXsnZScsICdcJycsIDEzMH0sCS8qIIIgKi8KQEAgLTE3OCw3ICsxNzcsNiBAQAogCS8qCiAJICogZGlmZmVyZW50IEhQVVggZGlncmFwaHMKIAkgKi8KLWRpZ3JfVAlkaWdyYXBoZGVmYXVsdFtdID0KICAgICAgICB7eydBJywgJ2AnLCAxNjF9LAkvKiChICovCiAJeydBJywgJ14nLCAxNjJ9LAkvKiCiICovCiAJeydFJywgJ2AnLCAxNjN9LAkvKiCjICovCkBAIC0yODUsNyArMjgzLDYgQEAKIAkgKiBFQkNESUMgLSBJU08gZGlncmFwaHMKIAkgKiBUT0RPOiBFQkNESUMgVGFibGUgaXMgQ29kZS1QYWdlIDEwNDcKIAkgKi8KLWRpZ3JfVAlkaWdyYXBoZGVmYXVsdFtdID0KICAgICAgICB7eydhJywgJ14nLCAgICA2Nn0sCS8qIOIgKi8KIAl7J2EnLCAnIicsICAgIDY3fSwJLyog5CAqLwogCXsnYScsICdgJywgICAgNjh9LAkvKiDgICovCkBAIC0zOTUsNyArMzkyLDYgQEAKIAkvKgogCSAqIE1hY2ludG9zaCBkaWdyYXBocwogCSAqLwotZGlncl9UCWRpZ3JhcGhkZWZhdWx0W10gPQogICAgICAgIHt7J2EnLCAndCcsIDY0fSwJCS8qIEAgKi8KIAl7J0EnLCAnIicsIDEyOH0sCS8qIH5AIFhYICovCiAJeydBJywgJ28nLCAxMjl9LAkvKiDFICovCkBAIC01MjYsNyArNTIyLDYgQEAKIAkvKgogCSAqIGRpZ3JhcGhzIGNvbXBhdGlibGUgd2l0aCBWaW0gNS54CiAJICovCi1kaWdyX1QJZGlncmFwaGRlZmF1bHRbXSA9CiAgICAgICAge3snficsICchJywgMTYxfSwJLyogoSAqLwogCXsnYycsICd8JywgMTYyfSwJLyogoiAqLwogCXsnJCcsICckJywgMTYzfSwJLyogoyAqLwpAQCAtNjM1LDcgKzYzMCw2IEBACiAJICogZGlncmFwaHMgZm9yIFVuaWNvZGUgZnJvbSBSRkMxMzQ1CiAJICogKGFsc28gd29yayBmb3IgSVNPLTg4NTktMSBha2EgbGF0aW4xKQogCSAqLwotZGlncl9UCWRpZ3JhcGhkZWZhdWx0W10gPQogICAgICAgIHsKIAl7J04nLCAnVScsIDB4MGF9LAkvKiBMRiBmb3IgTlVMICovCiAJeydTJywgJ0gnLCAweDAxfSwKZGlmZiAtLWdpdCBhL3NyYy9lZGl0LmMgYi9zcmMvZWRpdC5jCmluZGV4IGJjZTBkODMuLmY0NjgyYzAgMTAwNjQ0Ci0tLSBhL3NyYy9lZGl0LmMKKysrIGIvc3JjL2VkaXQuYwpAQCAtMTk4LDEwICsxOTgsMTAgQEAKIHN0YXRpYyBpbnQJb2xkX2luZGVudCA9IDA7CQkvKiBmb3IgXl5EIGNvbW1hbmQgaW4gaW5zZXJ0IG1vZGUgKi8KIAogI2lmZGVmIEZFQVRfUklHSFRMRUZUCi1pbnQJCXJldmluc19vbjsJCS8qIHJldmVyc2UgaW5zZXJ0IG1vZGUgb24gKi8KLWludAkJcmV2aW5zX2NoYXJzOwkJLyogaG93IG11Y2ggdG8gc2tpcCBhZnRlciBlZGl0ICovCi1pbnQJCXJldmluc19sZWdhbDsJCS8qIHdhcyB0aGUgbGFzdCBjaGFyICdsZWdhbCc/ICovCi1pbnQJCXJldmluc19zY29sOwkJLyogc3RhcnQgY29sdW1uIG9mIHJldmlucyBzZXNzaW9uICovCitzdGF0aWMgaW50CXJldmluc19vbjsJCS8qIHJldmVyc2UgaW5zZXJ0IG1vZGUgb24gKi8KK3N0YXRpYyBpbnQJcmV2aW5zX2NoYXJzOwkJLyogaG93IG11Y2ggdG8gc2tpcCBhZnRlciBlZGl0ICovCitzdGF0aWMgaW50CXJldmluc19sZWdhbDsJCS8qIHdhcyB0aGUgbGFzdCBjaGFyICdsZWdhbCc/ICovCitzdGF0aWMgaW50CXJldmluc19zY29sOwkJLyogc3RhcnQgY29sdW1uIG9mIHJldmlucyBzZXNzaW9uICovCiAjZW5kaWYKIAogI2lmIGRlZmluZWQoRkVBVF9NQllURSkgJiYgZGVmaW5lZChNQUNPU19DTEFTU0lDKQpAQCAtNTQzMiw5ICs1NDMyLDkgQEAKICAqIGNoYXJhY3RlcnMgd2lsbCBiZSBsZWZ0IG9uIHRoZSBzdGFjayBhYm92ZSB0aGUgbmV3bHkgaW5zZXJ0ZWQgY2hhcmFjdGVyLgogICovCiAKLWNoYXJfdQkqcmVwbGFjZV9zdGFjayA9IE5VTEw7Ci1sb25nCXJlcGxhY2Vfc3RhY2tfbnIgPSAwOwkgICAgLyogbmV4dCBlbnRyeSBpbiByZXBsYWNlIHN0YWNrICovCi1sb25nCXJlcGxhY2Vfc3RhY2tfbGVuID0gMDsJICAgIC8qIG1heC4gbnVtYmVyIG9mIGVudHJpZXMgKi8KK3N0YXRpYyBjaGFyX3UJKnJlcGxhY2Vfc3RhY2sgPSBOVUxMOworc3RhdGljIGxvbmcJcmVwbGFjZV9zdGFja19uciA9IDA7CSAgICAvKiBuZXh0IGVudHJ5IGluIHJlcGxhY2Ugc3RhY2sgKi8KK3N0YXRpYyBsb25nCXJlcGxhY2Vfc3RhY2tfbGVuID0gMDsJICAgIC8qIG1heC4gbnVtYmVyIG9mIGVudHJpZXMgKi8KIAogICAgIHZvaWQKIHJlcGxhY2VfcHVzaChjKQpkaWZmIC0tZ2l0IGEvc3JjL3N5bnRheC5jIGIvc3JjL3N5bnRheC5jCmluZGV4IDU5NWJlZmMuLmZjMjcxMGEgMTAwNjQ0Ci0tLSBhL3NyYy9zeW50YXguYworKysgYi9zcmMvc3ludGF4LmMKQEAgLTc0MzIsMTYgKzc0MzIsMTYgQEAKICAqIE5vdGUgdGhhdCB0aGlzIHRhYmxlIGlzIHVzZWQgYnkgQUxMIGJ1ZmZlcnMuICBUaGlzIGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhlCiAgKiBHVUkgY2FuIHJlZHJhdyBhdCBhbnkgdGltZSBmb3IgYW55IGJ1ZmZlci4KICAqLwotZ2FycmF5X1QJdGVybV9hdHRyX3RhYmxlID0gezAsIDAsIDAsIDAsIE5VTEx9Oworc3RhdGljIGdhcnJheV9UCXRlcm1fYXR0cl90YWJsZSA9IHswLCAwLCAwLCAwLCBOVUxMfTsKIAogI2RlZmluZSBURVJNX0FUVFJfRU5UUlkoaWR4KSAoKGF0dHJlbnRyeV9UICopdGVybV9hdHRyX3RhYmxlLmdhX2RhdGEpW2lkeF0KIAotZ2FycmF5X1QJY3Rlcm1fYXR0cl90YWJsZSA9IHswLCAwLCAwLCAwLCBOVUxMfTsKK3N0YXRpYyBnYXJyYXlfVAljdGVybV9hdHRyX3RhYmxlID0gezAsIDAsIDAsIDAsIE5VTEx9OwogCiAjZGVmaW5lIENURVJNX0FUVFJfRU5UUlkoaWR4KSAoKGF0dHJlbnRyeV9UICopY3Rlcm1fYXR0cl90YWJsZS5nYV9kYXRhKVtpZHhdCiAKICNpZmRlZiBGRUFUX0dVSQotZ2FycmF5X1QJZ3VpX2F0dHJfdGFibGUgPSB7MCwgMCwgMCwgMCwgTlVMTH07CitzdGF0aWMgZ2FycmF5X1QJZ3VpX2F0dHJfdGFibGUgPSB7MCwgMCwgMCwgMCwgTlVMTH07CiAKICNkZWZpbmUgR1VJX0FUVFJfRU5UUlkoaWR4KSAoKGF0dHJlbnRyeV9UICopZ3VpX2F0dHJfdGFibGUuZ2FfZGF0YSlbaWR4XQogI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvdGVybS5jIGIvc3JjL3Rlcm0uYwppbmRleCAyMDIwM2I1Li45ZmYyOTM4IDEwMDY0NAotLS0gYS9zcmMvdGVybS5jCisrKyBiL3NyYy90ZXJtLmMKQEAgLTE0NCw3ICsxNDQsNyBAQAogCiBzdGF0aWMgaW50ICBkZXRlY3RlZF84Yml0ID0gRkFMU0U7CS8qIGRldGVjdGVkIDgtYml0IHRlcm1pbmFsICovCiAKLXN0cnVjdCBidWlsdGluX3Rlcm0gYnVpbHRpbl90ZXJtY2Fwc1tdID0KK3N0YXRpYyBzdHJ1Y3QgYnVpbHRpbl90ZXJtIGJ1aWx0aW5fdGVybWNhcHNbXSA9CiB7CiAKICNpZiBkZWZpbmVkKEZFQVRfR1VJKQpAQCAtMjQxOCw5ICsyNDE4LDkgQEAKICAqIG1pbmltYWwgdGdvdG8oKSBpbXBsZW1lbnRhdGlvbi4KICAqIG5vIHBhZGRpbmcgYW5kIHdlIG9ubHkgcGFyc2UgZm9yICVpICVkIGFuZCAlK2NoYXIKICAqLwotY2hhciAqdGdvdG8gX19BUkdTKChjaGFyICosIGludCwgaW50KSk7CitzdGF0aWMgY2hhciAqdGdvdG8gX19BUkdTKChjaGFyICosIGludCwgaW50KSk7CiAKLSAgICBjaGFyICoKKyAgICBzdGF0aWMgY2hhciAqCiB0Z290byhjbSwgeCwgeSkKICAgICBjaGFyICpjbTsKICAgICBpbnQgeCwgeTsKQEAgLTM0OTEsNyArMzQ5MSw3IEBACiAgKiBMaXN0IG9mIHRlcm1pbmFsIGNvZGVzIHRoYXQgYXJlIGN1cnJlbnRseSByZWNvZ25pemVkLgogICovCiAKLXN0cnVjdCB0ZXJtY29kZQorc3RhdGljIHN0cnVjdCB0ZXJtY29kZQogewogICAgIGNoYXJfdSAgbmFtZVsyXTsJICAgIC8qIHRlcm1jYXAgbmFtZSBvZiBlbnRyeSAqLwogICAgIGNoYXJfdSAgKmNvZGU7CSAgICAvKiB0ZXJtaW5hbCBjb2RlIChpbiBhbGxvY2F0ZWQgbWVtb3J5KSAqLwo=