From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from m97173.mail.qiye.163.com (m97173.mail.qiye.163.com [220.181.97.173]) by mx.groups.io with SMTP id smtpd.web09.9248.1639039937444146902 for ; Thu, 09 Dec 2021 00:52:18 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: zd-tech.com.cn, ip: 220.181.97.173, mailfrom: jdzhang@zd-tech.com.cn) Received: from jdzhang$zd-tech.com.cn ( [223.104.122.167] ) by ajax-webmail-wmsvr13 (Coremail) ; Thu, 9 Dec 2021 16:52:12 +0800 (CST) X-Originating-IP: [223.104.122.167] Date: Thu, 9 Dec 2021 16:52:12 +0800 (CST) From: "Jordan Zhang" To: "Wu, Hao A" Cc: "devel@edk2.groups.io" Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/Bus/Pci/UhciDxe: Fix the UsbHc memory allocate and free issue X-Priority: 3 X-Mailer: Coremail Webmail Server Version SP_ntes V3.5 build 20190614(cb3344cf) Copyright (c) 2002-2021 www.mailtech.cn 163-hosting In-Reply-To: References: MIME-Version: 1.0 Message-ID: X-Coremail-Locale: zh_CN X-CM-TRANSID: reCowABHZi68w7FhFZ5qAA--.10919W X-CM-SenderInfo: xmg2xtdqj66vonwhuxoofrzhdfq/1tbiYQdkili2lqwVwwAAsK X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== Content-Type: multipart/alternative; boundary="----=_Part_45922_2027689783.1639039932637" ------=_Part_45922_2027689783.1639039932637 Content-Type: text/plain; charset=GBK Content-Transfer-Encoding: base64 VGhhbmtzISAKCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0gCgoKCreivP7Iy6O6Ild1LCBIYW8gQSIgPGhhby5hLnd1QGludGVsLmNvbT4Kt6LL zcjVxtqjujIwMjEtMTItMDkgMTA6Mzk6NTgKytW8/sjLo7oiZGV2ZWxAZWRrMi5ncm91cHMuaW8i IDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4sIld1LCBIYW8gQSIgPGhhby5hLnd1QGludGVsLmNvbT4s ImpkemhhbmdAemQtdGVjaC5jb20uY24iIDxqZHpoYW5nQHpkLXRlY2guY29tLmNuPgrW98zio7pS RTogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlTW9kdWxlUGtnL0J1cy9QY2kvVWhjaUR4ZTogRml4 IHRoZSBVc2JIYyBtZW1vcnkgYWxsb2NhdGUgYW5kIGZyZWUgaXNzdWUKCgpQdXNoZWQgdmlhOgoK UFIgLSBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvcHVsbC8yMjY3CgpDb21taXQg LSBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvY29tbWl0L2QyNWI4MDNlNTE0YTEx YTI1ZGU5MWQ0MTc0YjI4OWQyYWU3ODMzMzgKCiAKCkJlc3QgUmVnYXJkcywKCkhhbyBXdQoKIAoK RnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhh bGYgT2YgV3UsIEhhbyBBClNlbnQ6IFRodXJzZGF5LCBOb3ZlbWJlciAyNSwgMjAyMSAxOjQ3IFBN ClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgamR6aGFuZ0B6ZC10ZWNoLmNvbS5jbgpTdWJqZWN0 OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlTW9kdWxlUGtnL0J1cy9QY2kvVWhjaUR4ZTog Rml4IHRoZSBVc2JIYyBtZW1vcnkgYWxsb2NhdGUgYW5kIGZyZWUgaXNzdWUKCiAKClRoYW5rcyBm b3IgdGhlIGZpeC4KClJldmlld2VkLWJ5OiBIYW8gQSBXdSA8aGFvLmEud3VAaW50ZWwuY29tPgoK IAoKV2lsbCBob2xkIHRoZSBtZXJnaW5nIG9mIHRoZSBwYXRjaCBhZnRlciB0aGUgdXBjb21pbmcg ZWRrMi1zdGFibGUyMDIxMTEgdGFnLgoKIAoKQmVzdCBSZWdhcmRzLAoKSGFvIFd1CgogCgpGcm9t OmRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9m INXFvNK2qApTZW50OiBUaHVyc2RheSwgTm92ZW1iZXIgMjUsIDIwMjEgMTE6MjAgQU0KVG86ZGV2 ZWxAZWRrMi5ncm91cHMuaW8KU3ViamVjdDogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlTW9kdWxl UGtnL0J1cy9QY2kvVWhjaUR4ZTogRml4IHRoZSBVc2JIYyBtZW1vcnkgYWxsb2NhdGUgYW5kIGZy ZWUgaXNzdWUKCiAKCldoZW4gdXNlIHRoZSBVc2JIY0FsbG9jTWVtRnJvbUJsb2NrKCkgYW5kIFVz YkhjRnJlZU1lbSgpIHRvIGFsbG9jYXRlIG1lbW9yeSBhbmQgZnJlZSBtZW1vcnkgZm9yIHRoZSBV SEMsIGl0IHNob3VsZCB1c2UgdGhlIGNvcnJlc3BvbmRpbmcgaG9zdCBhZGRyZXNzIGJ1dCBub3Qg dGhlIHBjaSBidXMgYWRkcmVzcy4KCiAKClNpZ25lZC1vZmYtYnk6IGpkemhhbmcgPGpkemhhbmdA emQtdGVjaC5jb20uY24+CgotLS0KCiBNZGVNb2R1bGVQa2cvQnVzL1BjaS9VaGNpRHhlL1VzYkhj TWVtLmMgfCA4ICsrKystLS0tCgogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkKCiAKCmRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQnVzL1BjaS9VaGNpRHhl L1VzYkhjTWVtLmMgYi9NZGVNb2R1bGVQa2cvQnVzL1BjaS9VaGNpRHhlL1VzYkhjTWVtLmMKCmlu ZGV4IDlhYWRlMTlmOGUuLjA0MTYzOGEyZGUgMTAwNjQ0CgotLS0gYS9NZGVNb2R1bGVQa2cvQnVz L1BjaS9VaGNpRHhlL1VzYkhjTWVtLmMKCisrKyBiL01kZU1vZHVsZVBrZy9CdXMvUGNpL1VoY2lE eGUvVXNiSGNNZW0uYwoKQEAgLTIxMSw3ICsyMTEsNyBAQCBVc2JIY0FsbG9jTWVtRnJvbUJsb2Nr ICgKCiAgICAgTkVYVF9CSVQgKEJ5dGUsIEJpdCk7CgogICB9CgogCgotICByZXR1cm4gQmxvY2st PkJ1ZiArIChTdGFydEJ5dGUgKiA4ICsgU3RhcnRCaXQpICogVVNCSENfTUVNX1VOSVQ7CgorICBy ZXR1cm4gQmxvY2stPkJ1Zkhvc3QgKyAoU3RhcnRCeXRlICogOCArIFN0YXJ0Qml0KSAqIFVTQkhD X01FTV9VTklUOwoKIH0KCiAKCiAvKioKCkBAIC01MTgsMTIgKzUxOCwxMiBAQCBVc2JIY0ZyZWVN ZW0gKAoKICAgICAvLyBzY2FuIHRoZSBtZW1vcnkgYmxvY2sgbGlzdCBmb3IgdGhlIG1lbW9yeSBi bG9jayB0aGF0CgogICAgIC8vIGNvbXBsZXRlbHkgY29udGFpbnMgdGhlIG1lbW9yeSB0byBmcmVl LgoKICAgICAvLwoKLSAgICBpZiAoKEJsb2NrLT5CdWYgPD0gVG9GcmVlKSAmJiAoKFRvRnJlZSAr IEFsbG9jU2l6ZSkgPD0gKEJsb2NrLT5CdWYgKyBCbG9jay0+QnVmTGVuKSkpIHsKCisgICAgaWYg KChCbG9jay0+QnVmSG9zdCA8PSBUb0ZyZWUpICYmICgoVG9GcmVlICsgQWxsb2NTaXplKSA8PSAo QmxvY2stPkJ1Zkhvc3QgKyBCbG9jay0+QnVmTGVuKSkpIHsKCiAgICAgICAvLwoKICAgICAgIC8v IGNvbXB1dGUgdGhlIHN0YXJ0IGJ5dGUgYW5kIGJpdCBpbiB0aGUgYml0IGFycmF5CgogICAgICAg Ly8KCi0gICAgICBCeXRlICA9ICgoVG9GcmVlIC0gQmxvY2stPkJ1ZikgLyBVU0JIQ19NRU1fVU5J VCkgLyA4OwoKLSAgICAgIEJpdCAgID0gKChUb0ZyZWUgLSBCbG9jay0+QnVmKSAvIFVTQkhDX01F TV9VTklUKSAlIDg7CgorICAgICAgQnl0ZSAgPSAoKFRvRnJlZSAtIEJsb2NrLT5CdWZIb3N0KSAv IFVTQkhDX01FTV9VTklUKSAvIDg7CgorICAgICAgQml0ICAgPSAoKFRvRnJlZSAtIEJsb2NrLT5C dWZIb3N0KSAvIFVTQkhDX01FTV9VTklUKSAlIDg7CgogCgogICAgICAgLy8KCiAgICAgICAvLyBy ZXNldCBhc3NvY2lhdGVkIGJpdHMgaW4gYml0IGFycmF5CgotLSAKCjIuMzAuMC53aW5kb3dzLjEK CiAKCg== ------=_Part_45922_2027689783.1639039932637 Content-Type: text/html; charset=GBK Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6MS43O2NvbG9yOiMwMDAwMDA7Zm9udC1zaXplOjE0cHg7 Zm9udC1mYW1pbHk6QXJpYWwiPjxwcmUgc3R5bGU9IndpZHRoOiAxMjM4LjA0cHg7Ij5UaGFua3Mh IDwvcHJlPjxicj48YnI+PGJyPjxicj48ZGl2IHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt6b29t OjEiPi0tPHNwYW4gc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7Ij4tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSZuYnNwOzwvc3Bhbj48ZGl2IHN0eWxl PSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImNsZWFyOmJvdGgi PjwvZGl2PjwvZGl2Pjxicj63orz+yMujuiJXdSwgSGFvIEEiICZsdDtoYW8uYS53dUBpbnRlbC5j b20mZ3Q7PGJyPreiy83I1cbao7oyMDIxLTEyLTA5IDEwOjM5OjU4PGJyPsrVvP7Iy6O6ImRldmVs QGVkazIuZ3JvdXBzLmlvIiAmbHQ7ZGV2ZWxAZWRrMi5ncm91cHMuaW8mZ3Q7LCJXdSwgSGFvIEEi ICZsdDtoYW8uYS53dUBpbnRlbC5jb20mZ3Q7LCJqZHpoYW5nQHpkLXRlY2guY29tLmNuIiAmbHQ7 amR6aGFuZ0B6ZC10ZWNoLmNvbS5jbiZndDs8YnI+1vfM4qO6UkU6IFtlZGsyLWRldmVsXSBbUEFU Q0hdIE1kZU1vZHVsZVBrZy9CdXMvUGNpL1VoY2lEeGU6IEZpeCB0aGUgVXNiSGMgbWVtb3J5IGFs bG9jYXRlIGFuZCBmcmVlIGlzc3VlPGJyPjxibG9ja3F1b3RlIGlkPSJpc1JlcGx5Q29udGVudCIg c3R5bGU9IlBBRERJTkctTEVGVDogMWV4OyBNQVJHSU46IDBweCAwcHggMHB4IDAuOGV4OyBCT1JE RVItTEVGVDogI2NjYyAxcHggc29saWQiPgoKCgo8c3R5bGU+PC9zdHlsZT4KCgo8ZGl2IGNsYXNz PSJXb3JkU2VjdGlvbjEiPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5QdXNoZWQgdmlhOjxvOnA+PC9v OnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5QUiAtIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHVi LmNvbS90aWFub2NvcmUvZWRrMi9wdWxsLzIyNjciPmh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2Nv cmUvZWRrMi9wdWxsLzIyNjc8L2E+PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwi PkNvbW1pdCAtIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9jb21t aXQvZDI1YjgwM2U1MTRhMTFhMjVkZTkxZDQxNzRiMjg5ZDJhZTc4MzMzOCI+Cmh0dHBzOi8vZ2l0 aHViLmNvbS90aWFub2NvcmUvZWRrMi9jb21taXQvZDI1YjgwM2U1MTRhMTFhMjVkZTkxZDQxNzRi Mjg5ZDJhZTc4MzMzODwvYT48bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86 cD4mbmJzcDs8L286cD48L3A+CjxkaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkJlc3QgUmVnYXJk cyw8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SGFvIFd1PG86cD48L286cD48 L3A+CjwvZGl2Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4KPGRp dj4KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0 O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20iPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj5Gcm9t OjwvYj4gZGV2ZWxAZWRrMi5ncm91cHMuaW8gJmx0O2RldmVsQGVkazIuZ3JvdXBzLmlvJmd0OyA8 Yj4KT24gQmVoYWxmIE9mIDwvYj5XdSwgSGFvIEE8YnI+CjxiPlNlbnQ6PC9iPiBUaHVyc2RheSwg Tm92ZW1iZXIgMjUsIDIwMjEgMTo0NyBQTTxicj4KPGI+VG86PC9iPiBkZXZlbEBlZGsyLmdyb3Vw cy5pbzsgamR6aGFuZ0B6ZC10ZWNoLmNvbS5jbjxicj4KPGI+U3ViamVjdDo8L2I+IFJlOiBbZWRr Mi1kZXZlbF0gW1BBVENIXSBNZGVNb2R1bGVQa2cvQnVzL1BjaS9VaGNpRHhlOiBGaXggdGhlIFVz YkhjIG1lbW9yeSBhbGxvY2F0ZSBhbmQgZnJlZSBpc3N1ZTxvOnA+PC9vOnA+PC9wPgo8L2Rpdj4K PC9kaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPgo8cCBjbGFz cz0iTXNvTm9ybWFsIj5UaGFua3MgZm9yIHRoZSBmaXguPG86cD48L286cD48L3A+CjxwIGNsYXNz PSJNc29Ob3JtYWwiPlJldmlld2VkLWJ5OiBIYW8gQSBXdSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmhh by5hLnd1QGludGVsLmNvbSI+aGFvLmEud3VAaW50ZWwuY29tPC9hPiZndDs8bzpwPjwvbzpwPjwv cD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPldpbGwgaG9sZCB0aGUgbWVyZ2luZyBvZiB0aGUgcGF0Y2ggYWZ0ZXIgdGhlIHVw Y29taW5nIGVkazItc3RhYmxlMjAyMTExIHRhZy48bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkJlc3Qg UmVnYXJkcyw8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SGFvIFd1PG86cD48 L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPgo8ZGl2 IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6 MGNtIDBjbSAwY20gNC4wcHQiPgo8ZGl2Pgo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXIt dG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwY20gMGNtIDBjbSI+CjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxiPkZyb206PC9iPiA8YSBocmVmPSJtYWlsdG86ZGV2ZWxAZWRrMi5n cm91cHMuaW8iPmRldmVsQGVkazIuZ3JvdXBzLmlvPC9hPiAmbHQ7PGEgaHJlZj0ibWFpbHRvOmRl dmVsQGVkazIuZ3JvdXBzLmlvIj5kZXZlbEBlZGsyLmdyb3Vwcy5pbzwvYT4mZ3Q7CjxiPk9uIEJl aGFsZiBPZiA8L2I+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LWZhbWlseTrLzszlIj7V xbzStqg8L3NwYW4+PGJyPgo8Yj5TZW50OjwvYj4gVGh1cnNkYXksIE5vdmVtYmVyIDI1LCAyMDIx IDExOjIwIEFNPGJyPgo8Yj5Ubzo8L2I+IDxhIGhyZWY9Im1haWx0bzpkZXZlbEBlZGsyLmdyb3Vw cy5pbyI+ZGV2ZWxAZWRrMi5ncm91cHMuaW88L2E+PGJyPgo8Yj5TdWJqZWN0OjwvYj4gW2VkazIt ZGV2ZWxdIFtQQVRDSF0gTWRlTW9kdWxlUGtnL0J1cy9QY2kvVWhjaUR4ZTogRml4IHRoZSBVc2JI YyBtZW1vcnkgYWxsb2NhdGUgYW5kIGZyZWUgaXNzdWU8bzpwPjwvbzpwPjwvcD4KPC9kaXY+Cjwv ZGl2Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4KPGRpdj4KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+V2hlbiB1c2UgdGhlIFVzYkhjQWxsb2NNZW1Gcm9tQmxvY2soKSBh bmQgVXNiSGNGcmVlTWVtKCkgdG8gYWxsb2NhdGUgbWVtb3J5IGFuZCBmcmVlIG1lbW9yeSBmb3Ig dGhlIFVIQywgaXQgc2hvdWxkIHVzZSB0aGUgY29ycmVzcG9uZGluZyBob3N0IGFkZHJlc3MgYnV0 IG5vdCB0aGUgcGNpIGJ1cyBhZGRyZXNzLjxvOnA+PC9vOnA+PC9wPgo8L2Rpdj4KPGRpdj4KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48L286cD48L3A+CjwvZGl2Pgo8ZGl2Pgo8cCBj bGFzcz0iTXNvTm9ybWFsIj5TaWduZWQtb2ZmLWJ5OiBqZHpoYW5nICZsdDs8YSBocmVmPSJtYWls dG86amR6aGFuZ0B6ZC10ZWNoLmNvbS5jbiI+amR6aGFuZ0B6ZC10ZWNoLmNvbS5jbjwvYT4mZ3Q7 PG86cD48L286cD48L3A+CjwvZGl2Pgo8ZGl2Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj4tLS08bzpw PjwvbzpwPjwvcD4KPC9kaXY+CjxkaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwO01kZU1v ZHVsZVBrZy9CdXMvUGNpL1VoY2lEeGUvVXNiSGNNZW0uYyB8IDggKysrKy0tLS08bzpwPjwvbzpw PjwvcD4KPC9kaXY+CjxkaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOzEgZmlsZSBjaGFu Z2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pPG86cD48L286cD48L3A+CjwvZGl2 Pgo8ZGl2Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4KPC9kaXY+ CjxkaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPmRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQnVz L1BjaS9VaGNpRHhlL1VzYkhjTWVtLmMgYi9NZGVNb2R1bGVQa2cvQnVzL1BjaS9VaGNpRHhlL1Vz YkhjTWVtLmM8bzpwPjwvbzpwPjwvcD4KPC9kaXY+CjxkaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwi PmluZGV4IDlhYWRlMTlmOGUuLjA0MTYzOGEyZGUgMTAwNjQ0PG86cD48L286cD48L3A+CjwvZGl2 Pgo8ZGl2Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj4tLS0gYS9NZGVNb2R1bGVQa2cvQnVzL1BjaS9V aGNpRHhlL1VzYkhjTWVtLmM8bzpwPjwvbzpwPjwvcD4KPC9kaXY+CjxkaXY+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPisrKyBiL01kZU1vZHVsZVBrZy9CdXMvUGNpL1VoY2lEeGUvVXNiSGNNZW0uYzxv OnA+PC9vOnA+PC9wPgo8L2Rpdj4KPGRpdj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+QEAgLTIxMSw3 ICsyMTEsNyBAQCBVc2JIY0FsbG9jTWVtRnJvbUJsb2NrICg8bzpwPjwvbzpwPjwvcD4KPC9kaXY+ CjxkaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyAmbmJzcDsgJm5ic3A7TkVYVF9CSVQg KEJ5dGUsIEJpdCk7PG86cD48L286cD48L3A+CjwvZGl2Pgo8ZGl2Pgo8cCBjbGFzcz0iTXNvTm9y bWFsIj4mbmJzcDsgJm5ic3A7fTxvOnA+PC9vOnA+PC9wPgo8L2Rpdj4KPGRpdj4KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48L286cD48L3A+CjwvZGl2Pgo8ZGl2Pgo8cCBjbGFzcz0i TXNvTm9ybWFsIj4tJm5ic3A7IHJldHVybiBCbG9jay0mZ3Q7QnVmICsgKFN0YXJ0Qnl0ZSAqIDgg KyBTdGFydEJpdCkgKiBVU0JIQ19NRU1fVU5JVDs8bzpwPjwvbzpwPjwvcD4KPC9kaXY+CjxkaXY+ CjxwIGNsYXNzPSJNc29Ob3JtYWwiPismbmJzcDsgcmV0dXJuIEJsb2NrLSZndDtCdWZIb3N0ICsg KFN0YXJ0Qnl0ZSAqIDggKyBTdGFydEJpdCkgKiBVU0JIQ19NRU1fVU5JVDs8bzpwPjwvbzpwPjwv cD4KPC9kaXY+CjxkaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwO308bzpwPjwvbzpwPjwv cD4KPC9kaXY+CjxkaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOzxvOnA+PC9vOnA+PC9w Pgo8L2Rpdj4KPGRpdj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7LyoqPG86cD48L286cD48 L3A+CjwvZGl2Pgo8ZGl2Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5AQCAtNTE4LDEyICs1MTgsMTIg QEAgVXNiSGNGcmVlTWVtICg8bzpwPjwvbzpwPjwvcD4KPC9kaXY+CjxkaXY+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPiZuYnNwOyAmbmJzcDsgJm5ic3A7Ly8gc2NhbiB0aGUgbWVtb3J5IGJsb2NrIGxp c3QgZm9yIHRoZSBtZW1vcnkgYmxvY2sgdGhhdDxvOnA+PC9vOnA+PC9wPgo8L2Rpdj4KPGRpdj4K PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsvLyBjb21wbGV0ZWx5IGNv bnRhaW5zIHRoZSBtZW1vcnkgdG8gZnJlZS48bzpwPjwvbzpwPjwvcD4KPC9kaXY+CjxkaXY+Cjxw IGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyAmbmJzcDsgJm5ic3A7Ly88bzpwPjwvbzpwPjwvcD4K PC9kaXY+CjxkaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPi0mbmJzcDsgJm5ic3A7IGlmICgoQmxv Y2stJmd0O0J1ZiAmbHQ7PSBUb0ZyZWUpICZhbXA7JmFtcDsgKChUb0ZyZWUgKyBBbGxvY1NpemUp ICZsdDs9IChCbG9jay0mZ3Q7QnVmICsgQmxvY2stJmd0O0J1ZkxlbikpKSB7PG86cD48L286cD48 L3A+CjwvZGl2Pgo8ZGl2Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj4rJm5ic3A7ICZuYnNwOyBpZiAo KEJsb2NrLSZndDtCdWZIb3N0ICZsdDs9IFRvRnJlZSkgJmFtcDsmYW1wOyAoKFRvRnJlZSArIEFs bG9jU2l6ZSkgJmx0Oz0gKEJsb2NrLSZndDtCdWZIb3N0ICsgQmxvY2stJmd0O0J1ZkxlbikpKSB7 PG86cD48L286cD48L3A+CjwvZGl2Pgo8ZGl2Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsvLzxvOnA+PC9vOnA+PC9wPgo8L2Rpdj4KPGRpdj4KPHAgY2xh c3M9Ik1zb05vcm1hbCI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Ly8gY29tcHV0ZSB0aGUg c3RhcnQgYnl0ZSBhbmQgYml0IGluIHRoZSBiaXQgYXJyYXk8bzpwPjwvbzpwPjwvcD4KPC9kaXY+ CjxkaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOy8v PG86cD48L286cD48L3A+CjwvZGl2Pgo8ZGl2Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj4tJm5ic3A7 ICZuYnNwOyAmbmJzcDsgQnl0ZSZuYnNwOyA9ICgoVG9GcmVlIC0gQmxvY2stJmd0O0J1ZikgLyBV U0JIQ19NRU1fVU5JVCkgLyA4OzxvOnA+PC9vOnA+PC9wPgo8L2Rpdj4KPGRpdj4KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+LSZuYnNwOyAmbmJzcDsgJm5ic3A7IEJpdCZuYnNwOyAmbmJzcDs9ICgoVG9G cmVlIC0gQmxvY2stJmd0O0J1ZikgLyBVU0JIQ19NRU1fVU5JVCkgJSA4OzxvOnA+PC9vOnA+PC9w Pgo8L2Rpdj4KPGRpdj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+KyZuYnNwOyAmbmJzcDsgJm5ic3A7 IEJ5dGUmbmJzcDsgPSAoKFRvRnJlZSAtIEJsb2NrLSZndDtCdWZIb3N0KSAvIFVTQkhDX01FTV9V TklUKSAvIDg7PG86cD48L286cD48L3A+CjwvZGl2Pgo8ZGl2Pgo8cCBjbGFzcz0iTXNvTm9ybWFs Ij4rJm5ic3A7ICZuYnNwOyAmbmJzcDsgQml0Jm5ic3A7ICZuYnNwOz0gKChUb0ZyZWUgLSBCbG9j ay0mZ3Q7QnVmSG9zdCkgLyBVU0JIQ19NRU1fVU5JVCkgJSA4OzxvOnA+PC9vOnA+PC9wPgo8L2Rp dj4KPGRpdj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48L286cD48L3A+CjwvZGl2 Pgo8ZGl2Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsv LzxvOnA+PC9vOnA+PC9wPgo8L2Rpdj4KPGRpdj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7Ly8gcmVzZXQgYXNzb2NpYXRlZCBiaXRzIGluIGJpdCBhcnJh eTxvOnA+PC9vOnA+PC9wPgo8L2Rpdj4KPGRpdj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+LS0mbmJz cDs8bzpwPjwvbzpwPjwvcD4KPC9kaXY+CjxkaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjIuMzAu MC53aW5kb3dzLjE8bzpwPjwvbzpwPjwvcD4KPC9kaXY+CjxkaXY+CjxwIGNsYXNzPSJNc29Ob3Jt YWwiPiZuYnNwOzxvOnA+PC9vOnA+PC9wPgo8L2Rpdj4KPC9kaXY+CjxkaXY+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPjwvbzpwPjwvc3Bhbj48L3A+CjwvZGl2Pgo8L2Rpdj4KCgo8L2Jsb2NrcXVvdGU+ PC9kaXY+ ------=_Part_45922_2027689783.1639039932637--