Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Sun, 13 Oct 2002 23:46:13 +0600 From: Dmitry Suhodoev X-Priority: 3 (Normal) Message-ID: <14228166641.20021013234613@raven.elk.ru> To: cygwin AT cygwin DOT com Subject: cannot run apache with mod_php4 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----------7C62F4125AEBAE" Note-from-DJ: This may be spam ------------7C62F4125AEBAE Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit hi, cygwin when i'l trying start apache with mod_php4 they wan't work and write to log this: [Sun Oct 13 23:40:56 2002] [notice] Apache/1.3.24 (Cygwin) PHP/4.2.0 configured -- resuming normal operations [Sun Oct 13 23:40:56 2002] [notice] Accept mutex: pthread (Default: pthread) D:\work\cygwin\usr\sbin\httpd.exe: *** unable to remap D:\work\cygwin\bin\cygintl-1.dll to same address as parent -- 0xB60000 8 [main] httpd 2248 sync_with_child: child 1920(0x6AC) died before initialization with status code 0x1 31521 [main] httpd 2248 sync_with_child: *** child state child loading dlls [Sun Oct 13 23:40:57 2002] [error] (11)Resource temporarily unavailable: fork: Unable to fork new process my httpd.conf in attach. if i try remove lines LoadModule php4_module lib/apache/libphp4.dll AddModule mod_php4.c from my httpd.conf it works funny, but without php4 :( why they doesn't work? what i must make for working with php4 under cygwin? please help me. -- raVen, http://raven.elk.ru/, icq#550428 ... knowledge brings fear system uptime: 0d 7h 42m 52s 985ms ------------7C62F4125AEBAE Content-Type: application/octet-stream; name="httpd.conf" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="httpd.conf" IyMKIyMgaHR0cGQuY29uZiAtLSBBcGFjaGUgSFRUUCBzZXJ2ZXIgY29uZmlndXJhdGlvbiBmaWxl CiMjCgojCiMgQmFzZWQgdXBvbiB0aGUgTkNTQSBzZXJ2ZXIgY29uZmlndXJhdGlvbiBmaWxlcyBv cmlnaW5hbGx5IGJ5IFJvYiBNY0Nvb2wuCiMKIyBUaGlzIGlzIHRoZSBtYWluIEFwYWNoZSBzZXJ2 ZXIgY29uZmlndXJhdGlvbiBmaWxlLiAgSXQgY29udGFpbnMgdGhlCiMgY29uZmlndXJhdGlvbiBk aXJlY3RpdmVzIHRoYXQgZ2l2ZSB0aGUgc2VydmVyIGl0cyBpbnN0cnVjdGlvbnMuCiMgU2VlIDxV Ukw6aHR0cDovL3d3dy5hcGFjaGUub3JnL2RvY3MvPiBmb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24g YWJvdXQKIyB0aGUgZGlyZWN0aXZlcy4KIwojIERvIE5PVCBzaW1wbHkgcmVhZCB0aGUgaW5zdHJ1 Y3Rpb25zIGluIGhlcmUgd2l0aG91dCB1bmRlcnN0YW5kaW5nCiMgd2hhdCB0aGV5IGRvLiAgVGhl eSdyZSBoZXJlIG9ubHkgYXMgaGludHMgb3IgcmVtaW5kZXJzLiAgSWYgeW91IGFyZSB1bnN1cmUK IyBjb25zdWx0IHRoZSBvbmxpbmUgZG9jcy4gWW91IGhhdmUgYmVlbiB3YXJuZWQuCiMKIyBBZnRl ciB0aGlzIGZpbGUgaXMgcHJvY2Vzc2VkLCB0aGUgc2VydmVyIHdpbGwgbG9vayBmb3IgYW5kIHBy b2Nlc3MKIyAvdXNyL2NvbmYvc3JtLmNvbmYgYW5kIHRoZW4gL3Vzci9jb25mL2FjY2Vzcy5jb25m CiMgdW5sZXNzIHlvdSBoYXZlIG92ZXJyaWRkZW4gdGhlc2Ugd2l0aCBSZXNvdXJjZUNvbmZpZyBh bmQvb3IKIyBBY2Nlc3NDb25maWcgZGlyZWN0aXZlcyBoZXJlLgojCiMgVGhlIGNvbmZpZ3VyYXRp b24gZGlyZWN0aXZlcyBhcmUgZ3JvdXBlZCBpbnRvIHRocmVlIGJhc2ljIHNlY3Rpb25zOgojICAx LiBEaXJlY3RpdmVzIHRoYXQgY29udHJvbCB0aGUgb3BlcmF0aW9uIG9mIHRoZSBBcGFjaGUgc2Vy dmVyIHByb2Nlc3MgYXMgYQojICAgICB3aG9sZSAodGhlICdnbG9iYWwgZW52aXJvbm1lbnQnKS4K IyAgMi4gRGlyZWN0aXZlcyB0aGF0IGRlZmluZSB0aGUgcGFyYW1ldGVycyBvZiB0aGUgJ21haW4n IG9yICdkZWZhdWx0JyBzZXJ2ZXIsCiMgICAgIHdoaWNoIHJlc3BvbmRzIHRvIHJlcXVlc3RzIHRo YXQgYXJlbid0IGhhbmRsZWQgYnkgYSB2aXJ0dWFsIGhvc3QuCiMgICAgIFRoZXNlIGRpcmVjdGl2 ZXMgYWxzbyBwcm92aWRlIGRlZmF1bHQgdmFsdWVzIGZvciB0aGUgc2V0dGluZ3MKIyAgICAgb2Yg YWxsIHZpcnR1YWwgaG9zdHMuCiMgIDMuIFNldHRpbmdzIGZvciB2aXJ0dWFsIGhvc3RzLCB3aGlj aCBhbGxvdyBXZWIgcmVxdWVzdHMgdG8gYmUgc2VudCB0bwojICAgICBkaWZmZXJlbnQgSVAgYWRk cmVzc2VzIG9yIGhvc3RuYW1lcyBhbmQgaGF2ZSB0aGVtIGhhbmRsZWQgYnkgdGhlCiMgICAgIHNh bWUgQXBhY2hlIHNlcnZlciBwcm9jZXNzLgojCiMgQ29uZmlndXJhdGlvbiBhbmQgbG9nZmlsZSBu YW1lczogSWYgdGhlIGZpbGVuYW1lcyB5b3Ugc3BlY2lmeSBmb3IgbWFueQojIG9mIHRoZSBzZXJ2 ZXIncyBjb250cm9sIGZpbGVzIGJlZ2luIHdpdGggIi8iIChvciAiZHJpdmU6LyIgZm9yIFdpbjMy KSwgdGhlCiMgc2VydmVyIHdpbGwgdXNlIHRoYXQgZXhwbGljaXQgcGF0aC4gIElmIHRoZSBmaWxl bmFtZXMgZG8gKm5vdCogYmVnaW4KIyB3aXRoICIvIiwgdGhlIHZhbHVlIG9mIFNlcnZlclJvb3Qg aXMgcHJlcGVuZGVkIC0tIHNvICJsb2dzL2Zvby5sb2ciCiMgd2l0aCBTZXJ2ZXJSb290IHNldCB0 byAiL3Vzci9sb2NhbC9hcGFjaGUiIHdpbGwgYmUgaW50ZXJwcmV0ZWQgYnkgdGhlCiMgc2VydmVy IGFzICIvdXNyL2xvY2FsL2FwYWNoZS9sb2dzL2Zvby5sb2ciLgojCgojIyMgU2VjdGlvbiAxOiBH bG9iYWwgRW52aXJvbm1lbnQKIwojIFRoZSBkaXJlY3RpdmVzIGluIHRoaXMgc2VjdGlvbiBhZmZl Y3QgdGhlIG92ZXJhbGwgb3BlcmF0aW9uIG9mIEFwYWNoZSwKIyBzdWNoIGFzIHRoZSBudW1iZXIg b2YgY29uY3VycmVudCByZXF1ZXN0cyBpdCBjYW4gaGFuZGxlIG9yIHdoZXJlIGl0CiMgY2FuIGZp bmQgaXRzIGNvbmZpZ3VyYXRpb24gZmlsZXMuCiMKCiMKIyBTZXJ2ZXJUeXBlIGlzIGVpdGhlciBp bmV0ZCwgb3Igc3RhbmRhbG9uZS4gIEluZXRkIG1vZGUgaXMgb25seSBzdXBwb3J0ZWQgb24KIyBV bml4IHBsYXRmb3Jtcy4KIwpTZXJ2ZXJUeXBlIHN0YW5kYWxvbmUKCiMKIyBTZXJ2ZXJSb290OiBU aGUgdG9wIG9mIHRoZSBkaXJlY3RvcnkgdHJlZSB1bmRlciB3aGljaCB0aGUgc2VydmVyJ3MKIyBj b25maWd1cmF0aW9uLCBlcnJvciwgYW5kIGxvZyBmaWxlcyBhcmUga2VwdC4KIwojIE5PVEUhICBJ ZiB5b3UgaW50ZW5kIHRvIHBsYWNlIHRoaXMgb24gYW4gTkZTIChvciBvdGhlcndpc2UgbmV0d29y aykKIyBtb3VudGVkIGZpbGVzeXN0ZW0gdGhlbiBwbGVhc2UgcmVhZCB0aGUgTG9ja0ZpbGUgZG9j dW1lbnRhdGlvbgojIChhdmFpbGFibGUgYXQgPFVSTDpodHRwOi8vd3d3LmFwYWNoZS5vcmcvZG9j cy9tb2QvY29yZS5odG1sI2xvY2tmaWxlPik7CiMgeW91IHdpbGwgc2F2ZSB5b3Vyc2VsZiBhIGxv dCBvZiB0cm91YmxlLgojClNlcnZlclJvb3QgIi91c3IiCgojCiMgVGhlIExvY2tGaWxlIGRpcmVj dGl2ZSBzZXRzIHRoZSBwYXRoIHRvIHRoZSBsb2NrZmlsZSB1c2VkIHdoZW4gQXBhY2hlCiMgaXMg Y29tcGlsZWQgd2l0aCBlaXRoZXIgVVNFX0ZDTlRMX1NFUklBTElaRURfQUNDRVBUIG9yCiMgVVNF X0ZMT0NLX1NFUklBTElaRURfQUNDRVBULiBUaGlzIGRpcmVjdGl2ZSBzaG91bGQgbm9ybWFsbHkg YmUgbGVmdCBhdAojIGl0cyBkZWZhdWx0IHZhbHVlLiBUaGUgbWFpbiByZWFzb24gZm9yIGNoYW5n aW5nIGl0IGlzIGlmIHRoZSBsb2dzCiMgZGlyZWN0b3J5IGlzIE5GUyBtb3VudGVkLCBzaW5jZSB0 aGUgbG9ja2ZpbGUgTVVTVCBCRSBTVE9SRUQgT04gQSBMT0NBTAojIERJU0suIFRoZSBQSUQgb2Yg dGhlIG1haW4gc2VydmVyIHByb2Nlc3MgaXMgYXV0b21hdGljYWxseSBhcHBlbmRlZCB0bwojIHRo ZSBmaWxlbmFtZS4KIwpMb2NrRmlsZSAvdmFyL3J1bi9odHRwZC5sb2NrCgojCiMgUGlkRmlsZTog VGhlIGZpbGUgaW4gd2hpY2ggdGhlIHNlcnZlciBzaG91bGQgcmVjb3JkIGl0cyBwcm9jZXNzCiMg aWRlbnRpZmljYXRpb24gbnVtYmVyIHdoZW4gaXQgc3RhcnRzLgojClBpZEZpbGUgL3Zhci9ydW4v aHR0cGQucGlkCgojCiMgU2NvcmVCb2FyZEZpbGU6IEZpbGUgdXNlZCB0byBzdG9yZSBpbnRlcm5h bCBzZXJ2ZXIgcHJvY2VzcyBpbmZvcm1hdGlvbi4KIyBOb3QgYWxsIGFyY2hpdGVjdHVyZXMgcmVx dWlyZSB0aGlzLiAgQnV0IGlmIHlvdXJzIGRvZXMgKHlvdSdsbCBrbm93IGJlY2F1c2UKIyB0aGlz IGZpbGUgd2lsbCBiZSAgY3JlYXRlZCB3aGVuIHlvdSBydW4gQXBhY2hlKSB0aGVuIHlvdSAqbXVz dCogZW5zdXJlIHRoYXQKIyBubyB0d28gaW52b2NhdGlvbnMgb2YgQXBhY2hlIHNoYXJlIHRoZSBz YW1lIHNjb3JlYm9hcmQgZmlsZS4KIwpTY29yZUJvYXJkRmlsZSAvdmFyL3J1bi9odHRwZC5zY29y ZWJvYXJkCgojCiMgSW4gdGhlIHN0YW5kYXJkIGNvbmZpZ3VyYXRpb24sIHRoZSBzZXJ2ZXIgd2ls bCBwcm9jZXNzIGh0dHBkLmNvbmYgKHRoaXMKIyBmaWxlLCBzcGVjaWZpZWQgYnkgdGhlIC1mIGNv bW1hbmQgbGluZSBvcHRpb24pLCBzcm0uY29uZiwgYW5kIGFjY2Vzcy5jb25mCiMgaW4gdGhhdCBv cmRlci4gIFRoZSBsYXR0ZXIgdHdvIGZpbGVzIGFyZSBub3cgZGlzdHJpYnV0ZWQgZW1wdHksIGFz IGl0IGlzCiMgcmVjb21tZW5kZWQgdGhhdCBhbGwgZGlyZWN0aXZlcyBiZSBrZXB0IGluIGEgc2lu Z2xlIGZpbGUgZm9yIHNpbXBsaWNpdHkuCiMgVGhlIGNvbW1lbnRlZC1vdXQgdmFsdWVzIGJlbG93 IGFyZSB0aGUgYnVpbHQtaW4gZGVmYXVsdHMuICBZb3UgY2FuIGhhdmUgdGhlCiMgc2VydmVyIGln bm9yZSB0aGVzZSBmaWxlcyBhbHRvZ2V0aGVyIGJ5IHVzaW5nICIvZGV2L251bGwiIChmb3IgVW5p eCkgb3IKIyAibnVsIiAoZm9yIFdpbjMyKSBmb3IgdGhlIGFyZ3VtZW50cyB0byB0aGUgZGlyZWN0 aXZlcy4KIwojUmVzb3VyY2VDb25maWcgY29uZi9zcm0uY29uZgojQWNjZXNzQ29uZmlnIGNvbmYv YWNjZXNzLmNvbmYKCiMKIyBUaW1lb3V0OiBUaGUgbnVtYmVyIG9mIHNlY29uZHMgYmVmb3JlIHJl Y2VpdmVzIGFuZCBzZW5kcyB0aW1lIG91dC4KIwpUaW1lb3V0IDMwMAoKIwojIEtlZXBBbGl2ZTog V2hldGhlciBvciBub3QgdG8gYWxsb3cgcGVyc2lzdGVudCBjb25uZWN0aW9ucyAobW9yZSB0aGFu CiMgb25lIHJlcXVlc3QgcGVyIGNvbm5lY3Rpb24pLiBTZXQgdG8gIk9mZiIgdG8gZGVhY3RpdmF0 ZS4KIwpLZWVwQWxpdmUgT2ZmCgojCiMgTWF4S2VlcEFsaXZlUmVxdWVzdHM6IFRoZSBtYXhpbXVt IG51bWJlciBvZiByZXF1ZXN0cyB0byBhbGxvdwojIGR1cmluZyBhIHBlcnNpc3RlbnQgY29ubmVj dGlvbi4gU2V0IHRvIDAgdG8gYWxsb3cgYW4gdW5saW1pdGVkIGFtb3VudC4KIyBXZSByZWNvbW1l bmQgeW91IGxlYXZlIHRoaXMgbnVtYmVyIGhpZ2gsIGZvciBtYXhpbXVtIHBlcmZvcm1hbmNlLgoj Ck1heEtlZXBBbGl2ZVJlcXVlc3RzIDAKCiMKIyBLZWVwQWxpdmVUaW1lb3V0OiBOdW1iZXIgb2Yg c2Vjb25kcyB0byB3YWl0IGZvciB0aGUgbmV4dCByZXF1ZXN0IGZyb20gdGhlCiMgc2FtZSBjbGll bnQgb24gdGhlIHNhbWUgY29ubmVjdGlvbi4KIwpLZWVwQWxpdmVUaW1lb3V0IDAKCiMKIyBTZXJ2 ZXItcG9vbCBzaXplIHJlZ3VsYXRpb24uICBSYXRoZXIgdGhhbiBtYWtpbmcgeW91IGd1ZXNzIGhv dyBtYW55CiMgc2VydmVyIHByb2Nlc3NlcyB5b3UgbmVlZCwgQXBhY2hlIGR5bmFtaWNhbGx5IGFk YXB0cyB0byB0aGUgbG9hZCBpdAojIHNlZXMgLS0tIHRoYXQgaXMsIGl0IHRyaWVzIHRvIG1haW50 YWluIGVub3VnaCBzZXJ2ZXIgcHJvY2Vzc2VzIHRvCiMgaGFuZGxlIHRoZSBjdXJyZW50IGxvYWQs IHBsdXMgYSBmZXcgc3BhcmUgc2VydmVycyB0byBoYW5kbGUgdHJhbnNpZW50CiMgbG9hZCBzcGlr ZXMgKGUuZy4sIG11bHRpcGxlIHNpbXVsdGFuZW91cyByZXF1ZXN0cyBmcm9tIGEgc2luZ2xlCiMg TmV0c2NhcGUgYnJvd3NlcikuCiMKIyBJdCBkb2VzIHRoaXMgYnkgcGVyaW9kaWNhbGx5IGNoZWNr aW5nIGhvdyBtYW55IHNlcnZlcnMgYXJlIHdhaXRpbmcKIyBmb3IgYSByZXF1ZXN0LiAgSWYgdGhl cmUgYXJlIGZld2VyIHRoYW4gTWluU3BhcmVTZXJ2ZXJzLCBpdCBjcmVhdGVzCiMgYSBuZXcgc3Bh cmUuICBJZiB0aGVyZSBhcmUgbW9yZSB0aGFuIE1heFNwYXJlU2VydmVycywgc29tZSBvZiB0aGUK IyBzcGFyZXMgZGllIG9mZi4gIFRoZSBkZWZhdWx0IHZhbHVlcyBhcmUgcHJvYmFibHkgT0sgZm9y IG1vc3Qgc2l0ZXMuCiMKTWluU3BhcmVTZXJ2ZXJzIDAKTWF4U3BhcmVTZXJ2ZXJzIDAKCiMKIyBO dW1iZXIgb2Ygc2VydmVycyB0byBzdGFydCBpbml0aWFsbHkgLS0tIHNob3VsZCBiZSBhIHJlYXNv bmFibGUgYmFsbHBhcmsKIyBmaWd1cmUuCiMKU3RhcnRTZXJ2ZXJzIDAKCiMKIyBMaW1pdCBvbiB0 b3RhbCBudW1iZXIgb2Ygc2VydmVycyBydW5uaW5nLCBpLmUuLCBsaW1pdCBvbiB0aGUgbnVtYmVy CiMgb2YgY2xpZW50cyB3aG8gY2FuIHNpbXVsdGFuZW91c2x5IGNvbm5lY3QgLS0tIGlmIHRoaXMg bGltaXQgaXMgZXZlcgojIHJlYWNoZWQsIGNsaWVudHMgd2lsbCBiZSBMT0NLRUQgT1VULCBzbyBp dCBzaG91bGQgTk9UIEJFIFNFVCBUT08gTE9XLgojIEl0IGlzIGludGVuZGVkIG1haW5seSBhcyBh IGJyYWtlIHRvIGtlZXAgYSBydW5hd2F5IHNlcnZlciBmcm9tIHRha2luZwojIHRoZSBzeXN0ZW0g d2l0aCBpdCBhcyBpdCBzcGlyYWxzIGRvd24uLi4KIwpNYXhDbGllbnRzIDAKCiMKIyBNYXhSZXF1 ZXN0c1BlckNoaWxkOiB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIGVhY2ggY2hpbGQgcHJvY2VzcyBp cwojIGFsbG93ZWQgdG8gcHJvY2VzcyBiZWZvcmUgdGhlIGNoaWxkIGRpZXMuICBUaGUgY2hpbGQg d2lsbCBleGl0IHNvCiMgYXMgdG8gYXZvaWQgcHJvYmxlbXMgYWZ0ZXIgcHJvbG9uZ2VkIHVzZSB3 aGVuIEFwYWNoZSAoYW5kIG1heWJlIHRoZQojIGxpYnJhcmllcyBpdCB1c2VzKSBsZWFrIG1lbW9y eSBvciBvdGhlciByZXNvdXJjZXMuICBPbiBtb3N0IHN5c3RlbXMsIHRoaXMKIyBpc24ndCByZWFs bHkgbmVlZGVkLCBidXQgYSBmZXcgKHN1Y2ggYXMgU29sYXJpcykgZG8gaGF2ZSBub3RhYmxlIGxl YWtzCiMgaW4gdGhlIGxpYnJhcmllcy4gRm9yIHRoZXNlIHBsYXRmb3Jtcywgc2V0IHRvIHNvbWV0 aGluZyBsaWtlIDEwMDAwCiMgb3Igc287IGEgc2V0dGluZyBvZiAwIG1lYW5zIHVubGltaXRlZC4K IwojIE5PVEU6IFRoaXMgdmFsdWUgZG9lcyBub3QgaW5jbHVkZSBrZWVwYWxpdmUgcmVxdWVzdHMg YWZ0ZXIgdGhlIGluaXRpYWwKIyAgICAgICByZXF1ZXN0IHBlciBjb25uZWN0aW9uLiBGb3IgZXhh bXBsZSwgaWYgYSBjaGlsZCBwcm9jZXNzIGhhbmRsZXMKIyAgICAgICBhbiBpbml0aWFsIHJlcXVl c3QgYW5kIDEwIHN1YnNlcXVlbnQgImtlcHRhbGl2ZSIgcmVxdWVzdHMsIGl0CiMgICAgICAgd291 bGQgb25seSBjb3VudCBhcyAxIHJlcXVlc3QgdG93YXJkcyB0aGlzIGxpbWl0LgojCk1heFJlcXVl c3RzUGVyQ2hpbGQgMQoKIwojIExpc3RlbjogQWxsb3dzIHlvdSB0byBiaW5kIEFwYWNoZSB0byBz cGVjaWZpYyBJUCBhZGRyZXNzZXMgYW5kL29yCiMgcG9ydHMsIGluIGFkZGl0aW9uIHRvIHRoZSBk ZWZhdWx0LiBTZWUgYWxzbyB0aGUgPFZpcnR1YWxIb3N0PgojIGRpcmVjdGl2ZS4KIwojTGlzdGVu IDMwMDAKI0xpc3RlbiAxMi4zNC41Ni43ODo4MAoKIwojIEJpbmRBZGRyZXNzOiBZb3UgY2FuIHN1 cHBvcnQgdmlydHVhbCBob3N0cyB3aXRoIHRoaXMgb3B0aW9uLiBUaGlzIGRpcmVjdGl2ZQojIGlz IHVzZWQgdG8gdGVsbCB0aGUgc2VydmVyIHdoaWNoIElQIGFkZHJlc3MgdG8gbGlzdGVuIHRvLiBJ dCBjYW4gZWl0aGVyCiMgY29udGFpbiAiKiIsIGFuIElQIGFkZHJlc3MsIG9yIGEgZnVsbHkgcXVh bGlmaWVkIEludGVybmV0IGRvbWFpbiBuYW1lLgojIFNlZSBhbHNvIHRoZSA8VmlydHVhbEhvc3Q+ IGFuZCBMaXN0ZW4gZGlyZWN0aXZlcy4KIwpCaW5kQWRkcmVzcyAxMjcuMC4wLjEKCiMKIyBEeW5h bWljIFNoYXJlZCBPYmplY3QgKERTTykgU3VwcG9ydAojCiMgVG8gYmUgYWJsZSB0byB1c2UgdGhl IGZ1bmN0aW9uYWxpdHkgb2YgYSBtb2R1bGUgd2hpY2ggd2FzIGJ1aWx0IGFzIGEgRFNPIHlvdQoj IGhhdmUgdG8gcGxhY2UgY29ycmVzcG9uZGluZyBgTG9hZE1vZHVsZScgbGluZXMgYXQgdGhpcyBs b2NhdGlvbiBzbyB0aGUKIyBkaXJlY3RpdmVzIGNvbnRhaW5lZCBpbiBpdCBhcmUgYWN0dWFsbHkg YXZhaWxhYmxlIF9iZWZvcmVfIHRoZXkgYXJlIHVzZWQuCiMgUGxlYXNlIHJlYWQgdGhlIGZpbGUg aHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy9kc28uaHRtbCBmb3IgbW9yZQojIGRldGFpbHMg YWJvdXQgdGhlIERTTyBtZWNoYW5pc20gYW5kIHJ1biBgaHR0cGQgLWwnIGZvciB0aGUgbGlzdCBv ZiBhbHJlYWR5CiMgYnVpbHQtaW4gKHN0YXRpY2FsbHkgbGlua2VkIGFuZCB0aHVzIGFsd2F5cyBh dmFpbGFibGUpIG1vZHVsZXMgaW4geW91ciBodHRwZAojIGJpbmFyeS4KIwojIE5vdGU6IFRoZSBv cmRlciBpbiB3aGljaCBtb2R1bGVzIGFyZSBsb2FkZWQgaXMgaW1wb3J0YW50LiAgRG9uJ3QgY2hh bmdlCiMgdGhlIG9yZGVyIGJlbG93IHdpdGhvdXQgZXhwZXJ0IGFkdmljZS4KIwojIEV4YW1wbGU6 CiMgTG9hZE1vZHVsZSBmb29fbW9kdWxlIGxpYmV4ZWMvbW9kX2Zvby5zbwpMb2FkTW9kdWxlIHZo b3N0X2FsaWFzX21vZHVsZSBsaWIvYXBhY2hlL21vZF92aG9zdF9hbGlhcy5kbGwKTG9hZE1vZHVs ZSBlbnZfbW9kdWxlICAgICAgICAgbGliL2FwYWNoZS9tb2RfZW52LmRsbApMb2FkTW9kdWxlIGNv bmZpZ19sb2dfbW9kdWxlICBsaWIvYXBhY2hlL21vZF9sb2dfY29uZmlnLmRsbApMb2FkTW9kdWxl IG1pbWVfbWFnaWNfbW9kdWxlICBsaWIvYXBhY2hlL21vZF9taW1lX21hZ2ljLmRsbApMb2FkTW9k dWxlIG1pbWVfbW9kdWxlICAgICAgICBsaWIvYXBhY2hlL21vZF9taW1lLmRsbApMb2FkTW9kdWxl IG5lZ290aWF0aW9uX21vZHVsZSBsaWIvYXBhY2hlL21vZF9uZWdvdGlhdGlvbi5kbGwKTG9hZE1v ZHVsZSBzdGF0dXNfbW9kdWxlICAgICAgbGliL2FwYWNoZS9tb2Rfc3RhdHVzLmRsbApMb2FkTW9k dWxlIGluZm9fbW9kdWxlICAgICAgICBsaWIvYXBhY2hlL21vZF9pbmZvLmRsbApMb2FkTW9kdWxl IGluY2x1ZGVzX21vZHVsZSAgICBsaWIvYXBhY2hlL21vZF9pbmNsdWRlLmRsbApMb2FkTW9kdWxl IGF1dG9pbmRleF9tb2R1bGUgICBsaWIvYXBhY2hlL21vZF9hdXRvaW5kZXguZGxsCkxvYWRNb2R1 bGUgZGlyX21vZHVsZSAgICAgICAgIGxpYi9hcGFjaGUvbW9kX2Rpci5kbGwKTG9hZE1vZHVsZSBj Z2lfbW9kdWxlICAgICAgICAgbGliL2FwYWNoZS9tb2RfY2dpLmRsbApMb2FkTW9kdWxlIGFzaXNf bW9kdWxlICAgICAgICBsaWIvYXBhY2hlL21vZF9hc2lzLmRsbApMb2FkTW9kdWxlIGltYXBfbW9k dWxlICAgICAgICBsaWIvYXBhY2hlL21vZF9pbWFwLmRsbApMb2FkTW9kdWxlIGFjdGlvbl9tb2R1 bGUgICAgICBsaWIvYXBhY2hlL21vZF9hY3Rpb25zLmRsbApMb2FkTW9kdWxlIHNwZWxpbmdfbW9k dWxlICAgICBsaWIvYXBhY2hlL21vZF9zcGVsaW5nLmRsbApMb2FkTW9kdWxlIHVzZXJkaXJfbW9k dWxlICAgICBsaWIvYXBhY2hlL21vZF91c2VyZGlyLmRsbApMb2FkTW9kdWxlIGFsaWFzX21vZHVs ZSAgICAgICBsaWIvYXBhY2hlL21vZF9hbGlhcy5kbGwKTG9hZE1vZHVsZSByZXdyaXRlX21vZHVs ZSAgICAgbGliL2FwYWNoZS9tb2RfcmV3cml0ZS5kbGwKTG9hZE1vZHVsZSBhY2Nlc3NfbW9kdWxl ICAgICAgbGliL2FwYWNoZS9tb2RfYWNjZXNzLmRsbApMb2FkTW9kdWxlIGF1dGhfbW9kdWxlICAg ICAgICBsaWIvYXBhY2hlL21vZF9hdXRoLmRsbApMb2FkTW9kdWxlIGFub25fYXV0aF9tb2R1bGUg ICBsaWIvYXBhY2hlL21vZF9hdXRoX2Fub24uZGxsCkxvYWRNb2R1bGUgZGJtX2F1dGhfbW9kdWxl ICAgIGxpYi9hcGFjaGUvbW9kX2F1dGhfZGJtLmRsbApMb2FkTW9kdWxlIGRpZ2VzdF9tb2R1bGUg ICAgICBsaWIvYXBhY2hlL21vZF9kaWdlc3QuZGxsCkxvYWRNb2R1bGUgcHJveHlfbW9kdWxlICAg ICAgIGxpYi9hcGFjaGUvbGlicHJveHkuZGxsCkxvYWRNb2R1bGUgY2Vybl9tZXRhX21vZHVsZSAg IGxpYi9hcGFjaGUvbW9kX2Nlcm5fbWV0YS5kbGwKTG9hZE1vZHVsZSBleHBpcmVzX21vZHVsZSAg ICAgbGliL2FwYWNoZS9tb2RfZXhwaXJlcy5kbGwKTG9hZE1vZHVsZSBoZWFkZXJzX21vZHVsZSAg ICAgbGliL2FwYWNoZS9tb2RfaGVhZGVycy5kbGwKTG9hZE1vZHVsZSB1c2VydHJhY2tfbW9kdWxl ICAgbGliL2FwYWNoZS9tb2RfdXNlcnRyYWNrLmRsbApMb2FkTW9kdWxlIHVuaXF1ZV9pZF9tb2R1 bGUgICBsaWIvYXBhY2hlL21vZF91bmlxdWVfaWQuZGxsCkxvYWRNb2R1bGUgc2V0ZW52aWZfbW9k dWxlICAgIGxpYi9hcGFjaGUvbW9kX3NldGVudmlmLmRsbApMb2FkTW9kdWxlIHBocDRfbW9kdWxl ICAgICAgICBsaWIvYXBhY2hlL2xpYnBocDQuZGxsCgojICBSZWNvbnN0cnVjdGlvbiBvZiB0aGUg Y29tcGxldGUgbW9kdWxlIGxpc3QgZnJvbSBhbGwgYXZhaWxhYmxlIG1vZHVsZXMKIyAgKHN0YXRp YyBhbmQgc2hhcmVkIG9uZXMpIHRvIGFjaGlldmUgY29ycmVjdCBtb2R1bGUgZXhlY3V0aW9uIG9y ZGVyLgojICBbV0hFTkVWRVIgWU9VIENIQU5HRSBUSEUgTE9BRE1PRFVMRSBTRUNUSU9OIEFCT1ZF IFVQREFURSBUSElTLCBUT09dCkNsZWFyTW9kdWxlTGlzdApBZGRNb2R1bGUgbW9kX3Zob3N0X2Fs aWFzLmMKQWRkTW9kdWxlIG1vZF9lbnYuYwpBZGRNb2R1bGUgbW9kX2xvZ19jb25maWcuYwpBZGRN b2R1bGUgbW9kX21pbWVfbWFnaWMuYwpBZGRNb2R1bGUgbW9kX21pbWUuYwpBZGRNb2R1bGUgbW9k X25lZ290aWF0aW9uLmMKQWRkTW9kdWxlIG1vZF9zdGF0dXMuYwpBZGRNb2R1bGUgbW9kX2luZm8u YwpBZGRNb2R1bGUgbW9kX2luY2x1ZGUuYwpBZGRNb2R1bGUgbW9kX2F1dG9pbmRleC5jCkFkZE1v ZHVsZSBtb2RfZGlyLmMKQWRkTW9kdWxlIG1vZF9jZ2kuYwpBZGRNb2R1bGUgbW9kX2FzaXMuYwpB ZGRNb2R1bGUgbW9kX2ltYXAuYwpBZGRNb2R1bGUgbW9kX2FjdGlvbnMuYwpBZGRNb2R1bGUgbW9k X3NwZWxpbmcuYwpBZGRNb2R1bGUgbW9kX3VzZXJkaXIuYwpBZGRNb2R1bGUgbW9kX2FsaWFzLmMK QWRkTW9kdWxlIG1vZF9yZXdyaXRlLmMKQWRkTW9kdWxlIG1vZF9hY2Nlc3MuYwpBZGRNb2R1bGUg bW9kX2F1dGguYwpBZGRNb2R1bGUgbW9kX2F1dGhfYW5vbi5jCkFkZE1vZHVsZSBtb2RfYXV0aF9k Ym0uYwpBZGRNb2R1bGUgbW9kX2RpZ2VzdC5jCkFkZE1vZHVsZSBtb2RfcHJveHkuYwpBZGRNb2R1 bGUgbW9kX2Nlcm5fbWV0YS5jCkFkZE1vZHVsZSBtb2RfZXhwaXJlcy5jCkFkZE1vZHVsZSBtb2Rf aGVhZGVycy5jCkFkZE1vZHVsZSBtb2RfdXNlcnRyYWNrLmMKQWRkTW9kdWxlIG1vZF91bmlxdWVf aWQuYwpBZGRNb2R1bGUgbW9kX3NvLmMKQWRkTW9kdWxlIG1vZF9zZXRlbnZpZi5jCkFkZE1vZHVs ZSBtb2RfcGhwNC5jCgojCiMgRXh0ZW5kZWRTdGF0dXMgY29udHJvbHMgd2hldGhlciBBcGFjaGUg d2lsbCBnZW5lcmF0ZSAiZnVsbCIgc3RhdHVzCiMgaW5mb3JtYXRpb24gKEV4dGVuZGVkU3RhdHVz IE9uKSBvciBqdXN0IGJhc2ljIGluZm9ybWF0aW9uIChFeHRlbmRlZFN0YXR1cwojIE9mZikgd2hl biB0aGUgInNlcnZlci1zdGF0dXMiIGhhbmRsZXIgaXMgY2FsbGVkLiBUaGUgZGVmYXVsdCBpcyBP ZmYuCiMKI0V4dGVuZGVkU3RhdHVzIE9uCgojIyMgU2VjdGlvbiAyOiAnTWFpbicgc2VydmVyIGNv bmZpZ3VyYXRpb24KIwojIFRoZSBkaXJlY3RpdmVzIGluIHRoaXMgc2VjdGlvbiBzZXQgdXAgdGhl IHZhbHVlcyB1c2VkIGJ5IHRoZSAnbWFpbicKIyBzZXJ2ZXIsIHdoaWNoIHJlc3BvbmRzIHRvIGFu eSByZXF1ZXN0cyB0aGF0IGFyZW4ndCBoYW5kbGVkIGJ5IGEKIyA8VmlydHVhbEhvc3Q+IGRlZmlu aXRpb24uICBUaGVzZSB2YWx1ZXMgYWxzbyBwcm92aWRlIGRlZmF1bHRzIGZvcgojIGFueSA8Vmly dHVhbEhvc3Q+IGNvbnRhaW5lcnMgeW91IG1heSBkZWZpbmUgbGF0ZXIgaW4gdGhlIGZpbGUuCiMK IyBBbGwgb2YgdGhlc2UgZGlyZWN0aXZlcyBtYXkgYXBwZWFyIGluc2lkZSA8VmlydHVhbEhvc3Q+ IGNvbnRhaW5lcnMsCiMgaW4gd2hpY2ggY2FzZSB0aGVzZSBkZWZhdWx0IHNldHRpbmdzIHdpbGwg YmUgb3ZlcnJpZGRlbiBmb3IgdGhlCiMgdmlydHVhbCBob3N0IGJlaW5nIGRlZmluZWQuCiMKCiMK IyBJZiB5b3VyIFNlcnZlclR5cGUgZGlyZWN0aXZlIChzZXQgZWFybGllciBpbiB0aGUgJ0dsb2Jh bCBFbnZpcm9ubWVudCcKIyBzZWN0aW9uKSBpcyBzZXQgdG8gImluZXRkIiwgdGhlIG5leHQgZmV3 IGRpcmVjdGl2ZXMgZG9uJ3QgaGF2ZSBhbnkKIyBlZmZlY3Qgc2luY2UgdGhlaXIgc2V0dGluZ3Mg YXJlIGRlZmluZWQgYnkgdGhlIGluZXRkIGNvbmZpZ3VyYXRpb24uCiMgU2tpcCBhaGVhZCB0byB0 aGUgU2VydmVyQWRtaW4gZGlyZWN0aXZlLgojCgojCiMgUG9ydDogVGhlIHBvcnQgdG8gd2hpY2gg dGhlIHN0YW5kYWxvbmUgc2VydmVyIGxpc3RlbnMuIEZvcgojIHBvcnRzIDwgMTAyMywgeW91IHdp bGwgbmVlZCBodHRwZCB0byBiZSBydW4gYXMgcm9vdCBpbml0aWFsbHkuCiMKUG9ydCA4MAoKIwoj IElmIHlvdSB3aXNoIGh0dHBkIHRvIHJ1biBhcyBhIGRpZmZlcmVudCB1c2VyIG9yIGdyb3VwLCB5 b3UgbXVzdCBydW4KIyBodHRwZCBhcyByb290IGluaXRpYWxseSBhbmQgaXQgd2lsbCBzd2l0Y2gu CiMKIyBVc2VyL0dyb3VwOiBUaGUgbmFtZSAob3IgI251bWJlcikgb2YgdGhlIHVzZXIvZ3JvdXAg dG8gcnVuIGh0dHBkIGFzLgojICAuIE9uIFNDTyAoT0RUIDMpIHVzZSAiVXNlciBub3VzZXIiIGFu ZCAiR3JvdXAgbm9ncm91cCIuCiMgIC4gT24gSFBVWCB5b3UgbWF5IG5vdCBiZSBhYmxlIHRvIHVz ZSBzaGFyZWQgbWVtb3J5IGFzIG5vYm9keSwgYW5kIHRoZQojICAgIHN1Z2dlc3RlZCB3b3JrYXJv dW5kIGlzIHRvIGNyZWF0ZSBhIHVzZXIgd3d3IGFuZCB1c2UgdGhhdCB1c2VyLgojICBOT1RFIHRo YXQgc29tZSBrZXJuZWxzIHJlZnVzZSB0byBzZXRnaWQoR3JvdXApIG9yIHNlbWN0bChJUENfU0VU KQojICB3aGVuIHRoZSB2YWx1ZSBvZiAodW5zaWduZWQpR3JvdXAgaXMgYWJvdmUgNjAwMDA7CiMg IGRvbid0IHVzZSBHcm91cCAjLTEgb24gdGhlc2Ugc3lzdGVtcyEKIwojVXNlciBub2JvZHkKI0dy b3VwICMtMQoKIwojIFNlcnZlckFkbWluOiBZb3VyIGFkZHJlc3MsIHdoZXJlIHByb2JsZW1zIHdp dGggdGhlIHNlcnZlciBzaG91bGQgYmUKIyBlLW1haWxlZC4gIFRoaXMgYWRkcmVzcyBhcHBlYXJz IG9uIHNvbWUgc2VydmVyLWdlbmVyYXRlZCBwYWdlcywgc3VjaAojIGFzIGVycm9yIGRvY3VtZW50 cy4KIwpTZXJ2ZXJBZG1pbiByYXZlbkBmaWRvLnVyYy5hYy5ydQoKIwojIFNlcnZlck5hbWUgYWxs b3dzIHlvdSB0byBzZXQgYSBob3N0IG5hbWUgd2hpY2ggaXMgc2VudCBiYWNrIHRvIGNsaWVudHMg Zm9yCiMgeW91ciBzZXJ2ZXIgaWYgaXQncyBkaWZmZXJlbnQgdGhhbiB0aGUgb25lIHRoZSBwcm9n cmFtIHdvdWxkIGdldCAoaS5lLiwgdXNlCiMgInd3dyIgaW5zdGVhZCBvZiB0aGUgaG9zdCdzIHJl YWwgbmFtZSkuCiMKIyBOb3RlOiBZb3UgY2Fubm90IGp1c3QgaW52ZW50IGhvc3QgbmFtZXMgYW5k IGhvcGUgdGhleSB3b3JrLiBUaGUgbmFtZSB5b3UKIyBkZWZpbmUgaGVyZSBtdXN0IGJlIGEgdmFs aWQgRE5TIG5hbWUgZm9yIHlvdXIgaG9zdC4gSWYgeW91IGRvbid0IHVuZGVyc3RhbmQKIyB0aGlz LCBhc2sgeW91ciBuZXR3b3JrIGFkbWluaXN0cmF0b3IuCiMgSWYgeW91ciBob3N0IGRvZXNuJ3Qg aGF2ZSBhIHJlZ2lzdGVyZWQgRE5TIG5hbWUsIGVudGVyIGl0cyBJUCBhZGRyZXNzIGhlcmUuCiMg WW91IHdpbGwgaGF2ZSB0byBhY2Nlc3MgaXQgYnkgaXRzIGFkZHJlc3MgKGUuZy4sIGh0dHA6Ly8x MjMuNDUuNjcuODkvKQojIGFueXdheSwgYW5kIHRoaXMgd2lsbCBtYWtlIHJlZGlyZWN0aW9ucyB3 b3JrIGluIGEgc2Vuc2libGUgd2F5LgojCiMgMTI3LjAuMC4xIGlzIHRoZSBUQ1AvSVAgbG9jYWwg bG9vcC1iYWNrIGFkZHJlc3MsIG9mdGVuIG5hbWVkIGxvY2FsaG9zdC4gWW91cgojIG1hY2hpbmUg YWx3YXlzIGtub3dzIGl0c2VsZiBieSB0aGlzIGFkZHJlc3MuIElmIHlvdSB1c2UgQXBhY2hlIHN0 cmljdGx5IGZvcgojIGxvY2FsIHRlc3RpbmcgYW5kIGRldmVsb3BtZW50LCB5b3UgbWF5IHVzZSAx MjcuMC4wLjEgYXMgdGhlIHNlcnZlciBuYW1lLgojClNlcnZlck5hbWUgMTkyLjE2OC4xLjIKCiMK IyBEb2N1bWVudFJvb3Q6IFRoZSBkaXJlY3Rvcnkgb3V0IG9mIHdoaWNoIHlvdSB3aWxsIHNlcnZl IHlvdXIKIyBkb2N1bWVudHMuIEJ5IGRlZmF1bHQsIGFsbCByZXF1ZXN0cyBhcmUgdGFrZW4gZnJv bSB0aGlzIGRpcmVjdG9yeSwgYnV0CiMgc3ltYm9saWMgbGlua3MgYW5kIGFsaWFzZXMgbWF5IGJl IHVzZWQgdG8gcG9pbnQgdG8gb3RoZXIgbG9jYXRpb25zLgojCkRvY3VtZW50Um9vdCAiL3Zhci93 d3cvaHRkb2NzIgoKIwojIEVhY2ggZGlyZWN0b3J5IHRvIHdoaWNoIEFwYWNoZSBoYXMgYWNjZXNz LCBjYW4gYmUgY29uZmlndXJlZCB3aXRoIHJlc3BlY3QKIyB0byB3aGljaCBzZXJ2aWNlcyBhbmQg ZmVhdHVyZXMgYXJlIGFsbG93ZWQgYW5kL29yIGRpc2FibGVkIGluIHRoYXQKIyBkaXJlY3Rvcnkg KGFuZCBpdHMgc3ViZGlyZWN0b3JpZXMpLgojCiMgRmlyc3QsIHdlIGNvbmZpZ3VyZSB0aGUgImRl ZmF1bHQiIHRvIGJlIGEgdmVyeSByZXN0cmljdGl2ZSBzZXQgb2YKIyBwZXJtaXNzaW9ucy4KIwo8 RGlyZWN0b3J5IC8+CiAgICBPcHRpb25zIEZvbGxvd1N5bUxpbmtzCiMgICAgQWxsb3dPdmVycmlk ZSBOb25lCiAgICBPcHRpb25zICtJbmNsdWRlcwo8L0RpcmVjdG9yeT4KCiMKIyBOb3RlIHRoYXQg ZnJvbSB0aGlzIHBvaW50IGZvcndhcmQgeW91IG11c3Qgc3BlY2lmaWNhbGx5IGFsbG93CiMgcGFy dGljdWxhciBmZWF0dXJlcyB0byBiZSBlbmFibGVkIC0gc28gaWYgc29tZXRoaW5nJ3Mgbm90IHdv cmtpbmcgYXMKIyB5b3UgbWlnaHQgZXhwZWN0LCBtYWtlIHN1cmUgdGhhdCB5b3UgaGF2ZSBzcGVj aWZpY2FsbHkgZW5hYmxlZCBpdAojIGJlbG93LgojCgojCiMgVGhpcyBzaG91bGQgYmUgY2hhbmdl ZCB0byB3aGF0ZXZlciB5b3Ugc2V0IERvY3VtZW50Um9vdCB0by4KIwo8RGlyZWN0b3J5ICIvdmFy L3d3dy9odGRvY3MiPgoKIwojIFRoaXMgbWF5IGFsc28gYmUgIk5vbmUiLCAiQWxsIiwgb3IgYW55 IGNvbWJpbmF0aW9uIG9mICJJbmRleGVzIiwKIyAiSW5jbHVkZXMiLCAiRm9sbG93U3ltTGlua3Mi LCAiRXhlY0NHSSIsIG9yICJNdWx0aVZpZXdzIi4KIwojIE5vdGUgdGhhdCAiTXVsdGlWaWV3cyIg bXVzdCBiZSBuYW1lZCAqZXhwbGljaXRseSogLS0tICJPcHRpb25zIEFsbCIKIyBkb2Vzbid0IGdp dmUgaXQgdG8geW91LgojCiAgICBPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MgTXVsdGlW aWV3cwoKIwojIFRoaXMgY29udHJvbHMgd2hpY2ggb3B0aW9ucyB0aGUgLmh0YWNjZXNzIGZpbGVz IGluIGRpcmVjdG9yaWVzIGNhbgojIG92ZXJyaWRlLiBDYW4gYWxzbyBiZSAiQWxsIiwgb3IgYW55 IGNvbWJpbmF0aW9uIG9mICJPcHRpb25zIiwgIkZpbGVJbmZvIiwKIyAiQXV0aENvbmZpZyIsIGFu ZCAiTGltaXQiCiMKIyAgICBBbGxvd092ZXJyaWRlIE5vbmUKCiMKIyBDb250cm9scyB3aG8gY2Fu IGdldCBzdHVmZiBmcm9tIHRoaXMgc2VydmVyLgojCiAgICBPcmRlciBhbGxvdyxkZW55CiAgICBB bGxvdyBmcm9tIGFsbAo8L0RpcmVjdG9yeT4KCiMKIyBVc2VyRGlyOiBUaGUgbmFtZSBvZiB0aGUg ZGlyZWN0b3J5IHdoaWNoIGlzIGFwcGVuZGVkIG9udG8gYSB1c2VyJ3MgaG9tZQojIGRpcmVjdG9y eSBpZiBhIH51c2VyIHJlcXVlc3QgaXMgcmVjZWl2ZWQuCiMKPElmTW9kdWxlIG1vZF91c2VyZGly LmM+CiAgICBVc2VyRGlyIHB1YmxpY19odG1sCjwvSWZNb2R1bGU+CgojCiMgQ29udHJvbCBhY2Nl c3MgdG8gVXNlckRpciBkaXJlY3Rvcmllcy4gIFRoZSBmb2xsb3dpbmcgaXMgYW4gZXhhbXBsZQoj IGZvciBhIHNpdGUgd2hlcmUgdGhlc2UgZGlyZWN0b3JpZXMgYXJlIHJlc3RyaWN0ZWQgdG8gcmVh ZC1vbmx5LgojCiM8RGlyZWN0b3J5IC9ob21lLyovcHVibGljX2h0bWw+CiMgICAgQWxsb3dPdmVy cmlkZSBGaWxlSW5mbyBBdXRoQ29uZmlnIExpbWl0CiMgICAgT3B0aW9ucyBNdWx0aVZpZXdzIElu ZGV4ZXMgU3ltTGlua3NJZk93bmVyTWF0Y2ggSW5jbHVkZXNOb0V4ZWMKIyAgICA8TGltaXQgR0VU IFBPU1QgT1BUSU9OUyBQUk9QRklORD4KIyAgICAgICAgT3JkZXIgYWxsb3csZGVueQojICAgICAg ICBBbGxvdyBmcm9tIGFsbAojICAgIDwvTGltaXQ+CiMgICAgPExpbWl0RXhjZXB0IEdFVCBQT1NU IE9QVElPTlMgUFJPUEZJTkQ+CiMgICAgICAgIE9yZGVyIGRlbnksYWxsb3cKIyAgICAgICAgRGVu eSBmcm9tIGFsbAojICAgIDwvTGltaXRFeGNlcHQ+CiM8L0RpcmVjdG9yeT4KCiMKIyBEaXJlY3Rv cnlJbmRleDogTmFtZSBvZiB0aGUgZmlsZSBvciBmaWxlcyB0byB1c2UgYXMgYSBwcmUtd3JpdHRl biBIVE1MCiMgZGlyZWN0b3J5IGluZGV4LiAgU2VwYXJhdGUgbXVsdGlwbGUgZW50cmllcyB3aXRo IHNwYWNlcy4KIwo8SWZNb2R1bGUgbW9kX2Rpci5jPgogICAgPElmTW9kdWxlIG1vZF9waHAzLmM+ CiAgICAgICAgPElmTW9kdWxlIG1vZF9waHA0LmM+CiAgICAgICAgICAgIERpcmVjdG9yeUluZGV4 IGluZGV4LnBocCBpbmRleC5waHAzIGluZGV4Lmh0bWwKICAgICAgICA8L0lmTW9kdWxlPgogICAg ICAgIDxJZk1vZHVsZSAhbW9kX3BocDQuYz4KICAgICAgICAgICAgRGlyZWN0b3J5SW5kZXggaW5k ZXgucGhwMyBpbmRleC5odG1sCiAgICAgICAgPC9JZk1vZHVsZT4KICAgIDwvSWZNb2R1bGU+CiAg ICA8SWZNb2R1bGUgIW1vZF9waHAzLmM+CiAgICAgICAgPElmTW9kdWxlIG1vZF9waHA0LmM+CiAg ICAgICAgICAgIERpcmVjdG9yeUluZGV4IGluZGV4LnBocCBpbmRleC5odG1sCiAgICAgICAgPC9J Zk1vZHVsZT4KICAgICAgICA8SWZNb2R1bGUgIW1vZF9waHA0LmM+CiAgICAgICAgICAgIERpcmVj dG9yeUluZGV4IGluZGV4Lmh0bWwKICAgICAgICA8L0lmTW9kdWxlPgogICAgPC9JZk1vZHVsZT4K PC9JZk1vZHVsZT4KCiMKIyBBY2Nlc3NGaWxlTmFtZTogVGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8g bG9vayBmb3IgaW4gZWFjaCBkaXJlY3RvcnkKIyBmb3IgYWNjZXNzIGNvbnRyb2wgaW5mb3JtYXRp b24uCiMKQWNjZXNzRmlsZU5hbWUgLmh0YWNjZXNzCgojCiMgVGhlIGZvbGxvd2luZyBsaW5lcyBw cmV2ZW50IC5odGFjY2VzcyBmaWxlcyBmcm9tIGJlaW5nIHZpZXdlZCBieQojIFdlYiBjbGllbnRz LiAgU2luY2UgLmh0YWNjZXNzIGZpbGVzIG9mdGVuIGNvbnRhaW4gYXV0aG9yaXphdGlvbgojIGlu Zm9ybWF0aW9uLCBhY2Nlc3MgaXMgZGlzYWxsb3dlZCBmb3Igc2VjdXJpdHkgcmVhc29ucy4gIENv bW1lbnQKIyB0aGVzZSBsaW5lcyBvdXQgaWYgeW91IHdhbnQgV2ViIHZpc2l0b3JzIHRvIHNlZSB0 aGUgY29udGVudHMgb2YKIyAuaHRhY2Nlc3MgZmlsZXMuICBJZiB5b3UgY2hhbmdlIHRoZSBBY2Nl c3NGaWxlTmFtZSBkaXJlY3RpdmUgYWJvdmUsCiMgYmUgc3VyZSB0byBtYWtlIHRoZSBjb3JyZXNw b25kaW5nIGNoYW5nZXMgaGVyZS4KIwojIEFsc28sIGZvbGtzIHRlbmQgdG8gdXNlIG5hbWVzIHN1 Y2ggYXMgLmh0cGFzc3dkIGZvciBwYXNzd29yZAojIGZpbGVzLCBzbyB0aGlzIHdpbGwgcHJvdGVj dCB0aG9zZSBhcyB3ZWxsLgojCjxGaWxlcyB+ICJeXC5odCI+CiAgICBPcmRlciBhbGxvdyxkZW55 CiAgICBEZW55IGZyb20gYWxsCiAgICBTYXRpc2Z5IEFsbAo8L0ZpbGVzPgoKIwojIENhY2hlTmVn b3RpYXRlZERvY3M6IEJ5IGRlZmF1bHQsIEFwYWNoZSBzZW5kcyAiUHJhZ21hOiBuby1jYWNoZSIg d2l0aCBlYWNoCiMgZG9jdW1lbnQgdGhhdCB3YXMgbmVnb3RpYXRlZCBvbiB0aGUgYmFzaXMgb2Yg Y29udGVudC4gVGhpcyBhc2tzIHByb3h5CiMgc2VydmVycyBub3QgdG8gY2FjaGUgdGhlIGRvY3Vt ZW50LiBVbmNvbW1lbnRpbmcgdGhlIGZvbGxvd2luZyBsaW5lIGRpc2FibGVzCiMgdGhpcyBiZWhh dmlvciwgYW5kIHByb3hpZXMgd2lsbCBiZSBhbGxvd2VkIHRvIGNhY2hlIHRoZSBkb2N1bWVudHMu CiMKI0NhY2hlTmVnb3RpYXRlZERvY3MKCiMKIyBVc2VDYW5vbmljYWxOYW1lOiAgKG5ldyBmb3Ig MS4zKSAgV2l0aCB0aGlzIHNldHRpbmcgdHVybmVkIG9uLCB3aGVuZXZlcgojIEFwYWNoZSBuZWVk cyB0byBjb25zdHJ1Y3QgYSBzZWxmLXJlZmVyZW5jaW5nIFVSTCAoYSBVUkwgdGhhdCByZWZlcnMg YmFjawojIHRvIHRoZSBzZXJ2ZXIgdGhlIHJlc3BvbnNlIGlzIGNvbWluZyBmcm9tKSBpdCB3aWxs IHVzZSBTZXJ2ZXJOYW1lIGFuZAojIFBvcnQgdG8gZm9ybSBhICJjYW5vbmljYWwiIG5hbWUuICBX aXRoIHRoaXMgc2V0dGluZyBvZmYsIEFwYWNoZSB3aWxsCiMgdXNlIHRoZSBob3N0bmFtZTpwb3J0 IHRoYXQgdGhlIGNsaWVudCBzdXBwbGllZCwgd2hlbiBwb3NzaWJsZS4gIFRoaXMKIyBhbHNvIGFm ZmVjdHMgU0VSVkVSX05BTUUgYW5kIFNFUlZFUl9QT1JUIGluIENHSSBzY3JpcHRzLgojClVzZUNh bm9uaWNhbE5hbWUgT24KCiMKIyBUeXBlc0NvbmZpZyBkZXNjcmliZXMgd2hlcmUgdGhlIG1pbWUu dHlwZXMgZmlsZSAob3IgZXF1aXZhbGVudCkgaXMKIyB0byBiZSBmb3VuZC4KIwo8SWZNb2R1bGUg bW9kX21pbWUuYz4KICAgIFR5cGVzQ29uZmlnIC9ldGMvYXBhY2hlL21pbWUudHlwZXMKPC9JZk1v ZHVsZT4KCiMKIyBEZWZhdWx0VHlwZSBpcyB0aGUgZGVmYXVsdCBNSU1FIHR5cGUgdGhlIHNlcnZl ciB3aWxsIHVzZSBmb3IgYSBkb2N1bWVudAojIGlmIGl0IGNhbm5vdCBvdGhlcndpc2UgZGV0ZXJt aW5lIG9uZSwgc3VjaCBhcyBmcm9tIGZpbGVuYW1lIGV4dGVuc2lvbnMuCiMgSWYgeW91ciBzZXJ2 ZXIgY29udGFpbnMgbW9zdGx5IHRleHQgb3IgSFRNTCBkb2N1bWVudHMsICJ0ZXh0L3BsYWluIiBp cwojIGEgZ29vZCB2YWx1ZS4gIElmIG1vc3Qgb2YgeW91ciBjb250ZW50IGlzIGJpbmFyeSwgc3Vj aCBhcyBhcHBsaWNhdGlvbnMKIyBvciBpbWFnZXMsIHlvdSBtYXkgd2FudCB0byB1c2UgImFwcGxp Y2F0aW9uL29jdGV0LXN0cmVhbSIgaW5zdGVhZCB0bwojIGtlZXAgYnJvd3NlcnMgZnJvbSB0cnlp bmcgdG8gZGlzcGxheSBiaW5hcnkgZmlsZXMgYXMgdGhvdWdoIHRoZXkgYXJlCiMgdGV4dC4KIwpE ZWZhdWx0VHlwZSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCiMKIyBUaGUgbW9kX21pbWVfbWFn aWMgbW9kdWxlIGFsbG93cyB0aGUgc2VydmVyIHRvIHVzZSB2YXJpb3VzIGhpbnRzIGZyb20gdGhl CiMgY29udGVudHMgb2YgdGhlIGZpbGUgaXRzZWxmIHRvIGRldGVybWluZSBpdHMgdHlwZS4gIFRo ZSBNSU1FTWFnaWNGaWxlCiMgZGlyZWN0aXZlIHRlbGxzIHRoZSBtb2R1bGUgd2hlcmUgdGhlIGhp bnQgZGVmaW5pdGlvbnMgYXJlIGxvY2F0ZWQuCiMgbW9kX21pbWVfbWFnaWMgaXMgbm90IHBhcnQg b2YgdGhlIGRlZmF1bHQgc2VydmVyICh5b3UgaGF2ZSB0byBhZGQKIyBpdCB5b3Vyc2VsZiB3aXRo IGEgTG9hZE1vZHVsZSBbc2VlIHRoZSBEU08gcGFyYWdyYXBoIGluIHRoZSAnR2xvYmFsCiMgRW52 aXJvbm1lbnQnIHNlY3Rpb25dLCBvciByZWNvbXBpbGUgdGhlIHNlcnZlciBhbmQgaW5jbHVkZSBt b2RfbWltZV9tYWdpYwojIGFzIHBhcnQgb2YgdGhlIGNvbmZpZ3VyYXRpb24pLCBzbyBpdCdzIGVu Y2xvc2VkIGluIGFuIDxJZk1vZHVsZT4gY29udGFpbmVyLgojIFRoaXMgbWVhbnMgdGhhdCB0aGUg TUlNRU1hZ2ljRmlsZSBkaXJlY3RpdmUgd2lsbCBvbmx5IGJlIHByb2Nlc3NlZCBpZiB0aGUKIyBt b2R1bGUgaXMgcGFydCBvZiB0aGUgc2VydmVyLgojCjxJZk1vZHVsZSBtb2RfbWltZV9tYWdpYy5j PgogICAgTUlNRU1hZ2ljRmlsZSAvZXRjL2FwYWNoZS9tYWdpYwo8L0lmTW9kdWxlPgoKIwojIEhv c3RuYW1lTG9va3VwczogTG9nIHRoZSBuYW1lcyBvZiBjbGllbnRzIG9yIGp1c3QgdGhlaXIgSVAg YWRkcmVzc2VzCiMgZS5nLiwgd3d3LmFwYWNoZS5vcmcgKG9uKSBvciAyMDQuNjIuMTI5LjEzMiAo b2ZmKS4KIyBUaGUgZGVmYXVsdCBpcyBvZmYgYmVjYXVzZSBpdCdkIGJlIG92ZXJhbGwgYmV0dGVy IGZvciB0aGUgbmV0IGlmIHBlb3BsZQojIGhhZCB0byBrbm93aW5nbHkgdHVybiB0aGlzIGZlYXR1 cmUgb24sIHNpbmNlIGVuYWJsaW5nIGl0IG1lYW5zIHRoYXQKIyBlYWNoIGNsaWVudCByZXF1ZXN0 IHdpbGwgcmVzdWx0IGluIEFUIExFQVNUIG9uZSBsb29rdXAgcmVxdWVzdCB0byB0aGUKIyBuYW1l c2VydmVyLgojCkhvc3RuYW1lTG9va3VwcyBPZmYKCiMKIyBFcnJvckxvZzogVGhlIGxvY2F0aW9u IG9mIHRoZSBlcnJvciBsb2cgZmlsZS4KIyBJZiB5b3UgZG8gbm90IHNwZWNpZnkgYW4gRXJyb3JM b2cgZGlyZWN0aXZlIHdpdGhpbiBhIDxWaXJ0dWFsSG9zdD4KIyBjb250YWluZXIsIGVycm9yIG1l c3NhZ2VzIHJlbGF0aW5nIHRvIHRoYXQgdmlydHVhbCBob3N0IHdpbGwgYmUKIyBsb2dnZWQgaGVy ZS4gIElmIHlvdSAqZG8qIGRlZmluZSBhbiBlcnJvciBsb2dmaWxlIGZvciBhIDxWaXJ0dWFsSG9z dD4KIyBjb250YWluZXIsIHRoYXQgaG9zdCdzIGVycm9ycyB3aWxsIGJlIGxvZ2dlZCB0aGVyZSBh bmQgbm90IGhlcmUuCiMKRXJyb3JMb2cgL3Zhci9sb2cvaHR0cGQvYXBhY2hlL2Vycm9ycy5sb2cK CiMKIyBMb2dMZXZlbDogQ29udHJvbCB0aGUgbnVtYmVyIG9mIG1lc3NhZ2VzIGxvZ2dlZCB0byB0 aGUgZXJyb3JfbG9nLgojIFBvc3NpYmxlIHZhbHVlcyBpbmNsdWRlOiBkZWJ1ZywgaW5mbywgbm90 aWNlLCB3YXJuLCBlcnJvciwgY3JpdCwKIyBhbGVydCwgZW1lcmcuCiMKTG9nTGV2ZWwgd2FybgoK IwojIFRoZSBmb2xsb3dpbmcgZGlyZWN0aXZlcyBkZWZpbmUgc29tZSBmb3JtYXQgbmlja25hbWVz IGZvciB1c2Ugd2l0aAojIGEgQ3VzdG9tTG9nIGRpcmVjdGl2ZSAoc2VlIGJlbG93KS4KIwpMb2dG b3JtYXQgIiVoICVsICV1ICV0IFwiJXJcIiAlPnMgJWIgXCIle1JlZmVyZXJ9aVwiIFwiJXtVc2Vy LUFnZW50fWlcIiIgY29tYmluZWQKTG9nRm9ybWF0ICIlaCAlbCAldSAldCBcIiVyXCIgJT5zICVi IiBjb21tb24KTG9nRm9ybWF0ICIle1JlZmVyZXJ9aSAtPiAlVSIgcmVmZXJlcgpMb2dGb3JtYXQg IiV7VXNlci1hZ2VudH1pIiBhZ2VudAoKIwojIFRoZSBsb2NhdGlvbiBhbmQgZm9ybWF0IG9mIHRo ZSBhY2Nlc3MgbG9nZmlsZSAoQ29tbW9uIExvZ2ZpbGUgRm9ybWF0KS4KIyBJZiB5b3UgZG8gbm90 IGRlZmluZSBhbnkgYWNjZXNzIGxvZ2ZpbGVzIHdpdGhpbiBhIDxWaXJ0dWFsSG9zdD4KIyBjb250 YWluZXIsIHRoZXkgd2lsbCBiZSBsb2dnZWQgaGVyZS4gIENvbnRyYXJpd2lzZSwgaWYgeW91ICpk byoKIyBkZWZpbmUgcGVyLTxWaXJ0dWFsSG9zdD4gYWNjZXNzIGxvZ2ZpbGVzLCB0cmFuc2FjdGlv bnMgd2lsbCBiZQojIGxvZ2dlZCB0aGVyZWluIGFuZCAqbm90KiBpbiB0aGlzIGZpbGUuCiMKQ3Vz dG9tTG9nIC92YXIvbG9nL2h0dHBkL2FwYWNoZS9hY2Nlc3MubG9nIGNvbW1vbgoKIwojIElmIHlv dSB3b3VsZCBsaWtlIHRvIGhhdmUgYWdlbnQgYW5kIHJlZmVyZXIgbG9nZmlsZXMsIHVuY29tbWVu dCB0aGUKIyBmb2xsb3dpbmcgZGlyZWN0aXZlcy4KIwojQ3VzdG9tTG9nIC92YXIvbG9nL2FwYWNo ZS9yZWZlcmVyX2xvZyByZWZlcmVyCiNDdXN0b21Mb2cgL3Zhci9sb2cvYXBhY2hlL2FnZW50X2xv ZyBhZ2VudAoKIwojIElmIHlvdSBwcmVmZXIgYSBzaW5nbGUgbG9nZmlsZSB3aXRoIGFjY2Vzcywg YWdlbnQsIGFuZCByZWZlcmVyIGluZm9ybWF0aW9uCiMgKENvbWJpbmVkIExvZ2ZpbGUgRm9ybWF0 KSB5b3UgY2FuIHVzZSB0aGUgZm9sbG93aW5nIGRpcmVjdGl2ZS4KIwojQ3VzdG9tTG9nIC92YXIv bG9nL2FwYWNoZS9hY2Nlc3NfbG9nIGNvbWJpbmVkCgojCiMgT3B0aW9uYWxseSBhZGQgYSBsaW5l IGNvbnRhaW5pbmcgdGhlIHNlcnZlciB2ZXJzaW9uIGFuZCB2aXJ0dWFsIGhvc3QKIyBuYW1lIHRv IHNlcnZlci1nZW5lcmF0ZWQgcGFnZXMgKGVycm9yIGRvY3VtZW50cywgRlRQIGRpcmVjdG9yeSBs aXN0aW5ncywKIyBtb2Rfc3RhdHVzIGFuZCBtb2RfaW5mbyBvdXRwdXQgZXRjLiwgYnV0IG5vdCBD R0kgZ2VuZXJhdGVkIGRvY3VtZW50cykuCiMgU2V0IHRvICJFTWFpbCIgdG8gYWxzbyBpbmNsdWRl IGEgbWFpbHRvOiBsaW5rIHRvIHRoZSBTZXJ2ZXJBZG1pbi4KIyBTZXQgdG8gb25lIG9mOiAgT24g fCBPZmYgfCBFTWFpbAojClNlcnZlclNpZ25hdHVyZSBPbgoKIyBFQkNESUMgY29uZmlndXJhdGlv bjoKIyAob25seSBmb3IgbWFpbmZyYW1lcyB1c2luZyB0aGUgRUJDRElDIGNvZGVzZXQsIGN1cnJl bnRseSBvbmUgb2Y6CiMgRnVqaXRzdS1TaWVtZW5zJyBCUzIwMDAvT1NELCBJQk0ncyBPUy8zOTAg YW5kIElCTSdzIFRQRikhIQojIFRoZSBmb2xsb3dpbmcgZGVmYXVsdCBjb25maWd1cmF0aW9uIGFz c3VtZXMgdGhhdCAidGV4dCBmaWxlcyIKIyBhcmUgc3RvcmVkIGluIEVCQ0RJQyAoc28gdGhhdCB5 b3UgY2FuIG9wZXJhdGUgb24gdGhlbSB1c2luZyB0aGUKIyBub3JtYWwgUE9TSVggdG9vbHMgbGlr ZSBncmVwIGFuZCBzb3J0KSB3aGlsZSAiYmluYXJ5IGZpbGVzIiBhcmUKIyBzdG9yZWQgd2l0aCBp ZGVudGljYWwgb2N0ZXRzIGFzIG9uIGFuIEFTQ0lJIG1hY2hpbmUuCiMKIyBUaGUgZGlyZWN0aXZl cyBhcmUgZXZhbHVhdGVkIGluIGNvbmZpZ3VyYXRpb24gZmlsZSBvcmRlciwgd2l0aAojIHRoZSBF QkNESUNDb252ZXJ0IGRpcmVjdGl2ZXMgYXBwbGllZCBiZWZvcmUgRUJDRElDQ29udmVydEJ5VHlw ZS4KIwojIElmIHlvdSB3YW50IHRvIGhhdmUgQVNDSUkgSFRNTCBkb2N1bWVudHMgYW5kIEVCQ0RJ QyBIVE1MIGRvY3VtZW50cwojIGF0IHRoZSBzYW1lIHRpbWUsIHlvdSBjYW4gdXNlIHRoZSBmaWxl IGV4dGVuc2lvbiB0byBmb3JjZQojIGNvbnZlcnNpb24gb2ZmIGZvciB0aGUgQVNDSUkgZG9jdW1l bnRzOgojID4gQWRkVHlwZSAgICAgICB0ZXh0L2h0bWwgLmFodG1sCiMgPiBFQkNESUNDb252ZXJ0 IE9mZj1Jbk91dCAuYWh0bWwKIwojIEVCQ0RJQ0NvbnZlcnRCeVR5cGUgIE9uPUluT3V0IHRleHQv KiBtZXNzYWdlLyogbXVsdGlwYXJ0LyoKIyBFQkNESUNDb252ZXJ0QnlUeXBlICBPbj1JbiAgICBh cHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQKIyBFQkNESUNDb252ZXJ0QnlUeXBlICBP bj1Jbk91dCBhcHBsaWNhdGlvbi9wb3N0c2NyaXB0IG1vZGVsL3ZybWwKIyBFQkNESUNDb252ZXJ0 QnlUeXBlIE9mZj1Jbk91dCAqLyoKCgojCiMgQWxpYXNlczogQWRkIGhlcmUgYXMgbWFueSBhbGlh c2VzIGFzIHlvdSBuZWVkICh3aXRoIG5vIGxpbWl0KS4gVGhlIGZvcm1hdCBpcwojIEFsaWFzIGZh a2VuYW1lIHJlYWxuYW1lCiMKPElmTW9kdWxlIG1vZF9hbGlhcy5jPgoKICAgICMKICAgICMgTm90 ZSB0aGF0IGlmIHlvdSBpbmNsdWRlIGEgdHJhaWxpbmcgLyBvbiBmYWtlbmFtZSB0aGVuIHRoZSBz ZXJ2ZXIgd2lsbAogICAgIyByZXF1aXJlIGl0IHRvIGJlIHByZXNlbnQgaW4gdGhlIFVSTC4gIFNv ICIvaWNvbnMiIGlzbid0IGFsaWFzZWQgaW4gdGhpcwogICAgIyBleGFtcGxlLCBvbmx5ICIvaWNv bnMvIi4gIElmIHRoZSBmYWtlbmFtZSBpcyBzbGFzaC10ZXJtaW5hdGVkLCB0aGVuIHRoZQogICAg IyByZWFsbmFtZSBtdXN0IGFsc28gYmUgc2xhc2ggdGVybWluYXRlZCwgYW5kIGlmIHRoZSBmYWtl bmFtZSBvbWl0cyB0aGUKICAgICMgdHJhaWxpbmcgc2xhc2gsIHRoZSByZWFsbmFtZSBtdXN0IGFs c28gb21pdCBpdC4KICAgICMKICAgIEFsaWFzIC9pY29ucy8gIi92YXIvd3d3L2ljb25zLyIKCiAg ICA8RGlyZWN0b3J5ICIvdmFyL3d3dy9pY29ucyI+CiAgICAgICAgT3B0aW9ucyBJbmRleGVzIE11 bHRpVmlld3MKICAgICAgICBBbGxvd092ZXJyaWRlIE5vbmUKICAgICAgICBPcmRlciBhbGxvdyxk ZW55CiAgICAgICAgQWxsb3cgZnJvbSBhbGwKICAgIDwvRGlyZWN0b3J5PgoKICAgICMgVGhpcyBB bGlhcyB3aWxsIHByb2plY3QgdGhlIG9uLWxpbmUgZG9jdW1lbnRhdGlvbiB0cmVlIHVuZGVyIC9t YW51YWwvCiAgICAjIGV2ZW4gaWYgeW91IGNoYW5nZSB0aGUgRG9jdW1lbnRSb290LiBDb21tZW50 IGl0IGlmIHlvdSBkb24ndCB3YW50IHRvCiAgICAjIHByb3ZpZGUgYWNjZXNzIHRvIHRoZSBvbi1s aW5lIGRvY3VtZW50YXRpb24uCiAgICAjCiAgICBBbGlhcyAvbWFudWFsLyAiL3Zhci93d3cvaHRk b2NzL21hbnVhbC8iCgogICAgPERpcmVjdG9yeSAiL3Zhci93d3cvaHRkb2NzL21hbnVhbCI+CiAg ICAgICAgT3B0aW9ucyBJbmRleGVzIEZvbGxvd1N5bWxpbmtzIE11bHRpVmlld3MKICAgICAgICBB bGxvd092ZXJyaWRlIE5vbmUKICAgICAgICBPcmRlciBhbGxvdyxkZW55CiAgICAgICAgQWxsb3cg ZnJvbSBhbGwKICAgIDwvRGlyZWN0b3J5PgoKICAgICMKICAgICMgU2NyaXB0QWxpYXM6IFRoaXMg Y29udHJvbHMgd2hpY2ggZGlyZWN0b3JpZXMgY29udGFpbiBzZXJ2ZXIgc2NyaXB0cy4KICAgICMg U2NyaXB0QWxpYXNlcyBhcmUgZXNzZW50aWFsbHkgdGhlIHNhbWUgYXMgQWxpYXNlcywgZXhjZXB0 IHRoYXQKICAgICMgZG9jdW1lbnRzIGluIHRoZSByZWFsbmFtZSBkaXJlY3RvcnkgYXJlIHRyZWF0 ZWQgYXMgYXBwbGljYXRpb25zIGFuZAogICAgIyBydW4gYnkgdGhlIHNlcnZlciB3aGVuIHJlcXVl c3RlZCByYXRoZXIgdGhhbiBhcyBkb2N1bWVudHMgc2VudCB0byB0aGUgY2xpZW50LgogICAgIyBU aGUgc2FtZSBydWxlcyBhYm91dCB0cmFpbGluZyAiLyIgYXBwbHkgdG8gU2NyaXB0QWxpYXMgZGly ZWN0aXZlcyBhcyB0bwogICAgIyBBbGlhcy4KICAgICMKICAgIFNjcmlwdEFsaWFzIC9jZ2ktYmlu LyAiL3Zhci93d3cvY2dpLWJpbi8iCgogICAgIwogICAgIyAiL3Zhci93d3cvY2dpLWJpbiIgc2hv dWxkIGJlIGNoYW5nZWQgdG8gd2hhdGV2ZXIgeW91ciBTY3JpcHRBbGlhc2VkCiAgICAjIENHSSBk aXJlY3RvcnkgZXhpc3RzLCBpZiB5b3UgaGF2ZSB0aGF0IGNvbmZpZ3VyZWQuCiAgICAjCiAgICA8 RGlyZWN0b3J5ICIvdmFyL3d3dy9jZ2ktYmluIj4KICAgICAgICBBbGxvd092ZXJyaWRlIE5vbmUK ICAgICAgICBPcHRpb25zICtFeGVjQ0dJCiAgICAgICAgT3JkZXIgYWxsb3csZGVueQogICAgICAg IEFsbG93IGZyb20gYWxsCiAgICA8L0RpcmVjdG9yeT4KCjwvSWZNb2R1bGU+CiMgRW5kIG9mIGFs aWFzZXMuCgojCiMgUmVkaXJlY3QgYWxsb3dzIHlvdSB0byB0ZWxsIGNsaWVudHMgYWJvdXQgZG9j dW1lbnRzIHdoaWNoIHVzZWQgdG8gZXhpc3QgaW4KIyB5b3VyIHNlcnZlcidzIG5hbWVzcGFjZSwg YnV0IGRvIG5vdCBhbnltb3JlLiBUaGlzIGFsbG93cyB5b3UgdG8gdGVsbCB0aGUKIyBjbGllbnRz IHdoZXJlIHRvIGxvb2sgZm9yIHRoZSByZWxvY2F0ZWQgZG9jdW1lbnQuCiMgRm9ybWF0OiBSZWRp cmVjdCBvbGQtVVJJIG5ldy1VUkwKIwoKIwojIERpcmVjdGl2ZXMgY29udHJvbGxpbmcgdGhlIGRp c3BsYXkgb2Ygc2VydmVyLWdlbmVyYXRlZCBkaXJlY3RvcnkgbGlzdGluZ3MuCiMKPElmTW9kdWxl IG1vZF9hdXRvaW5kZXguYz4KCiAgICAjCiAgICAjIEZhbmN5SW5kZXhpbmcgaXMgd2hldGhlciB5 b3Ugd2FudCBmYW5jeSBkaXJlY3RvcnkgaW5kZXhpbmcgb3Igc3RhbmRhcmQKICAgICMKICAgIElu ZGV4T3B0aW9ucyBGYW5jeUluZGV4aW5nCgogICAgIwogICAgIyBBZGRJY29uKiBkaXJlY3RpdmVz IHRlbGwgdGhlIHNlcnZlciB3aGljaCBpY29uIHRvIHNob3cgZm9yIGRpZmZlcmVudAogICAgIyBm aWxlcyBvciBmaWxlbmFtZSBleHRlbnNpb25zLiAgVGhlc2UgYXJlIG9ubHkgZGlzcGxheWVkIGZv cgogICAgIyBGYW5jeUluZGV4ZWQgZGlyZWN0b3JpZXMuCiAgICAjCiAgICBBZGRJY29uQnlFbmNv ZGluZyAoQ01QLC9pY29ucy9jb21wcmVzc2VkLmdpZikgeC1jb21wcmVzcyB4LWd6aXAKCiAgICBB ZGRJY29uQnlUeXBlIChUWFQsL2ljb25zL3RleHQuZ2lmKSB0ZXh0LyoKICAgIEFkZEljb25CeVR5 cGUgKElNRywvaWNvbnMvaW1hZ2UyLmdpZikgaW1hZ2UvKgogICAgQWRkSWNvbkJ5VHlwZSAoU05E LC9pY29ucy9zb3VuZDIuZ2lmKSBhdWRpby8qCiAgICBBZGRJY29uQnlUeXBlIChWSUQsL2ljb25z L21vdmllLmdpZikgdmlkZW8vKgoKICAgIEFkZEljb24gL2ljb25zL2JpbmFyeS5naWYgLmJpbiAu ZXhlCiAgICBBZGRJY29uIC9pY29ucy9iaW5oZXguZ2lmIC5ocXgKICAgIEFkZEljb24gL2ljb25z L3Rhci5naWYgLnRhcgogICAgQWRkSWNvbiAvaWNvbnMvd29ybGQyLmdpZiAud3JsIC53cmwuZ3og LnZybWwgLnZybSAuaXYKICAgIEFkZEljb24gL2ljb25zL2NvbXByZXNzZWQuZ2lmIC5aIC56IC50 Z3ogLmd6IC56aXAKICAgIEFkZEljb24gL2ljb25zL2EuZ2lmIC5wcyAuYWkgLmVwcwogICAgQWRk SWNvbiAvaWNvbnMvbGF5b3V0LmdpZiAuaHRtbCAuc2h0bWwgLmh0bSAucGRmCiAgICBBZGRJY29u IC9pY29ucy90ZXh0LmdpZiAudHh0CiAgICBBZGRJY29uIC9pY29ucy9jLmdpZiAuYwogICAgQWRk SWNvbiAvaWNvbnMvcC5naWYgLnBsIC5weQogICAgQWRkSWNvbiAvaWNvbnMvZi5naWYgLmZvcgog ICAgQWRkSWNvbiAvaWNvbnMvZHZpLmdpZiAuZHZpCiAgICBBZGRJY29uIC9pY29ucy91dWVuY29k ZWQuZ2lmIC51dQogICAgQWRkSWNvbiAvaWNvbnMvc2NyaXB0LmdpZiAuY29uZiAuc2ggLnNoYXIg LmNzaCAua3NoIC50Y2wKICAgIEFkZEljb24gL2ljb25zL3RleC5naWYgLnRleAogICAgQWRkSWNv biAvaWNvbnMvYm9tYi5naWYgY29yZQoKICAgIEFkZEljb24gL2ljb25zL2JhY2suZ2lmIC4uCiAg ICBBZGRJY29uIC9pY29ucy9oYW5kLnJpZ2h0LmdpZiBSRUFETUUKICAgIEFkZEljb24gL2ljb25z L2ZvbGRlci5naWYgXl5ESVJFQ1RPUlleXgogICAgQWRkSWNvbiAvaWNvbnMvYmxhbmsuZ2lmIF5e QkxBTktJQ09OXl4KCiAgICAjCiAgICAjIERlZmF1bHRJY29uIGlzIHdoaWNoIGljb24gdG8gc2hv dyBmb3IgZmlsZXMgd2hpY2ggZG8gbm90IGhhdmUgYW4gaWNvbgogICAgIyBleHBsaWNpdGx5IHNl dC4KICAgICMKICAgIERlZmF1bHRJY29uIC9pY29ucy91bmtub3duLmdpZgoKICAgICMKICAgICMg QWRkRGVzY3JpcHRpb24gYWxsb3dzIHlvdSB0byBwbGFjZSBhIHNob3J0IGRlc2NyaXB0aW9uIGFm dGVyIGEgZmlsZSBpbgogICAgIyBzZXJ2ZXItZ2VuZXJhdGVkIGluZGV4ZXMuICBUaGVzZSBhcmUg b25seSBkaXNwbGF5ZWQgZm9yIEZhbmN5SW5kZXhlZAogICAgIyBkaXJlY3Rvcmllcy4KICAgICMg Rm9ybWF0OiBBZGREZXNjcmlwdGlvbiAiZGVzY3JpcHRpb24iIGZpbGVuYW1lCiAgICAjCiAgICAj QWRkRGVzY3JpcHRpb24gIkdaSVAgY29tcHJlc3NlZCBkb2N1bWVudCIgLmd6CiAgICAjQWRkRGVz Y3JpcHRpb24gInRhciBhcmNoaXZlIiAudGFyCiAgICAjQWRkRGVzY3JpcHRpb24gIkdaSVAgY29t cHJlc3NlZCB0YXIgYXJjaGl2ZSIgLnRnegoKICAgICMKICAgICMgUmVhZG1lTmFtZSBpcyB0aGUg bmFtZSBvZiB0aGUgUkVBRE1FIGZpbGUgdGhlIHNlcnZlciB3aWxsIGxvb2sgZm9yIGJ5CiAgICAj IGRlZmF1bHQsIGFuZCBhcHBlbmQgdG8gZGlyZWN0b3J5IGxpc3RpbmdzLgogICAgIwogICAgIyBI ZWFkZXJOYW1lIGlzIHRoZSBuYW1lIG9mIGEgZmlsZSB3aGljaCBzaG91bGQgYmUgcHJlcGVuZGVk IHRvCiAgICAjIGRpcmVjdG9yeSBpbmRleGVzLgogICAgIwogICAgIyBJZiBNdWx0aVZpZXdzIGFy ZSBhbW9uZ3N0IHRoZSBPcHRpb25zIGluIGVmZmVjdCwgdGhlIHNlcnZlciB3aWxsCiAgICAjIGZp cnN0IGxvb2sgZm9yIG5hbWUuaHRtbCBhbmQgaW5jbHVkZSBpdCBpZiBmb3VuZC4gIElmIG5hbWUu aHRtbAogICAgIyBkb2Vzbid0IGV4aXN0LCB0aGUgc2VydmVyIHdpbGwgdGhlbiBsb29rIGZvciBu YW1lLnR4dCBhbmQgaW5jbHVkZQogICAgIyBpdCBhcyBwbGFpbnRleHQgaWYgZm91bmQuCiAgICAj CiAgICBSZWFkbWVOYW1lIFJFQURNRQogICAgSGVhZGVyTmFtZSBIRUFERVIKCiAgICAjCiAgICAj IEluZGV4SWdub3JlIGlzIGEgc2V0IG9mIGZpbGVuYW1lcyB3aGljaCBkaXJlY3RvcnkgaW5kZXhp bmcgc2hvdWxkIGlnbm9yZQogICAgIyBhbmQgbm90IGluY2x1ZGUgaW4gdGhlIGxpc3RpbmcuICBT aGVsbC1zdHlsZSB3aWxkY2FyZGluZyBpcyBwZXJtaXR0ZWQuCiAgICAjCiAgICBJbmRleElnbm9y ZSAuPz8qICp+ICojIEhFQURFUiogUkVBRE1FKiBSQ1MgQ1ZTICosdiAqLHQKCjwvSWZNb2R1bGU+ CiMgRW5kIG9mIGluZGV4aW5nIGRpcmVjdGl2ZXMuCgojCiMgRG9jdW1lbnQgdHlwZXMuCiMKPElm TW9kdWxlIG1vZF9taW1lLmM+CgogICAgIwogICAgIyBBZGRFbmNvZGluZyBhbGxvd3MgeW91IHRv IGhhdmUgY2VydGFpbiBicm93c2VycyAoTW9zYWljL1ggMi4xKykgdW5jb21wcmVzcwogICAgIyBp bmZvcm1hdGlvbiBvbiB0aGUgZmx5LiBOb3RlOiBOb3QgYWxsIGJyb3dzZXJzIHN1cHBvcnQgdGhp cy4KICAgICMgRGVzcGl0ZSB0aGUgbmFtZSBzaW1pbGFyaXR5LCB0aGUgZm9sbG93aW5nIEFkZCog ZGlyZWN0aXZlcyBoYXZlIG5vdGhpbmcKICAgICMgdG8gZG8gd2l0aCB0aGUgRmFuY3lJbmRleGlu ZyBjdXN0b21pemF0aW9uIGRpcmVjdGl2ZXMgYWJvdmUuCiAgICAjCiAgICBBZGRFbmNvZGluZyB4 LWNvbXByZXNzIFoKICAgIEFkZEVuY29kaW5nIHgtZ3ppcCBneiB0Z3oKCiAgICAjCiAgICAjIEFk ZExhbmd1YWdlIGFsbG93cyB5b3UgdG8gc3BlY2lmeSB0aGUgbGFuZ3VhZ2Ugb2YgYSBkb2N1bWVu dC4gWW91IGNhbgogICAgIyB0aGVuIHVzZSBjb250ZW50IG5lZ290aWF0aW9uIHRvIGdpdmUgYSBi cm93c2VyIGEgZmlsZSBpbiBhIGxhbmd1YWdlCiAgICAjIGl0IGNhbiB1bmRlcnN0YW5kLgogICAg IwogICAgIyBOb3RlIDE6IFRoZSBzdWZmaXggZG9lcyBub3QgaGF2ZSB0byBiZSB0aGUgc2FtZSBh cyB0aGUgbGFuZ3VhZ2UKICAgICMga2V5d29yZCAtLS0gdGhvc2Ugd2l0aCBkb2N1bWVudHMgaW4g UG9saXNoICh3aG9zZSBuZXQtc3RhbmRhcmQKICAgICMgbGFuZ3VhZ2UgY29kZSBpcyBwbCkgbWF5 IHdpc2ggdG8gdXNlICJBZGRMYW5ndWFnZSBwbCAucG8iIHRvCiAgICAjIGF2b2lkIHRoZSBhbWJp Z3VpdHkgd2l0aCB0aGUgY29tbW9uIHN1ZmZpeCBmb3IgcGVybCBzY3JpcHRzLgogICAgIwogICAg IyBOb3RlIDI6IFRoZSBleGFtcGxlIGVudHJpZXMgYmVsb3cgaWxsdXN0cmF0ZSB0aGF0IGluIHF1 aXRlCiAgICAjIHNvbWUgY2FzZXMgdGhlIHR3byBjaGFyYWN0ZXIgJ0xhbmd1YWdlJyBhYmJyZXZp YXRpb24gaXMgbm90CiAgICAjIGlkZW50aWNhbCB0byB0aGUgdHdvIGNoYXJhY3RlciAnQ291bnRy eScgY29kZSBmb3IgaXRzIGNvdW50cnksCiAgICAjIEUuZy4gJ0Rhbm1hcmsvZGsnIHZlcnN1cyAn RGFuaXNoL2RhJy4KICAgICMKICAgICMgTm90ZSAzOiBJbiB0aGUgY2FzZSBvZiAnbHR6JyB3ZSB2 aW9sYXRlIHRoZSBSRkMgYnkgdXNpbmcgYSB0aHJlZSBjaGFyCiAgICAjIHNwZWNpZmllci4gQnV0 IHRoZXJlIGlzICd3b3JrIGluIHByb2dyZXNzJyB0byBmaXggdGhpcyBhbmQgZ2V0CiAgICAjIHRo ZSByZWZlcmVuY2UgZGF0YSBmb3IgcmZjMTc2NiBjbGVhbmVkIHVwLgogICAgIwogICAgIyBEYW5p c2ggKGRhKSAtIER1dGNoIChubCkgLSBFbmdsaXNoIChlbikgLSBFc3RvbmlhbiAoZWUpCiAgICAj IEZyZW5jaCAoZnIpIC0gR2VybWFuIChkZSkgLSBHcmVlay1Nb2Rlcm4gKGVsKQogICAgIyBJdGFs aWFuIChpdCkgLSBLb3JlYW4gKGtyKSAtIE5vcndlZ2lhbiAobm8pIC0gTm9yd2VnaWFuIE55bm9y c2sgKG5uKQogICAgIyBQb3J0dWdlc2UgKHB0KSAtIEx1eGVtYm91cmdlb2lzKiAobHR6KQogICAg IyBTcGFuaXNoIChlcykgLSBTd2VkaXNoIChzdikgLSBDYXRhbGFuIChjYSkgLSBDemVjaChjeikK ICAgICMgUG9saXNoIChwbCkgLSBCcmF6aWxpYW4gUG9ydHVndWVzZSAocHQtYnIpIC0gSmFwYW5l c2UgKGphKQogICAgIyBSdXNzaWFuIChydSkKICAgICMKICAgIEFkZExhbmd1YWdlIGRhIC5kawog ICAgQWRkTGFuZ3VhZ2UgbmwgLm5sCiAgICBBZGRMYW5ndWFnZSBlbiAuZW4KICAgIEFkZExhbmd1 YWdlIGV0IC5lZQogICAgQWRkTGFuZ3VhZ2UgZnIgLmZyCiAgICBBZGRMYW5ndWFnZSBkZSAuZGUK ICAgIEFkZExhbmd1YWdlIGVsIC5lbAogICAgQWRkTGFuZ3VhZ2UgaGUgLmhlCiAgICBBZGRDaGFy c2V0IElTTy04ODU5LTggLmlzbzg4NTktOAogICAgQWRkTGFuZ3VhZ2UgaXQgLml0CiAgICBBZGRM YW5ndWFnZSBqYSAuamEKICAgIEFkZENoYXJzZXQgSVNPLTIwMjItSlAgLmppcwogICAgQWRkTGFu Z3VhZ2Uga3IgLmtyCiAgICBBZGRDaGFyc2V0IElTTy0yMDIyLUtSIC5pc28ta3IKICAgIEFkZExh bmd1YWdlIG5uIC5ubgogICAgQWRkTGFuZ3VhZ2Ugbm8gLm5vCiAgICBBZGRMYW5ndWFnZSBwbCAu cG8KICAgIEFkZENoYXJzZXQgSVNPLTg4NTktMiAuaXNvLXBsCiAgICBBZGRMYW5ndWFnZSBwdCAu cHQKICAgIEFkZExhbmd1YWdlIHB0LWJyIC5wdC1icgogICAgQWRkTGFuZ3VhZ2UgbHR6IC5sdQog ICAgQWRkTGFuZ3VhZ2UgY2EgLmNhCiAgICBBZGRMYW5ndWFnZSBlcyAuZXMKICAgIEFkZExhbmd1 YWdlIHN2IC5zdgogICAgQWRkTGFuZ3VhZ2UgY3ogLmN6CiAgICBBZGRMYW5ndWFnZSBydSAucnUK ICAgIEFkZExhbmd1YWdlIHpoLXR3IC50dwogICAgQWRkTGFuZ3VhZ2UgdHcgLnR3CiAgICBBZGRD aGFyc2V0IEJpZzUgICAgICAgICAuQmlnNSAgICAuYmlnNQogICAgQWRkQ2hhcnNldCBXSU5ET1dT LTEyNTEgLmNwLTEyNTEKICAgIEFkZENoYXJzZXQgQ1A4NjYgICAgICAgIC5jcDg2NgogICAgQWRk Q2hhcnNldCBJU08tODg1OS01ICAgLmlzby1ydQogICAgQWRkQ2hhcnNldCBLT0k4LVIgICAgICAg LmtvaTgtcgogICAgQWRkQ2hhcnNldCBVQ1MtMiAgICAgICAgLnVjczIKICAgIEFkZENoYXJzZXQg VUNTLTQgICAgICAgIC51Y3M0CiAgICBBZGRDaGFyc2V0IFVURi04ICAgICAgICAudXRmOAoKICAg ICMgTGFuZ3VhZ2VQcmlvcml0eSBhbGxvd3MgeW91IHRvIGdpdmUgcHJlY2VkZW5jZSB0byBzb21l IGxhbmd1YWdlcwogICAgIyBpbiBjYXNlIG9mIGEgdGllIGR1cmluZyBjb250ZW50IG5lZ290aWF0 aW9uLgogICAgIwogICAgIyBKdXN0IGxpc3QgdGhlIGxhbmd1YWdlcyBpbiBkZWNyZWFzaW5nIG9y ZGVyIG9mIHByZWZlcmVuY2UuIFdlIGhhdmUKICAgICMgbW9yZSBvciBsZXNzIGFscGhhYmV0aXpl ZCB0aGVtIGhlcmUuIFlvdSBwcm9iYWJseSB3YW50IHRvIGNoYW5nZSB0aGlzLgogICAgIwogICAg PElmTW9kdWxlIG1vZF9uZWdvdGlhdGlvbi5jPgogICAgICAgIExhbmd1YWdlUHJpb3JpdHkgZW4g ZGEgbmwgZXQgZnIgZGUgZWwgaXQgamEga3Igbm8gcGwgcHQgcHQtYnIgcnUgbHR6IGNhIGVzIHN2 IHR3CiAgICA8L0lmTW9kdWxlPgoKICAgICMKICAgICMgQWRkVHlwZSBhbGxvd3MgeW91IHRvIHR3 ZWFrIG1pbWUudHlwZXMgd2l0aG91dCBhY3R1YWxseSBlZGl0aW5nIGl0LCBvciB0bwogICAgIyBt YWtlIGNlcnRhaW4gZmlsZXMgdG8gYmUgY2VydGFpbiB0eXBlcy4KICAgICMKICAgICMgRm9yIGV4 YW1wbGUsIHRoZSBQSFAgMy54IG1vZHVsZSAobm90IHBhcnQgb2YgdGhlIEFwYWNoZSBkaXN0cmli dXRpb24gLSBzZWUKICAgICMgaHR0cDovL3d3dy5waHAubmV0KSB3aWxsIHR5cGljYWxseSB1c2U6 CiAgICAjCiAgICA8SWZNb2R1bGUgbW9kX3BocDMuYz4KICAgICAgICBBZGRUeXBlIGFwcGxpY2F0 aW9uL3gtaHR0cGQtcGhwMyAucGhwMwogICAgICAgIEFkZFR5cGUgYXBwbGljYXRpb24veC1odHRw ZC1waHAzLXNvdXJjZSAucGhwM3MKICAgIDwvSWZNb2R1bGU+CiAgICAjCiAgICAjIEFuZCBmb3Ig UEhQIDQueCwgdXNlOgogICAgIwogICAgPElmTW9kdWxlIG1vZF9waHA0LmM+CiAgICAgICAgQWRk VHlwZSBhcHBsaWNhdGlvbi94LWh0dHBkLXBocCAucGhwCiAgICAgICAgQWRkVHlwZSBhcHBsaWNh dGlvbi94LWh0dHBkLXBocC1zb3VyY2UgLnBocHMKICAgIDwvSWZNb2R1bGU+CgogICAgQWRkVHlw ZSBhcHBsaWNhdGlvbi94LXRhciAudGd6CgogICAgIwogICAgIyBBZGRIYW5kbGVyIGFsbG93cyB5 b3UgdG8gbWFwIGNlcnRhaW4gZmlsZSBleHRlbnNpb25zIHRvICJoYW5kbGVycyIsCiAgICAjIGFj dGlvbnMgdW5yZWxhdGVkIHRvIGZpbGV0eXBlLiBUaGVzZSBjYW4gYmUgZWl0aGVyIGJ1aWx0IGlu dG8gdGhlIHNlcnZlcgogICAgIyBvciBhZGRlZCB3aXRoIHRoZSBBY3Rpb24gY29tbWFuZCAoc2Vl IGJlbG93KQogICAgIwogICAgIyBJZiB5b3Ugd2FudCB0byB1c2Ugc2VydmVyIHNpZGUgaW5jbHVk ZXMsIG9yIENHSSBvdXRzaWRlCiAgICAjIFNjcmlwdEFsaWFzZWQgZGlyZWN0b3JpZXMsIHVuY29t bWVudCB0aGUgZm9sbG93aW5nIGxpbmVzLgogICAgIwogICAgIyBUbyB1c2UgQ0dJIHNjcmlwdHM6 CiAgICAjCiAgICAjQWRkSGFuZGxlciBjZ2ktc2NyaXB0IC5jZ2kKCiAgICAjCiAgICAjIFRvIHVz ZSBzZXJ2ZXItcGFyc2VkIEhUTUwgZmlsZXMKICAgICMKICAgIEFkZFR5cGUgdGV4dC9odG1sIC5z aHRtbAogICAgQWRkSGFuZGxlciBzZXJ2ZXItcGFyc2VkIC5zaHRtbAoKICAgICMKICAgICMgVW5j b21tZW50IHRoZSBmb2xsb3dpbmcgbGluZSB0byBlbmFibGUgQXBhY2hlJ3Mgc2VuZC1hc2lzIEhU VFAgZmlsZQogICAgIyBmZWF0dXJlCiAgICAjCiAgICAjQWRkSGFuZGxlciBzZW5kLWFzLWlzIGFz aXMKCiAgICAjCiAgICAjIElmIHlvdSB3aXNoIHRvIHVzZSBzZXJ2ZXItcGFyc2VkIGltYWdlbWFw IGZpbGVzLCB1c2UKICAgICMKICAgICNBZGRIYW5kbGVyIGltYXAtZmlsZSBtYXAKCiAgICAjCiAg ICAjIFRvIGVuYWJsZSB0eXBlIG1hcHMsIHlvdSBtaWdodCB3YW50IHRvIHVzZQogICAgIwogICAg I0FkZEhhbmRsZXIgdHlwZS1tYXAgdmFyCgo8L0lmTW9kdWxlPgojIEVuZCBvZiBkb2N1bWVudCB0 eXBlcy4KCiMKIyBBY3Rpb24gbGV0cyB5b3UgZGVmaW5lIG1lZGlhIHR5cGVzIHRoYXQgd2lsbCBl eGVjdXRlIGEgc2NyaXB0IHdoZW5ldmVyCiMgYSBtYXRjaGluZyBmaWxlIGlzIGNhbGxlZC4gVGhp cyBlbGltaW5hdGVzIHRoZSBuZWVkIGZvciByZXBlYXRlZCBVUkwKIyBwYXRobmFtZXMgZm9yIG9m dC11c2VkIENHSSBmaWxlIHByb2Nlc3NvcnMuCiMgRm9ybWF0OiBBY3Rpb24gbWVkaWEvdHlwZSAv Y2dpLXNjcmlwdC9sb2NhdGlvbgojIEZvcm1hdDogQWN0aW9uIGhhbmRsZXItbmFtZSAvY2dpLXNj cmlwdC9sb2NhdGlvbgojCgojCiMgTWV0YURpcjogc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBk aXJlY3RvcnkgaW4gd2hpY2ggQXBhY2hlIGNhbiBmaW5kCiMgbWV0YSBpbmZvcm1hdGlvbiBmaWxl cy4gVGhlc2UgZmlsZXMgY29udGFpbiBhZGRpdGlvbmFsIEhUVFAgaGVhZGVycwojIHRvIGluY2x1 ZGUgd2hlbiBzZW5kaW5nIHRoZSBkb2N1bWVudAojCiNNZXRhRGlyIC53ZWIKCiMKIyBNZXRhU3Vm Zml4OiBzcGVjaWZpZXMgdGhlIGZpbGUgbmFtZSBzdWZmaXggZm9yIHRoZSBmaWxlIGNvbnRhaW5p bmcgdGhlCiMgbWV0YSBpbmZvcm1hdGlvbi4KIwojTWV0YVN1ZmZpeCAubWV0YQoKIwojIEN1c3Rv bWl6YWJsZSBlcnJvciByZXNwb25zZSAoQXBhY2hlIHN0eWxlKQojICB0aGVzZSBjb21lIGluIHRo cmVlIGZsYXZvcnMKIwojICAgIDEpIHBsYWluIHRleHQKI0Vycm9yRG9jdW1lbnQgNTAwICJUaGUg c2VydmVyIG1hZGUgYSBib28gYm9vLgojICBuLmIuICB0aGUgc2luZ2xlIGxlYWRpbmcgKCIpIG1h cmtzIGl0IGFzIHRleHQsIGl0IGRvZXMgbm90IGdldCBvdXRwdXQKIwojICAgIDIpIGxvY2FsIHJl ZGlyZWN0cwojRXJyb3JEb2N1bWVudCA0MDQgL21pc3NpbmcuaHRtbAojICB0byByZWRpcmVjdCB0 byBsb2NhbCBVUkwgL21pc3NpbmcuaHRtbAojRXJyb3JEb2N1bWVudCA0MDQgL2NnaS1iaW4vbWlz c2luZ19oYW5kbGVyLnBsCiMgIE4uQi46IFlvdSBjYW4gcmVkaXJlY3QgdG8gYSBzY3JpcHQgb3Ig YSBkb2N1bWVudCB1c2luZyBzZXJ2ZXItc2lkZS1pbmNsdWRlcy4KIwojICAgIDMpIGV4dGVybmFs IHJlZGlyZWN0cwojRXJyb3JEb2N1bWVudCA0MDIgaHR0cDovL3NvbWUub3RoZXJfc2VydmVyLmNv bS9zdWJzY3JpcHRpb25faW5mby5odG1sCiMgIE4uQi46IE1hbnkgb2YgdGhlIGVudmlyb25tZW50 IHZhcmlhYmxlcyBhc3NvY2lhdGVkIHdpdGggdGhlIG9yaWdpbmFsCiMgIHJlcXVlc3Qgd2lsbCAq bm90KiBiZSBhdmFpbGFibGUgdG8gc3VjaCBhIHNjcmlwdC4KCiMKIyBDdXN0b21pemUgYmVoYXZp b3VyIGJhc2VkIG9uIHRoZSBicm93c2VyCiMKPElmTW9kdWxlIG1vZF9zZXRlbnZpZi5jPgoKICAg ICMKICAgICMgVGhlIGZvbGxvd2luZyBkaXJlY3RpdmVzIG1vZGlmeSBub3JtYWwgSFRUUCByZXNw b25zZSBiZWhhdmlvci4KICAgICMgVGhlIGZpcnN0IGRpcmVjdGl2ZSBkaXNhYmxlcyBrZWVwYWxp dmUgZm9yIE5ldHNjYXBlIDIueCBhbmQgYnJvd3NlcnMgdGhhdAogICAgIyBzcG9vZiBpdC4gVGhl cmUgYXJlIGtub3duIHByb2JsZW1zIHdpdGggdGhlc2UgYnJvd3NlciBpbXBsZW1lbnRhdGlvbnMu CiAgICAjIFRoZSBzZWNvbmQgZGlyZWN0aXZlIGlzIGZvciBNaWNyb3NvZnQgSW50ZXJuZXQgRXhw bG9yZXIgNC4wYjIKICAgICMgd2hpY2ggaGFzIGEgYnJva2VuIEhUVFAvMS4xIGltcGxlbWVudGF0 aW9uIGFuZCBkb2VzIG5vdCBwcm9wZXJseQogICAgIyBzdXBwb3J0IGtlZXBhbGl2ZSB3aGVuIGl0 IGlzIHVzZWQgb24gMzAxIG9yIDMwMiAocmVkaXJlY3QpIHJlc3BvbnNlcy4KICAgICMKICAgIEJy b3dzZXJNYXRjaCAiTW96aWxsYS8yIiBub2tlZXBhbGl2ZQogICAgQnJvd3Nlck1hdGNoICJNU0lF IDRcLjBiMjsiIG5va2VlcGFsaXZlIGRvd25ncmFkZS0xLjAgZm9yY2UtcmVzcG9uc2UtMS4wCgog ICAgIwogICAgIyBUaGUgZm9sbG93aW5nIGRpcmVjdGl2ZSBkaXNhYmxlcyBIVFRQLzEuMSByZXNw b25zZXMgdG8gYnJvd3NlcnMgd2hpY2gKICAgICMgYXJlIGluIHZpb2xhdGlvbiBvZiB0aGUgSFRU UC8xLjAgc3BlYyBieSBub3QgYmVpbmcgYWJsZSB0byBncm9rIGEKICAgICMgYmFzaWMgMS4xIHJl c3BvbnNlLgogICAgIwogICAgQnJvd3Nlck1hdGNoICJSZWFsUGxheWVyIDRcLjAiIGZvcmNlLXJl c3BvbnNlLTEuMAogICAgQnJvd3Nlck1hdGNoICJKYXZhLzFcLjAiIGZvcmNlLXJlc3BvbnNlLTEu MAogICAgQnJvd3Nlck1hdGNoICJKREsvMVwuMCIgZm9yY2UtcmVzcG9uc2UtMS4wCgo8L0lmTW9k dWxlPgojIEVuZCBvZiBicm93c2VyIGN1c3RvbWl6YXRpb24gZGlyZWN0aXZlcwoKIwojIEFsbG93 IHNlcnZlciBzdGF0dXMgcmVwb3J0cywgd2l0aCB0aGUgVVJMIG9mIGh0dHA6Ly9zZXJ2ZXJuYW1l L3NlcnZlci1zdGF0dXMKIyBDaGFuZ2UgdGhlICIueW91ci1kb21haW4uY29tIiB0byBtYXRjaCB5 b3VyIGRvbWFpbiB0byBlbmFibGUuCiMKIzxMb2NhdGlvbiAvc2VydmVyLXN0YXR1cz4KIyAgICBT ZXRIYW5kbGVyIHNlcnZlci1zdGF0dXMKIyAgICBPcmRlciBkZW55LGFsbG93CiMgICAgRGVueSBm cm9tIGFsbAojICAgIEFsbG93IGZyb20gLnlvdXItZG9tYWluLmNvbQojPC9Mb2NhdGlvbj4KCiMK IyBBbGxvdyByZW1vdGUgc2VydmVyIGNvbmZpZ3VyYXRpb24gcmVwb3J0cywgd2l0aCB0aGUgVVJM IG9mCiMgaHR0cDovL3NlcnZlcm5hbWUvc2VydmVyLWluZm8gKHJlcXVpcmVzIHRoYXQgbW9kX2lu Zm8uYyBiZSBsb2FkZWQpLgojIENoYW5nZSB0aGUgIi55b3VyLWRvbWFpbi5jb20iIHRvIG1hdGNo IHlvdXIgZG9tYWluIHRvIGVuYWJsZS4KIwojPExvY2F0aW9uIC9zZXJ2ZXItaW5mbz4KIyAgICBT ZXRIYW5kbGVyIHNlcnZlci1pbmZvCiMgICAgT3JkZXIgZGVueSxhbGxvdwojICAgIERlbnkgZnJv bSBhbGwKIyAgICBBbGxvdyBmcm9tIC55b3VyLWRvbWFpbi5jb20KIzwvTG9jYXRpb24+CgojCiMg VGhlcmUgaGF2ZSBiZWVuIHJlcG9ydHMgb2YgcGVvcGxlIHRyeWluZyB0byBhYnVzZSBhbiBvbGQg YnVnIGZyb20gcHJlLTEuMQojIGRheXMuICBUaGlzIGJ1ZyBpbnZvbHZlZCBhIENHSSBzY3JpcHQg ZGlzdHJpYnV0ZWQgYXMgYSBwYXJ0IG9mIEFwYWNoZS4KIyBCeSB1bmNvbW1lbnRpbmcgdGhlc2Ug bGluZXMgeW91IGNhbiByZWRpcmVjdCB0aGVzZSBhdHRhY2tzIHRvIGEgbG9nZ2luZwojIHNjcmlw dCBvbiBwaGYuYXBhY2hlLm9yZy4gIE9yLCB5b3UgY2FuIHJlY29yZCB0aGVtIHlvdXJzZWxmLCB1 c2luZyB0aGUgc2NyaXB0CiMgc3VwcG9ydC9waGZfYWJ1c2VfbG9nLmNnaS4KIwojPExvY2F0aW9u IC9jZ2ktYmluL3BoZio+CiMgICAgRGVueSBmcm9tIGFsbAojICAgIEVycm9yRG9jdW1lbnQgNDAz IGh0dHA6Ly9waGYuYXBhY2hlLm9yZy9waGZfYWJ1c2VfbG9nLmNnaQojPC9Mb2NhdGlvbj4KCiMK IyBQcm94eSBTZXJ2ZXIgZGlyZWN0aXZlcy4gVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZXMg dG8KIyBlbmFibGUgdGhlIHByb3h5IHNlcnZlcjoKIwojPElmTW9kdWxlIG1vZF9wcm94eS5jPgoj ICAgIFByb3h5UmVxdWVzdHMgT24KCiMgICAgPERpcmVjdG9yeSBwcm94eToqPgojICAgICAgICBP cmRlciBkZW55LGFsbG93CiMgICAgICAgIERlbnkgZnJvbSBhbGwKIyAgICAgICAgQWxsb3cgZnJv bSAueW91ci1kb21haW4uY29tCiMgICAgPC9EaXJlY3Rvcnk+CgogICAgIwogICAgIyBFbmFibGUv ZGlzYWJsZSB0aGUgaGFuZGxpbmcgb2YgSFRUUC8xLjEgIlZpYToiIGhlYWRlcnMuCiAgICAjICgi RnVsbCIgYWRkcyB0aGUgc2VydmVyIHZlcnNpb247ICJCbG9jayIgcmVtb3ZlcyBhbGwgb3V0Z29p bmcgVmlhOiBoZWFkZXJzKQogICAgIyBTZXQgdG8gb25lIG9mOiBPZmYgfCBPbiB8IEZ1bGwgfCBC bG9jawogICAgIwojICAgIFByb3h5VmlhIE9uCgogICAgIwogICAgIyBUbyBlbmFibGUgdGhlIGNh Y2hlIGFzIHdlbGwsIGVkaXQgYW5kIHVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmVzOgogICAg IyAobm8gY2FjaGVpbmcgd2l0aG91dCBDYWNoZVJvb3QpCiAgICAjCiMgICAgQ2FjaGVSb290ICIv dmFyL2NhY2hlL2FwYWNoZSIKIyAgICBDYWNoZVNpemUgNQojICAgIENhY2hlR2NJbnRlcnZhbCA0 CiMgICAgQ2FjaGVNYXhFeHBpcmUgMjQKIyAgICBDYWNoZUxhc3RNb2RpZmllZEZhY3RvciAwLjEK IyAgICBDYWNoZURlZmF1bHRFeHBpcmUgMQojICAgIE5vQ2FjaGUgYS1kb21haW4uY29tIGFub3Ro ZXItZG9tYWluLmVkdSBqb2VzLmdhcmFnZS1zYWxlLmNvbQoKIzwvSWZNb2R1bGU+CiMgRW5kIG9m IHByb3h5IGRpcmVjdGl2ZXMuCgojIyMgU2VjdGlvbiAzOiBWaXJ0dWFsIEhvc3RzCiMKIyBWaXJ0 dWFsSG9zdDogSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gbXVsdGlwbGUgZG9tYWlucy9ob3N0bmFt ZXMgb24geW91cgojIG1hY2hpbmUgeW91IGNhbiBzZXR1cCBWaXJ0dWFsSG9zdCBjb250YWluZXJz IGZvciB0aGVtLiBNb3N0IGNvbmZpZ3VyYXRpb25zCiMgdXNlIG9ubHkgbmFtZS1iYXNlZCB2aXJ0 dWFsIGhvc3RzIHNvIHRoZSBzZXJ2ZXIgZG9lc24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0CiMgSVAg YWRkcmVzc2VzLiBUaGlzIGlzIGluZGljYXRlZCBieSB0aGUgYXN0ZXJpc2tzIGluIHRoZSBkaXJl Y3RpdmVzIGJlbG93LgojCiMgUGxlYXNlIHNlZSB0aGUgZG9jdW1lbnRhdGlvbiBhdCA8VVJMOmh0 dHA6Ly93d3cuYXBhY2hlLm9yZy9kb2NzL3Zob3N0cy8+CiMgZm9yIGZ1cnRoZXIgZGV0YWlscyBi ZWZvcmUgeW91IHRyeSB0byBzZXR1cCB2aXJ0dWFsIGhvc3RzLgojCiMgWW91IG1heSB1c2UgdGhl IGNvbW1hbmQgbGluZSBvcHRpb24gJy1TJyB0byB2ZXJpZnkgeW91ciB2aXJ0dWFsIGhvc3QKIyBj b25maWd1cmF0aW9uLgoKIwojIFVzZSBuYW1lLWJhc2VkIHZpcnR1YWwgaG9zdGluZy4KIwojTmFt ZVZpcnR1YWxIb3N0ICoKCiMKIyBWaXJ0dWFsSG9zdCBleGFtcGxlOgojIEFsbW9zdCBhbnkgQXBh Y2hlIGRpcmVjdGl2ZSBtYXkgZ28gaW50byBhIFZpcnR1YWxIb3N0IGNvbnRhaW5lci4KIyBUaGUg Zmlyc3QgVmlydHVhbEhvc3Qgc2VjdGlvbiBpcyB1c2VkIGZvciByZXF1ZXN0cyB3aXRob3V0IGEg a25vd24KIyBzZXJ2ZXIgbmFtZS4KIwojPFZpcnR1YWxIb3N0ICo+CiMgICAgU2VydmVyQWRtaW4g d2VibWFzdGVyQGR1bW15LWhvc3QuZXhhbXBsZS5jb20KIyAgICBEb2N1bWVudFJvb3QgL3d3dy9k b2NzL2R1bW15LWhvc3QuZXhhbXBsZS5jb20KIyAgICBTZXJ2ZXJOYW1lIGR1bW15LWhvc3QuZXhh bXBsZS5jb20KIyAgICBFcnJvckxvZyBsb2dzL2R1bW15LWhvc3QuZXhhbXBsZS5jb20tZXJyb3Jf bG9nCiMgICAgQ3VzdG9tTG9nIGxvZ3MvZHVtbXktaG9zdC5leGFtcGxlLmNvbS1hY2Nlc3NfbG9n IGNvbW1vbgojPC9WaXJ0dWFsSG9zdD4KCk5hbWVWaXJ0dWFsSG9zdCAqCgojSW5jbHVkZSAiL2V0 Yy9hcGFjaGUvc3NsLmNvbmYiCkluY2x1ZGUgIi9ldGMvYXBhY2hlL3ZpcnR1YWxob3N0LmNvbmYi Cg== ------------7C62F4125AEBAE Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ ------------7C62F4125AEBAE--