From 89f414ac87cee44f5a71d959502ae5a63efd3ac6 Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Tue, 16 May 2017 16:12:55 +0000 Subject: [PATCH] added template for user has left vre git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portal/email-templates-library@148751 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../templates/TemplateUserHasLeftVRE.java | 57 + .../templates/files/user_has_left_vre.html | 1478 +++++++++++++++++ .../templates/files/user_has_left_vre.txt | 12 + 3 files changed, 1547 insertions(+) create mode 100644 src/main/java/org/gcube/portal/mailing/templates/TemplateUserHasLeftVRE.java create mode 100644 src/main/java/org/gcube/portal/mailing/templates/files/user_has_left_vre.html create mode 100644 src/main/java/org/gcube/portal/mailing/templates/files/user_has_left_vre.txt diff --git a/src/main/java/org/gcube/portal/mailing/templates/TemplateUserHasLeftVRE.java b/src/main/java/org/gcube/portal/mailing/templates/TemplateUserHasLeftVRE.java new file mode 100644 index 0000000..1bc34a7 --- /dev/null +++ b/src/main/java/org/gcube/portal/mailing/templates/TemplateUserHasLeftVRE.java @@ -0,0 +1,57 @@ +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; +import org.gcube.vomanagement.usermanagement.model.GCubeUser; + +/** + * + * @author Massimiliano Assante, CNR-ISTI + * + */ +public class TemplateUserHasLeftVRE extends AbstractTemplate implements Template { + private final String encodedTemplateHTML = "PCEtLSBJbmxpbmVyIEJ1aWxkIFZlcnNpb24gNDM4MGI3NzQxYmI3NTlkNmNiOTk3NTQ1ZjNhZGQyMWFkNDhmMDEwYiAtLT4NCjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4NCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9Im1pbi1oZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjMgIWltcG9ydGFudDsiPg0KICA8aGVhZD4NCiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4NCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIiAvPg0KICAgIDx0aXRsZT5UaXRsZTwvdGl0bGU+DQogIDwvaGVhZD4NCiAgPGJvZHkgc3R5bGU9IndpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IG1pbi13aWR0aDogMTAwJTsgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGNvbG9yOiAjMGEwYTBhOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgdGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDEuMzsgZm9udC1zaXplOiAxNnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzICFpbXBvcnRhbnQ7IG1hcmdpbjogMDsgcGFkZGluZzogMDsiIGJnY29sb3I9IiNmM2YzZjMgIWltcG9ydGFudCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk2cHgpIHsNCiAgLnNtYWxsLWZsb2F0LWNlbnRlciB7DQogICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQogIH0NCiAgLnNtYWxsLXRleHQtY2VudGVyIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgfQ0KICAuc21hbGwtdGV4dC1sZWZ0IHsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLnNtYWxsLXRleHQtcmlnaHQgew0KICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmhpZGUtZm9yLWxhcmdlIHsNCiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB3aWR0aDogYXV0byAhaW1wb3J0YW50OyBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGFibGUuY29udGFpbmVyIC5oaWRlLWZvci1sYXJnZSB7DQogICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5ib2R5IHRhYmxlLmNvbnRhaW5lciAucm93LmhpZGUtZm9yLWxhcmdlIHsNCiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB3aWR0aDogMTAwJSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGFibGUuY29udGFpbmVyIC5jYWxsb3V0LWlubmVyLmhpZGUtZm9yLWxhcmdlIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSB0YWJsZS5jb250YWluZXIgLnNob3ctZm9yLWxhcmdlIHsNCiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IHdpZHRoOiAwOyBtc28taGlkZTogYWxsOyBvdmVyZmxvdzogaGlkZGVuOw0KICB9DQogIHRhYmxlLmJvZHkgaW1nIHsNCiAgICB3aWR0aDogYXV0bzsgaGVpZ2h0OiBhdXRvOw0KICB9DQogIHRhYmxlLmJvZHkgY2VudGVyIHsNCiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5ib2R5IC5jb250YWluZXIgew0KICAgIHdpZHRoOiA5NSUgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5ib2R5IC5jb2x1bW5zIHsNCiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSAuY29sdW1uIHsNCiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSAuY29sdW1ucyAuY29sdW1uIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgLmNvbHVtbnMgLmNvbHVtbnMgew0KICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSAuY29sdW1uIC5jb2x1bW4gew0KICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSAuY29sdW1uIC5jb2x1bW5zIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgLmNvbGxhcHNlIC5jb2x1bW5zIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgLmNvbGxhcHNlIC5jb2x1bW4gew0KICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgdGQuc21hbGwtMSB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IHdpZHRoOiA4LjMzMzMzJSAhaW1wb3J0YW50Ow0KICB9DQogIHRoLnNtYWxsLTEgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB3aWR0aDogOC4zMzMzMyUgIWltcG9ydGFudDsNCiAgfQ0KICB0ZC5zbWFsbC0yIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDE2LjY2NjY3JSAhaW1wb3J0YW50Ow0KICB9DQogIHRoLnNtYWxsLTIgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB3aWR0aDogMTYuNjY2NjclICFpbXBvcnRhbnQ7DQogIH0NCiAgdGQuc21hbGwtMyB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IHdpZHRoOiAyNSUgIWltcG9ydGFudDsNCiAgfQ0KICB0aC5zbWFsbC0zIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDI1JSAhaW1wb3J0YW50Ow0KICB9DQogIHRkLnNtYWxsLTQgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB3aWR0aDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7DQogIH0NCiAgdGguc21hbGwtNCB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IHdpZHRoOiAzMy4zMzMzMyUgIWltcG9ydGFudDsNCiAgfQ0KICB0ZC5zbWFsbC01IHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDQxLjY2NjY3JSAhaW1wb3J0YW50Ow0KICB9DQogIHRoLnNtYWxsLTUgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB3aWR0aDogNDEuNjY2NjclICFpbXBvcnRhbnQ7DQogIH0NCiAgdGQuc21hbGwtNiB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IHdpZHRoOiA1MCUgIWltcG9ydGFudDsNCiAgfQ0KICB0aC5zbWFsbC02IHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDUwJSAhaW1wb3J0YW50Ow0KICB9DQogIHRkLnNtYWxsLTcgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB3aWR0aDogNTguMzMzMzMlICFpbXBvcnRhbnQ7DQogIH0NCiAgdGguc21hbGwtNyB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IHdpZHRoOiA1OC4zMzMzMyUgIWltcG9ydGFudDsNCiAgfQ0KICB0ZC5zbWFsbC04IHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDY2LjY2NjY3JSAhaW1wb3J0YW50Ow0KICB9DQogIHRoLnNtYWxsLTggew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB3aWR0aDogNjYuNjY2NjclICFpbXBvcnRhbnQ7DQogIH0NCiAgdGQuc21hbGwtOSB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IHdpZHRoOiA3NSUgIWltcG9ydGFudDsNCiAgfQ0KICB0aC5zbWFsbC05IHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDc1JSAhaW1wb3J0YW50Ow0KICB9DQogIHRkLnNtYWxsLTEwIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDgzLjMzMzMzJSAhaW1wb3J0YW50Ow0KICB9DQogIHRoLnNtYWxsLTEwIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDgzLjMzMzMzJSAhaW1wb3J0YW50Ow0KICB9DQogIHRkLnNtYWxsLTExIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDkxLjY2NjY3JSAhaW1wb3J0YW50Ow0KICB9DQogIHRoLnNtYWxsLTExIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDkxLjY2NjY3JSAhaW1wb3J0YW50Ow0KICB9DQogIHRkLnNtYWxsLTEyIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsNCiAgfQ0KICB0aC5zbWFsbC0xMiB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7DQogIH0NCiAgLmNvbHVtbnMgdGQuc21hbGwtMTIgew0KICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7DQogIH0NCiAgLmNvbHVtbiB0ZC5zbWFsbC0xMiB7DQogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsNCiAgfQ0KICAuY29sdW1ucyB0aC5zbWFsbC0xMiB7DQogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsNCiAgfQ0KICAuY29sdW1uIHRoLnNtYWxsLTEyIHsNCiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB3aWR0aDogMTAwJSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGQuc21hbGwtb2Zmc2V0LTEgew0KICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGguc21hbGwtb2Zmc2V0LTEgew0KICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGQuc21hbGwtb2Zmc2V0LTIgew0KICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyUgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5ib2R5IHRoLnNtYWxsLW9mZnNldC0yIHsNCiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtMyB7DQogICAgbWFyZ2luLWxlZnQ6IDI1JSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGguc21hbGwtb2Zmc2V0LTMgew0KICAgIG1hcmdpbi1sZWZ0OiAyNSUgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5ib2R5IHRkLnNtYWxsLW9mZnNldC00IHsNCiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtNCB7DQogICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGQuc21hbGwtb2Zmc2V0LTUgew0KICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyUgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5ib2R5IHRoLnNtYWxsLW9mZnNldC01IHsNCiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtNiB7DQogICAgbWFyZ2luLWxlZnQ6IDUwJSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGguc21hbGwtb2Zmc2V0LTYgew0KICAgIG1hcmdpbi1sZWZ0OiA1MCUgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5ib2R5IHRkLnNtYWxsLW9mZnNldC03IHsNCiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSB0aC5zbWFsbC1vZmZzZXQtNyB7DQogICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGQuc21hbGwtb2Zmc2V0LTggew0KICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5ib2R5IHRoLnNtYWxsLW9mZnNldC04IHsNCiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtOSB7DQogICAgbWFyZ2luLWxlZnQ6IDc1JSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGguc21hbGwtb2Zmc2V0LTkgew0KICAgIG1hcmdpbi1sZWZ0OiA3NSUgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5ib2R5IHRkLnNtYWxsLW9mZnNldC0xMCB7DQogICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGguc21hbGwtb2Zmc2V0LTEwIHsNCiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSB0ZC5zbWFsbC1vZmZzZXQtMTEgew0KICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyUgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5ib2R5IHRoLnNtYWxsLW9mZnNldC0xMSB7DQogICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGFibGUuY29sdW1ucyB0ZC5leHBhbmRlciB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGFibGUuY29sdW1ucyB0aC5leHBhbmRlciB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgLnJpZ2h0LXRleHQtcGFkIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDEwcHggIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5ib2R5IC50ZXh0LXBhZC1yaWdodCB7DQogICAgcGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSAubGVmdC10ZXh0LXBhZCB7DQogICAgcGFkZGluZy1yaWdodDogMTBweCAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgLnRleHQtcGFkLWxlZnQgew0KICAgIHBhZGRpbmctcmlnaHQ6IDEwcHggIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5tZW51IHsNCiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLm1lbnUgdGQgew0KICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLm1lbnUgdGggew0KICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLm1lbnUudmVydGljYWwgdGQgew0KICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUubWVudS52ZXJ0aWNhbCB0aCB7DQogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5tZW51LnNtYWxsLXZlcnRpY2FsIHRkIHsNCiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLm1lbnUuc21hbGwtdmVydGljYWwgdGggew0KICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUubWVudVthbGlnbj0iY2VudGVyIl0gew0KICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYnV0dG9uLnNtYWxsLWV4cGFuZCB7DQogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5idXR0b24uc21hbGwtZXhwYW5kZWQgew0KICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYnV0dG9uLnNtYWxsLWV4cGFuZCB0YWJsZSB7DQogICAgd2lkdGg6IDEwMCU7DQogIH0NCiAgdGFibGUuYnV0dG9uLnNtYWxsLWV4cGFuZGVkIHRhYmxlIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgfQ0KICB0YWJsZS5idXR0b24uc21hbGwtZXhwYW5kIHRhYmxlIGEgew0KICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJ1dHRvbi5zbWFsbC1leHBhbmRlZCB0YWJsZSBhIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5idXR0b24uc21hbGwtZXhwYW5kIGNlbnRlciB7DQogICAgbWluLXdpZHRoOiAwOw0KICB9DQogIHRhYmxlLmJ1dHRvbi5zbWFsbC1leHBhbmRlZCBjZW50ZXIgew0KICAgIG1pbi13aWR0aDogMDsNCiAgfQ0KfQ0KPC9zdHlsZT4NCiAgDQogICAgPHRhYmxlIGNsYXNzPSJib2R5IiBkYXRhLW1hZGUtd2l0aC1mb3VuZGF0aW9uPSIiIHN0eWxlPSJib3JkZXItc3BhY2luZzogMDsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgdmVydGljYWwtYWxpZ246IHRvcDsgdGV4dC1hbGlnbjogbGVmdDsgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMyAhaW1wb3J0YW50OyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAxLjM7IGZvbnQtc2l6ZTogMTZweDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyIgYmdjb2xvcj0iI2YzZjNmMyAhaW1wb3J0YW50Ij48dHIgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3A7IHRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmc6IDA7IiBhbGlnbj0ibGVmdCI+PHRkIGNsYXNzPSJmbG9hdC1jZW50ZXIiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiBzdHlsZT0id29yZC13cmFwOiBicmVhay13b3JkOyAtd2Via2l0LWh5cGhlbnM6IGF1dG87IC1tb3otaHlwaGVuczogYXV0bzsgaHlwaGVuczogYXV0bzsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZsb2F0OiBub25lOyBjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAxLjM7IGZvbnQtc2l6ZTogMTZweDsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDA7Ij4NCiAgICAgICAgICA8Y2VudGVyIGRhdGEtcGFyc2VkPSIiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWluLXdpZHRoOiA1ODBweDsiPg0KICAgICAgICAgICAgPHRhYmxlIGFsaWduPSJjZW50ZXIiIGNsYXNzPSJ3cmFwcGVyIGhlYWRlciBmbG9hdC1jZW50ZXIiIHN0eWxlPSJ3aWR0aDogMTAwJTsgYm9yZGVyLXNwYWNpbmc6IDA7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHRleHQtYWxpZ246IGNlbnRlcjsgZmxvYXQ6IG5vbmU7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAwOyI+PHRyIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiAwOyIgYWxpZ249ImxlZnQiPjx0ZCBjbGFzcz0id3JhcHBlci1pbm5lciIgc3R5bGU9IndvcmQtd3JhcDogYnJlYWstd29yZDsgLXdlYmtpdC1oeXBoZW5zOiBhdXRvOyAtbW96LWh5cGhlbnM6IGF1dG87IGh5cGhlbnM6IGF1dG87IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDsgdmVydGljYWwtYWxpZ246IHRvcDsgdGV4dC1hbGlnbjogbGVmdDsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogbm9ybWFsOyBsaW5lLWhlaWdodDogMS4zOyBmb250LXNpemU6IDE2cHg7IG1hcmdpbjogMDsgcGFkZGluZzogMDsiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+DQogICAgICAgICAgICAgICAgICA8dGFibGUgYWxpZ249ImNlbnRlciIgY2xhc3M9ImNvbnRhaW5lciIgc3R5bGU9ImJvcmRlci1zcGFjaW5nOiAwOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBpbmhlcml0OyB3aWR0aDogNTgwcHg7IGJhY2tncm91bmQ6ICNmZWZlZmU7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAwOyIgYmdjb2xvcj0iI2ZlZmVmZSI+PHRib2R5Pjx0ciBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsgdGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMDsiIGFsaWduPSJsZWZ0Ij48dGQgc3R5bGU9IndvcmQtd3JhcDogYnJlYWstd29yZDsgLXdlYmtpdC1oeXBoZW5zOiBhdXRvOyAtbW96LWh5cGhlbnM6IGF1dG87IGh5cGhlbnM6IGF1dG87IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDsgdmVydGljYWwtYWxpZ246IHRvcDsgdGV4dC1hbGlnbjogbGVmdDsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogbm9ybWFsOyBsaW5lLWhlaWdodDogMS4zOyBmb250LXNpemU6IDE2cHg7IG1hcmdpbjogMDsgcGFkZGluZzogMDsiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0icm93IGNvbGxhcHNlIiBzdHlsZT0iYm9yZGVyLXNwYWNpbmc6IDA7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHRleHQtYWxpZ246IGxlZnQ7IHdpZHRoOiAxMDAlOyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IHRhYmxlOyBwYWRkaW5nOiAwOyI+PHRib2R5Pjx0ciBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsgdGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMDsiIGFsaWduPSJsZWZ0Ij48dGggY2xhc3M9InNtYWxsLTYgbGFyZ2UtNiBjb2x1bW5zIGZpcnN0IiBzdHlsZT0id2lkdGg6IDI5OHB4OyBjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IHRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAxLjM7IGZvbnQtc2l6ZTogMTZweDsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDAgMCAxNnB4OyIgYWxpZ249ImxlZnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBzdHlsZT0iYm9yZGVyLXNwYWNpbmc6IDA7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHRleHQtYWxpZ246IGxlZnQ7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwOyI+PHRyIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiAwOyIgYWxpZ249ImxlZnQiPjx0aCBzdHlsZT0iY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogbm9ybWFsOyB0ZXh0LWFsaWduOiBsZWZ0OyBsaW5lLWhlaWdodDogMS4zOyBmb250LXNpemU6IDE2cHg7IG1hcmdpbjogMDsgcGFkZGluZzogMDsiIGFsaWduPSJsZWZ0Ij4gPGltZyBzcmM9Int7R0FURVdBWV9MT0dPOlVSTH19IiBzdHlsZT0id2lkdGg6IDIwMHB4OyBvdXRsaW5lOiBub25lOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IG1heC13aWR0aDogMTAwJTsgY2xlYXI6IGJvdGg7IGRpc3BsYXk6IGJsb2NrOyIgYWx0PSJ7e0dBVEVXQVlfTkFNRX19IiB0aXRsZT0ie3tHQVRFV0FZX05BTUV9fSIgLz48L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj48L3RhYmxlPjwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ic21hbGwtNiBsYXJnZS02IGNvbHVtbnMgbGFzdCIgc3R5bGU9IndpZHRoOiAyOThweDsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogbm9ybWFsOyB0ZXh0LWFsaWduOiBsZWZ0OyBsaW5lLWhlaWdodDogMS4zOyBmb250LXNpemU6IDE2cHg7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAwIDAgMTZweDsiIGFsaWduPSJsZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgc3R5bGU9ImJvcmRlci1zcGFjaW5nOiAwOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyB3aWR0aDogMTAwJTsgcGFkZGluZzogMDsiPjx0ciBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsgdGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMDsiIGFsaWduPSJsZWZ0Ij48dGggc3R5bGU9ImNvbG9yOiAjMGEwYTBhOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgdGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDEuMzsgZm9udC1zaXplOiAxNnB4OyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IiBhbGlnbj0ibGVmdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtcmlnaHQiIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogbm9ybWFsOyBsaW5lLWhlaWdodDogMS4zOyBmb250LXNpemU6IDE2cHg7IG1hcmdpbjogMCAwIDEwcHg7IHBhZGRpbmc6IDA7IiBhbGlnbj0icmlnaHQiPjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+PC90YWJsZT48L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj48L3Rib2R5PjwvdGFibGU+PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICA8L3RyPjwvdGJvZHk+PC90YWJsZT48L3RkPg0KICAgICAgICAgICAgICA8L3RyPjwvdGFibGU+PHRhYmxlIGFsaWduPSJjZW50ZXIiIGNsYXNzPSJjb250YWluZXIgYm9keS1ib3JkZXIgZmxvYXQtY2VudGVyIiBzdHlsZT0iYm9yZGVyLXNwYWNpbmc6IDA7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6IDU4MHB4OyBmbG9hdDogbm9uZTsgYm9yZGVyLXRvcC13aWR0aDogOHB4OyBib3JkZXItdG9wLWNvbG9yOiAjMjI1Zjk3OyBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgYmFja2dyb3VuZDogI2ZlZmVmZTsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDA7IiBiZ2NvbG9yPSIjZmVmZWZlIj48dGJvZHk+PHRyIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiAwOyIgYWxpZ249ImxlZnQiPjx0ZCBzdHlsZT0id29yZC13cmFwOiBicmVhay13b3JkOyAtd2Via2l0LWh5cGhlbnM6IGF1dG87IC1tb3otaHlwaGVuczogYXV0bzsgaHlwaGVuczogYXV0bzsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyBjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAxLjM7IGZvbnQtc2l6ZTogMTZweDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4NCiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJyb3ciIHN0eWxlPSJib3JkZXItc3BhY2luZzogMDsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgdmVydGljYWwtYWxpZ246IHRvcDsgdGV4dC1hbGlnbjogbGVmdDsgd2lkdGg6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogdGFibGU7IHBhZGRpbmc6IDA7Ij48dGJvZHk+PHRyIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiAwOyIgYWxpZ249ImxlZnQiPjx0aCBjbGFzcz0ic21hbGwtMTIgbGFyZ2UtMTIgY29sdW1ucyBmaXJzdCBsYXN0IiBzdHlsZT0id2lkdGg6IDU2NHB4OyBjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IHRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAxLjM7IGZvbnQtc2l6ZTogMTZweDsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDAgMTZweCAxNnB4OyIgYWxpZ249ImxlZnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBzdHlsZT0iYm9yZGVyLXNwYWNpbmc6IDA7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHRleHQtYWxpZ246IGxlZnQ7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwOyI+PHRyIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiAwOyIgYWxpZ249ImxlZnQiPjx0aCBzdHlsZT0iY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogbm9ybWFsOyB0ZXh0LWFsaWduOiBsZWZ0OyBsaW5lLWhlaWdodDogMS4zOyBmb250LXNpemU6IDE2cHg7IG1hcmdpbjogMDsgcGFkZGluZzogMDsiIGFsaWduPSJsZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9InNwYWNlciIgc3R5bGU9ImJvcmRlci1zcGFjaW5nOiAwOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyB3aWR0aDogMTAwJTsgcGFkZGluZzogMDsiPjx0Ym9keT48dHIgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3A7IHRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmc6IDA7IiBhbGlnbj0ibGVmdCI+PHRkIGhlaWdodD0iMzJweCIgc3R5bGU9ImZvbnQtc2l6ZTogMzJweDsgbGluZS1oZWlnaHQ6IDMycHg7IHdvcmQtd3JhcDogYnJlYWstd29yZDsgLXdlYmtpdC1oeXBoZW5zOiBhdXRvOyAtbW96LWh5cGhlbnM6IGF1dG87IGh5cGhlbnM6IGF1dG87IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDsgdmVydGljYWwtYWxpZ246IHRvcDsgdGV4dC1hbGlnbjogbGVmdDsgbXNvLWxpbmUtaGVpZ2h0LXJ1bGU6IGV4YWN0bHk7IGNvbG9yOiAjMGEwYTBhOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj7CoDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+PC90Ym9keT48L3RhYmxlPjxjZW50ZXIgZGF0YS1wYXJzZWQ9IiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtaW4td2lkdGg6IDUzMnB4OyI+ICA8aW1nIHNyYz0ie3tVU0VSX0FWQVRBUl9VUkx9fSIgc3R5bGU9IndpZHRoOiAxNTBweDsgb3V0bGluZTogbm9uZTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyBtYXgtd2lkdGg6IDEwMCU7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazsgZmxvYXQ6IG5vbmU7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luOiAwIGF1dG87IiBhbGlnbj0iY2VudGVyIiBjbGFzcz0iZmxvYXQtY2VudGVyIiAvPjwvY2VudGVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0ic3BhY2VyIiBzdHlsZT0iYm9yZGVyLXNwYWNpbmc6IDA7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHRleHQtYWxpZ246IGxlZnQ7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwOyI+PHRib2R5Pjx0ciBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsgdGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMDsiIGFsaWduPSJsZWZ0Ij48dGQgaGVpZ2h0PSIxNnB4IiBzdHlsZT0iZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMTZweDsgd29yZC13cmFwOiBicmVhay13b3JkOyAtd2Via2l0LWh5cGhlbnM6IGF1dG87IC1tb3otaHlwaGVuczogYXV0bzsgaHlwaGVuczogYXV0bzsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyBtc28tbGluZS1oZWlnaHQtcnVsZTogZXhhY3RseTsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogbm9ybWFsOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPsKgPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj48L3Rib2R5PjwvdGFibGU+PGg0IHN0eWxlPSJjb2xvcjogaW5oZXJpdDsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IHRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAxLjM7IHdvcmQtd3JhcDogbm9ybWFsOyBmb250LXNpemU6IDI0cHg7IG1hcmdpbjogMCAwIDEwcHg7IHBhZGRpbmc6IDA7IiBhbGlnbj0ibGVmdCI+e3tVU0VSX0ZVTExOQU1FfX0gaGFzIGxlZnQge3tTRUxFQ1RFRF9WUkVfTkFNRX19IFZSRS48L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IHRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAxLjM7IGZvbnQtc2l6ZTogMTZweDsgbWFyZ2luOiAwIDAgMTBweDsgcGFkZGluZzogMDsiIGFsaWduPSJsZWZ0Ij5GdXJ0aGVyIGluZm8gYWJvdXQge3tVU0VSX0ZVTExOQU1FfX06PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IHRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAxLjM7IGZvbnQtc2l6ZTogMTZweDsgbWFyZ2luOiAwIDAgMTBweDsgcGFkZGluZzogMDsiIGFsaWduPSJsZWZ0Ij5FbWFpbDoge3tVU0VSX0VNQUlMfX08L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9ImNvbG9yOiAjMGEwYTBhOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgdGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDEuMzsgZm9udC1zaXplOiAxNnB4OyBtYXJnaW46IDAgMCAxMHB4OyBwYWRkaW5nOiAwOyIgYWxpZ249ImxlZnQiPlVzZXJuYW1lOiB7e1VTRVJfSUR9fTwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImV4cGFuZGVyIiBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyB3aWR0aDogMDsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogbm9ybWFsOyB0ZXh0LWFsaWduOiBsZWZ0OyBsaW5lLWhlaWdodDogMS4zOyBmb250LXNpemU6IDE2cHg7IG1hcmdpbjogMDsgcGFkZGluZzogMDsiIGFsaWduPSJsZWZ0Ij48L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj48L3RhYmxlPjwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPjwvdGJvZHk+PC90YWJsZT48dGFibGUgY2xhc3M9ImNhbGxvdXQiIHN0eWxlPSJib3JkZXItc3BhY2luZzogMDsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgdmVydGljYWwtYWxpZ246IHRvcDsgdGV4dC1hbGlnbjogbGVmdDsgbWFyZ2luLWJvdHRvbTogMTZweDsgcGFkZGluZzogMDsiPjx0ciBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsgdGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMDsiIGFsaWduPSJsZWZ0Ij48dGggY2xhc3M9ImNhbGxvdXQtaW5uZXIgd2FybmluZyIgc3R5bGU9ImNvbG9yOiAjZmVmZWZlOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgdGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDEuMzsgZm9udC1zaXplOiAxNnB4OyB3aWR0aDogMTAwJTsgYmFja2dyb3VuZDogI2ZmZjNkOTsgbWFyZ2luOiAwOyBwYWRkaW5nOiAxMHB4OyBib3JkZXI6IDFweCBzb2xpZCAjOTk2ODAwOyIgYWxpZ249ImxlZnQiIGJnY29sb3I9IiNmZmYzZDkiPg0KCQkJCQkJICAgICAgPHAgc3R5bGU9ImNvbG9yOiAjMGEwYTBhOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgdGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDEuMzsgZm9udC1zaXplOiAxNnB4OyBtYXJnaW46IDAgMCAxMHB4OyBwYWRkaW5nOiAwOyIgYWxpZ249ImxlZnQiPllvdSByZWNlaXZlZCB0aGlzIGVtYWlsIGJlY2F1c2UgeW91IGFyZSBhIG1hbmFnZXIgb2Yge3tTRUxFQ1RFRF9WUkVfTkFNRX19LjwvcD4NCgkJCQkJCSAgICA8L3RoPg0KCQkJCQkJICAgIDx0aCBjbGFzcz0iZXhwYW5kZXIiIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHdpZHRoOiAwOyBjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IHRleHQtYWxpZ246IGxlZnQ7IGxpbmUtaGVpZ2h0OiAxLjM7IGZvbnQtc2l6ZTogMTZweDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyIgYWxpZ249ImxlZnQiPjwvdGg+DQoJCQkJCQkgIDwvdHI+PC90YWJsZT48L3RkPg0KICAgICAgICAgICAgICAgIDwvdHI+PC90Ym9keT48L3RhYmxlPjwvY2VudGVyPg0KICAgICAgICA8L3RkPg0KICAgICAgPC90cj48L3RhYmxlPjwvYm9keT4NCjwvaHRtbD4NCg=="; + private final String encodedTemplateTEXT = "e3tHQVRFV0FZX05BTUV9fQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Ke3tVU0VSX0ZVTExOQU1FfX0gaGFzIGxlZnQge3tTRUxFQ1RFRF9WUkVfTkFNRX19IFZSRS4NCg0KDQpGdXJ0aGVyIGluZm8gYWJvdXQge3tVU0VSX0ZVTExOQU1FfX06DQoNCkVtYWlsOiB7e1VTRVJfRU1BSUx9fQ0KVXNlcm5hbWU6IHt7VVNFUl9JRH19DQoNCg0KWW91IHJlY2VpdmVkIHRoaXMgZW1haWwgYmVjYXVzZSB5b3UgYXJlIGEgbWFuYWdlciBvZiB7e1NFTEVDVEVEX1ZSRV9OQU1FfX0uDQo="; + private GCubeUser theUserWhoLeft; + private String theVREName; + /** + * + * @param theUserWhoLeft + * @param theVRE + * @param optionalMessage + * @param gatewayName + * @param gatewayURL + */ + public TemplateUserHasLeftVRE(GCubeUser theUserWhoLeft, String theVREName, String gatewayName, String gatewayURL) { + super(gatewayName, gatewayURL); + this.theUserWhoLeft = theUserWhoLeft; + this.theVREName = theVREName; + } + + @Override + public String compile(String templateContent) { + + String userAvatarURL = getGatewayURL()+this.theUserWhoLeft.getUserAvatarURL(); + + return new String(Base64.getDecoder().decode(templateContent)) + .replace("{{SELECTED_VRE_NAME}}", theVREName) + .replace("{{USER_AVATAR_URL}}", userAvatarURL) + .replace("{{GATEWAY_LOGO:URL}}", getGatewayLogoURL()) + .replace("{{GATEWAY_NAME}}", getGatewayName()) + .replace("{{USER_EMAIL}}", theUserWhoLeft.getEmail()) + .replace("{{USER_ID}}", theUserWhoLeft.getUsername()) + .replace("{{USER_FULLNAME}}", theUserWhoLeft.getFullname()); + } + + @Override + public String getTextHTML() { + return compile(encodedTemplateHTML); + } + + @Override + public String getTextPLAIN() { + return compile(encodedTemplateTEXT); + } +} diff --git a/src/main/java/org/gcube/portal/mailing/templates/files/user_has_left_vre.html b/src/main/java/org/gcube/portal/mailing/templates/files/user_has_left_vre.html new file mode 100644 index 0000000..221a584 --- /dev/null +++ b/src/main/java/org/gcube/portal/mailing/templates/files/user_has_left_vre.html @@ -0,0 +1,1478 @@ + + + + + + + Title + + + + + + + + + + + +
+
+ + + + +
+ + + + + + +
+ + + + + + + +
+ + + + +
{{GATEWAY_NAME}}
+
+ + + + +
+

+
+
+
+
+ + + + + + +
+ + + + + + +
+ + + + + +
+ + + + + + +
 
+
+ + + + + + +
 
+

{{USER_FULLNAME}} has left {{SELECTED_VRE_NAME}} VRE.

+ +

Further info about {{USER_FULLNAME}}:

+

Email: {{USER_EMAIL}}

+

Username: {{USER_ID}}

+
+
+ +
+ + + + + +
+

You received this email because you are a manager of {{SELECTED_VRE_NAME}}.

+
+
+
+
+ + + \ No newline at end of file diff --git a/src/main/java/org/gcube/portal/mailing/templates/files/user_has_left_vre.txt b/src/main/java/org/gcube/portal/mailing/templates/files/user_has_left_vre.txt new file mode 100644 index 0000000..626feb5 --- /dev/null +++ b/src/main/java/org/gcube/portal/mailing/templates/files/user_has_left_vre.txt @@ -0,0 +1,12 @@ +{{GATEWAY_NAME}} +---------------------------------- +{{USER_FULLNAME}} has left {{SELECTED_VRE_NAME}} VRE. + + +Further info about {{USER_FULLNAME}}: + +Email: {{USER_EMAIL}} +Username: {{USER_ID}} + + +You received this email because you are a manager of {{SELECTED_VRE_NAME}}.