From peter@pjstirling.plus.com Fri Mar 22 23:16:00 2013 From: Peter Stirling To: drakma-devel@common-lisp.net Subject: Re: [drakma-devel] Error while trying to POST some JSON data Date: Sat, 23 Mar 2013 05:59:17 +0000 Message-ID: <514D44B5.5040501@pjstirling.plus.com> In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0524317004149404394==" --===============0524317004149404394== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi, When run on drakma 1.3 the attached program signals: FORM-DATA makes only sense with POST requests. [Condition of type DRAKMA:PARAMETER-ERROR] Restarts: 0: [ABORT] Abort compilation. 1: [*ABORT] Return to SLIME's top level. 2: [ABORT] Abort thread (#) Backtrace: 0: (DRAKMA:PARAMETER-ERROR "FORM-DATA makes only sense with POST=20 requests.") 1: (DRAKMA:HTTP-REQUEST # :METHOD :GET :REDIRECT 4 :STREAM=20 NIL :ADDITIONAL-HEADERS NIL :PARAMETERS (("theusername" . #1=3D"dummy")=20 ("thepassword" . #1#)) :P.. 2: ((LABELS DRAKMA::FINISH-REQUEST :IN DRAKMA:HTTP-REQUEST) #(45 45=20 45 45 45 45 45 45 45 45 45 45 54 109 108 70 48 57 66 116 83 122 49 79=20 110 73 48 54 71 78 50 50 99 113 69 57 106 66 79 105 56 76 50 111 .. 3: (DRAKMA:HTTP-REQUEST #=20 :COOKIE-JAR # :METHOD=20 :POST :FORM-DATA T :PARAMETERS (("theusername" . #1=3D"dummy") ("t.. 4: (POST-REQUEST) On drakma 1.2.9 you get the output: 127.0.0.1 - [2013-03-23 05:47:08] "POST /login.php HTTP/1.1" 302 349 "-"=20 "Drakma/1.2.9 (SBCL 1.1.5.15-0892423; Linux; 3.5.0-26-generic;=20 http://weitz.de/drakma/)" reply is 302 Moved=20 Temporarily

Moved Temporarily

The document=20 has moved here


Hunchentoot 1.2.14 (SBCL 1.1.5.15-0892423) at=20 localhost:8181

On 22/03/13 16:21, Hans H=C3=BCbner wrote: > Drakma's behavior with respect to redirects has recently changed so=20 > that it is standard compliant. I would like to keep it that way, but=20 > if this is a hurdle that can't be worked around, I am open to=20 > suggestions to change it again. > > -Hans > > > On Fri, Mar 22, 2013 at 5:55 PM, > wrote: > > On Fri, Mar 22, 2013 at 12:57:15PM +0000, Peter Stirling wrote: > > I was getting this error too, I reverted to the previous version > of cl+ssl > > in quicklisp by putting it in the local-projects directory. > > > > I've been meaning to report another problem I've had with the > new version > > of drakma, it seems that when I POST login details to a site > that I'm using > > it replies with a redirect, > > How is the site redirecting? What's the HTTP status code they use? > > > and then drakma tries to POST the login details > > to the redirected page rather than accessing it with a GET. I'll > try and > > make a test case sometime this weekend. > > Depending on the status code, that's actually valid behaviour. > (see: > http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2) > > HTH Ralf Mattes > > > On 21/03/13 21:41, Peter Kuchta wrote: > >> Hi everybody, > >> > >> I'm trying to POST some JSON data to a web service: > >> > >> (ql:quickload :st-json) > >> (ql:quickload :cl-json) > >> (ql:quickload :drakma) > >> > >> (defvar *rc* (merge-pathnames (user-homedir-pathname) > ".apirc")) > >> > >> (defvar *user* > >> (with-open-file (s *rc*) > >> (st-json:read-json s))) > >> > >> (defvar api-url (st-json:getjso "url" *user*)) > >> (defvar api-key (st-json:getjso "key" *user*)) > >> (defvar api-email (st-json:getjso "email" *user*)) > >> > >> (setf drakma:*header-stream* *standard-output*) > >> > >> (defvar *req* '(("dataset" . "tigge") > >> ("step" . "24") > >> ("date" . "20071001") > >> ("time" . "00") > >> ("origin" . "all"))) > >> > >> (format t "json:~S~%" (json:encode-json-to-string *req*)) > >> > >> (defun retrieve (api request) > >> (let* ((cookie-jar (make-instance 'drakma:cookie-jar)) > >> (extra-headers (list (cons "From" api-email) > >> (cons "X-API-KEY" api-key))) > >> (url (concatenate 'string api-url api > "/requests")) > >> (stream (drakma:http-request url > >> :additional-headers extra-headers > >> :accept "application/json" > >> :method :post > >> :content-type "application/json" > >> :external-format-out :utf-8 > >> :external-format-in :utf-8 > >> :redirect 100 > >> :cookie-jar cookie-jar > >> :content (json:encode-json-to-string > >> request) > >> :want-stream t))) > >> (st-json:read-json stream))) > >> > >> (retrieve "/datasets/tigge" *req*) > >> > >> Unfortunately, I get an error, although the data seems to be > encoded OK to > >> JSON and the headers generated by drakma too, I think. Apparently > >> something is wrong with the :content (the list of integers in > the errors > >> message is just the list of ASCII codes of the JSON encoded data). > >> > >> > json:"{\"dataset\":\"tigge\",\"step\":\"24\",\"number\":\"all\",\"levty= pe\":\"sl\",\"date\":\"20071001\",\"time\":\"00\",\"origin\":\"all\",\"type\"= :\"pf\",\"param\":\"tp\",\"area\":\"70\\/-130\\/30\\/-60\",\"grid\":\"2\\/2\"= ,\"target\":\"data.grib\"}" > >> > >> POST /v1/datasets/tigge/requests HTTP/1.1 > >> Host: api.service.int > > >> User-Agent: Drakma/1.3.0 (SBCL 1.1.5; Darwin; 12.2.0; > >> http://weitz.de/drakma/) > >> Accept: application/json > >> Connection: close > >> From: me(a)gmail.com > > > >> X-API-KEY: 19a0edb6d8d8dda1e6a3b21223e4f86a > >> Content-Type: application/json > >> Content-Length: 193 > >> > >> > >> debugger invoked on a SIMPLE-TYPE-ERROR: > >> The value of CL+SSL::THING is #(123 34 100 97 116 97 115 > 101 116 34 > >> 58 34 > >> ...), which is not of type > (SIMPLE-ARRAY > >> (UNSIGNED-BYTE 8) > >> (*)). > >> > >> Any idea what's wrong with this code? Many thanks in advance. > >> > >> Best regards, > >> Piotr > >> > >> > >> _______________________________________________ > >> drakma-devel mailing list > >> drakma-devel(a)common-lisp.net > >> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/drakma-devel > > > > > _______________________________________________ > > drakma-devel mailing list > > drakma-devel(a)common-lisp.net > > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/drakma-devel > > > _______________________________________________ > drakma-devel mailing list > drakma-devel(a)common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/drakma-devel > > > > > _______________________________________________ > drakma-devel mailing list > drakma-devel(a)common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/drakma-devel --===============0524317004149404394== Content-Type: text/html Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" MIME-Version: 1.0 PGh0bWw+CiAgPGhlYWQ+CiAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNP LTg4NTktMSIKICAgICAgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIj4KICA8L2hlYWQ+CiAgPGJv ZHkgdGV4dD0iIzAwMDAwMCIgYmdjb2xvcj0iI0ZGRkZGRiI+CiAgICA8ZGl2IGNsYXNzPSJtb3ot Y2l0ZS1wcmVmaXgiPkhpLDxicj4KICAgICAgPGJyPgogICAgICBXaGVuIHJ1biBvbiBkcmFrbWEg MS4zIHRoZSBhdHRhY2hlZCBwcm9ncmFtIHNpZ25hbHM6PGJyPgogICAgICA8YnI+CiAgICAgIEZP Uk0tREFUQSBtYWtlcyBvbmx5IHNlbnNlIHdpdGggUE9TVCByZXF1ZXN0cy48YnI+CiAgICAgICZu YnNwOyZuYnNwOyBbQ29uZGl0aW9uIG9mIHR5cGUgRFJBS01BOlBBUkFNRVRFUi1FUlJPUl08YnI+ CiAgICAgIDxicj4KICAgICAgUmVzdGFydHM6PGJyPgogICAgICAmbmJzcDswOiBbQUJPUlRdIEFi b3J0IGNvbXBpbGF0aW9uLjxicj4KICAgICAgJm5ic3A7MTogWypBQk9SVF0gUmV0dXJuIHRvIFNM SU1FJ3MgdG9wIGxldmVsLjxicj4KICAgICAgJm5ic3A7MjogW0FCT1JUXSBBYm9ydCB0aHJlYWQg KCMmbHQ7VEhSRUFEICJ3b3JrZXIiIFJVTk5JTkcKICAgICAgezEwMDREODg4QTN9Jmd0Oyk8YnI+ CiAgICAgIDxicj4KICAgICAgQmFja3RyYWNlOjxicj4KICAgICAgJm5ic3A7IDA6IChEUkFLTUE6 UEFSQU1FVEVSLUVSUk9SICJGT1JNLURBVEEgbWFrZXMgb25seSBzZW5zZSB3aXRoIFBPU1QKICAg ICAgcmVxdWVzdHMuIik8YnI+CiAgICAgICZuYnNwOyAxOiAoRFJBS01BOkhUVFAtUkVRVUVTVCAj Jmx0O1BVUkk6VVJJCiAgICAgIDxhIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiIGhyZWY9 Imh0dHA6Ly9sb2NhbGhvc3Q6ODE4MS9jb29raWUtY2hlY2sucGhwIj5odHRwOi8vbG9jYWxob3N0 OjgxODEvY29va2llLWNoZWNrLnBocDwvYT4mZ3Q7IDpNRVRIT0QgOkdFVCA6UkVESVJFQ1QKICAg ICAgNCA6U1RSRUFNIE5JTCA6QURESVRJT05BTC1IRUFERVJTIE5JTCA6UEFSQU1FVEVSUyAoKCJ0 aGV1c2VybmFtZSIKICAgICAgLiAjMT0iZHVtbXkiKSAoInRoZXBhc3N3b3JkIiAuICMxIykpIDpQ Li48YnI+CiAgICAgICZuYnNwOyAyOiAoKExBQkVMUyBEUkFLTUE6OkZJTklTSC1SRVFVRVNUIDpJ TiBEUkFLTUE6SFRUUC1SRVFVRVNUKSAjKDQ1CiAgICAgIDQ1IDQ1IDQ1IDQ1IDQ1IDQ1IDQ1IDQ1 IDQ1IDQ1IDQ1IDU0IDEwOSAxMDggNzAgNDggNTcgNjYgMTE2IDgzIDEyMgogICAgICA0OSA3OSAx MTAgNzMgNDggNTQgNzEgNzggNTAgNTAgOTkgMTEzIDY5IDU3IDEwNiA2NiA3OSAxMDUgNTYgNzYg NTAKICAgICAgMTExIC4uPGJyPgogICAgICAmbmJzcDsgMzogKERSQUtNQTpIVFRQLVJFUVVFU1Qg IyZsdDtQVVJJOlVSSQogICAgICA8YSBjbGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVm PSJodHRwOi8vbG9jYWxob3N0OjgxODEvbG9naW4ucGhwIj5odHRwOi8vbG9jYWxob3N0OjgxODEv bG9naW4ucGhwPC9hPiZndDsgOkNPT0tJRS1KQVIKICAgICAgIyZsdDtEUkFLTUE6Q09PS0lFLUpB UiAod2l0aCAwIGNvb2tpZXMpIHsxMDA0RTI2NTYzfSZndDsgOk1FVEhPRAogICAgICA6UE9TVCA6 Rk9STS1EQVRBIFQgOlBBUkFNRVRFUlMgKCgidGhldXNlcm5hbWUiIC4gIzE9ImR1bW15IikgKCJ0 Li48YnI+CiAgICAgICZuYnNwOyA0OiAoUE9TVC1SRVFVRVNUKTxicj4KICAgICAgPGJyPgogICAg ICBPbiBkcmFrbWEgMS4yLjkgeW91IGdldCB0aGUgb3V0cHV0Ojxicj4KICAgICAgPGJyPgogICAg ICAxMjcuMC4wLjEgLSBbMjAxMy0wMy0yMyAwNTo0NzowOF0gIlBPU1QgL2xvZ2luLnBocCBIVFRQ LzEuMSIgMzAyCiAgICAgIDM0OSAiLSIgIkRyYWttYS8xLjIuOSAoU0JDTCAxLjEuNS4xNS0wODky NDIzOyBMaW51eDsKICAgICAgMy41LjAtMjYtZ2VuZXJpYzsgPGEgY2xhc3M9Im1vei10eHQtbGlu ay1mcmVldGV4dCIgaHJlZj0iaHR0cDovL3dlaXR6LmRlL2RyYWttYS8iPmh0dHA6Ly93ZWl0ei5k ZS9kcmFrbWEvPC9hPikiPGJyPgogICAgICByZXBseSBpcyAmbHQ7aHRtbCZndDsmbHQ7aGVhZCZn dDsmbHQ7dGl0bGUmZ3Q7MzAyIE1vdmVkCiAgICAgIFRlbXBvcmFyaWx5Jmx0Oy90aXRsZSZndDsm bHQ7L2hlYWQmZ3Q7Jmx0O2JvZHkmZ3Q7Jmx0O2gxJmd0O01vdmVkCiAgICAgIFRlbXBvcmFyaWx5 Jmx0Oy9oMSZndDtUaGUgZG9jdW1lbnQgaGFzIG1vdmVkICZsdDthCiAgICAgIGhyZWY9JzxhIGNs YXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiIGhyZWY9Imh0dHA6Ly9sb2NhbGhvc3Q6ODE4MS9j b29raWUtY2hlY2sucGhwIj5odHRwOi8vbG9jYWxob3N0OjgxODEvY29va2llLWNoZWNrLnBocDwv YT4nJmd0O2hlcmUmbHQ7L2EmZ3Q7Jmx0O3AmZ3Q7Jmx0O2hyJmd0OyZsdDthZGRyZXNzJmd0OyZs dDthCiAgICAgIGhyZWY9JzxhIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiIGhyZWY9Imh0 dHA6Ly93ZWl0ei5kZS9odW5jaGVudG9vdC8iPmh0dHA6Ly93ZWl0ei5kZS9odW5jaGVudG9vdC88 L2E+JyZndDtIdW5jaGVudG9vdAogICAgICAxLjIuMTQmbHQ7L2EmZ3Q7ICZsdDthIGhyZWY9Jzxh IGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiIGhyZWY9Imh0dHA6Ly93d3cuc2JjbC5vcmcv Ij5odHRwOi8vd3d3LnNiY2wub3JnLzwvYT4nJmd0OyhTQkNMCiAgICAgIDEuMS41LjE1LTA4OTI0 MjMpJmx0Oy9hJmd0OyBhdAogICAgICBsb2NhbGhvc3Q6ODE4MSZsdDsvYWRkcmVzcyZndDsmbHQ7 L3AmZ3Q7Jmx0Oy9ib2R5Jmd0OyZsdDsvaHRtbCZndDs8YnI+CiAgICAgIDxicj4KICAgICAgPGJy PgogICAgICBPbiAyMi8wMy8xMyAxNjoyMSwgSGFucyBIJnV1bWw7Ym5lciB3cm90ZTo8YnI+CiAg ICA8L2Rpdj4KICAgIDxibG9ja3F1b3RlCmNpdGU9Im1pZDpDQUJqMGJ3Sj1OblRxUU5jSzYramky Rj1LalgrS2F0SGpTZk5iRz1NenNVeVMtYzRGTndAbWFpbC5nbWFpbC5jb20iCiAgICAgIHR5cGU9 ImNpdGUiPgogICAgICA8ZGl2IGRpcj0ibHRyIj5EcmFrbWEncyBiZWhhdmlvciB3aXRoIHJlc3Bl Y3QgdG8gcmVkaXJlY3RzIGhhcwogICAgICAgIHJlY2VudGx5IGNoYW5nZWQgc28gdGhhdCBpdCBp cyBzdGFuZGFyZCBjb21wbGlhbnQuICZuYnNwO0kgd291bGQgbGlrZQogICAgICAgIHRvIGtlZXAg aXQgdGhhdCB3YXksIGJ1dCBpZiB0aGlzIGlzIGEgaHVyZGxlIHRoYXQgY2FuJ3QgYmUKICAgICAg ICB3b3JrZWQgYXJvdW5kLCBJIGFtIG9wZW4gdG8gc3VnZ2VzdGlvbnMgdG8gY2hhbmdlIGl0IGFn YWluLgogICAgICAgIDxkaXY+CiAgICAgICAgICA8YnI+CiAgICAgICAgPC9kaXY+CiAgICAgICAg PGRpdiBzdHlsZT0iIj4tSGFuczwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0i Z21haWxfZXh0cmEiPjxicj4KICAgICAgICA8YnI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxf cXVvdGUiPk9uIEZyaSwgTWFyIDIyLCAyMDEzIGF0IDU6NTUgUE0sIDxzcGFuCiAgICAgICAgICAg IGRpcj0ibHRyIj4mbHQ7PGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgIGhy ZWY9Im1haWx0bzpybUBzZWlkLW9ubGluZS5kZSIgdGFyZ2V0PSJfYmxhbmsiPnJtQHNlaWQtb25s aW5lLmRlPC9hPiZndDs8L3NwYW4+CiAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICA8Ymxv Y2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAKICAgICAgICAg ICAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAg ICAgICAgICAgPGRpdiBjbGFzcz0iaW0iPk9uIEZyaSwgTWFyIDIyLCAyMDEzIGF0IDEyOjU3OjE1 UE0gKzAwMDAsCiAgICAgICAgICAgICAgUGV0ZXIgU3Rpcmxpbmcgd3JvdGU6PGJyPgogICAgICAg ICAgICAgICZndDsgSSB3YXMgZ2V0dGluZyB0aGlzIGVycm9yIHRvbywgSSByZXZlcnRlZCB0byB0 aGUKICAgICAgICAgICAgICBwcmV2aW91cyB2ZXJzaW9uIG9mIGNsK3NzbDxicj4KICAgICAgICAg ICAgICAmZ3Q7IGluIHF1aWNrbGlzcCBieSBwdXR0aW5nIGl0IGluIHRoZSBsb2NhbC1wcm9qZWN0 cwogICAgICAgICAgICAgIGRpcmVjdG9yeS48YnI+CiAgICAgICAgICAgICAgJmd0Ozxicj4KICAg ICAgICAgICAgICAmZ3Q7IEkndmUgYmVlbiBtZWFuaW5nIHRvIHJlcG9ydCBhbm90aGVyIHByb2Js ZW0gSSd2ZSBoYWQKICAgICAgICAgICAgICB3aXRoIHRoZSBuZXcgdmVyc2lvbjxicj4KICAgICAg ICAgICAgICAmZ3Q7IG9mIGRyYWttYSwgaXQgc2VlbXMgdGhhdCB3aGVuIEkgUE9TVCBsb2dpbiBk ZXRhaWxzIHRvCiAgICAgICAgICAgICAgYSBzaXRlIHRoYXQgSSdtIHVzaW5nPGJyPgogICAgICAg ICAgICAgICZndDsgaXQgcmVwbGllcyB3aXRoIGEgcmVkaXJlY3QsPGJyPgogICAgICAgICAgICAg IDxicj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIEhvdyBpcyB0aGUgc2l0ZSByZWRp cmVjdGluZz8gV2hhdCdzIHRoZSBIVFRQIHN0YXR1cyBjb2RlCiAgICAgICAgICAgIHRoZXkgdXNl Pzxicj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW0iPjxicj4KICAgICAgICAgICAgICAmZ3Q7 IGFuZCB0aGVuIGRyYWttYSB0cmllcyB0byBQT1NUIHRoZSBsb2dpbiBkZXRhaWxzPGJyPgogICAg ICAgICAgICAgICZndDsgdG8gdGhlIHJlZGlyZWN0ZWQgcGFnZSByYXRoZXIgdGhhbiBhY2Nlc3Np bmcgaXQgd2l0aAogICAgICAgICAgICAgIGEgR0VULiBJJ2xsIHRyeSBhbmQ8YnI+CiAgICAgICAg ICAgICAgJmd0OyBtYWtlIGEgdGVzdCBjYXNlIHNvbWV0aW1lIHRoaXMgd2Vla2VuZC48YnI+CiAg ICAgICAgICAgICAgPGJyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgRGVwZW5kaW5n IG9uIHRoZSBzdGF0dXMgY29kZSwgdGhhdCdzIGFjdHVhbGx5IHZhbGlkCiAgICAgICAgICAgIGJl aGF2aW91ci48YnI+CiAgICAgICAgICAgIChzZWU6IDxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIK ICAgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9y ZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMy4yIgogICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5r Ij5odHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwj c2VjMTAuMy4yPC9hPik8YnI+CiAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgJm5ic3A7SFRI IFJhbGYgTWF0dGVzPGJyPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xh c3M9Img1Ij48YnI+CiAgICAgICAgICAgICAgICAmZ3Q7IE9uIDIxLzAzLzEzIDIxOjQxLCBQZXRl ciBLdWNodGEgd3JvdGU6PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgSGkgZXZlcnlib2R5 LDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgSSdtIHRyeWluZyB0byBQT1NUIHNvbWUgSlNPTiBkYXRhIHRvIGEgd2ViCiAgICAgICAgICAg ICAgICBzZXJ2aWNlOjxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7PGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IChxbDpxdWlja2xvYWQg OnN0LWpzb24pPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IChxbDpxdWlja2xvYWQgOmNsLWpzb24pPGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IChxbDpxdWlja2xvYWQgOmRyYWttYSk8 YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAoZGVmdmFyICpyYyogKG1lcmdlLXBhdGhuYW1l cwogICAgICAgICAgICAgICAgKHVzZXItaG9tZWRpci1wYXRobmFtZSkgIi5hcGlyYyIpKTxicj4K ICAgICAgICAgICAgICAgICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IChkZWZ2YXIgKnVzZXIqPGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAod2l0aC1vcGVu LWZpbGUgKHMgKnJjKik8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAoc3QtanNvbjpyZWFkLWpzb24gcykpKTxicj4K ICAgICAgICAgICAgICAgICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IChkZWZ2YXIgYXBpLXVybCAoc3QtanNvbjpnZXRqc28g InVybCIKICAgICAgICAgICAgICAgICp1c2VyKikpPGJyPgogICAgICAgICAgICAgICAgJmd0OyZn dDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IChkZWZ2YXIgYXBpLWtleSAoc3QtanNvbjpn ZXRqc28gImtleSIKICAgICAgICAgICAgICAgICp1c2VyKikpPGJyPgogICAgICAgICAgICAgICAg Jmd0OyZndDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IChkZWZ2YXIgYXBpLWVtYWlsIChz dC1qc29uOmdldGpzbwogICAgICAgICAgICAgICAgImVtYWlsIiAqdXNlciopKTxicj4KICAgICAg ICAgICAgICAgICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IChzZXRmIGRyYWttYToqaGVhZGVyLXN0cmVhbSoKICAgICAgICAg ICAgICAgICpzdGFuZGFyZC1vdXRwdXQqKTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7PGJy PgogICAgICAgICAgICAgICAgJmd0OyZndDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IChk ZWZ2YXIgKnJlcSogJygoImRhdGFzZXQiIC4gInRpZ2dlIik8YnI+CiAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAoInN0ZXAiICZuYnNwOyAmbmJzcDsuICIyNCIpPGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgKCJkYXRlIiAmbmJzcDsgJm5ic3A7LiAiMjAwNzEwMDEiKTxi cj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICgidGltZSIgJm5ic3A7ICZuYnNwOy4g IjAwIik8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAoIm9yaWdpbiIgJm5ic3A7 LiAiYWxsIikpKTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IChmb3JtYXQgdCAianNvbjp+ U34lIgogICAgICAgICAgICAgICAgKGpzb246ZW5jb2RlLWpzb24tdG8tc3RyaW5nICpyZXEqKSk8 YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAoZGVmdW4gcmV0cmlldmUgKGFwaSByZXF1ZXN0 KTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgKGxldCogKChjb29raWUtamFyIChtYWtlLWluc3RhbmNlCiAgICAgICAgICAgICAg ICAnZHJha21hOmNvb2tpZS1qYXIpKTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 KGV4dHJhLWhlYWRlcnMgKGxpc3QgKGNvbnMKICAgICAgICAgICAgICAgICJGcm9tIiBhcGktZW1h aWwpPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IChjb25z CiAgICAgICAgICAgICAgICAiWC1BUEktS0VZIiBhcGkta2V5KSkpPGJyPgogICAgICAgICAgICAg ICAgJmd0OyZndDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsodXJsIChjb25jYXRlbmF0ZSAnc3RyaW5nCiAgICAgICAgICAgICAg ICBhcGktdXJsIGFwaSAiL3JlcXVlc3RzIikpPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsoc3RyZWFtIChkcmFrbWE6aHR0cC1yZXF1ZXN0CiAgICAgICAgICAgICAgICB1cmw8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOwogICAgICAgICAgICAgICAgJm5ic3A7OmFkZGl0aW9uYWwtaGVhZGVy cyBleHRyYS1oZWFkZXJzPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7OmFjY2VwdAogICAgICAg ICAgICAgICAgImFwcGxpY2F0aW9uL2pzb24iPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Om1l dGhvZCA6cG9zdDxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzpjb250ZW50LXR5cGUKICAgICAg ICAgICAgICAgICJhcHBsaWNhdGlvbi9qc29uIjxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7CiAgICAgICAg ICAgICAgICAmbmJzcDs6ZXh0ZXJuYWwtZm9ybWF0LW91dCA6dXRmLTg8YnI+CiAgICAgICAgICAg ICAgICAmZ3Q7Jmd0OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOwogICAgICAgICAgICAgICAgJm5ic3A7OmV4dGVybmFsLWZvcm1hdC1pbiA6dXRmLTg8YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs6cmVkaXJlY3QgMTAwPGJyPgogICAgICAgICAgICAgICAg Jmd0OyZndDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7OmNvb2tpZS1qYXIKICAgICAgICAgICAgICAgIGNvb2tpZS1qYXI8YnI+CiAgICAgICAg ICAgICAgICAmZ3Q7Jmd0OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDs6Y29udGVudAogICAgICAgICAgICAgICAgKGpzb246ZW5jb2RlLWpzb24t dG8tc3RyaW5nPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgcmVxdWVzdCk8YnI+CiAgICAg ICAgICAgICAgICAmZ3Q7Jmd0OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDs6d2FudC1zdHJlYW0KICAgICAgICAgICAgICAgIHQpKSk8YnI+CiAg ICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgKHN0LWpzb246cmVhZC1qc29uIHN0cmVhbSkpKTxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsocmV0cmlldmUgIi9kYXRhc2V0cy90aWdnZSIgKnJlcSopPGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyBVbmZvcnR1bmF0ZWx5 LCBJIGdldCBhbiBlcnJvciwgYWx0aG91Z2ggdGhlCiAgICAgICAgICAgICAgICBkYXRhIHNlZW1z IHRvIGJlIGVuY29kZWQgT0sgdG88YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyBKU09OIGFu ZCB0aGUgaGVhZGVycyBnZW5lcmF0ZWQgYnkgZHJha21hIHRvbywgSQogICAgICAgICAgICAgICAg dGhpbmsuIEFwcGFyZW50bHk8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyBzb21ldGhpbmcg aXMgd3Jvbmcgd2l0aCB0aGUgOmNvbnRlbnQgKHRoZSBsaXN0CiAgICAgICAgICAgICAgICBvZiBp bnRlZ2VycyBpbiB0aGUgZXJyb3JzPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgbWVzc2Fn ZSBpcyBqdXN0IHRoZSBsaXN0IG9mIEFTQ0lJIGNvZGVzIG9mIHRoZQogICAgICAgICAgICAgICAg SlNPTiBlbmNvZGVkIGRhdGEpLjxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7PGJyPgogICAg ICAgICAgICAgICAgJmd0OyZndDsKanNvbjoie1wiZGF0YXNldFwiOlwidGlnZ2VcIixcInN0ZXBc IjpcIjI0XCIsXCJudW1iZXJcIjpcImFsbFwiLFwibGV2dHlwZVwiOlwic2xcIixcImRhdGVcIjpc IjIwMDcxMDAxXCIsXCJ0aW1lXCI6XCIwMFwiLFwib3JpZ2luXCI6XCJhbGxcIixcInR5cGVcIjpc InBmXCIsXCJwYXJhbVwiOlwidHBcIixcImFyZWFcIjpcIjcwXFwvLTEzMFxcLzMwXFwvLTYwXCIs XCJncmlkXCI6XCIyXFwvMlwiLFwidGFyZ2V0XCI6XCJkYXRhLmdyaWJcIn0iPGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbmJzcDsgJm5i c3A7IFBPU1QgL3YxL2RhdGFzZXRzL3RpZ2dlL3JlcXVlc3RzIEhUVFAvMS4xPGJyPgogICAgICAg ICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgJmd0OyZndDsgJm5i c3A7ICZuYnNwOyBIb3N0OiA8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAg aHJlZj0iaHR0cDovL2FwaS5zZXJ2aWNlLmludCIgdGFyZ2V0PSJfYmxhbmsiPmFwaS5zZXJ2aWNl LmludDwvYT4KICAgICAgICAgICAgJmx0OzxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIgaHJlZj0i aHR0cDovL2FwaS5zZXJ2aWNlLmludCIKICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayI+aHR0 cDovL2FwaS5zZXJ2aWNlLmludDwvYT4mZ3Q7PGJyPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJp bSI+Jmd0OyZndDsgJm5ic3A7ICZuYnNwOyBVc2VyLUFnZW50OiBEcmFrbWEvMS4zLjAgKFNCQ0wK ICAgICAgICAgICAgICAxLjEuNTsgRGFyd2luOyAxMi4yLjA7PGJyPgogICAgICAgICAgICAgICZn dDsmZ3Q7IDxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgICAgIGhyZWY9Imh0 dHA6Ly93ZWl0ei5kZS9kcmFrbWEvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3dlaXR6LmRlL2Ry YWttYS88L2E+KTxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbmJzcDsgJm5ic3A7IEFjY2Vw dDogYXBwbGljYXRpb24vanNvbjxicj4KICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbmJzcDsgJm5i c3A7IENvbm5lY3Rpb246IGNsb3NlPGJyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAg Jmd0OyZndDsgJm5ic3A7ICZuYnNwOyBGcm9tOiA8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAg ICAgICAgICAgICAgaHJlZj0ibWFpbHRvOm1lQGdtYWlsLmNvbSI+bWVAZ21haWwuY29tPC9hPiAm bHQ7bWFpbHRvOjxhCiAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBocmVmPSJt YWlsdG86bWVAZ21haWwuY29tIj5tZUBnbWFpbC5jb208L2E+Jmd0Ozxicj4KICAgICAgICAgICAg PGRpdiBjbGFzcz0iSE9FblpiIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoNSI+Jmd0OyZn dDsgJm5ic3A7ICZuYnNwOyBYLUFQSS1LRVk6CiAgICAgICAgICAgICAgICAxOWEwZWRiNmQ4ZDhk ZGExZTZhM2IyMTIyM2U0Zjg2YTxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZuYnNwOyAm bmJzcDsgQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uPGJyPgogICAgICAgICAgICAgICAg Jmd0OyZndDsgJm5ic3A7ICZuYnNwOyBDb250ZW50LUxlbmd0aDogMTkzPGJyPgogICAgICAgICAg ICAgICAgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0Ozxicj4KICAgICAgICAg ICAgICAgICZndDsmZ3Q7ICZuYnNwOyAmbmJzcDsgZGVidWdnZXIgaW52b2tlZCBvbiBhIFNJTVBM RS1UWVBFLUVSUk9SOjxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFRoZSB2YWx1ZSBvZiBDTCtTU0w6OlRISU5HIGlzICMoMTIzIDM0CiAgICAgICAgICAg ICAgICAxMDAgOTcgMTE2IDk3IDExNSAxMDEgMTE2IDM0PGJyPgogICAgICAgICAgICAgICAgJmd0 OyZndDsgNTggMzQ8YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IC4uLiksIHdoaWNo CiAgICAgICAgICAgICAgICBpcyBub3Qgb2YgdHlwZSAoU0lNUExFLUFSUkFZPGJyPgogICAgICAg ICAgICAgICAgJmd0OyZndDsgJm5ic3A7ICZuYnNwOyAoVU5TSUdORUQtQllURSA4KTxicj4KICAg ICAgICAgICAgICAgICZndDsmZ3Q7ICZuYnNwOyAmbmJzcDsgKCopKS48YnI+CiAgICAgICAgICAg ICAgICAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7IEFueSBpZGVhIHdoYXQn cyB3cm9uZyB3aXRoIHRoaXMgY29kZT8gTWFueQogICAgICAgICAgICAgICAgdGhhbmtzIGluIGFk dmFuY2UuPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDs8YnI+CiAgICAgICAgICAgICAgICAm Z3Q7Jmd0OyBCZXN0IHJlZ2FyZHMsPGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgUGlvdHI8 YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0Ozxicj4KICAgICAgICAgICAgICAgICZndDsmZ3Q7 PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX188YnI+CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyBkcmFrbWEt ZGV2ZWwgbWFpbGluZyBsaXN0PGJyPgogICAgICAgICAgICAgICAgJmd0OyZndDsgPGEgbW96LWRv LW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86ZHJha21hLWRl dmVsQGNvbW1vbi1saXNwLm5ldCI+ZHJha21hLWRldmVsQGNvbW1vbi1saXNwLm5ldDwvYT48YnI+ CiAgICAgICAgICAgICAgICAmZ3Q7Jmd0OyA8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCmhyZWY9 Imh0dHA6Ly9saXN0cy5jb21tb24tbGlzcC5uZXQvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL2Ry YWttYS1kZXZlbCIKICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9saXN0 cy5jb21tb24tbGlzcC5uZXQvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL2RyYWttYS1kZXZlbDwv YT48YnI+CiAgICAgICAgICAgICAgICAmZ3Q7PGJyPgogICAgICAgICAgICAgICAgPGJyPgogICAg ICAgICAgICAgICAgJmd0OyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXzxicj4KICAgICAgICAgICAgICAgICZndDsgZHJha21hLWRldmVsIG1haWxpbmcgbGlz dDxicj4KICAgICAgICAgICAgICAgICZndDsgPGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAg ICAgICAgICAgICAgICBocmVmPSJtYWlsdG86ZHJha21hLWRldmVsQGNvbW1vbi1saXNwLm5ldCI+ ZHJha21hLWRldmVsQGNvbW1vbi1saXNwLm5ldDwvYT48YnI+CiAgICAgICAgICAgICAgICAmZ3Q7 IDxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKaHJlZj0iaHR0cDovL2xpc3RzLmNvbW1vbi1saXNw Lm5ldC9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vZHJha21hLWRldmVsIgogICAgICAgICAgICAg ICAgICB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2xpc3RzLmNvbW1vbi1saXNwLm5ldC9jZ2ktYmlu L21haWxtYW4vbGlzdGluZm8vZHJha21hLWRldmVsPC9hPjxicj4KICAgICAgICAgICAgICAgIDxi cj4KICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgIF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgogICAgICAgICAgICAgICAgZHJha21h LWRldmVsIG1haWxpbmcgbGlzdDxicj4KICAgICAgICAgICAgICAgIDxhIG1vei1kby1ub3Qtc2Vu ZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOmRyYWttYS1kZXZlbEBjb21t b24tbGlzcC5uZXQiPmRyYWttYS1kZXZlbEBjb21tb24tbGlzcC5uZXQ8L2E+PGJyPgogICAgICAg ICAgICAgICAgPGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgpocmVmPSJodHRwOi8vbGlzdHMuY29t bW9uLWxpc3AubmV0L2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9kcmFrbWEtZGV2ZWwiCiAgICAg ICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbGlzdHMuY29tbW9uLWxpc3AubmV0 L2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9kcmFrbWEtZGV2ZWw8L2E+PGJyPgogICAgICAgICAg ICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAg ICAgICA8L2Rpdj4KICAgICAgICA8YnI+CiAgICAgIDwvZGl2PgogICAgICA8YnI+CiAgICAgIDxm aWVsZHNldCBjbGFzcz0ibWltZUF0dGFjaG1lbnRIZWFkZXIiPjwvZmllbGRzZXQ+CiAgICAgIDxi cj4KICAgICAgPHByZSB3cmFwPSIiPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyYWttYS1kZXZlbCBtYWlsaW5nIGxpc3QKPGEgY2xhc3M9Im1vei10eHQt bGluay1hYmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOmRyYWttYS1kZXZlbEBjb21tb24tbGlzcC5u ZXQiPmRyYWttYS1kZXZlbEBjb21tb24tbGlzcC5uZXQ8L2E+CjxhIGNsYXNzPSJtb3otdHh0LWxp bmstZnJlZXRleHQiIGhyZWY9Imh0dHA6Ly9saXN0cy5jb21tb24tbGlzcC5uZXQvY2dpLWJpbi9t YWlsbWFuL2xpc3RpbmZvL2RyYWttYS1kZXZlbCI+aHR0cDovL2xpc3RzLmNvbW1vbi1saXNwLm5l dC9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vZHJha21hLWRldmVsPC9hPgo8L3ByZT4KICAgIDwv YmxvY2txdW90ZT4KICAgIDxicj4KICA8L2JvZHk+CjwvaHRtbD4K --===============0524317004149404394== Content-Type: text/plain Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="drakma-bug.lisp" MIME-Version: 1.0 KGV2YWwtd2hlbiAoOmNvbXBpbGUtdG9wbGV2ZWwgOmxvYWQtdG9wbGV2ZWwgOmV4ZWN1dGUpCiAg KHFsOnF1aWNrbG9hZCAnKCM6ZHJha21hICM6aHVuY2hlbnRvb3QpKSkKCihkZWZwYWNrYWdlICM6 ZHJha21hLWJ1ZwogICg6dXNlICM6Y2wpKQoKKGluLXBhY2thZ2UgIzpkcmFrbWEtYnVnKQoKKGRl ZnZhciAqYWNjZXB0b3IqIChtYWtlLWluc3RhbmNlICdodW5jaGVudG9vdDplYXN5LWFjY2VwdG9y CgkJCQkgIDpwb3J0IDgxODEpKQoKKGh1bmNoZW50b290OnN0YXJ0ICphY2NlcHRvciopCgooaHVu Y2hlbnRvb3Q6ZGVmaW5lLWVhc3ktaGFuZGxlciAobG9naW4gOnVyaSAiL2xvZ2luLnBocCIpCiAg ICAodGhlcGFzc3dvcmQKICAgICB0aGV1c2VybmFtZSkKICAoZGVjbGFyZSAoaWdub3JlIHRoZXBh c3N3b3JkIHRoZXVzZXJuYW1lKSkKICAoaHVuY2hlbnRvb3Q6cmVkaXJlY3QgIi9jb29raWUtY2hl Y2sucGhwIgoJCQk6Y29kZSBodW5jaGVudG9vdDoraHR0cC1tb3ZlZC10ZW1wb3JhcmlseSspKQoK KGh1bmNoZW50b290OmRlZmluZS1lYXN5LWhhbmRsZXIgKGNvb2tpZS1jaGVjayA6dXJpICIvY29v a2llLWNoZWNrLnBocCIpCiAgICAoKQogICJTdWNjZXNzIikKCihkZWZ1biBwb3N0LXJlcXVlc3Qg KCkKICAobGV0KiAoKGNvb2tpZS1qYXIgKG1ha2UtaW5zdGFuY2UgJ2RyYWttYTpjb29raWUtamFy KSkKCSAocmVwbHkgKGRyYWttYTpodHRwLXJlcXVlc3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODE4MS9s b2dpbi5waHAiCgkJCQkgICAgIDpjb29raWUtamFyIGNvb2tpZS1qYXIKCQkJCSAgICAgOm1ldGhv ZCA6cG9zdAoJCQkJICAgICA6Zm9ybS1kYXRhIHQKCQkJCSAgICAgOnBhcmFtZXRlcnMgJygoInRo ZXVzZXJuYW1lIiAuICJkdW1teSIpCgkJCQkJCSAgICgidGhlcGFzc3dvcmQiIC4gImR1bW15Iikp KSkpCiAgICAoZm9ybWF0IHQgInJlcGx5IGlzIH5hfiUiIHJlcGx5KSkpCgoocG9zdC1yZXF1ZXN0 KQ== --===============0524317004149404394==--