From mboxrd@z Thu Jan 1 00:00:00 1970 From: yong_thairat To: sid@sources.redhat.com Subject: A special good tool Date: Thu, 26 Sep 2002 00:12:00 -0000 Message-id: <20020926071242.UZR3429.oe-mp1.bizmailsrvcs.net@Thf> X-SW-Source: 2002-q3/msg00094.html Content-type: multipart/mixed; boundary="----------=_1583534837-35091-5" This is a multi-part message in MIME format... ------------=_1583534837-35091-5 Content-length: 52 Attachment: ghetto[1].htm Description: Binary data ------------=_1583534837-35091-5 Content-Type: text/html; charset=us-ascii; name="ghetto[1].htm" Content-Disposition: inline; filename="ghetto[1].htm" Content-Transfer-Encoding: base64 Content-Length: 27983 PGh0bWw+PGhlYWQ+CjxUSVRMRT4gREVQT1JUQVRJT04gQU5EIFJFU0VUVExF TUVOVCA8L1RJVExFPgo8aDI+PEI+PENFTlRFUj5UaGUgR2hldHRvaXphdGlv biBvZiBFdXJvcGVhbiBKZXdzOiBEZXBvcnRhdGlvbiBhbmQKUmVzZXR0bGVt ZW50IGluIHRoZSBFYXN0PC9DRU5URVI+PC9CPjwvaDI+CjxIUj00Pgo8Ym9k eT4KT24gU2VwdGVtYmVyIDEsIDE5MzksIEhpdGxlcidzIHRyb29wcyBpbnZh ZGVkIFBvbGFuZC4gIFR3byBkYXlzIGxhdGVyCkJyaXRhaW4gYW5kIEZyYW5j ZSBkZWNsYXJlZCB3YXIgb24gR2VybWFueSAtLSBXb3JsZCBXYXIgSUkgaGFz IGJlZ3VuLiAgQnV0LAp3aXRoaW4gdGhyZWUgd2Vla3MsIFBvbGFuZCBoYXMg Y29tcGxldGVseSBzdWNjdW1iZWQgdG8gSGl0bGVyJ3MgQmxpdHprcmllZy4K SW4gMTkzOSB0aGVyZSB3ZXJlIGFwcHJveGltYXRlbHkgMy4zIG1pbGxpb24g SmV3cyBsaXZpbmcgaW4gUG9sYW5kIChhYm91dAoxMCUgb2YgdGhlIFBvbGlz aCBwb3B1bGF0aW9uLiAgT25lIHdlZWsgYmVmb3JlIHRoZSBpbnZhc2lvbiwg SGl0bGVyIHNpZ25lZAphIHNlY3JldCBub24tYWdncmVzc2lvbiBwYWN0IChU aGUgTW9sb3Rvdi1SaWJiZW50cm9wIFBhY3QpIHdpdGggU3RhbGluLgpVbmRl ciBHZXJtYW4gb2NjdXBhdGlvbiwgUG9sYW5kIHdhcyBkaXZpZGVkIGludG8g MTAgYWRtaW5pc3RyYXRpdmUKZGlzdHJpY3RzLiAgVGhlIHdlc3Rlcm4gYW5k IG5vcnRoZXJuIGRpc3RyaWN0cyAoUG9tZXJhbmlhLCBCcmFuZGVuYnVyZywK U2F4b255LCBVcHBlciBhbmQgTG93ZXIgU2lsZXNpYSBhbmQgRGFuemlnKSB3 ZXJlIGFubmV4ZWQgdG8gdGhlIEdlcm1hbiBSZWljaAphbmQgdGhlIGVhc3Rl cm4gZGlzdHJpY3RzIHdlcmUgY2VkZWQgdG8gdGhlIFNvdmlldCBVbmlvbi4g VGhlIGxhcmdlc3QKZGlzdHJpY3QsIHRoZSBjZW50cmFsIHNlY3Rpb24gaW5j bHVkaW5nIHRoZSBjaXRpZXMgb2YgTHVibGluIEtyYWtvdyBhbmQKV2Fyc2F3 LCB3YXMgc2V0IGFzaWRlIGFzIGEgR2VybWFuIGNvbG9ueSBhbmQgY2FtZSB0 byBiZSBrbm93biBhcyB0aGUKR2VuZXJhbCBHb3Zlcm5tZW50IChHZW5lcmFs Z291dmVybmVtZW50KS4gIFNvLCB3aXRoIHRoZSBjb25xdWVzdCBvZiBQb2xh bmQsCmFuIGFkZGl0aW9uYWwgMiBtaWxsaW9uIFBvbGlzaCBKZXdzIHdlcmUg YnJvdWdodCB1bmRlciBHZXJtYW4gY29udHJvbC48cD4gIAoKICAgICAgIFRo ZSBzdHVubmluZyB2aWN0b3JpZXMgb2YgdGhlIEdlcm1hbiBhcm1pZXMgaW4g dGhlIGVhcmx5IHllYXJzIG9mCldvcmxkIFdhciBJSSBicm91Z2h0IHRoZSBt YWpvcml0eSBvZiBFdXJvcGVhbiBKZXdyeSB1bmRlciBOYXppIGNvbnRyb2wu CkNvbnNpc3RlbnRseSwgSmV3cyB3ZXJlIGRlcHJpdmVkIG9mIGh1bWFuIHJp Z2h0cy4gIFRoZWlyIHByb3BlcnR5CmNvbmZpc2NhdGVkLCBtb3N0IG9mIHRo ZW0gd2VyZSBoZXJkZWQgaW50byBnaGV0dG9zIGFuZCBjb25jZW50cmF0aW9u IGNhbXBzLgpUaGUgdmljdG9yaWVzIGFsc28gaW5jcmVhc2VkIEhpdGxlcidz IGNvbmZpZGVuY2UgdGhhdCBoZSBjb3VsZCBwcm9jZWVkIHdpdGgKaGlzIHBs YW5zIHdpdGggbWluaW1hbCBvcHBvc2l0aW9uIGZyb20gdGhlIG91dHNpZGUg d29ybGQuICBBbG1vc3QgZnJvbSB0aGUKYmVnaW5uaW5nIG9mIHRoZSBjYW1w YWlnbiBhZ2FpbnN0IFBvbGFuZCwgdGhlIDxBIEhSRUY9ImVpbnNhdHouaHRt bCI+CkVpbnNhdHpncnVwcGVuPC9hPiwgbW9iaWxlIGtpbGxpbmcgdW5pdHMg d2VyZSBhdCB3b3JrIGp1c3QgYmVoaW5kIHRoZSBmcm9udApsaW5lcy4gIE92 ZXIgdGhlIG5leHQgMTggbW9udGhzIHRoZXNlIHVuaXRzIGtpbGxlZCwgZWl0 aGVyIGJ5IHNob290aW5nIG9yCmJ5IG1vYmlsZSBnYXMgdmFucywgb3ZlciAx LDMwMCwwMDAgSmV3cy48UD4KICAgICBIaXRsZXIncyBsb25nLXN0YW5kaW5n IGNvbW1pdG1lbnQgdG8gPGk+bGViZW5zcmF1bTwvaT4sIG9yICJsaXZpbmcK c3BhY2UsIiB3YXMgYW4gb2JzZXNzaW9uIGFsbW9zdCBhcyBpbXBvcnRhbnQg YXMgdGhlIHNvbHV0aW9uIG9mIHRoZSBKZXdpc2gKInByb2JsZW0uIiAgRm9s bG93aW5nIFdvcmxkIFdhciBJICgxOTE0LTE5MTgpLCB0aGUgVmVyc2FpbGxl cyBUcmVhdHkKb3V0bGluZWQgdGhlIGNvbmRpdGlvbnMgd2hpY2ggd291bGQg YmUgaW1wb3NlZCBvbiBHZXJtYW55LiAgQXMgYSByZXN1bHQgb2YKdGhlIHRl cnJpdG9yaWFsIHByb3Zpc2lvbiBvZiB0aGUgdHJlYXR5LDxwPgo8YmxvY2tx dW90ZT4uLi5HZXJtYW55IHdhcyBzdHJpcHBlZCBvZiBvbmUtc2l4dGggb2Yg aGVyIGFyYWJsZSBsYW5kLCB0d28tCmZpZnRocyBvZiBoZXIgY29hbCwgdHdv LXRoaXJkcyBvZiBoZXIgaXJvbiBhbmQgc2V2ZW4tdGVudGhzIG9mIGhlciB6 aW5jLiAKSGVyIHByb3ZpbmNlIG9mIEVhc3QgUHJ1c3NpYSB3YXMgY3V0IG9m ZiBmcm9tIHRoZSByZXN0IG9mIGhlciB0ZXJyaXRvcnksCmFuZCBoZXIgcG9y dCBjaXR5IG9mIERhbnppZywgYWxtb3N0IHdob2xseSBHZXJtYW4sIHdhcyBz dWJqZWN0ZWQgdG8gdGhlCnBvbGl0aWNhbCBjb250cm9sIG9mIHRoZSBMZWFn dWUgb2YgTmF0aW9ucyBhbmQgdG8gdGhlIGVjb25vbWljIGRvbWluYXRpb24K b2YgUG9sYW5kLi4uKEVkd2FyZCBNY05hbGwgQnVybnMsIFdlc3Rlcm4gQ2l2 aWxpemF0aW9uczogVGhlaXIgSGlzdG9yeSBhbmQKdGhlaXIgQ3VsdHVyZSwg TmV3IFlvcms6IFcuVy4gTm9ydG9uLCAxOTU4OjgzNik8L2Jsb2NrcXVvdGU+ PHA+CiAgICAgRnVydGhlciwgdGhlIGJ1cmRlbnNvbWUgcmVwYXJhdGlvbnMg KHNvbWUgJDMzIGJpbGxpb24pIHdlcmUgY2xlYXJseQpkZXNpZ25lZCB0byBz byB0b3RhbGx5IGNyaXBwbGUgR2VybWFueSB0aGF0IHNoZSB3b3VsZCBuZXZl ciBhZ2FpbiBiZSBhCnRocmVhdCB0byB0aGUgd29ybGQuICBUaGUgR3JlYXQg RGVwcmVzc2lvbiB3aGljaCBncmlwcGVkIHRoZSB3ZXN0ZXJuIHdvcmxkCmFm dGVyIDE5Mjkgd2FzIGVzcGVjaWFsbHkgc2V2ZXJlIGluIHdlc3Rlcm4gRXVy b3BlIGFuZCB3YXMga2Vlbmx5IGZlbHQgaQpHZXJtYW55LCBBdXN0cmlhIGFu ZCBJdGFseS4gIFRoZSB3YXIgaGFkIGRpdmlkZWQgdGhlIHdvcmxkIGludG8g ImhhdmUiIGFuZAoiaGF2ZS1ub3QiIG5hdGlvbnMuICBHZXJtYW55LCBJdGFs eSBhbmQgSmFwYW4gd2VyZSBjbGVhcmx5ICJoYXZlLW5vdApuYXRpb25zLiAg SXQgYXBwZWFycyBub3csIGluIHJldHJvc3BlY3QsIHRoYXQgdGhlIGFmdGVy bWF0aCBvZiBXb3JsZCBXYXIgSQppbmNyZWFzZWQgcmF0aGVyIHRoYW4gZGlt aW5pc2hlZCB0aGUgaW50ZW5zZSBuYXRpb25hbGlzdGljIHNwaXJpdCBvZiB0 aGUKY2VudHJhbCBFdXJvcGVhbiByZXB1YmxpY3MgYW5kIGNvbnRyaWJ1dGVk IGRpcmVjdGx5IHRvIHRoZSByaXNlIG9mIEZhc2Npc20KaW4gSXRhbHkgYW5k IHRoZSBOYXppIG1vdmVtZW50IGluIEdlcm1hbnkuPHA+ClRoZSBpbW1lZGlh dGUgb3JpZ2lucyBvZiBGYXNjaXNtIGluIEdlcm1hbnkgbWF5IGJlIHRyYWNl ZCB0byBhIG1lZXRpbmcgb2YKc2V2ZW4gbWVuIGluIGEgbGl0dGxlIGJlZXIg aGFsbCBpbiBNdW5pY2ggaW4gMTkxOSBhbmQgdGhlIGVzdGFibGlzaG1lbnQg b2YKdGhlIE5hdGlvbmFsIFNvY2lhbGlzdCBHZXJtYW4gV29ya2VycycgUGFy dHkgKGxhdGVyIHNob3J0ZW5lZCB0byBOQVpJKS4gCk9uZSBvZiB0aG9zZSBz ZXZlbiB3YXMsIG9mIGNvdXJzZSwgYSB0aGlydHkgeWVhci1vbGQgR2VybWFu IE5hdGlvbmFsIGZyb20KQXVzdHJpYSwgQWRvbHBoIEhpdGxlci48cD4KICAg ICBUaGUgTmF6aSBQYXJ0eSdzIHJpc2UgdG8gcG93ZXIgd2FzIGJ1aWx0IHVw b24gdHdvIGRvbWluYW50IGlkZW9sb2dpZXM6CjxCPlJBQ0lBTCBQVVJJVFk8 L0I+IGFuZCA8Qj5MRUJFTlNSQVVNPC9CPiAgVGhlc2UgdHdvIGJlY2FtZSBz byBpbnRlcnR3aW5lZApvdmVyIHRoZSBmb2xsb3dpbmcgeWVhcnMgKDE5MzMt MTkzOSkgdGhhdCBpdCBpcyBhbG1vc3QgaW1wb3NzaWJsZSB0bwpzZXBhcmF0 ZSB0aGVtLiAgVGhleSBiZWNhbWUgdGhlIGJhc2lzIGZvciBIaXRsZXIncyBm b3JlaWduIHBvbGljeSAoZS5nLiwKdGhlIDxpPkFuc2NobHVzczwvaT4gYW5k IHRoZSBpbnZhc2lvbiBvZiBQb2xhbmQsIGFuZCBoaXMgZG9tZXN0aWMgcG9s aWN5CndpdGggcmVnYXJkIHRvIGFsbCBncm91cHMgd2hvbSBIaXRsZXIgY29u c2lkZXJlZCAiaW5mZXJpb3IiIHJhY2VzLiAgQXMgYQpyZXN1bHQgb2YgdGhl IHRlcnJpdG9yaWFsIHJlc3RydWN0dXJpbmcgb2YgR2VybWFueSBmb2xsb3dp bmcgV29ybGQgV2FyIEksCnRoZSBhdmVyYWdlIEdlcm1hbiBjaXRpemVuIGhh ZCAuMDA0IG9mIGEgc3F1YXJlIG1pbGUgb2YgbGl2aW5nIHNwYWNlLiAgRXZl bgp0aW55IEVuZ2xhbmQsIHdpdGggaXRzIHZhc3QgaW1wZXJpYWwgdGVycml0 b3JpZXMgYXJvdW5kIHRoZSB3b3JsZCwgY291bGQKb2ZmZXIgaXRzIGF2ZXJh Z2UgY2l0aXplbiAzIHNxdWFyZSBtaWxlcyBvZiBzcGFjZS48cD4KICAgICBJ biAxOTM5LCBIaXRsZXIgZGVtYW5kZWQgdGhlIGFib2xpdGlvbiBvZiB0aGUg Q29ycmlkb3Igd2hpY2ggc2VwYXJhdGVkCkdlcm1hbnkgZnJvbSBpdHMgZWFz dGVybiB0ZXJyaXRvcmllcyBhbmQgdGhlIHJldHVybiBvZiBEYW56aWcgdG8g R2VybWFuCmNvbnRyb2wuICBCZWxpZXZpbmcgdGhhdCB0aGUgd2VzdGVybiBw b3dlcnMgKHRoZSBVbml0ZWQgU3RhdGVzLCBGcmFuY2UgYW5kCkJyaXRhaW4p IHdvdWxkIG5vdCBob25vciB0aGVpciBjb21taXRtZW50IHRvIHByb3RlY3Qg UG9sYW5kLCBIaXRsZXIKYW5ub3VuY2VkIGhpcyBpbnRlbnQgdG8gaW52YWRl IFBvbGFuZCBhbmQgdGFrZSBiYWNrIHRob3NlIGFyZWFzIGxvc3QgaW4gdGhl Cndhci4gIFRoZSBzdWNjZXNzZnVsIGFubmV4YXRpb24gb2YgQXVzdHJpYSBh bmQgdGhlIHN1Y2Nlc3NmdWwgY29ucXVlc3QsCmZpcnN0IG9mIEN6ZWNob3Ns b3Zha2lhIGFuZCB0aGVuLCBvZiBQb2xhbmQgb3BlbmVkIHVwIHZhc3QgdGVy cml0b3JpZXMgb2YKYXZhaWxhYmxlIHNwYWNlIHRvIEhpdGxlciBmb3IgY29s b25pemF0aW9uIGFuZCByZXNldHRsZW1lbnQuICBJdCBhbHNvCmJyb3VnaHQg aW50byBmb2N1cyB0aGUgIkpld2lzaCBQcm9ibGVtIiBhbmQgdGhlIHF1ZXN0 IGZvciBhICJGaW5hbApTb2x1dGlvbi4iPHA+CiAgICAgVGhlIEdlbmVyYWwg R292ZXJubWVudCwgaGVhZGVkIGJ5IEdvdmVybm9yIEhhbnMgRnJhbmssIHNl ZW1lZCB0byBvZmZlcgp0aGUgZ3JlYXRlc3QgcG90ZW50aWFsIGZvciA8aT5s ZWJlbnNyYXVtPC9pPi4gIEZpcnN0LCBob3dldmVyLCB0aGVyZSB3YXMKdGhl IHByb2JsZW0gb2YgY2xlYXJpbmcgdGhlIGFyZWEgb2YgUG9saXNoIG5hdGlv bmFscyBhbmQgdGhlIG1vcmUgdGhhbiAyCm1pbGxpb24gSmV3cyB3aG8gbGl2 ZWQgaW4gdGhlIGFyZWEuICBBY2NvcmRpbmdseSwgSGV5ZHJpY2ggaXNzdWVk IHRoZQpmb2xsb3dpbmcgbWVtb3JhbmR1bSB0byB0aGUgRWluc2F0emdydXBw ZW4gb2ZmaWNlcnMgdW5kZXIgaGlzIGF1dGhvcml0eQpyZWdhcmRpbmcgdGhl aXIgbWlzc2lvbjo8UD4KCjxCbG9ja3F1b3RlPjIxLlNlcHRlbWJlciwgMTkz OTxicj4gCiAgICAgQmVybGluIDxicj48YnI+CiAKICAgICBUbyBDaGllZnMg b2YgYWxsIEVpbnNhdHpncnVwcGVuIG9mIHRoZSBTZWN1cml0eSBQb2xpY2Ug U3ViamVjdDogSmV3aXNoCiAgICAgUXVlc3Rpb24gaW4gT2NjdXBpZWQgVGVy cml0b3J5PHA+IAogCiAgICAgSSByZWZlciB0byB0aGUgY29uZmVyZW5jZSBo ZWxkIGluIEJlcmxpbiB0b2RheSwgYW5kIGFnYWluIHBvaW50IG91dAogICAg IHRoYXQgdGhlIHBsYW5uZWQgdG90YWwgbWVhc3VyZXMgKGkuZS4sIHRoZSBm aW5hbCBhaW0pIGFyZSB0byBiZSBrZXB0CiAgICAgc3RyaWN0bHkgc2VjcmV0 LiA8cD4KIAogICAgIERpc3RpbmN0aW9uIG11c3QgYmUgbWFkZSBiZXR3ZWVu OjxwPgo8b2w+ICAKPGxpPnRoZSBmaW5hbCBhaW0gKHdoaWNoIHdpbGwgcmVx dWlyZSBleHRlbmRlZCBwZXJpb2RzIG9mIHRpbWUpCiAgICBhbmQgCjxsaT50 aGUgc3RhZ2VzIGxlYWRpbmcgdG8gdGhlIGZ1bGZpbGxtZW50IG9mIHRoaXMg ZmluYWwgYWltCiAgICAod2hpY2ggd2lsbCBiZSBjYXJyaWVkIG91dCBpbiBz aG9ydCBwZXJpb2RzKS48cD4gCjwvb2w+IAogICAgIEl0IGlzIG9idmlvdXMg dGhhdCB0aGUgdGFza3MgYWhlYWQgY2Fubm90IGJlIGxhaWQgZG93biBmcm9t IGhlcmUgaW4KICAgICBmdWxsIGRldGFpbC4gVGhlIGluc3RydWN0aW9ucyBh bmQgZGlyZWN0aXZlcyBiZWxvdyBtdXN0IHNlcnZlIGFsc28gZm9yCiAgICAg dGhlIHB1cnBvc2Ugb2YgdXJnaW5nIGNoaWVmcyBvZiB0aGUgRWluc2F0emdy dXBwZW4gdG8gZ2l2ZSBwcmFjdGljYWwKICAgICBjb25zaWRlcmF0aW9uIHRv IFt0aGUgcHJvYmxlbXMgaW52b2x2ZWQuXTxwPiAKIAogICAgIEZvciB0aGUg dGltZSBiZWluZywgdGhlIGZpcnN0IHByZXJlcXVpc2l0ZSBmb3IgdGhlIGZp bmFsIGFpbSBpcyB0aGUgCiAgICAgY29uY2VudHJhdGlvbiBvZiB0aGUgSmV3 cyBmcm9tIHRoZSBjb3VudHJ5c2lkZSBpbnRvIHRoZSBsYXJnZXIgCmNpdGll cy48L2Jsb2NrcXVvdGU+PHA+CiAgICAgVGhhdCBIZXlkcmljaCdzIG9yZGVy cyB3ZXJlIGNsZWFybHkgdW5kZXJzdG9vZCBieSB0aG9zZSB1bmRlciBoaXMK Y29tbWFuZCBpcyBjbGVhciBmcm9tIHRoZSBmb2xsb3dpbmcgZGlyZWN0aXZl IGZyb20gVGhlIFJlaWNoc2tvbW1pc3NhciBmb3IKT3N0bGFuZCBJSWEgNCBp biAxOTQxOjxwPgo8YmxvY2txdW90ZT4xMy5BdWd1c3QuMTk0MTxicj4gCiBU aGUgUmVpY2hza29tbWlzc2FyIGZvciBPc3RsYW5kIElJYSA0PGJyPiAKIFNl Y3JldCEgPHA+CiAgUHJvdmlzaW9uYWwgRGlyZWN0aXZlcyBmb3IgdGhlIHRy ZWF0bWVudCBvZiBKZXdzIGluIHRoZSBhcmVhIG9mIHRoZSAKIFJlaWNoc2tv bW1pc3NhcmlhdCBPc3RsYW5kLjxwPiAKICAgICAgVGhlIGZpbmFsIHNvbHV0 aW9uIG9mIHRoZSBKZXdpc2ggcXVlc3Rpb24gaW4gdGhlIGFyZWEgb2YgdGhl IApSZWljaHNrb21taXNzYXJpYXQgT3N0bGFuZCB3aWxsIGJlIGluIGFjY29y ZGFuY2Ugd2l0aCB0aGUgaW5zdHJ1Y3Rpb25zIGluCm15IGFkZHJlc3Mgb2Yg MjcuSnVseS4xOTQxIGluIEtvdm5vLjxwPiAKICAgICBJbnNvZmFyIGFzIGZ1 cnRoZXIgbWVhc3VyZXMgYXJlIHRha2VuLCBwYXJ0aWN1bGFybHkgYnkgdGhl IFNlY3VyaXR5ClBvbGljZSwgdG8gY2Fycnkgb3V0IG15IHZlcmJhbCBpbnN0 cnVjdGlvbnMsIHRoZXkgd2lsbCBub3QgYmUgCmFmZmVjdGVkIGJ5IHRoZSBm b2xsb3dpbmcgX3Byb3Zpc2lvbmFsIGRpcmVjdGl2ZXMuXyBJdCBpcyBtZXJl bHkgdGhlIApwdXJwb3NlIG9mIHRoZXNlIHByb3Zpc2lvbmFsIGRpcmVjdGl2 ZXMgdG8gYXNzdXJlIHRoYXQgd2hlcmUsIGFuZCBhcyBsb25nIAphcywgZnVy dGhlciBtZWFzdXJlcyBmb3IgdGhlIGZpbmFsIHNvbHV0aW9uIGFyZSBub3Qg cG9zc2libGUsIG1pbmltdW0gCm1lYXN1cmVzIHdpbGwgYmUgdGFrZW4gYnkg dGhlIEdlbmVyYWxrb21taXNzYXJlIG9yIEdlYmlldHNrb21taXNzYXJlLiAu IC4gCjxwPgogCiAuIC4gLkFzIGZhciBhcyBwb3NzaWJsZSB0aGUgSmV3cyBh cmUgdG8gYmUgY29uY2VudHJhdGVkIGluIGNpdGllcyBvciBpbgpzZWN0aW9u cyBvZiBsYXJnZSBjaXRpZXMsIHdoZXJlIHRoZSBwb3B1bGF0aW9uIGlzIGFs cmVhZHkgcHJlZG9taW5hdGVseSAKSmV3aXNoLiBUaGVyZSwgZ2hldHRvcyBh cmUgdG8gYmUgZXN0YWJsaXNoZWQsIGFuZCB0aGUgSmV3cyBhcmUgdG8gYmUg CnByb2hpYml0ZWQgZnJvbSBsZWF2aW5nIHRoZXNlIGdoZXR0b3MuPHA+IAog CiAgICAgSW4gdGhlIGdoZXR0b3MgdGhlIEpld3MgYXJlIHRvIHJlY2VpdmUg b25seSBhcyBtdWNoIGZvb2QgYXMgdGhlIHJlc3QKb2YgdGhlIHBvcHVsYXRp b24gY2FuIHNwYXJlLCBidXQgbm90IG1vcmUgdGhhbiBpcyByZXF1aXJlZCBm b3IgdGhlaXIgYmFyZSAKc3Vic2lzdGVuY2UuIFRoZSBzYW1lIGFwcGxpZXMg dG8gdGhlIGFsbG9jYXRpb24gb2Ygb3RoZXIgZXNzZW50aWFsIGdvb2RzLjxw PiAKIApMb2hzZTxicj4gClJlaWNoc2tvbW1pc2FyPC9ibG9ja3F1b3RlPiA8 cD4KICAgICBUaGUgZmlyc3QgdGFzayBpbiB0aGUgdHJhbnNmb3JtYXRpb24g b2YgUG9sYW5kIGludG8gR2VybWFuICJsaXZpbmcKc3BhY2UiIHdhcyB0byBy ZW1vdmUgUG9sZXMgYW5kIEpld3MgZnJvbSB0aGUgUG9saXNoIGNvdW50cnlz aWRlIGFzIHdlbGwgYXMKSmV3cyBmcm9tIHRoZSBHZXJtYW4gaG9tZWxhbmQg Y29uY2VudHJhdGUgdGhlbSBpbiB0aGUgY2l0aWVzIG9mIHRoZSBHZW5lcmFs CkdvdmVybm1lbnQuICBEZXNwaXRlIHRoZSBlZmZlY3RpdmVuZXNzIG9mIHRo ZSBFaW5zYXR6Z3J1cHBlbiBvbiB0aGUgUnVzc2lhbgpmcm9udCwgdGhlcmUg d2VyZSBwcm9ibGVtcyB3aXRoIGNhcnJ5aW5nIG91dCBtYXNzIGV4dGVybWlu YXRpb24gaW4gdGhhdAptYW5uZXIuICBGaXJzdCwgaXQgd2FzIHRvbyBwdWJs aWMuICBUaGUgc2hvb3RpbmdzIGF0IHBsYWNlcyBzdWNoIGFzIEJhYmkKWWFy LCB3ZXJlIG9mdGVuIGNhcnJpZWQgb3V0IGluIGZ1bGwgdmlldyBvZiBjaXZp bGlhbnMgIGFuZCByZWd1bGFyCldlaHJtYWNodCAocmVndWxhciBHZXJtYW4g YXJteSkgdHJvb3BzLiAgU2Vjb25kLCB0aGVyZSBhcmUgaW5kaWNhdGlvbnMg dGhhdApzdWNoIGZpcmluZyBzcXVhZCBhY3Rpdml0aWVzIHdlcmUgaGF2aW5n IGEgZGVtb3JhbGl6aW5nIGVmZmVjdCBvbiB0aG9zZQptaWxpdGFyeSBwZXJz b25uZWwgd2hvIHBhcnRpY2lwYXRlZCAtLSBwYXJ0aWN1bGFybHkgdGhlIGNs b3NlLXJhbmdlCnNob290aW5nIG9mIHdvbWVuIGFuZCBjaGlsZHJlbi4gIEhp bW1sZXIgc3VnZ2VzdGVkIHRoYXQgYSAibW9yZSBodW1hbmUiIAphbmQgInJh dGlvbmFsIiBtZXRob2Qgb2YgImRpc2luZmVjdGluZyIgdGhlIGFyZWEgd2Fz IG5lZWRlZC4gIEFscmVhZHksIGF0CnRoaXMgcG9pbnQsIEhpbW1sZXIgd2Fz IHBsYW5uaW5nIHRoZSBjb25zdHJ1Y3Rpb24gb2Ygc3BlY2lhbCBhbm5paGls YXRpb24KY2VudGVycyBzdGFmZmVkIHdpdGggc3BlY2lhbCB0ZWNobm9sb2d5 IGFuZCBzcGVjaWFsbHkgdHJhaW5lZCBzdGFmZiBmb3IKbWFzcyBleHRlcm1p bmF0aW9uLiAgVGhlIGdoZXR0b2l6YXRpb24gcHJvY2VzcyB3YXMgbWVyZWx5 IGEgbmVjZXNzYXJ5IGZpcnN0CnN0ZXAgaW4gb3JnYW5pemluZyB0aGUgb3Bl cmF0aW9uLiAgVGhlbiB0aGUgaW5jb3Jwb3JhdGVkIHRlcnJpdG9yaWVzIGNv dWxkCmJlIHJlLXBvcHVsYXRlZCB3aXRoIGV0aG5pYyBHZXJtYW5zIChHZXIu IDxpPnZvbGtzZGV1dHNjaGU8L2k+IGZyb20gdGhlCkJhbHRpYyBzdGF0ZXMs IEF1c3RyaWEsIGV0Yy48cD4KICAgICBLZW5uZXRoIE1jVmF5IHByb3ZpZGVz IHRoZSBmb2xsb3dpbmcgdGV4dCBhbmQgY29tbWVudGFyeSBmcm9tIEFyYWQn cwpkaXNjdXNzaW9uIG9mIHRoZSBzdHJhdGVnaWMgaXNzdWVzIGFuZCBnb2Fs cyBpbiB0aGUgZGVwb3J0YXRpb24gb2YgSmV3cyB0bwp0aGUgZ2hldHRvcyBv ZiBQb2xhbmQ6PHA+IAo8YmxvY2txdW90ZT4iT3JnYW5pemluZyB0aGUgZGVw b3J0YXRpb24gb2YgdGhlIDIsMjg0LDAwMCBKZXdzIHdobywKYWNjb3JkaW5n IHRvIEdlcm1hbiBkYXRhLCBsaXZlZCBpbiB0aGUgR2VuZXJhbCBHb3Zlcm5t ZW50IGluIGh1bmRyZWRzIG9mCmdoZXR0b3MgZGlzcGVyc2VkIGFsbCBvdmVy IHRoZSBjb3VudHJ5IGRlbWFuZGVkIHRob3JvdWdoIHBsYW5uaW5nLiBUaGUK Z2VvZ3JhcGhpY2FsIGRpc3BlcnNpb24gb2YgdGhlIEpld2lzaCBnaGV0dG9z LCB0aGUgbG9jYXRpb24gYW5kIGtpbGxpbmcKY2FwYWNpdGllcyBvZiB0aGUg ZGVhdGggY2FtcHMsIHRoZSBhdmFpbGFibGUgbWVhbnMgb2YgdHJhbnNwb3J0 IGFuZCB0aGVpcgpwcm9qZWN0ZWQgb3B0aW1hbCB1c2Ugd291bGQgYWxsIGhh dmUgdG8gYmUgY29uc2lkZXJlZC4uLi4gVGhlIGVhcmxpZXN0Cmtub3duIEdl cm1hbiBkb2N1bWVudCByZWdhcmRpbmcgYW55IGNvb3BlcmF0aW9uIGJldHdl ZW4gU1MgYXV0aG9yaXRpZXMgYW5kCmNpdmlsaWFuIG9mZmljaWFscyBpbiB0 aGUgZGVwb3J0YXRpb24gb2YgSmV3cyBpbiB0aGUgZnJhbWV3b3JrIG9mIE9w ZXJhdGlvbgpSZWluaGFyZCBpcyBhIG5vdGUgd3JpdHRlbiBieSBEci4gUmlj aGFyZCBUdXJrLCB0aGUgaGVhZCBvZiB0aGUgRGVwYXJ0bWVudApvZiBQb3B1 bGF0aW9uIEFmZmFpcnMgYW5kIFdlbGZhcmUgLi4uIGluIEx1YmxpbiBkaXN0 cmljdC4gVGhlIGRvY3VtZW50CnN0YXRlczo8cD4gCiAKICAgICBOb3RpY2Us IEx1YmxpbiwgMTcgSUlJIDE5NDIsIFJlZiAoZXZlbnQpIElJLCBSL1dlIE9u IE1hcmNoIDQsIDE5NDIsIEkKICAgICByZWNlaXZlZCBhIHRlbGVncmFtIGZy b20gdGhlIGdvdmVybm1lbnQgaW4gQ3JhY293LCBzaWduZWQgYnkgTXIuCiAg ICAgW0ZyaWVkcmljaF0gU2llYmVydCwgdGhlIGNoaWVmIG9mIHRoZSBTUyBk ZXBhcnRtZW50LCBpbiB3aGljaCB0aGUKICAgICBjb25jbHVkaW5nIHNlbnRl bmNlIHJlYWRzIGFzIGZvbGxvd3M6IEkgYXNrIHlvdSB0byBiZSBoZWxwZnVs IHRvIHRoZQogICAgIFNTIGFuZCBQb2xpY2UgTGVhZGVyIG9mIEx1YmxpbiBp biBoaXMgYWN0aW9ucy48cD4gCiAKICAgICBPbiBNYXJjaCA3IEkgcmVjZWl2 ZWQgYSB0ZWxlcGhvbmUgY2FsbCBmcm9tIHRoZSBnb3Zlcm5tZW50IFtpbgog ICAgIENyYWNvd10sIGZyb20gTWFqb3IgUmVnZ2VyLCBpbiB3aGljaCBJIHdh cyBzdHJpY3RseSByZXF1ZXN0ZWQsIGluCiAgICAgY29ubmVjdGlvbiB3aXRo IHRoZSByZXNldHRsZW1lbnQgb2YgdGhlIEpld3MgZnJvbSBNaWVsZWMgdG8g dGhlIEx1YmxpbgogICAgIGRpc3RyaWN0LCB0byByZWFjaCBhbiBhZ3JlZW1l bnQgd2l0aCB0aGUgU1MgYW5kIFBvbGljZSBMZWFkZXIsIGFuZCBpdAogICAg IHN0cmVzc2VkIHRoZSBoaWdoZXN0IGltcG9ydGFuY2Ugb2YgdGhpcyBhZ3Jl ZW1lbnQuLi4uIEkgYXJyYW5nZWQgYQogICAgIGNvbmZlcmVuY2Ugd2l0aCBI YXVwdHN0dXJtZnVocmVyIEhvImZsZSBmb3IgTW9uZGF5LCBNYXJjaCAxNiwg MTk0MiwKICAgICBhbmQgaXQgdG9vayBwbGFjZSBhdCAxNzozMC4gSW4gdGhl IGNvdXJzZSBvZiB0aGlzIGNvbmZlcmVuY2UsIEhvImZsZQogICAgIGV4cGxh aW5lZCB0aGUgZm9sbG93aW5nOiA8cD4KPG9sPgo8bGk+SXQgd291bGQgYmUg YXBwcm9wcmlhdGUgaWYgdGhlIHRyYW5zcG9ydCBvZiBKZXdzIHRoYXQgYXJy aXZlCiAgICBpbiB0aGUgTHVibGluIGRpc3RyaWN0IHdlcmUgc3BsaXQgaW4g dGhlIGRlcGFydHVyZSBzdGF0aW9ucwogICAgaW50byB0aG9zZSB3aG8gYXJl IGFibGUgdG8gd29yayBhbmQgdGhvc2Ugd2hvIGFyZSBub3QuIElmCiAgICB0 aGlzIGRpdmlzaW9uIGlzIGltcG9zc2libGUgaW4gdGhlIGRlcGFydHVyZSBz dGF0aW9ucywKICAgIGV2ZW50dWFsbHkgaXQgc2hvdWxkIGJlIGNvbnNpZGVy ZWQgdG8gZGl2aWRlIHRoZSB0cmFuc3BvcnQKICAgIGluIEx1YmxpbiwgYWNj b3JkaW5nIHRvIHRoZSBhZm9yZW1lbnRpb25lZCBwb2ludCBvZiB2aWV3Ljxw PiAKIAo8bGk+QWxsIHRoZSBKZXdzIGluY2FwYWJsZSBvZiB3b3JrIHdvdWxk IGFycml2ZSBpbiBCZWx6ZWMsIAogICAgdGhlIGZpbmFsIGJvcmRlciBzdGF0 aW9uIGluIHRoZSBaYW1vc2MgcmVnaW9uLjxwPiAKIAo8bGk+SGF1cHRzdHVy bWZ1aHJlciBIbyJmbGUgaXMgcHJlcGFyaW5nIHRoZSBlcmVjdGlvbiBvZiBh IGJpZyAKICAgIGNhbXAsIHdoZXJlIHRoZSBKZXdzIGNhcGFibGUgb2Ygd29y ayB3aWxsIGJlIGhlbGQgYW5kCiAgICBkaXZpZGVkIGFjY29yZGluZyB0byB0 aGVpciBwcm9mZXNzaW9ucyBhbmQgZnJvbSB3aGVyZSB0aGV5CiAgICB3aWxs IGJlIHJlcXVlc3RlZCBbZm9yIHdvcmtdLiA8cD4KIAo8bGk+UGlhc2tpIHdp bGwgYmUgY2xlYXJlZCBvZiBQb2xpc2ggSmV3cyBhbmQgd2lsbCBiZWNvbWUg YQogICAgY29uY2VudHJhdGlvbiBwb2ludCBmb3IgSmV3cyBhcnJpdmluZyBm cm9tIHRoZSBSZWljaC48cD4gCiAKPGxpPkluIHRoZSBtZWFudGltZSBUcmF3 bmlraSB3aWxsIG5vdCBiZSBwb3B1bGF0ZWQgYnkgSmV3cy48cD4gCiAKPGxp Pi5UaGUgSGF1cHRzdHVybWZ1aHJlciBhc2tzIHdoZXRoZXIgb24gdGhlIHRy YWluIHNlY3Rpb24gCiAgICBEZWJsaW4tVHJhd25pa2kgNjAsMDAwIEpld3Mg Y2FuIGJlIGRpc2VtYmFya2VkLiBBZnRlciBoYXZpbmcKICAgIGJlZW4gaW5m b3JtZWQgYWJvdXQgdGhlIHRyYW5zcG9ydHMgb2YgSmV3cyBkaXNwYXRjaGVk IGJ5IHVzLAogICAgSG8iZmxlIGFubm91bmNlZCB0aGF0IG91dCBvZiB0aGUg NTAwIEpld3Mgd2hvIGFycml2ZWQgZnJvbQogICAgU3V6aWMsIHRob3NlIHVu YWJsZSB0byB3b3JrIGNhbiBiZSBzb3J0ZWQgb3V0IGFuZCBzZW50IHRvCiAg ICBCZWx6ZWMuLi4uPHA+IAo8L29sPiAKICAgICBJbiBjb25jbHVzaW9uLCBo ZSBhbm5vdW5jZWQgdGhhdCBldmVyeSBkYXkgaGUgY2FuIHJlY2VpdmUgZm91 ciB0byBmaXZlCnRyYW5zcG9ydHMgd2l0aCAxLDAwMCBKZXdzIGVhY2ggZm9y IHRoZSBkZXN0aW5hdGlvbiBvZiBCZWx6ZWMgc3RhdGlvbi4KVGhlc2UgSmV3 cyB3b3VsZCBjcm9zcyB0aGUgYm9yZGVyIFtvZiB0aGUgb2NjdXBpZWQgdGVy cml0b3JpZXMgb2YgdGhlIApTb3ZpZXQgVW5pb25dIGFuZCBuZXZlciByZXR1 cm4gdG8gdGhlIEdlbmVyYWwgR292ZXJubWVudC4iIDwxPiAKIAogICAgIEl0 IGlzIGludGVyZXN0aW5nIHRvIG5vdGUgaGVyZSB0aGF0IGV2ZW4gZGlzY3Vz c2lvbnMgcmVnYXJkaW5nIHRoZQp0cnVlIG5hdHVyZSBvZiB0aGUgZXh0ZXJt aW5hdGlvbiBjYW1wcyB3aXRoIGNpdmlsaWFucyBub3QgZGlyZWN0bHkgaW52 b2x2ZWQKd2FzIGEgY3JpbWUgaW1tZWRpYXRlbHkgcHVuaXNoYWJsZSBieSBk ZWF0aC4gT25jZSB5b3UgY2xlYXJseSB1bmRlcnN0YW5kCnRoYXQgKHRoaXMg ZmFjdCBpcyB3ZWxsIGRvY3VtZW50ZWQgdGhyb3VnaG91dCB0aGUgcHVibGlj IGhpc3RvcmllcyBvZiB0aGUKcGVyaW9kKSBmYWN0LCB0aGlzIGRvY3VtZW50 IGJlY29tZXMgcXVpdGUgY2hpbGxpbmcuIENvbnNpZGVyLCBmb3IgaW5zdGFu Y2UsCnRoZSBjYXN1YWwgcmVmZXJlbmNlcyB0byB0aGUgQmVsemVjIGRlcG90 LCB3aGljaCBwcm92ZWQgdG8gYmUgYSBmaW5hbCBzdG9wCmZvciB0aGUgSmV3 cyB3aG8gd2VyZSBkZWxpdmVyZWQgdGhlcmUuIEluIGFsbCwgdXNpbmcgR2Vy bWFuIHRyYW5zcG9ydGF0aW9uLAptaWxpdGFyeSwgYW5kIGNpdmlsaWFuIHJl Y29yZHMsIEFyYWQgZXN0aW1hdGVzIDEuNyBtaWxsaW9uIEpld3Mgd2VyZQpt dXJkZXJlZCBkdXJpbmcgT3BlcmF0aW9uIFJlaW5oYXJkLiBBIGdvb2QgbWFu eSBvZiB0aGF0IG51bWJlciBkcmV3IHRoZWlyCmZpbmFsIGJyZWF0aCBvbiB0 aGUgQmVsemVjIHBsYXRmb3JtLjxwPiAgCiAKICAgICBUaGUgZG9jdW1lbnQg Y2l0ZWQgYWJvdmUsIGNvdXBsZWQgd2l0aCBrbm93biBkZXBvcnRhdGlvbiBm aWd1cmVzIGZvciAKUGlhc2tpIGR1cmluZyBNYXJjaCBvZiAxOTQyLCBzdWdn ZXN0IGZhciBncmVhdGVyIG51bWJlcnMgdGhhbiB0aG9zZSBJIApoYXZlIGFj Y291bnRlZCBmb3IgaW4gdGhlIEFyYWQgYm9vayAoc2VlIGJlbG93KSwgd2hp Y2ggZG9lcyBub3QgCmluY2x1ZGUgZGF0YSBmb3IgSmV3cyBicm91Z2h0IGlu dG8gdGhlIEdlbmVyYWwgR292ZXJubWVudCBhcmVhIGZyb20gCm90aGVyIHBh cnRzIG9mIEV1cm9wZSAoR2VybWFueSwgQXVzdHJpYSwgZXRjLikgb3IgZm9y IEpld3MgZGVwb3J0ZWQgdG8gCkF1c2Nod2l0eiBvciBvdGhlciBjYW1wcyB0 aGFuIHRoZSB0aHJlZSBub3RlZCBpbiB0aGUgQXJhZCB0aXRsZS4gSWYgCmFu eW9uZSBydW5zIGFjcm9zcyBzdWNoIGRhdGEgZHVyaW5nIHRoZWlyIHJlYWRp bmcsIEkgd291bGQgdmVyeSBtdWNoIAphcHByZWNpYXRlIGhhdmluZyBpdCwg c28gdGhlIGluZm9ybWF0aW9uIGF2YWlsYWJsZSBoZXJlIHdpbGwgYmUgbW9y ZQpjb21wbGV0ZS4gCiAKICAgICBGb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlv biBjb25jZXJuaW5nIHRoZSBmYXRlIG9mIG9uZSBKZXcgZnJvbSBQaWFza2ks CnNlZSBSYXNoa2UsIENoYXB0ZXIgMTAuICAoKFJhc2hrZSwgUmljaGFyZC4g RXNjYXBlIEZyb20gU29iaWJvciAoQm9zdG9uOgpIb3VnaHRvbiAgTWlmZmxp biBDb21wYW55LCAxOTgyKSkgCiAKPDE+ICJEb2t1bWVudHkgaSBNYXRlcmlh bHkgZG8gRHppZWpvdyBPa3VwYWNqaSBuaWVtaWVja2llaiB3IFBvbHNjZTog QWtjamUgCmkgV3lzaWVkbGVuaWEiLCBXeWRhd25pY3R3YSBDZW50cmFsbmVq IFp5ZG93c2tpZWogS29taXNqaSBIaXN0b3J5Y3puZWosIApXYXJzemF3YS1M b2R6LUtyYWtvdywgMTk0NiwgcHAuIDMyLTMzOyBHZXJhbGQgUmVpdGxpbmdl ciwgIlRoZSBGaW5hbCAKU29sdXRpb24iLCBzZWNvbmQgZWRpdGlvbiwgTG9u ZG9uLCBwLjI2OCAKIApFeGNlcnB0ZWQgZnJvbS4uLi4tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIApCRUxaRUMsIFNP QklCT1IsIFRSRUJMSU5LQSAtIHRoZSBPcGVyYXRpb24gUmVpbmhhcmQgRGVh dGggQ2FtcHMgCkluZGlhbmEgVW5pdmVyc2l0eSBQcmVzcyAtIFlpdHpoYWsg QXJhZCwgMTk4Ny4gSVNCTgowLTI1My0zNDI5LTcuPC9ibG9ja3F1b3RlPjxw PiAKICAgICBZaXRzaGFrIEFyYWQgdGVsbHMgdXM6PHA+CjxibG9ja3F1b3Rl PiJUaGUgbWlsbGlvbnMgb2YgSmV3cyB3aG8gd2VyZSB0YWtlbiBmcm9tIHRo ZWlyIHBsYWNlcyBvZgpyZXNpZGVuY2UsIGdoZXR0b3Mgb3IgdHJhbnNpdCBj YW1wcyBkaWQgbm90IGluIGFueSB3YXkga25vdyB0aGF0IHRoZXkgd2VyZQpi ZWluZyBicm91Z2h0IHRvIGV4dGVybWluYXRpb24gY2FtcHMgbm9yIGRpZCB0 aGV5IGtub3cgd2hhdCBmYXRlIGF3YWl0ZWQgCnRoZW0uICBNb3N0IG9mIHRo ZW0gaGFkIG5vdCBldmVuIGhlYXJkIG9mIHRoZSBleGlzdGVuY2Ugb2Ygc3Vj aCBjYW1wcy4gClJ1bW9ycyBhYm91dCB0aGUgZGVhdGggY2FtcHMgZGlkLCBp dCBpcyB0cnVlLCByZWFjaCBXYXJzYXcgYW5kIG90aGVyCmdoZXR0b3MgaW4g UG9sYW5kLCBidXQgdGhlIHB1YmxpYyBmb3IgdGhlIG1vc3QgcGFydCBkaWQg bm90IHdhbnQgdG8gYmVsaWV2ZQp0aGVtLiI8L2Jsb2NrcXVvdGU+PHA+IAoK ICAgICBJbiB0aGUgc3ByaW5nIG9mIDE5NDAsIEhpdGxlciBiZWNhbWUgY29u dmluY2VkIHRoYXQgUG9sYW5kIGRpZCBub3QKb2ZmZXIgc3VmZmljaWVudCBz cGFjZSBmb3IgYm90aCBHZXJtYW4gcmVzZXR0bGVtZW50IGFuZCBKZXdzLiAg VGhlCmRlcG9ydGF0aW9uIG9mIEpld3MgdG8gc29tZSBvdGhlciBwbGFjZSBp biB0aGUgd29ybGQsIGUuZy4sIGFuIEFmcmljYW4KY29sb255IFt0aGUgTWFk YWdhc2NhciBQbGFuXSwgd2FzIGNvbnNpZGVyZWQgYnJpZWZseSBhbmQgdGhl biBkaXNjYXJkZWQuCkJ5IGxhdGUgMTk0MCwgdGhlcmUgaGFkIG9jY3VycmVk IGEgY2xlYXIgc2hpZnQgb24gR2VybWFuIG1lbnRhbGl0eS4gIEl0CndhcyBu b3cgYSBmb3JlZ29uZSBjb25jbHVzaW9uIHRoYXQgdGhlIEpld2lzaCBRdWVz dGlvbiBoYWQgdG8gYmUgZGVhbHQKd2l0aCBpbiBzb21lICJGaW5hbCIgd2F5 LiAgVGVycml0b3JpYWwgZmluYWwgc29sdXRpb25zIHNlZW1lZCB0byBiZQp1 bmZlYXNpYmxlLiAgVGhlIDxBIEhSRUY9ImV1dGhhbi5odG1sIj5FdXRoYW5h c2lhIHByb2dyYW08L2E+IGFuZCB0aGUgCnN1Y2Nlc3Mgb2YgdGhlIEVpbnNh dHpncnVwcGVuIGhhZCB0d28gaW1wb3J0YW50IGNvbnNlcXVlbmNlcyBmb3Ig R2VybWFuCnBvbGljeTogKDEpIGV4dGVybWluYXRpb24gd2FzIG5vdCBhIHZp YWJsZSBvcHRpb24gYW5kICgyKSB0aGUgdGVjaG5vbG9neQpvZiBnYXNzaW5n IGhhZCBhbHJlYWR5IGJlZW4gc3VjY2Vzc2Z1bGx5IHRlc3RlZCBhbmQgZGVt b25zdHJhdGVkLjxwPgogICAgIEFzIExvdWlzIFNueWRlciBpbmZvcm1zIHVz OjxwPgogICAgIDxibG9ja3F1b3RlPidJbiBsYXRlIFNlcHRlbWJlciAxOTM5 Li4uIEhleWRyaWNoIGJlZ2FuIHRvIHBsYWNlIGFsbApQb2xpc2ggSmV3cyBp biBnaGV0dG9zLCB3aGVyZSB0aGV5IGNvdWxkIHNsb3dseSBkaWUgb2YgaHVu Z2VyIGFuZCBkaXNlYXNlLgpUaGUgV2Fyc2F3IGdoZXR0byB3YXMgdGhlIGxh cmdlc3Qgb2YgdGhlc2Ugc2VncmVnYXRlZCBhcmVhcyBlc3RhYmxpc2hlZCBi eQp0aGUgTmF6aXMgaW4gUG9sYW5kLjxwPiAKIAogICAgIEluIHRoZSBzdW1t ZXIgb2YgMTk0MCBIZXlkcmljaCwgdXNpbmcgdGhlIGV4Y3VzZSB0aGF0IHRo ZSBzcHJlYWQgb2YgCnR5cGh1cyBoYWQgdG8gYmUgY29udGFpbmVkLCBzZXQg dXAgYSBzcGVjaWFsIHNlY3Rpb24gMTEgbWlsZXMgaW4gCmNpcmN1bWZlcmVu Y2UgZW5jbG9zZWQgYnkgYSBicmljayB3YWxsIDEwIGZlZXQgaGlnaC48cD4g CiAKICAgICBJbiBTZXB0ZW1iZXIgMTk0MCBtb3JlIHRoYW4gODAsMDAwIGdl bnRpbGUgUG9sZXMgbGl2aW5nIGluIHRoZSAKImluZmVjdGVkIGFyZWEiIHdl cmUgb3JkZXJlZCB0byBsZWF2ZSwgYW5kIHRoZSBuZXh0IG1vbnRoIGFib3V0 IAoxNDAsMDAwIEpld3MgbGl2aW5nIGVsc2V3aGVyZSBpbiB0aGUgY2l0eSB3 ZXJlIG1vdmVkIGluIHdpdGggdGhlIAoyNDAsMDAwIHN0aWxsIGluIHRoZSBn aGV0dG8uIFNvbWUgMzYwLDAwMCBKZXdzLCBhIHRoaXJkIG9mIFdhcnNhdydz IApwb3B1bGF0aW9uLCB3ZXJlIGhlcmRlZCBpbnRvIGEgMy41LXNxdWFyZS1t aWxlIGFyZWEuIDMwMCB0byA0MDAgZGllZCAKZGFpbHkuLi4gTW9yZSB0aGFu IDQzLDAwMCBzdGFydmVkIHRvIGRlYXRoIGR1cmluZyB0aGUgZmlyc3QgeWVh ciwgYW5kIAozNywwMDAgaW4gdGhlIGZpcnN0IG5pbmUgbW9udGhzIG9mIDE5 NDIuPHA+IAogCiAgICAgLi4uTWFzcyBkZXBvcnRhdGlvbnMgdG8gdGhlIGdh cyBjaGFtYmVycyBhdCBUcmVibGlua2EgYmVnYW4uIEluIHR3byAKbW9udGhz IDMwMCwwMDAgSmV3cyB3ZXJlIGVsaW1pbmF0ZWQuIDxwPgogCiAgICAgLi4u RmV3ZXIgdGhhbiAxMDAgZXNjYXBlZCwgYW5kIG9mIHRob3NlLCBvbmx5IGEg aGFuZGZ1bCBzdXJ2aXZlZCB0aGUgCndhci4nIChTbnlkZXIsIExvdWlzIEwu IEVuY3ljbG9wZWRpYSBvZiB0aGUgVGhpcmQgUmVpY2gsIE5ldyBZb3JrOiBQ YXJhZ29uIApIb3VzZSwgTmV3IFlvcmssIDE5ODkuKTwvYmxvY2txdW90ZT48 L3A+CiAgICAgVGhlIGNyZWF0aW9uIG9mIGdoZXR0b3MgaW4gUG9saXNoIGNp dGllcyBwcm9jZWVkZWQgc3lzdGVtYXRpY2FsbHkuPHA+CjxibG9ja3F1b3Rl Pi4uLkl0IHdhcyBpbiBBcHJpbCAxOTQwIHRoYXQgdGhlIGZpcnN0IGdoZXR0 byB3YXMgY3JlYXRlZCwgaW4KTG9kei4gIFRoZSBzdGVwcyB0YWtlbiB3ZXJl IGdyYWR1YWwuICBXYXJzYXcgY2FtZSBuZXh0LCBpbiBPY3RvYmVyOyB0aGVu CkNyYWNvdyBpbiBNYXJjaCAxOTQxLCBMdWJsaW4gYW5kIFJhZG9tIGluIEFw cmlsOyBhbmQgTHZvdiBpbiBEZWNlbWJlci4gIEJ5CnRoZSBlbmQgb2YgMTk0 MSB0aGUgZ2hldHRvaXppbmcgcHJvY2VzcyB3YXMgYWxtb3N0IGNvbXBsZXRl LihNaWx0b24KTWVsdHplciwgTmV2ZXIgdG8gRm9yZ2V0OiBUaGUgSmV3cyBv ZiB0aGUgSG9sb2NhdXN0LCBOZXcgWW9yazoKSGFycGVyQ29sbGlucywgMTk3 Njo3OCk8L2Jsb2NrcXVvdGU+PHA+Cgo8Q2VudGVyPjxCPjxoND5UaGUgU3Ry dWN0dXJlIG9mIHRoZSBHaGV0dG88L2g0PjwvQj48L2NlbnRlcj48cD4KICAg ICBJbiBjb250ZW1wb3JhcnkgdXNhZ2UsICJnaGV0dG8iIG1lYW5zICJzZXBh cmF0ZSBsaXZpbmcgcXVhcnRlcnMiIGZvciBhCnNwZWNpZmljIHJhY2lhbCBv ciBldGhuaWMgZ3JvdXAuICBJbiB0aGlzIHNlbnNlLCBtYW55IGlubmVyIGNp dHkgYXJlYXMgaW4KdGhlIFVuaXRlZCBTdGF0ZXMgbWF5IGJlIGNoYXJhY3Rl cml6ZWQgYXMgZ2hldHRvcy4gIFRoaXMgd2FzLCBjbGVhcmx5LCBub3QKdGhl IGNhc2UgZm9yIEpld3MgaW4gUG9sYW5kIGJldHdlZW4gMTk0MCBhbmQgMTk0 Mi4gIFRoZSBnaGV0dG9zIGNyZWF0ZWQgYnkKdGhlIE5hemlzIHdlcmUgdHJh bnNpdGlvbmFsIGFyZWFzIGJldHdlZW4gZGVwb3J0YXRpb24gYW5kIHRoZSAi RmluYWwKU29sdXRpb24uIiAgTWFueSwgdGhvdWdoIG5vdCBhbGwsIHdlcmUg ZW5jbG9zZWQgYXJlYXM7IGJhcmJlZCB3aXJlIGF0IExvZHosCmEgYnJpY2sg d2FsbCBpbiBXYXJzYXcgYW5kIENyYWNvdy4gIEFsbW9zdCBhbGwgd2VyZSBo ZWF2aWx5IGd1YXJkZWQgYnkKYXJtZWQgbWlsaXRhcnkgcGVyc29ubmVsLjxw PgogICAgIFdoaWxlIHRoZSBnaGV0dG9zIHdlcmUgdW5kZXIgTmF6aSBjb250 cm9sLCBlYWNoIGdoZXR0byBoYWQgYW4gaW50ZXJuYWwKYWRtaW5pc3RyYXRp dmUgc3RydWN0dXJlIC0tIHRoZSA8aT5KdWRlbnJhdDwvaT4sIG9yIEpld2lz aCBjb3VuY2lsLApnZW5lcmFsbHkgbWFkZSB1cCBvZiBsZWFkaW5nIHJhYmJp cyBhbmQgb3RoZXIgaW5mbHVlbnRpYWwgcGVyc29ucyBpbiB0aGUKSmV3aXNo IGNvbW11bml0eS4gIFRoZWlyIGZ1bmN0aW9ucyB3ZXJlIHRvIGFkbWluaXN0 ZXIgTmF6aSBwb2xpY3kgd2l0aGluCnRoZSBnaGV0dG8uICBUaGVyZSBoYXMg YmVlbiBjb25zaWRlcmFibGUgY29udHJvdmVyc3kgcmVnYXJkaW5nIHRoZXNl CmNvdW5jaWxzJyByb2xlIGluIHRoZSBmYXRlIG9mIEpld3MuICBPbiB0aGUg b25lIGhhbmQsIHRoZXkgcHJvdmlkZWQgc29tZQpzZW5zZSBvZiBhdXRvbm9t eSB0byB0aGUgSmV3aXNoIGNvbW11bml0eS4gIFRoZXkgd2VyZSByZXNwb25z aWJsZSBmb3IKaGVhbHRoIGFuZCB3ZWxmYXJlLCB0aGUgZGlzdHJpYnV0aW9u IG9mIGZvb2QsIGFuZCBmb3IgcG9saWNpbmcgdGhlIGdoZXR0bwppbnRlcm5h bGx5LiAgT24gdGhlIG90aGVyIGhhbmQsIHRoZSBKdWRlbnJhdGUgd2VyZSwg aW50ZW50aW9uYWxseSBvcgp1bmludGVudGlvbmFsbHksIGEgdG9vbCBvZiB0 aGUgTmF6aXMgaW4gdGhlIGRlc3RydWN0aW9uIG9mIHRoZSBKZXdzLiAgV2hp bGUKdGhleSBoYWQgYXV0aG9yaXR5IHdpdGhpbiB0aGUgZ2hldHRvLCB0aGV5 IGhhZCBubyBhdXRob3JpdHkgYXQgYWxsIGluCnJlcHJlc2VudGluZyB0aGUg bmVlZHMgYW5kIGludGVyZXN0cyBvZiB0aGUgSmV3cyB0byB0aGUgTmF6aSBn b3Zlcm5tZW50LiAKVGhlIG1lbWJlcnMgb2YgdGhlIEpld2lzaCBDb3VuY2ls cyB3ZXJlIHRoZW1zZWx2ZXMgc3ViamVjdCB0byBvbi10aGUtc3BvdApleGVj dXRpb24gZm9yIGFueSBmYWlsdXJlIHRvIGNhcnJ5IG91dCBOYXppIHBvbGlj eS48cD4KICAgICBMaXZpbmcgY29uZGl0aW9ucyBpbiBtb3N0IG9mIHRoZSBn aGV0dG9zIHdlcmUgaG9ycmlibGUuICBNYWxudXRyaXRpb24Kd2FzIHdpZGVz cHJlYWQgYW5kIGRlYXRoIGJ5IHN0YXJ2YXRpb24gd2FzIGEgZGFpbHkgb2Nj dXJyZW5jZS4gIEJldHdlZW4KMTk0MSBhbmQgMTk0MiwgMjAgcGVyY2VudCBv ZiB0aGUgcG9wdWxhdGlvbiBpbiB0aGUgV2Fyc2F3IGFuZCBMb2R6IGdoZXR0 b3MKc3RhcnZlZCB0byBkZWF0aCAob3ZlciAxMTIsMDAwIHBlb3BsZSkuICBB dCB0aGUgc2FtZSB0aW1lLCBKZXdzIGR1cmluZwp0aGVzZSB0d28geWVhcnMg d2VyZSB1c2VkIGV4dGVuc2l2ZWx5IGFzIHNsYXZlIGxhYm9yIGFuZCBoYWQs IGF0IGxlYXN0LApzb21lIGVjb25vbWljIHZhbHVlIHRvIHRoZSBOYXppcy4g IFdoeSwgdGhlbiwgd291bGQgdGhlIE5hemkgZ292ZXJubWVudAppbnRlbnRp b25hbGx5IGRlcHJpdmUgdGhlbSBvZiBmb29kIG5lY2Vzc2FyeSBmb3Igc3Vy dml2YWw/ICBGb3Igb25lIHRoaW5nLAphIHN0ZWFkeSBmbG9vZCBvZiBKZXdz IHdlcmUgc3RyZWFtaW5nIGludG8gdGhlIGdoZXR0b3MgZnJvbSBvdGhlciBw YXJ0cyBvZgpFdXJvcGUuICBBbnkgd2hvIHN0YXJ2ZWQgdG8gZGVhdGgsIG9y IHdlcmUgZXhlY3V0ZWQgZm9yIGRpc29iZWRpZW5jZSwgd291bGQKbGlrZWx5 IGJlIHJlcGxhY2VkIHZlcnkgcXVpY2tseS4gIEFsc28sIGRlc3BpdGUgdGhl IGZhY3QgdGhhdCB0aGUgRmluYWwKU29sdXRpb24gaGFkIG5vdCBiZWd1biBv ZmZpY2lhbGx5LCBwcmV2aW91cyBhY3Rpdml0aWVzLCBlLmcuLCB0aGUKRWlu c2F0emdydXBwZW4sIHRoZSBFdXRoYW5hc2lhIFByb2dyYW0sIGhhZCBkZW1v bnN0cmF0ZWQgdGhhdCByaWRkaW5nIHRoZQpSZWljaCBvZiBKZXdzIHdhcyBh IGRlc2lyZWQgb3V0Y29tZS4gIEZpbmFsbHksIHN0YXJ2aW5nIHRoZSBKZXdz IHRvIGRlYXRoCndhcyBjaGVhcGVyIHRoYW4gc2hvb3RpbmcgdGhlbSBvciBn YXNzaW5nIHRoZW0gYW5kIGFsbCBhdmFpbGFibGUgZm9vZHMgYW5kCm90aGVy IHN1cnZpdmFsIG5lY2Vzc2l0aWVzIHdlcmUgbmVlZGVkIGF0IHRoZSBmcm9u dCBmb3IgbWlsaXRhcnkKcGVyc29ubmVsLjxwPgogICAgIEFmdGVyIDE5NDIg YW5kIHRoZSBkZWNpc2lvbnMgcmVhY2hlZCBieSB0aGUgV2FubnNlZSBDb25m ZXJlbmNlLCB0aGUKbGlxdWlkYXRpb24gb2YgdGhlIGdoZXR0b3MgYmVjYW1l IGEgbXVjaCBtb3JlIHN5c3RlbWF0aWMgcHJvY2Vzcy4KPEEgSFJFRj0iaG9s by5odG1sIj48aW1nIGFsaWduPSJjZW50ZXIiIHNyYz0ibGVmdGFycm8uZ2lm IiBBTFQ9IlgiPC9hPiAKPGI+UmV0dXJuIHRvIEhvbG9jYXVzdCBQYWdlPC9i PgoKPC9odG1sPgoKCgoKCgoKCgoKCgoKCgogCgoKCg== ------------=_1583534837-35091-5--