All BlogsVedic Astrology

Shani Dosh Nivaran Puja 2026: Complete Booking Guide, Vidhi, Samagri List & Muhurat

Vivek Shukla15 Apr 20261 min read
torn
Share
Views818
PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CgogICAgPHRpdGxlPk1hc2lrIFNoaXZyYXRyaSAyMDI2IERhdGVzICYgQmFpZHlhbmF0aCBEaGFtIERhcnNoYW46IENvbXBsZXRlIEd1aWRlIHRvIFJ1ZHJhYmhpc2hlaywgVklQIFBhc3MgJiBQaWxncmltYWdlIFNlcnZpY2VzIHwgUHVqYSBQdXJvaGl0PC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJDb21wbGV0ZSBNYXNpayBTaGl2cmF0cmkgMjAyNiBkYXRlcyBjYWxlbmRhciB3aXRoIGFsbCAxMiBtb250aGx5IFNoaXZyYXRyaSBkYXRlcywgdGltaW5ncyAmIHNpZ25pZmljYW5jZS4gUGxhbiB5b3VyIEJhaWR5YW5hdGggRGhhbSBkYXJzaGFuIOKAlCBib29rIFJ1ZHJhYmhpc2hlaywgVklQIERhcnNoYW4gUGFzcywgU2Fua2FscCBQdWphLCBHYXRoYmFuZGhhbiBQdWphLCBob3RlbCBzdGF5ICYgbmVhcmJ5IHZpc2l0cyB0aHJvdWdoIFB1amEgUHVyb2hpdC4iPgogICAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9Ik1hc2lrIFNoaXZyYXRyaSAyMDI2IGRhdGVzLCBNYXNpayBTaGl2cmF0cmkgY2FsZW5kYXIgMjAyNiwgbW9udGhseSBTaGl2cmF0cmkgMjAyNiwgQmFpZHlhbmF0aCBEaGFtIGRhcnNoYW4gYm9va2luZywgUnVkcmFiaGlzaGVrIEJhaWR5YW5hdGgsIFZJUCBEYXJzaGFuIFBhc3MgRGVvZ2hhciwgQmFiYSBCYWlkeWFuYXRoIHRlbXBsZSwgRGVvZ2hhciBwaWxncmltYWdlIDIwMjYsIFNhbmthbHAgcHVqYSBCYWlkeWFuYXRoLCBHYXRoYmFuZGhhbiBwdWphIERlb2doYXIsIEp5b3RpcmxpbmdhIGRhcnNoYW4sIFNoaXZyYXRyaSBNYXkgMjAyNiwgQmFpZHlhbmF0aCBEaGFtIGhvdGVsIHN0YXksIEthbndhciBZYXRyYSAyMDI2LCBNYWhhIFNoaXZyYXRyaSAyMDI2LCBTaGl2cmF0cmkgdnJhdCBkYXRlcywgTWFzaWsgU2hpdnJhdHJpIHNpZ25pZmljYW5jZSI+CiAgICA8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9IlB1amEgUHVyb2hpdCI+CiAgICA8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly9wdWphcHVyb2hpdC5pbi9ibG9nL21hc2lrLXNoaXZyYXRyaS0yMDI2LWJhaWR5YW5hdGgtZGhhbSI+CgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9ImFydGljbGUiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJNYXNpayBTaGl2cmF0cmkgMjAyNjogQWxsIERhdGVzICsgQmFpZHlhbmF0aCBEaGFtIERhcnNoYW4sIFJ1ZHJhYmhpc2hlayAmIFZJUCBQYXNzIEJvb2tpbmciPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJBbGwgMTIgTWFzaWsgU2hpdnJhdHJpIGRhdGVzIGluIDIwMjYgd2l0aCB0aW1pbmdzLiBQbGFuIHlvdXIgQmFpZHlhbmF0aCBEaGFtIHBpbGdyaW1hZ2Ug4oCUIFJ1ZHJhYmhpc2hlaywgVklQIERhcnNoYW4sIFNhbmthbHAgUHVqYSwgaG90ZWwgc3RheSwgYW5kIG5lYXJieSB2aXNpdHMuIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vcHVqYXB1cm9oaXQuaW4vYmxvZy9tYXNpay1zaGl2cmF0cmktMjAyNi1iYWlkeWFuYXRoLWRoYW0iPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIgY29udGVudD0iUHVqYSBQdXJvaGl0Ij4KICAgIDxtZXRhIHByb3BlcnR5PSJhcnRpY2xlOnB1Ymxpc2hlZF90aW1lIiBjb250ZW50PSIyMDI2LTA1LTA5Ij4KCiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnlfbGFyZ2VfaW1hZ2UiPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjp0aXRsZSIgY29udGVudD0iTWFzaWsgU2hpdnJhdHJpIDIwMjYgRGF0ZXMgKyBCYWlkeWFuYXRoIERoYW0gUGlsZ3JpbWFnZSBHdWlkZSI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmRlc2NyaXB0aW9uIiBjb250ZW50PSJBbGwgMTIgTWFzaWsgU2hpdnJhdHJpIGRhdGVzIDIwMjYgd2l0aCBCYWlkeWFuYXRoIERoYW0gZGFyc2hhbiwgUnVkcmFiaGlzaGVrLCBWSVAgUGFzcyAmIGNvbXBsZXRlIHBpbGdyaW1hZ2Ugc2VydmljZXMuIj4KCiAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPgogICAgewogICAgICAgICJAY29udGV4dCI6ICJodHRwczovL3NjaGVtYS5vcmciLAogICAgICAgICJAdHlwZSI6ICJBcnRpY2xlIiwKICAgICAgICAiaGVhZGxpbmUiOiAiTWFzaWsgU2hpdnJhdHJpIDIwMjY6IEFsbCBEYXRlcywgVGltaW5ncyAmIEJhaWR5YW5hdGggRGhhbSBQaWxncmltYWdlIENvbXBsZXRlIEd1aWRlIiwKICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29tcGxldGUgTWFzaWsgU2hpdnJhdHJpIDIwMjYgY2FsZW5kYXIgd2l0aCBhbGwgMTIgZGF0ZXMgYW5kIElTVCB0aW1pbmdzLiBGdWxsIGd1aWRlIHRvIEJhaWR5YW5hdGggRGhhbSBkYXJzaGFuIHNlcnZpY2VzIOKAlCBSdWRyYWJoaXNoZWssIFZJUCBQYXNzLCBTYW5rYWxwIFB1amEsIEdhdGhiYW5kaGFuIFB1amEsIGhvdGVsIHN0YXkgYW5kIG5lYXJieSB2aXNpdHMuIiwKICAgICAgICAiYXV0aG9yIjogeyJAdHlwZSI6ICJPcmdhbml6YXRpb24iLCAibmFtZSI6ICJQdWphIFB1cm9oaXQiLCAidXJsIjogImh0dHBzOi8vcHVqYXB1cm9oaXQuaW4ifSwKICAgICAgICAicHVibGlzaGVyIjogeyJAdHlwZSI6ICJPcmdhbml6YXRpb24iLCAibmFtZSI6ICJQdWphIFB1cm9oaXQifSwKICAgICAgICAiZGF0ZVB1Ymxpc2hlZCI6ICIyMDI2LTA1LTA5IiwKICAgICAgICAiZGF0ZU1vZGlmaWVkIjogIjIwMjYtMDUtMDkiCiAgICB9CiAgICA8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPgogICAgewogICAgICAgICJAY29udGV4dCI6ICJodHRwczovL3NjaGVtYS5vcmciLAogICAgICAgICJAdHlwZSI6ICJGQVFQYWdlIiwKICAgICAgICAibWFpbkVudGl0eSI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIldoYXQgYXJlIGFsbCB0aGUgTWFzaWsgU2hpdnJhdHJpIGRhdGVzIGluIDIwMjY/IiwKICAgICAgICAgICAgICAgICJhY2NlcHRlZEFuc3dlciI6IHsKICAgICAgICAgICAgICAgICAgICAiQHR5cGUiOiAiQW5zd2VyIiwKICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJUaGUgMTIgTWFzaWsgU2hpdnJhdHJpIGRhdGVzIGluIDIwMjYgYXJlOiBKYW51YXJ5IDE2IChNYWdoYSksIEZlYnJ1YXJ5IDE1IChNYWhhIFNoaXZyYXRyaSDigJMgUGhhbGd1bmEpLCBNYXJjaCAxNyAoQ2hhaXRyYSksIEFwcmlsIDE1IChWYWlzaGFraGEpLCBNYXkgMTUgKEp5ZXNodGhhKSwgSnVuZSAxMyAoQWRoaWthIEp5ZXNodGhhIOKAlCBtZXJpdHMgbXVsdGlwbGllZCksIEp1bHkgMTIgKEFzaGFkaGEpLCBBdWd1c3QgMTEgKEJoYWRyYXBhZGEpLCBTZXB0ZW1iZXIgOSAoQXNod2luYSksIE9jdG9iZXIgOCAoS2FydGlrYSksIE5vdmVtYmVyIDcgKE1hcmdhc2hpcnNoYSksIERlY2VtYmVyIDcgKFBhdXNoYSkuIEFsbCBkYXRlcyBhcmUgYXMgcGVyIHRoZSBDaGF0dXJkYXNoaSBUaXRoaSBvZiBLcmlzaG5hIFBha3NoYSBpbiBJU1QuIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAgICAgICAgICAgIm5hbWUiOiAiV2h5IGlzIE1hc2lrIFNoaXZyYXRyaSBvbiBNYXkgMTUsIDIwMjYgc3BlY2lhbD8iLAogICAgICAgICAgICAgICAgImFjY2VwdGVkQW5zd2VyIjogewogICAgICAgICAgICAgICAgICAgICJAdHlwZSI6ICJBbnN3ZXIiLAogICAgICAgICAgICAgICAgICAgICJ0ZXh0IjogIk1heSAxNSwgMjAyNiBpcyB0aGUgTWFzaWsgU2hpdnJhdHJpIGluIHRoZSBKeWVzaHRoYSBtb250aC4gVGhlIENoYXR1cmRhc2hpIFRpdGhpIHN0YXJ0cyBhdCA4OjMzIEFNIG9uIE1heSAxNSBhbmQgZW5kcyBhdCA1OjEyIEFNIG9uIE1heSAxNiwgbWFraW5nIHRoZSBtaWRuaWdodCBwdWphIChOaXNoaXRhIEthYWwpIG9uIE1heSAxNSBoaWdobHkgcG90ZW50LiBWaXNpdGluZyBCYWlkeWFuYXRoIERoYW0gb24gdGhpcyBkYXRlIGZvciBSdWRyYWJoaXNoZWsgYW5kIFNhbmthbHAgUHVqYSBpcyBjb25zaWRlcmVkIGV4Y2VwdGlvbmFsbHkgYXVzcGljaW91cy4iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJAdHlwZSI6ICJRdWVzdGlvbiIsCiAgICAgICAgICAgICAgICAibmFtZSI6ICJXaGF0IHNlcnZpY2VzIGRvZXMgUHVqYSBQdXJvaGl0IG9mZmVyIGF0IEJhaWR5YW5hdGggRGhhbT8iLAogICAgICAgICAgICAgICAgImFjY2VwdGVkQW5zd2VyIjogewogICAgICAgICAgICAgICAgICAgICJAdHlwZSI6ICJBbnN3ZXIiLAogICAgICAgICAgICAgICAgICAgICJ0ZXh0IjogIlB1amEgUHVyb2hpdCBvZmZlcnMgY29tcGxldGUgcGlsZ3JpbWFnZSBzZXJ2aWNlcyBhdCBCYWlkeWFuYXRoIERoYW0gaW5jbHVkaW5nOiBTYW5rYWxwIFB1amEsIFZJUCBEYXJzaGFuIFBhc3MgKFNoaWdocmEgRGFyc2hhbiksIFJ1ZHJhYmhpc2hlayAo4oK5NCwwMDAgd2l0aCAyIFBhbmRpdHMgb3Ig4oK5Niw1MDAgd2l0aCA0IFBhbmRpdHMpLCBHYXRoYmFuZGhhbiBQdWphLCBob3RlbCBzdGF5IGFzc2lzdGFuY2UgbmVhciB0aGUgdGVtcGxlLCBwaWNrdXAgYW5kIGRyb3AgZnJvbSBEZW9naGFyIGFpcnBvcnQgKOKCuTgwMCBmb3IgdXAgdG8gNCBwZW9wbGUpLCBhbmQgZ3VpZGVkIG5lYXJieSB2aXNpdHMgdG8gQmFzdWtpbmF0aCBUZW1wbGUsIFRyaWt1dGEgSGlsbCwgYW5kIE5hdWxha2hhIE1hbmRpci4iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJAdHlwZSI6ICJRdWVzdGlvbiIsCiAgICAgICAgICAgICAgICAibmFtZSI6ICJXaGF0IGlzIHRoZSBjb3N0IG9mIFJ1ZHJhYmhpc2hlayBhdCBCYWlkeWFuYXRoIERoYW0/IiwKICAgICAgICAgICAgICAgICJhY2NlcHRlZEFuc3dlciI6IHsKICAgICAgICAgICAgICAgICAgICAiQHR5cGUiOiAiQW5zd2VyIiwKICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJSdWRyYWJoaXNoZWsgYXQgQmFpZHlhbmF0aCBEaGFtIHRocm91Z2ggUHVqYSBQdXJvaGl0IGNvc3RzIOKCuTQsMDAwIHdpdGggMiBQYW5kaXRzIG9yIOKCuTYsNTAwIHdpdGggNCBQYW5kaXRzLiBUaGlzIGluY2x1ZGVzIHRoZSBzYWNyZWQgVmVkaWMgcml0dWFsIG9mIGJhdGhpbmcgdGhlIEp5b3RpcmxpbmdhIHdpdGggUGFuY2hhbXJpdCBhbmQgR2FuZ2FqYWwgd2hpbGUgY2hhbnRpbmcgUnVkcmEgU3VrdGEgbWFudHJhcy4gQWR2YW5jZSBib29raW5nIGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkLCBlc3BlY2lhbGx5IG9uIE1hc2lrIFNoaXZyYXRyaSBhbmQgTW9uZGF5cyB3aGVuIGNyb3dkcyBhcmUgaGlnaGVzdC4iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJAdHlwZSI6ICJRdWVzdGlvbiIsCiAgICAgICAgICAgICAgICAibmFtZSI6ICJXaGF0IGlzIHRoZSBiZXN0IHRpbWUgdG8gdmlzaXQgQmFpZHlhbmF0aCBEaGFtIGZvciBNYXNpayBTaGl2cmF0cmkgZGFyc2hhbj8iLAogICAgICAgICAgICAgICAgImFjY2VwdGVkQW5zd2VyIjogewogICAgICAgICAgICAgICAgICAgICJAdHlwZSI6ICJBbnN3ZXIiLAogICAgICAgICAgICAgICAgICAgICJ0ZXh0IjogIlRoZSBpZGVhbCB0aW1lIGlzIGVhcmx5IG1vcm5pbmcgYmV0d2VlbiA0IEFNIGFuZCA3IEFNIHdoZW4gdGhlIHRlbXBsZSBvcGVucyBhbmQgY3Jvd2RzIGFyZSB0aGlubmVyLiBPbiBNYXNpayBTaGl2cmF0cmksIHRoZSB0ZW1wbGUgc2VlcyBzaWduaWZpY2FudGx5IGhpZ2hlciBmb290ZmFsbCDigJQgVklQIERhcnNoYW4gUGFzcyBhbmQgYWR2YW5jZSBSdWRyYWJoaXNoZWsgYm9va2luZyB0aHJvdWdoIFB1amEgUHVyb2hpdCBhcmUgc3Ryb25nbHkgcmVjb21tZW5kZWQuIFBsYW4gdG8gYXJyaXZlIGF0IERlb2doYXIgdGhlIGV2ZW5pbmcgYmVmb3JlIHRoZSBNYXNpayBTaGl2cmF0cmkgZGF0ZS4iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJAdHlwZSI6ICJRdWVzdGlvbiIsCiAgICAgICAgICAgICAgICAibmFtZSI6ICJXaGF0IGlzIEdhdGhiYW5kaGFuIFB1amEgYXQgQmFpZHlhbmF0aCBEaGFtPyIsCiAgICAgICAgICAgICAgICAiYWNjZXB0ZWRBbnN3ZXIiOiB7CiAgICAgICAgICAgICAgICAgICAgIkB0eXBlIjogIkFuc3dlciIsCiAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiR2F0aGJhbmRoYW4gUHVqYSBhdCBCYWlkeWFuYXRoIERoYW0gaXMgYSBzYWNyZWQgcml0dWFsIHdoZXJlIGNvdXBsZXMgdGllIGEgaG9seSB0aHJlYWQgKEdhdGgpIGF0IHRoZSBKeW90aXJsaW5nYSB0byBzZWVrIExvcmQgU2hpdmEncyBibGVzc2luZyBmb3IgdGhlaXIgbWFyaXRhbCBib25kLCBwcm90ZWN0aW9uLCBhbmQgZXRlcm5hbCB0b2dldGhlcm5lc3MuIFNpbmNlIEJhaWR5YW5hdGggRGhhbSBpcyBhbHNvIGEgU2hha3RpIFBlZXRoYSB3aGVyZSBHb2RkZXNzIFNhdGkncyBoZWFydCBpcyBiZWxpZXZlZCB0byBoYXZlIGZhbGxlbiwgdGhlIGNvbWJpbmVkIFNoaXZhLVNoYWt0aSBlbmVyZ3kgbWFrZXMgdGhpcyBwdWphIGV4Y2VwdGlvbmFsbHkgcG93ZXJmdWwgZm9yIG1hcml0YWwgaGFybW9ueS4iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJAdHlwZSI6ICJRdWVzdGlvbiIsCiAgICAgICAgICAgICAgICAibmFtZSI6ICJJcyB0aGVyZSBob3RlbCBhY2NvbW1vZGF0aW9uIG5lYXIgQmFpZHlhbmF0aCBEaGFtLCBEZW9naGFyPyIsCiAgICAgICAgICAgICAgICAiYWNjZXB0ZWRBbnN3ZXIiOiB7CiAgICAgICAgICAgICAgICAgICAgIkB0eXBlIjogIkFuc3dlciIsCiAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiWWVzLiBEZW9naGFyIGhhcyAxMzArIGhvdGVscyBhbmQgZGhhcmFtc2hhbGFzIG5lYXIgQmFpZHlhbmF0aCBEaGFtIOKAlCBmcm9tIGJ1ZGdldCBkaGFyYW1zaGFsYXMgYXQg4oK5MzAw4oCT4oK5NTAwL25pZ2h0IHRvIEFDIGhvdGVscyBhdCDigrkxLDUwMOKAk+KCuTMsNTAwL25pZ2h0IHdpdGhpbiA1MDAgbWV0ZXJzIHRvIDEuNSBrbSBvZiB0aGUgdGVtcGxlLiBQdWphIFB1cm9oaXQgYXNzaXN0cyB3aXRoIGhvdGVsIGJvb2tpbmcgbmVhciBCYWlkeWFuYXRoIERoYW0gYXMgcGFydCBvZiB0aGUgY29tcGxldGUgcGlsZ3JpbWFnZSBwYWNrYWdlLiBBZHZhbmNlIGJvb2tpbmcgaXMgZXNzZW50aWFsIGR1cmluZyBNYXNpayBTaGl2cmF0cmkgYW5kIFNocmF2YW4gbW9udGguIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAgICAgICAgICAgIm5hbWUiOiAiSG93IGRvIEkgYm9vayBCYWlkeWFuYXRoIERoYW0gZGFyc2hhbiBhbmQgc2VydmljZXMgdGhyb3VnaCBQdWphIFB1cm9oaXQ/IiwKICAgICAgICAgICAgICAgICJhY2NlcHRlZEFuc3dlciI6IHsKICAgICAgICAgICAgICAgICAgICAiQHR5cGUiOiAiQW5zd2VyIiwKICAgICAgICAgICAgICAgICAgICAidGV4dCI6ICJWaXNpdCBwdWphcHVyb2hpdC5pbi9tYW5kaXItZGFyc2hhbi9iYWlkeWFuYXRoLXRlbXBsZSwgc2VsZWN0IHlvdXIgTWFzaWsgU2hpdnJhdHJpIGRhdGUsIGFuZCBjaG9vc2UgZnJvbSBSdWRyYWJoaXNoZWssIFZJUCBEYXJzaGFuLCBTYW5rYWxwIFB1amEsIEdhdGhiYW5kaGFuIFB1amEsIG9yIHRoZSBjb21wbGV0ZSBwaWxncmltYWdlIHBhY2thZ2UuIFdoYXRzQXBwIGNvbmZpcm1hdGlvbiBhbmQgYSBwcmUtdmlzaXQgcHJlcGFyYXRpb24gY2hlY2tsaXN0IGFyZSBzZW50IHdpdGhpbiAzMCBtaW51dGVzIG9mIGJvb2tpbmcuIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfQogICAgPC9zY3JpcHQ+CgogICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KICAgIHsKICAgICAgICAiQGNvbnRleHQiOiAiaHR0cHM6Ly9zY2hlbWEub3JnIiwKICAgICAgICAiQHR5cGUiOiAiU2VydmljZSIsCiAgICAgICAgIm5hbWUiOiAiQmFpZHlhbmF0aCBEaGFtIERhcnNoYW4gJiBQdWphIFNlcnZpY2VzIiwKICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29tcGxldGUgQmFpZHlhbmF0aCBEaGFtIHBpbGdyaW1hZ2Ugc2VydmljZXMg4oCUIFJ1ZHJhYmhpc2hlaywgVklQIERhcnNoYW4gUGFzcywgU2Fua2FscCBQdWphLCBHYXRoYmFuZGhhbiBQdWphLCBob3RlbCBzdGF5IGFuZCBuZWFyYnkgdmlzaXRzIG9uIE1hc2lrIFNoaXZyYXRyaSBkYXRlcyAyMDI2IiwKICAgICAgICAicHJvdmlkZXIiOiB7IkB0eXBlIjogIk9yZ2FuaXphdGlvbiIsICJuYW1lIjogIlB1amEgUHVyb2hpdCIsICJ1cmwiOiAiaHR0cHM6Ly9wdWphcHVyb2hpdC5pbiJ9LAogICAgICAgICJhcmVhU2VydmVkIjogIkRlb2doYXIsIEpoYXJraGFuZCwgSW5kaWEiLAogICAgICAgICJvZmZlcnMiOiB7CiAgICAgICAgICAgICJAdHlwZSI6ICJBZ2dyZWdhdGVPZmZlciIsCiAgICAgICAgICAgICJsb3dQcmljZSI6ICI0MDAwIiwKICAgICAgICAgICAgImhpZ2hQcmljZSI6ICI2NTAwIiwKICAgICAgICAgICAgInByaWNlQ3VycmVuY3kiOiAiSU5SIiwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJ1ZHJhYmhpc2hlayB3aXRoIDIgUGFuZGl0cyDigrk0LDAwMCDCtyB3aXRoIDQgUGFuZGl0cyDigrk2LDUwMCIKICAgICAgICB9CiAgICB9CiAgICA8L3NjcmlwdD4KCiAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20iPgogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3V0Zml0OndnaHRAMzAwOzQwMDs2MDA7ODAwJmZhbWlseT1Mb3JhOml0YWwsd2dodEAwLDQwMDswLDYwMDsxLDQwMCZmYW1pbHk9Rm9uZGFtZW50byZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPHN0eWxlPgogICAgICAgIDpyb290IHsKICAgICAgICAgICAgLS1zYWZmcm9uOiAjRTg2ODBBOwogICAgICAgICAgICAtLXNhZmZyb24tZGVlcDogI0MwNTMwQTsKICAgICAgICAgICAgLS1nb2xkOiAjRDRBMDE3OwogICAgICAgICAgICAtLWdvbGQtbGlnaHQ6ICNGREYzREM7CiAgICAgICAgICAgIC0tY3JlYW06ICNGRkZCRjQ7CiAgICAgICAgICAgIC0tZGFyazogIzFDMTAwNzsKICAgICAgICAgICAgLS10ZXh0LW1haW46ICMzRDJDMUE7CiAgICAgICAgICAgIC0tdGV4dC1saWdodDogIzdBNjM1NTsKICAgICAgICAgICAgLS1ib3JkZXItbGlnaHQ6ICNFRkUwQzg7CiAgICAgICAgICAgIC0tc2hhZG93LXdhcm06IDAgMjBweCA1MHB4IC0xNXB4IHJnYmEoMjMyLCAxMDQsIDEwLCAwLjEzKTsKICAgICAgICAgICAgLS1zaGFkb3ctc29mdDogMCA4cHggMzBweCAtNXB4IHJnYmEoMCwwLDAsMC4wNyk7CgogICAgICAgICAgICAvKiBTaGl2YSAvIEJhaWR5YW5hdGgg4oCUIGRlZXAgYXNoLWJsdWUgbmlnaHQgcGFsZXR0ZSAqLwogICAgICAgICAgICAtLXNoaXZhLWRhcms6ICMwRDFCMkE7CiAgICAgICAgICAgIC0tc2hpdmEtbWlkOiAjMUIzQTVDOwogICAgICAgICAgICAtLXNoaXZhLWJsdWU6ICMyRTVGOEE7CiAgICAgICAgICAgIC0tc2hpdmEtYXNoOiAjNUU4QkE4OwogICAgICAgICAgICAtLXNoaXZhLWxpZ2h0OiAjRThGMkY5OwogICAgICAgIH0KCiAgICAgICAgKiB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IH0KCiAgICAgICAgYm9keSB7IGZvbnQtZmFtaWx5OiAnTG9yYScsIEdlb3JnaWEsIHNlcmlmOyBiYWNrZ3JvdW5kOiB2YXIoLS1jcmVhbSk7IGNvbG9yOiB2YXIoLS10ZXh0LW1haW4pOyBsaW5lLWhlaWdodDogMS43NTsgfQogICAgICAgIGgxLCBoMiwgaDMsIGg0IHsgZm9udC1mYW1pbHk6ICdPdXRmaXQnLCBzYW5zLXNlcmlmOyBjb2xvcjogdmFyKC0tZGFyayk7IGxpbmUtaGVpZ2h0OiAxLjI1OyB9CiAgICAgICAgYSB7IGNvbG9yOiB2YXIoLS1zYWZmcm9uKTsgfQogICAgICAgIC5jb250YWluZXIgeyBtYXgtd2lkdGg6IDgyMHB4OyBtYXJnaW46IDAgYXV0bzsgcGFkZGluZzogMCAxLjI1cmVtOyB9CgogICAgICAgIC8qIOKUgOKUgCBIRUFERVIg4pSA4pSAICovCiAgICAgICAgLmJsb2ctaGVhZGVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgI0U4RjJGOSAwJSwgdmFyKC0tY3JlYW0pIDEwMCUpOwogICAgICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMCAxLjc1cmVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CiAgICAgICAgLmJsb2ctaGVhZGVyOjpiZWZvcmUgeyBjb250ZW50OiAn4KWQJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDAuNzVyZW07IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyBmb250LXNpemU6IDJyZW07IG9wYWNpdHk6IDAuMDg7IGNvbG9yOiB2YXIoLS1zaGl2YS1taWQpOyB9CiAgICAgICAgLmJhZGdlLXdyYXAgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAwLjVyZW07IGZsZXgtd3JhcDogd3JhcDsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfQogICAgICAgIC5iYWRnZSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZzogMC4zcmVtIDAuOXJlbTsgYm9yZGVyLXJhZGl1czogMTAwcHg7IGZvbnQtZmFtaWx5OiAnT3V0Zml0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAwLjY1cmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMXB4OyB9CiAgICAgICAgLmJhZGdlLW1haW4geyBiYWNrZ3JvdW5kOiB2YXIoLS1zaGl2YS1taWQpOyBjb2xvcjogd2hpdGU7IH0KICAgICAgICAuYmFkZ2UtYWx0ICB7IGJhY2tncm91bmQ6IHdoaXRlOyBjb2xvcjogdmFyKC0tc2hpdmEtbWlkKTsgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1zaGl2YS1taWQpOyB9CiAgICAgICAgLmJhZGdlLWdvbGQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1nb2xkKTsgY29sb3I6IHdoaXRlOyB9CgogICAgICAgIC5ibG9nLWhlYWRlciBoMSB7IGZvbnQtc2l6ZTogY2xhbXAoMS40NXJlbSwgNC4ydncsIDIuMXJlbSk7IGZvbnQtd2VpZ2h0OiA4MDA7IG1hcmdpbi1ib3R0b206IDAuNzVyZW07IG1heC13aWR0aDogNzUwcHg7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH0KICAgICAgICAuYmxvZy1oZWFkZXIgaDEgc3BhbiB7IGNvbG9yOiB2YXIoLS1zYWZmcm9uKTsgfQogICAgICAgIC5ibG9nLW1ldGEgeyBjb2xvcjogdmFyKC0tdGV4dC1saWdodCk7IGZvbnQtc2l6ZTogMC43OHJlbTsgZm9udC1mYW1pbHk6ICdPdXRmaXQnLCBzYW5zLXNlcmlmOyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAxcmVtOyBmbGV4LXdyYXA6IHdyYXA7IH0KCiAgICAgICAgLyog4pSA4pSAIEhFUk8g4pSA4pSAICovCiAgICAgICAgLmhlcm8taW1nLXdyYXBwZXIgewogICAgICAgICAgICBtYXJnaW46IDEuNXJlbSAwOyBib3JkZXItcmFkaXVzOiAyMHB4OyBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDIwcHggNjBweCAtMTBweCByZ2JhKDEzLDI3LDQyLDAuNCk7CiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYvNzsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzJFNUY4QSAwJSwgIzFCM0E1QyA0MCUsICMwRDFCMkEgMTAwJSk7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgfQogICAgICAgIC5oZXJvLW9tIHsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZvbnQtc2l6ZTogMTFyZW07IG9wYWNpdHk6IDAuMDU7IGNvbG9yOiB3aGl0ZTsgfQogICAgICAgIC5oZXJvLXRleHQtb3ZlcmxheSB7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6IHdoaXRlOyB6LWluZGV4OiAxOyBwYWRkaW5nOiAycmVtOyB9CiAgICAgICAgLmhlcm8tdGV4dC1vdmVybGF5IGgyIHsgZm9udC1mYW1pbHk6ICdGb25kYW1lbnRvJywgY3Vyc2l2ZTsgY29sb3I6IHdoaXRlOyBmb250LXNpemU6IGNsYW1wKDEuNnJlbSwgNXZ3LCAyLjhyZW0pOyB0ZXh0LXNoYWRvdzogMCAycHggMjVweCByZ2JhKDAsMCwwLDAuNCk7IH0KICAgICAgICAuaGVyby10ZXh0LW92ZXJsYXkgcCB7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuODIpOyBmb250LXNpemU6IDAuOXJlbTsgbWFyZ2luLXRvcDogMC41cmVtOyBmb250LWZhbWlseTogJ091dGZpdCcsIHNhbnMtc2VyaWY7IH0KCiAgICAgICAgLyog4pSA4pSAIElORk8gU1RSSVAg4pSA4pSAICovCiAgICAgICAgLmluZm8tc3RyaXAgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOyBiYWNrZ3JvdW5kOiB3aGl0ZTsgYm9yZGVyLXJhZGl1czogMTRweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNvZnQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOyBtYXJnaW46IDEuNXJlbSAwOyB9CiAgICAgICAgLmluZm8taXRlbSB7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogMS4xcmVtIDAuNzVyZW07IGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7IH0KICAgICAgICAuaW5mby1pdGVtOmxhc3QtY2hpbGQgeyBib3JkZXItcmlnaHQ6IG5vbmU7IH0KICAgICAgICAuaW5mby1pdGVtIC5pY29uIHsgd2lkdGg6IDM2cHg7IGhlaWdodDogMzZweDsgbWFyZ2luOiAwIGF1dG8gMC40cmVtOyBkaXNwbGF5OiBibG9jazsgb2JqZWN0LWZpdDogY29udGFpbjsgfQogICAgICAgIC5pbmZvLWl0ZW0gc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyBmb250LWZhbWlseTogJ091dGZpdCcsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMC42cmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC44cHg7IGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0KTsgbWFyZ2luLWJvdHRvbTogMC4ycmVtOyB9CiAgICAgICAgLmluZm8taXRlbSBzdHJvbmcgeyBmb250LWZhbWlseTogJ091dGZpdCcsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMC44MnJlbTsgY29sb3I6IHZhcigtLWRhcmspOyBmb250LXdlaWdodDogNzAwOyBkaXNwbGF5OiBibG9jazsgfQoKICAgICAgICAvKiDilIDilIAgUVVJQ0sgU1VNTUFSWSDilIDilIAgKi8KICAgICAgICAucXVpY2stc3VtbWFyeSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXNoaXZhLWxpZ2h0KSwgI0YwRjdGRik7IGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXNoaXZhLW1pZCk7IGJvcmRlci1yYWRpdXM6IDE2cHg7IHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtOyBtYXJnaW4tYm90dG9tOiAycmVtOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc29mdCk7IH0KICAgICAgICAucXVpY2stc3VtbWFyeSBoMyB7IGNvbG9yOiB2YXIoLS1zaGl2YS1taWQpOyBmb250LXNpemU6IDAuNzJyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAxLjVweDsgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfQogICAgICAgIC5xdWljay1zdW1tYXJ5IHVsIHsgbGlzdC1zdHlsZTogbm9uZTsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSk7IGdhcDogMC40NXJlbTsgfQogICAgICAgIC5xdWljay1zdW1tYXJ5IGxpIHsgZm9udC1mYW1pbHk6ICdPdXRmaXQnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDAuODJyZW07IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDAuNHJlbTsgY29sb3I6IHZhcigtLXRleHQtbWFpbik7IH0KICAgICAgICAucXVpY2stc3VtbWFyeSBsaTo6YmVmb3JlIHsgY29udGVudDogJ+Kcpic7IGNvbG9yOiB2YXIoLS1zaGl2YS1ibHVlKTsgZm9udC1zaXplOiAwLjdyZW07IG1hcmdpbi10b3A6IDAuMnJlbTsgZmxleC1zaHJpbms6IDA7IH0KICAgICAgICAucXVpY2stc3VtbWFyeSBzdHJvbmcgeyBjb2xvcjogdmFyKC0tZGFyayk7IH0KCiAgICAgICAgLyog4pSA4pSAIENPTlRFTlQg4pSA4pSAICovCiAgICAgICAgLmJsb2ctY29udGVudCBwIHsgbWFyZ2luLWJvdHRvbTogMS4xcmVtOyBmb250LXNpemU6IDFyZW07IH0KICAgICAgICAuYmxvZy1jb250ZW50IGgyIHsgZm9udC1zaXplOiAxLjVyZW07IG1hcmdpbjogMi4yNXJlbSAwIDAuNzVyZW07IGZvbnQtd2VpZ2h0OiA4MDA7IHBhZGRpbmctbGVmdDogMXJlbTsgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1zYWZmcm9uKTsgfQogICAgICAgIC5ibG9nLWNvbnRlbnQgaDMgeyBmb250LXNpemU6IDEuMDVyZW07IG1hcmdpbjogMS41cmVtIDAgMC40cmVtOyBjb2xvcjogdmFyKC0tc2hpdmEtbWlkKTsgZm9udC13ZWlnaHQ6IDcwMDsgfQoKICAgICAgICAuaGlnaGxpZ2h0LWJveCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXNoaXZhLWxpZ2h0KSwgI0YwRjdGRik7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tc2hpdmEtbWlkKTsgcGFkZGluZzogMS4xcmVtIDEuNHJlbTsgbWFyZ2luOiAxLjI1cmVtIDA7IGJvcmRlci1yYWRpdXM6IDAgMTRweCAxNHB4IDA7IGZvbnQtc3R5bGU6IGl0YWxpYzsgZm9udC1zaXplOiAwLjk1cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAgICAgICAuaGlnaGxpZ2h0LWJveDo6YmVmb3JlIHsgY29udGVudDogJyInOyBmb250LXNpemU6IDRyZW07IGNvbG9yOiB2YXIoLS1zaGl2YS1taWQpOyBvcGFjaXR5OiAwLjE1OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTAuNXJlbTsgbGVmdDogMC41cmVtOyBmb250LWZhbWlseTogR2VvcmdpYSwgc2VyaWY7IGxpbmUtaGVpZ2h0OiAxOyB9CgogICAgICAgIC8qIOKUgOKUgCBTSElWUkFUUkkgREFURSBUQUJMRSDigJQgTUFJTiDilIDilIAgKi8KICAgICAgICAuc2hpdnJhdHJpLWNhbGVuZGFyIHsgd2lkdGg6IDEwMCU7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IG1hcmdpbjogMS4yNXJlbSAwOyBiYWNrZ3JvdW5kOiB3aGl0ZTsgYm9yZGVyLXJhZGl1czogMTZweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNvZnQpOyBmb250LWZhbWlseTogJ091dGZpdCcsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMC44M3JlbTsgfQogICAgICAgIC5zaGl2cmF0cmktY2FsZW5kYXIgdGhlYWQgdHIgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLXNoaXZhLWRhcmspLCB2YXIoLS1zaGl2YS1taWQpKTsgfQogICAgICAgIC5zaGl2cmF0cmktY2FsZW5kYXIgdGggeyBjb2xvcjogd2hpdGU7IHBhZGRpbmc6IDAuODVyZW0gMXJlbTsgdGV4dC1hbGlnbjogbGVmdDsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAwLjc1cmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC41cHg7IH0KICAgICAgICAuc2hpdnJhdHJpLWNhbGVuZGFyIHRkIHsgcGFkZGluZzogMC43cmVtIDFyZW07IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItbGlnaHQpOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9CiAgICAgICAgLnNoaXZyYXRyaS1jYWxlbmRhciB0cjpsYXN0LWNoaWxkIHRkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfQogICAgICAgIC5zaGl2cmF0cmktY2FsZW5kYXIgdHI6aG92ZXIgdGQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1zaGl2YS1saWdodCk7IH0KICAgICAgICAuc2hpdnJhdHJpLWNhbGVuZGFyIHRyLm1haGEgdGQgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNGREYzREMsICNGRkZCRjQpOyB9CiAgICAgICAgLnNoaXZyYXRyaS1jYWxlbmRhciB0ci5zcGVjaWFsIHRkIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjRUFGNkZGLCAjRjVGQkZGKTsgfQogICAgICAgIC5zaGl2cmF0cmktY2FsZW5kYXIgdHIudG9kYXktcm93IHRkIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjRThGMkY5LCAjRjBGN0ZGKTsgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1zYWZmcm9uKTsgfQogICAgICAgIC5jYWwtZGF0ZSB7IGZvbnQtd2VpZ2h0OiA4MDA7IGNvbG9yOiB2YXIoLS1zaGl2YS1taWQpOyBmb250LXNpemU6IDAuOTVyZW07IHdoaXRlLXNwYWNlOiBub3dyYXA7IH0KICAgICAgICAuY2FsLWRhdGUgLmRheSB7IGZvbnQtc2l6ZTogMC42NXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpOyBkaXNwbGF5OiBibG9jazsgfQogICAgICAgIC5jYWwtbWFzYSB7IGNvbG9yOiB2YXIoLS10ZXh0LW1haW4pOyBmb250LXdlaWdodDogNjAwOyB9CiAgICAgICAgLmNhbC1tYXNhIC5zdWIgeyBmb250LXNpemU6IDAuNzJyZW07IGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0KTsgZm9udC13ZWlnaHQ6IDQwMDsgZGlzcGxheTogYmxvY2s7IH0KICAgICAgICAuY2FsLXRpbWluZyB7IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpOyB9CiAgICAgICAgLmJhZGdlLXNwZWNpYWwgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDAuMTVyZW0gMC41NXJlbTsgYm9yZGVyLXJhZGl1czogMTAwcHg7IGZvbnQtc2l6ZTogMC42cmVtOyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC41cHg7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0KICAgICAgICAuYnMtbWFoYSAgIHsgYmFja2dyb3VuZDogdmFyKC0tZ29sZCk7IGNvbG9yOiB3aGl0ZTsgfQogICAgICAgIC5icy1hZGhpayAgeyBiYWNrZ3JvdW5kOiB2YXIoLS1zaGl2YS1taWQpOyBjb2xvcjogd2hpdGU7IH0KICAgICAgICAuYnMtdG9kYXkgIHsgYmFja2dyb3VuZDogdmFyKC0tc2FmZnJvbik7IGNvbG9yOiB3aGl0ZTsgfQogICAgICAgIC5icy12aXNpdCAgeyBiYWNrZ3JvdW5kOiAjRThGNUVFOyBjb2xvcjogIzFBNDczMTsgYm9yZGVyOiAxcHggc29saWQgIzFBNDczMTsgfQoKICAgICAgICAvKiDilIDilIAgQkVMSUVGIFNUUklQIOKUgOKUgCAqLwogICAgICAgIC5iZWxpZWYtc3RyaXAgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1zaGl2YS1kYXJrKSAwJSwgdmFyKC0tc2hpdmEtbWlkKSAxMDAlKTsgYm9yZGVyLXJhZGl1czogMTZweDsgcGFkZGluZzogMS41cmVtOyBtYXJnaW46IDEuNzVyZW0gMDsgY29sb3I6IHdoaXRlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAgICAgICAuYmVsaWVmLXN0cmlwIGgzIHsgZm9udC1mYW1pbHk6ICdGb25kYW1lbnRvJywgY3Vyc2l2ZTsgY29sb3I6IHdoaXRlOyBmb250LXNpemU6IDEuMzVyZW07IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfQogICAgICAgIC5iZWxpZWYtc3RyaXAgcCB7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuODMpOyBmb250LXNpemU6IDAuOXJlbTsgbWFyZ2luOiAwOyB9CgogICAgICAgIC8qIOKUgOKUgCBTRVJWSUNFIENBUkRTIOKUgOKUgCAqLwogICAgICAgIC5zZXJ2aWNlcy1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMTBweCwgMWZyKSk7IGdhcDogMXJlbTsgbWFyZ2luOiAxLjI1cmVtIDA7IH0KICAgICAgICAuc2VydmljZS1jYXJkIHsgYmFja2dyb3VuZDogd2hpdGU7IGJvcmRlci1yYWRpdXM6IDE2cHg7IGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsgcGFkZGluZzogMS4yNXJlbTsgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyB9CiAgICAgICAgLnNlcnZpY2UtY2FyZDo6YmVmb3JlIHsgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgaGVpZ2h0OiAzcHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tc2hpdmEtbWlkKSwgdmFyKC0tc2FmZnJvbikpOyB9CiAgICAgICAgLnNlcnZpY2UtY2FyZDpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tc2hpdmEtbWlkKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctd2FybSk7IH0KICAgICAgICAuc2VydmljZS1jYXJkIC5zdmMtaWNvbiB7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7IG1hcmdpbi1ib3R0b206IDAuNnJlbTsgb2JqZWN0LWZpdDogY29udGFpbjsgZGlzcGxheTogYmxvY2s7IH0KICAgICAgICAuc2VydmljZS1jYXJkIGg0IHsgZm9udC1mYW1pbHk6ICdGb25kYW1lbnRvJywgY3Vyc2l2ZTsgZm9udC1zaXplOiAxLjA1cmVtOyBjb2xvcjogdmFyKC0tc2hpdmEtbWlkKTsgbWFyZ2luLWJvdHRvbTogMC4zNXJlbTsgfQogICAgICAgIC5zZXJ2aWNlLWNhcmQgLnByaWNlLXRhZyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgYmFja2dyb3VuZDogdmFyKC0tZ29sZC1saWdodCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdvbGQpOyBjb2xvcjogdmFyKC0tZGFyayk7IGZvbnQtZmFtaWx5OiAnT3V0Zml0Jywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAwLjcycmVtOyBmb250LXdlaWdodDogNzAwOyBwYWRkaW5nOiAwLjJyZW0gMC42cmVtOyBib3JkZXItcmFkaXVzOiAxMDBweDsgbWFyZ2luLXRvcDogMC40cmVtOyB9CiAgICAgICAgLnNlcnZpY2UtY2FyZCBwIHsgZm9udC1zaXplOiAwLjhyZW07IGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0KTsgbWFyZ2luOiAwOyB9CiAgICAgICAgLnNlcnZpY2UtY2FyZCBhLmJvb2stbGluayB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLXRvcDogMC43NXJlbTsgZm9udC1mYW1pbHk6ICdPdXRmaXQnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDAuNzJyZW07IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1zaGl2YS1taWQpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1ib3R0b206IDEuNXB4IHNvbGlkIHZhcigtLXNoaXZhLW1pZCk7IH0KICAgICAgICAuc2VydmljZS1jYXJkIGEuYm9vay1saW5rOmhvdmVyIHsgY29sb3I6IHZhcigtLXNhZmZyb24pOyBib3JkZXItY29sb3I6IHZhcigtLXNhZmZyb24pOyB9CgogICAgICAgIC8qIOKUgOKUgCBTVEVQUyDilIDilIAgKi8KICAgICAgICAuY2hhcHRlcnMtbGlzdCB7IG1hcmdpbjogMXJlbSAwOyBjb3VudGVyLXJlc2V0OiBjaGFwdGVyOyB9CiAgICAgICAgLmNoYXB0ZXItaXRlbSB7IGNvdW50ZXItaW5jcmVtZW50OiBjaGFwdGVyOyBiYWNrZ3JvdW5kOiB3aGl0ZTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsgYm9yZGVyLXJhZGl1czogMTJweDsgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gNC41cmVtOyBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH0KICAgICAgICAuY2hhcHRlci1pdGVtOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1zaGl2YS1taWQpOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc29mdCk7IH0KICAgICAgICAuY2hhcHRlci1pdGVtOjpiZWZvcmUgeyBjb250ZW50OiBjb3VudGVyKGNoYXB0ZXIpOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDFyZW07IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IHdpZHRoOiAyLjVyZW07IGhlaWdodDogMi41cmVtOyBiYWNrZ3JvdW5kOiB2YXIoLS1zaGl2YS1saWdodCk7IGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXNoaXZhLW1pZCk7IGJvcmRlci1yYWRpdXM6IDUwJTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZvbnQtZmFtaWx5OiAnT3V0Zml0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDgwMDsgZm9udC1zaXplOiAxcmVtOyBjb2xvcjogdmFyKC0tc2hpdmEtbWlkKTsgfQogICAgICAgIC5jaGFwdGVyLWl0ZW0gaDQgeyBmb250LXNpemU6IDAuOXJlbTsgbWFyZ2luLWJvdHRvbTogMC4ycmVtOyB9CiAgICAgICAgLmNoYXB0ZXItaXRlbSBwIHsgZm9udC1zaXplOiAwLjc4cmVtOyBjb2xvcjogdmFyKC0tdGV4dC1saWdodCk7IG1hcmdpbjogMDsgfQoKICAgICAgICAvKiDilIDilIAgTkVBUkJZIFBMQUNFUyBHUklEIOKUgOKUgCAqLwogICAgICAgIC5wbGFuZXQtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTYwcHgsIDFmcikpOyBnYXA6IDAuNzVyZW07IG1hcmdpbjogMXJlbSAwOyB9CiAgICAgICAgLnBsYW5ldC1jYXJkIHsgYmFja2dyb3VuZDogd2hpdGU7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7IGJvcmRlci1yYWRpdXM6IDEwcHg7IHBhZGRpbmc6IDAuODVyZW07IHRleHQtYWxpZ246IGNlbnRlcjsgdHJhbnNpdGlvbjogYWxsIDAuMnM7IH0KICAgICAgICAucGxhbmV0LWNhcmQ6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXNoaXZhLW1pZCk7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTsgfQogICAgICAgIC5wbGFuZXQtY2FyZCAucGxhbmV0LW5hbWUgeyBmb250LWZhbWlseTogJ091dGZpdCcsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMC42NXJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OyBjb2xvcjogdmFyKC0tdGV4dC1saWdodCk7IG1hcmdpbi1ib3R0b206IDAuMnJlbTsgfQogICAgICAgIC5wbGFuZXQtY2FyZCAuZGVpdHktbmFtZSB7IGZvbnQtZmFtaWx5OiAnT3V0Zml0Jywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAwLjg4cmVtOyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0tc2hpdmEtbWlkKTsgbWFyZ2luLWJvdHRvbTogMC4ycmVtOyB9CiAgICAgICAgLnBsYW5ldC1jYXJkIHAgeyBmb250LXNpemU6IDAuN3JlbTsgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpOyBtYXJnaW46IDA7IH0KCiAgICAgICAgLyog4pSA4pSAIFdIWSBHUklEIOKUgOKUgCAqLwogICAgICAgIC53aHktZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTcwcHgsIDFmcikpOyBnYXA6IDAuNzVyZW07IG1hcmdpbjogMXJlbSAwOyB9CiAgICAgICAgLndoeS1jYXJkIHsgYmFja2dyb3VuZDogd2hpdGU7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7IGJvcmRlci1yYWRpdXM6IDEycHg7IHBhZGRpbmc6IDFyZW07IHRleHQtYWxpZ246IGNlbnRlcjsgdHJhbnNpdGlvbjogYWxsIDAuMnM7IH0KICAgICAgICAud2h5LWNhcmQ6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXNoaXZhLW1pZCk7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTsgfQogICAgICAgIC53aHktY2FyZCAuaWNvbiB7IHdpZHRoOiAzNnB4OyBoZWlnaHQ6IDM2cHg7IG1hcmdpbjogMCBhdXRvIDAuNXJlbTsgZGlzcGxheTogYmxvY2s7IG9iamVjdC1maXQ6IGNvbnRhaW47IH0KICAgICAgICAud2h5LWNhcmQgaDQgeyBmb250LXNpemU6IDAuODVyZW07IG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH0KICAgICAgICAud2h5LWNhcmQgcCB7IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6IHZhcigtLXRleHQtbGlnaHQpOyBtYXJnaW46IDA7IH0KCiAgICAgICAgLyog4pSA4pSAIFVSR0VOQ1kg4pSA4pSAICovCiAgICAgICAgLnVyZ2VuY3ktc3RyaXAgeyBiYWNrZ3JvdW5kOiB2YXIoLS1zaGl2YS1saWdodCk7IGJvcmRlcjogMS41cHggZGFzaGVkIHZhcigtLXNoaXZhLW1pZCk7IGJvcmRlci1yYWRpdXM6IDEycHg7IHBhZGRpbmc6IDFyZW0gMS4yNXJlbTsgbWFyZ2luOiAxLjVyZW0gMDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxcmVtOyB9CiAgICAgICAgLnVyZ2VuY3ktc3RyaXAgLmljb24geyB3aWR0aDogMzZweDsgaGVpZ2h0OiAzNnB4OyBmbGV4LXNocmluazogMDsgb2JqZWN0LWZpdDogY29udGFpbjsgfQogICAgICAgIC51cmdlbmN5LXN0cmlwIGg0IHsgZm9udC1mYW1pbHk6ICdPdXRmaXQnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDAuOTVyZW07IG1hcmdpbi1ib3R0b206IDAuMnJlbTsgY29sb3I6IHZhcigtLXNoaXZhLW1pZCk7IH0KICAgICAgICAudXJnZW5jeS1zdHJpcCBwIHsgZm9udC1zaXplOiAwLjgycmVtOyBjb2xvcjogdmFyKC0tdGV4dC1saWdodCk7IG1hcmdpbjogMDsgfQoKICAgICAgICAvKiDilIDilIAgRkFRIOKUgOKUgCAqLwogICAgICAgIC5mYXEtc2VjdGlvbiB7IG1hcmdpbjogMS4yNXJlbSAwOyB9CiAgICAgICAgLmZhcS1pdGVtIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1saWdodCk7IHBhZGRpbmc6IDAuOXJlbSAwOyB9CiAgICAgICAgLmZhcS1pdGVtIGg0IHsgZm9udC1zaXplOiAwLjkycmVtOyBtYXJnaW4tYm90dG9tOiAwLjM1cmVtOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgZ2FwOiAwLjVyZW07IGZvbnQtZmFtaWx5OiAnT3V0Zml0Jywgc2Fucy1zZXJpZjsgfQogICAgICAgIC5mYXEtaXRlbSBoNDo6YmVmb3JlIHsgY29udGVudDogJ1EuJzsgY29sb3I6IHZhcigtLXNoaXZhLW1pZCk7IGZvbnQtd2VpZ2h0OiA4MDA7IGZsZXgtc2hyaW5rOiAwOyB9CiAgICAgICAgLmZhcS1pdGVtIHAgeyBmb250LXNpemU6IDAuODVyZW07IGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0KTsgbWFyZ2luLWJvdHRvbTogMDsgbGluZS1oZWlnaHQ6IDEuNzsgfQoKICAgICAgICAvKiDilIDilIAgQ1RBIOKUgOKUgCAqLwogICAgICAgIC5jdGEtZm9vdGVyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tc2hpdmEtZGFyaykgMCUsIHZhcigtLXNoaXZhLW1pZCkgMTAwJSk7IGJvcmRlci1yYWRpdXM6IDIwcHg7IHBhZGRpbmc6IDJyZW07IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luOiAycmVtIDA7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgfQogICAgICAgIC5jdGEtZm9vdGVyOjpiZWZvcmUgeyBjb250ZW50OiAn4KWQJzsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMnJlbTsgYm90dG9tOiAtMXJlbTsgZm9udC1zaXplOiA3cmVtOyBvcGFjaXR5OiAwLjA1OyBjb2xvcjogd2hpdGU7IH0KICAgICAgICAuY3RhLWZvb3RlciBoMiB7IGNvbG9yOiB3aGl0ZTsgZm9udC1zaXplOiAxLjRyZW07IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgZm9udC13ZWlnaHQ6IDgwMDsgfQogICAgICAgIC5jdGEtZm9vdGVyIHAgeyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjgpOyBmb250LXNpemU6IDAuOXJlbTsgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfQogICAgICAgIC5jdGEtYnV0dG9ucyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMC43NXJlbTsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZsZXgtd3JhcDogd3JhcDsgfQogICAgICAgIC5idG4tcHJpbWFyeSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZzogMC44NXJlbSAycmVtOyBiYWNrZ3JvdW5kOiB3aGl0ZTsgY29sb3I6IHZhcigtLXNoaXZhLW1pZCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyLXJhZGl1czogNTBweDsgZm9udC1mYW1pbHk6ICdPdXRmaXQnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogODAwOyBmb250LXNpemU6IDAuODVyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAwLjVweDsgdHJhbnNpdGlvbjogYWxsIDAuM3M7IGJveC1zaGFkb3c6IDAgOHB4IDIwcHggcmdiYSgwLDAsMCwwLjIyKTsgfQogICAgICAgIC5idG4tcHJpbWFyeTpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgY29sb3I6IHZhcigtLXNoaXZhLWRhcmspOyB9CiAgICAgICAgLmJ0bi1zZWNvbmRhcnkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDAuODVyZW0gMnJlbTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiB3aGl0ZTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXItcmFkaXVzOiA1MHB4OyBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7IGZvbnQtZmFtaWx5OiAnT3V0Zml0Jywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAwLjg1cmVtOyB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfQogICAgICAgIC5idG4tc2Vjb25kYXJ5OmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjEyKTsgYm9yZGVyLWNvbG9yOiB3aGl0ZTsgfQoKICAgICAgICBmb290ZXIgeyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsgcGFkZGluZzogMXJlbSAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtZmFtaWx5OiAnT3V0Zml0Jywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogdmFyKC0tdGV4dC1saWdodCk7IH0KCiAgICAgICAgLnJldmVhbCB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNXB4KTsgdHJhbnNpdGlvbjogYWxsIDAuOHMgZWFzZS1vdXQ7IH0KICAgICAgICAucmV2ZWFsLmFjdGl2ZSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQoKICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAgICAgLmJsb2ctaGVhZGVyIGgxIHsgZm9udC1zaXplOiAxLjI1cmVtOyB9CiAgICAgICAgICAgIC5ibG9nLWNvbnRlbnQgaDIgeyBmb250LXNpemU6IDEuMnJlbTsgfQogICAgICAgICAgICAuaW5mby1zdHJpcCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfQogICAgICAgICAgICAuaW5mby1pdGVtIHsgYm9yZGVyLXJpZ2h0OiBub25lOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsgfQogICAgICAgICAgICAuaW5mby1pdGVtOm50aC1jaGlsZChvZGQpIHsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWxpZ2h0KTsgfQogICAgICAgICAgICAuc2hpdnJhdHJpLWNhbGVuZGFyIHsgZm9udC1zaXplOiAwLjcycmVtOyB9CiAgICAgICAgICAgIC5zaGl2cmF0cmktY2FsZW5kYXIgdGgsIC5zaGl2cmF0cmktY2FsZW5kYXIgdGQgeyBwYWRkaW5nOiAwLjVyZW0gMC42NXJlbTsgfQogICAgICAgICAgICAucGxhbmV0LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH0KICAgICAgICB9CiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAgICAgICAgIC5jb250YWluZXIgeyBwYWRkaW5nOiAwIDAuOXJlbTsgfQogICAgICAgICAgICAuYmxvZy1oZWFkZXIgaDEgeyBmb250LXNpemU6IDEuMXJlbTsgfQogICAgICAgICAgICAuY3RhLWJ1dHRvbnMgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9CiAgICAgICAgICAgIC5idG4tcHJpbWFyeSwgLmJ0bi1zZWNvbmRhcnkgeyB3aWR0aDogMTAwJTsgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgICAgICAgICAgIC51cmdlbmN5LXN0cmlwIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgICAgICAgICAgIC5xdWljay1zdW1tYXJ5IHVsIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KICAgICAgICAgICAgLnNlcnZpY2VzLWdyaWQsIC53aHktZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9CiAgICAgICAgICAgIC5jaGFwdGVyLWl0ZW06OmJlZm9yZSB7IHRvcDogMS4yNXJlbTsgdHJhbnNmb3JtOiBub25lOyB9CiAgICAgICAgfQogICAgPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KCjxoZWFkZXIgY2xhc3M9ImJsb2ctaGVhZGVyIj4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iYmFkZ2Utd3JhcCI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS1tYWluIj5NYXNpayBTaGl2cmF0cmkgMjAyNiDigJQgQWxsIDEyIERhdGVzPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UgYmFkZ2UtZ29sZCI+QmFpZHlhbmF0aCBEaGFtIERhcnNoYW48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS1hbHQiPkJvb2tpbmcgT3Blbjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8aDE+TWFzaWsgU2hpdnJhdHJpIDIwMjYgRGF0ZXM6IDxzcGFuPlBsYW4gWW91ciBCYWlkeWFuYXRoIERoYW0gRGFyc2hhbiw8L3NwYW4+IFJ1ZHJhYmhpc2hlayAmIENvbXBsZXRlIFBpbGdyaW1hZ2U8L2gxPgogICAgICAgIDxkaXYgY2xhc3M9ImJsb2ctbWV0YSI+CiAgICAgICAgICAgIDxzcGFuPlB1amEgUHVyb2hpdDwvc3Bhbj48c3Bhbj7igKI8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPk1heSA5LCAyMDI2PC9zcGFuPjxzcGFuPuKAojwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+MTYgbWluIHJlYWQ8L3NwYW4+PHNwYW4+4oCiPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5KeW90aXJsaW5nYSBQaWxncmltYWdlIEd1aWRlPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CjwvaGVhZGVyPgoKPG1haW4gY2xhc3M9ImNvbnRhaW5lciI+CgogICAgPGRpdiBjbGFzcz0iaGVyby1pbWctd3JhcHBlciByZXZlYWwiPgogICAgICAgIDxkaXYgY2xhc3M9Imhlcm8tb20iPuClkDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Imhlcm8tdGV4dC1vdmVybGF5Ij4KICAgICAgICAgICAgPGgyPkJhYmEgQmFpZHlhbmF0aCBEaGFtIOKAlCBEZW9naGFyPC9oMj4KICAgICAgICAgICAgPHA+SnlvdGlybGluZ2EgwrcgU2hha3RpIFBlZXRoYSDCtyBUaGUgRGl2aW5lIEhlYWxlciDigJQgVmlzaXQgb24gRXZlcnkgTWFzaWsgU2hpdnJhdHJpIDIwMjY8L3A+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpbmZvLXN0cmlwIHJldmVhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1pdGVtIj4KICAgICAgICAgICAgPGltZyBjbGFzcz0iaWNvbiIgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvdHdpdHRlci90d2Vtb2ppQDE0LjAuMi9hc3NldHMvNzJ4NzIvMWY2ZDUucG5nIiBhbHQ9IlRlbXBsZSIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICAgIDxzcGFuPlNhY3JlZCBTaXRlPC9zcGFuPgogICAgICAgICAgICA8c3Ryb25nPkp5b3RpcmxpbmdhICsgU2hha3RpIFBlZXRoYTwvc3Ryb25nPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImluZm8taXRlbSI+CiAgICAgICAgICAgIDxpbWcgY2xhc3M9Imljb24iIHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL3R3aXR0ZXIvdHdlbW9qaUAxNC4wLjIvYXNzZXRzLzcyeDcyLzFmNGM1LnBuZyIgYWx0PSJEYXRlcyIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICAgIDxzcGFuPk1vbnRobHkgU2hpdnJhdHJpPC9zcGFuPgogICAgICAgICAgICA8c3Ryb25nPjEyIERhdGVzIGluIDIwMjY8L3N0cm9uZz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWl0ZW0iPgogICAgICAgICAgICA8aW1nIGNsYXNzPSJpY29uIiBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC90d2l0dGVyL3R3ZW1vamlAMTQuMC4yL2Fzc2V0cy83Mng3Mi8xZjlmZi5wbmciIGFsdD0iUnVkcmFiaGlzaGVrIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgICAgPHNwYW4+U2lnbmF0dXJlIFJpdHVhbDwvc3Bhbj4KICAgICAgICAgICAgPHN0cm9uZz5SdWRyYWJoaXNoZWsgYXQgSnlvdGlybGluZ2E8L3N0cm9uZz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWl0ZW0iPgogICAgICAgICAgICA8aW1nIGNsYXNzPSJpY29uIiBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC90d2l0dGVyL3R3ZW1vamlAMTQuMC4yL2Fzc2V0cy83Mng3Mi8xZjRiMC5wbmciIGFsdD0iUHJpY2UiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgICA8c3Bhbj5SdWRyYWJoaXNoZWsgRnJvbTwvc3Bhbj4KICAgICAgICAgICAgPHN0cm9uZz7igrk0LDAwMDwvc3Ryb25nPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0icXVpY2stc3VtbWFyeSByZXZlYWwiPgogICAgICAgIDxoMz7inKYgUXVpY2sgU3VtbWFyeTogTWFzaWsgU2hpdnJhdHJpIDIwMjYgKyBCYWlkeWFuYXRoIERoYW0gVmlzaXQ8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxzdHJvbmc+TmV4dCBNYXNpayBTaGl2cmF0cmk6PC9zdHJvbmc+IE1heSAxNSwgMjAyNiAoSnllc2h0aGEgTWFzYSk8L2xpPgogICAgICAgICAgICA8bGk+PHN0cm9uZz5Ub3RhbCBNYXNpayBTaGl2cmF0cmlzIGluIDIwMjY6PC9zdHJvbmc+IDEyIG1vbnRobHkgb2JzZXJ2YW5jZXM8L2xpPgogICAgICAgICAgICA8bGk+PHN0cm9uZz5NYWhhIFNoaXZyYXRyaSAyMDI2Ojwvc3Ryb25nPiBGZWJydWFyeSAxNSAobW9zdCBwb3dlcmZ1bCk8L2xpPgogICAgICAgICAgICA8bGk+PHN0cm9uZz5SYXJlc3QgRGF0ZTo8L3N0cm9uZz4gSnVuIDEzIOKAlCBBZGhpa2EgTWFzYSAobWVyaXRzIG11bHRpcGxpZWQpPC9saT4KICAgICAgICAgICAgPGxpPjxzdHJvbmc+VGVtcGxlOjwvc3Ryb25nPiBCYWJhIEJhaWR5YW5hdGggSnlvdGlybGluZ2EsIERlb2doYXIsIEpoYXJraGFuZDwvbGk+CiAgICAgICAgICAgIDxsaT48c3Ryb25nPldoYXQgTWFrZXMgSXQgVW5pcXVlOjwvc3Ryb25nPiBPbmx5IEp5b3RpcmxpbmdhICsgU2hha3RpIFBlZXRoYSB0b2dldGhlcjwvbGk+CiAgICAgICAgICAgIDxsaT48c3Ryb25nPlNlcnZpY2VzOjwvc3Ryb25nPiBSdWRyYWJoaXNoZWsgwrcgVklQIERhcnNoYW4gwrcgU2Fua2FscCBQdWphIMK3IEdhdGhiYW5kaGFuIFB1amEgwrcgSG90ZWwgU3RheSDCtyBOZWFyYnkgVmlzaXRzPC9saT4KICAgICAgICAgICAgPGxpPjxzdHJvbmc+UnVkcmFiaGlzaGVrIENvc3Q6PC9zdHJvbmc+IOKCuTQsMDAwICgyIFBhbmRpdHMpIMK3IOKCuTYsNTAwICg0IFBhbmRpdHMpPC9saT4KICAgICAgICAgICAgPGxpPjxzdHJvbmc+Qm9vazo8L3N0cm9uZz4gcHVqYXB1cm9oaXQuaW4vbWFuZGlyLWRhcnNoYW4vYmFpZHlhbmF0aC10ZW1wbGU8L2xpPgogICAgICAgIDwvdWw+CiAgICA8L2Rpdj4KCiAgICA8YXJ0aWNsZSBjbGFzcz0iYmxvZy1jb250ZW50Ij4KCiAgICAgICAgPHA+RXZlcnkgbW9udGgsIG9uIHRoZSBDaGF0dXJkYXNoaSBUaXRoaSBvZiBLcmlzaG5hIFBha3NoYSwgdGhlIG5pZ2h0IHR1cm5zIHNhY3JlZC4gVGhpcyBpcyA8c3Ryb25nPk1hc2lrIFNoaXZyYXRyaTwvc3Ryb25nPiDigJQgdGhlIG1vbnRobHkgY29udmVyZ2VuY2Ugb2YgU2hpdmEgYW5kIFNoYWt0aSwgdGhlIG5pZ2h0IExvcmQgU2hpdmEgaXMgbW9zdCBhY2Nlc3NpYmxlIHRvIHRoZSBzaW5jZXJlIGRldm90ZWUuIFdoaWxlIE1haGEgU2hpdnJhdHJpIGNvbWVzIG9uY2UgYSB5ZWFyLCB0aGlzIG1vbnRobHkgbmlnaHQgb2YgU2hpdmEgZ2l2ZXMgZXZlcnkgZGV2b3RlZSB0d2VsdmUgb3Bwb3J0dW5pdGllcyB0byByZW5ldyB0aGVpciBkZXZvdGlvbiwgZnVsZmlsIHRoZWlyIHByYXllcnMsIGFuZCByZWNlaXZlIEJob2xlbmF0aCdzIGJvdW5kbGVzcyBncmFjZS48L3A+CgogICAgICAgIDxwPkFuZCB0aGVyZSBpcyBubyBiZXR0ZXIgcGxhY2UgdG8gcmVjZWl2ZSB0aGF0IGdyYWNlIHRoYW4gPHN0cm9uZz5CYWJhIEJhaWR5YW5hdGggRGhhbSBpbiBEZW9naGFyLCBKaGFya2hhbmQ8L3N0cm9uZz4g4oCUIEluZGlhJ3Mgb25seSBKeW90aXJsaW5nYSB0aGF0IGlzIHNpbXVsdGFuZW91c2x5IGEgU2hha3RpIFBlZXRoYS4gVGhlIGNvbWJpbmVkIGVuZXJneSBvZiBTaGl2YSBhbmQgU2hha3RpIGF0IHRoaXMgc2luZ2xlIHNhY3JlZCBzaXRlIG1ha2VzIGV2ZXJ5IE1hc2lrIFNoaXZyYXRyaSBkYXJzaGFuIGhlcmUgYW4gZXhwZXJpZW5jZSB0aGF0IGRldm90ZWVzIGNhcnJ5IGluIHRoZWlyIGhlYXJ0cyBmb3IgYSBsaWZldGltZS48L3A+CgogICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodC1ib3giPgogICAgICAgICAgICAiSSBoYWQgcGxhbm5lZCBmb3IgTWFoYSBTaGl2cmF0cmkgZm9yIHllYXJzIGFuZCBhbHdheXMgbWlzc2VkIGl0LiBUaGVuIEkgcmVhbGlzZWQg4oCUIHRoZXJlIGlzIGEgU2hpdnJhdHJpIGV2ZXJ5IG1vbnRoLiBJIGJvb2tlZCB0aHJvdWdoIFB1amEgUHVyb2hpdCBmb3IgdGhlIE9jdG9iZXIgTWFzaWsgU2hpdnJhdHJpLCBkaWQgUnVkcmFiaGlzaGVrIGF0IEJhaWR5YW5hdGggZWFybHkgbW9ybmluZywgYW5kIGl0IHdhcyBhbW9uZyB0aGUgbW9zdCBwb3dlcmZ1bCBzcGlyaXR1YWwgZXhwZXJpZW5jZXMgb2YgbXkgbGlmZS4gSGFyIEhhciBNYWhhZGV2LiIg4oCUIEEgZGV2b3RlZSBmcm9tIFBhdG5hCiAgICAgICAgPC9kaXY+CgogICAgICAgIDxoMiBjbGFzcz0icmV2ZWFsIj5BbGwgTWFzaWsgU2hpdnJhdHJpIERhdGVzIGluIDIwMjYg4oCUIENvbXBsZXRlIENhbGVuZGFyIHdpdGggVGltaW5nczwvaDI+CiAgICAgICAgPHA+TWFzaWsgU2hpdnJhdHJpIGZhbGxzIG9uIHRoZSBDaGF0dXJkYXNoaSBUaXRoaSBvZiBLcmlzaG5hIFBha3NoYSBldmVyeSBtb250aCDigJQgdGhlIDE0dGggZGF5IG9mIHRoZSB3YW5pbmcgbW9vbiwgdGhlIG5pZ2h0IGJlZm9yZSBBbWF2YXN5YS4gSGVyZSBpcyB0aGUgY29tcGxldGUgdmVyaWZpZWQgMjAyNiBjYWxlbmRhciB3aXRoIENoYXR1cmRhc2hpIFRpdGhpIHN0YXJ0IGFuZCBlbmQgdGltZXMgKGFsbCBpbiBJU1QpOjwvcD4KCiAgICAgICAgPHRhYmxlIGNsYXNzPSJzaGl2cmF0cmktY2FsZW5kYXIgcmV2ZWFsIj4KICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0aD4jPC90aD4KICAgICAgICAgICAgICAgICAgICA8dGg+RGF0ZSAmIERheTwvdGg+CiAgICAgICAgICAgICAgICAgICAgPHRoPk1hc2EgKE1vbnRoKTwvdGg+CiAgICAgICAgICAgICAgICAgICAgPHRoPlRpdGhpIFRpbWluZ3MgKElTVCk8L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aD5TaWduaWZpY2FuY2U8L3RoPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZD4xPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImNhbC1kYXRlIj5KYW4gMTY8c3BhbiBjbGFzcz0iZGF5Ij5GcmlkYXk8L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjYWwtbWFzYSI+TWFnaGEgTWFzYTxzcGFuIGNsYXNzPSJzdWIiPkZpcnN0IE1hc2lrIFNoaXZyYXRyaSBvZiAyMDI2PC9zcGFuPjwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY2FsLXRpbWluZyI+U3RhcnRzOiBKYW4gMTYsIDEwOjIzIFBNPGJyPkVuZHM6IEphbiAxOCwgMTI6MDYgQU08L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iYmFkZ2Utc3BlY2lhbCBicy12aXNpdCI+VmlzaXQgQmFpZHlhbmF0aDwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0ibWFoYSI+CiAgICAgICAgICAgICAgICAgICAgPHRkPjI8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iY2FsLWRhdGUiPkZlYiAxNTxzcGFuIGNsYXNzPSJkYXkiPlN1bmRheTwvc3Bhbj48L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImNhbC1tYXNhIj5QaGFsZ3VuYSBNYXNhPHNwYW4gY2xhc3M9InN1YiI+TW9zdCBTYWNyZWQgTmlnaHQgb2YgdGhlIFllYXI8L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjYWwtdGltaW5nIj5TdGFydHM6IEZlYiAxNSwgNTowNiBQTTxicj5FbmRzOiBGZWIgMTYsIDU6MzYgUE08L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iYmFkZ2Utc3BlY2lhbCBicy1tYWhhIj5NYWhhIFNoaXZyYXRyaSDirZA8L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkPjM8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iY2FsLWRhdGUiPk1hciAxNzxzcGFuIGNsYXNzPSJkYXkiPlR1ZXNkYXk8L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjYWwtbWFzYSI+Q2hhaXRyYSBNYXNhPHNwYW4gY2xhc3M9InN1YiI+SGluZHUgTmV3IFllYXIgcGVyaW9kPC9zcGFuPjwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY2FsLXRpbWluZyI+U3RhcnRzOiBNYXIgMTcsIDk6MjQgQU08YnI+RW5kczogTWFyIDE4LCA4OjI2IEFNPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImJhZGdlLXNwZWNpYWwgYnMtdmlzaXQiPlZpc2l0IEJhaWR5YW5hdGg8L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkPjQ8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iY2FsLWRhdGUiPkFwciAxNTxzcGFuIGNsYXNzPSJkYXkiPldlZG5lc2RheTwvc3Bhbj48L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImNhbC1tYXNhIj5WYWlzaGFraGEgTWFzYTxzcGFuIGNsYXNzPSJzdWIiPkhpZ2hseSBwdXJpZnlpbmcgbW9udGg8L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjYWwtdGltaW5nIj5TdGFydHM6IEFwciAxNSwgMTA6MzIgUE08YnI+RW5kczogQXByIDE2LCA4OjEyIFBNPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImJhZGdlLXNwZWNpYWwgYnMtdmlzaXQiPlZpc2l0IEJhaWR5YW5hdGg8L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHIgY2xhc3M9InRvZGF5LXJvdyI+CiAgICAgICAgICAgICAgICAgICAgPHRkPjU8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iY2FsLWRhdGUiPk1heSAxNTxzcGFuIGNsYXNzPSJkYXkiPkZyaWRheTwvc3Bhbj48L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImNhbC1tYXNhIj5KeWVzaHRoYSBNYXNhPHNwYW4gY2xhc3M9InN1YiI+VmljdG9yeSBvdmVyIGlubmVyIGVuZW1pZXM8L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjYWwtdGltaW5nIj5TdGFydHM6IE1heSAxNSwgODozMyBBTTxicj5FbmRzOiBNYXkgMTYsIDU6MTIgQU08L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iYmFkZ2Utc3BlY2lhbCBicy10b2RheSI+VXBjb21pbmcg4pymPC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJzcGVjaWFsIj4KICAgICAgICAgICAgICAgICAgICA8dGQ+NjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjYWwtZGF0ZSI+SnVuIDEzPHNwYW4gY2xhc3M9ImRheSI+U2F0dXJkYXk8L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjYWwtbWFzYSI+QWRoaWthIEp5ZXNodGhhIE1hc2E8c3BhbiBjbGFzcz0ic3ViIj5JbnRlcmNhbGFyeSBtb250aCDigJQgcmFyZXN0IG9jY3VycmVuY2U8L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjYWwtdGltaW5nIj5TdGFydHM6IEp1biAxMywgNDowOCBQTTxicj5FbmRzOiBKdW4gMTQsIDEyOjIxIFBNPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImJhZGdlLXNwZWNpYWwgYnMtYWRoaWsiPkFkaGlrYSBNYXNhIO2gve20pTwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQ+NzwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjYWwtZGF0ZSI+SnVsIDEyPHNwYW4gY2xhc3M9ImRheSI+U3VuZGF5PC9zcGFuPjwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iY2FsLW1hc2EiPkFzaGFkaGEgTWFzYTxzcGFuIGNsYXNzPSJzdWIiPkJhZWwgbGVhZiBvZmZlcmluZ3MgcmVtb3ZlIHBhc3Qgc2luczwvc3Bhbj48L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNhbC10aW1pbmciPlN0YXJ0czogSnVsIDEyLCAxMDozMSBQTTxicj5FbmRzOiBKdWwgMTMsIDY6NTEgUE08L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iYmFkZ2Utc3BlY2lhbCBicy12aXNpdCI+VmlzaXQgQmFpZHlhbmF0aDwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQ+ODwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjYWwtZGF0ZSI+QXVnIDExPHNwYW4gY2xhc3M9ImRheSI+VHVlc2RheTwvc3Bhbj48L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImNhbC1tYXNhIj5CaGFkcmFwYWRhIE1hc2E8c3BhbiBjbGFzcz0ic3ViIj5DaGF0dXJtYXMg4oCUIG1hcml0YWwgaGFybW9ueTwvc3Bhbj48L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNhbC10aW1pbmciPlN0YXJ0czogQXVnIDExLCA0OjU1IEFNPGJyPkVuZHM6IEF1ZyAxMiwgMTo1NCBBTTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJiYWRnZS1zcGVjaWFsIGJzLXZpc2l0Ij5TaHJhdmFuIFNlYXNvbjwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQ+OTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjYWwtZGF0ZSI+U2VwIDk8c3BhbiBjbGFzcz0iZGF5Ij5XZWRuZXNkYXk8L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjYWwtbWFzYSI+QXNod2luYSBNYXNhPHNwYW4gY2xhc3M9InN1YiI+QmVmb3JlIE5hdnJhdHJpIOKAlCBkb3VibGUgcG93ZXI8L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjYWwtdGltaW5nIj5TdGFydHM6IFNlcCA5LCAxMjozMiBQTTxicj5FbmRzOiBTZXAgMTAsIDEwOjM1IEFNPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImJhZGdlLXNwZWNpYWwgYnMtdmlzaXQiPlZpc2l0IEJhaWR5YW5hdGg8L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkPjEwPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImNhbC1kYXRlIj5PY3QgODxzcGFuIGNsYXNzPSJkYXkiPlRodXJzZGF5PC9zcGFuPjwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iY2FsLW1hc2EiPkthcnRpa2EgTWFzYTxzcGFuIGNsYXNzPSJzdWIiPkRlYXJlc3QgbW9udGggdG8gTG9yZCBTaGl2YTwvc3Bhbj48L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNhbC10aW1pbmciPlN0YXJ0czogT2N0IDgsIDEwOjE3IFBNPGJyPkVuZHM6IE9jdCA5LCA5OjM3IFBNPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImJhZGdlLXNwZWNpYWwgYnMtYWRoaWsiPkthcnRpa2EgU2hpdnJhdHJpIOKtkDwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQ+MTE8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iY2FsLWRhdGUiPk5vdiA3PHNwYW4gY2xhc3M9ImRheSI+U2F0dXJkYXk8L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjYWwtbWFzYSI+TWFyZ2FzaGlyc2hhIE1hc2E8c3BhbiBjbGFzcz0ic3ViIj5Qb3N0LU5hdnJhdHJpLCBkZWVwbHkgYXVzcGljaW91czwvc3Bhbj48L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNhbC10aW1pbmciPlN0YXJ0czogTm92IDcsIDEwOjQ5IEFNPGJyPkVuZHM6IE5vdiA4LCAxMToyOSBBTTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJiYWRnZS1zcGVjaWFsIGJzLXZpc2l0Ij5WaXNpdCBCYWlkeWFuYXRoPC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZD4xMjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjYWwtZGF0ZSI+RGVjIDc8c3BhbiBjbGFzcz0iZGF5Ij5Nb25kYXk8L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJjYWwtbWFzYSI+UGF1c2hhIE1hc2E8c3BhbiBjbGFzcz0ic3ViIj5TaGl2cmF0cmkgb24gTW9uZGF5IOKAlCByYXJlc3QgYmxlc3Npbmc8L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjYWwtdGltaW5nIj5TdGFydHM6IERlYyA3LCAxOjM1IFBNPGJyPkVuZHM6IERlYyA4LCAyOjMzIFBNPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImJhZGdlLXNwZWNpYWwgYnMtbWFoYSI+U29tdmFyIFNoaXZyYXRyaSDtoLztvJk8L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgPC90YWJsZT4KCiAgICAgICAgPGRpdiBjbGFzcz0idXJnZW5jeS1zdHJpcCByZXZlYWwiPgogICAgICAgICAgICA8aW1nIGNsYXNzPSJpY29uIiBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC90d2l0dGVyL3R3ZW1vamlAMTQuMC4yL2Fzc2V0cy83Mng3Mi8yNmEwLnBuZyIgYWx0PSJOb3RlIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxoND5TcGVjaWFsIERhdGVzIHRvIE5vdGUgaW4gMjAyNjwvaDQ+CiAgICAgICAgICAgICAgICA8cD48c3Ryb25nPkZlYiAxNTwvc3Ryb25nPiBpcyBNYWhhIFNoaXZyYXRyaSDigJQgdGhlIGdyZWF0ZXN0IG9mIGFsbC4gPHN0cm9uZz5KdW4gMTM8L3N0cm9uZz4gZmFsbHMgaW4gQWRoaWthIE1hc2EgKGludGVyY2FsYXJ5IG1vbnRoKSDigJQgcHVqYSBtZXJpdHMgYXJlIGJlbGlldmVkIHRvIGJlIG11bHRpcGxpZWQgbWFueSB0aW1lcyBvdmVyLiA8c3Ryb25nPkRlYyA3PC9zdHJvbmc+IGZhbGxzIG9uIGEgTW9uZGF5IOKAlCBhIFNvbXZhciBTaGl2cmF0cmksIGNvbnNpZGVyZWQgYW1vbmcgdGhlIHJhcmVzdCBhbmQgbW9zdCBwb3dlcmZ1bCBjb21iaW5hdGlvbnMgaW4gdGhlIEhpbmR1IGNhbGVuZGFyLiBQbGFuIHlvdXIgQmFpZHlhbmF0aCBEaGFtIHZpc2l0IGZvciBhbnkgb2YgdGhlc2UgZGF0ZXMuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGgyIGNsYXNzPSJyZXZlYWwiPldoeSBWaXNpdCBCYWlkeWFuYXRoIERoYW0gb24gTWFzaWsgU2hpdnJhdHJpPzwvaDI+CgogICAgICAgIDxwPllvdSBjb3VsZCBvYnNlcnZlIE1hc2lrIFNoaXZyYXRyaSBhbnl3aGVyZSDigJQgYXQgeW91ciBob21lIHRlbXBsZSwgYXQgdGhlIGxvY2FsIFNoaXZhbGluZ2EsIGluIHF1aWV0IHByYXllci4gQW5kIEJob2xlbmF0aCByZWNlaXZlcyBldmVyeSBwcmF5ZXIgd2l0aCBlcXVhbCBncmFjZS4gQnV0IDxzdHJvbmc+QmFpZHlhbmF0aCBEaGFtIGluIERlb2doYXI8L3N0cm9uZz4gaXMgbm90IGFuIG9yZGluYXJ5IFNoaXZhIHRlbXBsZS4gSXQgaXMgb25lIG9mIHRoZSB0d2VsdmUgSnlvdGlybGluZ2FzIOKAlCB0aGUgc2VsZi1tYW5pZmVzdGVkIHBpbGxhcnMgb2Ygc2FjcmVkIGxpZ2h0IHRocm91Z2ggd2hpY2ggTG9yZCBTaGl2YSdzIHByZXNlbmNlIGlzIG1vc3QgY29uY2VudHJhdGVkIG9uIGVhcnRoLiBBbmQgaXQgaXMgdGhlIDxlbT5vbmx5PC9lbT4gSnlvdGlybGluZ2EgaW4gSW5kaWEgdGhhdCBpcyBzaW11bHRhbmVvdXNseSBhIDxzdHJvbmc+U2hha3RpIFBlZXRoYTwvc3Ryb25nPiDigJQgdGhlIHNpdGUgd2hlcmUgR29kZGVzcyBTYXRpJ3MgaGVhcnQgaXMgYmVsaWV2ZWQgdG8gaGF2ZSBmYWxsZW4sIG1ha2luZyBpdCB0aGUgbW9zdCBjb21wbGV0ZSBjb252ZXJnZW5jZSBvZiBTaGl2YSBhbmQgU2hha3RpIGVuZXJneSBvbiB0aGUgc3ViY29udGluZW50LjwvcD4KCiAgICAgICAgPHA+T24gTWFzaWsgU2hpdnJhdHJpLCB3aGVuIHRoZSB2ZWlsIGJldHdlZW4gdGhlIGRldm90ZWUgYW5kIHRoZSBkaXZpbmUgaXMgdGhpbm5lc3QsIGJlaW5nIHByZXNlbnQgYXQgdGhpcyBzcGVjaWZpYyBKeW90aXJsaW5nYSBhbXBsaWZpZXMgZXZlcnkgcHJheWVyLCBldmVyeSBSdWRyYWJoaXNoZWssIGFuZCBldmVyeSBzaW5jZXJlIHRlYXIgb2ZmZXJlZCBhdCB0aGUgc2FuY3R1bS4gVGhpcyBpcyB3aHkgbGFraHMgb2YgZGV2b3RlZXMgcGxhbiB0aGVpciB5ZWFyIGFyb3VuZCB0aGUgdHdlbHZlIE1hc2lrIFNoaXZyYXRyaXMgb2YgQmFpZHlhbmF0aCBEaGFtIOKAlCBlYWNoIG9uZSBhIG1vbnRobHkgcGlsZ3JpbWFnZSBvZiByZW5ld2FsLjwvcD4KCiAgICAgICAgPGRpdiBjbGFzcz0iYmVsaWVmLXN0cmlwIHJldmVhbCI+CiAgICAgICAgICAgIDxoMz5CYWlkeWFuYXRoIOKAlCBUaGUgRGl2aW5lIEhlYWxlcjwvaDM+CiAgICAgICAgICAgIDxwPlRoZSBuYW1lIEJhaWR5YW5hdGggY29tZXMgZnJvbSA8ZW0+VmFpZHlhbmF0aGE8L2VtPiDigJQgU2hpdmEgYXMgdGhlIFN1cHJlbWUgUGh5c2ljaWFuIChWYWlkeWEpLiBBY2NvcmRpbmcgdG8gbGVnZW5kLCBSYXZhbmEgd29yc2hpcHBlZCBMb3JkIFNoaXZhIGhlcmUgd2l0aCBzdWNoIGludGVuc2UgZGV2b3Rpb24gdGhhdCBTaGl2YSBtYW5pZmVzdGVkIGFzIHRoZSBoZWFsZXIgb2YgYWxsIHN1ZmZlcmluZy4gUGVyZm9ybWluZyBSdWRyYWJoaXNoZWsgYXQgdGhpcyBKeW90aXJsaW5nYSBvbiBNYXNpayBTaGl2cmF0cmkgaXMgc2FpZCBub3Qgb25seSB0byBncmFudCB3aXNoZXMg4oCUIGl0IGhlYWxzLiBQaHlzaWNhbCBhaWxtZW50cywgZW1vdGlvbmFsIHdvdW5kcywgZmluYW5jaWFsIHN0cmFpbiwga2FybWljIGJ1cmRlbnMg4oCUIGRldm90ZWVzIGhhdmUgcmVwb3J0ZWQgZXh0cmFvcmRpbmFyeSByZWxpZWYgYWZ0ZXIgc2luY2VyZSB3b3JzaGlwIGhlcmUuIEhhciBIYXIgTWFoYWRldi48L3A+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxoMiBjbGFzcz0icmV2ZWFsIj5PdXIgU2VydmljZXMgYXQgQmFpZHlhbmF0aCBEaGFtIOKAlCBFdmVyeXRoaW5nIEFycmFuZ2VkIGZvciBZb3U8L2gyPgogICAgICAgIDxwPlB1amEgUHVyb2hpdCBtYW5hZ2VzIHRoZSBjb21wbGV0ZSBlbmQtdG8tZW5kIHBpbGdyaW1hZ2UgZXhwZXJpZW5jZSBhdCBCYWlkeWFuYXRoIERoYW0gc28geW91IGFycml2ZSBhcyBhIGRldm90ZWUg4oCUIG5vdCBhIGxvZ2lzdGljcyBtYW5hZ2VyLiBFdmVyeSBzZXJ2aWNlIGJlbG93IGlzIGJvb2thYmxlIGluIGFkdmFuY2UgZm9yIHlvdXIgY2hvc2VuIE1hc2lrIFNoaXZyYXRyaSBkYXRlOjwvcD4KCiAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZXMtZ3JpZCByZXZlYWwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWNhcmQiPgogICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ic3ZjLWljb24iIHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL3R3aXR0ZXIvdHdlbW9qaUAxNC4wLjIvYXNzZXRzLzcyeDcyLzFmNmUyLnBuZyIgYWx0PSJSdWRyYWJoaXNoZWsiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgICAgICAgPGg0PlJ1ZHJhYmhpc2hlayBhdCBKeW90aXJsaW5nYTwvaDQ+CiAgICAgICAgICAgICAgICA8cD5UaGUgbW9zdCBzYWNyZWQgVmVkaWMgcml0dWFsIGF0IEJhaWR5YW5hdGgg4oCUIHRoZSBob2x5IGJhdGhpbmcgb2YgdGhlIFNoaXZhbGluZ2Egd2l0aCBQYW5jaGFtcml0LCBHYW5nYWphbCwgbWlsaywgaG9uZXksIGFuZCBnaGVlIHdoaWxlIFJ1ZHJhIFN1a3RhIG1hbnRyYXMgZnJvbSB0aGUgWWFqdXJ2ZWRhIGFyZSBjaGFudGVkIGJ5IHRyYWluZWQgdGVtcGxlIFBhbmRpdHMuIFBlcmZvcm1lZCBkaXJlY3RseSBhdCB0aGUgc2FuY3R1bSBzYW5jdG9ydW0gb2YgQmFiYSBCYWlkeWFuYXRoLiBCZWxpZXZlZCB0byBjbGVhbnNlIHBhc3Qga2FybWEsIGhlYWwgcGh5c2ljYWwgYW5kIGVtb3Rpb25hbCBwYWluLCBhbmQgZnVsZmlsIHNpbmNlcmUgZGVzaXJlcy48L3A+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJpY2UtdGFnIj7igrk0LDAwMCDCtyAyIFBhbmRpdHMgJm5ic3A7fCZuYnNwOyDigrk2LDUwMCDCtyA0IFBhbmRpdHM8L3NwYW4+CiAgICAgICAgICAgICAgICA8YnI+PGEgY2xhc3M9ImJvb2stbGluayIgaHJlZj0iaHR0cHM6Ly93d3cucHVqYXB1cm9oaXQuaW4vbWFuZGlyLWRhcnNoYW4vYmFpZHlhbmF0aC10ZW1wbGUiPkJvb2sgUnVkcmFiaGlzaGVrIOKGkjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtY2FyZCI+CiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJzdmMtaWNvbiIgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvdHdpdHRlci90d2Vtb2ppQDE0LjAuMi9hc3NldHMvNzJ4NzIvMmI1MC5wbmciIGFsdD0iVklQIERhcnNoYW4iIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgICAgICAgPGg0PlZJUCBEYXJzaGFuIFBhc3MgKFNoaWdocmEgRGFyc2hhbik8L2g0PgogICAgICAgICAgICAgICAgPHA+T24gTWFzaWsgU2hpdnJhdHJpLCB0aGUgdGVtcGxlIHNlZXMgbWFzc2l2ZSBmb290ZmFsbCDigJQgdGhvdXNhbmRzIG9mIGRldm90ZWVzIHF1ZXVlIGZyb20gdGhlIGVhcmx5IGhvdXJzLiBPdXIgcHJlLWFycmFuZ2VkIDxzdHJvbmc+U2hpZ2hyYSBEYXJzaGFuIChWSVApIHBhc3M8L3N0cm9uZz4gZ2l2ZXMgcHJpb3JpdHkgZW50cnkgdG8gdGhlIEp5b3RpcmxpbmdhLCBzaWduaWZpY2FudGx5IHJlZHVjaW5nIHlvdXIgd2FpdCB0aW1lIGFuZCBlbnN1cmluZyB5b3UgaGF2ZSBhIHNlcmVuZSwgdW5odXJyaWVkIG1vbWVudCB3aXRoIEJhYmEuIEVzcGVjaWFsbHkgcmVjb21tZW5kZWQgZm9yIGVsZGVybHkgZGV2b3RlZXMsIGZhbWlsaWVzIHdpdGggY2hpbGRyZW4sIGFuZCB0aG9zZSB2aXNpdGluZyBEZW9naGFyIGZvciB0aGUgZmlyc3QgdGltZS48L3A+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJpY2UtdGFnIj5BcnJhbmdlZCB3aXRoIHlvdXIgYm9va2luZzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxicj48YSBjbGFzcz0iYm9vay1saW5rIiBocmVmPSJodHRwczovL3d3dy5wdWphcHVyb2hpdC5pbi9tYW5kaXItZGFyc2hhbi9iYWlkeWFuYXRoLXRlbXBsZSI+Qm9vayBWSVAgUGFzcyDihpI8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWNhcmQiPgogICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ic3ZjLWljb24iIHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL3R3aXR0ZXIvdHdlbW9qaUAxNC4wLjIvYXNzZXRzLzcyeDcyLzFmNTRmLnBuZyIgYWx0PSJTYW5rYWxwIFB1amEiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgICAgICAgPGg0PlNhbmthbHAgUHVqYTwvaDQ+CiAgICAgICAgICAgICAgICA8cD5UaGUgU2Fua2FscCAoc2FjcmVkIGludGVudGlvbikgaXMgdGhlIGZvcm1hbCBkZWNsYXJhdGlvbiBvZiB5b3VyIHByYXllciB0byBCYWJhIEJhaWR5YW5hdGgg4oCUIHlvdXIgbmFtZSwgZ290cmEsIGFuZCB0aGUgc3BlY2lmaWMgZGVzaXJlIG9yIGdyYXRpdHVkZSB5b3UgYnJpbmcgdG8gdGhlIEp5b3RpcmxpbmdhLiBBIFBhbmRpdCBwZXJmb3JtcyB0aGUgU2Fua2FscCBvbiB5b3VyIGJlaGFsZiBkaXJlY3RseSBiZWZvcmUgdGhlIGRlaXR5LCBtYWtpbmcgeW91ciBwcmF5ZXIgZm9ybWFsbHkgcmVjZWl2ZWQgYnkgdGhlIGRpdmluZS4gRXNzZW50aWFsIGZvciBhbnlvbmUgc2Vla2luZyBhIHNwZWNpZmljIGJsZXNzaW5nIOKAlCBtYXJyaWFnZSwgaGVhbHRoLCBjYXJlZXIsIG9yIGNoaWxkLjwvcD4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS10YWciPkluY2x1ZGVkIGluIG1vc3QgcGFja2FnZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8YnI+PGEgY2xhc3M9ImJvb2stbGluayIgaHJlZj0iaHR0cHM6Ly93d3cucHVqYXB1cm9oaXQuaW4vbWFuZGlyLWRhcnNoYW4vYmFpZHlhbmF0aC10ZW1wbGUiPkJvb2sgU2Fua2FscCBQdWphIOKGkjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtY2FyZCI+CiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJzdmMtaWNvbiIgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvdHdpdHRlci90d2Vtb2ppQDE0LjAuMi9hc3NldHMvNzJ4NzIvMWY0OTEucG5nIiBhbHQ9IkdhdGhiYW5kaGFuIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgICAgICAgIDxoND5HYXRoYmFuZGhhbiBQdWphPC9oND4KICAgICAgICAgICAgICAgIDxwPkEgZGVlcGx5IG1lYW5pbmdmdWwgcml0dWFsIGZvciBtYXJyaWVkIGNvdXBsZXMgYW5kIHRob3NlIGFib3V0IHRvIGJlIG1hcnJpZWQg4oCUIHRoZSBHYXRoIChzYWNyZWQgdGhyZWFkKSBpcyB0aWVkIGF0IHRoZSBCYWlkeWFuYXRoIEp5b3RpcmxpbmdhIHdoaWxlIHRoZSBQYW5kaXQgcmVjaXRlcyBtYW50cmFzIGZvciBldGVybmFsIG1hcml0YWwgYm9uZCwgcHJvdGVjdGlvbiwgYW5kIHRvZ2V0aGVybmVzcy4gU2luY2UgQmFpZHlhbmF0aCBEaGFtIGlzIGFsc28gYSBTaGFrdGkgUGVldGhhLCB0aGUgY29tYmluZWQgU2hpdmEtU2hha3RpIGJsZXNzaW5nIGhlcmUgZm9yIGNvdXBsZXMgaXMgdW5wYXJhbGxlbGVkLiBBIGNoZXJpc2hlZCBtZW1vcnkgZm9yIGV2ZXJ5IGNvdXBsZSB3aG8gcGVyZm9ybXMgaXQuPC9wPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLXRhZyI+Qm9va2FibGUgZm9yIGNvdXBsZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8YnI+PGEgY2xhc3M9ImJvb2stbGluayIgaHJlZj0iaHR0cHM6Ly93d3cucHVqYXB1cm9oaXQuaW4vbWFuZGlyLWRhcnNoYW4vYmFpZHlhbmF0aC10ZW1wbGUiPkJvb2sgR2F0aGJhbmRoYW4g4oaSPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1jYXJkIj4KICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9InN2Yy1pY29uIiBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC90d2l0dGVyL3R3ZW1vamlAMTQuMC4yL2Fzc2V0cy83Mng3Mi8xZjNlOC5wbmciIGFsdD0iSG90ZWwgU3RheSIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICAgICAgICA8aDQ+SG90ZWwgU3RheSBBc3Npc3RhbmNlIE5lYXIgVGVtcGxlPC9oND4KICAgICAgICAgICAgICAgIDxwPkRlb2doYXIgaGFzIDEzMCsgaG90ZWxzIGFuZCBkaGFyYW1zaGFsYXMg4oCUIGZyb20gYnVkZ2V0IHlhdHJpIG5pd2FzICjigrkzMDAvbmlnaHQpIHdpdGhpbiAyMDDigJM1MDAgbWV0cmVzIG9mIHRoZSB0ZW1wbGUgdG8gQUMgaG90ZWxzIGZvciBjb21mb3J0YWJsZSBmYW1pbHkgc3RheXMuIFdlIGFzc2lzdCB3aXRoIGhvdGVsIGJvb2tpbmcgbmVhciBCYWlkeWFuYXRoIERoYW0gYXMgcGFydCBvZiB0aGUgY29tcGxldGUgcGlsZ3JpbWFnZSBwYWNrYWdlLiBBZHZhbmNlIGJvb2tpbmcgaXMgZXNzZW50aWFsIG9uIE1hc2lrIFNoaXZyYXRyaSBkYXRlcyB3aGVuIHRoZSB0b3duIGZpbGxzIHVwIGZhc3QuPC9wPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLXRhZyI+QnVkZ2V0IHRvIENvbWZvcnQgb3B0aW9uczwvc3Bhbj4KICAgICAgICAgICAgICAgIDxicj48YSBjbGFzcz0iYm9vay1saW5rIiBocmVmPSJodHRwczovL3d3dy5wdWphcHVyb2hpdC5pbi9tYW5kaXItZGFyc2hhbi9iYWlkeWFuYXRoLXRlbXBsZSI+QXJyYW5nZSBTdGF5IOKGkjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtY2FyZCI+CiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJzdmMtaWNvbiIgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvdHdpdHRlci90d2Vtb2ppQDE0LjAuMi9hc3NldHMvNzJ4NzIvMWY1ZmEucG5nIiBhbHQ9Ik5lYXJieSBWaXNpdCIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICAgICAgICA8aDQ+TmVhcmJ5IFRlbXBsZSAmIFBsYWNlIFZpc2l0czwvaDQ+CiAgICAgICAgICAgICAgICA8cD5EZW9naGFyIGFuZCBpdHMgc3Vycm91bmRpbmdzIGhvbGQgc2V2ZXJhbCBzYWNyZWQgc2l0ZXMgd29ydGggdmlzaXRpbmcgYWZ0ZXIgeW91ciBCYWlkeWFuYXRoIGRhcnNoYW46IDxzdHJvbmc+QmFzdWtpbmF0aCBUZW1wbGU8L3N0cm9uZz4gKDM1IGttKSwgPHN0cm9uZz5UcmlrdXRhIEhpbGwgJiBSb3Bld2F5PC9zdHJvbmc+LCA8c3Ryb25nPk5hdWxha2hhIE1hbmRpcjwvc3Ryb25nPiwgPHN0cm9uZz5TaGl2IEdhbmdhIEt1bmQ8L3N0cm9uZz4sIGFuZCA8c3Ryb25nPlRhcG92YW4gQ2F2ZXM8L3N0cm9uZz4uIFdlIGFycmFuZ2UgZ3VpZGVkIHZpc2l0cywgdHJhbnNwb3J0LCBhbmQgc2NoZWR1bGluZyBzbyB5b3Ugc2VlIGFsbCB0aGUgc2FjcmVkIHNpdGVzIGFyb3VuZCBEZW9naGFyIGluIGEgc2luZ2xlIHdlbGwtb3JnYW5pemVkIGRheS48L3A+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJpY2UtdGFnIj5UcmFuc3BvcnQgJiBndWlkZSBhcnJhbmdlZDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxicj48YSBjbGFzcz0iYm9vay1saW5rIiBocmVmPSJodHRwczovL3d3dy5wdWphcHVyb2hpdC5pbi9tYW5kaXItZGFyc2hhbi9iYWlkeWFuYXRoLXRlbXBsZSI+UGxhbiBOZWFyYnkgVmlzaXRzIOKGkjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxoMiBjbGFzcz0icmV2ZWFsIj5Ib3cgdG8gUGxhbiBZb3VyIEJhaWR5YW5hdGggRGhhbSBWaXNpdCBvbiBNYXNpayBTaGl2cmF0cmk8L2gyPgogICAgICAgIDxwPlBsYW5uaW5nIHdlbGwgaW4gYWR2YW5jZSBtYWtlcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgY2hhb3RpYyB2aXNpdCBhbmQgYSBkZWVwbHkgc3Bpcml0dWFsIHBpbGdyaW1hZ2UuIEhlcmUgaXMgdGhlIGlkZWFsIHR3by1kYXkgcGxhbiBmb3IgYSBNYXNpayBTaGl2cmF0cmkgdmlzaXQgdG8gQmFpZHlhbmF0aCBEaGFtOjwvcD4KCiAgICAgICAgPGRpdiBjbGFzcz0iY2hhcHRlcnMtbGlzdCByZXZlYWwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFwdGVyLWl0ZW0iPgogICAgICAgICAgICAgICAgPGg0PkRheSBCZWZvcmUgU2hpdnJhdHJpIOKAlCBUcmF2ZWwgJiBBcnJpdmFsIGF0IERlb2doYXI8L2g0PgogICAgICAgICAgICAgICAgPHA+QXJyaXZlIGluIERlb2doYXIgdGhlIGV2ZW5pbmcgYmVmb3JlIHlvdXIgTWFzaWsgU2hpdnJhdHJpIGRhdGUuIERlb2doYXIgaXMgYWNjZXNzaWJsZSBieSBhaXIgKERlb2doYXIgSW50ZXJuYXRpb25hbCBBaXJwb3J0IOKAlCA3IGttIGZyb20gdGhlIHRlbXBsZSksIGJ5IHRyYWluIChCYWlkeWFuYXRoZGhhbSBSYWlsd2F5IFN0YXRpb24pLCBhbmQgYnkgcm9hZCBmcm9tIEpoYXJraGFuZCwgQmloYXIsIFdlc3QgQmVuZ2FsLCBhbmQgT2Rpc2hhLiBTZXR0bGUgaW50byB5b3VyIGhvdGVsIG5lYXIgdGhlIHRlbXBsZSwgY29sbGVjdCB5b3VyIEdhbmdhamFsIGlmIGF2YWlsYWJsZSwgYW5kIHJlc3QuIE91ciBhaXJwb3J0L3N0YXRpb24gcGlja3VwIHNlcnZpY2UgKOKCuTgwMCBmb3IgdXAgdG8gNCBwZW9wbGUpIGlzIGJvb2thYmxlIGluIGFkdmFuY2UuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcHRlci1pdGVtIj4KICAgICAgICAgICAgICAgIDxoND5NYXNpayBTaGl2cmF0cmkgTW9ybmluZyDigJQgRWFybHkgRGFyc2hhbiAmIFJ1ZHJhYmhpc2hlazwvaDQ+CiAgICAgICAgICAgICAgICA8cD5XYWtlIHVwIGJ5IDM6MzDigJM0OjAwIEFNLiBUaGUgdGVtcGxlIG9wZW5zIGF0IDQ6MDAgQU0gb24gTWFzaWsgU2hpdnJhdHJpLiBUaGlzIGlzIHRoZSBiZXN0IHRpbWUg4oCUIHRoZSBhdG1vc3BoZXJlIGF0IEJhaWR5YW5hdGggRGhhbSBpbiB0aGUgcHJlLWRhd24gaG91cnMgaXMgaW5kZXNjcmliYWJsZS4gV2l0aCB5b3VyIFZJUCBEYXJzaGFuIFBhc3MgcHJlLWFycmFuZ2VkLCBlbnRlciB0aGUgdGVtcGxlIHRocm91Z2ggdGhlIHByaW9yaXR5IHF1ZXVlLiBUaGUgUnVkcmFiaGlzaGVrIGF0IHRoZSBKeW90aXJsaW5nYSBiZWdpbnMgYXQgdGhlIGZpcnN0IFByYWhhciAod2F0Y2gsIDY6MDDigJM5OjAwIEFNKSDigJQgb3VyIFBhbmRpdCBpcyBhbHJlYWR5IGF0IHRoZSB0ZW1wbGUgY29vcmRpbmF0aW5nIHlvdXIgcHVqYS48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFwdGVyLWl0ZW0iPgogICAgICAgICAgICAgICAgPGg0Pk1vcm5pbmcgUHVqYSDigJQgU2Fua2FscCBQdWphICYgR2F0aGJhbmRoYW48L2g0PgogICAgICAgICAgICAgICAgPHA+QWZ0ZXIgUnVkcmFiaGlzaGVrLCB5b3VyIFNhbmthbHAgUHVqYSBpcyBwZXJmb3JtZWQg4oCUIGZvcm1hbGx5IHBsYWNpbmcgeW91ciBwcmF5ZXIgYW5kIG5hbWUgYmVmb3JlIEJhYmEgQmFpZHlhbmF0aC4gSWYgeW91IGFyZSBhIGNvdXBsZSwgdGhlIEdhdGhiYW5kaGFuIFB1amEgZm9sbG93cyBpbW1lZGlhdGVseSBhZnRlci4gVGhlIFBhbmRpdCBkaXN0cmlidXRlcyB0aGUgc2FjcmVkIFByYXNhZCAoQmFlbCBsZWF2ZXMsIHZpYmh1dGksIGFuZCB0aGUgYmxlc3NlZCB3YXRlciBmcm9tIFJ1ZHJhYmhpc2hlaykgd2hpY2ggeW91IGNhcnJ5IGhvbWUgYXMgQmFiYSdzIGJsZXNzaW5nLjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYXB0ZXItaXRlbSI+CiAgICAgICAgICAgICAgICA8aDQ+TWlkLU1vcm5pbmcg4oCUIFNoaXYgR2FuZ2EgS3VuZCAmIFRlbXBsZSBDb21wbGV4PC9oND4KICAgICAgICAgICAgICAgIDxwPlRoZSBCYWlkeWFuYXRoIERoYW0gdGVtcGxlIGNvbXBsZXggaG91c2VzIDIyIHRlbXBsZXMgaW4gYWRkaXRpb24gdG8gdGhlIG1haW4gSnlvdGlybGluZ2Eg4oCUIGluY2x1ZGluZyBNYWEgUGFydmF0aSB0ZW1wbGUgKHRoZSBTaGFrdGkgUGVldGhhKSwgS2FsaSBNYW5kaXIsIFJhbSBNYW5kaXIsIGFuZCBvdGhlcnMuIFRha2UgdGltZSB0byB2aXNpdCB0aGUgU2hpdiBHYW5nYSBLdW5kIChzYWNyZWQgdGFuayBhZGphY2VudCB0byB0aGUgdGVtcGxlKSBmb3IgYSByaXR1YWwgYmF0aC4gVGhlIFNoaXZnYW5nYSBBYXJ0aSBpbiB0aGUgZXZlbmluZyBpcyBhIG1hZ25pZmljZW50IHNpZ2h0LjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYXB0ZXItaXRlbSI+CiAgICAgICAgICAgICAgICA8aDQ+QWZ0ZXJub29uIOKAlCBOZWFyYnkgU2FjcmVkIFNpdGVzPC9oND4KICAgICAgICAgICAgICAgIDxwPkFmdGVyIGEgbWlkLW1vcm5pbmcgbWVhbCAodmVnZXRhcmlhbiBmb29kIHN0YWxscyBhcmUgZXhjZWxsZW50IG5lYXIgdGhlIHRlbXBsZSksIG91ciBhcnJhbmdlZCB2ZWhpY2xlIHRha2VzIHlvdSB0byBuZWFyYnkgc2l0ZXM6IDxzdHJvbmc+TmF1bGFraGEgTWFuZGlyPC9zdHJvbmc+ICg1IG1pbiBmcm9tIHRlbXBsZSksIDxzdHJvbmc+VHJpa3V0YSBIaWxsIFJvcGV3YXk8L3N0cm9uZz4gKGJlYXV0aWZ1bCBhZXJpYWwgdmlldywgMTAgbWluKSwgYW5kIG9wdGlvbmFsbHkgPHN0cm9uZz5CYXN1a2luYXRoIFRlbXBsZTwvc3Ryb25nPiAoMzUga20g4oCUIGEgYmVhdXRpZnVsIFNoaXZhIHRlbXBsZSB0aGF0IGNvbXBsZXRlcyB0aGUgQmFpZHlhbmF0aCB5YXRyYSB0cmFkaXRpb25hbGx5KS4gTW9zdCBkZXZvdGVkIHBpbGdyaW1zIHZpc2l0IEJhc3VraW5hdGggYmVmb3JlIHJldHVybmluZyBob21lLjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYXB0ZXItaXRlbSI+CiAgICAgICAgICAgICAgICA8aDQ+RXZlbmluZyDigJQgU2hpdnJhdHJpIE5pZ2h0IFZpZ2lsIChKYWdyYW4pPC9oND4KICAgICAgICAgICAgICAgIDxwPk9uIE1hc2lrIFNoaXZyYXRyaSwgZGV2b3RlZXMgdHJhZGl0aW9uYWxseSBvYnNlcnZlIGEgbmlnaHQgdmlnaWwgKEphZ3Jhbikg4oCUIHN0YXlpbmcgYXdha2UgdGhyb3VnaCB0aGUgZm91ciBwcmFoYXJzIG9mIHRoZSBuaWdodCB3aXRoIFNoaXZhIGJoYWphbnMsIE9tIE5hbWFoIFNoaXZheWEgY2hhbnRpbmcsIGFuZCBzaWxlbnQgbWVkaXRhdGlvbi4gVGhlIE5pc2hpdGEgS2FhbCAobWlkbmlnaHQgcGVyaW9kKSBpcyB0aGUgbW9zdCBwb3dlcmZ1bCB0aW1lIGZvciBTaGl2YSBwdWphLiBJZiB5b3Ugb2JzZXJ2ZSB0aGUgZmFzdCwgYnJlYWsgaXQgdGhlIG5leHQgbW9ybmluZyBhZnRlciBzdW5yaXNlIHB1amEuIFRoZSBhdG1vc3BoZXJlIGluIERlb2doYXIgb24gU2hpdnJhdHJpIG5pZ2h0IOKAlCB0aGUgY2hhbnRzLCB0aGUgbGFtcHMsIHRoZSBkZXZvdGlvbiDigJQgaXMgb25lIG9mIHRoZSBtb3N0IHByb2ZvdW5kIGV4cGVyaWVuY2VzIGEgU2hpdmEgZGV2b3RlZSBjYW4gaGF2ZS48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8aDIgY2xhc3M9InJldmVhbCI+U2FjcmVkIFNpdGVzIE5lYXIgQmFpZHlhbmF0aCBEaGFtIOKAlCBDb21wbGV0ZSBZb3VyIFBpbGdyaW1hZ2U8L2gyPgogICAgICAgIDxwPkEgY29tcGxldGUgQmFpZHlhbmF0aCB5YXRyYSBpbmNsdWRlcyBzZXZlcmFsIHNhY3JlZCBzaXRlcyBpbiBhbmQgYXJvdW5kIERlb2doYXIuIFBsYW4gdG8gdmlzaXQgYXQgbGVhc3QgMuKAkzMgb2YgdGhlc2UgZHVyaW5nIHlvdXIgTWFzaWsgU2hpdnJhdHJpIHRyaXA6PC9wPgoKICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuZXQtZ3JpZCByZXZlYWwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuZXQtY2FyZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuZXQtbmFtZSI+MzUga20gZnJvbSBEZW9naGFyPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZWl0eS1uYW1lIj5CYXN1a2luYXRoIFRlbXBsZTwvZGl2PgogICAgICAgICAgICAgICAgPHA+VHJhZGl0aW9uYWxseSwgbm8gQmFpZHlhbmF0aCB5YXRyYSBpcyBjb21wbGV0ZSB3aXRob3V0IHZpc2l0aW5nIEJhc3VraW5hdGguIFRoZSB0ZW1wbGUgb2YgTG9yZCBTaGl2YSBhcyBWYXN1a2kgKHRoZSBzZXJwZW50IGtpbmcpIGlzIHZpc2l0ZWQgYWZ0ZXIgQmFpZHlhbmF0aCBkYXJzaGFuLjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYW5ldC1jYXJkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYW5ldC1uYW1lIj5XaXRoaW4gVGVtcGxlIENvbXBsZXg8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlaXR5LW5hbWUiPk1hYSBQYXJ2YXRpIFRlbXBsZTwvZGl2PgogICAgICAgICAgICAgICAgPHA+VGhlIFNoYWt0aSBQZWV0aGEgYXQgQmFpZHlhbmF0aCBEaGFtIOKAlCB3aGVyZSBHb2RkZXNzIFNhdGkncyBoZWFydCBpcyBiZWxpZXZlZCB0byBoYXZlIGZhbGxlbi4gU2Vla2luZyBNYWEgUGFydmF0aSdzIGJsZXNzaW5nIGFmdGVyIFNoaXZhIGRhcnNoYW4gY29tcGxldGVzIHRoZSBkaXZpbmUgY2lyY3VpdC48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuZXQtY2FyZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuZXQtbmFtZSI+NTAwbSBmcm9tIFRlbXBsZTwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVpdHktbmFtZSI+U2hpdiBHYW5nYSBLdW5kPC9kaXY+CiAgICAgICAgICAgICAgICA8cD5TYWNyZWQgdGFuayBiZXNpZGUgdGhlIHRlbXBsZS4gQSByaXR1YWwgYmF0aCBoZXJlIGJlZm9yZSBkYXJzaGFuIGlzIGNvbnNpZGVyZWQgaGlnaGx5IHB1cmlmeWluZy4gVGhlIGV2ZW5pbmcgU2hpdmdhbmdhIEFhcnRpIGlzIGEgbWFnbmlmaWNlbnQgY2VyZW1vbnkgd29ydGggd2l0bmVzc2luZy48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuZXQtY2FyZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuZXQtbmFtZSI+NSBtaW4gZnJvbSBUZW1wbGU8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlaXR5LW5hbWUiPk5hdWxha2hhIE1hbmRpcjwvZGl2PgogICAgICAgICAgICAgICAgPHA+QSBtYWduaWZpY2VudCBtYXJibGUgdGVtcGxlIChjb3N0OiA5IGxha2hzIGluIHRoZSAxOTUwcyDigJQgbm93IHByaWNlbGVzcykuIEhvdXNlcyBSYWRoYS1LcmlzaG5hIGFuZCBpcyBhcmNoaXRlY3R1cmFsbHkgb25lIG9mIERlb2doYXIncyBtb3N0IGJlYXV0aWZ1bCBzaXRlcy48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuZXQtY2FyZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuZXQtbmFtZSI+MTAgbWluIGZyb20gVGVtcGxlPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZWl0eS1uYW1lIj5UcmlrdXRhIEhpbGwgJiBSb3Bld2F5PC9kaXY+CiAgICAgICAgICAgICAgICA8cD5BIHJvcGV3YXkgdG8gYSBoaWxsdG9wIHdpdGggYSBwYW5vcmFtaWMgdmlldyBvZiBEZW9naGFyIGFuZCB0aGUgdGVtcGxlIGJlbG93LiBUaGUgaGlsbCBob3VzZXMgYSBTaGl2YSB0ZW1wbGUuIEJlYXV0aWZ1bCBpbiBlYXJseSBtb3JuaW5nIG9yIGxhdGUgYWZ0ZXJub29uLjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYW5ldC1jYXJkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYW5ldC1uYW1lIj5OZWFyIFRyaWt1dGEgSGlsbDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVpdHktbmFtZSI+VGFwb3ZhbiBDYXZlczwvZGl2PgogICAgICAgICAgICAgICAgPHA+QW5jaWVudCBtZWRpdGF0aW9uIGNhdmVzIHdoZXJlIHNhZ2VzIGFyZSBzYWlkIHRvIGhhdmUgcHJhY3RpY2VkIHNldmVyZSB0YXBhcyAoYXVzdGVyaXRpZXMpLiBBIHBsYWNlIG9mIGRlZXAgc2lsZW5jZSBhbmQgc3Bpcml0dWFsIHBvd2VyLCBlc3BlY2lhbGx5IG9uIFNoaXZyYXRyaS48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8aDIgY2xhc3M9InJldmVhbCI+V2h5IEJvb2sgVGhyb3VnaCBQdWphIFB1cm9oaXQgZm9yIEJhaWR5YW5hdGggRGhhbTwvaDI+CiAgICAgICAgPGRpdiBjbGFzcz0id2h5LWdyaWQgcmV2ZWFsIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0id2h5LWNhcmQiPgogICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iaWNvbiIgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvdHdpdHRlci90d2Vtb2ppQDE0LjAuMi9hc3NldHMvNzJ4NzIvMmI1MC5wbmciIGFsdD0iVklQIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgICAgICAgIDxoND5QcmUtQXJyYW5nZWQgVklQIFBhc3M8L2g0PgogICAgICAgICAgICAgICAgPHA+V2UgcHJlLWFycmFuZ2UgeW91ciBTaGlnaHJhIERhcnNoYW4gcGFzcyBiZWZvcmUgeW91IGFycml2ZSDigJQgbm8gY291bnRlciBxdWV1ZXMsIG5vIHdhc3RlZCBob3VycyBvbiBTaGl2cmF0cmkuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0id2h5LWNhcmQiPgogICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iaWNvbiIgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvdHdpdHRlci90d2Vtb2ppQDE0LjAuMi9hc3NldHMvNzJ4NzIvMWY2ZTIucG5nIiBhbHQ9IlJ1ZHJhYmhpc2hlayIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICAgICAgICA8aDQ+VmVyaWZpZWQgVGVtcGxlIFBhbmRpdHM8L2g0PgogICAgICAgICAgICAgICAgPHA+UnVkcmFiaGlzaGVrIHBlcmZvcm1lZCBieSB0ZW1wbGUtdmVyaWZpZWQgUGFuZGl0cyB3aXRoIHByb3BlciBWZWRpYyByZWNpdGF0aW9uIOKAlCBub3QgcnVzaGVkLCBub3QgZ2VuZXJpYy48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aHktY2FyZCI+CiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJpY29uIiBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC90d2l0dGVyL3R3ZW1vamlAMTQuMC4yL2Fzc2V0cy83Mng3Mi8xZjRmMS5wbmciIGFsdD0iV2hhdHNBcHAiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgICAgICAgPGg0PldoYXRzQXBwIENvb3JkaW5hdGlvbjwvaDQ+CiAgICAgICAgICAgICAgICA8cD5BIGRlZGljYXRlZCBQdWphIFB1cm9oaXQgcmVwcmVzZW50YXRpdmUgY29vcmRpbmF0ZXMgeW91ciBlbnRpcmUgRGVvZ2hhciB2aXNpdCB2aWEgV2hhdHNBcHAgZnJvbSBib29raW5nIHRvIGRlcGFydHVyZS48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aHktY2FyZCI+CiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJpY29uIiBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC90d2l0dGVyL3R3ZW1vamlAMTQuMC4yL2Fzc2V0cy83Mng3Mi8xZjNlOC5wbmciIGFsdD0iSG90ZWwiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgICAgICAgPGg0PkhvdGVsICYgVHJhbnNwb3J0PC9oND4KICAgICAgICAgICAgICAgIDxwPkhvdGVsIG5lYXIgdGhlIHRlbXBsZSArIGFpcnBvcnQvc3RhdGlvbiBwaWNrdXAgYXJyYW5nZWQgYXMgcGFydCBvZiB5b3VyIGNvbXBsZXRlIHBpbGdyaW1hZ2UgcGFja2FnZS48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aHktY2FyZCI+CiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJpY29uIiBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC90d2l0dGVyL3R3ZW1vamlAMTQuMC4yL2Fzc2V0cy83Mng3Mi8xZjVmYS5wbmciIGFsdD0iTmVhcmJ5IiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgICAgICAgIDxoND5HdWlkZWQgTmVhcmJ5IFZpc2l0czwvaDQ+CiAgICAgICAgICAgICAgICA8cD5CYXN1a2luYXRoLCBUcmlrdXRhLCBOYXVsYWtoYSBNYW5kaXIg4oCUIHZlaGljbGUgYW5kIHRpbWluZyBhcnJhbmdlZCBzbyB5b3Ugc2VlIGV2ZXJ5dGhpbmcgd2l0aG91dCBtaXNzaW5nIFNoaXZyYXRyaSBwdWphLjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IndoeS1jYXJkIj4KICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9Imljb24iIHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL3R3aXR0ZXIvdHdlbW9qaUAxNC4wLjIvYXNzZXRzLzcyeDcyLzFmOTFkLnBuZyIgYWx0PSJUcnVzdGVkIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgICAgICAgIDxoND5UcnVzdGVkIGJ5IDUwLDAwMCsgRGV2b3RlZXM8L2g0PgogICAgICAgICAgICAgICAgPHA+UHVqYSBQdXJvaGl0IGhhcyBmYWNpbGl0YXRlZCB0ZW1wbGUgZGFyc2hhbiBhbmQgcHVqYSBzZXJ2aWNlcyBhY3Jvc3MgSW5kaWEncyBtYWpvciBKeW90aXJsaW5nYXMgYW5kIFNoYWt0aSBQZWV0aGFzLjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImJlbGllZi1zdHJpcCByZXZlYWwiIHN0eWxlPSJtYXJnaW4tdG9wOiAycmVtOyI+CiAgICAgICAgICAgIDxoMz5Ud2VsdmUgT3Bwb3J0dW5pdGllcy4gT25lIERlY2lzaW9uLjwvaDM+CiAgICAgICAgICAgIDxwPkV2ZXJ5IG1vbnRoLCBCaG9sZW5hdGggb3BlbnMgdGhlIGRvb3IuIFRoZSBNYXNpayBTaGl2cmF0cmkgY29tZXMgcmVsaWFibHkg4oCUIHR3ZWx2ZSB0aW1lcyBpbiAyMDI2IOKAlCBhbmQgZWFjaCBvbmUgaXMgYSBjb21wbGV0ZSwgaW5kZXBlbmRlbnQgb3Bwb3J0dW5pdHkgdG8gcmVjZWl2ZSBTaGl2YSdzIGdyYWNlLiBZb3UgZG8gbm90IG5lZWQgdG8gd2FpdCBmb3IgTWFoYSBTaGl2cmF0cmkuIFlvdSBkbyBub3QgbmVlZCBhIHNwZWNpYWwgcmVhc29uLiBZb3UgbmVlZCBvbmx5IHNpbmNlcml0eSBhbmQgYSBib29rZWQgZGF0ZSBhdCBCYWlkeWFuYXRoIERoYW0uIFRoZSByZXN0IOKAlCB0aGUgVklQIHBhc3MsIHRoZSBSdWRyYWJoaXNoZWssIHRoZSBob3RlbCwgdGhlIG5lYXJieSB2aXNpdHMg4oCUIHdlIGhhbmRsZS4gWW91IGp1c3QgY29tZSBhcyBhIGRldm90ZWUuIEhhciBIYXIgTWFoYWRldi48L3A+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxoMiBjbGFzcz0icmV2ZWFsIj5GcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9uczwvaDI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmFxLXNlY3Rpb24gcmV2ZWFsIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmFxLWl0ZW0iPgogICAgICAgICAgICAgICAgPGg0PldoYXQgYXJlIGFsbCB0aGUgTWFzaWsgU2hpdnJhdHJpIGRhdGVzIGluIDIwMjY/PC9oND4KICAgICAgICAgICAgICAgIDxwPlRoZSAxMiBNYXNpayBTaGl2cmF0cmkgZGF0ZXMgaW4gMjAyNiBhcmU6IDxzdHJvbmc+SmFuIDE2LCBGZWIgMTUgKE1haGEgU2hpdnJhdHJpKSwgTWFyIDE3LCBBcHIgMTUsIE1heSAxNSwgSnVuIDEzLCBKdWwgMTIsIEF1ZyAxMSwgU2VwIDksIE9jdCA4LCBOb3YgNywgRGVjIDcuPC9zdHJvbmc+IEFsbCBmYWxsIG9uIHRoZSBDaGF0dXJkYXNoaSBUaXRoaSBvZiBLcmlzaG5hIFBha3NoYSBhcyBwZXIgdGhlIEhpbmR1IFBhbmNoYW5nLiBUaW1pbmdzIGFyZSBpbiBJU1QuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmFxLWl0ZW0iPgogICAgICAgICAgICAgICAgPGg0PldoeSBpcyBNYXkgMTUsIDIwMjYgTWFzaWsgU2hpdnJhdHJpIHNwZWNpYWw/PC9oND4KICAgICAgICAgICAgICAgIDxwPk1heSAxNSwgMjAyNiBpcyB0aGUgSnllc2h0aGEgTWFzYSBNYXNpayBTaGl2cmF0cmkuIFRoZSBDaGF0dXJkYXNoaSBUaXRoaSBzdGFydHMgYXQgODozMyBBTSBvbiBNYXkgMTUgYW5kIGVuZHMgYXQgNToxMiBBTSBvbiBNYXkgMTYsIG1ha2luZyBtaWRuaWdodCBwdWphIG9uIE1heSAxNSBlc3BlY2lhbGx5IHBvdGVudC4gSnllc2h0aGEgbW9udGggU2hpdnJhdHJpIGlzIHNhaWQgdG8gZ3JhbnQgdmljdG9yeSBvdmVyIGlubmVyIG9ic3RhY2xlcyBhbmQgZGVlcGVuIHNwaXJpdHVhbCBmb2N1cy4gVmlzaXRpbmcgQmFpZHlhbmF0aCBEaGFtIG9uIHRoaXMgZGF0ZSBmb3IgUnVkcmFiaGlzaGVrIGlzIGhpZ2hseSByZWNvbW1lbmRlZC48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmYXEtaXRlbSI+CiAgICAgICAgICAgICAgICA8aDQ+V2hhdCBpcyB0aGUgY29zdCBvZiBSdWRyYWJoaXNoZWsgYXQgQmFpZHlhbmF0aCBEaGFtPzwvaDQ+CiAgICAgICAgICAgICAgICA8cD5SdWRyYWJoaXNoZWsgdGhyb3VnaCBQdWphIFB1cm9oaXQgYXQgQmFpZHlhbmF0aCBEaGFtIGlzIDxzdHJvbmc+4oK5NCwwMDAgd2l0aCAyIFBhbmRpdHM8L3N0cm9uZz4gb3IgPHN0cm9uZz7igrk2LDUwMCB3aXRoIDQgUGFuZGl0czwvc3Ryb25nPi4gVGhpcyBpbmNsdWRlcyB0aGUgY29tcGxldGUgc2FjcmVkIHJpdHVhbCB3aXRoIFBhbmNoYW1yaXQsIEdhbmdhamFsLCBhbmQgVmVkaWMgbWFudHJhIHJlY2l0YXRpb24gYXQgdGhlIEp5b3RpcmxpbmdhLiBBZHZhbmNlIGJvb2tpbmcgaXMgZXNzZW50aWFsLCBlc3BlY2lhbGx5IG9uIE1hc2lrIFNoaXZyYXRyaSBkYXRlcy48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmYXEtaXRlbSI+CiAgICAgICAgICAgICAgICA8aDQ+V2hhdCBpcyBHYXRoYmFuZGhhbiBQdWphIGF0IEJhaWR5YW5hdGggRGhhbSBhbmQgd2hvIHNob3VsZCBkbyBpdD88L2g0PgogICAgICAgICAgICAgICAgPHA+R2F0aGJhbmRoYW4gUHVqYSBpcyBhIHNhY3JlZCBtYXJpdGFsIGJsZXNzaW5nIHJpdHVhbCB3aGVyZSBhIGhvbHkgdGhyZWFkIGlzIHRpZWQgYXQgdGhlIEp5b3RpcmxpbmdhIGZvciBhIGNvdXBsZSwgc2Vla2luZyBTaGl2YSdzIGJsZXNzaW5nIGZvciB0aGVpciB1bmlvbiwgcHJvdGVjdGlvbiwgYW5kIGV0ZXJuYWwgdG9nZXRoZXJuZXNzLiBTaW5jZSBCYWlkeWFuYXRoIERoYW0gaXMgYWxzbyBhIFNoYWt0aSBQZWV0aGEgKHdoZXJlIEdvZGRlc3MgU2F0aSdzIGhlYXJ0IGZlbGwpLCB0aGUgU2hpdmEtU2hha3RpIGVuZXJneSBtYWtlcyB0aGlzIHB1amEgZXNwZWNpYWxseSBwb3dlcmZ1bCBmb3IgY291cGxlcy4gSXQgaXMgaWRlYWwgZm9yIG5ld2x5d2VkcywgY291cGxlcyBzZWVraW5nIGhhcm1vbnksIGFuZCB0aG9zZSBhYm91dCB0byBiZSBtYXJyaWVkLjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZhcS1pdGVtIj4KICAgICAgICAgICAgICAgIDxoND5JcyB0aGVyZSBhIHNwZWNpYWwgc2lnbmlmaWNhbmNlIHRvIHRoZSBKdW5lIDEzIE1hc2lrIFNoaXZyYXRyaSBpbiAyMDI2PzwvaDQ+CiAgICAgICAgICAgICAgICA8cD5ZZXMg4oCUIEp1bmUgMTMsIDIwMjYgZmFsbHMgaW4gPHN0cm9uZz5BZGhpa2EgSnllc2h0aGEgTWFzYTwvc3Ryb25nPiAoYW4gaW50ZXJjYWxhcnkvZXh0cmEgbW9udGggaW4gdGhlIEhpbmR1IGNhbGVuZGFyLCBhbHNvIGNhbGxlZCBNYWxhbWFzIG9yIFB1cnVzaG90dGFtIE1hcykuIFJlbGlnaW91cyBtZXJpdCBlYXJuZWQgYnkgZmFzdGluZywgcHVqYSwgYW5kIHBpbGdyaW1hZ2UgZHVyaW5nIEFkaGlrYSBNYXNhIGlzIGJlbGlldmVkIHRvIGJlIG11bHRpcGxpZWQgbWFueSB0aW1lcyBvdmVyIGNvbXBhcmVkIHRvIGEgcmVndWxhciBtb250aC4gVGhpcyBtYWtlcyB0aGUgSnVuZSAxMyBNYXNpayBTaGl2cmF0cmkgZXhjZXB0aW9uYWxseSByYXJlIGFuZCBwb3dlcmZ1bCBmb3IgQmFpZHlhbmF0aCBEaGFtIHBpbGdyaW1hZ2UuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmFxLWl0ZW0iPgogICAgICAgICAgICAgICAgPGg0PklzIEJhaWR5YW5hdGggRGhhbSBzYWZlIGFuZCBhY2Nlc3NpYmxlIGZvciBmYW1pbGllcyBhbmQgc2VuaW9yIGNpdGl6ZW5zPzwvaDQ+CiAgICAgICAgICAgICAgICA8cD5ZZXMuIEJhaWR5YW5hdGggRGhhbSBpcyB3ZWxsLWVxdWlwcGVkIGZvciBmYW1pbHkgdmlzaXRzLiBUaGUgVklQIERhcnNoYW4gUGFzcyBpcyBzcGVjaWZpY2FsbHkgcmVjb21tZW5kZWQgZm9yIHNlbmlvciBjaXRpemVucywgZmFtaWxpZXMgd2l0aCB5b3VuZyBjaGlsZHJlbiwgYW5kIHRob3NlIHdpdGggaGVhbHRoIGNvbnNpZGVyYXRpb25zIOKAlCBpdCBlbnN1cmVzIHByaW9yaXR5IGVudHJ5IHdpdGhvdXQgc3RhbmRpbmcgaW4gbG9uZyBnZW5lcmFsIHF1ZXVlcy4gT3VyIGNvb3JkaW5hdG9yIGF0IERlb2doYXIgaXMgYXZhaWxhYmxlIHRvIGFzc2lzdCB3aXRoIG1vYmlsaXR5LCBzZWF0aW5nLCBhbmQgcHVqYSBhcnJhbmdlbWVudHMgZm9yIHRob3NlIHdobyBuZWVkIHN1cHBvcnQuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmFxLWl0ZW0iPgogICAgICAgICAgICAgICAgPGg0PldoYXQgaXMgdGhlIGJlc3QgTWFzaWsgU2hpdnJhdHJpIHRvIHZpc2l0IEJhaWR5YW5hdGggRGhhbSBpbiAyMDI2PzwvaDQ+CiAgICAgICAgICAgICAgICA8cD5Gb3Igc3Bpcml0dWFsIGludGVuc2l0eTogPHN0cm9uZz5GZWIgMTUgKE1haGEgU2hpdnJhdHJpKTwvc3Ryb25nPiDigJQgdGhvdWdoIGV4dHJlbWVseSBjcm93ZGVkLiBGb3IgcmFyZSBtZXJpdDogPHN0cm9uZz5KdW4gMTMgKEFkaGlrYSBNYXNhKTwvc3Ryb25nPi4gRm9yIHRoZSBLYXJ0aWthIG1vbnRoIGJsZXNzaW5nOiA8c3Ryb25nPk9jdCA4PC9zdHJvbmc+LiBGb3IgdGhlIHJhcmUgU29tdmFyLVNoaXZyYXRyaSBjb21iaW5hdGlvbjogPHN0cm9uZz5EZWMgNyAoTW9uZGF5IFNoaXZyYXRyaSk8L3N0cm9uZz4uIEZvciBwbGVhc2FudCB3ZWF0aGVyIGFuZCBtYW5hZ2VhYmxlIGNyb3dkczogPHN0cm9uZz5PY3RvYmVyIGFuZCBOb3ZlbWJlcjwvc3Ryb25nPiBkYXRlcyBhcmUgaWRlYWwuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmFxLWl0ZW0iPgogICAgICAgICAgICAgICAgPGg0PkhvdyBkbyBJIGJvb2sgYWxsIHNlcnZpY2VzIGZvciBCYWlkeWFuYXRoIERoYW0gdGhyb3VnaCBQdWphIFB1cm9oaXQ/PC9oND4KICAgICAgICAgICAgICAgIDxwPlZpc2l0IDxhIGhyZWY9Imh0dHBzOi8vd3d3LnB1amFwdXJvaGl0LmluL21hbmRpci1kYXJzaGFuL2JhaWR5YW5hdGgtdGVtcGxlIj5wdWphcHVyb2hpdC5pbi9tYW5kaXItZGFyc2hhbi9iYWlkeWFuYXRoLXRlbXBsZTwvYT4sIHNlbGVjdCB5b3VyIE1hc2lrIFNoaXZyYXRyaSBkYXRlLCBhbmQgY2hvb3NlIHRoZSBzZXJ2aWNlcyB5b3UgbmVlZCDigJQgUnVkcmFiaGlzaGVrLCBWSVAgRGFyc2hhbiwgU2Fua2FscCBQdWphLCBHYXRoYmFuZGhhbiBQdWphLCBob3RlbCBzdGF5LCB0cmFuc3BvcnQsIG9yIG5lYXJieSB2aXNpdHMuIEEgZGVkaWNhdGVkIGNvb3JkaW5hdG9yIGlzIGFzc2lnbmVkIHdpdGhpbiAzMCBtaW51dGVzIHdpdGggV2hhdHNBcHAgY29uZmlybWF0aW9uIGFuZCBhIGNvbXBsZXRlIHByZS12aXNpdCBwcmVwYXJhdGlvbiBndWlkZS48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjdGEtZm9vdGVyIHJldmVhbCI+CiAgICAgICAgICAgIDxoMj5Cb29rIFlvdXIgQmFpZHlhbmF0aCBEaGFtIERhcnNoYW4gb24gTWFzaWsgU2hpdnJhdHJpIDIwMjY8L2gyPgogICAgICAgICAgICA8cD5SdWRyYWJoaXNoZWsgwrcgVklQIERhcnNoYW4gUGFzcyDCtyBTYW5rYWxwIFB1amEgwrcgR2F0aGJhbmRoYW4gUHVqYSDCtyBIb3RlbCBTdGF5IMK3IE5lYXJieSBWaXNpdHMgwrcgSGFyIEhhciBNYWhhZGV2PC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjdGEtYnV0dG9ucyI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5wdWphcHVyb2hpdC5pbi9tYW5kaXItZGFyc2hhbi9iYWlkeWFuYXRoLXRlbXBsZSIgY2xhc3M9ImJ0bi1wcmltYXJ5Ij5Cb29rIEJhaWR5YW5hdGggRGFyc2hhbiDihpI8L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3dhLm1lLzkxNzk5MTQzOTgxNz90ZXh0PUhlbGxvJTJDJTIwSSUyMHdhbnQlMjB0byUyMHBsYW4lMjBteSUyMEJhaWR5YW5hdGglMjBEaGFtJTIwdmlzaXQlMjBvbiUyME1hc2lrJTIwU2hpdnJhdHJpJTIwMjAyNi4lMjBQbGVhc2UlMjBhc3Npc3QlMjBtZS4iIGNsYXNzPSJidG4tc2Vjb25kYXJ5Ij5XaGF0c0FwcCBVczwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgPC9hcnRpY2xlPgo8L21haW4+Cgo8Zm9vdGVyPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8cD7CqSAyMDI2IFB1amEgUHVyb2hpdCDCtyA8YSBocmVmPSJodHRwczovL3d3dy5wdWphcHVyb2hpdC5pbi9tYW5kaXItZGFyc2hhbi9iYWlkeWFuYXRoLXRlbXBsZSIgc3R5bGU9ImNvbG9yOnZhcigtLXNhZmZyb24pOyI+QmFpZHlhbmF0aCBEaGFtIERhcnNoYW4gJiBQdWphIFNlcnZpY2VzPC9hPiDCtyBSdWRyYWJoaXNoZWsgwrcgU2Fua2FscCBQdWphIMK3IEdhdGhiYW5kaGFuIFB1amEgwrcgR3JpaGEgUHJhdmVzaCDCtyBTaGFuaSBEb3NoIFB1amE8L3A+CiAgICA8L2Rpdj4KPC9mb290ZXI+Cgo8c2NyaXB0PgogICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHsKICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4geyBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIGVudHJ5LnRhcmdldC5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTsgfSk7CiAgICB9LCB7IHRocmVzaG9sZDogMC4wOCB9KTsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5yZXZlYWwnKS5mb3JFYWNoKGVsID0+IG9ic2VydmVyLm9ic2VydmUoZWwpKTsKPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgo=

Related Posts

Sawan Shiva Puja 2026: Rudrabhishek, Parthiv Shivling Abhishek & Maha Mrityunjaya Jaap — Cost, Vidhi & Benefits
Hindu Festivals27 Jun 2026

Sawan Shiva Puja 2026: Rudrabhishek, Parthiv Shivling Abhishek & Maha Mrityunjaya Jaap — Cost, Vidhi & Benefits

Book Sawan Shiva Puja at home in 2026 with verified Pandits — Rudrabhishek Puja, Parthiv Shivling Abhishek and Maha Mrityunjaya Jaap. Benefits, cost, samagri, vidhi, Sawan Somvar dates and Pandit booking across Delhi NCR, Mumbai, Pune, Bangalore, Hyderabad & 50+ cities.

Satyanarayan katha Puja: Vidhi, Materials, Cost, Benefits & Best Time to Perform
Hindu Rituals29 Nov 2025

Satyanarayan katha Puja: Vidhi, Materials, Cost, Benefits & Best Time to Perform

Your complete guide to Satyanarayan Puja. Learn the purpose, step-by-step vidhi, materials list, cost, benefits, and the best time to perform this sacred ritual. Book expert pandits online with PujaPurohit for authentic blessings.

Sunderkand Paath: Boosting Your Mind, Body, and Soul with Multiple Benefits
Facts22 Mar 2023

Sunderkand Paath: Boosting Your Mind, Body, and Soul with Multiple Benefits

Explore the hidden benefits of reciting Sunderkand and transform your life with its divine power.

Top 6 pujas you should perform on this Mahashivratri 2024
Popular26 Feb 2024

Top 6 pujas you should perform on this Mahashivratri 2024

Which puja should I do in Mahashivratri? Discover the top six pujas essential for your Mahashivratri 2024 celebrations.

जानिए कैसे विरोधियों ने ही साबित की सनातन की प्राचीनता ?
Ancient History12 Dec 2025

जानिए कैसे विरोधियों ने ही साबित की सनातन की प्राचीनता ?

जब दुनिया के नए धर्म 'मूर्ति पूजा' को रोकने के नियम बना रहे थे, तब सनातन धर्म पहले से मौजूद था। पढ़ें कैसे इतिहास के पन्नों में छिपा है वैदिक सभ्यता के 'अमर' होने का राज।

Your spiritual need,
just a tap away.

Footer decorative image