From owner-freebsd-ports Tue Nov 21 14:18:20 1995 Return-Path: owner-ports Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id OAA28218 for ports-outgoing; Tue, 21 Nov 1995 14:18:20 -0800 Received: from unalBSD.usc.unal.edu.co ([200.21.26.68]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id OAA27906 for ; Tue, 21 Nov 1995 14:13:22 -0800 Received: (from pgiffuni@localhost) by unalBSD.usc.unal.edu.co (8.6.11/8.6.9) id RAA00631; Tue, 21 Nov 1995 17:19:02 GMT Date: Tue, 21 Nov 1995 17:19:01 +0000 () From: Pedro Giffuni To: freeBSD-ports@freeBSD.org Subject: SPICE again... Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1239222546-816974341=:598" Sender: owner-ports@freeBSD.org Precedence: bulk This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1239222546-816974341=:598 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi, I am sorry I didn`t give all the information I have about SPICE. I know two versions of SPICE: SPICE2G6 ----- The more or less "original version", in FORTRAN but translated to C with f2c and some help. It has been ported to 386bsd. SPICE3f3 ----- The last version ever supported by Berkeley, it was written completely in C, and has support for Xwindows. Patches for the original version are found by anonymous ftp to ic.berkeley.edu. The best way to find it is to archie the precise version you need: archie SPICE3F3 > spice_list & download the patches and apply them. There is a port of SPICE3F4 (3F3 patched) for Linux, but I wouldn`t recommend it because it was modified to work with Linux`s libc. good luck, Pedro. Reality is bad enough, why should I tell the truth? -- Patrick Sky --0-1239222546-816974341=:598 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=readme Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: DQoNCgkJCQkJCQkJSnVseSwgMTk5Mw0KDQoJU3BpY2UzZjQNCg0KLS0tLS0t LS0tLSBOZXcgZmVhdHVyZXMgaW4gU3BpY2UzZi40DQoNCldpdGggdGhpcyBy ZWxlYXNlLCB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhIHdpbGwgbm8g bG9uZ2VyDQpiZSBwcm92aWRpbmcgdGVjaG5pY2FsIHN1cHBvcnQgZm9yIFNw aWNlMywgYW5kIG5vIHBsYW5zIGhhdmUgYmVlbiBtYWRlDQpmb3IgcHJvdmlk aW5nIHN1cHBvcnQgYW55IHRpbWUgaW4gdGhlIGZ1dHVyZS4gIFNvbWUgd29y ayBvbiBTcGljZTMgd2lsbA0KY29udGludWUgKG5vdGFibHkgdGhlIEJTSU0t MyBtb2RlbCBhbmQgcGVyaGFwcyBvdGhlciBkZXZpY2UgbW9kZWxzKS4NCg0K VGhlIGZvbGxvd2luZyBpcyBhIGxpc3Qgb2YgbmV3IGZlYXR1cmVzIGFuZCBm aXhlcyBmcm9tIHRoZSBwcmV2aW91cw0KcmVsZWFzZSBvZiBTcGljZTMsIDNm LjMgKG5vdGUgdGhhdCAzZi40IGlzIGEgImxhc3QgbWludXRlIiByZWxlYXNl IHdpdGgNCm9ubHkgYSBmZXcgbmV3IGNoYW5nZXMpOg0KCUluaXRpYWwgY29u ZGl0aW9ucyBzcGVjaWZpZWQgYWNyb3NzIHZvbHRhZ2Ugc291cmNlcyBpcyBu b3cgaGFuZGxlZA0KCSJhbHRlciIgY29tbWFuZCBhY2NlcHRzIGV4cHJlc3Np b25zLCBuZXcgc3ludGF4IGlzIGVpdGhlcjoNCgkJYWx0ZXIgZGV2IHBhcmFt ID0gZXhwcg0KCQlhbHRlciBAZGV2W3BhcmFtXSA9IGV4cHINCgkiYWx0ZXJt b2QiIGNvbW1hbmQgZm9yIGFsdGVyaW5nIG1vZGVsIHBhcmFtZXRlcnMgKHdh cyAiYWx0ZXIiKQ0KCW1pbm9yIGJ1ZyBmaXhlcw0KDQpUaGUgZm9sbG93aW5n IGlzIGEgbGlzdCBvZiBuZXcgZmVhdHVyZXMgYW5kIGZpeGVzIGZyb20gdGhl IHByZXZpb3VzDQptYWpvciByZWxlYXNlIG9mIFNwaWNlMyAoM2YuMikgYW5k IHRoZSBwcmV2aW91cyByZWxlYXNlICgzZi4zKSAobm90ZQ0KdGhhdCAzZi4z IGlzIHByaW1hcmlseSBhIGJ1Zy1maXggcmVsZWFzZSBvdmVyIDNmLjIpOg0K CUFkZGVkIG5vbi1saW5lYXIgY29udHJvbGxlZCBzb3VyY2UgZnVuY3Rpb25z ICJ1KHgpIiBhbmQgInVyYW1wKHgpIg0KCUZpeGVzIHRvIEFDIHNlbnNpdGl2 aXR5IGNhbGN1bGF0aW9uDQoJRml4ZXMgdG8gaW5pdGlhbCBjb25kaXRpb25z IGNvZGUNCglGaXhlZCBzcHVyaW91cyBlcnJvciBtZXNzYWdlcyB3aGVuIHJ1 bm5pbmcgbXVsdGlwbGUgYW5heWxzZXMgaW4NCgkJYmF0Y2ggbW9kZQ0KCUZp eGVkIHBsb3R0aW5nIChhZ2FpbikNCglGaXhlZCAiYXZhaWxhYmxlIG1lbW9y eSIgY2FsY3VsYXRpb24NCglGaXhlZCBkZWZhdWx0IHNjYWxlIHRvIGJlIGxv ZyBmb3IgYW5hbHlzaXMgZG9uZSBieSBkZWNhZGUvb2N0YXZlDQoJCShhYywg ZGlzdG8sIG5vaXNlKTsgdXNlIHBsb3Qgb3B0aW9uICJsaW5lYXIiIHRvIG92 ZXJyaWRlDQoJRml4ZWQgYXNjaWlwbG90DQoJRml4ZWQgcHJvYmxlbSBjYXVz aW5nIEJTSU0gbW9kZWxzIHRvIG5vdCBiZSBmb3VuZA0KCVJlbW92ZWQgInNw aWNlZCIgKGEgcmVtb3RlLXNwaWNlIGRhZW1vbiBmb3IgQlNEIHVuaXgpOyBh ZGRlZCBhbg0KCQlyc3BpY2UgY29tbWFuZCB3aGljaCB1c2VzICJyc2giIGlu c3RlYWQuDQoJT25saW5lIGhlbHAgaW5mbyBpcyBub3cgaWRlbnRpY2xlIHRv IHRoZSAiU3BpY2UzZiBVc2VyJ3MgTWFudWFsIg0KCUZpeGVkIG51bWVyb3Vz IGFuZCB2YXJpb3VzIHBhcnNpbmcgZXJyb3JzDQoJIlRGIiBhbmFseXNpcyBv dXRwdXQgaXMgbm93IGlkZW50aWZpZWQgYXMgIlRGIiBkYXRhLCBub3QgIkRD IiBkYXRhDQoJQ29tcGxleCBudW1iZXJzIGFuZCBSZWFsIHZlY3RvcnMgYXJl IG5vdyBwcmludGVkIGJ5IHRoZQ0KCQkic2hvdyIvInNob3dtb2QiIGNvbW1h bmRzDQoJRml4ZXMgdG8gaGVscCBNYWNJbnRvc2ggcG9ydA0KCVBvcnQgZm9y IERFQyBBbHBoYSBydW5uaW5nIE9TRi8xDQoJTWlzYy4gY2hhbmdlcyB0byBp bXByb3ZlIHBvcnRhYmlsaXR5DQoNCkFkZGl0aW9uYWwgZmVhdHVyZXMgc2lu Y2UgcmVsZWFzZSAzZS4yIGFyZToNCglBQyBhbmQgREMgU2Vuc2l0aXZpdHku DQoJTU9TMyBkaXNjb250aW51aXR5IGZpeCAoImthcHBhIikuDQoJQWRkZWQg YSBuZXcgSkZFVCBmaXR0aW5nIHBhcmFtZXRlci4NCglNaW5vciBpbml0aWFs IGNvbmRpdGlvbnMgZml4Lg0KCVJld3JpdHRlbiBvciBmaXhlZCAic2hvdyIg YW5kICJ0cmFjZSIgY29tbWFuZHMuDQoJTmV3IGludGVyYWN0aXZlIGNvbW1h bmRzICJzaG93bW9kIiBhbmQgImFsdGVyIi4NCglNaW5vciBidWctZml4ZXMg dG8gdGhlIFBvbGUtWmVybyBhbmFseXNpcy4NCglNaXNjZWxsYW5lb3VzIGJ1 ZyBmaXhlcyBpbiB0aGUgZnJvbnQgZW5kLg0KDQoNCgwtLS0tLS0tLS0tICBT eXN0ZW1zIHN1cHBvcnRlZA0KDQpTcGljZTNmLjQgaGFzIGJlZW4gY29tcGls ZWQgYW5kIGFuZCBydW4gdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVyYXRpbmcg c3lzdGVtczoNCglPU0YgMSwgREVDIEFscGhhDQoJVWx0cml4IDQsIFJJU0Mg b3IgVkFYDQoJU3VuT1MgNCwgU3VuMyBvciBTdW40DQoNClRoZSBmb2xsb3dp bmcgc3lzdGVtcyBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IHRlc3RlZCBlaXRo ZXIgaW4gdGhlIHBhc3Qgb3INCmJ5IHNvbWVvbmUgb3V0c2lkZSBvZiBVQyBC ZXJrZWxleS4NCglNUy1ET1Mgb24gdGhlIElCTSBQQywgdXNpbmcgTWljcm9T b2Z0IEMgNS4xIG9yIGxhdGVyDQoJQUlYIFYzLCBSUy82MDAwDQoJSFAtVVgg OC4wLCA5MDAwLzcwMA0KCUR5bml4IDMuMCwgU2VxdWVudCBTeW1tZXRyeSBv ciBCYWxhbmNlIChkb2VzIF9ub3RfIHRha2UgYWR2YW50YWdlIG9mIA0KCQlw YXJhbGxlbGlzbSkNCglIUC1VWCA3LjAsIDkwMDAvMzAwDQoJSXJpeCAzLjIs IFNHSSBQZXJzb25hbCBJcmlzDQoJTmVYVCAyLjANCglBcHBsZSBNYWNJbnRv c2gsIFVzaW5nIFRoaW5rIEMNCg0KT3RoZXIgc3lzdGVtcyBtYXkgcmVxdWly ZSBhIHNtYWxsIGFtb3VudCBvZiBwb3J0aW5nIGVmZm9ydC4gIE5vdGUgdGhh dA0KdGhlICdnY2MnIEMgY29tcGlsZXIgd2FzIHVzZWQgc3VjY2Vzc2Z1bGx5 IHRvIGNvbXBpbGUgU3BpY2UzZi40Lg0KDQpEdWUgdG8gdGhlIGhlYXZ5IHVz ZSBvZiBmbG9hdGluZyBwb2ludCBtYXRoIG9wZXJhdGlvbnMsIFNwaWNlMyBv biB0aGUNClBDIHJlcXVpcmVzIGEgbWF0aCBjby1wcm9jZXNzb3IuICBBbHNv LCBvbiB0aGUgUEMsIFNWR0EgZGlzcGxheXMgYXJlDQpfbm90XyBzdXBwb3J0 ZWQuICBPbmx5IENHQSwgRUdBLCBhbmQgVkdBIGRpc3BsYXlzIGFyZSBzdXBw b3J0ZWQgKHZpYQ0KdGhlIE1pY3JvU29mdCBncmFwaGljcyBsaWJyYXJ5KSBh dCB0aGlzIHRpbWUuDQoNCkEgNjgwMjAgb3IgYmV0dGVyIHByb2Nlc3NvciBh bmQgYSBtYXRoIGNvLXByb2Nlc3NvciBpcyByZXF1aXJlZCBmb3INCnRoZSBN YWNJbnRvc2guDQoNClN5c3RlbXMgdXNpbmcgdGhlIFgxMSBXaW5kb3cgU3lz dGVtIChnZW5lcmFsbHkgYW55ICJ3b3Jrc3RhdGlvbiIgY2xhc3MNCm9mIHN5 c3RlbSkgbXVzdCBoYXZlIHRoZSBNSVQgQXRoZW5hIFdpZGdldCBTZXQgIGF2 YWlsYWJsZSAoImxpYlhhdy5hIg0KYW5kIHBvc3NpYmxlbHkgImxpYlhtdS5h IikuICBUaGVzZSBhcmUgZnJlcXVlbnRseSBub3QgZGlzdHJpYnV0ZWQgb3IN CmRpc3RyaWJ1dGVkIGFzICJ1c3VwcG9ydGVkIHNvZnR3YXJlIiBieSBjb21t ZXJjaWFsIHdvcmtzdGF0aW9uDQp2ZW5kb3JzLg0KDQoMLS0tLS0tLS0tLSBV bmxvYWRpbmcgU3BpY2UzIGZyb20gZGlzayBvciB0YXBlDQoNClRoZSBVbml4 IGRpc3RyaWJ1dGlvbiBjb21lcyBvbiAxLzIiIDktdHJhY2sgdGFwZSwgOG1t IHRhcGUsIG9yIERFQyBUSzUwIHRhcGUNCmluICJ0YXIiIGZvcm1hdC4gIFRo ZSBNUy1ET1MgZGlzdHJpYnV0aW9uIGNvbWVzIG9uIHNldmVyYWwgMy41IiBm bG9wcHkNCmRpc2tldHRlcyAoYm90aCBoaWdoIGFuZCBsb3cgZGVuc2l0eSkg aW4gdGhlIHN0YW5kYXJkIE1TLURPUyBmb3JtYXQuDQpUaGUgY29udGVudHMg b2YgYm90aCBkaXN0cmlidXRpb25zIGFyZSBpZGVudGljYWwsIGluY2x1ZGlu ZyBmaWxlbmFtZXMsDQpleGNlcHQgZm9yIHRoZSBhZGRpdGlvbmFsIGZpbGVz IG9uIHRoZSBNUy1ET1MgZGlza3MgdXNlZCBmb3IgYXV0b21hdGljDQp1bmxv YWRpbmcuDQoNClRoZSBzb3VyY2UgY29kZSBhbmQgYXNzb2NpYXRlZCBkYXRh IGZpbGVzIGZvciBzcGljZTNmLjQgcmVxdWlyZSBvdmVyIDZNQiwNCmFuZCB1 cCB0byBhbiBhZGRpdGlvbmFsIDIyTUIgbWF5IGJlIHJlcXVpcmVkIHRvIGNv bXBpbGUgdW5kZXIgVW5peCAoZm9yIGENCkRFQyBSSVNDIHdvcmtzdGF0aW9u IHdpdGggdGhlIGNvbXBpbGVyIG9wdGlvbiAnLWcnKS4gIEZvciBNUy1ET1Mg dXNpbmcNCk1pY3JvU29mdCBDIDUuMSBvciBsYXRlciwgbmVhcmx5IDhNQiAo YmV5b25kIHRoZSA2TUIgZm9yIHRoZSBzb3VyY2UpIGlzDQpyZXF1aXJlZC4N Cg0KVU5JWDogIFRoZSBVTklYIGRpc3RyaWJ1dGlvbiBvZiBTcGljZTNmLjQg Y29tZXMgaW4gInRhciIgZm9ybWF0LiAgVG8NCglleHRyYWN0IFNwaWNlM2Yu NCBmaXJzdCBjcmVhdGUgdGhlIGRpcmVjdG9yeSB0aGF0IHlvdSB3aXNoIHRv DQoJaG9sZCB0aGUgZGlzdHJpYnV0aW9uIGFuZCAiY2QiIGludG8gdGhhdCBk aXJlY3RvcnkuICBUaGVuDQoJZXhlY3V0ZSB0aGUgY29tbWFuZCAidGFyIHgi IChhZnRlciBtb3VudGluZyB0aGUgdGFwZSkuICBOb3RlDQoJdGhhdCBzb21l IHNpdGVzIG1heSByZXF1aXJlIHRoYXQgeW91IGV4cGxpY2l0bHkgaW5kaWNh dGUgdGhlDQoJdGFwZSBkcml2ZSBuYW1lIHdoZW4gdXNpbmcgdGhlICJ0YXIi IGNvbW1hbmQ7IHRoaXMgaXMgZG9uZSB3aXRoDQoJdGhlICdmJyBmbGFnLCBm b3IgZXhhbXBsZSAidGFyIHhmIC9kZXYvcm10MGgiLg0KDQpNUy1ET1M6ICBT cGljZTNmLjQgY29tZXMgb24gTVMtRE9TIGZvcm1hdCAzLjUiIGRpc2tzLiAg VG8gZXh0cmFjdCB0aGUNCglkaXN0cmlidXRpb24gb250byBhIGhhcmQgZGlz aywgY3JlYXRlIHRoZSBkaXJlY3Rvcnkgb24gdGhlIGhhcmQNCglkaXNrIHRo YXQgeW91IHdpc2ggdG8gaG9sZCB0aGUgc291cmNlIGNvZGUuICAiY2QiIGlu dG8gdGhhdA0KCWRpcmVjdG9yeSBvbiB0aGUgaGFyZCBkaXNrLiAgRm9yIGVh Y2ggb2YgdGhlIGRpc3RyaWJ1dGVkIGRpc2tzLA0KCUlOIE9SREVSLCBpbnNl cnQgdGhlIGRpc2sgaW50byB0aGUgZHJpdmUgKHdlJ2xsIGFzc3VtZSBkcml2 ZQ0KCSJCOiIgaGVyZSksIGFuZCBlbnRlciAiQjpVTkxPQUQgQjoiLiAgVGhp cyB3aWxsIHVzZSB0aGUgc2NyaXB0DQoJInVubG9hZC5iYXQiIHRvIGV4dHJh Y3QgdGhlIHNvdXJjZSBmaWxlcyBvZmYgb2YgdGhlIGRpc2sgYW5kDQoJaW50 byB0aGUgY3VycmVudCBkaXJlY3Rvcnkgb3IgYSBzdWJkaXJlY3Rvcnkgb2Yg dGhlIGN1cnJlbnQNCglkaXJlY3RvcnkuICBZb3UgbWlnaHQgc2VlIHRoZSBl cnJvciAiRmlsZSBub3QgZm91bmQgPz8/Pz8/Pz8uPz8/IiwNCgl0aGF0IGlz IG5vcm1hbC4NCg0KQ29udmVydGluZyB0aGUgTVMtRE9TIGZvcm1hdCBkaXNr cyB0byBVTklYOiAgVGhlIE1TLURPUyBmb3JtYXQgaXMgbm90DQoJZGlyZWN0 bHkgcmVhZGFibGUgYnkgVU5JWCBzeXN0ZW1zLiAgT25lIHB1YmxpY2FsbHkg YXZhaWxhYmxlDQoJdG9vbCBmb3IgZG9pbmcgdGhpcyBpcyBrbm93biBhcyAi bXRvb2xzIiAoc2VhcmNoIHBvcHVsYXINCglmdHAgc2l0ZXMpLCBidXQgdGhp cyBpcyBub3QgdGhlIG9ubHkgbWV0aG9kLiAgTm90ZTogSW4gTVMtRE9TLA0K CXRleHQgZmlsZSBsaW5lcyBlbmQgd2l0aCAiXk1eSiIsIHdoZXJlIHVuZGVy IFVOSVggbGluZXMgZW5kIG9ubHkNCgl3aXRoICJeSiIuICBBbHNvLCBleGVj dXRlIHBlcm1pc3Npb24gbmVlZHMgdG8gYmUgc2V0IG9uIGFsbA0KCWZpbGVz IGluIHRoZSAidXRpbC8iIHN1YmRpcmVjdG9yeSB3aGVuIG1vdmluZyB0byBV TklYLg0KDQpNQUM6ICBTcGljZTMgaXMgbm90IGRpc3RyaWJ1dGVkIGluIGEg Zm9ybWF0IGZvciB0aGUgQXBwbGUgTWFjSW50b3NoLiAgWW91DQoJbXVzdCBk ZXRlcm1pbmUgaG93IHRvIHRyYW5zZmVyIHRoZSBmaWxlcyB0byBhIE1hYyBm cm9tIHRoZSBtZWRpYSB0aGF0DQoJeW91IGhhdmUuDQoNCgwtLS0tLS0tLS0t IENvbXBpbGluZyBTcGljZTNmLjQgdW5kZXIgVU5JWA0KDQoJVG8gYnVpbGQg U3BpY2UzZi40IG9uIGEgVW5peCBzeXN0ZW0gZm9sbG93IHRoZSBzdGVwcyBi ZWxvdy4NCglGb3IgYWRkaXRpb25hbCBub3RlcyBvbiBpbnRlcm5hbCBjaGFu Z2VzIGFuZCBwb3J0aW5nIGlzc3VlcywNCglwbGVhc2UgaW5zcGVjdCB0aGUg c3ViZGlyZWN0b3J5ICJub3RlcyIuDQoNCglGaXJzdCB5b3UgbXVzdCBlZGl0 IHRoZSBmaWxlICJjb25mL2RlZmF1bHRzIiBhbmQgY2hhbmdlIHRoZQ0KCWxp c3RlZCBwYXJhbWV0ZXJzIHRvIHJlZmxlY3QgdGhlIHN0YW5kYXJkIG9yZ2Fu aXphdGlvbiBvZg0KCXNvZnR3YXJlIGF0IHlvdXIgc2l0ZS4gIEEgZGVzY3Jp cHRpb24gb2YgZWFjaCBwYXJhbWV0ZXIgaXMNCglpbmNsdWRlZCBpbiB0aGlz IGZpbGUuDQoNCglTZWNvbmQsIGZvciBlYWNoIHR5cGUgb2Ygc3lzdGVtIGF0 IHlvdXIgc2l0ZSwgeW91IG11c3QgcHJvdmlkZQ0KCWEgZmlsZSBpbiB0aGUg c2FtZSBzdWJkaXJlY3RvcnkgKCJjb25mLyIpIHdoaWNoIGNvbnRhaW5zDQoJ ZXhjZXB0aW9ucyB0byB0aGUgcHJldmlvdXNseSBlZGl0ZWQgImRlZmF1bHRz IiBmaWxlOyBub3RlIHRoYXQNCglldmVuIGlmIHlvdSBhcmUgc3VwcG9ydGlu ZyBvbmUgdHlwZSBvZiBzeXN0ZW0gd2l0aCBubw0KCWV4Y2VwdGlvbnMgdGhp cyBpcyBzdGlsbCBuZWNlc3NhcnkuICBTZXZlcmFsIGZpbGVzIGFyZSBzdXBw bGllZCBmb3INCgl0aGUgc3lzdGVtIHR5cGVzIHRoYXQgaGF2ZSBiZWVuIHRl c3RlZCB3aXRoIHRoaXMgZGlzdHJpYnV0aW9uLA0KCWluY2x1ZGluZyAibWlw cyIgKGZvciBERUNzdGF0aW9ucyksICJzdW40IiwgInNlcXVlbnQiLCAiaXJp eCIsDQoJImhwdXgiLCBhbmQgInJzNjAwMCIuDQoNCglOb3RlIHRoYXQgc29t ZSBvZiB0aGVzZSBwZXItc3lzdGVtIGRlZmluaXRpb24gZmlsZXMgaGF2ZQ0K CXNwZWNpYWwgZGVmaW5pdGlvbnMgd2hpY2ggYXJlIHJlcXVpcmVkIGZvciB0 aGUgZ2l2ZW4gc3lzdGVtIGFuZA0KCXdoaWNoIGRvIG5vdCBhcHBlYXIgaW4g dGhlICJkZWZhdWx0cyIgZmlsZS4NCg0KCU5vdGUgYWxzbyB0aGF0IHN1Y2Nl c3NmdWwgY29tcGlsaW5nIGRvZXMgbm90IGRlcGVuZCBvbiB0aGUNCglwYXJ0 aWN1bGFyIG5hbWVzIGdpdmVuIHRvIHRoZXNlICdleGNlcHRpb24nIG9yICdz eXN0ZW0NCglkZWZpbml0aW9uJyBmaWxlcy4gIEZvciBleGFtcGxlLCB0aGUg Im1pcHMiIGNvbmZpZ3VyYXRpb24gZmlsZQ0KCWNvdWxkIGhhdmUgYmVlbiBu YW1lZCAiZGVjc3RhdGlvbiI7IHRoaXMgbmFtZSBpcyB1c2VkIGZvcg0KCWdl bmVyYXRpbmcgdW5pcXVlIGRpcmVjdG9yeSBuYW1lcyBzdWNoIHRoYXQgZGlm ZmVyZW50IHN5c3RlbXMNCgl0byBub3QgdXNlIHRoZSBzYW1lIGFyZWEgZm9y IHRoZSBjb21waWxlIHByb2Nlc3MgKG1vcmUgZGV0YWlsDQoJYXJlIGxpc3Rl ZCBpbiB0aGUgImRlZmF1bHRzIiBmaWxlKS4NCg0KCUZpbmFsbHksIGl0IGlz IHBvc3NpYmxlIHRvIGNvbWJpbmUgYWRkaXRpb25hbCBmaWxlcw0KDQoJQWZ0 ZXIgdGhlIGRlZmF1bHRzIGZpbGUgaGFzIGJlZW4gZWRpdGVkIGFuZCBhIHN5 c3RlbS1kZXBlbmRlbnQNCglmaWxlIGNyZWF0ZWQgb3IgbW9kaWZpZWQsIHJ1 biB0aGUgY29tbWFuZCAidXRpbC9idWlsZCBzeXN0ZW0iDQoJZnJvbSB0aGUg ZGlyZWN0b3J5IGFib3ZlIHRoZSAidXRpbCIgc3ViZGlyZWN0b3J5OyBmb3Ig InN5c3RlbSINCgl5b3UgbXVzdCBzdWJzdGl0dXRlIHRoZSBuYW1lIG9mIHRo ZSBzeXN0ZW0tZGVwZW5kZW50IGZpbGUgdGhhdA0KCXlvdSBjcmVhdGVkIG9y IG1vZGlmaWVkIGluIHRoZSBwcmV2aW91cyBzdGVwLiAgU3BpY2UzIHdpbGwg dGhlbg0KCWJlIGJ1aWx0IHZpYSByZWN1cnNpdmUgIm1ha2UiIGNvbW1hbmRz IChpdCBtYXkgdGFrZSBhIHNldmVyYWwNCglzZWNvbmRzIHRvIGdldCBnb2lu ZyBvbiBzb21lIHN5c3RlbXMpLiAgVGhlIHRvdGFsIHRpbWUgY2FuIGJlDQoJ YXMgbGl0dGxlIGFzIDIwIG1pbnV0ZXMgb3IgYXMgbG9uZyBhcyBmb3VyIGhv dXJzIGRlcGVuZGluZyBvbg0KCXRoZSBzcGVlZCBhbmQgbG9hZCBvZiB5b3Vy IHN5c3RlbS4gIENvbXBpbGluZyBhY3Jvc3MgTkZTIHdpbGwNCglzbG93IGRv d24gY29tcGlsaW5nIHNpZ25pZmljYW50bHkuDQoNCglJZiB5b3UgaGF2ZSB0 cm91YmxlIHVzaW5nIHRoZSAiYnVpbGQiIHNjcmlwdCwgdHJ5ICJidWlsZCAt aGVscCINCglmb3IgaW5mb21hdGlvbiBvbiBkZWJ1Z2dpbmcgb3B0aW9ucy4g IFNvbWUgc3lzdGVtIGNvbWJpbmF0aW9ucw0KCW1heSByZXF1aXJlIGxpc3Rp bmcgbW9yZSB0aGFuIG9uZSBzeXN0ZW0gbmFtZSBvbiB0aGUgImJ1aWxkIiBs aW5lLA0KCWZvciBleGFtcGxlICJidWlsZCBocHV4IGhwMzAwIiB0byBidWls ZCBvbiBhbiBIUCA5MDAwLzMwMCBhcw0KCW9wcG9zZWQgdG8gYSBIUCA5MDAw LzcwMC4gIFdoZW4gdGhlIGJ1aWxkIHNjcmlwdCBoYXMgc3VjY2Vzc2Z1bGx5 DQoJY29tcGxldGVkLCBzZWUgdGhlIHNlY3Rpb24gYmVsb3cgb24gSW5zdGFs bGluZyBTcGljZTMuDQoMLS0tLS0tLS0tLSBBZGRpdGlvbmFsIE5vdGVzIG9u IENvbXBpbGluZyBTcGljZTNmLjQgdW5kZXIgVU5JWA0KDQoJTk9URTogU29t ZSBzeXN0ZW1zIGhhdmUgYSBwcm9ibGVtIHdpdGggZGlyZWN0b3J5IG5hbWVz IGNvbnRhaW5pbmcNCglhICItIiBpbiBlaXRoZXIgdGhlIGZ1bGwgc291cmNl IGRpcmVjdG9yeSBuYW1lIG9yIHRoZSBmdWxsIGRpcmVjdG9yeQ0KCW5hbWUg b2YgYW55IHByb2dyYW0gdXNlZCBpbiBjb21waWxpbmcuICBUaGlzIG1heSBz aG93IHVwIGFzIGFuDQoJdW5leHBlY3RlZCBvciB1bnJlYXNvbmFibGUgZXJy b3IgbWVzc2FnZS4gIEF2b2lkIGRpcmVjdG9yeSBuYW1lcw0KCXdpdGggYSAi LSIgKHRoaXMgaXMgYW4gb2xkIGJ1ZyBpbiB0aGUgIm1ha2UiIGNvbW1hbmQs IHdoaWNoIGhhcw0KCXByb3BhZ2F0ZWQgdG8gbWFueSB2ZW5kb3JzIGJlZm9y ZSBiZWluZyBmaXhlZCkuDQoNCglOT1RFOiBPbiBzb21lIHN5c3RlbXMsIHRo ZSAiYnVpbGQiIHNjcmlwdHMgc2VlbXMgc2x1Z2dpc2guICBUaGlzDQoJbWF5 IGJlIGNhdXNlZCBieSBhIGxvbmcgIiRQQVRIIiwgd2l0aCBtYW55IGVudHJp ZXMgYmVmb3JlICIvYmluIg0KCWFuZCAiL3Vzci9iaW4iOyB5b3UgbWF5IGJl IGFibGUgdG8gc3BlZWQgdXAgdGhlIHNjcmlwdCBieSB0cmltbWluZw0KCXlv dXIgIiRQQVRIIiBiZWZvcmUgcnVubmluZyB0aGUgYnVpbGQgc2NyaXB0Lg0K DQoJTk9URSAoU3VuT1MpOiAgVGhlcmUgaXMgc21hbGwgYnVnIHNvbWV3aGVy ZSBpbiBvbmUgdmVyc2lvbiBvZiB0aGUNCglTdW4tc3VwcGxpZWQgWDExIGxp YnJhcmllcy4gIFRoaXMgYnVnIHJlc3VsdHMgaW4gdGhlIGZvbGxvd2luZw0K CXJvdXRpbmVzIGJlaW5nIHVuZGVmaW5lZCBpbiB0aGUgImxpbmsiIHN0YWdl Og0KDQoJCV9nZXRfd21TaGVsbFdpZGdldENsYXNzDQoJCV9nZXRfYXBwbGlj YXRpb25TaGVsbFdpZGdldENsYXNzDQoNCglUaGlzIGlzIGFwcGFyZW50bHkg YSBwcm9ibGVtIHdpdGggdGhlIGR5bmFtaWMtbGluayB2ZXJzaW9uIG9mIHRo ZQ0KCSJYbXUiIGxpYnJhcnkuICBJZiB5b3UgaGF2ZSB0aGlzIHByb2JsZW0s IHRoZSBiZXN0IHJlcG9ydGVkIGZpeCBpcw0KCXRvIHVzZSB0aGUgZm9sbG93 aW5nIG9wdGlvbnMgb24gdGhlICJsaW5rIiBsaW5lIChlbWJlZCB0aGUgZm9s bG93aW5nDQoJaW4gdGhlIExJQlggdmFyaWFibGUgaW4gImNvbmYvc3VuNCIs IG9yIHdoZXJldmVyKToNCg0KCQktQnN0YXRpYyAtbFhtdSAtQmR5bmFtaWMN Cg0KCVRoaXMgaXMgYW50aWNpcGF0ZWQgaW4gYSBjb21tZW50IGluIHRoZSBj dXJyZW50IGNvcHkgb2YgImNvbmYvc3VuNCIuDQoNCglOT1RFOiBHTlUgbWFr ZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIHRoZSB0cmFkaXRpb25hbCAibWFr ZSIsIGFuZA0KCWlzIG5vdCBjb21wYXRpYmxlIHdpdGggc3BpY2UzLiAgVXNp bmcgR05VIG1ha2UgbWF5IHJlc3VsdCBpbg0KCWluZmluaXRlIHJlY3Vyc2lv bi4NCg0KDQoMLS0tLS0tLS0tLSBDb21waWxpbmcgdW5kZXIgTVMtRE9TIHdp dGggTWljcm9Tb2Z0IEMgNS4xOg0KDQoJVGhlIFBDIGxhY2tzIHRoZSBwcm9n cmFtICIvYmluL3NoIiAoYW5kIG90aGVycykgd2hpY2ggdGhlIGFib3ZlDQoJ VW5peCBpbnN0YWxsYXRpb24gZGVwZW5kcyBvbi4gIEluc3RlYWQgd2UgaGF2 ZSBzdXBwbGllZCBzaW1wbGUNCgljb21waWxpbmcgc2NyaXB0cyBmb3IgdXNl IHdpdGggTWljcm9Tb2Z0IEMgNS4xLiAgVGhpcyBsZXNzDQoJZmxleGlibGUg c3lzdGVtIHJlcXVpcmVzIHRoYXQgeW91IGVkaXQgc2V2ZXJhbCBmaWxlcyBi ZWZvcmUgYnVpbGRpbmc6DQoNCgkJc3JjL2Jpbi90dW5lcGMuYyAoYnVpbHQt aW4gZmlsZSBsb2NhdGlvbnMpOyBDaGFuZ2UgdGhlIHZhbHVlcw0KCQkJb2Yg dGhlIGZvbGxvd2luZyBDIHZhcmlhYmxlcyBhcyBhcHByb3ByaWF0ZSAtLSBs ZWF2ZQ0KCQkJZG91YmxlIHF1b3RlIGFuZCBzaW5nbGUgcXVvdGUgbWFya3Mg YXMtaXMsIGFuZCB1c2UNCgkJCXR3byBiYWNrc2xhc2ggKCdcJykgY2hhcmFj dGVycyB3aGVyZSB5b3Ugd2FudCBvbmU6DQoNCgkJCVNwaWNlX0V4ZWNfRGly OiBsb2NhdGlvbiB5b3UgcGxhbiB0byBpbnN0YWxsIHNwaWNlLg0KDQoJCQlT cGljZV9MaWJfRGlyOiBsb2NhdGlvbiB5b3UgcGxhbiB0byBpbnN0YWxsIHRo ZSBzcGljZQ0KCQkJCXN0YXJ0dXAgYW5kIGRhdGEgZmlsZXMuDQoNCgkJCVNw aWNlX09wdENoYXI6IGNvbW1hbmQgbGluZSBvcHRpb24gY2hhcmFjdGVyDQoJ CQkJKGluZGljYXRlcyB3aGV0aGVyIHlvdSB3YW50IHRvIHR5cGUNCgkJCQki c3BpY2UgLXIiIG9yICJzcGljZSAvciIpLg0KDQoJCQlEZWZfRWRpdG9yOiBs b2NhdGlvbiB5b3UgcGxhbiB0byBpbnN0YWxsIHNwaWNlDQoNCgkJCUFzY2lp UmF3RmlsZTogbG9jYXRpb24geW91IHBsYW4gdG8gaW5zdGFsbCBzcGljZQ0K DQoJCQlUaGUgbGFzdCB0aHJlZSBvcHRpb25zIChub3QgbGlzdGVkIGhlcmUp IGFyZSBub3QNCgkJCXNpZ25pZmljYW50IHVuZGVyIE1TLURPUywgYnV0IHNo b3VsZCBiZSBsZWZ0IGFzIGlzDQoJCQkoYmxhbmspLg0KDQoJCXNyYy9iaW4v Y2NvbmYuYwkJRGV2aWNlcyBhbmQgYW5hbHlzZXMgZm9yICJjc3BpY2UiDQoJ CXNyYy9iaW4vYmNvbmYuYwkJRGV2aWNlcyBhbmQgYW5hbHlzZXMgZm9yICJi c3BpY2UiDQoNCgkJCVRoZSBpbml0aWFsIHNlZ21lbnQgb2YgImNjb25mLmMi IGFuZCAiYmNvbmYuYyINCgkJCWFyZSAiI2RlZmluZSIgbGluZXMgdGhhdCBk ZXRlcm1pbmUgd2hpY2ggZGV2aWNlcw0KCQkJYW5kIGFuYWx5c2VzIHNob3Vs ZCBiZSBjb21waWxlZCBpbiB0byB0aGUgc2ltdWxhdG9yLg0KCQkJRm9yIGRl dmljZXMsIHRoZSBsaW5lIGxvb2tzIGxpa2UgIiNkZWZpbmUgREVWX3h4eCIN CgkJCXdoZXJlICJ4eHgiIGlzIHRoZSBuYW1lIG9mIHNvbWUgZGV2aWNlOyAg Rm9yDQoJCQlhbmFseXNlcywgdGhlIGxpbmUgbG9va3MgbGlrZSAiI2RlZmlu ZSBBTl94eHgiLg0KCQkJTmFtZXMgYW5kIGRlc2NyaXB0aW9ucyBvZiBib3Ro IGFuYWx5c2VzIGFuZCBkZXZpY2VzDQoJCQlhcmUgYXMgbGlzdGVkIGJlbG93 ICgiRGV2aWNlcyBhbmQgQW5hbHlzZXMgc3VwcG9ydGVkDQoJCQlpbiBTcGlj ZTNmLjIiLCBhdCB0aGUgZW5kKTsgc2VlIGFsc28gdGhlIHVzZXIncyBtYW51 YWwuDQoJCQlBIHJlYXNvbmFibGUgZGVmYXVsdCBpcyBzdXBwbGllZCB3aXRo IGVhY2guDQoJCQlEbyBub3QgbW9kaWZ5IGFueXRoaW5nIGJlbG93IHRoZSBs aXN0IG9mICcjZGVmaW5lJw0KCQkJbGluZXMuDQoJCShtb3JlKQ0KDQoJCXNy Yy9pbmNsdWRlL29zX21zZG9zLmgNCgkJCUlmIHlvdSBkbyBub3Qgd2FudCB0 aGUgc3BpY2Utc3VwcGxpZWQgImhhcmRjb3B5Ig0KCQkJcm91dGluZSBmb3Ig c2VuZGluZyBwbG90cyB0byBhbiBJQk0gUGVyc29uYWwNCgkJCUdyYXBoaWNz IFByaW50ZXIgKG9yIGVxdWl2YWxlbnQpLCBjb21tZW50IG91dCB0aGUNCgkJ CSIjZGVmaW5lIFdBTlRfUENIQVJEQ09QWSIgbGluZSBuZWFyIHRoZSBib3R0 b20uDQoJCQlTb21lIHZlcnNpb25zIG9mIE1TLURPUyBjYW4ndCBub3JtYWxs eSBzZW5kIFZHQQ0KCQkJZ3JhcGhpY3MgdG8gYSBwcmludGVyLg0KDQoMCU9u Y2UgdGhlc2UgZmlsZXMgaGF2ZSBiZWVuIGVkaXRlZCwgImNkIiBpbnRvIHRo ZSB0b3AgZGlyZWN0b3J5DQoJKGFib3ZlICJ1dGlsXCIsICJzcmNcIiwgYW5k ICJjb25mXCIpIGFuZCBydW4gIm1zYzUxLmJhdCIuICBUaGUNCglzY3JpcHQg Zmlyc3Qgc2V0cyBjb21waWxlciBvcHRpb25zIGluIHRoZSBlbnZpcm9ubWVu dCBhbmQgdGhlbg0KCXByb2NlZGVzIHdpdGggdGhlIGNvbXBpbGUuICBTaW5j ZSB0aGUgZW52aXJvbm1lbnQgbWF5IG5vdCBoYXZlDQoJZW5vdWdoIHJvb20s IHlvdSBtYXkgaGF2ZSB0byBjbGVhciBzb21lIHVudXNlZCBlbnZpcm9ubWVu dA0KCXZhcmlhYmxlcyBiZWZvcmUgdGhlIGJ1aWxkLCBvdGhlcndpc2UgdGhl IGJ1aWxkIGNvdWxkIGZhaWwuDQoJTm90ZSB0aGF0IHRoZXNlIG9wdGlvbnMg YXJlIG9ubHkgdXNlZnVsIGZvciBNaWNyb1NvZnQgQyA1LjEgb3INCglsYXRl ci4NCg0KCUNvbXBpbGVyIGVycm9ycyBhcmUgd3JpdHRlbiB0byB0aGUgZmls ZSAic3JjXG1zYy5vdXQiLiAgVGhpcw0KCWluY2x1ZGVzIG1hbnkgd2Fybmlu Z3MgYmVjYXVzZSBTcGljZTMgd2FzIG9yaWdpbmFsbHkgd3JpdHRlbiBpbg0K CXByZS1BTlNJIEMgKG9yICJLJlIiIEMpIHVuZGVyIFVuaXguICBFeGNlcHQg Zm9yIHRoZXNlIChudW1lcm91cykNCgl3YXJuaW5ncywgU3BpY2UzIHNob3Vs ZCBjb21waWxlIGFuZCBydW4gd2l0aG91dCB0cm91YmxlOyBzZWUgdGhlDQoJ bmV4dCBzZWN0aW9uIG9uIGluc3RhbGxpbmcuDQoNCglDbGVhbmluZyB1cCB1 bmRlciBNUy1ET1MgKGFmdGVyIGluc3RhbGxpbmcpOg0KDQoJVG8gZGVsZXRl IHRoZSBvcmlnaW5hbCBzb3VyY2UgdHJlZSBmcm9tIHlvdXIgaGFyZCBkaXNr LCB5b3UgbWF5DQoJdXNlIHRoZSBzdXBwbGllZCBzY3JpcHQgInV0aWxcZGVs YWxsLmJhdCIuICBZb3UgbXVzdCBjb3B5DQoJdGhpcyBzY3JpcHQgb3V0c2lk ZSBvZiB0aGUgc291cmNlIHRyZWUgYmVmb3JlIHlvdSBydW4gaXQgb3IgaXQN Cgl3aWxsIHJlbW92ZSBpdHNlbGYgYmVmb3JlIGZpbmlzaGluZy4gIFJ1biB0 aGUgc2NyaXB0IGZyb20gdGhlIHRvcA0KCWRpcmVjdG9yeSBvZiB0aGUgc291 cmNlIHRyZWUgKGFib3ZlICJ1dGlsXCIpLg0KDQotLS0tLS0tLS0tIENvbXBp bGluZyBvbiB0aGUgTWFjSW50b3NoDQoNCglTaW5jZSB0aGVyZSBpcyBubyBz Y3JpcHRpbmcgbGFuZ3VhZ2Ugb24gdGhlIE1hYywgeW91IG11c3QgZG8NCglj b25zaWRlcmFibGUgd29yayB0byBidWlsZCBzcGljZTMgb24gYSBNYWMuICBU aGUgZGV0YWlscw0KCWFyZSBpbmNsdWRlZCBpbiBhIHNlcGVyYXRlIGZpbGUs ICJub3Rlcy9tYWNfcG9ydCIuDQoNCgwtLS0tLS0tLS0tIEluc3RhbGxpbmcg U3BpY2UzDQoNCglBZnRlciBzcGljZTMgYW5kIHRoZSBhc3NvY2lhdGVkIHBy b2dyYW1zIGhhdmUgYmVlbiBjcmVhdGVkLCB5b3UgbWF5DQoJdGVzdCB0aGUg cHJvZ3JhbS4gIFRoZXJlIGFyZSBhIGZldyB0ZXN0IGlucHV0cyBpbiB0aGUg ImV4YW1wbGVzIg0KCXN1YmRpcmVjdG9yeS4NCg0KCUJlY2F1c2Ugc3BpY2Uz IGlzIG5vdCBpbnN0YWxsZWQgaW4gaXQncyBmaW5hbCBkZXN0aW5hdGlvbiBh dCB0aGlzDQoJcG9pbnQsIHlvdSBzaG91bGQgc2V0IHRoZSBlbnZpcm9ubWVu dCB2YXJpYWJsZSAiU1BJQ0VfTElCX0RJUiIgdG8NCgl0aGUgImxpYiIgc3Vi ZGlyZWN0b3J5IHRvIGluZGljYXRlIHRoZSBsb2NhdGlvbiBvZiBzb21lIHN0 YXJ0dXAgZmlsZXMuDQoNCglGaW5hbGx5LCB5b3UgbWF5IGluc3RhbGwgc3Bp Y2UzIGFuZCBhc3NvY2lhdGVkIGNvbXBvbmVudHMgaW50bw0KCWEgc3RhbmRh cmQgcGxhY2UuICBVbmRlciBVbml4IHN5c3RlbXMsIHRoZSBjb21tYW5kICJ1 dGlsL2J1aWxkDQoJc3lzdGVtIGluc3RhbGwiIHdpbGwgZG8gdGhpcyBhdXRv bWF0aWNhbGx5IChhZ2FpbiBzdWJzdGl0dXRlDQoJeW91ciBzeXN0ZW0gbmFt ZSBvciB0eXBlIGZvciAic3lzdGVtIikuICBVbmRlciBNUy1ET1Mgb3IgZm9y DQoJdGhlIE1hY0ludG9zaCwgdGhlIGZpbGVzIG11c3QgYmUgY29waWVkIGV4 cGxpY2l0bHkuDQoNCglUaGUgZXhlY3V0YWJsZSBwcm9ncmFtcyBhcmUgZnJv bSB0aGUgc3ViZGlyZWN0b3JpZXMgInNyYy9iaW4iLA0KCWFzIGZvbGxvd3M6 DQoJCXNwaWNlMwkJVU5JWCBvbmx5OiB0aGUgc2ltdWxhdG9yLg0KCQlic3Bp Y2UJCU1TLURPUyBvbmx5OiBhIGJhdGNoIG1vZGUgc2ltdWxhdG9yOg0KCQkJ CSJic3BpY2UgPCBpbnB1dC5jaXIiIGdlbmVyYXRlcyB0aGUgZmlsZQ0KCQkJ CSJyYXdzcGljZS5yYXciLCB3aGljaCBpcyByZWFkIGJ5ICJudXRtZWciDQoJ CQkJKHNlZSBiZWxvdykuDQoJCWNzcGljZQkJTVMtRE9TIG9ubHk6IGEgc3Bp Y2UyIGxpa2UgaW50ZXJmYWNlIGZvcg0KCQkJCXNtYWxsIHJ1bnMgKHJ1bnMg b3V0IG9mIG1lbW9yeSBlYXNpbHkpLg0KCQkJCVVzZSAiY3NwaWNlIDwgaW5w dXQuY2lyIjsgZ2VuZXJhdGVzDQoJCQkJJ2FzY2lpcGxvdHMnIGZvciAucGxv dCBsaW5lcy4NCgkJbnV0bWVnCQlBIHN0YW5kLWFsb25lIGRhdGEgYW5hbHlz aXMgcHJvZ3JhbTsNCgkJCQlTcGljZTMgd2l0aG91dCB0aGUgc2ltdWxhdGlv biBjYXBhYmlsaXR5Lg0KCQloZWxwCQlBIHN0YW5kIGFsb25lIGhlbHAgYnJv d3Nlci4NCgkJcHJvYzJtb2QJQ29udmVydHMgcHJvY2VzcyBjaGFyYWN0ZXJp emF0aW9uIGZpbGVzDQoJCQkJdG8gU3BpY2UzIEJTSU0xIE1PUyBtb2RlbCBk ZWZpbml0aW9ucy4NCgkJc2NvbnZlcnQJQ29udmVydHMgYmV0d2VlbiBhc2Np aSBhbmQgYmluYXJ5IHNwaWNlDQoJCQkJZGF0YSBmaWxlcyAoIi5yYXciIGZp bGVzKS4NCgkJbXVsdGlkZWMJQSB1dGlsaXR5IGZvciBkZWNvbXBvc2luZyBj b3VwbGVkIGxvc3N5DQoJCQkJdHJhbnNtaXNzaW9uIGxpbmVzIGludG8gZXF1 aXZhbGVudCB1bmNvdXBsZWQNCgkJCQlsaW5lcy4gIE5vdCBhdmFpbGFibGUg b24gTVMtRE9TIChuZWVkIHRoZQ0KCQkJCSJnZXRvcHQiIGxpYnJhcnkpLg0K DQoJVGhlIGZvbGxvd2luZyBzdGFydHVwL2RhdGEgZmlsZXMgYXJlIGluc3Rh bGxlZCBmcm9tIHRoZSAibGliLyINCglzdWJkaXJlY3Rvcnk6DQoJCWhlbHBk aXIvc3BpY2UudHh0CW9uLWxpbmUgaW5mb3JtYXRpb24gZm9yIHNwaWNlMy4N CgkJaGVscGRpci9zcGljZS5pZHgJaW5kZXggZm9yIHNwaWNlLnR4dCwgZ2Vu ZXJhdGVkIHdpdGgNCgkJCQkJCXRoZSBwcm9ncmFtICJiaW4vbWFrZWlkeCIu DQoNCgkJc2NyaXB0cy9zcGluaXQJCXNwaWNlL251dG1lZyBjb21tYW5kcyBl eGVjdXRlZCBhdA0KCQkJCQkJc3RhcnR1cC4NCgkJc2NyaXB0cy9zZXRwbG90 CQlBIHNjcmlwdCBmb3IgdGhlIGNvbW1hbmQgInNldHBsb3QiLg0KDQoJCW5l d3MJCQlhIHN0YXJ0IHVwIG1lc3NhZ2Ugb2YgeW91ciBjaG9vc2luZy4NCgkJ bWZiY2FwCQkJZ3JhcGhpY3MtdGVybWluYWwgY2FwYWJpbGl0eSBkYXRhYmFz ZQ0KCQkJCQkobm90IHJlcXVpcmVkIGZvciBNUy1ET1MpLg0KDQoJKFByZXZp b3VzIHZlcnNpb25zIGhhZCBhIHNlcGVyYXRlIGhlbHAgZmlsZXMgZm9yIHNw aWNlMyBhbmQNCgludXRtZWc7ICB0aGUgY3VycmVudCBoZWxwIGZpbGUgaXMg bm93IGlkZW50aWNsZSB0byB0aGUgIlNwaWNlM2Y0DQoJVXNlcidzIE1hbnVh bCIsIHNvIHRoZXJlIGlzIG5vIGRpc3RpbmN0aW9uKS4NCg0KCUZvciB0aGUg UEMgYW5kIE1hY0ludG9zaCwgeW91IG11c3QgZ2VuZXJhdGUgdGhlICIuaWR4 IiBmaWxlcw0KCXlvdXJzZWxmIGJ5IHJ1bm5pbmcgIm1ha2VpZHggc3BpY2Uu dHh0Ii4gIFVuaXggIm1hbiIgcGFnZXMgYXJlDQoJYWxzbyBzdXBwbGllZCBm b3IgdGhlIHByb2dyYW1zIHNwaWNlLCBudXRtZWcsIGFuZCBzY29udmVydCwg Zm9yDQoJdGhlIG1mYiBkYXRhYmFzZSBmb3JtYXQgKGxvb2tzIGxpa2UgdGVy bWNhcCksIGFuZCBmb3IgdGhlIG1mYg0KCWxpYnJhcnkuICBUaGVzZSBhcmUg bm90IGluc3RhbGxlZCBhdXRvbWF0aWNhbGx5IGFzIHRoZXkgYXJlDQoJb2xk LCB1bnN1cHBvcnRlZCwgYW5kIG1heSBiZSBvdXQgb2YgZGF0ZS4NCg0KDERl dmljZXMgYW5kIEFuYWx5c2VzIHN1cHBvcnRlZCBpbiBTcGljZTNmLjQ6DQoJ Rm9yIHJlZmVyZW5jZSwgdGhlIGZvbGxvd2luZyBpcyBhIGxpc3Qgb2YgYWxs IGRldmljZXMgYW5kIHRoZWlyDQoJY29tbW9uIGFiYnJldmlhdGlvbiBpbiBT cGljZTM6DQoNCgkJYXNyYzoJYXJiaXRyYXJ5IHZvbHRhZ2UvY3VycmVudCBz b3VyY2UNCgkJYmp0OgliaXBvbGFyIGp1bmN0aW9uIHRyYW5zaXN0b3INCgkJ YnNpbTE6CWRldGFpbGVkIE1PUyBtb2RlbA0KCQlic2ltMjoJZGV0YWlsZWQg TU9TIG1vZGVsLCByZXZpc2VkIHZlcnNpb24gb2YgYnNpbTENCgkJY2FwOglj YXBhY2l0b3INCgkJY2NjczoJY3VycmVudC1jb250cm9sbGVkIGN1cnJlbnQg c291cmNlDQoJCWNjdnM6CWN1cnJlbnQtY29udHJvbGxlZCB2b2x0YWdlIHNv dXJjZQ0KCQljc3c6CWN1cnJlbnQgY29udHJvbGxlZCBzd2l0Y2gNCgkJZGlv OglkaW9kZQ0KCQlsdHJhOglsb3NzeSB0cmFuc21pc3Npb24gbGluZQ0KCQlp bmQ6CWluZHVjdG9yDQoJCWlzcmM6CWN1cnJlbnQgc291cmNlDQoJCWpmZXQ6 CUp1bmN0aW9uIEZFVA0KCQltZXM6CU1FUyBGRVQgKEdhQXMpDQoJCW1vczE6 CU1PUywgc2ltcGxlc3QgYW5hbHl0aWMgbW9kZWwsIGZhc3Rlc3QNCgkJbW9z MjoJTU9TLCBtaWRkbGUgY29tcGxleGl0eSBhbmQgYWNjdXJhY3kNCgkJbW9z MzoJTU9TLCBtb3N0IGNvbXBsaWNhdGVkLCBtb3N0IGFjY3VyYXRlDQoJCW1v czY6IAlNT1MsIG5ldywgZmFzdCBhbmFseXRpYywgc2hvcnQtY2hhbm5lbA0K CQlyZXM6CXJlc2lzdG9yDQoJCXN3Oglzd2l0Y2gNCgkJdHJhOglsb3NzbGVz cyB0cmFuc21pc3Npb24gbGluZQ0KCQl1cmM6CXVuaWZvcm0gUkMgbGluZQ0K CQl2Y2NzOgl2b2x0YWdlLWNvbnRyb2xsZWQgY3VycmVudCBzb3VyY2UNCgkJ dmN2czoJdm9sdGFnZS1jb250cm9sbGVkIHZvbHRhZ2Ugc291cmNlDQoJCXZz cmM6CXZvbHRhZ2Ugc291cmNlDQoNCglUaGUgZm9sbG93aW5nIGlzIHRoZSBj b3JyZXNwb25kaW5nIGxpc3Qgb2YgYW5hbHlzZXM6DQoJCW9wOglEQyBvcGVy YXRpbmcgcG9pbnQNCgkJZGM6CURDIHRyYW5zZmVyIGN1cnZlDQoJCXRmOglT bWFsbCBzaWduYWwgdHJhbnNmZXIgZnVuY3Rpb24NCgkJYWM6CUFDIChmcmVx dWVuY3kgZG9tYWluKQ0KCQl0cmFuOgl0cmFuc2llbnQNCgkJcHo6CXBvbGUt emVybw0KCQlkaXN0bzoJZGlzdG9ydGlvbg0KCQlub2lzZToJbm9pc2UNCgkJ c2Vuc2U6CXNlbnNpdGl2aXR5DQoNCg0KDQpUZWNobmljYWwgUHJvYmxlbXMN Cg0KCVNwaWNlIG5vIGxvbmdlciBoYXMgdGVjaG5pY2FsIHN1cHBvcnQgZnJv bSB0aGUNCglVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBJZiB5b3UgaGF2 ZSBwcm9ibGVtcyB3aXRoIHRoZQ0KCW1lZGlhIG9yIHF1ZXN0aW9ucyBhYm91 dCBvcmRpbmcgc3BpY2UzLCB5b3UgbWF5IHNlbmQgZW1haWwgdG86DQoNCgkJ c29mdHdhcmVAZWVjcy5iZXJrZWxleS5lZHUNCg0KCW9yICh2aWEgVVMgTWFp bCk6DQoNCgkJRUVDUy9FUkwgSW5kdXN0cmlhbCBTdXBwb3J0IE9mZmljZQ0K CQlBdHRuOiBTcGljZSBUZWNobmljYWwgUXVlc3Rpb24NCgkJMjA1IENvcnkg SGFsbA0KCQlVLkMuIEJlcmtlbGV5DQoJCUJlcmtlbGV5LCBDQSAgIDk0NzIw DQoNCglQYXRjaGVzIGZvciBzb21lIHByZXZpb3VzIHZlcnNpb24gb2Ygc3Bp Y2UzIGFyZSBhdmFpbGFibGUgdmlhDQoJYW5vbnltb3VzIGZ0cCBmcm9tIGlj LmJlcmtlbGV5LmVkdSwgaW4gdGhlIHN1YmRpcmVjdG9yeSAicHViL3NwaWNl My8iLg0KDQo= --0-1239222546-816974341=:598--