module.exports = "(function(e,i,r){var n=r(5894),t=r(7358),s=r(4527),o=r(4438),d=r(3896),p=r(1571);i.registerApiModule=function(e,i){n.isArray(i)&&(i=s.evaluate(i)),p.dispatch(t.REGISTER_PLUGIN,{type:o.PluginTypes.apiModules,name:e,plugin:i})},i.registerDependency=function(e,i){var r=s.get(e);if(__INVARIANT__&&r&&i!==r)throw new Error(\"A different dependency is already registered for \"+e);r||s.register(e,i)},i.registerVisitorProfileProvider=function(e){p.dispatch(t.REGISTER_PLUGIN,{type:o.PluginTypes.visitorProfileProviders,name:e.provides,plugin:e})},i.registerViewProvider=function(e){p.dispatch(t.REGISTER_PLUGIN,{type:o.PluginTypes.viewProviders,name:e.provides,plugin:e})},i.registerAudienceMatcher=function(e,i){p.dispatch(t.REGISTER_PLUGIN,{type:o.PluginTypes.audienceMatchers,name:e,plugin:i})},i.registerViewMatcher=function(e,i){p.dispatch(t.REGISTER_PLUGIN,{type:o.PluginTypes.viewMatchers,name:e,plugin:i})},i.registerAnalyticsTracker=function(e,i){p.dispatch(t.REGISTER_PLUGIN,{type:o.PluginTypes.analyticsTrackers,name:e,plugin:i})},i.registerViewTagLocator=function(e,i){p.dispatch(t.REGISTER_PLUGIN,{type:o.PluginTypes.viewTagLocators,name:e,plugin:i})},i.registerAudiencePlugin=function(e){if(__INVARIANT__){if(!e.vendor)throw new Error(\"config.vendor is required!\");if(!e.provider)throw new Error(\"config.provider is required!\");if(!e.matcher)throw new Error(\"config.matcher is required!\")}e.dependencies&&n.each(e.dependencies,(function(e,r){i.registerDependency(r,e)}));var r,t,o=\"vendor.\"+e.vendor;r=n.isString(e.provider)?s.get(e.provider)(e.vendor):n.isFunction(e.provider)?e.provider(e.vendor):n.cloneDeep(e.provider),i.registerVisitorProfileProvider(n.extend(r,{provides:o})),t=n.isString(e.matcher)?s.get(e.matcher):e.matcher;var d={fieldsNeeded:[o],match:function(e,i){return t(e[o],i)}};i.registerAudienceMatcher(o,d)},i.registerWidget=function(e){return n.isArray(e)&&(e=s.evaluate(e)),{showToken:d.on({filter:{type:\"showWidget\",name:e.widgetId},handler:e.showFn}),hideToken:d.on({filter:{type:\"hideWidget\",name:e.widgetId},handler:e.hideFn})}},i.registerChangeApplier=function(e,i){p.dispatch(t.REGISTER_PLUGIN,{type:o.PluginTypes.changeAppliers,name:e,plugin:i})},i.registerDecider=function(e,i){p.dispatch(t.REGISTER_PLUGIN,{type:o.PluginTypes.deciders,name:e,plugin:i})},i.registerEventImplementation=function(e,i){p.dispatch(t.REGISTER_PLUGIN,{type:o.PluginTypes.eventImplementations,name:e,plugin:i})},i.registerViewTrigger=function(e,i){p.dispatch(t.REGISTER_PLUGIN,{type:o.PluginTypes.viewTriggers,name:e,plugin:i})}})";