UNPKG

@skireal/form-builder

Version:
273 lines 34.3 kB
var _a, _b; import { __read, __spread } from "tslib"; export var FormFieldType; (function (FormFieldType) { FormFieldType["Text"] = "text"; FormFieldType["Textarea"] = "textarea"; FormFieldType["Date"] = "date"; FormFieldType["Select"] = "select"; FormFieldType["Number"] = "number"; FormFieldType["Checkbox"] = "checkbox"; FormFieldType["CheckboxGroup"] = "checkbox-group"; FormFieldType["Radio"] = "radio"; FormFieldType["NeedContact"] = "need-contact"; FormFieldType["File"] = "file"; FormFieldType["Password"] = "password"; FormFieldType["Email"] = "email"; FormFieldType["Phone"] = "phone"; FormFieldType["Likert"] = "likert"; FormFieldType["Csat"] = "csat"; FormFieldType["CES"] = "ces"; FormFieldType["NPS"] = "nps"; FormFieldType["QE"] = "qe"; FormFieldType["ContactName"] = "contact-name"; FormFieldType["ContactSurname"] = "contact-surname"; FormFieldType["ContactEmail"] = "contact-email"; FormFieldType["ContactPhone"] = "contact-phone"; FormFieldType["CountryDropdown"] = "country-dropdown"; })(FormFieldType || (FormFieldType = {})); export var ValidatorType; (function (ValidatorType) { ValidatorType["Required"] = "required"; ValidatorType["MinLength"] = "minlength"; ValidatorType["MaxLength"] = "maxlength"; ValidatorType["Pattern"] = "pattern"; ValidatorType["Email"] = "email"; ValidatorType["Min"] = "min"; ValidatorType["Max"] = "max"; ValidatorType["RequiredTrue"] = "requiredTrue"; })(ValidatorType || (ValidatorType = {})); export var formFieldTypes = [ FormFieldType.Text, FormFieldType.Textarea, FormFieldType.Date, FormFieldType.Select, FormFieldType.Number, FormFieldType.Checkbox, FormFieldType.CheckboxGroup, FormFieldType.Radio, FormFieldType.NeedContact, FormFieldType.File, FormFieldType.Password, FormFieldType.Email, FormFieldType.Phone, FormFieldType.Likert, FormFieldType.Csat, FormFieldType.CES, FormFieldType.NPS, FormFieldType.QE ]; export var surveyFieldTypes = [ FormFieldType.CountryDropdown, FormFieldType.Text, FormFieldType.Textarea, FormFieldType.Date, FormFieldType.Select, FormFieldType.Checkbox, FormFieldType.CheckboxGroup, FormFieldType.Radio, FormFieldType.Likert, FormFieldType.Csat, FormFieldType.CES, FormFieldType.NPS, FormFieldType.QE, FormFieldType.NeedContact, FormFieldType.ContactName, FormFieldType.ContactSurname, FormFieldType.ContactEmail, FormFieldType.ContactPhone ]; export var fieldTypesNames = (_a = {}, _a[FormFieldType.CountryDropdown] = 'Country', _a[FormFieldType.Text] = 'Text Input', _a[FormFieldType.Textarea] = 'Text Area', _a[FormFieldType.Date] = 'Date', _a[FormFieldType.Select] = 'Select', _a[FormFieldType.Number] = 'Number', _a[FormFieldType.Checkbox] = 'Checkbox', _a[FormFieldType.CheckboxGroup] = 'Checkboxes', _a[FormFieldType.Radio] = 'Radio', _a[FormFieldType.File] = 'File Attachment', _a[FormFieldType.Password] = 'Password', _a[FormFieldType.Email] = 'Email', _a[FormFieldType.Phone] = 'Phone Number', _a[FormFieldType.Likert] = 'Likert Scale', _a[FormFieldType.Csat] = 'CSAT Scale', _a[FormFieldType.CES] = 'CES Scale', _a[FormFieldType.NPS] = 'NPS Scale', _a[FormFieldType.QE] = 'QE Group', _a[FormFieldType.NeedContact] = 'Need Contact', _a[FormFieldType.ContactName] = 'Contact Name', _a[FormFieldType.ContactSurname] = 'Contact Surname', _a[FormFieldType.ContactEmail] = 'Contact Email', _a[FormFieldType.ContactPhone] = 'Contact Phone', _a); export var uniqueFieldTypes = [ FormFieldType.NeedContact, FormFieldType.ContactName, FormFieldType.ContactSurname, FormFieldType.ContactEmail, FormFieldType.ContactPhone ]; export var validatorTypes = [ ValidatorType.Required, ValidatorType.MinLength, ValidatorType.MaxLength, ValidatorType.Pattern, ValidatorType.Email, ValidatorType.Min, ValidatorType.Max, ValidatorType.RequiredTrue ]; export var commonFields = [ { id: 'active', name: 'Active', isArray: false }, { id: 'classes', name: 'Classes', isArray: false, placeholder: 'e.g., class1 class2' }, { id: 'placeholder', name: 'Placeholder', isArray: false }, { id: 'title', name: 'Title', isArray: false }, { id: 'description', name: 'Description', isArray: false }, { id: 'validators', name: 'Validators', isArray: true }, { id: 'required', name: 'Required', isArray: false }, { id: 'warningMessage', name: 'Warning message', isArray: false }, { id: 'analyticsTitle', name: 'Analytics title', isArray: false }, { id: 'step', name: 'Move to step', isArray: false } ]; export var fieldsByType = (_b = {}, _b[FormFieldType.Text] = __spread(commonFields, [ { id: 'feedBackText', name: 'Use this field when creating feedback text', isArray: false } ]), _b[FormFieldType.Textarea] = __spread(commonFields, [ { id: 'feedBackText', name: 'Use this field when creating feedback text', isArray: false } ]), _b[FormFieldType.Date] = __spread(commonFields), _b[FormFieldType.Select] = __spread(commonFields, [ { id: 'options', name: 'Options', isArray: true }, { id: 'hasOther', name: 'Has other', isArray: false } ]), _b[FormFieldType.Number] = __spread(commonFields), _b[FormFieldType.Checkbox] = __spread(commonFields), _b[FormFieldType.CheckboxGroup] = __spread(commonFields, [ { id: 'options', name: 'Options', isArray: true }, { id: 'hasOther', name: 'Has other', isArray: false } ]), _b[FormFieldType.Radio] = __spread(commonFields, [ { id: 'options', name: 'Options', isArray: true }, { id: 'hasOther', name: 'Has other', isArray: false } ]), _b[FormFieldType.NeedContact] = __spread(commonFields, [ { id: 'options', name: 'Options', isArray: true }, { id: 'defaultValue', name: 'Default value', isArray: false } ]), _b[FormFieldType.File] = __spread(commonFields), _b[FormFieldType.Password] = __spread(commonFields), _b[FormFieldType.Email] = __spread(commonFields), _b[FormFieldType.Phone] = __spread(commonFields), _b[FormFieldType.Likert] = __spread(commonFields, [ { id: 'optionsTitle', name: 'Options title', isArray: false }, { id: 'options', name: 'Options', isArray: true }, { id: 'rows', name: 'Rows', isArray: true } ]), _b[FormFieldType.Csat] = __spread(commonFields, [ { id: 'firstAnswer', name: 'First answer', isArray: false }, { id: 'lastAnswer', name: 'Last answer', isArray: false }, { id: 'hasNA', name: 'Has N/A', isArray: false } ]), _b[FormFieldType.CES] = __spread(commonFields, [{ id: 'hasNA', name: 'Has N/A', isArray: false }]), _b[FormFieldType.NPS] = __spread(commonFields, [ { id: 'comment', name: 'Comment', isArray: false, isObject: true, objectFields: [ { id: 'commentTitle', name: 'Comment Title', isArray: false }, { id: 'commentSubtitle', name: 'Comment Subtitle', isArray: false }, { id: 'commentWarningMessage', name: 'Comment Warning Message', isArray: false } ] }, { id: 'firstAnswer', name: 'First answer', isArray: false }, { id: 'lastAnswer', name: 'Last answer', isArray: false } ]), _b[FormFieldType.QE] = __spread(commonFields, [ { id: 'firstAnswer', name: 'First answer', isArray: false }, { id: 'lastAnswer', name: 'Last answer', isArray: false }, { id: 'qeScales', name: 'QE scales', isArray: true, children: [ { id: 'qeScaleChildren', name: 'QE Scale Children', isArray: true, parentArray: 'qeScales' } ] } ]), _b[FormFieldType.ContactName] = __spread(commonFields), _b[FormFieldType.ContactSurname] = __spread(commonFields), _b[FormFieldType.ContactEmail] = __spread(commonFields), _b[FormFieldType.ContactPhone] = __spread(commonFields), _b[FormFieldType.CountryDropdown] = __spread(commonFields), _b); export var defaultOptionValues = []; export var controlsMap = { validators: ['type', 'value', 'errormsg'], options: ['name', 'value', 'country'], rows: ['title'], qeScales: ['title', 'subtitle', 'qeScaleChildren'], qeScaleChildren: ['title'] }; export var defaultConditionalLogicBlock = { selectedField: { type: '', id: '', name: '' }, selectedCondition: '', conditionValue: '', selectedAction: '', selectedTargetField: '', type: 'conditionalLogicBlock' }; export var conditionOptions = { text: ['equals', 'contains', 'is empty', 'is not empty'], checkbox: ['is empty', 'is not empty'], number: [ 'equals', 'not equals', 'greater', 'less', 'greater or equals', 'less or equals', 'is empty', 'is not empty' ] }; export var haveOptionsFieldTypes = [ 'select', 'checkbox-group', 'radio', 'likert', 'need-contact' ]; export var withoutValueValidatorTypes = ['required', 'requiredTrue', 'email']; export var booleanFields = ['active', 'required', 'hasOther', 'hasNA']; export var arrayProperties = ['validators', 'options', 'rows', 'qeScales']; export var defaultValuesMap = { options: { country: 'ZZ' } }; export var maxLengthMap = { placeholder: 250, title: 1000, warningMessage: 1000, analyticsTitle: 250 }; export var requiredSubfieldsMap = { options: ['name', 'value'], rows: ['title'], qeScales: ['title'] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNraXJlYWwvZm9ybS1idWlsZGVyLyIsInNvdXJjZXMiOlsibGliL2NvbnN0YW50cy91aS1jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFPQSxNQUFNLENBQU4sSUFBWSxhQXdCWDtBQXhCRCxXQUFZLGFBQWE7SUFDdkIsOEJBQWEsQ0FBQTtJQUNiLHNDQUFxQixDQUFBO0lBQ3JCLDhCQUFhLENBQUE7SUFDYixrQ0FBaUIsQ0FBQTtJQUNqQixrQ0FBaUIsQ0FBQTtJQUNqQixzQ0FBcUIsQ0FBQTtJQUNyQixpREFBZ0MsQ0FBQTtJQUNoQyxnQ0FBZSxDQUFBO0lBQ2YsNkNBQTRCLENBQUE7SUFDNUIsOEJBQWEsQ0FBQTtJQUNiLHNDQUFxQixDQUFBO0lBQ3JCLGdDQUFlLENBQUE7SUFDZixnQ0FBZSxDQUFBO0lBQ2Ysa0NBQWlCLENBQUE7SUFDakIsOEJBQWEsQ0FBQTtJQUNiLDRCQUFXLENBQUE7SUFDWCw0QkFBVyxDQUFBO0lBQ1gsMEJBQVMsQ0FBQTtJQUNULDZDQUE0QixDQUFBO0lBQzVCLG1EQUFrQyxDQUFBO0lBQ2xDLCtDQUE4QixDQUFBO0lBQzlCLCtDQUE4QixDQUFBO0lBQzlCLHFEQUFvQyxDQUFBO0FBQ3RDLENBQUMsRUF4QlcsYUFBYSxLQUFiLGFBQWEsUUF3QnhCO0FBRUQsTUFBTSxDQUFOLElBQVksYUFTWDtBQVRELFdBQVksYUFBYTtJQUN2QixzQ0FBcUIsQ0FBQTtJQUNyQix3Q0FBdUIsQ0FBQTtJQUN2Qix3Q0FBdUIsQ0FBQTtJQUN2QixvQ0FBbUIsQ0FBQTtJQUNuQixnQ0FBZSxDQUFBO0lBQ2YsNEJBQVcsQ0FBQTtJQUNYLDRCQUFXLENBQUE7SUFDWCw4Q0FBNkIsQ0FBQTtBQUMvQixDQUFDLEVBVFcsYUFBYSxLQUFiLGFBQWEsUUFTeEI7QUFFRCxNQUFNLENBQUMsSUFBTSxjQUFjLEdBQW9CO0lBQzdDLGFBQWEsQ0FBQyxJQUFJO0lBQ2xCLGFB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SSxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ2YsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDO0NBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbmRpdGlvbmFsTG9naWNCbG9jayxcclxuICBGaWVsZCxcclxuICBGb3JtRmllbGQsXHJcbiAgRm9ybUZpZWxkQm9vbGVhbktleXNcclxufSBmcm9tICcuLi9tb2RlbHMvZm9ybS1jb25zdHJ1Y3Rvci5tb2RlbCc7XHJcblxyXG5leHBvcnQgZW51bSBGb3JtRmllbGRUeXBlIHtcclxuICBUZXh0ID0gJ3RleHQnLFxyXG4gIFRleHRhcmVhID0gJ3RleHRhcmVhJyxcclxuICBEYXRlID0gJ2RhdGUnLFxyXG4gIFNlbGVjdCA9ICdzZWxlY3QnLFxyXG4gIE51bWJlciA9ICdudW1iZXInLFxyXG4gIENoZWNrYm94ID0gJ2NoZWNrYm94JyxcclxuICBDaGVja2JveEdyb3VwID0gJ2NoZWNrYm94LWdyb3VwJyxcclxuICBSYWRpbyA9ICdyYWRpbycsXHJcbiAgTmVlZENvbnRhY3QgPSAnbmVlZC1jb250YWN0JyxcclxuICBGaWxlID0gJ2ZpbGUnLFxyXG4gIFBhc3N3b3JkID0gJ3Bhc3N3b3JkJyxcclxuICBFbWFpbCA9ICdlbWFpbCcsXHJcbiAgUGhvbmUgPSAncGhvbmUnLFxyXG4gIExpa2VydCA9ICdsaWtlcnQnLFxyXG4gIENzYXQgPSAnY3NhdCcsXHJcbiAgQ0VTID0gJ2NlcycsXHJcbiAgTlBTID0gJ25wcycsXHJcbiAgUUUgPSAncWUnLFxyXG4gIENvbnRhY3ROYW1lID0gJ2NvbnRhY3QtbmFtZScsXHJcbiAgQ29udGFjdFN1cm5hbWUgPSAnY29udGFjdC1zdXJuYW1lJyxcclxuICBDb250YWN0RW1haWwgPSAnY29udGFjdC1lbWFpbCcsXHJcbiAgQ29udGFjdFBob25lID0gJ2NvbnRhY3QtcGhvbmUnLFxyXG4gIENvdW50cnlEcm9wZG93biA9ICdjb3VudHJ5LWRyb3Bkb3duJ1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBWYWxpZGF0b3JUeXBlIHtcclxuICBSZXF1aXJlZCA9ICdyZXF1aXJlZCcsXHJcbiAgTWluTGVuZ3RoID0gJ21pbmxlbmd0aCcsXHJcbiAgTWF4TGVuZ3RoID0gJ21heGxlbmd0aCcsXHJcbiAgUGF0dGVybiA9ICdwYXR0ZXJuJyxcclxuICBFbWFpbCA9ICdlbWFpbCcsXHJcbiAgTWluID0gJ21pbicsXHJcbiAgTWF4ID0gJ21heCcsXHJcbiAgUmVxdWlyZWRUcnVlID0gJ3JlcXVpcmVkVHJ1ZSdcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGZvcm1GaWVsZFR5cGVzOiBGb3JtRmllbGRUeXBlW10gPSBbXHJcbiAgRm9ybUZpZWxkVHlwZS5UZXh0LFxyXG4gIEZvcm1GaWVsZFR5cGUuVGV4dGFyZWEsXHJcbiAgRm9ybUZpZWxkVHlwZS5EYXRlLFxyXG4gIEZvcm1GaWVsZFR5cGUuU2VsZWN0LFxyXG4gIEZvcm1GaWVsZFR5cGUuTnVtYmVyLFxyXG4gIEZvcm1GaWVsZFR5cGUuQ2hlY2tib3gsXHJcbiAgRm9ybUZpZWxkVHlwZS5DaGVja2JveEdyb3VwLFxyXG4gIEZvcm1GaWVsZFR5cGUuUmFkaW8sXHJcbiAgRm9ybUZpZWxkVHlwZS5OZWVkQ29udGFjdCxcclxuICBGb3JtRmllbGRUeXBlLkZpbGUsXHJcbiAgRm9ybUZpZWxkVHlwZS5QYXNzd29yZCxcclxuICBGb3JtRmllbGRUeXBlLkVtYWlsLFxyXG4gIEZvcm1GaWVsZFR5cGUuUGhvbmUsXHJcbiAgRm9ybUZpZWxkVHlwZS5MaWtlcnQsXHJcbiAgRm9ybUZpZWxkVHlwZS5Dc2F0LFxyXG4gIEZvcm1GaWVsZFR5cGUuQ0VTLFxyXG4gIEZvcm1GaWVsZFR5cGUuTlBTLFxyXG4gIEZvcm1GaWVsZFR5cGUuUUVcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBzdXJ2ZXlGaWVsZFR5cGVzOiBGb3JtRmllbGRUeXBlW10gPSBbXHJcbiAgRm9ybUZpZWxkVHlwZS5Db3VudHJ5RHJvcGRvd24sXHJcbiAgRm9ybUZpZWxkVHlwZS5UZXh0LFxyXG4gIEZvcm1GaWVsZFR5cGUuVGV4dGFyZWEsXHJcbiAgRm9ybUZpZWxkVHlwZS5EYXRlLFxyXG4gIEZvcm1GaWVsZFR5cGUuU2VsZWN0LFxyXG4gIEZvcm1GaWVsZFR5cGUuQ2hlY2tib3gsXHJcbiAgRm9ybUZpZWxkVHlwZS5DaGVja2JveEdyb3VwLFxyXG4gIEZvcm1GaWVsZFR5cGUuUmFkaW8sXHJcbiAgRm9ybUZpZWxkVHlwZS5MaWtlcnQsXHJcbiAgRm9ybUZpZWxkVHlwZS5Dc2F0LFxyXG4gIEZvcm1GaWVsZFR5cGUuQ0VTLFxyXG4gIEZvcm1GaWVsZFR5cGUuTlBTLFxyXG4gIEZvcm1GaWVsZFR5cGUuUUUsXHJcbiAgRm9ybUZpZWxkVHlwZS5OZWVkQ29udGFjdCxcclxuICBGb3JtRmllbGRUeXBlLkNvbnRhY3ROYW1lLFxyXG4gIEZvcm1GaWVsZFR5cGUuQ29udGFjdFN1cm5hbWUsXHJcbiAgRm9ybUZpZWxkVHlwZS5Db250YWN0RW1haWwsXHJcbiAgRm9ybUZpZWxkVHlwZS5Db250YWN0UGhvbmVcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBmaWVsZFR5cGVzTmFtZXM6IEZpZWxkVHlwZXNOYW1lcyA9IHtcclxuICBbRm9ybUZpZWxkVHlwZS5Db3VudHJ5RHJvcGRvd25dOiAnQ291bnRyeScsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuVGV4dF06ICdUZXh0IElucHV0JyxcclxuICBbRm9ybUZpZWxkVHlwZS5UZXh0YXJlYV06ICdUZXh0IEFyZWEnLFxyXG4gIFtGb3JtRmllbGRUeXBlLkRhdGVdOiAnRGF0ZScsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuU2VsZWN0XTogJ1NlbGVjdCcsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuTnVtYmVyXTogJ051bWJlcicsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuQ2hlY2tib3hdOiAnQ2hlY2tib3gnLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNoZWNrYm94R3JvdXBdOiAnQ2hlY2tib3hlcycsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuUmFkaW9dOiAnUmFkaW8nLFxyXG4gIFtGb3JtRmllbGRUeXBlLkZpbGVdOiAnRmlsZSBBdHRhY2htZW50JyxcclxuICBbRm9ybUZpZWxkVHlwZS5QYXNzd29yZF06ICdQYXNzd29yZCcsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuRW1haWxdOiAnRW1haWwnLFxyXG4gIFtGb3JtRmllbGRUeXBlLlBob25lXTogJ1Bob25lIE51bWJlcicsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuTGlrZXJ0XTogJ0xpa2VydCBTY2FsZScsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuQ3NhdF06ICdDU0FUIFNjYWxlJyxcclxuICBbRm9ybUZpZWxkVHlwZS5DRVNdOiAnQ0VTIFNjYWxlJyxcclxuICBbRm9ybUZpZWxkVHlwZS5OUFNdOiAnTlBTIFNjYWxlJyxcclxuICBbRm9ybUZpZWxkVHlwZS5RRV06ICdRRSBHcm91cCcsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuTmVlZENvbnRhY3RdOiAnTmVlZCBDb250YWN0JyxcclxuICBbRm9ybUZpZWxkVHlwZS5Db250YWN0TmFtZV06ICdDb250YWN0IE5hbWUnLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNvbnRhY3RTdXJuYW1lXTogJ0NvbnRhY3QgU3VybmFtZScsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuQ29udGFjdEVtYWlsXTogJ0NvbnRhY3QgRW1haWwnLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNvbnRhY3RQaG9uZV06ICdDb250YWN0IFBob25lJ1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHVuaXF1ZUZpZWxkVHlwZXM6IEZvcm1GaWVsZFR5cGVbXSA9IFtcclxuICBGb3JtRmllbGRUeXBlLk5lZWRDb250YWN0LFxyXG4gIEZvcm1GaWVsZFR5cGUuQ29udGFjdE5hbWUsXHJcbiAgRm9ybUZpZWxkVHlwZS5Db250YWN0U3VybmFtZSxcclxuICBGb3JtRmllbGRUeXBlLkNvbnRhY3RFbWFpbCxcclxuICBGb3JtRmllbGRUeXBlLkNvbnRhY3RQaG9uZVxyXG5dO1xyXG5cclxuZXhwb3J0IHR5cGUgRmllbGRUeXBlc05hbWVzID0gUmVjb3JkPEZvcm1GaWVsZFR5cGUsIHN0cmluZz47XHJcblxyXG5leHBvcnQgY29uc3QgdmFsaWRhdG9yVHlwZXM6IFZhbGlkYXRvclR5cGVbXSA9IFtcclxuICBWYWxpZGF0b3JUeXBlLlJlcXVpcmVkLFxyXG4gIFZhbGlkYXRvclR5cGUuTWluTGVuZ3RoLFxyXG4gIFZhbGlkYXRvclR5cGUuTWF4TGVuZ3RoLFxyXG4gIFZhbGlkYXRvclR5cGUuUGF0dGVybixcclxuICBWYWxpZGF0b3JUeXBlLkVtYWlsLFxyXG4gIFZhbGlkYXRvclR5cGUuTWluLFxyXG4gIFZhbGlkYXRvclR5cGUuTWF4LFxyXG4gIFZhbGlkYXRvclR5cGUuUmVxdWlyZWRUcnVlXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgY29tbW9uRmllbGRzOiBGaWVsZFtdID0gW1xyXG4gIHsgaWQ6ICdhY3RpdmUnLCBuYW1lOiAnQWN0aXZlJywgaXNBcnJheTogZmFsc2UgfSxcclxuICB7IGlkOiAnY2xhc3NlcycsIG5hbWU6ICdDbGFzc2VzJywgaXNBcnJheTogZmFsc2UsIHBsYWNlaG9sZGVyOiAnZS5nLiwgY2xhc3MxIGNsYXNzMicgfSxcclxuICB7IGlkOiAncGxhY2Vob2xkZXInLCBuYW1lOiAnUGxhY2Vob2xkZXInLCBpc0FycmF5OiBmYWxzZSB9LFxyXG4gIHsgaWQ6ICd0aXRsZScsIG5hbWU6ICdUaXRsZScsIGlzQXJyYXk6IGZhbHNlIH0sXHJcbiAgeyBpZDogJ2Rlc2NyaXB0aW9uJywgbmFtZTogJ0Rlc2NyaXB0aW9uJywgaXNBcnJheTogZmFsc2UgfSxcclxuICB7IGlkOiAndmFsaWRhdG9ycycsIG5hbWU6ICdWYWxpZGF0b3JzJywgaXNBcnJheTogdHJ1ZSB9LFxyXG4gIHsgaWQ6ICdyZXF1aXJlZCcsIG5hbWU6ICdSZXF1aXJlZCcsIGlzQXJyYXk6IGZhbHNlIH0sXHJcbiAgeyBpZDogJ3dhcm5pbmdNZXNzYWdlJywgbmFtZTogJ1dhcm5pbmcgbWVzc2FnZScsIGlzQXJyYXk6IGZhbHNlIH0sXHJcbiAgeyBpZDogJ2FuYWx5dGljc1RpdGxlJywgbmFtZTogJ0FuYWx5dGljcyB0aXRsZScsIGlzQXJyYXk6IGZhbHNlIH0sXHJcbiAgeyBpZDogJ3N0ZXAnLCBuYW1lOiAnTW92ZSB0byBzdGVwJywgaXNBcnJheTogZmFsc2UgfVxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IGZpZWxkc0J5VHlwZTogUmVjb3JkPHN0cmluZywgRmllbGRbXT4gPSB7XHJcbiAgW0Zvcm1GaWVsZFR5cGUuVGV4dF06IFtcclxuICAgIC4uLmNvbW1vbkZpZWxkcyxcclxuICAgIHsgaWQ6ICdmZWVkQmFja1RleHQnLCBuYW1lOiAnVXNlIHRoaXMgZmllbGQgd2hlbiBjcmVhdGluZyBmZWVkYmFjayB0ZXh0JywgaXNBcnJheTogZmFsc2UgfVxyXG4gIF0sXHJcbiAgW0Zvcm1GaWVsZFR5cGUuVGV4dGFyZWFdOiBbXHJcbiAgICAuLi5jb21tb25GaWVsZHMsXHJcbiAgICB7IGlkOiAnZmVlZEJhY2tUZXh0JywgbmFtZTogJ1VzZSB0aGlzIGZpZWxkIHdoZW4gY3JlYXRpbmcgZmVlZGJhY2sgdGV4dCcsIGlzQXJyYXk6IGZhbHNlIH1cclxuICBdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkRhdGVdOiBbLi4uY29tbW9uRmllbGRzXSxcclxuICBbRm9ybUZpZWxkVHlwZS5TZWxlY3RdOiBbXHJcbiAgICAuLi5jb21tb25GaWVsZHMsXHJcbiAgICB7IGlkOiAnb3B0aW9ucycsIG5hbWU6ICdPcHRpb25zJywgaXNBcnJheTogdHJ1ZSB9LFxyXG4gICAgeyBpZDogJ2hhc090aGVyJywgbmFtZTogJ0hhcyBvdGhlcicsIGlzQXJyYXk6IGZhbHNlIH1cclxuICBdLFxyXG4gIFtGb3JtRmllbGRUeXBlLk51bWJlcl06IFsuLi5jb21tb25GaWVsZHNdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNoZWNrYm94XTogWy4uLmNvbW1vbkZpZWxkc10sXHJcbiAgW0Zvcm1GaWVsZFR5cGUuQ2hlY2tib3hHcm91cF06IFtcclxuICAgIC4uLmNvbW1vbkZpZWxkcyxcclxuICAgIHsgaWQ6ICdvcHRpb25zJywgbmFtZTogJ09wdGlvbnMnLCBpc0FycmF5OiB0cnVlIH0sXHJcbiAgICB7IGlkOiAnaGFzT3RoZXInLCBuYW1lOiAnSGFzIG90aGVyJywgaXNBcnJheTogZmFsc2UgfVxyXG4gIF0sXHJcbiAgW0Zvcm1GaWVsZFR5cGUuUmFkaW9dOiBbXHJcbiAgICAuLi5jb21tb25GaWVsZHMsXHJcbiAgICB7IGlkOiAnb3B0aW9ucycsIG5hbWU6ICdPcHRpb25zJywgaXNBcnJheTogdHJ1ZSB9LFxyXG4gICAgeyBpZDogJ2hhc090aGVyJywgbmFtZTogJ0hhcyBvdGhlcicsIGlzQXJyYXk6IGZhbHNlIH1cclxuICBdLFxyXG4gIFtGb3JtRmllbGRUeXBlLk5lZWRDb250YWN0XTogW1xyXG4gICAgLi4uY29tbW9uRmllbGRzLFxyXG4gICAgeyBpZDogJ29wdGlvbnMnLCBuYW1lOiAnT3B0aW9ucycsIGlzQXJyYXk6IHRydWUgfSxcclxuICAgIHsgaWQ6ICdkZWZhdWx0VmFsdWUnLCBuYW1lOiAnRGVmYXVsdCB2YWx1ZScsIGlzQXJyYXk6IGZhbHNlIH1cclxuICBdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkZpbGVdOiBbLi4uY29tbW9uRmllbGRzXSxcclxuICBbRm9ybUZpZWxkVHlwZS5QYXNzd29yZF06IFsuLi5jb21tb25GaWVsZHNdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkVtYWlsXTogWy4uLmNvbW1vbkZpZWxkc10sXHJcbiAgW0Zvcm1GaWVsZFR5cGUuUGhvbmVdOiBbLi4uY29tbW9uRmllbGRzXSxcclxuICBbRm9ybUZpZWxkVHlwZS5MaWtlcnRdOiBbXHJcbiAgICAuLi5jb21tb25GaWVsZHMsXHJcbiAgICB7IGlkOiAnb3B0aW9uc1RpdGxlJywgbmFtZTogJ09wdGlvbnMgdGl0bGUnLCBpc0FycmF5OiBmYWxzZSB9LFxyXG4gICAgeyBpZDogJ29wdGlvbnMnLCBuYW1lOiAnT3B0aW9ucycsIGlzQXJyYXk6IHRydWUgfSxcclxuICAgIHsgaWQ6ICdyb3dzJywgbmFtZTogJ1Jvd3MnLCBpc0FycmF5OiB0cnVlIH1cclxuICBdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNzYXRdOiBbXHJcbiAgICAuLi5jb21tb25GaWVsZHMsXHJcbiAgICB7IGlkOiAnZmlyc3RBbnN3ZXInLCBuYW1lOiAnRmlyc3QgYW5zd2VyJywgaXNBcnJheTogZmFsc2UgfSxcclxuICAgIHsgaWQ6ICdsYXN0QW5zd2VyJywgbmFtZTogJ0xhc3QgYW5zd2VyJywgaXNBcnJheTogZmFsc2UgfSxcclxuICAgIHsgaWQ6ICdoYXNOQScsIG5hbWU6ICdIYXMgTi9BJywgaXNBcnJheTogZmFsc2UgfVxyXG4gIF0sXHJcbiAgW0Zvcm1GaWVsZFR5cGUuQ0VTXTogWy4uLmNvbW1vbkZpZWxkcywgeyBpZDogJ2hhc05BJywgbmFtZTogJ0hhcyBOL0EnLCBpc0FycmF5OiBmYWxzZSB9XSxcclxuICBbRm9ybUZpZWxkVHlwZS5OUFNdOiBbXHJcbiAgICAuLi5jb21tb25GaWVsZHMsXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnY29tbWVudCcsXHJcbiAgICAgIG5hbWU6ICdDb21tZW50JyxcclxuICAgICAgaXNBcnJheTogZmFsc2UsXHJcbiAgICAgIGlzT2JqZWN0OiB0cnVlLFxyXG4gICAgICBvYmplY3RGaWVsZHM6IFtcclxuICAgICAgICB7IGlkOiAnY29tbWVudFRpdGxlJywgbmFtZTogJ0NvbW1lbnQgVGl0bGUnLCBpc0FycmF5OiBmYWxzZSB9LFxyXG4gICAgICAgIHsgaWQ6ICdjb21tZW50U3VidGl0bGUnLCBuYW1lOiAnQ29tbWVudCBTdWJ0aXRsZScsIGlzQXJyYXk6IGZhbHNlIH0sXHJcbiAgICAgICAgeyBpZDogJ2NvbW1lbnRXYXJuaW5nTWVzc2FnZScsIG5hbWU6ICdDb21tZW50IFdhcm5pbmcgTWVzc2FnZScsIGlzQXJyYXk6IGZhbHNlIH1cclxuICAgICAgXVxyXG4gICAgfSxcclxuICAgIHsgaWQ6ICdmaXJzdEFuc3dlcicsIG5hbWU6ICdGaXJzdCBhbnN3ZXInLCBpc0FycmF5OiBmYWxzZSB9LFxyXG4gICAgeyBpZDogJ2xhc3RBbnN3ZXInLCBuYW1lOiAnTGFzdCBhbnN3ZXInLCBpc0FycmF5OiBmYWxzZSB9XHJcbiAgXSxcclxuICBbRm9ybUZpZWxkVHlwZS5RRV06IFtcclxuICAgIC4uLmNvbW1vbkZpZWxkcyxcclxuICAgIHsgaWQ6ICdmaXJzdEFuc3dlcicsIG5hbWU6ICdGaXJzdCBhbnN3ZXInLCBpc0FycmF5OiBmYWxzZSB9LFxyXG4gICAgeyBpZDogJ2xhc3RBbnN3ZXInLCBuYW1lOiAnTGFzdCBhbnN3ZXInLCBpc0FycmF5OiBmYWxzZSB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ3FlU2NhbGVzJyxcclxuICAgICAgbmFtZTogJ1FFIHNjYWxlcycsXHJcbiAgICAgIGlzQXJyYXk6IHRydWUsXHJcbiAgICAgIGNoaWxkcmVuOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWQ6ICdxZVNjYWxlQ2hpbGRyZW4nLFxyXG4gICAgICAgICAgbmFtZTogJ1FFIFNjYWxlIENoaWxkcmVuJyxcclxuICAgICAgICAgIGlzQXJyYXk6IHRydWUsXHJcbiAgICAgICAgICBwYXJlbnRBcnJheTogJ3FlU2NhbGVzJ1xyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfVxyXG4gIF0sXHJcbiAgW0Zvcm1GaWVsZFR5cGUuQ29udGFjdE5hbWVdOiBbLi4uY29tbW9uRmllbGRzXSxcclxuICBbRm9ybUZpZWxkVHlwZS5Db250YWN0U3VybmFtZV06IFsuLi5jb21tb25GaWVsZHNdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNvbnRhY3RFbWFpbF06IFsuLi5jb21tb25GaWVsZHNdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNvbnRhY3RQaG9uZV06IFsuLi5jb21tb25GaWVsZHNdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNvdW50cnlEcm9wZG93bl06IFsuLi5jb21tb25GaWVsZHNdXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZGVmYXVsdE9wdGlvblZhbHVlczogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdID0gW107XHJcblxyXG5leHBvcnQgY29uc3QgY29udHJvbHNNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHtcclxuICB2YWxpZGF0b3JzOiBbJ3R5cGUnLCAndmFsdWUnLCAnZXJyb3Jtc2cnXSxcclxuICBvcHRpb25zOiBbJ25hbWUnLCAndmFsdWUnLCAnY291bnRyeSddLFxyXG4gIHJvd3M6IFsndGl0bGUnXSxcclxuICBxZVNjYWxlczogWyd0aXRsZScsICdzdWJ0aXRsZScsICdxZVNjYWxlQ2hpbGRyZW4nXSxcclxuICBxZVNjYWxlQ2hpbGRyZW46IFsndGl0bGUnXVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRDb25kaXRpb25hbExvZ2ljQmxvY2s6IENvbmRpdGlvbmFsTG9naWNCbG9jayA9IHtcclxuICBzZWxlY3RlZEZpZWxkOiB7XHJcbiAgICB0eXBlOiAnJyxcclxuICAgIGlkOiAnJyxcclxuICAgIG5hbWU6ICcnXHJcbiAgfSxcclxuICBzZWxlY3RlZENvbmRpdGlvbjogJycsXHJcbiAgY29uZGl0aW9uVmFsdWU6ICcnLFxyXG4gIHNlbGVjdGVkQWN0aW9uOiAnJyxcclxuICBzZWxlY3RlZFRhcmdldEZpZWxkOiAnJyxcclxuICB0eXBlOiAnY29uZGl0aW9uYWxMb2dpY0Jsb2NrJ1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbmRpdGlvbk9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHtcclxuICB0ZXh0OiBbJ2VxdWFscycsICdjb250YWlucycsICdpcyBlbXB0eScsICdpcyBub3QgZW1wdHknXSxcclxuICBjaGVja2JveDogWydpcyBlbXB0eScsICdpcyBub3QgZW1wdHknXSxcclxuICBudW1iZXI6IFtcclxuICAgICdlcXVhbHMnLFxyXG4gICAgJ25vdCBlcXVhbHMnLFxyXG4gICAgJ2dyZWF0ZXInLFxyXG4gICAgJ2xlc3MnLFxyXG4gICAgJ2dyZWF0ZXIgb3IgZXF1YWxzJyxcclxuICAgICdsZXNzIG9yIGVxdWFscycsXHJcbiAgICAnaXMgZW1wdHknLFxyXG4gICAgJ2lzIG5vdCBlbXB0eSdcclxuICBdXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaGF2ZU9wdGlvbnNGaWVsZFR5cGVzID0gW1xyXG4gICdzZWxlY3QnLFxyXG4gICdjaGVja2JveC1ncm91cCcsXHJcbiAgJ3JhZGlvJyxcclxuICAnbGlrZXJ0JyxcclxuICAnbmVlZC1jb250YWN0J1xyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IHdpdGhvdXRWYWx1ZVZhbGlkYXRvclR5cGVzID0gWydyZXF1aXJlZCcsICdyZXF1aXJlZFRydWUnLCAnZW1haWwnXTtcclxuXHJcbmV4cG9ydCBjb25zdCBib29sZWFuRmllbGRzOiBGb3JtRmllbGRCb29sZWFuS2V5c1tdID0gWydhY3RpdmUnLCAncmVxdWlyZWQnLCAnaGFzT3RoZXInLCAnaGFzTkEnXTtcclxuXHJcbmV4cG9ydCBjb25zdCBhcnJheVByb3BlcnRpZXM6IChrZXlvZiBGb3JtRmllbGQpW10gPSBbJ3ZhbGlkYXRvcnMnLCAnb3B0aW9ucycsICdyb3dzJywgJ3FlU2NhbGVzJ107XHJcblxyXG5leHBvcnQgY29uc3QgZGVmYXVsdFZhbHVlc01hcDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj4gPSB7XHJcbiAgb3B0aW9uczoge1xyXG4gICAgY291bnRyeTogJ1paJ1xyXG4gIH1cclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBtYXhMZW5ndGhNYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7XHJcbiAgcGxhY2Vob2xkZXI6IDI1MCxcclxuICB0aXRsZTogMTAwMCxcclxuICB3YXJuaW5nTWVzc2FnZTogMTAwMCxcclxuICBhbmFseXRpY3NUaXRsZTogMjUwXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcmVxdWlyZWRTdWJmaWVsZHNNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHtcclxuICBvcHRpb25zOiBbJ25hbWUnLCAndmFsdWUnXSxcclxuICByb3dzOiBbJ3RpdGxlJ10sXHJcbiAgcWVTY2FsZXM6IFsndGl0bGUnXVxyXG59O1xyXG4iXX0=