<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="markdown-here-wrapper" data-md-url="" style=""
markdown-here-wrapper-content-modified="true">
<p style="margin: 0px 0px 1.2em !important;">Hi all,</p>
<p style="margin: 0px 0px 1.2em !important;">I have an app on a
domain that is set by a developer to proxy at certain URLs:</p>
<pre style="font-family: Consolas, Inconsolata, Courier, monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;"><code style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block;">example.com/browser/123foo0/stuff.js
</code></pre>
<p style="margin: 0px 0px 1.2em !important;">for example, where <code style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;">123foo0</code>
is some random key. The key may also change length in future.</p>
<p style="margin: 0px 0px 1.2em !important;">That’s all fine.</p>
<p style="margin: 0px 0px 1.2em !important;">But I’d like to
interrupt specific requests and not proxy them: I don’t want to
serve anything after the key that is in the path <code style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;">/welcome</code>
for example, i.e. not proxy any of these:</p>
<pre style="font-family: Consolas, Inconsolata, Courier, monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;"><code style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block;">example.com/browser/123foo0/welcome/welcome.html
example.com/browser/foo456b/welcome/welcome.css
example.com/browser/bar123f/welcome/welcome.js
example.com/browser/456foob/welcome/other.stuff
example.com/browser/foo789b/welcome/
</code></pre>
<p style="margin: 0px 0px 1.2em !important;">So I tried simple
stuff first like: <code style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;">location ^~ /browser/.*/welcome/welcome.html {...</code><br>
but couldn’t even get that working, before moving on to try
capturing groups like css files and scripts and so on.</p>
<p style="margin: 0px 0px 1.2em !important;">I also tried putting
regex in quotes, but that didn’t seem to work either.</p>
<p style="margin: 0px 0px 1.2em !important;">What am I doing
wrong?</p>
<p style="margin: 0px 0px 1.2em !important;">Here’s a truncated
version of the conf, with the location blocks only:</p>
<pre style="font-family: Consolas, Inconsolata, Courier, monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;"><code style="font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; font-weight: 550; background-color: rgba(119, 119, 119, 0.3); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block;"> location ^~ "/browser/.*/welcome/welcome.html" {
return 200 'Not proxied.\n';
add_header Content-Type text/plain;
}
location ^~ /browser {
proxy_pass <a class="moz-txt-link-freetext" href="http://127.0.0.1:1234">http://127.0.0.1:1234</a>;
proxy_set_header Host $http_host;
}
# landing page
location / {
root /var/www/foobar;
index index.html;
try_files $uri $uri/ /index.html;
}
</code></pre>
Thanks,<br>
Jore</div>
<div class="markdown-here-wrapper" data-md-url="" style=""
markdown-here-wrapper-content-modified="true"><br>
<div
title="MDH:PHA+SSBoYXZlIGFuIGFwcCBvbiBhIGRvbWFpbiB0aGF0IGlzIHNldCBieSBhIGRldmVsb3BlciB0byBwcm94eSBhdCBjZXJ0YWluIFVSTHM6PGJyPjxicj5gYGA8YnI+ZXhhbXBsZS5jb20vYnJvd3Nl
ci8xMjNmb28wL3N0dWZmLmpzPGJyPmBgYDxicj48YnI+Zm9yIGV4YW1wbGUsIHdoZXJlIGAxMjNm
b28wYCBpcyBzb21lIHJhbmRvbSBrZXkuIFRoZSBrZXkgbWF5IGFsc28gY2hhbmdlIGxlbmd0aCBp
biBmdXR1cmUuPGJyPjxicj5UaGF0J3MgYWxsIGZpbmUuPGJyPjxicj5CdXQgSSdkIGxpa2UgdG8g
aW50ZXJydXB0IHNwZWNpZmljIHJlcXVlc3RzIGFuZCBub3QgcHJveHkgdGhlbTogSSBkb24ndCB3
YW50IHRvIHNlcnZlIGFueXRoaW5nIGFmdGVyIHRoZSBrZXkgdGhhdCBpcyBpbiB0aGUgcGF0aCBg
L3dlbGNvbWVgIGZvciBleGFtcGxlLCBpLmUuIG5vdCBwcm94eSBhbnkgb2YgdGhlc2U6PGJyPjxi
cj5gYGA8YnI+ZXhhbXBsZS5jb20vYnJvd3Nlci8xMjNmb28wL3dlbGNvbWUvd2VsY29tZS5odG1s
PGJyPmV4YW1wbGUuY29tL2Jyb3dzZXIvZm9vNDU2Yi93ZWxjb21lL3dlbGNvbWUuY3NzPGJyPmV4
YW1wbGUuY29tL2Jyb3dzZXIvYmFyMTIzZi93ZWxjb21lL3dlbGNvbWUuanM8YnI+ZXhhbXBsZS5j
b20vYnJvd3Nlci80NTZmb29iL3dlbGNvbWUvb3RoZXIuc3R1ZmY8YnI+ZXhhbXBsZS5jb20vYnJv
d3Nlci9mb283ODliL3dlbGNvbWUvPGJyPmBgYDxicj48YnI+U28gSSB0cmllZCBzaW1wbGUgc3R1
ZmYgZmlyc3QgbGlrZTogYGxvY2F0aW9uIF5+IC9icm93c2VyLy4qL3dlbGNvbWUvd2VsY29tZS5o
dG1sIHsuLi5gIDxicj5idXQgY291bGRuJ3QgZXZlbiBnZXQgdGhhdCB3b3JraW5nLCBiZWZvcmUg
bW92aW5nIG9uIHRvIHRyeSBjYXB0dXJpbmcgZ3JvdXBzIGxpa2UgY3NzIGZpbGVzIGFuZCBzY3Jp
cHRzIGFuZCBzbyBvbi48YnI+PGJyPkkgYWxzbyB0cmllZCBwdXR0aW5nIHJlZ2V4IGluIHF1b3Rl
cywgYnV0IHRoYXQgZGlkbid0IHNlZW0gdG8gd29yayBlaXRoZXIuPGJyPjxicj5XaGF0IGFtIEkg
ZG9pbmcgd3Jvbmc/PGJyPjxicj5IZXJlJ3MgYSB0cnVuY2F0ZWQgdmVyc2lvbiBvZiB0aGUgY29u
Ziwgd2l0aCB0aGUgbG9jYXRpb24gYmxvY2tzIG9ubHk6PGJyPjxicj5gYGA8YnI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7IGxvY2F0aW9uIF5+ICIvYnJvd3Nlci8uKi93ZWxjb21lL3dlbGNvbWUuaHRtbCIg
ezxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIDIw
MCAnTm90IHByb3hpZWQuXG4nOzxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgYWRkX2hlYWRlciBDb250ZW50LVR5cGUgdGV4dC9wbGFpbjs8YnI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7IH08YnI+PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBsb2NhdGlvbiBefiAvYnJvd3Nl
ciB7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBwcm94eV9w
YXNzIGh0dHA6Ly8xMjcuMC4wLjE6MTIzNDs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHByb3h5X3NldF9oZWFkZXIgSG9zdCAkaHR0cF9ob3N0Ozxicj4mbmJz
cDsmbmJzcDsmbmJzcDsgfTxicj48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7ICMgbGFuZGluZyBwYWdl
PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBsb2NhdGlvbiAvIHs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7IHJvb3QgL3Zhci93d3cvZm9vYmFyOzxicj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgaW5kZXggaW5kZXguaHRtbDs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7IHRyeV9maWxlcyAkdXJpICR1cmkvIC9pbmRleC5odG1sOzxicj4mbmJzcDsmbmJzcDsm
bmJzcDsgfTxicj5gYGA8YnI+PGJyPjxicj48L3A+" aria-hidden="true"
style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0;padding:0;margin:0;"><br>
</div>
<div
title="MDH:PHA+SSBoYXZlIGFuIGFwcCBvbiBhIGRvbWFpbiB0aGF0IGlzIHNldCBieSBhIGRldmVsb3BlciB0byBwcm94eSBhdCBjZXJ0YWluIFVSTHM6PGJyPjxicj5gYGA8YnI+ZXhhbXBsZS5jb20vYnJvd3Nl
ci8xMjNmb28wL3N0dWZmLmpzPGJyPmBgYDxicj48YnI+Zm9yIGV4YW1wbGUsIHdoZXJlIGAxMjNm
b28wYCBpcyBzb21lIHJhbmRvbSBrZXkuIFRoZSBrZXkgbWF5IGFsc28gY2hhbmdlIGxlbmd0aCBp
biBmdXR1cmUuPGJyPjxicj5UaGF0J3MgYWxsIGZpbmUuPGJyPjxicj5CdXQgSSdkIGxpa2UgdG8g
aW50ZXJydXB0IHNwZWNpZmljIHJlcXVlc3RzIGFuZCBub3QgcHJveHkgdGhlbTogSSBkb24ndCB3
YW50IHRvIHNlcnZlIGFueXRoaW5nIGFmdGVyIHRoZSBrZXkgdGhhdCBpcyBpbiB0aGUgcGF0aCBg
L3dlbGNvbWVgIGZvciBleGFtcGxlLCBpLmUuIG5vdCBwcm94eSBhbnkgb2YgdGhlc2U6PGJyPjxi
cj5gYGA8YnI+ZXhhbXBsZS5jb20vYnJvd3Nlci8xMjNmb28wL3dlbGNvbWUvd2VsY29tZS5odG1s
PGJyPmV4YW1wbGUuY29tL2Jyb3dzZXIvZm9vNDU2Yi93ZWxjb21lL3dlbGNvbWUuY3NzPGJyPmV4
YW1wbGUuY29tL2Jyb3dzZXIvYmFyMTIzZi93ZWxjb21lL3dlbGNvbWUuanM8YnI+ZXhhbXBsZS5j
b20vYnJvd3Nlci80NTZmb29iL3dlbGNvbWUvb3RoZXIuc3R1ZmY8YnI+ZXhhbXBsZS5jb20vYnJv
d3Nlci9mb283ODliL3dlbGNvbWUvPGJyPmBgYDxicj48YnI+U28gSSB0cmllZCBzaW1wbGUgc3R1
ZmYgZmlyc3QgbGlrZTogYGxvY2F0aW9uIF5+IC9icm93c2VyLy4qL3dlbGNvbWUvd2VsY29tZS5o
dG1sIHsuLi5gIDxicj5idXQgY291bGRuJ3QgZXZlbiBnZXQgdGhhdCB3b3JraW5nLCBiZWZvcmUg
bW92aW5nIG9uIHRvIHRyeSBjYXB0dXJpbmcgZ3JvdXBzIGxpa2UgY3NzIGZpbGVzIGFuZCBzY3Jp
cHRzIGFuZCBzbyBvbi48YnI+PGJyPkkgYWxzbyB0cmllZCBwdXR0aW5nIHJlZ2V4IGluIHF1b3Rl
cywgYnV0IHRoYXQgZGlkbid0IHNlZW0gdG8gd29yayBlaXRoZXIuPGJyPjxicj5XaGF0IGFtIEkg
ZG9pbmcgd3Jvbmc/PGJyPjxicj5IZXJlJ3MgYSB0cnVuY2F0ZWQgdmVyc2lvbiBvZiB0aGUgY29u
Ziwgd2l0aCB0aGUgbG9jYXRpb24gYmxvY2tzIG9ubHk6PGJyPjxicj5gYGA8YnI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7IGxvY2F0aW9uIF5+ICIvYnJvd3Nlci8uKi93ZWxjb21lL3dlbGNvbWUuaHRtbCIg
ezxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIDIw
MCAnTm90IHByb3hpZWQuXG4nOzxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgYWRkX2hlYWRlciBDb250ZW50LVR5cGUgdGV4dC9wbGFpbjs8YnI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7IH08YnI+PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBsb2NhdGlvbiBefiAvYnJvd3Nl
ciB7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBwcm94eV9w
YXNzIGh0dHA6Ly8xMjcuMC4wLjE6MTIzNDs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHByb3h5X3NldF9oZWFkZXIgSG9zdCAkaHR0cF9ob3N0Ozxicj4mbmJz
cDsmbmJzcDsmbmJzcDsgfTxicj48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7ICMgbGFuZGluZyBwYWdl
PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBsb2NhdGlvbiAvIHs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7IHJvb3QgL3Zhci93d3cvZm9vYmFyOzxicj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgaW5kZXggaW5kZXguaHRtbDs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7IHRyeV9maWxlcyAkdXJpICR1cmkvIC9pbmRleC5odG1sOzxicj4mbmJzcDsmbmJzcDsm
bmJzcDsgfTxicj5gYGA8YnI+PGJyPjxicj48L3A+" aria-hidden="true"
style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0;padding:0;margin:0;"></div>
<div
title="MDH:PHA+SSBoYXZlIGFuIGFwcCBvbiBhIGRvbWFpbiB0aGF0IGlzIHNldCBieSBhIGRldmVsb3BlciB0byBwcm94eSBhdCBjZXJ0YWluIFVSTHM6PGJyPjxicj5gYGA8YnI+ZXhhbXBsZS5jb20vYnJvd3Nl
ci8xMjNmb28wL3N0dWZmLmpzPGJyPmBgYDxicj48YnI+Zm9yIGV4YW1wbGUsIHdoZXJlIGAxMjNm
b28wYCBpcyBzb21lIHJhbmRvbSBrZXkuIFRoZSBrZXkgbWF5IGFsc28gY2hhbmdlIGxlbmd0aCBp
biBmdXR1cmUuPGJyPjxicj5UaGF0J3MgYWxsIGZpbmUuPGJyPjxicj5CdXQgSSdkIGxpa2UgdG8g
aW50ZXJydXB0IHNwZWNpZmljIHJlcXVlc3RzIGFuZCBub3QgcHJveHkgdGhlbTogSSBkb24ndCB3
YW50IHRvIHNlcnZlIGFueXRoaW5nIGFmdGVyIHRoZSBrZXkgdGhhdCBpcyBpbiB0aGUgcGF0aCBg
L3dlbGNvbWVgIGZvciBleGFtcGxlLCBpLmUuIG5vdCBwcm94eSBhbnkgb2YgdGhlc2U6PGJyPjxi
cj5gYGA8YnI+ZXhhbXBsZS5jb20vYnJvd3Nlci8xMjNmb28wL3dlbGNvbWUvd2VsY29tZS5odG1s
PGJyPmV4YW1wbGUuY29tL2Jyb3dzZXIvZm9vNDU2Yi93ZWxjb21lL3dlbGNvbWUuY3NzPGJyPmV4
YW1wbGUuY29tL2Jyb3dzZXIvYmFyMTIzZi93ZWxjb21lL3dlbGNvbWUuanM8YnI+ZXhhbXBsZS5j
b20vYnJvd3Nlci80NTZmb29iL3dlbGNvbWUvb3RoZXIuc3R1ZmY8YnI+ZXhhbXBsZS5jb20vYnJv
d3Nlci9mb283ODliL3dlbGNvbWUvPGJyPmBgYDxicj48YnI+U28gSSB0cmllZCBzaW1wbGUgc3R1
ZmYgZmlyc3QgbGlrZTogYGxvY2F0aW9uIF5+IC9icm93c2VyLy4qL3dlbGNvbWUvd2VsY29tZS5o
dG1sIHsuLi5gIDxicj5idXQgY291bGRuJ3QgZXZlbiBnZXQgdGhhdCB3b3JraW5nLCBiZWZvcmUg
bW92aW5nIG9uIHRvIHRyeSBjYXB0dXJpbmcgZ3JvdXBzIGxpa2UgY3NzIGZpbGVzIGFuZCBzY3Jp
cHRzIGFuZCBzbyBvbi48YnI+PGJyPkkgYWxzbyB0cmllZCBwdXR0aW5nIHJlZ2V4IGluIHF1b3Rl
cywgYnV0IHRoYXQgZGlkbid0IHNlZW0gdG8gd29yayBlaXRoZXIuPGJyPjxicj5XaGF0IGFtIEkg
ZG9pbmcgd3Jvbmc/PGJyPjxicj5IZXJlJ3MgYSB0cnVuY2F0ZWQgdmVyc2lvbiBvZiB0aGUgY29u
Ziwgd2l0aCB0aGUgbG9jYXRpb24gYmxvY2tzIG9ubHk6PGJyPjxicj5gYGA8YnI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7IGxvY2F0aW9uIF5+ICIvYnJvd3Nlci8uKi93ZWxjb21lL3dlbGNvbWUuaHRtbCIg
ezxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIDIw
MCAnTm90IHByb3hpZWQuXG4nOzxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgYWRkX2hlYWRlciBDb250ZW50LVR5cGUgdGV4dC9wbGFpbjs8YnI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7IH08YnI+PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBsb2NhdGlvbiBefiAvYnJvd3Nl
ciB7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBwcm94eV9w
YXNzIGh0dHA6Ly8xMjcuMC4wLjE6MTIzNDs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHByb3h5X3NldF9oZWFkZXIgSG9zdCAkaHR0cF9ob3N0Ozxicj4mbmJz
cDsmbmJzcDsmbmJzcDsgfTxicj48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7ICMgbGFuZGluZyBwYWdl
PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBsb2NhdGlvbiAvIHs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7IHJvb3QgL3Zhci93d3cvZm9vYmFyOzxicj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgaW5kZXggaW5kZXguaHRtbDs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7IHRyeV9maWxlcyAkdXJpICR1cmkvIC9pbmRleC5odG1sOzxicj4mbmJzcDsmbmJzcDsm
bmJzcDsgfTxicj5gYGA8YnI+PGJyPjxicj48L3A+" aria-hidden="true"
style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0;padding:0;margin:0;"><br>
</div>
<div
title="MDH:PHA+SSBoYXZlIGFuIGFwcCBvbiBhIGRvbWFpbiB0aGF0IGlzIHNldCBieSBhIGRldmVsb3BlciB0byBwcm94eSBhdCBjZXJ0YWluIFVSTHM6PGJyPjxicj5gYGA8YnI+ZXhhbXBsZS5jb20vYnJvd3Nl
ci8xMjNmb28wL3N0dWZmLmpzPGJyPmBgYDxicj48YnI+Zm9yIGV4YW1wbGUsIHdoZXJlIGAxMjNm
b28wYCBpcyBzb21lIHJhbmRvbSBrZXkuIFRoZSBrZXkgbWF5IGFsc28gY2hhbmdlIGxlbmd0aCBp
biBmdXR1cmUuPGJyPjxicj5UaGF0J3MgYWxsIGZpbmUuPGJyPjxicj5CdXQgSSdkIGxpa2UgdG8g
aW50ZXJydXB0IHNwZWNpZmljIHJlcXVlc3RzIGFuZCBub3QgcHJveHkgdGhlbTogSSBkb24ndCB3
YW50IHRvIHNlcnZlIGFueXRoaW5nIGFmdGVyIHRoZSBrZXkgdGhhdCBpcyBpbiB0aGUgcGF0aCBg
L3dlbGNvbWVgIGZvciBleGFtcGxlLCBpLmUuIG5vdCBwcm94eSBhbnkgb2YgdGhlc2U6PGJyPjxi
cj5gYGA8YnI+ZXhhbXBsZS5jb20vYnJvd3Nlci8xMjNmb28wL3dlbGNvbWUvd2VsY29tZS5odG1s
PGJyPmV4YW1wbGUuY29tL2Jyb3dzZXIvZm9vNDU2Yi93ZWxjb21lL3dlbGNvbWUuY3NzPGJyPmV4
YW1wbGUuY29tL2Jyb3dzZXIvYmFyMTIzZi93ZWxjb21lL3dlbGNvbWUuanM8YnI+ZXhhbXBsZS5j
b20vYnJvd3Nlci80NTZmb29iL3dlbGNvbWUvb3RoZXIuc3R1ZmY8YnI+ZXhhbXBsZS5jb20vYnJv
d3Nlci9mb283ODliL3dlbGNvbWUvPGJyPmBgYDxicj48YnI+U28gSSB0cmllZCBzaW1wbGUgc3R1
ZmYgZmlyc3QgbGlrZTogYGxvY2F0aW9uIF5+IC9icm93c2VyLy4qL3dlbGNvbWUvd2VsY29tZS5o
dG1sIHsuLi5gIDxicj5idXQgY291bGRuJ3QgZXZlbiBnZXQgdGhhdCB3b3JraW5nLCBiZWZvcmUg
bW92aW5nIG9uIHRvIHRyeSBjYXB0dXJpbmcgZ3JvdXBzIGxpa2UgY3NzIGZpbGVzIGFuZCBzY3Jp
cHRzIGFuZCBzbyBvbi48YnI+PGJyPkkgYWxzbyB0cmllZCBwdXR0aW5nIHJlZ2V4IGluIHF1b3Rl
cywgYnV0IHRoYXQgZGlkbid0IHNlZW0gdG8gd29yayBlaXRoZXIuPGJyPjxicj5XaGF0IGFtIEkg
ZG9pbmcgd3Jvbmc/PGJyPjxicj5IZXJlJ3MgYSB0cnVuY2F0ZWQgdmVyc2lvbiBvZiB0aGUgY29u
Ziwgd2l0aCB0aGUgbG9jYXRpb24gYmxvY2tzIG9ubHk6PGJyPjxicj5gYGA8YnI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7IGxvY2F0aW9uIF5+ICIvYnJvd3Nlci8uKi93ZWxjb21lL3dlbGNvbWUuaHRtbCIg
ezxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIDIw
MCAnTm90IHByb3hpZWQuXG4nOzxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgYWRkX2hlYWRlciBDb250ZW50LVR5cGUgdGV4dC9wbGFpbjs8YnI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7IH08YnI+PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBsb2NhdGlvbiBefiAvYnJvd3Nl
ciB7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBwcm94eV9w
YXNzIGh0dHA6Ly8xMjcuMC4wLjE6MTIzNDs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHByb3h5X3NldF9oZWFkZXIgSG9zdCAkaHR0cF9ob3N0Ozxicj4mbmJz
cDsmbmJzcDsmbmJzcDsgfTxicj48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7ICMgbGFuZGluZyBwYWdl
PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBsb2NhdGlvbiAvIHs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7IHJvb3QgL3Zhci93d3cvZm9vYmFyOzxicj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgaW5kZXggaW5kZXguaHRtbDs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7IHRyeV9maWxlcyAkdXJpICR1cmkvIC9pbmRleC5odG1sOzxicj4mbmJzcDsmbmJzcDsm
bmJzcDsgfTxicj5gYGA8YnI+PGJyPjxicj48L3A+" aria-hidden="true"
style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0;padding:0;margin:0;"><br>
</div>
</div>
</body>
</html>