dallascityhall.com
Open in
urlscan Pro
66.97.145.100
Public Scan
Submitted URL: http://www.dallascityhall.com/
Effective URL: https://dallascityhall.com/Pages/default.aspx
Submission: On September 06 via manual from FR — Scanned from FR
Effective URL: https://dallascityhall.com/Pages/default.aspx
Submission: On September 06 via manual from FR — Scanned from FR
Form analysis
2 forms found in the DOMPOST /Pages/default.aspx
<form method="post" action="/Pages/default.aspx" id="aspnetForm" onsubmit="if (typeof(_spFormOnSubmitWrapper) != 'undefined') {return _spFormOnSubmitWrapper();} else {return true;}">
<div class="aspNetHidden">
<input type="hidden" name="_wpcmWpid" id="_wpcmWpid" value="">
<input type="hidden" name="wpcmVal" id="wpcmVal" value="">
<input type="hidden" name="MSOWebPartPage_PostbackSource" id="MSOWebPartPage_PostbackSource" value="">
<input type="hidden" name="MSOTlPn_SelectedWpId" id="MSOTlPn_SelectedWpId" value="">
<input type="hidden" name="MSOTlPn_View" id="MSOTlPn_View" value="0">
<input type="hidden" name="MSOTlPn_ShowSettings" id="MSOTlPn_ShowSettings" value="False">
<input type="hidden" name="MSOGallery_SelectedLibrary" id="MSOGallery_SelectedLibrary" value="">
<input type="hidden" name="MSOGallery_FilterString" id="MSOGallery_FilterString" value="">
<input type="hidden" name="MSOTlPn_Button" id="MSOTlPn_Button" value="none">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="">
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="">
<input type="hidden" name="__REQUESTDIGEST" id="__REQUESTDIGEST" value="0x4FC5200603EDD545E475E76416E514B38EF69C4B667D9FB970F00C5A48E0DF45681F25CD303E84EFBB7A34D990BCD16D2C6461AAEECB7F86E34BF2099C82A393,06 Sep 2024 15:26:14 -0000">
<input type="hidden" name="MSOSPWebPartManager_DisplayModeName" id="MSOSPWebPartManager_DisplayModeName" value="Browse">
<input type="hidden" name="MSOSPWebPartManager_ExitingDesignMode" id="MSOSPWebPartManager_ExitingDesignMode" value="false">
<input type="hidden" name="MSOWebPartPage_Shared" id="MSOWebPartPage_Shared" value="">
<input type="hidden" name="MSOLayout_LayoutChanges" id="MSOLayout_LayoutChanges" value="">
<input type="hidden" name="MSOLayout_InDesignMode" id="MSOLayout_InDesignMode" value="">
<input type="hidden" name="_wpSelected" id="_wpSelected" value="">
<input type="hidden" name="_wzSelected" id="_wzSelected" value="">
<input type="hidden" name="MSOSPWebPartManager_OldDisplayModeName" id="MSOSPWebPartManager_OldDisplayModeName" value="Browse">
<input type="hidden" name="MSOSPWebPartManager_StartWebPartEditingName" id="MSOSPWebPartManager_StartWebPartEditingName" value="false">
<input type="hidden" name="MSOSPWebPartManager_EndWebPartEditing" id="MSOSPWebPartManager_EndWebPartEditing" value="false">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwUBMA9kFgJmD2QWAgIBD2QWBAIBD2QWBgIRD2QWAmYPZBYCAgMPFgIeE1ByZXZpb3VzQ29udHJvbE1vZGULKYgBTWljcm9zb2Z0LlNoYXJlUG9pbnQuV2ViQ29udHJvbHMuU1BDb250cm9sTW9kZSwgTWljcm9zb2Z0LlNoYXJlUG9pbnQsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49NzFlOWJjZTExMWU5NDI5YwFkAiUPZBYCAgMPZBYCZg9kFgJmDzwrAAYAZAInD2QWAgIBD2QWDAUmZ184ZDc1ZDdhYV82YTA4XzRiYzlfODRjZl9iNjE4NTRhMGM0MjYPZBYCZg8WAh4JaW5uZXJodG1sBY0IPGxpPjxhIGhyZWY9J2h0dHBzOi8vd3d3LmRhbGxhc2NpdHluZXdzLm5ldC9jaXR5LW9mLWRhbGxhcy1zZWVrcy1jb21tdW5pdHktaW5wdXQtb24tdGhlLW5leHQtY2l0eS1tYW5hZ2VyJyB0YXJnZXQ9J19CbGFuaycgZGF0YS1nYS1hY3Rpb249J0NsaWNrJyBkYXRhLWdhLWNhdGVnb3J5PSdGZWF0dXJlZCBOZXdzJyBkYXRhLWdhLWxhYmVsPSdDaXR5IG9mIERhbGxhcyBTZWVrcyBDb21tdW5pdHkgSW5wdXQgb24gdGhlIE5leHQgQ2l0eSBNYW5hZ2VyJz5DaXR5IG9mIERhbGxhcyBTZWVrcyBDb21tdW5pdHkgSW5wdXQgb24gdGhlIE5leHQgQ2l0eSBNYW5hZ2VyPC9hPjwvbGk+PGxpPjxhIGhyZWY9J2h0dHBzOi8vZGFsbGFzY2l0eWhhbGwuY29tL2RlcGFydG1lbnRzL2Npc2VydmljZXMvUGFnZXMvRGFsbGFzLVNlY3VyZS5hc3B4JyB0YXJnZXQ9J19zZWxmJyBkYXRhLWdhLWFjdGlvbj0nQ2xpY2snIGRhdGEtZ2EtY2F0ZWdvcnk9J0ZlYXR1cmVkIE5ld3MnIGRhdGEtZ2EtbGFiZWw9J0NpdHkgb2YgRGFsbGFzIExhdW5jaGVzIEZyZWUg4oCcRGFsbGFzIFNlY3VyZeKAnSBNb2JpbGUgUGhvbmUgQXBwIHRvIFByb3RlY3QgUmVzaWRlbnRzIGZyb20gQ3liZXJzZWN1cml0eSBUaHJlYXRzJz5DaXR5IG9mIERhbGxhcyBMYXVuY2hlcyBGcmVlIOKAnERhbGxhcyBTZWN1cmXigJ0gTW9iaWxlIFBob25lIEFwcCB0byBQcm90ZWN0IFJlc2lkZW50cyBmcm9tIEN5YmVyc2VjdXJpdHkgVGhyZWF0czwvYT48L2xpPjxsaT48YSBocmVmPSdodHRwOi8vd3d3LmRhbGxhc2NpdHluZXdzLm5ldC9jaXR5LWRhbGxhcy1hZG9wdHMtbmV3LWVjb25vbWljLWRldmVsb3BtZW50LXBvbGljeScgdGFyZ2V0PSdfc2VsZicgZGF0YS1nYS1hY3Rpb249J0NsaWNrJyBkYXRhLWdhLWNhdGVnb3J5PSdGZWF0dXJlZCBOZXdzJyBkYXRhLWdhLWxhYmVsPSdDaXR5IG9mIERhbGxhcyBhZG9wdHMgbmV3IEVjb25vbWljIERldmVsb3BtZW50IFBvbGljeSc+Q2l0eSBvZiBEYWxsYXMgYWRvcHRzIG5ldyBFY29ub21pYyBEZXZlbG9wbWVudCBQb2xpY3k8L2E+PC9saT5kBSZnX2VmYjgzMzE4X2U0MjBfNDQ1NV9hYzhmX2ZlMzk0ZDhjM2EzMA9kFgJmDxYEHgVjbGFzcwUfbXMtcnRlLWVtYmVkY29kZSBtcy1ydGUtZW1iZWR3cB8BBdUCPGgzIHN0eWxlPSJib3JkZXItYm90dG9tOm5vbmU7IGNvbG9yOiByZ2IoNjgsIDY4LCA2OCkiPkZFQVRVUkVEIE5FV1M8L2gzPg0KPGEgaHJlZj0iaHR0cDovL2RhbGxhc2NpdHluZXdzLm5ldCIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLW1kIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgYm9yZGVyOiAxcHggc29saWQgIzAxNjZjZTsgY29sb3I6ICMwMTY2Y2U7IiBkYXRhLWdhLWFjdGlvbj0iRXh0ZXJuYWwgTGluayIgZGF0YS1nYS1jYXRlZ29yeT0iRmVhdHVyZWQgTmV3cyIgZGF0YS1nYS1sYWJlbD0iUmVhZCBNb3JlIj5WaWV3IE1vcmUgTmV3czwvYT5kBSZnX2M0ZmE3NzBhXzY4ODhfNGZiYl9iNjAxXzQ0YTExZjQyYzczZg9kFgJmDxYEHwIFH21zLXJ0ZS1lbWJlZGNvZGUgbXMtcnRlLWVtYmVkd3AfAQX+nAE8c3R5bGU+DQouc3BvdGxpZ2h0LXRpdGxlew0KICAgIGZvbnQtd2VpZ2h0OmJvbGQ7DQogICAgcGFkZGluZzo1cHg7DQp9DQo8L3N0eWxlPg0KDQo8ZGl2IGNsYXNzPSJzcG90bGlnaHQtdGl0bGUiPg0KICAgICAgICAgICAgICAgICAgICA8aDIgc3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4LCA2OCkiPlNQT1RMSUdIVDwvaDI+DQo8L2Rpdj4NCg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgKGZ1bmN0aW9uICgkKSB7DQoNCiAgICAgICAgICAgICQuZm4uc2Nyb2xsYm94ID0gZnVuY3Rpb24gKGNvbmZpZykgew0KICAgICAgICAgICAgICAgIC8vZGVmYXVsdCBjb25maWcNCiAgICAgICAgICAgICAgICB2YXIgZGVmQ29uZmlnID0gew0KICAgICAgICAgICAgICAgICAgICBsaW5lYXI6IHRydWUsICAgICAgICAgIC8vIFNjcm9sbCBtZXRob2QNCiAgICAgICAgICAgICAgICAgICAgc3RhcnREZWxheTogMTAsICAgICAgICAgIC8vIFN0YXJ0IGRlbGF5IChpbiBzZWNvbmRzKQ0KICAgICAgICAgICAgICAgICAgICBkZWxheTogMTAsICAgICAgICAgICAgICAgLy8gRGVsYXkgYWZ0ZXIgZWFjaCBzY3JvbGwgZXZlbnQgKGluIHNlY29uZHMpDQogICAgICAgICAgICAgICAgICAgIHN0ZXA6IDI1LCAgICAgICAgICAgICAgICAvLyBEaXN0YW5jZSBvZiBlYWNoIHNpbmdsZSBzdGVwIChpbiBwaXhlbHMpDQogICAgICAgICAgICAgICAgICAgIHNwZWVkOiAyNSwgICAgICAgICAgICAgIC8vIERlbGF5IGFmdGVyIGVhY2ggc2luZ2xlIHN0ZXAgKGluIG1pbGxpc2Vjb25kcykNCiAgICAgICAgICAgICAgICAgICAgc3dpdGNoSXRlbXM6IDEsICAgICAgICAgLy8gSXRlbXMgdG8gc3dpdGNoIGFmdGVyIGVhY2ggc2Nyb2xsIGV2ZW50DQogICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogJ3ZlcnRpY2FsJywNCiAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2U6ICdhdXRvJywNCiAgICAgICAgICAgICAgICAgICAgYXV0b1BsYXk6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICBvbk1vdXNlT3ZlclBhdXNlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBwYXVzZWQ6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICBxdWV1ZTogbnVsbCwNCiAgICAgICAgICAgICAgICAgICAgbGlzdEVsZW1lbnQ6ICd1bCcsDQogICAgICAgICAgICAgICAgICAgIGxpc3RJdGVtRWxlbWVudDogJ2xpJywNCiAgICAgICAgICAgICAgICAgICAgaW5maW5pdGVMb29wOiB0cnVlLCAgICAgLy8gSW5maW5pdGUgbG9vcCBvciBub3QNCiAgICAgICAgICAgICAgICAgICAgc3dpdGNoQW1vdW50OiAwLCAgICAgICAgLy8gR2l2ZSBhIG51bWJlciBpZiB5b3UgZG9uJ3Qgd2FudCB0byBoYXZlIGluZmluaXRlIGxvb3ANCiAgICAgICAgICAgICAgICAgICAgYWZ0ZXJGb3J3YXJkOiBudWxsLCAgICAgLy8gQ2FsbGJhY2sgZnVuY3Rpb24gYWZ0ZXIgZWFjaCBmb3J3YXJkIGFjdGlvbg0KICAgICAgICAgICAgICAgICAgICBhZnRlckJhY2t3YXJkOiBudWxsLCAgICAvLyBDYWxsYmFjayBmdW5jdGlvbiBhZnRlciBlYWNoIGJhY2t3YXJkIGFjdGlvbg0KICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyU3RhY2thYmxlOiBmYWxzZSAvLyBBbGxvdyB0cmlnZ2VycyB3aGVuIGFjdGlvbiBpcyBub3QgZmluaXNoIHlldA0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgY29uZmlnID0gJC5leHRlbmQoZGVmQ29uZmlnLCBjb25maWcpOw0KICAgICAgICAgICAgICAgIGNvbmZpZy5zY3JvbGxPZmZzZXQgPSBjb25maWcuZGlyZWN0aW9uID09PSAndmVydGljYWwnID8gJ3Njcm9sbFRvcCcgOiAnc2Nyb2xsTGVmdCc7DQogICAgICAgICAgICAgICAgaWYgKGNvbmZpZy5xdWV1ZSkgew0KICAgICAgICAgICAgICAgICAgICBjb25maWcucXVldWUgPSAkKCcjJyArIGNvbmZpZy5xdWV1ZSk7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBjb250YWluZXIgPSAkKHRoaXMpLA0KICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyVUwsDQogICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxpbmdJZCA9IG51bGwsDQogICAgICAgICAgICAgICAgICAgICAgICBuZXh0U2Nyb2xsSWQgPSBudWxsLA0KICAgICAgICAgICAgICAgICAgICAgICAgcGF1c2VkID0gZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICByZWxlYXNlU3RhY2ssDQogICAgICAgICAgICAgICAgICAgICAgICBiYWNrd2FyZCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcndhcmQsDQogICAgICAgICAgICAgICAgICAgICAgICByZXNldENsb2NrLA0KICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsRm9yd2FyZCwNCiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbEJhY2t3YXJkLA0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yd2FyZEhvdmVyLA0KICAgICAgICAgICAgICAgICAgICAgICAgcGF1c2VIb3ZlciwNCiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaENvdW50ID0gMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrZWRUcmlnZ2VySW5kZXggPSAwOw0KDQogICAgICAgICAgICAgICAgICAgIGlmIChjb25maWcub25Nb3VzZU92ZXJQYXVzZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmJpbmQoJ21vdXNlb3ZlcicsIGZ1bmN0aW9uICgpIHsgcGF1c2VkID0gdHJ1ZTsgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuYmluZCgnbW91c2VvdXQnLCBmdW5jdGlvbiAoKSB7IHBhdXNlZCA9IGZhbHNlOyB9KTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBjb250YWluZXJVTCA9IGNvbnRhaW5lci5jaGlsZHJlbihjb25maWcubGlzdEVsZW1lbnQgKyAnOmZpcnN0LWNoaWxkJyk7DQoNCiAgICAgICAgICAgICAgICAgICAgLy8gaW5pdCBkZWZhdWx0IHN3aXRjaEFtb3VudA0KICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLmluZmluaXRlTG9vcCA9PT0gZmFsc2UgJiYgY29uZmlnLnN3aXRjaEFtb3VudCA9PT0gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLnN3aXRjaEFtb3VudCA9IGNvbnRhaW5lclVMLmNoaWxkcmVuKCkubGVuZ3RoOw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsRm9yd2FyZCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXVzZWQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3VyTGksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdTY3JvbGxPZmZzZXQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsRGlzdGFuY2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlU3RlcDsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgY3VyTGkgPSBjb250YWluZXJVTC5jaGlsZHJlbihjb25maWcubGlzdEl0ZW1FbGVtZW50ICsgJzpmaXJzdC1jaGlsZCcpOw0KDQogICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxEaXN0YW5jZSA9IGNvbmZpZy5kaXN0YW5jZSAhPT0gJ2F1dG8nID8gY29uZmlnLmRpc3RhbmNlIDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJyA/IGN1ckxpLm91dGVySGVpZ2h0KHRydWUpIDogY3VyTGkub3V0ZXJXaWR0aCh0cnVlKTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgLy8gb2Zmc2V0DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmZpZy5saW5lYXIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVTdGVwID0gTWF0aC5tYXgoMywgcGFyc2VJbnQoKHNjcm9sbERpc3RhbmNlIC0gY29udGFpbmVyWzBdW2NvbmZpZy5zY3JvbGxPZmZzZXRdKSAqIDAuMywgMTApKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdTY3JvbGxPZmZzZXQgPSBNYXRoLm1pbihjb250YWluZXJbMF1bY29uZmlnLnNjcm9sbE9mZnNldF0gKyB0aGVTdGVwLCAwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3U2Nyb2xsT2Zmc2V0ID0gTWF0aC5taW4oY29udGFpbmVyWzBdW2NvbmZpZy5zY3JvbGxPZmZzZXRdICsgY29uZmlnLnN0ZXAsIDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyWzBdW2NvbmZpZy5zY3JvbGxPZmZzZXRdID0gbmV3U2Nyb2xsT2Zmc2V0Ow0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAobmV3U2Nyb2xsT2Zmc2V0ID49IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY29uZmlnLnN3aXRjaEl0ZW1zOyBpKyspIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZy5xdWV1ZSAmJiBjb25maWcucXVldWUuZmluZChjb25maWcubGlzdEl0ZW1FbGVtZW50KS5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJVTC5hcHBlbmQoY29uZmlnLnF1ZXVlLmZpbmQoY29uZmlnLmxpc3RJdGVtRWxlbWVudClbMF0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyVUwuY2hpbGRyZW4oY29uZmlnLmxpc3RJdGVtRWxlbWVudCArICc6Zmlyc3QtY2hpbGQnKS5yZW1vdmUoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclVMLmFwcGVuZChjb250YWluZXJVTC5jaGlsZHJlbihjb25maWcubGlzdEl0ZW1FbGVtZW50ICsgJzpmaXJzdC1jaGlsZCcpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArK3N3aXRjaENvdW50Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJbMF1bY29uZmlnLnNjcm9sbE9mZnNldF0gPSAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoc2Nyb2xsaW5nSWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGluZ0lkID0gbnVsbDsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkLmlzRnVuY3Rpb24oY29uZmlnLmFmdGVyRm9yd2FyZCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLmFmdGVyRm9yd2FyZC5jYWxsKGNvbnRhaW5lciwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoQ291bnQ6IHN3aXRjaENvdW50LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEZpcnN0Q2hpbGQ6IGNvbnRhaW5lclVMLmNoaWxkcmVuKGNvbmZpZy5saXN0SXRlbUVsZW1lbnQgKyAnOmZpcnN0LWNoaWxkJykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWcudHJpZ2dlclN0YWNrYWJsZSAmJiBzdGFja2VkVHJpZ2dlckluZGV4ICE9PSAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGVhc2VTdGFjaygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWcuaW5maW5pdGVMb29wID09PSBmYWxzZSAmJiBzd2l0Y2hDb3VudCA+PSBjb25maWcuc3dpdGNoQW1vdW50KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZy5hdXRvUGxheSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0U2Nyb2xsSWQgPSBzZXRUaW1lb3V0KGZvcndhcmQsIGNvbmZpZy5kZWxheSAqIDEwMDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgICAgICAgICAvLyBCYWNrd2FyZA0KICAgICAgICAgICAgICAgICAgICAvLyAxLiBJZiBmb3J3YXJkaW5nLCB0aGVuIHJldmVyc2UNCiAgICAgICAgICAgICAgICAgICAgLy8gMi4gSWYgc3RvcGluZywgdGhlbiBiYWNrd2FyZCBvbmNlDQogICAgICAgICAgICAgICAgICAgIHNjcm9sbEJhY2t3YXJkID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhdXNlZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjdXJMaSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Njcm9sbE9mZnNldCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxEaXN0YW5jZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVTdGVwOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAvLyBpbml0DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29udGFpbmVyWzBdW2NvbmZpZy5zY3JvbGxPZmZzZXRdID09PSAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNvbmZpZy5zd2l0Y2hJdGVtczsgaSsrKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclVMLmNoaWxkcmVuKGNvbmZpZy5saXN0SXRlbUVsZW1lbnQgKyAnOmxhc3QtY2hpbGQnKS5pbnNlcnRCZWZvcmUoY29udGFpbmVyVUwuY2hpbGRyZW4oY29uZmlnLmxpc3RJdGVtRWxlbWVudCArICc6Zmlyc3QtY2hpbGQnKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyTGkgPSBjb250YWluZXJVTC5jaGlsZHJlbihjb25maWcubGlzdEl0ZW1FbGVtZW50ICsgJzpmaXJzdC1jaGlsZCcpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbERpc3RhbmNlID0gY29uZmlnLmRpc3RhbmNlICE9PSAnYXV0bycgPw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcuZGlzdGFuY2UgOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcuZGlyZWN0aW9uID09PSAndmVydGljYWwnID8gY3VyTGkuaGVpZ2h0KCkgOiBjdXJMaS53aWR0aCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclswXVtjb25maWcuc2Nyb2xsT2Zmc2V0XSA9IHNjcm9sbERpc3RhbmNlOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAvLyBuZXcgb2Zmc2V0DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmZpZy5saW5lYXIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVTdGVwID0gTWF0aC5tYXgoMywgcGFyc2VJbnQoY29udGFpbmVyWzBdW2NvbmZpZy5zY3JvbGxPZmZzZXRdICogMC4zLCAxMCkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Njcm9sbE9mZnNldCA9IE1hdGgubWF4KGNvbnRhaW5lclswXVtjb25maWcuc2Nyb2xsT2Zmc2V0XSAtIHRoZVN0ZXAsIDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdTY3JvbGxPZmZzZXQgPSBNYXRoLm1heChjb250YWluZXJbMF1bY29uZmlnLnNjcm9sbE9mZnNldF0gLSBjb25maWcuc3RlcCwgMCk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJbMF1bY29uZmlnLnNjcm9sbE9mZnNldF0gPSBuZXdTY3JvbGxPZmZzZXQ7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdTY3JvbGxPZmZzZXQgPT09IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXN3aXRjaENvdW50Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoc2Nyb2xsaW5nSWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGluZ0lkID0gbnVsbDsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkLmlzRnVuY3Rpb24oY29uZmlnLmFmdGVyQmFja3dhcmQpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5hZnRlckJhY2t3YXJkLmNhbGwoY29udGFpbmVyLCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hDb3VudDogc3dpdGNoQ291bnQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50Rmlyc3RDaGlsZDogY29udGFpbmVyVUwuY2hpbGRyZW4oY29uZmlnLmxpc3RJdGVtRWxlbWVudCArICc6Zmlyc3QtY2hpbGQnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZy50cmlnZ2VyU3RhY2thYmxlICYmIHN0YWNrZWRUcmlnZ2VySW5kZXggIT09IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsZWFzZVN0YWNrKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZy5hdXRvUGxheSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0U2Nyb2xsSWQgPSBzZXRUaW1lb3V0KGZvcndhcmQsIGNvbmZpZy5kZWxheSAqIDEwMDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgICAgICAgICByZWxlYXNlU3RhY2sgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhY2tlZFRyaWdnZXJJbmRleCA9PT0gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGFja2VkVHJpZ2dlckluZGV4ID4gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrZWRUcmlnZ2VySW5kZXgtLTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0U2Nyb2xsSWQgPSBzZXRUaW1lb3V0KGZvcndhcmQsIDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFja2VkVHJpZ2dlckluZGV4Kys7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFNjcm9sbElkID0gc2V0VGltZW91dChiYWNrd2FyZCwgMCk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgICAgICAgICAgZm9yd2FyZCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoc2Nyb2xsaW5nSWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsaW5nSWQgPSBzZXRJbnRlcnZhbChzY3JvbGxGb3J3YXJkLCBjb25maWcuc3BlZWQpOw0KICAgICAgICAgICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICAgICAgICAgIGJhY2t3YXJkID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChzY3JvbGxpbmdJZCk7DQogICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxpbmdJZCA9IHNldEludGVydmFsKHNjcm9sbEJhY2t3YXJkLCBjb25maWcuc3BlZWQpOw0KICAgICAgICAgICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICAgICAgICAgIC8vIEltcGxlbWVudHMgbW91c2VvdmVyIGZ1bmN0aW9uLg0KICAgICAgICAgICAgICAgICAgICBmb3J3YXJkSG92ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBjb25maWcuYXV0b1BsYXkgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcGF1c2VkID0gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKHNjcm9sbGluZ0lkKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGluZ0lkID0gc2V0SW50ZXJ2YWwoc2Nyb2xsRm9yd2FyZCwgY29uZmlnLnNwZWVkKTsNCiAgICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICAgICAgcGF1c2VIb3ZlciA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHBhdXNlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgICAgICAgICAgcmVzZXRDbG9jayA9IGZ1bmN0aW9uIChkZWxheSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLmRlbGF5ID0gZGVsYXkgfHwgY29uZmlnLmRlbGF5Ow0KICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KG5leHRTY3JvbGxJZCk7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLmF1dG9QbGF5KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFNjcm9sbElkID0gc2V0VGltZW91dChmb3J3YXJkLCBjb25maWcuZGVsYXkgKiAxMDAwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLmF1dG9QbGF5KSB7DQogICAgICAgICAgICAgICAgICAgICAgICBuZXh0U2Nyb2xsSWQgPSBzZXRUaW1lb3V0KGZvcndhcmQsIGNvbmZpZy5zdGFydERlbGF5ICogMTAwMCk7DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAvLyBiaW5kIGV2ZW50cyBmb3IgY29udGFpbmVyDQogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5iaW5kKCdyZXNldENsb2NrJywgZnVuY3Rpb24gKGRlbGF5KSB7IHJlc2V0Q2xvY2soZGVsYXkpOyB9KTsNCiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmJpbmQoJ2ZvcndhcmQnLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLnRyaWdnZXJTdGFja2FibGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2Nyb2xsaW5nSWQgIT09IG51bGwpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2tlZFRyaWdnZXJJbmRleCsrOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcndhcmQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dChuZXh0U2Nyb2xsSWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcndhcmQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5iaW5kKCdiYWNrd2FyZCcsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWcudHJpZ2dlclN0YWNrYWJsZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzY3JvbGxpbmdJZCAhPT0gbnVsbCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFja2VkVHJpZ2dlckluZGV4LS07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja3dhcmQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dChuZXh0U2Nyb2xsSWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2t3YXJkKCk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuYmluZCgncGF1c2VIb3ZlcicsIGZ1bmN0aW9uICgpIHsgcGF1c2VIb3ZlcigpOyB9KTsNCiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmJpbmQoJ2ZvcndhcmRIb3ZlcicsIGZ1bmN0aW9uICgpIHsgZm9yd2FyZEhvdmVyKCk7IH0pOw0KICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuYmluZCgnc3BlZWRVcCcsIGZ1bmN0aW9uIChzcGVlZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNwZWVkID09PSAndW5kZWZpbmVkJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWVkID0gTWF0aC5tYXgoMSwgcGFyc2VJbnQoY29uZmlnLnNwZWVkIC8gMiwgMTApKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5zcGVlZCA9IHNwZWVkOw0KICAgICAgICAgICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuYmluZCgnc3BlZWREb3duJywgZnVuY3Rpb24gKHNwZWVkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3BlZWQgPT09ICd1bmRlZmluZWQnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlZWQgPSBjb25maWcuc3BlZWQgKiAyOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLnNwZWVkID0gc3BlZWQ7DQogICAgICAgICAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5iaW5kKCd1cGRhdGVDb25maWcnLCBmdW5jdGlvbiAob3B0aW9ucykgew0KICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnID0gJC5leHRlbmQoY29uZmlnLCBvcHRpb25zKTsNCiAgICAgICAgICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgfShqUXVlcnkpKTsNCiAgICA8L3NjcmlwdD4NCiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgICAgICQoZnVuY3Rpb24gKCkgew0KDQogICAgICAgICAgICAkKCcjcGktdGlsZXMnKS5zY3JvbGxib3goew0KICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogJ2gnLA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAkKCcjcGktdGlsZXMtYmFja3dhcmQnKS5jbGljayhmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgJCgnI3BpLXRpbGVzJykudHJpZ2dlcignYmFja3dhcmQnKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgJCgnI3BpLXRpbGVzLWZvcndhcmQnKS5jbGljayhmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgJCgnI3BpLXRpbGVzJykudHJpZ2dlcignZm9yd2FyZCcpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgIDwvc2NyaXB0Pg0KDQoNCjxzY3JpcHQgc3JjPSIvU3R5bGUlMjBMaWJyYXJ5L2pzL2FuZ3VsYXIubWluLmpzIj48L3NjcmlwdD4NCg0KPHNjcmlwdD4NCiAgICANCiAgICAgICB2YXIgbXlBbmdBcHAgPSBhbmd1bGFyLm1vZHVsZSgnQW5nQXBwU3BvdExpZ2h0JywgW10pOw0KICAgICAgIG15QW5nQXBwLmNvbnRyb2xsZXIoJ2FuZ1Nwb3RMaWdodENvbnRyb2xsZXInLCBmdW5jdGlvbiAoJHNjb3BlLCAkaHR0cCkgew0KICAgICAgICAgICB2YXIgdG9kYXkgPSBuZXcgRGF0ZSgpOw0KICAgICAgICAgICAkaHR0cCh7DQogICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLA0KICAgICAgICAgICAgICAgdXJsOiByZW1vdmVIVFRQZnJvbVVSTChfc3BQYWdlQ29udGV4dEluZm8ud2ViQWJzb2x1dGVVcmwpICsgIi9fYXBpL3dlYi9saXN0cy9nZXRCeVRpdGxlKCdTcG90TGlnaHQnKS9pdGVtcz8kc2VsZWN0PVN0YXJ0RGF0ZSxFbmREYXRlLE9yZGVyLFNwb3RsaWdodFRpdGxlLE9wZW5JblRoZU5leHRUYWIsTGluayxFbmNvZGVkQWJzVXJsIiArDQogICAgICAgICAgICAgICAgICAgIiYkb3JkZXJieT1PcmRlcjAgYXNjJiRmaWx0ZXI9U3RhcnREYXRlIGxlIGRhdGV0aW1lJyIgKyB0b2RheS50b0lTT1N0cmluZygpICsgIicgYW5kIEVuZERhdGUgZ2UgZGF0ZXRpbWUnIiArIHRvZGF5LnRvSVNPU3RyaW5nKCkgKyAiJyIsDQogICAgICAgICAgICAgICBoZWFkZXJzOiB7ICJBY2NlcHQiOiAiYXBwbGljYXRpb24vanNvbjtvZGF0YT12ZXJib3NlIiB9DQogICAgICAgICAgIH0pLnN1Y2Nlc3MoZnVuY3Rpb24gKGQsIHMsIGgsIGMpIHsNCiAgICAgICAgICAgICAgICRzY29wZS5zcG90bGlnaHRzID0gZC5kLnJlc3VsdHM7DQogICAgICAgICAgICAgICB2YXIgYmFja3VwQ291bnQgPSAzIC0gJHNjb3BlLnNwb3RsaWdodHMubGVuZ3RoOw0KICAgICAgICAgICAgICAgaWYgKGJhY2t1cENvdW50ID4gMCkgew0KICAgICAgICAgICAgICAgICAgICRodHRwKHsNCiAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnR0VUJywNCiAgICAgICAgICAgICAgICAgICAgICAgdXJsOiByZW1vdmVIVFRQZnJvbVVSTChfc3BQYWdlQ29udGV4dEluZm8ud2ViQWJzb2x1dGVVcmwpKyAiL19hcGkvd2ViL2xpc3RzL2dldEJ5VGl0bGUoJ1Nwb3RMaWdodCcpL2l0ZW1zPyRzZWxlY3Q9T3JkZXIsU3BvdGxpZ2h0VGl0bGUsT3BlbkluVGhlTmV4dFRhYixMaW5rLEVuY29kZWRBYnNVcmwmJG9yZGVyYnk9T3JkZXIwIGRlc2MiLA0KICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7ICJBY2NlcHQiOiAiYXBwbGljYXRpb24vanNvbjtvZGF0YT12ZXJib3NlIiB9DQogICAgICAgICAgICAgICAgICAgfSkuc3VjY2VzcyhmdW5jdGlvbiAoZCwgcywgaCwgYykgew0KICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuc3BvdGxpZ2h0cy5wdXNoLmFwcGx5KCRzY29wZS5zcG90bGlnaHRzLCAgZC5kLnJlc3VsdHMpOw0KICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgIH0pOw0KICAgICAgICAgDQoNCiAgICAgICAgICAgLy8kc2NvcGUucGljdHVyZXMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgIC8vICAgIHJldHVybiAkc2NvcGUuc3BvdGxpZ2h0cy5jb25jYXQoJHNjb3BlLnNwb3RsaWdodEJhY2t1cHMpOw0KICAgICAgICAgICAvL30NCg0KDQogICAgICAgICAgICRzY29wZS5nZXRUYXJnZXQgPSBmdW5jdGlvbih0YXJnZXRTdHJpbmcpIHsNCiAgICAgICAgICAgICAgIGlmICh0YXJnZXRTdHJpbmcpDQogICAgICAgICAgICAgICAgICAgcmV0dXJuICJfYmxhbmsiOw0KICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgIHJldHVybiAiX3NlbGYiOw0KICAgICAgICAgICB9DQoNCiAgICAgJHNjb3BlLmdldFNyY3dpdGhvdXRIVFRQID0gZnVuY3Rpb24odXJsU3RyaW5nKSB7DQogICAgICAgICAgICAgdmFyIGh0dHBJbmRleCA9IHVybFN0cmluZy5pbmRleE9mKCI6Ly8iKTsNCiAgICAgICAgICAgIGlmKGh0dHBJbmRleCA+IDApDQogICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxTdHJpbmcuc2xpY2UoaHR0cEluZGV4KzEpOw0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybFN0cmluZzsNCg0KICAgICAgICAgICB9DQoNCiAgICAgICB9KSAgICAgIA0KICAgICAgICAgIA0KPC9zY3JpcHQ+DQoNCjxkaXYgbmctYXBwPSJBbmdBcHBTcG90TGlnaHQiIGNsYXNzPSJzcC1yb3ciPg0KICAgIDxkaXYgaWQ9InBpLXNjcm9sbC10aWxlcyIgbmctY29udHJvbGxlcj0iYW5nU3BvdExpZ2h0Q29udHJvbGxlciI+DQogICAgICAgIDxkaXYgaWQ9InBpLXRpbGVzIiBjbGFzcz0ic2Nyb2xsLWltZyI+DQogICAgICAgICAgICA8dWwgY2xhc3M9InVuc3R5bGVkIiBpZD0idGlsZXNVbCI+DQogICAgICAgICAgICAgICAgPGxpIG5nLXJlcGVhdD0icGljdHVyZSBpbiBzcG90bGlnaHRzIj4NCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ie3twaWN0dXJlLkxpbmsuVXJsfX0iIHRhcmdldD0ie3tnZXRUYXJnZXQocGljdHVyZS5PcGVuSW5UaGVOZXh0VGFiKX19IiAgZGF0YS1nYS1hY3Rpb249IkxpbmsiIGRhdGEtZ2EtY2F0ZWdvcnk9IkhvbWUiIGRhdGEtZ2EtbGFiZWw9Int7cGljdHVyZS5TcG90bGlnaHRUaXRsZX19Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImltYWdlLXRodW1icyIgbmctc3JjPSJ7e3BpY3R1cmUuRW5jb2RlZEFic1VybH19IiBhbHQ9IiIgYXJpYS1oaWRkZW49InRydWUiIC8+PHNwYW4gY2xhc3M9Im5vcGFkIHNwb3RsaWdodC10aXRsZSI+e3twaWN0dXJlLlNwb3RsaWdodFRpdGxlfX08L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgPC91bD4NCiAgICAgICAgPC9kaXY+DQogPGRpdiBpZD0icGktdGlsZXMtYnRuIiBjbGFzcz0idGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4iIGlkPSJwaS10aWxlcy1iYWNrd2FyZCIgYXJpYS1sYWJlbD0idGhlIHByZXZpb3VzIHNwb3RsaWdodCI+PC9idXR0b24+DQogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biIgaWQ9InBpLXRpbGVzLWZvcndhcmQiICBhcmlhLWxhYmVsPSJ0aGUgbmV4dCBzcG90bGlnaHQiPjwvYnV0dG9uPg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KPGJyIC8+DQoNCjxzdHlsZT4NCgkjY291bnRkb3duew0KCQl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJCXBhZGRpbmc6IDIwcHggMDsNCgkJYm9yZGVyLXRvcDogc29saWQgMXB4ICM5OTk7DQoJfQ0KCSNjb3VudGRvd24gaDN7DQoJCWZvbnQtZmFtaWx5OiAnUm9ib3RvJzsNCgkJZm9udC13ZWlnaHQ6IDYwMDsNCgkJZm9udC1zaXplOiAyOHB4Ow0KCQljb2xvcjogcmdiKDMsNjMsMTM2KTsNCgkJYm9yZGVyLWJvdHRvbTpub25lOw0KCX0NCg0KCSNjb3VudGRvd24tMXsNCgkJcGFkZGluZzoyNXB4IDA7DQoJfQ0KCSNjb3VudGRvd24tZGlzcGxheXsNCgkJZGlzcGxheTogYmxvY2s7DQoJCWJvcmRlci1yYWRpdXM6IDEwcHg7DQoJCS8qaGVpZ2h0OiAxNDBweDsqLw0KCSAgICBtYXgtd2lkdGg6IDcwMHB4Ow0KCSAgICBtYXJnaW46IDAgYXV0bzsNCgl9DQoJI2NvdW50ZG93bi0yew0KCQlwYWRkaW5nOiAwcHggMDsNCgkJYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgDQoJCXBhZGRpbmc6IDEwcHggNTBweCAxMHB4IDMwcHg7DQoJICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2NXB4Ow0KCSAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNjVweDsNCgkgICAgaGVpZ2h0OiAxMDVweDsNCgkgICANCgl9DQoJLyojY291bnRkb3duLTIgYXsNCgkJZGlzcGxheTogYmxvY2s7DQoJCSBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi9TdHlsZSUyMExpYnJhcnkvSW1hZ2VzL05leHQlMjBBcnJvdy5zdmciKTsNCgkJYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7DQoJCWJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQogICAgYmFja2dyb3VuZC1zaXplOiAyMHB4Ow0KICAgIHBhZGRpbmc6IDAgMzAlIDAgMDsNCgl9Ki8NCgkjY291bnRkb3duLTIgYSBpbWd7DQoJCWhlaWdodDogMTAwJTsNCgl9DQoJI2NvdW50ZG93bi0yIGgzew0KCQlmb250LWZhbWlseTogJ1JvYm90byc7DQoJCXBhZGRpbmc6MHB4Ow0KCQlmb250LXNpemU6IDMycHg7DQoJCWxpbmUtaGVpZ2h0OiAxOw0KCQlib3JkZXI6IG5vbmU7DQoJCWNvbG9yOiByZ2IoMyw2MywxMzYpOw0KCQlmb250LXdlaWdodDogNjAwOw0KCX0NCgkjY291bnRkb3duLTIgaDV7DQoJCWZvbnQtZmFtaWx5OiAnUm9ib3RvJzsNCgkJZm9udC1zaXplOiAxOHB4Ow0KCQljb2xvcjpyZ2IoMzgsMTE1LDIwOSk7DQoJCWZvbnQtd2VpZ2h0OiA1MDA7DQoJCXBhZGRpbmc6MHB4Ow0KCQlsaW5lLWhlaWdodDogMTsNCgkJYm9yZGVyOiBub25lOw0KDQoJfQ0KCSNjb3VudGRvd24tM3sNCgkJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCQliYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMyw2MywxMzYpOw0KCQlwYWRkaW5nOjE1cHggMCAxNXB4IDQwcHg7DQoJCWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDY1cHg7DQoJCWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDY1cHg7DQoJCWhlaWdodDogMTA1cHg7DQoJfQ0KDQoJI2NvdW50ZG93bi0zIGgzew0KCQlmb250LWZhbWlseTogJ1JvYm90byc7DQoJCWZvbnQtc2l6ZTogNDRweDsNCgkJZm9udC13ZWlnaHQ6IDUwMDsNCgkJY29sb3I6ICNmZmY7DQoJCXBhZGRpbmc6MDsNCgkJYm9yZGVyOiBub25lOw0KCX0NCg0KICAgICNjb3VudGRvd24tMyAubWV0cmljew0KICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byc7DQogICAgICAgIGZvbnQtc2l6ZTogNDRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgY29sb3I6ICNmZmY7DQogICAgICAgIHBhZGRpbmc6MDsNCiAgICAgICAgYm9yZGVyOiBub25lOw0KICAgIH0NCg0KCSNjb3VudGRvd24tMyAuY29sLXhzLTN7DQoJCWJvcmRlci1yaWdodDogc29saWQgMXB4ICNjNWQzZmM7DQoJCXBhZGRpbmc6IDA7DQoJfQ0KCSNjb3VudGRvd24tMyAuY29sLXhzLTM6bGFzdC1vZi10eXBlew0KCQlib3JkZXItcmlnaHQ6IG5vbmU7DQoJfQ0KCQ0KCSNjb3VudGRvd24tMyBwew0KCQlmb250LWZhbWlseTogJ1JvYm90byc7DQoJCWNvbG9yOiNjNWQzZmM7DQoJCWZvbnQtd2VpZ2h0OiA2MDA7DQoJCWZvbnQtc2l6ZToxMnB4Ow0KCQlwYWRkaW5nOiAwOw0KCQltYXJnaW46IDA7DQoJfQ0KCQ0KIAkueHhzLWhpZGV7DQogCQlkaXNwbGF5OiBibG9jazsNCiAJfQ0KIAkueHhzLXNob3d7DQogCQlkaXNwbGF5Om5vbmU7DQogCX0NCiAJI2NvdW50ZG93bi0zIC5jb2wteHMtMzpudGgtb2YtdHlwZSgyKXsNCgkJYm9yZGVyLXJpZ2h0OiB2aXNpYmxlOw0KCX0NCiNzcG90bGlnaHQtaG9tZSB7DQogICAgcGFkZGluZzogNTBweCAwcHggMzBweCAwOw0KfQ0KDQogQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpew0KICAgICNjb3VudGRvd24tZGlzcGxheSAuY29sLXhzLTcsDQogICAgI2NvdW50ZG93bi1kaXNwbGF5IC5jb2wteHMtNXsNCiAgICAJd2lkdGg6IDEwMCU7DQogICAgfQ0KIAkjY291bnRkb3duLTMgLmNvbC14cy0zew0KCQl3aWR0aDogNTAlOw0KCX0NCiAJLnh4cy1oaWRlew0KIAkJZGlzcGxheTogbm9uZTsNCiAJfQ0KIAkueHhzLXNob3d7DQogCQlkaXNwbGF5OmJsb2NrOw0KIAl9DQogCSNjb3VudGRvd24tMyAuY29sLXhzLTM6bnRoLW9mLXR5cGUoMil7DQoJCWJvcmRlci1yaWdodDogbm9uZTsNCgl9DQogCSNjb3VudGRvd24tM3sJDQogCQlib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0NXB4Ow0KCSAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNDVweDsNCgkgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsNCgkgICAgcGFkZGluZzogMTBweCAyMHB4Ow0KCSAgICBoZWlnaHQ6IDk1cHg7DQoJfQ0KCSNjb3VudGRvd24tMnsNCgkJZGlzcGxheTogYmxvY2s7CQkNCgkJYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDQ1cHg7DQoJCWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDQ1cHg7DQoJCWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7DQoJICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KCSAgICAgcGFkZGluZzogMTVweCAyMHB4Ow0KCQloZWlnaHQ6IDk1cHg7DQoJfQ0KCSNjb3VudGRvd24tZGlzcGxheXsNCgkJZGlzcGxheTogYmxvY2s7DQoJCXBhZGRpbmc6IDAgMTBweDsNCgl9DQojc3BvdGxpZ2h0LWhvbWUgew0KICAgIHBhZGRpbmc6IDUwcHggMHB4Ow0KfQ0KIH0NCg0KPC9zdHlsZT5kBSZnXzRiNGVhNzY0XzA5MWVfNGY2MV85MGM0X2VjODQxZjlkNTc2ZQ9kFgJmDxYEHwIFH21zLXJ0ZS1lbWJlZGNvZGUgbXMtcnRlLWVtYmVkd3AfAQXQxAI8ZGl2IGlkPSJob21lcGFnZSI+DQoNCg0KDQo8ZGl2IGNsYXNzPSJjb2wteHMtMTIgdGV4dC1jZW50ZXIiIHN0eWxlPSJwYWRkaW5nLXRvcDoyMHB4OyI+PGgyIHN0eWxlPSJjb2xvcjojNjY2OyBmb250LWZhbWlseTonTGF0byc7Zm9udC1zaXplOjIycHg7Zm9udC13ZWlnaHQ6bm9ybWFsO3BhZGRpbmc6MTVweCAwO21hcmdpbi1ib3R0b206MzBweDsiPk91ciBjb3JlIHZhbHVlcyBhcmUgRW1wYXRoeSwgRXRoaWNzLCBFeGNlbGxlbmNlLCBFbmdhZ2VtZW50LCBhbmQgRXF1aXR5PC9oMj48L2Rpdj4NCg0KDQo8ZGl2IGlkPSJwb3B1bGFybGlua3MiPg0KPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCg0KDQo8IS0tY29sdW1uIG9uZS0tPg0KPGRpdiBjbGFzcz0iY29sLTMiPg0KPGRpdiBpZD0idG9kYXlpd2FudHRvIj4NCjx1bCBpZD0idG9kYXlpd2FudHRvLXVsIj4NCjwhLS0gPGxpIGNsYXNzPSJwYXkiPjxhIGNsYXNzPSJpd2FudHRvbW9kYWwgYnRuIGJ0bi1tZCIgaHJlZj0iI3BheSI+UGF5PC9hPjwvbGk+DQo8bGkgY2xhc3M9ImZpbmQiPjxhIGNsYXNzPSJpd2FudHRvbW9kYWwgYnRuIGJ0bi1tZCIgaHJlZj0iI2ZpbmQiPkZpbmQ8L2E+PC9saT4NCjxsaSBjbGFzcz0icmVxdWVzdCI+PGEgY2xhc3M9Iml3YW50dG9tb2RhbCBidG4gYnRuLW1kIiBocmVmPSIjcmVxdWVzdCI+UmVxdWVzdDwvYT48L2xpPiAtLT4NCjxsaSBjbGFzcz0icGF5Ij48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tbWQiIG9uQ2xpY2s9Im9wZW5Nb2RhbChldmVudCwgJ1BheScsJ3BheS1jb250ZW50cycpOyI+UGF5PC9idXR0b24+PC9saT4NCjxsaSBjbGFzcz0iZmluZCI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLW1kIiBvbkNsaWNrPSJvcGVuTW9kYWwoZXZlbnQsICdGaW5kJywnZmluZC1jb250ZW50cycpOyI+RmluZDwvYnV0dG9uPjwvbGk+DQo8bGkgY2xhc3M9InJlcXVlc3QiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1tZCIgb25DbGljaz0ib3Blbk1vZGFsKGV2ZW50LCAnUmVxdWVzdCcsJ3JlcXVlc3QtY29udGVudHMnKTsiPlJlcXVlc3Q8L2J1dHRvbj48L2xpPg0KPGxpIGNsYXNzPSJvcGVuLWRhdGEiPjxhICBocmVmPSIvUGFnZXMvRGFsbGFzLURhdGFodWIuYXNweCIgY2xhc3M9ImJ0biBidG4tbWQiPkRhbGxhcyBEYXRhIEh1YjwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGFsbGFzY2l0eWhhbGwuY29tL2RlcGFydG1lbnRzL2J1ZGdldC9maW5hbmNpYWx0cmFuc3BhcmVuY3kvIiB0YXJnZXQ9Il9ibGFuayIgaWQ9ImZpbmFudGlhbC10cmFuc3BhcmVuY3kiIGNsYXNzPSJidG4gYnRuLW1kIj5GaW5hbmNpYWwgVHJhbnNwYXJlbmN5PC9hPjwvbGk+DQo8IS0tPGxpIGNsYXNzPSJvcGVuLWRhdGEiPjxhIGNsYXNzPSJpd2FudHRvbW9kYWwgYnRuIGJ0bi1tZCIgaHJlZj0iI29wZW5kYXRhIj5PcGVuIERhdGE8L2E+PC9saT4NCi0tPg0KDQo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYWxsYXN0eC5nb3ZxYS51cy9XRUJBUFAvX3JzLyhTKGF2Zml2NGhuMXJycnFtbGo1NHRtYXpmcCkpL1N1cHBvcnRIb21lLmFzcHg/c1Nlc3Npb25JRD0iIHRhcmdldD0iX2JsYW5rIiBpZD0ib3Blbi1yZWNvcmRzIiBjbGFzcz0iYnRuIGJ0bi1tZCI+T3BlbiBSZWNvcmRzIFJlcXVlc3Q8L2E+PC9saT4NCjwvdWw+DQo8L2Rpdj4NCjwvZGl2Pg0KPCEtLWNvbHVtbiBvbmUtLT4NCg0KPGRpdiBjbGFzcz0iY29sLTMiPg0KPGRpdiBpZD0ib2ZmaWNpYWxwb3N0aW5ncyIgY2xhc3M9Im9mZmljaWFsLXBvc3RpbmdzIGxpc3QtaXRlbXMiIHN0eWxlPSJvdmVyZmxvdzpoaWRkZW47Ij4NCjxoMyBzdHlsZT0iY29sb3I6IHJnYig2OCwgNjgsIDY4KSI+T2ZmaWNpYWwgUG9zdGluZ3M8L2gzPg0KPHVsIGNsYXNzPSJobS1ib3gtbGlua3MiPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9idWRnZXQvZmluYW5jaWFsdHJhbnNwYXJlbmN5L1BhZ2VzL1VwY29taW5nLUJ1ZGdldC5hc3B4IiBpZD0iYnVkZ2V0Ij5GWSAyMDI0LTI1IFByb3Bvc2VkIEJ1ZGdldDwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Imh0dHBzOi8vY2l0eW9mZGFsbGFzLmxlZ2lzdGFyLmNvbS8iIGlkPSJjb3VuY2lsLW1lZXRpbmdzIiB0YXJnZXQ9Il9ibGFuayI+Q2l0eSBNZWV0aW5nczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9nb3Zlcm5tZW50L0JvYXJkcy1hbmQtQ29tbWlzc2lvbnMvIiBpZD0iYm9hcmRzLWFuZC1jb21taXNzaW9ucyI+Qm9hcmRzICYgQ29tbWlzc2lvbnM8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZ292ZXJubWVudC9jaXR5Y291bmNpbC9QYWdlcy9jb3VuY2lsLWF0dGVuZGFuY2UuYXNweCIgaWQ9ImNvdW5jaWwtYXR0ZW5kYW5jZSI+Q291bmNpbCBBdHRlbmRhbmNlPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2NhbGVuZGFyLyIgaWQ9ImNpdHktY2FsZW5kYXIiPkNpdHkgQ2FsZW5kYXI8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvUGFnZXMvcHVibGljLW5vdGljZXMuYXNweCIgaWQ9InB1YmxpYy1ub3RpY2VzIj5QdWJsaWMgTm90aWNlczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9nb3Zlcm5tZW50L2NpdHlzZWNyZXRhcnkvUGFnZXMvUHVibGljLU1lZXRpbmdzLmFzcHgiIGlkPSJvcGVuLW1lZXRpbmdzIj5PcGVuIE1lZXRpbmdzPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2dvdmVybm1lbnQvY2l0eW1hbmFnZXIvUGFnZXMvY291bmNpbC1tZW1vcy5hc3B4IiBpZD0iY291bmNpbC1tZW1vcyI+Q2l0eSBNYW5hZ2VyIE1lbW9zPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL1BhZ2VzL3dhdGNoLWNpdHktbWVldGluZ3Mtb25saW5lLmFzcHgiIGNsYXNzPSJzd2FnaXQgYnRuIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMyw2MywxMzYpOyBwYWRkaW5nOjExcHggMTBweDsgdGV4dC1hbGlnbjpjZW50ZXI7IGNvbG9yOndoaXRlO21hcmdpbjowOyIgaWQ9ImNpdHktbWVldGluZy12aWRlbyI+V2F0Y2ggQ2l0eSBNZWV0aW5ncyBPbmxpbmU8L2E+PC9saT4NCjwvdWw+DQo8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJjb2wtMyBjb2wtZW5kIj4NCjxkaXYgaWQ9Im9mZmljaWFscG9zdGluZ3MyIiBjbGFzcz0ib2ZmaWNpYWwtcG9zdGluZ3MgbGlzdC1pdGVtcyI+DQo8aDMgc3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4LCA2OCkiPlF1aWNrIExpbmtzPC9oMz4NCg0KPHVsIGNsYXNzPSJobS1ib3gtbGlua3MiPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy93YXRlcnV0aWxpdGllcyIgaWQ9InF1aWNrLWxpbmtzLXdhdGVyIj5XYXRlciBVdGlsaXRpZXM8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvc2FuaXRhdGlvbiIgaWQ9InF1aWNrLWxpbmtzLXNhbml0YXRpb24iPlRyYXNoIFBpY2t1cDwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9zdXN0YWluYWJsZWRldmVsb3BtZW50L2J1aWxkaW5naW5zcGVjdGlvbi9QYWdlcy9pbmRleC5hc3B4IiBpZD0icXVpY2stbGlua3MtYnVpbGRpbmctcGVybWl0cy1pbnNwZWN0aW9ucyI+QnVpbGRpbmcgUGVybWl0cyAmYW1wOyBJbnNwZWN0aW9uczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9odW1hbnJlc291cmNlcy9lbXBsb3ltZW50L1BhZ2VzL2RlZmF1bHQuYXNweCIgaWQ9InF1aWNrLWxpbmtzLWpvYnMiPkpvYnM8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvY291cnRkZXRlbnRpb25zZXJ2aWNlcy9QYWdlcy9kZWZhdWx0LmFzcHgiIGlkPSJxdWljay1saW5rcy10cmFmZmljLXRpY2tldHMiPlRyYWZmaWMgJmFtcDsgQ2l2aWwgVGlja2V0czwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9jb3VydGRldGVudGlvbnNlcnZpY2VzL1BhZ2VzL1dhcnJhbnQtSW5mby5hc3B4IiBpZD0icXVpY2stbGlua3MtY291cnRzIj5Db3VydCBXYXJyYW50cyAmYW1wOyBCb25kczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9kYWxsYXMtYW5pbWFsLXNlcnZpY2VzL1BhZ2VzL2RlZmF1bHQuYXNweCIgaWQ9InF1aWNrLWxpbmtzLWFuaW1hbC1zZXJ2aWNlcyI+QW5pbWFsIFNlcnZpY2VzPC9hPjwvbGk+DQo8IS0tPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGFsbGFzY2l0eWhhbGwuY29tL2RlcGFydG1lbnRzL29mZmljZWVtZXJnZW5jeW1hbmFnZW1lbnQvUGFnZXMvSGF6bWFwLmFzcHgiIGlkPSJxdWljay1saW5rcy0yMTEiIHRhcmdldD0iX2JsYW5rIj5QdWJsaWMgU3VydmV5OiBIYXphcmQgTWl0aWdhdGlvbjxici8+QWN0aW9uIFBsYW48L2E+PC9saT4tLT4NCg0KPC91bD4NCjwvZGl2Pg0KPC9kaXY+DQoNCjwvZGl2Pg0KPGRpdiBjbGFzcz0iY2xlYXJmaXgiPjwvZGl2Pg0KPC9kaXY+DQoNCg0KPHN0eWxlPg0KQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogIC5yb3cuZXF1YWwgew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgZmxleC13cmFwOiB3cmFwOw0KICB9DQp9DQogICAgDQovKiBhZGQgdGhpcyBmb3IgZnVsbCBoZWlnaHQgY29sdW1uIGNvbnRlbnQgDQouZXF1YWwgPiBkaXZbY2xhc3MqPSdjb2wtJ10geyAgDQogIGRpc3BsYXk6IGZsZXg7DQogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQp9DQoqLw0KDQojczMxMS1sZWZ0LWNvbHVtbnsNCmJhY2tncm91bmQtY29sb3I6IzAwMUIzQjsNCmJhY2tncm91bmQtaW1hZ2U6IHJnYmEoMCwwLDAsMC41KSwgdXJsKGh0dHBzOi8vZGFsbGFzY2l0eWhhbGwuY29tL1B1Ymxpc2hpbmdJbWFnZXMvc3RhdGljLzMxMS1tb2JpbGUtYXBwLW5ldy5qcGcpOw0KYmFja2dyb3VuZC1pbWFnZToNCiAgICBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDI3LCA1OSwgMC43KSwgcmdiYSgwLCAyNywgNTksIDEpKSwNCiAgICB1cmwoJ2h0dHBzOi8vZGFsbGFzY2l0eWhhbGwuY29tL1B1Ymxpc2hpbmdJbWFnZXMvc3RhdGljLzMxMS1tb2JpbGUtYXBwLW5ldy5qcGcnKTsNCmJhY2tncm91bmQtc2l6ZTogY292ZXI7DQpiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7DQp9DQoNCiNzMzExLWxlZnQtY29sdW1uIGgyew0KY29sb3I6IzA0QzU4NTsNCm1hcmdpbjowcHg7DQpwYWRkaW5nOjBweDsNCmZvbnQtc2l6ZToycmVtOw0KfQ0KDQojczMxMS1sZWZ0LWNvbHVtbiBoM3sNCmNvbG9yOiNmZmZmZmY7DQptYXJnaW46MHB4Ow0KcGFkZGluZzowcHg7DQp9DQoNCiNzMzExLXJpZ2h0LWNvbHVtbnsNCmJhY2tncm91bmQtY29sb3I6IzAwM0Y4ODsNCn0NCg0KI3MzMTEtcmlnaHQtY29sdW1uIGxhYmVsew0KY29sb3I6IHdoaXRlOw0KfQ0KDQojczMxMS1yaWdodC1jb2x1bW4gaDN7DQpjb2xvcjogIzdFQzZGRjsNCm1hcmdpbjoxcmVtIDBweDsNCn0NCg0KI3MzMTEtZmFxc3sNCmxpc3Qtc3R5bGUtdHlwZTogbm9uZTsNCm1hcmdpbjogMHB4Ow0KcGFkZGluZzogMHB4Ow0KfQ0KDQojczMxMS1mYXFzIGxpew0KcGFkZGluZzogNHB4Ow0KfQ0KDQovKiNzMzExLWZhcXMgbGkgYSovDQojczMxMS1mYXFzIGxpew0KY29sb3I6IHdoaXRlOw0KcGFkZGluZzogMTBweDsNCiAgLXdlYmtpdC1ib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7DQogIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTsNCiAgZGlzcGxheTogYmxvY2s7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KDQojczMxMS1mYXFzIGxpID4gYTpob3ZlciwjczMxMS1mYXFzIGxpID4gYTpmb2N1c3sNCmJhY2tncm91bmQtY29sb3I6ICMwMDFCM0I7DQp9DQoNCiNzMzExLWxhbmd1YWdlc3sNCm1hcmdpbjowcHg7DQpwYWRkaW5nOjBweDsNCmxpc3Qtc3R5bGUtdHlwZTpub25lOw0KY29sb3I6IzAwMUIzQjsNCnRleHQtYWxpZ246Y2VudGVyOw0KfQ0KDQojczMxMS1sYW5ndWFnZXMgaDN7DQogICAgdGV4dC1hbGlnbjpjZW50ZXIgIWltcG9ydGFudDsNCiAgICANCn0NCg0KI3MzMTEtbGFuZ3VhZ2VzIGxpew0KZGlzcGxheTppbmxpbmUtYmxvY2s7DQpwYWRkaW5nOjhweCAyMHB4IDhweCAwcHg7DQp9DQoNCiNzMzExLXNlY3Rpb24tbmV3IGgzew0KYm9yZGVyLWJvdHRvbTogbm9uZTsNCn0NCjwvc3R5bGU+PHNlY3Rpb24gdW5zZWxlY3RhYmxlPSJvbiIgaWQ9InMzMTEtc2VjdGlvbi1uZXciPiANCiAgICAgIDxkaXYgY2xhc3M9InJvdyBlcXVhbCIgdW5zZWxlY3RhYmxlPSJvbiI+IA0KICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1zbS01IiBpZD0iczMxMS1sZWZ0LWNvbHVtbiIgdW5zZWxlY3RhYmxlPSJvbiI+IA0KICAgICAgICAgICAgPGRpdiB1bnNlbGVjdGFibGU9Im9uIiBzdHlsZT0icGFkZGluZzogNDBweDsiPg0KICAgICAgICAgICAgICAgPGgyIHVuc2VsZWN0YWJsZT0ib24iPjMxMSBTZXJ2aWNlIFJlcXVlc3RzPC9oMj4gDQogICAgICAgICAgICAgICA8aDMgdW5zZWxlY3RhYmxlPSJvbiIgc3R5bGU9Im1hcmdpbi10b3A6IDEuMXJlbTsiPlJlcXVlc3QgQ2l0eSBzZXJ2aWNlcyBhbmQgaW5mb3JtYXRpb248L2gzPiANCiAgICAgICAgICAgICAgIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2RhbGxhc2NybS5teS5zaXRlLmNvbS9wdWJsaWMvcy8iIHVuc2VsZWN0YWJsZT0ib24iIHN0eWxlPSJtYXJnaW4tdG9wOiAxcmVtOyBib3JkZXItcmFkaXVzOiA2cHg7IHBhZGRpbmc6IDEwcHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgYmFja2dyb3VuZC1jb2xvcjogIzA0YzU4NTsgY29sb3I6ICMwMDFiM2I7IG1hcmdpbi1yaWdodDogMXJlbTsgZm9udC1zaXplOiAxLjFyZW07IGJvcmRlcjogMnB4IHNvbGlkICMwNGM1ODU7IGZvbnQtd2VpZ2h0OiBib2xkOyI+UmVxdWVzdCBhIFNlcnZpY2U8L2E+IDxiciBjbGFzcz0idmlzaWJsZS1tZCIvPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSIvc2VydmljZXMvMzExIiB1bnNlbGVjdGFibGU9Im9uIiBzdHlsZT0icGFkZGluZzogMTBweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBjb2xvcjogd2hpdGU7IG1hcmdpbi1yaWdodDogMXJlbTsgZm9udC1zaXplOiAxLjFyZW07IGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlOyBib3JkZXItcmFkaXVzOiA2cHg7IG1hcmdpbi10b3A6IDFyZW07IGZvbnQtd2VpZ2h0OiBib2xkOyI+QWJvdXQgMzExPC9hPiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9kYWxsYXNjaXR5ZGF0YS5kYWxsYXNjaXR5aGFsbC5jb20vdmlld3MvMzExQ2l0eXdpZGVEYXNoYm9hcmQvMzExQ2l0eXdpZGVEYXNoYm9hcmQ/OnNob3dBcHBCYW5uZXI9ZmFsc2UmOmRpc3BsYXlfY291bnQ9biY6c2hvd1ZpekhvbWU9biY6b3JpZ2luPXZpel9zaGFyZV9saW5rJjpyZWZyZXNoPXllcyY6aXNHdWVzdFJlZGlyZWN0RnJvbVZpenBvcnRhbD15JjplbWJlZD15IiB1bnNlbGVjdGFibGU9Im9uIiBzdHlsZT0icGFkZGluZzogMTBweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBjb2xvcjogd2hpdGU7IG1hcmdpbi1yaWdodDogMXJlbTsgZm9udC1zaXplOiAxLjFyZW07IGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlOyBib3JkZXItcmFkaXVzOiA2cHg7IG1hcmdpbi10b3A6IDFyZW07IGZvbnQtd2VpZ2h0OiBib2xkOyI+RGFzaGJvYXJkPC9hPg0KICAgICAgICAgICAgICAgPGRpdiB1bnNlbGVjdGFibGU9Im9uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE2MCwgMCwgMC44KTsgcGFkZGluZzogMjBweDsgYm9yZGVyLXJhZGl1czogNnB4OyBtYXJnaW4tdG9wOiA0MHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtd2VpZ2h0OiBib2xkOyI+IA0KICAgICAgICAgICAgICAgICAgPGgzIHVuc2VsZWN0YWJsZT0ib24iIHN0eWxlPSJjb2xvcjogIzAwMWIzYjsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbjogMS4xcmVtIDBweDsiPkNhbGwgMzExIGluIGh1bmRyZWRzIG9mIGxhbmd1YWdlczwvaDM+IA0KICAgICAgICAgICAgICAgICAgPHVsIGlkPSJzMzExLWxhbmd1YWdlcyIgdW5zZWxlY3RhYmxlPSJvbiI+IA0KICAgICAgICAgICAgICAgICAgICAgPGxpPkxsYW1hIGFsIDMxMTwvbGk+DQogICAgICAgICAgICAgICAgICAgICA8bGk+MzExIOGAgOGAreGAryDhgIHhgLHhgKvhgLrhgIbhgK3hgK/hgJXhgKs8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgPGxpPlBpZ2Egc2ltdSAzMTE8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgPGxpPkfhu41pIHPhu5EgMzExPC9saT4NCiAgICAgICAgICAgICAgICAgICAgIDxsaT4zMTEg2LTZhduM2LHbkCDYqtmHINiy2YbaqyDZiNmI2YfYpjwvbGk+DQogICAgICAgICAgICAgICAgICAgICA8bGk+2KjYpyAzMTEg2KrZhdin2LMg2Kjar9mK2LHZitivPC9saT4NCiAgICAgICAgICAgICAgICAgICAgIDxsaT50dW1hd2FnIHNhIDMxMTwvbGk+DQogICAgICAgICAgICAgICAgICAgICA8bGk+UnXDoWluZ2dhIEtvw7NsIDMxMTwvbGk+DQogICAgICAgICAgICAgICAgICA8L3VsPiANCiAgICAgICAgICAgICAgIDwvZGl2PiANCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgPC9kaXY+IA0KICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1zbS03IiBpZD0iczMxMS1yaWdodC1jb2x1bW4iIHVuc2VsZWN0YWJsZT0ib24iPiANCiAgICAgICAgICAgIDxkaXYgdW5zZWxlY3RhYmxlPSJvbiIgc3R5bGU9InBhZGRpbmc6IDQwcHg7Ij4gDQogICAgICAgICAgICAgICA8aDMgdW5zZWxlY3RhYmxlPSJvbiI+RnJlcXVlbnRseSBSZXF1ZXN0ZWQgU2VydmljZXM8L2gzPiANCiAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93IiBpZD0iczMxMS1mYXFzIiB1bnNlbGVjdGFibGU9Im9uIj4gDQogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNvbC1sZy00IGNvbC1zbS02Ij4NCiAgICAgICAgICAgICAgICAgICAgIENvZGUgQ29uY2VybnM8L2xpPiANCiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY29sLWxnLTQgY29sLXNtLTYiPg0KICAgICAgICAgICAgICAgICAgICAgU2FuaXRhdGlvbiBSb2xsIENhcnQ8L2xpPiANCiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY29sLWxnLTQgY29sLXNtLTYiPg0KICAgICAgICAgICAgICAgICAgICAgTWlzc2VkIEdhcmJhZ2U8L2xpPiANCiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY29sLWxnLTQgY29sLXNtLTYiPg0KICAgICAgICAgICAgICAgICAgICAgU3RyZWV0IFJlcGFpcjwvbGk+IA0KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjb2wtbGctNCBjb2wtc20tNiI+DQogICAgICAgICAgICAgICAgICAgICBQYXJraW5nIOKAkyBSZXBvcnQgYSBWaW9sYXRpb248L2xpPiANCiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY29sLWxnLTQgY29sLXNtLTYiPg0KICAgICAgICAgICAgICAgICAgICAgQW5pbWFsIExvb3NlPC9saT4gDQogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNvbC1sZy00IGNvbC1zbS02Ij4NCiAgICAgICAgICAgICAgICAgICAgIERlYWQgQW5pbWFsIFBpY2sgVXA8L2xpPiANCiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY29sLWxnLTQgY29sLXNtLTYiPg0KICAgICAgICAgICAgICAgICAgICAgTWlzc2VkIFJlY3ljbGU8L2xpPiANCiAgICAgICAgICAgICAgIDwvdWw+IA0KICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IiB1bnNlbGVjdGFibGU9Im9uIj4gDQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNiIgdW5zZWxlY3RhYmxlPSJvbiI+DQogICAgICAgICAgICAgICAgICA8YnIvPjxici8+DQogICAgICAgICAgICAgICAgICAgICA8aDMgdW5zZWxlY3RhYmxlPSJvbiI+Q2hlY2sgU2VydmljZSBSZXF1ZXN0IFN0YXR1czwvaDM+IA0KICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iY2hlY2stc2VydmljZS1yZXF1ZXN0IiB1bnNlbGVjdGFibGU9Im9uIj5TZXJ2aWNlIFJlcXVlc3QgTnVtYmVyPC9sYWJlbD48YnIgdW5zZWxlY3RhYmxlPSJvbiIvPiANCiAgICAgICAgICAgICAgICAgICAgIDxkaXYgdW5zZWxlY3RhYmxlPSJvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHdoaXRlOyBib3JkZXItcmFkaXVzOiA2cHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZzogMTBweDsiPiANCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iZS5nLiAxOS0wMDAwMDAwMDAxIiBjbGFzcz0idGV4dEZpZWxkIiBvbmtleWRvd249InNlYXJjaDMxMShldmVudCkiIGlkPSJjaGVjay1zZXJ2aWNlLXJlcXVlc3QiIHN0eWxlPSJib3JkZXI6IG5vbmU7IHBhZGRpbmc6IDEwcHg7IGNvbG9yOiBibGFjazsgYmFja2dyb3VuZC1jb2xvcjogI2ViZjZmZjsgYm9yZGVyLXJhZGl1czogNnB4OyIvPiANCiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBvbmNsaWNrPSJzZWFyY2gzMTFidXR0b24oKSIgc3R5bGU9ImJvcmRlcjogbm9uZTsgcGFkZGluZzogMTBweDsgYmFja2dyb3VuZC1jb2xvcjogIzAxNTdiMTsgY29sb3I6IHdoaXRlOyBib3JkZXItcmFkaXVzOiA2cHg7Ij5TZWFyY2ggUmVxdWVzdDwvYnV0dG9uPiA8L2Rpdj4gDQogICAgICAgICAgICAgICAgICA8L2Rpdj4gDQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNiIgdW5zZWxlY3RhYmxlPSJvbiI+IA0KICAgICAgICAgICAgICAgICAgPGJyLz48YnIvPg0KICAgICAgICAgICAgICAgICAgICAgPGgzIHVuc2VsZWN0YWJsZT0ib24iPkRvd25sb2FkIHRoZSBEYWxsYXMgMzExIE1vYmlsZSBBcHA8L2gzPiANCiAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9hcHAvZGFsbGFzLTMxMS9pZDY5MjkwMjA4OD9tdD04IyIgdGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDEuMXJlbTsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vZGFsbGFzY2l0eWhhbGwuY29tL1B1Ymxpc2hpbmdJbWFnZXMvc3RhdGljL2FwcC1zdG9yZS1iYWRnZS5wbmciIHVuc2VsZWN0YWJsZT0ib24iIGFsdD0iQXBwbGUgQXBwIFN0b3JlIEJhZGdlIiBzdHlsZT0id2lkdGg6IGNhbGMoNDAlIC0gMS4xcmVtKTsgbWF4LXdpZHRoOjIwMHB4OyIvPjwvYT4NCiAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uZGFsbGFzY2l0eWhhbGwuZGFsbGFzMzExJmFtcDtobD1lbiIgdGFyZ2V0PSJfYmxhbmsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vZGFsbGFzY2l0eWhhbGwuY29tL1B1Ymxpc2hpbmdJbWFnZXMvc3RhdGljL2dvb2dsZS1wbGF5LWJhZGdlLnBuZyIgdW5zZWxlY3RhYmxlPSJvbiIgYWx0PSJHb29nbGUgUGxheSBTdG9yZSBCYWRnZSIgc3R5bGU9IndpZHRoOiBjYWxjKDQwJSAtIDEuMXJlbSk7IG1heC13aWR0aDoyMDBweDsiLz48L2E+PC9kaXY+IA0KICAgICAgICAgICAgICAgPC9kaXY+IA0KICAgICAgICAgICAgPC9kaXY+IA0KICAgICAgICAgPC9kaXY+IA0KICAgICAgPC9kaXY+IDwvc2VjdGlvbj4NCiAgDQoNCjxzdHlsZT4NCi5pbi1taWRkbGV7DQogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCggcmdiYSgwLCAwLCAwLCAwLjIpLCByZ2JhKDAsIDAsIDAsIDAuNykgKSwgdXJsKCcvUHVibGlzaGluZ0ltYWdlcy9zdGF0aWMvMzExLW1vYmlsZS1hcHAtbmV3LmpwZycpOw0KICAvKmJhY2tncm91bmQtaW1hZ2U6IHVybCgiL1B1Ymxpc2hpbmdJbWFnZXMvc3RhdGljLzMxMS1tb2JpbGUtYXBwLW5ldy5qcGciKTsqLw0KYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsNCmJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQpsZWZ0OiA0MHB4Ow0KcGFkZGluZy1ib3R0b206IDMwcHg7DQpoZWlnaHQ6IDEwMCU7DQpwYWRkaW5nOiAyMzBweCAwIDAgNDBweDsNCn0NCi5pbi1taWRkbGUgaDN7DQogIGZvbnQtc2l6ZTogMjhweDsNCiAgZm9udC13ZWlnaHQ6ICA1MDA7DQp9DQouaW4tbWlkZGxlIGgzIHNwYW57DQogIGZvbnQtc2l6ZTogMjJweDsNCiAgYm9yZGVyOiBub25lOw0KICBmb250LXN0eWxlOiBpdGFsaWM7ICANCiAgcGFkZGluZy1ib3R0b206ICAgMHB4Ow0KfQ0KDQoNCi5zZXJ2aWNlMzExew0KICBwYWRkaW5nIDogMHB4Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE2NmNlOw0KICANCn0NCi5zZXJ2aWNlMzExIHVsew0KICBwYWRkaW5nLWxlZnQ6ICAgMHB4Ow0KICBwYWRkaW5nLWJvdHRvbTogICAxNXB4Ow0KfQ0KLnNlcnZpY2UzMTEgaDN7DQogIGZvbnQtd2VpZ2h0OiA1MDA7DQp9DQoNCi5zZXJ2aWNlMzExIGgyLA0KLnNlcnZpY2UzMTEgaDN7DQogY29sb3I6ICNmZmY7DQogYm9yZGVyLWJvdHRvbTogICBub25lOw0KfQ0KLnNlcnZpY2UzMTEgdWwgbGkgYXsNCiBjb2xvcjogI2U5ZWJmMDsNCiBib3JkZXItYm90dG9tOiAgIG5vbmU7DQp9DQouc2VydmljZTMxMSB1bCBsaXsgDQogICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMDUsMjA1LDIwNSwwLjIpOw0KICAgcGFkZGluZy10b3A6IDhweDsNCiAgIHBhZGRpbmctYm90dG9tOiA2cHg7DQp9DQojcGljdHVyZTMxMWFwcHsgIA0KICBoZWlnaHQ6IDM3MHB4Ow0KICBvdmVyZmxvdzogaGlkZGVuOw0KICBwYWRkaW5nOiAwOw0KfQ0KDQojZGFsbGFzMzExbW9iaWxlew0KICB3aWR0aDogMTAwJTsNCiAgb3BhY2l0eTogMC44OyANCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsNCn0NCi5hcHBpY29uew0KICB3aWR0aDogMTUwcHg7DQogIHBhZGRpbmctcmlnaHQ6IDEwcHg7DQp9DQouYXBwaWNvbiBpbWd7DQogIHdpZHRoOiAxMjBweCAhaW1wb3J0YW50Ow0KICBwYWRkaW5nLXJpZ2h0OiAxMHB4Ow0KICBoZWlnaHQ6IDM1cHg7DQp9DQouY2hlY2t7DQogIGJhY2tncm91bmQtY29sb3I6ICMwMzNkNzk7DQogIHBhZGRpbmc6IDIwcHggMCAgOyAgIA0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHdpZHRoOiAxMDAlOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7IA0KfQ0KLmNoZWNrIGgzew0KICBwYWRkaW5nOiA1cHggMjBweDsNCiAgbWF4LXdpZHRoOiAzNTBweDsgDQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCn0NCi5jaGVjayBpbnB1dHsgIA0KICBtYXgtd2lkdGg6IDkwJTsNCnBhZGRpbmctbGVmdDogMjBweDsNCnBhZGRpbmc6IDEwcHg7DQpoZWlnaHQ6IDQ1cHg7DQp3aWR0aDogNzAwcHg7DQp9DQouaGlkZGVuLXh4c3sNCiAgdmlzaWJpbGl0eTogdmlzaWJsZTsNCn0NCi52aXNpYmxlLXh4c3sNCiAgZGlzcGxheTogbm9uZTsNCn0NCi5pbm5lci0zMTEgdWx7DQogICAgY29sdW1uLWNvdW50OiAyOw0KfQ0KLmlubmVyLTMxMS10aXRsZSBoM3sNCiAgICBwYWRkaW5nLWJvdHRvbTogICAwOw0KfQ0KDQpzZWN0aW9uLnNlcnZpY2VzLWJhbm5lciB7DQogIGJhY2tncm91bmQtY29sb3I6ICMwMTY2Y2U7IH0NCg0Kc2VjdGlvbi5zZXJ2aWNlcy1iYW5uZXIgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOw0KICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9DQoNCi5tYnItei1pbmRleDIwIHsNCiAgei1pbmRleDogMjA7IH0NCg0KDQovKiEgTWVkaWEgICovDQoubWVkaWEtc2l6ZS1pdGVtIHsNCiAgLXdlYmtpdC1mbGV4OiAxIDEgYXV0bzsNCiAgLW1vei1mbGV4OiAxIDEgYXV0bzsNCiAgLW1zLWZsZXg6IDEgMSBhdXRvOw0KICAtby1mbGV4OiAxIDEgYXV0bzsNCiAgZmxleDogMSAxIGF1dG87IH0NCg0KLm1lZGlhLWNvbnRlbnQgew0KICAtd2Via2l0LWZsZXgtYmFzaXM6IDEwMCU7DQogIGZsZXgtYmFzaXM6IDEwMCU7IH0NCg0KLm1lZGlhLWNvbnRhaW5lci1yb3cgew0KICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgZGlzcGxheTogLXdlYmtpdC1mbGV4Ow0KICBkaXNwbGF5OiBmbGV4Ow0KICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7DQogIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93Ow0KICBmbGV4LWRpcmVjdGlvbjogcm93Ow0KICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsNCiAgLW1zLWZsZXgtd3JhcDogd3JhcDsNCiAgZmxleC13cmFwOiB3cmFwOw0KICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7DQogIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGNlbnRlcjsNCiAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXI7DQogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsNCiAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RhcnQ7DQogIC1tcy1mbGV4LWFsaWduOiBzdGFydDsNCiAgYWxpZ24taXRlbXM6IHN0YXJ0OyB9DQogIC5tZWRpYS1jb250YWluZXItcm93IC5tZWRpYS1zaXplLWl0ZW0gew0KICAgIHdpZHRoOiAzNzVweDsgfQ0KDQoubWVkaWEtY29udGFpbmVyLWNvbHVtbiB7DQogIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7DQogIGRpc3BsYXk6IGZsZXg7DQogIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOw0KICAtbXMtZmxleC13cmFwOiB3cmFwOw0KICBmbGV4LXdyYXA6IHdyYXA7DQogIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsNCiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogIC13ZWJraXQtYWxpZ24tY29udGVudDogY2VudGVyOw0KICAtbXMtZmxleC1saW5lLXBhY2s6IGNlbnRlcjsNCiAgYWxpZ24tY29udGVudDogY2VudGVyOw0KICAtd2Via2l0LWFsaWduLWl0ZW1zOiBzdHJldGNoOw0KICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDsNCiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH0NCiAgLm1lZGlhLWNvbnRhaW5lci1jb2x1bW4gPiAqIHsNCiAgICB3aWR0aDogMTAwJTsgfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogNTgycHgpIHsNCi5zZXJ2aWNlMzExIHVsIGxpOm50aC1jaGlsZCg0bis0KSB7DQogICAgYm9yZGVyLWJvdHRvbTogbm9uZTsNCn0NCiAgLm1lZGlhLWNvbnRhaW5lci1yb3cgew0KICAgIC13ZWJraXQtZmxleC13cmFwOiBub3dyYXA7DQogICAgLW1zLWZsZXgtd3JhcDogbm93cmFwOw0KICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH0NCg0KLm1ici1maWd1cmUgaW1nLCAubWJyLWZpZ3VyZSBpZnJhbWUgew0KICBkaXNwbGF5OiBibG9jazsNCiAgd2lkdGg6IDEwMCU7IH0NCg0KLm1ici1maWd1cmUgew0KICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXI7DQogIC1tcy1ncmlkLXJvdy1hbGlnbjogY2VudGVyOw0KICAtd2Via2l0LWFsaWduLXNlbGY6IGNlbnRlcjsNCiAgYWxpZ24tc2VsZjogY2VudGVyOyB9DQoNCi5tZWRpYS1jb250YWluZXIgPiBkaXYgew0KICBtYXgtd2lkdGg6IDEwMCU7IH0NCg0KLm1ici1maWd1cmUgaW1nLCAuY2FyZC1pbWcgaW1nIHsNCiAgd2lkdGg6IDEwMCU7IH0NCg0KQG1lZGlhIChtYXgtd2lkdGg6IDU4MXB4KSB7DQogIC5tZWRpYS1zaXplLWl0ZW0gew0KICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH0NCg0KICAubWJyLWZpZ3VyZSB7DQogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsNCiAgICB9DQogICAjZGFsbGFzMzExbW9iaWxlew0KICBvcGFjaXR5OiAxOyANCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLmluLW1pZGRsZXsgICANCiAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsNCiAgICBoZWlnaHQ6IDE3MHB4Ow0KICAgIHBhZGRpbmc6IDMwcHggMCAwIDMwcHg7DQogIA0KfQ0KLmlubmVyLTMxMS10aXRsZSB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQoNCi5pbm5lci0zMTEgew0KICAgIHBhZGRpbmc6IDEuNXJlbTsNCn0NCi5ob21lLTMxMS1idXR0b25zew0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQouaG9tZS0zMTEtYnV0dG9ucyAuYnRueyAgDQogIC8qd2lkdGg6IDE2MHB4OyovDQp9DQouaW4tbWlkZGxlIGgzLCAuaW4tbWlkZGxlIGgyew0KICBjb2xvcjogIzMzMzsNCn0NCg0KI3BpY3R1cmUzMTFhcHB7DQogIHdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IGF1dG87ICANCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCn0NCi5jaGVjayB7ICAgDQogICAgcGFkZGluZzogMDsNCn0NCi5jaGVjayBoM3sNCiAgcGFkZGluZzogMTVweCAwIDVweCAwOw0KfQ0KLmhpZGRlbi14eHN7DQogIGRpc3BsYXk6IG5vbmU7DQp9DQoudmlzaWJsZS14eHN7DQogIGRpc3BsYXk6IGJsb2NrOw0KfQ0KLmlubmVyLTMxMSB1bHsNCiAgICBjb2x1bW4tY291bnQ6IDE7DQp9DQoNCiB9DQoNCi8qIDMxMSBpbmZvcm1hdGlvbiAqLw0KLmFsaWduLXNlbGYtY2VudGVyIHsNCiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsNCn0NCi5weC0zIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsNCn0NCi5weS0yIHsNCiAgICBwYWRkaW5nLXRvcDogLjVyZW0gIWltcG9ydGFudDsNCiAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudDsNCn0NCi5hbGlnbi1zZWxmLWNlbnRlciB7DQogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7DQp9DQouaW5uZXItMzExIHsgDQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHRvcDogYXV0bzsNCn0NCi8qIEN1c3RvbSwgaVBob25lIFJldGluYSAqLyANCiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAzMjBweCkgew0KICAgIC5tZWRpYS1jb250YWluZXItcm93IHsNCiAgICAgICAgaGVpZ2h0OiBhdXRvOw0KICAgICAgICBvdmVyZmxvdzogYXV0bzsgfQ0KICAgIC5weC0zIHsNCiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfQ0KICAgDQp9DQovKiBFeHRyYSBTbWFsbCBEZXZpY2VzLCBQaG9uZXMgKi8gDQogICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogNDgwcHgpIHsNCiAgICAgICAgLnB4LTMgew0KICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9DQogICAgICAgIC5pbm5lci0zMTEgew0KICAgICAgICAgICAgcGFkZGluZzogNjBweCAzMHB4IDEwcHggMzBweDsNCiAgICAgICAgICAgIHdpZHRoOiAgMTAwJTsgfQ0KICAgIH0NCi8qIExhcmdlIERldmljZXMsIFdpZGUgU2NyZWVucyAqLw0KICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDE0MDBweCkgew0KICAgIC5tZWRpYS1jb250YWluZXItcm93IHsNCiAgICAgICAgaGVpZ2h0OiBhdXRvOw0KICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9DQp9DQoNCg0KI3RvZGF5aXdhbnR0byB1bCBsaSBidXR0b24gew0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzLCA2MywgMTM2KTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgY29sb3I6ICNmZmY7DQogIH0NCg0KI21haW4tbW9kYWwuaG9tZS1tb2RhbCBoMXsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogIH0NCg0KI21haW4tbW9kYWwuaG9tZS1tb2RhbCAubW9kYWwtYm9keSB7DQogICAgcGFkZGluZy10b3A6IDBweDsNCn0NCiANCi5tYWlubW9kYWwtY29udGVudHN7DQogIGRpc3BsYXk6IG5vbmU7DQp9DQouaG9tZS1tb2RhbCAubWFpbm1vZGFsLWNvbnRlbnRzew0KICBkaXNwbGF5OiBibG9jazsNCn0NCi5ibHVlLWxpbmstbGlzdCBsaXsNCiAgcGFkZGluZzowOw0KfQ0KLmJsdWUtbGluay1saXN0IGEsIA0KLmJsdWUtbGluay1saXN0IGE6dmlzaXRlZCB7DQogICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL1B1Ymxpc2hpbmdJbWFnZXMvSWNvbnMvYmx1ZS1saW5rLnN2Zyk7DQogICAgYmFja2dyb3VuZC1zaXplOiAyMHB4Ow0KICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7DQogICAgY29sb3I6ICMwMDNGODg7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7DQogICAgcGFkZGluZzogMjBweCAxNXB4Ow0KICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7DQogICAgYm9yZGVyOiBzb2xpZCAxcHggIzAwM0Y4ODsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUJGNkZGOw0KICAgIGJvcmRlci1yYWRpdXM6IDVweDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIG1pbi1oZWlnaHQ6IDYwcHg7DQogICAgaGVpZ2h0OiAxMDAlOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBmb250LXdlaWdodDogNTUwOw0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQoNCn0NCjwvc3R5bGU+DQoNCg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9ImNsZWFyZml4Ij48L2Rpdj4NCg0KPGRpdiBpZD0iZmluZCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsgYmFjZ2tncm91bmQtY29sb3I6Z3JleTsiPg0KPGgzPkZpbmQ8L2gzPjxici8+DQoNCjxkaXYgY2xhc3M9Iml3YW50dG9pY29ucyI+DQo8dWw+DQo8bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL2h1bWFucmVzb3VyY2VzL2VtcGxveW1lbnQvUGFnZXMvZGVmYXVsdC5hc3B4IiBpZD0iZmluZC1saWdodGJveC1qb2IiPjxpbWcgY2xhc3M9InNlcnZpY2VpbWciIHNyYz0iL1B1Ymxpc2hpbmdJbWFnZXMvc3RhdGljL2VtcGxveW1lbnRpY29uLnBuZyIgYWx0PSJKb2JzIEljb24iIC8+PGJyIC8+Sm9iPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iaHR0cDovL2RhbGxhc2xpYnJhcnkyLm9yZy8iIHRhcmdldD0iX2JsYW5rIiBpZD0iZmluZC1saWdodGJveC1saWJyYXJ5Ij48aW1nIGNsYXNzPSJzZXJ2aWNlaW1nIiBzcmM9Ii9QdWJsaXNoaW5nSW1hZ2VzL3N0YXRpYy9saWJyYXJ5aWNvbi5wbmciIGFsdD0iTGlicmFyeSBJY29uIiAvPjxiciAvPkxpYnJhcnk8L2E+PC9saT4NCjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmRhbGxhc2FuaW1hbHNlcnZpY2VzLm9yZy8iIHRhcmdldD0iX2JsYW5rIiBpZD0iZmluZC1saWdodGJveC1wZXRzIj48aW1nIGNsYXNzPSJzZXJ2aWNlaW1nIiBzcmM9Ii9QdWJsaXNoaW5nSW1hZ2VzL3N0YXRpYy9wZXRpY29uLnBuZyIgYWx0PSJEYWxsYXMgQW5pbWFsIFNlcnZpY2VzIEljb24iIC8+PGJyIC8+UGV0czwvYT48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MHB4OyI+PGEgaHJlZj0iaHR0cDovL3d3dy5kYWxsYXNwYXJrcy5vcmcvIiB0YXJnZXQ9Il9ibGFuayIgaWQ9ImZpbmQtbGlnaHRib3gtcGFya3MtcmVjcmVhdGlvbiI+PGltZyBjbGFzcz0ic2VydmljZWltZyIgc3JjPSIvUHVibGlzaGluZ0ltYWdlcy9zdGF0aWMvcGFya3NpY29uLnBuZyIgYWx0PSJQYXJrcyAmIFJlY3JlYXRpb24gSWNvbiIgLz48YnIgLz5QYXJrczwvYT48L2xpPg0KPC91bD4NCjxkaXYgY2xhc3M9ImNsZWFyZml4Ij48L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wteHMtMTIgbGlzdC1pdGVtcyI+DQo8dWw+DQo8bGk+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly93d3cuZGFsbGFzY3VsdHVyZS5vcmcvY3VsdHVyYWxGYWNpbGl0aWVzLmFzcCIgaWQ9ImZpbmQtbGlnaHRib3gtY3VsdHVyYWwtY2VudGVyIj5hIEN1bHR1cmFsIENlbnRlcjwvYT48L2xpPg0KPCEtLTxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvaHVtYW5yZXNvdXJjZXMvZW1wbG95bWVudC9QYWdlcy9kZWZhdWx0LmFzcHgiPmEgSm9iPC9hPjwvbGk+DQo8bGk+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9kYWxsYXNsaWJyYXJ5Lm9yZy8iPmEgTGlicmFyeTwvYT48L2xpPi0tPg0KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGFsbGFzZ2lzLm1hcHMuYXJjZ2lzLmNvbS9hcHBzL2luc3RhbnQvbWluaW1hbGlzdC9pbmRleC5odG1sP2FwcGlkPTgwNzQ5NGZkZGFlMDQ4MzA4NTJlNGIxM2U2ODQ3OTc5LyIgaWQ9ImZpbmQtbGlnaHRib3gtbWFwIiB0YXJnZXQ9Il9ibGFuayI+YSBNYXA8L2E+PC9saT4NCjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5kYWxsYXNwYXJrcy5vcmciIGlkPSJmaW5kLWxpZ2h0Ym94LWRhbGxhcy1wYXJrIj5hIFBhcms8L2E+PC9saT4NCjwvdWw+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLXhzLTEyIGxpc3QtaXRlbXMgY29sLWVuZCI+DQo8dWw+DQo8IS0tPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LmRhbGxhc3BhcmtzLm9yZy8iPmEgUGFyayBSZWMgQ2VudGVyPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL2RhbGxhcy1hbmltYWwtc2VydmljZXMvUGFnZXMvYWRvcHRpb24uYXNweCI+YSBQZXQ8L2E+PC9saT4tLT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvcG52L1BhZ2VzL3pvbmluZy5hc3B4IiBpZD0iZmluZC1saWdodGJveC1wcm9wZXJ0eS16b25pbmciPlByb3BlcnR5IFpvbmluZzwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9jb2RlY29tcGxpYW5jZS9QYWdlcy9Gb29kU2FmZXR5LmFzcHgiIGlkPSJmaW5kLWxpZ2h0Ym94LXJlc3RhdXJhbnQtc2NvcmVzIj5SZXN0YXVyYW50IFNjb3JlczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9zYW5pdGF0aW9uIiBpZD0iZmluZC1saWdodGJveC10cmFzaC1waWNrdXAiPlRyYXNoIFBpY2t1cDwvYT48L2xpPg0KPC91bD4NCjwvZGl2Pg0KDQo8L2Rpdj4NCg0KPGRpdiBpZD0icGF5IiBzdHlsZT0iZGlzcGxheTpub25lOyBiYWNna2dyb3VuZC1jb2xvcjpncmV5OyI+DQo8aDM+UGF5PC9oMz48YnIvPg0KDQo8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wteHMtMTIgbGlzdC1pdGVtcyI+DQo8dWw+DQo8bGk+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Ii9kZXBhcnRtZW50cy93YXRlcnV0aWxpdGllcy9QYWdlcy9wYXktd2F0ZXItYmlsbC5hc3B4IiBpZD0icGF5LWxpZ2h0Ym94LXdhdGVyIj5XYXRlciBCaWxsPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL2NvdXJ0ZGV0ZW50aW9uc2VydmljZXMvUGFnZXMvZGVmYXVsdC5hc3B4IiBpZD0icGF5LWxpZ2h0Ym94LXRyYWZmaWMtdGlja2V0Ij5UcmFmZmljICZhbXA7IENpdmlsIFRpY2tldHM8L2E+PC9saT4NCjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9jaXR5b2ZkYWxsYXMucm1jcGF5LmNvbSIgaWQ9InBheS1saWdodGJveC1wYXJraW5nLXRpY2tldCI+UGFya2luZyBUaWNrZXQ8L2E+PC9saT4NCjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cudmVsb2NpdHlwYXltZW50LmNvbS9jbGllbnQvYmFua29mYW1lcmljYS9jaXR5b2ZkYWxsYXMvZnJhYi9pbmRleC5odG1sIiBpZD0icGF5LWxpZ2h0Ym94LWFtYnVsYW5jZS10aWNrZXQiPkFtYnVsYW5jZSBCaWxsPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL3dhdGVydXRpbGl0aWVzL3NwZWNpYWxfY29sbGVjdGlvbnMvUGFnZXMvc3BlY2lhbF9jb2xsZWN0aW9uc19yZWdpc3RyYXRpb25zLmFzcHgiIGlkPSJwYXktbGlnaHRib3gtYWxhcm1zLXBlcm1pdHMiPkFsYXJtcyBQZXJtaXRzPC9hPjwvbGk+DQo8bGk+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vY2l0eW9mZGFsbGFzLnJtY3BheS5jb20iIGlkPSJwYXktbGlnaHRib3gtc2Nob29sLWJ1cy1zdG9wLWFybS10aWNrZXQiPlNjaG9vbCBCdXMgU3RvcCBBcm0gVGlja2V0PC9hPjwvbGk+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLXhzLTEyIGxpc3QtaXRlbXMgY29sLWVuZCI+DQo8dWw+DQo8bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL2NvdXJ0ZGV0ZW50aW9uc2VydmljZXMvUGFnZXMvV2FycmFudC1JbmZvLmFzcHgiIGlkPSJwYXktbGlnaHRib3gtY291cnQtd2FycmFudHMtYm9uZCI+Q291cnQgV2FycmFudHMgJmFtcDsgQm9uZHM8L2E+PC9saT4NCg0KPGxpPjxhIGhyZWY9Ii9QYWdlcy9wYXlieWFwcC5hc3B4IiBpZD0icGF5LWxpZ2h0Ym94LXBhcmtpbmctbWV0ZXJzIj5Gb3IgUGFya2luZyBNZXRlcnM8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvY29kZWNvbXBsaWFuY2UvUGFnZXMvZ2FyYWdlLXNhbGVzLmFzcHgiIGlkPSJwYXktbGlnaHRib3gtZ2FyYWdlLXNhbGVzLXBlcm1pdCI+R2FyYWdlIFNhbGVzIFBlcm1pdDwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9jb250cm9sbGVyc29mZmljZS9QYWdlcy9ob3RlbC10YXhlcy5hc3B4IiBpZD0icGF5LWxpZ2h0Ym94LWhvdGVsLW9jY3VwYW5jeS10YXgiPkhvdGVsIE9jY3VwYW5jeSBUYXggKEhPVCk8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvY29udHJvbGxlcnNvZmZpY2UvUGFnZXMvaG90ZWwtdGF4ZXMuYXNweCIgaWQ9InBheS1saWdodGJveC1zaG9ydC10ZXJtLXJlbnRhbHMiPlNob3J0LVRlcm0gUmVudGFscyAoSE9UKTwvYT48L2xpPg0KPCEtLTxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iL2RlcGFydG1lbnRzL2NvZGVjb21wbGlhbmNlL1BhZ2VzL0NhcnJ5b3V0LUJhZy1Qcm9ncmFtLmFzcHgiPlNpbmdsZS1Vc2UgQ2FycnlvdXQgQmFnIFJlbWl0dGFuY2U8L2E+PC9saT4tLT4NCjwvdWw+DQo8L2Rpdj4NCg0KPC9kaXY+DQoNCjxkaXYgaWQ9InJlcXVlc3QiIHN0eWxlPSJkaXNwbGF5Om5vbmU7IGJhY2drZ3JvdW5kLWNvbG9yOmdyZXk7Ij4NCjxoMz5SZXF1ZXN0PC9oMz48YnIvPg0KDQo8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wteHMtMTIgbGlzdC1pdGVtcyI+DQo8dWw+DQo8bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL3N1c3RhaW5hYmxlZGV2ZWxvcG1lbnQvYnVpbGRpbmdpbnNwZWN0aW9uIiBpZD0icmVxdWVzdC1saWdodGJveC1idWlsZGluZy1wZXJtaXRzLWluc3BlY3Rpb25zIj5CdWlsZGluZyBQZXJtaXRzICZhbXA7IEluc3BlY3Rpb25zPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL3NlcnZpY2VzLzMxMSIgaWQ9InJlcXVlc3QtbGlnaHRib3gtbm9uLWVtZXJnZW5jeS1zZXJ2aWNlcyI+MzExIFNlcnZpY2VzPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL2NvbW11bml0eS1jYXJlL1BhZ2VzL3ZpdGFsX3N0YXRpc3RpY3MuYXNweCIgaWQ9InJlcXVlc3QtbGlnaHRib3gtYmlydGgtZGVhdGgtY2VydGlmaWNhdGVzIj5CaXJ0aCAvIERlYXRoIENlcnRpZmljYXRlczwvYT48L2xpPg0KPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5kYWxsYXNzcGVjaWFsZXZlbnRzLmNvbS9zcGVjaWFsLWV2ZW50LyIgaWQ9InJlcXVlc3QtbGlnaHRib3gtZXZlbnQtcGVybWl0cyI+RXZlbnQgUGVybWl0czwvYT48L2xpPg0KPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5kYWxsYXNzcGVjaWFsZXZlbnRzLmNvbS9maWxtLyIgaWQ9InJlcXVlc3QtbGlnaHRib3gtZmlsbWluZy1wZXJtaXRzIj5GaWxtaW5nIFBlcm1pdHM8L2E+PC9saT4NCjwvdWw+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLXhzLTEyIGxpc3QtaXRlbXMiPg0KPGgzPk5ldyBVdGlsaXR5IFNlcnZpY2VzPC9oMz4NCjx1bD4NCjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5wb3dlcnRvY2hvb3NlLm9yZy8iIGlkPSJyZXF1ZXN0LWxpZ2h0Ym94LWVsZWN0cmljaXR5LXByb3ZpZGVycyI+RWxlY3RyaWNpdHkgUHJvdmlkZXJzPC9hPjwvbGk+DQo8bGk+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3LmFsbGNvbm5lY3QuY29tL2xvY2FsL3R4L2RhbGxhcyIgaWQ9InJlcXVlc3QtbGlnaHRib3gtdHYiPkNhYmxlLVRWLVNhdGVsbGl0ZTwvYT48L2xpPg0KPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy4ydHVybml0b24uY29tLyIgaWQ9InJlcXVlc3QtbGlnaHRib3gtdXRpbGl0aWVzIj5BY3RpdmF0ZSBVdGlsaXRpZXM8L2E+PC9saT4NCjwvdWw+DQo8L2Rpdj4NCg0KPC9kaXY+DQoNCjxkaXYgaWQ9ImZpbmQtY29udGVudHMiIGNsYXNzPSJtYWlubW9kYWwtY29udGVudHMiPg0KPHVsIGNsYXNzPSJncmlkLWNvbnRhaW5lci0zIGJsdWUtbGluay1saXN0Ij4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvaHVtYW5yZXNvdXJjZXMvZW1wbG95bWVudC9QYWdlcy9kZWZhdWx0LmFzcHgiIGlkPSJmaW5kLWxpZ2h0Ym94LWpvYiI+Sm9iPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iaHR0cDovL2RhbGxhc2xpYnJhcnkyLm9yZy8iIHRhcmdldD0iX2JsYW5rIiBpZD0iZmluZC1saWdodGJveC1saWJyYXJ5Ij5MaWJyYXJ5PC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5kYWxsYXNhbmltYWxzZXJ2aWNlcy5vcmcvIiB0YXJnZXQ9Il9ibGFuayIgaWQ9ImZpbmQtbGlnaHRib3gtcGV0cyI+UGV0czwvYT48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MHB4OyI+PGEgaHJlZj0iaHR0cDovL3d3dy5kYWxsYXNwYXJrcy5vcmcvIiB0YXJnZXQ9Il9ibGFuayIgaWQ9ImZpbmQtbGlnaHRib3gtcGFya3MtcmVjcmVhdGlvbiI+UGFya3M8L2E+PC9saT4NCg0KPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LmRhbGxhc2N1bHR1cmUub3JnL2N1bHR1cmFsRmFjaWxpdGllcy5hc3AiIGlkPSJmaW5kLWxpZ2h0Ym94LWN1bHR1cmFsLWNlbnRlciI+Q3VsdHVyYWwgQ2VudGVyPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYWxsYXNnaXMubWFwcy5hcmNnaXMuY29tL2FwcHMvaW5zdGFudC9taW5pbWFsaXN0L2luZGV4Lmh0bWw/YXBwaWQ9ODA3NDk0ZmRkYWUwNDgzMDg1MmU0YjEzZTY4NDc5NzkvIiBpZD0iZmluZC1saWdodGJveC1tYXAiIHRhcmdldD0iX2JsYW5rIj5NYXBzPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL3Budi9QYWdlcy96b25pbmcuYXNweCIgaWQ9ImZpbmQtbGlnaHRib3gtcHJvcGVydHktem9uaW5nIj5Qcm9wZXJ0eSBab25pbmc8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvY29kZWNvbXBsaWFuY2UvUGFnZXMvRm9vZFNhZmV0eS5hc3B4IiBpZD0iZmluZC1saWdodGJveC1yZXN0YXVyYW50LXNjb3JlcyI+UmVzdGF1cmFudCBTY29yZXM8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvc2FuaXRhdGlvbiIgaWQ9ImZpbmQtbGlnaHRib3gtdHJhc2gtcGlja3VwIj5UcmFzaCBQaWNrdXA8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvY29tbXVuaXR5LWNhcmUvUGFnZXMvY29tbXVuaXR5X2NlbnRlcnMuYXNweCIgaWQ9ImZpbmQtY29tbXVuaXR5LWNlbnRlciI+Q29tbXVuaXR5IENlbnRlcnM8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvb2ZmaWNlLXNwZWNpYWwtZXZlbnRzIiBpZD0iZmluZC1zcGVjaWFsLWV2ZW50cyI+U3BlY2lhbCBFdmVudHM8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvdHJhbnNwb3J0YXRpb24iIGlkPSJmaW5kLXRyYW5zcG9ydGF0aW9uIj5UcmFuc3BvcnRhdGlvbjwvYT48L2xpPg0KPC91bD4NCjwvZGl2Pg0KDQo8ZGl2IGlkPSJwYXktY29udGVudHMiIGNsYXNzPSJtYWlubW9kYWwtY29udGVudHMiPg0KPHVsIGNsYXNzPSJncmlkLWNvbnRhaW5lci0zIGJsdWUtbGluay1saXN0Ij4NCjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iL2RlcGFydG1lbnRzL3dhdGVydXRpbGl0aWVzL1BhZ2VzL3BheS13YXRlci1iaWxsLmFzcHgiIGlkPSJwYXktbGlnaHRib3gtd2F0ZXIiPldhdGVyIEJpbGw8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvY291cnRkZXRlbnRpb25zZXJ2aWNlcy9QYWdlcy9kZWZhdWx0LmFzcHgiIGlkPSJwYXktbGlnaHRib3gtdHJhZmZpYy10aWNrZXQiPlRyYWZmaWMgVGlja2V0czwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9jb3VydGRldGVudGlvbnNlcnZpY2VzL1BhZ2VzL0NpdmlsLUNpdGF0aW9ucy1BYm91dC1hbmQtUGF5aW5nLmFzcHgiIGlkPSJwYXktbGlnaHRib3gtdHJhZmZpYy10aWNrZXQiPkNpdmlsIFRpY2tldHM8L2E+PC9saT4NCjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9jaXR5b2ZkYWxsYXMucm1jcGF5LmNvbSIgaWQ9InBheS1saWdodGJveC1wYXJraW5nLXRpY2tldCI+UGFya2luZyBUaWNrZXRzPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL1BhZ2VzL3BheWJ5YXBwLmFzcHgiIGlkPSJwYXktbGlnaHRib3gtcGFya2luZy1tZXRlcnMiPlBhcmtpbmcgTWV0ZXIgRmVlczwvYT48L2xpPg0KPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy52ZWxvY2l0eXBheW1lbnQuY29tL2NsaWVudC9iYW5rb2ZhbWVyaWNhL2NpdHlvZmRhbGxhcy9mcmFiL2luZGV4Lmh0bWwiIGlkPSJwYXktbGlnaHRib3gtYW1idWxhbmNlLXRpY2tldCI+QW1idWxhbmNlIEJpbGw8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvd2F0ZXJ1dGlsaXRpZXMvc3BlY2lhbF9jb2xsZWN0aW9ucy9QYWdlcy9zcGVjaWFsX2NvbGxlY3Rpb25zX3JlZ2lzdHJhdGlvbnMuYXNweCIgaWQ9InBheS1saWdodGJveC1hbGFybXMtcGVybWl0cyI+QWxhcm1zIFBlcm1pdHM8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvY29kZWNvbXBsaWFuY2UvUGFnZXMvZ2FyYWdlLXNhbGVzLmFzcHgiIGlkPSJwYXktbGlnaHRib3gtZ2FyYWdlLXNhbGVzLXBlcm1pdCI+R2FyYWdlIFNhbGVzIFBlcm1pdDwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9jb3VydGRldGVudGlvbnNlcnZpY2VzL1BhZ2VzL1dhcnJhbnQtSW5mby5hc3B4IiBpZD0icGF5LWxpZ2h0Ym94LWNvdXJ0LXdhcnJhbnRzLWJvbmQiPkNvdXJ0IFdhcnJhbnRzICZhbXA7IEJvbmRzPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL2NvbnRyb2xsZXJzb2ZmaWNlL1BhZ2VzL2hvdGVsLXRheGVzLmFzcHgiIGlkPSJwYXktbGlnaHRib3gtc2hvcnQtdGVybS1yZW50YWxzIj5TaG9ydC1UZXJtIFJlbnRhbHMgKEhPVCk8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvY29udHJvbGxlcnNvZmZpY2UvUGFnZXMvaG90ZWwtdGF4ZXMuYXNweCIgaWQ9InBheS1saWdodGJveC1ob3RlbC1vY2N1cGFuY3ktdGF4Ij5Ib3RlbCBPY2N1cGFuY3kgVGF4IChIT1QpPC9hPjwvbGk+DQo8bGk+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vY2l0eW9mZGFsbGFzLnJtY3BheS5jb20iIGlkPSJwYXktbGlnaHRib3gtc2Nob29sLWJ1cy1zdG9wLWFybS10aWNrZXQiPlNjaG9vbCBCdXMgU3RvcCBBcm0gVGlja2V0PC9hPjwvbGk+DQo8L2Rpdj4NCg0KPGRpdiBpZD0icmVxdWVzdC1jb250ZW50cyIgY2xhc3M9Im1haW5tb2RhbC1jb250ZW50cyI+DQo8dWwgY2xhc3M9ImdyaWQtY29udGFpbmVyLTMgYmx1ZS1saW5rLWxpc3QiPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9zdXN0YWluYWJsZWRldmVsb3BtZW50L2J1aWxkaW5naW5zcGVjdGlvbiIgaWQ9InJlcXVlc3QtbGlnaHRib3gtYnVpbGRpbmctcGVybWl0cy1pbnNwZWN0aW9ucyI+QnVpbGRpbmcgUGVybWl0cyAmYW1wOyBJbnNwZWN0aW9uczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9zZXJ2aWNlcy8zMTEiIGlkPSJyZXF1ZXN0LWxpZ2h0Ym94LW5vbi1lbWVyZ2VuY3ktc2VydmljZXMiPjMxMSBTZXJ2aWNlczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9jb21tdW5pdHktY2FyZS9QYWdlcy92aXRhbF9zdGF0aXN0aWNzLmFzcHgiIGlkPSJyZXF1ZXN0LWxpZ2h0Ym94LWJpcnRoLWRlYXRoLWNlcnRpZmljYXRlcyI+QmlydGggLyBEZWF0aCBDZXJ0aWZpY2F0ZXM8L2E+PC9saT4NCjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cuZGFsbGFzc3BlY2lhbGV2ZW50cy5jb20vc3BlY2lhbC1ldmVudC8iIGlkPSJyZXF1ZXN0LWxpZ2h0Ym94LWV2ZW50LXBlcm1pdHMiPkV2ZW50IFBlcm1pdHM8L2E+PC9saT4NCjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cuZGFsbGFzc3BlY2lhbGV2ZW50cy5jb20vZmlsbS8iIGlkPSJyZXF1ZXN0LWxpZ2h0Ym94LWZpbG1pbmctcGVybWl0cyI+RmlsbWluZyBQZXJtaXRzPC9hPjwvbGk+DQoNCjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5wb3dlcnRvY2hvb3NlLm9yZy8iIGlkPSJyZXF1ZXN0LWxpZ2h0Ym94LWVsZWN0cmljaXR5LXByb3ZpZGVycyI+RWxlY3RyaWNpdHkgUHJvdmlkZXJzPC9hPjwvbGk+DQo8bGk+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3LmFsbGNvbm5lY3QuY29tL2xvY2FsL3R4L2RhbGxhcyIgaWQ9InJlcXVlc3QtbGlnaHRib3gtdHYiPkNhYmxlLVRWLVNhdGVsbGl0ZTwvYT48L2xpPg0KPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy4ydHVybml0b24uY29tLyIgaWQ9InJlcXVlc3QtbGlnaHRib3gtdXRpbGl0aWVzIj5BY3RpdmF0ZSBVdGlsaXRpZXM8L2E+PC9saT4NCjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9kYWxsYXN0eC5nb3ZxYS51cy9XRUJBUFAvX3JzLyhTKGZnbGljZGtyZDJqcHVvbTNmdG8zbDR5YSkpL1N1cHBvcnRIb21lLmFzcHgiIGlkPSJvcGVuLXJlY29yZHMiPk9wZW4gUmVjb3JkcyBSZXF1ZXN0PC9hPjwvbGk+DQo8L3VsPg0KPC9kaXY+DQoNCg0KPCEtLTxkaXYgaWQ9Im9wZW5kYXRhIiBzdHlsZT0iZGlzcGxheTpub25lOyBiYWNna2dyb3VuZC1jb2xvcjpncmV5OyI+DQo8aDM+T3BlbiBEYXRhPC9oMz48YnIvPg0KDQo8ZGl2IGNsYXNzPSJpd2FudHRvaWNvbnMiPg0KPHVsPg0KPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhbGxhc29wZW5kYXRhLmNvbS8iIHRhcmdldD0iX2JsYW5rIj48aW1nIGNsYXNzPSJzZXJ2aWNlaW1nIiBzcmM9Ii9QdWJsaXNoaW5nSW1hZ2VzL3N0YXRpYy9vcGVuZGF0YWljb24ucG5nIiBhbHQ9Ik9wZW4gRGF0YSBJY29uIiAvPjxiciAvPk9wZW4gRGF0YTwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhbGxhc29wZW5kYXRhLmNvbS9icm93c2U/Y2F0ZWdvcnk9UG9saWNlJmxpbWl0VG89ZGF0YXNldHMmdXRmOD0lRTIlOUMlOTMiIHRhcmdldD0iX2JsYW5rIj48aW1nIGNsYXNzPSJzZXJ2aWNlaW1nIiBzcmM9Ii9QdWJsaXNoaW5nSW1hZ2VzL3N0YXRpYy9wb2xpY2VpY29uLnBuZyIgYWx0PSJQb2xpY2UgSWNvbiIgLz48YnIgLz5Qb2xpY2U8L2E+PC9saT4NCjxsaSBzdHlsZT0ibWFyZ2luLXJpZ2h0OjBweDsiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhbGxhc29wZW5kYXRhLmNvbS9icm93c2U/Y2F0ZWdvcnk9RmluYW5jaWFsJnE9RmluYW5jaWFsJnNvcnRCeT1yZWxldmFuY2UmdXRmOD0lRTIlOUMlOTMiIHRhcmdldD0iX2JsYW5rIj48aW1nIGNsYXNzPSJzZXJ2aWNlaW1nIiBzcmM9Ii9QdWJsaXNoaW5nSW1hZ2VzL3N0YXRpYy9maW5hbmNpYWxpY29uLnBuZyIgYWx0PSJGaW5hbmNlIEljb24iIC8+PGJyIC8+RmluYW5jaWFsPC9hPjwvbGk+DQo8L3VsPg0KPGRpdiBjbGFzcz0iY2xlYXJmaXgiPjwvZGl2Pg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9ImNvbC0zIGxpc3QtaXRlbXMgY29sLWVuZCIgc3R5bGU9IndpZHRoOjEwMCUiPg0KPHVsPg0KPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2VnaXMuZGFsbGFzY2l0eWhhbGwuY29tL3Jlc291cmNlcy9zaGFwZWZpbGVEb3dubG9hZC5hc3B4Ij5Eb3dubG9hZCBHSVMgRGF0YTwvYT48L2xpPg0KPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2RhbGxhc2dpcy5tYXBzLmFyY2dpcy5jb20vYXBwcy9pbnN0YW50L21pbmltYWxpc3QvaW5kZXguaHRtbD9hcHBpZD04MDc0OTRmZGRhZTA0ODMwODUyZTRiMTNlNjg0Nzk3OS8iPkludGVyYWN0aXZlIEdJUyBNYXA8L2E+PC9saT4NCjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9lZ2lzLmRhbGxhc2NpdHloYWxsLmNvbS9yZXNvdXJjZXMvc3RhdGljTWFwR2FsLmFzcHgjIj5TdGF0aWMgR0lTIE1hcHM8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvY29kZWNvbXBsaWFuY2UvUGFnZXMvRm9vZFNhZmV0eS5hc3B4Ij5SZXN0YXVyYW50IFNjb3JlczwvYT48L2xpPg0KPC91bD4NCjwvZGl2Pg0KDQo8L2Rpdj4tLT4NCg0KPHNjcmlwdD4NCiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsNCg0KICAgICQoIi5pd2FudHRvbW9kYWwiKS5mYW5jeWJveCh7DQogICAgICAgICd0aXRsZVBvc2l0aW9uJyAgICAgOiAnaW5zaWRlJywNCiAgICAgICAgJ3RyYW5zaXRpb25JbicgICAgICA6ICdub25lJywNCiAgICAgICAgJ3RyYW5zaXRpb25PdXQnICAgICA6ICdub25lJw0KICAgIH0pOw0KDQogICAgJCgiLnN3YWdpdCIpLmZhbmN5Ym94KHsNCiAgICAgICAgJ3RpdGxlUG9zaXRpb24nICAgICA6ICdpbnNpZGUnLA0KICAgICAgICAndHJhbnNpdGlvbkluJyAgICAgIDogJ25vbmUnLA0KICAgICAgICAndHJhbnNpdGlvbk91dCcgICAgIDogJ25vbmUnLA0KICAgICAgICAndHlwZScgICAgICAgICAgOiAnaWZyYW1lJywNCiAgICAgICAgJ3dpZHRoJyAgICAgICAgIDogNTcwLA0KICAgICAgICAnaGVpZ2h0JyAgICAgICAgOiA0ODAsDQogICAgICAgICdzY3JvbGxpbmcnICAgICAgICAgOiAnbm8nDQogICAgfSk7DQoNCn0pOw0KDQpmdW5jdGlvbiBmaW5kc2VhcmNoKCl7DQp2YXIgZmluZHNlYXJjaGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbmRzZWFyY2hpbnB1dCIpLnZhbHVlOw0KcGFyZW50LmxvY2F0aW9uPSIvcGFnZXMvc2VhcmNocmVzdWx0cy5hc3B4I2s9IiArIGZpbmRzZWFyY2hpbnB1dDsNCn0NCiQoJy5wYXknKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1BheSBMaWdodGJveCBCdXR0b24nLCAnUGF5Jyk7DQp9KTsNCiQoJy5maW5kJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdGaW5kIExpZ2h0Ym94IEJ1dHRvbicsICdGaW5kJyk7DQp9KTsNCiQoJy5yZXF1ZXN0Jykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdSZXF1ZXN0IExpZ2h0Ym94IEJ1dHRvbicsICdSZXF1ZXN0Jyk7DQp9KTsNCiQoJy5vcGVuLWRhdGEnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ0RhdGEgVHJhbnNwYXJlbmN5IExpZ2h0Ym94IEJ1dHRvbicsICdEYXRhIFRyYW5zcGFyZW5jeScpOw0KfSk7DQokKCcjZmluYW50aWFsLXRyYW5zcGFyZW5jeScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnRXh0ZXJuYWwgTGluayBCdXR0b24nLCAnRmluYW5jaWFsIFRyYW5zcGFyZW5jeScpOw0KfSk7DQokKCcjb3Blbi1yZWNvcmRzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdQSU8gQnV0dG9uJywgJ09wZW4gUmVjb3JkcyBSZXF1ZXN0Jyk7DQp9KTsNCg0KJCgnI3BheS1saWdodGJveC13YXRlcicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUGF5IExpZ2h0Ym94IExpbmsnLCAnV2F0ZXIgQmlsbCcpOw0KfSk7DQokKCcjcGF5LWxpZ2h0Ym94LXRyYWZmaWMtdGlja2V0Jykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdQYXkgTGlnaHRib3ggTGluaycsICdUcmFmZmljIFRpY2tldCcpOw0KfSk7DQokKCcjcGF5LWxpZ2h0Ym94LXBhcmtpbmctdGlja2V0Jykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdQYXkgTGlnaHRib3ggTGluaycsICdQYXJraW5nIFRpY2tldCcpOw0KfSk7DQokKCcjcGF5LWxpZ2h0Ym94LXJlZC1saWdodC10aWNrZXQnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1BheSBMaWdodGJveCBMaW5rJywgJ1JlZCBMaWdodCBUaWNrZXQnKTsNCn0pOw0KJCgnI3BheS1saWdodGJveC1hbWJ1bGFuY2UtdGlja2V0Jykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdQYXkgTGlnaHRib3ggTGluaycsICdBbWJ1bGFuY2UgQmlsbCcpOw0KfSk7DQokKCcjcGF5LWxpZ2h0Ym94LWFsYXJtcy1wZXJtaXRzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdQYXkgTGlnaHRib3ggTGluaycsICdBbGFybXMgUGVybWl0cycpOw0KfSk7DQokKCcjcGF5LWxpZ2h0Ym94LWNvdXJ0LXdhcnJhbnRzLWJvbmQnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1BheSBMaWdodGJveCBMaW5rJywgJ0NvdXJ0IFdhcnJhbnRzIGFuZCBCb25kcycpOw0KfSk7DQokKCcjcGF5LWxpZ2h0Ym94LXNjaG9vbC1idXMtc3RvcC1hcm0tdGlja2V0Jykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdQYXkgTGlnaHRib3ggTGluaycsICdTY2hvb2wgQnVzIFN0b3AgQXJtIFRpY2tldCcpOw0KfSk7DQokKCcjcGF5LWxpZ2h0Ym94LXBhcmtpbmctbWV0ZXJzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdQYXkgTGlnaHRib3ggTGluaycsICdGb3IgUGFya2luZyBNZXRlcnMnKTsNCn0pOw0KJCgnI3BheS1saWdodGJveC1nYXJhZ2Utc2FsZXMtcGVybWknKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1BheSBMaWdodGJveCBMaW5rJywgJ0dhcmFnZSBTYWxlcyBQZXJtaXQnKTsNCn0pOw0KDQoNCg0KDQoNCiQoJyNwYXktbGlnaHRib3gtaG90ZWwtb2NjdXBhbmN5LXRheCcpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUGF5IExpZ2h0Ym94IExpbmsnLCAnSG90ZWwgT2NjdXBhbmN5IFRheCAoSE9UKScpOw0KfSk7DQoNCiQoJyNwYXktbGlnaHRib3gtc2hvcnQtdGVybS1yZW50YWxzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdQYXkgTGlnaHRib3ggTGluaycsICdTaG9ydC1UZXJtIFJlbnRhbHMgKEhPVCknKTsNCn0pOw0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCiQoJyNmaW5kc2VhcmNoYnV0dG9uJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdGaW5kIExpZ2h0Ym94IExpbmsnLCAnU2VhcmNoJyk7DQp9KTsNCiQoJyNmaW5kLWxpZ2h0Ym94LWpvYicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnRmluZCBMaWdodGJveCBMaW5rJywgJ0pvYicpOw0KfSk7DQokKCcjZmluZC1saWdodGJveC1saWJyYXJ5Jykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdGaW5kIExpZ2h0Ym94IExpbmsnLCAnTGlicmFyeScpOw0KfSk7DQokKCcjZmluZC1saWdodGJveC1wZXRzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdGaW5kIExpZ2h0Ym94IExpbmsnLCAnUGV0cycpOw0KfSk7DQokKCcjZmluZC1saWdodGJveC1wYXJrcy1yZWNyZWF0aW9uJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdGaW5kIExpZ2h0Ym94IExpbmsnLCAnUGFya3MnKTsNCn0pOw0KJCgnI2ZpbmQtbGlnaHRib3gtY3VsdHVyYWwtY2VudGVyJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdGaW5kIExpZ2h0Ym94IExpbmsnLCAnYSBDdWx0dXJhbCBDZW50ZXInKTsNCn0pOw0KJCgnI2ZpbmQtbGlnaHRib3gtbWFwJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdGaW5kIExpZ2h0Ym94IExpbmsnLCAnYSBNYXAnKTsNCn0pOw0KJCgnI2ZpbmQtbGlnaHRib3gtZGFsbGFzLXBhcmsnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ0ZpbmQgTGlnaHRib3ggTGluaycsICdhIFBhcmsnKTsNCn0pOw0KJCgnI2ZpbmQtbGlnaHRib3gtcHJvcGVydHktem9uaW5nJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdGaW5kIExpZ2h0Ym94IExpbmsnLCAnUHJvcGVydHkgWm9uaW5nJyk7DQp9KTsNCiQoJyNmaW5kLWxpZ2h0Ym94LXJlc3RhdXJhbnQtc2NvcmVzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdGaW5kIExpZ2h0Ym94IExpbmsnLCAnUmVzdGF1cmFudCBTY29yZXMnKTsNCn0pOw0KJCgnI2ZpbmQtbGlnaHRib3gtdHJhc2gtcGlja3VwJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdGaW5kIExpZ2h0Ym94IExpbmsnLCAnVHJhc2ggUGlja3VwJyk7DQp9KTsNCiQoJyNmaW5kLWNvbW11bml0eS1jZW50ZXInKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ0ZpbmQgTW9kYWwgTGluaycsICdDb21tdW5pdHkgQ2VudGVycycpOw0KfSk7DQokKCcjZmluZC1zcGVjaWFsLWV2ZW50cycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnRmluZCBNb2RhbCBMaW5rJywgJ1NwZWNpYWwgRXZlbnRzJyk7DQp9KTsNCiQoJyNmaW5kLXRyYW5zcG9ydGF0aW9uJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdGaW5kIE1vZGFsIExpbmsnLCAnVHJhbnNwb3J0YXRpb24nKTsNCn0pOw0KDQokKCcjcmVxdWVzdC1saWdodGJveC1idWlsZGluZy1wZXJtaXRzLWluc3BlY3Rpb25zJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdSZXF1ZXN0IExpZ2h0Ym94IExpbmsnLCAnQnVpbGRpbmcgUGVybWl0cyBhbmQgSW5zcGVjdGlvbnMnKTsNCn0pOw0KJCgnI3JlcXVlc3QtbGlnaHRib3gtbm9uLWVtZXJnZW5jeS1zZXJ2aWNlcycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUmVxdWVzdCBMaWdodGJveCBMaW5rJywgJzMxMSBTZXJ2aWNlcycpOw0KfSk7DQokKCcjcmVxdWVzdC1saWdodGJveC1iaXJ0aC1kZWF0aC1jZXJ0aWZpY2F0ZXMnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1JlcXVlc3QgTGlnaHRib3ggTGluaycsICdCaXJ0aCBEZWF0aCBDZXJ0aWZpY2F0ZXNzJyk7DQp9KTsNCiQoJyNyZXF1ZXN0LWxpZ2h0Ym94LWV2ZW50LXBlcm1pdHMnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1JlcXVlc3QgTGlnaHRib3ggTGluaycsICdFdmVudCBQZXJtaXRzJyk7DQp9KTsNCiQoJyNyZXF1ZXN0LWxpZ2h0Ym94LWZpbG1pbmctcGVybWl0cycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUmVxdWVzdCBMaWdodGJveCBMaW5rJywgJ0ZpbG1pbmcgUGVybWl0cycpOw0KfSk7DQokKCcjcmVxdWVzdC1saWdodGJveC1lbGVjdHJpY2l0eS1wcm92aWRlcnMnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1JlcXVlc3QgTGlnaHRib3ggTGluaycsICdFbGVjdHJpY2l0eSBQcm92aWRlcnMnKTsNCn0pOw0KJCgnI3JlcXVlc3QtbGlnaHRib3gtdHYnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1JlcXVlc3QgTGlnaHRib3ggTGluaycsICdDYWJsZS1UVi1TYXRlbGxpdGUnKTsNCn0pOw0KJCgnI3JlcXVlc3QtbGlnaHRib3gtdXRpbGl0aWVzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdSZXF1ZXN0IExpZ2h0Ym94IExpbmsnLCAnQWN0aXZhdGUgVXRpbGl0aWVzJyk7DQp9KTsNCg0KDQokKCcjb3Blbi1tZWV0aW5ncycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnT2ZmaWNpYWwgUG9zdGluZ3MnLCAnT3BlbiBNZWV0aW5ncycpOw0KfSk7DQokKCcjY291bmNpbC1tZWV0aW5ncycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnT2ZmaWNpYWwgUG9zdGluZ3MnLCAnQ291bmNpbCBNZWV0aW5ncycpOw0KfSk7DQokKCcjY291bmNpbC1hdHRlbmRhbmNlJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdPZmZpY2lhbCBQb3N0aW5ncycsICdDb3VuY2lsIEF0dGVuYW5jZScpOw0KfSk7DQokKCcjcHVibGljLW5vdGljZXMnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ09mZmljaWFsIFBvc3RpbmdzJywgJ1B1YmxpYyBOb3RpY2VzJyk7DQp9KTsNCiQoJyNjaXR5LWNhbGVuZGFyJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdPZmZpY2lhbCBQb3N0aW5ncycsICdDaXR5IENhbGVuZGFyJyk7DQp9KTsNCiQoJyNjb3VuY2lsLW1lbW9zJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdPZmZpY2lhbCBQb3N0aW5ncycsICdDb3VuY2lsIE1lbW9zJyk7DQp9KTsNCiQoJyNidWRnZXQnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ09mZmljaWFsIFBvc3RpbmdzJywgJ0J1ZGdldCcpOw0KfSk7DQokKCcjYm9hcmRzLWFuZC1jb21taXNzaW9ucycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnT2ZmaWNpYWwgUG9zdGluZ3MnLCAnQm9hcmRzIGFuZCBDb21taXNzaW9ucycpOw0KfSk7DQokKCcjY2l0eS1tZWV0aW5nLXZpZGVvJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdPZmZpY2lhbCBQb3N0aW5ncycsICdXYXRjaCBDaXR5IE1lZXRpbmdzIE9ubGluZScpOw0KfSk7DQoNCiQoJyNxdWljay1saW5rcy1qb2JzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdRdWljayBMaW5rcycsICdKb2JzJyk7DQp9KTsNCiQoJyNxdWljay1saW5rcy13YXRlcicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUXVpY2sgTGlua3MnLCAnV2F0ZXIgVXRpbGl0aWVzJyk7DQp9KTsNCiQoJyNxdWljay1saW5rcy1idWlsZGluZy1wZXJtaXRzLWluc3BlY3Rpb25zJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdRdWljayBMaW5rcycsICdCdWlsZGluZyBQZXJtaXRzIGFuZCBJbnNwZWN0aW9ucycpOw0KfSk7DQokKCcjcXVpY2stbGlua3MtdHJhZmZpYy10aWNrZXRzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdRdWljayBMaW5rcycsICdUcmFmZmljIFRpY2tldHMnKTsNCn0pOw0KJCgnI3F1aWNrLWxpbmtzLWNvdXJ0cycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUXVpY2sgTGlua3MnLCAnQ291cnQgV2FycmFudHMgYW5kIEJvbmRzJyk7DQp9KTsNCiQoJyNxdWljay1saW5rcy1zYW5pdGF0aW9uJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdRdWljayBMaW5rcycsICdUcmFzaCBQaWNrdXAnKTsNCn0pOw0KJCgnI3F1aWNrLWxpbmtzLTMxMScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUXVpY2sgTGlua3MnLCAnMzExIFNlcnZpY2VzJyk7DQp9KTsNCiQoJyNxdWljay1saW5rcy10cmFuc3BvcnRhdGlvbicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUXVpY2sgTGlua3MnLCAnVHJhbnNwb3J0YXRpb24gZm9yIEhpcmUnKTsNCn0pOw0KJCgnI3F1aWNrLWxpbmtzLTIxMScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUXVpY2sgTGlua3MnLCAnMjExIExpbmtzJyk7DQp9KTsNCiQoJyNxdWljay1saW5rcy1hbmltYWwtc2VydmljZXMnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1F1aWNrIExpbmtzJywgJ0FuaW1hbCBTZXJ2aWNlcycpOw0KfSk7DQoNCg0KJCgnLmJ0bi1zZWNvbmRhcnknKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJzMxMScsICdSZXF1ZXN0IGEgU2VydmljZScpOw0KfSk7DQokKCcuYnRuLW1pbmltYWwtcmV2ZXJzZScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnMzExJywgJ0NoZWNrIFN0YXR1cycpOw0KfSk7DQokKCcuZ29vZ2xlYXBwJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICczMTEnLCAnR29vZ2xlIFBsYXkgU3RvcmUnKTsNCn0pOw0KJCgnLmFwcGxlYXBwJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICczMTEnLCAnQXBwbGUgU3RvcmUnKTsNCn0pOw0KJCgnLmJ0bi5zZWNvbmRhcnknKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIZXJvJywgJzcvN0V2ZW50JywgJ0xlYXJuIE1vcmUnKTsNCn0pOw0KPC9zY3JpcHQ+DQo8c2NyaXB0Pg0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgew0KICAgIC8vYWRkIGEgY3VzdG9tIGNsaWNrIGV2ZW50IHRvIGFueSBsaW5rIG9yIGJ1dHRvbiB3aXRoIGN1c3RvbSBHb29nbGUgQW5hbHlpY3MgdHJhY2tpbmcgZGF0YQ0KICAgICQoJ2FbZGF0YS1nYS1jYXRlZ29yeV0sYnV0dG9uW2RhdGEtZ2EtY2F0ZWdvcnldLGlucHV0W2RhdGEtZ2EtY2F0ZWdvcnldW3R5cGU9InN1Ym1pdCJdLGlucHV0W2RhdGEtZ2EtY2F0ZWdvcnldW3R5cGU9ImJ1dHRvbiJdJykuZWFjaChmdW5jdGlvbiAoaSwgZWxlbWVudCkgew0KICAgICAgICAkKGVsZW1lbnQpLmNsaWNrKGZ1bmN0aW9uICgpIHsgcmVjb3JkR29vZ2xlRXZlbnRzKGVsZW1lbnQpIH0pOw0KICAgIH0pOw0KICAgIC8vYWRkIGEgY3VzdG9tIGNoYW5nZSBldmVudCB0byBjZXJ0YWluIHR5cGVzIG9mIGZvcm0gZWxlbWVudCB3aXRoIGN1c3RvbSBHb29nbGUgQW5hbHlpY3MgdHJhY2tpbmcgZGF0YQ0KICAgICQoJ3NlbGVjdFtkYXRhLWdhLWNhdGVnb3J5XSxyYWRpb1tkYXRhLWdhLWNhdGVnb3J5XSx0ZXh0YXJlYVtkYXRhLWdhLWNhdGVnb3J5XSxpbnB1dFtkYXRhLWdhLWNhdGVnb3J5XVt0eXBlPSJ0ZXh0Il0saW5wdXRbZGF0YS1nYS1jYXRlZ29yeV1bdHlwZT0iY2hlY2tib3giXSxpbnB1dFtkYXRhLWdhLWNhdGVnb3J5XVt0eXBlPSJmaWxlIl0saW5wdXRbZGF0YS1nYS1jYXRlZ29yeV1bdHlwZT0iaW1hZ2UiXSxpbnB1dFtkYXRhLWdhLWNhdGVnb3J5XVt0eXBlPSJwYXNzd29yZCJdJykuZWFjaChmdW5jdGlvbiAoaSwgZWxlbWVudCkgew0KICAgICAgICAkKGVsZW1lbnQpLmNoYW5nZShmdW5jdGlvbiAoKSB7IHJlY29yZEdvb2dsZUV2ZW50cyhlbGVtZW50KSB9KTsNCiAgICB9KTsNCiAgICBmdW5jdGlvbiByZWNvcmRHb29nbGVFdmVudHMoZWxlbWVudCkgew0KICAgICAgICBjb25zb2xlLmxvZygiYmVnaW4gcmVjb3JkR29vZ2xlRXZlbnRzIik7DQogICAgICAgIHZhciBjYXRlZ29yeSA9ICQoZWxlbWVudCkuZGF0YSgiZ2EtY2F0ZWdvcnkiKTsNCiAgICAgICAgdmFyIGFjdGlvbiA9ICQoZWxlbWVudCkuZGF0YSgiZ2EtYWN0aW9uIik7DQogICAgICAgIHZhciBsYWJlbCA9ICQoZWxlbWVudCkuZGF0YSgiZ2EtbGFiZWwiKTsNCiAgICAgICAgdmFyIHZhbHVlID0gJChlbGVtZW50KS5kYXRhKCJnYS12YWx1ZSIpOw0KICAgICAgICAvL2RlZmF1bHQgdmFsdWVzDQogICAgICAgIGlmICh0eXBlb2YgKGFjdGlvbikgPT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgIGFjdGlvbiA9ICIiOw0KICAgICAgICB9DQogICAgICAgIGlmICh0eXBlb2YgKGxhYmVsKSA9PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgbGFiZWwgPSAiIjsNCiAgICAgICAgfQ0KICAgICAgICAvL3NlbmQgZXZlbnQgd2l0aCBhIHZhbHVlIHBhcmFtZXRlciBvbmx5IGlmIG9uZSBpcyBwcm92aWRlZA0KICAgICAgICBpZiAodHlwZW9mICh2YWx1ZSkgPT0gInVuZGVmaW5lZCIgfHwgdmFsdWUgPT09ICIiIHx8IGlzTmFOKHZhbHVlKSkgew0KICAgICAgICAgICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCBjYXRlZ29yeSwgYWN0aW9uLCBsYWJlbCk7DQogICAgICAgIH0NCiAgICAgICAgZWxzZSB7DQogICAgICAgICAgICBnYSgnc2VuZCcsICdldmVudCcsIGNhdGVnb3J5LCBhY3Rpb24sIGxhYmVsLCB2YWx1ZSk7DQogICAgICAgIH0NCiAgICB9DQp9KTsNCg0KDQoNCmZ1bmN0aW9uIG9wZW5Nb2RhbCgkZXZlbnQsIHRpdGxlLCBjb250ZW50c0lEKXsNCg0KICAgICAgb3Blbk1haW5Nb2RhbCgkZXZlbnQuY3VycmVudFRhcmdldCwgdGl0bGUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbnRlbnRzSUQpLm91dGVySFRNTCwgImhvbWUtbW9kYWwiKTsgIA0KDQp9DQo8L3NjcmlwdD4NCjxtZXRhIG5hbWU9Im1zdmFsaWRhdGUuMDEiIGNvbnRlbnQ9Ijk2MERCMERFMzQ1NTg4NzI1RjEyNkI4QzNBODU3MjExIiAvPmQFJmdfMjdkNDU4MjdfMjI5NF80ZWUwX2JhMjJfMTUwOTM1Zjg2MmMzD2QWAmYPFgQfAgUfbXMtcnRlLWVtYmVkY29kZSBtcy1ydGUtZW1iZWR3cB8BBfMRPGRpdiBpZD0iaGVybyI+DQogICAgICA8ZGl2IGlkPSJoZXJvLWN0YSI+DQo8ZGl2ICBjbGFzcz0iaGVyby1jdGEtcG9zaXRpb24iPg0KPGgxIGNsYXNzPSJjdGEtd2VsY29tZSI+V2VsY29tZSB0byBEYWxsYXM8L2gxPjxoMiBjbGFzcz0iY3RhLXN1YnRpdGxlIj5Db21taXR0ZWQgVG8gIlNlcnZpY2UgRmlyc3QiIEV4Y2VsbGVuY2U8L2gyPjxhIGlkPSJleHBsb3JlIiBocmVmPSIjcG9wdWxhcmxpbmtzIiBhcmlhLWxhYmVsPSJKdW1wIFRvIE1haW4gQ29udGVudCI+PHNwYW4gY2xhc3M9InNjcm9sbC1kb3duIj48L3NwYW4+PC9hPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KDQo8IS0tc2Nyb2xsLS0+DQogICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8vPCFbQ0RBVEFbDQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywgJ2FbaWQkPSJleHBsb3JlIl0nLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIHNldFBvc2l0aW9uKCIjcG9wdWxhcmxpbmtzIiwgZSk7DQogICAgICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBzZXRQb3NpdGlvbihzZWN0aW9uLCBlKSB7DQogICAgICAgICAgICAgICAgICAgICQoIiNzNC13b3Jrc3BhY2UiKS5hbmltYXRlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvcDogJChzZWN0aW9uKS5vZmZzZXQoKS50b3ANCiAgICAgICAgICAgICAgICAgICAgfSwgODAwKTsNCiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgICAgICAgIH0NCjwvc2NyaXB0Pg0KDQo8c2NyaXB0IHNyYz0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvZHNqNHJteS5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0PnRyeXtUeXBla2l0LmxvYWQoeyBhc3luYzogdHJ1ZSB9KTt9Y2F0Y2goZSl7fTwvc2NyaXB0Pg0KDQo8c3R5bGU+DQouY3RhLXdlbGNvbWUgew0KZm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLUJvbGQsIHNhbnMtc2VyaWY7DQpmb250LXNpemU6IDY4cHg7DQpjb2xvcjogI0ZGRkZGRjsNCmxldHRlci1zcGFjaW5nOiA0cHg7DQpsaW5lLWhlaWdodDogOTZweDsNCnRleHQtc2hhZG93OiAtM3B4IC0xcHggNXB4IHJnYmEoMCwwLDApOw0KZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7DQp0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KfQ0KLmN0YS1zdWJ0aXRsZSB7DQpmb250LWZhbWlseTogUHJveGltYU5vdmEtU2VtaWJvbGQsICdMYXRvJywgc2Fucy1zZXJpZjsNCmZvbnQtc2l6ZTogMjJweDsNCmNvbG9yOiAjRkZGRkZGOw0KbGV0dGVyLXNwYWNpbmc6IDNweDsNCmxpbmUtaGVpZ2h0OiAzMXB4Ow0KdGV4dC1zaGFkb3c6IC0ycHggLTJweCAzcHggcmdiKDAgMCAwKTsNCnRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQp9DQojaGVyby1jdGEgaDEgew0KcGFkZGluZy10b3A6IDUwcHg7DQp9DQojaGVyby1jdGEgLnNjcm9sbC1kb3duIHsNCiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsNCn0NCiNoZXJvLWN0YSB7DQogICAgcGFkZGluZzogMCAhaW1wb3J0YW50Ow0KcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KI2hlcm8gew0KICAgIGhlaWdodDogMzAwcHg7DQp9DQouaGVyby1jdGEtcG9zaXRpb24gew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIGxlZnQ6IDUwJTsNCiAgYm9yZGVyLXJhZGl1czogNTAlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyANCndpZHRoOiAxMDAlO30NCg0KLyogQ3VzdG9tLCBpUGhvbmUgUmV0aW5hICovIA0KICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDMyMHB4KSB7DQouaGVyby1jdGEtcG9zaXRpb24gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBib3R0b206IDI1cHg7DQp3aWR0aDogOTAlO30NCiAgICB9DQovKiBFeHRyYSBTbWFsbCBEZXZpY2VzLCBQaG9uZXMgKi8gDQogICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogNDgwcHgpIHsNCi5oZXJvLWN0YS1wb3NpdGlvbiB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGJvdHRvbTogNzBweDt9DQogICAgfQ0KLyogTWVkaXVtIERldmljZXMsIERlc2t0b3BzICovDQogICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogOTkycHgpIHsNCi5oZXJvLWN0YS1wb3NpdGlvbiB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGJvdHRvbTogMzVweDt9DQogICAgfQ0KPC9zdHlsZT5kBSZnXzk2MzljNTJiXzlmZWRfNDRkNV84MTg0X2Q1NDkzMzI4YjVjNQ9kFgICAQ8WAh8BBf4CPHVsIGNsYXNzPSd1bnN0eWxlZCcgaWQ9J2FsZXJ0c3VsJz48bGk+PGEgaHJlZj0naHR0cDovL2RhbC5jaXR5LzIwMjRDb21tdW5pY2F0aW9uc1N1cnZleScgdGFyZ2V0PSdfYmxhbmsnPkhleSBEYWxsYXMhIExldOKAmXMgdGFsazogaG93IGNhbiB3ZSBpbXByb3ZlIG91ciBjb21tdW5pY2F0aW9uPyAgTGV0IHVzIGtub3cgYXQgZGFsLmNpdHkvMjAyNENvbW11bmljYXRpb25zU3VydmV5LiAgICAgICAgICAgICAgICAgICAgIMKhSG9sYSBEYWxsYXMhIEhhYmxlbW9zOiDCv2PDs21vIHBvZGVtb3MgbWVqb3JhciBudWVzdHJhIGNvbXVuaWNhY2nDs24/ICBEaW5vcyB0dSBvcGluacOzbiBlbiBkYWwuY2l0eS8yMDI0Q29tbXVuaWNhdGlvbnNTdXJ2ZXk8L2E+PC9saT48L3VsPmQCBQ9kFgICAg9kFgICAg9kFgICBQ9kFgICAw8WAh4HVmlzaWJsZWgWAmYPZBYEAgIPZBYGAgEPFgIfA2hkAgMPFgIfA2hkAgUPFgIfA2hkAgMPDxYCHglBY2Nlc3NLZXkFAS9kZGTpUoCLKQLe6xeRTeY5bt2ZhYXB65Pyb+zIXeWZxMXTOA==">
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
<script src="/WebResource.axd?d=1ZaNuB-7t0Zve38TMcZMUOkeVYnPROcRRioR94K_tUV4Bn_paYFl1_CSrwgpHOqMLUVB6gUTu68kU4hhxaA-HQOgxgRDBsbtk20yWv9SEoY1&t=637814437746327080" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var MSOWebPartPageFormName = 'aspnetForm';
var g_presenceEnabled = true;
var g_wsaEnabled = false;
var g_wsaQoSEnabled = false;
var g_wsaQoSDataPoints = [];
var g_wsaLCID = 1033;
var g_wsaListTemplateId = 850;
var g_wsaSiteTemplateId = 'BLANKINTERNET#0';
var _fV4UI = true;
var _spPageContextInfo = {
webServerRelativeUrl: "\u002f",
webAbsoluteUrl: "https:\u002f\u002fdallascityhall.com",
siteAbsoluteUrl: "https:\u002f\u002fdallascityhall.com",
serverRequestPath: "\u002fPages\u002fdefault.aspx",
layoutsUrl: "_layouts\u002f15",
webTitle: "Dallas City Hall",
webTemplate: "53",
tenantAppVersion: "0",
isAppWeb: false,
Has2019Era: true,
webLogoUrl: "\u002fSiteAssets\u002fcod-site-icon.jpg",
webLanguage: 1033,
currentLanguage: 1033,
currentUICultureName: "en-US",
currentCultureName: "en-US",
clientServerTimeDelta: new Date("2024-09-06T15:25:06.6285085Z") - new Date(),
siteClientTag: "8379$$15.0.5223.1000",
crossDomainPhotosEnabled: false,
webUIVersion: 15,
webPermMasks: {
High: 16,
Low: 196705
},
pageListId: "{4a35db85-1d01-4ce0-9804-6a1072e5021e}",
pageItemId: 533,
pagePersonalizationScope: 1,
alertsEnabled: true,
siteServerRelativeUrl: "\u002f",
allowSilverlightPrompt: 'True'
};
var L_Menu_BaseUrl = "";
var L_Menu_LCID = "1033";
var L_Menu_SiteTheme = "null";
document.onreadystatechange = fnRemoveAllStatus;
function fnRemoveAllStatus() {
removeAllStatus(true)
};
var _spWebPartComponents = new Object(); //]]>
</script>
<script src="/_layouts/15/blank.js?rev=ZaOXZEobVwykPO9g8hq%2F8A%3D%3D" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
(function() {
if (typeof(_spBodyOnLoadFunctions) === 'undefined' || _spBodyOnLoadFunctions === null) {
return;
}
_spBodyOnLoadFunctions.push(function() {
ExecuteOrDelayUntilScriptLoaded(function() {
var pairs = SP.ScriptHelpers.getDocumentQueryPairs();
var followDoc, itemId, listId, docName;
for (var key in pairs) {
if (key.toLowerCase() == 'followdocument') followDoc = pairs[key];
else if (key.toLowerCase() == 'itemid') itemId = pairs[key];
else if (key.toLowerCase() == 'listid') listId = pairs[key];
else if (key.toLowerCase() == 'docname') docName = decodeURI(pairs[key]);
}
if (followDoc != null && followDoc == '1' && listId != null && itemId != null && docName != null) {
SP.SOD.executeFunc('followingcommon.js', 'FollowDocumentFromEmail', function() {
FollowDocumentFromEmail(itemId, listId, docName);
});
}
}, 'SP.init.js');
});
})();
(function() {
if (typeof(_spBodyOnLoadFunctions) === 'undefined' || _spBodyOnLoadFunctions === null) {
return;
}
_spBodyOnLoadFunctions.push(function() {
if (typeof(SPClientTemplates) === 'undefined' || SPClientTemplates === null || (typeof(APD_InAssetPicker) === 'function' && APD_InAssetPicker())) {
return;
}
var renderFollowFooter = function(renderCtx, calloutActionMenu) {
if (renderCtx.ListTemplateType == 700) myDocsActionsMenuPopulator(renderCtx, calloutActionMenu);
else CalloutOnPostRenderTemplate(renderCtx, calloutActionMenu);
var listItem = renderCtx.CurrentItem;
if (typeof(listItem) === 'undefined' || listItem === null) {
return;
}
if (listItem.FSObjType == 0) {
calloutActionMenu.addAction(new CalloutAction({
text: Strings.STS.L_CalloutFollowAction,
tooltip: Strings.STS.L_CalloutFollowAction_Tooltip,
onClickCallback: function(calloutActionClickEvent, calloutAction) {
var callout = GetCalloutFromRenderCtx(renderCtx);
if (!(typeof(callout) === 'undefined' || callout === null)) callout.close();
SP.SOD.executeFunc('followingcommon.js', 'FollowSelectedDocument', function() {
FollowSelectedDocument(renderCtx);
});
}
}));
}
};
var registerOverride = function(id) {
var followingOverridePostRenderCtx = {};
followingOverridePostRenderCtx.BaseViewID = 'Callout';
followingOverridePostRenderCtx.ListTemplateType = id;
followingOverridePostRenderCtx.Templates = {};
followingOverridePostRenderCtx.Templates.Footer = function(renderCtx) {
var renderECB;
if (typeof(isSharedWithMeView) === 'undefined' || isSharedWithMeView === null) {
renderECB = true;
} else {
var viewCtx = getViewCtxFromCalloutCtx(renderCtx);
renderECB = !isSharedWithMeView(viewCtx);
}
return CalloutRenderFooterTemplate(renderCtx, renderFollowFooter, renderECB);
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(followingOverridePostRenderCtx);
}
registerOverride(101);
registerOverride(700);
});
})();
if (typeof(DeferWebFormInitCallback) == 'function') DeferWebFormInitCallback(); //]]>
</script>
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="BAB98CB3">
</div>
<script type="text/javascript">
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$ScriptManager', 'aspnetForm', [], [], [], 90, 'ctl00');
//]]>
</script>
<!-- Google Tag Manager -->
<noscript>
<iframe src="https://googletagmanager.com/ns.html?id=GTM-P2GHZW" height="0" width="0" style="display:none;visibility:hidden">
</iframe>
</noscript>
<script>
//<![CDATA[
(function(w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start': new Date().getTime(),
event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src = '//www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-P2GHZW');
//]]>
</script>
<!-- End Google Tag Manager -->
<div id="ms-designer-ribbon">
<div>
<div id="s4-ribbonrow" style="visibility: hidden; display: none; height: 0px;"></div>
</div>
</div>
<div id="ctl00_g_c06763ce_4062_40f5_928c_2ae65f7854cc" __markuptype="vsattributemarkup" __webpartid="{c06763ce-4062-40f5-928c-2ae65f7854cc}" webpart="true" isclosed="false">
</div>
<div id="s4-workspace" aria-hidden="false" class="main-content" style="height: 1200px; width: 1600px;">
<div class="s4-notdlg top-row">
<!-- start s4 top row-->
<div id="outerWrapper" unselectable="on">
<!-- start outerWrapper-->
<nav id="mainNav" unselectable="on" class="noindex">
<style>
.visuallyhidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
p.translate {
padding-bottom: 0;
font-weight: 550;
}
</style>
<div class="s4-notdlg top-row">
<!-- start s4 top row-->
<div id="outerWrapper2" unselectable="on">
<!-- start outerWrapper-->
<div id="skipNav">
<div class="container">
<button type="button" onkeypress="event.keyCode == 13 && gotoMain()" onclick="gotoMain()"> Skip Navigation </button>
</div>
</div>
<div id="innerWrapper" unselectable="on">
<!-- start innerWrapper-->
<div id="navs" unselectable="on">
<div id="topNav">
<!--dept header start-->
<div class="hidden-xs hidden-sm">
<ul id="textNav">
<li class="no-left-padding"><a class="first-direct-link" href="/government/citymayor/Pages/default.aspx">Mayor</a></li>
<li><a class="first-direct-link" href="/government/Pages/city-council.aspx">City Council</a></li>
<li><a class="first-direct-link" href="/government/citymanager/Pages/default.aspx">City Manager</a></li>
<li>
<div>
<button class="dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Departments</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="text-dark-blue bottom-border" href="/departments/Pages/default.aspx">View All Departments</a>
<p class="text-dark-green">Most Visited</p>
<ul id="most-visited-departments">
<li class="noindex "><a href="/departments/humanresources/employment">Employment</a></li>
<li><a href="/departments/waterutilities">Water Utilities</a></li>
<li><a href="/departments/sustainabledevelopment/buildinginspection">Building Inspection</a></li>
<li><a href="/departments/sanitation">Sanitation</a></li>
<li><a href="/departments/courtdetentionservices">Court & Detention Services</a>
</li>
<li><a href="/departments/humanresources">Human Resources</a></li>
<li><a href="/departments/codecompliance">Code Compliance</a></li>
<li><a href="/departments/procurement">Procurement Services</a></li>
<li><a href="/government/citysecretary/openrecords/Pages/default.aspx">Open Records</a></li>
<li><a href="/departments/codecompliance/Pages/garage-sales.aspx">Garage Sale</a></li>
</ul>
</div>
</div>
</li>
<li>
<div>
<button tabindex="0" class="dropdown-toggle" type="button" id="dropdownMenuButton2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Pay</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton2">
<ul id="payment-group">
<li><a href="/departments/waterutilities/Pages/pay-water-bill.aspx" target="_blank">Water Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx">Traffic & Civil Tickets</a></li>
<li><a href="https://cityofdallas.rmcpay.com" target="_blank">Parking Ticket</a></li>
<!-- <li><a href="/departments/transportation/Pages/red-light-ticket.aspx">Red Light Ticket</a></li> -->
<li><a href="https://www.velocitypayment.com/client/bankofamerica/cityofdallas/frab/index.html" target="_blank"> Ambulance Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/Warrant-Info.aspx" target="_blank"> Court Warrants & Bonds</a></li>
<li><a href="/Pages/paybyapp.aspx">For Parking Meters</a></li>
<li><a href="/departments/codecompliance/Pages/garage-sales.aspx">Garage Sales Permit</a></li>
<li><a href="https://cityofdallas.rmcpay.com" target="_blank">School Bus Stop Ticket</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_registrations.aspx">Security Alarm Permit</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Hotel Occupancy Tax (HOT)</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Short-Term Rentals (HOT)</a></li>
</ul>
</div>
</div>
</li>
</ul>
</div>
</div>
<!-- Mobile menu-->
<div class="hidden-lg hidden-md navbar navbar-inverse">
<div class="navbar-collaps">
<div class="navbar-header">
<div id="dl-menu" class="dl-menuwrapper">
<a href="/" unselectable="on">
<img alt="City of Dallas Home" src="/PublishingImages/style-library/City of Dallas - Landscape - White and Green.png" unselectable="on">
</a>
<!-- <div class="left-btns"> -->
<a id="search-open-icon" href="#" role="button" onclick="showMobileSearch(true)" onkeypress="event.keyCode == 13 && showMobileSearch(true)"><img alt="Search" src="/SiteCollectionImages/COD_images/Icons-Standard-Search-white.svg"></a>
<a id="search-close-icon" tabindex="0" onclick="showMobileSearch(false)" onkeypress="event.keyCode == 13 && showMobileSearch(false)"><img alt="close search" src="/SiteCollectionImages/COD_images/White-Close-Icon-24px.png"></a>
<div id="main-search-mobile" class="search-main">
<label for="searchtextMobile" class="visuallyhidden">Search </label>
<input type="text" placeholder="Search...." id="searchtextMobile" class="textField" onkeydown="event.keyCode == 13 && goSearch('searchtextMobile')"
autofocus="autofocus"><a tabindex="0" class="search-go-btn" onkeydown="event.keyCode == 13 && goSearch('searchtextMobile')" onclick="goSearch('searchtextMobile')"></a>
</div>
<button type="button" class="dl-trigger" id="menu-overlay" aria-label="main menu" onclick="showMobileSearch(false)" onkeypress="event.keyCode == 13 && showMobileSearch(false)"></button>
<ul class="dl-menu">
<li>
<a tabindex="-1" href="/Pages/resident.aspx" class="has-list">Resident</a>
<ul class="dl-submenu">
<li class="dl-back"><a href="/Pages/resident.aspx" aria-label="Main menu">Resident</a></li>
<li><a href="/Pages/resident.aspx">Resident Home</a></li>
<li>
<a href="#" class="has-list" role="menuitem">Payments</a>
<ul class="dl-submenu" id="mobile-payments">
<li class="dl-back"><a href="#" aria-label="Back to Resident">Payments</a></li>
<li><a href="/departments/waterutilities/Pages/pay-water-bill.aspx" target="_blank">Water Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx">Traffic & Civil Tickets</a></li>
<li><a href="https://cityofdallas.rmcpay.com" target="_blank">Parking Ticket</a></li>
<!-- <li><a href="/departments/transportation/Pages/red-light-ticket.aspx">Red Light Ticket</a></li> -->
<li><a href="https://www.velocitypayment.com/client/bankofamerica/cityofdallas/frab/index.html" target="_blank"> Ambulance Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/Warrant-Info.aspx" target="_blank"> Court Warrants & Bonds</a></li>
<li><a href="/Pages/paybyapp.aspx">For Parking Meters</a></li>
<li><a href="/departments/codecompliance/Pages/garage-sales.aspx">Garage Sales Permit</a></li>
<li><a href="https://cityofdallas.rmcpay.com" target="_blank">School Bus Stop Ticket</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_registrations.aspx">Security Alarm Permit</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Hotel Occupancy Tax (HOT)</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Short-Term Rentals (HOT)</a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">Resources</a>
<ul class="dl-submenu" id="mobile-services">
<li class="dl-back"><a href="#" aria-label="Back to Resident">Resources</a></li>
<li><a href="/departments/dallas-animal-services/Pages/default.aspx">Animal Services</a></li>
<li><a href="/departments/community-care/Pages/community_centers.aspx">Community Centers</a></li>
<li><a href="http://www.dallasculture.org/culturalFacilities.asp" target="_blank">Cultural Centers</a></li>
<li><a href="http://dallaslibrary2.org/hours.php" target="_blank">Libraries</a></li>
<li><a href="http://www.dallasparks.org/" target="_blank">Parks and Recreations</a></li>
<li><a href="/departments/sanitation/Pages/default.aspx">Sanitation Services</a></li>
<li><a href="/Pages/transportation.aspx">Transportation</a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">Public Safety</a>
<ul class="dl-submenu" id="mobile-safety">
<li class="dl-back"><a href="#" aria-label="Back to Resident">Public Safety</a></li>
<li><a href="http://www.dallaspolice.net/communitys" target="_blank">Community Policing</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx">Courts</a></li>
<li><a href="http://www.dallaspolice.net/resource/dpd_crimereport" target="_blank">Crime Reports</a></li>
<li><a href="http://www.dallaspolice.net/division/southwest/crimewatch" target="_blank">Crime Watch</a></li>
<li><a href="/departments/officeemergencymanagement/Pages/default.aspx" target="_blank">Emergency Management</a></li>
<li><a href="/departments/officeemergencymanagement/Pages/Get-Prepared.aspx">Emergency Preparedness</a></li>
<li><a href="http://www.dallasfirerescue.com/inspections_investigations_prevention.html" target="_blank">Fire Prevention Program</a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">State Assistance</a>
<ul class="dl-submenu">
<li class="dl-back"><a href="#" aria-label="Back to Resident">State Assistance</a></li>
<li class="noindex"><a href="https://www.211texas.org/" target="_blank">2-1-1 Texas Website</a></li>
<li class="noindex"><a href="https://www.211texas.org/about-2-1-1/" target="_blank">About 2-1-1 Texas</a></li>
<li class="noindex"><a href="https://yourtexasbenefits.com/" target="_blank">Your Texas Benefits</a></li>
<li class="noindex"><a href="https://yourtexasbenefits.hhsc.texas.gov/programs/snap" target="_blank">SNAP (Food Stamps)</a></li>
<li class="noindex"><a href="https://texaswic.org/" target="_blank">WIC (Women, Infants, and Children)</a></li>
<li class="noindex"><a href="https://yourtexasbenefits.hhsc.texas.gov/programs/tanf" target="_blank">TANF (Temporary Assistance to Needy Families)</a></li>
<li class="noindex"><a href="https://yourtexasbenefits.hhsc.texas.gov/programs/health" target="_blank">Health Care</a></li>
</ul>
</li>
<li><a href="//www.dallaspolice.net/" target="_blank">Dallas Police</a></li>
<li><a href="/departments/fire-rescue/" target="_blank">Dallas Fire</a></li>
</ul>
</li>
<!-- Residents -->
<li><a tabindex="-1" href="/Pages/visitor.aspx">Visitor</a></li>
<li><a tabindex="-1" href="#" class="has-list">Business</a>
<ul class="dl-submenu">
<li class="dl-back"><a href="#" aria-label="back to main menu">Business</a></li>
<li><a href="/business/Pages/default.aspx">Business Home</a></li>
<li>
<a href="#" class="has-list" role="menuitem">Licenses and Permits
</a>
<ul class="dl-submenu" id="mobile-permits">
<li class="dl-back"><a href="#" aria-label="back to Business">Licenses and Permits</a></li>
<li><a href="/departments/sustainabledevelopment/buildinginspection/Pages/index.aspx">Building Permits and Inspections</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_licenses.aspx">Business and Vendor Licenses</a></li>
<li><a href="https://dallascityhall.bonfirehub.com/" target="_blank">City Vendor Registration</a></li>
<li><a href="https://www.dallasfilmcommission.com/" target="_blank">Dallas Film Commission</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_permits.aspx">Fire Prevention and Pool Permits</a></li>
<li><a href="/departments/codecompliance/Admin1/ApplyforaPermit/Pages/FoodEstablishment.aspx">Food Service Permits</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Hotel Occupancy Tax (HOT) Registration</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Short-Term Rentals (HOT) Registration</a></li>
</ul>
</li>
<li><a href="#" class="has-list" role="menuitem">Small Business</a>
<ul class="dl-submenu" id="mobile-small">
<li class="dl-back"><a href="#" aria-label="back to Business menu">Small Business</a></li>
<li><a href="http://www.bbb.org/north-central-texas/" target="_blank">Better Business Bureau in Dallas</a></li>
<li><a href="http://www.dallaschamber.org/" target="_blank">Dallas Regional Chamber</a></li>
<li><a href="https://www.dallasecodev.org/business/small-business/" target="_blank">How to Start a New Business</a></li>
<li><a href="https://www.sba.gov/" target="_blank">Small Business Administration</a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">Development</a>
<ul class="dl-submenu" id="mobile-development">
<li class="dl-back"><a href="#" aria-label="back to Business menu">Development</a></li>
<li><a href="/departments/sustainabledevelopment/buildinginspection/Pages/index.aspx">Building Inspection</a></li>
<li><a href="/departments/procurement/Pages/construction_notices.aspx">Construction Notices</a></li>
<li><a href="https://www.dallasecodev.org/" target="_blank">Dallas Economic Development</a></li>
<li><a href="https://www.dallasecodev.org/incentives/tifs-pids/dallas-downtown-improvement-district/" target="_blank">Downtown Improvement District</a></li>
<li><a href="/departments/pnv/strategic-planning/Pages/forward-dallas.aspx">ForwardDallas!</a></li>
<li><a href="/departments/pnv/Pages/current-planning.aspx">Zoning - Current Planning</a></li>
<li><a href="https://developmentweb.dallascityhall.com/publiczoningweb/" target="_blank">Zoning Interactive Maps</a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">Resources</a>
<ul class="dl-submenu">
<li class="dl-back"><a href="#" aria-label="back to Business menu">Resources</a></li>
<li><a href="/departments/procurement" target="_blank">Doing Business With the City</a></li>
<li><a href="https://vgov.dallascityhall.com/">vGov</a></li>
</ul>
</li>
</ul>
</li>
<li><a tabindex="-1" href="#" class="has-list">Government</a>
<ul class="dl-submenu">
<li class="dl-back"><a href="#" aria-label="back to main menu">Government</a></li>
<li><a href="/government/Pages/default.aspx">Government Home</a></li>
<li><a href="#" class="has-list" role="menuitem">Mayor and City Council</a>
<ul class="dl-submenu" id="mobile-councils">
<li class="dl-back"><a href="#" aria-label="back to Government menu">Mayor and City Council</a></li>
<li><a href="/government/citymayor/Pages/default.aspx"><span class="notranslate">Eric Johnson</span><h5>MAYOR</h5></a></li>
<li><a href="/government/citycouncil/district1/Pages/default.aspx">1. <span class="notranslate">Chad West</span></a></li>
<li><a href="/government/citycouncil/district2/Pages/default.aspx">2. <span class="notranslate">Jesse Moreno</span></a></li>
<li><a href="/government/citycouncil/district3/Pages/default.aspx">3. <span class="notranslate">Zarin D. Gracey</span></a></li>
<li><a href="/government/citycouncil/district4/Pages/default.aspx">4. <span class="notranslate">Carolyn King Arnold</span></a></li>
<li><a href="/government/citycouncil/district5/Pages/default.aspx">5. <span class="notranslate">Jaime Resendez</span></a></li>
<li><a href="/government/citycouncil/district6/Pages/default.aspx">6. <span class="notranslate">Omar Narvaez</span></a></li>
<li><a href="/government/citycouncil/district7/Pages/default.aspx">7. <span class="notranslate">Adam Bazaldua</span><h5>DEPUTY MAYOR PRO TEM</h5></a></li>
<li><a href="/government/citycouncil/district8/Pages/default.aspx">8. <span class="notranslate">Tennell Atkins</span><h5>MAYOR PRO TEM</h5></a></li>
<li><a href="/government/citycouncil/district9/Pages/default.aspx">9. <span class="notranslate">Paula Blackmon</span></a></li>
<li><a href="/government/citycouncil/district10/Pages/default.aspx">10. <span class="notranslate">Kathy Stewart</span></a></li>
<li><a href="/government/citycouncil/district11/Pages/default.aspx">11. <span class="notranslate">Jaynie Schultz</span></a></li>
<li><a href="/government/citycouncil/district12/Pages/default.aspx">12. <span class="notranslate">Cara Mendelsohn</span></a></li>
<li><a href="/government/citycouncil/district13/Pages/default.aspx">13. <span class="notranslate">Gay Donnell Willis</span></a></li>
<li><a href="/government/citycouncil/district14/Pages/default.aspx">14. <span class="notranslate">Paul E. Ridley</span></a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">City Management
</a>
<ul class="dl-submenu" id="mobile-managers">
<li class="dl-back"><a href="#" aria-label="Go back to government menu">City Management</a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/City-Manager.aspx"><span>Kimberly Bizor Tolbert</span><h5>City Manager (I)</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Dominique-Artis.aspx"><span>Dominique Artis</span><h5>Chief of Public Safety (I)</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Dev-Rastogi.aspx"><span>Dev Rastogi</span><h5>Assistant City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/liz-cedillo-pereira.aspx"><span>Liz Cedillo-Pereira</span><h5>Assistant City Manager </h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Alina-Ciocan.aspx"><span>Alina Ciocan</span><h5>Assistant City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Robin-Bentley.aspx"><span>Robin Bentley</span><h5>Assistant City Manager (I)</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Donzell-Gipson.aspx"><span>Donzell Gipson</span><h5>Assistant City Manager (I)</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/jack-ireland.aspx"><span>Jack Wade Ireland, Jr.</span><h5>Chief Financial Officer</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Elizabeth-Saab.aspx"><span>Elizabeth Saab</span><h5>Chief of Strategy, Engagement, and Alignment (I)</h5></a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">Other City Officials
</a>
<ul class="dl-submenu" id="mobile-officials">
<li class="dl-back">
<a href="#" aria-label="back to Government menu">Other City Officials
</a>
</li>
<li><a href="http://www.dallascityattorney.com/" target="_blank"><span class="notranslate">Tammy L. Palomino</span><h5>CITY ATTORNEY</h5></a></li>
<li><a href="/departments/auditor/Pages/default.aspx"><span class="notranslate">Mark S. Swann</span><h5>CITY AUDITOR</h5></a></li>
<li><a href="/government/citysecretary/Pages/default.aspx"><span class="notranslate">Bilierae Johnson</span><h5>CITY SECRETARY</h5></a></li>
<li><a href="/departments/judiciary/Pages/default.aspx"><span class="notranslate">Preston Robinson</span><h5>ADMINISTRATIVE JUDGE</h5></a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">Public Meetings
</a>
<ul class="dl-submenu" id="mobile-meetings">
<li class="dl-back" aria-label="back to Government menu">
<a href="#">Public Meetings
</a>
</li>
<li><a href="/government/Pages/Council-Agenda.aspx">Council Agendas</a></li>
<li><a href="/government/Pages/CouncilBriefings.aspx">Council Briefings</a></li>
<li><a href="/government/Pages/Committee-Meetings.aspx">Committee Briefings</a></li>
<!--<li><a href="/government/Pages/archive.aspx">Council & Committee Archive</a></li>-->
<li><a href="https://www.dallasopendata.com/Government/Dallas-City-Council-Voting-Record/ts5d-gdq6" target="_blank">Council Voting Record</a></li>
<li><a href="/government/meetings/Pages/default.aspx">Boards & Commissions Meetings</a></li>
<li><a href="/government/citysecretary/Pages/Public-Meetings.aspx">City Secretary's Public Meetings</a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">City Hall Resources
</a>
<ul class="dl-submenu" id="mobile-resources">
<li class="dl-back">
<a href="#" aria-label="back to Government menu">City Hall Resources
</a>
</li>
<li><a href="http://annualreport.dallascityhall.com/" target="_blank">Annual Report</a></li>
<li><a href="/government/Pages/city-codes.aspx">City Codes</a></li>
<li><a href="https://www.dallasecodev.org/" target="_blank">Dallas Economic Development</a></li>
<li><a href="/departments/Pages/department4.aspx">Departments</a></li>
<li><a href="https://gis.dallascityhall.com/" target="_blank">Enterprise GIS</a></li>
<li><a href="http://financialtransparency.dallascityhall.com/" target="_blank">Financial Transparency</a></li>
<li><a href="/calendar/">Calendar</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a tabindex="-1" href="http://www.dallascitynews.net/" target="_blank">News
</a>
</li>
<li>
<a tabindex="-1" href="#" class="has-list" aria-label="3 1 1">311</a>
<ul class="dl-submenu" id="mobile-311">
<li class="dl-back"><a href="#" aria-label="Go back to main menu">311</a></li>
<li><a target="_blank" href="https://dallascrm.my.site.com/public/s/">Request a Service</a></li>
<li><a href="/services/311" aria-label="about 3 1 1">About 311</a></li>
<li><a href="#" class="has-list" role="menuitem">Frequently Requested Services</a>
<ul class="dl-submenu" id="mobile-resources-311">
<li class="dl-back"><a href="#" aria-label="back to 3 1 1 menu">Frequently Requested Services</a></li>
<li>Code Concerns</li>
<li>Sanitation Roll Cart</li>
<li>Missed Garbage</li>
<li>Street Repair</li>
<li>Parking – Report a Violation</li>
<li>Animal Loose</li>
<li>Dead Animal Pick Up</li>
<li>24 Hour Parking</li>
<li>Water/Wastewater Line Locate</li>
</ul>
</li>
</ul>
</li>
<li>
<a tabindex="-1" href="/government/citymayor/Pages/default.aspx">Mayor
</a>
</li>
<li>
<a tabindex="-1" href="/government/Pages/city-council.aspx">City Council
</a>
</li>
<li>
<a tabindex="-1" href="/government/citymanager/Pages/default.aspx">City Manager
</a>
</li>
<li>
<a tabindex="-1" href="/departments/Pages/default.aspx#">Departments
</a>
</li>
</ul>
</div>
</div>
<!-- </div> -->
</div>
</div>
<div id="language-translate-nav" class="notranslate">
<ul class="flex top-options">
<li><button type="button" onclick="translateDCH('en')">ENG</button></li>
<li><button type="button" onclick="translateDCH('es')">SPA</button></li>
<li><button type="button" onclick="translateDCH('vi')">VIE</button></li>
<li class="translate-drop-down">
<button class="orange-back globe-button dropdown-toggle" type="button" id="dropdownTranslate" data-toggle="dropdown" aria-expanded="false"><img src="/PublishingImages/icons/Dropdown-icon.png"
alt="language translate options"></button>
<div class="dropdown-menu" aria-labelledby="dropdownTranslate">
<p class="translate">Translate</p>
<ul class="second-top-options orange-back">
<li><button type="button" onclick="translateDCH('es')">Español</button></li>
<li><button type="button" onclick="translateDCH('vi')">Tiếng Việt</button></li>
<li><button type="button" onclick="translateDCH('ko')">한국어</button></li>
<li><button type="button" onclick="translateDCH('zh-CN')">简体字</button></li>
<li><button type="button" onclick="translateDCH('am')">አማርኛ</button></li>
</ul>
<div id="translate-elem" class="grey-back">
<!-- <img src="/SiteCollectionImages/COD_images/language-24px.svg"> -->
<div id="google_translate_element">
<div class="skiptranslate goog-te-gadget" dir="ltr" style="display: none;">
<div id=":0.targetLanguage"><i class="fa fa-plus"></i><select class="goog-te-combo" aria-label="Widget de traduction"></select></div>
</div>
</div>
</div>
</div>
</li>
</ul>
<script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'en',
autoDisplay: true,
layout: google.translate.TranslateElement.InlineLayout.VERTICAL
}, 'google_translate_element');
}
$(document).ready(function() {
$("#google_translate_element").bind("DOMNodeInserted", function() {
var e, t;
$("#google_translate_element").length && ((e = $(".goog-te-combo option:first")).length && "Select Language" === e.text() && e.text("More Languages"), $("i.fa-plus").on("click", function(e) {
$("select.goog-te-combo").trigger("click")
}), $(".goog-te-gadget").contents().filter(function() {
return 3 === this.nodeType && !$(this).parent().hasClass("goog-te-combo")
}).remove(), $(".goog-te-gadget span:first").length && $(".goog-te-gadget span:first").remove(),
(t = $("#\\:0\\.targetLanguage")).has(".fa.fa-plus").length || (e = $("<i>").addClass("fa fa-plus"), t.prepend(e)), t = $(".goog-te-gadget"), $("select.goog-te-combo").on("focus", function() {
t.focus()
}))
});
});
function translateDCH(language) {
var selectField = document.querySelector("#google_translate_element select");
for (var i = 0; i < selectField.children.length; i++) {
var option = selectField.children[i];
// find desired langauge and change the former language of the hidden selection-field
if (option.value == language) {
selectField.selectedIndex = i;
// trigger change event afterwards to make google-lib translate this side
selectField.dispatchEvent(new Event('change'));
break;
}
}
}
</script>
<script type="text/javascript" src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
</div>
<!--dept header end-->
<!--followus header start
followus header end -->
</div>
<!-- desktop menu-->
<div id="secondStaticNav" class="hidden-xs hidden-sm">
<div id="cityLogo" unselectable="on">
<a href="/" unselectable="on">
<img alt="City of Dallas Home" src="/PublishingImages/style-library/City of Dallas - Landscape - White and Green.png" unselectable="on">
</a>
</div>
<ul class="nav navbar-nav" id="seconMainNav">
<li>
<div>
<button class="dropdown-toggle" type="button" id="second-dropdown1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Resident</button>
<div class="dropdown-menu" aria-labelledby="second-dropdown1" id="resident-dropdown">
<a href="/Pages/resident.aspx" class="goto-homepage"><span>Resident Home</span></a>
<div class="col-lg-12 col-md-12 vertical-tab" role="menu">
<div class="bhoechie-tab-menu">
<div class="list-group" id="residents-related-group">
<div class="tab-block">
<a href="#resident-payment" role="menuitem" class="list-group-item active"><h4>Payments</h4></a>
<div class="bhoechie-tab-content active" id="resident-payment">
<ul class="bhoechie-links-content" id="second-payments">
<li><a href="/departments/waterutilities/Pages/pay-water-bill.aspx" target="_blank">Water Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx">Traffic & Civil Tickets</a></li>
<li><a href="https://cityofdallas.rmcpay.com" target="_blank">Parking Ticket</a></li>
<!-- <li><a href="/departments/transportation/Pages/red-light-ticket.aspx">Red Light Ticket</a></li> -->
<li><a href="https://www.velocitypayment.com/client/bankofamerica/cityofdallas/frab/index.html" target="_blank"> Ambulance Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/Warrant-Info.aspx" target="_blank"> Court Warrants & Bonds</a></li>
<li><a href="/Pages/paybyapp.aspx">For Parking Meters</a></li>
<li><a href="/departments/codecompliance/Pages/garage-sales.aspx">Garage Sales Permit</a></li>
<li><a href="https://cityofdallas.rmcpay.com" target="_blank">School Bus Stop Ticket</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_registrations.aspx">Security Alarm Permit</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Hotel Occupancy Tax (HOT)</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Short-Term Rentals (HOT)</a></li>
</ul>
</div>
</div>
<div class="tab-block">
<a href="#resident-services" class="list-group-item" role="menuitem"><h4>Services</h4></a>
<div class="bhoechie-tab-content" id="resident-services">
<ul class="bhoechie-links-content column-count-1" id="second-services">
<li><a href="/departments/dallas-animal-services/Pages/default.aspx">Animal Services</a></li>
<li><a href="/departments/community-care/Pages/community_centers.aspx">Community Centers</a></li>
<li><a href="http://www.dallasculture.org/culturalFacilities.asp" target="_blank">Cultural Centers</a></li>
<li><a href="http://dallaslibrary2.org/hours.php" target="_blank">Libraries</a></li>
<li><a href="http://www.dallasparks.org/" target="_blank">Parks and Recreations</a></li>
<li><a href="/departments/sanitation/Pages/default.aspx">Sanitation Services</a></li>
<li><a href="/Pages/transportation.aspx">Transportation</a></li>
</ul>
</div>
</div>
<div class="tab-block">
<a href="#resident-safety" class="list-group-item" role="menuitem"><h4>Public Safety</h4></a>
<div class="bhoechie-tab-content" id="resident-safety">
<ul class="bhoechie-links-content" id="second-safety">
<li><a href="//www.dallaspolice.net/" target="_blank">Dallas Police</a></li>
<li><a href="/departments/fire-rescue/">Dallas Fire</a></li>
<li><a href="http://www.dallaspolice.net/communitys" target="_blank">Community Policing</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx">Courts</a></li>
<li><a href="http://www.dallaspolice.net/resource/dpd_crimereport" target="_blank">Crime Reports</a></li>
<li><a href="http://www.dallaspolice.net/division/southwest/crimewatch" target="_blank">Crime Watch</a></li>
<li><a href="/departments/officeemergencymanagement/Pages/default.aspx" target="_blank">Emergency Management</a></li>
<li><a href="/departments/officeemergencymanagement/Pages/Get-Prepared.aspx">Emergency Preparedness</a></li>
<li><a href="http://www.dallasfirerescue.com/inspections_investigations_prevention.html" target="_blank">Fire Prevention Program</a></li>
</ul>
</div>
</div>
<div class="tab-block">
<a href="#resident-assistance" class="list-group-item" role="menuitem"><h4>State Assistance</h4></a>
<div class="bhoechie-tab-content" id="resident-assistance">
<ul class="bhoechie-links-content column-count-1" id="second-assistance">
<li><a href="https://www.211texas.org/" target="_blank" aria="2 1 1 Texas Website">2-1-1 Texas Website</a></li>
<li><a href="https://www.211texas.org/about-2-1-1/" target="_blank" aria="About 2 1 1 Texas">About 2-1-1 Texas</a></li>
<li><a href="https://yourtexasbenefits.com/" target="_blank">Your Texas Benefits</a></li>
<li><a href="https://yourtexasbenefits.hhsc.texas.gov/programs/snap" target="_blank">SNAP (Food Stamps)</a></li>
<li><a href="https://texaswic.org/" target="_blank">WIC (Women, Infants, and Children)</a></li>
<li><a href="https://yourtexasbenefits.hhsc.texas.gov/programs/tanf" target="_blank">TANF (Temporary Assistance to Needy Families)</a></li>
<li><a href="https://yourtexasbenefits.hhsc.texas.gov/programs/health" target="_blank">Health Care</a></li>
</ul>
</div>
</div>
<!-- <div class="bhoechie-tab col-lg-8 col-md-8"> -->
</div>
</div>
</div>
</div>
</div>
</li>
<li><a href="/Pages/visitor.aspx" class="first-direct-link">Visitor</a></li>
<li>
<div>
<button class="dropdown-toggle" type="button" id="second-dropdown2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Business</button>
<div class="dropdown-menu" aria-labelledby="second-dropdown1" id="business-dropdown">
<a href="/business/Pages/default.aspx" class="goto-homepage"><span>Business Home</span></a>
<div class="col-lg-8 col-md-8 vertical-tab" role="menu">
<div class="bhoechie-tab-menu">
<!-- <div class="col-lg-5 col-md-5 bhoechie-tab-menu"> -->
<div class="list-group">
<div class="tab-block">
<a href="#business-permit" class="list-group-item active" role="menuitem"><h4>Licenses and Permits</h4></a>
<div class="bhoechie-tab-content active" id="business-permit">
<ul class="bhoechie-links-content column-count-1" id="second-permits">
<li><a href="/departments/sustainabledevelopment/buildinginspection/Pages/index.aspx">Building Permits and Inspections</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_licenses.aspx">Business and Vendor Licenses</a></li>
<li><a href="https://dallascityhall.bonfirehub.com/" target="_blank">City Vendor Registration</a></li>
<li><a href="https://www.dallasfilmcommission.com/" target="_blank">Dallas Film Commission</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_permits.aspx">Fire Prevention and Pool Permits</a></li>
<li><a href="/departments/codecompliance/Admin1/ApplyforaPermit/Pages/FoodEstablishment.aspx">Food Service Permits</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Hotel Occupancy Tax (HOT) Registration</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Short-Term Rentals (HOT) Registration</a></li>
</ul>
</div>
</div>
<div class="tab-block">
<a href="#business-small" class="list-group-item" role="menuitem"><h4>Small Business</h4></a>
<div class="bhoechie-tab-content" id="business-small">
<ul class="bhoechie-links-content column-count-1" id="second-small">
<li><a href="http://www.bbb.org/north-central-texas/" target="_blank">Better Business Bureau in Dallas</a></li>
<li><a href="http://www.dallaschamber.org/" target="_blank">Dallas Regional Chamber</a></li>
<li><a href="https://www.dallasecodev.org/business/small-business/" target="_blank">How to Start a New Business</a></li>
<li><a href="https://www.sba.gov/" target="_blank">Small Business Administration</a></li>
</ul>
</div>
</div>
<div class="tab-block">
<a href="#business-development" class="list-group-item" role="menuitem"><h4>Development</h4></a>
<div class="bhoechie-tab-content" id="business-development">
<ul class="bhoechie-links-content column-count-1" id="second-development">
<li><a href="/departments/sustainabledevelopment/buildinginspection/Pages/index.aspx">Building Inspection</a></li>
<li><a href="/departments/procurement/Pages/construction_notices.aspx">Construction Notices</a></li>
<li><a href="https://www.dallasecodev.org/" target="_blank">Dallas Economic Development</a></li>
<li><a href="https://www.dallasecodev.org/incentives/tifs-pids/dallas-downtown-improvement-district/" target="_blank">Downtown Improvement District</a></li>
<li><a href="/departments/pnv/strategic-planning/Pages/forward-dallas.aspx">ForwardDallas!</a></li>
<li><a href="/departments/pnv/Pages/current-planning.aspx">Zoning - Current Planning</a></li>
<li><a href="https://developmentweb.dallascityhall.com/publiczoningweb/" target="_blank">Zoning Interactive Maps</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4 col-md-4" id="busniess-image-content">
<a href="/departments/procurement" target="_blank"><img src="/SiteCollectionImages/COD_images/Doing-Business-with-the-City.jpg" unselectable="on" alt="" role="presentation"><h4>Doing Business With the City</h4></a>
<a class="last-focus" href="https://vgov.dallascityhall.com/"><img alt="vGov Logo" src="/SiteCollectionImages/COD_images/vGov.jpg" unselectable="on"></a>
</div>
</div>
</div>
</li>
<li>
<div>
<button class="dropdown-toggle" type="button" id="second-dropdown3" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Government</button>
<div class="dropdown-menu" aria-labelledby="second-dropdown3" id="government-dropdown">
<a href="/government/Pages/default.aspx" class="goto-homepage"><span>Government Home</span></a>
<div class="col-lg-12 col-md-12 vertical-tab" role="menu">
<div class="bhoechie-tab-menu">
<div class="list-group">
<div class="tab-block">
<a href="#government-mayor" class="list-group-item active" role="menuitem"><h4>Mayor and City Council</h4></a>
<div class="bhoechie-tab-content council-tab active" id="government-mayor">
<div class="bhoechie-links-content">
<ul id="second-citymayor">
<li><a href="/government/citymayor/Pages/default.aspx"><span class="notranslate">Eric Johnson</span><h5>MAYOR</h5></a></li>
</ul>
<hr>
<ul class="council-list" id="second-councils">
<li><a href="/government/citycouncil/district1/Pages/default.aspx">1. <span class="notranslate">Chad West</span></a></li>
<li><a href="/government/citycouncil/district2/Pages/default.aspx">2. <span class="notranslate">Jesse Moreno</span></a></li>
<li><a href="/government/citycouncil/district3/Pages/default.aspx">3. <span class="notranslate">Zarin D. Gracey</span></a></li>
<li><a href="/government/citycouncil/district4/Pages/default.aspx">4. <span class="notranslate">Carolyn King Arnold</span></a></li>
<li><a href="/government/citycouncil/district5/Pages/default.aspx">5. <span class="notranslate">Jaime Resendez</span></a></li>
<li><a href="/government/citycouncil/district6/Pages/default.aspx">6. <span class="notranslate">Omar Narvaez</span></a></li>
<li><a href="/government/citycouncil/district7/Pages/default.aspx">7. <span class="notranslate">Adam Bazaldua</span><h5>DEPUTY MAYOR PRO TEM</h5></a></li>
<li><a href="/government/citycouncil/district8/Pages/default.aspx">8. <span class="notranslate">Tennell Atkins</span><h5>MAYOR PRO TEM</h5></a></li>
<li><a href="/government/citycouncil/district9/Pages/default.aspx">9. <span class="notranslate">Paula Blackmon</span></a></li>
<li><a href="/government/citycouncil/district10/Pages/default.aspx">10. <span class="notranslate">Kathy Stewart</span></a></li>
<li><a href="/government/citycouncil/district11/Pages/default.aspx">11. <span class="notranslate">Jaynie Schultz</span></a></li>
<li><a href="/government/citycouncil/district12/Pages/default.aspx">12. <span class="notranslate">Cara Mendelsohn</span></a></li>
<li><a href="/government/citycouncil/district13/Pages/default.aspx">13. <span class="notranslate">Gay Donnell Willis</span></a></li>
<li><a href="/government/citycouncil/district14/Pages/default.aspx">14. <span class="notranslate">Paul E. Ridley</span></a></li>
</ul>
</div>
</div>
</div>
<div class="tab-block">
<a href="#government-manage" class="list-group-item" role="menuitem"><h4>City Management</h4></a>
<div class="bhoechie-tab-content council-tab" id="government-manage">
<div class="bhoechie-links-content">
<ul id="second-citymanager">
<li><a href="https://dallascityhall.com/government/citymanager/Pages/City-Manager.aspx"><span class="notranslate">Kimberly Bizor Tolbert</span><h5>City Manager (I)</h5></a></li>
</ul>
<hr>
<ul class="council-list" id="second-managers">
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Dominique-Artis.aspx"><span class="notranslate">Dominique Artis</span><h5>Chief of Public Safety (I)</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Dev-Rastogi.aspx"><span class="notranslate">Dev Rastogi</span><h5>Assistant City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/liz-cedillo-pereira.aspx"><span class="notranslate">Liz Cedillo-Pereira</span><h5>Assistant City Manager </h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Alina-Ciocan.aspx"><span class="notranslate">Alina Ciocan</span><h5>Assistant City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Robin-Bentley.aspx"><span class="notranslate">Robin Bentley</span><h5>Assistant City Manager (I)</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Donzell-Gipson.aspx"><span class="notranslate">Donzell Gipson</span><h5>Assistant City Manager (I)</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/jack-ireland.aspx"><span class="notranslate">Jack Wade Ireland, Jr.</span><h5>Chief Financial Officer</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Elizabeth-Saab.aspx"><span class="notranslate">Elizabeth Saab</span><h5>Chief of Strategy, Engagement, and Alignment (I)</h5></a></li>
</ul>
</div>
</div>
</div>
<div class="tab-block">
<a href="#government-officials" class="list-group-item" role="menuitem"><h4>Other City Officials</h4></a>
<div class="bhoechie-tab-content official-tab" id="government-officials">
<ul class="col-lg-6 col-md-6 bhoechie-links-content official-content column-count-1" id="second-officials">
<li><a href="http://www.dallascityattorney.com/"><span class="notranslate">Tammy L. Palomino</span><h5>CITY ATTORNEY</h5></a></li>
<li><a href="/departments/auditor/Pages/default.aspx"><span class="notranslate">Mark S. Swann</span><h5>CITY AUDITOR</h5></a></li>
<li><a href="/government/citysecretary/Pages/default.aspx"><span class="notranslate">Bilierae Johnson</span><h5>CITY SECRETARY</h5></a></li>
<li><a href="/departments/judiciary/Pages/default.aspx"><span class="notranslate">Preston Robinson</span><h5>ADMINISTRATIVE JUDGE</h5></a></li>
</ul>
<div class="col-lg-6 col-md-6 government-image-content">
<ul class="list-unstyled column-count-1">
<li><a href="/departments/humanresources/employment/Pages/default.aspx"><img alt="Dallas Jobs Logo" src="/SiteCollectionImages/COD_images/Jobs-Icon.png" unselectable="on"><span>Jobs</span></a></li>
<li>
<a class="last-focus" href="/government/Pages/contact_mcc.aspx"><img alt="City Council Logo" src="/SiteCollectionImages/COD_images/City-Council-Icon.png" unselectable="on"><span>Contact the Mayor<br>& City Council</span></a>
</li>
<li>
</li>
</ul>
</div>
</div>
</div>
<div class="tab-block">
<a href="#government-meetings" class="list-group-item" role="menuitem"><h4>Public Meetings</h4></a>
<div class="bhoechie-tab-content official-tab" id="government-meetings">
<ul class="col-lg-6 col-md-6 bhoechie-links-content official-content column-count-1" id="second-meetings">
<li><a href="/government/Pages/Council-Agenda.aspx">Council Agendas</a></li>
<li><a href="/government/Pages/CouncilBriefings.aspx">Council Briefings</a></li>
<li><a href="/government/Pages/Committee-Meetings.aspx">Committee Briefings</a></li>
<!--<li><a href="/government/Pages/archive.aspx">Council & Committee Archive</a></li>-->
<li><a href="https://www.dallasopendata.com/Government/Dallas-City-Council-Voting-Record/ts5d-gdq6" target="_blank">Council Voting Record</a></li>
<li><a href="/government/meetings/Pages/default.aspx">Boards & Commissions Meetings</a></li>
<li><a href="/government/citysecretary/Pages/Public-Meetings.aspx">City Secretary's Public Meetings</a></li>
</ul>
<div class="col-lg-6 col-md-6 government-image-content">
<ul class="list-unstyled column-count-1">
<li><a href="/departments/humanresources/employment/Pages/default.aspx"><img alt="Dallas Jobs Logo" src="/SiteCollectionImages/COD_images/Jobs-Icon.png" unselectable="on"><span>Jobs</span></a></li>
<li>
<a class="last-focus" href="/government/Pages/contact_mcc.aspx"><img alt="City Council Logo" src="/SiteCollectionImages/COD_images/City-Council-Icon.png" unselectable="on"><span>Contact the Mayor<br>& City Council</span></a>
</li>
<li>
</li>
</ul>
</div>
</div>
</div>
<div class="tab-block">
<a href="#government-resources" class="list-group-item" role="menuitem"><h4>City Hall Resources</h4></a>
<div class="bhoechie-tab-content official-tab" id="government-resources">
<ul class="col-lg-6 col-md-6 bhoechie-links-content official-content column-count-1" id="second-resources">
<li><a href="http://annualreport.dallascityhall.com/" target="_blank">Annual Report</a></li>
<li><a href="/government/Pages/city-codes.aspx">City Codes</a></li>
<li><a href="https://www.dallasecodev.org/" target="_blank">Dallas Economic Development</a></li>
<li><a href="/departments/Pages/department4.aspx">Departments</a></li>
<li><a href="https://gis.dallascityhall.com/" target="_blank">Enterprise GIS</a></li>
<li><a href="http://financialtransparency.dallascityhall.com/" target="_blank">Financial Transparency</a></li>
<li><a href="/calendar/">Calendar</a></li>
</ul>
<div class="col-lg-6 col-md-6 government-image-content">
<ul class="list-unstyled column-count-1">
<li><a href="/departments/humanresources/employment/Pages/default.aspx"><img alt="Dallas Jobs Logo" src="/SiteCollectionImages/COD_images/Jobs-Icon.png" unselectable="on"><span>Jobs</span></a></li>
<li>
<a class="last-focus" href="/government/Pages/contact_mcc.aspx"><img alt="City Council Logo" src="/SiteCollectionImages/COD_images/City-Council-Icon.png" unselectable="on"><span>Contact the Mayor<br>& City Council</span></a>
</li>
<li>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</li>
<li><a href="http://www.dallascitynews.net/" target="_blank" class="first-direct-link">News</a></li>
<li id="dallas311-menu">
<div>
<button class="dropdown-toggle" type="button" id="second-dropdown4" data-toggle="dropdown" aria-haspopup="true" aria-label="3 1 1">311</button>
<div class="dropdown-menu" aria-labelledby="second-dropdown4" id="dallas311-container">
<a href="/services/311/Pages/default.aspx" class="goto-homepage" aria-label="3 1 1 home"><span>311 Home</span></a>
<div class="col-lg-12 col-md-12 vertical-tab" role="menu">
<div class="dallas311 col-lg-6 col-md-6">
<div>
<label for="text311">Check Service Request Status</label>
<input type="text" placeholder="Service Request # (i.e. 19-00000001)" id="text311" class="form-control textField" onkeydown="search311(event)" aria-label="3 1 1 Service Request number to search">
<button aria-label="3 1 1 search" type="button" class="search-go-btn search-311" onclick="start311search()" role="menuitem"></button>
</div>
<div class="buttons">
<a class="btn btn-default" target="_blank" href="https://dallascrm.my.site.com/public/s/" role="menuitem">Request a Service</a>
<a class="btn btn-default" href="/services/311" aria-label="About 3 1 1" role="menuitem">About 311</a>
</div>
</div>
<div class="col-lg-6 col-md-6 dallas311 bhoechie-links-content">
<h4>Frequently Requested Services</h4>
<ul class="column-count-1" id="second-311" role="menuitem">
<li>Code Concerns</li>
<li>Sanitation Roll Cart</li>
<li>Missed Garbage</li>
<li>Street Repair</li>
<li>Parking – Report a Violation</li>
<li>Animal Loose</li>
<li>Dead Animal Pick Up</li>
<li>24 Hour Parking</li>
<li>Water/Wastewater Line Locate</li>
</ul>
</div>
</div>
</div>
</div>
</li>
<li class="search">
<div>
<button class="dropdown-toggle" type="button" id="second-dropdown5" data-toggle="dropdown" aria-haspopup="true" aria-label="search"><img id="search-open-img" alt="Open Search"
src="/SiteCollectionImages/COD_images/Icons-Standard-Search-white.svg"><img id="search-close-img" alt="Close Search" src="/SiteCollectionImages/COD_images/large-x-close-white.png"></button>
<div class="dropdown-menu" id="search-container">
<div id="main-search">
<label for="searchinput">Search</label>
<input type="text" aria-label="search text" placeholder="I am looking for...." id="searchinput" class="textField" onkeydown="event.keyCode == 13 && goSearch('searchinput')"
autofocus="autofocus"><a tabindex="0" aria-label="search" role="button" class="search-go-btn" onkeydown="event.keyCode == 13 && goSearch('searchinput')" onclick="goSearch('searchinput')"></a>
</div>
</div>
</div>
</li>
</ul>
<div id="speak-narrator" class="sr-only" role="alert" aria-live="assertive"></div>
<script>
function goSearch(source) {
if (!$("#" + source).val()) return;
var newurl = '//dallascityhall.com/Pages/searchresults.aspx?k=' + $("#" + source).val();
window.location = newurl;
}
function showMobileSearch(isShow) {
if (isShow) {
$('#greenNav').hide();
$('#main-search-mobile').show(300);
$('#search-open-icon').hide();
$('#search-close-icon').show();
$("#main-search-mobile input").focus();
} else {
$('#main-search-mobile').hide(100);
$('#greenNav').show();
$('#search-close-icon').hide();
$('#search-open-icon').show(0);
}
}
</script>
</div>
</div>
<!--city logo end-->
<!--extendednav start-->
<!--extendednav end-->
</div>
</div>
<script type="text/javascript" src="/Style Library/jquery.fancybox.pack.js"></script>
<script src="/Style Library/js/jquery.dlmenu.js" type="text/javascript"></script>
<script type="text/javascript">
$.ajax({
url: "/government/citymanager/_api/web/lists/getbytitle('Executive%20Leadership%20Teams')/items?$orderby=Order0",
method: "GET",
headers: {
"Accept": "application/json; odata=verbose"
},
success: function(data) {
var list = data.d.results;
var htmlStr = "",
htmlMobile = '<li class="dl-back"><a href="#" aria-label="Go back to government menu">City Management</a></li>';
for (var i = 0; i < list.length; i++) {
htmlStr += '<li><a href="' + list[i].Page.Url + '"><span class="notranslate">' + list[i]['First_x0020_Name'] + ' ' + list[i].Title + '</span><h5>' + list[i]['Job_x0020_Title'] + '</h5></a></li>';
htmlMobile += '<li><a href="' + list[i].Page.Url + '"><span>' + list[i]['First_x0020_Name'] + ' ' + list[i].Title + '</span><h5>' + list[i]['Job_x0020_Title'] + '</h5></a></li>';
if (i == 0) {
$('#second-citymanager').html(htmlStr);
htmlStr = "";
}
if (i == list.length - 1) {
$('#second-managers').html(htmlStr);
$('#mobile-managers').html(htmlMobile);
$('#dl-menu').dlmenu({
animationClasses: {
in: 'dl-animate-in-2',
out: 'dl-animate-out-2'
}
});
}
}
}
});
/*
$(function() {
$( '#dl-menu' ).dlmenu({
animationClasses : { in : 'dl-animate-in-2', out : 'dl-animate-out-2' }
});
});
*/
$(document).ready(function() {
$('a.fancybox').attr("href", "/Pages/dallasfeedback.aspx?pageurl=" + window.location);
});
$('a.fancybox').fancybox({
helpers: {
overlay: {
closeClick: false
}
},
'overlayOpacity': 0.6,
autoSize: true,
autoDimensions: true,
'transitionIn': 'elastic',
'transitionOut': 'elastic'
});
function focusInput(target) {
if (target.css('display') == 'block') target.find("input").focus();
}
function toggleAriaExpanded(btn) {
var value = $(btn).attr("aria-expanded");
if (value == "true") value = "false"
else value = "true"
$(btn).attr("aria-expanded", value);
}
jQuery(function($) {
$(".dropdown-menu").bind('click', function(event) {
event.stopPropagation();
});
$("#second-dropdown5").on('click', function(event) {
var target = $(this).siblings('div.dropdown-menu');
if (target && target.find("input").length > 0) {
setTimeout(function() {
focusInput(target);
}, 400)
}
});
$("button.dl-trigger").on('click', function(event) {
if ($(this).hasClass("dl-active")) {
var target = $(this).siblings('ul.dl-menuopen');
target.find("a").attr('tabindex', -1);
} else {
var target = $(this).siblings('ul.dl-menu');
target.find("a").attr('tabindex', 0);
}
});
$("#skipNav").on({
focusin: function(event) {
$("#outerWrapper").height('180px');
$("#innerWrapper").css({
top: 70,
position: 'relative'
});
},
focusout: function(event) {
$("#outerWrapper").height('auto');
$("#innerWrapper").css({
top: 0
});
}
});
});
jQuery(function($) {
$("ul li a.first-direct-link").on({
focus: function(event) {
$("ul li div.open").removeClass('open');
}
});
$('#s4-bodyContainer').on({
focus: function(event) {
$("ul li div.open").removeClass('open');
}
});
});
jQuery(function($) {
$("#textNav li div.open").on({
focusout: function(event) {
alert("out");
$(this).removeClass('open');
}
/*,
keypress:function (event) {
var overlaybody = $('#overlay');
if (!overlaybody.length) {
$('body').append('<div id="overlay"> </div>');
}
$("#textNav div.dropdown-menu").addClass('hide-dropdown');
$("#textNav div.dropdown-menu", this).removeClass('hide-dropdown');
$("#textNav div.dropdown-menu",this).addClass('show-dropdown');
}*/
});
$("#seconMainNav .dropdown-toggle").on({
click: function(event) {
var target = $(this).siblings('div.dropdown-menu');
if (target) {
target.find("div.tab-block .list-group-item").removeClass('active');
target.find("div.tab-block .bhoechie-tab-content").removeClass('active');
target.find("div.tab-block:first .list-group-item").addClass('active');
target.find("div.tab-block:first .bhoechie-tab-content").addClass('active');
target.find("div.tab-block:first .bhoechie-tab-content").find('li a').attr('tabindex', -1);
}
toggleAriaExpanded(this);
},
keypress: function(event) {
var target = $(this).siblings('div.dropdown-menu');
if (target) {
target.find("div.tab-block .list-group-item").removeClass('active');
target.find("div.tab-block .bhoechie-tab-content").removeClass('active');
target.find("div.tab-block:first .list-group-item").addClass('active');
target.find("div.tab-block:first .bhoechie-tab-content").addClass('active');
target.find("div.tab-block:first .bhoechie-tab-content").find('li a').attr('tabindex', -1);
}
toggleAriaExpanded(this);
}
});
$("#textNav .dropdown-toggle").on({
click: function(event) {
toggleAriaExpanded(this);
},
keypress: function(event) {
toggleAriaExpanded(this);
}
});
});
$(function() {
$("a.list-group-item").on({
focusin: function(e) {
e.preventDefault();
var target = $(this);
if (target.hasClass("active")) {
target.siblings('.bhoechie-tab-content').find('li a').attr('tabindex', -1);
}
/*alert("keypress"); */
e.stopPropagation();
},
keypress: function(e) {
if (e.keyCode !== 13) return;
e.preventDefault();
var target = $(this);
$('a.list-group-item').removeClass("active");
$('.bhoechie-tab-content').removeClass("active");
target.addClass("active");
target.siblings('.bhoechie-tab-content').addClass("active");
target.siblings('.bhoechie-tab-content').find('li a').attr('tabindex', 0);
/*target.siblings('.bhoechie-tab-content').find('li a:first').focus();
*/
e.stopPropagation();
},
click: function(e) {
e.preventDefault();
var target = $(this);
$('a.list-group-item').removeClass("active");
$('.bhoechie-tab-content').removeClass("active");
target.addClass("active");
target.siblings('.bhoechie-tab-content').addClass("active");
target.siblings('.bhoechie-tab-content').find('li a').attr('tabindex', 0);
/* target.siblings('.bhoechie-tab-content').find('li a:first').focus();*/
e.stopPropagation();
}
});
});
var widgetCSS = "" + ".goog-te-menu-frame, .goog-te-menu2{ width: 100% !important; height:350px !important; position: relative !important; top: 35px !important; overflow: scroll; box-sizing: border-box !important;} " +
".goog-te-menu2 { width: 100% !important; height: 350px !important; overflow: auto !important;} " +
".goog-te-menu2 table, .goog-te-menu2 table tbody, .goog-te-menu2 table tbody tr { width: 100% !important; height: 100% !important;} " + ".goog-te-menu2 table tbody tr td { width: 100% !important; } " +
".goog-te-menu2 *{ font-size: 13px !important;} " + ".goog-te-menu2-colpad{ height: 0;} " + ".goog-te-menu2 table tbody tr td .goog-te-menu2-colpad { visibility: none !important;} " +
"@media only screen and (max-width: 991px){.goog-te-menu2 table tbody tr td { display: block !important;}}";
function googleTranslateStyling() {
if (!$(".goog-te-menu-frame").length || !$('.goog-te-menu-frame').contents().find('head').length) setTimeout(googleTranslateStyling, 1000);
var s = document.createElement("style");
s.innerHTML = widgetCSS;
s.type = "text/css";
var head = $('.goog-te-menu-frame').contents().find('head')[0];
if (head) head.appendChild(s);
}
$(document).ready(function() {
googleTranslateStyling();
});
function start311search() {
if (!$("#text311").val()) return;
//var newurl = 'https://dallascrm.force.com/public/requests/' + $("#text311").val();
var newurl = 'https://dallascrm.my.site.com/public/s/service-request-details?c__srNumber=' + $("#text311").val() + '&c__prePageName=Home';
window.open(newurl, '_blank');
}
function search311button() {
if (!$("#check-service-request").val()) return;
var newurl = 'https://dallascrm.my.site.com/public/s/service-request-details?c__srNumber=' + $("#check-service-request").val() + '&c__prePageName=Home';
window.open(newurl, '_blank');
}
</script>
<script src="/SiteAssets/theme/js/script.js"></script>
</nav>
</div>
</div>
<div id="s4-bodyContainer" role="main">
<!--start s4bodycontainer -->
<div id="mainBodyStart">
<!--placeholdermain-->
<span id="DeltaPlaceHolderMain">
<div class="full-width">
<div data-name="WebPartZone">
<div>
<div class="ms-webpart-zone ms-fullWidth">
<div id="MSOZoneCell_WebPartctl00_ctl48_g_9639c52b_9fed_44d5_8184_d5493328b5c5" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical ms-fullWidth ">
<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
<div webpartid="9639c52b-9fed-44d5-8184-d5493328b5c5" haspers="false" id="WebPartctl00_ctl48_g_9639c52b_9fed_44d5_8184_d5493328b5c5" width="100%" class="ms-WPBody noindex " allowdelete="false" allowexport="false" style="">
<div id="ctl00_ctl48_g_9639c52b_9fed_44d5_8184_d5493328b5c5">
<script type="text/javascript">
$(document).ready(function() {
// Hide the "view" div.
var count = $("#alertsul").children().length;
if (count != 0) {
$('.content').css({
'display': 'block'
});
$('.alertdiv').css({
'display': 'block'
});
if ($('.sa').css('display') == 'block') // if alertdisplayval=1 none
{
if ($('#sa-btn').hasClass('close')) $('#sa-btn').toggleClass('open');
}
$('div.slide').click(function() {
// When clicked, toggle the "view" div.
$('.sa').slideToggle(400);
return false;
});
}
});
function changeClass() {
if ($('#sa-btn').hasClass('close')) {
$('#sa-btn').toggleClass('open');
} else {
$('#sa-btn').toggleClass('close');
}
}
</script>
<div class="service-alert-bar content" style="display: block;">
<div id="ctl00_ctl48_g_9639c52b_9fed_44d5_8184_d5493328b5c5_sa" class="service-alert-content container sa" style="display:none;">
<ul class="unstyled" id="alertsul">
<li>
<a href="http://dal.city/2024CommunicationsSurvey" target="_blank">Hey Dallas! Let’s talk: how can we improve our communication? Let us know at dal.city/2024CommunicationsSurvey. ¡Hola Dallas! Hablemos: ¿cómo podemos mejorar nuestra comunicación? Dinos tu opinión en dal.city/2024CommunicationsSurvey</a>
</li>
</ul>
</div>
</div>
<div class="alertdiv" style="display: block;">
<div class="slide sa-btn">
<a href="#" id="sa-btn" class="btn btn-service-alert close slide" onclick="changeClass()">Public Alerts</a>
</div>
</div>
</div>
<div class="ms-clear"></div>
</div>
</div>
<div class="ms-PartSpacingVertical"></div>
</div>
<div id="MSOZoneCell_WebPartctl00_ctl48_g_27d45827_2294_4ee0_ba22_150935f862c3" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical ms-fullWidth ">
<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
<div webpartid="27d45827-2294-4ee0-ba22-150935f862c3" haspers="false" id="WebPartctl00_ctl48_g_27d45827_2294_4ee0_ba22_150935f862c3" width="100%" class="ms-WPBody noindex " allowdelete="false" allowexport="false" style="">
<div id="ctl00_ctl48_g_27d45827_2294_4ee0_ba22_150935f862c3">
<div class="ms-rte-embedcode ms-rte-embedwp">
<div id="hero">
<div id="hero-cta">
<div class="hero-cta-position">
<h1 class="cta-welcome">Welcome to Dallas</h1>
<h2 class="cta-subtitle">Committed To "Service First" Excellence</h2><a id="explore" href="#popularlinks" aria-label="Jump To Main Content"><span class="scroll-down"></span></a>
</div>
</div>
</div>
<!--scroll-->
<script type="text/javascript">
//<![CDATA[
$(document).on('click', 'a[id$="explore"]', function(e) {
setPosition("#popularlinks", e);
});
function setPosition(section, e) {
$("#s4-workspace").animate({
scrollTop: $(section).offset().top
}, 800);
e.preventDefault();
}
</script>
<script src="https://use.typekit.net/dsj4rmy.js"></script>
<script>
try {
Typekit.load({
async: true
});
} catch (e) {}
</script>
<style>
.cta-welcome {
font-family: ProximaNova-Bold, sans-serif;
font-size: 68px;
color: #FFFFFF;
letter-spacing: 4px;
line-height: 96px;
text-shadow: -3px -1px 5px rgba(0, 0, 0);
font-style: normal !important;
text-transform: uppercase;
}
.cta-subtitle {
font-family: ProximaNova-Semibold, 'Lato', sans-serif;
font-size: 22px;
color: #FFFFFF;
letter-spacing: 3px;
line-height: 31px;
text-shadow: -2px -2px 3px rgb(0 0 0);
text-transform: uppercase;
}
#hero-cta h1 {
padding-top: 50px;
}
#hero-cta .scroll-down {
margin: 0 !important;
}
#hero-cta {
padding: 0 !important;
position: relative;
}
#hero {
height: 300px;
}
.hero-cta-position {
position: absolute;
left: 50%;
border-radius: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
width: 100%;
}
/* Custom, iPhone Retina */
@media only screen and (min-width : 320px) {
.hero-cta-position {
position: absolute;
bottom: 25px;
width: 90%;
}
}
/* Extra Small Devices, Phones */
@media only screen and (min-width : 480px) {
.hero-cta-position {
position: absolute;
bottom: 70px;
}
}
/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {
.hero-cta-position {
position: absolute;
bottom: 35px;
}
}
</style>
</div>
</div>
<div class="ms-clear"></div>
</div>
</div>
<div class="ms-PartSpacingVertical"></div>
</div>
<div id="MSOZoneCell_WebPartctl00_ctl48_g_4b4ea764_091e_4f61_90c4_ec841f9d576e" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical ms-fullWidth ">
<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
<div webpartid="4b4ea764-091e-4f61-90c4-ec841f9d576e" haspers="false" id="WebPartctl00_ctl48_g_4b4ea764_091e_4f61_90c4_ec841f9d576e" width="100%" class="ms-WPBody noindex " allowdelete="false" allowexport="false" style="">
<div id="ctl00_ctl48_g_4b4ea764_091e_4f61_90c4_ec841f9d576e">
<div class="ms-rte-embedcode ms-rte-embedwp">
<div id="homepage">
<div class="col-xs-12 text-center" style="padding-top:20px;">
<h2 style="color:#666; font-family:'Lato';font-size:22px;font-weight:normal;padding:15px 0;margin-bottom:30px;">Our core values are Empathy, Ethics, Excellence, Engagement, and Equity</h2>
</div>
<div id="popularlinks">
<div class="container">
<!--column one-->
<div class="col-3">
<div id="todayiwantto">
<ul id="todayiwantto-ul">
<!-- <li class="pay"><a class="iwanttomodal btn btn-md" href="#pay">Pay</a></li>
<li class="find"><a class="iwanttomodal btn btn-md" href="#find">Find</a></li>
<li class="request"><a class="iwanttomodal btn btn-md" href="#request">Request</a></li> -->
<li class="pay"><button type="button" class="btn btn-md" onclick="openModal(event, 'Pay','pay-contents');">Pay</button></li>
<li class="find"><button type="button" class="btn btn-md" onclick="openModal(event, 'Find','find-contents');">Find</button></li>
<li class="request"><button type="button" class="btn btn-md" onclick="openModal(event, 'Request','request-contents');">Request</button></li>
<li class="open-data"><a href="/Pages/Dallas-Datahub.aspx" class="btn btn-md">Dallas Data Hub</a></li>
<li><a href="https://dallascityhall.com/departments/budget/financialtransparency/" target="_blank" id="finantial-transparency" class="btn btn-md">Financial Transparency</a></li>
<!--<li class="open-data"><a class="iwanttomodal btn btn-md" href="#opendata">Open Data</a></li>
-->
<li><a href="https://dallastx.govqa.us/WEBAPP/_rs/(S(avfiv4hn1rrrqmlj54tmazfp))/SupportHome.aspx?sSessionID=" target="_blank" id="open-records" class="btn btn-md">Open Records Request</a></li>
</ul>
</div>
</div>
<!--column one-->
<div class="col-3">
<div id="officialpostings" class="official-postings list-items" style="overflow:hidden;">
<h3 style="color: rgb(68, 68, 68)">Official Postings</h3>
<ul class="hm-box-links">
<li><a href="/departments/budget/financialtransparency/Pages/Upcoming-Budget.aspx" id="budget">FY 2024-25 Proposed Budget</a></li>
<li><a href="https://cityofdallas.legistar.com/" id="council-meetings" target="_blank">City Meetings</a></li>
<li><a href="/government/Boards-and-Commissions/" id="boards-and-commissions">Boards & Commissions</a></li>
<li><a href="/government/citycouncil/Pages/council-attendance.aspx" id="council-attendance">Council Attendance</a></li>
<li><a href="/calendar/" id="city-calendar">City Calendar</a></li>
<li><a href="/Pages/public-notices.aspx" id="public-notices">Public Notices</a></li>
<li><a href="/government/citysecretary/Pages/Public-Meetings.aspx" id="open-meetings">Open Meetings</a></li>
<li><a href="/government/citymanager/Pages/council-memos.aspx" id="council-memos">City Manager Memos</a></li>
<li>
<a href="/Pages/watch-city-meetings-online.aspx" class="swagit btn" style="background-color:rgb(3,63,136); padding:11px 10px; text-align:center; color:white;margin:0;" id="city-meeting-video">Watch City Meetings Online</a>
</li>
</ul>
</div>
</div>
<div class="col-3 col-end">
<div id="officialpostings2" class="official-postings list-items">
<h3 style="color: rgb(68, 68, 68)">Quick Links</h3>
<ul class="hm-box-links">
<li><a href="/departments/waterutilities" id="quick-links-water">Water Utilities</a></li>
<li><a href="/departments/sanitation" id="quick-links-sanitation">Trash Pickup</a></li>
<li><a href="/departments/sustainabledevelopment/buildinginspection/Pages/index.aspx" id="quick-links-building-permits-inspections">Building Permits & Inspections</a></li>
<li><a href="/departments/humanresources/employment/Pages/default.aspx" id="quick-links-jobs">Jobs</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx" id="quick-links-traffic-tickets">Traffic & Civil Tickets</a></li>
<li><a href="/departments/courtdetentionservices/Pages/Warrant-Info.aspx" id="quick-links-courts">Court Warrants & Bonds</a></li>
<li><a href="/departments/dallas-animal-services/Pages/default.aspx" id="quick-links-animal-services">Animal Services</a></li>
<!--<li><a href="https://dallascityhall.com/departments/officeemergencymanagement/Pages/Hazmap.aspx" id="quick-links-211" target="_blank">Public Survey: Hazard Mitigation<br/>Action Plan</a></li>-->
</ul>
</div>
</div>
</div>
<div class="clearfix"></div>
</div>
<style>
@media (min-width: 768px) {
.row.equal {
display: flex;
flex-wrap: wrap;
}
}
/* add this for full height column content
.equal > div[class*='col-'] {
display: flex;
flex-direction: column;
}
*/
#s311-left-column {
background-color: #001B3B;
background-image: rgba(0, 0, 0, 0.5), url(https://dallascityhall.com/PublishingImages/static/311-mobile-app-new.jpg);
background-image:
linear-gradient(to top, rgba(0, 27, 59, 0.7), rgba(0, 27, 59, 1)),
url('https://dallascityhall.com/PublishingImages/static/311-mobile-app-new.jpg');
background-size: cover;
background-position: center;
}
#s311-left-column h2 {
color: #04C585;
margin: 0px;
padding: 0px;
font-size: 2rem;
}
#s311-left-column h3 {
color: #ffffff;
margin: 0px;
padding: 0px;
}
#s311-right-column {
background-color: #003F88;
}
#s311-right-column label {
color: white;
}
#s311-right-column h3 {
color: #7EC6FF;
margin: 1rem 0px;
}
#s311-faqs {
list-style-type: none;
margin: 0px;
padding: 0px;
}
#s311-faqs li {
padding: 4px;
}
/*#s311-faqs li a*/
#s311-faqs li {
color: white;
padding: 10px;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
display: block;
font-weight: bold;
}
#s311-faqs li>a:hover,
#s311-faqs li>a:focus {
background-color: #001B3B;
}
#s311-languages {
margin: 0px;
padding: 0px;
list-style-type: none;
color: #001B3B;
text-align: center;
}
#s311-languages h3 {
text-align: center !important;
}
#s311-languages li {
display: inline-block;
padding: 8px 20px 8px 0px;
}
#s311-section-new h3 {
border-bottom: none;
}
</style>
<section unselectable="on" id="s311-section-new">
<div class="row equal" unselectable="on">
<div class="col-xs-12 col-sm-5" id="s311-left-column" unselectable="on">
<div unselectable="on" style="padding: 40px;">
<h2 unselectable="on">311 Service Requests</h2>
<h3 unselectable="on" style="margin-top: 1.1rem;">Request City services and information</h3>
<a target="_blank" href="https://dallascrm.my.site.com/public/s/" unselectable="on" style="margin-top: 1rem; border-radius: 6px; padding: 10px; display: inline-block; background-color: #04c585; color: #001b3b; margin-right: 1rem; font-size: 1.1rem; border: 2px solid #04c585; font-weight: bold;">Request a Service</a>
<br
class="visible-md"><a target="_blank" href="/services/311" unselectable="on" style="padding: 10px; display: inline-block; color: white; margin-right: 1rem; font-size: 1.1rem; border: 2px solid white; border-radius: 6px; margin-top: 1rem; font-weight: bold;">About 311</a>
<a target="_blank" href="https://dallascitydata.dallascityhall.com/views/311CitywideDashboard/311CitywideDashboard?:showAppBanner=false&:display_count=n&:showVizHome=n&:origin=viz_share_link&:refresh=yes&:isGuestRedirectFromVizportal=y&:embed=y" unselectable="on" style="padding: 10px; display: inline-block; color: white; margin-right: 1rem; font-size: 1.1rem; border: 2px solid white; border-radius: 6px; margin-top: 1rem; font-weight: bold;">Dashboard</a>
<div unselectable="on" style="background-color: rgba(255, 160, 0, 0.8); padding: 20px; border-radius: 6px; margin-top: 40px; text-align: center; font-weight: bold;">
<h3 unselectable="on" style="color: #001b3b; font-weight: bold; margin: 1.1rem 0px;">Call 311 in hundreds of languages</h3>
<ul id="s311-languages" unselectable="on">
<li>Llama al 311</li>
<li>311 ကို ခေါ်ဆိုပါ</li>
<li>Piga simu 311</li>
<li>Gọi số 311</li>
<li>311 شمیرې ته زنګ ووهئ</li>
<li>با 311 تماس بگيريد</li>
<li>tumawag sa 311</li>
<li>Ruáingga Koól 311</li>
</ul>
</div>
</div>
</div>
<div class="col-xs-12 col-sm-7" id="s311-right-column" unselectable="on">
<div unselectable="on" style="padding: 40px;">
<h3 unselectable="on">Frequently Requested Services</h3>
<ul class="row" id="s311-faqs" unselectable="on">
<li class="col-lg-4 col-sm-6"> Code Concerns</li>
<li class="col-lg-4 col-sm-6"> Sanitation Roll Cart</li>
<li class="col-lg-4 col-sm-6"> Missed Garbage</li>
<li class="col-lg-4 col-sm-6"> Street Repair</li>
<li class="col-lg-4 col-sm-6"> Parking – Report a Violation</li>
<li class="col-lg-4 col-sm-6"> Animal Loose</li>
<li class="col-lg-4 col-sm-6"> Dead Animal Pick Up</li>
<li class="col-lg-4 col-sm-6"> Missed Recycle</li>
</ul>
<div class="row" unselectable="on">
<div class="col-lg-6" unselectable="on">
<br><br>
<h3 unselectable="on">Check Service Request Status</h3>
<label for="check-service-request" unselectable="on">Service Request Number</label><br unselectable="on">
<div unselectable="on" style="background-color: white; border-radius: 6px; display: inline-block; padding: 10px;">
<input type="text" placeholder="e.g. 19-0000000001" class="textField" onkeydown="search311(event)" id="check-service-request"
style="border: none; padding: 10px; color: black; background-color: #ebf6ff; border-radius: 6px;">
<button type="button" onclick="search311button()" style="border: none; padding: 10px; background-color: #0157b1; color: white; border-radius: 6px;">Search Request</button>
</div>
</div>
<div class="col-lg-6" unselectable="on">
<br><br>
<h3 unselectable="on">Download the Dallas 311 Mobile App</h3>
<a href="https://itunes.apple.com/us/app/dallas-311/id692902088?mt=8#" target="_blank" style="margin-right: 1.1rem;">
<img src="https://dallascityhall.com/PublishingImages/static/app-store-badge.png" unselectable="on" alt="Apple App Store Badge" style="width: calc(40% - 1.1rem); max-width:200px;"></a>
<a href="https://play.google.com/store/apps/details?id=com.dallascityhall.dallas311&hl=en" target="_blank">
<img src="https://dallascityhall.com/PublishingImages/static/google-play-badge.png" unselectable="on" alt="Google Play Store Badge" style="width: calc(40% - 1.1rem); max-width:200px;"></a>
</div>
</div>
</div>
</div>
</div>
</section>
<style>
.in-middle {
background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.7)), url('/PublishingImages/static/311-mobile-app-new.jpg');
/*background-image: url("/PublishingImages/static/311-mobile-app-new.jpg");*/
background-size: cover;
background-repeat: no-repeat;
left: 40px;
padding-bottom: 30px;
height: 100%;
padding: 230px 0 0 40px;
}
.in-middle h3 {
font-size: 28px;
font-weight: 500;
}
.in-middle h3 span {
font-size: 22px;
border: none;
font-style: italic;
padding-bottom: 0px;
}
.service311 {
padding: 0px;
background-color: #0166ce;
}
.service311 ul {
padding-left: 0px;
padding-bottom: 15px;
}
.service311 h3 {
font-weight: 500;
}
.service311 h2,
.service311 h3 {
color: #fff;
border-bottom: none;
}
.service311 ul li a {
color: #e9ebf0;
border-bottom: none;
}
.service311 ul li {
border-bottom: 1px solid rgba(205, 205, 205, 0.2);
padding-top: 8px;
padding-bottom: 6px;
}
#picture311app {
height: 370px;
overflow: hidden;
padding: 0;
}
#dallas311mobile {
width: 100%;
opacity: 0.8;
background-color: #000;
}
.appicon {
width: 150px;
padding-right: 10px;
}
.appicon img {
width: 120px !important;
padding-right: 10px;
height: 35px;
}
.check {
background-color: #033d79;
padding: 20px 0;
display: inline-block;
width: 100%;
text-align: center;
}
.check h3 {
padding: 5px 20px;
max-width: 350px;
display: inline-block;
}
.check input {
max-width: 90%;
padding-left: 20px;
padding: 10px;
height: 45px;
width: 700px;
}
.hidden-xxs {
visibility: visible;
}
.visible-xxs {
display: none;
}
.inner-311 ul {
column-count: 2;
}
.inner-311-title h3 {
padding-bottom: 0;
}
section.services-banner {
background-color: #0166ce;
}
section.services-banner {
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: cover;
}
.mbr-z-index20 {
z-index: 20;
}
/*! Media */
.media-size-item {
-webkit-flex: 1 1 auto;
-moz-flex: 1 1 auto;
-ms-flex: 1 1 auto;
-o-flex: 1 1 auto;
flex: 1 1 auto;
}
.media-content {
-webkit-flex-basis: 100%;
flex-basis: 100%;
}
.media-container-row {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-align-content: center;
-ms-flex-line-pack: center;
align-content: center;
-webkit-align-items: start;
-ms-flex-align: start;
align-items: start;
}
.media-container-row .media-size-item {
width: 375px;
}
.media-container-column {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-align-content: center;
-ms-flex-line-pack: center;
align-content: center;
-webkit-align-items: stretch;
-ms-flex-align: stretch;
align-items: stretch;
}
.media-container-column>* {
width: 100%;
}
@media (min-width: 582px) {
.service311 ul li:nth-child(4n+4) {
border-bottom: none;
}
.media-container-row {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}
}
.mbr-figure img,
.mbr-figure iframe {
display: block;
width: 100%;
}
.mbr-figure {
-ms-flex-item-align: center;
-ms-grid-row-align: center;
-webkit-align-self: center;
align-self: center;
}
.media-container>div {
max-width: 100%;
}
.mbr-figure img,
.card-img img {
width: 100%;
}
@media (max-width: 581px) {
.media-size-item {
width: auto !important;
}
.mbr-figure {
width: 100% !important;
}
#dallas311mobile {
opacity: 1;
position: relative;
}
.in-middle {
background-image: none;
padding-bottom: 30px;
height: 170px;
padding: 30px 0 0 30px;
}
.inner-311-title {
text-align: center;
}
.inner-311 {
padding: 1.5rem;
}
.home-311-buttons {
text-align: center;
}
.home-311-buttons .btn {
/*width: 160px;*/
}
.in-middle h3,
.in-middle h2 {
color: #333;
}
#picture311app {
width: 100%;
height: auto;
background-color: #fff;
}
.check {
padding: 0;
}
.check h3 {
padding: 15px 0 5px 0;
}
.hidden-xxs {
display: none;
}
.visible-xxs {
display: block;
}
.inner-311 ul {
column-count: 1;
}
}
/* 311 information */
.align-self-center {
-ms-flex-item-align: center !important;
align-self: center !important;
}
.px-3 {
padding-left: 1rem !important;
}
.py-2 {
padding-top: .5rem !important;
padding-bottom: .5rem !important;
}
.align-self-center {
-ms-flex-item-align: center !important;
align-self: center !important;
}
.inner-311 {
position: relative;
top: auto;
}
/* Custom, iPhone Retina */
@media only screen and (min-width : 320px) {
.media-container-row {
height: auto;
overflow: auto;
}
.px-3 {
padding-right: 0;
}
}
/* Extra Small Devices, Phones */
@media only screen and (min-width : 480px) {
.px-3 {
padding-right: 1rem !important;
}
.inner-311 {
padding: 60px 30px 10px 30px;
width: 100%;
}
}
/* Large Devices, Wide Screens */
@media only screen and (min-width : 1400px) {
.media-container-row {
height: auto;
overflow: hidden;
}
}
#todayiwantto ul li button {
background-color: rgb(3, 63, 136);
text-decoration: none;
color: #fff;
}
#main-modal.home-modal h1 {
font-weight: 500;
text-transform: uppercase;
}
#main-modal.home-modal .modal-body {
padding-top: 0px;
}
.mainmodal-contents {
display: none;
}
.home-modal .mainmodal-contents {
display: block;
}
.blue-link-list li {
padding: 0;
}
.blue-link-list a,
.blue-link-list a:visited {
background-image: url(/PublishingImages/Icons/blue-link.svg);
background-size: 20px;
padding-right: 35px;
color: #003F88;
background-repeat: no-repeat;
background-position: right center;
padding: 20px 15px;
padding-right: 25px;
border: solid 1px #003F88;
background-color: #EBF6FF;
border-radius: 5px;
display: flex;
min-height: 60px;
height: 100%;
font-size: 13px;
font-weight: 550;
align-items: center;
}
</style>
</div>
<div class="clearfix"></div>
<div id="find" style="display:none; bacgkground-color:grey;">
<h3>Find</h3><br>
<div class="iwanttoicons">
<ul>
<li><a href="/departments/humanresources/employment/Pages/default.aspx" id="find-lightbox-job"><img class="serviceimg" src="/PublishingImages/static/employmenticon.png" alt="Jobs Icon"><br>Job</a></li>
<li><a href="http://dallaslibrary2.org/" target="_blank" id="find-lightbox-library"><img class="serviceimg" src="/PublishingImages/static/libraryicon.png" alt="Library Icon"><br>Library</a></li>
<li><a href="http://www.dallasanimalservices.org/" target="_blank" id="find-lightbox-pets"><img class="serviceimg" src="/PublishingImages/static/peticon.png" alt="Dallas Animal Services Icon"><br>Pets</a></li>
<li style="margin-right:0px;">
<a href="http://www.dallasparks.org/" target="_blank" id="find-lightbox-parks-recreation"><img class="serviceimg" src="/PublishingImages/static/parksicon.png" alt="Parks & Recreation Icon"><br>Parks</a></li>
</ul>
<div class="clearfix"></div>
</div>
<div class="col-md-6 col-xs-12 list-items">
<ul>
<li><a target="_blank" href="http://www.dallasculture.org/culturalFacilities.asp" id="find-lightbox-cultural-center">a Cultural Center</a></li>
<!--<li><a href="/departments/humanresources/employment/Pages/default.aspx">a Job</a></li>
<li><a target="_blank" href="http://dallaslibrary.org/">a Library</a></li>-->
<li><a href="https://dallasgis.maps.arcgis.com/apps/instant/minimalist/index.html?appid=807494fddae04830852e4b13e6847979/" id="find-lightbox-map" target="_blank">a Map</a></li>
<li><a target="_blank" href="http://www.dallasparks.org" id="find-lightbox-dallas-park">a Park</a></li>
</ul>
</div>
<div class="col-md-6 col-xs-12 list-items col-end">
<ul>
<!--<li><a target="_blank" href="http://www.dallasparks.org/">a Park Rec Center</a></li>
<li><a href="/departments/dallas-animal-services/Pages/adoption.aspx">a Pet</a></li>-->
<li><a href="/departments/pnv/Pages/zoning.aspx" id="find-lightbox-property-zoning">Property Zoning</a></li>
<li><a href="/departments/codecompliance/Pages/FoodSafety.aspx" id="find-lightbox-restaurant-scores">Restaurant Scores</a></li>
<li><a href="/departments/sanitation" id="find-lightbox-trash-pickup">Trash Pickup</a></li>
</ul>
</div>
</div>
<div id="pay" style="display:none; bacgkground-color:grey;">
<h3>Pay</h3><br>
<div class="col-md-6 col-xs-12 list-items">
<ul>
<li><a target="_blank" href="/departments/waterutilities/Pages/pay-water-bill.aspx" id="pay-lightbox-water">Water Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx" id="pay-lightbox-traffic-ticket">Traffic & Civil Tickets</a></li>
<li><a target="_blank" href="https://cityofdallas.rmcpay.com" id="pay-lightbox-parking-ticket">Parking Ticket</a></li>
<li><a target="_blank" href="https://www.velocitypayment.com/client/bankofamerica/cityofdallas/frab/index.html" id="pay-lightbox-ambulance-ticket">Ambulance Bill</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_registrations.aspx" id="pay-lightbox-alarms-permits">Alarms Permits</a></li>
<li><a target="_blank" href="https://cityofdallas.rmcpay.com" id="pay-lightbox-school-bus-stop-arm-ticket">School Bus Stop Arm Ticket</a></li>
</ul>
</div>
<div class="col-md-6 col-xs-12 list-items col-end">
<ul>
<li><a href="/departments/courtdetentionservices/Pages/Warrant-Info.aspx" id="pay-lightbox-court-warrants-bond">Court Warrants & Bonds</a></li>
<li><a href="/Pages/paybyapp.aspx" id="pay-lightbox-parking-meters">For Parking Meters</a></li>
<li><a href="/departments/codecompliance/Pages/garage-sales.aspx" id="pay-lightbox-garage-sales-permit">Garage Sales Permit</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx" id="pay-lightbox-hotel-occupancy-tax">Hotel Occupancy Tax (HOT)</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx" id="pay-lightbox-short-term-rentals">Short-Term Rentals (HOT)</a></li>
<!--<li><a target="_blank" href="/departments/codecompliance/Pages/Carryout-Bag-Program.aspx">Single-Use Carryout Bag Remittance</a></li>-->
</ul>
</div>
</div>
<div id="request" style="display:none; bacgkground-color:grey;">
<h3>Request</h3><br>
<div class="col-md-6 col-xs-12 list-items">
<ul>
<li><a href="/departments/sustainabledevelopment/buildinginspection" id="request-lightbox-building-permits-inspections">Building Permits & Inspections</a></li>
<li><a href="/services/311" id="request-lightbox-non-emergency-services">311 Services</a></li>
<li><a href="/departments/community-care/Pages/vital_statistics.aspx" id="request-lightbox-birth-death-certificates">Birth / Death Certificates</a></li>
<li><a target="_blank" href="https://www.dallasspecialevents.com/special-event/" id="request-lightbox-event-permits">Event Permits</a></li>
<li><a target="_blank" href="https://www.dallasspecialevents.com/film/" id="request-lightbox-filming-permits">Filming Permits</a></li>
</ul>
</div>
<div class="col-md-6 col-xs-12 list-items">
<h3>New Utility Services</h3>
<ul>
<li><a target="_blank" href="http://www.powertochoose.org/" id="request-lightbox-electricity-providers">Electricity Providers</a></li>
<li><a target="_blank" href="https://www.allconnect.com/local/tx/dallas" id="request-lightbox-tv">Cable-TV-Satellite</a></li>
<li><a target="_blank" href="https://www.2turniton.com/" id="request-lightbox-utilities">Activate Utilities</a></li>
</ul>
</div>
</div>
<div id="find-contents" class="mainmodal-contents">
<ul class="grid-container-3 blue-link-list">
<li><a href="/departments/humanresources/employment/Pages/default.aspx" id="find-lightbox-job">Job</a></li>
<li><a href="http://dallaslibrary2.org/" target="_blank" id="find-lightbox-library">Library</a></li>
<li><a href="http://www.dallasanimalservices.org/" target="_blank" id="find-lightbox-pets">Pets</a></li>
<li style="margin-right:0px;"><a href="http://www.dallasparks.org/" target="_blank" id="find-lightbox-parks-recreation">Parks</a></li>
<li><a target="_blank" href="http://www.dallasculture.org/culturalFacilities.asp" id="find-lightbox-cultural-center">Cultural Center</a></li>
<li><a href="https://dallasgis.maps.arcgis.com/apps/instant/minimalist/index.html?appid=807494fddae04830852e4b13e6847979/" id="find-lightbox-map" target="_blank">Maps</a></li>
<li><a href="/departments/pnv/Pages/zoning.aspx" id="find-lightbox-property-zoning">Property Zoning</a></li>
<li><a href="/departments/codecompliance/Pages/FoodSafety.aspx" id="find-lightbox-restaurant-scores">Restaurant Scores</a></li>
<li><a href="/departments/sanitation" id="find-lightbox-trash-pickup">Trash Pickup</a></li>
<li><a href="/departments/community-care/Pages/community_centers.aspx" id="find-community-center">Community Centers</a></li>
<li><a href="/departments/office-special-events" id="find-special-events">Special Events</a></li>
<li><a href="/departments/transportation" id="find-transportation">Transportation</a></li>
</ul>
</div>
<div id="pay-contents" class="mainmodal-contents">
<ul class="grid-container-3 blue-link-list">
<li><a target="_blank" href="/departments/waterutilities/Pages/pay-water-bill.aspx" id="pay-lightbox-water">Water Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx" id="pay-lightbox-traffic-ticket">Traffic Tickets</a></li>
<li><a href="/departments/courtdetentionservices/Pages/Civil-Citations-About-and-Paying.aspx" id="pay-lightbox-traffic-ticket">Civil Tickets</a></li>
<li><a target="_blank" href="https://cityofdallas.rmcpay.com" id="pay-lightbox-parking-ticket">Parking Tickets</a></li>
<li><a href="/Pages/paybyapp.aspx" id="pay-lightbox-parking-meters">Parking Meter Fees</a></li>
<li><a target="_blank" href="https://www.velocitypayment.com/client/bankofamerica/cityofdallas/frab/index.html" id="pay-lightbox-ambulance-ticket">Ambulance Bill</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_registrations.aspx" id="pay-lightbox-alarms-permits">Alarms Permits</a></li>
<li><a href="/departments/codecompliance/Pages/garage-sales.aspx" id="pay-lightbox-garage-sales-permit">Garage Sales Permit</a></li>
<li><a href="/departments/courtdetentionservices/Pages/Warrant-Info.aspx" id="pay-lightbox-court-warrants-bond">Court Warrants & Bonds</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx" id="pay-lightbox-short-term-rentals">Short-Term Rentals (HOT)</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx" id="pay-lightbox-hotel-occupancy-tax">Hotel Occupancy Tax (HOT)</a></li>
<li><a target="_blank" href="https://cityofdallas.rmcpay.com" id="pay-lightbox-school-bus-stop-arm-ticket">School Bus Stop Arm Ticket</a></li>
</ul>
</div>
<div id="request-contents" class="mainmodal-contents">
<ul class="grid-container-3 blue-link-list">
<li><a href="/departments/sustainabledevelopment/buildinginspection" id="request-lightbox-building-permits-inspections">Building Permits & Inspections</a></li>
<li><a href="/services/311" id="request-lightbox-non-emergency-services">311 Services</a></li>
<li><a href="/departments/community-care/Pages/vital_statistics.aspx" id="request-lightbox-birth-death-certificates">Birth / Death Certificates</a></li>
<li><a target="_blank" href="https://www.dallasspecialevents.com/special-event/" id="request-lightbox-event-permits">Event Permits</a></li>
<li><a target="_blank" href="https://www.dallasspecialevents.com/film/" id="request-lightbox-filming-permits">Filming Permits</a></li>
<li><a target="_blank" href="http://www.powertochoose.org/" id="request-lightbox-electricity-providers">Electricity Providers</a></li>
<li><a target="_blank" href="https://www.allconnect.com/local/tx/dallas" id="request-lightbox-tv">Cable-TV-Satellite</a></li>
<li><a target="_blank" href="https://www.2turniton.com/" id="request-lightbox-utilities">Activate Utilities</a></li>
<li><a target="_blank" href="https://dallastx.govqa.us/WEBAPP/_rs/(S(fglicdkrd2jpuom3fto3l4ya))/SupportHome.aspx" id="open-records">Open Records Request</a></li>
</ul>
</div>
<!--<div id="opendata" style="display:none; bacgkground-color:grey;">
<h3>Open Data</h3><br/>
<div class="iwanttoicons">
<ul>
<li><a href="https://www.dallasopendata.com/" target="_blank"><img class="serviceimg" src="/PublishingImages/static/opendataicon.png" alt="Open Data Icon" /><br />Open Data</a></li>
<li><a href="https://www.dallasopendata.com/browse?category=Police&limitTo=datasets&utf8=%E2%9C%93" target="_blank"><img class="serviceimg" src="/PublishingImages/static/policeicon.png" alt="Police Icon" /><br />Police</a></li>
<li style="margin-right:0px;"><a href="https://www.dallasopendata.com/browse?category=Financial&q=Financial&sortBy=relevance&utf8=%E2%9C%93" target="_blank"><img class="serviceimg" src="/PublishingImages/static/financialicon.png" alt="Finance Icon" /><br />Financial</a></li>
</ul>
<div class="clearfix"></div>
</div>
<div class="col-3 list-items col-end" style="width:100%">
<ul>
<li><a target="_blank" href="https://egis.dallascityhall.com/resources/shapefileDownload.aspx">Download GIS Data</a></li>
<li><a target="_blank" href="https://dallasgis.maps.arcgis.com/apps/instant/minimalist/index.html?appid=807494fddae04830852e4b13e6847979/">Interactive GIS Map</a></li>
<li><a target="_blank" href="https://egis.dallascityhall.com/resources/staticMapGal.aspx#">Static GIS Maps</a></li>
<li><a href="/departments/codecompliance/Pages/FoodSafety.aspx">Restaurant Scores</a></li>
</ul>
</div>
</div>-->
<script>
$(document).ready(function() {
$(".iwanttomodal").fancybox({
'titlePosition': 'inside',
'transitionIn': 'none',
'transitionOut': 'none'
});
$(".swagit").fancybox({
'titlePosition': 'inside',
'transitionIn': 'none',
'transitionOut': 'none',
'type': 'iframe',
'width': 570,
'height': 480,
'scrolling': 'no'
});
});
function findsearch() {
var findsearchinput = document.getElementById("findsearchinput").value;
parent.location = "/pages/searchresults.aspx#k=" + findsearchinput;
}
$('.pay').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Button', 'Pay');
});
$('.find').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Button', 'Find');
});
$('.request').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Button', 'Request');
});
$('.open-data').on('click', function() {
ga('send', 'event', 'Home Links', 'Data Transparency Lightbox Button', 'Data Transparency');
});
$('#finantial-transparency').on('click', function() {
ga('send', 'event', 'Home Links', 'External Link Button', 'Financial Transparency');
});
$('#open-records').on('click', function() {
ga('send', 'event', 'Home Links', 'PIO Button', 'Open Records Request');
});
$('#pay-lightbox-water').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Water Bill');
});
$('#pay-lightbox-traffic-ticket').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Traffic Ticket');
});
$('#pay-lightbox-parking-ticket').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Parking Ticket');
});
$('#pay-lightbox-red-light-ticket').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Red Light Ticket');
});
$('#pay-lightbox-ambulance-ticket').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Ambulance Bill');
});
$('#pay-lightbox-alarms-permits').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Alarms Permits');
});
$('#pay-lightbox-court-warrants-bond').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Court Warrants and Bonds');
});
$('#pay-lightbox-school-bus-stop-arm-ticket').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'School Bus Stop Arm Ticket');
});
$('#pay-lightbox-parking-meters').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'For Parking Meters');
});
$('#pay-lightbox-garage-sales-permi').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Garage Sales Permit');
});
$('#pay-lightbox-hotel-occupancy-tax').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Hotel Occupancy Tax (HOT)');
});
$('#pay-lightbox-short-term-rentals').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Short-Term Rentals (HOT)');
});
$('#findsearchbutton').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Search');
});
$('#find-lightbox-job').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Job');
});
$('#find-lightbox-library').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Library');
});
$('#find-lightbox-pets').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Pets');
});
$('#find-lightbox-parks-recreation').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Parks');
});
$('#find-lightbox-cultural-center').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'a Cultural Center');
});
$('#find-lightbox-map').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'a Map');
});
$('#find-lightbox-dallas-park').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'a Park');
});
$('#find-lightbox-property-zoning').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Property Zoning');
});
$('#find-lightbox-restaurant-scores').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Restaurant Scores');
});
$('#find-lightbox-trash-pickup').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Trash Pickup');
});
$('#find-community-center').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Modal Link', 'Community Centers');
});
$('#find-special-events').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Modal Link', 'Special Events');
});
$('#find-transportation').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Modal Link', 'Transportation');
});
$('#request-lightbox-building-permits-inspections').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', 'Building Permits and Inspections');
});
$('#request-lightbox-non-emergency-services').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', '311 Services');
});
$('#request-lightbox-birth-death-certificates').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', 'Birth Death Certificatess');
});
$('#request-lightbox-event-permits').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', 'Event Permits');
});
$('#request-lightbox-filming-permits').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', 'Filming Permits');
});
$('#request-lightbox-electricity-providers').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', 'Electricity Providers');
});
$('#request-lightbox-tv').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', 'Cable-TV-Satellite');
});
$('#request-lightbox-utilities').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', 'Activate Utilities');
});
$('#open-meetings').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Open Meetings');
});
$('#council-meetings').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Council Meetings');
});
$('#council-attendance').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Council Attenance');
});
$('#public-notices').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Public Notices');
});
$('#city-calendar').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'City Calendar');
});
$('#council-memos').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Council Memos');
});
$('#budget').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Budget');
});
$('#boards-and-commissions').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Boards and Commissions');
});
$('#city-meeting-video').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Watch City Meetings Online');
});
$('#quick-links-jobs').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Jobs');
});
$('#quick-links-water').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Water Utilities');
});
$('#quick-links-building-permits-inspections').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Building Permits and Inspections');
});
$('#quick-links-traffic-tickets').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Traffic Tickets');
});
$('#quick-links-courts').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Court Warrants and Bonds');
});
$('#quick-links-sanitation').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Trash Pickup');
});
$('#quick-links-311').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', '311 Services');
});
$('#quick-links-transportation').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Transportation for Hire');
});
$('#quick-links-211').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', '211 Links');
});
$('#quick-links-animal-services').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Animal Services');
});
$('.btn-secondary').on('click', function() {
ga('send', 'event', 'Home Links', '311', 'Request a Service');
});
$('.btn-minimal-reverse').on('click', function() {
ga('send', 'event', 'Home Links', '311', 'Check Status');
});
$('.googleapp').on('click', function() {
ga('send', 'event', 'Home Links', '311', 'Google Play Store');
});
$('.appleapp').on('click', function() {
ga('send', 'event', 'Home Links', '311', 'Apple Store');
});
$('.btn.secondary').on('click', function() {
ga('send', 'event', 'Hero', '7/7Event', 'Learn More');
});
</script>
<script>
$(document).ready(function() {
//add a custom click event to any link or button with custom Google Analyics tracking data
$('a[data-ga-category],button[data-ga-category],input[data-ga-category][type="submit"],input[data-ga-category][type="button"]').each(function(i, element) {
$(element).click(function() {
recordGoogleEvents(element)
});
});
//add a custom change event to certain types of form element with custom Google Analyics tracking data
$('select[data-ga-category],radio[data-ga-category],textarea[data-ga-category],input[data-ga-category][type="text"],input[data-ga-category][type="checkbox"],input[data-ga-category][type="file"],input[data-ga-category][type="image"],input[data-ga-category][type="password"]')
.each(function(i, element) {
$(element).change(function() {
recordGoogleEvents(element)
});
});
function recordGoogleEvents(element) {
console.log("begin recordGoogleEvents");
var category = $(element).data("ga-category");
var action = $(element).data("ga-action");
var label = $(element).data("ga-label");
var value = $(element).data("ga-value");
//default values
if (typeof(action) == "undefined") {
action = "";
}
if (typeof(label) == "undefined") {
label = "";
}
//send event with a value parameter only if one is provided
if (typeof(value) == "undefined" || value === "" || isNaN(value)) {
ga('send', 'event', category, action, label);
} else {
ga('send', 'event', category, action, label, value);
}
}
});
function openModal($event, title, contentsID) {
openMainModal($event.currentTarget, title, document.getElementById(contentsID).outerHTML, "home-modal");
}
</script>
<meta name="msvalidate.01" content="960DB0DE345588725F126B8C3A857211">
</div>
</div>
<div class="ms-clear"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Spotlight Webpart Zone -->
<div id="spotlight-home">
<div data-name="WebPartZone">
<div>
<div class="ms-webpart-zone ms-fullWidth">
<div id="MSOZoneCell_WebPartctl00_ctl48_g_c4fa770a_6888_4fbb_b601_44a11f42c73f" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical ms-fullWidth ">
<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
<div webpartid="c4fa770a-6888-4fbb-b601-44a11f42c73f" haspers="false" id="WebPartctl00_ctl48_g_c4fa770a_6888_4fbb_b601_44a11f42c73f" width="100%" class="ms-WPBody noindex " allowdelete="false" allowexport="false" style="">
<div id="ctl00_ctl48_g_c4fa770a_6888_4fbb_b601_44a11f42c73f">
<div class="ms-rte-embedcode ms-rte-embedwp">
<style>
.spotlight-title {
font-weight: bold;
padding: 5px;
}
</style>
<div class="spotlight-title">
<h2 style="color: rgb(68, 68, 68)">SPOTLIGHT</h2>
</div>
<script type="text/javascript">
(function($) {
$.fn.scrollbox = function(config) {
//default config
var defConfig = {
linear: true, // Scroll method
startDelay: 10, // Start delay (in seconds)
delay: 10, // Delay after each scroll event (in seconds)
step: 25, // Distance of each single step (in pixels)
speed: 25, // Delay after each single step (in milliseconds)
switchItems: 1, // Items to switch after each scroll event
direction: 'vertical',
distance: 'auto',
autoPlay: false,
onMouseOverPause: true,
paused: false,
queue: null,
listElement: 'ul',
listItemElement: 'li',
infiniteLoop: true, // Infinite loop or not
switchAmount: 0, // Give a number if you don't want to have infinite loop
afterForward: null, // Callback function after each forward action
afterBackward: null, // Callback function after each backward action
triggerStackable: false // Allow triggers when action is not finish yet
};
config = $.extend(defConfig, config);
config.scrollOffset = config.direction === 'vertical' ? 'scrollTop' : 'scrollLeft';
if (config.queue) {
config.queue = $('#' + config.queue);
}
return this.each(function() {
var container = $(this),
containerUL,
scrollingId = null,
nextScrollId = null,
paused = false,
releaseStack,
backward,
forward,
resetClock,
scrollForward,
scrollBackward,
forwardHover,
pauseHover,
switchCount = 0,
stackedTriggerIndex = 0;
if (config.onMouseOverPause) {
container.bind('mouseover', function() {
paused = true;
});
container.bind('mouseout', function() {
paused = false;
});
}
containerUL = container.children(config.listElement + ':first-child');
// init default switchAmount
if (config.infiniteLoop === false && config.switchAmount === 0) {
config.switchAmount = containerUL.children().length;
}
scrollForward = function() {
if (paused) {
return;
}
var curLi,
i,
newScrollOffset,
scrollDistance,
theStep;
curLi = containerUL.children(config.listItemElement + ':first-child');
scrollDistance = config.distance !== 'auto' ? config.distance : config.direction === 'vertical' ? curLi.outerHeight(true) : curLi.outerWidth(true);
// offset
if (!config.linear) {
theStep = Math.max(3, parseInt((scrollDistance - container[0][config.scrollOffset]) * 0.3, 10));
newScrollOffset = Math.min(container[0][config.scrollOffset] + theStep, 0);
} else {
newScrollOffset = Math.min(container[0][config.scrollOffset] + config.step, 0);
}
container[0][config.scrollOffset] = newScrollOffset;
if (newScrollOffset >= 0) {
for (i = 0; i < config.switchItems; i++) {
if (config.queue && config.queue.find(config.listItemElement).length > 0) {
containerUL.append(config.queue.find(config.listItemElement)[0]);
containerUL.children(config.listItemElement + ':first-child').remove();
} else {
containerUL.append(containerUL.children(config.listItemElement + ':first-child'));
}
++switchCount;
}
container[0][config.scrollOffset] = 0;
clearInterval(scrollingId);
scrollingId = null;
if ($.isFunction(config.afterForward)) {
config.afterForward.call(container, {
switchCount: switchCount,
currentFirstChild: containerUL.children(config.listItemElement + ':first-child')
});
}
if (config.triggerStackable && stackedTriggerIndex !== 0) {
releaseStack();
return;
}
if (config.infiniteLoop === false && switchCount >= config.switchAmount) {
return;
}
if (config.autoPlay) {
nextScrollId = setTimeout(forward, config.delay * 1000);
}
}
};
// Backward
// 1. If forwarding, then reverse
// 2. If stoping, then backward once
scrollBackward = function() {
if (paused) {
return;
}
var curLi,
i,
newScrollOffset,
scrollDistance,
theStep;
// init
if (container[0][config.scrollOffset] === 0) {
for (i = 0; i < config.switchItems; i++) {
containerUL.children(config.listItemElement + ':last-child').insertBefore(containerUL.children(config.listItemElement + ':first-child'));
}
curLi = containerUL.children(config.listItemElement + ':first-child');
scrollDistance = config.distance !== 'auto' ? config.distance : config.direction === 'vertical' ? curLi.height() : curLi.width();
container[0][config.scrollOffset] = scrollDistance;
}
// new offset
if (!config.linear) {
theStep = Math.max(3, parseInt(container[0][config.scrollOffset] * 0.3, 10));
newScrollOffset = Math.max(container[0][config.scrollOffset] - theStep, 0);
} else {
newScrollOffset = Math.max(container[0][config.scrollOffset] - config.step, 0);
}
container[0][config.scrollOffset] = newScrollOffset;
if (newScrollOffset === 0) {
--switchCount;
clearInterval(scrollingId);
scrollingId = null;
if ($.isFunction(config.afterBackward)) {
config.afterBackward.call(container, {
switchCount: switchCount,
currentFirstChild: containerUL.children(config.listItemElement + ':first-child')
});
}
if (config.triggerStackable && stackedTriggerIndex !== 0) {
releaseStack();
return;
}
if (config.autoPlay) {
nextScrollId = setTimeout(forward, config.delay * 1000);
}
}
};
releaseStack = function() {
if (stackedTriggerIndex === 0) {
return;
}
if (stackedTriggerIndex > 0) {
stackedTriggerIndex--;
nextScrollId = setTimeout(forward, 0);
} else {
stackedTriggerIndex++;
nextScrollId = setTimeout(backward, 0);
}
};
forward = function() {
clearInterval(scrollingId);
scrollingId = setInterval(scrollForward, config.speed);
};
backward = function() {
clearInterval(scrollingId);
scrollingId = setInterval(scrollBackward, config.speed);
};
// Implements mouseover function.
forwardHover = function() {
config.autoPlay = true;
paused = false;
clearInterval(scrollingId);
scrollingId = setInterval(scrollForward, config.speed);
};
pauseHover = function() {
paused = true;
};
resetClock = function(delay) {
config.delay = delay || config.delay;
clearTimeout(nextScrollId);
if (config.autoPlay) {
nextScrollId = setTimeout(forward, config.delay * 1000);
}
};
if (config.autoPlay) {
nextScrollId = setTimeout(forward, config.startDelay * 1000);
}
// bind events for container
container.bind('resetClock', function(delay) {
resetClock(delay);
});
container.bind('forward', function() {
if (config.triggerStackable) {
if (scrollingId !== null) {
stackedTriggerIndex++;
} else {
forward();
}
} else {
clearTimeout(nextScrollId);
forward();
}
});
container.bind('backward', function() {
if (config.triggerStackable) {
if (scrollingId !== null) {
stackedTriggerIndex--;
} else {
backward();
}
} else {
clearTimeout(nextScrollId);
backward();
}
});
container.bind('pauseHover', function() {
pauseHover();
});
container.bind('forwardHover', function() {
forwardHover();
});
container.bind('speedUp', function(speed) {
if (speed === 'undefined') {
speed = Math.max(1, parseInt(config.speed / 2, 10));
}
config.speed = speed;
});
container.bind('speedDown', function(speed) {
if (speed === 'undefined') {
speed = config.speed * 2;
}
config.speed = speed;
});
container.bind('updateConfig', function(options) {
config = $.extend(config, options);
});
});
};
}(jQuery));
</script>
<script type="text/javascript">
$(function() {
$('#pi-tiles').scrollbox({
direction: 'h',
});
$('#pi-tiles-backward').click(function() {
$('#pi-tiles').trigger('backward');
});
$('#pi-tiles-forward').click(function() {
$('#pi-tiles').trigger('forward');
});
});
</script>
<script src="/Style%20Library/js/angular.min.js"></script>
<script>
var myAngApp = angular.module('AngAppSpotLight', []);
myAngApp.controller('angSpotLightController', function($scope, $http) {
var today = new Date();
$http({
method: 'GET',
url: removeHTTPfromURL(_spPageContextInfo.webAbsoluteUrl) + "/_api/web/lists/getByTitle('SpotLight')/items?$select=StartDate,EndDate,Order,SpotlightTitle,OpenInTheNextTab,Link,EncodedAbsUrl" +
"&$orderby=Order0 asc&$filter=StartDate le datetime'" + today.toISOString() + "' and EndDate ge datetime'" + today.toISOString() + "'",
headers: {
"Accept": "application/json;odata=verbose"
}
}).success(function(d, s, h, c) {
$scope.spotlights = d.d.results;
var backupCount = 3 - $scope.spotlights.length;
if (backupCount > 0) {
$http({
method: 'GET',
url: removeHTTPfromURL(_spPageContextInfo.webAbsoluteUrl) + "/_api/web/lists/getByTitle('SpotLight')/items?$select=Order,SpotlightTitle,OpenInTheNextTab,Link,EncodedAbsUrl&$orderby=Order0 desc",
headers: {
"Accept": "application/json;odata=verbose"
}
}).success(function(d, s, h, c) {
$scope.spotlights.push.apply($scope.spotlights, d.d.results);
});
}
});
//$scope.pictures = function () {
// return $scope.spotlights.concat($scope.spotlightBackups);
//}
$scope.getTarget = function(targetString) {
if (targetString) return "_blank";
else return "_self";
}
$scope.getSrcwithoutHTTP = function(urlString) {
var httpIndex = urlString.indexOf("://");
if (httpIndex > 0) return urlString.slice(httpIndex + 1);
else return urlString;
}
})
</script>
<div ng-app="AngAppSpotLight" class="sp-row ng-scope">
<div id="pi-scroll-tiles" ng-controller="angSpotLightController" class="ng-scope">
<div id="pi-tiles" class="scroll-img">
<ul class="unstyled" id="tilesUl">
<!-- ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallascityhall.com/DCH%20Documents/dallas-ransomware-incident-may-2023-incident-remediation-efforts-and-resolution.pdf" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Ransomware After Action Review Report AARR (ENG & SPA)">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/ransomware-update.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/ransomware-update.jpg"><span class="nopad spotlight-title ng-binding">Ransomware After Action Review Report AARR (ENG & SPA)</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallascityhall.com/departments/communication-outreach-marketing/opioid-response" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Opioid Response">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/opioid-response.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/opioid-response.jpg"><span class="nopad spotlight-title ng-binding">Opioid Response</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://www.dallascitynews.net/city-of-dallas-takes-legal-action-to-preserve-its-rights-while-seeking-agreement-with-u-s-navy-on-path-forward-to-develop-hensley-field" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Hensley Field Action and Path Forward">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/Hensley-Field-action-and-path-forward.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/Hensley-Field-action-and-path-forward.jpg"><span class="nopad spotlight-title ng-binding">Hensley Field Action and Path Forward</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://www.dallascitynews.net/update-on-ransomware-incident-personal-data-protection" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Update - Ransomware Incident & Personal Data Protection">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/network-recovery-servers-network.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/network-recovery-servers-network.jpg"><span class="nopad spotlight-title ng-binding">Update - Ransomware Incident & Personal Data Protection</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallascityhall.com/departments/communication-outreach-marketing/opioid-response" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Opioid Response">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/opioid-response.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/opioid-response.jpg"><span class="nopad spotlight-title ng-binding">Opioid Response</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallascityhall.com/DCH%20Documents/dallas-ransomware-incident-may-2023-incident-remediation-efforts-and-resolution.pdf" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Ransomware After Action Review Report AARR (ENG & SPA)">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/ransomware-update.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/ransomware-update.jpg"><span class="nopad spotlight-title ng-binding">Ransomware After Action Review Report AARR (ENG & SPA)</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallascityhall.com/departments/government-affairs/pension-funding-solution/Pages/default.aspx" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Pension Funding Plan">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/pension-spotlight.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/pension-spotlight.jpg"><span class="nopad spotlight-title ng-binding">Pension Funding Plan</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallascityhall.com/government/citysecretary/Pages/default.aspx" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Saturday, May 4, 2024 - Special Bond Election">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/person-voting.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/person-voting.jpg"><span class="nopad spotlight-title ng-binding">Saturday, May 4, 2024 - Special Bond Election</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallascityhall.com/departments/bond-construction-management/Pages/default.aspx" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Information Regarding the 2024 Bond Program">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/city-skyline.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/city-skyline.jpg"><span class="nopad spotlight-title ng-binding">Information Regarding the 2024 Bond Program</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://www.dallascitynews.net/summer-of-safety-city-of-dallas-offers-free-and-low-cost-summer-activities-for-kids-and-teens" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Summer of Safety">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/summer-of-safety.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/summer-of-safety.jpg"><span class="nopad spotlight-title ng-binding">Summer of Safety</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
</ul>
</div>
<div id="pi-tiles-btn" class="text-center">
<button type="button" class="btn" id="pi-tiles-backward" aria-label="the previous spotlight"></button>
<button type="button" class="btn" id="pi-tiles-forward" aria-label="the next spotlight"></button>
</div>
</div>
</div>
<br>
<style>
#countdown {
text-align: center;
padding: 20px 0;
border-top: solid 1px #999;
}
#countdown h3 {
font-family: 'Roboto';
font-weight: 600;
font-size: 28px;
color: rgb(3, 63, 136);
border-bottom: none;
}
#countdown-1 {
padding: 25px 0;
}
#countdown-display {
display: block;
border-radius: 10px;
/*height: 140px;*/
max-width: 700px;
margin: 0 auto;
}
#countdown-2 {
padding: 0px 0;
background-color: #fff;
padding: 10px 50px 10px 30px;
border-top-right-radius: 65px;
border-bottom-right-radius: 65px;
height: 105px;
}
/*#countdown-2 a{
display: block;
background-image: url("/Style%20Library/Images/Next%20Arrow.svg");
background-position: right;
background-repeat: no-repeat;
background-size: 20px;
padding: 0 30% 0 0;
}*/
#countdown-2 a img {
height: 100%;
}
#countdown-2 h3 {
font-family: 'Roboto';
padding: 0px;
font-size: 32px;
line-height: 1;
border: none;
color: rgb(3, 63, 136);
font-weight: 600;
}
#countdown-2 h5 {
font-family: 'Roboto';
font-size: 18px;
color: rgb(38, 115, 209);
font-weight: 500;
padding: 0px;
line-height: 1;
border: none;
}
#countdown-3 {
display: inline-block;
background-color: rgb(3, 63, 136);
padding: 15px 0 15px 40px;
border-top-left-radius: 65px;
border-bottom-left-radius: 65px;
height: 105px;
}
#countdown-3 h3 {
font-family: 'Roboto';
font-size: 44px;
font-weight: 500;
color: #fff;
padding: 0;
border: none;
}
#countdown-3 .metric {
font-family: 'Roboto';
font-size: 44px;
font-weight: 500;
color: #fff;
padding: 0;
border: none;
}
#countdown-3 .col-xs-3 {
border-right: solid 1px #c5d3fc;
padding: 0;
}
#countdown-3 .col-xs-3:last-of-type {
border-right: none;
}
#countdown-3 p {
font-family: 'Roboto';
color: #c5d3fc;
font-weight: 600;
font-size: 12px;
padding: 0;
margin: 0;
}
.xxs-hide {
display: block;
}
.xxs-show {
display: none;
}
#countdown-3 .col-xs-3:nth-of-type(2) {
border-right: visible;
}
#spotlight-home {
padding: 50px 0px 30px 0;
}
@media screen and (max-width: 640px) {
#countdown-display .col-xs-7,
#countdown-display .col-xs-5 {
width: 100%;
}
#countdown-3 .col-xs-3 {
width: 50%;
}
.xxs-hide {
display: none;
}
.xxs-show {
display: block;
}
#countdown-3 .col-xs-3:nth-of-type(2) {
border-right: none;
}
#countdown-3 {
border-top-left-radius: 45px;
border-top-right-radius: 45px;
border-bottom-left-radius: 0;
padding: 10px 20px;
height: 95px;
}
#countdown-2 {
display: block;
border-bottom-right-radius: 45px;
border-bottom-left-radius: 45px;
border-top-left-radius: 0;
border-top-right-radius: 0;
padding: 15px 20px;
height: 95px;
}
#countdown-display {
display: block;
padding: 0 10px;
}
#spotlight-home {
padding: 50px 0px;
}
}
</style>
</div>
</div>
<div class="ms-clear"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="newsroom" class="dch-row">
<div class="column-1 text-center">
<div data-name="WebPartZone">
<div>
<div class="ms-webpart-zone ms-fullWidth">
<div id="MSOZoneCell_WebPartctl00_ctl48_g_efb83318_e420_4455_ac8f_fe394d8c3a30" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical ms-fullWidth ">
<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
<div webpartid="efb83318-e420-4455-ac8f-fe394d8c3a30" haspers="false" id="WebPartctl00_ctl48_g_efb83318_e420_4455_ac8f_fe394d8c3a30" width="100%" class="ms-WPBody noindex " allowdelete="false" allowexport="false" style="">
<div id="ctl00_ctl48_g_efb83318_e420_4455_ac8f_fe394d8c3a30">
<div class="ms-rte-embedcode ms-rte-embedwp">
<h3 style="border-bottom:none; color: rgb(68, 68, 68)">FEATURED NEWS</h3>
<a href="http://dallascitynews.net" target="_blank" class="btn btn-primary btn-md" style="background-color:white; border: 1px solid #0166ce; color: #0166ce;" data-ga-action="External Link" data-ga-category="Featured News" data-ga-label="Read More">View More News</a>
</div>
</div>
<div class="ms-clear"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="column-2">
<div data-name="WebPartZone">
<div>
<div class="ms-webpart-zone ms-fullWidth">
<div id="MSOZoneCell_WebPartctl00_ctl48_g_8d75d7aa_6a08_4bc9_84cf_b61854a0c426" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical ms-fullWidth ">
<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
<div webpartid="8d75d7aa-6a08-4bc9-84cf-b61854a0c426" haspers="false" id="WebPartctl00_ctl48_g_8d75d7aa_6a08_4bc9_84cf_b61854a0c426" width="100%" class="ms-WPBody noindex " allowdelete="false" allowexport="false" style="">
<div id="ctl00_ctl48_g_8d75d7aa_6a08_4bc9_84cf_b61854a0c426">
<ul id="ctl00_ctl48_g_8d75d7aa_6a08_4bc9_84cf_b61854a0c426_fNews">
<li>
<a href="https://www.dallascitynews.net/city-of-dallas-seeks-community-input-on-the-next-city-manager" target="_Blank" data-ga-action="Click" data-ga-category="Featured News" data-ga-label="City of Dallas Seeks Community Input on the Next City Manager">City of Dallas Seeks Community Input on the Next City Manager</a>
</li>
<li>
<a href="https://dallascityhall.com/departments/ciservices/Pages/Dallas-Secure.aspx" target="_self" data-ga-action="Click" data-ga-category="Featured News" data-ga-label="City of Dallas Launches Free “Dallas Secure” Mobile Phone App to Protect Residents from Cybersecurity Threats">City of Dallas Launches Free “Dallas Secure” Mobile Phone App to Protect Residents from Cybersecurity Threats</a>
</li>
<li>
<a href="http://www.dallascitynews.net/city-dallas-adopts-new-economic-development-policy" target="_self" data-ga-action="Click" data-ga-category="Featured News" data-ga-label="City of Dallas adopts new Economic Development Policy">City of Dallas adopts new Economic Development Policy</a>
</li>
</ul>
</div>
<div class="ms-clear"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="full-width">
<div data-name="WebPartZone">
<div>
<menu class="ms-hide">
<ie:menuitem id="MSOMenu_Help" iconsrc="/_layouts/15/images/HelpIcon.gif" onmenuclick="MSOWebPartPage_SetNewWindowLocation(MenuWebPart.getAttribute('helpLink'), MenuWebPart.getAttribute('helpMode'))" text="Help" type="option"
style="display:none">
</ie:menuitem>
</menu>
</div>
</div>
</div>
<div style="display:none" id="hidZone"></div>
</span>
</div>
</div>
<!--end s4bodycontainer -->
<br clear="all">
<!-- start footer -->
<!--scroll-->
<script type="text/javascript">
//<![CDATA[
$(document).on('click', 'a[id$="BackToTop"]', function(e) {
setPosition("#mainNav", e);
});
function setPosition(section, e) {
$("#s4-workspace").animate({
scrollTop: $(section).offset().top
}, 800);
$(section + " a").first().focus();
e.preventDefault();
}
//]]>
</script>
<div class="full-row mp-footer" id="dch-footer" role="contentinfo">
<style>
.footer-block {
font: normal 16px Lato;
line-height: 28px;
}
.footer-block .copyright {
margin-top: 1.5rem;
}
.footer-block a {
font-weight: bold;
color: #003F88;
}
#footer-featured-resources {
background-color: #EEEEEE;
padding: 2rem;
text-align: center;
}
#footer-secondary-resources {
background-color: white;
padding: 1rem 0;
}
.footer-block #footer-featured-resources h2 {
height: 0px;
width: 0px;
margin: 0px;
padding: 0px;
overflow: hidden;
font-weight: bold !important;
}
.footer-block #footer-featured-resources h3 {
display: block;
padding: 0px;
font-weight: bold !important;
border-bottom: none;
color: #444;
text-transform: none;
font-size: 1.4em;
margin: 0.8rem 0 0.4rem 0;
}
#footer-public-notice a {}
#footer-secondary-resources {
font: normal 14px Lato;
}
#footer-secondary-resources ul {
display: block;
text-align: center;
margin: 0px;
padding: 0px;
}
#footer-secondary-resources ul li {
display: inline-block;
/*padding: 6px;*/
}
#footer-secondary-resources ul li a {
padding: 8px;
/*margin: 1rem 0;*/
display: inline-block;
}
#footer-secondary-resources #footer-public-notice a {
background-color: #EBF6FF;
padding: 8px 16px;
border-radius: 6px;
margin: 0 2rem;
display: inline-block;
}
#footer-subscribe {
background-color: #003F88;
color: white;
font-weight: bold;
display: inline-block;
border-radius: 6px;
padding: 1.0rem 6rem 1.0rem 1.0rem;
background-image: url(https://dallascityhall.com/PublishingImages/icons/Icongraphy.svg);
background-repeat: no-repeat;
background-position: center right .8rem;
margin-top: 1rem;
text-align: left;
}
#footer-subscribe:focus {
outline: solid 10px rgba(126, 198, 255, .5);
}
.footer-weight {
clear: both;
width: 100%;
height: 1px;
}
#b2t {
width: 30%;
max-width: 50px;
text-align: center;
}
.b2t-section {
text-align: center;
margin-top: 2rem;
}
#footer-secondary-resources .copyright {
text-align: center;
}
.footer-block #footer-featured-resources .footer-social-icon {
/*max-width: 2.4rem;*/
width: 20%;
max-width: 50px;
display: inline-block;
margin-right: .5rem;
/*padding: rem;*/
}
.sprite.footer-heart {
width: 20px;
height: 20px;
vertical-align: middle;
background-position: -142px -80px;
margin: 0px 2px;
}
.sprite,
#pi-tiles-btn a {
background-image: url(https://dallascityhall.com/PublishingImages/style-library/dch-sprite.png);
background-repeat: no-repeat;
display: inline-block;
background-size: 300px;
}
.footer-social-icon img {
width: 100%;
padding: 4px;
opacity: 1;
position: relative;
}
#b2t {
opacity: 1;
position: relative;
}
.footer-block #footer-featured-resources .container .col-md-4 {
padding-top: 0px;
}
.footer-block #footer-featured-resources .footer-featured-resource {
margin-bottom: 2.5rem;
}
@media(min-width:768px) {
#footer-featured-resources {
text-align: left;
}
.footer-block #footer-featured-resources .footer-featured-resource {
margin-bottom: 1rem;
}
}
#b2t-link {
background-color: transparent;
border: none;
text-align: center;
display: inline-block;
}
a.footer-social-icon img,
#b2t-link #b2t {
transition: 0.3s all ease-in-out;
}
a.footer-social-icon:focus img {
transform: scale(1.1);
}
a.footer-social-icon:hover img,
#b2t-link:hover #b2t {
transform: translate(0px, -.7rem);
}
</style>
<div class="footer-block">
<div id="footer-featured-resources">
<h2>Footer Resources</h2>
<div class="container">
<div class="col-sm-6 col-md-3 footer-featured-resource">
<h3>Address</h3>
<a href="https://www.google.com/maps?q=1500+Marilla+Street" target="_blank">1500 Marilla Street<br>
Dallas, TX 75201</a><br> Tel: <a href="tel:2146703111" target="_blank">214-670-3111</a>
<div class="footer-weight"></div>
</div>
<div class="col-sm-6 col-md-4 footer-featured-resource">
<h3>Subscribe</h3>
<a id="footer-subscribe" href="https://service.govdelivery.com/accounts/TXDALLAS/subscriber/new" target="_blank">Get the latest news<br>from Dallas City Hall</a>
<div class="footer-weight"></div>
</div>
<div class="visible-sm visible-xs" style="clear:both"></div>
<div class="col-sm-6 col-md-3 footer-featured-resource">
<h3>Follow Us</h3>
<a href="https://www.facebook.com/DallasCityHall?ref=tn_tnmn" class="footer-social-icon" target="_blank"><img src="/PublishingImages/social-media/facebook/facebook-color-200x200.png" alt="facebook account"></a>
<a href="https://twitter.com/cityofdallas" class="footer-social-icon" target="_blank"><img src="/PublishingImages/social-media/twitter/twitter-color-200x200.png" alt="twitter account"></a>
<!--<a href="" class="footer-social-icon"><img src="https://dallascityhall.com/PublishingImages/social-media/instagram/instagram-color-200x200.png"/></a>-->
<a href="https://www.youtube.com/user/dmcclel" class="footer-social-icon" style="width: 25%; max-width: 60px;" target="_blank"><img src="https://dallascityhall.com/PublishingImages/social-media/youtube/youtube-color-200x200.png" alt="youtube account"></a><br>
<!-- <a href="">See more ways to follow</a> -->
<a href="https://www.instagram.com/dallascityhall" target="_blank" class="footer-social-icon"><img src="/PublishingImages/social-media/instagram/instagram-color-200x200.png" alt="instagram account"></a>
<a href="https://www.linkedin.com/company/city-of-dallas" class="footer-social-icon" target="_blank"><img src="/PublishingImages/social-media/linkedin-color-200x200.png" alt="LinkedIn account"></a>
<a href="https://nextdoor.com/agency-detail/tx/dallas/city-of-dallas/" class="footer-social-icon" target="_blank"><img src="/PublishingImages/social-media/nextdoor-color-200x200.png" alt="Nextdoor account"></a>
<div class="footer-weight"></div>
</div>
<div class="col-sm-6 col-md-2 footer-featured-resource b2t-section" style=""><button type="button" id="b2t-link" onclick="gotoSkipNav()"><img src="/PublishingImages/components/back-to-top-icon.png" alt="go to top" id="b2t"><br
class="hidden-sm hidden-xs">
<h3 style="display:inline-block; padding:0 10px;white-space: nowrap;color:#001B3B">Back to Top</h3>
</button>
<div class="footer-weight"></div>
</div>
</div>
</div>
<div id="footer-secondary-resources">
<div class="container">
<ul>
<li><a href="/departments/communication-outreach-marketing/Pages/web_accessibility.aspx">Accessibility</a></li>
<li><a href="/departments/communication-outreach-marketing/Pages/City-Terminology-Guide.aspx">City Terminology</a></li>
<li><a href="/Pages/contact.aspx">Contact Us</a></li>
<li><a href="/departments/communication-outreach-marketing/Pages/disclaimer.aspx">Disclaimer</a></li>
<li><a href="/departments/communication-outreach-marketing/Pages/privacy.aspx">Privacy Policy</a></li>
<li><a href="/departments/auditor/pages/fraud_hotline.aspx">Report Fraud</a></li>
<li id="footer-public-notice"><a href="/Pages/public-notices.aspx">Public Notices</a></li>
</ul>
<div class="copyright">Made with <span class="sprite footer-heart"></span> in Dallas, Texas © 2001-2024.</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
//<![CDATA[
$(function() {
$("#mainNav").load("/SiteAssets/DCH-Main-Navigation.txt");
$("#dch-footer").load("/SiteAssets/DCH-Footer.txt");
});
//]]>
</script>
<!--end footer -->
</div>
<div id="main-modal" class="modal" aria-hidden="true" aria-labelledby="modalTitle" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 id="modalTitle" tabindex="0">
</h1>
</div>
<div class="modal-body">
</div>
<button type="button" class="close close-modal" data-bs-dismiss="modal" aria-label="Close">× </button>
</div>
</div>
</div>
<script src="/Style Library/js/dch-responsive.js" type="text/javascript">
//<![CDATA[
//]]>
</script>
<!-- end outerWrapper-->
<style>
//<![CDATA[.fancybox-close { position : absolute;top:-18px;right:-18px;width:36px;height:36px;cursor:pointer;z-index:8040; background:url('/Style Library/fancybox_sprite.png') }.fancybox-overlay { background:url('/Style Library/fancybox_overlay.png') }
//]]>
</style>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
$('a.fancybox').attr("href", "/Pages/dallasfeedback.aspx?pageurl=" + window.location);
});
$('a.fancybox').fancybox({
helpers: {
overlay: {
closeClick: false
}
},
'overlayOpacity': 0.6,
autoSize: true,
autoDimensions: true,
'transitionIn': 'elastic',
'transitionOut': 'elastic'
});
//]]>
</script>
<script src="/Style Library/js/jquery.dlmenu.js" type="text/javascript">
//<![CDATA[
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
$(function() {
$('#dl-menu').dlmenu({
animationClasses: {
in: 'dl-animate-in-2',
out: 'dl-animate-out-2'
}
});
});
jQuery(function($) {
$("#seconMainNav .hover-dropdown-toggle").on({
mouseenter: function(event) {
var overlaybody = $('#overlay');
if (!overlaybody.length) {
$('body').append('<div id="overlay"> </div>');
}
$("div.second-static-dropdown", this).removeClass('hide-dropdown');
$("div.second-static-dropdown", this).addClass('show-dropdown');
},
mouseleave: function(event) {
event.preventDefault();
$('#overlay').remove();
$("div.second-static-dropdown", this).removeClass('show-dropdown');
$("div.second-static-dropdown", this).addClass('hide-dropdown');
$(this).trigger('hover');
$(this).unbind('hover');
}
});
});
//]]>
</script>
<script>
//<![CDATA[
var emailPlaceHolder = document.getElementById("govdeliveryemail");
if (emailPlaceHolder) {
if (emailPlaceHolder.addEventListener) {
emailPlaceHolder.addEventListener("focus", focusEmailSignup);
emailPlaceHolder.addEventListener("blur", blurEmailSignup);
} else if (emailPlaceHolder.attachEvent) {
emailPlaceHolder.attachEvent("focus", focusEmailSignup);
emailPlaceHolder.attachEvent("blur", blurEmailSignup);
}
}
function focusEmailSignup() {
emailPlaceHolder.style.color = "#FFF";
if (emailPlaceHolder.value == "Email") {
emailPlaceHolder.value = "";
}
}
function blurEmailSignup() {
if (emailPlaceHolder.value == "") {
emailPlaceHolder.value = "Email";
emailPlaceHolder.style.color = "#888";
}
}
//]]>
</script>
<div role="dialog" aria-label="dallas chatbot">
<script src="/SiteAssets/dalbot/uuidv4.min.js">
//<![CDATA[
//]]>
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js" integrity="sha512-rCjfoab9CVKOH/w/T6GbBxnAH5Azhy4+q1EXW5XEURefHbIkRbQ++ZR+GBClo3/d3q583X/gO4FKmOFuhkKrdA==" crossorigin="anonymous">
//<![CDATA[
//]]>
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.full.min.js" integrity="sha512-AIOTidJAcHBH2G/oZv9viEGXRqDNmfdPVPYOYKGy3fti0xIplnlgMHUGfuNRzC6FkzIo0iIxgFnr9RikFxK+sw=="
crossorigin="anonymous">
//<![CDATA[
//]]>
</script>
<shadow-demo id="shadow" chat-title-color="#0166CE" user-message-bg-color="#8EC900" bot-message-bg-color="#001B3B" chat-user-font-color="#001B3B" chat-bot-font-color="#FFFFFF" chat-title="DalBot">
</shadow-demo>
<!-- <script src="/SiteAssets/dalbot/shadow-12-12.js?version=4" type="text/javascript">//<![CDATA[
//]]></script> -->
<script src="/SiteAssets/dalbot/bot-down.js" type="text/javascript">
//<![CDATA[
//]]>
</script>
</div>
<div id="DeltaFormDigest">
<script type="text/javascript">
//<![CDATA[
var formDigestElement = document.getElementsByName('__REQUESTDIGEST')[0];
if (!((formDigestElement == null) || (formDigestElement.tagName.toLowerCase() != 'input') || (formDigestElement.type.toLowerCase() != 'hidden') || (formDigestElement.value == null) || (formDigestElement.value.length <= 0))) {
formDigestElement.value = '0x4FC5200603EDD545E475E76416E514B38EF69C4B667D9FB970F00C5A48E0DF45681F25CD303E84EFBB7A34D990BCD16D2C6461AAEECB7F86E34BF2099C82A393,06 Sep 2024 15:26:14 -0000';
g_updateFormDigestPageLoaded = new Date();
}
//]]>
</script>
</div>
<script type="text/javascript">
//<![CDATA[
var _fV4UI = true;
function _RegisterWebPartPageCUI() {
var initInfo = {
editable: false,
isEditMode: false,
allowWebPartAdder: false,
listId: "{4a35db85-1d01-4ce0-9804-6a1072e5021e}",
itemId: 533,
recycleBinEnabled: true,
enableMinorVersioning: true,
enableModeration: false,
forceCheckout: true,
rootFolderUrl: "\u002fPages",
itemPermissions: {
High: 16,
Low: 196705
}
};
SP.Ribbon.WebPartComponent.registerWithPageManager(initInfo);
var wpcomp = SP.Ribbon.WebPartComponent.get_instance();
var hid;
hid = document.getElementById("_wpSelected");
if (hid != null) {
var wpid = hid.value;
if (wpid.length > 0) {
var zc = document.getElementById(wpid);
if (zc != null) wpcomp.selectWebPart(zc, false);
}
}
hid = document.getElementById("_wzSelected");
if (hid != null) {
var wzid = hid.value;
if (wzid.length > 0) {
wpcomp.selectWebPartZone(null, wzid);
}
}
};
function __RegisterWebPartPageCUI() {
ExecuteOrDelayUntilScriptLoaded(_RegisterWebPartPageCUI, "sp.ribbon.js");
}
_spBodyOnLoadFunctionNames.push("__RegisterWebPartPageCUI");
var __wpmExportWarning =
'This Web Part Page has been personalized. As a result, one or more Web Part properties may contain confidential information. Make sure the properties contain information that is safe for others to read. After exporting this Web Part, view properties in the Web Part description file (.WebPart) by using a text editor such as Microsoft Notepad.';
var __wpmCloseProviderWarning =
'You are about to close this Web Part. It is currently providing data to other Web Parts, and these connections will be deleted if this Web Part is closed. To close this Web Part, click OK. To keep this Web Part, click Cancel.';
var __wpmDeleteWarning = 'You are about to permanently delete this Web Part. Are you sure you want to do this? To delete this Web Part, click OK. To keep this Web Part, click Cancel.';
var g_clientIdDeltaPlaceHolderMain = "DeltaPlaceHolderMain";
var g_clientIdDeltaPlaceHolderUtilityContent = "DeltaPlaceHolderUtilityContent";
//]]>
</script>
</form>
POST //translate.googleapis.com/translate_voting?client=te
<form id="goog-gt-votingForm" action="//translate.googleapis.com/translate_voting?client=te" method="post" target="votingFrame" class="VIpgJd-yAWNEb-hvhgNd-aXYTce"><input type="text" name="sl" id="goog-gt-votingInputSrcLang"><input type="text"
name="tl" id="goog-gt-votingInputTrgLang"><input type="text" name="query" id="goog-gt-votingInputSrcText"><input type="text" name="gtrans" id="goog-gt-votingInputTrgText"><input type="text" name="vote" id="goog-gt-votingInputVote"></form>
Text Content
Skip Navigation * Mayor * City Council * City Manager * Departments View All Departments Most Visited * Employment * Water Utilities * Building Inspection * Sanitation * Court & Detention Services * Human Resources * Code Compliance * Procurement Services * Open Records * Garage Sale * Pay * Water Bill * Traffic & Civil Tickets * Parking Ticket * Ambulance Bill * Court Warrants & Bonds * For Parking Meters * Garage Sales Permit * School Bus Stop Ticket * Security Alarm Permit * Hotel Occupancy Tax (HOT) * Short-Term Rentals (HOT) Search * Resident * Resident * Resident Home * Payments * Payments * Water Bill * Traffic & Civil Tickets * Parking Ticket * Ambulance Bill * Court Warrants & Bonds * For Parking Meters * Garage Sales Permit * School Bus Stop Ticket * Security Alarm Permit * Hotel Occupancy Tax (HOT) * Short-Term Rentals (HOT) * Resources * Resources * Animal Services * Community Centers * Cultural Centers * Libraries * Parks and Recreations * Sanitation Services * Transportation * Public Safety * Public Safety * Community Policing * Courts * Crime Reports * Crime Watch * Emergency Management * Emergency Preparedness * Fire Prevention Program * State Assistance * State Assistance * 2-1-1 Texas Website * About 2-1-1 Texas * Your Texas Benefits * SNAP (Food Stamps) * WIC (Women, Infants, and Children) * TANF (Temporary Assistance to Needy Families) * Health Care * Dallas Police * Dallas Fire * Visitor * Business * Business * Business Home * Licenses and Permits * Licenses and Permits * Building Permits and Inspections * Business and Vendor Licenses * City Vendor Registration * Dallas Film Commission * Fire Prevention and Pool Permits * Food Service Permits * Hotel Occupancy Tax (HOT) Registration * Short-Term Rentals (HOT) Registration * Small Business * Small Business * Better Business Bureau in Dallas * Dallas Regional Chamber * How to Start a New Business * Small Business Administration * Development * Development * Building Inspection * Construction Notices * Dallas Economic Development * Downtown Improvement District * ForwardDallas! * Zoning - Current Planning * Zoning Interactive Maps * Resources * Resources * Doing Business With the City * vGov * Government * Government * Government Home * Mayor and City Council * Mayor and City Council * Eric Johnson MAYOR * 1. Chad West * 2. Jesse Moreno * 3. Zarin D. Gracey * 4. Carolyn King Arnold * 5. Jaime Resendez * 6. Omar Narvaez * 7. Adam Bazaldua DEPUTY MAYOR PRO TEM * 8. Tennell Atkins MAYOR PRO TEM * 9. Paula Blackmon * 10. Kathy Stewart * 11. Jaynie Schultz * 12. Cara Mendelsohn * 13. Gay Donnell Willis * 14. Paul E. Ridley * City Management * City Management * Kimberly Bizor Tolbert CITY MANAGER (I) * Dominique Artis CHIEF OF PUBLIC SAFETY (I) * Dev Rastogi ASSISTANT CITY MANAGER * Liz Cedillo-Pereira ASSISTANT CITY MANAGER * Alina Ciocan ASSISTANT CITY MANAGER * Robin Bentley ASSISTANT CITY MANAGER (I) * Donzell Gipson ASSISTANT CITY MANAGER (I) * Jack Wade Ireland, Jr. CHIEF FINANCIAL OFFICER * Elizabeth Saab CHIEF OF STRATEGY, ENGAGEMENT, AND ALIGNMENT (I) * Other City Officials * Other City Officials * Tammy L. Palomino CITY ATTORNEY * Mark S. Swann CITY AUDITOR * Bilierae Johnson CITY SECRETARY * Preston Robinson ADMINISTRATIVE JUDGE * Public Meetings * Public Meetings * Council Agendas * Council Briefings * Committee Briefings * Council Voting Record * Boards & Commissions Meetings * City Secretary's Public Meetings * City Hall Resources * City Hall Resources * Annual Report * City Codes * Dallas Economic Development * Departments * Enterprise GIS * Financial Transparency * Calendar * News * 311 * 311 * Request a Service * About 311 * Frequently Requested Services * Frequently Requested Services * Code Concerns * Sanitation Roll Cart * Missed Garbage * Street Repair * Parking – Report a Violation * Animal Loose * Dead Animal Pick Up * 24 Hour Parking * Water/Wastewater Line Locate * Mayor * City Council * City Manager * Departments * ENG * SPA * VIE * Translate * Español * Tiếng Việt * 한국어 * 简体字 * አማርኛ * Resident Resident Home PAYMENTS * Water Bill * Traffic & Civil Tickets * Parking Ticket * Ambulance Bill * Court Warrants & Bonds * For Parking Meters * Garage Sales Permit * School Bus Stop Ticket * Security Alarm Permit * Hotel Occupancy Tax (HOT) * Short-Term Rentals (HOT) SERVICES * Animal Services * Community Centers * Cultural Centers * Libraries * Parks and Recreations * Sanitation Services * Transportation PUBLIC SAFETY * Dallas Police * Dallas Fire * Community Policing * Courts * Crime Reports * Crime Watch * Emergency Management * Emergency Preparedness * Fire Prevention Program STATE ASSISTANCE * 2-1-1 Texas Website * About 2-1-1 Texas * Your Texas Benefits * SNAP (Food Stamps) * WIC (Women, Infants, and Children) * TANF (Temporary Assistance to Needy Families) * Health Care * Visitor * Business Business Home LICENSES AND PERMITS * Building Permits and Inspections * Business and Vendor Licenses * City Vendor Registration * Dallas Film Commission * Fire Prevention and Pool Permits * Food Service Permits * Hotel Occupancy Tax (HOT) Registration * Short-Term Rentals (HOT) Registration SMALL BUSINESS * Better Business Bureau in Dallas * Dallas Regional Chamber * How to Start a New Business * Small Business Administration DEVELOPMENT * Building Inspection * Construction Notices * Dallas Economic Development * Downtown Improvement District * ForwardDallas! * Zoning - Current Planning * Zoning Interactive Maps DOING BUSINESS WITH THE CITY * Government Government Home MAYOR AND CITY COUNCIL * Eric Johnson MAYOR -------------------------------------------------------------------------------- * 1. Chad West * 2. Jesse Moreno * 3. Zarin D. Gracey * 4. Carolyn King Arnold * 5. Jaime Resendez * 6. Omar Narvaez * 7. Adam Bazaldua DEPUTY MAYOR PRO TEM * 8. Tennell Atkins MAYOR PRO TEM * 9. Paula Blackmon * 10. Kathy Stewart * 11. Jaynie Schultz * 12. Cara Mendelsohn * 13. Gay Donnell Willis * 14. Paul E. Ridley CITY MANAGEMENT * Kimberly Bizor Tolbert CITY MANAGER (I) -------------------------------------------------------------------------------- * Dominique Artis CHIEF OF PUBLIC SAFETY (I) * Dev Rastogi ASSISTANT CITY MANAGER * Liz Cedillo-Pereira ASSISTANT CITY MANAGER * Alina Ciocan ASSISTANT CITY MANAGER * Robin Bentley ASSISTANT CITY MANAGER (I) * Donzell Gipson ASSISTANT CITY MANAGER (I) * Jack Wade Ireland, Jr. CHIEF FINANCIAL OFFICER * Elizabeth Saab CHIEF OF STRATEGY, ENGAGEMENT, AND ALIGNMENT (I) OTHER CITY OFFICIALS * Tammy L. Palomino CITY ATTORNEY * Mark S. Swann CITY AUDITOR * Bilierae Johnson CITY SECRETARY * Preston Robinson ADMINISTRATIVE JUDGE * Jobs * Contact the Mayor & City Council * PUBLIC MEETINGS * Council Agendas * Council Briefings * Committee Briefings * Council Voting Record * Boards & Commissions Meetings * City Secretary's Public Meetings * Jobs * Contact the Mayor & City Council * CITY HALL RESOURCES * Annual Report * City Codes * Dallas Economic Development * Departments * Enterprise GIS * Financial Transparency * Calendar * Jobs * Contact the Mayor & City Council * * News * 311 311 Home Check Service Request Status Request a Service About 311 FREQUENTLY REQUESTED SERVICES * Code Concerns * Sanitation Roll Cart * Missed Garbage * Street Repair * Parking – Report a Violation * Animal Loose * Dead Animal Pick Up * 24 Hour Parking * Water/Wastewater Line Locate * Search * Hey Dallas! Let’s talk: how can we improve our communication? Let us know at dal.city/2024CommunicationsSurvey. ¡Hola Dallas! Hablemos: ¿cómo podemos mejorar nuestra comunicación? Dinos tu opinión en dal.city/2024CommunicationsSurvey Public Alerts WELCOME TO DALLAS COMMITTED TO "SERVICE FIRST" EXCELLENCE OUR CORE VALUES ARE EMPATHY, ETHICS, EXCELLENCE, ENGAGEMENT, AND EQUITY * Pay * Find * Request * Dallas Data Hub * Financial Transparency * Open Records Request OFFICIAL POSTINGS * FY 2024-25 Proposed Budget * City Meetings * Boards & Commissions * Council Attendance * City Calendar * Public Notices * Open Meetings * City Manager Memos * Watch City Meetings Online QUICK LINKS * Water Utilities * Trash Pickup * Building Permits & Inspections * Jobs * Traffic & Civil Tickets * Court Warrants & Bonds * Animal Services 311 SERVICE REQUESTS REQUEST CITY SERVICES AND INFORMATION Request a Service About 311 Dashboard CALL 311 IN HUNDREDS OF LANGUAGES * Llama al 311 * 311 ကို ခေါ်ဆိုပါ * Piga simu 311 * Gọi số 311 * 311 شمیرې ته زنګ ووهئ * با 311 تماس بگيريد * tumawag sa 311 * Ruáingga Koól 311 FREQUENTLY REQUESTED SERVICES * Code Concerns * Sanitation Roll Cart * Missed Garbage * Street Repair * Parking – Report a Violation * Animal Loose * Dead Animal Pick Up * Missed Recycle CHECK SERVICE REQUEST STATUS Service Request Number Search Request DOWNLOAD THE DALLAS 311 MOBILE APP FIND * Job * Library * Pets * Parks * a Cultural Center * a Map * a Park * Property Zoning * Restaurant Scores * Trash Pickup PAY * Water Bill * Traffic & Civil Tickets * Parking Ticket * Ambulance Bill * Alarms Permits * School Bus Stop Arm Ticket * Court Warrants & Bonds * For Parking Meters * Garage Sales Permit * Hotel Occupancy Tax (HOT) * Short-Term Rentals (HOT) REQUEST * Building Permits & Inspections * 311 Services * Birth / Death Certificates * Event Permits * Filming Permits NEW UTILITY SERVICES * Electricity Providers * Cable-TV-Satellite * Activate Utilities * Job * Library * Pets * Parks * Cultural Center * Maps * Property Zoning * Restaurant Scores * Trash Pickup * Community Centers * Special Events * Transportation * Water Bill * Traffic Tickets * Civil Tickets * Parking Tickets * Parking Meter Fees * Ambulance Bill * Alarms Permits * Garage Sales Permit * Court Warrants & Bonds * Short-Term Rentals (HOT) * Hotel Occupancy Tax (HOT) * School Bus Stop Arm Ticket * Building Permits & Inspections * 311 Services * Birth / Death Certificates * Event Permits * Filming Permits * Electricity Providers * Cable-TV-Satellite * Activate Utilities * Open Records Request SPOTLIGHT * Ransomware After Action Review Report AARR (ENG & SPA) * Opioid Response * Hensley Field Action and Path Forward * Update - Ransomware Incident & Personal Data Protection * Opioid Response * Ransomware After Action Review Report AARR (ENG & SPA) * Pension Funding Plan * Saturday, May 4, 2024 - Special Bond Election * Information Regarding the 2024 Bond Program * Summer of Safety FEATURED NEWS View More News * City of Dallas Seeks Community Input on the Next City Manager * City of Dallas Launches Free “Dallas Secure” Mobile Phone App to Protect Residents from Cybersecurity Threats * City of Dallas adopts new Economic Development Policy FOOTER RESOURCES ADDRESS 1500 Marilla Street Dallas, TX 75201 Tel: 214-670-3111 SUBSCRIBE Get the latest news from Dallas City Hall FOLLOW US BACK TO TOP * Accessibility * City Terminology * Contact Us * Disclaimer * Privacy Policy * Report Fraud * Public Notices Made with in Dallas, Texas © 2001-2024. × Texte d'origine Évaluez cette traduction Votre avis nous aidera à améliorer Google Traduction