From dron at redhat.com Thu Dec 7 10:14:07 2017 Content-Type: multipart/mixed; boundary="===============2181606292915689447==" MIME-Version: 1.0 From: Dafna Ron To: devel at ovirt.org Subject: [ovirt-devel] [ OST Failure Report ] [ oVirtMaster ] [ 07-11-2017 ] [007_sd_reattach.deactivate_storage_domain ] Date: Thu, 07 Dec 2017 10:14:05 +0000 Message-ID: <061f2c25-0ba8-3b49-5f70-51771f33c522@redhat.com> --===============2181606292915689447== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multi-part message in MIME format. --------------B1FC8E7562A08FCCC455CECC Content-Type: text/plain; charset=3Dutf-8 Content-Transfer-Encoding: 7bit Hi, We had a failure on master basic suite for test 007_sd_reattach.deactivate_storage_domain. The failure was that we failed to deactivate domain due to running tasks. It does not seem to be related to the patch it was testing and I think that the test itself needs to be modified to check there are no running tasks. Is there perhaps a way to query if there are running tasks before running the command? can you please take a look at the test on OST? ** *Link and headline of suspected patches:**Not related to error*** ** ** *Link to Job: http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/* *** Link to all logs: http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/artifact/ (Relevant) error snippet from the log: *2017-12-06 20:13:23,166-05 WARN [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWithOvfUpd= ateCommand] (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Validation of action 'DeactivateStorageDomainWithOvfUpdate' fa iled for user admin(a)internal-authz. Reasons: VAR__TYPE__STORAGE__DOMAIN,VAR__ACTION__DEACTIVATE,ERROR_CANNOT_DEACTIVATE_= DOMAIN_WITH_TASKS 2017-12-06 20:13:23,167-05 INFO [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWithOvfUpd= ateCommand] (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Lock freed to object 'EngineLock:{exclusiveLocks=3D'[ea2fd992-8a a4-44fe-aa43-e96754a975ba=3DSTORAGE]', sharedLocks=3D'[5e0a0183-0e25-4f43-b5b0-0cfb5510248e=3DPOOL]'}' 2017-12-06 20:13:23,172-05 DEBUG [org.ovirt.engine.core.common.di.interceptor.DebugLoggingInterceptor] (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] method: runAction, params: [DeactivateStorageDomainWithOvfUpdate, DeactivateSto rageDomainWithOvfUpdateParameters:{commandId=3D'630c28e1-41ab-43db-9755-a2b= b870dbcb3', user=3D'null', commandType=3D'Unknown'}], timeElapsed: 65ms 2017-12-06 20:13:23,176-05 ERROR [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (default task-7) [] Operation Failed: [Cannot deactivate Storage while there are running tasks on this Storage. -Please wait until tasks will finish and try again.] * * --------------B1FC8E7562A08FCCC455CECC Content-Type: text/html; charset=3Dutf-8 Content-Transfer-Encoding: 7bit

Hi,

We had a failure on master basic suite for test 007_sd_reattach.deactivate_storage_domain.

The failure was that we failed to deactivate domain due to running tasks.

It does not seem to be related to the patch it was testing and I think that the test itself needs to be modified to check there are no running tasks.

Is there perhaps a way to query if there are running tasks before running the command? can you please take a look at the test on OST?

Link and headlin= e of suspected patches:= Not related to error

Link to Job: http://jenkins.ovirt.org/job/ovirt-master= _change-queue-tester/4319/


Link to all logs= : http://jenkins.ovirt.org/jo= b/ovirt-master_change-queue-tester/4319/artifact/


(Relevant) error= snippet from the log:

<error>

2017-12-06 20= :13:23,166-05 WARN [org.ovirt.engine.core.bll.storage.domain.DeactivateSto= rageDomainWithOvfUpdateCommand] (default task-7) [d82880e8-1d40-4a3b-a1ba-3= 362f2f130a0] Validation of action 'DeactivateStorageDomainWithOvfUpdate' fa iled for user admin(a)internal-authz. Reasons: VAR__TYPE__STORAGE__DOMAIN,V= AR__ACTION__DEACTIVATE,ERROR_CANNOT_DEACTIVATE_DOMAIN_WITH_TASKS 2017-12-06 20:13:23,167-05 INFO [org.ovirt.engine.core.bll.storage.domain.= DeactivateStorageDomainWithOvfUpdateCommand] (default task-7) [d82880e8-1d4= 0-4a3b-a1ba-3362f2f130a0] Lock freed to object 'EngineLock:{exclusiveLocks= =3D'[ea2fd992-8a a4-44fe-aa43-e96754a975ba=3DSTORAGE]', sharedLocks=3D'[5e0a0183-0e25-4f43-b= 5b0-0cfb5510248e=3DPOOL]'}' 2017-12-06 20:13:23,172-05 DEBUG [org.ovirt.engine.core.common.di.intercept= or.DebugLoggingInterceptor] (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f= 2f130a0] method: runAction, params: [DeactivateStorageDomainWithOvfUpdate, = DeactivateSto rageDomainWithOvfUpdateParameters:{commandId=3D'630c28e1-41ab-43db-9755-a2b= b870dbcb3', user=3D'null', commandType=3D'Unknown'}], timeElapsed: 65ms 2017-12-06 20:13:23,176-05 ERROR [org.ovirt.engine.api.restapi.resource.Abs= tractBackendResource] (default task-7) [] Operation Failed: [Cannot deactiv= ate Storage while there are running tasks on this Storage. -Please wait until tasks will finish and try again.]

<error>




--------------B1FC8E7562A08FCCC455CECC-- --===============2181606292915689447== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS1CMUZDOEU3NTYyQTA4RkNDQzQ1NUNFQ0MKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PXV0Zi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKCkhpLAoKV2UgaGFkIGEg ZmFpbHVyZSBvbiBtYXN0ZXIgYmFzaWMgc3VpdGUgZm9yIHRlc3QKMDA3X3NkX3JlYXR0YWNoLmRl YWN0aXZhdGVfc3RvcmFnZV9kb21haW4uCgpUaGUgZmFpbHVyZSB3YXMgdGhhdCB3ZSBmYWlsZWQg dG8gZGVhY3RpdmF0ZSBkb21haW4gZHVlIHRvIHJ1bm5pbmcgdGFza3MuCgpJdCBkb2VzIG5vdCBz ZWVtIHRvIGJlIHJlbGF0ZWQgdG8gdGhlIHBhdGNoIGl0IHdhcyB0ZXN0aW5nIGFuZCBJIHRoaW5r CnRoYXQgdGhlIHRlc3QgaXRzZWxmIG5lZWRzIHRvIGJlIG1vZGlmaWVkIHRvIGNoZWNrIHRoZXJl IGFyZSBubyBydW5uaW5nCnRhc2tzLgoKSXMgdGhlcmUgcGVyaGFwcyBhIHdheSB0byBxdWVyeSBp ZiB0aGVyZSBhcmUgcnVubmluZyB0YXNrcyBiZWZvcmUKcnVubmluZyB0aGUgY29tbWFuZD8gY2Fu IHlvdSBwbGVhc2UgdGFrZSBhIGxvb2sgYXQgdGhlIHRlc3Qgb24gT1NUPwoKKioKCipMaW5rIGFu ZCBoZWFkbGluZSBvZiBzdXNwZWN0ZWQgcGF0Y2hlczoqKk5vdCByZWxhdGVkIHRvIGVycm9yKioq CgoqKgoKKioKCipMaW5rIHRvIEpvYjoKaHR0cDovL2plbmtpbnMub3ZpcnQub3JnL2pvYi9vdmly dC1tYXN0ZXJfY2hhbmdlLXF1ZXVlLXRlc3Rlci80MzE5LyoKCioqKgoKTGluayB0byBhbGwgbG9n czoKaHR0cDovL2plbmtpbnMub3ZpcnQub3JnL2pvYi9vdmlydC1tYXN0ZXJfY2hhbmdlLXF1ZXVl LXRlc3Rlci80MzE5L2FydGlmYWN0LwoKCihSZWxldmFudCkgZXJyb3Igc25pcHBldCBmcm9tIHRo ZSBsb2c6Cgo8ZXJyb3I+CgoqMjAxNy0xMi0wNiAyMDoxMzoyMywxNjYtMDUgV0FSTgpbb3JnLm92 aXJ0LmVuZ2luZS5jb3JlLmJsbC5zdG9yYWdlLmRvbWFpbi5EZWFjdGl2YXRlU3RvcmFnZURvbWFp bldpdGhPdmZVcGRhdGVDb21tYW5kXQooZGVmYXVsdCB0YXNrLTcpIFtkODI4ODBlOC0xZDQwLTRh M2ItYTFiYS0zMzYyZjJmMTMwYTBdIFZhbGlkYXRpb24gb2YKYWN0aW9uICdEZWFjdGl2YXRlU3Rv cmFnZURvbWFpbldpdGhPdmZVcGRhdGUnIGZhIGlsZWQgZm9yIHVzZXIKYWRtaW5AaW50ZXJuYWwt YXV0aHouIFJlYXNvbnM6ClZBUl9fVFlQRV9fU1RPUkFHRV9fRE9NQUlOLFZBUl9fQUNUSU9OX19E RUFDVElWQVRFLEVSUk9SX0NBTk5PVF9ERUFDVElWQVRFX0RPTUFJTl9XSVRIX1RBU0tTCjIwMTct MTItMDYgMjA6MTM6MjMsMTY3LTA1IElORk8KW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuc3Rv cmFnZS5kb21haW4uRGVhY3RpdmF0ZVN0b3JhZ2VEb21haW5XaXRoT3ZmVXBkYXRlQ29tbWFuZF0K KGRlZmF1bHQgdGFzay03KSBbZDgyODgwZTgtMWQ0MC00YTNiLWExYmEtMzM2MmYyZjEzMGEwXSBM b2NrIGZyZWVkIHRvCm9iamVjdCAnRW5naW5lTG9jazp7ZXhjbHVzaXZlTG9ja3M9J1tlYTJmZDk5 Mi04YQphNC00NGZlLWFhNDMtZTk2NzU0YTk3NWJhPVNUT1JBR0VdJywKc2hhcmVkTG9ja3M9J1s1 ZTBhMDE4My0wZTI1LTRmNDMtYjViMC0wY2ZiNTUxMDI0OGU9UE9PTF0nfScgMjAxNy0xMi0wNgoy MDoxMzoyMywxNzItMDUgREVCVUcKW29yZy5vdmlydC5lbmdpbmUuY29yZS5jb21tb24uZGkuaW50 ZXJjZXB0b3IuRGVidWdMb2dnaW5nSW50ZXJjZXB0b3JdCihkZWZhdWx0IHRhc2stNykgW2Q4Mjg4 MGU4LTFkNDAtNGEzYi1hMWJhLTMzNjJmMmYxMzBhMF0gbWV0aG9kOgpydW5BY3Rpb24sIHBhcmFt czogW0RlYWN0aXZhdGVTdG9yYWdlRG9tYWluV2l0aE92ZlVwZGF0ZSwgRGVhY3RpdmF0ZVN0bwpy YWdlRG9tYWluV2l0aE92ZlVwZGF0ZVBhcmFtZXRlcnM6e2NvbW1hbmRJZD0nNjMwYzI4ZTEtNDFh Yi00M2RiLTk3NTUtYTJiYjg3MGRiY2IzJywKdXNlcj0nbnVsbCcsIGNvbW1hbmRUeXBlPSdVbmtu b3duJ31dLCB0aW1lRWxhcHNlZDogNjVtcyAyMDE3LTEyLTA2CjIwOjEzOjIzLDE3Ni0wNSBFUlJP Ugpbb3JnLm92aXJ0LmVuZ2luZS5hcGkucmVzdGFwaS5yZXNvdXJjZS5BYnN0cmFjdEJhY2tlbmRS ZXNvdXJjZV0gKGRlZmF1bHQKdGFzay03KSBbXSBPcGVyYXRpb24gRmFpbGVkOiBbQ2Fubm90IGRl YWN0aXZhdGUgU3RvcmFnZSB3aGlsZSB0aGVyZSBhcmUKcnVubmluZyB0YXNrcyBvbiB0aGlzIFN0 b3JhZ2UuIC1QbGVhc2Ugd2FpdCB1bnRpbCB0YXNrcyB3aWxsIGZpbmlzaCBhbmQKdHJ5IGFnYWlu Ll0gKgoKKjxlcnJvcj4KCgoKCgotLS0tLS0tLS0tLS0tLUIxRkM4RTc1NjJBMDhGQ0NDNDU1Q0VD QwpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD11dGYtOApDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA3Yml0Cgo8aHRtbD4KICA8aGVhZD4KCiAgICA8bWV0YSBodHRwLWVxdWl2PSJj b250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CiAgPC9oZWFk PgogIDxib2R5IHRleHQ9IiMwMDAwMDAiIGJnY29sb3I9IiNGRkZGRkYiPgogICAgPHA+SGksIDxi cj4KICAgIDwvcD4KICAgIDxwPldlIGhhZCBhIGZhaWx1cmUgb24gbWFzdGVyIGJhc2ljIHN1aXRl IGZvciB0ZXN0CiAgICAgIDAwN19zZF9yZWF0dGFjaC5kZWFjdGl2YXRlX3N0b3JhZ2VfZG9tYWlu LiA8YnI+CiAgICA8L3A+CiAgICA8cD5UaGUgZmFpbHVyZSB3YXMgdGhhdCB3ZSBmYWlsZWQgdG8g ZGVhY3RpdmF0ZSBkb21haW4gZHVlIHRvCiAgICAgIHJ1bm5pbmcgdGFza3MuIDxicj4KICAgIDwv cD4KICAgIDxwPkl0IGRvZXMgbm90IHNlZW0gdG8gYmUgcmVsYXRlZCB0byB0aGUgcGF0Y2ggaXQg d2FzIHRlc3RpbmcgYW5kIEkKICAgICAgdGhpbmsgdGhhdCB0aGUgdGVzdCBpdHNlbGYgbmVlZHMg dG8gYmUgbW9kaWZpZWQgdG8gY2hlY2sgdGhlcmUgYXJlCiAgICAgIG5vIHJ1bm5pbmcgdGFza3Mu IDxicj4KICAgIDwvcD4KICAgIDxwPklzIHRoZXJlIHBlcmhhcHMgYSB3YXkgdG8gcXVlcnkgaWYg dGhlcmUgYXJlIHJ1bm5pbmcgdGFza3MgYmVmb3JlCiAgICAgIHJ1bm5pbmcgdGhlIGNvbW1hbmQ/ IGNhbiB5b3UgcGxlYXNlIHRha2UgYSBsb29rIGF0IHRoZSB0ZXN0IG9uCiAgICAgIE9TVD8gPGJy PgogICAgPC9wPgogICAgPHA+PGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbDsiCiAgICAgICAg aWQ9ImRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0yZDMxOTkxODg5 ZTgiPgogICAgICAgIDxwIGRpcj0ibHRyIgogICAgICAgICAgc3R5bGU9ImxpbmUtaGVpZ2h0OjEu Mzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1z aXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNvbG9y OnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlh bnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3do aXRlLXNwYWNlOnByZS13cmFwOyI+TGluayBhbmQgaGVhZGxpbmUgb2Ygc3VzcGVjdGVkIHBhdGNo ZXM6PC9zcGFuPjxiCiAgICAgICAgICAgIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWw7IgogICAg ICAgICAgICBpZD0iZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJk MzE5OTE4ODllOCI+PGI+CiAgICAgICAgICAgICAgTm90IHJlbGF0ZWQgdG8gZXJyb3I8L2I+PC9i PjwvcD4KICAgICAgPC9iPjwvcD4KICAgIDxwPjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWw7 IgogICAgICAgIGlkPSJkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4Yjct MmQzMTk5MTg4OWU4Ij4KICAgICAgICA8cCBkaXI9Imx0ciIKICAgICAgICAgIHN0eWxlPSJsaW5l LWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0OyI+PHNwYW4gc3R5 bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOiMwMDAwMDA7YmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7 Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpi YXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDsiPkxpbmsgdG8gSm9iOiA8YSBjbGFzcz0ibW96 LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwOi8vamVua2lucy5vdmlydC5vcmcvam9iL292 aXJ0LW1hc3Rlcl9jaGFuZ2UtcXVldWUtdGVzdGVyLzQzMTkvIj5odHRwOi8vamVua2lucy5vdmly dC5vcmcvam9iL292aXJ0LW1hc3Rlcl9jaGFuZ2UtcXVldWUtdGVzdGVyLzQzMTkvPC9hPjwvc3Bh bj48L3A+CiAgICAgIDwvYj48YiBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsOyIKICAgICAgICBp ZD0iZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4ODll OCI+PGJyPgogICAgICAgIDxwIGRpcj0ibHRyIgogICAgICAgICAgc3R5bGU9ImxpbmUtaGVpZ2h0 OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQ7Ij48c3BhbiBzdHlsZT0iZm9u dC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZh cmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5l O3doaXRlLXNwYWNlOnByZS13cmFwOyI+TGluayB0byBhbGwgbG9nczogPGEgY2xhc3M9Im1vei10 eHQtbGluay1mcmVldGV4dCIgaHJlZj0iaHR0cDovL2plbmtpbnMub3ZpcnQub3JnL2pvYi9vdmly dC1tYXN0ZXJfY2hhbmdlLXF1ZXVlLXRlc3Rlci80MzE5L2FydGlmYWN0LyI+aHR0cDovL2plbmtp bnMub3ZpcnQub3JnL2pvYi9vdmlydC1tYXN0ZXJfY2hhbmdlLXF1ZXVlLXRlc3Rlci80MzE5L2Fy dGlmYWN0LzwvYT48L3NwYW4+PC9wPgogICAgICAgIDxicj4KICAgICAgICA8cCBkaXI9Imx0ciIK ICAgICAgICAgIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1i b3R0b206MHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFs O2NvbG9yOiMwMDAwMDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0 MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246 bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDsiPihSZWxl dmFudCkgZXJyb3Igc25pcHBldCBmcm9tIHRoZSBsb2c6IDwvc3Bhbj48L3A+CiAgICAgICAgPHAg ZGlyPSJsdHIiCiAgICAgICAgICBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBw dDttYXJnaW4tYm90dG9tOjBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250LWZh bWlseTpBcmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9u dC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC1k ZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJlLXdy YXA7Ij4mbHQ7ZXJyb3ImZ3Q7PC9zcGFuPjwvcD4KICAgICAgICA8cCBkaXI9Imx0ciIKICAgICAg ICAgIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206 MHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9y OiMwMDAwMDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9u dC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2 ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDsiPgo8L3NwYW4+PC9w PgogICAgICAgIDxwIGRpcj0ibHRyIgogICAgICAgICAgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7 bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXpl OjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6 bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRl LXNwYWNlOnByZS13cmFwOyI+PGI+MjAxNy0xMi0wNiAyMDoxMzoyMywxNjYtMDUgV0FSTiAgW29y Zy5vdmlydC5lbmdpbmUuY29yZS5ibGwuc3RvcmFnZS5kb21haW4uRGVhY3RpdmF0ZVN0b3JhZ2VE b21haW5XaXRoT3ZmVXBkYXRlQ29tbWFuZF0gKGRlZmF1bHQgdGFzay03KSBbZDgyODgwZTgtMWQ0 MC00YTNiLWExYmEtMzM2MmYyZjEzMGEwXSBWYWxpZGF0aW9uIG9mIGFjdGlvbiAnRGVhY3RpdmF0 ZVN0b3JhZ2VEb21haW5XaXRoT3ZmVXBkYXRlJyBmYQppbGVkIGZvciB1c2VyIGFkbWluQGludGVy bmFsLWF1dGh6LiBSZWFzb25zOiBWQVJfX1RZUEVfX1NUT1JBR0VfX0RPTUFJTixWQVJfX0FDVElP Tl9fREVBQ1RJVkFURSxFUlJPUl9DQU5OT1RfREVBQ1RJVkFURV9ET01BSU5fV0lUSF9UQVNLUwoy MDE3LTEyLTA2IDIwOjEzOjIzLDE2Ny0wNSBJTkZPICBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJs bC5zdG9yYWdlLmRvbWFpbi5EZWFjdGl2YXRlU3RvcmFnZURvbWFpbldpdGhPdmZVcGRhdGVDb21t YW5kXSAoZGVmYXVsdCB0YXNrLTcpIFtkODI4ODBlOC0xZDQwLTRhM2ItYTFiYS0zMzYyZjJmMTMw YTBdIExvY2sgZnJlZWQgdG8gb2JqZWN0ICdFbmdpbmVMb2NrOntleGNsdXNpdmVMb2Nrcz0nW2Vh MmZkOTkyLThhCmE0LTQ0ZmUtYWE0My1lOTY3NTRhOTc1YmE9U1RPUkFHRV0nLCBzaGFyZWRMb2Nr cz0nWzVlMGEwMTgzLTBlMjUtNGY0My1iNWIwLTBjZmI1NTEwMjQ4ZT1QT09MXSd9JwoyMDE3LTEy LTA2IDIwOjEzOjIzLDE3Mi0wNSBERUJVRyBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmNvbW1vbi5k aS5pbnRlcmNlcHRvci5EZWJ1Z0xvZ2dpbmdJbnRlcmNlcHRvcl0gKGRlZmF1bHQgdGFzay03KSBb ZDgyODgwZTgtMWQ0MC00YTNiLWExYmEtMzM2MmYyZjEzMGEwXSBtZXRob2Q6IHJ1bkFjdGlvbiwg cGFyYW1zOiBbRGVhY3RpdmF0ZVN0b3JhZ2VEb21haW5XaXRoT3ZmVXBkYXRlLCBEZWFjdGl2YXRl U3RvCnJhZ2VEb21haW5XaXRoT3ZmVXBkYXRlUGFyYW1ldGVyczp7Y29tbWFuZElkPSc2MzBjMjhl MS00MWFiLTQzZGItOTc1NS1hMmJiODcwZGJjYjMnLCB1c2VyPSdudWxsJywgY29tbWFuZFR5cGU9 J1Vua25vd24nfV0sIHRpbWVFbGFwc2VkOiA2NW1zCjIwMTctMTItMDYgMjA6MTM6MjMsMTc2LTA1 IEVSUk9SIFtvcmcub3ZpcnQuZW5naW5lLmFwaS5yZXN0YXBpLnJlc291cmNlLkFic3RyYWN0QmFj a2VuZFJlc291cmNlXSAoZGVmYXVsdCB0YXNrLTcpIFtdIE9wZXJhdGlvbiBGYWlsZWQ6IFtDYW5u b3QgZGVhY3RpdmF0ZSBTdG9yYWdlIHdoaWxlIHRoZXJlIGFyZSBydW5uaW5nIHRhc2tzIG9uIHRo aXMgU3RvcmFnZS4KLVBsZWFzZSB3YWl0IHVudGlsIHRhc2tzIHdpbGwgZmluaXNoIGFuZCB0cnkg YWdhaW4uXQo8L2I+Cjwvc3Bhbj48L3A+CiAgICAgICAgPHAgZGlyPSJsdHIiCiAgICAgICAgICBz dHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdDsi PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjojMDAw MDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5 bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGlj YWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXA7Ij4KPC9zcGFuPjwvcD4KICAg ICAgPC9iPiZsdDtlcnJvciZndDs8YnIgY2xhc3M9IkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUi PgogICAgPC9wPgogICAgPHA+PGJyPgogICAgPC9wPgogICAgPHA+PGJyPgogICAgPC9wPgogICAg PHA+PGJyPgogICAgPC9wPgogIDwvYm9keT4KPC9odG1sPgoKLS0tLS0tLS0tLS0tLS1CMUZDOEU3 NTYyQTA4RkNDQzQ1NUNFQ0MtLQo= --===============2181606292915689447==-- From mlipchuk at redhat.com Thu Dec 7 11:06:13 2017 Content-Type: multipart/mixed; boundary="===============6019824242312806995==" MIME-Version: 1.0 From: Maor Lipchuk To: devel at ovirt.org Subject: Re: [ovirt-devel] [ OST Failure Report ] [ oVirtMaster ] [ 07-11-2017 ] [007_sd_reattach.deactivate_storage_domain ] Date: Thu, 07 Dec 2017 13:06:11 +0200 Message-ID: In-Reply-To: 061f2c25-0ba8-3b49-5f70-51771f33c522@redhat.com --===============6019824242312806995== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CANNOT_DEACTIVATE_DOMAIN_WITH_TASKS is a known issue, the problem is that we might have tasks which will start running internally using scheduling (like OVF_UPDATE) and we can't really know how much time every task will take until it will end. Even if we check that there are no running tasks it will not guarantee that no task will start until you deactivate the storage domain. I think that the best solution for it is an engine support to cancel running tasks or block tasks from running. On Thu, Dec 7, 2017 at 12:14 PM, Dafna Ron wrote: > Hi, > > We had a failure on master basic suite for test 007_sd_reattach.deactivat= e_storage_domain. > > > The failure was that we failed to deactivate domain due to running tasks. > > It does not seem to be related to the patch it was testing and I think > that the test itself needs to be modified to check there are no running > tasks. > > Is there perhaps a way to query if there are running tasks before running > the command? can you please take a look at the test on OST? > > *Link and headline of suspected patches: Not related to error* > > *Link to Job: > http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/ > * > > > * Link to all logs: > http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/artifa= ct/ > > (Relevant) error snippet from the log: 2017-12-06 20:13:23,166-05 > WARN > [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWithOvfU= pdateCommand] > (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Validation of > action 'DeactivateStorageDomainWithOvfUpdate' fa iled for user > admin(a)internal-authz. Reasons: > VAR__TYPE__STORAGE__DOMAIN,VAR__ACTION__DEACTIVATE,ERROR_CANNOT_DEACTIVAT= E_DOMAIN_WITH_TASKS > 2017-12-06 20:13:23,167-05 INFO > [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWithOvfU= pdateCommand] > (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Lock freed to > object 'EngineLock:{exclusiveLocks=3D'[ea2fd992-8a > a4-44fe-aa43-e96754a975ba=3DSTORAGE]', > sharedLocks=3D'[5e0a0183-0e25-4f43-b5b0-0cfb5510248e=3DPOOL]'}' 2017-12-06 > 20:13:23,172-05 DEBUG > [org.ovirt.engine.core.common.di.interceptor.DebugLoggingInterceptor] > (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] method: runAction, > params: [DeactivateStorageDomainWithOvfUpdate, DeactivateSto > rageDomainWithOvfUpdateParameters:{commandId=3D'630c28e1-41ab-43db-9755-a= 2bb870dbcb3', > user=3D'null', commandType=3D'Unknown'}], timeElapsed: 65ms 2017-12-06 > 20:13:23,176-05 ERROR > [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (default > task-7) [] Operation Failed: [Cannot deactivate Storage while there are > running tasks on this Storage. -Please wait until tasks will finish and t= ry > again.] * > > > > > > _______________________________________________ > Devel mailing list > Devel(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel > --===============6019824242312806995== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+PHNwYW4gaWQ9ImdtYWlsLW1fLTUzMjk4NzY1MzQxODg2NjU5NTZkb2Nz LWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5MTg4OWU4Ij48cCBz dHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+ PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7dmVydGljYWwtYWxpZ246 YmFzZWxpbmUiPjxzcGFuIHN0eWxlPSJjb2xvcjpyZ2IoMCwwLDApO2ZvbnQtZmFtaWx5Om1vbm9z cGFjZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+Q0FOTk9UX0RFQUNUSVZBVEVfRE9NQUlOX1dJVEhf PC9zcGFuPjx3YnIgc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gc3R5bGU9ImNv bG9yOnJnYigwLDAsMCk7Zm9udC1mYW1pbHk6bW9ub3NwYWNlO3doaXRlLXNwYWNlOnByZS13cmFw Ij5UQVNLUyA8L3NwYW4+PGZvbnQ+PGZvbnQgY29sb3I9IiMwMDAwMDAiIGZhY2U9IkFyaWFsIiBz aXplPSIxIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPmlzIGEga25vd24gaXNz dWUsIHRoZSBwcm9ibGVtIGlzIHRoYXQgd2UgbWlnaHQgaGF2ZSB0YXNrcyB3aGljaCB3aWxsIHN0 YXJ0IHJ1bm5pbmcgaW50ZXJuYWxseSB1c2luZyBzY2hlZHVsaW5nIChsaWtlIE9WRl9VUERBVEUp IGFuZCB3ZSBjYW4mIzM5O3QgcmVhbGx5IGtub3cgaG93IG11Y2ggdGltZSBldmVyeSB0YXNrIHdp bGwgdGFrZSB1bnRpbCBpdCB3aWxsIGVuZC48L3NwYW4+PC9mb250PjwvZm9udD48L3NwYW4+PC9w PjxwIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206 MHB0Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt2ZXJ0aWNhbC1h bGlnbjpiYXNlbGluZSI+PGZvbnQ+PGZvbnQgY29sb3I9IiMwMDAwMDAiIGZhY2U9IkFyaWFsIiBz aXplPSIxIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPkV2ZW4gaWYgd2UgY2hl Y2sgdGhhdCB0aGVyZSBhcmUgbm8gcnVubmluZyB0YXNrcyBpdCB3aWxsIG5vdCA8L3NwYW4+PC9m b250Pjxmb250IGNvbG9yPSIjMDAwMDAwIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdy YXAiPmd1YXJhbnRlZTwvc3Bhbj48L2ZvbnQ+PGZvbnQgY29sb3I9IiMwMDAwMDAiPjxmb250IGZh Y2U9IkFyaWFsIiBzaXplPSIxIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPiB0 aGF0IG5vIHRhc2sgd2lsbCBzdGFydCB1bnRpbCB5b3UgZGVhY3RpdmF0ZSB0aGUgc3RvcmFnZSBk b21haW4uPC9zcGFuPjwvZm9udD48L2ZvbnQ+PC9mb250Pjwvc3Bhbj48L3A+PHAgc3R5bGU9Imxp bmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5l Ij48Zm9udD48Zm9udCBjb2xvcj0iIzAwMDAwMCI+PGZvbnQgZmFjZT0iQXJpYWwiIHNpemU9IjEi PjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+SSB0aGluayB0aGF0IHRoZSBiZXN0 IHNvbHV0aW9uIGZvciBpdCBpcyBhbiBlbmdpbmUgc3VwcG9ydCB0byBjYW5jZWwgcnVubmluZyB0 YXNrcyBvciBibG9jayB0YXNrcyBmcm9tIHJ1bm5pbmcuPC9zcGFuPjwvZm9udD48L2ZvbnQ+PC9m b250Pjwvc3Bhbj48L3A+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+ PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIFRodSwgRGVjIDcsIDIwMTcgYXQgMTI6MTQgUE0s IERhZm5hIFJvbiA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpkcm9uQHJlZGhh dC5jb20iIHRhcmdldD0iX2JsYW5rIj5kcm9uQHJlZGhhdC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3Jv dGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAg MCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPgogIAoK ICAgIAogIAogIDxkaXYgdGV4dD0iIzAwMDAwMCIgYmdjb2xvcj0iI0ZGRkZGRiI+CiAgICA8cD5I aSwgPGJyPgogICAgPC9wPgogICAgPHA+V2UgaGFkIGEgZmFpbHVyZSBvbiBtYXN0ZXIgYmFzaWMg c3VpdGUgZm9yIHRlc3QKICAgICAgMDA3X3NkX3JlYXR0YWNoLmRlYWN0aXZhdGVfPHdicj5zdG9y YWdlX2RvbWFpbi4gPGJyPgogICAgPC9wPgogICAgPHA+VGhlIGZhaWx1cmUgd2FzIHRoYXQgd2Ug ZmFpbGVkIHRvIGRlYWN0aXZhdGUgZG9tYWluIGR1ZSB0bwogICAgICBydW5uaW5nIHRhc2tzLiA8 YnI+CiAgICA8L3A+CiAgICA8cD5JdCBkb2VzIG5vdCBzZWVtIHRvIGJlIHJlbGF0ZWQgdG8gdGhl IHBhdGNoIGl0IHdhcyB0ZXN0aW5nIGFuZCBJCiAgICAgIHRoaW5rIHRoYXQgdGhlIHRlc3QgaXRz ZWxmIG5lZWRzIHRvIGJlIG1vZGlmaWVkIHRvIGNoZWNrIHRoZXJlIGFyZQogICAgICBubyBydW5u aW5nIHRhc2tzLiA8YnI+CiAgICA8L3A+CiAgICA8cD5JcyB0aGVyZSBwZXJoYXBzIGEgd2F5IHRv IHF1ZXJ5IGlmIHRoZXJlIGFyZSBydW5uaW5nIHRhc2tzIGJlZm9yZQogICAgICBydW5uaW5nIHRo ZSBjb21tYW5kPyBjYW4geW91IHBsZWFzZSB0YWtlIGEgbG9vayBhdCB0aGUgdGVzdCBvbgogICAg ICBPU1Q/IDxicj4KICAgIDwvcD4KICAgIDxwPjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwi IGlkPSJtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMw NzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+CiAgICAgICAgPC9iPjwvcD48cCBkaXI9Imx0ciIg c3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQi PjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiIGlkPSJtXy01MzI5ODc2NTM0MTg4NjY1OTU2 ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+ PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOiMwMDAw MDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHls ZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNh bC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+TGluayBhbmQgaGVhZGxpbmUg b2Ygc3VzcGVjdGVkIHBhdGNoZXM6PC9zcGFuPjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwi IGlkPSJtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMw NzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+PGI+CiAgICAgICAgICAgICAgTm90IHJlbGF0ZWQg dG8gZXJyb3I8L2I+PC9iPjwvYj48L3A+PGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIgaWQ9 Im1fLTUzMjk4NzY1MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01 NDE0LTE4YjctMmQzMTk5MTg4OWU4Ij4KICAgICAgPC9iPjxwPjwvcD4KICAgIDxwPjxiIHN0eWxl PSJmb250LXdlaWdodDpub3JtYWwiIGlkPSJtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRl cm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+CiAgICAgICAg PC9iPjwvcD48cCBkaXI9Imx0ciIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDow cHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiIGlkPSJt Xy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQx NC0xOGI3LTJkMzE5OTE4ODllOCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFt aWx5OkFyaWFsO2NvbG9yOiMwMDAwMDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250 LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRl Y29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3Jh cCI+TGluayB0byBKb2I6IDxhIGNsYXNzPSJtXy01MzI5ODc2NTM0MTg4NjY1OTU2bW96LXR4dC1s aW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwOi8vamVua2lucy5vdmlydC5vcmcvam9iL292aXJ0LW1h c3Rlcl9jaGFuZ2UtcXVldWUtdGVzdGVyLzQzMTkvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2pl bmtpbnMub3ZpcnQub3JnL2pvYi88d2JyPm92aXJ0LW1hc3Rlcl9jaGFuZ2UtcXVldWUtPHdicj50 ZXN0ZXIvNDMxOS88L2E+PC9zcGFuPjwvYj48L3A+PGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1h bCIgaWQ9Im1fLTUzMjk4NzY1MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEt MzA3My01NDE0LTE4YjctMmQzMTk5MTg4OWU4Ij4KICAgICAgPC9iPjxiIHN0eWxlPSJmb250LXdl aWdodDpub3JtYWwiIGlkPSJtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlk LTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+PGJyPgogICAgICAgIDxwIGRp cj0ibHRyIiBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90 dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2Nv bG9yOiMwMDAwMDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7 Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9u ZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+TGluayB0byBh bGwgbG9nczogPGEgY2xhc3M9Im1fLTUzMjk4NzY1MzQxODg2NjU5NTZtb3otdHh0LWxpbmstZnJl ZXRleHQiIGhyZWY9Imh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivb3ZpcnQtbWFzdGVyX2No YW5nZS1xdWV1ZS10ZXN0ZXIvNDMxOS9hcnRpZmFjdC8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8v amVua2lucy5vdmlydC5vcmcvam9iLzx3YnI+b3ZpcnQtbWFzdGVyX2NoYW5nZS1xdWV1ZS08d2Jy PnRlc3Rlci80MzE5L2FydGlmYWN0LzwvYT48L3NwYW4+PC9wPgogICAgICAgIDxicj4KICAgICAg ICA8cCBkaXI9Imx0ciIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFy Z2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250LWZhbWlseTpB cmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13ZWln aHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC1kZWNvcmF0 aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPihS ZWxldmFudCkgZXJyb3Igc25pcHBldCBmcm9tIHRoZSBsb2c6IDwvc3Bhbj48L3A+CiAgICAgICAg PHAgZGlyPSJsdHIiIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdp bi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJp YWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0 OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlv bjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj4mbHQ7 ZXJyb3ImZ3Q7PC9zcGFuPjwvcD4KICAgICAgICA8cCBkaXI9Imx0ciIgc3R5bGU9ImxpbmUtaGVp Z2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJm b250LXNpemU6MTFwdDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQt dmFyaWFudDpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxp bmU7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPgo8L3NwYW4+PC9wPgogICAgICAgIDxwIGRpcj0ibHRy IiBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBw dCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOiMw MDAwMDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1z dHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0 aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+PGI+MjAxNy0xMi0wNiAy MDoxMzoyMywxNjYtMDUgV0FSTiAgW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuPHdicj5zdG9y YWdlLmRvbWFpbi48d2JyPkRlYWN0aXZhdGVTdG9yYWdlRG9tYWluV2l0aE92Zjx3YnI+VXBkYXRl Q29tbWFuZF0gKGRlZmF1bHQgdGFzay03KSBbZDgyODgwZTgtMWQ0MC00YTNiLWExYmEtPHdicj4z MzYyZjJmMTMwYTBdIFZhbGlkYXRpb24gb2YgYWN0aW9uICYjMzk7PHdicj5EZWFjdGl2YXRlU3Rv cmFnZURvbWFpbldpdGhPdmY8d2JyPlVwZGF0ZSYjMzk7IGZhCmlsZWQgZm9yIHVzZXIgYWRtaW5A aW50ZXJuYWwtYXV0aHouIFJlYXNvbnM6IFZBUl9fVFlQRV9fU1RPUkFHRV9fRE9NQUlOLDx3YnI+ VkFSX19BQ1RJT05fX0RFQUNUSVZBVEUsRVJST1JfPHdicj5DQU5OT1RfREVBQ1RJVkFURV9ET01B SU5fV0lUSF88d2JyPlRBU0tTCjIwMTctMTItMDYgMjA6MTM6MjMsMTY3LTA1IElORk8gIFtvcmcu b3ZpcnQuZW5naW5lLmNvcmUuYmxsLjx3YnI+c3RvcmFnZS5kb21haW4uPHdicj5EZWFjdGl2YXRl U3RvcmFnZURvbWFpbldpdGhPdmY8d2JyPlVwZGF0ZUNvbW1hbmRdIChkZWZhdWx0IHRhc2stNykg W2Q4Mjg4MGU4LTFkNDAtNGEzYi1hMWJhLTx3YnI+MzM2MmYyZjEzMGEwXSBMb2NrIGZyZWVkIHRv IG9iamVjdCAmIzM5O0VuZ2luZUxvY2s6e2V4Y2x1c2l2ZUxvY2tzPSYjMzk7Wzx3YnI+ZWEyZmQ5 OTItOGEKYTQtNDRmZS1hYTQzLWU5Njc1NGE5NzViYT08d2JyPlNUT1JBR0VdJiMzOTssIHNoYXJl ZExvY2tzPSYjMzk7WzVlMGEwMTgzLTBlMjUtPHdicj40ZjQzLWI1YjAtMGNmYjU1MTAyNDhlPVBP T0xdJiMzOTt9PHdicj4mIzM5OwoyMDE3LTEyLTA2IDIwOjEzOjIzLDE3Mi0wNSBERUJVRyBbb3Jn Lm92aXJ0LmVuZ2luZS5jb3JlLmNvbW1vbi48d2JyPmRpLmludGVyY2VwdG9yLjx3YnI+RGVidWdM b2dnaW5nSW50ZXJjZXB0b3JdIChkZWZhdWx0IHRhc2stNykgW2Q4Mjg4MGU4LTFkNDAtNGEzYi1h MWJhLTx3YnI+MzM2MmYyZjEzMGEwXSBtZXRob2Q6IHJ1bkFjdGlvbiwgcGFyYW1zOiBbPHdicj5E ZWFjdGl2YXRlU3RvcmFnZURvbWFpbldpdGhPdmY8d2JyPlVwZGF0ZSwgRGVhY3RpdmF0ZVN0bwpy YWdlRG9tYWluV2l0aE92ZlVwZGF0ZVBhcmFtZXQ8d2JyPmVyczp7Y29tbWFuZElkPSYjMzk7NjMw YzI4ZTEtNDFhYi08d2JyPjQzZGItOTc1NS1hMmJiODcwZGJjYjMmIzM5OywgdXNlcj0mIzM5O251 bGwmIzM5OywgY29tbWFuZFR5cGU9JiMzOTtVbmtub3duJiMzOTt9XSwgdGltZUVsYXBzZWQ6IDY1 bXMKMjAxNy0xMi0wNiAyMDoxMzoyMywxNzYtMDUgRVJST1IgW29yZy5vdmlydC5lbmdpbmUuYXBp LnJlc3RhcGkuPHdicj5yZXNvdXJjZS48d2JyPkFic3RyYWN0QmFja2VuZFJlc291cmNlXSAoZGVm YXVsdCB0YXNrLTcpIFtdIE9wZXJhdGlvbiBGYWlsZWQ6IFtDYW5ub3QgZGVhY3RpdmF0ZSBTdG9y YWdlIHdoaWxlIHRoZXJlIGFyZSBydW5uaW5nIHRhc2tzIG9uIHRoaXMgU3RvcmFnZS4KLVBsZWFz ZSB3YWl0IHVudGlsIHRhc2tzIHdpbGwgZmluaXNoIGFuZCB0cnkgYWdhaW4uXQo8L2I+Cjwvc3Bh bj48L3A+CiAgICAgICAgPHAgZGlyPSJsdHIiIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdp bi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7 Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFs O3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNl OnByZS13cmFwIj4KPC9zcGFuPjwvcD4KICAgICAgPC9iPiZsdDtlcnJvciZndDs8YnIgY2xhc3M9 Im1fLTUzMjk4NzY1MzQxODg2NjU5NTZBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj4KICAgIDxw PjwvcD4KICAgIDxwPjxicj4KICAgIDwvcD4KICAgIDxwPjxicj4KICAgIDwvcD4KICAgIDxwPjxi cj4KICAgIDwvcD4KICA8L2Rpdj4KCjxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188 d2JyPl9fX19fX19fX19fX19fX19fPGJyPgpEZXZlbCBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9 Im1haWx0bzpEZXZlbEBvdmlydC5vcmciPkRldmVsQG92aXJ0Lm9yZzwvYT48YnI+CjxhIGhyZWY9 Imh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby9kZXZlbCIgcmVsPSJub3Jl ZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2xpc3RzLm92aXJ0Lm9yZy88d2JyPm1haWxt YW4vbGlzdGluZm8vZGV2ZWw8L2E+PGJyPjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PC9kaXY+Cg== --===============6019824242312806995==-- From dron at redhat.com Thu Dec 7 11:12:04 2017 Content-Type: multipart/mixed; boundary="===============1820301365568730960==" MIME-Version: 1.0 From: Dafna Ron To: devel at ovirt.org Subject: Re: [ovirt-devel] [ OST Failure Report ] [ oVirtMaster ] [ 07-11-2017 ] [007_sd_reattach.deactivate_storage_domain ] Date: Thu, 07 Dec 2017 11:12:02 +0000 Message-ID: In-Reply-To: CAJ1JNOc0dtvdbmXA3CXXx3VWkREuWck2hYmRzjfACwr9XJ8swQ@mail.gmail.com --===============1820301365568730960== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multi-part message in MIME format. --------------CCBA5F838197258179C525C5 Content-Type: text/plain; charset=3Dutf-8 Content-Transfer-Encoding: 7bit Maor, I either need to get new glasses or a magnifier glass to read what you wrote :-P when you say running tasks - these are actually running tasks that may be running because of other tests in ost - correct? wouldn't killing or blocking those can cause other tests to fail? On 12/07/2017 11:06 AM, Maor Lipchuk wrote: > > CANNOT_DEACTIVATE_DOMAIN_WITH_TASKS is a known issue, the problem is > that we might have tasks which will start running internally using > scheduling (like OVF_UPDATE) and we can't really know how much time > every task will take until it will end. > > Even if we check that there are no running tasks it will not > guaranteethat no task will start until you deactivate the storage domain. > > I think that the best solution for it is an engine support to cancel > running tasks or block tasks from running. > > > On Thu, Dec 7, 2017 at 12:14 PM, Dafna Ron > wrote: > > Hi, > > We had a failure on master basic suite for test > 007_sd_reattach.deactivate_storage_domain. > > The failure was that we failed to deactivate domain due to running > tasks. > > It does not seem to be related to the patch it was testing and I > think that the test itself needs to be modified to check there are > no running tasks. > > Is there perhaps a way to query if there are running tasks before > running the command? can you please take a look at the test on OST? > > ** > > *Link and headline of suspected patches:**Not related to error*** > > ** > > ** > > *Link to Job: > http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/ > * > > *** > > Link to all logs: > http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/ar= tifact/ > > > > (Relevant) error snippet from the log: > > > > *2017-12-06 20:13:23,166-05 WARN > [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWith= OvfUpdateCommand] > (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Validation > of action 'DeactivateStorageDomainWithOvfUpdate' fa iled for user > admin(a)internal-authz. Reasons: > VAR__TYPE__STORAGE__DOMAIN,VAR__ACTION__DEACTIVATE,ERROR_CANNOT_DEACT= IVATE_DOMAIN_WITH_TASKS > 2017-12-06 20:13:23,167-05 INFO > [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWith= OvfUpdateCommand] > (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Lock freed > to object 'EngineLock:{exclusiveLocks=3D'[ea2fd992-8a > a4-44fe-aa43-e96754a975ba=3DSTORAGE]', > sharedLocks=3D'[5e0a0183-0e25-4f43-b5b0-0cfb5510248e=3DPOOL]'}' > 2017-12-06 20:13:23,172-05 DEBUG > [org.ovirt.engine.core.common.di.interceptor.DebugLoggingInterceptor] > (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] method: > runAction, params: [DeactivateStorageDomainWithOvfUpdate, > DeactivateSto > rageDomainWithOvfUpdateParameters:{commandId=3D'630c28e1-41ab-43db-97= 55-a2bb870dbcb3', > user=3D'null', commandType=3D'Unknown'}], timeElapsed: 65ms 2017-12-06 > 20:13:23,176-05 ERROR > [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] > (default task-7) [] Operation Failed: [Cannot deactivate Storage > while there are running tasks on this Storage. -Please wait until > tasks will finish and try again.] * > > * > > > > > > _______________________________________________ > Devel mailing list > Devel(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel > > > --------------CCBA5F838197258179C525C5 Content-Type: text/html; charset=3Dutf-8 Content-Transfer-Encoding: 7bit
Maor, I either need to get new glasses or a magnifier glass to read what you wrote :-P
when you say running tasks - these are actually running tasks that may be running because of other tests in ost - correct? wouldn't killing or blocking those can cause other tests to fail?

On 12/07/2017 11:06 AM, Maor Lipchuk wrote:

CANNOT_DEA= CTIVATE_DOMAIN_WITH_TASKS is a known issue, the problem is that we might ha= ve tasks which will start running internally using scheduling (like OVF_UPD= ATE) and we can't really know how much time every task will take until it w= ill end.

Even if we check that there are no running tasks = it will not gu= arantee that no task will start until you deactivate= the storage domain.

I think that the best solution for it is an e= ngine support to cancel running tasks or block tasks from running.


On Thu, Dec 7, 2017 at 12:14 PM, Dafna Ron <dron(a)redhat.com<= /a>> wrote:

Hi,

We had a failure on master basic suite for test 007_sd_reattach.deactivate_storage_domain.

The failure was that we failed to deactivate domain due to running tasks.

It does not seem to be related to the patch it was testing and I think that the test itself needs to be modified to check there are no running tasks.

Is there perhaps a way to query if there are running tasks before running the command? can you please take a look at the test on OST?

Lin= k and headline of suspected patches: Not related to error

Lin= k to Job: http://jenkins.ovirt.org/job/ovir= t-master_change-queue-tester/4319/


Link to al= l logs: http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/artifact/


(Relevant)= error snippet from the log:

<error&= gt;

2017-12= -06 20:13:23,166-05 WARN [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWithOvfUpdateCommand] (default task-7) [d828= 80e8-1d40-4a3b-a1ba-3362f2f130a0] Validation of action 'Deactivat= eStorageDomainWithOvfUpdate' fa iled for user admin(a)internal-authz. Reasons: VAR__TYPE__STORAGE__DOMAIN,<= wbr>VAR__ACTION__DEACTIVATE,ERROR_CANNOT_DEACTIVATE_DOMAIN_WITH_T= ASKS 2017-12-06 20:13:23,167-05 INFO [org.ovirt.engine.core.bll.storage.do= main.DeactivateStorageDomainWithOvfUpdateCommand] (default task-7= ) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Lock freed to object 'EngineL= ock:{exclusiveLocks=3D'[ea2fd992-8a a4-44fe-aa43-e96754a975ba=3DSTORAGE]', sharedLocks=3D'[5e0a0183-0e25-<= wbr>4f43-b5b0-0cfb5510248e=3DPOOL]'}' 2017-12-06 20:13:23,172-05 DEBUG [org.ovirt.engine.core.common.di.inte= rceptor.DebugLoggingInterceptor] (default task-7) [d82880e8-1d40-4a3b-= a1ba-3362f2f130a0] method: runAction, params: [DeactivateStorageD= omainWithOvfUpdate, DeactivateSto rageDomainWithOvfUpdateParameters:{commandId=3D'630c28e1-41ab-43d= b-9755-a2bb870dbcb3', user=3D'null', commandType=3D'Unknown'}], timeElapsed= : 65ms 2017-12-06 20:13:23,176-05 ERROR [org.ovirt.engine.api.restapi.resourc= e.AbstractBackendResource] (default task-7) [] Operation Failed: [Cann= ot deactivate Storage while there are running tasks on this Storage. -Please wait until tasks will finish and try again.]

<error>





_______________________________________________
Devel mailing list
D= evel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


--------------CCBA5F838197258179C525C5-- --===============1820301365568730960== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS1DQ0JBNUY4MzgxOTcyNTgxNzlDNTI1QzUKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PXV0Zi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKCk1hb3IsIEkgZWl0aGVy IG5lZWQgdG8gZ2V0IG5ldyBnbGFzc2VzIG9yIGEgbWFnbmlmaWVyIGdsYXNzIHRvIHJlYWQgd2hh dAp5b3Ugd3JvdGUgOi1QCndoZW4geW91IHNheSBydW5uaW5nIHRhc2tzIC0gdGhlc2UgYXJlIGFj dHVhbGx5IHJ1bm5pbmcgdGFza3MgdGhhdCBtYXkKYmUgcnVubmluZyBiZWNhdXNlIG9mIG90aGVy IHRlc3RzIGluIG9zdCAtIGNvcnJlY3Q/IHdvdWxkbid0IGtpbGxpbmcgb3IKYmxvY2tpbmcgdGhv c2UgY2FuIGNhdXNlIG90aGVyIHRlc3RzIHRvIGZhaWw/CgpPbiAxMi8wNy8yMDE3IDExOjA2IEFN LCBNYW9yIExpcGNodWsgd3JvdGU6Cj4KPiBDQU5OT1RfREVBQ1RJVkFURV9ET01BSU5fV0lUSF9U QVNLUyBpcyBhIGtub3duIGlzc3VlLCB0aGUgcHJvYmxlbSBpcwo+IHRoYXQgd2UgbWlnaHQgaGF2 ZSB0YXNrcyB3aGljaCB3aWxsIHN0YXJ0IHJ1bm5pbmcgaW50ZXJuYWxseSB1c2luZwo+IHNjaGVk dWxpbmcgKGxpa2UgT1ZGX1VQREFURSkgYW5kIHdlIGNhbid0IHJlYWxseSBrbm93IGhvdyBtdWNo IHRpbWUKPiBldmVyeSB0YXNrIHdpbGwgdGFrZSB1bnRpbCBpdCB3aWxsIGVuZC4KPgo+IEV2ZW4g aWYgd2UgY2hlY2sgdGhhdCB0aGVyZSBhcmUgbm8gcnVubmluZyB0YXNrcyBpdCB3aWxsIG5vdAo+ IGd1YXJhbnRlZXRoYXQgbm8gdGFzayB3aWxsIHN0YXJ0IHVudGlsIHlvdSBkZWFjdGl2YXRlIHRo ZSBzdG9yYWdlIGRvbWFpbi4KPgo+IEkgdGhpbmsgdGhhdCB0aGUgYmVzdCBzb2x1dGlvbiBmb3Ig aXQgaXMgYW4gZW5naW5lIHN1cHBvcnQgdG8gY2FuY2VsCj4gcnVubmluZyB0YXNrcyBvciBibG9j ayB0YXNrcyBmcm9tIHJ1bm5pbmcuCj4KPgo+IE9uIFRodSwgRGVjIDcsIDIwMTcgYXQgMTI6MTQg UE0sIERhZm5hIFJvbiA8ZHJvbkByZWRoYXQuY29tCj4gPG1haWx0bzpkcm9uQHJlZGhhdC5jb20+ PiB3cm90ZToKPgo+ICAgICBIaSwKPgo+ICAgICBXZSBoYWQgYSBmYWlsdXJlIG9uIG1hc3RlciBi YXNpYyBzdWl0ZSBmb3IgdGVzdAo+ICAgICAwMDdfc2RfcmVhdHRhY2guZGVhY3RpdmF0ZV9zdG9y YWdlX2RvbWFpbi4KPgo+ICAgICBUaGUgZmFpbHVyZSB3YXMgdGhhdCB3ZSBmYWlsZWQgdG8gZGVh Y3RpdmF0ZSBkb21haW4gZHVlIHRvIHJ1bm5pbmcKPiAgICAgdGFza3MuCj4KPiAgICAgSXQgZG9l cyBub3Qgc2VlbSB0byBiZSByZWxhdGVkIHRvIHRoZSBwYXRjaCBpdCB3YXMgdGVzdGluZyBhbmQg SQo+ICAgICB0aGluayB0aGF0IHRoZSB0ZXN0IGl0c2VsZiBuZWVkcyB0byBiZSBtb2RpZmllZCB0 byBjaGVjayB0aGVyZSBhcmUKPiAgICAgbm8gcnVubmluZyB0YXNrcy4KPgo+ICAgICBJcyB0aGVy ZSBwZXJoYXBzIGEgd2F5IHRvIHF1ZXJ5IGlmIHRoZXJlIGFyZSBydW5uaW5nIHRhc2tzIGJlZm9y ZQo+ICAgICBydW5uaW5nIHRoZSBjb21tYW5kPyBjYW4geW91IHBsZWFzZSB0YWtlIGEgbG9vayBh dCB0aGUgdGVzdCBvbiBPU1Q/Cj4KPiAgICAgKioKPgo+ICAgICAqTGluayBhbmQgaGVhZGxpbmUg b2Ygc3VzcGVjdGVkIHBhdGNoZXM6KipOb3QgcmVsYXRlZCB0byBlcnJvcioqKgo+Cj4gICAgICoq Cj4KPiAgICAgKioKPgo+ICAgICAqTGluayB0byBKb2I6Cj4gICAgIGh0dHA6Ly9qZW5raW5zLm92 aXJ0Lm9yZy9qb2Ivb3ZpcnQtbWFzdGVyX2NoYW5nZS1xdWV1ZS10ZXN0ZXIvNDMxOS8KPiAgICAg PGh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivb3ZpcnQtbWFzdGVyX2NoYW5nZS1xdWV1ZS10 ZXN0ZXIvNDMxOS8+Kgo+Cj4gICAgICoqKgo+Cj4gICAgIExpbmsgdG8gYWxsIGxvZ3M6Cj4gICAg IGh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivb3ZpcnQtbWFzdGVyX2NoYW5nZS1xdWV1ZS10 ZXN0ZXIvNDMxOS9hcnRpZmFjdC8KPiAgICAgPGh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Iv b3ZpcnQtbWFzdGVyX2NoYW5nZS1xdWV1ZS10ZXN0ZXIvNDMxOS9hcnRpZmFjdC8+Cj4KPgo+ICAg ICAoUmVsZXZhbnQpIGVycm9yIHNuaXBwZXQgZnJvbSB0aGUgbG9nOgo+Cj4gICAgIDxlcnJvcj4K Pgo+ICAgICAqMjAxNy0xMi0wNiAyMDoxMzoyMywxNjYtMDUgV0FSTgo+ICAgICBbb3JnLm92aXJ0 LmVuZ2luZS5jb3JlLmJsbC5zdG9yYWdlLmRvbWFpbi5EZWFjdGl2YXRlU3RvcmFnZURvbWFpbldp dGhPdmZVcGRhdGVDb21tYW5kXQo+ICAgICAoZGVmYXVsdCB0YXNrLTcpIFtkODI4ODBlOC0xZDQw LTRhM2ItYTFiYS0zMzYyZjJmMTMwYTBdIFZhbGlkYXRpb24KPiAgICAgb2YgYWN0aW9uICdEZWFj dGl2YXRlU3RvcmFnZURvbWFpbldpdGhPdmZVcGRhdGUnIGZhIGlsZWQgZm9yIHVzZXIKPiAgICAg YWRtaW5AaW50ZXJuYWwtYXV0aHouIFJlYXNvbnM6Cj4gICAgIFZBUl9fVFlQRV9fU1RPUkFHRV9f RE9NQUlOLFZBUl9fQUNUSU9OX19ERUFDVElWQVRFLEVSUk9SX0NBTk5PVF9ERUFDVElWQVRFX0RP TUFJTl9XSVRIX1RBU0tTCj4gICAgIDIwMTctMTItMDYgMjA6MTM6MjMsMTY3LTA1IElORk8KPiAg ICAgW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuc3RvcmFnZS5kb21haW4uRGVhY3RpdmF0ZVN0 b3JhZ2VEb21haW5XaXRoT3ZmVXBkYXRlQ29tbWFuZF0KPiAgICAgKGRlZmF1bHQgdGFzay03KSBb ZDgyODgwZTgtMWQ0MC00YTNiLWExYmEtMzM2MmYyZjEzMGEwXSBMb2NrIGZyZWVkCj4gICAgIHRv IG9iamVjdCAnRW5naW5lTG9jazp7ZXhjbHVzaXZlTG9ja3M9J1tlYTJmZDk5Mi04YQo+ICAgICBh NC00NGZlLWFhNDMtZTk2NzU0YTk3NWJhPVNUT1JBR0VdJywKPiAgICAgc2hhcmVkTG9ja3M9J1s1 ZTBhMDE4My0wZTI1LTRmNDMtYjViMC0wY2ZiNTUxMDI0OGU9UE9PTF0nfScKPiAgICAgMjAxNy0x Mi0wNiAyMDoxMzoyMywxNzItMDUgREVCVUcKPiAgICAgW29yZy5vdmlydC5lbmdpbmUuY29yZS5j b21tb24uZGkuaW50ZXJjZXB0b3IuRGVidWdMb2dnaW5nSW50ZXJjZXB0b3JdCj4gICAgIChkZWZh dWx0IHRhc2stNykgW2Q4Mjg4MGU4LTFkNDAtNGEzYi1hMWJhLTMzNjJmMmYxMzBhMF0gbWV0aG9k Ogo+ICAgICBydW5BY3Rpb24sIHBhcmFtczogW0RlYWN0aXZhdGVTdG9yYWdlRG9tYWluV2l0aE92 ZlVwZGF0ZSwKPiAgICAgRGVhY3RpdmF0ZVN0bwo+ICAgICByYWdlRG9tYWluV2l0aE92ZlVwZGF0 ZVBhcmFtZXRlcnM6e2NvbW1hbmRJZD0nNjMwYzI4ZTEtNDFhYi00M2RiLTk3NTUtYTJiYjg3MGRi Y2IzJywKPiAgICAgdXNlcj0nbnVsbCcsIGNvbW1hbmRUeXBlPSdVbmtub3duJ31dLCB0aW1lRWxh cHNlZDogNjVtcyAyMDE3LTEyLTA2Cj4gICAgIDIwOjEzOjIzLDE3Ni0wNSBFUlJPUgo+ICAgICBb b3JnLm92aXJ0LmVuZ2luZS5hcGkucmVzdGFwaS5yZXNvdXJjZS5BYnN0cmFjdEJhY2tlbmRSZXNv dXJjZV0KPiAgICAgKGRlZmF1bHQgdGFzay03KSBbXSBPcGVyYXRpb24gRmFpbGVkOiBbQ2Fubm90 IGRlYWN0aXZhdGUgU3RvcmFnZQo+ICAgICB3aGlsZSB0aGVyZSBhcmUgcnVubmluZyB0YXNrcyBv biB0aGlzIFN0b3JhZ2UuIC1QbGVhc2Ugd2FpdCB1bnRpbAo+ICAgICB0YXNrcyB3aWxsIGZpbmlz aCBhbmQgdHJ5IGFnYWluLl0gKgo+Cj4gICAgICo8ZXJyb3I+Cj4KPgo+Cj4KPgo+ICAgICBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ICAgICBEZXZlbCBt YWlsaW5nIGxpc3QKPiAgICAgRGV2ZWxAb3ZpcnQub3JnIDxtYWlsdG86RGV2ZWxAb3ZpcnQub3Jn Pgo+ICAgICBodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWwKPiAg ICAgPGh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby9kZXZlbD4KPgo+CgoK LS0tLS0tLS0tLS0tLS1DQ0JBNUY4MzgxOTcyNTgxNzlDNTI1QzUKQ29udGVudC1UeXBlOiB0ZXh0 L2h0bWw7IGNoYXJzZXQ9dXRmLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdAoKPGh0 bWw+CiAgPGhlYWQ+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CiAgPC9oZWFkPgogIDxib2R5IHRleHQ9IiMwMDAw MDAiIGJnY29sb3I9IiNGRkZGRkYiPgogICAgPGRpdiBjbGFzcz0ibW96LWNpdGUtcHJlZml4Ij5N YW9yLCBJIGVpdGhlciBuZWVkIHRvIGdldCBuZXcgZ2xhc3NlcwogICAgICBvciBhIG1hZ25pZmll ciBnbGFzcyB0byByZWFkIHdoYXQgeW91IHdyb3RlIDotUDxicj4KICAgICAgd2hlbiB5b3Ugc2F5 IHJ1bm5pbmcgdGFza3MgLSB0aGVzZSBhcmUgYWN0dWFsbHkgcnVubmluZyB0YXNrcyB0aGF0CiAg ICAgIG1heSBiZSBydW5uaW5nIGJlY2F1c2Ugb2Ygb3RoZXIgdGVzdHMgaW4gb3N0IC0gY29ycmVj dD8gd291bGRuJ3QKICAgICAga2lsbGluZyBvciBibG9ja2luZyB0aG9zZSBjYW4gY2F1c2Ugb3Ro ZXIgdGVzdHMgdG8gZmFpbD8gPGJyPgogICAgICA8YnI+CiAgICAgIE9uIDEyLzA3LzIwMTcgMTE6 MDYgQU0sIE1hb3IgTGlwY2h1ayB3cm90ZTo8YnI+CiAgICA8L2Rpdj4KICAgIDxibG9ja3F1b3Rl IHR5cGU9ImNpdGUiCmNpdGU9Im1pZDpDQUoxSk5PYzBkdHZkYm1YQTNDWFh4M1ZXa1JFdVdjazJo WW1SempmQUN3cjlYSjhzd1FAbWFpbC5nbWFpbC5jb20iPgogICAgICA8ZGl2IGRpcj0ibHRyIj48 c3BhbgppZD0iZ21haWwtbV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01 ODU5YjdhMS0zMDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgiPgogICAgICAgICAgPHAgc3R5bGU9 ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFu CnN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3ZlcnRpY2FsLWFsaWduOmJhc2Vs aW5lIj48c3BhbiBzdHlsZT0iY29sb3I6cmdiKDAsMCwwKTtmb250LWZhbWlseTptb25vc3BhY2U7 d2hpdGUtc3BhY2U6cHJlLXdyYXAiPkNBTk5PVF9ERUFDVElWQVRFX0RPTUFJTl9XSVRIXzwvc3Bh bj48d2JyCiAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3Bh biBzdHlsZT0iY29sb3I6cmdiKDAsMCwwKTtmb250LWZhbWlseTptb25vc3BhY2U7d2hpdGUtc3Bh Y2U6cHJlLXdyYXAiPlRBU0tTIDwvc3Bhbj48Zm9udD48Zm9udAogICAgICAgICAgICAgICAgICBj b2xvcj0iIzAwMDAwMCIgc2l6ZT0iMSIgZmFjZT0iQXJpYWwiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1z cGFjZTpwcmUtd3JhcCI+aXMgYSBrbm93biBpc3N1ZSwgdGhlIHByb2JsZW0gaXMgdGhhdCB3ZSBt aWdodCBoYXZlIHRhc2tzIHdoaWNoIHdpbGwgc3RhcnQgcnVubmluZyBpbnRlcm5hbGx5IHVzaW5n IHNjaGVkdWxpbmcgKGxpa2UgT1ZGX1VQREFURSkgYW5kIHdlIGNhbid0IHJlYWxseSBrbm93IGhv dyBtdWNoIHRpbWUgZXZlcnkgdGFzayB3aWxsIHRha2UgdW50aWwgaXQgd2lsbCBlbmQuPC9zcGFu PjwvZm9udD48L2ZvbnQ+PC9zcGFuPjwvcD4KICAgICAgICAgIDxwIHN0eWxlPSJsaW5lLWhlaWdo dDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbgpzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZSI+PGZvbnQ+ PGZvbnQKICAgICAgICAgICAgICAgICAgY29sb3I9IiMwMDAwMDAiIHNpemU9IjEiIGZhY2U9IkFy aWFsIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPkV2ZW4gaWYgd2UgY2hlY2sg dGhhdCB0aGVyZSBhcmUgbm8gcnVubmluZyB0YXNrcyBpdCB3aWxsIG5vdCA8L3NwYW4+PC9mb250 Pjxmb250CiAgICAgICAgICAgICAgICAgIGNvbG9yPSIjMDAwMDAwIj48c3BhbiBzdHlsZT0id2hp dGUtc3BhY2U6cHJlLXdyYXAiPmd1YXJhbnRlZTwvc3Bhbj48L2ZvbnQ+PGZvbnQKICAgICAgICAg ICAgICAgICAgY29sb3I9IiMwMDAwMDAiPjxmb250IHNpemU9IjEiIGZhY2U9IkFyaWFsIj48c3Bh biBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPiB0aGF0IG5vIHRhc2sgd2lsbCBzdGFydCB1 bnRpbCB5b3UgZGVhY3RpdmF0ZSB0aGUgc3RvcmFnZSBkb21haW4uPC9zcGFuPjwvZm9udD48L2Zv bnQ+PC9mb250Pjwvc3Bhbj48L3A+CiAgICAgICAgICA8cCBzdHlsZT0ibGluZS1oZWlnaHQ6MS4z ODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4Kc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7dmVydGljYWwtYWxpZ246YmFzZWxpbmUiPjxmb250Pjxmb250 CiAgICAgICAgICAgICAgICAgIGNvbG9yPSIjMDAwMDAwIj48Zm9udCBzaXplPSIxIiBmYWNlPSJB cmlhbCI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj5JIHRoaW5rIHRoYXQgdGhl IGJlc3Qgc29sdXRpb24gZm9yIGl0IGlzIGFuIGVuZ2luZSBzdXBwb3J0IHRvIGNhbmNlbCBydW5u aW5nIHRhc2tzIG9yIGJsb2NrIHRhc2tzIGZyb20gcnVubmluZy48L3NwYW4+PC9mb250PjwvZm9u dD48L2ZvbnQ+PC9zcGFuPjwvcD4KICAgICAgICA8L3NwYW4+PC9kaXY+CiAgICAgIDxkaXYgY2xh c3M9ImdtYWlsX2V4dHJhIj48YnI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9u IFRodSwgRGVjIDcsIDIwMTcgYXQgMTI6MTQgUE0sIERhZm5hCiAgICAgICAgICBSb24gPHNwYW4g ZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86ZHJvbkByZWRoYXQuY29tIgogICAgICAgICAg ICAgIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPmRyb25AcmVkaGF0LmNv bTwvYT4mZ3Q7PC9zcGFuPgogICAgICAgICAgd3JvdGU6PGJyPgogICAgICAgICAgPGJsb2NrcXVv dGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwCiAgICAgICAgICAgIC44 ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAgICAg ICAgIDxkaXYgdGV4dD0iIzAwMDAwMCIgYmdjb2xvcj0iI0ZGRkZGRiI+CiAgICAgICAgICAgICAg PHA+SGksIDxicj4KICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgPHA+V2UgaGFkIGEg ZmFpbHVyZSBvbiBtYXN0ZXIgYmFzaWMgc3VpdGUgZm9yIHRlc3QKICAgICAgICAgICAgICAgIDAw N19zZF9yZWF0dGFjaC5kZWFjdGl2YXRlXzx3YnI+c3RvcmFnZV9kb21haW4uIDxicj4KICAgICAg ICAgICAgICA8L3A+CiAgICAgICAgICAgICAgPHA+VGhlIGZhaWx1cmUgd2FzIHRoYXQgd2UgZmFp bGVkIHRvIGRlYWN0aXZhdGUgZG9tYWluIGR1ZQogICAgICAgICAgICAgICAgdG8gcnVubmluZyB0 YXNrcy4gPGJyPgogICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICA8cD5JdCBkb2VzIG5v dCBzZWVtIHRvIGJlIHJlbGF0ZWQgdG8gdGhlIHBhdGNoIGl0IHdhcwogICAgICAgICAgICAgICAg dGVzdGluZyBhbmQgSSB0aGluayB0aGF0IHRoZSB0ZXN0IGl0c2VsZiBuZWVkcyB0byBiZQogICAg ICAgICAgICAgICAgbW9kaWZpZWQgdG8gY2hlY2sgdGhlcmUgYXJlIG5vIHJ1bm5pbmcgdGFza3Mu IDxicj4KICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgPHA+SXMgdGhlcmUgcGVyaGFw cyBhIHdheSB0byBxdWVyeSBpZiB0aGVyZSBhcmUgcnVubmluZwogICAgICAgICAgICAgICAgdGFz a3MgYmVmb3JlIHJ1bm5pbmcgdGhlIGNvbW1hbmQ/IGNhbiB5b3UgcGxlYXNlIHRha2UgYQogICAg ICAgICAgICAgICAgbG9vayBhdCB0aGUgdGVzdCBvbiBPU1Q/IDxicj4KICAgICAgICAgICAgICA8 L3A+CiAgICAgICAgICAgICAgPHA+PGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIKaWQ9Im1f LTUzMjk4NzY1MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0 LTE4YjctMmQzMTk5MTg4OWU4Ij4KICAgICAgICAgICAgICAgIDwvYj48L3A+CiAgICAgICAgICAg ICAgPHAgZGlyPSJsdHIiCiAgICAgICAgICAgICAgICBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODtt YXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PGIKICAgICAgICAgICAgICAgICAgc3R5 bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIKaWQ9Im1fLTUzMjk4NzY1MzQxODg2NjU5NTZkb2NzLWlu dGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5MTg4OWU4Ij48c3BhbiBz dHlsZT0iZm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1h bDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWdu OmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj5MaW5rIGFuZCBoZWFkbGluZSBvZiBzdXNw ZWN0ZWQgcGF0Y2hlczo8L3NwYW4+PGIKICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC13 ZWlnaHQ6bm9ybWFsIgppZD0ibV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3Vp ZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgiPjxiPgogICAgICAgICAgICAg ICAgICAgICAgTm90IHJlbGF0ZWQgdG8gZXJyb3I8L2I+PC9iPjwvYj48L3A+CiAgICAgICAgICAg ICAgPGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIKaWQ9Im1fLTUzMjk4NzY1MzQxODg2NjU5 NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5MTg4OWU4 Ij4KICAgICAgICAgICAgICA8L2I+CiAgICAgICAgICAgICAgPHA+PGIgc3R5bGU9ImZvbnQtd2Vp Z2h0Om5vcm1hbCIKaWQ9Im1fLTUzMjk4NzY1MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQt NTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5MTg4OWU4Ij4KICAgICAgICAgICAgICAgIDwv Yj48L3A+CiAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiCiAgICAgICAgICAgICAgICBzdHlsZT0i bGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PGIKICAg ICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIKaWQ9Im1fLTUzMjk4NzY1 MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQz MTk5MTg4OWU4Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7 Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQw MDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpu b25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj5MaW5rIHRv IEpvYjogPGEgY2xhc3M9Im1fLTUzMjk4NzY1MzQxODg2NjU5NTZtb3otdHh0LWxpbmstZnJlZXRl eHQiIGhyZWY9Imh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivb3ZpcnQtbWFzdGVyX2NoYW5n ZS1xdWV1ZS10ZXN0ZXIvNDMxOS8iIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbmQ9InRy dWUiPmh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2IvPHdicj5vdmlydC1tYXN0ZXJfY2hhbmdl LXF1ZXVlLTx3YnI+dGVzdGVyLzQzMTkvPC9hPjwvc3Bhbj48L2I+PC9wPgogICAgICAgICAgICAg IDxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiCmlkPSJtXy01MzI5ODc2NTM0MTg4NjY1OTU2 ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+ CiAgICAgICAgICAgICAgPC9iPjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiCmlkPSJtXy01 MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0x OGI3LTJkMzE5OTE4ODllOCI+PGJyPgogICAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiCiAgICAg ICAgICAgICAgICAgIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdp bi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJp YWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0 OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlv bjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj5MaW5r IHRvIGFsbCBsb2dzOiA8YSBjbGFzcz0ibV8tNTMyOTg3NjUzNDE4ODY2NTk1Nm1vei10eHQtbGlu ay1mcmVldGV4dCIgaHJlZj0iaHR0cDovL2plbmtpbnMub3ZpcnQub3JnL2pvYi9vdmlydC1tYXN0 ZXJfY2hhbmdlLXF1ZXVlLXRlc3Rlci80MzE5L2FydGlmYWN0LyIgdGFyZ2V0PSJfYmxhbmsiIG1v ei1kby1ub3Qtc2VuZD0idHJ1ZSI+aHR0cDovL2plbmtpbnMub3ZpcnQub3JnL2pvYi88d2JyPm92 aXJ0LW1hc3Rlcl9jaGFuZ2UtcXVldWUtPHdicj50ZXN0ZXIvNDMxOS9hcnRpZmFjdC88L2E+PC9z cGFuPjwvcD4KICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgIDxwIGRpcj0ibHRy IgogICAgICAgICAgICAgICAgICBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBw dDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFt aWx5OkFyaWFsO2NvbG9yOiMwMDAwMDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250 LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRl Y29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3Jh cCI+KFJlbGV2YW50KSBlcnJvciBzbmlwcGV0IGZyb20gdGhlIGxvZzogPC9zcGFuPjwvcD4KICAg ICAgICAgICAgICAgIDxwIGRpcj0ibHRyIgogICAgICAgICAgICAgICAgICBzdHlsZT0ibGluZS1o ZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOiMwMDAwMDA7YmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9u dC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNl bGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+Jmx0O2Vycm9yJmd0Ozwvc3Bhbj48L3A+CiAgICAg ICAgICAgICAgICA8cCBkaXI9Imx0ciIKICAgICAgICAgICAgICAgICAgc3R5bGU9ImxpbmUtaGVp Z2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJm b250LXNpemU6MTFwdDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQt Y29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQt dmFyaWFudDpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxp bmU7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPgo8L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgPHAg ZGlyPSJsdHIiCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdp bi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7 Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFs O3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNl OnByZS13cmFwIj48Yj4yMDE3LTEyLTA2IDIwOjEzOjIzLDE2Ni0wNSBXQVJOICBbb3JnLm92aXJ0 LmVuZ2luZS5jb3JlLmJsbC48d2JyPnN0b3JhZ2UuZG9tYWluLjx3YnI+RGVhY3RpdmF0ZVN0b3Jh Z2VEb21haW5XaXRoT3ZmPHdicj5VcGRhdGVDb21tYW5kXSAoZGVmYXVsdCB0YXNrLTcpIFtkODI4 ODBlOC0xZDQwLTRhM2ItYTFiYS08d2JyPjMzNjJmMmYxMzBhMF0gVmFsaWRhdGlvbiBvZiBhY3Rp b24gJzx3YnI+RGVhY3RpdmF0ZVN0b3JhZ2VEb21haW5XaXRoT3ZmPHdicj5VcGRhdGUnIGZhCmls ZWQgZm9yIHVzZXIgYWRtaW5AaW50ZXJuYWwtYXV0aHouIFJlYXNvbnM6IFZBUl9fVFlQRV9fU1RP UkFHRV9fRE9NQUlOLDx3YnI+VkFSX19BQ1RJT05fX0RFQUNUSVZBVEUsRVJST1JfPHdicj5DQU5O T1RfREVBQ1RJVkFURV9ET01BSU5fV0lUSF88d2JyPlRBU0tTCjIwMTctMTItMDYgMjA6MTM6MjMs MTY3LTA1IElORk8gIFtvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLjx3YnI+c3RvcmFnZS5kb21h aW4uPHdicj5EZWFjdGl2YXRlU3RvcmFnZURvbWFpbldpdGhPdmY8d2JyPlVwZGF0ZUNvbW1hbmRd IChkZWZhdWx0IHRhc2stNykgW2Q4Mjg4MGU4LTFkNDAtNGEzYi1hMWJhLTx3YnI+MzM2MmYyZjEz MGEwXSBMb2NrIGZyZWVkIHRvIG9iamVjdCAnRW5naW5lTG9jazp7ZXhjbHVzaXZlTG9ja3M9J1s8 d2JyPmVhMmZkOTkyLThhCmE0LTQ0ZmUtYWE0My1lOTY3NTRhOTc1YmE9PHdicj5TVE9SQUdFXScs IHNoYXJlZExvY2tzPSdbNWUwYTAxODMtMGUyNS08d2JyPjRmNDMtYjViMC0wY2ZiNTUxMDI0OGU9 UE9PTF0nfTx3YnI+JwoyMDE3LTEyLTA2IDIwOjEzOjIzLDE3Mi0wNSBERUJVRyBbb3JnLm92aXJ0 LmVuZ2luZS5jb3JlLmNvbW1vbi48d2JyPmRpLmludGVyY2VwdG9yLjx3YnI+RGVidWdMb2dnaW5n SW50ZXJjZXB0b3JdIChkZWZhdWx0IHRhc2stNykgW2Q4Mjg4MGU4LTFkNDAtNGEzYi1hMWJhLTx3 YnI+MzM2MmYyZjEzMGEwXSBtZXRob2Q6IHJ1bkFjdGlvbiwgcGFyYW1zOiBbPHdicj5EZWFjdGl2 YXRlU3RvcmFnZURvbWFpbldpdGhPdmY8d2JyPlVwZGF0ZSwgRGVhY3RpdmF0ZVN0bwpyYWdlRG9t YWluV2l0aE92ZlVwZGF0ZVBhcmFtZXQ8d2JyPmVyczp7Y29tbWFuZElkPSc2MzBjMjhlMS00MWFi LTx3YnI+NDNkYi05NzU1LWEyYmI4NzBkYmNiMycsIHVzZXI9J251bGwnLCBjb21tYW5kVHlwZT0n VW5rbm93bid9XSwgdGltZUVsYXBzZWQ6IDY1bXMKMjAxNy0xMi0wNiAyMDoxMzoyMywxNzYtMDUg RVJST1IgW29yZy5vdmlydC5lbmdpbmUuYXBpLnJlc3RhcGkuPHdicj5yZXNvdXJjZS48d2JyPkFi c3RyYWN0QmFja2VuZFJlc291cmNlXSAoZGVmYXVsdCB0YXNrLTcpIFtdIE9wZXJhdGlvbiBGYWls ZWQ6IFtDYW5ub3QgZGVhY3RpdmF0ZSBTdG9yYWdlIHdoaWxlIHRoZXJlIGFyZSBydW5uaW5nIHRh c2tzIG9uIHRoaXMgU3RvcmFnZS4KLVBsZWFzZSB3YWl0IHVudGlsIHRhc2tzIHdpbGwgZmluaXNo IGFuZCB0cnkgYWdhaW4uXQo8L2I+Cjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICA8cCBkaXI9 Imx0ciIKICAgICAgICAgICAgICAgICAgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRv cDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250 LWZhbWlseTpBcmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4 dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJl LXdyYXAiPgo8L3NwYW4+PC9wPgogICAgICAgICAgICAgIDwvYj4mbHQ7ZXJyb3ImZ3Q7PGJyCiAg ICAgICAgICAgICAgICBjbGFzcz0ibV8tNTMyOTg3NjUzNDE4ODY2NTk1NkFwcGxlLWludGVyY2hh bmdlLW5ld2xpbmUiPgogICAgICAgICAgICAgIDxwPjxicj4KICAgICAgICAgICAgICA8L3A+CiAg ICAgICAgICAgICAgPHA+PGJyPgogICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICA8cD48 YnI+CiAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGJy PgogICAgICAgICAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX188d2JyPl9fX19fX19f X19fX19fX19fPGJyPgogICAgICAgICAgICBEZXZlbCBtYWlsaW5nIGxpc3Q8YnI+CiAgICAgICAg ICAgIDxhIGhyZWY9Im1haWx0bzpEZXZlbEBvdmlydC5vcmciIG1vei1kby1ub3Qtc2VuZD0idHJ1 ZSI+RGV2ZWxAb3ZpcnQub3JnPC9hPjxicj4KICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL2xp c3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RldmVsIgogICAgICAgICAgICAgIHJlbD0i bm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+aHR0cDov L2xpc3RzLm92aXJ0Lm9yZy88d2JyPm1haWxtYW4vbGlzdGluZm8vZGV2ZWw8L2E+PGJyPgogICAg ICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxicj4KICAgICAgPC9k aXY+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8cD48YnI+CiAgICA8L3A+CiAgPC9ib2R5Pgo8L2h0 bWw+CgotLS0tLS0tLS0tLS0tLUNDQkE1RjgzODE5NzI1ODE3OUM1MjVDNS0tCg== --===============1820301365568730960==-- From ykaul at redhat.com Thu Dec 7 11:23:39 2017 Content-Type: multipart/mixed; boundary="===============3452039446089379612==" MIME-Version: 1.0 From: Yaniv Kaul To: devel at ovirt.org Subject: Re: [ovirt-devel] [ OST Failure Report ] [ oVirtMaster ] [ 07-11-2017 ] [007_sd_reattach.deactivate_storage_domain ] Date: Thu, 07 Dec 2017 13:22:56 +0200 Message-ID: In-Reply-To: fb232ae5-d6e7-a6b3-eee5-1204b7718ce8@redhat.com --===============3452039446089379612== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Thu, Dec 7, 2017 at 1:12 PM, Dafna Ron wrote: > Maor, I either need to get new glasses or a magnifier glass to read what > you wrote :-P > when you say running tasks - these are actually running tasks that may be > running because of other tests in ost - correct? wouldn't killing or > blocking those can cause other tests to fail? > It might well be the OVF update. How can we, from the API, wait for those tasks to complete? Or should we catch exception and retry? Y. > > On 12/07/2017 11:06 AM, Maor Lipchuk wrote: > > CANNOT_DEACTIVATE_DOMAIN_WITH_TASKS is a known issue, the problem is that > we might have tasks which will start running internally using scheduling > (like OVF_UPDATE) and we can't really know how much time every task will > take until it will end. > > Even if we check that there are no running tasks it will not guarantee > that no task will start until you deactivate the storage domain. > > I think that the best solution for it is an engine support to cancel > running tasks or block tasks from running. > > On Thu, Dec 7, 2017 at 12:14 PM, Dafna Ron wrote: > >> Hi, >> >> We had a failure on master basic suite for test >> 007_sd_reattach.deactivate_storage_domain. >> >> The failure was that we failed to deactivate domain due to running tasks. >> >> It does not seem to be related to the patch it was testing and I think >> that the test itself needs to be modified to check there are no running >> tasks. >> >> Is there perhaps a way to query if there are running tasks before running >> the command? can you please take a look at the test on OST? >> >> *Link and headline of suspected patches: Not related to error* >> >> *Link to Job: >> http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/ >> * >> >> >> * Link to all logs: >> http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/artif= act/ >> >> (Relevant) error snippet from the log: 2017-12-06 20:13:23,166-05 >> WARN >> [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWithOvf= UpdateCommand] >> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Validation of >> action 'DeactivateStorageDomainWithOvfUpdate' fa iled for user >> admin(a)internal-authz. Reasons: >> VAR__TYPE__STORAGE__DOMAIN,VAR__ACTION__DEACTIVATE,ERROR_CANNOT_DEACTIVA= TE_DOMAIN_WITH_TASKS >> 2017-12-06 20:13:23,167-05 INFO >> [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWithOvf= UpdateCommand] >> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Lock freed to >> object 'EngineLock:{exclusiveLocks=3D'[ea2fd992-8a >> a4-44fe-aa43-e96754a975ba=3DSTORAGE]', >> sharedLocks=3D'[5e0a0183-0e25-4f43-b5b0-0cfb5510248e=3DPOOL]'}' 2017-12-= 06 >> 20:13:23,172-05 DEBUG >> [org.ovirt.engine.core.common.di.interceptor.DebugLoggingInterceptor] >> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] method: runActio= n, >> params: [DeactivateStorageDomainWithOvfUpdate, DeactivateSto >> rageDomainWithOvfUpdateParameters:{commandId=3D'630c28e1-41ab-43db-9755-= a2bb870dbcb3', >> user=3D'null', commandType=3D'Unknown'}], timeElapsed: 65ms 2017-12-06 >> 20:13:23,176-05 ERROR >> [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (default >> task-7) [] Operation Failed: [Cannot deactivate Storage while there are >> running tasks on this Storage. -Please wait until tasks will finish and = try >> again.] * >> >> >> >> >> >> _______________________________________________ >> Devel mailing list >> Devel(a)ovirt.org >> http://lists.ovirt.org/mailman/listinfo/devel >> > > > > _______________________________________________ > Devel mailing list > Devel(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel > --===============3452039446089379612== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGRpdiBjbGFz cz0iZ21haWxfcXVvdGUiPk9uIFRodSwgRGVjIDcsIDIwMTcgYXQgMToxMiBQTSwgRGFmbmEgUm9u IDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmRyb25AcmVkaGF0LmNvbSIgdGFy Z2V0PSJfYmxhbmsiPmRyb25AcmVkaGF0LmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PGJs b2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9y ZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+CiAgCiAgICAKICAKICA8 ZGl2IHRleHQ9IiMwMDAwMDAiIGJnY29sb3I9IiNGRkZGRkYiPgogICAgPGRpdiBjbGFzcz0ibV8z MzMzNjMxMzgzNzM0NDU0MzA4bW96LWNpdGUtcHJlZml4Ij5NYW9yLCBJIGVpdGhlciBuZWVkIHRv IGdldCBuZXcgZ2xhc3NlcwogICAgICBvciBhIG1hZ25pZmllciBnbGFzcyB0byByZWFkIHdoYXQg eW91IHdyb3RlIDotUDxicj4KICAgICAgd2hlbiB5b3Ugc2F5IHJ1bm5pbmcgdGFza3MgLSB0aGVz ZSBhcmUgYWN0dWFsbHkgcnVubmluZyB0YXNrcyB0aGF0CiAgICAgIG1heSBiZSBydW5uaW5nIGJl Y2F1c2Ugb2Ygb3RoZXIgdGVzdHMgaW4gb3N0IC0gY29ycmVjdD8gd291bGRuJiMzOTt0CiAgICAg IGtpbGxpbmcgb3IgYmxvY2tpbmcgdGhvc2UgY2FuIGNhdXNlIG90aGVyIHRlc3RzIHRvIGZhaWw/ IDxicj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PGRpdj5JdCBtaWdo dCB3ZWxsIGJlIHRoZSBPVkYgdXBkYXRlLiBIb3cgY2FuIHdlLCBmcm9tIHRoZSBBUEksIHdhaXQg Zm9yIHRob3NlIHRhc2tzIHRvIGNvbXBsZXRlPyBPciBzaG91bGQgd2UgY2F0Y2ggZXhjZXB0aW9u IGFuZCByZXRyeT88L2Rpdj48ZGl2PlkuPC9kaXY+PGRpdj7CoDwvZGl2PjxibG9ja3F1b3RlIGNs YXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFw eCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjxkaXYgdGV4dD0iIzAwMDAwMCIgYmdjb2xv cj0iI0ZGRkZGRiI+PGRpdiBjbGFzcz0ibV8zMzMzNjMxMzgzNzM0NDU0MzA4bW96LWNpdGUtcHJl Zml4Ij48ZGl2PjxkaXYgY2xhc3M9Img1Ij4KICAgICAgPGJyPgogICAgICBPbiAxMi8wNy8yMDE3 IDExOjA2IEFNLCBNYW9yIExpcGNodWsgd3JvdGU6PGJyPgogICAgPC9kaXY+PC9kaXY+PC9kaXY+ PGRpdj48ZGl2IGNsYXNzPSJoNSI+CiAgICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4KICAgICAg PGRpdiBkaXI9Imx0ciI+PHNwYW4gaWQ9Im1fMzMzMzYzMTM4MzczNDQ1NDMwOGdtYWlsLW1fLTUz Mjk4NzY1MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4 YjctMmQzMTk5MTg4OWU4Ij4KICAgICAgICAgIDxwIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21h cmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZSI+PHNwYW4gc3R5bGU9ImNv bG9yOnJnYigwLDAsMCk7Zm9udC1mYW1pbHk6bW9ub3NwYWNlO3doaXRlLXNwYWNlOnByZS13cmFw Ij5DQU5OT1RfREVBQ1RJVkFURV9ET01BSU5fV0lUSF88L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9y OnJnYigwLDAsMCk7Zm9udC1mYW1pbHk6bW9ub3NwYWNlO3doaXRlLXNwYWNlOnByZS13cmFwIj48 d2JyPlRBU0tTIDwvc3Bhbj48Zm9udD48Zm9udCBjb2xvcj0iIzAwMDAwMCIgc2l6ZT0iMSIgZmFj ZT0iQXJpYWwiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+aXMgYSBrbm93biBp c3N1ZSwgdGhlIHByb2JsZW0gaXMgdGhhdCB3ZSBtaWdodCBoYXZlIHRhc2tzIHdoaWNoIHdpbGwg c3RhcnQgcnVubmluZyBpbnRlcm5hbGx5IHVzaW5nIHNjaGVkdWxpbmcgKGxpa2UgT1ZGX1VQREFU RSkgYW5kIHdlIGNhbiYjMzk7dCByZWFsbHkga25vdyBob3cgbXVjaCB0aW1lIGV2ZXJ5IHRhc2sg d2lsbCB0YWtlIHVudGlsIGl0IHdpbGwgZW5kLjwvc3Bhbj48L2ZvbnQ+PC9mb250Pjwvc3Bhbj48 L3A+CiAgICAgICAgICA8cCBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDtt YXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7dmVydGljYWwtYWxpZ246YmFzZWxpbmUiPjxmb250Pjxmb250IGNvbG9yPSIjMDAwMDAwIiBz aXplPSIxIiBmYWNlPSJBcmlhbCI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj5F dmVuIGlmIHdlIGNoZWNrIHRoYXQgdGhlcmUgYXJlIG5vIHJ1bm5pbmcgdGFza3MgaXQgd2lsbCBu b3QgPC9zcGFuPjwvZm9udD48Zm9udCBjb2xvcj0iIzAwMDAwMCI+PHNwYW4gc3R5bGU9IndoaXRl LXNwYWNlOnByZS13cmFwIj5ndWFyYW50ZWU8L3NwYW4+PC9mb250Pjxmb250IGNvbG9yPSIjMDAw MDAwIj48Zm9udCBzaXplPSIxIiBmYWNlPSJBcmlhbCI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNl OnByZS13cmFwIj4gdGhhdCBubyB0YXNrIHdpbGwgc3RhcnQgdW50aWwgeW91IGRlYWN0aXZhdGUg dGhlIHN0b3JhZ2UgZG9tYWluLjwvc3Bhbj48L2ZvbnQ+PC9mb250PjwvZm9udD48L3NwYW4+PC9w PgogICAgICAgICAgPHAgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFy Z2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lIj48Zm9udD48Zm9udCBjb2xvcj0iIzAwMDAwMCI+PGZv bnQgc2l6ZT0iMSIgZmFjZT0iQXJpYWwiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUtd3Jh cCI+SSB0aGluayB0aGF0IHRoZSBiZXN0IHNvbHV0aW9uIGZvciBpdCBpcyBhbiBlbmdpbmUgc3Vw cG9ydCB0byBjYW5jZWwgcnVubmluZyB0YXNrcyBvciBibG9jayB0YXNrcyBmcm9tIHJ1bm5pbmcu PC9zcGFuPjwvZm9udD48L2ZvbnQ+PC9mb250Pjwvc3Bhbj48L3A+CiAgICAgICAgPC9zcGFuPjwv ZGl2PgogICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+PGJyPgogICAgICAgIDxkaXYgY2xh c3M9ImdtYWlsX3F1b3RlIj5PbiBUaHUsIERlYyA3LCAyMDE3IGF0IDEyOjE0IFBNLCBEYWZuYQog ICAgICAgICAgUm9uIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmRyb25AcmVk aGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmRyb25AcmVkaGF0LmNvbTwvYT4mZ3Q7PC9zcGFuPgog ICAgICAgICAgd3JvdGU6PGJyPgogICAgICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1 b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7 cGFkZGluZy1sZWZ0OjFleCI+CiAgICAgICAgICAgIDxkaXYgdGV4dD0iIzAwMDAwMCIgYmdjb2xv cj0iI0ZGRkZGRiI+CiAgICAgICAgICAgICAgPHA+SGksIDxicj4KICAgICAgICAgICAgICA8L3A+ CiAgICAgICAgICAgICAgPHA+V2UgaGFkIGEgZmFpbHVyZSBvbiBtYXN0ZXIgYmFzaWMgc3VpdGUg Zm9yIHRlc3QKICAgICAgICAgICAgICAgIDAwN19zZF9yZWF0dGFjaC5kZWFjdGl2YXRlX3N0bzx3 YnI+cmFnZV9kb21haW4uIDxicj4KICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgPHA+ VGhlIGZhaWx1cmUgd2FzIHRoYXQgd2UgZmFpbGVkIHRvIGRlYWN0aXZhdGUgZG9tYWluIGR1ZQog ICAgICAgICAgICAgICAgdG8gcnVubmluZyB0YXNrcy4gPGJyPgogICAgICAgICAgICAgIDwvcD4K ICAgICAgICAgICAgICA8cD5JdCBkb2VzIG5vdCBzZWVtIHRvIGJlIHJlbGF0ZWQgdG8gdGhlIHBh dGNoIGl0IHdhcwogICAgICAgICAgICAgICAgdGVzdGluZyBhbmQgSSB0aGluayB0aGF0IHRoZSB0 ZXN0IGl0c2VsZiBuZWVkcyB0byBiZQogICAgICAgICAgICAgICAgbW9kaWZpZWQgdG8gY2hlY2sg dGhlcmUgYXJlIG5vIHJ1bm5pbmcgdGFza3MuIDxicj4KICAgICAgICAgICAgICA8L3A+CiAgICAg ICAgICAgICAgPHA+SXMgdGhlcmUgcGVyaGFwcyBhIHdheSB0byBxdWVyeSBpZiB0aGVyZSBhcmUg cnVubmluZwogICAgICAgICAgICAgICAgdGFza3MgYmVmb3JlIHJ1bm5pbmcgdGhlIGNvbW1hbmQ/ IGNhbiB5b3UgcGxlYXNlIHRha2UgYQogICAgICAgICAgICAgICAgbG9vayBhdCB0aGUgdGVzdCBv biBPU1Q/IDxicj4KICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgPHA+PGIgc3R5bGU9 ImZvbnQtd2VpZ2h0Om5vcm1hbCIgaWQ9Im1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1 MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQz MTk5MTg4OWU4Ij4KICAgICAgICAgICAgICAgIDwvYj48L3A+CiAgICAgICAgICAgICAgPHAgZGly PSJsdHIiIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0 b206MHB0Ij48YiBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIiBpZD0ibV8zMzMzNjMxMzgzNzM0 NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0z MDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtm b250LWZhbWlseTpBcmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7 dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6 cHJlLXdyYXAiPkxpbmsgYW5kIGhlYWRsaW5lIG9mIHN1c3BlY3RlZCBwYXRjaGVzOjwvc3Bhbj48 YiBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIiBpZD0ibV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8t NTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0zMDczLTU0MTQt MThiNy0yZDMxOTkxODg5ZTgiPjxiPgogICAgICAgICAgICAgICAgICAgICAgTm90IHJlbGF0ZWQg dG8gZXJyb3I8L2I+PC9iPjwvYj48L3A+CiAgICAgICAgICAgICAgPGIgc3R5bGU9ImZvbnQtd2Vp Z2h0Om5vcm1hbCIgaWQ9Im1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1MzQxODg2NjU5 NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5MTg4OWU4 Ij4KICAgICAgICAgICAgICA8L2I+CiAgICAgICAgICAgICAgPHA+PGIgc3R5bGU9ImZvbnQtd2Vp Z2h0Om5vcm1hbCIgaWQ9Im1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1MzQxODg2NjU5 NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5MTg4OWU4 Ij4KICAgICAgICAgICAgICAgIDwvYj48L3A+CiAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiIHN0 eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48 YiBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIiBpZD0ibV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8t NTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0zMDczLTU0MTQt MThiNy0yZDMxOTkxODg5ZTgiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250LWZhbWls eTpBcmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13 ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC1kZWNv cmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXAi PkxpbmsgdG8gSm9iOiA8YSBjbGFzcz0ibV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUz NDE4ODY2NTk1Nm1vei10eHQtbGluay1mcmVldGV4dCIgaHJlZj0iaHR0cDovL2plbmtpbnMub3Zp cnQub3JnL2pvYi9vdmlydC1tYXN0ZXJfY2hhbmdlLXF1ZXVlLXRlc3Rlci80MzE5LyIgdGFyZ2V0 PSJfYmxhbmsiPmh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivbzx3YnI+dmlydC1tYXN0ZXJf Y2hhbmdlLXF1ZXVlLXRlc3RlPHdicj5yLzQzMTkvPC9hPjwvc3Bhbj48L2I+PC9wPgogICAgICAg ICAgICAgIDxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiIGlkPSJtXzMzMzM2MzEzODM3MzQ0 NTQzMDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMw NzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+CiAgICAgICAgICAgICAgPC9iPjxiIHN0eWxlPSJm b250LXdlaWdodDpub3JtYWwiIGlkPSJtXzMzMzM2MzEzODM3MzQ0NTQzMDhtXy01MzI5ODc2NTM0 MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5 OTE4ODllOCI+PGJyPgogICAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiIHN0eWxlPSJsaW5lLWhl aWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0i Zm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5k LWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250 LXZhcmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2Vs aW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj5MaW5rIHRvIGFsbCBsb2dzOiA8YSBjbGFzcz0ibV8z MzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1Nm1vei10eHQtbGluay1mcmVl dGV4dCIgaHJlZj0iaHR0cDovL2plbmtpbnMub3ZpcnQub3JnL2pvYi9vdmlydC1tYXN0ZXJfY2hh bmdlLXF1ZXVlLXRlc3Rlci80MzE5L2FydGlmYWN0LyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9q ZW5raW5zLm92aXJ0Lm9yZy9qb2Ivbzx3YnI+dmlydC1tYXN0ZXJfY2hhbmdlLXF1ZXVlLXRlc3Rl PHdicj5yLzQzMTkvYXJ0aWZhY3QvPC9hPjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICA8YnI+ CiAgICAgICAgICAgICAgICA8cCBkaXI9Imx0ciIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFy Z2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFw dDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3Jt YWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3Bh Y2U6cHJlLXdyYXAiPihSZWxldmFudCkgZXJyb3Igc25pcHBldCBmcm9tIHRoZSBsb2c6IDwvc3Bh bj48L3A+CiAgICAgICAgICAgICAgICA8cCBkaXI9Imx0ciIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEu Mzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJmb250LXNp emU6MTFwdDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFu dDpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hp dGUtc3BhY2U6cHJlLXdyYXAiPiZsdDtlcnJvciZndDs8L3NwYW4+PC9wPgogICAgICAgICAgICAg ICAgPHAgZGlyPSJsdHIiIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21h cmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6 QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2Vp Z2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtZGVjb3Jh dGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj4K PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgIDxwIGRpcj0ibHRyIiBzdHlsZT0ibGluZS1oZWln aHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImZv bnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOiMwMDAwMDA7YmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12 YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGlu ZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+PGI+MjAxNy0xMi0wNiAyMDoxMzoyMywxNjYtMDUgV0FS TiAgW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuc3RvPHdicj5yYWdlLmRvbWFpbi5EZWFjdGl2 YXRlU3RvcmFnZUQ8d2JyPm9tYWluV2l0aE92ZlVwZGF0ZUNvbW1hbmRdIChkZWZhdWx0IHRhc2st NykgW2Q4Mjg4MGU4LTFkNDAtNGEzYi1hMWJhLTMzNjJmPHdicj4yZjEzMGEwXSBWYWxpZGF0aW9u IG9mIGFjdGlvbiAmIzM5O0RlYWN0aXZhdGVTdG9yYWdlRG9tYWluV2l0aE92PHdicj5mVXBkYXRl JiMzOTsgZmEKaWxlZCBmb3IgdXNlciBhZG1pbkBpbnRlcm5hbC1hdXRoei4gUmVhc29uczogVkFS X19UWVBFX19TVE9SQUdFX19ET01BSU4sVkFSPHdicj5fX0FDVElPTl9fREVBQ1RJVkFURSxFUlJP Ul9DQU48d2JyPk5PVF9ERUFDVElWQVRFX0RPTUFJTl9XSVRIX1RBUzx3YnI+S1MKMjAxNy0xMi0w NiAyMDoxMzoyMywxNjctMDUgSU5GTyAgW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuc3RvPHdi cj5yYWdlLmRvbWFpbi5EZWFjdGl2YXRlU3RvcmFnZUQ8d2JyPm9tYWluV2l0aE92ZlVwZGF0ZUNv bW1hbmRdIChkZWZhdWx0IHRhc2stNykgW2Q4Mjg4MGU4LTFkNDAtNGEzYi1hMWJhLTMzNjJmPHdi cj4yZjEzMGEwXSBMb2NrIGZyZWVkIHRvIG9iamVjdCAmIzM5O0VuZ2luZUxvY2s6e2V4Y2x1c2l2 ZUxvY2tzPSYjMzk7Wzx3YnI+ZWEyZmQ5OTItOGEKYTQtNDRmZS1hYTQzLWU5Njc1NGE5NzViYT1T VE9SPHdicj5BR0VdJiMzOTssIHNoYXJlZExvY2tzPSYjMzk7WzVlMGEwMTgzLTBlMjUtNGY8d2Jy PjQzLWI1YjAtMGNmYjU1MTAyNDhlPVBPT0xdJiMzOTt9JiMzOTsKMjAxNy0xMi0wNiAyMDoxMzoy MywxNzItMDUgREVCVUcgW29yZy5vdmlydC5lbmdpbmUuY29yZS5jb21tb24uPHdicj5kaS5pbnRl cmNlcHRvci5EZWJ1Z0xvZ2dpbmdJbnQ8d2JyPmVyY2VwdG9yXSAoZGVmYXVsdCB0YXNrLTcpIFtk ODI4ODBlOC0xZDQwLTRhM2ItYTFiYS0zMzYyZjx3YnI+MmYxMzBhMF0gbWV0aG9kOiBydW5BY3Rp b24sIHBhcmFtczogW0RlYWN0aXZhdGVTdG9yYWdlRG9tYWluV2l0aE92PHdicj5mVXBkYXRlLCBE ZWFjdGl2YXRlU3RvCnJhZ2VEb21haW5XaXRoT3ZmVXBkYXRlUGFyYW1ldDx3YnI+ZXJzOntjb21t YW5kSWQ9JiMzOTs2MzBjMjhlMS00MWFiLTx3YnI+NDNkYi05NzU1LWEyYmI4NzBkYmNiMyYjMzk7 LCB1c2VyPSYjMzk7bnVsbCYjMzk7LCBjb21tYW5kVHlwZT0mIzM5O1Vua25vd24mIzM5O31dLCB0 aW1lRWxhcHNlZDogNjVtcwoyMDE3LTEyLTA2IDIwOjEzOjIzLDE3Ni0wNSBFUlJPUiBbb3JnLm92 aXJ0LmVuZ2luZS5hcGkucmVzdGFwaS48d2JyPnJlc291cmNlLkFic3RyYWN0QmFja2VuZFJlc291 cjx3YnI+Y2VdIChkZWZhdWx0IHRhc2stNykgW10gT3BlcmF0aW9uIEZhaWxlZDogW0Nhbm5vdCBk ZWFjdGl2YXRlIFN0b3JhZ2Ugd2hpbGUgdGhlcmUgYXJlIHJ1bm5pbmcgdGFza3Mgb24gdGhpcyBT dG9yYWdlLgotUGxlYXNlIHdhaXQgdW50aWwgdGFza3Mgd2lsbCBmaW5pc2ggYW5kIHRyeSBhZ2Fp bi5dCjwvYj4KPC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgIDxwIGRpcj0ibHRyIiBzdHlsZT0i bGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4g c3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOiMwMDAwMDA7YmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3Jt YWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGln bjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+Cjwvc3Bhbj48L3A+CiAgICAgICAgICAg ICAgPC9iPiZsdDtlcnJvciZndDs8YnIgY2xhc3M9Im1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUz Mjk4NzY1MzQxODg2NjU5NTZBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj4KICAgICAgICAgICAg ICA8cD48YnI+CiAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgIDxwPjxicj4KICAgICAg ICAgICAgICA8L3A+CiAgICAgICAgICAgICAgPHA+PGJyPgogICAgICAgICAgICAgIDwvcD4KICAg ICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fPHdicj5fX19fX19fX19fX19fX19fXzxicj4KICAgICAgICAgICAg RGV2ZWwgbWFpbGluZyBsaXN0PGJyPgogICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86RGV2ZWxA b3ZpcnQub3JnIiB0YXJnZXQ9Il9ibGFuayI+RGV2ZWxAb3ZpcnQub3JnPC9hPjxicj4KICAgICAg ICAgICAgPGEgaHJlZj0iaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Rl dmVsIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbGlzdHMub3ZpcnQu b3JnL21haWxtYW48d2JyPi9saXN0aW5mby9kZXZlbDwvYT48YnI+CiAgICAgICAgICA8L2Jsb2Nr cXVvdGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGJyPgogICAgICA8L2Rpdj4KICAgIDwvYmxv Y2txdW90ZT4KICAgIDxwPjxicj4KICAgIDwvcD4KICA8L2Rpdj48L2Rpdj48L2Rpdj4KCjxicj5f X19fX19fX19fX19fX19fX19fX19fX19fX19fX188d2JyPl9fX19fX19fX19fX19fX19fPGJyPgpE ZXZlbCBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1haWx0bzpEZXZlbEBvdmlydC5vcmciPkRl dmVsQG92aXJ0Lm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFp bG1hbi9saXN0aW5mby9kZXZlbCIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0 cDovL2xpc3RzLm92aXJ0Lm9yZy88d2JyPm1haWxtYW4vbGlzdGluZm8vZGV2ZWw8L2E+PGJyPjwv YmxvY2txdW90ZT48L2Rpdj48YnI+PC9kaXY+PC9kaXY+Cg== --===============3452039446089379612==-- From eshenitz at redhat.com Thu Dec 7 11:31:23 2017 Content-Type: multipart/mixed; boundary="===============0800944922052692157==" MIME-Version: 1.0 From: Eyal Shenitzky To: devel at ovirt.org Subject: Re: [ovirt-devel] [ OST Failure Report ] [ oVirtMaster ] [ 07-11-2017 ] [007_sd_reattach.deactivate_storage_domain ] Date: Thu, 07 Dec 2017 13:30:52 +0200 Message-ID: In-Reply-To: CAJgorsbFm=HYo+QXeJwFNK-qCmNZoJP_ObbVKOoaQoK=f1sLoA@mail.gmail.com --===============0800944922052692157== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I think that the maybe the QE can share their methods on how to avoid those issues. >From what I remember, before deactivating storage domain they make sure that there are no running tasks related to the storage domain. On Thu, Dec 7, 2017 at 1:22 PM, Yaniv Kaul wrote: > > > On Thu, Dec 7, 2017 at 1:12 PM, Dafna Ron wrote: > >> Maor, I either need to get new glasses or a magnifier glass to read what >> you wrote :-P >> when you say running tasks - these are actually running tasks that may be >> running because of other tests in ost - correct? wouldn't killing or >> blocking those can cause other tests to fail? >> > > It might well be the OVF update. How can we, from the API, wait for those > tasks to complete? Or should we catch exception and retry? > Y. > > >> >> On 12/07/2017 11:06 AM, Maor Lipchuk wrote: >> >> CANNOT_DEACTIVATE_DOMAIN_WITH_TASKS is a known issue, the problem is >> that we might have tasks which will start running internally using >> scheduling (like OVF_UPDATE) and we can't really know how much time every >> task will take until it will end. >> >> Even if we check that there are no running tasks it will not guarantee >> that no task will start until you deactivate the storage domain. >> >> I think that the best solution for it is an engine support to cancel >> running tasks or block tasks from running. >> >> On Thu, Dec 7, 2017 at 12:14 PM, Dafna Ron wrote: >> >>> Hi, >>> >>> We had a failure on master basic suite for test >>> 007_sd_reattach.deactivate_storage_domain. >>> >>> The failure was that we failed to deactivate domain due to running >>> tasks. >>> >>> It does not seem to be related to the patch it was testing and I think >>> that the test itself needs to be modified to check there are no running >>> tasks. >>> >>> Is there perhaps a way to query if there are running tasks before >>> running the command? can you please take a look at the test on OST? >>> >>> *Link and headline of suspected patches: Not related to error* >>> >>> *Link to Job: >>> http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/ >>> * >>> >>> >>> * Link to all logs: >>> http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/arti= fact/ >>> >>> (Relevant) error snippet from the log: 2017-12-06 20:13:23,166-= 05 >>> WARN >>> [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWithOv= fUpdateCommand] >>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Validation of >>> action 'DeactivateStorageDomainWithOvfUpdate' fa iled for user >>> admin(a)internal-authz. Reasons: >>> VAR__TYPE__STORAGE__DOMAIN,VAR__ACTION__DEACTIVATE,ERROR_CANNOT_DEACTIV= ATE_DOMAIN_WITH_TASKS >>> 2017-12-06 20:13:23,167-05 INFO >>> [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWithOv= fUpdateCommand] >>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Lock freed to >>> object 'EngineLock:{exclusiveLocks=3D'[ea2fd992-8a >>> a4-44fe-aa43-e96754a975ba=3DSTORAGE]', >>> sharedLocks=3D'[5e0a0183-0e25-4f43-b5b0-0cfb5510248e=3DPOOL]'}' 2017-12= -06 >>> 20:13:23,172-05 DEBUG >>> [org.ovirt.engine.core.common.di.interceptor.DebugLoggingInterceptor] >>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] method: runActi= on, >>> params: [DeactivateStorageDomainWithOvfUpdate, DeactivateSto >>> rageDomainWithOvfUpdateParameters:{commandId=3D'630c28e1-41ab-43db-9755= -a2bb870dbcb3', >>> user=3D'null', commandType=3D'Unknown'}], timeElapsed: 65ms 2017-12-06 >>> 20:13:23,176-05 ERROR >>> [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (default >>> task-7) [] Operation Failed: [Cannot deactivate Storage while there are >>> running tasks on this Storage. -Please wait until tasks will finish and= try >>> again.] * >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Devel mailing list >>> Devel(a)ovirt.org >>> http://lists.ovirt.org/mailman/listinfo/devel >>> >> >> >> >> _______________________________________________ >> Devel mailing list >> Devel(a)ovirt.org >> http://lists.ovirt.org/mailman/listinfo/devel >> > > > _______________________________________________ > Devel mailing list > Devel(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel > -- = Regards, Eyal Shenitzky --===============0800944922052692157== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+SSB0aGluayB0aGF0IHRoZSBtYXliZSB0aGUgUUUgY2FuIHNoYXJlIHRo ZWlyIG1ldGhvZHMgb24gaG93IHRvIGF2b2lkIHRob3NlIGlzc3Vlcy7CoDxkaXY+RnJvbSB3aGF0 IEkgcmVtZW1iZXIsIGJlZm9yZSBkZWFjdGl2YXRpbmcgc3RvcmFnZSBkb21haW4gdGhleSBtYWtl IHN1cmUgdGhhdCB0aGVyZSBhcmUgbm8gcnVubmluZyB0YXNrcyByZWxhdGVkIHRvPC9kaXY+PGRp dj50aGUgc3RvcmFnZSBkb21haW4uPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEi Pjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gVGh1LCBEZWMgNywgMjAxNyBhdCAxOjIy IFBNLCBZYW5pdiBLYXVsIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOnlrYXVs QHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj55a2F1bEByZWRoYXQuY29tPC9hPiZndDs8L3Nw YW4+IHdyb3RlOjxicj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJn aW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4 Ij48ZGl2IGRpcj0ibHRyIj48YnI+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxicj48ZGl2IGNs YXNzPSJnbWFpbF9xdW90ZSI+T24gVGh1LCBEZWMgNywgMjAxNyBhdCAxOjEyIFBNLCBEYWZuYSBS b24gPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86ZHJvbkByZWRoYXQuY29tIiB0 YXJnZXQ9Il9ibGFuayI+ZHJvbkByZWRoYXQuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj48 YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDti b3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAKICAgIAogIAog IDxkaXYgdGV4dD0iIzAwMDAwMCIgYmdjb2xvcj0iI0ZGRkZGRiI+CiAgICA8ZGl2IGNsYXNzPSJt Xy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bW96LWNpdGUtcHJlZml4 Ij5NYW9yLCBJIGVpdGhlciBuZWVkIHRvIGdldCBuZXcgZ2xhc3NlcwogICAgICBvciBhIG1hZ25p ZmllciBnbGFzcyB0byByZWFkIHdoYXQgeW91IHdyb3RlIDotUDxicj4KICAgICAgd2hlbiB5b3Ug c2F5IHJ1bm5pbmcgdGFza3MgLSB0aGVzZSBhcmUgYWN0dWFsbHkgcnVubmluZyB0YXNrcyB0aGF0 CiAgICAgIG1heSBiZSBydW5uaW5nIGJlY2F1c2Ugb2Ygb3RoZXIgdGVzdHMgaW4gb3N0IC0gY29y cmVjdD8gd291bGRuJiMzOTt0CiAgICAgIGtpbGxpbmcgb3IgYmxvY2tpbmcgdGhvc2UgY2FuIGNh dXNlIG90aGVyIHRlc3RzIHRvIGZhaWw/IDxicj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRp dj48YnI+PC9kaXY+PGRpdj5JdCBtaWdodCB3ZWxsIGJlIHRoZSBPVkYgdXBkYXRlLiBIb3cgY2Fu IHdlLCBmcm9tIHRoZSBBUEksIHdhaXQgZm9yIHRob3NlIHRhc2tzIHRvIGNvbXBsZXRlPyBPciBz aG91bGQgd2UgY2F0Y2ggZXhjZXB0aW9uIGFuZCByZXRyeT88L2Rpdj48ZGl2PlkuPC9kaXY+PGRp dj7CoDwvZGl2PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjow IDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjxk aXYgdGV4dD0iIzAwMDAwMCIgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdiBjbGFzcz0ibV8tNTAxNDY2 OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1vei1jaXRlLXByZWZpeCI+PGRpdj48 ZGl2IGNsYXNzPSJtXy01MDE0NjY5Njc2OTE1MTM2Njc4aDUiPgogICAgICA8YnI+CiAgICAgIE9u IDEyLzA3LzIwMTcgMTE6MDYgQU0sIE1hb3IgTGlwY2h1ayB3cm90ZTo8YnI+CiAgICA8L2Rpdj48 L2Rpdj48L2Rpdj48ZGl2PjxkaXYgY2xhc3M9Im1fLTUwMTQ2Njk2NzY5MTUxMzY2NzhoNSI+CiAg ICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4KICAgICAgPGRpdiBkaXI9Imx0ciI+PHNwYW4gaWQ9 Im1fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDhnbWFpbC1tXy01MzI5 ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3 LTJkMzE5OTE4ODllOCI+CiAgICAgICAgICA8cCBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJn aW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29s b3I6dHJhbnNwYXJlbnQ7dmVydGljYWwtYWxpZ246YmFzZWxpbmUiPjxzcGFuIHN0eWxlPSJjb2xv cjpyZ2IoMCwwLDApO2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+ Q0FOTk9UX0RFQUNUSVZBVEVfRE9NQUlOX1dJVEhfPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjpy Z2IoMCwwLDApO2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+PHdi cj5UQVNLUyA8L3NwYW4+PGZvbnQ+PGZvbnQgY29sb3I9IiMwMDAwMDAiIHNpemU9IjEiIGZhY2U9 IkFyaWFsIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPmlzIGEga25vd24gaXNz dWUsIHRoZSBwcm9ibGVtIGlzIHRoYXQgd2UgbWlnaHQgaGF2ZSB0YXNrcyB3aGljaCB3aWxsIHN0 YXJ0IHJ1bm5pbmcgaW50ZXJuYWxseSB1c2luZyBzY2hlZHVsaW5nIChsaWtlIE9WRl9VUERBVEUp IGFuZCB3ZSBjYW4mIzM5O3QgcmVhbGx5IGtub3cgaG93IG11Y2ggdGltZSBldmVyeSB0YXNrIHdp bGwgdGFrZSB1bnRpbCBpdCB3aWxsIGVuZC48L3NwYW4+PC9mb250PjwvZm9udD48L3NwYW4+PC9w PgogICAgICAgICAgPHAgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFy Z2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lIj48Zm9udD48Zm9udCBjb2xvcj0iIzAwMDAwMCIgc2l6 ZT0iMSIgZmFjZT0iQXJpYWwiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+RXZl biBpZiB3ZSBjaGVjayB0aGF0IHRoZXJlIGFyZSBubyBydW5uaW5nIHRhc2tzIGl0IHdpbGwgbm90 IDwvc3Bhbj48L2ZvbnQ+PGZvbnQgY29sb3I9IiMwMDAwMDAiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1z cGFjZTpwcmUtd3JhcCI+Z3VhcmFudGVlPC9zcGFuPjwvZm9udD48Zm9udCBjb2xvcj0iIzAwMDAw MCI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iQXJpYWwiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpw cmUtd3JhcCI+IHRoYXQgbm8gdGFzayB3aWxsIHN0YXJ0IHVudGlsIHlvdSBkZWFjdGl2YXRlIHRo ZSBzdG9yYWdlIGRvbWFpbi48L3NwYW4+PC9mb250PjwvZm9udD48L2ZvbnQ+PC9zcGFuPjwvcD4K ICAgICAgICAgIDxwIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdp bi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt2 ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZSI+PGZvbnQ+PGZvbnQgY29sb3I9IiMwMDAwMDAiPjxmb250 IHNpemU9IjEiIGZhY2U9IkFyaWFsIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAi PkkgdGhpbmsgdGhhdCB0aGUgYmVzdCBzb2x1dGlvbiBmb3IgaXQgaXMgYW4gZW5naW5lIHN1cHBv cnQgdG8gY2FuY2VsIHJ1bm5pbmcgdGFza3Mgb3IgYmxvY2sgdGFza3MgZnJvbSBydW5uaW5nLjwv c3Bhbj48L2ZvbnQ+PC9mb250PjwvZm9udD48L3NwYW4+PC9wPgogICAgICAgIDwvc3Bhbj48L2Rp dj4KICAgICAgPGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxicj4KICAgICAgICA8ZGl2IGNsYXNz PSJnbWFpbF9xdW90ZSI+T24gVGh1LCBEZWMgNywgMjAxNyBhdCAxMjoxNCBQTSwgRGFmbmEKICAg ICAgICAgIFJvbiA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpkcm9uQHJlZGhh dC5jb20iIHRhcmdldD0iX2JsYW5rIj5kcm9uQHJlZGhhdC5jb208L2E+Jmd0Ozwvc3Bhbj4KICAg ICAgICAgIHdyb3RlOjxicj4KICAgICAgICAgIDxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90 ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3Bh ZGRpbmctbGVmdDoxZXgiPgogICAgICAgICAgICA8ZGl2IHRleHQ9IiMwMDAwMDAiIGJnY29sb3I9 IiNGRkZGRkYiPgogICAgICAgICAgICAgIDxwPkhpLCA8YnI+CiAgICAgICAgICAgICAgPC9wPgog ICAgICAgICAgICAgIDxwPldlIGhhZCBhIGZhaWx1cmUgb24gbWFzdGVyIGJhc2ljIHN1aXRlIGZv ciB0ZXN0CiAgICAgICAgICAgICAgICAwMDdfc2RfcmVhdHRhY2guZGVhY3RpdmF0ZV9zdG88d2Jy PnJhZ2VfZG9tYWluLiA8YnI+CiAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgIDxwPlRo ZSBmYWlsdXJlIHdhcyB0aGF0IHdlIGZhaWxlZCB0byBkZWFjdGl2YXRlIGRvbWFpbiBkdWUKICAg ICAgICAgICAgICAgIHRvIHJ1bm5pbmcgdGFza3MuIDxicj4KICAgICAgICAgICAgICA8L3A+CiAg ICAgICAgICAgICAgPHA+SXQgZG9lcyBub3Qgc2VlbSB0byBiZSByZWxhdGVkIHRvIHRoZSBwYXRj aCBpdCB3YXMKICAgICAgICAgICAgICAgIHRlc3RpbmcgYW5kIEkgdGhpbmsgdGhhdCB0aGUgdGVz dCBpdHNlbGYgbmVlZHMgdG8gYmUKICAgICAgICAgICAgICAgIG1vZGlmaWVkIHRvIGNoZWNrIHRo ZXJlIGFyZSBubyBydW5uaW5nIHRhc2tzLiA8YnI+CiAgICAgICAgICAgICAgPC9wPgogICAgICAg ICAgICAgIDxwPklzIHRoZXJlIHBlcmhhcHMgYSB3YXkgdG8gcXVlcnkgaWYgdGhlcmUgYXJlIHJ1 bm5pbmcKICAgICAgICAgICAgICAgIHRhc2tzIGJlZm9yZSBydW5uaW5nIHRoZSBjb21tYW5kPyBj YW4geW91IHBsZWFzZSB0YWtlIGEKICAgICAgICAgICAgICAgIGxvb2sgYXQgdGhlIHRlc3Qgb24g T1NUPyA8YnI+CiAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgIDxwPjxiIHN0eWxlPSJm b250LXdlaWdodDpub3JtYWwiIGlkPSJtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgz NzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5Yjdh MS0zMDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgiPgogICAgICAgICAgICAgICAgPC9iPjwvcD4K ICAgICAgICAgICAgICA8cCBkaXI9Imx0ciIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2lu LXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwi IGlkPSJtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3 NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0y ZDMxOTkxODg5ZTgiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250LWZhbWlseTpBcmlh bDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6 NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC1kZWNvcmF0aW9u Om5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPkxpbmsg YW5kIGhlYWRsaW5lIG9mIHN1c3BlY3RlZCBwYXRjaGVzOjwvc3Bhbj48YiBzdHlsZT0iZm9udC13 ZWlnaHQ6bm9ybWFsIiBpZD0ibV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1 NDMwOG1fLTUzMjk4NzY1MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3 My01NDE0LTE4YjctMmQzMTk5MTg4OWU4Ij48Yj4KICAgICAgICAgICAgICAgICAgICAgIE5vdCBy ZWxhdGVkIHRvIGVycm9yPC9iPjwvYj48L2I+PC9wPgogICAgICAgICAgICAgIDxiIHN0eWxlPSJm b250LXdlaWdodDpub3JtYWwiIGlkPSJtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgz NzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5Yjdh MS0zMDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgiPgogICAgICAgICAgICAgIDwvYj4KICAgICAg ICAgICAgICA8cD48YiBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIiBpZD0ibV8tNTAxNDY2OTY3 NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1MzQxODg2NjU5NTZkb2Nz LWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5MTg4OWU4Ij4KICAg ICAgICAgICAgICAgIDwvYj48L3A+CiAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiIHN0eWxlPSJs aW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48YiBzdHls ZT0iZm9udC13ZWlnaHQ6bm9ybWFsIiBpZD0ibV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYz MTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1 OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5MTg4OWU4Ij48c3BhbiBzdHlsZT0iZm9udC1zaXpl OjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNvbG9yOnRy YW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6 bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRl LXNwYWNlOnByZS13cmFwIj5MaW5rIHRvIEpvYjogPGEgY2xhc3M9Im1fLTUwMTQ2Njk2NzY5MTUx MzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2bW96LXR4dC1s aW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwOi8vamVua2lucy5vdmlydC5vcmcvam9iL292aXJ0LW1h c3Rlcl9jaGFuZ2UtcXVldWUtdGVzdGVyLzQzMTkvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2pl bmtpbnMub3ZpcnQub3JnL2pvYi9vPHdicj52aXJ0LW1hc3Rlcl9jaGFuZ2UtcXVldWUtdGVzdGU8 d2JyPnIvNDMxOS88L2E+PC9zcGFuPjwvYj48L3A+CiAgICAgICAgICAgICAgPGIgc3R5bGU9ImZv bnQtd2VpZ2h0Om5vcm1hbCIgaWQ9Im1fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3 MzQ0NTQzMDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2Ex LTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+CiAgICAgICAgICAgICAgPC9iPjxiIHN0eWxl PSJmb250LXdlaWdodDpub3JtYWwiIGlkPSJtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMx MzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5 YjdhMS0zMDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgiPjxicj4KICAgICAgICAgICAgICAgIDxw IGRpcj0ibHRyIiBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4t Ym90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFs O2NvbG9yOiMwMDAwMDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0 MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246 bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+TGluayB0 byBhbGwgbG9nczogPGEgY2xhc3M9Im1fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3 MzQ0NTQzMDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2bW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVm PSJodHRwOi8vamVua2lucy5vdmlydC5vcmcvam9iL292aXJ0LW1hc3Rlcl9jaGFuZ2UtcXVldWUt dGVzdGVyLzQzMTkvYXJ0aWZhY3QvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2plbmtpbnMub3Zp cnQub3JnL2pvYi9vPHdicj52aXJ0LW1hc3Rlcl9jaGFuZ2UtcXVldWUtdGVzdGU8d2JyPnIvNDMx OS9hcnRpZmFjdC88L2E+PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAg ICAgICAgIDxwIGRpcj0ibHRyIiBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBw dDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFt aWx5OkFyaWFsO2NvbG9yOiMwMDAwMDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250 LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRl Y29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3Jh cCI+KFJlbGV2YW50KSBlcnJvciBzbmlwcGV0IGZyb20gdGhlIGxvZzogPC9zcGFuPjwvcD4KICAg ICAgICAgICAgICAgIDxwIGRpcj0ibHRyIiBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4t dG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2Zv bnQtZmFtaWx5OkFyaWFsO2NvbG9yOiMwMDAwMDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0 ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpw cmUtd3JhcCI+Jmx0O2Vycm9yJmd0Ozwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICA8cCBkaXI9 Imx0ciIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRv bTowcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250LWZhbWlseTpBcmlhbDtjb2xv cjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2Zv bnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7 dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPgo8L3NwYW4+PC9w PgogICAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21h cmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx cHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9y bWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNw YWNlOnByZS13cmFwIj48Yj4yMDE3LTEyLTA2IDIwOjEzOjIzLDE2Ni0wNSBXQVJOICBbb3JnLm92 aXJ0LmVuZ2luZS5jb3JlLmJsbC5zdG88d2JyPnJhZ2UuZG9tYWluLkRlYWN0aXZhdGVTdG9yYWdl RDx3YnI+b21haW5XaXRoT3ZmVXBkYXRlQ29tbWFuZF0gKGRlZmF1bHQgdGFzay03KSBbZDgyODgw ZTgtMWQ0MC00YTNiLWExYmEtMzM2MmY8d2JyPjJmMTMwYTBdIFZhbGlkYXRpb24gb2YgYWN0aW9u ICYjMzk7RGVhY3RpdmF0ZVN0b3JhZ2VEb21haW5XaXRoT3Y8d2JyPmZVcGRhdGUmIzM5OyBmYQpp bGVkIGZvciB1c2VyIGFkbWluQGludGVybmFsLWF1dGh6LiBSZWFzb25zOiBWQVJfX1RZUEVfX1NU T1JBR0VfX0RPTUFJTixWQVI8d2JyPl9fQUNUSU9OX19ERUFDVElWQVRFLEVSUk9SX0NBTjx3YnI+ Tk9UX0RFQUNUSVZBVEVfRE9NQUlOX1dJVEhfVEFTPHdicj5LUwoyMDE3LTEyLTA2IDIwOjEzOjIz LDE2Ny0wNSBJTkZPICBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5zdG88d2JyPnJhZ2UuZG9t YWluLkRlYWN0aXZhdGVTdG9yYWdlRDx3YnI+b21haW5XaXRoT3ZmVXBkYXRlQ29tbWFuZF0gKGRl ZmF1bHQgdGFzay03KSBbZDgyODgwZTgtMWQ0MC00YTNiLWExYmEtMzM2MmY8d2JyPjJmMTMwYTBd IExvY2sgZnJlZWQgdG8gb2JqZWN0ICYjMzk7RW5naW5lTG9jazp7ZXhjbHVzaXZlTG9ja3M9JiMz OTtbPHdicj5lYTJmZDk5Mi04YQphNC00NGZlLWFhNDMtZTk2NzU0YTk3NWJhPVNUT1I8d2JyPkFH RV0mIzM5Oywgc2hhcmVkTG9ja3M9JiMzOTtbNWUwYTAxODMtMGUyNS00Zjx3YnI+NDMtYjViMC0w Y2ZiNTUxMDI0OGU9UE9PTF0mIzM5O30mIzM5OwoyMDE3LTEyLTA2IDIwOjEzOjIzLDE3Mi0wNSBE RUJVRyBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmNvbW1vbi48d2JyPmRpLmludGVyY2VwdG9yLkRl YnVnTG9nZ2luZ0ludDx3YnI+ZXJjZXB0b3JdIChkZWZhdWx0IHRhc2stNykgW2Q4Mjg4MGU4LTFk NDAtNGEzYi1hMWJhLTMzNjJmPHdicj4yZjEzMGEwXSBtZXRob2Q6IHJ1bkFjdGlvbiwgcGFyYW1z OiBbRGVhY3RpdmF0ZVN0b3JhZ2VEb21haW5XaXRoT3Y8d2JyPmZVcGRhdGUsIERlYWN0aXZhdGVT dG8KcmFnZURvbWFpbldpdGhPdmZVcGRhdGVQYXJhbWV0PHdicj5lcnM6e2NvbW1hbmRJZD0mIzM5 OzYzMGMyOGUxLTQxYWItPHdicj40M2RiLTk3NTUtYTJiYjg3MGRiY2IzJiMzOTssIHVzZXI9JiMz OTtudWxsJiMzOTssIGNvbW1hbmRUeXBlPSYjMzk7VW5rbm93biYjMzk7fV0sIHRpbWVFbGFwc2Vk OiA2NW1zCjIwMTctMTItMDYgMjA6MTM6MjMsMTc2LTA1IEVSUk9SIFtvcmcub3ZpcnQuZW5naW5l LmFwaS5yZXN0YXBpLjx3YnI+cmVzb3VyY2UuQWJzdHJhY3RCYWNrZW5kUmVzb3VyPHdicj5jZV0g KGRlZmF1bHQgdGFzay03KSBbXSBPcGVyYXRpb24gRmFpbGVkOiBbQ2Fubm90IGRlYWN0aXZhdGUg U3RvcmFnZSB3aGlsZSB0aGVyZSBhcmUgcnVubmluZyB0YXNrcyBvbiB0aGlzIFN0b3JhZ2UuCi1Q bGVhc2Ugd2FpdCB1bnRpbCB0YXNrcyB3aWxsIGZpbmlzaCBhbmQgdHJ5IGFnYWluLl0KPC9iPgo8 L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiIHN0eWxlPSJsaW5lLWhlaWdo dDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iZm9u dC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZh cmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5l O3doaXRlLXNwYWNlOnByZS13cmFwIj4KPC9zcGFuPjwvcD4KICAgICAgICAgICAgICA8L2I+Jmx0 O2Vycm9yJmd0OzxiciBjbGFzcz0ibV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4Mzcz NDQ1NDMwOG1fLTUzMjk4NzY1MzQxODg2NjU5NTZBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj4K ICAgICAgICAgICAgICA8cD48YnI+CiAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgIDxw Pjxicj4KICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgPHA+PGJyPgogICAgICAgICAg ICAgIDwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxicj4KICAgICAgICAgICAg X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPHdicj5fX19fX19fX19fX19fX19fXzxicj4K ICAgICAgICAgICAgRGV2ZWwgbWFpbGluZyBsaXN0PGJyPgogICAgICAgICAgICA8YSBocmVmPSJt YWlsdG86RGV2ZWxAb3ZpcnQub3JnIiB0YXJnZXQ9Il9ibGFuayI+RGV2ZWxAb3ZpcnQub3JnPC9h Pjxicj4KICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RldmVsIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8v bGlzdHMub3ZpcnQub3JnL21haWxtYW48d2JyPi9saXN0aW5mby9kZXZlbDwvYT48YnI+CiAgICAg ICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGJyPgogICAgICA8L2Rp dj4KICAgIDwvYmxvY2txdW90ZT4KICAgIDxwPjxicj4KICAgIDwvcD4KICA8L2Rpdj48L2Rpdj48 L2Rpdj4KCjxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188d2JyPl9fX19fX19fX19f X19fX19fPGJyPgpEZXZlbCBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1haWx0bzpEZXZlbEBv dmlydC5vcmciIHRhcmdldD0iX2JsYW5rIj5EZXZlbEBvdmlydC5vcmc8L2E+PGJyPgo8YSBocmVm PSJodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWwiIHJlbD0ibm9y ZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbjx3 YnI+L2xpc3RpbmZvL2RldmVsPC9hPjxicj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwvZGl2Pjwv ZGl2Pgo8YnI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPHdicj5fX19fX19fX19fX19f X19fXzxicj4KRGV2ZWwgbWFpbGluZyBsaXN0PGJyPgo8YSBocmVmPSJtYWlsdG86RGV2ZWxAb3Zp cnQub3JnIj5EZXZlbEBvdmlydC5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwOi8vbGlzdHMub3Zp cnQub3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWwiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJf YmxhbmsiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvPHdicj5tYWlsbWFuL2xpc3RpbmZvL2RldmVs PC9hPjxicj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjxiciBjbGVhcj0iYWxsIj48ZGl2Pjxicj48 L2Rpdj4tLSA8YnI+PGRpdiBjbGFzcz0iZ21haWxfc2lnbmF0dXJlIiBkYXRhLXNtYXJ0bWFpbD0i Z21haWxfc2lnbmF0dXJlIj48ZGl2IGRpcj0ibHRyIj5SZWdhcmRzLDxkaXY+RXlhbCBTaGVuaXR6 a3k8L2Rpdj48L2Rpdj48L2Rpdj4KPC9kaXY+Cg== --===============0800944922052692157==-- From ykaul at redhat.com Thu Dec 7 12:00:38 2017 Content-Type: multipart/mixed; boundary="===============0358306331165487180==" MIME-Version: 1.0 From: Yaniv Kaul To: devel at ovirt.org Subject: Re: [ovirt-devel] [ OST Failure Report ] [ oVirtMaster ] [ 07-11-2017 ] [007_sd_reattach.deactivate_storage_domain ] Date: Thu, 07 Dec 2017 13:59:55 +0200 Message-ID: In-Reply-To: CAGmmwPFYYuq2NoryvvSugC+7a=MAC_QDS71O04aGs8D4ts0Ogw@mail.gmail.com --===============0358306331165487180== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Thu, Dec 7, 2017 at 1:30 PM, Eyal Shenitzky wrot= e: > I think that the maybe the QE can share their methods on how to avoid > those issues. > From what I remember, before deactivating storage domain they make sure > that there are no running tasks related to > the storage domain. > Looks like an easy fix is to wrap it with try, except sdk4.Error and let it sit within the testlib.assert_true_within_short() loop. Y. > > On Thu, Dec 7, 2017 at 1:22 PM, Yaniv Kaul wrote: > >> >> >> On Thu, Dec 7, 2017 at 1:12 PM, Dafna Ron wrote: >> >>> Maor, I either need to get new glasses or a magnifier glass to read what >>> you wrote :-P >>> when you say running tasks - these are actually running tasks that may >>> be running because of other tests in ost - correct? wouldn't killing or >>> blocking those can cause other tests to fail? >>> >> >> It might well be the OVF update. How can we, from the API, wait for those >> tasks to complete? Or should we catch exception and retry? >> Y. >> >> >>> >>> On 12/07/2017 11:06 AM, Maor Lipchuk wrote: >>> >>> CANNOT_DEACTIVATE_DOMAIN_WITH_TASKS is a known issue, the problem is >>> that we might have tasks which will start running internally using >>> scheduling (like OVF_UPDATE) and we can't really know how much time eve= ry >>> task will take until it will end. >>> >>> Even if we check that there are no running tasks it will not guarantee >>> that no task will start until you deactivate the storage domain. >>> >>> I think that the best solution for it is an engine support to cancel >>> running tasks or block tasks from running. >>> >>> On Thu, Dec 7, 2017 at 12:14 PM, Dafna Ron wrote: >>> >>>> Hi, >>>> >>>> We had a failure on master basic suite for test >>>> 007_sd_reattach.deactivate_storage_domain. >>>> >>>> The failure was that we failed to deactivate domain due to running >>>> tasks. >>>> >>>> It does not seem to be related to the patch it was testing and I think >>>> that the test itself needs to be modified to check there are no running >>>> tasks. >>>> >>>> Is there perhaps a way to query if there are running tasks before >>>> running the command? can you please take a look at the test on OST? >>>> >>>> *Link and headline of suspected patches: Not related to error* >>>> >>>> *Link to Job: >>>> http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/ >>>> * >>>> >>>> >>>> * Link to all logs: >>>> http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/art= ifact/ >>>> >>>> (Relevant) error snippet from the log: 2017-12-06 20:13:23,166= -05 >>>> WARN >>>> [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWithO= vfUpdateCommand] >>>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Validation of >>>> action 'DeactivateStorageDomainWithOvfUpdate' fa iled for user >>>> admin(a)internal-authz. Reasons: >>>> VAR__TYPE__STORAGE__DOMAIN,VAR__ACTION__DEACTIVATE,ERROR_CANNOT_DEACTI= VATE_DOMAIN_WITH_TASKS >>>> 2017-12-06 20:13:23,167-05 INFO >>>> [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWithO= vfUpdateCommand] >>>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Lock freed to >>>> object 'EngineLock:{exclusiveLocks=3D'[ea2fd992-8a >>>> a4-44fe-aa43-e96754a975ba=3DSTORAGE]', >>>> sharedLocks=3D'[5e0a0183-0e25-4f43-b5b0-0cfb5510248e=3DPOOL]'}' 2017-1= 2-06 >>>> 20:13:23,172-05 DEBUG >>>> [org.ovirt.engine.core.common.di.interceptor.DebugLoggingInterceptor] >>>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] method: runAct= ion, >>>> params: [DeactivateStorageDomainWithOvfUpdate, DeactivateSto >>>> rageDomainWithOvfUpdateParameters:{commandId=3D'630c28e1-41ab-43db-975= 5-a2bb870dbcb3', >>>> user=3D'null', commandType=3D'Unknown'}], timeElapsed: 65ms 2017-12-06 >>>> 20:13:23,176-05 ERROR >>>> [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (defau= lt >>>> task-7) [] Operation Failed: [Cannot deactivate Storage while there are >>>> running tasks on this Storage. -Please wait until tasks will finish an= d try >>>> again.] * >>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Devel mailing list >>>> Devel(a)ovirt.org >>>> http://lists.ovirt.org/mailman/listinfo/devel >>>> >>> >>> >>> >>> _______________________________________________ >>> Devel mailing list >>> Devel(a)ovirt.org >>> http://lists.ovirt.org/mailman/listinfo/devel >>> >> >> >> _______________________________________________ >> Devel mailing list >> Devel(a)ovirt.org >> http://lists.ovirt.org/mailman/listinfo/devel >> > > > > -- > Regards, > Eyal Shenitzky > --===============0358306331165487180== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGRpdiBjbGFz cz0iZ21haWxfcXVvdGUiPk9uIFRodSwgRGVjIDcsIDIwMTcgYXQgMTozMCBQTSwgRXlhbCBTaGVu aXR6a3kgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86ZXNoZW5pdHpAcmVkaGF0 LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmVzaGVuaXR6QHJlZGhhdC5jb208L2E+Jmd0Ozwvc3Bhbj4g d3JvdGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjow IDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjxk aXYgZGlyPSJsdHIiPkkgdGhpbmsgdGhhdCB0aGUgbWF5YmUgdGhlIFFFIGNhbiBzaGFyZSB0aGVp ciBtZXRob2RzIG9uIGhvdyB0byBhdm9pZCB0aG9zZSBpc3N1ZXMuwqA8ZGl2PkZyb20gd2hhdCBJ IHJlbWVtYmVyLCBiZWZvcmUgZGVhY3RpdmF0aW5nIHN0b3JhZ2UgZG9tYWluIHRoZXkgbWFrZSBz dXJlIHRoYXQgdGhlcmUgYXJlIG5vIHJ1bm5pbmcgdGFza3MgcmVsYXRlZCB0bzwvZGl2PjxkaXY+ dGhlIHN0b3JhZ2UgZG9tYWluLjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rp dj48ZGl2Pkxvb2tzIGxpa2UgYW4gZWFzeSBmaXggaXMgdG8gd3JhcCBpdCB3aXRoIHRyeSwgZXhj ZXB0IHNkazQuRXJyb3IgYW5kIGxldCBpdCBzaXQgd2l0aGluIHRoZSB0ZXN0bGliLmFzc2VydF90 cnVlX3dpdGhpbl9zaG9ydCgpIGxvb3AuPC9kaXY+PGRpdj5ZLjwvZGl2PjxkaXY+wqA8L2Rpdj48 YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDti b3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij48ZGl2IGNsYXNzPSJn bWFpbF9leHRyYSI+PGRpdj48ZGl2IGNsYXNzPSJoNSI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1 b3RlIj5PbiBUaHUsIERlYyA3LCAyMDE3IGF0IDE6MjIgUE0sIFlhbml2IEthdWwgPHNwYW4gZGly PSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86eWthdWxAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxh bmsiPnlrYXVsQHJlZGhhdC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3Rl IGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0 OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjxkaXYgZGlyPSJsdHIiPjxicj48ZGl2 IGNsYXNzPSJnbWFpbF9leHRyYSI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBUaHUs IERlYyA3LCAyMDE3IGF0IDE6MTIgUE0sIERhZm5hIFJvbiA8c3BhbiBkaXI9Imx0ciI+Jmx0Ozxh IGhyZWY9Im1haWx0bzpkcm9uQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5kcm9uQHJlZGhh dC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9x dW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlk O3BhZGRpbmctbGVmdDoxZXgiPgogIAogICAgCiAgCiAgPGRpdiB0ZXh0PSIjMDAwMDAwIiBiZ2Nv bG9yPSIjRkZGRkZGIj4KICAgIDxkaXYgY2xhc3M9Im1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUw MTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDhtb3otY2l0ZS1wcmVmaXgiPk1h b3IsIEkgZWl0aGVyIG5lZWQgdG8gZ2V0IG5ldyBnbGFzc2VzCiAgICAgIG9yIGEgbWFnbmlmaWVy IGdsYXNzIHRvIHJlYWQgd2hhdCB5b3Ugd3JvdGUgOi1QPGJyPgogICAgICB3aGVuIHlvdSBzYXkg cnVubmluZyB0YXNrcyAtIHRoZXNlIGFyZSBhY3R1YWxseSBydW5uaW5nIHRhc2tzIHRoYXQKICAg ICAgbWF5IGJlIHJ1bm5pbmcgYmVjYXVzZSBvZiBvdGhlciB0ZXN0cyBpbiBvc3QgLSBjb3JyZWN0 PyB3b3VsZG4mIzM5O3QKICAgICAga2lsbGluZyBvciBibG9ja2luZyB0aG9zZSBjYW4gY2F1c2Ug b3RoZXIgdGVzdHMgdG8gZmFpbD8gPGJyPjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxi cj48L2Rpdj48ZGl2Pkl0IG1pZ2h0IHdlbGwgYmUgdGhlIE9WRiB1cGRhdGUuIEhvdyBjYW4gd2Us IGZyb20gdGhlIEFQSSwgd2FpdCBmb3IgdGhvc2UgdGFza3MgdG8gY29tcGxldGU/IE9yIHNob3Vs ZCB3ZSBjYXRjaCBleGNlcHRpb24gYW5kIHJldHJ5PzwvZGl2PjxkaXY+WS48L2Rpdj48ZGl2PsKg PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAw IC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+PGRpdiB0 ZXh0PSIjMDAwMDAwIiBiZ2NvbG9yPSIjRkZGRkZGIj48ZGl2IGNsYXNzPSJtXzg5NDIyMzYzNTE0 NTY1NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bW96LWNp dGUtcHJlZml4Ij48ZGl2PjxkaXYgY2xhc3M9Im1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2 Njk2NzY5MTUxMzY2NzhoNSI+CiAgICAgIDxicj4KICAgICAgT24gMTIvMDcvMjAxNyAxMTowNiBB TSwgTWFvciBMaXBjaHVrIHdyb3RlOjxicj4KICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxkaXY+PGRp diBjbGFzcz0ibV84OTQyMjM2MzUxNDU2NTYzNDczbV8tNTAxNDY2OTY3NjkxNTEzNjY3OGg1Ij4K ICAgIDxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPgogICAgICA8ZGl2IGRpcj0ibHRyIj48c3BhbiBp ZD0ibV84OTQyMjM2MzUxNDU2NTYzNDczbV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4 MzczNDQ1NDMwOGdtYWlsLW1fLTUzMjk4NzY1MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQt NTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5MTg4OWU4Ij4KICAgICAgICAgIDxwIHN0eWxl PSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3Bh biBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt2ZXJ0aWNhbC1hbGlnbjpiYXNl bGluZSI+PHNwYW4gc3R5bGU9ImNvbG9yOnJnYigwLDAsMCk7Zm9udC1mYW1pbHk6bW9ub3NwYWNl O3doaXRlLXNwYWNlOnByZS13cmFwIj5DQU5OT1RfREVBQ1RJVkFURV9ET01BSU5fV0lUSF88L3Nw YW4+PHNwYW4gc3R5bGU9ImNvbG9yOnJnYigwLDAsMCk7Zm9udC1mYW1pbHk6bW9ub3NwYWNlO3do aXRlLXNwYWNlOnByZS13cmFwIj48d2JyPlRBU0tTIDwvc3Bhbj48Zm9udD48Zm9udCBjb2xvcj0i IzAwMDAwMCIgc2l6ZT0iMSIgZmFjZT0iQXJpYWwiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpw cmUtd3JhcCI+aXMgYSBrbm93biBpc3N1ZSwgdGhlIHByb2JsZW0gaXMgdGhhdCB3ZSBtaWdodCBo YXZlIHRhc2tzIHdoaWNoIHdpbGwgc3RhcnQgcnVubmluZyBpbnRlcm5hbGx5IHVzaW5nIHNjaGVk dWxpbmcgKGxpa2UgT1ZGX1VQREFURSkgYW5kIHdlIGNhbiYjMzk7dCByZWFsbHkga25vdyBob3cg bXVjaCB0aW1lIGV2ZXJ5IHRhc2sgd2lsbCB0YWtlIHVudGlsIGl0IHdpbGwgZW5kLjwvc3Bhbj48 L2ZvbnQ+PC9mb250Pjwvc3Bhbj48L3A+CiAgICAgICAgICA8cCBzdHlsZT0ibGluZS1oZWlnaHQ6 MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7dmVydGljYWwtYWxpZ246YmFzZWxpbmUiPjxmb250Pjxm b250IGNvbG9yPSIjMDAwMDAwIiBzaXplPSIxIiBmYWNlPSJBcmlhbCI+PHNwYW4gc3R5bGU9Indo aXRlLXNwYWNlOnByZS13cmFwIj5FdmVuIGlmIHdlIGNoZWNrIHRoYXQgdGhlcmUgYXJlIG5vIHJ1 bm5pbmcgdGFza3MgaXQgd2lsbCBub3QgPC9zcGFuPjwvZm9udD48Zm9udCBjb2xvcj0iIzAwMDAw MCI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj5ndWFyYW50ZWU8L3NwYW4+PC9m b250Pjxmb250IGNvbG9yPSIjMDAwMDAwIj48Zm9udCBzaXplPSIxIiBmYWNlPSJBcmlhbCI+PHNw YW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4gdGhhdCBubyB0YXNrIHdpbGwgc3RhcnQg dW50aWwgeW91IGRlYWN0aXZhdGUgdGhlIHN0b3JhZ2UgZG9tYWluLjwvc3Bhbj48L2ZvbnQ+PC9m b250PjwvZm9udD48L3NwYW4+PC9wPgogICAgICAgICAgPHAgc3R5bGU9ImxpbmUtaGVpZ2h0OjEu Mzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lIj48Zm9udD48Zm9u dCBjb2xvcj0iIzAwMDAwMCI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iQXJpYWwiPjxzcGFuIHN0eWxl PSJ3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+SSB0aGluayB0aGF0IHRoZSBiZXN0IHNvbHV0aW9uIGZv ciBpdCBpcyBhbiBlbmdpbmUgc3VwcG9ydCB0byBjYW5jZWwgcnVubmluZyB0YXNrcyBvciBibG9j ayB0YXNrcyBmcm9tIHJ1bm5pbmcuPC9zcGFuPjwvZm9udD48L2ZvbnQ+PC9mb250Pjwvc3Bhbj48 L3A+CiAgICAgICAgPC9zcGFuPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+ PGJyPgogICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBUaHUsIERlYyA3LCAyMDE3 IGF0IDEyOjE0IFBNLCBEYWZuYQogICAgICAgICAgUm9uIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEg aHJlZj0ibWFpbHRvOmRyb25AcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmRyb25AcmVkaGF0 LmNvbTwvYT4mZ3Q7PC9zcGFuPgogICAgICAgICAgd3JvdGU6PGJyPgogICAgICAgICAgPGJsb2Nr cXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVy LWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAgICAgICAgIDxkaXYg dGV4dD0iIzAwMDAwMCIgYmdjb2xvcj0iI0ZGRkZGRiI+CiAgICAgICAgICAgICAgPHA+SGksIDxi cj4KICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgPHA+V2UgaGFkIGEgZmFpbHVyZSBv biBtYXN0ZXIgYmFzaWMgc3VpdGUgZm9yIHRlc3QKICAgICAgICAgICAgICAgIDAwN19zZF9yZWF0 dGFjaC5kZWFjdGl2YXRlX3N0bzx3YnI+cmFnZV9kb21haW4uIDxicj4KICAgICAgICAgICAgICA8 L3A+CiAgICAgICAgICAgICAgPHA+VGhlIGZhaWx1cmUgd2FzIHRoYXQgd2UgZmFpbGVkIHRvIGRl YWN0aXZhdGUgZG9tYWluIGR1ZQogICAgICAgICAgICAgICAgdG8gcnVubmluZyB0YXNrcy4gPGJy PgogICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICA8cD5JdCBkb2VzIG5vdCBzZWVtIHRv IGJlIHJlbGF0ZWQgdG8gdGhlIHBhdGNoIGl0IHdhcwogICAgICAgICAgICAgICAgdGVzdGluZyBh bmQgSSB0aGluayB0aGF0IHRoZSB0ZXN0IGl0c2VsZiBuZWVkcyB0byBiZQogICAgICAgICAgICAg ICAgbW9kaWZpZWQgdG8gY2hlY2sgdGhlcmUgYXJlIG5vIHJ1bm5pbmcgdGFza3MuIDxicj4KICAg ICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgPHA+SXMgdGhlcmUgcGVyaGFwcyBhIHdheSB0 byBxdWVyeSBpZiB0aGVyZSBhcmUgcnVubmluZwogICAgICAgICAgICAgICAgdGFza3MgYmVmb3Jl IHJ1bm5pbmcgdGhlIGNvbW1hbmQ/IGNhbiB5b3UgcGxlYXNlIHRha2UgYQogICAgICAgICAgICAg ICAgbG9vayBhdCB0aGUgdGVzdCBvbiBPU1Q/IDxicj4KICAgICAgICAgICAgICA8L3A+CiAgICAg ICAgICAgICAgPHA+PGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIgaWQ9Im1fODk0MjIzNjM1 MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDhtXy01 MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0x OGI3LTJkMzE5OTE4ODllOCI+CiAgICAgICAgICAgICAgICA8L2I+PC9wPgogICAgICAgICAgICAg IDxwIGRpcj0ibHRyIiBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJn aW4tYm90dG9tOjBwdCI+PGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIgaWQ9Im1fODk0MjIz NjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDht Xy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQx NC0xOGI3LTJkMzE5OTE4ODllOCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFt aWx5OkFyaWFsO2NvbG9yOiMwMDAwMDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250 LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRl Y29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3Jh cCI+TGluayBhbmQgaGVhZGxpbmUgb2Ygc3VzcGVjdGVkIHBhdGNoZXM6PC9zcGFuPjxiIHN0eWxl PSJmb250LXdlaWdodDpub3JtYWwiIGlkPSJtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5 Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRv Y3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgiPjxi PgogICAgICAgICAgICAgICAgICAgICAgTm90IHJlbGF0ZWQgdG8gZXJyb3I8L2I+PC9iPjwvYj48 L3A+CiAgICAgICAgICAgICAgPGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIgaWQ9Im1fODk0 MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQz MDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMt NTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+CiAgICAgICAgICAgICAgPC9iPgogICAgICAgICAgICAg IDxwPjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiIGlkPSJtXzg5NDIyMzYzNTE0NTY1NjM0 NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUz NDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0yZDMx OTkxODg5ZTgiPgogICAgICAgICAgICAgICAgPC9iPjwvcD4KICAgICAgICAgICAgICA8cCBkaXI9 Imx0ciIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRv bTowcHQiPjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiIGlkPSJtXzg5NDIyMzYzNTE0NTY1 NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3 NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0y ZDMxOTkxODg5ZTgiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250LWZhbWlseTpBcmlh bDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6 NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC1kZWNvcmF0aW9u Om5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPkxpbmsg dG8gSm9iOiA8YSBjbGFzcz0ibV84OTQyMjM2MzUxNDU2NTYzNDczbV8tNTAxNDY2OTY3NjkxNTEz NjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1MzQxODg2NjU5NTZtb3otdHh0LWxp bmstZnJlZXRleHQiIGhyZWY9Imh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivb3ZpcnQtbWFz dGVyX2NoYW5nZS1xdWV1ZS10ZXN0ZXIvNDMxOS8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vamVu a2lucy5vdmlydC5vcmcvam9iL288d2JyPnZpcnQtbWFzdGVyX2NoYW5nZS1xdWV1ZS10ZXN0ZTx3 YnI+ci80MzE5LzwvYT48L3NwYW4+PC9iPjwvcD4KICAgICAgICAgICAgICA8YiBzdHlsZT0iZm9u dC13ZWlnaHQ6bm9ybWFsIiBpZD0ibV84OTQyMjM2MzUxNDU2NTYzNDczbV8tNTAxNDY2OTY3Njkx NTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1MzQxODg2NjU5NTZkb2NzLWlu dGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5MTg4OWU4Ij4KICAgICAg ICAgICAgICA8L2I+PGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIgaWQ9Im1fODk0MjIzNjM1 MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDhtXy01 MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0x OGI3LTJkMzE5OTE4ODllOCI+PGJyPgogICAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiIHN0eWxl PSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3Bh biBzdHlsZT0iZm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDti YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5v cm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFs aWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj5MaW5rIHRvIGFsbCBsb2dzOiA8YSBj bGFzcz0ibV84OTQyMjM2MzUxNDU2NTYzNDczbV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYz MTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1MzQxODg2NjU5NTZtb3otdHh0LWxpbmstZnJlZXRleHQi IGhyZWY9Imh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivb3ZpcnQtbWFzdGVyX2NoYW5nZS1x dWV1ZS10ZXN0ZXIvNDMxOS9hcnRpZmFjdC8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vamVua2lu cy5vdmlydC5vcmcvam9iL288d2JyPnZpcnQtbWFzdGVyX2NoYW5nZS1xdWV1ZS10ZXN0ZTx3YnI+ ci80MzE5L2FydGlmYWN0LzwvYT48L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgPGJyPgogICAg ICAgICAgICAgICAgPHAgZGlyPSJsdHIiIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10 b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7Zm9u dC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50 O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO3Rl eHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnBy ZS13cmFwIj4oUmVsZXZhbnQpIGVycm9yIHNuaXBwZXQgZnJvbSB0aGUgbG9nOiA8L3NwYW4+PC9w PgogICAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21h cmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx cHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9y bWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNw YWNlOnByZS13cmFwIj4mbHQ7ZXJyb3ImZ3Q7PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgIDxw IGRpcj0ibHRyIiBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4t Ym90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFs O2NvbG9yOiMwMDAwMDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0 MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246 bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+Cjwvc3Bh bj48L3A+CiAgICAgICAgICAgICAgICA8cCBkaXI9Imx0ciIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEu Mzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJmb250LXNp emU6MTFwdDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6 dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFu dDpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hp dGUtc3BhY2U6cHJlLXdyYXAiPjxiPjIwMTctMTItMDYgMjA6MTM6MjMsMTY2LTA1IFdBUk4gIFtv cmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLnN0bzx3YnI+cmFnZS5kb21haW4uRGVhY3RpdmF0ZVN0 b3JhZ2VEPHdicj5vbWFpbldpdGhPdmZVcGRhdGVDb21tYW5kXSAoZGVmYXVsdCB0YXNrLTcpIFtk ODI4ODBlOC0xZDQwLTRhM2ItYTFiYS0zMzYyZjx3YnI+MmYxMzBhMF0gVmFsaWRhdGlvbiBvZiBh Y3Rpb24gJiMzOTtEZWFjdGl2YXRlU3RvcmFnZURvbWFpbldpdGhPdjx3YnI+ZlVwZGF0ZSYjMzk7 IGZhCmlsZWQgZm9yIHVzZXIgYWRtaW5AaW50ZXJuYWwtYXV0aHouIFJlYXNvbnM6IFZBUl9fVFlQ RV9fU1RPUkFHRV9fRE9NQUlOLFZBUjx3YnI+X19BQ1RJT05fX0RFQUNUSVZBVEUsRVJST1JfQ0FO PHdicj5OT1RfREVBQ1RJVkFURV9ET01BSU5fV0lUSF9UQVM8d2JyPktTCjIwMTctMTItMDYgMjA6 MTM6MjMsMTY3LTA1IElORk8gIFtvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLnN0bzx3YnI+cmFn ZS5kb21haW4uRGVhY3RpdmF0ZVN0b3JhZ2VEPHdicj5vbWFpbldpdGhPdmZVcGRhdGVDb21tYW5k XSAoZGVmYXVsdCB0YXNrLTcpIFtkODI4ODBlOC0xZDQwLTRhM2ItYTFiYS0zMzYyZjx3YnI+MmYx MzBhMF0gTG9jayBmcmVlZCB0byBvYmplY3QgJiMzOTtFbmdpbmVMb2NrOntleGNsdXNpdmVMb2Nr cz0mIzM5O1s8d2JyPmVhMmZkOTkyLThhCmE0LTQ0ZmUtYWE0My1lOTY3NTRhOTc1YmE9U1RPUjx3 YnI+QUdFXSYjMzk7LCBzaGFyZWRMb2Nrcz0mIzM5O1s1ZTBhMDE4My0wZTI1LTRmPHdicj40My1i NWIwLTBjZmI1NTEwMjQ4ZT1QT09MXSYjMzk7fSYjMzk7CjIwMTctMTItMDYgMjA6MTM6MjMsMTcy LTA1IERFQlVHIFtvcmcub3ZpcnQuZW5naW5lLmNvcmUuY29tbW9uLjx3YnI+ZGkuaW50ZXJjZXB0 b3IuRGVidWdMb2dnaW5nSW50PHdicj5lcmNlcHRvcl0gKGRlZmF1bHQgdGFzay03KSBbZDgyODgw ZTgtMWQ0MC00YTNiLWExYmEtMzM2MmY8d2JyPjJmMTMwYTBdIG1ldGhvZDogcnVuQWN0aW9uLCBw YXJhbXM6IFtEZWFjdGl2YXRlU3RvcmFnZURvbWFpbldpdGhPdjx3YnI+ZlVwZGF0ZSwgRGVhY3Rp dmF0ZVN0bwpyYWdlRG9tYWluV2l0aE92ZlVwZGF0ZVBhcmFtZXQ8d2JyPmVyczp7Y29tbWFuZElk PSYjMzk7NjMwYzI4ZTEtNDFhYi08d2JyPjQzZGItOTc1NS1hMmJiODcwZGJjYjMmIzM5OywgdXNl cj0mIzM5O251bGwmIzM5OywgY29tbWFuZFR5cGU9JiMzOTtVbmtub3duJiMzOTt9XSwgdGltZUVs YXBzZWQ6IDY1bXMKMjAxNy0xMi0wNiAyMDoxMzoyMywxNzYtMDUgRVJST1IgW29yZy5vdmlydC5l bmdpbmUuYXBpLnJlc3RhcGkuPHdicj5yZXNvdXJjZS5BYnN0cmFjdEJhY2tlbmRSZXNvdXI8d2Jy PmNlXSAoZGVmYXVsdCB0YXNrLTcpIFtdIE9wZXJhdGlvbiBGYWlsZWQ6IFtDYW5ub3QgZGVhY3Rp dmF0ZSBTdG9yYWdlIHdoaWxlIHRoZXJlIGFyZSBydW5uaW5nIHRhc2tzIG9uIHRoaXMgU3RvcmFn ZS4KLVBsZWFzZSB3YWl0IHVudGlsIHRhc2tzIHdpbGwgZmluaXNoIGFuZCB0cnkgYWdhaW4uXQo8 L2I+Cjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICA8cCBkaXI9Imx0ciIgc3R5bGU9ImxpbmUt aGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxl PSJmb250LXNpemU6MTFwdDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2Zv bnQtdmFyaWFudDpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFz ZWxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPgo8L3NwYW4+PC9wPgogICAgICAgICAgICAgIDwv Yj4mbHQ7ZXJyb3ImZ3Q7PGJyIGNsYXNzPSJtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5 Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1NkFw cGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPgogICAgICAgICAgICAgIDxwPjxicj4KICAgICAgICAg ICAgICA8L3A+CiAgICAgICAgICAgICAgPHA+PGJyPgogICAgICAgICAgICAgIDwvcD4KICAgICAg ICAgICAgICA8cD48YnI+CiAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAg ICAgICAgICAgPGJyPgogICAgICAgICAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX188 d2JyPl9fX19fX19fX19fX19fX19fPGJyPgogICAgICAgICAgICBEZXZlbCBtYWlsaW5nIGxpc3Q8 YnI+CiAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpEZXZlbEBvdmlydC5vcmciIHRhcmdldD0i X2JsYW5rIj5EZXZlbEBvdmlydC5vcmc8L2E+PGJyPgogICAgICAgICAgICA8YSBocmVmPSJodHRw Oi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWwiIHJlbD0ibm9yZWZlcnJl ciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbjx3YnI+L2xp c3RpbmZvL2RldmVsPC9hPjxicj4KICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICA8L2Rp dj4KICAgICAgICA8YnI+CiAgICAgIDwvZGl2PgogICAgPC9ibG9ja3F1b3RlPgogICAgPHA+PGJy PgogICAgPC9wPgogIDwvZGl2PjwvZGl2PjwvZGl2PgoKPGJyPl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fXzx3YnI+X19fX19fX19fX19fX19fX188YnI+CkRldmVsIG1haWxpbmcgbGlzdDxi cj4KPGEgaHJlZj0ibWFpbHRvOkRldmVsQG92aXJ0Lm9yZyIgdGFyZ2V0PSJfYmxhbmsiPkRldmVs QG92aXJ0Lm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1h bi9saXN0aW5mby9kZXZlbCIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDov L2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuPHdicj4vbGlzdGluZm8vZGV2ZWw8L2E+PGJyPjwvYmxv Y2txdW90ZT48L2Rpdj48YnI+PC9kaXY+PC9kaXY+Cjxicj5fX19fX19fX19fX19fX19fX19fX19f X19fX19fX188d2JyPl9fX19fX19fX19fX19fX19fPGJyPgpEZXZlbCBtYWlsaW5nIGxpc3Q8YnI+ CjxhIGhyZWY9Im1haWx0bzpEZXZlbEBvdmlydC5vcmciIHRhcmdldD0iX2JsYW5rIj5EZXZlbEBv dmlydC5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4v bGlzdGluZm8vZGV2ZWwiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9s aXN0cy5vdmlydC5vcmcvbWFpbG1hbjx3YnI+L2xpc3RpbmZvL2RldmVsPC9hPjxicj48L2Jsb2Nr cXVvdGU+PC9kaXY+PGJyPjxiciBjbGVhcj0iYWxsIj48ZGl2Pjxicj48L2Rpdj48L2Rpdj48L2Rp dj48c3BhbiBjbGFzcz0iSE9FblpiIj48Zm9udCBjb2xvcj0iIzg4ODg4OCI+LS0gPGJyPjxkaXYg Y2xhc3M9Im1fODk0MjIzNjM1MTQ1NjU2MzQ3M2dtYWlsX3NpZ25hdHVyZSIgZGF0YS1zbWFydG1h aWw9ImdtYWlsX3NpZ25hdHVyZSI+PGRpdiBkaXI9Imx0ciI+UmVnYXJkcyw8ZGl2PkV5YWwgU2hl bml0emt5PC9kaXY+PC9kaXY+PC9kaXY+CjwvZm9udD48L3NwYW4+PC9kaXY+CjwvYmxvY2txdW90 ZT48L2Rpdj48YnI+PC9kaXY+PC9kaXY+Cg== --===============0358306331165487180==-- From dron at redhat.com Fri Dec 8 19:31:46 2017 Content-Type: multipart/mixed; boundary="===============0217218519649756459==" MIME-Version: 1.0 From: Dafna Ron To: devel at ovirt.org Subject: Re: [ovirt-devel] [ OST Failure Report ] [ oVirtMaster ] [ 07-11-2017 ] [007_sd_reattach.deactivate_storage_domain ] Date: Fri, 08 Dec 2017 19:31:42 +0000 Message-ID: <9bc03aa4-8582-6e80-7a66-4af3ef70b367@redhat.com> In-Reply-To: CAJgorsZ0iXzc0WpWZHBe0=NtY53cs_wGRY4X8KQqS3oa0YCX0A@mail.gmail.com --===============0217218519649756459== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multi-part message in MIME format. --------------78AFAE881715BC23A10C5F16 Content-Type: text/plain; charset=3Dutf-8 Content-Transfer-Encoding: 7bit I opened a bug: https://bugzilla.redhat.com/show_bug.cgi?id=3D1523813 Allon, can you please assign someone to help fix this test? Please let me know if you need help from me. Thanks! Dafna On 12/07/2017 11:59 AM, Yaniv Kaul wrote: > > > On Thu, Dec 7, 2017 at 1:30 PM, Eyal Shenitzky > wrote: > > I think that the maybe the QE can share their methods on how to > avoid those issues. = > From what I remember, before deactivating storage domain they make > sure that there are no running tasks related to > the storage domain. > > > Looks like an easy fix is to wrap it with try, except sdk4.Error and > let it sit within the testlib.assert_true_within_short() loop. > Y. > = > > > On Thu, Dec 7, 2017 at 1:22 PM, Yaniv Kaul > wrote: > > > > On Thu, Dec 7, 2017 at 1:12 PM, Dafna Ron > wrote: > > Maor, I either need to get new glasses or a magnifier > glass to read what you wrote :-P > when you say running tasks - these are actually running > tasks that may be running because of other tests in ost - > correct? wouldn't killing or blocking those can cause > other tests to fail? > > > It might well be the OVF update. How can we, from the API, > wait for those tasks to complete? Or should we catch exception > and retry? > Y. > = > > > On 12/07/2017 11:06 AM, Maor Lipchuk wrote: >> >> CANNOT_DEACTIVATE_DOMAIN_WITH_TASKS is a known issue, the >> problem is that we might have tasks which will start >> running internally using scheduling (like OVF_UPDATE) and >> we can't really know how much time every task will take >> until it will end. >> >> Even if we check that there are no running tasks it will >> not guaranteethat no task will start until you deactivate >> the storage domain. >> >> I think that the best solution for it is an engine >> support to cancel running tasks or block tasks from running. >> >> >> On Thu, Dec 7, 2017 at 12:14 PM, Dafna Ron >> > wrote: >> >> Hi, >> >> We had a failure on master basic suite for test >> 007_sd_reattach.deactivate_storage_domain. >> >> The failure was that we failed to deactivate domain >> due to running tasks. >> >> It does not seem to be related to the patch it was >> testing and I think that the test itself needs to be >> modified to check there are no running tasks. >> >> Is there perhaps a way to query if there are running >> tasks before running the command? can you please take >> a look at the test on OST? >> >> ** >> >> *Link and headline of suspected patches:**Not related >> to error*** >> >> ** >> >> ** >> >> *Link to Job: >> http://jenkins.ovirt.org/job/ovirt-master_change-queue-t= ester/4319/ >> * >> >> *** >> >> Link to all logs: >> http://jenkins.ovirt.org/job/ovirt-master_change-queue-t= ester/4319/artifact/ >> >> >> >> (Relevant) error snippet from the log: >> >> >> >> *2017-12-06 20:13:23,166-05 WARN >> [org.ovirt.engine.core.bll.storage.domain.DeactivateStor= ageDomainWithOvfUpdateCommand] >> (default task-7) >> [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Validation of >> action 'DeactivateStorageDomainWithOvfUpdate' fa iled >> for user admin(a)internal-authz. Reasons: >> VAR__TYPE__STORAGE__DOMAIN,VAR__ACTION__DEACTIVATE,ERROR= _CANNOT_DEACTIVATE_DOMAIN_WITH_TASKS >> 2017-12-06 20:13:23,167-05 INFO >> [org.ovirt.engine.core.bll.storage.domain.DeactivateStor= ageDomainWithOvfUpdateCommand] >> (default task-7) >> [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Lock freed to >> object 'EngineLock:{exclusiveLocks=3D'[ea2fd992-8a >> a4-44fe-aa43-e96754a975ba=3DSTORAGE]', >> sharedLocks=3D'[5e0a0183-0e25-4f43-b5b0-0cfb5510248e=3DP= OOL]'}' >> 2017-12-06 20:13:23,172-05 DEBUG >> [org.ovirt.engine.core.common.di.interceptor.DebugLoggin= gInterceptor] >> (default task-7) >> [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] method: >> runAction, params: >> [DeactivateStorageDomainWithOvfUpdate, DeactivateSto >> rageDomainWithOvfUpdateParameters:{commandId=3D'630c28e1= -41ab-43db-9755-a2bb870dbcb3', >> user=3D'null', commandType=3D'Unknown'}], timeElapsed: >> 65ms 2017-12-06 20:13:23,176-05 ERROR >> [org.ovirt.engine.api.restapi.resource.AbstractBackendRe= source] >> (default task-7) [] Operation Failed: [Cannot >> deactivate Storage while there are running tasks on >> this Storage. -Please wait until tasks will finish >> and try again.] * >> >> * >> >> >> >> >> >> _______________________________________________ >> Devel mailing list >> Devel(a)ovirt.org >> http://lists.ovirt.org/mailman/listinfo/devel >> >> >> > > > _______________________________________________ > Devel mailing list > Devel(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel > > > > > _______________________________________________ > Devel mailing list > Devel(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > -- = > Regards, > Eyal Shenitzky > > --------------78AFAE881715BC23A10C5F16 Content-Type: text/html; charset=3Dutf-8 Content-Transfer-Encoding: 8bit
I opened a bug: https://bugzilla.redhat.com/show_bug.cgi?id=3D= 1523813
Allon, can you please assign someone to help fix this test?
Please let me know if you need help from me.

Thanks!
Dafna


On 12/07/2017 11:59 AM, Yaniv Kaul wrote:


On Thu, Dec 7, 2017 at 1:30 PM, Eyal Shenitzky <eshenitz(a)redhat.com> wrote:
I think that the maybe the QE can share their methods on how to avoid those issues.=C2=A0
From what I remember, before deactivating storage domain they make sure that there are no running tasks related to
the storage domain.

Looks like an easy fix is to wrap it with try, except sdk4.Error and let it sit within the testlib.assert_true_within_short() loop.
Y.
=C2=A0

On Thu, Dec 7, 2017 at 1:22 PM, Yaniv Kaul <ykaul(a)redhat.com&g= t; wrote:


On Thu, Dec 7, 2017 at 1:12 PM, Dafna Ron <dron(a)redhat.com> wrote:
Maor, I either need to get new glasses or a magnifier glass to read what you wrote :-P
when you say running tasks - these are actually running tasks that may be running because of other tests in ost - correct? wouldn't killing or blocking those can cause other tests to fail?

It might well be the OVF update. How can we, from the API, wait for those tasks to complete? Or should we catch exception and retry?
Y.
=C2=A0

On 12/07/2017 11:06 AM, Maor Lipchuk wrote:

CANNOT_DEA= CTIVATE_DOMAIN_WITH_TASKS is a known issue, the problem is that we might= have tasks which will start running internally using scheduling (like OVF_= UPDATE) and we can't really know how much time every task will take until i= t will end.

Even if we check that there are no running tas= ks it will not guarantee that no task will start until you deactivat= e the storage domain.

I think that the best solution for it is an = engine support to cancel running tasks or block tasks from running.<= /font>


On Thu, Dec 7, 2017 at 12:14 PM, Dafna Ron <dr= on(a)redhat.com> wrote:

Hi,

We had a failure on master basic suite for test 007_sd_reattach.deactivat= e_storage_domain.

The failure was that we failed to deactivate domain due to running tasks.

It does not seem to be related to the patch it was testing and I think that the test itself needs to be modified to check there are no running tasks.

Is there perhaps a way to query if there are running tasks before running the command? can you please take a look at the test on OST?

<= span style=3D"font-size:11pt;font-family:Arial;color:#000000;background-col= or:transparent;font-weight:400;font-style:normal;font-variant:normal;text-d= ecoration:none;vertical-align:baseline;white-space:pre-wrap">Link and headl= ine of suspected patches:<= b> Not related to error

<= span style=3D"font-size:11pt;font-family:Arial;color:#000000;background-col= or:transparent;font-weight:400;font-style:normal;font-variant:normal;text-d= ecoration:none;vertical-align:baseline;white-space:pre-wrap">Link to Job: <= a class=3D"m_8942236351456563473m_-5014669676915136678m_3333631383734454308= m_-5329876534188665956moz-txt-link-freetext" href=3D"http://jenkins.ovirt.o= rg/job/ovirt-master_change-queue-tester/4319/" target=3D"_blank" moz-do-not= -send=3D"true">http://jenkins.ovirt.org/job/ovirt-master_change-queue-= tester/4319/

<= br>

Link to all logs: http://j= enkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/artifa= ct/


(Relevant) error snippet from the log:

<error>

2017-12-06 20:13:23,166-05 WARN [org.ovirt.engi= ne.core.bll.storage.domain.DeactivateStorageDomainWithOvfUpdateCo= mmand] (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Validat= ion of action 'DeactivateStorageDomainWithOvfUpdate' fa iled for user admin(a)internal-authz. Reasons: VAR__TYPE__STORAGE__DOMAIN,V= AR__ACTION__DEACTIVATE,ERROR_CANNOT_DEACTIVATE_DOMAIN_WITH_TASKS 2017-12-06 20:13:23,167-05 INFO [org.ovirt.engine.core.bll.storage.do= main.DeactivateStorageDomainWithOvfUpdateCommand] (default task-7) [d8= 2880e8-1d40-4a3b-a1ba-3362f2f130a0] Lock freed to object 'EngineLock:{= exclusiveLocks=3D'[ea2fd992-8a a4-44fe-aa43-e96754a975ba=3DSTORAGE]', sharedLocks=3D'[5e0a0183-0e25-4= f43-b5b0-0cfb5510248e=3DPOOL]'}' 2017-12-06 20:13:23,172-05 DEBUG [org.ovirt.engine.core.common.di.inte= rceptor.DebugLoggingInterceptor] (default task-7) [d82880e8-1d40-4a3b-= a1ba-3362f2f130a0] method: runAction, params: [DeactivateStorageDomain= WithOvfUpdate, DeactivateSto rageDomainWithOvfUpdateParameters:{commandId=3D'630c28e1-41ab-43d= b-9755-a2bb870dbcb3', user=3D'null', commandType=3D'Unknown'}], timeElapsed= : 65ms 2017-12-06 20:13:23,176-05 ERROR [org.ovirt.engine.api.restapi.resourc= e.AbstractBackendResource] (default task-7) [] Operation Failed: [Cann= ot deactivate Storage while there are running tasks on this Storage. -Please wait until tasks will finish and try again.]

<error>





_______________________________________________
Devel mailing list
De= vel(a)ovirt.org
ht= tp://lists.ovirt.org/mailman/listinfo/devel



______________________________________= _________
Devel mailing list
Devel(a)ovirt.org
http://lists.ovi= rt.org/mailman/listinfo/devel


______________________________________________= _
Devel mailing list
Devel(a)ovirt.org
http://lists.ovirt.org/m= ailman/listinfo/devel



--
Regards,
Eyal Shenitzky


--------------78AFAE881715BC23A10C5F16-- --===============0217218519649756459== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS03OEFGQUU4ODE3MTVCQzIzQTEwQzVGMTYKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PXV0Zi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKCkkgb3BlbmVkIGEgYnVn OiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE1MjM4MTMKQWxs b24sIGNhbiB5b3UgcGxlYXNlIGFzc2lnbiBzb21lb25lIHRvIGhlbHAgZml4IHRoaXMgdGVzdD8K UGxlYXNlIGxldCBtZSBrbm93IGlmIHlvdSBuZWVkIGhlbHAgZnJvbSBtZS4KClRoYW5rcyEKRGFm bmEKCgpPbiAxMi8wNy8yMDE3IDExOjU5IEFNLCBZYW5pdiBLYXVsIHdyb3RlOgo+Cj4KPiBPbiBU aHUsIERlYyA3LCAyMDE3IGF0IDE6MzAgUE0sIEV5YWwgU2hlbml0emt5IDxlc2hlbml0ekByZWRo YXQuY29tCj4gPG1haWx0bzplc2hlbml0ekByZWRoYXQuY29tPj4gd3JvdGU6Cj4KPiAgICAgSSB0 aGluayB0aGF0IHRoZSBtYXliZSB0aGUgUUUgY2FuIHNoYXJlIHRoZWlyIG1ldGhvZHMgb24gaG93 IHRvCj4gICAgIGF2b2lkIHRob3NlIGlzc3Vlcy4gCj4gICAgIEZyb20gd2hhdCBJIHJlbWVtYmVy LCBiZWZvcmUgZGVhY3RpdmF0aW5nIHN0b3JhZ2UgZG9tYWluIHRoZXkgbWFrZQo+ICAgICBzdXJl IHRoYXQgdGhlcmUgYXJlIG5vIHJ1bm5pbmcgdGFza3MgcmVsYXRlZCB0bwo+ICAgICB0aGUgc3Rv cmFnZSBkb21haW4uCj4KPgo+IExvb2tzIGxpa2UgYW4gZWFzeSBmaXggaXMgdG8gd3JhcCBpdCB3 aXRoIHRyeSwgZXhjZXB0IHNkazQuRXJyb3IgYW5kCj4gbGV0IGl0IHNpdCB3aXRoaW4gdGhlIHRl c3RsaWIuYXNzZXJ0X3RydWVfd2l0aGluX3Nob3J0KCkgbG9vcC4KPiBZLgo+ICAKPgo+Cj4gICAg IE9uIFRodSwgRGVjIDcsIDIwMTcgYXQgMToyMiBQTSwgWWFuaXYgS2F1bCA8eWthdWxAcmVkaGF0 LmNvbQo+ICAgICA8bWFpbHRvOnlrYXVsQHJlZGhhdC5jb20+PiB3cm90ZToKPgo+Cj4KPiAgICAg ICAgIE9uIFRodSwgRGVjIDcsIDIwMTcgYXQgMToxMiBQTSwgRGFmbmEgUm9uIDxkcm9uQHJlZGhh dC5jb20KPiAgICAgICAgIDxtYWlsdG86ZHJvbkByZWRoYXQuY29tPj4gd3JvdGU6Cj4KPiAgICAg ICAgICAgICBNYW9yLCBJIGVpdGhlciBuZWVkIHRvIGdldCBuZXcgZ2xhc3NlcyBvciBhIG1hZ25p Zmllcgo+ICAgICAgICAgICAgIGdsYXNzIHRvIHJlYWQgd2hhdCB5b3Ugd3JvdGUgOi1QCj4gICAg ICAgICAgICAgd2hlbiB5b3Ugc2F5IHJ1bm5pbmcgdGFza3MgLSB0aGVzZSBhcmUgYWN0dWFsbHkg cnVubmluZwo+ICAgICAgICAgICAgIHRhc2tzIHRoYXQgbWF5IGJlIHJ1bm5pbmcgYmVjYXVzZSBv ZiBvdGhlciB0ZXN0cyBpbiBvc3QgLQo+ICAgICAgICAgICAgIGNvcnJlY3Q/IHdvdWxkbid0IGtp bGxpbmcgb3IgYmxvY2tpbmcgdGhvc2UgY2FuIGNhdXNlCj4gICAgICAgICAgICAgb3RoZXIgdGVz dHMgdG8gZmFpbD8KPgo+Cj4gICAgICAgICBJdCBtaWdodCB3ZWxsIGJlIHRoZSBPVkYgdXBkYXRl LiBIb3cgY2FuIHdlLCBmcm9tIHRoZSBBUEksCj4gICAgICAgICB3YWl0IGZvciB0aG9zZSB0YXNr cyB0byBjb21wbGV0ZT8gT3Igc2hvdWxkIHdlIGNhdGNoIGV4Y2VwdGlvbgo+ICAgICAgICAgYW5k IHJldHJ5Pwo+ICAgICAgICAgWS4KPiAgICAgICAgICAKPgo+Cj4gICAgICAgICAgICAgT24gMTIv MDcvMjAxNyAxMTowNiBBTSwgTWFvciBMaXBjaHVrIHdyb3RlOgo+Pgo+PiAgICAgICAgICAgICBD QU5OT1RfREVBQ1RJVkFURV9ET01BSU5fV0lUSF9UQVNLUyBpcyBhIGtub3duIGlzc3VlLCB0aGUK Pj4gICAgICAgICAgICAgcHJvYmxlbSBpcyB0aGF0IHdlIG1pZ2h0IGhhdmUgdGFza3Mgd2hpY2gg d2lsbCBzdGFydAo+PiAgICAgICAgICAgICBydW5uaW5nIGludGVybmFsbHkgdXNpbmcgc2NoZWR1 bGluZyAobGlrZSBPVkZfVVBEQVRFKSBhbmQKPj4gICAgICAgICAgICAgd2UgY2FuJ3QgcmVhbGx5 IGtub3cgaG93IG11Y2ggdGltZSBldmVyeSB0YXNrIHdpbGwgdGFrZQo+PiAgICAgICAgICAgICB1 bnRpbCBpdCB3aWxsIGVuZC4KPj4KPj4gICAgICAgICAgICAgRXZlbiBpZiB3ZSBjaGVjayB0aGF0 IHRoZXJlIGFyZSBubyBydW5uaW5nIHRhc2tzIGl0IHdpbGwKPj4gICAgICAgICAgICAgbm90IGd1 YXJhbnRlZXRoYXQgbm8gdGFzayB3aWxsIHN0YXJ0IHVudGlsIHlvdSBkZWFjdGl2YXRlCj4+ICAg ICAgICAgICAgIHRoZSBzdG9yYWdlIGRvbWFpbi4KPj4KPj4gICAgICAgICAgICAgSSB0aGluayB0 aGF0IHRoZSBiZXN0IHNvbHV0aW9uIGZvciBpdCBpcyBhbiBlbmdpbmUKPj4gICAgICAgICAgICAg c3VwcG9ydCB0byBjYW5jZWwgcnVubmluZyB0YXNrcyBvciBibG9jayB0YXNrcyBmcm9tIHJ1bm5p bmcuCj4+Cj4+Cj4+ICAgICAgICAgICAgIE9uIFRodSwgRGVjIDcsIDIwMTcgYXQgMTI6MTQgUE0s IERhZm5hIFJvbgo+PiAgICAgICAgICAgICA8ZHJvbkByZWRoYXQuY29tIDxtYWlsdG86ZHJvbkBy ZWRoYXQuY29tPj4gd3JvdGU6Cj4+Cj4+ICAgICAgICAgICAgICAgICBIaSwKPj4KPj4gICAgICAg ICAgICAgICAgIFdlIGhhZCBhIGZhaWx1cmUgb24gbWFzdGVyIGJhc2ljIHN1aXRlIGZvciB0ZXN0 Cj4+ICAgICAgICAgICAgICAgICAwMDdfc2RfcmVhdHRhY2guZGVhY3RpdmF0ZV9zdG9yYWdlX2Rv bWFpbi4KPj4KPj4gICAgICAgICAgICAgICAgIFRoZSBmYWlsdXJlIHdhcyB0aGF0IHdlIGZhaWxl ZCB0byBkZWFjdGl2YXRlIGRvbWFpbgo+PiAgICAgICAgICAgICAgICAgZHVlIHRvIHJ1bm5pbmcg dGFza3MuCj4+Cj4+ICAgICAgICAgICAgICAgICBJdCBkb2VzIG5vdCBzZWVtIHRvIGJlIHJlbGF0 ZWQgdG8gdGhlIHBhdGNoIGl0IHdhcwo+PiAgICAgICAgICAgICAgICAgdGVzdGluZyBhbmQgSSB0 aGluayB0aGF0IHRoZSB0ZXN0IGl0c2VsZiBuZWVkcyB0byBiZQo+PiAgICAgICAgICAgICAgICAg bW9kaWZpZWQgdG8gY2hlY2sgdGhlcmUgYXJlIG5vIHJ1bm5pbmcgdGFza3MuCj4+Cj4+ICAgICAg ICAgICAgICAgICBJcyB0aGVyZSBwZXJoYXBzIGEgd2F5IHRvIHF1ZXJ5IGlmIHRoZXJlIGFyZSBy dW5uaW5nCj4+ICAgICAgICAgICAgICAgICB0YXNrcyBiZWZvcmUgcnVubmluZyB0aGUgY29tbWFu ZD8gY2FuIHlvdSBwbGVhc2UgdGFrZQo+PiAgICAgICAgICAgICAgICAgYSBsb29rIGF0IHRoZSB0 ZXN0IG9uIE9TVD8KPj4KPj4gICAgICAgICAgICAgICAgICoqCj4+Cj4+ICAgICAgICAgICAgICAg ICAqTGluayBhbmQgaGVhZGxpbmUgb2Ygc3VzcGVjdGVkIHBhdGNoZXM6KipOb3QgcmVsYXRlZAo+ PiAgICAgICAgICAgICAgICAgdG8gZXJyb3IqKioKPj4KPj4gICAgICAgICAgICAgICAgICoqCj4+ Cj4+ICAgICAgICAgICAgICAgICAqKgo+Pgo+PiAgICAgICAgICAgICAgICAgKkxpbmsgdG8gSm9i Ogo+PiAgICAgICAgICAgICAgICAgaHR0cDovL2plbmtpbnMub3ZpcnQub3JnL2pvYi9vdmlydC1t YXN0ZXJfY2hhbmdlLXF1ZXVlLXRlc3Rlci80MzE5Lwo+PiAgICAgICAgICAgICAgICAgPGh0dHA6 Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivb3ZpcnQtbWFzdGVyX2NoYW5nZS1xdWV1ZS10ZXN0ZXIv NDMxOS8+Kgo+Pgo+PiAgICAgICAgICAgICAgICAgKioqCj4+Cj4+ICAgICAgICAgICAgICAgICBM aW5rIHRvIGFsbCBsb2dzOgo+PiAgICAgICAgICAgICAgICAgaHR0cDovL2plbmtpbnMub3ZpcnQu b3JnL2pvYi9vdmlydC1tYXN0ZXJfY2hhbmdlLXF1ZXVlLXRlc3Rlci80MzE5L2FydGlmYWN0Lwo+ PiAgICAgICAgICAgICAgICAgPGh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivb3ZpcnQtbWFz dGVyX2NoYW5nZS1xdWV1ZS10ZXN0ZXIvNDMxOS9hcnRpZmFjdC8+Cj4+Cj4+Cj4+ICAgICAgICAg ICAgICAgICAoUmVsZXZhbnQpIGVycm9yIHNuaXBwZXQgZnJvbSB0aGUgbG9nOgo+Pgo+PiAgICAg ICAgICAgICAgICAgPGVycm9yPgo+Pgo+PiAgICAgICAgICAgICAgICAgKjIwMTctMTItMDYgMjA6 MTM6MjMsMTY2LTA1IFdBUk4KPj4gICAgICAgICAgICAgICAgIFtvcmcub3ZpcnQuZW5naW5lLmNv cmUuYmxsLnN0b3JhZ2UuZG9tYWluLkRlYWN0aXZhdGVTdG9yYWdlRG9tYWluV2l0aE92ZlVwZGF0 ZUNvbW1hbmRdCj4+ICAgICAgICAgICAgICAgICAoZGVmYXVsdCB0YXNrLTcpCj4+ICAgICAgICAg ICAgICAgICBbZDgyODgwZTgtMWQ0MC00YTNiLWExYmEtMzM2MmYyZjEzMGEwXSBWYWxpZGF0aW9u IG9mCj4+ICAgICAgICAgICAgICAgICBhY3Rpb24gJ0RlYWN0aXZhdGVTdG9yYWdlRG9tYWluV2l0 aE92ZlVwZGF0ZScgZmEgaWxlZAo+PiAgICAgICAgICAgICAgICAgZm9yIHVzZXIgYWRtaW5AaW50 ZXJuYWwtYXV0aHouIFJlYXNvbnM6Cj4+ICAgICAgICAgICAgICAgICBWQVJfX1RZUEVfX1NUT1JB R0VfX0RPTUFJTixWQVJfX0FDVElPTl9fREVBQ1RJVkFURSxFUlJPUl9DQU5OT1RfREVBQ1RJVkFU RV9ET01BSU5fV0lUSF9UQVNLUwo+PiAgICAgICAgICAgICAgICAgMjAxNy0xMi0wNiAyMDoxMzoy MywxNjctMDUgSU5GTwo+PiAgICAgICAgICAgICAgICAgW29yZy5vdmlydC5lbmdpbmUuY29yZS5i bGwuc3RvcmFnZS5kb21haW4uRGVhY3RpdmF0ZVN0b3JhZ2VEb21haW5XaXRoT3ZmVXBkYXRlQ29t bWFuZF0KPj4gICAgICAgICAgICAgICAgIChkZWZhdWx0IHRhc2stNykKPj4gICAgICAgICAgICAg ICAgIFtkODI4ODBlOC0xZDQwLTRhM2ItYTFiYS0zMzYyZjJmMTMwYTBdIExvY2sgZnJlZWQgdG8K Pj4gICAgICAgICAgICAgICAgIG9iamVjdCAnRW5naW5lTG9jazp7ZXhjbHVzaXZlTG9ja3M9J1tl YTJmZDk5Mi04YQo+PiAgICAgICAgICAgICAgICAgYTQtNDRmZS1hYTQzLWU5Njc1NGE5NzViYT1T VE9SQUdFXScsCj4+ICAgICAgICAgICAgICAgICBzaGFyZWRMb2Nrcz0nWzVlMGEwMTgzLTBlMjUt NGY0My1iNWIwLTBjZmI1NTEwMjQ4ZT1QT09MXSd9Jwo+PiAgICAgICAgICAgICAgICAgMjAxNy0x Mi0wNiAyMDoxMzoyMywxNzItMDUgREVCVUcKPj4gICAgICAgICAgICAgICAgIFtvcmcub3ZpcnQu ZW5naW5lLmNvcmUuY29tbW9uLmRpLmludGVyY2VwdG9yLkRlYnVnTG9nZ2luZ0ludGVyY2VwdG9y XQo+PiAgICAgICAgICAgICAgICAgKGRlZmF1bHQgdGFzay03KQo+PiAgICAgICAgICAgICAgICAg W2Q4Mjg4MGU4LTFkNDAtNGEzYi1hMWJhLTMzNjJmMmYxMzBhMF0gbWV0aG9kOgo+PiAgICAgICAg ICAgICAgICAgcnVuQWN0aW9uLCBwYXJhbXM6Cj4+ICAgICAgICAgICAgICAgICBbRGVhY3RpdmF0 ZVN0b3JhZ2VEb21haW5XaXRoT3ZmVXBkYXRlLCBEZWFjdGl2YXRlU3RvCj4+ICAgICAgICAgICAg ICAgICByYWdlRG9tYWluV2l0aE92ZlVwZGF0ZVBhcmFtZXRlcnM6e2NvbW1hbmRJZD0nNjMwYzI4 ZTEtNDFhYi00M2RiLTk3NTUtYTJiYjg3MGRiY2IzJywKPj4gICAgICAgICAgICAgICAgIHVzZXI9 J251bGwnLCBjb21tYW5kVHlwZT0nVW5rbm93bid9XSwgdGltZUVsYXBzZWQ6Cj4+ICAgICAgICAg ICAgICAgICA2NW1zIDIwMTctMTItMDYgMjA6MTM6MjMsMTc2LTA1IEVSUk9SCj4+ICAgICAgICAg ICAgICAgICBbb3JnLm92aXJ0LmVuZ2luZS5hcGkucmVzdGFwaS5yZXNvdXJjZS5BYnN0cmFjdEJh Y2tlbmRSZXNvdXJjZV0KPj4gICAgICAgICAgICAgICAgIChkZWZhdWx0IHRhc2stNykgW10gT3Bl cmF0aW9uIEZhaWxlZDogW0Nhbm5vdAo+PiAgICAgICAgICAgICAgICAgZGVhY3RpdmF0ZSBTdG9y YWdlIHdoaWxlIHRoZXJlIGFyZSBydW5uaW5nIHRhc2tzIG9uCj4+ICAgICAgICAgICAgICAgICB0 aGlzIFN0b3JhZ2UuIC1QbGVhc2Ugd2FpdCB1bnRpbCB0YXNrcyB3aWxsIGZpbmlzaAo+PiAgICAg ICAgICAgICAgICAgYW5kIHRyeSBhZ2Fpbi5dICoKPj4KPj4gICAgICAgICAgICAgICAgICo8ZXJy b3I+Cj4+Cj4+Cj4+Cj4+Cj4+Cj4+ICAgICAgICAgICAgICAgICBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiAgICAgICAgICAgICAgICAgRGV2ZWwgbWFp bGluZyBsaXN0Cj4+ICAgICAgICAgICAgICAgICBEZXZlbEBvdmlydC5vcmcgPG1haWx0bzpEZXZl bEBvdmlydC5vcmc+Cj4+ICAgICAgICAgICAgICAgICBodHRwOi8vbGlzdHMub3ZpcnQub3JnL21h aWxtYW4vbGlzdGluZm8vZGV2ZWwKPj4gICAgICAgICAgICAgICAgIDxodHRwOi8vbGlzdHMub3Zp cnQub3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWw+Cj4+Cj4+Cj4KPgo+ICAgICAgICAgICAgIF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gICAgICAgICAg ICAgRGV2ZWwgbWFpbGluZyBsaXN0Cj4gICAgICAgICAgICAgRGV2ZWxAb3ZpcnQub3JnIDxtYWls dG86RGV2ZWxAb3ZpcnQub3JnPgo+ICAgICAgICAgICAgIGh0dHA6Ly9saXN0cy5vdmlydC5vcmcv bWFpbG1hbi9saXN0aW5mby9kZXZlbAo+ICAgICAgICAgICAgIDxodHRwOi8vbGlzdHMub3ZpcnQu b3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWw+Cj4KPgo+Cj4gICAgICAgICBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ICAgICAgICAgRGV2ZWwgbWFpbGlu ZyBsaXN0Cj4gICAgICAgICBEZXZlbEBvdmlydC5vcmcgPG1haWx0bzpEZXZlbEBvdmlydC5vcmc+ Cj4gICAgICAgICBodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWwK PiAgICAgICAgIDxodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWw+ Cj4KPgo+Cj4KPiAgICAgLS0gCj4gICAgIFJlZ2FyZHMsCj4gICAgIEV5YWwgU2hlbml0emt5Cj4K PgoKCi0tLS0tLS0tLS0tLS0tNzhBRkFFODgxNzE1QkMyM0ExMEM1RjE2CkNvbnRlbnQtVHlwZTog dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQK CjxodG1sPgogIDxoZWFkPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250 ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgogIDwvaGVhZD4KICA8Ym9keSB0ZXh0PSIj MDAwMDAwIiBiZ2NvbG9yPSIjRkZGRkZGIj4KICAgIDxkaXYgY2xhc3M9Im1vei1jaXRlLXByZWZp eCI+SSBvcGVuZWQgYSBidWc6CiAgICAgIDxhIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQi IGhyZWY9Imh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTUyMzgx MyI+aHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xNTIzODEzPC9h Pjxicj4KICAgICAgQWxsb24sIGNhbiB5b3UgcGxlYXNlIGFzc2lnbiBzb21lb25lIHRvIGhlbHAg Zml4IHRoaXMgdGVzdD8gPGJyPgogICAgICBQbGVhc2UgbGV0IG1lIGtub3cgaWYgeW91IG5lZWQg aGVscCBmcm9tIG1lLiA8YnI+CiAgICAgIDxicj4KICAgICAgVGhhbmtzITxicj4KICAgICAgRGFm bmE8YnI+CiAgICAgIDxicj4KICAgICAgPGJyPgogICAgICBPbiAxMi8wNy8yMDE3IDExOjU5IEFN LCBZYW5pdiBLYXVsIHdyb3RlOjxicj4KICAgIDwvZGl2PgogICAgPGJsb2NrcXVvdGUgdHlwZT0i Y2l0ZSIKY2l0ZT0ibWlkOkNBSmdvcnNaMGlYemMwV3BXWkhCZTA9TnRZNTNjc193R1JZNFg4S1Fx UzNvYTBZQ1gwQUBtYWlsLmdtYWlsLmNvbSI+CiAgICAgIDxkaXYgZGlyPSJsdHIiPjxicj4KICAg ICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+PGJyPgogICAgICAgICAgPGRpdiBjbGFzcz0i Z21haWxfcXVvdGUiPk9uIFRodSwgRGVjIDcsIDIwMTcgYXQgMTozMCBQTSwgRXlhbAogICAgICAg ICAgICBTaGVuaXR6a3kgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YQogICAgICAgICAgICAgICAgaHJl Zj0ibWFpbHRvOmVzaGVuaXR6QHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAg ICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5lc2hlbml0ekByZWRoYXQuY29tPC9hPiZndDs8 L3NwYW4+CiAgICAgICAgICAgIHdyb3RlOjxicj4KICAgICAgICAgICAgPGJsb2NrcXVvdGUgY2xh c3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwCiAgICAgICAgICAgICAgLjhleDti b3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAgICAgICAgICAg ICA8ZGl2IGRpcj0ibHRyIj5JIHRoaW5rIHRoYXQgdGhlIG1heWJlIHRoZSBRRSBjYW4gc2hhcmUK ICAgICAgICAgICAgICAgIHRoZWlyIG1ldGhvZHMgb24gaG93IHRvIGF2b2lkIHRob3NlIGlzc3Vl cy7CoAogICAgICAgICAgICAgICAgPGRpdj5Gcm9tIHdoYXQgSSByZW1lbWJlciwgYmVmb3JlIGRl YWN0aXZhdGluZyBzdG9yYWdlCiAgICAgICAgICAgICAgICAgIGRvbWFpbiB0aGV5IG1ha2Ugc3Vy ZSB0aGF0IHRoZXJlIGFyZSBubyBydW5uaW5nIHRhc2tzCiAgICAgICAgICAgICAgICAgIHJlbGF0 ZWQgdG88L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+dGhlIHN0b3JhZ2UgZG9tYWluLjwvZGl2 PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAg ICAgIDxkaXY+PGJyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdj5Mb29rcyBs aWtlIGFuIGVhc3kgZml4IGlzIHRvIHdyYXAgaXQgd2l0aCB0cnksIGV4Y2VwdAogICAgICAgICAg ICAgIHNkazQuRXJyb3IgYW5kIGxldCBpdCBzaXQgd2l0aGluIHRoZQogICAgICAgICAgICAgIHRl c3RsaWIuYXNzZXJ0X3RydWVfd2l0aGluX3Nob3J0KCkgbG9vcC48L2Rpdj4KICAgICAgICAgICAg PGRpdj5ZLjwvZGl2PgogICAgICAgICAgICA8ZGl2PsKgPC9kaXY+CiAgICAgICAgICAgIDxibG9j a3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMAogICAgICAgICAg ICAgIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+CiAg ICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPgogICAgICAgICAgICAgICAgPGRp dj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaDUiPjxicj4KICAgICAgICAgICAgICAg ICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gVGh1LCBEZWMgNywgMjAxNyBhdCAxOjIy CiAgICAgICAgICAgICAgICAgICAgICBQTSwgWWFuaXYgS2F1bCA8c3BhbiBkaXI9Imx0ciI+Jmx0 OzxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOnlrYXVsQHJlZGhhdC5j b20iIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgIG1vei1kby1ub3Qt c2VuZD0idHJ1ZSI+eWthdWxAcmVkaGF0LmNvbTwvYT4mZ3Q7PC9zcGFuPgogICAgICAgICAgICAg ICAgICAgICAgd3JvdGU6PGJyPgogICAgICAgICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgY2xh c3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMAogICAgICAgICAgICAgICAgICAgICAg ICAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2MKICAgICAgICAgICAgICAgICAgICAgICAgc29s aWQ7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGlyPSJs dHIiPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9leHRy YSI+PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfcXVv dGUiPk9uIFRodSwgRGVjIDcsIDIwMTcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQg MToxMiBQTSwgRGFmbmEgUm9uIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGhyZWY9Im1haWx0bzpkcm9uQHJlZGhhdC5jb20iCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIgbW96LWRvLW5vdC1zZW5k PSJ0cnVlIj5kcm9uQHJlZGhhdC5jb208L2E+Jmd0Ozwvc3Bhbj4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgd3JvdGU6PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Ymxv Y2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB0ZXh0PSIjMDAwMDAwIiBiZ2NvbG9yPSIjRkZG RkZGIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYKY2xhc3M9Im1fODk0 MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQz MDhtb3otY2l0ZS1wcmVmaXgiPk1hb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEkgZWl0aGVyIG5lZWQgdG8gZ2V0IG5ldyBnbGFzc2VzIG9yCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGEgbWFnbmlmaWVyIGdsYXNzIHRvIHJlYWQgd2hhdCB5b3UKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JvdGUgOi1QPGJyPgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIHlvdSBzYXkgcnVubmluZyB0YXNrcyAtIHRo ZXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZSBhY3R1YWxseSBydW5u aW5nIHRhc2tzIHRoYXQgbWF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJl IHJ1bm5pbmcgYmVjYXVzZSBvZiBvdGhlciB0ZXN0cyBpbgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBvc3QgLSBjb3JyZWN0PyB3b3VsZG4ndCBraWxsaW5nIG9yCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NraW5nIHRob3NlIGNhbiBjYXVzZSBvdGhl ciB0ZXN0cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBmYWlsPyA8YnI+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9i bG9ja3F1b3RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxkaXY+SXQgbWlnaHQgd2VsbCBiZSB0aGUgT1ZGIHVwZGF0ZS4gSG93CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY2FuIHdlLCBmcm9tIHRoZSBBUEksIHdhaXQgZm9yIHRob3Nl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFza3MgdG8gY29tcGxldGU/IE9yIHNo b3VsZCB3ZSBjYXRjaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbiBh bmQgcmV0cnk/PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+WS48L2Rp dj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj7CoDwvZGl2PgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRl ci1sZWZ0OjFweAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNjY2Mgc29saWQ7cGFk ZGluZy1sZWZ0OjFleCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB0ZXh0 PSIjMDAwMDAwIiBiZ2NvbG9yPSIjRkZGRkZGIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDxkaXYKY2xhc3M9Im1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUx MzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDhtb3otY2l0ZS1wcmVmaXgiPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNs YXNzPSJtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4aDUiPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT24gMTIvMDcvMjAxNyAxMTowNiBBTSwgTWFvcgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlwY2h1ayB3cm90ZTo8YnI+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY2xhc3M9Im1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2 NzY5MTUxMzY2NzhoNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJs b2NrcXVvdGUgdHlwZT0iY2l0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8ZGl2IGRpcj0ibHRyIj48c3BhbgppZD0ibV84OTQyMjM2MzUxNDU2NTYzNDczbV8tNTAx NDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOGdtYWlsLW1fLTUzMjk4NzY1MzQx ODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5 MTg4OWU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImxpbmUt aGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuCnN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lIj48 c3BhbiBzdHlsZT0iY29sb3I6cmdiKDAsMCwwKTtmb250LWZhbWlseTptb25vc3BhY2U7d2hpdGUt c3BhY2U6cHJlLXdyYXAiPkNBTk5PVF9ERUFDVElWQVRFX0RPTUFJTl9XSVRIXzwvc3Bhbj48c3Bh biBzdHlsZT0iY29sb3I6cmdiKDAsMCwwKTtmb250LWZhbWlseTptb25vc3BhY2U7d2hpdGUtc3Bh Y2U6cHJlLXdyYXAiPjx3YnI+VEFTS1MgPC9zcGFuPjxmb250Pjxmb250CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0iIzAwMDAwMCIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9IjEi CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWNl PSJBcmlhbCI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj5pcyBhIGtub3duIGlz c3VlLCB0aGUgcHJvYmxlbSBpcyB0aGF0IHdlIG1pZ2h0IGhhdmUgdGFza3Mgd2hpY2ggd2lsbCBz dGFydCBydW5uaW5nIGludGVybmFsbHkgdXNpbmcgc2NoZWR1bGluZyAobGlrZSBPVkZfVVBEQVRF KSBhbmQgd2UgY2FuJ3QgcmVhbGx5IGtub3cgaG93IG11Y2ggdGltZSBldmVyeSB0YXNrIHdpbGwg dGFrZSB1bnRpbCBpdCB3aWxsIGVuZC48L3NwYW4+PC9mb250PjwvZm9udD48L3NwYW4+PC9wPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibGluZS1oZWlnaHQ6MS4z ODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4Kc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6dHJhbnNwYXJlbnQ7dmVydGljYWwtYWxpZ246YmFzZWxpbmUiPjxmb250Pjxmb250 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xv cj0iIzAwMDAwMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNpemU9IjEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmYWNlPSJBcmlhbCI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFw Ij5FdmVuIGlmIHdlIGNoZWNrIHRoYXQgdGhlcmUgYXJlIG5vIHJ1bm5pbmcgdGFza3MgaXQgd2ls bCBub3QgPC9zcGFuPjwvZm9udD48Zm9udAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29sb3I9IiMwMDAwMDAiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1z cGFjZTpwcmUtd3JhcCI+Z3VhcmFudGVlPC9zcGFuPjwvZm9udD48Zm9udAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9IiMwMDAwMDAiPjxm b250CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNpemU9IjEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZhY2U9IkFyaWFsIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPiB0 aGF0IG5vIHRhc2sgd2lsbCBzdGFydCB1bnRpbCB5b3UgZGVhY3RpdmF0ZSB0aGUgc3RvcmFnZSBk b21haW4uPC9zcGFuPjwvZm9udD48L2ZvbnQ+PC9mb250Pjwvc3Bhbj48L3A+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10 b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbgpzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZSI+PGZvbnQ+PGZvbnQKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSIjMDAwMDAw Ij48Zm9udAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzaXplPSIxIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmYWNlPSJBcmlhbCI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFw Ij5JIHRoaW5rIHRoYXQgdGhlIGJlc3Qgc29sdXRpb24gZm9yIGl0IGlzIGFuIGVuZ2luZSBzdXBw b3J0IHRvIGNhbmNlbCBydW5uaW5nIHRhc2tzIG9yIGJsb2NrIHRhc2tzIGZyb20gcnVubmluZy48 L3NwYW4+PC9mb250PjwvZm9udD48L2ZvbnQ+PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxicj4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfcXVv dGUiPk9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGh1LCBE ZWMgNywgMjAxNyBhdCAxMjoxNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFBNLCBEYWZuYSBSb24gPHNwYW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRpcj0ibHRyIj4mbHQ7PGEKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOmRyb25AcmVkaGF0LmNvbSIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxh bmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vei1k by1ub3Qtc2VuZD0idHJ1ZSI+ZHJvbkByZWRoYXQuY29tPC9hPiZndDs8L3NwYW4+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JvdGU6PGJyPgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxibG9ja3F1b3RlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ21haWxfcXVvdGUiCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2lu OjAgMCAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuOGV4 O2JvcmRlci1sZWZ0OjFweCAjY2NjCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgdGV4dD0iIzAwMDAwMCIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmdjb2xvcj0iI0ZGRkZGRiI+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkhpLCA8YnI+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2UgaGFkIGEg ZmFpbHVyZSBvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG1hc3RlciBiYXNpYyBzdWl0ZSBmb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMDA3X3NkX3JlYXR0YWNoLmRlYWN0aXZhdGVfc3RvPHdicj5yYWdl X2RvbWFpbi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwv cD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhl IGZhaWx1cmUgd2FzIHRoYXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB3ZSBmYWlsZWQgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkZWFjdGl2YXRlIGRvbWFpbiBkdWUKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBydW5uaW5nIHRhc2tzLiA8YnI+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+SXQgZG9lcyBub3Qg c2VlbSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJlIHJlbGF0ZWQgdG8gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGF0Y2ggaXQgd2FzIHRlc3RpbmcKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgSSB0aGluayB0aGF0IHRoZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3QgaXRzZWxmIG5lZWRz IHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUg bW9kaWZpZWQgdG8gY2hlY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0aGVyZSBhcmUgbm8gcnVubmluZwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHRhc2tzLiA8YnI+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPHA+SXMgdGhlcmUgcGVyaGFwcyBhCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2F5IHRvIHF1ZXJ5IGlmIHRo ZXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJl IHJ1bm5pbmcgdGFza3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBiZWZvcmUgcnVubmluZyB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb21tYW5kPyBjYW4geW91CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxlYXNlIHRha2UgYSBsb29rIGF0CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHRlc3Qgb24g T1NUPyA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+ PGIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 eWxlPSJmb250LXdlaWdodDpub3JtYWwiCmlkPSJtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0 NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1 NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgi PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj48 L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGRp cj0ibHRyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0 Ij48YgpzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIgppZD0ibV84OTQyMjM2MzUxNDU2NTYzNDcz bV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1MzQx ODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5 MTg4OWU4Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29s b3I6IzAwMDAwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtm b250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25l O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj5MaW5rIGFuZCBo ZWFkbGluZSBvZiBzdXNwZWN0ZWQgcGF0Y2hlczo8L3NwYW4+PGIKc3R5bGU9ImZvbnQtd2VpZ2h0 Om5vcm1hbCIKaWQ9Im1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2Nzht XzMzMzM2MzEzODM3MzQ0NTQzMDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1n dWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+PGI+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90IHJlbGF0ZWQg dG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBlcnJvcjwvYj48L2I+PC9iPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPGIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIgppZD0ibV84OTQyMjM2MzUxNDU2 NTYzNDczbV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUzMjk4 NzY1MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4Yjct MmQzMTk5MTg4OWU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPC9iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8cD48YgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIKaWQ9Im1fODk0MjIzNjM1MTQ1NjU2MzQ3M21f LTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDhtXy01MzI5ODc2NTM0MTg4 NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4 ODllOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PC9iPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PHAgZGlyPSJsdHIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRv bTowcHQiPjxiCnN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiCmlkPSJtXzg5NDIyMzYzNTE0NTY1 NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3 NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0y ZDMxOTkxODg5ZTgiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250LWZhbWlseTpBcmlh bDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6 NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC1kZWNvcmF0aW9u Om5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPkxpbmsg dG8gSm9iOiA8YSBjbGFzcz0ibV84OTQyMjM2MzUxNDU2NTYzNDczbV8tNTAxNDY2OTY3NjkxNTEz NjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1MzQxODg2NjU5NTZtb3otdHh0LWxp bmstZnJlZXRleHQiIGhyZWY9Imh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivb3ZpcnQtbWFz dGVyX2NoYW5nZS1xdWV1ZS10ZXN0ZXIvNDMxOS8iIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90 LXNlbmQ9InRydWUiPmh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivbzx3YnI+dmlydC1tYXN0 ZXJfY2hhbmdlLXF1ZXVlLXRlc3RlPHdicj5yLzQzMTkvPC9hPjwvc3Bhbj48L2I+PC9wPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXdlaWdo dDpub3JtYWwiCmlkPSJtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4 bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwt Z3VpZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgiPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+PGIKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC13ZWlnaHQ6bm9y bWFsIgppZD0ibV84OTQyMjM2MzUxNDU2NTYzNDczbV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMz MzYzMTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQt NTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5MTg4OWU4Ij48YnI+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibGluZS1o ZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOiMwMDAwMDA7YmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9u dC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNl bGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+TGluayB0byBhbGwgbG9nczogPGEgY2xhc3M9Im1f ODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0 NTQzMDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2bW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJo dHRwOi8vamVua2lucy5vdmlydC5vcmcvam9iL292aXJ0LW1hc3Rlcl9jaGFuZ2UtcXVldWUtdGVz dGVyLzQzMTkvYXJ0aWZhY3QvIiB0YXJnZXQ9Il9ibGFuayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVl Ij5odHRwOi8vamVua2lucy5vdmlydC5vcmcvam9iL288d2JyPnZpcnQtbWFzdGVyX2NoYW5nZS1x dWV1ZS10ZXN0ZTx3YnI+ci80MzE5L2FydGlmYWN0LzwvYT48L3NwYW4+PC9wPgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBkaXI9Imx0ciIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJsaW5l LWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHls ZT0iZm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3Jv dW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtm b250LXZhcmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJh c2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj4oUmVsZXZhbnQpIGVycm9yIHNuaXBwZXQgZnJv bSB0aGUgbG9nOiA8L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDxwIGRpcj0ibHRyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRv cDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250 LWZhbWlseTpBcmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4 dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJl LXdyYXAiPiZsdDtlcnJvciZndDs8L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGRpcj0ibHRyIgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7 bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTFwdDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJh bnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpu b3JtYWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUt c3BhY2U6cHJlLXdyYXAiPgo8L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDxwIGRpcj0ibHRyIgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFy Z2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFw dDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3Jt YWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3Bh Y2U6cHJlLXdyYXAiPjxiPjIwMTctMTItMDYgMjA6MTM6MjMsMTY2LTA1IFdBUk4gIFtvcmcub3Zp cnQuZW5naW5lLmNvcmUuYmxsLnN0bzx3YnI+cmFnZS5kb21haW4uRGVhY3RpdmF0ZVN0b3JhZ2VE PHdicj5vbWFpbldpdGhPdmZVcGRhdGVDb21tYW5kXSAoZGVmYXVsdCB0YXNrLTcpIFtkODI4ODBl OC0xZDQwLTRhM2ItYTFiYS0zMzYyZjx3YnI+MmYxMzBhMF0gVmFsaWRhdGlvbiBvZiBhY3Rpb24g J0RlYWN0aXZhdGVTdG9yYWdlRG9tYWluV2l0aE92PHdicj5mVXBkYXRlJyBmYQppbGVkIGZvciB1 c2VyIGFkbWluQGludGVybmFsLWF1dGh6LiBSZWFzb25zOiBWQVJfX1RZUEVfX1NUT1JBR0VfX0RP TUFJTixWQVI8d2JyPl9fQUNUSU9OX19ERUFDVElWQVRFLEVSUk9SX0NBTjx3YnI+Tk9UX0RFQUNU SVZBVEVfRE9NQUlOX1dJVEhfVEFTPHdicj5LUwoyMDE3LTEyLTA2IDIwOjEzOjIzLDE2Ny0wNSBJ TkZPICBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5zdG88d2JyPnJhZ2UuZG9tYWluLkRlYWN0 aXZhdGVTdG9yYWdlRDx3YnI+b21haW5XaXRoT3ZmVXBkYXRlQ29tbWFuZF0gKGRlZmF1bHQgdGFz ay03KSBbZDgyODgwZTgtMWQ0MC00YTNiLWExYmEtMzM2MmY8d2JyPjJmMTMwYTBdIExvY2sgZnJl ZWQgdG8gb2JqZWN0ICdFbmdpbmVMb2NrOntleGNsdXNpdmVMb2Nrcz0nWzx3YnI+ZWEyZmQ5OTIt OGEKYTQtNDRmZS1hYTQzLWU5Njc1NGE5NzViYT1TVE9SPHdicj5BR0VdJywgc2hhcmVkTG9ja3M9 J1s1ZTBhMDE4My0wZTI1LTRmPHdicj40My1iNWIwLTBjZmI1NTEwMjQ4ZT1QT09MXSd9JwoyMDE3 LTEyLTA2IDIwOjEzOjIzLDE3Mi0wNSBERUJVRyBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmNvbW1v bi48d2JyPmRpLmludGVyY2VwdG9yLkRlYnVnTG9nZ2luZ0ludDx3YnI+ZXJjZXB0b3JdIChkZWZh dWx0IHRhc2stNykgW2Q4Mjg4MGU4LTFkNDAtNGEzYi1hMWJhLTMzNjJmPHdicj4yZjEzMGEwXSBt ZXRob2Q6IHJ1bkFjdGlvbiwgcGFyYW1zOiBbRGVhY3RpdmF0ZVN0b3JhZ2VEb21haW5XaXRoT3Y8 d2JyPmZVcGRhdGUsIERlYWN0aXZhdGVTdG8KcmFnZURvbWFpbldpdGhPdmZVcGRhdGVQYXJhbWV0 PHdicj5lcnM6e2NvbW1hbmRJZD0nNjMwYzI4ZTEtNDFhYi08d2JyPjQzZGItOTc1NS1hMmJiODcw ZGJjYjMnLCB1c2VyPSdudWxsJywgY29tbWFuZFR5cGU9J1Vua25vd24nfV0sIHRpbWVFbGFwc2Vk OiA2NW1zCjIwMTctMTItMDYgMjA6MTM6MjMsMTc2LTA1IEVSUk9SIFtvcmcub3ZpcnQuZW5naW5l LmFwaS5yZXN0YXBpLjx3YnI+cmVzb3VyY2UuQWJzdHJhY3RCYWNrZW5kUmVzb3VyPHdicj5jZV0g KGRlZmF1bHQgdGFzay03KSBbXSBPcGVyYXRpb24gRmFpbGVkOiBbQ2Fubm90IGRlYWN0aXZhdGUg U3RvcmFnZSB3aGlsZSB0aGVyZSBhcmUgcnVubmluZyB0YXNrcyBvbiB0aGlzIFN0b3JhZ2UuCi1Q bGVhc2Ugd2FpdCB1bnRpbCB0YXNrcyB3aWxsIGZpbmlzaCBhbmQgdHJ5IGFnYWluLl0KPC9iPgo8 L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwIGRpcj0ibHRyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2lu LWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250LWZhbWlseTpBcmlh bDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6 NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC1kZWNvcmF0aW9u Om5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPgo8L3Nw YW4+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 L2I+Jmx0O2Vycm9yJmd0OzxicgpjbGFzcz0ibV84OTQyMjM2MzUxNDU2NTYzNDczbV8tNTAxNDY2 OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1MzQxODg2NjU5NTZB cHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPHA+PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxwPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8cD48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJy PgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX188d2JyPl9fX19fX19fX19fX19fX19fPGJy PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2ZWwgbWFp bGluZyBsaXN0PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJl Zj0ibWFpbHRvOkRldmVsQG92aXJ0Lm9yZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+RGV2ZWxAb3Zp cnQub3JnPC9hPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhy ZWY9Imh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby9kZXZlbCIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsPSJub3JlZmVycmVy IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9 Il9ibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5odHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW48d2Jy Pi9saXN0aW5mby9kZXZlbDwvYT48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxicj4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fXzx3YnI+X19fX19fX19fX19fX19fX188YnI+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRGV2ZWwgbWFpbGluZyBsaXN0PGJyPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpEZXZlbEBvdmlydC5vcmciCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIgbW96LWRvLW5vdC1z ZW5kPSJ0cnVlIj5EZXZlbEBvdmlydC5vcmc8L2E+PGJyPgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRw Oi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWwiCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5odHRw Oi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW48d2JyPi9saXN0aW5mby9kZXZlbDwvYT48YnI+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPgogICAg ICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rp dj4KICAgICAgICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICAgICAgICBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX188d2JyPl9fX19fX19fX19fX19fX19fPGJyPgog ICAgICAgICAgICAgICAgICAgICAgICBEZXZlbCBtYWlsaW5nIGxpc3Q8YnI+CiAgICAgICAgICAg ICAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpEZXZlbEBvdmlydC5vcmciIHRhcmdldD0iX2Js YW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+RGV2 ZWxAb3ZpcnQub3JnPC9hPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAg ICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlz dGluZm8vZGV2ZWwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsPSJub3JlZmVycmVyIiB0 YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9 InRydWUiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbjx3YnI+L2xpc3RpbmZvL2RldmVs PC9hPjxicj4KICAgICAgICAgICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICAgICAg ICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAg ICAgPGJyIGNsZWFyPSJhbGwiPgogICAgICAgICAgICAgICAgICAgIDxkaXY+PGJyPgogICAgICAg ICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAg ICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IkhPRW5aYiI+PGZvbnQgY29s b3I9IiM4ODg4ODgiPi0tIDxicj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtXzg5 NDIyMzYzNTE0NTY1NjM0NzNnbWFpbF9zaWduYXR1cmUiCiAgICAgICAgICAgICAgICAgICAgICBk YXRhLXNtYXJ0bWFpbD0iZ21haWxfc2lnbmF0dXJlIj4KICAgICAgICAgICAgICAgICAgICAgIDxk aXYgZGlyPSJsdHIiPlJlZ2FyZHMsCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+RXlhbCBT aGVuaXR6a3k8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAg ICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2ZvbnQ+PC9zcGFuPjwvZGl2PgogICAg ICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxicj4KICAg ICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8cD48YnI+CiAg ICA8L3A+CiAgPC9ib2R5Pgo8L2h0bWw+CgotLS0tLS0tLS0tLS0tLTc4QUZBRTg4MTcxNUJDMjNB MTBDNUYxNi0tCg== --===============0217218519649756459==-- From ykaul at redhat.com Fri Dec 8 20:40:38 2017 Content-Type: multipart/mixed; boundary="===============0359728712075024676==" MIME-Version: 1.0 From: Yaniv Kaul To: devel at ovirt.org Subject: Re: [ovirt-devel] [ OST Failure Report ] [ oVirtMaster ] [ 07-11-2017 ] [007_sd_reattach.deactivate_storage_domain ] Date: Fri, 08 Dec 2017 22:39:55 +0200 Message-ID: In-Reply-To: 9bc03aa4-8582-6e80-7a66-4af3ef70b367@redhat.com --===============0359728712075024676== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Fri, Dec 8, 2017 at 9:31 PM, Dafna Ron wrote: > I opened a bug: https://bugzilla.redhat.com/show_bug.cgi?id=3D1523813 > I'm optimistically hoping https://gerrit.ovirt.org/#/c/85195/ will fix it. Not sure. Y. > > Allon, can you please assign someone to help fix this test? > Please let me know if you need help from me. > > Thanks! > Dafna > > > > On 12/07/2017 11:59 AM, Yaniv Kaul wrote: > > > > On Thu, Dec 7, 2017 at 1:30 PM, Eyal Shenitzky > wrote: > >> I think that the maybe the QE can share their methods on how to avoid >> those issues. >> From what I remember, before deactivating storage domain they make sure >> that there are no running tasks related to >> the storage domain. >> > > Looks like an easy fix is to wrap it with try, except sdk4.Error and let > it sit within the testlib.assert_true_within_short() loop. > Y. > > >> >> On Thu, Dec 7, 2017 at 1:22 PM, Yaniv Kaul wrote: >> >>> >>> >>> On Thu, Dec 7, 2017 at 1:12 PM, Dafna Ron wrote: >>> >>>> Maor, I either need to get new glasses or a magnifier glass to read >>>> what you wrote :-P >>>> when you say running tasks - these are actually running tasks that may >>>> be running because of other tests in ost - correct? wouldn't killing or >>>> blocking those can cause other tests to fail? >>>> >>> >>> It might well be the OVF update. How can we, from the API, wait for >>> those tasks to complete? Or should we catch exception and retry? >>> Y. >>> >>> >>>> >>>> On 12/07/2017 11:06 AM, Maor Lipchuk wrote: >>>> >>>> CANNOT_DEACTIVATE_DOMAIN_WITH_TASKS is a known issue, the problem is >>>> that we might have tasks which will start running internally using >>>> scheduling (like OVF_UPDATE) and we can't really know how much time ev= ery >>>> task will take until it will end. >>>> >>>> Even if we check that there are no running tasks it will not guarantee >>>> that no task will start until you deactivate the storage domain. >>>> >>>> I think that the best solution for it is an engine support to cancel >>>> running tasks or block tasks from running. >>>> >>>> On Thu, Dec 7, 2017 at 12:14 PM, Dafna Ron wrote: >>>> >>>>> Hi, >>>>> >>>>> We had a failure on master basic suite for test >>>>> 007_sd_reattach.deactivate_storage_domain. >>>>> >>>>> The failure was that we failed to deactivate domain due to running >>>>> tasks. >>>>> >>>>> It does not seem to be related to the patch it was testing and I think >>>>> that the test itself needs to be modified to check there are no runni= ng >>>>> tasks. >>>>> >>>>> Is there perhaps a way to query if there are running tasks before >>>>> running the command? can you please take a look at the test on OST? >>>>> >>>>> *Link and headline of suspected patches: Not related to error* >>>>> >>>>> *Link to Job: >>>>> http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/ >>>>> * >>>>> >>>>> >>>>> * Link to all logs: >>>>> http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/ar= tifact/ >>>>> >>>>> (Relevant) error snippet from the log: 2017-12-06 20:13:23,16= 6-05 >>>>> WARN >>>>> [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWith= OvfUpdateCommand] >>>>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Validation of >>>>> action 'DeactivateStorageDomainWithOvfUpdate' fa iled for user >>>>> admin(a)internal-authz. Reasons: >>>>> VAR__TYPE__STORAGE__DOMAIN,VAR__ACTION__DEACTIVATE,ERROR_CANNOT_DEACT= IVATE_DOMAIN_WITH_TASKS >>>>> 2017-12-06 20:13:23,167-05 INFO >>>>> [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWith= OvfUpdateCommand] >>>>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Lock freed to >>>>> object 'EngineLock:{exclusiveLocks=3D'[ea2fd992-8a >>>>> a4-44fe-aa43-e96754a975ba=3DSTORAGE]', >>>>> sharedLocks=3D'[5e0a0183-0e25-4f43-b5b0-0cfb5510248e=3DPOOL]'}' 2017-= 12-06 >>>>> 20:13:23,172-05 DEBUG >>>>> [org.ovirt.engine.core.common.di.interceptor.DebugLoggingInterceptor] >>>>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] method: runAc= tion, >>>>> params: [DeactivateStorageDomainWithOvfUpdate, DeactivateSto >>>>> rageDomainWithOvfUpdateParameters:{commandId=3D'630c28e1-41ab-43db-97= 55-a2bb870dbcb3', >>>>> user=3D'null', commandType=3D'Unknown'}], timeElapsed: 65ms 2017-12-06 >>>>> 20:13:23,176-05 ERROR >>>>> [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (defa= ult >>>>> task-7) [] Operation Failed: [Cannot deactivate Storage while there a= re >>>>> running tasks on this Storage. -Please wait until tasks will finish a= nd try >>>>> again.] * >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Devel mailing list >>>>> Devel(a)ovirt.org >>>>> http://lists.ovirt.org/mailman/listinfo/devel >>>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Devel mailing list >>>> Devel(a)ovirt.org >>>> http://lists.ovirt.org/mailman/listinfo/devel >>>> >>> >>> >>> _______________________________________________ >>> Devel mailing list >>> Devel(a)ovirt.org >>> http://lists.ovirt.org/mailman/listinfo/devel >>> >> >> >> >> -- >> Regards, >> Eyal Shenitzky >> > > > --===============0359728712075024676== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGRpdiBjbGFz cz0iZ21haWxfcXVvdGUiPk9uIEZyaSwgRGVjIDgsIDIwMTcgYXQgOTozMSBQTSwgRGFmbmEgUm9u IDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmRyb25AcmVkaGF0LmNvbSIgdGFy Z2V0PSJfYmxhbmsiPmRyb25AcmVkaGF0LmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PGJs b2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAu OGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDox ZXgiPgogIAogICAgCiAgCiAgPGRpdiBiZ2NvbG9yPSIjRkZGRkZGIj4KICAgIDxkaXYgY2xhc3M9 ImdtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MG1vei1jaXRlLXByZWZpeCI+SSBvcGVuZWQgYSBi dWc6CiAgICAgIDxhIGNsYXNzPSJnbWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBtb3otdHh0LWxp bmstZnJlZXRleHQiIGhyZWY9Imh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5j Z2k/aWQ9MTUyMzgxMyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNv bS88d2JyPnNob3dfYnVnLmNnaT9pZD0xNTIzODEzPC9hPjwvZGl2PjwvZGl2PjwvYmxvY2txdW90 ZT48ZGl2Pjxicj48L2Rpdj48ZGl2PkkmIzM5O20gb3B0aW1pc3RpY2FsbHkgaG9waW5nwqA8YSBo cmVmPSJodHRwczovL2dlcnJpdC5vdmlydC5vcmcvIy9jLzg1MTk1LyI+aHR0cHM6Ly9nZXJyaXQu b3ZpcnQub3JnLyMvYy84NTE5NS88L2E+IHdpbGwgZml4IGl0LjwvZGl2PjxkaXY+Tm90IHN1cmUu PC9kaXY+PGRpdj5ZLjwvZGl2PjxkaXY+wqA8L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxf cXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNv bGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+PGRpdiBiZ2NvbG9yPSIjRkZG RkZGIj48ZGl2IGNsYXNzPSJnbWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBtb3otY2l0ZS1wcmVm aXgiPjxicj4KICAgICAgQWxsb24sIGNhbiB5b3UgcGxlYXNlIGFzc2lnbiBzb21lb25lIHRvIGhl bHAgZml4IHRoaXMgdGVzdD8gPGJyPgogICAgICBQbGVhc2UgbGV0IG1lIGtub3cgaWYgeW91IG5l ZWQgaGVscCBmcm9tIG1lLiA8YnI+CiAgICAgIDxicj4KICAgICAgVGhhbmtzITxzcGFuIGNsYXNz PSJnbWFpbC1IT0VuWmIiPjxmb250IGNvbG9yPSIjODg4ODg4Ij48YnI+CiAgICAgIERhZm5hPC9m b250Pjwvc3Bhbj48ZGl2PjxkaXYgY2xhc3M9ImdtYWlsLWg1Ij48YnI+CiAgICAgIDxicj4KICAg ICAgPGJyPgogICAgICBPbiAxMi8wNy8yMDE3IDExOjU5IEFNLCBZYW5pdiBLYXVsIHdyb3RlOjxi cj4KICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxkaXY+PGRpdiBjbGFzcz0iZ21haWwtaDUiPgogICAg PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+CiAgICAgIDxkaXYgZGlyPSJsdHIiPjxicj4KICAgICAg ICA8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+PGJyPgogICAgICAgICAgPGRpdiBjbGFzcz0iZ21h aWxfcXVvdGUiPk9uIFRodSwgRGVjIDcsIDIwMTcgYXQgMTozMCBQTSwgRXlhbAogICAgICAgICAg ICBTaGVuaXR6a3kgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86ZXNoZW5pdHpA cmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmVzaGVuaXR6QHJlZGhhdC5jb208L2E+Jmd0Ozwv c3Bhbj4KICAgICAgICAgICAgd3JvdGU6PGJyPgogICAgICAgICAgICA8YmxvY2txdW90ZSBjbGFz cz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxl ZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAgICAg ICAgICAgPGRpdiBkaXI9Imx0ciI+SSB0aGluayB0aGF0IHRoZSBtYXliZSB0aGUgUUUgY2FuIHNo YXJlCiAgICAgICAgICAgICAgICB0aGVpciBtZXRob2RzIG9uIGhvdyB0byBhdm9pZCB0aG9zZSBp c3N1ZXMuwqAKICAgICAgICAgICAgICAgIDxkaXY+RnJvbSB3aGF0IEkgcmVtZW1iZXIsIGJlZm9y ZSBkZWFjdGl2YXRpbmcgc3RvcmFnZQogICAgICAgICAgICAgICAgICBkb21haW4gdGhleSBtYWtl IHN1cmUgdGhhdCB0aGVyZSBhcmUgbm8gcnVubmluZyB0YXNrcwogICAgICAgICAgICAgICAgICBy ZWxhdGVkIHRvPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2PnRoZSBzdG9yYWdlIGRvbWFpbi48 L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAg ICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXY+TG9v a3MgbGlrZSBhbiBlYXN5IGZpeCBpcyB0byB3cmFwIGl0IHdpdGggdHJ5LCBleGNlcHQKICAgICAg ICAgICAgICBzZGs0LkVycm9yIGFuZCBsZXQgaXQgc2l0IHdpdGhpbiB0aGUKICAgICAgICAgICAg ICB0ZXN0bGliLmFzc2VydF90cnVlX3dpdGhpbl88d2JyPnNob3J0KCkgbG9vcC48L2Rpdj4KICAg ICAgICAgICAgPGRpdj5ZLjwvZGl2PgogICAgICAgICAgICA8ZGl2PsKgPC9kaXY+CiAgICAgICAg ICAgIDxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4 IDBweCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5n LWxlZnQ6MWV4Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+CiAgICAg ICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJnbWFpbC1tXy00 NzQwNTYyNTQ5MDc0ODI0ODBoNSI+PGJyPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9 ImdtYWlsX3F1b3RlIj5PbiBUaHUsIERlYyA3LCAyMDE3IGF0IDE6MjIKICAgICAgICAgICAgICAg ICAgICAgIFBNLCBZYW5pdiBLYXVsIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRv OnlrYXVsQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj55a2F1bEByZWRoYXQuY29tPC9hPiZn dDs8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICAgICAg ICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4 IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFk ZGluZy1sZWZ0OjFleCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGlyPSJsdHIiPjxi cj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+PGJy PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9u IFRodSwgRGVjIDcsIDIwMTcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgMToxMiBQ TSwgRGFmbmEgUm9uIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmRyb25AcmVk aGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmRyb25AcmVkaGF0LmNvbTwvYT4mZ3Q7PC9zcGFuPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdp bjowcHggMHB4IDBweCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0 KTtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2 IGJnY29sb3I9IiNGRkZGRkYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRp diBjbGFzcz0iZ21haWwtbV8tNDc0MDU2MjU0OTA3NDgyNDgwbV84OTQyMjM2MzUxNDU2NTYzNDcz bV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1vei1jaXRlLXByZWZp eCI+TWFvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSSBlaXRoZXIgbmVl ZCB0byBnZXQgbmV3IGdsYXNzZXMgb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYSBtYWduaWZpZXIgZ2xhc3MgdG8gcmVhZCB3aGF0IHlvdQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB3cm90ZSA6LVA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHdoZW4geW91IHNheSBydW5uaW5nIHRhc2tzIC0gdGhlc2UKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYXJlIGFjdHVhbGx5IHJ1bm5pbmcgdGFza3MgdGhhdCBt YXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgcnVubmluZyBiZWNhdXNl IG9mIG90aGVyIHRlc3RzIGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9z dCAtIGNvcnJlY3Q/IHdvdWxkbiYjMzk7dCBraWxsaW5nIG9yCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJsb2NraW5nIHRob3NlIGNhbiBjYXVzZSBvdGhlciB0ZXN0cwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBmYWlsPyA8YnI+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+SXQg bWlnaHQgd2VsbCBiZSB0aGUgT1ZGIHVwZGF0ZS4gSG93CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY2FuIHdlLCBmcm9tIHRoZSBBUEksIHdhaXQgZm9yIHRob3NlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGFza3MgdG8gY29tcGxldGU/IE9yIHNob3VsZCB3ZSBjYXRj aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbiBhbmQgcmV0cnk/PC9k aXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+WS48L2Rpdj4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPGRpdj7CoDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4 IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFk ZGluZy1sZWZ0OjFleCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBiZ2Nv bG9yPSIjRkZGRkZGIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xh c3M9ImdtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUw MTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDhtb3otY2l0ZS1wcmVmaXgiPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4 MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhoNSI+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPbiAxMi8wNy8yMDE3IDExOjA2IEFNLCBNYW9yCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXBjaHVrIHdyb3RlOjxicj4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsLW1fLTQ3NDA1 NjI1NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2Nzho NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgdHlw ZT0iY2l0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRp cj0ibHRyIj48c3BhbiBpZD0iZ21haWwtbV8tNDc0MDU2MjU0OTA3NDgyNDgwbV84OTQyMjM2MzUx NDU2NTYzNDczbV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOGdtYWls LW1fLTUzMjk4NzY1MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01 NDE0LTE4YjctMmQzMTk5MTg4OWU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8cCBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJn aW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7 dmVydGljYWwtYWxpZ246YmFzZWxpbmUiPjxzcGFuIHN0eWxlPSJjb2xvcjpyZ2IoMCwwLDApO2Zv bnQtZmFtaWx5Om1vbm9zcGFjZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+Q0FOTk9UX0RFQUNUSVZB VEVfRE9NQUlOX1dJVEhfPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjpyZ2IoMCwwLDApO2ZvbnQt ZmFtaWx5Om1vbm9zcGFjZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+PHdicj5UQVNLUyA8L3NwYW4+ PGZvbnQ+PGZvbnQgY29sb3I9IiMwMDAwMDAiIHNpemU9IjEiIGZhY2U9IkFyaWFsIj48c3BhbiBz dHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPmlzIGEga25vd24gaXNzdWUsIHRoZSBwcm9ibGVt IGlzIHRoYXQgd2UgbWlnaHQgaGF2ZSB0YXNrcyB3aGljaCB3aWxsIHN0YXJ0IHJ1bm5pbmcgaW50 ZXJuYWxseSB1c2luZyBzY2hlZHVsaW5nIChsaWtlIE9WRl9VUERBVEUpIGFuZCB3ZSBjYW4mIzM5 O3QgcmVhbGx5IGtub3cgaG93IG11Y2ggdGltZSBldmVyeSB0YXNrIHdpbGwgdGFrZSB1bnRpbCBp dCB3aWxsIGVuZC48L3NwYW4+PC9mb250PjwvZm9udD48L3NwYW4+PC9wPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4 O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZSI+PGZvbnQ+PGZvbnQg Y29sb3I9IiMwMDAwMDAiIHNpemU9IjEiIGZhY2U9IkFyaWFsIj48c3BhbiBzdHlsZT0id2hpdGUt c3BhY2U6cHJlLXdyYXAiPkV2ZW4gaWYgd2UgY2hlY2sgdGhhdCB0aGVyZSBhcmUgbm8gcnVubmlu ZyB0YXNrcyBpdCB3aWxsIG5vdCA8L3NwYW4+PC9mb250Pjxmb250IGNvbG9yPSIjMDAwMDAwIj48 c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPmd1YXJhbnRlZTwvc3Bhbj48L2ZvbnQ+ PGZvbnQgY29sb3I9IiMwMDAwMDAiPjxmb250IHNpemU9IjEiIGZhY2U9IkFyaWFsIj48c3BhbiBz dHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPiB0aGF0IG5vIHRhc2sgd2lsbCBzdGFydCB1bnRp bCB5b3UgZGVhY3RpdmF0ZSB0aGUgc3RvcmFnZSBkb21haW4uPC9zcGFuPjwvZm9udD48L2ZvbnQ+ PC9mb250Pjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPHAgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJv dHRvbTowcHQiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3ZlcnRp Y2FsLWFsaWduOmJhc2VsaW5lIj48Zm9udD48Zm9udCBjb2xvcj0iIzAwMDAwMCI+PGZvbnQgc2l6 ZT0iMSIgZmFjZT0iQXJpYWwiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+SSB0 aGluayB0aGF0IHRoZSBiZXN0IHNvbHV0aW9uIGZvciBpdCBpcyBhbiBlbmdpbmUgc3VwcG9ydCB0 byBjYW5jZWwgcnVubmluZyB0YXNrcyBvciBibG9jayB0YXNrcyBmcm9tIHJ1bm5pbmcuPC9zcGFu PjwvZm9udD48L2ZvbnQ+PC9mb250Pjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5P bgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRodSwgRGVjIDcs IDIwMTcgYXQgMTI6MTQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQTSwgRGFmbmEgUm9uIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOmRyb25A cmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmRyb25AcmVkaGF0LmNvbTwvYT4mZ3Q7PC9zcGFu PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyb3RlOjxicj4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YmxvY2txdW90ZSBj bGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVy LWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGJnY29sb3I9IiNG RkZGRkYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 cD5IaSwgPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxw PldlIGhhZCBhIGZhaWx1cmUgb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtYXN0ZXIgYmFzaWMgc3VpdGUgZm9yCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAwN19zZF9yZWF0dGFjaC5kZWFjdGl2YXRlX3N0 bzx3YnI+cmFnZV9kb21haW4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwPlRoZSBmYWlsdXJlIHdhcyB0aGF0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgd2UgZmFpbGVkIHRvCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVhY3RpdmF0ZSBkb21haW4gZHVlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gcnVubmluZyB0YXNr cy4gPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkl0 IGRvZXMgbm90IHNlZW0gdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBiZSByZWxhdGVkIHRvIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHBhdGNoIGl0IHdhcyB0ZXN0aW5nCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEkgdGhpbmsgdGhhdCB0aGUK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0IGl0 c2VsZiBuZWVkcyB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJlIG1vZGlmaWVkIHRvIGNoZWNrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGhlcmUgYXJlIG5vIHJ1bm5pbmcKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXNrcy4gPGJyPgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPklzIHRoZXJlIHBlcmhhcHMgYQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdheSB0byBx dWVyeSBpZiB0aGVyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGFyZSBydW5uaW5nIHRhc2tzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYmVmb3JlIHJ1bm5pbmcgdGhlCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD8gY2FuIHlvdQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsZWFzZSB0YWtlIGEgbG9v ayBhdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRo ZSB0ZXN0IG9uIE9TVD8gPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDxwPjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiIGlkPSJnbWFpbC1tXy00NzQw NTYyNTQ5MDc0ODI0ODBtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4 bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwt Z3VpZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgiPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj48L3A+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGRpcj0ibHRyIiBzdHlsZT0i bGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PGIgc3R5 bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIgaWQ9ImdtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MG1f ODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0 NTQzMDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMw NzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2Zv bnQtZmFtaWx5OkFyaWFsO2NvbG9yOnJnYigwLDAsMCk7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3Bh cmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1h bDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFj ZTpwcmUtd3JhcCI+TGluayBhbmQgaGVhZGxpbmUgb2Ygc3VzcGVjdGVkIHBhdGNoZXM6PC9zcGFu PjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiIGlkPSJnbWFpbC1tXy00NzQwNTYyNTQ5MDc0 ODI0ODBtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMx MzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5 YjdhMS0zMDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgiPjxiPgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdCByZWxhdGVkIHRvCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I8 L2I+PC9iPjwvYj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiIGlkPSJnbWFpbC1tXy00NzQwNTYy NTQ5MDc0ODI0ODBtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8z MzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3Vp ZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgiPgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxiIHN0eWxlPSJmb250LXdlaWdodDpub3Jt YWwiIGlkPSJnbWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBtXzg5NDIyMzYzNTE0NTY1NjM0NzNt Xy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4 ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0yZDMxOTkx ODg5ZTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDwvYj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDxwIGRpcj0ibHRyIiBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJn aW4tYm90dG9tOjBwdCI+PGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIgaWQ9ImdtYWlsLW1f LTQ3NDA1NjI1NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUx MzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRl cm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+PHNwYW4gc3R5 bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOnJnYigwLDAsMCk7YmFj a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3Jt YWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGln bjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+TGluayB0byBKb2I6IDxhIGNsYXNzPSJn bWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5 Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1Nm1v ei10eHQtbGluay1mcmVldGV4dCIgaHJlZj0iaHR0cDovL2plbmtpbnMub3ZpcnQub3JnL2pvYi9v dmlydC1tYXN0ZXJfY2hhbmdlLXF1ZXVlLXRlc3Rlci80MzE5LyIgdGFyZ2V0PSJfYmxhbmsiPmh0 dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivbzx3YnI+dmlydC1tYXN0ZXJfY2hhbmdlLXF1ZXVl LXRlc3RlPHdicj5yLzQzMTkvPC9hPjwvc3Bhbj48L2I+PC9wPgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YiBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFs IiBpZD0iZ21haWwtbV8tNDc0MDU2MjU0OTA3NDgyNDgwbV84OTQyMjM2MzUxNDU2NTYzNDczbV8t NTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1MzQxODg2 NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5MTg4 OWU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9i PjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiIGlkPSJnbWFpbC1tXy00NzQwNTYyNTQ5MDc0 ODI0ODBtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMx MzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5 YjdhMS0zMDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgiPjxicj4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBkaXI9Imx0ciIgc3R5bGU9ImxpbmUt aGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxl PSJmb250LXNpemU6MTFwdDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjpyZ2IoMCwwLDApO2JhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFs O2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246 YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPkxpbmsgdG8gYWxsIGxvZ3M6IDxhIGNsYXNz PSJnbWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0 NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1 Nm1vei10eHQtbGluay1mcmVldGV4dCIgaHJlZj0iaHR0cDovL2plbmtpbnMub3ZpcnQub3JnL2pv Yi9vdmlydC1tYXN0ZXJfY2hhbmdlLXF1ZXVlLXRlc3Rlci80MzE5L2FydGlmYWN0LyIgdGFyZ2V0 PSJfYmxhbmsiPmh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivbzx3YnI+dmlydC1tYXN0ZXJf Y2hhbmdlLXF1ZXVlLXRlc3RlPHdicj5yLzQzMTkvYXJ0aWZhY3QvPC9hPjwvc3Bhbj48L3A+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGRpcj0ibHRy IiBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBw dCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOnJn YigwLDAsMCk7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9u dC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2 ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+KFJlbGV2YW50KSBl cnJvciBzbmlwcGV0IGZyb20gdGhlIGxvZzogPC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBkaXI9Imx0ciIgc3R5bGU9ImxpbmUt aGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxl PSJmb250LXNpemU6MTFwdDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjpyZ2IoMCwwLDApO2JhY2tn cm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFs O2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246 YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPiZsdDtlcnJvciZndDs8L3NwYW4+PC9wPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGRpcj0i bHRyIiBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9t OjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9y OnJnYigwLDAsMCk7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7 Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9u ZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+Cjwvc3Bhbj48 L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAg ZGlyPSJsdHIiIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1i b3R0b206MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7 Y29sb3I6cmdiKDAsMCwwKTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0 OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlv bjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj48Yj4y MDE3LTEyLTA2IDIwOjEzOjIzLDE2Ni0wNSBXQVJOICBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJs bC5zdG88d2JyPnJhZ2UuZG9tYWluLkRlYWN0aXZhdGVTdG9yYWdlRDx3YnI+b21haW5XaXRoT3Zm VXBkYXRlQ29tbWFuZF0gKGRlZmF1bHQgdGFzay03KSBbZDgyODgwZTgtMWQ0MC00YTNiLWExYmEt MzM2MmY8d2JyPjJmMTMwYTBdIFZhbGlkYXRpb24gb2YgYWN0aW9uICYjMzk7RGVhY3RpdmF0ZVN0 b3JhZ2VEb21haW5XaXRoT3Y8d2JyPmZVcGRhdGUmIzM5OyBmYQppbGVkIGZvciB1c2VyIGFkbWlu QGludGVybmFsLWF1dGh6LiBSZWFzb25zOiBWQVJfX1RZUEVfX1NUT1JBR0VfX0RPTUFJTixWQVI8 d2JyPl9fQUNUSU9OX19ERUFDVElWQVRFLEVSUk9SX0NBTjx3YnI+Tk9UX0RFQUNUSVZBVEVfRE9N QUlOX1dJVEhfVEFTPHdicj5LUwoyMDE3LTEyLTA2IDIwOjEzOjIzLDE2Ny0wNSBJTkZPICBbb3Jn Lm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5zdG88d2JyPnJhZ2UuZG9tYWluLkRlYWN0aXZhdGVTdG9y YWdlRDx3YnI+b21haW5XaXRoT3ZmVXBkYXRlQ29tbWFuZF0gKGRlZmF1bHQgdGFzay03KSBbZDgy ODgwZTgtMWQ0MC00YTNiLWExYmEtMzM2MmY8d2JyPjJmMTMwYTBdIExvY2sgZnJlZWQgdG8gb2Jq ZWN0ICYjMzk7RW5naW5lTG9jazp7ZXhjbHVzaXZlTG9ja3M9JiMzOTtbPHdicj5lYTJmZDk5Mi04 YQphNC00NGZlLWFhNDMtZTk2NzU0YTk3NWJhPVNUT1I8d2JyPkFHRV0mIzM5Oywgc2hhcmVkTG9j a3M9JiMzOTtbNWUwYTAxODMtMGUyNS00Zjx3YnI+NDMtYjViMC0wY2ZiNTUxMDI0OGU9UE9PTF0m IzM5O30mIzM5OwoyMDE3LTEyLTA2IDIwOjEzOjIzLDE3Mi0wNSBERUJVRyBbb3JnLm92aXJ0LmVu Z2luZS5jb3JlLmNvbW1vbi48d2JyPmRpLmludGVyY2VwdG9yLkRlYnVnTG9nZ2luZ0ludDx3YnI+ ZXJjZXB0b3JdIChkZWZhdWx0IHRhc2stNykgW2Q4Mjg4MGU4LTFkNDAtNGEzYi1hMWJhLTMzNjJm PHdicj4yZjEzMGEwXSBtZXRob2Q6IHJ1bkFjdGlvbiwgcGFyYW1zOiBbRGVhY3RpdmF0ZVN0b3Jh Z2VEb21haW5XaXRoT3Y8d2JyPmZVcGRhdGUsIERlYWN0aXZhdGVTdG8KcmFnZURvbWFpbldpdGhP dmZVcGRhdGVQYXJhbWV0PHdicj5lcnM6e2NvbW1hbmRJZD0mIzM5OzYzMGMyOGUxLTQxYWItPHdi cj40M2RiLTk3NTUtYTJiYjg3MGRiY2IzJiMzOTssIHVzZXI9JiMzOTtudWxsJiMzOTssIGNvbW1h bmRUeXBlPSYjMzk7VW5rbm93biYjMzk7fV0sIHRpbWVFbGFwc2VkOiA2NW1zCjIwMTctMTItMDYg MjA6MTM6MjMsMTc2LTA1IEVSUk9SIFtvcmcub3ZpcnQuZW5naW5lLmFwaS5yZXN0YXBpLjx3YnI+ cmVzb3VyY2UuQWJzdHJhY3RCYWNrZW5kUmVzb3VyPHdicj5jZV0gKGRlZmF1bHQgdGFzay03KSBb XSBPcGVyYXRpb24gRmFpbGVkOiBbQ2Fubm90IGRlYWN0aXZhdGUgU3RvcmFnZSB3aGlsZSB0aGVy ZSBhcmUgcnVubmluZyB0YXNrcyBvbiB0aGlzIFN0b3JhZ2UuCi1QbGVhc2Ugd2FpdCB1bnRpbCB0 YXNrcyB3aWxsIGZpbmlzaCBhbmQgdHJ5IGFnYWluLl0KPC9iPgo8L3NwYW4+PC9wPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGRpcj0ibHRyIiBz dHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+ PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOnJnYigw LDAsMCk7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1z dHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0 aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+Cjwvc3Bhbj48L3A+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj4mbHQ7ZXJy b3ImZ3Q7PGJyIGNsYXNzPSJnbWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBtXzg5NDIyMzYzNTE0 NTY1NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMy OTg3NjUzNDE4ODY2NTk1NkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YnI+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGJyPgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8YnI+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzx3YnI+X19f X19fX19fX19fX19fX188YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBEZXZlbCBtYWlsaW5nIGxpc3Q8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86RGV2ZWxAb3ZpcnQub3JnIiB0YXJn ZXQ9Il9ibGFuayI+RGV2ZWxAb3ZpcnQub3JnPC9hPjxicj4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9saXN0cy5vdmlydC5vcmcv bWFpbG1hbi9saXN0aW5mby9kZXZlbCIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+ aHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuPHdicj4vbGlzdGluZm8vZGV2ZWw8L2E+PGJy PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYmxvY2txdW90 ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8cD48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9w PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX188d2Jy Pl9fX19fX19fX19fX19fX19fPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERl dmVsIG1haWxpbmcgbGlzdDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBo cmVmPSJtYWlsdG86RGV2ZWxAb3ZpcnQub3JnIiB0YXJnZXQ9Il9ibGFuayI+RGV2ZWxAb3ZpcnQu b3JnPC9hPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRw Oi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWwiIHJlbD0ibm9yZWZlcnJl ciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbjx3YnI+L2xp c3RpbmZvL2RldmVsPC9hPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ibG9j a3F1b3RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAg ICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8YnI+CiAg ICAgICAgICAgICAgICAgICAgICAgIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzx3YnI+ X19fX19fX19fX19fX19fX188YnI+CiAgICAgICAgICAgICAgICAgICAgICAgIERldmVsIG1haWxp bmcgbGlzdDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOkRldmVs QG92aXJ0Lm9yZyIgdGFyZ2V0PSJfYmxhbmsiPkRldmVsQG92aXJ0Lm9yZzwvYT48YnI+CiAgICAg ICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1h bi9saXN0aW5mby9kZXZlbCIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDov L2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuPHdicj4vbGlzdGluZm8vZGV2ZWw8L2E+PGJyPgogICAg ICAgICAgICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgICAgICAgICAgICAgIDwvZGl2 PgogICAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgICAgICA8YnIgY2xlYXI9 ImFsbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48YnI+CiAgICAgICAgICAgICAgICAgICAg PC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAg ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ21haWwtbV8tNDc0MDU2MjU0OTA3NDgyNDgwSE9F blpiIj48Zm9udCBjb2xvcj0iIzg4ODg4OCI+LS0gPGJyPgogICAgICAgICAgICAgICAgICAgIDxk aXYgY2xhc3M9ImdtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3 M2dtYWlsX3NpZ25hdHVyZSI+CiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRpcj0ibHRyIj5S ZWdhcmRzLAogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PkV5YWwgU2hlbml0emt5PC9kaXY+ CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4K ICAgICAgICAgICAgICAgICAgPC9mb250Pjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPC9ibG9j a3F1b3RlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8YnI+CiAgICAgICAgPC9kaXY+CiAg ICAgIDwvZGl2PgogICAgPC9ibG9ja3F1b3RlPgogICAgPHA+PGJyPgogICAgPC9wPgogIDwvZGl2 PjwvZGl2PjwvZGl2PgoKPC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj48L2Rpdj4K --===============0359728712075024676==-- From ykaul at redhat.com Fri Dec 8 21:20:47 2017 Content-Type: multipart/mixed; boundary="===============1598023895169982370==" MIME-Version: 1.0 From: Yaniv Kaul To: devel at ovirt.org Subject: Re: [ovirt-devel] [ OST Failure Report ] [ oVirtMaster ] [ 07-11-2017 ] [007_sd_reattach.deactivate_storage_domain ] Date: Fri, 08 Dec 2017 23:20:03 +0200 Message-ID: In-Reply-To: CAJgorsaV9+R7CXHotC4oQjhJn=X1dkPb-ixkazNjveHFEjvBvg@mail.gmail.com --===============1598023895169982370== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Fri, Dec 8, 2017 at 10:39 PM, Yaniv Kaul wrote: > > > On Fri, Dec 8, 2017 at 9:31 PM, Dafna Ron wrote: > >> I opened a bug: https://bugzilla.redhat.com/show_bug.cgi?id=3D1523813 >> > > I'm optimistically hoping https://gerrit.ovirt.org/#/c/85195/ will fix it. > Not sure. > Keeps failing with: Operation Failed: [Cannot deactivate Storage. The relevant Storage Domain's status is Maintenance.] Which is strange: 1. I do check if the SD is in Maint. mode before trying to deactive and the test is supposed to be skipped if it is. 2. Why can't I deactive a SD when in Maint. mode? Probably missing something here. Y. Y. > > >> >> Allon, can you please assign someone to help fix this test? >> Please let me know if you need help from me. >> >> Thanks! >> Dafna >> >> >> >> On 12/07/2017 11:59 AM, Yaniv Kaul wrote: >> >> >> >> On Thu, Dec 7, 2017 at 1:30 PM, Eyal Shenitzky >> wrote: >> >>> I think that the maybe the QE can share their methods on how to avoid >>> those issues. >>> From what I remember, before deactivating storage domain they make sure >>> that there are no running tasks related to >>> the storage domain. >>> >> >> Looks like an easy fix is to wrap it with try, except sdk4.Error and let >> it sit within the testlib.assert_true_within_short() loop. >> Y. >> >> >>> >>> On Thu, Dec 7, 2017 at 1:22 PM, Yaniv Kaul wrote: >>> >>>> >>>> >>>> On Thu, Dec 7, 2017 at 1:12 PM, Dafna Ron wrote: >>>> >>>>> Maor, I either need to get new glasses or a magnifier glass to read >>>>> what you wrote :-P >>>>> when you say running tasks - these are actually running tasks that may >>>>> be running because of other tests in ost - correct? wouldn't killing = or >>>>> blocking those can cause other tests to fail? >>>>> >>>> >>>> It might well be the OVF update. How can we, from the API, wait for >>>> those tasks to complete? Or should we catch exception and retry? >>>> Y. >>>> >>>> >>>>> >>>>> On 12/07/2017 11:06 AM, Maor Lipchuk wrote: >>>>> >>>>> CANNOT_DEACTIVATE_DOMAIN_WITH_TASKS is a known issue, the problem is >>>>> that we might have tasks which will start running internally using >>>>> scheduling (like OVF_UPDATE) and we can't really know how much time e= very >>>>> task will take until it will end. >>>>> >>>>> Even if we check that there are no running tasks it will not guarantee >>>>> that no task will start until you deactivate the storage domain. >>>>> >>>>> I think that the best solution for it is an engine support to cancel >>>>> running tasks or block tasks from running. >>>>> >>>>> On Thu, Dec 7, 2017 at 12:14 PM, Dafna Ron wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> We had a failure on master basic suite for test >>>>>> 007_sd_reattach.deactivate_storage_domain. >>>>>> >>>>>> The failure was that we failed to deactivate domain due to running >>>>>> tasks. >>>>>> >>>>>> It does not seem to be related to the patch it was testing and I >>>>>> think that the test itself needs to be modified to check there are no >>>>>> running tasks. >>>>>> >>>>>> Is there perhaps a way to query if there are running tasks before >>>>>> running the command? can you please take a look at the test on OST? >>>>>> >>>>>> *Link and headline of suspected patches: Not related to error* >>>>>> >>>>>> *Link to Job: >>>>>> http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/ >>>>>> * >>>>>> >>>>>> >>>>>> * Link to all logs: >>>>>> http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/a= rtifact/ >>>>>> >>>>>> (Relevant) error snippet from the log: 2017-12-06 20:13:23,1= 66-05 >>>>>> WARN >>>>>> [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWit= hOvfUpdateCommand] >>>>>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Validation of >>>>>> action 'DeactivateStorageDomainWithOvfUpdate' fa iled for user >>>>>> admin(a)internal-authz. Reasons: >>>>>> VAR__TYPE__STORAGE__DOMAIN,VAR__ACTION__DEACTIVATE,ERROR_CANNOT_DEAC= TIVATE_DOMAIN_WITH_TASKS >>>>>> 2017-12-06 20:13:23,167-05 INFO >>>>>> [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWit= hOvfUpdateCommand] >>>>>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Lock freed to >>>>>> object 'EngineLock:{exclusiveLocks=3D'[ea2fd992-8a >>>>>> a4-44fe-aa43-e96754a975ba=3DSTORAGE]', >>>>>> sharedLocks=3D'[5e0a0183-0e25-4f43-b5b0-0cfb5510248e=3DPOOL]'}' 2017= -12-06 >>>>>> 20:13:23,172-05 DEBUG >>>>>> [org.ovirt.engine.core.common.di.interceptor.DebugLoggingInterceptor] >>>>>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] method: runA= ction, >>>>>> params: [DeactivateStorageDomainWithOvfUpdate, DeactivateSto >>>>>> rageDomainWithOvfUpdateParameters:{commandId=3D'630c28e1-41ab-43db-9= 755-a2bb870dbcb3', >>>>>> user=3D'null', commandType=3D'Unknown'}], timeElapsed: 65ms 2017-12-= 06 >>>>>> 20:13:23,176-05 ERROR >>>>>> [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (def= ault >>>>>> task-7) [] Operation Failed: [Cannot deactivate Storage while there = are >>>>>> running tasks on this Storage. -Please wait until tasks will finish = and try >>>>>> again.] * >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Devel mailing list >>>>>> Devel(a)ovirt.org >>>>>> http://lists.ovirt.org/mailman/listinfo/devel >>>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Devel mailing list >>>>> Devel(a)ovirt.org >>>>> http://lists.ovirt.org/mailman/listinfo/devel >>>>> >>>> >>>> >>>> _______________________________________________ >>>> Devel mailing list >>>> Devel(a)ovirt.org >>>> http://lists.ovirt.org/mailman/listinfo/devel >>>> >>> >>> >>> >>> -- >>> Regards, >>> Eyal Shenitzky >>> >> >> >> > --===============1598023895169982370== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGRpdiBjbGFz cz0iZ21haWxfcXVvdGUiPk9uIEZyaSwgRGVjIDgsIDIwMTcgYXQgMTA6MzkgUE0sIFlhbml2IEth dWwgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86eWthdWxAcmVkaGF0LmNvbSIg dGFyZ2V0PSJfYmxhbmsiPnlrYXVsQHJlZGhhdC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJy PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBw eCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxl ZnQ6MWV4Ij48ZGl2IGRpcj0ibHRyIj48YnI+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxicj48 ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+PHNwYW4gY2xhc3M9ImdtYWlsLSI+T24gRnJpLCBEZWMg OCwgMjAxNyBhdCA5OjMxIFBNLCBEYWZuYSBSb24gPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVm PSJtYWlsdG86ZHJvbkByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+ZHJvbkByZWRoYXQuY29t PC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUi IHN0eWxlPSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJn YigyMDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+CiAgCiAgICAKICAKICA8ZGl2IGJnY29s b3I9IiNGRkZGRkYiPgogICAgPGRpdiBjbGFzcz0iZ21haWwtbV8tNDI2NjQxODEwMTM2OTMwMzgy M2dtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MG1vei1jaXRlLXByZWZpeCI+SSBvcGVuZWQgYSBi dWc6CiAgICAgIDxhIGNsYXNzPSJnbWFpbC1tXy00MjY2NDE4MTAxMzY5MzAzODIzZ21haWwtbV8t NDc0MDU2MjU0OTA3NDgyNDgwbW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwczovL2J1 Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE1MjM4MTMiIHRhcmdldD0iX2JsYW5r Ij5odHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2g8d2JyPm93X2J1Zy5jZ2k/aWQ9MTUyMzgx MzwvYT48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PC9zcGFuPjxkaXY+ SSYjMzk7bSBvcHRpbWlzdGljYWxseSBob3BpbmfCoDxhIGhyZWY9Imh0dHBzOi8vZ2Vycml0Lm92 aXJ0Lm9yZy8jL2MvODUxOTUvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9nZXJyaXQub3ZpcnQu PHdicj5vcmcvIy9jLzg1MTk1LzwvYT4gd2lsbCBmaXggaXQuPC9kaXY+PGRpdj5Ob3Qgc3VyZS48 L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PGRpdj5L ZWVwcyBmYWlsaW5nIHdpdGg6PC9kaXY+PGRpdj5PcGVyYXRpb24gRmFpbGVkOiBbQ2Fubm90IGRl YWN0aXZhdGUgU3RvcmFnZS4gVGhlIHJlbGV2YW50IFN0b3JhZ2UgRG9tYWluJiMzOTtzIHN0YXR1 cyBpcyBNYWludGVuYW5jZS5dwqA8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PldoaWNoIGlzIHN0 cmFuZ2U6PC9kaXY+PGRpdj4xLiBJIGRvIGNoZWNrIGlmIHRoZSBTRCBpcyBpbiBNYWludC4gbW9k ZSBiZWZvcmUgdHJ5aW5nIHRvIGRlYWN0aXZlIGFuZCB0aGUgdGVzdCBpcyBzdXBwb3NlZCB0byBi ZSBza2lwcGVkIGlmIGl0IGlzLjwvZGl2PjxkaXY+Mi4gV2h5IGNhbiYjMzk7dCBJIGRlYWN0aXZl IGEgU0Qgd2hlbiBpbiBNYWludC4gbW9kZT88L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlByb2Jh Ymx5IG1pc3Npbmcgc29tZXRoaW5nIGhlcmUuPC9kaXY+PGRpdj5ZLjwvZGl2PjxkaXY+PGJyPjwv ZGl2PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4 IDBweCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5n LWxlZnQ6MWV4Ij48ZGl2IGRpcj0ibHRyIj48ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+PGRpdiBj bGFzcz0iZ21haWxfcXVvdGUiPjxzcGFuIGNsYXNzPSJnbWFpbC1IT0VuWmIiPjxmb250IGNvbG9y PSIjODg4ODg4Ij48ZGl2PlkuPC9kaXY+PC9mb250Pjwvc3Bhbj48ZGl2PjxkaXYgY2xhc3M9Imdt YWlsLWg1Ij48ZGl2PsKgPC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHls ZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0 LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiPjxkaXYgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdiBj bGFzcz0iZ21haWwtbV8tNDI2NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4 MjQ4MG1vei1jaXRlLXByZWZpeCI+PGJyPgogICAgICBBbGxvbiwgY2FuIHlvdSBwbGVhc2UgYXNz aWduIHNvbWVvbmUgdG8gaGVscCBmaXggdGhpcyB0ZXN0PyA8YnI+CiAgICAgIFBsZWFzZSBsZXQg bWUga25vdyBpZiB5b3UgbmVlZCBoZWxwIGZyb20gbWUuIDxicj4KICAgICAgPGJyPgogICAgICBU aGFua3MhPHNwYW4gY2xhc3M9ImdtYWlsLW1fLTQyNjY0MTgxMDEzNjkzMDM4MjNnbWFpbC1IT0Vu WmIiPjxmb250IGNvbG9yPSIjODg4ODg4Ij48YnI+CiAgICAgIERhZm5hPC9mb250Pjwvc3Bhbj48 ZGl2PjxkaXYgY2xhc3M9ImdtYWlsLW1fLTQyNjY0MTgxMDEzNjkzMDM4MjNnbWFpbC1oNSI+PGJy PgogICAgICA8YnI+CiAgICAgIDxicj4KICAgICAgT24gMTIvMDcvMjAxNyAxMTo1OSBBTSwgWWFu aXYgS2F1bCB3cm90ZTo8YnI+CiAgICA8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2PjxkaXYgY2xhc3M9 ImdtYWlsLW1fLTQyNjY0MTgxMDEzNjkzMDM4MjNnbWFpbC1oNSI+CiAgICA8YmxvY2txdW90ZSB0 eXBlPSJjaXRlIj4KICAgICAgPGRpdiBkaXI9Imx0ciI+PGJyPgogICAgICAgIDxkaXYgY2xhc3M9 ImdtYWlsX2V4dHJhIj48YnI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24g VGh1LCBEZWMgNywgMjAxNyBhdCAxOjMwIFBNLCBFeWFsCiAgICAgICAgICAgIFNoZW5pdHpreSA8 c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzplc2hlbml0ekByZWRoYXQuY29tIiB0 YXJnZXQ9Il9ibGFuayI+ZXNoZW5pdHpAcmVkaGF0LmNvbTwvYT4mZ3Q7PC9zcGFuPgogICAgICAg ICAgICB3cm90ZTo8YnI+CiAgICAgICAgICAgIDxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90 ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQg cmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAgICAgICAgICAgICA8ZGl2IGRp cj0ibHRyIj5JIHRoaW5rIHRoYXQgdGhlIG1heWJlIHRoZSBRRSBjYW4gc2hhcmUKICAgICAgICAg ICAgICAgIHRoZWlyIG1ldGhvZHMgb24gaG93IHRvIGF2b2lkIHRob3NlIGlzc3Vlcy7CoAogICAg ICAgICAgICAgICAgPGRpdj5Gcm9tIHdoYXQgSSByZW1lbWJlciwgYmVmb3JlIGRlYWN0aXZhdGlu ZyBzdG9yYWdlCiAgICAgICAgICAgICAgICAgIGRvbWFpbiB0aGV5IG1ha2Ugc3VyZSB0aGF0IHRo ZXJlIGFyZSBubyBydW5uaW5nIHRhc2tzCiAgICAgICAgICAgICAgICAgIHJlbGF0ZWQgdG88L2Rp dj4KICAgICAgICAgICAgICAgIDxkaXY+dGhlIHN0b3JhZ2UgZG9tYWluLjwvZGl2PgogICAgICAg ICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgIDxkaXY+ PGJyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdj5Mb29rcyBsaWtlIGFuIGVh c3kgZml4IGlzIHRvIHdyYXAgaXQgd2l0aCB0cnksIGV4Y2VwdAogICAgICAgICAgICAgIHNkazQu RXJyb3IgYW5kIGxldCBpdCBzaXQgd2l0aGluIHRoZQogICAgICAgICAgICAgIHRlc3RsaWIuYXNz ZXJ0X3RydWVfd2l0aGluX3Nobzx3YnI+cnQoKSBsb29wLjwvZGl2PgogICAgICAgICAgICA8ZGl2 PlkuPC9kaXY+CiAgICAgICAgICAgIDxkaXY+wqA8L2Rpdj4KICAgICAgICAgICAgPGJsb2NrcXVv dGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2Jv cmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiPgog ICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj4KICAgICAgICAgICAgICAgIDxk aXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsLW1fLTQyNjY0MTgxMDEzNjkz MDM4MjNnbWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBoNSI+PGJyPgogICAgICAgICAgICAgICAg ICAgIDxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBUaHUsIERlYyA3LCAyMDE3IGF0IDE6MjIK ICAgICAgICAgICAgICAgICAgICAgIFBNLCBZYW5pdiBLYXVsIDxzcGFuIGRpcj0ibHRyIj4mbHQ7 PGEgaHJlZj0ibWFpbHRvOnlrYXVsQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj55a2F1bEBy ZWRoYXQuY29tPC9hPiZndDs8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICB3cm90ZTo8YnI+ CiAgICAgICAgICAgICAgICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0 eWxlPSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigy MDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxk aXYgZGlyPSJsdHIiPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJn bWFpbF9leHRyYSI+PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i Z21haWxfcXVvdGUiPk9uIFRodSwgRGVjIDcsIDIwMTcKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYXQgMToxMiBQTSwgRGFmbmEgUm9uIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0i bWFpbHRvOmRyb25AcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmRyb25AcmVkaGF0LmNvbTwv YT4mZ3Q7PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cm90ZTo8YnI+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90 ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQg cmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8ZGl2IGJnY29sb3I9IiNGRkZGRkYiPgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWwtbV8tNDI2NjQxODEwMTM2OTMwMzgyM2dtYWls LW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5 MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDhtb3otY2l0ZS1wcmVmaXgiPk1hb3IsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkgZWl0aGVyIG5lZWQgdG8gZ2V0IG5ldyBn bGFzc2VzIG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgbWFnbmlmaWVy IGdsYXNzIHRvIHJlYWQgd2hhdCB5b3UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgd3JvdGUgOi1QPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVu IHlvdSBzYXkgcnVubmluZyB0YXNrcyAtIHRoZXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGFyZSBhY3R1YWxseSBydW5uaW5nIHRhc2tzIHRoYXQgbWF5CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJlIHJ1bm5pbmcgYmVjYXVzZSBvZiBvdGhlciB0ZXN0 cyBpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvc3QgLSBjb3JyZWN0PyB3 b3VsZG4mIzM5O3Qga2lsbGluZyBvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBibG9ja2luZyB0aG9zZSBjYW4gY2F1c2Ugb3RoZXIgdGVzdHMKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdG8gZmFpbD8gPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPGRpdj48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwv ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pkl0IG1pZ2h0IHdlbGwgYmUg dGhlIE9WRiB1cGRhdGUuIEhvdwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbiB3 ZSwgZnJvbSB0aGUgQVBJLCB3YWl0IGZvciB0aG9zZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHRhc2tzIHRvIGNvbXBsZXRlPyBPciBzaG91bGQgd2UgY2F0Y2gKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBleGNlcHRpb24gYW5kIHJldHJ5PzwvZGl2PgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8ZGl2PlkuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDxkaXY+wqA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJsb2Nr cXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4 O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgi PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgYmdjb2xvcj0iI0ZGRkZGRiI+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJnbWFpbC1tXy00 MjY2NDE4MTAxMzY5MzAzODIzZ21haWwtbV8tNDc0MDU2MjU0OTA3NDgyNDgwbV84OTQyMjM2MzUx NDU2NTYzNDczbV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1vei1j aXRlLXByZWZpeCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWwtbV8t NDI2NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MG1fODk0MjIzNjM1 MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhoNSI+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBPbiAxMi8wNy8yMDE3IDExOjA2IEFNLCBNYW9yCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMaXBjaHVrIHdyb3RlOjxicj4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsLW1fLTQyNjY0MTgxMDEzNjkzMDM4MjNn bWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5 Njc2OTE1MTM2Njc4aDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxi bG9ja3F1b3RlIHR5cGU9ImNpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPGRpdiBkaXI9Imx0ciI+PHNwYW4gaWQ9ImdtYWlsLW1fLTQyNjY0MTgxMDEzNjkzMDM4 MjNnbWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0 NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4Z21haWwtbV8tNTMyOTg3NjUzNDE4 ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0yZDMxOTkx ODg5ZTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0 eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48 c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt2ZXJ0aWNhbC1hbGlnbjpi YXNlbGluZSI+PHNwYW4gc3R5bGU9ImNvbG9yOnJnYigwLDAsMCk7Zm9udC1mYW1pbHk6bW9ub3Nw YWNlO3doaXRlLXNwYWNlOnByZS13cmFwIj5DQU5OT1RfREVBQ1RJVkFURV9ET01BSU5fV0lUSF88 L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOnJnYigwLDAsMCk7Zm9udC1mYW1pbHk6bW9ub3NwYWNl O3doaXRlLXNwYWNlOnByZS13cmFwIj48d2JyPlRBU0tTIDwvc3Bhbj48Zm9udD48Zm9udCBjb2xv cj0iIzAwMDAwMCIgc2l6ZT0iMSIgZmFjZT0iQXJpYWwiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFj ZTpwcmUtd3JhcCI+aXMgYSBrbm93biBpc3N1ZSwgdGhlIHByb2JsZW0gaXMgdGhhdCB3ZSBtaWdo dCBoYXZlIHRhc2tzIHdoaWNoIHdpbGwgc3RhcnQgcnVubmluZyBpbnRlcm5hbGx5IHVzaW5nIHNj aGVkdWxpbmcgKGxpa2UgT1ZGX1VQREFURSkgYW5kIHdlIGNhbiYjMzk7dCByZWFsbHkga25vdyBo b3cgbXVjaCB0aW1lIGV2ZXJ5IHRhc2sgd2lsbCB0YWtlIHVudGlsIGl0IHdpbGwgZW5kLjwvc3Bh bj48L2ZvbnQ+PC9mb250Pjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHAgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7 bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFy ZW50O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lIj48Zm9udD48Zm9udCBjb2xvcj0iIzAwMDAwMCIg c2l6ZT0iMSIgZmFjZT0iQXJpYWwiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+ RXZlbiBpZiB3ZSBjaGVjayB0aGF0IHRoZXJlIGFyZSBubyBydW5uaW5nIHRhc2tzIGl0IHdpbGwg bm90IDwvc3Bhbj48L2ZvbnQ+PGZvbnQgY29sb3I9IiMwMDAwMDAiPjxzcGFuIHN0eWxlPSJ3aGl0 ZS1zcGFjZTpwcmUtd3JhcCI+Z3VhcmFudGVlPC9zcGFuPjwvZm9udD48Zm9udCBjb2xvcj0iIzAw MDAwMCI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iQXJpYWwiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFj ZTpwcmUtd3JhcCI+IHRoYXQgbm8gdGFzayB3aWxsIHN0YXJ0IHVudGlsIHlvdSBkZWFjdGl2YXRl IHRoZSBzdG9yYWdlIGRvbWFpbi48L3NwYW4+PC9mb250PjwvZm9udD48L2ZvbnQ+PC9zcGFuPjwv cD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0i bGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4g c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7dmVydGljYWwtYWxpZ246YmFzZWxp bmUiPjxmb250Pjxmb250IGNvbG9yPSIjMDAwMDAwIj48Zm9udCBzaXplPSIxIiBmYWNlPSJBcmlh bCI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj5JIHRoaW5rIHRoYXQgdGhlIGJl c3Qgc29sdXRpb24gZm9yIGl0IGlzIGFuIGVuZ2luZSBzdXBwb3J0IHRvIGNhbmNlbCBydW5uaW5n IHRhc2tzIG9yIGJsb2NrIHRhc2tzIGZyb20gcnVubmluZy48L3NwYW4+PC9mb250PjwvZm9udD48 L2ZvbnQ+PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGh1LCBEZWMgNywgMjAxNyBhdCAxMjoxNAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBNLCBEYWZuYSBSb24g PHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86ZHJvbkByZWRoYXQuY29tIiB0YXJn ZXQ9Il9ibGFuayI+ZHJvbkByZWRoYXQuY29tPC9hPiZndDs8L3NwYW4+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JvdGU6PGJyPgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90 ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQg cmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgYmdjb2xvcj0iI0ZGRkZGRiI+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkhpLCA8YnI+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2UgaGFkIGEgZmFpbHVy ZSBvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h c3RlciBiYXNpYyBzdWl0ZSBmb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMDA3X3NkX3JlYXR0YWNoLmRlYWN0aXZhdGVfc3RvPHdicj5yYWdlX2RvbWFp bi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIGZhaWx1 cmUgd2FzIHRoYXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB3ZSBmYWlsZWQgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkZWFjdGl2YXRlIGRvbWFpbiBkdWUKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0byBydW5uaW5nIHRhc2tzLiA8YnI+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+SXQgZG9lcyBub3Qgc2VlbSB0 bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIHJl bGF0ZWQgdG8gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcGF0Y2ggaXQgd2FzIHRlc3RpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBhbmQgSSB0aGluayB0aGF0IHRoZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3QgaXRzZWxmIG5lZWRzIHRvCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgbW9kaWZp ZWQgdG8gY2hlY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0aGVyZSBhcmUgbm8gcnVubmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRhc2tzLiA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPHA+SXMgdGhlcmUgcGVyaGFwcyBhCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2F5IHRvIHF1ZXJ5IGlmIHRoZXJlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJlIHJ1bm5p bmcgdGFza3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBiZWZvcmUgcnVubmluZyB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb21tYW5kPyBjYW4geW91CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcGxlYXNlIHRha2UgYSBsb29rIGF0CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHRlc3Qgb24gT1NUPyA8 YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGIgc3R5 bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIgaWQ9ImdtYWlsLW1fLTQyNjY0MTgxMDEzNjkzMDM4MjNn bWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5 Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRv Y3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgiPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj48L3A+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGRpcj0i bHRyIiBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9t OjBwdCI+PGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIgaWQ9ImdtYWlsLW1fLTQyNjY0MTgx MDEzNjkzMDM4MjNnbWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBtXzg5NDIyMzYzNTE0NTY1NjM0 NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUz NDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0zMDczLTU0MTQtMThiNy0yZDMx OTkxODg5ZTgiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250LWZhbWlseTpBcmlhbDtj b2xvcjpyZ2IoMCwwLDApO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6 NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC1kZWNvcmF0aW9u Om5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPkxpbmsg YW5kIGhlYWRsaW5lIG9mIHN1c3BlY3RlZCBwYXRjaGVzOjwvc3Bhbj48YiBzdHlsZT0iZm9udC13 ZWlnaHQ6bm9ybWFsIiBpZD0iZ21haWwtbV8tNDI2NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3 NDA1NjI1NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2 NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5h bC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+PGI+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90IHJlbGF0 ZWQgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBlcnJvcjwvYj48L2I+PC9iPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbCIgaWQ9ImdtYWls LW1fLTQyNjY0MTgxMDEzNjkzMDM4MjNnbWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBtXzg5NDIy MzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4 bV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0zMDczLTU0 MTQtMThiNy0yZDMxOTkxODg5ZTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8L2I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDxwPjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiIGlkPSJnbWFpbC1tXy00 MjY2NDE4MTAxMzY5MzAzODIzZ21haWwtbV8tNDc0MDU2MjU0OTA3NDgyNDgwbV84OTQyMjM2MzUx NDU2NTYzNDczbV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUz Mjk4NzY1MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4 YjctMmQzMTk5MTg4OWU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8L2I+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8cCBkaXI9Imx0ciIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRv cDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiIGlk PSJnbWFpbC1tXy00MjY2NDE4MTAxMzY5MzAzODIzZ21haWwtbV8tNDc0MDU2MjU0OTA3NDgyNDgw bV84OTQyMjM2MzUxNDU2NTYzNDczbV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4Mzcz NDQ1NDMwOG1fLTUzMjk4NzY1MzQxODg2NjU5NTZkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEt MzA3My01NDE0LTE4YjctMmQzMTk5MTg4OWU4Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7 Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6cmdiKDAsMCwwKTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9y bWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNw YWNlOnByZS13cmFwIj5MaW5rIHRvIEpvYjogPGEgY2xhc3M9ImdtYWlsLW1fLTQyNjY0MTgxMDEz NjkzMDM4MjNnbWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBtXzg5NDIyMzYzNTE0NTY1NjM0NzNt Xy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4 ODY2NTk1Nm1vei10eHQtbGluay1mcmVldGV4dCIgaHJlZj0iaHR0cDovL2plbmtpbnMub3ZpcnQu b3JnL2pvYi9vdmlydC1tYXN0ZXJfY2hhbmdlLXF1ZXVlLXRlc3Rlci80MzE5LyIgdGFyZ2V0PSJf YmxhbmsiPmh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivbzx3YnI+dmlydC1tYXN0ZXJfY2hh bmdlLXF1ZXVlLXRlc3RlPHdicj5yLzQzMTkvPC9hPjwvc3Bhbj48L2I+PC9wPgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YiBzdHlsZT0iZm9udC13ZWln aHQ6bm9ybWFsIiBpZD0iZ21haWwtbV8tNDI2NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1 NjI1NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2Nzht XzMzMzM2MzEzODM3MzQ0NTQzMDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1n dWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj48YiBzdHlsZT0iZm9udC13ZWln aHQ6bm9ybWFsIiBpZD0iZ21haWwtbV8tNDI2NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1 NjI1NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2Nzht XzMzMzM2MzEzODM3MzQ0NTQzMDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1n dWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+PGJyPgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGRpcj0ibHRyIiBzdHls ZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNw YW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOnJnYigwLDAs MCk7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHls ZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNh bC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+TGluayB0byBhbGwgbG9nczog PGEgY2xhc3M9ImdtYWlsLW1fLTQyNjY0MTgxMDEzNjkzMDM4MjNnbWFpbC1tXy00NzQwNTYyNTQ5 MDc0ODI0ODBtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMz NjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1Nm1vei10eHQtbGluay1mcmVldGV4 dCIgaHJlZj0iaHR0cDovL2plbmtpbnMub3ZpcnQub3JnL2pvYi9vdmlydC1tYXN0ZXJfY2hhbmdl LXF1ZXVlLXRlc3Rlci80MzE5L2FydGlmYWN0LyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9qZW5r aW5zLm92aXJ0Lm9yZy9qb2Ivbzx3YnI+dmlydC1tYXN0ZXJfY2hhbmdlLXF1ZXVlLXRlc3RlPHdi cj5yLzQzMTkvYXJ0aWZhY3QvPC9hPjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGRpcj0ibHRyIiBzdHlsZT0ibGluZS1oZWlnaHQ6 MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOnJnYigwLDAsMCk7YmFja2dyb3VuZC1j b2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12 YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGlu ZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+KFJlbGV2YW50KSBlcnJvciBzbmlwcGV0IGZyb20gdGhl IGxvZzogPC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8cCBkaXI9Imx0ciIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRv cDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250 LWZhbWlseTpBcmlhbDtjb2xvcjpyZ2IoMCwwLDApO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJl bnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7 dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6 cHJlLXdyYXAiPiZsdDtlcnJvciZndDs8L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGRpcj0ibHRyIiBzdHlsZT0ibGluZS1oZWln aHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImZv bnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOnJnYigwLDAsMCk7YmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9u dC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNl bGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+Cjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiIHN0eWxlPSJsaW5l LWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHls ZT0iZm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6cmdiKDAsMCwwKTtiYWNr Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1h bDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWdu OmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj48Yj4yMDE3LTEyLTA2IDIwOjEzOjIzLDE2 Ni0wNSBXQVJOICBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5zdG88d2JyPnJhZ2UuZG9tYWlu LkRlYWN0aXZhdGVTdG9yYWdlRDx3YnI+b21haW5XaXRoT3ZmVXBkYXRlQ29tbWFuZF0gKGRlZmF1 bHQgdGFzay03KSBbZDgyODgwZTgtMWQ0MC00YTNiLWExYmEtMzM2MmY8d2JyPjJmMTMwYTBdIFZh bGlkYXRpb24gb2YgYWN0aW9uICYjMzk7RGVhY3RpdmF0ZVN0b3JhZ2VEb21haW5XaXRoT3Y8d2Jy PmZVcGRhdGUmIzM5OyBmYQppbGVkIGZvciB1c2VyIGFkbWluQGludGVybmFsLWF1dGh6LiBSZWFz b25zOiBWQVJfX1RZUEVfX1NUT1JBR0VfX0RPTUFJTixWQVI8d2JyPl9fQUNUSU9OX19ERUFDVElW QVRFLEVSUk9SX0NBTjx3YnI+Tk9UX0RFQUNUSVZBVEVfRE9NQUlOX1dJVEhfVEFTPHdicj5LUwoy MDE3LTEyLTA2IDIwOjEzOjIzLDE2Ny0wNSBJTkZPICBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJs bC5zdG88d2JyPnJhZ2UuZG9tYWluLkRlYWN0aXZhdGVTdG9yYWdlRDx3YnI+b21haW5XaXRoT3Zm VXBkYXRlQ29tbWFuZF0gKGRlZmF1bHQgdGFzay03KSBbZDgyODgwZTgtMWQ0MC00YTNiLWExYmEt MzM2MmY8d2JyPjJmMTMwYTBdIExvY2sgZnJlZWQgdG8gb2JqZWN0ICYjMzk7RW5naW5lTG9jazp7 ZXhjbHVzaXZlTG9ja3M9JiMzOTtbPHdicj5lYTJmZDk5Mi04YQphNC00NGZlLWFhNDMtZTk2NzU0 YTk3NWJhPVNUT1I8d2JyPkFHRV0mIzM5Oywgc2hhcmVkTG9ja3M9JiMzOTtbNWUwYTAxODMtMGUy NS00Zjx3YnI+NDMtYjViMC0wY2ZiNTUxMDI0OGU9UE9PTF0mIzM5O30mIzM5OwoyMDE3LTEyLTA2 IDIwOjEzOjIzLDE3Mi0wNSBERUJVRyBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmNvbW1vbi48d2Jy PmRpLmludGVyY2VwdG9yLkRlYnVnTG9nZ2luZ0ludDx3YnI+ZXJjZXB0b3JdIChkZWZhdWx0IHRh c2stNykgW2Q4Mjg4MGU4LTFkNDAtNGEzYi1hMWJhLTMzNjJmPHdicj4yZjEzMGEwXSBtZXRob2Q6 IHJ1bkFjdGlvbiwgcGFyYW1zOiBbRGVhY3RpdmF0ZVN0b3JhZ2VEb21haW5XaXRoT3Y8d2JyPmZV cGRhdGUsIERlYWN0aXZhdGVTdG8KcmFnZURvbWFpbldpdGhPdmZVcGRhdGVQYXJhbWV0PHdicj5l cnM6e2NvbW1hbmRJZD0mIzM5OzYzMGMyOGUxLTQxYWItPHdicj40M2RiLTk3NTUtYTJiYjg3MGRi Y2IzJiMzOTssIHVzZXI9JiMzOTtudWxsJiMzOTssIGNvbW1hbmRUeXBlPSYjMzk7VW5rbm93biYj Mzk7fV0sIHRpbWVFbGFwc2VkOiA2NW1zCjIwMTctMTItMDYgMjA6MTM6MjMsMTc2LTA1IEVSUk9S IFtvcmcub3ZpcnQuZW5naW5lLmFwaS5yZXN0YXBpLjx3YnI+cmVzb3VyY2UuQWJzdHJhY3RCYWNr ZW5kUmVzb3VyPHdicj5jZV0gKGRlZmF1bHQgdGFzay03KSBbXSBPcGVyYXRpb24gRmFpbGVkOiBb Q2Fubm90IGRlYWN0aXZhdGUgU3RvcmFnZSB3aGlsZSB0aGVyZSBhcmUgcnVubmluZyB0YXNrcyBv biB0aGlzIFN0b3JhZ2UuCi1QbGVhc2Ugd2FpdCB1bnRpbCB0YXNrcyB3aWxsIGZpbmlzaCBhbmQg dHJ5IGFnYWluLl0KPC9iPgo8L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDxwIGRpcj0ibHRyIiBzdHlsZT0ibGluZS1oZWlnaHQ6MS4z ODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOnJnYigwLDAsMCk7YmFja2dyb3VuZC1jb2xv cjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJp YW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3 aGl0ZS1zcGFjZTpwcmUtd3JhcCI+Cjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj4mbHQ7ZXJyb3ImZ3Q7PGJyIGNsYXNzPSJnbWFp bC1tXy00MjY2NDE4MTAxMzY5MzAzODIzZ21haWwtbV8tNDc0MDU2MjU0OTA3NDgyNDgwbV84OTQy MjM2MzUxNDU2NTYzNDczbV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMw OG1fLTUzMjk4NzY1MzQxODg2NjU5NTZBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGJyPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxicj4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YnI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPGJyPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX188 d2JyPl9fX19fX19fX19fX19fX19fPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRGV2ZWwgbWFpbGluZyBsaXN0PGJyPgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOkRldmVsQG92aXJ0Lm9y ZyIgdGFyZ2V0PSJfYmxhbmsiPkRldmVsQG92aXJ0Lm9yZzwvYT48YnI+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vbGlzdHMub3Zp cnQub3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWwiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJf YmxhbmsiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbjx3YnI+L2xpc3RpbmZvL2RldmVs PC9hPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Js b2NrcXVvdGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2 PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHA+PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fPHdicj5fX19fX19fX19fX19fX19fXzxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBEZXZlbCBtYWlsaW5nIGxpc3Q8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPGEgaHJlZj0ibWFpbHRvOkRldmVsQG92aXJ0Lm9yZyIgdGFyZ2V0PSJfYmxhbmsiPkRldmVs QG92aXJ0Lm9yZzwvYT48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJl Zj0iaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RldmVsIiByZWw9Im5v cmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW48 d2JyPi9saXN0aW5mby9kZXZlbDwvYT48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDwvYmxvY2txdW90ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2 PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAg PGJyPgogICAgICAgICAgICAgICAgICAgICAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X188d2JyPl9fX19fX19fX19fX19fX19fPGJyPgogICAgICAgICAgICAgICAgICAgICAgICBEZXZl bCBtYWlsaW5nIGxpc3Q8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0 bzpEZXZlbEBvdmlydC5vcmciIHRhcmdldD0iX2JsYW5rIj5EZXZlbEBvdmlydC5vcmc8L2E+PGJy PgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vbGlzdHMub3ZpcnQub3Jn L21haWxtYW4vbGlzdGluZm8vZGV2ZWwiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsi Pmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbjx3YnI+L2xpc3RpbmZvL2RldmVsPC9hPjxi cj4KICAgICAgICAgICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICAgICAgICAgICAg ICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAgICAgPGJy IGNsZWFyPSJhbGwiPgogICAgICAgICAgICAgICAgICAgIDxkaXY+PGJyPgogICAgICAgICAgICAg ICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwv ZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdtYWlsLW1fLTQyNjY0MTgxMDEzNjkz MDM4MjNnbWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBIT0VuWmIiPjxmb250IGNvbG9yPSIjODg4 ODg4Ij4tLSA8YnI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWwtbV8tNDI2 NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1 NjU2MzQ3M2dtYWlsX3NpZ25hdHVyZSI+CiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRpcj0i bHRyIj5SZWdhcmRzLAogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PkV5YWwgU2hlbml0emt5 PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8 L2Rpdj4KICAgICAgICAgICAgICAgICAgPC9mb250Pjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAg PC9ibG9ja3F1b3RlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8YnI+CiAgICAgICAgPC9k aXY+CiAgICAgIDwvZGl2PgogICAgPC9ibG9ja3F1b3RlPgogICAgPHA+PGJyPgogICAgPC9wPgog IDwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjwvZGl2Pjxicj48 L2Rpdj48L2Rpdj4KPC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj48L2Rpdj4K --===============1598023895169982370==-- From mlipchuk at redhat.com Sun Dec 10 10:38:27 2017 Content-Type: multipart/mixed; boundary="===============4075182648553851083==" MIME-Version: 1.0 From: Maor Lipchuk To: devel at ovirt.org Subject: Re: [ovirt-devel] [ OST Failure Report ] [ oVirtMaster ] [ 07-11-2017 ] [007_sd_reattach.deactivate_storage_domain ] Date: Sun, 10 Dec 2017 12:38:25 +0200 Message-ID: In-Reply-To: CAJgorsbOuv882oyrZ=Xy-W5O6JE7v+TnGfEF-rHTbpsioMZ68A@mail.gmail.com --===============4075182648553851083== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Fri, Dec 8, 2017 at 11:20 PM, Yaniv Kaul wrote: > > > On Fri, Dec 8, 2017 at 10:39 PM, Yaniv Kaul wrote: > >> >> >> On Fri, Dec 8, 2017 at 9:31 PM, Dafna Ron wrote: >> >>> I opened a bug: https://bugzilla.redhat.com/show_bug.cgi?id=3D1523813 >>> >> >> I'm optimistically hoping https://gerrit.ovirt.org/#/c/85195/ will fix >> it. >> Not sure. >> > > Keeps failing with: > Operation Failed: [Cannot deactivate Storage. The relevant Storage > Domain's status is Maintenance.] > > Which is strange: > 1. I do check if the SD is in Maint. mode before trying to deactive and > the test is supposed to be skipped if it is. > I've added a comment in the patch, I suspect it is related to the fact that we fetch the domain from storage_domains and not attached_storage_domains > 2. Why can't I deactive a SD when in Maint. mode? > I assume that the engine fails since that means that the storage domain is not connected to the Host and the execute phase of maintenance performs operations like update ovf store which depend on the storage domain to be connected. > > Probably missing something here. > Y. > > Y. >> >> >>> >>> Allon, can you please assign someone to help fix this test? >>> Please let me know if you need help from me. >>> >>> Thanks! >>> Dafna >>> >>> Thanks Dafna, besides the fix which should be done in the OST, here is an old old bug which might also become useful: https://bugzilla.redhat.com/879248 > >>> >>> On 12/07/2017 11:59 AM, Yaniv Kaul wrote: >>> >>> >>> >>> On Thu, Dec 7, 2017 at 1:30 PM, Eyal Shenitzky >>> wrote: >>> >>>> I think that the maybe the QE can share their methods on how to avoid >>>> those issues. >>>> From what I remember, before deactivating storage domain they make sure >>>> that there are no running tasks related to >>>> the storage domain. >>>> >>> >>> Looks like an easy fix is to wrap it with try, except sdk4.Error and let >>> it sit within the testlib.assert_true_within_short() loop. >>> Y. >>> >>> >>>> >>>> On Thu, Dec 7, 2017 at 1:22 PM, Yaniv Kaul wrote: >>>> >>>>> >>>>> >>>>> On Thu, Dec 7, 2017 at 1:12 PM, Dafna Ron wrote: >>>>> >>>>>> Maor, I either need to get new glasses or a magnifier glass to read >>>>>> what you wrote :-P >>>>>> when you say running tasks - these are actually running tasks that >>>>>> may be running because of other tests in ost - correct? wouldn't kil= ling or >>>>>> blocking those can cause other tests to fail? >>>>>> >>>>> >>>>> It might well be the OVF update. How can we, from the API, wait for >>>>> those tasks to complete? Or should we catch exception and retry? >>>>> Y. >>>>> >>>>> >>>>>> >>>>>> On 12/07/2017 11:06 AM, Maor Lipchuk wrote: >>>>>> >>>>>> CANNOT_DEACTIVATE_DOMAIN_WITH_TASKS is a known issue, the problem is >>>>>> that we might have tasks which will start running internally using >>>>>> scheduling (like OVF_UPDATE) and we can't really know how much time = every >>>>>> task will take until it will end. >>>>>> >>>>>> Even if we check that there are no running tasks it will not >>>>>> guarantee that no task will start until you deactivate the storage >>>>>> domain. >>>>>> >>>>>> I think that the best solution for it is an engine support to cancel >>>>>> running tasks or block tasks from running. >>>>>> >>>>>> On Thu, Dec 7, 2017 at 12:14 PM, Dafna Ron wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> We had a failure on master basic suite for test >>>>>>> 007_sd_reattach.deactivate_storage_domain. >>>>>>> >>>>>>> The failure was that we failed to deactivate domain due to running >>>>>>> tasks. >>>>>>> >>>>>>> It does not seem to be related to the patch it was testing and I >>>>>>> think that the test itself needs to be modified to check there are = no >>>>>>> running tasks. >>>>>>> >>>>>>> Is there perhaps a way to query if there are running tasks before >>>>>>> running the command? can you please take a look at the test on OST? >>>>>>> >>>>>>> *Link and headline of suspected patches: Not related to error* >>>>>>> >>>>>>> *Link to Job: >>>>>>> http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/ >>>>>>> * >>>>>>> >>>>>>> >>>>>>> * Link to all logs: >>>>>>> http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4319/= artifact/ >>>>>>> >>>>>>> (Relevant) error snippet from the log: 2017-12-06 20:13:23,= 166-05 >>>>>>> WARN >>>>>>> [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWi= thOvfUpdateCommand] >>>>>>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Validation = of >>>>>>> action 'DeactivateStorageDomainWithOvfUpdate' fa iled for user >>>>>>> admin(a)internal-authz. Reasons: >>>>>>> VAR__TYPE__STORAGE__DOMAIN,VAR__ACTION__DEACTIVATE,ERROR_CANNOT_DEA= CTIVATE_DOMAIN_WITH_TASKS >>>>>>> 2017-12-06 20:13:23,167-05 INFO >>>>>>> [org.ovirt.engine.core.bll.storage.domain.DeactivateStorageDomainWi= thOvfUpdateCommand] >>>>>>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] Lock freed = to >>>>>>> object 'EngineLock:{exclusiveLocks=3D'[ea2fd992-8a >>>>>>> a4-44fe-aa43-e96754a975ba=3DSTORAGE]', >>>>>>> sharedLocks=3D'[5e0a0183-0e25-4f43-b5b0-0cfb5510248e=3DPOOL]'}' 201= 7-12-06 >>>>>>> 20:13:23,172-05 DEBUG >>>>>>> [org.ovirt.engine.core.common.di.interceptor.DebugLoggingIntercepto= r] >>>>>>> (default task-7) [d82880e8-1d40-4a3b-a1ba-3362f2f130a0] method: run= Action, >>>>>>> params: [DeactivateStorageDomainWithOvfUpdate, DeactivateSto >>>>>>> rageDomainWithOvfUpdateParameters:{commandId=3D'630c28e1-41ab-43db-= 9755-a2bb870dbcb3', >>>>>>> user=3D'null', commandType=3D'Unknown'}], timeElapsed: 65ms 2017-12= -06 >>>>>>> 20:13:23,176-05 ERROR >>>>>>> [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (de= fault >>>>>>> task-7) [] Operation Failed: [Cannot deactivate Storage while there= are >>>>>>> running tasks on this Storage. -Please wait until tasks will finish= and try >>>>>>> again.] * >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Devel mailing list >>>>>>> Devel(a)ovirt.org >>>>>>> http://lists.ovirt.org/mailman/listinfo/devel >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Devel mailing list >>>>>> Devel(a)ovirt.org >>>>>> http://lists.ovirt.org/mailman/listinfo/devel >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Devel mailing list >>>>> Devel(a)ovirt.org >>>>> http://lists.ovirt.org/mailman/listinfo/devel >>>>> >>>> >>>> >>>> >>>> -- >>>> Regards, >>>> Eyal Shenitzky >>>> >>> >>> >>> >> > --===============4075182648553851083== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGRpdiBjbGFz cz0iZ21haWxfcXVvdGUiPk9uIEZyaSwgRGVjIDgsIDIwMTcgYXQgMTE6MjAgUE0sIFlhbml2IEth dWwgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86eWthdWxAcmVkaGF0LmNvbSIg dGFyZ2V0PSJfYmxhbmsiPnlrYXVsQHJlZGhhdC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJy PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBw eCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxl ZnQ6MWV4Ij48ZGl2IGRpcj0ibHRyIj48YnI+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxicj48 ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+PHNwYW4+T24gRnJpLCBEZWMgOCwgMjAxNyBhdCAxMDoz OSBQTSwgWWFuaXYgS2F1bCA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzp5a2F1 bEByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+eWthdWxAcmVkaGF0LmNvbTwvYT4mZ3Q7PC9z cGFuPiB3cm90ZTo8YnI+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFy Z2luOjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0LDIwNCwy MDQpO3BhZGRpbmctbGVmdDoxZXgiPjxkaXYgZGlyPSJsdHIiPjxicj48ZGl2IGNsYXNzPSJnbWFp bF9leHRyYSI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48c3BhbiBjbGFzcz0iZ21haWwt bV8zMTY0MzIyNjE5MTQzMjk2NDExbV84MjY4NDMzNzQ4Nzk2OTc3NDQ3Z21haWwtIj5PbiBGcmks IERlYyA4LCAyMDE3IGF0IDk6MzEgUE0sIERhZm5hIFJvbiA8c3BhbiBkaXI9Imx0ciI+Jmx0Ozxh IGhyZWY9Im1haWx0bzpkcm9uQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5kcm9uQHJlZGhh dC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9x dW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhleDtib3JkZXItbGVmdDoxcHggc29s aWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAKICAgIAogIAogIDxkaXYg Ymdjb2xvcj0iI0ZGRkZGRiI+CiAgICA8ZGl2IGNsYXNzPSJnbWFpbC1tXzMxNjQzMjI2MTkxNDMy OTY0MTFtXzgyNjg0MzM3NDg3OTY5Nzc0NDdnbWFpbC1tXy00MjY2NDE4MTAxMzY5MzAzODIzZ21h aWwtbV8tNDc0MDU2MjU0OTA3NDgyNDgwbW96LWNpdGUtcHJlZml4Ij5JIG9wZW5lZCBhIGJ1ZzoK ICAgICAgPGEgY2xhc3M9ImdtYWlsLW1fMzE2NDMyMjYxOTE0MzI5NjQxMW1fODI2ODQzMzc0ODc5 Njk3NzQ0N2dtYWlsLW1fLTQyNjY0MTgxMDEzNjkzMDM4MjNnbWFpbC1tXy00NzQwNTYyNTQ5MDc0 ODI0ODBtb3otdHh0LWxpbmstZnJlZXRleHQiIGhyZWY9Imh0dHBzOi8vYnVnemlsbGEucmVkaGF0 LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTUyMzgxMyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vYnVn emlsbGEucmVkaGF0LmNvbS9zaDx3YnI+b3dfYnVnLmNnaT9pZD0xNTIzODEzPC9hPjwvZGl2Pjwv ZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rpdj48L3NwYW4+PGRpdj5JJiMzOTttIG9wdGlt aXN0aWNhbGx5IGhvcGluZ8KgPGEgaHJlZj0iaHR0cHM6Ly9nZXJyaXQub3ZpcnQub3JnLyMvYy84 NTE5NS8iIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dlcnJpdC5vdmlydC5vcjx3YnI+Zy8jL2Mv ODUxOTUvPC9hPiB3aWxsIGZpeCBpdC48L2Rpdj48ZGl2Pk5vdCBzdXJlLjwvZGl2PjwvZGl2Pjwv ZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rpdj48L3NwYW4+PGRpdj5LZWVwcyBm YWlsaW5nIHdpdGg6PC9kaXY+PGRpdj5PcGVyYXRpb24gRmFpbGVkOiBbQ2Fubm90IGRlYWN0aXZh dGUgU3RvcmFnZS4gVGhlIHJlbGV2YW50IFN0b3JhZ2UgRG9tYWluJiMzOTtzIHN0YXR1cyBpcyBN YWludGVuYW5jZS5dwqA8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PldoaWNoIGlzIHN0cmFuZ2U6 PC9kaXY+PGRpdj4xLiBJIGRvIGNoZWNrIGlmIHRoZSBTRCBpcyBpbiBNYWludC4gbW9kZSBiZWZv cmUgdHJ5aW5nIHRvIGRlYWN0aXZlIGFuZCB0aGUgdGVzdCBpcyBzdXBwb3NlZCB0byBiZSBza2lw cGVkIGlmIGl0IGlzLjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxi cj48L2Rpdj48ZGl2PkkmIzM5O3ZlIGFkZGVkIGEgY29tbWVudCBpbiB0aGUgcGF0Y2gsPC9kaXY+ PGRpdj5JIHN1c3BlY3QgaXQgaXMgcmVsYXRlZCB0byB0aGUgZmFjdCB0aGF0IHdlIGZldGNoIHRo ZSBkb21haW4gZnJvbSBzdG9yYWdlX2RvbWFpbnMgYW5kIG5vdCBhdHRhY2hlZF9zdG9yYWdlX2Rv bWFpbnM8L2Rpdj48ZGl2PsKgPC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBz dHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2Io MjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiPjxkaXYgZGlyPSJsdHIiPjxkaXYgY2xhc3M9 ImdtYWlsX2V4dHJhIj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+PGRpdj4yLiBXaHkgY2FuJiMz OTt0IEkgZGVhY3RpdmUgYSBTRCB3aGVuIGluIE1haW50LiBtb2RlPzwvZGl2PjwvZGl2PjwvZGl2 PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rpdj48ZGl2PkkgYXNzdW1lIHRoYXQgdGhl IGVuZ2luZSBmYWlscyBzaW5jZSB0aGF0IG1lYW5zIHRoYXQgdGhlIHN0b3JhZ2UgZG9tYWluIGlz IG5vdCBjb25uZWN0ZWQgdG8gdGhlIEhvc3QgYW5kIHRoZSBleGVjdXRlIHBoYXNlIG9mIG1haW50 ZW5hbmNlIHBlcmZvcm1zIG9wZXJhdGlvbnMgbGlrZSB1cGRhdGUgb3ZmIHN0b3JlIHdoaWNoIGRl cGVuZCBvbiB0aGUgc3RvcmFnZSBkb21haW4gdG8gYmUgY29ubmVjdGVkLjwvZGl2PjxkaXY+wqA8 L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4IDBw eCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGlu Zy1sZWZ0OjFleCI+PGRpdiBkaXI9Imx0ciI+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxkaXYg Y2xhc3M9ImdtYWlsX3F1b3RlIj48ZGl2Pjxicj48L2Rpdj48ZGl2PlByb2JhYmx5IG1pc3Npbmcg c29tZXRoaW5nIGhlcmUuPC9kaXY+PHNwYW4gY2xhc3M9ImdtYWlsLW1fMzE2NDMyMjYxOTE0MzI5 NjQxMUhPRW5aYiI+PGZvbnQgY29sb3I9IiM4ODg4ODgiPjxkaXY+WS48L2Rpdj48L2ZvbnQ+PC9z cGFuPjxkaXY+PGRpdiBjbGFzcz0iZ21haWwtbV8zMTY0MzIyNjE5MTQzMjk2NDExaDUiPjxkaXY+ PGJyPjwvZGl2PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjow cHggMHB4IDBweCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtw YWRkaW5nLWxlZnQ6MWV4Ij48ZGl2IGRpcj0ibHRyIj48ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+ PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPjxzcGFuIGNsYXNzPSJnbWFpbC1tXzMxNjQzMjI2MTkx NDMyOTY0MTFtXzgyNjg0MzM3NDg3OTY5Nzc0NDdnbWFpbC1IT0VuWmIiPjxmb250IGNvbG9yPSIj ODg4ODg4Ij48ZGl2PlkuPC9kaXY+PC9mb250Pjwvc3Bhbj48ZGl2PjxkaXYgY2xhc3M9ImdtYWls LW1fMzE2NDMyMjYxOTE0MzI5NjQxMW1fODI2ODQzMzc0ODc5Njk3NzQ0N2dtYWlsLWg1Ij48ZGl2 PsKgPC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBw eCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQpO3Bh ZGRpbmctbGVmdDoxZXgiPjxkaXYgYmdjb2xvcj0iI0ZGRkZGRiI+PGRpdiBjbGFzcz0iZ21haWwt bV8zMTY0MzIyNjE5MTQzMjk2NDExbV84MjY4NDMzNzQ4Nzk2OTc3NDQ3Z21haWwtbV8tNDI2NjQx ODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MG1vei1jaXRlLXByZWZpeCI+ PGJyPgogICAgICBBbGxvbiwgY2FuIHlvdSBwbGVhc2UgYXNzaWduIHNvbWVvbmUgdG8gaGVscCBm aXggdGhpcyB0ZXN0PyA8YnI+CiAgICAgIFBsZWFzZSBsZXQgbWUga25vdyBpZiB5b3UgbmVlZCBo ZWxwIGZyb20gbWUuIDxicj4KICAgICAgPGJyPgogICAgICBUaGFua3MhPHNwYW4gY2xhc3M9Imdt YWlsLW1fMzE2NDMyMjYxOTE0MzI5NjQxMW1fODI2ODQzMzc0ODc5Njk3NzQ0N2dtYWlsLW1fLTQy NjY0MTgxMDEzNjkzMDM4MjNnbWFpbC1IT0VuWmIiPjxmb250IGNvbG9yPSIjODg4ODg4Ij48YnI+ CiAgICAgIERhZm5hPC9mb250Pjwvc3Bhbj48ZGl2PjxkaXYgY2xhc3M9ImdtYWlsLW1fMzE2NDMy MjYxOTE0MzI5NjQxMW1fODI2ODQzMzc0ODc5Njk3NzQ0N2dtYWlsLW1fLTQyNjY0MTgxMDEzNjkz MDM4MjNnbWFpbC1oNSI+PGJyPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48 L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+PC9k aXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhhbmtzIERh Zm5hLCBiZXNpZGVzIHRoZSBmaXggd2hpY2ggc2hvdWxkIGJlIGRvbmUgaW4gdGhlIE9TVCwgaGVy ZSBpcyBhbiBvbGQgb2xkIGJ1ZyB3aGljaCBtaWdodCBhbHNvIGJlY29tZSB1c2VmdWw6PC9kaXY+ PGRpdj7CoCDCoCDCoDxhIGhyZWY9Imh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1 Zy5jZ2k/aWQ9ODc5MjQ4IiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9z cGFjZSxtb25vc3BhY2UiPmh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS84NzkyNDg8L2E+PGJy PjwvZGl2PjxkaXY+wqA8L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxl PSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQs MjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+PGRpdiBkaXI9Imx0ciI+PGRpdiBjbGFzcz0iZ21h aWxfZXh0cmEiPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48ZGl2PjxkaXYgY2xhc3M9ImdtYWls LW1fMzE2NDMyMjYxOTE0MzI5NjQxMWg1Ij48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUi IHN0eWxlPSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJn YigyMDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+PGRpdiBkaXI9Imx0ciI+PGRpdiBjbGFz cz0iZ21haWxfZXh0cmEiPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48ZGl2PjxkaXYgY2xhc3M9 ImdtYWlsLW1fMzE2NDMyMjYxOTE0MzI5NjQxMW1fODI2ODQzMzc0ODc5Njk3NzQ0N2dtYWlsLWg1 Ij48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4IDBweCAw cHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZy1s ZWZ0OjFleCI+PGRpdiBiZ2NvbG9yPSIjRkZGRkZGIj48ZGl2IGNsYXNzPSJnbWFpbC1tXzMxNjQz MjI2MTkxNDMyOTY0MTFtXzgyNjg0MzM3NDg3OTY5Nzc0NDdnbWFpbC1tXy00MjY2NDE4MTAxMzY5 MzAzODIzZ21haWwtbV8tNDc0MDU2MjU0OTA3NDgyNDgwbW96LWNpdGUtcHJlZml4Ij48ZGl2Pjxk aXYgY2xhc3M9ImdtYWlsLW1fMzE2NDMyMjYxOTE0MzI5NjQxMW1fODI2ODQzMzc0ODc5Njk3NzQ0 N2dtYWlsLW1fLTQyNjY0MTgxMDEzNjkzMDM4MjNnbWFpbC1oNSI+CiAgICAgIDxicj4KICAgICAg PGJyPgogICAgICBPbiAxMi8wNy8yMDE3IDExOjU5IEFNLCBZYW5pdiBLYXVsIHdyb3RlOjxicj4K ICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxkaXY+PGRpdiBjbGFzcz0iZ21haWwtbV8zMTY0MzIyNjE5 MTQzMjk2NDExbV84MjY4NDMzNzQ4Nzk2OTc3NDQ3Z21haWwtbV8tNDI2NjQxODEwMTM2OTMwMzgy M2dtYWlsLWg1Ij4KICAgIDxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPgogICAgICA8ZGl2IGRpcj0i bHRyIj48YnI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxicj4KICAgICAgICAg IDxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBUaHUsIERlYyA3LCAyMDE3IGF0IDE6MzAgUE0s IEV5YWwKICAgICAgICAgICAgU2hlbml0emt5IDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0i bWFpbHRvOmVzaGVuaXR6QHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5lc2hlbml0ekByZWRo YXQuY29tPC9hPiZndDs8L3NwYW4+CiAgICAgICAgICAgIHdyb3RlOjxicj4KICAgICAgICAgICAg PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4 IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVm dDoxZXgiPgogICAgICAgICAgICAgIDxkaXYgZGlyPSJsdHIiPkkgdGhpbmsgdGhhdCB0aGUgbWF5 YmUgdGhlIFFFIGNhbiBzaGFyZQogICAgICAgICAgICAgICAgdGhlaXIgbWV0aG9kcyBvbiBob3cg dG8gYXZvaWQgdGhvc2UgaXNzdWVzLsKgCiAgICAgICAgICAgICAgICA8ZGl2PkZyb20gd2hhdCBJ IHJlbWVtYmVyLCBiZWZvcmUgZGVhY3RpdmF0aW5nIHN0b3JhZ2UKICAgICAgICAgICAgICAgICAg ZG9tYWluIHRoZXkgbWFrZSBzdXJlIHRoYXQgdGhlcmUgYXJlIG5vIHJ1bm5pbmcgdGFza3MKICAg ICAgICAgICAgICAgICAgcmVsYXRlZCB0bzwvZGl2PgogICAgICAgICAgICAgICAgPGRpdj50aGUg c3RvcmFnZSBkb21haW4uPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwv YmxvY2txdW90ZT4KICAgICAgICAgICAgPGRpdj48YnI+CiAgICAgICAgICAgIDwvZGl2PgogICAg ICAgICAgICA8ZGl2Pkxvb2tzIGxpa2UgYW4gZWFzeSBmaXggaXMgdG8gd3JhcCBpdCB3aXRoIHRy eSwgZXhjZXB0CiAgICAgICAgICAgICAgc2RrNC5FcnJvciBhbmQgbGV0IGl0IHNpdCB3aXRoaW4g dGhlCiAgICAgICAgICAgICAgdGVzdGxpYi5hc3NlcnRfdHJ1ZV93aXRoaW5fc2hvPHdicj5ydCgp IGxvb3AuPC9kaXY+CiAgICAgICAgICAgIDxkaXY+WS48L2Rpdj4KICAgICAgICAgICAgPGRpdj7C oDwvZGl2PgogICAgICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxl PSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQs MjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21h aWxfZXh0cmEiPgogICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBj bGFzcz0iZ21haWwtbV8zMTY0MzIyNjE5MTQzMjk2NDExbV84MjY4NDMzNzQ4Nzk2OTc3NDQ3Z21h aWwtbV8tNDI2NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MGg1Ij48 YnI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIFRodSwg RGVjIDcsIDIwMTcgYXQgMToyMgogICAgICAgICAgICAgICAgICAgICAgUE0sIFlhbml2IEthdWwg PHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86eWthdWxAcmVkaGF0LmNvbSIgdGFy Z2V0PSJfYmxhbmsiPnlrYXVsQHJlZGhhdC5jb208L2E+Jmd0Ozwvc3Bhbj4KICAgICAgICAgICAg ICAgICAgICAgIHdyb3RlOjxicj4KICAgICAgICAgICAgICAgICAgICAgIDxibG9ja3F1b3RlIGNs YXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhleDtib3JkZXIt bGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAgICAg ICAgICAgICAgICAgICAgICAgPGRpdiBkaXI9Imx0ciI+PGJyPgogICAgICAgICAgICAgICAgICAg ICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gVGh1LCBEZWMgNywgMjAxNwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhdCAxOjEyIFBNLCBEYWZuYSBSb24gPHNwYW4gZGly PSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86ZHJvbkByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFu ayI+ZHJvbkByZWRoYXQuY29tPC9hPiZndDs8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHdyb3RlOjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJsb2NrcXVv dGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2Jv cmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgYmdjb2xvcj0iI0ZGRkZGRiI+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJnbWFpbC1tXzMxNjQz MjI2MTkxNDMyOTY0MTFtXzgyNjg0MzM3NDg3OTY5Nzc0NDdnbWFpbC1tXy00MjY2NDE4MTAxMzY5 MzAzODIzZ21haWwtbV8tNDc0MDU2MjU0OTA3NDgyNDgwbV84OTQyMjM2MzUxNDU2NTYzNDczbV8t NTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1vei1jaXRlLXByZWZpeCI+ TWFvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSSBlaXRoZXIgbmVlZCB0 byBnZXQgbmV3IGdsYXNzZXMgb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YSBtYWduaWZpZXIgZ2xhc3MgdG8gcmVhZCB3aGF0IHlvdQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB3cm90ZSA6LVA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHdoZW4geW91IHNheSBydW5uaW5nIHRhc2tzIC0gdGhlc2UKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYXJlIGFjdHVhbGx5IHJ1bm5pbmcgdGFza3MgdGhhdCBtYXkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgcnVubmluZyBiZWNhdXNlIG9m IG90aGVyIHRlc3RzIGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zdCAt IGNvcnJlY3Q/IHdvdWxkbiYjMzk7dCBraWxsaW5nIG9yCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJsb2NraW5nIHRob3NlIGNhbiBjYXVzZSBvdGhlciB0ZXN0cwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBmYWlsPyA8YnI+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+SXQgbWln aHQgd2VsbCBiZSB0aGUgT1ZGIHVwZGF0ZS4gSG93CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY2FuIHdlLCBmcm9tIHRoZSBBUEksIHdhaXQgZm9yIHRob3NlCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdGFza3MgdG8gY29tcGxldGU/IE9yIHNob3VsZCB3ZSBjYXRjaAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbiBhbmQgcmV0cnk/PC9kaXY+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+WS48L2Rpdj4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPGRpdj7CoDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4IDBw eCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGlu Zy1sZWZ0OjFleCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBiZ2NvbG9y PSIjRkZGRkZGIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9 ImdtYWlsLW1fMzE2NDMyMjYxOTE0MzI5NjQxMW1fODI2ODQzMzc0ODc5Njk3NzQ0N2dtYWlsLW1f LTQyNjY0MTgxMDEzNjkzMDM4MjNnbWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBtXzg5NDIyMzYz NTE0NTY1NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bW96 LWNpdGUtcHJlZml4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJnbWFpbC1t XzMxNjQzMjI2MTkxNDMyOTY0MTFtXzgyNjg0MzM3NDg3OTY5Nzc0NDdnbWFpbC1tXy00MjY2NDE4 MTAxMzY5MzAzODIzZ21haWwtbV8tNDc0MDU2MjU0OTA3NDgyNDgwbV84OTQyMjM2MzUxNDU2NTYz NDczbV8tNTAxNDY2OTY3NjkxNTEzNjY3OGg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9uIDEyLzA3LzIwMTcgMTE6MDYgQU0sIE1hb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIExpcGNodWsgd3JvdGU6PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWwtbV8zMTY0MzIyNjE5MTQzMjk2NDExbV84MjY4NDMz NzQ4Nzk2OTc3NDQ3Z21haWwtbV8tNDI2NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1NjI1 NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhoNSI+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgdHlwZT0i Y2l0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRpcj0i bHRyIj48c3BhbiBpZD0iZ21haWwtbV8zMTY0MzIyNjE5MTQzMjk2NDExbV84MjY4NDMzNzQ4Nzk2 OTc3NDQ3Z21haWwtbV8tNDI2NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4 MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEz ODM3MzQ0NTQzMDhnbWFpbC1tXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlk LTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFy Z2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnRyYW5zcGFyZW50O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lIj48c3BhbiBzdHlsZT0iY29s b3I6cmdiKDAsMCwwKTtmb250LWZhbWlseTptb25vc3BhY2U7d2hpdGUtc3BhY2U6cHJlLXdyYXAi PkNBTk5PVF9ERUFDVElWQVRFX0RPTUFJTl9XSVRIXzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6 cmdiKDAsMCwwKTtmb250LWZhbWlseTptb25vc3BhY2U7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPjx3 YnI+VEFTS1MgPC9zcGFuPjxmb250Pjxmb250IGNvbG9yPSIjMDAwMDAwIiBzaXplPSIxIiBmYWNl PSJBcmlhbCI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj5pcyBhIGtub3duIGlz c3VlLCB0aGUgcHJvYmxlbSBpcyB0aGF0IHdlIG1pZ2h0IGhhdmUgdGFza3Mgd2hpY2ggd2lsbCBz dGFydCBydW5uaW5nIGludGVybmFsbHkgdXNpbmcgc2NoZWR1bGluZyAobGlrZSBPVkZfVVBEQVRF KSBhbmQgd2UgY2FuJiMzOTt0IHJlYWxseSBrbm93IGhvdyBtdWNoIHRpbWUgZXZlcnkgdGFzayB3 aWxsIHRha2UgdW50aWwgaXQgd2lsbCBlbmQuPC9zcGFuPjwvZm9udD48L2ZvbnQ+PC9zcGFuPjwv cD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0i bGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4g c3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7dmVydGljYWwtYWxpZ246YmFzZWxp bmUiPjxmb250Pjxmb250IGNvbG9yPSIjMDAwMDAwIiBzaXplPSIxIiBmYWNlPSJBcmlhbCI+PHNw YW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj5FdmVuIGlmIHdlIGNoZWNrIHRoYXQgdGhl cmUgYXJlIG5vIHJ1bm5pbmcgdGFza3MgaXQgd2lsbCBub3QgPC9zcGFuPjwvZm9udD48Zm9udCBj b2xvcj0iIzAwMDAwMCI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj5ndWFyYW50 ZWU8L3NwYW4+PC9mb250Pjxmb250IGNvbG9yPSIjMDAwMDAwIj48Zm9udCBzaXplPSIxIiBmYWNl PSJBcmlhbCI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4gdGhhdCBubyB0YXNr IHdpbGwgc3RhcnQgdW50aWwgeW91IGRlYWN0aXZhdGUgdGhlIHN0b3JhZ2UgZG9tYWluLjwvc3Bh bj48L2ZvbnQ+PC9mb250PjwvZm9udD48L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10 b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp0 cmFuc3BhcmVudDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZSI+PGZvbnQ+PGZvbnQgY29sb3I9IiMw MDAwMDAiPjxmb250IHNpemU9IjEiIGZhY2U9IkFyaWFsIj48c3BhbiBzdHlsZT0id2hpdGUtc3Bh Y2U6cHJlLXdyYXAiPkkgdGhpbmsgdGhhdCB0aGUgYmVzdCBzb2x1dGlvbiBmb3IgaXQgaXMgYW4g ZW5naW5lIHN1cHBvcnQgdG8gY2FuY2VsIHJ1bm5pbmcgdGFza3Mgb3IgYmxvY2sgdGFza3MgZnJv bSBydW5uaW5nLjwvc3Bhbj48L2ZvbnQ+PC9mb250PjwvZm9udD48L3NwYW4+PC9wPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+ PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNz PSJnbWFpbF9xdW90ZSI+T24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBUaHUsIERlYyA3LCAyMDE3IGF0IDEyOjE0CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUE0sIERhZm5hIFJvbiA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhy ZWY9Im1haWx0bzpkcm9uQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5kcm9uQHJlZGhhdC5j b208L2E+Jmd0Ozwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB3cm90ZTo8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBweCAwcHgg MHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmct bGVmdDoxZXgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PGRpdiBiZ2NvbG9yPSIjRkZGRkZGIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHA+SGksIDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8cD5XZSBoYWQgYSBmYWlsdXJlIG9uCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzdGVyIGJhc2ljIHN1aXRlIGZvcgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3QKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwMDdfc2RfcmVhdHRh Y2guZGVhY3RpdmF0ZV9zdG88d2JyPnJhZ2VfZG9tYWluLgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8cD5UaGUgZmFpbHVyZSB3YXMgdGhhdAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlIGZhaWxlZCB0bwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYWN0aXZhdGUgZG9t YWluIGR1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHRvIHJ1bm5pbmcgdGFza3MuIDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8cD5JdCBkb2VzIG5vdCBzZWVtIHRvCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgcmVsYXRlZCB0byB0aGUKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRjaCBpdCB3YXMgdGVzdGlu ZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBJ IHRoaW5rIHRoYXQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdCBpdHNlbGYgbmVlZHMgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBiZSBtb2RpZmllZCB0byBjaGVjawogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZXJlIGFyZSBubyBydW5uaW5n CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFza3Mu IDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9w PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5JcyB0 aGVyZSBwZXJoYXBzIGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB3YXkgdG8gcXVlcnkgaWYgdGhlcmUKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBhcmUgcnVubmluZyB0YXNrcwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSBydW5uaW5nIHRoZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ/IGNh biB5b3UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw bGVhc2UgdGFrZSBhIGxvb2sgYXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0aGUgdGVzdCBvbiBPU1Q/IDxicj4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8cD48YiBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIiBp ZD0iZ21haWwtbV8zMTY0MzIyNjE5MTQzMjk2NDExbV84MjY4NDMzNzQ4Nzk2OTc3NDQ3Z21haWwt bV8tNDI2NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MG1fODk0MjIz NjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDht Xy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQx NC0xOGI3LTJkMzE5OTE4ODllOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPC9iPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdp bi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48YiBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFs IiBpZD0iZ21haWwtbV8zMTY0MzIyNjE5MTQzMjk2NDExbV84MjY4NDMzNzQ4Nzk2OTc3NDQ3Z21h aWwtbV8tNDI2NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MG1fODk0 MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQz MDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMt NTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQt ZmFtaWx5OkFyaWFsO2NvbG9yOnJnYigwLDAsMCk7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu dDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50LWxpZ2F0dXJl czpub3JtYWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3Zl cnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj5MaW5rIGFuZCBoZWFk bGluZSBvZiBzdXNwZWN0ZWQgcGF0Y2hlczo8L3NwYW4+PGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5v cm1hbCIgaWQ9ImdtYWlsLW1fMzE2NDMyMjYxOTE0MzI5NjQxMW1fODI2ODQzMzc0ODc5Njk3NzQ0 N2dtYWlsLW1fLTQyNjY0MTgxMDEzNjkzMDM4MjNnbWFpbC1tXy00NzQwNTYyNTQ5MDc0ODI0ODBt Xzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2Njc4bV8zMzMzNjMxMzgzNzM0 NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1NmRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS0z MDczLTU0MTQtMThiNy0yZDMxOTkxODg5ZTgiPjxiPgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdCByZWxhdGVkIHRvCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I8L2I+PC9i PjwvYj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWwiIGlkPSJnbWFpbC1tXzMxNjQzMjI2MTkxNDMy OTY0MTFtXzgyNjg0MzM3NDg3OTY5Nzc0NDdnbWFpbC1tXy00MjY2NDE4MTAxMzY5MzAzODIzZ21h aWwtbV8tNDc0MDU2MjU0OTA3NDgyNDgwbV84OTQyMjM2MzUxNDU2NTYzNDczbV8tNTAxNDY2OTY3 NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1MzQxODg2NjU5NTZkb2Nz LWludGVybmFsLWd1aWQtNTg1OWI3YTEtMzA3My01NDE0LTE4YjctMmQzMTk5MTg4OWU4Ij4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YiBzdHlsZT0iZm9u dC13ZWlnaHQ6bm9ybWFsIiBpZD0iZ21haWwtbV8zMTY0MzIyNjE5MTQzMjk2NDExbV84MjY4NDMz NzQ4Nzk2OTc3NDQ3Z21haWwtbV8tNDI2NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1NjI1 NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMz MzM2MzEzODM3MzQ0NTQzMDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlk LTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPjwvcD4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiIHN0eWxlPSJsaW5l LWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48YiBzdHlsZT0i Zm9udC13ZWlnaHQ6bm9ybWFsIiBpZD0iZ21haWwtbV8zMTY0MzIyNjE5MTQzMjk2NDExbV84MjY4 NDMzNzQ4Nzk2OTc3NDQ3Z21haWwtbV8tNDI2NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1 NjI1NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2Nzht XzMzMzM2MzEzODM3MzQ0NTQzMDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1n dWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4ODllOCI+PHNwYW4gc3R5bGU9ImZv bnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOnJnYigwLDAsMCk7YmFja2dyb3Vu ZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9u dC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO3RleHQt ZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13 cmFwIj5MaW5rIHRvIEpvYjogPGEgY2xhc3M9ImdtYWlsLW1fMzE2NDMyMjYxOTE0MzI5NjQxMW1f ODI2ODQzMzc0ODc5Njk3NzQ0N2dtYWlsLW1fLTQyNjY0MTgxMDEzNjkzMDM4MjNnbWFpbC1tXy00 NzQwNTYyNTQ5MDc0ODI0ODBtXzg5NDIyMzYzNTE0NTY1NjM0NzNtXy01MDE0NjY5Njc2OTE1MTM2 Njc4bV8zMzMzNjMxMzgzNzM0NDU0MzA4bV8tNTMyOTg3NjUzNDE4ODY2NTk1Nm1vei10eHQtbGlu ay1mcmVldGV4dCIgaHJlZj0iaHR0cDovL2plbmtpbnMub3ZpcnQub3JnL2pvYi9vdmlydC1tYXN0 ZXJfY2hhbmdlLXF1ZXVlLXRlc3Rlci80MzE5LyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9qZW5r aW5zLm92aXJ0Lm9yZy9qb2Ivbzx3YnI+dmlydC1tYXN0ZXJfY2hhbmdlLXF1ZXVlLXRlc3RlPHdi cj5yLzQzMTkvPC9hPjwvc3Bhbj48L2I+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8YiBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIiBpZD0iZ21h aWwtbV8zMTY0MzIyNjE5MTQzMjk2NDExbV84MjY4NDMzNzQ4Nzk2OTc3NDQ3Z21haWwtbV8tNDI2 NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1 NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDhtXy01MzI5 ODc2NTM0MTg4NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3 LTJkMzE5OTE4ODllOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDwvYj48YiBzdHlsZT0iZm9udC13ZWlnaHQ6bm9ybWFsIiBpZD0iZ21haWwtbV8zMTY0 MzIyNjE5MTQzMjk2NDExbV84MjY4NDMzNzQ4Nzk2OTc3NDQ3Z21haWwtbV8tNDI2NjQxODEwMTM2 OTMwMzgyM2dtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3M21f LTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0NTQzMDhtXy01MzI5ODc2NTM0MTg4 NjY1OTU2ZG9jcy1pbnRlcm5hbC1ndWlkLTU4NTliN2ExLTMwNzMtNTQxNC0xOGI3LTJkMzE5OTE4 ODllOCI+PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwIGRpcj0ibHRyIiBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDtt YXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5 OkFyaWFsO2NvbG9yOnJnYigwLDAsMCk7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250 LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3Jt YWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2Fs LWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj5MaW5rIHRvIGFsbCBsb2dzOiA8 YSBjbGFzcz0iZ21haWwtbV8zMTY0MzIyNjE5MTQzMjk2NDExbV84MjY4NDMzNzQ4Nzk2OTc3NDQ3 Z21haWwtbV8tNDI2NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1NjI1NDkwNzQ4MjQ4MG1f ODk0MjIzNjM1MTQ1NjU2MzQ3M21fLTUwMTQ2Njk2NzY5MTUxMzY2NzhtXzMzMzM2MzEzODM3MzQ0 NTQzMDhtXy01MzI5ODc2NTM0MTg4NjY1OTU2bW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJo dHRwOi8vamVua2lucy5vdmlydC5vcmcvam9iL292aXJ0LW1hc3Rlcl9jaGFuZ2UtcXVldWUtdGVz dGVyLzQzMTkvYXJ0aWZhY3QvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2plbmtpbnMub3ZpcnQu b3JnL2pvYi9vPHdicj52aXJ0LW1hc3Rlcl9jaGFuZ2UtcXVldWUtdGVzdGU8d2JyPnIvNDMxOS9h cnRpZmFjdC88L2E+PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdp bi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7 Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6cmdiKDAsMCwwKTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5z cGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQtbGln YXR1cmVzOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOm5v bmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPihSZWxldmFu dCkgZXJyb3Igc25pcHBldCBmcm9tIHRoZSBsb2c6IDwvc3Bhbj48L3A+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgZGlyPSJsdHIiIHN0eWxlPSJs aW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBz dHlsZT0iZm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6cmdiKDAsMCwwKTti YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5v cm1hbDtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3Jt YWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3Bh Y2U6cHJlLXdyYXAiPiZsdDtlcnJvciZndDs8L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGRpcj0ibHRyIiBzdHlsZT0ibGluZS1o ZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOnJnYigwLDAsMCk7YmFja2dy b3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7 Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO3Rl eHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnBy ZS13cmFwIj4KPC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8cCBkaXI9Imx0ciIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2lu LXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtm b250LWZhbWlseTpBcmlhbDtjb2xvcjpyZ2IoMCwwLDApO2JhY2tncm91bmQtY29sb3I6dHJhbnNw YXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudC1saWdh dHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9u ZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+PGI+MjAxNy0x Mi0wNiAyMDoxMzoyMywxNjYtMDUgV0FSTiAgW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuc3Rv PHdicj5yYWdlLmRvbWFpbi5EZWFjdGl2YXRlU3RvcmFnZUQ8d2JyPm9tYWluV2l0aE92ZlVwZGF0 ZUNvbW1hbmRdIChkZWZhdWx0IHRhc2stNykgW2Q4Mjg4MGU4LTFkNDAtNGEzYi1hMWJhLTMzNjJm PHdicj4yZjEzMGEwXSBWYWxpZGF0aW9uIG9mIGFjdGlvbiAmIzM5O0RlYWN0aXZhdGVTdG9yYWdl RG9tYWluV2l0aE92PHdicj5mVXBkYXRlJiMzOTsgZmEKaWxlZCBmb3IgdXNlciBhZG1pbkBpbnRl cm5hbC1hdXRoei4gUmVhc29uczogVkFSX19UWVBFX19TVE9SQUdFX19ET01BSU4sVkFSPHdicj5f X0FDVElPTl9fREVBQ1RJVkFURSxFUlJPUl9DQU48d2JyPk5PVF9ERUFDVElWQVRFX0RPTUFJTl9X SVRIX1RBUzx3YnI+S1MKMjAxNy0xMi0wNiAyMDoxMzoyMywxNjctMDUgSU5GTyAgW29yZy5vdmly dC5lbmdpbmUuY29yZS5ibGwuc3RvPHdicj5yYWdlLmRvbWFpbi5EZWFjdGl2YXRlU3RvcmFnZUQ8 d2JyPm9tYWluV2l0aE92ZlVwZGF0ZUNvbW1hbmRdIChkZWZhdWx0IHRhc2stNykgW2Q4Mjg4MGU4 LTFkNDAtNGEzYi1hMWJhLTMzNjJmPHdicj4yZjEzMGEwXSBMb2NrIGZyZWVkIHRvIG9iamVjdCAm IzM5O0VuZ2luZUxvY2s6e2V4Y2x1c2l2ZUxvY2tzPSYjMzk7Wzx3YnI+ZWEyZmQ5OTItOGEKYTQt NDRmZS1hYTQzLWU5Njc1NGE5NzViYT1TVE9SPHdicj5BR0VdJiMzOTssIHNoYXJlZExvY2tzPSYj Mzk7WzVlMGEwMTgzLTBlMjUtNGY8d2JyPjQzLWI1YjAtMGNmYjU1MTAyNDhlPVBPT0xdJiMzOTt9 JiMzOTsKMjAxNy0xMi0wNiAyMDoxMzoyMywxNzItMDUgREVCVUcgW29yZy5vdmlydC5lbmdpbmUu Y29yZS5jb21tb24uPHdicj5kaS5pbnRlcmNlcHRvci5EZWJ1Z0xvZ2dpbmdJbnQ8d2JyPmVyY2Vw dG9yXSAoZGVmYXVsdCB0YXNrLTcpIFtkODI4ODBlOC0xZDQwLTRhM2ItYTFiYS0zMzYyZjx3YnI+ MmYxMzBhMF0gbWV0aG9kOiBydW5BY3Rpb24sIHBhcmFtczogW0RlYWN0aXZhdGVTdG9yYWdlRG9t YWluV2l0aE92PHdicj5mVXBkYXRlLCBEZWFjdGl2YXRlU3RvCnJhZ2VEb21haW5XaXRoT3ZmVXBk YXRlUGFyYW1ldDx3YnI+ZXJzOntjb21tYW5kSWQ9JiMzOTs2MzBjMjhlMS00MWFiLTx3YnI+NDNk Yi05NzU1LWEyYmI4NzBkYmNiMyYjMzk7LCB1c2VyPSYjMzk7bnVsbCYjMzk7LCBjb21tYW5kVHlw ZT0mIzM5O1Vua25vd24mIzM5O31dLCB0aW1lRWxhcHNlZDogNjVtcwoyMDE3LTEyLTA2IDIwOjEz OjIzLDE3Ni0wNSBFUlJPUiBbb3JnLm92aXJ0LmVuZ2luZS5hcGkucmVzdGFwaS48d2JyPnJlc291 cmNlLkFic3RyYWN0QmFja2VuZFJlc291cjx3YnI+Y2VdIChkZWZhdWx0IHRhc2stNykgW10gT3Bl cmF0aW9uIEZhaWxlZDogW0Nhbm5vdCBkZWFjdGl2YXRlIFN0b3JhZ2Ugd2hpbGUgdGhlcmUgYXJl IHJ1bm5pbmcgdGFza3Mgb24gdGhpcyBTdG9yYWdlLgotUGxlYXNlIHdhaXQgdW50aWwgdGFza3Mg d2lsbCBmaW5pc2ggYW5kIHRyeSBhZ2Fpbi5dCjwvYj4KPC9zcGFuPjwvcD4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBkaXI9Imx0ciIgc3R5bGU9 ImxpbmUtaGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFu IHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250LWZhbWlseTpBcmlhbDtjb2xvcjpyZ2IoMCwwLDAp O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6 bm9ybWFsO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5v cm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1z cGFjZTpwcmUtd3JhcCI+Cjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDwvYj4mbHQ7ZXJyb3ImZ3Q7PGJyIGNsYXNzPSJnbWFpbC1tXzMx NjQzMjI2MTkxNDMyOTY0MTFtXzgyNjg0MzM3NDg3OTY5Nzc0NDdnbWFpbC1tXy00MjY2NDE4MTAx MzY5MzAzODIzZ21haWwtbV8tNDc0MDU2MjU0OTA3NDgyNDgwbV84OTQyMjM2MzUxNDU2NTYzNDcz bV8tNTAxNDY2OTY3NjkxNTEzNjY3OG1fMzMzMzYzMTM4MzczNDQ1NDMwOG1fLTUzMjk4NzY1MzQx ODg2NjU5NTZBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGJyPgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDxwPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8cD48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPGJyPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX188d2JyPl9fX19fX19fX19f X19fX19fPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RGV2ZWwgbWFpbGluZyBsaXN0PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOkRldmVsQG92aXJ0Lm9yZyIgdGFyZ2V0PSJfYmxh bmsiPkRldmVsQG92aXJ0Lm9yZzwvYT48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4v bGlzdGluZm8vZGV2ZWwiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9s aXN0cy5vdmlydC5vcmcvbWFpbG1hbjx3YnI+L2xpc3RpbmZvL2RldmVsPC9hPjxicj4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PHA+PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rp dj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPHdicj5fX19fX19f X19fX19fX19fXzxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbCBtYWls aW5nIGxpc3Q8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibWFp bHRvOkRldmVsQG92aXJ0Lm9yZyIgdGFyZ2V0PSJfYmxhbmsiPkRldmVsQG92aXJ0Lm9yZzwvYT48 YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL2xpc3Rz Lm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RldmVsIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdl dD0iX2JsYW5rIj5odHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW48d2JyPi9saXN0aW5mby9k ZXZlbDwvYT48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAg ICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAg ICAgICAgICAgICAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX188d2JyPl9fX19fX19f X19fX19fX19fPGJyPgogICAgICAgICAgICAgICAgICAgICAgICBEZXZlbCBtYWlsaW5nIGxpc3Q8 YnI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpEZXZlbEBvdmlydC5v cmciIHRhcmdldD0iX2JsYW5rIj5EZXZlbEBvdmlydC5vcmc8L2E+PGJyPgogICAgICAgICAgICAg ICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGlu Zm8vZGV2ZWwiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9saXN0cy5v dmlydC5vcmcvbWFpbG1hbjx3YnI+L2xpc3RpbmZvL2RldmVsPC9hPjxicj4KICAgICAgICAgICAg ICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAg ICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAgICAgPGJyIGNsZWFyPSJhbGwiPgog ICAgICAgICAgICAgICAgICAgIDxkaXY+PGJyPgogICAgICAgICAgICAgICAgICAgIDwvZGl2Pgog ICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAg ICAgICAgPHNwYW4gY2xhc3M9ImdtYWlsLW1fMzE2NDMyMjYxOTE0MzI5NjQxMW1fODI2ODQzMzc0 ODc5Njk3NzQ0N2dtYWlsLW1fLTQyNjY0MTgxMDEzNjkzMDM4MjNnbWFpbC1tXy00NzQwNTYyNTQ5 MDc0ODI0ODBIT0VuWmIiPjxmb250IGNvbG9yPSIjODg4ODg4Ij4tLSA8YnI+CiAgICAgICAgICAg ICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWwtbV8zMTY0MzIyNjE5MTQzMjk2NDExbV84MjY4NDMz NzQ4Nzk2OTc3NDQ3Z21haWwtbV8tNDI2NjQxODEwMTM2OTMwMzgyM2dtYWlsLW1fLTQ3NDA1NjI1 NDkwNzQ4MjQ4MG1fODk0MjIzNjM1MTQ1NjU2MzQ3M2dtYWlsX3NpZ25hdHVyZSI+CiAgICAgICAg ICAgICAgICAgICAgICA8ZGl2IGRpcj0ibHRyIj5SZWdhcmRzLAogICAgICAgICAgICAgICAgICAg ICAgICA8ZGl2PkV5YWwgU2hlbml0emt5PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICA8L2Rp dj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPC9mb250Pjwv c3Bhbj48L2Rpdj4KICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgICAgPC9kaXY+CiAg ICAgICAgICA8YnI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9ibG9ja3F1b3Rl PgogICAgPHA+PGJyPgogICAgPC9wPgogIDwvZGl2PjwvZGl2PjwvZGl2PgoKPC9ibG9ja3F1b3Rl PjwvZGl2PjwvZGl2PjwvZGl2Pjxicj48L2Rpdj48L2Rpdj4KPC9ibG9ja3F1b3RlPjwvZGl2Pjwv ZGl2PjwvZGl2Pjxicj48L2Rpdj48L2Rpdj4KPC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj48 L2Rpdj4K --===============4075182648553851083==--