Re: [BLACKBOX] Program freezes when window loses focus

From: Stephen R. Troy <"Stephen>
Date: Tue, 15 Mar 2011 18:47:11 -0700
----boundary-LibPST-iamunique-1033148016_-_- Content-type: text/plain Hey, now that you mention it, I remember that thread also, but it didn't occur to me for my problem until you brought it up!! I will try that approach and let you know how it works. Thanks!!! Steve Troy -------- Original Message -------- Subject: Re: [BLACKBOX] Program freezes when window loses focus From: Chris Burrows I have a long running command (about 15 min) and in order to show that >it makes progress, I call Dialog.ShowStatus, which displays a message >in the status bar at the bottom of the application window. > >This works fine as long as there is no event being sent to the >application e.g. by clicking the mouse or pressing a key. >If such an event occurs, the status bar stops being updated after about >5 seconds and the application appears to be completely frozen until the >command terminates. >This confuses the users and it confuses even me. > ----------------------------------------------------- My response: AFAIK, the proper solution for this sort of problem is to use multiple / background threads. However, a less elegant but easier and possibly effective solution is to periodically process the Windows Message queue. The following example should help you get started: MODULE TestLong; IMPORT Dialog, Strings, Win := WinApi; PROCEDURE ProcessMessages; VAR msg: Win.MSG; res: INTEGER; BEGIN WHILE Win.PeekMessage(msg, 0, 0, 0, Win.PM_REMOVE) # 0 DO res := Win.TranslateMessage(msg); res := Win.DispatchMessageA(msg) END END ProcessMessages; PROCEDURE Do*; VAR i, j: INTEGER; s: ARRAY 20 OF CHAR; BEGIN FOR i := 0 TO 300 DO ProcessMessages; FOR j := 0 TO 10000000 DO END ; Strings.IntToString(i, s); Dialog.ShowStatus("msg " + s) END END Do; END TestLong. P.S. My system must be faster than yours - I had to increase the j loop by a factor of 10 to 100000000 to actually test it! ----------------------------------------------------- So try putting a call to ProcessMessages at a suitable position in your processing loop so that it will get called at least a few times a second, Regards, Chris Burrows CFB Software Astrobe v3.3: ARM Oberon-07 Development System http://www.astrobe.com ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy ----boundary-LibPST-iamunique-1033148016_-_- Content-type: application/rtf Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rtf-body.rtf" e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm c3dpc3NcZmNoYXJzZXQwIEFyaWFsO30NCntcZjFcZm1vZGVybiBDb3VyaWVyIE5ldzt9DQp7XGYy XGZuaWxcZmNoYXJzZXQyIFN5bWJvbDt9DQp7XGYzXGZtb2Rlcm5cZmNoYXJzZXQwIENvdXJpZXIg TmV3O319DQp7XGNvbG9ydGJsXHJlZDBcZ3JlZW4wXGJsdWUwO1xyZWQwXGdyZWVuMFxibHVlMjU1 O30NClx1YzFccGFyZFxwbGFpblxkZWZ0YWIzNjAgXGYwXGZzMjQgDQp7XCpcaHRtbHRhZzE5IDxo dG1sPn0NCntcKlxodG1sdGFnNTAgPGJvZHk+fXtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1s cnRmMCANCntcKlxodG1sdGFnODQgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OlZlcmRhbmE7IGNv bG9yOiMwMDAwMDA7IGZvbnQtc2l6ZToxMHB0OyI+fVxodG1scnRmIHtcaHRtbHJ0ZjAgXGh0bWxy dGYgfVxodG1scnRmMCB7XCpcaHRtbHRhZzcyfVxodG1scnRmfVxodG1scnRmMA0KDQp7XCpcaHRt bHRhZzk2IDxkaXY+fVxodG1scnRmIHtcaHRtbHJ0ZjAge1wqXGh0bWx0YWc2NH1caHRtbHJ0ZiB7 XGh0bWxydGYwIFxodG1scnRmIHtcaHRtbHJ0ZjAgSGV5LCBub3cgdGhhdCB5b3UgbWVudGlvbiBp dCwgSSByZW1lbWJlciB0aGF0IHRocmVhZCBhbHNvLCBidXQgaXQgZGlkbid0IG9jY3VyIHRvIG1l IGZvciBteSBwcm9ibGVtIHVudGlsIHlvdSBicm91Z2h0IGl0IHVwISEgSSB3aWxsIHRyeSB0aGF0 IGFwcHJvYWNoIGFuZCBsZXQgeW91IGtub3cgaG93IGl0IHdvcmtzLg0Ke1wqXGh0bWx0YWc4NCAm bmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCAgVGhhbmtzISEhXGh0bWxydGYgfVxodG1scnRm MCB7XCpcaHRtbHRhZzcyfVxodG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWcxMDQg PC9kaXY+fVxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzk2IDxkaXY+fVxodG1scnRm IHtcaHRtbHJ0ZjAge1wqXGh0bWx0YWc2NH1caHRtbHJ0ZiB7XGh0bWxydGYwIFxodG1scnRmIHtc aHRtbHJ0ZjAgU3RldmUgVHJveVxodG1scnRmIH1caHRtbHJ0ZjAge1wqXGh0bWx0YWc3Mn1caHRt bHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTA0IDwvZGl2Pn1caHRtbHJ0ZiB9XGh0 bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWc5NiA8YmxvY2txdW90ZSBp ZD0icmVwbHlCbG9ja3F1b3RlIiB3ZWJtYWlsPSIxIiBzdHlsZT0iYm9yZGVyLWxlZnQ6IDJweCBz b2xpZCBibHVlOyBtYXJnaW4tbGVmdDogOHB4OyBwYWRkaW5nLWxlZnQ6IDhweDsgZm9udC1zaXpl OiAxMHB0OyBjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiB2ZXJkYW5hOyI+fVxodG1scnRmIFxw YXINCntcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzk2IDxkaXYg aWQ9IndtUXVvdGVXcmFwcGVyIj59XGh0bWxydGYge1xodG1scnRmMCANCntcKlxodG1sdGFnMCBc cGFyIH17XCpcaHRtbHRhZzY0fVxodG1scnRmIHtcaHRtbHJ0ZjAgXGxpMzYwIFxodG1scnRmIHtc aHRtbHJ0ZjAgLS0tLS0tLS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLS0tLQ0Ke1wqXGh0bWx0YWcx MTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVN1 YmplY3Q6IFJlOiBbQkxBQ0tCT1hdIFByb2dyYW0gZnJlZXplcyB3aGVuIHdpbmRvdyBsb3NlcyBm b2N1cw0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wq XGh0bWx0YWc0IFxwYXIgfUZyb206IENocmlzIEJ1cnJvd3MgDQp7XCpcaHRtbHRhZzg0ICZsdDt9 XGh0bWxydGYgPFxodG1scnRmMCANCntcKlxodG1sdGFnODQgPGEgaHJlZj0ibWFpbHRvOmNocmlz QENGQlNPRlRXQVJFLkNPTSI+fVxodG1scnRmIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksg Im1haWx0bzpjaHJpc0BDRkJTT0ZUV0FSRS5DT00ifX17XGZsZHJzbHRcY2YxXHVsIFxodG1scnRm MCBjaHJpc0BDRkJTT0ZUV0FSRS5DT01caHRtbHJ0ZiB9XGh0bWxydGYwIFxodG1scnRmIH1caHRt bHJ0ZjAgDQp7XCpcaHRtbHRhZzkyIDwvYT59DQp7XCpcaHRtbHRhZzg0ICZndDt9XGh0bWxydGYg PlxodG1scnRmMCANCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm MCANCntcKlxodG1sdGFnNCBccGFyIH1EYXRlOiBUdWUsIE1hcmNoIDE1LCAyMDExIDY6MTggcG0N CntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1s dGFnNCBccGFyIH1UbzogDQp7XCpcaHRtbHRhZzg0IDxhIGhyZWY9Im1haWx0bzpCTEFDS0JPWEBM SVNUUy5PQkVST04uQ0giPn1caHRtbHJ0ZiB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJt YWlsdG86QkxBQ0tCT1hATElTVFMuT0JFUk9OLkNIIn19e1xmbGRyc2x0XGNmMVx1bCBcaHRtbHJ0 ZjAgQkxBQ0tCT1hATElTVFMuT0JFUk9OLkNIXGh0bWxydGYgfVxodG1scnRmMCBcaHRtbHJ0ZiB9 XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8L2E+fQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRt bHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcx MTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfV9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1s cnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzEx NiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7 XCpcaHRtbHRhZzg0IFx0YWIgfUZyb206IEJsYWNrQm94IFsNCntcKlxodG1sdGFnODQgPGEgaHJl Zj0ibWFpbHRvOkJMQUNLQk9YQExJU1RTLk9CRVJPTi5DSCI+fVxodG1scnRmIHtcZmllbGR7XCpc ZmxkaW5zdHtIWVBFUkxJTksgIm1haWx0bzpCTEFDS0JPWEBMSVNUUy5PQkVST04uQ0gifX17XGZs ZHJzbHRcY2YxXHVsIFxodG1scnRmMCBtYWlsdG86QkxBQ0tCT1hATElTVFMuT0JFUk9OLkNIXGh0 bWxydGYgfVxodG1scnRmMCBcaHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8L2E+ fV0gT24gQmVoYWxmIE9mDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRt bHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9U3RlcGhlbiBSLiBUcm95DQp7XCpcaHRtbHRhZzEx NiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7 XCpcaHRtbHRhZzg0IFx0YWIgfVNlbnQ6IFdlZG5lc2RheSwgMTYgTWFyY2ggMjAxMSA3OjUwIEFN DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0IFx0YWIgfVRvOiANCntcKlxodG1sdGFnODQgPGEg aHJlZj0ibWFpbHRvOkJMQUNLQk9YQExJU1RTLk9CRVJPTi5DSCI+fVxodG1scnRmIHtcZmllbGR7 XCpcZmxkaW5zdHtIWVBFUkxJTksgIm1haWx0bzpCTEFDS0JPWEBMSVNUUy5PQkVST04uQ0gifX17 XGZsZHJzbHRcY2YxXHVsIFxodG1scnRmMCBCTEFDS0JPWEBMSVNUUy5PQkVST04uQ0hcaHRtbHJ0 ZiB9XGh0bWxydGYwIFxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzkyIDwvYT59DQp7 XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRh ZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0IFx0YWIgfVN1YmplY3Q6IFJlOiBbQkxBQ0tCT1hdIFBy b2dyYW0gZnJlZXplcyB3aGVuIHdpbmRvdyBsb3NlcyBmb2N1cw0Ke1wqXGh0bWx0YWcxMTYgPGJy Pn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0 bWx0YWc4NCBcdGFiIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1s cnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgXHRhYiB9DQp7XCpcaHRt bHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBh ciB9DQp7XCpcaHRtbHRhZzg0IFx0YWIgXHRhYiB9Tm8sIHNvcnJ5LCB0aGF0J3Mgbm90IGl0Lg0K e1wqXGh0bWx0YWc4NCAgIH1caHRtbHJ0ZiAgXGh0bWxydGYwIEkgc2FpZCAiZGlzcGxheSB3aW5k b3ciIGluIHRoZQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYw IA0Ke1wqXGh0bWx0YWc0IFxwYXIgfXNhbWUgc2Vuc2UgYXMgeW91IHNhaWQgImZvcm0iOyBpLmUu IEknbSBhbHJlYWR5IGRvaW5nIHRoZSBiZXR0ZXIgd2F5IHlvdQ0Ke1wqXGh0bWx0YWcxMTYgPGJy Pn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfXN1Z2dlc3Qs IHVzaW5nIERpYWxvZy5VcGRhdGUsIGFuZCB3YXRjaGluZyB0aGUgcHJvZ3JhbSBleGVjdXRlLg0K e1wqXGh0bWx0YWc4NCAgIH1caHRtbHJ0ZiAgXGh0bWxydGYwIEhvd2V2ZXIsIGlmDQp7XCpcaHRt bHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBh ciB9SSBkbyBzb21ldGhpbmcgdG8gbG9zZSBmb2N1cyBvbiB0aGUgZGlzcGxheSBmb3JtLCBzdWNo IGFzIGNsaWNrIG1vdXNlLWNsaWNrDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5l DQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9ZWxzZXdoZXJlLCBvciBzdGFydCBhbm90 aGVyIHByb2dyYW0gb3V0c2lkZSBCbGFja0JveCwgdGhlIHByb2dyYW0gZnJlZXplcy4NCntcKlxo dG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBc cGFyIH1JdCBpcyBub3QgZXhlY3V0aW5nIGFuIGluZmluaXRlIGxvb3AsIGJlY2F1c2UgSSBhbSB0 b28gb2xkIGEgcHJvZ3JhbW1lciBmb3INCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxp bmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH10aGF0LCBJIHB1dCB0cmFwcyB0byBo YWx0IGxvb3BzIHRoYXQgcnVuIGFuIGV4Y2Vzc2l2ZSBudW1iZXIgb2YgdGltZXM7IGkuZS4NCntc KlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFn NCBccGFyIH1hbiBleGNlc3NpdmUgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgaXMgYWx3YXlzIG9uZSBv ZiBzZXZlcmFsIGV4aXQgY29uZGl0aW9ucy4NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYg XGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxi cj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxo dG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBc cGFyIH0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCBcdGFiIH0NCntcKlxodG1sdGFnMTE2IDxicj59 XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1UaGlzIHNvdW5k cyB2ZXJ5IHNpbWlsYXIgdG8gYSBwcm9ibGVtIHJlcG9ydGVkIGhlcmUgaW4gRGVjIDIwMDkuIA0K e1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0 YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYw IA0Ke1wqXGh0bWx0YWc0IFxwYXIgfS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpc aHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9VGhlIHByb2JsZW06DQp7XCpcaHRtbHRhZzEx NiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7 XCpcaHRtbHRhZzg0ICZndDt9XGh0bWxydGYgPlxodG1scnRmMCBJIGhhdmUgYSBsb25nIHJ1bm5p bmcgY29tbWFuZCAoYWJvdXQgMTUgbWluKSBhbmQgaW4gb3JkZXIgdG8gc2hvdyB0aGF0IA0Ke1wq XGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0 IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAmZ3Q7fVxodG1scnRmID5caHRtbHJ0ZjAgaXQgbWFrZXMg cHJvZ3Jlc3MsIEkgY2FsbCANCntcKlxodG1sdGFnODQgPGEgaHJlZj0iaHR0cDovL0RpYWxvZy5T aG93U3RhdHVzIj59XGh0bWxydGYge1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAiaHR0cDov L0RpYWxvZy5TaG93U3RhdHVzIn19e1xmbGRyc2x0XGNmMVx1bCBcaHRtbHJ0ZjAgRGlhbG9nLlNo b3dTdGF0dXNcaHRtbHJ0ZiB9XGh0bWxydGYwIFxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzkyIDwvYT59LCB3aGljaCBkaXNwbGF5cyBhIG1lc3NhZ2UgDQp7XCpcaHRtbHRhZzExNiA8 YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpc aHRtbHRhZzg0ICZndDt9XGh0bWxydGYgPlxodG1scnRmMCBpbiB0aGUgc3RhdHVzIGJhciBhdCB0 aGUgYm90dG9tIG9mIHRoZSBhcHBsaWNhdGlvbiB3aW5kb3cuDQp7XCpcaHRtbHRhZzExNiA8YnI+ fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRt bHRhZzg0ICZndDt9XGh0bWxydGYgPlxodG1scnRmMCANCntcKlxodG1sdGFnMTE2IDxicj59XGh0 bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFn ODQgJmd0O31caHRtbHJ0ZiA+XGh0bWxydGYwIFRoaXMgd29ya3MgZmluZSBhcyBsb25nIGFzIHRo ZXJlIGlzIG5vIGV2ZW50IGJlaW5nIHNlbnQgdG8gdGhlIA0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1c aHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0 YWc4NCAmZ3Q7fVxodG1scnRmID5caHRtbHJ0ZjAgYXBwbGljYXRpb24gZS5nLiBieSBjbGlja2lu ZyB0aGUgbW91c2Ugb3IgcHJlc3NpbmcgYSBrZXkuDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1s cnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0 ICZndDt9XGh0bWxydGYgPlxodG1scnRmMCBJZiBzdWNoIGFuIGV2ZW50IG9jY3VycywgdGhlIHN0 YXR1cyBiYXIgc3RvcHMgYmVpbmcgdXBkYXRlZCBhZnRlciBhYm91dCANCntcKlxodG1sdGFnMTE2 IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntc KlxodG1sdGFnODQgJmd0O31caHRtbHJ0ZiA+XGh0bWxydGYwIDUgc2Vjb25kcyBhbmQgdGhlIGFw cGxpY2F0aW9uIGFwcGVhcnMgdG8gYmUgY29tcGxldGVseSBmcm96ZW4gdW50aWwgdGhlIA0Ke1wq XGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0 IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAmZ3Q7fVxodG1scnRmID5caHRtbHJ0ZjAgY29tbWFuZCB0 ZXJtaW5hdGVzLg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYw IA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAmZ3Q7fVxodG1scnRmID5caHRt bHJ0ZjAgVGhpcyBjb25mdXNlcyB0aGUgdXNlcnMgYW5kIGl0IGNvbmZ1c2VzIGV2ZW4gbWUuDQp7 XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRh ZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICZndDt9XGh0bWxydGYgPlxodG1scnRmMCANCntcKlxo dG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBc cGFyIH0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWc0IFxwYXIgfU15IHJlc3BvbnNlOg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBc bGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJy Pn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfUFGQUlLLCB0 aGUgcHJvcGVyIHNvbHV0aW9uIGZvciB0aGlzIHNvcnQgb2YgcHJvYmxlbSBpcyB0byB1c2UgbXVs dGlwbGUgLw0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0K e1wqXGh0bWx0YWc0IFxwYXIgfWJhY2tncm91bmQgdGhyZWFkcy4gSG93ZXZlciwgYSBsZXNzIGVs ZWdhbnQgYnV0IGVhc2llciBhbmQgcG9zc2libHkNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxy dGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1lZmZlY3RpdmUgc29sdXRp b24gaXMgdG8gcGVyaW9kaWNhbGx5IHByb2Nlc3MgdGhlIFdpbmRvd3MgTWVzc2FnZSBxdWV1ZS4g VGhlDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpc aHRtbHRhZzQgXHBhciB9Zm9sbG93aW5nIGV4YW1wbGUgc2hvdWxkIGhlbHAgeW91IGdldCBzdGFy dGVkOg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wq XGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0 bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfU1PRFVMRSBUZXN0TG9uZzsNCntcKlxodG1sdGFn MTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0N CntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1s dGFnNCBccGFyIH1JTVBPUlQgRGlhbG9nLCBTdHJpbmdzLCBXaW4gOj0gV2luQXBpOw0Ke1wqXGh0 bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxw YXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wq XGh0bWx0YWc0IFxwYXIgfVBST0NFRFVSRSBQcm9jZXNzTWVzc2FnZXM7DQp7XCpcaHRtbHRhZzEx NiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7 XCpcaHRtbHRhZzg0ICAgfVZBUiBtc2c6IA0Ke1wqXGh0bWx0YWc4NCA8YSBocmVmPSJodHRwOi8v V2luLk1TRyI+fVxodG1scnRmIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgImh0dHA6Ly9X aW4uTVNHIn19e1xmbGRyc2x0XGNmMVx1bCBcaHRtbHJ0ZjAgV2luLk1TR1xodG1scnRmIH1caHRt bHJ0ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn07IHJlczogSU5U RUdFUjsNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntc KlxodG1sdGFnNCBccGFyIH1CRUdJTg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGlu ZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgIH1XSElM RSANCntcKlxodG1sdGFnODQgPGEgaHJlZj0iaHR0cDovL1dpbi5QZWVrTWVzc2FnZShtc2ciPn1c aHRtbHJ0ZiB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJodHRwOi8vV2luLlBlZWtNZXNz YWdlKG1zZyJ9fXtcZmxkcnNsdFxjZjFcdWwgXGh0bWxydGYwIFdpbi5QZWVrTWVzc2FnZShtc2dc aHRtbHJ0ZiB9XGh0bWxydGYwIFxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzkyIDwv YT59LCAwLCAwLCAwLCANCntcKlxodG1sdGFnODQgPGEgaHJlZj0iaHR0cDovL1dpbi5QTV9SRU1P VkUiPn1caHRtbHJ0ZiB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJodHRwOi8vV2luLlBN X1JFTU9WRSJ9fXtcZmxkcnNsdFxjZjFcdWwgXGh0bWxydGYwIFdpbi5QTV9SRU1PVkVcaHRtbHJ0 ZiB9XGh0bWxydGYwIFxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzkyIDwvYT59KSAj IDAgRE8NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntc KlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH1yZXMgOj0gDQp7XCpcaHRtbHRh Zzg0IDxhIGhyZWY9Imh0dHA6Ly9XaW4uVHJhbnNsYXRlTWVzc2FnZShtc2ciPn1caHRtbHJ0ZiB7 XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJodHRwOi8vV2luLlRyYW5zbGF0ZU1lc3NhZ2Uo bXNnIn19e1xmbGRyc2x0XGNmMVx1bCBcaHRtbHJ0ZjAgV2luLlRyYW5zbGF0ZU1lc3NhZ2UobXNn XGh0bWxydGYgfVxodG1scnRmMCBcaHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8 L2E+fSk7DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7 XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9cmVzIDo9IFdpbi5EaXNwYXRj aE1lc3NhZ2VBKG1zZykNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1s cnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICB9RU5EDQp7XCpcaHRt bHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBh ciB9RU5EIFByb2Nlc3NNZXNzYWdlczsNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxp bmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgXHRhYiB9 DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzQgXHBhciB9UFJPQ0VEVVJFIERvKjsNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYg XGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICB9 VkFSIGksIGo6IElOVEVHRVI7IHM6IEFSUkFZIDIwIE9GIENIQVI7IEJFR0lODQp7XCpcaHRtbHRh ZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9 DQp7XCpcaHRtbHRhZzg0ICAgfUZPUiBpIDo9IDAgVE8gMzAwIERPDQp7XCpcaHRtbHRhZzExNiA8 YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpc aHRtbHRhZzg0ICAgICB9UHJvY2Vzc01lc3NhZ2VzOw0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRt bHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4 NCAgICAgfUZPUiBqIDo9IDAgVE8gMTAwMDAwMDAgRE8NCntcKlxodG1sdGFnMTE2IDxicj59XGh0 bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFn ODQgICAgIH1FTkQgOw0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxy dGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfQ0Ke1wqXGh0bWx0 YWc4NCA8YSBocmVmPSJodHRwOi8vU3RyaW5ncy5JbnRUb1N0cmluZyhpIj59XGh0bWxydGYge1xm aWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAiaHR0cDovL1N0cmluZ3MuSW50VG9TdHJpbmcoaSJ9 fXtcZmxkcnNsdFxjZjFcdWwgXGh0bWxydGYwIFN0cmluZ3MuSW50VG9TdHJpbmcoaVxodG1scnRm IH1caHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn0sIHMp Ow0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfQ0Ke1wqXGh0bWx0YWc4NCA8YSBocmVm PSJodHRwOi8vRGlhbG9nLlNob3dTdGF0dXMiPn1caHRtbHJ0ZiB7XGZpZWxke1wqXGZsZGluc3R7 SFlQRVJMSU5LICJodHRwOi8vRGlhbG9nLlNob3dTdGF0dXMifX17XGZsZHJzbHRcY2YxXHVsIFxo dG1scnRmMCBEaWFsb2cuU2hvd1N0YXR1c1xodG1scnRmIH1caHRtbHJ0ZjAgXGh0bWxydGYgfVxo dG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn0oIm1zZyAiICsgcykNCntcKlxodG1sdGFnMTE2 IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntc KlxodG1sdGFnODQgICB9RU5EDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpc aHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9RU5EIERvOw0Ke1wqXGh0bWx0YWcxMTYgPGJy Pn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0 bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxw YXIgfUVORCBUZXN0TG9uZy4NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxo dG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxy dGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1QLlMuIE15IHN5c3RlbSBt dXN0IGJlIGZhc3RlciB0aGFuIHlvdXJzIC0gSSBoYWQgdG8gaW5jcmVhc2UgdGhlIGogbG9vcCBi eSBhDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpc aHRtbHRhZzQgXHBhciB9ZmFjdG9yIG9mIDEwIHRvIDEwMDAwMDAwMCB0byBhY3R1YWxseSB0ZXN0 IGl0IQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wq XGh0bWx0YWc0IFxwYXIgfS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0 ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxs aW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9U28gdHJ5IHB1dHRpbmcgYSBjYWxs IHRvIFByb2Nlc3NNZXNzYWdlcyBhdCBhIHN1aXRhYmxlIHBvc2l0aW9uIGluIHlvdXINCntcKlxo dG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBc cGFyIH1wcm9jZXNzaW5nIGxvb3Agc28gdGhhdCBpdCB3aWxsIGdldCBjYWxsZWQgYXQgbGVhc3Qg YSBmZXcgdGltZXMgYSBzZWNvbmQsDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5l DQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxo dG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9UmVnYXJkcywNCntc KlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFn NCBccGFyIH1DaHJpcyBCdXJyb3dzDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5l DQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxo dG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9Q0ZCIFNvZnR3YXJl DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzQgXHBhciB9QXN0cm9iZSB2My4zOiBBUk0gT2Jlcm9uLTA3IERldmVsb3BtZW50IFN5c3Rl bQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCA8YSBocmVmPSJodHRwOi8vd3d3LmFzdHJvYmUu Y29tIj59XGh0bWxydGYge1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAiaHR0cDovL3d3dy5h c3Ryb2JlLmNvbSJ9fXtcZmxkcnNsdFxjZjFcdWwgXGh0bWxydGYwIGh0dHA6Ly93d3cuYXN0cm9i ZS5jb21caHRtbHJ0ZiB9XGh0bWxydGYwIFxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRh ZzkyIDwvYT59DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAg DQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5l DQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxo dG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9LS0tLQ0Ke1wqXGh0 bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxw YXIgfVRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJR05PRkYgQkxB Q0tCT1giIHRvIA0Ke1wqXGh0bWx0YWc4NCA8YSBocmVmPSJtYWlsdG86TElTVFNFUlZATElTVFMu T0JFUk9OLkNIIj59XGh0bWxydGYge1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAibWFpbHRv OkxJU1RTRVJWQExJU1RTLk9CRVJPTi5DSCJ9fXtcZmxkcnNsdFxjZjFcdWwgXGh0bWxydGYwIExJ U1RTRVJWQExJU1RTLk9CRVJPTi5DSFxodG1scnRmIH1caHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1s cnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYg XGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnNCBccGFy IH1caHRtbHJ0ZiB9XGh0bWxydGYwIHtcKlxodG1sdGFnNzJ9XGh0bWxydGZccGFyfVxodG1scnRm MA0KDQp7XCpcaHRtbHRhZzEwNCA8L2Rpdj59XGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1s dGFnMCBccGFyIH0NCntcKlxodG1sdGFnMTA0IDwvYmxvY2txdW90ZT59XGh0bWxydGYgfVxwYXIN ClxodG1scnRmMCANCntcKlxodG1sdGFnMjQ4IDwvc3Bhbj59DQp7XCpcaHRtbHRhZzU4IDwvYm9k eT59DQp7XCpcaHRtbHRhZzI3IDwvaHRtbD59DQp7XCpcaHRtbHRhZzMgXHBhciB9DQp7XCpcaHRt bHRhZzY0IDxwPn1caHRtbHJ0ZiB7XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfS0tLS0N CntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIFRvIHVuc3Vic2NyaWJlLCBz ZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJR05PRkYgQkxBQ0tCT1giIHRvIExJU1RTRVJWQExJ U1RTLk9CRVJPTi5DSA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgXGh0 bWxydGZ9fQAgc2lkZSBlZmZlY3RzLA= ----boundary-LibPST-iamunique-1033148016_-_--- Received on Wed Mar 16 2011 - 02:47:11 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:16 UTC