I've got the launcher installed and I installed optifine but when I hit play I get a crash with this on the development console


Loaded 2 profile(s); selected 'OptiFine'
Getting syncinfo for selected version
Queueing library & version downloads
Download job 'Version & Libraries' started (16 threads, 3 files)
Attempting to download C:\Users\lsmit\AppData\Roaming\.minecraft\libraries\net\minecraft\launchwrapper\1.12\launchwrapper-1.12.jar for job 'Version & Libraries'... (try 0)
Attempting to download C:\Users\lsmit\AppData\Roaming\.minecraft\libraries\optifine\OptiFine\1.12.1_HD_U_C5\OptiFine-1.12.1_HD_U_C5.jar for job 'Version & Libraries'... (try 0)
Attempting to download C:\Users\lsmit\AppData\Roaming\.minecraft\versions\1.12.1-OptiFine_HD_U_C5\1.12.1-OptiFine_HD_U_C5.jar for job 'Version & Libraries'... (try 0)
Delta time to compare resources: 937 ms
Download job 'Resources' skipped as there are no files to download
Job 'Resources' finished successfully
Finished downloading C:\Users\lsmit\AppData\Roaming\.minecraft\versions\1.12.1-OptiFine_HD_U_C5\1.12.1-OptiFine_HD_U_C5.jar for job 'Version & Libraries': Couldn't connect to server (responded with 403) but have local file, assuming it's good
Finished downloading C:\Users\lsmit\AppData\Roaming\.minecraft\libraries\optifine\OptiFine\1.12.1_HD_U_C5\OptiFine-1.12.1_HD_U_C5.jar for job 'Version & Libraries': Couldn't connect to server (responded with 404) but have local file, assuming it's good
Finished downloading C:\Users\lsmit\AppData\Roaming\.minecraft\libraries\net\minecraft\launchwrapper\1.12\launchwrapper-1.12.jar for job 'Version & Libraries': Local file matches local checksum, using that
Job 'Version & Libraries' finished successfully
Launching game
Looking for old natives to clean up...
Unpacking natives to C:\Users\lsmit\AppData\Roaming\.minecraft\versions\1.12.1-OptiFine_HD_U_C5\1.12.1-OptiFine_HD_U_C5-natives-583433875055079
Launching in C:\Users\lsmit\AppData\Roaming\.minecraft
Half command: C:\Program Files (x86)\Java\jre1.8.0_144\bin\java.exe -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx512M -Djava.library.path=C:\Users\lsmit\AppData\Roaming\.minecraft\versions\1.12.1-OptiFine_HD_U_C5\1.12.1-OptiFine_HD_U_C5-natives-583433875055079 -cp C:\Users\lsmit\AppData\Roaming\.minecraft\libraries\optifine\OptiFine\1.12.1_HD_U_C5\OptiFine-1.12.1_HD_U_C5.jar;C:\Users\lsmit\AppData\Roaming\.minecraft\libraries\net\minecraft\launchwrapper\1.12\launchwrapper-1.12.jar;C:\Users\lsmit\AppData\Roaming\.minecraft\versions\1.12.1-OptiFine_HD_U_C5\1.12.1-OptiFine_HD_U_C5.jar net.minecraft.launchwrapper.Launch
Running C:\Program Files (x86)\Java\jre1.8.0_144\bin\java.exe -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx512M -Djava.library.path=C:\Users\lsmit\AppData\Roaming\.minecraft\versions\1.12.1-OptiFine_HD_U_C5\1.12.1-OptiFine_HD_U_C5-natives-583433875055079 -cp C:\Users\lsmit\AppData\Roaming\.minecraft\libraries\optifine\OptiFine\1.12.1_HD_U_C5\OptiFine-1.12.1_HD_U_C5.jar;C:\Users\lsmit\AppData\Roaming\.minecraft\libraries\net\minecraft\launchwrapper\1.12\launchwrapper-1.12.jar;C:\Users\lsmit\AppData\Roaming\.minecraft\versions\1.12.1-OptiFine_HD_U_C5\1.12.1-OptiFine_HD_U_C5.jar net.minecraft.launchwrapper.Launch --username Kingslayer --version 1.12.1-OptiFine_HD_U_C5 --gameDir C:\Users\lsmit\AppData\Roaming\.minecraft --assetsDir C:\Users\lsmit\AppData\Roaming\.minecraft\assets --assetIndex 1.12 --uuid 9844f46d-39a2-344c-bc0c-8fc7043f6a6a --accessToken - --userType ${user_type} --versionType ${version_type} --tweakClass optifine.OptiFineTweaker
Client> java.lang.NoClassDefFoundError: joptsimple/OptionSpec
Client> at java.lang.Class.getDeclaredMethods0(Native Method)
Client> at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
Client> at java.lang.Class.privateGetMethodRecursive(Unknown Source)
Client> at java.lang.Class.getMethod0(Unknown Source)
Client> at java.lang.Class.getMethod(Unknown Source)
Client> at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
Client> at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Client> Caused by: java.lang.ClassNotFoundException: joptsimple.OptionSpec
Client> at java.net.URLClassLoader.findClass(Unknown Source)
Client> at java.lang.ClassLoader.loadClass(Unknown Source)
Client> at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
Client> at java.lang.ClassLoader.loadClass(Unknown Source)
Client> ... 7 more
Client> Error: A JNI error has occurred, please check your installation and try again
Client> Exception in thread "main"
Game ended with bad state (exit code 1)
Ignoring visibility rule and showing launcher due to a game crash
Deleting C:\Users\lsmit\AppData\Roaming\.minecraft\versions\1.12.1-OptiFine_HD_U_C5\1.12.1-OptiFine_HD_U_C5-natives-583433875055079

Any help please?