<commit_before>using System;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using Microsoft.Win32;

namespace OpenQA.Selenium.Chrome
{
    /// <summary>
    /// Provides a mechanism to find the Chrome Binary
    /// </summary>
    public class ChromeBinary
    {
        private static readonly string[] chromePaths = new string[]
        {
            "/usr/bin/google-chrome",
            "/usr/bin/chromium",
            "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
            string.Concat("/Users/", Environment.UserName, "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome")
        };

        private const string LocalCommandExecutorServerUrl = "http://localhost:{0}/chromeCommandExecutor";
        private const int ShutdownWaitInterval = 2000;
        private const int StartWaitInterval = 2500;
        private static int linearStartWaitCoefficient = 1;
        private static string chromeFile = string.Empty;
        private ChromeProfile profile;
        private ChromeExtension extension;
        private Process chromeProcess;
        private int listeningPort;
        private StringBuilder customArgs = new StringBuilder();


        /// <summary>
        /// Initializes a new instance of the ChromeBinary class using the given <see cref="ChromeProfile"/> and <see cref="ChromeExtension"/>.
        /// </summary>
        /// <param name="profile">The Chrome profile to use.</param>
        /// <param name="extension">The extension to launch Chrome with.</param>
        internal ChromeBinary(ChromeProfile profile, ChromeExtension extension)
            : this(profile, extension, 0)
        {
        }

        /// <summary>
        /// Initializes a new instance of the ChromeBinary class using the given <see cref="ChromeProfile"/>, <see cref="ChromeExtension"/> and port value.<commit_msg>DavidBurns added Unix chrome binary location<commit_after>using System;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using Microsoft.Win32;

namespace OpenQA.Selenium.Chrome
{
    /// <summary>
    /// Provides a mechanism to find the Chrome Binary
    /// </summary>
    public class ChromeBinary
    {
        private static readonly string[] chromePaths = new string[]
        {
            "/usr/bin/google-chrome",
            "/usr/bin/chromium",
			"/usr/bin/chromium-browser",
            "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
            string.Concat("/Users/", Environment.UserName, "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome")
        };

        private const string LocalCommandExecutorServerUrl = "http://localhost:{0}/chromeCommandExecutor";
        private const int ShutdownWaitInterval = 2000;
        private const int StartWaitInterval = 2500;
        private static int linearStartWaitCoefficient = 1;
        private static string chromeFile = string.Empty;
        private ChromeProfile profile;
        private ChromeExtension extension;
        private Process chromeProcess;
        private int listeningPort;
        private StringBuilder customArgs = new StringBuilder();


        /// <summary>
        /// Initializes a new instance of the ChromeBinary class using the given <see cref="ChromeProfile"/> and <see cref="ChromeExtension"/>.
        /// </summary>
        /// <param name="profile">The Chrome profile to use.</param>
        /// <param name="extension">The extension to launch Chrome with.</param>
        internal ChromeBinary(ChromeProfile profile, ChromeExtension extension)
            : this(profile, extension, 0)
        {
        }

        /// <summary>
        /// Initializes a new instance of the ChromeBinary class using the given <see cref="ChromeProfile"/>, <see cref="ChromeExtension"/> and port value.
{'fraction_non_alphanumeric': 0.1013326628111642, 'fraction_numerical': 0.006537591149107368, 'mean_word_length': 2.7599243856332705, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 29, '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': '7385329', 'n_tokens_mistral': 1004, 'n_tokens_neox': 952, 'n_words': 305}