[SCM] GNU Inetutils branch, master, updated. v2.2-10-g09a2242
Simon Josefsson via Commit-inetutils <[email protected]> Fri, 3 Sep 2021 10:08:49 -0400 (EDT)
| Newsgroups | gmane.comp.gnu.inetutils.cvs |
|---|---|
| Message-ID | <[email protected]> |
VGhpcyBpcyBhbiBhdXRvbWF0ZWQgZW1haWwgZnJvbSB0aGUgZ2l0IGhvb2tzL3Bvc3QtcmVjZWl2 ZSBzY3JpcHQuIEl0IHdhcwpnZW5lcmF0ZWQgYmVjYXVzZSBhIHJlZiBjaGFuZ2Ugd2FzIHB1c2hl ZCB0byB0aGUgcmVwb3NpdG9yeSBjb250YWluaW5nCnRoZSBwcm9qZWN0ICJHTlUgSW5ldHV0aWxz ICIuCgpUaGUgYnJhbmNoLCBtYXN0ZXIgaGFzIGJlZW4gdXBkYXRlZAogICAgICAgdmlhICAwOWEy MjQyYmI1YzcwZDk1NmJmOGQxMzU0NzIxMGQ4M2UwZDk4YmNkIChjb21taXQpCiAgICAgICB2aWEg IDNmY2ViYjliMzhiOGIwMWU1MjhkMTU4NjU2YWY4NjNmOThhM2M3NTEgKGNvbW1pdCkKICAgICAg IHZpYSAgMjE1ZGUxMmQwOWViNmMwYmY1ZGU5ZDE2YTRhNjAxZTFkYTc2OGIzMyAoY29tbWl0KQog ICAgICAgdmlhICAwNDEyYmFhOGQ0Y2U4NGM0ZjlmZTlkZjA1NjczMTI5MWYzNTIxYzk1IChjb21t aXQpCiAgICAgIGZyb20gIDg4MGRiY2Y3ZWZmYjg2MzczYjAxMTEwOGY2Y2Y5ZDI1MDM0MjQyMGIg KGNvbW1pdCkKClRob3NlIHJldmlzaW9ucyBsaXN0ZWQgYWJvdmUgdGhhdCBhcmUgbmV3IHRvIHRo aXMgcmVwb3NpdG9yeSBoYXZlCm5vdCBhcHBlYXJlZCBvbiBhbnkgb3RoZXIgbm90aWZpY2F0aW9u IGVtYWlsOyBzbyB3ZSBsaXN0IHRob3NlCnJldmlzaW9ucyBpbiBmdWxsLCBiZWxvdy4KCi0gTG9n IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCmh0dHA6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9jZ2l0L2luZXR1dGlscy5naXQv Y29tbWl0Lz9pZD0wOWEyMjQyYmI1YzcwZDk1NmJmOGQxMzU0NzIxMGQ4M2UwZDk4YmNkCgoKY29t bWl0IDA5YTIyNDJiYjVjNzBkOTU2YmY4ZDEzNTQ3MjEwZDgzZTBkOThiY2QKQXV0aG9yOiBTaW1v biBKb3NlZnNzb24gPHNpbW9uQGpvc2Vmc3Nvbi5vcmc+CkRhdGU6ICAgRnJpIFNlcCAzIDE2OjA4 OjA2IDIwMjEgKzAyMDAKCiAgICBkb2M6IE1lbnRpb24gbWFpbnRlbmFuY2UgZml4ZXMuCiAgICAK ICAgICogTkVXUzogQWRkLgoKZGlmZiAtLWdpdCBhL05FV1MgYi9ORVdTCmluZGV4IDAxODdkNDku LmRiNmMwNjkgMTAwNjQ0Ci0tLSBhL05FV1MKKysrIGIvTkVXUwpAQCAtNyw2ICs3LDExIEBAIEdO VSBpbmV0dXRpbHMgTkVXUyAtLSBoaXN0b3J5IG9mIHVzZXItdmlzaWJsZSBjaGFuZ2VzLgogRG9u J3QgaW5mbG9vcCB3aGVuIChtYWxpY2lvdXMpIHNlcnZlciBzZW5kcyB0b28gbGFyZ2UgdGVybWlu YWwgdmFsdWUsCiBzZWU6IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0 LmNnaT9idWc9OTQ1ODYxCiAKKyoqIFZhcmlvdXMgYnVncyBmaXhlcywgaW50ZXJuYWwgaW1wcm92 ZW1lbnRzIGFuZCBjbGVhbiB1cHMuCisKK0Z1cnRoZXIgY2xlYW51cCBvZiBjb25maWd1cmUuYWMs IHVwZGF0ZXMgdG8gbW9kZXJuIGF1dG9jb25mIHJlbGVhc2VzLAorYW5kIGltcHJvdmVkIGdudWxp YiB1c2FnZS4KKwogKiBOb3Rld29ydGh5IGNoYW5nZXMgaW4gcmVsZWFzZSAyLjIgKDIwMjEtMDkt MDEpIFtzdGFibGVdCiAKICoqIGZ0cAoKaHR0cDovL2dpdC5zYXZhbm5haC5nbnUub3JnL2NnaXQv aW5ldHV0aWxzLmdpdC9jb21taXQvP2lkPTNmY2ViYjliMzhiOGIwMWU1MjhkMTU4NjU2YWY4NjNm OThhM2M3NTEKCgpjb21taXQgM2ZjZWJiOWIzOGI4YjAxZTUyOGQxNTg2NTZhZjg2M2Y5OGEzYzc1 MQpBdXRob3I6IFNpbW9uIEpvc2Vmc3NvbiA8c2ltb25Aam9zZWZzc29uLm9yZz4KRGF0ZTogICBG cmkgU2VwIDMgMTU6NTk6NDUgMjAyMSArMDIwMAoKICAgIHRlbG5ldDogRG9uJ3QgaW5mbG9vcCBm b3IgbWFsaWNpb3VzIHNlcnZlci4KICAgIAogICAgU2VlIGh0dHBzOi8vYnVncy5kZWJpYW4ub3Jn Lzk0NTg2MSBhbmQgdGhlIHRpbnkgcGF0Y2ggdXNlZCBieSBOZXRCU0Q6CiAgICBodHRwczovL2dp dGh1Yi5jb20vTmV0QlNEL3NyYy9jb21taXQvMzZiOGNmYjJlMjhmNjkxYmVhZTEyZGEwYzIwNzA4 NmUxZGYwYzhjNCNkaWZmLTM4YjcyMTNmOWM2YzIxMjQ1ZmJlYjRmYWQ5NTIwYTI3MjM5ZDcxMmE2 ZGQwZmVhMjBkZDZiNzcyMDNiNTczN2MKICAgIAogICAgKiBORVdTOiBNZW50aW9uIGZpeC4KICAg ICogdGVsbmV0L3V0aWxpdGllcy5jIChFeGl0U3RyaW5nKTogRG9uJ3QgY2FsbCBTZXRGb3JFeGl0 KCkuCgpkaWZmIC0tZ2l0IGEvTkVXUyBiL05FV1MKaW5kZXggMjA3NzExMC4uMDE4N2Q0OSAxMDA2 NDQKLS0tIGEvTkVXUworKysgYi9ORVdTCkBAIC0yLDYgKzIsMTAgQEAgR05VIGluZXR1dGlscyBO RVdTIC0tIGhpc3Rvcnkgb2YgdXNlci12aXNpYmxlIGNoYW5nZXMuCiAKICogTm90ZXdvcnRoeSBj aGFuZ2VzIGluIHJlbGVhc2UgPy4/ICg/Pz8/LT8/LT8/KSBbP10KIAorKiogdGVsbmV0CisKK0Rv bid0IGluZmxvb3Agd2hlbiAobWFsaWNpb3VzKSBzZXJ2ZXIgc2VuZHMgdG9vIGxhcmdlIHRlcm1p bmFsIHZhbHVlLAorc2VlOiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9y dC5jZ2k/YnVnPTk0NTg2MQogCiAqIE5vdGV3b3J0aHkgY2hhbmdlcyBpbiByZWxlYXNlIDIuMiAo MjAyMS0wOS0wMSkgW3N0YWJsZV0KIApkaWZmIC0tZ2l0IGEvdGVsbmV0L3V0aWxpdGllcy5jIGIv dGVsbmV0L3V0aWxpdGllcy5jCmluZGV4IDg1ZmQ0NzYuLjA4NTcxY2QgMTAwNjQ0Ci0tLSBhL3Rl bG5ldC91dGlsaXRpZXMuYworKysgYi90ZWxuZXQvdXRpbGl0aWVzLmMKQEAgLTEwNjMsNyArMTA2 Myw2IEBAIEV4aXQgKGludCByZXR1cm5Db2RlKQogdm9pZAogRXhpdFN0cmluZyAoY2hhciAqc3Ry aW5nLCBpbnQgcmV0dXJuQ29kZSkKIHsKLSAgU2V0Rm9yRXhpdCAoKTsKICAgZndyaXRlIChzdHJp bmcsIDEsIHN0cmxlbiAoc3RyaW5nKSwgc3RkZXJyKTsKICAgZXhpdCAocmV0dXJuQ29kZSk7CiB9 CgpodHRwOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvY2dpdC9pbmV0dXRpbHMuZ2l0L2NvbW1pdC8/ aWQ9MjE1ZGUxMmQwOWViNmMwYmY1ZGU5ZDE2YTRhNjAxZTFkYTc2OGIzMwoKCmNvbW1pdCAyMTVk ZTEyZDA5ZWI2YzBiZjVkZTlkMTZhNGE2MDFlMWRhNzY4YjMzCkF1dGhvcjogU2ltb24gSm9zZWZz c29uIDxzaW1vbkBqb3NlZnNzb24ub3JnPgpEYXRlOiAgIFRodSBTZXAgMiAxMDozMzoxOSAyMDIx ICswMjAwCgogICAgbWFpbnQ6IEluY2x1ZGUgbGljZW5zZSB0ZXh0IEZETCBhcyBzdWdnZXN0ZWQg YnkgYm9vdHN0cmFwLgogICAgCiAgICAqIGRvYy9mZGwtMS4zLnRleGk6IE5ldyBmaWxlLCBmcm9t IGdudWxpYi4KICAgICogYm9vdHN0cmFwLmNvbmYgKGdudWxpYl9tb2R1bGVzKTogUmVtb3ZlIGZk bC0xLjMuCgpkaWZmIC0tZ2l0IGEvYm9vdHN0cmFwLmNvbmYgYi9ib290c3RyYXAuY29uZgppbmRl eCBmMzQ3ZDQ3Li5kMDRmYWNjIDEwMDY0NAotLS0gYS9ib290c3RyYXAuY29uZgorKysgYi9ib290 c3RyYXAuY29uZgpAQCAtNDksNyArNDksNiBAQCBlcnJubwogZXJyb3IKIGV4aXRmYWlsCiBleHRl bnNpb25zCi1mZGwtMS4zCiBmaWxlbW9kZQogZm9ya3B0eQogZnRzCmRpZmYgLS1naXQgYS9kb2Mv LmdpdGlnbm9yZSBiL2RvYy8uZ2l0aWdub3JlCmluZGV4IDZiZjgzZWIuLmI5YTBlNDEgMTAwNjQ0 Ci0tLSBhL2RvYy8uZ2l0aWdub3JlCisrKyBiL2RvYy8uZ2l0aWdub3JlCkBAIC0xLDcgKzEsNSBA QAotL2ZkbC0xLjMudGV4aQogL2dlbmRvY3NfdGVtcGxhdGUKIC9nZW5kb2NzX3RlbXBsYXRlX21p bgotZmRsLTEuMy50ZXhpCiBnZW5kb2NzX3RlbXBsYXRlCiBpbmV0dXRpbHMuaW5mbyoKIHN0YW1w LXZ0aQpkaWZmIC0tZ2l0IGEvZG9jL2ZkbC0xLjMudGV4aSBiL2RvYy9mZGwtMS4zLnRleGkKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWFmM2RhMAotLS0gL2Rldi9udWxsCisr KyBiL2RvYy9mZGwtMS4zLnRleGkKQEAgLTAsMCArMSw1MDUgQEAKK0BjIFRoZSBHTlUgRnJlZSBE b2N1bWVudGF0aW9uIExpY2Vuc2UuCitAY2VudGVyIFZlcnNpb24gMS4zLCAzIE5vdmVtYmVyIDIw MDgKKworQGMgVGhpcyBmaWxlIGlzIGludGVuZGVkIHRvIGJlIGluY2x1ZGVkIHdpdGhpbiBhbm90 aGVyIGRvY3VtZW50LAorQGMgaGVuY2Ugbm8gc2VjdGlvbmluZyBjb21tYW5kIG9yIEBub2RlLgor CitAZGlzcGxheQorQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAyMDAwLCAyMDAxLCAyMDAyLCAyMDA3 LCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorQHVyZWZ7aHR0cHM6Ly9mc2Yu b3JnL30KKworRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVy YmF0aW0gY29waWVzCitvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBp cyBub3QgYWxsb3dlZC4KK0BlbmQgZGlzcGxheQorCitAZW51bWVyYXRlIDAKK0BpdGVtCitQUkVB TUJMRQorCitUaGUgcHVycG9zZSBvZiB0aGlzIExpY2Vuc2UgaXMgdG8gbWFrZSBhIG1hbnVhbCwg dGV4dGJvb2ssIG9yIG90aGVyCitmdW5jdGlvbmFsIGFuZCB1c2VmdWwgZG9jdW1lbnQgQGRmbntm cmVlfSBpbiB0aGUgc2Vuc2Ugb2YgZnJlZWRvbTogdG8KK2Fzc3VyZSBldmVyeW9uZSB0aGUgZWZm ZWN0aXZlIGZyZWVkb20gdG8gY29weSBhbmQgcmVkaXN0cmlidXRlIGl0LAord2l0aCBvciB3aXRo b3V0IG1vZGlmeWluZyBpdCwgZWl0aGVyIGNvbW1lcmNpYWxseSBvciBub25jb21tZXJjaWFsbHku CitTZWNvbmRhcmlseSwgdGhpcyBMaWNlbnNlIHByZXNlcnZlcyBmb3IgdGhlIGF1dGhvciBhbmQg cHVibGlzaGVyIGEgd2F5Cit0byBnZXQgY3JlZGl0IGZvciB0aGVpciB3b3JrLCB3aGlsZSBub3Qg YmVpbmcgY29uc2lkZXJlZCByZXNwb25zaWJsZQorZm9yIG1vZGlmaWNhdGlvbnMgbWFkZSBieSBv dGhlcnMuCisKK1RoaXMgTGljZW5zZSBpcyBhIGtpbmQgb2YgYGBjb3B5bGVmdCcnLCB3aGljaCBt ZWFucyB0aGF0IGRlcml2YXRpdmUKK3dvcmtzIG9mIHRoZSBkb2N1bWVudCBtdXN0IHRoZW1zZWx2 ZXMgYmUgZnJlZSBpbiB0aGUgc2FtZSBzZW5zZS4gIEl0Citjb21wbGVtZW50cyB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UsIHdoaWNoIGlzIGEgY29weWxlZnQKK2xpY2Vuc2UgZGVzaWdu ZWQgZm9yIGZyZWUgc29mdHdhcmUuCisKK1dlIGhhdmUgZGVzaWduZWQgdGhpcyBMaWNlbnNlIGlu IG9yZGVyIHRvIHVzZSBpdCBmb3IgbWFudWFscyBmb3IgZnJlZQorc29mdHdhcmUsIGJlY2F1c2Ug ZnJlZSBzb2Z0d2FyZSBuZWVkcyBmcmVlIGRvY3VtZW50YXRpb246IGEgZnJlZQorcHJvZ3JhbSBz aG91bGQgY29tZSB3aXRoIG1hbnVhbHMgcHJvdmlkaW5nIHRoZSBzYW1lIGZyZWVkb21zIHRoYXQg dGhlCitzb2Z0d2FyZSBkb2VzLiAgQnV0IHRoaXMgTGljZW5zZSBpcyBub3QgbGltaXRlZCB0byBz b2Z0d2FyZSBtYW51YWxzOworaXQgY2FuIGJlIHVzZWQgZm9yIGFueSB0ZXh0dWFsIHdvcmssIHJl Z2FyZGxlc3Mgb2Ygc3ViamVjdCBtYXR0ZXIgb3IKK3doZXRoZXIgaXQgaXMgcHVibGlzaGVkIGFz IGEgcHJpbnRlZCBib29rLiAgV2UgcmVjb21tZW5kIHRoaXMgTGljZW5zZQorcHJpbmNpcGFsbHkg Zm9yIHdvcmtzIHdob3NlIHB1cnBvc2UgaXMgaW5zdHJ1Y3Rpb24gb3IgcmVmZXJlbmNlLgorCitA aXRlbQorQVBQTElDQUJJTElUWSBBTkQgREVGSU5JVElPTlMKKworVGhpcyBMaWNlbnNlIGFwcGxp ZXMgdG8gYW55IG1hbnVhbCBvciBvdGhlciB3b3JrLCBpbiBhbnkgbWVkaXVtLCB0aGF0Citjb250 YWlucyBhIG5vdGljZSBwbGFjZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXIgc2F5aW5nIGl0IGNh biBiZQorZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4gIFN1Y2gg YSBub3RpY2UgZ3JhbnRzIGEKK3dvcmxkLXdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlLCB1bmxp bWl0ZWQgaW4gZHVyYXRpb24sIHRvIHVzZSB0aGF0Cit3b3JrIHVuZGVyIHRoZSBjb25kaXRpb25z IHN0YXRlZCBoZXJlaW4uICBUaGUgYGBEb2N1bWVudCcnLCBiZWxvdywKK3JlZmVycyB0byBhbnkg c3VjaCBtYW51YWwgb3Igd29yay4gIEFueSBtZW1iZXIgb2YgdGhlIHB1YmxpYyBpcyBhCitsaWNl bnNlZSwgYW5kIGlzIGFkZHJlc3NlZCBhcyBgYHlvdScnLiAgWW91IGFjY2VwdCB0aGUgbGljZW5z ZSBpZiB5b3UKK2NvcHksIG1vZGlmeSBvciBkaXN0cmlidXRlIHRoZSB3b3JrIGluIGEgd2F5IHJl cXVpcmluZyBwZXJtaXNzaW9uCit1bmRlciBjb3B5cmlnaHQgbGF3LgorCitBIGBgTW9kaWZpZWQg VmVyc2lvbicnIG9mIHRoZSBEb2N1bWVudCBtZWFucyBhbnkgd29yayBjb250YWluaW5nIHRoZQor RG9jdW1lbnQgb3IgYSBwb3J0aW9uIG9mIGl0LCBlaXRoZXIgY29waWVkIHZlcmJhdGltLCBvciB3 aXRoCittb2RpZmljYXRpb25zIGFuZC9vciB0cmFuc2xhdGVkIGludG8gYW5vdGhlciBsYW5ndWFn ZS4KKworQSBgYFNlY29uZGFyeSBTZWN0aW9uJycgaXMgYSBuYW1lZCBhcHBlbmRpeCBvciBhIGZy b250LW1hdHRlciBzZWN0aW9uCitvZiB0aGUgRG9jdW1lbnQgdGhhdCBkZWFscyBleGNsdXNpdmVs eSB3aXRoIHRoZSByZWxhdGlvbnNoaXAgb2YgdGhlCitwdWJsaXNoZXJzIG9yIGF1dGhvcnMgb2Yg dGhlIERvY3VtZW50IHRvIHRoZSBEb2N1bWVudCdzIG92ZXJhbGwKK3N1YmplY3QgKG9yIHRvIHJl bGF0ZWQgbWF0dGVycykgYW5kIGNvbnRhaW5zIG5vdGhpbmcgdGhhdCBjb3VsZCBmYWxsCitkaXJl Y3RseSB3aXRoaW4gdGhhdCBvdmVyYWxsIHN1YmplY3QuICAoVGh1cywgaWYgdGhlIERvY3VtZW50 IGlzIGluCitwYXJ0IGEgdGV4dGJvb2sgb2YgbWF0aGVtYXRpY3MsIGEgU2Vjb25kYXJ5IFNlY3Rp b24gbWF5IG5vdCBleHBsYWluCithbnkgbWF0aGVtYXRpY3MuKSAgVGhlIHJlbGF0aW9uc2hpcCBj b3VsZCBiZSBhIG1hdHRlciBvZiBoaXN0b3JpY2FsCitjb25uZWN0aW9uIHdpdGggdGhlIHN1Ympl Y3Qgb3Igd2l0aCByZWxhdGVkIG1hdHRlcnMsIG9yIG9mIGxlZ2FsLAorY29tbWVyY2lhbCwgcGhp bG9zb3BoaWNhbCwgZXRoaWNhbCBvciBwb2xpdGljYWwgcG9zaXRpb24gcmVnYXJkaW5nCit0aGVt LgorCitUaGUgYGBJbnZhcmlhbnQgU2VjdGlvbnMnJyBhcmUgY2VydGFpbiBTZWNvbmRhcnkgU2Vj dGlvbnMgd2hvc2UgdGl0bGVzCithcmUgZGVzaWduYXRlZCwgYXMgYmVpbmcgdGhvc2Ugb2YgSW52 YXJpYW50IFNlY3Rpb25zLCBpbiB0aGUgbm90aWNlCit0aGF0IHNheXMgdGhhdCB0aGUgRG9jdW1l bnQgaXMgcmVsZWFzZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgSWYgYQorc2VjdGlvbiBkb2VzIG5v dCBmaXQgdGhlIGFib3ZlIGRlZmluaXRpb24gb2YgU2Vjb25kYXJ5IHRoZW4gaXQgaXMgbm90Cith bGxvd2VkIHRvIGJlIGRlc2lnbmF0ZWQgYXMgSW52YXJpYW50LiAgVGhlIERvY3VtZW50IG1heSBj b250YWluIHplcm8KK0ludmFyaWFudCBTZWN0aW9ucy4gIElmIHRoZSBEb2N1bWVudCBkb2VzIG5v dCBpZGVudGlmeSBhbnkgSW52YXJpYW50CitTZWN0aW9ucyB0aGVuIHRoZXJlIGFyZSBub25lLgor CitUaGUgYGBDb3ZlciBUZXh0cycnIGFyZSBjZXJ0YWluIHNob3J0IHBhc3NhZ2VzIG9mIHRleHQg dGhhdCBhcmUgbGlzdGVkLAorYXMgRnJvbnQtQ292ZXIgVGV4dHMgb3IgQmFjay1Db3ZlciBUZXh0 cywgaW4gdGhlIG5vdGljZSB0aGF0IHNheXMgdGhhdAordGhlIERvY3VtZW50IGlzIHJlbGVhc2Vk IHVuZGVyIHRoaXMgTGljZW5zZS4gIEEgRnJvbnQtQ292ZXIgVGV4dCBtYXkKK2JlIGF0IG1vc3Qg NSB3b3JkcywgYW5kIGEgQmFjay1Db3ZlciBUZXh0IG1heSBiZSBhdCBtb3N0IDI1IHdvcmRzLgor CitBIGBgVHJhbnNwYXJlbnQnJyBjb3B5IG9mIHRoZSBEb2N1bWVudCBtZWFucyBhIG1hY2hpbmUt cmVhZGFibGUgY29weSwKK3JlcHJlc2VudGVkIGluIGEgZm9ybWF0IHdob3NlIHNwZWNpZmljYXRp b24gaXMgYXZhaWxhYmxlIHRvIHRoZQorZ2VuZXJhbCBwdWJsaWMsIHRoYXQgaXMgc3VpdGFibGUg Zm9yIHJldmlzaW5nIHRoZSBkb2N1bWVudAorc3RyYWlnaHRmb3J3YXJkbHkgd2l0aCBnZW5lcmlj IHRleHQgZWRpdG9ycyBvciAoZm9yIGltYWdlcyBjb21wb3NlZCBvZgorcGl4ZWxzKSBnZW5lcmlj IHBhaW50IHByb2dyYW1zIG9yIChmb3IgZHJhd2luZ3MpIHNvbWUgd2lkZWx5IGF2YWlsYWJsZQor ZHJhd2luZyBlZGl0b3IsIGFuZCB0aGF0IGlzIHN1aXRhYmxlIGZvciBpbnB1dCB0byB0ZXh0IGZv cm1hdHRlcnMgb3IKK2ZvciBhdXRvbWF0aWMgdHJhbnNsYXRpb24gdG8gYSB2YXJpZXR5IG9mIGZv cm1hdHMgc3VpdGFibGUgZm9yIGlucHV0Cit0byB0ZXh0IGZvcm1hdHRlcnMuICBBIGNvcHkgbWFk ZSBpbiBhbiBvdGhlcndpc2UgVHJhbnNwYXJlbnQgZmlsZQorZm9ybWF0IHdob3NlIG1hcmt1cCwg b3IgYWJzZW5jZSBvZiBtYXJrdXAsIGhhcyBiZWVuIGFycmFuZ2VkIHRvIHRod2FydAorb3IgZGlz Y291cmFnZSBzdWJzZXF1ZW50IG1vZGlmaWNhdGlvbiBieSByZWFkZXJzIGlzIG5vdCBUcmFuc3Bh cmVudC4KK0FuIGltYWdlIGZvcm1hdCBpcyBub3QgVHJhbnNwYXJlbnQgaWYgdXNlZCBmb3IgYW55 IHN1YnN0YW50aWFsIGFtb3VudAorb2YgdGV4dC4gIEEgY29weSB0aGF0IGlzIG5vdCBgYFRyYW5z cGFyZW50JycgaXMgY2FsbGVkIGBgT3BhcXVlJycuCisKK0V4YW1wbGVzIG9mIHN1aXRhYmxlIGZv cm1hdHMgZm9yIFRyYW5zcGFyZW50IGNvcGllcyBpbmNsdWRlIHBsYWluCitBU0NJSSB3aXRob3V0 IG1hcmt1cCwgVGV4aW5mbyBpbnB1dCBmb3JtYXQsIExhQFRlWHt9IGlucHV0Citmb3JtYXQsIFNH TUwgb3IgWE1MIHVzaW5nIGEgcHVibGljbHkgYXZhaWxhYmxlCitEVEQsIGFuZCBzdGFuZGFyZC1j b25mb3JtaW5nIHNpbXBsZSBIVE1MLAorUG9zdFNjcmlwdCBvciBQREYgZGVzaWduZWQgZm9yIGh1 bWFuIG1vZGlmaWNhdGlvbi4gIEV4YW1wbGVzCitvZiB0cmFuc3BhcmVudCBpbWFnZSBmb3JtYXRz IGluY2x1ZGUgUE5HLCBYQ0YgYW5kCitKUEdALiAgT3BhcXVlIGZvcm1hdHMgaW5jbHVkZSBwcm9w cmlldGFyeSBmb3JtYXRzIHRoYXQgY2FuIGJlCityZWFkIGFuZCBlZGl0ZWQgb25seSBieSBwcm9w cmlldGFyeSB3b3JkIHByb2Nlc3NvcnMsIFNHTUwgb3IKK1hNTCBmb3Igd2hpY2ggdGhlIERURCBh bmQvb3IgcHJvY2Vzc2luZyB0b29scyBhcmUKK25vdCBnZW5lcmFsbHkgYXZhaWxhYmxlLCBhbmQg dGhlIG1hY2hpbmUtZ2VuZXJhdGVkIEhUTUwsCitQb3N0U2NyaXB0IG9yIFBERiBwcm9kdWNlZCBi eSBzb21lIHdvcmQgcHJvY2Vzc29ycyBmb3IKK291dHB1dCBwdXJwb3NlcyBvbmx5LgorCitUaGUg YGBUaXRsZSBQYWdlJycgbWVhbnMsIGZvciBhIHByaW50ZWQgYm9vaywgdGhlIHRpdGxlIHBhZ2Ug aXRzZWxmLAorcGx1cyBzdWNoIGZvbGxvd2luZyBwYWdlcyBhcyBhcmUgbmVlZGVkIHRvIGhvbGQs IGxlZ2libHksIHRoZSBtYXRlcmlhbAordGhpcyBMaWNlbnNlIHJlcXVpcmVzIHRvIGFwcGVhciBp biB0aGUgdGl0bGUgcGFnZS4gIEZvciB3b3JrcyBpbgorZm9ybWF0cyB3aGljaCBkbyBub3QgaGF2 ZSBhbnkgdGl0bGUgcGFnZSBhcyBzdWNoLCBgYFRpdGxlIFBhZ2UnJyBtZWFucwordGhlIHRleHQg bmVhciB0aGUgbW9zdCBwcm9taW5lbnQgYXBwZWFyYW5jZSBvZiB0aGUgd29yaydzIHRpdGxlLAor cHJlY2VkaW5nIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJvZHkgb2YgdGhlIHRleHQuCisKK1RoZSBg YHB1Ymxpc2hlcicnIG1lYW5zIGFueSBwZXJzb24gb3IgZW50aXR5IHRoYXQgZGlzdHJpYnV0ZXMg Y29waWVzCitvZiB0aGUgRG9jdW1lbnQgdG8gdGhlIHB1YmxpYy4KKworQSBzZWN0aW9uIGBgRW50 aXRsZWQgWFlaJycgbWVhbnMgYSBuYW1lZCBzdWJ1bml0IG9mIHRoZSBEb2N1bWVudCB3aG9zZQor dGl0bGUgZWl0aGVyIGlzIHByZWNpc2VseSBYWVogb3IgY29udGFpbnMgWFlaIGluIHBhcmVudGhl c2VzIGZvbGxvd2luZwordGV4dCB0aGF0IHRyYW5zbGF0ZXMgWFlaIGluIGFub3RoZXIgbGFuZ3Vh Z2UuICAoSGVyZSBYWVogc3RhbmRzIGZvciBhCitzcGVjaWZpYyBzZWN0aW9uIG5hbWUgbWVudGlv bmVkIGJlbG93LCBzdWNoIGFzIGBgQWNrbm93bGVkZ2VtZW50cycnLAorYGBEZWRpY2F0aW9ucycn LCBgYEVuZG9yc2VtZW50cycnLCBvciBgYEhpc3RvcnknJy4pICBUbyBgYFByZXNlcnZlIHRoZSBU aXRsZScnCitvZiBzdWNoIGEgc2VjdGlvbiB3aGVuIHlvdSBtb2RpZnkgdGhlIERvY3VtZW50IG1l YW5zIHRoYXQgaXQgcmVtYWlucyBhCitzZWN0aW9uIGBgRW50aXRsZWQgWFlaJycgYWNjb3JkaW5n IHRvIHRoaXMgZGVmaW5pdGlvbi4KKworVGhlIERvY3VtZW50IG1heSBpbmNsdWRlIFdhcnJhbnR5 IERpc2NsYWltZXJzIG5leHQgdG8gdGhlIG5vdGljZSB3aGljaAorc3RhdGVzIHRoYXQgdGhpcyBM aWNlbnNlIGFwcGxpZXMgdG8gdGhlIERvY3VtZW50LiAgVGhlc2UgV2FycmFudHkKK0Rpc2NsYWlt ZXJzIGFyZSBjb25zaWRlcmVkIHRvIGJlIGluY2x1ZGVkIGJ5IHJlZmVyZW5jZSBpbiB0aGlzCitM aWNlbnNlLCBidXQgb25seSBhcyByZWdhcmRzIGRpc2NsYWltaW5nIHdhcnJhbnRpZXM6IGFueSBv dGhlcgoraW1wbGljYXRpb24gdGhhdCB0aGVzZSBXYXJyYW50eSBEaXNjbGFpbWVycyBtYXkgaGF2 ZSBpcyB2b2lkIGFuZCBoYXMKK25vIGVmZmVjdCBvbiB0aGUgbWVhbmluZyBvZiB0aGlzIExpY2Vu c2UuCisKK0BpdGVtCitWRVJCQVRJTSBDT1BZSU5HCisKK1lvdSBtYXkgY29weSBhbmQgZGlzdHJp YnV0ZSB0aGUgRG9jdW1lbnQgaW4gYW55IG1lZGl1bSwgZWl0aGVyCitjb21tZXJjaWFsbHkgb3Ig bm9uY29tbWVyY2lhbGx5LCBwcm92aWRlZCB0aGF0IHRoaXMgTGljZW5zZSwgdGhlCitjb3B5cmln aHQgbm90aWNlcywgYW5kIHRoZSBsaWNlbnNlIG5vdGljZSBzYXlpbmcgdGhpcyBMaWNlbnNlIGFw cGxpZXMKK3RvIHRoZSBEb2N1bWVudCBhcmUgcmVwcm9kdWNlZCBpbiBhbGwgY29waWVzLCBhbmQg dGhhdCB5b3UgYWRkIG5vIG90aGVyCitjb25kaXRpb25zIHdoYXRzb2V2ZXIgdG8gdGhvc2Ugb2Yg dGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgdXNlCit0ZWNobmljYWwgbWVhc3VyZXMgdG8gb2Jz dHJ1Y3Qgb3IgY29udHJvbCB0aGUgcmVhZGluZyBvciBmdXJ0aGVyCitjb3B5aW5nIG9mIHRoZSBj b3BpZXMgeW91IG1ha2Ugb3IgZGlzdHJpYnV0ZS4gIEhvd2V2ZXIsIHlvdSBtYXkgYWNjZXB0Citj b21wZW5zYXRpb24gaW4gZXhjaGFuZ2UgZm9yIGNvcGllcy4gIElmIHlvdSBkaXN0cmlidXRlIGEg bGFyZ2UgZW5vdWdoCitudW1iZXIgb2YgY29waWVzIHlvdSBtdXN0IGFsc28gZm9sbG93IHRoZSBj b25kaXRpb25zIGluIHNlY3Rpb24gMy4KKworWW91IG1heSBhbHNvIGxlbmQgY29waWVzLCB1bmRl ciB0aGUgc2FtZSBjb25kaXRpb25zIHN0YXRlZCBhYm92ZSwgYW5kCit5b3UgbWF5IHB1YmxpY2x5 IGRpc3BsYXkgY29waWVzLgorCitAaXRlbQorQ09QWUlORyBJTiBRVUFOVElUWQorCitJZiB5b3Ug cHVibGlzaCBwcmludGVkIGNvcGllcyAob3IgY29waWVzIGluIG1lZGlhIHRoYXQgY29tbW9ubHkg aGF2ZQorcHJpbnRlZCBjb3ZlcnMpIG9mIHRoZSBEb2N1bWVudCwgbnVtYmVyaW5nIG1vcmUgdGhh biAxMDAsIGFuZCB0aGUKK0RvY3VtZW50J3MgbGljZW5zZSBub3RpY2UgcmVxdWlyZXMgQ292ZXIg VGV4dHMsIHlvdSBtdXN0IGVuY2xvc2UgdGhlCitjb3BpZXMgaW4gY292ZXJzIHRoYXQgY2Fycnks IGNsZWFybHkgYW5kIGxlZ2libHksIGFsbCB0aGVzZSBDb3ZlcgorVGV4dHM6IEZyb250LUNvdmVy IFRleHRzIG9uIHRoZSBmcm9udCBjb3ZlciwgYW5kIEJhY2stQ292ZXIgVGV4dHMgb24KK3RoZSBi YWNrIGNvdmVyLiAgQm90aCBjb3ZlcnMgbXVzdCBhbHNvIGNsZWFybHkgYW5kIGxlZ2libHkgaWRl bnRpZnkKK3lvdSBhcyB0aGUgcHVibGlzaGVyIG9mIHRoZXNlIGNvcGllcy4gIFRoZSBmcm9udCBj b3ZlciBtdXN0IHByZXNlbnQKK3RoZSBmdWxsIHRpdGxlIHdpdGggYWxsIHdvcmRzIG9mIHRoZSB0 aXRsZSBlcXVhbGx5IHByb21pbmVudCBhbmQKK3Zpc2libGUuICBZb3UgbWF5IGFkZCBvdGhlciBt YXRlcmlhbCBvbiB0aGUgY292ZXJzIGluIGFkZGl0aW9uLgorQ29weWluZyB3aXRoIGNoYW5nZXMg bGltaXRlZCB0byB0aGUgY292ZXJzLCBhcyBsb25nIGFzIHRoZXkgcHJlc2VydmUKK3RoZSB0aXRs ZSBvZiB0aGUgRG9jdW1lbnQgYW5kIHNhdGlzZnkgdGhlc2UgY29uZGl0aW9ucywgY2FuIGJlIHRy ZWF0ZWQKK2FzIHZlcmJhdGltIGNvcHlpbmcgaW4gb3RoZXIgcmVzcGVjdHMuCisKK0lmIHRoZSBy ZXF1aXJlZCB0ZXh0cyBmb3IgZWl0aGVyIGNvdmVyIGFyZSB0b28gdm9sdW1pbm91cyB0byBmaXQK K2xlZ2libHksIHlvdSBzaG91bGQgcHV0IHRoZSBmaXJzdCBvbmVzIGxpc3RlZCAoYXMgbWFueSBh cyBmaXQKK3JlYXNvbmFibHkpIG9uIHRoZSBhY3R1YWwgY292ZXIsIGFuZCBjb250aW51ZSB0aGUg cmVzdCBvbnRvIGFkamFjZW50CitwYWdlcy4KKworSWYgeW91IHB1Ymxpc2ggb3IgZGlzdHJpYnV0 ZSBPcGFxdWUgY29waWVzIG9mIHRoZSBEb2N1bWVudCBudW1iZXJpbmcKK21vcmUgdGhhbiAxMDAs IHlvdSBtdXN0IGVpdGhlciBpbmNsdWRlIGEgbWFjaGluZS1yZWFkYWJsZSBUcmFuc3BhcmVudAor Y29weSBhbG9uZyB3aXRoIGVhY2ggT3BhcXVlIGNvcHksIG9yIHN0YXRlIGluIG9yIHdpdGggZWFj aCBPcGFxdWUgY29weQorYSBjb21wdXRlci1uZXR3b3JrIGxvY2F0aW9uIGZyb20gd2hpY2ggdGhl IGdlbmVyYWwgbmV0d29yay11c2luZworcHVibGljIGhhcyBhY2Nlc3MgdG8gZG93bmxvYWQgdXNp bmcgcHVibGljLXN0YW5kYXJkIG5ldHdvcmsgcHJvdG9jb2xzCithIGNvbXBsZXRlIFRyYW5zcGFy ZW50IGNvcHkgb2YgdGhlIERvY3VtZW50LCBmcmVlIG9mIGFkZGVkIG1hdGVyaWFsLgorSWYgeW91 IHVzZSB0aGUgbGF0dGVyIG9wdGlvbiwgeW91IG11c3QgdGFrZSByZWFzb25hYmx5IHBydWRlbnQg c3RlcHMsCit3aGVuIHlvdSBiZWdpbiBkaXN0cmlidXRpb24gb2YgT3BhcXVlIGNvcGllcyBpbiBx dWFudGl0eSwgdG8gZW5zdXJlCit0aGF0IHRoaXMgVHJhbnNwYXJlbnQgY29weSB3aWxsIHJlbWFp biB0aHVzIGFjY2Vzc2libGUgYXQgdGhlIHN0YXRlZAorbG9jYXRpb24gdW50aWwgYXQgbGVhc3Qg b25lIHllYXIgYWZ0ZXIgdGhlIGxhc3QgdGltZSB5b3UgZGlzdHJpYnV0ZSBhbgorT3BhcXVlIGNv cHkgKGRpcmVjdGx5IG9yIHRocm91Z2ggeW91ciBhZ2VudHMgb3IgcmV0YWlsZXJzKSBvZiB0aGF0 CitlZGl0aW9uIHRvIHRoZSBwdWJsaWMuCisKK0l0IGlzIHJlcXVlc3RlZCwgYnV0IG5vdCByZXF1 aXJlZCwgdGhhdCB5b3UgY29udGFjdCB0aGUgYXV0aG9ycyBvZiB0aGUKK0RvY3VtZW50IHdlbGwg YmVmb3JlIHJlZGlzdHJpYnV0aW5nIGFueSBsYXJnZSBudW1iZXIgb2YgY29waWVzLCB0byBnaXZl Cit0aGVtIGEgY2hhbmNlIHRvIHByb3ZpZGUgeW91IHdpdGggYW4gdXBkYXRlZCB2ZXJzaW9uIG9m IHRoZSBEb2N1bWVudC4KKworQGl0ZW0KK01PRElGSUNBVElPTlMKKworWW91IG1heSBjb3B5IGFu ZCBkaXN0cmlidXRlIGEgTW9kaWZpZWQgVmVyc2lvbiBvZiB0aGUgRG9jdW1lbnQgdW5kZXIKK3Ro ZSBjb25kaXRpb25zIG9mIHNlY3Rpb25zIDIgYW5kIDMgYWJvdmUsIHByb3ZpZGVkIHRoYXQgeW91 IHJlbGVhc2UKK3RoZSBNb2RpZmllZCBWZXJzaW9uIHVuZGVyIHByZWNpc2VseSB0aGlzIExpY2Vu c2UsIHdpdGggdGhlIE1vZGlmaWVkCitWZXJzaW9uIGZpbGxpbmcgdGhlIHJvbGUgb2YgdGhlIERv Y3VtZW50LCB0aHVzIGxpY2Vuc2luZyBkaXN0cmlidXRpb24KK2FuZCBtb2RpZmljYXRpb24gb2Yg dGhlIE1vZGlmaWVkIFZlcnNpb24gdG8gd2hvZXZlciBwb3NzZXNzZXMgYSBjb3B5CitvZiBpdC4g IEluIGFkZGl0aW9uLCB5b3UgbXVzdCBkbyB0aGVzZSB0aGluZ3MgaW4gdGhlIE1vZGlmaWVkIFZl cnNpb246CisKK0BlbnVtZXJhdGUgQQorQGl0ZW0KK1VzZSBpbiB0aGUgVGl0bGUgUGFnZSAoYW5k IG9uIHRoZSBjb3ZlcnMsIGlmIGFueSkgYSB0aXRsZSBkaXN0aW5jdAorZnJvbSB0aGF0IG9mIHRo ZSBEb2N1bWVudCwgYW5kIGZyb20gdGhvc2Ugb2YgcHJldmlvdXMgdmVyc2lvbnMKKyh3aGljaCBz aG91bGQsIGlmIHRoZXJlIHdlcmUgYW55LCBiZSBsaXN0ZWQgaW4gdGhlIEhpc3Rvcnkgc2VjdGlv bgorb2YgdGhlIERvY3VtZW50KS4gIFlvdSBtYXkgdXNlIHRoZSBzYW1lIHRpdGxlIGFzIGEgcHJl dmlvdXMgdmVyc2lvbgoraWYgdGhlIG9yaWdpbmFsIHB1Ymxpc2hlciBvZiB0aGF0IHZlcnNpb24g Z2l2ZXMgcGVybWlzc2lvbi4KKworQGl0ZW0KK0xpc3Qgb24gdGhlIFRpdGxlIFBhZ2UsIGFzIGF1 dGhvcnMsIG9uZSBvciBtb3JlIHBlcnNvbnMgb3IgZW50aXRpZXMKK3Jlc3BvbnNpYmxlIGZvciBh dXRob3JzaGlwIG9mIHRoZSBtb2RpZmljYXRpb25zIGluIHRoZSBNb2RpZmllZAorVmVyc2lvbiwg dG9nZXRoZXIgd2l0aCBhdCBsZWFzdCBmaXZlIG9mIHRoZSBwcmluY2lwYWwgYXV0aG9ycyBvZiB0 aGUKK0RvY3VtZW50IChhbGwgb2YgaXRzIHByaW5jaXBhbCBhdXRob3JzLCBpZiBpdCBoYXMgZmV3 ZXIgdGhhbiBmaXZlKSwKK3VubGVzcyB0aGV5IHJlbGVhc2UgeW91IGZyb20gdGhpcyByZXF1aXJl bWVudC4KKworQGl0ZW0KK1N0YXRlIG9uIHRoZSBUaXRsZSBwYWdlIHRoZSBuYW1lIG9mIHRoZSBw dWJsaXNoZXIgb2YgdGhlCitNb2RpZmllZCBWZXJzaW9uLCBhcyB0aGUgcHVibGlzaGVyLgorCitA aXRlbQorUHJlc2VydmUgYWxsIHRoZSBjb3B5cmlnaHQgbm90aWNlcyBvZiB0aGUgRG9jdW1lbnQu CisKK0BpdGVtCitBZGQgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBmb3IgeW91ciBt b2RpZmljYXRpb25zCithZGphY2VudCB0byB0aGUgb3RoZXIgY29weXJpZ2h0IG5vdGljZXMuCisK K0BpdGVtCitJbmNsdWRlLCBpbW1lZGlhdGVseSBhZnRlciB0aGUgY29weXJpZ2h0IG5vdGljZXMs IGEgbGljZW5zZSBub3RpY2UKK2dpdmluZyB0aGUgcHVibGljIHBlcm1pc3Npb24gdG8gdXNlIHRo ZSBNb2RpZmllZCBWZXJzaW9uIHVuZGVyIHRoZQordGVybXMgb2YgdGhpcyBMaWNlbnNlLCBpbiB0 aGUgZm9ybSBzaG93biBpbiB0aGUgQWRkZW5kdW0gYmVsb3cuCisKK0BpdGVtCitQcmVzZXJ2ZSBp biB0aGF0IGxpY2Vuc2Ugbm90aWNlIHRoZSBmdWxsIGxpc3RzIG9mIEludmFyaWFudCBTZWN0aW9u cworYW5kIHJlcXVpcmVkIENvdmVyIFRleHRzIGdpdmVuIGluIHRoZSBEb2N1bWVudCdzIGxpY2Vu c2Ugbm90aWNlLgorCitAaXRlbQorSW5jbHVkZSBhbiB1bmFsdGVyZWQgY29weSBvZiB0aGlzIExp Y2Vuc2UuCisKK0BpdGVtCitQcmVzZXJ2ZSB0aGUgc2VjdGlvbiBFbnRpdGxlZCBgYEhpc3Rvcnkn JywgUHJlc2VydmUgaXRzIFRpdGxlLCBhbmQgYWRkCit0byBpdCBhbiBpdGVtIHN0YXRpbmcgYXQg bGVhc3QgdGhlIHRpdGxlLCB5ZWFyLCBuZXcgYXV0aG9ycywgYW5kCitwdWJsaXNoZXIgb2YgdGhl IE1vZGlmaWVkIFZlcnNpb24gYXMgZ2l2ZW4gb24gdGhlIFRpdGxlIFBhZ2UuICBJZgordGhlcmUg aXMgbm8gc2VjdGlvbiBFbnRpdGxlZCBgYEhpc3RvcnknJyBpbiB0aGUgRG9jdW1lbnQsIGNyZWF0 ZSBvbmUKK3N0YXRpbmcgdGhlIHRpdGxlLCB5ZWFyLCBhdXRob3JzLCBhbmQgcHVibGlzaGVyIG9m IHRoZSBEb2N1bWVudCBhcworZ2l2ZW4gb24gaXRzIFRpdGxlIFBhZ2UsIHRoZW4gYWRkIGFuIGl0 ZW0gZGVzY3JpYmluZyB0aGUgTW9kaWZpZWQKK1ZlcnNpb24gYXMgc3RhdGVkIGluIHRoZSBwcmV2 aW91cyBzZW50ZW5jZS4KKworQGl0ZW0KK1ByZXNlcnZlIHRoZSBuZXR3b3JrIGxvY2F0aW9uLCBp ZiBhbnksIGdpdmVuIGluIHRoZSBEb2N1bWVudCBmb3IKK3B1YmxpYyBhY2Nlc3MgdG8gYSBUcmFu c3BhcmVudCBjb3B5IG9mIHRoZSBEb2N1bWVudCwgYW5kIGxpa2V3aXNlCit0aGUgbmV0d29yayBs b2NhdGlvbnMgZ2l2ZW4gaW4gdGhlIERvY3VtZW50IGZvciBwcmV2aW91cyB2ZXJzaW9ucworaXQg d2FzIGJhc2VkIG9uLiAgVGhlc2UgbWF5IGJlIHBsYWNlZCBpbiB0aGUgYGBIaXN0b3J5Jycgc2Vj dGlvbi4KK1lvdSBtYXkgb21pdCBhIG5ldHdvcmsgbG9jYXRpb24gZm9yIGEgd29yayB0aGF0IHdh cyBwdWJsaXNoZWQgYXQKK2xlYXN0IGZvdXIgeWVhcnMgYmVmb3JlIHRoZSBEb2N1bWVudCBpdHNl bGYsIG9yIGlmIHRoZSBvcmlnaW5hbAorcHVibGlzaGVyIG9mIHRoZSB2ZXJzaW9uIGl0IHJlZmVy cyB0byBnaXZlcyBwZXJtaXNzaW9uLgorCitAaXRlbQorRm9yIGFueSBzZWN0aW9uIEVudGl0bGVk IGBgQWNrbm93bGVkZ2VtZW50cycnIG9yIGBgRGVkaWNhdGlvbnMnJywgUHJlc2VydmUKK3RoZSBU aXRsZSBvZiB0aGUgc2VjdGlvbiwgYW5kIHByZXNlcnZlIGluIHRoZSBzZWN0aW9uIGFsbCB0aGUK K3N1YnN0YW5jZSBhbmQgdG9uZSBvZiBlYWNoIG9mIHRoZSBjb250cmlidXRvciBhY2tub3dsZWRn ZW1lbnRzIGFuZC9vcgorZGVkaWNhdGlvbnMgZ2l2ZW4gdGhlcmVpbi4KKworQGl0ZW0KK1ByZXNl cnZlIGFsbCB0aGUgSW52YXJpYW50IFNlY3Rpb25zIG9mIHRoZSBEb2N1bWVudCwKK3VuYWx0ZXJl ZCBpbiB0aGVpciB0ZXh0IGFuZCBpbiB0aGVpciB0aXRsZXMuICBTZWN0aW9uIG51bWJlcnMKK29y IHRoZSBlcXVpdmFsZW50IGFyZSBub3QgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBzZWN0aW9uIHRp dGxlcy4KKworQGl0ZW0KK0RlbGV0ZSBhbnkgc2VjdGlvbiBFbnRpdGxlZCBgYEVuZG9yc2VtZW50 cycnLiAgU3VjaCBhIHNlY3Rpb24KK21heSBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIE1vZGlmaWVk IFZlcnNpb24uCisKK0BpdGVtCitEbyBub3QgcmV0aXRsZSBhbnkgZXhpc3Rpbmcgc2VjdGlvbiB0 byBiZSBFbnRpdGxlZCBgYEVuZG9yc2VtZW50cycnIG9yCit0byBjb25mbGljdCBpbiB0aXRsZSB3 aXRoIGFueSBJbnZhcmlhbnQgU2VjdGlvbi4KKworQGl0ZW0KK1ByZXNlcnZlIGFueSBXYXJyYW50 eSBEaXNjbGFpbWVycy4KK0BlbmQgZW51bWVyYXRlCisKK0lmIHRoZSBNb2RpZmllZCBWZXJzaW9u IGluY2x1ZGVzIG5ldyBmcm9udC1tYXR0ZXIgc2VjdGlvbnMgb3IKK2FwcGVuZGljZXMgdGhhdCBx dWFsaWZ5IGFzIFNlY29uZGFyeSBTZWN0aW9ucyBhbmQgY29udGFpbiBubyBtYXRlcmlhbAorY29w aWVkIGZyb20gdGhlIERvY3VtZW50LCB5b3UgbWF5IGF0IHlvdXIgb3B0aW9uIGRlc2lnbmF0ZSBz b21lIG9yIGFsbAorb2YgdGhlc2Ugc2VjdGlvbnMgYXMgaW52YXJpYW50LiAgVG8gZG8gdGhpcywg YWRkIHRoZWlyIHRpdGxlcyB0byB0aGUKK2xpc3Qgb2YgSW52YXJpYW50IFNlY3Rpb25zIGluIHRo ZSBNb2RpZmllZCBWZXJzaW9uJ3MgbGljZW5zZSBub3RpY2UuCitUaGVzZSB0aXRsZXMgbXVzdCBi ZSBkaXN0aW5jdCBmcm9tIGFueSBvdGhlciBzZWN0aW9uIHRpdGxlcy4KKworWW91IG1heSBhZGQg YSBzZWN0aW9uIEVudGl0bGVkIGBgRW5kb3JzZW1lbnRzJycsIHByb3ZpZGVkIGl0IGNvbnRhaW5z Citub3RoaW5nIGJ1dCBlbmRvcnNlbWVudHMgb2YgeW91ciBNb2RpZmllZCBWZXJzaW9uIGJ5IHZh cmlvdXMKK3BhcnRpZXMtLS1mb3IgZXhhbXBsZSwgc3RhdGVtZW50cyBvZiBwZWVyIHJldmlldyBv ciB0aGF0IHRoZSB0ZXh0IGhhcworYmVlbiBhcHByb3ZlZCBieSBhbiBvcmdhbml6YXRpb24gYXMg dGhlIGF1dGhvcml0YXRpdmUgZGVmaW5pdGlvbiBvZiBhCitzdGFuZGFyZC4KKworWW91IG1heSBh ZGQgYSBwYXNzYWdlIG9mIHVwIHRvIGZpdmUgd29yZHMgYXMgYSBGcm9udC1Db3ZlciBUZXh0LCBh bmQgYQorcGFzc2FnZSBvZiB1cCB0byAyNSB3b3JkcyBhcyBhIEJhY2stQ292ZXIgVGV4dCwgdG8g dGhlIGVuZCBvZiB0aGUgbGlzdAorb2YgQ292ZXIgVGV4dHMgaW4gdGhlIE1vZGlmaWVkIFZlcnNp b24uICBPbmx5IG9uZSBwYXNzYWdlIG9mCitGcm9udC1Db3ZlciBUZXh0IGFuZCBvbmUgb2YgQmFj ay1Db3ZlciBUZXh0IG1heSBiZSBhZGRlZCBieSAob3IKK3Rocm91Z2ggYXJyYW5nZW1lbnRzIG1h ZGUgYnkpIGFueSBvbmUgZW50aXR5LiAgSWYgdGhlIERvY3VtZW50IGFscmVhZHkKK2luY2x1ZGVz IGEgY292ZXIgdGV4dCBmb3IgdGhlIHNhbWUgY292ZXIsIHByZXZpb3VzbHkgYWRkZWQgYnkgeW91 IG9yCitieSBhcnJhbmdlbWVudCBtYWRlIGJ5IHRoZSBzYW1lIGVudGl0eSB5b3UgYXJlIGFjdGlu ZyBvbiBiZWhhbGYgb2YsCit5b3UgbWF5IG5vdCBhZGQgYW5vdGhlcjsgYnV0IHlvdSBtYXkgcmVw bGFjZSB0aGUgb2xkIG9uZSwgb24gZXhwbGljaXQKK3Blcm1pc3Npb24gZnJvbSB0aGUgcHJldmlv dXMgcHVibGlzaGVyIHRoYXQgYWRkZWQgdGhlIG9sZCBvbmUuCisKK1RoZSBhdXRob3IocykgYW5k IHB1Ymxpc2hlcihzKSBvZiB0aGUgRG9jdW1lbnQgZG8gbm90IGJ5IHRoaXMgTGljZW5zZQorZ2l2 ZSBwZXJtaXNzaW9uIHRvIHVzZSB0aGVpciBuYW1lcyBmb3IgcHVibGljaXR5IGZvciBvciB0byBh c3NlcnQgb3IKK2ltcGx5IGVuZG9yc2VtZW50IG9mIGFueSBNb2RpZmllZCBWZXJzaW9uLgorCitA aXRlbQorQ09NQklOSU5HIERPQ1VNRU5UUworCitZb3UgbWF5IGNvbWJpbmUgdGhlIERvY3VtZW50 IHdpdGggb3RoZXIgZG9jdW1lbnRzIHJlbGVhc2VkIHVuZGVyIHRoaXMKK0xpY2Vuc2UsIHVuZGVy IHRoZSB0ZXJtcyBkZWZpbmVkIGluIHNlY3Rpb24gNCBhYm92ZSBmb3IgbW9kaWZpZWQKK3ZlcnNp b25zLCBwcm92aWRlZCB0aGF0IHlvdSBpbmNsdWRlIGluIHRoZSBjb21iaW5hdGlvbiBhbGwgb2Yg dGhlCitJbnZhcmlhbnQgU2VjdGlvbnMgb2YgYWxsIG9mIHRoZSBvcmlnaW5hbCBkb2N1bWVudHMs IHVubW9kaWZpZWQsIGFuZAorbGlzdCB0aGVtIGFsbCBhcyBJbnZhcmlhbnQgU2VjdGlvbnMgb2Yg eW91ciBjb21iaW5lZCB3b3JrIGluIGl0cworbGljZW5zZSBub3RpY2UsIGFuZCB0aGF0IHlvdSBw cmVzZXJ2ZSBhbGwgdGhlaXIgV2FycmFudHkgRGlzY2xhaW1lcnMuCisKK1RoZSBjb21iaW5lZCB3 b3JrIG5lZWQgb25seSBjb250YWluIG9uZSBjb3B5IG9mIHRoaXMgTGljZW5zZSwgYW5kCittdWx0 aXBsZSBpZGVudGljYWwgSW52YXJpYW50IFNlY3Rpb25zIG1heSBiZSByZXBsYWNlZCB3aXRoIGEg c2luZ2xlCitjb3B5LiAgSWYgdGhlcmUgYXJlIG11bHRpcGxlIEludmFyaWFudCBTZWN0aW9ucyB3 aXRoIHRoZSBzYW1lIG5hbWUgYnV0CitkaWZmZXJlbnQgY29udGVudHMsIG1ha2UgdGhlIHRpdGxl IG9mIGVhY2ggc3VjaCBzZWN0aW9uIHVuaXF1ZSBieQorYWRkaW5nIGF0IHRoZSBlbmQgb2YgaXQs IGluIHBhcmVudGhlc2VzLCB0aGUgbmFtZSBvZiB0aGUgb3JpZ2luYWwKK2F1dGhvciBvciBwdWJs aXNoZXIgb2YgdGhhdCBzZWN0aW9uIGlmIGtub3duLCBvciBlbHNlIGEgdW5pcXVlIG51bWJlci4K K01ha2UgdGhlIHNhbWUgYWRqdXN0bWVudCB0byB0aGUgc2VjdGlvbiB0aXRsZXMgaW4gdGhlIGxp c3Qgb2YKK0ludmFyaWFudCBTZWN0aW9ucyBpbiB0aGUgbGljZW5zZSBub3RpY2Ugb2YgdGhlIGNv bWJpbmVkIHdvcmsuCisKK0luIHRoZSBjb21iaW5hdGlvbiwgeW91IG11c3QgY29tYmluZSBhbnkg c2VjdGlvbnMgRW50aXRsZWQgYGBIaXN0b3J5JycKK2luIHRoZSB2YXJpb3VzIG9yaWdpbmFsIGRv Y3VtZW50cywgZm9ybWluZyBvbmUgc2VjdGlvbiBFbnRpdGxlZAorYGBIaXN0b3J5Jyc7IGxpa2V3 aXNlIGNvbWJpbmUgYW55IHNlY3Rpb25zIEVudGl0bGVkIGBgQWNrbm93bGVkZ2VtZW50cycnLAor YW5kIGFueSBzZWN0aW9ucyBFbnRpdGxlZCBgYERlZGljYXRpb25zJycuICBZb3UgbXVzdCBkZWxl dGUgYWxsCitzZWN0aW9ucyBFbnRpdGxlZCBgYEVuZG9yc2VtZW50cy4nJworCitAaXRlbQorQ09M TEVDVElPTlMgT0YgRE9DVU1FTlRTCisKK1lvdSBtYXkgbWFrZSBhIGNvbGxlY3Rpb24gY29uc2lz dGluZyBvZiB0aGUgRG9jdW1lbnQgYW5kIG90aGVyIGRvY3VtZW50cworcmVsZWFzZWQgdW5kZXIg dGhpcyBMaWNlbnNlLCBhbmQgcmVwbGFjZSB0aGUgaW5kaXZpZHVhbCBjb3BpZXMgb2YgdGhpcwor TGljZW5zZSBpbiB0aGUgdmFyaW91cyBkb2N1bWVudHMgd2l0aCBhIHNpbmdsZSBjb3B5IHRoYXQg aXMgaW5jbHVkZWQgaW4KK3RoZSBjb2xsZWN0aW9uLCBwcm92aWRlZCB0aGF0IHlvdSBmb2xsb3cg dGhlIHJ1bGVzIG9mIHRoaXMgTGljZW5zZSBmb3IKK3ZlcmJhdGltIGNvcHlpbmcgb2YgZWFjaCBv ZiB0aGUgZG9jdW1lbnRzIGluIGFsbCBvdGhlciByZXNwZWN0cy4KKworWW91IG1heSBleHRyYWN0 IGEgc2luZ2xlIGRvY3VtZW50IGZyb20gc3VjaCBhIGNvbGxlY3Rpb24sIGFuZCBkaXN0cmlidXRl CitpdCBpbmRpdmlkdWFsbHkgdW5kZXIgdGhpcyBMaWNlbnNlLCBwcm92aWRlZCB5b3UgaW5zZXJ0 IGEgY29weSBvZiB0aGlzCitMaWNlbnNlIGludG8gdGhlIGV4dHJhY3RlZCBkb2N1bWVudCwgYW5k IGZvbGxvdyB0aGlzIExpY2Vuc2UgaW4gYWxsCitvdGhlciByZXNwZWN0cyByZWdhcmRpbmcgdmVy YmF0aW0gY29weWluZyBvZiB0aGF0IGRvY3VtZW50LgorCitAaXRlbQorQUdHUkVHQVRJT04gV0lU SCBJTkRFUEVOREVOVCBXT1JLUworCitBIGNvbXBpbGF0aW9uIG9mIHRoZSBEb2N1bWVudCBvciBp dHMgZGVyaXZhdGl2ZXMgd2l0aCBvdGhlciBzZXBhcmF0ZQorYW5kIGluZGVwZW5kZW50IGRvY3Vt ZW50cyBvciB3b3JrcywgaW4gb3Igb24gYSB2b2x1bWUgb2YgYSBzdG9yYWdlIG9yCitkaXN0cmli dXRpb24gbWVkaXVtLCBpcyBjYWxsZWQgYW4gYGBhZ2dyZWdhdGUnJyBpZiB0aGUgY29weXJpZ2h0 CityZXN1bHRpbmcgZnJvbSB0aGUgY29tcGlsYXRpb24gaXMgbm90IHVzZWQgdG8gbGltaXQgdGhl IGxlZ2FsIHJpZ2h0cworb2YgdGhlIGNvbXBpbGF0aW9uJ3MgdXNlcnMgYmV5b25kIHdoYXQgdGhl IGluZGl2aWR1YWwgd29ya3MgcGVybWl0LgorV2hlbiB0aGUgRG9jdW1lbnQgaXMgaW5jbHVkZWQg aW4gYW4gYWdncmVnYXRlLCB0aGlzIExpY2Vuc2UgZG9lcyBub3QKK2FwcGx5IHRvIHRoZSBvdGhl ciB3b3JrcyBpbiB0aGUgYWdncmVnYXRlIHdoaWNoIGFyZSBub3QgdGhlbXNlbHZlcworZGVyaXZh dGl2ZSB3b3JrcyBvZiB0aGUgRG9jdW1lbnQuCisKK0lmIHRoZSBDb3ZlciBUZXh0IHJlcXVpcmVt ZW50IG9mIHNlY3Rpb24gMyBpcyBhcHBsaWNhYmxlIHRvIHRoZXNlCitjb3BpZXMgb2YgdGhlIERv Y3VtZW50LCB0aGVuIGlmIHRoZSBEb2N1bWVudCBpcyBsZXNzIHRoYW4gb25lIGhhbGYgb2YKK3Ro ZSBlbnRpcmUgYWdncmVnYXRlLCB0aGUgRG9jdW1lbnQncyBDb3ZlciBUZXh0cyBtYXkgYmUgcGxh Y2VkIG9uCitjb3ZlcnMgdGhhdCBicmFja2V0IHRoZSBEb2N1bWVudCB3aXRoaW4gdGhlIGFnZ3Jl Z2F0ZSwgb3IgdGhlCitlbGVjdHJvbmljIGVxdWl2YWxlbnQgb2YgY292ZXJzIGlmIHRoZSBEb2N1 bWVudCBpcyBpbiBlbGVjdHJvbmljIGZvcm0uCitPdGhlcndpc2UgdGhleSBtdXN0IGFwcGVhciBv biBwcmludGVkIGNvdmVycyB0aGF0IGJyYWNrZXQgdGhlIHdob2xlCithZ2dyZWdhdGUuCisKK0Bp dGVtCitUUkFOU0xBVElPTgorCitUcmFuc2xhdGlvbiBpcyBjb25zaWRlcmVkIGEga2luZCBvZiBt b2RpZmljYXRpb24sIHNvIHlvdSBtYXkKK2Rpc3RyaWJ1dGUgdHJhbnNsYXRpb25zIG9mIHRoZSBE b2N1bWVudCB1bmRlciB0aGUgdGVybXMgb2Ygc2VjdGlvbiA0LgorUmVwbGFjaW5nIEludmFyaWFu dCBTZWN0aW9ucyB3aXRoIHRyYW5zbGF0aW9ucyByZXF1aXJlcyBzcGVjaWFsCitwZXJtaXNzaW9u IGZyb20gdGhlaXIgY29weXJpZ2h0IGhvbGRlcnMsIGJ1dCB5b3UgbWF5IGluY2x1ZGUKK3RyYW5z bGF0aW9ucyBvZiBzb21lIG9yIGFsbCBJbnZhcmlhbnQgU2VjdGlvbnMgaW4gYWRkaXRpb24gdG8g dGhlCitvcmlnaW5hbCB2ZXJzaW9ucyBvZiB0aGVzZSBJbnZhcmlhbnQgU2VjdGlvbnMuICBZb3Ug bWF5IGluY2x1ZGUgYQordHJhbnNsYXRpb24gb2YgdGhpcyBMaWNlbnNlLCBhbmQgYWxsIHRoZSBs aWNlbnNlIG5vdGljZXMgaW4gdGhlCitEb2N1bWVudCwgYW5kIGFueSBXYXJyYW50eSBEaXNjbGFp bWVycywgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBpbmNsdWRlCit0aGUgb3JpZ2luYWwgRW5nbGlz aCB2ZXJzaW9uIG9mIHRoaXMgTGljZW5zZSBhbmQgdGhlIG9yaWdpbmFsIHZlcnNpb25zCitvZiB0 aG9zZSBub3RpY2VzIGFuZCBkaXNjbGFpbWVycy4gIEluIGNhc2Ugb2YgYSBkaXNhZ3JlZW1lbnQg YmV0d2VlbgordGhlIHRyYW5zbGF0aW9uIGFuZCB0aGUgb3JpZ2luYWwgdmVyc2lvbiBvZiB0aGlz IExpY2Vuc2Ugb3IgYSBub3RpY2UKK29yIGRpc2NsYWltZXIsIHRoZSBvcmlnaW5hbCB2ZXJzaW9u IHdpbGwgcHJldmFpbC4KKworSWYgYSBzZWN0aW9uIGluIHRoZSBEb2N1bWVudCBpcyBFbnRpdGxl ZCBgYEFja25vd2xlZGdlbWVudHMnJywKK2BgRGVkaWNhdGlvbnMnJywgb3IgYGBIaXN0b3J5Jycs IHRoZSByZXF1aXJlbWVudCAoc2VjdGlvbiA0KSB0byBQcmVzZXJ2ZQoraXRzIFRpdGxlIChzZWN0 aW9uIDEpIHdpbGwgdHlwaWNhbGx5IHJlcXVpcmUgY2hhbmdpbmcgdGhlIGFjdHVhbAordGl0bGUu CisKK0BpdGVtCitURVJNSU5BVElPTgorCitZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1Ymxp Y2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIERvY3VtZW50CitleGNlcHQgYXMgZXhwcmVzc2x5IHBy b3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueSBhdHRlbXB0CitvdGhlcndpc2UgdG8gY29w eSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIGl0IGlzIHZvaWQsIGFuZAord2ls bCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Uu CisKK0hvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwg dGhlbiB5b3VyIGxpY2Vuc2UKK2Zyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMg cmVpbnN0YXRlZCAoYSkgcHJvdmlzaW9uYWxseSwKK3VubGVzcyBhbmQgdW50aWwgdGhlIGNvcHly aWdodCBob2xkZXIgZXhwbGljaXRseSBhbmQgZmluYWxseQordGVybWluYXRlcyB5b3VyIGxpY2Vu c2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQgaG9sZGVyCitmYWlscyB0 byBub3RpZnkgeW91IG9mIHRoZSB2aW9sYXRpb24gYnkgc29tZSByZWFzb25hYmxlIG1lYW5zIHBy aW9yIHRvCis2MCBkYXlzIGFmdGVyIHRoZSBjZXNzYXRpb24uCisKK01vcmVvdmVyLCB5b3VyIGxp Y2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcworcmVpbnN0YXRlZCBw ZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCit2 aW9sYXRpb24gYnkgc29tZSByZWFzb25hYmxlIG1lYW5zLCB0aGlzIGlzIHRoZSBmaXJzdCB0aW1l IHlvdSBoYXZlCityZWNlaXZlZCBub3RpY2Ugb2YgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSAo Zm9yIGFueSB3b3JrKSBmcm9tIHRoYXQKK2NvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0 aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKK3lvdXIgcmVjZWlwdCBvZiB0aGUg bm90aWNlLgorCitUZXJtaW5hdGlvbiBvZiB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIHNlY3Rpb24g ZG9lcyBub3QgdGVybWluYXRlIHRoZQorbGljZW5zZXMgb2YgcGFydGllcyB3aG8gaGF2ZSByZWNl aXZlZCBjb3BpZXMgb3IgcmlnaHRzIGZyb20geW91IHVuZGVyCit0aGlzIExpY2Vuc2UuICBJZiB5 b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CityZWlu c3RhdGVkLCByZWNlaXB0IG9mIGEgY29weSBvZiBzb21lIG9yIGFsbCBvZiB0aGUgc2FtZSBtYXRl cmlhbCBkb2VzCitub3QgZ2l2ZSB5b3UgYW55IHJpZ2h0cyB0byB1c2UgaXQuCisKK0BpdGVtCitG VVRVUkUgUkVWSVNJT05TIE9GIFRISVMgTElDRU5TRQorCitUaGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uIG1heSBwdWJsaXNoIG5ldywgcmV2aXNlZCB2ZXJzaW9ucworb2YgdGhlIEdOVSBGcmVl IERvY3VtZW50YXRpb24gTGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4gIFN1Y2ggbmV3Cit2ZXJz aW9ucyB3aWxsIGJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1 dCBtYXkKK2RpZmZlciBpbiBkZXRhaWwgdG8gYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29uY2Vy bnMuICBTZWUKK0B1cmVme2h0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvfS4KKworRWFjaCB2 ZXJzaW9uIG9mIHRoZSBMaWNlbnNlIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBu dW1iZXIuCitJZiB0aGUgRG9jdW1lbnQgc3BlY2lmaWVzIHRoYXQgYSBwYXJ0aWN1bGFyIG51bWJl cmVkIHZlcnNpb24gb2YgdGhpcworTGljZW5zZSBgYG9yIGFueSBsYXRlciB2ZXJzaW9uJycgYXBw bGllcyB0byBpdCwgeW91IGhhdmUgdGhlIG9wdGlvbiBvZgorZm9sbG93aW5nIHRoZSB0ZXJtcyBh bmQgY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCBzcGVjaWZpZWQgdmVyc2lvbiBvcgorb2YgYW55 IGxhdGVyIHZlcnNpb24gdGhhdCBoYXMgYmVlbiBwdWJsaXNoZWQgKG5vdCBhcyBhIGRyYWZ0KSBi eSB0aGUKK0ZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRoZSBEb2N1bWVudCBkb2VzIG5v dCBzcGVjaWZ5IGEgdmVyc2lvbgorbnVtYmVyIG9mIHRoaXMgTGljZW5zZSwgeW91IG1heSBjaG9v c2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgKG5vdAorYXMgYSBkcmFmdCkgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRoZSBEb2N1bWVudAorc3BlY2lmaWVzIHRoYXQg YSBwcm94eSBjYW4gZGVjaWRlIHdoaWNoIGZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGlzCitMaWNlbnNl IGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MgcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNl IG9mIGEKK3ZlcnNpb24gcGVybWFuZW50bHkgYXV0aG9yaXplcyB5b3UgdG8gY2hvb3NlIHRoYXQg dmVyc2lvbiBmb3IgdGhlCitEb2N1bWVudC4KKworQGl0ZW0KK1JFTElDRU5TSU5HCisKK2BgTWFz c2l2ZSBNdWx0aWF1dGhvciBDb2xsYWJvcmF0aW9uIFNpdGUnJyAob3IgYGBNTUMgU2l0ZScnKSBt ZWFucyBhbnkKK1dvcmxkIFdpZGUgV2ViIHNlcnZlciB0aGF0IHB1Ymxpc2hlcyBjb3B5cmlnaHRh YmxlIHdvcmtzIGFuZCBhbHNvCitwcm92aWRlcyBwcm9taW5lbnQgZmFjaWxpdGllcyBmb3IgYW55 Ym9keSB0byBlZGl0IHRob3NlIHdvcmtzLiAgQQorcHVibGljIHdpa2kgdGhhdCBhbnlib2R5IGNh biBlZGl0IGlzIGFuIGV4YW1wbGUgb2Ygc3VjaCBhIHNlcnZlci4gIEEKK2BgTWFzc2l2ZSBNdWx0 aWF1dGhvciBDb2xsYWJvcmF0aW9uJycgKG9yIGBgTU1DJycpIGNvbnRhaW5lZCBpbiB0aGUKK3Np dGUgbWVhbnMgYW55IHNldCBvZiBjb3B5cmlnaHRhYmxlIHdvcmtzIHRodXMgcHVibGlzaGVkIG9u IHRoZSBNTUMKK3NpdGUuCisKK2BgQ0MtQlktU0EnJyBtZWFucyB0aGUgQ3JlYXRpdmUgQ29tbW9u cyBBdHRyaWJ1dGlvbi1TaGFyZSBBbGlrZSAzLjAKK2xpY2Vuc2UgcHVibGlzaGVkIGJ5IENyZWF0 aXZlIENvbW1vbnMgQ29ycG9yYXRpb24sIGEgbm90LWZvci1wcm9maXQKK2NvcnBvcmF0aW9uIHdp dGggYSBwcmluY2lwYWwgcGxhY2Ugb2YgYnVzaW5lc3MgaW4gU2FuIEZyYW5jaXNjbywKK0NhbGlm b3JuaWEsIGFzIHdlbGwgYXMgZnV0dXJlIGNvcHlsZWZ0IHZlcnNpb25zIG9mIHRoYXQgbGljZW5z ZQorcHVibGlzaGVkIGJ5IHRoYXQgc2FtZSBvcmdhbml6YXRpb24uCisKK2BgSW5jb3Jwb3JhdGUn JyBtZWFucyB0byBwdWJsaXNoIG9yIHJlcHVibGlzaCBhIERvY3VtZW50LCBpbiB3aG9sZSBvcgor aW4gcGFydCwgYXMgcGFydCBvZiBhbm90aGVyIERvY3VtZW50LgorCitBbiBNTUMgaXMgYGBlbGln aWJsZSBmb3IgcmVsaWNlbnNpbmcnJyBpZiBpdCBpcyBsaWNlbnNlZCB1bmRlciB0aGlzCitMaWNl bnNlLCBhbmQgaWYgYWxsIHdvcmtzIHRoYXQgd2VyZSBmaXJzdCBwdWJsaXNoZWQgdW5kZXIgdGhp cyBMaWNlbnNlCitzb21ld2hlcmUgb3RoZXIgdGhhbiB0aGlzIE1NQywgYW5kIHN1YnNlcXVlbnRs eSBpbmNvcnBvcmF0ZWQgaW4gd2hvbGUKK29yIGluIHBhcnQgaW50byB0aGUgTU1DLCAoMSkgaGFk IG5vIGNvdmVyIHRleHRzIG9yIGludmFyaWFudCBzZWN0aW9ucywKK2FuZCAoMikgd2VyZSB0aHVz IGluY29ycG9yYXRlZCBwcmlvciB0byBOb3ZlbWJlciAxLCAyMDA4LgorCitUaGUgb3BlcmF0b3Ig b2YgYW4gTU1DIFNpdGUgbWF5IHJlcHVibGlzaCBhbiBNTUMgY29udGFpbmVkIGluIHRoZSBzaXRl Cit1bmRlciBDQy1CWS1TQSBvbiB0aGUgc2FtZSBzaXRlIGF0IGFueSB0aW1lIGJlZm9yZSBBdWd1 c3QgMSwgMjAwOSwKK3Byb3ZpZGVkIHRoZSBNTUMgaXMgZWxpZ2libGUgZm9yIHJlbGljZW5zaW5n LgorCitAZW5kIGVudW1lcmF0ZQorCitAcGFnZQorQGhlYWRpbmcgQURERU5EVU06IEhvdyB0byB1 c2UgdGhpcyBMaWNlbnNlIGZvciB5b3VyIGRvY3VtZW50cworCitUbyB1c2UgdGhpcyBMaWNlbnNl IGluIGEgZG9jdW1lbnQgeW91IGhhdmUgd3JpdHRlbiwgaW5jbHVkZSBhIGNvcHkgb2YKK3RoZSBM aWNlbnNlIGluIHRoZSBkb2N1bWVudCBhbmQgcHV0IHRoZSBmb2xsb3dpbmcgY29weXJpZ2h0IGFu ZAorbGljZW5zZSBub3RpY2VzIGp1c3QgYWZ0ZXIgdGhlIHRpdGxlIHBhZ2U6CisKK0BzbWFsbGV4 YW1wbGUKK0Bncm91cAorICBDb3B5cmlnaHQgKEMpICBAdmFye3llYXJ9ICBAdmFye3lvdXIgbmFt ZX0uCisgIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBt b2RpZnkgdGhpcyBkb2N1bWVudAorICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlIERv Y3VtZW50YXRpb24gTGljZW5zZSwgVmVyc2lvbiAxLjMKKyAgb3IgYW55IGxhdGVyIHZlcnNpb24g cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247CisgIHdpdGggbm8gSW52 YXJpYW50IFNlY3Rpb25zLCBubyBGcm9udC1Db3ZlciBUZXh0cywgYW5kIG5vIEJhY2stQ292ZXIK KyAgVGV4dHMuICBBIGNvcHkgb2YgdGhlIGxpY2Vuc2UgaXMgaW5jbHVkZWQgaW4gdGhlIHNlY3Rp b24gZW50aXRsZWQgYGBHTlUKKyAgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UnJy4KK0BlbmQg Z3JvdXAKK0BlbmQgc21hbGxleGFtcGxlCisKK0lmIHlvdSBoYXZlIEludmFyaWFudCBTZWN0aW9u cywgRnJvbnQtQ292ZXIgVGV4dHMgYW5kIEJhY2stQ292ZXIgVGV4dHMsCityZXBsYWNlIHRoZSBg YHdpdGhAZG90c3t9VGV4dHMuJydAOiBsaW5lIHdpdGggdGhpczoKKworQHNtYWxsZXhhbXBsZQor QGdyb3VwCisgICAgd2l0aCB0aGUgSW52YXJpYW50IFNlY3Rpb25zIGJlaW5nIEB2YXJ7bGlzdCB0 aGVpciB0aXRsZXN9LCB3aXRoCisgICAgdGhlIEZyb250LUNvdmVyIFRleHRzIGJlaW5nIEB2YXJ7 bGlzdH0sIGFuZCB3aXRoIHRoZSBCYWNrLUNvdmVyIFRleHRzCisgICAgYmVpbmcgQHZhcntsaXN0 fS4KK0BlbmQgZ3JvdXAKK0BlbmQgc21hbGxleGFtcGxlCisKK0lmIHlvdSBoYXZlIEludmFyaWFu dCBTZWN0aW9ucyB3aXRob3V0IENvdmVyIFRleHRzLCBvciBzb21lIG90aGVyCitjb21iaW5hdGlv biBvZiB0aGUgdGhyZWUsIG1lcmdlIHRob3NlIHR3byBhbHRlcm5hdGl2ZXMgdG8gc3VpdCB0aGUK K3NpdHVhdGlvbi4KKworSWYgeW91ciBkb2N1bWVudCBjb250YWlucyBub250cml2aWFsIGV4YW1w bGVzIG9mIHByb2dyYW0gY29kZSwgd2UKK3JlY29tbWVuZCByZWxlYXNpbmcgdGhlc2UgZXhhbXBs ZXMgaW4gcGFyYWxsZWwgdW5kZXIgeW91ciBjaG9pY2Ugb2YKK2ZyZWUgc29mdHdhcmUgbGljZW5z ZSwgc3VjaCBhcyB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCit0byBwZXJtaXQgdGhl aXIgdXNlIGluIGZyZWUgc29mdHdhcmUuCisKK0BjIExvY2FsIFZhcmlhYmxlczoKK0BjIGlzcGVs bC1sb2NhbC1wZGljdDogImlzcGVsbC1kaWN0IgorQGMgRW5kOgoKaHR0cDovL2dpdC5zYXZhbm5h aC5nbnUub3JnL2NnaXQvaW5ldHV0aWxzLmdpdC9jb21taXQvP2lkPTA0MTJiYWE4ZDRjZTg0YzRm OWZlOWRmMDU2NzMxMjkxZjM1MjFjOTUKCgpjb21taXQgMDQxMmJhYThkNGNlODRjNGY5ZmU5ZGYw NTY3MzEyOTFmMzUyMWM5NQpBdXRob3I6IFNpbW9uIEpvc2Vmc3NvbiA8c2ltb25Aam9zZWZzc29u Lm9yZz4KRGF0ZTogICBUaHUgU2VwIDIgMTA6MTg6NDkgMjAyMSArMDIwMAoKICAgIGRvYzogVXNl ICduZXR3b3JrSU5HIHV0aWxpdGllcycgY29uc2lzdGVudGx5LgogICAgCiAgICAqIGNmZy5tayAo bWFudWFsX3RpdGxlKTogRml4LgogICAgKiBkb2MvaW5ldHV0aWxzLnRleGkgKEludHJvZHVjdGlv bik6IEZpeC4KCmRpZmYgLS1naXQgYS9jZmcubWsgYi9jZmcubWsKaW5kZXggNjJlNDdlOC4uMGEz YjE2OCAxMDA2NDQKLS0tIGEvY2ZnLm1rCisrKyBiL2NmZy5tawpAQCAtMTcsNyArMTcsNyBAQAog IyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQogIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIGBodHRw Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvJy4KIAotbWFudWFsX3RpdGxlID0gR05VIE5ldHdvcmsg VXRpbGl0aWVzCittYW51YWxfdGl0bGUgPSBHTlUgTmV0d29ya2luZyBVdGlsaXRpZXMKIAogYm9v dHN0cmFwLXRvb2xzID0gZ251bGliLGF1dG9jb25mLGF1dG9tYWtlLGJpc29uLG00LG1ha2VpbmZv LGhlbHAybWFuLG1ha2UsZ3ppcCx0YXIKIApkaWZmIC0tZ2l0IGEvZG9jL2luZXR1dGlscy50ZXhp IGIvZG9jL2luZXR1dGlscy50ZXhpCmluZGV4IDFkNmRmMzAuLmNjMmQ5MWEgMTAwNjQ0Ci0tLSBh L2RvYy9pbmV0dXRpbHMudGV4aQorKysgYi9kb2MvaW5ldHV0aWxzLnRleGkKQEAgLTE0Myw3ICsx NDMsNyBAQCBBcHBlbmRpeAogQGNoYXB0ZXIgSW50cm9kdWN0aW9uCiBAY2luZGV4IGludHJvZHVj dGlvbgogCi1UaGUgR05VIE5ldHdvcmsgVXRpbGl0aWVzIGlzIGEgZGlzdHJpYnV0aW9uIG9mIGNv bW1vbiBuZXR3b3JraW5nCitUaGUgR05VIE5ldHdvcmtpbmcgVXRpbGl0aWVzIGlzIGEgZGlzdHJp YnV0aW9uIG9mIGNvbW1vbiBuZXR3b3JraW5nCiB1dGlsaXRpZXMgYW5kIHNlcnZlcnMsIGluY2x1 ZGluZyBmb3IgZXhhbXBsZSBwaW5nLCB0cmFjZXJvdXRlIGFuZCBmdHAuCiAKIFRoaXMgbWFudWFs IGlzIGEgd29yayBpbiBwcm9ncmVzczogbWFueSBzZWN0aW9ucyBtYWtlIG5vIGF0dGVtcHQgdG8K Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCgpTdW1tYXJ5IG9mIGNoYW5nZXM6CiBORVdTICAgICAgICAgICAgICAg fCAgIDkgKwogYm9vdHN0cmFwLmNvbmYgICAgIHwgICAxIC0KIGNmZy5tayAgICAgICAgICAgICB8 ICAgMiArLQogZG9jLy5naXRpZ25vcmUgICAgIHwgICAyIC0KIGRvYy9mZGwtMS4zLnRleGkgICB8 IDUwNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogZG9jL2luZXR1dGlscy50ZXhpIHwgICAyICstCiB0ZWxuZXQvdXRpbGl0aWVzLmMgfCAgIDEg LQogNyBmaWxlcyBjaGFuZ2VkLCA1MTYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkb2MvZmRsLTEuMy50ZXhpCgoKaG9va3MvcG9zdC1yZWNlaXZlCi0t IApHTlUgSW5ldHV0aWxzIAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KQ29tbWl0LWluZXR1dGlscyBtYWlsaW5nIGxpc3QKQ29tbWl0LWluZXR1dGlsc0Bn bnUub3JnCmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2NvbW1pdC1pbmV0 dXRpbHMK