Metrics
| Metric | Value |
|---|---|
| TOTAL_NUMBER_OF_FILES | 43 |
| NUMBER_OF_FILES_MAIN | 20 |
| LINES_OF_CODE_MAIN | 1,746 |
| NUMBER_OF_FILES_MAIN_EXT_JS | 8 |
| LINES_OF_CODE_MAIN_EXT_JS | 989 |
| NUMBER_OF_FILES_MAIN_EXT_SCSS | 9 |
| LINES_OF_CODE_MAIN_EXT_SCSS | 576 |
| NUMBER_OF_FILES_MAIN_EXT_HTML | 2 |
| LINES_OF_CODE_MAIN_EXT_HTML | 121 |
| NUMBER_OF_FILES_MAIN_EXT_SASS | 1 |
| LINES_OF_CODE_MAIN_EXT_SASS | 60 |
| NUMBER_OF_FILES_TEST | 0 |
| LINES_OF_CODE_TEST | 0 |
| TEST_VS_MAIN_LINES_OF_CODE_PERCENTAGE | 0 |
| NUMBER_OF_FILES_GENERATED | 0 |
| LINES_OF_CODE_GENERATED | 0 |
| NUMBER_OF_FILES_BUILD_AND_DEPLOYMENT | 3 |
| LINES_OF_CODE_BUILD_AND_DEPLOYMENT | 33 |
| NUMBER_OF_FILES_BUILD_AND_DEPLOYMENT_EXT_BABELRC | 1 |
| LINES_OF_CODE_BUILD_AND_DEPLOYMENT_EXT_BABELRC | 26 |
| NUMBER_OF_FILES_BUILD_AND_DEPLOYMENT_EXT_GITIGNORE | 2 |
| LINES_OF_CODE_BUILD_AND_DEPLOYMENT_EXT_GITIGNORE | 7 |
| NUMBER_OF_FILES_OTHER | 5 |
| LINES_OF_CODE_OTHER | 228 |
| NUMBER_OF_FILES_OTHER_EXT_JSON | 3 |
| LINES_OF_CODE_OTHER_EXT_JSON | 151 |
| NUMBER_OF_FILES_OTHER_EXT_MD | 1 |
| LINES_OF_CODE_OTHER_EXT_MD | 73 |
| NUMBER_OF_FILES_OTHER_EXT_SVG | 1 |
| LINES_OF_CODE_OTHER_EXT_SVG | 4 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_HARNESS | 1 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_HARNESS | 102 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_HARNESS_EXT_HTML | 1 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_HARNESS_EXT_HTML | 102 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_ROOT | 1 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_ROOT | 261 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_ROOT_EXT_JS | 1 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_ROOT_EXT_JS | 261 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_SRC | 18 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_SRC | 1,383 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_SRC_EXT_JS | 7 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_SRC_EXT_JS | 728 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_SRC_EXT_SCSS | 9 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_SRC_EXT_SCSS | 576 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_SRC_EXT_SASS | 1 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_SRC_EXT_SASS | 60 |
| NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_SRC_EXT_HTML | 1 |
| LINES_OF_CODE_DECOMPOSITION_PRIMARY_SRC_EXT_HTML | 19 |
| NUMBER_OF_DEPENDENCY_LINKS_DECOMPOSITION_PRIMARY | 0 |
| NUMBER_OF_DEPENDENCIES_DECOMPOSITION_PRIMARY | 0 |
| NUMBER_OF_PLACES_WITH_CYCLIC_DEPENDENCIES_DECOMPOSITION_PRIMARY | 0 |
| NUMBER_OF_FILES_CONCERN_GENERAL_TODOS | 1 |
| LINES_OF_CODE_CONCERN_GENERAL_TODOS | 261 |
| NUMBER_OF_FILES_CONCERN_GENERAL_TODOS_EXT_JS | 1 |
| LINES_OF_CODE_CONCERN_GENERAL_TODOS_EXT_JS | 261 |
| NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED | 19 |
| LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED | 1,485 |
| NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED_EXT_JS | 7 |
| LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED_EXT_JS | 728 |
| NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED_EXT_SCSS | 9 |
| LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED_EXT_SCSS | 576 |
| NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED_EXT_HTML | 2 |
| LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED_EXT_HTML | 121 |
| NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED_EXT_SASS | 1 |
| LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED_EXT_SASS | 60 |
| NEGLIGIBLE_RISK_FILE_SIZE_COUNT | 13 |
| LOW_RISK_FILE_SIZE_COUNT | 3 |
| MEDIUM_RISK_FILE_SIZE_COUNT | 4 |
| HIGH_RISK_FILE_SIZE_COUNT | 0 |
| VERY_HIGH_RISK_FILE_SIZE_COUNT | 0 |
| NEGLIGIBLE_RISK_FILE_SIZE_LOC | 316 |
| LOW_RISK_FILE_SIZE_LOC | 316 |
| MEDIUM_RISK_FILE_SIZE_LOC | 1,114 |
| HIGH_RISK_FILE_SIZE_LOC | 0 |
| VERY_HIGH_RISK_FILE_SIZE_LOC | 0 |
| NUMBER_OF_UNITS | 21 |
| LINES_OF_CODE_IN_UNITS | 361 |
| LINES_OF_CODE_OUTSIDE_UNITS | 1,385 |
| UNIT_SIZE_NEGLIGIBLE_RISK_LOC | 71 |
| UNIT_SIZE_NEGLIGIBLE_RISK_PERCENTAGE | 19.67 |
| UNIT_SIZE_NEGLIGIBLE_RISK_COUNT | 12 |
| UNIT_SIZE_LOW_RISK_LOC | 31 |
| UNIT_SIZE_LOW_RISK_PERCENTAGE | 8.59 |
| UNIT_SIZE_LOW_RISK_COUNT | 2 |
| UNIT_SIZE_MEDIUM_RISK_LOC | 200 |
| UNIT_SIZE_MEDIUM_RISK_PERCENTAGE | 55.4 |
| UNIT_SIZE_MEDIUM_RISK_COUNT | 6 |
| UNIT_SIZE_HIGH_RISK_LOC | 59 |
| UNIT_SIZE_HIGH_RISK_PERCENTAGE | 16.34 |
| UNIT_SIZE_HIGH_RISK_COUNT | 1 |
| UNIT_SIZE_VERY_HIGH_RISK_LOC | 0 |
| UNIT_SIZE_VERY_HIGH_RISK_PERCENTAGE | 0 |
| UNIT_SIZE_VERY_HIGH_RISK_COUNT | 0 |
| UNIT_SIZE_COMPONENT_ROOT_NEGLIGIBLE_RISK_LOC | 25 |
| UNIT_SIZE_COMPONENT_ROOT_NEGLIGIBLE_RISK_PERCENTAGE | 35.71 |
| UNIT_SIZE_COMPONENT_ROOT_NEGLIGIBLE_RISK_COUNT | 4 |
| UNIT_SIZE_COMPONENT_ROOT_LOW_RISK_LOC | 13 |
| UNIT_SIZE_COMPONENT_ROOT_LOW_RISK_PERCENTAGE | 18.57 |
| UNIT_SIZE_COMPONENT_ROOT_LOW_RISK_COUNT | 1 |
| UNIT_SIZE_COMPONENT_ROOT_MEDIUM_RISK_LOC | 32 |
| UNIT_SIZE_COMPONENT_ROOT_MEDIUM_RISK_PERCENTAGE | 45.71 |
| UNIT_SIZE_COMPONENT_ROOT_MEDIUM_RISK_COUNT | 1 |
| UNIT_SIZE_COMPONENT_ROOT_HIGH_RISK_LOC | 0 |
| UNIT_SIZE_COMPONENT_ROOT_HIGH_RISK_PERCENTAGE | 0 |
| UNIT_SIZE_COMPONENT_ROOT_HIGH_RISK_COUNT | 0 |
| UNIT_SIZE_COMPONENT_ROOT_VERY_HIGH_RISK_LOC | 0 |
| UNIT_SIZE_COMPONENT_ROOT_VERY_HIGH_RISK_PERCENTAGE | 0 |
| UNIT_SIZE_COMPONENT_ROOT_VERY_HIGH_RISK_COUNT | 0 |
| UNIT_SIZE_COMPONENT_SRC_NEGLIGIBLE_RISK_LOC | 46 |
| UNIT_SIZE_COMPONENT_SRC_NEGLIGIBLE_RISK_PERCENTAGE | 15.81 |
| UNIT_SIZE_COMPONENT_SRC_NEGLIGIBLE_RISK_COUNT | 8 |
| UNIT_SIZE_COMPONENT_SRC_LOW_RISK_LOC | 18 |
| UNIT_SIZE_COMPONENT_SRC_LOW_RISK_PERCENTAGE | 6.19 |
| UNIT_SIZE_COMPONENT_SRC_LOW_RISK_COUNT | 1 |
| UNIT_SIZE_COMPONENT_SRC_MEDIUM_RISK_LOC | 168 |
| UNIT_SIZE_COMPONENT_SRC_MEDIUM_RISK_PERCENTAGE | 57.73 |
| UNIT_SIZE_COMPONENT_SRC_MEDIUM_RISK_COUNT | 5 |
| UNIT_SIZE_COMPONENT_SRC_HIGH_RISK_LOC | 59 |
| UNIT_SIZE_COMPONENT_SRC_HIGH_RISK_PERCENTAGE | 20.27 |
| UNIT_SIZE_COMPONENT_SRC_HIGH_RISK_COUNT | 1 |
| UNIT_SIZE_COMPONENT_SRC_VERY_HIGH_RISK_LOC | 0 |
| UNIT_SIZE_COMPONENT_SRC_VERY_HIGH_RISK_PERCENTAGE | 0 |
| UNIT_SIZE_COMPONENT_SRC_VERY_HIGH_RISK_COUNT | 0 |
| UNIT_SIZE_EXTENSION_JS_NEGLIGIBLE_RISK_LOC | 71 |
| UNIT_SIZE_EXTENSION_JS_NEGLIGIBLE_RISK_PERCENTAGE | 19.67 |
| UNIT_SIZE_EXTENSION_JS_NEGLIGIBLE_RISK_COUNT | 12 |
| UNIT_SIZE_EXTENSION_JS_LOW_RISK_LOC | 31 |
| UNIT_SIZE_EXTENSION_JS_LOW_RISK_PERCENTAGE | 8.59 |
| UNIT_SIZE_EXTENSION_JS_LOW_RISK_COUNT | 2 |
| UNIT_SIZE_EXTENSION_JS_MEDIUM_RISK_LOC | 200 |
| UNIT_SIZE_EXTENSION_JS_MEDIUM_RISK_PERCENTAGE | 55.4 |
| UNIT_SIZE_EXTENSION_JS_MEDIUM_RISK_COUNT | 6 |
| UNIT_SIZE_EXTENSION_JS_HIGH_RISK_LOC | 59 |
| UNIT_SIZE_EXTENSION_JS_HIGH_RISK_PERCENTAGE | 16.34 |
| UNIT_SIZE_EXTENSION_JS_HIGH_RISK_COUNT | 1 |
| UNIT_SIZE_EXTENSION_JS_VERY_HIGH_RISK_LOC | 0 |
| UNIT_SIZE_EXTENSION_JS_VERY_HIGH_RISK_PERCENTAGE | 0 |
| UNIT_SIZE_EXTENSION_JS_VERY_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_NEGLIGIBLE_RISK_LOC | 265 |
| CONDITIONAL_COMPLEXITY_NEGLIGIBLE_RISK_PERCENTAGE | 73.41 |
| CONDITIONAL_COMPLEXITY_NEGLIGIBLE_RISK_COUNT | 19 |
| CONDITIONAL_COMPLEXITY_LOW_RISK_LOC | 37 |
| CONDITIONAL_COMPLEXITY_LOW_RISK_PERCENTAGE | 10.25 |
| CONDITIONAL_COMPLEXITY_LOW_RISK_COUNT | 1 |
| CONDITIONAL_COMPLEXITY_MEDIUM_RISK_LOC | 59 |
| CONDITIONAL_COMPLEXITY_MEDIUM_RISK_PERCENTAGE | 16.34 |
| CONDITIONAL_COMPLEXITY_MEDIUM_RISK_COUNT | 1 |
| CONDITIONAL_COMPLEXITY_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_VERY_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_VERY_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_VERY_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_HIGH_PLUS_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_HIGH_PLUS_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_NEGLIGIBLE_RISK_LOC | 70 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_NEGLIGIBLE_RISK_PERCENTAGE | 100 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_NEGLIGIBLE_RISK_COUNT | 6 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_LOW_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_LOW_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_LOW_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_MEDIUM_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_MEDIUM_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_MEDIUM_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_VERY_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_VERY_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_ROOT_VERY_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_NEGLIGIBLE_RISK_LOC | 195 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_NEGLIGIBLE_RISK_PERCENTAGE | 67.01 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_NEGLIGIBLE_RISK_COUNT | 13 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_LOW_RISK_LOC | 37 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_LOW_RISK_PERCENTAGE | 12.71 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_LOW_RISK_COUNT | 1 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_MEDIUM_RISK_LOC | 59 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_MEDIUM_RISK_PERCENTAGE | 20.27 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_MEDIUM_RISK_COUNT | 1 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_VERY_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_VERY_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_SRC_VERY_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_NEGLIGIBLE_RISK_LOC | 265 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_NEGLIGIBLE_RISK_PERCENTAGE | 73.41 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_NEGLIGIBLE_RISK_COUNT | 19 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_LOW_RISK_LOC | 37 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_LOW_RISK_PERCENTAGE | 10.25 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_LOW_RISK_COUNT | 1 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_MEDIUM_RISK_LOC | 59 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_MEDIUM_RISK_PERCENTAGE | 16.34 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_MEDIUM_RISK_COUNT | 1 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_HIGH_RISK_COUNT | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_VERY_HIGH_RISK_LOC | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_VERY_HIGH_RISK_PERCENTAGE | 0 |
| CONDITIONAL_COMPLEXITY_COMPONENT_JS_VERY_HIGH_RISK_COUNT | 0 |
| NEGLIGIBLE_RISK_FILE_COMPLEXITY_COUNT | 3 |
| NEGLIGIBLE_RISK_FILE_COMPLEXITY_LOC | 274 |
| LOW_RISK_FILE_COMPLEXITY_COUNT | 1 |
| LOW_RISK_FILE_COMPLEXITY_LOC | 366 |
| MEDIUM_RISK_FILE_COMPLEXITY_COUNT | 0 |
| MEDIUM_RISK_FILE_COMPLEXITY_LOC | 0 |
| HIGH_RISK_FILE_COMPLEXITY_COUNT | 0 |
| HIGH_RISK_FILE_COMPLEXITY_LOC | 0 |
| VERY_HIGH_RISK_FILE_COMPLEXITY_COUNT | 0 |
| VERY_HIGH_RISK_FILE_COMPLEXITY_LOC | 0 |
| FILE_CHANGE_HISTORY_TOTAL_AGE_DAYS | 2,855 |
| FILE_CHANGE_HISTORY_ACTIVE_DAYS | 2 |
| FILE_CHANGE_HISTORY_WEEKS | 0 |
| FILE_CHANGE_HISTORY_ESTIMATED_WORKING_DAYS | 0 |
| FILE_AGE_NEGLIGIBLE_RISK_COUNT | 0 |
| FILE_AGE_LOW_RISK_COUNT | 0 |
| FILE_AGE_MEDIUM_RISK_COUNT | 0 |
| FILE_AGE_HIGH_RISK_COUNT | 0 |
| FILE_AGE_VERY_HIGH_RISK_COUNT | 4 |
| FILE_AGE_NEGLIGIBLE_RISK_LOC | 0 |
| FILE_AGE_LOW_RISK_LOC | 0 |
| FILE_AGE_MEDIUM_RISK_LOC | 0 |
| FILE_AGE_HIGH_RISK_LOC | 0 |
| FILE_AGE_VERY_HIGH_RISK_LOC | 872 |
| NUMBER_OF_CONTRIBUTORS | 1 |
| DUPLICATION_NUMBER_OF_DUPLICATES | 49 |
| DUPLICATION_NUMBER_OF_FILES_WITH_DUPLICATES | 4 |
| DUPLICATION_NUMBER_OF_DUPLICATED_LINES | 162 |
| DUPLICATION_NUMBER_OF_CLEANED_LINES | 1,602 |
| DUPLICATION_PERCENTAGE | 10.11 |
| UNIT_DUPLICATES_COUNT | 0 |
| DUPLICATION_NUMBER_OF_DUPLICATED_LINES_PRIMARY_SRC | 128 |
| DUPLICATION_NUMBER_OF_CLEANED_LINES_PRIMARY_SRC | 1,292 |
| DUPLICATION_PERCENTAGE_PRIMARY_SRC | 9.91 |
| DUPLICATION_NUMBER_OF_DUPLICATED_LINES_PRIMARY_ROOT | 34 |
| DUPLICATION_NUMBER_OF_CLEANED_LINES_PRIMARY_ROOT | 222 |
| DUPLICATION_PERCENTAGE_PRIMARY_ROOT | 15.32 |
| DUPLICATION_NUMBER_OF_DUPLICATED_LINES_PRIMARY_HARNESS | 0 |
| DUPLICATION_NUMBER_OF_CLEANED_LINES_PRIMARY_HARNESS | 88 |
| DUPLICATION_PERCENTAGE_PRIMARY_HARNESS | 0 |
| DUPLICATION_NUMBER_OF_DUPLICATED_LINES_SCSS | 46 |
| DUPLICATION_NUMBER_OF_CLEANED_LINES_SCSS | 576 |
| DUPLICATION_PERCENTAGE_SCSS | 7.99 |
| DUPLICATION_NUMBER_OF_DUPLICATED_LINES_JS | 116 |
| DUPLICATION_NUMBER_OF_CLEANED_LINES_JS | 865 |
| DUPLICATION_PERCENTAGE_JS | 13.41 |
| MAINTAINABILITY_SCORE_HUMAN | 6 |
| MAINTAINABILITY_SCORE_AI | 5.4 |
| TOTAL_ANALYSIS_TIME_IN_MILLIS | 46 |
About This Analysis
- Metrics are all numeric values measured by Sokrates.
- You can use these metrics to define goals and controls.