ceedling 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/GIT_COMMIT_SHA +1 -0
- data/Gemfile +7 -1
- data/Gemfile.lock +19 -12
- data/README.md +141 -157
- data/Rakefile +189 -9
- data/assets/example_file.c +1 -1
- data/assets/example_file.h +1 -1
- data/assets/example_file_call.c +1 -1
- data/assets/example_file_call.h +1 -1
- data/assets/example_file_with_statics.c +10 -0
- data/assets/example_file_with_stdio.c +13 -0
- data/assets/example_file_with_stdio.h +15 -0
- data/assets/project.yml +404 -0
- data/assets/test_example_file.c +1 -1
- data/assets/test_example_file_boom.c +1 -1
- data/assets/test_example_file_crash_assert.c +25 -0
- data/assets/test_example_file_crash_sigsegv.c +26 -0
- data/assets/test_example_file_source_include.c +17 -0
- data/assets/test_example_file_success.c +1 -1
- data/assets/test_example_file_unity_printf.c +1 -1
- data/assets/test_example_file_verbose.c +1 -1
- data/assets/test_example_file_with_mock.c +1 -1
- data/assets/test_example_file_with_stdio.c +18 -0
- data/assets/test_example_with_parameterized_tests.c +1 -1
- data/assets/tests_with_defines/src/adc_hardware.c +1 -1
- data/assets/tests_with_defines/src/adc_hardware.h +1 -1
- data/assets/tests_with_defines/src/adc_hardware_configurator.c +1 -1
- data/assets/tests_with_defines/src/adc_hardware_configurator.h +1 -1
- data/assets/tests_with_defines/test/test_adc_hardware.c +1 -1
- data/assets/tests_with_defines/test/test_adc_hardware_special.c +1 -1
- data/assets/tests_with_encoding/src/unicoder.c +12 -0
- data/assets/tests_with_encoding/src/unicoder.h +14 -0
- data/assets/tests_with_encoding/test/test_unicoder.c +15 -0
- data/assets/tests_with_encoding/test/test_unicoder_partial.c +17 -0
- data/assets/tests_with_fallback_conditionals/src/conditional_module.c +18 -0
- data/assets/tests_with_fallback_conditionals/src/conditional_module.h +13 -0
- data/assets/tests_with_fallback_conditionals/src/optional_dep.h +12 -0
- data/assets/tests_with_fallback_conditionals/test/test_conditionals.c +49 -0
- data/assets/tests_with_preprocessing/src/adc_hardwareA.c +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardwareA.h +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardwareB.c +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardwareB.h +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardwareC.c +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardwareC.h +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardware_configuratorA.h +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardware_configuratorB.h +1 -1
- data/assets/tests_with_preprocessing/src/adc_hardware_configuratorC.h +1 -1
- data/assets/tests_with_preprocessing/test/test_adc_hardwareA.c +1 -1
- data/assets/tests_with_preprocessing/test/test_adc_hardwareB.c +1 -1
- data/assets/tests_with_preprocessing/test/test_adc_hardwareC.c +1 -1
- data/assets/uncovered_example_file.c +1 -1
- data/bin/actions_wrapper.rb +1 -1
- data/bin/app_cfg.rb +1 -1
- data/bin/ceedling +14 -3
- data/bin/cli.rb +110 -38
- data/bin/cli_handler.rb +167 -68
- data/bin/cli_helper.rb +191 -62
- data/bin/configinator.rb +71 -12
- data/bin/merginator.rb +82 -0
- data/bin/mixin_standardizer.rb +127 -0
- data/bin/mixinator.rb +199 -33
- data/bin/mixins.rb +4 -2
- data/bin/objects.yml +22 -1
- data/bin/path_validator.rb +1 -1
- data/bin/projectinator.rb +29 -20
- data/bin/rake_patches.rb +31 -0
- data/bin/recursive_merger.rb +128 -0
- data/bin/versionator.rb +2 -2
- data/ceedling.gemspec +31 -14
- data/config/test_environment.rb +1 -1
- data/docs/BreakingChanges.md +27 -4
- data/docs/CONTRIBUTING.md +2 -12
- data/docs/CeedlingPullRequestChecklist.md +24 -0
- data/docs/Changelog.md +195 -5
- data/docs/KnownIssues.md +26 -0
- data/docs/ReleaseNotes.md +141 -19
- data/docs/SECURITY.md +41 -0
- data/docs/mkdocs/assets/images/ceedling-logo-circle.png +0 -0
- data/docs/mkdocs/assets/images/ceedling.svg +90 -0
- data/docs/mkdocs/assets/images/favicon.png +0 -0
- data/docs/mkdocs/assets/stylesheets/admonitions.css +152 -0
- data/docs/mkdocs/assets/stylesheets/fixes-local.css +15 -0
- data/docs/mkdocs/assets/stylesheets/styling.css +102 -0
- data/docs/mkdocs/configuration/environment-vars.md +14 -0
- data/docs/mkdocs/configuration/global-collections.md +156 -0
- data/docs/mkdocs/configuration/index.md +75 -0
- data/docs/mkdocs/configuration/loading.md +89 -0
- data/docs/mkdocs/configuration/mixins.md +607 -0
- data/docs/mkdocs/configuration/parallel-builds.md +97 -0
- data/docs/mkdocs/configuration/project-file.md +198 -0
- data/docs/mkdocs/configuration/reference/cexception.md +35 -0
- data/docs/mkdocs/configuration/reference/cmock.md +106 -0
- data/docs/mkdocs/configuration/reference/defines.md +352 -0
- data/docs/mkdocs/configuration/reference/environment.md +55 -0
- data/docs/mkdocs/configuration/reference/extension.md +63 -0
- data/docs/mkdocs/configuration/reference/files.md +154 -0
- data/docs/mkdocs/configuration/reference/flags.md +296 -0
- data/docs/mkdocs/configuration/reference/index.md +168 -0
- data/docs/mkdocs/configuration/reference/libraries.md +82 -0
- data/docs/mkdocs/configuration/reference/mixins.md +24 -0
- data/docs/mkdocs/configuration/reference/paths.md +276 -0
- data/docs/mkdocs/configuration/reference/plugins.md +60 -0
- data/docs/mkdocs/configuration/reference/project.md +333 -0
- data/docs/mkdocs/configuration/reference/release-build.md +62 -0
- data/docs/mkdocs/configuration/reference/test-build.md +55 -0
- data/docs/mkdocs/configuration/reference/test-runner.md +61 -0
- data/docs/mkdocs/configuration/reference/tools.md +457 -0
- data/docs/mkdocs/configuration/reference/unity.md +49 -0
- data/docs/mkdocs/configuration/which-ceedling.md +77 -0
- data/docs/mkdocs/development/index.md +50 -0
- data/docs/mkdocs/development/plugins/configuration.md +164 -0
- data/docs/mkdocs/development/plugins/index.md +84 -0
- data/docs/mkdocs/development/plugins/plugin-subclass.md +513 -0
- data/docs/mkdocs/development/plugins/rake-tasks.md +54 -0
- data/docs/mkdocs/development/workflow.md +284 -0
- data/docs/mkdocs/getting-started/command-line.md +477 -0
- data/docs/mkdocs/getting-started/example-projects/cipher-quest.md +65 -0
- data/docs/mkdocs/getting-started/example-projects/index.md +49 -0
- data/docs/mkdocs/getting-started/example-projects/temp-sensor.md +60 -0
- data/docs/mkdocs/getting-started/example-projects/wondrous-forest.md +45 -0
- data/docs/mkdocs/getting-started/index.md +41 -0
- data/docs/mkdocs/getting-started/installation.md +172 -0
- data/docs/mkdocs/getting-started/quick-start.md +65 -0
- data/docs/mkdocs/help.md +49 -0
- data/docs/mkdocs/index.md +215 -0
- data/docs/mkdocs/overview/build-system.md +115 -0
- data/docs/mkdocs/overview/index.md +29 -0
- data/docs/mkdocs/overview/test-environments.md +33 -0
- data/docs/mkdocs/overview/tools-and-frameworks.md +115 -0
- data/docs/mkdocs/plugins/beep.md +134 -0
- data/docs/mkdocs/plugins/bullseye.md +77 -0
- data/docs/mkdocs/plugins/command-hooks.md +263 -0
- data/docs/mkdocs/plugins/compile-commands-json-db.md +42 -0
- data/docs/mkdocs/plugins/cppcheck.md +377 -0
- data/docs/mkdocs/plugins/dependencies.md +310 -0
- data/docs/mkdocs/plugins/fff.md +247 -0
- data/docs/mkdocs/plugins/gcov/examples.md +92 -0
- data/docs/mkdocs/plugins/gcov/gcovr.md +251 -0
- data/docs/mkdocs/plugins/gcov/index.md +68 -0
- data/docs/mkdocs/plugins/gcov/overview.md +145 -0
- data/docs/mkdocs/plugins/gcov/reportgenerator.md +58 -0
- data/docs/mkdocs/plugins/gcov/reporting.md +147 -0
- data/docs/mkdocs/plugins/gcov/setup.md +232 -0
- data/docs/mkdocs/plugins/gcov/tool-versions.md +60 -0
- data/docs/mkdocs/plugins/gcov/troubleshooting.md +78 -0
- data/docs/mkdocs/plugins/index.md +221 -0
- data/docs/mkdocs/plugins/module-generator.md +267 -0
- data/docs/mkdocs/plugins/report-build-warnings-log.md +42 -0
- data/docs/mkdocs/plugins/report-tests-gtestlike-stdout.md +98 -0
- data/docs/mkdocs/plugins/report-tests-ide-stdout.md +63 -0
- data/docs/mkdocs/plugins/report-tests-log-factory.md +454 -0
- data/docs/mkdocs/plugins/report-tests-pretty-stdout.md +56 -0
- data/docs/mkdocs/plugins/report-tests-raw-output-log.md +52 -0
- data/docs/mkdocs/plugins/report-tests-teamcity-stdout.md +96 -0
- data/docs/mkdocs/plugins/sample_html_report.png +0 -0
- data/docs/mkdocs/plugins/valgrind.md +192 -0
- data/docs/mkdocs/project/release-history.md +61 -0
- data/docs/mkdocs/project/upgrade.md +85 -0
- data/docs/mkdocs/reference/build-directives.md +37 -0
- data/docs/mkdocs/reference/command-line.md +323 -0
- data/docs/mkdocs/reference/environment-vars.md +60 -0
- data/docs/mkdocs/reference/gcov-plugin.md +577 -0
- data/docs/mkdocs/reference/global-collections.md +160 -0
- data/docs/mkdocs/reference/index.md +65 -0
- data/docs/mkdocs/reference/partials-macros.md +79 -0
- data/docs/mkdocs/reference/project-configuration.md +46 -0
- data/docs/mkdocs/snapshot/assets/project.yml +404 -0
- data/docs/mkdocs/snapshot/examples/cipher_quest/README.md +210 -0
- data/docs/mkdocs/snapshot/examples/temp_sensor/README.md +283 -0
- data/docs/mkdocs/snapshot/examples/wondrous_forest/README.md +92 -0
- data/docs/mkdocs/snapshot/plugins/gcov/config/defaults.yml +33 -0
- data/docs/mkdocs/snapshot/plugins/gcov/config/defaults_gcov.rb +136 -0
- data/docs/mkdocs/snapshot.yml +20 -0
- data/docs/mkdocs/testing-guide/build-directives.md +153 -0
- data/docs/mkdocs/testing-guide/conventions.md +616 -0
- data/docs/mkdocs/testing-guide/frameworks.md +192 -0
- data/docs/mkdocs/testing-guide/index.md +80 -0
- data/docs/mkdocs/testing-guide/partials/configuration.md +67 -0
- data/docs/mkdocs/testing-guide/partials/conventions.md +68 -0
- data/docs/mkdocs/testing-guide/partials/directives.md +212 -0
- data/docs/mkdocs/testing-guide/partials/example.md +149 -0
- data/docs/mkdocs/testing-guide/partials/index.md +79 -0
- data/docs/mkdocs/testing-guide/partials/overview.md +81 -0
- data/docs/mkdocs/testing-guide/partials/variables.md +244 -0
- data/docs/mkdocs/testing-guide/test-cases.md +194 -0
- data/docs/mkdocs/testing-guide/test-sample.md +94 -0
- data/docs/mkdocs/testing-guide/test-suite-anatomy.md +58 -0
- data/examples/cipher_quest/README.md +210 -0
- data/examples/cipher_quest/mixin/release_analyze.yml +28 -0
- data/examples/cipher_quest/mixin/release_caesar.yml +28 -0
- data/examples/cipher_quest/mixin/release_full.yml +30 -0
- data/examples/cipher_quest/mixin/release_rot13.yml +28 -0
- data/examples/cipher_quest/project.yml +108 -0
- data/examples/cipher_quest/src/analyzer.c +83 -0
- data/examples/cipher_quest/src/analyzer.h +29 -0
- data/examples/cipher_quest/src/cipher.c +59 -0
- data/examples/cipher_quest/src/cipher.h +27 -0
- data/examples/cipher_quest/src/main.c +151 -0
- data/examples/cipher_quest/src/text_utils.c +119 -0
- data/examples/cipher_quest/src/text_utils.h +23 -0
- data/examples/cipher_quest/test/TestAnalyzer.c +133 -0
- data/examples/cipher_quest/test/TestCipherCaesar.c +81 -0
- data/examples/cipher_quest/test/TestCipherRot13.c +74 -0
- data/examples/cipher_quest/test/TestTextUtils.c +184 -0
- data/examples/temp_sensor/README.md +279 -14
- data/examples/temp_sensor/mixin/add_gcov.yml +1 -1
- data/examples/temp_sensor/mixin/add_unity_helper.yml +1 -1
- data/examples/temp_sensor/project.yml +4 -24
- data/examples/temp_sensor/src/AdcConductor.c +5 -1
- data/examples/temp_sensor/src/AdcConductor.h +1 -1
- data/examples/temp_sensor/src/AdcHardware.c +1 -1
- data/examples/temp_sensor/src/AdcHardware.h +1 -1
- data/examples/temp_sensor/src/AdcHardwareConfigurator.c +2 -1
- data/examples/temp_sensor/src/AdcHardwareConfigurator.h +1 -1
- data/examples/temp_sensor/src/AdcModel.c +2 -2
- data/examples/temp_sensor/src/AdcModel.h +1 -1
- data/examples/temp_sensor/src/AdcTemperatureSensor.c +2 -1
- data/examples/temp_sensor/src/AdcTemperatureSensor.h +1 -1
- data/examples/temp_sensor/src/Executor.c +1 -1
- data/examples/temp_sensor/src/Executor.h +1 -1
- data/examples/temp_sensor/src/IntrinsicsWrapper.c +1 -1
- data/examples/temp_sensor/src/IntrinsicsWrapper.h +1 -1
- data/examples/temp_sensor/src/Main.c +3 -3
- data/examples/temp_sensor/src/Main.h +1 -1
- data/examples/temp_sensor/src/Model.c +1 -1
- data/examples/temp_sensor/src/Model.h +1 -1
- data/examples/temp_sensor/src/ModelConfig.h +1 -1
- data/examples/temp_sensor/src/TaskScheduler.c +1 -1
- data/examples/temp_sensor/src/TaskScheduler.h +1 -1
- data/examples/temp_sensor/src/TemperatureFilter.c +1 -1
- data/examples/temp_sensor/src/TemperatureFilter.h +1 -1
- data/examples/temp_sensor/src/TimerConductor.c +1 -1
- data/examples/temp_sensor/src/TimerConductor.h +1 -1
- data/examples/temp_sensor/src/TimerConfigurator.c +2 -1
- data/examples/temp_sensor/src/TimerConfigurator.h +1 -1
- data/examples/temp_sensor/src/TimerHardware.c +1 -1
- data/examples/temp_sensor/src/TimerHardware.h +1 -1
- data/examples/temp_sensor/src/TimerInterruptConfigurator.c +2 -1
- data/examples/temp_sensor/src/TimerInterruptConfigurator.h +1 -1
- data/examples/temp_sensor/src/TimerInterruptHandler.c +2 -1
- data/examples/temp_sensor/src/TimerInterruptHandler.h +1 -1
- data/examples/temp_sensor/src/TimerModel.c +1 -1
- data/examples/temp_sensor/src/TimerModel.h +1 -1
- data/examples/temp_sensor/src/Types.h +5 -2
- data/examples/temp_sensor/src/UsartConductor.c +1 -1
- data/examples/temp_sensor/src/UsartConductor.h +1 -1
- data/examples/temp_sensor/src/UsartConfigurator.c +2 -1
- data/examples/temp_sensor/src/UsartConfigurator.h +1 -1
- data/examples/temp_sensor/src/UsartHardware.c +1 -1
- data/examples/temp_sensor/src/UsartHardware.h +1 -1
- data/examples/temp_sensor/src/UsartModel.c +2 -2
- data/examples/temp_sensor/src/UsartModel.h +1 -1
- data/examples/temp_sensor/src/UsartPutChar.c +2 -1
- data/examples/temp_sensor/src/UsartPutChar.h +1 -1
- data/examples/temp_sensor/src/UsartTransmitBufferStatus.c +2 -1
- data/examples/temp_sensor/src/UsartTransmitBufferStatus.h +1 -1
- data/examples/temp_sensor/src/calculators/TemperatureCalculator.c +38 -0
- data/examples/temp_sensor/src/calculators/TemperatureCalculator.h +15 -0
- data/examples/temp_sensor/src/calculators/UsartBaudRateRegisterCalculator.c +25 -0
- data/examples/temp_sensor/src/calculators/UsartBaudRateRegisterCalculator.h +15 -0
- data/examples/temp_sensor/test/TestExecutor.c +1 -1
- data/examples/temp_sensor/test/TestMain.c +5 -1
- data/examples/temp_sensor/test/TestModel.c +1 -1
- data/examples/temp_sensor/test/TestTaskScheduler.c +1 -1
- data/examples/temp_sensor/test/TestTemperatureCalculator.c +2 -2
- data/examples/temp_sensor/test/TestTemperatureFilter.c +5 -2
- data/examples/temp_sensor/test/TestTimerConductor.c +1 -1
- data/examples/temp_sensor/test/TestTimerHardware.c +1 -1
- data/examples/temp_sensor/test/TestTimerIntegrated.c +8 -4
- data/examples/temp_sensor/test/TestTimerModel.c +1 -1
- data/examples/temp_sensor/test/TestTimerPlatformStandin.c +154 -0
- data/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +1 -1
- data/examples/temp_sensor/test/TestUsartConductor.c +1 -1
- data/examples/temp_sensor/test/TestUsartHardware.c +1 -1
- data/examples/temp_sensor/test/TestUsartIntegrated.c +9 -5
- data/examples/temp_sensor/test/TestUsartModel.c +2 -2
- data/examples/temp_sensor/test/TestUsartPlatformStandin.c +145 -0
- data/examples/temp_sensor/test/adc/TestAdcConductor.c +1 -1
- data/examples/temp_sensor/test/adc/TestAdcHardware.c +1 -1
- data/examples/temp_sensor/test/adc/TestAdcModel.c +1 -1
- data/examples/temp_sensor/test/adc/TestAdcPlatformStandin.c +100 -0
- data/examples/temp_sensor/test/platform/at91sam7s256.c +25 -0
- data/examples/temp_sensor/test/platform/at91sam7s256.h +183 -0
- data/examples/temp_sensor/test/support/UnityHelper.c +1 -1
- data/examples/temp_sensor/test/support/UnityHelper.h +1 -1
- data/examples/wondrous_forest/README.md +92 -0
- data/examples/wondrous_forest/mixin/add_gcov.yml +22 -0
- data/examples/wondrous_forest/project.yml +86 -0
- data/examples/wondrous_forest/src/AlertManager.c +125 -0
- data/examples/wondrous_forest/src/AlertManager.h +30 -0
- data/examples/wondrous_forest/src/EventQueue.c +73 -0
- data/examples/wondrous_forest/src/EventQueue.h +22 -0
- data/examples/wondrous_forest/src/ForestMonitor.c +88 -0
- data/examples/wondrous_forest/src/ForestMonitor.h +18 -0
- data/examples/wondrous_forest/src/HumiditySensor.c +57 -0
- data/examples/wondrous_forest/src/HumiditySensor.h +17 -0
- data/examples/wondrous_forest/src/LightSensor.c +51 -0
- data/examples/wondrous_forest/src/LightSensor.h +18 -0
- data/examples/wondrous_forest/src/SensorHal.c +62 -0
- data/examples/wondrous_forest/src/SensorHal.h +19 -0
- data/examples/wondrous_forest/src/SoilMoisture.c +61 -0
- data/examples/wondrous_forest/src/SoilMoisture.h +19 -0
- data/examples/wondrous_forest/src/TemperatureSensor.c +67 -0
- data/examples/wondrous_forest/src/TemperatureSensor.h +18 -0
- data/examples/wondrous_forest/src/Types.h +84 -0
- data/examples/wondrous_forest/src/UartDriver.c +55 -0
- data/examples/wondrous_forest/src/UartDriver.h +18 -0
- data/examples/wondrous_forest/test/TestAlertManager.c +105 -0
- data/examples/wondrous_forest/test/TestEventQueue.c +117 -0
- data/examples/wondrous_forest/test/TestForestMonitor.c +118 -0
- data/examples/wondrous_forest/test/TestHumiditySensor.c +85 -0
- data/examples/wondrous_forest/test/TestLightSensor.c +79 -0
- data/examples/wondrous_forest/test/TestSensorHal.c +58 -0
- data/examples/wondrous_forest/test/TestSoilMoisture.c +96 -0
- data/examples/wondrous_forest/test/TestTemperatureSensor.c +100 -0
- data/examples/wondrous_forest/test/TestUartDriver.c +55 -0
- data/lib/ceedling/application.rb +1 -1
- data/lib/ceedling/array_patches.rb +28 -0
- data/lib/ceedling/batchinator.rb +76 -0
- data/lib/ceedling/c_extractor/c_extractor.rb +340 -0
- data/lib/ceedling/c_extractor/c_extractor_code_text.rb +283 -0
- data/lib/ceedling/c_extractor/c_extractor_constants.rb +38 -0
- data/lib/ceedling/c_extractor/c_extractor_declarations.rb +415 -0
- data/lib/ceedling/c_extractor/c_extractor_definitions.rb +157 -0
- data/lib/ceedling/c_extractor/c_extractor_functions.rb +402 -0
- data/lib/ceedling/c_extractor/c_extractor_preprocessing.rb +262 -0
- data/lib/ceedling/c_extractor/c_extractor_types.rb +122 -0
- data/lib/ceedling/cacheinator.rb +1 -1
- data/lib/ceedling/cacheinator_helper.rb +23 -4
- data/lib/ceedling/ceedling.h +40 -0
- data/lib/ceedling/config/config_matchinator.rb +254 -0
- data/lib/ceedling/config/config_walkinator.rb +35 -0
- data/lib/ceedling/config/configurator.rb +897 -0
- data/lib/ceedling/config/configurator_builder.rb +577 -0
- data/lib/ceedling/config/configurator_plugins.rb +163 -0
- data/lib/ceedling/config/configurator_setup.rb +767 -0
- data/lib/ceedling/config/configurator_validator.rb +203 -0
- data/lib/ceedling/constants.rb +67 -27
- data/lib/ceedling/defaults.rb +32 -71
- data/lib/ceedling/defineinator.rb +4 -2
- data/lib/ceedling/dependinator.rb +1 -1
- data/lib/ceedling/encodinator.rb +26 -0
- data/lib/ceedling/erb_wrapper.rb +1 -1
- data/lib/ceedling/exceptions.rb +23 -3
- data/lib/ceedling/file_finder.rb +39 -10
- data/lib/ceedling/file_finder_helper.rb +19 -5
- data/lib/ceedling/file_path_collection_utils.rb +39 -25
- data/lib/ceedling/file_path_utils.rb +184 -27
- data/lib/ceedling/file_system_wrapper.rb +1 -1
- data/lib/ceedling/file_wrapper.rb +14 -1
- data/lib/ceedling/flaginator.rb +1 -1
- data/lib/ceedling/generators/generator.rb +428 -0
- data/lib/ceedling/generators/generator_helper.rb +84 -0
- data/lib/ceedling/generators/generator_mocks.rb +41 -0
- data/lib/ceedling/generators/generator_partials.rb +177 -0
- data/lib/ceedling/generators/generator_test_results.rb +296 -0
- data/lib/ceedling/generators/generator_test_results_backtrace.rb +290 -0
- data/lib/ceedling/generators/generator_test_results_sanity_checker.rb +70 -0
- data/lib/ceedling/generators/generator_test_runner.rb +97 -0
- data/lib/ceedling/includes/include_factory.rb +43 -0
- data/lib/ceedling/includes/include_pathinator.rb +83 -0
- data/lib/ceedling/includes/includes.rb +341 -0
- data/lib/ceedling/loginator.rb +115 -12
- data/lib/ceedling/makefile.rb +1 -1
- data/lib/ceedling/objects.yml +150 -42
- data/lib/ceedling/parsing_parcels.rb +103 -0
- data/lib/ceedling/partials/partializer.rb +444 -0
- data/lib/ceedling/partials/partializer_config.rb +217 -0
- data/lib/ceedling/partials/partializer_helper.rb +344 -0
- data/lib/ceedling/partials/partializer_runtime.rb +29 -0
- data/lib/ceedling/partials/partializer_utils.rb +222 -0
- data/lib/ceedling/partials/partials.rb +82 -0
- data/lib/ceedling/plugins/plugin.rb +30 -0
- data/lib/ceedling/plugins/plugin_manager.rb +159 -0
- data/lib/ceedling/plugins/plugin_manager_helper.rb +25 -0
- data/lib/ceedling/plugins/plugin_reportinator.rb +131 -0
- data/lib/ceedling/plugins/plugin_reportinator_helper.rb +80 -0
- data/lib/ceedling/plugins/report_tests_stdout_plugin.rb +88 -0
- data/lib/ceedling/preprocess/README.md +184 -0
- data/lib/ceedling/preprocess/c_comment_scanner.rb +194 -0
- data/lib/ceedling/preprocess/c_preprocessor_conditionals.rb +170 -0
- data/lib/ceedling/preprocess/preprocessinator.rb +605 -0
- data/lib/ceedling/preprocess/preprocessinator_bare_includes_extractor.rb +69 -0
- data/lib/ceedling/preprocess/preprocessinator_code_finder.rb +150 -0
- data/lib/ceedling/preprocess/preprocessinator_comment_stripper.rb +80 -0
- data/lib/ceedling/preprocess/preprocessinator_file_assembler.rb +378 -0
- data/lib/ceedling/preprocess/preprocessinator_includes_handler.rb +224 -0
- data/lib/ceedling/preprocess/preprocessinator_line_marker_includes_extractor.rb +215 -0
- data/lib/ceedling/preprocess/preprocessinator_reconstructor.rb +398 -0
- data/lib/ceedling/rake_app/rake_invocation_tracker.rb +39 -0
- data/lib/ceedling/rake_app/rake_task_registry.rb +210 -0
- data/lib/ceedling/rake_app/rake_utils.rb +23 -0
- data/lib/ceedling/rake_app/rake_wrapper.rb +40 -0
- data/lib/ceedling/rake_app/rakefile_component_resolver.rb +77 -0
- data/lib/ceedling/rakefile.rb +16 -8
- data/lib/ceedling/release_invoker.rb +48 -4
- data/lib/ceedling/reportinator.rb +39 -18
- data/lib/ceedling/ruby_expandinator.rb +61 -0
- data/lib/ceedling/rules_release.rake +4 -2
- data/lib/ceedling/rules_tests.rake +1 -23
- data/lib/ceedling/setupinator.rb +23 -11
- data/lib/ceedling/stream_wrapper.rb +1 -1
- data/lib/ceedling/system_utils.rb +1 -1
- data/lib/ceedling/system_wrapper.rb +18 -21
- data/lib/ceedling/tasks_base.rake +3 -3
- data/lib/ceedling/tasks_filesystem.rake +22 -12
- data/lib/ceedling/tasks_release.rake +11 -18
- data/lib/ceedling/tasks_tests.rake +1 -1
- data/lib/ceedling/test_context_extractor.rb +184 -176
- data/lib/ceedling/test_invoker/test_build_executor.rb +661 -0
- data/lib/ceedling/test_invoker/test_build_planner.rb +277 -0
- data/lib/ceedling/test_invoker/test_build_setup.rb +441 -0
- data/lib/ceedling/test_invoker/test_invoker.rb +251 -0
- data/lib/ceedling/test_invoker/test_invoker_types.rb +56 -0
- data/lib/ceedling/test_runner_manager.rb +1 -1
- data/lib/ceedling/tool_executor.rb +31 -21
- data/lib/ceedling/tool_executor_helper.rb +7 -15
- data/lib/ceedling/tool_validator.rb +25 -9
- data/lib/ceedling/verbosinator.rb +1 -1
- data/lib/ceedling/yaml_wrapper.rb +72 -12
- data/lib/ceedling.rb +1 -1
- data/lib/snapshot.rb +43 -0
- data/lib/version.rb +2 -2
- data/license.txt +1 -1
- data/mkdocs.local.yml +45 -0
- data/mkdocs.yml +202 -0
- data/plugins/beep/config/defaults.yml +1 -1
- data/plugins/beep/config/defaults_beep.rb +1 -1
- data/plugins/beep/lib/beep.rb +7 -5
- data/plugins/bullseye/assets/template.erb +1 -1
- data/plugins/bullseye/bullseye.rake +1 -1
- data/plugins/bullseye/config/defaults.yml +1 -1
- data/plugins/bullseye/lib/bullseye.rb +9 -9
- data/plugins/command_hooks/lib/command_hooks.rb +43 -38
- data/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb +2 -2
- data/plugins/cppcheck/AUTHORS.md +8 -0
- data/plugins/cppcheck/config/defaults.yml +44 -0
- data/plugins/cppcheck/config/defaults_cppcheck.rb +32 -0
- data/plugins/cppcheck/cppcheck.rake +54 -0
- data/plugins/cppcheck/lib/cppcheck.rb +247 -0
- data/plugins/cppcheck/lib/cppcheck_constants.rb +20 -0
- data/plugins/cppcheck/lib/cppcheck_reports.rb +160 -0
- data/plugins/dependencies/Rakefile +1 -1
- data/plugins/dependencies/config/defaults.yml +1 -1
- data/plugins/dependencies/dependencies.rake +3 -3
- data/plugins/dependencies/example/boss/project.yml +1 -6
- data/plugins/dependencies/example/boss/src/boss.c +1 -1
- data/plugins/dependencies/example/boss/src/boss.h +1 -1
- data/plugins/dependencies/example/boss/src/main.c +1 -1
- data/plugins/dependencies/example/boss/test/test_boss.c +1 -1
- data/plugins/dependencies/example/supervisor/project.yml +1 -6
- data/plugins/dependencies/example/supervisor/src/supervisor.c +1 -1
- data/plugins/dependencies/example/supervisor/src/supervisor.h +1 -1
- data/plugins/dependencies/example/supervisor/test/test_supervisor.c +1 -1
- data/plugins/dependencies/lib/dependencies.rb +14 -2
- data/plugins/fff/Rakefile +1 -1
- data/plugins/fff/config/fff.yml +1 -1
- data/plugins/fff/examples/fff_example/project.yml +2 -2
- data/plugins/fff/examples/fff_example/src/bar.c +1 -1
- data/plugins/fff/examples/fff_example/src/bar.h +1 -1
- data/plugins/fff/examples/fff_example/src/custom_types.h +1 -1
- data/plugins/fff/examples/fff_example/src/display.c +1 -1
- data/plugins/fff/examples/fff_example/src/display.h +1 -1
- data/plugins/fff/examples/fff_example/src/event_processor.c +1 -1
- data/plugins/fff/examples/fff_example/src/event_processor.h +1 -1
- data/plugins/fff/examples/fff_example/src/foo.c +1 -1
- data/plugins/fff/examples/fff_example/src/foo.h +1 -1
- data/plugins/fff/examples/fff_example/src/subfolder/zzz.c +1 -1
- data/plugins/fff/examples/fff_example/src/subfolder/zzz.h +1 -1
- data/plugins/fff/examples/fff_example/test/test_event_processor.c +1 -1
- data/plugins/fff/examples/fff_example/test/test_foo.c +1 -1
- data/plugins/fff/lib/fff.rb +10 -5
- data/plugins/fff/lib/fff_mock_generator.rb +3 -1
- data/plugins/fff/spec/fff_mock_header_generator_spec.rb +1 -1
- data/plugins/fff/spec/fff_mock_source_generator_spec.rb +1 -1
- data/plugins/fff/spec/header_generator.rb +1 -1
- data/plugins/fff/spec/spec_helper.rb +1 -1
- data/plugins/fff/src/fff_unity_helper.h +1 -1
- data/plugins/gcov/config/defaults.yml +4 -1
- data/plugins/gcov/config/defaults_gcov.rb +40 -13
- data/plugins/gcov/gcov.rake +31 -1
- data/plugins/gcov/lib/console_reportinator.rb +180 -0
- data/plugins/gcov/lib/gcov.rb +189 -103
- data/plugins/gcov/lib/gcov_constants.rb +16 -4
- data/plugins/gcov/lib/gcov_reportinator.rb +63 -0
- data/plugins/gcov/lib/gcov_types.rb +8 -0
- data/plugins/gcov/lib/gcovr_reportinator.rb +237 -136
- data/plugins/gcov/lib/reportgenerator_reportinator.rb +242 -116
- data/plugins/module_generator/Rakefile +51 -24
- data/plugins/module_generator/assets/stubby1.h +1 -1
- data/plugins/module_generator/assets/stubby2.h +1 -1
- data/plugins/module_generator/config/module_generator.yml +1 -2
- data/plugins/module_generator/example/project.yml +2 -5
- data/plugins/module_generator/lib/module_generator.rb +7 -7
- data/plugins/module_generator/module_generator.rake +1 -1
- data/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb +14 -20
- data/plugins/report_tests_gtestlike_stdout/assets/template.erb +3 -3
- data/plugins/report_tests_gtestlike_stdout/config/report_tests_gtestlike_stdout.yml +1 -1
- data/plugins/report_tests_gtestlike_stdout/lib/report_tests_gtestlike_stdout.rb +4 -61
- data/plugins/report_tests_ide_stdout/config/report_tests_ide_stdout.yml +1 -1
- data/plugins/report_tests_ide_stdout/lib/report_tests_ide_stdout.rb +7 -60
- data/plugins/report_tests_log_factory/config/defaults.yml +1 -1
- data/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb +5 -5
- data/plugins/report_tests_log_factory/lib/html_tests_reporter.rb +302 -133
- data/plugins/report_tests_log_factory/lib/json_tests_reporter.rb +9 -7
- data/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb +6 -5
- data/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb +72 -36
- data/plugins/report_tests_log_factory/lib/tests_reporter.rb +8 -8
- data/plugins/report_tests_pretty_stdout/assets/template.erb +1 -2
- data/plugins/report_tests_pretty_stdout/config/report_tests_pretty_stdout.yml +1 -1
- data/plugins/report_tests_pretty_stdout/lib/report_tests_pretty_stdout.rb +4 -65
- data/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb +4 -4
- data/plugins/report_tests_teamcity_stdout/config/defaults.yml +1 -1
- data/plugins/report_tests_teamcity_stdout/config/report_tests_teamcity_stdout.yml +1 -1
- data/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +2 -2
- data/plugins/valgrind/config/defaults.yml +19 -0
- data/plugins/valgrind/config/defaults_valgrind.rb +20 -0
- data/plugins/valgrind/lib/valgrind.rb +132 -0
- data/plugins/valgrind/lib/valgrind_constants.rb +13 -0
- data/plugins/valgrind/valgrind.rake +87 -0
- data/site-local/404.html +4002 -0
- data/site-local/assets/images/ceedling-logo-circle.png +0 -0
- data/site-local/assets/images/ceedling.svg +90 -0
- data/site-local/assets/images/favicon.png +0 -0
- data/site-local/assets/javascripts/bundle.79ae519e.min.js +16 -0
- data/site-local/assets/javascripts/bundle.79ae519e.min.js.map +7 -0
- data/site-local/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
- data/site-local/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
- data/site-local/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
- data/site-local/assets/javascripts/lunr/tinyseg.js +206 -0
- data/site-local/assets/javascripts/lunr/wordcut.js +6708 -0
- data/site-local/assets/javascripts/workers/search.2c215733.min.js +42 -0
- data/site-local/assets/javascripts/workers/search.2c215733.min.js.map +7 -0
- data/site-local/assets/stylesheets/admonitions.css +152 -0
- data/site-local/assets/stylesheets/fixes-local.css +15 -0
- data/site-local/assets/stylesheets/main.484c7ddc.min.css +1 -0
- data/site-local/assets/stylesheets/main.484c7ddc.min.css.map +1 -0
- data/site-local/assets/stylesheets/palette.ab4e12ef.min.css +1 -0
- data/site-local/assets/stylesheets/palette.ab4e12ef.min.css.map +1 -0
- data/site-local/assets/stylesheets/styling.css +102 -0
- data/site-local/configuration/environment-vars.html +4102 -0
- data/site-local/configuration/global-collections.html +4248 -0
- data/site-local/configuration/index.html +4169 -0
- data/site-local/configuration/loading.html +4348 -0
- data/site-local/configuration/mixins.html +5060 -0
- data/site-local/configuration/parallel-builds.html +4347 -0
- data/site-local/configuration/project-file.html +4474 -0
- data/site-local/configuration/reference/cexception.html +4225 -0
- data/site-local/configuration/reference/cmock.html +4401 -0
- data/site-local/configuration/reference/defines.html +4734 -0
- data/site-local/configuration/reference/environment.html +4242 -0
- data/site-local/configuration/reference/extension.html +4387 -0
- data/site-local/configuration/reference/files.html +4541 -0
- data/site-local/configuration/reference/flags.html +4681 -0
- data/site-local/configuration/reference/index.html +4290 -0
- data/site-local/configuration/reference/libraries.html +4365 -0
- data/site-local/configuration/reference/mixins.html +4195 -0
- data/site-local/configuration/reference/paths.html +4714 -0
- data/site-local/configuration/reference/plugins.html +4262 -0
- data/site-local/configuration/reference/project.html +4777 -0
- data/site-local/configuration/reference/release-build.html +4287 -0
- data/site-local/configuration/reference/test-build.html +4264 -0
- data/site-local/configuration/reference/test-runner.html +4289 -0
- data/site-local/configuration/reference/tools.html +5120 -0
- data/site-local/configuration/reference/unity.html +4255 -0
- data/site-local/configuration/which-ceedling.html +4269 -0
- data/site-local/development/index.html +4148 -0
- data/site-local/development/plugins/configuration.html +4446 -0
- data/site-local/development/plugins/index.html +4212 -0
- data/site-local/development/plugins/plugin-subclass.html +5068 -0
- data/site-local/development/plugins/rake-tasks.html +4236 -0
- data/site-local/development/workflow.html +4664 -0
- data/site-local/getting-started/command-line.html +5498 -0
- data/site-local/getting-started/example-projects/cipher-quest.html +4272 -0
- data/site-local/getting-started/example-projects/index.html +4173 -0
- data/site-local/getting-started/example-projects/temp-sensor.html +4322 -0
- data/site-local/getting-started/example-projects/wondrous-forest.html +4290 -0
- data/site-local/getting-started/index.html +4116 -0
- data/site-local/getting-started/installation.html +4452 -0
- data/site-local/getting-started/quick-start.html +4262 -0
- data/site-local/help.html +4081 -0
- data/site-local/index.html +4364 -0
- data/site-local/overview/build-system.html +4288 -0
- data/site-local/overview/index.html +4103 -0
- data/site-local/overview/test-environments.html +4116 -0
- data/site-local/overview/tools-and-frameworks.html +4433 -0
- data/site-local/plugins/beep.html +4413 -0
- data/site-local/plugins/bullseye.html +4249 -0
- data/site-local/plugins/command-hooks.html +5023 -0
- data/site-local/plugins/compile-commands-json-db.html +4243 -0
- data/site-local/plugins/cppcheck.html +4851 -0
- data/site-local/plugins/dependencies.html +4828 -0
- data/site-local/plugins/fff.html +4661 -0
- data/site-local/plugins/gcov/examples.html +4293 -0
- data/site-local/plugins/gcov/gcovr.html +4512 -0
- data/site-local/plugins/gcov/index.html +4150 -0
- data/site-local/plugins/gcov/overview.html +4410 -0
- data/site-local/plugins/gcov/reportgenerator.html +4164 -0
- data/site-local/plugins/gcov/reporting.html +4336 -0
- data/site-local/plugins/gcov/setup.html +4597 -0
- data/site-local/plugins/gcov/tool-versions.html +4269 -0
- data/site-local/plugins/gcov/troubleshooting.html +4313 -0
- data/site-local/plugins/index.html +4348 -0
- data/site-local/plugins/module-generator.html +4588 -0
- data/site-local/plugins/report-build-warnings-log.html +4229 -0
- data/site-local/plugins/report-tests-gtestlike-stdout.html +4357 -0
- data/site-local/plugins/report-tests-ide-stdout.html +4270 -0
- data/site-local/plugins/report-tests-log-factory.html +4792 -0
- data/site-local/plugins/report-tests-pretty-stdout.html +4265 -0
- data/site-local/plugins/report-tests-raw-output-log.html +4292 -0
- data/site-local/plugins/report-tests-teamcity-stdout.html +4291 -0
- data/site-local/plugins/sample_html_report.png +0 -0
- data/site-local/plugins/valgrind.html +4605 -0
- data/site-local/project/release-history.html +4225 -0
- data/site-local/project/upgrade.html +4314 -0
- data/site-local/reference/build-directives.html +4210 -0
- data/site-local/reference/command-line.html +4989 -0
- data/site-local/reference/environment-vars.html +4278 -0
- data/site-local/reference/gcov-plugin.html +5886 -0
- data/site-local/reference/global-collections.html +4385 -0
- data/site-local/reference/index.html +4126 -0
- data/site-local/reference/partials-macros.html +4326 -0
- data/site-local/reference/project-configuration.html +4253 -0
- data/site-local/sitemap.xml +3 -0
- data/site-local/sitemap.xml.gz +0 -0
- data/site-local/snapshot/assets/project.yml +404 -0
- data/site-local/snapshot/examples/cipher_quest/index.html +4292 -0
- data/site-local/snapshot/examples/temp_sensor/index.html +4416 -0
- data/site-local/snapshot/examples/wondrous_forest/index.html +4200 -0
- data/site-local/snapshot/plugins/gcov/config/defaults.yml +33 -0
- data/site-local/snapshot/plugins/gcov/config/defaults_gcov.rb +136 -0
- data/site-local/testing-guide/build-directives.html +4481 -0
- data/site-local/testing-guide/conventions.html +5233 -0
- data/site-local/testing-guide/frameworks.html +4488 -0
- data/site-local/testing-guide/index.html +4174 -0
- data/site-local/testing-guide/partials/configuration.html +4347 -0
- data/site-local/testing-guide/partials/conventions.html +4327 -0
- data/site-local/testing-guide/partials/directives.html +4680 -0
- data/site-local/testing-guide/partials/example.html +4448 -0
- data/site-local/testing-guide/partials/index.html +4167 -0
- data/site-local/testing-guide/partials/overview.html +4322 -0
- data/site-local/testing-guide/partials/variables.html +4548 -0
- data/site-local/testing-guide/test-cases.html +4436 -0
- data/site-local/testing-guide/test-sample.html +4265 -0
- data/site-local/testing-guide/test-suite-anatomy.html +4249 -0
- data/spec/manual/stress_test.rb +1 -1
- data/spec/support/other_target.yml +1 -1
- data/spec/support/spec_helper.rb +20 -0
- data/spec/support/system/gem_dir_layout.rb +20 -0
- data/spec/support/system/spec_system_helper.rb +206 -0
- data/spec/support/system/system_context.rb +310 -0
- data/spec/support/system/system_test_output.rb +28 -0
- data/spec/support/target.yml +1 -1
- data/spec/system/cppcheck_deployment_spec.rb +49 -0
- data/spec/system/deployment_as_gem_spec.rb +86 -48
- data/spec/system/deployment_as_vendor_spec.rb +141 -79
- data/spec/system/encoding_stress_spec.rb +153 -0
- data/spec/system/example_cipher_quest_spec.rb +186 -0
- data/spec/system/example_temp_sensor_spec.rb +41 -35
- data/spec/system/example_wondrous_forest_spec.rb +117 -0
- data/spec/system/gcov_deployment_spec.rb +164 -0
- data/spec/system/mixin_ordering_spec.rb +548 -0
- data/spec/system/preprocessing_encoding_spec.rb +114 -0
- data/spec/system/preprocessing_fallback_conditionals_spec.rb +166 -0
- data/spec/system/preprocessing_locale_spec.rb +153 -0
- data/spec/system/preprocessing_parameterized_tests_spec.rb +183 -0
- data/spec/system/ruby_replacement_spec.rb +141 -0
- data/spec/system/support/common_test_cases.rb +945 -0
- data/spec/system/support/cppcheck_common_test_cases.rb +98 -0
- data/spec/system/support/cppcheck_helpers.rb +27 -0
- data/spec/system/support/gcov_common_test_cases.rb +457 -0
- data/spec/system/support/gcov_helpers.rb +81 -0
- data/spec/system/support/valgrind_common_test_cases.rb +120 -0
- data/spec/system/support/valgrind_helpers.rb +21 -0
- data/spec/system/upgrade_as_vendor_spec.rb +74 -39
- data/spec/system/valgrind_deployment_spec.rb +53 -0
- data/spec/units/bin/cli_helper_spec.rb +69 -0
- data/spec/units/bin/merginator_spec.rb +279 -0
- data/spec/units/bin/mixin_standardizer_spec.rb +231 -0
- data/spec/units/bin/mixinator_spec.rb +583 -0
- data/spec/units/bin/projectinator_mixin_spec.rb +362 -0
- data/spec/units/bin/recursive_merger_spec.rb +241 -0
- data/spec/units/c_extractor/c_extractor_code_text_spec.rb +2091 -0
- data/spec/units/c_extractor/c_extractor_declarations_spec.rb +746 -0
- data/spec/units/c_extractor/c_extractor_definitions_spec.rb +417 -0
- data/spec/units/c_extractor/c_extractor_functions_spec.rb +2742 -0
- data/spec/units/c_extractor/c_extractor_integration_spec.rb +935 -0
- data/spec/units/c_extractor/c_extractor_preprocessing_spec.rb +497 -0
- data/spec/units/c_extractor/c_extractor_spec.rb +356 -0
- data/spec/units/config_matchinator_spec.rb +401 -0
- data/spec/units/config_walkinator_spec.rb +62 -0
- data/spec/units/configurator_builder_spec.rb +16 -0
- data/spec/units/configurator_spec.rb +187 -0
- data/spec/units/file_finder_helper_spec.rb +73 -0
- data/spec/units/file_path_collection_utils_spec.rb +222 -0
- data/spec/units/file_path_utils_spec.rb +274 -0
- data/spec/units/generators/generator_helper_spec.rb +112 -0
- data/spec/units/generators/generator_partials_spec.rb +795 -0
- data/spec/units/generators/generator_test_results_backtrace_spec.rb +492 -0
- data/spec/units/generators/generator_test_results_sanity_checker_spec.rb +105 -0
- data/spec/units/generators/generator_test_results_spec.rb +412 -0
- data/spec/units/generators/generator_test_runner_spec.rb +120 -0
- data/spec/units/includes/include_spec.rb +716 -0
- data/spec/units/includes/includes_spec.rb +1069 -0
- data/spec/units/parsing_parcels_spec.rb +139 -0
- data/spec/units/partials/partializer_config_spec.rb +388 -0
- data/spec/units/partials/partializer_helper_spec.rb +992 -0
- data/spec/units/partials/partializer_spec.rb +1629 -0
- data/spec/units/partials/partializer_utils_spec.rb +587 -0
- data/spec/units/plugin_manager_spec.rb +48 -0
- data/spec/units/plugins/cppcheck_spec.rb +557 -0
- data/spec/units/preprocess/c_comment_scanner_spec.rb +409 -0
- data/spec/units/preprocess/c_preprocessor_conditionals_spec.rb +396 -0
- data/spec/units/preprocess/preprocessinator_code_finder_spec.rb +361 -0
- data/spec/units/preprocess/preprocessinator_comment_stripper_spec.rb +580 -0
- data/spec/units/preprocess/preprocessinator_file_assembler_spec.rb +263 -0
- data/spec/units/preprocess/preprocessinator_includes_handler_spec.rb +337 -0
- data/spec/units/preprocess/preprocessinator_reconstructor_spec.rb +700 -0
- data/spec/units/reportinator_spec.rb +251 -0
- data/spec/units/ruby_expandinator_spec.rb +91 -0
- data/spec/units/system_utils_spec.rb +65 -0
- data/spec/units/test_context_extractor_spec.rb +437 -0
- data/spec/units/tool_executor_helper_spec.rb +205 -0
- data/spec/units/tool_executor_spec.rb +83 -0
- data/spec/units/tool_validator_spec.rb +60 -0
- data/spec/units/yaml_wrapper_spec.rb +108 -0
- data/vendor/cmock/Gemfile +4 -1
- data/vendor/cmock/LICENSE.txt +1 -1
- data/vendor/cmock/config/production_environment.rb +1 -1
- data/vendor/cmock/config/test_environment.rb +1 -1
- data/vendor/cmock/docs/CMockChangeLog.md +47 -0
- data/vendor/cmock/docs/CMockKnownIssues.md +0 -1
- data/vendor/cmock/docs/CMock_ArgumentValidation.md +180 -25
- data/vendor/cmock/docs/CMock_Summary.md +158 -16
- data/vendor/cmock/examples/make_example/Makefile +1 -1
- data/vendor/cmock/examples/make_example/src/foo.c +1 -1
- data/vendor/cmock/examples/make_example/src/foo.h +1 -1
- data/vendor/cmock/examples/make_example/src/main.c +1 -1
- data/vendor/cmock/examples/make_example/test/test_foo.c +1 -1
- data/vendor/cmock/examples/make_example/test/test_main.c +2 -2
- data/vendor/cmock/examples/temp_sensor/project.yml +75 -0
- data/vendor/cmock/examples/temp_sensor/rakefile.rb +3 -3
- data/vendor/cmock/examples/temp_sensor/rakefile_helper.rb +163 -119
- data/vendor/cmock/examples/temp_sensor/src/AT91SAM7X256.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcConductor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcConductor.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcHardware.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcHardware.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcModel.c +3 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcModel.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/Executor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/Executor.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/Main.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/Main.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/Model.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/Model.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/ModelConfig.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.c +2 -2
- data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerConductor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerConductor.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.c +2 -2
- data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerHardware.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerHardware.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.c +10 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerModel.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/TimerModel.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/Types.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartConductor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartConductor.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartHardware.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartHardware.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartModel.c +2 -2
- data/vendor/cmock/examples/temp_sensor/src/UsartModel.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.c +2 -2
- data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.h +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.c +1 -1
- data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.h +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestAdcConductor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestAdcHardware.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestAdcHardwareConfigurator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestAdcModel.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestAdcTemperatureSensor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestExecutor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestMain.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestModel.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTaskScheduler.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTemperatureCalculator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTemperatureFilter.c +2 -2
- data/vendor/cmock/examples/temp_sensor/test/TestTimerConductor.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTimerConfigurator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTimerHardware.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptConfigurator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptHandler.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestTimerModel.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestUsartConductor.c +7 -5
- data/vendor/cmock/examples/temp_sensor/test/TestUsartConfigurator.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestUsartHardware.c +3 -2
- data/vendor/cmock/examples/temp_sensor/test/TestUsartModel.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestUsartPutChar.c +1 -1
- data/vendor/cmock/examples/temp_sensor/test/TestUsartTransmitBufferStatus.c +1 -1
- data/vendor/cmock/lib/cmock.rb +1 -1
- data/vendor/cmock/lib/cmock_config.rb +8 -2
- data/vendor/cmock/lib/cmock_file_writer.rb +38 -1
- data/vendor/cmock/lib/cmock_generator.rb +44 -27
- data/vendor/cmock/lib/cmock_generator_plugin_array.rb +68 -15
- data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +13 -3
- data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +12 -3
- data/vendor/cmock/lib/cmock_generator_plugin_expect.rb +33 -15
- data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +13 -8
- data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +15 -10
- data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +4 -2
- data/vendor/cmock/lib/cmock_generator_plugin_ignore_stateless.rb +15 -10
- data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +53 -3
- data/vendor/cmock/lib/cmock_generator_utils.rb +159 -43
- data/vendor/cmock/lib/cmock_header_parser.rb +217 -26
- data/vendor/cmock/lib/cmock_plugin_manager.rb +1 -1
- data/vendor/cmock/lib/cmock_unityhelper_parser.rb +7 -2
- data/vendor/cmock/lib/cmock_version.rb +1 -1
- data/vendor/cmock/scripts/create_makefile.rb +7 -5
- data/vendor/cmock/src/cmock.c +132 -129
- data/vendor/cmock/src/cmock.h +7 -13
- data/vendor/cmock/src/cmock_internals.h +73 -39
- data/vendor/cmock/test/c/TestCMockC.c +1 -7
- data/vendor/cmock/test/c/TestCMockC.yml +1 -1
- data/vendor/cmock/test/c/TestCMockCDynamic.c +1 -7
- data/vendor/cmock/test/c/TestCMockCDynamic.yml +1 -1
- data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +1 -7
- data/vendor/cmock/test/c/TestCMockC_Runner.c +1 -7
- data/vendor/cmock/test/gcc_64_valgrind.yml +41 -0
- data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X-EK.h +1 -1
- data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +1 -1
- data/vendor/cmock/test/iar/iar_v4/incIAR/ioat91sam7x256.h +1 -1
- data/vendor/cmock/test/iar/iar_v4/srcIAR/Cstartup_SAM7.c +1 -1
- data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X-EK.h +1 -1
- data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +1 -1
- data/vendor/cmock/test/iar/iar_v5/incIAR/project.h +1 -1
- data/vendor/cmock/test/iar/iar_v5/srcIAR/Cstartup_SAM7.c +1 -1
- data/vendor/cmock/test/project.yml +32 -0
- data/vendor/cmock/test/rakefile +74 -58
- data/vendor/cmock/test/rakefile_helper.rb +359 -152
- data/vendor/cmock/test/system/systest_generator.rb +2 -2
- data/vendor/cmock/test/system/test_compilation/callingconv.h +1 -7
- data/vendor/cmock/test/system/test_compilation/config.yml +10 -1
- data/vendor/cmock/test/system/test_compilation/const.h +7 -13
- data/vendor/cmock/test/system/test_compilation/inline.h +1 -2
- data/vendor/cmock/test/system/test_compilation/osek.h +1 -7
- data/vendor/cmock/test/system/test_compilation/parsing.h +37 -7
- data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +5 -13
- data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +5 -5
- data/vendor/cmock/test/system/test_interactions/array_handling.yml +758 -0
- data/vendor/cmock/test/system/test_interactions/basic_expect_and_return.yml +2 -2
- data/vendor/cmock/test/system/test_interactions/char_string_array_plugin.yml +113 -0
- data/vendor/cmock/test/system/test_interactions/const_custom_type.yml +68 -0
- data/vendor/cmock/test/system/test_interactions/const_primitives_handling.yml +4 -3
- data/vendor/cmock/test/system/test_interactions/const_ptr_return_and_arg.yml +89 -0
- data/vendor/cmock/test/system/test_interactions/debug_output.yml +235 -0
- data/vendor/cmock/test/system/test_interactions/doesnt_leave_details_behind.yml +16 -16
- data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/expect_and_return_custom_types.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/expect_and_return_treat_as.yml +3 -3
- data/vendor/cmock/test/system/test_interactions/expect_and_throw.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/expect_any_args.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/fancy_pointer_handling.yml +3 -3
- data/vendor/cmock/test/system/test_interactions/function_pointer_handling.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/ignore_and_return.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/ignore_and_return_stateless.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/ignore_strict_mock_calling.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/newer_standards_stuff1.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_1.yml +2 -2
- data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_2.yml +7 -4
- data/vendor/cmock/test/system/test_interactions/out_of_memory.yml +65 -8
- data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/parsing_challenges_with_func_pointers.yml +88 -0
- data/vendor/cmock/test/system/test_interactions/pointer_handling.yml +465 -0
- data/vendor/cmock/test/system/test_interactions/return_thru_ptr_expect_any_args.yml +238 -0
- data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore.yml +142 -0
- data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +13 -9
- data/vendor/cmock/test/system/test_interactions/skeleton.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/skeleton_update.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return_with_plugins.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/stubs_with_callbacks.yml +14 -2
- data/vendor/cmock/test/system/test_interactions/teardown_mock_calls.yml +57 -0
- data/vendor/cmock/test/system/test_interactions/teardown_mock_expectations.yml +59 -0
- data/vendor/cmock/test/system/test_interactions/unity_64bit_support.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/unity_ignores.yml +1 -1
- data/vendor/cmock/test/system/test_interactions/unity_void_pointer_compare.yml +9 -9
- data/vendor/cmock/test/system/test_interactions/void_pointer_no_array_plugin.yml +133 -0
- data/vendor/cmock/test/system/test_interactions/void_pointer_treat_as_void_array_plugin.yml +102 -0
- data/vendor/cmock/test/system/test_interactions/volatile_pointer_handling.yml +291 -0
- data/vendor/cmock/test/system/test_interactions/wrong_expect_and_return.yml +9 -1
- data/vendor/cmock/test/targets/iar_arm.yml +14 -0
- data/vendor/cmock/test/targets/tiny.yml +36 -0
- data/vendor/cmock/test/test_helper.rb +1 -2
- data/vendor/cmock/test/unit/cmock_config_test.rb +1 -2
- data/vendor/cmock/test/unit/cmock_config_test.yml +1 -1
- data/vendor/cmock/test/unit/cmock_file_writer_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +6 -0
- data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_array_test.rb +90 -0
- data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_expect_any_args_test.rb +38 -0
- data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_expect_test.rb +55 -0
- data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_ignore_stateless_test.rb +42 -0
- data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_ignore_test.rb +42 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +63 -2
- data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +24 -6
- data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +1 -1
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +118 -2
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +2 -2
- data/vendor/cmock/test/unit/cmock_generator_plugin_expect_b_test.rb +4 -2
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +2 -1
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_stateless_test.rb +2 -2
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +2 -2
- data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +135 -3
- data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +177 -9
- data/vendor/cmock/test/unit/cmock_header_parser_test.rb +705 -109
- data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +4 -2
- data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +1 -1
- data/vendor/cmock/vendor/unity/CMakeLists.txt +10 -0
- data/vendor/cmock/vendor/unity/LICENSE.txt +1 -1
- data/vendor/cmock/vendor/unity/README.md +2 -2
- data/vendor/cmock/vendor/unity/auto/__init__.py +1 -1
- data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +1 -1
- data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +7 -1
- data/vendor/cmock/vendor/unity/auto/extract_version.py +1 -1
- data/vendor/cmock/vendor/unity/auto/generate_config.yml +1 -1
- data/vendor/cmock/vendor/unity/auto/generate_module.rb +6 -6
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +95 -14
- data/vendor/cmock/vendor/unity/auto/parse_output.rb +10 -7
- data/vendor/cmock/vendor/unity/auto/stylize_as_junit.py +4 -3
- data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +4 -2
- data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +1 -1
- data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +1 -1
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +2 -2
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +5 -2
- data/vendor/cmock/vendor/unity/auto/yaml_helper.rb +1 -1
- data/vendor/cmock/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +2 -2
- data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.md +66 -1
- data/vendor/cmock/vendor/unity/docs/UnityChangeLog.md +41 -0
- data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +2 -2
- data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +28 -12
- data/vendor/cmock/vendor/unity/examples/example_1/makefile +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/makefile +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/all_tests.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_3/project.yml +24 -0
- data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +2 -3
- data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +107 -153
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.c +3 -3
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.h +1 -1
- data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode2.c +1 -1
- data/vendor/cmock/vendor/unity/examples/example_5/makefile +63 -0
- data/vendor/cmock/vendor/unity/examples/example_5/readme.txt +38 -0
- data/vendor/cmock/vendor/unity/examples/example_5/src/ProductionCode.c +56 -0
- data/vendor/cmock/vendor/unity/examples/example_5/src/ProductionCode.h +16 -0
- data/vendor/cmock/vendor/unity/examples/example_5/subprojects/unity.wrap +3 -0
- data/vendor/cmock/vendor/unity/examples/example_5/test/TestProductionCode.c +45 -0
- data/vendor/cmock/vendor/unity/examples/example_5/test/test_runners/TestProductionCode_Runner.c +48 -0
- data/vendor/cmock/vendor/unity/examples/example_5/test/unity_detail_config.h +25 -0
- data/vendor/cmock/vendor/unity/examples/unity_config.h +5 -3
- data/vendor/cmock/vendor/unity/extras/bdd/src/unity_bdd.h +1 -1
- data/vendor/cmock/vendor/unity/extras/bdd/test/test_bdd.c +1 -1
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +59 -15
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +1 -1
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +4 -1
- data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +1 -1
- data/vendor/cmock/vendor/unity/extras/fixture/test/template_fixture_tests.c +1 -1
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +46 -1
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +4 -1
- data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.c +1 -1
- data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.h +1 -1
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_Test.c +1 -1
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +1 -1
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.c +1 -1
- data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.h +1 -1
- data/vendor/cmock/vendor/unity/library.json +0 -7
- data/vendor/cmock/vendor/unity/meson.build +16 -8
- data/vendor/cmock/vendor/unity/meson_options.txt +5 -3
- data/vendor/cmock/vendor/unity/src/unity.c +480 -141
- data/vendor/cmock/vendor/unity/src/unity.h +16 -4
- data/vendor/cmock/vendor/unity/src/unity_internals.h +291 -148
- data/vendor/cmock/vendor/unity/test/Makefile +4 -6
- data/vendor/cmock/vendor/unity/test/rakefile +42 -21
- data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +154 -15
- data/vendor/cmock/vendor/unity/test/spec/generate_module_existing_file_spec.rb +1 -1
- data/vendor/cmock/vendor/unity/test/targets/clang.yml +157 -0
- data/vendor/cmock/vendor/unity/test/targets/gcc.yml +139 -0
- data/vendor/cmock/vendor/unity/test/targets/hitech_picc18.yml +9 -16
- data/vendor/cmock/vendor/unity/test/targets/iar_arm.yml +88 -0
- data/vendor/cmock/vendor/unity/test/targets/no_stdlib.yml +23 -0
- data/vendor/cmock/vendor/unity/test/testdata/CException.h +1 -1
- data/vendor/cmock/vendor/unity/test/testdata/Defs.h +1 -1
- data/vendor/cmock/vendor/unity/test/testdata/cmock.h +1 -1
- data/vendor/cmock/vendor/unity/test/testdata/mockMock.h +1 -1
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGenerator.c +1 -1
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +1 -1
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +1 -1
- data/vendor/cmock/vendor/unity/test/tests/self_assessment_utils.h +23 -7
- data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +1 -4
- data/vendor/cmock/vendor/unity/test/tests/test_unity_arrays.c +1 -1
- data/vendor/cmock/vendor/unity/test/tests/test_unity_core.c +33 -38
- data/vendor/cmock/vendor/unity/test/tests/test_unity_doubles.c +4 -4
- data/vendor/cmock/vendor/unity/test/tests/test_unity_floats.c +15 -6
- data/vendor/cmock/vendor/unity/test/tests/test_unity_integers.c +35 -1
- data/vendor/cmock/vendor/unity/test/tests/test_unity_integers_64.c +1 -1
- data/vendor/cmock/vendor/unity/test/tests/test_unity_memory.c +69 -1
- data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterized.c +5 -5
- data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterizedDemo.c +1 -1
- data/vendor/cmock/vendor/unity/test/tests/test_unity_strings.c +65 -1
- data/vendor/cmock/vendor/unity/test/tests/types_for_test.h +1 -1
- data/vendor/unity/CMakeLists.txt +10 -0
- data/vendor/unity/LICENSE.txt +1 -1
- data/vendor/unity/README.md +2 -2
- data/vendor/unity/auto/__init__.py +1 -1
- data/vendor/unity/auto/colour_prompt.rb +1 -1
- data/vendor/unity/auto/colour_reporter.rb +7 -1
- data/vendor/unity/auto/extract_version.py +1 -1
- data/vendor/unity/auto/generate_config.yml +1 -1
- data/vendor/unity/auto/generate_module.rb +6 -6
- data/vendor/unity/auto/generate_test_runner.rb +95 -14
- data/vendor/unity/auto/parse_output.rb +10 -7
- data/vendor/unity/auto/stylize_as_junit.py +4 -3
- data/vendor/unity/auto/stylize_as_junit.rb +4 -2
- data/vendor/unity/auto/test_file_filter.rb +1 -1
- data/vendor/unity/auto/type_sanitizer.rb +1 -1
- data/vendor/unity/auto/unity_test_summary.py +2 -2
- data/vendor/unity/auto/unity_test_summary.rb +5 -2
- data/vendor/unity/auto/yaml_helper.rb +1 -1
- data/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +2 -2
- data/vendor/unity/docs/UnityAssertionsReference.md +66 -1
- data/vendor/unity/docs/UnityChangeLog.md +41 -0
- data/vendor/unity/docs/UnityConfigurationGuide.md +2 -2
- data/vendor/unity/docs/UnityHelperScriptsGuide.md +28 -12
- data/vendor/unity/examples/example_1/makefile +1 -1
- data/vendor/unity/examples/example_1/src/ProductionCode.c +1 -1
- data/vendor/unity/examples/example_1/src/ProductionCode.h +1 -1
- data/vendor/unity/examples/example_1/src/ProductionCode2.c +1 -1
- data/vendor/unity/examples/example_1/src/ProductionCode2.h +1 -1
- data/vendor/unity/examples/example_1/test/TestProductionCode.c +1 -1
- data/vendor/unity/examples/example_1/test/TestProductionCode2.c +1 -1
- data/vendor/unity/examples/example_2/makefile +1 -1
- data/vendor/unity/examples/example_2/src/ProductionCode.c +1 -1
- data/vendor/unity/examples/example_2/src/ProductionCode.h +1 -1
- data/vendor/unity/examples/example_2/src/ProductionCode2.c +1 -1
- data/vendor/unity/examples/example_2/src/ProductionCode2.h +1 -1
- data/vendor/unity/examples/example_2/test/TestProductionCode.c +1 -1
- data/vendor/unity/examples/example_2/test/TestProductionCode2.c +1 -1
- data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +1 -1
- data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +1 -1
- data/vendor/unity/examples/example_2/test/test_runners/all_tests.c +1 -1
- data/vendor/unity/examples/example_3/helper/UnityHelper.c +1 -1
- data/vendor/unity/examples/example_3/helper/UnityHelper.h +1 -1
- data/vendor/unity/examples/example_3/project.yml +24 -0
- data/vendor/unity/examples/example_3/rakefile.rb +2 -3
- data/vendor/unity/examples/example_3/rakefile_helper.rb +107 -153
- data/vendor/unity/examples/example_3/src/ProductionCode.c +3 -3
- data/vendor/unity/examples/example_3/src/ProductionCode.h +1 -1
- data/vendor/unity/examples/example_3/src/ProductionCode2.c +1 -1
- data/vendor/unity/examples/example_3/src/ProductionCode2.h +1 -1
- data/vendor/unity/examples/example_3/test/TestProductionCode.c +1 -1
- data/vendor/unity/examples/example_3/test/TestProductionCode2.c +1 -1
- data/vendor/unity/examples/example_4/src/ProductionCode.c +1 -1
- data/vendor/unity/examples/example_4/src/ProductionCode.h +1 -1
- data/vendor/unity/examples/example_4/src/ProductionCode2.c +1 -1
- data/vendor/unity/examples/example_4/src/ProductionCode2.h +1 -1
- data/vendor/unity/examples/example_4/test/TestProductionCode.c +1 -1
- data/vendor/unity/examples/example_4/test/TestProductionCode2.c +1 -1
- data/vendor/unity/examples/example_5/makefile +63 -0
- data/vendor/unity/examples/example_5/readme.txt +38 -0
- data/vendor/unity/examples/example_5/src/ProductionCode.c +56 -0
- data/vendor/unity/examples/example_5/src/ProductionCode.h +16 -0
- data/vendor/unity/examples/example_5/subprojects/unity.wrap +3 -0
- data/vendor/unity/examples/example_5/test/TestProductionCode.c +45 -0
- data/vendor/unity/examples/example_5/test/test_runners/TestProductionCode_Runner.c +48 -0
- data/vendor/unity/examples/example_5/test/unity_detail_config.h +25 -0
- data/vendor/unity/examples/unity_config.h +5 -3
- data/vendor/unity/extras/bdd/src/unity_bdd.h +1 -1
- data/vendor/unity/extras/bdd/test/test_bdd.c +1 -1
- data/vendor/unity/extras/fixture/src/unity_fixture.c +59 -15
- data/vendor/unity/extras/fixture/src/unity_fixture.h +1 -1
- data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +4 -1
- data/vendor/unity/extras/fixture/test/main/AllTests.c +1 -1
- data/vendor/unity/extras/fixture/test/template_fixture_tests.c +1 -1
- data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +46 -1
- data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +4 -1
- data/vendor/unity/extras/memory/src/unity_memory.c +1 -1
- data/vendor/unity/extras/memory/src/unity_memory.h +1 -1
- data/vendor/unity/extras/memory/test/unity_memory_Test.c +1 -1
- data/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +1 -1
- data/vendor/unity/extras/memory/test/unity_output_Spy.c +1 -1
- data/vendor/unity/extras/memory/test/unity_output_Spy.h +1 -1
- data/vendor/unity/library.json +0 -7
- data/vendor/unity/meson.build +16 -8
- data/vendor/unity/meson_options.txt +5 -3
- data/vendor/unity/src/unity.c +480 -141
- data/vendor/unity/src/unity.h +16 -4
- data/vendor/unity/src/unity_internals.h +291 -148
- data/vendor/unity/test/Makefile +4 -6
- data/vendor/unity/test/rakefile +42 -21
- data/vendor/unity/test/rakefile_helper.rb +154 -15
- data/vendor/unity/test/spec/generate_module_existing_file_spec.rb +1 -1
- data/vendor/unity/test/targets/clang.yml +157 -0
- data/vendor/unity/test/targets/gcc.yml +139 -0
- data/vendor/unity/test/targets/hitech_picc18.yml +9 -16
- data/vendor/unity/test/targets/iar_arm.yml +88 -0
- data/vendor/unity/test/targets/no_stdlib.yml +23 -0
- data/vendor/unity/test/testdata/CException.h +1 -1
- data/vendor/unity/test/testdata/Defs.h +1 -1
- data/vendor/unity/test/testdata/cmock.h +1 -1
- data/vendor/unity/test/testdata/mockMock.h +1 -1
- data/vendor/unity/test/testdata/testRunnerGenerator.c +1 -1
- data/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +1 -1
- data/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +1 -1
- data/vendor/unity/test/tests/self_assessment_utils.h +23 -7
- data/vendor/unity/test/tests/test_generate_test_runner.rb +1 -4
- data/vendor/unity/test/tests/test_unity_arrays.c +1 -1
- data/vendor/unity/test/tests/test_unity_core.c +33 -38
- data/vendor/unity/test/tests/test_unity_doubles.c +4 -4
- data/vendor/unity/test/tests/test_unity_floats.c +15 -6
- data/vendor/unity/test/tests/test_unity_integers.c +35 -1
- data/vendor/unity/test/tests/test_unity_integers_64.c +1 -1
- data/vendor/unity/test/tests/test_unity_memory.c +69 -1
- data/vendor/unity/test/tests/test_unity_parameterized.c +5 -5
- data/vendor/unity/test/tests/test_unity_parameterizedDemo.c +1 -1
- data/vendor/unity/test/tests/test_unity_strings.c +65 -1
- data/vendor/unity/test/tests/types_for_test.h +1 -1
- metadata +709 -1223
- data/assets/project_as_gem.yml +0 -411
- data/assets/project_with_guts.yml +0 -412
- data/assets/test_example_file_crash.c +0 -25
- data/build/test/dependencies/AdcConductor.d +0 -2
- data/build/test/dependencies/AdcHardware.d +0 -3
- data/build/test/dependencies/AdcModel.d +0 -3
- data/build/test/dependencies/Executor.d +0 -3
- data/build/test/dependencies/Main.d +0 -10
- data/build/test/dependencies/MockAdcConductor.d +0 -9
- data/build/test/dependencies/MockAdcHardware.d +0 -9
- data/build/test/dependencies/MockAdcHardwareConfigurator.d +0 -10
- data/build/test/dependencies/MockAdcModel.d +0 -9
- data/build/test/dependencies/MockAdcTemperatureSensor.d +0 -10
- data/build/test/dependencies/MockExecutor.d +0 -9
- data/build/test/dependencies/MockIntrinsicsWrapper.d +0 -9
- data/build/test/dependencies/MockModel.d +0 -9
- data/build/test/dependencies/MockTaskScheduler.d +0 -9
- data/build/test/dependencies/MockTemperatureCalculator.d +0 -10
- data/build/test/dependencies/MockTemperatureFilter.d +0 -10
- data/build/test/dependencies/MockTimerConductor.d +0 -9
- data/build/test/dependencies/MockTimerConfigurator.d +0 -10
- data/build/test/dependencies/MockTimerHardware.d +0 -9
- data/build/test/dependencies/MockTimerInterruptHandler.d +0 -10
- data/build/test/dependencies/MockTimerModel.d +0 -9
- data/build/test/dependencies/MockUsartBaudRateRegisterCalculator.d +0 -10
- data/build/test/dependencies/MockUsartConductor.d +0 -9
- data/build/test/dependencies/MockUsartConfigurator.d +0 -10
- data/build/test/dependencies/MockUsartHardware.d +0 -9
- data/build/test/dependencies/MockUsartModel.d +0 -9
- data/build/test/dependencies/MockUsartPutChar.d +0 -9
- data/build/test/dependencies/Model.d +0 -2
- data/build/test/dependencies/TaskScheduler.d +0 -2
- data/build/test/dependencies/TemperatureCalculator.d +0 -2
- data/build/test/dependencies/TemperatureFilter.d +0 -2
- data/build/test/dependencies/TestAdcConductor.d +0 -7
- data/build/test/dependencies/TestAdcConductor_runner.d +0 -10
- data/build/test/dependencies/TestAdcHardware.d +0 -8
- data/build/test/dependencies/TestAdcHardware_runner.d +0 -11
- data/build/test/dependencies/TestAdcModel.d +0 -10
- data/build/test/dependencies/TestAdcModel_runner.d +0 -13
- data/build/test/dependencies/TestExecutor.d +0 -14
- data/build/test/dependencies/TestExecutor_runner.d +0 -17
- data/build/test/dependencies/TestMain.d +0 -5
- data/build/test/dependencies/TestMain_runner.d +0 -8
- data/build/test/dependencies/TestModel.d +0 -7
- data/build/test/dependencies/TestModel_runner.d +0 -10
- data/build/test/dependencies/TestTaskScheduler.d +0 -4
- data/build/test/dependencies/TestTaskScheduler_runner.d +0 -5
- data/build/test/dependencies/TestTemperatureCalculator.d +0 -3
- data/build/test/dependencies/TestTemperatureCalculator_runner.d +0 -4
- data/build/test/dependencies/TestTemperatureFilter.d +0 -4
- data/build/test/dependencies/TestTemperatureFilter_runner.d +0 -5
- data/build/test/dependencies/TestTimerConductor.d +0 -10
- data/build/test/dependencies/TestTimerConductor_runner.d +0 -13
- data/build/test/dependencies/TestTimerHardware.d +0 -6
- data/build/test/dependencies/TestTimerHardware_runner.d +0 -9
- data/build/test/dependencies/TestTimerIntegrated.d +0 -10
- data/build/test/dependencies/TestTimerIntegrated_runner.d +0 -13
- data/build/test/dependencies/TestTimerModel.d +0 -6
- data/build/test/dependencies/TestTimerModel_runner.d +0 -9
- data/build/test/dependencies/TestUsartBaudRateRegisterCalculator.d +0 -5
- data/build/test/dependencies/TestUsartBaudRateRegisterCalculator_runner.d +0 -5
- data/build/test/dependencies/TestUsartConductor.d +0 -10
- data/build/test/dependencies/TestUsartConductor_runner.d +0 -13
- data/build/test/dependencies/TestUsartHardware.d +0 -8
- data/build/test/dependencies/TestUsartHardware_runner.d +0 -11
- data/build/test/dependencies/TestUsartIntegrated.d +0 -15
- data/build/test/dependencies/TestUsartIntegrated_runner.d +0 -18
- data/build/test/dependencies/TestUsartModel.d +0 -8
- data/build/test/dependencies/TestUsartModel_runner.d +0 -11
- data/build/test/dependencies/TimerConductor.d +0 -3
- data/build/test/dependencies/TimerHardware.d +0 -3
- data/build/test/dependencies/TimerModel.d +0 -2
- data/build/test/dependencies/UnityHelper.d +0 -5
- data/build/test/dependencies/UsartBaudRateRegisterCalculator.d +0 -3
- data/build/test/dependencies/UsartConductor.d +0 -3
- data/build/test/dependencies/UsartHardware.d +0 -3
- data/build/test/dependencies/UsartModel.d +0 -3
- data/build/test/dependencies/cmock.d +0 -6
- data/build/test/dependencies/unity.d +0 -4
- data/build/test/mocks/TestAdcConductor/MockAdcHardware.c +0 -445
- data/build/test/mocks/TestAdcConductor/MockAdcHardware.h +0 -91
- data/build/test/mocks/TestAdcConductor/MockAdcModel.c +0 -618
- data/build/test/mocks/TestAdcConductor/MockAdcModel.h +0 -103
- data/build/test/mocks/TestAdcHardware/MockAdcHardwareConfigurator.c +0 -317
- data/build/test/mocks/TestAdcHardware/MockAdcHardwareConfigurator.h +0 -79
- data/build/test/mocks/TestAdcHardware/MockAdcTemperatureSensor.c +0 -351
- data/build/test/mocks/TestAdcHardware/MockAdcTemperatureSensor.h +0 -79
- data/build/test/mocks/TestAdcModel/MockTaskScheduler.c +0 -458
- data/build/test/mocks/TestAdcModel/MockTaskScheduler.h +0 -91
- data/build/test/mocks/TestAdcModel/MockTemperatureCalculator.c +0 -159
- data/build/test/mocks/TestAdcModel/MockTemperatureCalculator.h +0 -55
- data/build/test/mocks/TestAdcModel/MockTemperatureFilter.c +0 -347
- data/build/test/mocks/TestAdcModel/MockTemperatureFilter.h +0 -79
- data/build/test/mocks/TestExecutor/MockAdcConductor.c +0 -556
- data/build/test/mocks/TestExecutor/MockAdcConductor.h +0 -103
- data/build/test/mocks/TestExecutor/MockIntrinsicsWrapper.c +0 -223
- data/build/test/mocks/TestExecutor/MockIntrinsicsWrapper.h +0 -67
- data/build/test/mocks/TestExecutor/MockModel.c +0 -129
- data/build/test/mocks/TestExecutor/MockModel.h +0 -55
- data/build/test/mocks/TestExecutor/MockTimerConductor.c +0 -223
- data/build/test/mocks/TestExecutor/MockTimerConductor.h +0 -67
- data/build/test/mocks/TestExecutor/MockUsartConductor.c +0 -223
- data/build/test/mocks/TestExecutor/MockUsartConductor.h +0 -67
- data/build/test/mocks/TestMain/MockExecutor.c +0 -240
- data/build/test/mocks/TestMain/MockExecutor.h +0 -67
- data/build/test/mocks/TestModel/MockTaskScheduler.c +0 -458
- data/build/test/mocks/TestModel/MockTaskScheduler.h +0 -91
- data/build/test/mocks/TestModel/MockTemperatureFilter.c +0 -347
- data/build/test/mocks/TestModel/MockTemperatureFilter.h +0 -79
- data/build/test/mocks/TestTimerConductor/MockTimerHardware.c +0 -129
- data/build/test/mocks/TestTimerConductor/MockTimerHardware.h +0 -55
- data/build/test/mocks/TestTimerConductor/MockTimerInterruptHandler.c +0 -347
- data/build/test/mocks/TestTimerConductor/MockTimerInterruptHandler.h +0 -79
- data/build/test/mocks/TestTimerConductor/MockTimerModel.c +0 -142
- data/build/test/mocks/TestTimerConductor/MockTimerModel.h +0 -55
- data/build/test/mocks/TestTimerHardware/MockTimerConfigurator.c +0 -787
- data/build/test/mocks/TestTimerHardware/MockTimerConfigurator.h +0 -139
- data/build/test/mocks/TestTimerIntegrated/MockTaskScheduler.c +0 -458
- data/build/test/mocks/TestTimerIntegrated/MockTaskScheduler.h +0 -91
- data/build/test/mocks/TestTimerIntegrated/MockTimerConfigurator.c +0 -787
- data/build/test/mocks/TestTimerIntegrated/MockTimerConfigurator.h +0 -139
- data/build/test/mocks/TestTimerIntegrated/MockTimerInterruptHandler.c +0 -347
- data/build/test/mocks/TestTimerIntegrated/MockTimerInterruptHandler.h +0 -79
- data/build/test/mocks/TestTimerModel/MockTaskScheduler.c +0 -458
- data/build/test/mocks/TestTimerModel/MockTaskScheduler.h +0 -91
- data/build/test/mocks/TestUsartConductor/MockTaskScheduler.c +0 -458
- data/build/test/mocks/TestUsartConductor/MockTaskScheduler.h +0 -91
- data/build/test/mocks/TestUsartConductor/MockUsartHardware.c +0 -249
- data/build/test/mocks/TestUsartConductor/MockUsartHardware.h +0 -67
- data/build/test/mocks/TestUsartConductor/MockUsartModel.c +0 -368
- data/build/test/mocks/TestUsartConductor/MockUsartModel.h +0 -79
- data/build/test/mocks/TestUsartHardware/MockUsartConfigurator.c +0 -612
- data/build/test/mocks/TestUsartHardware/MockUsartConfigurator.h +0 -115
- data/build/test/mocks/TestUsartHardware/MockUsartPutChar.c +0 -142
- data/build/test/mocks/TestUsartHardware/MockUsartPutChar.h +0 -55
- data/build/test/mocks/TestUsartIntegrated/MockTaskScheduler.c +0 -458
- data/build/test/mocks/TestUsartIntegrated/MockTaskScheduler.h +0 -91
- data/build/test/mocks/TestUsartIntegrated/MockTemperatureFilter.c +0 -347
- data/build/test/mocks/TestUsartIntegrated/MockTemperatureFilter.h +0 -79
- data/build/test/mocks/TestUsartIntegrated/MockUsartBaudRateRegisterCalculator.c +0 -166
- data/build/test/mocks/TestUsartIntegrated/MockUsartBaudRateRegisterCalculator.h +0 -55
- data/build/test/mocks/TestUsartIntegrated/MockUsartConfigurator.c +0 -612
- data/build/test/mocks/TestUsartIntegrated/MockUsartConfigurator.h +0 -115
- data/build/test/mocks/TestUsartIntegrated/MockUsartPutChar.c +0 -142
- data/build/test/mocks/TestUsartIntegrated/MockUsartPutChar.h +0 -55
- data/build/test/mocks/TestUsartModel/MockTemperatureFilter.c +0 -347
- data/build/test/mocks/TestUsartModel/MockTemperatureFilter.h +0 -79
- data/build/test/mocks/TestUsartModel/MockUsartBaudRateRegisterCalculator.c +0 -166
- data/build/test/mocks/TestUsartModel/MockUsartBaudRateRegisterCalculator.h +0 -55
- data/build/test/out/TestAdcConductor/AdcConductor.o +0 -0
- data/build/test/out/TestAdcConductor/MockAdcHardware.o +0 -0
- data/build/test/out/TestAdcConductor/MockAdcModel.o +0 -0
- data/build/test/out/TestAdcConductor/TestAdcConductor.o +0 -0
- data/build/test/out/TestAdcConductor/TestAdcConductor.out +0 -0
- data/build/test/out/TestAdcConductor/TestAdcConductor_runner.o +0 -0
- data/build/test/out/TestAdcConductor/UnityHelper.o +0 -0
- data/build/test/out/TestAdcConductor/cmock.o +0 -0
- data/build/test/out/TestAdcConductor/unity.o +0 -0
- data/build/test/out/TestAdcHardware/AdcHardware.o +0 -0
- data/build/test/out/TestAdcHardware/MockAdcHardwareConfigurator.o +0 -0
- data/build/test/out/TestAdcHardware/MockAdcTemperatureSensor.o +0 -0
- data/build/test/out/TestAdcHardware/TestAdcHardware.o +0 -0
- data/build/test/out/TestAdcHardware/TestAdcHardware.out +0 -0
- data/build/test/out/TestAdcHardware/TestAdcHardware_runner.o +0 -0
- data/build/test/out/TestAdcHardware/UnityHelper.o +0 -0
- data/build/test/out/TestAdcHardware/cmock.o +0 -0
- data/build/test/out/TestAdcHardware/unity.o +0 -0
- data/build/test/out/TestAdcModel/AdcModel.o +0 -0
- data/build/test/out/TestAdcModel/MockTaskScheduler.o +0 -0
- data/build/test/out/TestAdcModel/MockTemperatureCalculator.o +0 -0
- data/build/test/out/TestAdcModel/MockTemperatureFilter.o +0 -0
- data/build/test/out/TestAdcModel/TestAdcModel.o +0 -0
- data/build/test/out/TestAdcModel/TestAdcModel.out +0 -0
- data/build/test/out/TestAdcModel/TestAdcModel_runner.o +0 -0
- data/build/test/out/TestAdcModel/UnityHelper.o +0 -0
- data/build/test/out/TestAdcModel/cmock.o +0 -0
- data/build/test/out/TestAdcModel/unity.o +0 -0
- data/build/test/out/TestExecutor/Executor.o +0 -0
- data/build/test/out/TestExecutor/MockAdcConductor.o +0 -0
- data/build/test/out/TestExecutor/MockIntrinsicsWrapper.o +0 -0
- data/build/test/out/TestExecutor/MockModel.o +0 -0
- data/build/test/out/TestExecutor/MockTimerConductor.o +0 -0
- data/build/test/out/TestExecutor/MockUsartConductor.o +0 -0
- data/build/test/out/TestExecutor/TestExecutor.o +0 -0
- data/build/test/out/TestExecutor/TestExecutor.out +0 -0
- data/build/test/out/TestExecutor/TestExecutor_runner.o +0 -0
- data/build/test/out/TestExecutor/UnityHelper.o +0 -0
- data/build/test/out/TestExecutor/cmock.o +0 -0
- data/build/test/out/TestExecutor/unity.o +0 -0
- data/build/test/out/TestMain/Main.o +0 -0
- data/build/test/out/TestMain/MockExecutor.o +0 -0
- data/build/test/out/TestMain/TestMain.o +0 -0
- data/build/test/out/TestMain/TestMain.out +0 -0
- data/build/test/out/TestMain/TestMain_runner.o +0 -0
- data/build/test/out/TestMain/UnityHelper.o +0 -0
- data/build/test/out/TestMain/cmock.o +0 -0
- data/build/test/out/TestMain/unity.o +0 -0
- data/build/test/out/TestModel/MockTaskScheduler.o +0 -0
- data/build/test/out/TestModel/MockTemperatureFilter.o +0 -0
- data/build/test/out/TestModel/Model.o +0 -0
- data/build/test/out/TestModel/TestModel.o +0 -0
- data/build/test/out/TestModel/TestModel.out +0 -0
- data/build/test/out/TestModel/TestModel_runner.o +0 -0
- data/build/test/out/TestModel/UnityHelper.o +0 -0
- data/build/test/out/TestModel/cmock.o +0 -0
- data/build/test/out/TestModel/unity.o +0 -0
- data/build/test/out/TestTaskScheduler/TaskScheduler.o +0 -0
- data/build/test/out/TestTaskScheduler/TestTaskScheduler.o +0 -0
- data/build/test/out/TestTaskScheduler/TestTaskScheduler.out +0 -0
- data/build/test/out/TestTaskScheduler/TestTaskScheduler_runner.o +0 -0
- data/build/test/out/TestTaskScheduler/UnityHelper.o +0 -0
- data/build/test/out/TestTaskScheduler/unity.o +0 -0
- data/build/test/out/TestTemperatureCalculator/TemperatureCalculator.o +0 -0
- data/build/test/out/TestTemperatureCalculator/TestTemperatureCalculator.o +0 -0
- data/build/test/out/TestTemperatureCalculator/TestTemperatureCalculator.out +0 -0
- data/build/test/out/TestTemperatureCalculator/TestTemperatureCalculator_runner.o +0 -0
- data/build/test/out/TestTemperatureCalculator/UnityHelper.o +0 -0
- data/build/test/out/TestTemperatureCalculator/unity.o +0 -0
- data/build/test/out/TestTemperatureFilter/TemperatureFilter.o +0 -0
- data/build/test/out/TestTemperatureFilter/TestTemperatureFilter.o +0 -0
- data/build/test/out/TestTemperatureFilter/TestTemperatureFilter.out +0 -0
- data/build/test/out/TestTemperatureFilter/TestTemperatureFilter_runner.o +0 -0
- data/build/test/out/TestTemperatureFilter/UnityHelper.o +0 -0
- data/build/test/out/TestTemperatureFilter/unity.o +0 -0
- data/build/test/out/TestTimerConductor/MockTimerHardware.o +0 -0
- data/build/test/out/TestTimerConductor/MockTimerInterruptHandler.o +0 -0
- data/build/test/out/TestTimerConductor/MockTimerModel.o +0 -0
- data/build/test/out/TestTimerConductor/TestTimerConductor.o +0 -0
- data/build/test/out/TestTimerConductor/TestTimerConductor.out +0 -0
- data/build/test/out/TestTimerConductor/TestTimerConductor_runner.o +0 -0
- data/build/test/out/TestTimerConductor/TimerConductor.o +0 -0
- data/build/test/out/TestTimerConductor/UnityHelper.o +0 -0
- data/build/test/out/TestTimerConductor/cmock.o +0 -0
- data/build/test/out/TestTimerConductor/unity.o +0 -0
- data/build/test/out/TestTimerHardware/MockTimerConfigurator.o +0 -0
- data/build/test/out/TestTimerHardware/TestTimerHardware.o +0 -0
- data/build/test/out/TestTimerHardware/TestTimerHardware.out +0 -0
- data/build/test/out/TestTimerHardware/TestTimerHardware_runner.o +0 -0
- data/build/test/out/TestTimerHardware/TimerHardware.o +0 -0
- data/build/test/out/TestTimerHardware/UnityHelper.o +0 -0
- data/build/test/out/TestTimerHardware/cmock.o +0 -0
- data/build/test/out/TestTimerHardware/unity.o +0 -0
- data/build/test/out/TestTimerIntegrated/MockTaskScheduler.o +0 -0
- data/build/test/out/TestTimerIntegrated/MockTimerConfigurator.o +0 -0
- data/build/test/out/TestTimerIntegrated/MockTimerInterruptHandler.o +0 -0
- data/build/test/out/TestTimerIntegrated/TestTimerIntegrated.o +0 -0
- data/build/test/out/TestTimerIntegrated/TestTimerIntegrated.out +0 -0
- data/build/test/out/TestTimerIntegrated/TestTimerIntegrated_runner.o +0 -0
- data/build/test/out/TestTimerIntegrated/TimerConductor.o +0 -0
- data/build/test/out/TestTimerIntegrated/TimerHardware.o +0 -0
- data/build/test/out/TestTimerIntegrated/TimerModel.o +0 -0
- data/build/test/out/TestTimerIntegrated/UnityHelper.o +0 -0
- data/build/test/out/TestTimerIntegrated/cmock.o +0 -0
- data/build/test/out/TestTimerIntegrated/unity.o +0 -0
- data/build/test/out/TestTimerModel/MockTaskScheduler.o +0 -0
- data/build/test/out/TestTimerModel/TestTimerModel.o +0 -0
- data/build/test/out/TestTimerModel/TestTimerModel.out +0 -0
- data/build/test/out/TestTimerModel/TestTimerModel_runner.o +0 -0
- data/build/test/out/TestTimerModel/TimerModel.o +0 -0
- data/build/test/out/TestTimerModel/UnityHelper.o +0 -0
- data/build/test/out/TestTimerModel/cmock.o +0 -0
- data/build/test/out/TestTimerModel/unity.o +0 -0
- data/build/test/out/TestUsartBaudRateRegisterCalculator/TestUsartBaudRateRegisterCalculator.o +0 -0
- data/build/test/out/TestUsartBaudRateRegisterCalculator/TestUsartBaudRateRegisterCalculator.out +0 -0
- data/build/test/out/TestUsartBaudRateRegisterCalculator/TestUsartBaudRateRegisterCalculator_runner.o +0 -0
- data/build/test/out/TestUsartBaudRateRegisterCalculator/UnityHelper.o +0 -0
- data/build/test/out/TestUsartBaudRateRegisterCalculator/UsartBaudRateRegisterCalculator.o +0 -0
- data/build/test/out/TestUsartBaudRateRegisterCalculator/unity.o +0 -0
- data/build/test/out/TestUsartConductor/MockTaskScheduler.o +0 -0
- data/build/test/out/TestUsartConductor/MockUsartHardware.o +0 -0
- data/build/test/out/TestUsartConductor/MockUsartModel.o +0 -0
- data/build/test/out/TestUsartConductor/TestUsartConductor.o +0 -0
- data/build/test/out/TestUsartConductor/TestUsartConductor.out +0 -0
- data/build/test/out/TestUsartConductor/TestUsartConductor_runner.o +0 -0
- data/build/test/out/TestUsartConductor/UnityHelper.o +0 -0
- data/build/test/out/TestUsartConductor/UsartConductor.o +0 -0
- data/build/test/out/TestUsartConductor/cmock.o +0 -0
- data/build/test/out/TestUsartConductor/unity.o +0 -0
- data/build/test/out/TestUsartHardware/MockUsartConfigurator.o +0 -0
- data/build/test/out/TestUsartHardware/MockUsartPutChar.o +0 -0
- data/build/test/out/TestUsartHardware/TestUsartHardware.o +0 -0
- data/build/test/out/TestUsartHardware/TestUsartHardware.out +0 -0
- data/build/test/out/TestUsartHardware/TestUsartHardware_runner.o +0 -0
- data/build/test/out/TestUsartHardware/UnityHelper.o +0 -0
- data/build/test/out/TestUsartHardware/UsartHardware.o +0 -0
- data/build/test/out/TestUsartHardware/cmock.o +0 -0
- data/build/test/out/TestUsartHardware/unity.o +0 -0
- data/build/test/out/TestUsartIntegrated/MockTaskScheduler.o +0 -0
- data/build/test/out/TestUsartIntegrated/MockTemperatureFilter.o +0 -0
- data/build/test/out/TestUsartIntegrated/MockUsartBaudRateRegisterCalculator.o +0 -0
- data/build/test/out/TestUsartIntegrated/MockUsartConfigurator.o +0 -0
- data/build/test/out/TestUsartIntegrated/MockUsartPutChar.o +0 -0
- data/build/test/out/TestUsartIntegrated/TestUsartIntegrated.o +0 -0
- data/build/test/out/TestUsartIntegrated/TestUsartIntegrated.out +0 -0
- data/build/test/out/TestUsartIntegrated/TestUsartIntegrated_runner.o +0 -0
- data/build/test/out/TestUsartIntegrated/UnityHelper.o +0 -0
- data/build/test/out/TestUsartIntegrated/UsartConductor.o +0 -0
- data/build/test/out/TestUsartIntegrated/UsartHardware.o +0 -0
- data/build/test/out/TestUsartIntegrated/UsartModel.o +0 -0
- data/build/test/out/TestUsartIntegrated/cmock.o +0 -0
- data/build/test/out/TestUsartIntegrated/unity.o +0 -0
- data/build/test/out/TestUsartModel/MockTemperatureFilter.o +0 -0
- data/build/test/out/TestUsartModel/MockUsartBaudRateRegisterCalculator.o +0 -0
- data/build/test/out/TestUsartModel/TestUsartModel.o +0 -0
- data/build/test/out/TestUsartModel/TestUsartModel.out +0 -0
- data/build/test/out/TestUsartModel/TestUsartModel_runner.o +0 -0
- data/build/test/out/TestUsartModel/UnityHelper.o +0 -0
- data/build/test/out/TestUsartModel/UsartModel.o +0 -0
- data/build/test/out/TestUsartModel/cmock.o +0 -0
- data/build/test/out/TestUsartModel/unity.o +0 -0
- data/build/test/preprocess/files/TestAdcConductor/AdcHardware.h +0 -16
- data/build/test/preprocess/files/TestAdcConductor/AdcModel.h +0 -18
- data/build/test/preprocess/files/TestAdcConductor/TestAdcConductor.c +0 -106
- data/build/test/preprocess/files/TestAdcHardware/AdcHardwareConfigurator.h +0 -14
- data/build/test/preprocess/files/TestAdcHardware/AdcTemperatureSensor.h +0 -14
- data/build/test/preprocess/files/TestAdcHardware/TestAdcHardware.c +0 -59
- data/build/test/preprocess/files/TestAdcModel/TaskScheduler.h +0 -16
- data/build/test/preprocess/files/TestAdcModel/TemperatureCalculator.h +0 -10
- data/build/test/preprocess/files/TestAdcModel/TemperatureFilter.h +0 -14
- data/build/test/preprocess/files/TestAdcModel/TestAdcModel.c +0 -41
- data/build/test/preprocess/files/TestExecutor/AdcConductor.h +0 -18
- data/build/test/preprocess/files/TestExecutor/IntrinsicsWrapper.h +0 -10
- data/build/test/preprocess/files/TestExecutor/Model.h +0 -10
- data/build/test/preprocess/files/TestExecutor/TestExecutor.c +0 -45
- data/build/test/preprocess/files/TestExecutor/TimerConductor.h +0 -12
- data/build/test/preprocess/files/TestExecutor/UsartConductor.h +0 -10
- data/build/test/preprocess/files/TestMain/Executor.h +0 -12
- data/build/test/preprocess/files/TestMain/TestMain.c +0 -31
- data/build/test/preprocess/files/TestModel/TaskScheduler.h +0 -16
- data/build/test/preprocess/files/TestModel/TemperatureFilter.h +0 -14
- data/build/test/preprocess/files/TestModel/TestModel.c +0 -24
- data/build/test/preprocess/files/TestTaskScheduler/TestTaskScheduler.c +0 -168
- data/build/test/preprocess/files/TestTemperatureCalculator/TestTemperatureCalculator.c +0 -52
- data/build/test/preprocess/files/TestTemperatureFilter/TestTemperatureFilter.c +0 -163
- data/build/test/preprocess/files/TestTimerConductor/TestTimerConductor.c +0 -38
- data/build/test/preprocess/files/TestTimerConductor/TimerHardware.h +0 -10
- data/build/test/preprocess/files/TestTimerConductor/TimerInterruptHandler.h +0 -14
- data/build/test/preprocess/files/TestTimerConductor/TimerModel.h +0 -10
- data/build/test/preprocess/files/TestTimerHardware/TestTimerHardware.c +0 -35
- data/build/test/preprocess/files/TestTimerHardware/TimerConfigurator.h +0 -24
- data/build/test/preprocess/files/TestTimerIntegrated/TaskScheduler.h +0 -16
- data/build/test/preprocess/files/TestTimerIntegrated/TestTimerIntegrated.c +0 -54
- data/build/test/preprocess/files/TestTimerIntegrated/TimerConfigurator.h +0 -24
- data/build/test/preprocess/files/TestTimerIntegrated/TimerInterruptHandler.h +0 -14
- data/build/test/preprocess/files/TestTimerModel/TaskScheduler.h +0 -16
- data/build/test/preprocess/files/TestTimerModel/TestTimerModel.c +0 -21
- data/build/test/preprocess/files/TestUsartBaudRateRegisterCalculator/TestUsartBaudRateRegisterCalculator.c +0 -46
- data/build/test/preprocess/files/TestUsartConductor/TaskScheduler.h +0 -16
- data/build/test/preprocess/files/TestUsartConductor/TestUsartConductor.c +0 -47
- data/build/test/preprocess/files/TestUsartConductor/UsartHardware.h +0 -12
- data/build/test/preprocess/files/TestUsartConductor/UsartModel.h +0 -14
- data/build/test/preprocess/files/TestUsartHardware/TestUsartHardware.c +0 -47
- data/build/test/preprocess/files/TestUsartHardware/UsartConfigurator.h +0 -20
- data/build/test/preprocess/files/TestUsartHardware/UsartPutChar.h +0 -10
- data/build/test/preprocess/files/TestUsartIntegrated/TaskScheduler.h +0 -16
- data/build/test/preprocess/files/TestUsartIntegrated/TemperatureFilter.h +0 -14
- data/build/test/preprocess/files/TestUsartIntegrated/TestUsartIntegrated.c +0 -57
- data/build/test/preprocess/files/TestUsartIntegrated/UsartBaudRateRegisterCalculator.h +0 -10
- data/build/test/preprocess/files/TestUsartIntegrated/UsartConfigurator.h +0 -20
- data/build/test/preprocess/files/TestUsartIntegrated/UsartPutChar.h +0 -10
- data/build/test/preprocess/files/TestUsartModel/TemperatureFilter.h +0 -14
- data/build/test/preprocess/files/TestUsartModel/TestUsartModel.c +0 -64
- data/build/test/preprocess/files/TestUsartModel/UsartBaudRateRegisterCalculator.h +0 -10
- data/build/test/preprocess/includes/TestAdcConductor/AdcHardware.h.yml +0 -2
- data/build/test/preprocess/includes/TestAdcConductor/AdcModel.h.yml +0 -2
- data/build/test/preprocess/includes/TestAdcConductor/TestAdcConductor.c.yml +0 -7
- data/build/test/preprocess/includes/TestAdcHardware/AdcHardwareConfigurator.h.yml +0 -2
- data/build/test/preprocess/includes/TestAdcHardware/AdcTemperatureSensor.h.yml +0 -2
- data/build/test/preprocess/includes/TestAdcHardware/TestAdcHardware.c.yml +0 -6
- data/build/test/preprocess/includes/TestAdcModel/TaskScheduler.h.yml +0 -2
- data/build/test/preprocess/includes/TestAdcModel/TemperatureCalculator.h.yml +0 -2
- data/build/test/preprocess/includes/TestAdcModel/TemperatureFilter.h.yml +0 -2
- data/build/test/preprocess/includes/TestAdcModel/TestAdcModel.c.yml +0 -7
- data/build/test/preprocess/includes/TestExecutor/AdcConductor.h.yml +0 -2
- data/build/test/preprocess/includes/TestExecutor/IntrinsicsWrapper.h.yml +0 -1
- data/build/test/preprocess/includes/TestExecutor/Model.h.yml +0 -2
- data/build/test/preprocess/includes/TestExecutor/TestExecutor.c.yml +0 -9
- data/build/test/preprocess/includes/TestExecutor/TimerConductor.h.yml +0 -2
- data/build/test/preprocess/includes/TestExecutor/UsartConductor.h.yml +0 -1
- data/build/test/preprocess/includes/TestMain/Executor.h.yml +0 -2
- data/build/test/preprocess/includes/TestMain/TestMain.c.yml +0 -5
- data/build/test/preprocess/includes/TestModel/TaskScheduler.h.yml +0 -2
- data/build/test/preprocess/includes/TestModel/TemperatureFilter.h.yml +0 -2
- data/build/test/preprocess/includes/TestModel/TestModel.c.yml +0 -6
- data/build/test/preprocess/includes/TestTaskScheduler/TestTaskScheduler.c.yml +0 -4
- data/build/test/preprocess/includes/TestTemperatureCalculator/TestTemperatureCalculator.c.yml +0 -3
- data/build/test/preprocess/includes/TestTemperatureFilter/TestTemperatureFilter.c.yml +0 -4
- data/build/test/preprocess/includes/TestTimerConductor/TestTimerConductor.c.yml +0 -7
- data/build/test/preprocess/includes/TestTimerConductor/TimerHardware.h.yml +0 -2
- data/build/test/preprocess/includes/TestTimerConductor/TimerInterruptHandler.h.yml +0 -2
- data/build/test/preprocess/includes/TestTimerConductor/TimerModel.h.yml +0 -2
- data/build/test/preprocess/includes/TestTimerHardware/TestTimerHardware.c.yml +0 -5
- data/build/test/preprocess/includes/TestTimerHardware/TimerConfigurator.h.yml +0 -2
- data/build/test/preprocess/includes/TestTimerIntegrated/TaskScheduler.h.yml +0 -2
- data/build/test/preprocess/includes/TestTimerIntegrated/TestTimerIntegrated.c.yml +0 -9
- data/build/test/preprocess/includes/TestTimerIntegrated/TimerConfigurator.h.yml +0 -2
- data/build/test/preprocess/includes/TestTimerIntegrated/TimerInterruptHandler.h.yml +0 -2
- data/build/test/preprocess/includes/TestTimerModel/TaskScheduler.h.yml +0 -2
- data/build/test/preprocess/includes/TestTimerModel/TestTimerModel.c.yml +0 -5
- data/build/test/preprocess/includes/TestUsartBaudRateRegisterCalculator/TestUsartBaudRateRegisterCalculator.c.yml +0 -4
- data/build/test/preprocess/includes/TestUsartConductor/TaskScheduler.h.yml +0 -2
- data/build/test/preprocess/includes/TestUsartConductor/TestUsartConductor.c.yml +0 -7
- data/build/test/preprocess/includes/TestUsartConductor/UsartHardware.h.yml +0 -2
- data/build/test/preprocess/includes/TestUsartConductor/UsartModel.h.yml +0 -2
- data/build/test/preprocess/includes/TestUsartHardware/TestUsartHardware.c.yml +0 -6
- data/build/test/preprocess/includes/TestUsartHardware/UsartConfigurator.h.yml +0 -2
- data/build/test/preprocess/includes/TestUsartHardware/UsartPutChar.h.yml +0 -2
- data/build/test/preprocess/includes/TestUsartIntegrated/TaskScheduler.h.yml +0 -2
- data/build/test/preprocess/includes/TestUsartIntegrated/TemperatureFilter.h.yml +0 -2
- data/build/test/preprocess/includes/TestUsartIntegrated/TestUsartIntegrated.c.yml +0 -12
- data/build/test/preprocess/includes/TestUsartIntegrated/UsartBaudRateRegisterCalculator.h.yml +0 -2
- data/build/test/preprocess/includes/TestUsartIntegrated/UsartConfigurator.h.yml +0 -2
- data/build/test/preprocess/includes/TestUsartIntegrated/UsartPutChar.h.yml +0 -2
- data/build/test/preprocess/includes/TestUsartModel/TemperatureFilter.h.yml +0 -2
- data/build/test/preprocess/includes/TestUsartModel/TestUsartModel.c.yml +0 -7
- data/build/test/preprocess/includes/TestUsartModel/UsartBaudRateRegisterCalculator.h.yml +0 -2
- data/build/test/results/TestAdcConductor.pass +0 -47
- data/build/test/results/TestAdcHardware.pass +0 -31
- data/build/test/results/TestAdcModel.pass +0 -27
- data/build/test/results/TestExecutor.pass +0 -23
- data/build/test/results/TestMain.pass +0 -19
- data/build/test/results/TestModel.pass +0 -19
- data/build/test/results/TestTaskScheduler.pass +0 -47
- data/build/test/results/TestTemperatureCalculator.pass +0 -23
- data/build/test/results/TestTemperatureFilter.pass +0 -31
- data/build/test/results/TestTimerConductor.pass +0 -23
- data/build/test/results/TestTimerHardware.pass +0 -19
- data/build/test/results/TestTimerIntegrated.pass +0 -23
- data/build/test/results/TestTimerModel.pass +0 -19
- data/build/test/results/TestUsartBaudRateRegisterCalculator.pass +0 -19
- data/build/test/results/TestUsartConductor.pass +0 -27
- data/build/test/results/TestUsartHardware.pass +0 -23
- data/build/test/results/TestUsartIntegrated.pass +0 -23
- data/build/test/results/TestUsartModel.pass +0 -31
- data/build/test/runners/TestAdcConductor_runner.c +0 -109
- data/build/test/runners/TestAdcHardware_runner.c +0 -100
- data/build/test/runners/TestAdcModel_runner.c +0 -102
- data/build/test/runners/TestExecutor_runner.c +0 -108
- data/build/test/runners/TestMain_runner.c +0 -90
- data/build/test/runners/TestModel_runner.c +0 -94
- data/build/test/runners/TestTaskScheduler_runner.c +0 -98
- data/build/test/runners/TestTemperatureCalculator_runner.c +0 -85
- data/build/test/runners/TestTemperatureFilter_runner.c +0 -90
- data/build/test/runners/TestTimerConductor_runner.c +0 -100
- data/build/test/runners/TestTimerHardware_runner.c +0 -90
- data/build/test/runners/TestTimerIntegrated_runner.c +0 -102
- data/build/test/runners/TestTimerModel_runner.c +0 -90
- data/build/test/runners/TestUsartBaudRateRegisterCalculator_runner.c +0 -84
- data/build/test/runners/TestUsartConductor_runner.c +0 -102
- data/build/test/runners/TestUsartHardware_runner.c +0 -96
- data/build/test/runners/TestUsartIntegrated_runner.c +0 -111
- data/build/test/runners/TestUsartModel_runner.c +0 -101
- data/build/vendor/cmock/src/cmock.c +0 -231
- data/build/vendor/cmock/src/cmock.h +0 -47
- data/build/vendor/cmock/src/cmock_internals.h +0 -91
- data/build/vendor/cmock/src/meson.build +0 -12
- data/build/vendor/unity/src/meson.build +0 -17
- data/build/vendor/unity/src/unity.c +0 -2501
- data/build/vendor/unity/src/unity.h +0 -698
- data/build/vendor/unity/src/unity_internals.h +0 -1183
- data/ceedling.sublime-project +0 -28
- data/ceedling.sublime-workspace +0 -6146
- data/docs/CeedlingPacket.md +0 -5654
- data/docs/CeedlingUpgrade.md +0 -83
- data/docs/PluginDevelopmentGuide.md +0 -764
- data/examples/temp_sensor/build/test/dependencies/AdcConductor.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/AdcHardware.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/AdcModel.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/Executor.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/Main.d +0 -10
- data/examples/temp_sensor/build/test/dependencies/MockAdcConductor.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockAdcHardware.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockAdcHardwareConfigurator.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockAdcModel.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockAdcTemperatureSensor.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockExecutor.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockIntrinsicsWrapper.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockModel.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockTaskScheduler.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockTemperatureCalculator.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockTemperatureFilter.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockTimerConductor.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockTimerConfigurator.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockTimerHardware.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockTimerInterruptHandler.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockTimerModel.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockUsartBaudRateRegisterCalculator.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockUsartConductor.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockUsartConfigurator.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/MockUsartHardware.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockUsartModel.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/MockUsartPutChar.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/Model.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/TaskScheduler.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/TemperatureCalculator.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/TemperatureFilter.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/TestAdcConductor.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/TestAdcConductor_runner.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/TestAdcHardware.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/TestAdcHardware_runner.d +0 -9
- data/examples/temp_sensor/build/test/dependencies/TestAdcModel.d +0 -9
- data/examples/temp_sensor/build/test/dependencies/TestAdcModel_runner.d +0 -10
- data/examples/temp_sensor/build/test/dependencies/TestExecutor.d +0 -10
- data/examples/temp_sensor/build/test/dependencies/TestExecutor_runner.d +0 -11
- data/examples/temp_sensor/build/test/dependencies/TestMain.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestMain_runner.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/TestModel.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/TestModel_runner.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/TestTaskScheduler.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestTaskScheduler_runner.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestTemperatureCalculator.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/TestTemperatureCalculator_runner.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestTemperatureFilter.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestTemperatureFilter_runner.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestTimerConductor.d +0 -9
- data/examples/temp_sensor/build/test/dependencies/TestTimerConductor_runner.d +0 -10
- data/examples/temp_sensor/build/test/dependencies/TestTimerHardware.d +0 -5
- data/examples/temp_sensor/build/test/dependencies/TestTimerHardware_runner.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/TestTimerIntegrated.d +0 -10
- data/examples/temp_sensor/build/test/dependencies/TestTimerIntegrated_runner.d +0 -12
- data/examples/temp_sensor/build/test/dependencies/TestTimerModel.d +0 -5
- data/examples/temp_sensor/build/test/dependencies/TestTimerModel_runner.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/TestUsartBaudRateRegisterCalculator.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestUsartBaudRateRegisterCalculator_runner.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/TestUsartConductor.d +0 -10
- data/examples/temp_sensor/build/test/dependencies/TestUsartConductor_runner.d +0 -11
- data/examples/temp_sensor/build/test/dependencies/TestUsartHardware.d +0 -6
- data/examples/temp_sensor/build/test/dependencies/TestUsartHardware_runner.d +0 -8
- data/examples/temp_sensor/build/test/dependencies/TestUsartIntegrated.d +0 -15
- data/examples/temp_sensor/build/test/dependencies/TestUsartIntegrated_runner.d +0 -16
- data/examples/temp_sensor/build/test/dependencies/TestUsartModel.d +0 -7
- data/examples/temp_sensor/build/test/dependencies/TestUsartModel_runner.d +0 -9
- data/examples/temp_sensor/build/test/dependencies/TimerConductor.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/TimerHardware.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/TimerModel.d +0 -2
- data/examples/temp_sensor/build/test/dependencies/UnityHelper.d +0 -4
- data/examples/temp_sensor/build/test/dependencies/UsartBaudRateRegisterCalculator.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/UsartConductor.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/UsartHardware.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/UsartModel.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/cmock.d +0 -3
- data/examples/temp_sensor/build/test/dependencies/unity.d +0 -2
- data/examples/temp_sensor/build/test/mocks/TestAdcConductor/MockAdcHardware.c +0 -445
- data/examples/temp_sensor/build/test/mocks/TestAdcConductor/MockAdcHardware.h +0 -91
- data/examples/temp_sensor/build/test/mocks/TestAdcConductor/MockAdcModel.c +0 -618
- data/examples/temp_sensor/build/test/mocks/TestAdcConductor/MockAdcModel.h +0 -103
- data/examples/temp_sensor/build/test/mocks/TestAdcHardware/MockAdcHardwareConfigurator.c +0 -317
- data/examples/temp_sensor/build/test/mocks/TestAdcHardware/MockAdcHardwareConfigurator.h +0 -79
- data/examples/temp_sensor/build/test/mocks/TestAdcHardware/MockAdcTemperatureSensor.c +0 -351
- data/examples/temp_sensor/build/test/mocks/TestAdcHardware/MockAdcTemperatureSensor.h +0 -79
- data/examples/temp_sensor/build/test/mocks/TestAdcModel/MockTaskScheduler.c +0 -458
- data/examples/temp_sensor/build/test/mocks/TestAdcModel/MockTaskScheduler.h +0 -91
- data/examples/temp_sensor/build/test/mocks/TestAdcModel/MockTemperatureCalculator.c +0 -159
- data/examples/temp_sensor/build/test/mocks/TestAdcModel/MockTemperatureCalculator.h +0 -55
- data/examples/temp_sensor/build/test/mocks/TestAdcModel/MockTemperatureFilter.c +0 -347
- data/examples/temp_sensor/build/test/mocks/TestAdcModel/MockTemperatureFilter.h +0 -79
- data/examples/temp_sensor/build/test/mocks/TestExecutor/MockAdcConductor.c +0 -556
- data/examples/temp_sensor/build/test/mocks/TestExecutor/MockAdcConductor.h +0 -103
- data/examples/temp_sensor/build/test/mocks/TestExecutor/MockIntrinsicsWrapper.c +0 -223
- data/examples/temp_sensor/build/test/mocks/TestExecutor/MockIntrinsicsWrapper.h +0 -67
- data/examples/temp_sensor/build/test/mocks/TestExecutor/MockModel.c +0 -129
- data/examples/temp_sensor/build/test/mocks/TestExecutor/MockModel.h +0 -55
- data/examples/temp_sensor/build/test/mocks/TestExecutor/MockTimerConductor.c +0 -223
- data/examples/temp_sensor/build/test/mocks/TestExecutor/MockTimerConductor.h +0 -67
- data/examples/temp_sensor/build/test/mocks/TestExecutor/MockUsartConductor.c +0 -223
- data/examples/temp_sensor/build/test/mocks/TestExecutor/MockUsartConductor.h +0 -67
- data/examples/temp_sensor/build/test/mocks/TestMain/MockExecutor.c +0 -240
- data/examples/temp_sensor/build/test/mocks/TestMain/MockExecutor.h +0 -67
- data/examples/temp_sensor/build/test/mocks/TestModel/MockTaskScheduler.c +0 -458
- data/examples/temp_sensor/build/test/mocks/TestModel/MockTaskScheduler.h +0 -91
- data/examples/temp_sensor/build/test/mocks/TestModel/MockTemperatureFilter.c +0 -347
- data/examples/temp_sensor/build/test/mocks/TestModel/MockTemperatureFilter.h +0 -79
- data/examples/temp_sensor/build/test/mocks/TestTimerConductor/MockTimerHardware.c +0 -129
- data/examples/temp_sensor/build/test/mocks/TestTimerConductor/MockTimerHardware.h +0 -55
- data/examples/temp_sensor/build/test/mocks/TestTimerConductor/MockTimerInterruptHandler.c +0 -347
- data/examples/temp_sensor/build/test/mocks/TestTimerConductor/MockTimerInterruptHandler.h +0 -79
- data/examples/temp_sensor/build/test/mocks/TestTimerConductor/MockTimerModel.c +0 -142
- data/examples/temp_sensor/build/test/mocks/TestTimerConductor/MockTimerModel.h +0 -55
- data/examples/temp_sensor/build/test/mocks/TestTimerHardware/MockTimerConfigurator.c +0 -787
- data/examples/temp_sensor/build/test/mocks/TestTimerHardware/MockTimerConfigurator.h +0 -139
- data/examples/temp_sensor/build/test/mocks/TestTimerIntegrated/MockTaskScheduler.c +0 -458
- data/examples/temp_sensor/build/test/mocks/TestTimerIntegrated/MockTaskScheduler.h +0 -91
- data/examples/temp_sensor/build/test/mocks/TestTimerIntegrated/MockTimerConfigurator.c +0 -787
- data/examples/temp_sensor/build/test/mocks/TestTimerIntegrated/MockTimerConfigurator.h +0 -139
- data/examples/temp_sensor/build/test/mocks/TestTimerIntegrated/MockTimerInterruptHandler.c +0 -347
- data/examples/temp_sensor/build/test/mocks/TestTimerIntegrated/MockTimerInterruptHandler.h +0 -79
- data/examples/temp_sensor/build/test/mocks/TestTimerModel/MockTaskScheduler.c +0 -458
- data/examples/temp_sensor/build/test/mocks/TestTimerModel/MockTaskScheduler.h +0 -91
- data/examples/temp_sensor/build/test/mocks/TestUsartConductor/MockTaskScheduler.c +0 -458
- data/examples/temp_sensor/build/test/mocks/TestUsartConductor/MockTaskScheduler.h +0 -91
- data/examples/temp_sensor/build/test/mocks/TestUsartConductor/MockUsartHardware.c +0 -249
- data/examples/temp_sensor/build/test/mocks/TestUsartConductor/MockUsartHardware.h +0 -67
- data/examples/temp_sensor/build/test/mocks/TestUsartConductor/MockUsartModel.c +0 -368
- data/examples/temp_sensor/build/test/mocks/TestUsartConductor/MockUsartModel.h +0 -79
- data/examples/temp_sensor/build/test/mocks/TestUsartHardware/MockUsartConfigurator.c +0 -612
- data/examples/temp_sensor/build/test/mocks/TestUsartHardware/MockUsartConfigurator.h +0 -115
- data/examples/temp_sensor/build/test/mocks/TestUsartHardware/MockUsartPutChar.c +0 -142
- data/examples/temp_sensor/build/test/mocks/TestUsartHardware/MockUsartPutChar.h +0 -55
- data/examples/temp_sensor/build/test/mocks/TestUsartIntegrated/MockTaskScheduler.c +0 -458
- data/examples/temp_sensor/build/test/mocks/TestUsartIntegrated/MockTaskScheduler.h +0 -91
- data/examples/temp_sensor/build/test/mocks/TestUsartIntegrated/MockTemperatureFilter.c +0 -347
- data/examples/temp_sensor/build/test/mocks/TestUsartIntegrated/MockTemperatureFilter.h +0 -79
- data/examples/temp_sensor/build/test/mocks/TestUsartIntegrated/MockUsartBaudRateRegisterCalculator.c +0 -166
- data/examples/temp_sensor/build/test/mocks/TestUsartIntegrated/MockUsartBaudRateRegisterCalculator.h +0 -55
- data/examples/temp_sensor/build/test/mocks/TestUsartIntegrated/MockUsartConfigurator.c +0 -612
- data/examples/temp_sensor/build/test/mocks/TestUsartIntegrated/MockUsartConfigurator.h +0 -115
- data/examples/temp_sensor/build/test/mocks/TestUsartIntegrated/MockUsartPutChar.c +0 -142
- data/examples/temp_sensor/build/test/mocks/TestUsartIntegrated/MockUsartPutChar.h +0 -55
- data/examples/temp_sensor/build/test/mocks/TestUsartModel/MockTemperatureFilter.c +0 -347
- data/examples/temp_sensor/build/test/mocks/TestUsartModel/MockTemperatureFilter.h +0 -79
- data/examples/temp_sensor/build/test/mocks/TestUsartModel/MockUsartBaudRateRegisterCalculator.c +0 -166
- data/examples/temp_sensor/build/test/mocks/TestUsartModel/MockUsartBaudRateRegisterCalculator.h +0 -55
- data/examples/temp_sensor/build/test/out/TestAdcConductor/AdcConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcConductor/MockAdcHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcConductor/MockAdcModel.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcConductor/TestAdcConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcConductor/TestAdcConductor.out +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcConductor/TestAdcConductor_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcConductor/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcConductor/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcConductor/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcHardware/AdcHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcHardware/MockAdcHardwareConfigurator.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcHardware/MockAdcTemperatureSensor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcHardware/TestAdcHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcHardware/TestAdcHardware.out +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcHardware/TestAdcHardware_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcHardware/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcHardware/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcHardware/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcModel/AdcModel.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcModel/MockTaskScheduler.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcModel/MockTemperatureCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcModel/MockTemperatureFilter.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcModel/TestAdcModel.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcModel/TestAdcModel.out +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcModel/TestAdcModel_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcModel/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcModel/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/TestAdcModel/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestExecutor/Executor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestExecutor/MockAdcConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestExecutor/MockIntrinsicsWrapper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestExecutor/MockModel.o +0 -0
- data/examples/temp_sensor/build/test/out/TestExecutor/MockTimerConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestExecutor/MockUsartConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestExecutor/TestExecutor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestExecutor/TestExecutor.out +0 -0
- data/examples/temp_sensor/build/test/out/TestExecutor/TestExecutor_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestExecutor/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestExecutor/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/TestExecutor/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestMain/Main.o +0 -0
- data/examples/temp_sensor/build/test/out/TestMain/MockExecutor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestMain/TestMain.o +0 -0
- data/examples/temp_sensor/build/test/out/TestMain/TestMain.out +0 -0
- data/examples/temp_sensor/build/test/out/TestMain/TestMain_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestMain/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestMain/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/TestMain/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestModel/MockTaskScheduler.o +0 -0
- data/examples/temp_sensor/build/test/out/TestModel/MockTemperatureFilter.o +0 -0
- data/examples/temp_sensor/build/test/out/TestModel/Model.o +0 -0
- data/examples/temp_sensor/build/test/out/TestModel/TestModel.o +0 -0
- data/examples/temp_sensor/build/test/out/TestModel/TestModel.out +0 -0
- data/examples/temp_sensor/build/test/out/TestModel/TestModel_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestModel/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestModel/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/TestModel/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTaskScheduler/TaskScheduler.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTaskScheduler/TestTaskScheduler.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTaskScheduler/TestTaskScheduler.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTaskScheduler/TestTaskScheduler_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTaskScheduler/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTaskScheduler/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureCalculator/TemperatureCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureCalculator/TestTemperatureCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureCalculator/TestTemperatureCalculator.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureCalculator/TestTemperatureCalculator_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureCalculator/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureCalculator/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureFilter/TemperatureFilter.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureFilter/TestTemperatureFilter.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureFilter/TestTemperatureFilter.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureFilter/TestTemperatureFilter_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureFilter/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTemperatureFilter/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerConductor/MockTimerHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerConductor/MockTimerInterruptHandler.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerConductor/MockTimerModel.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerConductor/TestTimerConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerConductor/TestTimerConductor.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerConductor/TestTimerConductor_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerConductor/TimerConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerConductor/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerConductor/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerConductor/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerHardware/MockTimerConfigurator.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerHardware/TestTimerHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerHardware/TestTimerHardware.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerHardware/TestTimerHardware_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerHardware/TimerHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerHardware/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerHardware/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerHardware/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerIntegrated/MockTaskScheduler.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerIntegrated/MockTimerConfigurator.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerIntegrated/MockTimerInterruptHandler.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerIntegrated/TestTimerIntegrated.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerIntegrated/TestTimerIntegrated.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerIntegrated/TestTimerIntegrated_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerIntegrated/TimerConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerIntegrated/TimerHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerIntegrated/TimerModel.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerIntegrated/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerIntegrated/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerIntegrated/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerModel/MockTaskScheduler.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerModel/TestTimerModel.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerModel/TestTimerModel.out +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerModel/TestTimerModel_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerModel/TimerModel.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerModel/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerModel/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/TestTimerModel/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartBaudRateRegisterCalculator/TestUsartBaudRateRegisterCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartBaudRateRegisterCalculator/TestUsartBaudRateRegisterCalculator.out +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartBaudRateRegisterCalculator/TestUsartBaudRateRegisterCalculator_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartBaudRateRegisterCalculator/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartBaudRateRegisterCalculator/UsartBaudRateRegisterCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartBaudRateRegisterCalculator/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartConductor/MockTaskScheduler.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartConductor/MockUsartHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartConductor/MockUsartModel.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartConductor/TestUsartConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartConductor/TestUsartConductor.out +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartConductor/TestUsartConductor_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartConductor/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartConductor/UsartConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartConductor/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartConductor/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartHardware/MockUsartConfigurator.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartHardware/MockUsartPutChar.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartHardware/TestUsartHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartHardware/TestUsartHardware.out +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartHardware/TestUsartHardware_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartHardware/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartHardware/UsartHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartHardware/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartHardware/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartIntegrated/MockTaskScheduler.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartIntegrated/MockTemperatureFilter.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartIntegrated/MockUsartBaudRateRegisterCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartIntegrated/MockUsartConfigurator.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartIntegrated/MockUsartPutChar.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartIntegrated/TestUsartIntegrated.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartIntegrated/TestUsartIntegrated.out +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartIntegrated/TestUsartIntegrated_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartIntegrated/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartIntegrated/UsartConductor.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartIntegrated/UsartHardware.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartIntegrated/UsartModel.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartIntegrated/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartIntegrated/unity.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartModel/MockTemperatureFilter.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartModel/MockUsartBaudRateRegisterCalculator.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartModel/TestUsartModel.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartModel/TestUsartModel.out +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartModel/TestUsartModel_runner.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartModel/UnityHelper.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartModel/UsartModel.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartModel/cmock.o +0 -0
- data/examples/temp_sensor/build/test/out/TestUsartModel/unity.o +0 -0
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcConductor/AdcHardware.h +0 -16
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcConductor/AdcModel.h +0 -18
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcConductor/TestAdcConductor.c +0 -106
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcHardware/AdcHardwareConfigurator.h +0 -14
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcHardware/AdcTemperatureSensor.h +0 -14
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcHardware/TestAdcHardware.c +0 -59
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcModel/TaskScheduler.h +0 -16
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcModel/TemperatureCalculator.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcModel/TemperatureFilter.h +0 -14
- data/examples/temp_sensor/build/test/preprocess/files/TestAdcModel/TestAdcModel.c +0 -41
- data/examples/temp_sensor/build/test/preprocess/files/TestExecutor/AdcConductor.h +0 -18
- data/examples/temp_sensor/build/test/preprocess/files/TestExecutor/IntrinsicsWrapper.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/files/TestExecutor/Model.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/files/TestExecutor/TestExecutor.c +0 -45
- data/examples/temp_sensor/build/test/preprocess/files/TestExecutor/TimerConductor.h +0 -12
- data/examples/temp_sensor/build/test/preprocess/files/TestExecutor/UsartConductor.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/files/TestMain/Executor.h +0 -12
- data/examples/temp_sensor/build/test/preprocess/files/TestMain/TestMain.c +0 -31
- data/examples/temp_sensor/build/test/preprocess/files/TestModel/TaskScheduler.h +0 -16
- data/examples/temp_sensor/build/test/preprocess/files/TestModel/TemperatureFilter.h +0 -14
- data/examples/temp_sensor/build/test/preprocess/files/TestModel/TestModel.c +0 -24
- data/examples/temp_sensor/build/test/preprocess/files/TestTaskScheduler/TestTaskScheduler.c +0 -168
- data/examples/temp_sensor/build/test/preprocess/files/TestTemperatureCalculator/TestTemperatureCalculator.c +0 -52
- data/examples/temp_sensor/build/test/preprocess/files/TestTemperatureFilter/TestTemperatureFilter.c +0 -163
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerConductor/TestTimerConductor.c +0 -38
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerConductor/TimerHardware.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerConductor/TimerInterruptHandler.h +0 -14
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerConductor/TimerModel.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerHardware/TestTimerHardware.c +0 -35
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerHardware/TimerConfigurator.h +0 -24
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerIntegrated/TaskScheduler.h +0 -16
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerIntegrated/TestTimerIntegrated.c +0 -54
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerIntegrated/TimerConfigurator.h +0 -24
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerIntegrated/TimerInterruptHandler.h +0 -14
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerModel/TaskScheduler.h +0 -16
- data/examples/temp_sensor/build/test/preprocess/files/TestTimerModel/TestTimerModel.c +0 -21
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartBaudRateRegisterCalculator/TestUsartBaudRateRegisterCalculator.c +0 -46
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartConductor/TaskScheduler.h +0 -16
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartConductor/TestUsartConductor.c +0 -47
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartConductor/UsartHardware.h +0 -12
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartConductor/UsartModel.h +0 -14
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartHardware/TestUsartHardware.c +0 -47
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartHardware/UsartConfigurator.h +0 -20
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartHardware/UsartPutChar.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartIntegrated/TaskScheduler.h +0 -16
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartIntegrated/TemperatureFilter.h +0 -14
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartIntegrated/TestUsartIntegrated.c +0 -57
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartIntegrated/UsartBaudRateRegisterCalculator.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartIntegrated/UsartConfigurator.h +0 -20
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartIntegrated/UsartPutChar.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartModel/TemperatureFilter.h +0 -14
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartModel/TestUsartModel.c +0 -64
- data/examples/temp_sensor/build/test/preprocess/files/TestUsartModel/UsartBaudRateRegisterCalculator.h +0 -10
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcConductor/AdcHardware.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcConductor/AdcModel.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcConductor/TestAdcConductor.c.yml +0 -7
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcHardware/AdcHardwareConfigurator.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcHardware/AdcTemperatureSensor.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcHardware/TestAdcHardware.c.yml +0 -6
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcModel/TaskScheduler.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcModel/TemperatureCalculator.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcModel/TemperatureFilter.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestAdcModel/TestAdcModel.c.yml +0 -7
- data/examples/temp_sensor/build/test/preprocess/includes/TestExecutor/AdcConductor.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestExecutor/IntrinsicsWrapper.h.yml +0 -1
- data/examples/temp_sensor/build/test/preprocess/includes/TestExecutor/Model.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestExecutor/TestExecutor.c.yml +0 -9
- data/examples/temp_sensor/build/test/preprocess/includes/TestExecutor/TimerConductor.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestExecutor/UsartConductor.h.yml +0 -1
- data/examples/temp_sensor/build/test/preprocess/includes/TestMain/Executor.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestMain/TestMain.c.yml +0 -5
- data/examples/temp_sensor/build/test/preprocess/includes/TestModel/TaskScheduler.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestModel/TemperatureFilter.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestModel/TestModel.c.yml +0 -6
- data/examples/temp_sensor/build/test/preprocess/includes/TestTaskScheduler/TestTaskScheduler.c.yml +0 -4
- data/examples/temp_sensor/build/test/preprocess/includes/TestTemperatureCalculator/TestTemperatureCalculator.c.yml +0 -3
- data/examples/temp_sensor/build/test/preprocess/includes/TestTemperatureFilter/TestTemperatureFilter.c.yml +0 -4
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerConductor/TestTimerConductor.c.yml +0 -7
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerConductor/TimerHardware.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerConductor/TimerInterruptHandler.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerConductor/TimerModel.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerHardware/TestTimerHardware.c.yml +0 -5
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerHardware/TimerConfigurator.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerIntegrated/TaskScheduler.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerIntegrated/TestTimerIntegrated.c.yml +0 -9
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerIntegrated/TimerConfigurator.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerIntegrated/TimerInterruptHandler.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerModel/TaskScheduler.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestTimerModel/TestTimerModel.c.yml +0 -5
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartBaudRateRegisterCalculator/TestUsartBaudRateRegisterCalculator.c.yml +0 -4
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartConductor/TaskScheduler.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartConductor/TestUsartConductor.c.yml +0 -7
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartConductor/UsartHardware.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartConductor/UsartModel.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartHardware/TestUsartHardware.c.yml +0 -6
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartHardware/UsartConfigurator.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartHardware/UsartPutChar.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartIntegrated/TaskScheduler.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartIntegrated/TemperatureFilter.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartIntegrated/TestUsartIntegrated.c.yml +0 -12
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartIntegrated/UsartBaudRateRegisterCalculator.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartIntegrated/UsartConfigurator.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartIntegrated/UsartPutChar.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartModel/TemperatureFilter.h.yml +0 -2
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartModel/TestUsartModel.c.yml +0 -7
- data/examples/temp_sensor/build/test/preprocess/includes/TestUsartModel/UsartBaudRateRegisterCalculator.h.yml +0 -2
- data/examples/temp_sensor/build/test/results/TestAdcConductor.pass +0 -47
- data/examples/temp_sensor/build/test/results/TestAdcHardware.pass +0 -31
- data/examples/temp_sensor/build/test/results/TestAdcModel.pass +0 -27
- data/examples/temp_sensor/build/test/results/TestExecutor.pass +0 -23
- data/examples/temp_sensor/build/test/results/TestMain.pass +0 -19
- data/examples/temp_sensor/build/test/results/TestModel.pass +0 -19
- data/examples/temp_sensor/build/test/results/TestTaskScheduler.pass +0 -47
- data/examples/temp_sensor/build/test/results/TestTemperatureCalculator.pass +0 -23
- data/examples/temp_sensor/build/test/results/TestTemperatureFilter.pass +0 -31
- data/examples/temp_sensor/build/test/results/TestTimerConductor.pass +0 -23
- data/examples/temp_sensor/build/test/results/TestTimerHardware.pass +0 -19
- data/examples/temp_sensor/build/test/results/TestTimerIntegrated.pass +0 -23
- data/examples/temp_sensor/build/test/results/TestTimerModel.pass +0 -19
- data/examples/temp_sensor/build/test/results/TestUsartBaudRateRegisterCalculator.pass +0 -19
- data/examples/temp_sensor/build/test/results/TestUsartConductor.pass +0 -27
- data/examples/temp_sensor/build/test/results/TestUsartHardware.pass +0 -23
- data/examples/temp_sensor/build/test/results/TestUsartIntegrated.pass +0 -23
- data/examples/temp_sensor/build/test/results/TestUsartModel.pass +0 -31
- data/examples/temp_sensor/build/test/runners/TestAdcConductor_runner.c +0 -109
- data/examples/temp_sensor/build/test/runners/TestAdcHardware_runner.c +0 -100
- data/examples/temp_sensor/build/test/runners/TestAdcModel_runner.c +0 -102
- data/examples/temp_sensor/build/test/runners/TestExecutor_runner.c +0 -108
- data/examples/temp_sensor/build/test/runners/TestMain_runner.c +0 -90
- data/examples/temp_sensor/build/test/runners/TestModel_runner.c +0 -94
- data/examples/temp_sensor/build/test/runners/TestTaskScheduler_runner.c +0 -98
- data/examples/temp_sensor/build/test/runners/TestTemperatureCalculator_runner.c +0 -85
- data/examples/temp_sensor/build/test/runners/TestTemperatureFilter_runner.c +0 -90
- data/examples/temp_sensor/build/test/runners/TestTimerConductor_runner.c +0 -100
- data/examples/temp_sensor/build/test/runners/TestTimerHardware_runner.c +0 -90
- data/examples/temp_sensor/build/test/runners/TestTimerIntegrated_runner.c +0 -102
- data/examples/temp_sensor/build/test/runners/TestTimerModel_runner.c +0 -90
- data/examples/temp_sensor/build/test/runners/TestUsartBaudRateRegisterCalculator_runner.c +0 -84
- data/examples/temp_sensor/build/test/runners/TestUsartConductor_runner.c +0 -102
- data/examples/temp_sensor/build/test/runners/TestUsartHardware_runner.c +0 -96
- data/examples/temp_sensor/build/test/runners/TestUsartIntegrated_runner.c +0 -111
- data/examples/temp_sensor/build/test/runners/TestUsartModel_runner.c +0 -101
- data/examples/temp_sensor/build/vendor/cmock/src/cmock.c +0 -231
- data/examples/temp_sensor/build/vendor/cmock/src/cmock.h +0 -47
- data/examples/temp_sensor/build/vendor/cmock/src/cmock_internals.h +0 -91
- data/examples/temp_sensor/build/vendor/cmock/src/meson.build +0 -12
- data/examples/temp_sensor/build/vendor/unity/src/meson.build +0 -17
- data/examples/temp_sensor/build/vendor/unity/src/unity.c +0 -2501
- data/examples/temp_sensor/build/vendor/unity/src/unity.h +0 -698
- data/examples/temp_sensor/build/vendor/unity/src/unity_internals.h +0 -1183
- data/examples/temp_sensor/src/TemperatureCalculator.c +0 -38
- data/examples/temp_sensor/src/TemperatureCalculator.h +0 -15
- data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +0 -25
- data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +0 -15
- data/lib/ceedling/build_batchinator.rb +0 -113
- data/lib/ceedling/config_matchinator.rb +0 -192
- data/lib/ceedling/config_walkinator.rb +0 -35
- data/lib/ceedling/configurator.rb +0 -735
- data/lib/ceedling/configurator_builder.rb +0 -558
- data/lib/ceedling/configurator_plugins.rb +0 -165
- data/lib/ceedling/configurator_setup.rb +0 -799
- data/lib/ceedling/configurator_validator.rb +0 -203
- data/lib/ceedling/generator.rb +0 -365
- data/lib/ceedling/generator_helper.rb +0 -78
- data/lib/ceedling/generator_mocks.rb +0 -41
- data/lib/ceedling/generator_test_results.rb +0 -270
- data/lib/ceedling/generator_test_results_backtrace.rb +0 -215
- data/lib/ceedling/generator_test_results_sanity_checker.rb +0 -70
- data/lib/ceedling/generator_test_runner.rb +0 -84
- data/lib/ceedling/include_pathinator.rb +0 -83
- data/lib/ceedling/plugin.rb +0 -30
- data/lib/ceedling/plugin_manager.rb +0 -133
- data/lib/ceedling/plugin_manager_helper.rb +0 -25
- data/lib/ceedling/plugin_reportinator.rb +0 -139
- data/lib/ceedling/plugin_reportinator_helper.rb +0 -84
- data/lib/ceedling/preprocessinator.rb +0 -239
- data/lib/ceedling/preprocessinator_extractor.rb +0 -241
- data/lib/ceedling/preprocessinator_file_handler.rb +0 -229
- data/lib/ceedling/preprocessinator_includes_handler.rb +0 -382
- data/lib/ceedling/rake_utils.rb +0 -23
- data/lib/ceedling/rake_wrapper.rb +0 -40
- data/lib/ceedling/release_invoker_helper.rb +0 -12
- data/lib/ceedling/task_invoker.rb +0 -70
- data/lib/ceedling/test_invoker.rb +0 -505
- data/lib/ceedling/test_invoker_helper.rb +0 -347
- data/out.fail +0 -25
- data/plugins/beep/README.md +0 -133
- data/plugins/bullseye/README.md +0 -81
- data/plugins/command_hooks/README.md +0 -241
- data/plugins/compile_commands_json_db/README.md +0 -40
- data/plugins/dependencies/README.md +0 -321
- data/plugins/dependencies/example/boss/build/artifacts/release/DepTest +0 -0
- data/plugins/dependencies/example/boss/build/artifacts/test/test_boss.log +0 -0
- data/plugins/dependencies/example/boss/build/release/DepTest +0 -0
- data/plugins/dependencies/example/boss/build/release/cache/input.yml +0 -371
- data/plugins/dependencies/example/boss/build/release/dependencies/boss.d +0 -3
- data/plugins/dependencies/example/boss/build/release/dependencies/main.d +0 -2
- data/plugins/dependencies/example/boss/build/release/out/boss.o +0 -0
- data/plugins/dependencies/example/boss/build/release/out/main.o +0 -0
- data/plugins/dependencies/example/boss/build/test/cache/input.yml +0 -371
- data/plugins/dependencies/example/boss/build/test/dependencies/boss.d +0 -3
- data/plugins/dependencies/example/boss/build/test/dependencies/cmock.d +0 -5
- data/plugins/dependencies/example/boss/build/test/dependencies/mock_libworker.d +0 -8
- data/plugins/dependencies/example/boss/build/test/dependencies/mock_supervisor.d +0 -8
- data/plugins/dependencies/example/boss/build/test/dependencies/test_boss.d +0 -7
- data/plugins/dependencies/example/boss/build/test/dependencies/test_boss_runner.d +0 -9
- data/plugins/dependencies/example/boss/build/test/dependencies/unity.d +0 -3
- data/plugins/dependencies/example/boss/build/test/mocks/test_boss/mock_libworker.c +0 -386
- data/plugins/dependencies/example/boss/build/test/mocks/test_boss/mock_libworker.h +0 -82
- data/plugins/dependencies/example/boss/build/test/mocks/test_boss/mock_supervisor.c +0 -309
- data/plugins/dependencies/example/boss/build/test/mocks/test_boss/mock_supervisor.h +0 -72
- data/plugins/dependencies/example/boss/build/test/out/test_boss/boss.o +0 -0
- data/plugins/dependencies/example/boss/build/test/out/test_boss/cmock.o +0 -0
- data/plugins/dependencies/example/boss/build/test/out/test_boss/mock_libworker.o +0 -0
- data/plugins/dependencies/example/boss/build/test/out/test_boss/mock_supervisor.o +0 -0
- data/plugins/dependencies/example/boss/build/test/out/test_boss/test_boss.o +0 -0
- data/plugins/dependencies/example/boss/build/test/out/test_boss/test_boss.out +0 -0
- data/plugins/dependencies/example/boss/build/test/out/test_boss/test_boss_runner.o +0 -0
- data/plugins/dependencies/example/boss/build/test/out/test_boss/unity.o +0 -0
- data/plugins/dependencies/example/boss/build/test/preprocess/files/test_boss/libworker.h +0 -22
- data/plugins/dependencies/example/boss/build/test/preprocess/files/test_boss/supervisor.h +0 -20
- data/plugins/dependencies/example/boss/build/test/preprocess/files/test_boss/test_boss.c +0 -142
- data/plugins/dependencies/example/boss/build/test/preprocess/includes/test_boss/libworker.h.yml +0 -9
- data/plugins/dependencies/example/boss/build/test/preprocess/includes/test_boss/supervisor.h.yml +0 -9
- data/plugins/dependencies/example/boss/build/test/preprocess/includes/test_boss/test_boss.c.yml +0 -15
- data/plugins/dependencies/example/boss/build/test/results/test_boss.pass +0 -27
- data/plugins/dependencies/example/boss/build/test/runners/test_boss_runner.c +0 -148
- data/plugins/dependencies/example/boss/build/vendor/cmock/src/cmock.c +0 -234
- data/plugins/dependencies/example/boss/build/vendor/cmock/src/cmock.h +0 -52
- data/plugins/dependencies/example/boss/build/vendor/cmock/src/cmock_internals.h +0 -96
- data/plugins/dependencies/example/boss/build/vendor/cmock/src/meson.build +0 -12
- data/plugins/dependencies/example/boss/build/vendor/unity/src/meson.build +0 -17
- data/plugins/dependencies/example/boss/build/vendor/unity/src/unity.c +0 -2471
- data/plugins/dependencies/example/boss/build/vendor/unity/src/unity.h +0 -702
- data/plugins/dependencies/example/boss/build/vendor/unity/src/unity_internals.h +0 -1153
- data/plugins/fake_function_framework/README.md +0 -250
- data/plugins/fake_function_framework/Rakefile +0 -19
- data/plugins/fake_function_framework/examples/fff_example/project.yml +0 -71
- data/plugins/fake_function_framework/examples/fff_example/rakefile.rb +0 -7
- data/plugins/fake_function_framework/examples/fff_example/src/bar.c +0 -1
- data/plugins/fake_function_framework/examples/fff_example/src/bar.h +0 -14
- data/plugins/fake_function_framework/examples/fff_example/src/custom_types.h +0 -6
- data/plugins/fake_function_framework/examples/fff_example/src/display.c +0 -7
- data/plugins/fake_function_framework/examples/fff_example/src/display.h +0 -16
- data/plugins/fake_function_framework/examples/fff_example/src/event_processor.c +0 -93
- data/plugins/fake_function_framework/examples/fff_example/src/event_processor.h +0 -11
- data/plugins/fake_function_framework/examples/fff_example/src/foo.c +0 -16
- data/plugins/fake_function_framework/examples/fff_example/src/foo.h +0 -8
- data/plugins/fake_function_framework/examples/fff_example/src/subfolder/zzz.c +0 -1
- data/plugins/fake_function_framework/examples/fff_example/src/subfolder/zzz.h +0 -6
- data/plugins/fake_function_framework/examples/fff_example/test/test_event_processor.c +0 -155
- data/plugins/fake_function_framework/examples/fff_example/test/test_foo.c +0 -47
- data/plugins/fake_function_framework/lib/fake_function_framework.rb +0 -87
- data/plugins/fake_function_framework/lib/fff_mock_generator.rb +0 -163
- data/plugins/fake_function_framework/spec/fff_mock_header_generator_spec.rb +0 -304
- data/plugins/fake_function_framework/spec/fff_mock_source_generator_spec.rb +0 -149
- data/plugins/fake_function_framework/spec/header_generator.rb +0 -51
- data/plugins/fake_function_framework/spec/spec_helper.rb +0 -96
- data/plugins/fake_function_framework/src/fff_unity_helper.h +0 -33
- data/plugins/fff/README.md +0 -242
- data/plugins/fff/examples/fff_example/build/test/cache/input.yml +0 -263
- data/plugins/fff/examples/fff_example/build/test/dependencies/cmock.d +0 -5
- data/plugins/fff/examples/fff_example/build/test/dependencies/event_processor.d +0 -2
- data/plugins/fff/examples/fff_example/build/test/dependencies/foo.d +0 -2
- data/plugins/fff/examples/fff_example/build/test/dependencies/mock_bar.d +0 -3
- data/plugins/fff/examples/fff_example/build/test/dependencies/mock_display.d +0 -5
- data/plugins/fff/examples/fff_example/build/test/dependencies/mock_zzz.d +0 -3
- data/plugins/fff/examples/fff_example/build/test/dependencies/test_event_processor.d +0 -5
- data/plugins/fff/examples/fff_example/build/test/dependencies/test_event_processor_runner.d +0 -8
- data/plugins/fff/examples/fff_example/build/test/dependencies/test_foo.d +0 -6
- data/plugins/fff/examples/fff_example/build/test/dependencies/test_foo_runner.d +0 -8
- data/plugins/fff/examples/fff_example/build/test/dependencies/unity.d +0 -3
- data/plugins/fff/examples/fff_example/build/test/mocks/test_event_processor/mock_display.c +0 -43
- data/plugins/fff/examples/fff_example/build/test/mocks/test_event_processor/mock_display.h +0 -35
- data/plugins/fff/examples/fff_example/build/test/mocks/test_foo/mock_bar.c +0 -37
- data/plugins/fff/examples/fff_example/build/test/mocks/test_foo/mock_bar.h +0 -31
- data/plugins/fff/examples/fff_example/build/test/mocks/test_foo/mock_zzz.c +0 -25
- data/plugins/fff/examples/fff_example/build/test/mocks/test_foo/mock_zzz.h +0 -25
- data/plugins/fff/examples/fff_example/build/test/out/test_event_processor/cmock.o +0 -0
- data/plugins/fff/examples/fff_example/build/test/out/test_event_processor/event_processor.o +0 -0
- data/plugins/fff/examples/fff_example/build/test/out/test_event_processor/mock_display.o +0 -0
- data/plugins/fff/examples/fff_example/build/test/out/test_event_processor/test_event_processor.o +0 -0
- data/plugins/fff/examples/fff_example/build/test/out/test_event_processor/test_event_processor.out +0 -0
- data/plugins/fff/examples/fff_example/build/test/out/test_event_processor/test_event_processor_runner.o +0 -0
- data/plugins/fff/examples/fff_example/build/test/out/test_event_processor/unity.o +0 -0
- data/plugins/fff/examples/fff_example/build/test/out/test_foo/cmock.o +0 -0
- data/plugins/fff/examples/fff_example/build/test/out/test_foo/foo.o +0 -0
- data/plugins/fff/examples/fff_example/build/test/out/test_foo/mock_bar.o +0 -0
- data/plugins/fff/examples/fff_example/build/test/out/test_foo/mock_zzz.o +0 -0
- data/plugins/fff/examples/fff_example/build/test/out/test_foo/test_foo.o +0 -0
- data/plugins/fff/examples/fff_example/build/test/out/test_foo/test_foo.out +0 -0
- data/plugins/fff/examples/fff_example/build/test/out/test_foo/test_foo_runner.o +0 -0
- data/plugins/fff/examples/fff_example/build/test/out/test_foo/unity.o +0 -0
- data/plugins/fff/examples/fff_example/build/test/preprocess/files/test_event_processor/display.h +0 -38
- data/plugins/fff/examples/fff_example/build/test/preprocess/files/test_event_processor/test_event_processor.c +0 -140
- data/plugins/fff/examples/fff_example/build/test/preprocess/files/test_foo/bar.h +0 -32
- data/plugins/fff/examples/fff_example/build/test/preprocess/files/test_foo/test_foo.c +0 -58
- data/plugins/fff/examples/fff_example/build/test/preprocess/files/test_foo/zzz.h +0 -18
- data/plugins/fff/examples/fff_example/build/test/preprocess/includes/test_event_processor/display.h.yml +0 -10
- data/plugins/fff/examples/fff_example/build/test/preprocess/includes/test_event_processor/test_event_processor.c.yml +0 -12
- data/plugins/fff/examples/fff_example/build/test/preprocess/includes/test_foo/bar.h.yml +0 -10
- data/plugins/fff/examples/fff_example/build/test/preprocess/includes/test_foo/test_foo.c.yml +0 -13
- data/plugins/fff/examples/fff_example/build/test/preprocess/includes/test_foo/zzz.h.yml +0 -9
- data/plugins/fff/examples/fff_example/build/test/results/test_event_processor.pass +0 -43
- data/plugins/fff/examples/fff_example/build/test/results/test_foo.pass +0 -31
- data/plugins/fff/examples/fff_example/build/test/runners/test_event_processor_runner.c +0 -148
- data/plugins/fff/examples/fff_example/build/test/runners/test_foo_runner.c +0 -146
- data/plugins/fff/examples/fff_example/build/vendor/cmock/src/cmock.c +0 -234
- data/plugins/fff/examples/fff_example/build/vendor/cmock/src/cmock.h +0 -52
- data/plugins/fff/examples/fff_example/build/vendor/cmock/src/cmock_internals.h +0 -96
- data/plugins/fff/examples/fff_example/build/vendor/cmock/src/meson.build +0 -12
- data/plugins/fff/examples/fff_example/build/vendor/unity/src/meson.build +0 -17
- data/plugins/fff/examples/fff_example/build/vendor/unity/src/unity.c +0 -2471
- data/plugins/fff/examples/fff_example/build/vendor/unity/src/unity.h +0 -702
- data/plugins/fff/examples/fff_example/build/vendor/unity/src/unity_internals.h +0 -1153
- data/plugins/gcov/README.md +0 -893
- data/plugins/gcov/lib/reportinator_helper.rb +0 -30
- data/plugins/module_generator/README.md +0 -212
- data/plugins/module_generator/example/build/test/cache/input.yml +0 -269
- data/plugins/module_generator/example/build/vendor/cmock/src/meson.build +0 -12
- data/plugins/module_generator/example/build/vendor/unity/src/meson.build +0 -17
- data/plugins/report_build_warnings_log/README.md +0 -40
- data/plugins/report_tests_gtestlike_stdout/README.md +0 -96
- data/plugins/report_tests_ide_stdout/README.md +0 -62
- data/plugins/report_tests_log_factory/README.md +0 -446
- data/plugins/report_tests_log_factory/sample_html_report.png +0 -0
- data/plugins/report_tests_pretty_stdout/README.md +0 -54
- data/plugins/report_tests_raw_output_log/README.md +0 -50
- data/plugins/report_tests_teamcity_stdout/README.md +0 -94
- data/spec/config_walkinator_spec.rb +0 -62
- data/spec/configurator_builder_spec.rb +0 -16
- data/spec/configurator_helper_spec.rb +0 -12
- data/spec/configurator_spec.rb +0 -18
- data/spec/file_finder_helper_spec.rb +0 -73
- data/spec/gcov/gcov_deployment_spec.rb +0 -135
- data/spec/gcov/gcov_test_cases_spec.rb +0 -344
- data/spec/generator_test_results_sanity_checker_spec.rb +0 -104
- data/spec/generator_test_results_spec.rb +0 -131
- data/spec/preprocessinator_extractor_spec.rb +0 -330
- data/spec/preprocessinator_includes_handler_spec.rb +0 -289
- data/spec/reportinator_spec.rb +0 -26
- data/spec/spec_helper.rb +0 -31
- data/spec/spec_system_helper.rb +0 -994
- data/spec/system_utils_spec.rb +0 -65
- data/spec/test_context_extractor_spec.rb +0 -358
- data/spec/tool_executor_helper_spec.rb +0 -219
- data/spec/uncategorized_specs_spec.rb +0 -15
- data/vendor/cmock/examples/temp_sensor/targets/gcc.yml +0 -97
- data/vendor/cmock/examples/temp_sensor/targets/iar_v4.yml +0 -143
- data/vendor/cmock/examples/temp_sensor/targets/iar_v5.yml +0 -132
- data/vendor/cmock/scripts/create_mock.rb +0 -15
- data/vendor/cmock/scripts/create_runner.rb +0 -25
- data/vendor/cmock/scripts/test_summary.rb +0 -25
- data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +0 -453
- data/vendor/cmock/test/system/test_interactions/return_thru_ptr_and_expect_any_args.yml +0 -242
- data/vendor/cmock/test/targets/clang_strict.yml +0 -97
- data/vendor/cmock/test/targets/gcc.yml +0 -65
- data/vendor/cmock/test/targets/gcc_64.yml +0 -65
- data/vendor/cmock/test/targets/gcc_tiny.yml +0 -87
- data/vendor/cmock/test/targets/iar_arm_v4.yml +0 -117
- data/vendor/cmock/test/targets/iar_arm_v5.yml +0 -102
- data/vendor/cmock/vendor/unity/examples/example_3/target_gcc_32.yml +0 -54
- data/vendor/cmock/vendor/unity/test/targets/ansi.yml +0 -51
- data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +0 -79
- data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +0 -79
- data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +0 -52
- data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +0 -53
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +0 -50
- data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -62
- data/vendor/cmock/vendor/unity/test/targets/gcc_manual_math.yml +0 -50
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +0 -105
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +0 -99
- data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -99
- data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -97
- data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -101
- data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +0 -119
- data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -106
- data/vendor/unity/examples/example_3/target_gcc_32.yml +0 -54
- data/vendor/unity/test/targets/ansi.yml +0 -51
- data/vendor/unity/test/targets/clang_file.yml +0 -79
- data/vendor/unity/test/targets/clang_strict.yml +0 -79
- data/vendor/unity/test/targets/gcc_32.yml +0 -52
- data/vendor/unity/test/targets/gcc_64.yml +0 -53
- data/vendor/unity/test/targets/gcc_auto_limits.yml +0 -50
- data/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -62
- data/vendor/unity/test/targets/gcc_manual_math.yml +0 -50
- data/vendor/unity/test/targets/iar_arm_v4.yml +0 -105
- data/vendor/unity/test/targets/iar_arm_v5.yml +0 -99
- data/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -99
- data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -97
- data/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -101
- data/vendor/unity/test/targets/iar_msp430.yml +0 -119
- data/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -106
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/* Restore older style of Admonitions (nicer) */
|
|
2
|
+
|
|
3
|
+
.md-typeset .admonition,
|
|
4
|
+
.md-typeset details {
|
|
5
|
+
border-width: 0;
|
|
6
|
+
border-left-width: 4px;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
Styling Built-In Admonition Types
|
|
11
|
+
=================================
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/* ── Note ──────────────────────────────────────────────────────────────────
|
|
15
|
+
Usage: !!! note "This does not imply if the swallow is African or European"
|
|
16
|
+
Body text here.
|
|
17
|
+
────────────────────────────────────────────────────────────────────────── */
|
|
18
|
+
|
|
19
|
+
/* Overrides default note style.
|
|
20
|
+
*/
|
|
21
|
+
.md-typeset .admonition.note,
|
|
22
|
+
.md-typeset details.note {
|
|
23
|
+
border-color: rgb(58, 0, 64);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.md-typeset .note > .admonition-title,
|
|
27
|
+
.md-typeset .note > summary {
|
|
28
|
+
background-color: rgba(58, 0, 64, .15);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.md-typeset .note > .admonition-title::before,
|
|
32
|
+
.md-typeset .note > summary::before {
|
|
33
|
+
background-color: rgb(58, 0, 64);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* ── Tip ──────────────────────────────────────────────────────────────────
|
|
37
|
+
Usage: !!! tip "You pronounce it 'potato'"
|
|
38
|
+
Body text here.
|
|
39
|
+
────────────────────────────────────────────────────────────────────────── */
|
|
40
|
+
|
|
41
|
+
/* Overrides default tip style.
|
|
42
|
+
*/
|
|
43
|
+
.md-typeset .admonition.tip,
|
|
44
|
+
.md-typeset details.tip {
|
|
45
|
+
border-color: rgb(58, 0, 64);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.md-typeset .tip > .admonition-title,
|
|
49
|
+
.md-typeset .tip > summary {
|
|
50
|
+
background-color: rgba(58, 0, 64, .15);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.md-typeset .tip > .admonition-title::before,
|
|
54
|
+
.md-typeset .tip > summary::before {
|
|
55
|
+
background-color: rgb(58, 0, 64);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* ── Info ──────────────────────────────────────────────────────────────────
|
|
59
|
+
Usage: !!! info "The answer to Life, The Universe, and Everything is 42."
|
|
60
|
+
Body text here.
|
|
61
|
+
────────────────────────────────────────────────────────────────────────── */
|
|
62
|
+
|
|
63
|
+
/* Overrides default info style.
|
|
64
|
+
*/
|
|
65
|
+
.md-typeset .admonition.info,
|
|
66
|
+
.md-typeset details.info {
|
|
67
|
+
border-color: rgb(58, 0, 64);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.md-typeset .info > .admonition-title,
|
|
71
|
+
.md-typeset .info > summary {
|
|
72
|
+
background-color: rgba(58, 0, 64, .15);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.md-typeset .info > .admonition-title::before,
|
|
76
|
+
.md-typeset .info > summary::before {
|
|
77
|
+
background-color: rgb(58, 0, 64);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/*
|
|
81
|
+
Custom Admonition Types
|
|
82
|
+
=======================
|
|
83
|
+
*/
|
|
84
|
+
|
|
85
|
+
/* ── Sponsorship ────────────────────────────────────────────────────────────
|
|
86
|
+
Usage: !!! sponsorship "ThingamaByte is a Great Sponsor"
|
|
87
|
+
Body text here.
|
|
88
|
+
────────────────────────────────────────────────────────────────────────── */
|
|
89
|
+
|
|
90
|
+
/* Icon: Material Design Icons 'currency-usd'
|
|
91
|
+
Source: material/templates/.icons/material/currency-usd.svg
|
|
92
|
+
(Only available at time of site-generation in a container)
|
|
93
|
+
|
|
94
|
+
CSS mask-image requires an SVG data URL but the :material-currency-usd: shortcode
|
|
95
|
+
is Markdown-only and is not available to CSS.
|
|
96
|
+
|
|
97
|
+
The SVG path recreates the 'currency-usd' icon from Material Design Icons as
|
|
98
|
+
the file is unavailable outside the site-generation container.
|
|
99
|
+
*/
|
|
100
|
+
:root {
|
|
101
|
+
--md-admonition-icon--sponsorship: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M11.8,10.9c-2.27-0.59-3-1.2-3-2.15c0-1.09,1.01-1.85,2.7-1.85c1.78,0,2.44,0.85,2.5,2.1h2.21c-0.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94,0.42-3.5,1.68-3.5,3.61c0,2.31,1.91,3.46,4.7,4.13c2.5,0.6,3,1.48,3,2.41c0,0.69-0.49,1.79-2.7,1.79c-2.06,0-2.87-0.92-2.98-2.1h-2.2c0.12,2.19,1.76,3.42,3.68,3.83V21h3v-2.15c1.95-0.37,3.5-1.5,3.5-3.55C17.5,12.46,14.07,11.49,11.8,10.9z'/></svg>");
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.md-typeset .admonition.sponsorship,
|
|
105
|
+
.md-typeset details.sponsorship {
|
|
106
|
+
border-color: rgb(63, 176, 78);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.md-typeset .sponsorship > .admonition-title,
|
|
110
|
+
.md-typeset .sponsorship > summary {
|
|
111
|
+
background-color: rgb(91,255,113);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.md-typeset .sponsorship > .admonition-title::before,
|
|
115
|
+
.md-typeset .sponsorship > summary::before {
|
|
116
|
+
background-color: rgb(63, 176, 78);
|
|
117
|
+
-webkit-mask-image: var(--md-admonition-icon--sponsorship);
|
|
118
|
+
mask-image: var(--md-admonition-icon--sponsorship);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/* ── Feature ────────────────────────────────────────────────────────────────
|
|
122
|
+
Usage: !!! feature "New in 1.0"
|
|
123
|
+
Body text here.
|
|
124
|
+
────────────────────────────────────────────────────────────────────────── */
|
|
125
|
+
|
|
126
|
+
/* Icon: Custom 16-point starburst badge (no MDI equivalent)
|
|
127
|
+
A circular "new and improved" badge seal with 16 short ridged points.
|
|
128
|
+
Constructed by alternating outer radius 11 and inner radius 9 at 11.25° steps.
|
|
129
|
+
|
|
130
|
+
CSS mask-image requires an SVG data URL; Markdown icon shortcodes are
|
|
131
|
+
not available to CSS.
|
|
132
|
+
*/
|
|
133
|
+
:root {
|
|
134
|
+
--md-admonition-icon--feature: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12,1L13.76,3.17L16.21,1.84L17,4.52L19.78,4.22L19.48,7L22.16,7.79L20.83,10.24L23,12L20.83,13.76L22.16,16.21L19.48,17L19.78,19.78L17,19.48L16.21,22.16L13.76,20.83L12,23L10.24,20.83L7.79,22.16L7,19.48L4.22,19.78L4.52,17L1.84,16.21L3.17,13.76L1,12L3.17,10.24L1.84,7.79L4.52,7L4.22,4.22L7,4.52L7.79,1.84L10.24,3.17Z'/></svg>");
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.md-typeset .admonition.feature,
|
|
138
|
+
.md-typeset details.feature {
|
|
139
|
+
border-color: rgb(63, 176, 78);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.md-typeset .feature > .admonition-title,
|
|
143
|
+
.md-typeset .feature > summary {
|
|
144
|
+
background-color: rgb(91,255,113);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.md-typeset .feature > .admonition-title::before,
|
|
148
|
+
.md-typeset .feature > summary::before {
|
|
149
|
+
background-color: rgb(63, 176, 78);
|
|
150
|
+
-webkit-mask-image: var(--md-admonition-icon--feature);
|
|
151
|
+
mask-image: var(--md-admonition-icon--feature);
|
|
152
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/* sidebar logo and style */
|
|
2
|
+
/* Fix sidebar scrollwrap overflow from bad JS height calculation.
|
|
3
|
+
We can't set site_url for the local site, and this causes the header height to be miscalculated.
|
|
4
|
+
*/
|
|
5
|
+
.md-sidebar {
|
|
6
|
+
top: 2.4rem !important;
|
|
7
|
+
}
|
|
8
|
+
.md-sidebar__scrollwrap {
|
|
9
|
+
height: calc(100vh - 2.4rem) !important; /* 100vh minus header height */
|
|
10
|
+
overflow-y: auto;
|
|
11
|
+
}
|
|
12
|
+
.md-nav--primary .md-nav__title {
|
|
13
|
+
background-color: #EEEEEE !important;
|
|
14
|
+
font-size: 0;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@charset "UTF-8";html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;box-sizing:border-box}*,:after,:before{box-sizing:inherit}@media (prefers-reduced-motion){*,:after,:before{transition:none!important}}body{margin:0}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{border:0;box-sizing:initial;display:block;height:.05rem;overflow:visible;padding:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:initial;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{background:#0000;border:0;font-family:inherit;font-size:inherit;margin:0;padding:0}input{border:0;outline:none}:root{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-scheme=default]{color-scheme:light}[data-md-color-scheme=default] img[src$="#gh-dark-mode-only"],[data-md-color-scheme=default] img[src$="#only-dark"]{display:none}:root,[data-md-color-scheme=default]{--md-hue:225deg;--md-default-fg-color:#000000de;--md-default-fg-color--light:#0000008a;--md-default-fg-color--lighter:#00000052;--md-default-fg-color--lightest:#00000012;--md-default-bg-color:#fff;--md-default-bg-color--light:#ffffffb3;--md-default-bg-color--lighter:#ffffff4d;--md-default-bg-color--lightest:#ffffff1f;--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-bg-color--light:#f5f5f5b3;--md-code-bg-color--lighter:#f5f5f54d;--md-code-hl-color:#4287ff;--md-code-hl-color--light:#4287ff1a;--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-del-color:#f5503d26;--md-typeset-ins-color:#0bd57026;--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-typeset-mark-color:#ffff0080;--md-typeset-table-color:#0000001f;--md-typeset-table-color--light:rgba(0,0,0,.035);--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-warning-fg-color:#000000de;--md-warning-bg-color:#ff9;--md-footer-fg-color:#fff;--md-footer-fg-color--light:#ffffffb3;--md-footer-fg-color--lighter:#ffffff73;--md-footer-bg-color:#000000de;--md-footer-bg-color--dark:#00000052;--md-shadow-z1:0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a;--md-shadow-z2:0 0.2rem 0.5rem #0000001a,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0003,0 0 0.05rem #00000059}.md-icon svg{fill:currentcolor;display:block;height:1.2rem;width:1.2rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--md-text-font-family:var(--md-text-font,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;--md-code-font-family:var(--md-code-font,_),SFMono-Regular,Consolas,Menlo,monospace}aside,body,input{font-feature-settings:"kern","liga";color:var(--md-typeset-color);font-family:var(--md-text-font-family)}code,kbd,pre{font-feature-settings:"kern";font-family:var(--md-code-font-family)}:root{--md-typeset-table-sort-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m18 21-4-4h3V7h-3l4-4 4 4h-3v10h3M2 19v-2h10v2M2 13v-2h7v2M2 7V5h4v2z"/></svg>');--md-typeset-table-sort-icon--asc:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 17h3l-4 4-4-4h3V3h2M2 17h10v2H2M6 5v2H2V5m0 6h7v2H2z"/></svg>');--md-typeset-table-sort-icon--desc:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7h3l-4-4-4 4h3v14h2M2 17h10v2H2M6 5v2H2V5m0 6h7v2H2z"/></svg>')}.md-typeset{-webkit-print-color-adjust:exact;color-adjust:exact;font-size:.8rem;line-height:1.6;overflow-wrap:break-word}@media print{.md-typeset{font-size:.68rem}}.md-typeset blockquote,.md-typeset dl,.md-typeset figure,.md-typeset ol,.md-typeset pre,.md-typeset ul{margin-bottom:1em;margin-top:1em}.md-typeset h1{color:var(--md-default-fg-color--light);font-size:2em;line-height:1.3;margin:0 0 1.25em}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{font-size:1.5625em;line-height:1.4;margin:1.6em 0 .64em}.md-typeset h3{font-size:1.25em;font-weight:400;letter-spacing:-.01em;line-height:1.5;margin:1.6em 0 .8em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{font-weight:700;letter-spacing:-.01em;margin:1em 0}.md-typeset h5,.md-typeset h6{color:var(--md-default-fg-color--light);font-size:.8em;font-weight:700;letter-spacing:-.01em;margin:1.25em 0}.md-typeset h5{text-transform:uppercase}.md-typeset h5 code{text-transform:none}.md-typeset hr{border-bottom:.05rem solid var(--md-default-fg-color--lightest);display:flow-root;margin:1.5em 0}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a:before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset a:focus code,.md-typeset a:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset a code{color:var(--md-typeset-a-color)}.md-typeset a.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset code,.md-typeset kbd,.md-typeset pre{color:var(--md-code-fg-color);direction:ltr;font-variant-ligatures:none;transition:background-color 125ms}@media print{.md-typeset code,.md-typeset kbd,.md-typeset pre{white-space:pre-wrap}}.md-typeset code{background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-size:.85em;padding:0 .2941176471em;transition:color 125ms,background-color 125ms;word-break:break-word}.md-typeset code:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-typeset pre{display:flow-root;line-height:1.4;position:relative}.md-typeset pre>code{-webkit-box-decoration-break:slice;box-decoration-break:slice;box-shadow:none;display:block;margin:0;outline-color:var(--md-accent-fg-color);overflow:auto;padding:.7720588235em 1.1764705882em;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:auto;word-break:normal}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-typeset pre>code::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset kbd{background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem var(--md-typeset-kbd-accent-color) inset;color:var(--md-default-fg-color);display:inline-block;font-size:.75em;padding:0 .6666666667em;vertical-align:text-top;word-break:break-word}.md-typeset mark{background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;word-break:break-word}.md-typeset abbr{cursor:help;text-decoration:none}.md-typeset [data-preview],.md-typeset abbr{border-bottom:.05rem dotted var(--md-default-fg-color--light)}.md-typeset small{opacity:.75}[dir=ltr] .md-typeset sub,[dir=ltr] .md-typeset sup{margin-left:.078125em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.078125em}[dir=ltr] .md-typeset blockquote{padding-left:.6rem}[dir=rtl] .md-typeset blockquote{padding-right:.6rem}[dir=ltr] .md-typeset blockquote{border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{border-right:.2rem solid var(--md-default-fg-color--lighter)}.md-typeset blockquote{color:var(--md-default-fg-color--light);margin-left:0;margin-right:0}.md-typeset ul{list-style-type:disc}.md-typeset ul[type]{list-style-type:revert-layer}[dir=ltr] .md-typeset ol,[dir=ltr] .md-typeset ul{margin-left:.625em}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em}.md-typeset ol,.md-typeset ul{padding:0}.md-typeset ol:not([hidden]),.md-typeset ul:not([hidden]){display:flow-root}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}.md-typeset ol ol ol ol,.md-typeset ul ol ol ol{list-style-type:upper-alpha}.md-typeset ol ol ol ol ol,.md-typeset ul ol ol ol ol{list-style-type:upper-roman}.md-typeset ol[type],.md-typeset ul[type]{list-style-type:revert-layer}[dir=ltr] .md-typeset ol li,[dir=ltr] .md-typeset ul li{margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}[dir=ltr] .md-typeset ol li ol,[dir=ltr] .md-typeset ol li ul,[dir=ltr] .md-typeset ul li ol,[dir=ltr] .md-typeset ul li ul{margin-left:.625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin-bottom:.5em;margin-top:.5em}[dir=ltr] .md-typeset dd{margin-left:1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em}.md-typeset dd{margin-bottom:1.5em;margin-top:1em}.md-typeset img,.md-typeset svg,.md-typeset video{height:auto;max-width:100%}.md-typeset img[align=left]{margin:1em 1em 1em 0}.md-typeset img[align=right]{margin:1em 0 1em 1em}.md-typeset img[align]:only-child{margin-top:0}.md-typeset figure{display:flow-root;margin:1em auto;max-width:100%;text-align:center;width:fit-content}.md-typeset figure img{display:block;margin:0 auto}.md-typeset figcaption{font-style:italic;margin:1em auto;max-width:24rem}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){background-color:var(--md-default-bg-color);border:.05rem solid var(--md-typeset-table-color);border-radius:.1rem;display:inline-block;font-size:.64rem;max-width:100%;overflow:auto;touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td>:first-child,.md-typeset table:not([class]) th>:first-child{margin-top:0}.md-typeset table:not([class]) td>:last-child,.md-typeset table:not([class]) th>:last-child{margin-bottom:0}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{font-weight:700;min-width:5rem;padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) td{border-top:.05rem solid var(--md-typeset-table-color);padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) tbody tr{transition:background-color 125ms}.md-typeset table:not([class]) tbody tr:hover{background-color:var(--md-typeset-table-color--light);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}[dir=ltr] .md-typeset table th[role=columnheader]:after{margin-left:.5em}[dir=rtl] .md-typeset table th[role=columnheader]:after{margin-right:.5em}.md-typeset table th[role=columnheader]:after{content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-typeset-table-sort-icon);mask-image:var(--md-typeset-table-sort-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset table th[role=columnheader]:hover:after{background-color:var(--md-default-fg-color--lighter)}.md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--asc);mask-image:var(--md-typeset-table-sort-icon--asc)}.md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--desc);mask-image:var(--md-typeset-table-sort-icon--desc)}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;margin:0;overflow:hidden;width:100%}@media screen and (max-width:44.984375em){.md-content__inner>pre{margin:1em -.8rem}.md-content__inner>pre code{border-radius:0}}.md-typeset .md-author{border-radius:100%;display:block;flex-shrink:0;height:1.6rem;overflow:hidden;position:relative;transition:color 125ms,transform 125ms;width:1.6rem}.md-typeset .md-author img{display:block}.md-typeset .md-author--more{background:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--lighter);font-size:.6rem;font-weight:700;line-height:1.6rem;text-align:center}.md-typeset .md-author--long{height:2.4rem;width:2.4rem}.md-typeset a.md-author{transform:scale(1)}.md-typeset a.md-author img{border-radius:100%;filter:grayscale(100%) opacity(75%);transition:filter 125ms}.md-typeset a.md-author:focus,.md-typeset a.md-author:hover{transform:scale(1.1);z-index:1}.md-typeset a.md-author:focus img,.md-typeset a.md-author:hover img{filter:grayscale(0)}.md-banner{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color);overflow:auto}@media print{.md-banner{display:none}}.md-banner--warning{background-color:var(--md-warning-bg-color);color:var(--md-warning-fg-color)}.md-banner__inner{font-size:.7rem;margin:.6rem auto;padding:0 .8rem}[dir=ltr] .md-banner__button{float:right}[dir=rtl] .md-banner__button{float:left}.md-banner__button{color:inherit;cursor:pointer;transition:opacity .25s}.no-js .md-banner__button{display:none}.md-banner__button:hover{opacity:.7}html{font-size:125%;height:100%;overflow-x:hidden}@media screen and (min-width:100em){html{font-size:137.5%}}@media screen and (min-width:125em){html{font-size:150%}}body{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;font-size:.5rem;min-height:100%;position:relative;width:100%}@media print{body{display:block}}@media screen and (max-width:59.984375em){body[data-md-scrolllock]{position:fixed}}.md-grid{margin-left:auto;margin-right:auto;max-width:61rem}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;text-overflow:ellipsis}.md-toggle{display:none}.md-option{height:0;opacity:0;position:absolute;width:0}.md-option:checked+label:not([hidden]){display:block}.md-option.focus-visible+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.md-skip{background-color:var(--md-default-fg-color);border-radius:.1rem;color:var(--md-default-bg-color);font-size:.64rem;margin:.5rem;opacity:0;outline-color:var(--md-accent-fg-color);padding:.3rem .5rem;position:fixed;transform:translateY(.4rem);z-index:-1}.md-skip:focus{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms;z-index:10}@page{margin:25mm}:root{--md-clipboard-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12z"/></svg>')}.md-clipboard{border-radius:.1rem;color:var(--md-default-fg-color--lightest);cursor:pointer;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em;z-index:1}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color .25s,background-color .25s}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}:root{--md-code-select-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 19h-4v2h4c1.1 0 2-.9 2-2v-4h-2m0-12h-4v2h4v4h2V5c0-1.1-.9-2-2-2M5 5h4V3H5c-1.1 0-2 .9-2 2v4h2m0 6H3v4c0 1.1.9 2 2 2h4v-2H5zm2-4h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2zM7 7h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2zm-8 8h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2z"/></svg>');--md-code-copy-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12z"/></svg>')}.md-typeset .md-code__content{display:grid}.md-code__nav{background-color:var(--md-code-bg-color--lighter);border-radius:.1rem;display:flex;gap:.2rem;padding:.2rem;position:absolute;right:.25em;top:.25em;transition:background-color .25s;z-index:1}:hover>.md-code__nav{background-color:var(--md-code-bg-color--light)}.md-code__button{color:var(--md-default-fg-color--lightest);cursor:pointer;display:block;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em}:hover>*>.md-code__button{color:var(--md-default-fg-color--light)}.md-code__button.focus-visible,.md-code__button:hover{color:var(--md-accent-fg-color)}.md-code__button--active{color:var(--md-default-fg-color)!important}.md-code__button:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-code__button[data-md-type=select]:after{-webkit-mask-image:var(--md-code-select-icon);mask-image:var(--md-code-select-icon)}.md-code__button[data-md-type=copy]:after{-webkit-mask-image:var(--md-code-copy-icon);mask-image:var(--md-code-copy-icon)}@keyframes consent{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes overlay{0%{opacity:0}to{opacity:1}}.md-consent__overlay{animation:overlay .25s both;-webkit-backdrop-filter:blur(.1rem);backdrop-filter:blur(.1rem);background-color:#0000008a;height:100%;opacity:1;position:fixed;top:0;width:100%;z-index:5}.md-consent__inner{animation:consent .5s cubic-bezier(.1,.7,.1,1) both;background-color:var(--md-default-bg-color);border:0;border-radius:.1rem;bottom:0;box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;max-height:100%;overflow:auto;padding:0;position:fixed;width:100%;z-index:5}.md-consent__form{padding:.8rem}.md-consent__settings{display:none;margin:1em 0}input:checked+.md-consent__settings{display:block}.md-consent__controls{margin-bottom:.8rem}.md-typeset .md-consent__controls .md-button{display:inline}@media screen and (max-width:44.984375em){.md-typeset .md-consent__controls .md-button{display:block;margin-top:.4rem;text-align:center;width:100%}}.md-consent label{cursor:pointer}.md-content{flex-grow:1;min-width:0}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){[dir=ltr] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=ltr] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner,[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}}.md-content__inner:before{content:"";display:block;height:.4rem}.md-content__inner>:last-child{margin-bottom:0}[dir=ltr] .md-content__button{float:right}[dir=rtl] .md-content__button{float:left}[dir=ltr] .md-content__button{margin-left:.4rem}[dir=rtl] .md-content__button{margin-right:.4rem}.md-content__button{margin:.4rem 0;padding:0}@media print{.md-content__button{display:none}}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}[dir=ltr] .md-dialog{right:.8rem}[dir=rtl] .md-dialog{left:.8rem}.md-dialog{background-color:var(--md-default-fg-color);border-radius:.1rem;bottom:.8rem;box-shadow:var(--md-shadow-z3);min-width:11.1rem;opacity:0;padding:.4rem .6rem;pointer-events:none;position:fixed;transform:translateY(100%);transition:transform 0ms .4s,opacity .4s;z-index:4}@media print{.md-dialog{display:none}}.md-dialog--active{opacity:1;pointer-events:auto;transform:translateY(0);transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-feedback{margin:2em 0 1em;text-align:center}.md-feedback fieldset{border:none;margin:0;padding:0}.md-feedback__title{font-weight:700;margin:1em auto}.md-feedback__inner{position:relative}.md-feedback__list{display:flex;flex-wrap:wrap;place-content:baseline center;position:relative}.md-feedback__list:hover .md-icon:not(:disabled){color:var(--md-default-fg-color--lighter)}:disabled .md-feedback__list{min-height:1.8rem}.md-feedback__icon{color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;margin:0 .1rem;transition:color 125ms}.md-feedback__icon:not(:disabled).md-icon:hover{color:var(--md-accent-fg-color)}.md-feedback__icon:disabled{color:var(--md-default-fg-color--lightest);pointer-events:none}.md-feedback__note{opacity:0;position:relative;transform:translateY(.4rem);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-feedback__note>*{margin:0 auto;max-width:16rem}:disabled .md-feedback__note{opacity:1;transform:translateY(0)}@media print{.md-feedback{display:none}}.md-footer{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color)}@media print{.md-footer{display:none}}.md-footer__inner{justify-content:space-between;overflow:auto;padding:.2rem}.md-footer__inner:not([hidden]){display:flex}.md-footer__link{align-items:end;display:flex;flex-grow:0.01;margin-bottom:.4rem;margin-top:1rem;max-width:100%;outline-color:var(--md-accent-fg-color);overflow:hidden;transition:opacity .25s}.md-footer__link:focus,.md-footer__link:hover{opacity:.7}[dir=rtl] .md-footer__link svg{transform:scaleX(-1)}@media screen and (max-width:44.984375em){.md-footer__link--prev{flex-shrink:0}.md-footer__link--prev .md-footer__title{display:none}}[dir=ltr] .md-footer__link--next{margin-left:auto}[dir=rtl] .md-footer__link--next{margin-right:auto}.md-footer__link--next{text-align:right}[dir=rtl] .md-footer__link--next{text-align:left}.md-footer__title{flex-grow:1;font-size:.9rem;margin-bottom:.7rem;max-width:calc(100% - 2.4rem);padding:0 1rem;white-space:nowrap}.md-footer__button{margin:.2rem;padding:.4rem}.md-footer__direction{font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-copyright{color:var(--md-footer-fg-color--lighter);font-size:.64rem;margin:auto .6rem;padding:.4rem 0;width:100%}@media screen and (min-width:45em){.md-copyright{width:auto}}.md-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-social{display:inline-flex;gap:.2rem;margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.md-social{padding:.6rem 0}}.md-social__link{display:inline-block;height:1.6rem;text-align:center;width:1.6rem}.md-social__link:before{line-height:1.9}.md-social__link svg{fill:currentcolor;max-height:.8rem;vertical-align:-25%}.md-typeset .md-button{border:.1rem solid;border-radius:.1rem;color:var(--md-primary-fg-color);cursor:pointer;display:inline-block;font-weight:700;padding:.625em 2em;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[dir=ltr] .md-typeset .md-input{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .md-input,[dir=rtl] .md-typeset .md-input{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .md-input{border-top-left-radius:.1rem}.md-typeset .md-input{border-bottom:.1rem solid var(--md-default-fg-color--lighter);box-shadow:var(--md-shadow-z1);font-size:.8rem;height:1.8rem;padding:0 .6rem;transition:border .25s,box-shadow .25s}.md-typeset .md-input:focus,.md-typeset .md-input:hover{border-bottom-color:var(--md-accent-fg-color);box-shadow:var(--md-shadow-z2)}.md-typeset .md-input--stretch{width:100%}.md-header{background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem #0000,0 .2rem .4rem #0000;color:var(--md-primary-bg-color);display:block;left:0;position:sticky;right:0;top:0;z-index:4}@media print{.md-header{display:none}}.md-header[hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1),box-shadow .25s}.md-header--shadow{box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;transition:transform .25s cubic-bezier(.1,.7,.1,1),box-shadow .25s}.md-header__inner{align-items:center;display:flex;padding:0 .2rem}.md-header__button{color:currentcolor;cursor:pointer;margin:.2rem;outline-color:var(--md-accent-fg-color);padding:.4rem;position:relative;transition:opacity .25s;vertical-align:middle;z-index:1}.md-header__button:hover{opacity:.7}.md-header__button:not([hidden]){display:inline-block}.md-header__button:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-header__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.234375em){.md-header__button.md-logo{display:none}}.md-header__button.md-logo img,.md-header__button.md-logo svg{fill:currentcolor;display:block;height:1.2rem;width:auto}@media screen and (min-width:60em){.md-header__button[for=__search]{display:none}}.no-js .md-header__button[for=__search]{display:none}[dir=rtl] .md-header__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.md-header__button[for=__drawer]{display:none}}.md-header__topic{display:flex;max-width:100%;position:absolute;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;white-space:nowrap}.md-header__topic+.md-header__topic{opacity:0;pointer-events:none;transform:translateX(1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__topic+.md-header__topic{transform:translateX(-1.25rem)}.md-header__topic:first-child{font-weight:700}[dir=ltr] .md-header__title{margin-left:1rem;margin-right:.4rem}[dir=rtl] .md-header__title{margin-left:.4rem;margin-right:1rem}.md-header__title{flex-grow:1;font-size:.9rem;height:2.4rem;line-height:2.4rem}.md-header__title--active .md-header__topic{opacity:0;pointer-events:none;transform:translateX(-1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__title--active .md-header__topic{transform:translateX(1.25rem)}.md-header__title--active .md-header__topic+.md-header__topic{opacity:1;pointer-events:auto;transform:translateX(0);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;z-index:0}.md-header__title>.md-header__ellipsis{height:100%;position:relative;width:100%}.md-header__option{display:flex;flex-shrink:0;max-width:100%;transition:max-width 0ms .25s,opacity .25s .25s;white-space:nowrap}[data-md-toggle=search]:checked~.md-header .md-header__option{max-width:0;opacity:0;transition:max-width 0ms,opacity 0ms}.md-header__option>input{bottom:0}.md-header__source{display:none}@media screen and (min-width:60em){[dir=ltr] .md-header__source{margin-left:1rem}[dir=rtl] .md-header__source{margin-right:1rem}.md-header__source{display:block;max-width:11.7rem;width:11.7rem}}@media screen and (min-width:76.25em){[dir=ltr] .md-header__source{margin-left:1.4rem}[dir=rtl] .md-header__source{margin-right:1.4rem}}.md-meta{color:var(--md-default-fg-color--light);font-size:.7rem;line-height:1.3}.md-meta__list{display:inline-flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.md-meta__item:not(:last-child):after{content:"·";margin-left:.2rem;margin-right:.2rem}.md-meta__link{color:var(--md-typeset-a-color)}.md-meta__link:focus,.md-meta__link:hover{color:var(--md-accent-fg-color)}.md-draft{background-color:#ff1744;border-radius:.125em;color:#fff;display:inline-block;font-weight:700;padding-left:.5714285714em;padding-right:.5714285714em}:root{--md-nav-icon--prev:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>');--md-nav-icon--next:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6z"/></svg>');--md-toc-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 9h14V7H3zm0 4h14v-2H3zm0 4h14v-2H3zm16 0h2v-2h-2zm0-10v2h2V7zm0 6h2v-2h-2z"/></svg>')}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{color:var(--md-default-fg-color--light);display:block;font-weight:700;overflow:hidden;padding:0 .6rem;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{height:100%;width:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{fill:currentcolor;display:block;height:2.4rem;max-width:100%;object-fit:contain;width:auto}.md-nav__list{list-style:none;margin:0;padding:0}.md-nav__link{align-items:flex-start;display:flex;gap:.4rem;margin-top:.625em;scroll-snap-align:start;transition:color 125ms}.md-nav__link--passed,.md-nav__link--passed code{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active,.md-nav__item .md-nav__link--active code{color:var(--md-typeset-a-color)}.md-nav__link .md-ellipsis{position:relative}.md-nav__link .md-ellipsis code{word-break:normal}[dir=ltr] .md-nav__link .md-icon:last-child{margin-left:auto}[dir=rtl] .md-nav__link .md-icon:last-child{margin-right:auto}.md-nav__link .md-typeset{font-size:.7rem;line-height:1.3}.md-nav__link svg{fill:currentcolor;flex-shrink:0;height:1.3em;position:relative}.md-nav__link[for]:focus,.md-nav__link[for]:hover,.md-nav__link[href]:focus,.md-nav__link[href]:hover{color:var(--md-accent-fg-color);cursor:pointer}.md-nav__link[for]:focus code,.md-nav__link[for]:hover code,.md-nav__link[href]:focus code,.md-nav__link[href]:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-nav__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-nav--primary .md-nav__link[for=__toc]{display:none}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{background-color:currentcolor;display:block;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);width:100%}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__container>.md-nav__link{margin-top:0}.md-nav__container>.md-nav__link:first-child{flex-grow:1;min-width:0}.md-nav__icon{flex-shrink:0}.md-nav__source{display:none}@media screen and (max-width:76.234375em){.md-nav--primary,.md-nav--primary .md-nav{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);cursor:pointer;height:5.6rem;line-height:2.4rem;padding:3rem .8rem .2rem;position:relative;white-space:nowrap}[dir=ltr] .md-nav--primary .md-nav__title .md-nav__icon{left:.4rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem}.md-nav--primary .md-nav__title .md-nav__icon{display:block;height:1.2rem;margin:.2rem;position:absolute;top:.4rem;width:1.2rem}.md-nav--primary .md-nav__title .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--prev);mask-image:var(--md-nav-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.md-nav--primary .md-nav__title~.md-nav__list{background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;overflow-y:auto;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);font-weight:700}.md-nav--primary .md-nav__title .md-logo{display:block;left:.2rem;margin:.2rem;padding:.4rem;position:absolute;right:.2rem;top:.2rem}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link svg{margin-top:.1em}.md-nav--primary .md-nav__link>.md-nav__link{padding:0}[dir=ltr] .md-nav--primary .md-nav__link .md-nav__icon{margin-right:-.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{margin-left:-.2rem}.md-nav--primary .md-nav__link .md-nav__icon{font-size:1.2rem;height:1.2rem;width:1.2rem}.md-nav--primary .md-nav__link .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-nav--primary .md-nav__icon:after{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav{background-color:initial;position:static}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem}.md-nav--secondary{background-color:initial}.md-nav__toggle~.md-nav{display:flex;opacity:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{opacity:1;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{backface-visibility:hidden}}@media screen and (max-width:59.984375em){.md-nav--primary .md-nav__link[for=__toc]{display:flex}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.md-nav__source{background-color:var(--md-primary-fg-color--dark);color:var(--md-primary-bg-color);display:block;padding:0 .2rem}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-nav--integrated .md-nav__link[for=__toc]{display:flex}.md-nav--integrated .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width:60em){.md-nav{margin-bottom:-.4rem}.md-nav--secondary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--secondary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--secondary .md-nav__list{padding-right:.6rem}.md-nav--secondary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--secondary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--secondary .md-nav__item>.md-nav__link{margin-left:.4rem}}@media screen and (min-width:76.25em){.md-nav{margin-bottom:-.4rem;transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav--primary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--primary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--primary .md-nav__list{padding-right:.6rem}.md-nav--primary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--primary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--primary .md-nav__item>.md-nav__link{margin-left:.4rem}.md-nav__toggle~.md-nav{display:grid;grid-template-rows:minmax(.4rem,0fr);opacity:0;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .25s,visibility 0ms .25s;visibility:collapse}.md-nav__toggle~.md-nav>.md-nav__list{overflow:hidden}.md-nav__toggle.md-toggle--indeterminate~.md-nav,.md-nav__toggle:checked~.md-nav{grid-template-rows:minmax(.4rem,1fr);opacity:1;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .15s .1s,visibility 0ms;visibility:visible}.md-nav__toggle.md-toggle--indeterminate~.md-nav{transition:none}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--section{display:block;margin:1.25em 0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{font-weight:700}.md-nav__item--section>.md-nav__link[for]{color:var(--md-default-fg-color--light)}.md-nav__item--section>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav__item--section>.md-nav__link .md-icon,.md-nav__item--section>.md-nav__link>[for]{display:none}[dir=ltr] .md-nav__item--section>.md-nav{margin-left:-.6rem}[dir=rtl] .md-nav__item--section>.md-nav{margin-right:-.6rem}.md-nav__item--section>.md-nav{display:block;opacity:1;visibility:visible}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav__icon{border-radius:100%;height:.9rem;transition:background-color .25s;width:.9rem}.md-nav__icon:hover{background-color:var(--md-accent-fg-color--transparent)}.md-nav__icon:after{background-color:currentcolor;border-radius:100%;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:transform .25s;vertical-align:-.1rem;width:100%}[dir=rtl] .md-nav__icon:after{transform:rotate(180deg)}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon:after,.md-nav__item--nested .md-toggle--indeterminate~.md-nav__link .md-nav__icon:after{transform:rotate(90deg)}.md-nav--lifted>.md-nav__list>.md-nav__item,.md-nav--lifted>.md-nav__title{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);margin-top:0;position:sticky;top:0;z-index:1}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active.md-nav__item--section{margin:0}[dir=ltr] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav:not(.md-nav--secondary){margin-left:-.6rem}[dir=rtl] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav:not(.md-nav--secondary){margin-right:-.6rem}.md-nav--lifted>.md-nav__list>.md-nav__item>[for]{color:var(--md-default-fg-color--light)}.md-nav--lifted .md-nav[data-md-level="1"]{grid-template-rows:minmax(.4rem,1fr);opacity:1;visibility:visible}[dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-left:.05rem solid var(--md-primary-fg-color)}[dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-right:.05rem solid var(--md-primary-fg-color)}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{display:block;margin-bottom:1.25em;opacity:1;visibility:visible}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__list{overflow:visible;padding-bottom:0}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__title{display:none}}.md-pagination{font-size:.8rem;font-weight:700;gap:.4rem}.md-pagination,.md-pagination>*{align-items:center;display:flex;justify-content:center}.md-pagination>*{border-radius:.2rem;height:1.8rem;min-width:1.8rem;text-align:center}.md-pagination__current{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light)}.md-pagination__link{transition:color 125ms,background-color 125ms}.md-pagination__link:focus,.md-pagination__link:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-pagination__link:focus svg,.md-pagination__link:hover svg{color:var(--md-accent-fg-color)}.md-pagination__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-pagination__link svg{fill:currentcolor;color:var(--md-default-fg-color--lighter);display:block;max-height:100%;width:1.2rem}:root{--md-path-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6z"/></svg>')}.md-path{font-size:.7rem;margin:0 .8rem;overflow:auto;padding-top:1.2rem}.md-path:not([hidden]){display:block}@media screen and (min-width:76.25em){.md-path{margin:0 1.2rem}}.md-path__list{align-items:center;display:flex;gap:.2rem;list-style:none;margin:0;padding:0}.md-path__item:not(:first-child){display:inline-flex;gap:.2rem;white-space:nowrap}.md-path__item:not(:first-child):before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline;height:.8rem;-webkit-mask-image:var(--md-path-icon);mask-image:var(--md-path-icon);width:.8rem}.md-path__link{align-items:center;color:var(--md-default-fg-color--light);display:flex}.md-path__link:focus,.md-path__link:hover{color:var(--md-accent-fg-color)}:root{--md-post-pin-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 12V4h1V2H7v2h1v8l-2 2v2h5.2v6h1.6v-6H18v-2z"/></svg>')}.md-post__back{border-bottom:.05rem solid var(--md-default-fg-color--lightest);margin-bottom:1.2rem;padding-bottom:1.2rem}@media screen and (max-width:76.234375em){.md-post__back{display:none}}[dir=rtl] .md-post__back svg{transform:scaleX(-1)}.md-post__authors{display:flex;flex-direction:column;gap:.6rem;margin:0 .6rem 1.2rem}.md-post .md-post__meta a{transition:color 125ms}.md-post .md-post__meta a:focus,.md-post .md-post__meta a:hover{color:var(--md-accent-fg-color)}.md-post__title{color:var(--md-default-fg-color--light);font-weight:700}.md-post--excerpt{margin-bottom:3.2rem}.md-post--excerpt .md-post__header{align-items:center;display:flex;gap:.6rem;min-height:1.6rem}.md-post--excerpt .md-post__authors{align-items:center;display:inline-flex;flex-direction:row;gap:.2rem;margin:0;min-height:2.4rem}[dir=ltr] .md-post--excerpt .md-post__meta .md-meta__list{margin-right:.4rem}[dir=rtl] .md-post--excerpt .md-post__meta .md-meta__list{margin-left:.4rem}.md-post--excerpt .md-post__content>:first-child{--md-scroll-margin:6rem;margin-top:0}.md-post>.md-nav--secondary{margin:1em 0}.md-pin{background:var(--md-default-fg-color--lightest);border-radius:1rem;margin-top:-.05rem;padding:.2rem}.md-pin:after{background-color:currentcolor;content:"";display:block;height:.6rem;margin:0 auto;-webkit-mask-image:var(--md-post-pin-icon);mask-image:var(--md-post-pin-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.6rem}.md-profile{align-items:center;display:flex;font-size:.7rem;gap:.6rem;line-height:1.4;width:100%}.md-profile__description{flex-grow:1}.md-content--post{display:flex}@media screen and (max-width:76.234375em){.md-content--post{flex-flow:column-reverse}}.md-content--post>.md-content__inner{flex-grow:1;min-width:0}@media screen and (min-width:76.25em){[dir=ltr] .md-content--post>.md-content__inner{margin-left:1.2rem}[dir=rtl] .md-content--post>.md-content__inner{margin-right:1.2rem}}@media screen and (max-width:76.234375em){.md-sidebar.md-sidebar--post{padding:0;position:static;width:100%}.md-sidebar.md-sidebar--post .md-sidebar__scrollwrap{overflow:visible}.md-sidebar.md-sidebar--post .md-sidebar__inner{padding:0}.md-sidebar.md-sidebar--post .md-post__meta{margin-left:.6rem;margin-right:.6rem}.md-sidebar.md-sidebar--post .md-nav__item{border:none;display:inline}.md-sidebar.md-sidebar--post .md-nav__list{display:inline-flex;flex-wrap:wrap;gap:.6rem;padding-bottom:.6rem;padding-top:.6rem}.md-sidebar.md-sidebar--post .md-nav__link{padding:0}.md-sidebar.md-sidebar--post .md-nav{height:auto;margin-bottom:0;position:static}}:root{--md-progress-value:0;--md-progress-delay:400ms}.md-progress{background:var(--md-primary-bg-color);height:.075rem;opacity:min(clamp(0,var(--md-progress-value),1),clamp(0,100 - var(--md-progress-value),1));position:fixed;top:0;transform:scaleX(calc(var(--md-progress-value)*1%));transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1),opacity .25s var(--md-progress-delay);width:100%;z-index:4}:root{--md-search-result-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h7c-.41-.25-.8-.56-1.14-.9-.33-.33-.61-.7-.86-1.1H6V4h7v5h5v1.18c.71.16 1.39.43 2 .82V8zm6.31 16.9c1.33-2.11.69-4.9-1.4-6.22-2.11-1.33-4.91-.68-6.22 1.4-1.34 2.11-.69 4.89 1.4 6.22 1.46.93 3.32.93 4.79.02L22 23.39 23.39 22zm-3.81.1a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5"/></svg>')}.md-search{position:relative}@media screen and (min-width:60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__overlay{left:-2.2rem}[dir=rtl] .md-search__overlay{right:-2.2rem}.md-search__overlay{background-color:var(--md-default-bg-color);border-radius:1rem;height:2rem;overflow:hidden;pointer-events:none;position:absolute;top:-1rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;width:2rem}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){[dir=ltr] .md-search__overlay{left:0}[dir=rtl] .md-search__overlay{right:0}.md-search__overlay{background-color:#0000008a;cursor:pointer;height:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0}[data-md-toggle=search]:checked~.md-header .md-search__overlay{height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@media screen and (max-width:29.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{backface-visibility:hidden}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__inner{left:0}[dir=rtl] .md-search__inner{right:0}.md-search__inner{height:0;opacity:0;overflow:hidden;position:fixed;top:0;transform:translateX(5%);transition:width 0ms .3s,height 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;width:0;z-index:2}[dir=rtl] .md-search__inner{transform:translateX(-5%)}[data-md-toggle=search]:checked~.md-header .md-search__inner{height:100%;opacity:1;transform:translateX(0);transition:width 0ms 0ms,height 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__inner{float:right}[dir=rtl] .md-search__inner{float:left}.md-search__inner{padding:.1rem 0;position:relative;transition:width .25s cubic-bezier(.1,.7,.1,1);width:11.7rem}}@media screen and (min-width:60em) and (max-width:76.234375em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem #0000;height:2.4rem;position:relative;transition:color .25s,background-color .25s;z-index:2}@media screen and (min-width:60em){.md-search__form{background-color:#00000042;border-radius:.1rem;height:1.8rem}.md-search__form:hover{background-color:#ffffff1f}}[data-md-toggle=search]:checked~.md-header .md-search__form{background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0;box-shadow:0 0 .6rem #00000012;color:var(--md-default-fg-color)}[dir=ltr] .md-search__input{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__input{padding-left:2.2rem;padding-right:3.6rem}.md-search__input{background:#0000;font-size:.9rem;height:100%;position:relative;text-overflow:ellipsis;width:100%;z-index:2}.md-search__input::placeholder{transition:color .25s}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width:59.984375em){.md-search__input{font-size:.9rem;height:2.4rem;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__input{padding-left:2.2rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input{color:inherit;font-size:.8rem}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}[data-md-toggle=search]:checked~.md-header .md-search__input{text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:#0000}}.md-search__icon{cursor:pointer;display:inline-block;height:1.2rem;transition:color .25s,opacity .25s;width:1.2rem}.md-search__icon:hover{opacity:.7}[dir=ltr] .md-search__icon[for=__search]{left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem}.md-search__icon[for=__search]{position:absolute;top:.3rem;z-index:2}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__icon[for=__search]{left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem}.md-search__icon[for=__search]{top:.6rem}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}[dir=ltr] .md-search__options{right:.5rem}[dir=rtl] .md-search__options{left:.5rem}.md-search__options{pointer-events:none;position:absolute;top:.3rem;z-index:2}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__options{right:.8rem}[dir=rtl] .md-search__options{left:.8rem}.md-search__options{top:.6rem}}[dir=ltr] .md-search__options>.md-icon{margin-left:.2rem}[dir=rtl] .md-search__options>.md-icon{margin-right:.2rem}.md-search__options>.md-icon{color:var(--md-default-fg-color--light);opacity:0;transform:scale(.75);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-search__options>.md-icon:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon{opacity:1;pointer-events:auto;transform:scale(1)}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon:hover{opacity:.7}[dir=ltr] .md-search__suggest{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__suggest{padding-left:2.2rem;padding-right:3.6rem}.md-search__suggest{align-items:center;color:var(--md-default-fg-color--lighter);display:flex;font-size:.9rem;height:100%;opacity:0;position:absolute;top:0;transition:opacity 50ms;white-space:nowrap;width:100%}@media screen and (min-width:60em){[dir=ltr] .md-search__suggest{padding-left:2.2rem}[dir=rtl] .md-search__suggest{padding-right:2.2rem}.md-search__suggest{font-size:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__suggest{opacity:1;transition:opacity .3s .1s}[dir=ltr] .md-search__output{border-bottom-left-radius:.1rem}[dir=ltr] .md-search__output,[dir=rtl] .md-search__output{border-bottom-right-radius:.1rem}[dir=rtl] .md-search__output{border-bottom-left-radius:.1rem}.md-search__output{overflow:hidden;position:absolute;width:100%;z-index:1}@media screen and (max-width:59.984375em){.md-search__output{bottom:0;top:2.4rem}}@media screen and (min-width:60em){.md-search__output{opacity:0;top:1.9rem;transition:opacity .4s}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:var(--md-shadow-z3);opacity:1}}.md-search__scrollwrap{backface-visibility:hidden;background-color:var(--md-default-bg-color);height:100%;overflow-y:auto;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1),(max-resolution:1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.md-search__scrollwrap{max-height:0;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-search__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;padding:0 .8rem;scroll-snap-align:start}@media screen and (min-width:60em){[dir=ltr] .md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem}}.md-search-result__list{list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.md-search-result__item{box-shadow:0 -.05rem var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;scroll-snap-align:start;transition:background-color .25s}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more>summary{cursor:pointer;display:block;outline:none;position:sticky;scroll-snap-align:start;top:0;z-index:1}.md-search-result__more>summary::marker{display:none}.md-search-result__more>summary::-webkit-details-marker{display:none}.md-search-result__more>summary>div{color:var(--md-typeset-a-color);font-size:.64rem;padding:.75em .8rem;transition:color .25s,background-color .25s}@media screen and (min-width:60em){[dir=ltr] .md-search-result__more>summary>div{padding-left:2.2rem}[dir=rtl] .md-search-result__more>summary>div{padding-right:2.2rem}}.md-search-result__more>summary:focus>div,.md-search-result__more>summary:hover>div{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-search-result__more[open]>summary{background-color:var(--md-default-bg-color)}.md-search-result__article{overflow:hidden;padding:0 .8rem;position:relative}@media screen and (min-width:60em){[dir=ltr] .md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem}}[dir=ltr] .md-search-result__icon{left:0}[dir=rtl] .md-search-result__icon{right:0}.md-search-result__icon{color:var(--md-default-fg-color--light);height:1.2rem;margin:.5rem;position:absolute;width:1.2rem}@media screen and (max-width:59.984375em){.md-search-result__icon{display:none}}.md-search-result__icon:after{background-color:currentcolor;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.md-search-result .md-typeset{color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6}.md-search-result .md-typeset h1{color:var(--md-default-fg-color);font-size:.8rem;font-weight:400;line-height:1.4;margin:.55rem 0}.md-search-result .md-typeset h1 mark{text-decoration:none}.md-search-result .md-typeset h2{color:var(--md-default-fg-color);font-size:.64rem;font-weight:700;line-height:1.6;margin:.5em 0}.md-search-result .md-typeset h2 mark{text-decoration:none}.md-search-result__terms{color:var(--md-default-fg-color);display:block;font-size:.64rem;font-style:italic;margin:.5em 0}.md-search-result mark{background-color:initial;color:var(--md-accent-fg-color);text-decoration:underline}.md-select{position:relative;z-index:1}.md-select__inner{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);left:50%;margin-top:.2rem;max-height:0;opacity:0;position:absolute;top:calc(100% - .2rem);transform:translate3d(-50%,.3rem,0);transition:transform .25s 375ms,opacity .25s .25s,max-height 0ms .5s}.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{max-height:10rem;opacity:1;transform:translate3d(-50%,0,0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height 0ms}.md-select__inner:after{border-bottom:.2rem solid #0000;border-bottom-color:var(--md-default-bg-color);border-left:.2rem solid #0000;border-right:.2rem solid #0000;border-top:0;content:"";height:0;left:50%;margin-left:-.2rem;margin-top:-.2rem;position:absolute;top:0;width:0}.md-select__list{border-radius:.1rem;font-size:.8rem;list-style-type:none;margin:0;max-height:inherit;overflow:auto;padding:0}.md-select__item{line-height:1.8rem}[dir=ltr] .md-select__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-select__link{padding-left:1.2rem;padding-right:.6rem}.md-select__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:background-color .25s,color .25s;width:100%}.md-select__link:focus,.md-select__link:hover{color:var(--md-accent-fg-color)}.md-select__link:focus{background-color:var(--md-default-fg-color--lightest)}.md-sidebar{align-self:flex-start;flex-shrink:0;padding:1.2rem 0;position:sticky;top:2.4rem;width:12.1rem}@media print{.md-sidebar{display:none}}@media screen and (max-width:76.234375em){[dir=ltr] .md-sidebar--primary{left:-12.1rem}[dir=rtl] .md-sidebar--primary{right:-12.1rem}.md-sidebar--primary{background-color:var(--md-default-bg-color);display:block;height:100%;position:fixed;top:0;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;width:12.1rem;z-index:5}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:var(--md-shadow-z3);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;overflow:hidden;position:absolute;right:0;scroll-snap-type:none;top:0}}@media screen and (min-width:76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}.md-header--lifted~.md-container .md-sidebar{top:4.8rem}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width:60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{backface-visibility:hidden;margin:0 .2rem;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000}@media screen and (min-width:60em){.md-sidebar__scrollwrap{scrollbar-gutter:stable;scrollbar-width:thin}}.md-sidebar__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-sidebar__scrollwrap:focus-within,.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@supports selector(::-webkit-scrollbar){.md-sidebar__scrollwrap{scrollbar-gutter:auto}[dir=ltr] .md-sidebar__inner{padding-right:calc(100% - 11.5rem)}[dir=rtl] .md-sidebar__inner{padding-left:calc(100% - 11.5rem)}}@media screen and (max-width:76.234375em){.md-overlay{background-color:#0000008a;height:0;opacity:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0;z-index:5}[data-md-toggle=drawer]:checked~.md-overlay{height:100%;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@keyframes facts{0%{height:0}to{height:.65rem}}@keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}:root{--md-source-forks-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0M5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0m6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5m-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0"/></svg>');--md-source-repositories-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.5 2.5 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.5 2.5 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.25.25 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"/></svg>');--md-source-stars-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25m0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41z"/></svg>');--md-source-version-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775m1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2"/></svg>')}.md-source{backface-visibility:hidden;display:block;font-size:.65rem;line-height:1.2;outline-color:var(--md-accent-fg-color);transition:opacity .25s;white-space:nowrap}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;height:2.4rem;vertical-align:middle;width:2rem}[dir=ltr] .md-source__icon svg{margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem}.md-source__icon svg{margin-top:.6rem}[dir=ltr] .md-source__icon+.md-source__repository{padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{padding-right:2rem}[dir=ltr] .md-source__icon+.md-source__repository{margin-left:-2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem}[dir=ltr] .md-source__repository{margin-left:.6rem}[dir=rtl] .md-source__repository{margin-right:.6rem}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{display:flex;font-size:.55rem;gap:.4rem;list-style-type:none;margin:.1rem 0 0;opacity:.75;overflow:hidden;padding:0;width:100%}.md-source__repository--active .md-source__facts{animation:facts .25s ease-in}.md-source__fact{overflow:hidden;text-overflow:ellipsis}.md-source__repository--active .md-source__fact{animation:fact .4s ease-out}[dir=ltr] .md-source__fact:before{margin-right:.1rem}[dir=rtl] .md-source__fact:before{margin-left:.1rem}.md-source__fact:before{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-top;width:.6rem}.md-source__fact:nth-child(1n+2){flex-shrink:0}.md-source__fact--version:before{-webkit-mask-image:var(--md-source-version-icon);mask-image:var(--md-source-version-icon)}.md-source__fact--stars:before{-webkit-mask-image:var(--md-source-stars-icon);mask-image:var(--md-source-stars-icon)}.md-source__fact--forks:before{-webkit-mask-image:var(--md-source-forks-icon);mask-image:var(--md-source-forks-icon)}.md-source__fact--repositories:before{-webkit-mask-image:var(--md-source-repositories-icon);mask-image:var(--md-source-repositories-icon)}.md-source-file{margin:1em 0}[dir=ltr] .md-source-file__fact{margin-right:.6rem}[dir=rtl] .md-source-file__fact{margin-left:.6rem}.md-source-file__fact{align-items:center;color:var(--md-default-fg-color--light);display:inline-flex;font-size:.68rem;gap:.3rem}.md-source-file__fact .md-icon{flex-shrink:0;margin-bottom:.05rem}[dir=ltr] .md-source-file__fact .md-author{float:left}[dir=rtl] .md-source-file__fact .md-author{float:right}.md-source-file__fact .md-author{margin-right:.2rem}.md-source-file__fact svg{width:.9rem}:root{--md-status:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 9h2V7h-2m1 13c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m-1 15h2v-6h-2z"/></svg>');--md-status--new:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-10 5h-2v-2h2zm0-4h-2V7h2z"/></svg>');--md-status--deprecated:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 3v1H4v2h1v13a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6h1V4h-5V3zm0 5h2v9H9zm4 0h2v9h-2z"/></svg>');--md-status--encrypted:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5zm0 6c1.4 0 2.8 1.1 2.8 2.5V11c.6 0 1.2.6 1.2 1.3v3.5c0 .6-.6 1.2-1.3 1.2H9.2c-.6 0-1.2-.6-1.2-1.3v-3.5c0-.6.6-1.2 1.2-1.2V9.5C9.2 8.1 10.6 7 12 7m0 1.2c-.8 0-1.5.5-1.5 1.3V11h3V9.5c0-.8-.7-1.3-1.5-1.3"/></svg>')}.md-status:after{background-color:var(--md-default-fg-color--light);content:"";display:inline-block;height:1.125em;-webkit-mask-image:var(--md-status);mask-image:var(--md-status);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-bottom;width:1.125em}.md-status:hover:after{background-color:currentcolor}.md-status--new:after{-webkit-mask-image:var(--md-status--new);mask-image:var(--md-status--new)}.md-status--deprecated:after{-webkit-mask-image:var(--md-status--deprecated);mask-image:var(--md-status--deprecated)}.md-status--encrypted:after{-webkit-mask-image:var(--md-status--encrypted);mask-image:var(--md-status--encrypted)}.md-tabs{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);display:block;line-height:1.3;overflow:auto;width:100%;z-index:3}@media print{.md-tabs{display:none}}@media screen and (max-width:76.234375em){.md-tabs{display:none}}.md-tabs[hidden]{pointer-events:none}[dir=ltr] .md-tabs__list{margin-left:.2rem}[dir=rtl] .md-tabs__list{margin-right:.2rem}.md-tabs__list{contain:content;display:flex;list-style:none;margin:0;overflow:auto;padding:0;scrollbar-width:none;white-space:nowrap}.md-tabs__list::-webkit-scrollbar{display:none}.md-tabs__item{height:2.4rem;padding-left:.6rem;padding-right:.6rem}.md-tabs__item--active .md-tabs__link{color:inherit;opacity:1}.md-tabs__link{backface-visibility:hidden;display:flex;font-size:.7rem;margin-top:.8rem;opacity:.7;outline-color:var(--md-accent-fg-color);outline-offset:.2rem;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}[dir=ltr] .md-tabs__link svg{margin-right:.4rem}[dir=rtl] .md-tabs__link svg{margin-left:.4rem}.md-tabs__link svg{fill:currentcolor;height:1.3em}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.md-tabs[hidden] .md-tabs__link{opacity:0;transform:translateY(50%);transition:transform 0ms .1s,opacity .1s}:root{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m5.41 21 .71-4h-4l.35-2h4l1.06-6h-4l.35-2h4l.71-4h2l-.71 4h6l.71-4h2l-.71 4h4l-.35 2h-4l-1.06 6h4l-.35 2h-4l-.71 4h-2l.71-4h-6l-.71 4zM9.53 9l-1.06 6h6l1.06-6z"/></svg>')}.md-typeset .md-tags:not([hidden]){display:inline-flex;flex-wrap:wrap;gap:.5em;margin-bottom:.75em;margin-top:-.125em}.md-typeset .md-tag{align-items:center;background:var(--md-default-fg-color--lightest);border-radius:2.4rem;display:inline-flex;font-size:.64rem;font-size:min(.8em,.64rem);font-weight:700;gap:.5em;letter-spacing:normal;line-height:1.6;padding:.3125em .78125em}.md-typeset .md-tag[href]{-webkit-tap-highlight-color:transparent;color:inherit;outline:none;transition:color 125ms,background-color 125ms}.md-typeset .md-tag[href]:focus,.md-typeset .md-tag[href]:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[id]>.md-typeset .md-tag{vertical-align:text-top}.md-typeset .md-tag-shadow{opacity:.5}.md-typeset .md-tag-icon:before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-tag-icon);mask-image:var(--md-tag-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset .md-tag-icon[href]:focus:before,.md-typeset .md-tag-icon[href]:hover:before{background-color:var(--md-accent-bg-color)}@keyframes pulse{0%{transform:scale(.95)}75%{transform:scale(1)}to{transform:scale(.95)}}:root{--md-annotation-bg-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg>');--md-annotation-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 13h-4v4h-2v-4H7v-2h4V7h2v4h4m-5-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg>')}.md-tooltip{backface-visibility:hidden;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);font-family:var(--md-text-font-family);left:clamp(var(--md-tooltip-0,0rem) + .8rem,var(--md-tooltip-x),100vw + var(--md-tooltip-0,0rem) + .8rem - var(--md-tooltip-width) - 2 * .8rem);max-width:calc(100vw - 1.6rem);opacity:0;position:absolute;top:var(--md-tooltip-y);transform:translateY(-.4rem);transition:transform 0ms .25s,opacity .25s,z-index .25s;width:var(--md-tooltip-width);z-index:0}.md-tooltip--active{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip--inline{font-weight:700;-webkit-user-select:none;user-select:none;width:auto}.md-tooltip--inline:not(.md-tooltip--active){transform:translateY(.2rem) scale(.9)}.md-tooltip--inline .md-tooltip__inner{font-size:.5rem;padding:.2rem .4rem}[hidden]+.md-tooltip--inline{display:none}.focus-visible>.md-tooltip,.md-tooltip:target{outline:var(--md-accent-fg-color) auto}.md-tooltip__inner{font-size:.64rem;padding:.8rem}.md-tooltip__inner.md-typeset>:first-child{margin-top:0}.md-tooltip__inner.md-typeset>:last-child{margin-bottom:0}.md-annotation{font-style:normal;font-weight:400;outline:none;text-align:initial;vertical-align:text-bottom;white-space:normal}[dir=rtl] .md-annotation{direction:rtl}code .md-annotation{font-family:var(--md-code-font-family);font-size:inherit}.md-annotation:not([hidden]){display:inline-block;line-height:1.25}.md-annotation__index{border-radius:.01px;cursor:pointer;display:inline-block;margin-left:.4ch;margin-right:.4ch;outline:none;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;vertical-align:text-top;z-index:0}.md-annotation .md-annotation__index{transition:z-index .25s}@media screen{.md-annotation__index{width:2.2ch}[data-md-visible]>.md-annotation__index{animation:pulse 2s infinite}.md-annotation__index:before{background:var(--md-default-bg-color);-webkit-mask-image:var(--md-annotation-bg-icon);mask-image:var(--md-annotation-bg-icon)}.md-annotation__index:after,.md-annotation__index:before{content:"";height:2.2ch;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:-.1ch;width:2.2ch;z-index:-1}.md-annotation__index:after{background-color:var(--md-default-fg-color--lighter);-webkit-mask-image:var(--md-annotation-icon);mask-image:var(--md-annotation-icon);transform:scale(1.0001);transition:background-color .25s,transform .25s}.md-tooltip--active+.md-annotation__index:after{transform:rotate(45deg)}.md-tooltip--active+.md-annotation__index:after,:hover>.md-annotation__index:after{background-color:var(--md-accent-fg-color)}}.md-tooltip--active+.md-annotation__index{animation-play-state:paused;transition-duration:0ms;z-index:2}.md-annotation__index [data-md-annotation-id]{display:inline-block}@media print{.md-annotation__index [data-md-annotation-id]{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);font-weight:700;padding:0 .6ch;white-space:nowrap}.md-annotation__index [data-md-annotation-id]:after{content:attr(data-md-annotation-id)}}.md-typeset .md-annotation-list{counter-reset:annotation;list-style:none!important}.md-typeset .md-annotation-list li{position:relative}[dir=ltr] .md-typeset .md-annotation-list li:before{left:-2.125em}[dir=rtl] .md-typeset .md-annotation-list li:before{right:-2.125em}.md-typeset .md-annotation-list li:before{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);content:counter(annotation);counter-increment:annotation;font-size:.8875em;font-weight:700;height:2ch;line-height:1.25;min-width:2ch;padding:0 .6ch;position:absolute;text-align:center;top:.25em}:root{--md-tooltip-width:20rem;--md-tooltip-tail:0.3rem}.md-tooltip2{backface-visibility:hidden;color:var(--md-default-fg-color);font-family:var(--md-text-font-family);opacity:0;pointer-events:none;position:absolute;top:calc(var(--md-tooltip-host-y) + var(--md-tooltip-y));transform:translateY(-.4rem);transform-origin:calc(var(--md-tooltip-host-x) + var(--md-tooltip-x)) 0;transition:transform 0ms .25s,opacity .25s,z-index .25s;width:100%;z-index:0}.md-tooltip2:before{border-left:var(--md-tooltip-tail) solid #0000;border-right:var(--md-tooltip-tail) solid #0000;content:"";display:block;left:clamp(1.5 * .8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-tail),100vw - 2 * var(--md-tooltip-tail) - 1.5 * .8rem);position:absolute;z-index:1}.md-tooltip2--top:before{border-top:var(--md-tooltip-tail) solid var(--md-default-bg-color);bottom:calc(var(--md-tooltip-tail)*-1 + .025rem);filter:drop-shadow(0 1px 0 hsla(0,0%,0%,.05))}.md-tooltip2--bottom:before{border-bottom:var(--md-tooltip-tail) solid var(--md-default-bg-color);filter:drop-shadow(0 -1px 0 hsla(0,0%,0%,.05));top:calc(var(--md-tooltip-tail)*-1 + .025rem)}.md-tooltip2--active{opacity:1;transform:translateY(0);transition:transform .4s cubic-bezier(0,1,.5,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip2__inner{scrollbar-gutter:stable;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);left:clamp(.8rem,var(--md-tooltip-host-x) - .8rem,100vw - var(--md-tooltip-width) - .8rem);max-height:40vh;max-width:calc(100vw - 1.6rem);position:relative;scrollbar-width:thin}.md-tooltip2__inner::-webkit-scrollbar{height:.2rem;width:.2rem}.md-tooltip2__inner::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-tooltip2__inner::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}[role=dialog]>.md-tooltip2__inner{font-size:.64rem;overflow:auto;padding:0 .8rem;pointer-events:auto;width:var(--md-tooltip-width)}[role=dialog]>.md-tooltip2__inner:after,[role=dialog]>.md-tooltip2__inner:before{content:"";display:block;height:.8rem;position:sticky;width:100%;z-index:10}[role=dialog]>.md-tooltip2__inner:before{background:linear-gradient(var(--md-default-bg-color),#0000 75%);top:0}[role=dialog]>.md-tooltip2__inner:after{background:linear-gradient(#0000,var(--md-default-bg-color) 75%);bottom:0}[role=tooltip]>.md-tooltip2__inner{font-size:.5rem;font-weight:700;left:clamp(.8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-width)/2,100vw - var(--md-tooltip-width) - .8rem);max-width:min(100vw - 2 * .8rem,400px);padding:.2rem .4rem;-webkit-user-select:none;user-select:none;width:fit-content}.md-tooltip2__inner.md-typeset>:first-child{margin-top:0}.md-tooltip2__inner.md-typeset>:last-child{margin-bottom:0}[dir=ltr] .md-top{margin-left:50%}[dir=rtl] .md-top{margin-right:50%}.md-top{background-color:var(--md-default-bg-color);border-radius:1.6rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color--light);cursor:pointer;display:block;font-size:.7rem;outline:none;padding:.4rem .8rem;position:fixed;top:3.2rem;transform:translate(-50%);transition:color 125ms,background-color 125ms,transform 125ms cubic-bezier(.4,0,.2,1),opacity 125ms;z-index:2}@media print{.md-top{display:none}}[dir=rtl] .md-top{transform:translate(50%)}.md-top[hidden]{opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition-duration:0ms}[dir=rtl] .md-top[hidden]{transform:translate(50%,.2rem)}.md-top:focus,.md-top:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.md-top svg{display:inline-block;vertical-align:-.5em}@keyframes hoverfix{0%{pointer-events:none}}:root{--md-version-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M140.3 376.8c12.6 10.2 31.1 9.5 42.8-2.2l128-128c9.2-9.2 11.9-22.9 6.9-34.9S301.4 192 288.5 192h-256c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 7 34.8l128 128z"/></svg>')}.md-version{flex-shrink:0;font-size:.8rem;height:2.4rem}[dir=ltr] .md-version__current{margin-left:1.4rem;margin-right:.4rem}[dir=rtl] .md-version__current{margin-left:.4rem;margin-right:1.4rem}.md-version__current{color:inherit;cursor:pointer;outline:none;position:relative;top:.05rem}[dir=ltr] .md-version__current:after{margin-left:.4rem}[dir=rtl] .md-version__current:after{margin-right:.4rem}.md-version__current:after{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-image:var(--md-version-icon);mask-image:var(--md-version-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.4rem}.md-version__alias{margin-left:.3rem;opacity:.7}.md-version__list{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);list-style-type:none;margin:.2rem .8rem;max-height:0;opacity:0;overflow:auto;padding:0;position:absolute;scroll-snap-type:y mandatory;top:.15rem;transition:max-height 0ms .5s,opacity .25s .25s;z-index:3}.md-version:focus-within .md-version__list,.md-version:hover .md-version__list{max-height:10rem;opacity:1;transition:max-height 0ms,opacity .25s}@media (hover:none),(pointer:coarse){.md-version:hover .md-version__list{animation:hoverfix .25s forwards}.md-version:focus-within .md-version__list{animation:none}}.md-version__item{line-height:1.8rem}[dir=ltr] .md-version__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-version__link{padding-left:1.2rem;padding-right:.6rem}.md-version__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:color .25s,background-color .25s;white-space:nowrap;width:100%}.md-version__link:focus,.md-version__link:hover{color:var(--md-accent-fg-color)}.md-version__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m3.1 5.07c.14 0 .28.05.4.16l1.27 1.27c.23.22.23.57 0 .78l-1 1-2.05-2.05 1-1c.1-.11.24-.16.38-.16m-1.97 1.74 2.06 2.06-6.06 6.06H7.07v-2.06z"/></svg>');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 9H7V7h10m0 6H7v-2h10m-3 6H7v-2h7M12 3a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m7 0h-4.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2"/></svg>');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg>');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.66 11.2c-.23-.3-.51-.56-.77-.82-.67-.6-1.43-1.03-2.07-1.66C13.33 7.26 13 4.85 13.95 3c-.95.23-1.78.75-2.49 1.32-2.59 2.08-3.61 5.75-2.39 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.23.1-.47.04-.66-.12a.6.6 0 0 1-.14-.17c-1.13-1.43-1.31-3.48-.55-5.12C5.78 10 4.87 12.3 5 14.47c.06.5.12 1 .29 1.5.14.6.41 1.2.71 1.73 1.08 1.73 2.95 2.97 4.96 3.22 2.14.27 4.43-.12 6.07-1.6 1.83-1.66 2.47-4.32 1.53-6.6l-.13-.26c-.21-.46-.77-1.26-.77-1.26m-3.16 6.3c-.28.24-.74.5-1.1.6-1.12.4-2.24-.16-2.9-.82 1.19-.28 1.9-1.16 2.11-2.05.17-.8-.15-1.46-.28-2.23-.12-.74-.1-1.37.17-2.06.19.38.39.76.63 1.06.77 1 1.98 1.44 2.24 2.8.04.14.06.28.06.43.03.82-.33 1.72-.93 2.27"/></svg>');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 7 9 19l-5.5-5.5 1.41-1.41L9 16.17 19.59 5.59z"/></svg>');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m15.07 11.25-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 0 0-2-2 2 2 0 0 0-2 2H8a4 4 0 0 1 4-4 4 4 0 0 1 4 4 3.2 3.2 0 0 1-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10c0-5.53-4.5-10-10-10"/></svg>');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2V9h2m0 9h-2v-2h2M1 21h22L12 2z"/></svg>');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m11.5 20 4.86-9.73H13V4l-5 9.73h3.5zM12 2c2.75 0 5.1 1 7.05 2.95S22 9.25 22 12s-1 5.1-2.95 7.05S14.75 22 12 22s-5.1-1-7.05-2.95S2 14.75 2 12s1-5.1 2.95-7.05S9.25 2 12 2"/></svg>');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 13h2v1h-2zm10-8v6c0 5.5-3.8 10.7-9 12-5.2-1.3-9-6.5-9-12V5l9-4zm-4 5h-2.2c-.2-.6-.6-1.1-1.1-1.5l1.2-1.2-.7-.7L12.8 8H12c-.2 0-.5 0-.7.1L9.9 6.6l-.8.8 1.2 1.2c-.5.3-.9.8-1.1 1.4H7v1h2v1H7v1h2v1H7v1h2.2c.4 1.2 1.5 2 2.8 2s2.4-.8 2.8-2H17v-1h-2v-1h2v-1h-2v-1h2zm-6 2h2v-1h-2z"/></svg>');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 2v2h1v14a4 4 0 0 0 4 4 4 4 0 0 0 4-4V4h1V2zm4 14c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.4 1-1 1m2-4c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.4 1-1 1m1-5h-4V4h4z"/></svg>');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3z"/></svg>')}.md-typeset .admonition,.md-typeset details{background-color:var(--md-admonition-bg-color);border:.075rem solid #448aff;border-radius:.2rem;box-shadow:var(--md-shadow-z1);color:var(--md-admonition-fg-color);display:flow-root;font-size:.64rem;margin:1.5625em 0;padding:0 .6rem;page-break-inside:avoid;transition:box-shadow 125ms}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}.md-typeset .admonition:focus-within,.md-typeset details:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .admonition>*,.md-typeset details>*{box-sizing:border-box}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin-bottom:1em;margin-top:1em}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{padding-left:2rem;padding-right:.6rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding-left:.6rem;padding-right:2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-left-width:.2rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-right-width:.2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset .admonition-title,.md-typeset summary{background-color:#448aff1a;border:none;font-weight:700;margin:0 -.6rem;padding-bottom:.4rem;padding-top:.4rem;position:relative}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}[dir=ltr] .md-typeset .admonition-title:before,[dir=ltr] .md-typeset summary:before{left:.6rem}[dir=rtl] .md-typeset .admonition-title:before,[dir=rtl] .md-typeset summary:before{right:.6rem}.md-typeset .admonition-title:before,.md-typeset summary:before{background-color:#448aff;content:"";height:1rem;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;width:1rem}.md-typeset .admonition-title code,.md-typeset summary code{box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest)}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .admonition.note:focus-within,.md-typeset details.note:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:#448aff1a}.md-typeset .note>.admonition-title:before,.md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .note>.admonition-title:after,.md-typeset .note>summary:after{color:#448aff}.md-typeset .admonition.abstract,.md-typeset details.abstract{border-color:#00b0ff}.md-typeset .admonition.abstract:focus-within,.md-typeset details.abstract:focus-within{box-shadow:0 0 0 .2rem #00b0ff1a}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary{background-color:#00b0ff1a}.md-typeset .abstract>.admonition-title:before,.md-typeset .abstract>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .abstract>.admonition-title:after,.md-typeset .abstract>summary:after{color:#00b0ff}.md-typeset .admonition.info,.md-typeset details.info{border-color:#00b8d4}.md-typeset .admonition.info:focus-within,.md-typeset details.info:focus-within{box-shadow:0 0 0 .2rem #00b8d41a}.md-typeset .info>.admonition-title,.md-typeset .info>summary{background-color:#00b8d41a}.md-typeset .info>.admonition-title:before,.md-typeset .info>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .info>.admonition-title:after,.md-typeset .info>summary:after{color:#00b8d4}.md-typeset .admonition.tip,.md-typeset details.tip{border-color:#00bfa5}.md-typeset .admonition.tip:focus-within,.md-typeset details.tip:focus-within{box-shadow:0 0 0 .2rem #00bfa51a}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background-color:#00bfa51a}.md-typeset .tip>.admonition-title:before,.md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .tip>.admonition-title:after,.md-typeset .tip>summary:after{color:#00bfa5}.md-typeset .admonition.success,.md-typeset details.success{border-color:#00c853}.md-typeset .admonition.success:focus-within,.md-typeset details.success:focus-within{box-shadow:0 0 0 .2rem #00c8531a}.md-typeset .success>.admonition-title,.md-typeset .success>summary{background-color:#00c8531a}.md-typeset .success>.admonition-title:before,.md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .success>.admonition-title:after,.md-typeset .success>summary:after{color:#00c853}.md-typeset .admonition.question,.md-typeset details.question{border-color:#64dd17}.md-typeset .admonition.question:focus-within,.md-typeset details.question:focus-within{box-shadow:0 0 0 .2rem #64dd171a}.md-typeset .question>.admonition-title,.md-typeset .question>summary{background-color:#64dd171a}.md-typeset .question>.admonition-title:before,.md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .question>.admonition-title:after,.md-typeset .question>summary:after{color:#64dd17}.md-typeset .admonition.warning,.md-typeset details.warning{border-color:#ff9100}.md-typeset .admonition.warning:focus-within,.md-typeset details.warning:focus-within{box-shadow:0 0 0 .2rem #ff91001a}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background-color:#ff91001a}.md-typeset .warning>.admonition-title:before,.md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .warning>.admonition-title:after,.md-typeset .warning>summary:after{color:#ff9100}.md-typeset .admonition.failure,.md-typeset details.failure{border-color:#ff5252}.md-typeset .admonition.failure:focus-within,.md-typeset details.failure:focus-within{box-shadow:0 0 0 .2rem #ff52521a}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary{background-color:#ff52521a}.md-typeset .failure>.admonition-title:before,.md-typeset .failure>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .failure>.admonition-title:after,.md-typeset .failure>summary:after{color:#ff5252}.md-typeset .admonition.danger,.md-typeset details.danger{border-color:#ff1744}.md-typeset .admonition.danger:focus-within,.md-typeset details.danger:focus-within{box-shadow:0 0 0 .2rem #ff17441a}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary{background-color:#ff17441a}.md-typeset .danger>.admonition-title:before,.md-typeset .danger>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .danger>.admonition-title:after,.md-typeset .danger>summary:after{color:#ff1744}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .admonition.bug:focus-within,.md-typeset details.bug:focus-within{box-shadow:0 0 0 .2rem #f500571a}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:#f500571a}.md-typeset .bug>.admonition-title:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .bug>.admonition-title:after,.md-typeset .bug>summary:after{color:#f50057}.md-typeset .admonition.example,.md-typeset details.example{border-color:#7c4dff}.md-typeset .admonition.example:focus-within,.md-typeset details.example:focus-within{box-shadow:0 0 0 .2rem #7c4dff1a}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:#7c4dff1a}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .example>.admonition-title:after,.md-typeset .example>summary:after{color:#7c4dff}.md-typeset .admonition.quote,.md-typeset details.quote{border-color:#9e9e9e}.md-typeset .admonition.quote:focus-within,.md-typeset details.quote:focus-within{box-shadow:0 0 0 .2rem #9e9e9e1a}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:#9e9e9e1a}.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.md-typeset .quote>.admonition-title:after,.md-typeset .quote>summary:after{color:#9e9e9e}:root{--md-footnotes-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7z"/></svg>')}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}[dir=ltr] .md-typeset .footnote>ol{margin-left:0}[dir=rtl] .md-typeset .footnote>ol{margin-right:0}.md-typeset .footnote>ol>li{transition:color 125ms}.md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.md-typeset .footnote>ol>li:focus-within .footnote-backref{opacity:1;transform:translateX(0);transition:none}.md-typeset .footnote>ol>li:hover .footnote-backref,.md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateX(0)}.md-typeset .footnote>ol>li>:first-child{margin-top:0}.md-typeset .footnote-ref{font-size:.75em;font-weight:700}html .md-typeset .footnote-ref{outline-offset:.1rem}.md-typeset [id^="fnref:"]:target>.footnote-ref{outline:auto}.md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateX(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);opacity:1;transform:translateX(0)}}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref:before{background-color:currentcolor;content:"";display:inline-block;height:.8rem;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.8rem}[dir=rtl] .md-typeset .footnote-backref:before{transform:scaleX(-1)}[dir=ltr] .md-typeset .headerlink{margin-left:.5rem}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem}.md-typeset .headerlink{color:var(--md-default-fg-color--lighter);display:inline-block;opacity:0;transition:color .25s,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}.md-typeset .headerlink:focus,.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.md-typeset .headerlink:focus,.md-typeset .headerlink:hover,.md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.md-typeset :target{--md-scroll-margin:3.6rem;--md-scroll-offset:0rem;scroll-margin-top:calc(var(--md-scroll-margin) - var(--md-scroll-offset))}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset :target{--md-scroll-margin:6rem}}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{--md-scroll-offset:0.2rem}.md-typeset h4:target{--md-scroll-offset:0.15rem}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.984375em){.md-typeset div.arithmatex{margin:0 -.8rem}.md-typeset div.arithmatex>*{width:min-content}}.md-typeset div.arithmatex>*{margin-left:auto!important;margin-right:auto!important;padding:0 .8rem;touch-action:auto}.md-typeset div.arithmatex>* mjx-container{margin:0!important}.md-typeset div.arithmatex mjx-assistive-mml{height:0}.md-typeset .katex-html svg{max-width:revert}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset del.critic,.md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment:before{content:"/* "}.md-typeset .critic.comment:after{content:" */"}.md-typeset .critic.block{box-shadow:none;display:block;margin:1em 0;overflow:auto;padding-left:.8rem;padding-right:.8rem}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6z"/></svg>')}.md-typeset details{display:flow-root;overflow:visible;padding-top:0}.md-typeset details[open]>summary:after{transform:rotate(90deg)}.md-typeset details:not([open]){box-shadow:none;padding-bottom:0}.md-typeset details:not([open])>summary{border-radius:.1rem}[dir=ltr] .md-typeset summary{padding-right:1.8rem}[dir=rtl] .md-typeset summary{padding-left:1.8rem}[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset summary{cursor:pointer;display:block;min-height:1rem;overflow:hidden}.md-typeset summary.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset summary:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[dir=ltr] .md-typeset summary:after{right:.4rem}[dir=rtl] .md-typeset summary:after{left:.4rem}.md-typeset summary:after{background-color:currentcolor;content:"";height:1rem;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;transform:rotate(0deg);transition:transform .25s;width:1rem}[dir=rtl] .md-typeset summary:after{transform:rotate(180deg)}.md-typeset summary::marker{display:none}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{--md-icon-size:1.125em;display:inline-flex;height:var(--md-icon-size);vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .gemoji svg,.md-typeset .twemoji svg{fill:currentcolor;max-height:100%;width:var(--md-icon-size)}.md-typeset .lg,.md-typeset .xl,.md-typeset .xxl,.md-typeset .xxxl{vertical-align:text-bottom}.md-typeset .middle{vertical-align:middle}.md-typeset .lg{--md-icon-size:1.5em}.md-typeset .xl{--md-icon-size:2.25em}.md-typeset .xxl{--md-icon-size:3em}.md-typeset .xxxl{--md-icon-size:4em}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .si,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .il,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .bp,.highlight .nb,.highlight .no{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gr,.highlight .gs,.highlight .gt,.highlight .gu{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{border-radius:.1rem;margin:0 -.125em;padding:0 .125em}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{background-color:var(--md-code-hl-color--light);box-shadow:2px 0 0 0 var(--md-code-hl-color) inset;display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em}.highlight span.filename{background-color:var(--md-code-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);border-top-left-radius:.1rem;border-top-right-radius:.1rem;display:flow-root;font-size:.85em;font-weight:700;margin-top:1em;padding:.6617647059em 1.1764705882em;position:relative}.highlight span.filename+pre{margin-top:0}.highlight span.filename+pre>code{border-top-left-radius:0;border-top-right-radius:0}.highlight [data-linenos]:before{background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;color:var(--md-default-fg-color--light);content:attr(data-linenos);float:left;left:-1.1764705882em;margin-left:-1.1764705882em;margin-right:1.1764705882em;padding-left:1.1764705882em;position:sticky;-webkit-user-select:none;user-select:none;z-index:3}.highlight code a[id]{position:absolute;visibility:hidden}.highlight code[data-md-copying]{display:initial}.highlight code[data-md-copying] .hll{display:contents}.highlight code[data-md-copying] .md-annotation{display:none}.highlighttable{display:flow-root}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable th.filename{flex-grow:1;padding:0;text-align:left}.highlighttable th.filename span.filename{margin-top:0}.highlighttable .linenos{background-color:var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-top-left-radius:.1rem;font-size:.85em;padding:.7720588235em 0 .7720588235em 1.1764705882em;-webkit-user-select:none;user-select:none}.highlighttable .linenodiv{box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .linenodiv span[class]{padding-right:.5882352941em}.highlighttable .code{flex:1;min-width:0}.linenodiv a{color:inherit}.md-typeset .highlighttable{direction:ltr;margin:1em 0}.md-typeset .highlighttable>tbody>tr>.code>div>pre>code{border-bottom-left-radius:0;border-top-left-radius:0}.md-typeset .highlight+.result{border:.05rem solid var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem;border-top-width:.1rem;margin-top:-1.125em;overflow:visible;padding:0 1em}.md-typeset .highlight+.result:after{clear:both;content:"";display:block}@media screen and (max-width:44.984375em){.md-content__inner>.highlight{margin:1em -.8rem}.md-content__inner>.highlight>.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.code>div>pre>code,.md-content__inner>.highlight>.highlighttable>tbody>tr>.filename span.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.linenos,.md-content__inner>.highlight>pre>code{border-radius:0}.md-content__inner>.highlight+.result{border-left-width:0;border-radius:0;border-right-width:0;margin-left:-.8rem;margin-right:-.8rem}}.md-typeset .keys kbd:after,.md-typeset .keys kbd:before{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;color:inherit;margin:0;position:relative}.md-typeset .keys span{color:var(--md-default-fg-color--light);padding:0 .2em}.md-typeset .keys .key-alt:before,.md-typeset .keys .key-left-alt:before,.md-typeset .keys .key-right-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-command:before,.md-typeset .keys .key-left-command:before,.md-typeset .keys .key-right-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-control:before,.md-typeset .keys .key-left-control:before,.md-typeset .keys .key-right-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-left-meta:before,.md-typeset .keys .key-meta:before,.md-typeset .keys .key-right-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-left-option:before,.md-typeset .keys .key-option:before,.md-typeset .keys .key-right-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-left-shift:before,.md-typeset .keys .key-right-shift:before,.md-typeset .keys .key-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-left-super:before,.md-typeset .keys .key-right-super:before,.md-typeset .keys .key-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-left-windows:before,.md-typeset .keys .key-right-windows:before,.md-typeset .keys .key-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-arrow-down:before{content:"↓";padding-right:.4em}.md-typeset .keys .key-arrow-left:before{content:"←";padding-right:.4em}.md-typeset .keys .key-arrow-right:before{content:"→";padding-right:.4em}.md-typeset .keys .key-arrow-up:before{content:"↑";padding-right:.4em}.md-typeset .keys .key-backspace:before{content:"⌫";padding-right:.4em}.md-typeset .keys .key-backtab:before{content:"⇤";padding-right:.4em}.md-typeset .keys .key-caps-lock:before{content:"⇪";padding-right:.4em}.md-typeset .keys .key-clear:before{content:"⌧";padding-right:.4em}.md-typeset .keys .key-context-menu:before{content:"☰";padding-right:.4em}.md-typeset .keys .key-delete:before{content:"⌦";padding-right:.4em}.md-typeset .keys .key-eject:before{content:"⏏";padding-right:.4em}.md-typeset .keys .key-end:before{content:"⤓";padding-right:.4em}.md-typeset .keys .key-escape:before{content:"⎋";padding-right:.4em}.md-typeset .keys .key-home:before{content:"⤒";padding-right:.4em}.md-typeset .keys .key-insert:before{content:"⎀";padding-right:.4em}.md-typeset .keys .key-page-down:before{content:"⇟";padding-right:.4em}.md-typeset .keys .key-page-up:before{content:"⇞";padding-right:.4em}.md-typeset .keys .key-print-screen:before{content:"⎙";padding-right:.4em}.md-typeset .keys .key-tab:after{content:"⇥";padding-left:.4em}.md-typeset .keys .key-num-enter:after{content:"⌤";padding-left:.4em}.md-typeset .keys .key-enter:after{content:"⏎";padding-left:.4em}:root{--md-tabbed-icon--prev:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.41 16.58 10.83 12l4.58-4.59L14 6l-6 6 6 6z"/></svg>');--md-tabbed-icon--next:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6z"/></svg>')}.md-typeset .tabbed-set{border-radius:.1rem;display:flex;flex-flow:column wrap;margin:1em 0;position:relative}.md-typeset .tabbed-set>input{height:0;opacity:0;position:absolute;width:0}.md-typeset .tabbed-set>input:target{--md-scroll-offset:0.625em}.md-typeset .tabbed-set>input.focus-visible~.tabbed-labels:before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-labels{-ms-overflow-style:none;box-shadow:0 -.05rem var(--md-default-fg-color--lightest) inset;display:flex;max-width:100%;overflow:auto;scrollbar-width:none}@media print{.md-typeset .tabbed-labels{display:contents}}@media screen{.js .md-typeset .tabbed-labels{position:relative}.js .md-typeset .tabbed-labels:before{background:var(--md-default-fg-color);bottom:0;content:"";display:block;height:2px;left:0;position:absolute;transform:translateX(var(--md-indicator-x));transition:width 225ms,background-color .25s,transform .25s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--md-indicator-width)}}.md-typeset .tabbed-labels::-webkit-scrollbar{display:none}.md-typeset .tabbed-labels>label{border-bottom:.1rem solid #0000;border-radius:.1rem .1rem 0 0;color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;font-size:.64rem;font-weight:700;padding:.78125em 1.25em .625em;scroll-margin-inline-start:1rem;transition:background-color .25s,color .25s;white-space:nowrap;width:auto}@media print{.md-typeset .tabbed-labels>label:first-child{order:1}.md-typeset .tabbed-labels>label:nth-child(2){order:2}.md-typeset .tabbed-labels>label:nth-child(3){order:3}.md-typeset .tabbed-labels>label:nth-child(4){order:4}.md-typeset .tabbed-labels>label:nth-child(5){order:5}.md-typeset .tabbed-labels>label:nth-child(6){order:6}.md-typeset .tabbed-labels>label:nth-child(7){order:7}.md-typeset .tabbed-labels>label:nth-child(8){order:8}.md-typeset .tabbed-labels>label:nth-child(9){order:9}.md-typeset .tabbed-labels>label:nth-child(10){order:10}.md-typeset .tabbed-labels>label:nth-child(11){order:11}.md-typeset .tabbed-labels>label:nth-child(12){order:12}.md-typeset .tabbed-labels>label:nth-child(13){order:13}.md-typeset .tabbed-labels>label:nth-child(14){order:14}.md-typeset .tabbed-labels>label:nth-child(15){order:15}.md-typeset .tabbed-labels>label:nth-child(16){order:16}.md-typeset .tabbed-labels>label:nth-child(17){order:17}.md-typeset .tabbed-labels>label:nth-child(18){order:18}.md-typeset .tabbed-labels>label:nth-child(19){order:19}.md-typeset .tabbed-labels>label:nth-child(20){order:20}}.md-typeset .tabbed-labels>label:hover{color:var(--md-default-fg-color)}.md-typeset .tabbed-labels>label>[href]:first-child{color:inherit}.md-typeset .tabbed-labels--linked>label{padding:0}.md-typeset .tabbed-labels--linked>label>a{display:block;padding:.78125em 1.25em .625em}.md-typeset .tabbed-content{width:100%}@media print{.md-typeset .tabbed-content{display:contents}}.md-typeset .tabbed-block{display:none}@media print{.md-typeset .tabbed-block{display:block}.md-typeset .tabbed-block:first-child{order:1}.md-typeset .tabbed-block:nth-child(2){order:2}.md-typeset .tabbed-block:nth-child(3){order:3}.md-typeset .tabbed-block:nth-child(4){order:4}.md-typeset .tabbed-block:nth-child(5){order:5}.md-typeset .tabbed-block:nth-child(6){order:6}.md-typeset .tabbed-block:nth-child(7){order:7}.md-typeset .tabbed-block:nth-child(8){order:8}.md-typeset .tabbed-block:nth-child(9){order:9}.md-typeset .tabbed-block:nth-child(10){order:10}.md-typeset .tabbed-block:nth-child(11){order:11}.md-typeset .tabbed-block:nth-child(12){order:12}.md-typeset .tabbed-block:nth-child(13){order:13}.md-typeset .tabbed-block:nth-child(14){order:14}.md-typeset .tabbed-block:nth-child(15){order:15}.md-typeset .tabbed-block:nth-child(16){order:16}.md-typeset .tabbed-block:nth-child(17){order:17}.md-typeset .tabbed-block:nth-child(18){order:18}.md-typeset .tabbed-block:nth-child(19){order:19}.md-typeset .tabbed-block:nth-child(20){order:20}}.md-typeset .tabbed-block>.highlight:first-child>pre,.md-typeset .tabbed-block>pre:first-child{margin:0}.md-typeset .tabbed-block>.highlight:first-child>pre>code,.md-typeset .tabbed-block>pre:first-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child>.filename{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable{margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.filename span.filename,.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.linenos{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.code>div>pre>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child+.result{margin-top:-.125em}.md-typeset .tabbed-block>.tabbed-set{margin:0}.md-typeset .tabbed-button{align-self:center;border-radius:100%;color:var(--md-default-fg-color--light);cursor:pointer;display:block;height:.9rem;margin-top:.1rem;pointer-events:auto;transition:background-color .25s;width:.9rem}.md-typeset .tabbed-button:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset .tabbed-button:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-tabbed-icon--prev);mask-image:var(--md-tabbed-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color .25s,transform .25s;width:100%}.md-typeset .tabbed-control{background:linear-gradient(to right,var(--md-default-bg-color) 60%,#0000);display:flex;height:1.9rem;justify-content:start;pointer-events:none;position:absolute;transition:opacity 125ms;width:1.2rem}[dir=rtl] .md-typeset .tabbed-control{transform:rotate(180deg)}.md-typeset .tabbed-control[hidden]{opacity:0}.md-typeset .tabbed-control--next{background:linear-gradient(to left,var(--md-default-bg-color) 60%,#0000);justify-content:end;right:0}.md-typeset .tabbed-control--next .tabbed-button:after{-webkit-mask-image:var(--md-tabbed-icon--next);mask-image:var(--md-tabbed-icon--next)}@media screen and (max-width:44.984375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels{padding-right:.8rem}.md-content__inner>.tabbed-set .tabbed-labels{margin:0 -.8rem;max-width:100vw;scroll-padding-inline-start:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-left:.8rem}.md-content__inner>.tabbed-set .tabbed-labels:after{content:""}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-right:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-left:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-right:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{width:2rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-right:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-left:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{width:2rem}}@media screen{.md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){color:var(--md-default-fg-color)}.md-typeset .no-js .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .no-js .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .no-js .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .no-js .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .no-js .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .no-js .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .no-js .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .no-js .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .no-js .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .no-js .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .no-js .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .no-js .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .no-js .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .no-js .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .no-js .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .no-js .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .no-js .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .no-js .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .no-js .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .no-js .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.md-typeset [role=dialog] .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset [role=dialog] .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset [role=dialog] .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset [role=dialog] .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset [role=dialog] .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset [role=dialog] .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset [role=dialog] .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset [role=dialog] .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset [role=dialog] .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset [role=dialog] .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset [role=dialog] .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset [role=dialog] .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset [role=dialog] .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset [role=dialog] .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset [role=dialog] .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset [role=dialog] .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset [role=dialog] .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset [role=dialog] .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset [role=dialog] .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset [role=dialog] .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.no-js .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.no-js .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.no-js .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.no-js .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.no-js .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.no-js .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.no-js .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.no-js .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.no-js .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.no-js .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.no-js .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.no-js .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.no-js .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.no-js .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.no-js .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.no-js .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.no-js .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.no-js .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.no-js .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.no-js .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),[role=dialog] .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,[role=dialog] .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),[role=dialog] .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),[role=dialog] .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),[role=dialog] .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),[role=dialog] .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),[role=dialog] .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),[role=dialog] .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),[role=dialog] .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),[role=dialog] .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),[role=dialog] .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),[role=dialog] .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),[role=dialog] .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),[role=dialog] .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),[role=dialog] .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),[role=dialog] .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),[role=dialog] .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),[role=dialog] .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),[role=dialog] .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),[role=dialog] .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){border-color:var(--md-default-fg-color)}}.md-typeset .tabbed-set>input:first-child.focus-visible~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10).focus-visible~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11).focus-visible~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12).focus-visible~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13).focus-visible~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14).focus-visible~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15).focus-visible~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16).focus-visible~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17).focus-visible~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18).focus-visible~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19).focus-visible~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2).focus-visible~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20).focus-visible~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3).focus-visible~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4).focus-visible~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5).focus-visible~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6).focus-visible~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7).focus-visible~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8).focus-visible~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9).focus-visible~.tabbed-labels>:nth-child(9){color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:first-child:checked~.tabbed-content>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-content>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-content>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-content>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-content>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-content>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-content>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-content>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-content>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-content>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-content>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-content>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-content>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-content>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-content>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-content>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-content>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-content>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-content>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-content>:nth-child(9){display:block}:root{--md-tasklist-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12m16.28-2.72a.75.75 0 0 0-.018-1.042.75.75 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.75.75 0 0 0-1.042.018.75.75 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z"/></svg>');--md-tasklist-icon--checked:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12m16.28-2.72a.75.75 0 0 0-.018-1.042.75.75 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.75.75 0 0 0-1.042.018.75.75 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z"/></svg>')}.md-typeset .task-list-item{list-style-type:none;position:relative}[dir=ltr] .md-typeset .task-list-item [type=checkbox]{left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}[dir=ltr] .md-typeset .task-list-indicator:before{left:-1.5em}[dir=rtl] .md-typeset .task-list-indicator:before{right:-1.5em}.md-typeset .task-list-indicator:before{background-color:var(--md-default-fg-color--lightest);content:"";height:1.25em;-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.15em;width:1.25em}.md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}@media print{.giscus,[id=__comments]{display:none}}:root>*{--md-mermaid-font-family:var(--md-text-font-family),sans-serif;--md-mermaid-edge-color:var(--md-code-fg-color);--md-mermaid-node-bg-color:var(--md-accent-fg-color--transparent);--md-mermaid-node-fg-color:var(--md-accent-fg-color);--md-mermaid-label-bg-color:var(--md-default-bg-color);--md-mermaid-label-fg-color:var(--md-code-fg-color);--md-mermaid-sequence-actor-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actor-fg-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-actor-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-actor-line-color:var(--md-default-fg-color--lighter);--md-mermaid-sequence-actorman-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actorman-line-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-box-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-box-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-label-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-label-fg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-loop-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-loop-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-loop-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-message-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-message-line-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-note-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-border-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-number-bg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-number-fg-color:var(--md-accent-bg-color)}.mermaid{line-height:normal;margin:1em 0}.md-typeset .grid{grid-gap:.4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:1em 0}.md-typeset .grid.cards>ol,.md-typeset .grid.cards>ul{display:contents}.md-typeset .grid.cards>ol>li,.md-typeset .grid.cards>ul>li,.md-typeset .grid>.card{border:.05rem solid var(--md-default-fg-color--lightest);border-radius:.1rem;display:block;margin:0;padding:.8rem;transition:border .25s,box-shadow .25s}.md-typeset .grid.cards>ol>li:focus-within,.md-typeset .grid.cards>ol>li:hover,.md-typeset .grid.cards>ul>li:focus-within,.md-typeset .grid.cards>ul>li:hover,.md-typeset .grid>.card:focus-within,.md-typeset .grid>.card:hover{border-color:#0000;box-shadow:var(--md-shadow-z2)}.md-typeset .grid.cards>ol>li>hr,.md-typeset .grid.cards>ul>li>hr,.md-typeset .grid>.card>hr{margin-bottom:1em;margin-top:1em}.md-typeset .grid.cards>ol>li>:first-child,.md-typeset .grid.cards>ul>li>:first-child,.md-typeset .grid>.card>:first-child{margin-top:0}.md-typeset .grid.cards>ol>li>:last-child,.md-typeset .grid.cards>ul>li>:last-child,.md-typeset .grid>.card>:last-child{margin-bottom:0}.md-typeset .grid>*,.md-typeset .grid>.admonition,.md-typeset .grid>.highlight>*,.md-typeset .grid>.highlighttable,.md-typeset .grid>.md-typeset details,.md-typeset .grid>details,.md-typeset .grid>pre{margin-bottom:0;margin-top:0}.md-typeset .grid>.highlight>pre:only-child,.md-typeset .grid>.highlight>pre>code,.md-typeset .grid>.highlighttable,.md-typeset .grid>.highlighttable>tbody,.md-typeset .grid>.highlighttable>tbody>tr,.md-typeset .grid>.highlighttable>tbody>tr>.code,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre>code{height:100%}.md-typeset .grid>.tabbed-set{margin-bottom:0;margin-top:0}@media screen and (min-width:45em){[dir=ltr] .md-typeset .inline{float:left}[dir=rtl] .md-typeset .inline{float:right}[dir=ltr] .md-typeset .inline{margin-right:.8rem}[dir=rtl] .md-typeset .inline{margin-left:.8rem}.md-typeset .inline{margin-bottom:.8rem;margin-top:0;width:11.7rem}[dir=ltr] .md-typeset .inline.end{float:right}[dir=rtl] .md-typeset .inline.end{float:left}[dir=ltr] .md-typeset .inline.end{margin-left:.8rem;margin-right:0}[dir=rtl] .md-typeset .inline.end{margin-left:0;margin-right:.8rem}}
|