CgpPbiBKdW4gNSwgMjAxMywgYXQgNDozMCBQTSwgSmVzc2UgTGFja2V5IDxqc2wtbWxAY2VsZXN0 aWFsYXVkaW8uY29tPiB3cm90ZToKCj4gSGkgYWxsLCBJJ20gbG9va2luZyBhdCBkYy9kY3MgZm9y IHJ1bm5pbmcgNDAwbUEgLSAxQW1wIGhpZ2hwb3dlciBMRURzIAo+IHdpdGggc29tZSBzcGVjaWFs IHJlcXVpcmVtZW50cywgYW5kIGluIHRoaW5raW5nIGFib3V0IHZhcmlvdXMgc2NoZW1lcywgSSAK PiB3b25kZXIgaG93IChvciBpZikgc29tZXRoaW5nIHRoaXMgc2ltcGxlIHdvdWxkIHdvcmsuCj4g Cj4gU2V0dGluZyBhc2lkZSB0aGUgbWlub3IgYWRkaXRpb25hbCBjb21wbGV4aXR5IG9mIG1ha2lu ZyBhIAo+IGNvbnN0YW50LWN1cnJlbnQgdnMuIGNvbnN0YW50LXZvbHRhZ2UgZGMvZGMsIHdoYXQg aWYgdGhlcmUgd2VyZSBhIAo+IGNpcmN1aXQgbGlrZToKPiAKPiArMTJWLS0+UEZFVC0tPkNhcC0t Pk91dHB1dChzYXkgNVYgdGFyZ2V0KS4KPiBUaGUgb3V0cHV0IHdvdWxkIGhhdmUgYSB2b2x0YWdl IGRpdmlkZXIgKGkuZS4gZmVlZGJhY2spIGdvaW5nIHRvIGEgCj4gY29tcGFyYXRvciwgd2hpY2gg aGFzIGEgcmVmZXJlbmNlIHZvbHRhZ2UgZm9yIGl0cyBvdGhlciBpbnB1dC4gIFRoZSAKPiBjb21w YXJhdG9yIHdvdWxkIHR1cm4gb24gdGhlIFBGRVQgaWYgdGhlIGZlZWRiYWNrIHZvbHRhZ2Ugd2Vy ZSBiZWxvdyB0aGUgCj4gcmVmZXJlbmNlIHZvbHRhZ2UsIGFuZCB0dXJuIG9mZiB0aGUgUEZFVCBp ZiBub3QuCj4gCj4gU2NoZW1hdGljLi4uCj4gPGh0dHA6Ly93d3cuY2VsZXN0aWFsYXVkaW8uY29t L3BmZXQtY29tcGFyYXRvci1jYXAtZGNkYy5wbmc+Cj4gCj4gTm93IEkgaGF2ZW4ndCBldmVuIHRy aWVkIGEgc2ltdWxhdGlvbiAod2hpY2ggSSByYXJlbHkgZG8sIEkgZG9uJ3QgZG8gCj4gbXVjaCBh bmFsb2cgdGhhdCBpc24ndCBsYXJnZWx5ICdjb29rYm9vaycgd2l0aCB0d2Vha3MpIG11Y2ggbGVz cyBidWlsdCAKPiBpdCwgc28gSSBoYXZlIG5vICdyZWFsIGRhdGEnIG9uIGhvdyB3ZWxsIG9yIGlm IGl0IHdvcmtzLgoKSXQgd29uJ3Qgd29yayB2ZXJ5IHdlbGwgaWYgdGhlIG91dHB1dCByaXBwbGUg aXMgbG93LiBUaGUgTU9TRkVUIHdpbGwgZ2V0IGF0IGxlYXN0IGFzIGhvdCBhcyBpZiBpdCB3YXMg YSBsaW5lYXIgcmVndWxhdG9yLgoKCj4gQnV0IGl0IHN1cmUgc2VlbXMgbGlrZSBpdCB3b3VsZCBv cGVyYXRlIG1vcmUgb3IgbGVzcyBjb3JyZWN0bHkuICBBcyBDMSdzIAo+IHZhbHVlIGdldHMgbGFy Z2VyLCBpdCB0YWtlcyBtb3JlIHRpbWUgdG8gY2hhcmdlICh0aHJ1IFBGRVQpIGFuZCAKPiBkaXNj aGFyZ2UgKHRocnUgbG9hZCksIGFuZCBhcyB0aGUgY29tcGFyYXRvciBoeXN0ZXJlc2lzIGdldHMg c21hbGxlciwgCj4gdGhlIFBGRVQgc3dpdGNoaW5nIG9uLXRpbWUgZ2V0cyBzaG9ydGVyLCBzbyBp dCBzd2l0Y2hlcyBtb3JlIG9mdGVuIChsZXNzIAo+IGVmZmljaWVudCkgYnV0IHlvdSBoYXZlIGxl c3Mgb3V0cHV0IHJpcHBsZS4KCgo+IElmIHRoZSBjb21wYXJhdG9yIHdlcmUgYW4gb3BhbXAsIGRy aXZpbmcgdGhlIFBGRVQgZ2F0ZSBkaXJlY3RseSwgeW91J2QgCj4gaGF2ZSBhIERJWSBsaW5lYXIg cmVndWxhdG9yLiAgQnkgdXNpbmcgYSBjb21wYXJhdG9yIHdpdGggaHlzdGVyZXNpcywgeW91IAo+ IGdldCBhIGRjL2RjLiAgSSB0aGluay4KPiAKPiBGb3IgbXkgYXBwbGljYXRpb24sIEkgd2lsbCBr bm93IHRoZSBsb2FkIChhIHN0cmluZyBvZiBMRURzIGJlaW5nIAo+IGhpZ2gtc3BlZWQgUFdNIGRp bW1lZCksIHRoZSBhcHByb3hpbWF0ZSBuZWVkZWQgb3V0cHV0IHZvbHRhZ2UgdG8gbGlnaHQgCj4g dGhlbSBhdCB0aGUgZGVzaWduZWQgY3VycmVudCwgYW5kIHdpbGwgYmUgZG9pbmcgYSBsaXR0bGUg dHJpY2tlcnkgdG8gCj4gaGFuZGxlIGFsbCB0aGF0LiAgSSBjYW4gdG9sZXJhdGUgYSBtb2RlcmF0 ZSAoaHVtbS4uLiBtYXliZSAxMCU/IFRCRCkgCj4gb3V0cHV0IHZvbHRhZ2UgcmlwcGxlLgpDYW4g eW91IGxlYXZlIG9mZiB0aGUgb3V0cHV0IGNhcCBlbnRpcmVseT8gQXQgaGlnaCBlbm91Z2ggc3dp dGNoaW5nIGZyZXEgaXQgd2lsbCBiZSBkaWZmaWN1bHQgdG8gc2VlIHRoZSBkaWZmZXJlbmNlIHZp c3VhbGx5LCBldmVuIGxvdyBrSHogaXMgZmFpcmx5IGdvb2QuICBJdCBtYXkgYmUgYmV0dGVyIHdy dCBjb2xvciBvciBkaW1taW5nIGNvbnNpc3RlbmN5LiAKCkFsdGVybmF0ZWx5LCBhZGQgYW4gaW5k dWN0b3IgKCArIGZseSBiYWNrIGRpb2RlIG9yIEZFVCkgdG8gc3RvcmUgdGhlIGVuZXJneSByYXRo ZXIgdGhhbiBidXJuaW5nIGl0IHVwIGluIHRoZSBNT1NGRVQgUmRzKG9uKSBhbmQgc3dpdGNoaW5n IGxvc3Nlcy4KCgo+IFRoaXMgc2VlbXMgc29tZWhvdyB0b28gc2ltcGxlIHRvIHdvcmsgcmVhc29u YWJseSwgYnV0IEknbSBub3Qgc3VyZSB3aHkuIAo+IEMxIHdvdWxkIGhhdmUgdG8gaGFuZGxlIHRo ZSByaXBwbGUgY3VycmVudCBhbmQgdGhlIGlucnVzaCBjdXJyZW50IChhcyAKPiB3b3VsZCB0aGUg UEZFVCAtIHNvbWV0aGluZyB0aGF0IHdvdWxkIG5lZWQgYSBiaXQgb2YgYWRkaXRpb25hbCBkZXNp Z24gCj4gd29yaywgY2FuIGJlIGhhbmRsZWQgYSBmZXcgd2F5cyksIFIzIGhhcyB0byBiZSBsb3cg ZW5vdWdoIHZhbHVlIHRvIHR1cm4gCj4gb2ZmIHRoZSBQRkVUIHF1aWNrbHkgd2hlbiB0aGUgTkZF VCB0dXJucyBvZmYsIGJ1dCBoaWdoIGVub3VnaCB2YWx1ZSB0byAKPiBub3QgYmUgdG9vIHdhc3Rl ZnVsIHdoZW4gdGhlIFBGRVQgaXMgb24uCj4gCj4gSSBsaWtlIHRoYXQgSSBjYW4gc2V0IHRoZSBv dXRwdXQgcmlwcGxlIGJ5IGNob29zaW5nIEMxJ3MgdmFsdWUgYW5kIHRoZSAKPiBjb21wYXJhdG9y IGh5c3RlcmVzaXMuCldpdGggdGhlIGluZHVjdG9yIGV0Yy4gdGhpcyBpcyBjYWxsZWQgYSBoeXN0 ZXJlY3RpYyBjb252ZXJ0ZXIsIGFuZCBpdCBjYW4gYmUgb2theS4gVGhlIGZyZXF1ZW5jeSB2YXJp ZXMgd2l0aCB0aGUgbG9hZCwgYW5kIG9idmlvdXNseSB0aGVyZSBoYXMgdG8gYmUgYSBzaWduaWZp Y2FudCBhbXQgb2YgcmlwcGxlIHRvIGdldCBpdCB0byBzd2l0Y2guIApBIGNvbW1lcmNpYWwgcGFy dCBpcyB0aGUgTE01MDA4LCB3aXRoIHNob3J0IGNpcmN1aXQgcHJvdGVjdGlvbiBldGMuCgoKPiBU aG91Z2h0cz8KPiBXaGF0J3MgZ29pbmcgdG8gZmFpbCBmaXJzdCBpZiBydW4gMjQvNyBmb3IgeWVh cnM/Cj4gU2ltaWxhciwgcG9saXNoZWQsIGtub3duLXdvcmtpbmcgZGVzaWducyBhbnl3aGVyZT8K CllvdSBjb3VsZCB1c2Ugb25lIG9mIHRoZSBUSSAoIG7DqWUgTlMpIHN3aXRjaGVycy4gVmVyeSBz aW1wbGUsIGlmIGl0IHdpbGwgZml0IHlvdXIgYXBwbGljYXRpb24uIEUuZy4gTE0yNTc0CgoKPiBU aGFua3MgYWxsIQo+IEoKPiAtLSAKPiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGlj bGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlCj4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJz aGlwIG9wdGlvbnMgYXQKPiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8v cGljbGlzdAoKLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9T WCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMg YXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .