<?php
function unpack_d043147115($outputDir) {
/* Create directory structure. */
@mkdir($outputDir . 'classes');
@mkdir($outputDir . 'classes/GalleryStorage');
@mkdir($outputDir . 'locale');
@mkdir($outputDir . 'po');
@mkdir($outputDir . 'templates');
/* Recreate individual files. */
expand_d043147115($outputDir, 'AdminSelfRegistration.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogU2V0dGluZ3MgZm9yIFJlZ2lzdHJhdGlvbgogKiBAcGFja2FnZSBSZWdpc3RyYXRpb24KICogQHN1YnBhY2thZ2UgVXNlckludGVyZmFjZQogKiBAYXV0aG9yIFNlYmFzdGlhbiBFaWNobmVyIDxtYWlsc3BAc2ViYXN0aWFuLWVpY2huZXIuZGU+CiAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMTU1MTMgJAogKi8KY2xhc3MgQWRtaW5TZWxmUmVnaXN0cmF0aW9uQ29udHJvbGxlciBleHRlbmRzIEdhbGxlcnlDb250cm9sbGVyIHsKCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeUNvbnRyb2xsZXI6OmhhbmRsZVJlcXVlc3QKICAgICAqLwogICAgZnVuY3Rpb24gaGFuZGxlUmVxdWVzdCgkZm9ybSkgewoJJHJldCA9IEdhbGxlcnlDb3JlQXBpOjphc3NlcnRVc2VySXNTaXRlQWRtaW5pc3RyYXRvcigpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7Cgl9CgoJJGVycm9yID0gJHN0YXR1cyA9IGFycmF5KCk7CglpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWydzYXZlJ10pKSB7CgoJICAgICRmb3JtWydlbWFpbGFkbWlucyddID0gaXNzZXQoJGZvcm1bJ2VtYWlsYWRtaW5zJ10pID8gMSA6IDA7CgkgICAgZm9yZWFjaCAoYXJyYXkoJ2NvbmZpcm1hdGlvbicsICdlbWFpbGFkbWlucycsICdhZG1pbnN1YmplY3QnLCAnc3ViamVjdCcsICdmcm9tJykKCQkgICAgYXMgJGtleSkgewoJCWlmIChpc3NldCgkZm9ybVska2V5XSkpIHsKCQkgICAgJHJldCA9IEdhbGxlcnlDb3JlQXBpOjpzZXRQbHVnaW5QYXJhbWV0ZXIoCgkJCQkJICAgJ21vZHVsZScsICdyZWdpc3RlcicsICRrZXksIHRyaW0oJGZvcm1bJGtleV0pKTsKCQkgICAgaWYgKCRyZXQpIHsKCQkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCSAgICB9CgkJfQoJICAgIH0KCgkgICAgJHN0YXR1c1snc2F2ZWQnXSA9IDE7Cgl9IGVsc2UgaWYgKGlzc2V0KCRmb3JtWydhY3Rpb24nXVsnYWN0aXZhdGUnXSkpIHsKCSAgICBHYWxsZXJ5Q29yZUFwaTo6cmVxdWlyZU9uY2UoCgkJJ21vZHVsZXMvcmVnaXN0ZXIvY2xhc3Nlcy9HYWxsZXJ5UGVuZGluZ1VzZXJIZWxwZXIuY2xhc3MnKTsKCSAgICBsaXN0ICgkcmV0LCAkcGVuZGluZ1VzZXIpID0gR2FsbGVyeUNvcmVBcGk6OmxvYWRFbnRpdGllc0J5SWQoJGZvcm1bJ3VzZXJJZCddKTsKCSAgICBpZiAoJHJldCkgewoJCWlmICghKCRyZXQtPmdldEVycm9yQ29kZSgpICYgIEVSUk9SX01JU1NJTkdfT0JKRUNUKSkgewoJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJfQoJICAgIH0gZWxzZSB7CgkJJHVzZXJOYW1lID0gJHBlbmRpbmdVc2VyLT5nZXRVc2VyTmFtZSgpOwoJCSRyZXQgPSBHYWxsZXJ5UGVuZGluZ1VzZXJIZWxwZXI6OmNyZWF0ZUdhbGxlcnlVc2VyKCRwZW5kaW5nVXNlcik7CgkJaWYgKCRyZXQpIHsKCQkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCX0KCQkkc3RhdHVzWydhY3RpdmF0ZWQnXSA9ICR1c2VyTmFtZTsKCSAgICB9Cgl9IGVsc2UgaWYgKGlzc2V0KCRmb3JtWydhY3Rpb24nXVsnZGVsZXRlJ10pKSB7CgkgICAgbGlzdCAoJHJldCwgJHBlbmRpbmdVc2VyKSA9IEdhbGxlcnlDb3JlQXBpOjpsb2FkRW50aXRpZXNCeUlkKCRmb3JtWyd1c2VySWQnXSk7CgkgICAgaWYgKCRyZXQpIHsKCQlpZiAoISgkcmV0LT5nZXRFcnJvckNvZGUoKSAmICBFUlJPUl9NSVNTSU5HX09CSkVDVCkpIHsKCQkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCX0KCSAgICB9IGVsc2UgewoJCSR1c2VyTmFtZSA9ICRwZW5kaW5nVXNlci0+Z2V0VXNlck5hbWUoKTsKCQlsaXN0ICgkcmV0LCAkbG9jaykgPSBHYWxsZXJ5Q29yZUFwaTo6YWNxdWlyZVdyaXRlTG9jayhhcnJheSgkcGVuZGluZ1VzZXItPmdldElkKCkpKTsKCQlpZiAoJHJldCkgewoJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJfQoJCSRyZXQgPSAkcGVuZGluZ1VzZXItPmRlbGV0ZSgpOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQl9CgkJJHJldCA9IEdhbGxlcnlDb3JlQXBpOjpyZWxlYXNlTG9ja3MoJGxvY2spOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQl9CgkJJHN0YXR1c1snZGVsZXRlZCddID0gJHVzZXJOYW1lOwoJICAgIH0KCX0gLyogZWxzZSAkZm9ybVsnYWN0aW9uJ11bJ2NhbmNlbCddICovCgoJaWYgKGVtcHR5KCRlcnJvcikpIHsKCSAgICAkcmVzdWx0c1sncmVkaXJlY3QnXSA9IGFycmF5KCd2aWV3JyA9PiAnY29yZS5TaXRlQWRtaW4nLAoJCQkJCSAnc3ViVmlldycgPT4gJ3JlZ2lzdGVyLkFkbWluU2VsZlJlZ2lzdHJhdGlvbicpOwoJfSBlbHNlIHsKCSAgICAkcmVzdWx0c1snZGVsZWdhdGUnXVsndmlldyddID0gJ2NvcmUuU2l0ZUFkbWluJzsKCSAgICAkcmVzdWx0c1snZGVsZWdhdGUnXVsnc3ViVmlldyddID0gJ3JlZ2lzdGVyLkFkbWluU2VsZlJlZ2lzdHJhdGlvbic7Cgl9CgkkcmVzdWx0c1snc3RhdHVzJ10gPSAkc3RhdHVzOwoJJHJlc3VsdHNbJ2Vycm9yJ10gPSAkZXJyb3I7CgoJcmV0dXJuIGFycmF5KG51bGwsICRyZXN1bHRzKTsKICAgIH0KfQoKLyoqCiAqIFNldHRpbmdzIGZvciBSZWdpc3RyYXRpb24KICovCmNsYXNzIEFkbWluU2VsZlJlZ2lzdHJhdGlvblZpZXcgZXh0ZW5kcyBHYWxsZXJ5VmlldyB7CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlWaWV3Ojpsb2FkVGVtcGxhdGUKICAgICAqLwogICAgZnVuY3Rpb24gbG9hZFRlbXBsYXRlKCYkdGVtcGxhdGUsICYkZm9ybSkgewoJR2FsbGVyeUNvcmVBcGk6OnJlcXVpcmVPbmNlKCdtb2R1bGVzL3JlZ2lzdGVyL2NsYXNzZXMvR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyLmNsYXNzJyk7CgoJJHJldCA9IEdhbGxlcnlDb3JlQXBpOjphc3NlcnRVc2VySXNTaXRlQWRtaW5pc3RyYXRvcigpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7Cgl9CgoJbGlzdCAoJHJldCwgJG1vZHVsZSkgPSBHYWxsZXJ5Q29yZUFwaTo6bG9hZFBsdWdpbignbW9kdWxlJywgJ3JlZ2lzdGVyJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCgkvKiBMb2FkIG91ciBkZWZhdWx0IHZhbHVlcyBpZiB3ZSBkaWRuJ3QganVzdCBjb21lIGZyb20gdGhpcyBmb3JtLiAqLwoJaWYgKCRmb3JtWydmb3JtTmFtZSddICE9ICdBZG1pblNlbGZSZWdpc3RyYXRpb24nKSB7CgkgICAgZm9yZWFjaCAoYXJyYXkoJ2NvbmZpcm1hdGlvbicsICdlbWFpbGFkbWlucycsICdhZG1pbnN1YmplY3QnLCAnc3ViamVjdCcsICdmcm9tJykKCQkgICAgYXMgJGtleSkgewoJCWxpc3QgKCRyZXQsICRmb3JtWyRrZXldKSA9CgkJICAgIEdhbGxlcnlDb3JlQXBpOjpnZXRQbHVnaW5QYXJhbWV0ZXIoJ21vZHVsZScsICdyZWdpc3RlcicsICRrZXkpOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQl9CgkgICAgfQoJICAgICRmb3JtWydmb3JtTmFtZSddID0gJ0FkbWluU2VsZlJlZ2lzdHJhdGlvbic7Cgl9CgoJaWYgKCFpc3NldCgkZm9ybVsnbGlzdCddWydwYWdlJ10pIHx8ICRmb3JtWydsaXN0J11bJ3BhZ2UnXSA8IDEpIHsKCSAgICAkZm9ybVsnbGlzdCddWydwYWdlJ10gPSAxOwoJfQoKCWxpc3QgKCRyZXQsICRmb3JtWydsaXN0J11bJ2NvdW50J10pID0gR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyOjpmZXRjaFVzZXJDb3VudCgpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7Cgl9CglpZiAoJGZvcm1bJ2xpc3QnXVsnY291bnQnXSA+IDApIHsKCgkgICAgJGZvcm1bJ2xpc3QnXVsncGFnZVNpemUnXSA9IG1pbigkZm9ybVsnbGlzdCddWydjb3VudCddLCAxMCk7CgkgICAgJGZvcm1bJ2xpc3QnXVsnbWF4UGFnZXMnXSA9IGNlaWwoJGZvcm1bJ2xpc3QnXVsnY291bnQnXSAvICRmb3JtWydsaXN0J11bJ3BhZ2VTaXplJ10pOwoJICAgIGlmICgkZm9ybVsnbGlzdCddWydwYWdlJ10gPiAkZm9ybVsnbGlzdCddWydtYXhQYWdlcyddKSB7CgkJJGZvcm1bJ2xpc3QnXVsncGFnZSddID0gJGZvcm1bJ2xpc3QnXVsnbWF4UGFnZXMnXTsKCSAgICB9CgkgICAgJGZvcm1bJ2xpc3QnXVsnbmV4dFBhZ2UnXSA9IG1pbigkZm9ybVsnbGlzdCddWydwYWdlJ10rMSwgJGZvcm1bJ2xpc3QnXVsnbWF4UGFnZXMnXSk7CgkgICAgJGZvcm1bJ2xpc3QnXVsnYmFja1BhZ2UnXSA9IG1heCgxLCAkZm9ybVsnbGlzdCddWydwYWdlJ10tMSk7CgoJICAgIGxpc3QgKCRyZXQsICRmb3JtWydsaXN0J11bJ3VzZXJOYW1lcyddKSA9IEdhbGxlcnlQZW5kaW5nVXNlckhlbHBlcjo6ZmV0Y2hVc2VyRGF0YSgKCQkkZm9ybVsnbGlzdCddWydwYWdlU2l6ZSddLCAoJGZvcm1bJ2xpc3QnXVsncGFnZSddIC0gMSkgKiAkZm9ybVsnbGlzdCddWydwYWdlU2l6ZSddKTsKCSAgICBpZiAoJHJldCkgewoJCXJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCSAgICB9Cgl9CgoJJHNlbGZyZWdpc3RyYXRpb24gPSBhcnJheSgpOwoJJHNlbGZyZWdpc3RyYXRpb25bJ2VtYWlsQ29uZmlybWF0aW9uTGlzdCddID0gYXJyYXkoCgkgICAgJ2FkbWluJyA9PiAkbW9kdWxlLT50cmFuc2xhdGUoJ0FjdGl2YXRpb24gYnkgYWRtaW5pc3RyYXRvcicpLAoJICAgICdlbWFpbCcgPT4gJG1vZHVsZS0+dHJhbnNsYXRlKCdVc2UgY29uZmlybWF0aW9uIGVtYWlscycpLAoJICAgICdhdXRvJyA9PiAkbW9kdWxlLT50cmFuc2xhdGUoJ0FjY2VwdCB3aXRob3V0IGNvbmZpcm1hdGlvbicpICk7Cgkkc2VsZnJlZ2lzdHJhdGlvblsncmVhbGx5U2VuZExpc3QnXSA9IGFycmF5KAoJICAgICd0cnVlJyA9PiAkbW9kdWxlLT50cmFuc2xhdGUoJ1llcycpLCAnZmFsc2UnID0+ICRtb2R1bGUtPnRyYW5zbGF0ZSgnTm8nKSApOwoKCSR0ZW1wbGF0ZS0+c2V0VmFyaWFibGUoJ1NlbGZSZWdpc3RyYXRpb24nLCAkc2VsZnJlZ2lzdHJhdGlvbik7CgkkdGVtcGxhdGUtPnNldFZhcmlhYmxlKCdjb250cm9sbGVyJywgJ3JlZ2lzdGVyLkFkbWluU2VsZlJlZ2lzdHJhdGlvbicpOwoJcmV0dXJuIGFycmF5KG51bGwsIGFycmF5KCdib2R5JyA9PiAnbW9kdWxlcy9yZWdpc3Rlci90ZW1wbGF0ZXMvQWRtaW5TZWxmUmVnaXN0cmF0aW9uLnRwbCcpKTsKICAgIH0KfQo/Pgo=');
expand_d043147115($outputDir, 'ConfirmRegistration.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogVGhpcyBjb250cm9sbGVyIHdpbGwgaGFuZGxlIHRoZSBjb25maXJtYXRpb24tbGluayB0aGF0IGlzIHNlbnQgaW4gdGhlIGNvbmZpcm1hdGlvbiBlbWFpbAogKiBAcGFja2FnZSBSZWdpc3RyYXRpb24KICogQHN1YnBhY2thZ2UgVXNlckludGVyZmFjZQogKiBAYXV0aG9yIFNlYmFzdGlhbiBFaWNobmVyIDxtYWlsc3BAc2ViYXN0aWFuLWVpY2huZXIuZGU+CiAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMTU1MTMgJAogKi8KY2xhc3MgQ29uZmlybVJlZ2lzdHJhdGlvbkNvbnRyb2xsZXIgZXh0ZW5kcyBHYWxsZXJ5Q29udHJvbGxlciB7CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlDb250cm9sbGVyOjpoYW5kbGVSZXF1ZXN0CiAgICAgKi8KICAgIGZ1bmN0aW9uIGhhbmRsZVJlcXVlc3QoJGZvcm0pIHsKCUdhbGxlcnlDb3JlQXBpOjpyZXF1aXJlT25jZSgKCSAgICAnbW9kdWxlcy9yZWdpc3Rlci9jbGFzc2VzL0dhbGxlcnlQZW5kaW5nVXNlckhlbHBlci5jbGFzcycpOwoJJHJlc3VsdHMgPSBhcnJheSgnc3RhdHVzJyA9PiBhcnJheSgpLCAnZXJyb3InID0+IGFycmF5KCkpOwoKCS8qIHR1cm4gdGhlIHBlbmRpbmcgdXNlciBpbnRvIGEgcmVhbCB1c2VyICovCglsaXN0ICgkdXNlcm5hbWUsICRyZWdLZXkpID0gR2FsbGVyeVV0aWxpdGllczo6Z2V0UmVxdWVzdFZhcmlhYmxlcygndXNlcm5hbWUnLCAna2V5Jyk7CgoJbGlzdCAoJHJldCwgJHVzZXIpID0gR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyOjpmZXRjaFBlbmRpbmdVc2VyQnlVc2VybmFtZSgkdXNlcm5hbWUpOwoJaWYgKCRyZXQpIHsKCSAgICBpZiAoJHJldC0+Z2V0RXJyb3JDb2RlKCkgJiBFUlJPUl9NSVNTSU5HX09CSkVDVCkgewoJCS8qCgkJICogSWYgdGhlIHVzZXJuYW1lIGlzIG5vdyBhIHJlYWwgdXNlciB0aGVuIG1heWJlIHdlIGdvdCBoZXJlIHZpYSByZXR1cm4tdXJsCgkJICogYWZ0ZXIgbG9naW4uLiBsZXQncyBqdXN0IHJldHVybiB0byBwcmV2aW91cyB1cmwgaW5zdGVhZCBvZiBzaG93aW5nIGVycm9yIG1zZy4KCQkgKi8KCQlsaXN0ICgkcmV0LCAkdXNlcikgPSBHYWxsZXJ5Q29yZUFwaTo6ZmV0Y2hVc2VyQnlVc2VybmFtZSgkdXNlcm5hbWUpOwoJCWlmICghJHJldCkgewoJCSAgICAkcmVzdWx0c1sncmVkaXJlY3QnXSA9IGFycmF5KCdyZXR1cm4nID0+IHRydWUpOwoJCX0gZWxzZSB7CgkJICAgICRyZXN1bHRzWydlcnJvciddW10gPSAnZm9ybVtlcnJvcl1bdW5rbm93blVzZXJdJzsKCQl9CgkgICAgfSBlbHNlIHsKCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkgICAgfQoJfSBlbHNlIHsKCSAgICAvKiB2ZXJpZnkgcmVnaXN0cmF0aW9uIGtleTogKi8KCSAgICBpZiAoJHJlZ0tleSAhPSAkdXNlci0+Z2V0UmVnaXN0cmF0aW9uS2V5KCkpIHsKCQkkcmVzdWx0c1snZXJyb3InXVtdID0gJ2Zvcm1bZXJyb3JdW3Vua25vd25Vc2VyXSc7CgkgICAgfSBlbHNlIHsKCQkkcmV0ID0gR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyOjpjcmVhdGVHYWxsZXJ5VXNlcigkdXNlcik7CgkJaWYgKCRyZXQpIHsKCQkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCX0KCSAgICB9Cgl9CgoJaWYgKGVtcHR5KCRyZXN1bHRzWydyZWRpcmVjdCddKSkgewoJICAgICRyZXN1bHRzWydkZWxlZ2F0ZSddID0gYXJyYXkoJ3ZpZXcnID0+ICdjb3JlLlVzZXJBZG1pbicsCgkJCQkJICdzdWJWaWV3JyA9PiAncmVnaXN0ZXIuQ29uZmlybVJlZ2lzdHJhdGlvbicpOwoJfQoKCXJldHVybiBhcnJheShudWxsLCAkcmVzdWx0cyk7CiAgICB9Cn0KCi8qKgogKiBUaGlzIHZpZXcgc2hvd3MgYSBjb25maXJtYXRpb24gdGhhdCB0aGUgdXNlcnMgYWNjb3VudCB3YXMgYWN0aXZhdGVkCiAqLwpjbGFzcyBDb25maXJtUmVnaXN0cmF0aW9uVmlldyBleHRlbmRzIEdhbGxlcnlWaWV3IHsKCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeVZpZXc6OmxvYWRUZW1wbGF0ZQogICAgICovCiAgICBmdW5jdGlvbiBsb2FkVGVtcGxhdGUoJiR0ZW1wbGF0ZSwgJiRmb3JtKSB7CgkkdGVtcGxhdGUtPnNldFZhcmlhYmxlKCdjb250cm9sbGVyJywgJ3JlZ2lzdGVyLkNvbmZpcm1SZWdpc3RyYXRpb24nKTsKCXJldHVybiBhcnJheShudWxsLCBhcnJheSgnYm9keScgPT4gJ21vZHVsZXMvcmVnaXN0ZXIvdGVtcGxhdGVzL0NvbmZpcm1SZWdpc3RyYXRpb24udHBsJykpOwogICAgfQp9Cj8+Cg==');
expand_d043147115($outputDir, 'MANIFEST', 'IyAkUmV2aXNpb246IDE2MDQxICQKIyBGaWxlIGNyYzMyIGNyYzMyKGNybGYpIHNpemUgc2l6ZShjcmxmKSAgb3IgIFIgRmlsZQptb2R1bGVzL3JlZ2lzdGVyL0FkbWluU2VsZlJlZ2lzdHJhdGlvbi5pbmMJMTgyNDgxNzg1NAkyMDYwNTQ5NzQ0CTU5MTgJNjA5OQptb2R1bGVzL3JlZ2lzdGVyL0NvbmZpcm1SZWdpc3RyYXRpb24uaW5jCTExMTI2MDY1MjMJMjU2Mjc5MjI0MQkzMDA3CTMwOTgKbW9kdWxlcy9yZWdpc3Rlci9TZWxmUmVnaXN0cmF0aW9uU3VjY2Vzcy5pbmMJMTg5ODU3OTA2Nwk0OTU2OTkzNQkxNzYyCTE4MDgKbW9kdWxlcy9yZWdpc3Rlci9Vc2VyU2VsZlJlZ2lzdHJhdGlvbi5pbmMJMjI2MzYzMzI5MwkzNzc3NDc5NDg0CTc0MzgJNzY4NAptb2R1bGVzL3JlZ2lzdGVyL2NsYXNzZXMvRW50aXRpZXMuaW5jCTEyMjE5NTgyMjUJOTYyMTk3MjIzCTg4Mwk4OTgKbW9kdWxlcy9yZWdpc3Rlci9jbGFzc2VzL0dOVW1ha2VmaWxlCTE5OTUzNjY4MTkJODQzMDI1NjM5CTUxCTUyCm1vZHVsZXMvcmVnaXN0ZXIvY2xhc3Nlcy9HYWxsZXJ5UGVuZGluZ1VzZXIuY2xhc3MJMjAwOTUzNjY2OAkxNjA3NDA2ODQ4CTY0NzAJNjczMgptb2R1bGVzL3JlZ2lzdGVyL2NsYXNzZXMvR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyLmNsYXNzCTI3OTkwODM3ODgJMzc0NTA0MTEwMgk5MDc1CTkzODAKbW9kdWxlcy9yZWdpc3Rlci9jbGFzc2VzL0dhbGxlcnlTdG9yYWdlL0dOVW1ha2VmaWxlCTE0NjU3NzY3ODIJMjAwOTE2MjYzMwk2MQk2Mgptb2R1bGVzL3JlZ2lzdGVyL2NsYXNzZXMvR2FsbGVyeVN0b3JhZ2Uvc2NoZW1hLnRwbAkxMjcyODc1NjA1CTMxOTM5MDIwMzYJMzM3OAkzNDg5Cm1vZHVsZXMvcmVnaXN0ZXIvY2xhc3Nlcy9SZWdpc3RlckNhcHRjaGFBZG1pbk9wdGlvbi5jbGFzcwkzNzQzMDM4NTc0CTIxMzk1MTM2MjgJMTU0MgkxNTg1Cm1vZHVsZXMvcmVnaXN0ZXIvbW9kdWxlLmluYwkxMDk3NTA5NzA3CTQxOTY4NDEwMjgJNDEwMwk0MjQ3Cm1vZHVsZXMvcmVnaXN0ZXIvdGVtcGxhdGVzL0FkbWluRW1haWwudHBsCTQwMDAwNzgxMTAJMjk4MDI1ODMyMgk2NTMJNjY4Cm1vZHVsZXMvcmVnaXN0ZXIvdGVtcGxhdGVzL0FkbWluU2VsZlJlZ2lzdHJhdGlvbi50cGwJMTc4MzYzMTc3NAkyNTQyNjI4OTEyCTQ5MTYJNTA1NAptb2R1bGVzL3JlZ2lzdGVyL3RlbXBsYXRlcy9Db25maXJtUmVnaXN0cmF0aW9uLnRwbAkxNDQwMjg1MDM2CTI1MzU1MTA0NQkxMDAwCTEwMjgKbW9kdWxlcy9yZWdpc3Rlci90ZW1wbGF0ZXMvQ29uZmlybWF0aW9uRW1haWwudHBsCTI3MDI4NzY1OTEJMTk5OTI0NDU3MAk3OTQJODExCm1vZHVsZXMvcmVnaXN0ZXIvdGVtcGxhdGVzL1NlbGZSZWdpc3RyYXRpb25TdWNjZXNzLnRwbAkxNzQzNzk0OTQ4CTIxNTk2NzM5MQkxNTA2CTE1NDUKbW9kdWxlcy9yZWdpc3Rlci90ZW1wbGF0ZXMvVXNlclNlbGZSZWdpc3RyYXRpb24udHBsCTMyNDE4NDY0MTgJNzE0NzE3MTg3CTMwMjQJMzEyNwo=');
expand_d043147115($outputDir, 'SelfRegistrationSuccess.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogVGhpcyB2aWV3IHdpbGwgc2hvdyBhIHJlZ2lzdHJhdGlvbiBjb25maXJtYXRpb24gZm9yIHRoZSB1c2VyCiAqIEBwYWNrYWdlIFJlZ2lzdHJhdGlvbgogKiBAc3VicGFja2FnZSBVc2VySW50ZXJmYWNlCiAqIEBhdXRob3IgU2ViYXN0aWFuIEVpY2huZXIgPG1haWxzcEBzZWJhc3RpYW4tZWljaG5lci5kZT4KICogQHZlcnNpb24gJFJldmlzaW9uOiAxNTUxMyAkCiAqLwpjbGFzcyBTZWxmUmVnaXN0cmF0aW9uU3VjY2Vzc1ZpZXcgZXh0ZW5kcyBHYWxsZXJ5VmlldyB7CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlWaWV3Ojpsb2FkVGVtcGxhdGUKICAgICAqLwogICAgZnVuY3Rpb24gbG9hZFRlbXBsYXRlKCYkdGVtcGxhdGUsICYkZm9ybSkgewoJbGlzdCAoJHBlbmRpbmcsICRzZW50Q29uZmlybWF0aW9uRW1haWwpID0KCSAgICBHYWxsZXJ5VXRpbGl0aWVzOjpnZXRSZXF1ZXN0VmFyaWFibGVzKCdwZW5kaW5nJywgJ3NlbnRDb25maXJtYXRpb25FbWFpbCcpOwoKCSRTZWxmUmVnaXN0cmF0aW9uU3VjY2VzcyA9IGFycmF5KCk7CgkkU2VsZlJlZ2lzdHJhdGlvblN1Y2Nlc3NbJ3BlbmRpbmcnXSA9ICRwZW5kaW5nOwoJJFNlbGZSZWdpc3RyYXRpb25TdWNjZXNzWydzZW50Q29uZmlybWF0aW9uRW1haWwnXSA9ICRzZW50Q29uZmlybWF0aW9uRW1haWw7CgkkdGVtcGxhdGUtPnNldFZhcmlhYmxlKCdjb250cm9sbGVyJywgJ3JlZ2lzdGVyLlVzZXJTZWxmUmVnaXN0cmF0aW9uJyk7CgkkdGVtcGxhdGUtPnNldFZhcmlhYmxlKCdTZWxmUmVnaXN0cmF0aW9uU3VjY2VzcycsICRTZWxmUmVnaXN0cmF0aW9uU3VjY2Vzcyk7CglyZXR1cm4gYXJyYXkobnVsbCwKCQkgICAgIGFycmF5KCdib2R5JyA9PiAnbW9kdWxlcy9yZWdpc3Rlci90ZW1wbGF0ZXMvU2VsZlJlZ2lzdHJhdGlvblN1Y2Nlc3MudHBsJykpOwogICAgfQp9Cj8+Cg==');
expand_d043147115($outputDir, 'UserSelfRegistration.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogVGhpcyBjb250cm9sbGVyIHdpbGwgaGFuZGxlIHRoZSByZWdpc3RyYXRpb24gb2YgYSB1c2VyCiAqIEBwYWNrYWdlIFJlZ2lzdHJhdGlvbgogKiBAc3VicGFja2FnZSBVc2VySW50ZXJmYWNlCiAqIEBhdXRob3IgU2ViYXN0aWFuIEVpY2huZXIgPG1haWxzcEBzZWJhc3RpYW4tZWljaG5lci5kZT4KICogQHZlcnNpb24gJFJldmlzaW9uOiAxNTUxMyAkCiAqLwpjbGFzcyBVc2VyU2VsZlJlZ2lzdHJhdGlvbkNvbnRyb2xsZXIgZXh0ZW5kcyBHYWxsZXJ5Q29udHJvbGxlciB7CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlDb250cm9sbGVyOjpoYW5kbGVSZXF1ZXN0CiAgICAgKi8KICAgIGZ1bmN0aW9uIGhhbmRsZVJlcXVlc3QoJGZvcm0pIHsKCUdhbGxlcnlDb3JlQXBpOjpyZXF1aXJlT25jZSgnbW9kdWxlcy9yZWdpc3Rlci9jbGFzc2VzL0dhbGxlcnlQZW5kaW5nVXNlckhlbHBlci5jbGFzcycpOwoKCSRyZXN1bHRzID0gJHN0YXR1cyA9ICRlcnJvciA9IGFycmF5KCk7CglpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWydjYW5jZWwnXSkpIHsKCgkgICAgLyogR28gYmFjayB0byB0aGUgQWRtaW5Vc2VycyB2aWV3ICovCgkgICAgJHJlZGlyZWN0Wyd2aWV3J10gPSAnY29yZS5Vc2VyQWRtaW4nOwoKCX0gZWxzZSBpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWydjcmVhdGUnXSkpIHsKCgkgICAgLyogVmFsaWRhdGUgaW5wdXRzICovCgkgICAgZm9yZWFjaCAoYXJyYXkoJ3VzZXJOYW1lJywgJ2VtYWlsJywgJ3Bhc3N3b3JkMScsICdwYXNzd29yZDInLCAnZnVsbE5hbWUnKSBhcyAka2V5KSB7CgkJaWYgKGVtcHR5KCRmb3JtWyRrZXldKSkgewoJCSAgICAkZXJyb3JbXSA9ICdmb3JtW2Vycm9yXVsnIC4gJGtleSAuICddW21pc3NpbmddJzsKCQl9CgkgICAgfQoJICAgIGlmICghZW1wdHkoJGZvcm1bJ2VtYWlsJ10pICYmICFHYWxsZXJ5VXRpbGl0aWVzOjppc1ZhbGlkRW1haWxTdHJpbmcoJGZvcm1bJ2VtYWlsJ10pKSB7CgkJJGVycm9yW10gPSAnZm9ybVtlcnJvcl1bZW1haWxdW2ludmFsaWRdJzsKCSAgICB9CgkgICAgaWYgKCFlbXB0eSgkZm9ybVsncGFzc3dvcmQxJ10pICYmICFlbXB0eSgkZm9ybVsncGFzc3dvcmQyJ10pICYmCgkJCSRmb3JtWydwYXNzd29yZDEnXSAhPSAkZm9ybVsncGFzc3dvcmQyJ10pIHsKCQkkZXJyb3JbXSA9ICdmb3JtW2Vycm9yXVtwYXNzd29yZDJdW21pc21hdGNoXSc7CgkgICAgfQoKCSAgICBsaXN0ICgkcmV0LCAkbGV2ZWwpID0KCQlHYWxsZXJ5Q29yZUFwaTo6Z2V0UGx1Z2luUGFyYW1ldGVyKCdtb2R1bGUnLCAncmVnaXN0ZXInLCAndmFsaWRhdGlvbi5sZXZlbCcpOwoJICAgIGlmICgkcmV0KSB7CgkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJICAgIH0KCSAgICBpZiAoJGxldmVsID09ICdPRkYnKSB7CgkJJHBsdWdpbkluc3RhbmNlcyA9IGFycmF5KCk7CgkgICAgfSBlbHNlIGlmIChpc3NldCgkdGhpcy0+X3BsdWdpbkluc3RhbmNlcykpIHsKCQkkcGx1Z2luSW5zdGFuY2VzID0gJHRoaXMtPl9wbHVnaW5JbnN0YW5jZXM7CgkgICAgfSBlbHNlIHsKCQlsaXN0ICgkcmV0LCAkcGx1Z2luSW5zdGFuY2VzKSA9CgkJICAgIEdhbGxlcnlDb3JlQXBpOjpnZXRBbGxGYWN0b3J5SW1wbGVtZW50YXRpb25JZHMoJ0dhbGxlcnlWYWxpZGF0aW9uUGx1Z2luJyk7CgkJaWYgKCRyZXQpIHsKCQkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCX0KCgkJZm9yZWFjaCAoYXJyYXlfa2V5cygkcGx1Z2luSW5zdGFuY2VzKSBhcyAkcGx1Z2luSWQpIHsKCQkgICAgbGlzdCAoJHJldCwgJHBsdWdpbkluc3RhbmNlc1skcGx1Z2luSWRdKSA9CgkJCUdhbGxlcnlDb3JlQXBpOjpuZXdGYWN0b3J5SW5zdGFuY2VCeUlkKCdHYWxsZXJ5VmFsaWRhdGlvblBsdWdpbicsCgkJCQkJCQkgICAgICAgJHBsdWdpbklkKTsKCQkgICAgaWYgKCRyZXQpIHsKCQkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCSAgICB9CgkJfQoJICAgIH0KCgkgICAgLyogTGV0IGVhY2ggcGx1Z2luIGRvIGl0cyB2ZXJpZmljYXRpb24gKi8KCSAgICBmb3JlYWNoICgkcGx1Z2luSW5zdGFuY2VzIGFzICRwbHVnaW4pIHsKCQlsaXN0ICgkcmV0LCAkcGx1Z2luRXJyb3JzLCAkY29udGludWUpID0gJHBsdWdpbi0+cGVyZm9ybVZhbGlkYXRpb24oJGZvcm0pOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQl9CgoJCSRlcnJvciA9IGFycmF5X21lcmdlKCRlcnJvciwgJHBsdWdpbkVycm9ycyk7CgkJaWYgKCEkY29udGludWUpIHsKCQkgICAgYnJlYWs7CgkJfQoJICAgIH0KCgkgICAgLyogSWYgYWxsIHRoZSByaWdodCBmaWVsZHMgYXJlIGluIHBsYWNlIHRoZW4gZ28gYWhlYWQgYW5kIGNyZWF0ZSB0aGUgdXNlciAqLwoJICAgIGlmIChlbXB0eSgkZXJyb3IpKSB7CgkJbGlzdCAoJHJldCwgJHVzZXIpID0KCQkgICAgR2FsbGVyeUNvcmVBcGk6Om5ld0ZhY3RvcnlJbnN0YW5jZSgnR2FsbGVyeUVudGl0eScsICdHYWxsZXJ5UGVuZGluZ1VzZXInKTsKCQlpZiAoJHJldCkgewoJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJfQoKCQlpZiAoIWlzc2V0KCR1c2VyKSkgewoJCSAgICByZXR1cm4gYXJyYXkoR2FsbGVyeUNvcmVBcGk6OmVycm9yKEVSUk9SX01JU1NJTkdfT0JKRUNUKSwKCQkJCSBudWxsKTsKCQl9CgoJCSRyZXQgPSAkdXNlci0+Y3JlYXRlKCRmb3JtWyd1c2VyTmFtZSddKTsKCQlpZiAoJHJldCkgewoJCSAgICBpZiAoISgkcmV0LT5nZXRFcnJvckNvZGUoKSAmIEVSUk9SX0NPTExJU0lPTikpIHsKCQkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCSAgICB9CgoJCSAgICAvKiBTZXQgb3VyIGVycm9yIHN0YXR1cyBhbmQgZmFsbCBiYWNrIHRvIHRoZSB2aWV3ICovCgkJICAgICRlcnJvcltdID0gJ2Zvcm1bZXJyb3JdW3VzZXJOYW1lXVtleGlzdHNdJzsKCQl9IGVsc2UgewoJCSAgICAkdXNlci0+c2V0RW1haWwoJGZvcm1bJ2VtYWlsJ10pOwoJCSAgICAkdXNlci0+c2V0RnVsbE5hbWUoJGZvcm1bJ2Z1bGxOYW1lJ10pOwoJCSAgICBHYWxsZXJ5VXRpbGl0aWVzOjp1bnNhbml0aXplSW5wdXRWYWx1ZXMoJGZvcm1bJ3Bhc3N3b3JkMSddLCBmYWxzZSk7CgkJICAgICR1c2VyLT5jaGFuZ2VQYXNzd29yZCgkZm9ybVsncGFzc3dvcmQxJ10pOwoKCQkgICAgJHJldCA9ICR1c2VyLT5zYXZlKCk7CgkJICAgIGlmICgkcmV0KSB7CgkJCXJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQkgICAgfQoKCQkgICAgLyoKCQkgICAgICogc2VuZCBhIGNvbmZpcm1hdGlvbiBlbWFpbCBpZiBhY3RpdmF0ZWQgaW4gbW9kdWxlIHNldHRpbmdzCgkJICAgICAqIG90aGVyd2lzZSBjcmVhdGUgdGhlICJyZWFsIiB1c2VyIHJpZ2h0IG5vdwoJCSAgICAgKi8KCQkgICAgbGlzdCAoJHJldCwgJHBhcmFtcykgPQoJCQlHYWxsZXJ5Q29yZUFwaTo6ZmV0Y2hBbGxQbHVnaW5QYXJhbWV0ZXJzKCdtb2R1bGUnLCAncmVnaXN0ZXInKTsKCQkgICAgaWYgKCRyZXQpIHsKCQkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCSAgICB9CgoJCSAgICBpZiAoJHBhcmFtc1snY29uZmlybWF0aW9uJ10gPT0gJ2VtYWlsJykgewoJCQkvKiBzZW5kIGNvbmZpcm1hdGlvbiBlbWFpbCAqLwoJCQkkcmV0ID0gR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyOjpzZW5kQ29uZmlybWF0aW9uRW1haWwoJHVzZXIpOwoJCQlpZiAoJHJldCkgewoJCQkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCQl9CgkJCSRyZWRpcmVjdFsncGVuZGluZyddID0gdHJ1ZTsKCQkJJHJlZGlyZWN0WydzZW50Q29uZmlybWF0aW9uRW1haWwnXSA9IHRydWU7CgkJICAgIH0gZWxzZSBpZiAoJHBhcmFtc1snY29uZmlybWF0aW9uJ10gPT0gJ2F1dG8nKSB7CgkJCS8qIHR1cm4gdGhlIHBlbmRpbmcgdXNlciBpbnRvIGEgcmVhbCB1c2VyIHJpZ2h0IG5vdyAqLwoJCQkkcmV0ID0gR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyOjpjcmVhdGVHYWxsZXJ5VXNlcigkdXNlcik7CgkJCWlmICgkcmV0KSB7CgkJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJCX0KCQkgICAgfSBlbHNlIHsgLyogY29uZmlybWF0aW9uID09ICdhZG1pbicgKi8KCQkJJHJlZGlyZWN0WydwZW5kaW5nJ10gPSB0cnVlOwoJCSAgICB9CgoJCSAgICBpZiAoJHBhcmFtc1snZW1haWxhZG1pbnMnXSkgewoJCQkkcmV0ID0gR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyOjpzZW5kQWRtaW5FbWFpbCgkdXNlcik7CgkJCWlmICgkcmV0KSB7CgkJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJCX0KCQkgICAgfQoKCQkgICAgLyogUmVxdWVzdCBhIHJlZGlyZWN0IHRvIHRoZSBjb25maXJtYXRpb24gc2NyZWVuICovCgkJICAgICRyZWRpcmVjdFsndmlldyddID0gJ2NvcmUuVXNlckFkbWluJzsKCQkgICAgJHJlZGlyZWN0WydzdWJWaWV3J10gPSAncmVnaXN0ZXIuU2VsZlJlZ2lzdHJhdGlvblN1Y2Nlc3MnOwoJCX0KCSAgICB9Cgl9CgoJaWYgKCFlbXB0eSgkcmVkaXJlY3QpKSB7CgkgICAgJHJlc3VsdHNbJ3JlZGlyZWN0J10gPSAkcmVkaXJlY3Q7Cgl9IGVsc2UgewoJICAgICRyZXN1bHRzWydkZWxlZ2F0ZSddWyd2aWV3J10gPSAnY29yZS5Vc2VyQWRtaW4nOwoJICAgICRyZXN1bHRzWydkZWxlZ2F0ZSddWydzdWJWaWV3J10gPSAncmVnaXN0ZXIuVXNlclNlbGZSZWdpc3RyYXRpb24nOwoJfQoJJHJlc3VsdHNbJ3N0YXR1cyddID0gJHN0YXR1czsKCSRyZXN1bHRzWydlcnJvciddID0gJGVycm9yOwoKCXJldHVybiBhcnJheShudWxsLCAkcmVzdWx0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBUZXN0cyBjYW4gdXNlIHRoaXMgbWV0aG9kIHRvIGhhcmR3aXJlIGEgc3BlY2lmaWMgc2V0IG9mIHBsdWdpbiBpbnN0YW5jZXMgdG8gdXNlLgogICAgICogVGhpcyBhdm9pZHMgc2l0dWF0aW9ucyB3aGVyZSBzb21lIG9mIHRoZSBvcHRpb24gaW5zdGFuY2VzIHdpbGwgZG8gdW5wcmVkaWN0YWJsZQogICAgICogdGhpbmdzIGFuZCBkZXJhaWwgdGhlIHRlc3RzLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkcGx1Z2luSW5zdGFuY2VzIG9mIEdhbGxlcnlWYWxpZGF0aW9uUGx1Z2luCiAgICAgKi8KICAgIGZ1bmN0aW9uIHNldFBsdWdpbkluc3RhbmNlcygkcGx1Z2luSW5zdGFuY2VzKSB7CgkkdGhpcy0+X3BsdWdpbkluc3RhbmNlcyA9ICRwbHVnaW5JbnN0YW5jZXM7CiAgICB9Cgp9CgovKioKICogVGhpcyB2aWV3IHdpbGwgcHJvbXB0IGZvciBkYXRhIHRvIGNyZWF0ZSBhIG5ldyB1c2VyCiAqLwpjbGFzcyBVc2VyU2VsZlJlZ2lzdHJhdGlvblZpZXcgZXh0ZW5kcyBHYWxsZXJ5VmlldyB7CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlWaWV3Ojpsb2FkVGVtcGxhdGUKICAgICAqLwogICAgZnVuY3Rpb24gbG9hZFRlbXBsYXRlKCYkdGVtcGxhdGUsICYkZm9ybSkgewoJaWYgKCRmb3JtWydmb3JtTmFtZSddICE9ICdVc2VyU2VsZlJlZ2lzdHJhdGlvbicpIHsKCSAgICAvKiBGaXJzdCB0aW1lIGFyb3VuZCwgc2V0IG91ciBkZWZhdWx0cyBoZXJlLiAqLwoJICAgICRmb3JtWyd1c2VyTmFtZSddID0gJyc7CgkgICAgJGZvcm1bJ2VtYWlsJ10gPSAnJzsKCSAgICAkZm9ybVsnZnVsbE5hbWUnXSA9ICcnOwoJICAgICRmb3JtWydmb3JtTmFtZSddID0gJ1VzZXJTZWxmUmVnaXN0cmF0aW9uJzsKCX0KCgkkVXNlclNlbGZSZWdpc3RyYXRpb24gPSBhcnJheSgpOwoKCS8qIEdldCBhbGwgdGhlIGxvZ2luIHBsdWdpbnMgKi8KCWxpc3QgKCRyZXQsICRhbGxQbHVnaW5JZHMpID0KCSAgICBHYWxsZXJ5Q29yZUFwaTo6Z2V0QWxsRmFjdG9yeUltcGxlbWVudGF0aW9uSWRzKCdHYWxsZXJ5VmFsaWRhdGlvblBsdWdpbicpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7Cgl9CgoJLyogTGV0IGVhY2ggcGx1Z2luIGxvYWQgaXRzIHRlbXBsYXRlIGRhdGEgKi8KCSRVc2VyU2VsZlJlZ2lzdHJhdGlvblsncGx1Z2lucyddID0gYXJyYXkoKTsKCWZvcmVhY2ggKGFycmF5X2tleXMoJGFsbFBsdWdpbklkcykgYXMgJHBsdWdpbklkKSB7CgkgICAgbGlzdCAoJHJldCwgJHBsdWdpbikgPQoJCUdhbGxlcnlDb3JlQXBpOjpuZXdGYWN0b3J5SW5zdGFuY2VCeUlkKCdHYWxsZXJ5VmFsaWRhdGlvblBsdWdpbicsICRwbHVnaW5JZCk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkgICAgfQoKCSAgICBsaXN0ICgkcmV0LCAkZGF0YVsnZmlsZSddLCAkZGF0YVsnbDEwRG9tYWluJ10pID0gJHBsdWdpbi0+bG9hZFRlbXBsYXRlKCRmb3JtKTsKCSAgICBpZiAoJHJldCkgewoJCXJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCSAgICB9CgoJICAgIGlmIChpc3NldCgkZGF0YVsnZmlsZSddKSkgewoJCSRVc2VyU2VsZlJlZ2lzdHJhdGlvblsncGx1Z2lucyddW10gPSAkZGF0YTsKCSAgICB9Cgl9CgoJJHRlbXBsYXRlLT5zZXRWYXJpYWJsZSgnVXNlclNlbGZSZWdpc3RyYXRpb24nLCAkVXNlclNlbGZSZWdpc3RyYXRpb24pOwoJJHRlbXBsYXRlLT5zZXRWYXJpYWJsZSgnY29udHJvbGxlcicsICdyZWdpc3Rlci5Vc2VyU2VsZlJlZ2lzdHJhdGlvbicpOwoJcmV0dXJuIGFycmF5KG51bGwsIGFycmF5KCdib2R5JyA9PiAnbW9kdWxlcy9yZWdpc3Rlci90ZW1wbGF0ZXMvVXNlclNlbGZSZWdpc3RyYXRpb24udHBsJykpOwogICAgfQp9Cj8+Cg==');
expand_d043147115($outputDir, 'classes/Entities.inc', 'PD9waHAKLyogVGhpcyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIC5jbGFzcyBmaWxlcyBieSBsaWIvdG9vbHMvYmluL2dlbmVyYXRlLWVudGl0aWVzLnBocCAqLwokZW50aXR5SW5mb1snR2FsbGVyeVBlbmRpbmdVc2VyJ10gPSBhcnJheSgKICAgICdtZW1iZXJzJyA9PiBhcnJheSgKCSd1c2VyTmFtZScgPT4gYXJyYXkoJ3R5cGUnID0+IFNUT1JBR0VfVFlQRV9TVFJJTkcsICdzaXplJyA9PiBTVE9SQUdFX1NJWkVfU01BTEwsICdub3ROdWxsJyA9PiAxLCAnZXh0ZXJuYWwtYWNjZXNzJyA9PiBFWFRFUk5BTF9BQ0NFU1NfUkVBRCksCgknZnVsbE5hbWUnID0+IGFycmF5KCd0eXBlJyA9PiBTVE9SQUdFX1RZUEVfU1RSSU5HLCAnc2l6ZScgPT4gU1RPUkFHRV9TSVpFX01FRElVTSwgJ2V4dGVybmFsLWFjY2VzcycgPT4gRVhURVJOQUxfQUNDRVNTX0ZVTEwpLAoJJ2hhc2hlZFBhc3N3b3JkJyA9PiBhcnJheSgndHlwZScgPT4gU1RPUkFHRV9UWVBFX1NUUklORywgJ3NpemUnID0+IFNUT1JBR0VfU0laRV9NRURJVU0pLAoJJ2VtYWlsJyA9PiBhcnJheSgndHlwZScgPT4gU1RPUkFHRV9UWVBFX1NUUklORywgJ3NpemUnID0+IFNUT1JBR0VfU0laRV9NRURJVU0pLAoJJ2xhbmd1YWdlJyA9PiBhcnJheSgndHlwZScgPT4gU1RPUkFHRV9UWVBFX1NUUklORywgJ3NpemUnID0+IFNUT1JBR0VfU0laRV9NRURJVU0pLAoJJ3JlZ2lzdHJhdGlvbktleScgPT4gYXJyYXkoJ3R5cGUnID0+IFNUT1JBR0VfVFlQRV9TVFJJTkcsICdzaXplJyA9PiBTVE9SQUdFX1NJWkVfU01BTEwpCiksCiAgICAncGFyZW50JyA9PiAnR2FsbGVyeUVudGl0eScsCiAgICAnbW9kdWxlJyA9PiAncmVnaXN0ZXInLAogICAgJ2xpbmtlZCcgPT4gYXJyYXkoKSk7Cj8+Cg==');
expand_d043147115($outputDir, 'classes/GNUmakefile', 'aW5jbHVkZSAuLi8uLi8uLi9saWIvdG9vbHMvYmluL0dOVW1ha2VmaWxlLmNsYXNzZXMK');
expand_d043147115($outputDir, 'classes/GalleryPendingUser.class', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgpHYWxsZXJ5Q29yZUFwaTo6cmVxdWlyZU9uY2UoJ21vZHVsZXMvY29yZS9jbGFzc2VzL0dhbGxlcnlFbnRpdHkuY2xhc3MnKTsKCi8qKgogKiBSZXByZXNlbnRhdGlvbiBvZiBhIHNpbmdsZSBwZW5kaW5nIHNlbGYtcmVnaXN0ZXJlZCB1c2VyIChub3QgeWV0IGEgdmFsaWQgR2FsbGVyeVVzZXIpLgogKgogKiBUaGlzIGNsYXNzIGlzIHRoZSBjb250YWluZXIgZm9yIGluZm9ybWF0aW9uIGFib3V0IEdhbGxlcnkgdXNlcnMuICBFYWNoIGluc3RhbmNlIG9mIFVzZXIKICogY29udGFpbnMgYSB1bmlxdWUgdXNlciBpZC4gSXQgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBhIGNsYXNzIHRoYXQgaGFzIGEgcGVyc2lzdGVudCBzdG9yZSBmb3IKICogdGhlIHJlbGV2YW50IHVzZXIgZGF0YS4KICoKICogQGcyIDxjbGFzcy1uYW1lPkdhbGxlcnlQZW5kaW5nVXNlcjwvY2xhc3MtbmFtZT4KICogQGcyIDxwYXJlbnQtY2xhc3MtbmFtZT5HYWxsZXJ5RW50aXR5PC9wYXJlbnQtY2xhc3MtbmFtZT4KICogQGcyIDxzY2hlbWE+CiAqIEBnMiAgIDxzY2hlbWEtbWFqb3I+MTwvc2NoZW1hLW1ham9yPgogKiBAZzIgICA8c2NoZW1hLW1pbm9yPjA8L3NjaGVtYS1taW5vcj4KICogQGcyIDwvc2NoZW1hPgogKiBAZzIgPHJlcXVpcmVzLWlkLz4KICoKICogQHBhY2thZ2UgUmVnaXN0cmF0aW9uCiAqIEBzdWJwYWNrYWdlIENsYXNzZXMKICogQGF1dGhvciBTZWJhc3RpYW4gRWljaG5lciA8bWFpbHNwQHNlYmFzdGlhbi1laWNobmVyLmRlPgogKiBAdmVyc2lvbiAkUmV2aXNpb246IDE1NTM0ICQKICovCmNsYXNzIEdhbGxlcnlQZW5kaW5nVXNlciBleHRlbmRzIEdhbGxlcnlFbnRpdHkgewoKICAgIC8qKgogICAgICogVGhlIFVzZXIncyB1c2VybmFtZQogICAgICoKICAgICAqIEBnMiA8bWVtYmVyPgogICAgICogQGcyICAgPG1lbWJlci1uYW1lPnVzZXJOYW1lPC9tZW1iZXItbmFtZT4KICAgICAqIEBnMiAgIDxtZW1iZXItdHlwZT5TVFJJTkc8L21lbWJlci10eXBlPgogICAgICogQGcyICAgPG1lbWJlci1zaXplPlNNQUxMPC9tZW1iZXItc2l6ZT4KICAgICAqIEBnMiAgIDx1bmlxdWUvPgogICAgICogQGcyICAgPHJlcXVpcmVkLz4KICAgICAqIEBnMiAgIDxtZW1iZXItZXh0ZXJuYWwtYWNjZXNzPlJFQUQ8L21lbWJlci1leHRlcm5hbC1hY2Nlc3M+CiAgICAgKiBAZzIgPC9tZW1iZXI+CiAgICAgKgogICAgICogQHZhciBzdHJpbmcgJHVzZXJOYW1lCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICovCiAgICB2YXIgJHVzZXJOYW1lOwoKICAgIC8qKgogICAgICogVGhlIFVzZXIncyBmdWxsIG5hbWUKICAgICAqCiAgICAgKiBAZzIgPG1lbWJlcj4KICAgICAqIEBnMiAgIDxtZW1iZXItbmFtZT5mdWxsTmFtZTwvbWVtYmVyLW5hbWU+CiAgICAgKiBAZzIgICA8bWVtYmVyLXR5cGU+U1RSSU5HPC9tZW1iZXItdHlwZT4KICAgICAqIEBnMiAgIDxtZW1iZXItc2l6ZT5NRURJVU08L21lbWJlci1zaXplPgogICAgICogQGcyICAgPG1lbWJlci1leHRlcm5hbC1hY2Nlc3M+RlVMTDwvbWVtYmVyLWV4dGVybmFsLWFjY2Vzcz4KICAgICAqIEBnMiA8L21lbWJlcj4KICAgICAqCiAgICAgKiBAdmFyIHN0cmluZyAkZnVsbE5hbWUKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKi8KICAgIHZhciAkZnVsbE5hbWU7CgogICAgLyoqCiAgICAgKiBUaGUgVXNlcidzIHBhc3N3b3JkIGluIGEgaGFzaGVkIGZvcm0uCiAgICAgKgogICAgICogQGcyIDxtZW1iZXI+CiAgICAgKiBAZzIgICA8bWVtYmVyLW5hbWU+aGFzaGVkUGFzc3dvcmQ8L21lbWJlci1uYW1lPgogICAgICogQGcyICAgPG1lbWJlci10eXBlPlNUUklORzwvbWVtYmVyLXR5cGU+CiAgICAgKiBAZzIgICA8bWVtYmVyLXNpemU+TUVESVVNPC9tZW1iZXItc2l6ZT4KICAgICAqIEBnMiA8L21lbWJlcj4KICAgICAqCiAgICAgKiBAdmFyIHN0cmluZyAkaGFzaGVkUGFzc3dvcmQKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKi8KICAgIHZhciAkaGFzaGVkUGFzc3dvcmQ7CgogICAgLyoqCiAgICAgKiBUaGUgVXNlcidzIGVtYWlsIGFkZHJlc3MuCiAgICAgKgogICAgICogQGcyIDxtZW1iZXI+CiAgICAgKiBAZzIgICA8bWVtYmVyLW5hbWU+ZW1haWw8L21lbWJlci1uYW1lPgogICAgICogQGcyICAgPG1lbWJlci10eXBlPlNUUklORzwvbWVtYmVyLXR5cGU+CiAgICAgKiBAZzIgICA8bWVtYmVyLXNpemU+TUVESVVNPC9tZW1iZXItc2l6ZT4KICAgICAqIEBnMiA8L21lbWJlcj4KICAgICAqCiAgICAgKiBAdmFyIHN0cmluZyAkZW1haWwKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKi8KICAgIHZhciAkZW1haWw7CgogICAgLyoqCiAgICAgKiBUaGUgVXNlcidzIGxhbmd1YWdlIHByZWZlcmVuY2UKICAgICAqCiAgICAgKiBAZzIgPG1lbWJlcj4KICAgICAqIEBnMiAgIDxtZW1iZXItbmFtZT5sYW5ndWFnZTwvbWVtYmVyLW5hbWU+CiAgICAgKiBAZzIgICA8bWVtYmVyLXR5cGU+U1RSSU5HPC9tZW1iZXItdHlwZT4KICAgICAqIEBnMiAgIDxtZW1iZXItc2l6ZT5NRURJVU08L21lbWJlci1zaXplPgogICAgICogQGcyIDwvbWVtYmVyPgogICAgICoKICAgICAqIEB2YXIgc3RyaW5nICRsYW5ndWFnZQogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqLwogICAgdmFyICRsYW5ndWFnZTsKCiAgICAvKioKICAgICAqIFRoZSByZWdpc3RyYXRpb24ga2V5ICh1c2VkIGluIGNvbmZpcm1hdGlvbiB1cmwpCiAgICAgKgogICAgICogQGcyIDxtZW1iZXI+CiAgICAgKiBAZzIgICA8bWVtYmVyLW5hbWU+cmVnaXN0cmF0aW9uS2V5PC9tZW1iZXItbmFtZT4KICAgICAqIEBnMiAgIDxtZW1iZXItdHlwZT5TVFJJTkc8L21lbWJlci10eXBlPgogICAgICogQGcyICAgPG1lbWJlci1zaXplPlNNQUxMPC9tZW1iZXItc2l6ZT4KICAgICAqIEBnMiA8L21lbWJlcj4KICAgICAqCiAgICAgKiBAdmFyIHN0cmluZyAkcmVnaXN0cmF0aW9uS2V5CiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICovCiAgICB2YXIgJHJlZ2lzdHJhdGlvbktleTsKCiAgICAvKioKICAgICAqIENyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiB0aGlzIHVzZXIgaW4gdGhlIHBlcnNpc3RlbnQgc3RvcmUKICAgICAqCiAgICAgKiBAcmV0dXJuIG9iamVjdCBHYWxsZXJ5U3RhdHVzIGEgc3RhdHVzIGNvZGUKICAgICAqLwogICAgZnVuY3Rpb24gY3JlYXRlKCR1c2VyTmFtZSkgewoJZ2xvYmFsICRnYWxsZXJ5OwoKCS8qIGZpcnN0IGNoZWNrIGZvciBhIGNvbGxpc2lvbiBpbiB0aGUgcGVuZGluZyB1c2VycyB0YWJsZSAqLwoJJHF1ZXJ5ID0gJwoJU0VMRUNUCgkgIFtHYWxsZXJ5UGVuZGluZ1VzZXI6OmlkXQoJRlJPTQoJICBbR2FsbGVyeVBlbmRpbmdVc2VyXQoJV0hFUkUKCSAgW0dhbGxlcnlQZW5kaW5nVXNlcjo6dXNlck5hbWVdID0gPwoJJzsKCgkvKiBDaGVjayB0byBzZWUgaWYgd2UgaGF2ZSBhIGNvbGxpc2lvbiAqLwoJbGlzdCAoJHJldCwgJHJlc3VsdHMpID0KCSAgICAkZ2FsbGVyeS0+c2VhcmNoKCRxdWVyeSwgYXJyYXkoJHVzZXJOYW1lKSwKCQkJICAgICBhcnJheSgnbGltaXQnID0+IGFycmF5KCdjb3VudCcgPT4gMSkpKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuICRyZXQ7Cgl9CgoJJHJlc3VsdCA9ICRyZXN1bHRzLT5uZXh0UmVzdWx0KCk7CglpZiAoJHJlc3VsdFswXSA+IDApIHsKCSAgICByZXR1cm4gR2FsbGVyeUNvcmVBcGk6OmVycm9yKEVSUk9SX0NPTExJU0lPTik7Cgl9CgoJLyogdGhlbiBjaGVjayBmb3IgYSBjb2xsaXNpb24gaW4gdGhlIHJlYWwgdXNlciB0YWJsZSAqLwoJJHF1ZXJ5ID0gJwoJU0VMRUNUCgkgIFtHYWxsZXJ5VXNlcjo6aWRdCglGUk9NCgkgIFtHYWxsZXJ5VXNlcl0KCVdIRVJFCgkgIFtHYWxsZXJ5VXNlcjo6dXNlck5hbWVdID0gPwoJJzsKCgkvKiBDaGVjayB0byBzZWUgaWYgd2UgaGF2ZSBhIGNvbGxpc2lvbiAqLwoJbGlzdCAoJHJldCwgJHJlc3VsdHMpID0KCSAgICAkZ2FsbGVyeS0+c2VhcmNoKCRxdWVyeSwgYXJyYXkoJHVzZXJOYW1lKSwKCQkJICAgICBhcnJheSgnbGltaXQnID0+IGFycmF5KCdjb3VudCcgPT4gMSkpKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuICRyZXQ7Cgl9CgoJJHJlc3VsdCA9ICRyZXN1bHRzLT5uZXh0UmVzdWx0KCk7CglpZiAoJHJlc3VsdFswXSA+IDApIHsKCSAgICByZXR1cm4gR2FsbGVyeUNvcmVBcGk6OmVycm9yKEVSUk9SX0NPTExJU0lPTik7Cgl9CgoJLyogb2theSwgd2UgZG9uJ3QgaGF2ZSBhbnkgY29sbGlzaW9ucywgc28gZ28gb24gKi8KCSRyZXQgPSBwYXJlbnQ6OmNyZWF0ZSgpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gJHJldDsKCX0KCgkkdGhpcy0+c2V0VXNlck5hbWUoJHVzZXJOYW1lKTsKCSR0aGlzLT5zZXRSZWdpc3RyYXRpb25LZXkoJ0cnIC4gcmFuZCgxMDAwMDAsOTk5OTk5KSAuICcyJyk7CglyZXR1cm4gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIENoYW5nZSB0aGUgdXNlcidzIHBhc3N3b3JkIHRvIHRoZSBuZXcgdmFsdWUgcHJvdmlkZWQuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbmV3UGFzc3dvcmQgYSBwbGFpbnRleHQgcGFzc3dvcmQKICAgICAqLwogICAgZnVuY3Rpb24gY2hhbmdlUGFzc3dvcmQoJG5ld1Bhc3N3b3JkKSB7CgkkdGhpcy0+c2V0SGFzaGVkUGFzc3dvcmQoR2FsbGVyeVV0aWxpdGllczo6bWQ1U2FsdCgkbmV3UGFzc3dvcmQpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeUVudGl0eTo6Z2V0Q2xhc3NOYW1lCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldENsYXNzTmFtZSgpIHsKCXJldHVybiAnR2FsbGVyeVBlbmRpbmdVc2VyJzsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRVc2VyTmFtZSgpIHsKCXJldHVybiAkdGhpcy0+dXNlck5hbWU7CiAgICB9CgogICAgZnVuY3Rpb24gc2V0VXNlck5hbWUoJHVzZXJOYW1lKSB7CgkkdGhpcy0+dXNlck5hbWUgPSAkdXNlck5hbWU7CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0RnVsbE5hbWUoKSB7CglyZXR1cm4gJHRoaXMtPmZ1bGxOYW1lOwogICAgfQoKICAgIGZ1bmN0aW9uIHNldEZ1bGxOYW1lKCRmdWxsTmFtZSkgewoJJHRoaXMtPmZ1bGxOYW1lID0gJGZ1bGxOYW1lOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldEhhc2hlZFBhc3N3b3JkKCkgewoJcmV0dXJuICR0aGlzLT5oYXNoZWRQYXNzd29yZDsKICAgIH0KCiAgICBmdW5jdGlvbiBzZXRIYXNoZWRQYXNzd29yZCgkaGFzaGVkUGFzc3dvcmQpIHsKCSR0aGlzLT5oYXNoZWRQYXNzd29yZCA9ICRoYXNoZWRQYXNzd29yZDsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRFbWFpbCgpIHsKCXJldHVybiAkdGhpcy0+ZW1haWw7CiAgICB9CgogICAgZnVuY3Rpb24gc2V0RW1haWwoJGVtYWlsKSB7CgkkdGhpcy0+ZW1haWwgPSAkZW1haWw7CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0TGFuZ3VhZ2UoKSB7CglyZXR1cm4gJHRoaXMtPmxhbmd1YWdlOwogICAgfQoKICAgIGZ1bmN0aW9uIHNldExhbmd1YWdlKCRsYW5ndWFnZSkgewoJJHRoaXMtPmxhbmd1YWdlID0gJGxhbmd1YWdlOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldFJlZ2lzdHJhdGlvbktleSgpIHsKCXJldHVybiAkdGhpcy0+cmVnaXN0cmF0aW9uS2V5OwogICAgfQoKICAgIGZ1bmN0aW9uIHNldFJlZ2lzdHJhdGlvbktleSgkcmVnaXN0cmF0aW9uS2V5KSB7CgkkdGhpcy0+cmVnaXN0cmF0aW9uS2V5ID0gJHJlZ2lzdHJhdGlvbktleTsKICAgIH0KfQo/Pgo=');
expand_d043147115($outputDir, 'classes/GalleryPendingUserHelper.class', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogVXRpbGl0eSBmdW5jdGlvbnMgdXNlZnVsIGluIG1hbmFnaW5nIEdhbGxlcnlQZW5kaW5nVXNlcnMKICogQHBhY2thZ2UgUmVnaXN0cmF0aW9uCiAqIEBzdWJwYWNrYWdlIENsYXNzZXMKICogQGF1dGhvciBTZWJhc3RpYW4gRWljaG5lciA8bWFpbHNwQHNlYmFzdGlhbi1laWNobmVyLmRlPgogKiBAdmVyc2lvbiAkUmV2aXNpb246IDE1NTEzICQKICogQHN0YXRpYwogKi8KY2xhc3MgR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyIHsKCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgR2FsbGVyeVBlbmRpbmdVc2VyIHNwZWNpZmllZCBieSB0aGUgdXNlcm5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1c2VyTmFtZQogICAgICogQHJldHVybiBhcnJheSBvYmplY3QgR2FsbGVyeVN0YXR1cyBhIHN0YXR1cyBjb2RlCiAgICAgKiAgICAgICAgICAgICAgIG9iamVjdCBHYWxsZXJ5UGVuZGluZ1VzZXIgYSBwZW5kaW5nIHVzZXIKICAgICAqLwogICAgZnVuY3Rpb24gZmV0Y2hQZW5kaW5nVXNlckJ5VXNlck5hbWUoJHVzZXJOYW1lKSB7CglnbG9iYWwgJGdhbGxlcnk7CgoJJHF1ZXJ5ID0gJwoJU0VMRUNUIFtHYWxsZXJ5UGVuZGluZ1VzZXI6OmlkXSBGUk9NIFtHYWxsZXJ5UGVuZGluZ1VzZXJdCglXSEVSRSBbR2FsbGVyeVBlbmRpbmdVc2VyOjp1c2VyTmFtZV0gPSA/CgknOwoJbGlzdCAoJHJldCwgJHNlYXJjaFJlc3VsdHMpID0gJGdhbGxlcnktPnNlYXJjaCgkcXVlcnksIGFycmF5KCR1c2VyTmFtZSkpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7Cgl9CgoJaWYgKCRzZWFyY2hSZXN1bHRzLT5yZXN1bHRDb3VudCgpID09IDApIHsKCSAgICByZXR1cm4gYXJyYXkoR2FsbGVyeUNvcmVBcGk6OmVycm9yKEVSUk9SX01JU1NJTkdfT0JKRUNUKSwgbnVsbCk7Cgl9IGVsc2UgewoJICAgICRyZXN1bHQgPSAkc2VhcmNoUmVzdWx0cy0+bmV4dFJlc3VsdCgpOwoJICAgICRpZCA9IChpbnQpJHJlc3VsdFswXTsKCSAgICBsaXN0ICgkcmV0LCAkdXNlcikgPSBHYWxsZXJ5Q29yZUFwaTo6bG9hZEVudGl0aWVzQnlJZCgkaWQpOwoJICAgIGlmICgkcmV0KSB7CgkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJICAgIH0KCgkgICAgcmV0dXJuIGFycmF5KG51bGwsICR1c2VyKTsKCX0KICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgdG90YWwgbnVtYmVyIG9mIHBlbmRpbmcgdXNlcnMKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzdWJzdHJpbmcgYW4gb3B0aW9uYWwgc3Vic3RyaW5nIHRvIG1hdGNoIGFnYWluc3QgdGhlIHVzZXJuYW1lCiAgICAgKiBAcmV0dXJuIGFycmF5IG9iamVjdCBHYWxsZXJ5U3RhdHVzIGEgc3RhdHVzIGNvZGUKICAgICAqICAgICAgICAgICAgICAgaW50IG51bWJlciBvZiBwZW5kaW5nIHVzZXJzCiAgICAgKi8KICAgIGZ1bmN0aW9uIGZldGNoVXNlckNvdW50KCRzdWJzdHJpbmc9bnVsbCkgewoJZ2xvYmFsICRnYWxsZXJ5OwoJJGRhdGEgPSBhcnJheSgpOwoJJHF1ZXJ5ID0gJwoJU0VMRUNUIENPVU5UKFtHYWxsZXJ5UGVuZGluZ1VzZXI6OmlkXSkgRlJPTSBbR2FsbGVyeVBlbmRpbmdVc2VyXQoJJzsKCWlmICghZW1wdHkoJHN1YnN0cmluZykpIHsKCSAgICAkcXVlcnkgLj0gJyBXSEVSRSBbR2FsbGVyeVBlbmRpbmdVc2VyOjp1c2VyTmFtZV0gTElLRSA/JzsKCSAgICAkZGF0YVtdID0gIiUkc3Vic3RyaW5nJSI7Cgl9CgoJbGlzdCAoJHJldCwgJHNlYXJjaFJlc3VsdHMpID0gJGdhbGxlcnktPnNlYXJjaCgkcXVlcnksICRkYXRhKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoKCSRyZXN1bHQgPSAkc2VhcmNoUmVzdWx0cy0+bmV4dFJlc3VsdCgpOwoJcmV0dXJuIGFycmF5KG51bGwsIChpbnQpJHJlc3VsdFswXSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYSBtYXAgb2YgdXNlciBpZHMgYW5kIGRhdGEKICAgICAqCiAgICAgKiBZb3UgY2FuIHNwZWNpZnkgaG93IG1hbnkgdXNlcm5hbWVzIHRvIGxpc3QsIGFuZCB3aGVyZSB0aGUgd2luZG93cyBpcyBpbgogICAgICogdGhlIGxpc3Qgb2YgYWxsIHVzZXJzLgogICAgICoKICAgICAqIEBwYXJhbSBpbnQgJGNvdW50IFtvcHRpb25hbF0gdGhlIG51bWJlciBvZiB1c2VybmFtZXMgZGVzaXJlZAogICAgICogQHBhcmFtIGludCAkb2Zmc2V0IFtvcHRpb25hbF0gdGhlIHN0YXJ0IG9mIHRoZSByYW5nZQogICAgICogQHBhcmFtIHN0cmluZyAkc3Vic3RyaW5nIFtvcHRpb25hbF0gYSBzdWJzdHJpbmcgdG8gbWF0Y2gKICAgICAqIEByZXR1cm4gYXJyYXkgb2JqZWN0IEdhbGxlcnlTdGF0dXMgYSBzdGF0dXMgY29kZQogICAgICogICAgICAgICAgICAgICBhcnJheSAoaWQgPT4gYXJyYXkoJ3VzZXJOYW1lJz0+bmFtZSwgJ2Z1bGxOYW1lJz0+bmFtZSwgJ2VtYWlsJz0+ZW1haWwpLCAuLi4pCiAgICAgKi8KICAgIGZ1bmN0aW9uIGZldGNoVXNlckRhdGEoJGNvdW50PW51bGwsICRvZmZzZXQ9bnVsbCwgJHN1YnN0cmluZz1udWxsKSB7CglnbG9iYWwgJGdhbGxlcnk7CgkkZGF0YSA9IGFycmF5KCk7CgkkcXVlcnkgPSAnCglTRUxFQ1QgW0dhbGxlcnlQZW5kaW5nVXNlcjo6aWRdLCBbR2FsbGVyeVBlbmRpbmdVc2VyOjp1c2VyTmFtZV0sCgkgICAgICAgW0dhbGxlcnlQZW5kaW5nVXNlcjo6ZnVsbE5hbWVdLCBbR2FsbGVyeVBlbmRpbmdVc2VyOjplbWFpbF0sCgkgICAgICAgW0dhbGxlcnlFbnRpdHk6OmNyZWF0aW9uVGltZXN0YW1wXQoJRlJPTSBbR2FsbGVyeVBlbmRpbmdVc2VyXSwgW0dhbGxlcnlFbnRpdHldCglXSEVSRSBbR2FsbGVyeVBlbmRpbmdVc2VyOjppZF09W0dhbGxlcnlFbnRpdHk6OmlkXQoJJzsKCglpZiAoIWVtcHR5KCRzdWJzdHJpbmcpKSB7CgkgICAgJHF1ZXJ5IC49ICcgQU5EIFtHYWxsZXJ5UGVuZGluZ1VzZXI6OnVzZXJOYW1lXSBMSUtFID8nOwoJICAgICRkYXRhW10gPSAiJSRzdWJzdHJpbmclIjsKCX0KCgkkcXVlcnkgLj0gJyBPUkRFUiBCWSBbR2FsbGVyeVBlbmRpbmdVc2VyOjp1c2VyTmFtZV0gQVNDJzsKCglsaXN0ICgkcmV0LCAkc2VhcmNoUmVzdWx0cykgPSAkZ2FsbGVyeS0+c2VhcmNoKCRxdWVyeSwgJGRhdGEsCgkgICAgIGFycmF5KCdsaW1pdCcgPT4gYXJyYXkoJ2NvdW50JyA9PiAoaW50KSRjb3VudCwgJ29mZnNldCcgPT4gKGludCkkb2Zmc2V0KSkpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7Cgl9CgoJJGRhdGEgPSBhcnJheSgpOwoJd2hpbGUgKCRyZXN1bHQgPSAkc2VhcmNoUmVzdWx0cy0+bmV4dFJlc3VsdCgpKSB7CgkgICAgJGRhdGFbJHJlc3VsdFswXV0gPSBhcnJheSgndXNlck5hbWUnID0+ICRyZXN1bHRbMV0sCgkJCQkgICAgICAnZnVsbE5hbWUnID0+ICRyZXN1bHRbMl0sCgkJCQkgICAgICAnZW1haWwnID0+ICRyZXN1bHRbM10sCgkJCQkgICAgICAnY3JlYXRpb25UaW1lc3RhbXAnID0+IChpbnQpJHJlc3VsdFs0XSk7Cgl9CgoJcmV0dXJuIGFycmF5KG51bGwsICRkYXRhKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgYW4gZW1haWwgd2l0aCBhIGNvbmZpcm1hdGlvbiBsaW5rCiAgICAgKgogICAgICogQHBhcmFtIG9iamVjdCBHYWxsZXJ5UGVuZGluZ1VzZXIgJHBlbmRpbmdVc2VyCiAgICAgKiBAcmV0dXJuIG9iamVjdCBHYWxsZXJ5U3RhdHVzIGEgc3RhdHVzIGNvZGUKICAgICAqLwogICAgZnVuY3Rpb24gc2VuZENvbmZpcm1hdGlvbkVtYWlsKCYkcGVuZGluZ1VzZXIpIHsKCWdsb2JhbCAkZ2FsbGVyeTsKCglsaXN0ICgkcmV0LCAkbW9kdWxlKSA9IEdhbGxlcnlDb3JlQXBpOjpsb2FkUGx1Z2luKCdtb2R1bGUnLCAncmVnaXN0ZXInKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuICRyZXQ7Cgl9CglsaXN0ICgkcmV0LCAkcGFyYW1zKSA9IEdhbGxlcnlDb3JlQXBpOjpmZXRjaEFsbFBsdWdpblBhcmFtZXRlcnMoJ21vZHVsZScsICdyZWdpc3RlcicpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gJHJldDsKCX0KCgkkZGVjb2RlZFVzZXJOYW1lID0gJHBlbmRpbmdVc2VyLT5nZXRVc2VyTmFtZSgpOwoJR2FsbGVyeVV0aWxpdGllczo6dW5zYW5pdGl6ZUlucHV0VmFsdWVzKCRkZWNvZGVkVXNlck5hbWUsIGZhbHNlKTsKCSRnZW5lcmF0b3IgPSYgJGdhbGxlcnktPmdldFVybEdlbmVyYXRvcigpOwoJJGNvbmZpcm1hdGlvblVybCA9ICRnZW5lcmF0b3ItPmdlbmVyYXRlVXJsKAoJICAgIGFycmF5KCdjb250cm9sbGVyJyA9PiAncmVnaXN0ZXIuQ29uZmlybVJlZ2lzdHJhdGlvbicsCgkJICAvKiBJbmNvbWluZyB1cmwgcGFyYW1zIHdpbGwgZ2V0IHNhbml0aXplZCwgc28gZGVjb2RlIGhlcmUgKi8KCQkgICd1c2VybmFtZScgPT4gJGRlY29kZWRVc2VyTmFtZSwKCQkgICdrZXknID0+ICRwZW5kaW5nVXNlci0+Z2V0UmVnaXN0cmF0aW9uS2V5KCkpLAoJICAgIGFycmF5KCdmb3JjZUZ1bGxVcmwnID0+IHRydWUsICdmb3JjZVNlc3Npb25JZCcgPT4gZmFsc2UsICdodG1sRW50aXRpZXMnID0+IGZhbHNlKSk7CgkkYmFzZVVybCA9ICRnZW5lcmF0b3ItPmdlbmVyYXRlVXJsKGFycmF5KCksCgkgICAgYXJyYXkoJ2ZvcmNlRnVsbFVybCcgPT4gdHJ1ZSwgJ2ZvcmNlU2Vzc2lvbklkJyA9PiBmYWxzZSwgJ2h0bWxFbnRpdGllcycgPT4gZmFsc2UpKTsKCgkkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OnNlbmRUZW1wbGF0ZWRFbWFpbCgKCQknbW9kdWxlcy9yZWdpc3Rlci90ZW1wbGF0ZXMvQ29uZmlybWF0aW9uRW1haWwudHBsJywKCQlhcnJheSgKCQkgICAgJ25hbWUnID0+ICRwZW5kaW5nVXNlci0+Z2V0RnVsbE5hbWUoKSwKCQkgICAgLyogV2Ugc2VuZCBwbGFpbiB0ZXh0IGVtYWlsIHNvIGRlY29kZSBlbnRpdGllcyBpbiB1c2VybmFtZSAqLwoJCSAgICAndXNlcm5hbWUnID0+ICRkZWNvZGVkVXNlck5hbWUsCgkJICAgICdjb25maXJtYXRpb25VcmwnID0+ICRjb25maXJtYXRpb25VcmwsCgkJICAgICdiYXNlVXJsJyA9PiAkYmFzZVVybCwKCQkgICAgJ2wxMERvbWFpbicgPT4gJ21vZHVsZXNfcmVnaXN0ZXInKSwKCQkkcGFyYW1zWydmcm9tJ10sCgkJJHBlbmRpbmdVc2VyLT5nZXRFbWFpbCgpLAoJCSRtb2R1bGUtPnRyYW5zbGF0ZSgkcGFyYW1zWydzdWJqZWN0J10pKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuICRyZXQ7Cgl9CgoJcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBzaXRlIGFkbWluaXN0cmF0b3JzCiAgICAgKgogICAgICogQHBhcmFtIG9iamVjdCBHYWxsZXJ5UGVuZGluZ1VzZXIgJHBlbmRpbmdVc2VyCiAgICAgKiBAcmV0dXJuIG9iamVjdCBHYWxsZXJ5U3RhdHVzIGEgc3RhdHVzIGNvZGUKICAgICAqLwogICAgZnVuY3Rpb24gc2VuZEFkbWluRW1haWwoJiRwZW5kaW5nVXNlcikgewoJbGlzdCAoJHJldCwgJG1vZHVsZSkgPSBHYWxsZXJ5Q29yZUFwaTo6bG9hZFBsdWdpbignbW9kdWxlJywgJ3JlZ2lzdGVyJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiAkcmV0OwoJfQoJbGlzdCAoJHJldCwgJHBhcmFtcykgPSBHYWxsZXJ5Q29yZUFwaTo6ZmV0Y2hBbGxQbHVnaW5QYXJhbWV0ZXJzKCdtb2R1bGUnLCAncmVnaXN0ZXInKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuICRyZXQ7Cgl9CglsaXN0ICgkcmV0LCAkYWRtaW5Hcm91cElkKSA9CgkgICAgR2FsbGVyeUNvcmVBcGk6OmdldFBsdWdpblBhcmFtZXRlcignbW9kdWxlJywgJ2NvcmUnLCAnaWQuYWRtaW5Hcm91cCcpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gJHJldDsKCX0KCWxpc3QgKCRyZXQsICRhZG1pblVzZXJJZHMpID0gR2FsbGVyeUNvcmVBcGk6OmZldGNoVXNlcnNGb3JHcm91cCgkYWRtaW5Hcm91cElkKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuICRyZXQ7Cgl9CglsaXN0ICgkcmV0LCAkYWRtaW5Vc2VycykgPSBHYWxsZXJ5Q29yZUFwaTo6bG9hZEVudGl0aWVzQnlJZChhcnJheV9rZXlzKCRhZG1pblVzZXJJZHMpKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuICRyZXQ7Cgl9CgkkdG9MaXN0ID0gYXJyYXkoKTsKCWZvcmVhY2ggKCRhZG1pblVzZXJzIGFzICRhZG1pbikgewoJICAgICRlbWFpbCA9ICRhZG1pbi0+Z2V0RW1haWwoKTsKCSAgICBpZiAoIWVtcHR5KCRlbWFpbCkpIHsKCQkkdG9MaXN0W10gPSAkZW1haWw7CgkgICAgfQoJfQoKCWlmICghZW1wdHkoJHRvTGlzdCkpIHsKCSAgICAkZGVjb2RlZFVzZXJOYW1lID0gJHBlbmRpbmdVc2VyLT5nZXRVc2VyTmFtZSgpOwoJICAgIEdhbGxlcnlVdGlsaXRpZXM6OnVuc2FuaXRpemVJbnB1dFZhbHVlcygkZGVjb2RlZFVzZXJOYW1lLCBmYWxzZSk7CgkgICAgJHJldCA9IEdhbGxlcnlDb3JlQXBpOjpzZW5kVGVtcGxhdGVkRW1haWwoCgkJICAgICdtb2R1bGVzL3JlZ2lzdGVyL3RlbXBsYXRlcy9BZG1pbkVtYWlsLnRwbCcsCgkJICAgIGFycmF5KCduYW1lJyA9PiAkcGVuZGluZ1VzZXItPmdldEZ1bGxOYW1lKCksCgkJCSAgLyogV2Ugc2VuZCBwbGFpbiB0ZXh0IGVtYWlsIHNvIGRlY29kZSBlbnRpdGllcyBpbiB1c2VybmFtZSAqLwoJCQkgICd1c2VybmFtZScgPT4gJGRlY29kZWRVc2VyTmFtZSwKCQkJICAnZW1haWwnID0+ICRwZW5kaW5nVXNlci0+Z2V0RW1haWwoKSwKCQkJICAnbDEwRG9tYWluJyA9PiAnbW9kdWxlc19yZWdpc3RlcicpLAoJCSAgICAkcGFyYW1zWydmcm9tJ10sCgkJICAgIGltcGxvZGUoJywnLCAkdG9MaXN0KSwKCQkgICAgJG1vZHVsZS0+dHJhbnNsYXRlKCRwYXJhbXNbJ2FkbWluc3ViamVjdCddKSk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gJHJldDsKCSAgICB9Cgl9CgoJcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgR2FsbGVyeVVzZXIgZnJvbSBHYWxsZXJ5UGVuZGluZ1VzZXIKICAgICAqCiAgICAgKiBAcGFyYW0gb2JqZWN0IEdhbGxlcnlQZW5kaW5nVXNlciAkcGVuZGluZ1VzZXIKICAgICAqIEBwYXJhbSBib29sZWFuICRkZWxldGUgaWYgdHJ1ZSBkZWxldGUgdGhlIEdhbGxlcnlQZW5kaW5nVXNlcgogICAgICogQHJldHVybiBvYmplY3QgR2FsbGVyeVN0YXR1cyBhIHN0YXR1cyBjb2RlCiAgICAgKi8KICAgIGZ1bmN0aW9uIGNyZWF0ZUdhbGxlcnlVc2VyKCYkcGVuZGluZ1VzZXIsICRkZWxldGU9dHJ1ZSkgewoJbGlzdCAoJHJldCwgJHVzZXIpID0gR2FsbGVyeUNvcmVBcGk6Om5ld0ZhY3RvcnlJbnN0YW5jZSgnR2FsbGVyeUVudGl0eScsICdHYWxsZXJ5VXNlcicpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gJHJldDsKCX0KCglpZiAoIWlzc2V0KCR1c2VyKSkgewoJICAgIHJldHVybiBHYWxsZXJ5Q29yZUFwaTo6ZXJyb3IoRVJST1JfTUlTU0lOR19PQkpFQ1QpOwoJfQoKCSRyZXQgPSAkdXNlci0+Y3JlYXRlKCRwZW5kaW5nVXNlci0+Z2V0VXNlck5hbWUoKSk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiAkcmV0OwoJfQoKCS8qIGNvcHkgYWxsIHZhbHVlcyB0byB0aGUgbmV3ICJyZWFsIiB1c2VyICovCgkkdXNlci0+c2V0RW1haWwoJHBlbmRpbmdVc2VyLT5nZXRFbWFpbCgpKTsKCSR1c2VyLT5zZXRGdWxsTmFtZSgkcGVuZGluZ1VzZXItPmdldEZ1bGxOYW1lKCkpOwoJJHVzZXItPnNldExhbmd1YWdlKCRwZW5kaW5nVXNlci0+Z2V0TGFuZ3VhZ2UoKSk7CgkkdXNlci0+c2V0SGFzaGVkUGFzc3dvcmQoJHBlbmRpbmdVc2VyLT5nZXRIYXNoZWRQYXNzd29yZCgpKTsKCgkkcmV0ID0gJHVzZXItPnNhdmUoKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuICRyZXQ7Cgl9CgoJLyogbm90aWZ5IGdhbGxlcnkgZXZlbnQgc3lzdGVtICovCgkkZXZlbnQgPSBHYWxsZXJ5Q29yZUFwaTo6bmV3RXZlbnQoJ0dhbGxlcnlQZW5kaW5nVXNlcjo6Y3JlYXRlR2FsbGVyeVVzZXInKTsKCSRldmVudC0+c2V0RW50aXR5KCRwZW5kaW5nVXNlcik7CglsaXN0ICgkcmV0KSA9IEdhbGxlcnlDb3JlQXBpOjpwb3N0RXZlbnQoJGV2ZW50KTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuICAkcmV0OwoJfQoKCWlmICgkZGVsZXRlKSB7CgkgICAgbGlzdCAoJHJldCwgJGxvY2spID0gR2FsbGVyeUNvcmVBcGk6OmFjcXVpcmVXcml0ZUxvY2soYXJyYXkoJHBlbmRpbmdVc2VyLT5nZXRJZCgpKSk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gJHJldDsKCSAgICB9CgoJICAgICRyZXQgPSAkcGVuZGluZ1VzZXItPmRlbGV0ZSgpOwoJICAgIGlmICgkcmV0KSB7CgkJcmV0dXJuICRyZXQ7CgkgICAgfQoKCSAgICAkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OnJlbGVhc2VMb2NrcygkbG9jayk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gJHJldDsKCSAgICB9Cgl9CgoJcmV0dXJuIG51bGw7CiAgICB9Cn0KPz4K');
expand_d043147115($outputDir, 'classes/GalleryStorage/GNUmakefile', 'aW5jbHVkZSAuLi8uLi8uLi8uLi9saWIvdG9vbHMvYmluL0dOVW1ha2VmaWxlLkdhbGxlcnlTdG9yYWdlCg==');
expand_d043147115($outputDir, 'classes/GalleryStorage/schema.tpl', 'IyMgbXlzcWwKIyBHYWxsZXJ5UGVuZGluZ1VzZXIKQ1JFQVRFIFRBQkxFIERCX1RBQkxFX1BSRUZJWFBlbmRpbmdVc2VyKAogREJfQ09MVU1OX1BSRUZJWGlkIGludCgxMSkgTk9UIE5VTEwsCiBEQl9DT0xVTU5fUFJFRklYdXNlck5hbWUgdmFyY2hhcigzMikgTk9UIE5VTEwsCiBEQl9DT0xVTU5fUFJFRklYZnVsbE5hbWUgdmFyY2hhcigxMjgpLAogREJfQ09MVU1OX1BSRUZJWGhhc2hlZFBhc3N3b3JkIHZhcmNoYXIoMTI4KSwKIERCX0NPTFVNTl9QUkVGSVhlbWFpbCB2YXJjaGFyKDEyOCksCiBEQl9DT0xVTU5fUFJFRklYbGFuZ3VhZ2UgdmFyY2hhcigxMjgpLAogREJfQ09MVU1OX1BSRUZJWHJlZ2lzdHJhdGlvbktleSB2YXJjaGFyKDMyKSwKIFBSSU1BUlkgS0VZKERCX0NPTFVNTl9QUkVGSVhpZCksCiBVTklRVUUgKERCX0NPTFVNTl9QUkVGSVh1c2VyTmFtZSkKKSBEQl9UQUJMRV9UWVBFCi8qITQwMTAwIERFRkFVTFQgQ0hBUkFDVEVSIFNFVCB1dGY4ICovOwoKSU5TRVJUIElOVE8gREJfVEFCTEVfUFJFRklYU2NoZW1hICgKIERCX0NPTFVNTl9QUkVGSVhuYW1lLAogREJfQ09MVU1OX1BSRUZJWG1ham9yLAogREJfQ09MVU1OX1BSRUZJWG1pbm9yCikgVkFMVUVTKCdQZW5kaW5nVXNlcicsIDEsIDApOwoKIyMgcG9zdGdyZXMKIyBHYWxsZXJ5UGVuZGluZ1VzZXIKQ1JFQVRFIFRBQkxFIERCX1RBQkxFX1BSRUZJWFBlbmRpbmdVc2VyKAogREJfQ09MVU1OX1BSRUZJWGlkIElOVEVHRVIgTk9UIE5VTEwsCiBEQl9DT0xVTU5fUFJFRklYdXNlck5hbWUgVkFSQ0hBUigzMikgTk9UIE5VTEwsCiBEQl9DT0xVTU5fUFJFRklYZnVsbE5hbWUgVkFSQ0hBUigxMjgpLAogREJfQ09MVU1OX1BSRUZJWGhhc2hlZFBhc3N3b3JkIFZBUkNIQVIoMTI4KSwKIERCX0NPTFVNTl9QUkVGSVhlbWFpbCBWQVJDSEFSKDEyOCksCiBEQl9DT0xVTU5fUFJFRklYbGFuZ3VhZ2UgVkFSQ0hBUigxMjgpLAogREJfQ09MVU1OX1BSRUZJWHJlZ2lzdHJhdGlvbktleSBWQVJDSEFSKDMyKQopOwoKQUxURVIgVEFCTEUgREJfVEFCTEVfUFJFRklYUGVuZGluZ1VzZXIgQUREIFBSSU1BUlkgS0VZIChEQl9DT0xVTU5fUFJFRklYaWQpOwoKQ1JFQVRFIFVOSVFVRSBJTkRFWCBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcl8xNjIzMyBPTiBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcihEQl9DT0xVTU5fUFJFRklYdXNlck5hbWUpOwoKSU5TRVJUIElOVE8gREJfVEFCTEVfUFJFRklYU2NoZW1hICgKIERCX0NPTFVNTl9QUkVGSVhuYW1lLAogREJfQ09MVU1OX1BSRUZJWG1ham9yLAogREJfQ09MVU1OX1BSRUZJWG1pbm9yCikgVkFMVUVTKCdQZW5kaW5nVXNlcicsIDEsIDApOwoKIyMgb3JhY2xlCiMgR2FsbGVyeVBlbmRpbmdVc2VyCkNSRUFURSBUQUJMRSBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcigKIERCX0NPTFVNTl9QUkVGSVhpZCBJTlRFR0VSIE5PVCBOVUxMLAogREJfQ09MVU1OX1BSRUZJWHVzZXJOYW1lIFZBUkNIQVIyKDMyKSBOT1QgTlVMTCwKIERCX0NPTFVNTl9QUkVGSVhmdWxsTmFtZSBWQVJDSEFSMigxMjgpLAogREJfQ09MVU1OX1BSRUZJWGhhc2hlZFBhc3N3b3JkIFZBUkNIQVIyKDEyOCksCiBEQl9DT0xVTU5fUFJFRklYZW1haWwgVkFSQ0hBUjIoMTI4KSwKIERCX0NPTFVNTl9QUkVGSVhsYW5ndWFnZSBWQVJDSEFSMigxMjgpLAogREJfQ09MVU1OX1BSRUZJWHJlZ2lzdHJhdGlvbktleSBWQVJDSEFSMigzMikKKTsKCkFMVEVSIFRBQkxFIERCX1RBQkxFX1BSRUZJWFBlbmRpbmdVc2VyCiBBREQgUFJJTUFSWSBLRVkgKERCX0NPTFVNTl9QUkVGSVhpZCkKIEFERCBVTklRVUUgKERCX0NPTFVNTl9QUkVGSVh1c2VyTmFtZSkKOwoKSU5TRVJUIElOVE8gREJfVEFCTEVfUFJFRklYU2NoZW1hICgKIERCX0NPTFVNTl9QUkVGSVhuYW1lLAogREJfQ09MVU1OX1BSRUZJWG1ham9yLAogREJfQ09MVU1OX1BSRUZJWG1pbm9yCikgVkFMVUVTKCdQZW5kaW5nVXNlcicsIDEsIDApOwoKIyMgZGIyCiMgR2FsbGVyeVBlbmRpbmdVc2VyCkNSRUFURSBUQUJMRSBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcigKIERCX0NPTFVNTl9QUkVGSVhpZCBJTlRFR0VSIE5PVCBOVUxMLAogREJfQ09MVU1OX1BSRUZJWHVzZXJOYW1lIFZBUkNIQVIoMzIpIE5PVCBOVUxMLAogREJfQ09MVU1OX1BSRUZJWGZ1bGxOYW1lIFZBUkNIQVIoMTI4KSwKIERCX0NPTFVNTl9QUkVGSVhoYXNoZWRQYXNzd29yZCBWQVJDSEFSKDEyOCksCiBEQl9DT0xVTU5fUFJFRklYZW1haWwgVkFSQ0hBUigxMjgpLAogREJfQ09MVU1OX1BSRUZJWGxhbmd1YWdlIFZBUkNIQVIoMTI4KSwKIERCX0NPTFVNTl9QUkVGSVhyZWdpc3RyYXRpb25LZXkgVkFSQ0hBUigzMikKKTsKCkFMVEVSIFRBQkxFIERCX1RBQkxFX1BSRUZJWFBlbmRpbmdVc2VyIEFERCBQUklNQVJZIEtFWSAoREJfQ09MVU1OX1BSRUZJWGlkKTsKCkNSRUFURSBVTklRVUUgSU5ERVggREJfVEFCTEVfUFJFRklYUGVuZGk1NV8xNjIzMyAgCiBPTiBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcihEQl9DT0xVTU5fUFJFRklYdXNlck5hbWUpOwoKSU5TRVJUIElOVE8gREJfVEFCTEVfUFJFRklYU2NoZW1hICgKIERCX0NPTFVNTl9QUkVGSVhuYW1lLAogREJfQ09MVU1OX1BSRUZJWG1ham9yLAogREJfQ09MVU1OX1BSRUZJWG1pbm9yCikgVkFMVUVTKCdQZW5kaW5nVXNlcicsIDEsIDApOwoKIyMgbXNzcWwKIyBHYWxsZXJ5UGVuZGluZ1VzZXIKQ1JFQVRFIFRBQkxFIERCX1RBQkxFX1BSRUZJWFBlbmRpbmdVc2VyKAogREJfQ09MVU1OX1BSRUZJWGlkIElOVCBOT1QgTlVMTCwKIERCX0NPTFVNTl9QUkVGSVh1c2VyTmFtZSBOVkFSQ0hBUigzMikgTk9UIE5VTEwsCiBEQl9DT0xVTU5fUFJFRklYZnVsbE5hbWUgTlZBUkNIQVIoMTI4KSBOVUxMLAogREJfQ09MVU1OX1BSRUZJWGhhc2hlZFBhc3N3b3JkIE5WQVJDSEFSKDEyOCkgTlVMTCwKIERCX0NPTFVNTl9QUkVGSVhlbWFpbCBOVkFSQ0hBUigxMjgpIE5VTEwsCiBEQl9DT0xVTU5fUFJFRklYbGFuZ3VhZ2UgTlZBUkNIQVIoMTI4KSBOVUxMLAogREJfQ09MVU1OX1BSRUZJWHJlZ2lzdHJhdGlvbktleSBOVkFSQ0hBUigzMikgTlVMTAopOwoKQUxURVIgVEFCTEUgREJfVEFCTEVfUFJFRklYUGVuZGluZ1VzZXIgQUREIFBSSU1BUlkgS0VZIChEQl9DT0xVTU5fUFJFRklYaWQpOwoKQ1JFQVRFIFVOSVFVRSBJTkRFWCBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcl8xNjIzMyBPTiBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcihEQl9DT0xVTU5fUFJFRklYdXNlck5hbWUpOwoKSU5TRVJUIElOVE8gREJfVEFCTEVfUFJFRklYU2NoZW1hICgKIERCX0NPTFVNTl9QUkVGSVhuYW1lLAogREJfQ09MVU1OX1BSRUZJWG1ham9yLAogREJfQ09MVU1OX1BSRUZJWG1pbm9yCikgVkFMVUVTKCdQZW5kaW5nVXNlcicsIDEsIDApOwoK');
expand_d043147115($outputDir, 'classes/RegisterCaptchaAdminOption.class', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogQ2FwdGNoYSBjb25maWd1cmF0aW9uIGZvciByZWdpc3RlciBtb2R1bGUuCiAqIEBwYWNrYWdlIFJlZ2lzdHJhdGlvbgogKiBAc3VicGFja2FnZSBDbGFzc2VzCiAqIEBhdXRob3IgQWxhbiBIYXJkZXIgPGFsYW4uaGFyZGVyQHN1bi5jb20+CiAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMTU1MTMgJAogKi8KY2xhc3MgUmVnaXN0ZXJDYXB0Y2hhQWRtaW5PcHRpb24gZXh0ZW5kcyBDYXB0Y2hhQWRtaW5PcHRpb24gewogICAgLyoqCiAgICAgKiBAc2VlIENhcHRjaGFBZG1pbk9wdGlvbjo6Z2V0T3B0aW9uRGF0YQogICAgICovCiAgICBmdW5jdGlvbiBnZXRPcHRpb25EYXRhKCkgewoJbGlzdCAoJHJldCwgJG1vZHVsZSkgPSBHYWxsZXJ5Q29yZUFwaTo6bG9hZFBsdWdpbignbW9kdWxlJywgJ3JlZ2lzdGVyJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsLCBudWxsLCBudWxsKTsKCX0KCS8qIE5vdGU6IHdlIHVzZSB2YWxpZGF0aW9uLmxldmVsIGZvciBhbGwgcGx1Z2lucywgYnV0IGNvbmZpZyBpcyB2aWEgY2FwdGNoYSBtb2R1bGUgKi8KCXJldHVybiBhcnJheShudWxsLCAkbW9kdWxlLT50cmFuc2xhdGUoJ1JlZ2lzdHJhdGlvbicpLAoJCSAgICAgYXJyYXkoJ21vZHVsZScsICdyZWdpc3RlcicsICd2YWxpZGF0aW9uLmxldmVsJyksCgkJICAgICBhcnJheSgnSElHSCcsICdPRkYnKSk7CiAgICB9Cn0KPz4K');
expand_d043147115($outputDir, 'module.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogVGhlIHNlbGYtcmVnaXN0cmF0aW9uIG1vZHVsZQogKgogKiBAcGFja2FnZSBSZWdpc3RyYXRpb24KICogQGF1dGhvciBTZWJhc3RpYW4gRWljaG5lciA8bWFpbHNwQHNlYmFzdGlhbi1laWNobmVyLmRlPgogKiBAdmVyc2lvbiAkUmV2aXNpb246IDE2MDM0ICQKICovCmNsYXNzIFJlZ2lzdGVyTW9kdWxlIGV4dGVuZHMgR2FsbGVyeU1vZHVsZSB7CgogICAgZnVuY3Rpb24gUmVnaXN0ZXJNb2R1bGUoKSB7CglnbG9iYWwgJGdhbGxlcnk7CgoJJHRoaXMtPnNldElkKCdyZWdpc3RlcicpOwoJJHRoaXMtPnNldE5hbWUoJGdhbGxlcnktPmkxOG4oJ1JlZ2lzdHJhdGlvbicpKTsKCSR0aGlzLT5zZXREZXNjcmlwdGlvbigkZ2FsbGVyeS0+aTE4bignTmV3IFVzZXIgUmVnaXN0cmF0aW9uJykpOwoJJHRoaXMtPnNldFZlcnNpb24oJzEuMC44Jyk7CgkkdGhpcy0+c2V0R3JvdXAoJ2dhbGxlcnknLCAkZ2FsbGVyeS0+aTE4bignR2FsbGVyeScpKTsKCSR0aGlzLT5zZXRDYWxsYmFja3MoJ2dldFN5c3RlbUxpbmtzfGdldFVzZXJBZG1pblZpZXdzfGdldFNpdGVBZG1pblZpZXdzJyk7CgkkdGhpcy0+c2V0UmVxdWlyZWRDb3JlQXBpKGFycmF5KDcsIDUpKTsKCSR0aGlzLT5zZXRSZXF1aXJlZE1vZHVsZUFwaShhcnJheSgzLCAwKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlNb2R1bGU6OnVwZ3JhZGUKICAgICAqLwogICAgZnVuY3Rpb24gdXBncmFkZSgkY3VycmVudFZlcnNpb24pIHsKCWxpc3QgKCRyZXQsICRwYXJhbXMpID0gR2FsbGVyeUNvcmVBcGk6OmZldGNoQWxsUGx1Z2luUGFyYW1ldGVycygnbW9kdWxlJywgJ3JlZ2lzdGVyJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiAkcmV0OwoJfQoKCWZvcmVhY2ggKGFycmF5KCdjb25maXJtYXRpb24nID0+ICdhZG1pbicsICdlbWFpbGFkbWlucycgPT4gMSwKCQkgICAgICAgJ3N1YmplY3QnID0+ICR0aGlzLT50cmFuc2xhdGUoJ0FjY291bnQgYWN0aXZhdGlvbicpLAoJCSAgICAgICAnYWRtaW5zdWJqZWN0JyA9PiAkdGhpcy0+dHJhbnNsYXRlKCdOZXcgdXNlciByZWdpc3RyYXRpb24nKSwKCQkgICAgICAgJ2Zyb20nID0+ICd3ZWJtYXN0ZXJAJyAuIEdhbGxlcnlVdGlsaXRpZXM6OmdldFNlcnZlclZhcignU0VSVkVSX05BTUUnKSwKCQkgICAgICAgJ3ZhbGlkYXRpb24ubGV2ZWwnID0+ICdISUdIJykKCQlhcyAka2V5ID0+ICR2YWx1ZSkgewoJICAgIGlmICghaXNzZXQoJHBhcmFtc1ska2V5XSkpIHsKCQkkcmV0ID0gJHRoaXMtPnNldFBhcmFtZXRlcigka2V5LCAkdmFsdWUpOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiAkcmV0OwoJCX0KCSAgICB9Cgl9CgoJcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlNb2R1bGU6OnBlcmZvcm1GYWN0b3J5UmVnaXN0cmF0aW9ucwogICAgICovCiAgICBmdW5jdGlvbiBwZXJmb3JtRmFjdG9yeVJlZ2lzdHJhdGlvbnMoKSB7CgkkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OnJlZ2lzdGVyRmFjdG9yeUltcGxlbWVudGF0aW9uKAoJICAgICdHYWxsZXJ5RW50aXR5JywgJ0dhbGxlcnlQZW5kaW5nVXNlcicsICdHYWxsZXJ5UGVuZGluZ1VzZXInLAoJICAgICdtb2R1bGVzL3JlZ2lzdGVyL2NsYXNzZXMvR2FsbGVyeVBlbmRpbmdVc2VyLmNsYXNzJywgJ3JlZ2lzdGVyJywgbnVsbCk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiAkcmV0OwoJfQoKCSRyZXQgPSBHYWxsZXJ5Q29yZUFwaTo6cmVnaXN0ZXJGYWN0b3J5SW1wbGVtZW50YXRpb24oCgkgICAgJ0NhcHRjaGFBZG1pbk9wdGlvbicsICdSZWdpc3RlckNhcHRjaGFBZG1pbk9wdGlvbicsICdSZWdpc3RlckNhcHRjaGFBZG1pbk9wdGlvbicsCgkgICAgJ21vZHVsZXMvcmVnaXN0ZXIvY2xhc3Nlcy9SZWdpc3RlckNhcHRjaGFBZG1pbk9wdGlvbi5jbGFzcycsICdyZWdpc3RlcicsIG51bGwpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gJHJldDsKCX0KCglyZXR1cm4gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeU1vZHVsZTo6Z2V0TW9kdWxlRW50aXR5VHlwZXMKICAgICAqLwogICAgZnVuY3Rpb24gZ2V0TW9kdWxlRW50aXR5VHlwZXMoKSB7CglyZXR1cm4gYXJyYXkoJ0dhbGxlcnlQZW5kaW5nVXNlcicpOwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5TW9kdWxlOjpnZXRTeXN0ZW1MaW5rcwogICAgICovCiAgICBmdW5jdGlvbiBnZXRTeXN0ZW1MaW5rcygpIHsKCSRsaW5rcyA9IGFycmF5KCk7CgoJbGlzdCAoJHJldCwgJGlzQW5vbnltb3VzKSA9IEdhbGxlcnlDb3JlQXBpOjppc0Fub255bW91c1VzZXIoKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoJaWYgKCRpc0Fub255bW91cykgewoJICAgICRsaW5rc1snUmVnaXN0ZXInXSA9IGFycmF5KAoJCSd0ZXh0JyA9PiAkdGhpcy0+dHJhbnNsYXRlKCdSZWdpc3RlcicpLAoJCSdwYXJhbXMnID0+IGFycmF5KCd2aWV3JyA9PiAnY29yZS5Vc2VyQWRtaW4nLAoJCQkJICAnc3ViVmlldycgPT4gJ3JlZ2lzdGVyLlVzZXJTZWxmUmVnaXN0cmF0aW9uJywKCQkJCSAgJ3JldHVybicgPT4gMSkpOwoJfQoKCXJldHVybiBhcnJheShudWxsLCAkbGlua3MpOwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5TW9kdWxlOjpnZXRVc2VyQWRtaW5WaWV3cwogICAgICovCiAgICBmdW5jdGlvbiBnZXRVc2VyQWRtaW5WaWV3cygkdXNlcikgewoJJHZpZXdzID0gYXJyYXkoKTsKCglsaXN0ICgkcmV0LCAkaXNBbm9ueW1vdXMpID0gR2FsbGVyeUNvcmVBcGk6OmlzQW5vbnltb3VzVXNlcigkdXNlci0+Z2V0SWQoKSk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCWlmICgkaXNBbm9ueW1vdXMpIHsKCSAgICAkdmlld3NbXSA9IGFycmF5KCduYW1lJyA9PiAkdGhpcy0+dHJhbnNsYXRlKCdSZWdpc3RlcicpLAoJCQkgICAgICd2aWV3JyA9PiAncmVnaXN0ZXIuVXNlclNlbGZSZWdpc3RyYXRpb24nKTsKCX0KCglyZXR1cm4gYXJyYXkobnVsbCwgJHZpZXdzKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeU1vZHVsZTo6Z2V0U2l0ZUFkbWluVmlld3MKICAgICAqLwogICAgZnVuY3Rpb24gZ2V0U2l0ZUFkbWluVmlld3MoKSB7CglyZXR1cm4gYXJyYXkobnVsbCwgYXJyYXkoYXJyYXkoJ25hbWUnID0+ICR0aGlzLT50cmFuc2xhdGUoJ1JlZ2lzdHJhdGlvbicpLAoJCQkJICAgICAgICd2aWV3JyA9PiAncmVnaXN0ZXIuQWRtaW5TZWxmUmVnaXN0cmF0aW9uJykpKTsKICAgIH0KfQo/Pgo=');
expand_d043147115($outputDir, 'po/GNUmakefile', 'R0FMTEVSWURJUiA/PSAuLi8uLi8uLgpUT09MRElSID89ICQoR0FMTEVSWURJUikvbGliL3Rvb2xzCgppbmNsdWRlICQoVE9PTERJUikvcG8vR05VbWFrZWZpbGUuaW5jCgo=');
expand_d043147115($outputDir, 'po/strings.raw', 'IyAkSWQ6IHN0cmluZ3MucmF3IDE1NDQ3IDIwMDYtMTItMTMgMTk6MjM6NDVaIG1pbmRsZXNzICQKCi8qIEFkbWluU2VsZlJlZ2lzdHJhdGlvbi5pbmMgKi8KZ2V0dGV4dCgiQWN0aXZhdGlvbiBieSBhZG1pbmlzdHJhdG9yIikKZ2V0dGV4dCgiVXNlIGNvbmZpcm1hdGlvbiBlbWFpbHMiKQpnZXR0ZXh0KCJBY2NlcHQgd2l0aG91dCBjb25maXJtYXRpb24iKQpnZXR0ZXh0KCJZZXMiKQpnZXR0ZXh0KCJObyIpCgovKiBtb2R1bGUuaW5jICovCmdldHRleHQoIlJlZ2lzdHJhdGlvbiIpIC8qIGFsc28gaW46IGNsYXNzZXMvUmVnaXN0ZXJDYXB0Y2hhQWRtaW5PcHRpb24uY2xhc3MgKi8KZ2V0dGV4dCgiTmV3IFVzZXIgUmVnaXN0cmF0aW9uIikKZ2V0dGV4dCgiR2FsbGVyeSIpCmdldHRleHQoIkFjY291bnQgYWN0aXZhdGlvbiIpCmdldHRleHQoIk5ldyB1c2VyIHJlZ2lzdHJhdGlvbiIpCmdldHRleHQoIlJlZ2lzdGVyIikgLyogYWxzbyBpbjogdGVtcGxhdGVzL1VzZXJTZWxmUmVnaXN0cmF0aW9uLnRwbCAqLwoKLyogdGVtcGxhdGVzL0FkbWluRW1haWwudHBsICovCmdldHRleHQoIk5ldyB1c2VyIHJlZ2lzdHJhdGlvbjoiKQpnZXR0ZXh0KCIgICAgVXNlcm5hbWU6ICVzIikKZ2V0dGV4dCgiICAgRnVsbCBuYW1lOiAlcyIpCmdldHRleHQoIiAgICAgICBFbWFpbDogJXMiKQpnZXR0ZXh0KCJBY3RpdmF0ZSBvciBkZWxldGUgdGhpcyB1c2VyIGhlcmUiKQoKLyogdGVtcGxhdGVzL0FkbWluU2VsZlJlZ2lzdHJhdGlvbi50cGwgKi8KZ2V0dGV4dCgiUmVnaXN0cmF0aW9uIFNldHRpbmdzIikKZ2V0dGV4dCgiU2V0dGluZ3Mgc2F2ZWQgc3VjY2Vzc2Z1bGx5IikKZ2V0dGV4dCgiQWN0aXZhdGVkIHVzZXIgJXMiKQpnZXR0ZXh0KCJEZWxldGVkIHVzZXIgJXMiKQpnZXR0ZXh0KCJDb25maXJtYXRpb24gUG9saWN5IikKZ2V0dGV4dCgiVGhlIFJlZ2lzdHJhdGlvbiBtb2R1bGUgY2FuIGFjY2VwdCBuZXcgdXNlciByZWdpc3RyYXRpb25zIGluc3RhbnRseSwgcmVxdWlyZSB0aGUgdXNlciB0byBjbGljayBhIGNvbmZpcm1hdGlvbiBsaW5rIGluIGFuIGVtYWlsIHRoYXQgaXMgc2VudCBieSB0aGUgbW9kdWxlLCBvciByZXF1aXJlIGFjY291bnQgYWN0aXZhdGlvbiBieSBhIHNpdGUgYWRtaW5pc3RyYXRvci4iKQpnZXR0ZXh0KCJDaG9vc2UgcG9saWN5OiIpCmdldHRleHQoIkVtYWlsIGRldGFpbHMiKQpnZXR0ZXh0KCJTZW5kZXIoRnJvbSkgRW1haWwgQWRkcmVzczoiKQpnZXR0ZXh0KCJDb25maXJtYXRpb24gRW1haWwgU3ViamVjdDoiKQpnZXR0ZXh0KCJBZG1pbiBFbWFpbCBTdWJqZWN0OiIpCmdldHRleHQoIkVtYWlsIFNpdGUgQWRtaW5pc3RyYXRvcnMgZm9yIGFsbCBuZXcgcmVnaXN0cmF0aW9ucyIpCmdldHRleHQoIlNhdmUiKQpnZXR0ZXh0KCJSZXNldCIpCmdldHRleHQoIlBlbmRpbmcgUmVnaXN0cmF0aW9ucyIpCmdldHRleHQoIiZsYXF1bzsgZmlyc3QiKQpnZXR0ZXh0KCImbGFxdW87IGJhY2siKQpnZXR0ZXh0KCJWaWV3aW5nIHBhZ2UgJWQgb2YgJWQiKQpnZXR0ZXh0KCJuZXh0ICZyYXF1bzsiKQpnZXR0ZXh0KCJsYXN0ICZyYXF1bzsiKQpnZXR0ZXh0KCJVc2VybmFtZSIpIC8qIGFsc28gaW46IHRlbXBsYXRlcy9Vc2VyU2VsZlJlZ2lzdHJhdGlvbi50cGwgKi8KZ2V0dGV4dCgiRnVsbCBOYW1lIikgLyogYWxzbyBpbjogdGVtcGxhdGVzL1VzZXJTZWxmUmVnaXN0cmF0aW9uLnRwbCAqLwpnZXR0ZXh0KCJFbWFpbCIpCmdldHRleHQoIkRhdGUiKQpnZXR0ZXh0KCJBY3Rpb24iKQpnZXR0ZXh0KCJhY3RpdmF0ZSIpCmdldHRleHQoImRlbGV0ZSIpCgovKiB0ZW1wbGF0ZXMvQ29uZmlybVJlZ2lzdHJhdGlvbi50cGwgKi8KZ2V0dGV4dCgiQWNjb3VudCBBY3RpdmF0aW9uIikKZ2V0dGV4dCgiVGhpcyB1c2VyIGNhbm5vdCBiZSBhY3RpdmF0ZWQuIikKZ2V0dGV4dCgiVGhpcyBjYW4gaGFwcGVuIGlmIHRoZSBVUkwgeW91IGVudGVyZWQgaXMgbm90IGNvcnJlY3Qgb3IgeW91IGFscmVhZHkgYWN0aXZhdGVkIHRoaXMgYWNjb3VudC4gUGxlYXNlIGNoZWNrIGlmIHlvdXIgbWFpbCBjbGllbnQgYnJva2UgdGhlIGxpbmsgaW50byBzZXZlcmFsIGxpbmVzIGFuZCBhcHBlbmQgdGhlbSB3aXRob3V0IHNwYWNlcy4iKQpnZXR0ZXh0KCJZb3VyIGFjY291bnQgaGFzIGJlZW4gYWN0aXZhdGVkLiIpCmdldHRleHQoIllvdSBjYW4gbm93IGxvZ2luIHRvIHlvdXIgYWNjb3VudCB3aXRoIHlvdXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLiIpCgovKiB0ZW1wbGF0ZXMvQ29uZmlybWF0aW9uRW1haWwudHBsICovCmdldHRleHQoIkhlbGxvICVzLCIpCmdldHRleHQoIllvdSByZWNlaXZlIHRoaXMgZW1haWwgYmVjYXVzZSB5b3UgaGF2ZSByZWdpc3RlcmVkIGF0ICVzIikKZ2V0dGV4dCgiWW91ciB1c2VybmFtZSBpczogJXMiKQpnZXR0ZXh0KCJUbyBmaW5pc2ggdGhlIHJlZ2lzdHJhdGlvbiBwcm9jZXNzIHBsZWFzZSBjbGljayB0aGUgZm9sbG93aW5nIGxpbms6IikKZ2V0dGV4dCgiSWYgeW91IGRpZCBub3QgcmVnaXN0ZXIgYXQgdGhpcyBzaXRlIHRoZW4gcGxlYXNlIGlnbm9yZSB0aGlzIGVtYWlsLiAgVGhlIHJlZ2lzdHJhdGlvbiB3aWxsIG5vdCBiZWNvbWUgdmFsaWQgYW5kIHlvdSB3aWxsIG5vdCByZWNlaXZlIGFueSBmdXJ0aGVyIGVtYWlscy4gIFNvcnJ5IGZvciB0aGUgaW5jb252ZW5pZW5jZS4iKQpnZXR0ZXh0KCJUaGFuayB5b3UhIikKCi8qIHRlbXBsYXRlcy9TZWxmUmVnaXN0cmF0aW9uU3VjY2Vzcy50cGwgKi8KZ2V0dGV4dCgiUmVnaXN0cmF0aW9uIHN1Y2Nlc3NmdWwiKQpnZXR0ZXh0KCJZb3VyIHJlZ2lzdHJhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4iKQpnZXR0ZXh0KCJZb3Ugd2lsbCBzaG9ydGx5IHJlY2VpdmUgYW4gZW1haWwgY29udGFpbmluZyBhIGxpbmsuIFlvdSBoYXZlIHRvIGNsaWNrIHRoaXMgbGluayB0byBjb25maXJtIGFuZCBhY3RpdmF0ZSB5b3VyIGFjY291bnQuICBUaGlzIHByb2NlZHVyZSBpcyBuZWNlc3NhcnkgdG8gcHJldmVudCBhY2NvdW50IGFidXNlLiIpCmdldHRleHQoIllvdXIgcmVnaXN0cmF0aW9uIHdpbGwgYmUgcHJvY2Vzc2VkIGFuZCB5b3VyIGFjY291bnQgYWN0aXZhdGVkIHNvb24uIikKZ2V0dGV4dCgiWW91ciByZWdpc3RyYXRpb24gd2FzIHN1Y2Nlc3NmdWwgYW5kIHlvdXIgYWNjb3VudCBoYXMgYmVlbiBhY3RpdmF0ZWQuIikKZ2V0dGV4dCgiWW91IGNhbiBub3cgJXNsb2dpbiVzIHRvIHlvdXIgYWNjb3VudCB3aXRoIHlvdXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLiIpCgovKiB0ZW1wbGF0ZXMvVXNlclNlbGZSZWdpc3RyYXRpb24udHBsICovCmdldHRleHQoIlJlZ2lzdGVyIEFzIE5ldyBVc2VyIikKZ2V0dGV4dCgiKHJlcXVpcmVkKSIpCmdldHRleHQoIllvdSBtdXN0IGVudGVyIGEgdXNlcm5hbWUiKQpnZXR0ZXh0KCJVc2VybmFtZSAnJXMnIGFscmVhZHkgZXhpc3RzIikKZ2V0dGV4dCgiWW91IG11c3QgZW50ZXIgeW91ciBmdWxsIG5hbWUiKQpnZXR0ZXh0KCJFbWFpbCBBZGRyZXNzIikKZ2V0dGV4dCgiWW91IG11c3QgZW50ZXIgYW4gZW1haWwgYWRkcmVzcyIpCmdldHRleHQoIkludmFsaWQgZW1haWwgYWRkcmVzcyIpCmdldHRleHQoIlBhc3N3b3JkIikKZ2V0dGV4dCgiWW91IG11c3QgZW50ZXIgYSBwYXNzd29yZCIpCmdldHRleHQoIlZlcmlmeSBQYXNzd29yZCIpCmdldHRleHQoIllvdSBtdXN0IGVudGVyIHRoZSBwYXNzd29yZCBhIHNlY29uZCB0aW1lIikKZ2V0dGV4dCgiVGhlIHBhc3N3b3JkcyB5b3UgZW50ZXJlZCBkaWQgbm90IG1hdGNoIikKZ2V0dGV4dCgiQ2FuY2VsIikK');
expand_d043147115($outputDir, 'templates/AdminEmail.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0Ke2ctPnRleHQgdGV4dD0iTmV3IHVzZXIgcmVnaXN0cmF0aW9uOiJ9Cgp7Zy0+dGV4dCB0ZXh0PSIgICAgVXNlcm5hbWU6ICVzIiBhcmcxPSR1c2VybmFtZX0Ke2ctPnRleHQgdGV4dD0iICAgRnVsbCBuYW1lOiAlcyIgYXJnMT0kbmFtZX0Ke2ctPnRleHQgdGV4dD0iICAgICAgIEVtYWlsOiAlcyIgYXJnMT0kZW1haWx9Cgp7Zy0+dGV4dCB0ZXh0PSJBY3RpdmF0ZSBvciBkZWxldGUgdGhpcyB1c2VyIGhlcmUifQp7Zy0+dXJsIGFyZzE9InZpZXc9Y29yZS5TaXRlQWRtaW4iIGFyZzI9InN1YlZpZXc9cmVnaXN0ZXIuQWRtaW5TZWxmUmVnaXN0cmF0aW9uIgoJZm9yY2VGdWxsVXJsPXRydWUgaHRtbEVudGl0aWVzPWZhbHNlIGZvcmNlU2Vzc2lvbklkPWZhbHNlfQo=');
expand_d043147115($outputDir, 'templates/AdminSelfRegistration.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0KPGRpdiBjbGFzcz0iZ2JCbG9jayBnY0JhY2tncm91bmQxIj4KICA8aDI+IHtnLT50ZXh0IHRleHQ9IlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyJ9IDwvaDI+CjwvZGl2PgoKe2lmICFlbXB0eSgkc3RhdHVzKX0KPGRpdiBjbGFzcz0iZ2JCbG9jayI+PGgyIGNsYXNzPSJnaVN1Y2Nlc3MiPgogIHtpZiBpc3NldCgkc3RhdHVzLnNhdmVkKX0KICAgIHtnLT50ZXh0IHRleHQ9IlNldHRpbmdzIHNhdmVkIHN1Y2Nlc3NmdWxseSJ9CiAgey9pZn0KICB7aWYgaXNzZXQoJHN0YXR1cy5hY3RpdmF0ZWQpfQogICAge2ctPnRleHQgdGV4dD0iQWN0aXZhdGVkIHVzZXIgJXMiIGFyZzE9JHN0YXR1cy5hY3RpdmF0ZWR9CiAgey9pZn0KICB7aWYgaXNzZXQoJHN0YXR1cy5kZWxldGVkKX0KICAgIHtnLT50ZXh0IHRleHQ9IkRlbGV0ZWQgdXNlciAlcyIgYXJnMT0kc3RhdHVzLmRlbGV0ZWR9CiAgey9pZn0KPC9oMj48L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9ImdiQmxvY2siPgogIDxoMz4ge2ctPnRleHQgdGV4dD0iQ29uZmlybWF0aW9uIFBvbGljeSJ9IDwvaDM+CgogIDxwIGNsYXNzPSJnaURlc2NyaXB0aW9uIj4KICAge2ctPnRleHQgdGV4dD0iVGhlIFJlZ2lzdHJhdGlvbiBtb2R1bGUgY2FuIGFjY2VwdCBuZXcgdXNlciByZWdpc3RyYXRpb25zIGluc3RhbnRseSwgcmVxdWlyZSB0aGUgdXNlciB0byBjbGljayBhIGNvbmZpcm1hdGlvbiBsaW5rIGluIGFuIGVtYWlsIHRoYXQgaXMgc2VudCBieSB0aGUgbW9kdWxlLCBvciByZXF1aXJlIGFjY291bnQgYWN0aXZhdGlvbiBieSBhIHNpdGUgYWRtaW5pc3RyYXRvci4ifQogIDwvcD4KCiAge2ctPnRleHQgdGV4dD0iQ2hvb3NlIHBvbGljeToifQogIDxzZWxlY3QgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2NvbmZpcm1hdGlvbl0ifSI+CiAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JFNlbGZSZWdpc3RyYXRpb24uZW1haWxDb25maXJtYXRpb25MaXN0IHNlbGVjdGVkPSRmb3JtLmNvbmZpcm1hdGlvbn0KICA8L3NlbGVjdD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJnYkJsb2NrIj4KICA8aDM+IHtnLT50ZXh0IHRleHQ9IkVtYWlsIGRldGFpbHMifSA8L2gzPgoKICA8dGFibGUgY2xhc3M9ImdiRGF0YVRhYmxlIj48dHI+CiAgICA8dGQ+CiAgICAgIHtnLT50ZXh0IHRleHQ9IlNlbmRlcihGcm9tKSBFbWFpbCBBZGRyZXNzOiJ9CiAgICA8L3RkPjx0ZD4KICAgICAgPGlucHV0IHR5cGU9InRleHQiICBzaXplPSIzMCIKICAgICAgIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtmcm9tXSJ9IiB2YWx1ZT0ieyRmb3JtLmZyb219Ii8+CiAgICA8L3RkPgogIDwvdHI+PHRyPgogICAgPHRkPgogICAgICB7Zy0+dGV4dCB0ZXh0PSJDb25maXJtYXRpb24gRW1haWwgU3ViamVjdDoifQogICAgPC90ZD48dGQ+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIzMCIKICAgICAgIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtzdWJqZWN0XSJ9IiB2YWx1ZT0ieyRmb3JtLnN1YmplY3R9Ii8+CiAgICA8L3RkPgogIDwvdHI+PHRyPgogICAgPHRkPgogICAgICB7Zy0+dGV4dCB0ZXh0PSJBZG1pbiBFbWFpbCBTdWJqZWN0OiJ9CiAgICA8L3RkPjx0ZD4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjMwIgogICAgICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2FkbWluc3ViamVjdF0ifSIgdmFsdWU9InskZm9ybS5hZG1pbnN1YmplY3R9Ii8+CiAgICA8L3RkPgogIDwvdHI+PHRyPgogICAgPHRkIGNvbHNwYW49IjIiPgogICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjYkVtYWlsQWRtaW5zIntpZiAkZm9ybS5lbWFpbGFkbWluc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfQogICAgICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2VtYWlsYWRtaW5zXSJ9Ii8+CiAgICAgIDxsYWJlbCBmb3I9ImNiRW1haWxBZG1pbnMiPgoJe2ctPnRleHQgdGV4dD0iRW1haWwgU2l0ZSBBZG1pbmlzdHJhdG9ycyBmb3IgYWxsIG5ldyByZWdpc3RyYXRpb25zIn0KICAgICAgPC9sYWJlbD4KICAgIDwvdGQ+CiAgPC90cj48L3RhYmxlPgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImdiQmxvY2sgZ2NCYWNrZ3JvdW5kMSI+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9ImlucHV0VHlwZVN1Ym1pdCIKICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2FjdGlvbl1bc2F2ZV0ifSIgdmFsdWU9IntnLT50ZXh0IHRleHQ9IlNhdmUifSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJpbnB1dFR5cGVTdWJtaXQiCiAgIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVthY3Rpb25dW2NhbmNlbF0ifSIgdmFsdWU9IntnLT50ZXh0IHRleHQ9IlJlc2V0In0iLz4KPC9kaXY+Cgp7aWYgJGZvcm0ubGlzdC5jb3VudD4wfQo8ZGl2IGNsYXNzPSJnYkJsb2NrIj4KICA8aDM+IHtnLT50ZXh0IHRleHQ9IlBlbmRpbmcgUmVnaXN0cmF0aW9ucyJ9IDwvaDM+CgogIHtpZiAoJGZvcm0ubGlzdC5tYXhQYWdlcyA+IDEpfQogICAgPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMTBweCI+PHNwYW4gY2xhc3M9ImdjQmFja2dyb3VuZDEiIHN0eWxlPSJwYWRkaW5nOiA1cHgiPgogICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIgogICAgICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2xpc3RdW3BhZ2VdIn0iIHZhbHVlPSJ7JGZvcm0ubGlzdC5wYWdlfSIvPgogICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIgogICAgICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2xpc3RdW21heFBhZ2VzXSJ9IiB2YWx1ZT0ieyRmb3JtLmxpc3QubWF4UGFnZXN9Ii8+CgogICAgICB7aWYgKCRmb3JtLmxpc3QucGFnZSA+IDEpfQoJPGEgaHJlZj0ie2ctPnVybCBhcmcxPSJ2aWV3PWNvcmUuU2l0ZUFkbWluIiBhcmcyPSJzdWJWaWV3PXJlZ2lzdGVyLkFkbWluU2VsZlJlZ2lzdHJhdGlvbiIKCSBhcmczPSJmb3JtW2xpc3RdW3BhZ2VdPTEifSI+e2ctPnRleHQgdGV4dD0iJmxhcXVvOyBmaXJzdCJ9PC9hPgoJJm5ic3A7Cgk8YSBocmVmPSJ7Zy0+dXJsIGFyZzE9InZpZXc9Y29yZS5TaXRlQWRtaW4iIGFyZzI9InN1YlZpZXc9cmVnaXN0ZXIuQWRtaW5TZWxmUmVnaXN0cmF0aW9uIgoJIGFyZzM9ImZvcm1bbGlzdF1bcGFnZV09YCRmb3JtLmxpc3QuYmFja1BhZ2VgIn0iPntnLT50ZXh0IHRleHQ9IiZsYXF1bzsgYmFjayJ9PC9hPgogICAgICB7L2lmfQoKICAgICAgJm5ic3A7CiAgICAgIHtnLT50ZXh0IHRleHQ9IlZpZXdpbmcgcGFnZSAlZCBvZiAlZCIgYXJnMT0kZm9ybS5saXN0LnBhZ2UgYXJnMj0kZm9ybS5saXN0Lm1heFBhZ2VzfQogICAgICAmbmJzcDsKCiAgICAgIHtpZiAoJGZvcm0ubGlzdC5wYWdlIDwgJGZvcm0ubGlzdC5tYXhQYWdlcyl9Cgk8YSBocmVmPSJ7Zy0+dXJsIGFyZzE9InZpZXc9Y29yZS5TaXRlQWRtaW4iIGFyZzI9InN1YlZpZXc9cmVnaXN0ZXIuQWRtaW5TZWxmUmVnaXN0cmF0aW9uIgoJIGFyZzM9ImZvcm1bbGlzdF1bcGFnZV09YCRmb3JtLmxpc3QubmV4dFBhZ2VgIn0iPntnLT50ZXh0IHRleHQ9Im5leHQgJnJhcXVvOyJ9PC9hPgoJJm5ic3A7Cgk8YSBocmVmPSJ7Zy0+dXJsIGFyZzE9InZpZXc9Y29yZS5TaXRlQWRtaW4iIGFyZzI9InN1YlZpZXc9cmVnaXN0ZXIuQWRtaW5TZWxmUmVnaXN0cmF0aW9uIgoJIGFyZzM9ImZvcm1bbGlzdF1bcGFnZV09YCRmb3JtLmxpc3QubWF4UGFnZXNgIn0iPntnLT50ZXh0IHRleHQ9Imxhc3QgJnJhcXVvOyJ9PC9hPgogICAgICB7L2lmfQogICAgPC9zcGFuPjwvZGl2PgogIHsvaWZ9CgogIDx0YWJsZSBjbGFzcz0iZ2JEYXRhVGFibGUiPjx0cj4KICAgIDx0aD4ge2ctPnRleHQgdGV4dD0iVXNlcm5hbWUifSA8L3RoPgogICAgPHRoPiB7Zy0+dGV4dCB0ZXh0PSJGdWxsIE5hbWUifSA8L3RoPgogICAgPHRoPiB7Zy0+dGV4dCB0ZXh0PSJFbWFpbCJ9IDwvdGg+CiAgICA8dGg+IHtnLT50ZXh0IHRleHQ9IkRhdGUifSA8L3RoPgogICAgPHRoPiB7Zy0+dGV4dCB0ZXh0PSJBY3Rpb24ifSA8L3RoPgogIDwvdHI+CgogIHtmb3JlYWNoIGZyb209JGZvcm0ubGlzdC51c2VyTmFtZXMga2V5PXVzZXJJZCBpdGVtPXVzZXJ9CiAgPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSJnYkV2ZW4sZ2JPZGQifSI+CiAgICA8dGQ+IHskdXNlci51c2VyTmFtZX0gPC90ZD4KICAgIDx0ZD4geyR1c2VyLmZ1bGxOYW1lfSA8L3RkPgogICAgPHRkPiB7JHVzZXIuZW1haWx9IDwvdGQ+CiAgICA8dGQ+IHtnLT5kYXRlIHRpbWVzdGFtcD0kdXNlci5jcmVhdGlvblRpbWVzdGFtcH0gPC90ZD4KICAgIDx0ZD4KICAgICAgPGEgaHJlZj0ie2ctPnVybCBhcmcxPSJjb250cm9sbGVyPXJlZ2lzdGVyLkFkbWluU2VsZlJlZ2lzdHJhdGlvbiIKICAgICAgIGFyZzI9ImZvcm1bYWN0aW9uXVthY3RpdmF0ZV09MSIgYXJnMz0iZm9ybVt1c2VySWRdPSR1c2VySWQifSI+e2ctPnRleHQgdGV4dD0iYWN0aXZhdGUifTwvYT4KICAgICAgJm5ic3A7CiAgICAgIDxhIGhyZWY9IntnLT51cmwgYXJnMT0iY29udHJvbGxlcj1yZWdpc3Rlci5BZG1pblNlbGZSZWdpc3RyYXRpb24iCiAgICAgICBhcmcyPSJmb3JtW2FjdGlvbl1bZGVsZXRlXT0xIiBhcmczPSJmb3JtW3VzZXJJZF09JHVzZXJJZCJ9Ij57Zy0+dGV4dCB0ZXh0PSJkZWxldGUifTwvYT4KICAgIDwvdGQ+CiAgPC90cj4KICB7L2ZvcmVhY2h9CjwvdGFibGU+CjwvZGl2Pgp7L2lmfQo=');
expand_d043147115($outputDir, 'templates/ConfirmRegistration.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0KPGRpdiBjbGFzcz0iZ2JCbG9jayBnY0JhY2tncm91bmQxIj4KICA8aDI+IHtnLT50ZXh0IHRleHQ9IkFjY291bnQgQWN0aXZhdGlvbiJ9IDwvaDI+CjwvZGl2PgoKPGRpdiBjbGFzcz0iZ2JCbG9jayI+CntpZiBpc3NldCgkZm9ybS5lcnJvci51bmtub3duVXNlcil9CiAgPGRpdiBjbGFzcz0iZ2lFcnJvciI+CiAgICB7Zy0+dGV4dCB0ZXh0PSJUaGlzIHVzZXIgY2Fubm90IGJlIGFjdGl2YXRlZC4ifQogIDwvZGl2PgogIDxwIGNsYXNzPSJnaURlc2NyaXB0aW9uIn0+CiAgICB7Zy0+dGV4dCB0ZXh0PSJUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIFVSTCB5b3UgZW50ZXJlZCBpcyBub3QgY29ycmVjdCBvciB5b3UgYWxyZWFkeSBhY3RpdmF0ZWQgdGhpcyBhY2NvdW50LiBQbGVhc2UgY2hlY2sgaWYgeW91ciBtYWlsIGNsaWVudCBicm9rZSB0aGUgbGluayBpbnRvIHNldmVyYWwgbGluZXMgYW5kIGFwcGVuZCB0aGVtIHdpdGhvdXQgc3BhY2VzLiJ9CiAgPC9wPgp7ZWxzZX0KCiAgPHAgY2xhc3M9ImdpRGVzY3JpcHRpb24ifT4KICAgIHtnLT50ZXh0IHRleHQ9IllvdXIgYWNjb3VudCBoYXMgYmVlbiBhY3RpdmF0ZWQuIn0KICA8L3A+CiAgPHAgY2xhc3M9ImdpRGVzY3JpcHRpb24ifT4KICAgICB7Zy0+dGV4dCB0ZXh0PSJZb3UgY2FuIG5vdyBsb2dpbiB0byB5b3VyIGFjY291bnQgd2l0aCB5b3VyIHVzZXJuYW1lIGFuZCBwYXNzd29yZC4ifQogIDwvcD4Key9pZn0KPC9kaXY+Cg==');
expand_d043147115($outputDir, 'templates/ConfirmationEmail.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0Ke2ctPnRleHQgdGV4dD0iSGVsbG8gJXMsIiBhcmcxPSRuYW1lfQoKe2ctPnRleHQgdGV4dD0iWW91IHJlY2VpdmUgdGhpcyBlbWFpbCBiZWNhdXNlIHlvdSBoYXZlIHJlZ2lzdGVyZWQgYXQgJXMiIGFyZzE9JGJhc2VVcmx9CntnLT50ZXh0IHRleHQ9IllvdXIgdXNlcm5hbWUgaXM6ICVzIiBhcmcxPSR1c2VybmFtZX0KCntnLT50ZXh0IHRleHQ9IlRvIGZpbmlzaCB0aGUgcmVnaXN0cmF0aW9uIHByb2Nlc3MgcGxlYXNlIGNsaWNrIHRoZSBmb2xsb3dpbmcgbGluazoifQp7JGNvbmZpcm1hdGlvblVybH0KCntnLT50ZXh0IHRleHQ9IklmIHlvdSBkaWQgbm90IHJlZ2lzdGVyIGF0IHRoaXMgc2l0ZSB0aGVuIHBsZWFzZSBpZ25vcmUgdGhpcyBlbWFpbC4gIFRoZSByZWdpc3RyYXRpb24gd2lsbCBub3QgYmVjb21lIHZhbGlkIGFuZCB5b3Ugd2lsbCBub3QgcmVjZWl2ZSBhbnkgZnVydGhlciBlbWFpbHMuICBTb3JyeSBmb3IgdGhlIGluY29udmVuaWVuY2UuIn0KCntnLT50ZXh0IHRleHQ9IlRoYW5rIHlvdSEifQo=');
expand_d043147115($outputDir, 'templates/SelfRegistrationSuccess.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0KPGRpdiBjbGFzcz0iZ2JCbG9jayBnY0JhY2tncm91bmQxIj4KICA8aDI+IHtnLT50ZXh0IHRleHQ9IlJlZ2lzdHJhdGlvbiBzdWNjZXNzZnVsIn0gPC9oMj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJnYkJsb2NrIj4Ke2lmICRTZWxmUmVnaXN0cmF0aW9uU3VjY2Vzcy5wZW5kaW5nfQogIDxoMiBjbGFzcz0iZ2lUaXRsZSI+CiAgICB7Zy0+dGV4dCB0ZXh0PSJZb3VyIHJlZ2lzdHJhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4ifQogIDwvaDI+CiAgPHAgY2xhc3M9ImdpRGVzY3JpcHRpb24iPgogICAge2lmICRTZWxmUmVnaXN0cmF0aW9uU3VjY2Vzcy5zZW50Q29uZmlybWF0aW9uRW1haWx9CiAgICAgIHtnLT50ZXh0IHRleHQ9IllvdSB3aWxsIHNob3J0bHkgcmVjZWl2ZSBhbiBlbWFpbCBjb250YWluaW5nIGEgbGluay4gWW91IGhhdmUgdG8gY2xpY2sgdGhpcyBsaW5rIHRvIGNvbmZpcm0gYW5kIGFjdGl2YXRlIHlvdXIgYWNjb3VudC4gIFRoaXMgcHJvY2VkdXJlIGlzIG5lY2Vzc2FyeSB0byBwcmV2ZW50IGFjY291bnQgYWJ1c2UuIn0KICAgIHtlbHNlfQogICAgICB7Zy0+dGV4dCB0ZXh0PSJZb3VyIHJlZ2lzdHJhdGlvbiB3aWxsIGJlIHByb2Nlc3NlZCBhbmQgeW91ciBhY2NvdW50IGFjdGl2YXRlZCBzb29uLiJ9CiAgICB7L2lmfQogIDwvcD4Ke2Vsc2V9CiAgPGgyIGNsYXNzPSJnaVRpdGxlIj4KICAgICAge2ctPnRleHQgdGV4dD0iWW91ciByZWdpc3RyYXRpb24gd2FzIHN1Y2Nlc3NmdWwgYW5kIHlvdXIgYWNjb3VudCBoYXMgYmVlbiBhY3RpdmF0ZWQuIn0KICA8L2gyPgogIDxwIGNsYXNzPSJnaURlc2NyaXB0aW9uIj4KICAgICAge2NhcHR1cmUgbmFtZT1sb2dpbkxpbmt9CiAgICAgIDxhIGhyZWY9IntnLT51cmwgYXJnMT0idmlldz1jb3JlLlVzZXJBZG1pbiIgYXJnMj0ic3ViVmlldz1jb3JlLlVzZXJMb2dpbiIgCiAgICAgICAgYXJnMz0icmV0dXJuPTEiIGZvcmNlRnVsbFVybD10cnVlfSI+CiAgICAgIHsvY2FwdHVyZX0KICAgICAge2NhcHR1cmUgbmFtZT1sb2dpbkxpbmtFbmR9CiAgICAgIDwvYT4KICAgICAgey9jYXB0dXJlfQogICAgICB7Zy0+dGV4dCB0ZXh0PSJZb3UgY2FuIG5vdyAlc2xvZ2luJXMgdG8geW91ciBhY2NvdW50IHdpdGggeW91ciB1c2VybmFtZSBhbmQgcGFzc3dvcmQuIgoJICAgICAgIGFyZzE9JHNtYXJ0eS5jYXB0dXJlLmxvZ2luTGluayBhcmcyPSRzbWFydHkuY2FwdHVyZS5sb2dpbkxpbmtFbmR9CiAgPC9wPgp7L2lmfQo8L2Rpdj4K');
expand_d043147115($outputDir, 'templates/UserSelfRegistration.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0KPGRpdiBjbGFzcz0iZ2JCbG9jayBnY0JhY2tncm91bmQxIj4KICA8aDI+IHtnLT50ZXh0IHRleHQ9IlJlZ2lzdGVyIEFzIE5ldyBVc2VyIn0gPC9oMj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJnYkJsb2NrIj4KICA8aDQ+CiAgICB7Zy0+dGV4dCB0ZXh0PSJVc2VybmFtZSJ9CiAgICA8c3BhbiBjbGFzcz0iZ2lTdWJ0aXRsZSI+IHtnLT50ZXh0IHRleHQ9IihyZXF1aXJlZCkifSA8L3NwYW4+CiAgPC9oND4KCiAgPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjMyIiBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bdXNlck5hbWVdIn0iIHZhbHVlPSJ7JGZvcm0udXNlck5hbWV9Ii8+CgogIHtpZiBpc3NldCgkZm9ybS5lcnJvci51c2VyTmFtZS5taXNzaW5nKX0KICA8ZGl2IGNsYXNzPSJnaUVycm9yIj4KICAgIHtnLT50ZXh0IHRleHQ9IllvdSBtdXN0IGVudGVyIGEgdXNlcm5hbWUifQogIDwvZGl2PgogIHsvaWZ9CiAge2lmIGlzc2V0KCRmb3JtLmVycm9yLnVzZXJOYW1lLmV4aXN0cyl9CiAgPGRpdiBjbGFzcz0iZ2lFcnJvciI+CiAgICB7Zy0+dGV4dCB0ZXh0PSJVc2VybmFtZSAnJXMnIGFscmVhZHkgZXhpc3RzIiBhcmcxPSRmb3JtLnVzZXJOYW1lfQogIDwvZGl2PgogIHsvaWZ9CgogIDxoND4KICAgIHtnLT50ZXh0IHRleHQ9IkZ1bGwgTmFtZSJ9CiAgICA8c3BhbiBjbGFzcz0iZ2lTdWJ0aXRsZSI+IHtnLT50ZXh0IHRleHQ9IihyZXF1aXJlZCkifSA8L3NwYW4+CiAgPC9oND4KCiAgPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjMyIiBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bZnVsbE5hbWVdIn0iIHZhbHVlPSJ7JGZvcm0uZnVsbE5hbWV9Ii8+CgogIHtpZiBpc3NldCgkZm9ybS5lcnJvci5mdWxsTmFtZS5taXNzaW5nKX0KICA8ZGl2IGNsYXNzPSJnaUVycm9yIj4KICAgIHtnLT50ZXh0IHRleHQ9IllvdSBtdXN0IGVudGVyIHlvdXIgZnVsbCBuYW1lIn0KICA8L2Rpdj4KICB7L2lmfQoKICA8aDQ+CiAgICB7Zy0+dGV4dCB0ZXh0PSJFbWFpbCBBZGRyZXNzIn0KICAgIDxzcGFuIGNsYXNzPSJnaVN1YnRpdGxlIj4ge2ctPnRleHQgdGV4dD0iKHJlcXVpcmVkKSJ9IDwvc3Bhbj4KICA8L2g0PgoKICA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzIiIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtlbWFpbF0ifSIgdmFsdWU9InskZm9ybS5lbWFpbH0iLz4KCiAge2lmIGlzc2V0KCRmb3JtLmVycm9yLmVtYWlsLm1pc3NpbmcpfQogIDxkaXYgY2xhc3M9ImdpRXJyb3IiPgogICAge2ctPnRleHQgdGV4dD0iWW91IG11c3QgZW50ZXIgYW4gZW1haWwgYWRkcmVzcyJ9CiAgPC9kaXY+CiAgey9pZn0KICB7aWYgaXNzZXQoJGZvcm0uZXJyb3IuZW1haWwuaW52YWxpZCl9CiAgPGRpdiBjbGFzcz0iZ2lFcnJvciI+CiAgICB7Zy0+dGV4dCB0ZXh0PSJJbnZhbGlkIGVtYWlsIGFkZHJlc3MifQogIDwvZGl2PgogIHsvaWZ9CgogIDxoND4KICAgIHtnLT50ZXh0IHRleHQ9IlBhc3N3b3JkIn0KICAgIDxzcGFuIGNsYXNzPSJnaVN1YnRpdGxlIj4ge2ctPnRleHQgdGV4dD0iKHJlcXVpcmVkKSJ9IDwvc3Bhbj4KICA8L2g0PgoKICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIHNpemU9IjMyIiBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bcGFzc3dvcmQxXSJ9Ii8+CgogIHtpZiBpc3NldCgkZm9ybS5lcnJvci5wYXNzd29yZDEubWlzc2luZyl9CiAgPGRpdiBjbGFzcz0iZ2lFcnJvciI+CiAgICB7Zy0+dGV4dCB0ZXh0PSJZb3UgbXVzdCBlbnRlciBhIHBhc3N3b3JkIn0KICA8L2Rpdj4KICB7L2lmfQoKICA8aDQ+CiAgICB7Zy0+dGV4dCB0ZXh0PSJWZXJpZnkgUGFzc3dvcmQifQogICAgPHNwYW4gY2xhc3M9ImdpU3VidGl0bGUiPiB7Zy0+dGV4dCB0ZXh0PSIocmVxdWlyZWQpIn0gPC9zcGFuPgogIDwvaDQ+CgogIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgc2l6ZT0iMzIiIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtwYXNzd29yZDJdIn0iLz4KCiAge2lmIGlzc2V0KCRmb3JtLmVycm9yLnBhc3N3b3JkMi5taXNzaW5nKX0KICA8ZGl2IGNsYXNzPSJnaUVycm9yIj4KICAgIHtnLT50ZXh0IHRleHQ9IllvdSBtdXN0IGVudGVyIHRoZSBwYXNzd29yZCBhIHNlY29uZCB0aW1lIn0KICA8L2Rpdj4KICB7L2lmfQogIHtpZiBpc3NldCgkZm9ybS5lcnJvci5wYXNzd29yZDIubWlzbWF0Y2gpfQogIDxkaXYgY2xhc3M9ImdpRXJyb3IiPgogICAge2ctPnRleHQgdGV4dD0iVGhlIHBhc3N3b3JkcyB5b3UgZW50ZXJlZCBkaWQgbm90IG1hdGNoIn0KICA8L2Rpdj4KICB7L2lmfQo8L2Rpdj4KCnsqIEluY2x1ZGUgb3VyIGV4dHJhIEl0ZW1BZGRPcHRpb25zICp9Cntmb3JlYWNoIGZyb209JFVzZXJTZWxmUmVnaXN0cmF0aW9uLnBsdWdpbnMgaXRlbT1wbHVnaW59CiAge2luY2x1ZGUgZmlsZT0iZ2FsbGVyeTpgJHBsdWdpbi5maWxlYCIgbDEwRG9tYWluPSRwbHVnaW4ubDEwRG9tYWlufQp7L2ZvcmVhY2h9Cgo8ZGl2IGNsYXNzPSJnYkJsb2NrIGdjQmFja2dyb3VuZDEiPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJpbnB1dFR5cGVTdWJtaXQiCiAgIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVthY3Rpb25dW2NyZWF0ZV0ifSIgdmFsdWU9IntnLT50ZXh0IHRleHQ9IlJlZ2lzdGVyIn0iLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0iaW5wdXRUeXBlU3VibWl0IgogICBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bYWN0aW9uXVtjYW5jZWxdIn0iIHZhbHVlPSJ7Zy0+dGV4dCB0ZXh0PSJDYW5jZWwifSIvPgo8L2Rpdj4K');
}
function expand_d043147115($outputDir, $relativePath, $data) {
$fd = fopen($outputDir . $relativePath, 'w');
fwrite($fd, base64_decode($data));
fclose($fd);
}
$unpackFunction = "unpack_d043147115";
?>