text: import { createStore, applyMiddleware } from "redux";
  import thunk from "redux-thunk";
  import { composeWithDevTools } from "redux-devtools-extension";
  import reducer from "./reducers";
  import mediaMiddleware from "./mediaMiddleware";
  import analyticsMiddleware from "./analyticsMiddleware";
  import { merge } from "./utils";
  import { UPDATE_TIME_ELAPSED, STEP_MARQUEE } from "./actionTypes";
  
  const compose = composeWithDevTools({
    actionsBlacklist: [UPDATE_TIME_ELAPSED, STEP_MARQUEE]
  });
  
  const getStore = (media, stateOverrides) => {
    let initialState;
    if (stateOverrides) {
      initialState = merge(
        reducer(undefined, { type: "@@init" }),
        stateOverrides
      );
    }
    return createStore(
      reducer,
      initialState,
      compose(applyMiddleware(thunk, mediaMiddleware(media), analyticsMiddleware))
    );
  };
  
  export default getStore;
  