email-templates-library/src/main/java/org/gcube/portal/mailing/templates/TemplateDowntimeAnnouncemen...

48 lines
41 KiB
Java

package org.gcube.portal.mailing.templates;
import java.util.Base64;
import org.gcube.common.portal.mailing.templates.AbstractTemplate;
import org.gcube.common.portal.mailing.templates.Template;
/**
*
* @author Massimiliano Assante, CNR-ISTI
*
*/
public class TemplateDowntimeAnnouncement extends AbstractTemplate implements Template {
private final String encodedTemplateHTML = "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4NCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4NCiAgICA8aGVhZD4NCiAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+DQogICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiIC8+DQogICAgICAgIDx0aXRsZT5UaXRsZTwvdGl0bGU+DQogICAgPC9oZWFkPg0KICAgIDxib2R5DQogICAgICAgIHN0eWxlPSItbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbXMtdGV4dC1zaXplLWFkanVzdDoxMDAlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlO01hcmdpbjowO2JhY2tncm91bmQ6I2YzZjNmMyFpbXBvcnRhbnQ7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiMwYTBhMGE7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46MDttaW4td2lkdGg6MTAwJTtwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjEwMCUhaW1wb3J0YW50Ij4NCiAgICAgICAgPHN0eWxlPkBtZWRpYSBvbmx5IHNjcmVlbntodG1se21pbi1oZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiNmM2YzZjN9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1OTZweCl7LnNtYWxsLWZsb2F0LWNlbnRlcnttYXJnaW46MCBhdXRvIWltcG9ydGFudDtmbG9hdDpub25lIWltcG9ydGFudDt0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnR9LnNtYWxsLXRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudH0uc21hbGwtdGV4dC1sZWZ0e3RleHQtYWxpZ246bGVmdCFpbXBvcnRhbnR9LnNtYWxsLXRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodCFpbXBvcnRhbnR9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1OTZweCl7LmhpZGUtZm9yLWxhcmdle2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50O3dpZHRoOmF1dG8haW1wb3J0YW50O292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50O21heC1oZWlnaHQ6bm9uZSFpbXBvcnRhbnQ7Zm9udC1zaXplOmluaGVyaXQhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OmluaGVyaXQhaW1wb3J0YW50fX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTk2cHgpe3RhYmxlLmJvZHkgdGFibGUuY29udGFpbmVyIC5oaWRlLWZvci1sYXJnZSx0YWJsZS5ib2R5IHRhYmxlLmNvbnRhaW5lciAucm93LmhpZGUtZm9yLWxhcmdle2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50O3dpZHRoOjEwMCUhaW1wb3J0YW50fX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTk2cHgpe3RhYmxlLmJvZHkgdGFibGUuY29udGFpbmVyIC5jYWxsb3V0LWlubmVyLmhpZGUtZm9yLWxhcmdle2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnR9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1OTZweCl7dGFibGUuYm9keSB0YWJsZS5jb250YWluZXIgLnNob3ctZm9yLWxhcmdle2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7d2lkdGg6MDttc28taGlkZTphbGw7b3ZlcmZsb3c6aGlkZGVufX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTk2cHgpe3RhYmxlLmJvZHkgaW1ne3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99dGFibGUuYm9keSBjZW50ZXJ7bWluLXdpZHRoOjAhaW1wb3J0YW50fXRhYmxlLmJvZHkgLmNvbnRhaW5lcnt3aWR0aDo5NSUhaW1wb3J0YW50fXRhYmxlLmJvZHkgLmNvbHVtbix0YWJsZS5ib2R5IC5jb2x1bW5ze2hlaWdodDphdXRvIWltcG9ydGFudDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZy1sZWZ0OjE2cHghaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6MTZweCFpbXBvcnRhbnR9dGFibGUuYm9keSAuY29sdW1uIC5jb2x1bW4sdGFibGUuYm9keSAuY29sdW1uIC5jb2x1bW5zLHRhYmxlLmJvZHkgLmNvbHVtbnMgLmNvbHVtbix0YWJsZS5ib2R5IC5jb2x1bW5zIC5jb2x1bW5ze3BhZGRpbmctbGVmdDowIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fXRhYmxlLmJvZHkgLmNvbGxhcHNlIC5jb2x1bW4sdGFibGUuYm9keSAuY29sbGFwc2UgLmNvbHVtbnN7cGFkZGluZy1sZWZ0OjAhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6MCFpbXBvcnRhbnR9dGQuc21hbGwtMSx0aC5zbWFsbC0xe2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudDt3aWR0aDo4LjMzMzMzJSFpbXBvcnRhbnR9dGQuc21hbGwtMix0aC5zbWFsbC0ye2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudDt3aWR0aDoxNi42NjY2NyUhaW1wb3J0YW50fXRkLnNtYWxsLTMsdGguc21hbGwtM3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnQ7d2lkdGg6MjUlIWltcG9ydGFudH10ZC5zbWFsbC00LHRoLnNtYWxsLTR7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50O3dpZHRoOjMzLjMzMzMzJSFpbXBvcnRhbnR9dGQuc21hbGwtNSx0aC5zbWFsbC01e2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudDt3aWR0aDo0MS42NjY2NyUhaW1wb3J0YW50fXRkLnNtYWxsLTYsdGguc21hbGwtNntkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnQ7d2lkdGg6NTAlIWltcG9ydGFudH10ZC5zbWFsbC03LHRoLnNtYWxsLTd7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50O3dpZHRoOjU4LjMzMzMzJSFpbXBvcnRhbnR9dGQuc21hbGwtOCx0aC5zbWFsbC04e2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudDt3aWR0aDo2Ni42NjY2NyUhaW1wb3J0YW50fXRkLnNtYWxsLTksdGguc21hbGwtOXtkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnQ7d2lkdGg6NzUlIWltcG9ydGFudH10ZC5zbWFsbC0xMCx0aC5zbWFsbC0xMHtkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnQ7d2lkdGg6ODMuMzMzMzMlIWltcG9ydGFudH10ZC5zbWFsbC0xMSx0aC5zbWFsbC0xMXtkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnQ7d2lkdGg6OTEuNjY2NjclIWltcG9ydGFudH10ZC5zbWFsbC0xMix0aC5zbWFsbC0xMntkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnR9LmNvbHVtbiB0ZC5zbWFsbC0xMiwuY29sdW1uIHRoLnNtYWxsLTEyLC5jb2x1bW5zIHRkLnNtYWxsLTEyLC5jb2x1bW5zIHRoLnNtYWxsLTEye2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50O3dpZHRoOjEwMCUhaW1wb3J0YW50fXRhYmxlLmJvZHkgdGQuc21hbGwtb2Zmc2V0LTEsdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtMXttYXJnaW4tbGVmdDo4LjMzMzMzJSFpbXBvcnRhbnQ7TWFyZ2luLWxlZnQ6OC4zMzMzMyUhaW1wb3J0YW50fXRhYmxlLmJvZHkgdGQuc21hbGwtb2Zmc2V0LTIsdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NyUhaW1wb3J0YW50O01hcmdpbi1sZWZ0OjE2LjY2NjY3JSFpbXBvcnRhbnR9dGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtMyx0YWJsZS5ib2R5IHRoLnNtYWxsLW9mZnNldC0ze21hcmdpbi1sZWZ0OjI1JSFpbXBvcnRhbnQ7TWFyZ2luLWxlZnQ6MjUlIWltcG9ydGFudH10YWJsZS5ib2R5IHRkLnNtYWxsLW9mZnNldC00LHRhYmxlLmJvZHkgdGguc21hbGwtb2Zmc2V0LTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMlIWltcG9ydGFudDtNYXJnaW4tbGVmdDozMy4zMzMzMyUhaW1wb3J0YW50fXRhYmxlLmJvZHkgdGQuc21hbGwtb2Zmc2V0LTUsdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NyUhaW1wb3J0YW50O01hcmdpbi1sZWZ0OjQxLjY2NjY3JSFpbXBvcnRhbnR9dGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtNix0YWJsZS5ib2R5IHRoLnNtYWxsLW9mZnNldC02e21hcmdpbi1sZWZ0OjUwJSFpbXBvcnRhbnQ7TWFyZ2luLWxlZnQ6NTAlIWltcG9ydGFudH10YWJsZS5ib2R5IHRkLnNtYWxsLW9mZnNldC03LHRhYmxlLmJvZHkgdGguc21hbGwtb2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMlIWltcG9ydGFudDtNYXJnaW4tbGVmdDo1OC4zMzMzMyUhaW1wb3J0YW50fXRhYmxlLmJvZHkgdGQuc21hbGwtb2Zmc2V0LTgsdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NyUhaW1wb3J0YW50O01hcmdpbi1sZWZ0OjY2LjY2NjY3JSFpbXBvcnRhbnR9dGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtOSx0YWJsZS5ib2R5IHRoLnNtYWxsLW9mZnNldC05e21hcmdpbi1sZWZ0Ojc1JSFpbXBvcnRhbnQ7TWFyZ2luLWxlZnQ6NzUlIWltcG9ydGFudH10YWJsZS5ib2R5IHRkLnNtYWxsLW9mZnNldC0xMCx0YWJsZS5ib2R5IHRoLnNtYWxsLW9mZnNldC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMyUhaW1wb3J0YW50O01hcmdpbi1sZWZ0OjgzLjMzMzMzJSFpbXBvcnRhbnR9dGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtMTEsdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjclIWltcG9ydGFudDtNYXJnaW4tbGVmdDo5MS42NjY2NyUhaW1wb3J0YW50fXRhYmxlLmJvZHkgdGFibGUuY29sdW1ucyB0ZC5leHBhbmRlcix0YWJsZS5ib2R5IHRhYmxlLmNvbHVtbnMgdGguZXhwYW5kZXJ7ZGlzcGxheTpub25lIWltcG9ydGFudH10YWJsZS5ib2R5IC5yaWdodC10ZXh0LXBhZCx0YWJsZS5ib2R5IC50ZXh0LXBhZC1yaWdodHtwYWRkaW5nLWxlZnQ6MTBweCFpbXBvcnRhbnR9dGFibGUuYm9keSAubGVmdC10ZXh0LXBhZCx0YWJsZS5ib2R5IC50ZXh0LXBhZC1sZWZ0e3BhZGRpbmctcmlnaHQ6MTBweCFpbXBvcnRhbnR9dGFibGUubWVudXt3aWR0aDoxMDAlIWltcG9ydGFudH10YWJsZS5tZW51IHRkLHRhYmxlLm1lbnUgdGh7d2lkdGg6YXV0byFpbXBvcnRhbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fXRhYmxlLm1lbnUuc21hbGwtdmVydGljYWwgdGQsdGFibGUubWVudS5zbWFsbC12ZXJ0aWNhbCB0aCx0YWJsZS5tZW51LnZlcnRpY2FsIHRkLHRhYmxlLm1lbnUudmVydGljYWwgdGh7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9dGFibGUubWVudVthbGlnbj1jZW50ZXJde3dpZHRoOmF1dG8haW1wb3J0YW50fXRhYmxlLmJ1dHRvbi5zbWFsbC1leHBhbmQsdGFibGUuYnV0dG9uLnNtYWxsLWV4cGFuZGVke3dpZHRoOjEwMCUhaW1wb3J0YW50fXRhYmxlLmJ1dHRvbi5zbWFsbC1leHBhbmQgdGFibGUsdGFibGUuYnV0dG9uLnNtYWxsLWV4cGFuZGVkIHRhYmxle3dpZHRoOjEwMCV9dGFibGUuYnV0dG9uLnNtYWxsLWV4cGFuZCB0YWJsZSBhLHRhYmxlLmJ1dHRvbi5zbWFsbC1leHBhbmRlZCB0YWJsZSBhe3RleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudDtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH10YWJsZS5idXR0b24uc21hbGwtZXhwYW5kIGNlbnRlcix0YWJsZS5idXR0b24uc21hbGwtZXhwYW5kZWQgY2VudGVye21pbi13aWR0aDowfX1AbWVkaWEgb25seSBzY3JlZW57aHRtbHttaW4taGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojZjNmM2YzfX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTk2cHgpey5zbWFsbC1mbG9hdC1jZW50ZXJ7bWFyZ2luOjAgYXV0byFpbXBvcnRhbnQ7ZmxvYXQ6bm9uZSFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fS5zbWFsbC10ZXh0LWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnR9LnNtYWxsLXRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnQhaW1wb3J0YW50fS5zbWFsbC10ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHQhaW1wb3J0YW50fX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTk2cHgpey5oaWRlLWZvci1sYXJnZXtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDt3aWR0aDphdXRvIWltcG9ydGFudDtvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudDttYXgtaGVpZ2h0Om5vbmUhaW1wb3J0YW50O2ZvbnQtc2l6ZTppbmhlcml0IWltcG9ydGFudDtsaW5lLWhlaWdodDppbmhlcml0IWltcG9ydGFudH19QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU5NnB4KXt0YWJsZS5ib2R5IHRhYmxlLmNvbnRhaW5lciAuaGlkZS1mb3ItbGFyZ2UsdGFibGUuYm9keSB0YWJsZS5jb250YWluZXIgLnJvdy5oaWRlLWZvci1sYXJnZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudH19QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU5NnB4KXt0YWJsZS5ib2R5IHRhYmxlLmNvbnRhaW5lciAuY2FsbG91dC1pbm5lci5oaWRlLWZvci1sYXJnZXtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50O3dpZHRoOjEwMCUhaW1wb3J0YW50fX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTk2cHgpe3RhYmxlLmJvZHkgdGFibGUuY29udGFpbmVyIC5zaG93LWZvci1sYXJnZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50O3dpZHRoOjA7bXNvLWhpZGU6YWxsO292ZXJmbG93OmhpZGRlbn19QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU5NnB4KXt0YWJsZS5ib2R5IGltZ3t3aWR0aDphdXRvO2hlaWdodDphdXRvfXRhYmxlLmJvZHkgY2VudGVye21pbi13aWR0aDowIWltcG9ydGFudH10YWJsZS5ib2R5IC5jb250YWluZXJ7d2lkdGg6OTUlIWltcG9ydGFudH10YWJsZS5ib2R5IC5jb2x1bW4sdGFibGUuYm9keSAuY29sdW1uc3toZWlnaHQ6YXV0byFpbXBvcnRhbnQ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmctbGVmdDoxNnB4IWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OjE2cHghaW1wb3J0YW50fXRhYmxlLmJvZHkgLmNvbHVtbiAuY29sdW1uLHRhYmxlLmJvZHkgLmNvbHVtbiAuY29sdW1ucyx0YWJsZS5ib2R5IC5jb2x1bW5zIC5jb2x1bW4sdGFibGUuYm9keSAuY29sdW1ucyAuY29sdW1uc3twYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH10YWJsZS5ib2R5IC5jb2xsYXBzZSAuY29sdW1uLHRhYmxlLmJvZHkgLmNvbGxhcHNlIC5jb2x1bW5ze3BhZGRpbmctbGVmdDowIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fXRkLnNtYWxsLTEsdGguc21hbGwtMXtkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnQ7d2lkdGg6OC4zMzMzMyUhaW1wb3J0YW50fXRkLnNtYWxsLTIsdGguc21hbGwtMntkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnQ7d2lkdGg6MTYuNjY2NjclIWltcG9ydGFudH10ZC5zbWFsbC0zLHRoLnNtYWxsLTN7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50O3dpZHRoOjI1JSFpbXBvcnRhbnR9dGQuc21hbGwtNCx0aC5zbWFsbC00e2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudDt3aWR0aDozMy4zMzMzMyUhaW1wb3J0YW50fXRkLnNtYWxsLTUsdGguc21hbGwtNXtkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnQ7d2lkdGg6NDEuNjY2NjclIWltcG9ydGFudH10ZC5zbWFsbC02LHRoLnNtYWxsLTZ7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50O3dpZHRoOjUwJSFpbXBvcnRhbnR9dGQuc21hbGwtNyx0aC5zbWFsbC03e2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudDt3aWR0aDo1OC4zMzMzMyUhaW1wb3J0YW50fXRkLnNtYWxsLTgsdGguc21hbGwtOHtkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnQ7d2lkdGg6NjYuNjY2NjclIWltcG9ydGFudH10ZC5zbWFsbC05LHRoLnNtYWxsLTl7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50O3dpZHRoOjc1JSFpbXBvcnRhbnR9dGQuc21hbGwtMTAsdGguc21hbGwtMTB7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50O3dpZHRoOjgzLjMzMzMzJSFpbXBvcnRhbnR9dGQuc21hbGwtMTEsdGguc21hbGwtMTF7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50O3dpZHRoOjkxLjY2NjY3JSFpbXBvcnRhbnR9dGQuc21hbGwtMTIsdGguc21hbGwtMTJ7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50O3dpZHRoOjEwMCUhaW1wb3J0YW50fS5jb2x1bW4gdGQuc21hbGwtMTIsLmNvbHVtbiB0aC5zbWFsbC0xMiwuY29sdW1ucyB0ZC5zbWFsbC0xMiwuY29sdW1ucyB0aC5zbWFsbC0xMntkaXNwbGF5OmJsb2NrIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudH10YWJsZS5ib2R5IHRkLnNtYWxsLW9mZnNldC0xLHRhYmxlLmJvZHkgdGguc21hbGwtb2Zmc2V0LTF7bWFyZ2luLWxlZnQ6OC4zMzMzMyUhaW1wb3J0YW50O01hcmdpbi1sZWZ0OjguMzMzMzMlIWltcG9ydGFudH10YWJsZS5ib2R5IHRkLnNtYWxsLW9mZnNldC0yLHRhYmxlLmJvZHkgdGguc21hbGwtb2Zmc2V0LTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjclIWltcG9ydGFudDtNYXJnaW4tbGVmdDoxNi42NjY2NyUhaW1wb3J0YW50fXRhYmxlLmJvZHkgdGQuc21hbGwtb2Zmc2V0LTMsdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtM3ttYXJnaW4tbGVmdDoyNSUhaW1wb3J0YW50O01hcmdpbi1sZWZ0OjI1JSFpbXBvcnRhbnR9dGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtNCx0YWJsZS5ib2R5IHRoLnNtYWxsLW9mZnNldC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzJSFpbXBvcnRhbnQ7TWFyZ2luLWxlZnQ6MzMuMzMzMzMlIWltcG9ydGFudH10YWJsZS5ib2R5IHRkLnNtYWxsLW9mZnNldC01LHRhYmxlLmJvZHkgdGguc21hbGwtb2Zmc2V0LTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjclIWltcG9ydGFudDtNYXJnaW4tbGVmdDo0MS42NjY2NyUhaW1wb3J0YW50fXRhYmxlLmJvZHkgdGQuc21hbGwtb2Zmc2V0LTYsdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtNnttYXJnaW4tbGVmdDo1MCUhaW1wb3J0YW50O01hcmdpbi1sZWZ0OjUwJSFpbXBvcnRhbnR9dGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtNyx0YWJsZS5ib2R5IHRoLnNtYWxsLW9mZnNldC03e21hcmdpbi1sZWZ0OjU4LjMzMzMzJSFpbXBvcnRhbnQ7TWFyZ2luLWxlZnQ6NTguMzMzMzMlIWltcG9ydGFudH10YWJsZS5ib2R5IHRkLnNtYWxsLW9mZnNldC04LHRhYmxlLmJvZHkgdGguc21hbGwtb2Zmc2V0LTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjclIWltcG9ydGFudDtNYXJnaW4tbGVmdDo2Ni42NjY2NyUhaW1wb3J0YW50fXRhYmxlLmJvZHkgdGQuc21hbGwtb2Zmc2V0LTksdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtOXttYXJnaW4tbGVmdDo3NSUhaW1wb3J0YW50O01hcmdpbi1sZWZ0Ojc1JSFpbXBvcnRhbnR9dGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtMTAsdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMlIWltcG9ydGFudDtNYXJnaW4tbGVmdDo4My4zMzMzMyUhaW1wb3J0YW50fXRhYmxlLmJvZHkgdGQuc21hbGwtb2Zmc2V0LTExLHRhYmxlLmJvZHkgdGguc21hbGwtb2Zmc2V0LTExe21hcmdpbi1sZWZ0OjkxLjY2NjY3JSFpbXBvcnRhbnQ7TWFyZ2luLWxlZnQ6OTEuNjY2NjclIWltcG9ydGFudH10YWJsZS5ib2R5IHRhYmxlLmNvbHVtbnMgdGQuZXhwYW5kZXIsdGFibGUuYm9keSB0YWJsZS5jb2x1bW5zIHRoLmV4cGFuZGVye2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9dGFibGUuYm9keSAucmlnaHQtdGV4dC1wYWQsdGFibGUuYm9keSAudGV4dC1wYWQtcmlnaHR7cGFkZGluZy1sZWZ0OjEwcHghaW1wb3J0YW50fXRhYmxlLmJvZHkgLmxlZnQtdGV4dC1wYWQsdGFibGUuYm9keSAudGV4dC1wYWQtbGVmdHtwYWRkaW5nLXJpZ2h0OjEwcHghaW1wb3J0YW50fXRhYmxlLm1lbnV7d2lkdGg6MTAwJSFpbXBvcnRhbnR9dGFibGUubWVudSB0ZCx0YWJsZS5tZW51IHRoe3dpZHRoOmF1dG8haW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH10YWJsZS5tZW51LnNtYWxsLXZlcnRpY2FsIHRkLHRhYmxlLm1lbnUuc21hbGwtdmVydGljYWwgdGgsdGFibGUubWVudS52ZXJ0aWNhbCB0ZCx0YWJsZS5tZW51LnZlcnRpY2FsIHRoe2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fXRhYmxlLm1lbnVbYWxpZ249Y2VudGVyXXt3aWR0aDphdXRvIWltcG9ydGFudH10YWJsZS5idXR0b24uc21hbGwtZXhwYW5kLHRhYmxlLmJ1dHRvbi5zbWFsbC1leHBhbmRlZHt3aWR0aDoxMDAlIWltcG9ydGFudH10YWJsZS5idXR0b24uc21hbGwtZXhwYW5kIHRhYmxlLHRhYmxlLmJ1dHRvbi5zbWFsbC1leHBhbmRlZCB0YWJsZXt3aWR0aDoxMDAlfXRhYmxlLmJ1dHRvbi5zbWFsbC1leHBhbmQgdGFibGUgYSx0YWJsZS5idXR0b24uc21hbGwtZXhwYW5kZWQgdGFibGUgYXt0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7cGFkZGluZy1sZWZ0OjAhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6MCFpbXBvcnRhbnR9dGFibGUuYnV0dG9uLnNtYWxsLWV4cGFuZCBjZW50ZXIsdGFibGUuYnV0dG9uLnNtYWxsLWV4cGFuZGVkIGNlbnRlcnttaW4td2lkdGg6MH19PC9zdHlsZT4NCiAgICAgICAgPHRhYmxlIGNsYXNzPSJib2R5IiBkYXRhLW1hZGUtd2l0aC1mb3VuZGF0aW9uPSIiDQogICAgICAgICAgICBzdHlsZT0iTWFyZ2luOjA7YmFja2dyb3VuZDojZjNmM2YzIWltcG9ydGFudDtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyLXNwYWNpbmc6MDtjb2xvcjojMGEwYTBhO2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjQwMDtoZWlnaHQ6MTAwJTtsaW5lLWhlaWdodDoxLjM7bWFyZ2luOjA7cGFkZGluZzowO3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTAwJSI+DQogICAgICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICAgICAgPHRyIHN0eWxlPSJwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOnRvcCI+DQogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iZmxvYXQtY2VudGVyIiBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCINCiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSItbW96LWh5cGhlbnM6YXV0bzstd2Via2l0LWh5cGhlbnM6YXV0bztNYXJnaW46MCBhdXRvO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZSFpbXBvcnRhbnQ7Y29sb3I6IzBhMGEwYTtmbG9hdDpub25lO2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjQwMDtoeXBoZW5zOmF1dG87bGluZS1oZWlnaHQ6MS4zO21hcmdpbjowIGF1dG87cGFkZGluZzowO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOnRvcDt3b3JkLXdyYXA6YnJlYWstd29yZCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PGNlbnRlciBkYXRhLXBhcnNlZD0iIiBzdHlsZT0ibWluLXdpZHRoOjU4MHB4O3dpZHRoOjEwMCUiPjx0YWJsZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbj0iY2VudGVyIiBjbGFzcz0id3JhcHBlciBoZWFkZXIgZmxvYXQtY2VudGVyIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iTWFyZ2luOjAgYXV0bztib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyLXNwYWNpbmc6MDtmbG9hdDpub25lO21hcmdpbjowIGF1dG87cGFkZGluZzowO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxMDAlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPSJwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOnRvcCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJ3cmFwcGVyLWlubmVyIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iLW1vei1oeXBoZW5zOmF1dG87LXdlYmtpdC1oeXBoZW5zOmF1dG87TWFyZ2luOjA7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlIWltcG9ydGFudDtjb2xvcjojMGEwYTBhO2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjQwMDtoeXBoZW5zOmF1dG87bGluZS1oZWlnaHQ6MS4zO21hcmdpbjowO3BhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246dG9wO3dvcmQtd3JhcDpicmVhay13b3JkIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjx0YWJsZSBhbGlnbj0iY2VudGVyIiBjbGFzcz0iY29udGFpbmVyIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ik1hcmdpbjowIGF1dG87YmFja2dyb3VuZDojZmVmZWZlO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO21hcmdpbjowIGF1dG87cGFkZGluZzowO3RleHQtYWxpZ246aW5oZXJpdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6NTgwcHgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9InBhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246dG9wIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSItbW96LWh5cGhlbnM6YXV0bzstd2Via2l0LWh5cGhlbnM6YXV0bztNYXJnaW46MDtib3JkZXItY29sbGFwc2U6Y29sbGFwc2UhaW1wb3J0YW50O2NvbG9yOiMwYTBhMGE7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2h5cGhlbnM6YXV0bztsaW5lLWhlaWdodDoxLjM7bWFyZ2luOjA7cGFkZGluZzowO3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7d29yZC13cmFwOmJyZWFrLXdvcmQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48dGFibGUgY2xhc3M9InJvdyBjb2xsYXBzZSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO2Rpc3BsYXk6dGFibGU7cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTAwJSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOnRvcCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ic21hbGwtNiBsYXJnZS02IGNvbHVtbnMgZmlyc3QiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJNYXJnaW46MCBhdXRvO2NvbG9yOiMwYTBhMGE7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46MCBhdXRvO3BhZGRpbmc6MDtwYWRkaW5nLWJvdHRvbToxNnB4O3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MDt0ZXh0LWFsaWduOmxlZnQ7d2lkdGg6Mjk4cHgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48dGFibGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO3BhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjEwMCUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0icGFkZGluZzowO3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjp0b3AiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ik1hcmdpbjowO2NvbG9yOiMwYTBhMGE7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46MDtwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PGltZyBzcmM9Int7R0FURVdBWV9MT0dPOlVSTH19Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iLW1zLWludGVycG9sYXRpb24tbW9kZTpiaWN1YmljO2NsZWFyOmJvdGg7ZGlzcGxheTpibG9jazttYXgtd2lkdGg6MTAwJTtvdXRsaW5lOjA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7d2lkdGg6MjAwcHgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0ie3tHQVRFV0FZX05BTUV9fSIgdGl0bGU9Int7R0FURVdBWV9OQU1FfX0iDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPjwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+PC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJzbWFsbC02IGxhcmdlLTYgY29sdW1ucyBsYXN0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iTWFyZ2luOjAgYXV0bztjb2xvcjojMGEwYTBhO2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjM7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjA7cGFkZGluZy1ib3R0b206MTZweDtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjI5OHB4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHRhYmxlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyLXNwYWNpbmc6MDtwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxMDAlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9InBhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246dG9wIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJNYXJnaW46MDtjb2xvcjojMGEwYTBhO2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjM7bWFyZ2luOjA7cGFkZGluZzowO3RleHQtYWxpZ246bGVmdCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxwIGNsYXNzPSJ0ZXh0LXJpZ2h0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iTWFyZ2luOjA7TWFyZ2luLWJvdHRvbToxMHB4O2NvbG9yOiMwYTBhMGE7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46MDttYXJnaW4tYm90dG9tOjEwcHg7cGFkZGluZzowO3RleHQtYWxpZ246cmlnaHQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3A+PC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT48L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPjwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPjwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+PHRhYmxlIGFsaWduPSJjZW50ZXIiIGNsYXNzPSJjb250YWluZXIgYm9keS1ib3JkZXIgZmxvYXQtY2VudGVyIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iTWFyZ2luOjAgYXV0bztiYWNrZ3JvdW5kOiNmZWZlZmU7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjA7Ym9yZGVyLXRvcDo4cHggc29saWQgIzIyNWY5NztmbG9hdDpub25lO21hcmdpbjowIGF1dG87cGFkZGluZzowO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDo1ODBweCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBzdHlsZT0icGFkZGluZzowO3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjp0b3AiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iLW1vei1oeXBoZW5zOmF1dG87LXdlYmtpdC1oeXBoZW5zOmF1dG87TWFyZ2luOjA7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlIWltcG9ydGFudDtjb2xvcjojMGEwYTBhO2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjQwMDtoeXBoZW5zOmF1dG87bGluZS1oZWlnaHQ6MS4zO21hcmdpbjowO3BhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246dG9wO3dvcmQtd3JhcDpicmVhay13b3JkIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjx0YWJsZSBjbGFzcz0icm93Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO2Rpc3BsYXk6dGFibGU7cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTAwJSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0icGFkZGluZzowO3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjp0b3AiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9InNtYWxsLTEyIGxhcmdlLTEyIGNvbHVtbnMgZmlyc3QgbGFzdCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ik1hcmdpbjowIGF1dG87Y29sb3I6IzBhMGEwYTtmb250LWZhbWlseTpIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4zO21hcmdpbjowIGF1dG87cGFkZGluZzowO3BhZGRpbmctYm90dG9tOjE2cHg7cGFkZGluZy1sZWZ0OjE2cHg7cGFkZGluZy1yaWdodDoxNnB4O3RleHQtYWxpZ246bGVmdDt3aWR0aDo1NjRweCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjx0YWJsZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjA7cGFkZGluZzowO3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTAwJSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOnRvcCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iTWFyZ2luOjA7Y29sb3I6IzBhMGEwYTtmb250LWZhbWlseTpIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4zO21hcmdpbjowO3BhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48dGFibGUgY2xhc3M9InNwYWNlciINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO3BhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjEwMCUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0icGFkZGluZzowO3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjp0b3AiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgaGVpZ2h0PSIxNnB4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iLW1vei1oeXBoZW5zOmF1dG87LXdlYmtpdC1oeXBoZW5zOmF1dG87TWFyZ2luOjA7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlIWltcG9ydGFudDtjb2xvcjojMGEwYTBhO2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjQwMDtoeXBoZW5zOmF1dG87bGluZS1oZWlnaHQ6MTZweDttYXJnaW46MDttc28tbGluZS1oZWlnaHQtcnVsZTpleGFjdGx5O3BhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246dG9wO3dvcmQtd3JhcDpicmVhay13b3JkIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Jm5ic3A7PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT48cCBjbGFzcz0ibGVhZCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ik1hcmdpbjowO01hcmdpbi1ib3R0b206MTBweDtjb2xvcjojMGEwYTBhO2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjY7bWFyZ2luOjA7bWFyZ2luLWJvdHRvbToxMHB4O3BhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5EZWFyIHt7R0FURVdBWV9OQU1FfX0gdXNlciw8L3A+PHANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ik1hcmdpbjowO01hcmdpbi1ib3R0b206MTBweDtjb2xvcjojMGEwYTBhO2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjM7bWFyZ2luOjA7bWFyZ2luLWJvdHRvbToxMHB4O3BhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5XZWRuZXNkYXksIE5vdmVtYmVyIDI5dGggZnJvbSAyOjAwcG0gdG8gNDowMHBtDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENFVCBzb21lIHNlcnZpY2VzIGluY2x1ZGluZyBXb3Jrc3BhY2UsIFNvY2lhbA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbnMgYW5kIERhdGEgTWluZXIgbWF5IGJlIHRlbXBvcmFyaWx5DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuYXZhaWxhYmxlIGZvciBhIHNob3J0IHRpbWUuPC9wPjxwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJNYXJnaW46MDtNYXJnaW4tYm90dG9tOjEwcHg7Y29sb3I6IzBhMGEwYTtmb250LWZhbWlseTpIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4zO21hcmdpbjowO21hcmdpbi1ib3R0b206MTBweDtwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+V2UgYXBwcmVjaWF0ZSB5b3VyIHBhdGllbmNlIGFuZCB1bmRlcnN0YW5kaW5nLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSI+V2Ugd2lsbA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWtlIGV2ZXJ5IGVmZm9ydCB0byBtaW5pbWl6ZSBhbnkgZG93bnRpbWUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbWFpbnRlbmFuY2UuPC9zcGFuPjwvcD48cA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iTWFyZ2luOjA7TWFyZ2luLWJvdHRvbToxMHB4O2NvbG9yOiMwYTBhMGE7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46MDttYXJnaW4tYm90dG9tOjEwcHg7cGFkZGluZzowO3RleHQtYWxpZ246bGVmdCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPklmIHlvdSB3aXNoIHRvIGtub3cgdGhlIHByb2dyZXNzIGZvbGxvdyBENFNjaWVuY2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gVHdpdHRlciBhdCA8YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL2Q0c2NpZW5jZSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJNYXJnaW46MDtjb2xvcjojMjE5OWU4O2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjM7bWFyZ2luOjA7cGFkZGluZzowO3RleHQtYWxpZ246bGVmdDt0ZXh0LWRlY29yYXRpb246bm9uZSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPmh0dHBzOi8vdHdpdHRlci5jb20vZDRzY2llbmNlPC9hPi48L3A+PC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJleHBhbmRlciINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ik1hcmdpbjowO2NvbG9yOiMwYTBhMGE7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46MDtwYWRkaW5nOjAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdDt2aXNpYmlsaXR5OmhpZGRlbjt3aWR0aDowIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT48dGFibGUgY2xhc3M9ImNhbGxvdXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJNYXJnaW4tYm90dG9tOjE2cHg7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjA7bWFyZ2luLWJvdHRvbToxNnB4O3BhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjEwMCUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0icGFkZGluZzowO3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjp0b3AiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNhbGxvdXQtaW5uZXIgd2FybmluZyINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ik1hcmdpbjowO2JhY2tncm91bmQ6I2ZmZjNkOTtib3JkZXI6MXB4IHNvbGlkICM5OTY4MDA7Y29sb3I6I2ZlZmVmZTtmb250LWZhbWlseTpIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4zO21hcmdpbjowO3BhZGRpbmc6MTBweDt0ZXh0LWFsaWduOmxlZnQ7d2lkdGg6MTAwJSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJNYXJnaW46MDtNYXJnaW4tYm90dG9tOjEwcHg7Y29sb3I6IzBhMGEwYTtmb250LWZhbWlseTpIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4zO21hcmdpbjowO21hcmdpbi1ib3R0b206MTBweDtwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+RHVyYXRpb246IFdlZG5lc2RheSAoMTEvMjkpIGZyb20gMjowMHBtIENFVCB0bw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0OjAwcG0gQ0VUIHNvbWUgc2VydmljZXMgbWF5IGJlIHRlbXBvcmFyaWx5DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuYXZhaWxhYmxlIGZvciBhIHNob3J0IHRpbWUuPC9wPjwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iZXhwYW5kZXIiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJNYXJnaW46MDtjb2xvcjojMGEwYTBhO2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjM7bWFyZ2luOjA7cGFkZGluZzowIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQ7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+PC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+PGNlbnRlciBkYXRhLXBhcnNlZD0iIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1pbi13aWR0aDo1ODBweDt3aWR0aDoxMDAlIj48dGFibGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ249ImNlbnRlciIgY2xhc3M9Im1lbnUgZmxvYXQtY2VudGVyIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iTWFyZ2luOjAgYXV0bztib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyLXNwYWNpbmc6MDtmbG9hdDpub25lO21hcmdpbjowIGF1dG87cGFkZGluZzowO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDphdXRvIWltcG9ydGFudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOnRvcCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iLW1vei1oeXBoZW5zOmF1dG87LXdlYmtpdC1oeXBoZW5zOmF1dG87TWFyZ2luOjA7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlIWltcG9ydGFudDtjb2xvcjojMGEwYTBhO2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjQwMDtoeXBoZW5zOmF1dG87bGluZS1oZWlnaHQ6MS4zO21hcmdpbjowO3BhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246dG9wO3dvcmQtd3JhcDpicmVhay13b3JkIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHRhYmxlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyLXNwYWNpbmc6MDtwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOnRvcCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOnRvcCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ibWVudS1pdGVtIGZsb2F0LWNlbnRlciINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ik1hcmdpbjowIGF1dG87Y29sb3I6IzBhMGEwYTtmbG9hdDpub25lO2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjM7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjEwcHg7cGFkZGluZy1yaWdodDoxMHB4O3RleHQtYWxpZ246Y2VudGVyIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PGEgaHJlZj0ie3tHQVRFV0FZX1VSTH19L3Rlcm1zLW9mLXVzZSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ik1hcmdpbjowO2NvbG9yOiMyMTk5ZTg7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46MDtwYWRkaW5nOjA7dGV4dC1hbGlnbjpsZWZ0O3RleHQtZGVjb3JhdGlvbjpub25lIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3tHQVRFV0FZX05BTUV9fSBUZXJtcyBvZiBVc2U8L2E+PC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJtZW51LWl0ZW0gZmxvYXQtY2VudGVyIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iTWFyZ2luOjAgYXV0bztjb2xvcjojMGEwYTBhO2Zsb2F0Om5vbmU7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46MCBhdXRvO3BhZGRpbmc6MTBweDtwYWRkaW5nLXJpZ2h0OjEwcHg7dGV4dC1hbGlnbjpjZW50ZXIiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy5pdWJlbmRhLmNvbS9wcml2YWN5LXBvbGljeS80NDEwNTAiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJNYXJnaW46MDtjb2xvcjojMjE5OWU4O2ZvbnQtZmFtaWx5OkhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjM7bWFyZ2luOjA7cGFkZGluZzowO3RleHQtYWxpZ246bGVmdDt0ZXh0LWRlY29yYXRpb246bm9uZSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlByaXZhY3k8L2E+PC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJtZW51LWl0ZW0gZmxvYXQtY2VudGVyIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iTWFyZ2luOjAgYXV0bztjb2xvcjojMGEwYTBhO2Zsb2F0Om5vbmU7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46MCBhdXRvO3BhZGRpbmc6MTBweDtwYWRkaW5nLXJpZ2h0OjEwcHg7dGV4dC1hbGlnbjpjZW50ZXIiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48YSBocmVmPSJodHRwczovL3d3dy5kNHNjaWVuY2Uub3JnIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iTWFyZ2luOjA7Y29sb3I6IzIxOTllODtmb250LWZhbWlseTpIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4zO21hcmdpbjowO3BhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5BYm91dCBENFNjaWVuY2U8L2E+PC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT48L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT48L2NlbnRlcj48L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPjwvY2VudGVyPjwvdGQ+DQogICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgIDwvdGJvZHk+DQogICAgICAgIDwvdGFibGU+DQogICAgPC9ib2R5Pg0KPC9odG1sPg0K";
private final String encodedTemplateTEXT = "e3tHQVRFV0FZX05BTUV9fQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRGVhciB7e0dBVEVXQVlfTkFNRX19IHVzZXIsDQoNCldlZG5lc2RheSwgTm92ZW1iZXIgMjl0aCBmcm9tIDI6MDBwbSB0byA0OjAwcG0gQ0VUIHNvbWUgc2VydmljZXMgaW5jbHVkaW5nIFdvcmtzcGFjZSBhbmQgU29jaWFsIGFuZCBEYXRhIE1pbmVyIGFwcGxpY2F0aW9ucyBtYXkgYmUgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUgZm9yIGEgc2hvcnQgdGltZS4NCldlIGFwcHJlY2lhdGUgeW91ciBwYXRpZW5jZSBhbmQgdW5kZXJzdGFuZGluZy4gDQoNCldlIHdpbGwgbWFrZSBldmVyeSBlZmZvcnQgdG8gbWluaW1pemUgYW55IGRvd250aW1lIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1haW50ZW5hbmNlLgkJCQkJCQkJDQoNCklmIHlvdSB3aXNoIHRvIGtub3cgdGhlIHByb2dyZXNzIGZvbGxvdyBENFNjaWVuY2Ugb24gVHdpdHRlciBhdCBodHRwczovL3R3aXR0ZXIuY29tL2Q0c2NpZW5jZQ==";
/**
*
* @param theUserWhoLeft
* @param theVRE
* @param optionalMessage
* @param gatewayName
* @param gatewayURL
*/
public TemplateDowntimeAnnouncement(String gatewayName, String gatewayURL) {
super(gatewayName, gatewayURL);
}
@Override
public String compile(String templateContent) {
return new String(Base64.getDecoder().decode(templateContent))
.replace("{{GATEWAY_LOGO:URL}}", getGatewayLogoURL())
.replace("{{GATEWAY_URL}}", getGatewayURL())
.replace("{{GATEWAY_NAME}}", getGatewayName());
}
@Override
public String getTextHTML() {
return compile(encodedTemplateHTML);
}
@Override
public String getTextPLAIN() {
return compile(encodedTemplateTEXT);
}
}