From kde-doc-english Tue Nov 03 20:45:01 2015 From: Johannes Obermayr Date: Tue, 03 Nov 2015 20:45:01 +0000 To: kde-doc-english Subject: [kde-doc-english] [k3b/kf5] /: Merge branch 'origin/master' into kf5 Message-Id: X-MARC-Message: https://marc.info/?l=kde-doc-english&m=144658352013001 R2l0IGNvbW1pdCBmODFkZGU4Y2M4MTgzN2U5NmNlY2M1ODFmZjQ4MGU4YWIwNzk1OTM5IGJ5IEpv aGFubmVzIE9iZXJtYXlyLgpDb21taXR0ZWQgb24gMDMvMTEvMjAxNSBhdCAyMDozOS4KUHVzaGVk IGJ5IGpvYmVybWF5ciBpbnRvIGJyYW5jaCAna2Y1Jy4KCk1lcmdlIGJyYW5jaCAnb3JpZ2luL21h c3RlcicgaW50byBrZjUKCk0gICsxICAgIC0xICAgIGRvYy9pbmRleC5kb2Nib29rCk0gICsxICAg IC0xICAgIGxpYmszYi9qb2JzL2szYmJsYW5raW5nam9iLmNwcApNICArMTMgICAtMTMgICBsaWJr M2Ivam9icy9rM2JjZGNvcHlqb2IuY3BwCk0gICsxICAgIC0xICAgIGxpYmszYi9qb2JzL2szYmRh dGF0cmFja3JlYWRlci5jcHAKTSAgKzIgICAgLTIgICAgbGliazNiL2pvYnMvazNiZHZkY29weWpv Yi5jcHAKTSAgKzIgICAgLTIgICAgbGliazNiL2pvYnMvazNiaXNvOTY2MGltYWdld3JpdGluZ2pv Yi5jcHAKTSAgKzIgICAgLTIgICAgbGliazNiL2pvYnMvazNibWV0YXdyaXRlci5jcHAKTSAgKzIg ICAgLTIgICAgbGliazNiL2pvYnMvazNidmVyaWZpY2F0aW9uam9iLmNwcApNICArNiAgICAtNiAg ICBsaWJrM2IvcHJvamVjdHMvZGF0YWNkL2szYmRhdGFqb2IuY3BwCk0gICsxICAgIC0xICAgIGxp YmszYi9wcm9qZWN0cy9kYXRhY2QvazNiZGF0YW11bHRpc2Vzc2lvbnBhcmFtZXRlcmpvYi5jcHAK TSAgKzEgICAgLTEgICAgbGliazNiL3Byb2plY3RzL2RhdGFjZC9rM2Jtc2luZm9mZXRjaGVyLmNw cApNICArMiAgICAtMiAgICBsaWJrM2IvcHJvamVjdHMvazNiY2RyZGFvd3JpdGVyLmNwcApNICAr MSAgICAtMSAgICBsaWJrM2IvcHJvamVjdHMvazNiZ3Jvd2lzb2ZzaGFuZGxlci5jcHAKTSAgKzMg ICAgLTMgICAgbGliazNiL3Byb2plY3RzL21peGVkY2QvazNibWl4ZWRqb2IuY3BwCk0gICsyICAg IC0yICAgIGxpYmszYi9wcm9qZWN0cy92aWRlb2NkL2szYnZjZGpvYi5jcHAKTSAgKzEgICAgLTEg ICAgbGliazNiL3Byb2plY3RzL3ZpZGVvZHZkL2szYnZpZGVvZHZkam9iLmNwcApNICArNiAgICAt NiAgICBsaWJrM2IvdG9vbHMvazNic3RkZ3VpaXRlbXMuY3BwCk0gICs0ICAgIC00ICAgIGxpYmsz YmRldmljZS9rM2JkZXZpY2UuY3BwCk0gICszICAgIC0zICAgIGxpYmszYmRldmljZS9rM2JkZXZp Y2VtYW5hZ2VyLmNwcApNICArMSAgICAtMSAgICBwbHVnaW5zL2RlY29kZXIvZmxhYy9rM2JmbGFj ZGVjb2Rlci5jcHAKUiAgKzEgICAgLTEgICAgcGx1Z2lucy9lbmNvZGVyL2xhbWUvYmFzZV9rM2Jt YW51YWxiaXRyYXRlc2V0dGluZ3NkaWFsb2cudWkKTSAgKzEgICAgLTEgICAgcGx1Z2lucy9lbmNv ZGVyL3NveC9rM2Jzb3hlbmNvZGVyLmNwcApNICArMiAgICAtMiAgICBwbHVnaW5zL3Byb2plY3Qv YXVkaW9wcm9qZWN0Y2RkYi9rM2JhdWRpb3Byb2plY3RjZGRicGx1Z2luLmNwcApNICArNCAgICAt NCAgICBzcmMvazNiLmNwcApNICArMSAgICAtMSAgICBzcmMvazNiZGlza2luZm92aWV3LmNwcApN ICArMjQgICAtMzEgICBzcmMvazNiam9icHJvZ3Jlc3NkaWFsb2cuY3BwCk0gICs5ICAgIC04ICAg IHNyYy9rM2Jqb2Jwcm9ncmVzc2RpYWxvZy5oCk0gICs0ICAgIC0xICAgIHNyYy9rM2Jsc29md3Jh cHBlci5jcHAKTSAgKzEgICAgLTEgICAgc3JjL2szYnN5c3RlbXByb2JsZW1kaWFsb2cuY3BwCk0g ICsxICAgIC0xICAgIHNyYy9rM2J3cml0aW5nbW9kZXdpZGdldC5jcHAKTSAgKzMgICAgLTMgICAg c3JjL21pc2MvazNiaW1hZ2V3cml0aW5nZGlhbG9nLmNwcApNICArMSAgICAtMSAgICBzcmMvbWlz Yy9rM2JtZWRpYWNvcHlkaWFsb2cuY3BwCk0gICsxICAgIC0xICAgIHNyYy9vcHRpb24vazNiZGV2 aWNld2lkZ2V0LmNwcApSICArMSAgICAtMCAgICBzcmMvb3JnLmtkZS5rM2IuZGVza3RvcApNICAr MjAgICAtMjAgICBzcmMvcHJvamVjdHMvYmFzZV9rM2JhZHZhbmNlZGRhdGFpbWFnZXNldHRpbmdz LnVpCk0gICsyICAgIC0yICAgIHNyYy9wcm9qZWN0cy9rM2JkYXRhaW1hZ2VzZXR0aW5nc3dpZGdl dC5jcHAKTSAgKzIgICAgLTIgICAgc3JjL3Byb2plY3RzL2szYmRhdGFtdWx0aXNlc3Npb25jb21i b2JveC5jcHAKTSAgKzEgICAgLTEgICAgc3JjL3Byb2plY3RzL2szYmRhdGFtdWx0aXNlc3Npb25p bXBvcnRkaWFsb2cuY3BwCk0gICszICAgIC0zICAgIHNyYy9wcm9qZWN0cy9rM2JkYXRhcHJvcGVy dGllc2RpYWxvZy5jcHAKTSAgKzEgICAgLTEgICAgc3JjL3Byb2plY3RzL2szYmRhdGF1cmxhZGRp bmdkaWFsb2cuY3BwCk0gICsxICAgIC0xICAgIHNyYy9wcm9qZWN0cy9rM2J2Y2RidXJuZGlhbG9n LmNwcApNICArMTYgICAtMyAgICBzcmMvcmlwL2szYmF1ZGlvY2R2aWV3LmNwcApNICArMSAgICAt MSAgICBzcmMvcmlwL2szYnZpZGVvY2RyaXBwaW5nZGlhbG9nLmNwcAoKaHR0cDovL2NvbW1pdHMu a2RlLm9yZy9rM2IvZjgxZGRlOGNjODE4MzdlOTZjZWNjNTgxZmY0ODBlOGFiMDc5NTkzOQoKZGlm ZiAtLWNjIGxpYmszYi9wcm9qZWN0cy92aWRlb2NkL2szYnZjZGpvYi5jcHAKaW5kZXggYjUwOGQ5 NywyYmQ1NTE4Li5kZGVkY2Q1Ci0tLSBhL2xpYmszYi9wcm9qZWN0cy92aWRlb2NkL2szYnZjZGpv Yi5jcHAKKysrIGIvbGliazNiL3Byb2plY3RzL3ZpZGVvY2QvazNidmNkam9iLmNwcApAQEAgLTE5 NCwxMiAtMTk3LDEyICsxOTQsMTIgQEBAIHZvaWQgSzNiOjpWY2RKb2I6OnZjZHhCdWlsZCgKICAg ICAgbV9wcm9jZXNzID0gbmV3IEszYjo6UHJvY2VzcygpOwogICAgICBtX3Byb2Nlc3MtPnNldFNw bGl0U3Rkb3V0KCB0cnVlICk7CiAgCi0gICAgIGVtaXQgaW5mb01lc3NhZ2UoIGkxOG4oICJDcmVh dGluZyBDdWUvQmluIGZpbGVzIC4uLiIgKSwgSzNiOjpKb2I6Ok1lc3NhZ2VJbmZvICk7CisgICAg IGVtaXQgaW5mb01lc3NhZ2UoIGkxOG4oICJDcmVhdGluZyBDdWUvQmluIGZpbGVzLi4uIiApLCBL M2I6OkpvYjo6TWVzc2FnZUluZm8gKTsKICAgICAgY29uc3QgSzNiOjpFeHRlcm5hbEJpbiogYmlu ID0gazNiY29yZSAtPmV4dGVybmFsQmluTWFuYWdlcigpIC0+YmluT2JqZWN0KCAidmNkeGJ1aWxk IiApOwogICAgICBpZiAoICFiaW4gKSB7CiAtICAgICAgICBrRGVidWcoKSA8PCAiKEszYjo6VmNk Sm9iKSBjb3VsZCBub3QgZmluZCB2Y2R4YnVpbGQgZXhlY3V0YWJsZSI7CiArICAgICAgICBxRGVi dWcoKSA8PCAiKEszYjo6VmNkSm9iKSBjb3VsZCBub3QgZmluZCB2Y2R4YnVpbGQgZXhlY3V0YWJs ZSI7CiAgICAgICAgICBlbWl0IGluZm9NZXNzYWdlKCBpMThuKCAiQ291bGQgbm90IGZpbmQgJTEg ZXhlY3V0YWJsZS4iICwgUVN0cmluZygidmNkeGJ1aWxkIikgKSwgSzNiOjpKb2I6Ok1lc3NhZ2VF cnJvciApOwotICAgICAgICAgZW1pdCBpbmZvTWVzc2FnZSggaTE4biggIlRvIGNyZWF0ZSBWaWRl byBDRHMgeW91IGhhdmUgdG8gaW5zdGFsbCBWY2RJbWFnZXIgVmVyc2lvbiAlMS4iICxRU3RyaW5n KCAiPj0gMC43LjEyIikgKSwgSzNiOjpKb2I6Ok1lc3NhZ2VJbmZvICk7CisgICAgICAgICBlbWl0 IGluZm9NZXNzYWdlKCBpMThuKCAiVG8gY3JlYXRlIFZpZGVvIENEcyB5b3UgaGF2ZSB0byBpbnN0 YWxsIFZjZEltYWdlciB2ZXJzaW9uICUxLiIgLFFTdHJpbmcoICI+PSAwLjcuMTIiKSApLCBLM2I6 OkpvYjo6TWVzc2FnZUluZm8gKTsKICAgICAgICAgIGVtaXQgaW5mb01lc3NhZ2UoIGkxOG4oICJZ b3UgY2FuIGZpbmQgdGhpcyBvbiB5b3VyIGRpc3RyaWJ1dGlvbiBkaXNrcyBvciBkb3dubG9hZCBp dCBmcm9tIGh0dHA6Ly93d3cudmNkaW1hZ2VyLm9yZyIgKSwgSzNiOjpKb2I6Ok1lc3NhZ2VJbmZv ICk7CiAgICAgICAgICBjYW5jZWxBbGwoKTsKICAgICAgICAgIGpvYkZpbmlzaGVkKCBmYWxzZSAp OwpkaWZmIC0tY2MgcGx1Z2lucy9wcm9qZWN0L2F1ZGlvcHJvamVjdGNkZGIvazNiYXVkaW9wcm9q ZWN0Y2RkYnBsdWdpbi5jcHAKaW5kZXggMTRkMzJhMCwyYmU4NDJjLi41MGZjOTczCi0tLSBhL3Bs dWdpbnMvcHJvamVjdC9hdWRpb3Byb2plY3RjZGRiL2szYmF1ZGlvcHJvamVjdGNkZGJwbHVnaW4u Y3BwCisrKyBiL3BsdWdpbnMvcHJvamVjdC9hdWRpb3Byb2plY3RjZGRiL2szYmF1ZGlvcHJvamVj dGNkZGJwbHVnaW4uY3BwCkBAQCAtNzAsMTAgLTczLDkgKzcwLDEwIEBAQCB2b2lkIEszYkF1ZGlv UHJvamVjdENkZGJQbHVnaW46OmFjdGl2YXQKICAgICAgfQogICAgICBlbHNlIHsKICAgICAgICAg IGlmKCAhbV9wcm9ncmVzcyApIHsKLSAgICAgICAgICAgICBtX3Byb2dyZXNzLnJlc2V0KCBuZXcg UVByb2dyZXNzRGlhbG9nKCBpMThuKCJRdWVyeSBDZGRiIiksIGkxOG4oIkNhbmNlbCIpLCAwLCAw LCBwYXJlbnQgKSApOwogLSAgICAgICAgICAgIG1fcHJvZ3Jlc3MgPSBuZXcgSzNiOjpQcm9ncmVz c0RpYWxvZyggaTE4bigiUXVlcnkgQ0REQiIpLCBwYXJlbnQsIGkxOG4oIkF1ZGlvIFByb2plY3Qi KSApOwogLSAgICAgICAgICAgIGNvbm5lY3QoIG1fcHJvZ3Jlc3MsIFNJR05BTChjYW5jZWxDbGlj a2VkKCkpLAogLSAgICAgICAgICAgICAgICAgICAgIHRoaXMsIFNMT1Qoc2xvdENhbmNlbENsaWNr ZWQoKSkgKTsKKysgICAgICAgICAgICBtX3Byb2dyZXNzLnJlc2V0KCBuZXcgUVByb2dyZXNzRGlh bG9nKCBpMThuKCJRdWVyeSBDRERCIiksIGkxOG4oIkNhbmNlbCIpLCAwLCAwLCBwYXJlbnQgKSAp OwogKyAgICAgICAgICAgIG1fcHJvZ3Jlc3MtPnNldFdpbmRvd1RpdGxlKCBpMThuKCJBdWRpbyBQ cm9qZWN0IikgKTsKICsgICAgICAgIH0gZWxzZSB7CiArICAgICAgICAgICAgbV9wcm9ncmVzcy0+ cmVzZXQoKTsKICAgICAgICAgIH0KICAKICAgICAgICAgIEszYjo6Q0REQjo6Q0REQkpvYiogam9i ID0gSzNiOjpDRERCOjpDRERCSm9iOjpxdWVyeUNkZGIoIG1fZG9jLT50b1RvYygpICk7CmRpZmYg LS1jYyBzcmMvazNiLmNwcAppbmRleCA0ZjdkZGU1LGQ5M2UxYjkuLmE0MjA5MzkKLS0tIGEvc3Jj L2szYi5jcHAKKysrIGIvc3JjL2szYi5jcHAKQEBAIC0zMDEsMTAgLTMwMSwxMCArMzAxLDEwIEBA QCB2b2lkIEszYjo6TWFpbldpbmRvdzo6aW5pdEFjdGlvbnMoCiAgICAgIGQtPmFjdGlvbkZpbGVT YXZlLT5zZXRTdGF0dXNUaXAoIGQtPmFjdGlvbkZpbGVTYXZlLT50b29sVGlwKCkgKTsKICAKICAg ICAgZC0+YWN0aW9uRmlsZVNhdmVBcyA9IEtTdGFuZGFyZEFjdGlvbjo6c2F2ZUFzKCB0aGlzLCBT TE9UKHNsb3RGaWxlU2F2ZUFzKCkpLCBhY3Rpb25Db2xsZWN0aW9uKCkgKTsKLSAgICAgZC0+YWN0 aW9uRmlsZVNhdmVBcy0+c2V0VG9vbFRpcCggaTE4biggIlNhdmVzIHRoZSBjdXJyZW50IHByb2pl Y3QgdG8gYSBuZXcgdXJsIiApICk7CisgICAgIGQtPmFjdGlvbkZpbGVTYXZlQXMtPnNldFRvb2xU aXAoIGkxOG4oICJTYXZlcyB0aGUgY3VycmVudCBwcm9qZWN0IHRvIGEgbmV3IFVSTCIgKSApOwog ICAgICBkLT5hY3Rpb25GaWxlU2F2ZUFzLT5zZXRTdGF0dXNUaXAoIGQtPmFjdGlvbkZpbGVTYXZl QXMtPnRvb2xUaXAoKSApOwogIAogLSAgICBLQWN0aW9uKiBhY3Rpb25GaWxlU2F2ZUFsbCA9IG5l dyBLQWN0aW9uKCBLSWNvbiggImRvY3VtZW50LXNhdmUtYWxsIiApLCBpMThuKCJTYXZlIEFsbCIp LCB0aGlzICk7CiArICAgIFFBY3Rpb24qIGFjdGlvbkZpbGVTYXZlQWxsID0gbmV3IFFBY3Rpb24o IFFJY29uOjpmcm9tVGhlbWUoICJkb2N1bWVudC1zYXZlLWFsbCIgKSwgaTE4bigiU2F2ZSBBbGwi KSwgdGhpcyApOwogICAgICBhY3Rpb25GaWxlU2F2ZUFsbC0+c2V0VG9vbFRpcCggaTE4biggIlNh dmVzIGFsbCBvcGVuIHByb2plY3RzIiApICk7CiAgICAgIGFjdGlvbkZpbGVTYXZlQWxsLT5zZXRT dGF0dXNUaXAoIGFjdGlvbkZpbGVTYXZlQWxsLT50b29sVGlwKCkgKTsKICAgICAgYWN0aW9uQ29s bGVjdGlvbigpLT5hZGRBY3Rpb24oICJmaWxlX3NhdmVfYWxsIiwgYWN0aW9uRmlsZVNhdmVBbGwg KTsKQEBAIC0zNDIsNyAtMzQyLDcgKzM0Miw3IEBAQAogICAgICBhY3Rpb25Db2xsZWN0aW9uKCkt PmFkZEFjdGlvbiggImZpbGVfbmV3X21peGVkIiwgYWN0aW9uRmlsZU5ld01peGVkICk7CiAgICAg IGNvbm5lY3QoIGFjdGlvbkZpbGVOZXdNaXhlZCwgU0lHTkFMKHRyaWdnZXJlZChib29sKSksIHRo aXMsIFNMT1Qoc2xvdE5ld01peGVkRG9jKCkpICk7CiAgCi0gICAgIFFBY3Rpb24qIGFjdGlvbkZp bGVOZXdWY2QgPSBuZXcgUUFjdGlvbiggUUljb246OmZyb21UaGVtZSggIm1lZGlhLW9wdGljYWwt Y2QtdmlkZW8iICksIGkxOG4oIk5ldyAmVmlkZW8gQ0QgUHJvamVjdCIpLCB0aGlzICk7CiAtICAg IEtBY3Rpb24qIGFjdGlvbkZpbGVOZXdWY2QgPSBuZXcgS0FjdGlvbiggS0ljb24oICJtZWRpYS1v cHRpY2FsLXZpZGVvIiApLCBpMThuKCJOZXcgJlZpZGVvIENEIFByb2plY3QiKSwgdGhpcyApOwor KyAgICBRQWN0aW9uKiBhY3Rpb25GaWxlTmV3VmNkID0gbmV3IFFBY3Rpb24oIFFJY29uOjpmcm9t VGhlbWUoICJtZWRpYS1vcHRpY2FsLXZpZGVvIiApLCBpMThuKCJOZXcgJlZpZGVvIENEIFByb2pl Y3QiKSwgdGhpcyApOwogICAgICBhY3Rpb25GaWxlTmV3VmNkLT5zZXRUb29sVGlwKCBpMThuKCJD cmVhdGVzIGEgbmV3IFZpZGVvIENEIHByb2plY3QiKSApOwogICAgICBhY3Rpb25GaWxlTmV3VmNk LT5zZXRTdGF0dXNUaXAoIGFjdGlvbkZpbGVOZXdWY2QtPnRvb2xUaXAoKSApOwogICAgICBhY3Rp b25Db2xsZWN0aW9uKCktPmFkZEFjdGlvbiggImZpbGVfbmV3X3ZjZCIsIGFjdGlvbkZpbGVOZXdW Y2QgKTsKQEBAIC0zNTQsNyAtMzU0LDcgKzM1NCw3IEBAQAogICAgICBhY3Rpb25Db2xsZWN0aW9u KCktPmFkZEFjdGlvbiggImZpbGVfbmV3X21vdml4IiwgYWN0aW9uRmlsZU5ld01vdml4ICk7CiAg ICAgIGNvbm5lY3QoIGFjdGlvbkZpbGVOZXdNb3ZpeCwgU0lHTkFMKHRyaWdnZXJlZChib29sKSks IHRoaXMsIFNMT1Qoc2xvdE5ld01vdml4RG9jKCkpICk7CiAgCi0gICAgIFFBY3Rpb24qIGFjdGlv bkZpbGVOZXdWaWRlb0R2ZCA9IG5ldyBRQWN0aW9uKCBRSWNvbjo6ZnJvbVRoZW1lKCAibWVkaWEt b3B0aWNhbC1kdmQtdmlkZW8iICksIGkxOG4oIk5ldyBWJmlkZW8gRFZEIFByb2plY3QiKSwgdGhp cyApOwogLSAgICBLQWN0aW9uKiBhY3Rpb25GaWxlTmV3VmlkZW9EdmQgPSBuZXcgS0FjdGlvbigg S0ljb24oICJtZWRpYS1vcHRpY2FsLXZpZGVvIiApLCBpMThuKCJOZXcgViZpZGVvIERWRCBQcm9q ZWN0IiksIHRoaXMgKTsKKysgICAgUUFjdGlvbiogYWN0aW9uRmlsZU5ld1ZpZGVvRHZkID0gbmV3 IFFBY3Rpb24oIFFJY29uOjpmcm9tVGhlbWUoICJtZWRpYS1vcHRpY2FsLXZpZGVvIiApLCBpMThu KCJOZXcgViZpZGVvIERWRCBQcm9qZWN0IiksIHRoaXMgKTsKICAgICAgYWN0aW9uRmlsZU5ld1Zp ZGVvRHZkLT5zZXRUb29sVGlwKCBpMThuKCJDcmVhdGVzIGEgbmV3IFZpZGVvIERWRCBwcm9qZWN0 IikgKTsKICAgICAgYWN0aW9uRmlsZU5ld1ZpZGVvRHZkLT5zZXRTdGF0dXNUaXAoIGFjdGlvbkZp bGVOZXdWaWRlb0R2ZC0+dG9vbFRpcCgpICk7CiAgICAgIGFjdGlvbkNvbGxlY3Rpb24oKS0+YWRk QWN0aW9uKCAiZmlsZV9uZXdfdmlkZW9fZHZkIiwgYWN0aW9uRmlsZU5ld1ZpZGVvRHZkICk7CkBA QCAtNDAyLDggLTQwMiw4ICs0MDIsOCBAQEAKICAgICAgYWN0aW9uQ29sbGVjdGlvbigpLT5hZGRB Y3Rpb24oICJ0b29sc19mb3JtYXRfbWVkaXVtIiwgYWN0aW9uVG9vbHNGb3JtYXRNZWRpdW0gKTsK ICAgICAgY29ubmVjdCggYWN0aW9uVG9vbHNGb3JtYXRNZWRpdW0sIFNJR05BTCh0cmlnZ2VyZWQo Ym9vbCkpLCB0aGlzLCBTTE9UKHNsb3RGb3JtYXRNZWRpdW0oKSkgKTsKICAKIC0gICAgS0FjdGlv biogYWN0aW9uVG9vbHNXcml0ZUltYWdlID0gbmV3IEtBY3Rpb24oIEtJY29uKCAidG9vbHMtbWVk aWEtb3B0aWNhbC1idXJuLWltYWdlIiApLCBpMThuKCImQnVybiBJbWFnZS4uLiIpLCB0aGlzICk7 CiArICAgIFFBY3Rpb24qIGFjdGlvblRvb2xzV3JpdGVJbWFnZSA9IG5ldyBRQWN0aW9uKCBRSWNv bjo6ZnJvbVRoZW1lKCAidG9vbHMtbWVkaWEtb3B0aWNhbC1idXJuLWltYWdlIiApLCBpMThuKCIm QnVybiBJbWFnZS4uLiIpLCB0aGlzICk7Ci0gICAgIGFjdGlvblRvb2xzV3JpdGVJbWFnZS0+c2V0 VG9vbFRpcCggaTE4bigiV3JpdGUgYW4gSXNvOTY2MCwgY3VlL2Jpbiwgb3IgY2RyZWNvcmQgY2xv bmUgaW1hZ2UgdG8gYW4gb3B0aWNhbCBkaXNjIikgKTsKKyAgICAgYWN0aW9uVG9vbHNXcml0ZUlt YWdlLT5zZXRUb29sVGlwKCBpMThuKCJXcml0ZSBhbiBJU08gOTY2MCwgY3VlL2Jpbiwgb3IgY2Ry ZWNvcmQgY2xvbmUgaW1hZ2UgdG8gYW4gb3B0aWNhbCBkaXNjIikgKTsKICAgICAgYWN0aW9uVG9v bHNXcml0ZUltYWdlLT5zZXRTdGF0dXNUaXAoIGFjdGlvblRvb2xzV3JpdGVJbWFnZS0+dG9vbFRp cCgpICk7CiAgICAgIGFjdGlvbkNvbGxlY3Rpb24oKS0+YWRkQWN0aW9uKCAidG9vbHNfd3JpdGVf aW1hZ2UiLCBhY3Rpb25Ub29sc1dyaXRlSW1hZ2UgKTsKICAgICAgY29ubmVjdCggYWN0aW9uVG9v bHNXcml0ZUltYWdlLCBTSUdOQUwodHJpZ2dlcmVkKGJvb2wpKSwgdGhpcywgU0xPVChzbG90V3Jp dGVJbWFnZSgpKSApOwpkaWZmIC0tY2Mgc3JjL2szYmpvYnByb2dyZXNzZGlhbG9nLmNwcAppbmRl eCA3YjA4ZWNkLDA3ODMzY2QuLmIwNWViZTkKLS0tIGEvc3JjL2szYmpvYnByb2dyZXNzZGlhbG9n LmNwcAorKysgYi9zcmMvazNiam9icHJvZ3Jlc3NkaWFsb2cuY3BwCkBAQCAtMzEsMzUgLTMxLDM0 ICszMSwzNCBAQEAKICAjaW5jbHVkZSAiazNidmVyc2lvbi5oIgogICNpbmNsdWRlICJrM2J0aGVt ZW1hbmFnZXIuaCIKICAKIC0jaW5jbHVkZSA8S0NvbG9yU2NoZW1lPgogLSNpbmNsdWRlIDxLQ29u ZmlnPgogLSNpbmNsdWRlIDxLRGVidWc+CiAtI2luY2x1ZGUgPEtHbG9iYWw+CiAtI2luY2x1ZGUg PEtHbG9iYWxTZXR0aW5ncz4KIC0jaW5jbHVkZSA8a2lvL2dsb2JhbC5oPgogLSNpbmNsdWRlIDxr am9idHJhY2tlcmludGVyZmFjZS5oPgogLSNpbmNsdWRlIDxLTG9jYWxlPgogLSNpbmNsdWRlIDxL TWVzc2FnZUJveD4KIC0jaW5jbHVkZSA8S05vdGlmaWNhdGlvbj4KIC0jaW5jbHVkZSA8S1Byb2dy ZXNzRGlhbG9nPgogLSNpbmNsdWRlIDxLUHVzaEJ1dHRvbj4KIC0jaW5jbHVkZSA8S1N0YW5kYXJk R3VpSXRlbT4KIC0jaW5jbHVkZSA8S1NxdWVlemVkVGV4dExhYmVsPgogLQogLSNpbmNsdWRlIDxR Q2xvc2VFdmVudD4KIC0jaW5jbHVkZSA8UURhdGVUaW1lPgogLSNpbmNsdWRlIDxRRm9udD4KIC0j aW5jbHVkZSA8UUZyYW1lPgogLSNpbmNsdWRlIDxRR3JpZExheW91dD4KIC0jaW5jbHVkZSA8UUhC b3hMYXlvdXQ+CiAtI2luY2x1ZGUgPFFLZXlFdmVudD4KIC0jaW5jbHVkZSA8UUxhYmVsPgogLSNp bmNsdWRlIDxRUHVzaEJ1dHRvbj4KIC0jaW5jbHVkZSA8UVNjcm9sbEJhcj4KIC0jaW5jbHVkZSA8 UVN0cmluZz4KIC0jaW5jbHVkZSA8UVRyZWVXaWRnZXQ+CiAtI2luY2x1ZGUgPFFWQm94TGF5b3V0 PgogKyNpbmNsdWRlIDxLQ29uZmlnV2lkZ2V0cy9LQ29sb3JTY2hlbWU+CiArI2luY2x1ZGUgPEtD b25maWdDb3JlL0tDb25maWc+CiArI2luY2x1ZGUgPEtDb25maWdDb3JlL0tTaGFyZWRDb25maWc+ CiArI2luY2x1ZGUgPEtDb3JlQWRkb25zL0tKb2JUcmFja2VySW50ZXJmYWNlPgogKyNpbmNsdWRl IDxLQ29yZUFkZG9ucy9LRm9ybWF0PgogKyNpbmNsdWRlIDxLTm90aWZpY2F0aW9ucy9LTm90aWZp Y2F0aW9uPgogKyNpbmNsdWRlIDxLV2lkZ2V0c0FkZG9ucy9LU3F1ZWV6ZWRUZXh0TGFiZWw+CiAr I2luY2x1ZGUgPEtJMThuL0tMb2NhbGl6ZWRTdHJpbmc+CiArI2luY2x1ZGUgPEtJT0NvcmUvS0lP L0dsb2JhbD4KICsjaW5jbHVkZSA8S1dpZGdldHNBZGRvbnMvS01lc3NhZ2VCb3g+CiArCiArI2lu Y2x1ZGUgPFF0Q29yZS9RRGVidWc+CiArI2luY2x1ZGUgPFF0Q29yZS9RRGF0ZVRpbWU+CiArI2lu Y2x1ZGUgPFF0Q29yZS9RU3RyaW5nPgotICNpbmNsdWRlIDxRdENvcmUvUVRpbWVyPgogKyNpbmNs dWRlIDxRdEd1aS9RQ2xvc2VFdmVudD4KICsjaW5jbHVkZSA8UXRHdWkvUUljb24+CiArI2luY2x1 ZGUgPFF0R3VpL1FGb250PgogKyNpbmNsdWRlIDxRdEd1aS9RS2V5RXZlbnQ+CiArI2luY2x1ZGUg PFF0V2lkZ2V0cy9RRGlhbG9nQnV0dG9uQm94PgogKyNpbmNsdWRlIDxRdFdpZGdldHMvUUZyYW1l PgogKyNpbmNsdWRlIDxRdFdpZGdldHMvUUdyaWRMYXlvdXQ+CiArI2luY2x1ZGUgPFF0V2lkZ2V0 cy9RSEJveExheW91dD4KICsjaW5jbHVkZSA8UXRXaWRnZXRzL1FMYWJlbD4KICsjaW5jbHVkZSA8 UXRXaWRnZXRzL1FQcm9ncmVzc0Jhcj4KICsjaW5jbHVkZSA8UXRXaWRnZXRzL1FQdXNoQnV0dG9u PgogKyNpbmNsdWRlIDxRdFdpZGdldHMvUVNjcm9sbEJhcj4KICsjaW5jbHVkZSA8UXRXaWRnZXRz L1FUcmVlV2lkZ2V0PgogKyNpbmNsdWRlIDxRdFdpZGdldHMvUVZCb3hMYXlvdXQ+CiAgCiAgCiAg Y2xhc3MgSzNiOjpKb2JQcm9ncmVzc0RpYWxvZzo6UHJpdmF0ZQpAQEAgLTM3MiwxMyAtMzU2LDEy ICszNzAsMTIgQEBAIHZvaWQgSzNiOjpKb2JQcm9ncmVzc0RpYWxvZzo6c2xvdEZpbmlzaAogICAg ICBjb25zdCBLQ29sb3JTY2hlbWUgY29sb3JTY2hlbWUoIFFQYWxldHRlOjpOb3JtYWwsIEtDb2xv clNjaGVtZTo6V2luZG93ICk7CiAgICAgIFFQYWxldHRlIHRhc2tQYWxldHRlKCBtX2xhYmVsVGFz ay0+cGFsZXR0ZSgpICk7CiAgCi0gICAgIC8vIFNob3cgZWxhcHNlZCB0aW1lIGF0IHRoZSBlbmQg b2YgdGhlIHRhc2sKLSAgICAgewotICAgICAgICAgY29uc3QgaW50IGVsYXBzZWRTZWNzID0gbV9z dGFydFRpbWUuc2Vjc1RvKCBRRGF0ZVRpbWU6OmN1cnJlbnREYXRlVGltZSgpICk7Ci0gICAgICAg ICBjb25zdCBRU3RyaW5nIGVsYXBzZWQgPSBRTG9jYWxlKCkudG9TdHJpbmcoIFFUaW1lKCkuYWRk U2VjcyggZWxhcHNlZFNlY3MgKSwgUUxvY2FsZTo6TmFycm93Rm9ybWF0ICk7Ci0gICAgICAgICBt X2xhYmVsRWxhcHNlZFRpbWUtPnNldFRleHQoIGkxOG5jKCAiQGluZm8gJTEgaXMgYSBkdXJhdGlv biBmb3JtYXR0ZWQgdXNpbmcgUUxvY2FsZTo6dG9TdHJpbmciLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVsYXBzZWQgdGltZTogJTEiLCBlbGFwc2VkICkg KTsKLSAgICAgfQorICAgICAvLyBPbmx5IHNob3cgZWxhcHNlZCB0aW1lIGF0IHRoZSBlbmQgb2Yg dGhlIHRhc2sKKyAgICAgLy8gc2V0VmlzaWJsZSggZmFsc2UgKSB3b3VsZCBtb3ZlIGVsYXBzZWQg dGltZSBvbmUgbGluZSB1cCAuLi4KKyAgICAgbV9sYWJlbFJlbWFpbmluZ1RpbWUtPnNldFRleHQo ICIiICk7CiAtICAgIG1fbGFiZWxFbGFwc2VkVGltZS0+c2V0VGV4dCggaTE4bmMoICJAaW5mbyAl MSBpcyBhIGR1cmF0aW9uIGZvcm1hdHRlZCB1c2luZyBLTG9jYWxlOjpwcmV0dHlGb3JtYXREdXJh dGlvbiIsCiAtICAgICAgICAiRWxhcHNlZCB0aW1lOiAlMSIsIEtHbG9iYWw6OmxvY2FsZSgpLT5w cmV0dHlGb3JtYXREdXJhdGlvbiggbV90aW1lci5lbGFwc2VkKCkgKSApICk7CisrICAgIG1fbGFi ZWxFbGFwc2VkVGltZS0+c2V0VGV4dCggaTE4bmMoICJAaW5mbyAlMSBpcyBhIGR1cmF0aW9uIGZv cm1hdHRlZCB1c2luZyBRTG9jYWxlOjp0b1N0cmluZyIsCisrICAgICAgICAiRWxhcHNlZCB0aW1l OiAlMSIsIFFMb2NhbGUoKS50b1N0cmluZyggUVRpbWUoKS5hZGRTZWNzKCBtX3RpbWVyLmVsYXBz ZWQoKSApLCBRTG9jYWxlOjpOYXJyb3dGb3JtYXQgKSApICk7CisgICAgIG1fdGltZXIuaW52YWxp ZGF0ZSgpOwogIAogICAgICBpZiggc3VjY2VzcyApIHsKICAgICAgICAgIG1fcGl4TGFiZWwtPnNl dFRoZW1lUGl4bWFwKCBLM2I6OlRoZW1lOjpQUk9HUkVTU19TVUNDRVNTICk7CkBAQCAtNDEyLDEw IC0zOTUsOSArNDA5LDkgQEBACiAgCiAgICAgIG1fbGFiZWxUYXNrLT5zZXRQYWxldHRlKCB0YXNr UGFsZXR0ZSApOwogIAogLSAgICBzaG93QnV0dG9uKCBDYW5jZWwsIGZhbHNlICk7CiAtICAgIHNo b3dCdXR0b24oIFVzZXIxLCB0cnVlICk7CiAtICAgIHNob3dCdXR0b24oIFVzZXIyLCB0cnVlICk7 CiArICAgIG1fY2FuY2VsQnV0dG9uLT5oaWRlKCk7CiArICAgIG1fc2hvd0RiZ091dEJ1dHRvbi0+ c2hvdygpOwogKyAgICBtX2Nsb3NlQnV0dG9uLT5zaG93KCk7Ci0gICAgIG1fdGltZXItPnN0b3Ao KTsKICB9CiAgCiAgCkBAQCAtNTE1LDEwIC01MTEsMTAgKzUxMSwxMCBAQEAgdm9pZCBLM2I6Okpv YlByb2dyZXNzRGlhbG9nOjpzbG90TmV3VGFzCiAgCiAgdm9pZCBLM2I6OkpvYlByb2dyZXNzRGlh bG9nOjpzbG90U3RhcnRlZCgpCiAgewogLSAgICBrRGVidWcoKTsKICsgICAgcURlYnVnKCk7CiAg ICAgIGQtPmxhc3RQcm9ncmVzcyA9IDA7Ci0gICAgIG1fdGltZXItPnN0YXJ0KCAxMDAwICk7Ci0g ICAgIG1fc3RhcnRUaW1lID0gUURhdGVUaW1lOjpjdXJyZW50RGF0ZVRpbWUoKTsKKyAgICAgbV9s YXN0UHJvZ3Jlc3NVcGRhdGVUaW1lID0gMDsKKyAgICAgbV90aW1lci5zdGFydCgpOwogICAgICBt X3BsYWluQ2FwdGlvbiA9IGszYmFwcGNvcmUtPmszYk1haW5XaW5kb3coKS0+d2luZG93VGl0bGUo KTsKICAKICAgICAgbV9sb2dGaWxlLm9wZW4oKTsKQEBAIC01NTksMTEgLTU0MCwyMyArNTQwLDIz IEBAQCB2b2lkIEszYjo6Sm9iUHJvZ3Jlc3NEaWFsb2c6OnNsb3RQcm9ncmUKICB7CiAgICAgIGlm KCBwZXJjZW50ID4gZC0+bGFzdFByb2dyZXNzICkgewogICAgICAgICAgZC0+bGFzdFByb2dyZXNz ID0gcGVyY2VudDsKLSAgICAgICAgIG1fbGFzdFByb2dyZXNzVXBkYXRlVGltZSA9IFFEYXRlVGlt ZTo6Y3VycmVudERhdGVUaW1lKCk7CiAgICAgICAgICBrM2JhcHBjb3JlLT5rM2JNYWluV2luZG93 KCktPnNldFBsYWluQ2FwdGlvbiggUVN0cmluZyggIiglMSUpICUyIiApLmFyZyhwZXJjZW50KS5h cmcobV9wbGFpbkNhcHRpb24pICk7CiAgCiAtICAgICAgICBzZXRDYXB0aW9uKCBRU3RyaW5nKCAi KCUxJSkgJTIiICkuYXJnKHBlcmNlbnQpLmFyZyhtX2pvYi0+am9iRGVzY3JpcHRpb24oKSkgKTsK ICsgICAgICAgIHNldFdpbmRvd1RpdGxlKCBRU3RyaW5nKCAiKCUxJSkgJTIiICkuYXJnKHBlcmNl bnQpLmFyZyhtX2pvYi0+am9iRGVzY3JpcHRpb24oKSkgKTsKICAgICAgfQorIAorICAgICBpZigg bV90aW1lci5pc1ZhbGlkKCkgKSB7CisgCXFpbnQ2NCBlbGFwc2VkID0gbV90aW1lci5lbGFwc2Vk KCk7CiAtICAgICAgICBtX2xhYmVsRWxhcHNlZFRpbWUtPnNldFRleHQoIGkxOG5jKCAiQGluZm8g JTEgaXMgYSBkdXJhdGlvbiBmb3JtYXR0ZWQgdXNpbmcgS0xvY2FsZTo6cHJldHR5Rm9ybWF0RHVy YXRpb24iLAogLSAgICAgICAgICAgICJFbGFwc2VkIHRpbWU6ICUxIiwgS0dsb2JhbDo6bG9jYWxl KCktPnByZXR0eUZvcm1hdER1cmF0aW9uKCBlbGFwc2VkICkgKSApOworKyAgICAgICAgbV9sYWJl bEVsYXBzZWRUaW1lLT5zZXRUZXh0KCBpMThuYyggIkBpbmZvICUxIGlzIGEgZHVyYXRpb24gZm9y bWF0dGVkIHVzaW5nIFFMb2NhbGU6OnRvU3RyaW5nIiwKKysgICAgICAgICAgICAiRWxhcHNlZCB0 aW1lOiAlMSIsIFFMb2NhbGUoKS50b1N0cmluZyggUVRpbWUoKS5hZGRTZWNzKCBlbGFwc2VkICks IFFMb2NhbGU6Ok5hcnJvd0Zvcm1hdCApICkgKTsKKyAgICAgICAgIC8vIFVwZGF0ZSAiUmVtYWlu aW5nIHRpbWUiIG1heC4gZWFjaCBzZWNvbmQgKDEwMDAgbXMpCisgICAgICAgICBpZiAoIGVsYXBz ZWQgLSBtX2xhc3RQcm9ncmVzc1VwZGF0ZVRpbWUgPiA5OTkgKSB7CiAtICAgICAgICAgICAgbV9s YWJlbFJlbWFpbmluZ1RpbWUtPnNldFRleHQoIGkxOG5jKCAiQGluZm8gJTEgaXMgYSBkdXJhdGlv biBmb3JtYXR0ZWQgdXNpbmcgS0xvY2FsZTo6cHJldHR5Rm9ybWF0RHVyYXRpb24iLAogLSAgICAg ICAgICAgICAgICAiUmVtYWluaW5nOiAlMSIsIEtHbG9iYWw6OmxvY2FsZSgpLT5wcmV0dHlGb3Jt YXREdXJhdGlvbigKIC0gICAgICAgICAgICAgICAgKCBkLT5sYXN0UHJvZ3Jlc3MgPiAwICYmIGQt Pmxhc3RQcm9ncmVzcyA8IDEwMCApID8gZWxhcHNlZCAqICggMTAwIC0gZC0+bGFzdFByb2dyZXNz KSAvIGQtPmxhc3RQcm9ncmVzcyA6IDAgKSApICk7CisrICAgICAgICAgICAgbV9sYWJlbFJlbWFp bmluZ1RpbWUtPnNldFRleHQoIGkxOG5jKCAiQGluZm8gJTEgaXMgYSBkdXJhdGlvbiBmb3JtYXR0 ZWQgdXNpbmcgUUxvY2FsZTo6dG9TdHJpbmciLAorKyAgICAgICAgICAgICAgICAiUmVtYWluaW5n OiAlMSIsIFFMb2NhbGUoKS50b1N0cmluZyggUVRpbWUoKS5hZGRTZWNzKAorKyAgICAgICAgICAg ICAgICAoIGQtPmxhc3RQcm9ncmVzcyA+IDAgJiYgZC0+bGFzdFByb2dyZXNzIDwgMTAwICkgPyBl bGFwc2VkICogKCAxMDAgLSBkLT5sYXN0UHJvZ3Jlc3MpIC8gZC0+bGFzdFByb2dyZXNzIDogMCAp LCBRTG9jYWxlOjpOYXJyb3dGb3JtYXQgKSApICk7CisgICAgICAgICAgICAgbV9sYXN0UHJvZ3Jl c3NVcGRhdGVUaW1lID0gZWxhcHNlZDsKKyAgICAgICAgIH0KKyAgICAgfQogIH0KICAKICAKZGlm ZiAtLWNjIHNyYy9rM2Jqb2Jwcm9ncmVzc2RpYWxvZy5oCmluZGV4IGNkYjZjMzcsYjg5ZmQzYS4u YTIxMDQ5NAotLS0gYS9zcmMvazNiam9icHJvZ3Jlc3NkaWFsb2cuaAorKysgYi9zcmMvazNiam9i cHJvZ3Jlc3NkaWFsb2cuaApAQEAgLTIxLDggLTIxLDkgKzIxLDggQEBACiAgI2luY2x1ZGUgImsz YmRlYnVnZ2luZ291dHB1dGNhY2hlLmgiCiAgI2luY2x1ZGUgImszYmpvYmhhbmRsZXIuaCIKICAK LSAjaW5jbHVkZSA8UXRDb3JlL1FEYXRlVGltZT4KIC0jaW5jbHVkZSA8S0RpYWxvZz4KIC0KIC0j aW5jbHVkZSA8UUVsYXBzZWRUaW1lcj4KKysjaW5jbHVkZSA8UXRDb3JlL1FFbGFwc2VkVGltZXI+ CiArI2luY2x1ZGUgPFF0V2lkZ2V0cy9RRGlhbG9nPgogIAogIGNsYXNzIEtTcXVlZXplZFRleHRM YWJlbDsKICBjbGFzcyBRQ2xvc2VFdmVudDsKQEBAIC05NCwxMSAtOTUsMTAgKzk0LDEyIEBAQCBu YW1lc3BhY2UgSzNiIAogICAgICAgICAgdmlydHVhbCB2b2lkIHNsb3RTdGFydGVkKCk7CiAgCiAg ICAgICAgICAvKioKIC0gICAgICAgICAqIFxyZWltcGwgZnJvbSBLRGlhbG9nCiArICAgICAgICAg KiBccmVpbXBsIGZyb20gUURpYWxvZwogICAgICAgICAgICovCiArICAgICAgICB2b2lkIHJlamVj dCgpIG92ZXJyaWRlOwotICAgICAgICAgdm9pZCBzbG90VXBkYXRlVGltZSgpOwotICAgICAgICAg dm9pZCBzbG90U2hvd0RlYnVnZ2luZ091dHB1dCgpOworICAgICAgICAgdmlydHVhbCB2b2lkIHNs b3RCdXR0b25DbGlja2VkKCBpbnQgYnV0dG9uICk7CiAtICAgICAgICB2b2lkIHNsb3RTaG93RGVi dWdnaW5nT3V0cHV0KCk7CisrCisrCXZvaWQgc2xvdFNob3dEZWJ1Z2dpbmdPdXRwdXQoKTsKICAK ICAgICAgICAgIHZvaWQgc2xvdFByb2dyZXNzKCBpbnQgKTsKICAKZGlmZiAtLWNjIHNyYy9taXNj L2szYmltYWdld3JpdGluZ2RpYWxvZy5jcHAKaW5kZXggZmE1ZDBlMCxjNDI0YzE5Li4wZGY2Yzc2 Ci0tLSBhL3NyYy9taXNjL2szYmltYWdld3JpdGluZ2RpYWxvZy5jcHAKKysrIGIvc3JjL21pc2Mv azNiaW1hZ2V3cml0aW5nZGlhbG9nLmNwcApAQEAgLTE2OCwxMiAtMTY2LDEyICsxNjgsMTIgQEBA IHZvaWQgSzNiOjpJbWFnZVdyaXRpbmdEaWFsb2c6OlByaXZhdGU6OgogIHsKICAgICAgUVRyZWVX aWRnZXRJdGVtKiBpc29Sb290SXRlbSA9IG5ldyBRVHJlZVdpZGdldEl0ZW0oIGluZm9WaWV3ICk7 CiAgICAgIGlzb1Jvb3RJdGVtLT5zZXRUZXh0KCAwLCBpMThuKCJEZXRlY3RlZDoiKSApOwotICAg ICBpc29Sb290SXRlbS0+c2V0VGV4dCggMSwgaTE4bigiSXNvOTY2MCBpbWFnZSIpICk7CisgICAg IGlzb1Jvb3RJdGVtLT5zZXRUZXh0KCAxLCBpMThuKCJJU08gOTY2MCBpbWFnZSIpICk7CiAgICAg IGlzb1Jvb3RJdGVtLT5zZXRGb3JlZ3JvdW5kKCAwLCBpbmZvVGV4dENvbG9yICk7CiAtICAgIGlz b1Jvb3RJdGVtLT5zZXRJY29uKCAxLCBLSWNvbiggImFwcGxpY2F0aW9uLXgtY2QtaW1hZ2UiKSAp OwogKyAgICBpc29Sb290SXRlbS0+c2V0SWNvbiggMSwgUUljb246OmZyb21UaGVtZSggImFwcGxp Y2F0aW9uLXgtY2QtaW1hZ2UiKSApOwogICAgICBpc29Sb290SXRlbS0+c2V0VGV4dEFsaWdubWVu dCggMCwgUXQ6OkFsaWduUmlnaHQgKTsKICAKIC0gICAgY29uc3QgS0lPOjpmaWxlc2l6ZV90IHNp emUgPSBLM2I6OmZpbGVzaXplKCBLVXJsKGlzb0YtPmZpbGVOYW1lKCkpICk7CiArICAgIGNvbnN0 IEtJTzo6ZmlsZXNpemVfdCBzaXplID0gSzNiOjpmaWxlc2l6ZSggUVVybDo6ZnJvbUxvY2FsRmls ZShpc29GLT5maWxlTmFtZSgpKSApOwogICAgICBjb25zdCBLSU86OmZpbGVzaXplX3Qgdm9sdW1l U3BhY2VTaXplID0gUHJpdmF0ZTo6dm9sdW1lU3BhY2VTaXplKCAqaXNvRiApOwogIAogICAgICBR VHJlZVdpZGdldEl0ZW0qIGl0ZW0gPSBuZXcgUVRyZWVXaWRnZXRJdGVtKCBpbmZvVmlldyApOwpk aWZmIC0tY2Mgc3JjL3Byb2plY3RzL2Jhc2VfazNiYWR2YW5jZWRkYXRhaW1hZ2VzZXR0aW5ncy51 aQppbmRleCBkNTIxZDY3LGY5YzUwNmYuLmE5NjA4NTQKLS0tIGEvc3JjL3Byb2plY3RzL2Jhc2Vf azNiYWR2YW5jZWRkYXRhaW1hZ2VzZXR0aW5ncy51aQorKysgYi9zcmMvcHJvamVjdHMvYmFzZV9r M2JhZHZhbmNlZGRhdGFpbWFnZXNldHRpbmdzLnVpCkBAQCAtMTIsOTggLTEyLDYgKzEyLDk4IEBA QAogICAgIDwvcmVjdD4KICAgIDwvcHJvcGVydHk+CiAgICA8bGF5b3V0IGNsYXNzPSJRR3JpZExh eW91dCIgbmFtZT0iXzIiPgogKyAgIDxpdGVtIHJvdz0iMCIgY29sdW1uPSIwIj4KICsgICAgPHdp ZGdldCBjbGFzcz0iUUdyb3VwQm94IiBuYW1lPSJncm91cEJveCI+CiArICAgICA8cHJvcGVydHkg bmFtZT0idGl0bGUiPgogKyAgICAgIDxzdHJpbmc+RmlsZSBTeXN0ZW1zPC9zdHJpbmc+CiArICAg ICA8L3Byb3BlcnR5PgogKyAgICAgPGxheW91dCBjbGFzcz0iUVZCb3hMYXlvdXQiPgogKyAgICAg IDxpdGVtPgogKyAgICAgICA8d2lkZ2V0IGNsYXNzPSJRQ2hlY2tCb3giIG5hbWU9Im1fY2hlY2tS b2NrUmlkZ2UiPgogKyAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2xUaXAiPgogKyAgICAgICAg IDxzdHJpbmc+QWRkIFJvY2sgUmlkZ2UgZXh0ZW5zaW9ucyB0byB0aGUgZmlsZSBzeXN0ZW08L3N0 cmluZz4KICsgICAgICAgIDwvcHJvcGVydHk+CiArICAgICAgICA8cHJvcGVydHkgbmFtZT0id2hh dHNUaGlzIj4KICsgICAgICAgICA8c3RyaW5nPiZsdDtwJmd0O0lmIHRoaXMgb3B0aW9uIGlzIGNo ZWNrZWQsIEszYiB3aWxsIGdlbmVyYXRlIHRoZSBTeXN0ZW0gVXNlIFNoYXJpbmcgUHJvdG9jb2wg cmVjb3JkcyAoU1VTUCkgc3BlY2lmaWVkIGJ5IHRoZSBSb2NrIFJpZGdlIEludGVyY2hhbmdlIFBy b3RvY29sIChJRUVFLVAxMjgyKS4KLSAmbHQ7cCZndDtSb2NrIFJpZGdlIGV4dGVuZHMgdGhlIElT Ty05NjYwIGZpbGVzeXN0ZW0gYnkgZmVhdHVyZXMgZXF1YWwgdG8gdGhlIFVOSVggZmlsZXN5c3Rl bXMgKHBlcm1pc3Npb25zLCBzeW1ib2xpYyBsaW5rcywgdmVyeSBsb25nIGZpbGVuYW1lcywgLi4u KS4gSXQgdXNlcyBJU08tODg1OSBvciBVVEYtMTYgYmFzZWQgY2hhcmFjdGVycyBhbmQgYWxsb3dz IDI1NSBvY3RldHMuCi0gJmx0O3AmZ3Q7Um9jayBSaWRnZSBleHRlbnNpb25zIGFyZSBsb2NhdGVk IGF0IHRoZSBlbmQgb2YgZWFjaCBJU08tOTY2MCBkaXJlY3RvcnkgcmVjb3JkLiBUaGlzIG1ha2Vz IHRoZSBSb2NrIFJpZGdlIHRyZWUgY2xvc2VseSBjb3VwbGVkIHRvIHRoZSBJU08tOTY2MCB0cmVl LgorKyZsdDtwJmd0O1JvY2sgUmlkZ2UgZXh0ZW5kcyB0aGUgSVNPIDk2NjAgZmlsZXN5c3RlbSBi eSBmZWF0dXJlcyBlcXVhbCB0byB0aGUgVU5JWCBmaWxlc3lzdGVtcyAocGVybWlzc2lvbnMsIHN5 bWJvbGljIGxpbmtzLCB2ZXJ5IGxvbmcgZmlsZW5hbWVzLCAuLi4pLiBJdCB1c2VzIElTTy04ODU5 IG9yIFVURi0xNiBiYXNlZCBjaGFyYWN0ZXJzIGFuZCBhbGxvd3MgMjU1IG9jdGV0cy4KKysmbHQ7 cCZndDtSb2NrIFJpZGdlIGV4dGVuc2lvbnMgYXJlIGxvY2F0ZWQgYXQgdGhlIGVuZCBvZiBlYWNo IElTTyA5NjYwIGRpcmVjdG9yeSByZWNvcmQuIFRoaXMgbWFrZXMgdGhlIFJvY2sgUmlkZ2UgdHJl ZSBjbG9zZWx5IGNvdXBsZWQgdG8gdGhlIElTTyA5NjYwIHRyZWUuCiArJmx0O3AmZ3Q7Jmx0O2Im Z3Q7SXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRvIHVzZSBSb2NrIFJpZGdlIGV4dGVuc2lvbnMg b24gZXZlcnkgZGF0YSBDRCBvciBEVkQuJmx0Oy9iJmd0Ozwvc3RyaW5nPgogKyAgICAgICAgPC9w cm9wZXJ0eT4KICsgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KICsgICAgICAgICA8c3Ry aW5nPiZhbXA7R2VuZXJhdGUgUm9jayBSaWRnZSBleHRlbnNpb25zPC9zdHJpbmc+CiArICAgICAg ICA8L3Byb3BlcnR5PgogKyAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNoZWNrZWQiPgogKyAgICAg ICAgIDxib29sPnRydWU8L2Jvb2w+CiArICAgICAgICA8L3Byb3BlcnR5PgogKyAgICAgICA8L3dp ZGdldD4KICsgICAgICA8L2l0ZW0+CiArICAgICAgPGl0ZW0+CiArICAgICAgIDx3aWRnZXQgY2xh c3M9IlFDaGVja0JveCIgbmFtZT0ibV9jaGVja0pvbGlldCI+CiArICAgICAgICA8cHJvcGVydHkg bmFtZT0idG9vbFRpcCI+CiArICAgICAgICAgPHN0cmluZz5BZGQgSm9saWV0IGV4dGVuc2lvbnMg dG8gdGhlIGZpbGUgc3lzdGVtPC9zdHJpbmc+CiArICAgICAgICA8L3Byb3BlcnR5PgogKyAgICAg ICAgPHByb3BlcnR5IG5hbWU9IndoYXRzVGhpcyI+Ci0gICAgICAgICAgPHN0cmluZz4mbHQ7cCZn dDtJZiB0aGlzIG9wdGlvbiBpcyBjaGVja2VkLCBLM2Igd2lsbCBhZGQgYWRkaXRpb25hbCBKb2xp ZXQgZXh0ZW5zaW9ucyB0byB0aGUgSVNPLTk2NjAgZmlsZSBzeXN0ZW0uCi0gJmx0O3AmZ3Q7Sm9s aWV0IGlzIG5vdCBhbiBhY2NlcHRlZCBpbmRlcGVuZGVudCBpbnRlcm5hdGlvbmFsIHN0YW5kYXJk IGxpa2UgSVNPLTk2NjAgb3IgUm9jayBSaWRnZS4gSXQgaXMgbWFpbmx5IHVzZWQgb24gV2luZG93 cyBzeXN0ZW1zLgorKyAgICAgICAgIDxzdHJpbmc+Jmx0O3AmZ3Q7SWYgdGhpcyBvcHRpb24gaXMg Y2hlY2tlZCwgSzNiIHdpbGwgYWRkIGFkZGl0aW9uYWwgSm9saWV0IGV4dGVuc2lvbnMgdG8gdGhl IElTTyA5NjYwIGZpbGUgc3lzdGVtLgorKyZsdDtwJmd0O0pvbGlldCBpcyBub3QgYW4gYWNjZXB0 ZWQgaW5kZXBlbmRlbnQgaW50ZXJuYXRpb25hbCBzdGFuZGFyZCBsaWtlIElTTyA5NjYwIG9yIFJv Y2sgUmlkZ2UuIEl0IGlzIG1haW5seSB1c2VkIG9uIFdpbmRvd3Mgc3lzdGVtcy4KICsmbHQ7cCZn dDtKb2xpZXQgZG9lcyBub3QgYWxsb3cgYWxsIGNoYXJhY3RlcnMsIHNvIHRoZSBKb2xpZXQgZmls ZW5hbWVzIGFyZSBub3QgaWRlbnRpY2FsIHRvIHRoZSBmaWxlbmFtZXMgb24gZGlzayAoYXMgY29t cGFyZWQgdG8gUm9jayBSaWRnZSkuIEpvbGlldCBoYXMgYSBmaWxlbmFtZSBsZW5ndGggbGltaXRh dGlvbiBvZiA2NCBjaGFycyAoaW5kZXBlbmRlbnQgZnJvbSB0aGUgY2hhcmFjdGVyIGNvZGluZyBh bmQgdHlwZSBlLmcuIEV1cm9wZWFuIHZzLiBKYXBhbmVzZSkuIFRoaXMgaXMgaW5jb252ZW5pZW50 LCBhcyBtb2Rlcm4gZmlsZSBzeXN0ZW1zIGFsbCBhbGxvdyAyNTUgY2hhcmFjdGVycyBwZXIgcGF0 aCBuYW1lIGNvbXBvbmVudC4KICsmbHQ7cCZndDtKb2xpZXQgdXNlcyBVVEYtMTYgY29kaW5nLgog KyZsdDtwJmd0OyZsdDtiJmd0O0NhdXRpb246Jmx0Oy9iJmd0OyBXaXRoIHRoZSBleGNlcHRpb24g b2YgTGludXggYW5kIEZyZWVCU0QsIHRoZXJlIGlzIG5vIFBPU0lYLWxpa2UgT1MgdGhhdCBzdXBw b3J0cyBKb2xpZXQuIFNvICZsdDtiJmd0O25ldmVyIGNyZWF0ZSBKb2xpZXQtb25seSBDRHMgb3Ig RFZEcyZsdDsvYiZndDsgZm9yIHRoYXQgcmVhc29uLjwvc3RyaW5nPgogKyAgICAgICAgPC9wcm9w ZXJ0eT4KICsgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KICsgICAgICAgICA8c3RyaW5n PkdlbmVyYXRlICZhbXA7Sm9saWV0IGV4dGVuc2lvbnM8L3N0cmluZz4KICsgICAgICAgIDwvcHJv cGVydHk+CiArICAgICAgIDwvd2lkZ2V0PgogKyAgICAgIDwvaXRlbT4KICsgICAgICA8aXRlbT4K ICsgICAgICAgPHdpZGdldCBjbGFzcz0iUUNoZWNrQm94IiBuYW1lPSJtX2NoZWNrVWRmIj4KICsg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KICsgICAgICAgICA8c3RyaW5nPkFkZCBV REYgc3RydWN0dXJlcyB0byB0aGUgZmlsZSBzeXN0ZW08L3N0cmluZz4KICsgICAgICAgIDwvcHJv cGVydHk+CiArICAgICAgICA8cHJvcGVydHkgbmFtZT0id2hhdHNUaGlzIj4KLSAgICAgICAgICA8 c3RyaW5nPiZsdDtwJmd0O0lmIHRoaXMgb3B0aW9uIGlzIGNoZWNrZWQgSzNiIHdpbGwgY3JlYXRl IFVERiBmaWxlc3lzdGVtIHN0cnVjdHVyZXMgaW4gYWRkaXRpb24gdG8gdGhlIElTTzk2NjAgZmls ZXN5c3RlbS4KKysgICAgICAgICA8c3RyaW5nPiZsdDtwJmd0O0lmIHRoaXMgb3B0aW9uIGlzIGNo ZWNrZWQgSzNiIHdpbGwgY3JlYXRlIFVERiBmaWxlc3lzdGVtIHN0cnVjdHVyZXMgaW4gYWRkaXRp b24gdG8gdGhlIElTTyA5NjYwIGZpbGVzeXN0ZW0uCiArJmx0O3AmZ3Q7VGhlIFVERiAoJmx0O2Vt Jmd0OyZsdDtiJmd0O1UmbHQ7L2ImZ3Q7bml2ZXJzYWwgJmx0O2ImZ3Q7RCZsdDsvYiZndDtpc2sg Jmx0O2ImZ3Q7RiZsdDsvYiZndDtvcm1hdCZsdDsvZW0mZ3Q7KSBpcyBtYWlubHkgdXNlZCBmb3Ig RFZEcy48L3N0cmluZz4KICsgICAgICAgIDwvcHJvcGVydHk+CiArICAgICAgICA8cHJvcGVydHkg bmFtZT0idGV4dCI+CiArICAgICAgICAgPHN0cmluZz5HZW5lcmF0ZSAmYW1wO1VERiBzdHJ1Y3R1 cmVzPC9zdHJpbmc+CiArICAgICAgICA8L3Byb3BlcnR5PgogKyAgICAgICA8L3dpZGdldD4KICsg ICAgICA8L2l0ZW0+CiArICAgICA8L2xheW91dD4KICsgICAgPC93aWRnZXQ+CiArICAgPC9pdGVt PgogKyAgIDxpdGVtIHJvdz0iMCIgY29sdW1uPSIxIj4KICsgICAgPHdpZGdldCBjbGFzcz0iUUdy b3VwQm94IiBuYW1lPSJncm91cEJveF8yIj4KICsgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0aXRsZSI+ CiArICAgICAgPHN0cmluZz5PdGhlciBTZXR0aW5nczwvc3RyaW5nPgogKyAgICAgPC9wcm9wZXJ0 eT4KICsgICAgIDxsYXlvdXQgY2xhc3M9IlFWQm94TGF5b3V0IiBuYW1lPSJ2ZXJ0aWNhbExheW91 dF83Ij4KICsgICAgICA8aXRlbT4KICsgICAgICAgPHdpZGdldCBjbGFzcz0iUUNoZWNrQm94IiBu YW1lPSJtX2NoZWNrUHJlc2VydmVQZXJtaXNzaW9ucyI+CiArICAgICAgICA8cHJvcGVydHkgbmFt ZT0id2hhdHNUaGlzIj4KICsgICAgICAgICA8c3RyaW5nPiZsdDtwJmd0O0lmIHRoaXMgb3B0aW9u IGlzIGNoZWNrZWQsIGFsbCBmaWxlcyBpbiB0aGUgcmVzdWx0aW5nIGZpbGUgc3lzdGVtIHdpbGwg aGF2ZSBleGFjdGx5IHRoZSBzYW1lIHBlcm1pc3Npb25zIGFzIHRoZSBzb3VyY2UgZmlsZXMuIChP dGhlcndpc2UsIGFsbCBmaWxlcyB3aWxsIGhhdmUgZXF1YWwgcGVybWlzc2lvbnMgYW5kIGJlIG93 bmVkIGJ5IHJvb3QpLgogKyZsdDtwJmd0O1RoaXMgaXMgbWFpbmx5IHVzZWZ1bCBmb3IgYmFja3Vw cy4mbHQ7cCZndDsmbHQ7YiZndDtDYXV0aW9uOiZsdDsvYiZndDsgVGhlIHBlcm1pc3Npb25zIG1h eSBub3QgbWFrZSBtdWNoIHNlbnNlIG9uIG90aGVyIGZpbGUgc3lzdGVtczsgZm9yIGV4YW1wbGUs IGlmIGEgdXNlciB0aGF0IG93bnMgYSBmaWxlIG9uIHRoZSBDRCBvciBEVkQgZG9lcyBub3QgZXhp c3QuPC9zdHJpbmc+CiArICAgICAgICA8L3Byb3BlcnR5PgogKyAgICAgICAgPHByb3BlcnR5IG5h bWU9InRleHQiPgogKyAgICAgICAgIDxzdHJpbmc+UHJlc2VydmUgZmlsZSBwZXJtaXNzaW9ucyAo YmFjJmFtcDtrdXApPC9zdHJpbmc+CiArICAgICAgICA8L3Byb3BlcnR5PgogKyAgICAgICA8L3dp ZGdldD4KICsgICAgICA8L2l0ZW0+CiArICAgICAgPGl0ZW0+CiArICAgICAgIDxzcGFjZXIgbmFt ZT0idmVydGljYWxTcGFjZXIiPgogKyAgICAgICAgPHByb3BlcnR5IG5hbWU9Im9yaWVudGF0aW9u Ij4KICsgICAgICAgICA8ZW51bT5RdDo6VmVydGljYWw8L2VudW0+CiArICAgICAgICA8L3Byb3Bl cnR5PgogKyAgICAgICAgPHByb3BlcnR5IG5hbWU9InNpemVIaW50IiBzdGRzZXQ9IjAiPgogKyAg ICAgICAgIDxzaXplPgogKyAgICAgICAgICA8d2lkdGg+MjA8L3dpZHRoPgogKyAgICAgICAgICA8 aGVpZ2h0PjQwPC9oZWlnaHQ+CiArICAgICAgICAgPC9zaXplPgogKyAgICAgICAgPC9wcm9wZXJ0 eT4KICsgICAgICAgPC9zcGFjZXI+CiArICAgICAgPC9pdGVtPgogKyAgICAgPC9sYXlvdXQ+CiAr ICAgIDwvd2lkZ2V0PgogKyAgIDwvaXRlbT4KICAgICA8aXRlbSByb3c9IjEiIGNvbHVtbj0iMCIg Y29sc3Bhbj0iMiI+CiAgICAgIDx3aWRnZXQgY2xhc3M9IlFHcm91cEJveCIgbmFtZT0iZ3JvdXBC b3hfMyI+CiAgICAgICA8cHJvcGVydHkgbmFtZT0id2hhdHNUaGlzIj4KZGlmZiAtLWNjIHNyYy9y aXAvazNiYXVkaW9jZHZpZXcuY3BwCmluZGV4IDYyN2Q1NjksYzEwOGY0MC4uMTgxMGQ0OAotLS0g YS9zcmMvcmlwL2szYmF1ZGlvY2R2aWV3LmNwcAorKysgYi9zcmMvcmlwL2szYmF1ZGlvY2R2aWV3 LmNwcApAQEAgLTMzLDMzIC0zMywzNCArMzMsMzQgQEBACiAgI2luY2x1ZGUgImszYm1lZGlhY2Fj aGUuaCIKICAjaW5jbHVkZSAiazNibW9kZWx1dGlscy5oIgogIAogLSNpbmNsdWRlIDxLQWN0aW9u PgogLSNpbmNsdWRlIDxLQWN0aW9uQ29sbGVjdGlvbj4KIC0jaW5jbHVkZSA8S0FjdGlvbk1lbnU+ CiAtI2luY2x1ZGUgPEtDb21ib0JveD4KIC0jaW5jbHVkZSA8S0NvbmZpZz4KIC0jaW5jbHVkZSA8 S0RlYnVnPgogLSNpbmNsdWRlIDxLRGlhbG9nPgogLSNpbmNsdWRlIDxLSWNvbkxvYWRlcj4KIC0j aW5jbHVkZSA8S0xpbmVFZGl0PgogLSNpbmNsdWRlIDxLTG9jYWxlPgogLSNpbmNsdWRlIDxLTWVu dT4KIC0jaW5jbHVkZSA8S01lc3NhZ2VCb3g+CiAtI2luY2x1ZGUgPEtOb3RpZmljYXRpb24+CiAt I2luY2x1ZGUgPEtTdGFuZGFyZEFjdGlvbj4KIC0jaW5jbHVkZSA8S1N0YW5kYXJkRGlycz4KIC0j aW5jbHVkZSA8S1Rvb2xCYXI+CiAtI2luY2x1ZGUgPEtUb29sQmFyU3BhY2VyQWN0aW9uPgogLQog LSNpbmNsdWRlIDxRRm9udD4KIC0jaW5jbHVkZSA8UUZvcm1MYXlvdXQ+CiAtI2luY2x1ZGUgPFFW Qm94TGF5b3V0PgogLSNpbmNsdWRlIDxRSXRlbVNlbGVjdGlvbk1vZGVsPgogLSNpbmNsdWRlIDxR S2V5RXZlbnQ+CiAtI2luY2x1ZGUgPFFMYWJlbD4KIC0jaW5jbHVkZSA8UUxpc3Q+CiAtI2luY2x1 ZGUgPFFTcGluQm94PgogLSNpbmNsdWRlIDxRVHJlZVZpZXc+CiAtI2luY2x1ZGUgPFFEYXRlPgog KyNpbmNsdWRlIDxLQ29tcGxldGlvbi9LQ29tYm9Cb3g+CiArI2luY2x1ZGUgPEtDb21wbGV0aW9u L0tMaW5lRWRpdD4KICsjaW5jbHVkZSA8S0NvbmZpZ0NvcmUvS0NvbmZpZz4KICsjaW5jbHVkZSA8 S0NvbmZpZ1dpZGdldHMvS1N0YW5kYXJkQWN0aW9uPgogKyNpbmNsdWRlIDxLSWNvblRoZW1lcy9L SWNvbkxvYWRlcj4KICsjaW5jbHVkZSA8S0kxOG4vS0xvY2FsaXplZFN0cmluZz4KICsjaW5jbHVk ZSA8S05vdGlmaWNhdGlvbnMvS05vdGlmaWNhdGlvbj4KICsjaW5jbHVkZSA8S1dpZGdldHNBZGRv bnMvS0FjdGlvbk1lbnU+CiArI2luY2x1ZGUgPEtXaWRnZXRzQWRkb25zL0tNZXNzYWdlQm94Pgog KyNpbmNsdWRlIDxLV2lkZ2V0c0FkZG9ucy9LVG9vbEJhclNwYWNlckFjdGlvbj4KICsjaW5jbHVk ZSA8S1htbEd1aS9LQWN0aW9uQ29sbGVjdGlvbj4KICsjaW5jbHVkZSA8S1htbEd1aS9LVG9vbEJh cj4KICsKKysjaW5jbHVkZSA8UXRDb3JlL1FEYXRlPgogKyNpbmNsdWRlIDxRdENvcmUvUURlYnVn PgogKyNpbmNsdWRlIDxRdENvcmUvUUl0ZW1TZWxlY3Rpb25Nb2RlbD4KICsjaW5jbHVkZSA8UXRD b3JlL1FMaXN0PgogKyNpbmNsdWRlIDxRdEd1aS9RRm9udD4KICsjaW5jbHVkZSA8UXRHdWkvUUtl eUV2ZW50PgogKyNpbmNsdWRlIDxRdFdpZGdldHMvUUFjdGlvbj4KICsjaW5jbHVkZSA8UXRXaWRn ZXRzL1FEaWFsb2c+CiArI2luY2x1ZGUgPFF0V2lkZ2V0cy9RRGlhbG9nQnV0dG9uQm94PgogKyNp bmNsdWRlIDxRdFdpZGdldHMvUUZvcm1MYXlvdXQ+CiArI2luY2x1ZGUgPFF0V2lkZ2V0cy9RTGFi ZWw+CiArI2luY2x1ZGUgPFF0V2lkZ2V0cy9RTWVudT4KICsjaW5jbHVkZSA8UXRXaWRnZXRzL1FT cGluQm94PgogKyNpbmNsdWRlIDxRdFdpZGdldHMvUVRyZWVWaWV3PgogKyNpbmNsdWRlIDxRdFdp ZGdldHMvUVZCb3hMYXlvdXQ+CiAgCiAgI2luY2x1ZGUgPGxpYmtjZGRiL2dlbnJlcy5oPgogICNp bmNsdWRlIDxsaWJrY2RkYi9jZGluZm8uaD4KQEBAIC0zNjEsMTYgLTM2NCwxNCArMzYyLDIyIEBA QCB2b2lkIEszYjo6QXVkaW9DZFZpZXc6OnNsb3RFZGl0VHJhY2tDZGQKICAgICAgICAgIGZvcm0t PmFkZFJvdyggbGluZSApOwogICAgICAgICAgZm9ybS0+YWRkUm93KCBpMThuKCJBcnRpc3Q6Iiks IGVkaXRBcnRpc3QgKTsKICAgICAgICAgIGZvcm0tPmFkZFJvdyggaTE4bigiRXh0cmEgaW5mbzoi KSwgZWRpdEV4dEluZm8gKTsKICsgICAgICAgIGZvcm0tPnNldENvbnRlbnRzTWFyZ2lucyggMCwg MCwgMCwgMCApOwogKwogKyAgICAgICAgUURpYWxvZ0J1dHRvbkJveCogYnV0dG9uQm94ID0gbmV3 IFFEaWFsb2dCdXR0b25Cb3goIFFEaWFsb2dCdXR0b25Cb3g6Ok9rIHwgUURpYWxvZ0J1dHRvbkJv eDo6Q2FuY2VsLCAmZGlhbG9nICk7CiArICAgICAgICBjb25uZWN0KCBidXR0b25Cb3gsIFNJR05B TChhY2NlcHRlZCgpKSwgJmRpYWxvZywgU0xPVChhY2NlcHQoKSkgKTsKICsgICAgICAgIGNvbm5l Y3QoIGJ1dHRvbkJveCwgU0lHTkFMKHJlamVjdGVkKCkpLCAmZGlhbG9nLCBTTE9UKHJlamVjdCgp KSApOwogKwogKyAgICAgICAgUVZCb3hMYXlvdXQqIGRsZ0xheW91dCA9IG5ldyBRVkJveExheW91 dCggdGhpcyApOwogKyAgICAgICAgZGxnTGF5b3V0LT5hZGRMYXlvdXQoIGZvcm0gKTsKICsgICAg ICAgIGRsZ0xheW91dC0+YWRkV2lkZ2V0KCBidXR0b25Cb3ggKTsKICAKKyAgICAgICAgIGVkaXRU aXRsZS0+c2V0Rm9jdXMoIFF0OjpUYWJGb2N1c1JlYXNvbiApOworIAorICAgICAgICAgLy8gbG9h ZCBhbGJ1bSdzIGFydGlzdCBieSBkZWZhdWx0IGlmIG5vIGFydGlzdCBpcyBzcGVjaWZpZWQgeWV0 CisgICAgICAgICBpZiAoIGVkaXRBcnRpc3QtPnRleHQoKS5pc0VtcHR5KCkgKQorICAgICAgICAg ICAgIGVkaXRBcnRpc3QtPnNldFRleHQoIGQtPnRyYWNrTW9kZWwtPmNkZGJJbmZvKCkuZ2V0KCBL Q0REQjo6QXJ0aXN0ICkudG9TdHJpbmcoKSApOworIAogLSAgICAgICAgZGlhbG9nLnNldE1haW5X aWRnZXQodyk7CiAgICAgICAgICBkaWFsb2cucmVzaXplKCBxTWF4KCBxTWF4KGRpYWxvZy5zaXpl SGludCgpLmhlaWdodCgpLCBkaWFsb2cuc2l6ZUhpbnQoKS53aWR0aCgpKSwgMzAwKSwgZGlhbG9n LnNpemVIaW50KCkuaGVpZ2h0KCkgKTsKICAKICAgICAgICAgIGlmKCBkaWFsb2cuZXhlYygpID09 IFFEaWFsb2c6OkFjY2VwdGVkICkgewpAQEAgLTM4NCwyMiAtMzg1LDI5ICszOTEsMjYgQEBACiAg CiAgdm9pZCBLM2I6OkF1ZGlvQ2RWaWV3OjpzbG90RWRpdEFsYnVtQ2RkYigpCiAgewogLSAgICBL RGlhbG9nIGRpYWxvZyggdGhpcyk7CiAtICAgIGRpYWxvZy5zZXRDYXB0aW9uKGkxOG4oIkFsYnVt IENEREIiKSk7CiArICAgIFFEaWFsb2cgZGlhbG9nKCB0aGlzKTsKLSAgICAgZGlhbG9nLnNldFdp bmRvd1RpdGxlKGkxOG4oIkFsYnVtIENkZGIiKSk7CisrICAgIGRpYWxvZy5zZXRXaW5kb3dUaXRs ZShpMThuKCJBbGJ1bSBDRERCIikpOwogICAgICBkaWFsb2cuc2V0TW9kYWwodHJ1ZSk7CiAtICAg IGRpYWxvZy5zZXRCdXR0b25zKEtEaWFsb2c6Ok9rfEtEaWFsb2c6OkNhbmNlbCk7CiAtICAgIGRp YWxvZy5zZXREZWZhdWx0QnV0dG9uKEtEaWFsb2c6Ok9rKTsKIC0gICAgUVdpZGdldCogdyA9IG5l dyBRV2lkZ2V0KCAmZGlhbG9nICk7CiAtCiAtICAgIEtMaW5lRWRpdCogZWRpdFRpdGxlID0gbmV3 IEtMaW5lRWRpdCggZC0+dHJhY2tNb2RlbC0+Y2RkYkluZm8oKS5nZXQoIEtDRERCOjpUaXRsZSAp LnRvU3RyaW5nKCksIHcgKTsKIC0gICAgS0xpbmVFZGl0KiBlZGl0QXJ0aXN0ID0gbmV3IEtMaW5l RWRpdCggZC0+dHJhY2tNb2RlbC0+Y2RkYkluZm8oKS5nZXQoIEtDRERCOjpBcnRpc3QgKS50b1N0 cmluZygpLCB3ICk7CiAtICAgIEtMaW5lRWRpdCogZWRpdEV4dEluZm8gPSBuZXcgS0xpbmVFZGl0 KCBkLT50cmFja01vZGVsLT5jZGRiSW5mbygpLmdldCggS0NEREI6OkNvbW1lbnQgKS50b1N0cmlu ZygpLCB3ICk7CiAtICAgIFFTcGluQm94KiBzcGluWWVhciA9IG5ldyBRU3BpbkJveCggdyApOwog KwogKyAgICBLTGluZUVkaXQqIGVkaXRUaXRsZSA9IG5ldyBLTGluZUVkaXQoIGQtPnRyYWNrTW9k ZWwtPmNkZGJJbmZvKCkuZ2V0KCBLQ0REQjo6VGl0bGUgKS50b1N0cmluZygpLCB0aGlzICk7CiAr ICAgIEtMaW5lRWRpdCogZWRpdEFydGlzdCA9IG5ldyBLTGluZUVkaXQoIGQtPnRyYWNrTW9kZWwt PmNkZGJJbmZvKCkuZ2V0KCBLQ0REQjo6QXJ0aXN0ICkudG9TdHJpbmcoKSwgdGhpcyApOwogKyAg ICBLTGluZUVkaXQqIGVkaXRFeHRJbmZvID0gbmV3IEtMaW5lRWRpdCggZC0+dHJhY2tNb2RlbC0+ Y2RkYkluZm8oKS5nZXQoIEtDRERCOjpDb21tZW50ICkudG9TdHJpbmcoKSwgdGhpcyApOwogKyAg ICBRU3BpbkJveCogc3BpblllYXIgPSBuZXcgUVNwaW5Cb3goIHRoaXMgKTsKICAgICAgc3Bpblll YXItPnNldFJhbmdlKCAxLCA5OTk5ICk7Ci0gICAgIHNwaW5ZZWFyLT5zZXRWYWx1ZSggZC0+dHJh Y2tNb2RlbC0+Y2RkYkluZm8oKS5nZXQoIEtDRERCOjpZZWFyICkudG9JbnQoKSApOwotICAgICBR RnJhbWUqIGxpbmUgPSBuZXcgUUZyYW1lKCB0aGlzICk7CisgICAgIGlmICggZC0+dHJhY2tNb2Rl bC0+Y2RkYkluZm8oKS5nZXQoIEtDRERCOjpZZWFyICkudG9JbnQoKSA9PSAwICkgeworICAgICAg ICAgc3BpblllYXItPnNldFZhbHVlKCBRRGF0ZTo6Y3VycmVudERhdGUoKS55ZWFyKCkgKTsgLy8g c2V0IHRoZSBjdXJyZW50IHllYXIgdG8gZGVmYXVsdCBpZiBubyB5ZWFyIHNwZWNpZmllZCB5ZXQK KyAgICAgfSBlbHNlIHsKKyAgICAgICAgIHNwaW5ZZWFyLT5zZXRWYWx1ZSggZC0+dHJhY2tNb2Rl bC0+Y2RkYkluZm8oKS5nZXQoIEtDRERCOjpZZWFyICkudG9JbnQoKSApOworICAgICB9CisgICAg IFFGcmFtZSogbGluZSA9IG5ldyBRRnJhbWUoIHcgKTsKICAgICAgbGluZS0+c2V0RnJhbWVTaGFw ZSggUUZyYW1lOjpITGluZSApOwogICAgICBsaW5lLT5zZXRGcmFtZVNoYWRvdyggUUZyYW1lOjpT dW5rZW4gKTsKIC0gICAgS0NvbWJvQm94KiBjb21ib0dlbnJlID0gbmV3IEtDb21ib0JveCggdyAp OwogKyAgICBLQ29tYm9Cb3gqIGNvbWJvR2VucmUgPSBuZXcgS0NvbWJvQm94KCB0aGlzICk7CiAg ICAgIGNvbWJvR2VucmUtPmFkZEl0ZW1zKCBLQ0REQjo6R2VucmVzKCkuaTE4bkxpc3QoKSApOwog LSAgICBLQ29tYm9Cb3gqIGNvbWJvQ2F0ID0gbmV3IEtDb21ib0JveCggdyApOwogKyAgICBLQ29t Ym9Cb3gqIGNvbWJvQ2F0ID0gbmV3IEtDb21ib0JveCggdGhpcyApOwogICAgICBjb21ib0NhdC0+ YWRkSXRlbXMoIEtDRERCOjpDYXRlZ29yaWVzKCkuaTE4bkxpc3QoKSApOwogIAogICAgICBRU3Ry aW5nIGdlbnJlID0gZC0+dHJhY2tNb2RlbC0+Y2RkYkluZm8oKS5nZXQoIEtDRERCOjpHZW5yZSAp LnRvU3RyaW5nKCk7CkBAQCAtNDI2LDE2IC00MzQsOSArNDM3LDE4IEBAQAogICAgICBmb3JtLT5h ZGRSb3coIGkxOG4oIlllYXI6IiksIHNwaW5ZZWFyICk7CiAgICAgIGZvcm0tPmFkZFJvdyggbGlu ZSApOwogICAgICBmb3JtLT5hZGRSb3coIGkxOG4oIkNhdGVnb3J5OiIpLCBjb21ib0NhdCApOwog KyAgICBmb3JtLT5zZXRDb250ZW50c01hcmdpbnMoIDAsIDAsIDAsIDAgKTsKICsKICsgICAgUURp YWxvZ0J1dHRvbkJveCogYnV0dG9uQm94ID0gbmV3IFFEaWFsb2dCdXR0b25Cb3goIFFEaWFsb2dC dXR0b25Cb3g6Ok9rIHwgUURpYWxvZ0J1dHRvbkJveDo6Q2FuY2VsLCAmZGlhbG9nICk7CiArICAg IGNvbm5lY3QoIGJ1dHRvbkJveCwgU0lHTkFMKGFjY2VwdGVkKCkpLCAmZGlhbG9nLCBTTE9UKGFj Y2VwdCgpKSApOwogKyAgICBjb25uZWN0KCBidXR0b25Cb3gsIFNJR05BTChyZWplY3RlZCgpKSwg JmRpYWxvZywgU0xPVChyZWplY3QoKSkgKTsKICsKICsgICAgUVZCb3hMYXlvdXQqIGRsZ0xheW91 dCA9IG5ldyBRVkJveExheW91dCggdGhpcyApOwogKyAgICBkbGdMYXlvdXQtPmFkZExheW91dCgg Zm9ybSApOwogKyAgICBkbGdMYXlvdXQtPmFkZFdpZGdldCggYnV0dG9uQm94ICk7CiArCisgICAg IGVkaXRUaXRsZS0+c2V0Rm9jdXMoUXQ6OlRhYkZvY3VzUmVhc29uKTsKKyAKIC0gICAgZGlhbG9n LnNldE1haW5XaWRnZXQodyk7CiAgICAgIGRpYWxvZy5yZXNpemUoIHFNYXgoIHFNYXgoZGlhbG9n LnNpemVIaW50KCkuaGVpZ2h0KCksIGRpYWxvZy5zaXplSGludCgpLndpZHRoKCkpLCAzMDApLCBk aWFsb2cuc2l6ZUhpbnQoKS5oZWlnaHQoKSApOwogIAogICAgICBpZiggZGlhbG9nLmV4ZWMoKSA9 PSBRRGlhbG9nOjpBY2NlcHRlZCApIHsKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18Ka2RlLWRvYy1lbmdsaXNoIG1haWxpbmcgbGlzdAprZGUtZG9jLWVuZ2xp c2hAa2RlLm9yZwpodHRwczovL21haWwua2RlLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2tkZS1kb2Mt ZW5nbGlzaAo=