Re: [testdrivendevelopment] "bottom-up" TDD and common behaviors
"Daniel Olewski" <[email protected]> Fri, 6 Dec 2019 02:00:42 +0000
| Newsgroups | gmane.comp.programming.test-driven-development |
|---|---|
| Message-ID | <[email protected]> |
--_000_FA3852B965C14794A6C54E18976E34B9msncom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SW4gbXkgZXhwZXJpZW5jZSB0aGUgc2VwYXJhdGlvbiBvZiBhcHBsaWNhdGlvbiBsb2dpYyBhbmQg ZXh0ZXJuYWxzIGlzIG11Y2ggZmFzdGVyIGFuZCBjaGVhcGVyIHRoYW4gbW9zdCB0aGluay4gRXZl biBtb3JlIGluY2x1ZGluZyBhbnkgbG9uZy10ZXJtIGJlbmVmaXRzIHdoZW4gdGhpbmdzIGNoYW5n ZS4gSXTigJlzIGp1c3Qgb25lIG9mIHRoZSBjb2RlIGRlc2lnbiBhY3Rpdml0aWVzIHdoaWNoIHdl IGRvIGFueXdheXMuIFBheXMgb2ZmIGluIHdlZWtzIOKAkyBub3QgeWVhcnMg4oCmIC4NCg0KYHN0 b3JlLXJlY29yZCgpYCB0byBtZSBpbXBsaWVzIHN0b3JpbmcgaW4gYSBzaW5nbGUgZGIgcmVjb3Jk LCB3aGljaCBsZWFrcyDigJhkYuKAmSB0ZXJtIGludG8gdGhpcyBzdXJmYWNlLg0KYGVtcGxveWVl X3N0b3JhZ2Uuc3RvcmUoZW1wbG95ZWUpYCBpcyBtb3JlIGdlbmVyYWwg4oCTIGRvbuKAmXQgY2Fy ZSBpZiBpdOKAmXMgc3RvcmluZyBpbiBhIHJlY29yZCwgbWFueSByZWNvcmRzIG9yIHNvbWV3aGVy ZSBlbHNlLiBUaGF04oCZcyB3aHkgSSBwcmVmZXIgdGhlIGxhdHRlci4NCg0KZW1wbG95ZWUuc3Rv cmUoKSDigJMgdGhpcyBzZWVtcyB0byBpbXBseSB0aGF0IHRoZSBlbXBsb3llZSBuZWVkcyB0byBr bm93IGhvdyB0byBzdG9yZS9yZXRyaWV2ZSBpdHNlbGY/IFRoYXTigJlzIGEgY291cGxpbmcgSeKA mWQgcmF0aGVyIGF2b2lkIOKAkyBJ4oCZZCByYXRoZXIgY291cGxlIHRvIGEgc2hhcGUgb2YgZGF0 YSAoRW1wbG95ZWUpIGFuZCBwYXNzIGl0IGFyb3VuZCBmcmVlbHkgYWNyb3NzIGNsYXNzZXMvcHJv Y2Vzc2VzL2xhbmd1YWdlcy9vcGVyYXRpbmcgc3lzdGVtL2NvbXB1dGVycyDigKYgLiBFbXBsb3ll ZSB3b3VsZCB0eXBpY2FsbHkgYWxyZWFkeSBoYXZlIGEgc2luZ2xlIHJlc3BvbnNpYmlsaXR5IG9m IGtlZXBpbmcgaXRzZWxmIHZhbGlkICh3aGF04oCZcyByZXF1aXJlZC9vcHRpb25hbCwgdmFsaWQg dmFsdWVzLCBldGMuKSDigJMgd2h5IGFkZCBhbm90aGVyIHJlc3BvbnNpYmlsaXR5IGFuZCBtb3Jl IGNvdXBsaW5nPw0KDQpGcm9tOiA8dGVzdGRyaXZlbmRldmVsb3BtZW50QGdyb3Vwcy5pbz4gb24g YmVoYWxmIG9mIFN0ZXZlIEdvcmRvbiA8c2dvcmRvbnBoZEBnbWFpbC5jb20+DQpSZXBseS1Ubzog InRlc3Rkcml2ZW5kZXZlbG9wbWVudEBncm91cHMuaW8iIDx0ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRA Z3JvdXBzLmlvPg0KRGF0ZTogVGh1cnNkYXksIERlY2VtYmVyIDUsIDIwMTkgYXQgNTozOCBQTQ0K VG86ICJ0ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRAZ3JvdXBzLmlvIiA8dGVzdGRyaXZlbmRldmVsb3Bt ZW50QGdyb3Vwcy5pbz4NClN1YmplY3Q6IFJlOiBbdGVzdGRyaXZlbmRldmVsb3BtZW50XSAiYm90 dG9tLXVwIiBUREQgYW5kIGNvbW1vbiBiZWhhdmlvcnMNCg0KV2Ugc2hvdWxkIGxpc3RlbiB0byBv dXIgcGF5aW5nIGN1c3RvbWVycyB3aG8gbWF5IGhhdmUgc29tZSB0aG91Z2h0cyBvbiB0aGUgZnV0 dXJlIG9mIHRoZWlyIGNvbXBhbnkgYW5kIHRoZWlyIGFwcGxpY2F0aW9uLiAgVGhleSBtYXkgbm90 IHdhbnQgdG8gcGF5IGZvciB0aGUgZXh0cmEgdGltZSBhbmQgZWZmb3J0IHRvIGFic3RyYWN0IGEg ZnJhbWV3b3JrIHRoYXQgdGhleSBtYXkgaGF2ZSBjaG9zZW4gZm9yIGEgc3BlY2lmaWMgYnVzaW5l c3MgcmVhc29uLCAgVGhleSBtYXkgcHJlZmVyIHRvIGJlIG1haW50YWluaW5nIGEgZmFtaWx5IG9m IGFwcGxpY2F0aW9ucyB0aGF0IGxldmVyYWdlIHRoZSBzYW1lIGZyYW1ld29yayBpbiB0aGUgb2J2 aW91cyBkaXJlY3Qgd2F5IGluc3RlYWQgb2YgYSBmYW1pbHkgb2YgYXBwbGljYXRpb25zIHdoZXJl IGVhY2ggdGVhbSBkZWNpZGVzIHRvIGFic3RyYWN0IHRoYXQgZnJhbWV3b3JrIGF3YXkgaW4gc3Vi dGx5IGRpZmZlcmVudCB3YXlzLg0KDQpIb3dldmVyLCBpZiBJIGFtIGFic3RyYWN0aW5nIG91dCB0 aGUgZGF0YWJhc2UsIEkgbXVjaCBwcmVmZWN0IGVtcGxveWVlLnN0b3JlKCkgb3ZlciBlbXBsb3ll ZS1zdG9yYWdlLnN0b3JlX3JlY29yZCgpLiAgV2h5IHNob3VsZCBJIGltcG9zZSAiX3N0b3JhZ2Ui IGFuZCAiX3JlY29yZCIgb24gY29kZSB0aGF0IGlzIGFic3RyYWN0aW5nIHRoZSBkYXRhYmFzZSBk ZXRhaWxzPw0KDQpPbiBUaHUsIERlYyA1LCAyMDE5IGF0IDU6NDcgUE0gRGFuaWVsIE9sZXdza2kg PGRvbGV3c2tpQG1zbi5jb208bWFpbHRvOmRvbGV3c2tpQG1zbi5jb20+PiB3cm90ZToNCkFsbCBm cmFtZXdvcmtzIGNoYW5nZSBldmVudHVhbGx5LCBvciBzdG9wIHdvcmtpbmcgd2hlbiBzYXkgT1Mg dmVyc2lvbiBpcyB1cGRhdGVkLiBNYW55IG9mIHVzIGhhdmUgbGVhcm5lZCB0aGF0IHRoZSBoYXJk IHdheSDigKYgLg0KSW52ZW50aW5nIGEgbmV3IFJEQk1TIGludGVyZmFjZSDigJMgdGhhdCBtZWFu cyBsZWFraW5nIFJEQk1TIHdvcmxkIGludG8geW91ciBhcHBsaWNhdGlvbiBkb21haW4uIEFuZCBw ZXJoYXBzIGFsc28gaW1wbGllcyB0aGUgYmlnZ2VyIHdvcmsgb2YgY292ZXJpbmcgYWxsIG9mIFJE Qk1TIGZ1bmN0aW9uYWxpdHkuIFdoZW4gd2UgdXNlIFJEQk1TIGl04oCZcyBqdXN0IGZvciBzdG9y YWdlIG9mIGRhdGEg4oCmIHRvZGF5LiBUb21vcnJvdyBpdCBjYW4gYmUgYSBibG9iIGluIHRoZSBj bG91ZCwgbmV4dCB5ZWFyIGl0IHdpbGwgYmUgc29tZXRoaW5nIGRpZmZlcmVudC4gSSBkbyB3YW50 IG15IGNvZGUgdG8gYmUgZmxleGlibGUgZm9yIGFsbCB0aG9zZS4gT25lIHdheSB0byBkbyB0aGF0 IGlzIHRvIGlzb2xhdGUgb24gdGhlIGVkZ2Ugb2YgaG93IHRoZSBhcHAgZG9tYWluIGxvZ2ljIHVz ZXMgdGhlIHN0b3JhZ2UuIFRoaW5rIGBlbXBsb3llZV9zdG9yYWdlLnN0b3JlX2VtcGxveWVlKClg IHZzIGByZGJtcy5pbnNlcnRfcmVjb3JkKClgLiBBIG51YW5jZSwgYnV0IGFuIGltcG9ydGFudCBv bmUgSU1PLiBPbmNlIHdlIGhhdmUgdGhhdCDigJMgdGhlIGFwcCB3b27igJl0IGNhcmUgaG93IHRo ZSBzdG9yYWdlIGlzIGltcGxlbWVudGVkIGFuZCBhIHNpbXBsZSDigJhpbi1tZW1vcnkgZW1wbG95 ZWUgc3RvcmFnZeKAmSBvciDigJhsb2NhbC1maWxlIGVtcGxveWVlIHN0b3JhZ2XigJkgd2lsbCBz dWZmaWNlIGZvciB1bml0IG9yIHNvbWUgaW50ZWdyYXRpb24gdGVzdGluZyAuLg0KDQpGcm9tOiA8 dGVzdGRyaXZlbmRldmVsb3BtZW50QGdyb3Vwcy5pbzxtYWlsdG86dGVzdGRyaXZlbmRldmVsb3Bt ZW50QGdyb3Vwcy5pbz4+IG9uIGJlaGFsZiBvZiBCcmlhbiBNYXJpY2sgPG1hcmlja0BleGFtcGxl ci5jb208bWFpbHRvOm1hcmlja0BleGFtcGxlci5jb20+Pg0KUmVwbHktVG86ICJ0ZXN0ZHJpdmVu ZGV2ZWxvcG1lbnRAZ3JvdXBzLmlvPG1haWx0bzp0ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRAZ3JvdXBz LmlvPiIgPHRlc3Rkcml2ZW5kZXZlbG9wbWVudEBncm91cHMuaW88bWFpbHRvOnRlc3Rkcml2ZW5k ZXZlbG9wbWVudEBncm91cHMuaW8+Pg0KRGF0ZTogVGh1cnNkYXksIERlY2VtYmVyIDUsIDIwMTkg YXQgNDoyMSBQTQ0KVG86ICJ0ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRAZ3JvdXBzLmlvPG1haWx0bzp0 ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRAZ3JvdXBzLmlvPiIgPHRlc3Rkcml2ZW5kZXZlbG9wbWVudEBn cm91cHMuaW88bWFpbHRvOnRlc3Rkcml2ZW5kZXZlbG9wbWVudEBncm91cHMuaW8+Pg0KU3ViamVj dDogUmU6IFt0ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRdICJib3R0b20tdXAiIFRERCBhbmQgY29tbW9u IGJlaGF2aW9ycw0KDQpUaGF0IHJhaXNlcyBhbiBpbnRlcmVzdGluZyBnZW5lcmFsIHF1ZXN0aW9u Lg0KDQoiVGhlIHRlY2hub2xvZ3kiIGlzIGEgd2ViIGZyYW1ld29yayBhbmQgaXRzIGxpbmtlZCBk YXRhYmFzZSBmcmFtZXdvcmsuDQoNClRoZSByaXNrIG9mIHRob3NlIGNoYW5naW5nIGluIGEgd2F5 IHRoYXQgYnJlYWtzIGEgbG90IG9mIG9sZCBjb2RlIGlzIHByZXR0eSBzbWFsbC4gSG93IG11Y2gg ZWZmb3J0IHNob3VsZCB3ZSBzcGVuZCBpbnN1bGF0aW5nIG91ciBjb2RlIGFnYWluc3QgbG93LXBy b2JhYmlsaXR5IGV2ZW50cz8NCg0KSXNvbGF0aW5nIG15IGNvZGUgZnJvbSBFY3RvIHdvdWxkIGlu IGVmZmVjdCBtZWFuIGludmVudGluZyBhICpuZXcqIGludGVyZmFjZSB0byBhIFJEQk1TLiBEb2Vz IGl0IHJlYWxseSBzZWVtIGxpa2VseSB0aGF0IEnigJlsbCBkbyB0aGF0IGJldHRlciB0aGFuIHRo ZSBFY3RvIGRlc2lnbmVycz8NCg0KUC5TLiBJIG5lZWQgdG8gc3BlbmQgc29tZSB0aW1lIHRoaW5r aW5nIGFib3V0IGhvdyBGUCBpZGVhcyBhbmQgT08gaWRlYXMgcGxheSB0b2dldGhlci4gTXkgb3Bp bmlvbiBoYXMgYmVlbiB0aGF0LCBsZWF2aW5nIGFzaWRlIGluaGVyaXRhbmNlLCB0eXBpY2FsIEZQ IGxhbmd1YWdlcyBhcmUgbm90IGRpZmZlcmVudCwgaW4gcHJhY3RpY2UsIHRoYW4gT08gbGFuZ3Vh Z2VzLiBCdXQgSSB3b25kZXIgaWYgdGhhdOKAmXMgcmlnaHQuDQoNCk9uIERlYyA0LCAyMDE5LCBh dCAxMjo0MyBBTSwgQXZpIEtlc3NuZXIgPGFrZXNzbmVyQGdtYWlsLmNvbTxtYWlsdG86YWtlc3Nu ZXJAZ21haWwuY29tPj4gd3JvdGU6DQoNClNvIHRoaXMgaXMgZGVmaW5pdGVseSByZXF1aXJlZCBi ZWhhdmlvciBhbmQgaXQgd2lsbCBiZSB5b3VyIG93biwgc28gaXQgbmVlZHMgdG8gYmUgdGVzdGVk Lg0KT24gdGhlIG90aGVyIGhhbmQsIGl0J3MgYSB2ZXJ5IHNwZWNpZmljIGltcGxlbWVudGF0aW9u IGRldGFpbCB3aGljaCBjb3VsZCBjaGFuZ2Ugd2hlbiB0aGUgdGVjaG5vbG9neSBjaGFuZ2VzIGFu ZCB3ZSBkb24ndCB3YW50IHRoYXQgdG8gaW1wYWN0IGFjdHVhbCBiZWhhdmlvciByZWxhdGVkIHRl c3RzIGFib3V0IGFuaW1hbHMuDQoNCldoYXQgSSB3b3VsZCBkbyBpcyBtYWtlIGEgdHJhbnNmb3Jt YXRpb24gZGVjb3JhdG9yIGFuZCB0aGVuIHRlc3Qgc2FtcGxlIGRhdGEgdG8gc2VlIHRoYXQgaXQg Z2V0cyB0cmFuc2Zvcm1lZCBjb3JyZWN0bHkuICBJZiBFY3RvIGV2ZXIgY2hhbmdlcywgdGhhdCB0 cmFuc2Zvcm1hdGlvbiBkZWNvcmF0b3IgY2FuIGRvIG5vdGhpbmcgaWYgbmVlZGVkLg0KWW91IGJh c2ljYWxseSBuZWVkIGEgbWFwIG9mIGZpZWxkcyB0aGF0IGNhbiBiZSBjaGFuZ2VkIGFuZCB0aGUg dHJhbnNmb3JtYXRpb24gbmVlZGVkIGZvciB0aGF0IGZpZWxkLg0KDQpBIGJpdCBtb3JlIHdvcmss IGJ1dCBpdCBhbGxvd3MgZm9yIGEgY2hhbmdlIGluIEVjdG8gb3IgYSBjaGFuZ2UgaW4gdW5kZXJz dGFuZGluZyBvZiBFY3RvIHRvIG5vdCBpbXBhY3QgdGhlIG1haW4gdGVzdCBzdWl0ZS4NCg0KT24g V2VkLCBEZWMgNCwgMjAxOSwgMDE6NTAgQnJpYW4gTWFyaWNrIDxtYXJpY2tAZXhhbXBsZXIuY29t PG1haWx0bzptYXJpY2tAZXhhbXBsZXIuY29tPj4gd3JvdGU6DQpZZXMuDQoNCk9uIERlYyAzLCAy MDE5LCBhdCA1OjMxIEFNLCBBdmkgS2Vzc25lciA8YWtlc3NuZXJAZ21haWwuY29tPG1haWx0bzph a2Vzc25lckBnbWFpbC5jb20+PiB3cm90ZToNCg0KSWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseSwg dGhlIGNvZGUgaGVyZSBpcyBzcGVjaWZpY2FsbHkgZm9yIGRvaW5nIGFuIEVjdG8gdHJhbnNmb3Jt YXRpb24sIGNvcnJlY3Q/IElmIHlvdSBkZWNpZGUgbm90IHRvIHVzZSBFY3RvIHRoZSBuZWVkIGZv ciB0aGlzIGFic3RyYWN0aW9uIGlzIHJlbW92ZWQ/DQoNCg0KDQoNCg0KDQotPS09LT0tPS09LT0t PS09LT0tPS09LQpHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50 IHRvIHRoaXMgZ3JvdXAuCgpWaWV3L1JlcGx5IE9ubGluZSAoIzM1ODEzKTogaHR0cHM6Ly9ncm91 cHMuaW8vZy90ZXN0ZHJpdmVuZGV2ZWxvcG1lbnQvbWVzc2FnZS8zNTgxMwpNdXRlIFRoaXMgVG9w aWM6IGh0dHBzOi8vZ3JvdXBzLmlvL210LzY0NDkxOTQ2LzMyNjg3NTUKR3JvdXAgT3duZXI6IHRl c3Rkcml2ZW5kZXZlbG9wbWVudCtvd25lckBncm91cHMuaW8KVW5zdWJzY3JpYmU6IGh0dHBzOi8v Z3JvdXBzLmlvL2cvdGVzdGRyaXZlbmRldmVsb3BtZW50L2xlYXZlLzYxNTYzMjIvNzQ0NTU2Mzg2 L3h5enp5ICBbZ2NwdC10ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRAbS5nbWFuZS5vcmddCi09LT0tPS09 LT0tPS09LT0tPS09LT0tCg0K --_000_FA3852B965C14794A6C54E18976E34B9msncom_ Content-Type: text/html; charset="utf-8" Content-ID: <[email protected]> Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPCEtLVtp ZiAhbXNvXT48c3R5bGU+dlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7 YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0 I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPjwh W2VuZGlmXS0tPjxzdHlsZT48IS0tDQovKiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNl DQoJe2ZvbnQtZmFtaWx5OkhlbHZldGljYTsNCglwYW5vc2UtMTowIDAgMCAwIDAgMCAwIDAgMCAw O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6 MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7 DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMg Ki8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBp bjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZh bWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjt9DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJ e21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1 bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFuLk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1z dHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpwdXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVy bGluZTt9DQpwLm1zb25vcm1hbDAsIGxpLm1zb25vcm1hbDAsIGRpdi5tc29ub3JtYWwwDQoJe21z by1zdHlsZS1uYW1lOm1zb25vcm1hbDsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJn aW4tcmlnaHQ6MGluOw0KCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0 OjBpbjsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNl cmlmO30NCnNwYW4uRW1haWxTdHlsZTE5DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5 Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOndpbmRvd3RleHQ7 fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1z aXplOjEwLjBwdDt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo4LjVpbiAxMS4waW47DQoJ bWFyZ2luOjEuMGluIDEuMGluIDEuMGluIDEuMGluO30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFn ZTpXb3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxv OnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtl bmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJl ZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0 PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4tVVMiIGxpbms9ImJs dWUiIHZsaW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiPkluIG15IGV4cGVyaWVuY2UgdGhlIHNlcGFyYXRpb24gb2YgYXBwbGljYXRp b24gbG9naWMgYW5kIGV4dGVybmFscyBpcyBtdWNoIGZhc3RlciBhbmQgY2hlYXBlciB0aGFuIG1v c3QgdGhpbmsuIEV2ZW4gbW9yZSBpbmNsdWRpbmcgYW55IGxvbmctdGVybSBiZW5lZml0cyB3aGVu IHRoaW5ncyBjaGFuZ2UuIEl04oCZcyBqdXN0IG9uZSBvZiB0aGUgY29kZSBkZXNpZ24gYWN0aXZp dGllcyB3aGljaCB3ZSBkbyBhbnl3YXlzLg0KIFBheXMgb2ZmIGluIHdlZWtzIOKAkyBub3QgeWVh cnMg4oCmIC4gPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNw OzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPmBzdG9yZS1yZWNvcmQoKWAgdG8gbWUg aW1wbGllcyBzdG9yaW5nIGluIGEgc2luZ2xlIGRiIHJlY29yZCwgd2hpY2ggbGVha3Mg4oCYZGLi gJkgdGVybSBpbnRvIHRoaXMgc3VyZmFjZS4NCjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+YGVtcGxveWVlX3N0b3JhZ2Uuc3RvcmUoZW1wbG95ZWUpYCBpcyBtb3JlIGdlbmVy YWwg4oCTIGRvbuKAmXQgY2FyZSBpZiBpdOKAmXMgc3RvcmluZyBpbiBhIHJlY29yZCwgbWFueSBy ZWNvcmRzIG9yIHNvbWV3aGVyZSBlbHNlLiBUaGF04oCZcyB3aHkgSSBwcmVmZXIgdGhlIGxhdHRl ci48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+ PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ZW1wbG95ZWUuc3RvcmUoKSDigJMgdGhpcyBzZWVt cyB0byBpbXBseSB0aGF0IHRoZSBlbXBsb3llZSBuZWVkcyB0byBrbm93IGhvdyB0byBzdG9yZS9y ZXRyaWV2ZSBpdHNlbGY/IFRoYXTigJlzIGEgY291cGxpbmcgSeKAmWQgcmF0aGVyIGF2b2lkIOKA kyBJ4oCZZCByYXRoZXIgY291cGxlIHRvIGEgc2hhcGUgb2YgZGF0YSAoRW1wbG95ZWUpIGFuZCBw YXNzIGl0IGFyb3VuZCBmcmVlbHkgYWNyb3NzIGNsYXNzZXMvcHJvY2Vzc2VzL2xhbmd1YWdlcy9v cGVyYXRpbmcNCiBzeXN0ZW0vY29tcHV0ZXJzIOKApiAuIEVtcGxveWVlIHdvdWxkIHR5cGljYWxs eSBhbHJlYWR5IGhhdmUgYSBzaW5nbGUgcmVzcG9uc2liaWxpdHkgb2Yga2VlcGluZyBpdHNlbGYg dmFsaWQgKHdoYXTigJlzIHJlcXVpcmVkL29wdGlvbmFsLCB2YWxpZCB2YWx1ZXMsIGV0Yy4pIOKA kyB3aHkgYWRkIGFub3RoZXIgcmVzcG9uc2liaWxpdHkgYW5kIG1vcmUgY291cGxpbmc/PG86cD48 L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxk aXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0I1QzRERiAxLjBwdDtwYWRk aW5nOjMuMHB0IDBpbiAwaW4gMGluIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIHN0 eWxlPSJmb250LXNpemU6MTIuMHB0O2NvbG9yOmJsYWNrIj5Gcm9tOiA8L3NwYW4+PC9iPjxzcGFu IHN0eWxlPSJmb250LXNpemU6MTIuMHB0O2NvbG9yOmJsYWNrIj4mbHQ7dGVzdGRyaXZlbmRldmVs b3BtZW50QGdyb3Vwcy5pbyZndDsgb24gYmVoYWxmIG9mIFN0ZXZlIEdvcmRvbiAmbHQ7c2dvcmRv bnBoZEBnbWFpbC5jb20mZ3Q7PGJyPg0KPGI+UmVwbHktVG86IDwvYj4mcXVvdDt0ZXN0ZHJpdmVu ZGV2ZWxvcG1lbnRAZ3JvdXBzLmlvJnF1b3Q7ICZsdDt0ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRAZ3Jv dXBzLmlvJmd0Ozxicj4NCjxiPkRhdGU6IDwvYj5UaHVyc2RheSwgRGVjZW1iZXIgNSwgMjAxOSBh dCA1OjM4IFBNPGJyPg0KPGI+VG86IDwvYj4mcXVvdDt0ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRAZ3Jv dXBzLmlvJnF1b3Q7ICZsdDt0ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRAZ3JvdXBzLmlvJmd0Ozxicj4N CjxiPlN1YmplY3Q6IDwvYj5SZTogW3Rlc3Rkcml2ZW5kZXZlbG9wbWVudF0gJnF1b3Q7Ym90dG9t LXVwJnF1b3Q7IFRERCBhbmQgY29tbW9uIGJlaGF2aW9yczxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9w Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+V2Ugc2hvdWxkIGxpc3RlbiB0 byBvdXIgcGF5aW5nIGN1c3RvbWVycyB3aG8gbWF5IGhhdmUgc29tZSB0aG91Z2h0cyBvbiB0aGUg ZnV0dXJlIG9mIHRoZWlyIGNvbXBhbnkgYW5kIHRoZWlyIGFwcGxpY2F0aW9uLiZuYnNwOyBUaGV5 IG1heSBub3Qgd2FudCB0byBwYXkgZm9yIHRoZSBleHRyYSB0aW1lIGFuZCBlZmZvcnQgdG8gYWJz dHJhY3QgYSBmcmFtZXdvcmsmbmJzcDt0aGF0IHRoZXkgbWF5IGhhdmUgY2hvc2VuIGZvciBhIHNw ZWNpZmljDQogYnVzaW5lc3MgcmVhc29uLCZuYnNwOyBUaGV5Jm5ic3A7bWF5IHByZWZlciB0byBi ZSBtYWludGFpbmluZyBhIGZhbWlseSBvZiBhcHBsaWNhdGlvbnMgdGhhdCBsZXZlcmFnZSB0aGUg c2FtZSBmcmFtZXdvcmsgaW4gdGhlIG9idmlvdXMgZGlyZWN0IHdheSBpbnN0ZWFkIG9mIGEgZmFt aWx5IG9mIGFwcGxpY2F0aW9ucyB3aGVyZSBlYWNoIHRlYW0gZGVjaWRlcyB0byBhYnN0cmFjdCB0 aGF0IGZyYW1ld29yayBhd2F5IGluIHN1YnRseSZuYnNwO2RpZmZlcmVudCB3YXlzLg0KPG86cD48 L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48 L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5Ib3dldmVyLCBpZiBJIGFt IGFic3RyYWN0aW5nIG91dCB0aGUgZGF0YWJhc2UsIEkgbXVjaCBwcmVmZWN0Jm5ic3A7ZW1wbG95 ZWUuc3RvcmUoKSBvdmVyIGVtcGxveWVlLXN0b3JhZ2Uuc3RvcmVfcmVjb3JkKCkuJm5ic3A7IFdo eSBzaG91bGQgSSBpbXBvc2UgJnF1b3Q7X3N0b3JhZ2UmcXVvdDsgYW5kICZxdW90O19yZWNvcmQm cXVvdDsgb24gY29kZSB0aGF0IGlzIGFic3RyYWN0aW5nIHRoZSBkYXRhYmFzZSBkZXRhaWxzPzxv OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+ Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiBU aHUsIERlYyA1LCAyMDE5IGF0IDU6NDcgUE0gRGFuaWVsIE9sZXdza2kgJmx0OzxhIGhyZWY9Im1h aWx0bzpkb2xld3NraUBtc24uY29tIj5kb2xld3NraUBtc24uY29tPC9hPiZndDsgd3JvdGU6PG86 cD48L286cD48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3Jk ZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNi4wcHQ7bWFy Z2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0OjBpbiI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv dHRvbS1hbHQ6YXV0byI+QWxsIGZyYW1ld29ya3MgY2hhbmdlIGV2ZW50dWFsbHksIG9yIHN0b3Ag d29ya2luZyB3aGVuIHNheSBPUyB2ZXJzaW9uIGlzIHVwZGF0ZWQuIE1hbnkgb2YgdXMgaGF2ZSBs ZWFybmVkIHRoYXQgdGhlIGhhcmQgd2F5IOKApiAuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0 b20tYWx0OmF1dG8iPkludmVudGluZyBhIG5ldyBSREJNUyBpbnRlcmZhY2Ug4oCTIHRoYXQgbWVh bnMgbGVha2luZyBSREJNUyB3b3JsZCBpbnRvIHlvdXIgYXBwbGljYXRpb24gZG9tYWluLiBBbmQg cGVyaGFwcyBhbHNvIGltcGxpZXMgdGhlIGJpZ2dlciB3b3JrIG9mIGNvdmVyaW5nIGFsbCBvZiBS REJNUyBmdW5jdGlvbmFsaXR5LiBXaGVuDQogd2UgdXNlIFJEQk1TIGl04oCZcyBqdXN0IGZvciBz dG9yYWdlIG9mIGRhdGEg4oCmIHRvZGF5LiBUb21vcnJvdyBpdCBjYW4gYmUgYSBibG9iIGluIHRo ZSBjbG91ZCwgbmV4dCB5ZWFyIGl0IHdpbGwgYmUgc29tZXRoaW5nIGRpZmZlcmVudC4gSSBkbyB3 YW50IG15IGNvZGUgdG8gYmUgZmxleGlibGUgZm9yIGFsbCB0aG9zZS4gT25lIHdheSB0byBkbyB0 aGF0IGlzIHRvIGlzb2xhdGUgb24gdGhlIGVkZ2Ugb2YgaG93IHRoZSBhcHAgZG9tYWluIGxvZ2lj IHVzZXMNCiB0aGUgc3RvcmFnZS4gVGhpbmsgYGVtcGxveWVlX3N0b3JhZ2Uuc3RvcmVfZW1wbG95 ZWUoKWAgdnMgYHJkYm1zLmluc2VydF9yZWNvcmQoKWAuIEEgbnVhbmNlLCBidXQgYW4gaW1wb3J0 YW50IG9uZSBJTU8uIE9uY2Ugd2UgaGF2ZSB0aGF0IOKAkyB0aGUgYXBwIHdvbuKAmXQgY2FyZSBo b3cgdGhlIHN0b3JhZ2UgaXMgaW1wbGVtZW50ZWQgYW5kIGEgc2ltcGxlIOKAmGluLW1lbW9yeSBl bXBsb3llZSBzdG9yYWdl4oCZIG9yIOKAmGxvY2FsLWZpbGUgZW1wbG95ZWUgc3RvcmFnZeKAmQ0K IHdpbGwgc3VmZmljZSBmb3IgdW5pdCBvciBzb21lIGludGVncmF0aW9uIHRlc3RpbmcgLi4gPG86 cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9w Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjQjVDNERGIDEuMHB0 O3BhZGRpbmc6My4wcHQgMGluIDBpbiAwaW4iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9 Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48Yj48 c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDtjb2xvcjpibGFjayI+RnJvbToNCjwvc3Bhbj48 L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQ7Y29sb3I6YmxhY2siPiZsdDs8YSBocmVm PSJtYWlsdG86dGVzdGRyaXZlbmRldmVsb3BtZW50QGdyb3Vwcy5pbyIgdGFyZ2V0PSJfYmxhbmsi PnRlc3Rkcml2ZW5kZXZlbG9wbWVudEBncm91cHMuaW88L2E+Jmd0OyBvbiBiZWhhbGYgb2YgQnJp YW4gTWFyaWNrICZsdDs8YSBocmVmPSJtYWlsdG86bWFyaWNrQGV4YW1wbGVyLmNvbSIgdGFyZ2V0 PSJfYmxhbmsiPm1hcmlja0BleGFtcGxlci5jb208L2E+Jmd0Ozxicj4NCjxiPlJlcGx5LVRvOiA8 L2I+JnF1b3Q7PGEgaHJlZj0ibWFpbHRvOnRlc3Rkcml2ZW5kZXZlbG9wbWVudEBncm91cHMuaW8i IHRhcmdldD0iX2JsYW5rIj50ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRAZ3JvdXBzLmlvPC9hPiZxdW90 OyAmbHQ7PGEgaHJlZj0ibWFpbHRvOnRlc3Rkcml2ZW5kZXZlbG9wbWVudEBncm91cHMuaW8iIHRh cmdldD0iX2JsYW5rIj50ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRAZ3JvdXBzLmlvPC9hPiZndDs8YnI+ DQo8Yj5EYXRlOiA8L2I+VGh1cnNkYXksIERlY2VtYmVyIDUsIDIwMTkgYXQgNDoyMSBQTTxicj4N CjxiPlRvOiA8L2I+JnF1b3Q7PGEgaHJlZj0ibWFpbHRvOnRlc3Rkcml2ZW5kZXZlbG9wbWVudEBn cm91cHMuaW8iIHRhcmdldD0iX2JsYW5rIj50ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRAZ3JvdXBzLmlv PC9hPiZxdW90OyAmbHQ7PGEgaHJlZj0ibWFpbHRvOnRlc3Rkcml2ZW5kZXZlbG9wbWVudEBncm91 cHMuaW8iIHRhcmdldD0iX2JsYW5rIj50ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRAZ3JvdXBzLmlvPC9h PiZndDs8YnI+DQo8Yj5TdWJqZWN0OiA8L2I+UmU6IFt0ZXN0ZHJpdmVuZGV2ZWxvcG1lbnRdICZx dW90O2JvdHRvbS11cCZxdW90OyBUREQgYW5kIGNvbW1vbiBiZWhhdmlvcnM8L3NwYW4+PG86cD48 L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxv OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPlRoYXQgcmFpc2Vz IGFuIGludGVyZXN0aW5nIGdlbmVyYWwgcXVlc3Rpb24uDQo8bzpwPjwvbzpwPjwvcD4NCjxkaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8 ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mcXVvdDtUaGUgdGVjaG5vbG9neSZxdW90OyBp cyBhIHdlYiBmcmFtZXdvcmsgYW5kIGl0cyBsaW5rZWQgZGF0YWJhc2UgZnJhbWV3b3JrLjxvOnA+ PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8 bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+VGhl IHJpc2sgb2YgdGhvc2UgY2hhbmdpbmcgaW4gYSB3YXkgdGhhdCBicmVha3MgYSBsb3Qgb2Ygb2xk IGNvZGUgaXMgcHJldHR5IHNtYWxsLiBIb3cgbXVjaCBlZmZvcnQgc2hvdWxkIHdlIHNwZW5kIGlu c3VsYXRpbmcgb3VyIGNvZGUgYWdhaW5zdCBsb3ctcHJvYmFiaWxpdHkgZXZlbnRzPzxvOnA+PC9v OnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpw PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+SXNvbGF0 aW5nIG15IGNvZGUgZnJvbSBFY3RvIHdvdWxkIGluIGVmZmVjdCBtZWFuIGludmVudGluZyBhICpu ZXcqIGludGVyZmFjZSB0byBhIFJEQk1TLiBEb2VzIGl0IHJlYWxseSBzZWVtIGxpa2VseSB0aGF0 IEnigJlsbCBkbyB0aGF0IGJldHRlciB0aGFuIHRoZSBFY3RvIGRlc2lnbmVycz88bzpwPjwvbzpw PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48 L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPlAuUy4gSSBu ZWVkIHRvIHNwZW5kIHNvbWUgdGltZSB0aGlua2luZyBhYm91dCBob3cgRlAgaWRlYXMgYW5kIE9P IGlkZWFzIHBsYXkgdG9nZXRoZXIuIE15IG9waW5pb24gaGFzIGJlZW4gdGhhdCwgbGVhdmluZyBh c2lkZSBpbmhlcml0YW5jZSwgdHlwaWNhbCBGUCBsYW5ndWFnZXMgYXJlIG5vdCBkaWZmZXJlbnQs DQogaW4gcHJhY3RpY2UsIHRoYW4gT08gbGFuZ3VhZ2VzLiBCdXQgSSB3b25kZXIgaWYgdGhhdOKA mXMgcmlnaHQuPG86cD48L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5 bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21hcmdpbi1ib3R0b206MTIuMHB0Ij48bzpwPiZu YnNwOzwvbzpwPjwvcD4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21hcmdp bi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+T24gRGVjIDQs IDIwMTksIGF0IDEyOjQzIEFNLCBBdmkgS2Vzc25lciAmbHQ7PGEgaHJlZj0ibWFpbHRvOmFrZXNz bmVyQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmFrZXNzbmVyQGdtYWlsLmNvbTwvYT4mZ3Q7 IHdyb3RlOjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZu YnNwOzxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i PlNvIHRoaXMgaXMgZGVmaW5pdGVseSByZXF1aXJlZCBiZWhhdmlvciBhbmQgaXQgd2lsbCBiZSB5 b3VyIG93biwgc28gaXQgbmVlZHMgdG8gYmUgdGVzdGVkLg0KPG86cD48L286cD48L3A+DQo8ZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5PbiB0aGUgb3RoZXIgaGFuZCwgaXQncyBhIHZlcnkg c3BlY2lmaWMgaW1wbGVtZW50YXRpb24gZGV0YWlsIHdoaWNoIGNvdWxkIGNoYW5nZSB3aGVuIHRo ZSB0ZWNobm9sb2d5IGNoYW5nZXMgYW5kIHdlIGRvbid0IHdhbnQgdGhhdCB0byBpbXBhY3QgYWN0 dWFsIGJlaGF2aW9yIHJlbGF0ZWQgdGVzdHMgYWJvdXQNCiBhbmltYWxzLjxvOnA+PC9vOnA+PC9w Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpw PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+V2hhdCBJIHdvdWxk IGRvIGlzIG1ha2UgYSB0cmFuc2Zvcm1hdGlvbiBkZWNvcmF0b3IgYW5kIHRoZW4gdGVzdCBzYW1w bGUgZGF0YSB0byBzZWUgdGhhdCBpdCBnZXRzIHRyYW5zZm9ybWVkIGNvcnJlY3RseS4mbmJzcDsg SWYgRWN0byBldmVyIGNoYW5nZXMsIHRoYXQgdHJhbnNmb3JtYXRpb24gZGVjb3JhdG9yIGNhbg0K IGRvIG5vdGhpbmcgaWYgbmVlZGVkLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn aW4tYm90dG9tLWFsdDphdXRvIj5Zb3UgYmFzaWNhbGx5IG5lZWQgYSBtYXAgb2YgZmllbGRzIHRo YXQgY2FuIGJlIGNoYW5nZWQgYW5kIHRoZSB0cmFuc2Zvcm1hdGlvbiBuZWVkZWQgZm9yIHRoYXQg ZmllbGQuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1 dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs dDphdXRvIj5BIGJpdCBtb3JlIHdvcmssIGJ1dCBpdCBhbGxvd3MgZm9yIGEgY2hhbmdlIGluIEVj dG8gb3IgYSBjaGFuZ2UgaW4gdW5kZXJzdGFuZGluZyBvZiBFY3RvIHRvIG5vdCBpbXBhY3QgdGhl IG1haW4gdGVzdCBzdWl0ZS48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i b3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp bi1ib3R0b20tYWx0OmF1dG8iPk9uIFdlZCwgRGVjIDQsIDIwMTksIDAxOjUwIEJyaWFuIE1hcmlj ayAmbHQ7PGEgaHJlZj0ibWFpbHRvOm1hcmlja0BleGFtcGxlci5jb20iIHRhcmdldD0iX2JsYW5r Ij5tYXJpY2tAZXhhbXBsZXIuY29tPC9hPiZndDsgd3JvdGU6PG86cD48L286cD48L3A+DQo8L2Rp dj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0ND Q0NDIDEuMHB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFy Z2luLXRvcDo1LjBwdDttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRp dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0 OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPlllcy48bzpwPjwvbzpwPjwvcD4NCjxk aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87 bWFyZ2luLWJvdHRvbToxMi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGJsb2NrcXVvdGUg c3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn aW4tYm90dG9tLWFsdDphdXRvIj5PbiBEZWMgMywgMjAxOSwgYXQgNTozMSBBTSwgQXZpIEtlc3Nu ZXIgJmx0OzxhIGhyZWY9Im1haWx0bzpha2Vzc25lckBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5r Ij5ha2Vzc25lckBnbWFpbC5jb208L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0O2ZvbnQt ZmFtaWx5OkhlbHZldGljYSI+SWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseSwgdGhlIGNvZGUgaGVy ZSBpcyBzcGVjaWZpY2FsbHkmbmJzcDtmb3IgZG9pbmcgYW4gRWN0byB0cmFuc2Zvcm1hdGlvbiwg Y29ycmVjdD8gSWYgeW91IGRlY2lkZSBub3QgdG8gdXNlDQogRWN0byB0aGUgbmVlZCBmb3IgdGhp cyBhYnN0cmFjdGlvbiBpcyByZW1vdmVkPzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K PC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+ PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i PiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph dXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+ DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5 bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4m bmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90 ZT4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjwvbzpwPjwvc3Bhbj48L3A+ DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0KDQo8ZGl2IHdpZHRoPSIxIiBzdHls ZT0iY29sb3I6d2hpdGU7Y2xlYXI6Ym90aCI+Xy5fLF8uXyxfPC9kaXY+Cjxocj4KR3JvdXBzLmlv IExpbmtzOjxwPgoKWW91IHJlY2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBncm91cC4K Cgo8cD4KCjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2dyb3Vwcy5pby9nL3Rlc3Rk cml2ZW5kZXZlbG9wbWVudC9tZXNzYWdlLzM1ODEzIj5WaWV3L1JlcGx5IE9ubGluZSAoIzM1ODEz KTwvYT4gfAoKCiAgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Im1haWx0bzp0ZXN0ZHJpdmVuZGV2 ZWxvcG1lbnRAZ3JvdXBzLmlvP3N1YmplY3Q9UmU6JTIwUmUlM0ElMjAlNUJ0ZXN0ZHJpdmVuZGV2 ZWxvcG1lbnQlNUQlMjAlMjJib3R0b20tdXAlMjIlMjBUREQlMjBhbmQlMjBjb21tb24lMjBiZWhh dmlvcnMiPlJlcGx5IFRvIEdyb3VwPC9hPgogIAogICAgfCA8YSB0YXJnZXQ9Il9ibGFuayIgaHJl Zj0ibWFpbHRvOmRvbGV3c2tpQG1zbi5jb20/c3ViamVjdD1Qcml2YXRlOiUyMFJlOiUyMFJlJTNB JTIwJTVCdGVzdGRyaXZlbmRldmVsb3BtZW50JTVEJTIwJTIyYm90dG9tLXVwJTIyJTIwVEREJTIw YW5kJTIwY29tbW9uJTIwYmVoYXZpb3JzIj5SZXBseSBUbyBTZW5kZXI8L2E+CiAgCgoKfAoKCiAg CiAgICA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9ncm91cHMuaW8vbXQvNjQ0OTE5 NDYvMzI2ODc1NSI+TXV0ZSBUaGlzIFRvcGljPC9hPgogIAoKfCA8YSBocmVmPSJodHRwczovL2dy b3Vwcy5pby9nL3Rlc3Rkcml2ZW5kZXZlbG9wbWVudC9wb3N0Ij5OZXcgVG9waWM8L2E+PGJyPgoK Cgo8YnI+Cgo8YSBocmVmPSJodHRwczovL2dyb3Vwcy5pby9nL3Rlc3Rkcml2ZW5kZXZlbG9wbWVu dC9lZGl0c3ViLzMyNjg3NTUiPllvdXIgU3Vic2NyaXB0aW9uPC9hPiB8CjxhIGhyZWY9Im1haWx0 bzp0ZXN0ZHJpdmVuZGV2ZWxvcG1lbnQrb3duZXJAZ3JvdXBzLmlvIj5Db250YWN0IEdyb3VwIE93 bmVyPC9hPiB8Cgo8YSBocmVmPSJodHRwczovL2dyb3Vwcy5pby9nL3Rlc3Rkcml2ZW5kZXZlbG9w bWVudC9sZWF2ZS82MTU2MzIyLzc0NDU1NjM4Ni94eXp6eSI+VW5zdWJzY3JpYmU8L2E+CgogW2dj cHQtdGVzdGRyaXZlbmRldmVsb3BtZW50QG0uZ21hbmUub3JnXTxicj4KPGRpdiB3aWR0aD0iMSIg c3R5bGU9ImNvbG9yOndoaXRlO2NsZWFyOmJvdGgiPl8uXyxfLl8sXzwvZGl2PgoNCg== --_000_FA3852B965C14794A6C54E18976E34B9msncom_--