Re: Discussion: what would not blocking on btrfs look like?
Neal Gompa <[email protected]> Tue, 27 Aug 2019 08:47:26 -0400
| Newsgroups | gmane.linux.redhat.anaconda.devel,gmane.linux.redhat.fedora.testers,gmane.linux.redhat.fedora.kernel |
|---|---|
| Message-ID | <CAEg-Je-y-6qE1kpxbUkdtitPR8qb7BdLntXHwqohBaKFMk1vwQ@mail.gmail.com> |
T24gVHVlLCBBdWcgMjcsIDIwMTkgYXQgODozMCBBTSBKb3NoIEJveWVyIDxqd2JveWVyQGZlZG9y YXByb2plY3Qub3JnPiB3cm90ZToKPgo+IE9uIFR1ZSwgQXVnIDI3LCAyMDE5IGF0IDg6MTAgQU0g TmVhbCBHb21wYSA8bmdvbXBhMTNAZ21haWwuY29tPiB3cm90ZToKPiA+Cj4gPiBPbiBUdWUsIEF1 ZyAyNywgMjAxOSBhdCA3OjQxIEFNIEpvc2ggQm95ZXIgPGp3Ym95ZXJAZmVkb3JhcHJvamVjdC5v cmc+IHdyb3RlOgo+ID4gPgo+ID4gPiBPbiBUdWUsIEF1ZyAyNywgMjAxOSBhdCA3OjE5IEFNIE5l YWwgR29tcGEgPG5nb21wYTEzQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPiA+ID4KPiA+ID4gPiBPbiBU dWUsIEF1ZyAyNywgMjAxOSBhdCA1OjU1IEFNIDxqa29uZWNueUByZWRoYXQuY29tPiB3cm90ZToK PiA+ID4gPiA+Cj4gPiA+ID4gPiBPbiBNb24sIDIwMTktMDgtMjYgYXQgMjM6NTQgLTA0MDAsIE5l YWwgR29tcGEgd3JvdGU6Cj4gPiA+ID4gPiA+IE9uIE1vbiwgQXVnIDI2LCAyMDE5IGF0IDc6MTYg QU0gPGprb25lY255QHJlZGhhdC5jb20+IHdyb3RlOgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ ID4gSSB1bmRlcnN0YW5kIHRoZW0uIFRoZSBwb2ludCBpcywgZm9yIHRoZW0gYW5kIGV2ZW4gdXMg KHRoZQo+ID4gPiA+ID4gPiA+IGluc3RhbGxlcikKPiA+ID4gPiA+ID4gPiBpcyB3b3JrIG9uIEJU UkZTIG5vdCBhIHByaW9yaXR5LiBJdCdzIHNvbWV0aGluZyB3ZSBjYW4ndCBiZW5lZml0IG9uCj4g PiA+ID4gPiA+ID4gUkhFTCBhbmQgaXQgY291bGQgYmUgYWxtb3N0IGNvbXBsZXRlbHkgcmVwbGFj ZWQgYnkgTFZNICsgeGZzCj4gPiA+ID4gPiA+ID4gc29sdXRpb24uCj4gPiA+ID4gPiA+ID4gSG93 ZXZlciwgaXQgc3RpbGwgZ2l2aW5nIHVzIGJ1Z3MgYW5kIG1ha2luZyBvdXIgdGVzdCBzdXJmYWNl Cj4gPiA+ID4gPiA+ID4gYmlnZ2VyLgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiBGcm9t IHRoZSBBbmFjb25kYSB0ZWFtIFBvViBpdCB3b3VsZCBtYWtlIG91ciBsaXZlcyBlYXNpZXIgdG8g bm90Cj4gPiA+ID4gPiA+ID4gc3VwcG9ydCBCVFJGUyBhdCBhbGwuIEknbSBub3Qgc2F5aW5nIHRo YXQgd2Ugc2hvdWxkIGRyb3AgQlRSRlMgaW4KPiA+ID4gPiA+ID4gPiBGZWRvcmEsIG9ubHkgdGhh dCBpdCB3b3VsZCBiZSBlYXNpZXIgZm9yIEFuYWNvbmRhIHRlYW0gdG8gYmUKPiA+ID4gPiA+ID4g PiB3aXRob3V0Cj4gPiA+ID4gPiA+ID4gdGhhdCBvbiBGZWRvcmEuCj4gPiA+ID4gPiA+Cj4gPiA+ ID4gPiA+IFRoaXMgaXMgZmxhdC1vdXQgYSB0cmFwLiBUaGlzIGlzIHdoYXQgbWFrZXMgQW5hY29u ZGEgc3VjaCBhIGZhaWx1cmUKPiA+ID4gPiA+ID4gYXMKPiA+ID4gPiA+ID4gYSBjb21tdW5pdHkg cHJvamVjdC4gV2h5IGRvZXMgdGhlIHBhc3QgKFJIRUwpIGFmZmVjdCB0aGUgcHJlc2VudCBhbmQK PiA+ID4gPiA+ID4gZnV0dXJlIChGZWRvcmEpPyBUaGVyZSdzIGJhc2ljYWxseSBubyB3YXkgd2hh dHNvZXZlciB0byBtYWtlIGFueXRoaW5nCj4gPiA+ID4gPiA+IGJldHRlciB3aXRoIHRoaXMgbG9n aWMuIFRoZSBBbmFjb25kYSByZWxlYXNlcyB0aGF0IGFueSBpbXByb3ZlbWVudHMKPiA+ID4gPiA+ ID4gd291bGQgYmUgZ29pbmcgaW50byBhcmVuJ3QgZXZlbiBsYW5kaW5nIGludG8gdGhlIFJIRUwg OCBicmFuY2ggdGhhdAo+ID4gPiA+ID4gPiBnb3Zlcm5zIHRoZSBsYXRlc3QgaXRlcmF0aW9uIG9m IEZlZG9yYSdzIHBhc3QuIEZyb20gYW55IHJlYXNvbmFibGUKPiA+ID4gPiA+ID4gcGVyc29uJ3Mg cGVyc3BlY3RpdmUsIHRoaXMgYW5zd2VyIG1ha2VzIG5vIHNlbnNlIHVubGVzcyB5b3UncmUgdXNp bmcKPiA+ID4gPiA+ID4gUkhFTCBhcyBhbiBleGN1c2UgdG8gbm90IHN1cHBvcnQgRmVkb3JhLgo+ ID4gPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4gPiA+IFJIRUwgaXMgbm90IHRoZSBwYXN0LiBFdmVy eXRoaW5nIHdlIGRvIHdlIGhhdmUgdG8gdGhpbmsgdGhhdCBpdCB3aWxsIGdvCj4gPiA+ID4gPiB0 byBSSEVMIGFuZCBpZiBpdCBpcyBGZWRvcmEgc3BlY2lmaWMgd2UgaGF2ZSB0byBjcmVhdGUgYSB3 YXkgdG8gZGlzYWJsZQo+ID4gPiA+ID4gdGhlIGZ1bmN0aW9uYWxpdHkgZm9yIGFub3RoZXIgUkhF TCBicmFuY2hpbmcuIEFuZCB5ZXMsIHdlIGhhdmUgYSBmZXcKPiA+ID4gPiA+IHRoaW5ncyAobm90 IG9ubHkgYSBCVFJGUykgc3BlY2lmaWMgdG8gRmVkb3JhIHRoZSBzYW1lIHdheSBhcyBhIGZldwo+ ID4gPiA+ID4gdGhpbmdzIHNwZWNpZmljIHRvIFJIRUwgd2hpY2ggYXJlIGRpc2FibGVkIG9uIEZl ZG9yYS4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBBbmQgYXMgSSB3cm90ZSBiZWZvcmUsIEknbSBub3Qg c2F5aW5nIHRoYXQgd2Ugd2lsbCByZW1vdmUgdGhlIEJUUkZTCj4gPiA+ID4gPiBzdXBwb3J0IGZy b20gRmVkb3JhLiBUaGUgcG9pbnQgaXMgdGhhdCBtYWtpbmcgdGhlIGxpc3Qgc3BlY2lmaWMgdG8K PiA+ID4gPiA+IHJlbGVhc2VzIHNtYWxsZXIgd2lsbCBtYWtlIG91ciBsaXZlIGVhc2llci4KPiA+ ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPiBCeSBkZWZpbml0aW9uLCBSSEVMICppcyogdGhlIHBhc3Qg ZnJvbSBhIEZlZG9yYSBjb250ZXh0LiBJdCdzIGZvcmtlZAo+ID4gPiA+IGZyb20gYW4gb2xkIHZl cnNpb24gb2YgRmVkb3JhIHRoYXQncyBub3Qgc3VwcG9ydGVkIGFueW1vcmUuIEl0IGlzIHRoZQo+ ID4gPiA+IHJlc3VsdCBvZiBkZWNpc2lvbnMgdGhhdCBhcmVuJ3Qgc3VwcG9zZWQgdG8gYXBwbHkg dG8gRmVkb3JhLiBBbmQgaXQgaXMKPiA+ID4gPiB0aGUgcmVzdWx0IG9mIGEgZGlmZmVyZW50IGJp YXMgdGhhdCBzaG91bGQgbmV2ZXIgYXBwbHkgdG8gRmVkb3JhIGlmCj4gPiA+ID4gdGhlIFJIIGVj b3N5c3RlbSBpcyBzdXBwb3NlZCB0byBiZSBhYmxlIHRvIGV2b2x2ZS4KPiA+ID4KPiA+ID4gVGhl cmUgaXMgYWx3YXlzIHRoZSAqbmV4dCogUkhFTC4gIE9yLCBpZiB5b3Ugd2FudCB0byByZW1vdmUg YSBwcm9kdWN0Cj4gPiA+IGNvbnRleHQsIHRoZSBuZXh0IGVudGVycHJpc2Ugb3BlcmF0aW5nIHN5 c3RlbSBkZXJpdmVkIGZyb20gRmVkb3JhLgo+ID4gPiBSSEVML2VudGVycHJpc2UgaXMgYm90aCBw YXN0IGFuZCBmdXR1cmUgYW5kIEZlZG9yYSBmb2N1c2VzIG9uIHRoZQo+ID4gPiBmdXR1cmUuICBZ b3UgY2Fubm90IGRpc21pc3MgZW50ZXJwcmlzZSBhcyBhIHRhcmdldCBieSB3YWl2aW5nIGl0IGF3 YXkKPiA+ID4gYXMgInBhc3QiLgo+ID4gPgo+ID4KPiA+IFVudGlsIHRoZXJlJ3MgYSBicmFuY2gg aW4gQW5hY29uZGEncyBnaXQgZm9yIHRoZSBuZXh0IHZlcnNpb24gb2YgUkhFTCwKPiA+IGl0IGRv ZXNuJ3QgZXhpc3QgeWV0LiBJJ20gc3VyZSBwZW9wbGUgYXJlICp0aGlua2luZyogYWJvdXQgaXQs IGJ1dAo+ID4gaXQncyBvYnZpb3VzbHkgb24gdGhlIGJhY2sgYnVybmVyIGZvciBhIGxpdHRsZSB3 aGlsZS4gSSB3b3VsZCBleHBlY3QKPiA+IHRvIHN0YXJ0IHRvIHNlZSBhIHJoZWwtOSBicmFuY2gg aW4gQW5hY29uZGEgaW4gMS41IHllYXJzLCBidXQgZm9yIG5vdwo+ID4gaXQgZG9lc24ndCBleGlz dC4KPgo+IEluIDEuNSB5ZWFycyBpcyBlbnRpcmVseSB0b28gbGF0ZS4gIE1hc3NpdmVseSBzby4g IEkga25vdyBwZW9wbGUgdGhpbmsKPiB3ZSdyZSBwYXlpbmcgbGlwLXNlcnZpY2UgdG8gdXBzdHJl YW0gd2hlbiBkaXNjdXNzaW5nIEZlZG9yYSBhbmQgUkhFTCwKPiBidXQgZXZlbiB3aXRoIGEgdGVy cmlibGUgImltcG9ydCBvbmNlIiBtb2RlbCB0aGUgY29kZSBiZWluZyBkZXZlbG9wZWQKPiBpbiBG ZWRvcmEgcmlnaHQgbm93IHdpbGwgbWF0ZXJpYWxseSBsYW5kIGluIFJIRUwgOS4gIFlvdXIgcHJl c3VtcHRpb24KPiBvbiBhIGJyYW5jaCBuZWVkaW5nIHRvIGV4aXN0IGlzIHNpbXBseSBpbmNvcnJl Y3QuCj4KCkZvciB1cyBub24gUkggcGVvcGxlLCB0aGVyZSdzIG5vdGhpbmcgZm9yIHVzIHRvIGRv IGFib3V0IFJIRUwgOSByaWdodApub3cuIFlvdXIgcGxhbm5pbmcgaXMgZG9uZSBpbiBzZWNyZXQs IGFuZCB0aGVyZSdzIGxpdHRsZSB0byBubwpjb21tdW5pdHkgZmVlZGJhY2sgbG9vcCBmb3IgUkhF TC5uZXh0LiBJIGFncmVlIHRoYXQgaW4gb3JkaW5hcnkKY2lyY3Vtc3RhbmNlcywgaXQncyB0b28g bGF0ZSBvbmNlIHRoZSBicmFuY2ggaGFzIGhhcHBlbmVkLCBiZWNhdXNlCnVzdWFsbHkgdGhhdCBt ZWFucyBpdCdzIHRoZSBzdGFiaWxpemluZyBwaGFzZS4gQnV0IHRoZXJlJ3Mgbm90aGluZyBJCmNh biBkbyBiZWZvcmUgdGhlbi4KCj4gPiA+ID4gRnJvbSB0aGUgd2F5IHlvdSBkZXNjcmliZSBpdCwg RmVkb3JhIGlzIGp1c3Qgc29tZXRoaW5nIG9jY2FzaW9uYWxseQo+ID4gPiA+IGdpdmUgbGlwIHNl cnZpY2UgdG8gd2hpbGUgeW91ciBtYWluIGZvY3VzIGlzIFJIRUwuIFRoYXQncyBmaW5lLCBidXQK PiA+ID4gPiB0aGF0IGlzIGEgcHJvYmxlbSBmb3IgdGhlIEZlZG9yYSBjb250ZXh0Lgo+ID4gPgo+ ID4gPiBOZWFsLCBJIGRvbid0IHVuZGVyc3RhbmQuICBUaGUgc291cmNlIGNvZGUgdG8gYW5hY29u ZGEgaXMgYXZhaWxhYmxlLgo+ID4gPiBXaGF0IGlzIHByZXZlbnRpbmcgeW91IGZyb20gdGFraW5n IGl0IGFuZCBtYWtpbmcgYSBtaWNyby1mb3JrIHRoYXQKPiA+ID4gZG9lcyBiZXR0ZXIgYnRyZnMg ZW5hYmxlbWVudCwgYW5kIHBhY2thZ2luZyB0aGF0IGluIEZlZG9yYSBhbmQgdXNpbmcKPiA+ID4g aXQgaW4gYSBzcGluPwo+ID4gPgo+ID4KPiA+IEkgaGF2ZSBzZXJpb3VzbHkgY29udGVtcGxhdGVk IGl0LiBJdCBpc24ndCB0aGUgZmlyc3QgdGltZSBJJ3ZlIGRvbmUgYQo+ID4gZm9yayBiZWNhdXNl IEkgaGFkIHRvWzFdLgo+ID4KPiA+IEJ1dCB0aGUgbWFpbiByZWFzb24gSSBkb24ndCBkbyBpdCBp cyBiZWNhdXNlIGl0IHdpbGwgY2F1c2UgbW9yZSBkYW1hZ2UKPiA+IGluIHRoZSBGZWRvcmEgY29t bXVuaXR5IGJ5IGRvaW5nIHNvLiBUd28gc2V0cyBvZiBwYWNrYWdlcyBmb3IgQW5hY29uZGEKPiA+ IHRoYXQgYWxsIHRoZSB0aGluZ3MgdGhhdCBkZXBlbmQgb24gQW5hY29uZGEgY291bGQgY2F1c2Ug YSBodWdlIGxldmVsCj4gPiBvZiBicmVha2FnZSBiZWNhdXNlIHRoZSB0d28gdmVyc2lvbnMgbXVz dCAqYWx3YXlzKiBiZSBkcm9wLWluCj4gPiByZXBsYWNlbWVudHMgZm9yIGVhY2ggb3RoZXIuIElm IHRoZXkncmUgbm90LCBpdCBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvCj4gPiBsZXZlcmFnZSB0aGUg RmVkb3JhIHRvb2xpbmcgdG8gZG8gdGhpbmdzIGxpa2UgbWFraW5nIHNwaW5zIGFuZCBzdWNoLiBJ Cj4gPiBkb24ndCBldmVuICprbm93KiB3aGF0IGtpbmQgb2Ygd29yayBpdCB3b3VsZCBlbnRhaWwg aWYgSSB3YW50ZWQgaXQgdG8KPiA+IGJlIGFuIG9mZmljaWFsIHNwaW4gY29tcG9zZWQgdGhyb3Vn aCBwdW5naS4gSSdtIHByZXR0eSBzdXJlIHRoZSByZWxlbmcKPiA+IGZvbGtzIHdvdWxkIGtpbGwg bWUgZm9yIGRvaW5nIHRoYXQsIGFzIG5vdyBwdW5naSB3b3VsZCBoYXZlIGJlIGF3YXJlCj4gPiBh bmQgc3dpdGNoIGFuYWNvbmRhIHBhY2thZ2VzIGZvciBsb3JheC4uLgo+Cj4gU28uLi4gbW9yZSB0 aW1lIGludmVzdG1lbnQuICBZZXAuCj4KPiA+IEFkZGl0aW9uYWxseSwgaXQgd291bGQgcmVxdWly ZSBhIGZvcmsgb2YgcHlraWNrc3RhcnQgc28gdGhhdCBmdXJ0aGVyCj4gPiBlbmhhbmNlbWVudHMg dG8gdGhlIEJ0cmZzIHBhcnRpdGlvbmluZyBjYW4gYmUgZGVmaW5lZC4gSG93ZXZlciwgKnRoYXQq Cj4gPiBjYXVzZXMgYmlnZ2VyIHByb2JsZW1zIGJlY2F1c2Ugbm93IHRoZXJlJ3MgaW5jb21wYXRp YmxlIGdyYW1tYXIuIEdpdmVuCj4gPiBob3cgcG9vcmx5IHRoZSBweWtpY2tzdGFydCBwcm9qZWN0 IGlzIHJ1biByaWdodCBub3csIGl0IG1pZ2h0IGV2ZW4KPiA+IG1ha2Ugc2Vuc2UgdG8gZnVsbHkg Zm9yayBpdCwgZXhjZXB0IHRoYXQgaXQgZnJhZ21lbnRzIGEgc3BlY2lmaWNhdGlvbgo+ID4gZGVm aW5lZCBpbiBpbXBsZW1lbnRhdGlvbiAoa2lja3N0YXJ0IGZpbGVzKS4KPgo+IEkgYWdyZWUgb24g dGhpcyBvbmUuICBJdCB3b3VsZCBiZSBncmVhdCBpZiBzb21lb25lIGNyZWF0ZWQgYSBjYW5vbmlj YWwKPiBzcGVjaWZpY2F0aW9uIGZvciBib3RoIGtpY2tzdGFydHMgYW5kIGNvbXBzLgo+CgpDb21w cyBpc24ndCAqcXVpdGUqIHNvIGJhZCBvZmYuIFRoZXJlJ3MgYSBEVEQgZm9yIGl0LCBhdCBsZWFz dC4gSSd2ZQpjb2xsZWN0ZWQgbW9zdCBvZiB0aGUgUlBNLU1EIHJlcG9kYXRhIHNwZWNpZmljYXRp b24gZmlsZXMgdGhhdCBJIGNvdWxkCmZpbmQgaW50byBhIHNpbmdsZSByZXBvOiBodHRwczovL3Bh Z3VyZS5pby9ycG0tbWV0YWRhdGEKClNvbWVkYXksIG1heWJlIHRob3NlIGRvY3VtZW50cyBjYW4g YmUgcmF0aW9uYWxpemVkIGludG8gYSBmb3JtYWwgc3BlYywKYnV0IHRoZXJlIGFyZSBiaWdnZXIg ZmlzaCB0byBmcnkgaW4gdGhhdCByZWFsbSByaWdodCBub3cuLi4KCj4gPiBJJ3ZlIGxvb2tlZCBh dCB3cml0aW5nIGF1dG9tYXRpb24gdG8gd2F0Y2ggQW5hY29uZGEgYW5kIHB5a2lja3N0YXJ0Cj4g PiBhbmQgY29udGludW91c2x5IGludGVncmF0ZSBwYXRjaHNldHMgb24gdG9wIGZvciBhIGZvcmtl ZCBwYWNrYWdlIHNldC4KPiA+IEJ1dCBpbiB0aGUgZW5kLCBpdCB3b3VsZCBiZSB0b28gZGVzdHJ1 Y3RpdmUgZm9yIHRoZSBGZWRvcmEgY29tbXVuaXR5Cj4gPiB0byBkbyBzby4KPiA+Cj4gPiBbMV06 IGh0dHBzOi8vbGlzdHMuZmVkb3JhcHJvamVjdC5vcmcvYXJjaGl2ZXMvbGlzdC9saXZlY2RAbGlz dHMuZmVkb3JhcHJvamVjdC5vcmcvdGhyZWFkL1ZMNjY2RVQ1RlI2TVRTR0dUSERVTERTUU41REVX VVVNLwo+Cj4gSSdsbCBkaXNhZ3JlZSwgYnV0IG9ubHkgaW4gc2V2ZXJpdHkuICBJdCB3b3VsZCBj ZXJ0YWlubHkgYmUgaW5jb252ZW5pZW50Lgo+CgpJdCBzZW5kcyBhIGJhZCBtZXNzYWdlIGFzIHdl bGw6ICJGZWRvcmEgZGV2ZWxvcGVycyBoYXZlIHRvIGZvcmsgdGhlaXIKb3duIGluc3RhbGxlciBi ZWNhdXNlIGluc3RhbGxlciBkZXZlbG9wZXJzIGNhbid0IHdvcmsgd2l0aCBGZWRvcmEKZGV2ZWxv cGVycy4iCgo+ID4gPiBNeSBndWVzcyB3b3VsZCBiZSB0aGF0IHlvdSBwZXJoYXBzIGRvbid0IGhh dmUgdGhlIHRpbWUgdG8gZG8gdGhhdC4KPiA+ID4gVGhhdCdzIHJlYXNvbmFibGUuICBJIGNhbiBz YXksIHdpdGggbm8gdW5jZXJ0YWludHksIHRoYXQgdGhlIGFuYWNvbmRhCj4gPiA+IHRlYW0gZG9l c24ndCBoYXZlIHRpbWUgdG8gZG8gaXQgZWl0aGVyLiAgVGhlIGRheSB0byBkYXkgdGhpbmdzIHRo YXQKPiA+ID4gdGVhbSBpcyB3b3JraW5nIG9uIGZhciBvdXR3ZWlnaCBidHJmcyBhcyBhIHByaW9y aXR5LCBldmVuIGluIEZlZG9yYS4KPiA+ID4gVGhpcyB0ZWFtIGxpdGVyYWxseSBnZXRzIGRvemVu cyBvZiBjb21wbGV0ZWx5IHVucmVsYXRlZCBidWdzIHRoZXkgaGF2ZQo+ID4gPiB0byBsb29rIGF0 IGFuZCB0cmlhZ2Ugc2ltcGx5IGJlY2F1c2UgaXQgaXMgdGhlIGZpcnN0IHRoaW5nIHBlb3BsZQo+ ID4gPiBpbnRlcmFjdCB3aXRoIHdoZW4gdGhleSBpbnN0YWxsIHRoZSBPUy4gIEl0J3MgYSBjYXRj aC1hbGwuICBCdHJmcwo+ID4gPiBlbmFibGVtZW50IHdvdWxkIGNvbnRpbnVhbGx5IHNpdCBvbiB0 aGUgYmFjayBidXJuZXIgd2FpdGluZyB0byBnZXQKPiA+ID4gZG9uZS4KPiA+ID4KPiA+Cj4gPiBJ ICprbm93KiB0aGUgQW5hY29uZGEgdGVhbSBiYXJlbHkgaGFzIGJhbmR3aWR0aCByaWdodCBub3cu IFRoYXQgaXMgYQo+ID4gZnVuY3Rpb24gb2YgdGhlbSBiZWluZyB0b28gY2xvc2VkIGZvciBhIGNv bW11bml0eSB0byBkZXZlbG9wIGFyb3VuZAo+ID4gaXQuIFRoYXQgaXMgKmVudGlyZWx5KiB0aGVp ciBmYXVsdC4gVGhlIEFuYWNvbmRhIGVuZ2luZWVycywgdGhlIHRlYW0KPiA+IGxlYWRzLCB0aGUg bWFuYWdlcnMsIGFuZCB0aGUgcHJvamVjdC9wcm9kdWN0IG93bmVycyBmb3IgQW5hY29uZGEgZG8K PiA+IG5vdCB2YWx1ZSB0aGUgY29tbXVuaXR5IGVub3VnaCB0byBhbGxvdyBvbmUgdG8gZGV2ZWxv cC4KPiA+Cj4gPiAoSSd2ZSBtZXQgYSBmYWlyIG51bWJlciBvZiBBbmFjb25kYSBkZXZlbG9wZXJz IGFuZCBtYW5hZ2VyIGZvbGtzLCBJCj4gPiBrbm93IHRoaXMgaXMgdGhlIGNhc2UsIGV2ZW4gaWYg dGhleSBkb24ndCBlbnRpcmVseSByZWFsaXplIGl0Cj4gPiB0aGVtc2VsdmVzLikKPgo+IEkgdGhp bmsgeW91J3JlIGNvbmZsYXRpbmcgInNlbGVjdGl2ZSBpbiB3aGF0IHRoZXkgYWNjZXB0IiBhbmQg ImRvIG5vdAo+IHZhbHVlIGNvbW11bml0eSIuCj4KCgoKPiA+IFRoZXJlIGFyZSBzZXZlcmFsIGRp c3RyaWJ1dGlvbnMgaW4gdGhlIFJIIGVjb3N5c3RlbSB0aGF0IHVzZSBBbmFjb25kYSwKPiA+IGFu ZCB5ZXQgb25seSBhIHRlYW0gb2YgfjMgcGVvcGxlIGFyZSBhbGxvd2VkIHRvIGRvIGFueXRoaW5n IG9uIGl0Pwo+ID4gVGhhdCBzZWVtcyBicnV0YWxseSB1c2VsZXNzLiBUaGVuIGFnYWluLCB3ZSBo YXZlIHRoZSBzYW1lIHByb2JsZW0gd2l0aAo+ID4gS29qaS4gVGVybWluYWxseSB1bmRlcnN0YWZm aW5nIGlzIG5vdCB1c2VmdWwuIEFuZCBiZWNhdXNlIHRoZQo+ID4gY29tbXVuaXR5IGNhbm5vdCBj b250cmlidXRlIHRvIEFuYWNvbmRhLCBpZiB0aGVyZSBhcmUgYnVncywgdGhlcmUncyBubwo+ID4g d2F5IGZvciB0aGUgY29tbXVuaXR5IHRvIGhlbHAgZml4IHRoZW0uCj4KPiBUaGVyZSBjZXJ0YWlu bHkgaXMuICBZb3Ugc3VibWl0IGEgUFIuICBJdCdzIHdoYXQgdGhleSB3b3VsZCBkby4gIFRoYXQK PiBQUiBiZWluZyBtZXJnZWQgb3Igbm90IGlzIGEgY29tcGxldGVseSBkaWZmZXJlbnQgdG9waWMg dGhhbiB0aGUKPiBhYmlsaXR5IHRvIHN1Ym1pdCBpdCBpbiB0aGUgZmlyc3QgcGxhY2UuCj4KClRo ZXJlICp3YXMqIGEgUFIgc3VibWl0dGVkLiBJdCB3YXMgZXZlbiBhIG9uZS1saW5lciBiZWNhdXNl IHRoZQpjb250cmlidXRvciBmaXhlZCB0aGUgdW5kZXJseWluZyBwcm9ibGVtIGVsc2V3aGVyZS4g SXQncyBiZWVuIGluIGxpbWJvCmZvciBvdmVyIGEgeWVhcjogaHR0cHM6Ly9naXRodWIuY29tL3Jo aW5zdGFsbGVyL2FuYWNvbmRhL3B1bGwvMTM3NQoKWW91IHNlZW0gdG8gdGhpbmsgdGhhdCBJJ20g anVzdCBzaG91dGluZyB3aXRob3V0IGFueSBlZmZvcnQgdG8gYmFjayBpdAp1cC4gVGhlcmUgd2Fz IG9yaWdpbmFsbHkgZm91ciBvZiB1cyB3b3JraW5nIG9uIHRoaXMgdHdvIHllYXJzIGFnby4KSXQn cyBkd2luZGxlZCBvdmVyIHRpbWUgYXMgdGhlIHJvYWRibG9ja3Mgd2VyZSB0aHJvd24gdXAgdGlt ZSBhbmQgdGltZQphZ2Fpbi4KCgoKLS0gCuecn+Wun+OBr+OBhOOBpOOCguS4gOOBpO+8gS8gQWx3 YXlzLCB0aGVyZSdzIG9ubHkgb25lIHRydXRoIQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KQW5hY29uZGEtZGV2ZWwtbGlzdCBtYWlsaW5nIGxpc3QKQW5h Y29uZGEtZGV2ZWwtbGlzdEByZWRoYXQuY29tCmh0dHBzOi8vd3d3LnJlZGhhdC5jb20vbWFpbG1h bi9saXN0aW5mby9hbmFjb25kYS1kZXZlbC1saXN0