export function track(n,a,e,r){var t;(t=window.dataLayer)!=null||(window.dataLayer=[]),typeof n=="string"?window.dataLayer.push({event:n,event_category:a,event_action:e,event_label:r}):window.dataLayer.push(n)}export function func(n){var a;(a=window.dataLayer)!=null||(window.dataLayer=[]),window.dataLayer.push(n)}
//# sourceMappingURL=analytics.js.map
