/*
 * This file was automatically generated.
 * DO NOT MODIFY BY HAND.
 * Run `yarn fix:special` to update
 */
"use strict";function t(e,{instancePath:s="",parentData:r,parentDataProperty:l,rootData:n=e}={}){let o=null,a=0;if(a==a){if(!e||"object"!=typeof e||Array.isArray(e))return t.errors=[{params:{type:"object"}}],!1;{const s=a;for(const s in e)if("sources"!==s&&"template"!==s)return t.errors=[{params:{additionalProperty:s}}],!1;if(s===a){if(void 0!==e.sources){let s=e.sources;const r=a,l=a;let n=!1;const c=a;if(a===c)if(Array.isArray(s))if(s.length<1){const t={params:{limit:1}};null===o?o=[t]:o.push(t),a++}else{const t=s.length;for(let e=0;e<t;e++){let t=s[e];const r=a,l=a;let n=!1;const u=a;if("..."!==t){const t={params:{}};null===o?o=[t]:o.push(t),a++}var i=u===a;if(n=n||i,!n){const e=a;if(a===e)if(t&&"object"==typeof t&&!Array.isArray(t)){let e;if(void 0===t.attribute&&(e="attribute")||void 0===t.type&&(e="type")){const t={params:{missingProperty:e}};null===o?o=[t]:o.push(t),a++}else{const e=a;for(const e in t)if("attribute"!==e&&"filter"!==e&&"tag"!==e&&"type"!==e){const t={params:{additionalProperty:e}};null===o?o=[t]:o.push(t),a++;break}if(e===a){if(void 0!==t.attribute){let e=t.attribute;const s=a;if(a===s)if("string"==typeof e){if(e.length<1){const t={params:{}};null===o?o=[t]:o.push(t),a++}}else{const t={params:{type:"string"}};null===o?o=[t]:o.push(t),a++}var p=s===a}else p=!0;if(p){if(void 0!==t.filter){const e=a;if(!(t.filter instanceof Function)){const t={params:{}};null===o?o=[t]:o.push(t),a++}p=e===a}else p=!0;if(p){if(void 0!==t.tag){let e=t.tag;const s=a;if(a===s)if("string"==typeof e){if(e.length<1){const t={params:{}};null===o?o=[t]:o.push(t),a++}}else{const t={params:{type:"string"}};null===o?o=[t]:o.push(t),a++}p=s===a}else p=!0;if(p)if(void 0!==t.type){let e=t.type;const s=a;if("src"!==e&&"srcset"!==e&&"css-url"!==e&&"script"!==e&&"script-module"!==e&&"stylesheet"!==e&&"stylesheet-style"!==e&&"stylesheet-style-attribute"!==e&&"srcdoc"!==e){const t={params:{}};null===o?o=[t]:o.push(t),a++}p=s===a}else p=!0}}}}}else{const t={params:{type:"object"}};null===o?o=[t]:o.push(t),a++}i=e===a,n=n||i}if(n)a=l,null!==o&&(l?o.length=l:o=null);else{const t={params:{}};null===o?o=[t]:o.push(t),a++}if(r!==a)break}}else{const t={params:{type:"array"}};null===o?o=[t]:o.push(t),a++}var u=c===a;if(n=n||u,!n){const t=a;if("boolean"!=typeof s){const t={params:{type:"boolean"}};null===o?o=[t]:o.push(t),a++}u=t===a,n=n||u}if(!n){const e={params:{}};return null===o?o=[e]:o.push(e),a++,t.errors=o,!1}a=l,null!==o&&(l?o.length=l:o=null);var f=r===a}else f=!0;if(f)if(void 0!==e.template){const s=a;if(!(e.template instanceof Function))return t.errors=[{params:{}}],!1;f=s===a}else f=!0}}}return t.errors=o,0===a}module.exports=t,module.exports.default=t;
