<commit_before>import React, { Component, PropTypes } from 'react';
import {
  saveObjToStorage, getSettings, getFromStorage, saveToStorage
} from '../utils/localStorage';
import styles from '../styles';
import DevTools from '../containers/DevTools';
import Dispatcher from './monitors/Dispatcher';
import {
  createRemoteStore, updateStoreInstance, enableSync,
  startMonitoring, importState, exportState
} from '../store/createRemoteStore';
import ButtonBar from '../components/ButtonBar';
import Instances from '../components/Instances';
import MonitorSelector from '../components/MonitorSelector';
import SyncToggle from '../components/SyncToggle';
import TestGenerator from '../components/TestGenerator';

export default class App extends Component {
  static propTypes = {
    selectMonitor: PropTypes.string,
    testTemplates: PropTypes.array,
    useCodemirror: PropTypes.bool,
    selectedTemplate: PropTypes.number,
    socketOptions: PropTypes.shape({
      hostname: PropTypes.string,
      port: PropTypes.number,
      autoReconnect: PropTypes.bool,
      secure: PropTypes.bool
    }),
    noSettings: PropTypes.bool
  };

  constructor() {
    super();
    this.openModal = this.openModal.bind(this);
    this.closeModal = this.closeModal.bind(this);
    this.toggleDispatcher = this.toggleDispatcher.bind(this);
    this.toggleSlider = this.toggleSlider.bind(this);<commit_msg>Port param can be  string<commit_after>import React, { Component, PropTypes } from 'react';
import {
  saveObjToStorage, getSettings, getFromStorage, saveToStorage
} from '../utils/localStorage';
import styles from '../styles';
import DevTools from '../containers/DevTools';
import Dispatcher from './monitors/Dispatcher';
import {
  createRemoteStore, updateStoreInstance, enableSync,
  startMonitoring, importState, exportState
} from '../store/createRemoteStore';
import ButtonBar from '../components/ButtonBar';
import Instances from '../components/Instances';
import MonitorSelector from '../components/MonitorSelector';
import SyncToggle from '../components/SyncToggle';
import TestGenerator from '../components/TestGenerator';

export default class App extends Component {
  static propTypes = {
    selectMonitor: PropTypes.string,
    testTemplates: PropTypes.array,
    useCodemirror: PropTypes.bool,
    selectedTemplate: PropTypes.number,
    socketOptions: PropTypes.shape({
      hostname: PropTypes.string,
      port: PropTypes.oneOfType([React.PropTypes.string, React.PropTypes.number]),
      autoReconnect: PropTypes.bool,
      secure: PropTypes.bool
    }),
    noSettings: PropTypes.bool
  };

  constructor() {
    super();
    this.openModal = this.openModal.bind(this);
    this.closeModal = this.closeModal.bind(this);
    this.toggleDispatcher = this.toggleDispatcher.bind(this);
    this.toggleSlider = this.toggleSlider.bind(this);
{'fraction_non_alphanumeric': 0.1159369527145359, 'fraction_numerical': 0.0, 'mean_word_length': 4.524177949709864, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7026598', 'n_tokens_mistral': 750, 'n_tokens_neox': 764, 'n_words': 188}