Skip to content
Snippets Groups Projects
Commit f7833462 authored by Volker Schukai's avatar Volker Schukai :alien:
Browse files

Release 1.10

parent 4791190b
No related branches found
No related tags found
No related merge requests found
Showing
with 299 additions and 358 deletions
/.nyc_output/ .phpunit.result.cache
.nyc_output
coverage
/process
#####################ALLGEMEINER TEIL #####################ALLGEMEINER TEIL
...@@ -308,3 +312,4 @@ fabric.properties ...@@ -308,3 +312,4 @@ fabric.properties
# Android studio 3.1+ serialized cache file # Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser .idea/caches/build_file_checksums.ser
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ForgottenDebugOutputInspection" enabled="true" level="ERROR" enabled_by_default="true">
<option name="configuration">
<list>
<option value="\Codeception\Util\Debug::debug" />
<option value="\Codeception\Util\Debug::pause" />
<option value="\Doctrine\Common\Util\Debug::dump" />
<option value="\Doctrine\Common\Util\Debug::export" />
<option value="\Illuminate\Support\Debug\Dumper::dump" />
<option value="\Symfony\Component\Debug\Debug::enable" />
<option value="\Symfony\Component\Debug\DebugClassLoader::enable" />
<option value="\Symfony\Component\Debug\ErrorHandler::register" />
<option value="\Symfony\Component\Debug\ExceptionHandler::register" />
<option value="\TYPO3\CMS\Core\Utility\DebugUtility::debug" />
<option value="\Zend\Debug\Debug::dump" />
<option value="\Zend\Di\Display\Console::export" />
<option value="dd" />
<option value="debug_print_backtrace" />
<option value="debug_zval_dump" />
<option value="dpm" />
<option value="dpq" />
<option value="dsm" />
<option value="dump" />
<option value="dvm" />
<option value="error_log" />
<option value="kpr" />
<option value="phpinfo" />
<option value="print_r" />
<option value="var_dump" />
<option value="var_export" />
<option value="wp_die" />
<option value="xdebug_break" />
<option value="xdebug_call_class" />
<option value="xdebug_call_file" />
<option value="xdebug_call_function" />
<option value="xdebug_call_line" />
<option value="xdebug_code_coverage_started" />
<option value="xdebug_debug_zval" />
<option value="xdebug_debug_zval_stdout" />
<option value="xdebug_dump_superglobals" />
<option value="xdebug_enable" />
<option value="xdebug_get_code_coverage" />
<option value="xdebug_get_collected_errors" />
<option value="xdebug_get_declared_vars" />
<option value="xdebug_get_function_stack" />
<option value="xdebug_get_headers" />
<option value="xdebug_get_monitored_functions" />
<option value="xdebug_get_profiler_filename" />
<option value="xdebug_get_stack_depth" />
<option value="xdebug_get_tracefile_name" />
<option value="xdebug_is_enabled" />
<option value="xdebug_memory_usage" />
<option value="xdebug_peak_memory_usage" />
<option value="xdebug_print_function_stack" />
<option value="xdebug_start_code_coverage" />
<option value="xdebug_start_error_collection" />
<option value="xdebug_start_function_monitor" />
<option value="xdebug_start_trace" />
<option value="xdebug_stop_code_coverage" />
<option value="xdebug_stop_error_collection" />
<option value="xdebug_stop_function_monitor" />
<option value="xdebug_stop_trace" />
<option value="xdebug_time_index" />
<option value="xdebug_var_dump" />
</list>
</option>
<option name="migratedIntoUserSpace" value="true" />
</inspection_tool>
<inspection_tool class="MdUnresolvedReference" enabled="false" level="TYPO" enabled_by_default="false" />
<inspection_tool class="SecurityAdvisoriesInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="optionConfiguration">
<list>
<option value="barryvdh/laravel-debugbar" />
<option value="behat/behat" />
<option value="brianium/paratest" />
<option value="codeception/codeception" />
<option value="codedungeon/phpunit-result-printer" />
<option value="composer/composer" />
<option value="doctrine/coding-standard" />
<option value="filp/whoops" />
<option value="friendsofphp/php-cs-fixer" />
<option value="humbug/humbug" />
<option value="infection/infection" />
<option value="jakub-onderka/php-parallel-lint" />
<option value="johnkary/phpunit-speedtrap" />
<option value="kalessil/production-dependencies-guard" />
<option value="mikey179/vfsStream" />
<option value="mockery/mockery" />
<option value="mybuilder/phpunit-accelerator" />
<option value="orchestra/testbench" />
<option value="pdepend/pdepend" />
<option value="phan/phan" />
<option value="phing/phing" />
<option value="phpcompatibility/php-compatibility" />
<option value="phpmd/phpmd" />
<option value="phpro/grumphp" />
<option value="phpspec/phpspec" />
<option value="phpspec/prophecy" />
<option value="phpstan/phpstan" />
<option value="phpunit/phpunit" />
<option value="povils/phpmnd" />
<option value="roave/security-advisories" />
<option value="satooshi/php-coveralls" />
<option value="sebastian/phpcpd" />
<option value="slevomat/coding-standard" />
<option value="spatie/phpunit-watcher" />
<option value="squizlabs/php_codesniffer" />
<option value="sstalle/php7cc" />
<option value="symfony/debug" />
<option value="symfony/maker-bundle" />
<option value="symfony/phpunit-bridge" />
<option value="symfony/var-dumper" />
<option value="vimeo/psalm" />
<option value="wimg/php-compatibility" />
<option value="wp-coding-standards/wpcs" />
<option value="yiisoft/yii2-coding-standards" />
<option value="yiisoft/yii2-debug" />
<option value="yiisoft/yii2-gii" />
<option value="zendframework/zend-coding-standard" />
<option value="zendframework/zend-debug" />
<option value="zendframework/zend-test" />
</list>
</option>
</inspection_tool>
</profile>
</component>
\ No newline at end of file
{"version":1,"defects":[],"times":{"Alvine\\Application\\Workflow\\ProcessorTest::testRun with data set #0":0,"Alvine\\Application\\Workflow\\ProcessorTest::testGetName":0,"Alvine\\Application\\Workflow\\ProcessorTest::testAdmission":0,"Alvine\\Application\\Workflow\\ProcessorTest::testRunWithAdmission":0,"Alvine\\Application\\Workflow\\ProcessorTest::testSetAdmission with data set #0":0,"Alvine\\Application\\Workflow\\ProcessorTest::testGetAdmission":0,"Alvine\\Application\\Workflow\\ProcessorTest::testGetTransitions":0,"Alvine\\Application\\Workflow\\ProcessorTest::testSetTransitions with data set #0":0,"Alvine\\Application\\Workflow\\ProcessorTest::testCreate":0,"Alvine\\Application\\Workflow\\ProcessorTest::testCreateWithException":0,"Alvine\\Application\\Workflow\\ProcessorTest::testAttach with data set #0":0,"Alvine\\Application\\Workflow\\ProcessorTest::testDetach with data set #0":0,"Alvine\\Application\\Workflow\\ProcessorTest::testSameState":0,"Alvine\\Application\\Workflow\\ProcessorTest::testTrue":0,"Alvine\\Application\\Workflow\\AdmissionTest::testInitContainer with data set #0":0,"Alvine\\Application\\Workflow\\AdmissionTest::testCreateContainer":0,"Alvine\\Application\\Workflow\\AdmissionTest::testTrue":0,"Alvine\\Application\\Workflow\\FactoryTest::testBuild with data set #0":0,"Alvine\\Application\\Workflow\\FactoryTest::testGetInstance with data set #0":0,"Alvine\\Application\\Workflow\\FactoryTest::testTrue":0,"Alvine\\Application\\Workflow\\StateTest::testGetName":0,"Alvine\\Application\\Workflow\\StateTest::test__toString":0,"Alvine\\Application\\Workflow\\StateTest::testTrue":0,"Alvine\\Application\\Workflow\\StepTest::testAddAction with data set #0":0,"Alvine\\Application\\Workflow\\StepTest::testAddValidation with data set #0":0,"Alvine\\Application\\Workflow\\StepTest::testIsValid with data set #0":0,"Alvine\\Application\\Workflow\\StepTest::testTrigger with data set #0":0,"Alvine\\Application\\Workflow\\StepTest::testTrue":0,"Alvine\\Application\\Workflow\\TransitionTest::testAddValidation with data set #0":0,"Alvine\\Application\\Workflow\\TransitionTest::testIsValid with data set #0":0,"Alvine\\Application\\Workflow\\TransitionTest::testGetFrom":0,"Alvine\\Application\\Workflow\\TransitionTest::testGetTo":0,"Alvine\\Application\\Workflow\\TransitionTest::testTransit with data set #0":0,"Alvine\\Application\\Workflow\\TransitionTest::testGetName":0,"Alvine\\Application\\Workflow\\TransitionTest::testTrue":0,"Alvine\\Application\\Workflow\\TransitionsTest::testAddTransition with data set #0":0,"Alvine\\Application\\Workflow\\TransitionsTest::testGetAvailableTransitions with data set #0":0,"Alvine\\Application\\Workflow\\TransitionsTest::testGetTransition with data set #0":0,"Alvine\\Application\\Workflow\\TransitionsTest::testNotFoundTransition":0,"Alvine\\Application\\Workflow\\TransitionsTest::testTrue":0,"Alvine\\Application\\Workflow\\Action\\ClosureTest::testRun with data set #0":0,"Alvine\\Application\\Workflow\\Action\\ClosureTest::testTrue":0,"Alvine\\Application\\Workflow\\Automation\\RuleTest::testMatch with data set #0":0,"Alvine\\Application\\Workflow\\Automation\\RuleTest::testGetName":0,"Alvine\\Application\\Workflow\\Automation\\RuleTest::testAppendCondition with data set #0":0,"Alvine\\Application\\Workflow\\Automation\\RuleTest::testValidate with data set #0":0,"Alvine\\Application\\Workflow\\Automation\\RuleTest::testAppendAction with data set #0":0,"Alvine\\Application\\Workflow\\Automation\\RuleTest::testExecute with data set #0":0,"Alvine\\Application\\Workflow\\Automation\\RuleTest::testGetProcessor":0,"Alvine\\Application\\Workflow\\Automation\\RuleTest::testTrue":0,"Alvine\\Application\\Workflow\\Automation\\SubscriberTest::testHandleEvent with data set #0":0,"Alvine\\Application\\Workflow\\Automation\\SubscriberTest::testTrue":0,"Alvine\\Application\\Workflow\\Automation\\Condition\\IsExceptionInstanceOfTest::testValidate":0,"Alvine\\Application\\Workflow\\Automation\\Condition\\IsExceptionInstanceOfTest::testValidateInstanceOf":0,"Alvine\\Application\\Workflow\\Automation\\Condition\\IsExceptionInstanceOfTest::testGetInstanceFromParameterMap":0,"Alvine\\Application\\Workflow\\Automation\\Condition\\IsExceptionInstanceOfTest::testTrue":0,"Alvine\\Application\\Workflow\\Automation\\Condition\\IsNotStateTest::testValidate":0,"Alvine\\Application\\Workflow\\Automation\\Condition\\IsNotStateTest::testValidate2":0,"Alvine\\Application\\Workflow\\Automation\\Condition\\IsNotStateTest::testGetInstanceFromParameterMap":0,"Alvine\\Application\\Workflow\\Automation\\Condition\\IsNotStateTest::testTrue":0,"Alvine\\Application\\Workflow\\Automation\\Condition\\IsStateTest::testValidate":0,"Alvine\\Application\\Workflow\\Automation\\Condition\\IsStateTest::testValidate2":0,"Alvine\\Application\\Workflow\\Automation\\Condition\\IsStateTest::testGetInstanceFromParameterMap":0,"Alvine\\Application\\Workflow\\Automation\\Condition\\IsStateTest::testTrue":0,"Alvine\\Application\\Workflow\\Container\\DatasetTest::testSetGetState":0,"Alvine\\Application\\Workflow\\Container\\DatasetTest::testSetHash":0,"Alvine\\Application\\Workflow\\Container\\DatasetTest::testSetInitialID":0,"Alvine\\Application\\Workflow\\Container\\DatasetTest::testGetCurrentPath":0,"Alvine\\Application\\Workflow\\Container\\DatasetTest::testSetCurrentPath":0.004,"Alvine\\Application\\Workflow\\Container\\DatasetTest::testTrue":0,"Alvine\\Application\\Workflow\\Container\\HistoryTest::test__toString":0,"Alvine\\Application\\Workflow\\Container\\HistoryTest::testTrue":0,"Alvine\\Application\\Workflow\\Container\\History\\EntryTest::testGetTimestamp":0,"Alvine\\Application\\Workflow\\Container\\History\\EntryTest::testGetMessage":0,"Alvine\\Application\\Workflow\\Container\\History\\EntryTest::testGetWorkflow":0,"Alvine\\Application\\Workflow\\Container\\History\\EntryTest::testGetInstance with data set #0":0,"Alvine\\Application\\Workflow\\Container\\History\\EntryTest::test__toString":0.002,"Alvine\\Application\\Workflow\\Container\\History\\EntryTest::testTrue":0,"Alvine\\Application\\Workflow\\Container\\History\\ErrorTest::testInstance":0,"Alvine\\Application\\Workflow\\Container\\History\\ErrorTest::testTrue":0,"Alvine\\Application\\Workflow\\Container\\History\\TransitionTest::testGetFrom":0,"Alvine\\Application\\Workflow\\Container\\History\\TransitionTest::testGetTo":0,"Alvine\\Application\\Workflow\\Container\\History\\TransitionTest::testGetInstanceForTransition with data set #0":0,"Alvine\\Application\\Workflow\\Container\\History\\TransitionTest::testTrue":0,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testParse with data set #0":0.004,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testParse with data set #1":0,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testParse with data set #2":0.001,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testParse with data set #3":0.002,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testParse with data set #4":0.002,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testParseError with data set #0":0.001,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testParseError with data set #1":0,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testParseError with data set #2":0.001,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testParseError with data set #3":0.001,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testParseError with data set #4":0.001,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testParseError with data set #5":0.001,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testWorkflowNameAttribute":0.001,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testWorkflowAdmissionParsing":0.001,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testWorkflowAdmissionParsingException":0.001,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testValidationWithParameter":0.001,"Alvine\\Application\\Workflow\\Parser\\XMLParserTest::testTrue":0,"Alvine\\Application\\Workflow\\Step\\Validation\\ClosureTest::testIsValid with data set #0":0,"Alvine\\Application\\Workflow\\Step\\Validation\\ClosureTest::testIsValid with data set #1":0,"Alvine\\Application\\Workflow\\Step\\Validation\\ClosureTest::testTrue":0,"Alvine\\Application\\Workflow\\Transition\\Exception\\Handler\\ThrowAwayTest::testExecute with data set #0":0,"Alvine\\Application\\Workflow\\Transition\\Exception\\Handler\\ThrowAwayTest::testTrue":0}}
\ No newline at end of file
...@@ -46,6 +46,12 @@ else ...@@ -46,6 +46,12 @@ else
QUIET = QUIET =
endif endif
ifndef DONTOPENBROWSER
OPENBROWSER = true
else
OPENBROWSER = false
endif
ECHO := @echo ECHO := @echo
ECHOMARKER := @echo "$(MARKER) $0" ECHOMARKER := @echo "$(MARKER) $0"
ECHOERRORMARKER := @echo "$(ERRORMARKER) $0" ECHOERRORMARKER := @echo "$(ERRORMARKER) $0"
...@@ -115,7 +121,7 @@ help: ...@@ -115,7 +121,7 @@ help:
@printf "${COMMENT}Usage:${RESET}\n" @printf "${COMMENT}Usage:${RESET}\n"
@printf " make [target] [arg=\"val\"...]\n\n" @printf " make [target] [arg=\"val\"...]\n\n"
@printf "${COMMENT}Available targets:${RESET}\n" @printf "${COMMENT}Available targets:${RESET}\n"
@awk '/^[a-zA-Z\-\_0-9\.@]+:/ { \ @awk '/^[a-zA-Z\-_0-9\.@]+:/ { \
helpMessage = match(lastLine, /^## (.*)/); \ helpMessage = match(lastLine, /^## (.*)/); \
if (helpMessage) { \ if (helpMessage) { \
helpCommand = substr($$1, 0, index($$1, ":")); \ helpCommand = substr($$1, 0, index($$1, ":")); \
...@@ -124,8 +130,9 @@ help: ...@@ -124,8 +130,9 @@ help:
} \ } \
} \ } \
{ lastLine = $$0 }' $(MAKEFILE_LIST) { lastLine = $$0 }' $(MAKEFILE_LIST)
@printf "\n${COMMENT}Available arguments:${RESET}\n\n" @printf "\n${COMMENT}Available arguments:${RESET}\n"
@awk '/^(([a-zA-Z\-\_0-9\.@]+)\s=)/ { \ @printf "\n ${INFO}DONTOPENBROWSER${RESET} disable open chrome\n"
@awk '/^(([a-zA-Z\-_0-9\.@]+)\s=)/ { \
helpMessage = match(lastLine, /^## (.*)/); \ helpMessage = match(lastLine, /^## (.*)/); \
if (helpMessage) { \ if (helpMessage) { \
helpMessage = substr(lastLine, RSTART + 3, RLENGTH); \ helpMessage = substr(lastLine, RSTART + 3, RLENGTH); \
...@@ -133,6 +140,7 @@ help: ...@@ -133,6 +140,7 @@ help:
} \ } \
} \ } \
{ lastLine = $$0 }' $(MAKEFILE_LIST) { lastLine = $$0 }' $(MAKEFILE_LIST)
@printf "\n"
.PHONY: variables .PHONY: variables
## Print all Variables ## Print all Variables
...@@ -173,12 +181,12 @@ ifeq (, $(shell command -v uuidgen)) ...@@ -173,12 +181,12 @@ ifeq (, $(shell command -v uuidgen))
$(error "No uuidgen in PATH, consider doing apt-get install uuidgen") $(error "No uuidgen in PATH, consider doing apt-get install uuidgen")
endif endif
export BRANCH="MONSTER/$(TAG)/$(shell uuidgen --random)" ; \ @(QUITE) export BRANCH="MONSTER/$(TAG)/$(shell uuidgen --random)" ; \
git checkout -b $${BRANCH} && \ git checkout -b $${BRANCH} && \
RESULT=$$(git push origin $$BRANCH 2>&1) && \ RESULT=$$(git push origin $$BRANCH 2>&1) && \
RESULT2=$$(git branch --set-upstream-to=origin/$$BRANCH $$BRANCH) && \ RESULT2=$$(git branch --set-upstream-to=origin/$$BRANCH $$BRANCH) && \
GITLABURL=$$(echo "$$RESULT" | tr '\n' '\#' | grep -o 'remote\:\s*https:\/\/gitlab\.schukai\.com[^ ]*' | cut -d " " -f2-9 | sed -e 's/^[ \t]*//') && \ GITLABURL=$$(echo "$$RESULT" | tr '\n' '\#' | grep -o 'remote\:\s*https:\/\/gitlab\.schukai\.com[^ ]*' | cut -d " " -f2-9 | sed -e 's/^[ \t]*//') && \
google-chrome --profile-directory="Default" $$GITLABURL if $(OPENBROWSER) ; then google-chrome --profile-directory="Default" $$GITLABURL ; fi
.PHONY: git-to-master .PHONY: git-to-master
...@@ -213,6 +221,7 @@ BROWSERIFY := $(NODE_MODULES_BIN_DIR)browserify ...@@ -213,6 +221,7 @@ BROWSERIFY := $(NODE_MODULES_BIN_DIR)browserify
BABEL := $(NODE_MODULES_BIN_DIR)babel BABEL := $(NODE_MODULES_BIN_DIR)babel
EXORCIST := $(NODE_MODULES_BIN_DIR)exorcist EXORCIST := $(NODE_MODULES_BIN_DIR)exorcist
UGLIFYJS := $(NODE_MODULES_BIN_DIR)uglifyjs UGLIFYJS := $(NODE_MODULES_BIN_DIR)uglifyjs
C8 := $(NODE_MODULES_BIN_DIR)c8
MOCHA := $(NODE_MODULES_BIN_DIR)mocha MOCHA := $(NODE_MODULES_BIN_DIR)mocha
NYC := $(NODE_MODULES_BIN_DIR)nyc NYC := $(NODE_MODULES_BIN_DIR)nyc
JSDOC := $(NODE_MODULES_BIN_DIR)jsdoc JSDOC := $(NODE_MODULES_BIN_DIR)jsdoc
...@@ -322,7 +331,7 @@ test-browser-monster: ...@@ -322,7 +331,7 @@ test-browser-monster:
$(QUIET) $(SED) -i "1 i SharedArrayBuffer = ArrayBuffer;" $(MONSTER_TEST_DIR)web/import.js $(QUIET) $(SED) -i "1 i SharedArrayBuffer = ArrayBuffer;" $(MONSTER_TEST_DIR)web/import.js
$(QUIET) $(SED) -i "1 i /** this file was created automatically by the make target test-browser-monster */" $(MONSTER_TEST_DIR)web/import.js $(QUIET) $(SED) -i "1 i /** this file was created automatically by the make target test-browser-monster */" $(MONSTER_TEST_DIR)web/import.js
$(QUIET) $(BROWSERIFY) $(MONSTER_TEST_DIR)web/import.js -t [ babelify --presets [ @babel/preset-env ] --plugins [ @babel/plugin-transform-runtime ] ] > $(MONSTER_TEST_DIR)web/tests.js $(QUIET) $(BROWSERIFY) $(MONSTER_TEST_DIR)web/import.js -t [ babelify --presets [ @babel/preset-env ] --plugins [ @babel/plugin-transform-runtime ] ] > $(MONSTER_TEST_DIR)web/tests.js
$(QUIET) google-chrome --profile-directory="Default" $(MONSTER_TEST_DIR)web/test.html $(QUIET) if $(OPENBROWSER) ; then google-chrome --profile-directory="Default" $(MONSTER_TEST_DIR)web/test.html ; fi
.PHONY: test-monster .PHONY: test-monster
## test library ## test library
...@@ -331,6 +340,13 @@ test-monster: build-monster ...@@ -331,6 +340,13 @@ test-monster: build-monster
$(QUITE) $(NPX) flow $(QUITE) $(NPX) flow
$(QUIET) $(MOCHA) --recursive $(MONSTER_TEST_CASE_DIR)** $(QUIET) $(MOCHA) --recursive $(MONSTER_TEST_CASE_DIR)**
.PHONY: coverage-monster
## coverage library
coverage-monster: build-monster
$(ECHOMARKER) "coverage monster"
$(QUIET) $(C8) --config=$(MONSTER_DIR).c8rc.json $(MOCHA) $(MONSTER_TEST_CASE_DIR)**
$(QUIET) if $(OPENBROWSER) ; then google-chrome --profile-directory="Default" $(MONSTER_DIR)coverage/index.html ; fi
.PHONY: npm-publish-monster .PHONY: npm-publish-monster
## publish library to npm ## publish library to npm
npm-publish-monster: build-monster npm-publish-monster: build-monster
...@@ -363,7 +379,13 @@ build: ...@@ -363,7 +379,13 @@ build:
## test all packages ## test all packages
test: test:
make test-monster make test-monster
## make test-monster PACKAGE=dom
.PHONY: coverage
## coverage all packages
coverage:
make coverage-monster
# make test-monster PACKAGE=dom
.PHONY: doc .PHONY: doc
## generate docs ## generate docs
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment