Bug: Spice port changed!!!!!

--_dbdd9665-244a-40a0-a04a-304b99388545_ Content-Type: multipart/alternative; boundary="_054c85cf-197b-4417-8de0-b797aa86b678_" --_054c85cf-197b-4417-8de0-b797aa86b678_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 RGVhciBhbGwsDQpBZnRlciBzaHV0ZG93biB0aGUgVk0sIHRoZW4gcmVzdGFydCB0aGUgVk0gdGhl IFZtJ3Mgc3BpY2UgcG9ydCBpcyBjaGFuZ2VkISAgICAgICAgICAgICAgDQoNCkJlY2F1c2UgSSBo YXZlIDEwIHRlcm1pbmFsIEFSTS1Cb3ggIHJ1bm5pbmcgc3BpY2UgY2xpZW50IGNvbm5lY3RlZCB0 byB0aGUgdm0sICBidXQgYWZ0ZXIgdGhlIFZNIHNodXRkb3duIGFuZCBzdGFydCBhZ2FpbiwgdGhl IHZtIG5vdCB0aGUgb25lIHdoaWNlIHRoZSBvbmUgYmVmb3JlLg0KSSB3aXNoIHlvdSBjYW4gbGV0 IHVzIGhhdmUgYSBvcHRpb24sIHRvIGxldCB0aGUgVk0gd2l0aCBhIGZpeGVkIHNwaWNlIHBvcnQs ICAgbGlrZTp2bTE6ICAgc3BpY2UgcG9ydCA6IDU5MDAgICB0bHM6NTkwMXZtMjogICAgNTkwMiAg IDU5MDMNCkFuZCBJIGhhdmUgYW5vdGhlciByZWNvbW1vbmQ6ICAgIGhhdmUgYSBmdWN0aW9uIHRv IGRvIHRoYXQgOg0KaWYgdGhlIHZtIHNodXRkb3duIGJ5IHVzZXIsICAgaXQgd2lsbCBzdGFydCB0 aGUgVk0gYXV0b21hdGljLiBUaGF0IG1lYW5zIHRoZSBWTSBjYW4gbm90IGJlIHNodXRkb3duIQ0K DQoNCkkgaG9wZSB5b3UgY2FuIGhhdmUgdGhpcyB0d28gZnVjdGlvbiEgICBUaGF0IG1lYW5zIGEg bG90IHRvIHRob3NlIHdobyBhcmUgdXNpbmcgVGVybWluYWwgYm94IHVzZXIgbGlrZSBtZS4NCg0K SSBhbSBzb3JyeSBmb3IgbXkgcG9vciBFbmdsaXNoLiAgQnV0IEkgaG9wZSB5b3UgYWxsIGNhbiB1 bmRlcnN0YW5kIHdoYXQgSSBhbSBzYXlpbmcuDQoNCg0KDQoNCgoNCg0KU2luY2VyZWx5IHlvdXJz LA0KUGF1bENoZXVuZw0KDQoNCiB0ZWw6IDE4MC04ODgyLTcxNzMNCiAJCSAJICAgCQkgIA== --_054c85cf-197b-4417-8de0-b797aa86b678_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxzdHlsZT48IS0tDQouaG1tZXNzYWdlIFANCnsNCm1hcmdpbjowcHg7 DQpwYWRkaW5nOjBweA0KfQ0KYm9keS5obW1lc3NhZ2UNCnsNCmZvbnQtc2l6ZTogMTJwdDsNCmZv bnQtZmFtaWx5Os6iyO3RxbraDQp9DQotLT48L3N0eWxlPjwvaGVhZD4NCjxib2R5IGNsYXNzPSdo bW1lc3NhZ2UnPjxkaXYgZGlyPSdsdHInPkRlYXIgYWxsLDxkaXY+PGJyPjwvZGl2PjxkaXY+QWZ0 ZXIgc2h1dGRvd24gdGhlIFZNLCB0aGVuIHJlc3RhcnQgdGhlIFZNIHRoZSBWbSdzIHNwaWNlIHBv cnQgaXMgY2hhbmdlZCE8L2Rpdj48ZGl2PjxkaXYgaWQ9ImlubGluZUltYWdlMCIgc3R5bGU9ImRp c3BsYXk6IGlubGluZS1ibG9jayI+PHNjcmlwdCB0eXBlPSJqc3YjMTExOV8iPjwvc2NyaXB0PiAg ICA8c3BhbiBjb250ZW50ZWRpdGFibGU9InRydWUiPiZuYnNwOzwvc3Bhbj4gICAgPGRpdiBzdHls ZT0iZGlzcGxheTogaW5saW5lLWJsb2NrIiB1bnNlbGVjdGFibGU9Im9uIiBjb250ZW50ZWRpdGFi bGU9ImZhbHNlIiBjbGFzcz0iaW5saW5lSW1hZ2UiIGluaXRoZWlnaHQ9IjIwOCIgaW5pdHdpZHRo PSI0NTIiPjxpbWcgc3JjPSJjaWQ6aW5saW5lSW1hZ2UwIiBoZWlnaHQ9IjIwOCIgd2lkdGg9IjQ1 MiI+PC9kaXY+ICAgIDxzcGFuIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSI+Jm5ic3A7PC9zcGFuPjxz Y3JpcHQgdHlwZT0ianN2LzExMTlfIj48L3NjcmlwdD48L2Rpdj48YnI+PC9kaXY+PGRpdj48YnI+ PC9kaXY+PGRpdj5CZWNhdXNlIEkgaGF2ZSAxMCB0ZXJtaW5hbCBBUk0tQm94ICZuYnNwO3J1bm5p bmcgc3BpY2UgY2xpZW50IGNvbm5lY3RlZCB0byB0aGUgdm0sICZuYnNwO2J1dCBhZnRlciB0aGUg Vk0gc2h1dGRvd24gYW5kIHN0YXJ0IGFnYWluLCB0aGUgdm0gbm90IHRoZSBvbmUgd2hpY2UgdGhl IG9uZSBiZWZvcmUuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JIHdpc2ggeW91IGNhbiBsZXQg dXMgaGF2ZSBhIG9wdGlvbiwgdG8gbGV0IHRoZSBWTSB3aXRoIGEgZml4ZWQgc3BpY2UgcG9ydCwg Jm5ic3A7IGxpa2U6PC9kaXY+PGRpdj52bTE6ICZuYnNwOyBzcGljZSBwb3J0IDogNTkwMCAmbmJz cDsgdGxzOjU5MDE8L2Rpdj48ZGl2PnZtMjogJm5ic3A7ICZuYnNwOzU5MDIgJm5ic3A7IDU5MDM8 L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkFuZCBJIGhhdmUgYW5vdGhlciByZWNvbW1vbmQ6ICZu YnNwOyAmbmJzcDtoYXZlIGEgZnVjdGlvbiB0byBkbyB0aGF0IDo8L2Rpdj48ZGl2Pjxicj48L2Rp dj48ZGl2PmlmIHRoZSB2bSBzaHV0ZG93biBieSB1c2VyLCAmbmJzcDsgaXQgd2lsbCBzdGFydCB0 aGUgVk0gYXV0b21hdGljLiBUaGF0IG1lYW5zIHRoZSBWTSBjYW4gbm90IGJlIHNodXRkb3duITwv ZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SSBo b3BlIHlvdSBjYW4gaGF2ZSB0aGlzIHR3byBmdWN0aW9uISAmbmJzcDsgVGhhdCBtZWFucyBhIGxv dCB0byB0aG9zZSB3aG8gYXJlIHVzaW5nIFRlcm1pbmFsIGJveCB1c2VyIGxpa2UgbWUuPC9kaXY+ PGRpdj48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JIGFtIHNvcnJ5IGZvciBteSBwb29y IEVuZ2xpc2guICZuYnNwO0J1dCBJIGhvcGUgeW91IGFsbCBjYW4gdW5kZXJzdGFuZCB3aGF0IEkg YW0gc2F5aW5nLjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjwv ZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjxkaXY+Cjxicj48YnI+U2luY2VyZWx5IHlvdXJz LDxicj5QYXVsQ2hldW5nPGJyPjxicj48YnI+Jm5ic3A7dGVsOiAxODAtODg4Mi03MTczPGJyPjwv ZGl2PjwvZGl2PiAJCSAJICAgCQkgIDwvZGl2PjwvYm9keT4NCjwvaHRtbD4= --_054c85cf-197b-4417-8de0-b797aa86b678_-- --_dbdd9665-244a-40a0-a04a-304b99388545_ Content-Type: image/png Content-Transfer-Encoding: base64 Content-ID: <inlineImage0> Content-Disposition: attachment; filename="=?gb2312?B?zt6x6sziLnBuZw==?=" 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 pzLEAAAAAElFTkSuQmCC --_dbdd9665-244a-40a0-a04a-304b99388545_--

Hi Paul, This behaviour is by design. It is a bad idea to override it. A good approach to your problem would be to write a launcher script that would: 1) connect to the REST API 2) get the VM connection details 3) get new VM ticket 4) write this info down to a temporary .vv file [3] 5) launch remote-viewer Some info how to use REST API is described here [1] and .vv file format is documented in virt-viewer sources [2]. Please note that [1] is a bit outdated: * you can use HTTP header "filter: true" to be able to log in as non-admin * you only have to use password login once when you use "prefer: persistent-auth" HTTP header and you send the cookie you got in a response to first request. In the future, the steps 2-4 will become a one step of getting a ready-to-use .vv file from the API [3] but we aren't there yet. [1] http://www.ovirt.org/How_to_Connect_to_SPICE_Console_Without_Portal [2] https://git.fedorahosted.org/cgit/virt-viewer.git/tree/src/virt-viewer-file.... [3] https://bugzilla.redhat.com/show_bug.cgi?id=1128763 However, if you _really_ want to stick with static port assignments, do the following: 1) designate the port range so that it doesn't collide with other ranges in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe) 2) add a custom VM properties to the engine for setting of port and tls-port 3) add a vdsm hook to before_vm_start directory on each host that will add "port" and "tlsPort" parameters to the graphics element of libvirt domain xml Best regards, David On St, 2014-09-17 at 10:41 +0800, PaulCheung wrote:
Dear all,
After shutdown the VM, then restart the VM the Vm's spice port is changed!
Because I have 10 terminal ARM-Box running spice client connected to the vm, but after the VM shutdown and start again, the vm not the one whice the one before.
I wish you can let us have a option, to let the VM with a fixed spice port, like: vm1: spice port : 5900 tls:5901 vm2: 5902 5903
And I have another recommond: have a fuction to do that :
if the vm shutdown by user, it will start the VM automatic. That means the VM can not be shutdown!
I hope you can have this two fuction! That means a lot to those who are using Terminal box user like me.
I am sorry for my poor English. But I hope you all can understand what I am saying.
Sincerely yours, PaulCheung
tel: 180-8882-7173
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

--_52300d90-e559-4ffa-83cd-480c1e541b3e_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 RGVhciBEYXZpZCwNClRoYW5rIHlvdSBmb3IgeW91ciBoZWxwIC4gWW91ciBhbnN3ZXIgaXMgdmVy eSBwcm9mZXNzaW9uYWwuDQpJIHN0aWxsIGNhbid0IG5vdCBmaW5kIGEgd2F5IHRvIHN0aWNrIHdp dGggc3RhdGljIHBvcnQgYXNzaWdubWVudHNGb3IgSSBkb24ndCB1bmRlcnN0YW5kIHlvdSB0ZWxs aW5nIG1lICwgIDImMywgd2hlcmUgSSBjYW4gZmluZCB0aGUgZmlsZSB0byBtb2RpZnk/DQoNCg0K PiBIb3dldmVyLCBpZiB5b3UgX3JlYWxseV8gd2FudCB0byBzdGljayB3aXRoIHN0YXRpYyBwb3J0 IGFzc2lnbm1lbnRzLCBkbw0KPiB0aGUgZm9sbG93aW5nOg0KPiAxKSBkZXNpZ25hdGUgdGhlIHBv cnQgcmFuZ2Ugc28gdGhhdCBpdCBkb2Vzbid0IGNvbGxpZGUgd2l0aCBvdGhlciByYW5nZXMNCj4g aW4gdXNlIChlLmcuIFJIRVYgdXNlcyA1OTAwLTYwMjMsIHNvIDU4MDAtNTg5OSBjb3VsZCBiZSBz YWZlKQ0KPiAyKSBhZGQgYSBjdXN0b20gVk0gcHJvcGVydGllcyB0byB0aGUgZW5naW5lIGZvciBz ZXR0aW5nIG9mIHBvcnQgYW5kDQo+IHRscy1wb3J0DQo+IDMpIGFkZCBhIHZkc20gaG9vayB0byBi ZWZvcmVfdm1fc3RhcnQgZGlyZWN0b3J5IG9uIGVhY2ggaG9zdCB0aGF0IHdpbGwNCj4gYWRkICJw b3J0IiBhbmQgInRsc1BvcnQiIHBhcmFtZXRlcnMgdG8gdGhlIGdyYXBoaWNzIGVsZW1lbnQgb2Yg bGlidmlydA0KPiBkb21haW4geG1sDQo+IA0KDQoNCgoNCg0KU2luY2VyZWx5IHlvdXJzLA0KUGF1 bENoZXVuZw0KDQoNCiB0ZWw6IDE4MC04ODgyLTcxNzMNCg0KDQo+IFN1YmplY3Q6IFJlOiBbb3Zp cnQtdXNlcnNdIEJ1ZzogIFNwaWNlIHBvcnQgY2hhbmdlZCEhISEhDQo+IEZyb206IGRqYXNhQHJl ZGhhdC5jb20NCj4gVG86IGVxMjAwOEBtc24uY29tDQo+IENDOiB1c2Vyc0BvdmlydC5vcmcNCj4g RGF0ZTogV2VkLCAxNyBTZXAgMjAxNCAxMDo0MDo0MiArMDIwMA0KPiANCj4gSGkgUGF1bCwNCj4g DQo+IFRoaXMgYmVoYXZpb3VyIGlzIGJ5IGRlc2lnbi4gSXQgaXMgYSBiYWQgaWRlYSB0byBvdmVy cmlkZSBpdC4gQSBnb29kDQo+IGFwcHJvYWNoIHRvIHlvdXIgcHJvYmxlbSB3b3VsZCBiZSB0byB3 cml0ZSBhIGxhdW5jaGVyIHNjcmlwdCB0aGF0IHdvdWxkOg0KPiAxKSBjb25uZWN0IHRvIHRoZSBS RVNUIEFQSQ0KPiAyKSBnZXQgdGhlIFZNIGNvbm5lY3Rpb24gZGV0YWlscw0KPiAzKSBnZXQgbmV3 IFZNIHRpY2tldA0KPiA0KSB3cml0ZSB0aGlzIGluZm8gZG93biB0byBhIHRlbXBvcmFyeSAudnYg ZmlsZSBbM10NCj4gNSkgbGF1bmNoIHJlbW90ZS12aWV3ZXINCj4gDQo+IFNvbWUgaW5mbyBob3cg dG8gdXNlIFJFU1QgQVBJIGlzIGRlc2NyaWJlZCBoZXJlIFsxXSBhbmQgLnZ2IGZpbGUgZm9ybWF0 DQo+IGlzIGRvY3VtZW50ZWQgaW4gdmlydC12aWV3ZXIgc291cmNlcyBbMl0uIFBsZWFzZSBub3Rl IHRoYXQgWzFdIGlzIGEgYml0DQo+IG91dGRhdGVkOg0KPiAgICogeW91IGNhbiB1c2UgSFRUUCBo ZWFkZXIgImZpbHRlcjogdHJ1ZSIgdG8gYmUgYWJsZSB0byBsb2cgaW4gYXMgbm9uLWFkbWluDQo+ ICAgKiB5b3Ugb25seSBoYXZlIHRvIHVzZSBwYXNzd29yZCBsb2dpbiBvbmNlIHdoZW4geW91IHVz ZQ0KPiAgICAgInByZWZlcjogcGVyc2lzdGVudC1hdXRoIiBIVFRQIGhlYWRlciBhbmQgeW91IHNl bmQgdGhlIGNvb2tpZSB5b3UgZ290DQo+ICAgICBpbiBhIHJlc3BvbnNlIHRvIGZpcnN0IHJlcXVl c3QuDQo+IEluIHRoZSBmdXR1cmUsIHRoZSBzdGVwcyAyLTQgd2lsbCBiZWNvbWUgYSBvbmUgc3Rl cCBvZiBnZXR0aW5nIGENCj4gcmVhZHktdG8tdXNlIC52diBmaWxlIGZyb20gdGhlIEFQSSBbM10g YnV0IHdlIGFyZW4ndCB0aGVyZSB5ZXQuDQo+IA0KPiBbMV0gaHR0cDovL3d3dy5vdmlydC5vcmcv SG93X3RvX0Nvbm5lY3RfdG9fU1BJQ0VfQ29uc29sZV9XaXRob3V0X1BvcnRhbA0KPiBbMl0gaHR0 cHM6Ly9naXQuZmVkb3JhaG9zdGVkLm9yZy9jZ2l0L3ZpcnQtdmlld2VyLmdpdC90cmVlL3NyYy92 aXJ0LXZpZXdlci1maWxlLmMjbjMwDQo+IFszXSBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20v c2hvd19idWcuY2dpP2lkPTExMjg3NjMNCj4gDQo+IA0KPiBIb3dldmVyLCBpZiB5b3UgX3JlYWxs eV8gd2FudCB0byBzdGljayB3aXRoIHN0YXRpYyBwb3J0IGFzc2lnbm1lbnRzLCBkbw0KPiB0aGUg Zm9sbG93aW5nOg0KPiAxKSBkZXNpZ25hdGUgdGhlIHBvcnQgcmFuZ2Ugc28gdGhhdCBpdCBkb2Vz bid0IGNvbGxpZGUgd2l0aCBvdGhlciByYW5nZXMNCj4gaW4gdXNlIChlLmcuIFJIRVYgdXNlcyA1 OTAwLTYwMjMsIHNvIDU4MDAtNTg5OSBjb3VsZCBiZSBzYWZlKQ0KPiAyKSBhZGQgYSBjdXN0b20g Vk0gcHJvcGVydGllcyB0byB0aGUgZW5naW5lIGZvciBzZXR0aW5nIG9mIHBvcnQgYW5kDQo+IHRs cy1wb3J0DQo+IDMpIGFkZCBhIHZkc20gaG9vayB0byBiZWZvcmVfdm1fc3RhcnQgZGlyZWN0b3J5 IG9uIGVhY2ggaG9zdCB0aGF0IHdpbGwNCj4gYWRkICJwb3J0IiBhbmQgInRsc1BvcnQiIHBhcmFt ZXRlcnMgdG8gdGhlIGdyYXBoaWNzIGVsZW1lbnQgb2YgbGlidmlydA0KPiBkb21haW4geG1sDQo+ IA0KPiANCj4gQmVzdCByZWdhcmRzLA0KPiANCj4gRGF2aWQNCj4gDQo+IE9uIFN0LCAyMDE0LTA5 LTE3IGF0IDEwOjQxICswODAwLCBQYXVsQ2hldW5nIHdyb3RlOg0KPiA+IERlYXIgYWxsLA0KPiA+ IA0KPiA+IA0KPiA+IEFmdGVyIHNodXRkb3duIHRoZSBWTSwgdGhlbiByZXN0YXJ0IHRoZSBWTSB0 aGUgVm0ncyBzcGljZSBwb3J0IGlzDQo+ID4gY2hhbmdlZCENCj4gPiAgIA0KPiA+IA0KPiA+ICAN Cj4gPiANCj4gPiANCj4gPiANCj4gPiANCj4gPiBCZWNhdXNlIEkgaGF2ZSAxMCB0ZXJtaW5hbCBB Uk0tQm94ICBydW5uaW5nIHNwaWNlIGNsaWVudCBjb25uZWN0ZWQgdG8NCj4gPiB0aGUgdm0sICBi dXQgYWZ0ZXIgdGhlIFZNIHNodXRkb3duIGFuZCBzdGFydCBhZ2FpbiwgdGhlIHZtIG5vdCB0aGUg b25lDQo+ID4gd2hpY2UgdGhlIG9uZSBiZWZvcmUuDQo+ID4gDQo+ID4gDQo+ID4gSSB3aXNoIHlv dSBjYW4gbGV0IHVzIGhhdmUgYSBvcHRpb24sIHRvIGxldCB0aGUgVk0gd2l0aCBhIGZpeGVkIHNw aWNlDQo+ID4gcG9ydCwgICBsaWtlOg0KPiA+IHZtMTogICBzcGljZSBwb3J0IDogNTkwMCAgIHRs czo1OTAxDQo+ID4gdm0yOiAgICA1OTAyICAgNTkwMw0KPiA+IA0KPiA+IA0KPiA+IEFuZCBJIGhh dmUgYW5vdGhlciByZWNvbW1vbmQ6ICAgIGhhdmUgYSBmdWN0aW9uIHRvIGRvIHRoYXQgOg0KPiA+ IA0KPiA+IA0KPiA+IGlmIHRoZSB2bSBzaHV0ZG93biBieSB1c2VyLCAgIGl0IHdpbGwgc3RhcnQg dGhlIFZNIGF1dG9tYXRpYy4gVGhhdA0KPiA+IG1lYW5zIHRoZSBWTSBjYW4gbm90IGJlIHNodXRk b3duIQ0KPiA+IA0KPiA+IA0KPiA+IA0KPiA+IA0KPiA+IA0KPiA+IA0KPiA+IEkgaG9wZSB5b3Ug Y2FuIGhhdmUgdGhpcyB0d28gZnVjdGlvbiEgICBUaGF0IG1lYW5zIGEgbG90IHRvIHRob3NlIHdo bw0KPiA+IGFyZSB1c2luZyBUZXJtaW5hbCBib3ggdXNlciBsaWtlIG1lLg0KPiA+IA0KPiA+IA0K PiA+IA0KPiA+IA0KPiA+IEkgYW0gc29ycnkgZm9yIG15IHBvb3IgRW5nbGlzaC4gIEJ1dCBJIGhv cGUgeW91IGFsbCBjYW4gdW5kZXJzdGFuZA0KPiA+IHdoYXQgSSBhbSBzYXlpbmcuDQo+ID4gDQo+ ID4gDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4g DQo+ID4gU2luY2VyZWx5IHlvdXJzLA0KPiA+IFBhdWxDaGV1bmcNCj4gPiANCj4gPiANCj4gPiAg dGVsOiAxODAtODg4Mi03MTczDQo+ID4gDQo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18NCj4gPiBVc2VycyBtYWlsaW5nIGxpc3QNCj4gPiBVc2Vyc0Bv dmlydC5vcmcNCj4gPiBodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNl cnMNCj4gDQo+IA0KIAkJIAkgICAJCSAg --_52300d90-e559-4ffa-83cd-480c1e541b3e_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxzdHlsZT48IS0tDQouaG1tZXNzYWdlIFANCnsNCm1hcmdpbjowcHg7 DQpwYWRkaW5nOjBweA0KfQ0KYm9keS5obW1lc3NhZ2UNCnsNCmZvbnQtc2l6ZTogMTJwdDsNCmZv bnQtZmFtaWx5Os6iyO3RxbraDQp9DQotLT48L3N0eWxlPjwvaGVhZD4NCjxib2R5IGNsYXNzPSdo bW1lc3NhZ2UnPjxkaXYgZGlyPSdsdHInPkRlYXIgRGF2aWQsPGRpdj48YnI+PC9kaXY+PGRpdj5U aGFuayB5b3UgZm9yIHlvdXIgaGVscCAuIFlvdXIgYW5zd2VyIGlzIHZlcnkgcHJvZmVzc2lvbmFs LjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SSBzdGlsbCBjYW4ndCBub3QgZmluZCBhIHdheSB0 byBzdGljayB3aXRoIHN0YXRpYyBwb3J0IGFzc2lnbm1lbnRzPC9kaXY+PGRpdj5Gb3IgSSBkb24n dCB1bmRlcnN0YW5kIHlvdSB0ZWxsaW5nIG1lICwgJm5ic3A7MiZhbXA7Mywgd2hlcmUgSSBjYW4g ZmluZCB0aGUgZmlsZSB0byBtb2RpZnk/PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48YnI+PC9k aXY+PGRpdj48YnI+PC9kaXY+PGRpdj4mZ3Q7IEhvd2V2ZXIsIGlmIHlvdSBfcmVhbGx5XyB3YW50 IHRvIHN0aWNrIHdpdGggc3RhdGljIHBvcnQgYXNzaWdubWVudHMsIGRvPGJyPiZndDsgdGhlIGZv bGxvd2luZzo8YnI+Jmd0OyAxKSBkZXNpZ25hdGUgdGhlIHBvcnQgcmFuZ2Ugc28gdGhhdCBpdCBk b2Vzbid0IGNvbGxpZGUgd2l0aCBvdGhlciByYW5nZXM8YnI+Jmd0OyBpbiB1c2UgKGUuZy4gUkhF ViB1c2VzIDU5MDAtNjAyMywgc28gNTgwMC01ODk5IGNvdWxkIGJlIHNhZmUpPGJyPiZndDsgMikg YWRkIGEgY3VzdG9tIFZNIHByb3BlcnRpZXMgdG8gdGhlIGVuZ2luZSBmb3Igc2V0dGluZyBvZiBw b3J0IGFuZDxicj4mZ3Q7IHRscy1wb3J0PGJyPiZndDsgMykgYWRkIGEgdmRzbSBob29rIHRvIGJl Zm9yZV92bV9zdGFydCBkaXJlY3Rvcnkgb24gZWFjaCBob3N0IHRoYXQgd2lsbDxicj4mZ3Q7IGFk ZCAicG9ydCIgYW5kICJ0bHNQb3J0IiBwYXJhbWV0ZXJzIHRvIHRoZSBncmFwaGljcyBlbGVtZW50 IG9mIGxpYnZpcnQ8YnI+Jmd0OyBkb21haW4geG1sPGJyPiZndDsmbmJzcDs8L2Rpdj48ZGl2Pjxi cj48L2Rpdj48ZGl2Pjxicj48YnI+PGRpdj4KPGJyPjxicj5TaW5jZXJlbHkgeW91cnMsPGJyPlBh dWxDaGV1bmc8YnI+PGJyPjxicj4mbmJzcDt0ZWw6IDE4MC04ODgyLTcxNzM8YnI+PC9kaXY+PGJy Pjxicj48ZGl2PiZndDsgU3ViamVjdDogUmU6IFtvdmlydC11c2Vyc10gQnVnOiAgU3BpY2UgcG9y dCBjaGFuZ2VkISEhISE8YnI+Jmd0OyBGcm9tOiBkamFzYUByZWRoYXQuY29tPGJyPiZndDsgVG86 IGVxMjAwOEBtc24uY29tPGJyPiZndDsgQ0M6IHVzZXJzQG92aXJ0Lm9yZzxicj4mZ3Q7IERhdGU6 IFdlZCwgMTcgU2VwIDIwMTQgMTA6NDA6NDIgKzAyMDA8YnI+Jmd0OyA8YnI+Jmd0OyBIaSBQYXVs LDxicj4mZ3Q7IDxicj4mZ3Q7IFRoaXMgYmVoYXZpb3VyIGlzIGJ5IGRlc2lnbi4gSXQgaXMgYSBi YWQgaWRlYSB0byBvdmVycmlkZSBpdC4gQSBnb29kPGJyPiZndDsgYXBwcm9hY2ggdG8geW91ciBw cm9ibGVtIHdvdWxkIGJlIHRvIHdyaXRlIGEgbGF1bmNoZXIgc2NyaXB0IHRoYXQgd291bGQ6PGJy PiZndDsgMSkgY29ubmVjdCB0byB0aGUgUkVTVCBBUEk8YnI+Jmd0OyAyKSBnZXQgdGhlIFZNIGNv bm5lY3Rpb24gZGV0YWlsczxicj4mZ3Q7IDMpIGdldCBuZXcgVk0gdGlja2V0PGJyPiZndDsgNCkg d3JpdGUgdGhpcyBpbmZvIGRvd24gdG8gYSB0ZW1wb3JhcnkgLnZ2IGZpbGUgWzNdPGJyPiZndDsg NSkgbGF1bmNoIHJlbW90ZS12aWV3ZXI8YnI+Jmd0OyA8YnI+Jmd0OyBTb21lIGluZm8gaG93IHRv IHVzZSBSRVNUIEFQSSBpcyBkZXNjcmliZWQgaGVyZSBbMV0gYW5kIC52diBmaWxlIGZvcm1hdDxi cj4mZ3Q7IGlzIGRvY3VtZW50ZWQgaW4gdmlydC12aWV3ZXIgc291cmNlcyBbMl0uIFBsZWFzZSBu b3RlIHRoYXQgWzFdIGlzIGEgYml0PGJyPiZndDsgb3V0ZGF0ZWQ6PGJyPiZndDsgICAqIHlvdSBj YW4gdXNlIEhUVFAgaGVhZGVyICJmaWx0ZXI6IHRydWUiIHRvIGJlIGFibGUgdG8gbG9nIGluIGFz IG5vbi1hZG1pbjxicj4mZ3Q7ICAgKiB5b3Ugb25seSBoYXZlIHRvIHVzZSBwYXNzd29yZCBsb2dp biBvbmNlIHdoZW4geW91IHVzZTxicj4mZ3Q7ICAgICAicHJlZmVyOiBwZXJzaXN0ZW50LWF1dGgi IEhUVFAgaGVhZGVyIGFuZCB5b3Ugc2VuZCB0aGUgY29va2llIHlvdSBnb3Q8YnI+Jmd0OyAgICAg aW4gYSByZXNwb25zZSB0byBmaXJzdCByZXF1ZXN0Ljxicj4mZ3Q7IEluIHRoZSBmdXR1cmUsIHRo ZSBzdGVwcyAyLTQgd2lsbCBiZWNvbWUgYSBvbmUgc3RlcCBvZiBnZXR0aW5nIGE8YnI+Jmd0OyBy ZWFkeS10by11c2UgLnZ2IGZpbGUgZnJvbSB0aGUgQVBJIFszXSBidXQgd2UgYXJlbid0IHRoZXJl IHlldC48YnI+Jmd0OyA8YnI+Jmd0OyBbMV0gaHR0cDovL3d3dy5vdmlydC5vcmcvSG93X3RvX0Nv bm5lY3RfdG9fU1BJQ0VfQ29uc29sZV9XaXRob3V0X1BvcnRhbDxicj4mZ3Q7IFsyXSBodHRwczov L2dpdC5mZWRvcmFob3N0ZWQub3JnL2NnaXQvdmlydC12aWV3ZXIuZ2l0L3RyZWUvc3JjL3ZpcnQt dmlld2VyLWZpbGUuYyNuMzA8YnI+Jmd0OyBbM10gaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29t L3Nob3dfYnVnLmNnaT9pZD0xMTI4NzYzPGJyPiZndDsgPGJyPiZndDsgPGJyPiZndDsgSG93ZXZl ciwgaWYgeW91IF9yZWFsbHlfIHdhbnQgdG8gc3RpY2sgd2l0aCBzdGF0aWMgcG9ydCBhc3NpZ25t ZW50cywgZG88YnI+Jmd0OyB0aGUgZm9sbG93aW5nOjxicj4mZ3Q7IDEpIGRlc2lnbmF0ZSB0aGUg cG9ydCByYW5nZSBzbyB0aGF0IGl0IGRvZXNuJ3QgY29sbGlkZSB3aXRoIG90aGVyIHJhbmdlczxi cj4mZ3Q7IGluIHVzZSAoZS5nLiBSSEVWIHVzZXMgNTkwMC02MDIzLCBzbyA1ODAwLTU4OTkgY291 bGQgYmUgc2FmZSk8YnI+Jmd0OyAyKSBhZGQgYSBjdXN0b20gVk0gcHJvcGVydGllcyB0byB0aGUg ZW5naW5lIGZvciBzZXR0aW5nIG9mIHBvcnQgYW5kPGJyPiZndDsgdGxzLXBvcnQ8YnI+Jmd0OyAz KSBhZGQgYSB2ZHNtIGhvb2sgdG8gYmVmb3JlX3ZtX3N0YXJ0IGRpcmVjdG9yeSBvbiBlYWNoIGhv c3QgdGhhdCB3aWxsPGJyPiZndDsgYWRkICJwb3J0IiBhbmQgInRsc1BvcnQiIHBhcmFtZXRlcnMg dG8gdGhlIGdyYXBoaWNzIGVsZW1lbnQgb2YgbGlidmlydDxicj4mZ3Q7IGRvbWFpbiB4bWw8YnI+ Jmd0OyA8YnI+Jmd0OyA8YnI+Jmd0OyBCZXN0IHJlZ2FyZHMsPGJyPiZndDsgPGJyPiZndDsgRGF2 aWQ8YnI+Jmd0OyA8YnI+Jmd0OyBPbiBTdCwgMjAxNC0wOS0xNyBhdCAxMDo0MSArMDgwMCwgUGF1 bENoZXVuZyB3cm90ZTo8YnI+Jmd0OyAmZ3Q7IERlYXIgYWxsLDxicj4mZ3Q7ICZndDsgPGJyPiZn dDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IEFmdGVyIHNodXRkb3duIHRoZSBWTSwgdGhlbiByZXN0YXJ0 IHRoZSBWTSB0aGUgVm0ncyBzcGljZSBwb3J0IGlzPGJyPiZndDsgJmd0OyBjaGFuZ2VkITxicj4m Z3Q7ICZndDsgICA8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgIDxicj4mZ3Q7ICZndDsgPGJy PiZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyBCZWNh dXNlIEkgaGF2ZSAxMCB0ZXJtaW5hbCBBUk0tQm94ICBydW5uaW5nIHNwaWNlIGNsaWVudCBjb25u ZWN0ZWQgdG88YnI+Jmd0OyAmZ3Q7IHRoZSB2bSwgIGJ1dCBhZnRlciB0aGUgVk0gc2h1dGRvd24g YW5kIHN0YXJ0IGFnYWluLCB0aGUgdm0gbm90IHRoZSBvbmU8YnI+Jmd0OyAmZ3Q7IHdoaWNlIHRo ZSBvbmUgYmVmb3JlLjxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IEkg d2lzaCB5b3UgY2FuIGxldCB1cyBoYXZlIGEgb3B0aW9uLCB0byBsZXQgdGhlIFZNIHdpdGggYSBm aXhlZCBzcGljZTxicj4mZ3Q7ICZndDsgcG9ydCwgICBsaWtlOjxicj4mZ3Q7ICZndDsgdm0xOiAg IHNwaWNlIHBvcnQgOiA1OTAwICAgdGxzOjU5MDE8YnI+Jmd0OyAmZ3Q7IHZtMjogICAgNTkwMiAg IDU5MDM8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyBBbmQgSSBoYXZl IGFub3RoZXIgcmVjb21tb25kOiAgICBoYXZlIGEgZnVjdGlvbiB0byBkbyB0aGF0IDo8YnI+Jmd0 OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyBpZiB0aGUgdm0gc2h1dGRvd24gYnkg dXNlciwgICBpdCB3aWxsIHN0YXJ0IHRoZSBWTSBhdXRvbWF0aWMuIFRoYXQ8YnI+Jmd0OyAmZ3Q7 IG1lYW5zIHRoZSBWTSBjYW4gbm90IGJlIHNodXRkb3duITxicj4mZ3Q7ICZndDsgPGJyPiZndDsg Jmd0OyA8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAm Z3Q7IDxicj4mZ3Q7ICZndDsgSSBob3BlIHlvdSBjYW4gaGF2ZSB0aGlzIHR3byBmdWN0aW9uISAg IFRoYXQgbWVhbnMgYSBsb3QgdG8gdGhvc2Ugd2hvPGJyPiZndDsgJmd0OyBhcmUgdXNpbmcgVGVy bWluYWwgYm94IHVzZXIgbGlrZSBtZS48YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgPGJyPiZn dDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgSSBhbSBzb3JyeSBmb3IgbXkgcG9v ciBFbmdsaXNoLiAgQnV0IEkgaG9wZSB5b3UgYWxsIGNhbiB1bmRlcnN0YW5kPGJyPiZndDsgJmd0 OyB3aGF0IEkgYW0gc2F5aW5nLjxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAm Z3Q7IDxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZn dDsgPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0 OyA8YnI+Jmd0OyAmZ3Q7IFNpbmNlcmVseSB5b3Vycyw8YnI+Jmd0OyAmZ3Q7IFBhdWxDaGV1bmc8 YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAgdGVsOiAxODAtODg4Mi03 MTczPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fPGJyPiZndDsgJmd0OyBVc2VycyBtYWlsaW5nIGxpc3Q8YnI+ Jmd0OyAmZ3Q7IFVzZXJzQG92aXJ0Lm9yZzxicj4mZ3Q7ICZndDsgaHR0cDovL2xpc3RzLm92aXJ0 Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzPGJyPiZndDsgPGJyPiZndDsgPGJyPjwvZGl2Pjwv ZGl2PiAJCSAJICAgCQkgIDwvZGl2PjwvYm9keT4NCjwvaHRtbD4= --_52300d90-e559-4ffa-83cd-480c1e541b3e_--

Hi, 2) is not a file, it's a key in engine-config 3) is a VDSM custom hook that needs to be in all the hypervisors in DC/Cluster Follow vdsm custom hook documentation (I don't have a link from top of my head but web or ML archives will surely help). David On Thu, 2014-09-18 at 14:51 +0800, PaulCheung wrote:
Dear David,
Thank you for your help . Your answer is very professional.
I still can't not find a way to stick with static port assignments For I don't understand you telling me , 2&3, where I can find the file to modify?
However, if you _really_ want to stick with static port assignments, do the following: 1) designate the port range so that it doesn't collide with other ranges in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe) 2) add a custom VM properties to the engine for setting of port and tls-port 3) add a vdsm hook to before_vm_start directory on each host that will add "port" and "tlsPort" parameters to the graphics element of libvirt domain xml
Sincerely yours, PaulCheung
tel: 180-8882-7173
Subject: Re: [ovirt-users] Bug: Spice port changed!!!!! From: djasa@redhat.com To: eq2008@msn.com CC: users@ovirt.org Date: Wed, 17 Sep 2014 10:40:42 +0200
Hi Paul,
This behaviour is by design. It is a bad idea to override it. A good approach to your problem would be to write a launcher script that would: 1) connect to the REST API 2) get the VM connection details 3) get new VM ticket 4) write this info down to a temporary .vv file [3] 5) launch remote-viewer
Some info how to use REST API is described here [1] and .vv file format is documented in virt-viewer sources [2]. Please note that [1] is a bit outdated: * you can use HTTP header "filter: true" to be able to log in as non-admin * you only have to use password login once when you use "prefer: persistent-auth" HTTP header and you send the cookie you got in a response to first request. In the future, the steps 2-4 will become a one step of getting a ready-to-use .vv file from the API [3] but we aren't there yet.
[1] http://www.ovirt.org/How_to_Connect_to_SPICE_Console_Without_Portal [2] https://git.fedorahosted.org/cgit/virt-viewer.git/tree/src/virt-viewer-file.... [3] https://bugzilla.redhat.com/show_bug.cgi?id=1128763
However, if you _really_ want to stick with static port assignments, do the following: 1) designate the port range so that it doesn't collide with other ranges in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe) 2) add a custom VM properties to the engine for setting of port and tls-port 3) add a vdsm hook to before_vm_start directory on each host that will add "port" and "tlsPort" parameters to the graphics element of libvirt domain xml
Best regards,
David
On St, 2014-09-17 at 10:41 +0800, PaulCheung wrote:
Dear all,
After shutdown the VM, then restart the VM the Vm's spice port is changed!
Because I have 10 terminal ARM-Box running spice client connected to the vm, but after the VM shutdown and start again, the vm not the one whice the one before.
I wish you can let us have a option, to let the VM with a fixed spice port, like: vm1: spice port : 5900 tls:5901 vm2: 5902 5903
And I have another recommond: have a fuction to do that :
if the vm shutdown by user, it will start the VM automatic. That means the VM can not be shutdown!
I hope you can have this two fuction! That means a lot to those who are using Terminal box user like me.
I am sorry for my poor English. But I hope you all can understand what I am saying.
Sincerely yours, PaulCheung
tel: 180-8882-7173
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

--_26dd9241-5ba4-4ca9-8161-174c50dea683_ Content-Type: multipart/alternative; boundary="_ab838eef-2114-482e-abe8-7319e28c0e9d_" --_ab838eef-2114-482e-abe8-7319e28c0e9d_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 RGVhciBEYXZpZDoNCkkgYW0gdHJ5aW5nIGZpZ3VyZSBpdCBvdXQgdXNpbmcgbXkgd2F5LiAgIFNv IEkgdXNlZCAidmlyc2ggZWRpdCB2bSIsICAgSSBjaGFuZ2UgdGhlIHBvcnQgdGhlIDU5ODAgJiA1 OTgxLCAgIGJ1dCBzdGlsbCBub3Qgd29yayEhIQ0KICAgICAgICAgICAgICANCg0KSSBmb3VuZCBh ZnRlciB2aXJzaCBlZGl0LCAgdGhlcmUgaXMgYSB4bWwgZmlsZSBoZXJlICAvZXRjL2xpYnZpcnQv cWVtdSAgICAgd2hpY2ggSSBlZGl0IHVzaW5nICJ2aXJzaCBlZGl0IHZtIi4NCkFuZCBJIGFsc28g cnVuIHRoaXMgY29tbWFuZCA6ICAgICJ2aXJzaCBkZWZpbmUgdm0ueG1sIiAgICANCmFsc28gbm90 IHdvcmsuICAgIENhbiB5b3UgdGVsbCBtZSB3aGVyZSBpcyB0aGUgZmlsZSBJIGNhbiBmaXhlZCB0 aGUgc3BpY2UgcG9ydC4NCg0KCg0KDQpTaW5jZXJlbHkgeW91cnMsDQpQYXVsQ2hldW5nDQoNCg0K IHRlbDogMTgwLTg4ODItNzE3Mw0KDQoNCj4gU3ViamVjdDogUmU6IFtvdmlydC11c2Vyc10gQnVn OiAgU3BpY2UgcG9ydCBjaGFuZ2VkISEhISENCj4gRnJvbTogZGphc2FAcmVkaGF0LmNvbQ0KPiBU bzogZXEyMDA4QG1zbi5jb20NCj4gQ0M6IHVzZXJzQG92aXJ0Lm9yZw0KPiBEYXRlOiBUaHUsIDE4 IFNlcCAyMDE0IDE1OjI3OjUwICswMjAwDQo+IA0KPiBIaSwNCj4gDQo+IDIpIGlzIG5vdCBhIGZp bGUsIGl0J3MgYSBrZXkgaW4gZW5naW5lLWNvbmZpZw0KPiAzKSBpcyBhIFZEU00gY3VzdG9tIGhv b2sgdGhhdCBuZWVkcyB0byBiZSBpbiBhbGwgdGhlIGh5cGVydmlzb3JzIGluIERDL0NsdXN0ZXIN Cj4gDQo+IEZvbGxvdyB2ZHNtIGN1c3RvbSBob29rIGRvY3VtZW50YXRpb24gKEkgZG9uJ3QgaGF2 ZSBhIGxpbmsgZnJvbSB0b3Agb2YgbXkgaGVhZCBidXQgd2ViIG9yIE1MIGFyY2hpdmVzIHdpbGwg c3VyZWx5IGhlbHApLg0KPiANCj4gRGF2aWQNCj4gDQo+IE9uIFRodSwgMjAxNC0wOS0xOCBhdCAx NDo1MSArMDgwMCwgUGF1bENoZXVuZyB3cm90ZToNCj4gPiBEZWFyIERhdmlkLA0KPiA+IA0KPiA+ IA0KPiA+IFRoYW5rIHlvdSBmb3IgeW91ciBoZWxwIC4gWW91ciBhbnN3ZXIgaXMgdmVyeSBwcm9m ZXNzaW9uYWwuDQo+ID4gDQo+ID4gDQo+ID4gSSBzdGlsbCBjYW4ndCBub3QgZmluZCBhIHdheSB0 byBzdGljayB3aXRoIHN0YXRpYyBwb3J0IGFzc2lnbm1lbnRzDQo+ID4gRm9yIEkgZG9uJ3QgdW5k ZXJzdGFuZCB5b3UgdGVsbGluZyBtZSAsICAyJjMsIHdoZXJlIEkgY2FuIGZpbmQgdGhlDQo+ID4g ZmlsZSB0byBtb2RpZnk/DQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4g PiBIb3dldmVyLCBpZiB5b3UgX3JlYWxseV8gd2FudCB0byBzdGljayB3aXRoIHN0YXRpYyBwb3J0 IGFzc2lnbm1lbnRzLA0KPiA+IGRvDQo+ID4gPiB0aGUgZm9sbG93aW5nOg0KPiA+ID4gMSkgZGVz aWduYXRlIHRoZSBwb3J0IHJhbmdlIHNvIHRoYXQgaXQgZG9lc24ndCBjb2xsaWRlIHdpdGggb3Ro ZXINCj4gPiByYW5nZXMNCj4gPiA+IGluIHVzZSAoZS5nLiBSSEVWIHVzZXMgNTkwMC02MDIzLCBz byA1ODAwLTU4OTkgY291bGQgYmUgc2FmZSkNCj4gPiA+IDIpIGFkZCBhIGN1c3RvbSBWTSBwcm9w ZXJ0aWVzIHRvIHRoZSBlbmdpbmUgZm9yIHNldHRpbmcgb2YgcG9ydCBhbmQNCj4gPiA+IHRscy1w b3J0DQo+ID4gPiAzKSBhZGQgYSB2ZHNtIGhvb2sgdG8gYmVmb3JlX3ZtX3N0YXJ0IGRpcmVjdG9y eSBvbiBlYWNoIGhvc3QgdGhhdA0KPiA+IHdpbGwNCj4gPiA+IGFkZCAicG9ydCIgYW5kICJ0bHNQ b3J0IiBwYXJhbWV0ZXJzIHRvIHRoZSBncmFwaGljcyBlbGVtZW50IG9mDQo+ID4gbGlidmlydA0K PiA+ID4gZG9tYWluIHhtbA0KPiA+ID4gDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4gDQo+ ID4gDQo+ID4gU2luY2VyZWx5IHlvdXJzLA0KPiA+IFBhdWxDaGV1bmcNCj4gPiANCj4gPiANCj4g PiAgdGVsOiAxODAtODg4Mi03MTczDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4gPiBTdWJqZWN0OiBS ZTogW292aXJ0LXVzZXJzXSBCdWc6IFNwaWNlIHBvcnQgY2hhbmdlZCEhISEhDQo+ID4gPiBGcm9t OiBkamFzYUByZWRoYXQuY29tDQo+ID4gPiBUbzogZXEyMDA4QG1zbi5jb20NCj4gPiA+IENDOiB1 c2Vyc0BvdmlydC5vcmcNCj4gPiA+IERhdGU6IFdlZCwgMTcgU2VwIDIwMTQgMTA6NDA6NDIgKzAy MDANCj4gPiA+IA0KPiA+ID4gSGkgUGF1bCwNCj4gPiA+IA0KPiA+ID4gVGhpcyBiZWhhdmlvdXIg aXMgYnkgZGVzaWduLiBJdCBpcyBhIGJhZCBpZGVhIHRvIG92ZXJyaWRlIGl0LiBBIGdvb2QNCj4g PiA+IGFwcHJvYWNoIHRvIHlvdXIgcHJvYmxlbSB3b3VsZCBiZSB0byB3cml0ZSBhIGxhdW5jaGVy IHNjcmlwdCB0aGF0DQo+ID4gd291bGQ6DQo+ID4gPiAxKSBjb25uZWN0IHRvIHRoZSBSRVNUIEFQ SQ0KPiA+ID4gMikgZ2V0IHRoZSBWTSBjb25uZWN0aW9uIGRldGFpbHMNCj4gPiA+IDMpIGdldCBu ZXcgVk0gdGlja2V0DQo+ID4gPiA0KSB3cml0ZSB0aGlzIGluZm8gZG93biB0byBhIHRlbXBvcmFy eSAudnYgZmlsZSBbM10NCj4gPiA+IDUpIGxhdW5jaCByZW1vdGUtdmlld2VyDQo+ID4gPiANCj4g PiA+IFNvbWUgaW5mbyBob3cgdG8gdXNlIFJFU1QgQVBJIGlzIGRlc2NyaWJlZCBoZXJlIFsxXSBh bmQgLnZ2IGZpbGUNCj4gPiBmb3JtYXQNCj4gPiA+IGlzIGRvY3VtZW50ZWQgaW4gdmlydC12aWV3 ZXIgc291cmNlcyBbMl0uIFBsZWFzZSBub3RlIHRoYXQgWzFdIGlzIGENCj4gPiBiaXQNCj4gPiA+ IG91dGRhdGVkOg0KPiA+ID4gKiB5b3UgY2FuIHVzZSBIVFRQIGhlYWRlciAiZmlsdGVyOiB0cnVl IiB0byBiZSBhYmxlIHRvIGxvZyBpbiBhcw0KPiA+IG5vbi1hZG1pbg0KPiA+ID4gKiB5b3Ugb25s eSBoYXZlIHRvIHVzZSBwYXNzd29yZCBsb2dpbiBvbmNlIHdoZW4geW91IHVzZQ0KPiA+ID4gInBy ZWZlcjogcGVyc2lzdGVudC1hdXRoIiBIVFRQIGhlYWRlciBhbmQgeW91IHNlbmQgdGhlIGNvb2tp ZSB5b3UNCj4gPiBnb3QNCj4gPiA+IGluIGEgcmVzcG9uc2UgdG8gZmlyc3QgcmVxdWVzdC4NCj4g PiA+IEluIHRoZSBmdXR1cmUsIHRoZSBzdGVwcyAyLTQgd2lsbCBiZWNvbWUgYSBvbmUgc3RlcCBv ZiBnZXR0aW5nIGENCj4gPiA+IHJlYWR5LXRvLXVzZSAudnYgZmlsZSBmcm9tIHRoZSBBUEkgWzNd IGJ1dCB3ZSBhcmVuJ3QgdGhlcmUgeWV0Lg0KPiA+ID4gDQo+ID4gPiBbMV0NCj4gPiBodHRwOi8v d3d3Lm92aXJ0Lm9yZy9Ib3dfdG9fQ29ubmVjdF90b19TUElDRV9Db25zb2xlX1dpdGhvdXRfUG9y dGFsDQo+ID4gPiBbMl0NCj4gPiBodHRwczovL2dpdC5mZWRvcmFob3N0ZWQub3JnL2NnaXQvdmly dC12aWV3ZXIuZ2l0L3RyZWUvc3JjL3ZpcnQtdmlld2VyLWZpbGUuYyNuMzANCj4gPiA+IFszXSBo dHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTExMjg3NjMNCj4gPiA+ IA0KPiA+ID4gDQo+ID4gPiBIb3dldmVyLCBpZiB5b3UgX3JlYWxseV8gd2FudCB0byBzdGljayB3 aXRoIHN0YXRpYyBwb3J0IGFzc2lnbm1lbnRzLA0KPiA+IGRvDQo+ID4gPiB0aGUgZm9sbG93aW5n Og0KPiA+ID4gMSkgZGVzaWduYXRlIHRoZSBwb3J0IHJhbmdlIHNvIHRoYXQgaXQgZG9lc24ndCBj b2xsaWRlIHdpdGggb3RoZXINCj4gPiByYW5nZXMNCj4gPiA+IGluIHVzZSAoZS5nLiBSSEVWIHVz ZXMgNTkwMC02MDIzLCBzbyA1ODAwLTU4OTkgY291bGQgYmUgc2FmZSkNCj4gPiA+IDIpIGFkZCBh IGN1c3RvbSBWTSBwcm9wZXJ0aWVzIHRvIHRoZSBlbmdpbmUgZm9yIHNldHRpbmcgb2YgcG9ydCBh bmQNCj4gPiA+IHRscy1wb3J0DQo+ID4gPiAzKSBhZGQgYSB2ZHNtIGhvb2sgdG8gYmVmb3JlX3Zt X3N0YXJ0IGRpcmVjdG9yeSBvbiBlYWNoIGhvc3QgdGhhdA0KPiA+IHdpbGwNCj4gPiA+IGFkZCAi cG9ydCIgYW5kICJ0bHNQb3J0IiBwYXJhbWV0ZXJzIHRvIHRoZSBncmFwaGljcyBlbGVtZW50IG9m DQo+ID4gbGlidmlydA0KPiA+ID4gZG9tYWluIHhtbA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IEJl c3QgcmVnYXJkcywNCj4gPiA+IA0KPiA+ID4gRGF2aWQNCj4gPiA+IA0KPiA+ID4gT24gU3QsIDIw MTQtMDktMTcgYXQgMTA6NDEgKzA4MDAsIFBhdWxDaGV1bmcgd3JvdGU6DQo+ID4gPiA+IERlYXIg YWxsLA0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IEFmdGVyIHNodXRkb3duIHRoZSBWTSwg dGhlbiByZXN0YXJ0IHRoZSBWTSB0aGUgVm0ncyBzcGljZSBwb3J0IGlzDQo+ID4gPiA+IGNoYW5n ZWQhDQo+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiANCj4g PiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiBCZWNhdXNlIEkgaGF2ZSAxMCB0ZXJtaW5hbCBBUk0t Qm94IHJ1bm5pbmcgc3BpY2UgY2xpZW50IGNvbm5lY3RlZA0KPiA+IHRvDQo+ID4gPiA+IHRoZSB2 bSwgYnV0IGFmdGVyIHRoZSBWTSBzaHV0ZG93biBhbmQgc3RhcnQgYWdhaW4sIHRoZSB2bSBub3Qg dGhlDQo+ID4gb25lDQo+ID4gPiA+IHdoaWNlIHRoZSBvbmUgYmVmb3JlLg0KPiA+ID4gPiANCj4g PiA+ID4gDQo+ID4gPiA+IEkgd2lzaCB5b3UgY2FuIGxldCB1cyBoYXZlIGEgb3B0aW9uLCB0byBs ZXQgdGhlIFZNIHdpdGggYSBmaXhlZA0KPiA+IHNwaWNlDQo+ID4gPiA+IHBvcnQsIGxpa2U6DQo+ ID4gPiA+IHZtMTogc3BpY2UgcG9ydCA6IDU5MDAgdGxzOjU5MDENCj4gPiA+ID4gdm0yOiA1OTAy IDU5MDMNCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiBBbmQgSSBoYXZlIGFub3RoZXIgcmVj b21tb25kOiBoYXZlIGEgZnVjdGlvbiB0byBkbyB0aGF0IDoNCj4gPiA+ID4gDQo+ID4gPiA+IA0K PiA+ID4gPiBpZiB0aGUgdm0gc2h1dGRvd24gYnkgdXNlciwgaXQgd2lsbCBzdGFydCB0aGUgVk0g YXV0b21hdGljLiBUaGF0DQo+ID4gPiA+IG1lYW5zIHRoZSBWTSBjYW4gbm90IGJlIHNodXRkb3du IQ0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4g PiA+IA0KPiA+ID4gPiBJIGhvcGUgeW91IGNhbiBoYXZlIHRoaXMgdHdvIGZ1Y3Rpb24hIFRoYXQg bWVhbnMgYSBsb3QgdG8gdGhvc2UNCj4gPiB3aG8NCj4gPiA+ID4gYXJlIHVzaW5nIFRlcm1pbmFs IGJveCB1c2VyIGxpa2UgbWUuDQo+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+ IA0KPiA+ID4gPiBJIGFtIHNvcnJ5IGZvciBteSBwb29yIEVuZ2xpc2guIEJ1dCBJIGhvcGUgeW91 IGFsbCBjYW4gdW5kZXJzdGFuZA0KPiA+ID4gPiB3aGF0IEkgYW0gc2F5aW5nLg0KPiA+ID4gPiAN Cj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4g PiANCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IFNpbmNl cmVseSB5b3VycywNCj4gPiA+ID4gUGF1bENoZXVuZw0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4g PiA+IHRlbDogMTgwLTg4ODItNzE3Mw0KPiA+ID4gPiANCj4gPiA+ID4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPiA+ID4gVXNlcnMgbWFpbGluZyBs aXN0DQo+ID4gPiA+IFVzZXJzQG92aXJ0Lm9yZw0KPiA+ID4gPiBodHRwOi8vbGlzdHMub3ZpcnQu b3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMNCj4gPiA+IA0KPiA+ID4gDQo+ID4gDQo+ID4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPiBVc2VycyBt YWlsaW5nIGxpc3QNCj4gPiBVc2Vyc0BvdmlydC5vcmcNCj4gPiBodHRwOi8vbGlzdHMub3ZpcnQu b3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMNCj4gDQo+IA0KIAkJIAkgICAJCSAg --_ab838eef-2114-482e-abe8-7319e28c0e9d_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxzdHlsZT48IS0tDQouaG1tZXNzYWdlIFANCnsNCm1hcmdpbjowcHg7 DQpwYWRkaW5nOjBweA0KfQ0KYm9keS5obW1lc3NhZ2UNCnsNCmZvbnQtc2l6ZTogMTJwdDsNCmZv bnQtZmFtaWx5Os6iyO3RxbraDQp9DQotLT48L3N0eWxlPjwvaGVhZD4NCjxib2R5IGNsYXNzPSdo bW1lc3NhZ2UnPjxkaXYgZGlyPSdsdHInPkRlYXIgRGF2aWQ6PGRpdj48YnI+PC9kaXY+PGRpdj5J IGFtIHRyeWluZyBmaWd1cmUgaXQgb3V0IHVzaW5nIG15IHdheS4gJm5ic3A7IFNvIEkgdXNlZCAi dmlyc2ggZWRpdCB2bSIsICZuYnNwOyBJIGNoYW5nZSB0aGUgcG9ydCB0aGUgNTk4MCAmYW1wOyA1 OTgxLCAmbmJzcDsgYnV0IHN0aWxsIG5vdCB3b3JrISEhPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRp dj48ZGl2IGlkPSJpbmxpbmVJbWFnZTEiIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2siPjxz Y3JpcHQgdHlwZT0ianN2IzcxN18iPjwvc2NyaXB0PiAgICA8c3BhbiBjb250ZW50ZWRpdGFibGU9 InRydWUiPiZuYnNwOzwvc3Bhbj4gICAgPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2Nr IiB1bnNlbGVjdGFibGU9Im9uIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBjbGFzcz0iaW5saW5l SW1hZ2UiIGluaXRoZWlnaHQ9IjE0MCIgaW5pdHdpZHRoPSIxMjQ0Ij48aW1nIHNyYz0iY2lkOmlu bGluZUltYWdlMSIgaGVpZ2h0PSIxNDAiIHdpZHRoPSIxMjQ0Ij48L2Rpdj4gICAgPHNwYW4gY29u dGVudGVkaXRhYmxlPSJ0cnVlIj4mbmJzcDs8L3NwYW4+PHNjcmlwdCB0eXBlPSJqc3YvNzE3XyI+ PC9zY3JpcHQ+PC9kaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SSBmb3VuZCBhZnRl ciB2aXJzaCBlZGl0LCAmbmJzcDt0aGVyZSBpcyBhIHhtbCBmaWxlIGhlcmUgJm5ic3A7L2V0Yy9s aWJ2aXJ0L3FlbXUgJm5ic3A7ICZuYnNwOyB3aGljaCBJIGVkaXQgdXNpbmcgInZpcnNoIGVkaXQg dm0iLjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+QW5kIEkgYWxzbyBydW4gdGhpcyBjb21tYW5k IDogJm5ic3A7ICZuYnNwOyJ2aXJzaCBkZWZpbmUgdm0ueG1sIiAmbmJzcDsgJm5ic3A7PC9kaXY+ PGRpdj48YnI+PC9kaXY+PGRpdj5hbHNvIG5vdCB3b3JrLiAmbmJzcDsgJm5ic3A7Q2FuIHlvdSB0 ZWxsIG1lIHdoZXJlIGlzIHRoZSBmaWxlIEkgY2FuIGZpeGVkIHRoZSBzcGljZSBwb3J0LjwvZGl2 PjxkaXY+PGJyPjxicj48ZGl2Pgo8YnI+PGJyPlNpbmNlcmVseSB5b3Vycyw8YnI+UGF1bENoZXVu Zzxicj48YnI+PGJyPiZuYnNwO3RlbDogMTgwLTg4ODItNzE3Mzxicj48L2Rpdj48YnI+PGJyPjxk aXY+Jmd0OyBTdWJqZWN0OiBSZTogW292aXJ0LXVzZXJzXSBCdWc6ICBTcGljZSBwb3J0IGNoYW5n ZWQhISEhITxicj4mZ3Q7IEZyb206IGRqYXNhQHJlZGhhdC5jb208YnI+Jmd0OyBUbzogZXEyMDA4 QG1zbi5jb208YnI+Jmd0OyBDQzogdXNlcnNAb3ZpcnQub3JnPGJyPiZndDsgRGF0ZTogVGh1LCAx OCBTZXAgMjAxNCAxNToyNzo1MCArMDIwMDxicj4mZ3Q7IDxicj4mZ3Q7IEhpLDxicj4mZ3Q7IDxi cj4mZ3Q7IDIpIGlzIG5vdCBhIGZpbGUsIGl0J3MgYSBrZXkgaW4gZW5naW5lLWNvbmZpZzxicj4m Z3Q7IDMpIGlzIGEgVkRTTSBjdXN0b20gaG9vayB0aGF0IG5lZWRzIHRvIGJlIGluIGFsbCB0aGUg aHlwZXJ2aXNvcnMgaW4gREMvQ2x1c3Rlcjxicj4mZ3Q7IDxicj4mZ3Q7IEZvbGxvdyB2ZHNtIGN1 c3RvbSBob29rIGRvY3VtZW50YXRpb24gKEkgZG9uJ3QgaGF2ZSBhIGxpbmsgZnJvbSB0b3Agb2Yg bXkgaGVhZCBidXQgd2ViIG9yIE1MIGFyY2hpdmVzIHdpbGwgc3VyZWx5IGhlbHApLjxicj4mZ3Q7 IDxicj4mZ3Q7IERhdmlkPGJyPiZndDsmbmJzcDs8YnI+Jmd0OyBPbiBUaHUsIDIwMTQtMDktMTgg YXQgMTQ6NTEgKzA4MDAsIFBhdWxDaGV1bmcgd3JvdGU6PGJyPiZndDsgJmd0OyBEZWFyIERhdmlk LDxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IFRoYW5rIHlvdSBmb3Ig eW91ciBoZWxwIC4gWW91ciBhbnN3ZXIgaXMgdmVyeSBwcm9mZXNzaW9uYWwuPGJyPiZndDsgJmd0 OyA8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgSSBzdGlsbCBjYW4ndCBub3QgZmluZCBhIHdh eSB0byBzdGljayB3aXRoIHN0YXRpYyBwb3J0IGFzc2lnbm1lbnRzPGJyPiZndDsgJmd0OyBGb3Ig SSBkb24ndCB1bmRlcnN0YW5kIHlvdSB0ZWxsaW5nIG1lICwgIDImYW1wOzMsIHdoZXJlIEkgY2Fu IGZpbmQgdGhlPGJyPiZndDsgJmd0OyBmaWxlIHRvIG1vZGlmeT88YnI+Jmd0OyAmZ3Q7IDxicj4m Z3Q7ICZndDsgPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgPGJyPiZn dDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgSG93ZXZlciwgaWYgeW91IF9yZWFsbHlfIHdhbnQg dG8gc3RpY2sgd2l0aCBzdGF0aWMgcG9ydCBhc3NpZ25tZW50cyw8YnI+Jmd0OyAmZ3Q7IGRvPGJy PiZndDsgJmd0OyAmZ3Q7IHRoZSBmb2xsb3dpbmc6PGJyPiZndDsgJmd0OyAmZ3Q7IDEpIGRlc2ln bmF0ZSB0aGUgcG9ydCByYW5nZSBzbyB0aGF0IGl0IGRvZXNuJ3QgY29sbGlkZSB3aXRoIG90aGVy PGJyPiZndDsgJmd0OyByYW5nZXM8YnI+Jmd0OyAmZ3Q7ICZndDsgaW4gdXNlIChlLmcuIFJIRVYg dXNlcyA1OTAwLTYwMjMsIHNvIDU4MDAtNTg5OSBjb3VsZCBiZSBzYWZlKTxicj4mZ3Q7ICZndDsg Jmd0OyAyKSBhZGQgYSBjdXN0b20gVk0gcHJvcGVydGllcyB0byB0aGUgZW5naW5lIGZvciBzZXR0 aW5nIG9mIHBvcnQgYW5kPGJyPiZndDsgJmd0OyAmZ3Q7IHRscy1wb3J0PGJyPiZndDsgJmd0OyAm Z3Q7IDMpIGFkZCBhIHZkc20gaG9vayB0byBiZWZvcmVfdm1fc3RhcnQgZGlyZWN0b3J5IG9uIGVh Y2ggaG9zdCB0aGF0PGJyPiZndDsgJmd0OyB3aWxsPGJyPiZndDsgJmd0OyAmZ3Q7IGFkZCAicG9y dCIgYW5kICJ0bHNQb3J0IiBwYXJhbWV0ZXJzIHRvIHRoZSBncmFwaGljcyBlbGVtZW50IG9mPGJy PiZndDsgJmd0OyBsaWJ2aXJ0PGJyPiZndDsgJmd0OyAmZ3Q7IGRvbWFpbiB4bWw8YnI+Jmd0OyAm Z3Q7ICZndDsgPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgPGJyPiZn dDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyBTaW5jZXJl bHkgeW91cnMsPGJyPiZndDsgJmd0OyBQYXVsQ2hldW5nPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAm Z3Q7IDxicj4mZ3Q7ICZndDsgIHRlbDogMTgwLTg4ODItNzE3Mzxicj4mZ3Q7ICZndDsgPGJyPiZn dDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyBTdWJqZWN0OiBSZTogW292 aXJ0LXVzZXJzXSBCdWc6IFNwaWNlIHBvcnQgY2hhbmdlZCEhISEhPGJyPiZndDsgJmd0OyAmZ3Q7 IEZyb206IGRqYXNhQHJlZGhhdC5jb208YnI+Jmd0OyAmZ3Q7ICZndDsgVG86IGVxMjAwOEBtc24u Y29tPGJyPiZndDsgJmd0OyAmZ3Q7IENDOiB1c2Vyc0BvdmlydC5vcmc8YnI+Jmd0OyAmZ3Q7ICZn dDsgRGF0ZTogV2VkLCAxNyBTZXAgMjAxNCAxMDo0MDo0MiArMDIwMDxicj4mZ3Q7ICZndDsgJmd0 OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgSGkgUGF1bCw8YnI+Jmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsg Jmd0OyAmZ3Q7IFRoaXMgYmVoYXZpb3VyIGlzIGJ5IGRlc2lnbi4gSXQgaXMgYSBiYWQgaWRlYSB0 byBvdmVycmlkZSBpdC4gQSBnb29kPGJyPiZndDsgJmd0OyAmZ3Q7IGFwcHJvYWNoIHRvIHlvdXIg cHJvYmxlbSB3b3VsZCBiZSB0byB3cml0ZSBhIGxhdW5jaGVyIHNjcmlwdCB0aGF0PGJyPiZndDsg Jmd0OyB3b3VsZDo8YnI+Jmd0OyAmZ3Q7ICZndDsgMSkgY29ubmVjdCB0byB0aGUgUkVTVCBBUEk8 YnI+Jmd0OyAmZ3Q7ICZndDsgMikgZ2V0IHRoZSBWTSBjb25uZWN0aW9uIGRldGFpbHM8YnI+Jmd0 OyAmZ3Q7ICZndDsgMykgZ2V0IG5ldyBWTSB0aWNrZXQ8YnI+Jmd0OyAmZ3Q7ICZndDsgNCkgd3Jp dGUgdGhpcyBpbmZvIGRvd24gdG8gYSB0ZW1wb3JhcnkgLnZ2IGZpbGUgWzNdPGJyPiZndDsgJmd0 OyAmZ3Q7IDUpIGxhdW5jaCByZW1vdGUtdmlld2VyPGJyPiZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7 ICZndDsgJmd0OyBTb21lIGluZm8gaG93IHRvIHVzZSBSRVNUIEFQSSBpcyBkZXNjcmliZWQgaGVy ZSBbMV0gYW5kIC52diBmaWxlPGJyPiZndDsgJmd0OyBmb3JtYXQ8YnI+Jmd0OyAmZ3Q7ICZndDsg aXMgZG9jdW1lbnRlZCBpbiB2aXJ0LXZpZXdlciBzb3VyY2VzIFsyXS4gUGxlYXNlIG5vdGUgdGhh dCBbMV0gaXMgYTxicj4mZ3Q7ICZndDsgYml0PGJyPiZndDsgJmd0OyAmZ3Q7IG91dGRhdGVkOjxi cj4mZ3Q7ICZndDsgJmd0OyAqIHlvdSBjYW4gdXNlIEhUVFAgaGVhZGVyICJmaWx0ZXI6IHRydWUi IHRvIGJlIGFibGUgdG8gbG9nIGluIGFzPGJyPiZndDsgJmd0OyBub24tYWRtaW48YnI+Jmd0OyAm Z3Q7ICZndDsgKiB5b3Ugb25seSBoYXZlIHRvIHVzZSBwYXNzd29yZCBsb2dpbiBvbmNlIHdoZW4g eW91IHVzZTxicj4mZ3Q7ICZndDsgJmd0OyAicHJlZmVyOiBwZXJzaXN0ZW50LWF1dGgiIEhUVFAg aGVhZGVyIGFuZCB5b3Ugc2VuZCB0aGUgY29va2llIHlvdTxicj4mZ3Q7ICZndDsgZ290PGJyPiZn dDsgJmd0OyAmZ3Q7IGluIGEgcmVzcG9uc2UgdG8gZmlyc3QgcmVxdWVzdC48YnI+Jmd0OyAmZ3Q7 ICZndDsgSW4gdGhlIGZ1dHVyZSwgdGhlIHN0ZXBzIDItNCB3aWxsIGJlY29tZSBhIG9uZSBzdGVw IG9mIGdldHRpbmcgYTxicj4mZ3Q7ICZndDsgJmd0OyByZWFkeS10by11c2UgLnZ2IGZpbGUgZnJv bSB0aGUgQVBJIFszXSBidXQgd2UgYXJlbid0IHRoZXJlIHlldC48YnI+Jmd0OyAmZ3Q7ICZndDsg PGJyPiZndDsgJmd0OyAmZ3Q7IFsxXTxicj4mZ3Q7ICZndDsgaHR0cDovL3d3dy5vdmlydC5vcmcv SG93X3RvX0Nvbm5lY3RfdG9fU1BJQ0VfQ29uc29sZV9XaXRob3V0X1BvcnRhbDxicj4mZ3Q7ICZn dDsgJmd0OyBbMl08YnI+Jmd0OyAmZ3Q7IGh0dHBzOi8vZ2l0LmZlZG9yYWhvc3RlZC5vcmcvY2dp dC92aXJ0LXZpZXdlci5naXQvdHJlZS9zcmMvdmlydC12aWV3ZXItZmlsZS5jI24zMDxicj4mZ3Q7 ICZndDsgJmd0OyBbM10gaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9p ZD0xMTI4NzYzPGJyPiZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAm Z3Q7ICZndDsgSG93ZXZlciwgaWYgeW91IF9yZWFsbHlfIHdhbnQgdG8gc3RpY2sgd2l0aCBzdGF0 aWMgcG9ydCBhc3NpZ25tZW50cyw8YnI+Jmd0OyAmZ3Q7IGRvPGJyPiZndDsgJmd0OyAmZ3Q7IHRo ZSBmb2xsb3dpbmc6PGJyPiZndDsgJmd0OyAmZ3Q7IDEpIGRlc2lnbmF0ZSB0aGUgcG9ydCByYW5n ZSBzbyB0aGF0IGl0IGRvZXNuJ3QgY29sbGlkZSB3aXRoIG90aGVyPGJyPiZndDsgJmd0OyByYW5n ZXM8YnI+Jmd0OyAmZ3Q7ICZndDsgaW4gdXNlIChlLmcuIFJIRVYgdXNlcyA1OTAwLTYwMjMsIHNv IDU4MDAtNTg5OSBjb3VsZCBiZSBzYWZlKTxicj4mZ3Q7ICZndDsgJmd0OyAyKSBhZGQgYSBjdXN0 b20gVk0gcHJvcGVydGllcyB0byB0aGUgZW5naW5lIGZvciBzZXR0aW5nIG9mIHBvcnQgYW5kPGJy PiZndDsgJmd0OyAmZ3Q7IHRscy1wb3J0PGJyPiZndDsgJmd0OyAmZ3Q7IDMpIGFkZCBhIHZkc20g aG9vayB0byBiZWZvcmVfdm1fc3RhcnQgZGlyZWN0b3J5IG9uIGVhY2ggaG9zdCB0aGF0PGJyPiZn dDsgJmd0OyB3aWxsPGJyPiZndDsgJmd0OyAmZ3Q7IGFkZCAicG9ydCIgYW5kICJ0bHNQb3J0IiBw YXJhbWV0ZXJzIHRvIHRoZSBncmFwaGljcyBlbGVtZW50IG9mPGJyPiZndDsgJmd0OyBsaWJ2aXJ0 PGJyPiZndDsgJmd0OyAmZ3Q7IGRvbWFpbiB4bWw8YnI+Jmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsg Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyBCZXN0IHJlZ2FyZHMsPGJyPiZndDsgJmd0OyAm Z3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyBEYXZpZDxicj4mZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAm Z3Q7ICZndDsgT24gU3QsIDIwMTQtMDktMTcgYXQgMTA6NDEgKzA4MDAsIFBhdWxDaGV1bmcgd3Jv dGU6PGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgRGVhciBhbGwsPGJyPiZndDsgJmd0OyAmZ3Q7ICZn dDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgQWZ0ZXIg c2h1dGRvd24gdGhlIFZNLCB0aGVuIHJlc3RhcnQgdGhlIFZNIHRoZSBWbSdzIHNwaWNlIHBvcnQg aXM8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyBjaGFuZ2VkITxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7 IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7 ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0 OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IEJl Y2F1c2UgSSBoYXZlIDEwIHRlcm1pbmFsIEFSTS1Cb3ggcnVubmluZyBzcGljZSBjbGllbnQgY29u bmVjdGVkPGJyPiZndDsgJmd0OyB0bzxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IHRoZSB2bSwgYnV0 IGFmdGVyIHRoZSBWTSBzaHV0ZG93biBhbmQgc3RhcnQgYWdhaW4sIHRoZSB2bSBub3QgdGhlPGJy PiZndDsgJmd0OyBvbmU8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyB3aGljZSB0aGUgb25lIGJlZm9y ZS48YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0 OyAmZ3Q7ICZndDsgJmd0OyBJIHdpc2ggeW91IGNhbiBsZXQgdXMgaGF2ZSBhIG9wdGlvbiwgdG8g bGV0IHRoZSBWTSB3aXRoIGEgZml4ZWQ8YnI+Jmd0OyAmZ3Q7IHNwaWNlPGJyPiZndDsgJmd0OyAm Z3Q7ICZndDsgcG9ydCwgbGlrZTo8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyB2bTE6IHNwaWNlIHBv cnQgOiA1OTAwIHRsczo1OTAxPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgdm0yOiA1OTAyIDU5MDM8 YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAm Z3Q7ICZndDsgJmd0OyBBbmQgSSBoYXZlIGFub3RoZXIgcmVjb21tb25kOiBoYXZlIGEgZnVjdGlv biB0byBkbyB0aGF0IDo8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsg Jmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyBpZiB0aGUgdm0gc2h1dGRvd24gYnkgdXNlciwg aXQgd2lsbCBzdGFydCB0aGUgVk0gYXV0b21hdGljLiBUaGF0PGJyPiZndDsgJmd0OyAmZ3Q7ICZn dDsgbWVhbnMgdGhlIFZNIGNhbiBub3QgYmUgc2h1dGRvd24hPGJyPiZndDsgJmd0OyAmZ3Q7ICZn dDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZn dDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAm Z3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgSSBob3BlIHlvdSBjYW4gaGF2ZSB0aGlz IHR3byBmdWN0aW9uISBUaGF0IG1lYW5zIGEgbG90IHRvIHRob3NlPGJyPiZndDsgJmd0OyB3aG88 YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyBhcmUgdXNpbmcgVGVybWluYWwgYm94IHVzZXIgbGlrZSBt ZS48YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0 OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZn dDsgJmd0OyBJIGFtIHNvcnJ5IGZvciBteSBwb29yIEVuZ2xpc2guIEJ1dCBJIGhvcGUgeW91IGFs bCBjYW4gdW5kZXJzdGFuZDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IHdoYXQgSSBhbSBzYXlpbmcu PGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsg Jmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7 ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgPGJy PiZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0 OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZn dDsgU2luY2VyZWx5IHlvdXJzLDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IFBhdWxDaGV1bmc8YnI+ Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7 ICZndDsgJmd0OyB0ZWw6IDE4MC04ODgyLTcxNzM8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+ Jmd0OyAmZ3Q7ICZndDsgJmd0OyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXzxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IFVzZXJzIG1haWxpbmcgbGlzdDxicj4m Z3Q7ICZndDsgJmd0OyAmZ3Q7IFVzZXJzQG92aXJ0Lm9yZzxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7 IGh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91c2Vyczxicj4mZ3Q7ICZn dDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPiZndDsgJmd0 OyBVc2VycyBtYWlsaW5nIGxpc3Q8YnI+Jmd0OyAmZ3Q7IFVzZXJzQG92aXJ0Lm9yZzxicj4mZ3Q7 ICZndDsgaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzPGJyPiZn dDsgPGJyPiZndDsgPGJyPjwvZGl2PjwvZGl2PiAJCSAJICAgCQkgIDwvZGl2PjwvYm9keT4NCjwv aHRtbD4= --_ab838eef-2114-482e-abe8-7319e28c0e9d_-- --_26dd9241-5ba4-4ca9-8161-174c50dea683_ Content-Type: image/png Content-Transfer-Encoding: base64 Content-ID: <inlineImage1> Content-Disposition: attachment; filename="=?gb2312?B?zt6x6sziLnBuZw==?=" iVBORw0KGgoAAAANSUhEUgAABT0AAACXCAIAAABY0Gh0AAAAAXNSR0IArs4c6QAAAARnQU1BAACx jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAADJpSURBVHhe7d3bleu8crDrGU+H4BSUh8dQILp3 CkrCNx2Kg1kmzgWgCgQoSi11v3N47/9bbAoEHoCHQkHUv3/L/y6379tl+Kmv6/37e2+n5eNOfSAc evt3v35NfYCdEEAAAQQQQAABBBBAAAEEEPhQAR8DtyH6tnEmJN522wnun4nSVXKbayCSf6Y4ZSOA AAIIIIAAAggggAACCLxUIKSt79fuoEqy3cXEKcedg3oXt19T7lsG/2XvEkjH/PwtFxRDfmu7q1VO rGv1VCcXYpNIw790JHEwBBBAAAEEEEAAAQQQQACBswUG8W0fD7swPCXWfSgdk/HNf5cU/eWS19hv u+ecvMzty6NY22XW3+1TTzGYiwLM+YizESkPAQQQQAABBBBAAAEEEEAAgdMFUlRrpaT7ZPvlpuTk Xb2qdfJur1SmzJOLVfjW/vr2uhCf7K9W5Y8X8+8183RXCkQAAQQQQAABBBBAAAEEEEDgPAGfvVZC dy0YXo3bt8i/CuFlvr1E3iLON+J587iBYRC398n58+QoCQEEEEAAAQQQQAABBBBAAIGXCGhL5fXX yFeB+L+yat7Mk+f8fP3Wu7V8+z93pMHr8fS4nUXyLxk8HAQBBBBAAAEEEEAAAQQQQOAlAnWUO8hg 57fP5dXqeRm7S6GnF9GFMFuscL/fbvHn4qz9B+VsRcnjpnXy4q138V15IYsfts+8CP8lthwEAQQQ QAABBBBAAAEEEEAAgVMFxuntUw9FYQgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggcI7Af/79U//vnNIpBQEE EEAAAQQQQAABBBBAAAEEHhEgbn9Ej88igAACCCCAAAIIIIAAAggg8FwB4vbn+lI6AggggAACCCCA AAIIIIAAAo8IELc/osdnEUAAAQQQQAABBBBAAAEEJgW+rvfv7+/bZXL3M3cLh97+3a9fZ5b7lLIu N1/RUvbRuH0r6J3a27XrKXoUigACCCCAAAIIIIAAAgggYAj42HgnKt/2+ZG4PVR5O/p8HPuDNXWQ Z8Tt7zZU23b9c5H8fI+8W3OoDwIIIIAAAggggAACCCDwOQIhnS1DzX8+Jks57hwvu7j9mnLfMsgv e5dALubnb7mgGPJb22Nong7b1Gchbs/Z+VRUdeBUwbjXPbRn+39Eg3NSXxaVfLri24UA7QRIyLf/ VxoP239s//eff4PjDtYXqP3ipjQ6t7ynC61lB7nm3n1rb5e4vczG6OX7uqsTO7EV778M4nNOR2qK AAIIIIAAAggggAACCFQCatzlgrcUyvmQMGZVm/8uudbLJS+f33bPUaDM4ctsubVdJtTdPvVUwgn5 9stN5odzTr76BoA7cGzBuD7WSGrXt29B+//4/wsB/H/HuD1GwhV0tZqhb6/VL1Y9qxK2D4fis34q Li+jsMoPLTXX7WvzPpxmCCCAAAIIIIAAAggggAACjwqkaKtPlbroVi29WicvY+A6By3jdpnJzTGz Xo6SyN6JYwcE1jr5sl3UX841hMDWHdioz26+va1VCNflv7RFP27as4vbjX4ZueVgfcuWJ35fbgzE PXDqDrPfZ4aaPZxmPs0+CCCAAAIIIIAAAggggAAChoDPajeh+2rcXiViZUxuxfnG9p248YR8+4aQ wnUZ2DdfnD8lji3ezXvp/lfm2yv7ikX5Pr/lM3KLZZb4PZZ7btzeL47ghEMAAQQQQAABBBBAAAEE EDhNoF8qX6+ILqunzTx5zs/LFfAlkeurKvLbVjw/foP6YtyeQmK5+NtXxEXs7YL56uv9OaQ/543u 4cvt/5fWyW9x+7ZU3mfgmze9NWsE1HXyItAvDRvW0zW1mpgw8+3NSvgOTh1xLJI/7USkIAQQQAAB BBBAAAEEEEBgINBFX+JFZ/Jr0eFtZuW1dSGMFCu177db/Lm4vLHZ39oeaiePm75kL16qFt++NvFW +/Khbmclko/V7n9tTqvP4kiSL6ULHy3r5NXjjtrb94vtFuvpwOtXDsRejL/s9hV6JOxila+1OdST N8ovjgd2RwABBBBAAAEEEEAAAQQQ2BGok+0+WH1m8Gn/fvtzj8s4QAABBBBAAAEEEEAAAQQQQOCz BGQiO2egS4bZeBvfo2004vanH/fRevN5BBBAAAEEEEAAAQQQQAABBP6CgJ1v/wutp40IIIAAAggg gAACCCCAAAIIvLcAcft79w+1QwABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE EEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBvy7wxY8l/vUhQPsRQAABBBBA AAEEEHidgP8RupWfmts+cMrPyi+Ws1zP1xFWR/qUeoZKl9pugeg2EPLPEP6QnnLYxXGyVvHQavev bfm4H7e/viHVWtvZGwEEEEAAAQQQQACBHxPwD+Llkfp6/5nH69Xjru5/oq8DW4nblw59YrueWs+l Ro13/pR6plZcbqn3t3Nn9WxZ/8SJ0g8X5acE8gRG0/ZBP9bJdhfhnzKT9XB7KAABBBBAAAEEEEAA gfcXCLmzHIKWVFqXUfO5tPBPPnCH3Nu2JX00P8nnD9yv15Cf/nIe8hAzx1UNrXrG7fWhtuOHRvpq tC3Q6tMVr7VahCyiqV8hHRs+IJvbRCm6m+2f/9JHOzn92SdA6wkZczjGvPEt+2hta3rwfvd73y6x vekjZ3jmsDBLyhXWbXvjGDbqYzTaHLfq+KzHrWuzjNvD+GoS0Or5Mji/7GtFae99++cG1WA8D8ZJ qZE7I9I4stpr1Me13J/H8VyuA3d7vCnJ9tiKXNr7Xy2pIQIIIIAAAggggAACrxewnpv1fODlcklV 3D5YPa6HgCBEMpdb+FPZxwcG+WFfBmDuLyJrvZqHNOopA4utGrGm1Ypmd+C8vcQhTX0GPdKvQ67S iV2Qon+zV3PzdGYGty/HE6bQR+RCc+g7mdWUay7qtmj9nvd2TXC1zWnnQf8ueaaCY3iYR5DeXrs+ o9NKH7fqeJAdXq0Gl6N7383XZmmcyzJDkjq0yBrP4a/9OLE918Z/G7fXq06s9fn6+A8VlfOGr78I ckQEEEAAAQQQQAABBN5WID0t66kuPa6oU4VN3N4Gh/45PTe/PLUriezj6/Ot+KdsF0FGM9cQ40yj Psrm/WW9JVjvX79lxe1qUL0Qt+dwOVlXYdXK+KtKkqWo/Z77NzX6bM+S0K4aYbXXqs9YoMeyxmez pxjea27rcXv8On2Xz9fHc2pvN95sz7yKpl8yoOmN43bDe+eb7ePL0cooZl8EEEAAAQQQQAABBH6d QJW6FK3T4sYqkdZGT2r8IxNxZQcjfjgSz9h5y3Q42ZAmlk5NGNVntcNjmVqQ8rFxu9HvZpx8lucP xe3bchH1tQXLcfvofFnKt1eDUKynMMZz3H02brfaaw/9anR30yjq58xku9/bBe1Pe1XE6inM/ggg gAACCCCAAAIIvKOAulS+hAR5ca3Mn/vs2E6+3a3jLblkOUFgraTddJTjDs0G+7vQqI61mjdm5dhp UJ/1DnOHVH/rajFuT3RycXMKcrrvycsNx8NmPW9s9bud3z7Lsy6nQNS8qb07+fawIL779oG2OMGo fxWuyvXqa25xfsrqX6WeVXtFLazxHAZtP94sz2F/aW5f11v6XsZOGj2eP/ZeKc++fqLxCQQQQAAB BBBAAAEE/ppA//QcHtfrUEesIL7fbvnnr8quow+412mVNfnivWJ1NKUdd9Qbg/27iHeLf0K10zvj JuqzPhKckvLVf7kWOfzZdqv+2L/kLxelvQfu6G+S5c51haaqhS5T+j2/hm3b2++c30qYX20gGrz6 tvWCLsdJKaVeyh6/W58Hn1af1CRZk5G/Pj7lJ27+DX5bs9OuU275/RDmuFXj9n7wOCJjPLftqn8n ohQlLczzMQ6FtgfL/hN9ayTbQz0n372wfh7yCQQQQAABBBBAAAEEEFgVGC+UXS1tav8ulaqmwaeK YicE3k/gQ8bzWcsv3q8DqBECCCCAAAIIIIAAAr9DQPx+VXlH3bObVqVFU4bzR2ry7JZS/p8VYDz/ 2a6n4QgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC CCCAAALvL/ADv6/5/ijUEAEEEEAAAQQQQCAJ+J9au/c/7WZt/ztyywJn/bz1WeWc1VXz9dlij200 +QH11R192fOs+j9ejtWuYXsfP2woQXfLh/6+pR9IjAecdY779R11VsWH9Xm8/idXc7m4vX5pL6rj ftn+2nbkco34AAIIIIAAAggggMAHCfgH4qVHwMtNidt9wKBvfynG9b7UljPr5iCfJvCD7TrTSCvL yhw+1dNq1InOVruenSlV3PxUSg7rmzNk3vl61yZYzh4fz6v/iTU9ME76drnQPPVLPyoG/VLvHIp5 +oTKiXoUhQACCCCAAAIIILAiEHJYMtT0OR4lBVqyXVuIL+JzY3tIo26PkunvKVIQ+zchbsq8bh/b /pV8vrVdaacs3LchHjVuj0+2+X/Fxl9zk8Wjr1bPrvg2UdxMgGRLV674H1vNrbyr7ma1yy5nO0Rx m5uU0Z2N/rL618wnW+PK9+Iobp+ehClHuF9leNk7hErebrnftcEpx0/CVMbz0Hkhbl9xXh2HcUYt h3Xb52vV+Yk7B3vJotUJFYoMvSBjyH5c/VT9R+e70Y9L5+OBdsmLmB636+NfSbbH1hG8r9wA2RcB BBBAAAEEEPgAAf0573LJi2i3HdJDo1z4LFdvWtt989MjfPjvUJQMqNxjrpZrsnJQcvvAV8+DuamG 8kib9wkRXGyyq1D8b6ue437t14dXz+Ldw7Ye12luns4MYdUn/tJekWu16i9LkM4jB6Oeehyuj6tY HSu+nV9v7+pSRd+x9X6IpX4XDj7EKrM66thorfTxrJcfPjsftx9ztnqzd6uGv6+W/Oy8c3XREOdL NRUgDmaNq9Xz6NT6q+e73Y/r5+N8v4gLpbJUx+oXa1zF6cCnLfn5gLsaVUQAAQQQQAABBH6TQMgL 6esq65xRfMKtg94QjoRovCqkiQeav4Y4Jmfz43/kWFQkZKv8sLXd7BArvi3bRcXE3EQMtFyFjHru 5tO0OpVgvV9jbMXtatcsxO1dQjW1WGKGDhj6j/qr633ReKVd6rhKHzHjkNmzzviChungerjMghhz On3c3vaLXf5a3L7ofGAcjuPeWWaflJazRxnA9lTO37er/7gf++uY9+rPxwPtOjR7oiTbZTmjy/t8 T7MnAggggAACCCCAwJsIVKnIWKcqwVOeZs+K2ye/AG/lhyfyxurzdG5ciLvkA3cTS6cmn/lF/Vim 9rD98rh9bugV56GDEc+E+Zk6xDXGFXG7GJpm39jOc93p9qpGXxemzpdjnC+jeZBS+Nz5q1bmufU/ KW6fZzT2nLrsjCe5XNBOvv3hnqAABBBAAAEEEEDgvQTavLtMmPusjVgnL9OTeUln9TjdrmPX4g1r 5WcVD4hSre0Dx/IRuXjaf8BF7G1ytVqemkP6+ZXDEz3qDqm+0Gsxbk+xcNeuvpz6cPvxgOU8cpiP 281xFfEezre7uFTMFBQgy2GYbzectfaOna129duPOU+MvTI1ckvfF9hJ1w4LdReFHBa6S0T3XQN/ 3ch9ceD81Y//dT2//mIKb9SPZr7dPB/n+0WuX+hO6/0ZjGqPlGefPzp7IoAAAggggAACCHyOQP20 J5Z63m838eXvarmrf6NXWipfVr6HN3257e16bLm2tl4rn79PLhfQl93VnXdwy8G7L4QrkXxsZv8q viOHNmomApywh7VefeQmPqQubq/Xvddrdndf7jZorPYnq57mOnxjXJn7Hzh/ZD1LezWHvM3tlqpQ fQ1+9CWO6tsFzVcqxDxX84UQ+da2+aE+HA+LRsVndzQYJfvayPNFfY/jNkcVLgNhbYve2MW6u90f r78vxDjf9fNl9Xw80CxxiIk8uTETFArhjfIH/PkIAggggAACCCCAwBsKdKmz1/yu1RtKUCUE/qDA h5/vpy4D+oPdT5MRQAABBBBAAAEE3lygWi6Q3phfMngTma43byDVQwCBsQDnOyMEAQQQQAABBBBA AAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAAB BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQTeXMD47d83rzXVQwABBBBA AAEEEEAAAQQQQOBPCGw/hXZLv4CmN3gL7L+/93Z6jlU49Pbvfv16zhEoFQEEEEAAAQQQQAABBBBA AIH3EPAxcBuiTybbt912gvtntrGrpPvZdSL5Z5JTNgIIIIAAAggggAACCCCAwCsFQtr6fu2OqSTb XUycctzXe4yOXdx+TblvGfyXvUsgHfPzt1xQDPmt7a5WObGu1VOdXIhNIg3/yoHEsRBAAAEEEEAA AQQQQAABBE4XGMS3fTzswvCUWPehdInb5X+XXPflktfYb7vnnLzM7cujWNvzBEEM4espBnNRgDkf cboiBSKAAAIIIIAAAggggAACCCBwtkCKaq2UdJ9sv9yUnLyrVrVO3u2VypR5crEK39pf314X4pP9 1ar88WL+vWaezUp5CCCAAAIIIIAAAggggAACCJwosKXB1a+Ca8Hwaty+Rf5VCC/z7SXyFnG+Ec+b xw0Og7jdBe3GXMOJhhSFAAIIIIAAAggggAACCCCAwBMFtKXy+mvkq0D8X1k1b+bJc8xcv/VuLd/+ zx1p8J45PW5nkfwThwxFI4AAAggggAACCCCAAAIIvFigjnIHGez89rm8Wj0vY3cp9PQiuhBmixXu 99st/lyctf+gnK0oedy0Tl689S6+Ky9k8cN23ij/4jHE4RBAAAEEEEAAAQQQQAABBF4kME5vv6gS HAYBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAA AQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE EEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBM4X+Lre79ev88ulRAQQQAABBBBAAAEEEEDg/QX4GXff RxvD9/f9+jb9NVufuN/TQ9rZ+owBr/dN2f3rgvBx+dtfb5e36RsqggACCCCAAAIIIIAAAgg8UWDL W36/MAS63tfCrdX9T5RyMG8Ut/+br89rUtHz9bE6RcwQuSi9GRmD8utku/ssufcTRz5FIYAAAggg gAACCCCAwNsI+JBdhqZhQ5P8DBtvN5d+9v9ieBU/fM3bY+gU9/fJUJ8zTTFVLr0pyPKw9o/bq8Nt x7Dq44qXRaVQvCu+bXg1oRGt7r5Bt0tomIg0c944bzQdfHvL/vftX8rqa/XMPPMTLC5uv7SZ7NX6 rPnEFm3d0I6HUH+9vaLrt8Mpcbs+yaMk22PvP32VwducvFQEAQQQQAABBBBAAAEEfr3AIM7pvzks c/LyryGij8uV3U7xv6sY7HKTudDV/Lm+v1GmVR+Zf3bVnMuit98XyAopN5yb6YtMIaP/WBg/loM0 DMniFNyWYvp6zn9/oerciX6x6jM+C/r6DMZDbphsryjf9WhzOKu95jfbu3moX38W00AEEEAAAQQQ QAABBBD4nQIpujFTk2rcXhKfImYukXodpj49bnf521Sj3fooiWP32d18ctv93sVtTOne2MwuU5xr ZDvEfH2VtDfqeWAUrveLUp9lH59Ulwly0Xytvblhclpov7U732zfHd77R2APBBBAAAEEEEAAAQQQ QOAdBKoUcV2hlbi9+lpxjtNeELdvwXM4tkzIN9/rTtVQcrlHuuDMuF0cv+TnT6qnM1nul1IhsV5g Vck6blVOXb4Psxe+nG4m29PM0eRiitWmsT8CCCCAAAIIIIAAAggg8AMC1lL5lbi9+np8DqFLCV1Y VkI75U1kCsJgf3e4dsG8Xp/5FeajbrDi9jZOLuG35VDFtyJ/fE49w5fJq+/Ml+8vyLcC5HDZqs/q oGzeJJfHw6C9i2G2nWxnkfxqb7E/AggggAACCCCAAAIIfIZAFe3IxczlFXR5vbQL/tIuKdd9v93S D3nJtGlZYx1fVFZ9/bt+v90OVKlU946yLvLf4kO9PvK9aPX75Ga7SSr4Km0tCtv6NfelooaDeIld 9XK7rTKDP01WNdROOIhs9np9Jg8adrP89UZ1C/F3f2nASLZXbz9cqjA7I4AAAggggAACCCCAAAK/ XOA1vzdmItbJ9hA35tfD/XL6t2zek/3PWo7wlnZUCgEEEEAAAQQQQAABBBA4XUD8slf7JvDTj9UU qL7l7Afr8+z2fkT5+H9EN1FJBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAA AQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE EEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgQ8T+PI/FHa7mNX+pT/P7X+07n7CT+Wd 5HNafZ48/rR6hjEU/1VDqfw0YD3CrO2lpHZEnuCTC79fv2aUZKv8YJn61EzJE/s81zn4ay06wXmi de+/y1kOC+WMx+dJ15mz5PV2nXL++vPutWfbcZWF/j1+kIVPvlt9xlWfr62+p3Udy5fuZhiV8anc +n1h8r5j39dcq/R72HyLFjr1abum2jbnrWSyb3oPXK+KUmUcHyEeOfd1//3xMNfvw/Gj9JI1Pu37 r97V1nW1L2fsOS7H8Q8igVw147w48Ly0dj7ms+6M5/annVPPKHj+qjLeU/nrmz1XnKU3L3bWEX05 fkDPnEMnHHU71ouO1FX25478zwG/0/n/I/U54K/U0xpA/pIQ+lxeHdzYTgNu217GXr1/MyaXfAbt 2o4+/VxQ1W7hc2eM8+c5R//LTXVYcl69+hwYb6uHUPc/cNyzHFbLWRmfps2B9q46K+068/ydPkdX 6332/qv9e/bx2/LerT577XWXob193N/7dlnXMXGvcU9v+T7i/kc6Vn+WuZvStT5v7AejwePZx/q3 HTF5DTl6vYqHyx/P99pH7rPqOLHGQ3goyc8n5XnD6Pfx+OnHsDU+x/df5Vww6qmWM/Icl5Oe0/Zj AcNHDpiZUbF8Pvoaftr5VfXn5DmlXQ+PXyfr0mbLmbkm//g+A89unITh9rzcW5iDqm5meWr3fr2G PLE7fJjf2v47zVqJYChlP3NFY6H+4/5faYI7Dbc7VpcvHcynlrnmrUYiDipTbvft3/B+3E0MxtrH 7bF6+X8N6h8mOXKzwmDS5h2rblMnRvr6j91ayjSQdR+tnnnoT07UjBzSkPC1KpdffZwY/kfcjOt4 vblcL+R2eX2vAsmuzEmfvuOb+5B6RzHGbRW3yxqJAfd5znHIDeL2/Vt3usl3V5MwfkIBVTbAOt/z zbi+/rzbOI/tuuXrZ2WkjofgPDtu04WgH5+D67AybgfO9nXy1rXrwHXgnPM3ornrv6iD11avn+r9 Yru9uVvc3ffW7RIvx0fujwccBvej3tl69DHPo+Z86e6zk+NtdH6Vu1f7oGPd3437ZrkLxSLDI0HV ryV+y/dwcTMvj1lmu4zrWH4MUC9mzVkWQ7vmpmPc11z97WebD/UPl2s5h14eEO3xEDrTWtTQPiVr /Z7Hf3X0tLW/rh45H8U5JrvUvF5Z/V6XMxsDWONzOG7lZWF8Xd26Ta1J72mVYz2PiXt8fQ5N+HQB VRhD5oPF1Pm4fj/dj1NSlaz7++i+r96PmiejHB8t3pfPvE4a593ac4XVLuP57Sc97XES73qnB+9q udtGGdNWZ2l6NA6PyXG3yyUvey+fjUFdOnOcq1KqehVurgtyEtt3T4mx855yLs16NPEPtdqZXF+J 8j4iIgj3/vhZeeNwm+fm78UsbKygbLusv3Xc/GQw6TOuZ18fy812EI9ZYm41jI0wV1ONE8t/0GF1 5rzAlWcu0aGiDn6cVJmPZp7F11FAds9G8z7muPLVHY/wetxW977cfX6IpVP/A51jr9n3++knEv06 U93WjXNZDjHL893GuRzDchSNxoN6vgzPr358WtcZ63pljX/r+mO1a1jNagVN2PPU8zfH7XJerJpr Ltd5dYzlVqXbVRmWi/fHVYeznK3zaNDv4Uo/ef6a9zXDxzquvr17uE+9JCvob0tH79fj61geknX3 pSd5cdDyKNHUuXrUru5r99stpQpa7A/2F82vTiljPFjXJWP7Tr/3ceb4umqdlUP/KtloXq+sfi8P UrODtrssilofjtub8+Vw3F7KqSZmtPOli9vV5738ye7cTw+g/dP+yvkYT+nZ65sVp1jjyroP2vd9 /X5kHXfxvnzWdXKnnPnn4U/xTE8jxjgJZ/fcTWd864/hRJUEl+dAfY9p4nblJl1dd0q0JGP4EMCE 02jwnB3+Wh9isNBCnP9zi/ytdQ5lu7gq6fWvG5tTzcrm/WUSev0tN/P+pI4Jo577I6Pbw3Sor4r1 rddaFN1eSQ+5VXcj2fOlNDfvWPJd+ahf15sIgUdx+xLU4jp5a9zK7WJ26sOdJ55357CN68zgeqL0 i/l87zLVUjruaO8/eEjqj3tgnOvtGtdnDlLu1d9H7edj83qrO7cJzTJv2+fZDviM4/YliZhnkxfS 4fVTuV94x/iknbL1cqI6Y+S2q+Nt2cGup3FeVBcZuVTKPo+W77MqvnlfM85r+ZXuOnVm3TcdbZjY D7M6yhmaumnZOTfJin/k43bX/u5htpwb+qyHCCvTg5+fus3DbGl8+53fyj9UPz7rNY0yx0MGUBJY 7XWs6abOrY3bjevq8XHSjYep61U/neChxPgxz9+d+2w7bs1ydur5eNyeE35uOJfnsakRrfl0Xbdf 0vL5OFOk9RxuPL9Z11vzvq/fTwfxkZantO4XxvmyPP73zjvteUO9nhvtsp9/fsZzf2DEq5Yebs99 vN2rmgoSz2tlv6YblJO2mnCUdk0Anv9kPx+o1+XRuJT1nJnSMOOr1C65g1H/ufqs9odXrG5mqYRm oHbj3qrPafXUHezzR3laSm154Ps2Fuh+860JheoWcODaL2q0GLeLT4p+b1YOxp0+33nneWL2TDGv M4PryWLcXj1Cx2J/zt+8fw/mcWYxy37afXT0fJx7U15vtfFvXn/G1//5Fpx6/n77JeVSdnj97O8X OTBI1UrNXL4/zgvER3pjLn/VeWr/6nq1VlPzftp8h059Z611XLHd94n7//n/Lw3JvefItTZse2tx i3+6HS870IbT6KZT9neFiy4+/H3sd/T3mDWDeb6I59PXxe3Lw8N/QB0Pc9er/eeZnSpZ80rW9q64 nXouxO3ieir62Hoem6NWfA49Va6ej7u1e3KcmSci24osxu1WOWddJ/fKsZ43uueKT/HcHRj+anBW vj0fLWbxxZWw+QL5Tr49P6+ky5XMJ6jPdotxe7MSz83NhENU9yFjnrJBLR8pxcRd3Mlfj7k0cy92 iA9Ksytnxl1q1d86rnXfqm50foV68Km37w8vaw+rPvVzQH2aGRf3gf98/eRkkzsl9K8+lM3meBOT vXPDx6zjoF39dcoet3otPt45sE0/N+jK9nWmCHePS2q/WJ7vNs6tcTsaD/NnUdpzPm4fXG9VZ+v6 MxUfzjTk9PO3vimMr5/t/cKK29fvjzNNl/uc5WydRwfus2oT9PNr5CMePcSl0azPlsfb1pNv66m2 S832roEY/1cXVdfDDz5Cddcxq0x5a+oeN7xQHbAO7muiqOPT8W/pH1Jt4hZujwfr+cfYvtPv/b32 rOuqOcaM65XV7/vjRz3NHo7bZRJceSKZjtutcobX/248+HUi+UKgPO/pk196OdU3J/vnxtE82v5V 2XoOt8aV5WBtt67z1nGrEElcgIxyzrpO7pQz/zz8KZ6jkeGfSB+945gHaEoP/9P/86+hCTF9OBOU L5rI3cP3sHJcXb6Wlaaj885un1SkP0Rbfv+qs3Dsal5g/L2XvsHlIN1Z291at/Otr38osgA1d539 s7vsYRViHHfZ57x6Gg6i40W/mOOkHkRatD2tJwaoeBmhPHJVvPmHUs5D1VF/pMfsL7vf82iuUzcf 7txCHH1utq4z4r1T1Xs0zfGme7p5QP18/wl/+zrZvgPz6Mi1xufyuB2c1/1QH7Vr+vTPO55y/uaZ 69zyfPqNrvPyfiFb5UsJWcRwVVy6P64b6PejI86losr7aNO16ehw8/Ps6vll+6iPG/bN1xUUuq5/ 5MvV929EPHQJ0q9j9cWhjkHFJ7oj9oOtul+3+w8eXGaHzHv698/xxnhYvl5VT5ThDY1e1bj8n3Rd HY0HMXTr00h/npENmBix1n32wP1Xva5a5Zie8jl57nnM+l664dPPfeVzIVS2uVgtn4+zp1baT94v yrE1IOv6PL5uTzw61m02Lht6OdVj8vHrpHHeHXmu+BRPbZyE9k6++2V1oO3t319V9z4h49IfqvR8 FeWe3Tzi4QVpx44vHkbfy+2nHB5k5OMILAkwzpe4/vrOD64fadaL/QFNzq+f7WT8f9afoyOAAAJP FBjMb00e9fESJg/0+G5qNvan6v9Tx7UY360+j3c3JSDQCzDOGRWTAubqncnP+93+2nj7a+1dGQuv 2Bf/VyhzDAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAAB BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgQ8X eOT3FD+86VQfAQQQQAABBBBAAAEE3kBgi0ncL8wbvzG//WrOe/0c+c+I+R8Pul8XD2596lhpiwev dj/3iO/TLstEr2Ee6t+3S/3Jsc/21/YDj3QGn0UAAQQQQAABBBBAAAEE9gV8AFOFIqdkFK/354Y3 zy5/AOfAluP2rbzLTf+UtX2/747tcbT+dmD8Hu2y6qe0109Bhf37QHzgU58aLsJnJuvYIORTCCCA AAIIIIAAAgggMCcQco5d0NXH7YM8fMrQb+Vs/3wsVFKZIXkvZgXkn9Jxw7bbzaWxm931Zljlx+0x ksr/KzbymssXoZZdn1SZ+P/K8Kyb6PDBX/pXBXKi/NtFxOfG9oC5lZD+nuY+tHoGHMV/uD1+ZHJS 5RPa1Q2HdsFI31+uJ77S4No+X2so/Rv3VZLtcXTl0ubOPPZCAAEEEEAAAQQQQAABBPYFBvGGlW9X 4/kcAIXkYz6wmg+/bpF9inBcuFWF7jF4msz26/n2KiDbYtpYZpgZiOuh3YHzdr0+Yz7l+wKXS15s XUp30XzFk9prbfeHDaFykLncQkUHbqq/NGz6JRxhNkv8Ue2yeq1vbxu311NXlo85Mo35r/2TkD0Q QAABBBBAAAEEEEAAAVUgRRlminA+bq8SzfVieyWuVhKjJVYvKc869rY60VonX7aLckQs7cqLGVaj Prv5W6VK9WdiW5qGeNYQjbc5eRk39s233Wx/kSh/5PvYn9CuA/01jtuNIbfzzfbd04rLEQIIIIAA AggggAACCCCwJuCz3XrovhK3i4OK7wxvW7W42vwid7VU+bG4PUfFsgIyX13idvML52uSTQK7tOWs uH2ynrV/aYO1fb+VVeL5F7Wr/k57t07emu0aLFKQi0f2XdkDAQQQQAABBBBAAAEEEJgUsJbKz8ft VTxc5yPLn1zqN2eg9cmCQ3F7CqNE+aHhLmJvF8zra/gXVowPTHMiPUwJlBX5lYhYr25t98fQpi2s elr+g36ZHBtut9/aLt+0W5q0mntBvL0Xi+QXhhS7IoAAAggggAACCCCAwAGBKuqQi6vlK+Ks7eKl aPXr50L8qb5nrrxHLX0kr3N2wX361P4XsI3y06GrV41tceztFn/irvmVu74+hxXDL+iFA5WJivzC uvDmvbRUvrz3rmxvnWUb1HpalT+lUWkWItT0V7XLT+7MvgYxzWD0i1PSqwh4Kd2Bc4aPIIAAAggg gAACCCCAwJ8W6FLWzTr5P41D45cFzlmWsXxYPoAAAggggAACCCCAAAII/D4B9W1s4pfSyuvuf1/b aRECCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII IIAAAn9Z4IsfFfzL3U/bEUAAAQQQQAABBBB4T4EtUPn+/r5dfqB24dDbv/v16wcOv3ZI/yN09xN+ am7x58JPO+6wuY8f5fES1vrj6N7jem5//ZFT4Whr+BwCCCCAAAIIIIAAAgj8AgEfG++EIts+Pxis fEqG00GeEbevDqpXHfdye6x1r6rnql+7/6Ce9VB0Ef4nzCg9CsLnEUAAAQQQQAABBBBA4OcEQjq7 DsZ8tjHmuPOKYBe3X1PuWwb5Ze8SwMT8/C0XFEN+a7trf06saynrybh9VH5fz9j2u6/l7RJ3SLMT Wn3ktmRUhW3VBMi4fM1NMshocNQuP3YmJl6S8N1obygk/hNTNKLNzigPlcd90qgvx71v/9JqBXs8 9ONTrgcJf816ofDtf6byRv2bz0PbU0m2x1Po/ZeD/NxlhiMjgAACCCCAAAIIIIDAQQE13nBhTxXa xAjIhz3lv0tUebnk5fPbLjngkzl8GXVb2+VXht0+9VTCZNye4t4yTbBTz1yb1Oy8rGBcH0u8Xd9u l//PcAsl9+213ML+s+vqR+0VExC+uK7gavX4OT51S0PyOrTIKn8wPstkg5teEGF0CuWDVNhtXH/L 0xyH2vzXwdOSjyGAAAIIIIAAAggggAACKbhV1/eaC6FzQBuCnxIX1TloGbercZRejpLIrlblL8Xt evym1tOXGwNf/7FYPaM+u/n2dnRZ5ec+UBLcrgw1bjfj0vkxPWhv/S2I2MNNAJw/fpZPpO/y/OZ4 WB+fzXANVnvjzRDd+WZ7Ct7JvM+PSPZEAAEEEEAAAQQQQACBoYDPajcxxmpcVCUmZUxuxfnG9p0v Tj8ctxv1NOPqR7/IHeEH5Qv7yiTFlU3XmPMmS4P8rLjdz9wsHXlqZ5nn18tfHZ/+sM3sQ9o0VSWx 03gQuqD9GSartWR/BBBAAAEEEEAAAQQQ+GUC/VL5eoVwWZVs5snrLyQfzLfvrfR+NG7P8erWfz4r KlfShzgubMrNnF15Ph4QgzjZcAvlvTrfXq8bD5FuDHnFuwzkOvZzfJrjiny2Vf5gfCrf6AiaStw+ /c2C0r92sj3l2X/ZxYHmIIAAAggggAACCCCAwNsIdFGHeD9ZDNrysmIX26bXgoUwSaw4vt9u8efi rP0H5WxFyeOmyFq8va1/ZVpHuFbP/Jq9rVXxu9vx7WXpK9B5/fahX8GTtenKV90Kbjmyq8vYbXYk DevTLB2Xa/JFXfybBstX0B/z8fXWOj02yPpTPz7jVEd5m2Ko5jY+2/Ejvw0wOHRPaswcNW/Bm+0K 9kMAAQQQQAABBBBAAAEEEEAAgRMFzlpecGKVKAoBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ QAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAA AQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ+HsCxm/C/z0I WowAAggggAACCCCAAAKPC2wBxvf39+3yeEnLJYRDb//u16/lD7/6A9uvfLuKGodV/vr4z4Kf6jOu /1majx/l8RLOasu4nN3x8COn1GvazlEQQAABBBBAAAEEEEDgVAEf++2EENs+PxhkfEpm0kGacfvW Z5fb6K/HO/Usn736H69h/clHHV5Vz0fbO6hn3WUuwv+EmalHQfg8AggggAACCCCAAAIIrAuEdG0d TPosYcxxX+8xmnBx+zXlvmWQX/YugUfMz99yQTHkt7a7eufEsZaynoxLR+X39Yxtv/ta3i5xhzQ7 odVHbktGVbilTICIz7hjJOpBnjwrf9+3fy57HzvpKjqmXnyg+Gj9kpBLn4aVDHncTEzgpJ66G26x toFHTPUYDmq/H3GWx01u43HVj3O5riT8NcfSoVO2/5nqNhonE55b8e08WOzl919Wsn6Z4RMIIIAA AggggAACCCBwUECNE1y4UoUkMsYr/11yg5dLXj6/FZhjEZnDl1GltT1PEMQQvp5KmIzbU/hfpgl2 6plrk5qdlxWM62OJd+ve5QZl1XTfLrklJGHDsapvKrhqV1GfFrfr/eJT/iU0bFZRzK7bH7mJiQxf nK++6XCSswv/c7tqt9JcV+vkORjnRba2co3I0xyXW9htXH/L0xzP2jzawdObjyGAAAIIIIAAAggg gMBHC6TooE/tmQuYc0AborA6GMq55ypuV+MfvRwlwboXlxodsFZPHz/FuNIfMH7cqM9uHritVBP4 5cOl/bT4TSTKRXDeROpVM32121XWdV2lZonVm+rNj+mBW51FjkewHM5yjl2Yx6GWDI9/DH9aH+fN sA9We+PWEFWS7XJP+/Sc7yH2RAABBBBAAAEEEEAAgV8h4LOPTei+Gs9UCUUZTFrxs7F95wvPZn6y 6wizfNHWso8Vf571RfQjcbtoUslXV3ndMr9gxv9mv6Sg1fX78VcWnBW3n+XcDAOZ59dfKLA6zv0B lGmOI1/UHw9muSjgV1xmaAQCCCCAAAIIIIAAAgg8JtAvla9X9pbVxGaePMdFPkso18kv5NvrhdR9 mx6N22WiW9bTjNurhd0PGFeZVbl+O5TZt6tKnItPN284a0Luthyrvakl7uOHk+2p3iGUDV2eh0ed +M9hrekwuzJ/rw8sN6v8wThXvhkSjq6JrdffTranPPteW/k7AggggAACCCCAAAIIfIbA/wMg5Dz6 33Z/RAAAAABJRU5ErkJggg== --_26dd9241-5ba4-4ca9-8161-174c50dea683_--

Paul, Short answer: your approach will not work. I mentioned the custom hooks and engine-config/UserDefinedVMProperties for a reason. Please follow my advice first before asking further advice. Longer answer: your changes to the libvirt domains would apply on next domain cold start but that will never happen because vdsm always creates libvirt domains as transient ones so the libvirt domain will disappear on guest OS shutdown. On next start of the same oVirt VM, vdsm will creates a new domain XML that will be used to start a new libvirt transient domain. In order to make this new libvirt domain use your desired parameters, you have to edit the XML before it is used to start the libvirt domain and because we humans are too slow to do that and too annoyed to do that on every VM start, vdsm hooks mechanism was devised and a script in before_vm_start can do that changes for you (with input variables defined in engine-config and set in VM's custom properties). So back to my original suggestion: do you still think that it is wise to try method that is more complicated and less secure than the custom launcher method? Regards, David On Po, 2014-09-22 at 11:11 +0800, PaulCheung wrote:
Dear David:
I am trying figure it out using my way. So I used "virsh edit vm", I change the port the 5980 & 5981, but still not work!!!
I found after virsh edit, there is a xml file here /etc/libvirt/qemu which I edit using "virsh edit vm".
And I also run this command : "virsh define vm.xml"
also not work. Can you tell me where is the file I can fixed the spice port.
Sincerely yours, PaulCheung
tel: 180-8882-7173
Subject: Re: [ovirt-users] Bug: Spice port changed!!!!! From: djasa@redhat.com To: eq2008@msn.com CC: users@ovirt.org Date: Thu, 18 Sep 2014 15:27:50 +0200
Hi,
2) is not a file, it's a key in engine-config 3) is a VDSM custom hook that needs to be in all the hypervisors in DC/Cluster
Follow vdsm custom hook documentation (I don't have a link from top of my head but web or ML archives will surely help).
David
Dear David,
Thank you for your help . Your answer is very professional.
I still can't not find a way to stick with static port assignments For I don't understand you telling me , 2&3, where I can find the file to modify?
However, if you _really_ want to stick with static port assignments, do the following: 1) designate the port range so that it doesn't collide with other ranges in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe) 2) add a custom VM properties to the engine for setting of port and tls-port 3) add a vdsm hook to before_vm_start directory on each host
add "port" and "tlsPort" parameters to the graphics element of
will libvirt
domain xml
Sincerely yours, PaulCheung
tel: 180-8882-7173
Subject: Re: [ovirt-users] Bug: Spice port changed!!!!! From: djasa@redhat.com To: eq2008@msn.com CC: users@ovirt.org Date: Wed, 17 Sep 2014 10:40:42 +0200
Hi Paul,
This behaviour is by design. It is a bad idea to override it. A good approach to your problem would be to write a launcher script
On Thu, 2014-09-18 at 14:51 +0800, PaulCheung wrote: that that
1) connect to the REST API 2) get the VM connection details 3) get new VM ticket 4) write this info down to a temporary .vv file [3] 5) launch remote-viewer
Some info how to use REST API is described here [1] and .vv file
would: format
is documented in virt-viewer sources [2]. Please note that [1] is a bit outdated: * you can use HTTP header "filter: true" to be able to log in as non-admin * you only have to use password login once when you use "prefer: persistent-auth" HTTP header and you send the cookie you got in a response to first request. In the future, the steps 2-4 will become a one step of getting a ready-to-use .vv file from the API [3] but we aren't there yet.
[1]
http://www.ovirt.org/How_to_Connect_to_SPICE_Console_Without_Portal
[2]
[3] https://bugzilla.redhat.com/show_bug.cgi?id=1128763
However, if you _really_ want to stick with static port assignments, do the following: 1) designate the port range so that it doesn't collide with other ranges in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe) 2) add a custom VM properties to the engine for setting of port and tls-port 3) add a vdsm hook to before_vm_start directory on each host
add "port" and "tlsPort" parameters to the graphics element of
will libvirt
domain xml
Best regards,
David
On St, 2014-09-17 at 10:41 +0800, PaulCheung wrote:
Dear all,
After shutdown the VM, then restart the VM the Vm's spice port is changed!
Because I have 10 terminal ARM-Box running spice client connected to the vm, but after the VM shutdown and start again, the vm not
one
whice the one before.
I wish you can let us have a option, to let the VM with a fixed spice port, like: vm1: spice port : 5900 tls:5901 vm2: 5902 5903
And I have another recommond: have a fuction to do that :
if the vm shutdown by user, it will start the VM automatic. That means the VM can not be shutdown!
I hope you can have this two fuction! That means a lot to
https://git.fedorahosted.org/cgit/virt-viewer.git/tree/src/virt-viewer-file.... that the those
who
are using Terminal box user like me.
I am sorry for my poor English. But I hope you all can understand what I am saying.
Sincerely yours, PaulCheung
tel: 180-8882-7173
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

--_3eb3059a-99b4-4db4-a038-3ac104986465_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 RGVhciBEYXZpZDoNClRoaXMgcHJvYmxlbSBoYXZlIGJlZW4gc29sdmUhISEhISEhISEgICAgVXNp bmcgdGhlIHZtIElEIHRvIGZpbmQgdGhlIHNwaWNlIHBvcnQhDQoNCiMhL2Jpbi9iYXNoY3VybCAt ayAtdiAtdSAnYWRtaW5AaW50ZXJuYWw6cGFzc3dvcmQhJyAtSCAiQ29udGVudC10eXBlOiBhcHBs aWNhdGlvbi94bWwiIC1YIEdFVCBodHRwczovLzE3Mi4xNi4xLjExNS9hcGkvdm1zL2VhMjczNjUz LWIwODMtNDExNC05ZWQ0LWJiYjBiYjVkMzhjMSA+IC4vdm0uaW5mb3AxPSQoY2F0IC4vdm0uaW5m b3xncmVwICc8cG9ydD4nKXAyPSQoY2F0IC4vdm0uaW5mb3xncmVwICc8c2VjdXJlX3BvcnQ+Jylw b3J0MT0ke3AxOjAtMTE6NH1wb3J0Mj0ke3AyOjAtMTg6NH1zcGljeSAtaCAxNzIuMTYuMS4xMTUg LXcgMTIzNDU2IC1wICRwb3J0MSAtcyAkcG9ydDIgLWYgLS1zcGljZS1jYS1maWxlPS9ob21lL2N1 YmllL2NhLmNydCA+L2Rldi9udWxsIDI+JjEgJg0KDQoNCkl0IGlzIGF3ZXNvbWUhICAgIEJ1dCBk b3UgeW91IGtub3cgd2hhdCBjb21tYW5kIGNhbiBzdGFydCB0aGUgVk0gaWYgdGhlIFZNIHN0b3Av cG93ZXIgb2ZmICAgPw0KDQoKDQoNClNpbmNlcmVseSB5b3VycywNClBhdWxDaGV1bmcNCg0KDQog dGVsOiAxODAtODg4Mi03MTczDQoNCg0KPiBTdWJqZWN0OiBSZTogW292aXJ0LXVzZXJzXSBCdWc6 ICBTcGljZSBwb3J0IGNoYW5nZWQhISEhIQ0KPiBGcm9tOiBkamFzYUByZWRoYXQuY29tDQo+IFRv OiBlcTIwMDhAbXNuLmNvbQ0KPiBDQzogdXNlcnNAb3ZpcnQub3JnDQo+IERhdGU6IE1vbiwgMjIg U2VwIDIwMTQgMTQ6NDQ6MDMgKzAyMDANCj4gDQo+IFBhdWwsDQo+IA0KPiBTaG9ydCBhbnN3ZXI6 IHlvdXIgYXBwcm9hY2ggd2lsbCBub3Qgd29yay4gSSBtZW50aW9uZWQgdGhlIGN1c3RvbSBob29r cw0KPiBhbmQgZW5naW5lLWNvbmZpZy9Vc2VyRGVmaW5lZFZNUHJvcGVydGllcyBmb3IgYSByZWFz b24uIFBsZWFzZSBmb2xsb3cgbXkNCj4gYWR2aWNlIGZpcnN0IGJlZm9yZSBhc2tpbmcgZnVydGhl ciBhZHZpY2UuDQo+IA0KPiANCj4gTG9uZ2VyIGFuc3dlcjogeW91ciBjaGFuZ2VzIHRvIHRoZSBs aWJ2aXJ0IGRvbWFpbnMgd291bGQgYXBwbHkgb24gbmV4dA0KPiBkb21haW4gY29sZCBzdGFydCBi dXQgdGhhdCB3aWxsIG5ldmVyIGhhcHBlbiBiZWNhdXNlIHZkc20gYWx3YXlzIGNyZWF0ZXMNCj4g bGlidmlydCBkb21haW5zIGFzIHRyYW5zaWVudCBvbmVzIHNvIHRoZSBsaWJ2aXJ0IGRvbWFpbiB3 aWxsIGRpc2FwcGVhcg0KPiBvbiBndWVzdCBPUyBzaHV0ZG93bi4gT24gbmV4dCBzdGFydCBvZiB0 aGUgc2FtZSBvVmlydCBWTSwgdmRzbSB3aWxsDQo+IGNyZWF0ZXMgYSBuZXcgZG9tYWluIFhNTCB0 aGF0IHdpbGwgYmUgdXNlZCB0byBzdGFydCBhIG5ldyBsaWJ2aXJ0DQo+IHRyYW5zaWVudCBkb21h aW4uDQo+IA0KPiBJbiBvcmRlciB0byBtYWtlIHRoaXMgbmV3IGxpYnZpcnQgZG9tYWluIHVzZSB5 b3VyIGRlc2lyZWQgcGFyYW1ldGVycywNCj4geW91IGhhdmUgdG8gZWRpdCB0aGUgWE1MIGJlZm9y ZSBpdCBpcyB1c2VkIHRvIHN0YXJ0IHRoZSBsaWJ2aXJ0IGRvbWFpbg0KPiBhbmQgYmVjYXVzZSB3 ZSBodW1hbnMgYXJlIHRvbyBzbG93IHRvIGRvIHRoYXQgYW5kIHRvbyBhbm5veWVkIHRvIGRvIHRo YXQNCj4gb24gZXZlcnkgVk0gc3RhcnQsIHZkc20gaG9va3MgbWVjaGFuaXNtIHdhcyBkZXZpc2Vk IGFuZCBhIHNjcmlwdCBpbg0KPiBiZWZvcmVfdm1fc3RhcnQgY2FuIGRvIHRoYXQgY2hhbmdlcyBm b3IgeW91ICh3aXRoIGlucHV0IHZhcmlhYmxlcw0KPiBkZWZpbmVkIGluIGVuZ2luZS1jb25maWcg YW5kIHNldCBpbiBWTSdzIGN1c3RvbSBwcm9wZXJ0aWVzKS4NCj4gDQo+IA0KPiBTbyBiYWNrIHRv IG15IG9yaWdpbmFsIHN1Z2dlc3Rpb246IGRvIHlvdSBzdGlsbCB0aGluayB0aGF0IGl0IGlzIHdp c2UgdG8NCj4gdHJ5IG1ldGhvZCB0aGF0IGlzIG1vcmUgY29tcGxpY2F0ZWQgYW5kIGxlc3Mgc2Vj dXJlIHRoYW4gdGhlIGN1c3RvbQ0KPiBsYXVuY2hlciBtZXRob2Q/DQo+IA0KPiANCj4gUmVnYXJk cywNCj4gDQo+IERhdmlkDQo+IA0KPiBPbiBQbywgMjAxNC0wOS0yMiBhdCAxMToxMSArMDgwMCwg UGF1bENoZXVuZyB3cm90ZToNCj4gPiBEZWFyIERhdmlkOg0KPiA+IA0KPiA+IA0KPiA+IEkgYW0g dHJ5aW5nIGZpZ3VyZSBpdCBvdXQgdXNpbmcgbXkgd2F5LiAgIFNvIEkgdXNlZCAidmlyc2ggZWRp dCB2bSIsDQo+ID4gSSBjaGFuZ2UgdGhlIHBvcnQgdGhlIDU5ODAgJiA1OTgxLCAgIGJ1dCBzdGls bCBub3Qgd29yayEhIQ0KPiA+IA0KPiA+IA0KPiA+ICAgDQo+ID4gDQo+ID4gIA0KPiA+IA0KPiA+ IA0KPiA+IA0KPiA+IA0KPiA+IEkgZm91bmQgYWZ0ZXIgdmlyc2ggZWRpdCwgIHRoZXJlIGlzIGEg eG1sIGZpbGUgaGVyZSAgL2V0Yy9saWJ2aXJ0L3FlbXUNCj4gPiB3aGljaCBJIGVkaXQgdXNpbmcg InZpcnNoIGVkaXQgdm0iLg0KPiA+IA0KPiA+IA0KPiA+IEFuZCBJIGFsc28gcnVuIHRoaXMgY29t bWFuZCA6ICAgICJ2aXJzaCBkZWZpbmUgdm0ueG1sIiAgICANCj4gPiANCj4gPiANCj4gPiBhbHNv IG5vdCB3b3JrLiAgICBDYW4geW91IHRlbGwgbWUgd2hlcmUgaXMgdGhlIGZpbGUgSSBjYW4gZml4 ZWQgdGhlDQo+ID4gc3BpY2UgcG9ydC4NCj4gPiANCj4gPiANCj4gPiANCj4gPiANCj4gPiBTaW5j ZXJlbHkgeW91cnMsDQo+ID4gUGF1bENoZXVuZw0KPiA+IA0KPiA+IA0KPiA+ICB0ZWw6IDE4MC04 ODgyLTcxNzMNCj4gPiANCj4gPiANCj4gPiANCj4gPiA+IFN1YmplY3Q6IFJlOiBbb3ZpcnQtdXNl cnNdIEJ1ZzogU3BpY2UgcG9ydCBjaGFuZ2VkISEhISENCj4gPiA+IEZyb206IGRqYXNhQHJlZGhh dC5jb20NCj4gPiA+IFRvOiBlcTIwMDhAbXNuLmNvbQ0KPiA+ID4gQ0M6IHVzZXJzQG92aXJ0Lm9y Zw0KPiA+ID4gRGF0ZTogVGh1LCAxOCBTZXAgMjAxNCAxNToyNzo1MCArMDIwMA0KPiA+ID4gDQo+ ID4gPiBIaSwNCj4gPiA+IA0KPiA+ID4gMikgaXMgbm90IGEgZmlsZSwgaXQncyBhIGtleSBpbiBl bmdpbmUtY29uZmlnDQo+ID4gPiAzKSBpcyBhIFZEU00gY3VzdG9tIGhvb2sgdGhhdCBuZWVkcyB0 byBiZSBpbiBhbGwgdGhlIGh5cGVydmlzb3JzIGluDQo+ID4gREMvQ2x1c3Rlcg0KPiA+ID4gDQo+ ID4gPiBGb2xsb3cgdmRzbSBjdXN0b20gaG9vayBkb2N1bWVudGF0aW9uIChJIGRvbid0IGhhdmUg YSBsaW5rIGZyb20gdG9wDQo+ID4gb2YgbXkgaGVhZCBidXQgd2ViIG9yIE1MIGFyY2hpdmVzIHdp bGwgc3VyZWx5IGhlbHApLg0KPiA+ID4gDQo+ID4gPiBEYXZpZA0KPiA+ID4gDQo+ID4gPiBPbiBU aHUsIDIwMTQtMDktMTggYXQgMTQ6NTEgKzA4MDAsIFBhdWxDaGV1bmcgd3JvdGU6DQo+ID4gPiA+ IERlYXIgRGF2aWQsDQo+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gVGhhbmsgeW91IGZvciB5 b3VyIGhlbHAgLiBZb3VyIGFuc3dlciBpcyB2ZXJ5IHByb2Zlc3Npb25hbC4NCj4gPiA+ID4gDQo+ ID4gPiA+IA0KPiA+ID4gPiBJIHN0aWxsIGNhbid0IG5vdCBmaW5kIGEgd2F5IHRvIHN0aWNrIHdp dGggc3RhdGljIHBvcnQgYXNzaWdubWVudHMNCj4gPiA+ID4gRm9yIEkgZG9uJ3QgdW5kZXJzdGFu ZCB5b3UgdGVsbGluZyBtZSAsIDImMywgd2hlcmUgSSBjYW4gZmluZCB0aGUNCj4gPiA+ID4gZmls ZSB0byBtb2RpZnk/DQo+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+ID4gSG93ZXZlciwgaWYgeW91IF9yZWFsbHlfIHdhbnQg dG8gc3RpY2sgd2l0aCBzdGF0aWMgcG9ydA0KPiA+IGFzc2lnbm1lbnRzLA0KPiA+ID4gPiBkbw0K PiA+ID4gPiA+IHRoZSBmb2xsb3dpbmc6DQo+ID4gPiA+ID4gMSkgZGVzaWduYXRlIHRoZSBwb3J0 IHJhbmdlIHNvIHRoYXQgaXQgZG9lc24ndCBjb2xsaWRlIHdpdGgNCj4gPiBvdGhlcg0KPiA+ID4g PiByYW5nZXMNCj4gPiA+ID4gPiBpbiB1c2UgKGUuZy4gUkhFViB1c2VzIDU5MDAtNjAyMywgc28g NTgwMC01ODk5IGNvdWxkIGJlIHNhZmUpDQo+ID4gPiA+ID4gMikgYWRkIGEgY3VzdG9tIFZNIHBy b3BlcnRpZXMgdG8gdGhlIGVuZ2luZSBmb3Igc2V0dGluZyBvZiBwb3J0DQo+ID4gYW5kDQo+ID4g PiA+ID4gdGxzLXBvcnQNCj4gPiA+ID4gPiAzKSBhZGQgYSB2ZHNtIGhvb2sgdG8gYmVmb3JlX3Zt X3N0YXJ0IGRpcmVjdG9yeSBvbiBlYWNoIGhvc3QNCj4gPiB0aGF0DQo+ID4gPiA+IHdpbGwNCj4g PiA+ID4gPiBhZGQgInBvcnQiIGFuZCAidGxzUG9ydCIgcGFyYW1ldGVycyB0byB0aGUgZ3JhcGhp Y3MgZWxlbWVudCBvZg0KPiA+ID4gPiBsaWJ2aXJ0DQo+ID4gPiA+ID4gZG9tYWluIHhtbA0KPiA+ ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4g DQo+ID4gPiA+IA0KPiA+ID4gPiBTaW5jZXJlbHkgeW91cnMsDQo+ID4gPiA+IFBhdWxDaGV1bmcN Cj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiB0ZWw6IDE4MC04ODgyLTcxNzMNCj4gPiA+ID4g DQo+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW292aXJ0LXVzZXJz XSBCdWc6IFNwaWNlIHBvcnQgY2hhbmdlZCEhISEhDQo+ID4gPiA+ID4gRnJvbTogZGphc2FAcmVk aGF0LmNvbQ0KPiA+ID4gPiA+IFRvOiBlcTIwMDhAbXNuLmNvbQ0KPiA+ID4gPiA+IENDOiB1c2Vy c0BvdmlydC5vcmcNCj4gPiA+ID4gPiBEYXRlOiBXZWQsIDE3IFNlcCAyMDE0IDEwOjQwOjQyICsw MjAwDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gSGkgUGF1bCwNCj4gPiA+ID4gPiANCj4gPiA+ID4g PiBUaGlzIGJlaGF2aW91ciBpcyBieSBkZXNpZ24uIEl0IGlzIGEgYmFkIGlkZWEgdG8gb3ZlcnJp ZGUgaXQuIEENCj4gPiBnb29kDQo+ID4gPiA+ID4gYXBwcm9hY2ggdG8geW91ciBwcm9ibGVtIHdv dWxkIGJlIHRvIHdyaXRlIGEgbGF1bmNoZXIgc2NyaXB0DQo+ID4gdGhhdA0KPiA+ID4gPiB3b3Vs ZDoNCj4gPiA+ID4gPiAxKSBjb25uZWN0IHRvIHRoZSBSRVNUIEFQSQ0KPiA+ID4gPiA+IDIpIGdl dCB0aGUgVk0gY29ubmVjdGlvbiBkZXRhaWxzDQo+ID4gPiA+ID4gMykgZ2V0IG5ldyBWTSB0aWNr ZXQNCj4gPiA+ID4gPiA0KSB3cml0ZSB0aGlzIGluZm8gZG93biB0byBhIHRlbXBvcmFyeSAudnYg ZmlsZSBbM10NCj4gPiA+ID4gPiA1KSBsYXVuY2ggcmVtb3RlLXZpZXdlcg0KPiA+ID4gPiA+IA0K PiA+ID4gPiA+IFNvbWUgaW5mbyBob3cgdG8gdXNlIFJFU1QgQVBJIGlzIGRlc2NyaWJlZCBoZXJl IFsxXSBhbmQgLnZ2IGZpbGUNCj4gPiA+ID4gZm9ybWF0DQo+ID4gPiA+ID4gaXMgZG9jdW1lbnRl ZCBpbiB2aXJ0LXZpZXdlciBzb3VyY2VzIFsyXS4gUGxlYXNlIG5vdGUgdGhhdCBbMV0NCj4gPiBp cyBhDQo+ID4gPiA+IGJpdA0KPiA+ID4gPiA+IG91dGRhdGVkOg0KPiA+ID4gPiA+ICogeW91IGNh biB1c2UgSFRUUCBoZWFkZXIgImZpbHRlcjogdHJ1ZSIgdG8gYmUgYWJsZSB0byBsb2cgaW4gYXMN Cj4gPiA+ID4gbm9uLWFkbWluDQo+ID4gPiA+ID4gKiB5b3Ugb25seSBoYXZlIHRvIHVzZSBwYXNz d29yZCBsb2dpbiBvbmNlIHdoZW4geW91IHVzZQ0KPiA+ID4gPiA+ICJwcmVmZXI6IHBlcnNpc3Rl bnQtYXV0aCIgSFRUUCBoZWFkZXIgYW5kIHlvdSBzZW5kIHRoZSBjb29raWUNCj4gPiB5b3UNCj4g PiA+ID4gZ290DQo+ID4gPiA+ID4gaW4gYSByZXNwb25zZSB0byBmaXJzdCByZXF1ZXN0Lg0KPiA+ ID4gPiA+IEluIHRoZSBmdXR1cmUsIHRoZSBzdGVwcyAyLTQgd2lsbCBiZWNvbWUgYSBvbmUgc3Rl cCBvZiBnZXR0aW5nIGENCj4gPiA+ID4gPiByZWFkeS10by11c2UgLnZ2IGZpbGUgZnJvbSB0aGUg QVBJIFszXSBidXQgd2UgYXJlbid0IHRoZXJlIHlldC4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBb MV0NCj4gPiA+ID4NCj4gPiBodHRwOi8vd3d3Lm92aXJ0Lm9yZy9Ib3dfdG9fQ29ubmVjdF90b19T UElDRV9Db25zb2xlX1dpdGhvdXRfUG9ydGFsDQo+ID4gPiA+ID4gWzJdDQo+ID4gPiA+DQo+ID4g aHR0cHM6Ly9naXQuZmVkb3JhaG9zdGVkLm9yZy9jZ2l0L3ZpcnQtdmlld2VyLmdpdC90cmVlL3Ny Yy92aXJ0LXZpZXdlci1maWxlLmMjbjMwDQo+ID4gPiA+ID4gWzNdIGh0dHBzOi8vYnVnemlsbGEu cmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTEyODc2Mw0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+ IA0KPiA+ID4gPiA+IEhvd2V2ZXIsIGlmIHlvdSBfcmVhbGx5XyB3YW50IHRvIHN0aWNrIHdpdGgg c3RhdGljIHBvcnQNCj4gPiBhc3NpZ25tZW50cywNCj4gPiA+ID4gZG8NCj4gPiA+ID4gPiB0aGUg Zm9sbG93aW5nOg0KPiA+ID4gPiA+IDEpIGRlc2lnbmF0ZSB0aGUgcG9ydCByYW5nZSBzbyB0aGF0 IGl0IGRvZXNuJ3QgY29sbGlkZSB3aXRoDQo+ID4gb3RoZXINCj4gPiA+ID4gcmFuZ2VzDQo+ID4g PiA+ID4gaW4gdXNlIChlLmcuIFJIRVYgdXNlcyA1OTAwLTYwMjMsIHNvIDU4MDAtNTg5OSBjb3Vs ZCBiZSBzYWZlKQ0KPiA+ID4gPiA+IDIpIGFkZCBhIGN1c3RvbSBWTSBwcm9wZXJ0aWVzIHRvIHRo ZSBlbmdpbmUgZm9yIHNldHRpbmcgb2YgcG9ydA0KPiA+IGFuZA0KPiA+ID4gPiA+IHRscy1wb3J0 DQo+ID4gPiA+ID4gMykgYWRkIGEgdmRzbSBob29rIHRvIGJlZm9yZV92bV9zdGFydCBkaXJlY3Rv cnkgb24gZWFjaCBob3N0DQo+ID4gdGhhdA0KPiA+ID4gPiB3aWxsDQo+ID4gPiA+ID4gYWRkICJw b3J0IiBhbmQgInRsc1BvcnQiIHBhcmFtZXRlcnMgdG8gdGhlIGdyYXBoaWNzIGVsZW1lbnQgb2YN Cj4gPiA+ID4gbGlidmlydA0KPiA+ID4gPiA+IGRvbWFpbiB4bWwNCj4gPiA+ID4gPiANCj4gPiA+ ID4gPiANCj4gPiA+ID4gPiBCZXN0IHJlZ2FyZHMsDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gRGF2 aWQNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBPbiBTdCwgMjAxNC0wOS0xNyBhdCAxMDo0MSArMDgw MCwgUGF1bENoZXVuZyB3cm90ZToNCj4gPiA+ID4gPiA+IERlYXIgYWxsLA0KPiA+ID4gPiA+ID4g DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IEFmdGVyIHNodXRkb3duIHRoZSBWTSwgdGhlbiBy ZXN0YXJ0IHRoZSBWTSB0aGUgVm0ncyBzcGljZSBwb3J0DQo+ID4gaXMNCj4gPiA+ID4gPiA+IGNo YW5nZWQhDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ ID4gPiANCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4g PiA+IEJlY2F1c2UgSSBoYXZlIDEwIHRlcm1pbmFsIEFSTS1Cb3ggcnVubmluZyBzcGljZSBjbGll bnQNCj4gPiBjb25uZWN0ZWQNCj4gPiA+ID4gdG8NCj4gPiA+ID4gPiA+IHRoZSB2bSwgYnV0IGFm dGVyIHRoZSBWTSBzaHV0ZG93biBhbmQgc3RhcnQgYWdhaW4sIHRoZSB2bSBub3QNCj4gPiB0aGUN Cj4gPiA+ID4gb25lDQo+ID4gPiA+ID4gPiB3aGljZSB0aGUgb25lIGJlZm9yZS4NCj4gPiA+ID4g PiA+IA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBJIHdpc2ggeW91IGNhbiBsZXQgdXMgaGF2 ZSBhIG9wdGlvbiwgdG8gbGV0IHRoZSBWTSB3aXRoIGENCj4gPiBmaXhlZA0KPiA+ID4gPiBzcGlj ZQ0KPiA+ID4gPiA+ID4gcG9ydCwgbGlrZToNCj4gPiA+ID4gPiA+IHZtMTogc3BpY2UgcG9ydCA6 IDU5MDAgdGxzOjU5MDENCj4gPiA+ID4gPiA+IHZtMjogNTkwMiA1OTAzDQo+ID4gPiA+ID4gPiAN Cj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gQW5kIEkgaGF2ZSBhbm90aGVyIHJlY29tbW9uZDog aGF2ZSBhIGZ1Y3Rpb24gdG8gZG8gdGhhdCA6DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IA0K PiA+ID4gPiA+ID4gaWYgdGhlIHZtIHNodXRkb3duIGJ5IHVzZXIsIGl0IHdpbGwgc3RhcnQgdGhl IFZNIGF1dG9tYXRpYy4NCj4gPiBUaGF0DQo+ID4gPiA+ID4gPiBtZWFucyB0aGUgVk0gY2FuIG5v dCBiZSBzaHV0ZG93biENCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiAN Cj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IEkg aG9wZSB5b3UgY2FuIGhhdmUgdGhpcyB0d28gZnVjdGlvbiEgVGhhdCBtZWFucyBhIGxvdCB0bw0K PiA+IHRob3NlDQo+ID4gPiA+IHdobw0KPiA+ID4gPiA+ID4gYXJlIHVzaW5nIFRlcm1pbmFsIGJv eCB1c2VyIGxpa2UgbWUuDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4g DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IEkgYW0gc29ycnkgZm9yIG15IHBvb3IgRW5nbGlz aC4gQnV0IEkgaG9wZSB5b3UgYWxsIGNhbg0KPiA+IHVuZGVyc3RhbmQNCj4gPiA+ID4gPiA+IHdo YXQgSSBhbSBzYXlpbmcuDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4g DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiAN Cj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IA0K PiA+ID4gPiA+ID4gU2luY2VyZWx5IHlvdXJzLA0KPiA+ID4gPiA+ID4gUGF1bENoZXVuZw0KPiA+ ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IHRlbDogMTgwLTg4ODItNzE3Mw0K PiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXw0KPiA+ID4gPiA+ID4gVXNlcnMgbWFpbGluZyBsaXN0DQo+ID4gPiA+ ID4gPiBVc2Vyc0BvdmlydC5vcmcNCj4gPiA+ID4gPiA+IGh0dHA6Ly9saXN0cy5vdmlydC5vcmcv bWFpbG1hbi9saXN0aW5mby91c2Vycw0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IA0KPiA+ID4gPiAN Cj4gPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N Cj4gPiA+ID4gVXNlcnMgbWFpbGluZyBsaXN0DQo+ID4gPiA+IFVzZXJzQG92aXJ0Lm9yZw0KPiA+ ID4gPiBodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMNCj4gPiA+ IA0KPiA+ID4gDQo+ID4gDQo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18NCj4gPiBVc2VycyBtYWlsaW5nIGxpc3QNCj4gPiBVc2Vyc0BvdmlydC5vcmcN Cj4gPiBodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMNCj4gDQo+ IA0KIAkJIAkgICAJCSAg --_3eb3059a-99b4-4db4-a038-3ac104986465_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxzdHlsZT48IS0tDQouaG1tZXNzYWdlIFANCnsNCm1hcmdpbjowcHg7 DQpwYWRkaW5nOjBweA0KfQ0KYm9keS5obW1lc3NhZ2UNCnsNCmZvbnQtc2l6ZTogMTJwdDsNCmZv bnQtZmFtaWx5Os6iyO3RxbraDQp9DQotLT48L3N0eWxlPjwvaGVhZD4NCjxib2R5IGNsYXNzPSdo bW1lc3NhZ2UnPjxkaXYgZGlyPSdsdHInPkRlYXIgRGF2aWQ6PGRpdj48YnI+PC9kaXY+PGRpdj5U aGlzIHByb2JsZW0gaGF2ZSBiZWVuIHNvbHZlISEhISEhISEhICZuYnNwOyAmbmJzcDtVc2luZyB0 aGUgdm0gSUQgdG8gZmluZCB0aGUgc3BpY2UgcG9ydCE8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2 Pjxicj48L2Rpdj48ZGl2PjxkaXY+PGk+IyEvYmluL2Jhc2g8L2k+PC9kaXY+PGRpdj48c3BhbiBz dHlsZT0iZm9udC1zaXplOiAxMnB0OyI+PGk+Y3VybCAtayAtdiAtdSAnYWRtaW5AaW50ZXJuYWw6 cGFzc3dvcmQhJyAtSCAiQ29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94bWwiIC1YIEdFVCBodHRw czovLzE3Mi4xNi4xLjExNS9hcGkvdm1zL2VhMjczNjUzLWIwODMtNDExNC05ZWQ0LWJiYjBiYjVk MzhjMSAmZ3Q7IC4vdm0uaW5mbzwvaT48L3NwYW4+PC9kaXY+PGRpdj48aT5wMT0kKGNhdCAuL3Zt LmluZm98Z3JlcCAnJmx0O3BvcnQmZ3Q7Jyk8L2k+PC9kaXY+PGRpdj48aT5wMj0kKGNhdCAuL3Zt LmluZm98Z3JlcCAnJmx0O3NlY3VyZV9wb3J0Jmd0OycpPC9pPjwvZGl2PjxkaXY+PHNwYW4gc3R5 bGU9ImZvbnQtc2l6ZTogMTJwdDsiPjxpPnBvcnQxPSR7cDE6MC0xMTo0fTwvaT48L3NwYW4+PC9k aXY+PGRpdj48aT5wb3J0Mj0ke3AyOjAtMTg6NH08L2k+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0i Zm9udC1zaXplOiAxMnB0OyI+PGk+c3BpY3kgLWggMTcyLjE2LjEuMTE1IC13IDEyMzQ1NiAtcCAk cG9ydDEgLXMgJHBvcnQyIC1mIC0tc3BpY2UtY2EtZmlsZT0vaG9tZS9jdWJpZS9jYS5jcnQgJmd0 Oy9kZXYvbnVsbCAyJmd0OyZhbXA7MSAmYW1wOzwvaT48L3NwYW4+PC9kaXY+PGRpdj48YnI+PC9k aXY+PGRpdj48YnI+PC9kaXY+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JdCBpcyBhd2Vzb21l ISAmbmJzcDsgPGI+Jm5ic3A7QnV0IGRvdSB5b3Uga25vdyB3aGF0IGNvbW1hbmQgY2FuIHN0YXJ0 IHRoZSBWTSBpZiB0aGUgVk0gc3RvcC9wb3dlciBvZmYgJm5ic3A7ID88L2I+PC9kaXY+PGRpdj48 YnI+PGJyPjxkaXY+Cjxicj48YnI+U2luY2VyZWx5IHlvdXJzLDxicj5QYXVsQ2hldW5nPGJyPjxi cj48YnI+Jm5ic3A7dGVsOiAxODAtODg4Mi03MTczPGJyPjwvZGl2Pjxicj48YnI+PGRpdj4mZ3Q7 IFN1YmplY3Q6IFJlOiBbb3ZpcnQtdXNlcnNdIEJ1ZzogIFNwaWNlIHBvcnQgY2hhbmdlZCEhISEh PGJyPiZndDsgRnJvbTogZGphc2FAcmVkaGF0LmNvbTxicj4mZ3Q7IFRvOiBlcTIwMDhAbXNuLmNv bTxicj4mZ3Q7IENDOiB1c2Vyc0BvdmlydC5vcmc8YnI+Jmd0OyBEYXRlOiBNb24sIDIyIFNlcCAy MDE0IDE0OjQ0OjAzICswMjAwPGJyPiZndDsgPGJyPiZndDsgUGF1bCw8YnI+Jmd0OyA8YnI+Jmd0 OyBTaG9ydCBhbnN3ZXI6IHlvdXIgYXBwcm9hY2ggd2lsbCBub3Qgd29yay4gSSBtZW50aW9uZWQg dGhlIGN1c3RvbSBob29rczxicj4mZ3Q7IGFuZCBlbmdpbmUtY29uZmlnL1VzZXJEZWZpbmVkVk1Q cm9wZXJ0aWVzIGZvciBhIHJlYXNvbi4gUGxlYXNlIGZvbGxvdyBteTxicj4mZ3Q7IGFkdmljZSBm aXJzdCBiZWZvcmUgYXNraW5nIGZ1cnRoZXIgYWR2aWNlLjxicj4mZ3Q7IDxicj4mZ3Q7IDxicj4m Z3Q7IExvbmdlciBhbnN3ZXI6IHlvdXIgY2hhbmdlcyB0byB0aGUgbGlidmlydCBkb21haW5zIHdv dWxkIGFwcGx5IG9uIG5leHQ8YnI+Jmd0OyBkb21haW4gY29sZCBzdGFydCBidXQgdGhhdCB3aWxs IG5ldmVyIGhhcHBlbiBiZWNhdXNlIHZkc20gYWx3YXlzIGNyZWF0ZXM8YnI+Jmd0OyBsaWJ2aXJ0 IGRvbWFpbnMgYXMgdHJhbnNpZW50IG9uZXMgc28gdGhlIGxpYnZpcnQgZG9tYWluIHdpbGwgZGlz YXBwZWFyPGJyPiZndDsgb24gZ3Vlc3QgT1Mgc2h1dGRvd24uIE9uIG5leHQgc3RhcnQgb2YgdGhl IHNhbWUgb1ZpcnQgVk0sIHZkc20gd2lsbDxicj4mZ3Q7IGNyZWF0ZXMgYSBuZXcgZG9tYWluIFhN TCB0aGF0IHdpbGwgYmUgdXNlZCB0byBzdGFydCBhIG5ldyBsaWJ2aXJ0PGJyPiZndDsgdHJhbnNp ZW50IGRvbWFpbi48YnI+Jmd0OyA8YnI+Jmd0OyBJbiBvcmRlciB0byBtYWtlIHRoaXMgbmV3IGxp YnZpcnQgZG9tYWluIHVzZSB5b3VyIGRlc2lyZWQgcGFyYW1ldGVycyw8YnI+Jmd0OyB5b3UgaGF2 ZSB0byBlZGl0IHRoZSBYTUwgYmVmb3JlIGl0IGlzIHVzZWQgdG8gc3RhcnQgdGhlIGxpYnZpcnQg ZG9tYWluPGJyPiZndDsgYW5kIGJlY2F1c2Ugd2UgaHVtYW5zIGFyZSB0b28gc2xvdyB0byBkbyB0 aGF0IGFuZCB0b28gYW5ub3llZCB0byBkbyB0aGF0PGJyPiZndDsgb24gZXZlcnkgVk0gc3RhcnQs IHZkc20gaG9va3MgbWVjaGFuaXNtIHdhcyBkZXZpc2VkIGFuZCBhIHNjcmlwdCBpbjxicj4mZ3Q7 IGJlZm9yZV92bV9zdGFydCBjYW4gZG8gdGhhdCBjaGFuZ2VzIGZvciB5b3UgKHdpdGggaW5wdXQg dmFyaWFibGVzPGJyPiZndDsgZGVmaW5lZCBpbiBlbmdpbmUtY29uZmlnIGFuZCBzZXQgaW4gVk0n cyBjdXN0b20gcHJvcGVydGllcykuPGJyPiZndDsgPGJyPiZndDsgPGJyPiZndDsgU28gYmFjayB0 byBteSBvcmlnaW5hbCBzdWdnZXN0aW9uOiBkbyB5b3Ugc3RpbGwgdGhpbmsgdGhhdCBpdCBpcyB3 aXNlIHRvPGJyPiZndDsgdHJ5IG1ldGhvZCB0aGF0IGlzIG1vcmUgY29tcGxpY2F0ZWQgYW5kIGxl c3Mgc2VjdXJlIHRoYW4gdGhlIGN1c3RvbTxicj4mZ3Q7IGxhdW5jaGVyIG1ldGhvZD88YnI+Jmd0 OyA8YnI+Jmd0OyA8YnI+Jmd0OyBSZWdhcmRzLDxicj4mZ3Q7IDxicj4mZ3Q7IERhdmlkPGJyPiZn dDsgPGJyPiZndDsgT24gUG8sIDIwMTQtMDktMjIgYXQgMTE6MTEgKzA4MDAsIFBhdWxDaGV1bmcg d3JvdGU6PGJyPiZndDsgJmd0OyBEZWFyIERhdmlkOjxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0 OyA8YnI+Jmd0OyAmZ3Q7IEkgYW0gdHJ5aW5nIGZpZ3VyZSBpdCBvdXQgdXNpbmcgbXkgd2F5LiAg IFNvIEkgdXNlZCAidmlyc2ggZWRpdCB2bSIsPGJyPiZndDsgJmd0OyBJIGNoYW5nZSB0aGUgcG9y dCB0aGUgNTk4MCAmYW1wOyA1OTgxLCAgIGJ1dCBzdGlsbCBub3Qgd29yayEhITxicj4mZ3Q7ICZn dDsgPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICAgPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAm Z3Q7ICA8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAm Z3Q7IDxicj4mZ3Q7ICZndDsgSSBmb3VuZCBhZnRlciB2aXJzaCBlZGl0LCAgdGhlcmUgaXMgYSB4 bWwgZmlsZSBoZXJlICAvZXRjL2xpYnZpcnQvcWVtdTxicj4mZ3Q7ICZndDsgd2hpY2ggSSBlZGl0 IHVzaW5nICJ2aXJzaCBlZGl0IHZtIi48YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgPGJyPiZn dDsgJmd0OyBBbmQgSSBhbHNvIHJ1biB0aGlzIGNvbW1hbmQgOiAgICAidmlyc2ggZGVmaW5lIHZt LnhtbCIgICAgPGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgYWxzbyBu b3Qgd29yay4gICAgQ2FuIHlvdSB0ZWxsIG1lIHdoZXJlIGlzIHRoZSBmaWxlIEkgY2FuIGZpeGVk IHRoZTxicj4mZ3Q7ICZndDsgc3BpY2UgcG9ydC48YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsg PGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgU2luY2VyZWx5IHlvdXJz LDxicj4mZ3Q7ICZndDsgUGF1bENoZXVuZzxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyA8YnI+ Jmd0OyAmZ3Q7ICB0ZWw6IDE4MC04ODgyLTcxNzM8YnI+Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsg PGJyPiZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgU3ViamVjdDogUmU6IFtvdmlydC11c2Vy c10gQnVnOiBTcGljZSBwb3J0IGNoYW5nZWQhISEhITxicj4mZ3Q7ICZndDsgJmd0OyBGcm9tOiBk amFzYUByZWRoYXQuY29tPGJyPiZndDsgJmd0OyAmZ3Q7IFRvOiBlcTIwMDhAbXNuLmNvbTxicj4m Z3Q7ICZndDsgJmd0OyBDQzogdXNlcnNAb3ZpcnQub3JnPGJyPiZndDsgJmd0OyAmZ3Q7IERhdGU6 IFRodSwgMTggU2VwIDIwMTQgMTU6Mjc6NTAgKzAyMDA8YnI+Jmd0OyAmZ3Q7ICZndDsgPGJyPiZn dDsgJmd0OyAmZ3Q7IEhpLDxicj4mZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgMikg aXMgbm90IGEgZmlsZSwgaXQncyBhIGtleSBpbiBlbmdpbmUtY29uZmlnPGJyPiZndDsgJmd0OyAm Z3Q7IDMpIGlzIGEgVkRTTSBjdXN0b20gaG9vayB0aGF0IG5lZWRzIHRvIGJlIGluIGFsbCB0aGUg aHlwZXJ2aXNvcnMgaW48YnI+Jmd0OyAmZ3Q7IERDL0NsdXN0ZXI8YnI+Jmd0OyAmZ3Q7ICZndDsg PGJyPiZndDsgJmd0OyAmZ3Q7IEZvbGxvdyB2ZHNtIGN1c3RvbSBob29rIGRvY3VtZW50YXRpb24g KEkgZG9uJ3QgaGF2ZSBhIGxpbmsgZnJvbSB0b3A8YnI+Jmd0OyAmZ3Q7IG9mIG15IGhlYWQgYnV0 IHdlYiBvciBNTCBhcmNoaXZlcyB3aWxsIHN1cmVseSBoZWxwKS48YnI+Jmd0OyAmZ3Q7ICZndDsg PGJyPiZndDsgJmd0OyAmZ3Q7IERhdmlkPGJyPiZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsg Jmd0OyBPbiBUaHUsIDIwMTQtMDktMTggYXQgMTQ6NTEgKzA4MDAsIFBhdWxDaGV1bmcgd3JvdGU6 PGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgRGVhciBEYXZpZCw8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0 OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyBUaGFuayB5 b3UgZm9yIHlvdXIgaGVscCAuIFlvdXIgYW5zd2VyIGlzIHZlcnkgcHJvZmVzc2lvbmFsLjxicj4m Z3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsg Jmd0OyAmZ3Q7IEkgc3RpbGwgY2FuJ3Qgbm90IGZpbmQgYSB3YXkgdG8gc3RpY2sgd2l0aCBzdGF0 aWMgcG9ydCBhc3NpZ25tZW50czxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IEZvciBJIGRvbid0IHVu ZGVyc3RhbmQgeW91IHRlbGxpbmcgbWUgLCAyJmFtcDszLCB3aGVyZSBJIGNhbiBmaW5kIHRoZTxi cj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IGZpbGUgdG8gbW9kaWZ5Pzxicj4mZ3Q7ICZndDsgJmd0OyAm Z3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4m Z3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsg Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgSG93ZXZlciwgaWYgeW91IF9y ZWFsbHlfIHdhbnQgdG8gc3RpY2sgd2l0aCBzdGF0aWMgcG9ydDxicj4mZ3Q7ICZndDsgYXNzaWdu bWVudHMsPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgZG88YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7IHRoZSBmb2xsb3dpbmc6PGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAxKSBkZXNpZ25h dGUgdGhlIHBvcnQgcmFuZ2Ugc28gdGhhdCBpdCBkb2Vzbid0IGNvbGxpZGUgd2l0aDxicj4mZ3Q7 ICZndDsgb3RoZXI8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyByYW5nZXM8YnI+Jmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7IGluIHVzZSAoZS5nLiBSSEVWIHVzZXMgNTkwMC02MDIzLCBzbyA1ODAwLTU4 OTkgY291bGQgYmUgc2FmZSk8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDIpIGFkZCBhIGN1 c3RvbSBWTSBwcm9wZXJ0aWVzIHRvIHRoZSBlbmdpbmUgZm9yIHNldHRpbmcgb2YgcG9ydDxicj4m Z3Q7ICZndDsgYW5kPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyB0bHMtcG9ydDxicj4mZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgMykgYWRkIGEgdmRzbSBob29rIHRvIGJlZm9yZV92bV9zdGFy dCBkaXJlY3Rvcnkgb24gZWFjaCBob3N0PGJyPiZndDsgJmd0OyB0aGF0PGJyPiZndDsgJmd0OyAm Z3Q7ICZndDsgd2lsbDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgYWRkICJwb3J0IiBhbmQg InRsc1BvcnQiIHBhcmFtZXRlcnMgdG8gdGhlIGdyYXBoaWNzIGVsZW1lbnQgb2Y8YnI+Jmd0OyAm Z3Q7ICZndDsgJmd0OyBsaWJ2aXJ0PGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBkb21haW4g eG1sPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8 YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAm Z3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsg Jmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyBTaW5jZXJlbHkgeW91cnMsPGJyPiZndDsgJmd0 OyAmZ3Q7ICZndDsgUGF1bENoZXVuZzxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZn dDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IHRlbDogMTgwLTg4ODItNzE3Mzxi cj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZn dDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgU3ViamVjdDogUmU6IFtv dmlydC11c2Vyc10gQnVnOiBTcGljZSBwb3J0IGNoYW5nZWQhISEhITxicj4mZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICZndDsgRnJvbTogZGphc2FAcmVkaGF0LmNvbTxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgVG86IGVxMjAwOEBtc24uY29tPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBDQzog dXNlcnNAb3ZpcnQub3JnPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBEYXRlOiBXZWQsIDE3 IFNlcCAyMDE0IDEwOjQwOjQyICswMjAwPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+ Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IEhpIFBhdWwsPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IFRoaXMgYmVoYXZpb3VyIGlzIGJ5IGRl c2lnbi4gSXQgaXMgYSBiYWQgaWRlYSB0byBvdmVycmlkZSBpdC4gQTxicj4mZ3Q7ICZndDsgZ29v ZDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgYXBwcm9hY2ggdG8geW91ciBwcm9ibGVtIHdv dWxkIGJlIHRvIHdyaXRlIGEgbGF1bmNoZXIgc2NyaXB0PGJyPiZndDsgJmd0OyB0aGF0PGJyPiZn dDsgJmd0OyAmZ3Q7ICZndDsgd291bGQ6PGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAxKSBj b25uZWN0IHRvIHRoZSBSRVNUIEFQSTxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgMikgZ2V0 IHRoZSBWTSBjb25uZWN0aW9uIGRldGFpbHM8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDMp IGdldCBuZXcgVk0gdGlja2V0PGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyA0KSB3cml0ZSB0 aGlzIGluZm8gZG93biB0byBhIHRlbXBvcmFyeSAudnYgZmlsZSBbM108YnI+Jmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7IDUpIGxhdW5jaCByZW1vdGUtdmlld2VyPGJyPiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IFNvbWUgaW5mbyBob3cgdG8gdXNl IFJFU1QgQVBJIGlzIGRlc2NyaWJlZCBoZXJlIFsxXSBhbmQgLnZ2IGZpbGU8YnI+Jmd0OyAmZ3Q7 ICZndDsgJmd0OyBmb3JtYXQ8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGlzIGRvY3VtZW50 ZWQgaW4gdmlydC12aWV3ZXIgc291cmNlcyBbMl0uIFBsZWFzZSBub3RlIHRoYXQgWzFdPGJyPiZn dDsgJmd0OyBpcyBhPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgYml0PGJyPiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyBvdXRkYXRlZDo8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICogeW91IGNh biB1c2UgSFRUUCBoZWFkZXIgImZpbHRlcjogdHJ1ZSIgdG8gYmUgYWJsZSB0byBsb2cgaW4gYXM8 YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyBub24tYWRtaW48YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICogeW91IG9ubHkgaGF2ZSB0byB1c2UgcGFzc3dvcmQgbG9naW4gb25jZSB3aGVuIHlvdSB1 c2U8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICJwcmVmZXI6IHBlcnNpc3RlbnQtYXV0aCIg SFRUUCBoZWFkZXIgYW5kIHlvdSBzZW5kIHRoZSBjb29raWU8YnI+Jmd0OyAmZ3Q7IHlvdTxicj4m Z3Q7ICZndDsgJmd0OyAmZ3Q7IGdvdDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgaW4gYSBy ZXNwb25zZSB0byBmaXJzdCByZXF1ZXN0Ljxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgSW4g dGhlIGZ1dHVyZSwgdGhlIHN0ZXBzIDItNCB3aWxsIGJlY29tZSBhIG9uZSBzdGVwIG9mIGdldHRp bmcgYTxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgcmVhZHktdG8tdXNlIC52diBmaWxlIGZy b20gdGhlIEFQSSBbM10gYnV0IHdlIGFyZW4ndCB0aGVyZSB5ZXQuPGJyPiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IFsxXTxicj4mZ3Q7ICZndDsg Jmd0OyAmZ3Q7PGJyPiZndDsgJmd0OyBodHRwOi8vd3d3Lm92aXJ0Lm9yZy9Ib3dfdG9fQ29ubmVj dF90b19TUElDRV9Db25zb2xlX1dpdGhvdXRfUG9ydGFsPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyBbMl08YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0Ozxicj4mZ3Q7ICZndDsgaHR0cHM6Ly9naXQu ZmVkb3JhaG9zdGVkLm9yZy9jZ2l0L3ZpcnQtdmlld2VyLmdpdC90cmVlL3NyYy92aXJ0LXZpZXdl ci1maWxlLmMjbjMwPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBbM10gaHR0cHM6Ly9idWd6 aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMTI4NzYzPGJyPiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICZndDsgSG93ZXZlciwgaWYgeW91IF9yZWFsbHlfIHdhbnQgdG8gc3RpY2sgd2l0aCBz dGF0aWMgcG9ydDxicj4mZ3Q7ICZndDsgYXNzaWdubWVudHMsPGJyPiZndDsgJmd0OyAmZ3Q7ICZn dDsgZG88YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IHRoZSBmb2xsb3dpbmc6PGJyPiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyAxKSBkZXNpZ25hdGUgdGhlIHBvcnQgcmFuZ2Ugc28gdGhhdCBp dCBkb2Vzbid0IGNvbGxpZGUgd2l0aDxicj4mZ3Q7ICZndDsgb3RoZXI8YnI+Jmd0OyAmZ3Q7ICZn dDsgJmd0OyByYW5nZXM8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGluIHVzZSAoZS5nLiBS SEVWIHVzZXMgNTkwMC02MDIzLCBzbyA1ODAwLTU4OTkgY291bGQgYmUgc2FmZSk8YnI+Jmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7IDIpIGFkZCBhIGN1c3RvbSBWTSBwcm9wZXJ0aWVzIHRvIHRoZSBl bmdpbmUgZm9yIHNldHRpbmcgb2YgcG9ydDxicj4mZ3Q7ICZndDsgYW5kPGJyPiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyB0bHMtcG9ydDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgMykgYWRk IGEgdmRzbSBob29rIHRvIGJlZm9yZV92bV9zdGFydCBkaXJlY3Rvcnkgb24gZWFjaCBob3N0PGJy PiZndDsgJmd0OyB0aGF0PGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgd2lsbDxicj4mZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgYWRkICJwb3J0IiBhbmQgInRsc1BvcnQiIHBhcmFtZXRlcnMgdG8gdGhl IGdyYXBoaWNzIGVsZW1lbnQgb2Y8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyBsaWJ2aXJ0PGJyPiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBkb21haW4geG1sPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgQmVzdCByZWdhcmRzLDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyBEYXZpZDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgPGJy PiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBPbiBTdCwgMjAxNC0wOS0xNyBhdCAxMDo0MSArMDgw MCwgUGF1bENoZXVuZyB3cm90ZTo8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgRGVh ciBhbGwsPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgQWZ0ZXIg c2h1dGRvd24gdGhlIFZNLCB0aGVuIHJlc3RhcnQgdGhlIFZNIHRoZSBWbSdzIHNwaWNlIHBvcnQ8 YnI+Jmd0OyAmZ3Q7IGlzPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGNoYW5nZWQh PGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyA8 YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBCZWNhdXNlIEkgaGF2 ZSAxMCB0ZXJtaW5hbCBBUk0tQm94IHJ1bm5pbmcgc3BpY2UgY2xpZW50PGJyPiZndDsgJmd0OyBj b25uZWN0ZWQ8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyB0bzxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyB0aGUgdm0sIGJ1dCBhZnRlciB0aGUgVk0gc2h1dGRvd24gYW5kIHN0YXJ0IGFn YWluLCB0aGUgdm0gbm90PGJyPiZndDsgJmd0OyB0aGU8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyBv bmU8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgd2hpY2UgdGhlIG9uZSBiZWZvcmUu PGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgSSB3aXNoIHlvdSBj YW4gbGV0IHVzIGhhdmUgYSBvcHRpb24sIHRvIGxldCB0aGUgVk0gd2l0aCBhPGJyPiZndDsgJmd0 OyBmaXhlZDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IHNwaWNlPGJyPiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7IHBvcnQsIGxpa2U6PGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 IHZtMTogc3BpY2UgcG9ydCA6IDU5MDAgdGxzOjU5MDE8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgdm0yOiA1OTAyIDU5MDM8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg PGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyBBbmQgSSBoYXZlIGFub3RoZXIgcmVjb21tb25kOiBoYXZlIGEgZnVjdGlvbiB0 byBkbyB0aGF0IDo8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBp ZiB0aGUgdm0gc2h1dGRvd24gYnkgdXNlciwgaXQgd2lsbCBzdGFydCB0aGUgVk0gYXV0b21hdGlj Ljxicj4mZ3Q7ICZndDsgVGhhdDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBtZWFu cyB0aGUgVk0gY2FuIG5vdCBiZSBzaHV0ZG93biE8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgSSBob3BlIHlvdSBjYW4gaGF2 ZSB0aGlzIHR3byBmdWN0aW9uISBUaGF0IG1lYW5zIGEgbG90IHRvPGJyPiZndDsgJmd0OyB0aG9z ZTxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7IHdobzxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyBhcmUgdXNpbmcgVGVybWluYWwgYm94IHVzZXIgbGlrZSBtZS48YnI+Jmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4m Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IEkgYW0gc29ycnkgZm9yIG15 IHBvb3IgRW5nbGlzaC4gQnV0IEkgaG9wZSB5b3UgYWxsIGNhbjxicj4mZ3Q7ICZndDsgdW5kZXJz dGFuZDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyB3aGF0IEkgYW0gc2F5aW5nLjxi cj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgPGJy PiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+ Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7IFNpbmNlcmVseSB5b3Vycyw8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg UGF1bENoZXVuZzxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IHRl bDogMTgwLTg4ODItNzE3Mzxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyA8YnI+Jmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX188YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgVXNlcnMg bWFpbGluZyBsaXN0PGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IFVzZXJzQG92aXJ0 Lm9yZzxicj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBodHRwOi8vbGlzdHMub3ZpcnQu b3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnM8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IDxi cj4mZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7ICZndDsgPGJyPiZn dDsgJmd0OyAmZ3Q7ICZndDsgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX188YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyBVc2VycyBtYWlsaW5nIGxpc3Q8YnI+Jmd0 OyAmZ3Q7ICZndDsgJmd0OyBVc2Vyc0BvdmlydC5vcmc8YnI+Jmd0OyAmZ3Q7ICZndDsgJmd0OyBo dHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnM8YnI+Jmd0OyAmZ3Q7 ICZndDsgPGJyPiZndDsgJmd0OyAmZ3Q7IDxicj4mZ3Q7ICZndDsgPGJyPiZndDsgJmd0OyBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4mZ3Q7ICZndDsg VXNlcnMgbWFpbGluZyBsaXN0PGJyPiZndDsgJmd0OyBVc2Vyc0BvdmlydC5vcmc8YnI+Jmd0OyAm Z3Q7IGh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91c2Vyczxicj4mZ3Q7 IDxicj4mZ3Q7IDxicj48L2Rpdj48L2Rpdj4gCQkgCSAgIAkJICA8L2Rpdj48L2JvZHk+DQo8L2h0 bWw+ --_3eb3059a-99b4-4db4-a038-3ac104986465_--

This is a multi-part message in MIME format. --------------080508040005020804000700 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 09/23/2014 10:15 AM, PaulCheung wrote:
Dear David:
This problem have been solve!!!!!!!!! Using the vm ID to find the spice port!
/#!/bin/bash/ /curl -k -v -u 'admin@internal:password!' -H "Content-type: application/xml" -X GET https://172.16.1.115/api/vms/ea273653-b083-4114-9ed4-bbb0bb5d38c1 > ./vm.info/ /p1=$(cat ./vm.info|grep '<port>')/ /p2=$(cat ./vm.info|grep '<secure_port>')/ /port1=${p1:0-11:4}/ /port2=${p2:0-18:4}/ /spicy -h 172.16.1.115 -w 123456 -p $port1 -s $port2 -f --spice-ca-file=/home/cubie/ca.crt >/dev/null 2>&1 &/
You could try POST with content type: application/json /https://172.16.1.115/api/vms/ea273653-b083-4114-9ed4-bbb0bb5d38c1//start Hope that helps. :-)
It is awesome! * But dou you know what command can start the VM if the VM stop/power off ?*
Sincerely yours, PaulCheung
tel: 180-8882-7173
Subject: Re: [ovirt-users] Bug: Spice port changed!!!!! From: djasa@redhat.com To: eq2008@msn.com CC: users@ovirt.org Date: Mon, 22 Sep 2014 14:44:03 +0200
Paul,
Short answer: your approach will not work. I mentioned the custom hooks and engine-config/UserDefinedVMProperties for a reason. Please follow my advice first before asking further advice.
Longer answer: your changes to the libvirt domains would apply on next domain cold start but that will never happen because vdsm always creates libvirt domains as transient ones so the libvirt domain will disappear on guest OS shutdown. On next start of the same oVirt VM, vdsm will creates a new domain XML that will be used to start a new libvirt transient domain.
In order to make this new libvirt domain use your desired parameters, you have to edit the XML before it is used to start the libvirt domain and because we humans are too slow to do that and too annoyed to do that on every VM start, vdsm hooks mechanism was devised and a script in before_vm_start can do that changes for you (with input variables defined in engine-config and set in VM's custom properties).
So back to my original suggestion: do you still think that it is wise to try method that is more complicated and less secure than the custom launcher method?
Regards,
David
On Po, 2014-09-22 at 11:11 +0800, PaulCheung wrote:
Dear David:
I am trying figure it out using my way. So I used "virsh edit vm", I change the port the 5980 & 5981, but still not work!!!
I found after virsh edit, there is a xml file here /etc/libvirt/qemu which I edit using "virsh edit vm".
And I also run this command : "virsh define vm.xml"
also not work. Can you tell me where is the file I can fixed the spice port.
Sincerely yours, PaulCheung
tel: 180-8882-7173
Subject: Re: [ovirt-users] Bug: Spice port changed!!!!! From: djasa@redhat.com To: eq2008@msn.com CC: users@ovirt.org Date: Thu, 18 Sep 2014 15:27:50 +0200
Hi,
2) is not a file, it's a key in engine-config 3) is a VDSM custom hook that needs to be in all the hypervisors in DC/Cluster
Follow vdsm custom hook documentation (I don't have a link from top of my head but web or ML archives will surely help).
David
Dear David,
Thank you for your help . Your answer is very professional.
I still can't not find a way to stick with static port assignments For I don't understand you telling me , 2&3, where I can find the file to modify?
However, if you _really_ want to stick with static port assignments, do the following: 1) designate the port range so that it doesn't collide with other ranges in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe) 2) add a custom VM properties to the engine for setting of port and tls-port 3) add a vdsm hook to before_vm_start directory on each host
add "port" and "tlsPort" parameters to the graphics element of
will libvirt
domain xml
Sincerely yours, PaulCheung
tel: 180-8882-7173
Subject: Re: [ovirt-users] Bug: Spice port changed!!!!! From: djasa@redhat.com To: eq2008@msn.com CC: users@ovirt.org Date: Wed, 17 Sep 2014 10:40:42 +0200
Hi Paul,
This behaviour is by design. It is a bad idea to override it. A good approach to your problem would be to write a launcher script
On Thu, 2014-09-18 at 14:51 +0800, PaulCheung wrote: that that
1) connect to the REST API 2) get the VM connection details 3) get new VM ticket 4) write this info down to a temporary .vv file [3] 5) launch remote-viewer
Some info how to use REST API is described here [1] and .vv file
would: format
is documented in virt-viewer sources [2]. Please note that [1] is a bit outdated: * you can use HTTP header "filter: true" to be able to log in as non-admin * you only have to use password login once when you use "prefer: persistent-auth" HTTP header and you send the cookie you got in a response to first request. In the future, the steps 2-4 will become a one step of getting a ready-to-use .vv file from the API [3] but we aren't there yet.
[1]
http://www.ovirt.org/How_to_Connect_to_SPICE_Console_Without_Portal
[2]
https://git.fedorahosted.org/cgit/virt-viewer.git/tree/src/virt-viewer-file....
[3] https://bugzilla.redhat.com/show_bug.cgi?id=1128763
However, if you _really_ want to stick with static port assignments, do the following: 1) designate the port range so that it doesn't collide with other ranges in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe) 2) add a custom VM properties to the engine for setting of port and tls-port 3) add a vdsm hook to before_vm_start directory on each host that will add "port" and "tlsPort" parameters to the graphics element of libvirt domain xml
Best regards,
David
On St, 2014-09-17 at 10:41 +0800, PaulCheung wrote: > Dear all, > > > After shutdown the VM, then restart the VM the Vm's spice port is > changed! > > > > > > > > Because I have 10 terminal ARM-Box running spice client connected to > the vm, but after the VM shutdown and start again, the vm not the one > whice the one before. > > > I wish you can let us have a option, to let the VM with a fixed spice > port, like: > vm1: spice port : 5900 tls:5901 > vm2: 5902 5903 > > > And I have another recommond: have a fuction to do that : > > > if the vm shutdown by user, it will start the VM automatic. That > means the VM can not be shutdown! > > > > > > > I hope you can have this two fuction! That means a lot to those who > are using Terminal box user like me. > > > > > I am sorry for my poor English. But I hope you all can understand > what I am saying. > > > > > > > > > > > > Sincerely yours, > PaulCheung > > > tel: 180-8882-7173 > > _______________________________________________ > Users mailing list > Users@ovirt.org > http://lists.ovirt.org/mailman/listinfo/users
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
-- Regards, Vinzenz Feenstra | Senior Software Engineer RedHat Engineering Virtualization R & D Phone: +420 532 294 625 IRC: vfeenstr or evilissimo Better technology. Faster innovation. Powered by community collaboration. See how it works at redhat.com --------------080508040005020804000700 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> </head> <body text="#000000" bgcolor="#FFFFFF"> <div class="moz-cite-prefix">On 09/23/2014 10:15 AM, PaulCheung wrote:<br> </div> <blockquote cite="mid:BLU180-W4990C8A3CD41765BBA153BDBB00@phx.gbl" type="cite"> <style><!-- .hmmessage P { margin:0px; padding:0px } body.hmmessage { font-size: 12pt; font-family:微软雅黑 } --></style> <div dir="ltr">Dear David: <div><br> </div> <div>This problem have been solve!!!!!!!!! Using the vm ID to find the spice port!</div> <div><br> </div> <div><br> </div> <div> <div><i>#!/bin/bash</i></div> <div><span style="font-size: 12pt;"><i>curl -k -v -u 'admin@internal:password!' -H "Content-type: application/xml" -X GET <a class="moz-txt-link-freetext" href="https://172.16.1.115/api/vms/ea273653-b083-4114-9ed4-bbb0bb5d38c1">https://172.16.1.115/api/vms/ea273653-b083-4114-9ed4-bbb0bb5d38c1</a> > ./vm.info</i></span></div> <div><i>p1=$(cat ./vm.info|grep '<port>')</i></div> <div><i>p2=$(cat ./vm.info|grep '<secure_port>')</i></div> <div><span style="font-size: 12pt;"><i>port1=${p1:0-11:4}</i></span></div> <div><i>port2=${p2:0-18:4}</i></div> <div><span style="font-size: 12pt;"><i>spicy -h 172.16.1.115 -w 123456 -p $port1 -s $port2 -f --spice-ca-file=/home/cubie/ca.crt >/dev/null 2>&1 &</i></span></div> </div> </div> </blockquote> <br> You could try POST with content type: application/json <span style="font-size: 12pt;"><i><a class="moz-txt-link-freetext" href="https://172.16.1.115/api/vms/ea273653-b083-4114-9ed4-bbb0bb5d38c1">https://172.16.1.115/api/vms/ea273653-b083-4114-9ed4-bbb0bb5d38c1</a></i></span>/start <br> <br> Hope that helps. :-)<br> <blockquote cite="mid:BLU180-W4990C8A3CD41765BBA153BDBB00@phx.gbl" type="cite"> <div dir="ltr"> <div> <div><br> </div> <div><br> </div> </div> <div><br> </div> <div>It is awesome! <b> But dou you know what command can start the VM if the VM stop/power off ?</b></div> <div><br> <br> <div> <br> <br> Sincerely yours,<br> PaulCheung<br> <br> <br> tel: 180-8882-7173<br> </div> <br> <br> <div>> Subject: Re: [ovirt-users] Bug: Spice port changed!!!!!<br> > From: <a class="moz-txt-link-abbreviated" href="mailto:djasa@redhat.com">djasa@redhat.com</a><br> > To: <a class="moz-txt-link-abbreviated" href="mailto:eq2008@msn.com">eq2008@msn.com</a><br> > CC: <a class="moz-txt-link-abbreviated" href="mailto:users@ovirt.org">users@ovirt.org</a><br> > Date: Mon, 22 Sep 2014 14:44:03 +0200<br> > <br> > Paul,<br> > <br> > Short answer: your approach will not work. I mentioned the custom hooks<br> > and engine-config/UserDefinedVMProperties for a reason. Please follow my<br> > advice first before asking further advice.<br> > <br> > <br> > Longer answer: your changes to the libvirt domains would apply on next<br> > domain cold start but that will never happen because vdsm always creates<br> > libvirt domains as transient ones so the libvirt domain will disappear<br> > on guest OS shutdown. On next start of the same oVirt VM, vdsm will<br> > creates a new domain XML that will be used to start a new libvirt<br> > transient domain.<br> > <br> > In order to make this new libvirt domain use your desired parameters,<br> > you have to edit the XML before it is used to start the libvirt domain<br> > and because we humans are too slow to do that and too annoyed to do that<br> > on every VM start, vdsm hooks mechanism was devised and a script in<br> > before_vm_start can do that changes for you (with input variables<br> > defined in engine-config and set in VM's custom properties).<br> > <br> > <br> > So back to my original suggestion: do you still think that it is wise to<br> > try method that is more complicated and less secure than the custom<br> > launcher method?<br> > <br> > <br> > Regards,<br> > <br> > David<br> > <br> > On Po, 2014-09-22 at 11:11 +0800, PaulCheung wrote:<br> > > Dear David:<br> > > <br> > > <br> > > I am trying figure it out using my way. So I used "virsh edit vm",<br> > > I change the port the 5980 & 5981, but still not work!!!<br> > > <br> > > <br> > > <br> > > <br> > > <br> > > <br> > > <br> > > <br> > > <br> > > I found after virsh edit, there is a xml file here /etc/libvirt/qemu<br> > > which I edit using "virsh edit vm".<br> > > <br> > > <br> > > And I also run this command : "virsh define vm.xml" <br> > > <br> > > <br> > > also not work. Can you tell me where is the file I can fixed the<br> > > spice port.<br> > > <br> > > <br> > > <br> > > <br> > > Sincerely yours,<br> > > PaulCheung<br> > > <br> > > <br> > > tel: 180-8882-7173<br> > > <br> > > <br> > > <br> > > > Subject: Re: [ovirt-users] Bug: Spice port changed!!!!!<br> > > > From: <a class="moz-txt-link-abbreviated" href="mailto:djasa@redhat.com">djasa@redhat.com</a><br> > > > To: <a class="moz-txt-link-abbreviated" href="mailto:eq2008@msn.com">eq2008@msn.com</a><br> > > > CC: <a class="moz-txt-link-abbreviated" href="mailto:users@ovirt.org">users@ovirt.org</a><br> > > > Date: Thu, 18 Sep 2014 15:27:50 +0200<br> > > > <br> > > > Hi,<br> > > > <br> > > > 2) is not a file, it's a key in engine-config<br> > > > 3) is a VDSM custom hook that needs to be in all the hypervisors in<br> > > DC/Cluster<br> > > > <br> > > > Follow vdsm custom hook documentation (I don't have a link from top<br> > > of my head but web or ML archives will surely help).<br> > > > <br> > > > David<br> > > > <br> > > > On Thu, 2014-09-18 at 14:51 +0800, PaulCheung wrote:<br> > > > > Dear David,<br> > > > > <br> > > > > <br> > > > > Thank you for your help . Your answer is very professional.<br> > > > > <br> > > > > <br> > > > > I still can't not find a way to stick with static port assignments<br> > > > > For I don't understand you telling me , 2&3, where I can find the<br> > > > > file to modify?<br> > > > > <br> > > > > <br> > > > > <br> > > > > <br> > > > > <br> > > > > <br> > > > > > However, if you _really_ want to stick with static port<br> > > assignments,<br> > > > > do<br> > > > > > the following:<br> > > > > > 1) designate the port range so that it doesn't collide with<br> > > other<br> > > > > ranges<br> > > > > > in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe)<br> > > > > > 2) add a custom VM properties to the engine for setting of port<br> > > and<br> > > > > > tls-port<br> > > > > > 3) add a vdsm hook to before_vm_start directory on each host<br> > > that<br> > > > > will<br> > > > > > add "port" and "tlsPort" parameters to the graphics element of<br> > > > > libvirt<br> > > > > > domain xml<br> > > > > > <br> > > > > <br> > > > > <br> > > > > <br> > > > > <br> > > > > <br> > > > > <br> > > > > Sincerely yours,<br> > > > > PaulCheung<br> > > > > <br> > > > > <br> > > > > tel: 180-8882-7173<br> > > > > <br> > > > > <br> > > > > <br> > > > > > Subject: Re: [ovirt-users] Bug: Spice port changed!!!!!<br> > > > > > From: <a class="moz-txt-link-abbreviated" href="mailto:djasa@redhat.com">djasa@redhat.com</a><br> > > > > > To: <a class="moz-txt-link-abbreviated" href="mailto:eq2008@msn.com">eq2008@msn.com</a><br> > > > > > CC: <a class="moz-txt-link-abbreviated" href="mailto:users@ovirt.org">users@ovirt.org</a><br> > > > > > Date: Wed, 17 Sep 2014 10:40:42 +0200<br> > > > > > <br> > > > > > Hi Paul,<br> > > > > > <br> > > > > > This behaviour is by design. It is a bad idea to override it. A<br> > > good<br> > > > > > approach to your problem would be to write a launcher script<br> > > that<br> > > > > would:<br> > > > > > 1) connect to the REST API<br> > > > > > 2) get the VM connection details<br> > > > > > 3) get new VM ticket<br> > > > > > 4) write this info down to a temporary .vv file [3]<br> > > > > > 5) launch remote-viewer<br> > > > > > <br> > > > > > Some info how to use REST API is described here [1] and .vv file<br> > > > > format<br> > > > > > is documented in virt-viewer sources [2]. Please note that [1]<br> > > is a<br> > > > > bit<br> > > > > > outdated:<br> > > > > > * you can use HTTP header "filter: true" to be able to log in as<br> > > > > non-admin<br> > > > > > * you only have to use password login once when you use<br> > > > > > "prefer: persistent-auth" HTTP header and you send the cookie<br> > > you<br> > > > > got<br> > > > > > in a response to first request.<br> > > > > > In the future, the steps 2-4 will become a one step of getting a<br> > > > > > ready-to-use .vv file from the API [3] but we aren't there yet.<br> > > > > > <br> > > > > > [1]<br> > > > ><br> > > <a class="moz-txt-link-freetext" href="http://www.ovirt.org/How_to_Connect_to_SPICE_Console_Without_Portal">http://www.ovirt.org/How_to_Connect_to_SPICE_Console_Without_Portal</a><br> > > > > > [2]<br> > > > ><br> > > <a class="moz-txt-link-freetext" href="https://git.fedorahosted.org/cgit/virt-viewer.git/tree/src/virt-viewer-file.c#n30">https://git.fedorahosted.org/cgit/virt-viewer.git/tree/src/virt-viewer-file.c#n30</a><br> > > > > > [3] <a class="moz-txt-link-freetext" href="https://bugzilla.redhat.com/show_bug.cgi?id=1128763">https://bugzilla.redhat.com/show_bug.cgi?id=1128763</a><br> > > > > > <br> > > > > > <br> > > > > > However, if you _really_ want to stick with static port<br> > > assignments,<br> > > > > do<br> > > > > > the following:<br> > > > > > 1) designate the port range so that it doesn't collide with<br> > > other<br> > > > > ranges<br> > > > > > in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe)<br> > > > > > 2) add a custom VM properties to the engine for setting of port<br> > > and<br> > > > > > tls-port<br> > > > > > 3) add a vdsm hook to before_vm_start directory on each host<br> > > that<br> > > > > will<br> > > > > > add "port" and "tlsPort" parameters to the graphics element of<br> > > > > libvirt<br> > > > > > domain xml<br> > > > > > <br> > > > > > <br> > > > > > Best regards,<br> > > > > > <br> > > > > > David<br> > > > > > <br> > > > > > On St, 2014-09-17 at 10:41 +0800, PaulCheung wrote:<br> > > > > > > Dear all,<br> > > > > > > <br> > > > > > > <br> > > > > > > After shutdown the VM, then restart the VM the Vm's spice port<br> > > is<br> > > > > > > changed!<br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > Because I have 10 terminal ARM-Box running spice client<br> > > connected<br> > > > > to<br> > > > > > > the vm, but after the VM shutdown and start again, the vm not<br> > > the<br> > > > > one<br> > > > > > > whice the one before.<br> > > > > > > <br> > > > > > > <br> > > > > > > I wish you can let us have a option, to let the VM with a<br> > > fixed<br> > > > > spice<br> > > > > > > port, like:<br> > > > > > > vm1: spice port : 5900 tls:5901<br> > > > > > > vm2: 5902 5903<br> > > > > > > <br> > > > > > > <br> > > > > > > And I have another recommond: have a fuction to do that :<br> > > > > > > <br> > > > > > > <br> > > > > > > if the vm shutdown by user, it will start the VM automatic.<br> > > That<br> > > > > > > means the VM can not be shutdown!<br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > I hope you can have this two fuction! That means a lot to<br> > > those<br> > > > > who<br> > > > > > > are using Terminal box user like me.<br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > I am sorry for my poor English. But I hope you all can<br> > > understand<br> > > > > > > what I am saying.<br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > Sincerely yours,<br> > > > > > > PaulCheung<br> > > > > > > <br> > > > > > > <br> > > > > > > tel: 180-8882-7173<br> > > > > > > <br> > > > > > > _______________________________________________<br> > > > > > > Users mailing list<br> > > > > > > <a class="moz-txt-link-abbreviated" href="mailto:Users@ovirt.org">Users@ovirt.org</a><br> > > > > > > <a class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a><br> > > > > > <br> > > > > > <br> > > > > <br> > > > > _______________________________________________<br> > > > > Users mailing list<br> > > > > <a class="moz-txt-link-abbreviated" href="mailto:Users@ovirt.org">Users@ovirt.org</a><br> > > > > <a class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a><br> > > > <br> > > > <br> > > <br> > > _______________________________________________<br> > > Users mailing list<br> > > <a class="moz-txt-link-abbreviated" href="mailto:Users@ovirt.org">Users@ovirt.org</a><br> > > <a class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a><br> > <br> > <br> </div> </div> </div> <br> <fieldset class="mimeAttachmentHeader"></fieldset> <br> <pre wrap="">_______________________________________________ Users mailing list <a class="moz-txt-link-abbreviated" href="mailto:Users@ovirt.org">Users@ovirt.org</a> <a class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a> </pre> </blockquote> <br> <br> <pre class="moz-signature" cols="72">-- Regards, Vinzenz Feenstra | Senior Software Engineer RedHat Engineering Virtualization R & D Phone: +420 532 294 625 IRC: vfeenstr or evilissimo Better technology. Faster innovation. Powered by community collaboration. See how it works at redhat.com</pre> </body> </html> --------------080508040005020804000700--

This is a multi-part message in MIME format. --------------050207030003020603070801 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 09/23/2014 12:22 PM, Vinzenz Feenstra wrote:
On 09/23/2014 10:15 AM, PaulCheung wrote:
Dear David:
This problem have been solve!!!!!!!!! Using the vm ID to find the spice port!
/#!/bin/bash/ /curl -k -v -u 'admin@internal:password!' -H "Content-type: application/xml" -X GET https://172.16.1.115/api/vms/ea273653-b083-4114-9ed4-bbb0bb5d38c1 > ./vm.info/ /p1=$(cat ./vm.info|grep '<port>')/ /p2=$(cat ./vm.info|grep '<secure_port>')/ /port1=${p1:0-11:4}/ /port2=${p2:0-18:4}/ /spicy -h 172.16.1.115 -w 123456 -p $port1 -s $port2 -f --spice-ca-file=/home/cubie/ca.crt >/dev/null 2>&1 &/
You could try POST with content type: application/json /https://172.16.1.115/api/vms/ea273653-b083-4114-9ed4-bbb0bb5d38c1//start Oh I forgot to add: The body should be sufficient if it is '{}'
Hope that helps. :-)
It is awesome! * But dou you know what command can start the VM if the VM stop/power off ?*
Sincerely yours, PaulCheung
tel: 180-8882-7173
Subject: Re: [ovirt-users] Bug: Spice port changed!!!!! From: djasa@redhat.com To: eq2008@msn.com CC: users@ovirt.org Date: Mon, 22 Sep 2014 14:44:03 +0200
Paul,
Short answer: your approach will not work. I mentioned the custom hooks and engine-config/UserDefinedVMProperties for a reason. Please follow my advice first before asking further advice.
Longer answer: your changes to the libvirt domains would apply on next domain cold start but that will never happen because vdsm always creates libvirt domains as transient ones so the libvirt domain will disappear on guest OS shutdown. On next start of the same oVirt VM, vdsm will creates a new domain XML that will be used to start a new libvirt transient domain.
In order to make this new libvirt domain use your desired parameters, you have to edit the XML before it is used to start the libvirt domain and because we humans are too slow to do that and too annoyed to do that on every VM start, vdsm hooks mechanism was devised and a script in before_vm_start can do that changes for you (with input variables defined in engine-config and set in VM's custom properties).
So back to my original suggestion: do you still think that it is wise to try method that is more complicated and less secure than the custom launcher method?
Regards,
David
On Po, 2014-09-22 at 11:11 +0800, PaulCheung wrote:
Dear David:
I am trying figure it out using my way. So I used "virsh edit vm", I change the port the 5980 & 5981, but still not work!!!
I found after virsh edit, there is a xml file here /etc/libvirt/qemu which I edit using "virsh edit vm".
And I also run this command : "virsh define vm.xml"
also not work. Can you tell me where is the file I can fixed the spice port.
Sincerely yours, PaulCheung
tel: 180-8882-7173
Subject: Re: [ovirt-users] Bug: Spice port changed!!!!! From: djasa@redhat.com To: eq2008@msn.com CC: users@ovirt.org Date: Thu, 18 Sep 2014 15:27:50 +0200
Hi,
2) is not a file, it's a key in engine-config 3) is a VDSM custom hook that needs to be in all the hypervisors in DC/Cluster
Follow vdsm custom hook documentation (I don't have a link from top of my head but web or ML archives will surely help).
David
Dear David,
Thank you for your help . Your answer is very professional.
I still can't not find a way to stick with static port assignments For I don't understand you telling me , 2&3, where I can find the file to modify?
> However, if you _really_ want to stick with static port assignments, do > the following: > 1) designate the port range so that it doesn't collide with other ranges > in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe) > 2) add a custom VM properties to the engine for setting of port and > tls-port > 3) add a vdsm hook to before_vm_start directory on each host
will > add "port" and "tlsPort" parameters to the graphics element of libvirt > domain xml >
Sincerely yours, PaulCheung
tel: 180-8882-7173
> Subject: Re: [ovirt-users] Bug: Spice port changed!!!!! > From: djasa@redhat.com > To: eq2008@msn.com > CC: users@ovirt.org > Date: Wed, 17 Sep 2014 10:40:42 +0200 > > Hi Paul, > > This behaviour is by design. It is a bad idea to override it. A good > approach to your problem would be to write a launcher script
On Thu, 2014-09-18 at 14:51 +0800, PaulCheung wrote: that that
would: > 1) connect to the REST API > 2) get the VM connection details > 3) get new VM ticket > 4) write this info down to a temporary .vv file [3] > 5) launch remote-viewer > > Some info how to use REST API is described here [1] and .vv file format > is documented in virt-viewer sources [2]. Please note that [1] is a bit > outdated: > * you can use HTTP header "filter: true" to be able to log in as non-admin > * you only have to use password login once when you use > "prefer: persistent-auth" HTTP header and you send the cookie you got > in a response to first request. > In the future, the steps 2-4 will become a one step of getting a > ready-to-use .vv file from the API [3] but we aren't there yet. > > [1]
http://www.ovirt.org/How_to_Connect_to_SPICE_Console_Without_Portal
> [2]
> [3] https://bugzilla.redhat.com/show_bug.cgi?id=1128763 > > > However, if you _really_ want to stick with static port assignments, do > the following: > 1) designate the port range so that it doesn't collide with other ranges > in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe) > 2) add a custom VM properties to the engine for setting of port and > tls-port > 3) add a vdsm hook to before_vm_start directory on each host that will > add "port" and "tlsPort" parameters to the graphics element of libvirt > domain xml > > > Best regards, > > David > > On St, 2014-09-17 at 10:41 +0800, PaulCheung wrote: > > Dear all, > > > > > > After shutdown the VM, then restart the VM the Vm's spice
https://git.fedorahosted.org/cgit/virt-viewer.git/tree/src/virt-viewer-file.... port
> > changed! > > > > > > > > > > > > > > > > Because I have 10 terminal ARM-Box running spice client connected to > > the vm, but after the VM shutdown and start again, the vm not
one > > whice the one before. > > > > > > I wish you can let us have a option, to let the VM with a fixed spice > > port, like: > > vm1: spice port : 5900 tls:5901 > > vm2: 5902 5903 > > > > > > And I have another recommond: have a fuction to do that : > > > > > > if the vm shutdown by user, it will start the VM automatic. That > > means the VM can not be shutdown! > > > > > > > > > > > > > > I hope you can have this two fuction! That means a lot to
is the those
who > > are using Terminal box user like me. > > > > > > > > > > I am sorry for my poor English. But I hope you all can understand > > what I am saying. > > > > > > > > > > > > > > > > > > > > > > > > Sincerely yours, > > PaulCheung > > > > > > tel: 180-8882-7173 > > > > _______________________________________________ > > Users mailing list > > Users@ovirt.org > > http://lists.ovirt.org/mailman/listinfo/users > >
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
-- Regards,
Vinzenz Feenstra | Senior Software Engineer RedHat Engineering Virtualization R & D Phone: +420 532 294 625 IRC: vfeenstr or evilissimo
Better technology. Faster innovation. Powered by community collaboration. See how it works at redhat.com
-- Regards, Vinzenz Feenstra | Senior Software Engineer RedHat Engineering Virtualization R & D Phone: +420 532 294 625 IRC: vfeenstr or evilissimo Better technology. Faster innovation. Powered by community collaboration. See how it works at redhat.com --------------050207030003020603070801 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit <html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> </head> <body text="#000000" bgcolor="#FFFFFF"> <div class="moz-cite-prefix">On 09/23/2014 12:22 PM, Vinzenz Feenstra wrote:<br> </div> <blockquote cite="mid:542149DA.6000709@redhat.com" type="cite"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <div class="moz-cite-prefix">On 09/23/2014 10:15 AM, PaulCheung wrote:<br> </div> <blockquote cite="mid:BLU180-W4990C8A3CD41765BBA153BDBB00@phx.gbl" type="cite"> <style><!-- .hmmessage P { margin:0px; padding:0px } body.hmmessage { font-size: 12pt; font-family:微软雅黑 } --></style> <div dir="ltr">Dear David: <div><br> </div> <div>This problem have been solve!!!!!!!!! Using the vm ID to find the spice port!</div> <div><br> </div> <div><br> </div> <div> <div><i>#!/bin/bash</i></div> <div><span style="font-size: 12pt;"><i>curl -k -v -u 'admin@internal:password!' -H "Content-type: application/xml" -X GET <a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://172.16.1.115/api/vms/ea273653-b083-4114-9ed4-bbb0bb5d38c1">https://172.16.1.115/api/vms/ea273653-b083-4114-9ed4-bbb0bb5d38c1</a> > ./vm.info</i></span></div> <div><i>p1=$(cat ./vm.info|grep '<port>')</i></div> <div><i>p2=$(cat ./vm.info|grep '<secure_port>')</i></div> <div><span style="font-size: 12pt;"><i>port1=${p1:0-11:4}</i></span></div> <div><i>port2=${p2:0-18:4}</i></div> <div><span style="font-size: 12pt;"><i>spicy -h 172.16.1.115 -w 123456 -p $port1 -s $port2 -f --spice-ca-file=/home/cubie/ca.crt >/dev/null 2>&1 &</i></span></div> </div> </div> </blockquote> <br> You could try POST with content type: application/json <span style="font-size: 12pt;"><i><a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://172.16.1.115/api/vms/ea273653-b083-4114-9ed4-bbb0bb5d38c1">https://172.16.1.115/api/vms/ea273653-b083-4114-9ed4-bbb0bb5d38c1</a></i></span>/start <br> </blockquote> Oh I forgot to add: The body should be sufficient if it is '{}' <br> <blockquote cite="mid:542149DA.6000709@redhat.com" type="cite"> <br> Hope that helps. :-)<br> <blockquote cite="mid:BLU180-W4990C8A3CD41765BBA153BDBB00@phx.gbl" type="cite"> <div dir="ltr"> <div> <div><br> </div> <div><br> </div> </div> <div><br> </div> <div>It is awesome! <b> But dou you know what command can start the VM if the VM stop/power off ?</b></div> <div><br> <br> <div> <br> <br> Sincerely yours,<br> PaulCheung<br> <br> <br> tel: 180-8882-7173<br> </div> <br> <br> <div>> Subject: Re: [ovirt-users] Bug: Spice port changed!!!!!<br> > From: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:djasa@redhat.com">djasa@redhat.com</a><br> > To: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:eq2008@msn.com">eq2008@msn.com</a><br> > CC: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:users@ovirt.org">users@ovirt.org</a><br> > Date: Mon, 22 Sep 2014 14:44:03 +0200<br> > <br> > Paul,<br> > <br> > Short answer: your approach will not work. I mentioned the custom hooks<br> > and engine-config/UserDefinedVMProperties for a reason. Please follow my<br> > advice first before asking further advice.<br> > <br> > <br> > Longer answer: your changes to the libvirt domains would apply on next<br> > domain cold start but that will never happen because vdsm always creates<br> > libvirt domains as transient ones so the libvirt domain will disappear<br> > on guest OS shutdown. On next start of the same oVirt VM, vdsm will<br> > creates a new domain XML that will be used to start a new libvirt<br> > transient domain.<br> > <br> > In order to make this new libvirt domain use your desired parameters,<br> > you have to edit the XML before it is used to start the libvirt domain<br> > and because we humans are too slow to do that and too annoyed to do that<br> > on every VM start, vdsm hooks mechanism was devised and a script in<br> > before_vm_start can do that changes for you (with input variables<br> > defined in engine-config and set in VM's custom properties).<br> > <br> > <br> > So back to my original suggestion: do you still think that it is wise to<br> > try method that is more complicated and less secure than the custom<br> > launcher method?<br> > <br> > <br> > Regards,<br> > <br> > David<br> > <br> > On Po, 2014-09-22 at 11:11 +0800, PaulCheung wrote:<br> > > Dear David:<br> > > <br> > > <br> > > I am trying figure it out using my way. So I used "virsh edit vm",<br> > > I change the port the 5980 & 5981, but still not work!!!<br> > > <br> > > <br> > > <br> > > <br> > > <br> > > <br> > > <br> > > <br> > > <br> > > I found after virsh edit, there is a xml file here /etc/libvirt/qemu<br> > > which I edit using "virsh edit vm".<br> > > <br> > > <br> > > And I also run this command : "virsh define vm.xml" <br> > > <br> > > <br> > > also not work. Can you tell me where is the file I can fixed the<br> > > spice port.<br> > > <br> > > <br> > > <br> > > <br> > > Sincerely yours,<br> > > PaulCheung<br> > > <br> > > <br> > > tel: 180-8882-7173<br> > > <br> > > <br> > > <br> > > > Subject: Re: [ovirt-users] Bug: Spice port changed!!!!!<br> > > > From: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:djasa@redhat.com">djasa@redhat.com</a><br> > > > To: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:eq2008@msn.com">eq2008@msn.com</a><br> > > > CC: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:users@ovirt.org">users@ovirt.org</a><br> > > > Date: Thu, 18 Sep 2014 15:27:50 +0200<br> > > > <br> > > > Hi,<br> > > > <br> > > > 2) is not a file, it's a key in engine-config<br> > > > 3) is a VDSM custom hook that needs to be in all the hypervisors in<br> > > DC/Cluster<br> > > > <br> > > > Follow vdsm custom hook documentation (I don't have a link from top<br> > > of my head but web or ML archives will surely help).<br> > > > <br> > > > David<br> > > > <br> > > > On Thu, 2014-09-18 at 14:51 +0800, PaulCheung wrote:<br> > > > > Dear David,<br> > > > > <br> > > > > <br> > > > > Thank you for your help . Your answer is very professional.<br> > > > > <br> > > > > <br> > > > > I still can't not find a way to stick with static port assignments<br> > > > > For I don't understand you telling me , 2&3, where I can find the<br> > > > > file to modify?<br> > > > > <br> > > > > <br> > > > > <br> > > > > <br> > > > > <br> > > > > <br> > > > > > However, if you _really_ want to stick with static port<br> > > assignments,<br> > > > > do<br> > > > > > the following:<br> > > > > > 1) designate the port range so that it doesn't collide with<br> > > other<br> > > > > ranges<br> > > > > > in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe)<br> > > > > > 2) add a custom VM properties to the engine for setting of port<br> > > and<br> > > > > > tls-port<br> > > > > > 3) add a vdsm hook to before_vm_start directory on each host<br> > > that<br> > > > > will<br> > > > > > add "port" and "tlsPort" parameters to the graphics element of<br> > > > > libvirt<br> > > > > > domain xml<br> > > > > > <br> > > > > <br> > > > > <br> > > > > <br> > > > > <br> > > > > <br> > > > > <br> > > > > Sincerely yours,<br> > > > > PaulCheung<br> > > > > <br> > > > > <br> > > > > tel: 180-8882-7173<br> > > > > <br> > > > > <br> > > > > <br> > > > > > Subject: Re: [ovirt-users] Bug: Spice port changed!!!!!<br> > > > > > From: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:djasa@redhat.com">djasa@redhat.com</a><br> > > > > > To: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:eq2008@msn.com">eq2008@msn.com</a><br> > > > > > CC: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:users@ovirt.org">users@ovirt.org</a><br> > > > > > Date: Wed, 17 Sep 2014 10:40:42 +0200<br> > > > > > <br> > > > > > Hi Paul,<br> > > > > > <br> > > > > > This behaviour is by design. It is a bad idea to override it. A<br> > > good<br> > > > > > approach to your problem would be to write a launcher script<br> > > that<br> > > > > would:<br> > > > > > 1) connect to the REST API<br> > > > > > 2) get the VM connection details<br> > > > > > 3) get new VM ticket<br> > > > > > 4) write this info down to a temporary .vv file [3]<br> > > > > > 5) launch remote-viewer<br> > > > > > <br> > > > > > Some info how to use REST API is described here [1] and .vv file<br> > > > > format<br> > > > > > is documented in virt-viewer sources [2]. Please note that [1]<br> > > is a<br> > > > > bit<br> > > > > > outdated:<br> > > > > > * you can use HTTP header "filter: true" to be able to log in as<br> > > > > non-admin<br> > > > > > * you only have to use password login once when you use<br> > > > > > "prefer: persistent-auth" HTTP header and you send the cookie<br> > > you<br> > > > > got<br> > > > > > in a response to first request.<br> > > > > > In the future, the steps 2-4 will become a one step of getting a<br> > > > > > ready-to-use .vv file from the API [3] but we aren't there yet.<br> > > > > > <br> > > > > > [1]<br> > > > ><br> > > <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.ovirt.org/How_to_Connect_to_SPICE_Console_Without_Portal">http://www.ovirt.org/How_to_Connect_to_SPICE_Console_Without_Portal</a><br> > > > > > [2]<br> > > > ><br> > > <a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://git.fedorahosted.org/cgit/virt-viewer.git/tree/src/virt-viewer-file.c#n30">https://git.fedorahosted.org/cgit/virt-viewer.git/tree/src/virt-viewer-file.c#n30</a><br> > > > > > [3] <a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://bugzilla.redhat.com/show_bug.cgi?id=1128763">https://bugzilla.redhat.com/show_bug.cgi?id=1128763</a><br> > > > > > <br> > > > > > <br> > > > > > However, if you _really_ want to stick with static port<br> > > assignments,<br> > > > > do<br> > > > > > the following:<br> > > > > > 1) designate the port range so that it doesn't collide with<br> > > other<br> > > > > ranges<br> > > > > > in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe)<br> > > > > > 2) add a custom VM properties to the engine for setting of port<br> > > and<br> > > > > > tls-port<br> > > > > > 3) add a vdsm hook to before_vm_start directory on each host<br> > > that<br> > > > > will<br> > > > > > add "port" and "tlsPort" parameters to the graphics element of<br> > > > > libvirt<br> > > > > > domain xml<br> > > > > > <br> > > > > > <br> > > > > > Best regards,<br> > > > > > <br> > > > > > David<br> > > > > > <br> > > > > > On St, 2014-09-17 at 10:41 +0800, PaulCheung wrote:<br> > > > > > > Dear all,<br> > > > > > > <br> > > > > > > <br> > > > > > > After shutdown the VM, then restart the VM the Vm's spice port<br> > > is<br> > > > > > > changed!<br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > Because I have 10 terminal ARM-Box running spice client<br> > > connected<br> > > > > to<br> > > > > > > the vm, but after the VM shutdown and start again, the vm not<br> > > the<br> > > > > one<br> > > > > > > whice the one before.<br> > > > > > > <br> > > > > > > <br> > > > > > > I wish you can let us have a option, to let the VM with a<br> > > fixed<br> > > > > spice<br> > > > > > > port, like:<br> > > > > > > vm1: spice port : 5900 tls:5901<br> > > > > > > vm2: 5902 5903<br> > > > > > > <br> > > > > > > <br> > > > > > > And I have another recommond: have a fuction to do that :<br> > > > > > > <br> > > > > > > <br> > > > > > > if the vm shutdown by user, it will start the VM automatic.<br> > > That<br> > > > > > > means the VM can not be shutdown!<br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > I hope you can have this two fuction! That means a lot to<br> > > those<br> > > > > who<br> > > > > > > are using Terminal box user like me.<br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > I am sorry for my poor English. But I hope you all can<br> > > understand<br> > > > > > > what I am saying.<br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > Sincerely yours,<br> > > > > > > PaulCheung<br> > > > > > > <br> > > > > > > <br> > > > > > > tel: 180-8882-7173<br> > > > > > > <br> > > > > > > _______________________________________________<br> > > > > > > Users mailing list<br> > > > > > > <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Users@ovirt.org">Users@ovirt.org</a><br> > > > > > > <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a><br> > > > > > <br> > > > > > <br> > > > > <br> > > > > _______________________________________________<br> > > > > Users mailing list<br> > > > > <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Users@ovirt.org">Users@ovirt.org</a><br> > > > > <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a><br> > > > <br> > > > <br> > > <br> > > _______________________________________________<br> > > Users mailing list<br> > > <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Users@ovirt.org">Users@ovirt.org</a><br> > > <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a><br> > <br> > <br> </div> </div> </div> <br> <fieldset class="mimeAttachmentHeader"></fieldset> <br> <pre wrap="">_______________________________________________ Users mailing list <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Users@ovirt.org">Users@ovirt.org</a> <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a> </pre> </blockquote> <br> <br> <pre class="moz-signature" cols="72">-- Regards, Vinzenz Feenstra | Senior Software Engineer RedHat Engineering Virtualization R & D Phone: +420 532 294 625 IRC: vfeenstr or evilissimo Better technology. Faster innovation. Powered by community collaboration. See how it works at redhat.com</pre> </blockquote> <br> <br> <pre class="moz-signature" cols="72">-- Regards, Vinzenz Feenstra | Senior Software Engineer RedHat Engineering Virtualization R & D Phone: +420 532 294 625 IRC: vfeenstr or evilissimo Better technology. Faster innovation. Powered by community collaboration. See how it works at redhat.com</pre> </body> </html> --------------050207030003020603070801--
participants (3)
-
David Jaša
-
PaulCheung
-
Vinzenz Feenstra