/// <summary>
        /// Initializes a new instance of the <see cref="Crisis.Run"/> class.
        /// </summary>
        /// <param name="lang">Lang.</param>
        public Run(ResourceManager lang)
        {
            Interface option = new Interface(lang);

            _option = option;

            commun = new Wordlist(lang);

            bool b = true;

            while (b)
            {
                int  i         = 0;
                Main principal = new Main(lang);
                principal.Menu(); /// Main menu

                i = option.SelectOption(4);
                bool zip = false;


                if (i == 1)
                {
                    int typesAtGenerate = commun.Wifi();
                    if (typesAtGenerate == 1)
                    {
                        Parameter.NumberOfChar = 20;
                    }
                    else
                    {
                        Parameter.NumberOfChar = 26;
                    }

                    Parameter.CharsetSelecting       = option.InterfaceSelectCharset(lang);
                    Parameter.NumberOfAllCombination = tools.CalculOfAllCombinaison(Repeat, 3, Parameter.NumberOfChar, Parameter.CharsetSelecting);
                    BackupFileWordlist();
                    tools.StatiscalInfoSize(Parameter.NumberOfAllCombination, 3, Parameter.NumberOfChar);
                    b = GenerateWordlist(3);
                }
                else if (i == 2)
                {
                    commun.MainCharacter();

                    Parameter.CharsetSelecting = option.InterfaceSelectCharset(lang);
                    int typesAtGenerate = option.TypesAtGenerate();

                    if (typesAtGenerate == 1)
                    {
                        Parameter.NumberOfChar = option.SizeOfWorld(Parameter.CharsetSelecting, Parameter.NumberOfChar, typesAtGenerate);

                        Parameter.CharsetSelecting = ChangeStartEndReverseMixPattern(Parameter.CharsetSelecting);
                        BackupFileWordlist();
                        Parameter.NumberOfAllCombination = tools.CalculOfAllCombinaison(false, typesAtGenerate, Parameter.NumberOfChar, Parameter.CharsetSelecting);

                        tools.StatiscalInfoSize(Parameter.NumberOfAllCombination, typesAtGenerate, Parameter.NumberOfChar);
                        b = GenerateWordlist(1);
                    }
                    else if (typesAtGenerate == 2 | typesAtGenerate == 4 | typesAtGenerate == 5)
                    {
                        Parameter.NumberOfChar = option.SizeOfWorld(Parameter.CharsetSelecting, Parameter.NumberOfChar, typesAtGenerate);
                        Repeat = option.Repetition(Repeat);

                        Parameter.CharsetSelecting       = ChangeStartEndReverseMixPattern(Parameter.CharsetSelecting);
                        Parameter.NumberOfAllCombination = tools.CalculOfAllCombinaison(Repeat, typesAtGenerate, Parameter.NumberOfChar, Parameter.CharsetSelecting);
                        BackupFileWordlist();
                        tools.StatiscalInfoSize(Parameter.NumberOfAllCombination, typesAtGenerate, Parameter.NumberOfChar);

                        b = GenerateWordlist(typesAtGenerate);
                    }
                    else if (typesAtGenerate == 3)
                    {
                        Parameter.NumberOfChar           = option.SizeOfWorld(Parameter.CharsetSelecting, Parameter.NumberOfChar, typesAtGenerate);
                        Parameter.NumberOfAllCombination = tools.CalculOfAllCombinaison(Repeat, typesAtGenerate, Parameter.NumberOfChar, Parameter.CharsetSelecting);
                        BackupFileWordlist();
                        tools.StatiscalInfoSize(Parameter.NumberOfAllCombination, typesAtGenerate, Parameter.NumberOfChar);
                        b = GenerateWordlist(3);
                    }
                }
                else if (i == 3)
                {
                    principal.TransformWordlist();
                    int typesAtGenerate = 0;

                    bool booleanne = true;
                    while (booleanne)
                    {
                        typesAtGenerate = option.SelectOption(4);

                        if (typesAtGenerate == 1 | typesAtGenerate == 2 | typesAtGenerate == 3 | typesAtGenerate == 4 | typesAtGenerate == 88 | typesAtGenerate == 99)
                        {
                            booleanne = false;
                        }
                    }


                    if (typesAtGenerate == 88)
                    {
                        new Run(lang);
                    }
                    if (typesAtGenerate == 99)
                    {
                        Environment.Exit(0);
                    }


                    PathBackUpFiles = option.PathOfBuckupFiles();
                    zip             = option.SaveCharsetInFilesZip();
                    string extension = Interface.ExtensionFileOutputPath(zip);

                    Parameter.CharsetSelecting = option.MenuReadFileTxt();

                    TransformTextFiles toDoTransformFile = new TransformTextFiles();
                    if (typesAtGenerate == 1)
                    {
                        toDoTransformFile.L33tSpeek(Parameter.CharsetSelecting, PathBackUpFiles, extension, zip);
                    }
                    else if (typesAtGenerate == 2)
                    {
                        toDoTransformFile.LowercaseToUppercas(Parameter.CharsetSelecting, PathBackUpFiles, extension, zip);
                    }
                    else if (typesAtGenerate == 3)
                    {
                        toDoTransformFile.UppercaseToLowercase(Parameter.CharsetSelecting, PathBackUpFiles, extension, zip);
                    }
                    else if (typesAtGenerate == 4)
                    {
                        toDoTransformFile.AutoUppercaseLowercase(Parameter.CharsetSelecting, PathBackUpFiles, extension, zip);
                    }
                    else
                    {
                        b = false;
                    }

                    i = 0;
                }
                else if (i == 4)
                {
                    Parameter.CharsetSelecting = option.UserPasswordProfilerCharset(Parameter.CharsetSelecting);
                    Console.Write("\n");

                    int typesAtGenerate = option.TypesAtGenerate();

                    Parameter.NumberOfChar = option.SizeOfWorld(Parameter.CharsetSelecting, Parameter.NumberOfChar, typesAtGenerate);
                    Repeat = option.Repetition(Repeat);

                    Parameter.NumberOfAllCombination = tools.CalculOfAllCombinaison(Repeat, typesAtGenerate, Parameter.NumberOfChar, Parameter.CharsetSelecting);
                    BackupFileWordlist();
                    tools.StatiscalInfoSize(Parameter.NumberOfAllCombination, typesAtGenerate, Parameter.NumberOfChar);

                    b = GenerateWordlist(typesAtGenerate);
                }
                else if (i == 99)
                {
                    Environment.Exit(0);
                }
                else
                {
                    b = true;
                }
            }
        }