commit cda398ef47927f8ebc659bf5088a3da05dfbcc21
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Wed Jan 12 00:22:07 2022 +0100

    Pyramorphix: tutorials

diff --git a/src/main/java/org/distorted/tutorials/TutorialList.java b/src/main/java/org/distorted/tutorials/TutorialList.java
index 4ac1d72a..aee90542 100644
--- a/src/main/java/org/distorted/tutorials/TutorialList.java
+++ b/src/main/java/org/distorted/tutorials/TutorialList.java
@@ -153,40 +153,31 @@ public enum TutorialList
                          }
        ),
 
-  MIRR2 ( ObjectConstants.MIRR_2,
-          new String[][] {
-                          {"gb","rSH-ZEqTmxs","Solve 2x2 Mirror Blocks","King of Cubing"},
-                          {"es","Ipz-Ajpd4Fg","Como resolver el mirror 2x2","RUBI CUBI"},
-                          {"ru","rGqZq0bjZlM","Как собрать Зеркальный кубик 2x2","maggam1000"},
-                          {"de","fFMf1G7MYmA","2x2 Mirror Cube Anfängerlösung","rofrisch"},
-                          {"pl","C6B_ZT6xilw","Jak ułożyć kostkę mirror 2x2","Lisek Smolisek"},
-                          {"kr","9S4QTkyNm4Y","2x2 Mirror Cube","큐브놀이터"},
-                         }
-       ),
-
-  MIRR3 ( ObjectConstants.MIRR_3,
+  WIND3 ( ObjectConstants.WIND_3,
           new String[][] {
-                          {"gb","YkzXIWnqbSw","How to Solve the Mirror Cube","Z3"},
-                          {"es","ZTkunMo51l0","Resolver cubo de Rubik MIRROR","Cuby"},
-                          {"ru","1QPAD3Q4r78","Как собрать Зеркальный Куб","Алексей Ярыгин"},
-                          {"fr","tlFLE2UvjFo","Tutoriel: le rubik's cube mirroir","Le Cubiste"},
-                          {"de","Qf2EadLLiZo","Mirror Cube lösen","Pezcraft"},
-                          {"pl","r1-MzAL3TxE","Jak ułożyć kostkę mirror","Cube Masters"},
-                          {"br","HWGGpIKRT_I","Como resolver o Mirror Blocks","Pedro Filho"},
-                          {"kr","p3OJSbWopqg","미러블럭 해법","듀나메스 큐브 해법연구소"},
+                          {"gb","Jh8Bg7gT3PI","Windmill Cube Tutorial","Cube Solve Hero"},
+                          {"es","wVyJs7AboKk","Como resolver Windmill","Tutoriales Rubik"},
+                          {"ru","vavVAuEplKI","Как собрать Мельницу","Алексей Ярыгин"},
+                          {"fr","qiVsyF1nn7o","Résolution du Windmill Cube","asthalis"},
+                          {"de","JCYcAd0iCKk","Windmill Cube Tutorial","Pezcraft"},
+                          {"pl","GZI_PtcURaA","Windmill TUTORIAL PL","MrUk"},
+                          {"br","TXNVMp70lVE","Resolução do Windmill Cube","Pedro Filho"},
+                          {"kr","gELuvKW2Itw","윈드밀  큐브 해법 강좌","굿맨's 큐브 이야기"},
                          }
-       ),
+        ),
 
-  MIRR4 ( ObjectConstants.MIRR_4,
+  FISH3 ( ObjectConstants.FISH_3,
           new String[][] {
-                          {"gb","6gyQ5qBK8GU","4x4 Mirror: Introduction","SuperAntoniovivaldi"},
-                          {"gb","jvKLW7vxKx4","4x4 Mirror: Layer by Layer","SuperAntoniovivaldi"},
-                          {"gb","efHeHrXFNTQ","4x4 Mirror: Reduction","SuperAntoniovivaldi"},
-                          {"gb","bKHQn_ARNZ8","4x4 Mirror: Parity Free Solve","SuperAntoniovivaldi"},
-                          {"gb","Us1Dlr0PyEA","4x4 Mirror: Superparity","SuperAntoniovivaldi"},
-                          {"es","tN2D3j0o-wk","Como hacer un mirror 4x4x4","JGOM Designer"},
+                          {"gb","HhQLhGGcKK0","Solving the Fisher Cube","Junk Cuber"},
+                          {"es","Ndd0V1gWju0","Como resolver 3x3x3 Fisher Cube","Tutoriales Rubik"},
+                          {"ru","KfeDuy4n72Q","Как собрать Фишер Куб","Алексей Ярыгин"},
+                          {"fr","qnnvpFzcZO4","Résolution du Fisher's Cube","asthalis"},
+                          {"de","aSrF0VxVqck","Fisher Cube Tutorial","Pezcraft"},
+                          {"pl","vFKujycV3cs","Fisher Cube TUTORIAL PL","MrUk"},
+                          {"br","S4En0RXDIbs","Como resolver o Fisher Cube","Pedro Filho"},
+                          {"kr","x9SySGU_iqE","피셔 큐브 맞추는 방법","iamzoone"},
                          }
-       ),
+        ),
 
   CU_323 ( ObjectConstants.CU_323,
           new String[][] {
@@ -300,6 +291,18 @@ public enum TutorialList
                          }
        ),
 
+  MORP2 ( ObjectConstants.MORP_2,
+          new String[][] {
+                          {"gb","dD67B3cRaFw","Pyramorphix Solve Tutorial","SpeedCubeReview"},
+                          {"es","RA37LhYlEW8","Resolver Pyramorphix","Cuby"},
+                          {"ru","fTNXLAAuGAI","Как собрать Пираморфикс 2х2","Алексей Ярыгин"},
+                          {"fr","SfEqoud5KRc","Résolution du Pyramorphix","Asthalis"},
+                          {"de","1VDGoVJZCug","Pyramorphix - Tutorial","GerCubing"},
+                          {"pl","nRYoJAy1c_8","Mastermorphix 2x2 TUTORIAL PL","MrUK"},
+                          {"br","wByfDxTrbC8","Como resolver o Pyramorphix","Rafael Cinoto"},
+                          {"kr","WIy5ZvTXsOY","피라몰픽스 쉽게 맞추기","큐브놀이터"},
+                         }
+        ),
   JING  ( ObjectConstants.JING_2,
           new String[][] {
                           {"gb","0T8Iw6aI2gA","Jing's Pyraminx Tutorial","SuperAntoniovivaldi"},
@@ -468,32 +471,6 @@ public enum TutorialList
                          }
         ),
 
-  WIND3 ( ObjectConstants.WIND_3,
-          new String[][] {
-                          {"gb","Jh8Bg7gT3PI","Windmill Cube Tutorial","Cube Solve Hero"},
-                          {"es","wVyJs7AboKk","Como resolver Windmill","Tutoriales Rubik"},
-                          {"ru","vavVAuEplKI","Как собрать Мельницу","Алексей Ярыгин"},
-                          {"fr","qiVsyF1nn7o","Résolution du Windmill Cube","asthalis"},
-                          {"de","JCYcAd0iCKk","Windmill Cube Tutorial","Pezcraft"},
-                          {"pl","GZI_PtcURaA","Windmill TUTORIAL PL","MrUk"},
-                          {"br","TXNVMp70lVE","Resolução do Windmill Cube","Pedro Filho"},
-                          {"kr","gELuvKW2Itw","윈드밀  큐브 해법 강좌","굿맨's 큐브 이야기"},
-                         }
-        ),
-
-  FISH3 ( ObjectConstants.FISH_3,
-          new String[][] {
-                          {"gb","HhQLhGGcKK0","Solving the Fisher Cube","Junk Cuber"},
-                          {"es","Ndd0V1gWju0","Como resolver 3x3x3 Fisher Cube","Tutoriales Rubik"},
-                          {"ru","KfeDuy4n72Q","Как собрать Фишер Куб","Алексей Ярыгин"},
-                          {"fr","qnnvpFzcZO4","Résolution du Fisher's Cube","asthalis"},
-                          {"de","aSrF0VxVqck","Fisher Cube Tutorial","Pezcraft"},
-                          {"pl","vFKujycV3cs","Fisher Cube TUTORIAL PL","MrUk"},
-                          {"br","S4En0RXDIbs","Como resolver o Fisher Cube","Pedro Filho"},
-                          {"kr","x9SySGU_iqE","피셔 큐브 맞추는 방법","iamzoone"},
-                         }
-        ),
-
   IVY2 ( ObjectConstants.IVY_2,
           new String[][] {
                           {"gb","QMzeJobSu1M","How to Solve the Ivy Cube","Z3"},
@@ -545,6 +522,41 @@ public enum TutorialList
                           {"br","4wwWE5Ni0Fw","Tutorial do Square-2 2/2","Rafael Cinoto"},
                           {"kr","psG9Ar4pBrc","초보자를 위한 스퀘어2 해법","SlowCuberToumai"},
                          }
+       ),
+
+  MIRR2 ( ObjectConstants.MIRR_2,
+          new String[][] {
+                          {"gb","rSH-ZEqTmxs","Solve 2x2 Mirror Blocks","King of Cubing"},
+                          {"es","Ipz-Ajpd4Fg","Como resolver el mirror 2x2","RUBI CUBI"},
+                          {"ru","rGqZq0bjZlM","Как собрать Зеркальный кубик 2x2","maggam1000"},
+                          {"de","fFMf1G7MYmA","2x2 Mirror Cube Anfängerlösung","rofrisch"},
+                          {"pl","C6B_ZT6xilw","Jak ułożyć kostkę mirror 2x2","Lisek Smolisek"},
+                          {"kr","9S4QTkyNm4Y","2x2 Mirror Cube","큐브놀이터"},
+                         }
+       ),
+
+  MIRR3 ( ObjectConstants.MIRR_3,
+          new String[][] {
+                          {"gb","YkzXIWnqbSw","How to Solve the Mirror Cube","Z3"},
+                          {"es","ZTkunMo51l0","Resolver cubo de Rubik MIRROR","Cuby"},
+                          {"ru","1QPAD3Q4r78","Как собрать Зеркальный Куб","Алексей Ярыгин"},
+                          {"fr","tlFLE2UvjFo","Tutoriel: le rubik's cube mirroir","Le Cubiste"},
+                          {"de","Qf2EadLLiZo","Mirror Cube lösen","Pezcraft"},
+                          {"pl","r1-MzAL3TxE","Jak ułożyć kostkę mirror","Cube Masters"},
+                          {"br","HWGGpIKRT_I","Como resolver o Mirror Blocks","Pedro Filho"},
+                          {"kr","p3OJSbWopqg","미러블럭 해법","듀나메스 큐브 해법연구소"},
+                         }
+       ),
+
+  MIRR4 ( ObjectConstants.MIRR_4,
+          new String[][] {
+                          {"gb","6gyQ5qBK8GU","4x4 Mirror: Introduction","SuperAntoniovivaldi"},
+                          {"gb","jvKLW7vxKx4","4x4 Mirror: Layer by Layer","SuperAntoniovivaldi"},
+                          {"gb","efHeHrXFNTQ","4x4 Mirror: Reduction","SuperAntoniovivaldi"},
+                          {"gb","bKHQn_ARNZ8","4x4 Mirror: Parity Free Solve","SuperAntoniovivaldi"},
+                          {"gb","Us1Dlr0PyEA","4x4 Mirror: Superparity","SuperAntoniovivaldi"},
+                          {"es","tN2D3j0o-wk","Como hacer un mirror 4x4x4","JGOM Designer"},
+                         }
        );
 
   public static final int NUM_OBJECTS = values().length;
