Skip to content

Commit

Permalink
Commit for R2023a
Browse files Browse the repository at this point in the history
  • Loading branch information
JiteshJhaIN committed Nov 9, 2023
1 parent 0b75db1 commit 0f5c24b
Show file tree
Hide file tree
Showing 63 changed files with 282 additions and 38 deletions.
Binary file modified Components/BatteryHV/BatteryPlantModel_Table.slx
Binary file not shown.
Binary file modified Components/Vehicle/VehicleElec.slx
Binary file not shown.
Binary file added Components/Vehicle/VehicleElectroThermalLoTp.slx
Binary file not shown.
Binary file modified Model/BEVsystemModel.slx
Binary file not shown.
2 changes: 1 addition & 1 deletion Overview/ElectricVehicleDesignOverview.m
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@

%% Documentation
%
% * <matlab:open('BatteryElectricVehicleModelOverview.html') Battery Electric Vehicle Model>
% * <matlab:web('BatteryElectricVehicleModelOverview.html') Battery Electric Vehicle Model>
% * <matlab:open('PMSMmotorTestBenchDescription.mlx') PMSM Thermal Model>
%

Expand Down
7 changes: 3 additions & 4 deletions Overview/html/ElectricVehicleDesignOverview.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<!--
This HTML was auto-generated from MATLAB code.
To make changes, update the MATLAB code and republish this document.
--><title>Electric Vehicle Design with Simscape&#8482;</title><meta name="generator" content="MATLAB 9.14"><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.date" content="2023-09-22"><meta name="DC.source" content="ElectricVehicleDesignOverview.m"><style type="text/css">
--><title>Electric Vehicle Design with Simscape&#8482;</title><meta name="generator" content="MATLAB 9.14"><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.date" content="2023-11-08"><meta name="DC.source" content="ElectricVehicleDesignOverview.m"><style type="text/css">
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outine:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}

html { min-height:100%; margin-bottom:1px; }
Expand Down Expand Up @@ -67,8 +67,7 @@



</style></head><body><div class="content"><h1>Electric Vehicle Design with Simscape&#8482;</h1><!--introduction--><p>This repository contains model and code to help engineers design battery electric vehicle (BEV), including range estimation and battery sizing workflows.</p><!--/introduction--><h2>Contents</h2><div><ul><li><a href="#1">Overview</a></li><li><a href="#3">Design Workflows</a></li><li><a href="#4">Documentation</a></li><li><a href="#5">Models</a></li><li><a href="#7">Acronyms</a></li></ul></div><h2 id="1">Overview</h2><p>Battery electric vehicles (BEV) are gaining popularity as the prices of battery cells fall and the consumer demand for a clean mobility solution increases. The key challenges in their adoption lie in addressing the vehicle range anxiety, safety, and the total ownership cost for the consumer. Li-ion based batteries and electric drivetrains with permanent magnet synchronous motors (PMSM) and/or induction motors power modern BEV systems. Modeling and simulation helps you design vehicles that meet the desired range on the road and perform under all environmental conditions. Virtual design of a BEV platform requires a coupled electro-thermal system model for performance evaluation. In this example repository, you <b>learn how to simulate a BEV AWD/FWD model to estimate its on-road range</b>. You also <b>learn how to size your HV battery pack</b> to achieve your desired range with the vehicle.</p><pre class="codeinput">open_system(<span class="string">'BEVsystemModel'</span>)
</pre><img vspace="5" hspace="5" src="ElectricVehicleDesignOverview_01.png" alt=""> <h2 id="3">Design Workflows</h2><div><ul><li><a href="matlab:open('BEVRangeEstimationMain.mlx')">Range Estimation for Battery Electric Vehicles</a></li><li><a href="matlab:open('BEVBatterySizingMain.mlx')">Sizing Battery for Electric Vehicles</a></li><li><a href="matlab:open('BatteryNeuralNetModel.mlx')">Battery Neural Network Model for Temperature Prediction</a></li><li><a href="matlab:open('PMSMmotorTestBench.mlx')">PMSM Thermal Test Bench for Battery Electric Vehicle (BEV)</a></li></ul></div><h2 id="4">Documentation</h2><div><ul><li><a href="matlab:open('BatteryElectricVehicleModelOverview.html')">Battery Electric Vehicle Model</a></li><li><a href="matlab:open('PMSMmotorTestBenchDescription.mlx')">PMSM Thermal Model</a></li></ul></div><h2 id="5">Models</h2><div><ul><li><a href="matlab:open_system('BEVsystemModel.slx')">Battery Electric Vehicle</a></li></ul></div><h2 id="7">Acronyms</h2><div><ul><li>BEV : Battery Electric Vehicle</li><li>PMSM : Permanent Magnet Synchronous Motor</li><li>AWD : All Wheel Drive</li><li>FWD : Forward Wheel Drive</li></ul></div><p class="footer">Copyright 2022 - 2023 The MathWorks, Inc.<br><a href="https://www.mathworks.com/products/matlab/">Published with MATLAB&reg; R2023a</a><br></p></div><!--
</style></head><body><div class="content"><h1>Electric Vehicle Design with Simscape&#8482;</h1><!--introduction--><p>This repository contains model and code to help engineers design battery electric vehicle (BEV), including range estimation and battery sizing workflows.</p><!--/introduction--><h2>Contents</h2><div><ul><li><a href="#1">Overview</a></li><li><a href="#3">Design Workflows</a></li><li><a href="#4">Documentation</a></li><li><a href="#5">Models</a></li><li><a href="#7">Acronyms</a></li></ul></div><h2 id="1">Overview</h2><p>Battery electric vehicles (BEV) are gaining popularity as the prices of battery cells fall and the consumer demand for a clean mobility solution increases. The key challenges in their adoption lie in addressing the vehicle range anxiety, safety, and the total ownership cost for the consumer. Li-ion based batteries and electric drivetrains with permanent magnet synchronous motors (PMSM) and/or induction motors power modern BEV systems. Modeling and simulation helps you design vehicles that meet the desired range on the road and perform under all environmental conditions. Virtual design of a BEV platform requires a coupled electro-thermal system model for performance evaluation. In this example repository, you <b>learn how to simulate a BEV AWD/FWD model to estimate its on-road range</b>. You also <b>learn how to size your HV battery pack</b> to achieve your desired range with the vehicle.</p><img vspace="5" hspace="5" src="ElectricVehicleDesignOverview_01.png" alt=""> <h2 id="3">Design Workflows</h2><div><ul><li><a href="matlab:open('BEVRangeEstimationMain.mlx')">Range Estimation for Battery Electric Vehicles</a></li><li><a href="matlab:open('BEVBatterySizingMain.mlx')">Sizing Battery for Electric Vehicles</a></li><li><a href="matlab:open('BatteryNeuralNetModel.mlx')">Battery Neural Network Model for Temperature Prediction</a></li><li><a href="matlab:open('PMSMmotorTestBench.mlx')">PMSM Thermal Test Bench for Battery Electric Vehicle (BEV)</a></li></ul></div><h2 id="4">Documentation</h2><div><ul><li><a href="matlab:web('BatteryElectricVehicleModelOverview.html')">Battery Electric Vehicle Model</a></li><li><a href="matlab:open('PMSMmotorTestBenchDescription.mlx')">PMSM Thermal Model</a></li></ul></div><h2 id="5">Models</h2><div><ul><li><a href="matlab:open_system('BEVsystemModel.slx')">Battery Electric Vehicle</a></li></ul></div><h2 id="7">Acronyms</h2><div><ul><li>BEV : Battery Electric Vehicle</li><li>PMSM : Permanent Magnet Synchronous Motor</li><li>AWD : All Wheel Drive</li><li>FWD : Forward Wheel Drive</li></ul></div><p class="footer">Copyright 2022 - 2023 The MathWorks, Inc.<br><a href="https://www.mathworks.com/products/matlab/">Published with MATLAB&reg; R2023a</a><br></p></div><!--
##### SOURCE BEGIN #####
%% Electric Vehicle Design with Simscape(TM)
%
Expand Down Expand Up @@ -109,7 +108,7 @@
%% Documentation
%
% * <matlab:open('BatteryElectricVehicleModelOverview.html') Battery Electric Vehicle Model>
% * <matlab:web('BatteryElectricVehicleModelOverview.html') Battery Electric Vehicle Model>
% * <matlab:open('PMSMmotorTestBenchDescription.mlx') PMSM Thermal Model>
%
Expand Down
Binary file modified Overview/html/ElectricVehicleDesignOverview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Overview/html/ElectricVehicleDesignOverview_01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ employ large battery packs, which are often the most expensive component of
the vehicle. Modeling and simulation play then an important role in reducing
the development cost and enabling greater adoption of these vehicles.

[![View Electric Vehicle Design with Simscape on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/124795-electric-vehicle-design-with-simscape)

[![Open in MATLAB Online](https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg)](https://matlab.mathworks.com/open/github/v1?repo=simscape/Electric-Vehicle-Simscape)

![](Script_Data/html/BatteryElectricVehicleModelOverview_01.png)

The examples in this repository show you how to model an automotive
Expand Down
3 changes: 3 additions & 0 deletions Script_Data/OpenElectricVehicleModelOverview.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
% Copyright 2022 - 2023 The MathWorks, Inc.

web('BatteryElectricVehicleModelOverview.html')
Binary file modified Script_Data/PMSMmotorTestBench.mlx
Binary file not shown.
Binary file modified Script_Data/PMSMmotorTestBenchDescription.mlx
Binary file not shown.
21 changes: 1 addition & 20 deletions test/BEVCar_RunScriptsTest.m → Test/BEVCar_RunScriptsTest.m
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,7 @@ function test_BEVbatterySizingscript(test)
% there are no errors or warning thrown
test.verifyWarningFree(@()run_BEVbatterySizing, "'Battery Sizing script' should execute wihtout any warning or error.");
end
function test_BEVRangeEstimationMainMLX(test)
%The test runs the |.mlx| file and makes sure that there are
%no errors or warning thrown.
test.verifyWarningFree(@()run_BEVRangeEstimationMain, "'BEVRangeEstimationMain mlx' should execute wihtout any warning or error.");
end
function test_BEVBatterySizingMainMLX(test)
%The test runs the |.mlx| file and makes sure that there are
%no errors or warning thrown.
test.verifyWarningFree(@()run_BEVBatterySizingMain, "'BEVRangeEstimationMain mlx' should execute wihtout any warning or error.");
end

end

methods(TestMethodTeardown)
Expand All @@ -76,13 +67,3 @@ function run_BEVbatterySizing()
% Function runs the |.m| script.
BEVbatterySizing;
end

function run_BEVRangeEstimationMain()
% Function runs the |.mlx| script.
BEVRangeEstimationMain;
end

function run_BEVBatterySizingMain()
% Function runs the |.mlx| script.
BEVBatterySizingMain;
end
2 changes: 1 addition & 1 deletion test/BEVCar_TestScripts.m → Test/BEVCar_TestScripts.m
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

%% Suite and Runner

BEVsuite = matlab.unittest.TestSuite.fromFile(fullfile(prjRoot, "test", "BEVCar_RunScriptsTest.m"));
BEVsuite = matlab.unittest.TestSuite.fromFile(fullfile(prjRoot, "Test", "BEVCar_RunScriptsTest.m"));

suite = BEVsuite;

Expand Down
61 changes: 61 additions & 0 deletions Test/BEVProject_Tests.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
%% Script to run unit tests
% This script runs all the unit tests that are the child classes of
% matlab.unittest.TestCase in the project.
% Unit test classes are automatically detected by
% the matlab.unittest.TestSuite.fromFolder function.

% Copyright 2021-2022 The MathWorks, Inc.

relstr = matlabRelease().Release;
disp("This is MATLAB " + relstr + ".")

%% Create test suite

prjRoot = currentProject().RootFolder;

suite_1 = matlab.unittest.TestSuite.fromFolder( ...
fullfile(prjRoot, "Components\BatteryHV"), IncludingSubfolders = true);

suite_2 = matlab.unittest.TestSuite.fromFile( ...
fullfile(prjRoot, "Test", "BEV_System_UnitTest_MQC.m"));

suite_3 = matlab.unittest.TestSuite.fromFolder( ...
fullfile(prjRoot, "Components\MotorDrive"), IncludingSubfolders = true);



suite = [suite_1 suite_2 suite_3];

%% Create test runner

runner = matlab.unittest.TestRunner.withTextOutput( ...
"OutputDetail", matlab.unittest.Verbosity.Detailed);

%% JUnit style test result

plugin = matlab.unittest.plugins.XMLPlugin.producingJUnitFormat( ...
fullfile(prjRoot,"Test", "TestResults_"+relstr+".xml"));

addPlugin(runner, plugin)


%% Code Coverage Report Plugin
coverageReportFolder = fullfile(currentProject().RootFolder,"", "coverage" + relstr);
if ~isfolder(coverageReportFolder)
mkdir(coverageReportFolder)
end
coverageReport = matlab.unittest.plugins.codecoverage.CoverageReport(coverageReportFolder, MainFile = "BEV_MQC_Coverage_" + relstr + ".html" );

%% Code Coverage Plugin
list = dir(fullfile(prjRoot, 'Script_Data'));
list = list(~[list.isdir] & startsWith({list.name}, 'BEV') & endsWith({list.name}, {'.m', '.mlx'}));
fileList = arrayfun(@(x)[x.folder, filesep, x.name], list, 'UniformOutput', false);
codeCoveragePlugin = matlab.unittest.plugins.CodeCoveragePlugin.forFile(fileList, Producing = coverageReport );
addPlugin(runner, codeCoveragePlugin);


%% Run tests

results = run(runner, suite);

assertSuccess(results)
85 changes: 85 additions & 0 deletions Test/BEV_System_UnitTest_MQC.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
classdef BEV_System_UnitTest_MQC < matlab.unittest.TestCase
%% Class implementation of unit test

% Copyright 2023 The MathWorks, Inc.

%% Simple tests ... just run runnables


% Copyright 2023 The MathWorks, Inc.

properties
openfigureListBefore;
end

methods(TestMethodSetup)
function listOpenFigures(test)
% List all open figures
test.openfigureListBefore = findall(0,'Type','Figure');
end

function setupWorkingFolder(test)
% Set up working folder
import matlab.unittest.fixtures.WorkingFolderFixture;
test.applyFixture(WorkingFolderFixture);
end
end


methods (Test)


%% Harness folder

function MQC_System_1(testCase)
mdl = "BEVsystemModel";
load_system(mdl)
testCase.addTeardown(@()close_system(mdl, 0));
sim(mdl);

end

function MQC_System_2(testCase)
mdl = "BEVsystemModel";
load_system(mdl)
set_param('BEVsystemModel/Vehicle', 'ReferencedSubsystem', 'VehicleElec')
testCase.addTeardown(@()close_system(mdl, 0));
sim(mdl);

end

function MQC_System_3(testCase)
mdl = "BEVsystemModel";
load_system(mdl)
set_param('BEVsystemModel/Vehicle', 'ReferencedSubsystem', 'VehicleElectroThermal')
set_param('BEVsystemModel/Vehicle/Battery', 'ReferencedSubsystem', 'BatteryPlantModel_Table')
testCase.addTeardown(@()close_system(mdl, 0));
sim(mdl);

end

function test_BEVRangeEstimationMainMLX(test)
%The test runs the |.mlx| file and makes sure that there are
%no errors or warning thrown.
test.verifyWarningFree(@()run_BEVRangeEstimationMain, "'BEVRangeEstimationMain mlx' should execute wihtout any warning or error.");
end
function test_BEVBatterySizingMainMLX(test)
%The test runs the |.mlx| file and makes sure that there are
%no errors or warning thrown.
test.verifyWarningFree(@()run_BEVBatterySizingMain, "'BEVRangeEstimationMain mlx' should execute wihtout any warning or error.");
end
end

end % classdef



function run_BEVRangeEstimationMain()
% Function runs the |.mlx| script.
BEVRangeEstimationMain;
end

function run_BEVBatterySizingMain()
% Function runs the |.mlx| script.
BEVBatterySizingMain;
end
14 changes: 14 additions & 0 deletions Test/CheckProject/BEVProject_CheckProject.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
% This test checks if project status is passed
% Copyright 2023 The MathWorks, Inc.


relstr = matlabRelease().Release;
disp("This is MATLAB " + relstr + ".");

prj = currentProject;
updateDependencies(prj);
checkResults = runChecks(prj);
resultTable = table(checkResults); % *.Passed, *.ID, *.Description
disp(resultTable(:, ["Passed", "Description"]));

assert(all(resultTable.Passed==true));
33 changes: 33 additions & 0 deletions Test/CheckProject/BEVProject_runtests_CheckProject.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
%% Run unit tests
% This script runs unit tests and generates a test result summary in XML
% and a MATLAB code coverage report in HTML.

% Copyright 2022 The MathWorks, Inc.

relstr = matlabRelease().Release;
disp("This is MATLAB " + relstr + ".")

prjroot = currentProject().RootFolder;

%% Create test suite

suite = matlab.unittest.TestSuite.fromFile( ...
fullfile(prjroot, "Test", "CheckProject", "BEVProject_CheckProject.m"));

%% Create test runner

runner = matlab.unittest.TestRunner.withTextOutput( ...
OutputDetail = matlab.unittest.Verbosity.Detailed );

%% JUnit Style Test Result

plugin = matlab.unittest.plugins.XMLPlugin.producingJUnitFormat( ...
fullfile(prjroot, "Test", "CheckProject", "TestResults_"+relstr+".xml"));

addPlugin(runner, plugin)

%% Run tests

results = run(runner, suite);

assertSuccess(results)
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

relstr = matlabRelease().Release;
disp("This MATLAB Release: " + relstr)
PMSMsuiteScripts = matlab.unittest.TestSuite.fromFile(fullfile(prjRoot, "test", "PMSMtestbench_RunScriptsTest.m"));
PMSMsuiteScripts = matlab.unittest.TestSuite.fromFile(fullfile(prjRoot, "Test", "PMSMtestbench_RunScriptsTest.m"));

suite = [PMSMsuiteScripts];
runner = matlab.unittest.TestRunner.withTextOutput(OutputDetail = matlab.unittest.Verbosity.Detailed);
Expand Down
Binary file modified Workflow/BatteryNeuralNetModel/BatteryNeuralNetModel.mlx
Binary file not shown.
Binary file modified Workflow/BatterySizing/BEVBatterySizingMain.mlx
Binary file not shown.
Binary file modified Workflow/RangeEstimation/BEVRangeEstimationMain.mlx
Binary file not shown.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info Ref="test" Type="Relative"/>
<Info Ref="Test" Type="Relative"/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info location="76347f5f-dfd6-45ae-bc43-0f70a5e530d5" type="Reference"/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info Ref="Test/CheckProject" Type="Relative"/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info location="1a7a1b19-82a6-4e4d-aaba-fbf6e42e2b2d" type="Reference"/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info location="OpenElectricVehicleModelOverview.m" type="File"/>
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info Type="StartUp" Visible="1" Icon="" File="Script_Data/OpenElectricVehicleSimscape.m" Name="Open Overview"/>
<Info Type="StartUp" Visible="1" Icon="" File="Script_Data/OpenElectricVehicleSimscape.m" Name="Open Project Overview"/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info Type="Basic" GroupUUID="" Visible="1" Icon="" File="Script_Data/OpenElectricVehicleModelOverview.m" Name="Electric Vehicle Model Overview"/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info location="af130f8e-79f8-4063-b27b-4c6342079159" type="EntryPoint"/>

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info location="BEVProject_Tests.m" type="File"/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info>
<Category UUID="FileClassCategory">
<Label UUID="7d2f3aeb-7c63-4ab3-935b-ad0e0b73334f"/>
</Category>
</Info>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info>
<Category UUID="FileClassCategory">
<Label UUID="7d2f3aeb-7c63-4ab3-935b-ad0e0b73334f"/>
</Category>
</Info>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info location="BEV_System_UnitTest_MQC.m" type="File"/>
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info location="test" type="File"/>
<Info/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info location="CheckProject" type="File"/>
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info>
<Category UUID="FileClassCategory">
<Label UUID="design"/>
<Label UUID="7d2f3aeb-7c63-4ab3-935b-ad0e0b73334f"/>
</Category>
</Info>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<Info>
<Category UUID="FileClassCategory">
<Label UUID="7d2f3aeb-7c63-4ab3-935b-ad0e0b73334f"/>
</Category>
</Info>
Loading

0 comments on commit 0f5c24b

Please sign in to comment.