The Bordeaux 2020 harvest and growing season are an exercise in perspective.
We saw a rainy early season, intense summer drought, heat spikes in early September and late rains during harvest. All of this would have been challenging enough without also contending with Covid-19 related special measures, such as:
- lockdown during the early part of the season
- new sanitary protocols once everything opened back up again
- new harvest teams to retrain when the usual ones were not able to make it
- new ways of making harvesters feel welcome when the huge shared lunches and suppers were no longer possible
And through it all the constant feeling of gratitude that the vines continued unperturbed by wider upheaval, and that come harvest time grapes were arriving to the cellars ripe, healthy and (relatively) abundant.
{"content":"PHA+QWxsIHRoZSBzYW1lLCBCb3JkZWF1eOKAmXMgcmFpbnkgZmluaXNoLCB3aXRoIHVwIHRvIDEwMG1tIGZhbGxpbmcgaW4gc29tZSBhcmVhcyBvdmVyIGEgZmV3IGRheXMsIG1hZGUgdGhlIGVuZCBvZiB0aGUgMjAyMCBoYXJ2ZXN0IG1vcmUgcnVzaGVkIHRoYW4gZXhwZWN0ZWQgYWZ0ZXIgbW9udGhzIG9mIHN1bnNoaW5lIGFuZCB0ZW1wZXJhdHVyZXMgdGhhdCwgaW4gZWFybHkgU2VwdGVtYmVyLCBjbGltYmVkIHVwIHRvIDM1wrBDIGV2ZW4gNDDCsEMgb24gc29tZSBkYXlzLjwvcD4KPHA+PGRpdiBjbGFzcz0iYWQtY29udGFpbmVyIGFkLWNvbnRhaW5lci0tbW9iaWxlIj48ZGl2IGlkPSJwb3N0LWlubGluZS0yIiBjbGFzcz0iaXBjLWFkdmVydCI+PC9kaXY+PC9kaXY+PC9wPgo8cD7igJhBIGdyZWF0IHZpbnRhZ2UgaXMgd2hlcmUgZXZlcnlvbmUgc3VjY2VlZHMsIGFuZCBpdCBpcyBoYXJkIHRvIHNwZWFrIGFib3V0IDIwMjAgaW4gdGhvc2UgdGVybXMs4oCZIHNheXMgUGFzY2FsIENoYXRvbm5ldCwgY29uc3VsdGFudCBhbmQgdmluZXlhcmQgb3duZXIsIGVjaG9pbmcgYSBzZW50aW1lbnQgdGhhdCBJIGhhdmUgaGVhcmQgb3ZlciBhbmQgYWdhaW4gd2hpbGUgdmlzaXRpbmcgZXN0YXRlcyBhbmQgdGFzdGluZyB0aHJvdWdoIHZhdCBzYW1wbGVzIGFjcm9zcyB0aGUgcmVnaW9uLjwvcD4KPHA+SXTigJlzIHRvbyBlYXJseSB0byBnaXZlIGFueSBkZWZpbml0aXZlIGFzc2Vzc21lbnRzIG9mIGNvdXJzZSwgYnV0IHdoYXQgaXMgY2VydGFpbiBpcyB0aGF0IHdoYXRldmVyIGhhcHBlbnMgbm93IDIwMjAgaXMgYSB2aW50YWdlIHRoYXQgbm9ib2R5IGlzIGdvaW5nIHRvIGZvcmdldC4gU28gbGV04oCZcyBicmVhayBkb3duIHRoZSBzZWFzb24sIGFuZCB3aGF0IGxpa2VseSBpbXBhY3QgaXQgY291bGQgaGF2ZSBvbiB0aGUgd2luZXMuPC9wPgo8aDM+S2V5IHRha2Vhd2F5czwvaDM+Cjx1bD4KPGxpPldhcm0sIGVhcmx5IHllYXIgaW1wYWN0ZWQgYnkgYSByYWlueSBzdGFydCBhbmQgZmluaXNoLjwvbGk+CjxsaT5Ecnkgc3VtbWVyIHdpdGggYWxtb3N0IHplcm8gcmFpbmZhbGwgaW4gSnVseSwgYW5kIHdhdGVyIGRlZmljaXQgYWNyb3NzIGJvdGggSnVseSBhbmQgQXVndXN0IDYwJSBsb3dlciB0aGFuIGF2ZXJhZ2UuPC9saT4KPGxpPlRoZSB2aW5lcyB3ZXJlIDE1IGRheXMgZWFybGllciB0aGFuIGF2ZXJhZ2UgYXQgYnVkZGluZyBhbmQgZmxvd2VyaW5nLCBkb3duIHRvIDcgZGF5cyBlYXJsaWVyIGJ5IHRoZSBlbmQgb2YgdmVyYWlzb24gYW5kIGhhcnZlc3QuPC9saT4KPGxpPllpZWxkcyBhcm91bmQgMjAlIGxvd2VyIHRoYW4gMjAxOS48L2xpPgo8bGk+RWFybHkgd2hpdGUgaGFydmVzdCBiZWdhbiBtaWQtQXVndXN0LjwvbGk+CjxsaT5NdWNoIG9mIHRoZSByZWQgaGFydmVzdCBmaW5pc2hlZCBieSB0aGUgZW5kIG9mIFNlcHRlbWJlci48L2xpPgo8bGk+U2F1dGVybmVzIGFuZCBCYXJzYWMgZHVlIHRvIGZpbmlzaCBhdCB0aGUgZW5kIG9mIHRoaXMgd2Vlay48L2xpPgo8L3VsPgo8ZGl2IGNsYXNzPSJhZC1jb250YWluZXIgYWQtY29udGFpbmVyLS1tb2JpbGUiPjxkaXYgaWQ9InBvc3QtaW5saW5lLTMiIGNsYXNzPSJpcGMtYWR2ZXJ0Ij48L2Rpdj48L2Rpdj4KPGgzPk1hcmNoL0FwcmlsPC9oMz4KPHA+T3ZlcmFsbCwgYSBtaWxkIHdpbnRlciBzYXcgYnVkIGJyZWFrIGFyb3VuZCAxNSBkYXlzIGVhcmxpZXIgdGhhbiB1c3VhbC4gU3ByaW5nIGhhZCBwbGVudHkgb2YgY2hhbGxlbmdlcywgdGhvdWdoLCB3aXRoIGhhaWwsIHNub3cgYW5kIHN0cm9uZyBidXJzdHMgb2YgcmFpbmZhbGwgYXQgdmFyaW91cyB0aW1lcy4gVHdvIHBlcmlvZHMgb2YgZnJvc3Qgd2VyZSByZWNvcmRlZCBvbiAyOSBNYXJjaCBhbmQgdGhyb3VnaCB0byBlYXJseSBBcHJpbC48L3A+CjxwPkluIHRoZSBlbmQgdGhlIGRhbWFnZSB3YXMgbG9jYWxpc2VkLCB3aXRoIG1vc3QgZnJvc3QgZGFtYWdlIGxpbWl0ZWQgdG8gcGFydHMgb2YgdGhlIFJpZ2h0IEJhbms7IHRoZSBsb3dlciBzZWN0b3JzIG9mIFN0LUxhdXJlbnQtZGVzLUNvbWJlcyBpbiBTdC1FbWlsaW9uIGZvciBleGFtcGxlLjwvcD4KPGRpdiBjbGFzcz0iYWQtY29udGFpbmVyIGFkLWNvbnRhaW5lci0tbW9iaWxlIj48ZGl2IGlkPSJwb3N0LWlubGluZS00IiBjbGFzcz0iaXBjLWFkdmVydCI+PC9kaXY+PC9kaXY+CjxwPkF0IHRoZSB0aW1lLCBQaGlsaXBwZSBBYmFkaWUgb2YgdGhlIEdpcm9uZGUgQ2hhbWJlciBvZiBBZ3JpY3VsdHVyZSBjb25maXJtZWQgdGhhdCB0aGUgZGVwbG95bWVudCBvZiBhbiBhcnJheSBvZiBuZXcgYW50aS1mcm9zdCBtZWFzdXJlcyAobWFueSBicm91Z2h0IGluIHNpbmNlIHRoZSBkZXZhc3RhdGlvbiBvZiAyMDE3KSB3ZXJlIHN1Y2Nlc3NmdWwuPC9wPgo8cD5UaGUgc2l0dWF0aW9uIHdhcyBhbHNvIGhlbHBlZCBiZWNhdXNlLCBpbiB0aGUgZW5kLCB0aGUgZnJvc3QgdHVybmVkIGludG8gc25vdyDigJMgRW1lbGluZSBCb3JpZSBhdCBHcmFuZC1QdXktTGFjb3N0ZSBub3RlZCB0aGF0IHdoYXQgd291bGQgaGF2ZSBiZWVuIHRoZSBzdGFydCBvZiB0aGUgZW4gcHJpbWV1ciB3ZWVrIGluIEFwcmlsIHdhcyBtYXJrZWQgaW5zdGVhZCBieSBzbm93IGZhbGxpbmcgaW4gUGF1aWxsYWMuPC9wPgo8ZGl2IGNsYXNzPSJhZC1jb250YWluZXIgYWQtY29udGFpbmVyLS1tb2JpbGUiPjxkaXYgaWQ9InBvc3QtaW5saW5lLTUiIGNsYXNzPSJpcGMtYWR2ZXJ0Ij48L2Rpdj48L2Rpdj4KPHA+VGhpbmdzIGNsZWFyZWQgdXAgcXVpY2tseSwgYW5kIG92ZXJhbGwgdGhlIG1vbnRoIG9mIEFwcmlsIHdhcyB0aGUgd2FybWVzdCBzaW5jZSAxOTIwLiBJdCB3YXMgdmVyeSBkcnkgaW4gdGhlIGZpcnN0IGhhbGYgYnV0IHdpdGggbW9yZSBmcmVxdWVudCByYWluIGZvciB0aGUgcmVzdCBvZiB0aGUgbW9udGguPC9wPgo8cD5UaGVyZSB3ZXJlIGV2ZW4gYSBmZXcgc3Rvcm1zLCBwYXJ0aWN1bGFybHkgb24gdGhlIDE3dGgsIHdpdGggYnVyc3RzIG9mIGhhaWwgdGhhdCBhZmZlY3RlZCBjZXJ0YWluIHBhcnRzIG9mIEVudHJlLURldXgtTWVycyBhcm91bmQgR3LDqXppbGxhYywgQnJhbm5lIGFuZCBDcsOpb24sIEZyYW5jcyBDw7R0ZXMgZGUgQm9yZGVhdXgsIFNhdXRlcm5lcyBhbmQgcGFydHMgb2YgU3QtRW1pbGlvbiBhbmQgUHVpc3NlZ3Vpbi48L3A+CjxwPk92ZXJhbGwsIHRoZSBBcHJpbCBoYWlsc3Rvcm1zIHdlcmUgZXN0aW1hdGVkIHRvIGhhdmUgaW1wYWN0ZWQgYmV0d2VlbiA2MDBoYSBhbmQgODAwaGEgb2YgdmluZXMsIHdpdGggdGhlIHdvcnN0IGFmZmVjdGVkIHJlcG9ydGluZyB1cCB0byA4MCUgbG9zc2VzLjwvcD4KPGgzPk1heS9KdW5lPC9oMz4KPHA+RWFybHkgTWF5IHdhcyB3YXJtIGFuZCBzdW5ueSwgYWx0aG91Z2ggbWFya2VkIGJ5IGZyZXF1ZW50IHJhaW4gc3Rvcm1zIGZvciB0aGUgZmlyc3QgMTMgZGF5cywgd2l0aCBsb2NhbGlzZWQgZmxvb2RpbmcgaW4gc29tZSBhcmVhcy4gUmFpbmZhbGwgd2FzIHVuZXZlbiDigJMgdXAgdG8gMjAwbW0gYXJvdW5kIE1vdWxpcyBhbmQgTGlzdHJhYywgYXMgd2VsbCBhcyBpbiBCYXJzYWMgYW5kIFNhdXRlcm5lcywgY29tcGFyZWQgdG8gMjBtbSBpbiBMYWxhbmRlIGRlIFBvbWVyb2wgYW5kIDQwbW0gaW4gUG9tZXJvbC48L3A+CjxwPlRlbXBlcmF0dXJlcywgaG93ZXZlciwgcmVtYWluZWQgcmVsYXRpdmVseSB3YXJtLCBtZWFuaW5nIHRoYXQgZmxvd2VyaW5nIHdhcyBlYXJseSwgYXJvdW5kIDIwIE1heSwgdXAgdG8gMTUgZGF5cyBlYXJsaWVyIHRoYW4gYXZlcmFnZSAoY29tcGFyYWJsZSB0byBib3RoIDIwMDMgYW5kIDIwMTEpLCBhbmQgZ2VuZXJhbGx5IGdvb2QgcXVhbGl0eSBhbmQgZXZlbi48L3A+CjxwPkZydWl0IHNldCB3YXMgc2ltaWxhcmx5IGhlbHBlZCBieSB0aGUgc3RhYmxlIHRlbXBlcmF0dXJlcyBhbmQgb3ZlcmFsbCBhdCB0aGlzIHBvaW50IHlpZWxkcyBsb29rZWQgaGVhbHRoeSwgYWx0aG91Z2ggY29uc3VsdGFudCBQYXNjYWwgQ2hhdG9ubmV0IHJlcG9ydGVkIHRoYXQgQ2FiZXJuZXQgU2F1dmlnbm9uIHdhcyBhIGxpdHRsZSBtb3JlIGFmZmVjdGVkIGJ5IHJhaW4gZHVyaW5nIGZydWl0IHNldCB0aGFuIE1lcmxvdCwgd2hpY2ggdHJhbnNsYXRlZCBpbnRvIHJlZHVjZWQgeWllbGRzIGluIHBhcnRzIG9mIHRoZSBNw6lkb2MuPC9wPgo8cD5NaWxkZXcgcHJlc3N1cmUgYWxzbyBiZWNhbWUgaW50ZW5zZSBpbiBNYXkgYW5kIHBhcnRpY3VsYXJseSBKdW5lIGFmdGVyIGEgcmFpbnkgc3RhcnQgdG8gdGhlIG1vbnRoLjwvcD4KPHA+VGhpbmdzIGdvdCBtb3JlIHN0YWJsZSBsYXRlciBpbiB0aGUgbW9udGgsIGFuZCB0aGUgbWlsZGV3IHRocmVhdCwgd2hpY2ggbG9va2VkIHRvIGJlIGV2ZW4gd29yc2UgdGhhbiBpbiAyMDE4IGluIHNvbWUgYXJlYXMsIHJlY2VkZWQgYnkgbGF0ZSBKdW5lIGFzIGNvbmRpdGlvbnMgYmVjYW1lIGhvdHRlciBhbmQgZHJpZXIuPC9wPgo8cD5JIHdhcyB3aXRoIFRob21hcyBEdXJvdXggYXQgYmlvZHluYW1pY2FsbHktZmFybWVkIENow6J0ZWF1IFBhbG1lciBpbiBlYXJseSBKdW5lLCB0YXN0aW5nIHRoZSAyMDE5IHZpbnRhZ2UsIGFuZCBjYW4gd2VsbCByZW1lbWJlciBoaXMgYW54aWV0eSBsZXZlbHMgJiM4MjExO8KgIGJ1dCBpbiB0aGUgZW5kIGhlIGlzIGV4cGVjdGluZyB5aWVsZHMgb2YgYXJvdW5kIDMyaGwvaGEsIG1haW5seSBkdWUgdG8gdGhlIGhlYXQgc3Bpa2VzIG9mIGVhcmx5IFNlcHRlbWJlciByYXRoZXIgdGhhbiBtaWxkZXcgaW4gTWF5LjwvcD4KPHA+R29uemFndWUgTHVydG9uLCBhdCBDaMOidGVhdSBEdXJmb3J0LVZpdmVucywgYWxzbyBmYXJtaW5nIG9yZ2FuaWNhbGx5IGFuZCBiaW9keW5hbWljYWxseSwgY29tbWVudGVkIGF0IHRoZSB0aW1lIHRoYXQgaW4gbWFueSB3YXlzIGhlIHdhcyBiZXR0ZXIgcHJvdGVjdGVkIHRoYW4gY29sbGVhZ3VlcyBmYXJtaW5nIGNvbnZlbnRpb25hbGx5LCBiZWNhdXNlIGhlIGhhZCBsZWFybnQgZnJvbSB0aGUgZXhwZXJpZW5jZSBvZiBtaWxkZXcgaW4gMjAxOC48L3A+CjxwPlNpbWlsYXJseSwgUGFzY2FsIENoYXRvbm5ldCBzYWlkIGhpcyBvcmdhbmljIHBsb3RzIGF0IFZpZ25vYmxlcyBDaGF0b25uZXQgZmFyZWQgdGhlIGJlc3QsIGJlY2F1c2UgaGlzIHRlYW0gd2VyZSBvdXQgdGhlcmUgdHJlYXRpbmcgdGhlIHZpbmVzIG1vcmUgZnJlcXVlbnRseS48L3A+CjxoMz5KdWx5L0F1Z3VzdDwvaDM+CjxwPkl0IHdhcyB0aGUgZHJpZXN0IHN1bW1lciBzaW5jZSAxOTU5LCB3aXRoIHRlbXBlcmF0dXJlcyBpbiBKdWx5IHNob3dpbmcgMjQgZGF5cyBhYm91dCAyNcKwQyBhbmQgMTIgb2YgdGhvc2UgdG9wcGluZyAzMMKwQy48L3A+CjxwPlRoZXJlIHdlcmUgMzE2IGhvdXJzIG9mIHN1bnNoaW5lIGluIEp1bHksIDMwJSB1cCBvbiB0aGUgYXZlcmFnZSBvZiAyNDksIHBsdXMganVzdCAzbW0gb2YgcmFpbiBjb21wYXJlZCB0byBhbiBhdmVyYWdlIG9mIDUwbW0uPC9wPgo8cD5BcyB3aXRoIGZsb3dlcmluZywgY29sb3VyIGNoYW5nZSBpbiB0aGUgZ3JhcGVzICg8c3Ryb25nPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRlY2FudGVyLmNvbS9sZWFybi93aGF0LWhhcHBlbnMtZHVyaW5nLXZlcmFpc29uLTM3Mzc1Mi8iPjxlbT52ZXJhaXNvbjwvZW0+PC9hPjwvc3Ryb25nPikgd2FzIGVhcmx5LCB3aXRoIHRoZSB2ZXJ5IGZpcnN0IHJlZGRlbmluZyBoYXBwZW5pbmcgbWlkLUp1bHkuPC9wPgo8cD5DaGF0b25uZXQsIHdobyBjb25zdWx0cyBhdCBDaMOidGVhdSBk4oCZSXNzc2FuLCByZXBvcnRlZCBzZWVpbmcgQ2FiZXJuZXQgU2F1dmlnbm9uIGluIE1hcmdhdXggYmVnaW5uaW5nIGNvbG91ciBjaGFuZ2Ugb24gNyBKdWx5LCB0aGUgZWFybGllc3QgaGUgaGFkIHNlZW4sIGFuZCBhIHdlZWsgZWFybGllciB0aGFuIGhpcyBNZXJsb3QgaW4gTGFsYW5kZS1kZS1Qb21lcm9sLjwvcD4KPHA+VGhpbmdzIGdvdCBzbyB3YXJtIGFuZCBkcnkgdGhhdCBjZXJ0YWluIHRlcnJvaXJzIHNhdyBibG9ja2VkIHJpcGVuaW5nLCBtZWFuaW5nIHRoYXQgdGhlIGFkdmFuY2UgaW4gdGhlIGVhcmx5IHNlYXNvbiBzbG93ZWQgZG93bi48L3A+CjxwPkFzIGEgcmVzdWx0LCB2ZXJhaXNvbiB0aGF0IHR5cGljYWxseSBsYXN0cyBlaWdodCB0byAxMiBkYXlzIHRvb2sgdXAgdG8gdGhyZWUgd2Vla3Mgb3IgbW9yZS4gQ2jDonRlYXUgSmVhbiBGYXVyZSBpbiBTdC1FbWlsaW9uIHRvbGQgbWUgZnVsbCBjb2xvdXIgY2hhbmdlIHRvb2sgZml2ZSB3ZWVrcyBpbiB0b3RhbC4gVGhlcmUgd2VyZSBtYXJrZWQgZGlmZmVyZW5jZXMgYWNyb3NzIHRlcnJvaXJzLCBwdXNoaW5nIHRoZSBleHBlY3RlZCBoYXJ2ZXN0IGRhdGUgYmFjayBieSBvbmUgd2Vlay48L3A+CjxwPlRoaXMgaXMgcmVhbGx5IHdoZXJlIHNvaWxzIGFuZCBsb2NhbCBtaWNyby1jbGltYXRlcyB3aWxsIGhhdmUgY29tZSBpbnRvIHBsYXkuIFBhcnRzIG9mIFBvbWVyb2wgd2l0aCBzYW5keSBsb2FtIHNvaWxzIHN1ZmZlcmVkIGluIHRoZSBkcm91Z2h0LCBmb3IgZXhhbXBsZS4gQ2xheSBhbmQgbGltZXN0b25lIHNvaWxzIGZhcmVkIG11Y2ggYmV0dGVyLCBhcyBkaWQgZ3JhdmVsIGFyZWFzIHRoYXQgYXJlIHVuZGVycGlubmVkIGJ5IGNsYXksIGFzIGlzIHR5cGljYWwgaW4gYXBwZWxsYXRpb25zIHN1Y2ggYXMgU3QtRXN0w6hwaGUsIFBhdWlsbGFjIGFuZCBTdC1KdWxpZW4uPC9wPgo8cD5UaGVyZSBoYXMgYWxzbyBiZWVuIHN1Y2Nlc3MgcmVwb3J0ZWQgYnkgc2V2ZXJhbCBlc3RhdGVzIHdobyBzcHJheWVkIHRoZWlyIGdyYXBlcyB3aXRoIGNsYXkgZHVyaW5nIHRoZSBob3R0ZXN0IHBhcnRzIG9mIEF1Z3VzdCB0byBwcm90ZWN0IHRoZSBza2lucy48L3A+CjxwPkF1Z3VzdCB3YXMgc2ltaWxhcmx5IGhvdCBhbmQgZHJ5IGluIHRoZSBlYXJseSBwYXJ0cywgcmlnaHQgdXAgdG8gMzkuNsKwQyByZWNvcmRlZCBhdCBNw6lyaWduYWMgb24gNyBBdWd1c3QsIGEgdGVtcGVyYXR1cmUgdGhhdCBjbGltYmVkIHRvIG1vcmUgdGhhbiA0MMKwQyBpbiBwYXJ0cyBvZiBTdC1FbWlsaW9uIGFuZCBQb21lcm9sLjwvcD4KPHA+U29tZSByYWluIGZlbGwgaW4gbWlkLW1vbnRoLiBUaGVyZSB3ZXJlIDY3bW0gb3ZlciB0aGUgY291cnNlIG9mIHRoZSBtb250aCwgMTklIGhpZ2hlciB0aGFuIGF2ZXJhZ2UsIGxhcmdlbHkgZHVlIHRvIGEgcmFpbnkgc3BlbGwgb2YgdXAgdG8gNTVtbSBmcm9tIDExIHRvIDE1IEF1Z3VzdCDigJMgYWx0aG91Z2ggU3QtSnVsaWVuIHJlcG9ydGVkIGFub3RoZXIgaGVhdnkgcmFpbiBzcGVsbCBhdCB0aGUgZW5kIG9mIHRoZSBtb250aC48L3A+CjxwPlBhcnRzIG9mIEVudHJlLURldXgtTWVycyBsb3N0IHVwIHRvIDMwJSBvZiB0aGUgY3JvcCBhZnRlciBhIG1pZC1tb250aCBoYWlsIHN0b3JtIGFyb3VuZCB0aGUgY29tbXVuZSBvZiBCYXVyZWNoLjwvcD4KPHA+T3ZlcmFsbCwgc3Vuc2hpbmUgaW4gQXVndXN0IHdhcyB2ZXJ5IGNsb3NlIHRvIG5vcm1hbCwgd2l0aCAyMzMgaG91cnMsIGFuZCB0aGUgd2F0ZXIgZGVmaWNpdCBhY3Jvc3MgYm90aCBKdWx5IGFuZCBBdWd1c3QgY2FtZSBpbiBhdCB1bmRlciA2MCUgbG93ZXIgdGhhbiBhdmVyYWdlLCBhY2NvcmRpbmcgdG8gY29uc3VsdGFudCBQYXNjYWwgSMOpbm90IG9mIEVub3NlbnMuPC9wPgo8cD5UaGUgZmlyc3Qgd2hpdGUgZ3JhcGVzIHdlcmUgYnJvdWdodCBpbiBhcm91bmQgMTUgQXVndXN0LCBwYXJ0aWN1bGFybHkgb24gdGhlIGdyYXBlcyBpbnRlbmRlZCBmb3IgQ3LDqW1hbnQsIGFuZCB0aGUgU2F1dmlnbm9uIEdyaXMgYW5kIEJsYW5jIG9uIHRoZSBlYXJsaWVzdCByaXBlbmluZyB0ZXJyb2lycy4gQnkgdGhlIGVuZCBvZiBBdWd1c3QsIE1lcmxvdCBpbnRlbmRlZCBmb3Igcm9zw6kgd2FzIGFsc28gY29taW5nIGludG8gdGhlIGNlbGxhcnMuPC9wPgo8cD5UaGluZ3Mgd2VyZSBzdHJpa2luZ2x5IGVhcmx5IGF0IHRoaXMgcG9pbnQg4oCTIEdlcmFyZCBQZXJzZeKAmXMgTW9uYm91c3F1ZXQgaW4gU3QtRW1pbGlvbiwgZm9yIGV4YW1wbGUsIGJyb3VnaHQgaXRzIGZpcnN0IHdoaXRlIGdyYXBlcyBpbiBhdCB0aGUgZW5kIG9mIEF1Z3VzdCwgYSBmdWxsIDE1IGRheXMgZWFybGllciB0aGFuIGluIDIwMTkuIEhpcyBNZXJsb3QgaGFydmVzdCBhdCBDaMOidGVhdSBQYXZpZSBiZWdhbiBvbiAyMSBTZXB0ZW1iZXIsIG5pbmUgZGF5cyBlYXJsaWVyIHRoYW4gaW4gMjAxOS48L3A+CjxkaXYgaWQ9ImF0dGFjaG1lbnRfNDQ1NjMzIiBzdHlsZT0id2lkdGg6IDY0MHB4IiBjbGFzcz0id3AtY2FwdGlvbiBhbGlnbm5vbmUiPjxpbWcgYXJpYS1kZXNjcmliZWRieT0iY2FwdGlvbi1hdHRhY2htZW50LTQ0NTYzMyIgY2xhc3M9Imxhenlsb2FkIGJsdXItdXAgc2l6ZS1sYXJnZSB3cC1pbWFnZS00NDU2MzMiIHNyYz0iaHR0cHM6Ly93d3cuZGVjYW50ZXIuY29tL3dwLWNvbnRlbnQvdGhlbWVzL3NpbWJhLXRoZW1lL2Fzc2V0cy9pbWFnZXMvcGxhY2Vob2xkZXIucG5nIiBkYXRhLXNyYz0iaHR0cHM6Ly9rZXlhc3NldHMudGltZWluY3VrLm5ldC9pbnNwaXJld3AvbGl2ZS93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMzQvMjAyMC8xMC9jaGF0ZWF1LWhhdXRyaWFuLTc0LTYzMHg0MTcuanBnIiBhbHQ9IkNoYXRlYXUgSGF1dCBSaWFuIGhhcnZlc3QgMjAyMCIgd2lkdGg9IjYzMCIgaGVpZ2h0PSI0MTciIGRhdGEtc2l6ZXM9ImF1dG8iIGRhdGEtc3Jjc2V0PSJodHRwczovL2tleWFzc2V0cy50aW1laW5jdWsubmV0L2luc3BpcmV3cC9saXZlL3dwLWNvbnRlbnQvdXBsb2Fkcy9zaXRlcy8zNC8yMDIwLzEwL2NoYXRlYXUtaGF1dHJpYW4tNzQtNjMweDQxNy5qcGcgNjMwdywgaHR0cHM6Ly9rZXlhc3NldHMudGltZWluY3VrLm5ldC9pbnNwaXJld3AvbGl2ZS93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMzQvMjAyMC8xMC9jaGF0ZWF1LWhhdXRyaWFuLTc0LTMwMHgxOTguanBnIDMwMHcsIGh0dHBzOi8va2V5YXNzZXRzLnRpbWVpbmN1ay5uZXQvaW5zcGlyZXdwL2xpdmUvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzM0LzIwMjAvMTAvY2hhdGVhdS1oYXV0cmlhbi03NC0xMzV4ODkuanBnIDEzNXcsIGh0dHBzOi8va2V5YXNzZXRzLnRpbWVpbmN1ay5uZXQvaW5zcGlyZXdwL2xpdmUvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzM0LzIwMjAvMTAvY2hhdGVhdS1oYXV0cmlhbi03NC0zMjB4MjEyLmpwZyAzMjB3LCBodHRwczovL2tleWFzc2V0cy50aW1laW5jdWsubmV0L2luc3BpcmV3cC9saXZlL3dwLWNvbnRlbnQvdXBsb2Fkcy9zaXRlcy8zNC8yMDIwLzEwL2NoYXRlYXUtaGF1dHJpYW4tNzQtNjIweDQxMC5qcGcgNjIwdywgaHR0cHM6Ly9rZXlhc3NldHMudGltZWluY3VrLm5ldC9pbnNwaXJld3AvbGl2ZS93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMzQvMjAyMC8xMC9jaGF0ZWF1LWhhdXRyaWFuLTc0LTkyMHg2MDkuanBnIDkyMHcsIGh0dHBzOi8va2V5YXNzZXRzLnRpbWVpbmN1ay5uZXQvaW5zcGlyZXdwL2xpdmUvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzM0LzIwMjAvMTAvY2hhdGVhdS1oYXV0cmlhbi03NC0xMjIweDgwNy5qcGcgMTIyMHcsIGh0dHBzOi8va2V5YXNzZXRzLnRpbWVpbmN1ay5uZXQvaW5zcGlyZXdwL2xpdmUvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzM0LzIwMjAvMTAvY2hhdGVhdS1oYXV0cmlhbi03NC5qcGcgMTMwMHciIHNpemVzPSIobWF4LXdpZHRoOiA2MzBweCkgMTAwdncsIDYzMHB4IiAvPjxwIGlkPSJjYXB0aW9uLWF0dGFjaG1lbnQtNDQ1NjMzIiBjbGFzcz0id3AtY2FwdGlvbi10ZXh0Ij5DaMOidGVhdSBIYXV0LVJpYW4gaGFydmVzdCAyMDIwPC9wPjwvZGl2Pgo8aDM+QXV0dW1uICYjODIxMTsgU2VwdGVtYmVyL09jdG9iZXI8L2gzPgo8cD5IYXJ2ZXN0IHByZXBhcmF0aW9ucyB3ZXJlIHJlbGF0aXZlbHkgcmVsYXhlZCwgZGVzcGl0ZSBoYXZpbmcgdG8gdGFrZSBpbnRvIGFjY291bnQgbmV3IHByb3RvY29scyB0byBrZWVwIHRlYW1zIGFwYXJ0LCBiZWNhdXNlIHRoZSB3ZWF0aGVyIGF0IHRoZSBlbmQgb2YgQXVndXN0IGFuZCBpbnRvIGVhcmx5IFNlcHRlbWJlciBzdGF5ZWQgZmluZSBhbmQgaG90LjwvcD4KPHA+VGhlIGZpcnN0IDE1IGRheXMgb2YgU2VwdGVtYmVyIHNhdyBoZWF0IHNwaWtlcyB0aGF0IGNhdXNlZCBzaWduaWZpY2FudCB5aWVsZCBsb3NzZXMgaW4gc29tZSBjYXNlcywgcGFydGljdWxhcmx5IGFzIHRoZSBuaWdodHMgYWxzbyByZW1haW5lZCByZWxhdGl2ZWx5IHdhcm0uPC9wPgo8cD5UaGUgZWFybGllc3QgcmVkIGdyYXBlcyBpbiB0aGUgTcOpZG9jIHdlcmUgcGlja2VkIG9uIHRoZSB3ZWVrIG9mIDcgU2VwdGVtYmVyLCB3aXRoIGhhcnZlc3QgYmVjb21pbmcgd2lkZXNwcmVhZCBieSAxNHRoLjwvcD4KPHA+QXQgdGhpcyBwb2ludCB0aGUgaGVhdCB3YXMgZXh0cmVtZSwgYW5kIHRoYXQgbWFkZSBpdCBlc3NlbnRpYWwgdG8gbW9uaXRvciB0ZW1wZXJhdHVyZXMgYW5kIGNvb2wgZ3JhcGVzIGRvd24gYXMgc29vbiBhcyB0aGV5IGhpdCB0aGUgY2VsbGFycy48L3A+CjxwPlBvdGVudGlhbCBhbGNvaG9scyB3ZXJlIGFsc28gaGlnaCBpbiB0aGVzZSBlYXJseSBsb3RzLCBwYXJ0aWN1bGFybHkgZm9yIHlvdW5nZXIgdmluZXMuIFBvdGVudGlhbCBhbGNvaG9sIHdhcyB1cCB0byAxNiVhYnYgaW4gc29tZSBjYXNlcywgYWNjb3JkaW5nIHRvIGNvbnN1bHRhbnQgQW50b2luZSBNZWRldmlsbGUuPC9wPgo8cD5Bem90ZSAobml0cm9nZW4pIGxldmVscyBkcm9wcGVkIGxvdyBhcyBhIHJlc3VsdCwgc28gZXN0YXRlcyBoYWQgdG8gYmUgdmlnaWxhbnQgdG8gZW5zdXJlIHllYXN0cyBoYWQgc3VmZmljaWVudCBudXRyaXRpb24gdG8gc3VjY2Vzc2Z1bGx5IHN0YXJ0IGZlcm1lbnRhdGlvbi4gT3ZlcmFsbCwgaG93ZXZlciwgdGhlIHF1YWxpdHkgb2YgdGhlIE1lcmxvdCBzZWVtcyBleHRyZW1lbHkgcG9zaXRpdmUuPC9wPgo8cD5DYWJlcm5ldCBTYXV2aWdub25zIGJlZ2FuIHRvIGJlIGJyb3VnaHQgaW4gb24gdGhlIHdlZWsgb2YgMjEgU2VwdGVtYmVyLCBieSB3aGljaCB0aW1lIEF1dHVtbiBoYWQgdmVyeSBkZWZpbml0ZWx5IGFycml2ZWQuPC9wPgo8cD5Nb3N0IHJlZCBoYXJ2ZXN0cyBoYWQgZmluaXNoZWQgdXAgb24gYm90aCBMZWZ0IGFuZCBSaWdodCBCYW5rIGJ5IHRoZSBlbmQgb2YgU2VwdGVtYmVyLCBwYXJ0aWN1bGFybHkgYWZ0ZXIgZm9yZWNhc3RzIHN1Z2dlc3RlZCB1cCB0byAxMDBtbSBvZiByYWluIGNvbWluZyBpbiBvdmVyIG9uZSB3ZWVrZW5kLiBJbiB0aGUgZW5kLCBtb3N0IHBlb3BsZSBnb3QgYXdheSB3aXRoIDYwbW0uPC9wPgo8cD5UaGUgTcOpcmlnbmFjIHdlYXRoZXIgc3RhdGlvbiByZWNvcmRlZCBqdXN0IDklIG1vcmUgcmFpbmZhbGwgdGhhbiBhdmVyYWdlIGluIFNlcHRlbWJlciwgd2l0aCBhIGZpbmFsIGNvdW50IG9mIGp1c3Qgb3ZlciA5MG1tIGFuZCB3aXRoIGEgbGl0dGxlIG1vcmUgcmFpbiBmYWxsaW5nIGluIHRoZSBNw6lkb2MgdGhhbiBvbiB0aGUgUmlnaHQgQmFuay4gUGVzc2FjLUzDqW9nbmFuIHJlbWFpbmVkIHJlbGF0aXZlbHkgZHJ5LjwvcD4KPHA+VGhlIGVhcmx5IHNlYXNvbiB3aWxsIGRlZmluaXRlbHkgaGF2ZSBoZWxwZWQgaGVyZSBpbiBlbnN1cmluZyBzdWZmaWNpZW50IG1hdHVyaXR5IGluIHRoZSBncmFwZXMuPC9wPgo8cD5FZG91YXJkIE1vdWVpeCBhdCBFdHMgSlAgTW91ZWl4IHJlcG9ydGVkIGZpbmlzaGluZyBhbGwgcGlja2luZyBpbiBvbmUgd2VlaywgdGhlIHF1aWNrZXN0IGV2ZXIsIHdpdGggdGhlIGxhc3QgZmV3IGRheXMg4oCYc3BlZWRlZCB1cCBieSB0aGUgdGhyZWF0IG9mIHJhaW7igJkuPC9wPgo8cD5UaGUgbGFzdCBncmFwZXMgYXQgTMOpb3ZpbGxlIExhcyBDYXNlcyBpbiBTdC1KdWxpZW4gd2VyZSBicm91Z2h0IGluIG9uIDI5IFNlcHRlbWJlciwgd2l0aCBwb3RlbnRpYWwgYWxjb2hvbHMgb2YgYmV0d2VlbiAxMy41ICYjODIxMTsgMTMuOCVhYnYuPC9wPgo8cD5TYXV0ZXJuZXMgYW5kIEJhcnNhYyBiZWdhbiBoYXJ2ZXN0aW5nIHRoZSBmaXJzdCBiZXJyaWVzIHRoZSB3ZWVrIG9mIDcgU2VwdGVtYmVyLCB3aXRoIGZhciBtb3JlIGpvaW5pbmcgb24gdGhlIHdlZWsgb2YgMTMgU2VwdGVtYmVyLCBidXQgYXQgdGhpcyBwb2ludCB0aGUgcGlja2luZyBjb21wcmlzZWQgZXNzZW50aWFsbHkgcGFzc2VyaWxsYWdlIChzbyBuYXR1cmFsbHkgc2hyaXZlbGxlZCBncmFwZXMpIGR1ZSB0byB0aGUgZHJvdWdodC4gQWx0aG91Z2ggaGVhbHRoeSwgdGhlc2UgZ3JhcGVzIGFyZSBsaWtlbHkgdG8gY29tcHJpc2UgbWFpbmx5IHRoZSBzZWNvbmQgd2luZXMuPC9wPgo8cD5UaGUgbmlnaHQgb2YgRnJpZGF5IDE4IFNlcHRlbWJlciBhbmQgdGhyb3VnaCBTYXR1cmRheSBzYXcgYXJvdW5kIDVtbSBvZiByYWluZmFsbCwgd2hpY2ggaGVscGVkIHRvIHVubG9jayB0aGUgYm90cnl0aXMgZm9yIGhhcnZlc3Rpbmcgb3ZlciB0aGUgd2VlayBvZiAyMXN0LiBGdXJ0aGVyIHJhaW4gaGVsZCB1cCBwaWNraW5ncywgaG93ZXZlciwgd2l0aCBtb3N0IGVzdGF0ZXMgYnJpbmdpbmcgaW4gYW5vdGhlciByb3VuZCBvbiAyOCBTZXB0ZW1iZXIuPC9wPgo8cD5CeSB0aGlzIHBvaW50IGFyb3VuZCB0d28tdGhpcmRzIG9mIHRoZSBncmFwZXMgaGFkIGJlZW4gcGlja2VkLCBidXQgZWFybHkgcmFpbnMgYWdhaW4gaW4gT2N0b2JlciBoYXZlIG1lYW50IGFub3RoZXIgcGVyaW9kIG9mIHdhaXRpbmcuIERyaWVyIGNvbmRpdGlvbnMgcmV0dXJuZWQgZnJvbSA5IE9jdG9iZXIgYW5kIHRoaW5ncyBhcmUgZXhwZWN0ZWQgdG8gYmUgZmluaXNoZWQgb3ZlciB0aGUgd2Vla2VuZCBvZiAxNy8xOCBPY3RvYmVyLjwvcD4KPHA+4oCYUGF0aWVuY2UsIHBhdGllbmNlLCBwYXRpZW5jZeKAmSwgaXMgaG93IFZpbmNlbnQgTGFiZXJnw6hyZSwgb2YgQ2jDonRlYXUgUmF5bmUgVmlnbmVhdSwgZGVzY3JpYmVkIHRoZSBzd2VldCB3aW5lIGhhcnZlc3QgdG8gYSBsb2NhbCBuZXdzcGFwZXIuPC9wPgo8aDM+WWllbGQ8L2gzPgo8cD5ZaWVsZHMgYXJlIGV4cGVjdGVkIHRvIGJlIGEgbGl0dGxlIGJlbG93IGF2ZXJhZ2UsIGxhcmdlbHkgYmVjYXVzZSBvZiBtaWxkZXcgZWFybHkgaW4gdGhlIHNlYXNvbiBhbmQgdGhlIGhlYXQgc3Bpa2VzIG9mIGVhcmx5IFNlcHRlbWJlciBsZWFkaW5nIHRvIHNtYWxsIGNvbmNlbnRyYXRlZCBiZXJyaWVzLiBEYXZpZCBQZXJuZXQsIG9mIFNvdml2aW5zLCBlc3RpbWF0ZXMgdGhhdCBvdmVyYWxsIHRoZSBCb3JkZWF1eCB5aWVsZCB3aWxsIGNvbWUgaW4gMjAlIGJlbG93IGF2ZXJhZ2UuPC9wPgo8cD5BcyBldmVyLCB0aGUgcGljdHVyZSB2YXJpZXMgYWNyb3NzIHRoZSByZWdpb24uPC9wPgo8cD5DbGF1ZGUgR29kaW4sIHByZXNpZGVudCBvZiBNw6lkb2MvSGF1dC1Nw6lkb2MvTGlzdHJhYywgcmVwb3J0ZWQgdGhhdCB0aGUgaGVhdCBtZWFudCBhIGNvbmNlbnRyYXRpb24gYW5kIHN1YnNlcXVlbnQgbG9zcyBvZiB5aWVsZHMgb2YgYXJvdW5kIDIwLTMwJSwgd2l0aCBmaW5hbCB2b2x1bWVzIHRvIGJlIGJldHdlZW4gMzBobCBhbmQgNDBobCBkZXBlbmRpbmcgb24gdGhlIGVzdGF0ZS48L3A+CjxwPlBoaWxpYmVydCBQZXJyaW4sIHByZXNpZGVudCBvZiBQZXNzYWMtTMOpb2duYW4sIGV4cGVjdHMgYXJvdW5kIDI1JSBsb3dlciB5aWVsZHMgdGhhbiBhdmVyYWdlLCBwYXJ0aWN1bGFybHkgd2l0aCB0aGUgcmVkIHdpbmVzLCB3aXRoIEplYW4tQ2hyaXN0b3BoZSBNYXUgYXQgQ2jDonRlYXUgQnJvd24gc3VnZ2VzdGluZyBoaXMgd2hpdGUgaGFydmVzdCBzaG91bGQgY29tZSBpbiBhdCBhcm91bmQgMzhobC9oYSwgY29tcGFyZWQgdG8gNDhobC9oYSBpbiAyMDE5LjwvcD4KPHA+VGhlc2UgYXJlIHNpbWlsYXIgdG8gcHJvamVjdGVkIGZpZ3VyZXMgZnJvbSBNYXlldWwgbOKAmUh1aWxsaWVyIGF0IHRoZSBHcmF2ZXMgd2luZSBzeW5kaWNhdGUsIGFsdGhvdWdoIGl0IGFzY3JpYmVkIHNvbWUgbG93IHlpZWxkc8KgIHRvIHRoZSBoYWlsc3Rvcm1zIG9mIEFwcmlsLjwvcD4KPHA+SmVhbi1KYWNxdWVzIER1Ym91cmRpZXUsIGluIFNhdXRlcm5lcywgZXhwZWN0cyB5aWVsZHMgdG8gYmUgc29tZXdoZXJlIGJldHdlZW4gNDAlIGFuZCA3MCUgbGVzcyB0aGFuIGF2ZXJhZ2UsIGJ1dCBhcyBldmVyIHRoaXMgd2lsbCB2YXJ5IHdpZGVseSBiZXR3ZWVuIHByb3BlcnRpZXMuPC9wPgo8cD5PdmVyIGluIFN0LUVtaWxpb24gYW5kIFBvbWVyb2wsIHlpZWxkcyBzZWVtIHRvIHZhcnkgZGVwZW5kaW5nIG9uIHRoZSBzZWN0b3IuIExhIERvbWluaXF1ZSBleHBlY3RzIGJldHdlZW4gMzUgJiM4MjExOyA0MGhsL2hhLCBhIGxpdHRsZSB1bmRlciBsYXN0IHllYXLigJlzIDQzaGwvaGEsIHdpdGggSmVhbiBGYXVyZSBjbG9zZXIgdG8gNDJobC9oYS48L3A+CjxwPkFsc28gd29ydGggbm90aW5nIHRoYXQgQU9DIEJvcmRlYXV4L0JvcmRlYXV4IFN1cMOpcmlldXIgaGF2ZSBzZXQgdGhlaXIgbWF4aW11bSB5aWVsZHMgbG93ZXIgdGhhbiB1c3VhbCB0aGlzIHllYXIgdG8gZGVhbCB3aXRoIGlzc3VlcyBvZiBzdXBwbHkgYW5kIGRlbWFuZCDigJMgZG93biB0byA1MGhsL2hhIGluc3RlYWQgb2YgNTRobC9oYSBmb3IgQU9DIEJvcmRlYXV4LjwvcD4KPHA+VGhlIE9ERyAoPGVtPk9yZ2FuaXNtZSBkZSBEZWZlbnNlIGV0IEdlc3Rpb248L2VtPikgb2YgQU9DIEJvcmRlYXV4L0JvcmRlYXV4IFN1cMOpcmlldXIgaXMgYWxzbyBhbGxvd2luZyB0aGUgZGVjbGFzc2lmaWNhdGlvbiBvZiAxMCUgb2YgaXRzIHJlZCB3aW5lIHByb2R1Y3Rpb24gaW50byBJR1AgKFZpbnMgZGUgUGF5cykgdG8gZnVydGhlciByZWxpZXZlIHRoZSBzdHJhaW4gb2YgdW5zb2xkIHN0b2NrcyBvZiB3aW5lLjwvcD4KPHA+QW5uLUPDqWNpbGUgRGVsYXZhbGxhZGUsIGhlYWQgb2YgdGhlIGVjb25vbWljIHNlcnZpY2UgYXQgdGhlIEJvcmRlYXV4IFdpbmUgQnVyZWF1LCBlc3RpbWF0ZWQgdGhhdCB1bnNvbGQgc3RvY2tzIGhhZCByZWFjaGVkIDIuMiBtaWxsaW9uIGhlY3RvbGl0cmVzIGZvciB0aGUgMjAxOS0gMjAyMCBjYW1wYWlnbiAoYSByaXNlIG9mIDIxJSBpbiBvbmUgeWVhciksIGFuZCBmb3IgQm9yZGVhdXggU3Vww6lyaWV1ciAxLjA1IG1pbGxpb24gaGVjdG9saXRyZXMgKGEgcmlzZSBvZiAxNCUpLjwvcD4KPGgzPlN0eWxlPC9oMz4KPHA+V2hhdCBkb2VzIGFsbCBvZiB0aGlzIG1lYW4gZm9yIHN0eWxlPzwvcD4KPHA+SSBoYXZlIHRhc3RlZCB0aHJvdWdoIGEgbnVtYmVyIG9mIHNhbXBsZXMgZnJvbSBiYXJyZWwgb3IgdmF0cy4gVGhvc2Ugb24gc2FuZHkgc29pbHMgaGF2ZSBzaG93biBzb21lIGdyZWVuIG5vdGVzIHdpdGggdW5kZXJyaXBlIHRhbm5pbnMsIGJ1dCBvdmVyYWxsIGVhcmx5IHRhc3RpbmdzIGFyZSBmdWxsIG9mIGJyaWdodCBmcnVpdHMgYW5kIHNob3cgZ3JlYXQgcG90ZW50aWFsLjwvcD4KPHA+QWNyb3NzIHRoZSByZWdpb24gc2tpbnMgYXJlIHRoaWNrLCB3aXRoIHBsZW50eSBvZiBjb2xvdXIgYW5kIGhpZ2ggbGV2ZWxzIG9mIHRhbm5pbnMg4oCTIGluIHNvbWUgY2FzZXMgYSBsaXR0bGUgcnVzdGljIGR1ZSB0byB0aGUgZmluYWwgcmFpbnMuIFRoaXMgbWVhbnMgZXh0cmFjdGlvbiBuZWVkcyB0byBiZSBjYXJlZnVsbHkgaGFuZGxlZCBpbiB0aGUgY2VsbGFyLjwvcD4KPHA+RWRvdWFyZCBNb3VlaXggZm91bmQgUGV0aXQgVmVyZG90IHdhcyBtb3N0IGFmZmVjdGVkIGJ5IHRoZSBkcm91Z2h0IGVhcmxpZXIgaW4gdGhlIHN1bW1lciwgc28geW91IGFyZSBsaWtlbHkgdG8gZmluZCBsZXNzIG9mIHRoYXQgZ3JhcGUgaW4gdGhlIGJsZW5kcyBvZiB0aGUgTW91ZWl4IHdpbmVzIGluIDIwMjAuPC9wPgo8cD5IZSBhbHNvIHJlcG9ydGVkIHRoYXQgdGhlIHByZXNzIHdpbmUgd2lsbCBiZSB1c2VkIGV4dHJlbWVseSBzcGFyaW5nbHkgaWYgYXQgYWxsLCBiZWNhdXNlIHRoZSBoaWdoIHRhbm5pbnMgdXBzZXQgdGhlIGJhbGFuY2Ugb2YgdGhlIHdpbmVzIGluIHRoZWlyIGVhcmx5IHRhc3RpbmdzLjwvcD4KPHA+QW50b2luZSBHaW1iZXJ0LCBhdCBMYXMgQ2FzZXMsIHJlcG9ydGVkIHNpbWlsYXJseSBwb3dlcmZ1bCB0YW5uaW5zIHRoYXQgbWVhbnQgdGhleSB3ZXJlIGxpa2VseSB0byB1c2UgbGVzcyBwcmVzcyB3aW5lIGluIHNvbWUgY2FzZXMsIOKAmGJ1dCBvbiBvdGhlciBwbG90cyB0aGUgcHJlc3MgaXMgcGVyZmVjdCwgc28gaXQgcmVhbGx5IGlzIGEgY2FzZSBvZiBhbG1vc3QgZm9sbG93aW5nIHRoaW5ncyBidW5jaCBieSBidW5jaOKAmS48L3A+CjxwPlBhc2NhbCBDaGF0b25uZXQgZWNob2VzIG1hbnkgd2hlbiBoZSBzYXlzIGl0IGlzIGEgJiM4MjE2O3RlY2huaWNhbCwgd2luZW1ha2Vy4oCZcyB2aW50YWdlJiM4MjE3OywgYnV0IG9uZSB3aGVyZSB0aGUgY29tcGxleGl0eSBvZiBCb3JkZWF1eOKAmXMgc29pbCB0eXBlcyB3aWxsIHNob3cgdGhlaXIgc3RyZW5ndGguPC9wPgo8cD7igJhTbWFsbCBlc3RhdGVzIG9uIG9uZSB0eXBlIG9mIHNvaWwgbWF5IGhhdmUgaGFkIGRpZmZpY3VsdGllcyBpZiB1bmx1Y2t5LCBidXQgbW9zdCBiaWcgZXN0YXRlcyBpbiBCb3JkZWF1eCBoYXZlIHNldmVyYWwgc29pbCB0eXBlcywgYW5kIHNvIGFyZSBiZXR0ZXIgcHJvdGVjdGVkLCYjODIxNzsgaGUgc2F5cy48L3A+CjxwPkRhdmlkIFBlcm5ldCwgb2YgU292aXZpbnMsIGlzIHNpbWlsYXJseSBvcHRpbWlzdGljIGFzIHRvIHF1YWxpdHksIOKAmEl04oCZcyBhIGdyZWF0IHZpbnRhZ2Ugd2l0aCBhIGxvdCBvZiB0YW5uaWMgc3RydWN0dXJlIGluIHRoZSBNZXJsb3QgYXMgd2VsbCBhcyBpbiB0aGUgQ2FiZXJuZXRzLiBFdmVuIGlmIHRoZSB2aW50YWdlIHdhcyBlYXJseSB3aXRoIGEgc3Vubnkgc3VtbWVyLCB0aGUgZmxhdm91cnMgcmVtYWluIHByZXR0eSBmcmVzaC48L3A+CjxwPiYjODIxNjtbVGhlcmUgaXMgYV0gbG90IG9mIHJpcGVuZXNzIGJ1dCBhbHNvIGZyZXNobmVzcywgZXNwZWNpYWxseSBpbiB0aGUgQ2FiZXJuZXRzLiBNZXJsb3Qgb24gbGltZXN0b25lIG9uIHRoZSBSaWdodCBCYW5rIGhhcyBrZXB0IGEgdmVyeSBnb29kIGJhbGFuY2UsIHNvbWUgdGVuc2lvbiwgbG90cyBvZiB0YW5uaW5zIGJ1dCBlbGVnYW50IGluIGNoYXJhY3RlciAoY2xvc2VyIHRvIDIwMTYgdGhhbiAyMDE1IEkgZmluZCwgd2l0aCBhIGxpdHRsZSBtb3JlIGNvbmNlbnRyYXRpb24gdGhhbiBpbiAyMDE2LCBwcm9iYWJseSBiZWNhdXNlIG9mIHRoZSBsb3dlciB5aWVsZCB0aGlzIHllYXIp4oCZLjwvcD4KPGgzPuKApiBhbmQgQ292aWQ8L2gzPgo8cD5UaGUgaW1wYWN0IG9mIENvdmlkLTE5IHVuZG91YnRlZGx5IGFmZmVjdGVkIHRoZSAyMDIwIHNlYXNvbiwgbWFpbmx5IGluIHRlcm1zIG9mIG1hbnBvd2VyLiBNYW55IGVzdGF0ZXMgd2hvIHVzdWFsbHkgaGFydmVzdCBoYWxmIGJ5IGhhbmQgYW5kIGhhbGYgYnkgbWFjaGluZSBoYXZlIGRvbmUgYWxsIGJ5IG1hY2hpbmUgYmVjYXVzZSBvZiB0aGUgZGlmZmljdWx0aWVzIGluIGdldHRpbmcgc3VmZmljaWVudCBwaWNrZXJzLiBPdGhlcnMgc2ltcGx5IGhhZCB0byByZWFycmFuZ2UgdGhpbmdzIGJ5IHNwbGl0dGluZyBpbnRvIHNtYWxsZXIgZ3JvdXBzLjwvcD4KPHA+RGFtaWVuIEJhcnRvbiwgYXQgTMOpb3ZpbGxlIEJhcnRvbiwgc2F5cywg4oCYMjAyMCB3aWxsIGJlIHRoZSBmaXJzdCB5ZWFyIGV2ZXIgdGhhdCB3ZSBkb27igJl0IGhvc3QgaGFydmVzdCBsdW5jaGVzIGF0IEzDqW92aWxsZSBCYXJ0b24uIEluc3RlYWQsIGl04oCZcyBsaWtlIGhhdmluZyB0aGUgc3dvcmQgb2YgRGFtb2NsZXMgaGFuZ2luZyBvdmVyIG91ciBoZWFkcy4gSW4gYSBub3JtYWwgeWVhciB3ZSBoYXZlIG91ciBvd24gcGlja2VycyB3aG8gbGl2ZSBsb2NhbGx5LiBNYW55IGhhdmUgYmVlbiBjb21pbmcgZXZlcnkgU2VwdGVtYmVyIGZvciB0aGUgcGFzdCBkZWNhZGUgb3IgbW9yZS4gRXZlcnlvbmUga25vd3MgZWFjaCBvdGhlciwgYW5kIHdlIHN0YXJ0IHRoZSBkYXkgd2l0aCBhIG1vcm5pbmcgY29mZmVlLCB0aGVuIGhlYWQgb3V0IHRvIHRoZSB2aW5lcywgaGF2ZSBhIGJyZWFrIG1pZC1tb3JuaW5nLCB0aGVuIGx1bmNoIGFsbCB0b2dldGhlciwgdGhlbiBiYWNrIG91dCwgc3RvcHBpbmcgZm9yIG9uZSBtb3JlIGJyZWFrIGJlZm9yZSBoZWFkaW5nIGhvbWUuPC9wPgo8cD4mIzgyMTY7VGhpcyB5ZWFyIHdlIGFyZSB1c2luZyBleHRlcm5hbCB0ZWFtcyBydW4gYnkgY29udHJhY3RvcnMgd2hvIGNhbiBlbnN1cmUgZWZmZWN0aXZlIHByb3RlY3Rpb25zIG9mIHdvcmtlcnMsIGFuZCBoYXZlIGVtcGxveWVkIG9uZSBwZXJzb24gd2hvc2UgZW50aXJlIGpvYiBpcyBlbnN1cmluZyB0aGUgcmlnaHQgcGVvcGxlIGRpc2luZmVjdCB0aGVpciBoYW5kcyBhdCB0aGUgcmlnaHQgdGltZSHigJkuPC9wPgo8ZGl2IGNsYXNzPSJpbmplY3Rpb24iPjwvZGl2Pgo8cD5PdmVyIG9uIHRoZSBSaWdodCBCYW5rLCBhdCBDYW5vbiBhbmQgQmVybGlxdWV0LCBhbmQgZm9yIHRoZSBNb3VlaXggZmFtaWx5IGluIFBvbWVyb2wsIHNtYWxsZXIgdmluZXlhcmQgc3VyZmFjZXMgbWVhbnQgdGhleSB3ZXJlIGFibGUgdG8gd29yayB3aXRoIHRoZWlyIHVzdWFsIHBpY2tpbmcgdGVhbXMsIGJ1dCBwcm90b2NvbHMgc3RpbGwgYXBwbGllZCB0aGF0IG1lYW50IHRoZSB1c3VhbCBjb252aXZpYWwgaGFydmVzdCBsdW5jaGVzIHdlcmUgbm90IHBvc3NpYmxlLCBvciBvbmx5IGluIG11Y2ggcmVkdWNlZCBmb3JtIHdpdGggc29jaWFsIGRpc3RhbmNpbmcgcmlnb3JvdXNseSBhcHBsaWVkLjwvcD4KPHA+4oCYQW5kIHlldCB3ZSBzdGlsbCBoYWQgdGhlIGRhaWx5IGJhcmJlcXVlcyzigJkgc2F5cyBFZG91YXJkIE1vdWVpeCwg4oCYd2l0aCBmb29kIGNvb2tlZCBvdmVyIHZpbmUgc2FybWVudHMuIEFuZCB0aGVyZSBpcyBzdGlsbCB0aGUgZmVlbGluZyBvZiBzYXRpc2ZhY3Rpb24gb25jZSBhbGwgdGhlIGdyYXBlcyBoYXZlIGJlZW4gc2FmZWx5IGJyb3VnaHQgaW4gdG8gdGhlIGNlbGxhci7igJk8L3A+CjxwPgo="}