Re: Can root name in DOCTYPE be a XSD-validity thing?
Leif Halvard Silli <[email protected]> Fri, 15 Feb 2013 12:00:26 +0100
| Newsgroups | gmane.text.xml.schema.devel |
|---|---|
| Organization | MÃ¥lform.no |
| Message-ID | <[email protected]> |
Qy4gTS4gU3BlcmJlcmctTWNRdWVlbiwgVGh1LCAxNCBGZWIgMjAxMyAxMjoxMjoxNCAtMDcw MDoNCj4gT24gRmViIDEzLCAyMDEzLCBhdCAxMToxMyBQTSwgTGVpZiBIYWx2YXJkIFNpbGxp IHdyb3RlOg0KDQo+PiBDYW4gYSBYU0QtYmFzZWQgcHJvY2Vzc29yIHZhbGlkYXRlIHRoYXQg YSBYSFRNTDUgZG9jdW1lbnQgY29udGFpbnMgdGhlIA0KPj4gSFRNTDUgRE9DVFlQRSB0eXBl IGRlY2xhcmF0aW9uPyANCiAgIOKApiANCj4+IE5vdGU6IFRoZSBIVE1MNSBET0NUWVBFICpk ZWNsYXJhdGlvbiogZG9lc24ndCByZWZlcmVuY2UgYSBET0NUWVBFIA0KPj4gKmRlZmluaXRp b24qLCBzbyBJIGRvIG5vdCBhc2sgaWYgWFNEIGNhbiB2YWxpZGF0ZSB0aGUgJ0V4dGVybmFs SUQnIG9yIA0KPj4gJ2ludFN1YnNldCcgcGFydCBvZiB0aGUgRE9DVFlFUCBkZWNsYXJhdGlv bi4gSSBvbmx5IHdvbmRlciBpZiBYU0QgDQo+PiBhbGxvd3MgY2hlY2tpbmcgdGhhdCB0aGUg J25hbWUnIHBhcnQgb2YgdGhlIERPQ1RZUEUgbWF0Y2hlcyB0aGUgJ3Jvb3QgDQo+PiBlbGVt ZW50IHR5cGUnLiBTaW5jZSBpdCBpcyB3ZWxsLWZvcm1lZCB0byBpbmNsdWRlIERPQ1RZUEUg ZGVjbGFyYXRpb24gDQo+PiB3aXRob3V0IGEgRFRELCBhbmQgc2luY2UgWFNEIG1vdmVzIHRo ZSB2YWxpZGF0aW9uIGZyb20gRFREIHRvLCB3ZWxsIA0KPj4gWFNELCBpdCBvdWdodCwgaXQg c2VlbXMsIGJlIHBvc3NpYmxlIHRvIHVzZSBYU0QgdG8gdmVyaWZ5IHRoYXQgdGhlIA0KPj4g RE9DVFlQRSBkZWNsYXJhdGlvbiBjb250YWlucyB0aGUgbmFtZSBvZiB0aGUgcm9vdCBlbGVt ZW50ICh0aGUgc2FtZSB3YXkgDQo+PiB0aGF0IFhTRCBhbGxvd3MgY2hlY2tpbmcgbWFueSB0 aGluZ3MgdGhhdCwgcGVyIFhNTCAxLjAsIGRvZXMgbm90IGZhbGwgDQo+PiB1bmRlciBYTUwg MS4w4oCZcyB2YWxpZGl0eSBjb25jZXB0KS4NCj4gDQo+IFlvdSBhcmUgcXVpdGUgcmlnaHQg dGhhdCB0aGVyZSB3b3VsZCBiZSBubyBsb2dpY2FsIGNvbnRyYWRpY3Rpb24gaW4gDQo+IGEg c2NoZW1hIGxhbmd1YWdlIHNwZWMgdGhhdCBhbGxvd2VkIHRoZSBraW5kIG9mIGNoZWNrIHlv dSBoYXZlIGluDQo+IG1pbmQuICBCdXQgbm8sIGl0J3Mgbm90IHNvbWV0aGluZyBYU0QgaXMg ZGVzaWduZWQgdG8gY29uc3RyYWluLCBvciB0byANCj4gYWxsb3cgc2NoZW1hIGF1dGhvcnMg dG8gY29uc3RyYWluLg0KDQpUaGFua3MhIFBlcmhhcHMsIGZvciB0aGUgbmV4dCB1cGRhdGUg b2YgdGhlIFhTRCBsYW5ndWFnZSwgeW91IHNob3VsZCANCmNvbnNpZGVyIGFkZGluZyBzdXBw b3J0IGZvciBET0NUWVBFIGRlY2xhcmF0aW9uIHZhbGlkYXRpb24/IE9uZSB1c2UgDQpjYXNl OiBBbGxvd2luZyBYU0QgdG8gcHJvZHVjZS92YWxpZGF0ZSBkb2N1bWVudHMgdGhhdCBjYW4g YmUgdmFsaWRhdGVkIA0KYm90aCB2aWEgRFREIG9yIHZpYSBYU0QuIEFub3RoZXIgdXNlIGNh c2U6IGNvcnJlY3QgRE9DVFlQRSBkZWNsYXJhdGlvbiANCmNhbiBpbmNyZWFzZSB0aGUgY2Vy dGFpbnR5IHRoYXQgYSBwYXJ0aWN1bGFyIHNjaGVtYSBzaG91bGQgaW5kZWVkIGJlIA0KYXBw bGllZCB0byB0aGUgcGFydGljdWxhciBkb2N1bWVudC4NCg0KUmVnYXJkbGVzcywgSSBqdXN0 IG5vdyBmaWxlZCBhIGJ1ZyBhZ2FpbnN0IHRoZSBIVE1MNSBzcGVjIHN1Z2dlc3RpbmcgDQp0 aGF0ICppZiogdGhlIERPQ1RZUEUgaXMgaW5jbHVkZWQsIHRoZW4gYXV0aG9ycyBzaG91bGQg bWFrZSBpdCBtYXRjaCANCnRoZSByb290IGVsZW1lbnQuWypdDQoNClsqXSBodHRwczovL3d3 dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTIwOTkzDQoNCk5vdGUgdGhh dCB0aGUgWE1MIDEuMOKAmXMgKERURCkgdmFsaWRpdHkgY29uY2VwdCwgcGVyIHRoZSB3b3Jk aW5nIG9mIHRoZSANCnNwZWMsIGFwcGxpZXMgZXZlbiB3aGVuIHRoZSBkZWNsYXJhdGlvbiBk b2VzbuKAmXQgcmVmZXJlbmNlIGFuIGV4dGVybmFsIA0Kb3IgaW50ZXJuYWwgRFREOiBbKl0g 4oCcW0RlZmluaXRpb246IEFuIFhNTCBkb2N1bWVudCBpcyB2YWxpZCBpZiBpdCBoYXMgDQph biBhc3NvY2lhdGVkIGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24gYW5kIGlmIHRoZSBkb2N1 bWVudCBjb21wbGllcyANCndpdGggdGhlIGNvbnN0cmFpbnRzIGV4cHJlc3NlZCBpbiBpdC5d 4oCdDQoNClsqXSBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLyNkdC12YWxpZA0KDQpC dXQgb25lIGNvdWxkLCBJIGd1ZXNzLCBkaXNjdXNzIHdoaWNoIGNvbnN0cmFpbnRzIGEgZGVj bGFyYXRpb24gc3VjaCBhcyANCjwhRE9DVFlQRSBodG1sPiBleHByZXNzZXMuIEJhc2VkIG9u IGEgY29tbWVudCBmcm9tIERhdmlkIENhcmxpc2xlIGluIA0KcHVibGljLWh0bWxALCB0aGVu IFhNTCBkb2VzIG5vdCBkZWZpbmUgKGFsbCkgdGhlIHdheXMgYSBEVEQgY2FuIGJlIA0KYXNz b2NpYXRlZCB3aXRoIGEgZG9jdW1lbnQuIEFuZCBzbywgaWYgdGhlIERURCBpcyBhc3NvY2lh dGVkIHZpYSBvbmUgb2YgDQp0aG9zZSB1bmRlZmluZWQgbWVhbnMsIHRoZW4gPCFET0NUWVBF IGh0bWw+IHByb2JhYmx5IHJlcHJlc2VudHMgdGhlIA0KY29uc3RyYWludHMgb2YgdGhhdCBh c3NvY2lhdGVkIERURC4gQnV0IGlmIHRoZXJlIGlzIG5vIGFzc29jaWF0ZWQgRFRELCANCnRo ZW4gPCFET0NUWVBFIGh0bWw+IHJlcHJlc2VudHMgYSBkb2N1bWVudCB0aGF0IGNhbm5vdCAo RFREKSB2YWxpZGF0ZSANCihzaW5jZSB0aGUgdmFsaWRpdHkgY29uc3RyYWludCAobmFtZWx5 OiB0aGF0IHRoZSByb290L2RvY3VtZW50IG5hbWUgb2YgDQp0aGUgRE9DVFlQRSBkZWNsYXJh dGlvbiBtYXRjaGVzIHRoZSByb290IGVsZW1lbnQgdHlwZSBkZWZpbmVkIGluIHRoZSANCkRU RCkgY2Fubm90IGJlIGZ1bGZpbGxlZCkuDQoNClRoYXQgdGhlIERURCB2YWxpZGl0eSBydWxl cyAoYW5kIHRodXMsIGFzIHdlbGwsIHRoZSB3ZWxsLWZvcm1lZCBydWxlKSANCmFwcGxpZXMg KmV2ZW4qIHRvIDwhRE9DVFlQRSBodG1sPiBjYW4gcGVyaGFwcyBiZSBzZWVuIGFzIGEgdGhp bmcgd2hpY2ggDQphbGxvd3MgdG8gZGVmaW5lIGVudGlyZWx5IG5ldyAoWFNELWJhc2VkKSB2 YWxpZGl0eSBydWxlcyB3aGljaCANCmF0dHJpYnV0ZSAqYW5vdGhlciogbWVhbmluZyB0aGF0 IHJvb3QvbmFtZSBwYXJ0IG9mIHRoZSBET0NUWVBFPw0KDQo+PiBCYWNrZ3JvdW5kIGZvciBt eSBxdWVzdGlvbiBpcyB0aGF0IFhNTCBlZGl0b3JzL3Byb2Nlc3NvcnMgbm93YWRheXMgdGVu ZCANCj4+IHRvIGJlIHNjaGVtYSBiYXNlZCwgZXZlbiB3aGVuIGEgRFREIGlzIHJlZmVyZW5j ZXMuIEFuZCBoZW5jZSwgaWYgWFNEIA0KPj4gZG9lc27igJl0IHZhbGlkYXRlIHRoZSBET0NU WVBFICpkZWNsYXJhdGlvbiosIFhTRCBjb3VsZCBpbiBmYWN0IGxhYmVsIA0KPj4gY29uc3Ry dWN0cyBsaWtlIHRoaXMgYXMgJ3ZhbGlkYXRpbmcnOg0KPj4gDQo+PiAgPCFET0NUWVBFIE5v dFRoZUh0bWxSb290RWxlbWVudD4NCj4+ICA8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5v cmcvMTk5OS94aHRtbCI+PGhlYWQ+PHRpdGxlPjwvdGl0bGU+DQo+PiAgPC9oZWFkPjxib2R5 PjxwLz48L2JvZHk+PC9odG1sPg0KPj4gDQo+PiBBbmQgaW4gZmFjdCwgaXQgc2VlbXMgbW9z dCBYU0QgcHJvY2Vzc29yIGRvIHNheSB0aGF0IHRoZSBhYm92ZSBpcyANCj4+IHZhbGlkYXRp bmcuIEZvciBleGFtcGxlIExpYnhtbDIgaW4gWFNEIG1vZGUgZG9lcy4gSnVzdCBhc2sgeG1s bGludCB0byANCj4+IGFwcGx5IHRoZSBYSFRNTCAxLjEgWFNEWzFdIHRvICBhIFhIVE1MIDEu MSBkb2Mgd2l0aCAnPERPQ1RZUEUgSFRNTCcgDQo+PiBpbnN0ZWFkIG9mICc8RE9DVFlQRSBo dG1sJ1syXToNCj4+IA0KPj4gIHhtbGxpbnQgLS1zY2hlbWEgaHR0cDovL3Rpbnl1cmwuY29t L2E5bHJ2ZnEgaHR0cDovL3Rpbnl1cmwuY29tL2JraGs4NnANCj4+IA0KPj4gRXZlbiB0aGUg d2VsbCBrbm93biBPeHlnZW4gZWRpdG9yLCB3aGljaCAoYnkgZGVmYXVsdCkgdXNlcyBYZXJj ZXMsIGRvZXMgDQo+PiBpbiB0aGUgYWJ2b2UgY2FzZSBiZWhhdmUgbGlrZSBMaWJ4bWwyLiAN Cj4gDQo+IFRoZSBhZ3JlZW1lbnQgb3IgZGlzYWdyZWVtZW50IG9mIHRoZSBET0NUWVBFIGRl Y2xhcmF0aW9uIHdpdGgNCj4gdGhlIG5hbWUgb24gdGhlIG91dGVybW9zdCBlbGVtZW50IGlz IG5vdCBhIHByb3BlcnR5IHRoYXQgYWZmZWN0cyB0aGUNCj4gc2NoZW1hLXZhbGlkaXR5IG9m IGFueSBkb2N1bWVudCB3aXRoIHJlc3BlY3QgdG8gYW55IFhTRCBzY2hlbWEuIA0KPiBTbyBJ J20gaGFwcHkgdG8gYmVsaWV2ZSB0aGF0IHRoZXNlIHByb2dyYW1zIGJlaGF2ZSBhcyB5b3Ug c2F5LCBhbmQNCj4gdG8gc2F5IHRoYXQgdGhlaXIgZmFpbHVyZSB0byBvYmplY3QgdG8gdGhl IGRpc2NyZXBhbmN5IGJldHdlZW4gZG9jdHlwZQ0KPiBkZWNsYXJhdGlvbiBhbmQgaW5zdGFu Y2UgaGFzIG5vIHJlbGF0aW9uIHRvIHRoZWlyIGNvbmZvcm1hbmNlIG9yDQo+IG5vbi1jb25m b3JtYW5jZSBhcyBYU0QgdmFsaWRhdG9ycy4NCg0KQSBkb2N0eXBlIHN1Y2ggYXMgDQogICA8 IURPQ1RZUEUgVGhlRG9jdW1lbnRFbGVtZW50IFNZU1RFTSAiSUQiIFs8IS0tYmxhLCBibGEt LT5dID4NCmFsbG93cyB0byB2ZXJpZnkNCg0KICBhKSB0aGF0IHRoZSBET0NUWVBFIGRlY2xh cmF0aW9uIGlzIGludGVybmFsbHkgdmFsaWQsIA0KICAgICBuYW1lbHksIHRoYXQgaXRzIHJv b3QvZG9jdW1lbnQgbmFtZSBhbmQgdGhlIERUROKAmXMgZGVmaW5pdGlvbg0KICAgICBvZiB0 aGUgcm9vdCBlbGVtZW50IHR5cGUsIGFyZSBtYXRjaGluZyBlYWNoIG90aGVycywNCiAgYikg dGhhdCB0aGUgcm9vdC9uYW1lIHBhcnQgb2YgdGhlIERPQ1RZUEUgZGVjbGFyYXRpb24NCiAg ICAgbWF0Y2hlcyB0aGUgYWN0dWFsIHJvb3QgZWxlbWVudCBvZiB0aGUgZG9jdW1lbnQgKGV4 Y2VwdCB0aGF0DQoNClRoZSBiKSBwYXJ0IGRvZXMgbm90IHNlZW0gdGVjaG5pY2FsbHkgbmVj ZXNzYXJ5IHNpbmNlIHRoaXMgY2hlY2sgY291bGQgDQpldmVuIGJlIHBlcmZvcm1lZCBieSBj aGVja2luZyB0aGUgZG9jdW1lbnQvcm9vdCBlbGVtZW50IGFnYWluc3QgdGhlIA0KZG9jdW1l bnQvcm9vdCBlbGVtZW50IGRlZmluaXRpb24gZm91bmQgaW4gdGhlIERURC4gQnV0LCBhdCBs ZWFzdCwgdGhlcmUgDQppcyBhIGh1bWFuIGVsZW1lbnQgaGVyZS4gRm9yIGluc3RhbmNlLCB0 aGUgRFREIGZvcm1hdCBtYXkgc2VlbSBoYXJkIHRvIA0KcmVhZCBhbmQgb2Z0ZW4gaXMgc3Rv cmVkIGV4dGVybmFsbHkuIEFuZCBzbywgdGhlIHJvb3QvbmFtZSBwYXJ0IG9mIHRoZSANCkRP Q1RZUEUgZGVjbGFyYXRpb24gY2FuIGFueWhvdyBwbGF5IGEgdGVjaG5pY2FsIHJvbGUsIG5h bWVseSB0aGUgcm9sZSANCm9mIGluY3JlYXNpbmcgdGhlIGNlcnRhaW50eSBhYm91dCB0aGUg aHVtYW4gaW50ZW50aW9uIC0gdGhhdCB0aGUgYXV0aG9yIA0KaGFzIGluZGVlZCBpbnRlbmRl ZCB0byBhdXRob3IgdGhpcyBkb2N1bWVudCBhY2NvcmRpbmcgdG8gY2VydGFpbiANCmdyYW1t YXIuDQoNCk9uZSBvZiB0aGUgbW9zdCBpbXBvcnRhbnQgdGhpbmdzIHRoYXQgYSBEVEQgZG9l cyBpcyB0aGF0IGl0IGRlZmluZXMgDQplbnRpdGllcywgZS5nLiBjaGFyYWN0ZXIgZW50aXRp ZXMuIEFuZCBpdCBzZWVtcyB0aGF0IFhNTCBwYXJzZXIgdGhhdCANCmFyZSBub3QgdmFsaWRh dGluZywgd2lsbCAic2VlIiB0aG9zZSBlbnRpdGllcyByZWdhcmRsZXNzIG9mIHRoZSByb290 IA0KZWxlbWVudCBuYW1lIG9mIHRoZSBET0NUWVBFIGRlY2xhcmF0aW9uLiBBbmQsIGluIGZh Y3QsIG9uZSBjb3VsZCBjbGFpbSANCnRoYXQgdGhhdCBpcyBob3cgdGhlIEhUTUw1IHNwZWNp ZmljYXRpb24gc2F5cyB0aGF0IFhIVE1sNSBwYXJzZXJzIA0Kc2hvdWxkIGJlaGF2ZSwgc2lu Y2UgaXQsIGZvciBhIHNldCBvZiA5IChleHBlY3RlZCB0byBiZWNvbWUgMTApWypdIHdlbGwg DQprbm93biBQVUJMSUMgaWRlbnRpZmllcnMsIHJlY29tbWVuZHMgdG8gYWx3YXlzIGltcGxl bWVudCB0aGUgDQpIVE1MNS1kZWZpbmVkIHNldCBvZiBjaGFyYWN0ZXIgZW50aXRpZXMuIA0K DQpbKl0gaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvcHVibGljLWh0bWwt YWRtaW4vMjAxM0ZlYi8wMjExDQoNCkJ1dCBpdCBpcyBzdHJpa2luZyB0aGF0IHRoZXNlIGVu dGl0aWVzIGFyZSBpbXBsZW1lbnRlZCBldmVuIHdoZW4gdGhlIA0KZG9jdW1lbnQvcm9vdCBu YW1lIHBhcnQgb2YgRE9DVFlQRSBkZWNsYXJhdGlvbiBkb2VzIG5vdCBtYXRjaCB0aGUgcm9v dCANCmVsZW1lbnQuDQoNCj4+IC4uLg0KPj4gQnkgdGhlIHdheTogSWYgd2UgcmVtb3ZlIHRo ZSBYU0Qgc3BlY2lmaWMgYXR0cmlidXRlcyBmcm9tIHRoZSBtYXJrdXAgb2YgDQo+PiB0aGUg YWJvdmUgdGVzdCBkb2N1bWVudCwgdGhlbiBPeHlnZW4gKFhlcmNlcykgZG9lcyBpbiBmYWN0 IGNvbXBsYWluIA0KPj4gdGhhdCB0aGUgcm9vdCBlbGVtZW50IGRvZXNuJ3QgbWF0Y2ggdGhl IGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24uIEFuZCANCj4+IGl0IGRvZXMgc28gKndpdGhv dXQqIGNvbXBsYWluaW5nIHRoYXQgdGhlIHJlc3Qgb2YgdGhlIG1hcmt1cCBpcyANCj4+IGlu dmFsaWQuIElzIHRoaXMgYmVjYXVzZSBvWHlnZW4gdXNlcyBhIFhTRCBzY2hlbWEgdGhhdCBp bmNsdWRlcyBET0NUWVBFIA0KPj4gdmFsaWRhdGlvbj8gT3IgaXMgaXQgYmVjYXVzZSBpdCB1 c2VzICJEVEQgbW9kZSIgZm9yIHRoZSBET0NUWVBFLCBhbmQgDQo+PiB0aGVuIFhTRCBtb2Rl IGZvciB0aGUgcmVzdCBvZiB0aGUgZG9jdW1lbnQ/DQo+IA0KPiBJIHRoaW5rIHRoZSBhbnN3 ZXIgaXMgdGhhdCBPeHlnZW4ncyBhbGdvcml0aG0gZm9yIGRlY2lkaW5nIGhvdyB0byB2YWxp ZGF0ZSANCj4gYSBkb2N1bWVudCwgd2hlbiB2YWxpZGF0aW9uIGlzIHJlcXVlc3RlZCwgd2ls bCBpZ25vcmUgYSBET0NUWVBFDQo+IGRlY2xhcmF0aW9uIGlmIGFuIHhzaTpzY2hlbWFMb2Nh dGlvbiBoaW50IGlzIHByZXNlbnQuICAoQnV0IEkgaGF2ZW4ndA0KPiB0ZXN0ZWQgdGhpcyBo eXBvdGhlc2lzOyBJIGp1c3Qga25vdyB0aGF0IE94eWdlbiBtYWtlcyBpdHMgYmVzdCBlZmZv cnQgdG8NCj4gZG8gc29tZXRoaW5nIHVzZWZ1bC4pDQoNCkl0IHdvdWxkIGJlIGludGVyZXN0 aW5nIHRvIGhlYXIgZnJvbSBzb21lb25lIHdobyB0ZXN0cyBvciBmcm9tIHRoZSANCk94eWdl biBkZXZlbG9wZXJzLg0KDQo+PiBTT01FICJQSElMT1NPUEhJQyIgUVVFU1RJT05TOiBBY2Nv cmRpbmcgdG8gWE1MIDEuMCwgInZhbGlkaXR5IA0KPj4gY29uc3RyYWludHMiIGFwcGx5IHRv IGFsbCB2YWxpZCBkb2N1bWVudHMuIERvZXMgWE1MIGJ5IHRoaXMgbWVhbiAiYWxsIA0KPj4g RFRELXZhbGlkIGRvY3VtZW50cyIsIG5vbHk/IFRoaXMgaXMgcmVsZXZhbnQgc2luY2UgWE1M IHNheXMgdGhhdCBpdCBpcyANCj4+IGEgdmFsaWRpdHkgY29uc3RyYWludCB0aGF0IHRoZSBE T0NUWVBFIGRlY2xhcmF0aW9uIG1hdGNoZXMgdGhlIHJvb3QuIA0KPj4gVGh1cywgaXQgc2Vl bXMgdG8gbWUgdGhhdCBpZiB0aGlzIHZhbGlkaXR5IGNvbnN0cmFpbiBkb2VzICpub3QqIGFw cGx5IA0KPj4gdG8gWFNELCB0aGVuIFhTRCBwcm9jZXNzb3IgYXJlLCBpbiBmYWN0LCBub3Qg dmFsaWRhdGluZyBwcm9jZXNzb3JzLiANCj4+IChJLmUuICJ2YWxpZGF0aW5nIHByb2Nlc3Nv ciIgcGVyIFhNTCAxLjAsIHRoZW4gbWVhbnMgIkRURC12YWxpZGF0aW5nIA0KPj4gcHJvY2Vz c29yIi4pIElmIHNvLCB0aGVuIGluIG9uZSB3YXksIGl0IGlzIHVubHVja3kgdGhhdCAndmFs aWRpdHknIGlzIA0KPj4gdXNlZCBieSBhbnl0aGluZyBvdGhlciB0aGFuIERURC12YWxpZGl0 eS4NCj4gDQo+IFRoZSBvbmx5IGZvcm0gb2YgdmFsaWRpdHkgZGVmaW5lZCBpbiB0aGUgWE1M IHNwZWNpZmljYXRpb24gaXMgRFRELWJhc2VkDQo+IHZhbGlkaXR5LiAgU28geWVzLCB0aGUg dmFsaWRpdHkgY29uc3RyYWludHMgb2YgdGhhdCBzcGVjIHJlbGF0ZSB0byANCj4gdmFsaWRh dGlvbg0KPiBhZ2FpbnN0IGEgRFRELCBhbmQgbm8sIFhTRCB2YWxpZGF0b3JzIGFyZSBub3Qg J3ZhbGlkYXRpbmcgcHJvY2Vzc29ycycNCj4gd2l0aGluIHRoZSBtZWFuaW5nIG9mIFhNTCBz cGVjLg0KPiANCj4gVGhlIHByb3NlIG9mIHRoZSBYU0Qgc3BlYyBnZW5lcmFsbHkgdHJpZXMg dG8gdXNlIHRoZSB0ZXJtICdzY2hlbWEtdmFsaWRpdHknIA0KPiBmb3IgdGhlIHByb3BlcnR5 IHRoYXQgYW4gWFNEIHZhbGlkYXRvciBjaGVja3M7IHRoZXJlIHdhcyBzb21lIGZlYXIgZHVy aW5nIA0KPiB0aGUgZHJhZnRpbmcgb2YgWFNEIDEuMCB0aGF0IHVzaW5nIHRoZSB1bnF1YWxp ZmllZCB0ZXJtICJ2YWxpZGl0eSIgd291bGQgDQo+IGNvbmZ1c2UgcGVvcGxlLiAgVGhlIGlu dGVydmVuaW5nIHllYXJzIGhhdmUgc2hvd24gdGhhdCBwZW9wbGUgYXJlIHF1aXRlDQo+IGhh cHB5IHRvIHVzZSB0aGUgdGVybSAidmFsaWRpdHkiIGluIGEgYnJvYWRlciBzZW5zZSBhbmQg dG8gZGlzdGluZ3Vpc2gNCj4gRFRELXZhbGlkaXR5LCBSTkctdmFsaWRpdHksIFhTRC12YWxp ZGl0eSwgZXRjLiBhcyBuZWVkZWQuICBTbyBzb21lIHJlYWRlcnMNCj4gaGF2ZSBmZWx0IHRo YXQgdGhlIFhTRCBzcGVjJ3MgY29uc2lzdGVudCB1c2Ugb2YgInNjaGVtYS12YWxpZGl0eSIg aW5zdGVhZA0KPiBvZiBqdXN0ICJ2YWxpZGl0eSIgd2FzIGFuIHVubmVjZXNzYXJ5IGFmZmVj dGF0aW9uLiAgSW4gZnV0dXJlIEkgc2hhbGwgcmVmZXIgDQo+IHN1Y2ggY29tbWVudHMgdG8g eW91ciBtZXNzYWdlOyB5b3UgYXJlIHRoZSBmaXJzdCByZWFkZXIgSSBoYXZlIGVuY291bnRl cmVkDQo+IHRvIHN1cHBvcnQgdGhlIFhTRCBzcGVjJ3MgY2hvaWNlIG9mIHRlcm1pbm9sb2d5 Lg0KDQpUaGFua3MgZm9yIGNvbmZpcm1pbmcgdGhhdCBYU0QgdmFsaWRhdGVkIGRvY3VtZW50 cyBhcmUgbm90IFhNTCAxLjAgDQp2YWxpZC4NCg0KQnR3LCBJIHRoaW5rIGl0IGlzIGdvb2Qv T0sgd2hlbiBhIHRleHQgY29tcGxldGVseSByZWRlZmluZSBhIGNvbmNlcHQuIA0KTWF5IGJl IGl0IHdvdWxkIGhhdmUgYmVlbiBqdXN0IGFzIGdvb2Qgb3IgYmV0dGVyIGlmIHRoZSBYU0Qg c2ltcGx5IHVzZWQgDQoidmFsaWQiIGluIHRoZSBzYW1lIHdheSBYTUwgMS4wIGRvZXMsIGJ1 dCBtYWRlIGl0IHZlcnkgY2xlYXIgdGhhdCBhKSANClhNTCBzcGVha3MgYWJvdXQgRFRELXZh bGlkLCB3aGVyZWFzIFhTRCBzcGVha3MgYWJvdXQgWFNELXZhbGlkLg0KDQo+PiBQUzogSSBu b3RlIHdpdGggaW50ZXJlc3QgdGhhdCB0aGUgWFNEIHNjaGVtYSBmaWxlcyBmb3IgdGhlIFhT RCBsYW5ndWFnZSANCj4+IGl0c2VsZiwgdGhlbXNlbHZlcyAoc29tZSBvZiB0aGVtKSBpbmNs dWRlIGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb25zLiANCj4+IEFuZCBzbyBJIHdvbmRlcjog V2hhdCB3b3VsZCBoYXBwZW4gaWYgb25lIGFsdGVyZWQgdGhlIHJvb3QgbmFtZXMgIA0KPj4g ZGVjbGFyZWQgYnkgdGhlIGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24gaW4gdGhvc2UgWFNE IGRvY3VtZW50cz8gV291bGQgDQo+PiBYU0QtYmFzZWQgcHJvY2Vzc29yIHN0b3Agd29ya2lu ZyDigKYgPw0KPiANCj4gTW9zdCBYU0QgcHJvY2Vzc29ycyBoYXZlIGhhcmQtY29kZWQga25v d2xlZGdlIG9mIHRoZSBzY2hlbWENCj4gZm9yIHNjaGVtYSBkb2N1bWVudHMgYXMgc3BlY2lm aWVkIGluIHRoZSBYU0Qgc3BlYzsgaXQgd291bGQgYmUgYW4NCj4gdW51c3VhbCBwcm9jZXNz b3IgdGhhdCBhY3R1YWxseSByZWFkIHRoZSBzY2hlbWEgZG9jdW1lbnQgZm9yDQo+IHNjaGVt YSBkb2N1bWVudHMgb24gZWFjaCBzdGFydHVwLiAgKE5vdCBhbiBpbXBvc3NpYmxlIG9uZSwg anVzdA0KPiB1bnVzdWFsLikgIFByb2Nlc3NvcnMgd2l0aCBoYXJkLWNvZGVkIGtub3dsZWRn ZSBvZiB0aGUgc2NoZW1hIGZvcg0KPiBzY2hlbWEgZG9jdW1lbnRzIHdvdWxkLCBJIGd1ZXNz LCBiZSB1bmFmZmVjdGVkIGJ5IGEgdGV4dHVhbCBjaGFuZ2UNCj4gdG8gdGhlIHNjaGVtYSBk b2N1bWVudHMgaW4gdGhlIHNwZWMuICBBIHByb2Nlc3NvciB0aGF0IGRpZCByZWFkIHRoZQ0K PiBzY2hlbWEgZG9jdW1lbnQgZm9yIHNjaGVtYSBkb2N1bWVudHMgYXQgc3RhcnR1cCBtaWdo dCBjZWFzZSB0byB3b3JrDQo+IGlmIGl0IGNoZWNrZWQgdGhlIHNjaGVtYSBkb2N1bWVudHMg Zm9yIERURC12YWxpZGl0eSBhbmQgZm91bmQgdGhhdA0KPiB0aGUgcm9vdCBlbGVtZW50IGhh ZCB0aGUgd3JvbmcgbmFtZSwgYnV0IGl0IGlzIG5vdCAodW5sZXNzIEkgYW0gZm9yZ2V0dGlu Zw0KPiBzb21ldGhpbmcpIGEgcmVxdWlyZW1lbnQgb2YgdGhlIFhTRCBzcGVjIHRoYXQgWFNE IHNjaGVtYSBkb2N1bWVudHMNCj4gYmUgRFRELXZhbGlkLg0KPiANCj4gVGhhbmsgeW91IGZv ciB5b3VyIHRob3VnaHRmdWwgYW5kIHRob3VnaC1wcm92b2tpbmcgbWVzc2FnZS4gDQo+IA0K PiBJIGhvcGUgdGhpcyBoZWxwcy4NCg0KVGhhbmtzLiBJdCB3YXMgYSBncmVhdCBoZWxwIGZv ciBtZSENCi0tIA0KTGVpZiBIYWx2YXJkIFNpbGxp