From miconda@gmail.com Wed Jan 22 08:19:03 2020 From: Daniel-Constantin Mierla To: sr-users@lists.kamailio.org Subject: Re: [SR-Users] pipelimit: inexistent pipe error logs Date: Wed, 22 Jan 2020 08:18:56 +0100 Message-ID: <9442e110-fd1a-8027-0851-28c8f5dcc633@gmail.com> In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0734314180==" --===============0734314180== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello, what version of kamailio are you using and what http version is curl using? Can you paste here the http request taken with ngrep from the network? Cheers, Daniel On 21.01.20 19:00, Nuno Ferreira wrote: > Hi Daniel, > > There's no other traffic than the HTTP requests. > This comment in src/core/parser/parse_fline.c 99 - 113,=C2=A0caugh=C2=A0my > attention: > > =C2=A0} else if (http_reply_parse !=3D 0 && > (*tmp=3D=3D'H' || *tmp=3D=3D'h') && > /* 'HTTP/1.' */ > strncasecmp( tmp+1, HTTP_VERSION+1, HTTP_VERSION_LEN-1)=3D=3D0 && > /* [0|1] */ > ((*(tmp+HTTP_VERSION_LEN)=3D=3D'0') || (*(tmp+HTTP_VERSION_LEN)=3D=3D'1')) = && > (*(tmp+HTTP_VERSION_LEN+1)=3D=3D' ') =C2=A0){ > */* ugly hack to be able to route http replies > * Note: - the http reply must have a via > * =C2=A0 =C2=A0 =C2=A0 - the message is marked as SIP_REPLY (ugly)* > */ > fl->type=3DSIP_REPLY; > fl->flags|=3DFLINE_FLAG_PROTO_HTTP; > fl->u.reply.version.len=3DHTTP_VERSION_LEN+1 /*include last digit*/; > tmp=3Dbuffer+HTTP_VERSION_LEN+1 /* last digit */; > > and later in error1: > error1: > fl->type=3DSIP_INVALID; > LOG((core, core_cfg, corelog), "parse_first_line: bad message (offset: > %d)\n", offset); > /* skip =C2=A0line */ > nl=3Deat_line(buffer,len); > return nl; > > So that log line can be conditional if=C2=A0FLINE_FLAG_PROTO_HTTP is not > part of=C2=A0fl->flags. > I just don't know where the "[466B blob data]" is getting printed > > On Tue, Jan 21, 2020 at 4:30 PM Daniel-Constantin Mierla > > wrote: > > Hello, > > as I said, watch the traffic on port 8000 with ngrep or some other > network sniffer to see what data comes there. You can also start > kamailio with debug=3D3 in config, more debug logs should be printed > to syslog to get the context of what is processed at that time. > > Cheers, > Daniel > > On 21.01.20 16:31, Nuno Ferreira wrote: >> Hi Daniel, >> >> Thanks for your feedback. >> I have a dedicated listen directive for JSONRPC >> listen =3D 127.0.0.1:8000 >> >> and then an event_route for it: >> event_route[xhttp:request] { >> =C2=A0 =C2=A0 if ($Rp !=3D 8000) { >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 xhttp_reply("403", "Forbidden", "text/html= ", >> "Forbidden"); >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 exit; >> =C2=A0 =C2=A0 } >> =C2=A0 =C2=A0 if ($hu =3D~ "^/RPC") { >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 jsonrpc_dispatch(); >> =C2=A0 =C2=A0 } else { >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 xhttp_reply("200", "OK", "text/html", "Wrong >> URL $hu"); >> =C2=A0 =C2=A0 } >> =C2=A0 =C2=A0 return; >> } >> >> So, I'm already doing HTTP traffic only in port 8000. >> The interesting part is that if I use kamcmd pl.list pipe_INVITE, >> only the first log line is printed. Using curl, I see the other 2 >> logs all the time. >> >> Thank you >> >> On Tue, Jan 21, 2020 at 2:45 PM Daniel-Constantin Mierla >> > wrote: >> >> Hello, >> >> can you want the traffic on port 8000 and see if there is no >> "unexpected" traffic there? There should be no error message >> for parsing the first line of an HTTP request. >> >> The error message related the missing pipe can be made debug. >> >> Cheers, >> Daniel >> >> On 21.01.20 15:34, Nuno Ferreira wrote: >>> Hi all, >>> >>> I'm using pipelimit with the "clean_unused" option to get >>> rid of pipes that are not used for quite some time. At the >>> same time we are monitoring pipelimit with a jsonrpc call >>> similar to: >>> >>> # curl --header 'Content-Type: application/json' >>> --data-binary '{"id": 1, "jsonrpc": "2.0", "method": >>> "pl.list", "params": ["pipe_INVITE"]' http://127.0.0.1:8000/RPC >>> >>> Reply: >>> { >>> =C2=A0 =C2=A0"jsonrpc": "2.0", >>> =C2=A0 =C2=A0"error": { >>> =C2=A0 =C2=A0 =C2=A0 "code": 400, >>> =C2=A0 =C2=A0 =C2=A0 "message": "Unknown pipe id pipe_INVITE" >>> =C2=A0 =C2=A0}, >>> =C2=A0 =C2=A0"id": 1 >>> } >>> >>> The above reply is valid because the pipe_INVITE was not >>> loaded yet, but the request makes kamailio to log the >>> following log messages: >>> >>> Jan 20 11:21:48 proxy1 kamailio[24474]: ERROR: pipelimit >>> [pl_ht.c:519]: rpc_pl_list(): no pipe: pipe_INVITE >>> Jan 20 11:21:48 proxy1 kamailio[24474]: ERROR: >>> [core/parser/parse_fline.c:262]: parse_first_line(): >>> parse_first_line: bad message (offset: 20) >>> Jan 20 11:21:48 proxy1 kamailio[24474]: [466B blob data] >>> >>> Since the monitoring system does periodic requests, those >>> log lines get a bit annoying and fill the log with ERROR >>> messages that aren't really errors. >>> >>> IMHO the first log line should be converted to DEBUG instead >>> of ERROR, but I have some doubts about the one >>> from=C2=A0parse_fline.c:262.=C2=A0parse_first_line() is used to >>> process both SIP and HTTP. It makes sense to log ERROR if >>> SIP but not in the case of HTTP... >>> Regarding the "[466B blob data]" I really don't know from >>> where it's coming from. >>> I can submit a PR, but I would like to have first some >>> feedback from you. >>> >>> Thank you, >>> >>> Nuno >>> >>> >>> *Confidentiality Notice: The information contained in this >>> e-mail and any >>> attachments may be confidential. If you are not an intended >>> recipient, you >>> are hereby notified that any dissemination, distribution or >>> copying of this >>> e-mail is strictly prohibited. If you have received this >>> e-mail in error, >>> please notify the sender and permanently delete the e-mail >>> and any >>> attachments immediately. You should not retain, copy or use >>> this e-mail or >>> any attachment for any purpose, nor disclose all or any part >>> of the >>> contents to any other person. Thank you.* >>> >>> _______________________________________________ >>> Kamailio (SER) - Users Mailing List >>> sr-users(a)lists.kamailio.org >>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >> >> --=20 >> Daniel-Constantin Mierla -- www.asipto.com >> www.twitter.com/miconda -- www.li= nkedin.com/in/miconda >> Kamailio Advanced Training - March 9-11, 2020, Berlin - www.asipto= .com >> Kamailio World Conference - April 27-29, 2020, in Berlin -- www.ka= mailioworld.com >> >> >> >> *Confidentiality Notice: The information contained in this e-mail >> and any >> attachments may be confidential. If you are not an intended >> recipient, you >> are hereby notified that any dissemination, distribution or >> copying of this >> e-mail is strictly prohibited. If you have received this e-mail >> in error, >> please notify the sender and permanently delete the e-mail and any >> attachments immediately. You should not retain, copy or use this >> e-mail or >> any attachment for any purpose, nor disclose all or any part of the >> contents to any other person. Thank you.*=20 > > --=20 > Daniel-Constantin Mierla -- www.asipto.com > www.twitter.com/miconda -- www.linkedi= n.com/in/miconda > Kamailio Advanced Training - March 9-11, 2020, Berlin - www.asipto.com = > Kamailio World Conference - April 27-29, 2020, in Berlin -- www.kamaili= oworld.com > > > > *Confidentiality Notice: The information contained in this e-mail and any > attachments may be confidential. If you are not an intended recipient, you > are hereby notified that any dissemination, distribution or copying of > this > e-mail is strictly prohibited. If you have received this e-mail in error, > please notify the sender and permanently delete the e-mail and any > attachments immediately. You should not retain, copy or use this e-mail or > any attachment for any purpose, nor disclose all or any part of the > contents to any other person. Thank you.*=20 --=20 Daniel-Constantin Mierla -- www.asipto.com www.twitter.com/miconda -- www.linkedin.com/in/miconda Kamailio Advanced Training - March 9-11, 2020, Berlin - www.asipto.com Kamailio World Conference - April 27-29, 2020, in Berlin -- www.kamailioworld= .com --===============0734314180== Content-Type: text/html Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" MIME-Version: 1.0 PGh0bWw+CiAgPGhlYWQ+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRl bnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+ SGVsbG8sPC9wPgogICAgPHA+d2hhdCB2ZXJzaW9uIG9mIGthbWFpbGlvIGFyZSB5b3UgdXNpbmcg YW5kIHdoYXQgaHR0cCB2ZXJzaW9uIGlzCiAgICAgIGN1cmwgdXNpbmc/IENhbiB5b3UgcGFzdGUg aGVyZSB0aGUgaHR0cCByZXF1ZXN0IHRha2VuIHdpdGggbmdyZXAKICAgICAgZnJvbSB0aGUgbmV0 d29yaz88L3A+CiAgICA8cD5DaGVlcnMsPGJyPgogICAgICBEYW5pZWw8YnI+CiAgICA8L3A+CiAg ICA8ZGl2IGNsYXNzPSJtb3otY2l0ZS1wcmVmaXgiPk9uIDIxLjAxLjIwIDE5OjAwLCBOdW5vIEZl cnJlaXJhIHdyb3RlOjxicj4KICAgIDwvZGl2PgogICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIK Y2l0ZT0ibWlkOkNBKzk0NV9NSDZSakFwYjVuUXRONTg3czRKSndvWm1YdjJDV3ZIT05GNXZFZXNi UVAtZ0BtYWlsLmdtYWlsLmNvbSI+CiAgICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlw ZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgICAgPGRpdiBkaXI9Imx0 ciI+CiAgICAgICAgPGRpdiBkaXI9Imx0ciI+SGkgRGFuaWVsLAogICAgICAgICAgPGRpdj48YnI+ CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+VGhlcmUncyBubyBvdGhlciB0cmFmZmlj IHRoYW4gdGhlIEhUVFAgcmVxdWVzdHMuPC9kaXY+CiAgICAgICAgICA8ZGl2PlRoaXMgY29tbWVu dCBpbiBzcmMvY29yZS9wYXJzZXIvcGFyc2VfZmxpbmUuYyA5OSAtCiAgICAgICAgICAgIDExMyzC oGNhdWdowqBteSBhdHRlbnRpb246PC9kaXY+CiAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAg IDwvZGl2PgogICAgICAgICAgPGRpdj7CoDxmb250IGZhY2U9Im1vbm9zcGFjZSI+fSBlbHNlIGlm IChodHRwX3JlcGx5X3BhcnNlICE9IDAKICAgICAgICAgICAgICAmYW1wOyZhbXA7PGJyPgogICAg ICAgICAgICAgICgqdG1wPT0nSCcgfHwgKnRtcD09J2gnKSAmYW1wOyZhbXA7PGJyPgogICAgICAg ICAgICAgIC8qICdIVFRQLzEuJyAqLzxicj4KICAgICAgICAgICAgICBzdHJuY2FzZWNtcCggdG1w KzEsIEhUVFBfVkVSU0lPTisxLCBIVFRQX1ZFUlNJT05fTEVOLTEpPT0wCiAgICAgICAgICAgICAg JmFtcDsmYW1wOzxicj4KICAgICAgICAgICAgICAvKiBbMHwxXSAqLzxicj4KICAgICAgICAgICAg ICAoKCoodG1wK0hUVFBfVkVSU0lPTl9MRU4pPT0nMCcpIHx8CiAgICAgICAgICAgICAgKCoodG1w K0hUVFBfVkVSU0lPTl9MRU4pPT0nMScpKSAmYW1wOyZhbXA7PGJyPgogICAgICAgICAgICAgICgq KHRtcCtIVFRQX1ZFUlNJT05fTEVOKzEpPT0nICcpIMKgKXsgPGJyPgogICAgICAgICAgICAgIDxi PiAvKiB1Z2x5IGhhY2sgdG8gYmUgYWJsZSB0byByb3V0ZSBodHRwIHJlcGxpZXM8YnI+CiAgICAg ICAgICAgICAgICAqIE5vdGU6IC0gdGhlIGh0dHAgcmVwbHkgbXVzdCBoYXZlIGEgdmlhPGJyPgog ICAgICAgICAgICAgICAgKiDCoCDCoCDCoCAtIHRoZSBtZXNzYWdlIGlzIG1hcmtlZCBhcyBTSVBf UkVQTFkgKHVnbHkpPC9iPjxicj4KICAgICAgICAgICAgICAqLzxicj4KICAgICAgICAgICAgICBm bC0mZ3Q7dHlwZT1TSVBfUkVQTFk7PGJyPgogICAgICAgICAgICAgIGZsLSZndDtmbGFnc3w9RkxJ TkVfRkxBR19QUk9UT19IVFRQOzxicj4KICAgICAgICAgICAgICBmbC0mZ3Q7dS5yZXBseS52ZXJz aW9uLmxlbj1IVFRQX1ZFUlNJT05fTEVOKzEgLyppbmNsdWRlCiAgICAgICAgICAgICAgbGFzdCBk aWdpdCovOzxicj4KICAgICAgICAgICAgICB0bXA9YnVmZmVyK0hUVFBfVkVSU0lPTl9MRU4rMSAv KiBsYXN0IGRpZ2l0ICovOzwvZm9udD48YnI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxk aXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj48YnI+CiAgICAgICAgICAgIDwvZm9udD48L2Rpdj4K ICAgICAgICAgIDxkaXY+PGZvbnQgZmFjZT0iYXJpYWwsIHNhbnMtc2VyaWYiPmFuZCBsYXRlciBp biBlcnJvcjE6PC9mb250PjwvZGl2PgogICAgICAgICAgPGRpdj48Zm9udCBmYWNlPSJtb25vc3Bh Y2UiPmVycm9yMTo8YnI+CiAgICAgICAgICAgICAgZmwtJmd0O3R5cGU9U0lQX0lOVkFMSUQ7PGJy PgogICAgICAgICAgICAgIExPRygoY29yZSwgY29yZV9jZmcsIGNvcmVsb2cpLCAicGFyc2VfZmly c3RfbGluZTogYmFkCiAgICAgICAgICAgICAgbWVzc2FnZSAob2Zmc2V0OiAlZClcbiIsIG9mZnNl dCk7PGJyPgogICAgICAgICAgICAgIC8qIHNraXAgwqBsaW5lICovPGJyPgogICAgICAgICAgICAg IG5sPWVhdF9saW5lKGJ1ZmZlcixsZW4pOzxicj4KICAgICAgICAgICAgICByZXR1cm4gbmw7PGJy PgogICAgICAgICAgICA8L2ZvbnQ+PC9kaXY+CiAgICAgICAgICA8ZGl2Pjxmb250IGZhY2U9Im1v bm9zcGFjZSI+PGJyPgogICAgICAgICAgICA8L2ZvbnQ+PC9kaXY+CiAgICAgICAgICA8ZGl2Pjxm b250IGZhY2U9ImFyaWFsLCBzYW5zLXNlcmlmIj5TbyB0aGF0IGxvZyBsaW5lIGNhbiBiZQogICAg ICAgICAgICAgIGNvbmRpdGlvbmFsIGlmwqBGTElORV9GTEFHX1BST1RPX0hUVFAgaXMgbm90IHBh cnQKICAgICAgICAgICAgICBvZsKgZmwtJmd0O2ZsYWdzLjwvZm9udD48L2Rpdj4KICAgICAgICAg IDxkaXY+PGZvbnQgZmFjZT0iYXJpYWwsIHNhbnMtc2VyaWYiPkkganVzdCBkb24ndCBrbm93IHdo ZXJlCiAgICAgICAgICAgICAgdGhlICI8L2ZvbnQ+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1v bm9zcGFjZSI+WzQ2NkIgYmxvYgogICAgICAgICAgICAgIGRhdGFdPC9zcGFuPjxzcGFuIHN0eWxl PSJmb250LWZhbWlseTphcmlhbCxzYW5zLXNlcmlmIj4iCiAgICAgICAgICAgICAgaXMgZ2V0dGlu ZyBwcmludGVkPC9zcGFuPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxicj4KICAgICAg ICA8ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+CiAgICAgICAgICA8ZGl2IGRpcj0ibHRyIiBjbGFz cz0iZ21haWxfYXR0ciI+T24gVHVlLCBKYW4gMjEsIDIwMjAgYXQgNDozMAogICAgICAgICAgICBQ TSBEYW5pZWwtQ29uc3RhbnRpbiBNaWVybGEgJmx0OzxhCiAgICAgICAgICAgICAgaHJlZj0ibWFp bHRvOm1pY29uZGFAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICBtb3ot ZG8tbm90LXNlbmQ9InRydWUiPm1pY29uZGFAZ21haWwuY29tPC9hPiZndDsgd3JvdGU6PGJyPgog ICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUi IHN0eWxlPSJtYXJnaW46MHB4IDBweCAwcHgKICAgICAgICAgICAgMC44ZXg7Ym9yZGVyLWxlZnQ6 MXB4IHNvbGlkCiAgICAgICAgICAgIHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+ CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPHA+SGVsbG8sPC9wPgogICAgICAgICAg ICAgIDxwPmFzIEkgc2FpZCwgd2F0Y2ggdGhlIHRyYWZmaWMgb24gcG9ydCA4MDAwIHdpdGggbmdy ZXAgb3IKICAgICAgICAgICAgICAgIHNvbWUgb3RoZXIgbmV0d29yayBzbmlmZmVyIHRvIHNlZSB3 aGF0IGRhdGEgY29tZXMgdGhlcmUuCiAgICAgICAgICAgICAgICBZb3UgY2FuIGFsc28gc3RhcnQg a2FtYWlsaW8gd2l0aCBkZWJ1Zz0zIGluIGNvbmZpZywgbW9yZQogICAgICAgICAgICAgICAgZGVi dWcgbG9ncyBzaG91bGQgYmUgcHJpbnRlZCB0byBzeXNsb2cgdG8gZ2V0IHRoZQogICAgICAgICAg ICAgICAgY29udGV4dCBvZiB3aGF0IGlzIHByb2Nlc3NlZCBhdCB0aGF0IHRpbWUuPC9wPgogICAg ICAgICAgICAgIDxwPkNoZWVycyw8YnI+CiAgICAgICAgICAgICAgICBEYW5pZWw8YnI+CiAgICAg ICAgICAgICAgPC9wPgogICAgICAgICAgICAgIDxkaXY+T24gMjEuMDEuMjAgMTY6MzEsIE51bm8g RmVycmVpcmEgd3JvdGU6PGJyPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxi bG9ja3F1b3RlIHR5cGU9ImNpdGUiPgogICAgICAgICAgICAgICAgPGRpdiBkaXI9Imx0ciI+CiAg ICAgICAgICAgICAgICAgIDxkaXYgZGlyPSJsdHIiPkhpIERhbmllbCwKICAgICAgICAgICAgICAg ICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAg ICAgICA8ZGl2PlRoYW5rcyBmb3IgeW91ciBmZWVkYmFjay48L2Rpdj4KICAgICAgICAgICAgICAg ICAgICA8ZGl2PkkgaGF2ZSBhIGRlZGljYXRlZCBsaXN0ZW4gZGlyZWN0aXZlIGZvciBKU09OUlBD PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48Zm9udCBmYWNlPSJtb25vc3BhY2UiPmxp c3RlbiA9IDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovLzEyNy4wLjAu MTo4MDAwIiB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgICAgICAgICAgICBtb3otZG8t bm90LXNlbmQ9InRydWUiPjEyNy4wLjAuMTo4MDAwPC9hPjwvZm9udD48YnI+CiAgICAgICAgICAg ICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48YnI+CiAgICAgICAgICAg ICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj5hbmQgdGhlbiBhbiBldmVu dF9yb3V0ZSBmb3IgaXQ6PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdj48Zm9udCBmYWNl PSJtb25vc3BhY2UiPmV2ZW50X3JvdXRlW3hodHRwOnJlcXVlc3RdCiAgICAgICAgICAgICAgICAg ICAgICAgIHs8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgIMKgIMKgIGlmICgkUnAgIT0gODAw MCkgezxicj4KICAgICAgICAgICAgICAgICAgICAgICAgwqAgwqAgwqAgwqAgeGh0dHBfcmVwbHko IjQwMyIsICJGb3JiaWRkZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAidGV4dC9odG1sIiwK ICAgICAgICAgICAgICAgICAgICAgICAgIiZsdDtodG1sJmd0OyZsdDtib2R5Jmd0O0ZvcmJpZGRl biZsdDsvYm9keSZndDsmbHQ7L2h0bWwmZ3Q7Iik7PGJyPgogICAgICAgICAgICAgICAgICAgICAg ICDCoCDCoCDCoCDCoCBleGl0Ozxicj4KICAgICAgICAgICAgICAgICAgICAgICAgwqAgwqAgfTxi cj4KICAgICAgICAgICAgICAgICAgICAgICAgwqAgwqAgaWYgKCRodSA9fiAiXi9SUEMiKSB7PGJy PgogICAgICAgICAgICAgICAgICAgICAgICDCoCDCoCDCoCDCoCBqc29ucnBjX2Rpc3BhdGNoKCk7 PGJyPgogICAgICAgICAgICAgICAgICAgICAgICDCoCDCoCB9IGVsc2Ugezxicj4KICAgICAgICAg ICAgICAgICAgICAgICAgwqAgwqAgwqAgwqAgeGh0dHBfcmVwbHkoIjIwMCIsICJPSyIsICJ0ZXh0 L2h0bWwiLAogICAgICAgICAgICAgICAgICAgICAgICAiJmx0O2h0bWwmZ3Q7Jmx0O2JvZHkmZ3Q7 V3JvbmcgVVJMCiAgICAgICAgICAgICAgICAgICAgICAgICRodSZsdDsvYm9keSZndDsmbHQ7L2h0 bWwmZ3Q7Iik7PGJyPgogICAgICAgICAgICAgICAgICAgICAgICDCoCDCoCB9PGJyPgogICAgICAg ICAgICAgICAgICAgICAgICDCoCDCoCByZXR1cm47PGJyPgogICAgICAgICAgICAgICAgICAgICAg ICB9PGJyPgogICAgICAgICAgICAgICAgICAgICAgPC9mb250PjwvZGl2PgogICAgICAgICAgICAg ICAgICAgIDxkaXY+PGJyPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAg ICAgICAgIDxkaXY+U28sIEknbSBhbHJlYWR5IGRvaW5nIEhUVFAgdHJhZmZpYyBvbmx5IGluIHBv cnQKICAgICAgICAgICAgICAgICAgICAgIDgwMDAuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAg PGRpdj5UaGUgaW50ZXJlc3RpbmcgcGFydCBpcyB0aGF0IGlmIEkgdXNlIGthbWNtZAogICAgICAg ICAgICAgICAgICAgICAgcGwubGlzdCBwaXBlX0lOVklURSwgb25seSB0aGUgZmlyc3QgbG9nIGxp bmUgaXMKICAgICAgICAgICAgICAgICAgICAgIHByaW50ZWQuIFVzaW5nIGN1cmwsIEkgc2VlIHRo ZSBvdGhlciAyIGxvZ3MgYWxsCiAgICAgICAgICAgICAgICAgICAgICB0aGUgdGltZS48L2Rpdj4K ICAgICAgICAgICAgICAgICAgICA8ZGl2Pjxicj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4K ICAgICAgICAgICAgICAgICAgICA8ZGl2PlRoYW5rIHlvdTwvZGl2PgogICAgICAgICAgICAgICAg ICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICA8ZGl2IGNs YXNzPSJnbWFpbF9xdW90ZSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBkaXI9Imx0ciIgY2xh c3M9ImdtYWlsX2F0dHIiPk9uIFR1ZSwgSmFuIDIxLAogICAgICAgICAgICAgICAgICAgICAgMjAy MCBhdCAyOjQ1IFBNIERhbmllbC1Db25zdGFudGluIE1pZXJsYSAmbHQ7PGEKICAgICAgICAgICAg ICAgICAgICAgICAgaHJlZj0ibWFpbHRvOm1pY29uZGFAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFu ayIKICAgICAgICAgICAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5taWNvbmRh QGdtYWlsLmNvbTwvYT4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICB3cm90ZTo8YnI+CiAgICAg ICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgY2xh c3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBweAogICAgICAgICAgICAgICAgICAgICAg MHB4IDBweCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQKICAgICAgICAgICAgICAgICAgICAg IHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+CiAgICAgICAgICAgICAgICAgICAg ICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8cD5IZWxsbyw8L3A+CiAgICAgICAgICAg ICAgICAgICAgICAgIDxwPmNhbiB5b3Ugd2FudCB0aGUgdHJhZmZpYyBvbiBwb3J0IDgwMDAgYW5k IHNlZQogICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRoZXJlIGlzIG5vICJ1bmV4cGVjdGVk IiB0cmFmZmljIHRoZXJlPwogICAgICAgICAgICAgICAgICAgICAgICAgIFRoZXJlIHNob3VsZCBi ZSBubyBlcnJvciBtZXNzYWdlIGZvciBwYXJzaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAg dGhlIGZpcnN0IGxpbmUgb2YgYW4gSFRUUCByZXF1ZXN0LjwvcD4KICAgICAgICAgICAgICAgICAg ICAgICAgPHA+VGhlIGVycm9yIG1lc3NhZ2UgcmVsYXRlZCB0aGUgbWlzc2luZyBwaXBlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgY2FuIGJlIG1hZGUgZGVidWcuPGJyPgogICAgICAgICAgICAg ICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNoZWVycyw8YnI+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgRGFuaWVsPGJyPgogICAgICAgICAgICAgICAgICAgICAg ICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+T24gMjEuMDEuMjAgMTU6MzQsIE51 bm8gRmVycmVpcmEgd3JvdGU6PGJyPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAg ICAgICAgICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgPGRpdiBkaXI9Imx0ciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8ZGl2PkhpIGFsbCw8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PGJy PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8ZGl2PkknbSB1c2luZyBwaXBlbGltaXQgd2l0aCB0aGUKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImNsZWFuX3VudXNlZCIgb3B0aW9uIHRvIGdldCByaWQgb2YgcGlwZXMK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCBhcmUgbm90IHVzZWQgZm9yIHF1aXRl IHNvbWUgdGltZS4gQXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHNhbWUgdGlt ZSB3ZSBhcmUgbW9uaXRvcmluZyBwaXBlbGltaXQKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgd2l0aCBhIGpzb25ycGMgY2FsbCBzaW1pbGFyIHRvOjwvZGl2PgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgPGRpdj48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj4j IGN1cmwgLS1oZWFkZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1U eXBlOiBhcHBsaWNhdGlvbi9qc29uJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t ZGF0YS1iaW5hcnkgJ3siaWQiOiAxLCAianNvbnJwYyI6CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIjIuMCIsICJtZXRob2QiOiAicGwubGlzdCIsICJwYXJhbXMiOgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsicGlwZV9JTlZJVEUiXScgPGEKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9SUEMiCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIgbW96LWRvLW5vdC1z ZW5kPSJ0cnVlIj5odHRwOi8vMTI3LjAuMC4xOjgwMDAvUlBDPC9hPjxicj4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwv Zm9udD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PGZvbnQgZmFjZT0i YXJpYWwsIHNhbnMtc2VyaWYiPlJlcGx5OjwvZm9udD48L2Rpdj4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj57PGJyPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIMKgIMKgImpzb25ycGMiOiAiMi4wIiw8YnI+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgwqAgwqAiZXJyb3IiOiB7PGJyPgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIMKgIMKgIMKgICJjb2RlIjogNDAwLDxicj4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICDCoCDCoCDCoCAibWVzc2FnZSI6ICJVbmtub3duIHBpcGUgaWQKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXBlX0lOVklURSI8YnI+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgwqAgwqB9LDxicj4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICDCoCDCoCJpZCI6IDE8L2ZvbnQ+PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pjxmb250IGZhY2U9Im1v bm9zcGFjZSI+fTwvZm9udD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+ PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8ZGl2PlRoZSBhYm92ZSByZXBseSBpcyB2YWxpZCBiZWNhdXNlIHRoZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwaXBlX0lOVklURSB3YXMgbm90IGxvYWRlZCB5ZXQs IGJ1dCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdCBtYWtlcyBrYW1h aWxpbyB0byBsb2cgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBs b2cgbWVzc2FnZXM6PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pjxicj4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgPGRpdj48Zm9udCBmYWNlPSJtb25vc3BhY2UiPkphbiAyMCAxMToyMTo0OAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHByb3h5MSBrYW1haWxpb1syNDQ3NF06IEVSUk9SOiBw aXBlbGltaXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxfaHQuYzo1MTldOiBy cGNfcGxfbGlzdCgpOiBubyBwaXBlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBp cGVfSU5WSVRFPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEphbiAyMCAxMToy MTo0OCBwcm94eTEga2FtYWlsaW9bMjQ0NzRdOgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEVSUk9SOiAmbHQ7Y29yZSZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb Y29yZS9wYXJzZXIvcGFyc2VfZmxpbmUuYzoyNjJdOgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHBhcnNlX2ZpcnN0X2xpbmUoKTogcGFyc2VfZmlyc3RfbGluZToKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBiYWQgbWVzc2FnZSAob2Zmc2V0OiAyMCk8YnI+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSmFuIDIwIDExOjIxOjQ4IHByb3h5MSBrYW1haWxpb1sy NDQ3NF06CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzQ2NkIgYmxvYiBkYXRhXTwv Zm9udD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PGJyPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 ZGl2PlNpbmNlIHRoZSBtb25pdG9yaW5nIHN5c3RlbSBkb2VzCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBlcmlvZGljIHJlcXVlc3RzLCB0aG9zZSBsb2cgbGluZXMgZ2V0IGEKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYml0IGFubm95aW5nIGFuZCBmaWxsIHRoZSBsb2cgd2l0 aCBFUlJPUgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcyB0aGF0IGFyZW4n dCByZWFsbHkgZXJyb3JzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48 YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDxkaXY+SU1ITyB0aGUgZmlyc3QgbG9nIGxpbmUgc2hvdWxkIGJlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRlZCB0byBERUJVRyBpbnN0ZWFkIG9mIEVSUk9S LCBidXQgSQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXZlIHNvbWUgZG91YnRzIGFi b3V0IHRoZSBvbmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbcKgcGFyc2VfZmxp bmUuYzoyNjIuwqBwYXJzZV9maXJzdF9saW5lKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaXMgdXNlZCB0byBwcm9jZXNzIGJvdGggU0lQIGFuZCBIVFRQLiBJdAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBtYWtlcyBzZW5zZSB0byBsb2cgRVJST1IgaWYgU0lQIGJ1dCBub3Qg aW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNhc2Ugb2YgSFRUUC4uLjwvZGl2 PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5SZWdhcmRpbmcgdGhlICJbNDY2QiBi bG9iIGRhdGFdIiBJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWxseSBkb24ndCBr bm93IGZyb20gd2hlcmUgaXQncyBjb21pbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZnJvbS48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+SSBjYW4gc3VibWl0 IGEgUFIsIGJ1dCBJIHdvdWxkIGxpa2UgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aGF2ZSBmaXJzdCBzb21lIGZlZWRiYWNrIGZyb20geW91LjwvZGl2PgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgPGRpdj48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoYW5rIHlvdSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDxkaXY+PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pk51bm88YnIgY2xlYXI9ImFsbCI+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PGJyPgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAg ICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgIDxicj4K ICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbgpzdHlsZT0iY29sb3I6cmdiKDUxLDUxLDUx KTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2JhY2tncm91bmQt Y29sb3I6cmdiKDI1NSwyNTUsMjU1KSI+KkNvbmZpZGVudGlhbGl0eQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgTm90aWNlOiBUaGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoaXMKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGUtbWFpbCBhbmQgYW55PC9zcGFuPjxicgpzdHlsZT0i Y29sb3I6cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6 ZToxNHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KSI+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgPHNwYW4Kc3R5bGU9ImNvbG9yOnJnYig1MSw1MSw1MSk7Zm9udC1mYW1pbHk6 QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUs MjU1LDI1NSkiPmF0dGFjaG1lbnRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXkgYmUg Y29uZmlkZW50aWFsLiBJZiB5b3UgYXJlIG5vdCBhbgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50ZW5kZWQgcmVjaXBpZW50LCB5b3U8L3NwYW4+PGJyCnN0eWxlPSJjb2xvcjpyZ2IoNTEs NTEsNTEpO2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7YmFja2dy b3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpIj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8 c3BhbgpzdHlsZT0iY29sb3I6cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNl cmlmO2ZvbnQtc2l6ZToxNHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KSI+YXJl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXJlYnkgbm90aWZpZWQgdGhhdCBhbnkgZGlz c2VtaW5hdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RyaWJ1dGlvbiBvciBj b3B5aW5nIG9mIHRoaXM8L3NwYW4+PGJyCnN0eWxlPSJjb2xvcjpyZ2IoNTEsNTEsNTEpO2ZvbnQt ZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7YmFja2dyb3VuZC1jb2xvcjpy Z2IoMjU1LDI1NSwyNTUpIj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbgpzdHlsZT0i Y29sb3I6cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6 ZToxNHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KSI+ZS1tYWlsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLiBJZiB5b3UgaGF2ZSBy ZWNlaXZlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBlLW1haWwgaW4gZXJyb3Is PC9zcGFuPjxicgpzdHlsZT0iY29sb3I6cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlhbCxz YW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1 KSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4Kc3R5bGU9ImNvbG9yOnJnYig1MSw1 MSw1MSk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtiYWNrZ3Jv dW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSkiPnBsZWFzZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgbm90aWZ5IHRoZSBzZW5kZXIgYW5kIHBlcm1hbmVudGx5IGRlbGV0ZSB0aGUKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGUtbWFpbCBhbmQgYW55PC9zcGFuPjxicgpzdHlsZT0iY29s b3I6cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZTox NHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KSI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgPHNwYW4Kc3R5bGU9ImNvbG9yOnJnYig1MSw1MSw1MSk7Zm9udC1mYW1pbHk6QXJp YWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1 LDI1NSkiPmF0dGFjaG1lbnRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbW1lZGlhdGVs eS4gWW91IHNob3VsZCBub3QgcmV0YWluLCBjb3B5IG9yCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1c2UgdGhpcyBlLW1haWwgb3I8L3NwYW4+PGJyCnN0eWxlPSJjb2xvcjpyZ2IoNTEsNTEs NTEpO2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7YmFja2dyb3Vu ZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpIj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bh bgpzdHlsZT0iY29sb3I6cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlm O2ZvbnQtc2l6ZToxNHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KSI+YW55CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2htZW50IGZvciBhbnkgcHVycG9zZSwgbm9y IGRpc2Nsb3NlIGFsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgYW55IHBhcnQgb2Yg dGhlPC9zcGFuPjxicgpzdHlsZT0iY29sb3I6cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlh bCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUs MjU1KSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4Kc3R5bGU9ImNvbG9yOnJnYig1 MSw1MSw1MSk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtiYWNr Z3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSkiPmNvbnRlbnRzCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0byBhbnkgb3RoZXIgcGVyc29uLiBUaGFuayB5b3UuKjwvc3Bhbj4gPGJyPgog ICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldD48L2ZpZWxkc2V0PgogICAgICAgICAg ICAgICAgICAgICAgICAgIDxwcmU+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KS2FtYWlsaW8gKFNFUikgLSBVc2VycyBNYWlsaW5nIExpc3QKPGEgaHJlZj0i bWFpbHRvOnNyLXVzZXJzQGxpc3RzLmthbWFpbGlvLm9yZyIgdGFyZ2V0PSJfYmxhbmsiIG1vei1k by1ub3Qtc2VuZD0idHJ1ZSI+c3ItdXNlcnNAbGlzdHMua2FtYWlsaW8ub3JnPC9hPgo8YSBocmVm PSJodHRwczovL2xpc3RzLmthbWFpbGlvLm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vc3It dXNlcnMiIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPmh0dHBzOi8vbGlz dHMua2FtYWlsaW8ub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9zci11c2VyczwvYT4KPC9w cmU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICAgICAgICAg ICAgICAgICAgPHByZSBjb2xzPSI3MiI+LS0gCkRhbmllbC1Db25zdGFudGluIE1pZXJsYSAtLSA8 YSBocmVmPSJodHRwOi8vd3d3LmFzaXB0by5jb20iIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90 LXNlbmQ9InRydWUiPnd3dy5hc2lwdG8uY29tPC9hPgo8YSBocmVmPSJodHRwOi8vd3d3LnR3aXR0 ZXIuY29tL21pY29uZGEiIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPnd3 dy50d2l0dGVyLmNvbS9taWNvbmRhPC9hPiAtLSA8YSBocmVmPSJodHRwOi8vd3d3LmxpbmtlZGlu LmNvbS9pbi9taWNvbmRhIiB0YXJnZXQ9Il9ibGFuayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj53 d3cubGlua2VkaW4uY29tL2luL21pY29uZGE8L2E+CkthbWFpbGlvIEFkdmFuY2VkIFRyYWluaW5n IC0gTWFyY2ggOS0xMSwgMjAyMCwgQmVybGluIC0gPGEgaHJlZj0iaHR0cDovL3d3dy5hc2lwdG8u Y29tIiB0YXJnZXQ9Il9ibGFuayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj53d3cuYXNpcHRvLmNv bTwvYT4KS2FtYWlsaW8gV29ybGQgQ29uZmVyZW5jZSAtIEFwcmlsIDI3LTI5LCAyMDIwLCBpbiBC ZXJsaW4gLS0gPGEgaHJlZj0iaHR0cDovL3d3dy5rYW1haWxpb3dvcmxkLmNvbSIgdGFyZ2V0PSJf YmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+d3d3LmthbWFpbGlvd29ybGQuY29tPC9hPjwv cHJlPgogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9i bG9ja3F1b3RlPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRp dj48YnI+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAg ICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICA8c3BhbgpzdHlsZT0iY29sb3I6cmdi KDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2Jh Y2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KSI+KkNvbmZpZGVudGlhbGl0eQogICAgICAg ICAgICAgICAgICBOb3RpY2U6IFRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhpcyBlLW1h aWwgYW5kCiAgICAgICAgICAgICAgICAgIGFueTwvc3Bhbj48YnIKc3R5bGU9ImNvbG9yOnJnYig1 MSw1MSw1MSk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtiYWNr Z3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSkiPgogICAgICAgICAgICAgICAgPHNwYW4Kc3R5 bGU9ImNvbG9yOnJnYig1MSw1MSw1MSk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250 LXNpemU6MTRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSkiPmF0dGFjaG1lbnRz CiAgICAgICAgICAgICAgICAgIG1heSBiZSBjb25maWRlbnRpYWwuIElmIHlvdSBhcmUgbm90IGFu IGludGVuZGVkCiAgICAgICAgICAgICAgICAgIHJlY2lwaWVudCwgeW91PC9zcGFuPjxicgpzdHls ZT0iY29sb3I6cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQt c2l6ZToxNHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KSI+CiAgICAgICAgICAg ICAgICA8c3BhbgpzdHlsZT0iY29sb3I6cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlhbCxz YW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1 KSI+YXJlCiAgICAgICAgICAgICAgICAgIGhlcmVieSBub3RpZmllZCB0aGF0IGFueSBkaXNzZW1p bmF0aW9uLCBkaXN0cmlidXRpb24KICAgICAgICAgICAgICAgICAgb3IgY29weWluZyBvZiB0aGlz PC9zcGFuPjxicgpzdHlsZT0iY29sb3I6cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlhbCxz YW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1 KSI+CiAgICAgICAgICAgICAgICA8c3BhbgpzdHlsZT0iY29sb3I6cmdiKDUxLDUxLDUxKTtmb250 LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2JhY2tncm91bmQtY29sb3I6 cmdiKDI1NSwyNTUsMjU1KSI+ZS1tYWlsCiAgICAgICAgICAgICAgICAgIGlzIHN0cmljdGx5IHBy b2hpYml0ZWQuIElmIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMKICAgICAgICAgICAgICAgICAgZS1t YWlsIGluIGVycm9yLDwvc3Bhbj48YnIKc3R5bGU9ImNvbG9yOnJnYig1MSw1MSw1MSk7Zm9udC1m YW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtiYWNrZ3JvdW5kLWNvbG9yOnJn YigyNTUsMjU1LDI1NSkiPgogICAgICAgICAgICAgICAgPHNwYW4Kc3R5bGU9ImNvbG9yOnJnYig1 MSw1MSw1MSk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtiYWNr Z3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSkiPnBsZWFzZQogICAgICAgICAgICAgICAgICBu b3RpZnkgdGhlIHNlbmRlciBhbmQgcGVybWFuZW50bHkgZGVsZXRlIHRoZSBlLW1haWwKICAgICAg ICAgICAgICAgICAgYW5kIGFueTwvc3Bhbj48YnIKc3R5bGU9ImNvbG9yOnJnYig1MSw1MSw1MSk7 Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtiYWNrZ3JvdW5kLWNv bG9yOnJnYigyNTUsMjU1LDI1NSkiPgogICAgICAgICAgICAgICAgPHNwYW4Kc3R5bGU9ImNvbG9y OnJnYig1MSw1MSw1MSk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRw eDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSkiPmF0dGFjaG1lbnRzCiAgICAgICAg ICAgICAgICAgIGltbWVkaWF0ZWx5LiBZb3Ugc2hvdWxkIG5vdCByZXRhaW4sIGNvcHkgb3IgdXNl IHRoaXMKICAgICAgICAgICAgICAgICAgZS1tYWlsIG9yPC9zcGFuPjxicgpzdHlsZT0iY29sb3I6 cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4 O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KSI+CiAgICAgICAgICAgICAgICA8c3Bh bgpzdHlsZT0iY29sb3I6cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlm O2ZvbnQtc2l6ZToxNHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KSI+YW55CiAg ICAgICAgICAgICAgICAgIGF0dGFjaG1lbnQgZm9yIGFueSBwdXJwb3NlLCBub3IgZGlzY2xvc2Ug YWxsIG9yIGFueQogICAgICAgICAgICAgICAgICBwYXJ0IG9mIHRoZTwvc3Bhbj48YnIKc3R5bGU9 ImNvbG9yOnJnYig1MSw1MSw1MSk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNp emU6MTRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSkiPgogICAgICAgICAgICAg ICAgPHNwYW4Kc3R5bGU9ImNvbG9yOnJnYig1MSw1MSw1MSk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fu cy1zZXJpZjtmb250LXNpemU6MTRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSki PmNvbnRlbnRzCiAgICAgICAgICAgICAgICAgIHRvIGFueSBvdGhlciBwZXJzb24uIFRoYW5rIHlv dS4qPC9zcGFuPiA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgPHByZSBjb2xzPSI3MiI+LS0g CkRhbmllbC1Db25zdGFudGluIE1pZXJsYSAtLSA8YSBocmVmPSJodHRwOi8vd3d3LmFzaXB0by5j b20iIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPnd3dy5hc2lwdG8uY29t PC9hPgo8YSBocmVmPSJodHRwOi8vd3d3LnR3aXR0ZXIuY29tL21pY29uZGEiIHRhcmdldD0iX2Js YW5rIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPnd3dy50d2l0dGVyLmNvbS9taWNvbmRhPC9hPiAt LSA8YSBocmVmPSJodHRwOi8vd3d3LmxpbmtlZGluLmNvbS9pbi9taWNvbmRhIiB0YXJnZXQ9Il9i bGFuayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj53d3cubGlua2VkaW4uY29tL2luL21pY29uZGE8 L2E+CkthbWFpbGlvIEFkdmFuY2VkIFRyYWluaW5nIC0gTWFyY2ggOS0xMSwgMjAyMCwgQmVybGlu IC0gPGEgaHJlZj0iaHR0cDovL3d3dy5hc2lwdG8uY29tIiB0YXJnZXQ9Il9ibGFuayIgbW96LWRv LW5vdC1zZW5kPSJ0cnVlIj53d3cuYXNpcHRvLmNvbTwvYT4KS2FtYWlsaW8gV29ybGQgQ29uZmVy ZW5jZSAtIEFwcmlsIDI3LTI5LCAyMDIwLCBpbiBCZXJsaW4gLS0gPGEgaHJlZj0iaHR0cDovL3d3 dy5rYW1haWxpb3dvcmxkLmNvbSIgdGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1 ZSI+d3d3LmthbWFpbGlvd29ybGQuY29tPC9hPjwvcHJlPgogICAgICAgICAgICA8L2Rpdj4KICAg ICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGRpcj0ibHRy Ij4KICAgICAgICAgIDxkaXYgZGlyPSJsdHIiPgogICAgICAgICAgICA8ZGl2IGRpcj0ibHRyIj4K ICAgICAgICAgICAgICA8ZGl2IGRpcj0ibHRyIj4KICAgICAgICAgICAgICAgIDxkaXYgZGlyPSJs dHIiPgogICAgICAgICAgICAgICAgICA8ZGl2IGRpcj0ibHRyIj4KICAgICAgICAgICAgICAgICAg ICA8cAogICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsO2NvbG9y OnJnYigwLDAsMCk7Zm9udC1zaXplOjEycHgiPjxicj4KICAgICAgICAgICAgICAgICAgICA8L3A+ CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAg ICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAg PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YnI+CiAgICAgIDxzcGFuCnN0eWxlPSJjb2xvcjpy Z2IoNTEsNTEsNTEpO2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7 YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpIj4qQ29uZmlkZW50aWFsaXR5CiAgICAg ICAgTm90aWNlOiBUaGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoaXMgZS1tYWlsIGFuZCBh bnk8L3NwYW4+PGJyCnN0eWxlPSJjb2xvcjpyZ2IoNTEsNTEsNTEpO2ZvbnQtZmFtaWx5OkFyaWFs LHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwy NTUpIj4KICAgICAgPHNwYW4Kc3R5bGU9ImNvbG9yOnJnYig1MSw1MSw1MSk7Zm9udC1mYW1pbHk6 QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUs MjU1LDI1NSkiPmF0dGFjaG1lbnRzCiAgICAgICAgbWF5IGJlIGNvbmZpZGVudGlhbC4gSWYgeW91 IGFyZSBub3QgYW4gaW50ZW5kZWQgcmVjaXBpZW50LCB5b3U8L3NwYW4+PGJyCnN0eWxlPSJjb2xv cjpyZ2IoNTEsNTEsNTEpO2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0 cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpIj4KICAgICAgPHNwYW4Kc3R5bGU9 ImNvbG9yOnJnYig1MSw1MSw1MSk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNp emU6MTRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSkiPmFyZQogICAgICAgIGhl cmVieSBub3RpZmllZCB0aGF0IGFueSBkaXNzZW1pbmF0aW9uLCBkaXN0cmlidXRpb24gb3IgY29w eWluZwogICAgICAgIG9mIHRoaXM8L3NwYW4+PGJyCnN0eWxlPSJjb2xvcjpyZ2IoNTEsNTEsNTEp O2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7YmFja2dyb3VuZC1j b2xvcjpyZ2IoMjU1LDI1NSwyNTUpIj4KICAgICAgPHNwYW4Kc3R5bGU9ImNvbG9yOnJnYig1MSw1 MSw1MSk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtiYWNrZ3Jv dW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSkiPmUtbWFpbAogICAgICAgIGlzIHN0cmljdGx5IHBy b2hpYml0ZWQuIElmIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgZS1tYWlsIGluCiAgICAgICAgZXJy b3IsPC9zcGFuPjxicgpzdHlsZT0iY29sb3I6cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlh bCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUs MjU1KSI+CiAgICAgIDxzcGFuCnN0eWxlPSJjb2xvcjpyZ2IoNTEsNTEsNTEpO2ZvbnQtZmFtaWx5 OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1 LDI1NSwyNTUpIj5wbGVhc2UKICAgICAgICBub3RpZnkgdGhlIHNlbmRlciBhbmQgcGVybWFuZW50 bHkgZGVsZXRlIHRoZSBlLW1haWwgYW5kIGFueTwvc3Bhbj48YnIKc3R5bGU9ImNvbG9yOnJnYig1 MSw1MSw1MSk7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtiYWNr Z3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSkiPgogICAgICA8c3BhbgpzdHlsZT0iY29sb3I6 cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4 O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KSI+YXR0YWNobWVudHMKICAgICAgICBp bW1lZGlhdGVseS4gWW91IHNob3VsZCBub3QgcmV0YWluLCBjb3B5IG9yIHVzZSB0aGlzIGUtbWFp bCBvcjwvc3Bhbj48YnIKc3R5bGU9ImNvbG9yOnJnYig1MSw1MSw1MSk7Zm9udC1mYW1pbHk6QXJp YWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1 LDI1NSkiPgogICAgICA8c3BhbgpzdHlsZT0iY29sb3I6cmdiKDUxLDUxLDUxKTtmb250LWZhbWls eTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1 NSwyNTUsMjU1KSI+YW55CiAgICAgICAgYXR0YWNobWVudCBmb3IgYW55IHB1cnBvc2UsIG5vciBk aXNjbG9zZSBhbGwgb3IgYW55IHBhcnQgb2YgdGhlPC9zcGFuPjxicgpzdHlsZT0iY29sb3I6cmdi KDUxLDUxLDUxKTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2Jh Y2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KSI+CiAgICAgIDxzcGFuCnN0eWxlPSJjb2xv cjpyZ2IoNTEsNTEsNTEpO2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0 cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpIj5jb250ZW50cwogICAgICAgIHRv IGFueSBvdGhlciBwZXJzb24uIFRoYW5rIHlvdS4qPC9zcGFuPgogICAgPC9ibG9ja3F1b3RlPgog ICAgPHByZSBjbGFzcz0ibW96LXNpZ25hdHVyZSIgY29scz0iNzIiPi0tIApEYW5pZWwtQ29uc3Rh bnRpbiBNaWVybGEgLS0gPGEgY2xhc3M9Im1vei10eHQtbGluay1hYmJyZXZpYXRlZCIgaHJlZj0i aHR0cDovL3d3dy5hc2lwdG8uY29tIj53d3cuYXNpcHRvLmNvbTwvYT4KPGEgY2xhc3M9Im1vei10 eHQtbGluay1hYmJyZXZpYXRlZCIgaHJlZj0iaHR0cDovL3d3dy50d2l0dGVyLmNvbS9taWNvbmRh Ij53d3cudHdpdHRlci5jb20vbWljb25kYTwvYT4gLS0gPGEgY2xhc3M9Im1vei10eHQtbGluay1h YmJyZXZpYXRlZCIgaHJlZj0iaHR0cDovL3d3dy5saW5rZWRpbi5jb20vaW4vbWljb25kYSI+d3d3 LmxpbmtlZGluLmNvbS9pbi9taWNvbmRhPC9hPgpLYW1haWxpbyBBZHZhbmNlZCBUcmFpbmluZyAt IE1hcmNoIDktMTEsIDIwMjAsIEJlcmxpbiAtIDxhIGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2 aWF0ZWQiIGhyZWY9Imh0dHA6Ly93d3cuYXNpcHRvLmNvbSI+d3d3LmFzaXB0by5jb208L2E+Ckth bWFpbGlvIFdvcmxkIENvbmZlcmVuY2UgLSBBcHJpbCAyNy0yOSwgMjAyMCwgaW4gQmVybGluIC0t IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9Imh0dHA6Ly93d3cua2Ft YWlsaW93b3JsZC5jb20iPnd3dy5rYW1haWxpb3dvcmxkLmNvbTwvYT48L3ByZT4KICA8L2JvZHk+ CjwvaHRtbD4K --===============0734314180==--