Small optimizations, renaming
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			This commit is contained in:
		
							parent
							
								
									394bc8f226
								
							
						
					
					
						commit
						1f25e917c3
					
				
					 70 changed files with 142 additions and 146 deletions
				
			
		|  | @ -1,4 +1,4 @@ | |||
| package libKonogonka; | ||||
| package libKonogonka.aesctr; | ||||
| 
 | ||||
| import java.io.BufferedInputStream; | ||||
| import java.io.File; | ||||
|  | @ -18,8 +18,6 @@ | |||
|  */ | ||||
| package libKonogonka.aesctr; | ||||
| 
 | ||||
| import libKonogonka.IProducer; | ||||
| 
 | ||||
| import java.io.BufferedInputStream; | ||||
| import java.io.File; | ||||
| import java.io.InputStream; | ||||
|  |  | |||
|  | @ -18,8 +18,6 @@ | |||
|  */ | ||||
| package libKonogonka.aesctr; | ||||
| 
 | ||||
| import libKonogonka.IProducer; | ||||
| 
 | ||||
| import java.io.BufferedInputStream; | ||||
| import java.io.File; | ||||
| import java.nio.file.Files; | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| package libKonogonka.Tools; | ||||
| package libKonogonka.fs; | ||||
| 
 | ||||
| import java.io.BufferedInputStream; | ||||
| import java.io.BufferedOutputStream; | ||||
|  | @ -16,18 +16,19 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools; | ||||
| package libKonogonka.fs; | ||||
| 
 | ||||
| import libKonogonka.aesctr.InFileStreamProducer; | ||||
| 
 | ||||
| import java.io.File; | ||||
| import java.io.FileNotFoundException; | ||||
| 
 | ||||
| /** | ||||
|  * Any class of this type must provide streams | ||||
|  * */ | ||||
| public interface ISuperProvider { | ||||
|     InFileStreamProducer getStreamProducer(String subFileName) throws Exception; | ||||
|     InFileStreamProducer getStreamProducer(int subFileNumber) throws Exception; | ||||
|     InFileStreamProducer getStreamProducer(int subFileNumber) throws FileNotFoundException; | ||||
|     boolean exportContent(String saveToLocation, String subFileName) throws Exception; | ||||
|     boolean exportContent(String saveToLocation, int subFileNumber) throws Exception; | ||||
|     File getFile(); | ||||
|  | @ -16,11 +16,11 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.NCA; | ||||
| package libKonogonka.fs.NCA; | ||||
| 
 | ||||
| import libKonogonka.Tools.NCA.NCASectionTableBlock.NcaFsHeader; | ||||
| import libKonogonka.Tools.PFS0.PFS0Provider; | ||||
| import libKonogonka.Tools.RomFs.RomFsProvider; | ||||
| import libKonogonka.fs.NCA.NCASectionTableBlock.NcaFsHeader; | ||||
| import libKonogonka.fs.PFS0.PFS0Provider; | ||||
| import libKonogonka.fs.RomFs.RomFsProvider; | ||||
| import libKonogonka.aesctr.AesCtrBufferedInputStream; | ||||
| import libKonogonka.aesctr.AesCtrDecryptForMediaBlocks; | ||||
| import libKonogonka.aesctr.InFileStreamProducer; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.NCA; | ||||
| package libKonogonka.fs.NCA; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| 
 | ||||
|  | @ -16,10 +16,10 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.NCA; | ||||
| package libKonogonka.fs.NCA; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.Tools.NCA.NCASectionTableBlock.NcaFsHeader; | ||||
| import libKonogonka.fs.NCA.NCASectionTableBlock.NcaFsHeader; | ||||
| import libKonogonka.exceptions.EmptySectionException; | ||||
| import libKonogonka.xtsaes.XTSAESCipher; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.NCA.NCASectionTableBlock; | ||||
| package libKonogonka.fs.NCA.NCASectionTableBlock; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.NCA.NCASectionTableBlock; | ||||
| package libKonogonka.fs.NCA.NCASectionTableBlock; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.NCA.NCASectionTableBlock; | ||||
| package libKonogonka.fs.NCA.NCASectionTableBlock; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.NCA.NCASectionTableBlock; | ||||
| package libKonogonka.fs.NCA.NCASectionTableBlock; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.RainbowDump; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.NCA.NCASectionTableBlock; | ||||
| package libKonogonka.fs.NCA.NCASectionTableBlock; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.NCA.NCASectionTableBlock; | ||||
| package libKonogonka.fs.NCA.NCASectionTableBlock; | ||||
| 
 | ||||
| import java.nio.charset.StandardCharsets; | ||||
| import java.util.Arrays; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.NCA.NCASectionTableBlock; | ||||
| package libKonogonka.fs.NCA.NCASectionTableBlock; | ||||
| 
 | ||||
| import java.util.Arrays; | ||||
| 
 | ||||
|  | @ -16,10 +16,10 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.NPDM.ACI0; | ||||
| package libKonogonka.fs.NPDM.ACI0; | ||||
| 
 | ||||
| import libKonogonka.Tools.NPDM.KernelAccessControlProvider; | ||||
| import libKonogonka.Tools.NPDM.ServiceAccessControlProvider; | ||||
| import libKonogonka.fs.NPDM.KernelAccessControlProvider; | ||||
| import libKonogonka.fs.NPDM.ServiceAccessControlProvider; | ||||
| 
 | ||||
| import java.nio.charset.StandardCharsets; | ||||
| import java.util.Arrays; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.NPDM.ACI0; | ||||
| package libKonogonka.fs.NPDM.ACI0; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| 
 | ||||
|  | @ -16,10 +16,10 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.NPDM.ACID; | ||||
| package libKonogonka.fs.NPDM.ACID; | ||||
| 
 | ||||
| import libKonogonka.Tools.NPDM.KernelAccessControlProvider; | ||||
| import libKonogonka.Tools.NPDM.ServiceAccessControlProvider; | ||||
| import libKonogonka.fs.NPDM.KernelAccessControlProvider; | ||||
| import libKonogonka.fs.NPDM.ServiceAccessControlProvider; | ||||
| 
 | ||||
| import java.nio.charset.StandardCharsets; | ||||
| import java.util.Arrays; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.NPDM.ACID; | ||||
| package libKonogonka.fs.NPDM.ACID; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| 
 | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.NPDM; | ||||
| package libKonogonka.fs.NPDM; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
|  | @ -88,7 +88,7 @@ public class KernelAccessControlProvider { | |||
|                              DEBUGFLAGS = 16; | ||||
|     // RAW data | ||||
|     private final LinkedList<Integer> rawData; | ||||
|     private byte[] raw; | ||||
|     private final byte[] raw; | ||||
|     // Kernel flags | ||||
|     private boolean kernelFlagsAvailable; | ||||
|     private int kernelFlagCpuIdHi; | ||||
|  | @ -16,10 +16,10 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.NPDM; | ||||
| package libKonogonka.fs.NPDM; | ||||
| 
 | ||||
| import libKonogonka.Tools.NPDM.ACI0.ACI0Provider; | ||||
| import libKonogonka.Tools.NPDM.ACID.ACIDProvider; | ||||
| import libKonogonka.fs.NPDM.ACI0.ACI0Provider; | ||||
| import libKonogonka.fs.NPDM.ACID.ACIDProvider; | ||||
| import libKonogonka.aesctr.InFileStreamProducer; | ||||
| 
 | ||||
| import java.io.BufferedInputStream; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.NPDM; | ||||
| package libKonogonka.fs.NPDM; | ||||
| 
 | ||||
| import java.nio.charset.StandardCharsets; | ||||
| import java.util.LinkedHashMap; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.NSO; | ||||
| package libKonogonka.fs.NSO; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.RainbowDump; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.NSO; | ||||
| package libKonogonka.fs.NSO; | ||||
| 
 | ||||
| import libKonogonka.aesctr.InFileStreamProducer; | ||||
| 
 | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.NSO; | ||||
| package libKonogonka.fs.NSO; | ||||
| 
 | ||||
| public class NSO0Raw { | ||||
|     private NSO0Header headerObject; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.NSO; | ||||
| package libKonogonka.fs.NSO; | ||||
| 
 | ||||
| import libKonogonka.aesctr.InFileStreamProducer; | ||||
| import net.jpountz.lz4.LZ4Factory; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.NSO; | ||||
| package libKonogonka.fs.NSO; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| 
 | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.NSO; | ||||
| package libKonogonka.fs.NSO; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| 
 | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.PFS0; | ||||
| package libKonogonka.fs.PFS0; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.RainbowDump; | ||||
|  | @ -16,12 +16,12 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.PFS0; | ||||
| package libKonogonka.fs.PFS0; | ||||
| 
 | ||||
| import libKonogonka.RainbowDump; | ||||
| import libKonogonka.Tools.ExportAble; | ||||
| import libKonogonka.Tools.ISuperProvider; | ||||
| import libKonogonka.Tools.NCA.NCASectionTableBlock.SuperBlockPFS0; | ||||
| import libKonogonka.fs.ExportAble; | ||||
| import libKonogonka.fs.ISuperProvider; | ||||
| import libKonogonka.fs.NCA.NCASectionTableBlock.SuperBlockPFS0; | ||||
| import libKonogonka.aesctr.InFileStreamProducer; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
| import org.apache.logging.log4j.Logger; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.PFS0; | ||||
| package libKonogonka.fs.PFS0; | ||||
| 
 | ||||
| public class PFS0subFile { | ||||
|     private final String name; | ||||
|  | @ -17,10 +17,10 @@ | |||
|  * along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| package libKonogonka.Tools.RomFs; | ||||
| package libKonogonka.fs.RomFs; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.Tools.RomFs.view.FileSystemTreeViewMaker; | ||||
| import libKonogonka.fs.RomFs.view.FileSystemTreeViewMaker; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
| import org.apache.logging.log4j.Logger; | ||||
| 
 | ||||
|  | @ -17,7 +17,7 @@ | |||
|  * along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| package libKonogonka.Tools.RomFs; | ||||
| package libKonogonka.fs.RomFs; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.RainbowDump; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.RomFs; | ||||
| package libKonogonka.fs.RomFs; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.aesctr.InFileStreamProducer; | ||||
|  | @ -16,11 +16,11 @@ | |||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.RomFs; | ||||
| package libKonogonka.fs.RomFs; | ||||
| 
 | ||||
| import libKonogonka.Tools.ExportAble; | ||||
| import libKonogonka.Tools.RomFs.view.DirectoryMetaTablePlainView; | ||||
| import libKonogonka.Tools.RomFs.view.FileMetaTablePlainView; | ||||
| import libKonogonka.fs.ExportAble; | ||||
| import libKonogonka.fs.RomFs.view.DirectoryMetaTablePlainView; | ||||
| import libKonogonka.fs.RomFs.view.FileMetaTablePlainView; | ||||
| import libKonogonka.aesctr.InFileStreamProducer; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
| import org.apache.logging.log4j.Logger; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.RomFs.view; | ||||
| package libKonogonka.fs.RomFs.view; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.RomFs.view; | ||||
| package libKonogonka.fs.RomFs.view; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
|  | @ -16,9 +16,9 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.RomFs.view; | ||||
| package libKonogonka.fs.RomFs.view; | ||||
| 
 | ||||
| import libKonogonka.Tools.RomFs.FileSystemEntry; | ||||
| import libKonogonka.fs.RomFs.FileSystemEntry; | ||||
| import java.util.List; | ||||
| 
 | ||||
| /** | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.TIK; | ||||
| package libKonogonka.fs.TIK; | ||||
| 
 | ||||
| import java.io.BufferedInputStream; | ||||
| import java.io.File; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.XCI; | ||||
| package libKonogonka.fs.XCI; | ||||
| 
 | ||||
| public class HFS0File { | ||||
|     private final String name; | ||||
|  | @ -16,10 +16,10 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.XCI; | ||||
| package libKonogonka.fs.XCI; | ||||
| 
 | ||||
| import libKonogonka.Tools.ExportAble; | ||||
| import libKonogonka.Tools.ISuperProvider; | ||||
| import libKonogonka.fs.ExportAble; | ||||
| import libKonogonka.fs.ISuperProvider; | ||||
| import libKonogonka.aesctr.InFileStreamProducer; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
| import org.apache.logging.log4j.Logger; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.XCI; | ||||
| package libKonogonka.fs.XCI; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.XCI; | ||||
| package libKonogonka.fs.XCI; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| 
 | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.XCI; | ||||
| package libKonogonka.fs.XCI; | ||||
| 
 | ||||
| import javax.crypto.Cipher; | ||||
| import javax.crypto.spec.IvParameterSpec; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
| */ | ||||
| package libKonogonka.Tools.XCI; | ||||
| package libKonogonka.fs.XCI; | ||||
| 
 | ||||
| import java.io.File; | ||||
| import java.io.FileNotFoundException; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.other.System2; | ||||
| package libKonogonka.fs.other.System2; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.RainbowDump; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.other.System2; | ||||
| package libKonogonka.fs.other.System2; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.RainbowDump; | ||||
|  | @ -16,11 +16,11 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.other.System2; | ||||
| package libKonogonka.fs.other.System2; | ||||
| 
 | ||||
| import libKonogonka.KeyChainHolder; | ||||
| import libKonogonka.Tools.ExportAble; | ||||
| import libKonogonka.Tools.other.System2.ini1.Ini1Provider; | ||||
| import libKonogonka.fs.ExportAble; | ||||
| import libKonogonka.fs.other.System2.ini1.Ini1Provider; | ||||
| import libKonogonka.aesctr.InFileStreamProducer; | ||||
| import libKonogonka.aesctr.InFileStreamClassicProducer; | ||||
| 
 | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.other.System2.ini1; | ||||
| package libKonogonka.fs.other.System2.ini1; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.RainbowDump; | ||||
|  | @ -16,10 +16,10 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.other.System2.ini1; | ||||
| package libKonogonka.fs.other.System2.ini1; | ||||
| 
 | ||||
| import libKonogonka.Tools.ExportAble; | ||||
| import libKonogonka.Tools.other.System2.System2Header; | ||||
| import libKonogonka.fs.ExportAble; | ||||
| import libKonogonka.fs.other.System2.System2Header; | ||||
| import libKonogonka.aesctr.InFileStreamClassicProducer; | ||||
| 
 | ||||
| import java.io.IOException; | ||||
|  | @ -16,12 +16,12 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.other.System2.ini1; | ||||
| package libKonogonka.fs.other.System2.ini1; | ||||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.RainbowDump; | ||||
| import libKonogonka.Tools.NPDM.KernelAccessControlProvider; | ||||
| import libKonogonka.Tools.NSO.SegmentHeader; | ||||
| import libKonogonka.fs.NPDM.KernelAccessControlProvider; | ||||
| import libKonogonka.fs.NSO.SegmentHeader; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
| import org.apache.logging.log4j.Logger; | ||||
| 
 | ||||
|  | @ -16,9 +16,9 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.other.System2.ini1; | ||||
| package libKonogonka.fs.other.System2.ini1; | ||||
| 
 | ||||
| import libKonogonka.Tools.ExportAble; | ||||
| import libKonogonka.fs.ExportAble; | ||||
| import libKonogonka.aesctr.InFileStreamClassicProducer; | ||||
| 
 | ||||
| import java.nio.file.Paths; | ||||
|  | @ -16,7 +16,7 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.other.System2.ini1; | ||||
| package libKonogonka.fs.other.System2.ini1; | ||||
| 
 | ||||
| import java.nio.ByteBuffer; | ||||
| 
 | ||||
|  | @ -16,9 +16,9 @@ | |||
|     You should have received a copy of the GNU General Public License | ||||
|     along with libKonogonka.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| package libKonogonka.Tools.other.System2.ini1; | ||||
| package libKonogonka.fs.other.System2.ini1; | ||||
| 
 | ||||
| import libKonogonka.Tools.NSO.SegmentHeader; | ||||
| import libKonogonka.fs.NSO.SegmentHeader; | ||||
| import libKonogonka.blz.BlzDecompress; | ||||
| import libKonogonka.aesctr.InFileStreamClassicProducer; | ||||
| 
 | ||||
|  | @ -29,7 +29,7 @@ import java.nio.ByteBuffer; | |||
| import java.nio.ByteOrder; | ||||
| import java.nio.charset.StandardCharsets; | ||||
| 
 | ||||
| import static libKonogonka.Tools.other.System2.ini1.KIP1Provider.HEADER_SIZE; | ||||
| import static libKonogonka.fs.other.System2.ini1.KIP1Provider.HEADER_SIZE; | ||||
| 
 | ||||
| public class Kip1Unpacker { | ||||
|     private static final String DECOMPRESSED_FILE_POSTFIX = "_decompressed"; | ||||
|  | @ -42,7 +42,6 @@ public class Kip1Unpacker { | |||
|     private byte[] _rwDataDecompressedSection; | ||||
|     private int textFileOffsetNew; | ||||
|     private int roDataFileOffsetNew; | ||||
|     private int rwDataFileOffsetNew; | ||||
| 
 | ||||
|     private Kip1Unpacker(KIP1Header kip1Header, InFileStreamClassicProducer producer) throws Exception{ | ||||
|         this.kip1Header = kip1Header; | ||||
|  | @ -150,7 +149,7 @@ public class Kip1Unpacker { | |||
|     private void makeHeader(){ | ||||
|         textFileOffsetNew = kip1Header.getTextSegmentHeader().getMemoryOffset(); | ||||
|         roDataFileOffsetNew = kip1Header.getRoDataSegmentHeader().getMemoryOffset(); | ||||
|         rwDataFileOffsetNew = kip1Header.getRwDataSegmentHeader().getMemoryOffset(); | ||||
|         int rwDataFileOffsetNew = kip1Header.getRwDataSegmentHeader().getMemoryOffset(); | ||||
|         byte flags = kip1Header.getFlags(); | ||||
|         flags &= ~0b111; //mark .text .ro .rw as 'not compress' | ||||
| 
 | ||||
|  | @ -2,9 +2,9 @@ package libKonogonka.package2; | |||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.KeyChainHolder; | ||||
| import libKonogonka.Tools.NCA.NCAProvider; | ||||
| import libKonogonka.Tools.RomFs.FileSystemEntry; | ||||
| import libKonogonka.Tools.RomFs.RomFsProvider; | ||||
| import libKonogonka.fs.NCA.NCAProvider; | ||||
| import libKonogonka.fs.RomFs.FileSystemEntry; | ||||
| import libKonogonka.fs.RomFs.RomFsProvider; | ||||
| import org.junit.jupiter.api.*; | ||||
| 
 | ||||
| import java.io.File; | ||||
|  |  | |||
|  | @ -2,11 +2,11 @@ package libKonogonka.package2; | |||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.KeyChainHolder; | ||||
| import libKonogonka.Tools.NCA.NCAProvider; | ||||
| import libKonogonka.Tools.RomFs.FileSystemEntry; | ||||
| import libKonogonka.Tools.RomFs.RomFsProvider; | ||||
| import libKonogonka.Tools.other.System2.System2Provider; | ||||
| import libKonogonka.Tools.other.System2.ini1.Ini1Provider; | ||||
| import libKonogonka.fs.NCA.NCAProvider; | ||||
| import libKonogonka.fs.RomFs.FileSystemEntry; | ||||
| import libKonogonka.fs.RomFs.RomFsProvider; | ||||
| import libKonogonka.fs.other.System2.System2Provider; | ||||
| import libKonogonka.fs.other.System2.ini1.Ini1Provider; | ||||
| import libKonogonka.aesctr.InFileStreamProducer; | ||||
| import org.junit.jupiter.api.Assertions; | ||||
| import org.junit.jupiter.api.DisplayName; | ||||
|  |  | |||
|  | @ -2,10 +2,10 @@ package libKonogonka.package2; | |||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.KeyChainHolder; | ||||
| import libKonogonka.Tools.NCA.NCAProvider; | ||||
| import libKonogonka.Tools.RomFs.FileSystemEntry; | ||||
| import libKonogonka.Tools.RomFs.RomFsProvider; | ||||
| import libKonogonka.Tools.other.System2.System2Provider; | ||||
| import libKonogonka.fs.NCA.NCAProvider; | ||||
| import libKonogonka.fs.RomFs.FileSystemEntry; | ||||
| import libKonogonka.fs.RomFs.RomFsProvider; | ||||
| import libKonogonka.fs.other.System2.System2Provider; | ||||
| import libKonogonka.aesctr.InFileStreamProducer; | ||||
| import org.junit.jupiter.api.*; | ||||
| 
 | ||||
|  |  | |||
|  | @ -2,12 +2,12 @@ package libKonogonka.package2; | |||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.KeyChainHolder; | ||||
| import libKonogonka.Tools.NCA.NCAProvider; | ||||
| import libKonogonka.Tools.RomFs.FileSystemEntry; | ||||
| import libKonogonka.Tools.RomFs.RomFsProvider; | ||||
| import libKonogonka.Tools.other.System2.System2Provider; | ||||
| import libKonogonka.Tools.other.System2.ini1.Ini1Provider; | ||||
| import libKonogonka.Tools.other.System2.ini1.KIP1Provider; | ||||
| import libKonogonka.fs.NCA.NCAProvider; | ||||
| import libKonogonka.fs.RomFs.FileSystemEntry; | ||||
| import libKonogonka.fs.RomFs.RomFsProvider; | ||||
| import libKonogonka.fs.other.System2.System2Provider; | ||||
| import libKonogonka.fs.other.System2.ini1.Ini1Provider; | ||||
| import libKonogonka.fs.other.System2.ini1.KIP1Provider; | ||||
| import libKonogonka.aesctr.InFileStreamProducer; | ||||
| import org.junit.jupiter.api.Assertions; | ||||
| import org.junit.jupiter.api.DisplayName; | ||||
|  |  | |||
|  | @ -2,12 +2,12 @@ package libKonogonka.package2; | |||
| 
 | ||||
| import libKonogonka.Converter; | ||||
| import libKonogonka.KeyChainHolder; | ||||
| import libKonogonka.Tools.NCA.NCAProvider; | ||||
| import libKonogonka.Tools.RomFs.FileSystemEntry; | ||||
| import libKonogonka.Tools.RomFs.RomFsProvider; | ||||
| import libKonogonka.Tools.other.System2.System2Provider; | ||||
| import libKonogonka.Tools.other.System2.ini1.Ini1Provider; | ||||
| import libKonogonka.Tools.other.System2.ini1.KIP1Provider; | ||||
| import libKonogonka.fs.NCA.NCAProvider; | ||||
| import libKonogonka.fs.RomFs.FileSystemEntry; | ||||
| import libKonogonka.fs.RomFs.RomFsProvider; | ||||
| import libKonogonka.fs.other.System2.System2Provider; | ||||
| import libKonogonka.fs.other.System2.ini1.Ini1Provider; | ||||
| import libKonogonka.fs.other.System2.ini1.KIP1Provider; | ||||
| import libKonogonka.aesctr.InFileStreamProducer; | ||||
| import org.junit.jupiter.api.Assertions; | ||||
| import org.junit.jupiter.api.DisplayName; | ||||
|  |  | |||
|  | @ -19,9 +19,9 @@ | |||
| package libKonogonka.unsorted; | ||||
| 
 | ||||
| import libKonogonka.KeyChainHolder; | ||||
| import libKonogonka.Tools.NCA.NCAProvider; | ||||
| import libKonogonka.Tools.NSO.NSO0Provider; | ||||
| import libKonogonka.Tools.PFS0.PFS0Provider; | ||||
| import libKonogonka.fs.NCA.NCAProvider; | ||||
| import libKonogonka.fs.NSO.NSO0Provider; | ||||
| import libKonogonka.fs.PFS0.PFS0Provider; | ||||
| import org.junit.jupiter.api.Disabled; | ||||
| import org.junit.jupiter.api.DisplayName; | ||||
| import org.junit.jupiter.api.Test; | ||||
|  |  | |||
|  | @ -54,31 +54,31 @@ public class KeyChainHolderTest { | |||
| 
 | ||||
|     void printKAKApplication(){ | ||||
|         System.out.println("-=== key_area_key_application test ===-"); | ||||
|         for (Map.Entry entry : keyChainHolder.getKey_area_key_application().entrySet()){ | ||||
|         for (Map.Entry<String, String> entry : keyChainHolder.getKey_area_key_application().entrySet()){ | ||||
|             System.out.println(entry.getKey() + " - " + entry.getValue()); | ||||
|         } | ||||
|     } | ||||
|     void printKAKOcean(){ | ||||
|         System.out.println("-=== key_area_key_ocean test ===-"); | ||||
|         for (Map.Entry entry : keyChainHolder.getKey_area_key_ocean().entrySet()){ | ||||
|         for (Map.Entry<String, String> entry : keyChainHolder.getKey_area_key_ocean().entrySet()){ | ||||
|             System.out.println(entry.getKey() + " - " + entry.getValue()); | ||||
|         } | ||||
|     } | ||||
|     void printKAKSystem(){ | ||||
|         System.out.println("-=== key_area_key_system test ===-"); | ||||
|         for (Map.Entry entry : keyChainHolder.getKey_area_key_system().entrySet()){ | ||||
|         for (Map.Entry<String, String> entry : keyChainHolder.getKey_area_key_system().entrySet()){ | ||||
|             System.out.println(entry.getKey() + " - " + entry.getValue()); | ||||
|         } | ||||
|     } | ||||
|     void printKAKTitleKek(){ | ||||
|         System.out.println("-=== titlekek test ===-"); | ||||
|         for (Map.Entry entry : keyChainHolder.getTitlekek().entrySet()){ | ||||
|         for (Map.Entry<String, String> entry : keyChainHolder.getTitlekek().entrySet()){ | ||||
|             System.out.println(entry.getKey() + " - " + entry.getValue()); | ||||
|         } | ||||
|     } | ||||
|     void printRawKeySet(){ | ||||
|         System.out.println("-=== Raw Key Set (everything) test ===-"); | ||||
|         for (Map.Entry entry : keyChainHolder.getRawKeySet().entrySet()){ | ||||
|         for (Map.Entry<String, String> entry : keyChainHolder.getRawKeySet().entrySet()){ | ||||
|             System.out.println(entry.getKey() + " - " + entry.getValue()); | ||||
|         } | ||||
|     } | ||||
|  |  | |||
|  | @ -19,7 +19,7 @@ | |||
| package libKonogonka.unsorted; | ||||
| 
 | ||||
| import libKonogonka.KeyChainHolder; | ||||
| import libKonogonka.Tools.NCA.NCAProvider; | ||||
| import libKonogonka.fs.NCA.NCAProvider; | ||||
| import org.junit.jupiter.api.*; | ||||
| 
 | ||||
| import java.io.BufferedReader; | ||||
|  |  | |||
|  | @ -18,7 +18,7 @@ | |||
|  */ | ||||
| package libKonogonka.unsorted; | ||||
| 
 | ||||
| import libKonogonka.Tools.NSO.NSO0Provider; | ||||
| import libKonogonka.fs.NSO.NSO0Provider; | ||||
| import org.junit.jupiter.api.Disabled; | ||||
| import org.junit.jupiter.api.DisplayName; | ||||
| import org.junit.jupiter.api.Test; | ||||
|  |  | |||
|  | @ -20,10 +20,10 @@ package libKonogonka.unsorted; | |||
| 
 | ||||
| import libKonogonka.KeyChainHolder; | ||||
| import libKonogonka.RainbowDump; | ||||
| import libKonogonka.Tools.NCA.NCAProvider; | ||||
| import libKonogonka.Tools.NSO.NSO0Provider; | ||||
| import libKonogonka.Tools.PFS0.PFS0Provider; | ||||
| import libKonogonka.Tools.PFS0.PFS0subFile; | ||||
| import libKonogonka.fs.NCA.NCAProvider; | ||||
| import libKonogonka.fs.NSO.NSO0Provider; | ||||
| import libKonogonka.fs.PFS0.PFS0Provider; | ||||
| import libKonogonka.fs.PFS0.PFS0subFile; | ||||
| import org.junit.jupiter.api.Disabled; | ||||
| import org.junit.jupiter.api.DisplayName; | ||||
| import org.junit.jupiter.api.Test; | ||||
|  |  | |||
|  | @ -21,9 +21,9 @@ package libKonogonka.unsorted; | |||
| import libKonogonka.KeyChainHolder; | ||||
| import libKonogonka.RainbowDump; | ||||
| import libKonogonka.TitleKeyChainHolder; | ||||
| import libKonogonka.Tools.NCA.NCAProvider; | ||||
| import libKonogonka.Tools.PFS0.PFS0Provider; | ||||
| import libKonogonka.Tools.PFS0.PFS0subFile; | ||||
| import libKonogonka.fs.NCA.NCAProvider; | ||||
| import libKonogonka.fs.PFS0.PFS0Provider; | ||||
| import libKonogonka.fs.PFS0.PFS0subFile; | ||||
| import libKonogonka.aesctr.AesCtrBufferedInputStream; | ||||
| import libKonogonka.aesctr.AesCtrDecryptForMediaBlocks; | ||||
| import org.junit.jupiter.api.Disabled; | ||||
|  | @ -209,7 +209,7 @@ public class NSPpfs0EncryptedTest { | |||
|     private void exportContentLegacy(PFS0subFile entry, String saveToLocation) throws Exception { | ||||
|         File contentFile = new File(saveToLocation + entry.getName()); | ||||
| 
 | ||||
|         BufferedOutputStream extractedFileBOS = new BufferedOutputStream(new FileOutputStream(contentFile)); | ||||
|         BufferedOutputStream extractedFileBOS = new BufferedOutputStream(Files.newOutputStream(contentFile.toPath())); | ||||
|         BufferedInputStream pis = ncaProvider.getNCAContentProvider(0) | ||||
|                 .getPfs0() | ||||
|                 .getStreamProducer(entry.getName()) | ||||
|  |  | |||
|  | @ -20,8 +20,8 @@ package libKonogonka.unsorted; | |||
| 
 | ||||
| import libKonogonka.KeyChainHolder; | ||||
| import libKonogonka.TitleKeyChainHolder; | ||||
| import libKonogonka.Tools.PFS0.PFS0Provider; | ||||
| import libKonogonka.Tools.PFS0.PFS0subFile; | ||||
| import libKonogonka.fs.PFS0.PFS0Provider; | ||||
| import libKonogonka.fs.PFS0.PFS0subFile; | ||||
| import org.junit.jupiter.api.Disabled; | ||||
| import org.junit.jupiter.api.DisplayName; | ||||
| import org.junit.jupiter.api.Test; | ||||
|  |  | |||
|  | @ -20,9 +20,9 @@ package libKonogonka.unsorted; | |||
| 
 | ||||
| import libKonogonka.KeyChainHolder; | ||||
| import libKonogonka.RainbowDump; | ||||
| import libKonogonka.Tools.NCA.NCAProvider; | ||||
| import libKonogonka.Tools.PFS0.PFS0Provider; | ||||
| import libKonogonka.Tools.PFS0.PFS0subFile; | ||||
| import libKonogonka.fs.NCA.NCAProvider; | ||||
| import libKonogonka.fs.PFS0.PFS0Provider; | ||||
| import libKonogonka.fs.PFS0.PFS0subFile; | ||||
| import libKonogonka.aesctr.AesCtrBufferedInputStream; | ||||
| import libKonogonka.aesctr.AesCtrDecryptForMediaBlocks; | ||||
| import org.junit.jupiter.api.*; | ||||
|  | @ -183,7 +183,7 @@ public class Pfs0EncryptedTest { | |||
|     private void exportContentLegacy(PFS0subFile entry, String saveToLocation) throws Exception { | ||||
|         File contentFile = new File(saveToLocation + entry.getName()); | ||||
| 
 | ||||
|         BufferedOutputStream extractedFileBOS = new BufferedOutputStream(new FileOutputStream(contentFile)); | ||||
|         BufferedOutputStream extractedFileBOS = new BufferedOutputStream(Files.newOutputStream(contentFile.toPath())); | ||||
|         BufferedInputStream pis = ncaProvider.getNCAContentProvider(0) | ||||
|                 .getPfs0() | ||||
|                 .getStreamProducer(entry.getName()) | ||||
|  |  | |||
|  | @ -22,8 +22,8 @@ import java.io.*; | |||
| import java.nio.file.Files; | ||||
| import java.nio.file.Path; | ||||
| 
 | ||||
| import libKonogonka.Tools.RomFs.FileSystemEntry; | ||||
| import libKonogonka.Tools.RomFs.RomFsProvider; | ||||
| import libKonogonka.fs.RomFs.FileSystemEntry; | ||||
| import libKonogonka.fs.RomFs.RomFsProvider; | ||||
| import org.junit.jupiter.api.Disabled; | ||||
| import org.junit.jupiter.api.DisplayName; | ||||
| import org.junit.jupiter.api.Test; | ||||
|  |  | |||
|  | @ -21,9 +21,9 @@ package libKonogonka.unsorted; | |||
| import libKonogonka.aesctr.AesCtrBufferedInputStream; | ||||
| import libKonogonka.KeyChainHolder; | ||||
| import libKonogonka.RainbowDump; | ||||
| import libKonogonka.Tools.NCA.NCAProvider; | ||||
| import libKonogonka.Tools.NCA.NCASectionTableBlock.NcaFsHeader; | ||||
| import libKonogonka.Tools.RomFs.FileSystemEntry; | ||||
| import libKonogonka.fs.NCA.NCAProvider; | ||||
| import libKonogonka.fs.NCA.NCASectionTableBlock.NcaFsHeader; | ||||
| import libKonogonka.fs.RomFs.FileSystemEntry; | ||||
| import libKonogonka.aesctr.AesCtrDecryptForMediaBlocks; | ||||
| import org.junit.jupiter.api.*; | ||||
| 
 | ||||
|  |  | |||
|  | @ -19,10 +19,10 @@ | |||
| package libKonogonka.unsorted; | ||||
| 
 | ||||
| import libKonogonka.KeyChainHolder; | ||||
| import libKonogonka.Tools.NCA.NCAProvider; | ||||
| import libKonogonka.Tools.XCI.HFS0File; | ||||
| import libKonogonka.Tools.XCI.HFS0Provider; | ||||
| import libKonogonka.Tools.XCI.XCIProvider; | ||||
| import libKonogonka.fs.NCA.NCAProvider; | ||||
| import libKonogonka.fs.XCI.HFS0File; | ||||
| import libKonogonka.fs.XCI.HFS0Provider; | ||||
| import libKonogonka.fs.XCI.XCIProvider; | ||||
| import org.junit.jupiter.api.Disabled; | ||||
| import org.junit.jupiter.api.DisplayName; | ||||
| import org.junit.jupiter.api.Test; | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Dmitry Isaenko
						Dmitry Isaenko