From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xie, AlexBin" Subject: Re: [PATCH] dmr/amdgpu: Fix wrongly unref of BO Date: Tue, 18 Apr 2017 18:54:06 +0000 Message-ID: References: <1492119298-8526-1-git-send-email-AlexBin.Xie@amd.com> <58F0495D.60607@amd.com> <58F57C14.20403@amd.com> , <7807726d-7318-b72f-1a14-2b37a73988bf@vodafone.de>, Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0934679062==" Return-path: In-Reply-To: Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: =?utf-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= , "Zhou, David(ChunMing)" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" --===============0934679062== Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_MWHPR1201MB004553768BCAC951D28A347AF2190MWHPR1201MB0045_" --_000_MWHPR1201MB004553768BCAC951D28A347AF2190MWHPR1201MB0045_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgQ2hyaXN0aWFuLA0KDQpIYXZlIHlvdSBmb3VuZCBob3cvd2hlcmUvd2hlbj8gV2hlbiB5b3Ug c2FpZCAibWFwcGluZyB3aWxsIGp1c3QgYmUgcmVsZWFzZWQgYSBiaXQgbGF0ZXIgb24iLCB5b3Ug bXVzdCBrbm93IHRoZSBhbnN3ZXIuDQoNCkl0IGlzIGRpZmZpY3VsdCB0byBwcm92ZSBzb21ldGhp bmcgZG9lcyBub3QgZXhpc3QuIEFueXdheSwgSSB3aWxsIGdpdmUgaXQgYSB0cnkgdG8gcHJvdmUg c3VjaCAibGF0ZXIgb24iIGRvZXMgbm90IGV4aXN0Lg0KDQpGdW5jdGlvbiB0dG1fYm9fa3VubWFw IGlzIHRoZSBvbmx5IGZ1bmN0aW9uIHRvIHVubWFwLiBUbyBwcm92ZSB0aGlzLCBzZWFyY2ggdHRt X2JvX21hcF9pb21hcCwgb25seSB0dG1fYm9fa3VubWFwIHVzZSB0aGlzIGVudW0gdG8gY29ycmVj dGx5IGt1bm1hcC4NCg0KRnVuY3Rpb24gdHRtX2JvX2t1bm1hcCBpcyBub3QgY2FsbGVkIGJ5IHR0 bSBpdHNlbGYuIFRoaXMgaXMgYSBoaW50IHRoYXQgYWxsIFRUTSBkZWxheSBkZWxldGUgbWVjaGFu aXNtIG9yIHVucmVmIG1lY2hhbmlzbSB3aWxsIE5PVCBrdW5tYXAgQk8gbGF0ZXIgb24uDQoNCkZ1 bmN0aW9uIHR0bV9ib19rdW5tYXAgaXMgY2FsbGVkIGJ5IEFNREdQVSBmdW5jdGlvbiBhbWRncHVf Ym9fa3VubWFwIGFuZCBhbWRncHVfZ2VtX3ByaW1lX3Z1bm1hcC4NCg0KU2VhcmNoIEFNREdQVSBm b3IgYW1kZ3B1X2JvX2t1bm1hcC4gQWxsIG1hdGNoZXMgZG8gbm90IGt1bm1hcCBmb3Igc2NyYXRj aCBWUkFNIEJPLiAgYW1kZ3B1X2JvX2ZyZWVfa2VybmVsIGlzIGEgc3VzcGVjdCBidXQgdGhlIGFu c3dlciBpcyBzdGlsbCBOTy4NCg0KU28gYWxsIHBvc3NpYmlsaXRpZXMgYXJlIHNlYXJjaGVkLiBE aWQgSSBtaXNzIGFueXRoaW5nPw0KDQpUaGFua3MsDQpBbGV4IEJpbiBYaWUNCg0KX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18NCkZyb206IFhpZSwgQWxleEJpbg0KU2VudDogVHVlc2Rh eSwgQXByaWwgMTgsIDIwMTcgMjowNDozMyBQTQ0KVG86IENocmlzdGlhbiBLw7ZuaWc7IFpob3Us IERhdmlkKENodW5NaW5nKTsgYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNClN1YmplY3Q6 IFJlOiBbUEFUQ0hdIGRtci9hbWRncHU6IEZpeCB3cm9uZ2x5IHVucmVmIG9mIEJPDQoNCg0KSGkg Q2hyaXN0aWFuLA0KDQoNCldvdWxkIHlvdSBwb2ludCBvdXQgd2hlcmUvd2hlbiB3aWxsIGt1bm1h cCBoYXBwZW4gZm9yIHRoaXMgQk8gd2hlbiByZWxlYXNlPyBJdCBtdXN0IGJlIHNvbWV3aGVyZSBp biBzb21lIGZ1bmN0aW9uIGNhbGxzLg0KDQoNCkkgY2hlY2tlZCBiZWZvcmUgSSBhc2tlZCBmb3Ig cmV2aWV3LiBCdXQgSSBkaWQgbm90IHNlZSBzdWNoIG9idmlvdXMga3VubWFwIGZ1bmN0aW9uIGNh bGwuDQoNCg0KSWYgc28sIHRoZXJlIHNob3VsZCBiZSBhIGNvbW1lbnQgaW4gZnVuY3Rpb24gYW1k Z3B1X3ZyYW1fc2NyYXRjaF9maW5pIHRvIGF2b2lkIGZ1dHVyZSBjb25mdXNpb24uDQoNClRoYW5r cywNCkFsZXggQmluIFhpZQ0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCkZyb206 IENocmlzdGlhbiBLw7ZuaWcgPGRlYXRoc2ltcGxlQHZvZGFmb25lLmRlPg0KU2VudDogVHVlc2Rh eSwgQXByaWwgMTgsIDIwMTcgMTo0NiBQTQ0KVG86IFhpZSwgQWxleEJpbjsgWmhvdSwgRGF2aWQo Q2h1bk1pbmcpOyBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KU3ViamVjdDogUmU6IFtQ QVRDSF0gZG1yL2FtZGdwdTogRml4IHdyb25nbHkgdW5yZWYgb2YgQk8NCg0KSGkgQWxleEJpbiwN Cg0KTm8sIERhdmlkIGlzIHJpZ2h0LiBUaGlzIGlzIGEgdmVyeSBjb21tb24gY29kaW5nIHBhdHRl cm4gaW4gdGhlIGtlcm5lbCBtb2R1bGUuDQoNCkZyZWVpbmcgdXAgYSBCTyB3aGlsZSB0aGVyZSBz dGlsbCBleGlzdHMgYSBrZXJuZWwgbWFwcGluZyBpcyBwZXJmZWN0bHkgb2ssIHRoZSBtYXBwaW5n IHdpbGwganVzdCBiZSByZWxlYXNlZCBhIGJpdCBsYXRlciBvbi4NCg0KU28gdGhpcyBjb2RlIGlz IGFjdHVhbGx5IHBlcmZlY3RseSBvayBhbmQganVzdCBhbiBvcHRpbWl6YXRpb24sIGJ1dCB5b3Vy IHBhdGNoIGJyZWFrcyBpdCBhbmQgY3JlYXRlcyBhIG1lbW9yeSBsZWFrLg0KDQpSZWdhcmRzLA0K Q2hyaXN0aWFuLg0KDQpBbSAxOC4wNC4yMDE3IHVtIDE3OjE3IHNjaHJpZWIgWGllLCBBbGV4Qmlu Og0KDQpIaSBEYXZpZCwNCg0KDQpXaGVuIGFtZGdwdV9ib19yZXNlcnZlIHJldHVybiBlcnJvcnMs IHdlIGNhbm5vdCByZWxlYXNlIHRoZSBCTy4gVGhpcyBpcyBub3QgYSBtZW1vcnkgbGVhay4gR2Vu ZXJhbCBzcGVha2luZywgbWVtb3J5IGxlYWsgaXMgdW5ub3RpY2VkIGFuZCB1bmludGVudGlvbmFs Lg0KDQoNClRoZSBjYWxsZXIgb2YgZnVuY3Rpb24gYW1kZ3B1X3ZyYW1fc2NyYXRjaF9maW5pIGln bm9yZXMgdGhlIHJldHVybiBlcnJvciB2YWx1ZS4uLg0KDQoNClRoZSAibWVtb3J5IGxlYWsiIGlz IG5vdCBjYXVzZWQgYnkgbXkgcGF0Y2guIEl0IGlzIGNhdXNlZCBiZWNhdXNlIHJlc2VydmluZyBC TyBmYWlscy4NCg0KDQpUaGlzIHBhdGNoIG9ubHkgYWltIHRvIG1ha2UgZnVuY3Rpb24gYW1kZ3B1 X3ZyYW1fc2NyYXRjaF9maW5pIGJlaGF2ZSBjb3JyZWN0bHkuDQoNCg0KVG8gZm9sbG93IHVwLCB3 ZSBjYW4gYWRkIGEgd2FybmluZyBtZXNzYWdlIHdoZW4gYW1kZ3B1X2JvX3Jlc2VydmUgZXJyb3Ig aGFwcGVucyBpbiBhIGRpZmZlcmVudCBwYXRjaC4NCg0KDQpJZiBmdW5jdGlvbiBjYWxsIGFtZGdw dV9ib19yZXNlcnZlIGlzIGNoYW5nZWQgdG8gdW5pbnRlcnJ1cHRpYmxlLCB0aGlzIGNoYW5nZXMg ZHJpdmVyIGJlaGF2aW91ci4gV2l0aG91dCBhIHN1YnN0YW50aWFsIGlzc3VlLCBJIHdvdWxkIGJl IGNhdXRpb3VzIGZvciBzdWNoIGEgY2hhbmdlLg0KDQoNClRoYW5rcywNCg0KQWxleCBCaW4gWGll DQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpGcm9tOiBaaG91LCBEYXZpZChD aHVuTWluZykNClNlbnQ6IE1vbmRheSwgQXByaWwgMTcsIDIwMTcgMTA6MzggUE0NClRvOiBYaWUs IEFsZXhCaW47IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPG1haWx0bzphbWQtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZz4NClN1YmplY3Q6IFJlOiBbUEFUQ0hdIGRtci9hbWRncHU6IEZp eCB3cm9uZ2x5IHVucmVmIG9mIEJPDQoNCg0KDQpPbiAyMDE35bm0MDTmnIgxN+aXpSAyMjo1NCwg WGllLCBBbGV4QmluIHdyb3RlOg0KDQpIaSBEYXZpZCwNCg0KDQpUaGFua3MgZm9yIHRoZSBjb21t ZW50cy4gSG93ZXZlciwgcGxlYXNlIGhhdmUgbG9vayBhdCBhbWRncHVfYm9fcmVzZXJ2ZSBkZWZp bml0aW9uLg0KDQpzdGF0aWMgaW5saW5lIGludCBhbWRncHVfYm9fcmVzZXJ2ZShzdHJ1Y3QgYW1k Z3B1X2JvICpibywgYm9vbCBub19pbnRyKQ0KDQpBaCwgdGhpcyBpcyBhIHdpcmVkIHdyYXBwZXIg Zm9yIHR0bV9ib19yZXNlcnZlLg0KDQoNCg0KV2hlbiB3ZSBjYWxsIHRoaXMgZnVuY3Rpb24gbGlr ZSB0aGUgZm9sbG93aW5nOg0KDQogICAgICAgICByID0gYW1kZ3B1X2JvX3Jlc2VydmUoYWRldi0+ dnJhbV9zY3JhdGNoLnJvYmosIGZhbHNlKTsNClRoZSBmYWxzZSBtZWFucyBpbnRlcnJ1cHRpYmxl Lg0KDQoNCk9uIHRoZSBvdGhlciBoYW5kLCAgd2hlbiBhbWRncHVfYm9fcmVzZXJ2ZSBmdW5jdGlv biByZXR1cm4gZXJyb3IsIHdoeSBkbyB3ZSB1bnJlZiBCTyB3aXRob3V0IGt1bm1hcCBhbmQgdW5w aW4gdGhlIEJPPyBUaGlzIGlzIHdyb25nIGltcGxlbWVudGF0aW9uIHdoZW4gYW1kZ3B1X2JvX3Jl c2VydmUgcmV0dXJuIGFueSBlcnJvci4NCg0KWWVhaCwgSSBzZWUgeW91ciBtZWFuLCBpdCdzIGlu IGRyaXZlciB1bi1sb2FkaW5nLCBIb3cgYWJvdXQgY2hhbmdpbmcgdG8gbm8gaW50ZXJydXB0aWJs ZT8gWW91ciBwYXRjaCB3aWxsIG1ha2UgYSBtZW1sZWFrIGlmIGJvX3Jlc2VydmUgZmFpbHMsIGJ1 dCBpdCBzZWVtcyBub3QgbWF0dGVyLiBJIGhhdmUgbm8gc3Ryb25nIHByZWZlcmVuY2UuDQoNClJl Z2FyZHMsDQpEYXZpZCBaaG91DQoNCg0KVGhhbmtzLA0KQWxleCBCaW4gWGllDQoNCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fDQpGcm9tOiBaaG91LCBEYXZpZChDaHVuTWluZykNClNl bnQ6IEZyaWRheSwgQXByaWwgMTQsIDIwMTcgMTI6MDAgQU0NClRvOiBYaWUsIEFsZXhCaW47IGFt ZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPG1haWx0bzphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZz4NClN1YmplY3Q6IFJlOiBbUEFUQ0hdIGRtci9hbWRncHU6IEZpeCB3cm9uZ2x5IHVu cmVmIG9mIEJPDQoNCg0KDQpPbiAyMDE35bm0MDTmnIgxNOaXpSAwNTozNCwgQWxleCBYaWUgd3Jv dGU6DQo+IEFjY29yZGluZyB0byBjb21tZW50IG9mIGFtZGdwdV9ib19yZXNlcnZlLCBhbWRncHVf Ym9fcmVzZXJ2ZQ0KPiBjYW4gcmV0dXJuIHdpdGggLUVSRVNUQVJUU1lTLiBXaGVuIHRoaXMgZnVu Y3Rpb24gd2FzIGludGVycnVwdGVkDQo+IGJ5IGEgc2lnbmFsLCBCTyBzaG91bGQgbm90IGJlIHVu cmVmLiBPdGhlcndpc2UgdGhlIEJPIG1pZ2h0IGJlDQo+IHJlbGVhc2VkIHdoaWxlIGlzIGttYXBw ZWQgYW5kIHBpbm5lZCwgb3IgQk8gTUlHSFQgYmUgZGVyZWYNCj4gbXVsdGlwbGUgdGltZXMsIGV0 Yy4NCiAgICAgICAgIHIgPSBhbWRncHVfYm9fcmVzZXJ2ZShhZGV2LT52cmFtX3NjcmF0Y2gucm9i aiwgZmFsc2UpOw0Kd2UgaGF2ZSBzcGVjaWZpZWQgaW50ZXJydXB0aWJsZSB0byBmYWxzZSwgc28g LUVSRVNUQVJUU1lTIGlzbid0IHBvc3NpYmxlDQpoZXJlLg0KDQpUaGFua3MsDQpEYXZpZCBaaG91 DQo+DQo+IENoYW5nZS1JZDogSWY3NjA3MWE3Njg5NTBhMGQzYWQ5ZDVkYTdmY2FlMDQ4ODE4MDc2 MjENCj4gU2lnbmVkLW9mZi1ieTogQWxleCBYaWUgPEFsZXhCaW4uWGllQGFtZC5jb20+PG1haWx0 bzpBbGV4QmluLlhpZUBhbWQuY29tPg0KPiAtLS0NCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfZGV2aWNlLmMgfCAyICstDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pDQo+DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZGV2aWNlLmMNCj4gaW5kZXggNTM5OTZlMy4uMWRjYzJkMSAxMDA2NDQNCj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jDQo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYw0KPiBAQCAtMzU1LDggKzM1NSw4 IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV92cmFtX3NjcmF0Y2hfZmluaShzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldikNCj4gICAgICAgICAgICAgICAgYW1kZ3B1X2JvX2t1bm1hcChhZGV2LT52cmFt X3NjcmF0Y2gucm9iaik7DQo+ICAgICAgICAgICAgICAgIGFtZGdwdV9ib191bnBpbihhZGV2LT52 cmFtX3NjcmF0Y2gucm9iaik7DQo+ICAgICAgICAgICAgICAgIGFtZGdwdV9ib191bnJlc2VydmUo YWRldi0+dnJhbV9zY3JhdGNoLnJvYmopOw0KPiArICAgICAgICAgICAgIGFtZGdwdV9ib191bnJl ZigmYWRldi0+dnJhbV9zY3JhdGNoLnJvYmopOw0KPiAgICAgICAgfQ0KPiAtICAgICBhbWRncHVf Ym9fdW5yZWYoJmFkZXYtPnZyYW1fc2NyYXRjaC5yb2JqKTsNCj4gICB9DQo+DQo+ICAgLyoqDQoN Cg0KDQoNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N CmFtZC1nZnggbWFpbGluZyBsaXN0DQphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzxtYWls dG86YW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc+DQpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngNCg0KDQo= --_000_MWHPR1201MB004553768BCAC951D28A347AF2190MWHPR1201MB0045_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgc3R5bGU9 ImRpc3BsYXk6bm9uZTsiPjwhLS0gUCB7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDt9IC0t Pjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBkaXI9Imx0ciI+DQo8c3R5bGUgdHlwZT0idGV4dC9j c3MiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48IS0tIFAge21hcmdpbi10b3A6MDttYXJnaW4tYm90 dG9tOjA7fSAtLT48L3N0eWxlPg0KPGRpdiBpZD0iZGl2dGFnZGVmYXVsdHdyYXBwZXIiIHN0eWxl PSJmb250LXNpemU6MTJwdDtjb2xvcjojMDAwMDAwO2ZvbnQtZmFtaWx5OkNhbGlicmksQXJpYWws SGVsdmV0aWNhLHNhbnMtc2VyaWY7IiBkaXI9Imx0ciI+DQpIaSBDaHJpc3RpYW4sDQo8ZGl2Pjxi cj4NCjwvZGl2Pg0KPGRpdj5IYXZlIHlvdSBmb3VuZCBob3cvd2hlcmUvd2hlbj8gV2hlbiB5b3Ug c2FpZCAmcXVvdDs8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IENhbGlicmksIEFyaWFsLCBIZWx2 ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTZweDsiPm1hcHBpbmcgd2lsbCBqdXN0PC9z cGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogQ2FsaWJyaSwgQXJpYWwsIEhlbHZldGljYSwg c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNnB4OyI+Jm5ic3A7YmUgcmVsZWFzZWQgYSBiaXQNCiBs YXRlciBvbiZxdW90OywmbmJzcDt5b3UgbXVzdCBrbm93IHRoZSBhbnN3ZXIuJm5ic3A7PC9zcGFu PjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjxkaXY+SXQgaXMgZGlmZmljdWx0IHRvIHByb3Zl IHNvbWV0aGluZyBkb2VzIG5vdCBleGlzdC4gQW55d2F5LCBJIHdpbGwgZ2l2ZSBpdCBhIHRyeSB0 byBwcm92ZSBzdWNoJm5ic3A7JnF1b3Q7bGF0ZXIgb24mcXVvdDsgZG9lcyBub3QgZXhpc3QuPC9k aXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPGRpdj48c3Bhbj5GdW5jdGlvbiZuYnNwO3R0bV9ib19r dW5tYXAgaXMgdGhlIG9ubHkmbmJzcDtmdW5jdGlvbiB0byB1bm1hcC4gVG8gcHJvdmUgdGhpcywg c2VhcmNoJm5ic3A7PHNwYW4+dHRtX2JvX21hcF9pb21hcCwgb25seSZuYnNwOzxzcGFuIHN0eWxl PSJmb250LWZhbWlseTogQ2FsaWJyaSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgRW1v amlGb250LCAmcXVvdDtBcHBsZSBDb2xvciBFbW9qaSZxdW90OywgJnF1b3Q7U2Vnb2UgVUkgRW1v amkmcXVvdDssIE5vdG9Db2xvckVtb2ppLCAmcXVvdDtTZWdvZSBVSSBTeW1ib2wmcXVvdDssICZx dW90O0FuZHJvaWQgRW1vamkmcXVvdDssIEVtb2ppU3ltYm9sczsgZm9udC1zaXplOiAxNnB4OyI+ dHRtX2JvX2t1bm1hcA0KIHVzZSB0aGlzIGVudW0gdG8gY29ycmVjdGx5IGt1bm1hcC48L3NwYW4+ PC9zcGFuPjwvc3Bhbj48YnI+DQo8L2Rpdj4NCjxkaXY+PHNwYW4+PHNwYW4+PHNwYW4gc3R5bGU9 ImZvbnQtZmFtaWx5OiBDYWxpYnJpLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBFbW9q aUZvbnQsICZxdW90O0FwcGxlIENvbG9yIEVtb2ppJnF1b3Q7LCAmcXVvdDtTZWdvZSBVSSBFbW9q aSZxdW90OywgTm90b0NvbG9yRW1vamksICZxdW90O1NlZ29lIFVJIFN5bWJvbCZxdW90OywgJnF1 b3Q7QW5kcm9pZCBFbW9qaSZxdW90OywgRW1vamlTeW1ib2xzOyBmb250LXNpemU6IDE2cHg7Ij48 YnI+DQo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+PHNwYW4+PHNwYW4g c3R5bGU9ImZvbnQtZmFtaWx5OiBDYWxpYnJpLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlm LCBFbW9qaUZvbnQsICZxdW90O0FwcGxlIENvbG9yIEVtb2ppJnF1b3Q7LCAmcXVvdDtTZWdvZSBV SSBFbW9qaSZxdW90OywgTm90b0NvbG9yRW1vamksICZxdW90O1NlZ29lIFVJIFN5bWJvbCZxdW90 OywgJnF1b3Q7QW5kcm9pZCBFbW9qaSZxdW90OywgRW1vamlTeW1ib2xzOyBmb250LXNpemU6IDE2 cHg7Ij48c3Bhbj5GdW5jdGlvbiZuYnNwO3R0bV9ib19rdW5tYXAgaXMgbm90IGNhbGxlZA0KIGJ5 IHR0bSBpdHNlbGYuIFRoaXMgaXMgYSBoaW50IHRoYXQmbmJzcDthbGwgVFRNIGRlbGF5IGRlbGV0 ZSBtZWNoYW5pc20gb3IgdW5yZWYgbWVjaGFuaXNtIHdpbGwgTk9UIGt1bm1hcCBCTyBsYXRlciBv bi48L3NwYW4+PGJyPg0KPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPjxz cGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogQ2FsaWJyaSwgQXJpYWwsIEhlbHZldGljYSwg c2Fucy1zZXJpZiwgRW1vamlGb250LCAmcXVvdDtBcHBsZSBDb2xvciBFbW9qaSZxdW90OywgJnF1 b3Q7U2Vnb2UgVUkgRW1vamkmcXVvdDssIE5vdG9Db2xvckVtb2ppLCAmcXVvdDtTZWdvZSBVSSBT eW1ib2wmcXVvdDssICZxdW90O0FuZHJvaWQgRW1vamkmcXVvdDssIEVtb2ppU3ltYm9sczsgZm9u dC1zaXplOiAxNnB4OyI+PHNwYW4+PGJyPg0KPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwv ZGl2Pg0KPGRpdj48c3Bhbj48c3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IENhbGlicmks IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIEVtb2ppRm9udCwgJnF1b3Q7QXBwbGUgQ29s b3IgRW1vamkmcXVvdDssICZxdW90O1NlZ29lIFVJIEVtb2ppJnF1b3Q7LCBOb3RvQ29sb3JFbW9q aSwgJnF1b3Q7U2Vnb2UgVUkgU3ltYm9sJnF1b3Q7LCAmcXVvdDtBbmRyb2lkIEVtb2ppJnF1b3Q7 LCBFbW9qaVN5bWJvbHM7IGZvbnQtc2l6ZTogMTZweDsiPjxzcGFuPjxzcGFuIHN0eWxlPSJmb250 LWZhbWlseTogQ2FsaWJyaSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgRW1vamlGb250 LCAmcXVvdDtBcHBsZSBDb2xvciBFbW9qaSZxdW90OywgJnF1b3Q7U2Vnb2UgVUkgRW1vamkmcXVv dDssIE5vdG9Db2xvckVtb2ppLCAmcXVvdDtTZWdvZSBVSSBTeW1ib2wmcXVvdDssICZxdW90O0Fu ZHJvaWQgRW1vamkmcXVvdDssIEVtb2ppU3ltYm9sczsgZm9udC1zaXplOiAxNnB4OyI+RnVuY3Rp b24mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBDYWxpYnJpLCBBcmlhbCwg SGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBFbW9qaUZvbnQsICZxdW90O0FwcGxlIENvbG9yIEVtb2pp JnF1b3Q7LCAmcXVvdDtTZWdvZSBVSSBFbW9qaSZxdW90OywgTm90b0NvbG9yRW1vamksICZxdW90 O1NlZ29lIFVJIFN5bWJvbCZxdW90OywgJnF1b3Q7QW5kcm9pZCBFbW9qaSZxdW90OywgRW1vamlT eW1ib2xzOyBmb250LXNpemU6IDE2cHg7Ij50dG1fYm9fa3VubWFwDQogaXMgY2FsbGVkIGJ5IEFN REdQVSBmdW5jdGlvbiZuYnNwOzxzcGFuPmFtZGdwdV9ib19rdW5tYXAgYW5kJm5ic3A7PHNwYW4+ YW1kZ3B1X2dlbV9wcmltZV92dW5tYXAuPC9zcGFuPjwvc3Bhbj48L3NwYW4+PGJyPg0KPC9zcGFu Pjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjxkaXY+U2Vh cmNoIEFNREdQVSBmb3ImbmJzcDs8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IENhbGlicmksIEFy aWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIEVtb2ppRm9udCwgJnF1b3Q7QXBwbGUgQ29sb3Ig RW1vamkmcXVvdDssICZxdW90O1NlZ29lIFVJIEVtb2ppJnF1b3Q7LCBOb3RvQ29sb3JFbW9qaSwg JnF1b3Q7U2Vnb2UgVUkgU3ltYm9sJnF1b3Q7LCAmcXVvdDtBbmRyb2lkIEVtb2ppJnF1b3Q7LCBF bW9qaVN5bWJvbHM7IGZvbnQtc2l6ZTogMTZweDsiPmFtZGdwdV9ib19rdW5tYXAuIEFsbCZuYnNw O21hdGNoZXMgZG8gbm90Jm5ic3A7a3VubWFwDQogZm9yIHNjcmF0Y2ggVlJBTSZuYnNwO0JPLiAm bmJzcDs8c3Bhbj5hbWRncHVfYm9fZnJlZV9rZXJuZWwgaXMgYSBzdXNwZWN0IGJ1dCB0aGUgYW5z d2VyIGlzIHN0aWxsIE5PLjwvc3Bhbj48L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuIHN0eWxlPSJm b250LWZhbWlseTogQ2FsaWJyaSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgRW1vamlG b250LCAmcXVvdDtBcHBsZSBDb2xvciBFbW9qaSZxdW90OywgJnF1b3Q7U2Vnb2UgVUkgRW1vamkm cXVvdDssIE5vdG9Db2xvckVtb2ppLCAmcXVvdDtTZWdvZSBVSSBTeW1ib2wmcXVvdDssICZxdW90 O0FuZHJvaWQgRW1vamkmcXVvdDssIEVtb2ppU3ltYm9sczsgZm9udC1zaXplOiAxNnB4OyI+PHNw YW4+PGJyPg0KPC9zcGFuPjwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFt aWx5OiBDYWxpYnJpLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBFbW9qaUZvbnQsICZx dW90O0FwcGxlIENvbG9yIEVtb2ppJnF1b3Q7LCAmcXVvdDtTZWdvZSBVSSBFbW9qaSZxdW90Oywg Tm90b0NvbG9yRW1vamksICZxdW90O1NlZ29lIFVJIFN5bWJvbCZxdW90OywgJnF1b3Q7QW5kcm9p ZCBFbW9qaSZxdW90OywgRW1vamlTeW1ib2xzOyBmb250LXNpemU6IDE2cHg7Ij48c3Bhbj5TbyBh bGwgcG9zc2liaWxpdGllcyBhcmUgc2VhcmNoZWQuIERpZCBJIG1pc3MgYW55dGhpbmc/PC9zcGFu Pjwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBDYWxpYnJpLCBB cmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBFbW9qaUZvbnQsICZxdW90O0FwcGxlIENvbG9y IEVtb2ppJnF1b3Q7LCAmcXVvdDtTZWdvZSBVSSBFbW9qaSZxdW90OywgTm90b0NvbG9yRW1vamks ICZxdW90O1NlZ29lIFVJIFN5bWJvbCZxdW90OywgJnF1b3Q7QW5kcm9pZCBFbW9qaSZxdW90Oywg RW1vamlTeW1ib2xzOyBmb250LXNpemU6IDE2cHg7Ij48c3Bhbj48YnI+DQo8L3NwYW4+PC9zcGFu PjwvZGl2Pg0KPGRpdj5UaGFua3MsPC9kaXY+DQo8ZGl2PkFsZXggQmluIFhpZTwvZGl2Pg0KPGRp dj48YnI+DQo8L2Rpdj4NCjwvZGl2Pg0KPGhyIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazt3 aWR0aDo5OCUiIHRhYmluZGV4PSItMSI+DQo8ZGl2IGlkPSJkaXZScGx5RndkTXNnIiBkaXI9Imx0 ciI+PGZvbnQgZmFjZT0iQ2FsaWJyaSwgc2Fucy1zZXJpZiIgc3R5bGU9ImZvbnQtc2l6ZToxMXB0 IiBjb2xvcj0iIzAwMDAwMCI+PGI+RnJvbTo8L2I+IFhpZSwgQWxleEJpbjxicj4NCjxiPlNlbnQ6 PC9iPiBUdWVzZGF5LCBBcHJpbCAxOCwgMjAxNyAyOjA0OjMzIFBNPGJyPg0KPGI+VG86PC9iPiBD aHJpc3RpYW4gS8O2bmlnOyBaaG91LCBEYXZpZChDaHVuTWluZyk7IGFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnPGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBbUEFUQ0hdIGRtci9hbWRncHU6 IEZpeCB3cm9uZ2x5IHVucmVmIG9mIEJPPC9mb250Pg0KPGRpdj4mbmJzcDs8L2Rpdj4NCjwvZGl2 Pg0KPGRpdj4NCjxkaXYgaWQ9ImRpdnRhZ2RlZmF1bHR3cmFwcGVyIiBzdHlsZT0iZm9udC1zaXpl OjEycHQ7Y29sb3I6IzAwMDAwMDtmb250LWZhbWlseTpDYWxpYnJpLEFyaWFsLEhlbHZldGljYSxz YW5zLXNlcmlmOyIgZGlyPSJsdHIiPg0KPHA+SGkgQ2hyaXN0aWFuLDwvcD4NCjxwPjxicj4NCjwv cD4NCjxwPldvdWxkIHlvdSBwb2ludCBvdXQgd2hlcmUvd2hlbiB3aWxsIGt1bm1hcCBoYXBwZW4g Zm9yIHRoaXMgQk8gd2hlbiByZWxlYXNlPyZuYnNwOzxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEy cHQ7Ij5JdCBtdXN0IGJlIHNvbWV3aGVyZSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1z aXplOiAxMnB0OyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7Ij5pbiBzb21l IGZ1bmN0aW9uIGNhbGxzPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7Ij4uPC9z cGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7Ij48YnI+DQo8L3NwYW4+ PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTJwdDsiPkkgY2hlY2tlZCBiZWZvcmUg SSBhc2tlZCBmb3IgcmV2aWV3LiBCdXQgSSBkaWQgbm90IHNlZSBzdWNoIG9idmlvdXMga3VubWFw IGZ1bmN0aW9uIGNhbGwuPC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEy cHQ7Ij48YnI+DQo8L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTJwdDsi PklmIHNvLCB0aGVyZSBzaG91bGQgYmUmbmJzcDthIGNvbW1lbnQgaW4gZnVuY3Rpb24mbmJzcDs8 c3Bhbj5hbWRncHVfdnJhbV9zY3JhdGNoX2ZpbmkmbmJzcDs8L3NwYW4+dG8gYXZvaWQgZnV0dXJl IGNvbmZ1c2lvbi48L3NwYW4+PC9wPg0KPGJyPg0KVGhhbmtzLA0KPGRpdj5BbGV4IEJpbiBYaWU8 YnI+DQo8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyI+DQo8aHIgdGFiaW5kZXg9Ii0x IiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7IHdpZHRoOjk4JSI+DQo8ZGl2IGlkPSJkaXZS cGx5RndkTXNnIiBkaXI9Imx0ciI+PGZvbnQgZmFjZT0iQ2FsaWJyaSwgc2Fucy1zZXJpZiIgY29s b3I9IiMwMDAwMDAiIHN0eWxlPSJmb250LXNpemU6MTFwdCI+PGI+RnJvbTo8L2I+IENocmlzdGlh biBLw7ZuaWcgJmx0O2RlYXRoc2ltcGxlQHZvZGFmb25lLmRlJmd0Ozxicj4NCjxiPlNlbnQ6PC9i PiBUdWVzZGF5LCBBcHJpbCAxOCwgMjAxNyAxOjQ2IFBNPGJyPg0KPGI+VG86PC9iPiBYaWUsIEFs ZXhCaW47IFpob3UsIERhdmlkKENodW5NaW5nKTsgYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmc8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtQQVRDSF0gZG1yL2FtZGdwdTogRml4IHdyb25n bHkgdW5yZWYgb2YgQk88L2ZvbnQ+DQo8ZGl2PiZuYnNwOzwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0K PGRpdiBjbGFzcz0ibW96LWNpdGUtcHJlZml4Ij5IaSBBbGV4QmluLDxicj4NCjxicj4NCk5vLCBE YXZpZCBpcyByaWdodC4gVGhpcyBpcyBhIHZlcnkgY29tbW9uIGNvZGluZyBwYXR0ZXJuIGluIHRo ZSBrZXJuZWwgbW9kdWxlLjxicj4NCjxicj4NCkZyZWVpbmcgdXAgYSBCTyB3aGlsZSB0aGVyZSBz dGlsbCBleGlzdHMgYSBrZXJuZWwgbWFwcGluZyBpcyBwZXJmZWN0bHkgb2ssIHRoZSBtYXBwaW5n IHdpbGwganVzdCBiZSByZWxlYXNlZCBhIGJpdCBsYXRlciBvbi48YnI+DQo8YnI+DQpTbyB0aGlz IGNvZGUgaXMgYWN0dWFsbHkgcGVyZmVjdGx5IG9rIGFuZCBqdXN0IGFuIG9wdGltaXphdGlvbiwg YnV0IHlvdXIgcGF0Y2ggYnJlYWtzIGl0IGFuZCBjcmVhdGVzIGEgbWVtb3J5IGxlYWsuPGJyPg0K PGJyPg0KUmVnYXJkcyw8YnI+DQpDaHJpc3RpYW4uPGJyPg0KPGJyPg0KQW0gMTguMDQuMjAxNyB1 bSAxNzoxNyBzY2hyaWViIFhpZSwgQWxleEJpbjo8YnI+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHR5 cGU9ImNpdGUiPg0KPGRpdiBpZD0iZGl2dGFnZGVmYXVsdHdyYXBwZXIiIGRpcj0ibHRyIiBzdHls ZT0iZm9udC1zaXplOjEycHQ7IGNvbG9yOiMwMDAwMDA7IGZvbnQtZmFtaWx5OkNhbGlicmksQXJp YWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYiPg0KPHA+SGkgRGF2aWQsPC9wPg0KPHA+PGJyPg0KPC9w Pg0KPHA+V2hlbiZuYnNwOzxzcGFuIHN0eWxlPSJmb250LXNpemU6MTJwdDsgZm9udC1mYW1pbHk6 Q2FsaWJyaSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiI+YW1kZ3B1X2JvX3Jlc2VydmUgcmV0 dXJuIGVycm9ycywgd2UgY2Fubm90IHJlbGVhc2UgdGhlIEJPLiBUaGlzIGlzIG5vdCBhIG1lbW9y eSBsZWFrLiBHZW5lcmFsIHNwZWFraW5nLCBtZW1vcnkgbGVhayBpcyZuYnNwO3Vubm90aWNlZCBh bmQgdW5pbnRlbnRpb25hbC48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox MnB0OyBmb250LWZhbWlseTpDYWxpYnJpLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmIj48YnI+ DQo8L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMnB0OyBmb250LWZhbWls eTpDYWxpYnJpLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmIj5UaGUgY2FsbGVyIG9mIGZ1bmN0 aW9uJm5ic3A7PHNwYW4+YW1kZ3B1X3ZyYW1fc2NyYXRjaF9maW5pIGlnbm9yZXMgdGhlIHJldHVy biBlcnJvciB2YWx1ZS4uLjwvc3Bhbj48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxMnB0OyBmb250LWZhbWlseTpDYWxpYnJpLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlm Ij48c3Bhbj48YnI+DQo8L3NwYW4+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNp emU6MTJwdDsgZm9udC1mYW1pbHk6Q2FsaWJyaSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiI+ PHNwYW4+VGhlICZxdW90O21lbW9yeSBsZWFrJnF1b3Q7IGlzIG5vdCBjYXVzZWQgYnkgbXkgcGF0 Y2guIEl0IGlzIGNhdXNlZCBiZWNhdXNlIHJlc2VydmluZyBCTyBmYWlscy48L3NwYW4+PC9zcGFu PjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpLEFyaWFsLEhlbHZldGlj YSxzYW5zLXNlcmlmOyBmb250LXNpemU6MTJwdCI+PGJyPg0KPC9zcGFuPjwvcD4NCjxwPjxzcGFu IHN0eWxlPSJmb250LXNpemU6MTJwdDsgZm9udC1mYW1pbHk6Q2FsaWJyaSxBcmlhbCxIZWx2ZXRp Y2Esc2Fucy1zZXJpZiI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1p bHk6Q2FsaWJyaSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsgZm9udC1zaXplOjEycHQiPlRo aXMmbmJzcDtwYXRjaCBvbmx5IGFpbSB0byBtYWtlIGZ1bmN0aW9uJm5ic3A7PC9zcGFuPjxzcGFu IHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmOyBm b250LXNpemU6MTJwdCI+YW1kZ3B1X3ZyYW1fc2NyYXRjaF9maW5pDQogYmVoYXZlIGNvcnJlY3Rs eS48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMnB0OyBmb250LWZhbWls eTpDYWxpYnJpLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmIj48c3Bhbj48YnI+DQo8L3NwYW4+ PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTJwdDsgZm9udC1mYW1pbHk6 Q2FsaWJyaSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiI+PHNwYW4+VG8gZm9sbG93IHVwLCB3 ZSBjYW4gYWRkIGEgd2FybmluZyBtZXNzYWdlIHdoZW4NCjxzcGFuIHN0eWxlPSJmb250LWZhbWls eTpDYWxpYnJpLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmOyBmb250LXNpemU6MTZweCI+YW1k Z3B1X2JvX3Jlc2VydmU8L3NwYW4+IGVycm9yIGhhcHBlbnMgaW4gYSBkaWZmZXJlbnQgcGF0Y2gu PC9zcGFuPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEycHQ7IGZvbnQt ZmFtaWx5OkNhbGlicmksQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYiPjxzcGFuPjxicj4NCjwv c3Bhbj48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMnB0OyBmb250LWZh bWlseTpDYWxpYnJpLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmIj5JZiBmdW5jdGlvbiBjYWxs Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpLEFyaWFsLEhlbHZl dGljYSxzYW5zLXNlcmlmOyBmb250LXNpemU6MTJwdCI+YW1kZ3B1X2JvX3Jlc2VydmUgaXMgY2hh bmdlZCB0byB1bmludGVycnVwdGlibGUsIHRoaXMgY2hhbmdlcyZuYnNwO2RyaXZlciZuYnNwO2Jl aGF2aW91ci4NCiBXaXRob3V0IGEgc3Vic3RhbnRpYWwgaXNzdWUsIEkgd291bGQgYmUgY2F1dGlv dXMgZm9yIHN1Y2ggYSBjaGFuZ2UuPC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNp emU6MTJwdDsgZm9udC1mYW1pbHk6Q2FsaWJyaSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiI+ PGJyPg0KPC9zcGFuPjwvcD4NCjxwPlRoYW5rcyw8L3A+DQo8cD5BbGV4IEJpbiBYaWU8L3A+DQo8 YnI+DQo8ZGl2IHN0eWxlPSJjb2xvcjpyZ2IoMCwwLDApIj4NCjxociB0YWJpbmRleD0iLTEiIHN0 eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazsgd2lkdGg6OTglIj4NCjxkaXYgaWQ9ImRpdlJwbHlG d2RNc2ciIGRpcj0ibHRyIj48Zm9udCBjb2xvcj0iIzAwMDAwMCIgZmFjZT0iQ2FsaWJyaSwgc2Fu cy1zZXJpZiIgc3R5bGU9ImZvbnQtc2l6ZToxMXB0Ij48Yj5Gcm9tOjwvYj4gWmhvdSwgRGF2aWQo Q2h1bk1pbmcpPGJyPg0KPGI+U2VudDo8L2I+IE1vbmRheSwgQXByaWwgMTcsIDIwMTcgMTA6Mzgg UE08YnI+DQo8Yj5Ubzo8L2I+IFhpZSwgQWxleEJpbjsgPGEgY2xhc3M9Im1vei10eHQtbGluay1h YmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnIj4N CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPC9hPjxicj4NCjxiPlN1YmplY3Q6PC9iPiBS ZTogW1BBVENIXSBkbXIvYW1kZ3B1OiBGaXggd3JvbmdseSB1bnJlZiBvZiBCTzwvZm9udD4NCjxk aXY+Jm5ic3A7PC9kaXY+DQo8L2Rpdj4NCjxkaXY+PGJyPg0KPGJyPg0KPGRpdiBjbGFzcz0ibW96 LWNpdGUtcHJlZml4Ij5PbiAyMDE35bm0MDTmnIgxN+aXpSAyMjo1NCwgWGllLCBBbGV4QmluIHdy b3RlOjxicj4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+DQo8ZGl2IGlkPSJkaXZ0 YWdkZWZhdWx0d3JhcHBlciIgZGlyPSJsdHIiIHN0eWxlPSJmb250LXNpemU6MTJwdDsgY29sb3I6 IzAwMDAwMDsgZm9udC1mYW1pbHk6Q2FsaWJyaSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiI+ DQo8cD5IaSBEYXZpZCw8L3A+DQo8cD48YnI+DQo8L3A+DQo8cD5UaGFua3MgZm9yIHRoZSBjb21t ZW50cy4gSG93ZXZlciwgcGxlYXNlIGhhdmUgbG9vayBhdCA8c3BhbiBzdHlsZT0iIj5hbWRncHVf Ym9fcmVzZXJ2ZTwvc3Bhbj4gZGVmaW5pdGlvbi48L3A+DQo8cD48c3Bhbj5zdGF0aWMgaW5saW5l IGludCBhbWRncHVfYm9fcmVzZXJ2ZShzdHJ1Y3QgYW1kZ3B1X2JvICpibywgYm9vbCBub19pbnRy KTwvc3Bhbj48YnI+DQo8L3A+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCkFoLCB0aGlzIGlzIGEg d2lyZWQgd3JhcHBlciBmb3IgdHRtX2JvX3Jlc2VydmUuPGJyPg0KPGJyPg0KPGJsb2NrcXVvdGUg dHlwZT0iY2l0ZSI+DQo8ZGl2IGlkPSJkaXZ0YWdkZWZhdWx0d3JhcHBlciIgZGlyPSJsdHIiIHN0 eWxlPSJmb250LXNpemU6MTJwdDsgY29sb3I6IzAwMDAwMDsgZm9udC1mYW1pbHk6Q2FsaWJyaSxB cmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiI+DQo8cD48c3Bhbj48YnI+DQo8L3NwYW4+PC9wPg0K PHA+PHNwYW4+V2hlbiB3ZSBjYWxsIHRoaXMgZnVuY3Rpb24gbGlrZSB0aGUgZm9sbG93aW5nOjwv c3Bhbj48L3A+DQo8cD48c3Bhbj48c3BhbiBzdHlsZT0iIj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ciA9IGFtZGdwdV9ib19yZXNlcnZlKGFkZXYtJmd0O3ZyYW1fc2NyYXRjaC5y b2JqLCBmYWxzZSk7PC9zcGFuPjxiciBzdHlsZT0iIj4NCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9u dC1zaXplOjEycHQiPlRoZSBmYWxzZSBtZWFucyA8c3Bhbj5pbnRlcnJ1cHRpYmxlPC9zcGFuPi48 L3NwYW4+PHNwYW4+PGJyPg0KPC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTJwdCI+PGJyPg0KPC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTJwdCI+ T24gdGhlIG90aGVyIGhhbmQsICZuYnNwO3doZW4mbmJzcDs8c3BhbiBzdHlsZT0iIj5hbWRncHVf Ym9fcmVzZXJ2ZSBmdW5jdGlvbiByZXR1cm4gZXJyb3IsIHdoeSBkbyB3ZSB1bnJlZiBCTyB3aXRo b3V0IGt1bm1hcCBhbmQgdW5waW4gdGhlIEJPPyBUaGlzIGlzIHdyb25nIGltcGxlbWVudGF0aW9u Jm5ic3A7d2hlbiZuYnNwOzxzcGFuIHN0eWxlPSIiPmFtZGdwdV9ib19yZXNlcnZlIHJldHVybiBh bnkgZXJyb3IuPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+ DQpZZWFoLCBJIHNlZSB5b3VyIG1lYW4sIGl0J3MgaW4gZHJpdmVyIHVuLWxvYWRpbmcsIEhvdyBh Ym91dCBjaGFuZ2luZyB0byBubyBpbnRlcnJ1cHRpYmxlPyBZb3VyIHBhdGNoIHdpbGwgbWFrZSBh IG1lbWxlYWsgaWYgYm9fcmVzZXJ2ZSBmYWlscywgYnV0IGl0IHNlZW1zIG5vdCBtYXR0ZXIuIEkg aGF2ZSBubyBzdHJvbmcgcHJlZmVyZW5jZS48YnI+DQo8YnI+DQpSZWdhcmRzLDxicj4NCkRhdmlk IFpob3U8YnI+DQo8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4NCjxkaXYgaWQ9ImRpdnRhZ2RlZmF1 bHR3cmFwcGVyIiBkaXI9Imx0ciIgc3R5bGU9ImZvbnQtc2l6ZToxMnB0OyBjb2xvcjojMDAwMDAw OyBmb250LWZhbWlseTpDYWxpYnJpLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmIj4NCjxwPjxi cj4NCjwvcD4NClRoYW5rcywNCjxkaXY+QWxleCBCaW4gWGllPGJyPg0KPGJyPg0KPGRpdiBzdHls ZT0iY29sb3I6cmdiKDAsMCwwKSI+DQo8ZGl2Pg0KPGhyIHRhYmluZGV4PSItMSIgc3R5bGU9ImRp c3BsYXk6aW5saW5lLWJsb2NrOyB3aWR0aDo5OCUiPg0KPGRpdiBpZD0ieF9kaXZScGx5RndkTXNn IiBkaXI9Imx0ciI+PGZvbnQgY29sb3I9IiMwMDAwMDAiIGZhY2U9IkNhbGlicmksIHNhbnMtc2Vy aWYiIHN0eWxlPSJmb250LXNpemU6MTFwdCI+PGI+RnJvbTo8L2I+IFpob3UsIERhdmlkKENodW5N aW5nKTxicj4NCjxiPlNlbnQ6PC9iPiBGcmlkYXksIEFwcmlsIDE0LCAyMDE3IDEyOjAwIEFNPGJy Pg0KPGI+VG86PC9iPiBYaWUsIEFsZXhCaW47IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2 aWF0ZWQiIGhyZWY9Im1haWx0bzphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZyI+DQphbWQt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzwvYT48YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtQ QVRDSF0gZG1yL2FtZGdwdTogRml4IHdyb25nbHkgdW5yZWYgb2YgQk88L2ZvbnQ+DQo8ZGl2PiZu YnNwOzwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjxmb250IHNpemU9IjIiPjxzcGFuIHN0eWxlPSJm b250LXNpemU6MTBwdCI+DQo8ZGl2IGNsYXNzPSJQbGFpblRleHQiPjxicj4NCjxicj4NCk9uIDIw MTflubQwNOaciDE05pelIDA1OjM0LCBBbGV4IFhpZSB3cm90ZTo8YnI+DQomZ3Q7IEFjY29yZGlu ZyB0byBjb21tZW50IG9mIGFtZGdwdV9ib19yZXNlcnZlLCBhbWRncHVfYm9fcmVzZXJ2ZTxicj4N CiZndDsgY2FuIHJldHVybiB3aXRoIC1FUkVTVEFSVFNZUy4gV2hlbiB0aGlzIGZ1bmN0aW9uIHdh cyBpbnRlcnJ1cHRlZDxicj4NCiZndDsgYnkgYSBzaWduYWwsIEJPIHNob3VsZCBub3QgYmUgdW5y ZWYuIE90aGVyd2lzZSB0aGUgQk8gbWlnaHQgYmU8YnI+DQomZ3Q7IHJlbGVhc2VkIHdoaWxlIGlz IGttYXBwZWQgYW5kIHBpbm5lZCwgb3IgQk8gTUlHSFQgYmUgZGVyZWY8YnI+DQomZ3Q7IG11bHRp cGxlIHRpbWVzLCBldGMuPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IHIgPSBhbWRncHVfYm9fcmVzZXJ2ZShhZGV2LSZndDt2cmFtX3NjcmF0Y2gu cm9iaiwgZmFsc2UpOzxicj4NCndlIGhhdmUgc3BlY2lmaWVkIGludGVycnVwdGlibGUgdG8gZmFs c2UsIHNvIC1FUkVTVEFSVFNZUyBpc24ndCBwb3NzaWJsZSA8YnI+DQpoZXJlLjxicj4NCjxicj4N ClRoYW5rcyw8YnI+DQpEYXZpZCBaaG91PGJyPg0KJmd0Ozxicj4NCiZndDsgQ2hhbmdlLUlkOiBJ Zjc2MDcxYTc2ODk1MGEwZDNhZDlkNWRhN2ZjYWUwNDg4MTgwNzYyMTxicj4NCiZndDsgU2lnbmVk LW9mZi1ieTogQWxleCBYaWUgPGEgY2xhc3M9Im1vei10eHQtbGluay1yZmMyMzk2RSIgaHJlZj0i bWFpbHRvOkFsZXhCaW4uWGllQGFtZC5jb20iPg0KJmx0O0FsZXhCaW4uWGllQGFtZC5jb20mZ3Q7 PC9hPjxicj4NCiZndDsgLS0tPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgfCAyICYjNDM7LTxicj4NCiZndDsmbmJzcDsmbmJz cDsgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCYjNDM7KSwgMSBkZWxldGlvbigtKTxicj4N CiZndDs8YnI+DQomZ3Q7IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNl LmM8YnI+DQomZ3Q7IGluZGV4IDUzOTk2ZTMuLjFkY2MyZDEgMTAwNjQ0PGJyPg0KJmd0OyAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmM8YnI+DQomZ3Q7ICYj NDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2Uu Yzxicj4NCiZndDsgQEAgLTM1NSw4ICYjNDM7MzU1LDggQEAgc3RhdGljIHZvaWQgYW1kZ3B1X3Zy YW1fc2NyYXRjaF9maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTxicj4NCiZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYW1kZ3B1X2JvX2t1bm1hcChhZGV2LSZndDt2 cmFtX3NjcmF0Y2gucm9iaik7PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBhbWRncHVfYm9fdW5waW4oYWRldi0mZ3Q7dnJhbV9zY3JhdGNoLnJvYmopOzxicj4NCiZn dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYW1kZ3B1X2JvX3VucmVzZXJ2ZShh ZGV2LSZndDt2cmFtX3NjcmF0Y2gucm9iaik7PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBhbWRncHVfYm9fdW5yZWYoJmFtcDthZGV2LSZndDt2cmFtX3NjcmF0Y2gucm9iaik7PGJyPg0K Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0 OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGFtZGdwdV9ib191bnJlZigmYW1wO2FkZXYtJmd0 O3ZyYW1fc2NyYXRjaC5yb2JqKTs8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jm5i c3A7Jm5ic3A7IDxicj4NCiZndDsmbmJzcDsmbmJzcDsgLyoqPGJyPg0KPGJyPg0KPC9kaXY+DQo8 L3NwYW4+PC9mb250PjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxicj4N CjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjxicj4NCjxmaWVsZHNldCBjbGFzcz0ibWltZUF0dGFj aG1lbnRIZWFkZXIiPjwvZmllbGRzZXQ+IDxicj4NCjxwcmU+X19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKPGEgY2xhc3M9 Im1vei10eHQtbGluay1hYmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOmFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnIj5hbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzwvYT4KPGEgY2xhc3M9 Im1vei10eHQtbGluay1mcmVldGV4dCIgaHJlZj0iaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Ij5odHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng8L2E+CjwvcHJlPg0KPC9ibG9ja3F1b3RlPg0KPHA+ PGJyPg0KPC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9k eT4NCjwvaHRtbD4NCg== --_000_MWHPR1201MB004553768BCAC951D28A347AF2190MWHPR1201MB0045_-- --===============0934679062== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBt YWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg== --===============0934679062==--