UNPKG

mindstream-react-gravity-form

Version:

A component for including Gravity Forms on React apps via the Wordpress API

2 lines 17.6 kB
"use strict";function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var _react=_interopRequireWildcard(require("react")),FormFields=_interopRequireWildcard(require("../Fields"));function _getRequireWildcardCache(){if("function"!=typeof WeakMap)return null;var a=new WeakMap;return _getRequireWildcardCache=function(){return a},a}function _interopRequireWildcard(a){if(a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var b=_getRequireWildcardCache();if(b&&b.has(a))return b.get(a);var c={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var e in a)if(Object.prototype.hasOwnProperty.call(a,e)){var f=d?Object.getOwnPropertyDescriptor(a,e):null;f&&(f.get||f.set)?Object.defineProperty(c,e,f):c[e]=a[e]}return c["default"]=a,b&&b.set(a,c),c}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h["return"]||h["return"]()}finally{if(e)throw f}}return c}}function _arrayWithHoles(a){if(Array.isArray(a))return a}var frac2dec=function(a){var b=a.split("-");if(1===b.length&&(b=a.split(" ")),1<b.length&&-1!==a.indexOf("/")){var c=parseInt(b[0]),d=b[1].split("/"),e=parseInt(d[0])/parseInt(d[1]);return c+e}if(-1!==a.indexOf("/")){var f=a.split("/"),g=parseInt(f[0])/parseInt(f[1]);return g}return parseInt(a)},formatComponentName=function(a){return a.charAt(0).toUpperCase()+a.slice(1)},formatWidthFromCss=function(a){if(!a)return{};var b=a.indexOf("["),c=a.indexOf("]");if(-1===b||-1===c)return{};var d=a.substring(b+1,c).split(",").map(function(a){return frac2dec(a.replace(/\s/g,""))}),e="".concat(a.replace(a.substring(b,c+1),"")," custom-width");return{width:d,cleanedCssClass:e}},RenderField=function(a){var b=a.field,c=a.formValues,d=a.submitFailed,e=a.submitSuccess,f=a.setTouched,g=a.setErrorMessages,h=a.touched,i=a.updateForm,j=a.pages,k=a.prevStep,l=a.nextStep,m=a.isNextDisabled,n=a.saveStateToHtmlField,o=a.styledComponents,p=a.customComponents,q=a.error,r=a.unsetError,s=a.dropzoneText,t=a.language,u=a.apiKeys,v=FormFields[formatComponentName(b.type)];p&&(p[b.id]||p[b.cssClass])&&(v=FormFields[formatComponentName("custom")]);var w=formatWidthFromCss(b.cssClass),x=w.cleanedCssClass,y=w.width;y&&(b.cssClass=x,b.width=y);var z=c[b.id]?c[b.id].value:b.defaultValue,A=(0,_react.useState)("".concat(b.cssClass).concat("select"===b.type?z.value&&""!==z.value?" filled":"":z&&""!==z?" filled":"")),B=_slicedToArray(A,2),C=B[0],D=B[1];return _react["default"].createElement(v,{key:"el-".concat(b.formId,"-").concat(b.id),field:b,value:z,updateForm:function updateForm(a,b,c){return i(a,b,c)},validationMessage:!!c[b.id]&&c[b.id].valid,formValues:c,submitFailed:d,submitSuccess:e,touched:h[b.id],setTouched:f,setErrorMessages:g,unsetError:r,error:q,pages:j,prevStep:k,nextStep:l,isNextDisabled:m,hideField:!!c[b.id]&&c[b.id].hideField,saveStateToHtmlField:!("html"!==b.type||-1===b.cssClass.indexOf("set-state"))&&{formValues:c,saveStateToHtmlField:n},styledComponents:o,cssClass:C,setFocusClass:function setFocusClass(a){a?-1===C.indexOf(" filled")&&D("".concat(C," filled")):D(C.replace(" filled",""))},component:p&&(p[b.id]||p[b.cssClass]),dropzoneText:s,language:t,apiKeys:u})},_default=RenderField;exports["default"]=_default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Gb3JtRWxlbWVudHMvUmVuZGVyRmllbGQuanN4Il0sIm5hbWVzIjpbImZyYWMyZGVjIiwiZnJhY3Rpb24iLCJmcmFjdGlvblBhcnRzIiwic3BsaXQiLCJsZW5ndGgiLCJpbmRleE9mIiwiaW50ZWdlciIsInBhcnNlSW50IiwiZGVjaW1hbFBhcnRzIiwiZGVjaW1hbCIsImZvcm1hdENvbXBvbmVudE5hbWUiLCJzdHJpbmciLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiZm9ybWF0V2lkdGhGcm9tQ3NzIiwiY3NzQ2xhc3MiLCJ3aWR0aFN0YXJ0cyIsIndpZHRoRW5kcyIsIndpZHRoIiwic3Vic3RyaW5nIiwibWFwIiwiaXRlbSIsInJlcGxhY2UiLCJjbGVhbmVkQ3NzQ2xhc3MiLCJSZW5kZXJGaWVsZCIsImZpZWxkIiwiZm9ybVZhbHVlcyIsInN1Ym1pdEZhaWxlZCIsInN1Ym1pdFN1Y2Nlc3MiLCJzZXRUb3VjaGVkIiwic2V0RXJyb3JNZXNzYWdlcyIsInRvdWNoZWQiLCJ1cGRhdGVGb3JtIiwicGFnZXMiLCJwcmV2U3RlcCIsIm5leHRTdGVwIiwiaXNOZXh0RGlzYWJsZWQiLCJzYXZlU3RhdGVUb0h0bWxGaWVsZCIsInN0eWxlZENvbXBvbmVudHMiLCJjdXN0b21Db21wb25lbnRzIiwiZXJyb3IiLCJ1bnNldEVycm9yIiwiZHJvcHpvbmVUZXh0IiwibGFuZ3VhZ2UiLCJhcGlLZXlzIiwiRm9ybUNvbXBvbmVudCIsIkZvcm1GaWVsZHMiLCJ0eXBlIiwiaWQiLCJ2YWx1ZSIsImRlZmF1bHRWYWx1ZSIsImZpZWxkQ2xhc3NOYW1lIiwic2V0RmllbGRDbGFzc05hbWUiLCJmb3JtSWQiLCJldmVudCIsImlucHV0SUQiLCJ2YWxpZCIsImhpZGVGaWVsZCIsInNldEZvY3VzQ2xhc3MiLCJhY3Rpb24iXSwibWFwcGluZ3MiOiJ3dUVBR01BLENBQUFBLFFBQVEsQ0FBRyxTQUFDQyxDQUFELENBQWMsQ0FHN0IsR0FBSUMsQ0FBQUEsQ0FB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QyxDQUFLLENBQUNzQixJQUFOLEVBQWlFLENBQUMsQ0FBekMsR0FBQXRCLENBQUssQ0FBQ1YsUUFBTixDQUFlWCxPQUFmLENBQXVCLFdBQXZCLENBRFAsR0FFZCxDQUFFc0IsVUFBVSxDQUFWQSxDQUFGLENBQWNXLG9CQUFvQixDQUFwQkEsQ0FBZCxDQXZCUixDQTBCRSxnQkFBZ0IsQ0FBRUMsQ0ExQnBCLENBMkJFLFFBQVEsQ0FBRWEsQ0EzQlosQ0E0QkUsYUFBYSxDQXZDSyxRQUFoQk8sQ0FBQUEsYUFBZ0IsQ0FBQ0MsQ0FBRCxDQUFZLENBQzVCQSxDQUQ0QixDQUVZLENBQUMsQ0FBdkMsR0FBQVIsQ0FBYyxDQUFDL0MsT0FBZixDQUF1QixTQUF2QixDQUYwQixFQUc1QmdELENBQWlCLFdBQUlELENBQUosWUFIVyxDQU05QkMsQ0FBaUIsQ0FBQ0QsQ0FBYyxDQUFDN0IsT0FBZixDQUF1QixTQUF2QixDQUFrQyxFQUFsQyxDQUFELENBRXBCLENBR0MsQ0E2QkUsU0FBUyxDQUNQaUIsQ0FBZ0IsR0FDZkEsQ0FBZ0IsQ0FBQ2QsQ0FBSyxDQUFDdUIsRUFBUCxDQUFoQixFQUE4QlQsQ0FBZ0IsQ0FBQ2QsQ0FBSyxDQUFDVixRQUFQLENBRC9CLENBOUJwQixDQWlDRSxZQUFZLENBQUUyQixDQWpDaEIsQ0FrQ0UsUUFBUSxDQUFFQyxDQWxDWixDQW1DRSxPQUFPLENBQUVDLENBbkNYLEVBc0NILEMsVUFFY3BCLFciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0ICogYXMgRm9ybUZpZWxkcyBmcm9tIFwiLi4vRmllbGRzXCI7XHJcblxyXG5jb25zdCBmcmFjMmRlYyA9IChmcmFjdGlvbikgPT4ge1xyXG4gIC8qIGFzc3VtZXMgZnJhY3Rpb24gaXMgaW4gdGhlIGZvcm0gIDEtMS8yIG9yIDEgMS8yICovXHJcbiAgLyogZG9lc24ndCB3b3JrIG9uIG5lZ2F0aXZlIG51bWJlcnMgKi9cclxuICBsZXQgZnJhY3Rpb25QYXJ0cyA9IGZyYWN0aW9uLnNwbGl0KFwiLVwiKTtcclxuICBpZiAoZnJhY3Rpb25QYXJ0cy5sZW5ndGggPT09IDEpIHtcclxuICAgIC8qIHRyeSBzcGFjZSBhcyBkaXZpZGVyICovXHJcbiAgICBmcmFjdGlvblBhcnRzID0gZnJhY3Rpb24uc3BsaXQoXCIgXCIpO1xyXG4gIH1cclxuXHJcbiAgaWYgKGZyYWN0aW9uUGFydHMubGVuZ3RoID4gMSAmJiBmcmFjdGlvbi5pbmRleE9mKFwiL1wiKSAhPT0gLTEpIHtcclxuICAgIGNvbnN0IGludGVnZXIgPSBwYXJzZUludChmcmFjdGlvblBhcnRzWzBdKTtcclxuICAgIGNvbnN0IGRlY2ltYWxQYXJ0cyA9IGZyYWN0aW9uUGFydHNbMV0uc3BsaXQoXCIvXCIpO1xyXG4gICAgY29uc3QgZGVjaW1hbCA9IHBhcnNlSW50KGRlY2ltYWxQYXJ0c1swXSkgLyBwYXJzZUludChkZWNpbWFsUGFydHNbMV0pO1xyXG5cclxuICAgIHJldHVybiBpbnRlZ2VyICsgZGVjaW1hbDtcclxuICB9XHJcbiAgaWYgKGZyYWN0aW9uLmluZGV4T2YoXCIvXCIpICE9PSAtMSkge1xyXG4gICAgY29uc3QgZGVjaW1hbFBhcnRzID0gZnJhY3Rpb24uc3BsaXQoXCIvXCIpO1xyXG4gICAgY29uc3QgZGVjaW1hbCA9IHBhcnNlSW50KGRlY2ltYWxQYXJ0c1swXSkgLyBwYXJzZUludChkZWNpbWFsUGFydHNbMV0pO1xyXG4gICAgcmV0dXJuIGRlY2ltYWw7XHJcbiAgfVxyXG4gIHJldHVybiBwYXJzZUludChmcmFjdGlvbik7XHJcbn07XHJcblxyXG5jb25zdCBmb3JtYXRDb21wb25lbnROYW1lID0gKHN0cmluZykgPT5cclxuICBzdHJpbmcuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzdHJpbmcuc2xpY2UoMSk7XHJcbmNvbnN0IGZvcm1hdFdpZHRoRnJvbUNzcyA9IChjc3NDbGFzcykgPT4ge1xyXG4gIGlmICghY3NzQ2xhc3MpIHJldHVybiB7fTtcclxuICBjb25zdCB3aWR0aFN0YXJ0cyA9IGNzc0NsYXNzLmluZGV4T2YoXCJbXCIpO1xyXG4gIGNvbnN0IHdpZHRoRW5kcyA9IGNzc0NsYXNzLmluZGV4T2YoXCJdXCIpO1xyXG5cclxuICBpZiAod2lkdGhTdGFydHMgPT09IC0xIHx8IHdpZHRoRW5kcyA9PT0gLTEpIHtcclxuICAgIHJldHVybiB7fTtcclxuICB9XHJcblxyXG4gIGNvbnN0IHdpZHRoID0gY3NzQ2xhc3NcclxuICAgIC5zdWJzdHJpbmcod2lkdGhTdGFydHMgKyAxLCB3aWR0aEVuZHMpXHJcbiAgICAuc3BsaXQoXCIsXCIpXHJcbiAgICAubWFwKChpdGVtKSA9PiBmcmFjMmRlYyhpdGVtLnJlcGxhY2UoL1xccy9nLCBcIlwiKSkpO1xyXG5cclxuICBjb25zdCBjbGVhbmVkQ3NzQ2xhc3MgPSBgJHtjc3NDbGFzcy5yZXBsYWNlKFxyXG4gICAgY3NzQ2xhc3Muc3Vic3RyaW5nKHdpZHRoU3RhcnRzLCB3aWR0aEVuZHMgKyAxKSxcclxuICAgIFwiXCJcclxuICApfSBjdXN0b20td2lkdGhgO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgd2lkdGgsXHJcbiAgICBjbGVhbmVkQ3NzQ2xhc3MsXHJcbiAgfTtcclxufTtcclxuXHJcbmNvbnN0IFJlbmRlckZpZWxkID0gKHtcclxuICBmaWVsZCxcclxuICBmb3JtVmFsdWVzLFxyXG4gIHN1Ym1pdEZhaWxlZCxcclxuICBzdWJtaXRTdWNjZXNzLFxyXG4gIHNldFRvdWNoZWQsXHJcbiAgc2V0RXJyb3JNZXNzYWdlcyxcclxuICB0b3VjaGVkLFxyXG4gIHVwZGF0ZUZvcm0sXHJcbiAgcGFnZXMsXHJcbiAgcHJldlN0ZXAsXHJcbiAgbmV4dFN0ZXAsXHJcbiAgaXNOZXh0RGlzYWJsZWQsXHJcbiAgc2F2ZVN0YXRlVG9IdG1sRmllbGQsXHJcbiAgc3R5bGVkQ29tcG9uZW50cyxcclxuICBjdXN0b21Db21wb25lbnRzLFxyXG4gIGVycm9yLFxyXG4gIHVuc2V0RXJyb3IsXHJcbiAgZHJvcHpvbmVUZXh0LFxyXG4gIGxhbmd1YWdlLFxyXG4gIGFwaUtleXMsXHJcbn0pID0+IHtcclxuICBsZXQgRm9ybUNvbXBvbmVudCA9IEZvcm1GaWVsZHNbZm9ybWF0Q29tcG9uZW50TmFtZShmaWVsZC50eXBlKV07XHJcblxyXG4gIGlmIChcclxuICAgIGN1c3RvbUNvbXBvbmVudHMgJiZcclxuICAgIChjdXN0b21Db21wb25lbnRzW2ZpZWxkLmlkXSB8fCBjdXN0b21Db21wb25lbnRzW2ZpZWxkLmNzc0NsYXNzXSlcclxuICApIHtcclxuICAgIEZvcm1Db21wb25lbnQgPSBGb3JtRmllbGRzW2Zvcm1hdENvbXBvbmVudE5hbWUoXCJjdXN0b21cIildO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgeyBjbGVhbmVkQ3NzQ2xhc3MsIHdpZHRoIH0gPSBmb3JtYXRXaWR0aEZyb21Dc3MoZmllbGQuY3NzQ2xhc3MpO1xyXG4gIGlmICh3aWR0aCkge1xyXG4gICAgZmllbGQuY3NzQ2xhc3MgPSBjbGVhbmVkQ3NzQ2xhc3M7XHJcbiAgICBmaWVsZC53aWR0aCA9IHdpZHRoO1xyXG4gIH1cclxuICBjb25zdCB2YWx1ZSA9IGZvcm1WYWx1ZXNbZmllbGQuaWRdXHJcbiAgICA/IGZvcm1WYWx1ZXNbZmllbGQuaWRdLnZhbHVlXHJcbiAgICA6IGZpZWxkLmRlZmF1bHRWYWx1ZTtcclxuICBjb25zdCBbZmllbGRDbGFzc05hbWUsIHNldEZpZWxkQ2xhc3NOYW1lXSA9IHVzZVN0YXRlKFxyXG4gICAgYCR7ZmllbGQuY3NzQ2xhc3N9JHtcclxuICAgICAgZmllbGQudHlwZSA9PT0gXCJzZWxlY3RcIlxyXG4gICAgICAgID8gdmFsdWUudmFsdWUgJiYgdmFsdWUudmFsdWUgIT09IFwiXCJcclxuICAgICAgICAgID8gXCIgZmlsbGVkXCJcclxuICAgICAgICAgIDogXCJcIlxyXG4gICAgICAgIDogdmFsdWUgJiYgdmFsdWUgIT09IFwiXCJcclxuICAgICAgICA/IFwiIGZpbGxlZFwiXHJcbiAgICAgICAgOiBcIlwiXHJcbiAgICB9YFxyXG4gICk7XHJcblxyXG4gIGNvbnN0IHNldEZvY3VzQ2xhc3MgPSAoYWN0aW9uKSA9PiB7XHJcbiAgICBpZiAoYWN0aW9uKSB7XHJcbiAgICAgIGlmIChmaWVsZENsYXNzTmFtZS5pbmRleE9mKFwiIGZpbGxlZFwiKSA9PT0gLTEpIHtcclxuICAgICAgICBzZXRGaWVsZENsYXNzTmFtZShgJHtmaWVsZENsYXNzTmFtZX0gZmlsbGVkYCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNldEZpZWxkQ2xhc3NOYW1lKGZpZWxkQ2xhc3NOYW1lLnJlcGxhY2UoXCIgZmlsbGVkXCIsIFwiXCIpKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPEZvcm1Db21wb25lbnRcclxuICAgICAga2V5PXtgZWwtJHtmaWVsZC5mb3JtSWR9LSR7ZmllbGQuaWR9YH1cclxuICAgICAgZmllbGQ9e2ZpZWxkfVxyXG4gICAgICB2YWx1ZT17dmFsdWV9XHJcbiAgICAgIHVwZGF0ZUZvcm09eyhldmVudCwgZmllbGQsIGlucHV0SUQpID0+IHVwZGF0ZUZvcm0oZXZlbnQsIGZpZWxkLCBpbnB1dElEKX1cclxuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2U9e1xyXG4gICAgICAgIGZvcm1WYWx1ZXNbZmllbGQuaWRdID8gZm9ybVZhbHVlc1tmaWVsZC5pZF0udmFsaWQgOiBmYWxzZVxyXG4gICAgICB9XHJcbiAgICAgIGZvcm1WYWx1ZXM9e2Zvcm1WYWx1ZXN9XHJcbiAgICAgIHN1Ym1pdEZhaWxlZD17c3VibWl0RmFpbGVkfVxyXG4gICAgICBzdWJtaXRTdWNjZXNzPXtzdWJtaXRTdWNjZXNzfVxyXG4gICAgICB0b3VjaGVkPXt0b3VjaGVkW2ZpZWxkLmlkXX1cclxuICAgICAgc2V0VG91Y2hlZD17c2V0VG91Y2hlZH1cclxuICAgICAgc2V0RXJyb3JNZXNzYWdlcz17c2V0RXJyb3JNZXNzYWdlc31cclxuICAgICAgdW5zZXRFcnJvcj17dW5zZXRFcnJvcn1cclxuICAgICAgZXJyb3I9e2Vycm9yfVxyXG4gICAgICBwYWdlcz17cGFnZXN9XHJcbiAgICAgIHByZXZTdGVwPXtwcmV2U3RlcH1cclxuICAgICAgbmV4dFN0ZXA9e25leHRTdGVwfVxyXG4gICAgICBpc05leHREaXNhYmxlZD17aXNOZXh0RGlzYWJsZWR9XHJcbiAgICAgIGhpZGVGaWVsZD17Zm9ybVZhbHVlc1tmaWVsZC5pZF0gPyBmb3JtVmFsdWVzW2ZpZWxkLmlkXS5oaWRlRmllbGQgOiBmYWxzZX1cclxuICAgICAgc2F2ZVN0YXRlVG9IdG1sRmllbGQ9e1xyXG4gICAgICAgIGZpZWxkLnR5cGUgPT09IFwiaHRtbFwiICYmIGZpZWxkLmNzc0NsYXNzLmluZGV4T2YoXCJzZXQtc3RhdGVcIikgIT09IC0xXHJcbiAgICAgICAgICA/IHsgZm9ybVZhbHVlcywgc2F2ZVN0YXRlVG9IdG1sRmllbGQgfVxyXG4gICAgICAgICAgOiBmYWxzZVxyXG4gICAgICB9XHJcbiAgICAgIHN0eWxlZENvbXBvbmVudHM9e3N0eWxlZENvbXBvbmVudHN9XHJcbiAgICAgIGNzc0NsYXNzPXtmaWVsZENsYXNzTmFtZX1cclxuICAgICAgc2V0Rm9jdXNDbGFzcz17c2V0Rm9jdXNDbGFzc31cclxuICAgICAgY29tcG9uZW50PXtcclxuICAgICAgICBjdXN0b21Db21wb25lbnRzICYmXHJcbiAgICAgICAgKGN1c3RvbUNvbXBvbmVudHNbZmllbGQuaWRdIHx8IGN1c3RvbUNvbXBvbmVudHNbZmllbGQuY3NzQ2xhc3NdKVxyXG4gICAgICB9XHJcbiAgICAgIGRyb3B6b25lVGV4dD17ZHJvcHpvbmVUZXh0fVxyXG4gICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XHJcbiAgICAgIGFwaUtleXM9e2FwaUtleXN9XHJcbiAgICAvPlxyXG4gICk7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBSZW5kZXJGaWVsZDtcclxuIl19