<?php
function unpack_19bff85431($outputDir) {
/* Create directory structure. */
GalleryUtilities::guaranteeDirExists($outputDir . 'classes');
GalleryUtilities::guaranteeDirExists($outputDir . 'locale');
GalleryUtilities::guaranteeDirExists($outputDir . 'po');
GalleryUtilities::guaranteeDirExists($outputDir . 'templates');
/* Recreate individual files. */
expand_19bff85431($outputDir, 'Download.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogVGhpcyB2aWV3IHNlbmRzIHRoZSB6aXAgZmlsZSBhbmQgZGVsZXRlcyB0aGUgdGVtcCBmaWxlLgogKiBAcGFja2FnZSBaaXBDYXJ0CiAqIEBhdXRob3IgQWxhbiBIYXJkZXIgPGFsYW4uaGFyZGVyQHN1bi5jb20+CiAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMTU1MTMgJAogKi8KY2xhc3MgRG93bmxvYWRWaWV3IGV4dGVuZHMgR2FsbGVyeVZpZXcgewoKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5Vmlldzo6aXNJbW1lZGlhdGUKICAgICAqLwogICAgZnVuY3Rpb24gaXNJbW1lZGlhdGUoKSB7CglyZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeVZpZXc6OnJlbmRlckltbWVkaWF0ZQogICAgICovCiAgICBmdW5jdGlvbiByZW5kZXJJbW1lZGlhdGUoJHN0YXR1cywgJGVycm9yKSB7CglnbG9iYWwgJGdhbGxlcnk7CgkkcGxhdGZvcm0gPSYgJGdhbGxlcnktPmdldFBsYXRmb3JtKCk7CgkkcGhwVm0gPSAkZ2FsbGVyeS0+Z2V0UGhwVm0oKTsKCgkkZmlsZSA9IEdhbGxlcnlVdGlsaXRpZXM6OmdldFJlcXVlc3RWYXJpYWJsZXMoJ2ZpbGUnKTsKCWlmICghZW1wdHkoJGZpbGUpKSB7CgkgICAgJGZpbGUgPSAkZ2FsbGVyeS0+Z2V0Q29uZmlnKCdkYXRhLmdhbGxlcnkudG1wJykgLiBiYXNlbmFtZSgkZmlsZSkgLiAnLnppcCc7Cgl9CgoJaWYgKCRwbGF0Zm9ybS0+aXNfcmVhZGFibGUoJGZpbGUpKSB7CgkgICAgJHNpemUgPSAkcGxhdGZvcm0tPmZpbGVzaXplKCRmaWxlKTsKCSAgICAvKiBEaXNhYmxlIG91dHB1dCBjb21wcmVzc2lvbiAoaWYgbmVjZXNzYXJ5KSBzaW5jZSBJRSBzZWVtcyB0byBoYXZlIHByb2JsZW1zIHdpdGggaXQgKi8KCSAgICBAJHBocFZtLT5pbmlfc2V0KCd6bGliLm91dHB1dF9jb21wcmVzc2lvbicsIDApOwoJICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ2FwYWNoZV9zZXRlbnYnKSkgewoJCUBhcGFjaGVfc2V0ZW52KCduby1nemlwJywgJzEnKTsKCSAgICB9CgoJICAgIC8qIHByZWcgaSBtb2RpZmllciBpcyBhZmZlY3RlZCBieSBsb2NhbGUgKi8KCSAgICAkc2VuZE11bHRpcGFydCA9ICFwcmVnX21hdGNoKCd7W01tXVtTc11bSWldW0VlXSB8W1NzXVtBYV1bRmZdW0FhXVtScl1bSWldfScsCgkJCQkJIEdhbGxlcnlVdGlsaXRpZXM6OmdldFNlcnZlclZhcignSFRUUF9VU0VSX0FHRU5UJykpOwoJICAgIGlmICgkc2VuZE11bHRpcGFydCkgewoJCS8qIFNlbmQgbXVsdGlwYXJ0IHJlcGx5OiB6aXAgKyBodG1sLXRvLXJlbG9hZCAqLwoJCSRwaHBWbS0+aGVhZGVyKCdDb250ZW50LVR5cGU6IG11bHRpcGFydC9taXhlZDsgYm91bmRhcnk9RzJaaXBDYXJ0Jyk7CgkJcHJpbnQgIi0tRzJaaXBDYXJ0XG5Db250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3ppcFxuIjsKCQlwcmludCAiQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lOyBmaWxlbmFtZT1cIkcyY2FydC56aXBcIlxuIjsKCgkJaWYgKCRzaXplID4gMCkgewoJCSAgICBwcmludCAiQ29udGVudC1MZW5ndGg6ICIgLiAkc2l6ZSAuICJcbiI7CgkJfQoJCXByaW50ICJcbiI7CgkgICAgfSBlbHNlIHsKCQkvKiBQb29yIElFNiBkb2Vzbid0IGtub3cgbXVsdGlwYXJ0Li4ganVzdCBzZW5kIHppcCAqLwoJCS8qIFNhZmFyaSBkb2Vzbid0IGdldCBmaWxlbmFtZSBpbiBtdWx0aXBhcnQgYW5kIG1heSBldmVuIGNyYXNoICovCgkJJHBocFZtLT5oZWFkZXIoJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vemlwJyk7CgkJJHBocFZtLT5oZWFkZXIoJ0NvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZTsgZmlsZW5hbWU9IkcyY2FydC56aXAiJyk7CgkJaWYgKCRzaXplID4gMCkgewoJCSAgICAkcGhwVm0tPmhlYWRlcigiQ29udGVudC1MZW5ndGg6ICRzaXplIik7CgkJfQoJICAgIH0KCgkgICAgaWYgKCRmZCA9ICRwbGF0Zm9ybS0+Zm9wZW4oJGZpbGUsICdyYicpKSB7CgkJd2hpbGUgKHRydWUpIHsKCQkgICAgJGRhdGEgPSAkcGxhdGZvcm0tPmZyZWFkKCRmZCwgNjU1MzUpOwoJCSAgICBpZiAoc3RybGVuKCRkYXRhKSA9PSAwKSB7CgkJCWJyZWFrOwoJCSAgICB9CgkJICAgIHByaW50ICRkYXRhOwoJCSAgICAkZ2FsbGVyeS0+Z3VhcmFudGVlVGltZUxpbWl0KDMwKTsKCQl9CgkJJHBsYXRmb3JtLT5mY2xvc2UoJGZkKTsKCSAgICB9CgoJICAgIEAkcGxhdGZvcm0tPnVubGluaygkZmlsZSk7CgkgICAgQCRwbGF0Zm9ybS0+dW5saW5rKHN1YnN0cigkZmlsZSwgMCwgLTQpKTsgICAvKiBSZW1vdmUgZmlsZSBjcmVhdGVkIGJ5IHRlbXBuYW0oKSB0b28gKi8KCgkgICAgaWYgKCRzZW5kTXVsdGlwYXJ0KSB7CgkJcHJpbnQgIlxuLS1HMlppcENhcnRcbkNvbnRlbnQtVHlwZTogdGV4dC9odG1sXG5QcmFnbWE6IE5vLWNhY2hlXG5cbiI7CgkJcHJpbnQgIjxodG1sPjxib2R5IG9ubG9hZD1cImxvY2F0aW9uLnJlbG9hZCgpXCI+PC9ib2R5PjwvaHRtbD5cblxuIjsKCQlwcmludCAiLS1HMlppcENhcnQtLVxuIjsKCSAgICB9Cgl9IGVsc2UgewoJICAgIC8qIE9uIHJlbG9hZCByZXR1cm4gdG8gVmlldyBDYXJ0ICovCgkgICAgJHVybEdlbmVyYXRvciA9JiAkZ2FsbGVyeS0+Z2V0VXJsR2VuZXJhdG9yKCk7CgkgICAgJHBocFZtLT5oZWFkZXIoJ0xvY2F0aW9uOiAnIC4gJHVybEdlbmVyYXRvci0+Z2VuZXJhdGVVcmwoCgkJYXJyYXkoJ3ZpZXcnID0+ICdjYXJ0LlZpZXdDYXJ0JyksIGFycmF5KCdodG1sRW50aXRpZXMnID0+IGZhbHNlKSkpOwoJfQoKCXJldHVybiBudWxsOwogICAgfQp9Cj8+Cg==');
expand_19bff85431($outputDir, 'MANIFEST', 'IyAkUmV2aXNpb246IDE2MDQxICQKIyBGaWxlIGNyYzMyIGNyYzMyKGNybGYpIHNpemUgc2l6ZShjcmxmKSAgb3IgIFIgRmlsZQptb2R1bGVzL3ppcGNhcnQvRG93bmxvYWQuaW5jCTQwMzg4MzQzNjgJMjA1NjMyMDQxMwkzNTQ3CTM2NTcKbW9kdWxlcy96aXBjYXJ0L1ppcENhcnRBZG1pbi5pbmMJMTY3Njk2NTEyCTc3MjMxMjc5OAk1MDI3CTUxOTMKbW9kdWxlcy96aXBjYXJ0L2NsYXNzZXMvWmlwQ2FydFBsdWdpbi5jbGFzcwkyMzk2MzkwOTU0CTM0NjE4OTQ4OTkJNjE2MQk2MzY5Cm1vZHVsZXMvemlwY2FydC9tb2R1bGUuaW5jCTI4OTMyOTkwMzgJMTYyOTkxMzA1Mwk0MzUyCTQ1MTIKbW9kdWxlcy96aXBjYXJ0L3RlbXBsYXRlcy9aaXBDYXJ0QWRtaW4udHBsCTM5NjA5NDMzNzcJMjYyNTExMDM0CTI5MjMJMzAwNQo=');
expand_19bff85431($outputDir, 'ZipCartAdmin.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogU2V0dGluZ3MgZm9yIFppcCBDYXJ0CiAqIEBwYWNrYWdlIFppcENhcnQKICogQHN1YnBhY2thZ2UgVXNlckludGVyZmFjZQogKiBAYXV0aG9yIEFsYW4gSGFyZGVyIDxhbGFuLmhhcmRlckBzdW4uY29tPgogKiBAdmVyc2lvbiAkUmV2aXNpb246IDE1NTEzICQKICovCmNsYXNzIFppcENhcnRBZG1pbkNvbnRyb2xsZXIgZXh0ZW5kcyBHYWxsZXJ5Q29udHJvbGxlciB7CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlDb250cm9sbGVyOjpoYW5kbGVSZXF1ZXN0CiAgICAgKi8KICAgIGZ1bmN0aW9uIGhhbmRsZVJlcXVlc3QoJGZvcm0pIHsKCWdsb2JhbCAkZ2FsbGVyeTsKCgkkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OmFzc2VydFVzZXJJc1NpdGVBZG1pbmlzdHJhdG9yKCk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCgkkZXJyb3IgPSAkc3RhdHVzID0gYXJyYXkoKTsKCWlmIChpc3NldCgkZm9ybVsnYWN0aW9uJ11bJ3NhdmUnXSkgfHwgaXNzZXQoJGZvcm1bJ2FjdGlvbiddWyd0ZXN0J10pKSB7CgkgICAgJGZvcm1bJ3BhdGgnXSA9IHRyaW0oJGZvcm1bJ3BhdGgnXSk7CgkgICAgaWYgKGVtcHR5KCRmb3JtWydwYXRoJ10pKSB7CgkJJGVycm9yW10gPSAnZm9ybVtlcnJvcl1bcGF0aF1bbWlzc2luZ10nOwoJICAgIH0KCSAgICBpZiAoZW1wdHkoJGVycm9yKSkgewoJCSRwbGF0Zm9ybSA9JiAkZ2FsbGVyeS0+Z2V0UGxhdGZvcm0oKTsKCQlpZiAoISRwbGF0Zm9ybS0+aXNSZXN0cmljdGVkQnlPcGVuQmFzZURpcigkZm9ybVsncGF0aCddKSkgewoJCSAgICBpZiAoISRwbGF0Zm9ybS0+aXNfZXhlY3V0YWJsZSgkZm9ybVsncGF0aCddKSkgewoJCQkkZXJyb3JbXSA9ICdmb3JtW2Vycm9yXVtwYXRoXVtiYWRQYXRoXSc7CgkJICAgIH0KCQl9CgkgICAgfQoJICAgIGlmIChlbXB0eSgkZXJyb3IpKSB7CgkJLyogVHJ5IHppcHBpbmcgc29tZXRoaW5nICovCgkJJHppcEJhc2UgPSAkcGxhdGZvcm0tPnRlbXBuYW0oJGdhbGxlcnktPmdldENvbmZpZygnZGF0YS5nYWxsZXJ5LnRtcCcpLCAnemlwXycpOwoJCSR6aXBGaWxlID0gJHppcEJhc2UgLiAnLnppcCc7CgkJJGdhbGxlcnktPmd1YXJhbnRlZVRpbWVMaW1pdCgzMCk7CgkJJGdhbGxlcnktPnN0YXJ0UmVjb3JkaW5nRGVidWdTbmlwcGV0KCk7CgkJaWYgKCRzdWNjZXNzID0gJHBsYXRmb3JtLT5jb3B5KF9fRklMRV9fLCAkemlwQmFzZSkpIHsKCQkgICAgbGlzdCAoJHN1Y2Nlc3MpID0KCQkJJHBsYXRmb3JtLT5leGVjKGFycmF5KGFycmF5KCRmb3JtWydwYXRoJ10sICR6aXBGaWxlLCAkemlwQmFzZSkpKTsKCQl9CgkJJGRlYnVnU25pcHBldCA9ICRnYWxsZXJ5LT5zdG9wUmVjb3JkaW5nRGVidWdTbmlwcGV0KCk7CgkJaWYgKCEkc3VjY2VzcyB8fCAhJHBsYXRmb3JtLT5maWxlX2V4aXN0cygkemlwRmlsZSkpIHsKCQkgICAgJGVycm9yW10gPSAnZm9ybVtlcnJvcl1bcGF0aF1bYmFkWmlwXSc7CgkJICAgIEdhbGxlcnlVdGlsaXRpZXM6OnB1dFJlcXVlc3RWYXJpYWJsZSgnZGVidWdTbmlwcGV0JywgJGRlYnVnU25pcHBldCk7CgkJfQoJCUAkcGxhdGZvcm0tPnVubGluaygkemlwRmlsZSk7CgkJQCRwbGF0Zm9ybS0+dW5saW5rKCR6aXBCYXNlKTsKCSAgICB9Cgl9CgoJaWYgKGlzc2V0KCRmb3JtWydhY3Rpb24nXVsnc2F2ZSddKSAmJiBlbXB0eSgkZXJyb3IpKSB7CgkgICAgJHJldCA9IEdhbGxlcnlDb3JlQXBpOjpzZXRQbHVnaW5QYXJhbWV0ZXIoJ21vZHVsZScsICd6aXBjYXJ0JywgJ3BhdGgnLCAkZm9ybVsncGF0aCddKTsKCSAgICBpZiAoJHJldCkgewoJCXJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCSAgICB9CgoJICAgIGxpc3QgKCRyZXQsICRtb2R1bGUpID0gR2FsbGVyeUNvcmVBcGk6OmxvYWRQbHVnaW4oJ21vZHVsZScsICd6aXBjYXJ0Jyk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkgICAgfQoJICAgIGxpc3QgKCRyZXQsICRpc0FjdGl2ZSkgPSAkbW9kdWxlLT5pc0FjdGl2ZSgpOwoJICAgIGlmICgkcmV0KSB7CgkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJICAgIH0KCgkgICAgJHJlZGlyZWN0Wyd2aWV3J10gPSAnY29yZS5TaXRlQWRtaW4nOwoJICAgIGlmICgkaXNBY3RpdmUpIHsKCQkkcmVkaXJlY3RbJ3N1YlZpZXcnXSA9ICd6aXBjYXJ0LlppcENhcnRBZG1pbic7CgkJJHN0YXR1c1snc2F2ZWQnXSA9IDE7CgkgICAgfSBlbHNlIHsKCQkkcmVkaXJlY3RbJ3N1YlZpZXcnXSA9ICdjb3JlLkFkbWluUGx1Z2lucyc7CgkJJHN0YXR1c1snY29uZmlndXJlZCddID0gJ3ppcGNhcnQnOwoJICAgIH0KCX0gZWxzZSBpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWydyZXNldCddKSkgewoJICAgICRyZWRpcmVjdFsndmlldyddID0gJ2NvcmUuU2l0ZUFkbWluJzsKCSAgICAkcmVkaXJlY3RbJ3N1YlZpZXcnXSA9ICd6aXBjYXJ0LlppcENhcnRBZG1pbic7Cgl9IGVsc2UgaWYgKGlzc2V0KCRmb3JtWydhY3Rpb24nXVsnY2FuY2VsJ10pKSB7CgkgICAgJHJlZGlyZWN0Wyd2aWV3J10gPSAnY29yZS5TaXRlQWRtaW4nOwoJICAgICRyZWRpcmVjdFsnc3ViVmlldyddID0gJ2NvcmUuQWRtaW5QbHVnaW5zJzsKCX0KCglpZiAoIWVtcHR5KCRyZWRpcmVjdCkpIHsKCSAgICAkcmVzdWx0c1sncmVkaXJlY3QnXSA9ICRyZWRpcmVjdDsKCX0gZWxzZSB7CgkgICAgJHJlc3VsdHNbJ2RlbGVnYXRlJ11bJ3ZpZXcnXSA9ICdjb3JlLlNpdGVBZG1pbic7CgkgICAgJHJlc3VsdHNbJ2RlbGVnYXRlJ11bJ3N1YlZpZXcnXSA9ICd6aXBjYXJ0LlppcENhcnRBZG1pbic7Cgl9CgkkcmVzdWx0c1snc3RhdHVzJ10gPSAkc3RhdHVzOwoJJHJlc3VsdHNbJ2Vycm9yJ10gPSAkZXJyb3I7CgoJcmV0dXJuIGFycmF5KG51bGwsICRyZXN1bHRzKTsKICAgIH0KfQoKLyoqCiAqIFNldHRpbmdzIGZvciBaaXAgQ2FydAogKi8KY2xhc3MgWmlwQ2FydEFkbWluVmlldyBleHRlbmRzIEdhbGxlcnlWaWV3IHsKCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeVZpZXc6OmxvYWRUZW1wbGF0ZQogICAgICovCiAgICBmdW5jdGlvbiBsb2FkVGVtcGxhdGUoJiR0ZW1wbGF0ZSwgJiRmb3JtKSB7CgkkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OmFzc2VydFVzZXJJc1NpdGVBZG1pbmlzdHJhdG9yKCk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCglpZiAoJGZvcm1bJ2Zvcm1OYW1lJ10gIT0gJ1ppcENhcnRBZG1pbicpIHsKCSAgICAkZm9ybVsnZm9ybU5hbWUnXSA9ICdaaXBDYXJ0QWRtaW4nOwoJICAgIGxpc3QgKCRyZXQsICRmb3JtWydwYXRoJ10pID0KCQkgICAgR2FsbGVyeUNvcmVBcGk6OmdldFBsdWdpblBhcmFtZXRlcignbW9kdWxlJywgJ3ppcGNhcnQnLCAncGF0aCcpOwoJICAgIGlmICgkcmV0KSB7CgkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJICAgIH0KCX0KCglpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWyd0ZXN0J10pKSB7CgkgICAgJGZvcm1bJ3Rlc3QnXSA9IGVtcHR5KCRmb3JtWydlcnJvciddKTsKCX0KCglsaXN0ICgkcmV0LCAkbW9kdWxlKSA9IEdhbGxlcnlDb3JlQXBpOjpsb2FkUGx1Z2luKCdtb2R1bGUnLCAnemlwY2FydCcpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7Cgl9CglsaXN0ICgkcmV0LCAkaXNBY3RpdmUpID0gJG1vZHVsZS0+aXNBY3RpdmUoKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoKCSRaaXBDYXJ0QWRtaW4gPSBhcnJheSgnaXNDb25maWd1cmUnID0+ICEkaXNBY3RpdmUpOwoJaWYgKGlzc2V0KCRmb3JtWydlcnJvciddWydwYXRoJ11bJ2JhZFppcCddKSA+IDApIHsKCSAgICAkWmlwQ2FydEFkbWluWydkZWJ1Z1NuaXBwZXQnXSA9IEdhbGxlcnlVdGlsaXRpZXM6OmdldFJlcXVlc3RWYXJpYWJsZXMoJ2RlYnVnU25pcHBldCcpOwoJICAgICR0ZW1wbGF0ZS0+amF2YXNjcmlwdCgnbGliL2phdmFzY3JpcHQvQmxvY2tUb2dnbGUuanMnKTsKCX0KCgkkdGVtcGxhdGUtPnNldFZhcmlhYmxlKCdaaXBDYXJ0QWRtaW4nLCAkWmlwQ2FydEFkbWluKTsKCSR0ZW1wbGF0ZS0+c2V0VmFyaWFibGUoJ2NvbnRyb2xsZXInLCAnemlwY2FydC5aaXBDYXJ0QWRtaW4nKTsKCXJldHVybiBhcnJheShudWxsLCBhcnJheSgnYm9keScgPT4gJ21vZHVsZXMvemlwY2FydC90ZW1wbGF0ZXMvWmlwQ2FydEFkbWluLnRwbCcpKTsKICAgIH0KfQo/Pgo=');
expand_19bff85431($outputDir, 'classes/ZipCartPlugin.class', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogVGhpcyBpcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgY2FydCBtb2R1bGUncyBDYXJ0UGx1Z2luSW50ZXJmYWNlXzFfMAogKiBAcGFja2FnZSBaaXBDYXJ0CiAqIEBzdWJwYWNrYWdlIENsYXNzZXMKICogQGF1dGhvciBBbGFuIEhhcmRlciA8YWxhbi5oYXJkZXJAc3VuLmNvbT4KICogQHZlcnNpb24gJFJldmlzaW9uOiAxNTUxMyAkCiAqLwpjbGFzcyBaaXBDYXJ0UGx1Z2luIGV4dGVuZHMgQ2FydFBsdWdpbkludGVyZmFjZV8xXzAgewogICAgLyoqCiAgICAgKiBAc2VlIENhcnRQbHVnaW5JbnRlcmZhY2VfMV8wOjpnZXRTdXBwb3J0ZWRJdGVtVHlwZXMKICAgICAqLwogICAgZnVuY3Rpb24gZ2V0U3VwcG9ydGVkSXRlbVR5cGVzKCkgewoJcmV0dXJuIGFycmF5KCdHYWxsZXJ5RGF0YUl0ZW0nKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgQ2FydFBsdWdpbkludGVyZmFjZV8xXzA6OmdldEFjdGlvbkRpc3BsYXlOYW1lCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldEFjdGlvbkRpc3BsYXlOYW1lKCkgewoJbGlzdCAoJHJldCwgJG1vZHVsZSkgPSBHYWxsZXJ5Q29yZUFwaTo6bG9hZFBsdWdpbignbW9kdWxlJywgJ3ppcGNhcnQnKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoKCSRhY3Rpb24gPSAkbW9kdWxlLT50cmFuc2xhdGUoJ0Rvd25sb2FkIGluIFppcCcpOwoKCXJldHVybiBhcnJheShudWxsLCAkYWN0aW9uKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgQ2FydFBsdWdpbkludGVyZmFjZV8xXzA6OmZ1bGZpbGxDYXJ0CiAgICAgKi8KICAgIGZ1bmN0aW9uIGZ1bGZpbGxDYXJ0KCRjYXJ0SXRlbUlkcykgewoJZ2xvYmFsICRnYWxsZXJ5OwoJJHBsYXRmb3JtID0mICRnYWxsZXJ5LT5nZXRQbGF0Zm9ybSgpOwoJJHNsYXNoID0gJHBsYXRmb3JtLT5nZXREaXJlY3RvcnlTZXBhcmF0b3IoKTsKCSR6aXBCYXNlID0gJHBsYXRmb3JtLT50ZW1wbmFtKCRnYWxsZXJ5LT5nZXRDb25maWcoJ2RhdGEuZ2FsbGVyeS50bXAnKSwgJ3ppcF8nKTsKCSR6aXBEaXIgPSAkemlwQmFzZSAuICcuZGlyJzsKCSR6aXBGaWxlID0gJHppcEJhc2UgLiAnLnppcCc7CglsaXN0ICgkc3VjY2VzcykgPSBHYWxsZXJ5VXRpbGl0aWVzOjpndWFyYW50ZWVEaXJFeGlzdHMoJHppcERpcik7CglpZiAoISRzdWNjZXNzKSB7CgkgICAgcmV0dXJuIGFycmF5KEdhbGxlcnlDb3JlQXBpOjplcnJvcihFUlJPUl9QTEFURk9STV9GQUlMVVJFKSwgbnVsbCk7Cgl9CglsaXN0ICgkcmV0LCAkemlwKSA9IEdhbGxlcnlDb3JlQXBpOjpnZXRQbHVnaW5QYXJhbWV0ZXIoJ21vZHVsZScsICd6aXBjYXJ0JywgJ3BhdGgnKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoKCSRpdGVtSWRzID0gYXJyYXlfa2V5cygkY2FydEl0ZW1JZHMpOwoJbGlzdCAoJHJldCwgJGl0ZW1zKSA9IEdhbGxlcnlDb3JlQXBpOjpsb2FkRW50aXRpZXNCeUlkKCRpdGVtSWRzKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoJbGlzdCAoJHJldCwgJHByZWZlcnJlZHMpID0gR2FsbGVyeUNvcmVBcGk6OmZldGNoUHJlZmVycmVkc0J5SXRlbUlkcygkaXRlbUlkcyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCWxpc3QgKCRyZXQsICRyZXNpemVzKSA9IEdhbGxlcnlDb3JlQXBpOjpmZXRjaFJlc2l6ZXNCeUl0ZW1JZHMoJGl0ZW1JZHMpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7Cgl9CglsaXN0ICgkcmV0LCAkdGh1bWJuYWlscykgPSBHYWxsZXJ5Q29yZUFwaTo6ZmV0Y2hUaHVtYm5haWxzQnlJdGVtSWRzKCRpdGVtSWRzKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoJJHJldCA9IEdhbGxlcnlDb3JlQXBpOjpzdHVkeVBlcm1pc3Npb25zKCRpdGVtSWRzKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoKCSR0bXBEaXJzID0gYXJyYXkoKTsKCSR0bXBGaWxlcyA9IGFycmF5KCk7CgkkY21kID0gYXJyYXkoJHppcCwgJHppcEZpbGUpOwoJJGFsYnVtRGlyID0gJGdhbGxlcnktPmdldENvbmZpZygnZGF0YS5nYWxsZXJ5LmFsYnVtcycpOwoJJGkgPSAwOwoJZm9yZWFjaCAoJGl0ZW1zIGFzICRpdGVtKSB7CgkgICAgaWYgKCRpKysgJSA1MCkgewoJCSRnYWxsZXJ5LT5ndWFyYW50ZWVUaW1lTGltaXQoMzApOwoJICAgIH0KCSAgICBsaXN0ICgkcmV0LCAkcGF0aCkgPSAkaXRlbS0+ZmV0Y2hQYXRoKCk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkgICAgfQoJICAgICRyZWxhdGl2ZVBhdGggPSAoc3RycG9zKCRwYXRoLCAkYWxidW1EaXIpID09PSAwKSA/CgkJCQlzdWJzdHIoJHBhdGgsIHN0cmxlbigkYWxidW1EaXIpKSA6IGJhc2VuYW1lKCRwYXRoKTsKCgkgICAgJGl0ZW1JZCA9ICRpdGVtLT5nZXRJZCgpOwoJICAgICRpdGVtTWltZVR5cGUgPSAkaXRlbS0+Z2V0TWltZVR5cGUoKTsKCSAgICBsaXN0ICgkcmV0LCAkcGVybWlzc2lvbnMpID0gR2FsbGVyeUNvcmVBcGk6OmdldFBlcm1pc3Npb25zKCRpdGVtSWQpOwoJICAgIGlmICgkcmV0KSB7CgkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJICAgIH0KCgkgICAgaWYgKGlzc2V0KCRwZXJtaXNzaW9uc1snY29yZS52aWV3U291cmNlJ10pKSB7CgkJaWYgKGlzc2V0KCRwcmVmZXJyZWRzWyRpdGVtSWRdKSkgewoJCSAgICAkaXRlbSA9ICRwcmVmZXJyZWRzWyRpdGVtSWRdOwoJCX0KCSAgICB9IGVsc2UgaWYgKGlzc2V0KCRwZXJtaXNzaW9uc1snY29yZS52aWV3UmVzaXplcyddKSAmJiAhZW1wdHkoJHJlc2l6ZXNbJGl0ZW1JZF0pKSB7CgkJJG1heFNpemUgPSBudWxsOwoJCWZvcmVhY2ggKCRyZXNpemVzWyRpdGVtSWRdIGFzICRyZXNpemUpIHsKCQkgICAgJHNpemUgPSAkcmVzaXplLT5nZXREZXJpdmF0aXZlU2l6ZSgpOwoJCSAgICBpZiAoIWlzc2V0KCRtYXhTaXplKSB8fCAkc2l6ZSA+ICRtYXhTaXplKSB7CgkJCSRpdGVtID0gJHJlc2l6ZTsKCQkJJG1heFNpemUgPSAkc2l6ZTsKCQkgICAgfQoJCX0KCSAgICB9IGVsc2UgaWYgKGlzc2V0KCR0aHVtYm5haWxzWyRpdGVtSWRdKSkgewoJCSRpdGVtID0gJHRodW1ibmFpbHNbJGl0ZW1JZF07CgkgICAgfSBlbHNlIHsKCQkkaXRlbSA9IG51bGw7CgkgICAgfQoKCSAgICBpZiAoIWlzc2V0KCRpdGVtKSkgewoJCS8qIE5vdGhpbmcgdG8gZG93bmxvYWQgZm9yIHRoaXMgaXRlbSEgKi8KCQljb250aW51ZTsKCSAgICB9CgoJICAgIGlmIChHYWxsZXJ5VXRpbGl0aWVzOjppc0EoJGl0ZW0sICdHYWxsZXJ5RGVyaXZhdGl2ZScpKSB7CgkJbGlzdCAoJHJldCwgJGl0ZW0pID0KCQkgICAgR2FsbGVyeUNvcmVBcGk6OnJlYnVpbGREZXJpdmF0aXZlQ2FjaGVJZk5vdEN1cnJlbnQoJGl0ZW0tPmdldElkKCkpOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQl9CgkJLyogQnVnIDE0NjI5ODQ6IE1ha2Ugc3VyZSB3ZSB1c2UgdGhlIHJpZ2h0IGV4dGVuc2lvbiAqLwoJCSRkZXJpdmF0aXZlTWltZVR5cGUgPSAkaXRlbS0+Z2V0TWltZVR5cGUoKTsKCQlpZiAoJGRlcml2YXRpdmVNaW1lVHlwZSAhPSAkaXRlbU1pbWVUeXBlKSB7CgkJICAgIGxpc3QgKCRyZXQsICRtaW1lRXh0ZW5zaW9ucykgPQoJCQlHYWxsZXJ5Q29yZUFwaTo6Y29udmVydE1pbWVUb0V4dGVuc2lvbnMoJGRlcml2YXRpdmVNaW1lVHlwZSk7CgkJICAgIGlmICgkcmV0KSB7CgkJCXJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQkgICAgfQoJCSAgICBpZiAoIWVtcHR5KCRtaW1lRXh0ZW5zaW9ucykpIHsKCQkJJGJhc2UgPSBHYWxsZXJ5VXRpbGl0aWVzOjpnZXRGaWxlQmFzZSgkcmVsYXRpdmVQYXRoKTsKCQkJJHJlbGF0aXZlUGF0aCA9ICRiYXNlIC4gJy4nIC4gJG1pbWVFeHRlbnNpb25zWzBdOwoJCSAgICB9CgkJfQoJICAgIH0KCgkgICAgbGlzdCAoJHJldCwgJHBhdGgpID0gJGl0ZW0tPmZldGNoUGF0aCgpOwoJICAgIGlmICgkcmV0KSB7CgkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJICAgIH0KCgkgICAgLyogQ29weSBmaWxlIGludG8gdGVtcCBkaXIgd2l0aCByaWdodCBzdWJkaXIvZmlsZW5hbWUgKi8KCSAgICAkdGFyZ2V0ID0gJHppcERpciAuICRzbGFzaCAuICRyZWxhdGl2ZVBhdGg7CgkgICAgbGlzdCAoJHN1Y2Nlc3MsICRjcmVhdGVkKSA9IEdhbGxlcnlVdGlsaXRpZXM6Omd1YXJhbnRlZURpckV4aXN0cyhkaXJuYW1lKCR0YXJnZXQpKTsKCSAgICBpZiAoISRzdWNjZXNzKSB7CgkJcmV0dXJuIGFycmF5KEdhbGxlcnlDb3JlQXBpOjplcnJvcihFUlJPUl9QTEFURk9STV9GQUlMVVJFKSwKCQkJICAgICBudWxsKTsKCSAgICB9CgkgICAgJHRtcERpcnMgPSBhcnJheV9tZXJnZSgkdG1wRGlycywgJGNyZWF0ZWQpOwoJICAgIGlmICghJHBsYXRmb3JtLT5jb3B5KCRwYXRoLCAkdGFyZ2V0KSkgewoJCXJldHVybiBhcnJheShHYWxsZXJ5Q29yZUFwaTo6ZXJyb3IoRVJST1JfUExBVEZPUk1fRkFJTFVSRSksCgkJCSAgICAgbnVsbCk7CgkgICAgfQoJICAgICR0bXBGaWxlc1tdID0gJHRhcmdldDsKCSAgICAkY21kW10gPSAkcmVsYXRpdmVQYXRoOwoJfQoKCSRjd2QgPSAkcGxhdGZvcm0tPmdldGN3ZCgpOwoJaWYgKCEkcGxhdGZvcm0tPmNoZGlyKCR6aXBEaXIpKSB7CgkgICAgcmV0dXJuIGFycmF5KEdhbGxlcnlDb3JlQXBpOjplcnJvcihFUlJPUl9QTEFURk9STV9GQUlMVVJFKSwgbnVsbCk7Cgl9CgkkZ2FsbGVyeS0+Z3VhcmFudGVlVGltZUxpbWl0KDYwKTsKCWxpc3QgKCRzdWNjZXNzKSA9ICRwbGF0Zm9ybS0+ZXhlYyhhcnJheSgkY21kKSk7CglpZiAoIWVtcHR5KCRjd2QpKSB7CgkgICAgQCRwbGF0Zm9ybS0+Y2hkaXIoJGN3ZCk7Cgl9CgoJZm9yZWFjaCAoJHRtcEZpbGVzIGFzICRwYXRoKSB7CgkgICAgQCRwbGF0Zm9ybS0+dW5saW5rKCRwYXRoKTsKCX0KCWZvcmVhY2ggKGFycmF5X3JldmVyc2UoJHRtcERpcnMpIGFzICRwYXRoKSB7CgkgICAgQCRwbGF0Zm9ybS0+cm1kaXIoJHBhdGgpOwoJfQoJQCRwbGF0Zm9ybS0+cm1kaXIoJHppcERpcik7CgoJaWYgKCEkc3VjY2VzcykgewoJICAgIEAkcGxhdGZvcm0tPnVubGluaygkemlwQmFzZSk7CgkgICAgcmV0dXJuIGFycmF5KEdhbGxlcnlDb3JlQXBpOjplcnJvcihFUlJPUl9QTEFURk9STV9GQUlMVVJFKSwgbnVsbCk7Cgl9CgkkcGxhdGZvcm0tPmNobW9kKCR6aXBGaWxlKTsKCglyZXR1cm4gYXJyYXkobnVsbCwKCQkgICAgIGFycmF5KCd2aWV3JyA9PiAnemlwY2FydC5Eb3dubG9hZCcsICdmaWxlJyA9PiBiYXNlbmFtZSgkemlwQmFzZSkpKTsKICAgIH0KfQo/Pgo=');
expand_19bff85431($outputDir, 'module.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA3IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogQ2FydCBwbHVnaW4gdG8gZG93bmxvYWQgYWxsIGltYWdlcyBpbiBhIHppcCBmaWxlCiAqCiAqIEBwYWNrYWdlIFppcENhcnQKICogQGF1dGhvciBBbGFuIEhhcmRlciA8YWxhbi5oYXJkZXJAc3VuLmNvbT4KICogQHZlcnNpb24gJFJldmlzaW9uOiAxNjAzNCAkCiAqLwpjbGFzcyBaaXBDYXJ0TW9kdWxlIGV4dGVuZHMgR2FsbGVyeU1vZHVsZSB7CgogICAgZnVuY3Rpb24gWmlwQ2FydE1vZHVsZSgpIHsKCWdsb2JhbCAkZ2FsbGVyeTsKCgkkdGhpcy0+c2V0SWQoJ3ppcGNhcnQnKTsKCSR0aGlzLT5zZXROYW1lKCRnYWxsZXJ5LT5pMThuKCdaaXAgRG93bmxvYWQnKSk7CgkkdGhpcy0+c2V0RGVzY3JpcHRpb24oJGdhbGxlcnktPmkxOG4oJ0Rvd25sb2FkIGNhcnQgaXRlbXMgaW4gYSB6aXAgZmlsZScpKTsKCSR0aGlzLT5zZXRWZXJzaW9uKCcxLjAuOCcpOwoJJHRoaXMtPnNldEdyb3VwKCdjb21tZXJjZScsICRnYWxsZXJ5LT5pMThuKCdDb21tZXJjZScpKTsKCSR0aGlzLT5zZXRDYWxsYmFja3MoJ2dldFNpdGVBZG1pblZpZXdzJyk7CgkkdGhpcy0+c2V0UmVxdWlyZWRDb3JlQXBpKGFycmF5KDcsIDQpKTsKCSR0aGlzLT5zZXRSZXF1aXJlZE1vZHVsZUFwaShhcnJheSgzLCAwKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlNb2R1bGU6OnBlcmZvcm1GYWN0b3J5UmVnaXN0cmF0aW9ucwogICAgICovCiAgICBmdW5jdGlvbiBwZXJmb3JtRmFjdG9yeVJlZ2lzdHJhdGlvbnMoKSB7CgkvKiBSZWdpc3RlciBvdXIgY2FydCBwbHVnaW4gKi8KCSRyZXQgPSBHYWxsZXJ5Q29yZUFwaTo6cmVnaXN0ZXJGYWN0b3J5SW1wbGVtZW50YXRpb24oCgkgICAgJ0NhcnRQbHVnaW5JbnRlcmZhY2VfMV8wJywgJ1ppcENhcnRQbHVnaW4nLCAnemlwY2FydCcsCgkgICAgJ21vZHVsZXMvemlwY2FydC9jbGFzc2VzL1ppcENhcnRQbHVnaW4uY2xhc3MnLCAnemlwY2FydCcsIG51bGwpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gJHJldDsKCX0KCglyZXR1cm4gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeU1vZHVsZTo6bmVlZHNDb25maWd1cmF0aW9uCiAgICAgKi8KICAgIGZ1bmN0aW9uIG5lZWRzQ29uZmlndXJhdGlvbigpIHsKCWxpc3QgKCRyZXQsICR2YWx1ZSkgPSAkdGhpcy0+Z2V0UGFyYW1ldGVyKCdwYXRoJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCglyZXR1cm4gYXJyYXkobnVsbCwgZW1wdHkoJHZhbHVlKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlNb2R1bGU6OmF1dG9Db25maWd1cmUKICAgICAqLwogICAgZnVuY3Rpb24gYXV0b0NvbmZpZ3VyZSgpIHsKCWdsb2JhbCAkZ2FsbGVyeTsKCglsaXN0ICgkcmV0LCAkbmVlZHNDb25maWd1cmF0aW9uKSA9ICR0aGlzLT5uZWVkc0NvbmZpZ3VyYXRpb24oKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIGZhbHNlKTsKCX0KCWlmICghJG5lZWRzQ29uZmlndXJhdGlvbikgewoJICAgIHJldHVybiBhcnJheShudWxsLCB0cnVlKTsKCX0KCgkvKiBUcnkgYSBidW5jaCBvZiBsaWtlbHkgc2VlbWluZyBwYXRocyB0byBzZWUgaWYgYW55IG9mIHRoZW0gd29yay4gKi8KCSRwbGF0Zm9ybSA9JiAkZ2FsbGVyeS0+Z2V0UGxhdGZvcm0oKTsKCSRzbGFzaCA9ICRwbGF0Zm9ybS0+Z2V0RGlyZWN0b3J5U2VwYXJhdG9yKCk7CgoJLyoKCSAqIFN0YXJ0IHdpdGggc3lzdGVtIHBhdGhzLiAgVGFjayBvbiBhIHRyYWlsaW5nIHNsYXNoIGlmIG5lY2Vzc2FyeSwKCSAqIHRoZW4gdGFjayBvbiBvdGhlciBsaWtlbHkgcGF0aHMsIGJhc2VkIG9uIG91ciBPUwoJICovCgkkcGF0aHMgPSBhcnJheSgpOwoJaWYgKEdhbGxlcnlVdGlsaXRpZXM6OmlzQSgkcGxhdGZvcm0sICdXaW5OdFBsYXRmb3JtJykpIHsKCSAgICBmb3JlYWNoIChleHBsb2RlKCc7JywgZ2V0ZW52KCdQQVRIJykpIGFzICRwYXRoKSB7CgkJJHBhdGggPSB0cmltKCRwYXRoKTsKCQlpZiAoZW1wdHkoJHBhdGgpKSB7CgkJICAgIGNvbnRpbnVlOwoJCX0KCQlpZiAoJHBhdGh7c3RybGVuKCRwYXRoKS0xfSAhPSAkc2xhc2gpIHsKCQkgICAgJHBhdGggLj0gJHNsYXNoOwoJCX0KCQkkcGF0aHNbXSA9ICRwYXRoIC4gJ3ppcC5leGUnOwoJICAgIH0KCgkgICAgJHBhdGhzW10gPSAnQzpcXFByb2dyYW0gRmlsZXNcXFppcFxcemlwLmV4ZSc7CgkgICAgJHBhdGhzW10gPSAnQzpcXGFwcHNcWmlwXFx6aXAuZXhlJzsKCSAgICAkcGF0aHNbXSA9ICdDOlxcWmlwXFx6aXAuZXhlJzsKCSAgICAkcGF0aHNbXSA9ICdDOlxcY3lnd2luXFxiaW5cXHppcC5leGUnOwoJfSBlbHNlIGlmIChHYWxsZXJ5VXRpbGl0aWVzOjppc0EoJHBsYXRmb3JtLCAnVW5peFBsYXRmb3JtJykpIHsKCSAgICBmb3JlYWNoIChleHBsb2RlKCc6JywgZ2V0ZW52KCdQQVRIJykpIGFzICRwYXRoKSB7CgkJJHBhdGggPSB0cmltKCRwYXRoKTsKCQlpZiAoZW1wdHkoJHBhdGgpKSB7CgkJICAgIGNvbnRpbnVlOwoJCX0KCQlpZiAoJHBhdGh7c3RybGVuKCRwYXRoKS0xfSAhPSAkc2xhc2gpIHsKCQkgICAgJHBhdGggLj0gJHNsYXNoOwoJCX0KCQkkcGF0aHNbXSA9ICRwYXRoIC4gJ3ppcCc7CgkgICAgfQoKCSAgICAkcGF0aHNbXSA9ICcvdXNyL2Jpbi96aXAnOwoJICAgICRwYXRoc1tdID0gJy91c3IvbG9jYWwvYmluL3ppcCc7CgkgICAgJHBhdGhzW10gPSAnL2Jpbi96aXAnOwoJICAgICRwYXRoc1tdID0gJy9zdy9iaW4vemlwJzsKCX0gZWxzZSB7CgkgICAgcmV0dXJuIGFycmF5KG51bGwsIGZhbHNlKTsKCX0KCgkvKiBOb3cgdHJ5IGVhY2ggcGF0aCBpbiB0dXJuIHRvIHNlZSB3aGljaCBvbmVzIHdvcmsgKi8KCWZvcmVhY2ggKCRwYXRocyBhcyAkcGF0aCkgewoJICAgIGlmICghJHBsYXRmb3JtLT5pc1Jlc3RyaWN0ZWRCeU9wZW5CYXNlRGlyKCRwYXRoKSAmJiAkcGxhdGZvcm0tPmlzX2V4ZWN1dGFibGUoJHBhdGgpKSB7CgkJLyogV2UgaGF2ZSBhIHdpbm5lciAqLwoJCSRyZXQgPSAkdGhpcy0+c2V0UGFyYW1ldGVyKCdwYXRoJywgJHBhdGgpOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiBhcnJheSgkcmV0LCBmYWxzZSk7CgkJfQoJCXJldHVybiBhcnJheShudWxsLCB0cnVlKTsKCSAgICB9Cgl9CgoJcmV0dXJuIGFycmF5KG51bGwsIGZhbHNlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeU1vZHVsZTo6Z2V0U2l0ZUFkbWluVmlld3MKICAgICAqLwogICAgZnVuY3Rpb24gZ2V0U2l0ZUFkbWluVmlld3MoKSB7CglyZXR1cm4gYXJyYXkobnVsbCwKCQkgICAgIGFycmF5KGFycmF5KCduYW1lJyA9PiAkdGhpcy0+dHJhbnNsYXRlKCdaaXAgRG93bmxvYWQnKSwKCQkJCSAndmlldycgPT4gJ3ppcGNhcnQuWmlwQ2FydEFkbWluJykpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeU1vZHVsZTo6Z2V0Q29uZmlndXJhdGlvblZpZXcKICAgICAqLwogICAgZnVuY3Rpb24gZ2V0Q29uZmlndXJhdGlvblZpZXcoKSB7CglyZXR1cm4gJ3ppcGNhcnQuWmlwQ2FydEFkbWluJzsKICAgIH0KfQo/Pgo=');
expand_19bff85431($outputDir, 'po/GNUmakefile', 'R0FMTEVSWURJUiA/PSAuLi8uLi8uLgpUT09MRElSID89ICQoR0FMTEVSWURJUikvbGliL3Rvb2xzCgppbmNsdWRlICQoVE9PTERJUikvcG8vR05VbWFrZWZpbGUuaW5jCgo=');
expand_19bff85431($outputDir, 'po/strings.raw', 'IyAkSWQ6IHN0cmluZ3MucmF3IDE1MzQyIDIwMDYtMTItMDEgMjE6MTQ6NDZaIGFuZHlfc3QgJAoKLyogbW9kdWxlLmluYyAqLwpnZXR0ZXh0KCJaaXAgRG93bmxvYWQiKQpnZXR0ZXh0KCJEb3dubG9hZCBjYXJ0IGl0ZW1zIGluIGEgemlwIGZpbGUiKQpnZXR0ZXh0KCJDb21tZXJjZSIpCgovKiBjbGFzc2VzL1ppcENhcnRQbHVnaW4uY2xhc3MgKi8KZ2V0dGV4dCgiRG93bmxvYWQgaW4gWmlwIikKCi8qIHRlbXBsYXRlcy9aaXBDYXJ0QWRtaW4udHBsICovCmdldHRleHQoIlppcCBEb3dubG9hZCBTZXR0aW5ncyIpCmdldHRleHQoIlNldHRpbmdzIHNhdmVkIHN1Y2Nlc3NmdWxseSIpCmdldHRleHQoIkVudGVyIGZ1bGwgcGF0aCB0byB0aGUgemlwIGV4ZWN1dGFibGUuIikKZ2V0dGV4dCgiWmlwIFBhdGg6IikKZ2V0dGV4dCgiWW91IG11c3QgZW50ZXIgYSBwYXRoIHRvIHlvdXIgemlwIGJpbmFyeSIpCmdldHRleHQoIlRoZSBwYXRoIHlvdSBlbnRlcmVkIGlzbid0IHZhbGlkIG9yIGlzbid0IGV4ZWN1dGFibGUiKQpnZXR0ZXh0KCJVbmFibGUgdG8gY3JlYXRlIGEgemlwIGZpbGUgZnJvbSB0aGlzIGJpbmFyeSIpCmdldHRleHQoIlRoZSBwYXRoIHlvdSBlbnRlcmVkIGlzIHZhbGlkIikKZ2V0dGV4dCgiRGVidWcgb3V0cHV0IikKZ2V0dGV4dCgiV2UgZ2F0aGVyZWQgdGhpcyBkZWJ1ZyBvdXRwdXQgd2hpbGUgdGVzdGluZyB5b3VyIHppcCBpbnN0YWxsYXRpb24uICBJZiB5b3UgcmVhZCB0aHJvdWdoIHRoaXMgY2FyZWZ1bGx5IHlvdSBtYXkgZGlzY292ZXIgdGhlIHJlYXNvbiB3aHkgaXQgZmFpbGVkIG91ciB0ZXN0cy4iKQpnZXR0ZXh0KCJTYXZlIFNldHRpbmdzIikKZ2V0dGV4dCgiVGVzdCBTZXR0aW5ncyIpCmdldHRleHQoIkNhbmNlbCIpCmdldHRleHQoIlJlc2V0IikK');
expand_19bff85431($outputDir, 'templates/ZipCartAdmin.tpl', 'eyoKICogJFJldmlzaW9uOiAxNTM0MiAkCiAqIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB0aGlzIGZpbGUsIGRvIG5vdCBlZGl0IGl0IGRpcmVjdGx5IHNpbmNlIGZ1dHVyZSB1cGdyYWRlcwogKiBtYXkgb3ZlcndyaXRlIGl0LiAgSW5zdGVhZCwgY29weSBpdCBpbnRvIGEgbmV3IGRpcmVjdG9yeSBjYWxsZWQgImxvY2FsIiBhbmQgZWRpdCB0aGF0CiAqIHZlcnNpb24uICBHYWxsZXJ5IHdpbGwgbG9vayBmb3IgdGhhdCBmaWxlIGZpcnN0IGFuZCB1c2UgaXQgaWYgaXQgZXhpc3RzLgogKn0KPGRpdiBjbGFzcz0iZ2JCbG9jayBnY0JhY2tncm91bmQxIj4KICA8aDI+IHtnLT50ZXh0IHRleHQ9IlppcCBEb3dubG9hZCBTZXR0aW5ncyJ9IDwvaDI+CjwvZGl2PgoKe2lmIGlzc2V0KCRzdGF0dXMuc2F2ZWQpfQo8ZGl2IGNsYXNzPSJnYkJsb2NrIj48aDIgY2xhc3M9ImdpU3VjY2VzcyI+CiAge2ctPnRleHQgdGV4dD0iU2V0dGluZ3Mgc2F2ZWQgc3VjY2Vzc2Z1bGx5In0KPC9oMj48L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9ImdiQmxvY2siPgogIDxwIGNsYXNzPSJnaURlc2NyaXB0aW9uIj4KICAgIHtnLT50ZXh0IHRleHQ9IkVudGVyIGZ1bGwgcGF0aCB0byB0aGUgemlwIGV4ZWN1dGFibGUuIn0KICA8L3A+CgogIHtnLT50ZXh0IHRleHQ9IlppcCBQYXRoOiJ9CiAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJnaUZvcm1QYXRoIiBzaXplPSI0MCIgYXV0b2NvbXBsZXRlPSJvZmYiCiAgIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtwYXRoXSJ9IiB2YWx1ZT0ieyRmb3JtLnBhdGh9Ii8+CiAge2ctPmF1dG9Db21wbGV0ZSBlbGVtZW50PSJnaUZvcm1QYXRoIn0KICAgIHtnLT51cmwgYXJnMT0idmlldz1jb3JlLlNpbXBsZUNhbGxiYWNrIiBhcmcyPSJjb21tYW5kPWxvb2t1cEZpbGVzIgoJICAgIGFyZzM9InByZWZpeD1fX1ZBTFVFX18iIGh0bWxFbnRpdGllcz1mYWxzZX0KICB7L2ctPmF1dG9Db21wbGV0ZX0KCiAge2lmIGlzc2V0KCRmb3JtLmVycm9yLnBhdGgubWlzc2luZyl9CiAgPGRpdiBjbGFzcz0iZ2lFcnJvciI+CiAgICB7Zy0+dGV4dCB0ZXh0PSJZb3UgbXVzdCBlbnRlciBhIHBhdGggdG8geW91ciB6aXAgYmluYXJ5In0KICA8L2Rpdj4KICB7L2lmfQogIHtpZiBpc3NldCgkZm9ybS5lcnJvci5wYXRoLmJhZFBhdGgpfQogIDxkaXYgY2xhc3M9ImdpRXJyb3IiPgogICAge2ctPnRleHQgdGV4dD0iVGhlIHBhdGggeW91IGVudGVyZWQgaXNuJ3QgdmFsaWQgb3IgaXNuJ3QgZXhlY3V0YWJsZSJ9CiAgPC9kaXY+CiAgey9pZn0KICB7aWYgaXNzZXQoJGZvcm0uZXJyb3IucGF0aC5iYWRaaXApfQogIDxkaXYgY2xhc3M9ImdpRXJyb3IiPgogICAge2ctPnRleHQgdGV4dD0iVW5hYmxlIHRvIGNyZWF0ZSBhIHppcCBmaWxlIGZyb20gdGhpcyBiaW5hcnkifQogIDwvZGl2PgogIHsvaWZ9CiAge2lmIGlzc2V0KCRmb3JtLnRlc3QpICYmICRmb3JtLnRlc3R9CiAgPGRpdiBjbGFzcz0iZ2lTdWNjZXNzIj4KICAgIHtnLT50ZXh0IHRleHQ9IlRoZSBwYXRoIHlvdSBlbnRlcmVkIGlzIHZhbGlkIn0KICA8L2Rpdj4KICB7L2lmfQo8L2Rpdj4KCntpZiBpc3NldCgkZm9ybS5lcnJvci5wYXRoLmJhZFppcCl9CjxkaXYgY2xhc3M9ImdiQmxvY2siPgogIDxoMz4KICAgIHtnLT50ZXh0IHRleHQ9IkRlYnVnIG91dHB1dCJ9CiAgICA8c3BhbiBpZD0iWmlwQ2FydEFkbWluX3RyYWNlLXRvZ2dsZSIKICAgICBjbGFzcz0iZ2lCbG9ja1RvZ2dsZSBnY0JhY2tncm91bmQxIGdjQm9yZGVyMiIgc3R5bGU9ImJvcmRlci13aWR0aDogMXB4IgogICAgIG9uY2xpY2s9IkJsb2NrVG9nZ2xlKCdaaXBDYXJ0QWRtaW5fZGVidWdTbmlwcGV0JywgJ1ppcENhcnRBZG1pbl90cmFjZS10b2dnbGUnKSI+Kzwvc3Bhbj4KICA8L2gzPgogIDxwIGNsYXNzPSJnaURlc2NyaXB0aW9uIj4KICAgIHtnLT50ZXh0IHRleHQ9IldlIGdhdGhlcmVkIHRoaXMgZGVidWcgb3V0cHV0IHdoaWxlIHRlc3RpbmcgeW91ciB6aXAgaW5zdGFsbGF0aW9uLiAgSWYgeW91IHJlYWQgdGhyb3VnaCB0aGlzIGNhcmVmdWxseSB5b3UgbWF5IGRpc2NvdmVyIHRoZSByZWFzb24gd2h5IGl0IGZhaWxlZCBvdXIgdGVzdHMuIn0KICA8L3A+CiAgPHByZSBpZD0iWmlwQ2FydEFkbWluX2RlYnVnU25pcHBldCIgY2xhc3M9ImdjQmFja2dyb3VuZDEgZ2NCb3JkZXIyIgogICBzdHlsZT0iZGlzcGxheTogbm9uZTsgYm9yZGVyLXdpZHRoOiAxcHg7IGJvcmRlci1zdHlsZTogZG90dGVkOyBwYWRkaW5nOiA0cHgiPgogICAgeyRaaXBDYXJ0QWRtaW4uZGVidWdTbmlwcGV0fQogIDwvcHJlPgo8L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9ImdiQmxvY2sgZ2NCYWNrZ3JvdW5kMSI+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9ImlucHV0VHlwZVN1Ym1pdCIKICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2FjdGlvbl1bc2F2ZV0ifSIgdmFsdWU9IntnLT50ZXh0IHRleHQ9IlNhdmUgU2V0dGluZ3MifSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJpbnB1dFR5cGVTdWJtaXQiCiAgIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVthY3Rpb25dW3Rlc3RdIn0iIHZhbHVlPSJ7Zy0+dGV4dCB0ZXh0PSJUZXN0IFNldHRpbmdzIn0iLz4KICB7aWYgJFppcENhcnRBZG1pbi5pc0NvbmZpZ3VyZX0KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJpbnB1dFR5cGVTdWJtaXQiCiAgICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2FjdGlvbl1bY2FuY2VsXSJ9IiB2YWx1ZT0ie2ctPnRleHQgdGV4dD0iQ2FuY2VsIn0iLz4KICB7ZWxzZX0KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJpbnB1dFR5cGVTdWJtaXQiCiAgICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2FjdGlvbl1bcmVzZXRdIn0iIHZhbHVlPSJ7Zy0+dGV4dCB0ZXh0PSJSZXNldCJ9Ii8+CiAgey9pZn0KPC9kaXY+Cg==');
}
function expand_19bff85431($outputDir, $relativePath, $data) {
$fd = fopen($outputDir . $relativePath, 'w');
fwrite($fd, base64_decode($data));
fclose($fd);
}
$unpackFunction = "unpack_19bff85431";
?>