-
Notifications
You must be signed in to change notification settings - Fork 27
/
Copy pathLevenbergMarquardt.jl.html
62 lines (50 loc) · 170 KB
/
LevenbergMarquardt.jl.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width" />
<title>⚡ Pluto.jl ⚡</title>
<meta charset="utf-8" />
<script>
console.log("Pluto.jl, by Fons van der Plas (https://github.com/fonsp), Mikołaj Bochenski (https://github.com/malyvsen), Michiel Dral (https://github.com/dralletje) and friends 🌈")
</script>
<meta name="theme-color" content="#ffffff" />
<link rel="icon" type="image/png" sizes="16x16" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/img/favicon-16x16.png" />
<link rel="icon" type="image/png" sizes="32x32" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/img/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="96x96" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/img/favicon-96x96.png" />
<meta name="description" content="Pluto.jl notebooks" />
<link rel="pluto-logo-big" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/img/logo.svg" />
<link rel="pluto-logo-small" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/img/favicon_unsaturated.svg" />
<link rel="pluto-sw" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/sw.js" />
<script>
navigator.serviceWorker?.register(document.head.querySelector("link[rel='pluto-sw']").getAttribute("href"), { scope: "./" }).catch(console.warn)
</script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lodash.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/@observablehq/[email protected]/dist/stdlib.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/js/iframeResizer.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/ansi_up.min.js" defer></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/editor.css" type="text/css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/hide-ui.css" type="text/css" media="all" data-pluto-file="hide-ui">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/binder.css" type="text/css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/treeview.css" type="text/css" />
<link rel="preload" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/juliamono.css" as="style">
<link rel="preload" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/vollkorn.css" as="style">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/[email protected]/build/styles/atom-one-light.min.css">
<!-- The instant feedback form at the bottom of the page uses Google Firestore to save feedback. -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/firebase-app.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/firebase-firestore.js" defer></script>
<script data-pluto-file="launch-parameters">
window.pluto_notebook_id = undefined;
window.pluto_notebookfile = "data:text/julia;charset=utf-8;base64,IyMjIEEgUGx1dG8uamwgbm90ZWJvb2sgIyMjCiMgdjAuMTcuMQoKdXNpbmcgTWFya2Rvd24KdXNpbmcgSW50ZXJhY3RpdmVVdGlscwoKIyDilZTilZDilaEgYTQ4ZWUzYTUtZWVjZC00ZGZmLThjMjMtOThkOWM0YTM3ZjBhCnVzaW5nIEZvcndhcmREaWZmCgojIOKVlOKVkOKVoSAzN2U5ODI5Zi01NDFiLTQ1NWYtYWQzMC02ZDI0OTQ2OTM3ODQKdXNpbmcgTGluZWFyQWxnZWJyYQoKIyDilZTilZDilaEgNWI0MjE5ODAtN2ZhNi0xMWVjLTIyMDUtYWRlYWQxNTg4ZGNhCm1kIiIiIyBMZXZlbmJlcmctTWFycXVhcmR0IGFsZ29yaXRobQpTVE1PIFByb2plY3QgYnkgKipUaGllbWVuIE11c3NjaGUqKgoiIiIKCiMg4pWU4pWQ4pWhIGNhNGQ0YmI4LTJmNmQtNGE2OS1hNmIxLTZjYzBmYzhiNWI5OQptZCIiIiBOYW1lZCBhZnRlciBLZW5uZXRoIExldmVuYmVyZyB3aG8gZmlyc3QgcHVibGlzaGVkIHRoZSBhbGdvcml0aG0gaW4gMTk0NCBhbmQgRG9uYWxkIE1hcnF1YXJkdCB3aG8gbWFkZSBzaWduaWZpY2FudCBjb250cmlidXRpb25zIHRvIGl0IGluIDE5NjMsIHRoZSBzbyBsb25nbHkgbmFtZWQgTGV2ZW5iZXJnLU1hcnF1YXJkdCBhbGdvcml0aG0gKExNQSkgaXMgYW4gYWRhcHRhdGlvbiBvZiB0aGUgR2F1c3MtTmV3dG9uIGFsZ29yaXRobSAoR05BKSwgd2hpY2ggaXRzZWxmIGlzIHRoZSBtYWluIG1ldGhvZCB0byBzb2x2ZSBub25saW5lYXIgbGVhc3Qgc3F1YXJlcyBwcm9ibGVtcyBpbiBub25saW5lYXIgcmVncmVzc2lvbi4gCgpVbmxpa2UgbGluZWFyIHJlZ3Jlc3Npb24sIGZpbmRpbmcgdGhlIG9wdGltYWwgcGFyYW1ldGVyIHZhbHVlcyB0byBhIG5vbmxpbmVhciBtb2RlbCBkb2VzIG5vdCBoYXZlIGEgY2xvc2VkLWZvcm0gc29sdXRpb24gYW5kIGlzIGRvbmUgaXRlcmF0aXZlbHksIHdoaWNoIHJlcXVpcmVzIGFuIGluaXRpYWwgZ3Vlc3MuIFRoaXMgaXMgd2hlcmUgTE1BIGRpZmZlcnMgZnJvbSBHTkEgYnkgYmVpbmcgbW9yZSByb2J1c3QgdG8gaW5pdGlhbCBjb25kaXRpb25zLiBJdCB3aWxsIGZpbmQgYSBzb2x1dGlvbiBldmVuIGlmIGl0IHN0YXJ0cyBmYXIgZnJvbSB0aGUgZmluYWwgbWluaW11bS4KCkluIHRoaXMgbm90ZWJvb2sgd2Ugd2lsbCBidWlsZCB0aGUgTE1BIGZyb20gdGhlIGdyb3VuZCB1cCBzbyB0byBmdW5kYW1lbnRhbGx5IHVuZGVyc3RhbmQgdGhlIHJlYXNvbmluZyBiZWhpbmQgaXQuCgpJbiAncG9ldGljJyB3b3JkcyB0aGF0IHdvdWxkIG1ha2UgbW9yZSBzZW5zZSBhZnRlciByZWFkaW5nOiB1c2luZyB0aGUgR2F1c3MtTmV3dG9uIGFsZ29yaXRobSB0byBzb2x2ZSBub25saW5lYXIgbGVhc3Qtc3F1YXJlcyBpcyBsaWtlIGVhdGluZyBhIG1ldGFwaG9yaWNhbCBpY2VjcmVhbSBjb25lLCB3aGlsZSBMTUEgaXMgdGhlIHNlcnZpZXR0ZSB5b3UgZ2V0IHdpdGggeW91ciBpY2VjcmVhbSBjb25lIHRvIHN0b3AgdGhlIGljZSBmcm9tIGRyaXBwaW5nLgoKIVtdCihodHRwczovL2dpdGh1Yi5jb20vVGhpZW1lbk11cy9MTS5qbC9ibG9iL21hc3Rlci9ub3RlYm9vay9jb25lci5qcGc/cmF3PXRydWUpCiIiIgoKCiMg4pWU4pWQ4pWhIGIzODY2MGVkLTliMTctNDdkMy04NjBjLWQ2NWQ2M2Y4NjJiMgptZCIiIiMjIExpbmVhciByZWdyZXNzaW9uIGFuZCBsZWFzdC1zcXVhcmVzIiIiCgojIOKVlOKVkOKVoSBlNGU0ZTQ1ZC1jYjRhLTQ0MTMtODU4Ny05YWFiODk3NDgxM2IKbWQiIiIgRnJvbSByZWdyZXNzaW9uIHRvIExNQSBpcyBxdWl0ZSBhIGJpZyBsZWFwIGFuZCBhbHRob3VnaCB5b3Ugc3VyZWx5IGtub3cgd2hhdCByZWdyZXNzaW9uIGlzLCB3ZSB3aWxsIHJlY2FwaXR1bGF0ZSBzb21lIGltcG9ydGFudCBkaWZmZXJlbmNlcyBhdCB0aGUgZnVuZGFtZW50YWwgbGV2ZWwgdG8gcmVhbGx5IHVuZGVyc3RhbmQgd2hhdCBMTUEgaXMgdHJ5aW5nIHRvIGRvLiBMZXQncyBzdGFydCBhdCB0aGUgYmVnaW5uaW5nLgoKUmVncmVzc2lvbiBlc3RpbWF0ZXMgdGhlIHJlbGF0aW9uIGJldHdlZW4gYSByZXNwb25zZSB2YXJpYWJsZSBhbmQgb25lIG9yIG1vcmUgcHJlZGljdG9ycy4gVGhlcmUgYXJlIGRpZmZlcmVudCB3YXlzIHRvIGRvIHRoaXMsIHBhcnRseSBiYXNlZCBvbiBob3cgb2JzZXJ2YXRpb25hbCBkYXRhIGlzIHByZXN1bWVkIHRvIGJlaGF2ZS4gCkluIHRoZSBjb21tb25seSB1c2VkIGxpbmVhciByZWdyZXNzaW9uIGEgbW9kZWwgaXMgc2V0IHVwIGluIHdoaWNoIHRoZSBvYnNlcnZhdGlvbmFsIGRhdGEgaXMgYSBsaW5lYXIgY29tYmluYXRpb24gb2YgdGhlIHByZWRpY3RvcnMgYW5kIHRoZWlyIHBhcmFtZXRlcnMuIEJ5IGZpdHRpbmcgYSBsaW5lIHRocm91Z2ggdGhlIGRhdGEsIHRoZSBwYXJhbWV0ZXJzIGNhbiBiZSBlc3RpbWF0ZWQgd2l0aCB0aGUgZmFtb3VzIGxlYXN0IHNxdWFyZXMgbWV0aG9kLgoiIiIKCiMg4pWU4pWQ4pWhIGM2MjRhM2Y4LTliNDYtNDQ3NS04MTY5LTYwYWM0NDNlMmFmMgptZCIiIgohW10KKGh0dHBzOi8vZ2l0aHViLmNvbS9UaGllbWVuTXVzL0xNLmpsL2Jsb2IvbWFzdGVyL25vdGVib29rL3JlZ3Jlc3Npb24uanBnP3Jhdz10cnVlKQoiIiIKCiMg4pWU4pWQ4pWhIGYwZWE5ODRmLTNjMDItNDBhYy1hY2ZiLWNhNjJkYmRmY2QxZAptZCIiIiBUaGUgbGluZWFyIHJlZ3Jlc3Npb24gbW9kZWwgY2FuIGJlIHJlcHJlc2VudGVkIGluIG1hdHJpeCBmb3JtIGFzICQkWSA9IFjOsiArIM+1JCQsIHdoZXJlICQkWSQkIGFuZCAkJM+1JCQgYXJlICQkbioxJCQgbWF0cmljZXMgb2YgcmVzcG9uc2UgdmFsdWVzIGFuZCByZXNpZHVhbHMgcmVzcGVjdGl2ZWx5LiAkJFgkJCBpcyB0aGUgJCRuKnAkJCBkZXNpZ24gbWF0cml4IGFuZCAkJM6yJCQgaXMgdGhlICQkcCoxJCQgbWF0cml4IG9mIHVua25vd24gcGFyYW1ldGVycy4KV2hlbiB0aGVyZSBhcmUgbW9yZSBkYXRhIHBvaW50cyB0aGFuIHByZWRpY3RvcnMsICQkbiA+IHAkJCwgdGhlcmUgaXMgbm8gd2F5IHRvIGZpdCBhIGxpbmUgdGhyb3VnaCBhbGwgdGhlIGRhdGEgcG9pbnRzLiBJbnN0ZWFkLCB3ZSB3YW50IHRvIGZpbmQgdGhlICQkzrIkJCBmb3Igd2hpY2ggdGhlIHJlc2lkdWFsIHN1bSBvZiBzcXVhcmVzIGlzIGFzIGxvdyBhcyBwb3NzaWJsZS4KVGhpcyByZXN1bHRzIGluIG1pbmltaXppbmcgdGhlIGZvbGxvd2luZyBvYmplY3RpdmUgZnVuY3Rpb24gJCRTJCQgd2l0aCByZXNwZWN0IHRvIM6yLgpgYGBtYXRoClMozrIpID0gfHxZIC0gWM6yfHzCsgpgYGAKQnkgZGVyaXZpbmcgJCRTJCQgdG8gJCTOsiQkLCBzZXR0aW5nIHRoZSBkZXJpdmF0aXZlIHRvICQkMCQkIGFuZCBzb2x2aW5nIGZvciAkJM6yJCQsIHdlIGZpbmQgdGhlIHZhbHVlIGZvciAkJM6yJCQgd2hlcmUgJCRTJCQgZG9lcyBub3QgY2hhbmdlLiBJbiBvdGhlciB3b3Jkcywgd2hlcmUgJCRTJCQgcmVhY2hlcyBhIGxvY2FsIG1pbmltdW0gb3IgbWF4aW11bS4KIiIiCgojIOKVlOKVkOKVoSBhZmI0MzFhMS1hMmUwLTQ0MTEtODA5Mi01ZWJmMGQ3OGZkZmQKbWQiIiIKYGBgbWF0aApkUyjOsikgLyBkzrIgPSAoWSAtIFjOsileVCAoWS1YzrIpIC8gZM6yIApgYGAKYGBgbWF0aAowID0gLTJYXlQoWS1YzrIpCmBgYApgYGBtYXRoCs6yzIIgPSAoWF5UIFgp4oG7wrkgWF5UIFkKYGBgCiIiIgoKIyDilZTilZDilaEgZWQ5ODQwYzgtNzAwZC00YjYwLWE1ODQtYzkyM2I3NjZmZDQ4Cm1kIiIiIFdlIGNhbiBzaG93IHRoYXQgJM6yJCBpcyBpbiBmYWN0IGEgZ2xvYmFsIG1pbmltdW0gYW5kIG5vdCBhIGxvY2FsIG1pbmltdW0gb3IgbWF4aW11bSBiZWNhdXNlIHRoZSBoZXNzaWFuIG9mICQkUyjOsikkJCBpcyBwb3NpdGl2ZS1kZWZpbml0ZSAobm9uLW5lZ2F0aXZlIG92ZXIgYWxsIHZhbHVlcyBvZiAkJM6yJCQpLiBUaGlzIG1ha2VzICQkUyjOsikkJCBhIGNvbnZleCBmdW5jdGlvbi4gSXQgb25seSBjdXJ2ZXMgdXB3YXJkIGFuZCBjb3VsZCBuZXZlciBoYXZlIGEgbWF4aW11bSwgb3IgbG9jYWwgbWluaW1hLiBTaG93aW5nIHRoZSBwcm9vZiB3b3VsZCBicmluZyB1cyB0b28gZmFyLiAKIiIiCgojIOKVlOKVkOKVoSA2MWRhODBkYy03ZDQ5LTRlYzUtYTBmMi03OGRlZTQ4ODUzY2UKbWQiIiIjIyBOb25saW5lYXIgcmVncmVzc2lvbiBhbmQgR2F1c3MtTmV3dG9uIiIiCgojIOKVlOKVkOKVoSBhZjhmMjI2Ni00ZjM3LTQ2YmEtOWNiNS04MDc4YzQ3MjkyM2MKbWQiIiIgRm9yIG5vbmxpbmVhciByZWdyZXNzaW9uLCB0aGUgb2JzZXJ2YXRpb25hbCBkYXRhIGlzIGFzc3VtZWQgdG8gbm90IGhhdmUgYSBsaW5lYXIgcmVsYXRpb24gd2l0aCB0aGUgcHJlZGljdG9yKHMpLiBUaGVyZWZvcmUsIHRoZSBmdW5jdGlvbiBieSB3aGljaCB0aGUgZGF0YSBpcyBtb2RlbGVkIGNhbm5vdCBiZSBleHByZXNzZWQgYXMgYSBsaW5lYXIgY29tYmluYXRpb24gb2YgdGhlIHBhcmFtZXRlcihzKS4KCk9uZSBpbXBvcnRhbnQgaW1wbGljYXRpb24gdGhpcyBoYXMgaXMgdGhlIGluYWJpbGl0eSBvZiBsZWFzdCBzcXVhcmVzIHRvIGZvcm11bGF0ZSBhIGNsb3NlZC1mb3JtIGV4cHJlc3Npb24gZm9yIHRoZSBiZXN0LWZpdHRpbmcgcGFyYW1ldGVycy4gSW4gb3RoZXIgd29yZHMsIHRoZSBlcXVhdGlvbiAkZFMvZM6yID0gMCQgY2Fubm90IGJlIHNvbHZlZCBhbmFseXRpY2FsbHkuCk51bWVyaWNhbCB3b3JrYXJvdW5kcyBleGlzdCwgYW1vbmcgd2hpY2ggdGhlIEdhdXNzLU5ld3RvbiBhbGdvcml0aG0gc3RpY2tzIG91dC4KIAoiIiIKCiMg4pWU4pWQ4pWhIDNlMDE3ZGYwLWEzNWMtNDVjZC05ZjVlLWY1MTNlYTc0NWFkOQptZCIiIiAjIyMgR2F1c3MtTmV3dG9uIGFsZ29yaXRobQoiIiIKCiMg4pWU4pWQ4pWhIDg4YTc0OWRhLTM4ZTMtNDBhMC1iYmQ5LWFlOWI2ODgyNDM4MQptZCIiIiBXZSBhcmUgbGl2aW5nIGluIGEgaHlwb3RoZXRpY2FsIHdvcmxkIHdoZXJlIG91ciByZWdyZXNzaW9uIG1vZGVsICRmKHgsIM6yKSQgZG9lc24ndCByZXByZXNlbnQgYSBsaW5lLCBidXQgcmF0aGVyIGEgY3VydmUuIFdlIGNhbm5vdCB3cml0ZSAkWSQgYXMgYSBsaW5lYXIgY29tYmluYXRpb24gb2YgdGhlIG1vZGVsIHBhcmFtZXRlcnMgYW5kIG91ciBwcmVjaW91cyBsZWFzdCBzcXVhcmVzIHNjcmVhbXMgYW5kIGJyZWFrcyBhcyB3ZSB0cnkgdG8gZml0IHRoZSBtb2RlbCBpbi4gCgpMZXQncyB0dXJuIHRoZSB0aG91Z2h0IHByb2Nlc3MgdXBzaWRlIGRvd24uIFdlIGd1ZXNzIGFuIGluaXRpYWwgJM6y4oKAJCwgbm93IHdlIGNhbiBzb2x2ZSB0aGUgc3VtIG9mIHNxdWFyZXMgYXMgd2Uga25vdyB0aGUgb25lIHRoaW5nIHdlIGNvdWxkbid0IGtub3cuIFRoZXJlIGlzIG5vIHdheSB0aGlzIGd1ZXNzZWQgJM6yJCBpcyB0aGUgb3B0aW1hbCB2YWx1ZSB0aG91Z2guIEhvdyBkbyB3ZSBmaW5kIGEgYmV0dGVyIHNvbHV0aW9uICTOsuKCgSA9IM6y4oKAICsgzrQkLCB0aGF0IG1pbmltaXplcyAkUyjOsikkPwpVc2luZyAkzrLigoAgKyDOtCQgYXMgaW5wdXQsIHdlIGFycml2ZSBhdCB0aGUgZXhhY3Qgc2FtZSBwcm9ibGVtLiAkZFMozrLigoEpIC8gZCjOsuKCgSkkIGNhbm5vdCBiZSBzb2x2ZWQgZm9yICTOsuKCgSQuIFdlIG5lZWQgYW5vdGhlciB3YXkgdG8gcmVwcmVzZW50IHRoZSBwcm9ibGVtLgoKU2lyIElzYWFjIE5ld3RvbiB0aG91Z2h0IHRoZSBzYW1lIHRoaW5nIGFuZCB0aGUgZ2VuaXVzIGhlIGlzLCBmb3VuZCBhIHNvbHV0aW9uIGluIFRheWxvciBhcHByb3hpbWF0aW9ucy4gCkluIGNhc2UgeW91IG5lZWQgdG8gcmVmcmVzaCBUYXlsb3IgYXBwcm94aW1hdGlvbnMsIHRoZXJlJ3MgYW4gaW50ZXJtZXp6byByZWNhcGl0dWxhdGluZyBpdCBiZWxvdy4KIiIiCgojIOKVlOKVkOKVoSBlN2I3ZjVhYS0yY2IwLTQ3MzctYTI5ZC01ZTRiZjFmZDc2NzYKbWQiIiIgIyMjIyMgTGluZWFyaXphdGlvbgoiIiIKCiMg4pWU4pWQ4pWhIGI5ZmExYzNiLTE2ZDctNDU1MS04NTA4LTRlZTg4ODM3MTQ3NgptZCIiIiBUbyBmaW5kIM6y4oKBIHdlIGxpbmVhcml6ZSAkZih4LM6yKSQgYXJvdW5kIM6y4oKAIHdpdGggYSBmaXJzdC1vcmRlciBUYXlsb3IgYXBwcm94aW1hdGlvbi4gCmBgYG1hdGgKZih4LCDOsikg4omIIGYoeCwgzrLigoApICsg4oiHZih4LCDOsuKCgCkozrIgLSDOsuKCgCkKYGBgCldlIG5vdyBrbm93IGhvdyAkZih4LCDOsikkIGJlaGF2ZXMgbGluZWFybHkgZGlyZWN0bHkgYXJvdW5kIM6y4oKALiBJZiAkzrQkIGlzIHNtYWxsLCB3ZSBjYW4gZmlsbCBpbiAgJM6y4oKAICsgzrQkIHRvIGZpbmQgdGhlIGFwcHJveGltYXRlIHNvbHV0aW9uIGZvciDOsuKCgQpgYGBtYXRoCmYoeCwgzrLigoAgKyDOtCkg4omIIGYoeCwgzrLigoApICsg4oiHZih4LCDOsuKCgCkoKM6y4oKAICsgzrQpIC0gzrLigoApCmBgYApgYGBtYXRoCuKJiCBmKHgsIM6y4oKAKSArIOKIh2YoeCwgzrLigoApzrQKYGBgCk5vdGUgdGhhdCAkzrLigoAkIGlzIGEgY29uc3RhbnQgaW4gdGhpcyBlcXVhdGlvbi4gV2Ugb25seSByZXBsYWNlIHRoZSB2YXJpYWJsZSAkzrIkIHdpdGggJM6y4oKAICsgzrQkCiIiIgoKIyDilZTilZDilaEgOWRkN2Q1ZDEtZTYyNC00MDBkLWI4MmQtY2RkN2ZhNTc2NTI0Cm1kIiIiClRoaXMgbGluZWFyIGFwcHJveGltYXRpb24gb2YgJGYoeCwgzrIpJCBhcm91bmQgzrLigoAsIGZvciDOsuKCgCArIM60IENBTiBiZSB1c2VkIGFzIGlucHV0IGZvciBsZWFzdCBzcXVhcmVzLiAKCkJlZm9yZSBpbXBsZW1lbnRpbmcgdGhlIGxlYXN0IHNxdWFyZXMgd2UgaW50cm9kdWNlIHRoZSBKYWNvYmlhbiBtYXRyaXggaW50byB0aGUgZXF1YXRpb24sIHdoaWNoIHJlcHJlc2VudHMgdGhlIGdyYWRpZW50IG9mICRmJCB0byAkzrIkCmBgYG1hdGgKSiA9IOKIh2YoeCwgzrIpIOKHkiBmKHgsIM6y4oKAICsgzrQpIOKJiCBmKHgsIM6y4oKAKSArIErOtApgYGAKCkZpbmFsbHksIHdlIGFyZSByZWFkeSBmb3IgbGVhc3Qgc3F1YXJlcy4gCmBgYG1hdGgKUyjOsikgPSB8fFkgLSBmKM6yKXx8wrIKYGBgCgpgYGBtYXRoCuKHkiBTKM6yICsgzrQpIOKJiCB8fFkgLSBmKM6yKSAtIErOtHx8wrIKYGBgCk5vcm1hbGx5LCB3ZSB3b3VsZCBkZXJpdmUgdG8gJM6yJCBhbmQgc2V0IHRoZSByZXN1bHQgdG8gJDAkLiBGb3IgdGhlIG5vbmxpbmVhciBjYXNlIHRoYXQgd291bGQgbWFrZSBubyBzZW5zZSBhcyB3ZSBhbHJlYWR5IGtub3cgJM6yJC4gSW5zdGVhZCwgd2UgYXJlIGludGVyZXN0ZWQgaW4gdGhlIHZhbHVlIG9mICTOtCQgdGhhdCBtaW5pbWl6ZXMgdGhlIHN1bSBvZiBzcXVhcmVzLiBIZW5jZSB3ZSBkZXJpdmUgJFMozrIgKyDOtCkkIHRvICTOtCQgYW5kIGZpbmQgaXRzIHZhbHVlIHdoZXJlIHRoZSBkZXJpdmF0aXZlIGlzIHplcm8uCmBgYG1hdGgKfHxZIC0gZijOsikgLSBKzrR8fMKyCmBgYApgYGBtYXRoCj0gW1kgLSBmKM6yKSAtIErOtF3htYBbWSAtIGYozrIpIC0gSs60XQpgYGAKYGBgbWF0aAo9IFtZIC0gZijOsild4bWAW1kgLSBmKM6yKV0gLSAyW1kgLSBmKM6yKV3htYBKzrQgKyDOtOG1gErhtYBKzrQKYGBgCkRlcml2ZWQgdG8gJM60JCBhbmQgc2V0dGluZyB0byAkMCQgd2UgZ2V0CmBgYG1hdGgKZFMozrIrzrQpL2TOtCA9IC0gMkrhtYBbWSAtIGYozrIpXSArIDJK4bWASs60CmBgYApgYGBtYXRoCltK4bWASl3OtCA9IErhtYBbWSAtIGYozrIpXQpgYGAKTm90aWNlIHRoYXQgSiBoYXMgJG4qcCQgZGltZW5zaW9ucywgd2l0aCAkbiQgdGhlIG51bWJlciBvZiBkYXRhIHBvaW50cyBhbmQgJHAkIHRoZSBwYXJhbWV0ZXJzLiAkzrQkIGFuZCAkzrIkIGFyZSAkcCoxJCBtYXRyaWNlcyBhbmQgWSBpcyBhbiAkbioxJCBtYXRyaXguCiIiIgoKIyDilZTilZDilaEgMDFlYzZjYTktZmIzNi00NDVlLTk2MjMtN2IyZWMyNDc2NThlCm1kIiIiIFdlIGNhbiBub3cgcmV3cml0ZSDOsuKCgSBpbiB0ZXJtcyBvZiDOsuKCgApgYGBtYXRoCs6y4oKBID0gzrLigoAgKyBbSuG1gEpd4oG7wrkgLiBK4bWAW1kgLSBmKM6y4oKAKV0KYGBgCldlIG11c3Qgbm90IGZvcmdldCB0aGF0IHdlIGFwcHJveGltYXRlZCAkZih4LCDOsiArIM60KSQgYW5kIGhlbmNlICTOsuKCgSQgaXMgbm90IGd1YXJhbnRlZWQgdG8gZGVsaXZlciBhIG1pbmltdW0uIFdlIGl0ZXJhdGUgdGhlIHByb2Nlc3MgdW50aWwgaW1wcm92ZW1lbnRzIG9mICRTKM6yKSQgZmFsbCB1bmRlciBhIGNlcnRhaW4gdGhyZXNob2xkIGFuZCBhY2NlcHQgdGhpcyAkzrIkIGFzIG91ciBzb2x1dGlvbi4gCiIiIgoKIyDilZTilZDilaEgZGRlNWRhZGYtOWZlMi00OTU1LTgxNDMtOTcwMzY1YTI3ZDQwCm1kIiIiCiMjIyMjIGludGVybWV6em86IFRheWxvciBhcHByb3hpbWF0aW9uCkdvYWw6IGFwcHJveGltYXRlIG5vbi1wb2x5bm9taWFsIGZ1bmN0aW9ucyBieSBhIHBvbHlub21pYWwKIiIiCgoKIyDilZTilZDilaEgN2I1Y2IyZDEtM2M1My00MDI2LTgxOGItODZkYWQzODRiNWVjCm1kIiIiCiFbXQooaHR0cHM6Ly9naXRodWIuY29tL1RoaWVtZW5NdXMvTE0uamwvYmxvYi9tYXN0ZXIvbm90ZWJvb2svdGF5bG9yLnBuZz9yYXc9dHJ1ZSkKIiIiCgojIOKVlOKVkOKVoSA0ODU2YTdjYS03MmUzLTQ4YzMtYjRlNC1hMzE0N2YzY2FjMTEKbWQiIiIKTWV0aG9kOgpJbWFnaW5lICRmKHgpJCBhIG5vbi1wb2x5bm9taWFsLCBhcHByb3hpbWF0ZWQgYnkgYSBwb2x5bm9taWFsOiAkYyArIGJ4ICsgYXheMiQKYGBgbWF0aArih5IgZih4KSDiiYggYyArIGJ4ICsgYXheMgpgYGAKZm9yIGFueSB2YWx1ZSB4LiBJZiAkeCA9IDAkLCB0aGUgcG9seW5vbWlhbCBzaG91bGQgaGF2ZSB0aGUgc2FtZSB2YWx1ZSBhcyAkZigwKSQuCmBgYG1hdGgK4oeSIGYoMCkgPSBjICsgYigwKSArIGEoMCleMiA9IGMKYGBgCldlIGNvdWxkIHNheSB0aGF0ICRmKHgpIOKJiCBmKDApJCBhcm91bmQgJDAkLiBUaGF0IGxvb2tzIHByZXR0eSBzdHVwaWQsIGJ1dCBpdCBpc24ndC4gVGhlIGFwcHJveGltYXRpbmcgcG9seW5vbWlhbCBpcyBhIGZsYXQgbGluZSB0aGF0IGludGVyc2VjdHMgd2l0aCAkZih4KSQgYXQgJHggPSAwJC4gIAoKTW9zdCBsaWtlbHkgdGhvdWdoLCAkZih4KSQgaXNuJ3QgYSBmbGF0IGxpbmUgYXQgJHggPSAwJC4gSXQgcmlzZXMsIG9yIGl0IGRyb3BzIGFjY29yZGluZyB0byBpdHMgZGVyaXZhdGl2ZS4gVGhpcyBsb29rcyBhYnVzYWJsZS4gU2V0dGluZyB0aGUgc2xvcGUgb2YgdGhlIHBvbHlub21pYWwgdG8gYmUgdGhlIGVxdWFsIHRvIHRoYXQgb2YgJGYoeCkkIHdpbGwgaW1wcm92ZSB0aGUgYXBwcm94aW1hdGlvbiBhcm91bmQgJDAkLgpgYGBtYXRoCuKHkiBmJygwKSA9IGIgKyAyYSgwKSA9IGIKYGBgClRoZSBwcm9jZXNzIGlzIHByZWRpY3RhYmxlIGF0IHRoaXMgcG9pbnQuIEFsbCBkZXJpdmF0aXZlcyBvZiAkZih4KSQgc2F5IHNvbWV0aGluZyBhYm91dCBob3cgdGhlIGZ1bmN0aW9uIG1vdmVzIGFyb3VuZCB4LiAKYGBgbWF0aAogZicnKDApID0gMmEg4oeSIGEgPSBmJycoMCkgLyAyCmBgYApQdXR0aW5nIGl0IGFsbCB0b2dldGhlciwgd2UgY2FuIGFwcHJveGltYXRlICRmKHgpJCBmYWlybHkgd2VsbCBhcm91bmQgJDAkCmBgYG1hdGgKIGYoeCkg4omIIGYoMCkgKyBmJygwKXggKyAoZicnKDApIC8gMikgeF4yCmBgYApCeSByZXBsYWNpbmcgJHgkIHdpdGggJHggLSB0JCBpbiB0aGUgcG9seW5vbWlhbCwgd2UgY2FuIGFwcHJveGltYXRlICRmKHgpJCBmb3IgYW55IHZhbHVlICR0JCBvZiAkeCQuIE5vdyBhbGwgYnV0IG9uZSB0ZXJtcyBvZiB0aGUgcG9seW5vbWlhbCBiZWNvbWUgJDAkIHdoZW4gZmlsbGluZyBpbiAkZih0KSQuIFJlcGxhY2luZyAkeCQgaW4gdGhlIHBvbHlub21pYWwgaXMgcG9zc2libGUgYmVjYXVzZSB3ZSBkZXRlcm1pbmUgaG93IHRoZSBmdW5jdGlvbiBsb29rcyBsaWtlLiBPdXIgb25seSByZXF1aXJlbWVudHMgYXJlIHRoYXQgdGhlIGZ1bmN0aW9uIGRlcGVuZHMgb24gJHgkIGFuZCBpcyBhIHBvbHlub21pYWwuIEJvdGggYXJlIHVuYWZmZWN0ZWQgYnkgcmVwbGFjaW5nICR4JCB3aXRoICR4LXQkCgpOb3RlIHRoYXQgd2l0aCBlYWNoIGFkZGVkIGRlcml2YXRpdmUsIHRoZSBhcHByb3hpbWF0aW9uIGltcHJvdmVzLiBUaGUgZnVydGhlciB3ZSBzdHJheSBmcm9tICR4ID0gdCQsIHRoZSBsZXNzIGNvcnJlY3QgdGhlIGFwcHJveGltYXRpb24gYmVjb21lcy4gCiIiIgoKIyDilZTilZDilaEgZTViY2QxMTctZGU4OC00NTJiLTk5ODQtNjQ0ODNjNTFjNTU3Cm1kIiIiICMjIExldmVuYmVyZy1NYXJxdWFyZHQKVGhlIEdhdXNzLU5ld3RvbiBhbGdvcml0aG0gbWlnaHQgc2VlbSBsaWtlIGNsb3N1cmUgZm9yIG5vbmxpbmVhciByZWdyZXNzaW9uIGJ1dCBpdCdzIG5vdCBhbGwgcHVwcGllcyBhbmQgc3Vuc2hpbmUgaW4gdGhlIHdvcmxkIG9mIG1hdGhlbWF0aWNzLiBXZSd2ZSBnb25lIGEgYml0IGxvb3NlIG9uIHNvbWUgYXNzdW1wdGlvbnMgdGhhdCBhbHRlciB0aGUgaW50ZXJwcmV0YXRpb24gYW5kIHJlc3VsdHMgb2YgdGhlIGFsZ29yaXRobS4gTE1BIGFkanVzdHMgYSBwYXJ0IG9mIEdOQSwgdHJ5aW5nIHRvIHRhY2tsZSBhIGNvdXBsZSBvZiB0aGVzZSBpc3N1ZXMsIGJ1dCBkZWZpbml0ZWx5IG5vdCBhbGwuCkl0IGlzIG5vdCB0aGUgaW50ZW50aW9uIHRvIGdpdmUgYSBkZXRhaWxlZCBvdmVydmlldyBvZiBhbGwgdGhlIGludHJpY2FjaWVzIHRoYXQgY29tZSB3aXRoIG5vbmxpbmVhciBsZWFzdCBzcXVhcmVzLiBXZSB3aWxsIGRpc2N1c3MgdGhlIHByb2JsZW1zIHRoYXQgTE1BIHRyaWVzIHRvIGRlYWwgd2l0aCBvciBvdGhlcnMgdGhhdCBtaWdodCBiZSBuZWNlc3NhcnkgZm9yIGludGVycHJldGF0aW9uLgoKVG8gYmVnaW4sIHRoZSBzb2x1dGlvbiBvZiBHTkEgaXMgbm90IGEgZ2xvYmFsIG1pbmltdW0uCkluIG1vc3QgY2FzZXMsIHRoZSBub25saW5lYXJpdHkgb2YgJGYoeCwgzrIpJCBsZWFkcyBpbnRvIFMgbm8gbG9uZ2VyIGJlaW5nIGEgY29udmV4IGZ1bmN0aW9uLiBUaGUgbWluaW1hIHdlIGZpbmQgYXJlIG1vc3QgbGlrZWx5IG5vdCBnbG9iYWwuIFdpdGggYW4gaW5mb3JtZWQgaW5pdGlhbCBndWVzcywgb3VyIGNoYW5jZXMgbWlnaHQgYmUgaGlnaGVyLgoKRm9sbG93aW5nLCB0aGUgc3VtIG9mIHNxdWFyZXMgbWlnaHQgbm90IGRlY3JlYXNlIGF0IGV2ZXJ5IGl0ZXJhdGlvbiBvZiBHTkEuICTOtCQgbWlnaHQgb3ZlcnNob290IHRoZSBsb2NhbCBtaW5pbXVtLCBhZnRlciBhbGwgd2UgYXJlIHdvcmtpbmcgd2l0aCBhbiBhcHByb3hpbWF0aW9uIHRoYXQgb25seSB3b3JrcyBuZWFyIM6yLCBmb3IgYSBzbWFsbCDOtC4gCkV2ZW4gaWYgdGhhdCBpcyB0aGUgY2FzZSwgzrQgaXMgc3RpbGwgYSBkZXNjZW50IGRpcmVjdGlvbiBvZiBTLCBtZWFuaW5nIHRoYXQgaXRzIGRpcmVjdGlvbiB3aWxsIGFsd2F5cyBtb3ZlIHVzIGNsb3NlciB0byBhIGxvY2FsIG1pbmltdW0gYXMgbG9uZyBhcyBvdXIgc3RlcHMgYXJlIHNtYWxsIGVub3VnaC4gQSBjb25zZXF1ZW5jZSBvZiB0aGlzIHByb3BlcnR5IGlzIHRoYXQgR05BIG1pZ2h0IG5ldmVyIGNvbnZlcmdlIGF0IGFsbCwgYXMgzrQga2VlcHMgb3ZlcnNob290aW5nIHRoZSBhY3R1YWwgbG9jYWwgbWluaW11bS4KCiIiIgoKIyDilZTilZDilaEgYTRhMDE0MTYtMTkwYy00NTYwLThkYWMtNzlkNzg5YmFkN2NmCm1kIiIiCkF0IGxvbmcgbGFzdCwgdGhpcyBpcyB3aGVyZSBMTUEgY29tZXMgaW50byBwbGF5LiAKSXRzIG1ldGhvZCBpcyBjb3B5LXBhc3RlIEdOQSwgd2l0aCB0aGUgYWRkaXRpb24gb2YgYSBkYW1waW5nIHBhcmFtZXRlciBpbiB0aGUgZXF1YXRpb24gZm9yIM60LiBOb3Qgc3VycHJpc2luZ2x5LCBMTUEgaXMgYWxzbyBjYWxsZWQgZGFtcGVkIGxlYXN0IHNxdWFyZXMuCgpHYXVzcy1OZXd0b24KYGBgbWF0aApbSuG1gEpdzrQgPSBK4bWAW1kgLSBmKM6yKV0KYGBgCkxldmVuYmVyZy1NYXJxdWFyZHQKYGBgbWF0aApbSuG1gEogKyDOu0ldzrQgPSBK4bWAW1kgLSBmKM6yKV0KYGBgClRoZSBub24tbmVnYXRpdmUgZGFtcGluZyBmYWN0b3IgZGV0ZXJtaW5lcyB0aGUgZGlyZWN0aW9uIG9mICTOtCQuIAoKV2hlbiAkzrskIG5lYXJzICQwJCwgTE1BIGlzIGV4YWN0bHkgR05BLiBJbiB0aGlzIGNhc2UsICTOtCQgcG9pbnRzIGluIGEgZGlyZWN0aW9uIHdoZXJlIFMgZ2V0cyBzbWFsbGVyLCBidXQgaXQgbWlnaHQgb25seSBnZXQgc21hbGxlciBmb3IgYSB2ZXJ5IHNob3J0IGJpdCBiZWZvcmUgaXQgc3RhcnRzIGluY3JlYXNpbmcgYWdhaW4uIAoKSXQncyBoYXJkIHRvIGdldCBhbiBpbnR1aXRpdmUgdmlldyBvbiB0aGlzLiBTZWUgaXQgYXMgYSByZXN1bHQgb2YgbGluZWFyaXppbmcgJGYoeCwgzrIpJCBhcm91bmQgJM6y4oKAJCBhbmQgdXNpbmcgdGhpcyB0byBhcHByb3hpbWF0ZSAkZih4LCDOsuKCgCArIM60KSQuIFRoZSBpbml0aWFsIGRpcmVjdGlvbiBvZiAkzrQkIG1pZ2h0IGJlIGNvcnJlY3QsIGJlY2F1c2UgdGhpcyBkaXJlY3Rpb24gaXMgZXhhY3RseSB0aGUgc2FtZSBmb3Igc21hbGwgYW5kIGxhcmdlICTOtCQgKHRoZSBkaXJlY3Rpb24gb2YgYSBsaW5lYXIgZnVuY3Rpb24gZG9lcyBub3QgY2hhbmdlKSwgYnV0IGlmIHRoZSBncmFkaWVudCBvZiAkZih4LCDOsikkIGNoYW5nZXMgZHJhc3RpY2FsbHkgYXJvdW5kICTOsuKCgCQsIHZhbHVlcyBvZiB0aGUgYXBwcm94aW1hdGVkICRmKHgsIM6y4oKAICsgzrQpJCBmb3IgbGFyZ2UgJM60JCB3aWxsIGJlIGZhciBmcm9tIHRoZSBhY3R1YWwgdmFsdWVzLiBFeHRyYXBvbGF0aW5nIHRvIHRoZSBHYXVzcy1OZXd0b24gZXF1YXRpb24gJFtK4bWASl3OtCA9IErhtYBbWSAtIGYozrIpXSQsIHdlIGNhbiBhc3N1bWUgzrQgcG9pbnRzIGluIHRoZSBjb3JyZWN0IGRpcmVjdGlvbiBmb3IgYSBsb2NhbCBtaW5pbXVtIG9mICTOsiArIM60JCB3aGlsZSB0aGUgc3RlcCBzaXplIHNob3VsZCBiZSB0YWtlbiB3aXRoIGEgZ3JhaW4gb2Ygc2FsdC4KCldlIHdhbmRlcmVkIG9mZiBhIGJpdCB0aGVyZS4gU28gaWYgJM67JCBuZWFycyAkMCQsIHRoZSBMZXZlbmJlcmctTWFycXVhcmR0IGVxdWF0aW9uIGVxdWFscyB0aGUgR2F1c3MtTmV3dG9uIGVxdWF0aW9uLiBDb252ZXJzZWx5IGlmICTOuyQgbmVhcnMgJCviiJ4kLCB0aGVuICTOtCA9IFtK4bWASiArIM67SV3igbvCuUrhtYBbWSAtIGYozrIpXSQsIHRoZSB0ZXJtICRK4bWASiQgaW4gdGhlIGludmVyc2UgaXMgbmVnbGlnaWJsZSBpbiBjb21wYXJpc29uIHRvICTOu0kkLiBIZW5jZSB0aGUgZGlyZWN0aW9uIG9mICTOtCQgbmVhcnMgdGhlIGRpcmVjdGlvbiBvZiAkSuG1gFtZIC0gZijOsildJC4gVGhhdCBpcyB2ZXJ5IHVzZWZ1bCBpbmRlZWQsIGJlY2F1c2UgdGhlIGdyYWRpZW50IG9mICRTJCB3aXRoIHJlc3BlY3QgdG8gJM6yJCBlcXVhbHMgJC0yKErhtYBbWSAtIGYozrIpXSnhtYAkLCBzbyB3ZSBjYW4gY29uY2x1ZGUgdGhhdCAkzrQkIHBvaW50cyBpbiB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIG9mIHRoZSBncmFkaWVudCBvZiAkUyQgd2hlbiAkzrskIG5lYXJzICTiiJ4kCgpJbiBvdGhlciB3b3JkcywgTE1BIGNoYW5nZXMgdGhlIGRpcmVjdGlvbiBvZiAkzrQkIGJldHdlZW4gaXRzIG9yaWdpbmFsIGRpcmVjdGlvbiBhbmQgdGhlIGRpcmVjdGlvbiBvZiBzdGVlcGVzdC9ncmFkaWVudCBkZXNjZW50IGJhc2VkIG9uIHRoZSBwYXJhbWV0ZXIgJM67JC4KCldlIGNhbiB3cml0ZSAkzrLigoEkIGluIHRlcm0gb2YgJM6y4oKAJApgYGBtYXRoCs6y4oKBID0gzrLigoAgKyBbSuG1gEogKyDOu0ld4oG7wrkgLiBK4bWAW1kgLSBmKM6y4oKAKV0KYGBgCiIiIgoKIyDilZTilZDilaEgY2E4MDMwMjctNDA2My00YTM0LTg2ZGEtYzQxYjY2N2FlZTA2Cm1kIiIiCiMjIyMjIEdyYWRpZW50IGRlc2NlbnQKCklmIEdOQSBpc24ndCBkb2luZyBzbyBob3QsIHdoeSBkb24ndCB3ZSBqdXN0IHVzZSB0aGUgZGlyZWN0aW9uIG9mIGdyYWRpZW50IGRlc2NlbmQgdG8gb3B0aW1pemUgzrI/CgpHcmFkaWVudCBkZXNjZW50IGlzIGFuIGludHVpdGl2ZSBpdGVyYXRpdmUgb3B0aW1pemF0aW9uIGFsZ29yaXRobSBmb3IgZmluZGluZyBsb2NhbCBtaW5pbWEuIFRha2luZyByZXBlYXRlZCBzdGVwcyBpbiB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIG9mIHRoZSBncmFkaWVudCBvZiB0aGUgZnVuY3Rpb24gYXQgZWFjaCBpdGVyYXRpb24gcG9pbnQgd291bGQgZXZlbnR1YWxseSBsZWFkIHRvIGEgbG9jYWwgbWluaW11bS4gVGhpcyBpcyB0aGUgZGlyZWN0aW9uIHdoZXJlICRmKHgpJCBkZWNyZWFzZXMgdGhlIGZhc3Rlc3QuCgpUaGUgY2F2ZWF0IGNvbWVzIGluIHRoZSBzcGVlZCBvZiBjb252ZXJnZW5jZS4gR3JhZGllbnQgZGVzY2VudCBkb2Vzbid0IGNvbnZlcmdlIGZhc3QgaW4gZnVuY3Rpb25zIHdoZXJlIHRoZSBjdXJ2YXR1cmUgY2hhbmdlcyByZWxhdGl2ZWx5IGZhc3QuIEFnYWluIHRoaXMgaXMgaW50dWl0aXZlLiBJbWFnaW5lIGEgbWluaW11bSBseWluZyBpbiBhIG5hcnJvdyB2YWxsZXkgb2YgYSBmdW5jdGlvbi4gVGhlIGFsZ29ydGhpbSBjYW4gb25seSBtb3ZlIGluIHRoZSBvcHBzaXRlIGRpcmVjdGlvbiBvZiB0aGUgZ3JhZGllbnQuIFdoZW4gdGhlIGl0ZXJhdGlvbiBzdGFydHMgZW50ZXJpbmcgdGhlIHZhbGxleSwgaXQgd2lsbCBtb3N0IGxpa2VseSBvdmVyc2hvb3QgdG8gdGhlIG90aGVyIHNpZGUgb2YgdGhlIHZhbGxleS4gTm93IHRoZSBncmFkaWVudCBoYXMgZHJhc3RpY2FsbHkgY2hhbmdlZCwgcG9pbnRpbmcgaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBvZiBsYXN0IGl0ZXJhdGlvbi4gCgpBdCBmaXJzdCBzaWdodCB0aGlzIG1pZ2h0IGxvb2sgbGlrZSBhIGdvb2QgdGhpbmcsIHRoZSBtaW5pbXVtIGxpZXMgaW4gdGhlIG1pZGRsZSBvZiB0aGUgdmFsbGV5IHdoZXJlIGdyYWRpZW50IGRlc2NlbnQgaXMgcG9pbnRpbmcgdG8gcmlnaHQ/IE5vdCBuZWNlc3NhcmlseSBubywgdGhlIHZhbGxleSBtaWdodCBhdCBpdHMgbWlkZGxlIHN0aWxsIG1vdmUgZG93bndhcmRzLCBsaWtlIGEgcml2ZXIgYmV0d2VlbiBtb3VudGFpbnMgcnVubmluZyB0b3dhcmRzIHRoZSBsb3dlc3QgcG9pbnQgb2YgdGhlIHZhbGxleSBieSBncmF2aXR5LiBHcmFkaWVudCBkZXNjZW50IGlzIHRlcnJpYmxlIGF0IHJlY29nbml6aW5nIHRoZXNlIHNjZW5hcmlvcywgY29uc3RhbnRseSBzd2l0Y2hpbmcgc2lkZXMgb2YgdGhlIHZhbGxleSBpbiBhIHppZ3phZy1wYXR0ZXJuLCB2ZXJ5IHNsb3dseSBnb2luZyBkb3duaGlsbCB1bnRpbCBjb252ZXJnZW5jZS4KIiIiCgojIOKVlOKVkOKVoSBlOGM3Zjg0Zi1jODU2LTQxZmEtYjEyOS01ZGZlZjc0YjZmZjAKbWQiIiIgIyMjIyMgQ2hvaWNlIG9mIGRhbXBpbmcgcGFyYW1ldGVyCgpXaGVuIGl0IGFsbCBjb21lcyB0b2dldGhlciwgTE1BIHRyaWVzIHRvIGNpcmN1bXZlbnQgcHJvYmxlbXMgb2YgYXBwcm94aW1hdGlvbiBpbiBHTkEgYW5kIHByb2JsZW1zIG9mIHNsb3cgY29udmVyZ2VuY2UgaW4gR3JhZGllbnQgZGVzY2VudCBieSBzd2l0Y2hpbmcgYmV0d2VlbiB0aGUgZGlyZWN0aW9uIG9mIEdOQSB3aGVuZXZlciAkUyjOsikkIGtlZXBzIGRlY3JlYXNpbmcgYmV0d2VlbiBpdGVyYXRpb25zIGFuZCB0aGUgZGlyZWN0aW9uIG9mIGdyYWRpZW50IGRlc2NlbnQgd2hlbmV2ZXIgJFMozrIpJCBpbmNyZWFzZXMuCgpUaGVyZSdzIGFub3RoZXIgaW50dWl0aXZlIHdheSB0byBkZXRlcm1pbmUgeW91ciBwcmVmZXJyZWQgJM67JC4gSW4gdGhlIGdlbmVyYWwgc2Vuc2UsIEdOQSBpcyBiYWQgYXQgZmluZGluZyBhIGdvb2QgdmFsdWUgZm9yICTOtCQgd2hlbiBpdCBpcyBmYXIgZnJvbSBhIGxvY2FsIG1pbmltdW0sIGJlY2F1c2Ugb2YgdGhlIGFwcHJveGltYXRpb24uIFNvIGlmIHdlIGRvbid0IGhhdmUgYW4gaW5mb3JtZWQgaW5pdGlhbCBndWVzcywgaXQgaXMgZ2VuZXJhbGx5IGJldHRlciB0byBzdGFydCB3aXRoIGEgcmVsYXRpdmVseSBoaWdoICTOuyQuIENvbnZlcnNlbHksIEdyYWRpZW50IGRlc2NlbnQgaXMgYmFkIGF0IGNvbnZlcmdlbmNlLiBXaGVuIHdlIGdldCBjbG9zZXIgdG8gYSBsb2NhbCBtaW5pbXVtLCBpdCBpcyB0aHVzIGdlbmVyYWxseSBiZXR0ZXIgdG8gaGF2ZSBhIGxvd2VyIHZhbHVlIGZvciAkzrskLgoKQ3VycmVudGx5LCB0aGVyZSBpcyBubyBwcm92ZW4gYmVzdCBtZXRob2QgdG8gZGV0ZXJtaW5lICTOuyQuCgoqIE1hcnF1YXJkdCdzIG1ldGhvZApNYXJxdWFyZHQgcmVjb21tZW5kZWQgdGhlIGZvbGxvd2luZzogeW91IHN0YXJ0IHdpdGggYSB2YWx1ZSAkzrvigoAkIGFuZCBhIGZhY3RvciAkdiA+IDEkLgpJbiB0aGUgZmlyc3QgaXRlcmF0aW9uLCAkUyjOsikkIGlzIGNhbGN1bGF0ZWQgd2l0aCAkzrsgPSDOu+KCgCQgYW5kICTOuyA9IM674oKAIC8gdiQuIElmIGJvdGggcmVzdWx0IGluIGEgaGlnaGVyIHZhbHVlIG9mICRTKM6yKSQsIHdlIGluY3JlYXNlIGRhbXBpbmcgYnkgbXVsdGlwbHlpbmcgJM674oKAJCBieSAkdiQgdW50aWwgJFMozrIpJCBkcm9wcy4gVGhlIGZpbmFsIGRhbXBpbmcgZmFjdG9yIGlzIHRha2VuIGZvciB0aGUgc2Vjb25kIGl0ZXJhdGlvbi4gSWYgJM674oKAIC8gdiQgaW5zdGVhZCByZXN1bHRzIGluIGEgbG93ZXIgdmFsdWUgb2YgJFMozrIpJCwgd2UgYWNjZXB0IGl0IGFuZCB1c2UgdGhpcyBkYW1waW5nIGZhY3RvciBmb3IgdGhlIHNlY29uZCBpdGVyYXRpb24uIEluIHRoZSBsYXN0IHNjZW5hcmlvLCB3aGVuICTOu+KCgCAvIHYkIGdpdmVzIHVzIGEgaGlnaGVyIHZhbHVlIG9mICRTKM6yKSQgd2hpbGUgJM674oKAJCBpbXByb3ZlcyBpdCwgdGhlIGRhbXBpbmcgZmFjdG9yIGlzIGxlZnQgdW5jaGFuZ2VkLgoKKiBEZWxheWVkIGdyYXRpZmljYXRpb24KQSBzaW1wbGVyIG1ldGhvZCB3aGVyZSAkzrskIGlzIGluY3JlYXNlZCBhIGJpdCBhZnRlciBlYWNoIHVwaGlsbCBzdGVwIGFuZCBkZWNyZWFzZWQgYSBsb3QgYWZ0ZXIgZWFjaCBkb3duaGlsbCBzdGVwLgpXZSBkZWNyZWFzZSBtb3JlIHRoYW4gd2UgaW5jcmVhc2UgdG8gYXZvaWQgdGhlIGdyYWRpZW50IGRlc2NlbnQgemlnemFnIHByb2JsZW0uCklmIHlvdSBuZWFyIGEgdmFsbGV5IHdpdGggYSBtaW5pbXVtIGZhciBmcm9tIHdoZXJlIHlvdSBlbnRlcmVkIHRoZSB2YWxsZXksIHN0ZXAgc2l6ZXMgYXJlIGNvbnN0cmljdGVkIGluIGxlbmd0aCBhbmQgY29udmVyZ2VuY2Ugd2lsbCBiZSBzbG93LgoiIiIKCiMg4pWU4pWQ4pWhIGI0NmFiZDMzLWVmZTgtNGQ1Ny1iMjc2LWM0YjZhNWI0ZGQzMgptZCIiIiAjIyBJbXBsZW1lbnRhdGlvbgoiIiIKCiMg4pWU4pWQ4pWhIDIwMjZkMGMwLTdjNmItNDhmNi1hMTEzLTdjNjMxMzhlNmJjNgptZCIiIiAKTm93IHdlJ3ZlIGZpbmFsbHkgbWFkZSBpdCB0aHJvdWdoIHRoZSB0aGVvcnksIHdlIGNhbiB1c2UgTE1BIHRvIHNvbHZlIGEgbm9ubGluZWFyIGxlYXN0IHNxdWFyZXMgcHJvYmxlbS4KCldlIHdpbGwgcGVyZm9ybSBMTUEgb24gdGhlIFJvc2VuYnJvY2sgZnVuY3Rpb24sIGEgbm9uLWNvbnZleCBmdW5jdGlvbiBvZnRlbiB1c2VkIGZvciAgcGVyZm9ybWFuY2UgdGVzdGluZyBpbiBvcHRpbWl6YXRpb24uIFRoaXMgZnVuY3Rpb24gaGFzIG9uZSBnbG9iYWwgbWluaW11bSB3aXRoIGEgdmVyeSBzbWFsbCB2YWxsZXkgbGVhZGluZyB0byBpdC4gTG9naWNhbGx5LCBHcmFkaWVudCBkZXNjZW50IGhhcyBhIGhhcmQgdGltZSBjb252ZXJnaW5nIGZvciB0aGlzIGZ1bmN0aW9uLgpgYGBtYXRoCmYoeCkgPSAoYSAtIHjigoEpwrIgKyBiKHjigoIgLSB44oKBwrIpwrIKYGBgCiIiIgoKIyDilZTilZDilaEgM2NhZDBkMjEtNjhmMC00NjczLTk1ZTctMWFkMTJiMmNlNjc4Cm1kIiIiCiFbXQooaHR0cHM6Ly9naXRodWIuY29tL1RoaWVtZW5NdXMvTE0uamwvYmxvYi9tYXN0ZXIvbm90ZWJvb2svcm9zZW4uanBnP3Jhdz10cnVlKQoiIiIKCiMg4pWU4pWQ4pWhIDU2MzI0MGVkLTRhMGEtNDdjZC1hNTY0LWE2ZDZkMTlmNThlZgptZCIiIgpHTkEgYW5kIExNQSB3YW50IHRvIG1pbmltaXplIGEgY29zdCBmdW5jdGlvbiB0aGF0IGNhbiBiZSB3cml0dGVuIGFzIGEgc3VtIG9mIHNxdWFyZXMuIFRoZSBSb3NlbmJyb2NrIGZ1bmN0aW9uIGNhbiBiZSB3cml0dGVuIGFzIGEgc3VtIG9mIHNxdWFyZXMgaWYgd2UgZGVmaW5lOgpgYGBtYXRoCmbigoEoeCkgPSBhIC0geOKCgQpgYGAKYGBgbWF0aApm4oKCKHgpID0g4oiaYih44oKCIC0geOKCgcKyKSAKYGBgCmBgYG1hdGgK4oeSIGYoeCkgPSBcc3VtX2kgKGbhtaIpwrIKYGBgCk5vdGUgdGhhdCAkeCQgaGVyZSBwbGF5cyB0aGUgcm9sZSBvZiB0aGUgcGFyYW1ldGVycyAkzrIkIGluIHJlZ3Jlc3Npb24gY29udGV4dC4gJGYoeCkg4omIIFMozrIpJCBhbmQgJGbhtaIg4omIIHnhtaIgLSBmKHjhtaLOsikkCgpUaGUgYWJvdmUgZXhwcmVzc2lvbiBjYW4gYmUgd3JpdHRlbiBhcyB0aGUgbm9ybSBvZiBhIHZlY3Rvci12YWx1ZWQgZnVuY3Rpb24gaW5zdGVhZDoKYGBgbWF0aApmKHgpID0gfHxGKHgpfHzCsgpgYGAKd2l0aCAkRih4KSQgYSAkMioxJCBtYXRyaXggb2YgJGbigoEkIGFuZCAkZuKCgiQKCkZvciBlYWNoIGl0ZXJhdGlvbiB3ZSBsaW5lYXJpemUgJEYoeCkkIGFyb3VuZCAkeCQgdG8gYXBwcm94aW1hdGUgdGhlIHZhbHVlIG9mICRGKHggKyDOtCkkCmBgYG1hdGgKRih4ICsgzrQpIOKJiCBGKHgpICsgSih4Kc60CmBgYAphbmQgZGV0ZXJtaW5lICTOtCQgYnkgbWluaW1pemluZyAkZih4ICsgzrQpJCB3aXRoIHJlc3BlY3QgdG8gJM60JCBhbmQgc2V0dGluZyB0byB6ZXJvCmBgYG1hdGgKZih4ICsgzrQpID0gfHxGKHgpICsgSih4Kc60fHzCsgpgYGAKYGBgbWF0aApbSuG1gEpdzrQgPSAtIErhtYBbRih4KV0KYGBgCiIiIgoKIyDilZTilZDilaEgOTY2ODRlOGEtZGQ0Zi00NDk3LThjMDYtM2JkMTJiYWUzNTdjCm1kIiIiCldlIGNvbXBhcmUgR05BLCBMTUEgYW5kIGdyYWRpZW50IGRlc2NlbnQgb24gdGhlIFJvc2VuYnJvY2sgZnVuY3Rpb24uIApGb3IgdGhlIHBhcmFtZXRlcnMgJGEkIGFuZCAkYiQsIHdlIHJlc3BlY3RpdmVseSB0YWtlIDEgYW5kIDEwMC4gR2l2ZW4gdGhlc2UgcGFyYW1ldGVycywgdGhlIFJvc2VuYnJvY2sgZnVuY3Rpb24gaGFzIGEgZ2xvYmFsIG1pbmltdW0gZm9yICQoeCwgeSkgPSAoMSwgMSkkCiIiIgoKIyDilZTilZDilaEgMjhkOTA4MDgtNzJmZC00Nzk1LTlmMDctZDEyYjZhMTY1ODgwCm1kIiIiClRoZSBgR05BYCBmdW5jdGlvbiB0YWtlcyB0aGUgZm9sbG93aW5nIGlucHV0OgotIGBGYDogdGhlIG9iamVjdGl2ZSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgdXNlZCBhcyBpbnB1dCB0byB0aGUgc3VtIG9mIHNxdWFyZXMKLSBgeOKCgGA6IGFuIGluaXRpYWwgZ3Vlc3MgZm9yICR4JAotIGBrX21heGA6IHRoZSBtYXhpbXVtIGFtb3VudCBvZiBpdGVyYXRpb25zIHRoZSBhbGdvcml0aG0gaXMgYWxsb3dlZCB0byBoYXZlCi0gYFNfbWluYDogSW4gdGhpcyBwYXJ0aWN1bGFyIHNjZW5hcmlvIHdoZXJlIHdlIGtub3cgdGhlIGdsb2JhbCBtaW5pbXVtIG9mICRmKHgpJCwgU19taW4gY29udHJvbHMgaG93IGNsb3NlIEdOQSBoYXMgdG8gZ2V0IHRvIHRoZSBnbG9iYWwgbWluaW11bSBiZWZvcmUgdGhlIGFsZ29yaXRobSBpcyBjdXQgc2hvcnQgYW5kICR4JCBpcyByZXR1cm5lZCBhcyBzb2x1dGlvbi4KIiIiCgojIOKVlOKVkOKVoSBkOTE3ZjYzYS0wNTgwLTQyMDktOWU3OS1hMTA0NWM5NTFjNDYKRih4LCB5KSA9IFsxIC0geCwgMTAoeSAtIHheMildCgojIOKVlOKVkOKVoSBmNzZhNWIzZi1kMzUyLTRmM2QtYmQ0ZC1hN2Q2OGZhZGM4YjUKbWQiIiIKTE1BIGlzIGltcGxlbWVudGVkIHdpdGggTWFycXVhcmR0J3MgbWV0aG9kIGZvciBkZXRlcm1pbmluZyDOuwoKVGhlIGBMTUFgIGZ1bmN0aW9uIHRha2VzIHRoZSBmb2xsb3dpbmcgaW5wdXQ6Ci0gYEZgOiB0aGUgb2JqZWN0aXZlIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSB1c2VkIGFzIGlucHV0IHRvIHRoZSBzdW0gb2Ygc3F1YXJlcwotIGB44oKAYDogYW4gaW5pdGlhbCBndWVzcyBmb3IgJHgkCi0gYM67YDogYW4gaW5pdGlhbCB2YWx1ZSBmb3IgdGhlIGRhbXBpbmcgcGFyYW1ldGVyLiBBIGdvb2Qgc3RhcnQgdmFsdWUgaXMgMQotIGB2YDogTWFycXVhcmR0J3MgZmFjdG9yIG9mIHRoZSBkYW1waW5nIHBhcmFtZXRlci4gQSBnb29kIGRlZmF1bHQgdmFsdWUgaXMgMgotIGBrX21heGA6IHRoZSBtYXhpbXVtIGFtb3VudCBvZiBpdGVyYXRpb25zIHRoZSBhbGdvcml0aG0gaXMgYWxsb3dlZCB0byBoYXZlCi0gYFNfbWluYDogSW4gdGhpcyBwYXJ0aWN1bGFyIHNjZW5hcmlvIHdoZXJlIHdlIGtub3cgdGhlIGdsb2JhbCBtaW5pbXVtIG9mICRmKHgpJCwgU19taW4gY29udHJvbHMgaG93IGNsb3NlIExNQSBoYXMgdG8gZ2V0IHRvIHRoZSBnbG9iYWwgbWluaW11bSBiZWZvcmUgdGhlIGFsZ29yaXRobSBpcyBjdXQgc2hvcnQgYW5kICR4JCBpcyByZXR1cm5lZCBhcyBzb2x1dGlvbi4KIiIiCgojIOKVlOKVkOKVoSBlMzExZjU4ZC0yOGExLTRiMGItODFkOC0yNTE0OWRmZDkzOTIKbWQiIiIgRm9yIGdyYWRpZW50IGRlc2NlbnQgd2l0aCBhbiBpbml0aWFsIGd1ZXNzICR44oKAJDoKYGBgbWF0aAp44oKBID0geOKCgCAtIM6z4oiHZih44oKAKQpgYGAKV2UgdGFrZSBmb3IgJM6zJCBhbiBhcmJpdHJhcnkgcGFyYW1ldGVyIHdoaWNoIHdlIGRlY3JlYXNlIHdoZW4gdGhlIHN0ZXAgc2l6ZSBvdmVyc2hvb3RzIHRoZSBtaW5pbXVtLgoKVW5saWtlIEdOQSBhbmQgTE1BLCBncmFkaWVudCBkZXNjZW50IGRvZXMgbm90IGhhdmUgdG8gYmUgYXBwbGllZCB0byBzdW0gb2Ygc3F1YXJlIGZ1bmN0aW9ucy4gV2UgZG8gbm90IGhhdmUgdG8gd3JpdGUgJGYoeCkkIGFzIGEgc3VtIG9mIHNxdWFyZXMgZnVuY3Rpb24gdG8gYmUgYWJsZSB0byBtaW5pbWl6ZSBpdC4KYGBgbWF0aApmKHgsIHkpID0gKDEgLSB4KcKyICsgMTAwKHkgLSB4wrIpwrIKYGBgCiIiIgoKCiMg4pWU4pWQ4pWhIDk1YjIwNDUwLTJmOWEtNDUwNi05MzZmLTVhOTAzOWM2N2RmZQptZCIiIgpUaGUgYEdEYCBmdW5jdGlvbiB0YWtlcyB0aGUgZm9sbG93aW5nIGlucHV0OgotIGBmYDogdGhlIG9iamVjdGl2ZSBmdW5jdGlvbgotIGB44oKAYDogYW4gaW5pdGlhbCBndWVzcyBmb3IgJHgkCi0gYGtfbWF4YDogdGhlIG1heGltdW0gYW1vdW50IG9mIGl0ZXJhdGlvbnMgdGhlIGFsZ29yaXRobSBpcyBhbGxvd2VkIHRvIGhhdmUKLSBgzrNgOiBjb250cm9scyB0aGUgc3RlcCBzaXplLiBBIGRlc2NlbnQgaW5pdGlhbCB2YWx1ZSBpcyAkzrMkID0gMC4wNQotIGBmX21pbmA6IEluIHRoaXMgcGFydGljdWxhciBzY2VuYXJpbyB3aGVyZSB3ZSBrbm93IHRoZSBnbG9iYWwgbWluaW11bSBvZiAkZih4KSQsIGZfbWluIGNvbnRyb2xzIGhvdyBjbG9zZSBHcmFkaWVudCBkZXNjZW50IGhhcyB0byBnZXQgdG8gdGhlIGdsb2JhbCBtaW5pbXVtIGJlZm9yZSB0aGUgYWxnb3JpdGhtIGlzIGN1dCBzaG9ydCBhbmQgJHgkIGlzIHJldHVybmVkIGFzIHNvbHV0aW9uLgoiIiIKCiMg4pWU4pWQ4pWhIGJhN2Q2MGQ5LWIwMzgtNDU1MC1hYTAwLTkzZWFlMTQ4ZGFlMApmKHgsIHkpID0gKDEgLSB4KV4yICsgMTAwKHkgLSB4XjIpXjIKCiMg4pWU4pWQ4pWhIDQ3MmUwZDkwLTMxNDUtNDdjMi05ZjQ3LTZmYjA2M2RlYzU3OApmdW5jdGlvbiBHRChmLCB44oKAOyBrX21heD0xMDAsIM6zPTAuMDUsIGZfbWluID0gMC4xKQoJayA9IDAKCXjigpYgPSB44oKACglzdG9wY3JpdCA9IHRydWUKCXdoaWxlIGsgPCBrX21heCAmJiBzdG9wY3JpdAoJCWdyYWQgPSBGb3J3YXJkRGlmZi5ncmFkaWVudCh4IC0+Zih4WzFdLHhbMl0pLCB44oKWKQoJCXjigpcgPSB44oKWIC3OsyAqIGdyYWQJCgkJaWYgZih44oKXWzFdLCB44oKXWzJdKSA8IGYoeOKCllsxXSwgeOKCllsyXSkKCQkJzrMgPSDOsyAqIDIKCQkJeOKCliA9IHjigpcKCQkJaWYgZih44oKWWzFdLCB44oKWWzJdKSA8IGZfbWluCgkJCQlzdG9wY3JpdCA9IGZhbHNlCgkJCWVuZAoJCWVsc2UKCQkJzrMgPSDOsyAvIDIKCQllbmQKCQlrID0gayArIDEKCWVuZAoJcmV0dXJuIHjigpYsIGsKZW5kCgojIOKVlOKVkOKVoSAzYzY1OGVlOS1mMmMyLTQxMTctYmY0ZC04YmJhOGVlNjI5MDYKR0QoZiwgWzMsIDNdKQoKIyDilZTilZDilaEgYTVkZDljZGItODdlNS00ZDVlLTgzMjktZTQ2ODFkOGRiNTE4CkdEKGYsIFstNTAwLCA2MDBdKQoKIyDilZTilZDilaEgNGJjZTY1MzEtM2U3OC00NmI3LTkyYmEtMWEwNDIxNTFkNGEwCm1kIiIiClRoZSBmdW5jdGlvbnMgcmV0dXJuIHRoZSBlc3RpbWF0ZWQgYmVzdCB2YWx1ZSBmb3IgJHgkIGFuZCB0aGUgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgaXQgdG9vayB0byBnZXQgdGhlcmUuCgpHTkEgcGVyZm9ybXMgc2lnbmlmaWNhbnRseSBiZXR0ZXIgdGhhbiBib3RoIExNQSBhbmQgR0QsIGZvciB2YWx1ZXMgY2xvc2UgdG8gdGhlIG1pbmltdW0gYW5kIGZvciB2YWx1ZXMgZnVydGhlciBhd2F5LgoKV2UgY2FuIGV4cGxhaW4gdGhpcyByZXN1bHQuIEdOQSBwZXJmb3JtcyBwb29ybHkgd2hlbmV2ZXIgdGhlIGFwcHJveGltYXRpb24gZm9yICRmKHgsIM6yICsgzrQpJCBpcyBmYXIgZnJvbSB0aGUgYWN0dWFsIHZhbHVlLiBGb3IgbG93bHkgY29tcGxleCBmdW5jdGlvbnMsIGxpa2UgdGhlIFJvc2VuYnJvY2sgZnVuY3Rpb24sIGhhdmluZyBhIGxhcmdlICTOtCQgZG9lcyBub3QgaGF2ZSBhbiBleHRyZW1lIGVmZmVjdCBvbiB0aGUgYXBwcm94aW1hdGlvbi4gV2hlbiB3ZSdyZSBmcm9tIHRoZSBhY3R1YWwgbWluaW11bSwgaGF2aW5nIGEgbG93bHkgY29tcGxleCBmdW5jdGlvbiBtaWdodCBldmVuIGJlIGluIEdOQSdzIGZhdm9yIGFzIGl0IHdpbGwgdGFrZSBsYXJnZSBzdGVwcy4KClRoZSBSb3NlbmJyb2NrIGZ1bmN0aW9uIGlzIHRoZSBuaWdodG1hcmUgb2YgR3JhZGllbnQgZGVzY2VudC4gVGhlIG5hcnJvdyB2YWxsZXkgd2hlcmUgdGhlIG1pbmltdW0gcmVzaWRlcyBsZWFkcyB0byBpbmZpbml0ZSBjb252ZXJnaW5nLiBBcyBMTUEgaW50ZXJwb2xhdGVzIGJldHdlZW4gR3JhZGllbnQgZGVzY2VudCBhbmQgR05BLCBpdCBpcyBub3Qgc3VycHJpc2luZyB0aGF0IHRoZSBhbGdvcml0aG0gZG9lc24ndCBwZXJmb3JtIGFzIHdlbGwgYXMgR05BLiBXaGlsZSBMTUEgdGFrZXMgZ29vZCBxdWFsaXRpZXMgb2YgYm90aCBhbGdvcml0aG1zIGl0IGFsc28gdGFrZXMgc29tZSBiYWQgb25lcywgb24gdG9wIG9mIHRoYXQgR05BIGhhcyBpdHMgYmFkIHF1YWxpdGllcyBudWxsaWZpZWQgYmVjYXVzZSBvZiB0aGUgZnVuY3Rpb24gaXQgaXMgcGVyZm9ybWVkIG9uLgoKSW4gdGhhdCBsb2dpYywgd2UgY2FuIHByZWRpY3QgdGhhdCBMTUEgd2lsbCBuZWVkIG1vcmUgaXRlcmF0aW9ucyB3aXRoIGluY3JlYXNpbmcgaW5pdGlhbCB2YWx1ZSBmb3IgJM67JAoiIiIKCgojIOKVlOKVkOKVoSAwMzY3MDU1NS1iNTE3LTQyY2YtODE0NC0zYzAwN2E2NmFhNTUKbWQiIiIKV2UgY29uY2x1ZGUgdGhhdCBhIGdvb2QgdW5kZXJzdGFuZGluZyBvZiB0aGUgb2JqZWN0aXZlIGZ1bmN0aW9uIGlzIG5lZWRlZCB0byBjaG9vc2UgdGhlIGJlc3QtcGVyZm9ybWluZyBhbGdvcml0aG0uCkluIGVpdGhlciBjYXNlLCBMTUEgcHJvdmlkZXMgdGhlIGJlc3Qgb2YgYm90aCB3b3JsZHMgYW5kIHdpdGggcHJvcGVyIGNob2ljZSBvZiBwYXJhbWV0ZXJzIHdpbGwgYWx3YXlzIGJlIGF0IGxlYXN0IGFzIGdvb2QgYXMgR05BIG9yIEdyYWRpZW50IGRlc2NlbnQuCgkiIiIKCgojIOKVlOKVkOKVoSBlNjgxYjkwZS1lMjI5LTRiMzktYTkwMy1kMTMzNWY4ODRiNjYKbWQiIiIgIyMjIEFwcGVuZGl4CiIiIgoKIyDilZTilZDilaEgMmZjZTIzNzQtMjNmNi00YjllLTgxZjEtZWNiYzRlMmRlMDEyCiNjYWxjdWxhdGVzIHRoZSBzdW0gb2Ygc3F1YXJlcyBmb3IgYSBnaXZlbiB2ZWN0b3ItdmFsdWVkIGZ1bmN0aW9uIGFuZCBwb2ludCB4CmZ1bmN0aW9uIFMoRiwgeCkKCXJldHVybiB0cmFuc3Bvc2UoRih4WzFdLCB4WzJdKSkgKiBGKHhbMV0sIHhbMl0pCmVuZAoKIyDilZTilZDilaEgYjk0MWZhOTUtZGUzMy00YjMzLWEzZjktYzNjOWU5NjNiNWM4CiNjYWxjdWxhdGUgdGhlIGphY29iaWFuIG9mIGEgZ2l2ZW4gZnVuY3Rpb24gYXQgYSBnaXZlbiBwb2ludApmdW5jdGlvbiBKYWMoRiwgeCkKCXJldHVybiBGb3J3YXJkRGlmZi5qYWNvYmlhbih4LT5GKHhbMV0sIHhbMl0pLCB4KQplbmQKCiMg4pWU4pWQ4pWhIDcwMDU3MTc4LWM1NGItNDJlNi1iY2JhLWYzNWVlY2I0NDJjZApmdW5jdGlvbiBHTkEoRiwgeOKCgDsga19tYXggPSAxMDAsIFNfbWluID0gMC4xKQoJayA9IDAKCXjigpYgPSB44oKACglT4oKWID0gUyhGLCB44oKAKSAjY2FsY3VsYXRlIHN1bSBvZiBzcXVhcmVzCglzdG9wY3JpdCA9IHRydWUKCXdoaWxlIGsgPCBrX21heCAmJiBzdG9wY3JpdAoJCUogPSBKYWMoRiwgeOKClikgI2NhbGN1bGF0ZSBKYWNvYmlhbgoJCc60ID0gLWludih0cmFuc3Bvc2UoSikgKiBKKSAqIHRyYW5zcG9zZShKKSAqIEYoeOKCllsxXSwgeOKCllsyXSkgI0NhbGN1bGF0ZSDOtCBmb3IgCQl3aGljaCBmKHggKyDOtCkgaXMgYSBsb2NhbCBtaW5pbXVtCgkJeOKClyA9IHjigpYgLisgzrQgI2ltcHJvdmVkIHgKCQlT4oKXID0gUyhGLCB44oKXKQkjaW1wcm92ZWQgc3VtIG9mIHNxdWFyZXMgCgkJaWYgU+KClyA8IFPigpYgJiYgU+KClyA8IFNfbWluICNzdG9wcGluZyBjcml0ZXJpYQoJCQlzdG9wY3JpdCA9IGZhbHNlCgkJZW5kCgkJeOKCliA9IHjigpcKCQlT4oKWID0gU+KClyAKCQlrID0gayArIDEKCWVuZAoJcmV0dXJuIHjigpYsIGsKZW5kCgojIOKVlOKVkOKVoSA4NTI4MGFlYi1iNzgwLTQyYzktOTMwNC1hZDc3Y2ExZGU5NDQKR05BKEYsIFszLCAzXSkKCiMg4pWU4pWQ4pWhIDk5ZmRjNDFiLTEwMzMtNGMxYy04OWQ3LWRkZTZhZGZiYjk4NgpHTkEoRiwgWy01MDAsIDYwMF0pCgojIOKVlOKVkOKVoSA2ZTIxMzMwMS00ODUyLTRkNDQtOTA0ZS1hNjlhZDZjMThmM2QKZnVuY3Rpb24gTE1BKEYsIHjigoA7IM67PTEsIHY9Miwga19tYXg9MTAwLCBTX21pbiA9IDAuMSkKCWsgPSAwCgl44oKWID0geOKCgAoJU+KCliA9IFMoRiwgeOKCgCkgI2NhbGN1bGF0aW5nIHN1bSBvZiBzcXVhcmVzCglJX20gPSBNYXRyaXgoSSwgbGVuZ3RoKHjigoApLCBsZW5ndGgoeOKCgCkpCglzdG9wY3JpdCA9IHRydWUKCXdoaWxlIGsgPCBrX21heCAmJiBzdG9wY3JpdAoJCUogPSBKYWMoRiwgeOKClikgI0NhbGN1bGF0ZSBKYWNvYmlhbgoJCc60ID0gLWludih0cmFuc3Bvc2UoSikgKiBKIC4rICjOuyAqIElfbSkpICogdHJhbnNwb3NlKEopICogRih44oKWWzFdLCB44oKWWzJdKSAjQ2FsY3VsYXRlIM60IGZvciB3aGljaCBmKHggKyDOtCkgaXMgYSBsb2NhbCBtaW5pbXVtCgkJeOKClyA9IHjigpYgLisgzrQgI2ltcHJvdmVkIHgKCQlT4oKXID0gUyhGLCB44oKXKSAjaW1wcm92ZWQgc3VtIG9mIHNxdWFyZXMgCgkJaWYgU+KClyA8IFPigpYKCQkJzrsgPSDOuyAvIHYKCQkJaWYgU+KClyA8IFNfbWluCgkJCQlzdG9wY3JpdCA9IGZhbHNlCgkJCWVuZAoJCWVsc2UKCQkJzrsgPSB2ICogzrsKCQllbmQKCQl44oKWID0geOKClwoJCVPigpYgPSBT4oKXCgkJayA9IGsgKyAxCgllbmQKCXJldHVybiB44oKWLCBrCmVuZAoKIyDilZTilZDilaEgMjgwOGUyZGEtMGNjOC00ZTU1LWJiYmQtYjZhZTg3ZjhmYjI3CkxNQShGLCBbMywgM10pCgojIOKVlOKVkOKVoSBlMDdiZmFlNS1mZWYyLTQ4M2MtOGI1Ny0xZDgzNGMyMzU0OTUKTE1BKEYsIFstNTAwLCA2MDBdKQoKIyDilZTilZDilaEgZmY2NmM2NTAtMTA5Ny00ZDE0LWFlZDAtMTE3OTA1NzZlNzVmCkxNQShGLCBbLTUwMCwgNjAwXSwgzrs9MCkgI2VxdWl2YWxlbnQgdG8gR05BCgojIOKVlOKVkOKVoSBjMzE0OTc2My1jNWI4LTQxZDctYWRmOS0xZjE0ZGE3NmIyZjIKTE1BKEYsIFstNTAwLCA2MDBdLCDOuz0xZS0yKQoKIyDilZTilZDilaEgNmMzMzdhNTYtNjI1YS00YzM1LWE3ZDYtY2M3MWQzNmM5NzQyCkxNQShGLCBbLTUwMCwgNjAwXSwgzrs9MTApCgojIOKVlOKVkOKVoSAyMDA2M2NiYy03OTcwLTQwYTktODIyYy1lYzY3NDY0N2Y4YTcKTE1BKEYsIFstNTAwLCA2MDBdLCDOuz0xMDApCgojIOKVlOKVkOKVoSAwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDEKUExVVE9fUFJPSkVDVF9UT01MX0NPTlRFTlRTID0gIiIiCltkZXBzXQpGb3J3YXJkRGlmZiA9ICJmNjM2OWYxMS03NzMzLTU4MjktOTYyNC0yNTYzYWE3MDcyMTAiCkxpbmVhckFsZ2VicmEgPSAiMzdlMmU0NmQtZjg5ZC01MzlkLWI0ZWUtODM4ZmNjY2M5YzhlIgoKW2NvbXBhdF0KRm9yd2FyZERpZmYgPSAifjAuMTAuMjQiCiIiIgoKIyDilZTilZDilaEgMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAyClBMVVRPX01BTklGRVNUX1RPTUxfQ09OVEVOVFMgPSAiIiIKIyBUaGlzIGZpbGUgaXMgbWFjaGluZS1nZW5lcmF0ZWQgLSBlZGl0aW5nIGl0IGRpcmVjdGx5IGlzIG5vdCBhZHZpc2VkCgpbW0FyZ1Rvb2xzXV0KdXVpZCA9ICIwZGFkODRjNS1kMTEyLTQyZTYtOGQyOC1lZjEyZGFiYjc4OWYiCgpbW0FydGlmYWN0c11dCnV1aWQgPSAiNTZmMjJkNzItZmQ2ZC05OGYxLTAyZjAtMDhkZGMwOTA3YzMzIgoKW1tCYXNlNjRdXQp1dWlkID0gIjJhMGY0NGUzLTZjODMtNTViZC04N2U0LWIxOTc4ZDk4YmQ1ZiIKCltbQ2hhaW5SdWxlc0NvcmVdXQpkZXBzID0gWyJDb21wYXQiLCAiTGluZWFyQWxnZWJyYSIsICJTcGFyc2VBcnJheXMiXQpnaXQtdHJlZS1zaGExID0gImQ3MTE2MDM0NTIyMzFiYWQ0MThiZDVlMGM5MWYxYWJkNjUwY2JhNzEiCnV1aWQgPSAiZDM2MGQyZTYtYjI0Yy0xMWU5LWEyYTMtMmEyYWUyZGJjY2U0Igp2ZXJzaW9uID0gIjEuMTEuMyIKCltbQ2hhbmdlc09mVmFyaWFibGVzXV0KZGVwcyA9IFsiQ2hhaW5SdWxlc0NvcmUiLCAiTGluZWFyQWxnZWJyYSIsICJUZXN0Il0KZ2l0LXRyZWUtc2hhMSA9ICJiZjk4ZmE0NWEwYTRjZWUyOTVkZTk4ZDRjMTQ2MmJlMjYzNDViOWExIgp1dWlkID0gIjllOTk3ZjhhLTlhOTctNDJkNS1hOWYxLWNlNmJmYzE1ZTJjMCIKdmVyc2lvbiA9ICIwLjEuMiIKCltbQ29tbW9uU3ViZXhwcmVzc2lvbnNdXQpkZXBzID0gWyJNYWNyb1Rvb2xzIiwgIlRlc3QiXQpnaXQtdHJlZS1zaGExID0gIjdiOGE5M2RiYThhZjdlM2I0MmZlY2FiZjY0NjI2MDEwNWFjMzczZjciCnV1aWQgPSAiYmJmN2Q2NTYtYTQ3My01ZWQ3LWE1MmMtODFlMzA5NTMyOTUwIgp2ZXJzaW9uID0gIjAuMy4wIgoKW1tDb21wYXRdXQpkZXBzID0gWyJCYXNlNjQiLCAiRGF0ZXMiLCAiRGVsaW1pdGVkRmlsZXMiLCAiRGlzdHJpYnV0ZWQiLCAiSW50ZXJhY3RpdmVVdGlscyIsICJMaWJHaXQyIiwgIkxpYmRsIiwgIkxpbmVhckFsZ2VicmEiLCAiTWFya2Rvd24iLCAiTW1hcCIsICJQa2ciLCAiUHJpbnRmIiwgIlJFUEwiLCAiUmFuZG9tIiwgIlNIQSIsICJTZXJpYWxpemF0aW9uIiwgIlNoYXJlZEFycmF5cyIsICJTb2NrZXRzIiwgIlNwYXJzZUFycmF5cyIsICJTdGF0aXN0aWNzIiwgIlRlc3QiLCAiVVVJRHMiLCAiVW5pY29kZSJdCmdpdC10cmVlLXNoYTEgPSAiNDRjMzdiNDYzNmJjNTRhZmFjNWM1NzRkMmQwMmI2MjUzNDlkNjU4MiIKdXVpZCA9ICIzNGRhMjE4NS1iMjliLTVjMTMtYjBjNy1hY2YxNzI1MTNkMjAiCnZlcnNpb24gPSAiMy40MS4wIgoKW1tDb21waWxlclN1cHBvcnRMaWJyYXJpZXNfamxsXV0KZGVwcyA9IFsiQXJ0aWZhY3RzIiwgIkxpYmRsIl0KdXVpZCA9ICJlNjZlMDA3OC03MDE1LTU0NTAtOTJmNy0xNWZiZDk1N2YyYWUiCgpbW0RhdGVzXV0KZGVwcyA9IFsiUHJpbnRmIl0KdXVpZCA9ICJhZGUyY2E3MC0zODkxLTU5NDUtOThmYi1kYzA5OTQzMmUwNmEiCgpbW0RlbGltaXRlZEZpbGVzXV0KZGVwcyA9IFsiTW1hcCJdCnV1aWQgPSAiOGJiMTQ0MGYtNDczNS01NzliLWE0YWItNDA5Yjk4ZGY0ZGFiIgoKW1tEaWZmUmVzdWx0c11dCmRlcHMgPSBbIlN0YXRpY0FycmF5cyJdCmdpdC10cmVlLXNoYTEgPSAiYzE4ZTk4Y2JhODg4YzZjMjVkMWMzYjA0OGU0YjMzODBjYTk1NjgwNSIKdXVpZCA9ICIxNjNiYTUzYi1jNmQ4LTU0OTQtYjA2NC0xYTlkNDNhYzQwYzUiCnZlcnNpb24gPSAiMS4wLjMiCgpbW0RpZmZSdWxlc11dCmRlcHMgPSBbIkxvZ0V4cEZ1bmN0aW9ucyIsICJOYU5NYXRoIiwgIlJhbmRvbSIsICJTcGVjaWFsRnVuY3Rpb25zIl0KZ2l0LXRyZWUtc2hhMSA9ICI5YmM1ZGFjM2M4YjY3MDZiNThhZDVjZTI0Y2ZmZDk4NjFmMDdjOTRmIgp1dWlkID0gImI1NTJjNzhmLThkZjMtNTJjNi05MTVhLThlMDk3NDQ5YjE0YiIKdmVyc2lvbiA9ICIxLjkuMCIKCltbRGlzdHJpYnV0ZWRdXQpkZXBzID0gWyJSYW5kb20iLCAiU2VyaWFsaXphdGlvbiIsICJTb2NrZXRzIl0KdXVpZCA9ICI4YmE4OWUyMC0yODVjLTViNmYtOTM1Ny05NDcwMDUyMGVlMWIiCgpbW0RvY1N0cmluZ0V4dGVuc2lvbnNdXQpkZXBzID0gWyJMaWJHaXQyIl0KZ2l0LXRyZWUtc2hhMSA9ICJiMTk1MzRkMTg5NWQ3MDI4ODliMjE5YzM4MmE2ZTE4MDEwNzk3ZjBiIgp1dWlkID0gImZmYmVkMTU0LTRlZjctNTQyZC1iYmI3LWMwOWQzYTc5ZmNhZSIKdmVyc2lvbiA9ICIwLjguNiIKCltbRG93bmxvYWRzXV0KZGVwcyA9IFsiQXJnVG9vbHMiLCAiTGliQ1VSTCIsICJOZXR3b3JrT3B0aW9ucyJdCnV1aWQgPSAiZjQzYTI0MWYtYzIwYS00YWQ0LTg1MmMtZjZiMTI0Nzg2MWM2IgoKW1tGb3J3YXJkRGlmZl1dCmRlcHMgPSBbIkNvbW1vblN1YmV4cHJlc3Npb25zIiwgIkRpZmZSZXN1bHRzIiwgIkRpZmZSdWxlcyIsICJMaW5lYXJBbGdlYnJhIiwgIkxvZ0V4cEZ1bmN0aW9ucyIsICJOYU5NYXRoIiwgIlByZWZlcmVuY2VzIiwgIlByaW50ZiIsICJSYW5kb20iLCAiU3BlY2lhbEZ1bmN0aW9ucyIsICJTdGF0aWNBcnJheXMiXQpnaXQtdHJlZS1zaGExID0gIjJiNzJhNTYyNGUyODllZTE4MjU2MTExNjU3NjYzNzIxZDU5YzE0M2UiCnV1aWQgPSAiZjYzNjlmMTEtNzczMy01ODI5LTk2MjQtMjU2M2FhNzA3MjEwIgp2ZXJzaW9uID0gIjAuMTAuMjQiCgpbW0ludGVyYWN0aXZlVXRpbHNdXQpkZXBzID0gWyJNYXJrZG93biJdCnV1aWQgPSAiYjc3ZTBhNGMtZDI5MS01N2EwLTkwZTgtOGRiMjVhMjdhMjQwIgoKW1tJbnZlcnNlRnVuY3Rpb25zXV0KZGVwcyA9IFsiVGVzdCJdCmdpdC10cmVlLXNoYTEgPSAiYTcyNTRjMGFjZDhlNjJmMWFjNzVhZDI0ZDVkYjQzZjVmMTlmM2M2NSIKdXVpZCA9ICIzNTg3ZTE5MC0zZjg5LTQyZDAtOTBlZS0xNDQwM2VjMjcxMTIiCnZlcnNpb24gPSAiMC4xLjIiCgpbW0lycmF0aW9uYWxDb25zdGFudHNdXQpnaXQtdHJlZS1zaGExID0gIjdmZDQ0ZmQ0ZmY0M2ZjNjA4MTVmOGU3NjRjMGYzNTJiODNjNDkxNTEiCnV1aWQgPSAiOTJkNzA5Y2QtNjkwMC00MGI3LTkwODItYzZiZTQ5ZjM0NGI2Igp2ZXJzaW9uID0gIjAuMS4xIgoKW1tKTExXcmFwcGVyc11dCmRlcHMgPSBbIlByZWZlcmVuY2VzIl0KZ2l0LXRyZWUtc2hhMSA9ICI2NDJhMTk5YWY4YjY4MjUzNTE3YjgwYmQzYmZkMTdlYjRlODRkZjZlIgp1dWlkID0gIjY5MmIzYmNkLTNjODUtNGIxZi1iMTA4LWYxM2NlMGViMzIxMCIKdmVyc2lvbiA9ICIxLjMuMCIKCltbTGliQ1VSTF1dCmRlcHMgPSBbIkxpYkNVUkxfamxsIiwgIk1vemlsbGFDQUNlcnRzX2psbCJdCnV1aWQgPSAiYjI3MDMyYzItYTNlNy01MGM4LTgwY2QtMmQzNmRiY2JmZDIxIgoKW1tMaWJDVVJMX2psbF1dCmRlcHMgPSBbIkFydGlmYWN0cyIsICJMaWJTU0gyX2psbCIsICJMaWJkbCIsICJNYmVkVExTX2psbCIsICJabGliX2psbCIsICJuZ2h0dHAyX2psbCJdCnV1aWQgPSAiZGVhYzliNDctOGJjNy01OTA2LWEwZmUtMzVhYzU2ZGM4NGMwIgoKW1tMaWJHaXQyXV0KZGVwcyA9IFsiQmFzZTY0IiwgIk5ldHdvcmtPcHRpb25zIiwgIlByaW50ZiIsICJTSEEiXQp1dWlkID0gIjc2Zjg1NDUwLTUyMjYtNWI1YS04ZWFhLTUyOWFkMDQ1YjQzMyIKCltbTGliU1NIMl9qbGxdXQpkZXBzID0gWyJBcnRpZmFjdHMiLCAiTGliZGwiLCAiTWJlZFRMU19qbGwiXQp1dWlkID0gIjI5ODE2YjVhLWI5YWItNTQ2Zi05MzNjLWVkYWQxODg2ZGZhOCIKCltbTGliZGxdXQp1dWlkID0gIjhmMzk5ZGEzLTM1NTctNTY3NS1iNWZmLWZiODMyYzk3Y2JkYiIKCltbTGluZWFyQWxnZWJyYV1dCmRlcHMgPSBbIkxpYmRsIl0KdXVpZCA9ICIzN2UyZTQ2ZC1mODlkLTUzOWQtYjRlZS04MzhmY2NjYzljOGUiCgpbW0xvZ0V4cEZ1bmN0aW9uc11dCmRlcHMgPSBbIkNoYWluUnVsZXNDb3JlIiwgIkNoYW5nZXNPZlZhcmlhYmxlcyIsICJEb2NTdHJpbmdFeHRlbnNpb25zIiwgIkludmVyc2VGdW5jdGlvbnMiLCAiSXJyYXRpb25hbENvbnN0YW50cyIsICJMaW5lYXJBbGdlYnJhIl0KZ2l0LXRyZWUtc2hhMSA9ICJlNTcxOGEwMGFmMGFiOTc1NjMwNWEwMzkyODMyYzg5NTJjNzQyNmMxIgp1dWlkID0gIjJhYjNhM2FjLWFmNDEtNWI1MC1hYTAzLTc3NzkwMDVhZTY4OCIKdmVyc2lvbiA9ICIwLjMuNiIKCltbTG9nZ2luZ11dCnV1aWQgPSAiNTZkZGIwMTYtODU3Yi01NGUxLWI4M2QtZGI0ZDU4ZGI1NTY4IgoKW1tNYWNyb1Rvb2xzXV0KZGVwcyA9IFsiTWFya2Rvd24iLCAiUmFuZG9tIl0KZ2l0LXRyZWUtc2hhMSA9ICIzZDNlOTAyYjMxMTk4YTI3MzQwZDBiZjAwZDZhYzQ1Mjg2NjAyMWNmIgp1dWlkID0gIjE5MTRkZDJmLTgxYzYtNWZjZC04NzE5LTZkNWM5NjEwZmYwOSIKdmVyc2lvbiA9ICIwLjUuOSIKCltbTWFya2Rvd25dXQpkZXBzID0gWyJCYXNlNjQiXQp1dWlkID0gImQ2ZjQzNzZlLWFlZjUtNTA1YS05NmMxLTljMDI3Mzk0NjA3YSIKCltbTWJlZFRMU19qbGxdXQpkZXBzID0gWyJBcnRpZmFjdHMiLCAiTGliZGwiXQp1dWlkID0gImM4ZmZkOWMzLTMzMGQtNTg0MS1iNzhlLTA4MTdkNzE0NWZhMSIKCltbTW1hcF1dCnV1aWQgPSAiYTYzYWQxMTQtN2UxMy01MDg0LTk1NGYtZmUwMTJjNjc3ODA0IgoKW1tNb3ppbGxhQ0FDZXJ0c19qbGxdXQp1dWlkID0gIjE0YTM2MDZkLWY2MGQtNTYyZS05MTIxLTEyZDk3MmNkODE1OSIKCltbTmFOTWF0aF1dCmdpdC10cmVlLXNoYTEgPSAiZjc1NWYzNmIxOWE1MTE2YmI1ODBkZTQ1N2NkYTBjMTQwMTUzZjI4MyIKdXVpZCA9ICI3N2JhNDQxOS0yZDFmLTU4Y2QtOWJiMS04ZmZlZTYwNGEyZTMiCnZlcnNpb24gPSAiMC4zLjYiCgpbW05ldHdvcmtPcHRpb25zXV0KdXVpZCA9ICJjYTU3NTkzMC1jMmUzLTQzYTktYWNlNC0xZTk4OGIyYzE5MDgiCgpbW09wZW5MaWJtX2psbF1dCmRlcHMgPSBbIkFydGlmYWN0cyIsICJMaWJkbCJdCnV1aWQgPSAiMDU4MjM1MDAtMTlhYy01YjhiLTk2MjgtMTkxYTA0YmM1MTEyIgoKW1tPcGVuU3BlY0Z1bl9qbGxdXQpkZXBzID0gWyJBcnRpZmFjdHMiLCAiQ29tcGlsZXJTdXBwb3J0TGlicmFyaWVzX2psbCIsICJKTExXcmFwcGVycyIsICJMaWJkbCIsICJQa2ciXQpnaXQtdHJlZS1zaGExID0gIjEzNjUyNDkxZjY4NTZhY2ZkMmRiMjkzNjBlMWJiY2Q0NTY1ZDA0ZjEiCnV1aWQgPSAiZWZlMjhmZDUtODI2MS01NTNiLWE5ZTEtYjI5MTZmYzM3MzhlIgp2ZXJzaW9uID0gIjAuNS41KzAiCgpbW1BrZ11dCmRlcHMgPSBbIkFydGlmYWN0cyIsICJEYXRlcyIsICJEb3dubG9hZHMiLCAiTGliR2l0MiIsICJMaWJkbCIsICJMb2dnaW5nIiwgIk1hcmtkb3duIiwgIlByaW50ZiIsICJSRVBMIiwgIlJhbmRvbSIsICJTSEEiLCAiU2VyaWFsaXphdGlvbiIsICJUT01MIiwgIlRhciIsICJVVUlEcyIsICJwN3ppcF9qbGwiXQp1dWlkID0gIjQ0Y2ZlOTVhLTFlYjItNTJlYS1iNjcyLWUyYWZkZjY5Yjc4ZiIKCltbUHJlZmVyZW5jZXNdXQpkZXBzID0gWyJUT01MIl0KZ2l0LXRyZWUtc2hhMSA9ICIyY2Y5MjlkNjQ2ODEyMzZhMmUwNzRmZmFmYjhkNTY4NzMzZDJlNmFmIgp1dWlkID0gIjIxMjE2YzZhLTJlNzMtNjU2My02ZTY1LTcyNjU2NjY1NzI1MCIKdmVyc2lvbiA9ICIxLjIuMyIKCltbUHJpbnRmXV0KZGVwcyA9IFsiVW5pY29kZSJdCnV1aWQgPSAiZGUwODU4ZGEtNjMwMy01ZTY3LTg3NDQtNTFlZGRlZWViOGQ3IgoKW1tSRVBMXV0KZGVwcyA9IFsiSW50ZXJhY3RpdmVVdGlscyIsICJNYXJrZG93biIsICJTb2NrZXRzIiwgIlVuaWNvZGUiXQp1dWlkID0gIjNmYTBjZDk2LWVlZjEtNTY3Ni04YTYxLWIzYjg3NThiYmZmYiIKCltbUmFuZG9tXV0KZGVwcyA9IFsiU2VyaWFsaXphdGlvbiJdCnV1aWQgPSAiOWEzZjgyODQtYTJjOS01ZjAyLTlhMTEtODQ1OTgwYTFmZDVjIgoKW1tTSEFdXQp1dWlkID0gImVhOGU5MTljLTI0M2MtNTFhZi04ODI1LWFhYTYzY2Q3MjFjZSIKCltbU2VyaWFsaXphdGlvbl1dCnV1aWQgPSAiOWU4OGI0MmEtZjgyOS01YjBjLWJiZTktOWU5MjMxOTgxNjZiIgoKW1tTaGFyZWRBcnJheXNdXQpkZXBzID0gWyJEaXN0cmlidXRlZCIsICJNbWFwIiwgIlJhbmRvbSIsICJTZXJpYWxpemF0aW9uIl0KdXVpZCA9ICIxYTEwMTFhMy04NGRlLTU1OWUtOGU4OS1hMTFhMmY3ZGMzODMiCgpbW1NvY2tldHNdXQp1dWlkID0gIjY0NjJmZTBiLTI0ZGUtNTYzMS04Njk3LWRkOTQxZjkwZGVjYyIKCltbU3BhcnNlQXJyYXlzXV0KZGVwcyA9IFsiTGluZWFyQWxnZWJyYSIsICJSYW5kb20iXQp1dWlkID0gIjJmMDExODRlLWUyMmItNWRmNS1hZTYzLWQ5M2ViYWI2OWVhZiIKCltbU3BlY2lhbEZ1bmN0aW9uc11dCmRlcHMgPSBbIkNoYWluUnVsZXNDb3JlIiwgIklycmF0aW9uYWxDb25zdGFudHMiLCAiTG9nRXhwRnVuY3Rpb25zIiwgIk9wZW5MaWJtX2psbCIsICJPcGVuU3BlY0Z1bl9qbGwiXQpnaXQtdHJlZS1zaGExID0gImUwODg5MGQxOTc4N2VjMjUwMjkxMTNlODhjMzRlYzIwY2FjMWM5MWUiCnV1aWQgPSAiMjc2ZGFmNjYtMzg2OC01NDQ4LTlhYTQtY2QxNDZkOTM4NDFiIgp2ZXJzaW9uID0gIjIuMC4wIgoKW1tTdGF0aWNBcnJheXNdXQpkZXBzID0gWyJMaW5lYXJBbGdlYnJhIiwgIlJhbmRvbSIsICJTdGF0aXN0aWNzIl0KZ2l0LXRyZWUtc2hhMSA9ICIzYzc2ZGRlNjRkMDM2OTllMDc0YWMwMmViMmU4YmE4MjU0ZDQyOGRhIgp1dWlkID0gIjkwMTM3ZmZhLTczODUtNTY0MC04MWI5LWU1MjAzNzIxODE4MiIKdmVyc2lvbiA9ICIxLjIuMTMiCgpbW1N0YXRpc3RpY3NdXQpkZXBzID0gWyJMaW5lYXJBbGdlYnJhIiwgIlNwYXJzZUFycmF5cyJdCnV1aWQgPSAiMTA3NDViMTYtNzljZS0xMWU4LTExZjktN2QxM2FkMzJhM2IyIgoKW1tUT01MXV0KZGVwcyA9IFsiRGF0ZXMiXQp1dWlkID0gImZhMjY3ZjFmLTYwNDktNGYxNC1hYTU0LTMzYmFmYWUxZWQ3NiIKCltbVGFyXV0KZGVwcyA9IFsiQXJnVG9vbHMiLCAiU0hBIl0KdXVpZCA9ICJhNGU1NjlhNi1lODA0LTRmYTQtYjBmMy1lZWY3YTFkNWIxM2UiCgpbW1Rlc3RdXQpkZXBzID0gWyJJbnRlcmFjdGl2ZVV0aWxzIiwgIkxvZ2dpbmciLCAiUmFuZG9tIiwgIlNlcmlhbGl6YXRpb24iXQp1dWlkID0gIjhkZmVkNjE0LWUyMmMtNWUwOC04NWUxLTY1YzUyMzRmMGI0MCIKCltbVVVJRHNdXQpkZXBzID0gWyJSYW5kb20iLCAiU0hBIl0KdXVpZCA9ICJjZjcxMThhNy02OTc2LTViMWEtOWEzOS03YWRjNzJmNTkxYTQiCgpbW1VuaWNvZGVdXQp1dWlkID0gIjRlYzBhODNlLTQ5M2UtNTBlMi1iOWFjLThmNzJhY2Y1YThmNSIKCltbWmxpYl9qbGxdXQpkZXBzID0gWyJMaWJkbCJdCnV1aWQgPSAiODM3NzVhNTgtMWYxZC01MTNmLWIxOTctZDcxMzU0YWIwMDdhIgoKW1tuZ2h0dHAyX2psbF1dCmRlcHMgPSBbIkFydGlmYWN0cyIsICJMaWJkbCJdCnV1aWQgPSAiOGU4NTBlZGUtNzY4OC01MzM5LWEwN2MtMzAyYWNkMmFhZjhkIgoKW1twN3ppcF9qbGxdXQpkZXBzID0gWyJBcnRpZmFjdHMiLCAiTGliZGwiXQp1dWlkID0gIjNmMTllOTMzLTMzZDgtNTNiMy1hYWFiLWJkNTExMGMzYjdhMCIKIiIiCgojIOKVlOKVkOKVoSBDZWxsIG9yZGVyOgojIOKVn+KUgDViNDIxOTgwLTdmYTYtMTFlYy0yMjA1LWFkZWFkMTU4OGRjYQojIOKVn+KUgGNhNGQ0YmI4LTJmNmQtNGE2OS1hNmIxLTZjYzBmYzhiNWI5OQojIOKVn+KUgGIzODY2MGVkLTliMTctNDdkMy04NjBjLWQ2NWQ2M2Y4NjJiMgojIOKVn+KUgGU0ZTRlNDVkLWNiNGEtNDQxMy04NTg3LTlhYWI4OTc0ODEzYgojIOKVn+KUgGM2MjRhM2Y4LTliNDYtNDQ3NS04MTY5LTYwYWM0NDNlMmFmMgojIOKVn+KUgGYwZWE5ODRmLTNjMDItNDBhYy1hY2ZiLWNhNjJkYmRmY2QxZAojIOKVn+KUgGFmYjQzMWExLWEyZTAtNDQxMS04MDkyLTVlYmYwZDc4ZmRmZAojIOKVn+KUgGVkOTg0MGM4LTcwMGQtNGI2MC1hNTg0LWM5MjNiNzY2ZmQ0OAojIOKVn+KUgDYxZGE4MGRjLTdkNDktNGVjNS1hMGYyLTc4ZGVlNDg4NTNjZQojIOKVn+KUgGFmOGYyMjY2LTRmMzctNDZiYS05Y2I1LTgwNzhjNDcyOTIzYwojIOKVn+KUgDNlMDE3ZGYwLWEzNWMtNDVjZC05ZjVlLWY1MTNlYTc0NWFkOQojIOKVn+KUgDg4YTc0OWRhLTM4ZTMtNDBhMC1iYmQ5LWFlOWI2ODgyNDM4MQojIOKVn+KUgGU3YjdmNWFhLTJjYjAtNDczNy1hMjlkLTVlNGJmMWZkNzY3NgojIOKVn+KUgGI5ZmExYzNiLTE2ZDctNDU1MS04NTA4LTRlZTg4ODM3MTQ3NgojIOKVn+KUgDlkZDdkNWQxLWU2MjQtNDAwZC1iODJkLWNkZDdmYTU3NjUyNAojIOKVn+KUgDAxZWM2Y2E5LWZiMzYtNDQ1ZS05NjIzLTdiMmVjMjQ3NjU4ZQojIOKVn+KUgGRkZTVkYWRmLTlmZTItNDk1NS04MTQzLTk3MDM2NWEyN2Q0MAojIOKVn+KUgDdiNWNiMmQxLTNjNTMtNDAyNi04MThiLTg2ZGFkMzg0YjVlYwojIOKVn+KUgDQ4NTZhN2NhLTcyZTMtNDhjMy1iNGU0LWEzMTQ3ZjNjYWMxMQojIOKVn+KUgGU1YmNkMTE3LWRlODgtNDUyYi05OTg0LTY0NDgzYzUxYzU1NwojIOKVn+KUgGE0YTAxNDE2LTE5MGMtNDU2MC04ZGFjLTc5ZDc4OWJhZDdjZgojIOKVn+KUgGNhODAzMDI3LTQwNjMtNGEzNC04NmRhLWM0MWI2NjdhZWUwNgojIOKVn+KUgGU4YzdmODRmLWM4NTYtNDFmYS1iMTI5LTVkZmVmNzRiNmZmMAojIOKVn+KUgGI0NmFiZDMzLWVmZTgtNGQ1Ny1iMjc2LWM0YjZhNWI0ZGQzMgojIOKVn+KUgDIwMjZkMGMwLTdjNmItNDhmNi1hMTEzLTdjNjMxMzhlNmJjNgojIOKVn+KUgDNjYWQwZDIxLTY4ZjAtNDY3My05NWU3LTFhZDEyYjJjZTY3OAojIOKVn+KUgDU2MzI0MGVkLTRhMGEtNDdjZC1hNTY0LWE2ZDZkMTlmNThlZgojIOKVn+KUgDk2Njg0ZThhLWRkNGYtNDQ5Ny04YzA2LTNiZDEyYmFlMzU3YwojIOKVn+KUgDI4ZDkwODA4LTcyZmQtNDc5NS05ZjA3LWQxMmI2YTE2NTg4MAojIOKVoOKVkGQ5MTdmNjNhLTA1ODAtNDIwOS05ZTc5LWExMDQ1Yzk1MWM0NgojIOKVoOKVkDcwMDU3MTc4LWM1NGItNDJlNi1iY2JhLWYzNWVlY2I0NDJjZAojIOKVoOKVkGY3NmE1YjNmLWQzNTItNGYzZC1iZDRkLWE3ZDY4ZmFkYzhiNQojIOKVoOKVkDZlMjEzMzAxLTQ4NTItNGQ0NC05MDRlLWE2OWFkNmMxOGYzZAojIOKVn+KUgGUzMTFmNThkLTI4YTEtNGIwYi04MWQ4LTI1MTQ5ZGZkOTM5MgojIOKVoOKVkDk1YjIwNDUwLTJmOWEtNDUwNi05MzZmLTVhOTAzOWM2N2RmZQojIOKVoOKVkGJhN2Q2MGQ5LWIwMzgtNDU1MC1hYTAwLTkzZWFlMTQ4ZGFlMAojIOKVoOKVkDQ3MmUwZDkwLTMxNDUtNDdjMi05ZjQ3LTZmYjA2M2RlYzU3OAojIOKVoOKVkDg1MjgwYWViLWI3ODAtNDJjOS05MzA0LWFkNzdjYTFkZTk0NAojIOKVoOKVkDI4MDhlMmRhLTBjYzgtNGU1NS1iYmJkLWI2YWU4N2Y4ZmIyNwojIOKVoOKVkDNjNjU4ZWU5LWYyYzItNDExNy1iZjRkLThiYmE4ZWU2MjkwNgojIOKVoOKVkDk5ZmRjNDFiLTEwMzMtNGMxYy04OWQ3LWRkZTZhZGZiYjk4NgojIOKVoOKVkGUwN2JmYWU1LWZlZjItNDgzYy04YjU3LTFkODM0YzIzNTQ5NQojIOKVoOKVkGE1ZGQ5Y2RiLTg3ZTUtNGQ1ZS04MzI5LWU0NjgxZDhkYjUxOAojIOKVn+KUgDRiY2U2NTMxLTNlNzgtNDZiNy05MmJhLTFhMDQyMTUxZDRhMAojIOKVoOKVkGZmNjZjNjUwLTEwOTctNGQxNC1hZWQwLTExNzkwNTc2ZTc1ZgojIOKVoOKVkGMzMTQ5NzYzLWM1YjgtNDFkNy1hZGY5LTFmMTRkYTc2YjJmMgojIOKVoOKVkDZjMzM3YTU2LTYyNWEtNGMzNS1hN2Q2LWNjNzFkMzZjOTc0MgojIOKVoOKVkDIwMDYzY2JjLTc5NzAtNDBhOS04MjJjLWVjNjc0NjQ3ZjhhNwojIOKVn+KUgDAzNjcwNTU1LWI1MTctNDJjZi04MTQ0LTNjMDA3YTY2YWE1NQojIOKVn+KUgGU2ODFiOTBlLWUyMjktNGIzOS1hOTAzLWQxMzM1Zjg4NGI2NgojIOKVoOKVkGE0OGVlM2E1LWVlY2QtNGRmZi04YzIzLTk4ZDljNGEzN2YwYQojIOKVoOKVkDM3ZTk4MjlmLTU0MWItNDU1Zi1hZDMwLTZkMjQ5NDY5Mzc4NAojIOKVoOKVkDJmY2UyMzc0LTIzZjYtNGI5ZS04MWYxLWVjYmM0ZTJkZTAxMgojIOKVoOKVkGI5NDFmYTk1LWRlMzMtNGIzMy1hM2Y5LWMzYzllOTYzYjVjOAojIOKVn+KUgDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMQojIOKVn+KUgDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMgo=";
window.pluto_disable_ui = true;
window.pluto_slider_server_url = undefined;
window.pluto_binder_url = "https://mybinder.org/v2/gh/fonsp/pluto-on-binder/v0.17.1";
window.pluto_statefile = "data:;base64,jqVib25kc4CsY2VsbF9yZXN1bHRz3gA22SQyMDA2M2NiYy03OTcwLTQwYTktODIyYy1lYzY3NDY0N2Y4YTeIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9keYOoZWxlbWVudHOSkgGShaZwcmVmaXinRmxvYXQ2NKhlbGVtZW50c5KSAZKoMC44NTIwMzOqdGV4dC9wbGFpbpICkqgwLjcxNjA2OKp0ZXh0L3BsYWlupHR5cGWlQXJyYXmscHJlZml4X3Nob3J0oKhvYmplY3RpZLA1MmNmMGEwMzZjNjU1MWVi2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SSApKiMzSqdGV4dC9wbGFpbqR0eXBlpVR1cGxlqG9iamVjdGlksDQ0NDEzZjIxYjY5NTljZTOwcGVyc2lzdF9qc19zdGF0ZcKkbWltZdkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0smxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnP6qSlqxyb290YXNzaWduZWXAp2NlbGxfaWTZJDIwMDYzY2JjLTc5NzAtNDBhOS04MjJjLWVjNjc0NjQ3ZjhhN7lkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAFM0WnZXJyb3JlZMLZJGE0YTAxNDE2LTE5MGMtNDU2MC04ZGFjLTc5ZDc4OWJhZDdjZoimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52g0hPGRpdiBjbGFzcz0ibWFya2Rvd24iPjxwPkF0IGxvbmcgbGFzdCwgdGhpcyBpcyB3aGVyZSBMTUEgY29tZXMgaW50byBwbGF5LiAgSXRzIG1ldGhvZCBpcyBjb3B5LXBhc3RlIEdOQSwgd2l0aCB0aGUgYWRkaXRpb24gb2YgYSBkYW1waW5nIHBhcmFtZXRlciBpbiB0aGUgZXF1YXRpb24gZm9yIM60LiBOb3Qgc3VycHJpc2luZ2x5LCBMTUEgaXMgYWxzbyBjYWxsZWQgZGFtcGVkIGxlYXN0IHNxdWFyZXMuPC9wPgo8cD5HYXVzcy1OZXd0b248L3A+CjxwIGNsYXNzPSJ0ZXgiPiQkJiM5MTtK4bWASiYjOTM7zrQgJiM2MTsgSuG1gCYjOTE7WSAtIGYmIzQwO86yJiM0MTsmIzkzOyQkPC9wPgo8cD5MZXZlbmJlcmctTWFycXVhcmR0PC9wPgo8cCBjbGFzcz0idGV4Ij4kJCYjOTE7SuG1gEogJiM0MzsgzrtJJiM5MzvOtCAmIzYxOyBK4bWAJiM5MTtZIC0gZiYjNDA7zrImIzQxOyYjOTM7JCQ8L3A+CjxwPlRoZSBub24tbmVnYXRpdmUgZGFtcGluZyBmYWN0b3IgZGV0ZXJtaW5lcyB0aGUgZGlyZWN0aW9uIG9mIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOtCQ8L3NwYW4+LiA8L3A+CjxwPldoZW4gPHNwYW4gY2xhc3M9InRleCI+JM67JDwvc3Bhbj4gbmVhcnMgPHNwYW4gY2xhc3M9InRleCI+JDAkPC9zcGFuPiwgTE1BIGlzIGV4YWN0bHkgR05BLiBJbiB0aGlzIGNhc2UsIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOtCQ8L3NwYW4+IHBvaW50cyBpbiBhIGRpcmVjdGlvbiB3aGVyZSBTIGdldHMgc21hbGxlciwgYnV0IGl0IG1pZ2h0IG9ubHkgZ2V0IHNtYWxsZXIgZm9yIGEgdmVyeSBzaG9ydCBiaXQgYmVmb3JlIGl0IHN0YXJ0cyBpbmNyZWFzaW5nIGFnYWluLiA8L3A+CjxwPkl0JiMzOTtzIGhhcmQgdG8gZ2V0IGFuIGludHVpdGl2ZSB2aWV3IG9uIHRoaXMuIFNlZSBpdCBhcyBhIHJlc3VsdCBvZiBsaW5lYXJpemluZyA8c3BhbiBjbGFzcz0idGV4Ij4kZiYjNDA7eCwgzrImIzQxOyQ8L3NwYW4+IGFyb3VuZCA8c3BhbiBjbGFzcz0idGV4Ij4kzrLigoAkPC9zcGFuPiBhbmQgdXNpbmcgdGhpcyB0byBhcHByb3hpbWF0ZSA8c3BhbiBjbGFzcz0idGV4Ij4kZiYjNDA7eCwgzrLigoAgJiM0MzsgzrQmIzQxOyQ8L3NwYW4+LiBUaGUgaW5pdGlhbCBkaXJlY3Rpb24gb2YgPHNwYW4gY2xhc3M9InRleCI+JM60JDwvc3Bhbj4gbWlnaHQgYmUgY29ycmVjdCwgYmVjYXVzZSB0aGlzIGRpcmVjdGlvbiBpcyBleGFjdGx5IHRoZSBzYW1lIGZvciBzbWFsbCBhbmQgbGFyZ2UgPHNwYW4gY2xhc3M9InRleCI+JM60JDwvc3Bhbj4gJiM0MDt0aGUgZGlyZWN0aW9uIG9mIGEgbGluZWFyIGZ1bmN0aW9uIGRvZXMgbm90IGNoYW5nZSYjNDE7LCBidXQgaWYgdGhlIGdyYWRpZW50IG9mIDxzcGFuIGNsYXNzPSJ0ZXgiPiRmJiM0MDt4LCDOsiYjNDE7JDwvc3Bhbj4gY2hhbmdlcyBkcmFzdGljYWxseSBhcm91bmQgPHNwYW4gY2xhc3M9InRleCI+JM6y4oKAJDwvc3Bhbj4sIHZhbHVlcyBvZiB0aGUgYXBwcm94aW1hdGVkIDxzcGFuIGNsYXNzPSJ0ZXgiPiRmJiM0MDt4LCDOsuKCgCAmIzQzOyDOtCYjNDE7JDwvc3Bhbj4gZm9yIGxhcmdlIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOtCQ8L3NwYW4+IHdpbGwgYmUgZmFyIGZyb20gdGhlIGFjdHVhbCB2YWx1ZXMuIEV4dHJhcG9sYXRpbmcgdG8gdGhlIEdhdXNzLU5ld3RvbiBlcXVhdGlvbiA8c3BhbiBjbGFzcz0idGV4Ij4kJiM5MTtK4bWASiYjOTM7zrQgJiM2MTsgSuG1gCYjOTE7WSAtIGYmIzQwO86yJiM0MTsmIzkzOyQ8L3NwYW4+LCB3ZSBjYW4gYXNzdW1lIM60IHBvaW50cyBpbiB0aGUgY29ycmVjdCBkaXJlY3Rpb24gZm9yIGEgbG9jYWwgbWluaW11bSBvZiA8c3BhbiBjbGFzcz0idGV4Ij4kzrIgJiM0MzsgzrQkPC9zcGFuPiB3aGlsZSB0aGUgc3RlcCBzaXplIHNob3VsZCBiZSB0YWtlbiB3aXRoIGEgZ3JhaW4gb2Ygc2FsdC48L3A+CjxwPldlIHdhbmRlcmVkIG9mZiBhIGJpdCB0aGVyZS4gU28gaWYgPHNwYW4gY2xhc3M9InRleCI+JM67JDwvc3Bhbj4gbmVhcnMgPHNwYW4gY2xhc3M9InRleCI+JDAkPC9zcGFuPiwgdGhlIExldmVuYmVyZy1NYXJxdWFyZHQgZXF1YXRpb24gZXF1YWxzIHRoZSBHYXVzcy1OZXd0b24gZXF1YXRpb24uIENvbnZlcnNlbHkgaWYgPHNwYW4gY2xhc3M9InRleCI+JM67JDwvc3Bhbj4gbmVhcnMgPHNwYW4gY2xhc3M9InRleCI+JCYjNDM74oieJDwvc3Bhbj4sIHRoZW4gPHNwYW4gY2xhc3M9InRleCI+JM60ICYjNjE7ICYjOTE7SuG1gEogJiM0MzsgzrtJJiM5MzvigbvCuUrhtYAmIzkxO1kgLSBmJiM0MDvOsiYjNDE7JiM5MzskPC9zcGFuPiwgdGhlIHRlcm0gPHNwYW4gY2xhc3M9InRleCI+JErhtYBKJDwvc3Bhbj4gaW4gdGhlIGludmVyc2UgaXMgbmVnbGlnaWJsZSBpbiBjb21wYXJpc29uIHRvIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOu0kkPC9zcGFuPi4gSGVuY2UgdGhlIGRpcmVjdGlvbiBvZiA8c3BhbiBjbGFzcz0idGV4Ij4kzrQkPC9zcGFuPiBuZWFycyB0aGUgZGlyZWN0aW9uIG9mIDxzcGFuIGNsYXNzPSJ0ZXgiPiRK4bWAJiM5MTtZIC0gZiYjNDA7zrImIzQxOyYjOTM7JDwvc3Bhbj4uIFRoYXQgaXMgdmVyeSB1c2VmdWwgaW5kZWVkLCBiZWNhdXNlIHRoZSBncmFkaWVudCBvZiA8c3BhbiBjbGFzcz0idGV4Ij4kUyQ8L3NwYW4+IHdpdGggcmVzcGVjdCB0byA8c3BhbiBjbGFzcz0idGV4Ij4kzrIkPC9zcGFuPiBlcXVhbHMgPHNwYW4gY2xhc3M9InRleCI+JC0yJiM0MDtK4bWAJiM5MTtZIC0gZiYjNDA7zrImIzQxOyYjOTM7JiM0MTvhtYAkPC9zcGFuPiwgc28gd2UgY2FuIGNvbmNsdWRlIHRoYXQgPHNwYW4gY2xhc3M9InRleCI+JM60JDwvc3Bhbj4gcG9pbnRzIGluIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gb2YgdGhlIGdyYWRpZW50IG9mIDxzcGFuIGNsYXNzPSJ0ZXgiPiRTJDwvc3Bhbj4gd2hlbiA8c3BhbiBjbGFzcz0idGV4Ij4kzrskPC9zcGFuPiBuZWFycyA8c3BhbiBjbGFzcz0idGV4Ij4k4oieJDwvc3Bhbj48L3A+CjxwPkluIG90aGVyIHdvcmRzLCBMTUEgY2hhbmdlcyB0aGUgZGlyZWN0aW9uIG9mIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOtCQ8L3NwYW4+IGJldHdlZW4gaXRzIG9yaWdpbmFsIGRpcmVjdGlvbiBhbmQgdGhlIGRpcmVjdGlvbiBvZiBzdGVlcGVzdC9ncmFkaWVudCBkZXNjZW50IGJhc2VkIG9uIHRoZSBwYXJhbWV0ZXIgPHNwYW4gY2xhc3M9InRleCI+JM67JDwvc3Bhbj4uPC9wPgo8cD5XZSBjYW4gd3JpdGUgPHNwYW4gY2xhc3M9InRleCI+JM6y4oKBJDwvc3Bhbj4gaW4gdGVybSBvZiA8c3BhbiBjbGFzcz0idGV4Ij4kzrLigoAkPC9zcGFuPjwvcD4KPHAgY2xhc3M9InRleCI+JCTOsuKCgSAmIzYxOyDOsuKCgCAmIzQzOyAmIzkxO0rhtYBKICYjNDM7IM67SSYjOTM74oG7wrkgLiBK4bWAJiM5MTtZIC0gZiYjNDA7zrLigoAmIzQxOyYjOTM7JCQ8L3A+CjwvZGl2PrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5y8/ECiscm9vdGFzc2lnbmVlwKdjZWxsX2lk2SRhNGEwMTQxNi0xOTBjLTQ1NjAtOGRhYy03OWQ3ODliYWQ3Y2a5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc1nz6dlcnJvcmVkwtkkODUyODBhZWItYjc4MC00MmM5LTkzMDQtYWQ3N2NhMWRlOTQ0iKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHmDqGVsZW1lbnRzkpIBkoWmcHJlZml4p0Zsb2F0NjSoZWxlbWVudHOSkgGSozEuMKp0ZXh0L3BsYWlukgKSozEuMKp0ZXh0L3BsYWlupHR5cGWlQXJyYXmscHJlZml4X3Nob3J0oKhvYmplY3RpZLA4OWRmMDM5NjgyNDM5NmVl2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SSApKhMqp0ZXh0L3BsYWlupHR5cGWlVHVwbGWob2JqZWN0aWSwZTA1MzljYjk1YTg5ZDNhOLBwZXJzaXN0X2pzX3N0YXRlwqRtaW1l2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SybGFzdF9ydW5fdGltZXN0YW1wy0HYgOc/SeoMrHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkODUyODBhZWItYjc4MC00MmM5LTkzMDQtYWQ3N2NhMWRlOTQ0uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXPAAAAAghTCj6nZXJyb3JlZMLZJGY3NmE1YjNmLWQzNTItNGYzZC1iZDRkLWE3ZDY4ZmFkYzhiNYimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52gPQPGRpdiBjbGFzcz0ibWFya2Rvd24iPjxwPkxNQSBpcyBpbXBsZW1lbnRlZCB3aXRoIE1hcnF1YXJkdCYjMzk7cyBtZXRob2QgZm9yIGRldGVybWluaW5nIM67PC9wPgo8cD5UaGUgPGNvZGU+TE1BPC9jb2RlPiBmdW5jdGlvbiB0YWtlcyB0aGUgZm9sbG93aW5nIGlucHV0OjwvcD4KPHVsPgo8bGk+PHA+PGNvZGU+RjwvY29kZT46IHRoZSBvYmplY3RpdmUgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIHVzZWQgYXMgaW5wdXQgdG8gdGhlIHN1bSBvZiBzcXVhcmVzPC9wPgo8L2xpPgo8bGk+PHA+PGNvZGU+eOKCgDwvY29kZT46IGFuIGluaXRpYWwgZ3Vlc3MgZm9yIDxzcGFuIGNsYXNzPSJ0ZXgiPiR4JDwvc3Bhbj48L3A+CjwvbGk+CjxsaT48cD48Y29kZT7OuzwvY29kZT46IGFuIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBkYW1waW5nIHBhcmFtZXRlci4gQSBnb29kIHN0YXJ0IHZhbHVlIGlzIDE8L3A+CjwvbGk+CjxsaT48cD48Y29kZT52PC9jb2RlPjogTWFycXVhcmR0JiMzOTtzIGZhY3RvciBvZiB0aGUgZGFtcGluZyBwYXJhbWV0ZXIuIEEgZ29vZCBkZWZhdWx0IHZhbHVlIGlzIDI8L3A+CjwvbGk+CjxsaT48cD48Y29kZT5rX21heDwvY29kZT46IHRoZSBtYXhpbXVtIGFtb3VudCBvZiBpdGVyYXRpb25zIHRoZSBhbGdvcml0aG0gaXMgYWxsb3dlZCB0byBoYXZlPC9wPgo8L2xpPgo8bGk+PHA+PGNvZGU+U19taW48L2NvZGU+OiBJbiB0aGlzIHBhcnRpY3VsYXIgc2NlbmFyaW8gd2hlcmUgd2Uga25vdyB0aGUgZ2xvYmFsIG1pbmltdW0gb2YgPHNwYW4gY2xhc3M9InRleCI+JGYmIzQwO3gmIzQxOyQ8L3NwYW4+LCBTX21pbiBjb250cm9scyBob3cgY2xvc2UgTE1BIGhhcyB0byBnZXQgdG8gdGhlIGdsb2JhbCBtaW5pbXVtIGJlZm9yZSB0aGUgYWxnb3JpdGhtIGlzIGN1dCBzaG9ydCBhbmQgPHNwYW4gY2xhc3M9InRleCI+JHgkPC9zcGFuPiBpcyByZXR1cm5lZCBhcyBzb2x1dGlvbi48L3A+CjwvbGk+CjwvdWw+CjwvZGl2PrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5y9Aoc+scm9vdGFzc2lnbmVlwKdjZWxsX2lk2SRmNzZhNWIzZi1kMzUyLTRmM2QtYmQ0ZC1hN2Q2OGZhZGM4YjW5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc1uFadlcnJvcmVkwtkkOTViMjA0NTAtMmY5YS00NTA2LTkzNmYtNWE5MDM5YzY3ZGZliKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnaAw48ZGl2IGNsYXNzPSJtYXJrZG93biI+PHA+VGhlIDxjb2RlPkdEPC9jb2RlPiBmdW5jdGlvbiB0YWtlcyB0aGUgZm9sbG93aW5nIGlucHV0OjwvcD4KPHVsPgo8bGk+PHA+PGNvZGU+ZjwvY29kZT46IHRoZSBvYmplY3RpdmUgZnVuY3Rpb248L3A+CjwvbGk+CjxsaT48cD48Y29kZT544oKAPC9jb2RlPjogYW4gaW5pdGlhbCBndWVzcyBmb3IgPHNwYW4gY2xhc3M9InRleCI+JHgkPC9zcGFuPjwvcD4KPC9saT4KPGxpPjxwPjxjb2RlPmtfbWF4PC9jb2RlPjogdGhlIG1heGltdW0gYW1vdW50IG9mIGl0ZXJhdGlvbnMgdGhlIGFsZ29yaXRobSBpcyBhbGxvd2VkIHRvIGhhdmU8L3A+CjwvbGk+CjxsaT48cD48Y29kZT7OszwvY29kZT46IGNvbnRyb2xzIHRoZSBzdGVwIHNpemUuIEEgZGVzY2VudCBpbml0aWFsIHZhbHVlIGlzIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOsyQ8L3NwYW4+ICYjNjE7IDAuMDU8L3A+CjwvbGk+CjxsaT48cD48Y29kZT5mX21pbjwvY29kZT46IEluIHRoaXMgcGFydGljdWxhciBzY2VuYXJpbyB3aGVyZSB3ZSBrbm93IHRoZSBnbG9iYWwgbWluaW11bSBvZiA8c3BhbiBjbGFzcz0idGV4Ij4kZiYjNDA7eCYjNDE7JDwvc3Bhbj4sIGZfbWluIGNvbnRyb2xzIGhvdyBjbG9zZSBHcmFkaWVudCBkZXNjZW50IGhhcyB0byBnZXQgdG8gdGhlIGdsb2JhbCBtaW5pbXVtIGJlZm9yZSB0aGUgYWxnb3JpdGhtIGlzIGN1dCBzaG9ydCBhbmQgPHNwYW4gY2xhc3M9InRleCI+JHgkPC9zcGFuPiBpcyByZXR1cm5lZCBhcyBzb2x1dGlvbi48L3A+CjwvbGk+CjwvdWw+CjwvZGl2PrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5y9A6Wyscm9vdGFzc2lnbmVlwKdjZWxsX2lk2SQ5NWIyMDQ1MC0yZjlhLTQ1MDYtOTM2Zi01YTkwMzljNjdkZmW5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc1mhqdlcnJvcmVkwtkkYzYyNGEzZjgtOWI0Ni00NDc1LTgxNjktNjBhYzQ0M2UyYWYyiKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnZjTxkaXYgY2xhc3M9Im1hcmtkb3duIj48cD48aW1nIHNyYz0iaHR0cHM6Ly9naXRodWIuY29tL1RoaWVtZW5NdXMvTE0uamwvYmxvYi9tYXN0ZXIvbm90ZWJvb2svcmVncmVzc2lvbi5qcGc/cmF3JiM2MTt0cnVlIiBhbHQ9IiIgLz48L3A+CjwvZGl2PrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5y88SlGscm9vdGFzc2lnbmVlwKdjZWxsX2lk2SRjNjI0YTNmOC05YjQ2LTQ0NzUtODE2OS02MGFjNDQzZTJhZjK5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc0n3qdlcnJvcmVkwtkkNDcyZTBkOTAtMzE0NS00N2MyLTlmNDctNmZiMDYzZGVjNTc4iKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnZI0dEIChnZW5lcmljIGZ1bmN0aW9uIHdpdGggMSBtZXRob2QpsHBlcnNpc3RfanNfc3RhdGXCpG1pbWWqdGV4dC9wbGFpbrJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5zreCk6scm9vdGFzc2lnbmVlwKdjZWxsX2lk2SQ0NzJlMGQ5MC0zMTQ1LTQ3YzItOWY0Ny02ZmIwNjNkZWM1Nzi5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4AApd/p2Vycm9yZWTC2SRlZDk4NDBjOC03MDBkLTRiNjAtYTU4NC1jOTIzYjc2NmZkNDiIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedoB6DxkaXYgY2xhc3M9Im1hcmtkb3duIj48cD5XZSBjYW4gc2hvdyB0aGF0IDxzcGFuIGNsYXNzPSJ0ZXgiPiTOsiQ8L3NwYW4+IGlzIGluIGZhY3QgYSBnbG9iYWwgbWluaW11bSBhbmQgbm90IGEgbG9jYWwgbWluaW11bSBvciBtYXhpbXVtIGJlY2F1c2UgdGhlIGhlc3NpYW4gb2YgPHNwYW4gY2xhc3M9InRleCI+JFMmIzQwO86yJiM0MTskPC9zcGFuPiBpcyBwb3NpdGl2ZS1kZWZpbml0ZSAmIzQwO25vbi1uZWdhdGl2ZSBvdmVyIGFsbCB2YWx1ZXMgb2YgPHNwYW4gY2xhc3M9InRleCI+JM6yJDwvc3Bhbj4mIzQxOy4gVGhpcyBtYWtlcyA8c3BhbiBjbGFzcz0idGV4Ij4kUyYjNDA7zrImIzQxOyQ8L3NwYW4+IGEgY29udmV4IGZ1bmN0aW9uLiBJdCBvbmx5IGN1cnZlcyB1cHdhcmQgYW5kIGNvdWxkIG5ldmVyIGhhdmUgYSBtYXhpbXVtLCBvciBsb2NhbCBtaW5pbWEuIFNob3dpbmcgdGhlIHByb29mIHdvdWxkIGJyaW5nIHVzIHRvbyBmYXIuIDwvcD4KPC9kaXY+sHBlcnNpc3RfanNfc3RhdGXCpG1pbWWpdGV4dC9odG1ssmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnLzyxNqxyb290YXNzaWduZWXAp2NlbGxfaWTZJGVkOTg0MGM4LTcwMGQtNGI2MC1hNTg0LWM5MjNiNzY2ZmQ0OLlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzZUPp2Vycm9yZWTC2SRiNDZhYmQzMy1lZmU4LTRkNTctYjI3Ni1jNGI2YTViNGRkMzKIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedk0PGRpdiBjbGFzcz0ibWFya2Rvd24iPjxoMj5JbXBsZW1lbnRhdGlvbjwvaDI+CjwvZGl2PrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5y8/mZ6scm9vdGFzc2lnbmVlwKdjZWxsX2lk2SRiNDZhYmQzMy1lZmU4LTRkNTctYjI3Ni1jNGI2YTViNGRkMzK5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc0r8adlcnJvcmVkwtkkYmE3ZDYwZDktYjAzOC00NTUwLWFhMDAtOTNlYWUxNDhkYWUwiKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnZImYgKGdlbmVyaWMgZnVuY3Rpb24gd2l0aCAxIG1ldGhvZCmwcGVyc2lzdF9qc19zdGF0ZcKkbWltZap0ZXh0L3BsYWlusmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnOtEqkaxyb290YXNzaWduZWXAp2NlbGxfaWTZJGJhN2Q2MGQ5LWIwMzgtNDU1MC1hYTAwLTkzZWFlMTQ4ZGFlMLlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzaoPp2Vycm9yZWTC2SQ5ZGQ3ZDVkMS1lNjI0LTQwMGQtYjgyZC1jZGQ3ZmE1NzY1MjSIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedoIHjxkaXYgY2xhc3M9Im1hcmtkb3duIj48cD5UaGlzIGxpbmVhciBhcHByb3hpbWF0aW9uIG9mIDxzcGFuIGNsYXNzPSJ0ZXgiPiRmJiM0MDt4LCDOsiYjNDE7JDwvc3Bhbj4gYXJvdW5kIM6y4oKALCBmb3IgzrLigoAgJiM0MzsgzrQgQ0FOIGJlIHVzZWQgYXMgaW5wdXQgZm9yIGxlYXN0IHNxdWFyZXMuIDwvcD4KPHA+QmVmb3JlIGltcGxlbWVudGluZyB0aGUgbGVhc3Qgc3F1YXJlcyB3ZSBpbnRyb2R1Y2UgdGhlIEphY29iaWFuIG1hdHJpeCBpbnRvIHRoZSBlcXVhdGlvbiwgd2hpY2ggcmVwcmVzZW50cyB0aGUgZ3JhZGllbnQgb2YgPHNwYW4gY2xhc3M9InRleCI+JGYkPC9zcGFuPiB0byA8c3BhbiBjbGFzcz0idGV4Ij4kzrIkPC9zcGFuPjwvcD4KPHAgY2xhc3M9InRleCI+JCRKICYjNjE7IOKIh2YmIzQwO3gsIM6yJiM0MTsg4oeSIGYmIzQwO3gsIM6y4oKAICYjNDM7IM60JiM0MTsg4omIIGYmIzQwO3gsIM6y4oKAJiM0MTsgJiM0MzsgSs60JCQ8L3A+CjxwPkZpbmFsbHksIHdlIGFyZSByZWFkeSBmb3IgbGVhc3Qgc3F1YXJlcy4gPC9wPgo8cCBjbGFzcz0idGV4Ij4kJFMmIzQwO86yJiM0MTsgJiM2MTsgfHxZIC0gZiYjNDA7zrImIzQxO3x8wrIkJDwvcD4KPHAgY2xhc3M9InRleCI+JCTih5IgUyYjNDA7zrIgJiM0MzsgzrQmIzQxOyDiiYggfHxZIC0gZiYjNDA7zrImIzQxOyAtIErOtHx8wrIkJDwvcD4KPHA+Tm9ybWFsbHksIHdlIHdvdWxkIGRlcml2ZSB0byA8c3BhbiBjbGFzcz0idGV4Ij4kzrIkPC9zcGFuPiBhbmQgc2V0IHRoZSByZXN1bHQgdG8gPHNwYW4gY2xhc3M9InRleCI+JDAkPC9zcGFuPi4gRm9yIHRoZSBub25saW5lYXIgY2FzZSB0aGF0IHdvdWxkIG1ha2Ugbm8gc2Vuc2UgYXMgd2UgYWxyZWFkeSBrbm93IDxzcGFuIGNsYXNzPSJ0ZXgiPiTOsiQ8L3NwYW4+LiBJbnN0ZWFkLCB3ZSBhcmUgaW50ZXJlc3RlZCBpbiB0aGUgdmFsdWUgb2YgPHNwYW4gY2xhc3M9InRleCI+JM60JDwvc3Bhbj4gdGhhdCBtaW5pbWl6ZXMgdGhlIHN1bSBvZiBzcXVhcmVzLiBIZW5jZSB3ZSBkZXJpdmUgPHNwYW4gY2xhc3M9InRleCI+JFMmIzQwO86yICYjNDM7IM60JiM0MTskPC9zcGFuPiB0byA8c3BhbiBjbGFzcz0idGV4Ij4kzrQkPC9zcGFuPiBhbmQgZmluZCBpdHMgdmFsdWUgd2hlcmUgdGhlIGRlcml2YXRpdmUgaXMgemVyby48L3A+CjxwIGNsYXNzPSJ0ZXgiPiQkfHxZIC0gZiYjNDA7zrImIzQxOyAtIErOtHx8wrIkJDwvcD4KPHAgY2xhc3M9InRleCI+JCQmIzYxOyAmIzkxO1kgLSBmJiM0MDvOsiYjNDE7IC0gSs60JiM5MzvhtYAmIzkxO1kgLSBmJiM0MDvOsiYjNDE7IC0gSs60JiM5MzskJDwvcD4KPHAgY2xhc3M9InRleCI+JCQmIzYxOyAmIzkxO1kgLSBmJiM0MDvOsiYjNDE7JiM5MzvhtYAmIzkxO1kgLSBmJiM0MDvOsiYjNDE7JiM5MzsgLSAyJiM5MTtZIC0gZiYjNDA7zrImIzQxOyYjOTM74bWASs60ICYjNDM7IM604bWASuG1gErOtCQkPC9wPgo8cD5EZXJpdmVkIHRvIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOtCQ8L3NwYW4+IGFuZCBzZXR0aW5nIHRvIDxzcGFuIGNsYXNzPSJ0ZXgiPiQwJDwvc3Bhbj4gd2UgZ2V0PC9wPgo8cCBjbGFzcz0idGV4Ij4kJGRTJiM0MDvOsiYjNDM7zrQmIzQxOy9kzrQgJiM2MTsgLSAySuG1gCYjOTE7WSAtIGYmIzQwO86yJiM0MTsmIzkzOyAmIzQzOyAySuG1gErOtCQkPC9wPgo8cCBjbGFzcz0idGV4Ij4kJCYjOTE7SuG1gEomIzkzO860ICYjNjE7IErhtYAmIzkxO1kgLSBmJiM0MDvOsiYjNDE7JiM5MzskJDwvcD4KPHA+Tm90aWNlIHRoYXQgSiBoYXMgPHNwYW4gY2xhc3M9InRleCI+JG4qcCQ8L3NwYW4+IGRpbWVuc2lvbnMsIHdpdGggPHNwYW4gY2xhc3M9InRleCI+JG4kPC9zcGFuPiB0aGUgbnVtYmVyIG9mIGRhdGEgcG9pbnRzIGFuZCA8c3BhbiBjbGFzcz0idGV4Ij4kcCQ8L3NwYW4+IHRoZSBwYXJhbWV0ZXJzLiA8c3BhbiBjbGFzcz0idGV4Ij4kzrQkPC9zcGFuPiBhbmQgPHNwYW4gY2xhc3M9InRleCI+JM6yJDwvc3Bhbj4gYXJlIDxzcGFuIGNsYXNzPSJ0ZXgiPiRwKjEkPC9zcGFuPiBtYXRyaWNlcyBhbmQgWSBpcyBhbiA8c3BhbiBjbGFzcz0idGV4Ij4kbioxJDwvc3Bhbj4gbWF0cml4LjwvcD4KPC9kaXY+sHBlcnNpc3RfanNfc3RhdGXCpG1pbWWpdGV4dC9odG1ssmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnLz3L6qxyb290YXNzaWduZWXAp2NlbGxfaWTZJDlkZDdkNWQxLWU2MjQtNDAwZC1iODJkLWNkZDdmYTU3NjUyNLlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzVGrp2Vycm9yZWTC2SQ2YzMzN2E1Ni02MjVhLTRjMzUtYTdkNi1jYzcxZDM2Yzk3NDKIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9keYOoZWxlbWVudHOSkgGShaZwcmVmaXinRmxvYXQ2NKhlbGVtZW50c5KSAZKoMC45OTU1MjKqdGV4dC9wbGFpbpICkqgwLjk4Njk1OKp0ZXh0L3BsYWlupHR5cGWlQXJyYXmscHJlZml4X3Nob3J0oKhvYmplY3RpZLA0YjA4MTBlM2RlMzQ2ZTk02SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SSApKiMjiqdGV4dC9wbGFpbqR0eXBlpVR1cGxlqG9iamVjdGlksDU1M2EyZjFhNjEyNzhlN2awcGVyc2lzdF9qc19zdGF0ZcKkbWltZdkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0smxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnP6lYeaxyb290YXNzaWduZWXAp2NlbGxfaWTZJDZjMzM3YTU2LTYyNWEtNGMzNS1hN2Q2LWNjNzFkMzZjOTc0MrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAF+sSnZXJyb3JlZMLZJDcwMDU3MTc4LWM1NGItNDJlNi1iY2JhLWYzNWVlY2I0NDJjZIimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52SRHTkEgKGdlbmVyaWMgZnVuY3Rpb24gd2l0aCAxIG1ldGhvZCmwcGVyc2lzdF9qc19zdGF0ZcKkbWltZap0ZXh0L3BsYWlusmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnPQjI/Kxyb290YXNzaWduZWXAp2NlbGxfaWTZJDcwMDU3MTc4LWM1NGItNDJlNi1iY2JhLWYzNWVlY2I0NDJjZLlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgABqZ+nZXJyb3JlZMLZJGFmYjQzMWExLWEyZTAtNDQxMS04MDkyLTVlYmYwZDc4ZmRmZIimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52eo8ZGl2IGNsYXNzPSJtYXJrZG93biI+PHAgY2xhc3M9InRleCI+JCRkUyYjNDA7zrImIzQxOyAvIGTOsiAmIzYxOyAmIzQwO1kgLSBYzrImIzQxO15UICYjNDA7WS1YzrImIzQxOyAvIGTOsiAkJDwvcD4KPHAgY2xhc3M9InRleCI+JCQwICYjNjE7IC0yWF5UJiM0MDtZLVjOsiYjNDE7JCQ8L3A+CjxwIGNsYXNzPSJ0ZXgiPiQkzrLMgiAmIzYxOyAmIzQwO1heVCBYJiM0MTvigbvCuSBYXlQgWSQkPC9wPgo8L2Rpdj6wcGVyc2lzdF9qc19zdGF0ZcKkbWltZal0ZXh0L2h0bWyybGFzdF9ydW5fdGltZXN0YW1wy0HYgOcvPI5hrHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkYWZiNDMxYTEtYTJlMC00NDExLTgwOTItNWViZjBkNzhmZGZkuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXNGLqnZXJyb3JlZMLZJGRkZTVkYWRmLTlmZTItNDk1NS04MTQzLTk3MDM2NWEyN2Q0MIimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52Yg8ZGl2IGNsYXNzPSJtYXJrZG93biI+PGg1PmludGVybWV6em86IFRheWxvciBhcHByb3hpbWF0aW9uPC9oNT4KPHA+R29hbDogYXBwcm94aW1hdGUgbm9uLXBvbHlub21pYWwgZnVuY3Rpb25zIGJ5IGEgcG9seW5vbWlhbDwvcD4KPC9kaXY+sHBlcnNpc3RfanNfc3RhdGXCpG1pbWWpdGV4dC9odG1ssmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnLz42Jqxyb290YXNzaWduZWXAp2NlbGxfaWTZJGRkZTVkYWRmLTlmZTItNDk1NS04MTQzLTk3MDM2NWEyN2Q0MLlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzTGdp2Vycm9yZWTC2SRkOTE3ZjYzYS0wNTgwLTQyMDktOWU3OS1hMTA0NWM5NTFjNDaIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedkiRiAoZ2VuZXJpYyBmdW5jdGlvbiB3aXRoIDEgbWV0aG9kKbBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqnRleHQvcGxhaW6ybGFzdF9ydW5fdGltZXN0YW1wy0HYgOc6xI16rHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkZDkxN2Y2M2EtMDU4MC00MjA5LTllNzktYTEwNDVjOTUxYzQ2uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXNjfmnZXJyb3JlZMLZJDk2Njg0ZThhLWRkNGYtNDQ5Ny04YzA2LTNiZDEyYmFlMzU3Y4imcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52gFjPGRpdiBjbGFzcz0ibWFya2Rvd24iPjxwPldlIGNvbXBhcmUgR05BLCBMTUEgYW5kIGdyYWRpZW50IGRlc2NlbnQgb24gdGhlIFJvc2VuYnJvY2sgZnVuY3Rpb24uICBGb3IgdGhlIHBhcmFtZXRlcnMgPHNwYW4gY2xhc3M9InRleCI+JGEkPC9zcGFuPiBhbmQgPHNwYW4gY2xhc3M9InRleCI+JGIkPC9zcGFuPiwgd2UgcmVzcGVjdGl2ZWx5IHRha2UgMSBhbmQgMTAwLiBHaXZlbiB0aGVzZSBwYXJhbWV0ZXJzLCB0aGUgUm9zZW5icm9jayBmdW5jdGlvbiBoYXMgYSBnbG9iYWwgbWluaW11bSBmb3IgPHNwYW4gY2xhc3M9InRleCI+JCYjNDA7eCwgeSYjNDE7ICYjNjE7ICYjNDA7MSwgMSYjNDE7JDwvc3Bhbj48L3A+CjwvZGl2PrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5y9AIP+scm9vdGFzc2lnbmVlwKdjZWxsX2lk2SQ5NjY4NGU4YS1kZDRmLTQ0OTctOGMwNi0zYmQxMmJhZTM1N2O5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc0mOqdlcnJvcmVkwtkkNjFkYTgwZGMtN2Q0OS00ZWM1LWEwZjItNzhkZWU0ODg1M2NliKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnZSzxkaXYgY2xhc3M9Im1hcmtkb3duIj48aDI+Tm9ubGluZWFyIHJlZ3Jlc3Npb24gYW5kIEdhdXNzLU5ld3RvbjwvaDI+CjwvZGl2PrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5y880XCscm9vdGFzc2lnbmVlwKdjZWxsX2lk2SQ2MWRhODBkYy03ZDQ5LTRlYzUtYTBmMi03OGRlZTQ4ODUzY2W5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc0n46dlcnJvcmVkwtkkN2I1Y2IyZDEtM2M1My00MDI2LTgxOGItODZkYWQzODRiNWVjiKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnZiTxkaXYgY2xhc3M9Im1hcmtkb3duIj48cD48aW1nIHNyYz0iaHR0cHM6Ly9naXRodWIuY29tL1RoaWVtZW5NdXMvTE0uamwvYmxvYi9tYXN0ZXIvbm90ZWJvb2svdGF5bG9yLnBuZz9yYXcmIzYxO3RydWUiIGFsdD0iIiAvPjwvcD4KPC9kaXY+sHBlcnNpc3RfanNfc3RhdGXCpG1pbWWpdGV4dC9odG1ssmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnLz5g5axyb290YXNzaWduZWXAp2NlbGxfaWTZJDdiNWNiMmQxLTNjNTMtNDAyNi04MThiLTg2ZGFkMzg0YjVlY7lkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzSqnp2Vycm9yZWTC2SQ4OGE3NDlkYS0zOGUzLTQwYTAtYmJkOS1hZTliNjg4MjQzODGIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedoE9TxkaXYgY2xhc3M9Im1hcmtkb3duIj48cD5XZSBhcmUgbGl2aW5nIGluIGEgaHlwb3RoZXRpY2FsIHdvcmxkIHdoZXJlIG91ciByZWdyZXNzaW9uIG1vZGVsIDxzcGFuIGNsYXNzPSJ0ZXgiPiRmJiM0MDt4LCDOsiYjNDE7JDwvc3Bhbj4gZG9lc24mIzM5O3QgcmVwcmVzZW50IGEgbGluZSwgYnV0IHJhdGhlciBhIGN1cnZlLiBXZSBjYW5ub3Qgd3JpdGUgPHNwYW4gY2xhc3M9InRleCI+JFkkPC9zcGFuPiBhcyBhIGxpbmVhciBjb21iaW5hdGlvbiBvZiB0aGUgbW9kZWwgcGFyYW1ldGVycyBhbmQgb3VyIHByZWNpb3VzIGxlYXN0IHNxdWFyZXMgc2NyZWFtcyBhbmQgYnJlYWtzIGFzIHdlIHRyeSB0byBmaXQgdGhlIG1vZGVsIGluLiA8L3A+CjxwPkxldCYjMzk7cyB0dXJuIHRoZSB0aG91Z2h0IHByb2Nlc3MgdXBzaWRlIGRvd24uIFdlIGd1ZXNzIGFuIGluaXRpYWwgPHNwYW4gY2xhc3M9InRleCI+JM6y4oKAJDwvc3Bhbj4sIG5vdyB3ZSBjYW4gc29sdmUgdGhlIHN1bSBvZiBzcXVhcmVzIGFzIHdlIGtub3cgdGhlIG9uZSB0aGluZyB3ZSBjb3VsZG4mIzM5O3Qga25vdy4gVGhlcmUgaXMgbm8gd2F5IHRoaXMgZ3Vlc3NlZCA8c3BhbiBjbGFzcz0idGV4Ij4kzrIkPC9zcGFuPiBpcyB0aGUgb3B0aW1hbCB2YWx1ZSB0aG91Z2guIEhvdyBkbyB3ZSBmaW5kIGEgYmV0dGVyIHNvbHV0aW9uIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOsuKCgSAmIzYxOyDOsuKCgCAmIzQzOyDOtCQ8L3NwYW4+LCB0aGF0IG1pbmltaXplcyA8c3BhbiBjbGFzcz0idGV4Ij4kUyYjNDA7zrImIzQxOyQ8L3NwYW4+PyBVc2luZyA8c3BhbiBjbGFzcz0idGV4Ij4kzrLigoAgJiM0MzsgzrQkPC9zcGFuPiBhcyBpbnB1dCwgd2UgYXJyaXZlIGF0IHRoZSBleGFjdCBzYW1lIHByb2JsZW0uIDxzcGFuIGNsYXNzPSJ0ZXgiPiRkUyYjNDA7zrLigoEmIzQxOyAvIGQmIzQwO86y4oKBJiM0MTskPC9zcGFuPiBjYW5ub3QgYmUgc29sdmVkIGZvciA8c3BhbiBjbGFzcz0idGV4Ij4kzrLigoEkPC9zcGFuPi4gV2UgbmVlZCBhbm90aGVyIHdheSB0byByZXByZXNlbnQgdGhlIHByb2JsZW0uPC9wPgo8cD5TaXIgSXNhYWMgTmV3dG9uIHRob3VnaHQgdGhlIHNhbWUgdGhpbmcgYW5kIHRoZSBnZW5pdXMgaGUgaXMsIGZvdW5kIGEgc29sdXRpb24gaW4gVGF5bG9yIGFwcHJveGltYXRpb25zLiAgSW4gY2FzZSB5b3UgbmVlZCB0byByZWZyZXNoIFRheWxvciBhcHByb3hpbWF0aW9ucywgdGhlcmUmIzM5O3MgYW4gaW50ZXJtZXp6byByZWNhcGl0dWxhdGluZyBpdCBiZWxvdy48L3A+CjwvZGl2PrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5y89aqWscm9vdGFzc2lnbmVlwKdjZWxsX2lk2SQ4OGE3NDlkYS0zOGUzLTQwYTAtYmJkOS1hZTliNjg4MjQzODG5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc2mXqdlcnJvcmVkwtkkZTMxMWY1OGQtMjhhMS00YjBiLTgxZDgtMjUxNDlkZmQ5MzkyiKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnaAmo8ZGl2IGNsYXNzPSJtYXJrZG93biI+PHA+Rm9yIGdyYWRpZW50IGRlc2NlbnQgd2l0aCBhbiBpbml0aWFsIGd1ZXNzIDxzcGFuIGNsYXNzPSJ0ZXgiPiR44oKAJDwvc3Bhbj46PC9wPgo8cCBjbGFzcz0idGV4Ij4kJHjigoEgJiM2MTsgeOKCgCAtIM6z4oiHZiYjNDA7eOKCgCYjNDE7JCQ8L3A+CjxwPldlIHRha2UgZm9yIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOsyQ8L3NwYW4+IGFuIGFyYml0cmFyeSBwYXJhbWV0ZXIgd2hpY2ggd2UgZGVjcmVhc2Ugd2hlbiB0aGUgc3RlcCBzaXplIG92ZXJzaG9vdHMgdGhlIG1pbmltdW0uPC9wPgo8cD5Vbmxpa2UgR05BIGFuZCBMTUEsIGdyYWRpZW50IGRlc2NlbnQgZG9lcyBub3QgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIHN1bSBvZiBzcXVhcmUgZnVuY3Rpb25zLiBXZSBkbyBub3QgaGF2ZSB0byB3cml0ZSA8c3BhbiBjbGFzcz0idGV4Ij4kZiYjNDA7eCYjNDE7JDwvc3Bhbj4gYXMgYSBzdW0gb2Ygc3F1YXJlcyBmdW5jdGlvbiB0byBiZSBhYmxlIHRvIG1pbmltaXplIGl0LjwvcD4KPHAgY2xhc3M9InRleCI+JCRmJiM0MDt4LCB5JiM0MTsgJiM2MTsgJiM0MDsxIC0geCYjNDE7wrIgJiM0MzsgMTAwJiM0MDt5IC0geMKyJiM0MTvCsiQkPC9wPgo8L2Rpdj6wcGVyc2lzdF9qc19zdGF0ZcKkbWltZal0ZXh0L2h0bWyybGFzdF9ydW5fdGltZXN0YW1wy0HYgOcvQMDPrHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkZTMxMWY1OGQtMjhhMS00YjBiLTgxZDgtMjUxNDlkZmQ5MzkyuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXNMNSnZXJyb3JlZMLZJDIwMjZkMGMwLTdjNmItNDhmNi1hMTEzLTdjNjMxMzhlNmJjNoimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52gIJPGRpdiBjbGFzcz0ibWFya2Rvd24iPjxwPk5vdyB3ZSYjMzk7dmUgZmluYWxseSBtYWRlIGl0IHRocm91Z2ggdGhlIHRoZW9yeSwgd2UgY2FuIHVzZSBMTUEgdG8gc29sdmUgYSBub25saW5lYXIgbGVhc3Qgc3F1YXJlcyBwcm9ibGVtLjwvcD4KPHA+V2Ugd2lsbCBwZXJmb3JtIExNQSBvbiB0aGUgUm9zZW5icm9jayBmdW5jdGlvbiwgYSBub24tY29udmV4IGZ1bmN0aW9uIG9mdGVuIHVzZWQgZm9yICBwZXJmb3JtYW5jZSB0ZXN0aW5nIGluIG9wdGltaXphdGlvbi4gVGhpcyBmdW5jdGlvbiBoYXMgb25lIGdsb2JhbCBtaW5pbXVtIHdpdGggYSB2ZXJ5IHNtYWxsIHZhbGxleSBsZWFkaW5nIHRvIGl0LiBMb2dpY2FsbHksIEdyYWRpZW50IGRlc2NlbnQgaGFzIGEgaGFyZCB0aW1lIGNvbnZlcmdpbmcgZm9yIHRoaXMgZnVuY3Rpb24uPC9wPgo8cCBjbGFzcz0idGV4Ij4kJGYmIzQwO3gmIzQxOyAmIzYxOyAmIzQwO2EgLSB44oKBJiM0MTvCsiAmIzQzOyBiJiM0MDt44oKCIC0geOKCgcKyJiM0MTvCsiQkPC9wPgo8L2Rpdj6wcGVyc2lzdF9qc19zdGF0ZcKkbWltZal0ZXh0L2h0bWyybGFzdF9ydW5fdGltZXN0YW1wy0HYgOcvP7fQrHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkMjAyNmQwYzAtN2M2Yi00OGY2LWExMTMtN2M2MzEzOGU2YmM2uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXNLjynZXJyb3JlZMLZJGMzMTQ5NzYzLWM1YjgtNDFkNy1hZGY5LTFmMTRkYTc2YjJmMoimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R5g6hlbGVtZW50c5KSAZKFpnByZWZpeKdGbG9hdDY0qGVsZW1lbnRzkpIBkqgwLjk5OTk0Mqp0ZXh0L3BsYWlukgKSqDAuOTk5MDE3qnRleHQvcGxhaW6kdHlwZaVBcnJheaxwcmVmaXhfc2hvcnSgqG9iamVjdGlkr2Y3NDdhNzQ2ODIxZWZjZdkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0kgKSoTiqdGV4dC9wbGFpbqR0eXBlpVR1cGxlqG9iamVjdGlksGJlOTEyZmVjMjMxMzUwMzawcGVyc2lzdF9qc19zdGF0ZcKkbWltZdkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0smxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnP6d2Nqxyb290YXNzaWduZWXAp2NlbGxfaWTZJGMzMTQ5NzYzLWM1YjgtNDFkNy1hZGY5LTFmMTRkYTc2YjJmMrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgtSxoSnZXJyb3JlZMLZJDNjYWQwZDIxLTY4ZjAtNDY3My05NWU3LTFhZDEyYjJjZTY3OIimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52Yg8ZGl2IGNsYXNzPSJtYXJrZG93biI+PHA+PGltZyBzcmM9Imh0dHBzOi8vZ2l0aHViLmNvbS9UaGllbWVuTXVzL0xNLmpsL2Jsb2IvbWFzdGVyL25vdGVib29rL3Jvc2VuLmpwZz9yYXcmIzYxO3RydWUiIGFsdD0iIiAvPjwvcD4KPC9kaXY+sHBlcnNpc3RfanNfc3RhdGXCpG1pbWWpdGV4dC9odG1ssmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnLz/gcqxyb290YXNzaWduZWXAp2NlbGxfaWTZJDNjYWQwZDIxLTY4ZjAtNDY3My05NWU3LTFhZDEyYjJjZTY3OLlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzStxp2Vycm9yZWTC2SQyODA4ZTJkYS0wY2M4LTRlNTUtYmJiZC1iNmFlODdmOGZiMjeIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9keYOoZWxlbWVudHOSkgGShaZwcmVmaXinRmxvYXQ2NKhlbGVtZW50c5KSAZKnMS4wMDk5OKp0ZXh0L3BsYWlukgKSpzEuMDE1MjGqdGV4dC9wbGFpbqR0eXBlpUFycmF5rHByZWZpeF9zaG9ydKCob2JqZWN0aWSwZWE4ZDI1MGQxZTFiZGViONkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0kgKSoTaqdGV4dC9wbGFpbqR0eXBlpVR1cGxlqG9iamVjdGlkrzcyMDA0MTc1Yzk4NTg5ZrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1l2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SybGFzdF9ydW5fdGltZXN0YW1wy0HYgOc/iFS9rHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkMjgwOGUyZGEtMGNjOC00ZTU1LWJiYmQtYjZhZTg3ZjhmYjI3uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOH4gzF6dlcnJvcmVkwtkkNDg1NmE3Y2EtNzJlMy00OGMzLWI0ZTQtYTMxNDdmM2NhYzExiKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnaCmo8ZGl2IGNsYXNzPSJtYXJrZG93biI+PHA+TWV0aG9kOiBJbWFnaW5lIDxzcGFuIGNsYXNzPSJ0ZXgiPiRmJiM0MDt4JiM0MTskPC9zcGFuPiBhIG5vbi1wb2x5bm9taWFsLCBhcHByb3hpbWF0ZWQgYnkgYSBwb2x5bm9taWFsOiA8c3BhbiBjbGFzcz0idGV4Ij4kYyAmIzQzOyBieCAmIzQzOyBheF4yJDwvc3Bhbj48L3A+CjxwIGNsYXNzPSJ0ZXgiPiQk4oeSIGYmIzQwO3gmIzQxOyDiiYggYyAmIzQzOyBieCAmIzQzOyBheF4yJCQ8L3A+CjxwPmZvciBhbnkgdmFsdWUgeC4gSWYgPHNwYW4gY2xhc3M9InRleCI+JHggJiM2MTsgMCQ8L3NwYW4+LCB0aGUgcG9seW5vbWlhbCBzaG91bGQgaGF2ZSB0aGUgc2FtZSB2YWx1ZSBhcyA8c3BhbiBjbGFzcz0idGV4Ij4kZiYjNDA7MCYjNDE7JDwvc3Bhbj4uPC9wPgo8cCBjbGFzcz0idGV4Ij4kJOKHkiBmJiM0MDswJiM0MTsgJiM2MTsgYyAmIzQzOyBiJiM0MDswJiM0MTsgJiM0MzsgYSYjNDA7MCYjNDE7XjIgJiM2MTsgYyQkPC9wPgo8cD5XZSBjb3VsZCBzYXkgdGhhdCA8c3BhbiBjbGFzcz0idGV4Ij4kZiYjNDA7eCYjNDE7IOKJiCBmJiM0MDswJiM0MTskPC9zcGFuPiBhcm91bmQgPHNwYW4gY2xhc3M9InRleCI+JDAkPC9zcGFuPi4gVGhhdCBsb29rcyBwcmV0dHkgc3R1cGlkLCBidXQgaXQgaXNuJiMzOTt0LiBUaGUgYXBwcm94aW1hdGluZyBwb2x5bm9taWFsIGlzIGEgZmxhdCBsaW5lIHRoYXQgaW50ZXJzZWN0cyB3aXRoIDxzcGFuIGNsYXNzPSJ0ZXgiPiRmJiM0MDt4JiM0MTskPC9zcGFuPiBhdCA8c3BhbiBjbGFzcz0idGV4Ij4keCAmIzYxOyAwJDwvc3Bhbj4uICA8L3A+CjxwPk1vc3QgbGlrZWx5IHRob3VnaCwgPHNwYW4gY2xhc3M9InRleCI+JGYmIzQwO3gmIzQxOyQ8L3NwYW4+IGlzbiYjMzk7dCBhIGZsYXQgbGluZSBhdCA8c3BhbiBjbGFzcz0idGV4Ij4keCAmIzYxOyAwJDwvc3Bhbj4uIEl0IHJpc2VzLCBvciBpdCBkcm9wcyBhY2NvcmRpbmcgdG8gaXRzIGRlcml2YXRpdmUuIFRoaXMgbG9va3MgYWJ1c2FibGUuIFNldHRpbmcgdGhlIHNsb3BlIG9mIHRoZSBwb2x5bm9taWFsIHRvIGJlIHRoZSBlcXVhbCB0byB0aGF0IG9mIDxzcGFuIGNsYXNzPSJ0ZXgiPiRmJiM0MDt4JiM0MTskPC9zcGFuPiB3aWxsIGltcHJvdmUgdGhlIGFwcHJveGltYXRpb24gYXJvdW5kIDxzcGFuIGNsYXNzPSJ0ZXgiPiQwJDwvc3Bhbj4uPC9wPgo8cCBjbGFzcz0idGV4Ij4kJOKHkiBmJiMzOTsmIzQwOzAmIzQxOyAmIzYxOyBiICYjNDM7IDJhJiM0MDswJiM0MTsgJiM2MTsgYiQkPC9wPgo8cD5UaGUgcHJvY2VzcyBpcyBwcmVkaWN0YWJsZSBhdCB0aGlzIHBvaW50LiBBbGwgZGVyaXZhdGl2ZXMgb2YgPHNwYW4gY2xhc3M9InRleCI+JGYmIzQwO3gmIzQxOyQ8L3NwYW4+IHNheSBzb21ldGhpbmcgYWJvdXQgaG93IHRoZSBmdW5jdGlvbiBtb3ZlcyBhcm91bmQgeC4gPC9wPgo8cCBjbGFzcz0idGV4Ij4kJCBmJiMzOTsmIzM5OyYjNDA7MCYjNDE7ICYjNjE7IDJhIOKHkiBhICYjNjE7IGYmIzM5OyYjMzk7JiM0MDswJiM0MTsgLyAyJCQ8L3A+CjxwPlB1dHRpbmcgaXQgYWxsIHRvZ2V0aGVyLCB3ZSBjYW4gYXBwcm94aW1hdGUgPHNwYW4gY2xhc3M9InRleCI+JGYmIzQwO3gmIzQxOyQ8L3NwYW4+IGZhaXJseSB3ZWxsIGFyb3VuZCA8c3BhbiBjbGFzcz0idGV4Ij4kMCQ8L3NwYW4+PC9wPgo8cCBjbGFzcz0idGV4Ij4kJCBmJiM0MDt4JiM0MTsg4omIIGYmIzQwOzAmIzQxOyAmIzQzOyBmJiMzOTsmIzQwOzAmIzQxO3ggJiM0MzsgJiM0MDtmJiMzOTsmIzM5OyYjNDA7MCYjNDE7IC8gMiYjNDE7IHheMiQkPC9wPgo8cD5CeSByZXBsYWNpbmcgPHNwYW4gY2xhc3M9InRleCI+JHgkPC9zcGFuPiB3aXRoIDxzcGFuIGNsYXNzPSJ0ZXgiPiR4IC0gdCQ8L3NwYW4+IGluIHRoZSBwb2x5bm9taWFsLCB3ZSBjYW4gYXBwcm94aW1hdGUgPHNwYW4gY2xhc3M9InRleCI+JGYmIzQwO3gmIzQxOyQ8L3NwYW4+IGZvciBhbnkgdmFsdWUgPHNwYW4gY2xhc3M9InRleCI+JHQkPC9zcGFuPiBvZiA8c3BhbiBjbGFzcz0idGV4Ij4keCQ8L3NwYW4+LiBOb3cgYWxsIGJ1dCBvbmUgdGVybXMgb2YgdGhlIHBvbHlub21pYWwgYmVjb21lIDxzcGFuIGNsYXNzPSJ0ZXgiPiQwJDwvc3Bhbj4gd2hlbiBmaWxsaW5nIGluIDxzcGFuIGNsYXNzPSJ0ZXgiPiRmJiM0MDt0JiM0MTskPC9zcGFuPi4gUmVwbGFjaW5nIDxzcGFuIGNsYXNzPSJ0ZXgiPiR4JDwvc3Bhbj4gaW4gdGhlIHBvbHlub21pYWwgaXMgcG9zc2libGUgYmVjYXVzZSB3ZSBkZXRlcm1pbmUgaG93IHRoZSBmdW5jdGlvbiBsb29rcyBsaWtlLiBPdXIgb25seSByZXF1aXJlbWVudHMgYXJlIHRoYXQgdGhlIGZ1bmN0aW9uIGRlcGVuZHMgb24gPHNwYW4gY2xhc3M9InRleCI+JHgkPC9zcGFuPiBhbmQgaXMgYSBwb2x5bm9taWFsLiBCb3RoIGFyZSB1bmFmZmVjdGVkIGJ5IHJlcGxhY2luZyA8c3BhbiBjbGFzcz0idGV4Ij4keCQ8L3NwYW4+IHdpdGggPHNwYW4gY2xhc3M9InRleCI+JHgtdCQ8L3NwYW4+PC9wPgo8cD5Ob3RlIHRoYXQgd2l0aCBlYWNoIGFkZGVkIGRlcml2YXRpdmUsIHRoZSBhcHByb3hpbWF0aW9uIGltcHJvdmVzLiBUaGUgZnVydGhlciB3ZSBzdHJheSBmcm9tIDxzcGFuIGNsYXNzPSJ0ZXgiPiR4ICYjNjE7IHQkPC9zcGFuPiwgdGhlIGxlc3MgY29ycmVjdCB0aGUgYXBwcm94aW1hdGlvbiBiZWNvbWVzLiA8L3A+CjwvZGl2PrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5y8+uLKscm9vdGFzc2lnbmVlwKdjZWxsX2lk2SQ0ODU2YTdjYS03MmUzLTQ4YzMtYjRlNC1hMzE0N2YzY2FjMTG5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc1QkqdlcnJvcmVkwtkkNmUyMTMzMDEtNDg1Mi00ZDQ0LTkwNGUtYTY5YWQ2YzE4ZjNkiKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnZJExNQSAoZ2VuZXJpYyBmdW5jdGlvbiB3aXRoIDEgbWV0aG9kKbBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqnRleHQvcGxhaW6ybGFzdF9ydW5fdGltZXN0YW1wy0HYgOc/U0JGrHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkNmUyMTMzMDEtNDg1Mi00ZDQ0LTkwNGUtYTY5YWQ2YzE4ZjNkuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOAAI5S6dlcnJvcmVkwtkkMDFlYzZjYTktZmIzNi00NDVlLTk2MjMtN2IyZWMyNDc2NThliKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnaAiM8ZGl2IGNsYXNzPSJtYXJrZG93biI+PHA+V2UgY2FuIG5vdyByZXdyaXRlIM6y4oKBIGluIHRlcm1zIG9mIM6y4oKAPC9wPgo8cCBjbGFzcz0idGV4Ij4kJM6y4oKBICYjNjE7IM6y4oKAICYjNDM7ICYjOTE7SuG1gEomIzkzO+KBu8K5IC4gSuG1gCYjOTE7WSAtIGYmIzQwO86y4oKAJiM0MTsmIzkzOyQkPC9wPgo8cD5XZSBtdXN0IG5vdCBmb3JnZXQgdGhhdCB3ZSBhcHByb3hpbWF0ZWQgPHNwYW4gY2xhc3M9InRleCI+JGYmIzQwO3gsIM6yICYjNDM7IM60JiM0MTskPC9zcGFuPiBhbmQgaGVuY2UgPHNwYW4gY2xhc3M9InRleCI+JM6y4oKBJDwvc3Bhbj4gaXMgbm90IGd1YXJhbnRlZWQgdG8gZGVsaXZlciBhIG1pbmltdW0uIFdlIGl0ZXJhdGUgdGhlIHByb2Nlc3MgdW50aWwgaW1wcm92ZW1lbnRzIG9mIDxzcGFuIGNsYXNzPSJ0ZXgiPiRTJiM0MDvOsiYjNDE7JDwvc3Bhbj4gZmFsbCB1bmRlciBhIGNlcnRhaW4gdGhyZXNob2xkIGFuZCBhY2NlcHQgdGhpcyA8c3BhbiBjbGFzcz0idGV4Ij4kzrIkPC9zcGFuPiBhcyBvdXIgc29sdXRpb24uIDwvcD4KPC9kaXY+sHBlcnNpc3RfanNfc3RhdGXCpG1pbWWpdGV4dC9odG1ssmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnLz3zlaxyb290YXNzaWduZWXAp2NlbGxfaWTZJDAxZWM2Y2E5LWZiMzYtNDQ1ZS05NjIzLTdiMmVjMjQ3NjU4ZblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzS/dp2Vycm9yZWTC2SQyZmNlMjM3NC0yM2Y2LTRiOWUtODFmMS1lY2JjNGUyZGUwMTKIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedkiUyAoZ2VuZXJpYyBmdW5jdGlvbiB3aXRoIDEgbWV0aG9kKbBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqnRleHQvcGxhaW6ybGFzdF9ydW5fdGltZXN0YW1wy0HYgOc89YVZrHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkMmZjZTIzNzQtMjNmNi00YjllLTgxZjEtZWNiYzRlMmRlMDEyuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOAAS79qdlcnJvcmVkwtkkYjlmYTFjM2ItMTZkNy00NTUxLTg1MDgtNGVlODg4MzcxNDc2iKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnaA6k8ZGl2IGNsYXNzPSJtYXJrZG93biI+PHA+VG8gZmluZCDOsuKCgSB3ZSBsaW5lYXJpemUgPHNwYW4gY2xhc3M9InRleCI+JGYmIzQwO3gszrImIzQxOyQ8L3NwYW4+IGFyb3VuZCDOsuKCgCB3aXRoIGEgZmlyc3Qtb3JkZXIgVGF5bG9yIGFwcHJveGltYXRpb24uIDwvcD4KPHAgY2xhc3M9InRleCI+JCRmJiM0MDt4LCDOsiYjNDE7IOKJiCBmJiM0MDt4LCDOsuKCgCYjNDE7ICYjNDM7IOKIh2YmIzQwO3gsIM6y4oKAJiM0MTsmIzQwO86yIC0gzrLigoAmIzQxOyQkPC9wPgo8cD5XZSBub3cga25vdyBob3cgPHNwYW4gY2xhc3M9InRleCI+JGYmIzQwO3gsIM6yJiM0MTskPC9zcGFuPiBiZWhhdmVzIGxpbmVhcmx5IGRpcmVjdGx5IGFyb3VuZCDOsuKCgC4gSWYgPHNwYW4gY2xhc3M9InRleCI+JM60JDwvc3Bhbj4gaXMgc21hbGwsIHdlIGNhbiBmaWxsIGluICA8c3BhbiBjbGFzcz0idGV4Ij4kzrLigoAgJiM0MzsgzrQkPC9zcGFuPiB0byBmaW5kIHRoZSBhcHByb3hpbWF0ZSBzb2x1dGlvbiBmb3IgzrLigoE8L3A+CjxwIGNsYXNzPSJ0ZXgiPiQkZiYjNDA7eCwgzrLigoAgJiM0MzsgzrQmIzQxOyDiiYggZiYjNDA7eCwgzrLigoAmIzQxOyAmIzQzOyDiiIdmJiM0MDt4LCDOsuKCgCYjNDE7JiM0MDsmIzQwO86y4oKAICYjNDM7IM60JiM0MTsgLSDOsuKCgCYjNDE7JCQ8L3A+CjxwIGNsYXNzPSJ0ZXgiPiQk4omIIGYmIzQwO3gsIM6y4oKAJiM0MTsgJiM0Mzsg4oiHZiYjNDA7eCwgzrLigoAmIzQxO860JCQ8L3A+CjxwPk5vdGUgdGhhdCA8c3BhbiBjbGFzcz0idGV4Ij4kzrLigoAkPC9zcGFuPiBpcyBhIGNvbnN0YW50IGluIHRoaXMgZXF1YXRpb24uIFdlIG9ubHkgcmVwbGFjZSB0aGUgdmFyaWFibGUgPHNwYW4gY2xhc3M9InRleCI+JM6yJDwvc3Bhbj4gd2l0aCA8c3BhbiBjbGFzcz0idGV4Ij4kzrLigoAgJiM0MzsgzrQkPC9zcGFuPjwvcD4KPC9kaXY+sHBlcnNpc3RfanNfc3RhdGXCpG1pbWWpdGV4dC9odG1ssmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnLz2qMqxyb290YXNzaWduZWXAp2NlbGxfaWTZJGI5ZmExYzNiLTE2ZDctNDU1MS04NTA4LTRlZTg4ODM3MTQ3NrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzTYvp2Vycm9yZWTC2SQzYzY1OGVlOS1mMmMyLTQxMTctYmY0ZC04YmJhOGVlNjI5MDaIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9keYOoZWxlbWVudHOSkgGShaZwcmVmaXinRmxvYXQ2NKhlbGVtZW50c5KSAZKnMi4yMDQ5Nap0ZXh0L3BsYWlukgKSpTQuODY1qnRleHQvcGxhaW6kdHlwZaVBcnJheaxwcmVmaXhfc2hvcnSgqG9iamVjdGlksGE4MDQ2YTQ2YmJhMjkyOGHZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdJICkqMxMDCqdGV4dC9wbGFpbqR0eXBlpVR1cGxlqG9iamVjdGlksGUwZDFjOGIxNTdkNzI5ZmawcGVyc2lzdF9qc19zdGF0ZcKkbWltZdkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0smxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnPOjjHaxyb290YXNzaWduZWXAp2NlbGxfaWTZJDNjNjU4ZWU5LWYyYzItNDExNy1iZjRkLThiYmE4ZWU2MjkwNrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzsXw2/inZXJyb3JlZMLZJGU0ZTRlNDVkLWNiNGEtNDQxMy04NTg3LTlhYWI4OTc0ODEzYoimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52gLhPGRpdiBjbGFzcz0ibWFya2Rvd24iPjxwPkZyb20gcmVncmVzc2lvbiB0byBMTUEgaXMgcXVpdGUgYSBiaWcgbGVhcCBhbmQgYWx0aG91Z2ggeW91IHN1cmVseSBrbm93IHdoYXQgcmVncmVzc2lvbiBpcywgd2Ugd2lsbCByZWNhcGl0dWxhdGUgc29tZSBpbXBvcnRhbnQgZGlmZmVyZW5jZXMgYXQgdGhlIGZ1bmRhbWVudGFsIGxldmVsIHRvIHJlYWxseSB1bmRlcnN0YW5kIHdoYXQgTE1BIGlzIHRyeWluZyB0byBkby4gTGV0JiMzOTtzIHN0YXJ0IGF0IHRoZSBiZWdpbm5pbmcuPC9wPgo8cD5SZWdyZXNzaW9uIGVzdGltYXRlcyB0aGUgcmVsYXRpb24gYmV0d2VlbiBhIHJlc3BvbnNlIHZhcmlhYmxlIGFuZCBvbmUgb3IgbW9yZSBwcmVkaWN0b3JzLiBUaGVyZSBhcmUgZGlmZmVyZW50IHdheXMgdG8gZG8gdGhpcywgcGFydGx5IGJhc2VkIG9uIGhvdyBvYnNlcnZhdGlvbmFsIGRhdGEgaXMgcHJlc3VtZWQgdG8gYmVoYXZlLiAgSW4gdGhlIGNvbW1vbmx5IHVzZWQgbGluZWFyIHJlZ3Jlc3Npb24gYSBtb2RlbCBpcyBzZXQgdXAgaW4gd2hpY2ggdGhlIG9ic2VydmF0aW9uYWwgZGF0YSBpcyBhIGxpbmVhciBjb21iaW5hdGlvbiBvZiB0aGUgcHJlZGljdG9ycyBhbmQgdGhlaXIgcGFyYW1ldGVycy4gQnkgZml0dGluZyBhIGxpbmUgdGhyb3VnaCB0aGUgZGF0YSwgdGhlIHBhcmFtZXRlcnMgY2FuIGJlIGVzdGltYXRlZCB3aXRoIHRoZSBmYW1vdXMgbGVhc3Qgc3F1YXJlcyBtZXRob2QuPC9wPgo8L2Rpdj6wcGVyc2lzdF9qc19zdGF0ZcKkbWltZal0ZXh0L2h0bWyybGFzdF9ydW5fdGltZXN0YW1wy0HYgOcvPAgLrHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkZTRlNGU0NWQtY2I0YS00NDEzLTg1ODctOWFhYjg5NzQ4MTNiuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXNLP+nZXJyb3JlZMLZJDU2MzI0MGVkLTRhMGEtNDdjZC1hNTY0LWE2ZDZkMTlmNThlZoimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52gY2PGRpdiBjbGFzcz0ibWFya2Rvd24iPjxwPkdOQSBhbmQgTE1BIHdhbnQgdG8gbWluaW1pemUgYSBjb3N0IGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHdyaXR0ZW4gYXMgYSBzdW0gb2Ygc3F1YXJlcy4gVGhlIFJvc2VuYnJvY2sgZnVuY3Rpb24gY2FuIGJlIHdyaXR0ZW4gYXMgYSBzdW0gb2Ygc3F1YXJlcyBpZiB3ZSBkZWZpbmU6PC9wPgo8cCBjbGFzcz0idGV4Ij4kJGbigoEmIzQwO3gmIzQxOyAmIzYxOyBhIC0geOKCgSQkPC9wPgo8cCBjbGFzcz0idGV4Ij4kJGbigoImIzQwO3gmIzQxOyAmIzYxOyDiiJpiJiM0MDt44oKCIC0geOKCgcKyJiM0MTsgJCQ8L3A+CjxwIGNsYXNzPSJ0ZXgiPiQk4oeSIGYmIzQwO3gmIzQxOyAmIzYxOyBcc3VtX2kgJiM0MDtm4bWiJiM0MTvCsiQkPC9wPgo8cD5Ob3RlIHRoYXQgPHNwYW4gY2xhc3M9InRleCI+JHgkPC9zcGFuPiBoZXJlIHBsYXlzIHRoZSByb2xlIG9mIHRoZSBwYXJhbWV0ZXJzIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOsiQ8L3NwYW4+IGluIHJlZ3Jlc3Npb24gY29udGV4dC4gPHNwYW4gY2xhc3M9InRleCI+JGYmIzQwO3gmIzQxOyDiiYggUyYjNDA7zrImIzQxOyQ8L3NwYW4+IGFuZCA8c3BhbiBjbGFzcz0idGV4Ij4kZuG1oiDiiYggeeG1oiAtIGYmIzQwO3jhtaLOsiYjNDE7JDwvc3Bhbj48L3A+CjxwPlRoZSBhYm92ZSBleHByZXNzaW9uIGNhbiBiZSB3cml0dGVuIGFzIHRoZSBub3JtIG9mIGEgdmVjdG9yLXZhbHVlZCBmdW5jdGlvbiBpbnN0ZWFkOjwvcD4KPHAgY2xhc3M9InRleCI+JCRmJiM0MDt4JiM0MTsgJiM2MTsgfHxGJiM0MDt4JiM0MTt8fMKyJCQ8L3A+CjxwPndpdGggPHNwYW4gY2xhc3M9InRleCI+JEYmIzQwO3gmIzQxOyQ8L3NwYW4+IGEgPHNwYW4gY2xhc3M9InRleCI+JDIqMSQ8L3NwYW4+IG1hdHJpeCBvZiA8c3BhbiBjbGFzcz0idGV4Ij4kZuKCgSQ8L3NwYW4+IGFuZCA8c3BhbiBjbGFzcz0idGV4Ij4kZuKCgiQ8L3NwYW4+PC9wPgo8cD5Gb3IgZWFjaCBpdGVyYXRpb24gd2UgbGluZWFyaXplIDxzcGFuIGNsYXNzPSJ0ZXgiPiRGJiM0MDt4JiM0MTskPC9zcGFuPiBhcm91bmQgPHNwYW4gY2xhc3M9InRleCI+JHgkPC9zcGFuPiB0byBhcHByb3hpbWF0ZSB0aGUgdmFsdWUgb2YgPHNwYW4gY2xhc3M9InRleCI+JEYmIzQwO3ggJiM0MzsgzrQmIzQxOyQ8L3NwYW4+PC9wPgo8cCBjbGFzcz0idGV4Ij4kJEYmIzQwO3ggJiM0MzsgzrQmIzQxOyDiiYggRiYjNDA7eCYjNDE7ICYjNDM7IEomIzQwO3gmIzQxO860JCQ8L3A+CjxwPmFuZCBkZXRlcm1pbmUgPHNwYW4gY2xhc3M9InRleCI+JM60JDwvc3Bhbj4gYnkgbWluaW1pemluZyA8c3BhbiBjbGFzcz0idGV4Ij4kZiYjNDA7eCAmIzQzOyDOtCYjNDE7JDwvc3Bhbj4gd2l0aCByZXNwZWN0IHRvIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOtCQ8L3NwYW4+IGFuZCBzZXR0aW5nIHRvIHplcm88L3A+CjxwIGNsYXNzPSJ0ZXgiPiQkZiYjNDA7eCAmIzQzOyDOtCYjNDE7ICYjNjE7IHx8RiYjNDA7eCYjNDE7ICYjNDM7IEomIzQwO3gmIzQxO860fHzCsiQkPC9wPgo8cCBjbGFzcz0idGV4Ij4kJCYjOTE7SuG1gEomIzkzO860ICYjNjE7IC0gSuG1gCYjOTE7RiYjNDA7eCYjNDE7JiM5MzskJDwvcD4KPC9kaXY+sHBlcnNpc3RfanNfc3RhdGXCpG1pbWWpdGV4dC9odG1ssmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnL0ACbaxyb290YXNzaWduZWXAp2NlbGxfaWTZJDU2MzI0MGVkLTRhMGEtNDdjZC1hNTY0LWE2ZDZkMTlmNThlZrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzUyyp2Vycm9yZWTC2SRlMDdiZmFlNS1mZWYyLTQ4M2MtOGI1Ny0xZDgzNGMyMzU0OTWIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9keYOoZWxlbWVudHOSkgGShaZwcmVmaXinRmxvYXQ2NKhlbGVtZW50c5KSAZKoMC45ODE0OTSqdGV4dC9wbGFpbpICkqgwLjk2MTY4NKp0ZXh0L3BsYWlupHR5cGWlQXJyYXmscHJlZml4X3Nob3J0oKhvYmplY3RpZLA3ZTI3NjgzMTZmNmJhYTk42SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SSApKiMjKqdGV4dC9wbGFpbqR0eXBlpVR1cGxlqG9iamVjdGlksDMzODNjYWM1OTBkMzNhMDKwcGVyc2lzdF9qc19zdGF0ZcKkbWltZdkhYXBwbGljYXRpb24vdm5kLnBsdXRvLnRyZWUrb2JqZWN0smxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnP4tvl6xyb290YXNzaWduZWXAp2NlbGxfaWTZJGUwN2JmYWU1LWZlZjItNDgzYy04YjU3LTFkODM0YzIzNTQ5NblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAEpq6nZXJyb3JlZMLZJGE1ZGQ5Y2RiLTg3ZTUtNGQ1ZS04MzI5LWU0NjgxZDhkYjUxOIimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R5g6hlbGVtZW50c5KSAZKFpnByZWZpeKdGbG9hdDY0qGVsZW1lbnRzkpIBkqcyNC41MTkzqnRleHQvcGxhaW6SApKnNjAxLjIwM6p0ZXh0L3BsYWlupHR5cGWlQXJyYXmscHJlZml4X3Nob3J0oKhvYmplY3RpZLBjYjhiOWIxYzA3MzM2YjJj2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SSApKjMTAwqnRleHQvcGxhaW6kdHlwZaVUdXBsZahvYmplY3RpZLA0Mzg5MWEwYWZmZDBmZDMxsHBlcnNpc3RfanNfc3RhdGXCpG1pbWXZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5zzrg2Kscm9vdGFzc2lnbmVlwKdjZWxsX2lk2SRhNWRkOWNkYi04N2U1LTRkNWUtODMyOS1lNDY4MWQ4ZGI1MTi5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4ABVChp2Vycm9yZWTC2SQ1YjQyMTk4MC03ZmE2LTExZWMtMjIwNS1hZGVhZDE1ODhkY2GIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedl7PGRpdiBjbGFzcz0ibWFya2Rvd24iPjxoMT5MZXZlbmJlcmctTWFycXVhcmR0IGFsZ29yaXRobTwvaDE+CjxwPlNUTU8gUHJvamVjdCBieSA8c3Ryb25nPlRoaWVtZW4gTXVzc2NoZTwvc3Ryb25nPjwvcD4KPC9kaXY+sHBlcnNpc3RfanNfc3RhdGXCpG1pbWWpdGV4dC9odG1ssmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnLzsnQqxyb290YXNzaWduZWXAp2NlbGxfaWTZJDViNDIxOTgwLTdmYTYtMTFlYy0yMjA1LWFkZWFkMTU4OGRjYblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzT0vp2Vycm9yZWTC2SRlOGM3Zjg0Zi1jODU2LTQxZmEtYjEyOS01ZGZlZjc0YjZmZjCIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedoKJjxkaXYgY2xhc3M9Im1hcmtkb3duIj48aDU+Q2hvaWNlIG9mIGRhbXBpbmcgcGFyYW1ldGVyPC9oNT4KPHA+V2hlbiBpdCBhbGwgY29tZXMgdG9nZXRoZXIsIExNQSB0cmllcyB0byBjaXJjdW12ZW50IHByb2JsZW1zIG9mIGFwcHJveGltYXRpb24gaW4gR05BIGFuZCBwcm9ibGVtcyBvZiBzbG93IGNvbnZlcmdlbmNlIGluIEdyYWRpZW50IGRlc2NlbnQgYnkgc3dpdGNoaW5nIGJldHdlZW4gdGhlIGRpcmVjdGlvbiBvZiBHTkEgd2hlbmV2ZXIgPHNwYW4gY2xhc3M9InRleCI+JFMmIzQwO86yJiM0MTskPC9zcGFuPiBrZWVwcyBkZWNyZWFzaW5nIGJldHdlZW4gaXRlcmF0aW9ucyBhbmQgdGhlIGRpcmVjdGlvbiBvZiBncmFkaWVudCBkZXNjZW50IHdoZW5ldmVyIDxzcGFuIGNsYXNzPSJ0ZXgiPiRTJiM0MDvOsiYjNDE7JDwvc3Bhbj4gaW5jcmVhc2VzLjwvcD4KPHA+VGhlcmUmIzM5O3MgYW5vdGhlciBpbnR1aXRpdmUgd2F5IHRvIGRldGVybWluZSB5b3VyIHByZWZlcnJlZCA8c3BhbiBjbGFzcz0idGV4Ij4kzrskPC9zcGFuPi4gSW4gdGhlIGdlbmVyYWwgc2Vuc2UsIEdOQSBpcyBiYWQgYXQgZmluZGluZyBhIGdvb2QgdmFsdWUgZm9yIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOtCQ8L3NwYW4+IHdoZW4gaXQgaXMgZmFyIGZyb20gYSBsb2NhbCBtaW5pbXVtLCBiZWNhdXNlIG9mIHRoZSBhcHByb3hpbWF0aW9uLiBTbyBpZiB3ZSBkb24mIzM5O3QgaGF2ZSBhbiBpbmZvcm1lZCBpbml0aWFsIGd1ZXNzLCBpdCBpcyBnZW5lcmFsbHkgYmV0dGVyIHRvIHN0YXJ0IHdpdGggYSByZWxhdGl2ZWx5IGhpZ2ggPHNwYW4gY2xhc3M9InRleCI+JM67JDwvc3Bhbj4uIENvbnZlcnNlbHksIEdyYWRpZW50IGRlc2NlbnQgaXMgYmFkIGF0IGNvbnZlcmdlbmNlLiBXaGVuIHdlIGdldCBjbG9zZXIgdG8gYSBsb2NhbCBtaW5pbXVtLCBpdCBpcyB0aHVzIGdlbmVyYWxseSBiZXR0ZXIgdG8gaGF2ZSBhIGxvd2VyIHZhbHVlIGZvciA8c3BhbiBjbGFzcz0idGV4Ij4kzrskPC9zcGFuPi48L3A+CjxwPkN1cnJlbnRseSwgdGhlcmUgaXMgbm8gcHJvdmVuIGJlc3QgbWV0aG9kIHRvIGRldGVybWluZSA8c3BhbiBjbGFzcz0idGV4Ij4kzrskPC9zcGFuPi48L3A+Cjx1bD4KPGxpPjxwPk1hcnF1YXJkdCYjMzk7cyBtZXRob2Q8L3A+CjwvbGk+CjwvdWw+CjxwPk1hcnF1YXJkdCByZWNvbW1lbmRlZCB0aGUgZm9sbG93aW5nOiB5b3Ugc3RhcnQgd2l0aCBhIHZhbHVlIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOu+KCgCQ8L3NwYW4+IGFuZCBhIGZhY3RvciA8c3BhbiBjbGFzcz0idGV4Ij4kdiAmZ3Q7IDEkPC9zcGFuPi4gSW4gdGhlIGZpcnN0IGl0ZXJhdGlvbiwgPHNwYW4gY2xhc3M9InRleCI+JFMmIzQwO86yJiM0MTskPC9zcGFuPiBpcyBjYWxjdWxhdGVkIHdpdGggPHNwYW4gY2xhc3M9InRleCI+JM67ICYjNjE7IM674oKAJDwvc3Bhbj4gYW5kIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOuyAmIzYxOyDOu+KCgCAvIHYkPC9zcGFuPi4gSWYgYm90aCByZXN1bHQgaW4gYSBoaWdoZXIgdmFsdWUgb2YgPHNwYW4gY2xhc3M9InRleCI+JFMmIzQwO86yJiM0MTskPC9zcGFuPiwgd2UgaW5jcmVhc2UgZGFtcGluZyBieSBtdWx0aXBseWluZyA8c3BhbiBjbGFzcz0idGV4Ij4kzrvigoAkPC9zcGFuPiBieSA8c3BhbiBjbGFzcz0idGV4Ij4kdiQ8L3NwYW4+IHVudGlsIDxzcGFuIGNsYXNzPSJ0ZXgiPiRTJiM0MDvOsiYjNDE7JDwvc3Bhbj4gZHJvcHMuIFRoZSBmaW5hbCBkYW1waW5nIGZhY3RvciBpcyB0YWtlbiBmb3IgdGhlIHNlY29uZCBpdGVyYXRpb24uIElmIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOu+KCgCAvIHYkPC9zcGFuPiBpbnN0ZWFkIHJlc3VsdHMgaW4gYSBsb3dlciB2YWx1ZSBvZiA8c3BhbiBjbGFzcz0idGV4Ij4kUyYjNDA7zrImIzQxOyQ8L3NwYW4+LCB3ZSBhY2NlcHQgaXQgYW5kIHVzZSB0aGlzIGRhbXBpbmcgZmFjdG9yIGZvciB0aGUgc2Vjb25kIGl0ZXJhdGlvbi4gSW4gdGhlIGxhc3Qgc2NlbmFyaW8sIHdoZW4gPHNwYW4gY2xhc3M9InRleCI+JM674oKAIC8gdiQ8L3NwYW4+IGdpdmVzIHVzIGEgaGlnaGVyIHZhbHVlIG9mIDxzcGFuIGNsYXNzPSJ0ZXgiPiRTJiM0MDvOsiYjNDE7JDwvc3Bhbj4gd2hpbGUgPHNwYW4gY2xhc3M9InRleCI+JM674oKAJDwvc3Bhbj4gaW1wcm92ZXMgaXQsIHRoZSBkYW1waW5nIGZhY3RvciBpcyBsZWZ0IHVuY2hhbmdlZC48L3A+Cjx1bD4KPGxpPjxwPkRlbGF5ZWQgZ3JhdGlmaWNhdGlvbjwvcD4KPC9saT4KPC91bD4KPHA+QSBzaW1wbGVyIG1ldGhvZCB3aGVyZSA8c3BhbiBjbGFzcz0idGV4Ij4kzrskPC9zcGFuPiBpcyBpbmNyZWFzZWQgYSBiaXQgYWZ0ZXIgZWFjaCB1cGhpbGwgc3RlcCBhbmQgZGVjcmVhc2VkIGEgbG90IGFmdGVyIGVhY2ggZG93bmhpbGwgc3RlcC4gV2UgZGVjcmVhc2UgbW9yZSB0aGFuIHdlIGluY3JlYXNlIHRvIGF2b2lkIHRoZSBncmFkaWVudCBkZXNjZW50IHppZ3phZyBwcm9ibGVtLiBJZiB5b3UgbmVhciBhIHZhbGxleSB3aXRoIGEgbWluaW11bSBmYXIgZnJvbSB3aGVyZSB5b3UgZW50ZXJlZCB0aGUgdmFsbGV5LCBzdGVwIHNpemVzIGFyZSBjb25zdHJpY3RlZCBpbiBsZW5ndGggYW5kIGNvbnZlcmdlbmNlIHdpbGwgYmUgc2xvdy48L3A+CjwvZGl2PrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5y8/dpuscm9vdGFzc2lnbmVlwKdjZWxsX2lk2SRlOGM3Zjg0Zi1jODU2LTQxZmEtYjEyOS01ZGZlZjc0YjZmZjC5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc1y/KdlcnJvcmVkwtkkYWY4ZjIyNjYtNGYzNy00NmJhLTljYjUtODA3OGM0NzI5MjNjiKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnaAmM8ZGl2IGNsYXNzPSJtYXJrZG93biI+PHA+Rm9yIG5vbmxpbmVhciByZWdyZXNzaW9uLCB0aGUgb2JzZXJ2YXRpb25hbCBkYXRhIGlzIGFzc3VtZWQgdG8gbm90IGhhdmUgYSBsaW5lYXIgcmVsYXRpb24gd2l0aCB0aGUgcHJlZGljdG9yJiM0MDtzJiM0MTsuIFRoZXJlZm9yZSwgdGhlIGZ1bmN0aW9uIGJ5IHdoaWNoIHRoZSBkYXRhIGlzIG1vZGVsZWQgY2Fubm90IGJlIGV4cHJlc3NlZCBhcyBhIGxpbmVhciBjb21iaW5hdGlvbiBvZiB0aGUgcGFyYW1ldGVyJiM0MDtzJiM0MTsuPC9wPgo8cD5PbmUgaW1wb3J0YW50IGltcGxpY2F0aW9uIHRoaXMgaGFzIGlzIHRoZSBpbmFiaWxpdHkgb2YgbGVhc3Qgc3F1YXJlcyB0byBmb3JtdWxhdGUgYSBjbG9zZWQtZm9ybSBleHByZXNzaW9uIGZvciB0aGUgYmVzdC1maXR0aW5nIHBhcmFtZXRlcnMuIEluIG90aGVyIHdvcmRzLCB0aGUgZXF1YXRpb24gPHNwYW4gY2xhc3M9InRleCI+JGRTL2TOsiAmIzYxOyAwJDwvc3Bhbj4gY2Fubm90IGJlIHNvbHZlZCBhbmFseXRpY2FsbHkuIE51bWVyaWNhbCB3b3JrYXJvdW5kcyBleGlzdCwgYW1vbmcgd2hpY2ggdGhlIEdhdXNzLU5ld3RvbiBhbGdvcml0aG0gc3RpY2tzIG91dC48L3A+CjwvZGl2PrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5y89G7mscm9vdGFzc2lnbmVlwKdjZWxsX2lk2SRhZjhmMjI2Ni00ZjM3LTQ2YmEtOWNiNS04MDc4YzQ3MjkyM2O5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc05tqdlcnJvcmVkwtkkY2E0ZDRiYjgtMmY2ZC00YTY5LWE2YjEtNmNjMGZjOGI1Yjk5iKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnaBNw8ZGl2IGNsYXNzPSJtYXJrZG93biI+PHA+TmFtZWQgYWZ0ZXIgS2VubmV0aCBMZXZlbmJlcmcgd2hvIGZpcnN0IHB1Ymxpc2hlZCB0aGUgYWxnb3JpdGhtIGluIDE5NDQgYW5kIERvbmFsZCBNYXJxdWFyZHQgd2hvIG1hZGUgc2lnbmlmaWNhbnQgY29udHJpYnV0aW9ucyB0byBpdCBpbiAxOTYzLCB0aGUgc28gbG9uZ2x5IG5hbWVkIExldmVuYmVyZy1NYXJxdWFyZHQgYWxnb3JpdGhtICYjNDA7TE1BJiM0MTsgaXMgYW4gYWRhcHRhdGlvbiBvZiB0aGUgR2F1c3MtTmV3dG9uIGFsZ29yaXRobSAmIzQwO0dOQSYjNDE7LCB3aGljaCBpdHNlbGYgaXMgdGhlIG1haW4gbWV0aG9kIHRvIHNvbHZlIG5vbmxpbmVhciBsZWFzdCBzcXVhcmVzIHByb2JsZW1zIGluIG5vbmxpbmVhciByZWdyZXNzaW9uLiA8L3A+CjxwPlVubGlrZSBsaW5lYXIgcmVncmVzc2lvbiwgZmluZGluZyB0aGUgb3B0aW1hbCBwYXJhbWV0ZXIgdmFsdWVzIHRvIGEgbm9ubGluZWFyIG1vZGVsIGRvZXMgbm90IGhhdmUgYSBjbG9zZWQtZm9ybSBzb2x1dGlvbiBhbmQgaXMgZG9uZSBpdGVyYXRpdmVseSwgd2hpY2ggcmVxdWlyZXMgYW4gaW5pdGlhbCBndWVzcy4gVGhpcyBpcyB3aGVyZSBMTUEgZGlmZmVycyBmcm9tIEdOQSBieSBiZWluZyBtb3JlIHJvYnVzdCB0byBpbml0aWFsIGNvbmRpdGlvbnMuIEl0IHdpbGwgZmluZCBhIHNvbHV0aW9uIGV2ZW4gaWYgaXQgc3RhcnRzIGZhciBmcm9tIHRoZSBmaW5hbCBtaW5pbXVtLjwvcD4KPHA+SW4gdGhpcyBub3RlYm9vayB3ZSB3aWxsIGJ1aWxkIHRoZSBMTUEgZnJvbSB0aGUgZ3JvdW5kIHVwIHNvIHRvIGZ1bmRhbWVudGFsbHkgdW5kZXJzdGFuZCB0aGUgcmVhc29uaW5nIGJlaGluZCBpdC48L3A+CjxwPkluICYjMzk7cG9ldGljJiMzOTsgd29yZHMgdGhhdCB3b3VsZCBtYWtlIG1vcmUgc2Vuc2UgYWZ0ZXIgcmVhZGluZzogdXNpbmcgdGhlIEdhdXNzLU5ld3RvbiBhbGdvcml0aG0gdG8gc29sdmUgbm9ubGluZWFyIGxlYXN0LXNxdWFyZXMgaXMgbGlrZSBlYXRpbmcgYSBtZXRhcGhvcmljYWwgaWNlY3JlYW0gY29uZSwgd2hpbGUgTE1BIGlzIHRoZSBzZXJ2aWV0dGUgeW91IGdldCB3aXRoIHlvdXIgaWNlY3JlYW0gY29uZSB0byBzdG9wIHRoZSBpY2UgZnJvbSBkcmlwcGluZy48L3A+CjxwPjxpbWcgc3JjPSJodHRwczovL2dpdGh1Yi5jb20vVGhpZW1lbk11cy9MTS5qbC9ibG9iL21hc3Rlci9ub3RlYm9vay9jb25lci5qcGc/cmF3JiM2MTt0cnVlIiBhbHQ9IiIgLz48L3A+CjwvZGl2PrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5y87XJKscm9vdGFzc2lnbmVlwKdjZWxsX2lk2SRjYTRkNGJiOC0yZjZkLTRhNjktYTZiMS02Y2MwZmM4YjViOTm5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc07UKdlcnJvcmVkwtkkY2E4MDMwMjctNDA2My00YTM0LTg2ZGEtYzQxYjY2N2FlZTA2iKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnaBdk8ZGl2IGNsYXNzPSJtYXJrZG93biI+PGg1PkdyYWRpZW50IGRlc2NlbnQ8L2g1Pgo8cD5JZiBHTkEgaXNuJiMzOTt0IGRvaW5nIHNvIGhvdCwgd2h5IGRvbiYjMzk7dCB3ZSBqdXN0IHVzZSB0aGUgZGlyZWN0aW9uIG9mIGdyYWRpZW50IGRlc2NlbmQgdG8gb3B0aW1pemUgzrI/PC9wPgo8cD5HcmFkaWVudCBkZXNjZW50IGlzIGFuIGludHVpdGl2ZSBpdGVyYXRpdmUgb3B0aW1pemF0aW9uIGFsZ29yaXRobSBmb3IgZmluZGluZyBsb2NhbCBtaW5pbWEuIFRha2luZyByZXBlYXRlZCBzdGVwcyBpbiB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIG9mIHRoZSBncmFkaWVudCBvZiB0aGUgZnVuY3Rpb24gYXQgZWFjaCBpdGVyYXRpb24gcG9pbnQgd291bGQgZXZlbnR1YWxseSBsZWFkIHRvIGEgbG9jYWwgbWluaW11bS4gVGhpcyBpcyB0aGUgZGlyZWN0aW9uIHdoZXJlIDxzcGFuIGNsYXNzPSJ0ZXgiPiRmJiM0MDt4JiM0MTskPC9zcGFuPiBkZWNyZWFzZXMgdGhlIGZhc3Rlc3QuPC9wPgo8cD5UaGUgY2F2ZWF0IGNvbWVzIGluIHRoZSBzcGVlZCBvZiBjb252ZXJnZW5jZS4gR3JhZGllbnQgZGVzY2VudCBkb2VzbiYjMzk7dCBjb252ZXJnZSBmYXN0IGluIGZ1bmN0aW9ucyB3aGVyZSB0aGUgY3VydmF0dXJlIGNoYW5nZXMgcmVsYXRpdmVseSBmYXN0LiBBZ2FpbiB0aGlzIGlzIGludHVpdGl2ZS4gSW1hZ2luZSBhIG1pbmltdW0gbHlpbmcgaW4gYSBuYXJyb3cgdmFsbGV5IG9mIGEgZnVuY3Rpb24uIFRoZSBhbGdvcnRoaW0gY2FuIG9ubHkgbW92ZSBpbiB0aGUgb3Bwc2l0ZSBkaXJlY3Rpb24gb2YgdGhlIGdyYWRpZW50LiBXaGVuIHRoZSBpdGVyYXRpb24gc3RhcnRzIGVudGVyaW5nIHRoZSB2YWxsZXksIGl0IHdpbGwgbW9zdCBsaWtlbHkgb3ZlcnNob290IHRvIHRoZSBvdGhlciBzaWRlIG9mIHRoZSB2YWxsZXkuIE5vdyB0aGUgZ3JhZGllbnQgaGFzIGRyYXN0aWNhbGx5IGNoYW5nZWQsIHBvaW50aW5nIGluIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gb2YgbGFzdCBpdGVyYXRpb24uIDwvcD4KPHA+QXQgZmlyc3Qgc2lnaHQgdGhpcyBtaWdodCBsb29rIGxpa2UgYSBnb29kIHRoaW5nLCB0aGUgbWluaW11bSBsaWVzIGluIHRoZSBtaWRkbGUgb2YgdGhlIHZhbGxleSB3aGVyZSBncmFkaWVudCBkZXNjZW50IGlzIHBvaW50aW5nIHRvIHJpZ2h0PyBOb3QgbmVjZXNzYXJpbHkgbm8sIHRoZSB2YWxsZXkgbWlnaHQgYXQgaXRzIG1pZGRsZSBzdGlsbCBtb3ZlIGRvd253YXJkcywgbGlrZSBhIHJpdmVyIGJldHdlZW4gbW91bnRhaW5zIHJ1bm5pbmcgdG93YXJkcyB0aGUgbG93ZXN0IHBvaW50IG9mIHRoZSB2YWxsZXkgYnkgZ3Jhdml0eS4gR3JhZGllbnQgZGVzY2VudCBpcyB0ZXJyaWJsZSBhdCByZWNvZ25pemluZyB0aGVzZSBzY2VuYXJpb3MsIGNvbnN0YW50bHkgc3dpdGNoaW5nIHNpZGVzIG9mIHRoZSB2YWxsZXkgaW4gYSB6aWd6YWctcGF0dGVybiwgdmVyeSBzbG93bHkgZ29pbmcgZG93bmhpbGwgdW50aWwgY29udmVyZ2VuY2UuPC9wPgo8L2Rpdj6wcGVyc2lzdF9qc19zdGF0ZcKkbWltZal0ZXh0L2h0bWyybGFzdF9ydW5fdGltZXN0YW1wy0HYgOcvPzKQrHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkY2E4MDMwMjctNDA2My00YTM0LTg2ZGEtYzQxYjY2N2FlZTA2uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXNReCnZXJyb3JlZMLZJDAzNjcwNTU1LWI1MTctNDJjZi04MTQ0LTNjMDA3YTY2YWE1NYimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52gEsPGRpdiBjbGFzcz0ibWFya2Rvd24iPjxwPldlIGNvbmNsdWRlIHRoYXQgYSBnb29kIHVuZGVyc3RhbmRpbmcgb2YgdGhlIG9iamVjdGl2ZSBmdW5jdGlvbiBpcyBuZWVkZWQgdG8gY2hvb3NlIHRoZSBiZXN0LXBlcmZvcm1pbmcgYWxnb3JpdGhtLiBJbiBlaXRoZXIgY2FzZSwgTE1BIHByb3ZpZGVzIHRoZSBiZXN0IG9mIGJvdGggd29ybGRzIGFuZCB3aXRoIHByb3BlciBjaG9pY2Ugb2YgcGFyYW1ldGVycyB3aWxsIGFsd2F5cyBiZSBhdCBsZWFzdCBhcyBnb29kIGFzIEdOQSBvciBHcmFkaWVudCBkZXNjZW50LjwvcD4KPC9kaXY+sHBlcnNpc3RfanNfc3RhdGXCpG1pbWWpdGV4dC9odG1ssmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnL0Eov6xyb290YXNzaWduZWXAp2NlbGxfaWTZJDAzNjcwNTU1LWI1MTctNDJjZi04MTQ0LTNjMDA3YTY2YWE1NblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzS3up2Vycm9yZWTC2SQzZTAxN2RmMC1hMzVjLTQ1Y2QtOWY1ZS1mNTEzZWE3NDVhZDmIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedk8PGRpdiBjbGFzcz0ibWFya2Rvd24iPjxoMz5HYXVzcy1OZXd0b24gYWxnb3JpdGhtPC9oMz4KPC9kaXY+sHBlcnNpc3RfanNfc3RhdGXCpG1pbWWpdGV4dC9odG1ssmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnLz00Waxyb290YXNzaWduZWXAp2NlbGxfaWTZJDNlMDE3ZGYwLWEzNWMtNDVjZC05ZjVlLWY1MTNlYTc0NWFkOblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzSHip2Vycm9yZWTC2SQ5OWZkYzQxYi0xMDMzLTRjMWMtODlkNy1kZGU2YWRmYmI5ODaIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9keYOoZWxlbWVudHOSkgGShaZwcmVmaXinRmxvYXQ2NKhlbGVtZW50c5KSAZKjMS4wqnRleHQvcGxhaW6SApKjMS4wqnRleHQvcGxhaW6kdHlwZaVBcnJheaxwcmVmaXhfc2hvcnSgqG9iamVjdGlksDhjMzJhZTEyODNkODZhMzLZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdJICkqEyqnRleHQvcGxhaW6kdHlwZaVUdXBsZahvYmplY3RpZLBmNGU4NWIzZmE2MzMxZDk0sHBlcnNpc3RfanNfc3RhdGXCpG1pbWXZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5z9MCk6scm9vdGFzc2lnbmVlwKdjZWxsX2lk2SQ5OWZkYzQxYi0xMDMzLTRjMWMtODlkNy1kZGU2YWRmYmI5ODa5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4AAgUyp2Vycm9yZWTC2SRlNWJjZDExNy1kZTg4LTQ1MmItOTk4NC02NDQ4M2M1MWM1NTeIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedoFvzxkaXYgY2xhc3M9Im1hcmtkb3duIj48aDI+TGV2ZW5iZXJnLU1hcnF1YXJkdDwvaDI+CjxwPlRoZSBHYXVzcy1OZXd0b24gYWxnb3JpdGhtIG1pZ2h0IHNlZW0gbGlrZSBjbG9zdXJlIGZvciBub25saW5lYXIgcmVncmVzc2lvbiBidXQgaXQmIzM5O3Mgbm90IGFsbCBwdXBwaWVzIGFuZCBzdW5zaGluZSBpbiB0aGUgd29ybGQgb2YgbWF0aGVtYXRpY3MuIFdlJiMzOTt2ZSBnb25lIGEgYml0IGxvb3NlIG9uIHNvbWUgYXNzdW1wdGlvbnMgdGhhdCBhbHRlciB0aGUgaW50ZXJwcmV0YXRpb24gYW5kIHJlc3VsdHMgb2YgdGhlIGFsZ29yaXRobS4gTE1BIGFkanVzdHMgYSBwYXJ0IG9mIEdOQSwgdHJ5aW5nIHRvIHRhY2tsZSBhIGNvdXBsZSBvZiB0aGVzZSBpc3N1ZXMsIGJ1dCBkZWZpbml0ZWx5IG5vdCBhbGwuIEl0IGlzIG5vdCB0aGUgaW50ZW50aW9uIHRvIGdpdmUgYSBkZXRhaWxlZCBvdmVydmlldyBvZiBhbGwgdGhlIGludHJpY2FjaWVzIHRoYXQgY29tZSB3aXRoIG5vbmxpbmVhciBsZWFzdCBzcXVhcmVzLiBXZSB3aWxsIGRpc2N1c3MgdGhlIHByb2JsZW1zIHRoYXQgTE1BIHRyaWVzIHRvIGRlYWwgd2l0aCBvciBvdGhlcnMgdGhhdCBtaWdodCBiZSBuZWNlc3NhcnkgZm9yIGludGVycHJldGF0aW9uLjwvcD4KPHA+VG8gYmVnaW4sIHRoZSBzb2x1dGlvbiBvZiBHTkEgaXMgbm90IGEgZ2xvYmFsIG1pbmltdW0uIEluIG1vc3QgY2FzZXMsIHRoZSBub25saW5lYXJpdHkgb2YgPHNwYW4gY2xhc3M9InRleCI+JGYmIzQwO3gsIM6yJiM0MTskPC9zcGFuPiBsZWFkcyBpbnRvIFMgbm8gbG9uZ2VyIGJlaW5nIGEgY29udmV4IGZ1bmN0aW9uLiBUaGUgbWluaW1hIHdlIGZpbmQgYXJlIG1vc3QgbGlrZWx5IG5vdCBnbG9iYWwuIFdpdGggYW4gaW5mb3JtZWQgaW5pdGlhbCBndWVzcywgb3VyIGNoYW5jZXMgbWlnaHQgYmUgaGlnaGVyLjwvcD4KPHA+Rm9sbG93aW5nLCB0aGUgc3VtIG9mIHNxdWFyZXMgbWlnaHQgbm90IGRlY3JlYXNlIGF0IGV2ZXJ5IGl0ZXJhdGlvbiBvZiBHTkEuIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOtCQ8L3NwYW4+IG1pZ2h0IG92ZXJzaG9vdCB0aGUgbG9jYWwgbWluaW11bSwgYWZ0ZXIgYWxsIHdlIGFyZSB3b3JraW5nIHdpdGggYW4gYXBwcm94aW1hdGlvbiB0aGF0IG9ubHkgd29ya3MgbmVhciDOsiwgZm9yIGEgc21hbGwgzrQuICBFdmVuIGlmIHRoYXQgaXMgdGhlIGNhc2UsIM60IGlzIHN0aWxsIGEgZGVzY2VudCBkaXJlY3Rpb24gb2YgUywgbWVhbmluZyB0aGF0IGl0cyBkaXJlY3Rpb24gd2lsbCBhbHdheXMgbW92ZSB1cyBjbG9zZXIgdG8gYSBsb2NhbCBtaW5pbXVtIGFzIGxvbmcgYXMgb3VyIHN0ZXBzIGFyZSBzbWFsbCBlbm91Z2guIEEgY29uc2VxdWVuY2Ugb2YgdGhpcyBwcm9wZXJ0eSBpcyB0aGF0IEdOQSBtaWdodCBuZXZlciBjb252ZXJnZSBhdCBhbGwsIGFzIM60IGtlZXBzIG92ZXJzaG9vdGluZyB0aGUgYWN0dWFsIGxvY2FsIG1pbmltdW0uPC9wPgo8L2Rpdj6wcGVyc2lzdF9qc19zdGF0ZcKkbWltZal0ZXh0L2h0bWyybGFzdF9ydW5fdGltZXN0YW1wy0HYgOcvPthrrHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkZTViY2QxMTctZGU4OC00NTJiLTk5ODQtNjQ0ODNjNTFjNTU3uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXNPtqnZXJyb3JlZMLZJDI4ZDkwODA4LTcyZmQtNDc5NS05ZjA3LWQxMmI2YTE2NTg4MIimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52gK1PGRpdiBjbGFzcz0ibWFya2Rvd24iPjxwPlRoZSA8Y29kZT5HTkE8L2NvZGU+IGZ1bmN0aW9uIHRha2VzIHRoZSBmb2xsb3dpbmcgaW5wdXQ6PC9wPgo8dWw+CjxsaT48cD48Y29kZT5GPC9jb2RlPjogdGhlIG9iamVjdGl2ZSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgdXNlZCBhcyBpbnB1dCB0byB0aGUgc3VtIG9mIHNxdWFyZXM8L3A+CjwvbGk+CjxsaT48cD48Y29kZT544oKAPC9jb2RlPjogYW4gaW5pdGlhbCBndWVzcyBmb3IgPHNwYW4gY2xhc3M9InRleCI+JHgkPC9zcGFuPjwvcD4KPC9saT4KPGxpPjxwPjxjb2RlPmtfbWF4PC9jb2RlPjogdGhlIG1heGltdW0gYW1vdW50IG9mIGl0ZXJhdGlvbnMgdGhlIGFsZ29yaXRobSBpcyBhbGxvd2VkIHRvIGhhdmU8L3A+CjwvbGk+CjxsaT48cD48Y29kZT5TX21pbjwvY29kZT46IEluIHRoaXMgcGFydGljdWxhciBzY2VuYXJpbyB3aGVyZSB3ZSBrbm93IHRoZSBnbG9iYWwgbWluaW11bSBvZiA8c3BhbiBjbGFzcz0idGV4Ij4kZiYjNDA7eCYjNDE7JDwvc3Bhbj4sIFNfbWluIGNvbnRyb2xzIGhvdyBjbG9zZSBHTkEgaGFzIHRvIGdldCB0byB0aGUgZ2xvYmFsIG1pbmltdW0gYmVmb3JlIHRoZSBhbGdvcml0aG0gaXMgY3V0IHNob3J0IGFuZCA8c3BhbiBjbGFzcz0idGV4Ij4keCQ8L3NwYW4+IGlzIHJldHVybmVkIGFzIHNvbHV0aW9uLjwvcD4KPC9saT4KPC91bD4KPC9kaXY+sHBlcnNpc3RfanNfc3RhdGXCpG1pbWWpdGV4dC9odG1ssmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnL0B286xyb290YXNzaWduZWXAp2NlbGxfaWTZJDI4ZDkwODA4LTcyZmQtNDc5NS05ZjA3LWQxMmI2YTE2NTg4MLlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzWKYp2Vycm9yZWTC2SQzN2U5ODI5Zi01NDFiLTQ1NWYtYWQzMC02ZDI0OTQ2OTM3ODSIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9keaCwcGVyc2lzdF9qc19zdGF0ZcKkbWltZap0ZXh0L3BsYWlusmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnOjqy+6xyb290YXNzaWduZWXAp2NlbGxfaWTZJDM3ZTk4MjlmLTU0MWItNDU1Zi1hZDMwLTZkMjQ5NDY5Mzc4NLlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAErranZXJyb3JlZMLZJGYwZWE5ODRmLTNjMDItNDBhYy1hY2ZiLWNhNjJkYmRmY2QxZIimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52gUSPGRpdiBjbGFzcz0ibWFya2Rvd24iPjxwPlRoZSBsaW5lYXIgcmVncmVzc2lvbiBtb2RlbCBjYW4gYmUgcmVwcmVzZW50ZWQgaW4gbWF0cml4IGZvcm0gYXMgPHNwYW4gY2xhc3M9InRleCI+JFkgJiM2MTsgWM6yICYjNDM7IM+1JDwvc3Bhbj4sIHdoZXJlIDxzcGFuIGNsYXNzPSJ0ZXgiPiRZJDwvc3Bhbj4gYW5kIDxzcGFuIGNsYXNzPSJ0ZXgiPiTPtSQ8L3NwYW4+IGFyZSA8c3BhbiBjbGFzcz0idGV4Ij4kbioxJDwvc3Bhbj4gbWF0cmljZXMgb2YgcmVzcG9uc2UgdmFsdWVzIGFuZCByZXNpZHVhbHMgcmVzcGVjdGl2ZWx5LiA8c3BhbiBjbGFzcz0idGV4Ij4kWCQ8L3NwYW4+IGlzIHRoZSA8c3BhbiBjbGFzcz0idGV4Ij4kbipwJDwvc3Bhbj4gZGVzaWduIG1hdHJpeCBhbmQgPHNwYW4gY2xhc3M9InRleCI+JM6yJDwvc3Bhbj4gaXMgdGhlIDxzcGFuIGNsYXNzPSJ0ZXgiPiRwKjEkPC9zcGFuPiBtYXRyaXggb2YgdW5rbm93biBwYXJhbWV0ZXJzLiBXaGVuIHRoZXJlIGFyZSBtb3JlIGRhdGEgcG9pbnRzIHRoYW4gcHJlZGljdG9ycywgPHNwYW4gY2xhc3M9InRleCI+JG4gJmd0OyBwJDwvc3Bhbj4sIHRoZXJlIGlzIG5vIHdheSB0byBmaXQgYSBsaW5lIHRocm91Z2ggYWxsIHRoZSBkYXRhIHBvaW50cy4gSW5zdGVhZCwgd2Ugd2FudCB0byBmaW5kIHRoZSA8c3BhbiBjbGFzcz0idGV4Ij4kzrIkPC9zcGFuPiBmb3Igd2hpY2ggdGhlIHJlc2lkdWFsIHN1bSBvZiBzcXVhcmVzIGlzIGFzIGxvdyBhcyBwb3NzaWJsZS4gVGhpcyByZXN1bHRzIGluIG1pbmltaXppbmcgdGhlIGZvbGxvd2luZyBvYmplY3RpdmUgZnVuY3Rpb24gPHNwYW4gY2xhc3M9InRleCI+JFMkPC9zcGFuPiB3aXRoIHJlc3BlY3QgdG8gzrIuPC9wPgo8cCBjbGFzcz0idGV4Ij4kJFMmIzQwO86yJiM0MTsgJiM2MTsgfHxZIC0gWM6yfHzCsiQkPC9wPgo8cD5CeSBkZXJpdmluZyA8c3BhbiBjbGFzcz0idGV4Ij4kUyQ8L3NwYW4+IHRvIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOsiQ8L3NwYW4+LCBzZXR0aW5nIHRoZSBkZXJpdmF0aXZlIHRvIDxzcGFuIGNsYXNzPSJ0ZXgiPiQwJDwvc3Bhbj4gYW5kIHNvbHZpbmcgZm9yIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOsiQ8L3NwYW4+LCB3ZSBmaW5kIHRoZSB2YWx1ZSBmb3IgPHNwYW4gY2xhc3M9InRleCI+JM6yJDwvc3Bhbj4gd2hlcmUgPHNwYW4gY2xhc3M9InRleCI+JFMkPC9zcGFuPiBkb2VzIG5vdCBjaGFuZ2UuIEluIG90aGVyIHdvcmRzLCB3aGVyZSA8c3BhbiBjbGFzcz0idGV4Ij4kUyQ8L3NwYW4+IHJlYWNoZXMgYSBsb2NhbCBtaW5pbXVtIG9yIG1heGltdW0uPC9wPgo8L2Rpdj6wcGVyc2lzdF9qc19zdGF0ZcKkbWltZal0ZXh0L2h0bWyybGFzdF9ydW5fdGltZXN0YW1wy0HYgOcvPG+9rHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkZjBlYTk4NGYtM2MwMi00MGFjLWFjZmItY2E2MmRiZGZjZDFkuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXNNXqnZXJyb3JlZMLZJGU2ODFiOTBlLWUyMjktNGIzOS1hOTAzLWQxMzM1Zjg4NGI2NoimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52S48ZGl2IGNsYXNzPSJtYXJrZG93biI+PGgzPkFwcGVuZGl4PC9oMz4KPC9kaXY+sHBlcnNpc3RfanNfc3RhdGXCpG1pbWWpdGV4dC9odG1ssmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnL0FDD6xyb290YXNzaWduZWXAp2NlbGxfaWTZJGU2ODFiOTBlLWUyMjktNGIzOS1hOTAzLWQxMzM1Zjg4NGI2NrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzSe0p2Vycm9yZWTC2SRiMzg2NjBlZC05YjE3LTQ3ZDMtODYwYy1kNjVkNjNmODYyYjKIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedlJPGRpdiBjbGFzcz0ibWFya2Rvd24iPjxoMj5MaW5lYXIgcmVncmVzc2lvbiBhbmQgbGVhc3Qtc3F1YXJlczwvaDI+CjwvZGl2PrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5y87rCascm9vdGFzc2lnbmVlwKdjZWxsX2lk2SRiMzg2NjBlZC05YjE3LTQ3ZDMtODYwYy1kNjVkNjNmODYyYjK5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc0pO6dlcnJvcmVkwtkkYTQ4ZWUzYTUtZWVjZC00ZGZmLThjMjMtOThkOWM0YTM3ZjBhiKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHmgsHBlcnNpc3RfanNfc3RhdGXCpG1pbWWqdGV4dC9wbGFpbrJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5zojnsescm9vdGFzc2lnbmVlwKdjZWxsX2lk2SRhNDhlZTNhNS1lZWNkLTRkZmYtOGMyMy05OGQ5YzRhMzdmMGG5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc6aIjhcp2Vycm9yZWTC2SQ0YmNlNjUzMS0zZTc4LTQ2YjctOTJiYS0xYTA0MjE1MWQ0YTCIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedoFNTxkaXYgY2xhc3M9Im1hcmtkb3duIj48cD5UaGUgZnVuY3Rpb25zIHJldHVybiB0aGUgZXN0aW1hdGVkIGJlc3QgdmFsdWUgZm9yIDxzcGFuIGNsYXNzPSJ0ZXgiPiR4JDwvc3Bhbj4gYW5kIHRoZSBudW1iZXIgb2YgaXRlcmF0aW9ucyBpdCB0b29rIHRvIGdldCB0aGVyZS48L3A+CjxwPkdOQSBwZXJmb3JtcyBzaWduaWZpY2FudGx5IGJldHRlciB0aGFuIGJvdGggTE1BIGFuZCBHRCwgZm9yIHZhbHVlcyBjbG9zZSB0byB0aGUgbWluaW11bSBhbmQgZm9yIHZhbHVlcyBmdXJ0aGVyIGF3YXkuPC9wPgo8cD5XZSBjYW4gZXhwbGFpbiB0aGlzIHJlc3VsdC4gR05BIHBlcmZvcm1zIHBvb3JseSB3aGVuZXZlciB0aGUgYXBwcm94aW1hdGlvbiBmb3IgPHNwYW4gY2xhc3M9InRleCI+JGYmIzQwO3gsIM6yICYjNDM7IM60JiM0MTskPC9zcGFuPiBpcyBmYXIgZnJvbSB0aGUgYWN0dWFsIHZhbHVlLiBGb3IgbG93bHkgY29tcGxleCBmdW5jdGlvbnMsIGxpa2UgdGhlIFJvc2VuYnJvY2sgZnVuY3Rpb24sIGhhdmluZyBhIGxhcmdlIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOtCQ8L3NwYW4+IGRvZXMgbm90IGhhdmUgYW4gZXh0cmVtZSBlZmZlY3Qgb24gdGhlIGFwcHJveGltYXRpb24uIFdoZW4gd2UmIzM5O3JlIGZyb20gdGhlIGFjdHVhbCBtaW5pbXVtLCBoYXZpbmcgYSBsb3dseSBjb21wbGV4IGZ1bmN0aW9uIG1pZ2h0IGV2ZW4gYmUgaW4gR05BJiMzOTtzIGZhdm9yIGFzIGl0IHdpbGwgdGFrZSBsYXJnZSBzdGVwcy48L3A+CjxwPlRoZSBSb3NlbmJyb2NrIGZ1bmN0aW9uIGlzIHRoZSBuaWdodG1hcmUgb2YgR3JhZGllbnQgZGVzY2VudC4gVGhlIG5hcnJvdyB2YWxsZXkgd2hlcmUgdGhlIG1pbmltdW0gcmVzaWRlcyBsZWFkcyB0byBpbmZpbml0ZSBjb252ZXJnaW5nLiBBcyBMTUEgaW50ZXJwb2xhdGVzIGJldHdlZW4gR3JhZGllbnQgZGVzY2VudCBhbmQgR05BLCBpdCBpcyBub3Qgc3VycHJpc2luZyB0aGF0IHRoZSBhbGdvcml0aG0gZG9lc24mIzM5O3QgcGVyZm9ybSBhcyB3ZWxsIGFzIEdOQS4gV2hpbGUgTE1BIHRha2VzIGdvb2QgcXVhbGl0aWVzIG9mIGJvdGggYWxnb3JpdGhtcyBpdCBhbHNvIHRha2VzIHNvbWUgYmFkIG9uZXMsIG9uIHRvcCBvZiB0aGF0IEdOQSBoYXMgaXRzIGJhZCBxdWFsaXRpZXMgbnVsbGlmaWVkIGJlY2F1c2Ugb2YgdGhlIGZ1bmN0aW9uIGl0IGlzIHBlcmZvcm1lZCBvbi48L3A+CjxwPkluIHRoYXQgbG9naWMsIHdlIGNhbiBwcmVkaWN0IHRoYXQgTE1BIHdpbGwgbmVlZCBtb3JlIGl0ZXJhdGlvbnMgd2l0aCBpbmNyZWFzaW5nIGluaXRpYWwgdmFsdWUgZm9yIDxzcGFuIGNsYXNzPSJ0ZXgiPiTOuyQ8L3NwYW4+PC9wPgo8L2Rpdj6wcGVyc2lzdF9qc19zdGF0ZcKkbWltZal0ZXh0L2h0bWyybGFzdF9ydW5fdGltZXN0YW1wy0HYgOcvQQu3rHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkNGJjZTY1MzEtM2U3OC00NmI3LTkyYmEtMWEwNDIxNTFkNGEwuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXNQxGnZXJyb3JlZMLZJGU3YjdmNWFhLTJjYjAtNDczNy1hMjlkLTVlNGJmMWZkNzY3NoimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52TM8ZGl2IGNsYXNzPSJtYXJrZG93biI+PGg1PkxpbmVhcml6YXRpb248L2g1Pgo8L2Rpdj6wcGVyc2lzdF9qc19zdGF0ZcKkbWltZal0ZXh0L2h0bWyybGFzdF9ydW5fdGltZXN0YW1wy0HYgOcvPY1hrHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkZTdiN2Y1YWEtMmNiMC00NzM3LWEyOWQtNWU0YmYxZmQ3Njc2uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXNLZOnZXJyb3JlZMLZJGI5NDFmYTk1LWRlMzMtNGIzMy1hM2Y5LWMzYzllOTYzYjVjOIimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52SRKYWMgKGdlbmVyaWMgZnVuY3Rpb24gd2l0aCAxIG1ldGhvZCmwcGVyc2lzdF9qc19zdGF0ZcKkbWltZap0ZXh0L3BsYWlusmxhc3RfcnVuX3RpbWVzdGFtcMtB2IDnPP4nUqxyb290YXNzaWduZWXAp2NlbGxfaWTZJGI5NDFmYTk1LWRlMzMtNGIzMy1hM2Y5LWMzYzllOTYzYjVjOLlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzd60p2Vycm9yZWTC2SRmZjY2YzY1MC0xMDk3LTRkMTQtYWVkMC0xMTc5MDU3NmU3NWaIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9keYOoZWxlbWVudHOSkgGShaZwcmVmaXinRmxvYXQ2NKhlbGVtZW50c5KSAZKjMS4wqnRleHQvcGxhaW6SApKjMS4wqnRleHQvcGxhaW6kdHlwZaVBcnJheaxwcmVmaXhfc2hvcnSgqG9iamVjdGlksDEyNGMxYTIwMGQzMWZjN2LZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdJICkqEyqnRleHQvcGxhaW6kdHlwZaVUdXBsZahvYmplY3RpZLBkMDBiNzVlMWY2MzkyYTVhsHBlcnNpc3RfanNfc3RhdGXCpG1pbWXZIWFwcGxpY2F0aW9uL3ZuZC5wbHV0by50cmVlK29iamVjdLJsYXN0X3J1bl90aW1lc3RhbXDLQdiA5z+YriGscm9vdGFzc2lnbmVlwKdjZWxsX2lk2SRmZjY2YzY1MC0xMDk3LTRkMTQtYWVkMC0xMTc5MDU3NmU3NWa5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4Ka3/Dp2Vycm9yZWTCsWNlbGxfZGVwZW5kZW5jaWVz3gA22SQyMDA2M2NiYy03OTcwLTQwYTktODIyYy1lYzY3NDY0N2Y4YTeEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQyMDA2M2NiYy03OTcwLTQwYTktODIyYy1lYzY3NDY0N2Y4YTe0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKjTE1BkdkkNmUyMTMzMDEtNDg1Mi00ZDQ0LTkwNGUtYTY5YWQ2YzE4ZjNkoUaR2SRkOTE3ZjYzYS0wNTgwLTQyMDktOWU3OS1hMTA0NWM5NTFjNDbZJGE0YTAxNDE2LTE5MGMtNDU2MC04ZGFjLTc5ZDc4OWJhZDdjZoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJGE0YTAxNDE2LTE5MGMtNDU2MC04ZGFjLTc5ZDc4OWJhZDdjZrRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqdAbWRfc3RykKhnZXRpbmRleJDZJDg1MjgwYWViLWI3ODAtNDJjOS05MzA0LWFkNzdjYTFkZTk0NIS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDg1MjgwYWViLWI3ODAtNDJjOS05MzA0LWFkNzdjYTFkZTk0NLRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqNHTkGR2SQ3MDA1NzE3OC1jNTRiLTQyZTYtYmNiYS1mMzVlZWNiNDQyY2ShRpHZJGQ5MTdmNjNhLTA1ODAtNDIwOS05ZTc5LWExMDQ1Yzk1MWM0NtkkZjc2YTViM2YtZDM1Mi00ZjNkLWJkNGQtYTdkNjhmYWRjOGI1hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkZjc2YTViM2YtZDM1Mi00ZjNkLWJkNGQtYTdkNjhmYWRjOGI1tGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkOTViMjA0NTAtMmY5YS00NTA2LTkzNmYtNWE5MDM5YzY3ZGZlhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkOTViMjA0NTAtMmY5YS00NTA2LTkzNmYtNWE5MDM5YzY3ZGZltGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkYzYyNGEzZjgtOWI0Ni00NDc1LTgxNjktNjBhYzQ0M2UyYWYyhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkYzYyNGEzZjgtOWI0Ni00NDc1LTgxNjktNjBhYzQ0M2UyYWYytGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkNDcyZTBkOTAtMzE0NS00N2MyLTlmNDctNmZiMDYzZGVjNTc4hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkNDcyZTBkOTAtMzE0NS00N2MyLTlmNDctNmZiMDYzZGVjNTc4tGRvd25zdHJlYW1fY2VsbHNfbWFwgaJHRJLZJDNjNjU4ZWU5LWYyYzItNDExNy1iZjRkLThiYmE4ZWU2MjkwNtkkYTVkZDljZGItODdlNS00ZDVlLTgzMjktZTQ2ODFkOGRiNTE4snVwc3RyZWFtX2NlbGxzX21hcIihPJC0Rm9yd2FyZERpZmYuZ3JhZGllbnSQq0ZvcndhcmREaWZmkdkkYTQ4ZWUzYTUtZWVjZC00ZGZmLThjMjMtOThkOWM0YTM3ZjBhoS2QoS+QpmlzbGVzc5ChK5ChKpDZJGVkOTg0MGM4LTcwMGQtNGI2MC1hNTg0LWM5MjNiNzY2ZmQ0OIS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJGVkOTg0MGM4LTcwMGQtNGI2MC1hNTg0LWM5MjNiNzY2ZmQ0OLRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqdAbWRfc3RykKhnZXRpbmRleJDZJGI0NmFiZDMzLWVmZTgtNGQ1Ny1iMjc2LWM0YjZhNWI0ZGQzMoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJGI0NmFiZDMzLWVmZTgtNGQ1Ny1iMjc2LWM0YjZhNWI0ZGQzMrRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqdAbWRfc3RykKhnZXRpbmRleJDZJGJhN2Q2MGQ5LWIwMzgtNDU1MC1hYTAwLTkzZWFlMTQ4ZGFlMIS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJGJhN2Q2MGQ5LWIwMzgtNDU1MC1hYTAwLTkzZWFlMTQ4ZGFlMLRkb3duc3RyZWFtX2NlbGxzX21hcIGhZpLZJDNjNjU4ZWU5LWYyYzItNDExNy1iZjRkLThiYmE4ZWU2MjkwNtkkYTVkZDljZGItODdlNS00ZDVlLTgzMjktZTQ2ODFkOGRiNTE4snVwc3RyZWFtX2NlbGxzX21hcIShLZChXpChK5ChKpDZJDlkZDdkNWQxLWU2MjQtNDAwZC1iODJkLWNkZDdmYTU3NjUyNIS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDlkZDdkNWQxLWU2MjQtNDAwZC1iODJkLWNkZDdmYTU3NjUyNLRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqdAbWRfc3RykKhnZXRpbmRleJDZJDZjMzM3YTU2LTYyNWEtNGMzNS1hN2Q2LWNjNzFkMzZjOTc0MoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDZjMzM3YTU2LTYyNWEtNGMzNS1hN2Q2LWNjNzFkMzZjOTc0MrRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqNMTUGR2SQ2ZTIxMzMwMS00ODUyLTRkNDQtOTA0ZS1hNjlhZDZjMThmM2ShRpHZJGQ5MTdmNjNhLTA1ODAtNDIwOS05ZTc5LWExMDQ1Yzk1MWM0NtkkNzAwNTcxNzgtYzU0Yi00MmU2LWJjYmEtZjM1ZWVjYjQ0MmNkhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkNzAwNTcxNzgtYzU0Yi00MmU2LWJjYmEtZjM1ZWVjYjQ0MmNktGRvd25zdHJlYW1fY2VsbHNfbWFwgaNHTkGS2SQ4NTI4MGFlYi1iNzgwLTQyYzktOTMwNC1hZDc3Y2ExZGU5NDTZJDk5ZmRjNDFiLTEwMzMtNGMxYy04OWQ3LWRkZTZhZGZiYjk4NrJ1cHN0cmVhbV9jZWxsc19tYXCJoTyQoVOR2SQyZmNlMjM3NC0yM2Y2LTRiOWUtODFmMS1lY2JjNGUyZGUwMTKpdHJhbnNwb3NlkKEtkKZpc2xlc3OQoSuQoSqQo0phY5HZJGI5NDFmYTk1LWRlMzMtNGIzMy1hM2Y5LWMzYzllOTYzYjVjOKNpbnaQ2SRhZmI0MzFhMS1hMmUwLTQ0MTEtODA5Mi01ZWJmMGQ3OGZkZmSEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRhZmI0MzFhMS1hMmUwLTQ0MTEtODA5Mi01ZWJmMGQ3OGZkZmS0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SRkZGU1ZGFkZi05ZmUyLTQ5NTUtODE0My05NzAzNjVhMjdkNDCEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRkZGU1ZGFkZi05ZmUyLTQ5NTUtODE0My05NzAzNjVhMjdkNDC0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SRkOTE3ZjYzYS0wNTgwLTQyMDktOWU3OS1hMTA0NWM5NTFjNDaEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRkOTE3ZjYzYS0wNTgwLTQyMDktOWU3OS1hMTA0NWM5NTFjNDa0ZG93bnN0cmVhbV9jZWxsc19tYXCBoUaY2SQ4NTI4MGFlYi1iNzgwLTQyYzktOTMwNC1hZDc3Y2ExZGU5NDTZJDI4MDhlMmRhLTBjYzgtNGU1NS1iYmJkLWI2YWU4N2Y4ZmIyN9kkOTlmZGM0MWItMTAzMy00YzFjLTg5ZDctZGRlNmFkZmJiOTg22SRlMDdiZmFlNS1mZWYyLTQ4M2MtOGI1Ny0xZDgzNGMyMzU0OTXZJGZmNjZjNjUwLTEwOTctNGQxNC1hZWQwLTExNzkwNTc2ZTc1ZtkkYzMxNDk3NjMtYzViOC00MWQ3LWFkZjktMWYxNGRhNzZiMmYy2SQ2YzMzN2E1Ni02MjVhLTRjMzUtYTdkNi1jYzcxZDM2Yzk3NDLZJDIwMDYzY2JjLTc5NzAtNDBhOS04MjJjLWVjNjc0NjQ3ZjhhN7J1cHN0cmVhbV9jZWxsc19tYXCDoS2QoV6QoSqQ2SQ5NjY4NGU4YS1kZDRmLTQ0OTctOGMwNi0zYmQxMmJhZTM1N2OEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ5NjY4NGU4YS1kZDRmLTQ0OTctOGMwNi0zYmQxMmJhZTM1N2O0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SQ2MWRhODBkYy03ZDQ5LTRlYzUtYTBmMi03OGRlZTQ4ODUzY2WEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ2MWRhODBkYy03ZDQ5LTRlYzUtYTBmMi03OGRlZTQ4ODUzY2W0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SQ3YjVjYjJkMS0zYzUzLTQwMjYtODE4Yi04NmRhZDM4NGI1ZWOEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ3YjVjYjJkMS0zYzUzLTQwMjYtODE4Yi04NmRhZDM4NGI1ZWO0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SQ4OGE3NDlkYS0zOGUzLTQwYTAtYmJkOS1hZTliNjg4MjQzODGEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ4OGE3NDlkYS0zOGUzLTQwYTAtYmJkOS1hZTliNjg4MjQzODG0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SRlMzExZjU4ZC0yOGExLTRiMGItODFkOC0yNTE0OWRmZDkzOTKEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRlMzExZjU4ZC0yOGExLTRiMGItODFkOC0yNTE0OWRmZDkzOTK0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SQyMDI2ZDBjMC03YzZiLTQ4ZjYtYTExMy03YzYzMTM4ZTZiYzaEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQyMDI2ZDBjMC03YzZiLTQ4ZjYtYTExMy03YzYzMTM4ZTZiYza0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SRjMzE0OTc2My1jNWI4LTQxZDctYWRmOS0xZjE0ZGE3NmIyZjKEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRjMzE0OTc2My1jNWI4LTQxZDctYWRmOS0xZjE0ZGE3NmIyZjK0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKjTE1BkdkkNmUyMTMzMDEtNDg1Mi00ZDQ0LTkwNGUtYTY5YWQ2YzE4ZjNkoUaR2SRkOTE3ZjYzYS0wNTgwLTQyMDktOWU3OS1hMTA0NWM5NTFjNDbZJDNjYWQwZDIxLTY4ZjAtNDY3My05NWU3LTFhZDEyYjJjZTY3OIS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDNjYWQwZDIxLTY4ZjAtNDY3My05NWU3LTFhZDEyYjJjZTY3OLRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqdAbWRfc3RykKhnZXRpbmRleJDZJDI4MDhlMmRhLTBjYzgtNGU1NS1iYmJkLWI2YWU4N2Y4ZmIyN4S0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDI4MDhlMmRhLTBjYzgtNGU1NS1iYmJkLWI2YWU4N2Y4ZmIyN7Rkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqNMTUGR2SQ2ZTIxMzMwMS00ODUyLTRkNDQtOTA0ZS1hNjlhZDZjMThmM2ShRpHZJGQ5MTdmNjNhLTA1ODAtNDIwOS05ZTc5LWExMDQ1Yzk1MWM0NtkkNDg1NmE3Y2EtNzJlMy00OGMzLWI0ZTQtYTMxNDdmM2NhYzExhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkNDg1NmE3Y2EtNzJlMy00OGMzLWI0ZTQtYTMxNDdmM2NhYzExtGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkNmUyMTMzMDEtNDg1Mi00ZDQ0LTkwNGUtYTY5YWQ2YzE4ZjNkhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkNmUyMTMzMDEtNDg1Mi00ZDQ0LTkwNGUtYTY5YWQ2YzE4ZjNktGRvd25zdHJlYW1fY2VsbHNfbWFwgaNMTUGW2SQyODA4ZTJkYS0wY2M4LTRlNTUtYmJiZC1iNmFlODdmOGZiMjfZJGUwN2JmYWU1LWZlZjItNDgzYy04YjU3LTFkODM0YzIzNTQ5NdkkZmY2NmM2NTAtMTA5Ny00ZDE0LWFlZDAtMTE3OTA1NzZlNzVm2SRjMzE0OTc2My1jNWI4LTQxZDctYWRmOS0xZjE0ZGE3NmIyZjLZJDZjMzM3YTU2LTYyNWEtNGMzNS1hN2Q2LWNjNzFkMzZjOTc0MtkkMjAwNjNjYmMtNzk3MC00MGE5LTgyMmMtZWM2NzQ2NDdmOGE3snVwc3RyZWFtX2NlbGxzX21hcI2pdHJhbnNwb3NlkKZpc2xlc3OQpmxlbmd0aJChPJChSZChU5HZJDJmY2UyMzc0LTIzZjYtNGI5ZS04MWYxLWVjYmM0ZTJkZTAxMqEtkKEvkKZNYXRyaXiQoSuQoSqQo0phY5HZJGI5NDFmYTk1LWRlMzMtNGIzMy1hM2Y5LWMzYzllOTYzYjVjOKNpbnaQ2SQwMWVjNmNhOS1mYjM2LTQ0NWUtOTYyMy03YjJlYzI0NzY1OGWEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQwMWVjNmNhOS1mYjM2LTQ0NWUtOTYyMy03YjJlYzI0NzY1OGW0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SQyZmNlMjM3NC0yM2Y2LTRiOWUtODFmMS1lY2JjNGUyZGUwMTKEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQyZmNlMjM3NC0yM2Y2LTRiOWUtODFmMS1lY2JjNGUyZGUwMTK0ZG93bnN0cmVhbV9jZWxsc19tYXCBoVOS2SQ3MDA1NzE3OC1jNTRiLTQyZTYtYmNiYS1mMzVlZWNiNDQyY2TZJDZlMjEzMzAxLTQ4NTItNGQ0NC05MDRlLWE2OWFkNmMxOGYzZLJ1cHN0cmVhbV9jZWxsc19tYXCCqXRyYW5zcG9zZZChKpDZJGI5ZmExYzNiLTE2ZDctNDU1MS04NTA4LTRlZTg4ODM3MTQ3NoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJGI5ZmExYzNiLTE2ZDctNDU1MS04NTA4LTRlZTg4ODM3MTQ3NrRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqdAbWRfc3RykKhnZXRpbmRleJDZJDNjNjU4ZWU5LWYyYzItNDExNy1iZjRkLThiYmE4ZWU2MjkwNoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDNjNjU4ZWU5LWYyYzItNDExNy1iZjRkLThiYmE4ZWU2MjkwNrRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqFmkdkkYmE3ZDYwZDktYjAzOC00NTUwLWFhMDAtOTNlYWUxNDhkYWUwokdEkdkkNDcyZTBkOTAtMzE0NS00N2MyLTlmNDctNmZiMDYzZGVjNTc42SRlNGU0ZTQ1ZC1jYjRhLTQ0MTMtODU4Ny05YWFiODk3NDgxM2KEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRlNGU0ZTQ1ZC1jYjRhLTQ0MTMtODU4Ny05YWFiODk3NDgxM2K0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SQ1NjMyNDBlZC00YTBhLTQ3Y2QtYTU2NC1hNmQ2ZDE5ZjU4ZWaEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ1NjMyNDBlZC00YTBhLTQ3Y2QtYTU2NC1hNmQ2ZDE5ZjU4ZWa0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SRlMDdiZmFlNS1mZWYyLTQ4M2MtOGI1Ny0xZDgzNGMyMzU0OTWEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRlMDdiZmFlNS1mZWYyLTQ4M2MtOGI1Ny0xZDgzNGMyMzU0OTW0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKjTE1BkdkkNmUyMTMzMDEtNDg1Mi00ZDQ0LTkwNGUtYTY5YWQ2YzE4ZjNkoUaR2SRkOTE3ZjYzYS0wNTgwLTQyMDktOWU3OS1hMTA0NWM5NTFjNDbZJGE1ZGQ5Y2RiLTg3ZTUtNGQ1ZS04MzI5LWU0NjgxZDhkYjUxOIS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJGE1ZGQ5Y2RiLTg3ZTUtNGQ1ZS04MzI5LWU0NjgxZDhkYjUxOLRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqFmkdkkYmE3ZDYwZDktYjAzOC00NTUwLWFhMDAtOTNlYWUxNDhkYWUwokdEkdkkNDcyZTBkOTAtMzE0NS00N2MyLTlmNDctNmZiMDYzZGVjNTc42SQ1YjQyMTk4MC03ZmE2LTExZWMtMjIwNS1hZGVhZDE1ODhkY2GEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ1YjQyMTk4MC03ZmE2LTExZWMtMjIwNS1hZGVhZDE1ODhkY2G0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SRlOGM3Zjg0Zi1jODU2LTQxZmEtYjEyOS01ZGZlZjc0YjZmZjCEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRlOGM3Zjg0Zi1jODU2LTQxZmEtYjEyOS01ZGZlZjc0YjZmZjC0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SRhZjhmMjI2Ni00ZjM3LTQ2YmEtOWNiNS04MDc4YzQ3MjkyM2OEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRhZjhmMjI2Ni00ZjM3LTQ2YmEtOWNiNS04MDc4YzQ3MjkyM2O0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SRjYTRkNGJiOC0yZjZkLTRhNjktYTZiMS02Y2MwZmM4YjViOTmEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRjYTRkNGJiOC0yZjZkLTRhNjktYTZiMS02Y2MwZmM4YjViOTm0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SRjYTgwMzAyNy00MDYzLTRhMzQtODZkYS1jNDFiNjY3YWVlMDaEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRjYTgwMzAyNy00MDYzLTRhMzQtODZkYS1jNDFiNjY3YWVlMDa0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SQwMzY3MDU1NS1iNTE3LTQyY2YtODE0NC0zYzAwN2E2NmFhNTWEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQwMzY3MDU1NS1iNTE3LTQyY2YtODE0NC0zYzAwN2E2NmFhNTW0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SQzZTAxN2RmMC1hMzVjLTQ1Y2QtOWY1ZS1mNTEzZWE3NDVhZDmEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQzZTAxN2RmMC1hMzVjLTQ1Y2QtOWY1ZS1mNTEzZWE3NDVhZDm0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SQ5OWZkYzQxYi0xMDMzLTRjMWMtODlkNy1kZGU2YWRmYmI5ODaEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ5OWZkYzQxYi0xMDMzLTRjMWMtODlkNy1kZGU2YWRmYmI5ODa0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKjR05BkdkkNzAwNTcxNzgtYzU0Yi00MmU2LWJjYmEtZjM1ZWVjYjQ0MmNkoUaR2SRkOTE3ZjYzYS0wNTgwLTQyMDktOWU3OS1hMTA0NWM5NTFjNDbZJGU1YmNkMTE3LWRlODgtNDUyYi05OTg0LTY0NDgzYzUxYzU1N4S0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJGU1YmNkMTE3LWRlODgtNDUyYi05OTg0LTY0NDgzYzUxYzU1N7Rkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqdAbWRfc3RykKhnZXRpbmRleJDZJDI4ZDkwODA4LTcyZmQtNDc5NS05ZjA3LWQxMmI2YTE2NTg4MIS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDI4ZDkwODA4LTcyZmQtNDc5NS05ZjA3LWQxMmI2YTE2NTg4MLRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqdAbWRfc3RykKhnZXRpbmRleJDZJDM3ZTk4MjlmLTU0MWItNDU1Zi1hZDMwLTZkMjQ5NDY5Mzc4NIS0cHJlY2VkZW5jZV9oZXVyaXN0aWMHp2NlbGxfaWTZJDM3ZTk4MjlmLTU0MWItNDU1Zi1hZDMwLTZkMjQ5NDY5Mzc4NLRkb3duc3RyZWFtX2NlbGxzX21hcIGtTGluZWFyQWxnZWJyYZCydXBzdHJlYW1fY2VsbHNfbWFwgNkkZjBlYTk4NGYtM2MwMi00MGFjLWFjZmItY2E2MmRiZGZjZDFkhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkZjBlYTk4NGYtM2MwMi00MGFjLWFjZmItY2E2MmRiZGZjZDFktGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkZTY4MWI5MGUtZTIyOS00YjM5LWE5MDMtZDEzMzVmODg0YjY2hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkZTY4MWI5MGUtZTIyOS00YjM5LWE5MDMtZDEzMzVmODg0YjY2tGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkYjM4NjYwZWQtOWIxNy00N2QzLTg2MGMtZDY1ZDYzZjg2MmIyhLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkYjM4NjYwZWQtOWIxNy00N2QzLTg2MGMtZDY1ZDYzZjg2MmIytGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkYTQ4ZWUzYTUtZWVjZC00ZGZmLThjMjMtOThkOWM0YTM3ZjBhhLRwcmVjZWRlbmNlX2hldXJpc3RpYwenY2VsbF9pZNkkYTQ4ZWUzYTUtZWVjZC00ZGZmLThjMjMtOThkOWM0YTM3ZjBhtGRvd25zdHJlYW1fY2VsbHNfbWFwgatGb3J3YXJkRGlmZpLZJDQ3MmUwZDkwLTMxNDUtNDdjMi05ZjQ3LTZmYjA2M2RlYzU3ONkkYjk0MWZhOTUtZGUzMy00YjMzLWEzZjktYzNjOWU5NjNiNWM4snVwc3RyZWFtX2NlbGxzX21hcIDZJDRiY2U2NTMxLTNlNzgtNDZiNy05MmJhLTFhMDQyMTUxZDRhMIS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJDRiY2U2NTMxLTNlNzgtNDZiNy05MmJhLTFhMDQyMTUxZDRhMLRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqdAbWRfc3RykKhnZXRpbmRleJDZJGU3YjdmNWFhLTJjYjAtNDczNy1hMjlkLTVlNGJmMWZkNzY3NoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJGU3YjdmNWFhLTJjYjAtNDczNy1hMjlkLTVlNGJmMWZkNzY3NrRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqdAbWRfc3RykKhnZXRpbmRleJDZJGI5NDFmYTk1LWRlMzMtNGIzMy1hM2Y5LWMzYzllOTYzYjVjOIS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJGI5NDFmYTk1LWRlMzMtNGIzMy1hM2Y5LWMzYzllOTYzYjVjOLRkb3duc3RyZWFtX2NlbGxzX21hcIGjSmFjktkkNzAwNTcxNzgtYzU0Yi00MmU2LWJjYmEtZjM1ZWVjYjQ0MmNk2SQ2ZTIxMzMwMS00ODUyLTRkNDQtOTA0ZS1hNjlhZDZjMThmM2SydXBzdHJlYW1fY2VsbHNfbWFwgqtGb3J3YXJkRGlmZpHZJGE0OGVlM2E1LWVlY2QtNGRmZi04YzIzLTk4ZDljNGEzN2YwYbRGb3J3YXJkRGlmZi5qYWNvYmlhbpDZJGZmNjZjNjUwLTEwOTctNGQxNC1hZWQwLTExNzkwNTc2ZTc1ZoS0cHJlY2VkZW5jZV9oZXVyaXN0aWMJp2NlbGxfaWTZJGZmNjZjNjUwLTEwOTctNGQxNC1hZWQwLTExNzkwNTc2ZTc1ZrRkb3duc3RyZWFtX2NlbGxzX21hcICydXBzdHJlYW1fY2VsbHNfbWFwgqNMTUGR2SQ2ZTIxMzMwMS00ODUyLTRkNDQtOTA0ZS1hNjlhZDZjMThmM2ShRpHZJGQ5MTdmNjNhLTA1ODAtNDIwOS05ZTc5LWExMDQ1Yzk1MWM0NrRjZWxsX2V4ZWN1dGlvbl9vcmRlctwANtkkYTQ4ZWUzYTUtZWVjZC00ZGZmLThjMjMtOThkOWM0YTM3ZjBh2SQzN2U5ODI5Zi01NDFiLTQ1NWYtYWQzMC02ZDI0OTQ2OTM3ODTZJDViNDIxOTgwLTdmYTYtMTFlYy0yMjA1LWFkZWFkMTU4OGRjYdkkY2E0ZDRiYjgtMmY2ZC00YTY5LWE2YjEtNmNjMGZjOGI1Yjk52SRiMzg2NjBlZC05YjE3LTQ3ZDMtODYwYy1kNjVkNjNmODYyYjLZJGU0ZTRlNDVkLWNiNGEtNDQxMy04NTg3LTlhYWI4OTc0ODEzYtkkYzYyNGEzZjgtOWI0Ni00NDc1LTgxNjktNjBhYzQ0M2UyYWYy2SRmMGVhOTg0Zi0zYzAyLTQwYWMtYWNmYi1jYTYyZGJkZmNkMWTZJGFmYjQzMWExLWEyZTAtNDQxMS04MDkyLTVlYmYwZDc4ZmRmZNkkZWQ5ODQwYzgtNzAwZC00YjYwLWE1ODQtYzkyM2I3NjZmZDQ42SQ2MWRhODBkYy03ZDQ5LTRlYzUtYTBmMi03OGRlZTQ4ODUzY2XZJGFmOGYyMjY2LTRmMzctNDZiYS05Y2I1LTgwNzhjNDcyOTIzY9kkM2UwMTdkZjAtYTM1Yy00NWNkLTlmNWUtZjUxM2VhNzQ1YWQ52SQ4OGE3NDlkYS0zOGUzLTQwYTAtYmJkOS1hZTliNjg4MjQzODHZJGU3YjdmNWFhLTJjYjAtNDczNy1hMjlkLTVlNGJmMWZkNzY3NtkkYjlmYTFjM2ItMTZkNy00NTUxLTg1MDgtNGVlODg4MzcxNDc22SQ5ZGQ3ZDVkMS1lNjI0LTQwMGQtYjgyZC1jZGQ3ZmE1NzY1MjTZJDAxZWM2Y2E5LWZiMzYtNDQ1ZS05NjIzLTdiMmVjMjQ3NjU4ZdkkZGRlNWRhZGYtOWZlMi00OTU1LTgxNDMtOTcwMzY1YTI3ZDQw2SQ3YjVjYjJkMS0zYzUzLTQwMjYtODE4Yi04NmRhZDM4NGI1ZWPZJDQ4NTZhN2NhLTcyZTMtNDhjMy1iNGU0LWEzMTQ3ZjNjYWMxMdkkZTViY2QxMTctZGU4OC00NTJiLTk5ODQtNjQ0ODNjNTFjNTU32SRhNGEwMTQxNi0xOTBjLTQ1NjAtOGRhYy03OWQ3ODliYWQ3Y2bZJGNhODAzMDI3LTQwNjMtNGEzNC04NmRhLWM0MWI2NjdhZWUwNtkkZThjN2Y4NGYtYzg1Ni00MWZhLWIxMjktNWRmZWY3NGI2ZmYw2SRiNDZhYmQzMy1lZmU4LTRkNTctYjI3Ni1jNGI2YTViNGRkMzLZJDIwMjZkMGMwLTdjNmItNDhmNi1hMTEzLTdjNjMxMzhlNmJjNtkkM2NhZDBkMjEtNjhmMC00NjczLTk1ZTctMWFkMTJiMmNlNjc42SQ1NjMyNDBlZC00YTBhLTQ3Y2QtYTU2NC1hNmQ2ZDE5ZjU4ZWbZJDk2Njg0ZThhLWRkNGYtNDQ5Ny04YzA2LTNiZDEyYmFlMzU3Y9kkMjhkOTA4MDgtNzJmZC00Nzk1LTlmMDctZDEyYjZhMTY1ODgw2SRkOTE3ZjYzYS0wNTgwLTQyMDktOWU3OS1hMTA0NWM5NTFjNDbZJGY3NmE1YjNmLWQzNTItNGYzZC1iZDRkLWE3ZDY4ZmFkYzhiNdkkZTMxMWY1OGQtMjhhMS00YjBiLTgxZDgtMjUxNDlkZmQ5Mzky2SQ5NWIyMDQ1MC0yZjlhLTQ1MDYtOTM2Zi01YTkwMzljNjdkZmXZJGJhN2Q2MGQ5LWIwMzgtNDU1MC1hYTAwLTkzZWFlMTQ4ZGFlMNkkNDcyZTBkOTAtMzE0NS00N2MyLTlmNDctNmZiMDYzZGVjNTc42SQzYzY1OGVlOS1mMmMyLTQxMTctYmY0ZC04YmJhOGVlNjI5MDbZJGE1ZGQ5Y2RiLTg3ZTUtNGQ1ZS04MzI5LWU0NjgxZDhkYjUxONkkNGJjZTY1MzEtM2U3OC00NmI3LTkyYmEtMWEwNDIxNTFkNGEw2SQwMzY3MDU1NS1iNTE3LTQyY2YtODE0NC0zYzAwN2E2NmFhNTXZJGU2ODFiOTBlLWUyMjktNGIzOS1hOTAzLWQxMzM1Zjg4NGI2NtkkMmZjZTIzNzQtMjNmNi00YjllLTgxZjEtZWNiYzRlMmRlMDEy2SRiOTQxZmE5NS1kZTMzLTRiMzMtYTNmOS1jM2M5ZTk2M2I1YzjZJDcwMDU3MTc4LWM1NGItNDJlNi1iY2JhLWYzNWVlY2I0NDJjZNkkODUyODBhZWItYjc4MC00MmM5LTkzMDQtYWQ3N2NhMWRlOTQ02SQ5OWZkYzQxYi0xMDMzLTRjMWMtODlkNy1kZGU2YWRmYmI5ODbZJDZlMjEzMzAxLTQ4NTItNGQ0NC05MDRlLWE2OWFkNmMxOGYzZNkkMjgwOGUyZGEtMGNjOC00ZTU1LWJiYmQtYjZhZTg3ZjhmYjI32SRlMDdiZmFlNS1mZWYyLTQ4M2MtOGI1Ny0xZDgzNGMyMzU0OTXZJGZmNjZjNjUwLTEwOTctNGQxNC1hZWQwLTExNzkwNTc2ZTc1ZtkkYzMxNDk3NjMtYzViOC00MWQ3LWFkZjktMWYxNGRhNzZiMmYy2SQ2YzMzN2E1Ni02MjVhLTRjMzUtYTdkNi1jYzcxZDM2Yzk3NDLZJDIwMDYzY2JjLTc5NzAtNDBhOS04MjJjLWVjNjc0NjQ3ZjhhN7RsYXN0X2hvdF9yZWxvYWRfdGltZcsAAAAAAAAAAKlzaG9ydHBhdGi1TGV2ZW5iZXJnTWFycXVhcmR0LmpsrnByb2Nlc3Nfc3RhdHVzpXJlYWR5pHBhdGjZwS9Vc2Vycy9taWNoaWVsc3RvY2svR29vZ2xlIERyaXZlL1RlYWNoaW5nL1NUTU8vMjAyMS0yMDIyL0V4YW0gcHJvamVjdHMvRXhhbSBwcm9qZWN0IERvd25sb2FkIDAyIEZlYnJ1YXJ5IDIwMjIgOTM3IEFNLzI3OTY5LTUyODk0IC0gVGhpZW1lbiBNdXNzY2hlIC0gMzEgSmFudWFyeSAyMDIyIDYyMiBQTS9MZXZlbmJlcmdNYXJxdWFyZHQuamyubGFzdF9zYXZlX3RpbWXLQdiA5zo7ygyqY2VsbF9vcmRlctwANtkkNWI0MjE5ODAtN2ZhNi0xMWVjLTIyMDUtYWRlYWQxNTg4ZGNh2SRjYTRkNGJiOC0yZjZkLTRhNjktYTZiMS02Y2MwZmM4YjViOTnZJGIzODY2MGVkLTliMTctNDdkMy04NjBjLWQ2NWQ2M2Y4NjJiMtkkZTRlNGU0NWQtY2I0YS00NDEzLTg1ODctOWFhYjg5NzQ4MTNi2SRjNjI0YTNmOC05YjQ2LTQ0NzUtODE2OS02MGFjNDQzZTJhZjLZJGYwZWE5ODRmLTNjMDItNDBhYy1hY2ZiLWNhNjJkYmRmY2QxZNkkYWZiNDMxYTEtYTJlMC00NDExLTgwOTItNWViZjBkNzhmZGZk2SRlZDk4NDBjOC03MDBkLTRiNjAtYTU4NC1jOTIzYjc2NmZkNDjZJDYxZGE4MGRjLTdkNDktNGVjNS1hMGYyLTc4ZGVlNDg4NTNjZdkkYWY4ZjIyNjYtNGYzNy00NmJhLTljYjUtODA3OGM0NzI5MjNj2SQzZTAxN2RmMC1hMzVjLTQ1Y2QtOWY1ZS1mNTEzZWE3NDVhZDnZJDg4YTc0OWRhLTM4ZTMtNDBhMC1iYmQ5LWFlOWI2ODgyNDM4MdkkZTdiN2Y1YWEtMmNiMC00NzM3LWEyOWQtNWU0YmYxZmQ3Njc22SRiOWZhMWMzYi0xNmQ3LTQ1NTEtODUwOC00ZWU4ODgzNzE0NzbZJDlkZDdkNWQxLWU2MjQtNDAwZC1iODJkLWNkZDdmYTU3NjUyNNkkMDFlYzZjYTktZmIzNi00NDVlLTk2MjMtN2IyZWMyNDc2NThl2SRkZGU1ZGFkZi05ZmUyLTQ5NTUtODE0My05NzAzNjVhMjdkNDDZJDdiNWNiMmQxLTNjNTMtNDAyNi04MThiLTg2ZGFkMzg0YjVlY9kkNDg1NmE3Y2EtNzJlMy00OGMzLWI0ZTQtYTMxNDdmM2NhYzEx2SRlNWJjZDExNy1kZTg4LTQ1MmItOTk4NC02NDQ4M2M1MWM1NTfZJGE0YTAxNDE2LTE5MGMtNDU2MC04ZGFjLTc5ZDc4OWJhZDdjZtkkY2E4MDMwMjctNDA2My00YTM0LTg2ZGEtYzQxYjY2N2FlZTA22SRlOGM3Zjg0Zi1jODU2LTQxZmEtYjEyOS01ZGZlZjc0YjZmZjDZJGI0NmFiZDMzLWVmZTgtNGQ1Ny1iMjc2LWM0YjZhNWI0ZGQzMtkkMjAyNmQwYzAtN2M2Yi00OGY2LWExMTMtN2M2MzEzOGU2YmM22SQzY2FkMGQyMS02OGYwLTQ2NzMtOTVlNy0xYWQxMmIyY2U2NzjZJDU2MzI0MGVkLTRhMGEtNDdjZC1hNTY0LWE2ZDZkMTlmNThlZtkkOTY2ODRlOGEtZGQ0Zi00NDk3LThjMDYtM2JkMTJiYWUzNTdj2SQyOGQ5MDgwOC03MmZkLTQ3OTUtOWYwNy1kMTJiNmExNjU4ODDZJGQ5MTdmNjNhLTA1ODAtNDIwOS05ZTc5LWExMDQ1Yzk1MWM0NtkkNzAwNTcxNzgtYzU0Yi00MmU2LWJjYmEtZjM1ZWVjYjQ0MmNk2SRmNzZhNWIzZi1kMzUyLTRmM2QtYmQ0ZC1hN2Q2OGZhZGM4YjXZJDZlMjEzMzAxLTQ4NTItNGQ0NC05MDRlLWE2OWFkNmMxOGYzZNkkZTMxMWY1OGQtMjhhMS00YjBiLTgxZDgtMjUxNDlkZmQ5Mzky2SQ5NWIyMDQ1MC0yZjlhLTQ1MDYtOTM2Zi01YTkwMzljNjdkZmXZJGJhN2Q2MGQ5LWIwMzgtNDU1MC1hYTAwLTkzZWFlMTQ4ZGFlMNkkNDcyZTBkOTAtMzE0NS00N2MyLTlmNDctNmZiMDYzZGVjNTc42SQ4NTI4MGFlYi1iNzgwLTQyYzktOTMwNC1hZDc3Y2ExZGU5NDTZJDI4MDhlMmRhLTBjYzgtNGU1NS1iYmJkLWI2YWU4N2Y4ZmIyN9kkM2M2NThlZTktZjJjMi00MTE3LWJmNGQtOGJiYThlZTYyOTA22SQ5OWZkYzQxYi0xMDMzLTRjMWMtODlkNy1kZGU2YWRmYmI5ODbZJGUwN2JmYWU1LWZlZjItNDgzYy04YjU3LTFkODM0YzIzNTQ5NdkkYTVkZDljZGItODdlNS00ZDVlLTgzMjktZTQ2ODFkOGRiNTE42SQ0YmNlNjUzMS0zZTc4LTQ2YjctOTJiYS0xYTA0MjE1MWQ0YTDZJGZmNjZjNjUwLTEwOTctNGQxNC1hZWQwLTExNzkwNTc2ZTc1ZtkkYzMxNDk3NjMtYzViOC00MWQ3LWFkZjktMWYxNGRhNzZiMmYy2SQ2YzMzN2E1Ni02MjVhLTRjMzUtYTdkNi1jYzcxZDM2Yzk3NDLZJDIwMDYzY2JjLTc5NzAtNDBhOS04MjJjLWVjNjc0NjQ3ZjhhN9kkMDM2NzA1NTUtYjUxNy00MmNmLTgxNDQtM2MwMDdhNjZhYTU12SRlNjgxYjkwZS1lMjI5LTRiMzktYTkwMy1kMTMzNWY4ODRiNjbZJGE0OGVlM2E1LWVlY2QtNGRmZi04YzIzLTk4ZDljNGEzN2YwYdkkMzdlOTgyOWYtNTQxYi00NTVmLWFkMzAtNmQyNDk0NjkzNzg02SQyZmNlMjM3NC0yM2Y2LTRiOWUtODFmMS1lY2JjNGUyZGUwMTLZJGI5NDFmYTk1LWRlMzMtNGIzMy1hM2Y5LWMzYzllOTYzYjVjOKVuYnBrZ4eyaW5zdGFsbGVkX3ZlcnNpb25zgqtGb3J3YXJkRGlmZqcwLjEwLjI0rUxpbmVhckFsZ2VicmGmc3RkbGlisHRlcm1pbmFsX291dHB1dHOCq0ZvcndhcmREaWZm2esbWzMybRtbMW0gIE5vIENoYW5nZXMbWzIybRtbMzltIHRvIGAvcHJpdmF0ZS92YXIvZm9sZGVycy80Ny90cXNsX3NreDZtbDI5OWJjeWhwc2xtcjgwMDAwZ24vVC9qbF9yOW5VNVkvUHJvamVjdC50b21sYAobWzMybRtbMW0gIE5vIENoYW5nZXMbWzIybRtbMzltIHRvIGAvcHJpdmF0ZS92YXIvZm9sZGVycy80Ny90cXNsX3NreDZtbDI5OWJjeWhwc2xtcjgwMDAwZ24vVC9qbF9yOW5VNVkvTWFuaWZlc3QudG9tbGAKrUxpbmVhckFsZ2VicmHZ6xtbMzJtG1sxbSAgTm8gQ2hhbmdlcxtbMjJtG1szOW0gdG8gYC9wcml2YXRlL3Zhci9mb2xkZXJzLzQ3L3Rxc2xfc2t4Nm1sMjk5YmN5aHBzbG1yODAwMDBnbi9UL2psX3I5blU1WS9Qcm9qZWN0LnRvbWxgChtbMzJtG1sxbSAgTm8gQ2hhbmdlcxtbMjJtG1szOW0gdG8gYC9wcml2YXRlL3Zhci9mb2xkZXJzLzQ3L3Rxc2xfc2t4Nm1sMjk5YmN5aHBzbG1yODAwMDBnbi9UL2psX3I5blU1WS9NYW5pZmVzdC50b21sYAqnZW5hYmxlZMO3cmVzdGFydF9yZWNvbW1lbmRlZF9tc2fAtHJlc3RhcnRfcmVxdWlyZWRfbXNnwK1idXN5X3BhY2thZ2VzkKxpbnN0YW50aWF0ZWTDq2NlbGxfaW5wdXRz3gA22SQyMDA2M2NiYy03OTcwLTQwYTktODIyYy1lYzY3NDY0N2Y4YTeEp2NlbGxfaWTZJDIwMDYzY2JjLTc5NzAtNDBhOS04MjJjLWVjNjc0NjQ3ZjhhN7BydW5uaW5nX2Rpc2FibGVkwqRjb2Rlu0xNQShGLCBbLTUwMCwgNjAwXSwgzrs9MTAwKatjb2RlX2ZvbGRlZMLZJGE0YTAxNDE2LTE5MGMtNDU2MC04ZGFjLTc5ZDc4OWJhZDdjZoSnY2VsbF9pZNkkYTRhMDE0MTYtMTkwYy00NTYwLThkYWMtNzlkNzg5YmFkN2NmsHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXaCEltZCIiIgpBdCBsb25nIGxhc3QsIHRoaXMgaXMgd2hlcmUgTE1BIGNvbWVzIGludG8gcGxheS4gCkl0cyBtZXRob2QgaXMgY29weS1wYXN0ZSBHTkEsIHdpdGggdGhlIGFkZGl0aW9uIG9mIGEgZGFtcGluZyBwYXJhbWV0ZXIgaW4gdGhlIGVxdWF0aW9uIGZvciDOtC4gTm90IHN1cnByaXNpbmdseSwgTE1BIGlzIGFsc28gY2FsbGVkIGRhbXBlZCBsZWFzdCBzcXVhcmVzLgoKR2F1c3MtTmV3dG9uCmBgYG1hdGgKW0rhtYBKXc60ID0gSuG1gFtZIC0gZijOsildCmBgYApMZXZlbmJlcmctTWFycXVhcmR0CmBgYG1hdGgKW0rhtYBKICsgzrtJXc60ID0gSuG1gFtZIC0gZijOsildCmBgYApUaGUgbm9uLW5lZ2F0aXZlIGRhbXBpbmcgZmFjdG9yIGRldGVybWluZXMgdGhlIGRpcmVjdGlvbiBvZiAkzrQkLiAKCldoZW4gJM67JCBuZWFycyAkMCQsIExNQSBpcyBleGFjdGx5IEdOQS4gSW4gdGhpcyBjYXNlLCAkzrQkIHBvaW50cyBpbiBhIGRpcmVjdGlvbiB3aGVyZSBTIGdldHMgc21hbGxlciwgYnV0IGl0IG1pZ2h0IG9ubHkgZ2V0IHNtYWxsZXIgZm9yIGEgdmVyeSBzaG9ydCBiaXQgYmVmb3JlIGl0IHN0YXJ0cyBpbmNyZWFzaW5nIGFnYWluLiAKCkl0J3MgaGFyZCB0byBnZXQgYW4gaW50dWl0aXZlIHZpZXcgb24gdGhpcy4gU2VlIGl0IGFzIGEgcmVzdWx0IG9mIGxpbmVhcml6aW5nICRmKHgsIM6yKSQgYXJvdW5kICTOsuKCgCQgYW5kIHVzaW5nIHRoaXMgdG8gYXBwcm94aW1hdGUgJGYoeCwgzrLigoAgKyDOtCkkLiBUaGUgaW5pdGlhbCBkaXJlY3Rpb24gb2YgJM60JCBtaWdodCBiZSBjb3JyZWN0LCBiZWNhdXNlIHRoaXMgZGlyZWN0aW9uIGlzIGV4YWN0bHkgdGhlIHNhbWUgZm9yIHNtYWxsIGFuZCBsYXJnZSAkzrQkICh0aGUgZGlyZWN0aW9uIG9mIGEgbGluZWFyIGZ1bmN0aW9uIGRvZXMgbm90IGNoYW5nZSksIGJ1dCBpZiB0aGUgZ3JhZGllbnQgb2YgJGYoeCwgzrIpJCBjaGFuZ2VzIGRyYXN0aWNhbGx5IGFyb3VuZCAkzrLigoAkLCB2YWx1ZXMgb2YgdGhlIGFwcHJveGltYXRlZCAkZih4LCDOsuKCgCArIM60KSQgZm9yIGxhcmdlICTOtCQgd2lsbCBiZSBmYXIgZnJvbSB0aGUgYWN0dWFsIHZhbHVlcy4gRXh0cmFwb2xhdGluZyB0byB0aGUgR2F1c3MtTmV3dG9uIGVxdWF0aW9uICRbSuG1gEpdzrQgPSBK4bWAW1kgLSBmKM6yKV0kLCB3ZSBjYW4gYXNzdW1lIM60IHBvaW50cyBpbiB0aGUgY29ycmVjdCBkaXJlY3Rpb24gZm9yIGEgbG9jYWwgbWluaW11bSBvZiAkzrIgKyDOtCQgd2hpbGUgdGhlIHN0ZXAgc2l6ZSBzaG91bGQgYmUgdGFrZW4gd2l0aCBhIGdyYWluIG9mIHNhbHQuCgpXZSB3YW5kZXJlZCBvZmYgYSBiaXQgdGhlcmUuIFNvIGlmICTOuyQgbmVhcnMgJDAkLCB0aGUgTGV2ZW5iZXJnLU1hcnF1YXJkdCBlcXVhdGlvbiBlcXVhbHMgdGhlIEdhdXNzLU5ld3RvbiBlcXVhdGlvbi4gQ29udmVyc2VseSBpZiAkzrskIG5lYXJzICQr4oieJCwgdGhlbiAkzrQgPSBbSuG1gEogKyDOu0ld4oG7wrlK4bWAW1kgLSBmKM6yKV0kLCB0aGUgdGVybSAkSuG1gEokIGluIHRoZSBpbnZlcnNlIGlzIG5lZ2xpZ2libGUgaW4gY29tcGFyaXNvbiB0byAkzrtJJC4gSGVuY2UgdGhlIGRpcmVjdGlvbiBvZiAkzrQkIG5lYXJzIHRoZSBkaXJlY3Rpb24gb2YgJErhtYBbWSAtIGYozrIpXSQuIFRoYXQgaXMgdmVyeSB1c2VmdWwgaW5kZWVkLCBiZWNhdXNlIHRoZSBncmFkaWVudCBvZiAkUyQgd2l0aCByZXNwZWN0IHRvICTOsiQgZXF1YWxzICQtMihK4bWAW1kgLSBmKM6yKV0p4bWAJCwgc28gd2UgY2FuIGNvbmNsdWRlIHRoYXQgJM60JCBwb2ludHMgaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBvZiB0aGUgZ3JhZGllbnQgb2YgJFMkIHdoZW4gJM67JCBuZWFycyAk4oieJAoKSW4gb3RoZXIgd29yZHMsIExNQSBjaGFuZ2VzIHRoZSBkaXJlY3Rpb24gb2YgJM60JCBiZXR3ZWVuIGl0cyBvcmlnaW5hbCBkaXJlY3Rpb24gYW5kIHRoZSBkaXJlY3Rpb24gb2Ygc3RlZXBlc3QvZ3JhZGllbnQgZGVzY2VudCBiYXNlZCBvbiB0aGUgcGFyYW1ldGVyICTOuyQuCgpXZSBjYW4gd3JpdGUgJM6y4oKBJCBpbiB0ZXJtIG9mICTOsuKCgCQKYGBgbWF0aArOsuKCgSA9IM6y4oKAICsgW0rhtYBKICsgzrtJXeKBu8K5IC4gSuG1gFtZIC0gZijOsuKCgCldCmBgYAoiIiKrY29kZV9mb2xkZWTD2SQ4NTI4MGFlYi1iNzgwLTQyYzktOTMwNC1hZDc3Y2ExZGU5NDSEp2NlbGxfaWTZJDg1MjgwYWViLWI3ODAtNDJjOS05MzA0LWFkNzdjYTFkZTk0NLBydW5uaW5nX2Rpc2FibGVkwqRjb2RlrkdOQShGLCBbMywgM10pq2NvZGVfZm9sZGVkwtkkZjc2YTViM2YtZDM1Mi00ZjNkLWJkNGQtYTdkNjhmYWRjOGI1hKdjZWxsX2lk2SRmNzZhNWIzZi1kMzUyLTRmM2QtYmQ0ZC1hN2Q2OGZhZGM4YjWwcnVubmluZ19kaXNhYmxlZMKkY29kZdoCo21kIiIiCkxNQSBpcyBpbXBsZW1lbnRlZCB3aXRoIE1hcnF1YXJkdCdzIG1ldGhvZCBmb3IgZGV0ZXJtaW5pbmcgzrsKClRoZSBgTE1BYCBmdW5jdGlvbiB0YWtlcyB0aGUgZm9sbG93aW5nIGlucHV0OgotIGBGYDogdGhlIG9iamVjdGl2ZSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgdXNlZCBhcyBpbnB1dCB0byB0aGUgc3VtIG9mIHNxdWFyZXMKLSBgeOKCgGA6IGFuIGluaXRpYWwgZ3Vlc3MgZm9yICR4JAotIGDOu2A6IGFuIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBkYW1waW5nIHBhcmFtZXRlci4gQSBnb29kIHN0YXJ0IHZhbHVlIGlzIDEKLSBgdmA6IE1hcnF1YXJkdCdzIGZhY3RvciBvZiB0aGUgZGFtcGluZyBwYXJhbWV0ZXIuIEEgZ29vZCBkZWZhdWx0IHZhbHVlIGlzIDIKLSBga19tYXhgOiB0aGUgbWF4aW11bSBhbW91bnQgb2YgaXRlcmF0aW9ucyB0aGUgYWxnb3JpdGhtIGlzIGFsbG93ZWQgdG8gaGF2ZQotIGBTX21pbmA6IEluIHRoaXMgcGFydGljdWxhciBzY2VuYXJpbyB3aGVyZSB3ZSBrbm93IHRoZSBnbG9iYWwgbWluaW11bSBvZiAkZih4KSQsIFNfbWluIGNvbnRyb2xzIGhvdyBjbG9zZSBMTUEgaGFzIHRvIGdldCB0byB0aGUgZ2xvYmFsIG1pbmltdW0gYmVmb3JlIHRoZSBhbGdvcml0aG0gaXMgY3V0IHNob3J0IGFuZCAkeCQgaXMgcmV0dXJuZWQgYXMgc29sdXRpb24uCiIiIqtjb2RlX2ZvbGRlZMLZJDk1YjIwNDUwLTJmOWEtNDUwNi05MzZmLTVhOTAzOWM2N2RmZYSnY2VsbF9pZNkkOTViMjA0NTAtMmY5YS00NTA2LTkzNmYtNWE5MDM5YzY3ZGZlsHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXaAextZCIiIgpUaGUgYEdEYCBmdW5jdGlvbiB0YWtlcyB0aGUgZm9sbG93aW5nIGlucHV0OgotIGBmYDogdGhlIG9iamVjdGl2ZSBmdW5jdGlvbgotIGB44oKAYDogYW4gaW5pdGlhbCBndWVzcyBmb3IgJHgkCi0gYGtfbWF4YDogdGhlIG1heGltdW0gYW1vdW50IG9mIGl0ZXJhdGlvbnMgdGhlIGFsZ29yaXRobSBpcyBhbGxvd2VkIHRvIGhhdmUKLSBgzrNgOiBjb250cm9scyB0aGUgc3RlcCBzaXplLiBBIGRlc2NlbnQgaW5pdGlhbCB2YWx1ZSBpcyAkzrMkID0gMC4wNQotIGBmX21pbmA6IEluIHRoaXMgcGFydGljdWxhciBzY2VuYXJpbyB3aGVyZSB3ZSBrbm93IHRoZSBnbG9iYWwgbWluaW11bSBvZiAkZih4KSQsIGZfbWluIGNvbnRyb2xzIGhvdyBjbG9zZSBHcmFkaWVudCBkZXNjZW50IGhhcyB0byBnZXQgdG8gdGhlIGdsb2JhbCBtaW5pbXVtIGJlZm9yZSB0aGUgYWxnb3JpdGhtIGlzIGN1dCBzaG9ydCBhbmQgJHgkIGlzIHJldHVybmVkIGFzIHNvbHV0aW9uLgoiIiKrY29kZV9mb2xkZWTC2SRjNjI0YTNmOC05YjQ2LTQ0NzUtODE2OS02MGFjNDQzZTJhZjKEp2NlbGxfaWTZJGM2MjRhM2Y4LTliNDYtNDQ3NS04MTY5LTYwYWM0NDNlMmFmMrBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2WBtZCIiIgohW10KKGh0dHBzOi8vZ2l0aHViLmNvbS9UaGllbWVuTXVzL0xNLmpsL2Jsb2IvbWFzdGVyL25vdGVib29rL3JlZ3Jlc3Npb24uanBnP3Jhdz10cnVlKQoiIiKrY29kZV9mb2xkZWTD2SQ0NzJlMGQ5MC0zMTQ1LTQ3YzItOWY0Ny02ZmIwNjNkZWM1NziEp2NlbGxfaWTZJDQ3MmUwZDkwLTMxNDUtNDdjMi05ZjQ3LTZmYjA2M2RlYzU3OLBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2gGTZnVuY3Rpb24gR0QoZiwgeOKCgDsga19tYXg9MTAwLCDOsz0wLjA1LCBmX21pbiA9IDAuMSkKCWsgPSAwCgl44oKWID0geOKCgAoJc3RvcGNyaXQgPSB0cnVlCgl3aGlsZSBrIDwga19tYXggJiYgc3RvcGNyaXQKCQlncmFkID0gRm9yd2FyZERpZmYuZ3JhZGllbnQoeCAtPmYoeFsxXSx4WzJdKSwgeOKClikKCQl44oKXID0geOKCliAtzrMgKiBncmFkCQoJCWlmIGYoeOKCl1sxXSwgeOKCl1syXSkgPCBmKHjigpZbMV0sIHjigpZbMl0pCgkJCc6zID0gzrMgKiAyCgkJCXjigpYgPSB44oKXCgkJCWlmIGYoeOKCllsxXSwgeOKCllsyXSkgPCBmX21pbgoJCQkJc3RvcGNyaXQgPSBmYWxzZQoJCQllbmQKCQllbHNlCgkJCc6zID0gzrMgLyAyCgkJZW5kCgkJayA9IGsgKyAxCgllbmQKCXJldHVybiB44oKWLCBrCmVuZKtjb2RlX2ZvbGRlZMLZJGVkOTg0MGM4LTcwMGQtNGI2MC1hNTg0LWM5MjNiNzY2ZmQ0OISnY2VsbF9pZNkkZWQ5ODQwYzgtNzAwZC00YjYwLWE1ODQtYzkyM2I3NjZmZDQ4sHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXaAVhtZCIiIiBXZSBjYW4gc2hvdyB0aGF0ICTOsiQgaXMgaW4gZmFjdCBhIGdsb2JhbCBtaW5pbXVtIGFuZCBub3QgYSBsb2NhbCBtaW5pbXVtIG9yIG1heGltdW0gYmVjYXVzZSB0aGUgaGVzc2lhbiBvZiAkJFMozrIpJCQgaXMgcG9zaXRpdmUtZGVmaW5pdGUgKG5vbi1uZWdhdGl2ZSBvdmVyIGFsbCB2YWx1ZXMgb2YgJCTOsiQkKS4gVGhpcyBtYWtlcyAkJFMozrIpJCQgYSBjb252ZXggZnVuY3Rpb24uIEl0IG9ubHkgY3VydmVzIHVwd2FyZCBhbmQgY291bGQgbmV2ZXIgaGF2ZSBhIG1heGltdW0sIG9yIGxvY2FsIG1pbmltYS4gU2hvd2luZyB0aGUgcHJvb2Ygd291bGQgYnJpbmcgdXMgdG9vIGZhci4gCiIiIqtjb2RlX2ZvbGRlZMPZJGI0NmFiZDMzLWVmZTgtNGQ1Ny1iMjc2LWM0YjZhNWI0ZGQzMoSnY2VsbF9pZNkkYjQ2YWJkMzMtZWZlOC00ZDU3LWIyNzYtYzRiNmE1YjRkZDMysHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGW7bWQiIiIgIyMgSW1wbGVtZW50YXRpb24KIiIiq2NvZGVfZm9sZGVkw9kkYmE3ZDYwZDktYjAzOC00NTUwLWFhMDAtOTNlYWUxNDhkYWUwhKdjZWxsX2lk2SRiYTdkNjBkOS1iMDM4LTQ1NTAtYWEwMC05M2VhZTE0OGRhZTCwcnVubmluZ19kaXNhYmxlZMKkY29kZdkkZih4LCB5KSA9ICgxIC0geCleMiArIDEwMCh5IC0geF4yKV4yq2NvZGVfZm9sZGVkwtkkOWRkN2Q1ZDEtZTYyNC00MDBkLWI4MmQtY2RkN2ZhNTc2NTI0hKdjZWxsX2lk2SQ5ZGQ3ZDVkMS1lNjI0LTQwMGQtYjgyZC1jZGQ3ZmE1NzY1MjSwcnVubmluZ19kaXNhYmxlZMKkY29kZdoEwm1kIiIiClRoaXMgbGluZWFyIGFwcHJveGltYXRpb24gb2YgJGYoeCwgzrIpJCBhcm91bmQgzrLigoAsIGZvciDOsuKCgCArIM60IENBTiBiZSB1c2VkIGFzIGlucHV0IGZvciBsZWFzdCBzcXVhcmVzLiAKCkJlZm9yZSBpbXBsZW1lbnRpbmcgdGhlIGxlYXN0IHNxdWFyZXMgd2UgaW50cm9kdWNlIHRoZSBKYWNvYmlhbiBtYXRyaXggaW50byB0aGUgZXF1YXRpb24sIHdoaWNoIHJlcHJlc2VudHMgdGhlIGdyYWRpZW50IG9mICRmJCB0byAkzrIkCmBgYG1hdGgKSiA9IOKIh2YoeCwgzrIpIOKHkiBmKHgsIM6y4oKAICsgzrQpIOKJiCBmKHgsIM6y4oKAKSArIErOtApgYGAKCkZpbmFsbHksIHdlIGFyZSByZWFkeSBmb3IgbGVhc3Qgc3F1YXJlcy4gCmBgYG1hdGgKUyjOsikgPSB8fFkgLSBmKM6yKXx8wrIKYGBgCgpgYGBtYXRoCuKHkiBTKM6yICsgzrQpIOKJiCB8fFkgLSBmKM6yKSAtIErOtHx8wrIKYGBgCk5vcm1hbGx5LCB3ZSB3b3VsZCBkZXJpdmUgdG8gJM6yJCBhbmQgc2V0IHRoZSByZXN1bHQgdG8gJDAkLiBGb3IgdGhlIG5vbmxpbmVhciBjYXNlIHRoYXQgd291bGQgbWFrZSBubyBzZW5zZSBhcyB3ZSBhbHJlYWR5IGtub3cgJM6yJC4gSW5zdGVhZCwgd2UgYXJlIGludGVyZXN0ZWQgaW4gdGhlIHZhbHVlIG9mICTOtCQgdGhhdCBtaW5pbWl6ZXMgdGhlIHN1bSBvZiBzcXVhcmVzLiBIZW5jZSB3ZSBkZXJpdmUgJFMozrIgKyDOtCkkIHRvICTOtCQgYW5kIGZpbmQgaXRzIHZhbHVlIHdoZXJlIHRoZSBkZXJpdmF0aXZlIGlzIHplcm8uCmBgYG1hdGgKfHxZIC0gZijOsikgLSBKzrR8fMKyCmBgYApgYGBtYXRoCj0gW1kgLSBmKM6yKSAtIErOtF3htYBbWSAtIGYozrIpIC0gSs60XQpgYGAKYGBgbWF0aAo9IFtZIC0gZijOsild4bWAW1kgLSBmKM6yKV0gLSAyW1kgLSBmKM6yKV3htYBKzrQgKyDOtOG1gErhtYBKzrQKYGBgCkRlcml2ZWQgdG8gJM60JCBhbmQgc2V0dGluZyB0byAkMCQgd2UgZ2V0CmBgYG1hdGgKZFMozrIrzrQpL2TOtCA9IC0gMkrhtYBbWSAtIGYozrIpXSArIDJK4bWASs60CmBgYApgYGBtYXRoCltK4bWASl3OtCA9IErhtYBbWSAtIGYozrIpXQpgYGAKTm90aWNlIHRoYXQgSiBoYXMgJG4qcCQgZGltZW5zaW9ucywgd2l0aCAkbiQgdGhlIG51bWJlciBvZiBkYXRhIHBvaW50cyBhbmQgJHAkIHRoZSBwYXJhbWV0ZXJzLiAkzrQkIGFuZCAkzrIkIGFyZSAkcCoxJCBtYXRyaWNlcyBhbmQgWSBpcyBhbiAkbioxJCBtYXRyaXguCiIiIqtjb2RlX2ZvbGRlZMPZJDZjMzM3YTU2LTYyNWEtNGMzNS1hN2Q2LWNjNzFkMzZjOTc0MoSnY2VsbF9pZNkkNmMzMzdhNTYtNjI1YS00YzM1LWE3ZDYtY2M3MWQzNmM5NzQysHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGW6TE1BKEYsIFstNTAwLCA2MDBdLCDOuz0xMCmrY29kZV9mb2xkZWTC2SQ3MDA1NzE3OC1jNTRiLTQyZTYtYmNiYS1mMzVlZWNiNDQyY2SEp2NlbGxfaWTZJDcwMDU3MTc4LWM1NGItNDJlNi1iY2JhLWYzNWVlY2I0NDJjZLBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2gIdZnVuY3Rpb24gR05BKEYsIHjigoA7IGtfbWF4ID0gMTAwLCBTX21pbiA9IDAuMSkKCWsgPSAwCgl44oKWID0geOKCgAoJU+KCliA9IFMoRiwgeOKCgCkgI2NhbGN1bGF0ZSBzdW0gb2Ygc3F1YXJlcwoJc3RvcGNyaXQgPSB0cnVlCgl3aGlsZSBrIDwga19tYXggJiYgc3RvcGNyaXQKCQlKID0gSmFjKEYsIHjigpYpICNjYWxjdWxhdGUgSmFjb2JpYW4KCQnOtCA9IC1pbnYodHJhbnNwb3NlKEopICogSikgKiB0cmFuc3Bvc2UoSikgKiBGKHjigpZbMV0sIHjigpZbMl0pICNDYWxjdWxhdGUgzrQgZm9yIAkJd2hpY2ggZih4ICsgzrQpIGlzIGEgbG9jYWwgbWluaW11bQoJCXjigpcgPSB44oKWIC4rIM60ICNpbXByb3ZlZCB4CgkJU+KClyA9IFMoRiwgeOKClykJI2ltcHJvdmVkIHN1bSBvZiBzcXVhcmVzIAoJCWlmIFPigpcgPCBT4oKWICYmIFPigpcgPCBTX21pbiAjc3RvcHBpbmcgY3JpdGVyaWEKCQkJc3RvcGNyaXQgPSBmYWxzZQoJCWVuZAoJCXjigpYgPSB44oKXCgkJU+KCliA9IFPigpcgCgkJayA9IGsgKyAxCgllbmQKCXJldHVybiB44oKWLCBrCmVuZKtjb2RlX2ZvbGRlZMLZJGFmYjQzMWExLWEyZTAtNDQxMS04MDkyLTVlYmYwZDc4ZmRmZISnY2VsbF9pZNkkYWZiNDMxYTEtYTJlMC00NDExLTgwOTItNWViZjBkNzhmZGZksHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXZgm1kIiIiCmBgYG1hdGgKZFMozrIpIC8gZM6yID0gKFkgLSBYzrIpXlQgKFktWM6yKSAvIGTOsiAKYGBgCmBgYG1hdGgKMCA9IC0yWF5UKFktWM6yKQpgYGAKYGBgbWF0aArOssyCID0gKFheVCBYKeKBu8K5IFheVCBZCmBgYAoiIiKrY29kZV9mb2xkZWTD2SRkZGU1ZGFkZi05ZmUyLTQ5NTUtODE0My05NzAzNjVhMjdkNDCEp2NlbGxfaWTZJGRkZTVkYWRmLTlmZTItNDk1NS04MTQzLTk3MDM2NWEyN2Q0MLBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2WxtZCIiIgojIyMjIyBpbnRlcm1lenpvOiBUYXlsb3IgYXBwcm94aW1hdGlvbgpHb2FsOiBhcHByb3hpbWF0ZSBub24tcG9seW5vbWlhbCBmdW5jdGlvbnMgYnkgYSBwb2x5bm9taWFsCiIiIgqrY29kZV9mb2xkZWTD2SRkOTE3ZjYzYS0wNTgwLTQyMDktOWU3OS1hMTA0NWM5NTFjNDaEp2NlbGxfaWTZJGQ5MTdmNjNhLTA1ODAtNDIwOS05ZTc5LWExMDQ1Yzk1MWM0NrBydW5uaW5nX2Rpc2FibGVkwqRjb2RlvkYoeCwgeSkgPSBbMSAtIHgsIDEwKHkgLSB4XjIpXatjb2RlX2ZvbGRlZMLZJDk2Njg0ZThhLWRkNGYtNDQ5Ny04YzA2LTNiZDEyYmFlMzU3Y4SnY2VsbF9pZNkkOTY2ODRlOGEtZGQ0Zi00NDk3LThjMDYtM2JkMTJiYWUzNTdjsHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXZ6m1kIiIiCldlIGNvbXBhcmUgR05BLCBMTUEgYW5kIGdyYWRpZW50IGRlc2NlbnQgb24gdGhlIFJvc2VuYnJvY2sgZnVuY3Rpb24uIApGb3IgdGhlIHBhcmFtZXRlcnMgJGEkIGFuZCAkYiQsIHdlIHJlc3BlY3RpdmVseSB0YWtlIDEgYW5kIDEwMC4gR2l2ZW4gdGhlc2UgcGFyYW1ldGVycywgdGhlIFJvc2VuYnJvY2sgZnVuY3Rpb24gaGFzIGEgZ2xvYmFsIG1pbmltdW0gZm9yICQoeCwgeSkgPSAoMSwgMSkkCiIiIqtjb2RlX2ZvbGRlZMPZJDYxZGE4MGRjLTdkNDktNGVjNS1hMGYyLTc4ZGVlNDg4NTNjZYSnY2VsbF9pZNkkNjFkYTgwZGMtN2Q0OS00ZWM1LWEwZjItNzhkZWU0ODg1M2NlsHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXZMG1kIiIiIyMgTm9ubGluZWFyIHJlZ3Jlc3Npb24gYW5kIEdhdXNzLU5ld3RvbiIiIqtjb2RlX2ZvbGRlZMPZJDdiNWNiMmQxLTNjNTMtNDAyNi04MThiLTg2ZGFkMzg0YjVlY4SnY2VsbF9pZNkkN2I1Y2IyZDEtM2M1My00MDI2LTgxOGItODZkYWQzODRiNWVjsHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXZXG1kIiIiCiFbXQooaHR0cHM6Ly9naXRodWIuY29tL1RoaWVtZW5NdXMvTE0uamwvYmxvYi9tYXN0ZXIvbm90ZWJvb2svdGF5bG9yLnBuZz9yYXc9dHJ1ZSkKIiIiq2NvZGVfZm9sZGVkw9kkODhhNzQ5ZGEtMzhlMy00MGEwLWJiZDktYWU5YjY4ODI0MzgxhKdjZWxsX2lk2SQ4OGE3NDlkYS0zOGUzLTQwYTAtYmJkOS1hZTliNjg4MjQzODGwcnVubmluZ19kaXNhYmxlZMKkY29kZdoDsm1kIiIiIFdlIGFyZSBsaXZpbmcgaW4gYSBoeXBvdGhldGljYWwgd29ybGQgd2hlcmUgb3VyIHJlZ3Jlc3Npb24gbW9kZWwgJGYoeCwgzrIpJCBkb2Vzbid0IHJlcHJlc2VudCBhIGxpbmUsIGJ1dCByYXRoZXIgYSBjdXJ2ZS4gV2UgY2Fubm90IHdyaXRlICRZJCBhcyBhIGxpbmVhciBjb21iaW5hdGlvbiBvZiB0aGUgbW9kZWwgcGFyYW1ldGVycyBhbmQgb3VyIHByZWNpb3VzIGxlYXN0IHNxdWFyZXMgc2NyZWFtcyBhbmQgYnJlYWtzIGFzIHdlIHRyeSB0byBmaXQgdGhlIG1vZGVsIGluLiAKCkxldCdzIHR1cm4gdGhlIHRob3VnaHQgcHJvY2VzcyB1cHNpZGUgZG93bi4gV2UgZ3Vlc3MgYW4gaW5pdGlhbCAkzrLigoAkLCBub3cgd2UgY2FuIHNvbHZlIHRoZSBzdW0gb2Ygc3F1YXJlcyBhcyB3ZSBrbm93IHRoZSBvbmUgdGhpbmcgd2UgY291bGRuJ3Qga25vdy4gVGhlcmUgaXMgbm8gd2F5IHRoaXMgZ3Vlc3NlZCAkzrIkIGlzIHRoZSBvcHRpbWFsIHZhbHVlIHRob3VnaC4gSG93IGRvIHdlIGZpbmQgYSBiZXR0ZXIgc29sdXRpb24gJM6y4oKBID0gzrLigoAgKyDOtCQsIHRoYXQgbWluaW1pemVzICRTKM6yKSQ/ClVzaW5nICTOsuKCgCArIM60JCBhcyBpbnB1dCwgd2UgYXJyaXZlIGF0IHRoZSBleGFjdCBzYW1lIHByb2JsZW0uICRkUyjOsuKCgSkgLyBkKM6y4oKBKSQgY2Fubm90IGJlIHNvbHZlZCBmb3IgJM6y4oKBJC4gV2UgbmVlZCBhbm90aGVyIHdheSB0byByZXByZXNlbnQgdGhlIHByb2JsZW0uCgpTaXIgSXNhYWMgTmV3dG9uIHRob3VnaHQgdGhlIHNhbWUgdGhpbmcgYW5kIHRoZSBnZW5pdXMgaGUgaXMsIGZvdW5kIGEgc29sdXRpb24gaW4gVGF5bG9yIGFwcHJveGltYXRpb25zLiAKSW4gY2FzZSB5b3UgbmVlZCB0byByZWZyZXNoIFRheWxvciBhcHByb3hpbWF0aW9ucywgdGhlcmUncyBhbiBpbnRlcm1lenpvIHJlY2FwaXR1bGF0aW5nIGl0IGJlbG93LgoiIiKrY29kZV9mb2xkZWTD2SRlMzExZjU4ZC0yOGExLTRiMGItODFkOC0yNTE0OWRmZDkzOTKEp2NlbGxfaWTZJGUzMTFmNThkLTI4YTEtNGIwYi04MWQ4LTI1MTQ5ZGZkOTM5MrBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2gGvbWQiIiIgRm9yIGdyYWRpZW50IGRlc2NlbnQgd2l0aCBhbiBpbml0aWFsIGd1ZXNzICR44oKAJDoKYGBgbWF0aAp44oKBID0geOKCgCAtIM6z4oiHZih44oKAKQpgYGAKV2UgdGFrZSBmb3IgJM6zJCBhbiBhcmJpdHJhcnkgcGFyYW1ldGVyIHdoaWNoIHdlIGRlY3JlYXNlIHdoZW4gdGhlIHN0ZXAgc2l6ZSBvdmVyc2hvb3RzIHRoZSBtaW5pbXVtLgoKVW5saWtlIEdOQSBhbmQgTE1BLCBncmFkaWVudCBkZXNjZW50IGRvZXMgbm90IGhhdmUgdG8gYmUgYXBwbGllZCB0byBzdW0gb2Ygc3F1YXJlIGZ1bmN0aW9ucy4gV2UgZG8gbm90IGhhdmUgdG8gd3JpdGUgJGYoeCkkIGFzIGEgc3VtIG9mIHNxdWFyZXMgZnVuY3Rpb24gdG8gYmUgYWJsZSB0byBtaW5pbWl6ZSBpdC4KYGBgbWF0aApmKHgsIHkpID0gKDEgLSB4KcKyICsgMTAwKHkgLSB4wrIpwrIKYGBgCiIiIgqrY29kZV9mb2xkZWTD2SQyMDI2ZDBjMC03YzZiLTQ4ZjYtYTExMy03YzYzMTM4ZTZiYzaEp2NlbGxfaWTZJDIwMjZkMGMwLTdjNmItNDhmNi1hMTEzLTdjNjMxMzhlNmJjNrBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2gG7bWQiIiIgCk5vdyB3ZSd2ZSBmaW5hbGx5IG1hZGUgaXQgdGhyb3VnaCB0aGUgdGhlb3J5LCB3ZSBjYW4gdXNlIExNQSB0byBzb2x2ZSBhIG5vbmxpbmVhciBsZWFzdCBzcXVhcmVzIHByb2JsZW0uCgpXZSB3aWxsIHBlcmZvcm0gTE1BIG9uIHRoZSBSb3NlbmJyb2NrIGZ1bmN0aW9uLCBhIG5vbi1jb252ZXggZnVuY3Rpb24gb2Z0ZW4gdXNlZCBmb3IgIHBlcmZvcm1hbmNlIHRlc3RpbmcgaW4gb3B0aW1pemF0aW9uLiBUaGlzIGZ1bmN0aW9uIGhhcyBvbmUgZ2xvYmFsIG1pbmltdW0gd2l0aCBhIHZlcnkgc21hbGwgdmFsbGV5IGxlYWRpbmcgdG8gaXQuIExvZ2ljYWxseSwgR3JhZGllbnQgZGVzY2VudCBoYXMgYSBoYXJkIHRpbWUgY29udmVyZ2luZyBmb3IgdGhpcyBmdW5jdGlvbi4KYGBgbWF0aApmKHgpID0gKGEgLSB44oKBKcKyICsgYih44oKCIC0geOKCgcKyKcKyCmBgYAoiIiKrY29kZV9mb2xkZWTD2SRjMzE0OTc2My1jNWI4LTQxZDctYWRmOS0xZjE0ZGE3NmIyZjKEp2NlbGxfaWTZJGMzMTQ5NzYzLWM1YjgtNDFkNy1hZGY5LTFmMTRkYTc2YjJmMrBydW5uaW5nX2Rpc2FibGVkwqRjb2RlvExNQShGLCBbLTUwMCwgNjAwXSwgzrs9MWUtMimrY29kZV9mb2xkZWTC2SQzY2FkMGQyMS02OGYwLTQ2NzMtOTVlNy0xYWQxMmIyY2U2NziEp2NlbGxfaWTZJDNjYWQwZDIxLTY4ZjAtNDY3My05NWU3LTFhZDEyYjJjZTY3OLBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2VttZCIiIgohW10KKGh0dHBzOi8vZ2l0aHViLmNvbS9UaGllbWVuTXVzL0xNLmpsL2Jsb2IvbWFzdGVyL25vdGVib29rL3Jvc2VuLmpwZz9yYXc9dHJ1ZSkKIiIiq2NvZGVfZm9sZGVkw9kkMjgwOGUyZGEtMGNjOC00ZTU1LWJiYmQtYjZhZTg3ZjhmYjI3hKdjZWxsX2lk2SQyODA4ZTJkYS0wY2M4LTRlNTUtYmJiZC1iNmFlODdmOGZiMjewcnVubmluZ19kaXNhYmxlZMKkY29kZa5MTUEoRiwgWzMsIDNdKatjb2RlX2ZvbGRlZMLZJDQ4NTZhN2NhLTcyZTMtNDhjMy1iNGU0LWEzMTQ3ZjNjYWMxMYSnY2VsbF9pZNkkNDg1NmE3Y2EtNzJlMy00OGMzLWI0ZTQtYTMxNDdmM2NhYzExsHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXaBhNtZCIiIgpNZXRob2Q6CkltYWdpbmUgJGYoeCkkIGEgbm9uLXBvbHlub21pYWwsIGFwcHJveGltYXRlZCBieSBhIHBvbHlub21pYWw6ICRjICsgYnggKyBheF4yJApgYGBtYXRoCuKHkiBmKHgpIOKJiCBjICsgYnggKyBheF4yCmBgYApmb3IgYW55IHZhbHVlIHguIElmICR4ID0gMCQsIHRoZSBwb2x5bm9taWFsIHNob3VsZCBoYXZlIHRoZSBzYW1lIHZhbHVlIGFzICRmKDApJC4KYGBgbWF0aArih5IgZigwKSA9IGMgKyBiKDApICsgYSgwKV4yID0gYwpgYGAKV2UgY291bGQgc2F5IHRoYXQgJGYoeCkg4omIIGYoMCkkIGFyb3VuZCAkMCQuIFRoYXQgbG9va3MgcHJldHR5IHN0dXBpZCwgYnV0IGl0IGlzbid0LiBUaGUgYXBwcm94aW1hdGluZyBwb2x5bm9taWFsIGlzIGEgZmxhdCBsaW5lIHRoYXQgaW50ZXJzZWN0cyB3aXRoICRmKHgpJCBhdCAkeCA9IDAkLiAgCgpNb3N0IGxpa2VseSB0aG91Z2gsICRmKHgpJCBpc24ndCBhIGZsYXQgbGluZSBhdCAkeCA9IDAkLiBJdCByaXNlcywgb3IgaXQgZHJvcHMgYWNjb3JkaW5nIHRvIGl0cyBkZXJpdmF0aXZlLiBUaGlzIGxvb2tzIGFidXNhYmxlLiBTZXR0aW5nIHRoZSBzbG9wZSBvZiB0aGUgcG9seW5vbWlhbCB0byBiZSB0aGUgZXF1YWwgdG8gdGhhdCBvZiAkZih4KSQgd2lsbCBpbXByb3ZlIHRoZSBhcHByb3hpbWF0aW9uIGFyb3VuZCAkMCQuCmBgYG1hdGgK4oeSIGYnKDApID0gYiArIDJhKDApID0gYgpgYGAKVGhlIHByb2Nlc3MgaXMgcHJlZGljdGFibGUgYXQgdGhpcyBwb2ludC4gQWxsIGRlcml2YXRpdmVzIG9mICRmKHgpJCBzYXkgc29tZXRoaW5nIGFib3V0IGhvdyB0aGUgZnVuY3Rpb24gbW92ZXMgYXJvdW5kIHguIApgYGBtYXRoCiBmJycoMCkgPSAyYSDih5IgYSA9IGYnJygwKSAvIDIKYGBgClB1dHRpbmcgaXQgYWxsIHRvZ2V0aGVyLCB3ZSBjYW4gYXBwcm94aW1hdGUgJGYoeCkkIGZhaXJseSB3ZWxsIGFyb3VuZCAkMCQKYGBgbWF0aAogZih4KSDiiYggZigwKSArIGYnKDApeCArIChmJycoMCkgLyAyKSB4XjIKYGBgCkJ5IHJlcGxhY2luZyAkeCQgd2l0aCAkeCAtIHQkIGluIHRoZSBwb2x5bm9taWFsLCB3ZSBjYW4gYXBwcm94aW1hdGUgJGYoeCkkIGZvciBhbnkgdmFsdWUgJHQkIG9mICR4JC4gTm93IGFsbCBidXQgb25lIHRlcm1zIG9mIHRoZSBwb2x5bm9taWFsIGJlY29tZSAkMCQgd2hlbiBmaWxsaW5nIGluICRmKHQpJC4gUmVwbGFjaW5nICR4JCBpbiB0aGUgcG9seW5vbWlhbCBpcyBwb3NzaWJsZSBiZWNhdXNlIHdlIGRldGVybWluZSBob3cgdGhlIGZ1bmN0aW9uIGxvb2tzIGxpa2UuIE91ciBvbmx5IHJlcXVpcmVtZW50cyBhcmUgdGhhdCB0aGUgZnVuY3Rpb24gZGVwZW5kcyBvbiAkeCQgYW5kIGlzIGEgcG9seW5vbWlhbC4gQm90aCBhcmUgdW5hZmZlY3RlZCBieSByZXBsYWNpbmcgJHgkIHdpdGggJHgtdCQKCk5vdGUgdGhhdCB3aXRoIGVhY2ggYWRkZWQgZGVyaXZhdGl2ZSwgdGhlIGFwcHJveGltYXRpb24gaW1wcm92ZXMuIFRoZSBmdXJ0aGVyIHdlIHN0cmF5IGZyb20gJHggPSB0JCwgdGhlIGxlc3MgY29ycmVjdCB0aGUgYXBwcm94aW1hdGlvbiBiZWNvbWVzLiAKIiIiq2NvZGVfZm9sZGVkw9kkNmUyMTMzMDEtNDg1Mi00ZDQ0LTkwNGUtYTY5YWQ2YzE4ZjNkhKdjZWxsX2lk2SQ2ZTIxMzMwMS00ODUyLTRkNDQtOTA0ZS1hNjlhZDZjMThmM2SwcnVubmluZ19kaXNhYmxlZMKkY29kZdoCfWZ1bmN0aW9uIExNQShGLCB44oKAOyDOuz0xLCB2PTIsIGtfbWF4PTEwMCwgU19taW4gPSAwLjEpCglrID0gMAoJeOKCliA9IHjigoAKCVPigpYgPSBTKEYsIHjigoApICNjYWxjdWxhdGluZyBzdW0gb2Ygc3F1YXJlcwoJSV9tID0gTWF0cml4KEksIGxlbmd0aCh44oKAKSwgbGVuZ3RoKHjigoApKQoJc3RvcGNyaXQgPSB0cnVlCgl3aGlsZSBrIDwga19tYXggJiYgc3RvcGNyaXQKCQlKID0gSmFjKEYsIHjigpYpICNDYWxjdWxhdGUgSmFjb2JpYW4KCQnOtCA9IC1pbnYodHJhbnNwb3NlKEopICogSiAuKyAozrsgKiBJX20pKSAqIHRyYW5zcG9zZShKKSAqIEYoeOKCllsxXSwgeOKCllsyXSkgI0NhbGN1bGF0ZSDOtCBmb3Igd2hpY2ggZih4ICsgzrQpIGlzIGEgbG9jYWwgbWluaW11bQoJCXjigpcgPSB44oKWIC4rIM60ICNpbXByb3ZlZCB4CgkJU+KClyA9IFMoRiwgeOKClykgI2ltcHJvdmVkIHN1bSBvZiBzcXVhcmVzIAoJCWlmIFPigpcgPCBT4oKWCgkJCc67ID0gzrsgLyB2CgkJCWlmIFPigpcgPCBTX21pbgoJCQkJc3RvcGNyaXQgPSBmYWxzZQoJCQllbmQKCQllbHNlCgkJCc67ID0gdiAqIM67CgkJZW5kCgkJeOKCliA9IHjigpcKCQlT4oKWID0gU+KClwoJCWsgPSBrICsgMQoJZW5kCglyZXR1cm4geOKCliwgawplbmSrY29kZV9mb2xkZWTC2SQwMWVjNmNhOS1mYjM2LTQ0NWUtOTYyMy03YjJlYzI0NzY1OGWEp2NlbGxfaWTZJDAxZWM2Y2E5LWZiMzYtNDQ1ZS05NjIzLTdiMmVjMjQ3NjU4ZbBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2gFfbWQiIiIgV2UgY2FuIG5vdyByZXdyaXRlIM6y4oKBIGluIHRlcm1zIG9mIM6y4oKACmBgYG1hdGgKzrLigoEgPSDOsuKCgCArIFtK4bWASl3igbvCuSAuIErhtYBbWSAtIGYozrLigoApXQpgYGAKV2UgbXVzdCBub3QgZm9yZ2V0IHRoYXQgd2UgYXBwcm94aW1hdGVkICRmKHgsIM6yICsgzrQpJCBhbmQgaGVuY2UgJM6y4oKBJCBpcyBub3QgZ3VhcmFudGVlZCB0byBkZWxpdmVyIGEgbWluaW11bS4gV2UgaXRlcmF0ZSB0aGUgcHJvY2VzcyB1bnRpbCBpbXByb3ZlbWVudHMgb2YgJFMozrIpJCBmYWxsIHVuZGVyIGEgY2VydGFpbiB0aHJlc2hvbGQgYW5kIGFjY2VwdCB0aGlzICTOsiQgYXMgb3VyIHNvbHV0aW9uLiAKIiIiq2NvZGVfZm9sZGVkw9kkMmZjZTIzNzQtMjNmNi00YjllLTgxZjEtZWNiYzRlMmRlMDEyhKdjZWxsX2lk2SQyZmNlMjM3NC0yM2Y2LTRiOWUtODFmMS1lY2JjNGUyZGUwMTKwcnVubmluZ19kaXNhYmxlZMKkY29kZdmTI2NhbGN1bGF0ZXMgdGhlIHN1bSBvZiBzcXVhcmVzIGZvciBhIGdpdmVuIHZlY3Rvci12YWx1ZWQgZnVuY3Rpb24gYW5kIHBvaW50IHgKZnVuY3Rpb24gUyhGLCB4KQoJcmV0dXJuIHRyYW5zcG9zZShGKHhbMV0sIHhbMl0pKSAqIEYoeFsxXSwgeFsyXSkKZW5kq2NvZGVfZm9sZGVkwtkkYjlmYTFjM2ItMTZkNy00NTUxLTg1MDgtNGVlODg4MzcxNDc2hKdjZWxsX2lk2SRiOWZhMWMzYi0xNmQ3LTQ1NTEtODUwOC00ZWU4ODgzNzE0NzawcnVubmluZ19kaXNhYmxlZMKkY29kZdoCLW1kIiIiIFRvIGZpbmQgzrLigoEgd2UgbGluZWFyaXplICRmKHgszrIpJCBhcm91bmQgzrLigoAgd2l0aCBhIGZpcnN0LW9yZGVyIFRheWxvciBhcHByb3hpbWF0aW9uLiAKYGBgbWF0aApmKHgsIM6yKSDiiYggZih4LCDOsuKCgCkgKyDiiIdmKHgsIM6y4oKAKSjOsiAtIM6y4oKAKQpgYGAKV2Ugbm93IGtub3cgaG93ICRmKHgsIM6yKSQgYmVoYXZlcyBsaW5lYXJseSBkaXJlY3RseSBhcm91bmQgzrLigoAuIElmICTOtCQgaXMgc21hbGwsIHdlIGNhbiBmaWxsIGluICAkzrLigoAgKyDOtCQgdG8gZmluZCB0aGUgYXBwcm94aW1hdGUgc29sdXRpb24gZm9yIM6y4oKBCmBgYG1hdGgKZih4LCDOsuKCgCArIM60KSDiiYggZih4LCDOsuKCgCkgKyDiiIdmKHgsIM6y4oKAKSgozrLigoAgKyDOtCkgLSDOsuKCgCkKYGBgCmBgYG1hdGgK4omIIGYoeCwgzrLigoApICsg4oiHZih4LCDOsuKCgCnOtApgYGAKTm90ZSB0aGF0ICTOsuKCgCQgaXMgYSBjb25zdGFudCBpbiB0aGlzIGVxdWF0aW9uLiBXZSBvbmx5IHJlcGxhY2UgdGhlIHZhcmlhYmxlICTOsiQgd2l0aCAkzrLigoAgKyDOtCQKIiIiq2NvZGVfZm9sZGVkw9kkM2M2NThlZTktZjJjMi00MTE3LWJmNGQtOGJiYThlZTYyOTA2hKdjZWxsX2lk2SQzYzY1OGVlOS1mMmMyLTQxMTctYmY0ZC04YmJhOGVlNjI5MDawcnVubmluZ19kaXNhYmxlZMKkY29kZa1HRChmLCBbMywgM10pq2NvZGVfZm9sZGVkwtkkZTRlNGU0NWQtY2I0YS00NDEzLTg1ODctOWFhYjg5NzQ4MTNihKdjZWxsX2lk2SRlNGU0ZTQ1ZC1jYjRhLTQ0MTMtODU4Ny05YWFiODk3NDgxM2KwcnVubmluZ19kaXNhYmxlZMKkY29kZdoCvW1kIiIiIEZyb20gcmVncmVzc2lvbiB0byBMTUEgaXMgcXVpdGUgYSBiaWcgbGVhcCBhbmQgYWx0aG91Z2ggeW91IHN1cmVseSBrbm93IHdoYXQgcmVncmVzc2lvbiBpcywgd2Ugd2lsbCByZWNhcGl0dWxhdGUgc29tZSBpbXBvcnRhbnQgZGlmZmVyZW5jZXMgYXQgdGhlIGZ1bmRhbWVudGFsIGxldmVsIHRvIHJlYWxseSB1bmRlcnN0YW5kIHdoYXQgTE1BIGlzIHRyeWluZyB0byBkby4gTGV0J3Mgc3RhcnQgYXQgdGhlIGJlZ2lubmluZy4KClJlZ3Jlc3Npb24gZXN0aW1hdGVzIHRoZSByZWxhdGlvbiBiZXR3ZWVuIGEgcmVzcG9uc2UgdmFyaWFibGUgYW5kIG9uZSBvciBtb3JlIHByZWRpY3RvcnMuIFRoZXJlIGFyZSBkaWZmZXJlbnQgd2F5cyB0byBkbyB0aGlzLCBwYXJ0bHkgYmFzZWQgb24gaG93IG9ic2VydmF0aW9uYWwgZGF0YSBpcyBwcmVzdW1lZCB0byBiZWhhdmUuIApJbiB0aGUgY29tbW9ubHkgdXNlZCBsaW5lYXIgcmVncmVzc2lvbiBhIG1vZGVsIGlzIHNldCB1cCBpbiB3aGljaCB0aGUgb2JzZXJ2YXRpb25hbCBkYXRhIGlzIGEgbGluZWFyIGNvbWJpbmF0aW9uIG9mIHRoZSBwcmVkaWN0b3JzIGFuZCB0aGVpciBwYXJhbWV0ZXJzLiBCeSBmaXR0aW5nIGEgbGluZSB0aHJvdWdoIHRoZSBkYXRhLCB0aGUgcGFyYW1ldGVycyBjYW4gYmUgZXN0aW1hdGVkIHdpdGggdGhlIGZhbW91cyBsZWFzdCBzcXVhcmVzIG1ldGhvZC4KIiIiq2NvZGVfZm9sZGVkw9kkNTYzMjQwZWQtNGEwYS00N2NkLWE1NjQtYTZkNmQxOWY1OGVmhKdjZWxsX2lk2SQ1NjMyNDBlZC00YTBhLTQ3Y2QtYTU2NC1hNmQ2ZDE5ZjU4ZWawcnVubmluZ19kaXNhYmxlZMKkY29kZdoDaG1kIiIiCkdOQSBhbmQgTE1BIHdhbnQgdG8gbWluaW1pemUgYSBjb3N0IGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHdyaXR0ZW4gYXMgYSBzdW0gb2Ygc3F1YXJlcy4gVGhlIFJvc2VuYnJvY2sgZnVuY3Rpb24gY2FuIGJlIHdyaXR0ZW4gYXMgYSBzdW0gb2Ygc3F1YXJlcyBpZiB3ZSBkZWZpbmU6CmBgYG1hdGgKZuKCgSh4KSA9IGEgLSB44oKBCmBgYApgYGBtYXRoCmbigoIoeCkgPSDiiJpiKHjigoIgLSB44oKBwrIpIApgYGAKYGBgbWF0aArih5IgZih4KSA9IFxzdW1faSAoZuG1oinCsgpgYGAKTm90ZSB0aGF0ICR4JCBoZXJlIHBsYXlzIHRoZSByb2xlIG9mIHRoZSBwYXJhbWV0ZXJzICTOsiQgaW4gcmVncmVzc2lvbiBjb250ZXh0LiAkZih4KSDiiYggUyjOsikkIGFuZCAkZuG1oiDiiYggeeG1oiAtIGYoeOG1os6yKSQKClRoZSBhYm92ZSBleHByZXNzaW9uIGNhbiBiZSB3cml0dGVuIGFzIHRoZSBub3JtIG9mIGEgdmVjdG9yLXZhbHVlZCBmdW5jdGlvbiBpbnN0ZWFkOgpgYGBtYXRoCmYoeCkgPSB8fEYoeCl8fMKyCmBgYAp3aXRoICRGKHgpJCBhICQyKjEkIG1hdHJpeCBvZiAkZuKCgSQgYW5kICRm4oKCJAoKRm9yIGVhY2ggaXRlcmF0aW9uIHdlIGxpbmVhcml6ZSAkRih4KSQgYXJvdW5kICR4JCB0byBhcHByb3hpbWF0ZSB0aGUgdmFsdWUgb2YgJEYoeCArIM60KSQKYGBgbWF0aApGKHggKyDOtCkg4omIIEYoeCkgKyBKKHgpzrQKYGBgCmFuZCBkZXRlcm1pbmUgJM60JCBieSBtaW5pbWl6aW5nICRmKHggKyDOtCkkIHdpdGggcmVzcGVjdCB0byAkzrQkIGFuZCBzZXR0aW5nIHRvIHplcm8KYGBgbWF0aApmKHggKyDOtCkgPSB8fEYoeCkgKyBKKHgpzrR8fMKyCmBgYApgYGBtYXRoCltK4bWASl3OtCA9IC0gSuG1gFtGKHgpXQpgYGAKIiIiq2NvZGVfZm9sZGVkw9kkZTA3YmZhZTUtZmVmMi00ODNjLThiNTctMWQ4MzRjMjM1NDk1hKdjZWxsX2lk2SRlMDdiZmFlNS1mZWYyLTQ4M2MtOGI1Ny0xZDgzNGMyMzU0OTWwcnVubmluZ19kaXNhYmxlZMKkY29kZbNMTUEoRiwgWy01MDAsIDYwMF0pq2NvZGVfZm9sZGVkwtkkYTVkZDljZGItODdlNS00ZDVlLTgzMjktZTQ2ODFkOGRiNTE4hKdjZWxsX2lk2SRhNWRkOWNkYi04N2U1LTRkNWUtODMyOS1lNDY4MWQ4ZGI1MTiwcnVubmluZ19kaXNhYmxlZMKkY29kZbJHRChmLCBbLTUwMCwgNjAwXSmrY29kZV9mb2xkZWTC2SQ1YjQyMTk4MC03ZmE2LTExZWMtMjIwNS1hZGVhZDE1ODhkY2GEp2NlbGxfaWTZJDViNDIxOTgwLTdmYTYtMTFlYy0yMjA1LWFkZWFkMTU4OGRjYbBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2UxtZCIiIiMgTGV2ZW5iZXJnLU1hcnF1YXJkdCBhbGdvcml0aG0KU1RNTyBQcm9qZWN0IGJ5ICoqVGhpZW1lbiBNdXNzY2hlKioKIiIiq2NvZGVfZm9sZGVkw9kkZThjN2Y4NGYtYzg1Ni00MWZhLWIxMjktNWRmZWY3NGI2ZmYwhKdjZWxsX2lk2SRlOGM3Zjg0Zi1jODU2LTQxZmEtYjEyOS01ZGZlZjc0YjZmZjCwcnVubmluZ19kaXNhYmxlZMKkY29kZdoHSW1kIiIiICMjIyMjIENob2ljZSBvZiBkYW1waW5nIHBhcmFtZXRlcgoKV2hlbiBpdCBhbGwgY29tZXMgdG9nZXRoZXIsIExNQSB0cmllcyB0byBjaXJjdW12ZW50IHByb2JsZW1zIG9mIGFwcHJveGltYXRpb24gaW4gR05BIGFuZCBwcm9ibGVtcyBvZiBzbG93IGNvbnZlcmdlbmNlIGluIEdyYWRpZW50IGRlc2NlbnQgYnkgc3dpdGNoaW5nIGJldHdlZW4gdGhlIGRpcmVjdGlvbiBvZiBHTkEgd2hlbmV2ZXIgJFMozrIpJCBrZWVwcyBkZWNyZWFzaW5nIGJldHdlZW4gaXRlcmF0aW9ucyBhbmQgdGhlIGRpcmVjdGlvbiBvZiBncmFkaWVudCBkZXNjZW50IHdoZW5ldmVyICRTKM6yKSQgaW5jcmVhc2VzLgoKVGhlcmUncyBhbm90aGVyIGludHVpdGl2ZSB3YXkgdG8gZGV0ZXJtaW5lIHlvdXIgcHJlZmVycmVkICTOuyQuIEluIHRoZSBnZW5lcmFsIHNlbnNlLCBHTkEgaXMgYmFkIGF0IGZpbmRpbmcgYSBnb29kIHZhbHVlIGZvciAkzrQkIHdoZW4gaXQgaXMgZmFyIGZyb20gYSBsb2NhbCBtaW5pbXVtLCBiZWNhdXNlIG9mIHRoZSBhcHByb3hpbWF0aW9uLiBTbyBpZiB3ZSBkb24ndCBoYXZlIGFuIGluZm9ybWVkIGluaXRpYWwgZ3Vlc3MsIGl0IGlzIGdlbmVyYWxseSBiZXR0ZXIgdG8gc3RhcnQgd2l0aCBhIHJlbGF0aXZlbHkgaGlnaCAkzrskLiBDb252ZXJzZWx5LCBHcmFkaWVudCBkZXNjZW50IGlzIGJhZCBhdCBjb252ZXJnZW5jZS4gV2hlbiB3ZSBnZXQgY2xvc2VyIHRvIGEgbG9jYWwgbWluaW11bSwgaXQgaXMgdGh1cyBnZW5lcmFsbHkgYmV0dGVyIHRvIGhhdmUgYSBsb3dlciB2YWx1ZSBmb3IgJM67JC4KCkN1cnJlbnRseSwgdGhlcmUgaXMgbm8gcHJvdmVuIGJlc3QgbWV0aG9kIHRvIGRldGVybWluZSAkzrskLgoKKiBNYXJxdWFyZHQncyBtZXRob2QKTWFycXVhcmR0IHJlY29tbWVuZGVkIHRoZSBmb2xsb3dpbmc6IHlvdSBzdGFydCB3aXRoIGEgdmFsdWUgJM674oKAJCBhbmQgYSBmYWN0b3IgJHYgPiAxJC4KSW4gdGhlIGZpcnN0IGl0ZXJhdGlvbiwgJFMozrIpJCBpcyBjYWxjdWxhdGVkIHdpdGggJM67ID0gzrvigoAkIGFuZCAkzrsgPSDOu+KCgCAvIHYkLiBJZiBib3RoIHJlc3VsdCBpbiBhIGhpZ2hlciB2YWx1ZSBvZiAkUyjOsikkLCB3ZSBpbmNyZWFzZSBkYW1waW5nIGJ5IG11bHRpcGx5aW5nICTOu+KCgCQgYnkgJHYkIHVudGlsICRTKM6yKSQgZHJvcHMuIFRoZSBmaW5hbCBkYW1waW5nIGZhY3RvciBpcyB0YWtlbiBmb3IgdGhlIHNlY29uZCBpdGVyYXRpb24uIElmICTOu+KCgCAvIHYkIGluc3RlYWQgcmVzdWx0cyBpbiBhIGxvd2VyIHZhbHVlIG9mICRTKM6yKSQsIHdlIGFjY2VwdCBpdCBhbmQgdXNlIHRoaXMgZGFtcGluZyBmYWN0b3IgZm9yIHRoZSBzZWNvbmQgaXRlcmF0aW9uLiBJbiB0aGUgbGFzdCBzY2VuYXJpbywgd2hlbiAkzrvigoAgLyB2JCBnaXZlcyB1cyBhIGhpZ2hlciB2YWx1ZSBvZiAkUyjOsikkIHdoaWxlICTOu+KCgCQgaW1wcm92ZXMgaXQsIHRoZSBkYW1waW5nIGZhY3RvciBpcyBsZWZ0IHVuY2hhbmdlZC4KCiogRGVsYXllZCBncmF0aWZpY2F0aW9uCkEgc2ltcGxlciBtZXRob2Qgd2hlcmUgJM67JCBpcyBpbmNyZWFzZWQgYSBiaXQgYWZ0ZXIgZWFjaCB1cGhpbGwgc3RlcCBhbmQgZGVjcmVhc2VkIGEgbG90IGFmdGVyIGVhY2ggZG93bmhpbGwgc3RlcC4KV2UgZGVjcmVhc2UgbW9yZSB0aGFuIHdlIGluY3JlYXNlIHRvIGF2b2lkIHRoZSBncmFkaWVudCBkZXNjZW50IHppZ3phZyBwcm9ibGVtLgpJZiB5b3UgbmVhciBhIHZhbGxleSB3aXRoIGEgbWluaW11bSBmYXIgZnJvbSB3aGVyZSB5b3UgZW50ZXJlZCB0aGUgdmFsbGV5LCBzdGVwIHNpemVzIGFyZSBjb25zdHJpY3RlZCBpbiBsZW5ndGggYW5kIGNvbnZlcmdlbmNlIHdpbGwgYmUgc2xvdy4KIiIiq2NvZGVfZm9sZGVkw9kkYWY4ZjIyNjYtNGYzNy00NmJhLTljYjUtODA3OGM0NzI5MjNjhKdjZWxsX2lk2SRhZjhmMjI2Ni00ZjM3LTQ2YmEtOWNiNS04MDc4YzQ3MjkyM2OwcnVubmluZ19kaXNhYmxlZMKkY29kZdoCGG1kIiIiIEZvciBub25saW5lYXIgcmVncmVzc2lvbiwgdGhlIG9ic2VydmF0aW9uYWwgZGF0YSBpcyBhc3N1bWVkIHRvIG5vdCBoYXZlIGEgbGluZWFyIHJlbGF0aW9uIHdpdGggdGhlIHByZWRpY3RvcihzKS4gVGhlcmVmb3JlLCB0aGUgZnVuY3Rpb24gYnkgd2hpY2ggdGhlIGRhdGEgaXMgbW9kZWxlZCBjYW5ub3QgYmUgZXhwcmVzc2VkIGFzIGEgbGluZWFyIGNvbWJpbmF0aW9uIG9mIHRoZSBwYXJhbWV0ZXIocykuCgpPbmUgaW1wb3J0YW50IGltcGxpY2F0aW9uIHRoaXMgaGFzIGlzIHRoZSBpbmFiaWxpdHkgb2YgbGVhc3Qgc3F1YXJlcyB0byBmb3JtdWxhdGUgYSBjbG9zZWQtZm9ybSBleHByZXNzaW9uIGZvciB0aGUgYmVzdC1maXR0aW5nIHBhcmFtZXRlcnMuIEluIG90aGVyIHdvcmRzLCB0aGUgZXF1YXRpb24gJGRTL2TOsiA9IDAkIGNhbm5vdCBiZSBzb2x2ZWQgYW5hbHl0aWNhbGx5LgpOdW1lcmljYWwgd29ya2Fyb3VuZHMgZXhpc3QsIGFtb25nIHdoaWNoIHRoZSBHYXVzcy1OZXd0b24gYWxnb3JpdGhtIHN0aWNrcyBvdXQuCiAKIiIiq2NvZGVfZm9sZGVkw9kkY2E0ZDRiYjgtMmY2ZC00YTY5LWE2YjEtNmNjMGZjOGI1Yjk5hKdjZWxsX2lk2SRjYTRkNGJiOC0yZjZkLTRhNjktYTZiMS02Y2MwZmM4YjViOTmwcnVubmluZ19kaXNhYmxlZMKkY29kZdoEgG1kIiIiIE5hbWVkIGFmdGVyIEtlbm5ldGggTGV2ZW5iZXJnIHdobyBmaXJzdCBwdWJsaXNoZWQgdGhlIGFsZ29yaXRobSBpbiAxOTQ0IGFuZCBEb25hbGQgTWFycXVhcmR0IHdobyBtYWRlIHNpZ25pZmljYW50IGNvbnRyaWJ1dGlvbnMgdG8gaXQgaW4gMTk2MywgdGhlIHNvIGxvbmdseSBuYW1lZCBMZXZlbmJlcmctTWFycXVhcmR0IGFsZ29yaXRobSAoTE1BKSBpcyBhbiBhZGFwdGF0aW9uIG9mIHRoZSBHYXVzcy1OZXd0b24gYWxnb3JpdGhtIChHTkEpLCB3aGljaCBpdHNlbGYgaXMgdGhlIG1haW4gbWV0aG9kIHRvIHNvbHZlIG5vbmxpbmVhciBsZWFzdCBzcXVhcmVzIHByb2JsZW1zIGluIG5vbmxpbmVhciByZWdyZXNzaW9uLiAKClVubGlrZSBsaW5lYXIgcmVncmVzc2lvbiwgZmluZGluZyB0aGUgb3B0aW1hbCBwYXJhbWV0ZXIgdmFsdWVzIHRvIGEgbm9ubGluZWFyIG1vZGVsIGRvZXMgbm90IGhhdmUgYSBjbG9zZWQtZm9ybSBzb2x1dGlvbiBhbmQgaXMgZG9uZSBpdGVyYXRpdmVseSwgd2hpY2ggcmVxdWlyZXMgYW4gaW5pdGlhbCBndWVzcy4gVGhpcyBpcyB3aGVyZSBMTUEgZGlmZmVycyBmcm9tIEdOQSBieSBiZWluZyBtb3JlIHJvYnVzdCB0byBpbml0aWFsIGNvbmRpdGlvbnMuIEl0IHdpbGwgZmluZCBhIHNvbHV0aW9uIGV2ZW4gaWYgaXQgc3RhcnRzIGZhciBmcm9tIHRoZSBmaW5hbCBtaW5pbXVtLgoKSW4gdGhpcyBub3RlYm9vayB3ZSB3aWxsIGJ1aWxkIHRoZSBMTUEgZnJvbSB0aGUgZ3JvdW5kIHVwIHNvIHRvIGZ1bmRhbWVudGFsbHkgdW5kZXJzdGFuZCB0aGUgcmVhc29uaW5nIGJlaGluZCBpdC4KCkluICdwb2V0aWMnIHdvcmRzIHRoYXQgd291bGQgbWFrZSBtb3JlIHNlbnNlIGFmdGVyIHJlYWRpbmc6IHVzaW5nIHRoZSBHYXVzcy1OZXd0b24gYWxnb3JpdGhtIHRvIHNvbHZlIG5vbmxpbmVhciBsZWFzdC1zcXVhcmVzIGlzIGxpa2UgZWF0aW5nIGEgbWV0YXBob3JpY2FsIGljZWNyZWFtIGNvbmUsIHdoaWxlIExNQSBpcyB0aGUgc2VydmlldHRlIHlvdSBnZXQgd2l0aCB5b3VyIGljZWNyZWFtIGNvbmUgdG8gc3RvcCB0aGUgaWNlIGZyb20gZHJpcHBpbmcuCgohW10KKGh0dHBzOi8vZ2l0aHViLmNvbS9UaGllbWVuTXVzL0xNLmpsL2Jsb2IvbWFzdGVyL25vdGVib29rL2NvbmVyLmpwZz9yYXc9dHJ1ZSkKIiIiCqtjb2RlX2ZvbGRlZMPZJGNhODAzMDI3LTQwNjMtNGEzNC04NmRhLWM0MWI2NjdhZWUwNoSnY2VsbF9pZNkkY2E4MDMwMjctNDA2My00YTM0LTg2ZGEtYzQxYjY2N2FlZTA2sHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXaBX5tZCIiIgojIyMjIyBHcmFkaWVudCBkZXNjZW50CgpJZiBHTkEgaXNuJ3QgZG9pbmcgc28gaG90LCB3aHkgZG9uJ3Qgd2UganVzdCB1c2UgdGhlIGRpcmVjdGlvbiBvZiBncmFkaWVudCBkZXNjZW5kIHRvIG9wdGltaXplIM6yPwoKR3JhZGllbnQgZGVzY2VudCBpcyBhbiBpbnR1aXRpdmUgaXRlcmF0aXZlIG9wdGltaXphdGlvbiBhbGdvcml0aG0gZm9yIGZpbmRpbmcgbG9jYWwgbWluaW1hLiBUYWtpbmcgcmVwZWF0ZWQgc3RlcHMgaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBvZiB0aGUgZ3JhZGllbnQgb2YgdGhlIGZ1bmN0aW9uIGF0IGVhY2ggaXRlcmF0aW9uIHBvaW50IHdvdWxkIGV2ZW50dWFsbHkgbGVhZCB0byBhIGxvY2FsIG1pbmltdW0uIFRoaXMgaXMgdGhlIGRpcmVjdGlvbiB3aGVyZSAkZih4KSQgZGVjcmVhc2VzIHRoZSBmYXN0ZXN0LgoKVGhlIGNhdmVhdCBjb21lcyBpbiB0aGUgc3BlZWQgb2YgY29udmVyZ2VuY2UuIEdyYWRpZW50IGRlc2NlbnQgZG9lc24ndCBjb252ZXJnZSBmYXN0IGluIGZ1bmN0aW9ucyB3aGVyZSB0aGUgY3VydmF0dXJlIGNoYW5nZXMgcmVsYXRpdmVseSBmYXN0LiBBZ2FpbiB0aGlzIGlzIGludHVpdGl2ZS4gSW1hZ2luZSBhIG1pbmltdW0gbHlpbmcgaW4gYSBuYXJyb3cgdmFsbGV5IG9mIGEgZnVuY3Rpb24uIFRoZSBhbGdvcnRoaW0gY2FuIG9ubHkgbW92ZSBpbiB0aGUgb3Bwc2l0ZSBkaXJlY3Rpb24gb2YgdGhlIGdyYWRpZW50LiBXaGVuIHRoZSBpdGVyYXRpb24gc3RhcnRzIGVudGVyaW5nIHRoZSB2YWxsZXksIGl0IHdpbGwgbW9zdCBsaWtlbHkgb3ZlcnNob290IHRvIHRoZSBvdGhlciBzaWRlIG9mIHRoZSB2YWxsZXkuIE5vdyB0aGUgZ3JhZGllbnQgaGFzIGRyYXN0aWNhbGx5IGNoYW5nZWQsIHBvaW50aW5nIGluIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gb2YgbGFzdCBpdGVyYXRpb24uIAoKQXQgZmlyc3Qgc2lnaHQgdGhpcyBtaWdodCBsb29rIGxpa2UgYSBnb29kIHRoaW5nLCB0aGUgbWluaW11bSBsaWVzIGluIHRoZSBtaWRkbGUgb2YgdGhlIHZhbGxleSB3aGVyZSBncmFkaWVudCBkZXNjZW50IGlzIHBvaW50aW5nIHRvIHJpZ2h0PyBOb3QgbmVjZXNzYXJpbHkgbm8sIHRoZSB2YWxsZXkgbWlnaHQgYXQgaXRzIG1pZGRsZSBzdGlsbCBtb3ZlIGRvd253YXJkcywgbGlrZSBhIHJpdmVyIGJldHdlZW4gbW91bnRhaW5zIHJ1bm5pbmcgdG93YXJkcyB0aGUgbG93ZXN0IHBvaW50IG9mIHRoZSB2YWxsZXkgYnkgZ3Jhdml0eS4gR3JhZGllbnQgZGVzY2VudCBpcyB0ZXJyaWJsZSBhdCByZWNvZ25pemluZyB0aGVzZSBzY2VuYXJpb3MsIGNvbnN0YW50bHkgc3dpdGNoaW5nIHNpZGVzIG9mIHRoZSB2YWxsZXkgaW4gYSB6aWd6YWctcGF0dGVybiwgdmVyeSBzbG93bHkgZ29pbmcgZG93bmhpbGwgdW50aWwgY29udmVyZ2VuY2UuCiIiIqtjb2RlX2ZvbGRlZMPZJDAzNjcwNTU1LWI1MTctNDJjZi04MTQ0LTNjMDA3YTY2YWE1NYSnY2VsbF9pZNkkMDM2NzA1NTUtYjUxNy00MmNmLTgxNDQtM2MwMDdhNjZhYTU1sHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXaARRtZCIiIgpXZSBjb25jbHVkZSB0aGF0IGEgZ29vZCB1bmRlcnN0YW5kaW5nIG9mIHRoZSBvYmplY3RpdmUgZnVuY3Rpb24gaXMgbmVlZGVkIHRvIGNob29zZSB0aGUgYmVzdC1wZXJmb3JtaW5nIGFsZ29yaXRobS4KSW4gZWl0aGVyIGNhc2UsIExNQSBwcm92aWRlcyB0aGUgYmVzdCBvZiBib3RoIHdvcmxkcyBhbmQgd2l0aCBwcm9wZXIgY2hvaWNlIG9mIHBhcmFtZXRlcnMgd2lsbCBhbHdheXMgYmUgYXQgbGVhc3QgYXMgZ29vZCBhcyBHTkEgb3IgR3JhZGllbnQgZGVzY2VudC4KCSIiIgqrY29kZV9mb2xkZWTD2SQzZTAxN2RmMC1hMzVjLTQ1Y2QtOWY1ZS1mNTEzZWE3NDVhZDmEp2NlbGxfaWTZJDNlMDE3ZGYwLWEzNWMtNDVjZC05ZjVlLWY1MTNlYTc0NWFkObBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2SRtZCIiIiAjIyMgR2F1c3MtTmV3dG9uIGFsZ29yaXRobQoiIiKrY29kZV9mb2xkZWTD2SQ5OWZkYzQxYi0xMDMzLTRjMWMtODlkNy1kZGU2YWRmYmI5ODaEp2NlbGxfaWTZJDk5ZmRjNDFiLTEwMzMtNGMxYy04OWQ3LWRkZTZhZGZiYjk4NrBydW5uaW5nX2Rpc2FibGVkwqRjb2Rls0dOQShGLCBbLTUwMCwgNjAwXSmrY29kZV9mb2xkZWTC2SRlNWJjZDExNy1kZTg4LTQ1MmItOTk4NC02NDQ4M2M1MWM1NTeEp2NlbGxfaWTZJGU1YmNkMTE3LWRlODgtNDUyYi05OTg0LTY0NDgzYzUxYzU1N7BydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2gVSbWQiIiIgIyMgTGV2ZW5iZXJnLU1hcnF1YXJkdApUaGUgR2F1c3MtTmV3dG9uIGFsZ29yaXRobSBtaWdodCBzZWVtIGxpa2UgY2xvc3VyZSBmb3Igbm9ubGluZWFyIHJlZ3Jlc3Npb24gYnV0IGl0J3Mgbm90IGFsbCBwdXBwaWVzIGFuZCBzdW5zaGluZSBpbiB0aGUgd29ybGQgb2YgbWF0aGVtYXRpY3MuIFdlJ3ZlIGdvbmUgYSBiaXQgbG9vc2Ugb24gc29tZSBhc3N1bXB0aW9ucyB0aGF0IGFsdGVyIHRoZSBpbnRlcnByZXRhdGlvbiBhbmQgcmVzdWx0cyBvZiB0aGUgYWxnb3JpdGhtLiBMTUEgYWRqdXN0cyBhIHBhcnQgb2YgR05BLCB0cnlpbmcgdG8gdGFja2xlIGEgY291cGxlIG9mIHRoZXNlIGlzc3VlcywgYnV0IGRlZmluaXRlbHkgbm90IGFsbC4KSXQgaXMgbm90IHRoZSBpbnRlbnRpb24gdG8gZ2l2ZSBhIGRldGFpbGVkIG92ZXJ2aWV3IG9mIGFsbCB0aGUgaW50cmljYWNpZXMgdGhhdCBjb21lIHdpdGggbm9ubGluZWFyIGxlYXN0IHNxdWFyZXMuIFdlIHdpbGwgZGlzY3VzcyB0aGUgcHJvYmxlbXMgdGhhdCBMTUEgdHJpZXMgdG8gZGVhbCB3aXRoIG9yIG90aGVycyB0aGF0IG1pZ2h0IGJlIG5lY2Vzc2FyeSBmb3IgaW50ZXJwcmV0YXRpb24uCgpUbyBiZWdpbiwgdGhlIHNvbHV0aW9uIG9mIEdOQSBpcyBub3QgYSBnbG9iYWwgbWluaW11bS4KSW4gbW9zdCBjYXNlcywgdGhlIG5vbmxpbmVhcml0eSBvZiAkZih4LCDOsikkIGxlYWRzIGludG8gUyBubyBsb25nZXIgYmVpbmcgYSBjb252ZXggZnVuY3Rpb24uIFRoZSBtaW5pbWEgd2UgZmluZCBhcmUgbW9zdCBsaWtlbHkgbm90IGdsb2JhbC4gV2l0aCBhbiBpbmZvcm1lZCBpbml0aWFsIGd1ZXNzLCBvdXIgY2hhbmNlcyBtaWdodCBiZSBoaWdoZXIuCgpGb2xsb3dpbmcsIHRoZSBzdW0gb2Ygc3F1YXJlcyBtaWdodCBub3QgZGVjcmVhc2UgYXQgZXZlcnkgaXRlcmF0aW9uIG9mIEdOQS4gJM60JCBtaWdodCBvdmVyc2hvb3QgdGhlIGxvY2FsIG1pbmltdW0sIGFmdGVyIGFsbCB3ZSBhcmUgd29ya2luZyB3aXRoIGFuIGFwcHJveGltYXRpb24gdGhhdCBvbmx5IHdvcmtzIG5lYXIgzrIsIGZvciBhIHNtYWxsIM60LiAKRXZlbiBpZiB0aGF0IGlzIHRoZSBjYXNlLCDOtCBpcyBzdGlsbCBhIGRlc2NlbnQgZGlyZWN0aW9uIG9mIFMsIG1lYW5pbmcgdGhhdCBpdHMgZGlyZWN0aW9uIHdpbGwgYWx3YXlzIG1vdmUgdXMgY2xvc2VyIHRvIGEgbG9jYWwgbWluaW11bSBhcyBsb25nIGFzIG91ciBzdGVwcyBhcmUgc21hbGwgZW5vdWdoLiBBIGNvbnNlcXVlbmNlIG9mIHRoaXMgcHJvcGVydHkgaXMgdGhhdCBHTkEgbWlnaHQgbmV2ZXIgY29udmVyZ2UgYXQgYWxsLCBhcyDOtCBrZWVwcyBvdmVyc2hvb3RpbmcgdGhlIGFjdHVhbCBsb2NhbCBtaW5pbXVtLgoKIiIiq2NvZGVfZm9sZGVkw9kkMjhkOTA4MDgtNzJmZC00Nzk1LTlmMDctZDEyYjZhMTY1ODgwhKdjZWxsX2lk2SQyOGQ5MDgwOC03MmZkLTQ3OTUtOWYwNy1kMTJiNmExNjU4ODCwcnVubmluZ19kaXNhYmxlZMKkY29kZdoBym1kIiIiClRoZSBgR05BYCBmdW5jdGlvbiB0YWtlcyB0aGUgZm9sbG93aW5nIGlucHV0OgotIGBGYDogdGhlIG9iamVjdGl2ZSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgdXNlZCBhcyBpbnB1dCB0byB0aGUgc3VtIG9mIHNxdWFyZXMKLSBgeOKCgGA6IGFuIGluaXRpYWwgZ3Vlc3MgZm9yICR4JAotIGBrX21heGA6IHRoZSBtYXhpbXVtIGFtb3VudCBvZiBpdGVyYXRpb25zIHRoZSBhbGdvcml0aG0gaXMgYWxsb3dlZCB0byBoYXZlCi0gYFNfbWluYDogSW4gdGhpcyBwYXJ0aWN1bGFyIHNjZW5hcmlvIHdoZXJlIHdlIGtub3cgdGhlIGdsb2JhbCBtaW5pbXVtIG9mICRmKHgpJCwgU19taW4gY29udHJvbHMgaG93IGNsb3NlIEdOQSBoYXMgdG8gZ2V0IHRvIHRoZSBnbG9iYWwgbWluaW11bSBiZWZvcmUgdGhlIGFsZ29yaXRobSBpcyBjdXQgc2hvcnQgYW5kICR4JCBpcyByZXR1cm5lZCBhcyBzb2x1dGlvbi4KIiIiq2NvZGVfZm9sZGVkw9kkMzdlOTgyOWYtNTQxYi00NTVmLWFkMzAtNmQyNDk0NjkzNzg0hKdjZWxsX2lk2SQzN2U5ODI5Zi01NDFiLTQ1NWYtYWQzMC02ZDI0OTQ2OTM3ODSwcnVubmluZ19kaXNhYmxlZMKkY29kZbN1c2luZyBMaW5lYXJBbGdlYnJhq2NvZGVfZm9sZGVkwtkkZjBlYTk4NGYtM2MwMi00MGFjLWFjZmItY2E2MmRiZGZjZDFkhKdjZWxsX2lk2SRmMGVhOTg0Zi0zYzAyLTQwYWMtYWNmYi1jYTYyZGJkZmNkMWSwcnVubmluZ19kaXNhYmxlZMKkY29kZdoDMW1kIiIiIFRoZSBsaW5lYXIgcmVncmVzc2lvbiBtb2RlbCBjYW4gYmUgcmVwcmVzZW50ZWQgaW4gbWF0cml4IGZvcm0gYXMgJCRZID0gWM6yICsgz7UkJCwgd2hlcmUgJCRZJCQgYW5kICQkz7UkJCBhcmUgJCRuKjEkJCBtYXRyaWNlcyBvZiByZXNwb25zZSB2YWx1ZXMgYW5kIHJlc2lkdWFscyByZXNwZWN0aXZlbHkuICQkWCQkIGlzIHRoZSAkJG4qcCQkIGRlc2lnbiBtYXRyaXggYW5kICQkzrIkJCBpcyB0aGUgJCRwKjEkJCBtYXRyaXggb2YgdW5rbm93biBwYXJhbWV0ZXJzLgpXaGVuIHRoZXJlIGFyZSBtb3JlIGRhdGEgcG9pbnRzIHRoYW4gcHJlZGljdG9ycywgJCRuID4gcCQkLCB0aGVyZSBpcyBubyB3YXkgdG8gZml0IGEgbGluZSB0aHJvdWdoIGFsbCB0aGUgZGF0YSBwb2ludHMuIEluc3RlYWQsIHdlIHdhbnQgdG8gZmluZCB0aGUgJCTOsiQkIGZvciB3aGljaCB0aGUgcmVzaWR1YWwgc3VtIG9mIHNxdWFyZXMgaXMgYXMgbG93IGFzIHBvc3NpYmxlLgpUaGlzIHJlc3VsdHMgaW4gbWluaW1pemluZyB0aGUgZm9sbG93aW5nIG9iamVjdGl2ZSBmdW5jdGlvbiAkJFMkJCB3aXRoIHJlc3BlY3QgdG8gzrIuCmBgYG1hdGgKUyjOsikgPSB8fFkgLSBYzrJ8fMKyCmBgYApCeSBkZXJpdmluZyAkJFMkJCB0byAkJM6yJCQsIHNldHRpbmcgdGhlIGRlcml2YXRpdmUgdG8gJCQwJCQgYW5kIHNvbHZpbmcgZm9yICQkzrIkJCwgd2UgZmluZCB0aGUgdmFsdWUgZm9yICQkzrIkJCB3aGVyZSAkJFMkJCBkb2VzIG5vdCBjaGFuZ2UuIEluIG90aGVyIHdvcmRzLCB3aGVyZSAkJFMkJCByZWFjaGVzIGEgbG9jYWwgbWluaW11bSBvciBtYXhpbXVtLgoiIiKrY29kZV9mb2xkZWTD2SRlNjgxYjkwZS1lMjI5LTRiMzktYTkwMy1kMTMzNWY4ODRiNjaEp2NlbGxfaWTZJGU2ODFiOTBlLWUyMjktNGIzOS1hOTAzLWQxMzM1Zjg4NGI2NrBydW5uaW5nX2Rpc2FibGVkwqRjb2Rltm1kIiIiICMjIyBBcHBlbmRpeAoiIiKrY29kZV9mb2xkZWTD2SRiMzg2NjBlZC05YjE3LTQ3ZDMtODYwYy1kNjVkNjNmODYyYjKEp2NlbGxfaWTZJGIzODY2MGVkLTliMTctNDdkMy04NjBjLWQ2NWQ2M2Y4NjJiMrBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2S5tZCIiIiMjIExpbmVhciByZWdyZXNzaW9uIGFuZCBsZWFzdC1zcXVhcmVzIiIiq2NvZGVfZm9sZGVkw9kkYTQ4ZWUzYTUtZWVjZC00ZGZmLThjMjMtOThkOWM0YTM3ZjBhhKdjZWxsX2lk2SRhNDhlZTNhNS1lZWNkLTRkZmYtOGMyMy05OGQ5YzRhMzdmMGGwcnVubmluZ19kaXNhYmxlZMKkY29kZbF1c2luZyBGb3J3YXJkRGlmZqtjb2RlX2ZvbGRlZMLZJDRiY2U2NTMxLTNlNzgtNDZiNy05MmJhLTFhMDQyMTUxZDRhMISnY2VsbF9pZNkkNGJjZTY1MzEtM2U3OC00NmI3LTkyYmEtMWEwNDIxNTFkNGEwsHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXaBIhtZCIiIgpUaGUgZnVuY3Rpb25zIHJldHVybiB0aGUgZXN0aW1hdGVkIGJlc3QgdmFsdWUgZm9yICR4JCBhbmQgdGhlIG51bWJlciBvZiBpdGVyYXRpb25zIGl0IHRvb2sgdG8gZ2V0IHRoZXJlLgoKR05BIHBlcmZvcm1zIHNpZ25pZmljYW50bHkgYmV0dGVyIHRoYW4gYm90aCBMTUEgYW5kIEdELCBmb3IgdmFsdWVzIGNsb3NlIHRvIHRoZSBtaW5pbXVtIGFuZCBmb3IgdmFsdWVzIGZ1cnRoZXIgYXdheS4KCldlIGNhbiBleHBsYWluIHRoaXMgcmVzdWx0LiBHTkEgcGVyZm9ybXMgcG9vcmx5IHdoZW5ldmVyIHRoZSBhcHByb3hpbWF0aW9uIGZvciAkZih4LCDOsiArIM60KSQgaXMgZmFyIGZyb20gdGhlIGFjdHVhbCB2YWx1ZS4gRm9yIGxvd2x5IGNvbXBsZXggZnVuY3Rpb25zLCBsaWtlIHRoZSBSb3NlbmJyb2NrIGZ1bmN0aW9uLCBoYXZpbmcgYSBsYXJnZSAkzrQkIGRvZXMgbm90IGhhdmUgYW4gZXh0cmVtZSBlZmZlY3Qgb24gdGhlIGFwcHJveGltYXRpb24uIFdoZW4gd2UncmUgZnJvbSB0aGUgYWN0dWFsIG1pbmltdW0sIGhhdmluZyBhIGxvd2x5IGNvbXBsZXggZnVuY3Rpb24gbWlnaHQgZXZlbiBiZSBpbiBHTkEncyBmYXZvciBhcyBpdCB3aWxsIHRha2UgbGFyZ2Ugc3RlcHMuCgpUaGUgUm9zZW5icm9jayBmdW5jdGlvbiBpcyB0aGUgbmlnaHRtYXJlIG9mIEdyYWRpZW50IGRlc2NlbnQuIFRoZSBuYXJyb3cgdmFsbGV5IHdoZXJlIHRoZSBtaW5pbXVtIHJlc2lkZXMgbGVhZHMgdG8gaW5maW5pdGUgY29udmVyZ2luZy4gQXMgTE1BIGludGVycG9sYXRlcyBiZXR3ZWVuIEdyYWRpZW50IGRlc2NlbnQgYW5kIEdOQSwgaXQgaXMgbm90IHN1cnByaXNpbmcgdGhhdCB0aGUgYWxnb3JpdGhtIGRvZXNuJ3QgcGVyZm9ybSBhcyB3ZWxsIGFzIEdOQS4gV2hpbGUgTE1BIHRha2VzIGdvb2QgcXVhbGl0aWVzIG9mIGJvdGggYWxnb3JpdGhtcyBpdCBhbHNvIHRha2VzIHNvbWUgYmFkIG9uZXMsIG9uIHRvcCBvZiB0aGF0IEdOQSBoYXMgaXRzIGJhZCBxdWFsaXRpZXMgbnVsbGlmaWVkIGJlY2F1c2Ugb2YgdGhlIGZ1bmN0aW9uIGl0IGlzIHBlcmZvcm1lZCBvbi4KCkluIHRoYXQgbG9naWMsIHdlIGNhbiBwcmVkaWN0IHRoYXQgTE1BIHdpbGwgbmVlZCBtb3JlIGl0ZXJhdGlvbnMgd2l0aCBpbmNyZWFzaW5nIGluaXRpYWwgdmFsdWUgZm9yICTOuyQKIiIiCqtjb2RlX2ZvbGRlZMPZJGU3YjdmNWFhLTJjYjAtNDczNy1hMjlkLTVlNGJmMWZkNzY3NoSnY2VsbF9pZNkkZTdiN2Y1YWEtMmNiMC00NzM3LWEyOWQtNWU0YmYxZmQ3Njc2sHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGW9bWQiIiIgIyMjIyMgTGluZWFyaXphdGlvbgoiIiKrY29kZV9mb2xkZWTD2SRiOTQxZmE5NS1kZTMzLTRiMzMtYTNmOS1jM2M5ZTk2M2I1YziEp2NlbGxfaWTZJGI5NDFmYTk1LWRlMzMtNGIzMy1hM2Y5LWMzYzllOTYzYjVjOLBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2YUjY2FsY3VsYXRlIHRoZSBqYWNvYmlhbiBvZiBhIGdpdmVuIGZ1bmN0aW9uIGF0IGEgZ2l2ZW4gcG9pbnQKZnVuY3Rpb24gSmFjKEYsIHgpCglyZXR1cm4gRm9yd2FyZERpZmYuamFjb2JpYW4oeC0+Rih4WzFdLCB4WzJdKSwgeCkKZW5kq2NvZGVfZm9sZGVkwtkkZmY2NmM2NTAtMTA5Ny00ZDE0LWFlZDAtMTE3OTA1NzZlNzVmhKdjZWxsX2lk2SRmZjY2YzY1MC0xMDk3LTRkMTQtYWVkMC0xMTc5MDU3NmU3NWawcnVubmluZ19kaXNhYmxlZMKkY29kZdksTE1BKEYsIFstNTAwLCA2MDBdLCDOuz0wKSAjZXF1aXZhbGVudCB0byBHTkGrY29kZV9mb2xkZWTCq25vdGVib29rX2lk2SQ0MmY0N2QyNC04OTk2LTExZWMtM2ViMS0zZDk5NTljMDJiMWaraW5fdGVtcF9kaXLC";
</script>
<!-- [automatically generated launch parameters can be inserted here] -->
<script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/editor.js" type="module" defer></script>
<script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/warn_old_browsers.js"></script>
<script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend/common/SetupMathJax.js"></script>
<script type="text/javascript" id="MathJax-script" src="https://cdn.jsdelivr.net/npm/[email protected]/es5/tex-svg-full.js" async></script>
</head>
<body class="loading no-MαθJax"></body>
</html>