{"version":3,"sources":["webpack:///./src/components/quizzes/java/images/layout.png","webpack:///./src/components/assignments/cpp/images/marble-6.gif","webpack:///./src/components/assignments/java/images/cat-and-mouse.png","webpack:///./src/components/quizzes/java/Fundamentals.vue?1b22","webpack:///./src/components/quizzes/java/Fundamentals.vue","webpack:///./src/components/quizzes/matlab/CellArraysAndStructures.vue?eb34","webpack:///./src/components/quizzes/matlab/CellArraysAndStructures.vue","webpack:///./src/components/assignments/python/images/setup_git_bash_options.png","webpack:///./src/components/quizzes/c/GeneralUseOfPointers.vue?c3bb","webpack:///./src/components/quizzes/c/GeneralUseOfPointers.vue","webpack:///./src/components/assignments/cpp/images/marble-2.gif","webpack:///./src/components/quizzes/java/GuiFundamentals.vue?8ebd","webpack:///./src/components/quizzes/java/GuiFundamentals.vue","webpack:///./src/components/quizzes/unix/Ssh.vue?1351","webpack:///./src/components/quizzes/unix/Ssh.vue","webpack:///src/components/assignments/c/TheAnimalGame.vue","webpack:///./src/components/assignments/c/TheAnimalGame.vue?20a4","webpack:///./src/components/assignments/c/TheAnimalGame.vue","webpack:///./src/components/quizzes/java/images/clicker.png","webpack:///./src/components/assignments/cpp/images/terminal.png","webpack:///./src/components/assignments/java/images/HP10c.jpg","webpack:///src/components/assignments/c/Debugging.vue","webpack:///./src/components/assignments/c/Debugging.vue?38b3","webpack:///./src/components/assignments/c/Debugging.vue","webpack:///src/components/assignments/java/SimpleRpnCalculator.vue","webpack:///./src/components/assignments/java/SimpleRpnCalculator.vue?e0e3","webpack:///./src/components/assignments/java/SimpleRpnCalculator.vue","webpack:///src/components/assignments/47b/IteratorExercises.vue","webpack:///./src/components/assignments/47b/IteratorExercises.vue?3dc9","webpack:///./src/components/assignments/47b/IteratorExercises.vue","webpack:///src/components/assignments/47b/BlocksProject.vue","webpack:///./src/components/assignments/47b/BlocksProject.vue?9661","webpack:///./src/components/assignments/47b/BlocksProject.vue","webpack:///./src/components/assignments/c/images/windows_env_var.png","webpack:///./src/components/assignments/cpp/images/windows_var.png","webpack:///./src/components/quizzes/c/LinkedStructures.vue?606e","webpack:///./src/components/quizzes/c/LinkedStructures.vue","webpack:///src/components/assignments/cpp/ClassDesignExercises.vue","webpack:///./src/components/assignments/cpp/ClassDesignExercises.vue?8c19","webpack:///./src/components/assignments/cpp/ClassDesignExercises.vue","webpack:///./src/components/assignments/47b/images/graph.gif","webpack:///./src/components/assignments/python/images/unit_converter_mco_mapping.gif","webpack:///src/components/assignments/matlab/WorkingWithTheSymbolicMathToolbox.vue","webpack:///./src/components/assignments/matlab/WorkingWithTheSymbolicMathToolbox.vue?8c7e","webpack:///./src/components/assignments/matlab/WorkingWithTheSymbolicMathToolbox.vue","webpack:///./src/components/assignments/c/images/terminal_commands.png","webpack:///src/components/assignments/47b/HeapExercises.vue","webpack:///./src/components/assignments/47b/HeapExercises.vue?723e","webpack:///./src/components/assignments/47b/HeapExercises.vue","webpack:///./src/components/quizzes/matlab/IntroductionToArrayAndMatrixOperations.vue?f305","webpack:///./src/components/quizzes/matlab/IntroductionToArrayAndMatrixOperations.vue","webpack:///./src/components/assignments/java/images/MadLibs.jpg","webpack:///src/components/assignments/java/MadLibs.vue","webpack:///./src/components/assignments/java/MadLibs.vue?5375","webpack:///./src/components/assignments/java/MadLibs.vue","webpack:///./src/components/quizzes/python/images/q5_packer.png","webpack:///./src/components/quizzes/unix/BashScripting.vue?2342","webpack:///./src/components/quizzes/unix/BashScripting.vue","webpack:///./src/components/quizzes/python/CollectionsAndMutations.vue?4e80","webpack:///./src/components/quizzes/python/CollectionsAndMutations.vue","webpack:///./src/components/assignments/python/images/turtle_simple.png","webpack:///./src/components/quizzes/47b/Hashing.vue?8b5a","webpack:///./src/components/quizzes/47b/Hashing.vue","webpack:///src/components/assignments/unix/TheShellAndSimpleFilters.vue","webpack:///./src/components/assignments/unix/TheShellAndSimpleFilters.vue?49e1","webpack:///./src/components/assignments/unix/TheShellAndSimpleFilters.vue","webpack:///src/components/assignments/cpp/VectorAndIoStreamExercises.vue","webpack:///./src/components/assignments/cpp/VectorAndIoStreamExercises.vue?f788","webpack:///./src/components/assignments/cpp/VectorAndIoStreamExercises.vue","webpack:///src/components/assignments/python/TurtleArena.vue","webpack:///./src/components/assignments/python/TurtleArena.vue?0aba","webpack:///./src/components/assignments/python/TurtleArena.vue","webpack:///./src/components/quizzes/matlab/PlottingAndFunctionHandles.vue?3830","webpack:///./src/components/quizzes/matlab/PlottingAndFunctionHandles.vue","webpack:///src/components/assignments/c/TheAnimalGameRevisited.vue","webpack:///./src/components/assignments/c/TheAnimalGameRevisited.vue?35e4","webpack:///./src/components/assignments/c/TheAnimalGameRevisited.vue","webpack:///./src/components/quizzes/java/Exceptions.vue?bfd0","webpack:///./src/components/quizzes/java/Exceptions.vue","webpack:///./src/components/assignments \\.(js|vue)$/","webpack:///src/components/assignments/java/CellularAutomaton.vue","webpack:///./src/components/assignments/java/CellularAutomaton.vue?593c","webpack:///./src/components/assignments/java/CellularAutomaton.vue","webpack:///./src/components/assignments/cpp/images/windows_env_var.png","webpack:///./src/components/assignments/matlab/images/rule30.jpg","webpack:///./src/components/assignments/cpp/images/git-bash-options.png","webpack:///./src/components/assignments/cpp/images/terminal_commands.png","webpack:///./src/components/assignments/cpp/images/marble-3.gif","webpack:///./src/components/assignments/cpp/images/apply_changes.png","webpack:///./src/components/quizzes/python/InputAndOutput.vue?8b01","webpack:///./src/components/quizzes/python/InputAndOutput.vue","webpack:///./src/components/quizzes/47b/Iterators.vue?8e33","webpack:///./src/components/quizzes/47b/Iterators.vue","webpack:///./src/components/quizzes/java/images/Buggy.png","webpack:///./src/components/assignments/47b/images/blocks-sample-goal.gif","webpack:///./src/components/assignments/python/images/setup_terminal_commands.png","webpack:///./src/components/assignments/matlab/images/probability-distribution.jpg","webpack:///src/components/assignments/cpp/FlowOfControl.vue","webpack:///./src/components/assignments/cpp/FlowOfControl.vue?f1dc","webpack:///./src/components/assignments/cpp/FlowOfControl.vue","webpack:///./src/components/courses/settings.js","webpack:///src/components/global/NavBar.vue","webpack:///./src/components/global/NavBar.vue?8e71","webpack:///./src/components/global/NavBar.vue","webpack:///src/App.vue","webpack:///./src/App.vue?b429","webpack:///./src/App.vue","webpack:///./src/settings/index.js","webpack:///src/components/Home.vue","webpack:///./src/components/Home.vue?c0a0","webpack:///./src/components/Home.vue","webpack:///./src/components/courses/calendar.js","webpack:///src/components/global/submodule/Calendar.vue","webpack:///./src/components/global/submodule/Calendar.vue?e29f","webpack:///./src/components/global/submodule/Calendar.vue","webpack:///src/components/global/Course.vue","webpack:///./src/components/global/Course.vue?2c79","webpack:///./src/components/global/Course.vue","webpack:///src/components/global/submodule/Appointment.vue","webpack:///./src/components/global/submodule/Appointment.vue?835d","webpack:///./src/components/global/submodule/Appointment.vue","webpack:///src/components/global/submodule/Assignment.vue","webpack:///./src/components/global/submodule/Assignment.vue?8752","webpack:///./src/components/global/submodule/Assignment.vue","webpack:///src/components/global/submodule/Quiz.vue","webpack:///./src/components/global/submodule/Quiz.vue?5acf","webpack:///./src/components/global/submodule/Quiz.vue","webpack:///./src/router/index.js","webpack:///./src/components/global/submodule/partial/Readings.vue?c01a","webpack:///./src/components/global/submodule/partial/Readings.vue","webpack:///src/components/global/submodule/partial/Readings.vue","webpack:///./src/components/global/submodule/partial/QuizQuestion.vue?d993","webpack:///./src/components/global/submodule/partial/QuizQuestion.vue","webpack:///src/components/global/submodule/partial/QuizQuestion.vue","webpack:///./src/components/global/submodule/partial/QuizSolution.vue?b447","webpack:///./src/components/global/submodule/partial/QuizSolution.vue","webpack:///src/components/global/submodule/partial/QuizSolution.vue","webpack:///./src/main.js","webpack:///./src/components/assignments/matlab/images/heat-transfer-plate.jpg","webpack:///./src/components/quizzes/c/ArraysStructuresAndFiles.vue?af18","webpack:///./src/components/quizzes/c/ArraysStructuresAndFiles.vue","webpack:///src/components/assignments/python/TurtleBehavior.vue","webpack:///./src/components/assignments/python/TurtleBehavior.vue?1632","webpack:///./src/components/assignments/python/TurtleBehavior.vue","webpack:///./src/components/assignments/unix/images/cat-and-mouse.png","webpack:///./src/components/assignments/python/images/cellular_automation_rule30_200.png","webpack:///./src/components/quizzes/python/images/q5_clicker.png","webpack:///src/components/assignments/unix/BashCalculator.vue","webpack:///./src/components/assignments/unix/BashCalculator.vue?f7c6","webpack:///./src/components/assignments/unix/BashCalculator.vue","webpack:///./src/components/assignments/c/images/apply_changes.png","webpack:///./src/components/quizzes/java/DataStructures.vue?fe88","webpack:///./src/components/quizzes/java/DataStructures.vue","webpack:///./src/components/assignments/c/images/terminal-gcc.png","webpack:///./src/components/assignments/cpp/images/marble-4.gif","webpack:///./src/components/assignments/cpp/images/marble-5.gif","webpack:///./src/components/quizzes/python/ObjectOrientedProgramming.vue?b162","webpack:///./src/components/quizzes/python/ObjectOrientedProgramming.vue","webpack:///./src/components/assignments/python/images/turtle_walking-turtle.gif","webpack:///./src/components/quizzes/java/AdvancedObjectsAndClasses.vue?ff5d","webpack:///./src/components/quizzes/java/AdvancedObjectsAndClasses.vue","webpack:///./src/components/assignments/c/images/git-bash-options.png","webpack:///src/components/assignments/cpp/Setup.vue","webpack:///./src/components/assignments/cpp/Setup.vue?d01d","webpack:///./src/components/assignments/cpp/Setup.vue","webpack:///./src/components/assignments/47b/images/prims-algorithm.gif","webpack:///src/components/assignments/c/Setup.vue","webpack:///./src/components/assignments/c/Setup.vue?a70f","webpack:///./src/components/assignments/c/Setup.vue","webpack:///./src/components/quizzes/cpp/ClassDesign.vue?76a2","webpack:///./src/components/quizzes/cpp/ClassDesign.vue","webpack:///src/components/assignments/java/CatAndMouseGui.vue","webpack:///./src/components/assignments/java/CatAndMouseGui.vue?0fda","webpack:///./src/components/assignments/java/CatAndMouseGui.vue","webpack:///./src/components/assignments/c/images/windows_PATH.png","webpack:///src/components/assignments/47b/MinimumSpanningTree.vue","webpack:///./src/components/assignments/47b/MinimumSpanningTree.vue?9170","webpack:///./src/components/assignments/47b/MinimumSpanningTree.vue","webpack:///./src/components/assignments/java/images/rule30_200.png","webpack:///./src/components/quizzes/python/ExpressionsAndFunctions.vue?8ab5","webpack:///./src/components/quizzes/python/ExpressionsAndFunctions.vue","webpack:///./src/components/assignments/c/images/windows_var.png","webpack:///./src/components/quizzes/c/Fundamentals.vue?c432","webpack:///./src/components/quizzes/c/Fundamentals.vue","webpack:///src/components/assignments/python/Setup.vue","webpack:///./src/components/assignments/python/Setup.vue?2fe7","webpack:///./src/components/assignments/python/Setup.vue","webpack:///./src/components/quizzes/unix/GrepAndSed.vue?03f5","webpack:///./src/components/quizzes/unix/GrepAndSed.vue","webpack:///src/components/assignments/unix/GrepAndSed.vue","webpack:///./src/components/assignments/unix/GrepAndSed.vue?a49a","webpack:///./src/components/assignments/unix/GrepAndSed.vue","webpack:///./src/components/assignments/47b/images/blocks-sample-config.gif","webpack:///./src/components/assignments/cpp/images/minGW_manager.png","webpack:///src/components/assignments/cpp/ListStructureExercises.vue","webpack:///./src/components/assignments/cpp/ListStructureExercises.vue?3463","webpack:///./src/components/assignments/cpp/ListStructureExercises.vue","webpack:///./src/components/quizzes/47b/images/q3_heap.gif","webpack:///./src/components/assignments/cpp/images/marble-7.gif","webpack:///src/components/assignments/java/CatAndMouse.vue","webpack:///./src/components/assignments/java/CatAndMouse.vue?8ef2","webpack:///./src/components/assignments/java/CatAndMouse.vue","webpack:///./src/components/assignments/47b/images/hashmap.png","webpack:///./src/components/assignments/c/images/animal-sample-tree-array.gif","webpack:///./src/components/quizzes/c/FunctionsAndArgumentPointers.vue?7eb1","webpack:///./src/components/quizzes/c/FunctionsAndArgumentPointers.vue","webpack:///./src/components/assignments/java/images/cat-and-mouse-gui.png","webpack:///./src/components/quizzes/matlab/AdvancedArrayAndMatrixOperations.vue?10ca","webpack:///./src/components/quizzes/matlab/AdvancedArrayAndMatrixOperations.vue","webpack:///./src/components/quizzes/cpp/DynamicallyAllocatedData.vue?e4ed","webpack:///./src/components/quizzes/cpp/DynamicallyAllocatedData.vue","webpack:///./src/components/assignments/python/images/setup_terminal.png","webpack:///./src/components/assignments/c/images/terminal.png","webpack:///src/components/assignments/matlab/GeneralizedDiceProbabilities.vue","webpack:///./src/components/assignments/matlab/GeneralizedDiceProbabilities.vue?127f","webpack:///./src/components/assignments/matlab/GeneralizedDiceProbabilities.vue","webpack:///src/components/assignments/python/PythonPoweredUnitConverter.vue","webpack:///./src/components/assignments/python/PythonPoweredUnitConverter.vue?36b4","webpack:///./src/components/assignments/python/PythonPoweredUnitConverter.vue","webpack:///src/components/assignments/47b/HashingExercises.vue","webpack:///./src/components/assignments/47b/HashingExercises.vue?da3e","webpack:///./src/components/assignments/47b/HashingExercises.vue","webpack:///./src/components/quizzes \\.(js|vue)$/","webpack:///src/components/assignments/matlab/CorrelationCoefficient.vue","webpack:///./src/components/assignments/matlab/CorrelationCoefficient.vue?50da","webpack:///./src/components/assignments/matlab/CorrelationCoefficient.vue","webpack:///./src/components/quizzes/unix/Fundamentals.vue?6e90","webpack:///./src/components/quizzes/unix/Fundamentals.vue","webpack:///src/components/assignments/unix/RemoteProcessExecution.vue","webpack:///./src/components/assignments/unix/RemoteProcessExecution.vue?9ea2","webpack:///./src/components/assignments/unix/RemoteProcessExecution.vue","webpack:///src/components/assignments/unix/ProcessManagement.vue","webpack:///./src/components/assignments/unix/ProcessManagement.vue?1113","webpack:///./src/components/assignments/unix/ProcessManagement.vue","webpack:///./src/components/assignments/47b/images/AmoebaFamily.png","webpack:///src/components/assignments/matlab/CellularAutomation.vue","webpack:///./src/components/assignments/matlab/CellularAutomation.vue?7490","webpack:///./src/components/assignments/matlab/CellularAutomation.vue","webpack:///src/components/assignments/matlab/HeatTransfer.vue","webpack:///./src/components/assignments/matlab/HeatTransfer.vue?3ddc","webpack:///./src/components/assignments/matlab/HeatTransfer.vue","webpack:///./src/components/quizzes/47b/Heaps.vue?8870","webpack:///./src/components/quizzes/47b/Heaps.vue","webpack:///./src/components/assignments/47b/images/spanning-trees.gif","webpack:///./src/components/quizzes/47b/GraphRepresentations.vue?079a","webpack:///./src/components/quizzes/47b/GraphRepresentations.vue","webpack:///./src/components/assignments/python/images/setup_python-windows-install-path.png","webpack:///./src/components/assignments/c/images/windows_edit_var.png","webpack:///src/components/assignments/unix/UnixBasics.vue","webpack:///./src/components/assignments/unix/UnixBasics.vue?b6fd","webpack:///./src/components/assignments/unix/UnixBasics.vue","webpack:///./src/components/quizzes/47b/DataStructureDesign.vue?3ee2","webpack:///./src/components/quizzes/47b/DataStructureDesign.vue","webpack:///./src/components/quizzes/python/TkinterAndEventBasedProgramming.vue?117a","webpack:///./src/components/quizzes/python/TkinterAndEventBasedProgramming.vue","webpack:///./src/components/assignments/python/images/turtle_cat-and-mouse.png","webpack:///./src/components/quizzes/cpp/VectorsAndIoStreams.vue?67dd","webpack:///./src/components/quizzes/cpp/VectorsAndIoStreams.vue","webpack:///./src/components/assignments/cpp/images/windows_PATH.png","webpack:///./src/components/assignments/cpp/images/cat-and-mouse.png","webpack:///src/components/assignments/cpp/SimpleLoopingAndTesting.vue","webpack:///./src/components/assignments/cpp/SimpleLoopingAndTesting.vue?d5cf","webpack:///./src/components/assignments/cpp/SimpleLoopingAndTesting.vue","webpack:///src/components/assignments/matlab/ImageManipulation.vue","webpack:///./src/components/assignments/matlab/ImageManipulation.vue?e507","webpack:///./src/components/assignments/matlab/ImageManipulation.vue","webpack:///./src/components/quizzes/cpp/images/9F-study-guide6.gif","webpack:///./src/components/quizzes/matlab/SymbolicMathOperations.vue?6e69","webpack:///./src/components/quizzes/matlab/SymbolicMathOperations.vue","webpack:///./src/components/assignments/cpp/images/terminal-g++.png","webpack:///./src/components/quizzes/cpp/Fundamentals.vue?f12a","webpack:///./src/components/quizzes/cpp/Fundamentals.vue","webpack:///src/components/assignments/c/PigLatin.vue","webpack:///./src/components/assignments/c/PigLatin.vue?b180","webpack:///./src/components/assignments/c/PigLatin.vue","webpack:///src/components/assignments/unix/CatAndMouse.vue","webpack:///./src/components/assignments/unix/CatAndMouse.vue?6e2e","webpack:///./src/components/assignments/unix/CatAndMouse.vue","webpack:///./src/components/assignments/c/images/animal-sample-tree.gif","webpack:///./src/components/assignments/c/images/minGW_manager.png","webpack:///src/components/assignments/python/CellularAutomaton.vue","webpack:///./src/components/assignments/python/CellularAutomaton.vue?ebd9","webpack:///./src/components/assignments/python/CellularAutomaton.vue","webpack:///./src/components/assignments/cpp/images/marble-1.gif","webpack:///./src/components/assignments/cpp/images/sorted-list.png","webpack:///./src/components/assignments/cpp/images/windows_edit_var.png"],"names":["module","exports","__webpack_require__","p","Fundamentals","render","_vm","this","_h","$createElement","_c","_self","_v","_m","attrs","readings","title","link","directives","name","rawName","staticClass","staticRenderFns","Component","normalizeComponent","__webpack_exports__","CellArraysAndStructures","GeneralUseOfPointers","GuiFundamentals","extra","staticStyle","text-align","width","src","Ssh","c_TheAnimalGame","href","font-weight","c_Debugging","color","margin","java_SimpleRpnCalculator","_7b_IteratorExercises","_7b_BlocksProject","display","min-width","padding","LinkedStructures","type","value","cpp_ClassDesignExercises","matlab_WorkingWithTheSymbolicMathToolbox","vertical-align","list-style-type","border-color","border-spacing","border-style","border-width","_7b_HeapExercises","IntroductionToArrayAndMatrixOperations","java_MadLibs","BashScripting","CollectionsAndMutations","Hashing","unix_TheShellAndSimpleFilters","id","cpp_VectorAndIoStreamExercises","python_TurtleArena","PlottingAndFunctionHandles","c_TheAnimalGameRevisited","font-style","margin-bottom","margin-left","margin-right","margin-top","text-decoration","text-indent","text-transform","Exceptions","map","./47b/BlocksProject.vue","./47b/HashingExercises.vue","./47b/HeapExercises.vue","./47b/IteratorExercises.vue","./47b/MinimumSpanningTree.vue","./c/Debugging.vue","./c/PigLatin.vue","./c/Setup.vue","./c/TheAnimalGame.vue","./c/TheAnimalGameRevisited.vue","./cpp/ClassDesignExercises.vue","./cpp/FlowOfControl.vue","./cpp/ListStructureExercises.vue","./cpp/Setup.vue","./cpp/SimpleLoopingAndTesting.vue","./cpp/VectorAndIoStreamExercises.vue","./java/CatAndMouse.vue","./java/CatAndMouseGui.vue","./java/CellularAutomaton.vue","./java/MadLibs.vue","./java/SimpleRpnCalculator.vue","./matlab/CellularAutomation.vue","./matlab/CorrelationCoefficient.vue","./matlab/GeneralizedDiceProbabilities.vue","./matlab/HeatTransfer.vue","./matlab/ImageManipulation.vue","./matlab/WorkingWithTheSymbolicMathToolbox.vue","./python/CellularAutomaton.vue","./python/PythonPoweredUnitConverter.vue","./python/Setup.vue","./python/TurtleArena.vue","./python/TurtleBehavior.vue","./unix/BashCalculator.vue","./unix/CatAndMouse.vue","./unix/GrepAndSed.vue","./unix/ProcessManagement.vue","./unix/RemoteProcessExecution.vue","./unix/TheShellAndSimpleFilters.vue","./unix/UnixBasics.vue","webpackContext","req","webpackContextResolve","Error","keys","Object","resolve","CellularAutomaton","b","rule","initial","arguments","length","undefined","h","w","arr","ruleNum","j","component","_this","step","java_CellularAutomaton","_l","i","key","_s","Math","pow","_e","sign","border-collapse","class","fill-black","border","pixel","cellularAutomation","row","join","placeholder","model","callback","$$v","testRule","expression","testStep","parseInt","cellspacing","cellpadding","align","ssrContext","InputAndOutput","Iterators","cpp_FlowOfControl","alt","settings","matlab","piazza","appointment","c","unix","cpp","java","python","47b","NavBar","global_NavBar","to","info","courseId","router-link-active","$route","params","App","selectortype_template_index_0_src_App","src_App","App_normalizeComponent","system","Home","s","components_Home","asset","target","src_components_Home","Home_normalizeComponent","courses_calendar","schedule","1","material","topic","reading","assignment","quiz","2","template","3","4","5","6","7","8","9","10","11","12","13","14","Calendar","week","makeCell","assignmentParser","content","quizParser","result","submodule_Calendar","calendar","rowId","cell","cellId","rowspan","span","domProps","innerHTML","text","scope","global_submodule_Calendar","Calendar_normalizeComponent","Course","error","global_Course","courses","components_global_Course","Course_normalizeComponent","Appointment","submodule_Appointment","appointmentUrl","aspect","global_submodule_Appointment","Appointment_normalizeComponent","Assignment","default","obj","_componentName$split","componentName","split","submodule_Assignment","assignmentComponent","starter_code_base_path","starterId","assignmentId","tag","global_submodule_Assignment","Assignment_normalizeComponent","Quiz","submodule_Quiz","quizId","global_submodule_Quiz","Quiz_normalizeComponent","vue_esm","use","vue_router_esm","router","mode","scrollBehavior","from","savedPosition","x","y","routes","path","children","redirect","partial_Readings","idx","_t","submodule_partial_Readings","Readings_normalizeComponent","partial_QuizQuestion","submodule_partial_QuizQuestion","QuizQuestion_normalizeComponent","partial_QuizSolution","submodule_partial_QuizSolution","QuizSolution_normalizeComponent","es","vue_highlightjs_default","a","vue_analytics_default","config","productionTip","el","components","ArraysStructuresAndFiles","python_TurtleBehavior","unix_BashCalculator","DataStructures","ObjectOrientedProgramming","AdvancedObjectsAndClasses","cpp_Setup","c_Setup","ClassDesign","java_CatAndMouseGui","_7b_MinimumSpanningTree","overflow","ExpressionsAndFunctions","python_Setup","GrepAndSed","unix_GrepAndSed","cpp_ListStructureExercises","java_CatAndMouse","FunctionsAndArgumentPointers","AdvancedArrayAndMatrixOperations","DynamicallyAllocatedData","matlab_GeneralizedDiceProbabilities","python_PythonPoweredUnitConverter","_7b_HashingExercises","./47b/DataStructureDesign.vue","./47b/GraphRepresentations.vue","./47b/Hashing.vue","./47b/Heaps.vue","./47b/Iterators.vue","./c/ArraysStructuresAndFiles.vue","./c/FunctionsAndArgumentPointers.vue","./c/Fundamentals.vue","./c/GeneralUseOfPointers.vue","./c/LinkedStructures.vue","./cpp/ClassDesign.vue","./cpp/DynamicallyAllocatedData.vue","./cpp/Fundamentals.vue","./cpp/VectorsAndIoStreams.vue","./java/AdvancedObjectsAndClasses.vue","./java/DataStructures.vue","./java/Exceptions.vue","./java/Fundamentals.vue","./java/GuiFundamentals.vue","./matlab/AdvancedArrayAndMatrixOperations.vue","./matlab/CellArraysAndStructures.vue","./matlab/IntroductionToArrayAndMatrixOperations.vue","./matlab/PlottingAndFunctionHandles.vue","./matlab/SymbolicMathOperations.vue","./python/CollectionsAndMutations.vue","./python/ExpressionsAndFunctions.vue","./python/InputAndOutput.vue","./python/ObjectOrientedProgramming.vue","./python/TkinterAndEventBasedProgramming.vue","./unix/BashScripting.vue","./unix/Fundamentals.vue","./unix/Ssh.vue","matlab_CorrelationCoefficient","unix_RemoteProcessExecution","unix_ProcessManagement","matlab_CellularAutomation","matlab_HeatTransfer","Heaps","GraphRepresentations","unix_UnixBasics","DataStructureDesign","TkinterAndEventBasedProgramming","VectorsAndIoStreams","cpp_SimpleLoopingAndTesting","matlab_ImageManipulation","SymbolicMathOperations","c_PigLatin","unix_CatAndMouse","python_CellularAutomaton"],"mappings":"yCAAAA,EAAAC,QAAAC,EAAAC,EAAA,sDCAAH,EAAAC,QAAA,ypFCAAD,EAAAC,QAAAC,EAAAC,EAAA,6HCAA,IAoBAC,GADiBC,OAnBjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAgHI,OAAOC,WAEhNC,MAAA,uDACAC,KAAA,kKAGAD,MAAA,uDACAC,KAAA,mKAGAD,MAAA,uDACAC,KAAA,uKAGAD,MAAA,uDACAC,KAAA,8KAEOX,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAyGQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,yeAA2eN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,wHAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,4LAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAwcQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,2FAA6FN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAwCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,qHAAuHN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAwCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,4GAA8GN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAwCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,8FAAgGN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAwCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,kGAAwGN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAwCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,wGAA0GN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAwCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,wTAA0TN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,SAAwDW,YAAA,yBAAmCX,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAkIQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,2FAA6FN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAuLQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,uHAAuHN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAA4NQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,8GAA8GN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAoKQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,gGAAgGN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAA6JQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,kGAAwGN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAsJQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,wGAA0GN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAqGQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,oTAA0TN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,8DAA4IF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,8CAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,4DAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,4DAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA+sBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gDAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,8CAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,uDAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,wHAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,+DAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAyoBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,gFAAgFN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4GQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,yKAAwK,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,8DAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,0HAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,2DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gDAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,2CAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,2DAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,mEAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,qCAA+pCF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,4FAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,gDAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,gDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAodQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,uFAAuFN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0IQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,0HAAyH,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gDAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,wDAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,8EAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,yBAA4WF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,sEAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAiYQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,iUAAgU,YAE96VU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAA/DH,KAA+DK,GAAA,qPAA0R,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,qCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,6CCL1cW,EAbArB,EAAA,OAaAsB,CAXA,KAaApB,GATA,EAEA,KAEA,KAEA,MAUAqB,EAAA,QAAAF,EAAA,8FCtBA,IAGAG,GADiBrB,OAFjB,WAA0BE,KAAaE,eAAbF,KAAuCI,MAAAD,GAAwB,OAA/DH,KAA+DM,GAAA,IAExES,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8KAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,6BAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8DAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,yDAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,yCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,+CAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,yEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,mJAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,gGAA47DN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,qEAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iQAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,iCAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,yHAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,sFAA6pCN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8HAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,6FAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,qHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,sCAA+lBF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,6IAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,8DAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6IAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,+DAAmkBN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,8BCY91IW,EAbArB,EAAA,OAaAsB,CAXA,KAaAE,GATA,EAEA,KAEA,KAEA,MAUAD,EAAA,QAAAF,EAAA,gCCtBAvB,EAAAC,QAAAC,EAAAC,EAAA,6JCAA,IAYAwB,GADiBtB,OAXjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAA4HI,OAAOC,WAE5NC,MAAA,0EACAC,KAAA,6GAGAD,MAAA,0EACAC,KAAA,4GAEOX,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,+FAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAuSQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,+JAA+JN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,kHAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAqRQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,qHAA2HN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA+HQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,mBAAqBN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,uDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2QQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,qBAAqBN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,oRAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA+dQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,4iBAAgiBN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,gDAElrFU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAA/DH,KAA+DK,GAAA,waAA6UF,EAAA,QAA5YH,KAA4YK,GAAA,OAA5YL,KAA4YK,GAAA,yQAAAF,EAAA,QAA5YH,KAA4YK,GAAA,YAA5YL,KAA4YK,GAAA,kBAAAF,EAAA,QAA5YH,KAA4YK,GAAA,YAA5YL,KAA4YK,GAAA,oDCGhbW,EAbArB,EAAA,OAaAsB,CAXA,KAaAG,GATA,EAEA,KAEA,KAEA,MAUAF,EAAA,QAAAF,EAAA,8BCtBAvB,EAAAC,QAAA,umFCAA,IASA2B,GADiBvB,OARjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAoHI,OAAOC,WAEpNC,MAAA,6CACAC,KAAA,gEACAY,MAAA,sBAEOvB,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,wYAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0kBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,muCAA2vCN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,6GAAAF,EAAA,OAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,sMAAAF,EAAA,OAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,uJAAAF,EAAA,OAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,gVAAAN,EAAAM,GAAA,KAAAF,EAAA,KAA89BoB,aAAaC,aAAA,YAAuBrB,EAAA,OAAYoB,aAAaE,MAAA,SAAgBlB,OAAQmB,IAAA/B,EAAA,gBAAsC,GAAAI,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,kOAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iKAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iEAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAwoBoB,aAAaC,aAAA,YAAuBrB,EAAA,OAAYoB,aAAaE,MAAA,SAAgBlB,OAAQmB,IAAA/B,EAAA,aAAuCI,EAAAM,GAAA,KAAAF,EAAA,OAA0BQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,2dAA2dN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAkDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,gGAA6EF,EAAA,UAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,cAAyFF,EAAA,UAAAJ,EAAAM,GAAA,oCAA8DN,EAAAM,GAAA,4JAAyJF,EAAA,UAAAJ,EAAAM,GAAA,8XAA4ZF,EAAA,MAAAJ,EAAAM,GAAA,mBAAAF,EAAA,UAAAJ,EAAAM,GAAA,8EAA0IF,EAAA,MAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,sJAA2LF,EAAA,UAAAJ,EAAAM,GAAA,gGAA4HN,EAAAM,GAAA,cAAgB,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gEAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,6NAAAF,EAAA,OAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,uMAAAF,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,2ZAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,yFAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,oEAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2DAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,+OAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,wBAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,uDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAm4DoB,aAAaC,aAAA,YAAuBrB,EAAA,OAAYoB,aAAaE,MAAA,SAAgBlB,OAAQmB,IAAA/B,EAAA,aAAqCI,EAAAM,GAAA,KAAAF,EAAA,OAA0BQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,4JAAiKF,EAAA,MAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,0dAAohBF,EAAA,MAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,gDAAwGF,EAAA,MAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,oJAAyMF,EAAA,MAAAJ,EAAAM,GAAA,+CAAAN,EAAAM,GAAA,kCAAqGF,EAAA,MAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,+NAA+RN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,sEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,oFAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,uDAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8HAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,oDAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,cAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,sFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,8FAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,kCAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,0BAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,iCAAAF,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,qFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,4CAAurEF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,KAAAF,EAAA,OAAoHQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBX,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,2BAA+BN,EAAAM,GAAA,qBAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,8JAAqOF,EAAA,MAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,kHAA2KF,EAAA,QAAgBW,YAAA,SAAmBf,EAAAM,GAAA,2CAA4CF,EAAA,UAAAJ,EAAAM,GAAA,eAAAF,EAAA,QAAsDW,YAAA,SAAmBf,EAAAM,GAAA,6CAA6BF,EAAA,UAAAJ,EAAAM,GAAA,eAAAF,EAAA,QAAuEW,YAAA,SAAmBf,EAAAM,GAAA,6CAAiBF,EAAA,UAAAJ,EAAAM,GAAA,eAAAF,EAAA,QAAmFW,YAAA,SAAmBf,EAAAM,GAAA,gCAAoCN,EAAAM,GAAA,mBAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,yHAA6KF,EAAA,QAAgCW,YAAA,SAAmBf,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,yCAA4EF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,uKAA0LF,EAAA,QAAsCW,YAAA,SAAmBf,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAyBF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,gDAAwGF,EAAA,MAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,gDAAwGF,EAAA,MAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,sBAAAF,EAAA,QAA0FW,YAAA,SAAmBf,EAAAM,GAAA,0BAA8BN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sBAAAF,EAAA,QAA4FW,YAAA,SAAmBf,EAAAM,GAAA,WAAeN,EAAAM,GAAA,oBAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,4DAAiHF,EAAA,QAAgCW,YAAA,SAAmBf,EAAAM,GAAA,+BAAmCN,EAAAM,GAAA,8EAAsFF,EAAA,MAAAJ,EAAAM,GAAA,+CAAAN,EAAAM,GAAA,kCAAqGF,EAAA,MAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,gIAAwLF,EAAA,QAA4BW,YAAA,SAAmBf,EAAAM,GAAA,8BAAkCN,EAAAM,GAAA,iCAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAoHW,YAAA,SAAmBf,EAAAM,GAAA,0DAA8DN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,uEAAiGF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,mFAAoJ,YAEt+cU,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sCCMnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaAI,GATA,EAEA,KAEA,KAEA,MAUAH,EAAA,QAAAF,EAAA,8FCtBA,IAUAW,GADiB7B,OATjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAuGI,OAAOC,WAEvMC,MAAA,wFAGAA,MAAA,uDAEKV,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,+LAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gPAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,yIAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,4CAEYU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,0RCKnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaAU,GATA,EAEA,KAEA,KAEA,MAUAT,EAAA,QAAAF,EAAA,8FCrBA,ICEAY,GADiB9B,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,2FAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAiRQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+FAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA8JQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4HAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2LQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wFAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,OAEh2BS,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAyFI,OAAOsB,KAAA,6HAAkI1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAuHI,OAAOsB,KAAA,qHAA0H1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAsHI,OAAOsB,KAAA,8GAAmH1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAsHI,OAAOsB,KAAA,kHAAuH1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAwHI,OAAOsB,KAAA,0GAA+G1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,kCAAuG,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,4GAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,kBAAsP,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,0JAA6M,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,mHAAAF,EAAA,QAAuIoB,aAAaO,cAAA,UAAzP9B,KAA+QK,GAAA,QAA/QL,KAA+QK,GAAA,2BAAAF,EAAA,QAA8DoB,aAAaO,cAAA,UAA1V9B,KAAgXK,GAAA,SAAhXL,KAAgXK,GAAA,8BAAAF,EAAA,QAAkEoB,aAAaO,cAAA,UAA/b9B,KAAqdK,GAAA,QAArdL,KAAqdK,GAAA,4BAAmD,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAoBX,EAAA,QAAaoB,aAAaO,cAAA,UAA/H9B,KAAqJK,GAAA,SAArJL,KAAqJK,GAAA,wBAAgD,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAoBX,EAAA,QAAaoB,aAAaO,cAAA,UAA/H9B,KAAqJK,GAAA,QAArJL,KAAqJK,GAAA,6BAAAF,EAAA,QAAgEoB,aAAaO,cAAA,UAAlO9B,KAAwPK,GAAA,iBAAxPL,KAAwPK,GAAA,wFAAAF,EAAA,QAAoIoB,aAAaO,cAAA,UAAzY9B,KAA+ZK,GAAA,iCAAyC,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,QAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,oCAAAF,EAAA,OAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,mIAA2Q,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,SAA9IzB,KAA8MK,GAAA,KAAAF,EAAA,cAA9MH,KAA8MK,GAAA,qCAA0E,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,iJAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gIAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,8HAAolBF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,+EAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,yBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAqZW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,SAAsE1B,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,6CAAkF,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4YAAobN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uPAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,6BAAodF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,gEAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uJAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,iDAAAF,EAAA,OAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,8EAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oMAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8QAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,wBAAi1C,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uWAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mDAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,2DAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,uDAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,WAA+4C,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sFCa91RW,EAdArB,EAAA,OAcAsB,QFXA,yCACA,aEYAW,GATA,EAEA,KAEA,KAEA,MAUAV,EAAA,QAAAF,EAAA,8BCvBAvB,EAAAC,QAAA,ojQCAAD,EAAAC,QAAAC,EAAAC,EAAA,0DCAAH,EAAAC,QAAAC,EAAAC,EAAA,qHCCA,ICEAmC,GADiBjC,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0jBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,glBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA64CQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,sSAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA6cQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2GAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4NQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,yqBAA8EN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yaAAAN,EAAAM,GAAA,KAAAF,EAAA,cAAAA,EAAA,MAAklCoB,aAAaS,MAAA,UAAAC,OAAA,OAAgClC,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4VAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA+dQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,kYAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mJAA8cN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2HAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAuRQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAkFQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4DQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4DQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4DQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA0GQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4DQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4DQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4DQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAoJQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,2FAA6EN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAiGQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2UAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAybQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,0DAA4DN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAoDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAiIQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,0CAA4CN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAoGQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAmFQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gLAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+DAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAwXQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,mIAAkIN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8DAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAyKQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,0EAA4EN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAkGQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4DQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2IQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,iKAAuKN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAqGQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4DQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4DQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,0FAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qGAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,OAE/jTS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gNAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,qCAA4S,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAyFI,OAAOsB,KAAA,gGAAqG1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAA8HI,OAAOsB,KAAA,gGAAqG1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAqHI,OAAOsB,KAAA,8GAAmH1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAgII,OAAOsB,KAAA,8GAAmH1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,wBAA6F,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,4GAAAF,EAAA,QAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,kBAAwP,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,uFAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,sWAAof,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,oCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,oTAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,QAAyb,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,iNAAAF,EAAA,QAAqOoB,aAAaO,cAAA,UAAvV9B,KAA6WK,GAAA,OAA7WL,KAA6WK,GAAA,+DAAAF,EAAA,QAAiGoB,aAAaO,cAAA,UAA3d9B,KAAifK,GAAA,aAAjfL,KAAifK,GAAA,4wBAAAF,EAAA,QAAozBoB,aAAaO,cAAA,UAAlzC9B,KAAw0CK,GAAA,UAAkB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,kMAAAF,EAAA,QAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,QAAwQ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,6CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,2DAAsK,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAwBW,YAAA,SAAvFd,KAA0GK,GAAA,kBAAAF,EAAA,QAA1GH,KAA0GK,GAAA,QAA1GL,KAA0GK,GAAA,sHAAAF,EAAA,QAA1GH,KAA0GK,GAAA,SAA1GL,KAA0GK,GAAA,mBAAAF,EAAA,QAA1GH,KAA0GK,GAAA,WAA1GL,KAA0GK,GAAA,yCAAmT,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,MAAAF,EAAA,QAA0BoB,aAAaO,cAAA,UAA5I9B,KAAkKK,GAAA,aAAlKL,KAAkKK,GAAA,uMAAAF,EAAA,QAA+OoB,aAAaO,cAAA,UAA9Z9B,KAAobK,GAAA,OAApbL,KAAobK,GAAA,gEAAsF,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,MAAiCoB,aAAaS,MAAA,UAAAC,OAAA,OAA7GjC,KAA6IK,GAAA,gBAA7IL,KAA6IK,GAAA,KAAAF,EAAA,KAA7IH,KAA6IK,GAAA,qGAAwJ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,oBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,2CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,qCAA6L,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,MAAAF,EAAA,QAA0BoB,aAAaO,cAAA,UAA5I9B,KAAkKK,GAAA,iBAAlKL,KAAkKK,GAAA,kyBAAg1B,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,wEAAAF,EAAA,QAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,sXAA8f,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAhJ9B,KAAsKK,GAAA,gBAAtKL,KAAsKK,GAAA,4DAA2F,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,yFAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,mFAAsO,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAhJ9B,KAAsKK,GAAA,SAAtKL,KAAsKK,GAAA,iFAAyG,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,0NAAAF,EAAA,QAA/DH,KAA+DK,GAAA,OAA/DL,KAAmUK,GAAA,uFAAkG,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAhJ9B,KAAsKK,GAAA,UAAtKL,KAAsKK,GAAA,2BAAoD,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,QAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,iIAAiM,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAwBW,YAAA,SAAvFd,KAA0GK,GAAA,sNAAAF,EAAA,OAA1GH,KAA0GK,GAAA,2BAA1GL,KAA0GK,GAAA,mDAAoU,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,qCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,wCAAwI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAhJ9B,KAAsKK,GAAA,mBAAtKL,KAAsKK,GAAA,yBAA2D,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,oCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,kNAAiT,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAhJ9B,KAAsKK,GAAA,UAAtKL,KAAsKK,GAAA,8BAAuD,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,iBAA/DL,KAA+DK,GAAA,0EAAAF,EAAA,QAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,QAAuN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAhJ9B,KAAsKK,GAAA,mBAAtKL,KAAsKK,GAAA,eAAiD,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,6FAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,iDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,sBAAiQ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAhJ9B,KAAsKK,GAAA,qBAAtKL,KAAsKK,GAAA,4BAAAF,EAAA,QAA4EoB,aAAaO,cAAA,UAA/P9B,KAAqRK,GAAA,UAArRL,KAAqRK,GAAA,6GAAwI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,0DAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,yBAA2I,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAwBW,YAAA,SAAvFd,KAA0GK,GAAA,iBAAAF,EAAA,QAA1GH,KAA0GK,GAAA,SAA1GL,KAA0GK,GAAA,cAAAF,EAAA,OAA1GH,KAA0GK,GAAA,YAA1GL,KAA0GK,GAAA,iJAA8P,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAhJ9B,KAAsKK,GAAA,mBAAtKL,KAAsKK,GAAA,0CAAAF,EAAA,QAA0FoB,aAAaO,cAAA,UAA7Q9B,KAAmSK,GAAA,UAAnSL,KAAmSK,GAAA,MAAAF,EAAA,QAA2CoB,aAAaO,cAAA,UAA3V9B,KAAiXK,GAAA,OAAjXL,KAAiXK,GAAA,sGAA4H,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,mEAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,mJAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,wFAAyd,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,MAAiCoB,aAAaS,MAAA,UAAAC,OAAA,OAAgClC,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0EAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,wDAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,sEAAAF,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,eAAugB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,2HAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,0BAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,sGAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,8CAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,yBAA2mB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAhJ9B,KAAsKK,GAAA,UAAtKL,KAAsKK,GAAA,2GAAsI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,sNAAAF,EAAA,QAA/DH,KAA+DK,GAAA,uBAA/DL,KAA+DK,GAAA,kHAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,SAAAF,EAAA,QAA/DH,KAA+DK,GAAA,qBAA/DL,KAA+DK,GAAA,wDAAkiB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,0BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,+EAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,8CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,+HAA2Z,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,MAAiCoB,aAAaS,MAAA,UAAAC,OAAA,OAA7GjC,KAA6IK,GAAA,gBAA7IL,KAA6IK,GAAA,KAAAF,EAAA,KAA7IH,KAA6IK,GAAA,gCAAAF,EAAA,QAA7IH,KAA6IK,GAAA,WAA7IL,KAA6IK,GAAA,qEAAAF,EAAA,QAA7IH,KAA6IK,GAAA,WAA7IL,KAA6IK,GAAA,+CAA+Q,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,uBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,8BAA6G,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAhJ9B,KAAsKK,GAAA,UAAtKL,KAAsKK,GAAA,iIAA4J,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,uMAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,+LAA6oB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,qDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,4CAA0N,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAoBf,EAAAM,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAsB/B,EAAAM,GAAA,eAAAN,EAAAM,GAAA,0BAAAF,EAAA,QAAoEoB,aAAaO,cAAA,UAAsB/B,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,yCAAAF,EAAA,QAA8FoB,aAAaO,cAAA,UAAsB/B,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,uCAAAF,EAAA,QAA4FoB,aAAaO,cAAA,UAAsB/B,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,oCAAAF,EAAA,QAAyFoB,aAAaO,cAAA,UAAsB/B,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,iCAAAF,EAAA,QAAsFoB,aAAaO,cAAA,UAAsB/B,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,yCAAAF,EAAA,QAA8FoB,aAAaO,cAAA,UAAsB/B,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,iCAAAF,EAAA,QAAsFoB,aAAaO,cAAA,UAAsB/B,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,qCAA8E,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,+EAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,QAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,0BAAiQ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,MAAiCoB,aAAaS,MAAA,UAAAC,OAAA,OAA7GjC,KAA6IK,GAAA,gBAA7IL,KAA6IK,GAAA,KAAAF,EAAA,KAA7IH,KAA6IK,GAAA,gGAAAF,EAAA,QAA7IH,KAA6IK,GAAA,SAA7IL,KAA6IK,GAAA,4EAAiQ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2GAAAF,EAAA,QAA/DH,KAA+DK,GAAA,uBAA/DL,KAA+DK,GAAA,SAAyL,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,MAAiCoB,aAAaS,MAAA,UAAAC,OAAA,OAA7GjC,KAA6IK,GAAA,gBAA7IL,KAA6IK,GAAA,KAAAF,EAAA,KAA7IH,KAA6IK,GAAA,yOAA4R,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,MAAiCoB,aAAaS,MAAA,UAAAC,OAAA,OAA7GjC,KAA6IK,GAAA,gBAA7IL,KAA6IK,GAAA,KAAAF,EAAA,KAA7IH,KAA6IK,GAAA,iCAAAF,EAAA,QAA7IH,KAA6IK,GAAA,UAA7IL,KAA6IK,GAAA,YAAAF,EAAA,QAA7IH,KAA6IK,GAAA,SAA7IL,KAA6IK,GAAA,iFAAsP,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,MAAiCoB,aAAaS,MAAA,UAAAC,OAAA,OAA7GjC,KAA6IK,GAAA,gBAA7IL,KAA6IK,GAAA,KAAAF,EAAA,KAA7IH,KAA6IK,GAAA,6CAAAF,EAAA,QAA7IH,KAA6IK,GAAA,WAA7IL,KAA6IK,GAAA,+BAAAF,EAAA,QAA7IH,KAA6IK,GAAA,mBAA7IL,KAA6IK,GAAA,oRAAme,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,sCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,gBAA8G,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAhJ9B,KAAsKK,GAAA,UAAtKL,KAAsKK,GAAA,+IAA0K,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,sCAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,2DAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,kJAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,yGAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,mEAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,mIAAiuB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAhJ9B,KAAsKK,GAAA,eAAtKL,KAAsKK,GAAA,kEAAAF,EAAA,QAA4GoB,aAAaO,cAAA,UAA/R9B,KAAqTK,GAAA,cAArTL,KAAqTK,GAAA,oBAAiD,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,iGAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,yBAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,4JAA+d,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAhJ9B,KAAsKK,GAAA,UAAtKL,KAAsKK,GAAA,0BAAmD,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,kBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,mCAAsL,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,UAAAF,EAAA,QAA8BoB,aAAaO,cAAA,UAAhJ9B,KAAsKK,GAAA,mBAAtKL,KAAsKK,GAAA,gDAAAF,EAAA,QAA8FoB,aAAaO,cAAA,UAAjR9B,KAAuSK,GAAA,oBAAvSL,KAAuSK,GAAA,uBAA0D,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,mHAAgN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,iBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,YAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,kDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,mGAA6T,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,MAAiCoB,aAAaS,MAAA,UAAAC,OAAA,OAA7GjC,KAA6IK,GAAA,gBAA7IL,KAA6IK,GAAA,KAAAF,EAAA,KAA7IH,KAA6IK,GAAA,8JAAiN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,QAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,mBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,QAA6H,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gEAAAF,EAAA,QAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,4JAA0R,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,yBAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mHCazz1BW,EAdArB,EAAA,OAcAsB,QFXA,iCACA,aEYAc,GATA,EAEA,KAEA,KAEA,MAUAb,EAAA,QAAAF,EAAA,8FCtBA,ICEAkB,GADiBpC,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAgLQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,OAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAElTS,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAwFW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,SAAmD1B,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qJAAAF,EAAA,KAAyQI,OAAOsB,KAAA,0DAA+D9B,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,oFAAAF,EAAA,KAAAJ,EAAAM,GAAA,yEAAAN,EAAAM,GAAA,4JAAkON,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8YAA+TN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,4BAAAF,EAAA,KAA6UI,OAAOsB,KAAA,0DAA+D9B,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gCAAAF,EAAA,KAA4GI,OAAOsB,KAAA,oEAAyE9B,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4BAAAF,EAAA,KAAsGI,OAAOsB,KAAA,yCAA8C9B,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4BAAAF,EAAA,KAAqHI,OAAOsB,KAAA,uCAA4C9B,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0CAAAF,EAAA,KAAmII,OAAOsB,KAAA,mEAAwE9B,EAAAM,GAAA,qCAA6C,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,wGAAAF,EAAA,KAAsII,OAAOsB,KAAA,kEAAuE9B,EAAAM,GAAA,WAAAN,EAAAM,GAAA,+EAAAF,EAAA,KAAkHI,OAAOsB,KAAA,uCAA4C9B,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,6IAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,sFAAAF,EAAA,KAAkUI,OAAOsB,KAAA,kEAAuE9B,EAAAM,GAAA,WAAAN,EAAAM,GAAA,qVAA+W,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,yUAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,8DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,qFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,oFAAAF,EAAA,OAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,0CAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,mEAAAF,EAAA,OAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,yKAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,8CAAg3C,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,yEAAAF,EAAA,UAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,gBAAmJ,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAoBf,EAAAM,GAAA,MAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,gLAAAF,EAAA,KAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kGAAAF,EAAA,KAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,mLAAAF,EAAA,KAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8HAAAF,EAAA,KAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kGAAAF,EAAA,KAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,sKAAAF,EAAA,KAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8HAAAF,EAAA,KAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kGAAAF,EAAA,KAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8HAAAF,EAAA,KAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,mJAAAF,EAAA,KAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,sEAAAF,EAAA,KAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,kGAAAF,EAAA,KAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,8HAAAF,EAAA,KAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,mMAAAF,EAAA,KAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,0JAAAF,EAAA,KAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,uNAAAF,EAAA,KAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,8HAAAF,EAAA,KAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,0JAAAF,EAAA,KAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,wNAAAF,EAAA,KAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,sLAAAF,EAAA,KAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,0JAAAF,EAAA,KAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,8NAAAF,EAAA,KAAAJ,EAAAM,GAAA,aAA63H,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,wBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAA/DH,KAA+DK,GAAA,uNAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAA/DH,KAA+DK,GAAA,yCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,sBAA/DL,KAA+DK,GAAA,0HAAsiB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,+BAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAA/DH,KAA+DK,GAAA,iGAAAF,EAAA,KAAkNI,OAAOsB,KAAA,mEAAxR7B,KAAgWK,GAAA,2BAAhWL,KAAgWK,GAAA,+BAAyE,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,wCAAAF,EAAA,MAAAJ,EAAAM,GAAA,sFAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,0CAAAF,EAAA,MAAAJ,EAAAM,GAAA,gKAAAF,EAAA,MAAAJ,EAAAM,GAAA,yFAAAF,EAAA,MAAAJ,EAAAM,GAAA,iFAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,6DAA83BF,EAAA,MAAAJ,EAAAM,GAAA,+DAAiFF,EAAA,MAAAJ,EAAAM,GAAA,yECaxrWW,EAdArB,EAAA,OAcAsB,QFXA,6CACA,MEYAiB,GATA,EAEA,KAEA,KAEA,MAUAhB,EAAA,QAAAF,EAAA,8FCtBA,ICeAmB,GADiBrC,OAfjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,iGAGAA,MAAA,yGAGAA,MAAA,2FAGAA,MAAA,4FAEOV,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA0KQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,4FAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0NQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgIQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAwLQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,8FAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA6MQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,4FAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,SAEj0CS,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2EAAAF,EAAA,OAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,qFAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8QAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,2EAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAm1BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,SAA0D1B,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4EAAgL,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,4GAAAF,EAAA,QAA/DH,KAA+DK,GAAA,uBAA/DL,KAA+DK,GAAA,kBAA+P,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6BAAAF,EAAA,QAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,8FAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,wGAAAF,EAAA,KAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,mGAA8dF,EAAA,KAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,sBAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,wGAAkQ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,6BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,0BAA/DL,KAA+DK,GAAA,gFAAAF,EAAA,MAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,wGAAAF,EAAA,QAA/DH,KAA+DK,GAAA,yBAA/DL,KAA+DK,GAAA,wBAA4Y,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,0HAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,yBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,gDAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,8HAAqf,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,0LAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,4FAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,kCAAmcF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,8GAAoL,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,qDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,kDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,iRAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,QAA4f,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,kCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,yBAA/DL,KAA+DK,GAAA,sGAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,QAAoQ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,wCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,sBAA/DL,KAA+DK,GAAA,iDAAAF,EAAA,MAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,6MAAAF,EAAA,QAA/DH,KAA+DK,GAAA,yBAA/DL,KAA+DK,GAAA,kFAAwhB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,6EAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,yCAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,gIAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,mDAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,QAAid,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,4BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,uBAA/DL,KAA+DK,GAAA,wCAAyI,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,qHAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,sBAAAF,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,kCAA2XN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,8DAAiJN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,0FAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,wDAAwbN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yIAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qECA7yOW,EAdArB,EAAA,OAcAsB,QFXA,0CACA,aEYAkB,GATA,EAEA,KAEA,KAEA,MAUAjB,EAAA,QAAAF,EAAA,8FCtBA,ICEAoB,GADiBtC,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kUAAgSF,EAAA,YAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,8BAAAF,EAAA,YAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,6EAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gPAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAg1BoB,aAAaC,aAAA,YAAuBrB,EAAA,SAAcoB,aAAac,QAAA,eAAAb,aAAA,OAAAc,YAAA,WAAkEnC,EAAA,MAAAA,EAAA,MAAoBoB,aAAaE,MAAA,MAAAc,QAAA,UAAgCpC,EAAA,OAAYQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,uGAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,SAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAgKoB,aAAaC,aAAA,YAAuBzB,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,sIAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgRQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,obAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAmhBoB,aAAaC,aAAA,YAAuBrB,EAAA,SAAcoB,aAAac,QAAA,eAAAb,aAAA,OAAAc,YAAA,WAAkEnC,EAAA,MAAAA,EAAA,MAAoBoB,aAAaE,MAAA,MAAAc,QAAA,UAAgCpC,EAAA,OAAYQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,SAAAP,EAAAM,GAAA,KAAAF,EAAA,KAA4FoB,aAAaC,aAAA,YAAuBzB,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,oFAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAuLQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,+DAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,OAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAyOQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,0MAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAyQQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,uBAAyBN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,QAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wKAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAmZQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4FAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4LQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8GAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,6OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAytBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,wBAA0BN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0EAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,u7BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,OAEz+KS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,oYAA8c,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qZAA6YF,EAAA,KAAAJ,EAAAM,GAAA,4GAAAN,EAAAM,GAAA,8FAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,seAAyhBN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4CAAAF,EAAA,KAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,SAAAF,EAAA,KAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,6GAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kBAAAF,EAAA,KAAAJ,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,mDAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,gDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,gFAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,cAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,iBAAguC,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,yCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,iBAA/DL,KAA+DK,GAAA,8JAAsQ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,gCAA/DL,KAA+DK,GAAA,+hBAAknB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,sFAA/DL,KAA+DK,GAAA,y1BAAm9B,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAgBoB,aAAaE,MAAA,MAAAc,QAAA,UAAgCpC,EAAA,OAAYW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,aAAuE,WAAc,IAAaxB,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,wGAA/DL,KAA+DK,GAAA,yaAAqjB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,sJAAAF,EAAA,KAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,yCAAmP,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAgBoB,aAAaE,MAAA,MAAAc,QAAA,UAAgCpC,EAAA,OAAYW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,aAAqE,WAAc,IAAA1B,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,4BAAAF,EAAA,KAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,2BAAAF,EAAA,KAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,kDAAAF,EAAA,KAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,SAAAF,EAAA,KAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,sHAAkZ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,2mBAAyoB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,yGAA/DL,KAA+DK,GAAA,8CAAAF,EAAA,KAA/DH,KAA+DK,GAAA,sJAA/DL,KAA+DK,GAAA,mNAA0jB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,4JAAAF,EAAA,KAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,sQAAAF,EAAA,KAA/DH,KAA+DK,GAAA,2FAAikB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,yCAAsE,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,uSAAqU,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,uKAAAF,EAAA,KAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,MAAAF,EAAA,KAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,SAAAF,EAAA,KAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,uNAAogB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,6BAA/DL,KAA+DK,GAAA,iCAAAF,EAAA,KAA/DH,KAA+DK,GAAA,0HAA/DL,KAA+DK,GAAA,qBAAAF,EAAA,KAA/DH,KAA+DK,GAAA,sEAA/DL,KAA+DK,GAAA,gBAAmX,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,+CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,MAAAF,EAAA,QAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,MAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,0OAAib,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,uCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,2KAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,0BAAqV,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,8DAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6EAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,uLAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iNAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+FAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oFAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yJAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0HAAqjD,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mDAAAF,EAAA,KAA/DH,KAA+DK,GAAA,mCAA/DL,KAA+DK,GAAA,UAAAF,EAAA,KAA/DH,KAA+DK,GAAA,qCAA/DL,KAA+DK,GAAA,oHAA0T,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,+DAA/DL,KAA+DK,GAAA,4DAA+J,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,gLAA8M,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gRAAAF,EAAA,QAA/DH,KAA+DK,GAAA,2BAA/DL,KAA+DK,GAAA,0KAAugB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,0DAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,2ZAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,0TAAAF,EAAA,KAA/DH,KAA+DK,GAAA,sCAA/DL,KAA+DK,GAAA,oNAAynC,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qIAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,saAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,oSAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,8GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,4IAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,kPAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,8mBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iUAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oQAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wUAA4rG,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4SAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,8DAAidF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,yBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+KAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,sEAAidN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,kKAAwLN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,sMAA0ON,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,sHAA0JN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,8IAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4MAA6a,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,2DAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,oBAA2TN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAkDN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAA+DN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,uCAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,qCAAoRN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+CAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sCAA4RN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+DAA2FN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yGAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,4EAAoVN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oCAAgEN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uDAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,mBAAqIN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0CAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,6GAAgNN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uCAAAF,EAAA,MAAAJ,EAAAM,GAAA,yJAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0DAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,4GAAqhBN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+EAA2GN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6CAAAF,EAAA,KAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gFAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,oEAA0iBN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mHAA+IN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uJAAmLN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sFAAkHN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,2ECaxowBW,EAdArB,EAAA,OAcAsB,QFXA,2CACA,cEYAmB,GATA,EAEA,KAEA,KAEA,MAUAlB,EAAA,QAAAF,EAAA,gCCvBAvB,EAAAC,QAAAC,EAAAC,EAAA,iECAAH,EAAAC,QAAAC,EAAAC,EAAA,2HCAA,IAOA4C,GADiB1C,OANjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAqHI,OAAOC,WAErNC,MAAA,kEAEOV,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,8JAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,yCAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,0CAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iDAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,iCAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,kEAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gJAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,6EAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAi9CQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,uJAAyJN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0KAAyGN,EAAAM,GAAA,KAAAF,EAAA,MAAwHI,OAAOkC,KAAA,OAAYtC,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAsdW,YAAA,aAAAP,OAAgCmC,MAAA,OAAavC,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,cAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gFAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6UQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,6KAAuLN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kPAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0SQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAyGQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,gDAEhlHU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAA/DH,KAA+DK,GAAA,wNAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,kBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,kECQnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaAuB,GATA,EAEA,KAEA,KAEA,MAUAtB,EAAA,QAAAF,EAAA,8FCrBA,ICYA2B,GADiB7C,OAZjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAA6BW,YAAA,SAAmBf,EAAAM,GAAA,+KAAAN,EAAAM,GAAA,KAAAF,EAAA,YAAmNI,OAAOC,WAEnWC,MAAA,oKAGAA,MAAA,6NAGAA,MAAA,4JAEON,EAAA,cAAAA,EAAA,KAAAJ,EAAAM,GAAA,4MAAAF,EAAA,KAAsPI,OAAOsB,KAAA,wDAA6D9B,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA4RI,OAAOkC,KAAA,OAAY1C,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAuMQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,kHAAsHN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4JQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,myBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,QAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,WAE1uCS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,qDAAsI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,OAAAF,EAAA,MAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,uDAAgL,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yJAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,kCAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,mIAA2oBF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,MAAAF,EAAA,KAAAJ,EAAAM,GAAA,wEAAAN,EAAAM,GAAA,OAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,sLAAgaF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,+KAA6PF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,2CAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,yWAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,+VAAqqCN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,4FAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,mKAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,uFAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,gJAAAF,EAAA,KAAAJ,EAAAM,GAAA,oFAAAN,EAAAM,GAAA,0CAAAF,EAAA,KAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qDAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mDAAkkDN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAiEN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAqFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAoFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gEAAgG,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,+EAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,gBAAiK,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,uBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,0DAAwJ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,8JAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,sHAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,6PAA2nB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,8FAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,0DAAAF,EAAA,KAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,MAA2VF,EAAA,KAAAJ,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,eAAAN,EAAAM,GAAA,wFAAwLF,EAAA,KAAAJ,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,gEAAkK,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,8DAAAF,EAAA,QAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,sBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,sDAA+O,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,+CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,wBAA/DL,KAA+DK,GAAA,yIAA8P,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,cAA+C,WAAc,IAAaM,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,QAA4BW,YAAA,UAA3Fd,KAA+GK,GAAA,cAAsB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,sBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,wBAA/DL,KAA+DK,GAAA,6CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,gEAAkP,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,iOAA0T,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,qEAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,yHAAAF,EAAA,KAAAJ,EAAAM,GAAA,mEAAAN,EAAAM,GAAA,yIAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,sBAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,2LAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,kIAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,uFAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,+CAAAF,EAAA,OAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,wBAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,yBAA4sC,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0BAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qDAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mDAAyrBN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAiEN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAqFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAoFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gECG7tVW,EAdArB,EAAA,OAcAsB,QFXA,8CACA,aEYA0B,GATA,EAEA,KAEA,KAEA,MAUAzB,EAAA,QAAAF,EAAA,8BCvBAvB,EAAAC,QAAA,ysMCAAD,EAAAC,QAAAC,EAAAC,EAAA,0ICCA,ICEAgD,GADiB9C,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,0FAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAoZQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,+CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2DAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAuUQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,+OAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mGAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAEz9BS,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAyFI,OAAOsB,KAAA,oGAAyG1B,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAuII,OAAOsB,KAAA,4EAAiF1B,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAoHI,OAAOsB,KAAA,2EAAgF1B,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAmHI,OAAOsB,KAAA,mFAAwF1B,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAwHI,OAAOsB,KAAA,mFAAwF1B,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,eAAAF,EAAA,KAAsJI,OAAOsB,KAAA,wDAA6D1B,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,mCAAuF,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6IAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAyUoB,aAAaE,MAAA,UAAgBtB,EAAA,SAAAA,EAAA,MAAuBoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAWoB,aAAae,YAAA,MAAAC,QAAA,WAAqCpC,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA6DoB,aAAagB,QAAA,WAAmBxC,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA+JoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAWoB,aAAagB,QAAA,WAAmBpC,EAAA,QAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwEoB,aAAagB,QAAA,WAAmBxC,EAAAM,GAAA,8CAAmDF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyIoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAWoB,aAAagB,QAAA,WAAmBpC,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA6DoB,aAAagB,QAAA,WAAmBxC,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0GoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAWoB,aAAagB,QAAA,WAAmBpC,EAAA,QAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA+DoB,aAAagB,QAAA,WAAmBxC,EAAAM,GAAA,gCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,0CAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,+CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAmSoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAWoB,aAAagB,QAAA,WAAmBpC,EAAA,QAAAJ,EAAAM,GAAA,sBAA8BN,EAAAM,GAAA,KAAAF,EAAA,MAAiCoB,aAAagB,QAAA,WAAmBxC,EAAAM,GAAA,kCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAoPoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAWoB,aAAagB,QAAA,WAAmBpC,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAiEoB,aAAagB,QAAA,WAAmBxC,EAAAM,GAAA,kCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iDAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA6RoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAWoB,aAAagB,QAAA,WAAmBpC,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0DoB,aAAagB,QAAA,WAAmBxC,EAAAM,GAAA,oCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iDAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA6LoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAWoB,aAAagB,QAAA,WAAmBpC,EAAA,QAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA2EoB,aAAagB,QAAA,WAAmBxC,EAAAM,GAAA,uDAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA2OoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAWoB,aAAagB,QAAA,WAAmBpC,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAqDoB,aAAagB,QAAA,WAAmBxC,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA8JoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAWoB,aAAagB,QAAA,WAAmBpC,EAAA,QAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA+DoB,aAAagB,QAAA,WAAmBxC,EAAAM,GAAA,kCAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,gBAA2F,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,mBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,uCAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,eAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,4CAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,yGAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,6DAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kBAAwyB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,kQAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,yFAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,uFAA+gB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,0BAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8CAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iCAA0T,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAgBoB,aAAauB,kBAAA,UAA0B3C,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,cAA+S,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAgBoB,aAAauB,kBAAA,UAA0B3C,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,cAA6oB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8CAAAF,EAAA,QAAAJ,EAAAM,GAAA,kFAAAN,EAAAM,GAAA,kCAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAucoB,aAAawB,eAAA,OAAAC,iBAAA,MAAAC,eAAA,QAAAC,eAAA,QAAAjB,OAAA,SAAAT,aAAA,YAAoIrB,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4BAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,6DAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0CAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,4EAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oDAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iLAAg9C,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,mICa9tVW,EAdArB,EAAA,OAcAsB,QFXA,8DACA,MEYA2B,GATA,EAEA,KAEA,KAEA,MAUA1B,EAAA,QAAAF,EAAA,gCCvBAvB,EAAAC,QAAAC,EAAAC,EAAA,iICCA,ICEAuD,GADiBrD,OAFjB,WAA0BE,KAAaE,eAAbF,KAAuCI,MAAAD,GAAwB,OAA/DH,KAA+DM,GAAA,IAExES,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,8DAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,+KAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,sRAAAF,EAAA,OAAAJ,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4GAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6CAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,iBAAAF,EAAA,KAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kRAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,yCAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,qHAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,qEAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8FAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kIAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iEAAAN,EAAAM,GAAA,KAAAF,EAAA,cAAyiHW,YAAA,SAAmBf,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,cAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,sHAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,cAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,uDAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0EAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,yDAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,wDAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,2HAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,oDAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,OAAy8CN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,OAA+KN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0DAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2DCavxKW,EAdArB,EAAA,OAcAsB,QFXA,sCACA,aEYAkC,GATA,EAEA,KAEA,KAEA,MAUAjC,EAAA,QAAAF,EAAA,qHCvBA,IAGAoC,GADiBtD,OAFjB,WAA0BE,KAAaE,eAAbF,KAAuCI,MAAAD,GAAwB,OAA/DH,KAA+DM,GAAA,IAExES,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,maAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAAA,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qDAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,aAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAA,EAAA,OAAAJ,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAA,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8DAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,gEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,kDAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,6HAAsjGN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6DAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,oGAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iDAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,qNCYzpGW,EAbArB,EAAA,OAaAsB,CAXA,KAaAmC,GATA,EAEA,KAEA,KAEA,MAUAlC,EAAA,QAAAF,EAAA,8BCtBAvB,EAAAC,QAAAC,EAAAC,EAAA,qHCCA,ICeAyD,GADiBvD,OAfjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,uDACAC,KAAA,kKAGAD,MAAA,uDACAC,KAAA,yKAGAD,MAAA,6EACAC,KAAA,4LAEOX,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iFAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAmRQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,QAEnUS,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAwFW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,SAAqD1B,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,uBAAAF,EAAA,KAAqEI,OAAOsB,KAAA,wFAA6F9B,EAAAM,GAAA,2BAAAF,EAAA,KAA4CI,OAAOsB,KAAA,iFAAsF9B,EAAAM,GAAA,OAAAN,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yJAAAF,EAAA,KAAiOI,OAAOsB,KAAA,mEAAwE9B,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,yNAAAF,EAAA,KAAmQI,OAAOsB,KAAA,4CAAiD9B,EAAAM,GAAA,eAAAN,EAAAM,GAAA,yDAAAF,EAAA,KAAgGI,OAAOsB,KAAA,sEAA2E9B,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uDAAAF,EAAA,KAAiJI,OAAOsB,KAAA,2CAAgD9B,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,+CAAsH,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0GAAAF,EAAA,QAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,kBAAkX,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yHAAAF,EAAA,KAAgNI,OAAOsB,KAAA,iDAAsD9B,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,oCAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,MAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,0BAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,eAAAF,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,4IAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mMAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,MAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,kBAAAF,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,2BAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,MAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,kBAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,8HAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,kDAAAF,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,yEAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,oBAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,qFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,oFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAiyD,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uTAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,gDAAAF,EAAA,KAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,qGAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uEAAAF,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,odAAAF,EAAA,OAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,uHAAAF,EAAA,KAAAJ,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iCAAAF,EAAA,KAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,cAAAF,EAAA,KAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,6ZAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gCAAAF,EAAA,KAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gCAAAF,EAAA,KAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,wGAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,gFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gCAAAF,EAAA,KAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,oBAAAF,EAAA,KAAAJ,EAAAM,GAAA,4DAAAN,EAAAM,GAAA,kcAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gIAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,iFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4IAA69H,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAoBf,EAAAM,GAAA,MAAAF,EAAA,KAAAJ,EAAAM,GAAA,4DAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,QAAAF,EAAA,KAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,gBAAAF,EAAA,KAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,2JAAAF,EAAA,KAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,2BAAAF,EAAA,KAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2BAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,sFAAAF,EAAA,KAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,2JAAAF,EAAA,KAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,2BAAAF,EAAA,KAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2BAAAF,EAAA,KAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,2BAAAF,EAAA,KAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,sGAAAF,EAAA,KAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,2JAAAF,EAAA,KAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,2BAAAF,EAAA,KAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,2BAAAF,EAAA,KAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,oHAAopD,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,wEAAAF,EAAA,QAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,gFAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,oEAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,+FAAAF,EAAA,OAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,qBAAAF,EAAA,KAAohBI,OAAOsB,KAAA,6CAAkD9B,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,oDAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,kCAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,kJAAAF,EAAA,UAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,uCAAAF,EAAA,UAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,wEAAAF,EAAA,UAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,qGAA2oB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,mEAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAA/DH,KAA+DK,GAAA,iNAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAA/DH,KAA+DK,GAAA,0QAA0qB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gDAAAF,EAAA,QAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,uEAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,+GAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,4OAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yYAAynC,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,uFAAAF,EAAA,KAAsWI,OAAOsB,KAAA,iDAAsD9B,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,yEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,6KAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,kPAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,oCAAAF,EAAA,MAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,iCAAAF,EAAA,MAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,4KAAAF,EAAA,UAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,yCAA2oC,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,uFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wJAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0JAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qFCAn8dW,EAdArB,EAAA,OAcAsB,QFXA,gCACA,aEYAoC,GATA,EAEA,KAEA,KAEA,MAUAnC,EAAA,QAAAF,EAAA,4BCvBAvB,EAAAC,QAAA,ymXCAA,IAGA4D,GADiBxD,OAFjB,WAA0BE,KAAaE,eAAbF,KAAuCI,MAAAD,GAAwB,OAA/DH,KAA+DM,GAAA,IAExES,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,4BAA/DL,KAA+DK,GAAA,KAAAF,EAAA,WAAAA,EAAA,KAA/DH,KAA+DK,GAAA,sLAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAsUI,OAAOsB,KAAA,yDAA5Y7B,KAA0cK,GAAA,0BAA1cL,KAA0cK,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAgEI,OAAOsB,KAAA,+DAAjhB7B,KAAqlBK,GAAA,qCCYznBW,EAbArB,EAAA,OAaAsB,CAXA,KAaAqC,GATA,EAEA,KAEA,KAEA,MAUApC,EAAA,QAAAF,EAAA,4FCtBA,IAwBAuC,GADiBzD,OAvBjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAA6HI,OAAOC,WAE7NC,MAAA,qDACAC,KAAA,oEAGAD,MAAA,qDACAC,KAAA,oEAGAD,MAAA,qDACAC,KAAA,oEAGAD,MAAA,uCACAC,KAAA,iFAGAD,MAAA,wCACAC,KAAA,gFAEOX,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAuNQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,kLAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAoOQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,+HAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,4CAAAF,EAAA,UAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,8DAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,wBAAAF,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,gFAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2iBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,qKAAqCN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,+CAAAF,EAAA,UAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,QAAAF,EAAA,UAAAJ,EAAAM,GAAA,0EAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA8iBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAkEI,OAAOkC,KAAA,OAAYtC,EAAA,MAAWI,OAAOkC,KAAA,OAAY1C,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAsHI,OAAOkC,KAAA,OAAY1C,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,wCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAmKI,OAAOkC,KAAA,OAAY1C,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,wCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA6KI,OAAOkC,KAAA,OAAY1C,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,wCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,MAA6NI,OAAOkC,KAAA,OAAYtC,EAAA,MAAWI,OAAOkC,KAAA,OAAYtC,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAsII,OAAOkC,KAAA,OAAY1C,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,8DAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAsNI,OAAOkC,KAAA,OAAY1C,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwJI,OAAOkC,KAAA,OAAY1C,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,0BAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gJAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,6OAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAozBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,sHAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAmPQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,qIAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gDAAAF,EAAA,QAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,WAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,wEAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,kDAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,6BAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iDAAAF,EAAA,QAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,4EAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,iEAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,kCAE3iJU,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,oRAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uBCTnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaAsC,GATA,EAEA,KAEA,KAEA,MAUArC,EAAA,QAAAF,EAAA,gCCtBAvB,EAAAC,QAAAC,EAAAC,EAAA,2HCAA,IAMA4D,GADiB1D,OALjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAA2GI,OAAOC,WAE3MC,MAAA,4FACWV,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,wFAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,0FAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgaQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,iZAAmZN,EAAAM,GAAA,KAAAF,EAAA,MAA4BI,OAAOkC,KAAA,OAAYtC,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,uIAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,gGAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,sKAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2LAAAF,EAAA,QAAAJ,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,MAA00BI,OAAOkC,KAAA,OAAYtC,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,iFAAoJF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,2PAA0SN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,gmBAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,kFAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,gLAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0tCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,qNAAuNN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6LAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,qIAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,0JAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,gDAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,mTAAg+BF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,cAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2JAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAuXQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,gKAAgKN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,0CAAqFN,EAAAM,GAAA,KAAAF,EAAA,OAAkCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,yDAA2DN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAkUQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,6KAA+KN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,2FAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iDAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,sCAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,qEAAAF,EAAA,QAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,0CAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,4DAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,wEAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,mDAEpoMU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAA/DH,KAA+DK,GAAA,+LAAAF,EAAA,QAA/DH,KAA+DK,GAAA,yBAA/DL,KAA+DK,GAAA,kBCSnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaAuC,GATA,EAEA,KAEA,KAEA,MAUAtC,EAAA,QAAAF,EAAA,4FCrBA,ICYAyC,GADiB3D,OAZjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,6EAGAA,MAAA,uGAGAA,MAAA,gFAEOV,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uKAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,0FAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,mJAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6tBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,mEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,8IAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAA6cW,YAAA,qBAA+BX,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAqHQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,4IAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgVQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,gFAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,iHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uCAAAF,EAAA,MAAsjBW,YAAA,qBAA+BX,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,SAAAN,EAAAM,GAAA,MAAAF,EAAA,MAAwCW,YAAA,qBAA+BX,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,UAAAN,EAAAM,GAAA,UAAAF,EAAA,MAA6CW,YAAA,qBAA+BX,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,UAAYN,EAAAM,GAAA,kDAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,UAEnwFS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,ygBAAslB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBI,OAAOmD,GAAA,aAAgBvD,EAAA,MAA3GH,KAA2GK,GAAA,kBAA3GL,KAA2GK,GAAA,KAAAF,EAAA,KAA3GH,KAA2GK,GAAA,4GAAAF,EAAA,QAA3GH,KAA2GK,GAAA,0BAA3GL,KAA2GK,GAAA,gDAA6Q,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,oBAAiD,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,2EAAyG,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iQAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,2GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,ybAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,2OAAo2C,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,qVAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wNAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,4OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2NAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qgBAA2hGN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oUAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kMAA2yB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAA/DH,KAA+DK,GAAA,mGAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAA/DH,KAA+DK,GAAA,sDAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAA/DH,KAA+DK,GAAA,4EAAkX,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAA/DH,KAA+DK,GAAA,4DAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAA/DH,KAA+DK,GAAA,kICGnsOW,EAdArB,EAAA,OAcAsB,QFXA,yDACA,iBEYAwC,GATA,EAEA,KAEA,KAEA,MAUAvC,EAAA,QAAAF,EAAA,4FCtBA,ICmBA2C,GADiB7D,OAnBjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,uDACAC,KAAA,0CAGAD,MAAA,8DACAC,KAAA,0CAGAD,MAAA,8DACAC,KAAA,0CAGAD,MAAA,kEACAC,KAAA,6CAEOX,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAiNQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0HAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4kBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,kLAAoLN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gLAAsJN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAwGQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,0fAA4fN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAyEQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2SAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0nBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8PAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,iEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAsfQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0GAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAyLQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gHAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA+LQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,SAE75HS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,qDAAsI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,OAAAF,EAAA,MAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,yJAAoR,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,yBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,iBAA/DL,KAA+DK,GAAA,uHAA+M,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,WAAAF,EAAA,KAArGH,KAAqGK,GAAA,iBAArGL,KAAqGK,GAAA,yCAAAF,EAAA,KAArGH,KAAqGK,GAAA,eAArGL,KAAqGK,GAAA,aAAqJ,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,gKAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,4DAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,0EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,8DAAgzB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,4FAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,wJAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,oEAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,0BAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,uIAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,sEAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,2EAA0lC,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,yCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,uBAA/DL,KAA+DK,GAAA,oCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,iBAA/DL,KAA+DK,GAAA,4FAAAF,EAAA,QAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,oQAAukB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,8WAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,sEAA4e,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,qFAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,+GAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,eAA6d,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2GAAAF,EAAA,QAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,QAA8K,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0GAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,6EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mBAAyVN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+DAA2FN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gEAA4FN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mJAAmL,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,gFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sFAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,gGAA6dN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oMAAgON,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mDAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mDAAgVN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAiEN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAqFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAoFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2DAAgL,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,yHAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,qEAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,wCAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,kCAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,sCAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,uIAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,gFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,yBAAAF,EAAA,QAAAJ,EAAAM,GAAA,2FAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wGAA24C,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2PAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yFAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qKAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,8BAA6sBN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mGAA+HN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+CAA2EN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oCAAgEN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+EAA2GN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8EAA0GN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,sCAAAF,EAAA,QAAAJ,EAAAM,GAAA,0CAAAN,EAAAM,GAAA,iCAAkR,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sFAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,wCAAoSN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mDAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mDAAgVN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAiEN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAqFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAoFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2DAAgL,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,QAA/DH,KAA+DK,GAAA,wDAA/DL,KAA+DK,GAAA,kPAAiV,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,QAA/DH,KAA+DK,GAAA,4BAA/DL,KAA+DK,GAAA,6DAAiI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mKAAAF,EAAA,QAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,SAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,QAAmR,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,4CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,kBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,oCAAiM,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sFAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mDAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mDAAkhBN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAiEN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAqFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAoFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6DCJz+aW,EAdArB,EAAA,OAcAsB,QFXA,uDACA,aEYA0C,GATA,EAEA,KAEA,KAEA,MAUAzC,EAAA,QAAAF,EAAA,4FCtBA,ICEA4C,GADiB9D,OAFjB,WAA0BE,KAAaE,eAAbF,KAAuCI,MAAAD,GAAwB,OAA/DH,KAA+DM,GAAA,IAExES,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iFAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4JAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iMAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAA,EAAA,UAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,2NAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,UAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,mHAAAF,EAAA,UAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,iBAAAF,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,UAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,+GAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,MAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,UAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,iHAAAF,EAAA,UAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,MAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,UAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,4GAAAF,EAAA,UAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,MAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,UAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,oHAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,4HAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wHAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,qKAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,+EAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,uHAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,gLAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,UAAAJ,EAAAM,GAAA,gEAAAN,EAAAM,GAAA,64BAAogIF,EAAA,MAAAA,EAAA,KAAAA,EAAA,UAAAJ,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,6GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,kLAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mIAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,uGAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,gDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oKAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qJAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,yEAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,4DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0FAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,gEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wBAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,0MAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wBAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mDAA0pGN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uDAAmFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4DAAkFN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAwCI,OAAOmD,GAAA,QAAA9C,KAAA,WAA6Bb,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,wFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4IAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8EAAAF,EAAA,MAAAJ,EAAAM,GAAA,kKCal/OW,EAdArB,EAAA,OAcAsB,QFXA,oCACA,MEYA2C,GATA,EAEA,KAEA,KAEA,MAUA1C,EAAA,QAAAF,EAAA,4FCvBA,IAGA6C,GADiB/D,OAFjB,WAA0BE,KAAaE,eAAbF,KAAuCI,MAAAD,GAAwB,OAA/DH,KAA+DM,GAAA,IAExES,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,sMAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,0CAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mFAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAo4CoB,aAAauB,kBAAA,UAA0B3C,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,YAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8KAAiXN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,WAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,oCAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2BAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAA2fI,OAAOmB,IAAA,gDAAgD3B,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,sIAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,+CAAAF,EAAA,QAAAJ,EAAAM,GAAA,yCAAkSN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,2RAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,uDAAAF,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,wEAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,2CAAqxBF,EAAA,KAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,wDAAyGF,EAAA,KAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,0GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,yDAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kDAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,iCAA0tBN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iJAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAmOI,OAAOmB,IAAA,gDAAgD3B,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,iICYrkJW,EAbArB,EAAA,OAaAsB,CAXA,KAaA4C,GATA,EAEA,KAEA,KAEA,MAUA3C,EAAA,QAAAF,EAAA,4FCrBA,ICSA8C,GADiBhE,OATjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAA0DI,OAAOC,WAE1JC,MAAA,6QAGAA,MAAA,uHAEOV,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAiJQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,0GAA4GN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kGAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0JQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,+IAAiJN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAmDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,0FAA4FN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gUAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,ghBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,sHAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wEAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4qDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,iHAAiHN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uFAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAiJQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,0mBAAymB,IAEvnHU,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,iHAAAF,EAAA,KAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,4OAAAF,EAAA,KAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,uJAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yXAAAF,EAAA,KAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,oLAAisCN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6HAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,kVAAqqB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,8DAAAF,EAAA,QAA/DH,KAA+DK,GAAA,wBAA/DL,KAA+DK,GAAA,qIAA8T,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,4GAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,kBAAoP,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,+BAAAF,EAAA,KAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,wLAA+Q,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,4BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,SAAAF,EAAA,QAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,kEAA8M,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,yJAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,mBAAsO,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,4GAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,MAAAF,EAAA,QAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,UAAAF,EAAA,QAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,cAAsR,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAyBW,YAAA,eAAyBX,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,gHAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,mDAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,mUAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,kHAAAF,EAAA,MAA06BW,YAAA,eAAyBX,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,uIAAAF,EAAA,QAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,yBAAAF,EAAA,MAAkWW,YAAA,eAAyBX,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,0JAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,6DAAmT,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gNAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,4eAAqvB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,wCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,+FAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,yEAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,kGAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,cAA+jB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,iEAAsK,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,uFAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,kGAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,sCAAAF,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,8GAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,2JAA+tBF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,kDAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,4CAAyZ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBoB,aAAaS,MAAA,UAAA+B,aAAA,SAAAjC,cAAA,SAAAkC,gBAAA,MAAAC,cAAA,OAAAC,eAAA,MAAAC,aAAA,MAAA3C,aAAA,OAAA4C,kBAAA,OAAAC,cAAA,MAAAC,iBAAA,OAAAzB,iBAAA,cAA7F7C,KAAqWK,GAAA,wBAA8BF,EAAA,SAAc,WAAc,IAAaF,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBoB,aAAaS,MAAA,UAAA+B,aAAA,SAAAjC,cAAA,SAAAkC,gBAAA,MAAAC,cAAA,OAAAC,eAAA,MAAAC,aAAA,MAAA3C,aAAA,OAAA4C,kBAAA,OAAAC,cAAA,MAAAC,iBAAA,OAAAzB,iBAAA,cAA7F7C,KAAqWK,GAAA,+EAAAF,EAAA,SAAmG,WAAc,IAAaF,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBoB,aAAaS,MAAA,UAAA+B,aAAA,SAAAjC,cAAA,SAAAkC,gBAAA,MAAAC,cAAA,OAAAC,eAAA,MAAAC,aAAA,MAAA3C,aAAA,OAAA4C,kBAAA,OAAAC,cAAA,MAAAC,iBAAA,OAAAzB,iBAAA,cAA7F7C,KAAqWK,GAAA,uBAAAF,EAAA,QAArWH,KAAqWK,GAAA,UAArWL,KAAqWK,GAAA,KAAqEF,EAAA,SAAc,WAAc,IAAaF,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBoB,aAAaS,MAAA,UAAA+B,aAAA,SAAAjC,cAAA,SAAAkC,gBAAA,MAAAC,cAAA,OAAAC,eAAA,MAAAC,aAAA,MAAA3C,aAAA,OAAA4C,kBAAA,OAAAC,cAAA,MAAAC,iBAAA,OAAAzB,iBAAA,cAA7F7C,KAAqWK,GAAA,gCAAAF,EAAA,SAAoD,WAAc,IAAaF,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBoB,aAAaS,MAAA,UAAA+B,aAAA,SAAAjC,cAAA,SAAAkC,gBAAA,MAAAC,cAAA,OAAAC,eAAA,MAAAC,aAAA,MAAA3C,aAAA,OAAA4C,kBAAA,OAAAC,cAAA,MAAAC,iBAAA,OAAAzB,iBAAA,cAA7F7C,KAAqWK,GAAA,uBAAAF,EAAA,QAArWH,KAAqWK,GAAA,UAArWL,KAAqWK,GAAA,KAAqEF,EAAA,SAAc,WAAc,IAAaF,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBoB,aAAaS,MAAA,UAAA+B,aAAA,SAAAjC,cAAA,SAAAkC,gBAAA,MAAAC,cAAA,OAAAC,eAAA,MAAAC,aAAA,MAAA3C,aAAA,OAAA4C,kBAAA,OAAAC,cAAA,MAAAC,iBAAA,OAAAzB,iBAAA,cAA7F7C,KAAqWK,GAAA,qBAAAF,EAAA,SAAyC,WAAc,IAAaF,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBoB,aAAaS,MAAA,UAAA+B,aAAA,SAAAjC,cAAA,SAAAkC,gBAAA,MAAAC,cAAA,OAAAC,eAAA,MAAAC,aAAA,MAAA3C,aAAA,OAAA4C,kBAAA,OAAAC,cAAA,MAAAC,iBAAA,OAAAzB,iBAAA,cAA7F7C,KAAqWK,GAAA,qCAA2CF,EAAA,SAAc,WAAc,IAAaF,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBoB,aAAaS,MAAA,UAAA+B,aAAA,SAAAjC,cAAA,SAAAkC,gBAAA,MAAAC,cAAA,OAAAC,eAAA,MAAAC,aAAA,MAAA3C,aAAA,OAAA4C,kBAAA,OAAAC,cAAA,MAAAC,iBAAA,OAAAzB,iBAAA,cAA7F7C,KAAqWK,GAAA,kFAAwFF,EAAA,SAAc,WAAc,IAAaF,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBoB,aAAaS,MAAA,UAAA+B,aAAA,SAAAjC,cAAA,SAAAkC,gBAAA,MAAAC,cAAA,OAAAC,eAAA,MAAAC,aAAA,MAAA3C,aAAA,OAAA4C,kBAAA,OAAAC,cAAA,MAAAC,iBAAA,OAAAzB,iBAAA,cAA7F7C,KAAqWK,GAAA,wCAAAF,EAAA,QAArWH,KAAqWK,GAAA,UAAAF,EAAA,SAAwF,WAAc,IAAaF,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBoB,aAAaS,MAAA,UAAA+B,aAAA,SAAAjC,cAAA,SAAAkC,gBAAA,MAAAC,cAAA,OAAAC,eAAA,MAAAC,aAAA,MAAA3C,aAAA,OAAA4C,kBAAA,OAAAC,cAAA,MAAAC,iBAAA,OAAAzB,iBAAA,cAA7F7C,KAAqWK,GAAA,uFAA6FF,EAAA,SAAc,WAAc,IAAaF,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBoB,aAAaS,MAAA,UAAA+B,aAAA,SAAAjC,cAAA,SAAAkC,gBAAA,MAAAC,cAAA,OAAAC,eAAA,MAAAC,aAAA,MAAA3C,aAAA,OAAA4C,kBAAA,OAAAC,cAAA,MAAAC,iBAAA,OAAAzB,iBAAA,cAA7F7C,KAAqWK,GAAA,kDAAAF,EAAA,SAAsE,WAAc,IAAAJ,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,uEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oKAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6JAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uCAA81C,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,QAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,oDCM3zdW,EAdArB,EAAA,OAcAsB,QFXA,qDACA,aEYA6C,GATA,EAEA,KAEA,KAEA,MAUA5C,EAAA,QAAAF,EAAA,4FCvBA,IAQAuD,GADiBzE,OAPjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAA8GI,OAAOC,WAE9MC,MAAA,+BACAC,KAAA,qEAEOX,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,4DAAAF,EAAA,KAAuPI,OAAOsB,KAAA,iEAAsE9B,EAAAM,GAAA,iEAAAN,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2IQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,iBAAAF,EAAA,UAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,0QAA0UN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gCAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,8CAAAF,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAqTQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,oKAAuK,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,2CAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,oHAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,yGAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,oCAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,+CAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,kCAAAF,EAAA,QAAAA,EAAA,KAA4oBI,OAAOsB,KAAA,6EAAkF9B,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,4FAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,UAAAA,EAAA,QAAAA,EAAA,KAAkMI,OAAOsB,KAAA,sEAA2E9B,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,iIAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAA,EAAA,QAAAA,EAAA,KAA2NI,OAAOsB,KAAA,iFAAsF9B,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,wGAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,4CAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,2KAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAA,EAAA,QAAAA,EAAA,KAAgfI,OAAOsB,KAAA,4FAAiG9B,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oBAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,+CAAAF,EAAA,MAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAA,EAAA,KAA+TI,OAAOsB,KAAA,6EAAkF9B,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,8DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,UAAAA,EAAA,QAAAA,EAAA,KAAoKI,OAAOsB,KAAA,2FAAgG9B,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,2IAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAA,EAAA,QAAAA,EAAA,KAAwPI,OAAOsB,KAAA,gFAAqF9B,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,2EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAA,EAAA,QAAAA,EAAA,KAA+KI,OAAOsB,KAAA,iFAAsF9B,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,yIAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,qKAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAyaQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,6MAA6MN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,yEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAsKI,OAAOsB,KAAA,wEAA6E9B,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,iDAAAF,EAAA,KAAmII,OAAOsB,KAAA,sEAA2E9B,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAiGQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,0KAAqK,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uHAA6qBN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,2BAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,wCAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kKAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6BAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,2LAAiyBN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2DAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,gEAEx/OU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAA/DH,KAA+DK,GAAA,iCAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAA/DH,KAA+DK,GAAA,6BAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAA/DH,KAA+DK,GAAA,+BCOnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaAsD,GATA,EAEA,KAEA,KAEA,MAUArD,EAAA,QAAAF,EAAA,8BCtBA,IAAAwD,GACAC,0BAAA,OACAC,6BAAA,OACAC,0BAAA,OACAC,8BAAA,OACAC,gCAAA,OACAC,oBAAA,OACAC,mBAAA,OACAC,gBAAA,OACAC,wBAAA,OACAC,iCAAA,OACAC,iCAAA,OACAC,0BAAA,OACAC,mCAAA,OACAC,kBAAA,OACAC,oCAAA,OACAC,uCAAA,OACAC,yBAAA,OACAC,4BAAA,OACAC,+BAAA,OACAC,qBAAA,OACAC,iCAAA,OACAC,kCAAA,OACAC,sCAAA,OACAC,4CAAA,OACAC,4BAAA,OACAC,iCAAA,OACAC,iDAAA,OACAC,iCAAA,OACAC,0CAAA,OACAC,qBAAA,OACAC,2BAAA,OACAC,8BAAA,OACAC,4BAAA,OACAC,yBAAA,OACAC,wBAAA,OACAC,+BAAA,OACAC,oCAAA,OACAC,sCAAA,OACAC,wBAAA,QAEA,SAAAC,EAAAC,GACA,OAAAtH,EAAAuH,EAAAD,IAEA,SAAAC,EAAAD,GACA,IAAAvD,EAAAc,EAAAyC,GACA,KAAAvD,EAAA,GACA,UAAAyD,MAAA,uBAAAF,EAAA,MACA,OAAAvD,EAEAsD,EAAAI,KAAA,WACA,OAAAC,OAAAD,KAAA5C,IAEAwC,EAAAM,QAAAJ,EACAzH,EAAAC,QAAAsH,EACAA,EAAAtD,GAAA,oHCpDA6D,SAEA,0CACA,qDAIA,YAEA,sDAIA,iCACAC,yDAGAC,mCAEA,IAAAC,EAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,oBACAG,kCAEAC,wCAGAL,SAIAM,2LAKA,0BACAC,kCACA,WACA,aACA,WACA,aACA,iEAGAC,0CAEA,cACA,uBACA,+BAIAF,EACAA,eAIA,EAAAG,UAAA,mEAEA,mEAIA,uBAEA,IAAAC,EAAApI,+DAGAyH,eACAY,aACA,GACA,iBAGA,8fC5EA,IA4BAC,GADiBxI,OA3BjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,WAAAA,EAAA,YAAkDI,OAAOC,WAElJC,MAAA,uDACAC,KAAA,kKAGAD,MAAA,uDACAC,KAAA,mKAGAD,MAAA,uDACAC,KAAA,uKAGAD,MAAA,uDACAC,KAAA,2KAGAD,MAAA,oDACAC,KAAA,qLAGAD,MAAA,yDACAC,KAAA,sFAEO,GAAAX,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uDAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,SAA6YW,YAAA,iBAA2BX,EAAA,KAAAJ,EAAAwI,GAAA,WAAAC,GAAiC,OAAArI,EAAA,MAAgBsI,IAAAD,EAAAjH,aAAmBgB,QAAA,YAAoBxC,EAAAM,GAAA,qBAAAF,EAAA,OAAAJ,EAAAM,GAAAN,EAAA2I,GAAA,EAAAF,MAAAzI,EAAAM,GAAA,IAAAN,EAAA2I,GAAAC,KAAAC,IAAA,IAAAJ,UAAuGzI,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAwI,GAAA,WAAAC,GAA+C,OAAArI,EAAA,MAAgBsI,IAAAD,IAAM,GAAAG,KAAAC,IAAA,IAAAJ,GAAArI,EAAA,QAAAJ,EAAAM,GAAA,IAAAN,EAAA2I,GAAAC,KAAAC,IAAA,IAAAJ,OAAAzI,EAAA8I,SAAyF1I,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAwI,GAAA,WAAAC,GAA2E,OAAArI,EAAA,MAAgBsI,IAAAD,IAAMzI,EAAAM,GAAAN,EAAA2I,GAAAC,KAAAG,KAAA,GAAAH,KAAAC,IAAA,IAAAJ,eAAqDzI,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,SAAkEW,YAAA,iBAA2BX,EAAA,KAAAJ,EAAAwI,GAAA,WAAAC,GAAiC,OAAArI,EAAA,MAAgBsI,IAAAD,EAAAjH,aAAmBgB,QAAA,YAAoBxC,EAAAM,GAAA,WAAAN,EAAA2I,GAAA,EAAAF,GAAA,oBAAArI,EAAA,SAAgEoB,aAAawH,kBAAA,cAA8B5I,EAAA,KAAAJ,EAAAwI,GAAA,WAAAL,GAAiC,OAAA/H,EAAA,MAAgBsI,IAAAP,EAAAc,OAAaC,aAAAN,KAAAG,KAAA,EAAAN,EAAAG,KAAAC,IAAA,IAAAV,KAA+C3G,aAAc2H,OAAA,iBAAAzH,MAAA,UAA0C1B,EAAAM,GAAA,uBAAAN,EAAA2I,GAAAC,KAAAG,KAAA,EAAAN,EAAAG,KAAAC,IAAA,IAAAV,WAA6EnI,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAqE6I,OAAOC,aAAAN,KAAAG,KAAA,GAAAH,KAAAC,IAAA,IAAAJ,KAA8CjH,aAAc2H,OAAA,iBAAAzH,MAAA,UAA0C1B,EAAAM,GAAAN,EAAA2I,GAAAC,KAAAG,KAAA,GAAAH,KAAAC,IAAA,IAAAJ,QAAAzI,EAAAM,GAAA,KAAAF,EAAA,iBAAgFJ,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,yRAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wOAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,6BAA8nBI,OAAOkH,KAAA,GAAAY,KAAA,EAAAc,MAAA,GAAAD,OAAA,EAAAE,mBAAArJ,EAAAqJ,sBAAsFrJ,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,OAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0SQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgHQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAgQQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,WAAAN,EAAA2I,GAAA1I,KAAAoJ,mBAAA,MAAA5E,IAAA,SAAA6E,GAA8E,OAAAA,EAAAC,KAAA,OAAwBA,KAAA,YAAAvJ,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAgEQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,QAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gSAAAN,EAAAM,GAAA,KAAAF,EAAA,SAA8eoB,aAAayC,gBAAA,UAAwB7D,EAAA,MAAAA,EAAA,MAAoBoB,aAAaE,MAAA,UAAgB1B,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,WAAwDW,YAAA,uBAAAP,OAA0CkC,KAAA,SAAA8G,YAAA,QAAqCC,OAAQ9G,MAAA3C,EAAA,SAAA0J,SAAA,SAAAC,GAA8C3J,EAAA4J,SAAAD,GAAiBE,WAAA,eAAwB,KAAA7J,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,WAA4FW,YAAA,uBAAAP,OAA0CkC,KAAA,SAAA8G,YAAA,QAAqCC,OAAQ9G,MAAA3C,EAAA,SAAA0J,SAAA,SAAAC,GAA8C3J,EAAA8J,SAAAH,GAAiBE,WAAA,eAAwB,OAAA7J,EAAAM,GAAA,KAAAF,EAAA,OAAgCoB,aAAagB,QAAA,UAAkBpC,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,MAAAN,EAAA2I,GAAA,EAAAoB,SAAA/J,EAAA8J,UAAA,OAAA9J,EAAA2I,GAAAoB,SAAA/J,EAAA8J,UAAA,QAAA9J,EAAA2I,GAAA1I,KAAAoJ,mBAAAU,SAAA/J,EAAA4J,UAAAG,SAAA/J,EAAA8J,WAAArF,IAAA,SAAA6E,GAAqM,OAAAA,EAAAC,KAAA,OAAwBA,KAAA,cAAAvJ,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,sMAAAF,EAAA,KAAsTI,OAAOsB,KAAA,qCAA0C9B,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,wEAAAF,EAAA,OAAqHQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,8wCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAo0CQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,8wCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,uGAAAF,EAAA,OAA2gDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,wCAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sCAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,oBAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,uBAAAF,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,mBAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2HAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qFAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,WAEj9QS,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,kOAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+hBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4DAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,+WAA64C,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,6GAAAF,EAAA,QAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,kBAA4P,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,2BAAAF,EAAA,KAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,qRAAAF,EAAA,KAAAJ,EAAAM,GAAA,0FAAAN,EAAAM,GAAA,uBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,0BAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,yDAA+qB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,4FAAAF,EAAA,MAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,SAAAF,EAAA,MAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,eAAwM,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,SAAmBoB,aAAaU,OAAA,UAAkB1B,OAAQwJ,YAAA,IAAAC,YAAA,OAAqC7J,EAAA,MAAAA,EAAA,MAAoBI,OAAO0J,MAAA,WAAiBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAiDI,OAAO0J,MAAA,WAAiBlK,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA+CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAoDI,OAAO0J,MAAA,WAAiBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAqCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAgDI,OAAO0J,MAAA,WAAiBlK,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA2CoB,aAAa2H,OAAA,iBAAAzH,MAAA,QAAyClB,OAAQ0J,MAAA,YAAkBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCW,YAAA,aAAAS,aAAsC2H,OAAA,iBAAAzH,MAAA,QAAyClB,OAAQ0J,MAAA,YAAkBlK,EAAAM,GAAA,iBAAyB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iKAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,wFAAAF,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,0CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qDAAAF,EAAA,KAAAJ,EAAAM,GAAA,8DAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAyqB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,4DAAAF,EAAA,OAA/DH,KAA+DK,GAAA,wFAA/DL,KAA+DK,GAAA,QAAyM,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAkCW,YAAA,eAAjGd,KAA0HK,GAAA,OAAAF,EAAA,SAA2B,WAAc,IAAaF,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,yJAAAF,EAAA,KAAuLI,OAAOsB,KAAA,wCAA7P7B,KAA0SK,GAAA,iCAA1SL,KAA0SK,GAAA,YAAAF,EAAA,KAAqEI,OAAOsB,KAAA,+BAAtX7B,KAA0ZK,GAAA,mBAA1ZL,KAA0ZK,GAAA,QAA0C,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,SAA9IzB,KAAsMK,GAAA,KAAAF,EAAA,cAAtMH,KAAsMK,GAAA,kDAAuF,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,+CAAAF,EAAA,KAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,sXAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,yCAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,mIAAosB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2CAAAF,EAAA,KAA/DH,KAA+DK,GAAA,4BAA/DL,KAA+DK,GAAA,QAA0H,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,6PAAAF,EAAA,OAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,KAAAF,EAAA,OAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,yIAA6e,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,8FAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,gHAAyQ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,0IAAAF,EAAA,KAAwKI,OAAOsB,KAAA,kDAA9O7B,KAAqSK,GAAA,eAArSL,KAAqSK,GAAA,MAAAF,EAAA,KAA6CI,OAAOsB,KAAA,4DAAzV7B,KAA0ZK,GAAA,uBAA1ZL,KAA0ZK,GAAA,oEAAAF,EAAA,KAAmHI,OAAOsB,KAAA,0BAAphB7B,KAAmjBK,GAAA,gDAA0D,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,kHAAAF,EAAA,KAAgJI,OAAOsB,KAAA,qCAAtN7B,KAAgQK,GAAA,mBAAhQL,KAAgQK,GAAA,+EAAiH,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,0BAAAF,EAAA,KAAwDI,OAAOsB,KAAA,yCAA9H7B,KAA4KK,GAAA,cAA5KL,KAA4KK,GAAA,YAAAF,EAAA,KAAkDI,OAAOsB,KAAA,qCAArO7B,KAA+QK,GAAA,mBAA/QL,KAA+QK,GAAA,6CAA+E,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,kJAAAF,EAAA,KAAgLI,OAAOsB,KAAA,yCAA8C9B,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,4EAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,6BAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,0IAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,8HAAkgB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gFAAAF,EAAA,KAA8GI,OAAOsB,KAAA,mEAApL7B,KAA4PK,GAAA,mCAA5PL,KAA4PK,GAAA,eAAiE,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAA/DH,KAA+DK,GAAA,wCAAAF,EAAA,MAAAA,EAAA,MAA/DH,KAA+DK,GAAA,sCAA/DL,KAAwLK,GAAA,KAAAF,EAAA,MAAxLH,KAAwLK,GAAA,sICvBh3U,IAcAW,EAdArB,EAAA,OAcAsB,CACAsG,EACAe,GATA,EAVA,SAAA4B,GACAvK,EAAA,SAaA,kBAEA,MAUAuB,EAAA,QAAAF,EAAA,gCC1BAvB,EAAAC,QAAAC,EAAAC,EAAA,+DCAAH,EAAAC,QAAAC,EAAAC,EAAA,sDCAAH,EAAAC,QAAAC,EAAAC,EAAA,gECAAH,EAAAC,QAAAC,EAAAC,EAAA,+DCAAH,EAAAC,QAAA,svFCAAD,EAAAC,QAAAC,EAAAC,EAAA,2HCAA,IAYAuK,GADiBrK,OAXjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAoHI,OAAOC,WAEpNC,MAAA,qDACAC,KAAA,oEAGAD,MAAA,qDACAC,KAAA,uEAEOX,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,wOAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,2IAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAklBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,mNAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,0BAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8CAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAqpBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,iIAAAF,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,2CAAAF,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,2CAAAF,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,yEAAAF,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,4CAAAF,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4qBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgIQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,8CAEz3EU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAA/DH,KAA+DK,GAAA,4FAAAF,EAAA,MAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,sHCGnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaAkJ,GATA,EAEA,KAEA,KAEA,MAUAjJ,EAAA,QAAAF,EAAA,4FCtBA,IAgBAoJ,GADiBtK,OAfjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAA6GI,OAAOC,WAE7MC,MAAA,iGAGAA,MAAA,yGAGAA,MAAA,2FAGAA,MAAA,4FAEOV,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wGAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAsNQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,03CAA43CN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,6CAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,wCAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iFAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,8LAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,2EAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,yBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,kCAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,iGAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,iGAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,gDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAkxCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,iaAAga,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,qDAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,yCAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,6CAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,yCAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,6EAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,kDAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,8DAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAo5BQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,oJAAuJ,YAEnjJU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAA/DH,KAA+DK,GAAA,kJAAAF,EAAA,QAA/DH,KAA+DK,GAAA,wBAA/DL,KAA+DK,GAAA,gEAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,2HCDnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaAmJ,GATA,EAEA,KAEA,KAEA,MAUAlJ,EAAA,QAAAF,EAAA,4BCtBAvB,EAAAC,QAAA,skaCAAD,EAAAC,QAAA,q7PCAAD,EAAAC,QAAAC,EAAAC,EAAA,yECAAH,EAAAC,QAAAC,EAAAC,EAAA,sICCA,ICEAyK,GADiBvK,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,iMAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kDAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAqcQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAsHQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wFAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2KQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,wCAA0CN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAE7lCS,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAyFI,OAAOsB,KAAA,2CAAgD1B,EAAA,QAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAyII,OAAOsB,KAAA,2CAAgD1B,EAAA,QAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAuHI,OAAOsB,KAAA,2CAAgD1B,EAAA,QAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAyII,OAAOsB,KAAA,2CAAgD1B,EAAA,QAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAuHI,OAAOsB,KAAA,2CAAgD1B,EAAA,QAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,gFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAA2KI,OAAOsB,KAAA,2CAAgD1B,EAAA,QAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAA2GI,OAAOsB,KAAA,2CAAgD1B,EAAA,QAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,sBAAmF,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,qDAAsI,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAA2FW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,gBAAA7I,MAAA,SAAiF1B,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4iBAAyIN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0QAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8GAA67B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4CAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,4LAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,gCAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,8CAAsdF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,sEAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0CAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,yOAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yCAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,wJAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,qPAAqhC,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,QAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,uIAAAF,EAAA,MAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,sGAAgV,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,qDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,oFAAsM,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,0CAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sTAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,uBAAAF,EAAA,MAAAJ,EAAAM,GAAA,gGAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iMAA4wCN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qEAAyO,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iNAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yNAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,ySAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAm9BW,YAAA,uCAAiDX,EAAA,MAAAA,EAAA,MAAoBI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAkDI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAsDI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwDI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAiEI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,6CAAsBN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAA8DI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,mBAAyBF,EAAA,MAAAJ,EAAAM,GAAA,iDAAiEF,EAAA,MAAAJ,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAA8FI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCI,OAAO0J,MAAA,cAAkBlK,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAkCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,cAAkBlK,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAkCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,gBAAkBlK,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mCAAsIN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uEAAmGN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2HAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gUAAsf,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iEAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,+CAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sFAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,4DAA2iBN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,OAAqIN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mDAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mDAAgVN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAiEN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAqFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAoFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sMCatnXW,EAdArB,EAAA,OAcAsB,QFXA,gDACA,cEYAoJ,GATA,EAEA,KAEA,KAEA,MAUAnJ,EAAA,QAAAF,EAAA,4GCtBAuJ,GACEC,QACE5J,KAAQ,SACRoI,MAAS,OACTyB,OAAU,wEACVC,YAAe,yCAEjBC,GACE/J,KAAQ,IACRoI,MAAS,OACTyB,OAAU,sEACVC,YAAe,mCAEjBE,MACEhK,KAAQ,OACRoI,MAAS,OACTyB,OAAU,wEACVC,YAAe,sCAEjBG,KACEjK,KAAQ,MACRoI,MAAS,OACTyB,OAAU,wEACVC,YAAe,qCAEjBI,MACElK,KAAQ,OACRoI,MAAS,OACTyB,OAAU,wEACVC,YAAe,sCAEjBK,QACEnK,KAAQ,SACRoI,MAAS,OACTyB,OAAU,oEACVC,YAAe,wCAEjBM,OACEpK,KAAQ,MACRoI,MAAS,QACTyB,OAAU,oEACVC,YAAe,sCCpBnBO,QAEA,4CAIAV,KCzBAW,GADiBpL,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBW,YAAA,gBAA0BX,EAAA,eAAoBW,YAAA,0BAAoCX,EAAA,eAAoBW,YAAA,YAAAP,OAA+B4K,IAAMvK,KAAA,WAAcb,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAsDW,YAAA,YAAsBX,EAAA,MAAWW,YAAA,OAAkBf,EAAAwI,GAAAxI,EAAA,iBAAAqL,EAAAC,GAA8C,OAAAlL,EAAA,MAAgBsI,IAAA4C,EAAAvK,YAAA,aAAoCX,EAAA,eAAoBW,YAAA,eAAAkI,OAAkCsC,qBAAAvL,EAAAwL,OAAAC,OAAA,WAAAH,GAAmE9K,OAAQ4K,IAAMvK,KAAA,WAAA4K,QAA0BH,gBAAwBtL,EAAAM,GAAA,iBAAAN,EAAA2I,GAAA0C,EAAAxK,MAAA,4BAAkE,QAExrBG,oBCCjB,ICOA0K,QAEA,kBACAR,ODVAtL,EAAA,OAcAsB,CACAgK,EACAC,GATA,EAVA,SAAAhB,GACAvK,EAAA,SAaA,kBAEA,MAUA,UEvBA+L,GADiB5L,OAFjB,WAA0B,IAAaG,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBI,OAAOmD,GAAA,SAAYvD,EAAA,WAAnGH,KAAmGK,GAAA,KAAAF,EAAA,eAA8CW,YAAA,kBAA2B,IAErLC,oBCEjB,IAuBA4K,EAvBAhM,EAAA,OAcAiM,CACAH,EACAC,GATA,EAXA,SAAAxB,GACAvK,EAAA,QACAA,EAAA,SAaA,kBAEA,MAUA,oBC3BMkM,EAEY,WAFZA,EAGY,4CC2KlBC,QAEA,qFAOA,6EAIAC,MCxLAC,GADiBlM,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,eAAyBW,YAAA,mBAA6BX,EAAA,WAAAA,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qCAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,KAA2OI,OAAOsB,KAAA,kCAAuC9B,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uGAAAF,EAAA,MAAAJ,EAAAM,GAAA,4KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oHAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qCAAAF,EAAA,KAA2jBI,OAAOsB,KAAA9B,EAAAkM,MAAA,oBAAAC,OAAA,YAAwDnM,EAAAM,GAAA,UAAAN,EAAAM,GAAA,mHAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mEAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wJAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gXAAAN,EAAAM,GAAA,KAAAF,EAAA,cAAAA,EAAA,MAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wVAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4CAAAF,EAAA,KAAk6CI,OAAOsB,KAAA,uCAAAqK,OAAA,YAAiEnM,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gSAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2DAAAF,EAAA,KAA+sBI,OAAOsB,KAAA9B,EAAAkM,MAAA,uBAAsClM,EAAAM,GAAA,UAAAN,EAAAM,GAAA,s2BAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,+DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8FAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wmBAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,giCAAukFN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oYAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qOAE9zLU,oBCqBjBoL,EAvBAxM,EAAA,OAcAyM,CACAN,EACAE,GATA,EAEA,KAEA,KAEA,MAUA,kDCvBAK,GACE7B,QACE/J,MAAS,gCACT6L,UACEC,GACEC,WAEIC,MAAS,kCACTC,SACEjM,MAAS,2CACTgC,KAAQ,UAIVgK,MAAS,kCACTC,SACEjM,MAAS,2CACTgC,KAAQ,UAIVgK,MAAS,GACTC,SACEjM,MAAS,2CACTgC,KAAQ,UAIVgK,MAAS,uCACTC,SACEjM,MAAS,oDACTgC,KAAQ,UAIdkK,WAAc,KACdC,KAAQ,MAEVC,GACEL,WAEIC,MAAS,uCACTC,SACEjM,MAAS,oDACTgC,KAAQ,UAIVgK,MAAS,6EACTC,SACEjM,MAAS,sDACTgC,KAAQ,UAIVgK,MAAS,GACTC,SACEjM,MAAS,sDACTgC,KAAQ,UAIVgK,MAAS,GACTC,SACEjM,MAAS,2CACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,sCACRkM,SAAY,2BAEdF,KAAQ,MAEVG,GACEP,WAEIC,MAAS,eACTC,SACEjM,MAAS,4CACTgC,KAAQ,UAIVgK,MAAS,GACTC,SACEjM,MAAS,sDACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,6CACRkM,SAAY,kCAEdF,KAAQ,MAEVI,GACER,WAEIC,MAAS,YACTC,SACEjM,MAAS,0EACTgC,KAAQ,UAIdkK,WAAc,KACdC,MACEhM,KAAQ,sDACRkM,SAAY,gDAGhBG,GACET,WAEIC,MAAS,gCACTC,SACEjM,MAAS,4CACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,sBACRkM,SAAY,uBAEdF,KAAQ,MAEVM,GACEV,WAEIC,MAAS,uCACTC,SACEjM,MAAS,qDACTgC,KAAQ,UAIVgK,MAAS,GACTC,SACEjM,MAAS,2CACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,4BACRkM,SAAY,iBAEdF,KAAQ,MAEVO,GACEX,WAEIC,MAAS,+DACTC,SACEjM,MAAS,8CACTgC,KAAQ,UAIVgK,MAAS,GACTC,SACEjM,MAAS,8CACTgC,KAAQ,UAIdkK,WAAc,KACdC,MACEhM,KAAQ,+CACRkM,SAAY,yCAGhBM,GACEZ,WAEIC,MAAS,6BACTC,SACEjM,MAAS,2CACTgC,KAAQ,UAIVgK,MAAS,oBACTC,SACEjM,MAAS,2CACTgC,KAAQ,UAIdkK,WAAc,KACdC,KAAQ,MAEVS,GACEb,WAEIC,MAAS,iGACTC,SACEjM,MAAS,8CACTgC,KAAQ,UAIVgK,MAAS,GACTC,SACEjM,MAAS,8CACTgC,KAAQ,UAIVgK,MAAS,GACTC,SACEjM,MAAS,sDACTgC,KAAQ,UAIVgK,MAAS,GACTC,SACEjM,MAAS,4CACTgC,KAAQ,UAIVgK,MAAS,SACTC,SACEjM,MAAS,sDACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,gCACRkM,SAAY,sBAEdF,KAAQ,MAEVU,IACEd,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,MACEhM,KAAQ,yCACRkM,SAAY,kCAGhBS,IACEf,WAEIC,MAAS,oEACTC,SACEjM,MAAS,2EACTgC,KAAQ,MACRyJ,OAAU,oGAIZO,MAAS,GACTC,SACEjM,MAAS,iDACTgC,KAAQ,MACRyJ,OAAU,4EAIZO,MAAS,GACTC,SACEjM,MAAS,gDACTgC,KAAQ,MACRyJ,OAAU,2EAIZO,MAAS,GACTC,SACEjM,MAAS,yDACTgC,KAAQ,MACRyJ,OAAU,wDAIhBS,WAAc,KACdC,MACEhM,KAAQ,sCACRkM,SAAY,+BAGhBU,IACEhB,WAEIC,MAAS,wBACTC,SACEjM,MAAS,qDACTgC,KAAQ,MACRyJ,OAAU,mFAIZO,MAAS,GACTC,SACEjM,MAAS,6DACTgC,KAAQ,MACRyJ,OAAU,mFAIZO,MAAS,GACTC,SACEjM,MAAS,yDACTgC,KAAQ,MACRyJ,OAAU,wDAIhBS,YACE/L,KAAQ,oDACRkM,SAAY,0CAEdF,KAAQ,MAEVa,IACEjB,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,MACEhM,KAAQ,mCACRkM,SAAY,+BAKpBnC,GACElK,MAAS,2BACT6L,UACEC,GACEC,WAEIC,MAAS,mCACTC,SACEjM,MAAS,kDACTgC,KAAQ,MACRyJ,OAAU,gGAIZO,MAAS,GACTC,SACEjM,MAAS,2DACTgC,KAAQ,MACRyJ,OAAU,0HAIZO,MAAS,GACTC,SACEjM,MAAS,kDACTgC,KAAQ,MACRyJ,OAAU,wGAIZO,MAAS,sEACTC,SACEjM,MAAS,kDACTgC,KAAQ,MACRyJ,OAAU,gGAIZO,MAAS,GACTC,SACEjM,MAAS,kDACTgC,KAAQ,MACRyJ,OAAU,gGAIhBS,YACE/L,KAAQ,yCACRkM,SAAY,SAEdF,KAAQ,MAEVC,GACEL,WAEIC,MAAS,yDACTC,SACEjM,MAAS,kDACTgC,KAAQ,MACRyJ,OAAU,6GAIZO,MAAS,GACTC,SACEjM,MAAS,2DACTgC,KAAQ,MACRyJ,OAAU,6HAIZO,MAAS,GACTC,SACEjM,MAAS,mDACTgC,KAAQ,MACRyJ,OAAU,kHAIhBS,YACE/L,KAAQ,uBACRkM,SAAY,aAEdF,KAAQ,MAEVG,GACEP,WAEIC,MAAS,0CACTC,SACEjM,MAAS,kDACTgC,KAAQ,MACRyJ,OAAU,gGAIhBS,WAAc,KACdC,MACEhM,KAAQ,uBACRkM,SAAY,iBAGhBE,GACER,WAEIC,MAAS,sBACTC,SACEjM,MAAS,kDACTgC,KAAQ,MACRyJ,OAAU,gGAIZO,MAAS,kBACTC,SACEjM,MAAS,6DACTgC,KAAQ,MACRyJ,OAAU,8GAIhBS,WAAc,KACdC,KAAQ,MAEVK,GACET,WAEIC,MAAS,6BACTC,SACEjM,MAAS,mDACTgC,KAAQ,MACRyJ,OAAU,8GAIhBS,YACE/L,KAAQ,uBACRkM,SAAY,aAEdF,KAAQ,MAEVM,GACEV,WAEIC,MAAS,4BACTC,SACEjM,MAAS,oDACTgC,KAAQ,MACRyJ,OAAU,6HAIZO,MAAS,GACTC,SACEjM,MAAS,mDACTgC,KAAQ,MACRyJ,OAAU,qHAIhBS,WAAc,KACdC,MACEhM,KAAQ,0CACRkM,SAAY,oCAGhBK,GACEX,WAEIC,MAAS,mFACTC,SACEjM,MAAS,mDACTgC,KAAQ,MACRyJ,OAAU,8GAIZO,MAAS,GACTC,SACEjM,MAAS,qDACTgC,KAAQ,MACRyJ,OAAU,kHAIZO,MAAS,GACTC,SACEjM,MAAS,6DACTgC,KAAQ,MACRyJ,OAAU,0GAIhBS,YACE/L,KAAQ,+BACRkM,SAAY,mBAEdF,KAAQ,MAEVQ,GACEZ,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,KAAQ,MAEVS,GACEb,WAEIC,MAAS,oBACTC,SACEjM,MAAS,mDACTgC,KAAQ,MACRyJ,OAAU,8GAIhBS,WAAc,KACdC,MACEhM,KAAQ,wCACRkM,SAAY,gCAGhBQ,IACEd,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,MACEhM,KAAQ,kCACRkM,SAAY,4BAGhBS,IACEf,WAEIC,MAAS,4CACTC,SACEjM,MAAS,qDACTgC,KAAQ,MACRyJ,OAAU,kHAIZO,MAAS,GACTC,SACEjM,MAAS,8DACTgC,KAAQ,MACRyJ,OAAU,oHAIhBS,YACE/L,KAAQ,2CACRkM,SAAY,6BAEdF,KAAQ,MAEVY,IACEhB,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,KAAQ,MAEVa,IACEjB,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,MACEhM,KAAQ,4BACRkM,SAAY,wBAKpBlC,MACEnK,MAAS,gDACT6L,UACEC,GACEC,WAEIC,MAAS,uBACTC,SACEjM,MAAS,8DACTgC,KAAQ,UAIVgK,MAAS,sBACTC,SACEjM,MAAS,gGACTgC,KAAQ,UAIVgK,MAAS,kBACTC,SACEjM,MAAS,8DACTgC,KAAQ,UAIdkK,WAAc,KACdC,KAAQ,MAEVC,GACEL,WAEIC,MAAS,kBACTC,SACEjM,MAAS,8DACTgC,KAAQ,UAIVgK,MAAS,YACTC,SACEjM,MAAS,8DACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,8BACRkM,SAAY,eAEdF,KAAQ,MAEVG,GACEP,WAEIC,MAAS,8BACTC,SACEjM,MAAS,uFACTgC,KAAQ,UAIVgK,MAAS,iBACTC,SACEjM,MAAS,8DACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,+CACRkM,SAAY,gCAEdF,KAAQ,MAEVI,GACER,WAEIC,MAAS,YACTC,SACEjM,MAAS,8DACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,qCACRkM,SAAY,sBAEdF,KAAQ,MAEVK,GACET,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,MACEhM,KAAQ,uBACRkM,SAAY,iBAGhBI,GACEV,WAEIC,MAAS,wCACTC,SACEjM,MAAS,kEACTgC,KAAQ,UAIVgK,MAAS,GACTC,SACEjM,MAAS,yEACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,yCACRkM,SAAY,4BAEdF,KAAQ,MAEVO,GACEX,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,MACEhM,KAAQ,cACRkM,SAAY,QAGhBM,GACEZ,WAEIC,MAAS,oCACTC,SACEjM,MAAS,+DACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,6BACRkM,SAAY,gBAEdF,KAAQ,MAEVS,GACEb,WAEIC,MAAS,wDACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,qDAIZO,MAAS,GACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,oDAIZO,MAAS,GACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,yDAIZO,MAAS,8CACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,qDAIZO,MAAS,GACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,mDAIZO,MAAS,GACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,uDAIhBS,WAAc,KACdC,MACEhM,KAAQ,uBACRkM,SAAY,iBAGhBQ,IACEd,WAEIC,MAAS,8CACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,iDAIZO,MAAS,GACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,sDAIZO,MAAS,GACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,uDAIZO,MAAS,4BACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,sDAIhBS,YACE/L,KAAQ,kCACRkM,SAAY,mBAEdF,KAAQ,MAEVW,IACEf,WAEIC,MAAS,yBACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,4DAIZO,MAAS,qBACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,iDAIZO,MAAS,2EACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,sDAIZO,MAAS,GACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,oDAIZO,MAAS,GACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,mDAIZO,MAAS,GACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,qDAIhBS,WAAc,KACdC,KAAQ,MAEVY,IACEhB,WAEIC,MAAS,gEACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,mDAIZO,MAAS,GACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,8DAIZO,MAAS,GACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,iDAIZO,MAAS,kCACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,qDAIZO,MAAS,GACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,mDAIZO,MAAS,GACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,mDAIhBS,YACE/L,KAAQ,gCACRkM,SAAY,iBAEdF,KAAQ,MAEVa,IACEjB,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,MACEhM,KAAQ,yBACRkM,SAAY,qBAKpBjC,KACEpK,MAAS,6BACT6L,UACEC,GACEC,WAEIC,MAAS,mCACTC,SACEjM,MAAS,wCACTgC,KAAQ,MACRyJ,OAAU,2CAIZO,MAAS,eACTC,SACEjM,MAAS,uEACTgC,KAAQ,MACRyJ,OAAU,2CAIhBS,YACE/L,KAAQ,yCACRkM,SAAY,SAEdF,KAAQ,MAEVC,GACEL,WAEIC,MAAS,oCACTC,SACEjM,MAAS,gEACTgC,KAAQ,MACRyJ,OAAU,2CAIZO,MAAS,kBACTC,SACEjM,MAAS,uEACTgC,KAAQ,MACRyJ,OAAU,2CAIhBS,WAAc,KACdC,KAAQ,MAEVG,GACEP,WAEIC,MAAS,0BACTC,SACEjM,MAAS,gEACTgC,KAAQ,MACRyJ,OAAU,2CAIhBS,YACE/L,KAAQ,yCACRkM,SAAY,8BAEdF,KAAQ,MAEVI,GACER,WAEIC,MAAS,wBACTC,SACEjM,MAAS,0EACTgC,KAAQ,MACRyJ,OAAU,2CAIZO,MAAS,mCACTC,SACEjM,MAAS,mFACTgC,KAAQ,MACRyJ,OAAU,2CAIhBS,WAAc,KACdC,KAAQ,MAEVK,GACET,WAEIC,MAAS,+CACTC,SACEjM,MAAS,4IACTgC,KAAQ,MACRyJ,OAAU,2CAIhBS,YACE/L,KAAQ,8BACRkM,SAAY,mBAEdF,KAAQ,MAEVM,GACEV,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,SAIdkK,WAAc,KACdC,MACEhM,KAAQ,uBACRkM,SAAY,iBAGhBK,GACEX,WAEIC,MAAS,kCACTC,SACEjM,MAAS,iDACTgC,KAAQ,MACRyJ,OAAU,2CAIZO,MAAS,sBACTC,SACEjM,MAAS,iDACTgC,KAAQ,MACRyJ,OAAU,2CAIhBS,WAAc,KACdC,KAAQ,MAEVQ,GACEZ,WAEIC,MAAS,UACTC,SACEjM,MAAS,qDACTgC,KAAQ,MACRyJ,OAAU,2CAIhBS,YACE/L,KAAQ,6CACRkM,SAAY,kCAEdF,KAAQ,MAEVS,GACEb,WAEIC,MAAS,yBACTC,SACEjM,MAAS,qDACTgC,KAAQ,MACRyJ,OAAU,2CAIhBS,WAAc,KACdC,MACEhM,KAAQ,kCACRkM,SAAY,2BAGhBQ,IACEd,WAEIC,MAAS,uBACTC,SACEjM,MAAS,yDACTgC,KAAQ,MACRyJ,OAAU,2CAIhBS,YACE/L,KAAQ,sCACRkM,SAAY,4BAEdF,KAAQ,MAEVW,IACEf,WAEIC,MAAS,YACTC,SACEjM,MAAS,yCACTgC,KAAQ,MACRyJ,OAAU,2CAIhBS,WAAc,KACdC,MACEhM,KAAQ,qCACRkM,SAAY,+BAGhBU,IACEhB,WAEIC,MAAS,cACTC,SACEjM,MAAS,yCACTgC,KAAQ,MACRyJ,OAAU,2CAIhBS,YACE/L,KAAQ,oCACRkM,SAAY,0BAEdF,KAAQ,MAEVa,IACEjB,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,SAIdkK,WAAc,KACdC,MACEhM,KAAQ,uBACRkM,SAAY,mBAKpBhC,MACErK,MAAS,8BACT6L,UACEC,GACEC,WAEIC,MAAS,qDACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,mKAIZO,MAAS,sBACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,oKAIZO,MAAS,4BACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,wKAIhBS,WAAc,KACdC,KAAQ,MAEVC,GACEL,WAEIC,MAAS,iDACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,4KAIZO,MAAS,8CACTC,SACEjM,MAAS,uCACTgC,KAAQ,MACRyJ,OAAU,sLAIhBS,WAAc,KACdC,KAAQ,MAEVG,GACEP,WAEIC,MAAS,0EACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,mKAIhBS,YACE/L,KAAQ,gCACRkM,SAAY,sBAEdF,KAAQ,MAEVI,GACER,WAEIC,MAAS,eACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,0KAIhBS,WAAc,KACdC,MACEhM,KAAQ,uBACRkM,SAAY,iBAGhBG,GACET,WAEIC,MAAS,uCACTC,SACEjM,MAAS,0DACTgC,KAAQ,MACRyJ,OAAU,0LAIhBS,YACE/L,KAAQ,uBACRkM,SAAY,YAEdF,KAAQ,MAEVM,GACEV,YACAG,WAAc,KACdC,MACEhM,KAAQ,0BACRkM,SAAY,oBAGhBK,GACEX,WAEIC,MAAS,+BACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,oLAIZO,MAAS,kCACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,+KAIhBS,WAAc,KACdC,KAAQ,MAEVQ,GACEZ,WAEIC,MAAS,8CACTC,SACEjM,MAAS,0DACTgC,KAAQ,MACRyJ,OAAU,0LAIhBS,YACE/L,KAAQ,2BACRkM,SAAY,iBAEdF,KAAQ,MAEVS,GACEb,WAEIC,MAAS,sBACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,8JAIhBS,WAAc,KACdC,MACEhM,KAAQ,uCACRkM,SAAY,iCAGhBQ,IACEd,WAEIC,MAAS,qBACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,4JAIhBS,YACE/L,KAAQ,mCACRkM,SAAY,yBAEdF,KAAQ,MAEVW,IACEf,WAEIC,MAAS,gCACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,0JAIhBS,WAAc,KACdC,MACEhM,KAAQ,qBACRkM,SAAY,eAGhBU,IACEhB,WAEIC,MAAS,gCACTC,SACEjM,MAAS,2CACTgC,KAAQ,MACRyJ,OAAU,sJAIhBS,YACE/L,KAAQ,+BACRkM,SAAY,qBAEdF,KAAQ,MAEVa,IACEjB,YACAG,WAAc,KACdC,MACEhM,KAAQ,2BACRkM,SAAY,uBAKpB/B,QACEtK,MAAS,gCACT6L,UACEC,GACEC,WAEIC,MAAS,eACTC,SACEjM,MAAS,uCACTgC,KAAQ,MACRyJ,OAAU,qEAIZO,MAAS,yCACTC,SACEjM,MAAS,uCACTgC,KAAQ,MACRyJ,OAAU,qEAIZO,MAAS,YACTC,SACEjM,MAAS,uCACTgC,KAAQ,MACRyJ,OAAU,qEAIhBS,YACE/L,KAAQ,yCACRkM,SAAY,SAEdF,KAAQ,MAEVC,GACEL,WAEIC,MAAS,6BACTC,SACEjM,MAAS,uCACTgC,KAAQ,MACRyJ,OAAU,qEAIZO,MAAS,qBACTC,SACEjM,MAAS,uCACTgC,KAAQ,MACRyJ,OAAU,qEAIZO,MAAS,YACTC,SACEjM,MAAS,uCACTgC,KAAQ,MACRyJ,OAAU,qEAIhBS,WAAc,KACdC,KAAQ,MAEVG,GACEP,WAEIC,MAAS,UACTC,SACEjM,MAAS,uCACTgC,KAAQ,MACRyJ,OAAU,qEAIZO,MAAS,yBACTC,SACEjM,MAAS,yBACTgC,KAAQ,MACRyJ,OAAU,2EAIhBS,YACE/L,KAAQ,gCACRkM,SAAY,sBAEdF,KAAQ,MAEVI,GACER,WAEIC,MAAS,QACTC,SACEjM,MAAS,wCACTgC,KAAQ,MACRyJ,OAAU,qEAIZO,MAAS,eACTC,SACEjM,MAAS,wCACTgC,KAAQ,MACRyJ,OAAU,qEAIhBS,WAAc,KACdC,MACEhM,KAAQ,oCACRkM,SAAY,8BAGhBG,GACET,WAEIC,MAAS,SACTC,SACEjM,MAAS,wCACTgC,KAAQ,MACRyJ,OAAU,qEAIZO,MAAS,wBACTC,SACEjM,MAAS,0BACTgC,KAAQ,MACRyJ,OAAU,kFAIZO,MAAS,eACTC,SACEjM,MAAS,2BACTgC,KAAQ,MACRyJ,OAAU,8EAIhBS,WAAc,KACdC,KAAQ,MAEVM,GACEV,WAEIC,MAAS,QACTC,SACEjM,MAAS,wCACTgC,KAAQ,MACRyJ,OAAU,qEAIZO,MAAS,YACTC,SACEjM,MAAS,wCACTgC,KAAQ,MACRyJ,OAAU,qEAIhBS,YACE/L,KAAQ,2CACRkM,SAAY,iCAEdF,KAAQ,MAEVO,GACEX,WAEIC,MAAS,sBACTC,SACEjM,MAAS,wCACTgC,KAAQ,MACRyJ,OAAU,qEAIhBS,WAAc,KACdC,MACEhM,KAAQ,oCACRkM,SAAY,8BAGhBM,GACEZ,WAEIC,MAAS,wBACTC,SACEjM,MAAS,wCACTgC,KAAQ,MACRyJ,OAAU,qEAIZO,MAAS,sBACTC,SACEjM,MAAS,wCACTgC,KAAQ,MACRyJ,OAAU,qEAIhBS,WAAc,KACdC,KAAQ,MAEVS,GACEb,WAEIC,MAAS,qBACTC,SACEjM,MAAS,yBACTgC,KAAQ,MACRyJ,OAAU,+EAIZO,MAAS,cACTC,SACEjM,MAAS,0BACTgC,KAAQ,MACRyJ,OAAU,iEAIhBS,WAAc,KACdC,MACEhM,KAAQ,2BACRkM,SAAY,qBAGhBQ,IACEd,WAEIC,MAAS,0BACTC,SACEjM,MAAS,6CACTgC,KAAQ,MACRyJ,OAAU,6DAIZO,MAAS,GACTC,SACEjM,MAAS,4CACTgC,KAAQ,MACRyJ,OAAU,6DAIZO,MAAS,GACTC,SACEjM,MAAS,0CACTgC,KAAQ,MACRyJ,OAAU,2DAIZO,MAAS,6BACTC,SACEjM,MAAS,uDACTgC,KAAQ,MACRyJ,OAAU,8CAIhBS,YACE/L,KAAQ,6BACRkM,SAAY,mBAEdF,KAAQ,MAEVW,IACEf,YACAG,WAAc,KACdC,MACEhM,KAAQ,sCACRkM,SAAY,gCAGhBU,IACEhB,WAEIC,MAAS,4BACTC,SACEjM,MAAS,6CACTgC,KAAQ,MACRyJ,OAAU,kHAIhBS,YACE/L,KAAQ,0BACRkM,SAAY,gBAEdF,KAAQ,MAEVa,IACEjB,YACAG,WAAc,KACdC,MACEhM,KAAQ,8CACRkM,SAAY,0CAKpB9B,OACEvK,MAAS,qDACT6L,UACEC,GACEC,WAEIC,MAAS,6BACTC,SACEjM,MAAS,kFACTgC,KAAQ,UAIVgK,MAAS,GACTC,SACEjM,MAAS,0FACTgC,KAAQ,UAIVgK,MAAS,gCACTC,SACEjM,MAAS,4EACTgC,KAAQ,UAIdkK,WAAc,KACdC,KAAQ,MAEVC,GACEL,WAEIC,MAAS,2CACTC,SACEjM,MAAS,0EACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,gCACRkM,SAAY,sBAEdF,KAAQ,MAEVG,GACEP,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,MACEhM,KAAQ,oBACRkM,SAAY,cAGhBE,GACER,WAEIC,MAAS,UACTC,SACEjM,MAAS,0EACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,+BACRkM,SAAY,qBAEdF,KAAQ,MAEVK,GACET,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,MACEhM,KAAQ,kBACRkM,SAAY,YAGhBI,GACEV,WAEIC,MAAS,QACTC,SACEjM,MAAS,0EACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,4BACRkM,SAAY,kBAEdF,KAAQ,MAEVO,GACEX,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,MACEhM,KAAQ,gBACRkM,SAAY,UAGhBM,GACEZ,WAEIC,MAAS,wBACTC,SACEjM,MAAS,0FACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,mCACRkM,SAAY,yBAEdF,KAAQ,MAEVS,GACEb,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,MACEhM,KAAQ,gCACRkM,SAAY,0BAGhBQ,IACEd,WAEIC,MAAS,wBACTC,SACEjM,MAAS,2FACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,4BACRkM,SAAY,kBAEdF,MACEhM,KAAQ,gCACRkM,SAAY,0BAGhBS,IACEf,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,KAAQ,MAEVY,IACEhB,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,4BACRkM,SAAY,kBAEdF,KAAQ,MAEVa,IACEjB,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,WAAc,KACdC,KAAQ,MAEVc,IACElB,WAEIC,MAAS,GACTC,SACEjM,MAAS,GACTgC,KAAQ,UAIdkK,YACE/L,KAAQ,4BACRkM,SAAY,kBAEdF,KAAQ,SCz9DhBe,QAEA,2CAGA,cACA,0DAMA,QACA,sCAEA,iEAEAtC,wEACA,0BAEA,gFAQAqB,2DACA,kBAEA,+BACA,mBAEA,+FAGAC,QAEA,iCACA,iBACA,mCAEAtB,wBAEA,qBAIA,qFAGAuB,QAEA,eACA,YACA,6BAEAvB,kBAGA,8CAEA,IAAAjD,EAAApI,gDAGA4N,kHAGA,wCAEA,iEAGA,mDAIAjG,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,oCAGA,0CAGAC,yCAEA,aACA,mDACA,kCACAY,2CAEA,0BAEAqF,EAAAzF,EAAA0F,iBAAAC,EACA,YAAAA,EAAA,SACAnG,gBACAiG,EAAAzF,EAAA4F,WAAAD,EACA,MAAAA,EAAA,SACAnG,iBAEAyB,MAIA4E,KCzJAC,GADiBpO,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAF,EAAA,SAAAI,EAAA,OAAgCW,YAAA,uBAAiCX,EAAA,MAAAJ,EAAAM,GAAAN,EAAA2I,GAAA3I,EAAAoO,SAAA1N,UAAAV,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gMAAAN,EAAAM,GAAA,KAAAF,EAAA,SAA6UW,YAAA,yBAAmCf,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAwI,GAAAxI,EAAA,sBAAAsJ,EAAA+E,GAAiF,OAAAjO,EAAA,MAAgBsI,IAAA2F,GAAUrO,EAAAwI,GAAA,WAAA8F,EAAAC,GAAoC,OAAAnO,EAAA,MAAgBsI,IAAA6F,EAAA/N,OAAkBgO,QAAAF,EAAAG,QAAqBH,EAAAN,SAAA,UAAAM,EAAAN,QAAAtL,KAAAtC,EAAA,eAAoEI,OAAO4K,IAAMvK,KAAAyN,EAAAN,QAAA7B,OAAAV,OAAA6C,EAAAN,QAAAvC,SAAwDiD,UAAWC,UAAA3O,EAAA2I,GAAA2F,EAAAN,QAAAY,SAAuCN,EAAAN,SAAA,QAAAM,EAAAN,QAAAtL,KAAAtC,EAAA,KAAwDI,OAAOsB,KAAAwM,EAAAN,QAAA7B,cAAA,UAA6CuC,UAAWC,UAAA3O,EAAA2I,GAAA2F,EAAAN,QAAAY,SAAuCN,EAAAN,SAAA,SAAAM,EAAAN,QAAAtL,KAAAtC,EAAA,QAA4DsO,UAAUC,UAAA3O,EAAA2I,GAAA2F,EAAAN,QAAAY,SAAuCxO,EAAA,QAAasO,UAAUC,UAAA3O,EAAA2I,GAAA2F,EAAAN,aAAkC,aAAShO,EAAA8I,MAEvsC9H,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAqCI,OAAOqO,MAAA,SAAe7O,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwCI,OAAOqO,MAAA,SAAe7O,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAOqO,MAAA,SAAe7O,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA2CI,OAAOqO,MAAA,SAAe7O,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA8CI,OAAOqO,MAAA,SAAe7O,EAAAM,GAAA,iBCEja,IAuBAwO,EAvBAlP,EAAA,OAcAmP,CACAnB,EACAO,GATA,EAVA,SAAAhE,GACAvK,EAAA,SAaA,kBAEA,MAUA,QCcAoP,QAEA,qBACApB,SAAAkB,kCAGAtE,WACA,SAEA,0CAIA,QACA,mEAGA,oBACA,sEACA,uBAEA,gBACA,uCACAyE,WC5DAC,GADiBnP,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBW,YAAA,sBAA+Bf,EAAAiP,OAAAjP,EAAAsL,SAAAlL,EAAA,OAAAA,EAAA,OAAmDW,YAAA,mBAA6BX,EAAA,eAAAA,EAAA,eAAsCI,OAAO4K,IAAMvK,KAAA,WAAA4K,QAA0BH,SAAAtL,EAAAsL,cAA4BtL,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAN,EAAAmP,QAAAnP,EAAAsL,UAAA,YAAAlL,EAAA,eAAgGI,OAAO4K,IAAMvK,KAAA,cAAA4K,QAA6BH,SAAAtL,EAAAsL,cAA4BtL,EAAAM,GAAA,kDAAAN,EAAA8I,KAAA9I,EAAAM,GAAA,KAAAN,EAAAmP,QAAAnP,EAAAsL,UAAA,OAAAlL,EAAA,KAA8HI,OAAOsB,KAAA9B,EAAAmP,QAAAnP,EAAAsL,UAAA,OAAAa,OAAA,YAA8DnM,EAAAM,GAAA,kCAAAN,EAAA8I,MAAA,OAAA9I,EAAAM,GAAA,KAAAF,EAAA,eAAAA,EAAA,eAA4GW,YAAA,4BAAqC,OAAAX,EAAA,KAAAJ,EAAAM,GAAAN,EAAA2I,GAAA3I,EAAAiP,aAE3yBjO,oBCCjB,IAuBAoO,EAvBAxP,EAAA,OAcAyP,CACAL,EACAE,GATA,EAVA,SAAA/E,GACAvK,EAAA,SAaA,kBAEA,MAUA,QCbA0P,QAEA,oDAGA,cAEA,0CAIA,QACA,sCAEA,8CACA,gBCzBAC,GADiBxP,OAFjB,WAA0B,IAAaG,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBW,YAAA,0BAAoCX,EAAA,OAAYW,YAAA,cAAwBX,EAAA,KAAUW,YAAA,0BAAAP,OAA6CsB,KAA/M7B,KAA+MuP,eAAArD,OAAA,YAA/MlM,KAA4PK,GAAA,oCAA5PL,KAA4PK,GAAA,KAAAF,EAAA,WAAuEW,YAAA,oBAAAP,OAAuCmB,IAA1W1B,KAA0WuP,eAAAC,OAAA,WAA0C,IAE7ZzO,oBCCjB,MAuBA0O,EAvBA9P,EAAA,OAcA+P,CACAL,EACAC,GATA,EAVA,SAAApF,GACAvK,EAAA,SAaA,KAEA,MAUA,6BCEAgQ,QAEA,sEAIA,kBACA,yBACA,WAEA,gJAMA,WACAC,QACAC,2BAGA,IAAAzH,EAAApI,gBAEA,yEAEA,IAAA8P,EAAAC,EAAAC,MAEA,0FAKA,2JAUA,wDAGA3E,iBACA0E,8CAEAA,6FAEA,eACA,WC5EAE,GADiBnQ,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,eAAyBW,YAAA,0BAAmCf,EAAAiP,OAAAjP,EAAAmQ,oBAAA/P,EAAA,OAAAA,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAA2I,GAAA3I,EAAAmQ,oBAAAzP,OAAA,YAAAV,EAAAmQ,oBAAA,UAAA/P,EAAA,KAA6KW,YAAA,sBAAAP,OAAyCsB,KAAA9B,EAAAoQ,uBAAA,IAAApQ,EAAAsL,SAAA,IAAAtL,EAAAmQ,oBAAAE,aAAkGrQ,EAAAM,GAAA,aAAAN,EAAA2I,GAAA3I,EAAAmQ,oBAAAE,WAAA,cAAArQ,EAAA8I,OAAA9I,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAAJ,EAAAsQ,cAA+IC,IAAA,eAAgB,GAAAnQ,EAAA,KAAAJ,EAAAM,GAAAN,EAAA2I,GAAA3I,EAAAiP,aAE3lBjO,oBCqBjBwP,EAvBA5Q,EAAA,OAcA6Q,CACAb,EACAM,GATA,EAEA,KAEA,KAEA,MAUA,QCNAQ,QAEA,qCAGA,WAEA,+JAMA,WACAb,QACAC,6BAGA,IAAAzH,EAAApI,gBAEA,mEAEA,IAAA8P,EAAAC,EAAAC,MAEA,0FAIA,2JAUA,gDAGAD,2CAEAtP,MAAA8J,EAAAc,GAAA,2BAAA/B,KACA,eACA,WC3DAoH,GADiB5Q,OAFjB,WAA0B,IAAaG,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,eAAyBW,YAAA,oBAAxFd,KAAqHgP,OAArHhP,KAAqH2Q,OAAAxQ,EAAA,OAAAA,EAArHH,KAAqH2Q,QAAsDL,IAAA,eAAgB,GAAAnQ,EAAA,KAA3LH,KAA2LK,GAA3LL,KAA2L0I,GAA3L1I,KAA2LgP,aAEpMjO,oBCqBjB6P,EAvBAjR,EAAA,OAcAkR,CACAJ,EACAC,GATA,EAEA,KAEA,KAEA,MAUA,QCZAI,EAAA,EAAIC,IAAIC,EAAA,GAER,IAAAC,EAAA,IAAmBD,EAAA,GACjBE,KAAM,OACNC,eAFwB,SAERhG,EAAIiG,EAAMC,GACxB,OAAQC,EAAG,EAAGC,EAAG,IAEnBC,SAEIC,KAAM,IACN7Q,KAAM,OACNuH,UAAWgE,IAGXsF,KAAM,aACNtJ,UAAWgH,EACXuC,WAEID,KAAM,WACN7Q,KAAM,WACNuH,UAAW0G,IAGX4C,KAAM,cACN7Q,KAAM,cACNuH,UAAWsH,IAGXgC,KAAM,2BACN7Q,KAAM,aACNuH,UAAWoI,IAGXkB,KAAM,eACN7Q,KAAM,OACNuH,UAAWyI,IAGXa,KAAM,IACNE,UACE/Q,KAAM,wEChDlBgR,GADiB9R,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBI,OAAOmD,GAAA,cAAiBvD,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAN,EAAA,SAAAI,EAAA,KAAAJ,EAAAwI,GAAAxI,EAAA,kBAAA2M,EAAAmF,GAA+G,OAAA1R,EAAA,MAAgBsI,IAAAoJ,IAAQnF,EAAAhM,MAAA,KAAAgM,EAAAhM,KAAAP,EAAA,KAAgDI,OAAOsB,KAAA6K,EAAAhM,MAAoB+N,UAAWC,UAAA3O,EAAA2I,GAAAgE,EAAAjM,UAAmCN,EAAA,QAAasO,UAAUC,UAAA3O,EAAA2I,GAAAgE,EAAAjM,UAAmCV,EAAAM,GAAA,KAAAqM,EAAApL,OAAA,KAAAoL,EAAApL,MAAAnB,EAAA,QAAiEsO,UAAUC,UAAA3O,EAAA2I,GAAAgE,EAAApL,UAAmCvB,EAAA8I,UAAa9I,EAAA8I,KAAA9I,EAAAM,GAAA,KAAAN,EAAA+R,GAAA,gBAE1iB/Q,oBCqBjBgR,EAvBApS,EAAA,OAcAqS,SCIA,aDFAJ,GATA,EAEA,KAEA,KAEA,MAUA,QEpBAK,GADiBnS,OAFjB,WAA0B,IAAaG,EAAbD,KAAaE,eAAkD,OAA/DF,KAAuCI,MAAAD,IAAAF,GAAwB,OAAiBa,YAAA,kBAAhFd,KAA4G8R,GAAA,gBAErH/Q,oBCqBjBmR,EAvBAvS,EAAA,OAcAwS,OCLA,gBDOAF,GATA,EAEA,KAEA,KAEA,MAUA,QEpBAG,GADiBtS,OAFjB,WAA0B,IAAaG,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBW,YAAA,kBAA4BX,EAAA,cAA5GH,KAA4GM,GAAA,GAA5GN,KAA4GK,GAAA,KAA5GL,KAA4G8R,GAAA,kBAErH/Q,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,kBCsBnGgS,EAvBA1S,EAAA,OAcA2S,OCDA,gBDGAF,GATA,EAEA,KAEA,KAEA,MAUA,QERAtB,EAAA,EAAIC,IAAIwB,EAAA,GACRzB,EAAA,EAAIC,IAAIyB,EAAAC,GACR3B,EAAA,EAAIC,IAAI2B,EAAAD,GACN/O,GAAI,iBACJuN,WAIFH,EAAA,EAAI3I,UAAU,WAAY4J,GAC1BjB,EAAA,EAAI3I,UAAU,eAAgB+J,GAC9BpB,EAAA,EAAI3I,UAAU,eAAgBkK,GAG9BvB,EAAA,EAAI6B,OAAOC,eAAgB,EAG3B,IAAI9B,EAAA,GACF+B,GAAI,OACJ5B,SACA6B,YAAcrH,IAAAE,GACdmB,SAAU,iCCnCZrN,EAAAC,QAAAC,EAAAC,EAAA,iICAA,IAgBAmT,GADiBjT,OAfjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAkII,OAAOC,WAElOC,MAAA,wEACAC,KAAA,+FAGAD,MAAA,gEACAC,KAAA,6GAGAD,MAAA,gEACAC,KAAA,gHAEOX,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,sIAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAyRQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,8aAAmbN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,4CAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,qMAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,8CAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,4FAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,4SAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAowCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,mGAAmGN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,iCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,qIAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,qKAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,gDAEvtEU,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,kJAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,8DAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,oBCDnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaA8R,GATA,EAEA,KAEA,KAEA,MAUA7R,EAAA,QAAAF,EAAA,4FCrBA,ICEAgS,GADiBlT,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,sEAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4KAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgfQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,wqBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oFAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAk2BQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wGAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAwZQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA0HQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,ogBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAonBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgHQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA8GQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAkYQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAuGQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,2EAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAmKQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,gEAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAwJQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,kLAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2QQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,2DAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,OAEr1JS,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2BAAAF,EAAA,KAAmHI,OAAOsB,KAAA,kDAAuD9B,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,mIAAAF,EAAA,KAAgLI,OAAOsB,KAAA,4CAAiD9B,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,mCAAAF,EAAA,MAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,yDAAAF,EAAA,KAAuLI,OAAOsB,KAAA,8CAAmD9B,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,mCAAAF,EAAA,KAA+EI,OAAOsB,KAAA,kDAAuD9B,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yCAAAF,EAAA,KAA4II,OAAOsB,KAAA,8DAAmE9B,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,8MAAAF,EAAA,KAA8PI,OAAOsB,KAAA,2CAAgD9B,EAAAM,GAAA,cAAAN,EAAAM,GAAA,sCAAAF,EAAA,KAA4EI,OAAOsB,KAAA,0CAA+C9B,EAAAM,GAAA,aAAAN,EAAAM,GAAA,2CAAAF,EAAA,KAAgFI,OAAOsB,KAAA,wBAA6B9B,EAAAM,GAAA,+CAAAN,EAAAM,GAAA,wIAAsM,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,qDAAsI,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,sDAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,iCAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,gFAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,8EAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,aAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,0FAA0lB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,iFAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,kBAAqK,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAA/DH,KAA+DK,GAAA,4IAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAA/DH,KAA+DK,GAAA,+JAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAA/DH,KAA+DK,GAAA,0HAA4f,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,wCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,6CAAuJ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,KAAAA,EAAA,OAAsCW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,8BAAA7I,MAAA,WAAtJzB,KAAqPK,GAAA,KAAAF,EAAA,cAArPH,KAAqPK,GAAA,gDAAAF,EAAA,QAArPH,KAAqPK,GAAA,yBAAkI,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,gIAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,+GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2IAAAF,EAAA,QAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+HAAAF,EAAA,QAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,MAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,0mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,2CAAAF,EAAA,UAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,2GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,kEAAu+D,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAA/DH,KAA+DK,GAAA,+BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,QAA0G,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,qCAAAF,EAAA,UAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,+CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,4DAAsP,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,6MAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,oHAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,kBAA4b,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,gKAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,gCAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qJAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,yNAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,OAAAF,EAAA,UAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,2JAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,gJAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,+EAAg8C,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,cAAAF,EAAA,QAA/DH,KAA+DK,GAAA,2BAA/DL,KAA+DK,GAAA,iDAAwI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,WAAjFd,KAAsGK,GAAA,QAAAF,EAAA,UAAtGH,KAAsGK,GAAA,kBAAtGL,KAAsGK,GAAA,6HAA+L,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,sCAAAF,EAAA,OAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,+BAAAF,EAAA,MAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,oUAAqe,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAA/DH,KAA+DK,GAAA,2BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,qBAA/DL,KAA+DK,GAAA,SAAAF,EAAA,QAA/DH,KAA+DK,GAAA,sBAA/DL,KAA+DK,GAAA,QAA+J,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,yGAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sHAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,wEAAAF,EAAA,KAAkZI,OAAOsB,KAAA,8DAAmE9B,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,uEAAAF,EAAA,OAAAA,EAAA,KAA0II,OAAOsB,KAAA,6EAAkF9B,EAAAM,GAAA,eAAAN,EAAAM,GAAA,oCAAAF,EAAA,OAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,qBAAAF,EAAA,OAAAA,EAAA,KAAyMI,OAAOsB,KAAA,qDAA0D9B,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,mDAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,mBAA0Q,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,wCAAAF,EAAA,QAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,oEAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,yDAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,0EAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,sHAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,wDAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,gCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,mDAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,mEAAinC,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,yCAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,uDAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,+GAAAF,EAAA,MAAAJ,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,uBAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,yDAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,+BAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,0KAAm0B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,sEAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,iEAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2GAAme,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,sDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,qBAA/DL,KAA+DK,GAAA,qCAA8J,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,SAA9IzB,KAAiNK,GAAA,KAAAF,EAAA,cAAjNH,KAAiNK,GAAA,kCAAAF,EAAA,QAAjNH,KAAiNK,GAAA,qBAAjNL,KAAiNK,GAAA,UAA+H,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,idAAAF,EAAA,MAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,oDAAAF,EAAA,MAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,yEAA2rB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gSAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,gCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,uMAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yIAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,kEAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,4CAAAF,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,uDAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,oCAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,kCAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,8VAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,oBAAAF,EAAA,MAAAJ,EAAAM,GAAA,uHAAAN,EAAAM,GAAA,wdAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,0CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4EAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,kEAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,gHAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,uWAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4JAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,6GAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,wJAA61H,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,8CAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,4LAAAF,EAAA,QAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,mRAAwmB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAsGW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,gBAAA7I,MAAA,SAAwF1B,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,okBAAyIN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0QAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8GAAq9B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0BAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,mBAAAF,EAAA,OAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,4FAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,0GAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,2IAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,uBAAAF,EAAA,OAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,gBAAAF,EAAA,KAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,0OAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,sBAAAF,EAAA,OAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,eAAAF,EAAA,KAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,oCAAAF,EAAA,KAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,sJAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,sBAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,4CAAAF,EAAA,KAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,WAAAF,EAAA,KAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,sBAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,YAAAF,EAAA,KAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,oCAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,qBAAAF,EAAA,OAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,yBAAAF,EAAA,KAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,SAAAF,EAAA,KAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,yBAAAF,EAAA,KAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,2EAAAF,EAAA,KAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,6BAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,MAAAF,EAAA,KAAAJ,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,SAAAF,EAAA,KAAAJ,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0EAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,gMAAsxH,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,2OAAyQ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,sBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,yHAA0N,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,0BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,iQAAsW,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,0GAAoN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,sBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,wBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,0IAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,6GAAib,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gEAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,aAAuI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,sBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,iNAAgS,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gEAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,aAAuI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mQAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,mCAAwW,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,0CAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,uDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sTAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,uBAAAF,EAAA,MAAAJ,EAAAM,GAAA,gGAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iMAAgyCN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qEAAyO,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,8CAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iNAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yNAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,ySAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,gIAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAosCW,YAAA,qCAA+CX,EAAA,MAAAA,EAAA,MAAoBI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAkDI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAsDI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwDI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAiEI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,eAAAF,EAAA,MAAAJ,EAAAM,GAAA,2DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAiII,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,gDAAAF,EAAA,MAAAJ,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAiKI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,sBAAAF,EAAA,MAAAJ,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAmII,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAmFI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,sBAAAF,EAAA,MAAAJ,EAAAM,GAAA,uDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sCAAyON,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2HAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gUAAsf,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sFAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,4DAA0lCN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8FAA0HN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kDAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,yDAA0SN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mECajpmCW,EAdArB,EAAA,OAcAsB,QFXA,uCACA,aEYA+R,GATA,EAEA,KAEA,KAEA,MAUA9R,EAAA,QAAAF,EAAA,gCCvBAvB,EAAAC,QAAAC,EAAAC,EAAA,+DCAAH,EAAAC,QAAAC,EAAAC,EAAA,4ECAAH,EAAAC,QAAA,y1PCCA,ICuCAuT,GADiBnT,OAvCjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,uDACAC,KAAA,oDAGAD,MAAA,uDACAC,KAAA,mDAGAD,MAAA,uDACAC,KAAA,wDAGAD,MAAA,uDACAC,KAAA,oDAGAD,MAAA,uDACAC,KAAA,kDAGAD,MAAA,uDACAC,KAAA,sDAGAD,MAAA,uDACAC,KAAA,gDAGAD,MAAA,uDACAC,KAAA,qDAGAD,MAAA,wDACAC,KAAA,yDAEOX,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4SAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA+bQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,sHAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAkVQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6TAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6lBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,wFAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA2NQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAsQQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,+EAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+KAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,QAExwES,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,mLAAgQ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBI,OAAOmD,GAAA,aAAgBvD,EAAA,MAA3GH,KAA2GK,GAAA,kBAA3GL,KAA2GK,GAAA,KAAAF,EAAA,KAA3GH,KAA2GK,GAAA,4GAAAF,EAAA,QAA3GH,KAA2GK,GAAA,uBAA3GL,KAA2GK,GAAA,uDAAiR,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,6BAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,8xBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,qWAAAF,EAAA,QAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,4HAA+5C,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,oEAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,+CAAmP,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,0BAAAF,EAAA,QAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,2DAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,qFAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,eAAua,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,uCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,2BAA/DL,KAA+DK,GAAA,8JAA8Q,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,uDAAsb,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,kGAAAF,EAAA,QAA/DH,KAA+DK,GAAA,2BAA/DL,KAA+DK,GAAA,QAAmL,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,mHAA4L,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yEAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iFAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oGAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mFCxBj8IW,EAdArB,EAAA,OAcAsB,QFXA,4CACA,iBEYAgS,GATA,EAEA,KAEA,KAEA,MAUA/R,EAAA,QAAAF,EAAA,8BCvBAvB,EAAAC,QAAAC,EAAAC,EAAA,2HCAA,IAgBAsT,GADiBpT,OAfjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAmHI,OAAOC,WAEnNC,MAAA,uDACAC,KAAA,kKAGAD,MAAA,uDACAC,KAAA,yKAGAD,MAAA,uEACAC,KAAA,4LAEOX,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,wFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uKAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6CAA6wBN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qJAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2oBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,oQAA4QN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAkDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,sEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,uGAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,+GAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,yHAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6nBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,yMAAwIN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,MAAAA,EAAA,MAA2HI,OAAOkC,KAAA,OAAYtC,EAAA,QAAAJ,EAAAM,GAAA,oBAAmCN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,sBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,4EAAsMN,EAAAM,GAAA,KAAAF,EAAA,MAAkFI,OAAOkC,KAAA,OAAYtC,EAAA,QAAAJ,EAAAM,GAAA,sCAAqDN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,+DAA8ON,EAAAM,GAAA,KAAAF,EAAA,MAAgCI,OAAOkC,KAAA,OAAYtC,EAAA,QAAAJ,EAAAM,GAAA,uBAAsCN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,8BAAyLN,EAAAM,GAAA,KAAAF,EAAA,MAAiCI,OAAOkC,KAAA,OAAYtC,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sCAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,iJAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,wEAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,uEAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,0FAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,kDAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sIAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA60CQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBX,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,QAA2CoB,aAAaO,cAAA,UAAsB/B,EAAAM,GAAA,kDAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAmFW,YAAA,WAAqBf,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,QAA2CoB,aAAaO,cAAA,UAAsB/B,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,gMAAAF,EAAA,QAAwPW,YAAA,WAAqBf,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAmEQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,q2BAA62B,YAEzwNU,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,mHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,sBAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,0CAA4fN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,YAAqDN,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gCCDppBW,EAbArB,EAAA,OAaAsB,CAXA,KAaAiS,GATA,EAEA,KAEA,KAEA,MAUAhS,EAAA,QAAAF,EAAA,8BCtBAvB,EAAAC,QAAAC,EAAAC,EAAA,+ECAAH,EAAAC,QAAA,6gFCAAD,EAAAC,QAAA,6mFCAA,IAwBAyT,GADiBrT,OAvBjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAA+HI,OAAOC,WAE/NC,MAAA,qDACAC,KAAA,oEAGAD,MAAA,qDACAC,KAAA,oEAGAD,MAAA,qDACAC,KAAA,oEAGAD,MAAA,sCACAC,KAAA,8EAGAD,MAAA,uCACAC,KAAA,mEAEOX,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2PQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,uaAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,mDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,2BAAAF,EAAA,OAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,6BAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,sFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,2DAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,KAAAF,EAAA,OAA+2CQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,8bAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,6CAAAF,EAAA,OAAAA,EAAA,KAAyoBI,OAAOsB,KAAA,mDAAwD9B,EAAAM,GAAA,aAAAN,EAAAM,GAAA,oKAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,wBAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAqYQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,qyBAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,sEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,kCAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,0BAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,6BAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,6BAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,+CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,sBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,yBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,0BAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,0CAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,mDAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,yIAAAF,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,mDAAAF,EAAA,MAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,yYAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,mFAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,KAAAF,EAAA,OAAmtHQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,mCAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,uCAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,6HAAAF,EAAA,UAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,4CAAAF,EAAA,UAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,2NAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,6GAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sEAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,kEAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,wGAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,yLAAAF,EAAA,UAAAJ,EAAAM,GAAA,kCAEhvNU,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,gFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sCCTnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaAkS,GATA,EAEA,KAEA,KAEA,MAUAjS,EAAA,QAAAF,EAAA,8BCtBAvB,EAAAC,QAAAC,EAAAC,EAAA,mICAA,IAgBAwT,GADiBtT,OAfjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,0CAAAN,EAAAM,GAAA,KAAAF,EAAA,YAA0GI,OAAOC,WAE1MC,MAAA,uDACAC,KAAA,mLAGAD,MAAA,uDACAC,KAAA,8KAGAD,MAAA,uDACAC,KAAA,4LAEOX,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,mOAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,kDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,kKAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,wIAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,0TAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mIAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,qLAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,oGAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4hEQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,8XAAgYN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wDAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,kJAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,oEAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,OAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,2GAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,+BAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,+CAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,gEAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,4EAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,uEAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,+CAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA29CQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,mOAAkO,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,mFAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6KQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,2HAA+HN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gGAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,uEAAmNF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,0CAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,oUAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,6BAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2CAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,mDAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,uGAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,sCAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2QAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0zCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,mXAAkX,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,8CAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,wCAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,gDAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAsiBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,4eAA2e,YAE7sPU,oBCFjBC,EAbArB,EAAA,OAaAsB,CAXA,KAaAmS,GATA,EAEA,KAEA,KAEA,MAUAlS,EAAA,QAAAF,EAAA,8BCtBAvB,EAAAC,QAAAC,EAAAC,EAAA,8HCCA,ICEAyT,GADiBvT,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAoII,OAAOmD,GAAA,WAAc3D,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA+DI,OAAOmD,GAAA,wBAA2B3D,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yOAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0TI,OAAOmD,GAAA,iBAAoB3D,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAqEI,OAAOmD,GAAA,aAAgB3D,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAmII,OAAOmD,GAAA,iBAAoB3D,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAoTI,OAAOmD,GAAA,WAAc3D,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+LAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2VQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yEAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAoRI,OAAOmD,GAAA,2BAA8B3D,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gGAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6NAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwgBI,OAAOmD,GAAA,wBAA2B3D,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2HAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAiSI,OAAOmD,GAAA,2BAA8B3D,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAsKI,OAAOmD,GAAA,iBAAoB3D,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAuEQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA+DI,OAAOmD,GAAA,0BAA6B3D,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAgFQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+HAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2DAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA8UI,OAAOmD,GAAA,4BAA+B3D,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAkFQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA+FQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAqHI,OAAOmD,GAAA,gCAAmC3D,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAsFQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA2EI,OAAOmD,GAAA,8BAAiC3D,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oOAAAN,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAoWQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4EQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uIAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAqQI,OAAOmD,GAAA,kBAAqB3D,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAmJQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAiIQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAsEI,OAAOmD,GAAA,aAAgB3D,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6EAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4KAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAA+XI,OAAOmD,GAAA,0BAA6B3D,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0KAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA+UQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA6EQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA8FQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4SAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6RAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA8xBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uHAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0QQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,oJAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,WAEh3QS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,wIAAuN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,mGAAAF,EAAA,QAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,UAAAF,EAAA,QAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,kBAAoS,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA8BI,OAAOmD,GAAA,kBAApG1D,KAAyHK,GAAA,kBAAzHL,KAAyHK,GAAA,KAAAF,EAAA,KAAzHH,KAAyHK,GAAA,gOAAzHL,KAAyHK,GAAA,KAAAF,EAAA,KAAzHH,KAAyHK,GAAA,6IAA6b,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,cAAAA,EAAA,KAAAJ,EAAAM,GAAA,iLAAAF,EAAA,UAAAJ,EAAAM,GAAA,4EAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAF,EAAA,KAAgcI,OAAOsB,KAAA,yDAA8D9B,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,mHAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,kKAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4eAAk3B,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAA/DH,KAA+DK,GAAA,gDAAAF,EAAA,KAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,0BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,mBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,gKAAkZ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,iHAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,mGAAgR,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,kEAAAF,EAAA,KAAgGI,OAAOsB,KAAA,kCAAtK7B,KAA6MK,GAAA,uBAA7ML,KAA6MK,GAAA,QAA8C,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,+HAAAF,EAAA,MAA/DH,KAA+DK,GAAA,uEAA/DL,KAA+DK,GAAA,qCAAAF,EAAA,MAA/DH,KAA+DK,GAAA,oDAA/DL,KAA+DK,GAAA,QAA0W,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,UAA/DH,KAA+DK,GAAA,wGAA0I,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,uCAA2F,WAAc,IAAarK,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mEAAAF,EAAA,QAA/DH,KAA+DK,GAAA,kCAA/DL,KAA+DK,GAAA,gEAAmN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,6BAA/DL,KAA+DK,GAAA,gDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,mFAAsO,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,YAA8D,WAAc,IAAA1B,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwII,OAAOkC,KAAA,OAAYtC,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gFAAAN,EAAAM,GAAA,KAAAF,EAAA,QAA6e,WAAc,IAAAJ,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwII,OAAOkC,KAAA,OAAYtC,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,KAAgDI,OAAOsB,KAAA,qDAAAqK,OAAA,YAA+EnM,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wGAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAyU,WAAc,IAAAJ,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,gBAAAF,EAAA,KAAgEI,OAAOsB,KAAA,4CAAiD9B,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,eAAAF,EAAA,UAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,iFAAAF,EAAA,QAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+BAAAF,EAAA,KAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,SAAAF,EAAA,KAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,kFAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAi0BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,SAAA7I,MAAA,aAA0E1B,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,kCAAAF,EAAA,UAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,qDAAAF,EAAA,UAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAA8QW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,aAA2D1B,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,qEAAAF,EAAA,UAAAJ,EAAAM,GAAA,kDAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAsOW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,aAAyD1B,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,aAAAF,EAAA,UAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAA0JW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,aAA0D1B,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,aAAAF,EAAA,UAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAuJW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,aAA6D1B,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,oBAAAF,EAAA,UAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,UAAAF,EAAA,QAA2IW,YAAA,sBAAgCf,EAAAM,GAAA,uBAAWN,EAAAM,GAAA,cAAAF,EAAA,UAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,MAAAF,EAAA,QAA0GW,YAAA,sBAAgCf,EAAAM,GAAA,OAAWN,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAuEW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,gBAAsE,WAAc,IAAA1B,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,QAAAF,EAAA,UAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,2CAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,6CAAAF,EAAA,UAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,qBAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,iBAAmW,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,+FAAAF,EAAA,KAA6HI,OAAOsB,KAAA,sBAAnM7B,KAA8NK,GAAA,UAA9NL,KAA8NK,GAAA,SAAAF,EAAA,KAA2CI,OAAOsB,KAAA,kCAAhR7B,KAAuTK,GAAA,oBAAvTL,KAAuTK,GAAA,gGAAmI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAAAA,EAAA,UAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,sBAAAF,EAAA,MAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,sFAAmN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAiCI,OAAOsB,KAAA,uCAAAqK,OAAA,YAAvGlM,KAAwKK,GAAA,YAAxKL,KAAwKK,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAkDI,OAAOsB,KAAA,0CAAAqK,OAAA,YAAjOlM,KAAqSK,GAAA,sBAArSL,KAAqSK,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAA4DI,OAAOsB,KAAA,wCAAAqK,OAAA,YAAxWlM,KAA0aK,GAAA,aAA1aL,KAA0aK,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAmDI,OAAOsB,KAAA,sCAAAqK,OAAA,YAApelM,KAAoiBK,GAAA,cAAsB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,8BAA0E,WAAc,IAAarK,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2FAAAF,EAAA,UAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,2BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,eAAyO,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAA/DH,KAA+DK,GAAA,iJAA0GF,EAAA,QAAzKH,KAAyKK,GAAA,OAAzKL,KAAyKK,GAAA,oBAAAF,EAAA,QAAzKH,KAAyKK,GAAA,OAAzKL,KAAyKK,GAAA,uEAAwO,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,oCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,uCAAiI,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,aAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,sEAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,wDAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,2HAA+d,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,4CAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,4IAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,+IAA0hB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,oFAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,uDAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,gCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kGAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,UAAqyB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAA/DH,KAA+DK,GAAA,2NAAiQ,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,+BAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,YAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAAF,EAAA,UAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,4CAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,gFAAoY,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,4EAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,yDAAiP,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gGAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,6CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,6BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,eAAqU,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,yDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,wDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,QAAsN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,uBAA4E,WAAc,IAAAvK,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,kKAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,wDAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,kCAAqgB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,qBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,8BAAgH,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,wFAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,sDAAoM,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,iBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,8CAAwH,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sCAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,oEAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,SAAkT,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,uEAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,0DAAkQ,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,kBAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,eAAsT,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,2CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,+FAAuP,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,6BAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,YAAAF,EAAA,UAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2EAA40B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,4FAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,mEAA8a,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,uCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,qBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,8PAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,6DAAof,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,wJAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,4FAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,uKAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,wIAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,kBAAkzB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,4GAAgO,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2IAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,aAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,uFAAsU,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,qOAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,aAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,8KCavttBW,EAdArB,EAAA,OAcAsB,QFXA,mDACA,aEYAoS,GATA,EAEA,KAEA,KAEA,MAUAnS,EAAA,QAAAF,EAAA,4BCvBAvB,EAAAC,QAAA,8gRCCA,ICEA4T,GADiBxT,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAoII,OAAOmD,GAAA,WAAc3D,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA+DI,OAAOmD,GAAA,wBAA2B3D,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yOAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0TI,OAAOmD,GAAA,iBAAoB3D,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAqEI,OAAOmD,GAAA,aAAgB3D,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAmII,OAAOmD,GAAA,iBAAoB3D,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wOAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAkTI,OAAOmD,GAAA,WAAc3D,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+LAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2VQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yEAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAoRI,OAAOmD,GAAA,2BAA8B3D,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gGAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6NAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwgBI,OAAOmD,GAAA,wBAA2B3D,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2HAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAiSI,OAAOmD,GAAA,2BAA8B3D,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAsKI,OAAOmD,GAAA,iBAAoB3D,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAuEQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA+DI,OAAOmD,GAAA,0BAA6B3D,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAgFQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+HAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2DAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA8UI,OAAOmD,GAAA,4BAA+B3D,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAkFQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA+FQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAqHI,OAAOmD,GAAA,gCAAmC3D,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAsFQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA2EI,OAAOmD,GAAA,8BAAiC3D,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oOAAAN,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAoWQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4EQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uIAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAqQI,OAAOmD,GAAA,kBAAqB3D,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAmJQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAiIQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAsEI,OAAOmD,GAAA,aAAgB3D,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6EAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4KAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAA+XI,OAAOmD,GAAA,0BAA6B3D,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wKAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6UQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA2EQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA8FQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4SAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6RAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4xBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uHAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0QQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,kJAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,WAEx2QS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,wIAAuN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,mGAAAF,EAAA,QAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,UAAAF,EAAA,QAA/DH,KAA+DK,GAAA,iBAA/DL,KAA+DK,GAAA,kBAAgS,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA8BI,OAAOmD,GAAA,kBAApG1D,KAAyHK,GAAA,kBAAzHL,KAAyHK,GAAA,KAAAF,EAAA,KAAzHH,KAAyHK,GAAA,gOAAzHL,KAAyHK,GAAA,KAAAF,EAAA,KAAzHH,KAAyHK,GAAA,6IAA6b,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,cAAAA,EAAA,KAAAJ,EAAAM,GAAA,iLAAAF,EAAA,UAAAJ,EAAAM,GAAA,4EAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAF,EAAA,KAAgcI,OAAOsB,KAAA,yDAA8D9B,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,mHAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,kKAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4eAAk3B,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAA/DH,KAA+DK,GAAA,gDAAAF,EAAA,KAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,0BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,mBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,gKAAkZ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,iHAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,mGAAgR,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,kEAAAF,EAAA,KAAgGI,OAAOsB,KAAA,kCAAtK7B,KAA6MK,GAAA,uBAA7ML,KAA6MK,GAAA,QAA8C,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,+HAAAF,EAAA,MAA/DH,KAA+DK,GAAA,uEAA/DL,KAA+DK,GAAA,qCAAAF,EAAA,MAA/DH,KAA+DK,GAAA,oDAA/DL,KAA+DK,GAAA,QAA0W,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,UAA/DH,KAA+DK,GAAA,wGAA0I,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,uCAA2F,WAAc,IAAarK,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mEAAAF,EAAA,QAA/DH,KAA+DK,GAAA,kCAA/DL,KAA+DK,GAAA,gEAAmN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,6BAA/DL,KAA+DK,GAAA,gDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,mFAAsO,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,cAAgE,WAAc,IAAA1B,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwII,OAAOkC,KAAA,OAAYtC,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gFAAAN,EAAAM,GAAA,KAAAF,EAAA,QAA6e,WAAc,IAAAJ,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwII,OAAOkC,KAAA,OAAYtC,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,KAAgDI,OAAOsB,KAAA,qDAAAqK,OAAA,YAA+EnM,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wGAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAyU,WAAc,IAAAJ,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,gBAAAF,EAAA,KAAgEI,OAAOsB,KAAA,4CAAiD9B,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,eAAAF,EAAA,UAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,oEAAAF,EAAA,QAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAyjBW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,SAAA7I,MAAA,aAA0E1B,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,kCAAAF,EAAA,UAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,kEAAAF,EAAA,UAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+BAAAF,EAAA,KAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,SAAAF,EAAA,KAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,kFAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAygBW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,WAA2D1B,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qEAAAF,EAAA,UAAAJ,EAAAM,GAAA,+DAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAwOW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,aAAyD1B,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,aAAAF,EAAA,UAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAA0JW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,aAA0D1B,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,aAAAF,EAAA,UAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAuJW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,aAA6D1B,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,oBAAAF,EAAA,UAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,UAAAF,EAAA,QAA2IW,YAAA,sBAAgCf,EAAAM,GAAA,uBAAWN,EAAAM,GAAA,cAAAF,EAAA,UAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,MAAAF,EAAA,QAA0GW,YAAA,sBAAgCf,EAAAM,GAAA,OAAWN,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAuEW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,gBAAsE,WAAc,IAAA1B,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,QAAAF,EAAA,UAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,2CAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,2CAAAF,EAAA,UAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,qBAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,eAA6V,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,+FAAAF,EAAA,KAA6HI,OAAOsB,KAAA,sBAAnM7B,KAA8NK,GAAA,UAA9NL,KAA8NK,GAAA,SAAAF,EAAA,KAA2CI,OAAOsB,KAAA,kCAAhR7B,KAAuTK,GAAA,oBAAvTL,KAAuTK,GAAA,gGAAmI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAAAA,EAAA,UAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,sBAAAF,EAAA,MAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,sFAAmN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAiCI,OAAOsB,KAAA,uCAAAqK,OAAA,YAAvGlM,KAAwKK,GAAA,YAAxKL,KAAwKK,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAkDI,OAAOsB,KAAA,0CAAAqK,OAAA,YAAjOlM,KAAqSK,GAAA,sBAArSL,KAAqSK,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAA4DI,OAAOsB,KAAA,wCAAAqK,OAAA,YAAxWlM,KAA0aK,GAAA,aAA1aL,KAA0aK,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAmDI,OAAOsB,KAAA,sCAAAqK,OAAA,YAApelM,KAAoiBK,GAAA,cAAsB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,8BAA0E,WAAc,IAAarK,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2FAAAF,EAAA,UAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,2BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,eAAyO,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAA/DH,KAA+DK,GAAA,iJAA0GF,EAAA,QAAzKH,KAAyKK,GAAA,OAAzKL,KAAyKK,GAAA,oBAAAF,EAAA,QAAzKH,KAAyKK,GAAA,OAAzKL,KAAyKK,GAAA,uEAAwO,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,oCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,uCAAiI,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,aAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,sEAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,wDAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,2HAA+d,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,4CAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,4IAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,+IAA0hB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,oFAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,uDAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,gCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kGAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,UAAqyB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAA/DH,KAA+DK,GAAA,2NAAiQ,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,+BAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,YAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAAF,EAAA,UAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,4CAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,gFAAoY,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,4EAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,yDAAiP,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gGAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,6CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,6BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,eAAqU,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,yDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,wDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,QAAsN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,uBAA4E,WAAc,IAAAvK,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,kKAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,wDAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,kCAAqgB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,qBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,8BAAgH,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,wFAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,sDAAoM,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,iBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,8CAAwH,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sCAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,oEAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,SAAkT,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,qEAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAA/DH,KAA+DK,GAAA,iBAA/DL,KAA+DK,GAAA,0DAA4P,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,kBAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,eAAsT,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,2CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,+FAAuP,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,6BAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,YAAAF,EAAA,UAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2EAA40B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,4FAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,mEAA4a,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,uCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,qBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,8PAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,6DAAof,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,wJAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,4FAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,uKAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,wIAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,kBAAgzB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,iBAA/DL,KAA+DK,GAAA,0GAA4N,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2IAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,aAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,uFAAsU,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,qOAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,aAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,8KCatrtBW,EAdArB,EAAA,OAcAsB,QFXA,mDACA,aEYAqS,GATA,EAEA,KAEA,KAEA,MAUApS,EAAA,QAAAF,EAAA,8FCvBA,IAaAuS,GADiBzT,OAZjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAgHI,OAAOC,WAEhNC,MAAA,qLAGAA,MAAA,mPAGAA,MAAA,oQAEON,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,8LAAAF,EAAA,KAAiPI,OAAO2L,OAAA,SAAArK,KAAA,wDAA+E9B,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,+MAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,kPAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,8EAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,oCAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAi+BQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBX,EAAA,KAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6JQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBX,EAAA,KAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,mBAAAF,EAAA,KAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6VQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,qEAAuEN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4GAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,wHAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAoUQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,yLAA2LN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mKAAwFN,EAAAM,GAAA,KAAAF,EAAA,OAAmIQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,4DAA4DN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA+JQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oFAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAmLQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,iEAAmEN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oCAAAF,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,0GAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4OQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,kEAAoEN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,6HAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,wFAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0UQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,mEAAqEN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gDAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,8FAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qLAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,yBAAgdF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,iFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAiQQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,yWAA2WN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yDAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,kFAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAmiBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,mSAAkS,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,2FAAAF,EAAA,KAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,yBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,yFAAAF,EAAA,KAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gDAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,gEAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,0GAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,6MAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,wFAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2EAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAi1DQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,gJAAgJN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA+FQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,wFAAwFN,EAAAM,GAAA,KAAAF,EAAA,MAA8BI,OAAOkC,KAAA,OAAYtC,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,8CAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,cAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,kFAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,uDAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,6BAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,oFAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2IAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,4KAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4iCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,mMAAuMN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qFAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,wGAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,sFAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,6BAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,MAA23BI,OAAOkC,KAAA,OAAYtC,EAAA,MAAAA,EAAA,OAAqBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,qCAAqCN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iGAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,gHAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,yEAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,mFAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,iFAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,cAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,uDAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,kLAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,iCAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,kFAEtwWU,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,2JAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,2DAA0RN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mDAA+EN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iHAA0IN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2DAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAqH,WAAc,IAAAJ,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0CAAAF,EAAA,QAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,uLAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2JAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qDAAAF,EAAA,QAAAJ,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,6ECExxBW,EAbArB,EAAA,OAaAsB,CAXA,KAaAsS,GATA,EAEA,KAEA,KAEA,MAUArS,EAAA,QAAAF,EAAA,4FCrBA,ICEAwS,GADiB1T,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAuMQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,OAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAEzUS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAwFW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,SAAxMzB,KAAmQK,GAAA,KAAAF,EAAA,cAAnQH,KAAmQK,GAAA,wEAAnQL,KAAmQK,GAAA,KAAAF,EAAA,KAAnQH,KAAmQK,GAAA,sFAA8N,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+EAAAF,EAAA,KAAAJ,EAAAM,GAAA,+DAAAN,EAAAM,GAAA,+CAAAF,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,qVAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,8EAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iNAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2CAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,wMAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,8WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sHAAAF,EAAA,UAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,MAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mHAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8aAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,2FAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yJAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gKAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,gJAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,oIAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,kJAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+IAAuzI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,iBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAyFW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,uBAAA7I,MAAA,SAAzMzB,KAAqSK,GAAA,KAAAF,EAAA,cAArSH,KAAqSK,GAAA,oaAAyc,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,4HAAAF,EAAA,UAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,sBAAAF,EAAA,UAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,uBAAuQ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAjFd,KAAqGK,GAAA,MAAAF,EAAA,KAArGH,KAAqGK,GAAA,gCAArGL,KAAqGK,GAAA,yHAAAF,EAAA,KAArGH,KAAqGK,GAAA,+CAArGL,KAAqGK,GAAA,2PAA6f,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,uHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2HAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,8BAA4d,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2JAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,6MAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,0JAAAF,EAAA,MAAAJ,EAAAM,GAAA,gFAAAF,EAAA,MAAAJ,EAAAM,GAAA,0GAAAF,EAAA,MAAAJ,EAAAM,GAAA,uEAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,2DAAAF,EAAA,MAAAJ,EAAAM,GAAA,kHAAAF,EAAA,MAAAJ,EAAAM,GAAA,qOAAkuD,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sCAAAF,EAAA,MAAAJ,EAAAM,GAAA,oFAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,wEAAmTF,EAAA,MAAAJ,EAAAM,GAAA,uFAAAF,EAAA,MAAAJ,EAAAM,GAAA,+EAAAF,EAAA,MAAAJ,EAAAM,GAAA,wBAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,+DAAsUF,EAAA,MAAAJ,EAAAM,GAAA,iEAAmFF,EAAA,MAAAJ,EAAAM,GAAA,2ECa1rTW,EAdArB,EAAA,OAcAsB,QFXA,yCACA,MEYAuS,GATA,EAEA,KAEA,KAEA,MAUAtS,EAAA,QAAAF,EAAA,8BCvBAvB,EAAAC,QAAAC,EAAAC,EAAA,0HCCA,ICEA6T,GADiB3T,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wHAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgXQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8PAAuIN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,OAEznBS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAA/DH,KAA+DK,GAAA,kEAA/DL,KAA+DK,GAAA,oCAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAAAA,EAAA,OAA/DH,KAA+DK,GAAA,mSAAuhB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,mDAAoI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,4KAAsP,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,6BAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2CAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2CAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,4FAAkX,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAoBoB,aAAaC,aAAA,YAAuBrB,EAAA,UAAeoB,aAAac,QAAA,eAAAJ,OAAA,YAA4C9B,EAAA,OAAYI,OAAOmB,IAAA/B,EAAA,WAAlNK,KAAuPK,GAAA,KAAAF,EAAA,cAAvPH,KAAuPK,GAAA,oCAAvPL,KAAuPK,GAAA,KAAAF,EAAA,UAAmGoB,aAAac,QAAA,eAAAJ,OAAA,YAA4C9B,EAAA,OAAYI,OAAOmB,IAAA/B,EAAA,WAAtaK,KAAodK,GAAA,KAAAF,EAAA,cAApdH,KAAodK,GAAA,qEAA0G,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,oCAAAF,EAAA,OAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,QAAAF,EAAA,OAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,0OAAAF,EAAA,OAA/DH,KAA+DK,GAAA,sCAA/DL,KAA+DK,GAAA,sNAAuoB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,SAAmBf,EAAAM,GAAA,0CAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,0BAAoFF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,wDAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,aAAgJF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,6FAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kGAA+MF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2BAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAqP,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,YAAiE,WAAc,IAAA1B,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAgBoB,aAAamS,SAAA,UAAmBvT,EAAA,MAAAJ,EAAAM,GAAA,eAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,eAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,+DAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2BAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,4BAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2BAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,sBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,eAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,uBAA+rD,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gFAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,4CAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qTAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kEAAAF,EAAA,KAAytBI,OAAOsB,KAAA,wDAA6D9B,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,UAAiF,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,yFAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0CAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,oDAAydN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDCajoOW,EAdArB,EAAA,OAcAsB,QFXA,6CACA,MEYAwS,GATA,EAEA,KAEA,KAEA,MAUAvS,EAAA,QAAAF,EAAA,8BCvBAvB,EAAAC,QAAAC,EAAAC,EAAA,wHCAA,IAoCA+T,GADiB7T,OAnCjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAA6HI,OAAOC,WAE7NC,MAAA,oDACAC,KAAA,oEAGAD,MAAA,oDACAC,KAAA,oEAGAD,MAAA,oDACAC,KAAA,oEAGAD,MAAA,oDACAC,KAAA,oEAGAD,MAAA,oDACAC,KAAA,oEAGAD,MAAA,oDACAC,KAAA,oEAGAD,MAAA,oDACAC,KAAA,oEAGAD,MAAA,sCACAC,KAAA,6EAEOX,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,0FAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6OQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,iIAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAmLQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,8PAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,UAAAF,EAAA,KAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,gCAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,6KAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAynBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,0JAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA8QQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,yHAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6NQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,4DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,gOAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,qDAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,mFAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6mBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,uFAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,iEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6OQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,8OAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAqWQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,uDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAsKQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,oEAE3pHU,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,yYAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCCrBnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaA0S,GATA,EAEA,KAEA,KAEA,MAUAzS,EAAA,QAAAF,EAAA,gCCtBAvB,EAAAC,QAAAC,EAAAC,EAAA,2HCAA,IAoCAC,GADiBC,OAnCjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAgHI,OAAOC,WAEhNC,MAAA,+DACAC,KAAA,+FAGAD,MAAA,wEACAC,KAAA,yHAGAD,MAAA,+DACAC,KAAA,uGAGAD,MAAA,+DACAC,KAAA,+FAGAD,MAAA,uFACAC,KAAA,+FAGAD,MAAA,+DACAC,KAAA,+FAGAD,MAAA,+DACAC,KAAA,4GAGAD,MAAA,gEACAC,KAAA,oHAEOP,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,uTAAAF,EAAA,KAA2WI,OAAO2L,OAAA,SAAArK,KAAA,sDAA6E9B,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,yHAAAF,EAAA,KAAAJ,EAAAM,GAAA,QAAAF,EAAA,KAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,2EAAAN,EAAAM,GAAA,0CAAAF,EAAA,KAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,gHAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qEAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAs4BQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAwKQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,gCAAkCN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAkDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,0DAA6D,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4HQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,gDAAoDN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,2HAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAyZQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,4KAA8KN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,wBAAqFN,EAAAM,GAAA,0BAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAA2EN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0BAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,oEAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,0DAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,+FAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,6CAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,+BAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,4KAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,uEAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,yCAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0oDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,sKAAwKN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAkDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,iDAAsC,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,yFAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6LQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,wVAA0VN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0CAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,wHAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,6EAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAkcQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,iFAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgHQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,mCAAqCN,EAAAM,GAAA,KAAAF,EAAA,OAA6BQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAyDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,+LAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA+SQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,iSAAiSN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAkDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,sCAEz6OU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAA/DH,KAA+DK,GAAA,4XAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,SAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,kFCrBnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaApB,GATA,EAEA,KAEA,KAEA,MAUAqB,EAAA,QAAAF,EAAA,4FCrBA,ICEA4S,GADiB9T,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAoII,OAAOmD,GAAA,WAAc3D,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA+DI,OAAOmD,GAAA,wBAA2B3D,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yOAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0TI,OAAOmD,GAAA,0BAA6B3D,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAqEI,OAAOmD,GAAA,sBAAyB3D,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAmII,OAAOmD,GAAA,sBAAyB3D,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yLAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA+RI,OAAOmD,GAAA,kBAAqB3D,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qIAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAkOI,OAAOmD,GAAA,oBAAuB3D,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA+KI,OAAOmD,GAAA,2BAA8B3D,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gGAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yMAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAofI,OAAOmD,GAAA,wBAA2B3D,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2HAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAiRI,OAAOmD,GAAA,wBAA2B3D,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iIAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAmNQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAA2GI,OAAOmD,GAAA,2BAA8B3D,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAsKI,OAAOmD,GAAA,iBAAoB3D,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAuEQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA+DI,OAAOmD,GAAA,0BAA6B3D,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAgFQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+HAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2DAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA8UI,OAAOmD,GAAA,4BAA+B3D,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAkFQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA+FQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAqHI,OAAOmD,GAAA,gCAAmC3D,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAsFQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA2EI,OAAOmD,GAAA,8BAAiC3D,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oOAAAN,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAoWQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4EQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uIAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAqQI,OAAOmD,GAAA,kBAAqB3D,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAmJQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAiIQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAsEI,OAAOmD,GAAA,aAAgB3D,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6EAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4KAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAA+XI,OAAOmD,GAAA,0BAA6B3D,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwDI,OAAOmD,GAAA,gCAAmC3D,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAsFQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,kOAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAyXI,OAAOmD,GAAA,kBAAqB3D,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAA8FI,OAAOmD,GAAA,mBAAsB3D,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA8IQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+IAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4OQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,kGAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA4QI,OAAOmD,GAAA,iDAAoD3D,EAAAM,GAAA,kDAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,4HAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAiRQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2KAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA+RQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4FQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,4CAExkSU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,wIAAuN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,4GAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,kBAAsP,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA8BI,OAAOmD,GAAA,kBAApG1D,KAAyHK,GAAA,kBAAzHL,KAAyHK,GAAA,KAAAF,EAAA,KAAzHH,KAAyHK,GAAA,gOAAzHL,KAAyHK,GAAA,KAAAF,EAAA,KAAzHH,KAAyHK,GAAA,6IAA6b,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,cAAAA,EAAA,KAAAJ,EAAAM,GAAA,iLAAAF,EAAA,UAAAJ,EAAAM,GAAA,4EAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAF,EAAA,KAAgcI,OAAOsB,KAAA,yDAA8D9B,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,mHAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,kKAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4eAAk3B,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAA/DH,KAA+DK,GAAA,gDAAAF,EAAA,KAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,0BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,mBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,sBAA/DL,KAA+DK,GAAA,gKAAwZ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,iHAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,mGAAgR,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,kEAAAF,EAAA,KAAgGI,OAAOsB,KAAA,kCAAtK7B,KAA6MK,GAAA,uBAA7ML,KAA6MK,GAAA,QAA8C,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,+HAAAF,EAAA,MAA/DH,KAA+DK,GAAA,uEAA/DL,KAA+DK,GAAA,qCAAAF,EAAA,MAA/DH,KAA+DK,GAAA,oDAA/DL,KAA+DK,GAAA,QAA0W,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,UAA/DH,KAA+DK,GAAA,wGAA0I,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,iCAAA7I,MAAA,YAA+G,WAAc,IAAA1B,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBW,YAAA,qBAA+BX,EAAA,SAAcW,YAAA,yBAAmCX,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAA0KI,OAAOsB,KAAA,8DAAmE9B,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAyGI,OAAOsB,KAAA,yEAA8E9B,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAuOI,OAAOsB,KAAA,0DAA+D9B,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wGAAAF,EAAA,KAAkLI,OAAOsB,KAAA,uCAA4C9B,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,6CAAyF,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,kBAAAF,EAAA,KAAgDI,OAAOsB,KAAA,iDAAtH7B,KAA4KK,GAAA,WAA5KL,KAA4KK,GAAA,+JAAyL,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,uHAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,mCAAsN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,8BAAmG,WAAc,IAAAvK,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,QAAAF,EAAA,UAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,2CAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,gDAAAF,EAAA,UAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,qBAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,oBAAkU,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,+FAAAF,EAAA,KAA6HI,OAAOsB,KAAA,sBAAnM7B,KAA8NK,GAAA,UAA9NL,KAA8NK,GAAA,SAAAF,EAAA,KAA2CI,OAAOsB,KAAA,kCAAhR7B,KAAuTK,GAAA,oBAAvTL,KAAuTK,GAAA,gGAAmI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAAAA,EAAA,UAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,sBAAAF,EAAA,MAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,sFAAmN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAiCI,OAAOsB,KAAA,uCAAAqK,OAAA,YAAvGlM,KAAwKK,GAAA,YAAxKL,KAAwKK,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAkDI,OAAOsB,KAAA,0CAAAqK,OAAA,YAAjOlM,KAAqSK,GAAA,sBAArSL,KAAqSK,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAA4DI,OAAOsB,KAAA,wCAAAqK,OAAA,YAAxWlM,KAA0aK,GAAA,aAA1aL,KAA0aK,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAmDI,OAAOsB,KAAA,sCAAAqK,OAAA,YAApelM,KAAoiBK,GAAA,cAAsB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,8BAAgF,WAAc,IAAarK,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2FAAAF,EAAA,UAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,2BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,eAAyO,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAA/DH,KAA+DK,GAAA,iJAA0GF,EAAA,QAAzKH,KAAyKK,GAAA,OAAzKL,KAAyKK,GAAA,oBAAAF,EAAA,QAAzKH,KAAyKK,GAAA,OAAzKL,KAAyKK,GAAA,uEAAwO,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gHAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,yLAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,QAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,uCAAyd,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAA/DH,KAA+DK,GAAA,qCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,mDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,QAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,qIAAuX,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,oCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,uCAAiI,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,aAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,sEAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,wDAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,2HAA+d,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,4CAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,4IAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,+IAA0hB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,oFAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,uDAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,gCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kGAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,UAAqyB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAA/DH,KAA+DK,GAAA,2NAAiQ,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,+BAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,YAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAAF,EAAA,UAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,4CAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,gFAAoY,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,4EAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,yDAAiP,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gGAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,6CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,6BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,eAAqU,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,yDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,wDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,QAAsN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,uBAAkF,WAAc,IAAAvK,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,kKAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,wDAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,kCAAqgB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,qBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,8BAAgH,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,wFAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,sDAAoM,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,iBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,8CAAwH,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sCAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,oEAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,SAAkT,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,0DAAyH,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,kBAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,eAAsT,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,2CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,+FAAuP,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,6BAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,YAAAF,EAAA,UAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,MAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2EAA40B,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,YAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,uCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,iBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,oNAA+Z,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,kBAAAF,EAAA,UAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,wJAAiT,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,8BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,gBAAAF,EAAA,UAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,mGAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,+MAAoe,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,OAAAF,EAAA,QAA/DH,KAA+DK,GAAA,qBAA/DL,KAA+DK,GAAA,QAAkF,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,oLAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8CAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,mDAAqhB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAA/DH,KAA+DK,GAAA,8LAAoO,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,wIAAAF,EAAA,QAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,sHAA+T,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAA/DH,KAA+DK,GAAA,2KAAiN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,mDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,0DAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,sBAAAF,EAAA,KAAsOI,OAAOsB,KAAA,2BAA5S7B,KAA4UK,GAAA,mCAA5UL,KAA4UK,GAAA,SAA2D,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,oCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,oEAA8J,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,2CAA0G,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gEAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,mCAA+J,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,4CAAAF,EAAA,UAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,gNAAAF,EAAA,KAAkUI,OAAOsB,KAAA,oDAAxY7B,KAAicK,GAAA,mBAAjcL,KAAicK,GAAA,QAA0C,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,UAAAA,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,6PAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,oFAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,mBAAimB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,UAAAA,EAAA,QAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,+FAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,yDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,+DCa9xuBW,EAdArB,EAAA,OAcAsB,QFXA,mDACA,aEYA2S,GATA,EAEA,KAEA,KAEA,MAUA1S,EAAA,QAAAF,EAAA,4FCvBA,IAGA6S,GADiB/T,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,0cAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAwsBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,8FAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAsKQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,mDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2JAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+IAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gjBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA+oCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,mDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2HQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,8CAE5iFU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,6RAA0W,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAA/DH,KAA+DK,GAAA,uDAA/DL,KAA+DK,GAAA,wBCY1hBW,EAbArB,EAAA,OAaAsB,CAXA,KAaA4S,GATA,EAEA,KAEA,KAEA,MAUA3S,EAAA,QAAAF,EAAA,4FCrBA,ICMA8S,GADiBhU,OANjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,iFAEKV,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,QAEYS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,qMAAkR,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBI,OAAOmD,GAAA,aAAgBvD,EAAA,MAA3GH,KAA2GK,GAAA,kBAA3GL,KAA2GK,GAAA,KAAAF,EAAA,KAA3GH,KAA2GK,GAAA,0GAAAF,EAAA,QAA3GH,KAA2GK,GAAA,YAA3GL,KAA2GK,GAAA,8CAA2P,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,2BAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,2SAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,8GAA8gB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gnBAA6mBN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qdAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2HAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0FAA44B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,+EAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,8FCSv9FW,EAdArB,EAAA,OAcAsB,QFXA,uCACA,eEYA6S,GATA,EAEA,KAEA,KAEA,MAUA5S,EAAA,QAAAF,EAAA,4BCvBAvB,EAAAC,QAAA,25SCAAD,EAAAC,QAAAC,EAAAC,EAAA,2HCCA,ICOAmU,GADiBjU,OAPjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,ySAAAN,EAAAM,GAAA,KAAAF,EAAA,YAAwWI,OAAOC,WAExcC,MAAA,gEACAC,KAAA,6CAEOX,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAkRQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6GQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oRAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qJAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAouBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwMI,OAAOkC,KAAA,OAAY1C,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAwIQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,sNAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,aAEtuDS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,qDAAsI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,OAAAF,EAAA,MAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,uDAAkL,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6FAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,wCAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,mFAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iUAAAF,EAAA,QAAAJ,EAAAM,GAAA,6CAAo4B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,cAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,kFAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,8CAAAF,EAAA,QAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,qBAAgX,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,QAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,mHAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,uLAAAF,EAAA,QAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,+JAA0lB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,sCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,8IAAiP,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,4BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,+CAA6I,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,SAAjFd,KAAoGK,GAAA,MAAAF,EAAA,KAApGH,KAAoGK,GAAA,yDAApGL,KAAoGK,GAAA,QAAAF,EAAA,KAApGH,KAAoGK,GAAA,2BAApGL,KAAoGK,GAAA,kGAAwP,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qDAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mDAAgZN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAiEN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAqFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAoFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8DAA8F,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,sHAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,wHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oEAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2GAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mDAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kQAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAu+CW,YAAA,yBAAmCX,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,UAAAA,EAAA,OAAuDW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,WAAwCI,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,8CAAyDN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAA,EAAA,OAAuEW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,WAAwCI,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,wDAAmEN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAA,EAAA,OAAuEW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,WAAwCI,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,wDAAmEN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAA,EAAA,OAAuEW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,WAAwCI,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,0DAAmEN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,UAAAA,EAAA,OAAkFW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,WAAwCI,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,wDAAmEN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAA,EAAA,OAAuEW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,WAAwCI,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,wDAAmEN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAA,EAAA,OAAuEW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,WAAwCI,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,qGAA2GN,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,iFAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,8EAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iJAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,2CAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gCAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,mHAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,+BAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qDAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mDAAkkDN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAiEN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAqFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAoFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gEAAgG,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,MAAjFd,KAAiGK,GAAA,yCAAyBF,EAAA,KAAiCoB,aAAaS,MAAA,SAAxKhC,KAAuLK,GAAA,WAAvLL,KAAuLK,GAAA,gDAAoCF,EAAA,KAA+CoB,aAAaS,MAAA,SAAvRhC,KAAsSK,GAAA,WAAtSL,KAAsSK,GAAA,8LAA8JF,EAAA,KAAmEoB,aAAaS,MAAA,SAAphBhC,KAAmiBK,GAAA,WAAniBL,KAAmiBK,GAAA,qSAA+T,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,iDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,6CAAiHF,EAAA,QAAhLH,KAAgLK,GAAA,iBAAhLL,KAAgLK,GAAA,oEAAAF,EAAA,QAAhLH,KAAgLK,GAAA,oBAAhLL,KAAgLK,GAAA,kBAAuN,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,2JAAAF,EAAA,KAAkNoB,aAAaS,MAAA,SAA9RhC,KAA6SK,GAAA,WAA7SL,KAA6SK,GAAA,qCAAAF,EAAA,KAAwEI,OAAOsB,KAAA,uDAA5X7B,KAAwbK,GAAA,+DAAxbL,KAAwbK,GAAA,kBAAgG,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,mFAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,mJAAAF,EAAA,KAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,qHAA2c,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,6EAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,0CAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,mRAAsf,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,mDAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,gIAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,iFAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,qFAA0iB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,mDAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,qIAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,oCAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,0HAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,uJAA+uB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,mDAAAF,EAAA,QAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,yHAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,0UAA+qB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2EAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,uIAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,sCAA+V,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,uBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,MAAAF,EAAA,QAA/DH,KAA+DK,GAAA,wBAA/DL,KAA+DK,GAAA,UAAAF,EAAA,QAA/DH,KAA+DK,GAAA,sBAA/DL,KAA+DK,GAAA,8GAAsT,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,0CAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uDAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mDAAsxBN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAiEN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yDAAqFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAoFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gECQtqgBW,EAdArB,EAAA,OAcAsB,QFXA,gDACA,aEYA8S,GATA,EAEA,KAEA,KAEA,MAUA7S,EAAA,QAAAF,EAAA,4BCvBAvB,EAAAC,QAAA,iqJCAAD,EAAAC,QAAA,imFCCA,ICeAsU,GADiBlU,OAfjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,uDACAC,KAAA,mLAGAD,MAAA,uDACAC,KAAA,8KAGAD,MAAA,uDACAC,KAAA,4LAEOX,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAwKQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,yiBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,OAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,SAEzPS,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAA2FW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,gBAAA7I,MAAA,SAAiF1B,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4iBAAyIN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0QAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8GAA67B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,sGAAAF,EAAA,QAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,kBAAyZ,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,wOAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,+BAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,0BAAAF,EAAA,QAAocoB,aAAaO,cAAA,UAAsB/B,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,yIAAkL,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,oLAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,0DAA2hB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,iBAAAF,EAAA,OAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,8DAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,cAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,gCAAwgBF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,kGAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,2EAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,waAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,+BAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,iDAAy+B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,gBAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,qDAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,yGAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,gCAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,qDAAshBF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,gCAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,wEAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,gCAA4hB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,kHAAgJ,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,uIAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,4LAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,wCAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,wCAA0mBF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,uGAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,sFAAgON,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,8EAAkL,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,0CAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sTAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,uBAAAF,EAAA,MAAAJ,EAAAM,GAAA,gGAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iMAA4wCN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qEAAyO,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iNAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yNAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,ySAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAm9BW,YAAA,uCAAiDX,EAAA,MAAAA,EAAA,MAAoBI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAkDI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAsDI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwDI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAiEI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,6CAAsBN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAA8DI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,mBAAyBF,EAAA,MAAAJ,EAAAM,GAAA,iDAAiEF,EAAA,MAAAJ,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAA8FI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCI,OAAO0J,MAAA,cAAkBlK,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAkCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,cAAkBlK,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAkCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,gBAAkBlK,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mCAAsIN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uEAAmGN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2HAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gUAAsf,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,uCAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sFAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,4DAAunBN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mDAA6UN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uDAAmFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iECA/2aW,EAdArB,EAAA,OAcAsB,QFXA,qCACA,aEYA+S,GATA,EAEA,KAEA,KAEA,MAUA9S,EAAA,QAAAF,EAAA,8BCvBAvB,EAAAC,QAAAC,EAAAC,EAAA,qDCAAH,EAAAC,QAAA,y1XCAA,IAwBAuU,GADiBnU,OAvBjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAmII,OAAOC,WAEnOC,MAAA,wEACAC,KAAA,+FAGAD,MAAA,+DACAC,KAAA,+FAGAD,MAAA,wEACAC,KAAA,4HAGAD,MAAA,0EACAC,KAAA,6GAGAD,MAAA,gEACAC,KAAA,gHAEOX,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6MQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,+DAAiEN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6BAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAwJQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,uDAAuDN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAkDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,+FAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,gDAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAA+dQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,2JAA0J,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,2GAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,mDAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAibQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,+LAAiMN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAiFQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,gKAA+J,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,qVAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAqhBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,6GAAgH,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAoRQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,MAAgBf,EAAAM,GAAA,wIAAyI,YAE1rHU,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,mKAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2EAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,2CAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,YCTnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaAgT,GATA,EAEA,KAEA,KAEA,MAUA/S,EAAA,QAAAF,EAAA,8BCtBAvB,EAAAC,QAAAC,EAAAC,EAAA,+HCAA,IAGAsU,GADiBpU,OAFjB,WAA0BE,KAAaE,eAAbF,KAAuCI,MAAAD,GAAwB,OAA/DH,KAA+DM,GAAA,IAExES,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kDAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6TAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8CAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,2JAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,yNAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,sCAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,4EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8EAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oCAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oDAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8BAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,uCAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,wCAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qCAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,qCAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,yBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,0CAAuiIN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,4GAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,qDAAoWN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,SAA+HoB,aAAaU,OAAA,SAAAR,MAAA,SAAiCtB,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6BAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,yBAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,8CAA4TN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,yBAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,gCAAoIN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,wBAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,mBAAsHN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,8BAAwKN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,8CAAuGN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,sDAA8QN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,SAAAA,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAA+IoB,aAAae,YAAA,SAAmBnC,EAAA,QAAAJ,EAAAM,GAAA,iBAA8BF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAmPoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,0CAAAF,EAAA,MAAAJ,EAAAM,GAAA,gDAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,gCAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,YAAAJ,EAAAM,GAAA,KAAAF,EAAA,SAAAA,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAodoB,aAAae,YAAA,SAAmBnC,EAAA,QAAAJ,EAAAM,GAAA,kBAA+BF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAmPoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,YAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,sBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAAA,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAmXoB,aAAae,YAAA,SAAmBnC,EAAA,QAAAJ,EAAAM,GAAA,wBAAqCF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAmPoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,MAAAJ,EAAAM,GAAA,6BAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,YAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,+ECY9sPW,EAbArB,EAAA,OAaAsB,CAXA,KAaAiT,GATA,EAEA,KAEA,KAEA,MAUAhT,EAAA,QAAAF,EAAA,4FCtBA,IAaAmT,GADiBrU,OAZjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAA8HI,OAAOC,WAE9NC,MAAA,qEAGAA,MAAA,mUAGAA,MAAA,yKAEOV,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0NQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,wHAA0HN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yNAAAN,EAAAM,GAAA,KAAAF,EAAA,KAA+QoB,aAAaC,aAAA,YAAuBrB,EAAA,OAAYoB,aAAaE,MAAA,SAAgBlB,OAAQmB,IAAA/B,EAAA,eAA+CI,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,mDAAAF,EAAA,QAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,SAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gDAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAsgBW,YAAA,yBAAmCX,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAA8BQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,0GAA0GN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAwCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,gHAA4GN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uLAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,0GAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,iHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAytBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,+tBAAiuBN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,4GAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6OAAgcN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4MQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,kTAAoTN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAwHQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,udAAsd,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,mEAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,2CAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,8IAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAmaQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,oRAAoRN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,0PAAuMF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,sGAAkOF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,mHAA6IF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,uEAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,8CAEt0MU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAA/DH,KAA+DK,GAAA,wYAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,0HAAkkB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yDAAAF,EAAA,QAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6CAAAF,EAAA,QAAAJ,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,+MCElvBW,EAbArB,EAAA,OAaAsB,CAXA,KAaAkT,GATA,EAEA,KAEA,KAEA,MAUAjT,EAAA,QAAAF,EAAA,8BCtBAvB,EAAAC,QAAAC,EAAAC,EAAA,8DCAAH,EAAAC,QAAAC,EAAAC,EAAA,sHCCA,ICoBAwU,GADiBtU,OApBjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,0DAGAA,MAAA,0DAGAA,MAAA,0DAGAA,MAAA,yEAGAA,MAAA,qEAGAA,MAAA,wEACWV,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAgMQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,idAAuUN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAuTQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,yIAAmGN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2RAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,SAEjlCS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,qVAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,+BAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,qNAAAF,EAAA,KAAqqBI,OAAOsB,KAAA,mDAA3uB7B,KAAmyBK,GAAA,4CAAnyBL,KAAmyBK,GAAA,8BAAyF,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2UAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,2BAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,KAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,2EAA4iB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,qBAAAF,EAAA,MAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,sVAAga,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,SAAmBW,YAAA,qCAA+CX,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAynB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,oPAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,QAAoT,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,sCAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,eAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,uDAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,mBAAiP,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,icAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,+CAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,wRAAiwBN,EAAAM,GAAA,KAAAF,EAAA,SAA0KW,YAAA,qCAA+CX,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,4BAAAF,EAAA,MAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAAF,EAAA,MAAAJ,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAAF,EAAA,MAAAJ,EAAAM,GAAA,kDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAAF,EAAA,MAAAJ,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAAF,EAAA,MAAAJ,EAAAM,GAAA,mDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAAF,EAAA,MAAAJ,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,SAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yXAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAA6uFW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,8BAAyFvK,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,uFAA4H,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,8OAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,SAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,8EAAwZ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,yCAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,kCAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,sGAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,+BAAoU,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2DAAAF,EAAA,QAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,eAAAF,EAAA,QAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,+FAAiQ,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,qEAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kJCLxvRW,EAdArB,EAAA,OAcAsB,QFXA,uDACA,MEYAmT,GATA,EAEA,KAEA,KAEA,MAUAlT,EAAA,QAAAF,EAAA,4FCtBA,ICuBAqT,GADiBvU,OAvBjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,qDACAC,KAAA,oEAGAD,MAAA,qDACAC,KAAA,oEAGAD,MAAA,qDACAC,KAAA,oEAGAD,MAAA,uCACAC,KAAA,iFAGAD,MAAA,wCACAC,KAAA,gFAEOX,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAwEI,OAAOmD,GAAA,UAAavD,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0FAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAkMQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA0DQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAuHQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAmEI,OAAOmD,GAAA,kBAAqBvD,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yGAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kNAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAmgBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4IQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6Cd,EAAAO,GAAA,OAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+JAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAybQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8IAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAuOQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,SAE54ES,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBI,OAAOmD,GAAA,gBAAmBvD,EAAA,MAAAJ,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qNAAAF,EAAA,KAAgTI,OAAOsB,KAAA,wDAA6D9B,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,wKAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAqPW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,SAAwE1B,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kIAAAF,EAAA,KAAqQI,OAAOsB,KAAA,+DAAoE9B,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,mBAAAF,EAAA,KAAwEI,OAAOsB,KAAA,qEAA0E9B,EAAAM,GAAA,4DAAAN,EAAAM,GAAA,gFAAAF,EAAA,UAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,oDAAAF,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,gCAAAF,EAAA,UAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qPAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,wCAAkvB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBI,OAAOmD,GAAA,aAAgBvD,EAAA,MAA3GH,KAA2GK,GAAA,kBAA3GL,KAA2GK,GAAA,KAAAF,EAAA,KAA3GH,KAA2GK,GAAA,uGAAAF,EAAA,QAA3GH,KAA2GK,GAAA,kBAA3GL,KAA2GK,GAAA,SAAAF,EAAA,QAA3GH,KAA2GK,GAAA,mBAA3GL,KAA2GK,GAAA,kBAAuR,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,0DAAAF,EAAA,OAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,yFAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,gBAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,yHAAAF,EAAA,MAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,iDAA4hB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAoBX,EAAA,MAArGH,KAAqGK,GAAA,YAArGL,KAAqGK,GAAA,KAAAF,EAAA,MAArGH,KAAqGK,GAAA,iBAArGL,KAAqGK,GAAA,QAAAF,EAAA,MAArGH,KAAqGK,GAAA,yBAAkI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,6CAAAF,EAAA,MAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,0HAAgO,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,iEAAAN,EAAAM,GAAA,uDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,iFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,wJAAAF,EAAA,KAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,4DAAAF,EAAA,MAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,2FAAAF,EAAA,KAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,4JAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8BAAo3C,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBW,YAAA,UAAoBf,EAAAM,GAAA,qXAAAF,EAAA,KAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,mFAAAF,EAAA,KAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,gFAAAF,EAAA,KAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,gGAAAF,EAAA,KAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oEAA41B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,WAAmCI,OAAOmD,GAAA,sBAAyBvD,EAAA,MAAAJ,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uEAAAF,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,MAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAuXoB,aAAawH,kBAAA,WAAA9G,OAAA,YAAgD9B,EAAA,MAAAA,EAAA,MAAoBoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA6CoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA2CoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAsDoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAWoB,aAAaU,OAAA,OAAc9B,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAglBoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAWoB,aAAaU,OAAA,OAAc9B,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA8gBoB,aAAasB,iBAAA,SAAwB1C,EAAA,MAAWoB,aAAaU,OAAA,OAAc9B,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6HAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAwhBI,OAAOmD,GAAA,0BAA6BvD,EAAA,MAAAJ,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4SAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,+BAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,MAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,yMAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iPAAilC,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBI,OAAOmD,GAAA,gBAAmBvD,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4FAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,iBAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,4IAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oFAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,aAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,uFAAAF,EAAA,KAAmuBI,OAAOsB,KAAA,wBAA6B9B,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,sHAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uDAAAF,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,4PAAAF,EAAA,QAAAA,EAAA,MAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,6CAAAF,EAAA,QAAAA,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,yLAAAF,EAAA,KAAw6BI,OAAOsB,KAAA,kDAAuD9B,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,8GAAAF,EAAA,KAA2JI,OAAOsB,KAAA,yCAA8C9B,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,KAA0CI,OAAOsB,KAAA,sDAA2D9B,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,YAAoD,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBI,OAAOmD,GAAA,aAAgBvD,EAAA,MAA3GH,KAA2GK,GAAA,aAA3GL,KAA2GK,GAAA,KAAAF,EAAA,KAA3GH,KAA2GK,GAAA,wMAA3GL,KAA2GK,GAAA,KAAAF,EAAA,KAA3GH,KAA2GK,GAAA,8OAA0gB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBI,OAAOmD,GAAA,eAAkBvD,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,oHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gGAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0ECRr4ZW,EAdArB,EAAA,OAcAsB,QFXA,qDACA,aEYAoT,GATA,EAEA,KAEA,KAEA,MAUAnT,EAAA,QAAAF,EAAA,4FCtBA,ICEAsT,GADiBxU,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAkNQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mOAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iJAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgqBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,oUAAsUN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4FQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,yQAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mFAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,QAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kYAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA6jCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,QAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,OAEjwFS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAA/DH,KAA+DK,GAAA,kEAA/DL,KAA+DK,GAAA,sBAAgM,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,+GAAAF,EAAA,QAA/DH,KAA+DK,GAAA,2EAA/DL,KAA+DK,GAAA,8KAAAF,EAAA,QAA/DH,KAA+DK,GAAA,yBAA/DL,KAA+DK,GAAA,+BAAue,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,0EAAAF,EAAA,QAA/DH,KAA+DK,GAAA,yBAA/DL,KAA+DK,GAAA,sBAAuK,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,yCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,sBAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,oFAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,sBAA+S,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,yDAA8I,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAJ,EAAAM,GAAA,8BAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,2GAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,kJAAwd,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,0BAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,mHAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,oBAAqa,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,uMAAwR,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,8DAA2F,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,6CAAAF,EAAA,QAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,0CAAAF,EAAA,KAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,iBAAAF,EAAA,KAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,iPAAAF,EAAA,KAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,mDAAmnB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,uBAA/DL,KAA+DK,GAAA,kGAA6J,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,YAAyD,WAAc,IAAA1B,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,oGAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,eAAAF,EAAA,KAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,+BAAAF,EAAA,KAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,sLAA2pB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,8DAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAA/DH,KAA+DK,GAAA,uEAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAA/DH,KAA+DK,GAAA,gGAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAA/DH,KAA+DK,GAAA,4DAA4Z,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,4DAAAF,EAAA,QAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,aAAAF,EAAA,KAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,UAAAF,EAAA,KAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,0CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,8CAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iCAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mOAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+BAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,kRAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,0CAAAF,EAAA,KAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,0CAA+hD,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,aAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,2VAA0a,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,4GAAAF,EAAA,QAA/DH,KAA+DK,GAAA,eAA/DL,KAA+DK,GAAA,gBAAAF,EAAA,KAA/DH,KAA+DK,GAAA,kDAA/DL,KAA+DK,GAAA,sCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,yBAA/DL,KAA+DK,GAAA,sEAA+Z,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,sBAAmD,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,wGAAsJ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,kIAA6L,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,2KAAqO,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,yDAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,6CAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,OAAuQN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0DAAsFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qIAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2DCa96SW,EAdArB,EAAA,OAcAsB,QFXA,yCACA,aEYAqT,GATA,EAEA,KAEA,KAEA,MAUApT,EAAA,QAAAF,EAAA,8BCvBA,IAAAwD,GACA+P,gCAAA,OACAC,iCAAA,OACAC,oBAAA,OACAC,kBAAA,OACAC,sBAAA,OACAC,mCAAA,OACAC,uCAAA,OACAC,uBAAA,OACAC,+BAAA,OACAC,2BAAA,OACAC,wBAAA,OACAC,qCAAA,OACAC,yBAAA,OACAC,gCAAA,OACAC,uCAAA,OACAC,4BAAA,OACAC,wBAAA,OACAC,0BAAA,OACAC,6BAAA,OACAC,gDAAA,OACAC,uCAAA,OACAC,sDAAA,OACAC,0CAAA,OACAC,sCAAA,OACAC,uCAAA,OACAC,uCAAA,OACAC,8BAAA,OACAC,yCAAA,OACAC,+CAAA,OACAC,2BAAA,OACAC,0BAAA,OACA1P,wBAAA,OACA2P,iBAAA,QAEA,SAAAtP,EAAAC,GACA,OAAAtH,EAAAuH,EAAAD,IAEA,SAAAC,EAAAD,GACA,IAAAvD,EAAAc,EAAAyC,GACA,KAAAvD,EAAA,GACA,UAAAyD,MAAA,uBAAAF,EAAA,MACA,OAAAvD,EAEAsD,EAAAI,KAAA,WACA,OAAAC,OAAAD,KAAA5C,IAEAwC,EAAAM,QAAAJ,EACAzH,EAAAC,QAAAsH,EACAA,EAAAtD,GAAA,2FChDA,ICoBA6S,GADiBzW,OApBjB,WAA0B,IAAaG,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,0DAGAA,MAAA,0DAGAA,MAAA,0DAGAA,MAAA,yEAGAA,MAAA,qEAGAA,MAAA,wEAjB0BT,KAkBjBK,GAAA,KAlBiBL,KAkBjBM,GAAA,GAlBiBN,KAkBjBK,GAAA,KAlBiBL,KAkBjBM,GAAA,GAlBiBN,KAkBjBK,GAAA,KAlBiBL,KAkBjBM,GAAA,QAEQS,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wGAAAF,EAAA,OAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,uRAA6SF,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,8EAAAF,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,+BAAAF,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,uCAAAF,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,+CAAAF,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,wCAAAF,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,8BAAAF,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,sHAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,OAAAJ,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,8PAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,8BAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,YAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,wGAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,SAA8pDW,YAAA,qCAA+CX,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,cAAAF,EAAA,MAAAJ,EAAAM,GAAA,0CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,cAAAF,EAAA,MAAAJ,EAAAM,GAAA,0CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6CAAu2C,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gTAAsON,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,wFAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8LAA2lB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,qKAAAF,EAAA,OAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0JCL/5IW,EAdArB,EAAA,OAcAsB,QFXA,gDACA,MEYAsV,GATA,EAEA,KAEA,KAEA,MAUArV,EAAA,QAAAF,EAAA,4FCvBA,IA4BAnB,GADiBC,OA3BjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAgHI,OAAOC,WAEhNC,MAAA,6EAGAA,MAAA,+GAGAA,MAAA,6EAGAA,MAAA,6EAGAA,MAAA,6EAGAA,MAAA,6EAGAA,MAAA,uGAGAA,MAAA,gFAEOV,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,wEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2NQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,sLAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,0EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4EAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iFAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,0dAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2yCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oOAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,4TAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,gDAEhrDU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,gSCbnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaApB,GATA,EAEA,KAEA,KAEA,MAUAqB,EAAA,QAAAF,EAAA,4FCrBA,ICSAwV,GADiB1W,OATjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,iFAGAA,MAAA,2FAEKV,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qGAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6UQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oFAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yFAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAiTQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,gEAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iHAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,QAEtyBS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,yHAAsM,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,4BAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,0IAAqO,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,0JAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,+DAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,8ZAAy4B,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,sCAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,iFAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,kUAA4hB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAAuBI,OAAOsB,KAAA,8BAAAqK,OAAA,YAA7FlM,KAAqJK,GAAA,wCAAgD,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8GAAAF,EAAA,KAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mHAA2lB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,iGAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,4EAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,wEAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sECMlmGW,EAdArB,EAAA,OAcAsB,QFXA,mDACA,MEYAuV,GATA,EAEA,KAEA,KAEA,MAUAtV,EAAA,QAAAF,EAAA,4FCtBA,ICMAyV,GADiB3W,OANjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,gFAEOV,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2UAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAqhBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,uOAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6GAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mOAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4oBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,oGAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAyRQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAiIQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,iEAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,QAE15DS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,miBAAgnB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,uBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,0GAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,+GAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,kGAAke,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,6TAAAF,EAAA,MAAqbI,OAAOkC,KAAA,OAAYtC,EAAA,MAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mOAAAF,EAAA,MAAkaI,OAAOkC,KAAA,OAAYtC,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4EAAAF,EAAA,QAAwNoB,aAAaS,MAAA,UAAAoC,kBAAA,kBAAoDrE,EAAAM,GAAA,2HAAAN,EAAAM,GAAA,KAAAF,EAAA,QAA2JoB,aAAaS,MAAA,aAAmBjC,EAAAM,GAAA,uIAAAN,EAAAM,GAAA,+XAAqhB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,4LAAAF,EAAA,KAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,6BAAAF,EAAA,KAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,uBAAAF,EAAA,KAA/DH,KAA+DK,GAAA,sBAA/DL,KAA+DK,GAAA,6BAAiZ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAA/DH,KAA+DK,GAAA,sDAAAF,EAAA,QAA/DH,KAA+DK,GAAA,iBAA+G,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,qHAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,wFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iECS55HW,EAdArB,EAAA,OAcAsB,QFXA,+CACA,MEYAwV,GATA,EAEA,KAEA,KAEA,MAUAvV,EAAA,QAAAF,EAAA,8BCvBAvB,EAAAC,QAAAC,EAAAC,EAAA,+ICCA,ICEA8W,GADiB5W,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wLAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAuZQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,oGAA8EN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAExoBS,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,+CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,sBAAqlB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uCAAAF,EAAA,KAA+HI,OAAOsB,KAAA,mEAAwE9B,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,+ZAAAF,EAAA,KAA6dI,OAAOsB,KAAA,yDAA8D9B,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAyJW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,aAAsDvK,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,aAAAF,EAAA,KAA2DI,OAAOsB,KAAA,8CAAmD9B,EAAAM,GAAA,oBAA4B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,iDAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,sDAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAAF,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,8CAAyY,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,yIAA/DL,KAA6PK,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAA7PH,KAA6PK,GAAA,aAA7PL,KAA6PK,GAAA,2DAAyH,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,aAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,wCAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,mCAAAF,EAAA,OAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,iDAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2EAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,wRAAizB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mJAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yXAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0HAAg9B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,0HAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sHCaxsJW,EAdArB,EAAA,OAcAsB,QFXA,gCACA,MEYAyV,GATA,EAEA,KAEA,KAEA,MAUAxV,EAAA,QAAAF,EAAA,4FCtBA,ICEA2V,GADiB7W,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2SAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4TAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uYAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mNAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAgtDoB,aAAaU,OAAA,SAAAT,aAAA,SAAAC,MAAA,SAAuDtB,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAA0CQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,oIAAoIN,EAAAM,GAAA,KAAAF,EAAA,MAA8BoB,aAAaU,OAAA,YAAmB9B,EAAA,OAAYQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,4HAAsHN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4gBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4qBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,o4BAAk2BN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2MAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAuSQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,OAE32IS,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,+CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,sBAAqlB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,oTAA/DL,KAA+DK,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAuaW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,yBAAvhBtK,KAAsmBK,GAAA,KAAAF,EAAA,cAAtmBH,KAAsmBK,GAAA,gDAAqF,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,aAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,qgBAA/DL,KAA2VK,GAAA,KAAAF,EAAA,KAA3VH,KAA2VK,GAAA,wqBAAw/B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mMAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,4CAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oEAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,mBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,cAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,wBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,uBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,YAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,mEAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,ybAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iLAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,gCAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,0CAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,YAAo6D,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yLAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,gGAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,eAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,cAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8UAA+lC,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,SAAmBoB,aAAawB,eAAA,OAAAC,iBAAA,OAAAC,eAAA,QAAAC,eAAA,QAAAjB,OAAA,SAAAT,aAAA,YAAqIrB,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,qBAAAF,EAAA,MAAAJ,EAAAM,GAAA,qBAAAF,EAAA,MAAAJ,EAAAM,GAAA,qBAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,qBAAAF,EAAA,MAAAJ,EAAAM,GAAA,qBAAAF,EAAA,MAAAJ,EAAAM,GAAA,qBAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAohC,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,gIAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,0DAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,0NAA+lB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,SAAmBoB,aAAaU,OAAA,YAAmB9B,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,sBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,eAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,eAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,cAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,SAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,sBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,gBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,iCAAw9E,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAA,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,mNAAsKF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,uUAAykB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,SAAmBoB,aAAaU,OAAA,YAAmB9B,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,QAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,MAAAF,EAAA,OAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,gBAAq1O,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,SAAmBoB,aAAayB,iBAAA,IAAAf,OAAA,SAAAT,aAAA,YAA8DrB,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAgCoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAA0NoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAA,EAAA,MAAsCoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqE/C,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAA,EAAA,MAAuEoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqEnD,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAmDoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAA0NoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAA,EAAA,MAAsCoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqE/C,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAA,EAAA,MAAuEoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqEnD,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAmDoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAA0NoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAA,EAAA,MAAsCoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqE/C,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAA,EAAA,MAAuEoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqEnD,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAmDoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAA0NoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAA,EAAA,MAAsCoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqE/C,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAA,EAAA,MAAuEoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqEnD,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAmDoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAA0NoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAoDoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqE/C,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAF,EAAA,MAAqFoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqEnD,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAmDoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAA0NoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAA,EAAA,MAAsCoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqE/C,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAA,EAAA,MAAuEoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqEnD,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAmDoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAA0NoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAA,EAAA,MAAsCoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqE/C,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAA,EAAA,MAAuEoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqEnD,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAmDoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAA0NoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAA,EAAA,MAAsCoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqE/C,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAA,EAAA,MAAuEoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqEnD,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAmDoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAF,EAAA,MAA0NoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,eAAyEnD,EAAAM,GAAA,WAAAF,EAAA,MAAAA,EAAA,MAAsCoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqE/C,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAF,EAAA,MAAAA,EAAA,MAAuEoB,aAAawB,eAAA,OAAAE,eAAA,QAAAC,eAAA,WAAqEnD,EAAAM,GAAA,iBAAyB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,6DAAAF,EAAA,QAA/DH,KAA+DK,GAAA,UAA/DL,KAA+DK,GAAA,QAA6H,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6nBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8DAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yGAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uQAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6lBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kOAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yHAA04E,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,8EAAgPN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6DAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,gDAAkKN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gDAA4EN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oDAA4EN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,4BAA2RN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oDAAgFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uDAAmFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2DAAuFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qDAAiFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gGAA4HN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qDAAmFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kEAA8FN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sDAAkFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAkDN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oDAAgFN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8BAA0DN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mFCa1j7BW,EAdArB,EAAA,OAcAsB,QFXA,sCACA,MEYA0V,GATA,EAEA,KAEA,KAEA,MAUAzV,EAAA,QAAAF,EAAA,4FCvBA,IAMA4V,GADiB9W,OALjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAyGI,OAAOC,WAEzMC,MAAA,4FACWV,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,yJAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,0TAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,4GAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAuzBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,wKAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAkSW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,cAAqD,GAAA1B,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,mDAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,0BAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,cAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,iCAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,uDAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,8PAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAi7BQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,mnBAAknB,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,iCAAAF,EAAA,QAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,gOAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,+DAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,4GAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAivBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,2XAA0X,YAErlIU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAA/DH,KAA+DK,GAAA,wWCSnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaA2V,GATA,EAEA,KAEA,KAEA,MAUA1V,EAAA,QAAAF,EAAA,4BCtBAvB,EAAAC,QAAA,qoYCAA,IAOAmX,GADiB/W,OANjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAyHI,OAAOC,WAEzNC,MAAA,6GAEON,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,+RAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgfQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,0EAAmCF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oCAAmFF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,uBAA+EN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kDAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwKI,OAAOkC,KAAA,OAAYtC,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,6IAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,4KAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,8LAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,2FAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,mFAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,UAAAF,EAAA,KAA8/BI,OAAO2L,OAAA,SAAArK,KAAA,mGAA0H9B,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,sBAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,uFAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4GAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,2GAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,iLAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,4FAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA+nCQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,gqBAA+pB,YAEv7HU,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAAAJ,EAAAM,GAAA,iPAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8DAAicF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,yBAAAF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,mEAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,8LAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yQCQpiBW,EAbArB,EAAA,OAaAsB,CAXA,KAaA4V,GATA,EAEA,KAEA,KAEA,MAUA3V,EAAA,QAAAF,EAAA,8BCtBAvB,EAAAC,QAAAC,EAAAC,EAAA,iFCAAH,EAAAC,QAAAC,EAAAC,EAAA,8HCCA,ICeAkX,GADiBhX,OAfjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,6EAGAA,MAAA,+GAGAA,MAAA,6EAGAA,MAAA,gFAEKV,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2KAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,+FAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAkjBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,iJAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAqWQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,iLAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgZQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yFAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,QAEziDS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,sjBAA/DL,KAAoMK,GAAA,KAAAF,EAAA,KAApMH,KAAoMK,GAAA,wTAApML,KAAoMK,GAAA,KAAAF,EAAA,KAApMH,KAAoMK,GAAA,iLAA6hC,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,+MAA4R,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yJAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,qKAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,qNAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,0IAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,sDAA62C,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2JAAAF,EAAA,QAA/DH,KAA+DK,GAAA,+CAA/DL,KAA+DK,GAAA,WAAAF,EAAA,QAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,uGAAAF,EAAA,QAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,kbAAq3B,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAA/DH,KAA+DK,GAAA,oBAAiD,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,KAA/DH,KAA+DK,GAAA,6VAA2X,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,kGAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,qHCA7nJW,EAdArB,EAAA,OAcAsB,QFXA,wCACA,MEYA6V,GATA,EAEA,KAEA,KAEA,MAUA5V,EAAA,QAAAF,EAAA,4FCvBA,IAGA+V,GADiBjX,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAyHI,OAAOC,eAAeL,EAAA,KAAAJ,EAAAM,GAAA,yOAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,oGAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iFAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,kMAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,8BAAAF,EAAA,MAAAJ,EAAAM,GAAA,6DAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAA2iCF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,6CAAAF,EAAA,MAAAJ,EAAAM,GAAA,6EAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,wBAAoPF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,kCAAAF,EAAA,MAAAJ,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,+CAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,iDAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,sCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kCAAAF,EAAA,UAAAJ,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2HAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yTAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAJ,EAAAM,GAAA,2LAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,qBAAAF,EAAA,KAAAJ,EAAAM,GAAA,KAAAF,EAAA,OAAu0CQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,uOAAyON,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,kFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,+DAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,yDAAAF,EAAA,MAAAJ,EAAAM,GAAA,uFAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,8GAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,mBAAm3BF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,mIAAAF,EAAA,UAAAJ,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0QAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,qTAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,qQAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8DAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8DAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,8CAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,sZAAizDF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,wEAEpyLU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAA/DH,KAA+DK,GAAA,kSCYnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaA8V,GATA,EAEA,KAEA,KAEA,MAUA7V,EAAA,QAAAF,EAAA,8FCtBA,IAQAgW,GADiBlX,OAPjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,KAAAJ,EAAAM,GAAA,0FAAAN,EAAAM,GAAA,KAAAF,EAAA,YAAmPI,OAAOC,WAEnVC,MAAA,0DACAC,KAAA,oHAEOX,EAAAM,GAAA,0BAAAF,EAAA,MAA4CI,OAAOkC,KAAA,YAAiBtC,EAAA,MAAAJ,EAAAM,GAAA,sGAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gLAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oGAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAF,EAAA,KAAifI,OAAO2L,OAAA,SAAArK,KAAA,iDAAwE9B,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6DAAAF,EAAA,KAAkJI,OAAO2L,OAAA,SAAArK,KAAA,+CAAsE9B,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gFAAAF,EAAA,KAA6II,OAAO2L,OAAA,SAAArK,KAAA,+DAAsF9B,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAA,EAAA,UAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,iMAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAqcQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,mZAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,UAAAA,EAAA,OAA8dW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,cAAuD,GAAA1B,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,8JAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAAF,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,gMAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAAqhBW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,aAAwD1B,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAA+CQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,8QAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,qFAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,4eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,mOAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,wBAAAF,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAo6CQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,wMAAoFN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,sEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,2BAAAF,EAAA,QAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,yKAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,+BAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,yCAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,yBAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,UAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,kBAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,uBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,KAAAF,EAAA,OAAk4EQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,0CAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,mHAA0JF,EAAA,UAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,4CAAAF,EAAA,UAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,oEAAAF,EAAA,UAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,sLAAAF,EAAA,UAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAglBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,kCAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,2GAAkJF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,oCAAAF,EAAA,UAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,4DAAAF,EAAA,UAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,sKAAAF,EAAA,UAAAJ,EAAAM,GAAA,kCAE77PU,oBCMjBC,EAbArB,EAAA,OAaAsB,CAXA,KAaA+V,GATA,EAEA,KAEA,KAEA,MAUA9V,EAAA,QAAAF,EAAA,8BCtBAvB,EAAAC,QAAAC,EAAAC,EAAA,oICAA,IAwBAqX,GADiBnX,OAvBjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAA2HI,OAAOC,WAE3NC,MAAA,2CACAC,KAAA,wCACAY,MAAA,gBAGAb,MAAA,2CACAC,KAAA,wCACAY,MAAA,uBAGAb,MAAA,2CACAC,KAAA,wCACAY,MAAA,uBAGAb,MAAA,2CACAC,KAAA,wCACAY,MAAA,8BAEOvB,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,8HAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAoSQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,2MAA0M,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,iFAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,8DAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,6FAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,wPAAmkBN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAiKQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,4TAA2T,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,wnBAAwgBN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0TAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgmBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,uDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAsFQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,iVAAiVN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAoGQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAqIQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,8BAA6B,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,6FAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,8FAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,sNAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,iDAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,+JAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA61BQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,oHAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,oDAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,gKAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,gDAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,uHAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,qDAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,oNAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,uCAAAN,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,4JAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAA+wDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,6GAA4G,YAEzrNU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAA/DH,KAA+DK,GAAA,sSCTnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaAgW,GATA,EAEA,KAEA,KAEA,MAUA/V,EAAA,QAAAF,EAAA,8BCtBAvB,EAAAC,QAAAC,EAAAC,EAAA,4DCAAH,EAAAC,QAAAC,EAAAC,EAAA,2HCCA,ICsBAsX,GADiBpX,OAtBjB,WAA0B,IAAaG,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,qDACAC,KAAA,0CAGAD,MAAA,oFACAC,KAAA,0CAGAD,MAAA,6EACAC,KAAA,0CAGAD,MAAA,oFACAC,KAAA,0CAGAD,MAAA,6EACAC,KAAA,6CAnB0BV,KAoBjBK,GAAA,KApBiBL,KAoBjBM,GAAA,GApBiBN,KAoBjBK,GAAA,KApBiBL,KAoBjBM,GAAA,GApBiBN,KAoBjBK,GAAA,KApBiBL,KAoBjBM,GAAA,QAEQS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,qDAAsI,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0LAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,uDAA+VN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6EAA0GN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yHAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAkQoB,aAAaC,aAAA,YAAuBrB,EAAA,SAAcW,YAAA,8BAAAS,aAAuDc,QAAA,kBAA0BlC,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yDAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,2TAAw6C,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mDAAwUN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mCAAiEN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4CAAwEN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAuDN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6DCPjoGW,EAdArB,EAAA,OAcAsB,QFXA,mDACA,cEYAiW,GATA,EAEA,KAEA,KAEA,MAUAhW,EAAA,QAAAF,EAAA,4FCtBA,ICEAmW,GADiBrX,OAFjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAJ,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+qBAAyuBN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA2NQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,oFAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,sEAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,KAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uIAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0iBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,8BAAgCN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yFAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iGAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA8XQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,qGAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA4OQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,gDAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wbAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,OAE5iFS,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,gCAA0wB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,kBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,wGAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,SAAAF,EAAA,QAA/DH,KAA+DK,GAAA,qBAA/DL,KAA+DK,GAAA,kBAA+S,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,gBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,q6BAAo/B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,kcAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,uFAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,+BAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,QAAqyB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,QAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,+BAAAF,EAAA,QAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,oDAAkL,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,QAA4ON,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,mDAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,wDAAuZ,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,uEAAoKN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iFAA6GN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,4GAAoMN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4EAA4G,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,6LAAAF,EAAA,QAAAJ,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,8BAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,sCAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+CAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,gMAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,QAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAwvCoB,aAAaU,OAAA,SAAAT,aAAA,SAAAC,MAAA,SAAuDtB,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAgCoB,aAAasB,iBAAA,SAAwB1C,EAAA,OAAYoB,aAAac,QAAA,eAAAb,aAAA,UAA8CrB,EAAA,QAAAJ,EAAAM,GAAA,mKAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA4MoB,aAAasB,iBAAA,SAAwB1C,EAAA,OAAYoB,aAAac,QAAA,eAAAb,aAAA,UAA8CrB,EAAA,QAAAJ,EAAAM,GAAA,oSAAuT,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,mQAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,4DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,0NAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,6EAAm1B,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,QAAAF,EAAA,QAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,sCAA0G,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,gDAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,gDAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,oIAAAF,EAAA,QAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,iBAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,sCAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,sKAAiqBF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,eAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,yCAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,QAAgU,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,0IAAAF,EAAA,QAA/DH,KAA+DK,GAAA,oBAA/DL,KAA+DK,GAAA,QAAoN,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,sBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,+CAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,uGAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,0BAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,+CAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,0CAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,iPAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,YAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,YAAAF,EAAA,KAA4iCI,OAAOsB,KAAA,+DAAoE1B,EAAA,OAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,gBAAAF,EAAA,KAAgEI,OAAOsB,KAAA,6CAAkD9B,EAAAM,GAAA,eAAAN,EAAAM,GAAA,OAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,SAAmI,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,oCAAAF,EAAA,QAA/DH,KAA+DK,GAAA,qBAA/DL,KAA+DK,GAAA,sVAAAF,EAAA,QAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,oCAA6eF,EAAA,QAA5iBH,KAA4iBK,GAAA,qBAA5iBL,KAA4iBK,GAAA,oCAAkH,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wPAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wEAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,sJAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+LAAu0B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,sBAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,MAAAF,EAAA,QAAAJ,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,4GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iMAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uGAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6EAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,iEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,4ECah3YW,EAdArB,EAAA,OAcAsB,QFXA,0CACA,aEYAkW,GATA,EAEA,KAEA,KAEA,MAUAjW,EAAA,QAAAF,EAAA,iDCvBAvB,EAAAC,QAAA,i6TCAA,IAGA0X,GADiBtX,OAFjB,WAA0BE,KAAaE,eAAbF,KAAuCI,MAAAD,GAAwB,OAA/DH,KAA+DM,GAAA,IAExES,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mEAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAA4TI,OAAOsB,KAAA,oGAAyG1B,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAuII,OAAOsB,KAAA,4EAAiF1B,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAoHI,OAAOsB,KAAA,2EAAgF1B,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAmHI,OAAOsB,KAAA,mFAAwF1B,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,sCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAwHI,OAAOsB,KAAA,mFAAwF1B,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,eAAAF,EAAA,KAAsJI,OAAOsB,KAAA,wDAA6D1B,EAAA,QAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,iDAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qBAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,UAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,yBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,oBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,qBAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,wBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,OAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,aAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,yJAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8EAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,0CAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,8BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,wMAA4tDN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAA,EAAA,UAAAA,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,iEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,OAAAA,EAAA,QAAAJ,EAAAM,GAAA,yJCYxxGW,EAbArB,EAAA,OAaAsB,CAXA,KAaAmW,GATA,EAEA,KAEA,KAEA,MAUAlW,EAAA,QAAAF,EAAA,8BCtBAvB,EAAAC,QAAAC,EAAAC,EAAA,0HCAA,IAsCAC,GADiBC,OArCjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,YAAgHI,OAAOC,WAEhNC,MAAA,2CACAC,KAAA,wCACAY,MAAA,cAGAb,MAAA,2CACAC,KAAA,wCACAY,MAAA,cAGAb,MAAA,2CACAC,KAAA,wCACAY,MAAA,cAGAb,MAAA,2CACAC,KAAA,wCACAY,MAAA,cAGAb,MAAA,2CACAC,KAAA,wCACAY,MAAA,cAGAb,MAAA,2CACAC,KAAA,wCACAY,MAAA,yDAGAb,MAAA,2CACAC,KAAA,wCACAY,MAAA,yCACWvB,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,gGAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,kgBAAmoB,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,oEAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,mCAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,4IAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAqlBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,0FAA6F,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,4DAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA0NQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,mLAAmLN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAkDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,kPAAiP,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,oCAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAgOQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,kEAAkEN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAA,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,6CAA6FF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,0DAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,wEAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,iCAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,8GAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAwjBQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,kFAAkFN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAmIQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,oCAAmC,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,sDAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,wDAAAF,EAAA,QAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,QAAAF,EAAA,QAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,mBAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,0DAAAF,EAAA,QAAAJ,EAAAM,GAAA,QAAAN,EAAAM,GAAA,0CAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4eQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,mJAAmJN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAkDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,6CAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,gBAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,wEAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,wBAAAF,EAAA,QAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,4BAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,uFAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,6IAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAAu4BQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,2MAA0M,GAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,gBAAAA,EAAA,KAAAJ,EAAAM,GAAA,+BAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,iCAAAF,EAAA,QAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,gBAAAA,EAAA,OAA8XQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,QAAkBf,EAAAM,GAAA,iJAAgJ,YAExxMU,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,KAA/DH,KAA+DK,GAAA,mWAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,qTCvBnGW,EAbArB,EAAA,OAaAsB,CAXA,KAaApB,GATA,EAEA,KAEA,KAEA,MAUAqB,EAAA,QAAAF,EAAA,4FCrBA,ICEAqW,GADiBvX,OAFjB,WAA0BE,KAAaE,eAAbF,KAAuCI,MAAAD,GAAwB,OAA/DH,KAA+DM,GAAA,IAExES,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,KAAuGI,OAAOsB,KAAA,gGAAqG1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAqHI,OAAOsB,KAAA,0HAA+H1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAA8HI,OAAOsB,KAAA,wGAA6G1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAqHI,OAAOsB,KAAA,gGAAqG1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAqHI,OAAOsB,KAAA,gGAAqG1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAqHI,OAAOsB,KAAA,6GAAkH1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAqHI,OAAOsB,KAAA,6HAAkI1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAA8HI,OAAOsB,KAAA,kHAAuH1B,EAAA,QAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,uBAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yMAA2VN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,+IAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,KAAAJ,EAAAM,GAAA,yZAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAwrBoB,aAAaU,OAAA,UAAkB1B,OAAQyJ,YAAA,IAAAD,YAAA,OAAqC5J,EAAA,SAAAA,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,yBAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uOAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gHAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iTAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,aAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,uFAAAF,EAAA,QAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,oBAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,SAAAF,EAAA,QAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,8CAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yUAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,gEAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mLAAAF,EAAA,QAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,mYAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mOAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,iEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+DCa5iGW,EAdArB,EAAA,OAcAsB,QFXA,gCACA,KEYAoW,GATA,EAEA,KAEA,KAEA,MAUAnW,EAAA,QAAAF,EAAA,4FCtBA,ICOAsW,GADiBxX,OAPjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,yEACAC,KAAA,wCAEKX,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iQAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA6eQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,sGAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+KAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,QAE3jBS,iBADjB,WAAoC,IAAad,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,cAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,iJAA8N,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBI,OAAOmD,GAAA,aAAgBvD,EAAA,MAA3GH,KAA2GK,GAAA,kBAA3GL,KAA2GK,GAAA,KAAAF,EAAA,KAA3GH,KAA2GK,GAAA,wGAAAF,EAAA,QAA3GH,KAA2GK,GAAA,oBAA3GL,KAA2GK,GAAA,yBAAAF,EAAA,QAA3GH,KAA2GK,GAAA,uBAA3GL,KAA2GK,GAAA,yFAAqX,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,OAA2FW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA2K,IAAA,gBAAA7I,MAAA,SAAiF1B,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,giBAAyIN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oQAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,4GAAy6B,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,mBAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,6hBAA+mB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,wCAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0KAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,gTAAAF,EAAA,MAAAJ,EAAAM,GAAA,KAAAF,EAAA,QAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,UAAAF,EAAA,QAAAJ,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,uBAAAF,EAAA,MAAAJ,EAAAM,GAAA,4FAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,+LAAwvCN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qEAAuO,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAA/DH,KAA+DK,GAAA,8DAA/DL,KAA+DK,GAAA,KAAAF,EAAA,MAA/DH,KAA+DK,GAAA,sEAA+L,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,6BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+WAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,2PAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,0CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mFAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mEAA6/B,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAA/DH,KAA+DK,GAAA,qCAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,gTAA/DL,KAA+DK,GAAA,KAAAF,EAAA,KAA/DH,KAA+DK,GAAA,6ZAA40B,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,6MAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qNAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,mSAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAq8BW,YAAA,uCAAiDX,EAAA,MAAAA,EAAA,MAAoBI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,oBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAkDI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAsDI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwDI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,0BAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAiEI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,6CAAsBN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAA8DI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,mBAAyBF,EAAA,MAAAJ,EAAAM,GAAA,+CAA+DF,EAAA,MAAAJ,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAA4FI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCI,OAAO0J,MAAA,cAAkBlK,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAkCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,cAAkBlK,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAkCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAwCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA0CI,OAAO0J,MAAA,gBAAkBlK,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,mCAAsIN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uEAAmGN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,2HAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gUAAsf,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,uEAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6EAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mFAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qFCQzsUW,EAdArB,EAAA,OAcAsB,QFXA,0CACA,iBEYAqW,GATA,EAEA,KAEA,KAEA,MAUApW,EAAA,QAAAF,EAAA,4BCvBAvB,EAAAC,QAAA,gjRCAAD,EAAAC,QAAAC,EAAAC,EAAA,oJCGA2H,SAEA,0CAEA,qDAIA,YAEA,sDAIA,iCACAC,yDAGAC,mCAEA,IAAAC,EAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,oBACAG,kCAEAC,wCAGAL,SAIAM,2LAKA,0BACAC,kCACA,WACA,aACA,WACA,aACA,iEAGAC,0CAEA,cACA,uBACA,+BAIAF,EACAA,eAIA,EAAAG,UAAA,mEAEA,mEAIA,uBAEA,IAAAC,EAAApI,+DAGAyH,eACAY,aACA,GACA,iBAGA,8fC7EA,IA+BAkP,GADiBzX,OA9BjB,WAA0B,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,YAAoCI,OAAOC,WAEpIC,MAAA,oDACAC,KAAA,oEAGAD,MAAA,oDACAC,KAAA,oEAGAD,MAAA,oDACAC,KAAA,oEAGAD,MAAA,oDACAC,KAAA,oEAGAD,MAAA,oDACAC,KAAA,oEAGAD,MAAA,oDACAC,KAAA,oEAGAD,MAAA,oDACAC,KAAA,uEACWX,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAwEI,OAAOmD,GAAA,UAAavD,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAsKI,OAAOmD,GAAA,kBAAqBvD,EAAA,MAAAJ,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uDAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,SAA+JW,YAAA,iBAA2BX,EAAA,KAAAJ,EAAAwI,GAAA,WAAAC,GAAiC,OAAArI,EAAA,MAAgBsI,IAAAD,EAAAjH,aAAmBgB,QAAA,YAAoBxC,EAAAM,GAAA,qBAAAF,EAAA,OAAAJ,EAAAM,GAAAN,EAAA2I,GAAA,EAAAF,MAAAzI,EAAAM,GAAA,IAAAN,EAAA2I,GAAAC,KAAAC,IAAA,IAAAJ,UAAuGzI,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAwI,GAAA,WAAAC,GAA+C,OAAArI,EAAA,MAAgBsI,IAAAD,IAAM,GAAAG,KAAAC,IAAA,IAAAJ,GAAArI,EAAA,QAAAJ,EAAAM,GAAA,IAAAN,EAAA2I,GAAAC,KAAAC,IAAA,IAAAJ,OAAAzI,EAAA8I,SAAyF1I,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAwI,GAAA,WAAAC,GAA2E,OAAArI,EAAA,MAAgBsI,IAAAD,IAAMzI,EAAAM,GAAAN,EAAA2I,GAAAC,KAAAG,KAAA,GAAAH,KAAAC,IAAA,IAAAJ,eAAqDzI,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,SAAkEW,YAAA,iBAA2BX,EAAA,KAAAJ,EAAAwI,GAAA,WAAAC,GAAiC,OAAArI,EAAA,MAAgBsI,IAAAD,EAAAjH,aAAmBgB,QAAA,YAAoBxC,EAAAM,GAAA,WAAAN,EAAA2I,GAAA,EAAAF,GAAA,oBAAArI,EAAA,SAAgEoB,aAAawH,kBAAA,cAA8B5I,EAAA,KAAAJ,EAAAwI,GAAA,WAAAL,GAAiC,OAAA/H,EAAA,MAAgBsI,IAAAP,EAAAc,OAAaC,aAAAN,KAAAG,KAAA,EAAAN,EAAAG,KAAAC,IAAA,IAAAV,KAA+C3G,aAAc2H,OAAA,iBAAAzH,MAAA,UAA0C1B,EAAAM,GAAA,uBAAAN,EAAA2I,GAAAC,KAAAG,KAAA,EAAAN,EAAAG,KAAAC,IAAA,IAAAV,WAA6EnI,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAqE6I,OAAOC,aAAAN,KAAAG,KAAA,GAAAH,KAAAC,IAAA,IAAAJ,KAA8CjH,aAAc2H,OAAA,iBAAAzH,MAAA,UAA0C1B,EAAAM,GAAAN,EAAA2I,GAAAC,KAAAG,KAAA,GAAAH,KAAAC,IAAA,IAAAJ,QAAAzI,EAAAM,GAAA,KAAAF,EAAA,iBAAgFJ,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,yRAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,wOAAAN,EAAAM,GAAA,KAAAF,EAAA,UAAAA,EAAA,6BAA8nBI,OAAOkH,KAAA,GAAAY,KAAA,EAAAc,MAAA,GAAAD,OAAA,EAAAE,mBAAArJ,EAAAqJ,sBAAsFrJ,EAAAM,GAAA,KAAAF,EAAA,cAAAJ,EAAAM,GAAA,qDAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,GAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,OAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAqKI,OAAOmD,GAAA,UAAavD,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA8EQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,oCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,KAAAF,EAAA,WAA6KI,OAAOmD,GAAA,SAAYvD,EAAA,MAAAJ,EAAAM,GAAA,4BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA2FQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,aAAAN,EAAA2I,GAAA1I,KAAAoJ,mBAAA,MAAA5E,IAAA,SAAA6E,GAAgF,OAAAA,EAAAC,KAAA,OAAwBA,KAAA,YAAAvJ,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAgEQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,iDAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAoOQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,+EAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAqIQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,+SAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA+ZQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,8MAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAA+UQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,WAAqBf,EAAAM,GAAA,yTAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA8aQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8DAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gSAAAN,EAAAM,GAAA,KAAAF,EAAA,SAAohBoB,aAAayC,gBAAA,UAAwB7D,EAAA,MAAAA,EAAA,MAAoBoB,aAAaE,MAAA,UAAgB1B,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,WAAwDW,YAAA,uBAAAP,OAA0CkC,KAAA,SAAA8G,YAAA,QAAqCC,OAAQ9G,MAAA3C,EAAA,SAAA0J,SAAA,SAAAC,GAA8C3J,EAAA4J,SAAAD,GAAiBE,WAAA,eAAwB,KAAA7J,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,WAA4FW,YAAA,uBAAAP,OAA0CkC,KAAA,SAAA8G,YAAA,QAAqCC,OAAQ9G,MAAA3C,EAAA,SAAA0J,SAAA,SAAAC,GAA8C3J,EAAA8J,SAAAH,GAAiBE,WAAA,eAAwB,OAAA7J,EAAAM,GAAA,KAAAF,EAAA,OAAgCoB,aAAagB,QAAA,UAAkBpC,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,MAAAN,EAAA2I,GAAA,EAAAoB,SAAA/J,EAAA8J,UAAA,OAAA9J,EAAA2I,GAAAoB,SAAA/J,EAAA8J,UAAA,QAAA9J,EAAA2I,GAAA1I,KAAAoJ,mBAAAU,SAAA/J,EAAA4J,UAAAG,SAAA/J,EAAA8J,WAAArF,IAAA,SAAA6E,GAAqM,OAAAA,EAAAC,KAAA,OAAwBA,KAAA,cAAAvJ,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,gBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,+JAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,OAA4XQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,+BAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,8IAAAN,EAAAM,GAAA,KAAAF,EAAA,OAAuOQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,UAAoBf,EAAAM,GAAA,uDAAAN,EAAAM,GAAA,KAAAF,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,kCAAAN,EAAAM,GAAA,sMAAAF,EAAA,KAAiWI,OAAOsB,KAAA,qCAA0C9B,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,wEAAAF,EAAA,OAAqHQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,8wCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,OAAo0CQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,8wCAAAN,EAAAM,GAAA,KAAAN,EAAAO,GAAA,IAAAP,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,uCAAAF,EAAA,QAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,uGAAAF,EAAA,OAA2gDQ,aAAaC,KAAA,cAAAC,QAAA,oBAA6CV,EAAA,QAAaW,YAAA,SAAmBf,EAAAM,GAAA,gDAAAN,EAAAO,GAAA,MAAAP,EAAAM,GAAA,KAAAN,EAAAO,GAAA,SAE7mWS,iBADjB,WAAoC,IAAAhB,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBI,OAAOmD,GAAA,kBAAqBvD,EAAA,MAAAJ,EAAAM,GAAA,kBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gBAAAF,EAAA,OAAAJ,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,0OAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,kjBAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,sEAAAF,EAAA,OAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,yXAAm7C,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBI,OAAOmD,GAAA,kBAAqBvD,EAAA,MAAhHH,KAAgHK,GAAA,kBAAhHL,KAAgHK,GAAA,KAAAF,EAAA,KAAhHH,KAAgHK,GAAA,wGAAAF,EAAA,QAAhHH,KAAgHK,GAAA,iBAAhHL,KAAgHK,GAAA,SAAAF,EAAA,QAAhHH,KAAgHK,GAAA,mBAAhHL,KAAgHK,GAAA,kBAAuR,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAA,EAAA,KAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,2BAAAF,EAAA,KAAAJ,EAAAM,GAAA,iCAAAN,EAAAM,GAAA,qRAAAF,EAAA,KAAAJ,EAAAM,GAAA,wFAAAN,EAAAM,GAAA,uBAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,0BAAAF,EAAA,OAAAJ,EAAAM,GAAA,OAAAN,EAAAM,GAAA,iEAAqrB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,4FAAAF,EAAA,MAA/DH,KAA+DK,GAAA,SAA/DL,KAA+DK,GAAA,SAAAF,EAAA,MAA/DH,KAA+DK,GAAA,QAA/DL,KAA+DK,GAAA,eAAwM,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,SAAmBoB,aAAaU,OAAA,UAAkB1B,OAAQwJ,YAAA,IAAAC,YAAA,OAAqC7J,EAAA,MAAAA,EAAA,MAAoBI,OAAO0J,MAAA,WAAiBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAuCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,UAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAiDI,OAAO0J,MAAA,WAAiBlK,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA+CI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAoDI,OAAO0J,MAAA,WAAiBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,OAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAqCI,OAAO0J,MAAA,YAAkBlK,EAAAM,GAAA,SAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAgDI,OAAO0J,MAAA,WAAiBlK,EAAAM,GAAA,aAAAN,EAAAM,GAAA,KAAAF,EAAA,MAA2CoB,aAAa2H,OAAA,iBAAAzH,MAAA,QAAyClB,OAAQ0J,MAAA,YAAkBlK,EAAAM,GAAA,WAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAyCW,YAAA,aAAAS,aAAsC2H,OAAA,iBAAAzH,MAAA,QAAyClB,OAAQ0J,MAAA,YAAkBlK,EAAAM,GAAA,iBAAyB,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBI,OAAOmD,GAAA,wBAA2BvD,EAAA,MAAAJ,EAAAM,GAAA,kEAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,iKAAAF,EAAA,MAAAJ,EAAAM,GAAA,UAAAN,EAAAM,GAAA,wFAAAF,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,0CAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,qDAAAF,EAAA,KAAAJ,EAAAM,GAAA,8DAAAF,EAAA,MAAAJ,EAAAM,GAAA,iBAAspB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,4DAAAF,EAAA,OAA/DH,KAA+DK,GAAA,wFAA/DL,KAA+DK,GAAA,QAAyM,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,MAAAA,EAAA,MAAAA,EAAA,MAAkCW,YAAA,eAAjGd,KAA0HK,GAAA,OAAAF,EAAA,SAA2B,WAAc,IAAaF,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,yJAAAF,EAAA,KAAuLI,OAAOsB,KAAA,wCAA7P7B,KAA0SK,GAAA,iCAA1SL,KAA0SK,GAAA,YAAAF,EAAA,KAAqEI,OAAOsB,KAAA,+BAAtX7B,KAA0ZK,GAAA,mBAA1ZL,KAA0ZK,GAAA,QAA0C,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAAA,EAAA,OAA8BW,YAAA,8BAAAP,OAAiDmB,IAAA/B,EAAA,QAAA8B,MAAA,SAA9IzB,KAA0NK,GAAA,KAAAF,EAAA,cAA1NH,KAA0NK,GAAA,kDAAuF,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,+CAAAF,EAAA,KAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,sXAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,yCAAAF,EAAA,OAA/DH,KAA+DK,GAAA,OAA/DL,KAA+DK,GAAA,wHAA2rB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2CAAAF,EAAA,KAA/DH,KAA+DK,GAAA,4BAA/DL,KAA+DK,GAAA,QAA0H,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,6PAAAF,EAAA,OAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,KAAAF,EAAA,OAA/DH,KAA+DK,GAAA,YAA/DL,KAA+DK,GAAA,yIAA6e,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,8FAAAF,EAAA,QAA/DH,KAA+DK,GAAA,WAA/DL,KAA+DK,GAAA,gHAAyQ,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,0IAAAF,EAAA,KAAwKI,OAAOsB,KAAA,kDAA9O7B,KAAqSK,GAAA,eAArSL,KAAqSK,GAAA,MAAAF,EAAA,KAA6CI,OAAOsB,KAAA,4DAAzV7B,KAA0ZK,GAAA,uBAA1ZL,KAA0ZK,GAAA,oEAAAF,EAAA,KAAmHI,OAAOsB,KAAA,0BAAphB7B,KAAmjBK,GAAA,gDAA0D,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,kHAAAF,EAAA,KAAgJI,OAAOsB,KAAA,qCAAtN7B,KAAgQK,GAAA,mBAAhQL,KAAgQK,GAAA,+EAAiH,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,yEAAAF,EAAA,KAAuGI,OAAOsB,KAAA,sDAA2D1B,EAAA,QAAxOH,KAAwOK,GAAA,YAAxOL,KAAwOK,GAAA,kBAAAF,EAAA,QAAxOH,KAAwOK,GAAA,SAAxOL,KAAwOK,GAAA,gBAA0G,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,2DAAAF,EAAA,KAAyFI,OAAOsB,KAAA,qDAA0D1B,EAAA,QAAzNH,KAAyNK,GAAA,gBAAzNL,KAAyNK,GAAA,6EAAuH,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,kCAAAF,EAAA,KAAgEI,OAAOsB,KAAA,mEAAtI7B,KAA8MK,GAAA,gBAA9ML,KAA8MK,GAAA,2TAA0V,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,6PAAAF,EAAA,KAA2RI,OAAOsB,KAAA,iDAAjW7B,KAAuZK,GAAA,aAAvZL,KAAuZK,GAAA,eAA2C,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,0BAAAF,EAAA,KAAwDI,OAAOsB,KAAA,yCAA9H7B,KAA4KK,GAAA,cAA5KL,KAA4KK,GAAA,YAAAF,EAAA,KAAkDI,OAAOsB,KAAA,qCAArO7B,KAA+QK,GAAA,mBAA/QL,KAA+QK,GAAA,6CAA+E,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAAAJ,EAAAM,GAAA,kJAAAF,EAAA,KAAgLI,OAAOsB,KAAA,yCAA8C9B,EAAAM,GAAA,sBAAAN,EAAAM,GAAA,4EAAAF,EAAA,MAAAJ,EAAAM,GAAA,cAAAN,EAAAM,GAAA,6BAAAF,EAAA,MAAAJ,EAAAM,GAAA,YAAAN,EAAAM,GAAA,0IAAAF,EAAA,MAAAJ,EAAAM,GAAA,aAAAN,EAAAM,GAAA,8HAAkgB,WAAc,IAAaJ,EAAbD,KAAaE,eAA0BC,EAAvCH,KAAuCI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,KAA/DH,KAA+DK,GAAA,gFAAAF,EAAA,KAA8GI,OAAOsB,KAAA,mEAApL7B,KAA4PK,GAAA,mCAA5PL,KAA4PK,GAAA,eAAiE,WAAc,IAAAN,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,MAAAJ,EAAAM,GAAA,eAAAN,EAAAM,GAAA,KAAAF,EAAA,KAAAJ,EAAAM,GAAA,gEAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAA,EAAA,MAAAJ,EAAAM,GAAA,wHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,qHAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,0DAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,KAAAF,EAAA,MAAAJ,EAAAM,GAAA,mMC1BnpY,IAcAW,EAdArB,EAAA,OAcAsB,CACAsG,EACAgQ,GATA,EAVA,SAAArN,GACAvK,EAAA,SAaA,kBAEA,MAUAuB,EAAA,QAAAF,EAAA,4BC1BAvB,EAAAC,QAAA,q5FCAAD,EAAAC,QAAA,umFCAAD,EAAAC,QAAAC,EAAAC,EAAA","file":"static/js/app.838a787f6d7326513b64.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/img/layout.f006729.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/java/images/layout.png\n// module id = +63h\n// module chunks = 1","module.exports = \"data:image/gif;base64,R0lGODlhVQBTAPcAAAAAAAAAPwAAfwAAwAAA/wAqAAAqPwAqfwAqwAAq/wBVAABVPwBVfwBVwABV/wB/AAB/PwB/fwB/wAB//wCqAACqPwCqfwCqwACq/wDVAADVPwDVfwDVwADV/wD/AAD/PwD/fwD/wAD//yoAACoAPyoAfyoAwCoA/yoqACoqPyoqfyoqwCoq/ypVACpVPypVfypVwCpV/yp/ACp/Pyp/fyp/wCp//yqqACqqPyqqfyqqwCqq/yrVACrVPyrVfyrVwCrV/yr/ACr/Pyr/fyr/wCr//1UAAFUAP1UAf1UAwFUA/1UqAFUqP1Uqf1UqwFUq/1VVAFVVP1VVf1VVwFVV/1V/AFV/P1V/f1V/wFV//1WqAFWqP1Wqf1WqwFWq/1XVAFXVP1XVf1XVwFXV/1X/AFX/P1X/f1X/wFX//38AAH8AP38Af38AwH8A/38qAH8qP38qf38qwH8q/39VAH9VP39Vf39VwH9V/39/AH9/P39/f39/wH9//3+qAH+qP3+qf3+qwH+q/3/VAH/VP3/Vf3/VwH/V/3//AH//P3//f3//wH///6oAAKoAP6oAf6oAwKoA/6oqAKoqP6oqf6oqwKoq/6pVAKpVP6pVf6pVwKpV/6p/AKp/P6p/f6p/wKp//6qqAKqqP6qqf6qqwKqq/6rVAKrVP6rVf6rVwKrV/6r/AKr/P6r/f6r/wKr//9UAANUAP9UAf9UAwNUA/9UqANUqP9Uqf9UqwNUq/9VVANVVP9VVf9VVwNVV/9V/ANV/P9V/f9V/wNV//9WqANWqP9Wqf9WqwNWq/9XVANXVP9XVf9XVwNXV/9X/ANX/P9X/f9X/wNX///8AAP8AP/8Af/8AwP8A//8qAP8qP/8qf/8qwP8q//9VAP9VP/9Vf/9VwP9V//9/AP9/P/9/f/9/wP9///+qAP+qP/+qf/+qwP+q///VAP/VP//Vf//VwP/V////AP//P///f///wP////8AAP8AP/8Af/8AwAAAACoqKlVVVX9/f6qqqtXV1f///yH5BAEAAP8ALAAAAABVAFMAQAj/AP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWK+fz58+cvX799+/z58+cv38WLFwXm89dP3z6A/gQOFJgP4D+BAwkWNHgQYUKFCwXuA5hPoMB9AP8JHEiwoMGDCBMqXLiw3z6GDBkyZMiQocF9APMJHChwXz+A/wQOJFjQ4EGECRUuZNgwYb99+fLp6+fQoUOHDh06HMgvX76C+Rw6dOjQoUOHDh06dOjQoUOHDh06dOgwH0B/AgcSFJgP4D+BAwkWNHgQYUKFCwvm8+fP3z59/vzl8+fPn798DBkyZMgQIT+A+QQOBPhP4ECCBQ0eRJhQ4UKG//L1a9iwYcOGDQXq/xvoj58+ffr0AcwncCDAfwIHEixo8CDChAoXMhzIbyG/fPny8WvYsGHDhg0bKuynL1++ff0aNmzYsGHDhgT35cuXLx8/gP8EDiRY0OBBhAkVLmTY0OFDiBElTqRY0eJFjBk1buTYsWE+gP4EDiQoMB/AfwIHEixo8CDChAoXFsznz58/f/r67dPnz58/f/kYMmTIkOHCfP78+fOnL18+fv78+fOXjyFDhgwZLtyXL18+fwwZMmTIkOFAfgDzCRyYTx/AfwIHEixo8CDChAoXMvzXL9++ffr4NWzYsGHDhPzy5cuXj1/Dhg0bNmw4sB+/hg0bNmzYcOE+gPkEDhwI8P+fwIEECxo8iDChwoUM/+3Lly9fv4H99uXLp69fw4YNGzZsyLCfvnz59vVr2LBhw4YNGfLLly8fv4YNGzZs2JBhv3358unr17Bhw4YNGzbs9y9fw4YNGzZsaDAfwH8CBxIsaPAgwoQKFzJs6PAhxIgSJ1KsaPEixowaN3Ls6PEjyJAiR5IsafIkypQOAeYTOJAgQYD/BA4kWNDgQYQJFS4smA+gP4EDCQrMB/CfwIEECxo8iDChwoUF8/nz588fv3z6APoTKDAfwH8CBxIsaPAgwoQKFxbM58+fP3/5/O3T58+fP3/5GDJkyJDhwnz+/Pnzpy9fvn3+/Pnzl48hQ4b/DBkuzOfPn799+fz1y+fPnz9/+RgyZMiQ4cJ8/vz56wfQn8CBAvMB/CdwIMGCBg8iTKhwYUGA+QQOJEgQ4D+BAwkWNHgQYUKFCwf6A5hPoEB/AP8JHEiwoMGDCBMqXKhQH8B8AgfmA/hP4ECCBQ0eRJhQ4cKF+gDmEzhQH8B/AgcSLGjwIMKEChcy/NcvX758+fg1bNiwYcOG//Lla9iwYcOGDRs2bNiwYcOF+vo1bNiwYcOGBPU1bNiwYcOGBfU1bNiwYcOGBfnxI7gPYD6BAwkC/CdwIMGCBg8iTKhwocJ9APMJHJhPH8B/AgcSLGjwIMKEChcy3Acwn0CB//gNquQH8J/AgQQLGjyIMKHChQn35dt3sJ++fPn29WPIkCFDhgwZ9tuXL5++fgwZMmTIkCHDf/zy5cvHjyFDhgwZMmT4r5++fPn29WPIkCFDhgwZ9tuXL5++fgwZMmTIkCHDf/zy5cvHjyFDhgwZMmT4r5++fPn29SvojyFDhgwZMlzILx9DhgwZMmSY0B+/f/kYMmTIkCFDhvkYMmTIkCFDhgwZMmTIkCFDhAEBADs7\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/marble-6.gif\n// module id = +9xU\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/cat-and-mouse.b2621d5.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/java/images/cat-and-mouse.png\n// module id = +VhW\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 1: Fundamentals\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Head First Java (2nd Edition) Chapter 1',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/1dot-dive-in-a-quick-dip-breaking-the-surface/dive_in_a_quick_dip_colon_breaking_the_s'\n },\n {\n title: 'Head First Java (2nd Edition) Chapter 2',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/2dot-classes-and-objects-a-trip-to-objectville/classes_and_objects_colon_a_trip_to_obje'\n },\n {\n title: 'Head First Java (2nd Edition) Chapter 3',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/3dot-primitives-and-references-know-your-variables/primitives_and_references_colon_know_you'\n },\n {\n title: 'Head First Java (2nd Edition) Chapter 4',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/4dot-methods-use-instance-variables-how-objects-behave/methods_use_instance_variables_colon_how'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public class Time {\\n private int myHours;\\n private int myMinutes;\\n\\n public Time(int hours, int minutes) {\\n myHours = hours;\\n myMinutes = minutes;\\n }\\n\\n public int getHours() {\\n return myHours;\\n }\\n\\n public int getMinutes() {\\n return myMinutes;\\n }\\n\\n public void setHours(int hours) {\\n myHours = hours;\\n }\\n\\n public void setMinutes(int minutes) {\\n myMinutes = minutes;\\n }\\n\\n ...\\n}\")])]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Identify the effect of the following program segments,\\n all to be included within the \"),_c('code',[_vm._v(\"main()\")]),_vm._v(\" method.\\n If an error occurs during execution of the program segment,\\n identify the statement that causes the error along with what's wrong.\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t;\\nt.setHours(3);\\nSystem.out.println(t.getHours() + \\\":\\\" + t.getMinutes());\")])])]),_vm._v(\" \"),_c('li',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t = null;\\nt.setHours(3);\\nt.setMinutes(25);\\nSystem.out.println(t.getHours() + \\\":\\\" + t.getMinutes());\")])])]),_vm._v(\" \"),_c('li',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t = new Time(12, 30);\\nmyHours = 3;\\nSystem.out.println(t.getHours() + \\\":\\\" + t.getMinutes());\")])])]),_vm._v(\" \"),_c('li',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t;\\nt = new Time (3);\\nSystem.out.println(t.getHours() + \\\":\\\" + t.getMinutes());\")])])]),_vm._v(\" \"),_c('li',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t = new Time(\\\"12\\\", \\\"30\\\");\\nSystem.out.println(t.getHours() + \\\":\\\" + t.getMinutes());\")])])]),_vm._v(\" \"),_c('li',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t = null;\\nt = new Time(3, 25);\\nSystem.out.println(t.getHours() + \\\":\\\" + t.getMinutes());\")])])]),_vm._v(\" \"),_c('li',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t1 = new Time(3, 30);\\nTime t2 = new Time(4, 00);\\nTime t3 = t1;\\nt1.setMinutes(13);\\nt2.setHours(t3.getHours());\\nSystem.out.println(t1.getHours() + \\\":\\\" + t1.getMinutes());\\nSystem.out.println(t2.getHours() + \\\":\\\" + t2.getMinutes());\\nSystem.out.println(t3.getHours() + \\\":\\\" + t3.getMinutes());\")])])])])]),_vm._v(\" \"),_c('QuizSolution',[_c('table',{staticClass:\"table table-bordered\"},[_c('tr',[_c('th',[_vm._v(\"Program Segment\")]),_vm._v(\" \"),_c('th',[_vm._v(\"Effect\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t;\\nt.setHours(3);\\nSystem.out.println(t.getHours() + \\\":\\\" + t.getMinutes());\")])])]),_vm._v(\" \"),_c('td',[_vm._v(\"Compile-time error: variable \"),_c('code',[_vm._v(\"t\")]),_vm._v(\" might not have been initialized.\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t = null;\\nt.setHours(3);\\nt.setMinutes(25);\\nSystem.out.println(t.getHours() + \\\":\\\" + t.getMinutes());\\n\")])])]),_vm._v(\" \"),_c('td',[_vm._v(\"Crash trying to use \"),_c('code',[_vm._v(\"setHours\")]),_vm._v(\" using a null reference variable \"),_c('code',[_vm._v(\"t\")]),_vm._v(\".\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t = new Time(12, 30);\\nmyHours = 3;\\nSystem.out.println(t.getHours() + \\\":\\\" + t.getMinutes());\\n\")])])]),_vm._v(\" \"),_c('td',[_vm._v(\"Compile-time error: \"),_c('code',[_vm._v(\"myHours\")]),_vm._v(\" is undeclared.\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t;\\nt = new Time (3);\\nSystem.out.println(t.getHours() + \\\":\\\" + t.getMinutes());\\n\")])])]),_vm._v(\" \"),_c('td',[_vm._v(\"Compile-time error: wrong number of arguments supplied to constructor.\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t = new Time(\\\"12\\\", \\\"30\\\");\\nSystem.out.println(t.getHours() + \\\":\\\" + t.getMinutes());\")])])]),_vm._v(\" \"),_c('td',[_vm._v(\"Compile-time error: wrong type arguments supplied to constructor.\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t = null;\\nt = new Time(3, 25);\\nSystem.out.println(t.getHours() + \\\":\\\" + t.getMinutes());\")])])]),_vm._v(\" \"),_c('td',[_vm._v(\"Prints \\\"3:25\\\".\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t1 = new Time(3, 30);\\nTime t2 = new Time(4, 00);\\nTime t3 = t1;\\nt1.setMinutes(13);\\nt2.setHours(t3.getHours());\\nSystem.out.println(t1.getHours() + \\\":\\\" + t1.getMinutes());\\nSystem.out.println(t2.getHours() + \\\":\\\" + t2.getMinutes());\\nSystem.out.println(t3.getHours() + \\\":\\\" + t3.getMinutes());\")])])]),_vm._v(\" \"),_c('td',[_c('p',[_c('code',[_vm._v(\"t1\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"t3\")]),_vm._v(\" refer to the same object;\\n thus when \"),_c('code',[_vm._v(\"t1.myMinutes\")]),_vm._v(\" is set to 13, so is\\n \"),_c('code',[_vm._v(\"t3.myMinutes\")]),_vm._v(\". \"),_c('code',[_vm._v(\"t1\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"t3\")]),_vm._v(\"\\n thus both refer to an object with \"),_c('code',[_vm._v(\"myHours = 3\")]),_vm._v(\" and\\n \"),_c('code',[_vm._v(\"myMinutes = 13\")]),_vm._v(\". Then we set \"),_c('code',[_vm._v(\"t2.myHours\")]),_vm._v(\"\\n to 3, resulting in an object with \"),_c('code',[_vm._v(\"myHours = 3\")]),_vm._v(\" and\\n \"),_c('code',[_vm._v(\"myMinutes = 0\")]),_vm._v(\". Output is\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"3:13\\n3:0\\n3:13\")])])])])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Write a public method named \"),_c('code',[_vm._v(\"extend\")]),_vm._v(\" that, given a \"),_c('code',[_vm._v(\"Time\")]),_vm._v(\"\\n as argument, extends this \"),_c('code',[_vm._v(\"Time\")]),_vm._v(\" by the amount of the argument.\\n The \"),_c('code',[_vm._v(\"extend\")]),_vm._v(\" method should not change the argument time. For example,\\n the program segment below should result in \"),_c('code',[_vm._v(\"t1\")]),_vm._v(\" representing the time\\n 3:45.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t1 = new Time(1, 25);\\nTime t2 = new Time(2, 20);\\nt1.extend(t2);\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"Here's an implementation:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public void extend(Time t) {\\n myHours = myHours + t.getHours() + (myMinutes + t.getMinutes()) / 60;\\n myMinutes = (myMinutes + t.getMinutes()) % 60;\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Can \"),_c('code',[_vm._v(\"extend\")]),_vm._v(\" be written without using \"),_c('code',[_vm._v(\"getHours\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"getMinutes\")]),_vm._v(\"?\\n Explain why or why not.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n Any method in a class has access to private instance variables in that class.\\n Thus one \"),_c('code',[_vm._v(\"Time\")]),_vm._v(\" can access another \"),_c('code',[_vm._v(\"Time\")]),_vm._v(\"'s private variables and methods.\\n \")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Write a public method named \"),_c('code',[_vm._v(\"sum\")]),_vm._v(\" that, given a \"),_c('code',[_vm._v(\"Time\")]),_vm._v(\"\\n as argument, returns a \"),_c('code',[_vm._v(\"Time\")]),_vm._v(\" object that represents the sum\\n of this \"),_c('code',[_vm._v(\"Time\")]),_vm._v(\" and the argument.\\n Requirements:\\n \"),_c('code',[_vm._v(\"sum\")]),_vm._v(\" should not change either this \"),_c('code',[_vm._v(\"Time\")]),_vm._v(\" or the argument;\\n \"),_c('code',[_vm._v(\"sum\")]),_vm._v(\" should call \"),_c('code',[_vm._v(\"extend\")]),_vm._v(\".\\n For example, the program segment below should result in\\n \"),_c('code',[_vm._v(\"t1\")]),_vm._v(\" representing the time 1:25,\\n \"),_c('code',[_vm._v(\"t2\")]),_vm._v(\" representing the time 2:20, and\\n \"),_c('code',[_vm._v(\"t3\")]),_vm._v(\" representing the time 3:45.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Time t1 = new Time(1, 25);\\nTime t2 = new Time(2, 20);\\nTime t3 = t1.sum(t2);\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n Here's an implementation:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public Time sum(Time t) {\\n Time rtn = new Time(myHours, myMinutes);\\n rtn.extend(t);\\n return rtn;\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Write a public method named \"),_c('code',[_vm._v(\"checkpoints\")]),_vm._v(\" that\\n returns a six-element array of \"),_c('code',[_vm._v(\"Time\")]),_vm._v(\" objects.\\n The first array element should be a copy of this \"),_c('code',[_vm._v(\"Time\")]),_vm._v(\";\\n the \"),_c('code',[_vm._v(\"k\")]),_vm._v(\"th element, for \"),_c('code',[_vm._v(\"k = 1, ..., 5\")]),_vm._v(\",\\n should be the result of adding 20 minutes to the \"),_c('code',[_vm._v(\"k-1\")]),_vm._v(\"st element.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n Here's an implementation:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public Time[] checkpoints() {\\n Time[] rtn = new Time[6];\\n rtn[0] = new Time(myHours, myMinutes);\\n\\n for (int k = 1; k < 6; k++) {\\n int h = rtn[k-1].getHours();\\n int m = rtn[k-1].getMinutes();\\n rtn[k] = new Time(h + (m + 20) / 60, (m + 20) % 60);\\n }\\n\\n return rtn;\\n}\")])])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"You learn the \\\"art\\\" of using Java not only by writing programs of your\\n own, but also by reading those of others. Quiz questions ask you to generate\\n code as well as understand, debug, and criticize already-written code.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"These questions are based on the \"),_c('code',[_vm._v(\"Time\")]),_vm._v(\" class, part of which appears below.\")])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1223d518\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/java/Fundamentals.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1223d518\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Fundamentals.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/java/Fundamentals.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 3b: Cell Arrays and Structures\")]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Goals\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This quiz tests you on procedures for creating and accessing cell\\n arrays, structures, structure arrays, and character strings. The conversion\\n functions \"),_c('code',[_vm._v(\"cell2struct\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"struct2cell\")]),_vm._v(\" will also\\n be tested.\")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Reading\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Chapter 8\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Chapter 9\")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('p',[_vm._v(\"Create a structure named \"),_c('code',[_vm._v(\"s\")]),_vm._v(\" with three fields: a\\n character string named \"),_c('code',[_vm._v(\"courseName\")]),_vm._v(\" with value \\\"cs9a\\\", an\\n integer named \"),_c('code',[_vm._v(\"unitCount\")]),_vm._v(\" with value 1, and a 1-row matrix\\n named \"),_c('code',[_vm._v(\"scores\")]),_vm._v(\" whose elements are 33, 35, and 77.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Create a structure array named \"),_c('code',[_vm._v(\"courses\")]),_vm._v(\" whose first\\n element is \"),_c('code',[_vm._v(\"s\")]),_vm._v(\" and whose second element has\\n \"),_c('code',[_vm._v(\"courseName\")]),_vm._v(\" = \\\"cs9b\\\", \"),_c('code',[_vm._v(\"unitCount\")]),_vm._v(\" = 1, and\\n \"),_c('code',[_vm._v(\"scores\")]),_vm._v(\" a matrix with the four elements 30, 40, 23, and\\n 35.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Suppose the \"),_c('code',[_vm._v(\"courses\")]),_vm._v(\" array has been correctly\\n constructed. What's the result of typing each of the following to the\\n MATLAB interpreter?\")]),_vm._v(\" \"),_c('pre',[_c('code',[_vm._v(\"courses{1} % using braces\\ncourses(1) % using parentheses\\ncourses[1] % using brackets\")])])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"In one expression, construct a 2×3 cell array named\\n \"),_c('code',[_vm._v(\"A\")]),_vm._v(\" whose first row contains the character string \\\"abc\\\", a\\n 2×2 matrix of all 1s, and a 1×3 matrix containing 5, 3, and\\n 1, and whose second row contains a 7, the character string \\\"hello\\n there\\\", and the structure array \"),_c('code',[_vm._v(\"s\")]),_vm._v(\".\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"In one expression (using the \"),_c('code',[_vm._v(\"max\")]),_vm._v(\" function), find the\\n largest element of the matrix in the last element of the first row of\\n \"),_c('code',[_vm._v(\"A\")]),_vm._v(\".\")])])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Solutions to Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('p',[_vm._v(\"Either\")]),_vm._v(\" \"),_c('pre',[_c('code',[_vm._v(\"s.courseName = 'cs9a'\\ns.unitCount = 1\\ns.scores = [33 35 37]\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"or\")]),_vm._v(\" \"),_c('pre',[_c('code',[_vm._v(\"s = cell2struct({'cs9a' 1 [33 35 37]}, {'courseName' 'unitCount' 'scores'}, 2)\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"The 2 is necessary to specify that each column of the cell array is\\n to be converted to a structure field.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Either\")]),_vm._v(\" \"),_c('pre',[_c('code',[_vm._v(\"s2.courseName = 'cs9b'\\ns2.unitCount = 1\\ns2.scores = [30 40 23 35]\\ncourses = [s s2]\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"or\")]),_vm._v(\" \"),_c('pre',[_c('code',[_vm._v(\"courses(1) = s\\ncourses(2).courseName = 'cs9b'\\ncourses(2).unitCount = 1\\ncourses(2).scores = [30 40 23 35]\")])])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Braces are used with cell arrays; \"),_c('code',[_vm._v(\"courses\")]),_vm._v(\" is a\\n structure array. Thus an error message results: \\\"Cell contents\\n reference from a non-cell array object.\\\"\")]),_vm._v(\" \"),_c('p',[_c('code',[_vm._v(\"courses(1)\")]),_vm._v(\" accesses the first structure in the\\n array.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Brackets are used to construct matrices. Thus an error message\\n results: \\\"Unbalanced or misused parentheses or brackets.\\\"\")])]),_vm._v(\" \"),_c('li',[_c('p',[_c('code',[_vm._v(\"A={'abc' [1 1; 1 1] [5 3 1]; 7 'hello there' courses}\")])])]),_vm._v(\" \"),_c('li',[_c('p',[_c('code',[_vm._v(\"max(a{1,3})\")])])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-72ca5b38\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/matlab/CellArraysAndStructures.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-72ca5b38\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CellArraysAndStructures.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/matlab/CellArraysAndStructures.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/setup_git_bash_options.996da61.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/python/images/setup_git_bash_options.png\n// module id = /4PE\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 3b: General Use of Pointers\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Practical C Programming (3rd Edition) Sections 13.0 - 13.6',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-13'\n },\n {\n title: 'Practical C Programming (3rd Edition) Sections 17.1 - 17.2',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/17dot-advanced-pointers/id472476'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Rewrite the \"),_c('code',[_vm._v(\"strcat\")]),_vm._v(\" function given below, which uses\\n array indexing, to use pointers instead.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"void strcat (char s[], char t[])\\n{\\n int i, j;\\n i = j = 0;\\n while (s[i] != '\\\\0')\\n {\\n i++;\\n }\\n while ((s[i++] = t[j++]) != '\\\\0');\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Consider the following function, intended to return a string typed\\n by the user to the caller.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"char* WordInput()\\n{\\n char word[20];\\n printf(\\\"Type a word: \\\");\\n scanf(\\\"%19s\\\", word);\\n return word;\\n}\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"What's wrong with the function? Does replacing its second line by\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"char* word;\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"fix the problem?\")])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"What is the meaning of the following declaration?\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"char* a, b;\")])])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Which of the following would cause compile-time or run-time\\n problems? Please explain. Also give the type of the right-hand side of\\n each assignment statement, and draw a diagram for each legal assignment\\n to the pointer variable \"),_c('code',[_vm._v(\"px\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"float x, *px, a[5];\\nx = *px; // 1\\n*px = x; // 2\\npx = &x; // 3\\n&x = px; // 4\\n&(x+1) = x; // 5\\n&(x)+1 = x; // 6\\n*(&(x+1)) = x; // 7\\n*(&(x)+1) = x; // 8\\nx = a; // 9\\nx = a[0]; // 10\\nx = *(a[1]); // 11\\nx = (*a)[2]; // 12\\nx = a[3+1]; // 13\\nx = a[3]+1; // 14\\nx = &((a[3])+1); // 15\\nx = &(a[3])+1; // 16\\nx = *(&(a[3])+1); // 17\\npx = a; // 18\\npx = a[0]; // 19\\npx = &(a[4]); // 20\")])])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"This quiz tests your understanding of the definition and use of C\\n pointers. Questions for this quiz ask about the meaning of the *, &, and\\n ** prefix operators; about the relation between pointer and array use; about\\n the distinction between pointer and thing-pointed-to; and about the\\n declaration of pointer arrays. You will also be expected to be able to draw a\\n diagram of a \"),_c('code',[_vm._v(\"C\")]),_vm._v(\" pointer object, and to determine the proper\\n declaration for an object shown in a diagram. You should be able to detect\\n type clashes that would probably lead to obscure bugs at run time. Finally,\\n you should be aware of how to use the \"),_c('code',[_vm._v(\"malloc\")]),_vm._v(\" and\\n \"),_c('code',[_vm._v(\"calloc\")]),_vm._v(\" functions and of when they're necessary.\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7230d799\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/c/GeneralUseOfPointers.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7230d799\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./GeneralUseOfPointers.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/c/GeneralUseOfPointers.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/gif;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/marble-2.gif\n// module id = 23Gv\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 5: GUI Fundamentals\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Head First Java (2nd Edition)',\n link: 'http://proquest.safaribooksonline.com/0596009208?tocview=true',\n extra: 'Chapters 12-13'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_c('b',[_vm._v(\"You be the layout manager.\")]),_vm._v(\" Sketch what the GUI will look like if we run\\n the following snippet of code (assume we've set up the headers correctly and added\\n the appropriate methods to the frame to tell it the size, visible flag and\\n DefaultCloseOperation) and then resize the window to be bigger (in both horizontal\\n and vertical directions):\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"JFrame frame = new JFrame();\\n\\nJPanel panelWest = new JPanel();\\nJPanel panelEast = new JPanel();\\nJPanel panelSouth = new JPanel();\\n\\nJButton b1 = new JButton(\\\"1\\\");\\nJButton b2 = new JButton(\\\"2\\\");\\nJButton b3 = new JButton(\\\"3\\\");\\nJButton b4 = new JButton(\\\"4\\\");\\n\\nJButton b5 = new JButton(\\\"5\\\");\\nJButton b6 = new JButton(\\\"6\\\");\\nJButton b7 = new JButton(\\\"7\\\");\\nJButton b8 = new JButton(\\\"8\\\");\\nJButton b9 = new JButton(\\\"9\\\");\\n\\nJButton ba = new JButton(\\\"a\\\");\\nJButton bb = new JButton(\\\"b\\\");\\nJButton bc = new JButton(\\\"c\\\");\\n\\nframe.getContentPane().add(BorderLayout.CENTER, b1);\\nframe.getContentPane().add(BorderLayout.NORTH, b2);\\nframe.getContentPane().add(BorderLayout.EAST, b3);\\nframe.getContentPane().add(BorderLayout.SOUTH, b4);\\nframe.getContentPane().add(BorderLayout.WEST, panelWest);\\n\\npanelWest.setLayout(new BorderLayout());\\npanelWest.add(BorderLayout.CENTER, b5);\\npanelWest.add(BorderLayout.NORTH, b6);\\npanelWest.add(BorderLayout.EAST, panelEast);\\npanelWest.add(BorderLayout.SOUTH, panelSouth);\\npanelWest.add(BorderLayout.WEST, b7);\\n\\npanelEast.setLayout(new BoxLayout(panelEast, BoxLayout.Y_AXIS));\\npanelEast.add(b8);\\npanelEast.add(b9);\\n\\npanelSouth.add(ba);\\npanelSouth.add(bb);\\npanelSouth.add(bc);\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n These questions are actually pretty easy. We see the top-level Frame is a\\n \"),_c('dfn',[_vm._v(\"BorderLayout\")]),_vm._v(\" with 1,2,3 and 4 placed in the CENTER, N, E and S\\n spots respectively. The W spot is a panel which is also a BorderLayout\\n (recall the default layout for a Panel is \"),_c('dfn',[_vm._v(\"FlowLayout\")]),_vm._v(\"). It has\\n buttons 5,6 and 7 placed in its CENTER, N and W slots. Its E slot is yet\\n another Panel, but this time it's \"),_c('dfn',[_vm._v(\"BoxLayout\")]),_vm._v(\" with a vertical\\n stack. So that covers 8 and 9. The S panel has default placement\\n (FlowLayout, which means L to R and wrap when needed), so we place a, b\\n and c on the bottom of the inner Border's south slot (same width as the\\n 6 in the north slot) , L to R.\\n \")]),_vm._v(\" \"),_c('p',{staticStyle:{\"text-align\":\"center\"}},[_c('img',{staticStyle:{\"width\":\"400px\"},attrs:{\"src\":require(\"./images/layout.png\")}})])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Complete the following code to author a simple GUI that counts how many\\n times a button (labeled \\\"Click me\\\") has been clicked and displays that\\n number below the button saying: \\\"\"),_c('em',[_vm._v(\"i\")]),_vm._v(\" clicks\\\", where \"),_c('em',[_vm._v(\"i\")]),_vm._v(\"\\n should be a number from 0 (at startup) to the number of clicks. Try to\\n write it in the fewest number of lines.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"Here's a screenshot of what it should look like at startup:\")]),_vm._v(\" \"),_c('p',{staticStyle:{\"text-align\":\"center\"}},[_c('img',{staticStyle:{\"width\":\"150px\"},attrs:{\"src\":require(\"./images/clicker.png\")}})]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"import javax.swing.*;\\nimport java.awt.*;\\nimport java.awt.event.*;\\n\\npublic class Clicker ___________________________________ {\\n // Fill in\\n\\n public static void main (String [] args) {\\n Clicker gui = new Clicker();\\n gui.go();\\n }\\n\\n public void go() {\\n // Fill in\\n\\n frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\\n frame.setSize(100,100);\\n frame.setVisible(true);\\n }\\n\\n // Fill in\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"import javax.swing.*;\\nimport java.awt.*;\\nimport java.awt.event.*;\\n\\npublic class Clicker \"),_c('strong',[_vm._v(\"implements ActionListener\")]),_vm._v(\" {\\n\\n \"),_c('strong',[_vm._v(\"JLabel iLabel;\\n int i = 0;\")]),_vm._v(\"\\n\\n public static void main (String [] args) {\\n Clicker gui = new Clicker();\\n gui.go();\\n }\\n\\n public void go() {\\n\\n \"),_c('strong',[_vm._v(\"JFrame frame = new JFrame();\\n JButton button = new JButton(\\\"Click me\\\");\\n iLabel = new JLabel(\\\"\\\" + i);\\n JLabel clicksLabel = new JLabel(\\\"clicks\\\");\\n button.addActionListener(this);\\n\\n frame.getContentPane().add(BorderLayout.NORTH, button);\\n frame.getContentPane().add(BorderLayout.CENTER, iLabel); \")]),_c('em',[_vm._v(\"// or WEST...\")]),_c('strong',[_vm._v(\"\\n frame.getContentPane().add(BorderLayout.EAST, clicksLabel); \")]),_c('em',[_vm._v(\"// and CENTER\")]),_vm._v(\"\\n\\n frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\\n frame.setSize(100,100);\\n frame.setVisible(true);\\n }\\n\\n \"),_c('strong',[_vm._v(\"public void actionPerformed(ActionEvent event) {\\n iLabel.setText(\\\"\\\" + ++i);\\n }\")]),_vm._v(\"\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"What is the reason we often use inner classes with GUIs?\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n Well, since we can't implement a method with the same signature more than once\\n in a class (how would the system know which one to invoke?), we often get stuck\\n because the \"),_c('dfn',[_vm._v(\"ActionListener\")]),_vm._v(\" interface can ony be implemented once.\\n However, we will probably need to get action events for more than one GUI element\\n (say, two buttons). We have no way (except \"),_c('em',[_vm._v(\"option two\")]),_vm._v(\" on page 373 which\\n breaks the beautiful OO paradigm) to have two different listeners that have access\\n to our internal state. Inner classes are the beautiful solution, in that they allow\\n us to have multiple listener classes which all implement the ActionListener interface,\\n and all have access to our GUI's instance variables.\\n \")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Now, we'd like to build a GUI that animates a ball (with diameter of \"),_c('code',[_vm._v(\"DIAMETER\")]),_vm._v(\")\\n bouncing left and right in a box (outer length \"),_c('code',[_vm._v(\"OUTER\")]),_vm._v(\", overall distance traveled\\n each bounce \"),_c('code',[_vm._v(\"INNER\")]),_vm._v(\"), faster and faster, doubling in speed with every bounce\\n until it jumps off the screen. Note, we wrote this code in a rush, there may be bugs in it!\\n Your job is to find them and identify whether they are \"),_c('em',[_vm._v(\"syntax\")]),_vm._v(\", \"),_c('em',[_vm._v(\"logical\")]),_vm._v(\", or\\n \"),_c('em',[_vm._v(\"style\")]),_vm._v(\" bugs, then correct all the bugs...\\n \")]),_vm._v(\" \"),_c('p',{staticStyle:{\"text-align\":\"center\"}},[_c('img',{staticStyle:{\"width\":\"400px\"},attrs:{\"src\":require(\"./images/Buggy.png\")}})]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"import java.awt.*;\\n\\npublic class Bounce {\\n\\n int x = 0;\\n public static final int DIAMETER = 100;\\n public static final int OUTER = 356; \"),_c('em',[_vm._v(\"// some power of 2 + DIAMETER\")]),_vm._v(\"\\n public static final int INNER = OUTER - DIAMETER;\\n\\n public static void main (String [] args) {\\n JFrame frame = new JFrame();\\n MyDrawPanel drawPanel = new MyDrawPanel();\\n\\n frame.add(BorderLayout.CENTER, drawPanel);\\n\\n frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\\n frame.setSize(OUTER, DIAMETER);\\n frame.setVisible(true);\\n\\n int speed = 0;\\n while(Math.abs(speed) <= INNER) { \"),_c('em',[_vm._v(\"// can't jump out in 1 step\")]),_vm._v(\"\\n while(0 <= x && x <= INNER) { \"),_c('em',[_vm._v(\"// x is still inside box\")]),_vm._v(\"\\n paintComponent(g);\\n Thread.sleep(5);\\n x += speed;\\n }\\n x -= speed; \"),_c('em',[_vm._v(\"// Step back (the last while stepped out)\")]),_vm._v(\"\\n speed *= -2; \"),_c('em',[_vm._v(\"// Double speed but reverse direction\")]),_vm._v(\"\\n }\\n }\\n\\n class MyDrawPanel extends JPanel {\\n public void paintComponent(Graphics g) {\\n g.setColor(blue);\\n g.fillOval(x, 0, DIAMETER, DIAMETER);\\n }\\n }\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"Here are the problems we found (the corrected solution is below)\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": We forgot to include \\\"\"),_c('code',[_vm._v(\"import javax.swing.*\")]),_vm._v(\"\\\" \")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": This one is subtle -- you might remember from the days when you learned about \"),_c('em',[_vm._v(\"static\")]),_vm._v(\" and \"),_c('em',[_vm._v(\"non-static\")]),_vm._v(\" methods that non-static instance variables (here, \"),_c('em',[_vm._v(\"x\")]),_vm._v(\") can't be referenced from a static method. Well, we're doing that here. We've got to wrap all of our GUI code (that uses \"),_c('em',[_vm._v(\"x\")]),_vm._v(\") in a non-static method, say, \"),_c('code',[_vm._v(\"go\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Style\")]),_vm._v(\": It's more appropriate to add the panel to the \"),_c('em',[_vm._v(\"pane\")]),_vm._v(\" than the \"),_c('em',[_vm._v(\"frame\")]),_vm._v(\" directly. See HFJ 2/e p.354.\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Logical\")]),_vm._v(\": We have to initialize \"),_c('code',[_vm._v(\"speed\")]),_vm._v(\" with 1 (or a non-zero number) if we're going to increase it with multiplication\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": \"),_c('code',[_vm._v(\"paintComponent()\")]),_vm._v(\" is NEVER called explicitly by the user (see HFJ 2/e p. 364). We call the drawing panel's \"),_c('code',[_vm._v(\"repaint\")]),_vm._v(\" and it takes care of calling \"),_c('code',[_vm._v(\"paintComponent\")]),_vm._v(\" for us.\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": We have to wrap the \"),_c('code',[_vm._v(\"Thread.sleep()\")]),_vm._v(\" call around a \"),_c('code',[_vm._v(\"try\")]),_vm._v(\"/\"),_c('code',[_vm._v(\"catch\")]),_vm._v(\" block because it'll throw a \"),_c('code',[_vm._v(\"java.lang.InterruptedException\")]),_vm._v(\" which must be caught or thrown.\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Logical\")]),_vm._v(\": We need to erase what was already there, otherwise we'll get smeared results.\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": \"),_c('code',[_vm._v(\"blue\")]),_vm._v(\" is an unbound variable; we have to use \"),_c('code',[_vm._v(\"Color.blue\")]),_vm._v(\" here.\")])]),_vm._v(\" \"),_c('p'),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_c('span',{staticClass:\"blue\"},[_vm._v(\"import javax.swing.*;\")]),_vm._v(\" \"),_c('strong',[_vm._v(\"### bug 1\")]),_vm._v(\"\\nimport java.awt.*;\\n\\npublic class Bounce {\\n\\n int x = 0;\\n public static final int DIAMETER = 100;\\n public static final int OUTER = 356; \"),_c('em',[_vm._v(\"// some power of 2 + DIAMETER\")]),_vm._v(\"\\n public static final int INNER = OUTER - DIAMETER;\\n\\n public static void main (String [] args) {\\n\"),_c('span',{staticClass:\"blue\"},[_vm._v(\" Bounce gui = new Bounce(); \")]),_c('strong',[_vm._v(\"### bug 2\")]),_c('span',{staticClass:\"blue\"},[_vm._v(\"\\n gui.go(); \")]),_c('strong',[_vm._v(\"### bug 2\")]),_c('span',{staticClass:\"blue\"},[_vm._v(\"\\n } \")]),_c('strong',[_vm._v(\"### bug 2\")]),_c('span',{staticClass:\"blue\"},[_vm._v(\"\\n\\n public void go() {\")]),_vm._v(\" \"),_c('strong',[_vm._v(\"### bug 2\")]),_vm._v(\"\\n JFrame frame = new JFrame();\\n MyDrawPanel drawPanel = new MyDrawPanel();\\n\\n frame.\"),_c('span',{staticClass:\"blue\"},[_vm._v(\"getContentPane().\")]),_vm._v(\"add(BorderLayout.CENTER, drawPanel); \"),_c('strong',[_vm._v(\"### bug 3\")]),_vm._v(\"\\n\\n frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\\n frame.setSize(OUTER, DIAMETER);\\n frame.setVisible(true);\\n\\n int speed = \"),_c('span',{staticClass:\"blue\"},[_vm._v(\"1\")]),_vm._v(\"; \"),_c('strong',[_vm._v(\"### bug 4\")]),_vm._v(\"\\n while(Math.abs(speed) <= INNER) { \"),_c('em',[_vm._v(\"// can't jump out in 1 step\")]),_vm._v(\"\\n while(0 <= x && x <= INNER) { \"),_c('em',[_vm._v(\"// x is still inside box\")]),_vm._v(\"\\n \"),_c('span',{staticClass:\"blue\"},[_vm._v(\"drawPanel.repaint();\")]),_vm._v(\" \"),_c('strong',[_vm._v(\"### bug 5\")]),_vm._v(\"\\n \"),_c('span',{staticClass:\"blue\"},[_vm._v(\"try {\")]),_vm._v(\" \"),_c('strong',[_vm._v(\"### bug 6\")]),_vm._v(\"\\n Thread.sleep(5);\\n \"),_c('span',{staticClass:\"blue\"},[_vm._v(\"} catch(Exception ex) { }\")]),_vm._v(\"\\n x += speed;\\n }\\n x -= speed; \"),_c('em',[_vm._v(\"// Step back (the last while stepped out)\")]),_vm._v(\"\\n speed *= -2; \"),_c('em',[_vm._v(\"// Double speed but reverse direction\")]),_vm._v(\"\\n }\\n }\\n\\n class MyDrawPanel extends JPanel {\\n public void paintComponent(Graphics g) {\\n \"),_c('span',{staticClass:\"blue\"},[_vm._v(\"g.setColor(Color.white);\")]),_vm._v(\" \"),_c('strong',[_vm._v(\"### bug 7\")]),_vm._v(\"\\n \"),_c('span',{staticClass:\"blue\"},[_vm._v(\"g.fillRect(0, 0, this.getWidth(), this.getHeight());\")]),_vm._v(\" \"),_c('strong',[_vm._v(\"### bug 7\")]),_vm._v(\"\\n g.setColor(Color.blue); \"),_c('strong',[_vm._v(\"### bug 8\")]),_vm._v(\"\\n g.fillOval(x, 0, DIAMETER, DIAMETER);\\n }\\n }\\n}\")])])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"For this quiz, you will learn about GUI programming in Java:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Event handling\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Inner Classes\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Defining and working with Listeners\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Panels, Frames, & Components\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Swing and Layout managers\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4a18a2da\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/java/GuiFundamentals.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4a18a2da\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./GuiFundamentals.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/java/GuiFundamentals.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 2: SSH\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Sections 11.1 - 11.9'\n },\n {\n title: 'Review Subversion from your previous assignment'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"List the series of commands you would take to transfer the directory\\n 'data' and all of its contents to your account 'myacct' on machine\\n 'vincent' using sftp.\")])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Give the command you would use to transfer all jpeg images (ending in\\n '.jpg') in the 'data' directory on the remote machine 'nanake' to your\\n current directory on the local machine.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n What command would you uses to view the contents of /etc/motd on the\\n remote system 'tifa'?\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Overview\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This practice quiz is designed to prepare you for your second quiz. The\\n length and difficulty should match the real quiz, while the exact material\\n covered may be different. On the real quiz, you may see any material\\n covered in the section's readings.\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3402ca4f\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/unix/Ssh.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3402ca4f\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Ssh.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/unix/Ssh.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/c/TheAnimalGame.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('p',[_vm._v(\"For this assignment, you gain experience with using strings and pointers\\n in C.\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(3)]),_vm._v(\" \"),_c('p',[_vm._v(\"If the program's guess is correct, it will print a suitably celebratory\\n message:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(4)]),_vm._v(\" \"),_c('p',[_vm._v(\"If it guessed wrong, it asks for a question that will differentiate\\n between its guess and the correct answer:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(5)]),_vm._v(\" \"),_c('p',[_vm._v(\"The program then updates its list of questions and answers\\n appropriately.\")]),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_vm._m(7)]),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_vm._m(11)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Readings\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/9dot-variable-scope-and-functions/pcp3-chp-9-sect-5\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Section 9.5\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-23-sect-5\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Chapter 10\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-12\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Chapter 12\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/13dot-simple-pointers/pcp3-chp-17-sect-1\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Section 13.6\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/17dot-advanced-pointers/id472476\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Sections 17.1 - 17.2\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains a single file\\n called \"),_c('code',[_vm._v(\"animal.c\")]),_vm._v(\".\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"Animal\")]),_vm._v(\" is a computer game in which the program tries to\\n guess what animal the player is thinking of. A dialog might proceed as\\n follows:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"Think of an animal. I will try to guess what it is.\\nPlease answer my questions with yes or no.\\nIs it furry?\\n\"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"no\")]),_vm._v(\"\\nDoes it have tusks?\\n\"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"yes\")]),_vm._v(\"\\nDoes it have big ears?\\n\"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"no\")]),_vm._v(\"\\nIs it a rhinoceros?\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"yes\")]),_vm._v(\"\\nI got it right!\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"no\")]),_vm._v(\"\\nI give up. What is it? \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"a wild boar\")]),_vm._v(\"\\nProvide a question whose answer is yes\\nfor a rhinoceros and no for a wild boar.\\n\"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"Does it have bad breath?\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('code',[_vm._v(\"animal\")]),_vm._v(\" program internally maintains a \"),_c('dfn',[_vm._v(\"tree\")]),_vm._v(\"\\n of questions and answers. A sample tree, from which the above dialog would\\n be produced, is the following.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/animal-sample-tree.gif\"),\"width\":\"600\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1. Animal Sample Tree\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Problem\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A program framework for playing \"),_c('code',[_vm._v(\"animal\")]),_vm._v(\" is given in \"),_c('code',[_vm._v(\"animal.c\")]),_vm._v(\". Complete the\\n framework. You may write extra functions beyond those suggested, but you\\n may not change the main program.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The animal tree is represented in the program as an array of pointers to\\n strings (the questions and answers) using \"),_c('code',[_vm._v(\"typedef\")]),_vm._v(\". The 0th\\n element is the root of the tree; the tree element corresponding to a \\\"yes\\\"\\n answer for element \"),_c('code',[_vm._v(\"k\")]),_vm._v(\" is element \"),_c('code',[_vm._v(\"2k+1\")]),_vm._v(\", and the\\n tree element corresponding to a \\\"no\\\" answer for element \"),_c('code',[_vm._v(\"k\")]),_vm._v(\" is\\n element \"),_c('code',[_vm._v(\"2k+2\")]),_vm._v(\". An array for the above tree is\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/animal-sample-tree-array.gif\"),\"width\":\"600\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 2. Animal Sample Tree Array\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Miscellaneous Requirements\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Don't change any of the code that is already supplied; merely add code\\n for the eleven incomplete functions, plus whatever auxiliary functions they\\n call. The code is more complicated than one might expect. It is set up to\\n simplify the use of a different data structure to store the questions and\\n answers; you'll do this in the next programming assignment.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You may assume that a question or answer is at most 80 characters long,\\n and that the program has at most 32 questions in its repertoire. (Thus the\\n array pictured above should only contain 32 pointers.) Your code for\\n \"),_c('code',[_vm._v(\"InitTree\")]),_vm._v(\" will call \"),_c('code',[_vm._v(\"malloc\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"calloc\")]),_vm._v(\";\\n the constants \"),_c('code',[_vm._v(\"MAXSTRLEN\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"MAXNUMQS\")]),_vm._v(\" are defined\\n in the program for use in this call.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Test your functions in isolation. You may wish to test your subprograms\\n as you are building them, for instance, by first testing\\n \"),_c('code',[_vm._v(\"InitTree\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"PrintTree\")]),_vm._v(\", then\\n \"),_c('code',[_vm._v(\"Question\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Answer\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"GetNewInfo\")]),_vm._v(\",\\n and so on. Bring evidence of this \"),_c('dfn',[_vm._v(\"incremental development\")]),_vm._v(\" to the\\n Self-Paced Center when you have this assignment graded.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Test your complete program on guesses that exercise \\\"yes\\\" branches as\\n well as \\\"no\\\" branches, and on games that result in successful guesses as\\n well as unsuccessful guesses.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You may initialize the tree any way you want, either with input from the\\n user or with assignment statements. Programming assignment 4 will require\\n that you initialize the tree from a file, so you might want to explore file\\n operations like \"),_c('code',[_vm._v(\"fopen\")]),_vm._v(\" ahead of time.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Helpful Hints\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Dealing with pointers in C always causes beginners trouble. A good\\n strategy is to make diagrams of the pointer arrangements you are trying to\\n produce and to refer to those diagrams when you run into difficulties.\\n (Bring them to the Self-Paced Center if you need help from the tutoring\\n staff!) Common mistakes include\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"forgetting to place a null character at the end of a string,\")]),_vm._v(\" \"),_c('li',[_vm._v(\"using a pointer before you have set it to point to anything,\")]),_vm._v(\" \"),_c('li',[_vm._v(\"forgetting to allocate some memory to store an item,\")]),_vm._v(\" \"),_c('li',[_vm._v(\"returning the address of a local variable in a function, and then having it deallocated out from under you\")]),_vm._v(\" \"),_c('li',[_vm._v(\"confusing a pointer with the thing pointed to.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Also, resist the impulse to combine the use of \"),_c('code',[_vm._v(\"*\")]),_vm._v(\" and\\n \"),_c('code',[_vm._v(\"++\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"––\")]),_vm._v(\". For that matter, resist\\n the impulse to use \"),_c('code',[_vm._v(\"++\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"--\")]),_vm._v(\" \"),_c('em',[_vm._v(\"anywhere\")]),_vm._v(\"\\n except for on a line by themselves (e.g. \"),_c('code',[_vm._v(\"k++\")]),_vm._v(\").\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A satisfactory grade on this assignment requires the following:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correct behavior in guessing and adding nodes to the animal tree\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Sufficient test games\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Good style and layout\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Reasonable names for functions, variables, and parameters\")]),_vm._v(\" \"),_c('li',[_vm._v(\"No function more than 24 lines long\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Appropriate use of auxiliary functions\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Evidence that subprograms were tested in isolation\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Use of \"),_c('code',[_vm._v(\"malloc\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"calloc\")]),_vm._v(\" to allocate memory for the tree\")]),_vm._v(\" \"),_c('li',[_vm._v(\"No changes to main program other than to complete the specified functions\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2d11db22\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/c/TheAnimalGame.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TheAnimalGame.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TheAnimalGame.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2d11db22\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TheAnimalGame.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/TheAnimalGame.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/java/images/clicker.png\n// module id = 37NP\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/terminal.b1fee52.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/terminal.png\n// module id = 3UeL\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/HP10c.a80f56c.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/java/images/HP10c.jpg\n// module id = 3m7j\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/c/Debugging.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('p',[_vm._v(\"Follow the instructions outlined in the assignment in order to debug the\\n provided program, and answer the questions throughout the assignment in a\\n separate document. You will be required to present the corrected code (make\\n sure to keep track of the corrections you make!) and answers to the\\n questions in this assignment. The questions in this assignment are meant to\\n be thought-provoking. They illustrate important aspects of the C language.\\n If you experience problems, do not hesitate to ask a tutor for help!\")]),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('p',[_vm._v(\"The code associated with this assignment is a short program whose\\n purpose is to turn regular phone numbers into \\\"words.\\\" For example, the\\n Federal Express customer service number is 1-800-GO-FED-EX, translated from\\n 1-800-46-333-39. The provided program, when working properly, will provide\\n all possible \\\"words\\\" that have no more than a user-specified number of\\n consonants. (Too many consonants may make the \\\"word\\\" unpronounceable.)\\n Below is a transcript of how the program should work, with user input\\n appearing in boldface:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(5)]),_vm._v(\" \"),_vm._m(6)]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Assignment\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The first step in the debugging process is the compilation of the\\n program. In the process of compiling code, useful error messages are\\n provided that identify problematic parts of the code that are not\\n syntactically correct. Very often, these mistakes are typos.\")]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ gcc -g -Wall generate.c\")])]),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_c('p',[_vm._v(\"You should see something similar to the following (your output may not\\n be exactly the same):\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"generate.c: In function ‘main’:\\ngenerate.c:34:5: error: expected ‘;’ before ‘puts’\\ngenerate.c:37:5: warning: ‘gets’ is deprecated [-Wdeprecated-declarations]\\ngenerate.c:46:5: warning: ‘gets’ is deprecated [-Wdeprecated-declarations]\\ngenerate.c:54:5: warning: ‘gets’ is deprecated [-Wdeprecated-declarations]\\ngenerate.c: In function ‘print_if_good’:\\ngenerate.c:165:5: warning: value computed is not used [-Wunused-value]\\ngenerate.c: At top level:\\ngenerate.c:194:1: warning: return type defaults to ‘int’ [-Wreturn-type]\\ngenerate.c:194:1: warning: conflicting types for ‘convert’ [enabled by default]\\ngenerate.c:8:6: note: previous declaration of ‘convert’ was here\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"The numbers after the filename refer to the numbers of lines that\\n contain errors. \\\"Errors\\\" typically signify something that is syntactically\\n incorrect. \\\"Warnings\\\" are issued for code that the C compiler believes to\\n be problematic but that is syntactically correct. Warnings will not prevent\\n your code from compiling, but they can tip you off to some rather serious\\n problems.\")]),_vm._v(\" \"),_c('blockquote',[_c('h3',{staticStyle:{\"color\":\"#004780\",\"margin\":\"0\"}},[_vm._v(\"Question 1\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Use the text editor of your choice, correct the errors. What changes\\n did you make? You may need to make small changes and recompile to see if\\n those errors are fixed. This may take several iterations. It is okay not\\n to fix all the warnings but all of the non-warning problems will need to\\n be fixed.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"If you reach this point:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"generate.c: In function ‘main’:\\ngenerate.c:36:5: warning: ‘gets’ is deprecated [-Wdeprecated-declarations]\\ngenerate.c:45:5: warning: ‘gets’ is deprecated [-Wdeprecated-declarations]\\ngenerate.c:53:5: warning: ‘gets’ is deprecated [-Wdeprecated-declarations]\\ngenerate.c: In function ‘print_if_good’:\\ngenerate.c:164:5: warning: value computed is not used [-Wunused-value]\\n...\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Your program has compiled successfully; don't try to figure out what's\\n wrong with this line yet. We'll figure it out eventually.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Let's see if the program works. To run the compiled program type the\\n following (words you type are in bold):\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(9)]),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(12)]),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(14)]),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(16)]),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(18)]),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_vm._m(21),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(22)]),_vm._v(\" \"),_vm._m(23),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(24)]),_vm._v(\" \"),_vm._m(25),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(26)]),_vm._v(\" \"),_vm._m(27),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(28)]),_vm._v(\" \"),_vm._m(29),_vm._v(\" \"),_vm._m(30),_vm._v(\" \"),_c('p',[_vm._v(\"Stop when you see the following:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"(note: 0's and 1's are considered consonants)\\n36 gets(input);\\n1: goahead = 1\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Type the following:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(31)]),_vm._v(\" \"),_vm._m(32),_vm._v(\" \"),_vm._m(33),_vm._v(\" \"),_c('p',[_vm._v(\"Continue executing the code line by line. You will be prompted to enter\\n a phone number with dashes removed somewhere in the process. After the\\n program has read the input phone number, you may want to verify that the\\n appropriate information was read. Stop when you reach the following\\n line:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"48 generateSpellings(phone, maxNumConsonant);\")])]),_vm._v(\" \"),_vm._m(34),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(35)]),_vm._v(\" \"),_vm._m(36),_vm._v(\" \"),_vm._m(37),_vm._v(\" \"),_vm._m(38),_vm._v(\" \"),_vm._m(39),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"96 convert (phone, phone_int);\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Let's step into this function as well:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(40)]),_vm._v(\" \"),_vm._m(41),_vm._v(\" \"),_vm._m(42),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(43)]),_vm._v(\" \"),_c('p',[_vm._v(\"Again, because values have not been assigned to the array cells above,\\n their contents are in fact completely arbitrary. Your output may differ\\n somewhat.\")]),_vm._v(\" \"),_vm._m(44),_vm._v(\" \"),_vm._m(45),_vm._v(\" \"),_c('p',[_vm._v(\"When you exit the function, you should see the following:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"generateSpellings (phone=0x7fffffffe060 \\\"4460175\\\", maxNumConsonant=4)\\n at generate.c:103\\n103 for (a = 0; a < 3; a++)\")])]),_vm._v(\" \"),_vm._m(46),_vm._v(\" \"),_vm._m(47),_vm._v(\" \"),_c('p',[_vm._v(\"Continue executing the code line by line until you reach\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"131 print_if_good(maxNumConsonant, word, &level);\")])]),_vm._v(\" \"),_vm._m(48),_vm._v(\" \"),_vm._m(49),_vm._v(\" \"),_vm._m(50),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(51)]),_vm._v(\" \"),_vm._m(52),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(53)]),_vm._v(\" \"),_vm._m(54),_vm._v(\" \"),_c('p',[_vm._v(\"You should eventually see something similar to\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"Breakpoint 2, print_if_good (maxNumConsonant=4, word=0x7fffffffe020 \\\"iio01pj\\\",\\n level=0x7fffffffdfb0) at generate.c:161\\n161 printf(\\\"%s \\\",word);\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Print the word and go to the next line:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(55)]),_vm._v(\" \"),_vm._m(56),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(57)]),_vm._v(\" \"),_vm._m(58),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"168 if ((*level) % 7 == 0)\\n12: *level = 0\\n11: level = (int *) 0x7fffffffdfb4\")])]),_vm._v(\" \"),_vm._m(59),_vm._v(\" \"),_vm._m(60),_vm._v(\" \"),_vm._m(61),_vm._v(\" \"),_c('p',[_vm._v(\"When you've recompiled the program, verify the rest of the program works\\n as described.\")]),_vm._v(\" \"),_vm._m(62)]),_vm._v(\" \"),_vm._m(63)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"No doubt the program for the previous programming assignment gave you some\\n practice in debugging. This assignment will give you more. You are to find\\n some bugs we've installed in a program. \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\" will again be\\n helpful.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Readings\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-5\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Sections 5.1 - 5.5\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-7\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Chapter 7\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-13\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Sections 13.0 - 13.5\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-15\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Chapter 15\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains a single file\\n called \"),_c('code',[_vm._v(\"generate.c\")]),_vm._v(\".\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"This assignment provides an introduction to some of the major features\\n of \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\" (the GNU debugger) by leading you through the debugging\\n process of a slightly buggy program. A debugger allows the programmer to\\n stop a program in the middle of its execution so that he or she may observe\\n how the program branches and executes. Debuggers can help speed the process\\n of isolating and correcting bugs.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Students who do not wish to use \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\" or students who use\\n their own development package will need to follow the steps dictated in the\\n instructions and demonstrate identical functionality in the debugger of\\n their choice (e.g. via screenshots). If you can't provide such\\n documentation, you will need to use \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"This program finds words that can be associated with phone numbers.\\nWhat is the maximum number of consonants you would like\\nthe generated word to possess?\\n(note: 0's and 1's are considered consonants)\\n\"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"4\")]),_vm._v(\"\\nPlease enter a 7 digit phone number with dashes removed\\n\"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"4460175\")]),_vm._v(\"\\niio01pj iio01pk iio01pl iio01rj iio01rk iio01rl iio01sj\\niio01sk iio01sl iio01pj iio01pk iio01pl iio01rj iio01rk\\niio01rl iio01sj iio01sk iio01sl iio01pj iio01pk iio01pl\\niio01rj iio01rk iio01rl iio01sj iio01sk iio01sl iio01pj\\niio01pk iio01pl iio01rj iio01rk iio01rl iio01sj iio01sk\\niio01sl iio01pj iio01pk iio01pl iio01rj iio01rk iio01rl\\niio01sj iio01sk iio01sl iio01pj iio01pk iio01pl iio01rj\\niio01rk iio01rl iio01sj iio01sk iio01sl iio01pj iio01pk\\niio01pl iio01rj iio01rk iio01rl iio01sj iio01sk iio01sl\\niio01pj iio01pk iio01pl iio01rj iio01rk iio01rl iio01sj\\niio01sk iio01sl iio01pj iio01pk iio01pl iio01rj iio01rk\\niio01rl iio01sj iio01sk iio01sl\\nWould you like to try another number? (Y/N)\\n\"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"n\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Before continuing on with this assignment, make sure you have done all of the associated reading and understand how the code we've provided should work. The program can be found in the file \"),_c('code',[_vm._v(\"generate.c\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you haven't done so already, download \"),_c('code',[_vm._v(\"generate.c\")]),_vm._v(\" from the starter code. To compile the program type:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',{staticClass:\"note\"},[_vm._v(\"\\n The \"),_c('code',[_vm._v(\"-g\")]),_vm._v(\" option links the source code to the executable, so\\n that you have extra debugging information when using \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\".\\n The \"),_c('code',[_vm._v(\"-Wall\")]),_vm._v(\" option turns on warnings.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"$ \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"./a.out\")]),_vm._v(\"\\nThis program finds words associated with phone numbers.\\nWhat is the maximum number of consonants you would like\\nthe generated word to possess?\\n(note: 0's and 1's are considered consonants)\\n\"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"4\")]),_vm._v(\"\\nPlease enter a 7 digit phone number with dashes removed\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('h3',{staticStyle:{\"color\":\"#004780\",\"margin\":\"0\"}},[_vm._v(\"Question 2\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The program has one or more bugs. How does the output suggest\\n something is wrong?\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"We will now use \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\" to begin debugging. To start\\n \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\" debugging this program, type:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"$ \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"gdb ./a.out\")]),_vm._v(\"\\nGNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.3) 7.7.1\\nCopyright (C) 2014 Free Software Foundation, Inc.\\nLicense GPLv3+: GNU GPL version 3 or later \\nThis is free software: you are free to change and redistribute it.\\nThere is NO WARRANTY, to the extent permitted by law. Type \\\"show copying\\\"\\nand \\\"show warranty\\\" for details.\\nThis GDB was configured as \\\"x86_64-linux-gnu\\\".\\nType \\\"show configuration\\\" for configuration details.\\nFor bug reporting instructions, please see:\\n.\\nFind the GDB manual and other documentation resources online at:\\n.\\nFor help, type \\\"help\\\".\\nType \\\"apropos word\\\" to search for commands related to \\\"word\\\"...\\nReading symbols from ./a.out...done.\\n(gdb)\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Before we begin running the program, we will need to set a\\n \"),_c('code',[_vm._v(\"breakpoint\")]),_vm._v(\". A breakpoint is a programmer-specified point in\\n the code where we would like the program to \\\"pause\\\" at while the program is\\n running. Why would we want to do this? Using a debugger, we may examine\\n variables in this paused state which will give us important information\\n about whether or not the program is working correctly. Type:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"break main\")]),_vm._v(\"\\nBreakpoint 1 at 0x400685: file generate.c, line 18.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"This will ask the program to stop at the first executed line of code of\\n the \"),_c('code',[_vm._v(\"main()\")]),_vm._v(\" function. To run the program and have it stop at\\n this point, type:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"run\")]),_vm._v(\"\\nStarting program: a.out\\n\\nBreakpoint 1, main () at generate.c:18\\n18 {\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Notice that the program has stopped right before it is about to execute\\n a line of code. In this case, the line of code in question is line 18 (your\\n output may vary), which is just a curly bracket \"),_c('code',[_vm._v(\"{\")]),_vm._v(\". Let's go to\\n the next line of code to find something more interesting:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"next\")]),_vm._v(\"\\n24 goahead = 1;\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('code',[_vm._v(\"next\")]),_vm._v(\" command executes the line of code that was stopped\\n at, and then stops the program at the very next line of code.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',{staticClass:\"note\"},[_vm._v(\"\\n Notice that the debugger appears to have skipped several lines of code\\n from line 18 to line 24 even though we only instructed it to proceed to\\n the next line of code. This is because \"),_c('dfn',[_vm._v(\"variable declarations\")]),_vm._v(\"\\n are processed immediately.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Let's find out what the value of \"),_c('code',[_vm._v(\"goahead\")]),_vm._v(\" is. Type the\\n following:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"print goahead\")]),_vm._v(\"\\n$1 = -1073785707\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"In the above case, the variable \"),_c('code',[_vm._v(\"goahead\")]),_vm._v(\" is storing a\\n garbage integer (your output will definitely vary here!). Remember, if you\\n don't assign a variable an initial value, its contents will be\\n unpredictable. Now type:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"next\")]),_vm._v(\"\\n25 while (goahead)\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"To make sure the assignment \"),_c('code',[_vm._v(\"goahead = 1\")]),_vm._v(\" has actually taken\\n place, we can again view the contents of \"),_c('code',[_vm._v(\"goahead\")]),_vm._v(\":\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"print goahead\")]),_vm._v(\"\\n$2 = 1\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Sometimes we may want to find out the value of a variable after each\\n statement. \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\" provides this functionality in its\\n \"),_c('code',[_vm._v(\"display\")]),_vm._v(\" command. Type:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"display goahead\")]),_vm._v(\"\\n1: goahead = 1\\n(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"next\")]),_vm._v(\"\\n32 puts(\\\"This program finds words that can be associated with phone numbers.\\\");\\n1: goahead = 1\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Continue executing the program line by line using the \"),_c('code',[_vm._v(\"next\")]),_vm._v(\"\\n command.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',{staticClass:\"note\"},[_vm._v(\"\\n In \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\", hitting \"),_c('kbd',[_vm._v(\"return\")]),_vm._v(\" re-executes the most\\n recent command; this facility simplifies the process of monitoring a long\\n stretch of code.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"display input\")]),_vm._v(\"\\n2: input = \\\"38!(@#*(#*!(@#1\\\"\\n(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"next\")]),_vm._v(\"\\n\"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"4\")]),_vm._v(\"\\n42 maxNumConsonant = input[0] - '0';\\n2: input = \\\"4\\\\000!(@#*(#*!(@#1\\\"\\n1: goahead = 1\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Notice that the contents of the string \"),_c('code',[_vm._v(\"input\")]),_vm._v(\" has changed.\\n Since strings are null-terminated, when \"),_c('code',[_vm._v(\"gets\")]),_vm._v(\" reads a string,\\n it copies the user's input into the array passed into the function and\\n places a null terminator (denoted by \"),_c('code',[_vm._v(\"\\\\000\")]),_vm._v(\" in the display\\n portion) into the array when it reads a carriage return.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('h3',{staticStyle:{\"color\":\"#004780\",\"margin\":\"0\"}},[_vm._v(\"Question 3\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Using the techniques you have learned so far, explain what\\n \"),_c('code',[_vm._v(\"gets\")]),_vm._v(\" copied into \"),_c('code',[_vm._v(\"maxNumConsonant\")]),_vm._v(\" after the line\\n above is executed. What \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\" commands did you use to find\\n out what was copied into \"),_c('code',[_vm._v(\"maxNumConsonant\")]),_vm._v(\"? Explain what\\n \"),_c('code',[_vm._v(\"input[0] - '0'\")]),_vm._v(\" does.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"generateSpellings\")]),_vm._v(\" is a defined function within this\\n program. We may be interested in watching what happens within the\\n \"),_c('code',[_vm._v(\"generateSpellings\")]),_vm._v(\" function. If we type \"),_c('code',[_vm._v(\"next\")]),_vm._v(\" at\\n this point, we will go to the next line of code instead of going inside the\\n \"),_c('code',[_vm._v(\"generateSpellings\")]),_vm._v(\" function. In order to go inside\\n \"),_c('code',[_vm._v(\"generateSpellings\")]),_vm._v(\", we can use the \"),_c('code',[_vm._v(\"step\")]),_vm._v(\"\\n command:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"step\")]),_vm._v(\"\\ngenerateSpellings (phone=0x7fffffffe060 \\\"4460175\\\", maxNumConsonant=4)\\n at generate.c:75\\n75 {\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Several things happen now. First, the variables that you painstakingly\\n \\\"displayed\\\" one by one are no longer refreshed. The reason is because those\\n variables are not accessible from within the \"),_c('code',[_vm._v(\"generateSpellings\")]),_vm._v(\"\\n function. The line above shows the contents of the two variables passed\\n into the function: \"),_c('code',[_vm._v(\"phone\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"maxNumConsonant\")]),_vm._v(\".\\n Your output may be somewhat different.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"For your information, \"),_c('code',[_vm._v(\"0x7fffffffe060\")]),_vm._v(\" is the hexadecimal\\n (base 16) equivalent for 140,737,488,347,232. \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\" denotes\\n memory addresses by the \"),_c('code',[_vm._v(\"0x\")]),_vm._v(\" prefix. As you can see, the\\n hexadecimal format is a more efficient way of representing large\\n numbers.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('h3',{staticStyle:{\"color\":\"#004780\",\"margin\":\"0\"}},[_vm._v(\"Question 4\")]),_vm._v(\" \"),_c('p',[_vm._v(\"What is the value stored in \"),_c('code',[_vm._v(\"phone\")]),_vm._v(\"? (Hint: Everyone's\\n answer will be different.) Why is \"),_c('code',[_vm._v(\"phone\")]),_vm._v(\" represented by an\\n address?\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Continue using the \"),_c('code',[_vm._v(\"next\")]),_vm._v(\" command until you see:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"step\")]),_vm._v(\"\\nconvert (phone=0x7fffffffe060 \\\"4460175\\\", phone_int=0x7fffffffdfd0)\\n at generate.c:196\\n196 for (i = 0; i < 7; i++)\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"When stepping into a function, \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\" does not display the\\n contents of an integer array when it is passed in as an argument. This is\\n unlike what it does with character arrays. (Note the difference between\\n \"),_c('code',[_vm._v(\"phone\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"phone_int\")]),_vm._v(\".) However, regardless of\\n variable type, \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\" will always show you what the value of that\\n variable is when it is passed into the function. If this doesn't make\\n sense, then you didn't answer Question 4 correctly.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"In the next five lines is a \"),_c('code',[_vm._v(\"for\")]),_vm._v(\" loop. It is often helpful\\n to monitor a \"),_c('code',[_vm._v(\"for\")]),_vm._v(\" loop's progress. Type the following:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"display i\")]),_vm._v(\"\\n3: i = 74128\\n(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"display phone_int[0]\")]),_vm._v(\"\\n4: phone_int[0] = 268530816\\n(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"display phone_int[1]\")]),_vm._v(\"\\n5: phone_int[1] = 4199972\\n(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"display phone_int[2]\")]),_vm._v(\"\\n6: phone_int[2] = 8192\\n(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"display phone_int[3]\")]),_vm._v(\"\\n7: phone_int[3] = 0\\n(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"display phone_int[4]\")]),_vm._v(\"\\n8: phone_int[4] = 843604063\\n(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"display phone_int[5]\")]),_vm._v(\"\\n9: phone_int[5] = 0\\n(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"display phone_int[6]\")]),_vm._v(\"\\n10: phone_int[6] = 268436928\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Monitoring the \"),_c('code',[_vm._v(\"for\")]),_vm._v(\" loop's progress generally means stepping\\n through it via repeated \"),_c('code',[_vm._v(\"step\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"next\")]),_vm._v(\"\\n commands.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('h3',{staticStyle:{\"color\":\"#004780\",\"margin\":\"0\"}},[_vm._v(\"Question 5\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Use the techniques that you've learned thus far and determine whether\\n or not the \"),_c('code',[_vm._v(\"for\")]),_vm._v(\" loop in this function works. What evidence\\n suggests so?\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The statement above lets you know that you've returned to the calling\\n function (in this case, \"),_c('code',[_vm._v(\"generateSpellings\")]),_vm._v(\").\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('h3',{staticStyle:{\"color\":\"#004780\",\"margin\":\"0\"}},[_vm._v(\"Question 6\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Starting on the above line, a series of nested loops is encountered.\\n How does each nested loop work? Make sure you step through the loop and\\n demonstrate that you've actually examined how the loop works.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('h3',{staticStyle:{\"color\":\"#004780\",\"margin\":\"0\"}},[_vm._v(\"Question 7\")]),_vm._v(\" \"),_c('p',[_vm._v(\"What is the current value of \"),_c('code',[_vm._v(\"word\")]),_vm._v(\"? Which \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\"\\n command did you use to find its value? Is its value correct?\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('h3',{staticStyle:{\"color\":\"#004780\",\"margin\":\"0\"}},[_vm._v(\"Question 8\")]),_vm._v(\" \"),_c('p',[_vm._v(\"In line 131, the address of the variable \"),_c('code',[_vm._v(\"level\")]),_vm._v(\" is passed\\n into \"),_c('code',[_vm._v(\"print_if_good\")]),_vm._v(\" as opposed to the variable's contents.\\n The comments explain that this is a technique that allows the function to\\n change the contents of a variable passed into a function. Explain how\\n passing a pointer to a variable accomplishes this.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Step into this function using the \"),_c('code',[_vm._v(\"step\")]),_vm._v(\" command:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"step\")]),_vm._v(\"\\nprint_if_good (maxNumConsonant=4, word=0x7fffffffe020 \\\"ggm01pj\\\",\\n level=0x7fffffffdfb0) at generate.c:147\\n147 int numVowel = 0;\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"In the following code, there is a \"),_c('code',[_vm._v(\"for\")]),_vm._v(\" loop that counts the\\n number of vowels and an \"),_c('code',[_vm._v(\"if\")]),_vm._v(\" statement that determines whether\\n or not the generated word is printed. We are interested in testing what\\n happens when the \"),_c('code',[_vm._v(\"if\")]),_vm._v(\" condition is true. Since we may not enter\\n the condition every time, we could end up typing \"),_c('code',[_vm._v(\"next\")]),_vm._v(\" many\\n times before we reach the statements within the \"),_c('code',[_vm._v(\"if\")]),_vm._v(\" condition.\\n One way to skip to the \\\"interesting\\\" part of the program is to execute the\\n following commands:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"break 161\")]),_vm._v(\"\\nBreakpoint 2 at 0x400a1e: file generate.c, line 161.\\n(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"continue\")]),_vm._v(\"\\nContinuing.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"In the above \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\" statements, we have asked the program to\\n stop at line 161. Line 161 is the call to \"),_c('code',[_vm._v(\"printf\")]),_vm._v(\" within the\\n \"),_c('code',[_vm._v(\"if\")]),_vm._v(\" statement. The \"),_c('code',[_vm._v(\"continue\")]),_vm._v(\" statement tells the\\n program to run at full speed until the next breakpoint is reached-in this\\n case, when we next execute line 161.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"next\")]),_vm._v(\"\\n164 *level++;\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Now find out what the value of \"),_c('code',[_vm._v(\"level\")]),_vm._v(\" and\\n \"),_c('code',[_vm._v(\"*level\")]),_vm._v(\" is (your output will vary):\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"display level\")]),_vm._v(\"\\n11: level = (int *) 0x7fffffffdfb0\\n(gdb) \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"display *level\")]),_vm._v(\"\\n12: *level = 0\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The hexadecimal number \"),_c('code',[_vm._v(\"0x7fffffffdfb0\")]),_vm._v(\" is\\n 140,737,488,347,056 in decimal. Let's find out what happens when we execute\\n this line.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The value of \"),_c('code',[_vm._v(\"level\")]),_vm._v(\" is now \"),_c('code',[_vm._v(\"0x7fffffffdfb4\")]),_vm._v(\" or in\\n decimal, 140,737,488,347,060. \"),_c('code',[_vm._v(\"*level\")]),_vm._v(\" is still 0. What result\\n did we expect? It seems like we might have a problem here.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('h3',{staticStyle:{\"color\":\"#004780\",\"margin\":\"0\"}},[_vm._v(\"Question 9\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Explain what the problem is in this section of code. Fix the problem\\n in the code, and recompile the program. What happened to the warning?\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('code',[_vm._v(\"quit\")]),_vm._v(\" command exits \"),_c('code',[_vm._v(\"gdb\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"You will need to turn in your corrected version of\\n \"),_c('code',[_vm._v(\"generate.c\")]),_vm._v(\", and your answers to the boxed questions in this\\n assignment (including any notes you took on your interactions with the\\n debugger).\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A satisfactory grade on this assignment requires the following:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Corrected version of \"),_c('code',[_vm._v(\"generate.c\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"Answers to Questions 1 through 9 (including any notes you took on your interactions with the debugger)\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-78123810\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/c/Debugging.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Debugging.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Debugging.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-78123810\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Debugging.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/Debugging.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/java/SimpleRpnCalculator.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_vm._m(0),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Your Task\")]),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(4)])]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_vm._m(7)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/HP10c.jpg\"),\"width\":\"507\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1. The HP 10C RPN Calculator\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Many of us cut our teeth on venerable HP calculators, like the one shown above. What made them\\n interesting was that they used \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Reverse_Polish_notation\"}},[_vm._v(\"Reverse Polish Notation\")]),_vm._v(\"\\n (RPN) ... below are some links that explain it. In a single sentence, \"),_c('b',[_vm._v(\"RPN means you put the operator\\n at the end of an expression\")]),_vm._v(\"; instead of \\\"3 - 2\\\", you'd write \\\"3 2 -\\\". That's basically it. If you've\\n ever heard Yoda speak,\\n it's kind of like that.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Your job is to implement a very basic calculator that behaves just like the old HP calculators did\\n (but for Integers); in doing so you'll use a powerful built-in Java data structure called a\\n Stack. This application is the perfect intersection of the material for this group: numbers, exceptions\\n (and MIDI for some fun). Here are some useful links:\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"\\n Wikipedia's \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Reverse_Polish_notation\"}},[_vm._v(\"Reverse Polish Notation\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Java's Built-in \"),_c('a',{attrs:{\"href\":\"https://docs.oracle.com/javase/8/docs/api/java/util/Stack.html\"}},[_vm._v(\"Stack Data Strucuture\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n HP Museum's \"),_c('a',{attrs:{\"href\":\"http://www.hpmuseum.org/rpnvers.htm\"}},[_vm._v(\"The Evolution of RPN & Numeric Entry\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Wikipedia's \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/MIDI\"}},[_vm._v(\"Musical Instrument Digital Interface\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Official Specification of \"),_c('a',{attrs:{\"href\":\"https://www.midi.org/specifications/item/gm-level-1-sound-set\"}},[_vm._v(\"General MIDI Instruments\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"You are asked to author, from scratch, a small Java-based Integer RPN simulator based on a\\n \"),_c('a',{attrs:{\"href\":\"http://java.sun.com/j2se/1.5.0/docs/api/java/util/Stack.html\"}},[_vm._v(\"Stack\")]),_vm._v(\" data structure.\\n You should probably play with an online\\n \"),_c('a',{attrs:{\"href\":\"http://www.vulcanhammer.org/hp35/\"}},[_vm._v(\"HP calculator RPN simulator\")]),_vm._v(\" if you're not yet\\n comfortable with the operator at the end of expressions. The underlying numbers should be stored as\\n \"),_c('code',[_vm._v(\"Integer\")]),_vm._v(\"s, and you are to catch all exceptions that bubble up from invalid math,\\n \"),_c('a',{attrs:{\"href\":\"http://java.sun.com/j2se/1.5.0/docs/api/java/util/Stack.html\"}},[_vm._v(\"Stack\")]),_vm._v(\" & MIDI operations.\\n Exceptions shouldn't affect the stack. You should also generate YOUR OWN exceptions for things you'd\\n know about, like the fact that the stack has to have at least two numbers for the arithmetic operations\\n (and three for MIDI) to work. Here are the commands you need to implement:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"+\")]),_vm._v(\", \"),_c('code',[_vm._v(\"-\")]),_vm._v(\", \"),_c('code',[_vm._v(\"/\")]),_vm._v(\", \"),_c('code',[_vm._v(\"*\")]),_vm._v(\" : These are your standard arithmetic\\n functions, requiring the stack to be at least two deep. The top two elements are then popped off\\n the stack, used in the computation, and the result is \\\"pushed\\\" back to the top of the stack. If an\\n exception occurs, the stack should not change.\\n \")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"pop\")]),_vm._v(\" : This removes the top element from the stack\\n \")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"clear\")]),_vm._v(\" : This clears the stack. It is not an error to clear an empty stack.\\n \")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"midi\")]),_vm._v(\" : This uses the top three elements and generates a midi sound whose\\n \"),_c('dfn',[_vm._v(\"instrument\")]),_vm._v(\" is specified by the top stack value, \"),_c('dfn',[_vm._v(\"note\")]),_vm._v(\" is specified by the\\n second-from-the-top value, and \"),_c('dfn',[_vm._v(\"duration\")]),_vm._v(\" by the third-from-top value. The stack contents\\n do not change as the result of this command, but the side-effect is that a sound is produced.\\n \")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"quit\")]),_vm._v(\" : This ends the simulation\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Example RPN simulation interaction. User input is shown in \"),_c('strong',[_vm._v(\"bold\")]),_vm._v(\".\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"$ \"),_c('b',[_vm._v(\"java RPN\")]),_vm._v(\"\\nWelcome to the CS9G RPN simulator!\\nYou can type numbers or operators (+, -, /, *, pop, clear, midi, quit)\\n+- STACK -- top ---------+\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"4\")]),_vm._v(\"\\n\\n+- STACK -- top ---------+\\n| 4 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"one\")]),_vm._v(\"\\n\\nError! \\\"one\\\" is not a number or operator (+, -, /, *, pop, clear, midi, quit)\\n\\n+- STACK -- top ---------+\\n| 4 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"1\")]),_vm._v(\"\\n\\n+- STACK -- top ---------+\\n| 1 |\\n| 4 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"-\")]),_vm._v(\"\\n\\n+- STACK -- top ---------+\\n| 3 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"+\")]),_vm._v(\"\\n\\nError! The stack must have at least two numbers for + to work...\\n\\n+- STACK -- top ---------+\\n| 3 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"2\")]),_vm._v(\"\\n\\n+- STACK -- top ---------+\\n| 2 |\\n| 3 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"/\")]),_vm._v(\"\\n\\n+- STACK -- top ---------+\\n| 1 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"0\")]),_vm._v(\"\\n\\n+- STACK -- top ---------+\\n| 0 |\\n| 1 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"/\")]),_vm._v(\"\\n\\nError! / by zero.\\n\\n+- STACK -- top ---------+\\n| 0 |\\n| 1 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"clear\")]),_vm._v(\"\\n\\n+- STACK -- top ---------+\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"10\")]),_vm._v(\"\\n\\n+- STACK -- top ---------+\\n| 10 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"60\")]),_vm._v(\"\\n\\n+- STACK -- top ---------+\\n| 60 |\\n| 10 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"midi\")]),_vm._v(\"\\n\\nError! The stack must have at least 3 numbers for midi to play...\\n\\n+- STACK -- top ---------+\\n| 60 |\\n| 10 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"1\")]),_vm._v(\"\\n\\n+- STACK -- top ---------+\\n| 1 |\\n| 60 |\\n| 10 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"midi\")]),_vm._v(\"\\n\\nPlaying MIDI sound: Duration=10, Note=60, Instrument=1...\\n\\n+- STACK -- top ---------+\\n| 1 |\\n| 60 |\\n| 10 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"pop\")]),_vm._v(\"\\n\\n+- STACK -- top ---------+\\n| 60 |\\n| 10 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"41\")]),_vm._v(\"\\n\\n+- STACK -- top ---------+\\n| 41 |\\n| 60 |\\n| 10 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"midi\")]),_vm._v(\"\\n\\nPlaying MIDI sound: Duration=10, Note=60, Instrument=41...\\n\\n+- STACK -- top ---------+\\n| 41 |\\n| 60 |\\n| 10 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"10\")]),_vm._v(\"\\n\\n+- STACK -- top ---------+\\n| 10 |\\n| 41 |\\n| 60 |\\n| 10 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"*\")]),_vm._v(\"\\n\\n+- STACK -- top ---------+\\n| 410 |\\n| 60 |\\n| 10 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"midi\")]),_vm._v(\"\\n\\nError! The number 410 is outside of the valid MIDI data range...\\n\\n+- STACK -- top ---------+\\n| 410 |\\n| 60 |\\n| 10 |\\n+--------- bottom -------+ Input: \"),_c('b',[_vm._v(\"quit\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Suggested approach\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"\\n Your first task should be a design task: think of the classes you'll need, and the Exceptions that\\n might be thrown based on bad input. Then start on the coding and the testing.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Take a look at the class \"),_c('code',[_vm._v(\"MiniMusicCmdLine\")]),_vm._v(\" on page 346 of Head First Java (2nd edition)\\n to use as starting point for your MIDI code.\\n \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Miscellaneous information\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"\\n MIDI instrument 1 is a piano, and note = 60 is middle C. You can also\\n \"),_c('a',{attrs:{\"href\":\"https://www.midi.org/specifications/item/gm-level-1-sound-set\"}},[_vm._v(\"use other instruments\")]),_vm._v(\" or tones.\\n \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correctly working code\\n\\n \")]),_c('li',[_vm._v(\"Sufficient testing, with output sufficient to verify test correctness:\\n\\n \"),_c('ul',[_c('li',[_vm._v(\"tests that prove all of the simulator commands (\"),_c('code',[_vm._v(\"+, -, /, *, pop, clear, midi, quit\")]),_vm._v(\") work for correct input\\n \")]),_c('li',[_vm._v(\"tests that reveal all the Exceptions in your program, some thrown by code you wrote, some thrown by other classes (e.g., MIDI out-of-range data)\\n \")]),_c('li',[_vm._v(\"evidence of independent tests of all methods you authored in each class\\n\\n \")]),_c('li',[_vm._v(\"tests sufficient to exercise all statements in the program.\\n\\n \")])])]),_c('li',[_vm._v(\"Good style\"),_c('ul',[_c('li',[_vm._v(\"appropriate use of indenting and white space;\\n \")]),_c('li',[_vm._v(\"variable and method names that reflect their use;\\n \")]),_c('li',[_vm._v(\"informative comments at the head of each method;\\n \")])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-70b667f5\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/java/SimpleRpnCalculator.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SimpleRpnCalculator.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SimpleRpnCalculator.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-70b667f5\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./SimpleRpnCalculator.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/java/SimpleRpnCalculator.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/47b/IteratorExercises.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Data Structures and Problem Solving using Java (4th Edition) Sections 6.2 - 6.3'\n },\n {\n title: 'Data Structures and Problem Solving using Java (4th Edition) Sections 17.1 - 17.2, 17.5'\n },\n {\n title: 'Data Structures and Problem Solving using Java (4th Edition) Section 18.4'\n },\n {\n title: 'Data Structures and Problem Solving using Java (4th Edition) Chapter 15'\n }\n ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Exercise 2\")]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Amos McCoy\\nmom/dad\\nme\\nMike\\nBart\\nLisa\\nHomer\\nMarge\\nGeorge\\nMartha\\nBen\\nLeslie\")])]),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('p',[_vm._v(\"You may first compile your program using\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ javac AmoebaFamily.java\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"and then run your program using\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ java AmoebaFamily\")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Exercise 3\")]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Amos McCoy\\nmom/dad\\nme\\nMike\\nBart\\nLisa\\nHomer\\nMarge\\nGeorge\\nMartha\\nBen\\nLeslie\")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Exercise 4\")]),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Amos McCoy\\nmom/dad\\nme\\nBen\\nLeslie\\nMike\\nHomer\\nMarge\\nBart\\nLisa\\nGeorge\\nMartha\")])]),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_vm._m(10)]),_vm._v(\" \"),_vm._m(11)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_c('p',[_vm._v(\"These exercises familiarize you with the design and use of an\\n \"),_c('dfn',[_vm._v(\"iterator\")]),_vm._v(\", a class used to process all the elements in a\\n collection one by one.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"An amoeba family tree is simpler than a normal family tree because\\n amoebas do not get married. An amoeba has one parent, perhaps a million\\n siblings (brothers and sisters), and billions and billions of children. An\\n amoeba also has a name.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The file \"),_c('code',[_vm._v(\"AmoebaFamily.java\")]),_vm._v(\" contains most of the code to represent an amoeba\\n family. Its \"),_c('code',[_vm._v(\"main()\")]),_vm._v(\" method sets up the following tree:\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/AmoebaFamily.png\"),\"width\":\"570\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1. Amoeba Family Tree\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"You supply code to allow the amoebas in the family to be processed.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains a single file\\n called \"),_c('code',[_vm._v(\"AmoebaFamily.java\")]),_vm._v(\".\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Exercise 1\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Provide the body for the \"),_c('code',[_vm._v(\"AmoebaFamily.addChild()\")]),_vm._v(\"\\n method. Given a name of the parent amoeba and the name of a new child,\\n \"),_c('code',[_vm._v(\"addChild\")]),_vm._v(\" should return having added a new amoeba as the\\n youngest child of the named parent amoeba. \"),_c('b',[_vm._v(\"DO NOT\")]),_vm._v(\" change any of the\\n framework code; you may, however, supply additional methods. Also, \"),_c('b',[_vm._v(\"DO NOT\")]),_vm._v(\"\\n use the \"),_c('code',[_vm._v(\"ArrayList.get\")]),_vm._v(\" method; instead, use the Java's\\n for-each loop to iterate over each amoeba's children.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Provide the body for the \"),_c('code',[_vm._v(\"AmoebaFamily.print()\")]),_vm._v(\" method. It\\n should print the names of all amoebas in the family in \"),_c('em',[_vm._v(\"preorder\")]),_vm._v(\",\\n with children's names printed oldest first. Output for the family set up in\\n the \"),_c('code',[_vm._v(\"AmoebaFamily.main()\")]),_vm._v(\" method should be\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('code',[_vm._v(\"print\")]),_vm._v(\" method or one of the methods it calls should be\\n recursive. It should print the names of an amoeba family of \"),_c('code',[_vm._v(\"N\")]),_vm._v(\"\\n amoebas in \"),_c('code',[_vm._v(\"O(N)\")]),_vm._v(\" operations (counting each call to\\n \"),_c('code',[_vm._v(\"Amoeba.toString()\")]),_vm._v(\" as a single operation). Do not change any of\\n the framework code; you may, however, supply additional methods.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Complete the \"),_c('code',[_vm._v(\"AmoebaIterator\")]),_vm._v(\" class. It should successively\\n return amoebas from the family in preorder, with children amoebas returned\\n oldest first. Thus, for the family set up in the\\n \"),_c('code',[_vm._v(\"AmoebaFamily.main\")]),_vm._v(\" method, the amoeba named \\\"Amos McCoy\\\" should\\n be returned by the first call to \"),_c('code',[_vm._v(\"next()\")]),_vm._v(\"; the second call to\\n \"),_c('code',[_vm._v(\"next()\")]),_vm._v(\" should return the amoeba named \\\"mom/dad\\\"; and so on. Do\\n not change any of the framework code.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Iteration over all of the amoebas in a family of \"),_c('code',[_vm._v(\"N\")]),_vm._v(\" amoebas\\n should require no more than \"),_c('code',[_vm._v(\"O(N)\")]),_vm._v(\" operations. Also, the\\n iterator constructor should run in constant time (thus, a solution that\\n puts all the amoebas into a linear structure, then returns them one by one\\n is not allowed). Your implementation will require the use of a\\n \"),_c('code',[_vm._v(\"Stack\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Use the same procedure to run \"),_c('code',[_vm._v(\"AmoebaFamily.main()\")]),_vm._v(\"\\n method to test your solution. It should produce the same output as the call\\n to \"),_c('code',[_vm._v(\"family.print()\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Similar to Exercise 3, complete the \"),_c('code',[_vm._v(\"AmoebaIteratorBF\")]),_vm._v(\" class so that amoebas are\\n returned \"),_c('em',[_vm._v(\"breadth first\")]),_vm._v(\". That is, the root of the family should be\\n returned first, then all of its children (oldest first), then all of their\\n children, and so on. For the family constructed in the\\n \"),_c('code',[_vm._v(\"AmoebaFamily.main()\")]),_vm._v(\" method, the amoebas should be returned in\\n the following sequence:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"As in Exercise 3, enumeration of all the amoebas in a family of\\n \"),_c('code',[_vm._v(\"N\")]),_vm._v(\" amoebas should require no more than \"),_c('code',[_vm._v(\"O(N)\")]),_vm._v(\"\\n operations, and the constructor must run in constant time. Your\\n implementation will require the use of a \"),_c('code',[_vm._v(\"Queue\")]),_vm._v(\" where the\\n Exercise 3 solution used a \"),_c('code',[_vm._v(\"Stack\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Test your code with the \"),_c('code',[_vm._v(\"AmoebaFamily.main\")]),_vm._v(\" method from\\n Exercise 3.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correctly working additions to the framework, implemented without changing any of the framework code:\\n \"),_c('ul',[_c('li',[_vm._v(\"an \"),_c('code',[_vm._v(\"addChild\")]),_vm._v(\" method that uses \"),_c('code',[_vm._v(\"ArrayList.iterator()\")]),_vm._v(\" to examine amoeba children;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"an efficient \"),_c('code',[_vm._v(\"print()\")]),_vm._v(\" method that prints amoeba names in the specified order;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"correct \"),_c('code',[_vm._v(\"AmoebaIterator\")]),_vm._v(\" class in which the \"),_c('code',[_vm._v(\"next()\")]),_vm._v(\" method efficiently returns amoebas in preorder, with children returned oldest first\")]),_vm._v(\" \"),_c('li',[_vm._v(\"correct \"),_c('code',[_vm._v(\"AmoebaIteratorBF\")]),_vm._v(\" class in which the \"),_c('code',[_vm._v(\"next()\")]),_vm._v(\" method efficiently returns amoebas breadth first;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"constructors for these iterators that run in constant time.\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Program listings, with methods indented to show their structure, accompanied by comments that describe their purpose and arguments.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Reasonable names for variables, methods, and parameters.\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-422af0ec\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/47b/IteratorExercises.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./IteratorExercises.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./IteratorExercises.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-422af0ec\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./IteratorExercises.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/47b/IteratorExercises.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/47b/BlocksProject.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_vm._m(0),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Those of you who spend much time in toy stores may be familiar with \\\"sliding-block\\\"\\n puzzles. They consist of a number of rectangular blocks in a tray; the problem is\\n to slide the pieces without lifting any out of the tray, until achieving a certain\\n configuration. An example (from \"),_c('citation',[_vm._v(\"Winning Ways\")]),_vm._v(\", E.R. Berlekamp\\n \"),_c('citation',[_vm._v(\"et al.\")]),_vm._v(\", Academic Press, 1982) is shown in the diagram on the right.\\n \")],1),_vm._v(\" \"),_c('p',[_vm._v(\"\\n This project is to write a program that generates a solution to such a puzzle. The\\n first part is a design, the second an implementation of the design, and the third\\n is an optimization and writeup.\\n \")])]),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Your Tasks\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('h4',[_vm._v(\"Program Inputs\")]),_vm._v(\" \"),_c('ul',[_vm._m(3),_vm._v(\" \"),_c('li',[_vm._m(4),_vm._v(\" \"),_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('table',{staticStyle:{\"display\":\"inline-block\",\"text-align\":\"left\",\"min-width\":\"300px\"}},[_c('tr',[_c('td',{staticStyle:{\"width\":\"50%\",\"padding\":\"10px\"}},[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"text\"},[_vm._v(\"5 4\\n2 1 0 0\\n2 1 0 3\\n2 1 2 0\\n2 1 2 3\\n2 2 1 1\\n1 2 3 1\\n1 1 4 0\\n1 1 4 1\\n1 1 4 2\\n1 1 4 3\")])])]),_vm._v(\" \"),_vm._m(5)])])]),_vm._v(\" \"),_c('p',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(\"Figure 1 — a sample initial configuration\")])]),_vm._v(\" \"),_c('li',[_vm._m(6),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The goal configuration mentioned in the diagram on the previous page is represented by the single line\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"text\"},[_vm._v(\"2 2 3 1\")])]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Figure 2 below shows a goal configuration in which three of the 1-by-1 blocks have a specified arrangement, along with the corresponding goal file.\\n Again, if there are more than three 1-by-1 blocks in the initial configuration, it doesn't matter which three of them end up in the specified goal positions.\\n Note also that the block positions may appear in any order in this file.\\n \")]),_vm._v(\" \"),_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('table',{staticStyle:{\"display\":\"inline-block\",\"text-align\":\"left\",\"min-width\":\"300px\"}},[_c('tr',[_c('td',{staticStyle:{\"width\":\"50%\",\"padding\":\"10px\"}},[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"text\"},[_vm._v(\"1 1 3 1\\n1 1 4 2\\n1 1 3 2\")])])]),_vm._v(\" \"),_vm._m(8)])])]),_vm._v(\" \"),_c('p',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(\"Figure 2 — a sample goal\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n Thus your program would be run with the UNIX command\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ java Solver [-oinfo] initialConfigFile goalConfigFile\")])]),_vm._v(\" \"),_vm._m(9)])]),_vm._v(\" \"),_c('h4',[_vm._v(\"Program Outputs\")]),_vm._v(\" \"),_c('ul',[_vm._m(10),_vm._v(\" \"),_c('li',[_vm._m(11),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"text\"},[_vm._v(\"1 1 0 1 // move the 2x2 block up\\n3 1 2 1 // move the 1x2 block up\\n4 1 3 1 // move a 1x1 block up\\n4 2 3 2 // move another 1x1 block up\\n4 3 4 2 // move the rightmost 1x1 block over\")])])]),_vm._v(\" \"),_c('li',[_vm._m(12),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"System.exit(1);\")])]),_vm._v(\" \"),_vm._m(13)]),_vm._v(\" \"),_vm._m(14)])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Benchmarks\")]),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_c('p',[_vm._v(\"\\n First, you will need to give an execute permission to our benchmark scripts (you will only need to execute\\n the following command once).\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ chmod +x run.easy tester.csh\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Then you can run the benchmark tests by using the following command.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ ./run.easy\")])]),_vm._v(\" \"),_vm._m(18)]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Requirements\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The project consists of three main parts which you should complete them in that order.\\n \")]),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_c('article',[_c('h4',[_vm._v(\"Part 2 - Implementation (8 points)\")]),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_vm._m(21),_vm._v(\" \"),_c('ul',[_vm._m(22),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n When no debugging option is specified, only one line per move, containing four integers, appears\\n in the output. If the puzzle cannot be solved, the program should exit with the statement\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"System.exit (1);\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Otherwise it should exit normally.\\n \")])])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n You should also associate debugging output with program events appropriately, and choose an\\n appropriate debugging option for each set of output. Your debugging output facility should allow\\n the user to select both the classes for which output is produced and the level of detail of\\n output. Any interesting event that happens in your program-e.g. making/unmaking a move, encountering\\n a previously seen configuration, determining the set of possible moves, or comparing a configuration\\n with the goal-should be displayed by debugging output activated by some option. You should also\\n incorporate output that will help you make implementation decisions about time/memory tradeoffs.\\n Describe your debugging output facility in your writeup (see below). Your sponsor will ask you to\\n defend your matching of output options with debugging output.\\n \")]),_vm._v(\" \"),_vm._m(23)]),_vm._v(\" \"),_vm._m(24),_vm._v(\" \"),_vm._m(25),_vm._v(\" \"),_vm._m(26)]),_vm._v(\" \"),_vm._m(27)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Goals\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This project has a number of interesting features. The problem to be\\n solved is relatively complex. A solution will involve several time/space\\n tradeoffs, and a solution program will be relatively large compared to\\n other programs you have written for CS 47B. It also provides an\\n opportunity to store something other than strings in a hash table.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Grading\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n For this assignment, you will work with a sponsoring tutor. He or she will\\n act as a sounding board for ideas you have for solving the assignment and\\n will supervise your completion of the necessary programs and writeups. Your\\n sponsor will also be the tutor who grades your solutions; you should make\\n sure that your schedule is compatible with his or hers, \"),_c('i',[_vm._v(\"as you must have\\n each solution checked by your sponsor before continuing on to the next part.\")]),_vm._v(\"\\n You must arrange for a sponsor before starting work on the assignment.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n A numeric grade between 0 and 24 rather than a \\\"pass\\\" or \\\"not pass\\\" will be\\n assigned to your solution. Satisfaction of checklist items accounts for 20\\n of the 24 points; the other 4 points will be assigned by your sponsor for\\n things like displaying sufficient progress at pre-arranged intermediate points.\\n Make sure when you choose a sponsor tutor that he or she makes clear what\\n you need to do to earn these 4 points.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n You should get your grade for \"),_c('b',[_vm._v(\"part 1\")]),_vm._v(\" and \"),_c('b',[_vm._v(\"part 2\")]),_vm._v(\" recorded at the Self-Paced Center\\n as soon as possible after you complete those parts.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The \"),_c('b',[_vm._v(\"last part of this assignment includes a writeup\")]),_vm._v(\".\\n Prepare the writeup in a file named \"),_c('code',[_vm._v(\"writeup\")]),_vm._v(\", in one of the following formats:\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Acrobat (\"),_c('code',[_vm._v(\".pdf\")]),_vm._v(\")\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Markdown (\"),_c('code',[_vm._v(\".md\")]),_vm._v(\")\")]),_vm._v(\" \"),_c('li',[_vm._v(\"HTML (\"),_c('code',[_vm._v(\".html\")]),_vm._v(\")\")])]),_vm._v(\"\\n If your HTML writeup includes diagrams, they should be of type GIF (\"),_c('code',[_vm._v(\".gif\")]),_vm._v(\") or PNG (\"),_c('code',[_vm._v(\".png\")]),_vm._v(\").\\n\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Your program will be named \"),_c('code',[_vm._v(\"Solver.java\")]),_vm._v(\". Its input will come from the command line\\n and from files named there. Its output should also be printed to command line as required.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_c('b',[_vm._v(\"An optional first argument\")]),_vm._v(\" will be a string whose first two characters are \\\"-o\\\" and whose\\n remaining characters specify information about what debugging output the program should\\n produce. (You may choose the format of this information.) The string \\\"-ooptions\\\" should\\n cause the program to print all the debugging options and the effect of each option.\\n If the \\\"-o\\\" argument is not provided, your program should produce no output beyond that\\n required to display a solution to the puzzle.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"The next argument will name a file that specifies an initial tray configuration.\")]),_vm._v(\"\\n Line 1 of this file will contain two positive integers, the length (number of rows) and\\n width (number of columns) of the tray.\\n Each subsequent line of this file will contain four non-negative integers describing a block\\n in the tray: the length and width of the block (both greater than 0), and the row and column\\n of the upper left corner of the block.\\n (The upper left corner of the tray is row 0, column 0.) Blocks are indistinguishable except\\n for their size, and may appear in any order in this file.\\n Thus the block configuration in figure 1 (reprinted below with row and column headers, and\\n with blocks numbered to indicate their position in the example input) might be represented\\n in the file as follows:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticStyle:{\"width\":\"50%\",\"padding\":\"10px\"}},[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/blocks-sample-config.gif\"),\"width\":\"100%\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"The last argument will be the name of a file that specifies a desired final or goal configuration.\")]),_vm._v(\"\\n This file is similar in format to the initial configuration file.\\n Each line of this file contains four non-negative integers: the length and width of the block (both greater than 0), and the desired position of the upper left corner of the block.\\n This file will not necessarily contain entries for all blocks in the tray. Blocks may appear in any order in this file.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n If there were more than one 2-by-2 block in the initial configuration, the one-line goal would specify\\n the position of \"),_c('b',[_vm._v(\"any\")]),_vm._v(\" of the 2-by-2 blocks.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticStyle:{\"width\":\"50%\",\"padding\":\"10px\"}},[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/blocks-sample-goal.gif\"),\"width\":\"100%\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n where the \"),_c('i',[_vm._v(\"-o\")]),_vm._v(\" argument is optional, \"),_c('i',[_vm._v(\"info\")]),_vm._v(\" is the debugging information you supply, and \"),_c('i',[_vm._v(\"initialConfigFile\")]),_vm._v(\" and \"),_c('i',[_vm._v(\"goalConfigFile\")]),_vm._v(\" name the files containing the initial block configuration and the goal configuration respectively.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"\\n A solution to the puzzle will represent a sequence of position changes of blocks that,\\n when starting with a specified initial configuration, ends up with blocks in the positions specified in the goal.\\n The only legal moves are those that slide a block horizontally or vertically not both at once—into adjacent empty space.\\n Blocks may only be moved an integer number of spaces, and either the row or the column will be the same in the start position as in the end position for each move.\\n (It's not legal to rotate the tray of blocks.)\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"Your program should produce a line of output for each block move that leads directly to a solution.\")]),_vm._v(\"\\n Each such line will contain \"),_c('b',[_vm._v(\"four integers: the starting row and column of the upper left corner of the moving block, followed by the upper left corner's updated coordinates\")]),_vm._v(\". Example output appears below; the indicated moves, applied to the starting configuration of Figure 1, achieve the goal of Figure 2. (The annotations would not appear in the solution output.)\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n If your program, run with debugging output disabled, finds a solution to the puzzle, it\\n should exit normally after producing \"),_c('i',[_vm._v(\"only\")]),_vm._v(\" output as just described, that is, the\\n lines representing block moves that solve the puzzle. In particular, if the initial\\n configuration satisfies the goal, your program should exit normally after producing no\\n output. \"),_c('b',[_vm._v(\"If your program cannot find a solution to the puzzle, it should exit with the call\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"again after producing no output.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"\\n You should check that command-line arguments are correctly specified, but you may assume\\n that the initial and goal configuration files are free of errors. You may also assume that\\n the length and width of a tray are no larger than 256.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Your program will be tested on a set of different puzzles as benchmarks of the performance of your program.\\n There are three sets of benchmarks: \"),_c('b',[_vm._v(\"Easy\")]),_vm._v(\", \"),_c('b',[_vm._v(\"Medium\")]),_vm._v(\" and \"),_c('b',[_vm._v(\"Hard\")]),_vm._v(\". For Part 2, your program is\\n required to solve all easy puzzles within the time limit. For Part 3, your program is required to solve\\n at least ten hard puzzles within the time limit.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"Download the benchmarks\")]),_vm._v(\" from the starter code. Then \"),_c('b',[_vm._v(\"compile your program and put all generated .class file\\n into the benchmark folder (where tester.csh located)\")]),_vm._v(\". Make sure your \"),_c('b',[_vm._v(\"main class is called Solver with no\\n package declaration\")]),_vm._v(\".\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n You should see three bash files: \"),_c('code',[_vm._v(\"run.easy\")]),_vm._v(\", \"),_c('code',[_vm._v(\"run.medium\")]),_vm._v(\", \"),_c('code',[_vm._v(\"run.hard\")]),_vm._v(\". Each\\n of them represent a set of benchmark tests. The following section will be a demonstration on how to run the\\n Easy benchmark. You should be able to run Medium and Hard benchmarks in a similar way.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n The script should output \"),_c('code',[_vm._v(\"Verified\")]),_vm._v(\" for every puzzle that your program solved correctly. If your program\\n failed on any test, you may also find a copy of all configuration and goal files within \"),_c('code',[_vm._v(\"benchmark_easy\")]),_vm._v(\" directory.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h4',[_vm._v(\"Part 1 - Design (4 points)\")]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(\"(You are not required to write any code for this part)\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n After finding a sponsor, you are to prepare a design for the \"),_c('code',[_vm._v(\"Solver\")]),_vm._v(\" program.\\n You need not produce the shortest possible sequence of moves, nor (for this part) will your\\n program need to be exceptionally efficient.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The \"),_c('code',[_vm._v(\"Solver\")]),_vm._v(\" program will need to search the tree of possible move sequences to\\n find a solution to the puzzle. In your design, outline in detail how the program will do the\\n following:\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Represent the problem (what classes are you planning to write)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Check if the goal configuration has been achieved\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Generate moves possible in the current configuration, and choose the move to explore next\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Make and unmake moves\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Detect previously visited configurations in order to avoid infinite cycling.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Your sponsor will expect to see unambiguous descriptions of how the program will perform\\n each of these operations.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Once you get your design approved, inform the Course Manager to get this approval recorded.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Implement your design from part 1, \"),_c('b',[_vm._v(\"make it work on small puzzles\")]),_vm._v(\", and \"),_c('b',[_vm._v(\"identify potential improvements\")]),_vm._v(\"\\n to the program necessary to make it work efficiently with large or complicated puzzles.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"Your program should conform to the interface requirements\")]),_vm._v(\" described at the start of this assignment:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"\\n Command line arguments specify debugging options (this argument is optional) and the initial\\n and goal configuration files.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n You are to include an \\\"is OK\\\" method in your class that represents the tray. When an appropriate debugging\\n option is enabled, a call to this method should accompany each change to objects in the class. The\\n \\\"is OK\\\" method should throw \"),_c('code',[_vm._v(\"IllegalStateException\")]),_vm._v(\" with an informative message if it finds\\n a problem, e.g. two blocks occupying the same space in the tray, or a block sitting outside the tray.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h4',[_vm._v(\"\\n Program style and organization\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n It is likely in this assignment that you will need to revise code you implement in this version to\\n be able to handle larger puzzles. Thus you should organize your program into classes that allow\\n easy substitution of efficient code for inefficient code or of one algorithm for another (e.g.\\n depth-first move processing for breadth-first) in each area.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n As usual, your code should include informative comments for all your classes and methods. Use\\n straightforward algorithms where possible. Give your variables and methods informative names.\\n Declare all the data fields and methods within each class to have the proper\\n \"),_c('i',[_vm._v(\"public/private/protected/package\")]),_vm._v(\" qualifier. In particular, you are not allowed to make\\n things public that would allow a user to corrupt your data structures (even if none of your own code\\n would do this).\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h4',[_vm._v(\"Plan for part 3\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Producing a program that can solve large or complicated puzzles involves answering a number of questions.\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('p',[_vm._v(\"\\n Move generation will involve examining either the blocks in the tray or the empty space in\\n the tray. Should the tray be stored as a list of blocks/empty spaces to optimize move generation,\\n or should the locations in the tray be represented explicitly with a two-dimensional array? If\\n the former, should blocks/spaces in the list be sorted?\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n What board representation optimizes the operation of checking whether the goal has been reached?\\n If this representation is incompatible with implementations that optimize move generation, how\\n should the conflict be resolved?\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n Should block moves of more than one space be considered? Why or why not?\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n Should the tree of possible move sequences be processed depth first, breadth first, or some other way?\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n The program needs to make and unmake moves. Again, a representation that optimizes these operations\\n may not be so good for others. Determine how to evaluate tradeoffs among representations.\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n The program must detect configurations that have previously been seen in order to avoid infinite\\n loops. Hashing is a good technique to apply here. What's a good hash function for configurations?\\n The default limits for Java memory allocation may limit the maximum number of configurations that\\n the table can contain. (The blocks in the puzzle diagrammed in Figure 1 may be moved into 65,880\\n different configurations.) How can this constraint be accommodated, and what effect does it have\\n on other operations?\\n \")])])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Some of these questions can be answered with careful analysis. Others require empirical evidence.\\n Your program (with appropriate debugging options enabled) should produce enough information for\\n you to make intelligent decisions about where its processing bottlenecks are.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Your sponsor will expect you to identify and defend, in your plan for part 3, at least three avenues\\n for program improvement, along with design decisions that you feel you made correctly in the current\\n version.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Again, once you get your program graded and an optimization plan approved, inform the Course Manager\\n to get this approval recorded. If you spend too much time trying to make the program for this part\\n efficient, you will lose pacing points and risk lowering your course grade.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h4',[_vm._v(\"Part 3 (8 points)\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Make your program efficient enough to solve at least ten of the hard puzzles in the benchmark,\\n using no more than two minutes each on one of the workstations\\n in the Self-Paced Center, run with default settings for Java memory allocation. A file named\\n \"),_c('code',[_vm._v(\"README\")]),_vm._v(\" in the directory describes the puzzles; the shell script \"),_c('code',[_vm._v(\"run.hard\")]),_vm._v(\"\\n runs the \"),_c('code',[_vm._v(\"Solver\")]),_vm._v(\" program on them.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Also provide a writeup that documents and defends the decisions you made to design the program. This\\n writeup will include the following:\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('p',[_vm._v(\"a description of your data structures for the tray and blocks;\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n a list of the operations on blocks, boards, and the collection of boards seen earlier in\\n the solution search;\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n a list of alternative strategies for selecting moves and alternatives for representing blocks,\\n boards, and the collection of already-seen boards;\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n analysis of the advantages and disadvantages of each alternative in these lists;\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n a description of the alternatives you adopted and of evidence you collected that support your choices.\\n \")])])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n This writeup will include the material in the designs you produced for parts 1 and 2.\\n Submit the writeup and your solution program online as described previously.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('h3',[_vm._v(\"Part 1 (4 points)\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Detailed pseudocode outline of the \"),_c('code',[_vm._v(\"Solver\")]),_vm._v(\" class, including the following operations:\\n \"),_c('ul',[_c('li',[_vm._v(\"goal checking;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"move generation;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"making and unmaking of moves;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"detection of previously visited configurations.\")])])])]),_vm._v(\" \"),_c('h3',[_vm._v(\"Part 2 (8 points)\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correctly working code:\\n \"),_c('ul',[_c('li',[_vm._v(\"solutions found where possible;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"user interface provided as specified (command-line arguments, output format, exit status, debugging output).\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Well-designed debugging output:\\n \"),_c('ul',[_c('li',[_vm._v(\"all interesting events revealed;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"output appropriately matched to requested output options;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"debugging information sufficient to identify at least three avenues for efficiency improvement.\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Sufficient testing:\\n \"),_c('ul',[_c('li',[_vm._v(\"a \"),_c('code',[_vm._v(\"main()\")]),_vm._v(\" method included with each class that thoroughly tests its operations;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"all program statements tested;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"a transcript of correct behavior on the puzzles in \"),_c('code',[_vm._v(\"easy\")]),_vm._v(\" puzzles;\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Good program organization:\\n \"),_c('ul',[_c('li',[_vm._v(\"appropriate division into classes that allow easy substitution of algorithm and implementation choices;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no unnecessarily public data.\")])])]),_c('li',[_vm._v(\"A printed listing of your classes and methods, indented to show their structure, accompanied by comments that describe their purpose and arguments.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Reasonable names for methods and parameters.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Identification of efficiency improvements:\\n \"),_c('ul',[_c('li',[_vm._v(\"description, supported by analysis and program instrumentation, of at least three program bottlenecks;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"description of program modifications necessary to remove the bottlenecks;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"defense of program design decisions that \"),_c('i',[_vm._v(\"do not\")]),_vm._v(\" need revision.\")])])])]),_vm._v(\" \"),_c('h3',[_vm._v(\"Part 3 Optimization (6 points)\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"\\n Ten of the \"),_c('code',[_vm._v(\"hard\")]),_vm._v(\" puzzles each solved within two minutes.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Writeup that documents and defends design decisions:\\n \"),_c('ul',[_c('li',[_vm._v(\"a description of your data structures for the tray and blocks;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"a list of the operations on blocks, boards, and the collection of boards seen earlier in the solution search;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"a list of alternative strategies for selecting moves and alternatives for representing blocks, boards, and the collection of already-seen boards;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"analysis of the advantages and disadvantages of each alternative in these lists;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"a description of the alternatives you adopted and of evidence you collected that support your choices.\")])])])]),_vm._v(\" \"),_c('h3',[_vm._v(\"\\n Other (4 points)\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Satisfaction of conditions arranged with the sponsoring tutor.\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-6309256c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/47b/BlocksProject.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./BlocksProject.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./BlocksProject.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6309256c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./BlocksProject.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/47b/BlocksProject.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/windows_env_var.896ddf6.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/images/windows_env_var.png\n// module id = 6NhW\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/windows_var.2eb15db.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/windows_var.png\n// module id = 6Sl5\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 4: Linked Structures\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Kernighan and Ritchie, 5.6, 5.8 through 5.12, 6.4, and 6.5'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n What's the difference between the use of \\\".\\\" and the use of \\\"->\\\"\\n in referring to a field of a structure?\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Declare a type named \"),_c('tt',[_vm._v(\"ListPtrType\")]),_vm._v(\" that's a pointer to a\\n \"),_c('code',[_vm._v(\"struct\")]),_vm._v(\", each instance of which contains an integer \"),_c('code',[_vm._v(\"info\")]),_vm._v(\"\\n member and a \"),_c('tt',[_vm._v(\"next\")]),_vm._v(\" member that's a pointer to an instance of the\\n \"),_c('code',[_vm._v(\"struct\")]),_vm._v(\" type.\\n \")],1)]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Write a function that returns a pointer to a newly-created node of the structure\\n type you just declared. Use \"),_c('code',[_vm._v(\"sizeof\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"calloc\")]),_vm._v(\" to allocate\\n the space for the new node.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Given the following declarations\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"struct tnode {\\n char *word;\\n struct tnode *left, *right;\\n};\\n\\ntypedef struct tnode TREENODE, *TREEPTR;\\nTREEPTR tree;\\nTREENODE node;\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Indicate which of the following are legal expressions; for legal expressions,\\n also indicate the type of the expression.\\n \")]),_vm._v(\" \"),_c('ol',{attrs:{\"type\":\"a\"}},[_c('li',[_c('code',[_vm._v(\"node->word[2]\")])]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"node.word[2]\")])]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"tree->left->word\")])]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"*(tree->left)\")])]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"*tree->left\")])]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"tree->*left\")])])]),_vm._v(\" \"),_c('p')]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',{staticClass:\"SmartList1\",attrs:{\"value\":\"5\"}},[_c('QuizQuestion',[_c('p',[_vm._v(\"What does \"),_c('code',[_vm._v(\"*p++\")]),_vm._v(\" mean?\")])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Page 115 of K&R contains the following program to print the argument list.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"int main (int argc, char *argv[]) {\\n while (--argc > 0) {\\n printf (\\\"%s%s\\\", *++argv, (argc > 1) ? \\\" \\\" : \\\"\\\");\\n }\\n printf (\\\"\\\\n\\\");\\n return 0;\\n}\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Modify this program to print the arguments on separate lines, and to\\n omit duplicate arguments from the argument list. If, for instance,\\n the program is run with the command line\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"a.out a b a c\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"the output should be\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"a\\nb\\nc\")])])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"\\n This quiz tests your understanding of how linked structures are created\\n and used. It also includes questions on more advanced uses of pointers.\\n Finally, you are expected to know about \"),_c('code',[_vm._v(\"argv\")]),_vm._v(\" and\\n \"),_c('code',[_vm._v(\"argc\")]),_vm._v(\", which store information from the command line\\n \")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-379f3962\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/c/LinkedStructures.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-379f3962\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./LinkedStructures.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/c/LinkedStructures.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/cpp/ClassDesignExercises.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('p',{staticClass:\"Body\"},[_vm._v(\"\\n This programming assignment focuses on three aspects of class design: operator overloading, use of inheritance, and design of function and class templates.\\n \")]),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'A Computer Science Tapestry: section 9.4 (operator overloading), chapters 11 (templates), 13 (inheritance), and appendix E (operator overloading).'\n },\n {\n title: 'C++ Program Design: sections 9.3 through 9.5 (operator overloading), 10.6 (iterators), 12.9, and chapters 13 (inheritance) and 14 (templates and polymorphism) except for material on multiple inheritance.'\n },\n {\n title: 'Computing Fundamentals with C++: section 11.2 (iterators) and chapters 16 (inheritance), 17 (templates), and 18 (operator overloading).'\n }\n ]}},[_c('blockquote',[_c('p',[_vm._v(\"\\n It is important to understand the difference between using a friend function and using a member.\\n If you are still unclear about their uses and syntactic differences,\\n \"),_c('a',{attrs:{\"href\":\"http://www.cplusplus.com/doc/tutorial/inheritance/\"}},[_vm._v(\"This page might help\")]),_vm._v(\".\\n \")])])]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Exercise 2: SortedList\")]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('ol',{attrs:{\"type\":\"1\"}},[_vm._m(4),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('li',[_vm._m(6),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_c('p',[_vm._v(\"Then the code\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"iter = new SortedListIterator(list);\\nwhile (iter->MoreRemain()) {\\n cout << \\\" \\\" << iter->Next();\\n}\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"should produce the output\")]),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"List 1: 3 5 7 10\\nList 2: 4 6 8 11\\nShould get operator= call here deleting elements of list 1.\\n*** in operator=, destroying: 3 5 7 10\\nList 1 after replacement: 4 6 8 11\\nError msg should result here from assigning list 2 to itself.\\n*** Assigning a list to itself.\\nShould get copy constructor call here.\\n*** in copy constructor\\nShould get operator= call here deleting old elements of list 1.\\n*** in operator=, destroying: 4 6 8 11\\nList 1 after assignment from list2: 4 6 8 11\\nList 2 after assignment: 4 6 8 11\\nPairs of list 2 elements: (6 4) (8 4) (8 6) (11 4) (11 6) (11 8)\\nShould now get three destructor calls, one each for list1, list2, and list3.\\n*** in destructor, destroying: 4 6 8 11\\n*** in destructor, destroying: 4 6 8 11\\n*** in destructor, destroying: 4 6 8 11\")])]),_vm._v(\" \"),_vm._m(13)])]),_vm._v(\" \"),_vm._m(14)])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Please download the starter code from above.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Your Task\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Do \"),_c('em',[_vm._v(\"all two\")]),_vm._v(\" of the programming exercises described below.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Exercise 1: Cat and Mouse\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n You are to complete the project based on the flow-of-control project you wrote\\n by adding a module that uses inheritance.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n You are to provide files \"),_c('code',[_vm._v(\"animals.h\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"animals.cpp\")]),_vm._v(\" that define\\n classes \"),_c('code',[_vm._v(\"Mouse\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Cat\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"Person\")]),_vm._v(\". A \"),_c('code',[_vm._v(\"Mouse\")]),_vm._v(\"\\n object doesn't \\\"chase\\\" anything; it merely moves counterclockwise around the statue, one\\n meter per call to \"),_c('code',[_vm._v(\"Chase\")]),_vm._v(\". \"),_c('i',[_vm._v(\"Therefore, use the mouse's radius as the statue's\\n radius.\")]),_vm._v(\" A \"),_c('code',[_vm._v(\"Cat\")]),_vm._v(\" object has a \"),_c('code',[_vm._v(\"Mouse\")]),_vm._v(\" object as its target. If the\\n cat sees its target, it moves one meter toward the statue; otherwise it circles 1.25 meters\\n counterclockwise around the statue. A \"),_c('code',[_vm._v(\"Person\")]),_vm._v(\" object is trying to photograph the\\n situation. It doesn't try to capture anything. If it sees its target, it doesn't move; otherwise\\n it circles 2 meters \"),_c('code',[_vm._v(\"clockwise\")]),_vm._v(\" around the statue.\\n \")]),_vm._v(\" \"),_c('p',[_c('code',[_vm._v(\"Mouse\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Cat\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"Person\")]),_vm._v(\" are to be derived from class\\n \"),_c('code',[_vm._v(\"Animal\")]),_vm._v(\". Provide enough diagnostic output in each member function so that a tutor\\n can see whether it's performing as specified. Test your program in the same way you did for\\n the flow-of-control project. Your program should also adhere to standards described in the\\n section \\\"Style guidelines\\\" distributed earlier this semester.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"All starter files provided for this exercise are listed as below:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('p',[_c('code',[_vm._v(\"cat+mouse.cpp\")]),_vm._v(\": This contains the main program, which constructs a \\\"scene\\\"\\n of animals running around the statue and runs the simulation. The simulation stops when\\n one of the animals in the scene captures its target. The code doesn't do much error\\n checking. Don't worry about that; just use it unmodified.\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_c('code',[_vm._v(\"park.h\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"park.cpp\")]),_vm._v(\": These comprise the module for the scene and\\n the basic animal object. The \"),_c('code',[_vm._v(\"Scene\")]),_vm._v(\" constructor prompts the user for the name,\\n animal type, starting position, and target object for each animal in the simulation. The\\n \"),_c('code',[_vm._v(\"Animal\")]),_vm._v(\" class is the base class for simulation animals. It defines a virtual\\n \"),_c('code',[_vm._v(\"Chase\")]),_vm._v(\" method that \"),_c('code',[_vm._v(\"Animal\")]),_vm._v(\" objects use to move.\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_c('code',[_vm._v(\"positions.h\")]),_vm._v(\": This comprises a module for positions similar to what you wrote\\n for the \\\"Flow of Control Project\\\" assignment.\\n (\"),_c('i',[_vm._v(\" You should make very minimal changes to position.h to finish this assignment.\")]),_vm._v(\" Our\\n solution makes only \"),_c('b',[_vm._v(\" one\")]),_vm._v(\" change to this header.)\\n \")])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correctly working code.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"No changes to existing code.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Inheritance used as specified.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Testing as specified.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Adherence to CS 9F style standards:\\n \"),_c('ul',[_c('li',[_vm._v(\"appropriate use of indenting and white space;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"avoidance of \\\"forbidden C++\\\";\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable and function names that reflect their use;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"informative comments at the head of each function;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no routine more than twenty-four lines of code.\")])])])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"This exercise has three parts, involving modifications to code in\\n \"),_c('code',[_vm._v(\"sorted.lists.h\")]),_vm._v(\".\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"The headers for the\"),_c('code',[_vm._v(\"SortedList\")]),_vm._v(\" member functions have been omitted. Supply them.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"\\n Add a member function that overloads the assignment operator (\\\"=\\\") for sorted lists. Your\\n function should first delete all the \"),_c('code',[_vm._v(\"ListNode\")]),_vm._v(\" objects in the variable being\\n assigned to (the left hand side of the =). It should then construct a \"),_c('code',[_vm._v(\"copy\")]),_vm._v(\" of\\n the list on the right hand side of the = to assign to the variable on the left hand side.\\n (Be prepared to explain to a tutor how this behavior differs from the default assignment\\n behavior.)\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Provide a \"),_c('code',[_vm._v(\"SortedListIterator\")]),_vm._v(\" class that allows elements of a sorted list to\\n be returned, one by one. The \"),_c('code',[_vm._v(\"SortedListIterator\")]),_vm._v(\" class will have three member\\n functions: \"),_c('b',[_vm._v(\"(1) a constructor\")]),_vm._v(\"; \"),_c('b',[_vm._v(\"(2) a boolean \"),_c('code',[_vm._v(\"MoreRemain\")]),_vm._v(\" function\")]),_vm._v(\",\\n which says whether more elements of the list remain to be generated; \"),_c('b',[_vm._v(\"(3) a \"),_c('code',[_vm._v(\"Next\")]),_vm._v(\"\\n function\")]),_vm._v(\", which returns the next element in the list.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n You'll also need to make it a friend to the \"),_c('code',[_vm._v(\"SortedList\")]),_vm._v(\" and\\n \"),_c('code',[_vm._v(\"ListNode\")]),_vm._v(\" classes. (Tutors may ask you why.)\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Here's an example of how the \"),_c('code',[_vm._v(\"SortedListIterator\")]),_vm._v(\" functions should work. Suppose\\n that the contents of the variable list are as shown in the diagram below.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/sorted-list.png\")}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('pre',[_c('code',{staticClass:\"plain\"},[_vm._v(\"1 5 7\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n The \"),_c('code',[_vm._v(\"SortedListIterator\")]),_vm._v(\" class is separate from the\\n \"),_c('code',[_vm._v(\"SortedList\")]),_vm._v(\" class to simplify having multiple iterators.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n The file \"),_c('code',[_vm._v(\"sltest.cpp\")]),_vm._v(\" contains a test program that exercises all this code. A\\n listing of the program appears on the following pages. It should produce the output given\\n below; your output must match it.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n In case you're wondering why functions appear in a \"),_c('dfn',[_vm._v(\".h\")]),_vm._v(\" file, it's because of\\n the class template. The designer of C++, Bjarne Stroustrup notes in\\n \"),_c('i',[_vm._v(\"\\n The Design and Evolution of C++\\n \")]),_vm._v(\"\\n (Addison-Wesley, 1994) that \\\"templates don't fit neatly into this picture [the division of programs into\\n \"),_c('dfn',[_vm._v(\".h\")]),_vm._v(\" and\\n \"),_c('dfn',[_vm._v(\".cpp\")]),_vm._v(\" files]. ... A template isn't just source code (what is instantiated from a template is more like traditional source code), so template definitions don't quite belong in\\n \"),_c('dfn',[_vm._v(\".cpp\")]),_vm._v(\" files. On the other hand, templates are not just types and interface information, so they don't quite belong in\\n \"),_c('dfn',[_vm._v(\".h\")]),_vm._v(\" files either.\\\" For CS 9F, we decided that putting template code in a\\n \"),_c('dfn',[_vm._v(\".h\")]),_vm._v(\" file was less confusing than\\n \"),_c('dfn',[_vm._v(\"#include\")]),_vm._v(\"'ing a\\n \"),_c('dfn',[_vm._v(\".cpp\")]),_vm._v(\" file.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h3',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correct function headers.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Correct overload of =, and explanation of why overloading assignment is necessary to produce the desired behavior.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Correctly implemented \"),_c('code',[_vm._v(\"SortedListIterator\")]),_vm._v(\" class.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Output that matches the output given above.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Listings of program text, tests, and test results.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Adherence to CS 9F style standards:\\n \"),_c('ul',[_c('li',[_vm._v(\"appropriate use of indenting and white space;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"avoidance of \\\"forbidden C++\\\";\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable and function names that reflect their use;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"informative comments at the head of each function;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no routine more than twenty-four lines of code.\")])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5519998b\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/cpp/ClassDesignExercises.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./ClassDesignExercises.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./ClassDesignExercises.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5519998b\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./ClassDesignExercises.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/ClassDesignExercises.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/gif;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/47b/images/graph.gif\n// module id = 7a8V\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/unit_converter_mco_mapping.4b07b7d.gif\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/python/images/unit_converter_mco_mapping.gif\n// module id = 7hcB\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/matlab/WorkingWithTheSymbolicMathToolbox.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('p',[_vm._v(\"This programming assignment introduces you to MATLAB's Symbolic Math\\n Toolbox.\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Assignment\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Exercise 2: Solving Systems of Equations\")]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"syms x\\neqn = x^2 - 3*x - 4\\nsolve(eqn)\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Try it yourself. Notice you get two roots, of course.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Next, let’s try the inhomogeneous system\")]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('p',[_vm._v(\"Now the syntax is more complicated:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"syms x1 x2\\neqn1 = x1 + 2*x2 - 3\\neqn2 = 4*x1 + x2 + 2\\nS = solve(eqn1, eqn2) % You may use any symbol you prefer instead of S.\\nS.x1 This returns the value of x1 in the solution.\\nS.x2 This returns the value of x2 in the solution.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Use the Symbolic Toolbox to solve the following system (this is what\\n you turn in):\")]),_vm._v(\" \"),_vm._m(6)]),_vm._v(\" \"),_vm._m(7)]),_vm._v(\" \"),_vm._m(8)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Readings\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://www.mathworks.com/help/symbolic/create-symbolic-numbers-variables-and-expressions.html\"}},[_c('cite',[_vm._v(\"MATLAB Documentation\")]),_vm._v(\" Symbolic Numbers, Variables, and Expressions\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://www.mathworks.com/help/symbolic/create-symbolic-functions.html\"}},[_c('cite',[_vm._v(\"MATLAB Documentation\")]),_vm._v(\" Create Symbolic Functions\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://www.mathworks.com/help/symbolic/create-symbolic-matrices.html\"}},[_c('cite',[_vm._v(\"MATLAB Documentation\")]),_vm._v(\" Create Symbolic Matrices\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://www.mathworks.com/help/symbolic/performing-symbolic-computations.html\"}},[_c('cite',[_vm._v(\"MATLAB Documentation\")]),_vm._v(\" Perform Symbolic Computations\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://www.mathworks.com/help/symbolic/assumptions-for-symbolic-objects.html\"}},[_c('cite',[_vm._v(\"MATLAB Documentation\")]),_vm._v(\" Use Assumptions on Symbolic Variables\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"Reference: \"),_c('a',{attrs:{\"href\":\"https://www.mathworks.com/help/symbolic/index.html\"}},[_c('cite',[_vm._v(\"MATLAB Documentation\")]),_vm._v(\" Symbolic Math Toolbox\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This assignment has been partially adapted from lab exercises designed\\n by Professor Eric Woolgar at the University of Alberta.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Here are some examples of relevant MATLAB commands:\")]),_vm._v(\" \"),_c('table',{staticStyle:{\"width\":\"100%\"}},[_c('tbody',[_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"min-width\":\"25%\",\"padding\":\"8px 0\"}},[_c('code',[_vm._v(\"x = sym('x')\")])]),_vm._v(\" \"),_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_vm._v(\"defines \"),_c('code',[_vm._v(\"x\")]),_vm._v(\" to be a symbolic object that can then be treated as a mathematical variable.\")])]),_vm._v(\" \"),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_c('code',[_vm._v(\"syms('a', 'b', 'c', 'd)\")])]),_vm._v(\" \"),_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_vm._v(\"creates several symbolic objects at once; \"),_c('code',[_vm._v(\"syms('a')\")]),_vm._v(\" is the same as \"),_c('code',[_vm._v(\"a = sym('a')\")]),_vm._v(\".\")])]),_vm._v(\" \"),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_c('code',[_vm._v(\"syms a b c d\")])]),_vm._v(\" \"),_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_vm._v(\"same as \"),_c('code',[_vm._v(\"syms('a', 'b', 'c', 'd')\")]),_vm._v(\".\")])]),_vm._v(\" \"),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_c('code',[_vm._v(\"y = sym('1/2')\")])]),_vm._v(\" \"),_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_vm._v(\"creates the symbolic object \"),_c('code',[_vm._v(\"y\")]),_vm._v(\" and then gives it the definite value \"),_c('sup',[_vm._v(\"1\")]),_vm._v(\"⁄\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\", so \"),_c('code',[_vm._v(\"y\")]),_vm._v(\" is treated as a mathematical constant.\")])]),_vm._v(\" \"),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_c('code',[_vm._v(\"M = [a b; c d]\")])]),_vm._v(\" \"),_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_vm._v(\"creates a symbolic matrix, if \"),_c('code',[_vm._v(\"a\")]),_vm._v(\", \"),_c('code',[_vm._v(\"b\")]),_vm._v(\", \"),_c('code',[_vm._v(\"c\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"d\")]),_vm._v(\" are symbolic objects.\")])]),_vm._v(\" \"),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_c('code',[_vm._v(\"ezplot(y, [a b])\")])]),_vm._v(\" \"),_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_vm._v(\"plots the symbolic expression \"),_c('code',[_vm._v(\"y\")]),_vm._v(\" (given as a function of the symbolic object \"),_c('code',[_vm._v(\"x\")]),_vm._v(\") on the interval from \"),_c('code',[_vm._v(\"a\")]),_vm._v(\" to \"),_c('code',[_vm._v(\"b\")]),_vm._v(\".\")])]),_vm._v(\" \"),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_c('code',[_vm._v(\"factor(y)\")])]),_vm._v(\" \"),_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_vm._v(\"factors the symbolic expression \"),_c('code',[_vm._v(\"y\")]),_vm._v(\" (given as a function of the symbolic object \"),_c('code',[_vm._v(\"x\")]),_vm._v(\").\")])]),_vm._v(\" \"),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_c('code',[_vm._v(\"S = solve(eqn1, eqn2, ...)\")])]),_vm._v(\" \"),_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_vm._v(\"solves a system of equations in symbolic variables \"),_c('code',[_vm._v(\"x1\")]),_vm._v(\", \"),_c('code',[_vm._v(\"x2\")]),_vm._v(\", ... and stores the solution in \"),_c('code',[_vm._v(\"S\")]),_vm._v(\".\")])]),_vm._v(\" \"),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_c('code',[_vm._v(\"S.x1\")])]),_vm._v(\" \"),_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_vm._v(\"returns the value that \"),_c('code',[_vm._v(\"x1\")]),_vm._v(\" takes in the solution \"),_c('code',[_vm._v(\"S\")]),_vm._v(\".\")])]),_vm._v(\" \"),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_c('code',[_vm._v(\"simplify(S.x1)\")])]),_vm._v(\" \"),_c('td',{staticStyle:{\"padding\":\"8px 0\"}},[_vm._v(\"simplifies the expression for \"),_c('code',[_vm._v(\"x1\")]),_vm._v(\".\")])])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h3',[_vm._v(\"Exercise 1: Symbolic Root Finding\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Plot the polynomial \"),_c('var',[_vm._v(\"y\")]),_vm._v(\" = \"),_c('var',[_vm._v(\"x\")]),_c('sup',[_vm._v(\"3\")]),_vm._v(\" –\\n 3\"),_c('var',[_vm._v(\"x\")]),_vm._v(\" + 2. Factor \"),_c('var',[_vm._v(\"y\")]),_vm._v(\" and find all values of\\n \"),_c('var',[_vm._v(\"x\")]),_vm._v(\" such that \"),_c('var',[_vm._v(\"y\")]),_vm._v(\" = 0. Remember when defining\\n \"),_c('var',[_vm._v(\"y\")]),_vm._v(\" to first define \"),_c('var',[_vm._v(\"x\")]),_vm._v(\" as symbolic. Also remember that\\n every multiplication must be represented by an asterisk (\"),_c('code',[_vm._v(\"*\")]),_vm._v(\")\\n and that exponents are preceded by the hat (\"),_c('code',[_vm._v(\"^\")]),_vm._v(\") symbol.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"To solve an equation or a system of equations in the Symbolic Toolbox,\\n rewrite each equation if necessary so that the right-hand side is 0. Give\\n the left-hand side of each equation a name. For single equations, apply\\n the \"),_c('code',[_vm._v(\"solve\")]),_vm._v(\" command directly to this name. For systems of\\n equations, first apply the \"),_c('code',[_vm._v(\"solve\")]),_vm._v(\" command and then ask for\\n the value of each unknown variable in turn.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"For example, to solve \"),_c('var',[_vm._v(\"x\")]),_c('sup',[_vm._v(\"2\")]),_vm._v(\" – 3\"),_c('var',[_vm._v(\"x\")]),_vm._v(\" + 1 =\\n 5, we can rewrite it as \"),_c('var',[_vm._v(\"x\")]),_c('sup',[_vm._v(\"2\")]),_vm._v(\" – 3\"),_c('var',[_vm._v(\"x\")]),_vm._v(\" – 4 = 0.\\n Then:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticStyle:{\"list-style-type\":\"none\"}},[_c('li',[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"1\")]),_vm._v(\" + 2\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"2\")]),_vm._v(\" = 3\")]),_vm._v(\" \"),_c('li',[_vm._v(\"4\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"1\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"2\")]),_vm._v(\" = –1\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticStyle:{\"list-style-type\":\"none\"}},[_c('li',[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"1\")]),_vm._v(\" + 2\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"2\")]),_vm._v(\" + 2\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"3\")]),_vm._v(\" = 0\")]),_vm._v(\" \"),_c('li',[_vm._v(\"2\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"1\")]),_vm._v(\" + 3\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"2\")]),_vm._v(\" + 4\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"3\")]),_vm._v(\" = 1\")]),_vm._v(\" \"),_c('li',[_vm._v(\"–\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"1\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"2\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"3\")]),_vm._v(\" = –6\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h3',[_vm._v(\"Exercise 3: Working with Symbolic Matrices\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This exercise involves what Donald Knuth (\"),_c('cite',[_vm._v(\"The Art of Computer\\n Programming, Volume 1: Fundamental Algorithms\")]),_vm._v(\") refers to as the\\n \"),_c('var',[_vm._v(\"n\")]),_vm._v(\"-by-\"),_c('var',[_vm._v(\"n\")]),_vm._v(\" \"),_c('dfn',[_vm._v(\"combinatorial matrix\")]),_vm._v(\":\")]),_vm._v(\" \"),_c('table',{staticStyle:{\"border-color\":\"#000\",\"border-spacing\":\"5px\",\"border-style\":\"solid\",\"border-width\":\"0 1px\",\"margin\":\"0 auto\",\"text-align\":\"center\"}},[_c('tbody',[_c('tr',[_c('td',[_c('var',[_vm._v(\"x\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"y\")])]),_c('td',[_c('var',[_vm._v(\"y\")])]),_c('td',[_vm._v(\"⋯\")]),_c('td',[_c('var',[_vm._v(\"y\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('var',[_vm._v(\"y\")])]),_c('td',[_c('var',[_vm._v(\"x\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"y\")])]),_c('td',[_vm._v(\"⋯\")]),_c('td',[_c('var',[_vm._v(\"y\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"⋯\")]),_c('td',[_vm._v(\"⋯\")]),_c('td',[_vm._v(\"⋯\")]),_c('td',[_vm._v(\"⋯\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('var',[_vm._v(\"y\")])]),_c('td',[_c('var',[_vm._v(\"y\")])]),_c('td',[_vm._v(\"⋯\")]),_c('td',[_c('var',[_vm._v(\"x\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"y\")])])])])]),_vm._v(\" \"),_c('p',[_vm._v(\"All of its elements are \"),_c('var',[_vm._v(\"y\")]),_vm._v(\" except those on the main\\n diagonal, which are \"),_c('var',[_vm._v(\"x\")]),_vm._v(\"+\"),_c('var',[_vm._v(\"y\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Find an expression for the sum of all \"),_c('var',[_vm._v(\"n\")]),_c('sup',[_vm._v(\"2\")]),_vm._v(\"\\n elements of the inverse of the combinatorial matrix of size \"),_c('var',[_vm._v(\"n\")]),_vm._v(\".\\n (Hint: it’s a simple expression in \"),_c('var',[_vm._v(\"n\")]),_vm._v(\", \"),_c('var',[_vm._v(\"x\")]),_vm._v(\", and\\n \"),_c('var',[_vm._v(\"y\")]),_vm._v(\".) To do this, use functions in the Symbolic Toolbox and\\n regular matrix functions to construct matrices of sizes 3, 4, 5, ... and\\n infer a pattern.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A printed sequence of Matlab commands for each of the three exercises\\n that produces a solution to the exercise.\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-369be962\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/matlab/WorkingWithTheSymbolicMathToolbox.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./WorkingWithTheSymbolicMathToolbox.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./WorkingWithTheSymbolicMathToolbox.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-369be962\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./WorkingWithTheSymbolicMathToolbox.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/matlab/WorkingWithTheSymbolicMathToolbox.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/terminal_commands.45e8ae9.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/images/terminal_commands.png\n// module id = 8kJP\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/47b/HeapExercises.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('article',[_c('h2',[_vm._v(\"Reading\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('cite',[_vm._v(\"Data Structures and Problem Solving using Java (4th Edition)\")]),_vm._v(\" Chapter 21\")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Goals\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A \"),_c('dfn',[_vm._v(\"priority queue\")]),_vm._v(\" is a data type whose elements each have a\\n numeric \"),_c('em',[_vm._v(\"priority\")]),_vm._v(\". It supports the operations of\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"inserting an element, and\")]),_vm._v(\" \"),_c('li',[_vm._v(\"removing the element with highest priority.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"A \"),_c('dfn',[_vm._v(\"binary heap\")]),_vm._v(\" implements a priority queue using an array, so\\n that both the insertion and the removal operations in the worst case can be\\n done in time proportional to the \"),_c('code',[_vm._v(\"log\")]),_vm._v(\" of the number of elements\\n in the queue.\")]),_vm._v(\"For this assignment, you will implement a heapas a linked tree \\n structure instead of using an array (Not a LinkedList). We hope this will reinforce your\\n understanding of heap operations and the features of an array that support their efficient implementation..\"),_c('p')]),_vm._v(\" \"),_c('article',[_c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains a single file\\n called \"),_c('code',[_vm._v(\"Heap.java\")]),_vm._v(\".\\n \")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Heap Exercise\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Code that implements a priority queue of \"),_c('code',[_vm._v(\"int\")]),_vm._v(\" values as a \"),_c('b',[_vm._v(\"binary\\n max heap\")]),_vm._v(\" is supplied in \"),_c('code',[_vm._v(\"Heap.java\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Modify the implementation so that it no longer uses an array (or ArrayList, or LinkedList, \\n or any other contiguous storage). Instead, your implementation should use explicitly linked heap \\n tree nodes and must implement all the public operations (constructor, \"),_c('code',[_vm._v(\"isEmpty\")]),_vm._v(\",\\n \"),_c('code',[_vm._v(\"remove\")]),_vm._v(\", \"),_c('code',[_vm._v(\"top\")]),_vm._v(\", \"),_c('code',[_vm._v(\"add\")]),_vm._v(\", and\\n \"),_c('code',[_vm._v(\"display\")]),_vm._v(\") provided by the array version. The \"),_c('code',[_vm._v(\"add\")]),_vm._v(\"\\n and \"),_c('code',[_vm._v(\"remove\")]),_vm._v(\" operations in your revised implementation should\\n still run in time proportional in the worst case to the \"),_c('code',[_vm._v(\"log\")]),_vm._v(\" of\\n the number of queue elements. The constructor and the \"),_c('code',[_vm._v(\"isEmpty\")]),_vm._v(\"\\n and \"),_c('code',[_vm._v(\"top\")]),_vm._v(\" operations should run in constant time.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Hint: You will probably find binary number representations helpful for this assignment. \")]),_vm._v(\" \"),_c('p',[_vm._v(\"Your program tests should include the following sequence of actions on a\\n heap initialized with at least six elements:\")]),_vm._v(\" \"),_c('ol',[_c('li',[_vm._v(\"Add an element that fills the bottom level of the heap.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Add one more element, which will create a new bottom level.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Remove an element from the heap.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Remove one more element from the heap (this should restore the heap to how it was just after initialization).\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Add two more elements, and then remove two more elements.\")])]),_vm._v(\" \"),_c('blockquote',{staticClass:\"note\"},[_vm._v(\"\\n The \"),_c('code',[_vm._v(\"Heap\")]),_vm._v(\" class in \"),_c('code',[_vm._v(\"Heap.java\")]),_vm._v(\" utilizes the \"),_c('code',[_vm._v(\"assert\")]),_vm._v(\"\\n keyword, so make sure to enable assertions when testing your program. You can do this\\n by using the \"),_c('code',[_vm._v(\"-enableassertions\")]),_vm._v(\" flag (or \"),_c('code',[_vm._v(\"-ea\")]),_vm._v(\" for short) if\\n running from a command line: \"),_c('code',[_vm._v(\"java -ea Heap\")]),_vm._v(\".\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"Tutors will also ask you to verify that, for a heap containing\\n \"),_c('code',[_vm._v(\"n\")]),_vm._v(\" elements, your \"),_c('code',[_vm._v(\"add\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"remove\")]),_vm._v(\"\\n operations indeed can always be performed in \"),_c('code',[_vm._v(\"log(n)\")]),_vm._v(\" time. Note\\n that a complete binary tree with \"),_c('code',[_vm._v(\"n\")]),_vm._v(\" nodes has \"),_c('code',[_vm._v(\"n/2\")]),_vm._v(\"\\n leaves, so any operation that requires a search of a level of the tree\\n isn't running quickly enough.\")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correctly implemented heap operations:\\n \"),_c('ul',[_c('li',[_vm._v(\"constructor, \"),_c('code',[_vm._v(\"isEmpty\")]),_vm._v(\", \"),_c('code',[_vm._v(\"remove\")]),_vm._v(\", \"),_c('code',[_vm._v(\"top\")]),_vm._v(\", \"),_c('code',[_vm._v(\"add\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"display\")]),_vm._v(\";\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"O(log n)\")]),_vm._v(\" worst-case behavior of \"),_c('code',[_vm._v(\"remove\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"add\")]),_vm._v(\";\")]),_vm._v(\" \"),_c('li',[_vm._v(\"constant-time worst-case behavior of the constructor, \"),_c('code',[_vm._v(\"isEmpty\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"top\")]),_vm._v(\".\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Tests as specified, with printed output that verifies correct behavior.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Reasonable names for methods and parameters.\")])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-954f634e\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/47b/HeapExercises.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./HeapExercises.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./HeapExercises.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-954f634e\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./HeapExercises.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/47b/HeapExercises.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 1: Introduction to Array and Matrix Operations\")]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Reading\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('cite',[_vm._v(\"Mastering Matlab (1st Edition)\")]),_vm._v(\" Chapter 2\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering Matlab (1st Edition)\")]),_vm._v(\" Chapter 3\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering Matlab (1st Edition)\")]),_vm._v(\" Chapter 4\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering Matlab (1st Edition)\")]),_vm._v(\" Sections 5.1 - 5.8, 5.12\")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Goals\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This quiz tests you on Matlab operations for creating and manipulating\\n vectors and matrices, and on the data types most commonly used for\\n vector/matrix elements. Questions focus on the colon and semicolon\\n operators, the quote operator to produce the transpose of a vector,\\n operators for subscripting and doing scalar and vector arithmetic, and\\n special variables such as \"),_c('code',[_vm._v(\"eps\")]),_vm._v(\", \"),_c('code',[_vm._v(\"inf\")]),_vm._v(\", and\\n \"),_c('code',[_vm._v(\"NaN\")]),_vm._v(\".\")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('p',[_vm._v(\"Give two different ways to construct the matrix\")]),_vm._v(\" \"),_c('table',[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"1\")]),_c('td',[_vm._v(\"2\")]),_c('td',[_vm._v(\"3\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"4\")]),_c('td',[_vm._v(\"5\")]),_c('td',[_vm._v(\"6\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"7\")]),_c('td',[_vm._v(\"8\")]),_c('td',[_vm._v(\"9\")])])])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Give two different ways to compute, for a vector \"),_c('var',[_vm._v(\"A\")]),_vm._v(\" = [\"),_c('var',[_vm._v(\"a\")]),_c('sub',[_vm._v(\"1\")]),_vm._v(\" \"),_c('var',[_vm._v(\"a\")]),_c('sub',[_vm._v(\"2\")]),_vm._v(\" ... \"),_c('var',[_vm._v(\"a\")]),_c('sub',[_vm._v(\"n\")]),_vm._v(\" ], the value \"),_c('var',[_vm._v(\"a\")]),_c('sub',[_vm._v(\"1\")]),_c('var',[_vm._v(\"a\")]),_c('sub',[_vm._v(\"1\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"a\")]),_c('sub',[_vm._v(\"2\")]),_c('var',[_vm._v(\"a\")]),_c('sub',[_vm._v(\"2\")]),_vm._v(\" + ... + \"),_c('var',[_vm._v(\"a\")]),_c('sub',[_c('var',[_vm._v(\"n\")])]),_c('var',[_vm._v(\"a\")]),_c('sub',[_c('var',[_vm._v(\"n\")])]),_vm._v(\".\")]),_vm._v(\" \"),_c('li',[_vm._v(\"What is produced by the following Matlab code?\\n \"),_c('pre',[_c('code',[_vm._v(\"a = [1:-1:-2, 1:2:3]\\nb = a*2\")])])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Suppose that vectors A and B contain the following values:\")]),_vm._v(\" \"),_c('pre',[_c('samp',[_vm._v(\"A = [2 -1 5 0]\\nB = [3 2 -1 4]\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"What is produced by the following Matlab code?\")]),_vm._v(\" \"),_c('pre',[_c('code',[_vm._v(\"C = A./B\\nC = 2*A + A.^B\\nC = 2.^B + A\\nC = 2*B/3.*A\")])])])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Solutions to Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_vm._v(\"\\n Some possible answers:\\n \"),_c('pre',[_c('code',[_vm._v(\"[1:3; 4:6; 7:9]\\n[1:3:9; 2:3:9; 3:3:9]'\\n[1,2,3; 4,5,6; 7,8,9]\\n[0:2; 3:5; 6:8] + ones(3, 3)\\nreshape([1:9], 3, 3)'\")])])]),_vm._v(\" \"),_c('li',[_c('pre',[_c('code',[_vm._v(\"sum(a.*a)\\na*a'\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Output from Matlab is as follows:\\n \"),_c('pre',[_c('samp',[_vm._v(\"a =\\n\\n 1 0 -1 -2 1 3\\n\\nb =\\n\\n 2 0 -2 -4 2 6\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Output from Matlab is as follows:\\n \"),_c('pre',[_c('samp',[_vm._v(\"C =\\n\\n 0.6667 -0.5000 -5.0000 0\\nC =\\n\\n 12.0000 -1.0000 10.2000 0\\nC =\\n\\n 10.0000 3.0000 5.5000 16.0000\\nC =\\n\\n 4.0000 -1.3333 -3.3333 0\")])])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-ff32f6be\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/matlab/IntroductionToArrayAndMatrixOperations.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ff32f6be\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./IntroductionToArrayAndMatrixOperations.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/matlab/IntroductionToArrayAndMatrixOperations.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/MadLibs.5b44550.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/java/images/MadLibs.jpg\n// module id = A04U\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/java/MadLibs.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Head First Java (2nd Edition) Chapter 5',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/5dot-writing-a-program-extra-strength-methods/writing_a_program_colon_extra-strength_m'\n },\n {\n title: 'Head First Java (2nd Edition) Chapter 6',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/6dot-get-to-know-the-java-api-using-the-java-library/get_to_know_the_java_api_colon_using_the'\n },\n {\n title: 'Head First Java (2nd Edition) Chapter 9 (pp. 235 - 249)',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/9dot-constructors-and-garbage-collection-life-and-death-of-an-object/constructors_and_garbage_collection_colo'\n }\n ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Example\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The following is an example interaction. The user inputs are shown in bold.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(4)]),_vm._v(\" \"),_vm._m(5)]),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/MadLibs.jpg\"),\"width\":\"299\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1. Cover of \"),_c('a',{attrs:{\"href\":\"http://www.amazon.com/gp/product/0843100559/ref=nosim/002-2648730-5112043?n=283155\"}},[_vm._v(\"The Original Mad Libs\")]),_c('a',{attrs:{\"href\":\"http://us.penguingroup.com/static/packages/us/yreaders/madlibs/history.html\"}},[_vm._v(\"®\")]),_vm._v(\", 1974\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Many of us as children were taken on seemingly unendurable car rides and thought we'd die of boredom.\\n Let's face it, you can play \"),_c('a',{attrs:{\"href\":\"http://www.gameskidsplay.net/games/mental_games/car_games.htm\"}},[_vm._v(\"the ABC game\")]),_vm._v(\"\\n for only so many miles. Then someone would pull out a Mad Libs® book and smiles would erupt on\\n everyone's faces as hilarity ensued. These wonderful word games are part of the fabric of\\n \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Americana\"}},[_vm._v(\"Americana\")]),_vm._v(\", and have also spurred many imitations\\n and \"),_c('a',{attrs:{\"href\":\"http://www.toothpastefordinner.com/120504/mad-libs-by-myself.gif\"}},[_vm._v(\"comedic references\")]),_vm._v(\".\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n (If this doesn't ring a bell, you should \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Mad_Libs\"}},[_vm._v(\"read more\\n about them and play some online\")]),_vm._v(\" to get a feel what they are.)\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains three files\\n called \"),_c('code',[_vm._v(\"MadLibsGame.java\")]),_vm._v(\", \"),_c('code',[_vm._v(\"MadLibsTestDrive.java\")]),_vm._v(\" and\\n \"),_c('code',[_vm._v(\"MadLib.java\")]),_vm._v(\".\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Your Task\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n We would like to create some fun, online Mad Libs®. There is real room for creativity here -- the\\n \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Part_of_speech\"}},[_vm._v(\"lexical categories\")]),_vm._v(\" can be as standard as\\n \"),_c('em',[_vm._v(\"nouns\")]),_vm._v(\", \"),_c('em',[_vm._v(\"verbs\")]),_vm._v(\" and \"),_c('em',[_vm._v(\"adjectives\")]),_vm._v(\" or be as creative as \"),_c('em',[_vm._v(\"professor's name\")]),_vm._v(\",\\n \"),_c('em',[_vm._v(\" canned meat\")]),_vm._v(\", and \"),_c('em',[_vm._v(\"favorite Monty Python actor\")]),_vm._v(\". In general, however, the more general\\n your blanks are, the more creative and hilarious your finished story will be.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"We want you to randomly generate one of the different Mad\\n Libs® sentences. That is, you'll write a Java program that asks the\\n user for different blanks (you might ask for a \"),_c('em',[_vm._v(\"noun\")]),_vm._v(\", \"),_c('em',[_vm._v(\"verb\")]),_vm._v(\"\\n and \"),_c('em',[_vm._v(\"adjective\")]),_vm._v(\" the first time, and a \"),_c('em',[_vm._v(\"verb\")]),_vm._v(\", \"),_c('em',[_vm._v(\"adverb\")]),_vm._v(\"\\n and \"),_c('em',[_vm._v(\"pronoun\")]),_vm._v(\" the second time, etc.) and then creates a Mad Lib®\\n based on the response. Your randomization has to involve the \"),_c('em',[_vm._v(\"types\")]),_vm._v(\"\\n of lexical categories, and not just \"),_c('em',[_vm._v(\"different output sentences\")]),_vm._v(\"\\n with the same categories. E.g., you can't always ask for a \"),_c('em',[_vm._v(\"noun\")]),_vm._v(\"\\n and a \"),_c('em',[_vm._v(\"verb\")]),_vm._v(\" and have template sentences that just use those two\\n categories, like:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Officer, I swear the NOUN said I needed to VERB in order to pass the DMV test!\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Momma always told me not to VERB the NOUN\")]),_vm._v(\" \"),_c('li',[_vm._v(\"In order to VERB, one must pet the NOUN first!\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Requirements\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n While we could just leave you to your own devices to design the entire project on\\n your own, we've decided to give you a few constraints that force you to utilize\\n some of the wonderful data structures built into Java (and to make the checkoffs\\n a little easier).\\n \")]),_vm._v(\" \"),_c('ol',[_c('li',[_vm._v(\"\\n You are going to need to encode \"),_c('b',[_vm._v(\"at least 5 Mad Libs® templates\")]),_vm._v(\" (feel\\n free to add more) into your program. You must store these in a Java\\n \"),_c('code',[_vm._v(\"Array\")]),_vm._v(\", to give you experience with that data structure.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n When you are asking the user for parts of speech for a \"),_c('em',[_vm._v(\"particular\")]),_vm._v(\" Mad\\n Lib®, you need to keep track of what remaining categories you still need before\\n the Mad Lib® is finished. Wouldn't it be great if Java provided a data structure\\n that allowed you to put things into some kind of collection, choose and delete\\n a random element, and check if the collection were empty to know when you're done?\\n Thankfully it does, and you know from the reading that it's called an\\n \"),_c('dfn',[_vm._v(\"ArrayList\")]),_vm._v(\"! (Note -- there are other data structures Java provides that\\n would serve equally well). Therefore, you \"),_c('b',[_vm._v(\"must use an \"),_c('code',[_vm._v(\"ArrayList\")]),_vm._v(\" to\\n store the lexical categories\")]),_vm._v(\" when you're asking the user for them.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n You need to have \"),_c('b',[_vm._v(\"at least one template\")]),_vm._v(\" that has \"),_c('b',[_vm._v(\"multiple instances\")]),_vm._v(\"\\n of the same part of speech (e.g., ADJECTIVEs in the example above). If you try the\\n online Mad Libs®, you'll find yourself providing what seems like 15 nouns! Clearly\\n they did something similar to keep track of all the nouns that were given so they\\n could stuff them in the right place in their template, and you will face this\\n challenge also.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n You should have \"),_c('b',[_vm._v(\"one \\\"driver\\\" class\")]),_vm._v(\" called \"),_c('code',[_vm._v(\"MadLibsGame\")]),_vm._v(\" which\\n will contain a \"),_c('code',[_vm._v(\"main\")]),_vm._v(\" method.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n You should have \"),_c('b',[_vm._v(\"one \\\"testing\\\" class\")]),_vm._v(\" called \"),_c('code',[_vm._v(\"MadLibsTestDrive\")]),_vm._v(\"\\n which contains unit tests and verifies that your code worked as it should. A\\n \"),_c('code',[_vm._v(\"passed\")]),_vm._v(\" should be printed to the console if all tests have been passed.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n You should have \"),_c('b',[_vm._v(\"another class\")]),_vm._v(\" called \"),_c('code',[_vm._v(\"MadLib\")]),_vm._v(\" which contains \"),_c('b',[_vm._v(\"all\\n the information about a single Mad Lib®\")]),_vm._v(\", i.e., what its template is, what\\n parts of speech it needs, what the user has typed in so far, etc. The exact\\n getter and setter methods and internal state it encapsulates is left to you,\\n so you should think of a good abstraction. How would you set up a Mad Lib®\\n template? What does it need to store? How does it disambiguate between the 15\\n nouns you might have in your template?\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n You're free to add any other classes you think would be helpful. Feel free\\n to borrow the Ready-baked \"),_c('code',[_vm._v(\"GameHelper\")]),_vm._v(\" class from page 112 in the\\n book to handle your input.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n You should comment your code well, especially the purpose and inputs and\\n outputs of each method.\\n \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"$ \"),_c('b',[_vm._v(\"javac MadLibsGame.java MadLib.java MadLibsTestDrive.java\"),_c('em',[_vm._v(\" (...and any other Java classes you use here...)\")])]),_vm._v(\"\\n$ \"),_c('b',[_vm._v(\"java MadLibsTestDrive\")]),_vm._v(\"\\npassed\\n$ \"),_c('b',[_vm._v(\"java MadLibsGame\")]),_vm._v(\"\\nWelcome to Mad Libs(R)! I'm going to ask you for some lexical categories\\nand when I'm all done, I'll give you the Mad Lib(R).\\nEnter an adjective : \"),_c('b',[_vm._v(\"fun\")]),_vm._v(\"\\nEnter an adjective : \"),_c('b',[_vm._v(\"silly\")]),_vm._v(\"\\nEnter a noun : \"),_c('b',[_vm._v(\"computer\")]),_vm._v(\"\\nOk, here's your Mad Lib(R):\\nThe silly alien eyed the fun computer hungrily.\\n$ \"),_c('b',[_vm._v(\"java MadLibsGame\")]),_vm._v(\"\\nWelcome to Mad Libs(R)! I'm going to ask you for some lexical categories\\nand when I'm all done, I'll give you the Mad Lib(R).\\nEnter a verb : \"),_c('b',[_vm._v(\"program\")]),_vm._v(\"\\nEnter an adjective : \"),_c('b',[_vm._v(\"slimy\")]),_vm._v(\"\\nEnter a number : \"),_c('b',[_vm._v(\"42\")]),_vm._v(\"\\nEnter a noun : \"),_c('b',[_vm._v(\"spam\")]),_vm._v(\"\\nOk, here's your Mad Lib(R):\\nIf you use spam to program, you will become slimy for 42 hours.\\n$ \"),_c('b',[_vm._v(\"java MadLibsGame\")]),_vm._v(\"\\nWelcome to Mad Libs(R)! I'm going to ask you for some lexical categories\\nand when I'm all done, I'll give you the Mad Lib(R).\\nEnter an adjective : \"),_c('b',[_vm._v(\"curious\")]),_vm._v(\"\\nEnter a noun : \"),_c('b',[_vm._v(\"self-paced center\")]),_vm._v(\"\\nEnter an adjective : \"),_c('b',[_vm._v(\"warm and loving\")]),_vm._v(\"\\nOk, here's your Mad Lib(R):\\nThe curious alien eyed the warm and loving self-paced center hungrily.\\nunix% \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"What did you notice about the above interactions? First, we wrote a \"),_c('code',[_vm._v(\"MadLibsTestDrive\")]),_vm._v(\"\\n class that verified that our code worked as it should and printed \"),_c('code',[_vm._v(\"passed\")]),_vm._v(\" to confirm\\n that. Second, we had a second class with a \"),_c('code',[_vm._v(\"main\")]),_vm._v(\" method in it that was our main\\n \\\"driver\\\" class. When we ran that, we noticed some \"),_c('dfn',[_vm._v(\"non-determinism\")]),_vm._v(\" (read:\\n \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Randomness\"}},[_vm._v(\"randomness\")]),_vm._v(\") in the program. This varied not\\n only \"),_c('em',[_vm._v(\"which\")]),_vm._v(\" Mad Lib® was chosen, but the \"),_c('em',[_vm._v(\"order\")]),_vm._v(\" that the parts of speech were\\n requested for a particular Mad Lib®. At this point, you are probably starting to think about\\n \"),_c('strong',[_vm._v(\"how\")]),_vm._v(\" you'd write a program to do that, \"),_c('strong',[_vm._v(\"how\")]),_vm._v(\" you'll decompose the\\n problem into the various classes and \"),_c('strong',[_vm._v(\"how\")]),_vm._v(\" they will fit together. We'll give you\\n some help with that in the following section.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Hints\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Here are some general tips that may help you in your journey:\")]),_vm._v(\" \"),_c('ol',[_c('li',[_vm._v(\"\\n When asking for a VERB, it's usually pretty standard to assume you'll get the infinitive form.\\n Thus, you should generate Mad Libs® that have \\\"to\\\" in front of all VERBs.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n It's probably a good idea to start with only a few simple Mad Libs® that have only a few\\n different parts of speech. Tackle the \\\"multiple instances of the same part of speech\\\"\\n problem after you get this working.\\n \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Testing\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n You need to author a class called \"),_c('code',[_vm._v(\"MadLibsTestDrive\")]),_vm._v(\" with a \"),_c('code',[_vm._v(\"main\")]),_vm._v(\" method\\n in it. This parallels the way the book tested its \"),_c('code',[_vm._v(\"SimpleDotCom\")]),_vm._v(\" game. It should test\\n each method of each class, with the exception of the input methods from the \"),_c('code',[_vm._v(\"GameHelper\")]),_vm._v(\"\\n class, since those involve user interaction (and because you didn't write those). It should print\\n out \\\"failed\\\" or \\\"passed\\\", and for every case that fails, it should print out\\n what tests failed.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n You also need to run the program several times to show that your program generates at least five\\n different Mad Libs® that have different lexical categories, that both the particular Mad Libs®\\n and the parts of speech for each Mad Lib® were chosen randomly, and that at least one Mad Lib®\\n has \\\"multiple instances of the same part of speech\\\".\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Extra for Experts (Optional)\")]),_vm._v(\" \"),_c('p',[_vm._v(\"There are a couple of cool features you could add to make your program sing:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('em',[_vm._v(\"Auto-generated Mad Libs®\")]),_vm._v(\". This would involve subdividing a dictionary of words into\\n the various \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Part_of_speech\"}},[_vm._v(\"lexical categories\")]),_vm._v(\" and then\\n running them through your templates.\\n \")]),_vm._v(\" \"),_c('li',[_c('em',[_vm._v(\"Go category mad!\")]),_vm._v(\" Take a look at some of the original Mad Libs®. They add categories\\n like: EXCLAMATION, PLURAL NOUN, VERB (PAST TENSE), PLACE, STATE-OF-BEING, etc.\\n \")]),_vm._v(\" \"),_c('li',[_c('em',[_vm._v(\"Nerdify the problem.\")]),_vm._v(\" Use computer categories, like: \\\"I just bought a COMPUTER_PART\\n from COMPUTER_COMPANY, and the directions said to VERB the ANOTHER_PART into the AGAIN_ANOTHER_PART\\n ADVERB until it PAST_TENSE_COMPUTER_VERB\\\"\\n \")]),_vm._v(\" \"),_c('li',[_c('em',[_vm._v(\"Flip the problem on its head!\")]),_vm._v(\" Instead of asking them for the \"),_c('em',[_vm._v(\"parts of speech\")]),_vm._v(\",\\n ask them for the\"),_c('em',[_vm._v(\" Mad Libs® template\")]),_vm._v(\" (e.g., \\\"I'm sorry I don't have my\\n homework today. My NOUN1 ate my NOUN2 ADVERB! I knew I shouldn't have ordered that NOUN1 on\\n eBay!\\\") and have \"),_c('strong',[_vm._v(\"your program\")]),_vm._v(\" fill in the answer!\\n \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('p',[_vm._v(\"These are the requirements to meet for project completion.\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"\\n Program listing that adheres to ALL the Requirements above.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Each method should have comments that summarize its purpose and provides a description\\n of its inputs and outputs.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Tests and test output for each method in each class. All of the features in the Testing\\n section must be adhered to.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n All functions and variables have meaningful names.\\n \")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5ed8080e\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/java/MadLibs.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MadLibs.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MadLibs.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5ed8080e\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MadLibs.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/java/MadLibs.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/python/images/q5_packer.png\n// module id = Adok\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 4: BASH Scripting\")]),_vm._v(\" \"),_c('article',[_c('p',[_vm._v(\"This sample quiz is currently under construction, but, for now, be sure\\n you go through and thoroughly understand these two chapters before taking the\\n actual quiz:\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('a',{attrs:{\"href\":\"http://www.tldp.org/LDP/abs/html/special-chars.html\"}},[_vm._v(\"Special Characters\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://www.tldp.org/LDP/abs/html/string-manipulation.html\"}},[_vm._v(\"Manipulating strings\")])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-29357888\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/unix/BashScripting.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-29357888\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./BashScripting.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/unix/BashScripting.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 2: Collections and Mutations\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Think Python (2nd Edition) Chapter 10',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2011.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 11',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2012.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 12',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2013.html'\n },\n {\n title: 'The Python Tutorial 9.2',\n link: 'https://docs.python.org/3/tutorial/classes.html#python-scopes-and-namespaces'\n },\n {\n title: 'Composing Programs 2.4.2',\n link: 'http://composingprograms.com/pages/24-mutable-data.html#sequence-objects'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"What results would be printed by the following Python program?\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"a = [1, 2]\\nb = [1, 2]\\nc = [6, 7, a]\\nd = [6, 7, a]\\ne = a + c\\nf = [c, d]\\na.append(5)\\nc[:1] = []\\n\\nprint (a)\\nprint (b)\\nprint (c)\\nprint (d)\\nprint (e)\\nprint (f)\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"[1, 2, 5]\\n[1, 2]\\n[7, [1, 2, 5]\\n[6, 7, [1, 2, 5]]\\n[1, 2, 6, 7, [1, 2, 5]]\\n[[7, [1, 2, 5]], [6, 7, [1, 2, 5]]]\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Fill in the blanks with \"),_c('strong',[_vm._v(\"twenty words or less\")]),_vm._v(\" to describe what this\\n function does: \\\"The \"),_c('code',[_vm._v(\"mystery\")]),_vm._v(\" function returns a \"),_c('em',[_vm._v(\"dictionary\")]),_vm._v(\" that\\n maps ______________ to ______________.\\\"\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"def mystery(x):\\n a = {}\\n for y in x.split():\\n z = y[0]\\n if z not in a:\\n a[z] = []\\n a[z].append(y)\\n return a\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n \\\"...a dictionary that maps \"),_c('strong',[_vm._v(\"each letter\")]),_vm._v(\" to \"),_c('strong',[_vm._v(\"a list of the\\n words in x that begin with that letter.\")]),_vm._v(\"\\\"\\n \")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Suppose you type the following lines into a Python interpreter.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"b = 5, 6\\nc, d = b\\na = b, c\")])]),_vm._v(\" \"),_c('ol',{attrs:{\"type\":\"i\"}},[_c('li',{attrs:{\"type\":\"i\"}},[_vm._v(\"What are the type and value of \"),_c('code',[_vm._v(\"a\")]),_vm._v(\" at this point?\")]),_vm._v(\" \"),_c('li',{attrs:{\"type\":\"i\"}},[_vm._v(\"If you typed\"),_c('code',[_vm._v(\" a += 2\")]),_vm._v(\", what would happen to the value of \"),_c('code',[_vm._v(\"a\")]),_vm._v(\"?\")]),_vm._v(\" \"),_c('li',{attrs:{\"type\":\"i\"}},[_vm._v(\"If, instead, you typed \"),_c('code',[_vm._v(\"a += b\")]),_vm._v(\", what would happen to the value of \"),_c('code',[_vm._v(\"a\")]),_vm._v(\"?\")]),_vm._v(\" \"),_c('li',{attrs:{\"type\":\"i\"}},[_vm._v(\"If, instead, you typed \"),_c('code',[_vm._v(\"a.append(b)\")]),_vm._v(\", what would happen to the value of \"),_c('code',[_vm._v(\"a\")]),_vm._v(\"?\")])]),_vm._v(\" \"),_c('p')]),_vm._v(\" \"),_c('QuizSolution',[_c('ol',{attrs:{\"type\":\"i\"}},[_c('li',{attrs:{\"type\":\"i\"}},[_c('code',[_vm._v(\"a\")]),_vm._v(\" is the two-element tuple \"),_c('code',[_vm._v(\"((5, 6), 5)\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('li',{attrs:{\"type\":\"i\"}},[_vm._v(\"You would get a \"),_c('code',[_vm._v(\"TypeError\")]),_vm._v(\" because tuples cannot be added to integers. The value of \"),_c('code',[_vm._v(\"a\")]),_vm._v(\" would remain unchanged.\")]),_vm._v(\" \"),_c('li',{attrs:{\"type\":\"i\"}},[_vm._v(\"The value of \"),_c('code',[_vm._v(\"a\")]),_vm._v(\" would become \"),_c('code',[_vm._v(\"((5, 6), 5, 5, 6)\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('li',{attrs:{\"type\":\"i\"}},[_vm._v(\"You would get an \"),_c('code',[_vm._v(\"AttributeError\")]),_vm._v(\" because tuples do not have an \"),_c('code',[_vm._v(\"append\")]),_vm._v(\" method. The value of \"),_c('code',[_vm._v(\"a\")]),_vm._v(\" would remain unchanged.\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n The following two functions are intended to keep a record of a changing\\n value.  Each time the value changes, \"),_c('code',[_vm._v(\"change_to\")]),_vm._v(\" is called with\\n the new value.  But there is a bug in one of these functions.  For\\n each function, explain why it works correctly or describe the bug and show\\n how to fix it.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"Function A (supposed to print the last value):\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"oldvalue = None\\ndef change_to(newvalue):\\n print ('previous value was', oldvalue)\\n oldvalue = newvalue\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Function B (supposed to print a list of all previous values):\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"oldvalues = []\\ndef change_to(newvalue):\\n print ('all previous values were', oldvalues)\\n oldvalues.append(newvalue)\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"Function A contains the bug. The assignment \"),_c('code',[_vm._v(\"oldvalue = newvalue\")]),_vm._v(\" makes \"),_c('code',[_vm._v(\"oldvalue\")]),_vm._v(\" refer to a local variable, not the global variable that was set to \"),_c('code',[_vm._v(\"None\")]),_vm._v(\". Every time \"),_c('code',[_vm._v(\"change_to\")]),_vm._v(\" is called, \"),_c('code',[_vm._v(\"oldvalue\")]),_vm._v(\" will be a new unbound local variable and the \"),_c('code',[_vm._v(\"print\")]),_vm._v(\" statement will cause a \"),_c('code',[_vm._v(\"NameError\")]),_vm._v(\". Insert the declaration \"),_c('code',[_vm._v(\"global oldvalue\")]),_vm._v(\" at the beginning of the \"),_c('code',[_vm._v(\"change_to\")]),_vm._v(\" function to fix the bug.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Function B works correctly as given, because \"),_c('code',[_vm._v(\"oldvalues.append(newvalue)\")]),_vm._v(\" is a method call, not an assignment. Since there are no assignments to \"),_c('code',[_vm._v(\"oldvalues\")]),_vm._v(\", \"),_c('code',[_vm._v(\"oldvalues\")]),_vm._v(\" refers to the global variable and persists between calls to \"),_c('code',[_vm._v(\"change_to\")]),_vm._v(\" as intended.\")])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"In this group, you will learn about Python's various techniques for\\n maintaining collections of data and handling mutation. Again, there's a lot\\n of reading, but by the end of this section, you will have significant Python\\n fluency. You'll learn:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Tuples, packing and unpacking\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Lists, list methods, slice assignment\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Dictionaries and dictionary methods\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Mutability\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2911c834\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/python/CollectionsAndMutations.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2911c834\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CollectionsAndMutations.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/python/CollectionsAndMutations.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/turtle_simple.2ee249d.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/python/images/turtle_simple.png\n// module id = B+Uh\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 2: Hashing\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Data Structures and Problem Solving using Java (4th Edition) Chapter 20'\n } ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Suppose that 31 distinct integers are arranged in ascending order in an array named \"),_c('code',[_vm._v(\"values\")]),_vm._v(\". Suppose also that the following code is used in a method to locate an integer named \"),_c('code',[_vm._v(\"key\")]),_vm._v(\" in the array.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"int leftIndex = 0;\\nint rightIndex = values.length() - 1;\\nwhile (leftIndex <= rightIndex)\\n{\\n int middleIndex = (leftIndex + rightIndex) / 2;\\n if (values[middleIndex] == key)\\n {\\n return true;\\n }\\n else if (values[middleIndex] < key)\\n {\\n leftIndex = middleIndex + 1;\\n }\\n else\\n {\\n rightIndex = middleIndex - 1;\\n }\\n}\\nreturn false;\")])]),_vm._v(\" \"),_c('ol',{attrs:{\"type\":\"a\"}},[_c('li',[_c('p',[_vm._v(\"Compute the total number of comparisons necessary to locate all\\n 31 values in the array using the above loop.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Now suppose that the 31 integers are stored in a chained hash\\n table with \"),_c('code',[_vm._v(\"k\")]),_vm._v(\" chains, in which the hash function\\n distributes the integers to chains as evenly as possible. What is\\n the smallest value of \"),_c('code',[_vm._v(\"k\")]),_vm._v(\" for which the total number of\\n comparisons to find all 31 values in the hash table is less than\\n the answer you computed for part a? (Recall that \"),_c('code',[_vm._v(\"1 + 2 + ...\\n + n = n(n+1)/2\")]),_vm._v(\".)\")])])])]),_vm._v(\" \"),_c('QuizSolution',[_c('ol',{attrs:{\"type\":\"a\"}},[_c('li',[_c('p',[_vm._v(\"Search for \"),_c('code',[_vm._v(\"values[15]\")]),_vm._v(\", the middle element, requires one\\n comparison; search for \"),_c('code',[_vm._v(\"values[7]\")]),_vm._v(\" or\\n \"),_c('code',[_vm._v(\"values[23]\")]),_vm._v(\", the middle elements of the first 15 and last\\n 15 elements respectively, requires three comparisons; four keys require\\n five comparisons; and so on. Total comparisons to find all 31 keys\\n is\")]),_vm._v(\" \"),_c('p',[_vm._v(\"1*1 + 2*3 + 4*5 + 8*7 + 16*9 = 1 + 6 + 20 + 56 + 144 = 227.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Try small values for the hash table size. If there are two\\n chains, there are 15 keys in one chain and 16 in the other. The\\n total number of comparisons to access the keys in the 15-key chain\\n is 1+2+...+15 = 16*15/2 = 8*15 = 120. The corresponding figure for\\n the 16-key chain is 17*16/2 = 17*8 = 136. The total is 256. If\\n there are three chains, there are 10 keys in two chains and 11 in\\n the other. Total comparisons is then 5*11 + 5*11 + 11*6 = 176. The\\n desired value for \"),_c('code',[_vm._v(\"k\")]),_vm._v(\" is thus 3.\")])])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Suppose that a Tic-Tac-Toe board is represented as an array of\\n \"),_c('code',[_vm._v(\"int\")]),_vm._v(\" arrays, in which values of 0 (for blank), 1 (for X),\\n and 2 (for O) are stored. Consider the following hash function for\\n Tic-Tac-Toe boards.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public int hashCode()\\n{\\n int sum = 0;\\n for (int row=0; row<3; row++) {\\n for (int col=0; col<3; col++) {\\n sum += row*col*myBoard[row][col];\\n }\\n }\\n return sum;\\n}\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Is this a good hash function or a bad one, when used with a chained\\n hash table of around 5000 chains? (There are 19,683 different boards.)\\n Be specific.\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"It's a bad hash function. All boards that differ only by X's and O's\\n in the first column or first row (there are 3\"),_c('sup',[_vm._v(\"5\")]),_vm._v(\" = 243 of\\n these) map to the same hash location, compared to a perfect\\n distribution of around 4 boards per chain.\")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Supply the body for the \"),_c('code',[_vm._v(\"Interval hashCode\")]),_vm._v(\" method, to be\\n used to store \"),_c('code',[_vm._v(\"Interval\")]),_vm._v(\" objects in a hash table. Assume\\n that all intervals to be hashed are all contained in the interval [0,\\n 10]. Your hash function should spread the values out; for example, if\\n the table size is 31, there should be an interval whose hash value is\\n \"),_c('code',[_vm._v(\"k\")]),_vm._v(\" for each \"),_c('code',[_vm._v(\"k\")]),_vm._v(\" from 0 to 30. Don't worry\\n otherwise about reducing collisions. One line of code suffices as an\\n answer to this problem.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"class Interval\\n{\\n private float left, right; // endpoints of the interval\\n ...\\n\\n public int hashCode()\\n {\\n ...\\n }\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"There are many possibilities; one is\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"return (int)(k1 * intvl.left + k2 * intvl.right);\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"where \"),_c('code',[_vm._v(\"k1\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"k2\")]),_vm._v(\" sum to at least 5.\")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Consider the class \"),_c('code',[_vm._v(\"Set\")]),_vm._v(\" whose framework is given below.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"class Set\\n{\\n private LinkedList myElements; // set elements, not in any particular order\\n ...\\n boolean contains(Set s)\\n {\\n ...\\n }\\n}\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Describe a time-efficient implementation of the \"),_c('code',[_vm._v(\"contains\")]),_vm._v(\" method.\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"Store all the elements of \"),_c('code',[_vm._v(\"this\")]),_vm._v(\" in a hash table, and\\n then look up all the elements of the argument set \"),_c('code',[_vm._v(\"s\")]),_vm._v(\". If\\n any lookup fails, return \"),_c('code',[_vm._v(\"false\")]),_vm._v(\", otherwise return\\n \"),_c('code',[_vm._v(\"true\")]),_vm._v(\".\")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n A CS 47B student decides to accommodate enormous \"),_c('code',[_vm._v(\"java.util.Hashtable\")]),_vm._v(\"\\n objects by defining a \"),_c('code',[_vm._v(\"hashCode\")]),_vm._v(\" method to return a \"),_c('code',[_vm._v(\"long\")]),_vm._v(\"\\n rather than an \"),_c('code',[_vm._v(\"int\")]),_vm._v(\". What is the effect of this decision?\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"The Java compiler complains about trying to redefine\\n \"),_c('code',[_vm._v(\"hashCode\")]),_vm._v(\" with a different return type.\")])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"In this quiz, you invent and evaluate hash functions, determine the\\n appropriateness of hashing for given applications, and show that you\\n understand details of using the \"),_c('code',[_vm._v(\"java.util.Hashtable\")]),_vm._v(\" class.\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2eb7691c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/47b/Hashing.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2eb7691c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Hashing.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/47b/Hashing.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/unix/TheShellAndSimpleFilters.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 6'\n },\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 8 (excluding Sections 8.10)'\n },\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 9'\n }\n ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Part 1: Metacharacters and Quoting\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Perform the following operations, and be prepared to explain the\\n commands you used to a tutor in addition to recording them in your\\n transcript.\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('ol',[_c('li',[_c('p',[_vm._v(\"From within your home directory, perform an ls operation which shows\\n all \"),_c('emph',[_vm._v(\"directories\")]),_vm._v(\" that begin with a \\\".\\\". You\\n should not see plain files, and you should not see the contents of\\n these directories.\")],1),_vm._v(\" \"),_c('p',[_vm._v(\"Example:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ ls _____________\\n../ ./ .ssh/ .ssh2/ .sunw/ .tin/\")])])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Use quoting or escaping where necessary (and only where necessary)\\n to properly create directories with the following names:\")]),_vm._v(\" \"),_c('ol',[_c('li',[_vm._v(\"!*\")]),_vm._v(\" \"),_c('li',[_vm._v(\"$HOME\")]),_vm._v(\" \"),_c('li',[_vm._v(\"...\")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\\"What's For Dinner?\\\"\")]),_vm._v(\" \"),_c('li',[_c('tt',{staticClass:\"docutils literal\"},[_c('span',{staticClass:\"pre\"},[_vm._v(\"-\")])])],1)]),_vm._v(\" \"),_c('p',[_vm._v(\"i.e., if you do an ls, you should see:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ ls -a\\n!*\\\\ - . .. ... $HOME \\\"What's For Dinner?\\\"\")])])]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Echo every 2 letter combination of a, b, c, and d including doubles. Do not write out all combinations manually, and do not use loops.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"i.e.:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"$ echo __________\\naa ab ac ad ba bb bc bd ca cb cc cd da db dc dd\")])])])])]),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 1\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student has correct answers for all questions and can intelligently explain how they reached those answers.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student can adequately explain how quoting works in the shell.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student can adequately explain how \"),_c('tt',{staticClass:\"docutils literal\"},[_c('span',{staticClass:\"pre\"},[_vm._v(\"*\")])]),_vm._v(\", \"),_c('tt',{staticClass:\"docutils literal\"},[_c('span',{staticClass:\"pre\"},[_vm._v(\"[]\")])]),_vm._v(\", and \"),_c('tt',{staticClass:\"docutils literal\"},[_c('span',{staticClass:\"pre\"},[_vm._v(\"{}\")])]),_vm._v(\" wildcard matching works in the shell.\")],1)])]),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_vm._m(7)])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Overview\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This assignment will give you an overview of the UNIX shell. The shell\\n is your basic means of interaction with the system. Because you are using\\n a cs9e account, we have customized your shell for use in this course.\\n Shell accounts that you have on other systems and for other classes will\\n more than likely look slightly different, but they all behave similarly.\\n This assignment will teach you how to use the shell and how to customize it\\n for your own needs.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"starter\"}},[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains a single file\\n called \"),_c('code',[_vm._v(\"all.batters.1988.txt\")]),_vm._v(\" which will be used for Part 3.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"Your tasks:\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"List all files in /usr/bin which begin with the letter a, b, or c.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Part 2: Environment Customization\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Make the necessary changes to your shell configuration files to do the\\n following. You will need to show the results as well as the changes to\\n your tutor for checkoff. After being checked off, feel free to undo these\\n changes.\")]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(\"Your tasks:\")])]),_vm._v(\" \"),_c('ol',[_c('li',[_c('p',[_vm._v(\"Change your prompt.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Create a ~/.todo which is displayed whenever you login remotely but not when you open a terminal X.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n Create a directory \\\"bin/\\\" in your home directory, and add this directory to your shell's path.\\n Once you've done this, any executable in \\\"bin/\\\" can be run by invoking its file name on the shell,\\n rather than giving the path to the executable. What is the order in which paths are searched?\\n What problems can you foresee if \\\"bin/\\\" is added to the beginning of the list?\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n Add a command alias to your shell. If you use emacs as editor, one convenient alias suppresses\\n emacs starting an X11 window. You can achieve this by running emacs with the -nw option.\\n \")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Part 3: Piping and Redirection\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The file \"),_c('code',[_vm._v(\"all.batters.1988.txt\")]),_vm._v(\" from starter code contains the Final Official 1988\\n American League batter statistics. The \\\"position\\\" category lists positions at which the player\\n played 20 or more games. Each line of the file contains the following information about a player,\\n organized into fields separated by one or more blanks:\\n \")]),_vm._v(\" \"),_c('ol',[_c('li',[_vm._v(\"his name\")]),_vm._v(\" \"),_c('li',[_vm._v(\"his team\")]),_vm._v(\" \"),_c('li',[_vm._v(\"his position or positions\")]),_vm._v(\" \"),_c('li',[_vm._v(\"whether he bats right-handed or left-handed\")]),_vm._v(\" \"),_c('li',[_vm._v(\"his batting average (hits divided by at-bats)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"the number of games he played\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many \\\"at bats\\\" he had\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many runs he scored\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many hits he had\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many total bases he had (1 for each single, 2 for each double, etc.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many doubles\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many triples\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many home runs\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many runs batted in\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many sacrifice hits\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many sacrifice flies\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many times he was hit by a pitch\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many walks\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many intentional walks\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many times he struck out\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many stolen bases\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many times he was caught stealing\")]),_vm._v(\" \"),_c('li',[_vm._v(\"how many double-plays he hit into\")]),_vm._v(\" \"),_c('li',[_vm._v(\"his on-base-average\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Use piping and UNIX commands you have learned about to answer the\\n following questions. Be prepared to explain the commands you used to a\\n tutor in addition to recording them in your transcript.\")]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(\"Your tasks:\")])]),_vm._v(\" \"),_c('ol',[_c('li',[_vm._v(\"Devise a single pipeline (a command constructed entirely of one or more pipes) that prints the names and batting averages of the ten players whose batting averages are the highest. (Hint: Our solution uses tr, sort, cut, and head)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Devise a single pipeline that prints the name of the batter who played the most games of all batters who hit no home runs along with the number of games he played. (Hint: Our solution uses tr, cut, sort, and head)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Devise a pair of commands not containing any semicolons, that prints the names of batters that were in the top ten both in batting average and in number of home runs. The first command will generate a file containing the names of the players with the top ten batting averages; the next command will compare these names with the top ten home run hitters. (Hint: Our solution uses tr, sort, cut, head, and comm. Make sure that hitters with the same number of home runs are arranged in order by batting average.)\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"You may assume that there is at least one AL player who hit no home runs\\n in 1988, that at least one player ranked in the top ten both in batting\\n average and in the number of home runs, and that at most one player with a\\n given number of home runs also has one of the top ten batting averages.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Note the difference between sorting twice and sorting on two keys. Your\\n pipeline will run more efficiently if head appears as early in the pipeline\\n as possible. (Why?)\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h3',[_vm._v(\"Part 2\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student has changed their shell prompt by properly modifying their shell configuration files.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student's ~/.todo file is shown when they login.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student's path and alias environment variables are set correctly.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h3',[_vm._v(\"Part 3\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student shows script containing the required commands.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student can intelligently describe how piping works and demonstrate their understanding of standard input and output.\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-26f4d35f\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/unix/TheShellAndSimpleFilters.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TheShellAndSimpleFilters.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TheShellAndSimpleFilters.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-26f4d35f\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TheShellAndSimpleFilters.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/unix/TheShellAndSimpleFilters.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/cpp/VectorAndIoStreamExercises.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'A Computer Science Tapestry Section 7.4',\n link: 'http://www.cs.duke.edu/csed/tapestry/'\n },\n {\n title: 'A Computer Science Tapestry Sections 8.1 - 8.3',\n link: 'http://www.cs.duke.edu/csed/tapestry/'\n },\n {\n title: 'A Computer Science Tapestry Sections 9.1 - 9.3',\n link: 'http://www.cs.duke.edu/csed/tapestry/'\n },\n {\n title: 'A Computer Science Tapestry Sections 11.1 and 11.5',\n link: 'http://www.cs.duke.edu/csed/tapestry/'\n }\n ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Exercise 1: Practice with Files and String Streams\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(3)]),_vm._v(\" \"),_c('p',[_vm._v(\"Each legal command must appear on a single line, and have the correct\\n number and type of arguments.\\n \")]),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_vm._m(5)]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Miscellaneous Information\")]),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_c('p',[_vm._v(\"The easiest way to get information about the success or failure of an\\n input operation—the method we want you to use for this\\n assignment—is merely to test the result of the input extraction. For\\n example,\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"string s;\\nint k;\\nif (cin >> s >> k) {\\n // string and integer values were successfully read\\n} else {\\n // string and integer values were not successfully read\\n}\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Passing stream arguments by value rather than by reference often leads\\n to incomprehensible error messages; try to remember not to pass streams by\\n value.\")]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"bool ContainsExactly2Ints() {\\n string line;\\n getline(cin, line); // read the line\\n istringstream in(line.c_str()); // initialize a string stream to contain\\n // the same things as line\\n int val1, val2;\\n string temp;\\n if (in >> val1 >> val2) {\\n return !(in >> temp); // we have at least two ints;\\n // make sure that's all we have\\n } else {\\n return false;\\n }\\n}\")])]),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"#include \")])])]),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Exercise 3: Practice with Vectors of Vectors\")]),_vm._v(\" \"),_c('p',[_vm._v(\"In a game like chess or checkers, the game board is normally placed\\n between the players, and they sit on opposite sides. Thus, the two players\\n see the board from different perspectives. Opposite views of a 3-by-3\\n tic-tac-toe board, for instance, might be as follows:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"xox oxo\\nox xo\\noxo xox\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Implement and test a class representing a 19-by-19 game board. Your\\n representation should be a vector of vectors of characters, all initially\\n set to a period (\\\".\\\"). Your class should include three public member\\n functions:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"a constructor, which initializes all the cells to a period.\")]),_vm._v(\" \"),_c('li',[_vm._m(15),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"xox\\nox.\\noxo\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"changing board cell [0][2] to 'M' from player 0's\\n perspective would result in the board\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"xoM\\nox.\\noxo\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"while changing board cell [0][2] to 'M' from player 1's\\n perspective would result in the board\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"xox\\nox.\\nMxo\")])])]),_vm._v(\" \"),_vm._m(16)]),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_vm._m(18)]),_vm._v(\" \"),_vm._m(19)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Please download the starter code from above.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Your Task\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Do \"),_c('em',[_vm._v(\"all three\")]),_vm._v(\" of the programming exercises described on the\\n following pages. Exercise 2 uses a modified form of the solution to\\n Exercise 1.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Complete the program \"),_c('code',[_vm._v(\"command.cpp\")]),_vm._v(\"\\n so that the program repeatedly recognizes and processes the commands from\\n the following list.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"update \"),_c('i',[_vm._v(\"word number\")]),_vm._v(\"\\nlist names\\nlist quantities\\nbatch \"),_c('i',[_vm._v(\"file-name\")]),_vm._v(\"\\nquit\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"\\n The \"),_c('code',[_vm._v(\"update\")]),_vm._v(\" command must be\\n followed by a word—a sequence of nonblanks—and an integer, with\\n no other nonblank characters on the line.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n The \"),_c('code',[_vm._v(\"list\")]),_vm._v(\" command\\n must be followed by either the word \"),_c('code',[_vm._v(\"names\")]),_vm._v(\" or the word\\n \"),_c('code',[_vm._v(\"quantities\")]),_vm._v(\".\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n The \"),_c('code',[_vm._v(\"batch\")]),_vm._v(\" command must be followed by the name of an existing file.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n The \"),_c('code',[_vm._v(\"quit\")]),_vm._v(\" command must appear by itself on the line.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"You are only required to check the validity of input commands.\")]),_vm._v(\"\\n For an illegal command, merely print an informative error message to\\n \"),_c('code',[_vm._v(\"cerr\")]),_vm._v(\". For one of the commands \"),_c('code',[_vm._v(\"update\")]),_vm._v(\" or\\n \"),_c('code',[_vm._v(\"list\")]),_vm._v(\", merely echo the command and its arguments. (You don't\\n need to maintain any actual inventory—you do that in exercise 2.) For\\n the \"),_c('code',[_vm._v(\"quit\")]),_vm._v(\" command, terminate the program using the one-argument\\n \"),_c('code',[_vm._v(\"exit\")]),_vm._v(\" function declared in \"),_c('code',[_vm._v(\"\")]),_vm._v(\". For\\n the \"),_c('code',[_vm._v(\"batch\")]),_vm._v(\" command, do the following: read, recognize, and\\n process commands from the specified file, then (assuming that a\\n \"),_c('code',[_vm._v(\"quit\")]),_vm._v(\" command has not been read) resume reading commands from\\n \"),_c('code',[_vm._v(\"cin\")]),_vm._v(\". Assume that the file does not contain any batch\\n commands.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"You should fill in the blanks in the \"),_c('code',[_vm._v(\"InterpretCommands\")]),_vm._v(\" function given\\n in the \"),_c('code',[_vm._v(\"command.cpp\")]),_vm._v(\", according to the accompanying comments, and supply definitions\\n for the other \"),_c('code',[_vm._v(\"Interpret...\")]),_vm._v(\" functions. Don't change any of the existing\\n code. To analyze each input line, read it using a line-getting function described on\\n the previous page, convert it to an input string stream, and then extract its contents\\n using >>.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"An input string stream provides a way to use the input extraction\\n operator (\\\"<<\\\") and associated type checking and error handling with\\n strings. An input string stream is invaluable for processing command-line\\n input, and output string streams have interesting uses as well. Here's an\\n annotated function that reads a line from \"),_c('code',[_vm._v(\"cin\")]),_vm._v(\" and returns true\\n if it contains exactly two integers.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Both the \"),_c('code',[_vm._v(\"istringstream\")]),_vm._v(\" and the \"),_c('code',[_vm._v(\"ifstream\")]),_vm._v(\"\\n constructors require C-style strings as arguments rather than\\n \"),_c('code',[_vm._v(\"string\")]),_vm._v(\" objects. The \"),_c('code',[_vm._v(\"string::c_str\")]),_vm._v(\" member function\\n used in the example above returns the C-style string corresponding to a\\n \"),_c('code',[_vm._v(\"string\")]),_vm._v(\" object.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The name of the string stream library has changed over the years. The\\n current library name is \"),_c('code',[_vm._v(\"sstream\")]),_vm._v(\":\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Testing\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Your test cases should include at least one legal instance of each\\n command, provided both in \"),_c('code',[_vm._v(\"cin\")]),_vm._v(\" and in the batch file. You\\n should also test illegal commands:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"a blank line;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"a line with a correct command word but too few arguments;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"a line with a correct command word but too many arguments;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"a line with a correct command word and the correct number of arguments, but with an argument of the wrong type (word instead of number).\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correct implementations of the \"),_c('code',[_vm._v(\"Interpret...\")]),_vm._v(\" functions, with no changes to existing code other than filling in blanks.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Sufficient testing, with output sufficient to verify test correctness:\\n \"),_c('ul',[_c('li',[_vm._v(\"tests with all legal commands, both in and out of a batch file (except the batch command);\")]),_vm._v(\" \"),_c('li',[_vm._v(\"tests of illegal commands as specified (blank line, correct command word but too many and too few arguments, correct command word and number of arguments with an argument of the wrong type);\")]),_vm._v(\" \"),_c('li',[_vm._v(\"tests sufficient to exercise all statements in the program.\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Listings of program text, tests, and test results.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Adherence to CS 9F style standards:\\n \"),_c('ul',[_c('li',[_vm._v(\"appropriate use of indenting and white space;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"avoidance of \\\"forbidden C++\\\";\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable and function names that reflect their use;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"informative comments at the head of each function;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no routine more than twenty-four lines of code.\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Clean case analysis and simple loop structuring.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Exercise 2: Practice with Vectors of Structs\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Design an \"),_c('code',[_vm._v(\"Inventory\")]),_vm._v(\" class that keeps track of an inventory of donated items. Each entry in the inventory has a name and a quantity. The \"),_c('code',[_vm._v(\"Inventory\")]),_vm._v(\" class has four public member functions, as declared in the file \"),_c('code',[_vm._v(\"inventory.h\")]),_vm._v(\":\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"a constructor, which creates an empty inventory.\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"void Update(string item, int amount)\"),_c('br')]),_vm._v(\"adds \"),_c('code',[_vm._v(\"amount\")]),_vm._v(\" to the quantity of the named \"),_c('code',[_vm._v(\"item\")]),_vm._v(\" in the inventory, or inserts the \"),_c('code',[_vm._v(\"item\")]),_vm._v(\" into the inventory with the given quantity if it's not already in stock. Quantities in the inventory are allowed to be negative.\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"void ListByName()\"),_c('br')]),_vm._v(\"prints inventory entries—name plus quantity—sorted alphabetically by name.\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"void ListByQuantity()\"),_c('br')]),_vm._v(\"prints inventory entries—name plus quantity—sorted in increasing order by quantity.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Thus the inventory is maintained only in memory, and has no external\\n file counterpart.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Miscellaneous Requirements\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Maintain the inventory as a vector of structs. Your inventory class\\n should be able to handle any number of items. If an update would cause the\\n inventory to overflow, it should be expanded to make room for the new\\n item.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Your program must support all the commands described in vector exercise\\n 1.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Test your code by combining it with a modified version of the program\\n from vector exercise 1. Your tests should collectively do the following:\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"update existing entries;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"update (i.e. insert) new entries, with at least one test that causes the inventory to expand;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"sort entries originally in reverse order;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"sort entries already in order;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"sort a sequence of entries with a large value between two smaller values;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"sort a sequence of entries with a small value between two larger values;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"process a \"),_c('code',[_vm._v(\"batch\")]),_vm._v(\" command correctly.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Sorting routines are described in \"),_c('cite',[_vm._v(\"A Computer Science\\n Tapestry\")]),_vm._v(\" Sections 11.1 and 11.5.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correctly working code.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Sufficient testing, with output sufficient to verify test correctness:\\n \"),_c('ul',[_c('li',[_vm._v(\"tests in all specified categories;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"tests sufficient to exercise all statements in the program.\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Listings of program text, tests, and test results.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Adherence to CS 9F style standards:\\n \"),_c('ul',[_c('li',[_vm._v(\"appropriate use of indenting and white space;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"avoidance of \\\"forbidden C++\\\";\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable and function names that reflect their use;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"informative comments at the head of each function;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no routine more than twenty-four lines of code.\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Clean case analysis and simple loop structuring.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"void SetCell(int player, int row, int col, char c)\")]),_vm._v(\"\\n stores the given character argument at board position [row][col],\\n computed from the given player's perspective. For example, on the\\n 3-by-3 board that, viewed from player 0's perspective, contains\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('code',[_vm._v(\"void Print(int player)\")]),_vm._v(\" prints the board from the given player's perspective.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The players are numbered 0 and 1, and the rows and columns of the board\\n are numbered from 0 to 18. You need not error-check the arguments to\\n \"),_c('code',[_vm._v(\"SetCell\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"Print\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Your test cases should include calls to \"),_c('code',[_vm._v(\"SetCell\")]),_vm._v(\" and\\n \"),_c('code',[_vm._v(\"Print\")]),_vm._v(\" for each of the two players.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correctly working code.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Sufficient testing, with output sufficient to verify test correctness:\\n \"),_c('ul',[_c('li',[_vm._v(\"tests of \"),_c('code',[_vm._v(\"SetCell\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"Print\")]),_vm._v(\" for each player.\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Adherence to CS 9F style standards:\\n \"),_c('ul',[_c('li',[_vm._v(\"appropriate use of indenting and white space;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"avoidance of \\\"forbidden C++\\\";\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable and function names that reflect their use;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"informative comments at the head of each function;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no routine more than twenty-four lines of code.\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Clean case analysis and simple loop structuring.\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-79a2906e\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/cpp/VectorAndIoStreamExercises.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./VectorAndIoStreamExercises.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./VectorAndIoStreamExercises.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-79a2906e\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./VectorAndIoStreamExercises.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/VectorAndIoStreamExercises.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/python/TurtleArena.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n This project is based on your work from the previous project.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n At this point you are the proud author of a delightful cat and mouse simulation whose vanilla\\n Arena Interface was given to you.\\n \")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Problem\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n You are asked to augment the basic Arena user interface and add features to it which would be\\n useful. In the process, you will learn about tkInter. Add the following:\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('p',[_c('strong',[_vm._v(\"A reset Button\")]),_vm._v(\" to the Canvas (place it to the left of the 'step' button)\\n - Clicking this stops the simulation (if it's running) and resets everything (cat, mouse,\\n system) to the original values\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_c('strong',[_vm._v(\"A time Label\")]),_vm._v(\" widget to the Canvas (how\\n many steps [minutes, in this case] we are in the simulation) that reads: \"),_c('strong',[_vm._v(\"Time\")]),_vm._v(\":\\n \"),_c('em',[_vm._v(\"\")])])]),_vm._v(\" \"),_c('li',[_c('p',[_c('strong',[_vm._v(\"A Cat radius Label\")]),_vm._v(\" widget to the Canvas (indicating the current Cat's radius\\n [in meters, not pixels]) that reads: \"),_c('strong',[_vm._v(\"CatRadius\")]),_vm._v(\": \"),_c('em',[_vm._v(\"\")])])]),_vm._v(\" \"),_c('li',[_c('p',[_c('strong',[_vm._v(\"A Cat angle Label\")]),_vm._v(\" widget to the Canvas (indicating the current Cat's angle\\n [radians or degrees is ok]) that reads: \"),_c('strong',[_vm._v(\"CatAngle\")]),_vm._v(\": \"),_c('em',[_vm._v(\"\")])])]),_vm._v(\" \"),_c('li',[_c('p',[_c('strong',[_vm._v(\"A Mouse angle Label\")]),_vm._v(\" to the Canvas (indicating the current Mouse's angle\\n [radians or degrees is ok]) that reads: \"),_c('strong',[_vm._v(\"MouseAngle\")]),_vm._v(\": \"),_c('em',[_vm._v(\"\")])])]),_vm._v(\" \"),_c('li',[_c('p',[_c('strong',[_vm._v(\"A Menu \")]),_vm._v(\"widget item at the top which says \\\"File\\\" and when selected,\\n shows \\\"About...\\\" and \\\"Quit\\\"\\n \")])]),_c('li',[_c('ul',[_c('li',[_vm._v(\"\\n When Quit is selected, the simulation quits (same behavior as clicking the button on the canvas)\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n When About... is selected, a new window should pop up which has the following widgets in it:\\n \"),_c('ul',[_c('li',[_c('p',[_vm._v(\"\\n A Label widget which says your name and the name of the project and includes anything\\n else you want to add\\n \")])]),_c('li',[_c('p',[_vm._v(\"\\n A PhotoImage widget with a picture of you\\n \")])]),_c('li',[_c('p',[_vm._v(\"\\n A button at the bottom labeled \\\"Ok\\\", which closes the new window when clicked\\n \")])]),_c('li',[_c('p',[_vm._v(\"\\n The title of the new window should read something appropriate, like \\\"About the UC\\n Berkeley CS9H Turtle Arena\\\"\\n \")])])])])])]),_c('li',[_c('p',[_c('strong',[_vm._v(\"The ability to move the cat when the simulation is stopped\")]),_vm._v(\". When your cursor\\n moves over the cat, it should turn black (to provide feedback to the user). If the user clicks\\n their mouse button when the cursor is over the cat, and drags their mouse, the cat should follow\\n (as if you were moving a plate around on a table with your hand). The cat's orientation should\\n always be facing the center of the statue as it's being moved around. The values in the cat\\n radius and angle Labels should update as you move. Releasing the mouse button should release\\n the connection your mouse movement has with the cat graphic object. Moving the cursor (with the\\n mouse released) off of the cat should return the cat's color to its original value. This allows\\n you to place the cat anywhere on screen; don't you wish you had this feature when you were testing\\n project 4?\\n \")])]),_c('li',[_c('p',[_c('strong',[_vm._v(\"One more widget of your choosing\")]),_vm._v(\" (from the following list) that should serve\\n a useful purpose for your simulation:\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"\\n Checkbox (perhaps toggling some feature of the display, like turning off the printed logging\\n of the simulation values to the screen?)\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Radiobutton (perhaps controlling the clockwise vs counterclockwise motion of the mouse?)\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Listbox (perhaps to choose the color of the cat/mouse?)\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Entries and spinboxes (perhaps to explicitly edit the cat/mouse parameters?)\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Scales (perhaps to adjust how many minutes the cat will chase before it quits [default=30])\\n \")])])])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Hints\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Here are some general tips that may help you in your journey:\")]),_vm._v(\" \"),_c('ol',[_c('li',[_vm._v(\"Make a copy of your code from project 4 before you start modifying the Arena and related classes.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"You will probably have to modify more than just \"),_c('code',[_vm._v(\"libs/Arena.py\")]),_vm._v(\" to add all the features we're requesting.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Feel free to add any supplementary files you think will be needed.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"We've intentionally not provided any sample screenshots because we want you to have full flexibility over the layout of graphical elements within the GUI.\")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correctly working code\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Use of functions — your program must be broken down into one or more functions — it cannot be one big long script.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Sufficient testing, with output sufficient to verify test correctness. Testing a GUI is harder than a command-line interface (CLI). You should:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"You should also try to break your GUI. What happens if:\\n \"),_c('ul',[_c('li',[_vm._v(\"...you select your cat when the simulation is running?\")]),_vm._v(\" \"),_c('li',[_vm._v(\"...you open multiple windows by selecting \\\"About...\\\" several times? Maybe you want to \"),_c('em',[_vm._v(\"disable\")]),_vm._v(\" the About... menu item if the About window is still open?\")]),_vm._v(\" \"),_c('li',[_vm._v(\"...you move the Cat \"),_c('em',[_vm._v(\"inside\")]),_vm._v(\" the statue and start the simulation? Maybe you want to constrain its movement to prevent this? (The cat's radius would then simply be the max of the radius of the statue and the cursor position.)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"...you move the Cat and then click reset. Should the Cat revert to its original, pre-moved position?\")])])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Good style\\n \"),_c('ul',[_c('li',[_vm._v(\"appropriate use of indenting and white space;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable and method names that reflect their use;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"informative comments at the head of each method;\")])])])]),_vm._v(\" \"),_c('h2',[_c('a',{attrs:{\"id\":\"extra\",\"name\":\"extra\"}}),_vm._v(\"Extra for Experts\")]),_vm._v(\" \"),_c('p',[_vm._v(\"With GUIs, there are always tons of things you could add. Here are some things you could do to have some fun:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Add a Scale widget that will (in real-time) adjust the initial pixels-per-m scale.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Add a Scale widget that allows you to \\\"scratch\\\" your way back and forth through simulation time, like you'd do for a Quicktime movie.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Allow the user to move the mouse object too. It should always stay constrained to lie in the circle of the mouse.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Allow the user to double-click in the canvas to add another cat.\\n \")]),_c('li',[_vm._v(\" After the cat is added, it should also display its parameters (radius, angle) on the canvas. The user should be able to move those out of the way.\")])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-63de2206\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/python/TurtleArena.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TurtleArena.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TurtleArena.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-63de2206\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TurtleArena.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/python/TurtleArena.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 3a: Plotting and Function Handles\")]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Reading\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Section 12.7\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Sections 25.1 - 25.7\")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Goals\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This quiz tests you on use of the plot function and related graphing\\n features, and on creation, storage, and use of function handles. For this\\n quiz, we will focus on basic uses of \"),_c('code',[_vm._v(\"plot\")]),_vm._v(\":\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"What is the effect of a given call to \"),_c('code',[_vm._v(\"plot\")]),_vm._v(\"?\")]),_vm._v(\" \"),_c('li',[_vm._v(\"What call to \"),_c('code',[_vm._v(\"plot\")]),_vm._v(\" has the following effect?\")]),_vm._v(\" \"),_c('li',[_vm._v(\"What pops a new window up?\")]),_vm._v(\" \"),_c('li',[_vm._v(\"How do you produce several graphs in the same window?\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"The important aspects of function handles are their creation with\\n @.\")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('p',[_vm._v(\"Define a cell array named \"),_c('code',[_vm._v(\"functs\")]),_vm._v(\" that contains the two\\n functions\")]),_vm._v(\" \"),_c('ul',{staticStyle:{\"list-style-type\":\"none\"}},[_c('li',[_c('var',[_vm._v(\"f\")]),_c('sub',[_vm._v(\"1\")]),_vm._v(\"(\"),_c('var',[_vm._v(\"x\")]),_vm._v(\") = 2\"),_c('var',[_vm._v(\"x\")])]),_vm._v(\" \"),_c('li',[_c('var',[_vm._v(\"f\")]),_c('sub',[_vm._v(\"2\")]),_vm._v(\"(\"),_c('var',[_vm._v(\"x\")]),_vm._v(\") = 6 - \"),_c('var',[_vm._v(\"x\")])])]),_vm._v(\" \"),_c('p',[_vm._v(\"Do this completely within the Matlab command window; don’t assume\\n that M-files exist for these functions, and don’t create the M-files\\n yourself.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Give a \"),_c('code',[_vm._v(\"plot\")]),_vm._v(\" command that graphs\\n \"),_c('var',[_vm._v(\"f\")]),_c('sub',[_vm._v(\"1\")]),_vm._v(\" and \"),_c('var',[_vm._v(\"f\")]),_c('sub',[_vm._v(\"2\")]),_vm._v(\" applied to\\n \"),_c('var',[_vm._v(\"x\")]),_vm._v(\" = 2, 3, and 4. The desired output is shown below.\")]),_vm._v(\" \"),_c('figure',[_c('img',{attrs:{\"src\":\"/~selfpace/img/matlab/q3a-figure-1.jpg\"}})])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Explain how you would create a plot of another function while still\\n retaining the graph you created for Exercise 2.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Draw the graph that is plotted by the call \"),_c('code',[_vm._v(\"plot([4 6 8; 4 3\\n 2])\")])])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Write a function named \"),_c('code',[_vm._v(\"plotall\")]),_vm._v(\" (to be included in an\\n M-file) that takes as arguments a cell array of handles of 1-argument\\n functions and a vector of arguments to which the functions are to be\\n applied, and graphs the functions over the given vector. For example,\\n if \"),_c('code',[_vm._v(\"functs\")]),_vm._v(\" is your answer to Exercise 1, the call\\n \"),_c('code',[_vm._v(\"plotall(functs, 2:4)\")]),_vm._v(\" should produce the plot displayed in\\n Exercise 2.\")])])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Solutions to Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('p',[_c('code',[_vm._v(\"functs = {@(x) 2 * x, @(x) 6 - x}\")])])]),_c('p'),_vm._v(\" \"),_c('li',[_c('p',[_c('code',[_vm._v(\"plot(2:4, functs{1}(2:4), 2:4, functs{2}(2:4))\")])])]),_c('p'),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Call \"),_c('code',[_vm._v(\"figure(2)\")]),_vm._v(\" before plotting the second graph. (This\\n assumes that your first graph is in figure 1.)\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"When a matrix \"),_c('code',[_vm._v(\"M\")]),_vm._v(\" is given to \"),_c('code',[_vm._v(\"plot\")]),_vm._v(\", one\\n graph is plotted for each column in \"),_c('code',[_vm._v(\"M\")]),_vm._v(\". The values in the\\n column are the \"),_c('var',[_vm._v(\"y\")]),_vm._v(\" values, and the \"),_c('var',[_vm._v(\"x\")]),_vm._v(\" values are\\n \"),_c('code',[_vm._v(\"1:\")]),_vm._v(\". Thus for the matrix\")]),_vm._v(\" \"),_c('pre',[_c('code',[_vm._v(\"M = [ 4 6 8;\\n 4 3 2 ]\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"the points (1,4) and (2,4) appear in one graph, (1,6) and (2,3)\\n appear in another, and (1,8) and (2,2) appear in another, giving\")]),_vm._v(\" \"),_c('figure',[_c('img',{attrs:{\"src\":\"/~selfpace/img/matlab/q3a-figure-2.jpg\"}})])]),_vm._v(\" \"),_c('li',[_c('pre',[_c('code',[_vm._v(\"function plotall(fs, vals)\\n hold on\\n for i=1:length(fs)\\n plot(vals, fs{i}(vals));\\n end\\n hold off\")])])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-341dc8cc\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/matlab/PlottingAndFunctionHandles.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-341dc8cc\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./PlottingAndFunctionHandles.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/matlab/PlottingAndFunctionHandles.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/c/TheAnimalGameRevisited.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Practical C Programming: Sections 5.1-5.4, 9.5 (recursion), 12.6 (Arrays of structures), 13.1-13.4 (Intro Pointers), 13.7 (command line) , 14 (File I/O), 17.1 (pointers and structures eg malloc), 17 (pointers and structures, overlap with malloc intro)'\n },\n {\n title: 'Kernighan and Ritchie: Section 4.11.3; chapter 6 except sections 6.8 (Unions) and 6.9 (Bit-fields)'\n }\n ]}}),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('h2',[_vm._v(\"\\n Problem\\n \")]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"struct treeStruct {\\n char *nodes[MAXNUMQS];\\n};\\n\\nstruct positionStruct {\\n int nodeIndex;\\n};\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The other will represent it as an explicitly linked tree, declared as follows.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"struct treeStruct {\\n char *string;\\n struct treeStruct *left, *right;\\n};\\n\\nstruct positionStruct {\\n struct treeStruct* node;\\n};\")])]),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"typedef struct treeStruct *TreeType;\\ntypedef struct positionStruct *PositionType;\")])]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_c('p',[_vm._v(\"\\n As in programming assignment 3, test each module on guesses that exercise \\\"yes\\\" branches as well as \\\"no\\\" branches,\\n and on games that result in successful guesses as well as unsuccessful guesses.\\n Provide evidence that your functions work correctly in isolation as well as in combination.\\n \")]),_vm._v(\" \"),_c('h2',[_vm._v(\"\\n Miscellaneous information\\n \")]),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_c('p',[_vm._v(\"\\n A key requirement of this assignment is the interchangeability of the modules.\\n The tradeoff for this design feature is more complex code: the array implementation forces an extra level of indirection to access a node, and redundant information is passed through parameters in the explicitly linked tree implementation. (Some compilers will generate warnings about the redundancy.) The extra complexity, we hope, will not be excessive, and will provide you with more experience working with C pointers.\\n \")]),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The following recursive algorithm may be used to initialize an explicitly linked tree from a file:\\n \")]),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_vm._m(21),_vm._v(\" \"),_vm._m(22),_vm._v(\" \"),_vm._m(23),_vm._v(\" \"),_c('h2',[_vm._v(\"\\n Appendix: Functions to be implemented in each module\\n \")]),_vm._v(\" \"),_vm._m(24),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"/*\\n * Writes a tree to the given file (if specified).\\n */\\nvoid WriteTree(TreeType tree, char *file);\\n\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Descriptions of these functions appear in programming assignment 3.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"/*\\n * Return an animal tree (from file, if specified).\\n */\\nTreeType InitTree (char *file);\\nvoid PrintTree (TreeType tree);\\nPositionType Top (TreeType tree);\\nbool IsLeaf (TreeType tree, PositionType pos);\\nbool Answer (char *question);\\nchar *Question (TreeType tree, PositionType pos);\\nchar *Guess (TreeType tree, PositionType pos);\\nPositionType YesNode (TreeType tree, PositionType pos);\\nPositionType NoNode (TreeType tree, PositionType pos);\\nvoid ReplaceNode (TreeType tree, PositionType pos, char *newA, char *newQ);\\nvoid GetNewInfo (TreeType tree, PositionType pos, char **newA, char **newQ);\\n\")])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"\\n Most of the significant breakthroughs in computing science have been achieved through a process of \"),_c('i',[_vm._v(\"representation\")]),_vm._v(\",\\n that is to say, changing one's way of perceiving a problem so that it can be solved more easily.\\n Structures such as lists, trees, tables and so forth have meaning to us as problem solvers, but do not have direct \"),_c('i',[_vm._v(\"existence\")]),_vm._v(\" in the computer.\\n The C \"),_c('code',[_vm._v(\"struct\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"typedef\")]),_vm._v(\" language constructs allow programmers to represent more abstract structures in terms of the simple data objects built into the language.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n C allows the use of the programmer to isolate the details of the implementation of a data type in a single file or group of files.\\n By using access functions and header files it is possible for one series of functions to use a data structure without ever dealing with the actual language primitives that define the data structure.\\n This use of an \"),_c('i',[_vm._v(\"abstract data type\")]),_vm._v(\" is good software engineering;\\n it allows one to implement and modify the implementation of the data structure with minimal change to the rest of the program.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Careless C programmers often write code with \\\"memory leaks\\\", that is, instances where storage is requested via \"),_c('code',[_vm._v(\"malloc\")]),_vm._v(\" and never freed.\\n A process that runs a long time with a memory leak, for example, a part of the operating system or a process that runs in the background monitoring user interaction,\\n will eventually leave no room for other programs. This assignment gives you some practice tracking down these problems.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Goals\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n This assignment illustrates how to implement an \"),_c('code',[_vm._v(\"abstract data type\")]),_vm._v(\" in C;\\n it also gives you practice with structures and linked structures, and with eliminating memory leaks.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains a single file\\n called \"),_c('code',[_vm._v(\"main.c\")]),_vm._v(\".\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Write and test two \"),_c('i',[_vm._v(\"modules\")]),_vm._v(\" to represent and process the animal data tree.\\n One module will represent the tree in conventional C fashion as an array of character pointers, declared as follows:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n In either case, \"),_c('code',[_vm._v(\"TreeType\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"PositionType\")]),_vm._v(\" would be defined as described in House section 15.2:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Each module will be used with the code in Appendix 1 (essentially the code you were given in assignment 3) to complete a program to play the \"),_c('code',[_vm._v(\"animal\")]),_vm._v(\" game.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n You are not to change the main program. Instead, you are to create three files to accompany it: \"),_c('code',[_vm._v(\"animal.h\")]),_vm._v(\", \"),_c('code',[_vm._v(\"animal1.c\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"animal2.c\")]),_vm._v(\".\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',{staticClass:\"SmartList1\"},[_c('code',[_vm._v(\"animal.h\")]),_vm._v(\" will contain prototypes (function headers) for the twelve functions that complete the program\\n and \"),_c('code',[_vm._v(\"typedef\")]),_vm._v(\"s for \"),_c('code',[_vm._v(\"TreeType\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"PositionType\")]),_vm._v(\".\\n It will not contain definitions for \"),_c('code',[_vm._v(\"struct treeStruct\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"struct positionStruct\")]),_vm._v(\", since these depend on what module you are using.\\n (ANSI C allows the definition of a pointer type without the immediate definition of the type pointed to.\\n See the explanation of \\\"incomplete type\\\" in chapter 15 of House and section A8.3 of Kernighan and Ritchie.)\\n Finally, it will contain an \"),_c('code',[_vm._v(\"#ifndef\")]),_vm._v(\" surrounding the lines just described, that prevents compiler errors involving multiple definitions.\\n \")]),_c('li',{staticClass:\"SmartList1\"},[_c('code',[_vm._v(\"animal1.c\")]),_vm._v(\" will contain code for the twelve functions and the definitions for the structures for one of the implementations.\\n The line \"),_c('code',[_vm._v(\"#include \\\"animal.h\\\"\")]),_vm._v(\" will appear in the file before the functions and \"),_c('code',[_vm._v(\"struct\")]),_vm._v(\" definitions.\\n \")]),_c('li',{staticClass:\"SmartList1\"},[_c('code',[_vm._v(\"animal2.c\")]),_vm._v(\" will contain code for the twelve functions and the definitions for the structures for the other implementation.\\n It will also contain the line \"),_c('code',[_vm._v(\"#include \\\"animal.h\")]),_vm._v(\"\\\" before its functions and struct definitions.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n In addition, at least one of your two implementations should initialize the tree from a file whose name is specified as a command line argument.\\n Your program should check the result of the \"),_c('code',[_vm._v(\"fopen\")]),_vm._v(\" function to ensure that a legal file name was specified.\\n When your program exits, it should save the new tree to that file, after again checking to make sure the file is writable.\\n (Chapter 10 of House and Appendix B of Kernighan and Ritchie describes functions that will allow you to make a backup of the tree file before you write your new file, if you so desire).\\n When you bring your program to be graded, accompany it by documentation of the file format.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Any storage requested using \"),_c('code',[_vm._v(\"malloc\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"calloc\")]),_vm._v(\" and not required for the representation of the animal data tree should be freed using the \"),_c('code',[_vm._v(\"free\")]),_vm._v(\" function.\\n Tutors will require you to verify that each use of \"),_c('code',[_vm._v(\"malloc\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"calloc\")]),_vm._v(\" other than those whose storage is a component of the animal tree is accompanied by a call to \"),_c('code',[_vm._v(\"free\")]),_vm._v(\".\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n The main program's source file \"),_c('code',[_vm._v(\"main.c\")]),_vm._v(\" is provided in the starter code for your reference.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n If you're using a UNIX account for this class, we suggest that you use the \"),_c('code',[_vm._v(\"make\")]),_vm._v(\" program to compile and load your completed program.\\n Do this by creating a file called \"),_c('code',[_vm._v(\"makefile\")]),_vm._v(\"—we've supplied such a file in \"),_c('code',[_vm._v(\"~cs9c/lib/p4.makefile\")]),_vm._v(\"—and\\n by typing the command \"),_c('code',[_vm._v(\"make -e animal1\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"make -e animal2\")]),_vm._v(\" depending on which of your modules you wish to test.\\n The document \\\"Basic Compilation Control with \"),_c('code',[_vm._v(\"Make\")]),_vm._v(\"\\\" in this document describes the \"),_c('code',[_vm._v(\"make\")]),_vm._v(\" program;\\n the ambitious among you may wish to change the \\\"make file\\\" to automate your testing as well as your compiling and loading.\\n The \"),_c('code',[_vm._v(\"-e\")]),_vm._v(\" option for \"),_c('code',[_vm._v(\"make\")]),_vm._v(\" gives the \"),_c('code',[_vm._v(\"LIB\")]),_vm._v(\" variable in the \\\"make file\\\" the value of the \"),_c('code',[_vm._v(\"LIB\")]),_vm._v(\" variable from the environment.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"color\":\"#000000\",\"font-style\":\"normal\",\"font-weight\":\"normal\",\"margin-bottom\":\"0pt\",\"margin-left\":\"36pt\",\"margin-right\":\"0pt\",\"margin-top\":\"6pt\",\"text-align\":\"left\",\"text-decoration\":\"none\",\"text-indent\":\"0pt\",\"text-transform\":\"none\",\"vertical-align\":\"baseline\"}},[_vm._v(\"\\n read a line;\"),_c('br')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"color\":\"#000000\",\"font-style\":\"normal\",\"font-weight\":\"normal\",\"margin-bottom\":\"0pt\",\"margin-left\":\"36pt\",\"margin-right\":\"0pt\",\"margin-top\":\"0pt\",\"text-align\":\"left\",\"text-decoration\":\"none\",\"text-indent\":\"0pt\",\"text-transform\":\"none\",\"vertical-align\":\"baseline\"}},[_vm._v(\"\\n if there was no line to read (the end of the file has been reached)\"),_c('br')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"color\":\"#000000\",\"font-style\":\"normal\",\"font-weight\":\"normal\",\"margin-bottom\":\"0pt\",\"margin-left\":\"36pt\",\"margin-right\":\"0pt\",\"margin-top\":\"0pt\",\"text-align\":\"left\",\"text-decoration\":\"none\",\"text-indent\":\"0pt\",\"text-transform\":\"none\",\"vertical-align\":\"baseline\"}},[_vm._v(\"\\n     return \"),_c('code',[_vm._v(\"NULL\")]),_vm._v(\";\"),_c('br')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"color\":\"#000000\",\"font-style\":\"normal\",\"font-weight\":\"normal\",\"margin-bottom\":\"0pt\",\"margin-left\":\"36pt\",\"margin-right\":\"0pt\",\"margin-top\":\"0pt\",\"text-align\":\"left\",\"text-decoration\":\"none\",\"text-indent\":\"0pt\",\"text-transform\":\"none\",\"vertical-align\":\"baseline\"}},[_vm._v(\"\\n if the line is empty\"),_c('br')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"color\":\"#000000\",\"font-style\":\"normal\",\"font-weight\":\"normal\",\"margin-bottom\":\"0pt\",\"margin-left\":\"36pt\",\"margin-right\":\"0pt\",\"margin-top\":\"0pt\",\"text-align\":\"left\",\"text-decoration\":\"none\",\"text-indent\":\"0pt\",\"text-transform\":\"none\",\"vertical-align\":\"baseline\"}},[_vm._v(\"\\n     return \"),_c('code',[_vm._v(\"NULL\")]),_vm._v(\";\"),_c('br')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"color\":\"#000000\",\"font-style\":\"normal\",\"font-weight\":\"normal\",\"margin-bottom\":\"0pt\",\"margin-left\":\"36pt\",\"margin-right\":\"0pt\",\"margin-top\":\"0pt\",\"text-align\":\"left\",\"text-decoration\":\"none\",\"text-indent\":\"0pt\",\"text-transform\":\"none\",\"vertical-align\":\"baseline\"}},[_vm._v(\"\\n otherwise\"),_c('br')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"color\":\"#000000\",\"font-style\":\"normal\",\"font-weight\":\"normal\",\"margin-bottom\":\"0pt\",\"margin-left\":\"36pt\",\"margin-right\":\"0pt\",\"margin-top\":\"0pt\",\"text-align\":\"left\",\"text-decoration\":\"none\",\"text-indent\":\"0pt\",\"text-transform\":\"none\",\"vertical-align\":\"baseline\"}},[_vm._v(\"\\n     allocate a tree node;\"),_c('br')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"color\":\"#000000\",\"font-style\":\"normal\",\"font-weight\":\"normal\",\"margin-bottom\":\"0pt\",\"margin-left\":\"36pt\",\"margin-right\":\"0pt\",\"margin-top\":\"0pt\",\"text-align\":\"left\",\"text-decoration\":\"none\",\"text-indent\":\"0pt\",\"text-transform\":\"none\",\"vertical-align\":\"baseline\"}},[_vm._v(\"\\n     call the algorithm recursively to get a pointer to its left child;\"),_c('br')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"color\":\"#000000\",\"font-style\":\"normal\",\"font-weight\":\"normal\",\"margin-bottom\":\"0pt\",\"margin-left\":\"36pt\",\"margin-right\":\"0pt\",\"margin-top\":\"0pt\",\"text-align\":\"left\",\"text-decoration\":\"none\",\"text-indent\":\"0pt\",\"text-transform\":\"none\",\"vertical-align\":\"baseline\"}},[_vm._v(\"\\n     if the left child isn't \"),_c('code',[_vm._v(\"NULL\")]),_c('br')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"color\":\"#000000\",\"font-style\":\"normal\",\"font-weight\":\"normal\",\"margin-bottom\":\"0pt\",\"margin-left\":\"36pt\",\"margin-right\":\"0pt\",\"margin-top\":\"0pt\",\"text-align\":\"left\",\"text-decoration\":\"none\",\"text-indent\":\"0pt\",\"text-transform\":\"none\",\"vertical-align\":\"baseline\"}},[_vm._v(\"\\n         call the algorithm recursively to get a pointer to the right child;\"),_c('br')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"color\":\"#000000\",\"font-style\":\"normal\",\"font-weight\":\"normal\",\"margin-bottom\":\"0pt\",\"margin-left\":\"36pt\",\"margin-right\":\"0pt\",\"margin-top\":\"0pt\",\"text-align\":\"left\",\"text-decoration\":\"none\",\"text-indent\":\"0pt\",\"text-transform\":\"none\",\"vertical-align\":\"baseline\"}},[_vm._v(\"\\n     return a pointer to the tree node.\"),_c('br')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A satisfactory grade on this assignment requires the following:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correct behavior in guessing and adding nodes to the animal tree.\")]),_vm._v(\" \"),_c('li',[_vm._v(\" Freeing of memory not used in representation of the animal tree.\")]),_vm._v(\" \"),_c('li',[_vm._v(\" Sufficient test games.\")]),_vm._v(\" \"),_c('li',[_vm._v(\" File input in at least one implementation, using an error-checked file name supplied on the command line, with accompanying documentation of the file format.\")]),_vm._v(\" \"),_c('li',[_vm._v(\" File output in at least one implementation, using a file name supplied on the command line (creating a backup of the file before writing is optional).\")]),_vm._v(\" \"),_c('li',[_vm._v(\" Correct setup of \"),_c('code',[_vm._v(\".h\")]),_vm._v(\" and \"),_c('code',[_vm._v(\".c\")]),_vm._v(\" files.\")]),_vm._v(\" \"),_c('li',[_vm._v(\" Good style and layout.\")]),_vm._v(\" \"),_c('li',[_vm._v(\" No function more than 24 lines long.\")]),_vm._v(\" \"),_c('li',[_vm._v(\" Reasonable names for functions, variables, and parameters.\")]),_vm._v(\" \"),_c('li',[_vm._v(\" Appropriate use of auxiliary functions.\")]),_vm._v(\" \"),_c('li',[_vm._v(\" Evidence that subprograms were tested in isolation.\")]),_vm._v(\" \"),_c('li',[_vm._v(\" No changes to main program.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"WriteTree\")]),_vm._v(\" is a new function you have to write.\\n \")])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-6df41b32\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/c/TheAnimalGameRevisited.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TheAnimalGameRevisited.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TheAnimalGameRevisited.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6df41b32\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TheAnimalGameRevisited.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/TheAnimalGameRevisited.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 4: Exceptions\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Head First Java',\n link: 'http://proquest.safaribooksonline.com/0596009208?tocview=true'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Consider a \"),_c('code',[_vm._v(\"ListNode\")]),_vm._v(\" class given below (Feel free to do\\n some \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Linked_list#Singly-linked_list\"}},[_vm._v(\"\\n background reading on Singly-linked lists\")]),_vm._v(\" if you need it)\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public class \"),_c('strong',[_vm._v(\"ListNode\")]),_vm._v(\" {\\n public int item;\\n public ListNode next;\\n ...\\n public String toString() {\\n if (next == null) {\\n return item + \\\"\\\";\\n } else {\\n return item + \\\" \\\" + next.toString();\\n }\\n }\\n ...\\n}\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Rewrite the \"),_c('code',[_vm._v(\"toString\")]),_vm._v(\" method so that it catches\\n \"),_c('code',[_vm._v(\"NullPointerException\")]),_vm._v(\" and does not do any comparisons of its own.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public String toString() {\\n try {\\n return item + \\\" \\\" + next.toString();\\n } catch (NullPointerException e) {\\n return \\\"\\\";\\n }\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Name an exception that \"),_c('em',[_vm._v(\"must\")]),_vm._v(\" be handled/declared, and describe what\\n might cause it to be thrown. Also name an exception that \"),_c('em',[_vm._v(\"need not\")]),_vm._v(\"\\n be handled/declared, and describe what might cause it to be thrown.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n Exceptions that \"),_c('em',[_vm._v(\"must\")]),_vm._v(\" be handled/declared include anything that \"),_c('em',[_vm._v(\"is not\")]),_vm._v(\"\\n a subclass of \"),_c('code',[_c('a',{attrs:{\"href\":\"http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html\"}},[_vm._v(\"RuntimeException\")])]),_vm._v(\"\\n . These could be (there are many more possible answers):\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('strong',[_c('code',[_c('a',{attrs:{\"href\":\"http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html\"}},[_vm._v(\"IOException\")])])]),_vm._v(\": This might occur when trying to open a nonexistent file for input (NB: it does not occur when reaching the end of a file)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_c('code',[_c('a',{attrs:{\"href\":\"http://java.sun.com/j2se/1.5.0/docs/api/java/lang/InterruptedException.html\"}},[_vm._v(\"InterruptedException\")])])]),_vm._v(\": Thrown when a thread is waiting, sleeping, or otherwise paused for a long time and another thread \"),_c('code',[_vm._v(\"interrupts\")]),_vm._v(\" it using the interrupt method in class \"),_c('code',[_vm._v(\"Thread\")]),_vm._v(\". If you don't know what that means, don't worry, you don't need to for CS9G. However, if you want, you can read about threads in chapter 15 of Head First Java, 2/e.\")]),_vm._v(\" \"),_c('li',[_c('strong',[_c('code',[_c('a',{attrs:{\"href\":\"http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/midi/InvalidMidiDataException.html\"}},[_vm._v(\"InvalidMidiDataException\")])])]),_vm._v(\": inappropriate MIDI data was encountered\")])]),_vm._v(\" \"),_c('p'),_vm._v(\" \"),_c('p',[_vm._v(\"Exceptions that \"),_c('em',[_vm._v(\"need not\")]),_vm._v(\" be handled/declared include anything that \"),_c('em',[_vm._v(\"is\")]),_vm._v(\" a subclass of \"),_c('code',[_c('a',{attrs:{\"href\":\"http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html\"}},[_vm._v(\"RuntimeException\")])]),_vm._v(\". These could be (there are many more possible answers):\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('strong',[_c('code',[_c('a',{attrs:{\"href\":\"http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ArrayIndexOutOfBoundsException.html\"}},[_vm._v(\"ArrayIndexOutOfBoundsException\")])])]),_vm._v(\": The array has been accessed with an illegal index. The index is either negative or greather than or equal to the size of the array.\")]),_vm._v(\" \"),_c('li',[_c('strong',[_c('code',[_c('a',{attrs:{\"href\":\"http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ArithmeticException.html\"}},[_vm._v(\"ArithmeticException\")])])]),_vm._v(\": An exceptional arithmetic condition, like integer \\\"divide by zero\\\".\")]),_vm._v(\" \"),_c('li',[_c('strong',[_c('code',[_c('a',{attrs:{\"href\":\"http://java.sun.com/j2se/1.5.0/docs/api/java/lang/NullPointerException.html\"}},[_vm._v(\"NullPointerException\")])])]),_vm._v(\": When an application attempts to use null in a case where an object is required (as we checked for in the question above!)\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n What follows is code written before Java 5.0. Rewrite it to take advantage\\n of all of the new features in Java 5.0:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public void foo() {\\n ArrayList listOfNumbers = new ArrayList();\\n listOfNumbers.add(new Integer(3));\\n Integer one = (Integer) listofNumbers.get(0);\\n int intOne = one.intValue();\\n}\")])])]),_vm._v(\" \"),_c('QuizQuestion',[_c('p',[_vm._v(\"What we've gained in Java 5.0 that are relevant to the problem are:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"http://java.sun.com/j2se/1.5.0/docs/guide/language/autoboxing.html\"}},[_vm._v(\"Autoboxing / unboxing\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n Parameterized types (aka \"),_c('a',{attrs:{\"href\":\"http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html\"}},[_vm._v(\"\\n Generics\")]),_vm._v(\")\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public void foo() {\\n ArrayList listOfNumbers = new ArrayList();\\n listOfNumbers.add(3);\\n int intOne = listofNumbers.get(0);\\n}\")])])])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Label each of the following statements as either true or false.\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"A static method cannot access a static variable.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"A final static variable must be assigned a value at declaration, because its value cannot be changed.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"A final method cannot be overriden.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"A final class cannot be extended.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"A static variable means it is not dynamic, i.e., it cannot be changed.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"A static variable may be initialized at any time; perhaps after several objects of the class have been created.\")])]),_vm._v(\" \"),_c('p')]),_vm._v(\" \"),_c('QuizSolution',[_c('ul',[_c('li',[_vm._v(\"FALSE. A static method \"),_c('em',[_vm._v(\"can\")]),_vm._v(\" access a static variable. E.g., if \"),_c('code',[_vm._v(\"Math.tan()\")]),_vm._v(\" needed \"),_c('code',[_vm._v(\"Math.PI\")]),_vm._v(\", it could use it.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"FALSE. A final static variable must be assigned a value at declaration OR in a static block. (It's true that its value cannot be changed after that, though)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"TRUE. A final method cannot be overriden.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"TRUE. A final class cannot be extended.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"FALSE. A static variable \"),_c('em',[_vm._v(\"can\")]),_vm._v(\" be changed; it is a shared variable among all objects of a class. It's also sometimes known as a class variable, because it is associated with the class, not any particular object.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"FALSE. All static variables in a class are initialized \"),_c('em',[_vm._v(\"before\")]),_vm._v(\" any object of that class can be created.\")])])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"In this quiz, we will test:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Numbers and auto-boxing\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Statics\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Exception Handling\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1889166a\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/java/Exceptions.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1889166a\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Exceptions.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/java/Exceptions.vue\n// module id = null\n// module chunks = ","var map = {\n\t\"./47b/BlocksProject.vue\": \"5z9l\",\n\t\"./47b/HashingExercises.vue\": \"hGJK\",\n\t\"./47b/HeapExercises.vue\": \"8og5\",\n\t\"./47b/IteratorExercises.vue\": \"5WE9\",\n\t\"./47b/MinimumSpanningTree.vue\": \"XAbA\",\n\t\"./c/Debugging.vue\": \"3uvC\",\n\t\"./c/PigLatin.vue\": \"vkvv\",\n\t\"./c/Setup.vue\": \"VOOG\",\n\t\"./c/TheAnimalGame.vue\": \"2tK1\",\n\t\"./c/TheAnimalGameRevisited.vue\": \"FMMc\",\n\t\"./cpp/ClassDesignExercises.vue\": \"7D/O\",\n\t\"./cpp/FlowOfControl.vue\": \"Mwtj\",\n\t\"./cpp/ListStructureExercises.vue\": \"bHUd\",\n\t\"./cpp/Setup.vue\": \"VB0L\",\n\t\"./cpp/SimpleLoopingAndTesting.vue\": \"uFU2\",\n\t\"./cpp/VectorAndIoStreamExercises.vue\": \"D2PP\",\n\t\"./java/CatAndMouse.vue\": \"dUXe\",\n\t\"./java/CatAndMouseGui.vue\": \"VkJA\",\n\t\"./java/CellularAutomaton.vue\": \"GnbU\",\n\t\"./java/MadLibs.vue\": \"AQ38\",\n\t\"./java/SimpleRpnCalculator.vue\": \"3vg9\",\n\t\"./matlab/CellularAutomation.vue\": \"mvcg\",\n\t\"./matlab/CorrelationCoefficient.vue\": \"iG9U\",\n\t\"./matlab/GeneralizedDiceProbabilities.vue\": \"gTYS\",\n\t\"./matlab/HeatTransfer.vue\": \"o9HZ\",\n\t\"./matlab/ImageManipulation.vue\": \"ucB5\",\n\t\"./matlab/WorkingWithTheSymbolicMathToolbox.vue\": \"7ttN\",\n\t\"./python/CellularAutomaton.vue\": \"xBcI\",\n\t\"./python/PythonPoweredUnitConverter.vue\": \"h0Ov\",\n\t\"./python/Setup.vue\": \"a8Th\",\n\t\"./python/TurtleArena.vue\": \"DDkt\",\n\t\"./python/TurtleBehavior.vue\": \"PSJt\",\n\t\"./unix/BashCalculator.vue\": \"QUNR\",\n\t\"./unix/CatAndMouse.vue\": \"voK9\",\n\t\"./unix/GrepAndSed.vue\": \"auVI\",\n\t\"./unix/ProcessManagement.vue\": \"kzYR\",\n\t\"./unix/RemoteProcessExecution.vue\": \"jjzN\",\n\t\"./unix/TheShellAndSimpleFilters.vue\": \"CTTw\",\n\t\"./unix/UnixBasics.vue\": \"qdBa\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"GfD9\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments \\.(js|vue)$/\n// module id = GfD9\n// module chunks = 1","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/java/CellularAutomaton.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('article',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Head First Java (2nd Edition) Chapter 1',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/1dot-dive-in-a-quick-dip-breaking-the-surface/dive_in_a_quick_dip_colon_breaking_the_s'\n },\n {\n title: 'Head First Java (2nd Edition) Chapter 2',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/2dot-classes-and-objects-a-trip-to-objectville/classes_and_objects_colon_a_trip_to_obje'\n },\n {\n title: 'Head First Java (2nd Edition) Chapter 3',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/3dot-primitives-and-references-know-your-variables/primitives_and_references_colon_know_you'\n },\n {\n title: 'Head First Java (2nd Edition) Chapter 4',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/4dot-methods-use-instance-variables-how-objects-behave/methods_use_instance_variables_colon_how'\n },\n {\n title: 'Head First Java (2nd Edition) p. 660',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/bdot-the-top-ten-topics-that-almost-made-it-into-the-real-bookdotdotdot/number_symble_10_bit_manipulation'\n },\n {\n title: 'The Java Tutorials Command-Line Arguments',\n link: 'http://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html'\n }\n ]}})],1),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"The Rule\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('p'),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('article',[_c('h4',[_vm._v(\"Example: Rule 30\")]),_vm._v(\" \"),_c('p',[_vm._v(\"For example, the number 30 is 00011110 in binary.\")]),_vm._v(\" \"),_c('figure',[_c('table',{staticClass:\"table-figure\"},[_c('tr',_vm._l((8),function(i){return _c('td',{key:i,staticStyle:{\"padding\":\"0 10px\"}},[_vm._v(\"\\n 2\"),_c('sup',[_vm._v(_vm._s(8-i))]),_vm._v(\"=\"+_vm._s(Math.pow(2, 8 - i)))])})),_vm._v(\" \"),_c('tr',[_vm._l((8),function(i){return _c('td',{key:i},[(30 & Math.pow(2, 8-i))?_c('span',[_vm._v(\"+\"+_vm._s(Math.pow(2, 8 - i)))]):_vm._e()])}),_c('td',[_vm._v(\"= 30\")])],2),_vm._v(\" \"),_c('tr',_vm._l((8),function(i){return _c('td',{key:i},[_vm._v(_vm._s(Math.sign(30 & Math.pow(2, 8-i))))])}))])]),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_c('figure',[_c('table',{staticClass:\"table-figure\"},[_c('tr',_vm._l((8),function(i){return _c('td',{key:i,staticStyle:{\"padding\":\"0 10px\"}},[_vm._v(\"input = \"+_vm._s(8-i)+\"\\n \"),_c('table',{staticStyle:{\"border-collapse\":\"collapse\"}},[_c('tr',_vm._l((3),function(j){return _c('td',{key:j,class:{'fill-black':Math.sign(8-i & Math.pow(2, 3-j))},staticStyle:{\"border\":\"1px solid #888\",\"width\":\"27px\"}},[_vm._v(\"\\n \"+_vm._s(Math.sign(8-i & Math.pow(2, 3-j))))])})),_vm._v(\" \"),_vm._m(7,true),_vm._v(\" \"),_c('tr',[_c('td'),_c('td',{class:{'fill-black':Math.sign(30 & Math.pow(2, 8-i))},staticStyle:{\"border\":\"1px solid #888\",\"width\":\"27px\"}},[_vm._v(_vm._s(Math.sign(30 & Math.pow(2, 8-i))))]),_vm._v(\" \"),_c('td')])])])}))]),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1. To translate the number 30 into a rule, convert it\\n to the 8-bit binary number 00011110. These 8 bits give the output for\\n each of the 8 possible input conditions. These diagrams show 1 as a\\n filled cell and 0 as an empty cell.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Suppose we start out with a row with a single filled cell and all the\\n rest empty. Here's what happens in the first two timesteps of rule 30. You\\n can work it out on paper yourself by referring to Figure 1.\")]),_vm._v(\" \"),_c('figure',[_c('cellular-automation-image',{attrs:{\"rule\":30,\"step\":3,\"pixel\":27,\"border\":1,\"cellularAutomation\":_vm.cellularAutomation}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 2. The first three steps of rule 30.\")])],1),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9)])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Your Task\")]),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_c('p',[_vm._v(\"First compile your code,\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ javac Cellular.java\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Then run your code,\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ java Cellular 30 200\")])]),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_c('p',[_vm._v(\"The starter code is provided at the beginning.\")]),_vm._v(\" \"),_c('article',[_c('h4',[_vm._v(\"Portable Bitmap Format\")]),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"P1 7 4\\n\"+_vm._s(this.cellularAutomation(30, 3).map(function (row) { return row.join(' '); }).join('\\n')))])]),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"java Cellular 30 200 > rule30.pbm\")])]),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_vm._m(15)])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Testing\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Test your program using rule 30 and at least three other rules. For\\n testing the whole program, use only a small number of rows (say, 5 or 6) so\\n that the test output is reasonably short. You may use the following section to\\n generate the expected solutions.\")]),_vm._v(\" \"),_c('table',{staticStyle:{\"margin-bottom\":\"10px\"}},[_c('tr',[_c('td',{staticStyle:{\"width\":\"60px\"}},[_vm._v(\"Rule: \")]),_vm._v(\" \"),_c('td',[_c('b-input',{staticClass:\"mb-1 mr-sm-1 mb-sm-0\",attrs:{\"type\":\"number\",\"placeholder\":\"Rule\"},model:{value:(_vm.testRule),callback:function ($$v) {_vm.testRule=$$v},expression:\"testRule\"}})],1)]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"Steps:\")]),_vm._v(\" \"),_c('td',[_c('b-input',{staticClass:\"mb-1 mr-sm-1 mb-sm-0\",attrs:{\"type\":\"number\",\"placeholder\":\"Rule\"},model:{value:(_vm.testStep),callback:function ($$v) {_vm.testStep=$$v},expression:\"testStep\"}})],1)])]),_vm._v(\" \"),_c('pre',{staticStyle:{\"padding\":\"15px\"}},[_c('code',{staticClass:\"bash\"},[_vm._v(\"P1 \"+_vm._s(parseInt(_vm.testStep) * 2 + 1)+\" \"+_vm._s(parseInt(_vm.testStep) + 1)+\"\\n\"+_vm._s(this.cellularAutomation(parseInt(_vm.testRule), parseInt(_vm.testStep)).map(function (row) { return row.join(' '); }).join('\\n')))])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Extra for Experts (Optional)\")]),_vm._v(\"\\n The assumption that all cells off-the-grid are always considered off causes will cause discrepancies in your results for certain rules when comparing your results to what you see at the \"),_c('a',{attrs:{\"href\":\"http://atlas.wolfram.com/01/01/\"}},[_vm._v(\"Wolfram Atlas\")]),_vm._v(\". For example, your solution may generate this for rule 139:\\n \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"P1 35 18\\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1\\n1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0\\n1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0\\n1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1\\n1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0\\n1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0\\n1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1\\n1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0\\n1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0\\n1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1\\n1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0\\n1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0\\n1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1\\n1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0\")])]),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"P1 35 18\\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\")])]),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_c('p',[_vm._v(\"Add a new optional parameter named \"),_c('code',[_vm._v(\"--wolfram\")]),_vm._v(\" so that the following command\\n produces a \\\"Wolfram Atlas correct\\\" solution result.\\n \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"java Cellular 139 17 --wolfram\")])])]),_vm._m(18)]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('p',[_vm._v(\"These are the requirements to meet for project completion:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Completion of the constructor and \"),_c('tt',[_vm._v(\"output\")]),_vm._v(\" methods of the \"),_c('tt',[_vm._v(\"Rule\")]),_vm._v(\" class, and of the \"),_c('tt',[_vm._v(\"producePBM\")]),_vm._v(\" method in the \"),_c('tt',[_vm._v(\"Cellular\")]),_vm._v(\" class\")],1),_vm._v(\" \"),_c('li',[_vm._v(\"A docstring accompanying each method that summarizes its purpose and provides a description of its inputs and outputs\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Tests and test output for each method (and class) in the program\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Meaningful names for all methods and variables\")]),_vm._v(\" \"),_c('li',[_vm._v(\"PBM file formatted and output correctly, producing an image of the correct size\")]),_vm._v(\" \"),_vm._m(19)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Introduction\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A \"),_c('dfn',[_vm._v(\"cellular automaton\")]),_vm._v(\" is an array of cells that switch on or\\n off depending on whether other cells are on or off. Even simple rules for\\n deciding when cells turn on or off can lead to complex and beautiful\\n patterns.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Let's consider a particular kind of automaton in which the array\\n contains a single row of cells. At each timestep, all of the cells update\\n their state depending on the states of their neighbours. The state of a\\n particular cell at time T = 1 is determined by the states of the cell\\n itself at T = 0, its left neighbour at T = 0, and its right neighbour at T\\n = 0. Then the state of the cell at T = 2 is determined by the states of\\n the cell and its two neighbours at T = 1, and so on.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The decision whether to turn on or off is governed by a \"),_c('dfn',[_vm._v(\"rule\")]),_vm._v(\".\\n For example, a rule might say, \\\"if the left neighbour is on, then turn on\\\".\\n You can think of a rule as a function with three binary inputs (the state\\n of the left neighbour, the cell itself, and the right neighbour in the\\n previous timestep) and one binary output (the new state of the cell in the\\n next timestep).\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains a single files\\n called \"),_c('code',[_vm._v(\"Cellular.java\")]),_vm._v(\".\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"A rule\")]),_vm._v(\" can be described by a \"),_c('b',[_vm._v(\"single number from 0 to 255\")]),_vm._v(\" in the\\n following manner: convert the rule number into a binary number with 8 bits,\\n which we'll call bit 7, bit 6, and so on down to bit 0, where bit 7 is the\\n most significant bit and bit 0 is the least significant bit. If you take\\n the \"),_c('b',[_vm._v(\"three inputs from the previous timestamp as three bits of a binary\\n number\")]),_vm._v(\", you get a number \"),_c('var',[_vm._v(\"k\")]),_vm._v(\" from 0 to 7, and bit \"),_c('var',[_vm._v(\"k\")]),_vm._v(\"\\n of the rule number gives you the output.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"In the following examples, we will use multiple equivalent representations\\n for \"),_c('em',[_vm._v(\"off\")]),_vm._v(\" and \"),_c('em',[_vm._v(\"on\")]),_vm._v(\" states:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',{staticStyle:{\"margin\":\"0 auto\"},attrs:{\"cellspacing\":\"0\",\"cellpadding\":\"5\"}},[_c('tr',[_c('th',{attrs:{\"align\":\"right\"}},[_vm._v(\"State\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"off\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"on\")])]),_vm._v(\" \"),_c('tr',[_c('th',{attrs:{\"align\":\"right\"}},[_vm._v(\"Pixel Color\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"white\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"black\")])]),_vm._v(\" \"),_c('tr',[_c('th',{attrs:{\"align\":\"right\"}},[_vm._v(\"Value\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"0\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"1\")])]),_vm._v(\" \"),_c('tr',[_c('th',{attrs:{\"align\":\"right\"}},[_vm._v(\"Graphic\")]),_vm._v(\" \"),_c('td',{staticStyle:{\"border\":\"1px solid #888\",\"width\":\"60px\"},attrs:{\"align\":\"center\"}},[_vm._v(\"empty\")]),_vm._v(\" \"),_c('td',{staticClass:\"fill-black\",staticStyle:{\"border\":\"1px solid #888\",\"width\":\"60px\"},attrs:{\"align\":\"center\"}},[_vm._v(\"filled\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h4',[_vm._v(\"Boundary Conditions: off the board should be considered off!\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Cellular automaton specifications always need to be clear what to do\\n about the edges of the simulation. Here, when you place your rule\\n \"),_c('em',[_vm._v(\"mask\")]),_vm._v(\" on the rightmost or leftmost cells, it will hang off the\\n edge, and have \"),_c('em',[_vm._v(\"undefined\")]),_vm._v(\" values for the cells off the board.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"For this assignment, we want you to consider the \"),_c('b',[_vm._v(\"cells that are off the\\n board to be permanently \"),_c('em',[_vm._v(\"off.\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"So this is how you would interpret rule 30:\\n (\"),_c('dfn',[_vm._v(\"Note the input is a 3-bit binary from the previous step and converted into decimal\")]),_vm._v(\")\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td'),_c('td',{staticClass:\"transition\"},[_vm._v(\"↓\")]),_c('td')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If we run rule 30 for a couple hundred timesteps, a beautiful, chaotic, irregular pattern emerges on the right.\\n This can be verified with \"),_c('a',{attrs:{\"href\":\"http://atlas.wolfram.com/01/01/30/\"}},[_vm._v(\"an archival site of rule 30\")]),_vm._v(\" at the \"),_c('a',{attrs:{\"href\":\"http://atlas.wolfram.com/\"}},[_vm._v(\"Wolfram Atlas\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/rule30_200.png\"),\"width\":\"560\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 3. The first 200 steps of rule 30.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n For this project, you'll write a \"),_c('b',[_vm._v(\"Java\")]),_vm._v(\" program to generate these patterns.\\n Your program should accept two arguments on the command line:\\n the rule number and the number of steps.\\n The first row of the image should be all white (all zeroes)\\n except for a single black pixel in the center,\\n and this should be followed by a row for each timestep.\\n If there are \"),_c('var',[_vm._v(\"n\")]),_vm._v(\" timesteps,\\n there should be \"),_c('var',[_vm._v(\"n\")]),_vm._v(\" columns in the image\\n on both sides of the center column.\\n So, for example, the following commands:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"should print the image in Figure 3, in \"),_c('b',[_vm._v(\"Portable Bitmap Format\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"An image in Portable Bitmap Format is a text file where each line (after\\n the first line) is a row of the image as a string of \\\"0\\\"s and \\\"1\\\"s. The\\n first line indicates the format and size of the image in the form\\n \\\"P1 \"),_c('var',[_vm._v(\"width\")]),_vm._v(\" \"),_c('var',[_vm._v(\"height\")]),_vm._v(\"\\\". So, for example, the\\n 7-pixel-by-3-pixel image in Figure 2 would be represented by a text file\\n like this:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Your program should print the PBM image on its standard output (that is,\\n using \"),_c('code',[_vm._v(\"print\")]),_vm._v(\" statements). The output can be saved to a file by\\n putting a \\\">\\\" after the command, like this:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"To verify that your file has been written correctly, you should open the .pbm file in your favorite graphic / image file editor (e.g. \"),_c('a',{attrs:{\"href\":\"http://www.adobe.com/products/photoshop.html\"}},[_vm._v(\"Photoshop\")]),_vm._v(\", \"),_c('a',{attrs:{\"href\":\"http://www.lemkesoft.de/en/products/graphic-converter/\"}},[_vm._v(\"Graphic Converter\")]),_vm._v(\", etc.). If you don't have one, you can use something free like \"),_c('a',{attrs:{\"href\":\"http://www.gimp.org/\"}},[_vm._v(\"GIMP: \\\"GNU Image Manipulation Program.\\\"\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Some other interesting rules you can try are rule 18, rule 45, rule 73, rule 105, rule 150, and rule 225. The \"),_c('a',{attrs:{\"href\":\"http://atlas.wolfram.com/01/01/\"}},[_vm._v(\"Wolfram Atlas\")]),_vm._v(\" has pictures of all 256 rules, so you can use it to check your results.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"However, the image of \"),_c('a',{attrs:{\"href\":\"http://atlas.wolfram.com/01/01/139/\"}},[_vm._v(\"Rule 139\")]),_vm._v(\" in the \"),_c('a',{attrs:{\"href\":\"http://atlas.wolfram.com/01/01/\"}},[_vm._v(\"Wolfram Atlas\")]),_vm._v(\" suggests that it should be like this:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Can you spot the difference? Our solution has several diagonals of zeros creeping in from the\\n right-hand side of the image while the \"),_c('a',{attrs:{\"href\":\"http://atlas.wolfram.com/01/01/139/\"}},[_vm._v(\"Wolfram solution\")]),_vm._v(\"\\n does not. This is due to their assumption that the grid is an \"),_c('em',[_vm._v(\"infinite\")]),_vm._v(\" grid (versus\\n a \"),_c('em',[_vm._v(\"finite\")]),_vm._v(\" grid in this assignment). Therefore, for the sake of simplicity, the CS9H\\n solution at in the upper region is considered the \"),_c('em',[_vm._v(\"correct\")]),_vm._v(\" solution for this assignment.\\n This means, you do not need to write additional code to produce their solution.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you really enjoy this project, you might want to consider implementing a \"),_c('a',{attrs:{\"href\":\"http://mathworld.wolfram.com/TotalisticCellularAutomaton.html\"}},[_vm._v(\"Totalistic Cellular Automaton\")]),_vm._v(\". Enjoy!\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_vm._v(\"Correct output patterns:\\n \"),_c('ul',[_c('li',[_vm._v(\" each rule tested on all inputs;\")]),_vm._v(\" \"),_c('li',[_vm._v(\" at least five rules tested, some of which are the same as the Wolfram Atlas, some of which are different (like rule 139)\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1031f25a\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/java/CellularAutomaton.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1031f25a\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!stylus-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CellularAutomaton.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CellularAutomaton.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CellularAutomaton.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1031f25a\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CellularAutomaton.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-1031f25a\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/java/CellularAutomaton.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/windows_env_var.896ddf6.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/windows_env_var.png\n// module id = H+oE\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/rule30.e737956.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/matlab/images/rule30.jpg\n// module id = HB0a\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/git-bash-options.996da61.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/git-bash-options.png\n// module id = HODm\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/terminal_commands.2f2d5de.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/terminal_commands.png\n// module id = HmNq\n// module chunks = 1","module.exports = \"data:image/gif;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/marble-3.gif\n// module id = IVGF\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/apply_changes.8ebcaf5.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/apply_changes.png\n// module id = J+Js\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 3: Input and Output\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Think Python (2nd Edition) Chapter 14',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2015.html'\n },\n {\n title: 'Think Python (2nd Edition) Appendix A',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2021.html'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('QuizQuestion',[_c('p',[_vm._v(\"The file \"),_c('code',[_vm._v(\"input.txt\")]),_vm._v(\" contains a list of one or more\\n floating-point numbers, with one on each line. An aspiring Python\\n programmer wrote the following program to calculate the average of these\\n numbers and write it to \"),_c('code',[_vm._v(\"output.txt\")]),_vm._v(\". However, the program has\\n four bugs. Describe each of the bugs and write out a fixed version of\\n program below.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"file = open('input.txt')\\ntotal = 0.0\\ncount = 0\\nwhile 1:\\n line = file.readline()\\n total += line\\n count += 1\\nfile.close()\\nfile = open('output.txt')\\nfile.write(total/count)\\nfile.close()\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('ol',[_c('li',[_vm._v(\"No termination of the \"),_c('code',[_vm._v(\"while\")]),_vm._v(\" loop.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"The line of input is not converted to an number.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Output file is opened for reading, not writing.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"A number instead of a string is passed to \"),_c('code',[_vm._v(\"file.write()\")]),_vm._v(\".\")])]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"file = open('input.txt')\\ntotal = 0.0\\ncount = 0\\nwhile 1:\\n line = file.readline()\\n if not line: \"),_c('em',[_vm._v(\"# Fix bug 1.\")]),_vm._v(\"\\n break \"),_c('em',[_vm._v(\"# Fix bug 1.\")]),_vm._v(\"\\n total += float(line) \"),_c('em',[_vm._v(\"# Fix bug 2.\")]),_vm._v(\"\\n count += 1\\nfile.close()\\nfile = open('output.txt', 'w') \"),_c('em',[_vm._v(\"# Fix bug 3.\")]),_vm._v(\"\\nfile.write('%f\\\\n' % (total/count)) \"),_c('em',[_vm._v(\"# Fix bug 4.\")]),_vm._v(\"\\nfile.close()\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Alternatively, bug 1 can also be fixed by replacing the lines\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"while 1:\\n line = file.readline()\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"with the single line\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"for line in file:\\n ....\")])])])],1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"For this quiz, you will learn about how Python reads and writes\\n information to \"),_c('em',[_vm._v(\"files\")]),_vm._v(\", otherwise known as Input and Output (I/O).\\n Thankfully, there's not much reading in this section.\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-22f25420\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/python/InputAndOutput.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-22f25420\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./InputAndOutput.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/python/InputAndOutput.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 1: Iterators\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Data Structures and Problem Solving using Java (4th Edition) Sections 6.2 - 6.3'\n },\n {\n title: 'Data Structures and Problem Solving using Java (4th Edition) Sections 17.1 - 17.2, 17.5'\n },\n {\n title: 'Data Structures and Problem Solving using Java (4th Edition) Section 18.4'\n },\n {\n title: 'Data Structures and Problem Solving using Java (4th Edition) Chapter 15'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Consider the following definition for a class that represents a set of\\n positive integers.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"import java.util.Iterator;\\n\\n/**\\n * Represent a set of integers from 1 to myMaxPossible.\\n * For each element k of the set, myValues[k - 1] is true;\\n * myValues entries for elements not in the set are all false.\\n */\\npublic class Set {\\n private boolean[] myValues;\\n private int myMaxPossible;\\n\\n public Set(int maxElement) {\\n myValues = new boolean[maxElement];\\n myMaxPossible = maxElement;\\n }\\n\\n /**\\n * Add the element k to the set.\\n */\\n public void addElement(int k) {\\n myValues[k - 1] = true;\\n }\\n\\n public Iterator iterator() {\\n return new SetIterator();\\n }\\n\\n private class SetIterator implements Iterator {\\n private int myIndex; // index of the next element of the set to\\n // return\\n\\n public SetIterator() {\\n // TODO: Write your constructor code here for Exercise 1.\\n }\\n\\n public boolean hasNext() {\\n // TODO: Write your method code here for Exercise 1.\\n }\\n\\n public Object next() {\\n // TODO: Write your method code here for Exercise 1.\\n }\\n }\\n\\n public static void main(String[] args) {\\n Set s = new Set(9);\\n s.addElement(3);\\n s.addElement(6);\\n s.addElement(9);\\n\\n // TODO: Write your driver code here for Exercise 2.\\n }\\n}\")])]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Supply the bodies of the \"),_c('code',[_vm._v(\"SetIterator\")]),_vm._v(\" constructor and the\\n \"),_c('code',[_vm._v(\"hasNext()\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"next()\")]),_vm._v(\" methods. Execution of each\\n of these methods should leave the \"),_c('code',[_vm._v(\"myIndex\")]),_vm._v(\" variable indexing\\n the next element to return in the set, or indexing past the end of the\\n array if no more elements remain to be returned.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"Solution code appears below. Search is necessary in the\\n \"),_c('code',[_vm._v(\"SetIterator\")]),_vm._v(\" constructor and the \"),_c('code',[_vm._v(\"next()\")]),_vm._v(\" method\\n to set \"),_c('code',[_vm._v(\"myIndex\")]),_vm._v(\" to the desired value. No more elements\\n remain to be returned in the set when \"),_c('code',[_vm._v(\"myIndex\")]),_vm._v(\" reaches the\\n end of the range of represented values. Reminder:\\n \"),_c('code',[_vm._v(\"myValues[myIndex]\")]),_vm._v(\" is true when \"),_c('code',[_vm._v(\"myIndex+1\")]),_vm._v(\" is\\n in the represented set.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public SetIterator() {\\n for (myIndex = 0;\\n myIndex < myMaxPossible && !myValues[myIndex];\\n myIndex++) {\\n }\\n}\\n\\npublic boolean hasNext() {\\n return myIndex < myMaxPossible;\\n}\\n\\npublic Object next() {\\n int element = myIndex;\\n for (myIndex++;\\n myIndex < myMaxPossible && !myValues[myIndex];\\n myIndex++) {\\n }\\n return new Integer(element+1);\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Provide a loop at the end of the \"),_c('code',[_vm._v(\"main\")]),_vm._v(\" method that uses the\\n \"),_c('code',[_vm._v(\"Set.iterator\")]),_vm._v(\" method to print the elements of the set \"),_c('code',[_vm._v(\"s\")]),_vm._v(\".\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"Solution code appears below. If some \"),_c('code',[_vm._v(\"int\")]),_vm._v(\"-specific\\n operation were to be applied to the elements of \"),_c('code',[_vm._v(\"s\")]),_vm._v(\", the\\n result of the \"),_c('code',[_vm._v(\"nextElement\")]),_vm._v(\" call would have to be cast to\\n \"),_c('code',[_vm._v(\"Integer\")]),_vm._v(\" and the \"),_c('code',[_vm._v(\"intValue\")]),_vm._v(\" method called to\\n access the corresponding \"),_c('code',[_vm._v(\"int\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Iterator iter = s.iterator();\\nSystem.out.print(\\\"Set elements: \\\");\\nwhile (iter.hasNext()) {\\n System.out.print(iter.next() + \\\" \\\");\\n}\")])])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"This quiz gives you practice with the definition and use of iterators, in\\n particular, instances of classes implementing the\\n \"),_c('code',[_vm._v(\"java.util.Iterator\")]),_vm._v(\" interface. Quiz questions will ask you to use\\n the \"),_c('code',[_vm._v(\"Iterator\")]),_vm._v(\" interface and to determine what state to maintain\\n and how to maintain it during the iteration process.\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-98417cf0\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/47b/Iterators.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-98417cf0\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Iterators.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/47b/Iterators.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/java/images/Buggy.png\n// module id = Kq7O\n// module chunks = 1","module.exports = \"data:image/gif;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/47b/images/blocks-sample-goal.gif\n// module id = LYqB\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/setup_terminal_commands.db55005.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/python/images/setup_terminal_commands.png\n// module id = M/1A\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/probability-distribution.95ed439.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/matlab/images/probability-distribution.jpg\n// module id = MGM/\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/cpp/FlowOfControl.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('p',[_vm._v(\"\\n This programming assignment gives you experience with defining and using functions, parameters, and classes,\\n the fundamental construct of object-oriented programming.\\n \")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Useful Information for Writing positions.cpp\")]),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"#include \")])]),_vm._v(\" \"),_c('p',[_vm._v(\"or, in an old C++ environment,\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"#include \")])]),_vm._v(\" \"),_c('p',[_vm._v(\"It's legal and appropriate to assign one object to another, for instance by saying\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"oldCatPosition = newCatPosition;\")])]),_vm._v(\" \"),_vm._m(5)]),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Readings\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"http://www.cs.duke.edu/csed/tapestry/\"}},[_c('cite',[_vm._v(\"A Computer Science Tapestry\")])]),_vm._v(\" Sections 2.4 -\\n 2.6\\n \")]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://www.cs.duke.edu/csed/tapestry/\"}},[_c('cite',[_vm._v(\"A Computer Science Tapestry\")])]),_vm._v(\" Section 3.4\\n \")]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://www.cs.duke.edu/csed/tapestry/\"}},[_c('cite',[_vm._v(\"A Computer Science Tapestry\")])]),_vm._v(\" Sections 4.5 -\\n 4.6\\n \")]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://www.cs.duke.edu/csed/tapestry/\"}},[_c('cite',[_vm._v(\"A Computer Science Tapestry\")])]),_vm._v(\" Section 5.4\\n \")]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://www.cs.duke.edu/csed/tapestry/\"}},[_c('cite',[_vm._v(\"A Computer Science Tapestry\")])]),_vm._v(\" Chapter 6\\n (excluding Sections 6.3.5, 6.3.7, and 6.5)\\n \")]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://www.cs.duke.edu/csed/tapestry/\"}},[_c('cite',[_vm._v(\"A Computer Science Tapestry\")])]),_vm._v(\" Chapter 7\")]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://www.cs.duke.edu/csed/tapestry/\"}},[_c('cite',[_vm._v(\"A Computer Science Tapestry\")])]),_vm._v(\" Appendix D\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Please download the starter code from above.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Cat and Mouse\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/cat-and-mouse.png\"),\"alt\":\"Cat and Mouse\",\"width\":\"560\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1. The Cat and Mouse problem.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"The scene is an urban park; a cat watches a mouse run around the base of\\n a statue of the actors from Monty Python. Over the course of a second, the\\n somewhat witless mouse moves one meter counterclockwise around the\\n statue’s base, which is circular and two meters in diameter. Every\\n second, the cat pursues the mouse as follows: If the cat can see the mouse,\\n the cat moves one meter toward the statue. If the cat can’t see the\\n mouse, the cat circles 1.25 meters counterclockwise around the statue.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The cat plans eventually to get close enough to the mouse to make it a\\n juicy lunch. The mouse by accident, however, may manage to keep completely\\n out of sight of the cat, since both the cat and the mouse are moving\\n counter-clockwise.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Should the chase go on more than 30 seconds, however,\\n the cat will get tired and wander off.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Your Task\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Complete the program found in \"),_c('code',[_vm._v(\"cat+mouse.cpp\")]),_vm._v(\" to produce a simulation\\n of this situation and determine if the cat catches the mouse. Don't change any of\\n the code already provided in that file. The program uses a \"),_c('code',[_vm._v(\"Position\")]),_vm._v(\"\\n class declared in \"),_c('code',[_vm._v(\"positions.h\")]),_vm._v(\"; you are also to provide a file\\n \"),_c('code',[_vm._v(\"positions.cpp\")]),_vm._v(\" that correctly implements the operations of this class.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The program first calls the \"),_c('code',[_vm._v(\"GetPositions\")]),_vm._v(\" function to ask\\n the user for the initial positions of the mouse (angle in degrees) and the\\n cat (both radius and angle in degrees). You may assume that the user\\n provides legal position values.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The program then calls the \"),_c('code',[_vm._v(\"RunChase\")]),_vm._v(\" function to simulate\\n the chase using the rules listed above. (The cat moves first.) Your code\\n should use member functions of the \"),_c('code',[_vm._v(\"Position\")]),_vm._v(\" class where\\n appropriate. It should print the position of the cat and mouse after each\\n move, followed by the results of the chase (either the mouse becomes lunch,\\n or the cat gives up after 30 minutes).\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('code',[_vm._v(\"cos\")]),_vm._v(\" function appears in the C++ math function library.\\n Note that the argument to this function must be specified in\\n \"),_c('em',[_vm._v(\"radians\")]),_vm._v(\", not degrees. A source file that uses any of the math\\n functions must include the line\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Note also that an object's member function (e.g. \"),_c('code',[_vm._v(\"IsBetween\")]),_vm._v(\")\\n can access the private data of any other object of the same class.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Trigonometric Information\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"\\n The cat sees the mouse if \"),_c('br'),_vm._v(\" \"),_c('code',[_vm._v(\"(cat radius) * cos (cat angle - mouse angle) >= 1.0\")]),_vm._v(\" (angles in radian)\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n When the cat circles distance d around the statue, its radius does not change, and the change in\\n its angle can be calculated from the relationship \"),_c('br'),_vm._v(\" \"),_c('code',[_vm._v(\"d = angle * radius\")]),_vm._v(\" (angles in radian)\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n The cat catches the mouse when it (the cat) moves past the mouse while at the base of the statue,\\n i.e. when the cat radius is 1.0 and the mouse angle lies between the old cat angle and the new\\n cat angle. An angle B is between angles A and C in the following circumstances:\"),_c('br'),_vm._v(\" \"),_c('code',[_vm._v(\"cos (B - A) > cos (C - A)\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"cos (C - B) > cos (C - A)\")]),_vm._v(\" (angles in radian)\"),_c('br'),_vm._v(\"\\n The difference C - A is assumed to be less than 90°, or π/2 radians.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Note that the cat cannot move inside the statue’s base; hence if the cat is, say, at radius 1.7 and sees the mouse, it can move in only 0.7 meters, up to the base of the statue.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Remember that angles a, a + 2π, a + 4π, ... are all equal.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Testing\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Test each function and method in your program with enough different\\n inputs to show that it works. When testing a method, print out the input,\\n the expected result, and the actual result.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"It would probably be helpful for debugging purposes to have a debug flag\\n available that, when true, dumped the position and heading of all\\n characters involved (cat and mouse) at each time step.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You should test the methods of each Class in isolation, using\\n appropriate test data, to see if they work independently before calling\\n them from a driver function. Tutors may ask to see the results of these\\n tests. Your test data should include the following values:\")]),_vm._v(\" \"),_c('p',[_c('i',[_vm._v(\"(Note: Cat radius is calculated from the center of Statue)\")])]),_vm._v(\" \"),_c('table',{staticClass:\"table table-bordered table-striped\"},[_c('tr',[_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Cat Radius (m)\")]),_vm._v(\" \"),_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Cat Angle (degree)\")]),_vm._v(\" \"),_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Mouse Angle (degree)\")]),_vm._v(\" \"),_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Test Case Features\")])]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"1.0\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"35.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"396.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"angle > 360; mouse caught immediately\")])]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"3.2\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"0.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"-57.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"negative angle;\"),_c('br'),_vm._v(\"\\n cat radius has fractional part;\"),_c('br'),_vm._v(\"\\n mouse caught at time 17\")])]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"8.1\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"0.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"45.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}})]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"8.1\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"150.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"240.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}})]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"4.0\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"0.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"-57.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}})])]),_vm._v(\" \"),_c('p',[_vm._v(\"...plus the following cases:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"cat catches mouse at time 30;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"cat would catch mouse at time 31 if the simulation ran that long;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"whatever other values are necessary to ensure that all statements in your program have been executed at least once.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Be sure to check that the output makes sense for these tests, since the output is what most tutors will check first. Students are sometimes embarrassed to have a tutor point out that their programs have the cat moving deeper and deeper inside the statue, or moving away from the mouse instead of approaching it.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correctly working code.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n No changes made to functions already provided in \"),_c('code',[_vm._v(\"cat+mouse.cpp\")]),_vm._v(\", or to the\\n public interface in \"),_c('code',[_vm._v(\"positions.h\")]),_vm._v(\".\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Sufficient testing, with output sufficient to verify test correctness:\\n \"),_c('ul',[_c('li',[_vm._v(\"tests on specified values for cat and mouse positions;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"evidence of independent tests of all functions in \"),_c('code',[_vm._v(\"positions.cpp\")]),_vm._v(\";\")]),_vm._v(\" \"),_c('li',[_vm._v(\"tests sufficient to exercise all statements in the program.\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Listings of program text, tests, and test results.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Adherence to CS 9F style standards:\\n \"),_c('ul',[_c('li',[_vm._v(\"appropriate use of indenting and white space;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"avoidance of \\\"forbidden C++\\\";\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable and function names that reflect their use;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"informative comments at the head of each function;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no routine more than twenty-four lines of code.\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Clean case analysis and simple loop structuring.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Suitable input prompts and informative output, including at least the positions of\\n the cat and mouse after each move, and the final result of the chase.\\n \")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-172d2999\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/cpp/FlowOfControl.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./FlowOfControl.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./FlowOfControl.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-172d2999\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./FlowOfControl.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/FlowOfControl.vue\n// module id = null\n// module chunks = ","// Note: Appointment url should start with https://\nexport default {\n 'matlab': {\n 'name': 'MATLAB',\n 'class': 'CS9A',\n 'piazza': ' https://piazza.com/berkeley/fall2018/cs9aselfpaced?token=fZtKqHrKAmM',\n 'appointment': 'https://selfpacematlab.youcanbook.me/'\n },\n 'c': {\n 'name': 'C',\n 'class': 'CS9C',\n 'piazza': 'http://piazza.com/berkeley/spring2019/9cselfpaced?token=iGnnaEkL4Pl',\n 'appointment': 'https://selfpacec.youcanbook.me'\n },\n 'unix': {\n 'name': 'UNIX',\n 'class': 'CS9E',\n 'piazza': 'http://piazza.com/berkeley/spring2019/cs9eselfpaced?token=iGnnaEkL4Pl',\n 'appointment': 'https://selfpaceunix.youcanbook.me'\n },\n 'cpp': {\n 'name': 'C++',\n 'class': 'CS9F',\n 'piazza': 'http://piazza.com/berkeley/spring2019/cs9fselfpaced?token=iGnnaEkL4Pl',\n 'appointment': 'https://selfpacecpp.youcanbook.me'\n },\n 'java': {\n 'name': 'Java',\n 'class': 'CS9G',\n 'piazza': 'http://piazza.com/berkeley/spring2019/cs9gselfpaced?token=iGnnaEkL4Pl',\n 'appointment': 'https://selfpacejava.youcanbook.me'\n },\n 'python': {\n 'name': 'Python',\n 'class': 'CS9H',\n 'piazza': 'http://piazza.com/berkeley/spring2019/compsci9h?token=iGnnaEkL4Pl',\n 'appointment': 'https://selfpacepython.youcanbook.me'\n },\n '47b': {\n 'name': '47B',\n 'class': 'CS47B',\n 'piazza': 'https://piazza.com/berkeley/fall2018/compsci47b?token=fZtKqHrKAmM',\n 'appointment': 'https://selfpace47b.youcanbook.me'\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/courses/settings.js","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/global/NavBar.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-header\"},[_c('b-container',{staticClass:\"page-header-container\"},[_c('router-link',{staticClass:\"main-link\",attrs:{\"to\":{name:'Home'}}},[_vm._v(\"Self-Paced Center\")]),_vm._v(\" \"),_c('nav',{staticClass:\"nav-top\"},[_c('ul',{staticClass:\"nav\"},_vm._l((_vm.courses),function(info,courseId){return _c('li',{key:courseId,staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-top-link\",class:{ 'router-link-active' : _vm.$route.params['courseId'] === courseId},attrs:{\"to\":{name:'Calendar', params: { courseId: courseId }}}},[_vm._v(\"\\n \"+_vm._s(info.name)+\"\\n \")])],1)}))])],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-09629ebd\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/global/NavBar.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-09629ebd\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!stylus-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./NavBar.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./NavBar.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./NavBar.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-09629ebd\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./NavBar.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-09629ebd\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/global/NavBar.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('nav-bar'),_vm._v(\" \"),_c('router-view',{staticClass:\"page-content\"})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3d62552c\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3d62552c\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!stylus-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3d62552c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!stylus-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=1!./App.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3d62552c\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-3d62552c\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","const system = {\n 'web_root': '/',\n 'static_asset': '/static/',\n 'starter_code': '/static/starter-code'\n}\n\nexport { system }\n\n\n\n// WEBPACK FOOTER //\n// ./src/settings/index.js","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/Home.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',{staticClass:\"home-container\"},[_c('section',[_c('article',[_c('h1',[_vm._v(\"Welcome to the Self-Paced Center!\")]),_vm._v(\" \"),_c('h2',[_vm._v(\"Announcements!\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Welcome to Spring 19. \"),_c('br'),_c('br'),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://youtu.be/vPbIciAF3_Q\"}},[_vm._v(\"Orientation Video for Spring 19\")]),_vm._v(\" \"),_c('br'),_vm._v(\" View this 15 minute video for information about Spr 19 Self Pace Courses\\n \\n \\n \"),_c('br'),_vm._v(\"\\n If you are enrolled late and haven't received an informational email contact\\n carolmarshall@berkeley.edu Or if you have any questions contact Carol\\n \\n \"),_c('br'),_vm._v(\"\\n Our hours for Spring are Mondays and Thurs 11-5pm (we are closed Tues, Wed and Friday)\\n \\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Our \\\"entrance quiz\\\" is \"),_c('a',{attrs:{\"href\":_vm.asset('EntranceQuiz.pdf'),\"target\":\"_blank\"}},[_vm._v(\"here\")]),_vm._v(\".\\n If you can easily answer these questions, you have the basic background for our courses.\\n \")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Introduction\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Welcome to the Self Pace Program Spring 19!\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n We offer the\\n CS9 courses which are two-unit P/NP courses for programmers who wish to learn a\\n second language. \\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n These courses are \\\"Self-Paced\\\" but they are still serious UC courses,\\n with a high difficulty level and pre-requisites. We know you will have a\\n positive experience learning the languages and enriching your skill sets,\\n but please note that these courses can take up a lot of your time! Please\\n plan accordingly\\n \")]),_vm._v(\" \"),_c('blockquote',[_c('h3',[_vm._v(\"IMPORTANT NOTE\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Our 9 series courses are 2 units. And can have as\\n much work as a 4 unit course. Please keep this in mind when you consider\\n signing up for more than one class. We don’t recommend students with\\n average to heavy course loads take more than one self-pace course at a\\n time.\\n \")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Location\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Our center is located in 200A \"),_c('a',{attrs:{\"href\":\"http://www.berkeley.edu/map?sutardja\",\"target\":\"_blank\"}},[_vm._v(\"Sutardja Dai Hall\")]),_vm._v(\".\\n Use the entrance via Yali's cafe next door\\n \")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Hours\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Our hours are: Monday and Thurs 11-5pm(we are closed Tuesday, Wed and Friday). Also note we stop handing\\n out quizzes the last 30 minutes we are open and don’t start new tutoring\\n sessions the last 15 minutes we are open, even if you are signed up.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n We are appointment only for tutors.\\n \")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Entrance Quiz\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n We have an entrance quiz for the CS9 Courses \"),_c('a',{attrs:{\"href\":_vm.asset('EntranceQuiz.pdf')}},[_vm._v(\"here\")]),_vm._v(\",\\n every student must self evaulate and take to verify they have the right pre-reqs for a CS9 course. We\\n aren’t trying to be mean, we just want to check if this is the class for\\n you. We have even been told the quiz should be even more challenging. This\\n quiz is for YOU to determine if this course is a fit for you. Not\\n having the pre-requisites and trying to take our courses will set you up\\n for a lot of grief. The current climate as made many students eager to\\n learn programming which is great. But our courses do require\\n pre-requisites. Please note just knowing the basic recursion is not enough\\n to prepare you for our courses. We will stop taking new adds via telebears\\n early 3rd week. So if you are considering switching courses do so before\\n then.\\n \")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Grading Guidelines\")]),_vm._v(\" \"),_c('article',[_c('p',[_vm._v(\"The point breakdown for self-paced courses is as follows:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Assignments and Quizzes (40%)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Pacing Points (20%)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Final Exam (40%)\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"CS9 courses are graded on a P/NP basis, and you need at least 70% to pass.\\n \")])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Assignments\")]),_vm._v(\" \"),_c('p',[_vm._v(\"If you have an assignment ready to get graded, meaning you have all\\n what the check list in the assignment requires, check the tutor schedule\\n on our web site to make an appointment to see a tutor for a check off.\\n The tutors prefer to see running programs on your laptops. You can\\n download a compiler to run your program on your own machine. Feel free to\\n ask our staff about this. You will also be offered a computer account to\\n use UCB servers using SSH or terminal on your Mac, if you wish. Feel free\\n to ask us questions about this.\")])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Quizzes\")]),_vm._v(\" \"),_c('p',[_vm._v(\"There are also quizzes you take to back up your knowledge. You are\\n allowed to bring in notes during your quiz taking.\\n But no devices are allowed to be used. True, you must have correct\\n answers on all questions on the quiz in order to pass, but retaking\\n quizzes is part of the learning process, and tutors will sometimes allow\\n you to make a change if you made a mental error. Quizzes must be\\n completed in one sitting; they cannot be done as a work in progress.\\n There is a TWO DAY WAIT for retaking quizzes, so it’s of you best\\n interest to only take quizzes when you are prepared. Don’t just take a\\n quiz due to fear of losing pacing points as that strategy, as that will\\n back fire on you. How do you know you are ready? If you did the\\n corresponding program and feel confident. And really there is nothing to\\n be nervous about. If you are working well with the course, the quizzes\\n are just part of the process.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Programs MUST be completed before corresponding quiz can be taken. But\\n you can continue working on programs if you are waiting to retake a quiz,\\n in fact we encourage that. For Assignments, you must have your code and\\n test cases showing correctness ready to be examined for the tutor to\\n grade before the grading session in order to pass.\")])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Pacing Points and Deadlines\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Everyone will start the semester with\\n 20 pacing points. This semester students will be setting up their own course work deadlines -for information about this ask the staff at the SP Center or write to us\")])])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-00ffb99e\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Home.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Home.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Home.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-00ffb99e\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Home.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Home.vue\n// module id = null\n// module chunks = ","export default {\n 'matlab': {\n 'title': 'CS 9A: MATLAB for Programmers',\n 'schedule': {\n '1': {\n 'material': [\n {\n 'topic': 'Introduction to MATLAB (Part 1)',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Chapter 2',\n 'type': 'text'\n }\n },\n {\n 'topic': 'Introduction to MATLAB (Part 2)',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Chapter 3',\n 'type': 'text'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Chapter 4',\n 'type': 'text'\n }\n },\n {\n 'topic': 'Arrays and Array Operations (Part 1)',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Sections 5.1 - 5.7',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '2': {\n 'material': [\n {\n 'topic': 'Arrays and Array Operations (Part 2)',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Sections 5.8, 5.12',\n 'type': 'text'\n }\n },\n {\n 'topic': 'Plotting (Part 1), Vectorization, JIT-Acceleration, and Numeric Data Types',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Sections 25.1 - 25.3',\n 'type': 'text'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Sections 32.1 - 32.2',\n 'type': 'text'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Chapter 7',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 1a: Correlation Coefficient',\n 'template': 'correlation-coefficient'\n },\n 'quiz': null\n },\n '3': {\n 'material': [\n {\n 'topic': 'Control Flow',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Chapter 10',\n 'type': 'text'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Sections 11.1 - 11.4',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 1b: Generalized Dice Probabilities',\n 'template': 'generalized-dice-probabilities'\n },\n 'quiz': null\n },\n '4': {\n 'material': [\n {\n 'topic': 'Functions',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Sections 12.1 - 12.3, 12.6, 12.9 - 12.11',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 1: Introduction to Array and Matrix Operations',\n 'template': 'introduction-to-array-and-matrix-operations'\n }\n },\n '5': {\n 'material': [\n {\n 'topic': 'File and Directory Management',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Chapter 13',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 2a: Life 1D',\n 'template': 'cellular-automation'\n },\n 'quiz': null\n },\n '6': {\n 'material': [\n {\n 'topic': 'Arrays and Array Operations (Part 3)',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Sections 5.9 - 5.11',\n 'type': 'text'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Chapter 6',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 2b: Heat Transfer',\n 'template': 'heat-transfer'\n },\n 'quiz': null\n },\n '7': {\n 'material': [\n {\n 'topic': 'Basic Statistical Analysis and Two-Dimensional Interpolation',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Section 17.1',\n 'type': 'text'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Section 18.2',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 2: Advanced Array and Matrix Operations',\n 'template': 'advanced-array-and-matrix-operations'\n }\n },\n '8': {\n 'material': [\n {\n 'topic': 'Cell Arrays and Structures',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Chapter 8',\n 'type': 'text'\n }\n },\n {\n 'topic': 'Character Strings',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Chapter 9',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '9': {\n 'material': [\n {\n 'topic': 'Function Handles, Anonmyous Functions, Timing Functions, Plotting (Part 2) and Color and Light',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Section 12.7',\n 'type': 'text'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Section 15.4',\n 'type': 'text'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Sections 25.4 - 25.8',\n 'type': 'text'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Chapter 27',\n 'type': 'text'\n }\n },\n {\n 'topic': 'Images',\n 'reading': {\n 'title': 'Mastering Matlab (1st Edition) Sections 28.1 - 28.3',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 3: Image Manipulation',\n 'template': 'image-manipulation'\n },\n 'quiz': null\n },\n '10': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 3a: Plotting and Function Handles',\n 'template': 'plotting-and-function-handles'\n }\n },\n '11': {\n 'material': [\n {\n 'topic': 'Symbolic Numbers, Variables, Expressions, Functions, and Matrices',\n 'reading': {\n 'title': 'MATLAB Documentation Create Symbolic Numbers, Variables, and Expressions',\n 'type': 'url',\n 'target': 'https://www.mathworks.com/help/symbolic/create-symbolic-numbers-variables-and-expressions.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'MATLAB Documentation Create Symbolic Functions',\n 'type': 'url',\n 'target': 'https://www.mathworks.com/help/symbolic/create-symbolic-functions.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'MATLAB Documentation Create Symbolic Matrices',\n 'type': 'url',\n 'target': 'https://www.mathworks.com/help/symbolic/create-symbolic-matrices.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': '[Reference] MATLAB Documentation Symbolic Math Toolbox',\n 'type': 'url',\n 'target': 'https://www.mathworks.com/help/symbolic/index.html'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 3b: Cell Arrays and Structures',\n 'template': 'cell-arrays-and-structures'\n }\n },\n '12': {\n 'material': [\n {\n 'topic': 'Symbolic Computations',\n 'reading': {\n 'title': 'MATLAB Documentation Perform Symbolic Computations',\n 'type': 'url',\n 'target': 'https://www.mathworks.com/help/symbolic/performing-symbolic-computations.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'MATLAB Documentation Use Assumptions on Symbolic Variables',\n 'type': 'url',\n 'target': 'https://www.mathworks.com/help/symbolic/assumptions-for-symbolic-objects.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': '[Reference] MATLAB Documentation Symbolic Math Toolbox',\n 'type': 'url',\n 'target': 'https://www.mathworks.com/help/symbolic/index.html'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 4: Working with the Symbolic Math Toolbox',\n 'template': 'working-with-the-symbolic-math-toolbox'\n },\n 'quiz': null\n },\n '13': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 4: Symbolic Math Operations',\n 'template': 'symbolic-math-operations'\n }\n }\n }\n },\n 'c': {\n 'title': 'CS 9C: C for Programmers',\n 'schedule': {\n '1': {\n 'material': [\n {\n 'topic': 'Introduction to Programming in C',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Chapter 1',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-1'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Sections 2.1 - 2.3',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/2dot-basics-of-program-writing/pcp3-chp-2-sect-1'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Chapter 3',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-23-sect-6'\n }\n },\n {\n 'topic': 'Basic Declarations and Expressions, Decision and Control Statements',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Chapter 4',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-4'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Chapter 6',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-6'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 0: Setting up your environment',\n 'template': 'setup'\n },\n 'quiz': null\n },\n '2': {\n 'material': [\n {\n 'topic': 'More Control Statements, Variable Scope, and Functions',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Chapter 8',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-8'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Sections 9.1 - 9.4',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/9dot-variable-scope-and-functions/pcp3-chp-9-sect-1'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Appendix C',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/ivdot-other-language-features/pcp3-app-c'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 1: Pig Latin',\n 'template': 'pig-latin'\n },\n 'quiz': null\n },\n '3': {\n 'material': [\n {\n 'topic': 'Arrays, Qualifiers, and Reading Numbers',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Chapter 5',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-5'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 1: Fundamentals',\n 'template': 'fundamentals'\n }\n },\n '4': {\n 'material': [\n {\n 'topic': 'Programming Process',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Chapter 7',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-7'\n }\n },\n {\n 'topic': 'Simple Pointers',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Sections 13.0 - 13.5',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-13'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '5': {\n 'material': [\n {\n 'topic': 'Debugging and Optimization',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Chapter 15',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-15'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 2: Debugging',\n 'template': 'debugging'\n },\n 'quiz': null\n },\n '6': {\n 'material': [\n {\n 'topic': 'Recursion, C Preprocessor',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Section 9.5',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/9dot-variable-scope-and-functions/pcp3-chp-9-sect-5'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Chapter 10',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-23-sect-5'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 2: Functions and Argument Pointers',\n 'template': 'functions-and-argument-pointers'\n }\n },\n '7': {\n 'material': [\n {\n 'topic': 'Recursion, C Preprocessor, Advanced Types, Pointers and Structures, and File I/O',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Chapter 12',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-12'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Section 13.6',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/13dot-simple-pointers/pcp3-chp-17-sect-1'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Sections 17.1 - 17.2',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/17dot-advanced-pointers/id472476'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 3: The \"Animal\" Game',\n 'template': 'the-animal-game'\n },\n 'quiz': null\n },\n '8': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '9': {\n 'material': [\n {\n 'topic': 'File Input/Output',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Chapter 14',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-14'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 3: Arrays, Structures, and Files',\n 'template': 'arrays-structures-and-files'\n }\n },\n '10': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 4: General Use of Pointers',\n 'template': 'general-use-of-pointers'\n }\n },\n '11': {\n 'material': [\n {\n 'topic': 'Command-Line Arguments, Advanced Pointers',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Section 13.7',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/13dot-simple-pointers/pcp3-chp-13-sect-7'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Practical C Programming (3rd Edition) Sections 17.3 - 17.10',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/17dot-advanced-pointers/pcp3-chp-17-sect-3'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 4: The \"Animal\" Game (revisited)',\n 'template': 'the-animal-game-revisited'\n },\n 'quiz': null\n },\n '12': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '13': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 5: Linked Structures',\n 'template': 'linked-structures'\n }\n }\n }\n },\n 'unix': {\n 'title': 'CS 9E: Productive Use of the UNIX Environment',\n 'schedule': {\n '1': {\n 'material': [\n {\n 'topic': 'Introduction to UNIX',\n 'reading': {\n 'title': 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 1',\n 'type': 'text'\n }\n },\n {\n 'topic': 'Basic UNIX Commands',\n 'reading': {\n 'title': 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 2 (excluding Sections 2.9 and 2.15)',\n 'type': 'text'\n }\n },\n {\n 'topic': 'The File System',\n 'reading': {\n 'title': 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 3',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '2': {\n 'material': [\n {\n 'topic': 'File Attributes',\n 'reading': {\n 'title': 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 4',\n 'type': 'text'\n }\n },\n {\n 'topic': 'The Shell',\n 'reading': {\n 'title': 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 6',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Assignment 1.1: UNIX Basics',\n 'template': 'unix-basics'\n },\n 'quiz': null\n },\n '3': {\n 'material': [\n {\n 'topic': 'Customizing the Environment',\n 'reading': {\n 'title': 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 8 (excluding Section 8.10)',\n 'type': 'text'\n }\n },\n {\n 'topic': 'Simple Filters',\n 'reading': {\n 'title': 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 9',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Assignment 1.2: The Shell and Simple Filters',\n 'template': 'the-shell-and-simple-filters'\n },\n 'quiz': null\n },\n '4': {\n 'material': [\n {\n 'topic': 'Processes',\n 'reading': {\n 'title': 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 7',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Assignment 1.3: Process Management',\n 'template': 'process-management'\n },\n 'quiz': null\n },\n '5': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 1: Fundamentals',\n 'template': 'fundamentals'\n }\n },\n '6': {\n 'material': [\n {\n 'topic': 'Looping with a List, Networking Tools',\n 'reading': {\n 'title': 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Section 13.12',\n 'type': 'text'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Sections 11.1 - 11.9',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Assignment 2: Remote Process Execution',\n 'template': 'remote-process-execution'\n },\n 'quiz': null\n },\n '7': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 2: SSH',\n 'template': 'ssh'\n }\n },\n '8': {\n 'material': [\n {\n 'topic': 'Filters Using Regular Expressions',\n 'reading': {\n 'title': 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 10',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Assignment 3: grep and sed',\n 'template': 'grep-and-sed'\n },\n 'quiz': null\n },\n '9': {\n 'material': [\n {\n 'topic': 'Introduction to Shell Programming, Special Characters',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 1',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/why-shell.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 2',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/sha-bang.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 3',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/special-chars.html'\n }\n },\n {\n 'topic': 'Variables, Parameters, Quoting, and Exiting',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapters 4',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/variables.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapters 5',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/quoting.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapters 6',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/exit-status.html'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 3: grep and sed',\n 'template': 'grep-and-sed'\n }\n },\n '10': {\n 'material': [\n {\n 'topic': 'Tests, Operations, and Process Substitution',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 7',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/tests.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 8',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/operations.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 23',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/process-sub.html'\n }\n },\n {\n 'topic': 'Another Look at Variables',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 9',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/variables2.html'\n }\n }\n ],\n 'assignment': {\n 'name': 'Assignment 4.1: BASH Calculator',\n 'template': 'bash-calculator'\n },\n 'quiz': null\n },\n '11': {\n 'material': [\n {\n 'topic': 'Manipulating Variables',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 10',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/manipulatingvars.html'\n }\n },\n {\n 'topic': 'Loops and Branches',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 11',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/loops.html'\n }\n },\n {\n 'topic': 'Command Substitution, Arithmetic Expansion, Aliases, and List Constructs',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 12',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/commandsub.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 13',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/arithexp.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 25',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/aliases.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 26',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/list-cons.html'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '12': {\n 'material': [\n {\n 'topic': '/dev and /proc, Network Programming, /dev/zero, and /dev/null',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 29',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/devproc.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 30',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/networkprogramming.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 31',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/zeros.html'\n }\n },\n {\n 'topic': 'Debugging, Options, and Gotchas',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 32',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/debugging.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 33',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/options.html'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Advanced Bash-Scripting Guide Chapter 34',\n 'type': 'url',\n 'target': 'http://www.tldp.org/LDP/abs/html/gotchas.html'\n }\n }\n ],\n 'assignment': {\n 'name': 'Assignment 4.2: Cat and Mouse',\n 'template': 'cat-and-mouse'\n },\n 'quiz': null\n },\n '13': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 4: BASH Scripting',\n 'template': 'bash-scripting'\n }\n }\n }\n },\n 'cpp': {\n 'title': 'CS 9F: C++ for Programmers',\n 'schedule': {\n '1': {\n 'material': [\n {\n 'topic': 'Computer Science and Programming',\n 'reading': {\n 'title': 'A Computer Science Tapestry Chapter 1',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n },\n {\n 'topic': 'C++ Programs',\n 'reading': {\n 'title': 'A Computer Science Tapestry Chapter 2 (excluding Sections 2.4 - 2.6)',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 0: Setting up your environment',\n 'template': 'setup'\n },\n 'quiz': null\n },\n '2': {\n 'material': [\n {\n 'topic': 'Project Design and Implementation',\n 'reading': {\n 'title': 'A Computer Science Tapestry Chapter 3 (excluding Section 3.4)',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n },\n {\n 'topic': 'Project Control',\n 'reading': {\n 'title': 'A Computer Science Tapestry Chapter 4 (excluding Sections 4.5 - 4.6)',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '3': {\n 'material': [\n {\n 'topic': 'Iteration with Programs',\n 'reading': {\n 'title': 'A Computer Science Tapestry Chapter 5 (excluding Section 5.4)',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 1a: Simple Looping and Testing',\n 'template': 'simple-looping-and-testing'\n },\n 'quiz': null\n },\n '4': {\n 'material': [\n {\n 'topic': 'Functions and Classes',\n 'reading': {\n 'title': 'A Computer Science Tapestry Sections 2.4 - 2.6, 3.4, 4.5 - 4.6, and 5.4',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n },\n {\n 'topic': 'Classes, Iterators, and Patterns',\n 'reading': {\n 'title': 'A Computer Science Tapestry Chapter 6 (excluding Sections 6.3.5, 6.3.7, and 6.5)',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '5': {\n 'material': [\n {\n 'topic': 'Class Interfaces, Design, and Implementation',\n 'reading': {\n 'title': '\\n \\n A Computer Science Tapestry Chapter 7\\n A Computer Science Tapestry Appendix D\\n \\n ',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 1b: Flow of Control',\n 'template': 'flow-of-control'\n },\n 'quiz': null\n },\n '6': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'url'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 1: Fundamentals',\n 'template': 'fundamentals'\n }\n },\n '7': {\n 'material': [\n {\n 'topic': 'Arrays, Data, and Random Access',\n 'reading': {\n 'title': 'A Computer Science Tapestry Sections 8.1 - 8.3',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n },\n {\n 'topic': 'Strings and Streams',\n 'reading': {\n 'title': 'A Computer Science Tapestry Sections 9.1 - 9.3',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '8': {\n 'material': [\n {\n 'topic': 'Sorting',\n 'reading': {\n 'title': 'A Computer Science Tapestry Sections 11.1 and 11.5',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 2: Vector and I/O Stream Exercises',\n 'template': 'vector-and-io-stream-exercises'\n },\n 'quiz': null\n },\n '9': {\n 'material': [\n {\n 'topic': 'Dynamic Data and Lists',\n 'reading': {\n 'title': 'A Computer Science Tapestry Sections 12.1 and 12.2',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 2: Vectors and I/O Streams',\n 'template': 'vectors-and-io-streams'\n }\n },\n '10': {\n 'material': [\n {\n 'topic': 'Operator Overloading',\n 'reading': {\n 'title': 'A Computer Science Tapestry Section 9.4 and Appendix E',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 3: List Structure Exercises',\n 'template': 'list-structure-exercises'\n },\n 'quiz': null\n },\n '11': {\n 'material': [\n {\n 'topic': 'Templates',\n 'reading': {\n 'title': 'A Computer Science Tapestry Chapter 11',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 3: Dynamically Allocated Data',\n 'template': 'dynamically-allocated-data'\n }\n },\n '12': {\n 'material': [\n {\n 'topic': 'Inheritance',\n 'reading': {\n 'title': 'A Computer Science Tapestry Chapter 13',\n 'type': 'url',\n 'target': 'http://www.cs.duke.edu/csed/tapestry/'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 4: Class Design Exercises',\n 'template': 'class-design-exercises'\n },\n 'quiz': null\n },\n '13': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'url'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 4: Class Design',\n 'template': 'class-design'\n }\n }\n }\n },\n 'java': {\n 'title': 'CS 9G: JAVA for Programmers',\n 'schedule': {\n '1': {\n 'material': [\n {\n 'topic': 'Introduction to Classes, Looping, and Conditionals',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) Chapter 1',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/1dot-dive-in-a-quick-dip-breaking-the-surface/dive_in_a_quick_dip_colon_breaking_the_s'\n }\n },\n {\n 'topic': 'Classes and Objects',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) Chapter 2',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/2dot-classes-and-objects-a-trip-to-objectville/classes_and_objects_colon_a_trip_to_obje'\n }\n },\n {\n 'topic': 'Primitives and References',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) Chapter 3',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/3dot-primitives-and-references-know-your-variables/primitives_and_references_colon_know_you'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '2': {\n 'material': [\n {\n 'topic': 'Methods, Encapsulation, and Instance Variables',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) Chapter 4',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/4dot-methods-use-instance-variables-how-objects-behave/methods_use_instance_variables_colon_how'\n }\n },\n {\n 'topic': 'Bit Manipulation and Command-Line Arguments',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) p. 660',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/bdot-the-top-ten-topics-that-almost-made-it-into-the-real-bookdotdotdot/number_symble_10_bit_manipulation'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '3': {\n 'material': [\n {\n 'topic': 'Introduction to Software Development, For-Loops, Operators, and Casting',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) Chapter 5',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/5dot-writing-a-program-extra-strength-methods/writing_a_program_colon_extra-strength_m'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 1: Cellular Automaton',\n 'template': 'cellular-automaton'\n },\n 'quiz': null\n },\n '4': {\n 'material': [\n {\n 'topic': 'The Java API',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) Chapter 6',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/6dot-get-to-know-the-java-api-using-the-java-library/get_to_know_the_java_api_colon_using_the'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 1: Fundamentals',\n 'template': 'fundamentals'\n }\n },\n '5': {\n 'material': [\n {\n 'topic': 'The Stack and the Heap, Constructors',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) Chapter 9 (pp. 235 - 249)',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/9dot-constructors-and-garbage-collection-life-and-death-of-an-object/constructors_and_garbage_collection_colo'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 2: Mad Libs®',\n 'template': 'mad-libs'\n },\n 'quiz': null\n },\n '6': {\n 'material': [],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 2: Data Structures',\n 'template': 'data-structures'\n }\n },\n '7': {\n 'material': [\n {\n 'topic': 'Inheritance and Polymorphism',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) Chapter 7',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/7dot-inheritance-and-polymorphism-better-living-in-objectville/inheritance_and_polymorphism_colon_bette'\n }\n },\n {\n 'topic': 'Interfaces and Abstract Classes',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) Chapter 8',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/8dot-interfaces-and-abstract-classes-serious-polymorphism/interfaces_and_abstract_classes_colon_se'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '8': {\n 'material': [\n {\n 'topic': 'Constructor Chaining and Garbage Collection',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) Chapter 9 (pp. 250 - 272)',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/9dot-constructors-and-garbage-collection-life-and-death-of-an-object/wait_a_minute..._we_never_did_talk_about'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 3: Cat and Mouse',\n 'template': 'cat-and-mouse'\n },\n 'quiz': null\n },\n '9': {\n 'material': [\n {\n 'topic': 'Numbers and Statics',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) Chapter 10',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/10dot-numbers-and-statics-numbers-matter/numbers_and_statics_colon_numbers_matter'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 3: Advanced Objects and Classes',\n 'template': 'advanced-objects-and-classes'\n }\n },\n '10': {\n 'material': [\n {\n 'topic': 'Exception Handling',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) Chapter 11',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/11dot-exception-handling-risky-behavior/exception_handling_colon_risky_behavior'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 4: Simple RPN Calculator',\n 'template': 'simple-rpn-calculator'\n },\n 'quiz': null\n },\n '11': {\n 'material': [\n {\n 'topic': 'Introduction to GUIs (Part 1)',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) Chapter 12',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/12dot-getting-gui-a-very-graphic-story/getting_gui_colon_a_very_graphic_story'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 4: Exceptions',\n 'template': 'exceptions'\n }\n },\n '12': {\n 'material': [\n {\n 'topic': 'Introduction to GUIs (Part 2)',\n 'reading': {\n 'title': 'Head First Java (2nd Edition) Chapter 13',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/13dot-using-swing-work-on-your-swing/using_swing_colon_work_on_your_swing'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 5: Cat and Mouse GUI',\n 'template': 'cat-and-mouse-gui'\n },\n 'quiz': null\n },\n '13': {\n 'material': [],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 5: GUI Fundamentals',\n 'template': 'gui-fundamentals'\n }\n }\n }\n },\n 'python': {\n 'title': 'CS 9H: Python for Programmers',\n 'schedule': {\n '1': {\n 'material': [\n {\n 'topic': 'Introduction',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Chapter 1',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2002.html'\n }\n },\n {\n 'topic': 'Variables, Expressions, and Statements',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Chapter 2',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2003.html'\n }\n },\n {\n 'topic': 'Functions',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Chapter 3',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2004.html'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 0: Setting up your environment',\n 'template': 'setup'\n },\n 'quiz': null\n },\n '2': {\n 'material': [\n {\n 'topic': 'Conditionals and Recursion',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Chapter 5',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2006.html'\n }\n },\n {\n 'topic': 'Fruitful Functions',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Chapter 6',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2007.html'\n }\n },\n {\n 'topic': 'Iteration',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Chapter 7',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2008.html'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '3': {\n 'material': [\n {\n 'topic': 'Strings',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Chapter 8',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2009.html'\n }\n },\n {\n 'topic': 'Higher-Order Functions',\n 'reading': {\n 'title': 'Composing Programs 1.6',\n 'type': 'url',\n 'target': 'http://www.composingprograms.com/pages/16-higher-order-functions.html'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 1: Cellular Automaton',\n 'template': 'cellular-automaton'\n },\n 'quiz': null\n },\n '4': {\n 'material': [\n {\n 'topic': 'Lists',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Chapter 10',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2011.html'\n }\n },\n {\n 'topic': 'Dictionaries',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Chapter 11',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2012.html'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 1: Expressions and Functions',\n 'template': 'expressions-and-functions'\n }\n },\n '5': {\n 'material': [\n {\n 'topic': 'Tuples',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Chapter 12',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2013.html'\n }\n },\n {\n 'topic': 'Scopes and Namespaces',\n 'reading': {\n 'title': 'The Python Tutorial 9.2',\n 'type': 'url',\n 'target': 'https://docs.python.org/3/tutorial/classes.html#python-scopes-and-namespaces'\n }\n },\n {\n 'topic': 'Mutable Data',\n 'reading': {\n 'title': 'Composing Programs 2.4.2',\n 'type': 'url',\n 'target': 'http://composingprograms.com/pages/24-mutable-data.html#sequence-objects'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '6': {\n 'material': [\n {\n 'topic': 'Files',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Chapter 14',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2015.html'\n }\n },\n {\n 'topic': 'Debugging',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Appendix A',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2021.html'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 2: Python-Powered Unit Converter',\n 'template': 'python-powered-unit-converter'\n },\n 'quiz': null\n },\n '7': {\n 'material': [\n {\n 'topic': 'Classes and Objects',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Chapter 15',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2016.html'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 2: Collections and Mutations',\n 'template': 'collections-and-mutations'\n }\n },\n '8': {\n 'material': [\n {\n 'topic': 'Classes and Functions',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Chapter 16',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2017.html'\n }\n },\n {\n 'topic': 'Classes and Methods',\n 'reading': {\n 'title': 'Think Python (2nd Edition) Chapter 17',\n 'type': 'url',\n 'target': 'http://greenteapress.com/thinkpython2/html/thinkpython2018.html'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '9': {\n 'material': [\n {\n 'topic': 'Generic Operations',\n 'reading': {\n 'title': 'Composing Programs 2.8',\n 'type': 'url',\n 'target': 'http://composingprograms.com/versions/v1/pages/28-generic-operations.html'\n }\n },\n {\n 'topic': 'Inheritance',\n 'reading': {\n 'title': 'The Python Tutorial 9.5',\n 'type': 'url',\n 'target': 'https://docs.python.org/3/tutorial/classes.html#inheritance'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 3: Input and Output',\n 'template': 'input-and-output'\n }\n },\n '10': {\n 'material': [\n {\n 'topic': 'Introduction to Tkinter',\n 'reading': {\n 'title': \"An Introduction to Tkinter What's Tkinter?\",\n 'type': 'url',\n 'target': 'http://effbot.org/tkinterbook/tkinter-whats-tkinter.htm'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'An Introduction to Tkinter Hello, Tkinter',\n 'type': 'url',\n 'target': 'http://effbot.org/tkinterbook/tkinter-hello-tkinter.htm'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'An Introduction to Tkinter Hello, Again',\n 'type': 'url',\n 'target': 'http://effbot.org/tkinterbook/tkinter-hello-again.htm'\n }\n },\n {\n 'topic': 'Tkinter: The Canvas Widget',\n 'reading': {\n 'title': 'An Introduction to Tkinter The Tkinter Canvas Widget',\n 'type': 'url',\n 'target': 'http://effbot.org/tkinterbook/canvas.htm'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 3: Turtle Behavior',\n 'template': 'turtle-behavior'\n },\n 'quiz': null\n },\n '11': {\n 'material': [],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 4: Object-Oriented Programming',\n 'template': 'object-oriented-programming'\n }\n },\n '12': {\n 'material': [\n {\n 'topic': 'Graphical User Interfaces',\n 'reading': {\n 'title': 'Programming Python (4th Edition) Chapter 7',\n 'type': 'url',\n 'target': 'http://proquest.safaribooksonline.com/book/programming/python/9781449398712/iiidot-gui-programming/ch07_html'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 4: Turtle Arena',\n 'template': 'turtle-arena'\n },\n 'quiz': null\n },\n '13': {\n 'material': [],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 5: Tkinter and Event-Based Programming',\n 'template': 'tkinter-and-event-based-programming'\n }\n }\n }\n },\n '47b': {\n 'title': 'CS 47B: Completion of Work in Computer Science 61B',\n 'schedule': {\n '1': {\n 'material': [\n {\n 'topic': 'Iterators and Linked Lists',\n 'reading': {\n 'title': 'Data Structures and Problem Solving using Java (4th Edition) Sections 6.2 - 6.3',\n 'type': 'text'\n }\n },\n {\n 'topic': '',\n 'reading': {\n 'title': 'Data Structures and Problem Solving using Java (4th Edition) Sections 17.1 - 17.2, 17.5',\n 'type': 'text'\n }\n },\n {\n 'topic': 'Tree Traversal with Iterators',\n 'reading': {\n 'title': 'Data Structures and Problem Solving using Java (4th Edition) Section 18.4',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '2': {\n 'material': [\n {\n 'topic': 'Implementing an ArrayList with Iterators',\n 'reading': {\n 'title': 'Data Structures and Problem Solving using Java (4th Edition) Chapter 15',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 1: Iterator Exercises',\n 'template': 'iterator-exercises'\n },\n 'quiz': null\n },\n '3': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 1: Iterators',\n 'template': 'iterators'\n }\n },\n '4': {\n 'material': [\n {\n 'topic': 'Hashing',\n 'reading': {\n 'title': 'Data Structures and Problem Solving using Java (4th Edition) Chapter 20',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 2: Hashing Exercises',\n 'template': 'hashing-exercises'\n },\n 'quiz': null\n },\n '5': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 2: Hashing',\n 'template': 'hashing'\n }\n },\n '6': {\n 'material': [\n {\n 'topic': 'Heaps',\n 'reading': {\n 'title': 'Data Structures and Problem Solving using Java (4th Edition) Chapter 21',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 3: Heap Exercises',\n 'template': 'heap-exercises'\n },\n 'quiz': null\n },\n '7': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 3: Heaps',\n 'template': 'heaps'\n }\n },\n '8': {\n 'material': [\n {\n 'topic': 'Graph Representations',\n 'reading': {\n 'title': 'Data Structures and Problem Solving using Java (4th Edition) Sections 14.1 - 14.3, 14.5',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Project 4: Minimum Spanning Tree',\n 'template': 'minimum-spanning-tree'\n },\n 'quiz': null\n },\n '9': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': {\n 'name': 'Quiz 4: Graph Representations',\n 'template': 'graph-representations'\n }\n },\n '10': {\n 'material': [\n {\n 'topic': 'Data Structure Design',\n 'reading': {\n 'title': 'Reference: Data Structures and Problem Solving using Java (4th Edition) Chapters 10 - 14',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Design Project P1: Blocks',\n 'template': 'blocks-project'\n },\n 'quiz': {\n 'name': 'Quiz 5: Data Structure Design',\n 'template': 'data-structure-design'\n }\n },\n '11': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '12': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Design Project P2: Blocks',\n 'template': 'blocks-project'\n },\n 'quiz': null\n },\n '13': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': null,\n 'quiz': null\n },\n '14': {\n 'material': [\n {\n 'topic': '',\n 'reading': {\n 'title': '',\n 'type': 'text'\n }\n }\n ],\n 'assignment': {\n 'name': 'Design Project P3: Blocks',\n 'template': 'blocks-project'\n },\n 'quiz': null\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/courses/calendar.js","\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/global/submodule/Calendar.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.calendar)?_c('div',{staticClass:\"calendar-container\"},[_c('h1',[_vm._v(_vm._s(_vm.calendar.title))]),_vm._v(\" \"),_c('h2',[_vm._v(\"Calendar\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The following calendar is a sample calendar showing the recommended minimum pace at which you should\\n complete assignments in order to finish the course in a timely manner.\\n \")]),_vm._v(\" \"),_c('table',{staticClass:\"table table-bordered\"},[_vm._m(0),_vm._v(\" \"),_c('tbody',_vm._l((_vm.calendarData),function(row,rowId){return _c('tr',{key:rowId},_vm._l((row),function(cell,cellId){return _c('td',{key:cellId,attrs:{\"rowspan\":cell.span}},[(cell.content && cell.content.type === 'route')?_c('router-link',{attrs:{\"to\":{name: cell.content.target, params: cell.content.params}},domProps:{\"innerHTML\":_vm._s(cell.content.text)}}):(cell.content && cell.content.type === 'url')?_c('a',{attrs:{\"href\":cell.content.target,\"target\":\"_blank\"},domProps:{\"innerHTML\":_vm._s(cell.content.text)}}):(cell.content && cell.content.type === 'text')?_c('span',{domProps:{\"innerHTML\":_vm._s(cell.content.text)}}):_c('span',{domProps:{\"innerHTML\":_vm._s(cell.content)}})],1)}))}))])]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Week\")]),_vm._v(\" \"),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Topics\")]),_vm._v(\" \"),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Reading\")]),_vm._v(\" \"),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Assignment\")]),_vm._v(\" \"),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Quiz\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-6b9c0dd3\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/global/submodule/Calendar.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6b9c0dd3\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!stylus-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Calendar.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Calendar.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Calendar.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6b9c0dd3\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Calendar.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-6b9c0dd3\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/global/submodule/Calendar.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/global/Course.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"course-container\"},[(!_vm.error && _vm.courseId)?_c('div',[_c('div',{staticClass:\"course-nav-bar\"},[_c('b-container',[_c('router-link',{attrs:{\"to\":{name:'Calendar', params: { courseId: _vm.courseId }}}},[_vm._v(\"Calendar\")]),_vm._v(\" \"),(_vm.courses[_vm.courseId]['appointment'])?_c('router-link',{attrs:{\"to\":{name:'Appointment', params: { courseId: _vm.courseId }}}},[_vm._v(\"\\n Book Tutor Appointment\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.courses[_vm.courseId]['piazza'])?_c('a',{attrs:{\"href\":_vm.courses[_vm.courseId]['piazza'],\"target\":\"_blank\"}},[_vm._v(\"\\n Piazza\\n \")]):_vm._e()],1)],1),_vm._v(\" \"),_c('b-container',[_c('router-view',{staticClass:\"course-inner-container\"})],1)],1):_c('p',[_vm._v(_vm._s(_vm.error))])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4bb48392\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/global/Course.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4bb48392\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!stylus-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Course.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Course.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Course.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4bb48392\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Course.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-4bb48392\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/global/Course.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/global/submodule/Appointment.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"appointment-container\"},[_c('div',{staticClass:\"btn-group\"},[_c('a',{staticClass:\"btn btn-outline-primary\",attrs:{\"href\":_vm.appointmentUrl,\"target\":\"_blank\"}},[_vm._v(\"Open appointments in new tab\")])]),_vm._v(\" \"),_c('b-embed',{staticClass:\"appointment-frame\",attrs:{\"src\":_vm.appointmentUrl,\"aspect\":\"1by1\"}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-f8d64f7e\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/global/submodule/Appointment.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-f8d64f7e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!stylus-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Appointment.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Appointment.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Appointment.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-f8d64f7e\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Appointment.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/global/submodule/Appointment.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/global/submodule/Assignment.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',{staticClass:\"assignment-container\"},[(!_vm.error && _vm.assignmentComponent)?_c('div',[_c('h1',[_vm._v(\"\\n \"+_vm._s(_vm.assignmentComponent.title)+\"\\n \"),(_vm.assignmentComponent.starterId)?_c('a',{staticClass:\"label label-outline\",attrs:{\"href\":_vm.starter_code_base_path + '/' + _vm.courseId + '/' + _vm.assignmentComponent.starterId}},[_vm._v(\"\\n \"+_vm._s(_vm.assignmentComponent.starterId)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c(_vm.assignmentId,{tag:\"component\"})],1):_c('p',[_vm._v(_vm._s(_vm.error))])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-c7b4160a\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/global/submodule/Assignment.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Assignment.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Assignment.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c7b4160a\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Assignment.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/global/submodule/Assignment.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/global/submodule/Quiz.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',{staticClass:\"quiz-container\"},[(!_vm.error && _vm.quizId)?_c('div',[_c(_vm.quizId,{tag:\"component\"})],1):_c('p',[_vm._v(_vm._s(_vm.error))])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-09d0e748\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/global/submodule/Quiz.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Quiz.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Quiz.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-09d0e748\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Quiz.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/global/submodule/Quiz.vue\n// module id = null\n// module chunks = ","import Vue from 'vue'\nimport Router from 'vue-router'\nimport Home from 'components/Home'\n\nimport Course from 'components/global/Course'\n\nimport Appointment from 'components/global/submodule/Appointment'\nimport Assignment from 'components/global/submodule/Assignment'\nimport Calendar from 'components/global/submodule/Calendar'\nimport Quiz from 'components/global/submodule/Quiz'\n\nVue.use(Router)\n\nexport default new Router({\n mode: 'hash',\n scrollBehavior (to, from, savedPosition) {\n return {x: 0, y: 0}\n },\n routes: [\n {\n path: '/',\n name: 'Home',\n component: Home\n },\n {\n path: '/:courseId',\n component: Course,\n children: [\n {\n path: 'calendar',\n name: 'Calendar',\n component: Calendar\n },\n {\n path: 'appointment',\n name: 'Appointment',\n component: Appointment\n },\n {\n path: 'assignment/:assignmentId',\n name: 'Assignment',\n component: Assignment\n },\n {\n path: 'quiz/:quizId',\n name: 'Quiz',\n component: Quiz\n },\n {\n path: '*',\n redirect: {\n name: 'Calendar'\n }\n },\n ]\n }\n ]\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/index.js","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"readings\"}},[_c('h2',[_vm._v(\"Readings\")]),_vm._v(\" \"),(_vm.readings)?_c('ul',_vm._l((_vm.readings),function(reading,idx){return _c('li',{key:idx},[(reading.link && reading.link !== '')?_c('a',{attrs:{\"href\":reading.link},domProps:{\"innerHTML\":_vm._s(reading.title)}}):_c('span',{domProps:{\"innerHTML\":_vm._s(reading.title)}}),_vm._v(\" \"),(reading.extra && reading.extra !== '')?_c('span',{domProps:{\"innerHTML\":_vm._s(reading.extra)}}):_vm._e()])})):_vm._e(),_vm._v(\" \"),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3c3dd37d\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/global/submodule/partial/Readings.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Readings.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Readings.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3c3dd37d\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Readings.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/global/submodule/partial/Readings.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/global/submodule/partial/Readings.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"quiz-question\"},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0b3c3c4a\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/global/submodule/partial/QuizQuestion.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./QuizQuestion.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./QuizQuestion.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0b3c3c4a\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./QuizQuestion.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/global/submodule/partial/QuizQuestion.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/global/submodule/partial/QuizQuestion.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"quiz-solution\"},[_c('blockquote',[_vm._m(0),_vm._v(\" \"),_vm._t(\"default\")],2)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h6',[_c('b',[_vm._v(\"Answer:\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-b391a5c4\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/global/submodule/partial/QuizSolution.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./QuizSolution.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./QuizSolution.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-b391a5c4\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./QuizSolution.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/global/submodule/partial/QuizSolution.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/global/submodule/partial/QuizSolution.vue","// The Vue build version to load with the `import` command\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\nimport Vue from 'vue'\nimport App from './App'\nimport router from './router'\n\nimport BootstrapVue from 'bootstrap-vue'\nimport VueHighlightJS from 'vue-highlightjs'\nimport VueAnalytics from 'vue-analytics'\n\nimport Readings from 'components/global/submodule/partial/Readings'\nimport QuizQuestion from 'components/global/submodule/partial/QuizQuestion'\nimport QuizSolution from 'components/global/submodule/partial/QuizSolution'\n\n/* Global Level Plugins */\nVue.use(BootstrapVue)\nVue.use(VueHighlightJS)\nVue.use(VueAnalytics, {\n id: 'UA-125255241-1',\n router\n})\n\n/* Global Components */\nVue.component('Readings', Readings)\nVue.component('QuizQuestion', QuizQuestion)\nVue.component('QuizSolution', QuizSolution)\n\n/* Initialize Vue */\nVue.config.productionTip = false\n\n/* eslint-disable no-new */\nnew Vue({\n el: '#app',\n router,\n components: { App },\n template: ''\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","module.exports = __webpack_public_path__ + \"static/img/heat-transfer-plate.cde8fc1.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/matlab/images/heat-transfer-plate.jpg\n// module id = OAgw\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 3a: Arrays, Structures, and Files\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Practical C Programming (3rd Edition) Sections 5.1 - 5.5',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-5'\n },\n {\n title: 'Practical C Programming (3rd Edition) Chapter 12',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-12'\n },\n {\n title: 'Practical C Programming (3rd Edition) Chapter 14',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-14'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Fill in the blanks in the program below so it prints the contents of\\n the file whose name is provided by the user.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"#include \\nint main()\\n{\\n char fileName[32];\\n int c;\\n FILE *inFile;\\n printf(\\\"File name? \\\");\\n scanf(\\\"%31s\\\", fileName);\\n _________________________ ;\\n if ( ____________________ )\\n {\\n fprintf( _____________ , \\\"File doesn't exist!\\\\n\\\");\\n exit(1);\\n }\\n while ( ____________________ ) // Get a char if not done\\n {\\n fprintf( _______________ ); // Print it\\n }\\n\\n return 0;\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Define a \"),_c('code',[_vm._v(\"struct\")]),_vm._v(\" to represent dates. The\\n \"),_c('code',[_vm._v(\"struct\")]),_vm._v(\" members should be a string representing the month,\\n an integer representing the date in the month, and another integer\\n representing the year. Then define the type \"),_c('code',[_vm._v(\"Date\")]),_vm._v(\" to be\\n synonymous with the \"),_c('code',[_vm._v(\"struct\")]),_vm._v(\" definition, and define an array\\n \"),_c('code',[_vm._v(\"dateList\")]),_vm._v(\" of five dates.\")])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Fill in the blank in the code below so that it moves each element of\\n the \"),_c('code',[_vm._v(\"values\")]),_vm._v(\" array to the immediately subsequent position in\\n the array. The loop should discard the last value in the array. Thus if\\n the array contained the values 1, 2, 3, 4, and 5 before the loop, it\\n should contain the values 1, 1, 2, 3, and 4 after the loop.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"int values[5];\\n ...\\nfor ( ____________________ )\\n{\\n values[k] = values[k - 1];\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Modify the definition of the \"),_c('code',[_vm._v(\"values\")]),_vm._v(\" array in exercise 3\\n so that it also initializes the array to contain the values 1, 2, 3, 4,\\n 5.\")])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Write a function \"),_c('code',[_vm._v(\"HasZeroDiagonal\")]),_vm._v(\" that, given a 5-by-5\\n integer array, returns 1 if all the elements on the main array diagonal\\n are zero and returns 0 otherwise.\")])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"\\n This quiz covers typical uses of C arrays (one- and two-dimensional),\\n structures, and files. Included are questions on the \"),_c('code',[_vm._v(\"typedef\")]),_vm._v(\"\\n declaration and on the predefined file pointers \"),_c('code',[_vm._v(\"stdin\")]),_vm._v(\",\\n \"),_c('code',[_vm._v(\"stdout\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"stderr\")]),_vm._v(\".\\n \")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1914afac\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/c/ArraysStructuresAndFiles.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1914afac\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./ArraysStructuresAndFiles.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/c/ArraysStructuresAndFiles.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/python/TurtleBehavior.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Preparation (Demo)\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('article',[_c('h4',[_vm._v(\"Our First Artificial Life Simulation: Arena, Turtles and Vectors\")]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('p',[_vm._v(\"\\n (The Tkinter library should be built-in with Python 3. Note that it has been renamed from Tkinter\\n in Python 2 to tkinter in Python 3)\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"from tkinter import * # Import everything from Tkinter\\n\\nfrom libs.Arena import Arena # Import our Arena\\nfrom libs.Vector import * # Import everything from our Vector\\nfrom libs.Turtle import Turtle # Import the Turtle\\n\\ntk = Tk() # Create a Tk top-level widget\\narena = Arena(tk) # Create an Arena widget, arena\\narena.pack() # Tell arena to pack itself on screen\\narena.add(Turtle(Vector(200, 200), 0)) # Add a very simple, basic turtle\\ntk.mainloop() # Enter the Tkinter event loop\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"The comments tell the whole story, but here's what is happening in a nutshell:\")]),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ python3 demo_simple.py\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n A window pops up with the following inside (here's a screenshot from a Mac):\\n \")]),_vm._v(\" \"),_vm._m(6)]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_c('article',[_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_c('p',[_vm._v(\"Nothing.\")]),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(13)]),_vm._v(\" \"),_vm._m(14)]),_vm._v(\" \"),_c('article',[_vm._m(15),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"from Turtle import Turtle\\nfrom Vector import *\\nfrom Color import *\\n\\nclass WalkingTurtle(Turtle): # Inherit behavior from Turtle\\n \\\"\\\"\\\"This turtle walks in a straight line forever.\\\"\\\"\\\"\\n\\n def __init__(self, position, heading, speed, fill=blue, **style):\\n Turtle.__init__(self, position, heading, fill=fill, **style)\\n self.speed = speed\\n\\n def getnextstate(self):\\n \\\"\\\"\\\"Advance straight ahead.\\\"\\\"\\\"\\n return self.position + unit(self.heading)*self.speed, self.heading\")])]),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"arena.add(Turtle(Vector(200, 200), 0))\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"to\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"arena.add(WalkingTurtle(Vector(200, 200), 0, 1))\")])]),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ python3 demo_walking.py\")])]),_vm._v(\" \"),_vm._m(21),_vm._v(\" \"),_vm._m(22)]),_vm._v(\" \"),_vm._m(23),_vm._v(\" \"),_vm._m(24)]),_vm._v(\" \"),_vm._m(25),_vm._v(\" \"),_vm._m(26),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Additional Information\")]),_vm._v(\" \"),_c('ul',[_vm._m(27),_vm._v(\" \"),_vm._m(28),_vm._v(\" \"),_vm._m(29),_vm._v(\" \"),_c('li',[_vm._m(30),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ python3 catmouse.py --no-gui\")])])]),_vm._v(\" \"),_c('li',[_vm._m(31),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"tk = Tk()\\narena = Arena(tk, verbose=True, gui=False)\\narena.pack()\")])]),_vm._v(\" \"),_vm._m(32)]),_vm._v(\" \"),_c('li',[_vm._m(33),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"arena.runtime_period = 0 # Make each time step wait 0 ms\")])]),_vm._v(\" \"),_vm._m(34)]),_vm._v(\" \"),_c('li',[_vm._m(35),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"arena.stop()\")])])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"The cat will give up after 30 seconds. However, please do not use your system's real time. Instead use\\n the time computed by the Arena with the following command:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"arena.get_timestamp() # Time in milliseconds \")])])])])]),_vm._v(\" \"),_vm._m(36),_vm._v(\" \"),_vm._m(37),_vm._v(\" \"),_vm._m(38)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The field of \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Artificial_life\"}},[_vm._v(\"Artificial Life\")]),_vm._v(\" is,\\n shall we say, alive and well! The core idea is that simple rules can sometimes yield very\\n sophisticated \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Emergence\"}},[_vm._v(\"emergent behavior\")]),_vm._v(\". We call\\n the project \"),_c('em',[_vm._v(\"Turtle Behavior\")]),_vm._v(\" as a nod to the wonderful work done by the\\n \"),_c('a',{attrs:{\"href\":\"http://el.media.mit.edu/logo-foundation/\"}},[_vm._v(\"Logo community\")]),_vm._v(\" in creating a simple\\n \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Turtle_graphics\"}},[_vm._v(\"Turtle Graphics\")]),_vm._v(\" micro world.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n We will provide you with a \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Sandbox_(computer_security)\"}},[_vm._v(\"\\n sandbox\")]),_vm._v(\", or in this case, an \\\"Arena\\\" to exercise your newly-formed Classes\\n and Objects muscles. Within a Graphical framework, you'll implement very simple behaviors in a\\n fun two-dimensional \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Flatland\"}},[_vm._v(\"flatland\")]),_vm._v(\" world running\\n on top of \"),_c('a',{attrs:{\"href\":\"https://wiki.python.org/moin/TkInter\"}},[_vm._v(\"Tkinter\")]),_vm._v(\", the Python interface to\\n the \"),_c('a',{attrs:{\"href\":\"http://www.tcl.tk/\"}},[_vm._v(\"Tk graphical user interface toolkit (GUI)\")]),_vm._v(\". We have quite\\n a bit of explaining to do in order to get you up to speed with the code, so let's get started.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Please download the starter code from above.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n You will be programming the behavior of \"),_c('dfn',[_c('code',[_vm._v(\"Turtles\")])]),_vm._v(\" who live inside\\n an \"),_c('dfn',[_c('code',[_vm._v(\"Arena\")])]),_vm._v(\", and each of these is represented by a Python class.\\n We provide a \"),_c('dfn',[_c('code',[_vm._v(\"Vector\")])]),_vm._v(\" class (to handle the representation and\\n arithmetic of simple 2D \"),_c('code',[_vm._v(\"Vectors\")]),_vm._v(\"), and a \"),_c('dfn',[_c('code',[_vm._v(\"Color\")])]),_vm._v(\" class\\n (we'll import later), both of which you'll find very handy.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Let's look at the simplest Python program that does all of this, \"),_c('code',[_vm._v(\"demo_simple.py\")]),_vm._v(\":\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',[_c('li',[_vm._v(\"\\n We first import the necessary packages from Python (Tkinter) and us (Arena, Turtle\\n and Vector).\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Then we create a top-level Tk Widget and an Arena (the default size is 400x400), and pack the Arena\\n in the Widget.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Finally, we add a turtle to the Arena, and pass control to the main Tkinter event loop.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n It's pretty simple. Run \"),_c('code',[_vm._v(\"demo_simple.py\")]),_vm._v(\" with the following command:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('p',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/turtle_simple.png\"),\"alt\":\"The GUI from demo_simple.py\",\"width\":\"400\"}})]),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1. The GUI that results from running \"),_c('code',[_vm._v(\"demo_simple.py\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h4',[_vm._v(\"GUI Controls\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The four buttons are straightforward:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('strong',[_vm._v(\"step\")]),_vm._v(\" - Move forward one step in the simulation. What this means from\\n a code point of view is that it:\\n \"),_c('ol',[_c('li',[_vm._v(\"\\n Looks at all the turtles in the simulation (in this case, just the one)\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Asks each of the turtles to get their next state, whatever that may be, with a\\n call that looks like \"),_c('code',[_vm._v(\"new_state = turtle.getnextstate()\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Asks each of the turtles to set their state to that next state they just returned\\n with: \"),_c('code',[_vm._v(\"turtle.setstate(new_state)\")]),_vm._v(\". \"),_c('em',[_vm._v(\"Note:\")]),_vm._v(\" you may be wondering\\n why we do this in two phases. It's simple—if we didn't, then in some cases, the\\n order in which we updated turtles would affect the simulation. This is because we\\n want to think of all the turtles as being updated in parallel, but in reality we\\n have to sequentially update them. Thus, by asking all the turtles what they intend\\n to do next in the first pass, remembering it, and then changing them all in a\\n second pass, we effectively get the parallel behavior we wanted.\\n \")])])]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"run\")]),_vm._v(\" - Go into a loop, effectively calling \"),_c('strong',[_vm._v(\"step\")]),_vm._v(\"\\n over and over.\\n \")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"stop\")]),_vm._v(\" - Stop running. If the simulation wasn't running, this button\\n has no effect\\n \")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"quit\")]),_vm._v(\" - Quit out of the Turtle Arena simulation.\\n \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',[_vm._v(\"Running our first program (\"),_c('code',[_vm._v(\"demo_simple.py\")]),_vm._v(\")\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"So what happened when we clicked \"),_c('strong',[_vm._v(\"run\")]),_vm._v(\" with our first turtle program,\\n \"),_c('code',[_vm._v(\"demo_simple.py\")]),_vm._v(\"? (drum roll please, hold on to your seats)\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Huh? All that meat and no potatoes? Just ain't right, like green\\n tomatoes. Let's look a little deeper. Remember, that one turtle was being\\n asked for its next state by calling its \"),_c('code',[_vm._v(\"getnextstate()\")]),_vm._v(\"\\n method. What was its state in the first place? The default Turtle\\n initialization method (\"),_c('code',[_vm._v(\"__init__\")]),_vm._v(\") asks for:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('p',[_vm._v(\"A \"),_c('strong',[_vm._v(\"position\")]),_vm._v(\" (required). This is a \"),_c('code',[_vm._v(\"Vector\")]),_vm._v(\", telling the\\n system where the center of the turtle is to be placed—here it's the center of the screen\\n at (200,200)—note that \"),_c('var',[_vm._v(\"x\")]),_vm._v(\" increases to the right and \"),_c('var',[_vm._v(\"y\")]),_vm._v(\" increases\\n downward, which is common when drawing things on the screen. This might take a while\\n to get used to.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"A \"),_c('strong',[_vm._v(\"heading\")]),_vm._v(\" (required). This is measured in degrees, with North (up)\\n being 0, and values increasing clockwise. Thus, East (right) assighed to 90, South\\n (down) is 180, and West (left) is 270.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"An \"),_c('strong',[_vm._v(\"outline\")]),_vm._v(\". This is the color of the outline border around our object.\\n Since we didn't specify anything, it took the default, which was black.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"A \"),_c('strong',[_vm._v(\"fill\")]),_vm._v(\". This is the color of the interior of the Turtle. Again, nothing\\n was specified, so it took the default, which was white.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"A \"),_c('strong',[_vm._v(\"width\")]),_vm._v(\". This is the width of the outline border, whose default is 1 pixel.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"What does \"),_c('code',[_vm._v(\"Turtle.getnextstate()\")]),_vm._v(\" look like? Very good\\n question.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"python\"},[_vm._v(\"def \"),_c('strong',[_vm._v(\"getnextstate\")]),_vm._v(\"(self):\\n \\\"\\\"\\\"Determine the turtle's next step and return its new state.\\\"\\\"\\\"\\n return self.position, self.heading\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Note that the state returned is a \"),_c('dfn',[_vm._v(\"tuple\")]),_vm._v(\" containing the\\n \"),_c('em',[_vm._v(\"current\")]),_vm._v(\" position and heading—i.e., the next state is the\\n same as the current state and the Turtle is not going to move! That\\n explains everything. Well, then, how would we get it to move? Let's\\n define a new type of Turtle, based on this basic Turtle, that moves in a\\n straight line.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',[_vm._v(\"Our Second Simulation (\"),_c('code',[_vm._v(\"demo_walking.py\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"WalkingTurtle.py\")]),_vm._v(\")\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"To create this simple Walking (in a straight line) Turtle, we could copy all the code for\\n \"),_c('code',[_vm._v(\"Turtle.py\")]),_vm._v(\" and just modify what we need. When I wrote \\\"copy all the code\\\" a moment\\n ago, large and annoying bells \"),_c('em',[_vm._v(\"should\")]),_vm._v(\" have gone off in your head. Remember, we're\\n wearing our \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Object-oriented_programming\"}},[_vm._v(\"Object Oriented Programming\")]),_vm._v(\"\\n hats, folks! What we're going to do here is\\n \"),_c('dfn',[_c('a',{attrs:{\"href\":\"https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)\"}},[_vm._v(\"inherit\")])]),_vm._v(\"\\n our behavior from a \"),_c('dfn',[_vm._v(\"base class\")]),_vm._v(\" (here simply \"),_c('code',[_vm._v(\"Turtle\")]),_vm._v(\")\\n and \"),_c('dfn',[_c('a',{attrs:{\"href\":\"https://en.wikipedia.org/wiki/Method_overriding\"}},[_vm._v(\"override\")])]),_vm._v(\" what we\\n need (which will be simply \"),_c('code',[_vm._v(\"__init__\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"getnextstate\")]),_vm._v(\"). Here's what\\n \"),_c('code',[_vm._v(\"WalkingTurtle\")]),_vm._v(\" looks like:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n How does this work? The \"),_c('code',[_vm._v(\"class WalkingTurtle(Turtle):\")]),_vm._v(\" line says that \"),_c('code',[_vm._v(\"WalkingTurtle\")]),_vm._v(\"\\n is going to derive its behavior from the base class \"),_c('code',[_vm._v(\"Turtle\")]),_vm._v(\". What follows are the things\\n that make a \"),_c('code',[_vm._v(\"WalkingTurtle\")]),_vm._v(\" unique—that is, the methods we're overriding. We override\\n \"),_c('code',[_vm._v(\"__init__\")]),_vm._v(\" because we need more information than just position and heading and outline\\n + fill + width. We need a \"),_c('code',[_vm._v(\"speed\")]),_vm._v(\"! We also want to visually indicate that\\n \"),_c('code',[_vm._v(\"WalkingTurtle\")]),_vm._v(\"s are different from boring \"),_c('code',[_vm._v(\"Turtle\")]),_vm._v(\"s, so we change the default\\n fill to \"),_c('dfn',[_c('code',[_vm._v(\"blue\")])]),_vm._v(\". We had to import \"),_c('code',[_vm._v(\"Color\")]),_vm._v(\" we authored to be able to just\\n say '\"),_c('code',[_vm._v(\"blue\")]),_vm._v(\"' and not have it cause an unbound variable error.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n We also need to override \"),_c('code',[_vm._v(\"getnextstate\")]),_vm._v(\" because the \"),_c('code',[_vm._v(\"speed\")]),_vm._v(\" we're initialized\\n with will affect our \"),_c('code',[_vm._v(\"position\")]),_vm._v(\". Remember basic physics? The equation you see implemented above\\n is the simple vector relation: \"),_c('em',[_vm._v(\"Position_next = Position_current + |Heading| * speed\")]),_vm._v(\", where\\n \"),_c('em',[_vm._v(\"Heading\")]),_vm._v(\" is a vector pointing in the direction we're facing. \"),_c('code',[_vm._v(\"unit()\")]),_vm._v(\" is part of\\n the \"),_c('code',[_vm._v(\"Vector\")]),_vm._v(\" class which takes in a scalar heading—a number in the range [0, 360)—and returns\\n a unit vector pointing in that direction. It's not that bad.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n To run it, we use the exact same code\\n from \"),_c('code',[_vm._v(\"demo_simple.py\")]),_vm._v(\", but replace every reference of \"),_c('code',[_vm._v(\"Turtle\")]),_vm._v(\" with\\n \"),_c('code',[_vm._v(\"WalkingTurtle\")]),_vm._v(\" and we have to pass in a value for its additional argument, \"),_c('code',[_vm._v(\"speed\")]),_vm._v(\".\\n Let's give it a speed of 1 for now, which is changing the following line from\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n The changes above are already made in \"),_c('code',[_vm._v(\"demo_walking.py\")]),_vm._v(\". Let's run it with:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/turtle_walking-turtle.gif\"),\"width\":\"400\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 2. The simulation from \"),_c('code',[_vm._v(\"demo_walking.py\")]),_vm._v(\".\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"You see that our walking turtle just walks straight off the screen. Why\\n doesn't it stop at the top? Why doesn't it bounce off the title bar? The\\n simple answer is that the view you see in the window is just a view into an\\n infinite plane. The turtle doesn't know about any boundaries (because none\\n have been defined), so it just moves merrily off the top of the screen. You\\n might think about how to create a \"),_c('em',[_vm._v(\"BouncingTurtle\")]),_vm._v(\" which would\\n bounce off the walls or \"),_c('em',[_vm._v(\"WrappingTurtle\")]),_vm._v(\" which would\\n \\\"wrap\\\" from Left<->Right and Top<->Bottom.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h4',[_vm._v(\"Variety is the very spice of life!\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Now that we've put one Walking turtle into our simulation as an\\n independent agent, there's nothing stopping us from adding 999,999 others\\n into our simulation (although, um, it'll be a little slow). Each could\\n have a random position on the screen (the \"),_c('code',[_vm._v(\"randrange\")]),_vm._v(\" function\\n in the \"),_c('code',[_vm._v(\"random\")]),_vm._v(\" package is useful here), heading and speed.\\n They'd all sprint off the screen as if someone yelled fire in their\\n crowded Arena. You could even give each a different color!\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Our simulation is more powerful than that, however. Is our simulation\\n limited to only a boring, homogeneous collection of \"),_c('em',[_vm._v(\"walking\")]),_vm._v(\"\\n turtles with varied initial conditions? No! Sure, \"),_c('em',[_vm._v(\"some\")]),_vm._v(\" could be,\\n but some could be \"),_c('code',[_vm._v(\"BouncingTurtles\")]),_vm._v(\" (who would inherit their\\n behavior from \"),_c('code',[_vm._v(\"WalkingTurtles\")]),_vm._v(\" but simply overrode\\n \"),_c('code',[_vm._v(\"getnextstate\")]),_vm._v(\")! Some could be turtles that \"),_c('em',[_vm._v(\"followed\")]),_vm._v(\"\\n another turtle. Some could be turtles that tried to move to the average\\n position of a group, and would probably have flocking behavoirs. Some\\n could be predators and some could be prey. Some could be simulating taxis\\n driving down New York City streets. The possibilities are truly\\n endless.\")]),_vm._v(\" \"),_c('p',[_c('em',[_vm._v(\"\\\"Wait!\\\"\")]),_vm._v(\", you're saying,\"),_c('em',[_vm._v(\" \\\"How is that\\n possible? How does any turtle know about its neighbors (say, to follow\\n one)?\\\"\")]),_vm._v(\" It's simple—you could have a class variable that\\n stored all of one type of Turtle ever created. After initialization,\\n there could be a special method that you would invoke for each Turtle\\n that would tell it to choose another turtle (from the set stored in the\\n class variable) to follow. It would have to be done in a two-step manner\\n like this because the turtles are instantiated sequentially and the\\n \"),_c('em',[_vm._v(\"first\")]),_vm._v(\" turtle would have nobody to follow.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A simpler technique to have one kind of turtle (say a single\\n \"),_c('em',[_vm._v(\"follower\")]),_vm._v(\") know about another kind of turtle (say, a single\\n \"),_c('em',[_vm._v(\"followee\")]),_vm._v(\") is to instantiate the followee first and then pass the\\n followee instance as an argument to the \"),_c('code',[_vm._v(\"__init__\")]),_vm._v(\" method of\\n the follower. The follower would then have access to the followee and\\n could ask it questions, like \\\"Where are you? I need to make some\\n decisions based on whether I see you or not\\\". This may (cough,\\n cough) or may not (cough cough) be useful (cough, cough) in your project\\n described below.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"One of the nice features of our design is that in addition to the\\n three methods you have already seen from the Turtle base class\\n (\"),_c('code',[_vm._v(\"__init__\")]),_vm._v(\", \"),_c('code',[_vm._v(\"getnextstate\")]),_vm._v(\", and\\n \"),_c('code',[_vm._v(\"setstate\")]),_vm._v(\"), you can override the fourth method,\\n \"),_c('code',[_vm._v(\"getshape\")]),_vm._v(\". This allows you to have the Turtles draw\\n themselves any way you wish! You could even have a \"),_c('em',[_vm._v(\"random\")]),_vm._v(\"\\n component, so that each turtle instance had a different, unique shape\\n that could be based roughly on some default shape.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h4',[_vm._v(\"Time keeps on slipping...into the future\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The simulation doesn't know about absolute time, and abstractly, our\\n Turtles don't really need to know about it either. The only thing the\\n Turtles assume is that \"),_c('code',[_vm._v(\"getnextstate\")]),_vm._v(\" is called at regular\\n intervals, which it is. So, from the point of view of the simulation, you\\n can imagine that every clock \\\"tick\\\" is one second, or one day, or\\n one year, whichever is easiest for the problem you'd like to simulate.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Your Task: Cat and Mouse\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/turtle_cat-and-mouse.png\"),\"alt\":\"Cat and Mouse\",\"width\":\"560\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 7. The Cat and Mouse problem.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"The scene is an urban park; a cat watches a mouse run around the base of\\n a statue of the actors from Monty Python. Over the course of a second, the\\n somewhat witless mouse moves one meter counterclockwise around the\\n statue’s base, which is circular and two meters in diameter. Every\\n time step, the cat pursues the mouse as follows: If the cat can see the mouse,\\n the cat moves toward the statue at a speed of 1 m/s. If the cat can’t see the\\n mouse, the cat circles counterclockwise around the statue at a speed of 1.25 m/s.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The cat plans eventually to get close enough to the mouse to make it a\\n juicy lunch. The mouse by accident, however, may manage to keep completely\\n out of sight of the cat, since both the cat and the mouse are moving\\n counter-clockwise.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Should the chase go on more than 30 seconds, however,\\n the cat will get tired and wander off.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Requirements\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Author three classes, \"),_c('dfn',[_vm._v(\"Cat\")]),_vm._v(\", \"),_c('dfn',[_vm._v(\"Mouse\")]),_vm._v(\", and\\n \"),_c('dfn',[_vm._v(\"Statue\")]),_vm._v(\" (in files \"),_c('code',[_vm._v(\"Cat.py\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Mouse.py\")]),_vm._v(\"\\n and \"),_c('code',[_vm._v(\"Statue.py\")]),_vm._v(\") that simulate this situation satisfying\\n the following requirements.\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('p',[_vm._v(\"\\n You should NOT create any new files. Only use the skeleton files provided.\\n \")]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(\"Write a driver program\")]),_vm._v(\" \"),_c('code',[_vm._v(\"catmouse.py\")]),_vm._v(\" that, like\\n the two demo programs we provided earlier, sets everything up and calls the main driver\\n loop.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_c('b',[_vm._v(\"Write the three classes\")]),_vm._v(\", \"),_c('dfn',[_vm._v(\"Cat\")]),_vm._v(\", \"),_c('dfn',[_vm._v(\"Mouse\")]),_vm._v(\", and\\n \"),_c('dfn',[_vm._v(\"Statue\")]),_vm._v(\", should be \"),_c('b',[_vm._v(\"subclasses\")]),_vm._v(\" of \"),_c('dfn',[_vm._v(\"Turtle\")]),_vm._v(\".\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_c('b',[_vm._v(\"DO NOT\")]),_vm._v(\" hard-code any numerical values inside Cat, Mouse and Statue classes,\\n including position of the Statue, speed of both Cat and Mouse. All of these values\\n should be hard-coded only once in your driver file \"),_c('code',[_vm._v(\"catmouse.py\")]),_vm._v(\".\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n The \"),_c('dfn',[_vm._v(\"Statue\")]),_vm._v(\" should be \"),_c('b',[_vm._v(\"a fixed object\")]),_vm._v(\" that looks like a\\n \"),_c('b',[_vm._v(\"circle\")]),_vm._v(\", placed at (200, 200), with radius of 1 meter, or 100 pixels.\\n The statue needs to be drawn the statue on the canvas.\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n The \"),_c('dfn',[_vm._v(\"Mouse\")]),_vm._v(\" should just runs around in the circle, \"),_c('b',[_vm._v(\"on the edge\\n of\")]),_vm._v(\" the \"),_c('dfn',[_vm._v(\"Statue\")]),_vm._v(\", with \"),_c('b',[_vm._v(\"a linear speed of 1 m/s\")]),_vm._v(\".\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n The \"),_c('dfn',[_vm._v(\"Cat\")]),_vm._v(\" should \"),_c('b',[_vm._v(\"move towards the center\")]),_vm._v(\" of \"),_c('dfn',[_vm._v(\"Statue\")]),_vm._v(\"\\n if it can see the \"),_c('dfn',[_vm._v(\"Mouse\")]),_vm._v(\" (not blocked by \"),_c('dfn',[_vm._v(\"Statue\")]),_vm._v(\"), with\\n \"),_c('b',[_vm._v(\"a linear speed of 1 m/s\")]),_vm._v(\", or \"),_c('b',[_vm._v(\"runs around\")]),_vm._v(\" in the circle, with \"),_c('b',[_vm._v(\"a linear speed of 1.25 m/s\")]),_vm._v(\".\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n After the Cat catches the Mouse, or if the Cat gives up, \"),_c('b',[_vm._v(\"you should stop the simulation\")]),_vm._v(\"\\n by calling \"),_c('code',[_vm._v(\"arena.stop()\")]),_vm._v(\". \"),_c('b',[_vm._v(\"You should not exit the program\")]),_vm._v(\" at this time.\\n \")])])]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(\"NOTE:\")]),_vm._v(\" Our simulation is based in Pixels and simulated Time Steps, but\\n the problem is given with real-life sizes (in meter and second). In our simulation,\\n \"),_c('b',[_vm._v(\"1 meter = 100 pixels\")]),_vm._v(\" and \"),_c('b',[_vm._v(\"every time step is 10 milliseconds\")]),_vm._v(\".\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n These two numbers are carefully chosen so that when you set \"),_c('code',[_vm._v(\"speed = 1\")]),_vm._v(\" in your program, it means 1 pixel per 10 ms,\\n which is also equivalent to 1 m/s. The distance between coordinates (100, 100) and (100, 200)\\n is 1 meter or 100 pixels.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"\\n In each time step, the cat moves first. If it moves past the mouse, it catches it.\\n If the cat didn't catch the mouse, the mouse then moves. (This order is handled internally by the Arena)\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"\\n For \"),_c('code',[_vm._v(\"getnextstate()\")]),_vm._v(\" function, it should return the next state after 1 time step,\\n which is 10 milliseconds.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"\\n In your \"),_c('code',[_vm._v(\"Cat.__init__()\")]),_vm._v(\", you may want to pass in the Mouse instance as an argument\\n so that the Cat can know about the position of the Mouse. Similarly, you may also want to\\n pass in the Arena and Statue instance to both Cat and Mouse.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n You can run your program with \"),_c('code',[_vm._v(\"no-gui\")]),_vm._v(\" mode (no GUI interface and show info in command-line only) with the following command:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n For \"),_c('code',[_vm._v(\"Arena\")]),_vm._v(\" class, you can use \"),_c('code',[_vm._v(\"verbose=False\")]),_vm._v(\" argument to print the position of Cat\\n and Mouse during simulation (This is what autograder will use). Also, you can use \"),_c('code',[_vm._v(\"gui=True\")]),_vm._v(\"\\n to turn off the GUI and run in command-line only. An example is shown below:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"(This line of code is already included in your skeleton for \"),_c('code',[_vm._v(\"no-gui\")]),_vm._v(\" mode)\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n The \"),_c('code',[_vm._v(\"Arena\")]),_vm._v(\" runs in real-time by default, which means each 10 ms time step will actually takes\\n 10 milliseconds. You can speed up or slow down the simulation by using the following command:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"(This line of code is already included in your skeleton for \"),_c('code',[_vm._v(\"no-gui\")]),_vm._v(\" mode)\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n The Mouse should just run forever while the Cat should control the simulation. While the Cat catches\\n the mouse, it should call the following command to stop the simulation. (The Arena instance should be\\n passed into \"),_c('code',[_vm._v(\"Cat.__init__()\")]),_vm._v(\" as an argument)\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Trigonometric Information\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"\\n The cat sees the mouse if \"),_c('br'),_vm._v(\" \"),_c('code',[_vm._v(\"(cat radius) * cos (cat angle - mouse angle) >= 1.0\")]),_vm._v(\" (radius in meter and angles in radian)\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n When the cat circles distance d around the statue, its radius does not change, and the change in\\n its angle can be calculated from the relationship \"),_c('br'),_vm._v(\" \"),_c('code',[_vm._v(\"d = angle * radius\")]),_vm._v(\" (angles in radian)\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n The cat catches the mouse when it (the cat) moves past the mouse while at the base of the statue,\\n i.e. when the cat radius is 1.0 and the mouse angle lies between the old cat angle and the new\\n cat angle. An angle B is between angles A and C in the following circumstances:\"),_c('br'),_vm._v(\" \"),_c('code',[_vm._v(\"cos (B - A) > cos (C - A)\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"cos (C - B) > cos (C - A)\")]),_vm._v(\" (angles in radian)\"),_c('br'),_vm._v(\"\\n The difference C - A is assumed to be less than 90°, or π/2 radians.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Note that the cat cannot move inside the statue’s base; hence if the cat is, say, at radius 1.7 and sees the mouse, it can move in only 0.7 meters, up to the base of the statue.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Remember that angles a, a + 2π, a + 4π, ... are all equal.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Testing\")]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(\"(You should run the following tests under \"),_c('code',[_vm._v(\"no-gui\")]),_vm._v(\" mode. Please refer to Additional Information above.)\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Test each function and method in your program with enough different\\n inputs to show that it works. When testing a method, print out the input,\\n the expected result, and the actual result.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"It would probably be helpful for debugging purposes to have a debug flag\\n available that, when true, dumped the position and heading of all\\n characters involved (cat and mouse) at each time step.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You should test the methods of each Class in isolation, using\\n appropriate test data, to see if they work independently before calling\\n them from a driver function. Tutors may ask to see the results of these\\n tests. Your test data should include the following values:\")]),_vm._v(\" \"),_c('p',[_c('i',[_vm._v(\"(Note: The following are initial positions of Cat and Mouse in polar coordinate system relative to the center of Statue)\")])]),_vm._v(\" \"),_c('table',{staticClass:\"table table-bordered text-center\"},[_c('tr',[_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Cat Radius (m)\")]),_vm._v(\" \"),_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Cat Angle (degree)\")]),_vm._v(\" \"),_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Mouse Angle (degree)\")]),_vm._v(\" \"),_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Test Case Features\")])]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"1.0\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"35.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"396.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"angle > 360\"),_c('br'),_vm._v(\"\\n Mouse caught immediately at t = 0.03s\")])]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"3.2\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"0.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"-57.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"angle < 0 and cat radius has fractional part\"),_c('br'),_vm._v(\"\\n Mouse should be caught at t = 13.43s\")])]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"8.1\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"0.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"45.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"Cat should give up\"),_c('br'),_vm._v(\"\\n (would be caught at t = 776.03s)\")])]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"8.1\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"150.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"240.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"Mouse should be caught at t = 21.54s\")])]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"4.0\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"0.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"-57.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"Cat should give up\"),_c('br'),_vm._v(\"\\n (would be caught at t = 72.98s)\")])])]),_vm._v(\" \"),_c('p',[_vm._v(\"...plus the following cases:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"cat catches mouse at 30 seconds;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"whatever other values are necessary to ensure that all statements in your program have been executed at least once.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Be sure to check that the output makes sense for these tests, since the output is what most tutors will check first. Students are sometimes embarrassed to have a tutor point out that their programs have the cat moving deeper and deeper inside the statue, or moving away from the mouse instead of approaching it.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('p',[_vm._v(\"These are the requirements to meet for project completion:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correctly working code: \"),_c('code',[_vm._v(\"Cat.py\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Mouse.py\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Statue.py\")]),_vm._v(\", and the driver \"),_c('code',[_vm._v(\"catmouse.py\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"The \"),_c('code',[_vm._v(\"Cat\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Mouse\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"Statue\")]),_vm._v(\" classes must be subclasses of \"),_c('code',[_vm._v(\"Turtle\")])])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Use of functions—your program must be broken down into one or more functions—it cannot be one big long script.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Each function has a docstring that summarizes its purpose and provides a description of its inputs and outputs.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Sufficient testing, with output sufficient to verify test correctness:\\n \"),_c('ul',[_c('li',[_vm._v(\"tests on specified values for cat and mouse positions;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"evidence of independent tests of all methods in each of the three Classes you'll author;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"tests sufficient to exercise all statements in the all the methods in all the Classes you'll author.\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Adherence to CS9H style standards:\\n \"),_c('ul',[_c('li',[_vm._v(\"variable and function names that reflect their use;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"informative comments at the head of each function;\")])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-64fbcbd4\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/python/TurtleBehavior.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TurtleBehavior.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./TurtleBehavior.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-64fbcbd4\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TurtleBehavior.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/python/TurtleBehavior.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/cat-and-mouse.b2621d5.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/unix/images/cat-and-mouse.png\n// module id = Pto/\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/cellular_automation_rule30_200.cd9ddb9.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/python/images/cellular_automation_rule30_200.png\n// module id = Q+2R\n// module chunks = 1","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/python/images/q5_clicker.png\n// module id = QMce\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/unix/BashCalculator.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Advanced Bash-Scripting Guide Chapter 1',\n link: 'http://www.tldp.org/LDP/abs/html/why-shell.html'\n },\n {\n title: 'Advanced Bash-Scripting Guide Chapter 2',\n link: 'http://www.tldp.org/LDP/abs/html/sha-bang.html'\n },\n {\n title: 'Advanced Bash-Scripting Guide Chapter 3',\n link: 'http://www.tldp.org/LDP/abs/html/special-chars.html'\n },\n {\n title: 'Advanced Bash-Scripting Guide Chapter 4',\n link: 'http://www.tldp.org/LDP/abs/html/variables.html'\n },\n {\n title: 'Advanced Bash-Scripting Guide Chapter 5',\n link: 'http://www.tldp.org/LDP/abs/html/quoting.html'\n },\n {\n title: 'Advanced Bash-Scripting Guide Chapter 6',\n link: 'http://www.tldp.org/LDP/abs/html/exit-status.html'\n },\n {\n title: 'Advanced Bash-Scripting Guide Chapter 7',\n link: 'http://www.tldp.org/LDP/abs/html/tests.html'\n },\n {\n title: 'Advanced Bash-Scripting Guide Chapter 8',\n link: 'http://www.tldp.org/LDP/abs/html/operations.html'\n },\n {\n title: 'Advanced Bash-Scripting Guide Chapter 23',\n link: 'http://www.tldp.org/LDP/abs/html/process-sub.html'\n }\n ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Note\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The version of bc installed on the instructional systems in /usr/bin/bc\\n is not GNU bc. GNU bc has been installed at ~cs9e-1/bin/arch/sun4u/bc which\\n should be in your path. If you are having trouble with bc behaving\\n unexpectedly, make sure you are using the right one:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ bc --version\\nbc 1.06.95\\nCopyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.\")])])]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Part 1: Simple BASH Scripting\")]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('p',[_vm._v(\"Example - Compute the sine of pi/4:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ ./bashcalc-1.sh \\\"s(3.14159*0.25)\\\"\\n.70710631209355760535\")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Part 2: BASH Functions\")]),_vm._v(\" \"),_c('p',[_vm._v(\"If we enter a situation where we need to make many calls to bashcalc,\\n keeping it as a seperate script is not very practical. This is because the\\n operating system needs to create a new process for each script being\\n executed. Therefore, we should convert this script to a BASH function.\")]),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('p',[_vm._v(\"Example - Compute the sine of pi/4:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ . bashcalc-functions.sh\\n$ bashcalc \\\"s(3.14159*0.25)\\\"\\n.70710631209355760535\")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Part 3: Additional Functions\")]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"# Remove this line when you start part 3\\nreturn 0\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Complete the implementation of the following functions:\")]),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_c('p',[_vm._v(\"Example:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ . bashcalc-functions.sh\\n$ sine \\\"3.14159*0.25\\\"\\n.70710631209355760535\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Bring in transcripts showing your tests for all these functions. Make\\n sure you test sufficient cases to be satisfied with the function's\\n correctness.\")])]),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Overview\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This assignment will introduce you to BASH scripting and the process of\\n creating customized scripts and functions using BASH and external UNIX\\n commands.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"starter\"}},[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains a single file\\n called \"),_c('code',[_vm._v(\"bash-functions.sh\")]),_vm._v(\", which will be used for Part 2 and 3.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Basic Calculator Primer\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Unlike most programming languages, BASH does not have builtin floating\\n point math (it does have builtin integer math, however). This is a feature\\n of BASH rather than a shortcoming because it allows BASH to be easily\\n ported to systems which lack floating point processors. Because of this,\\n you need to figure out a way to handle the floating point math required for\\n this assignment. The simplest way to do this is through the external\\n command 'bc'. Make sure you call it using the '-l' command line option so\\n it loads the trig math library. See the manual page reference for more\\n information. You can use bc interactively to explore its syntax and usage,\\n but in your script, you will want to pipe in expressions.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"NOTE: You are not required to use bc. If you can find another unix tool\\n which allows you to complete this assignment, you are more than welcome to\\n use it instead. Just make sure sine, cosine, angle_reduce, and the float\\n comparison functions behave as described. If you end up using a different\\n tool, the input to the \"),_c('code',[_vm._v(\"bashcalc()\")]),_vm._v(\" function does not need to match the input\\n format mentioned below as it is determined by your tool choice.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Create a script called \"),_c('code',[_vm._v(\"bashcalc-1.sh\")]),_vm._v(\" which takes an expression on the\\n command line, causes \"),_c('code',[_vm._v(\"bc -l\")]),_vm._v(\" to evaluate it, and prints the results.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Complete the implementation of the \"),_c('code',[_vm._v(\"bashcalc()\")]),_vm._v(\" function in\\n \"),_c('code',[_vm._v(\"bashcalc-functions.sh\")]),_vm._v(\". After sourcing this\\n file, you should have a \"),_c('code',[_vm._v(\"bashcalc()\")]),_vm._v(\" function in your environment with the\\n exact same functionality as your \"),_c('code',[_vm._v(\"bashcalc-1.sh\")]),_vm._v(\" script.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The following lines were placed in \"),_c('code',[_vm._v(\"bashcalc-functions.sh\")]),_vm._v(\" to avoid parse\\n errors due to empty function bodies while you were working on part 2.\\n Please remove them before you implement part 3:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"sine\")])]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"cosine\")])]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"angle_reduce\")]),_vm._v(\" (Hint: The expression '8*a(1)' in bc will return 2*pi)\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"float_lt\")]),_vm._v(\", \"),_c('code',[_vm._v(\"float_lte\")]),_vm._v(\", \"),_c('code',[_vm._v(\"float_eq\")]),_vm._v(\" (Hint: Try common comparison operators in bc)\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"After implementing these functions, you shoule be able to call them\\n after resourcing \"),_c('code',[_vm._v(\"bashcalc-functions.sh\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Note\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The finished version of bash-functions.sh will be used in your next\\n assignment, so don't lose it.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 1\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student has correctly working code.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student shows sufficient test cases.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"First line correctly causes bash to be used as the interpreter.\")])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 2\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student has correctly working code.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student shows sufficient test cases to catch possible corner cases.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"bashcalc-functions.sh has no code outside of function blocks.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"bashcalc() behaves identically to the bashcalc-1.sh script from part 1.\")])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 3\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student has correctly working code.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student shows sufficient test cases to catch possible corner cases.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student uses proper abstraction and does not call 'bc' outside of the bashcalc() function.\")])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"All\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student correctly uses quotes where appropriate\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student correctly uses integer, text, and floating point comparisons\")])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-06e8b803\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/unix/BashCalculator.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./BashCalculator.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./BashCalculator.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-06e8b803\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./BashCalculator.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/unix/BashCalculator.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/apply_changes.8ebcaf5.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/images/apply_changes.png\n// module id = RCPB\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 2: Data Structures\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Head First Java (2nd Edition) Chapter 5',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/5dot-writing-a-program-extra-strength-methods/writing_a_program_colon_extra-strength_m'\n },\n {\n title: 'Head First Java (2nd Edition) Chapter 6',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/6dot-get-to-know-the-java-api-using-the-java-library/get_to_know_the_java_api_colon_using_the'\n },\n {\n title: 'Head First Java (2nd Edition) Chapter 9 (pp. 235 - 249)',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/9dot-constructors-and-garbage-collection-life-and-death-of-an-object/constructors_and_garbage_collection_colo'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"What would you say were the two most important XP techniques?\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_c('b',[_vm._v(\"(Any two would suffice, but our favorites are \\\"refactor\\\" and \\\"pair programming\\\")\")])]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Make small, but frequent, releases\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Develop in iteration cycles\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Don't put anything in the spec that's not in the spec (no matter how tempted you are to put in\\n functionality \\\"for the future\\\")\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Write the test code first\")]),_vm._v(\" \"),_c('li',[_vm._v(\"No killer schedules; work regular hours\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Refactor (improve the code) whenever and wherever you notice the opportunity.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Don't release anything until it passes all the tests.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Set realistic schedules, based around small releases)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Keep it simple\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Program in pairs, and move people around so that everybody knows pretty much everything about the\\n code\\n \")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"What does the following print out?\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"String ans = \\\"\\\";\\n\\nfor (int i = 0; i < 5; i++) {\\n int j = 0;\\n\\n while (j <= i) {\\n if (j > 2) {\\n break;\\n }\\n ans += \\\"[\\\" + i + j + \\\"]\\\";\\n j++;\\n }\\n\\n ans += \\\"\\\\n\\\";\\n}\\n\\nSystem.out.println(ans);\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"[00]\\n[10][11]\\n[20][21][22]\\n[30][31][32]\\n[40][41][42]\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n We will show you a succession of statements below that are based on\\n \"),_c('code',[_vm._v(\"myList\")]),_vm._v(\", which is either an array or ArrayList. For each\\n statement, indicate what it does, whether \"),_c('code',[_vm._v(\"myList\")]),_vm._v(\" is an\\n array or ArrayLists, and show how to do the equivalent operation if\\n it were the \"),_c('em',[_vm._v(\"other\")]),_vm._v(\" data structure.\\n\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"myList.add(a); // (a), assume myList was empty\\nString[] myList = new String[2]; // (b)\\nmyList[1] = null; // (c)\\nmyList.size() // (d)\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('ol',[_c('li',{attrs:{\"type\":\"a\"}},[_c('code',[_vm._v(\"myList.add(a);\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Adds object \"),_c('code',[_vm._v(\"a\")]),_vm._v(\" to the ArrayList \"),_c('code',[_vm._v(\"myList\")])]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"myList[0] = a; // Assumes myList has enough space for one object\")])])])]),_vm._v(\" \"),_c('li',{attrs:{\"type\":\"a\"}},[_c('code',[_vm._v(\"String[] myList = new String[2];\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Initializes array \"),_c('code',[_vm._v(\"myList\")]),_vm._v(\" to have space for two string references\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"ArrayList myList = new ArrayList();\")])])])]),_vm._v(\" \"),_c('li',{attrs:{\"type\":\"a\"}},[_c('code',[_vm._v(\"myList[1] = null;\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Removes the reference in the second spot of array \"),_c('code',[_vm._v(\"myList\")])]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"myList.remove(1); \")])])])]),_vm._v(\" \"),_c('li',{attrs:{\"type\":\"a\"}},[_c('code',[_vm._v(\"myList.size()\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Queries the size of the ArrayList \"),_c('code',[_vm._v(\"myList\")])]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"myList.length\")])])])])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Define a class \"),_c('code',[_vm._v(\"Countdown\")]),_vm._v(\" that can be initialized with no\\n arguments (default value of the countdown will be 10) or a single\\n argument, a \"),_c('code',[_vm._v(\"count\")]),_vm._v(\". The class should provide two zero-argumen\\n methods, \"),_c('code',[_vm._v(\"tick()\")]),_vm._v(\", which decrements the count by one and the\\n boolean \"),_c('code',[_vm._v(\"liftoff?\")]),_vm._v(\" which returns \"),_c('code',[_vm._v(\"true\")]),_vm._v(\" when the\\n count reaches zero. Your \"),_c('code',[_vm._v(\"Countdown\")]),_vm._v(\" class should use appropriate\\n encapsulation and not send any output to \"),_c('code',[_vm._v(\"System.out\")]),_vm._v(\". Then\\n define a \"),_c('code',[_vm._v(\"CountdownTestDrive\")]),_vm._v(\" class which should create two\\n \"),_c('code',[_vm._v(\"Countdown\")]),_vm._v(\"s, one with the default value and one with the a\\n countdown of 3. Your output should look like this:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_c('span',{staticClass:\"output\"},[_vm._v(\"unix%\")]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"javac Countdown.java CountdownTestDrive.java\")]),_vm._v(\"\\n\"),_c('span',{staticClass:\"output\"},[_vm._v(\"unix%\")]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"java CountdownTestDrive\")]),_vm._v(\"\\nTesting countdown for rocket : Apollo default\\ntick\\ntick\\ntick\\ntick\\ntick\\ntick\\ntick\\ntick\\ntick\\ntick\\nliftoff!\\nTesting countdown for rocket : Apollo 3\\ntick\\ntick\\ntick\\nliftoff!\\n\"),_c('span',{staticClass:\"output\"},[_vm._v(\"unix%\")])])])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public class Countdown {\\n private int count;\\n\\n public Countdown() {\\n count = 10; // Later, we'll see how to call our other constructor!\\n }\\n\\n public Countdown(int initialCount) {\\n count = initialCount;\\n }\\n\\n public void tick() {\\n count--;\\n }\\n\\n public boolean liftoff() {\\n return (count == 0);\\n }\\n}\\n\\nclass CountdownTestDrive {\\n public static void launch(Countdown c, String rocketName) {\\n System.out.println(\\\"Testing countdown for rocket : \\\" + rocketName);\\n\\n while (!c.liftoff()) {\\n c.tick();\\n System.out.println(\\\"tick\\\");\\n }\\n\\n System.out.println(\\\"liftoff!\\\");\\n }\\n\\n public static void main(String[] args) {\\n launch(new Countdown(), \\\"Apollo default\\\");\\n launch(new Countdown(3), \\\"Apollo 3\\\");\\n }\\n}\")])])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"In this quiz, you will be tested on elements from the reading. This\\n includes, but is not limited to:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Software development techniques\")]),_vm._v(\" \"),_c('li',[_vm._v(\"The post-increment operator. E.g., \"),_c('code',[_vm._v(\"foo++\")])]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"for\")]),_vm._v(\" loops\\n \"),_c('ul',[_c('li',[_vm._v(\"enhanced for loops. E.g., \"),_c('code',[_vm._v(\"for (int cell : locations) { ... }\")])]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"break;\")]),_vm._v(\" to get you out of \"),_c('code',[_vm._v(\"for\")]),_vm._v(\"/\"),_c('code',[_vm._v(\"while\")]),_vm._v(\" loops\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Using the Java library\")]),_vm._v(\" \"),_c('li',[_vm._v(\"ArrayLists\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Boolean expressions\")]),_vm._v(\" \"),_c('li',[_vm._v(\"The stack vs the heap\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Constructor methods\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4c601730\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/java/DataStructures.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4c601730\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./DataStructures.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/java/DataStructures.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/terminal-gcc.737baef.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/images/terminal-gcc.png\n// module id = S5RL\n// module chunks = 1","module.exports = \"data:image/gif;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/marble-4.gif\n// module id = SitW\n// module chunks = 1","module.exports = \"data:image/gif;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/marble-5.gif\n// module id = T5Jd\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 4: Object-Oriented Programming\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Think Python (2nd Edition) Chapter 12',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2016.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 13',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2017.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 14',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2018.html'\n },\n {\n title: 'Composing Programs 2.8',\n link: 'http://composingprograms.com/versions/v1/pages/28-generic-operations.html'\n },\n {\n title: 'The Python Tutorial 9.5',\n link: 'https://docs.python.org/3/tutorial/classes.html#inheritance'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Define a \"),_c('code',[_vm._v(\"Counter\")]),_vm._v(\" class that supports the following interaction:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\">>> c1 = Counter() ## default is to start counting from 0\\n>>> c1.numCountersMade\\n1 ## Only c1 so far\\n>>> c2 = Counter(100)\\n>>> print(c1)\\nCounter: 0\\n>>> print(c2)\\nCounter: 100\\n>>> c1.increment()\\n>>> print(c1)\\nCounter: 1\\n>>> print(c2)\\nCounter: 100\\n>>> c1.numCountersMade\\n2 ## We've only made c1 and c2 so far\\n>>> c2.clear()\\n>>> print(c2)\\nCounter: 0\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"Here are thoughts as we approach the solution\")]),_vm._v(\" \"),_c('ol',[_c('li',[_vm._v(\"We somehow have to keep track of \"),_c('code',[_vm._v(\"numCountersMade\")]),_vm._v(\" in a\\n \"),_c('dfn',[_vm._v(\"Class Variable\")]),_vm._v(\" so that as we make more \"),_c('code',[_vm._v(\"Counter\")]),_vm._v(\"s,\\n it gets updated\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"The argument to \"),_c('code',[_vm._v(\"__init__\")]),_vm._v(\" needs to\\n be optional with a default value of 0\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"We have to override\"),_c('code',[_vm._v(\"__str__\")]),_vm._v(\", since print knows what to do\\n with a \"),_c('code',[_vm._v(\"Counter\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"We have to implement the methods \"),_c('code',[_vm._v(\"increment()\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"clear()\")])])]),_vm._v(\" \"),_c('p'),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"class Counter:\\n '''A simple counter'''\\n numCountersMade = 0\\n\\n def __init__(self, count = 0):\\n '''Make a new counter'''\\n self.count = count\\n Counter.numCountersMade += 1\\n\\n def __str__(self):\\n '''Override str'''\\n return \\\"Counter: \\\" + str(self.count)\\n\\n def increment(self):\\n '''Increment counter'''\\n self.count += 1\\n\\n def clear(self):\\n '''Clear counter back to 0'''\\n self.count = 0\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Now, we'd like to build a baseball \"),_c('code',[_vm._v(\"Umpire\")]),_vm._v(\" class that can track\\n the \"),_c('dfn',[_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Baseball#Batting\"}},[_vm._v(\"count\")])]),_vm._v(\"\\n of a hitter. Note, we wrote this code in a rush, there may be bugs in it! Your job\\n is to find them and identify whether they are \"),_c('em',[_vm._v(\"syntax\")]),_vm._v(\", \"),_c('em',[_vm._v(\"logical\")]),_vm._v(\", or\\n \"),_c('em',[_vm._v(\"style\")]),_vm._v(\" bugs, then correct all the bugs.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"class Umpire\\n '''A baseball umpire'''\\n\\n def __init__(self):\\n '''Make a new umpire'''\\n self.balls = self.strikes = Counter()\\n\\n def __str__(self):\\n '''Printed representation of an Umpire'''\\n ### Want something like \\\"3 balls, 2 strikes\\\"\\n print (self.balls + \\\" balls, \\\" + self.strikes + \\\" strikes\\\")\\n\\n def strike(self):\\n '''Register a strike, reset if 3 strikes'''\\n self.strikes++\\n if self.strikes.count == 3:\\n clear(self)\\n print (\\\"Strikeout\\\")\\n\\n def ball(self):\\n '''Register that we had a ball'''\\n self.balls.increment()\\n if self.balls.count == 4\\n self.clear()\\n print (\\\"Take your bases...a walk!\\\")\\n\\n def clear(self):\\n '''Clear the umpire counters'''\\n self.balls.clear()\\n self.strikes.count = 0\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"Here are the problems we found (the corrected solution is below)\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": We need to import the \"),_c('code',[_vm._v(\"Counter\")]),_vm._v(\" module if we're to use it in \"),_c('code',[_vm._v(\"Umpire\")])]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": We forgot a semicolon\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Logical\")]),_vm._v(\": \"),_c('code',[_vm._v(\"balls\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"strikes\")]),_vm._v(\" need to be different \"),_c('code',[_vm._v(\"Counters\")]),_vm._v(\", and not share the same \"),_c('code',[_vm._v(\"Counter\")])]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": To reference the \"),_c('code',[_vm._v(\"Counter()\")]),_vm._v(\" initialiazation method (\"),_c('code',[_vm._v(\"__init__\")]),_vm._v(\") in the \"),_c('code',[_vm._v(\"Counter\")]),_vm._v(\" class, we need to call \"),_c('code',[_vm._v(\"Counter.Counter()\")])]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": We need to access \"),_c('code',[_vm._v(\"self.balls.count\")]),_vm._v(\" to get the number, not \"),_c('code',[_vm._v(\"self.balls\")]),_vm._v(\" (an object), and we need to surround it with a \"),_c('code',[_vm._v(\"str\")]),_vm._v(\" call\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": \"),_c('code',[_vm._v(\"self.strikes\")]),_vm._v(\" is an object, and the \"),_c('code',[_vm._v(\"++\")]),_vm._v(\" operator is from C/C++/Java, not Python.\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": \"),_c('code',[_vm._v(\"clear\")]),_vm._v(\" will result in a \"),_c('code',[_vm._v(\"NameError\")]),_vm._v(\", since without the \\\"\"),_c('code',[_vm._v(\"self.\")]),_vm._v(\"\\\" it will look in the \"),_c('em',[_vm._v(\"global\")]),_vm._v(\" namespace.\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Style\")]),_vm._v(\": Even though explicitly changing the \"),_c('code',[_vm._v(\"count\")]),_vm._v(\" will work given the current implementation of \"),_c('code',[_vm._v(\"Counter\")]),_vm._v(\", you are exploiting Python's \\\"weakness\\\" in its inability to limit access of its local instance variables from the outside. What if \"),_c('code',[_vm._v(\"Counter.clear()\")]),_vm._v(\" were rewritten to effect other internal state \"),_c('em',[_vm._v(\"in addition to\")]),_vm._v(\" zeroing out the \"),_c('code',[_vm._v(\"clear\")]),_vm._v(\" variable? You'd be missing that, which would be a hard bug to track down. It's like going to a restaurant by coming through the back entrance in the kitchen...you sometimes miss the flyers they hand out at the door. Lesson: Always use official accessors (\\\"setters\\\" and \\\"getters\\\") when provided -- follow the Application Programming Interface (API), otherwise known as \\\"specs\\\". Granted, \"),_c('code',[_vm._v(\"Counter\")]),_vm._v(\" doesn't provide a getter, and it probably should, but we can't change that in \"),_c('code',[_vm._v(\"Umpire\")]),_vm._v(\".\")])]),_vm._v(\" \"),_c('p'),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"import Counter \"),_c('strong',[_vm._v(\"### bug 1\")]),_vm._v(\"\\n\\nclass Umpire: \"),_c('strong',[_vm._v(\"### bug 2\")]),_vm._v(\"\\n '''A baseball umpire'''\\n\\n def __init__(self):\\n '''Make a new umpire'''\\n self.balls = Counter.Counter() \"),_c('strong',[_vm._v(\"### bugs 3, 4\")]),_vm._v(\"\\n self.strikes = Counter.Counter() \"),_c('strong',[_vm._v(\"### bugs 3, 4\")]),_vm._v(\"\\n\\n def __str__(self):\\n '''Printed representation of an Umpire'''\\n ### Want something like \\\"3 balls, 2 strikes\\\"\\n return str(self.balls.count) + \\\" balls, \\\" + str(self.strikes.count) + \\\" strikes\\\" \"),_c('strong',[_vm._v(\"### bug 5\")]),_vm._v(\"\\n\\n def strike(self):\\n '''Register a strike, reset if 3 strikes'''\\n self.strikes.increment() \"),_c('strong',[_vm._v(\"### bug 6\")]),_vm._v(\"\\n if self.strikes.count == 3:\\n self.clear() \"),_c('strong',[_vm._v(\"### bug 7\")]),_vm._v(\"\\n print (\\\"Strikeout\\\")\\n\\n def ball(self): \"),_c('strong',[_vm._v(\"### bug 2\")]),_vm._v(\"\\n '''Register that we had a ball'''\\n self.balls.increment()\\n if self.balls.count == 4: \"),_c('strong',[_vm._v(\"### bug 2\")]),_vm._v(\"\\n self.clear()\\n print (\\\"Take your bases...a walk!\\\")\\n\\n def clear(self):\\n '''Clear the umpire counters'''\\n self.balls.clear()\\n self.strikes.clear() \"),_c('strong',[_vm._v(\"### bug 8\")])])])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"For this quiz, you will learn about object-oriented programming in Python:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Exception handling\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Optional and keyword arguments\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Defining classes and methods\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Class attributes\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Bound and unbound methods\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-396b6e01\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/python/ObjectOrientedProgramming.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-396b6e01\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./ObjectOrientedProgramming.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/python/ObjectOrientedProgramming.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/turtle_walking-turtle.ba24519.gif\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/python/images/turtle_walking-turtle.gif\n// module id = UHkx\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 3: Advanced Objects and Classes\")]),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Head First Java (2nd Edition) Chapter 7',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/7dot-inheritance-and-polymorphism-better-living-in-objectville/inheritance_and_polymorphism_colon_bette'\n },\n {\n title: 'Head First Java (2nd Edition) Chapter 8',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/8dot-interfaces-and-abstract-classes-serious-polymorphism/interfaces_and_abstract_classes_colon_se'\n },\n {\n title: 'Head First Java (2nd Edition) Chapter 9',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/9dot-constructors-and-garbage-collection-life-and-death-of-an-object/constructors_and_garbage_collection_colo'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n We know an object becomes eligible for Garbage Collection when its last\\n live reference disappears. What are the three ways to get rid of an\\n object's reference?\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('ul',[_c('li',[_vm._v(\"The reference goes out of scope, permanently\")]),_vm._v(\" \"),_c('li',[_vm._v(\"The reference is assigned to another object\")]),_vm._v(\" \"),_c('li',[_vm._v(\"The reference is explicitly set to null\")])])]),_vm._v(\" \"),_c('p')],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Why don't interfaces suffer from the multiple inheritance problem? E.g.,\\n if there were two separate interfaces that both had a \"),_c('code',[_vm._v(\"void foo()\")]),_vm._v(\"\\n method, and a class decided to implement both of them, wouldn't there\\n be a problem?\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('ul',[_c('li',[_vm._v(\"The multiple inheritance problem occurs if a child can have two parents, and inherits the same-signature method from both (but doesn't implement it itself). When the child is told to invoke the method, which method does it choose? This is (one of the reasons) why multiple inheritance is not allowed in Java.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"With interfaces, a child MUST implement all of the methods specified by the contract of the interfaces. So, even if both had a \"),_c('code',[_vm._v(\"void foo()\")]),_vm._v(\" method, it would result in the child being forced to implement the method once itself (which here would satisfy both contracts simultaneously). Since the child implemented the \"),_c('code',[_vm._v(\"void foo()\")]),_vm._v(\" method itself, if it were asked to invoke it, it would just run it with no ambiguity.\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"A class \"),_c('code',[_vm._v(\"Shape\")]),_vm._v(\" is defined as follows:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public class Shape {\\n private int myUpperLeftX;\\n private int myUpperLeftY;\\n private int myHeight;\\n private int myWidth;\\n\\n public Shape(int x, int y, int height, int width) {\\n myUpperLeftX = x;\\n myUpperLeftY = y;\\n myHeight = height;\\n myWidth = width;\\n }\\n\\n public int area() {\\n return 0;\\n }\\n}\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Indicate what is wrong with the declarations of the \"),_c('code',[_vm._v(\"myHeight\")]),_vm._v(\"\\n and \"),_c('code',[_vm._v(\"myWidth\")]),_vm._v(\" fields if we wish to allow an inheriting class\\n (but not any other classes) to access them. Then define a class\\n \"),_c('code',[_vm._v(\"Rectangle\")]),_vm._v(\" that inherits from \"),_c('code',[_vm._v(\"Shape\")]),_vm._v(\". \"),_c('code',[_vm._v(\"Rectangle\")]),_vm._v(\"'s\\n constructor should take the same arguments as \"),_c('code',[_vm._v(\"Shape\")]),_vm._v(\"'s, and\\n \"),_c('code',[_vm._v(\"Rectangle\")]),_vm._v(\"'s \"),_c('code',[_vm._v(\"area\")]),_vm._v(\" method should return the product\\n of the rectangle's height and width.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n The fields \"),_c('code',[_vm._v(\"myHeight\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"myWidth\")]),_vm._v(\" in the \"),_c('code',[_vm._v(\"Shape\")]),_vm._v(\"\\n class cannot be defined as \"),_c('code',[_vm._v(\"private\")]),_vm._v(\" if we wish to allow access by an\\n inheriting \"),_c('code',[_vm._v(\"Rectangle\")]),_vm._v(\" class. We'll learn later that they should be\\n defined as \"),_c('code',[_vm._v(\"protected\")]),_vm._v(\", but you haven't officially learned that yet.\\n Then \"),_c('code',[_vm._v(\"Rectangle\")]),_vm._v(\" may be defined as follows:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public class Rectangle extends Shape {\\n public Rectangle(int x, int y, int height, int width) {\\n super(x, y, height, width);\\n }\\n\\n public int area() {\\n return myHeight * myWidth;\\n }\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Consider the following code that uses your solution to the previous exercise:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Rectangle rect = new Rectangle(1, 20, 10, 5);\\nShape sh = (Shape)rect;\\nSystem.out.println(\\\"area is \\\" + sh.area());\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Is it legal? If not, explain why not. If it is legal, explain what gets printed and why.\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n The code is legal; the second statement causes the \"),_c('code',[_vm._v(\"Rectangle\")]),_vm._v(\" object\\n referred to by \"),_c('code',[_vm._v(\"rect\")]),_vm._v(\" to be interpreted as a \"),_c('code',[_vm._v(\"Shape\")]),_vm._v(\" in some\\n contexts. Since an object always retains the identity of the class from which it was\\n created, however, and since when a method is used on an object, the method associated\\n with the object's class is what's used, the correct area (50) is printed.\\n \")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Redefine \"),_c('code',[_vm._v(\"Shape\")]),_vm._v(\" as an abstract class with an abstract \"),_c('code',[_vm._v(\"area\")]),_vm._v(\"\\n method, and explain why coding \"),_c('code',[_vm._v(\"Shape\")]),_vm._v(\" as an abstract class is better\\n than coding it as a regular class.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n The definition of \"),_c('code',[_vm._v(\"Shape\")]),_vm._v(\" as an abstract class appears below. This\\n definition makes more sense than the earlier definition since the area of an\\n arbitrary shape isn't predictable, though we know that any shape will have an\\n area.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public abstract class Shape {\\n private int myUpperLeftX;\\n private int myUpperLeftY;\\n protected int myHeight;\\n protected int myWidth;\\n\\n public Shape(int x, int y, int height, int width) {\\n myUpperLeftX = x;\\n myUpperLeftY = y;\\n myHeight = height;\\n myWidth = width;\\n }\\n\\n public abstract int area();\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Define an interface named \"),_c('code',[_vm._v(\"TwoDShape\")]),_vm._v(\", with methods named\\n \"),_c('code',[_vm._v(\"area\")]),_vm._v(\", \"),_c('code',[_vm._v(\"getHeight\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"getWidth\")]),_vm._v(\".\\n Then redefine \"),_c('code',[_vm._v(\"Rectangle\")]),_vm._v(\" to implement the \"),_c('code',[_vm._v(\"TwoDShape\")]),_vm._v(\"\\n interface.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public interface TwoDShape {\\n public int getHeight();\\n public int getWidth();\\n public int area();\\n}\\n\\npublic class Rectangle extends Shape implements TwoDShape {\\n public Rectangle(int x, int y, int height, int width) {\\n super(x, y, height, width);\\n }\\n\\n public int getHeight() {\\n return myHeight;\\n }\\n\\n public int getWidth() {\\n return myWidth;\\n }\\n\\n public int area() {\\n return myHeight * myWidth;\\n }\\n}\")])])])],1)])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-25dea5f1\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/java/AdvancedObjectsAndClasses.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25dea5f1\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./AdvancedObjectsAndClasses.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/java/AdvancedObjectsAndClasses.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/git-bash-options.996da61.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/images/git-bash-options.png\n// module id = UM6F\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/cpp/Setup.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('article',[_c('h2',{attrs:{\"id\":\"setup\"}},[_vm._v(\"Setup\")]),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"install-a-terminal\"}},[_vm._v(\"Install a terminal\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The terminal is a program that allows you to interact with your computer\\n by entering commands. No matter what operating system you use (Windows,\\n macOS, Linux), the terminal will be an essential tool for CS 9F.\")]),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"macos-linux\"}},[_vm._v(\"macOS/Linux\")]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"windows\"}},[_vm._v(\"Windows\")]),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"install-g++\"}},[_vm._v(\"Install g++\")]),_vm._v(\" \"),_c('p',[_vm._v(\"g++ is one of the most frequently used C++ compiler created by GNU\\n project. It is widely adopted as the default compiler of UNIX-like systems. Use the instructions\\n below based on your system to install the g++.\")]),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"macos\"}},[_vm._v(\"macOS\")]),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_c('ul',[_c('li',[_vm._m(11),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Alternatively, you can use the following command to install Xcode Command Line Tools. It\\n will produce a similar alert box. Note the double hyphen:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ xcode-select --install\")])])]),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_vm._m(14)]),_vm._v(\" \"),_c('h4',[_vm._v(\"Windows\")]),_vm._v(\" \"),_c('p',[_vm._v(\"To install g++, the trick is to install MinGW installation manager.\")]),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"install-a-text-editor\"}},[_vm._v(\"Install a text editor\")]),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_c('p',[_vm._v(\"For your reference, we've also written some guides on using popular text\\n editors.\")]),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_c('p',[_vm._v(\"\\n In the future, when you start to build more complex projects, you may find IDEs, such as Xcode, Visual Studio, Clion, become\\n more useful. However, they are not recommended for this course.\\n \")]),_vm._v(\" \"),_c('h2',{attrs:{\"id\":\"using-the-terminal\"}},[_vm._v(\"Using the terminal\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Let's check if everything was installed properly! First, open a new terminal window,\\n if you haven't already.\")]),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_vm._m(21),_vm._v(\" \"),_vm._m(22)]),_vm._v(\" \"),_c('article',[_c('h2',{attrs:{\"id\":\"organizing-your-files\"}},[_vm._v(\"Organizing your files\")]),_vm._v(\" \"),_c('p',[_vm._v(\"In this section, you will learn how to manage files using terminal commands.\")]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"directories\"}},[_vm._v(\"Directories\")]),_vm._v(\" \"),_vm._m(23),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"ls\")])]),_vm._v(\" \"),_vm._m(24),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"changing-directories\"}},[_vm._v(\"Changing directories\")]),_vm._v(\" \"),_vm._m(25),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"cd Desktop\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"If your desktop directory is not located within your home directory and you can't\\n find it, ask a tutor for help.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"There are a few ways to return to the home directory:\")]),_vm._v(\" \"),_vm._m(26),_vm._v(\" \"),_vm._m(27),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"making-new-directories\"}},[_vm._v(\"Making new directories\")]),_vm._v(\" \"),_vm._m(28),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"mkdir cs9f\")])]),_vm._v(\" \"),_vm._m(29),_vm._v(\" \"),_vm._m(30),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"cd ~/Desktop/cs9f\\nmkdir projects\")])]),_vm._v(\" \"),_vm._m(31),_vm._v(\" \"),_vm._m(32),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"downloading-the-assignment\"}},[_vm._v(\"Downloading the assignment\")]),_vm._v(\" \"),_vm._m(33),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"ls ~/Downloads\")])]),_vm._v(\" \"),_vm._m(34),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"extracting-starter-files\"}},[_vm._v(\"Extracting starter files\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You must expand the zip archive before you can work on the project files.\\n Different operating systems and different browsers have different ways of\\n unzipping. If you don't know how, you can search online.\")]),_vm._v(\" \"),_c('blockquote',[_vm._m(35),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"cd ~/Downloads\")])]),_vm._v(\" \"),_vm._m(36),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"unzip proj0.zip\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"You might also be able to unzip files without using the terminal by double\\n clicking them in your OS's file explorer.\")])]),_vm._v(\" \"),_vm._m(37),_vm._v(\" \"),_vm._m(38),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"moving-files\"}},[_vm._v(\"Moving files\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Move the project files to the project folder you created earlier:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"mv ~/Downloads/proj0 ~/Desktop/cs9f/projects\")])]),_vm._v(\" \"),_vm._m(39),_vm._v(\" \"),_vm._m(40),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"cd ~/Desktop/cs9f/projects/proj0\")])]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"summary\"}},[_vm._v(\"Summary\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Here is a summary of the commands we just went over for your reference:\")]),_vm._v(\" \"),_vm._m(41),_vm._v(\" \"),_c('p',[_vm._v(\"Finally, you're ready to start editing the project files! Don't worry if this seems\\n complicated -- it will get much easier over time. Just keep practicing!\")])]),_vm._v(\" \"),_c('article',[_c('h2',{attrs:{\"id\":\"doing-the-assignment\"}},[_vm._v(\"Doing the assignment\")]),_vm._v(\" \"),_c('article',[_c('h4',[_vm._v(\"Compiling and Running a C Program\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n In this class, we will be using the command line program g++ to compile programs in C++.\\n The simplest way to run g++ is as follows:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ g++ hello.cpp\")])]),_vm._v(\" \"),_vm._m(42),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ ./a.out\")])]),_vm._v(\" \"),_vm._m(43),_vm._v(\" \"),_vm._m(44),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ g++ -g -Wall -o hello hello.cpp\\n$ ./hello\")])])]),_vm._v(\" \"),_c('article',[_c('h4',[_vm._v(\"Understanding the question\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n In this exercise, we will see an example of preprocessor macro definitions. Macros can be a messy topic,\\n but in general the way they work is that before a C file is compiled, all macro constant names are replaced\\n exactly with the value they refer to.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n In the scope of this exercise, we will be using macro definitions exclusively as global constants. Here we\\n define CONSTANT_NAME to refer to literal_value (an integer literal). Note that there is only a space\\n separating name from value.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"#define CONSTANT_NAME literal_value\")])]),_vm._v(\" \"),_vm._m(45),_vm._v(\" \"),_vm._m(46),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Your task: Modifying only these four values, make the program produce the following output.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ g++ -g -Wall -o eccentric eccentric.cpp\\n$ ./eccentric\\nBerkeley eccentrics:\\n====================\\nHappy Happy Happy\\nYoshua\\n\\nGo BEARS!\")])]),_vm._v(\" \"),_vm._m(47)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Submission\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Nothing needs to be submitted for this project. However, it is strongly suggested\\n for you to complete this assignment.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains two files:\\n \"),_c('code',[_vm._v(\"hello.cpp\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"eccentric.cpp\")]),_vm._v(\".\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',{attrs:{\"id\":\"introduction\"}},[_vm._v(\"Introduction\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This project explains how to use your own computer to complete assignments for CS\\n 9F. If you are using a lab computer, most of the instructions are the same,\\n except you won't have to install anything.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"If you need any help at any time, you are welcomed to come in during our regular\\n office hour and ask any one of our tutors.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Register for an account\")]),_vm._v(\" \"),_c('blockquote',[_c('p',[_vm._v(\"These accounts allow you to use instructional machines in the CS department,\\n which can be useful if you do not have regular access to a computer. They are\\n \"),_c('strong',[_vm._v(\"not required if you do not plan on using the lab computers or printers\")]),_vm._v(\".\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Go to the \"),_c('a',{attrs:{\"href\":\"https://acropolis.cs.berkeley.edu/~account/webacct/\"}},[_vm._v(\"EECS account site\")]),_vm._v(\"\\n to register for an instructional account. Login using your Berkeley CalNet ID\\n and click the \"),_c('code',[_vm._v(\"Get a new account\")]),_vm._v(\" button in the row for CS 9F. Your username\\n will be of the form cs9f-xxx. Write down or download your account form so you\\n don't forget it!\")]),_vm._v(\" \"),_c('p',[_vm._v(\"If you decide to use your instructional account to complete your course work, then you can save\\n the effort of setting up a local environment on your own computer. You will still need to install\\n a terminal, but then you can use SSH to connect to your instructional account and use SFTP to\\n transfer files. However, we still recommend you to at least attempt all steps listed below to set\\n up your own environment so that you may use it in the future.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_vm._v(\"\\n In this class, we encourage you \"),_c('b',[_vm._v(\"NOT\")]),_vm._v(\" to use software like \"),_c('code',[_vm._v(\"Xcode\")]),_vm._v(\" or\\n \"),_c('code',[_vm._v(\"Visual Studio\")]),_vm._v(\", which will help you set up the environment. Instead,\\n please use a standard terminal and a text editor to complete all your work.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you're on a Mac or are using a form of Linux (such as Ubuntu), you already\\n have a program called \"),_c('code',[_vm._v(\"Terminal\")]),_vm._v(\" or something similar on your computer. Open\\n that up and you should be good to go.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"For Windows users, we recommend downloading a terminal called \"),_c('a',{attrs:{\"href\":\"http://git-scm.com/downloads\"}},[_vm._v(\"Git\\n Bash\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"You should be able to install Git Bash with most of the default configuration\\n options, with one exception. In the \"),_c('em',[_vm._v(\"Configuring the terminal emulator to use\\n with Git Bash\")]),_vm._v(\" step, select the second option: \"),_c('em',[_vm._v(\"Use Windows' default console\\n window\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('strong',[_vm._v(\"This is very important! If you do not select this option, your terminal will\\n not work!\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/git-bash-options.png\"),\"alt\":\"Git Bash configuration options\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you are using a Mac, your will need to download and install \"),_c('code',[_vm._v(\"Command Line Tools for Xcode\")]),_vm._v(\",\\n which can be downloaded in the following ways:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"Option 1: (Recommended)\")]),_vm._v(\" You can open your terminal and simply type \"),_c('code',[_vm._v(\"g++\")]),_vm._v(\". A popup window should appear, telling you to install the tool.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/terminal-g++.png\"),\"width\":\"560\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_c('b',[_vm._v(\"Option 2:\")]),_vm._v(\" Install Xcode tools using Xcode app on the Mac:\")]),_vm._v(\" \"),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_vm._v(\"Start Xcode on the Mac.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Choose Preferences from the Xcode menu.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"In the General panel, click Downloads.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"On the Downloads window, choose the Components tab.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Click the Install button next to Command Line Tools.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"You are asked for your Apple Developer login during the install process.\")])]),_vm._v(\" \"),_c('p')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_c('b',[_vm._v(\"Option 3:\")]),_vm._v(\" Install the necessary Xcode tools from the Web:\")]),_vm._v(\" \"),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_vm._v(\"On the Mac, go to \"),_c('a',{attrs:{\"href\":\"https://developer.apple.com/downloads/index.action\",\"target\":\"_blank\"}},[_vm._v(\"https://developer.apple.com/downloads/index.action\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"You are asked for your Apple Developer login during the install process.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"On the \\\"Downloads for Apple Developers\\\" list, select the Command Line Tools entry that you want.\")])]),_vm._v(\" \"),_c('p')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',[_c('li',[_c('p',[_vm._v(\"Go to MinGW \"),_c('a',{attrs:{\"href\":\"http://sourceforge.net/projects/mingw/\"}},[_vm._v(\"SourceForge\")]),_vm._v(\" and download the file.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Follow the instruction to install it.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"When you see \"),_c('code',[_vm._v(\"MinGW Installation Manager Dialog\")]),_vm._v(\", click on \"),_c('strong',[_vm._v(\"MSYS\")]),_vm._v(\" in the\\n left sidebar, you will see \"),_c('code',[_vm._v(\"mingw-developer-toolkit\")]),_vm._v(\" in the right side panel. Now just\\n right click on it and select \"),_c('code',[_vm._v(\"mark for installation\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Similarly, navigate to the \"),_c('b',[_vm._v(\"MinGW Base System\")]),_vm._v(\" and \"),_c('b',[_vm._v(\"MSYS Base System\")]),_vm._v(\" tabs in the left sidebar\\n and select everything related to g++.\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/minGW_manager.png\"),\"alt\":\"dialog\",\"width\":\"560\"}})])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"In the navigation bar, select \"),_c('strong',[_vm._v(\"Installation > Apply Changes\")]),_vm._v(\". A new dialog will appear, you want to click on \"),_c('strong',[_vm._v(\"Apply\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/apply_changes.png\"),\"width\":\"560\"}})])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"The last step is to go to Windows environment variable settings: \"),_c('strong',[_vm._v(\"Control Panel > System and Security > System\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/windows_var.png\"),\"width\":\"560\"}})])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Click on \"),_c('strong',[_vm._v(\"Advanced system settings\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/windows_PATH.png\"),\"width\":\"560\"}})])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Click on \"),_c('strong',[_vm._v(\"Environment Variables\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/windows_env_var.png\"),\"width\":\"560\"}})])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Double Click on \"),_c('strong',[_vm._v(\"System variables > Path\")]),_vm._v(\". Put \"),_c('code',{staticClass:\"highlighter-rouge\"},[_vm._v(\";C:\\\\MinGW\\\\bin\\\\\")]),_vm._v(\" into the \"),_c('strong',[_vm._v(\"Variable value\")]),_vm._v(\". \"),_c('code',{staticClass:\"highlighter-rouge\"},[_vm._v(\";\")]),_vm._v(\" is the seperator.\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/windows_edit_var.png\"),\"width\":\"560\"}})])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('strong',[_vm._v(\"C++ Compiler\")]),_vm._v(\" that you just installed allows you to \"),_c('em',[_vm._v(\"compile\")]),_vm._v(\" and \"),_c('em',[_vm._v(\"run\")]),_vm._v(\" C++\\n code. You will also need a \"),_c('strong',[_vm._v(\"text editor\")]),_vm._v(\", where you will \"),_c('em',[_vm._v(\"write\")]),_vm._v(\" C++ code.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"There are many editors out there, each with its own set of features. We find\\n that \"),_c('a',{attrs:{\"href\":\"https://atom.io/\"}},[_vm._v(\"Atom\")]),_vm._v(\" and \"),_c('a',{attrs:{\"href\":\"http://www.sublimetext.com/3\"}},[_vm._v(\"Sublime Text 3\")]),_vm._v(\" are popular choices among students,\\n but you are free to use other text editors.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_c('strong',[_vm._v(\"Note\")]),_vm._v(\": Please, please, \"),_c('em',[_vm._v(\"please\")]),_vm._v(\" do not use word processors such as\\n Microsoft Word to edit programs.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://cs61a.org/articles/atom.html\",\"target\":\"_blank\"}},[_vm._v(\"Atom\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://cs61a.org/articles/sublime.html\",\"target\":\"_blank\"}},[_vm._v(\"Sublime Text 3\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://cs61a.org/articles/emacs.html\",\"target\":\"_blank\"}},[_vm._v(\"Emacs\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://cs61a.org/articles/vim.html\",\"target\":\"_blank\"}},[_vm._v(\"Vim\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/terminal.png\"),\"alt\":\"starting the terminal\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"When you first open your terminal, you will start in the home directory. The\\n \"),_c('strong',[_vm._v(\"home directory\")]),_vm._v(\" is represented by the \"),_c('code',[_vm._v(\"~\")]),_vm._v(\" symbol.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_vm._v(\"Don't worry if your terminal window doesn't look exactly the same; the\\n important part is that the text on the left-hand side of the \"),_c('code',[_vm._v(\"$\")]),_vm._v(\" has a\\n \"),_c('code',[_vm._v(\"~\")]),_vm._v(\" (tilde). That text might also have the name of your computer.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The first command you'll use is \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\". Try typing it in the terminal:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\" command \"),_c('strong',[_vm._v(\"l\")]),_vm._v(\"i\"),_c('strong',[_vm._v(\"s\")]),_vm._v(\"ts all the files and folders in the current\\n directory. A \"),_c('strong',[_vm._v(\"directory\")]),_vm._v(\" is another name for a folder (such as the\\n \"),_c('code',[_vm._v(\"Documents\")]),_vm._v(\" folder). Since you're in the home directory right now, you\\n should see the contents of your home directory.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"To move into another directory, use the \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" command. Let's try moving into your\\n Desktop directory. First, make sure you're in your home directory (check for the\\n \"),_c('code',[_vm._v(\"~\")]),_vm._v(\" on your command line) and use \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\" to see if the \"),_c('code',[_vm._v(\"Desktop\")]),_vm._v(\" directory is present.\\n Try typing the following command into your terminal, which should move you into\\n that directory:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"cd ..\")]),_vm._v(\" (two dots). The \"),_c('code',[_vm._v(\"..\")]),_vm._v(\" means \\\"the parent directory\\\". In\\n this case, the parent directory of \"),_c('code',[_vm._v(\"cs9f\")]),_vm._v(\" is your home\\n directory, so you can use \"),_c('code',[_vm._v(\"cd ..\")]),_vm._v(\" to go up one directory.\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"cd ~\")]),_vm._v(\" (the tilde). Remember that \"),_c('code',[_vm._v(\"~\")]),_vm._v(\" means home directory, so\\n this command will always change to your home directory.\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"cd\")]),_vm._v(\" (\"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" on its own). Typing just \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" is a shortcut for typing \"),_c('code',[_vm._v(\"cd ~\")]),_vm._v(\".\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_vm._v(\"You do not have to keep your files on your Desktop if you prefer otherwise.\\n Where you keep your files locally will not affect your projects. Do whatever is\\n easiest and most convenient for you!\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The next command is called \"),_c('code',[_vm._v(\"mkdir\")]),_vm._v(\", which \"),_c('strong',[_vm._v(\"m\")]),_vm._v(\"a\"),_c('strong',[_vm._v(\"k\")]),_vm._v(\"es new\\n \"),_c('strong',[_vm._v(\"dir\")]),_vm._v(\"ectories. Let's make a directory called \"),_c('code',[_vm._v(\"cs9f\")]),_vm._v(\" on your Desktop to store\\n all of the assignments for this class:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"A folder named \"),_c('code',[_vm._v(\"cs9f\")]),_vm._v(\" will appear on your Desktop. You can verify this by\\n using the \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\" command again or by simply checking your Desktop.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"At this point, let's create some more directories. First, make sure you are in\\n the \"),_c('code',[_vm._v(\"~/Desktop/cs9f\")]),_vm._v(\" directory. Then, create a folder called \"),_c('code',[_vm._v(\"projects\")]),_vm._v(\"\\n inside of your \"),_c('code',[_vm._v(\"cs9f\")]),_vm._v(\" folder:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Now if you list the contents of the directory (using \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\"), you'll see the\\n folder you just created, \"),_c('code',[_vm._v(\"projects\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/terminal_commands.png\"),\"alt\":\"cs9f directory\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you haven't already, download the zip archive, \"),_c('code',[_vm._v(\"proj0.zip\")]),_vm._v(\", which\\n contains all the files that you'll need for this project. Once you've done that, let's\\n find the downloaded file. On most computers, \"),_c('code',[_vm._v(\"proj0.zip\")]),_vm._v(\" is probably located in a\\n directory called \"),_c('code',[_vm._v(\"Downloads\")]),_vm._v(\" in your home directory. Use the \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\" command to\\n check:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you don't see \"),_c('code',[_vm._v(\"proj0.zip\")]),_vm._v(\", ask a tutor for help.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Using a terminal, you can unzip the zip file from the command line.\\n First, \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" into the directory that contains the zip file:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Now, run the \"),_c('code',[_vm._v(\"unzip\")]),_vm._v(\" command with the name of the zip file:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Once you unzip \"),_c('code',[_vm._v(\"proj0.zip\")]),_vm._v(\", you'll have a new folder called \"),_c('code',[_vm._v(\"proj0\")]),_vm._v(\" which\\n contains the following files (check it out with \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\"):\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"hello.cpp\")]),_vm._v(\": A sample C++ hello world program for you to learn how to run it\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"eccentric.cpp\")]),_vm._v(\": The template file you'll be adding your code to\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('code',[_vm._v(\"mv\")]),_vm._v(\" command will \"),_c('strong',[_vm._v(\"m\")]),_vm._v(\"o\"),_c('strong',[_vm._v(\"v\")]),_vm._v(\"e the \"),_c('code',[_vm._v(\"~/Downloads/proj0\")]),_vm._v(\" folder\\n into the \"),_c('code',[_vm._v(\"~/Desktop/cs9f/projects\")]),_vm._v(\" folder.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Now, go to the \"),_c('code',[_vm._v(\"proj0\")]),_vm._v(\" folder that you just moved. Try using \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" to navigate\\n your own way! If you get stuck, you can use the following command:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"ls\")]),_vm._v(\": \"),_c('strong',[_vm._v(\"l\")]),_vm._v(\"i\"),_c('strong',[_vm._v(\"s\")]),_vm._v(\"ts all files in the current directory\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"cd \")]),_vm._v(\": \"),_c('strong',[_vm._v(\"c\")]),_vm._v(\"hange into the specified \"),_c('strong',[_vm._v(\"d\")]),_vm._v(\"irectory\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"mkdir \")]),_vm._v(\": \"),_c('strong',[_vm._v(\"m\")]),_vm._v(\"a\"),_c('strong',[_vm._v(\"k\")]),_vm._v(\"e a new \"),_c('strong',[_vm._v(\"dir\")]),_vm._v(\"ectory with the given name\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"mv \")]),_vm._v(\": \"),_c('strong',[_vm._v(\"m\")]),_vm._v(\"o\"),_c('strong',[_vm._v(\"v\")]),_vm._v(\"e the file at the given source to the\\n given destination\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n This compiles \"),_c('code',[_vm._v(\"hello.cpp\")]),_vm._v(\" into an executable file named \"),_c('code',[_vm._v(\"a.out\")]),_vm._v(\".\\n If you've taken CS61B or have experience with Java, you can kinda think of \"),_c('code',[_vm._v(\"g++\")]),_vm._v(\" as the\\n C equivalent of \"),_c('code',[_vm._v(\"javac\")]),_vm._v(\". This file can be run with the following command:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n The executable file is \"),_c('code',[_vm._v(\"a.out\")]),_vm._v(\", so what is the \"),_c('code',[_vm._v(\"./\")]),_vm._v(\"? Answer: when you want to execute an\\n executable, you need to prepend a filepath in order to distinguish your command from\\n a command like python3. The dot refers to the \\\"current directory.\\\" Incidentally, double\\n dots (\"),_c('code',[_vm._v(\"..\")]),_vm._v(\") would refer to the directory one level up.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n g++ has various command line options which you are encouraged to explore. In this assignment,\\n however, we will only be using \"),_c('code',[_vm._v(\"-o\")]),_vm._v(\", which is used to specify the name of the executable file that g++ creates,\\n \"),_c('code',[_vm._v(\"-Wall\")]),_vm._v(\", which means \\\"give all relevant warnings\\\", and \"),_c('code',[_vm._v(\"-g\")]),_vm._v(\", which storing information in the executable file for use by the debugger\\n Using the following command, you would use the following commands to compile \"),_c('code',[_vm._v(\"hello.cpp\")]),_vm._v(\" into a program named hello, and then\\n run it. This is helpful if you don't want all of your executable files to be named \"),_c('code',[_vm._v(\"a.out\")]),_vm._v(\".\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Now, look at the code contained in \"),_c('code',[_vm._v(\"eccentric.cpp\")]),_vm._v(\". Notice the four different examples\\n of basic C++ control flow. (What are they?)\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n First compile and run the program to see what it does. Play around with the constant values of the\\n four macros: \"),_c('code',[_vm._v(\"V0\")]),_vm._v(\" through \"),_c('code',[_vm._v(\"V3\")]),_vm._v(\". See how changing each of them changes the\\n program output.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n There are actually several different combinations of macros that can give this output. Here's\\n the challenge for you in this exercise: consider what the minimum number of distinct values\\n that \"),_c('code',[_vm._v(\"V0\")]),_vm._v(\" through \"),_c('code',[_vm._v(\"V3\")]),_vm._v(\" can have such that they still give this exact output. For example, the\\n theoretical maximum is four, when they are all distinct from each other.\\n \")])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-77ef7262\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/cpp/Setup.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Setup.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Setup.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-77ef7262\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Setup.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/Setup.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/gif;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/47b/images/prims-algorithm.gif\n// module id = VEVS\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/c/Setup.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('article',[_c('h2',{attrs:{\"id\":\"setup\"}},[_vm._v(\"Setup\")]),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"install-a-terminal\"}},[_vm._v(\"Install a terminal\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The terminal is a program that allows you to interact with your computer\\n by entering commands. No matter what operating system you use (Windows,\\n macOS, Linux), the terminal will be an essential tool for CS 9F.\")]),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"macos-linux\"}},[_vm._v(\"macOS/Linux\")]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"windows\"}},[_vm._v(\"Windows\")]),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"install-gcc\"}},[_vm._v(\"Install gcc\")]),_vm._v(\" \"),_c('p',[_vm._v(\"gcc is one of the most frequently used C compiler created by GNU\\n project. It is widely adopted as the default compiler of UNIX-like systems. Use the instructions\\n below based on your system to install the gcc.\")]),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"macos\"}},[_vm._v(\"macOS\")]),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_c('ul',[_c('li',[_vm._m(11),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Alternatively, you can use the following command to install Xcode Command Line Tools. It\\n will produce a similar alert box. Note the double hyphen:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ xcode-select --install\")])])]),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_vm._m(14)]),_vm._v(\" \"),_c('h4',[_vm._v(\"Windows\")]),_vm._v(\" \"),_c('p',[_vm._v(\"To install gcc, the trick is to install MinGW installation manager.\")]),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"install-a-text-editor\"}},[_vm._v(\"Install a text editor\")]),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_c('p',[_vm._v(\"For your reference, we've also written some guides on using popular text\\n editors.\")]),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_c('p',[_vm._v(\"\\n In the future, when you start to build more complex projects, you may find IDEs, such as Xcode, Visual Studio, Clion, become\\n more useful. However, they are not recommended for this course.\\n \")]),_vm._v(\" \"),_c('h2',{attrs:{\"id\":\"using-the-terminal\"}},[_vm._v(\"Using the terminal\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Let's check if everything was installed properly! First, open a new terminal window,\\n if you haven't already.\")]),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_vm._m(21),_vm._v(\" \"),_vm._m(22)]),_vm._v(\" \"),_c('article',[_c('h2',{attrs:{\"id\":\"organizing-your-files\"}},[_vm._v(\"Organizing your files\")]),_vm._v(\" \"),_c('p',[_vm._v(\"In this section, you will learn how to manage files using terminal commands.\")]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"directories\"}},[_vm._v(\"Directories\")]),_vm._v(\" \"),_vm._m(23),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"ls\")])]),_vm._v(\" \"),_vm._m(24),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"changing-directories\"}},[_vm._v(\"Changing directories\")]),_vm._v(\" \"),_vm._m(25),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"cd Desktop\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"If your desktop directory is not located within your home directory and you can't\\n find it, ask a tutor for help.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"There are a few ways to return to the home directory:\")]),_vm._v(\" \"),_vm._m(26),_vm._v(\" \"),_vm._m(27),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"making-new-directories\"}},[_vm._v(\"Making new directories\")]),_vm._v(\" \"),_vm._m(28),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"mkdir cs9c\")])]),_vm._v(\" \"),_vm._m(29),_vm._v(\" \"),_vm._m(30),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"cd ~/Desktop/cs9c\\nmkdir projects\")])]),_vm._v(\" \"),_vm._m(31),_vm._v(\" \"),_vm._m(32),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"downloading-the-assignment\"}},[_vm._v(\"Downloading the assignment\")]),_vm._v(\" \"),_vm._m(33),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"ls ~/Downloads\")])]),_vm._v(\" \"),_vm._m(34),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"extracting-starter-files\"}},[_vm._v(\"Extracting starter files\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You must expand the zip archive before you can work on the project files.\\n Different operating systems and different browsers have different ways of\\n unzipping. If you don't know how, you can search online.\")]),_vm._v(\" \"),_c('blockquote',[_vm._m(35),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"cd ~/Downloads\")])]),_vm._v(\" \"),_vm._m(36),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"unzip proj0.zip\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"You might also be able to unzip files without using the terminal by double\\n clicking them in your OS's file explorer.\")])]),_vm._v(\" \"),_vm._m(37),_vm._v(\" \"),_vm._m(38),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"moving-files\"}},[_vm._v(\"Moving files\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Move the project files to the project folder you created earlier:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"mv ~/Downloads/proj0 ~/Desktop/cs9c/projects\")])]),_vm._v(\" \"),_vm._m(39),_vm._v(\" \"),_vm._m(40),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"cd ~/Desktop/cs9c/projects/proj0\")])]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"summary\"}},[_vm._v(\"Summary\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Here is a summary of the commands we just went over for your reference:\")]),_vm._v(\" \"),_vm._m(41),_vm._v(\" \"),_c('p',[_vm._v(\"Finally, you're ready to start editing the project files! Don't worry if this seems\\n complicated -- it will get much easier over time. Just keep practicing!\")])]),_vm._v(\" \"),_c('article',[_c('h2',{attrs:{\"id\":\"doing-the-assignment\"}},[_vm._v(\"Doing the assignment\")]),_vm._v(\" \"),_c('article',[_c('h4',[_vm._v(\"Compiling and Running a C Program\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n In this class, we will be using the command line program gcc to compile programs in C.\\n The simplest way to run gcc is as follows:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ gcc hello.c\")])]),_vm._v(\" \"),_vm._m(42),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ ./a.out\")])]),_vm._v(\" \"),_vm._m(43),_vm._v(\" \"),_vm._m(44),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ gcc -g -Wall -o hello hello.c\\n$ ./hello\")])])]),_vm._v(\" \"),_c('article',[_c('h4',[_vm._v(\"Understanding the question\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n In this exercise, we will see an example of preprocessor macro definitions. Macros can be a messy topic,\\n but in general the way they work is that before a C file is compiled, all macro constant names are replaced\\n exactly with the value they refer to.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n In the scope of this exercise, we will be using macro definitions exclusively as global constants. Here we\\n define CONSTANT_NAME to refer to literal_value (an integer literal). Note that there is only a space\\n separating name from value.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"#define CONSTANT_NAME literal_value\")])]),_vm._v(\" \"),_vm._m(45),_vm._v(\" \"),_vm._m(46),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Your task: Modifying only these four values, make the program produce the following output.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ gcc -g -Wall -o eccentric eccentric.c\\n$ ./eccentric\\nBerkeley eccentrics:\\n====================\\nHappy Happy Happy\\nYoshua\\n\\nGo BEARS!\")])]),_vm._v(\" \"),_vm._m(47)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Submission\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Nothing needs to be submitted for this project. However, it is strongly suggested\\n for you to complete this assignment.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains two files:\\n \"),_c('code',[_vm._v(\"hello.c\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"eccentric.c\")]),_vm._v(\".\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',{attrs:{\"id\":\"introduction\"}},[_vm._v(\"Introduction\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This project explains how to use your own computer to complete assignments for CS\\n 9F. If you are using a lab computer, most of the instructions are the same,\\n except you won't have to install anything.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"If you need any help at any time, you are welcomed to come in during our regular\\n office hour and ask any one of our tutors.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Register for an account\")]),_vm._v(\" \"),_c('blockquote',[_c('p',[_vm._v(\"These accounts allow you to use instructional machines in the CS department,\\n which can be useful if you do not have regular access to a computer. They are\\n \"),_c('strong',[_vm._v(\"not required if you do not plan on using the lab computers or printers\")]),_vm._v(\".\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Go to the \"),_c('a',{attrs:{\"href\":\"https://acropolis.cs.berkeley.edu/~account/webacct/\"}},[_vm._v(\"EECS account site\")]),_vm._v(\"\\n to register for an instructional account. Login using your Berkeley CalNet ID\\n and click the \"),_c('code',[_vm._v(\"Get a new account\")]),_vm._v(\" button in the row for CS 9C. Your username\\n will be of the form cs9c-xxx. Write down or download your account form so you\\n don't forget it!\")]),_vm._v(\" \"),_c('p',[_vm._v(\"If you decide to use your instructional account to complete your course work, then you can save\\n the effort of setting up a local environment on your own computer. You will still need to install\\n a terminal, but then you can use SSH to connect to your instructional account and use SFTP to\\n transfer files. However, we still recommend you to at least attempt all steps listed below to set\\n up your own environment so that you may use it in the future.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_vm._v(\"\\n In this class, we encourage you \"),_c('b',[_vm._v(\"NOT\")]),_vm._v(\" to use software like \"),_c('code',[_vm._v(\"Xcode\")]),_vm._v(\" or\\n \"),_c('code',[_vm._v(\"Visual Studio\")]),_vm._v(\", which will help you set up the environment. Instead,\\n please use a standard terminal and a text editor to complete all your work.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you're on a Mac or are using a form of Linux (such as Ubuntu), you already\\n have a program called \"),_c('code',[_vm._v(\"Terminal\")]),_vm._v(\" or something similar on your computer. Open\\n that up and you should be good to go.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"For Windows users, we recommend downloading a terminal called \"),_c('a',{attrs:{\"href\":\"http://git-scm.com/downloads\"}},[_vm._v(\"Git\\n Bash\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"You should be able to install Git Bash with most of the default configuration\\n options, with one exception. In the \"),_c('em',[_vm._v(\"Configuring the terminal emulator to use\\n with Git Bash\")]),_vm._v(\" step, select the second option: \"),_c('em',[_vm._v(\"Use Windows' default console\\n window\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('strong',[_vm._v(\"This is very important! If you do not select this option, your terminal will\\n not work!\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/git-bash-options.png\"),\"alt\":\"Git Bash configuration options\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you are using a Mac, your will need to download and install \"),_c('code',[_vm._v(\"Command Line Tools for Xcode\")]),_vm._v(\",\\n which can be downloaded in the following ways:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"Option 1: (Recommended)\")]),_vm._v(\" You can open your terminal and simply type \"),_c('code',[_vm._v(\"gcc\")]),_vm._v(\". A popup window should appear, telling you to install the tool.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/terminal-gcc.png\"),\"width\":\"560px\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_c('b',[_vm._v(\"Option 2:\")]),_vm._v(\" Install Xcode tools using Xcode app on the Mac:\")]),_vm._v(\" \"),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_vm._v(\"Start Xcode on the Mac.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Choose Preferences from the Xcode menu.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"In the General panel, click Downloads.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"On the Downloads window, choose the Components tab.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Click the Install button next to Command Line Tools.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"You are asked for your Apple Developer login during the install process.\")])]),_vm._v(\" \"),_c('p')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_c('b',[_vm._v(\"Option 3:\")]),_vm._v(\" Install the necessary Xcode tools from the Web:\")]),_vm._v(\" \"),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_vm._v(\"On the Mac, go to \"),_c('a',{attrs:{\"href\":\"https://developer.apple.com/downloads/index.action\",\"target\":\"_blank\"}},[_vm._v(\"https://developer.apple.com/downloads/index.action\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"You are asked for your Apple Developer login during the install process.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"On the \\\"Downloads for Apple Developers\\\" list, select the Command Line Tools entry that you want.\")])]),_vm._v(\" \"),_c('p')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',[_c('li',[_c('p',[_vm._v(\"Go to MinGW \"),_c('a',{attrs:{\"href\":\"http://sourceforge.net/projects/mingw/\"}},[_vm._v(\"SourceForge\")]),_vm._v(\" and download the file.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Follow the instruction to install it.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"When you see \"),_c('code',[_vm._v(\"MinGW Installation Manager Dialog\")]),_vm._v(\", click on \"),_c('strong',[_vm._v(\"MSYS\")]),_vm._v(\" in the left sidebar, you will see \"),_c('code',[_vm._v(\"mingw-developer-toolkit\")]),_vm._v(\" in the right side panel. Now just right click on it and select \"),_c('code',[_vm._v(\"mark for installation\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/minGW_manager.png\"),\"alt\":\"dialog\",\"width\":\"560\"}})])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"In the navigation bar, select \"),_c('strong',[_vm._v(\"Installation > Apply Changes\")]),_vm._v(\". A new dialog will appear,\\n you want to click on \"),_c('strong',[_vm._v(\"Apply\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Similarly, navigate to the \"),_c('b',[_vm._v(\"MinGW Base System\")]),_vm._v(\" and \"),_c('b',[_vm._v(\"MSYS Base System\")]),_vm._v(\" tabs in the left sidebar\\n and select everything related to gcc.\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/apply_changes.png\"),\"width\":\"560\"}})]),_vm._v(\" \"),_c('p',[_vm._v(\"The last step is to go to Windows environment variable settings: \"),_c('strong',[_vm._v(\"Control Panel > System and\\n Security > System\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/windows_var.png\"),\"width\":\"560\"}})])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Click on \"),_c('strong',[_vm._v(\"Advanced system settings\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/windows_PATH.png\"),\"width\":\"560\"}})])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Click on \"),_c('strong',[_vm._v(\"Environment Variables\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/windows_env_var.png\"),\"width\":\"560\"}})])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Double Click on \"),_c('strong',[_vm._v(\"System variables > Path\")]),_vm._v(\". Put \"),_c('code',{staticClass:\"highlighter-rouge\"},[_vm._v(\";C:\\\\MinGW\\\\bin\\\\\")]),_vm._v(\" into the \"),_c('strong',[_vm._v(\"Variable value\")]),_vm._v(\". \"),_c('code',{staticClass:\"highlighter-rouge\"},[_vm._v(\";\")]),_vm._v(\" is the seperator.\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/windows_edit_var.png\"),\"width\":\"560\"}})])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('strong',[_vm._v(\"C Compiler\")]),_vm._v(\" that you just installed allows you to \"),_c('em',[_vm._v(\"compile\")]),_vm._v(\" and \"),_c('em',[_vm._v(\"run\")]),_vm._v(\" C\\n code. You will also need a \"),_c('strong',[_vm._v(\"text editor\")]),_vm._v(\", where you will \"),_c('em',[_vm._v(\"write\")]),_vm._v(\" C code.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"There are many editors out there, each with its own set of features. We find\\n that \"),_c('a',{attrs:{\"href\":\"https://atom.io/\"}},[_vm._v(\"Atom\")]),_vm._v(\" and \"),_c('a',{attrs:{\"href\":\"http://www.sublimetext.com/3\"}},[_vm._v(\"Sublime Text 3\")]),_vm._v(\" are popular choices among students,\\n but you are free to use other text editors.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_c('strong',[_vm._v(\"Note\")]),_vm._v(\": Please, please, \"),_c('em',[_vm._v(\"please\")]),_vm._v(\" do not use word processors such as\\n Microsoft Word to edit programs.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://cs61a.org/articles/atom.html\",\"target\":\"_blank\"}},[_vm._v(\"Atom\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://cs61a.org/articles/sublime.html\",\"target\":\"_blank\"}},[_vm._v(\"Sublime Text 3\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://cs61a.org/articles/emacs.html\",\"target\":\"_blank\"}},[_vm._v(\"Emacs\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://cs61a.org/articles/vim.html\",\"target\":\"_blank\"}},[_vm._v(\"Vim\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/terminal.png\"),\"alt\":\"starting the terminal\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"When you first open your terminal, you will start in the home directory. The\\n \"),_c('strong',[_vm._v(\"home directory\")]),_vm._v(\" is represented by the \"),_c('code',[_vm._v(\"~\")]),_vm._v(\" symbol.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_vm._v(\"Don't worry if your terminal window doesn't look exactly the same; the\\n important part is that the text on the left-hand side of the \"),_c('code',[_vm._v(\"$\")]),_vm._v(\" has a\\n \"),_c('code',[_vm._v(\"~\")]),_vm._v(\" (tilde). That text might also have the name of your computer.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The first command you'll use is \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\". Try typing it in the terminal:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\" command \"),_c('strong',[_vm._v(\"l\")]),_vm._v(\"i\"),_c('strong',[_vm._v(\"s\")]),_vm._v(\"ts all the files and folders in the current\\n directory. A \"),_c('strong',[_vm._v(\"directory\")]),_vm._v(\" is another name for a folder (such as the\\n \"),_c('code',[_vm._v(\"Documents\")]),_vm._v(\" folder). Since you're in the home directory right now, you\\n should see the contents of your home directory.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"To move into another directory, use the \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" command. Let's try moving into your\\n Desktop directory. First, make sure you're in your home directory (check for the\\n \"),_c('code',[_vm._v(\"~\")]),_vm._v(\" on your command line) and use \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\" to see if the \"),_c('code',[_vm._v(\"Desktop\")]),_vm._v(\" directory is present.\\n Try typing the following command into your terminal, which should move you into\\n that directory:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"cd ..\")]),_vm._v(\" (two dots). The \"),_c('code',[_vm._v(\"..\")]),_vm._v(\" means \\\"the parent directory\\\". In\\n this case, the parent directory of \"),_c('code',[_vm._v(\"cs9c\")]),_vm._v(\" is your home\\n directory, so you can use \"),_c('code',[_vm._v(\"cd ..\")]),_vm._v(\" to go up one directory.\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"cd ~\")]),_vm._v(\" (the tilde). Remember that \"),_c('code',[_vm._v(\"~\")]),_vm._v(\" means home directory, so\\n this command will always change to your home directory.\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"cd\")]),_vm._v(\" (\"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" on its own). Typing just \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" is a shortcut for typing \"),_c('code',[_vm._v(\"cd ~\")]),_vm._v(\".\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_vm._v(\"You do not have to keep your files on your Desktop if you prefer otherwise.\\n Where you keep your files locally will not affect your projects. Do whatever is\\n easiest and most convenient for you!\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The next command is called \"),_c('code',[_vm._v(\"mkdir\")]),_vm._v(\", which \"),_c('strong',[_vm._v(\"m\")]),_vm._v(\"a\"),_c('strong',[_vm._v(\"k\")]),_vm._v(\"es new\\n \"),_c('strong',[_vm._v(\"dir\")]),_vm._v(\"ectories. Let's make a directory called \"),_c('code',[_vm._v(\"cs9c\")]),_vm._v(\" on your Desktop to store\\n all of the assignments for this class:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"A folder named \"),_c('code',[_vm._v(\"cs9c\")]),_vm._v(\" will appear on your Desktop. You can verify this by\\n using the \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\" command again or by simply checking your Desktop.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"At this point, let's create some more directories. First, make sure you are in\\n the \"),_c('code',[_vm._v(\"~/Desktop/cs9c\")]),_vm._v(\" directory. Then, create a folder called \"),_c('code',[_vm._v(\"projects\")]),_vm._v(\"\\n inside of your \"),_c('code',[_vm._v(\"cs9c\")]),_vm._v(\" folder:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Now if you list the contents of the directory (using \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\"), you'll see the\\n folder you just created, \"),_c('code',[_vm._v(\"projects\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/terminal_commands.png\"),\"alt\":\"cs9c directory\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you haven't already, download the zip archive, \"),_c('code',[_vm._v(\"proj0.zip\")]),_vm._v(\", which\\n contains all the files that you'll need for this project. Once you've done that, let's\\n find the downloaded file. On most computers, \"),_c('code',[_vm._v(\"proj0.zip\")]),_vm._v(\" is probably located in a\\n directory called \"),_c('code',[_vm._v(\"Downloads\")]),_vm._v(\" in your home directory. Use the \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\" command to\\n check:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you don't see \"),_c('code',[_vm._v(\"proj0.zip\")]),_vm._v(\", ask a tutor for help.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Using a terminal, you can unzip the zip file from the command line.\\n First, \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" into the directory that contains the zip file:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Now, run the \"),_c('code',[_vm._v(\"unzip\")]),_vm._v(\" command with the name of the zip file:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Once you unzip \"),_c('code',[_vm._v(\"proj0.zip\")]),_vm._v(\", you'll have a new folder called \"),_c('code',[_vm._v(\"proj0\")]),_vm._v(\" which\\n contains the following files (check it out with \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\"):\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"hello.c\")]),_vm._v(\": A sample C hello world program for you to learn how to run it\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"eccentric.c\")]),_vm._v(\": The template file you'll be adding your code to\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('code',[_vm._v(\"mv\")]),_vm._v(\" command will \"),_c('strong',[_vm._v(\"m\")]),_vm._v(\"o\"),_c('strong',[_vm._v(\"v\")]),_vm._v(\"e the \"),_c('code',[_vm._v(\"~/Downloads/proj0\")]),_vm._v(\" folder\\n into the \"),_c('code',[_vm._v(\"~/Desktop/cs9c/projects\")]),_vm._v(\" folder.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Now, go to the \"),_c('code',[_vm._v(\"proj0\")]),_vm._v(\" folder that you just moved. Try using \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" to navigate\\n your own way! If you get stuck, you can use the following command:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"ls\")]),_vm._v(\": \"),_c('strong',[_vm._v(\"l\")]),_vm._v(\"i\"),_c('strong',[_vm._v(\"s\")]),_vm._v(\"ts all files in the current directory\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"cd \")]),_vm._v(\": \"),_c('strong',[_vm._v(\"c\")]),_vm._v(\"hange into the specified \"),_c('strong',[_vm._v(\"d\")]),_vm._v(\"irectory\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"mkdir \")]),_vm._v(\": \"),_c('strong',[_vm._v(\"m\")]),_vm._v(\"a\"),_c('strong',[_vm._v(\"k\")]),_vm._v(\"e a new \"),_c('strong',[_vm._v(\"dir\")]),_vm._v(\"ectory with the given name\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"mv \")]),_vm._v(\": \"),_c('strong',[_vm._v(\"m\")]),_vm._v(\"o\"),_c('strong',[_vm._v(\"v\")]),_vm._v(\"e the file at the given source to the\\n given destination\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n This compiles \"),_c('code',[_vm._v(\"hello.c\")]),_vm._v(\" into an executable file named \"),_c('code',[_vm._v(\"a.out\")]),_vm._v(\".\\n If you've taken CS61B or have experience with Java, you can kinda think of \"),_c('code',[_vm._v(\"gcc\")]),_vm._v(\" as the\\n C equivalent of \"),_c('code',[_vm._v(\"javac\")]),_vm._v(\". This file can be run with the following command:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n The executable file is \"),_c('code',[_vm._v(\"a.out\")]),_vm._v(\", so what is the \"),_c('code',[_vm._v(\"./\")]),_vm._v(\"? Answer: when you want to execute an\\n executable, you need to prepend a filepath in order to distinguish your command from\\n a command like python3. The dot refers to the \\\"current directory.\\\" Incidentally, double\\n dots (\"),_c('code',[_vm._v(\"..\")]),_vm._v(\") would refer to the directory one level up.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n gcc has various command line options which you are encouraged to explore. In this assignment,\\n however, we will only be using \"),_c('code',[_vm._v(\"-o\")]),_vm._v(\", which is used to specify the name of the executable file that gcc creates,\\n \"),_c('code',[_vm._v(\"-Wall\")]),_vm._v(\", which means \\\"give all relevant warnings\\\", and \"),_c('code',[_vm._v(\"-g\")]),_vm._v(\", which storing information in the executable file for use by the debugger\\n Using the following command, you would use the following commands to compile \"),_c('code',[_vm._v(\"hello.c\")]),_vm._v(\" into a program named hello, and then\\n run it. This is helpful if you don't want all of your executable files to be named \"),_c('code',[_vm._v(\"a.out\")]),_vm._v(\".\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Now, look at the code contained in \"),_c('code',[_vm._v(\"eccentric.c\")]),_vm._v(\". Notice the four different examples\\n of basic C control flow. (What are they?)\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n First compile and run the program to see what it does. Play around with the constant values of the\\n four macros: \"),_c('code',[_vm._v(\"V0\")]),_vm._v(\" through \"),_c('code',[_vm._v(\"V3\")]),_vm._v(\". See how changing each of them changes the\\n program output.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n There are actually several different combinations of macros that can give this output. Here's\\n the challenge for you in this exercise: consider what the minimum number of distinct values\\n that \"),_c('code',[_vm._v(\"V0\")]),_vm._v(\" through \"),_c('code',[_vm._v(\"V3\")]),_vm._v(\" can have such that they still give this exact output. For example, the\\n theoretical maximum is four, when they are all distinct from each other.\\n \")])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-9b26d35c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/c/Setup.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Setup.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Setup.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-9b26d35c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Setup.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/Setup.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 4: Class Design\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'A Computer Science Tapestry, sections 9.4 (operator overloading), 11.2, 11.3, and 12.3 (templates), chapter 13 (inheritance), and appendix E (operator overloading)'\n },\n {\n title: 'C++ Program Design, sections 9.3 through 9.5 (operator overloading), 10.6 (iterators), 12.9 (operator overloading), and chapters 13 (inheritance) and 14 (templates and polymorphism) except for material on multiple inheritance'\n },\n {\n title: 'Computing Fundamentals with C++, section 11.2 (iterators) and chapters 16 (inheritance), 17 (templates), and 18 (operator overloading). Chapter 16 does not provide all the information about inheritance that you\\'ll need to know in this quiz'\n }\n ]}},[_c('p',[_c('b',[_vm._v(\"*Note\")]),_vm._v(\": It is important to understand the difference between using a friend\\n function and using a member. If you are still unclear about their uses and syntactic\\n differences, \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"http://www.cplusplus.com/doc/tutorial/inheritance/\"}},[_vm._v(\"\\n This page might help\")]),_vm._v(\".\\n \")])]),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Explain why the >> stream extraction operator must be overloaded as a friend\\n function rather than a member function of the class whose value is extracted.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n The left hand side of any infix operator overloaded as a member function of some\\n class C must be an object of type C. Thus, for >> to be overloaded as a\\n member function so that the expression \"),_c('code',[_vm._v(\"cin >> x\")]),_vm._v(\" is legal,\\n it has to be overloaded as a member function of \"),_c('code',[_vm._v(\"cin\")]),_vm._v(\"'s class, namely\\n \"),_c('code',[_vm._v(\"istream\")]),_vm._v(\". (The expression\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_c('i',[_vm._v(\"object-of-class-C >> operand\")])])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n is translated to\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_c('i',[_vm._v(\"object-of-class-C\")]),_vm._v(\" . operator>> (\"),_c('i',[_vm._v(\"operand\")]),_vm._v(\")\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"as a result.)\")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"The assignment operator in the \"),_c('code',[_vm._v(\"vector\")]),_vm._v(\" class is overloaded as follows.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"const vector &operator= (const vector &);\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n This is typically done to enable concatenated vector assignments such as\\n \"),_c('code',[_vm._v(\"x = y = z\")]),_vm._v(\".\\n Consider the use of the following declarations to overload the assignment operator:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"const vectoroperator= (const vector);\\nconst vector&operator= (const vector);\\nconst vectoroperator= (const vector&);\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Do they work? If so, briefly explain; if not, describe the error messages produced\\n by the other two for the code\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"vector a, b, c;\\n ...\\n a = b = c;\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"The expression \"),_c('code',[_vm._v(\"a = b = c\")]),_vm._v(\" is translated to\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"a.operator= (b.operator= (c))\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Consider each of the possibilities in turn. With\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"const vectoroperator= (const vector);\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n the argument to \"),_c('tt',[_vm._v(\"operator=\")]),_vm._v(\" and its return value both involve copying the vector, which is slow but legal. With\\n \")],1),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"const vector&operator= (const vector);\")])]),_vm._v(\" \"),_c('p',[_c('code',[_vm._v(\"b = c\")]),_vm._v(\" returns a reference to an object, and this object is passed by\\n value (i.e. copied) for the assignment to \"),_c('code',[_vm._v(\"a\")]),_vm._v(\". Again, this is slower than necessary, but legal. Finally, consider\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"const vector operator= (const vector&);\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The value of the assignment \"),_c('tt',[_vm._v(\"b = c\")]),_vm._v(\" is a temporary copy of something, which is then passed by reference in the assignment to \"),_c('tt',[_vm._v(\"a\")]),_vm._v(\".\\n This is suspicious, since one usually can't create a reference to a temporary object.\\n However, it is allowed if the argument is a reference to a \"),_c('tt',[_vm._v(\"const\")]),_vm._v(\" object; without the \"),_c('tt',[_vm._v(\"const\")]),_vm._v(\", a type mismatch error is generated by the compiler.\\n \")],1)])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Given below is a function to sort a vector.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"void Sort (vector &values) {\\n for (int k=1; k=0 && temp\\nvoid Collection::Sort ( ) {\\n for (int k=1; k=0 && temp vectorOfShapes(N);\\nfor (int k = 0; k < N; k++) {\\n vectorOfShapes[k]->PrintShapeName();\\n cout << \\\": area = \\\" << vectorOfShapes[k]->Area ();\\n cout << endl;\\n}\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Suppose that all the derived classes include declarations of \"),_c('code',[_vm._v(\"Area\")]),_vm._v(\" and\\n \"),_c('code',[_vm._v(\"PrintShapeName\")]),_vm._v(\" functions. What would be the effect on this code of\\n removing the declaration of \"),_c('code',[_vm._v(\"PrintShapeName\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"Area\")]),_vm._v(\" from\\n the class \"),_c('code',[_vm._v(\"Shape\")]),_vm._v(\" declaration? What would be the effect of removing the\\n keyword \"),_c('code',[_vm._v(\"virtual\")]),_vm._v(\" from the declaration of \"),_c('code',[_vm._v(\"PrintShapeName\")]),_vm._v(\"\\n or \"),_c('code',[_vm._v(\"Area\")]),_vm._v(\" in the class \"),_c('code',[_vm._v(\"Shape\")]),_vm._v(\" declaration?\\n \")])])])]),_vm._v(\" \"),_c('QuizSolution',[_c('ol',{attrs:{\"type\":\"a\"}},[_c('li',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"protected:\\n int myFill;\")])])]),_vm._v(\" \"),_c('li',[_c('p',[_c('code',[_vm._v(\"Area\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"Volume\")]),_vm._v(\" have definitions that derived\\n classes inherit and thus need not provide. \"),_c('code',[_vm._v(\"PrintShapeName\")]),_vm._v(\"\\n is a pure virtual function, so derived classes must supply their own\\n \"),_c('code',[_vm._v(\"PrintShapeName\")]),_vm._v(\" definition.\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n Even though the derived classes supply their own \"),_c('code',[_vm._v(\"Area\")]),_vm._v(\" and\\n \"),_c('code',[_vm._v(\"PrintShapeName\")]),_vm._v(\" functions, those functions must still be\\n declared in class \"),_c('code',[_vm._v(\"Shape\")]),_vm._v(\" since the code in the loop thinks\\n it's dealing only with \"),_c('code',[_vm._v(\"Shape\")]),_vm._v(\" objects. Removing the keyword\\n \"),_c('code',[_vm._v(\"virtual\")]),_vm._v(\" from the \"),_c('tt',[_vm._v(\"Area\")]),_vm._v(\" declaration causes the default\\n \"),_c('code',[_vm._v(\"Area\")]),_vm._v(\" function—the one that always returns 0—to\\n be used for all the derived classes, again since the loop code thinks\\n it's dealing only with \"),_c('code',[_vm._v(\"Shape\")]),_vm._v(\" objects. Removing \"),_c('code',[_vm._v(\"virtual\")]),_vm._v(\"\\n from the \"),_c('code',[_vm._v(\"PrintShapeName\")]),_vm._v(\" declaration produces a syntax error.\\n \")],1)])])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"\\n This quiz tests you on a variety of aspects of class design. Examples of questions\\n you may be asked include the following:\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"complete the definition of a class or class template;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"distinguish the various kinds of inheritance;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"justify the need for a friend function or class, an overloaded operator, or a reference-valued function; or\")]),_vm._v(\" \"),_c('li',[_vm._v(\"predict the behavior of code that uses inheritance.\")])]),_vm._v(\" \"),_c('p')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Sample Exercises\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Exercises in section 9.4 of \"),_c('cite',[_vm._v(\"A Computer Science Tapestry\")]),_vm._v(\", exercises 9.2, 9.7, 9.8,\\n and 9.9 at the end of chapter 9, exercises in sections 11.2, 11.3, and 12.3, and all exercises\\n in chapter 13 will be useful.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Exercises 9.26, 9.27, 9.29, 9.32, 9.33, 10.44, 10.46 through 10.53, 12.45, 12.49, 12.50,\\n and all exercises in chapters 13 and 14 of \"),_c('cite',[_vm._v(\"C++ Program Design\")]),_vm._v(\" will be useful.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n All exercises in chapters 17 and 18 of \"),_c('cite',[_vm._v(\"Computing Fundamentals with C++\")]),_vm._v(\",\\n including programming projects, will be useful.\\n \")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0d53fe85\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/cpp/ClassDesign.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0d53fe85\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./ClassDesign.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/cpp/ClassDesign.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/java/CatAndMouseGui.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Example command-line interaction\")]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(4)])]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_vm._m(7)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/cat-and-mouse.png\"),\"width\":\"560\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1. The Cat and Mouse problem for which you'll write a GUI\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"At this point you are proud authors of a delightful cat and mouse simulation.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Your Task\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n You are asked to author a graphical user interface (GUI) for the \"),_c('b',[_vm._v(\"Cat and Mouse simulation you\\n wrote for project 3\")]),_vm._v(\". Since you are not required to know about \"),_c('dfn',[_vm._v(\"threads\")]),_vm._v(\" in CS9G,\\n your GUI will probably not respond while the simulation is running -- this is perfectly acceptable.\\n However, to indicate to the user that the GUI won't be listening, all of the buttons should be\\n disabled until the simulation stops. If you'd like to learn how make your GUI respond to clicks\\n \"),_c('em',[_vm._v(\"while\")]),_vm._v(\" the simulation is running, read chapter 15 that covers threads.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The interface will support the following buttons to control the simulation. Again, these buttons\\n will probably only be responsive if the simulation is stopped, and that's fine.\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('strong',[_vm._v(\"reset\")]),_vm._v(\" - Clicking this resets all variables (\"),_c('code',[_vm._v(\"catRadius\")]),_vm._v(\", \"),_c('code',[_vm._v(\"catAngle\")]),_vm._v(\",\\n and \"),_c('code',[_vm._v(\"mouseAngle\")]),_vm._v(\") to the original values and resets the \\\"time\\\" to 0.\\n \")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"step\")]),_vm._v(\" - Clicking this advances time one step (one minute in this case) in the\\n simulation. This is enabled until the simulation is finished, at which point it should be\\n disabled.\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"run\")]),_vm._v(\" - Clicking this runs the simulation from its current 'time' to completion\\n (the mouse is caught or 30 \\\"minutes\\\" have elapsed). The GUI does not quit after it's done simulating,\\n because the user may wish to 'reset' and see it again. After a simulation has finished, only the\\n reset and quit buttons should be enabled.\\n \")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"quit\")]),_vm._v(\" - Clicking this quits the simulation.\\n \")])]),_vm._v(\" \"),_c('p',[_vm._v(\"and the following other GUI elements:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"\\n A time label (how many steps [minutes, in this case] are we in the simulation) that reads:\\n \"),_c('strong',[_vm._v(\"Time\")]),_vm._v(\": \"),_c('em',[_vm._v(\"\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n A drawing panel which will contain the graphical representation of the simulation with:\\n \"),_c('ul',[_c('li',[_vm._v(\"\\n A representation of the statue\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n A representation of the cat and mouse via graphic objects. You have full creative control\\n over what these graphic objects look like (you could draw an actual cat and mouse, if you\\n wish, or Pac-man arcs, or ...). However, the graphic you choose to represent your cat and\\n mouse must have two properties (notice the arrowheads we use below have these):\\n \"),_c('ul',[_c('li',[_vm._v(\"\\n It must be evident which direction it is facing\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n It must be evident what the (x,y) point is that you're simulating (it's the tip of our arrowheads).\\n \")])])])])])]),_vm._v(\" \"),_c('p',[_vm._v(\"Furthermore, the simulation should support two additional command-line options (in addition to the\\n three you supported for the original project):\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('strong',[_vm._v(\"pixelsPerMeter\")]),_vm._v(\" - This determines what the scale of your simulation is (the radius\\n of the statue is 1 meter, for reference). Given this and the \"),_c('code',[_vm._v(\"catRadius\")]),_vm._v(\", you should\\n create a drawing panel that fits all of your elements comfortably on the screen at time = 0.\\n \")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"millisecondsPerSimStep\")]),_vm._v(\" - This determines how many milliseconds of actual time pass\\n between simulation time steps, which are \\\"minutes\\\" here.\\n \")])]),_vm._v(\" \"),_c('p',[_vm._v(\"The text output of the program should be roughly the same as in project 3, so you have a transcript\\n of the simulation output.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Example GUI\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/cat-and-mouse-gui.png\"),\"alt\":\"Cat and Mouse figure\",\"width\":\"329\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 2. Example Cat and Mouse GUI simulation. The yellow cat is chasing the blue mouse,\\n and there is an added feature to this simulation -- a line from the cat's point to the mouse's point\\n (the tips of the arrowheads). When this line intersects the statue, it means the cat cannot see the\\n mouse. The simulation has simply been stepped forward one minute, and is \\\"stopped\\\".\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Example Cat and Mouse GUI command-line launch. On the second invocation, the user simply clicked the\\n \"),_c('strong',[_vm._v(\"run\")]),_vm._v(\" button, then the \"),_c('strong',[_vm._v(\"quit\")]),_vm._v(\" button.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"$ \"),_c('b',[_vm._v(\"java CatMouseSimulationGUI\")]),_vm._v(\"\\nUsage: java CatMouseSimulationGUI \\n$ \"),_c('b',[_vm._v(\"java CatMouseSimulationGUI 100 1000 3 0 0\")]),_vm._v(\"\\nWelcome to the CS9G cat and mouse GUI simulation!\\nTIME STATUS MOUSE CAT\\n0 init (1.0,0.00) (3.0,0.00)\\n1 running (1.0,1.00) (2.0,0.00)\\n2 running (1.0,2.00) (1.0,0.00)\\n3 eaten (1.0,2.00) (1.0,1.25)\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Suggested approach\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"\\n Copy your project 3 code to a new directory so you don't touch your working project 3 code.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Take a look at the your classes from project 3 and decide what features you need to add to your\\n \"),_c('code',[_vm._v(\"Cat\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"Mouse\")]),_vm._v(\" classes.\\n \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Extra for Experts (Optional)\")]),_vm._v(\" \"),_c('p',[_vm._v(\"We've opened Pandora's box by providing a really nice \\\"Artificial Life\\\" simulation environment. Here are some things you could do to have some fun:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Rather than have the simulation step through your animation as it currently does: simulation-step (long pause) simulation step (long pause) etc, why not have the GUI smoothly animate the cat and mouse \"),_c('em',[_vm._v(\"between\")]),_vm._v(\" simulation steps? The cat could become bold (or change color in some way) to indicate it hat hit a simulation timestep and was deciding what to do.\")]),_c('li',[_vm._v(\"Add a slider that lets you \\\"scrub\\\" forward and backward in time.\\n\\n \")]),_c('li',[_vm._v(\"Learn about threads and add a 'stop' button that will stop the simulation when it's running.\\n \")]),_c('li',[_vm._v(\"...and the three from the original Cat and Mouse project:\\n \"),_c('ul',[_c('li',[_vm._v(\"Add a \"),_c('code',[_vm._v(\"Dog\")]),_vm._v(\" class which chases the \"),_c('code',[_vm._v(\"Cat\")]),_vm._v(\" (and a \"),_c('code',[_vm._v(\"Bear\")]),_vm._v(\" that chases the \"),_c('code',[_vm._v(\"Dog\")]),_vm._v(\", and a \"),_c('code',[_vm._v(\"Hunter\")]),_vm._v(\" who chases the \"),_c('code',[_vm._v(\"Bear\")]),_vm._v(\", etc.) all with different movement rules\\n \")]),_c('li',[_vm._v(\"Add multiple mice (and multiple statues) and have the Cat chase whichever it sees and is closer to\\n \")]),_c('li',[_vm._v(\"See what happens if the cat moves continuously rather than making discrete steps every minute. The instant the mouse peeks in from around the statue, the cat should switch from rotating to moving inwards.\\n \")])])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correctly working code\\n \")]),_c('li',[_vm._v(\"Sufficient testing, with output sufficient to verify test correctness:\\n \"),_c('ul',[_c('li',[_vm._v(\"tests on specified values for cat and mouse positions;\\n \")]),_c('li',[_vm._v(\"evidence of independent tests of all methods you authored in each class\\n \")]),_c('li',[_vm._v(\"tests sufficient to exercise all statements in the program.\\n \")])])]),_c('li',[_vm._v(\"Good style\\n \"),_c('ul',[_c('li',[_vm._v(\"appropriate use of indenting and white space;\\n \")]),_c('li',[_vm._v(\"variable and method names that reflect their use;\\n \")]),_c('li',[_vm._v(\"informative comments at the head of each method;\\n \")])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-369d2d02\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/java/CatAndMouseGui.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CatAndMouseGui.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CatAndMouseGui.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-369d2d02\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CatAndMouseGui.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/java/CatAndMouseGui.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/windows_PATH.1459fc4.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/images/windows_PATH.png\n// module id = WeYq\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/47b/MinimumSpanningTree.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('p',[_vm._v(\"Here is pseudocode for an algorithm (known as Prim's algorithm) for\\n constructing a minimum spanning tree.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(6)]),_vm._v(\" \"),_c('p',[_vm._v(\"An example run follows, using the graph below. Vertex numbers appear in\\n the circles; edge weights appear next to the edges. We arbitrarily start\\n with the top vertex. The dark edges indicate the tree that gets\\n constructed.\")]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8)]),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_vm._m(10)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Readings\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('cite',[_vm._v(\"Data Structures and Problem Solving using Java (4th Edition)\")]),_vm._v(\" Sections 14.1 - 14.3, 14.5*\")])]),_vm._v(\" \"),_c('p',[_c('sub',[_vm._v(\"(The shortest path and topological sorting algorithms are not\\n directly relevant to this assignment, but they serve as useful examples of\\n graph processing and their auxiliary data structures are similar to those\\n you will use for your own implementation.)\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"There is no starter code for this project.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Goals\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This programming assignment will give you practice working with graphs\\n with edge weights, implementing one of the standard algorithms for\\n graphs.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"A \"),_c('dfn',[_vm._v(\"spanning tree\")]),_vm._v(\" for an undirected graph \"),_c('var',[_vm._v(\"G\")]),_vm._v(\" is a\\n tree formed by edges in \"),_c('var',[_vm._v(\"G\")]),_vm._v(\" that together connect all of\\n \"),_c('var',[_vm._v(\"G\")]),_vm._v(\"'s vertices. Examples appear below. A typical graph has many\\n spanning trees.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',{staticStyle:{\"text-align\":\"center\"}},[_c('figure',{staticStyle:{\"display\":\"inline-block\",\"margin\":\"0 15px\"}},[_c('img',{attrs:{\"src\":require(\"./images/graph.gif\")}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1a. An example graph.\")])]),_vm._v(\" \"),_c('figure',{staticStyle:{\"display\":\"inline-block\",\"margin\":\"0 15px\"}},[_c('img',{attrs:{\"src\":require(\"./images/spanning-trees.gif\")}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1b. Some spanning trees for the graph in Figure 1a.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Many graph applications involve \"),_c('dfn',[_vm._v(\"weights\")]),_vm._v(\" or \"),_c('dfn',[_vm._v(\"costs\")]),_vm._v(\"\\n on the edges. For example, vertices might represent cities, with an edge\\n connecting two cities having weight equal to the distance or driving time\\n between the cities. For such graphs, we may consider a \"),_c('dfn',[_vm._v(\"minimum\\n spanning tree\")]),_vm._v(\", namely the spanning tree in which the sum of the edge\\n weights is as small as possible. (There may be more than one minimum\\n spanning tree, for example when the edge weights are all equal.)\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"java\"},[_vm._v(\"initialize the tree to some vertex of \"),_c('var',[_vm._v(\"G\")]),_vm._v(\";\\ninitialize the set \"),_c('var',[_vm._v(\"Q\")]),_vm._v(\" of vertices not yet in the tree to the vertices of \"),_c('var',[_vm._v(\"G\")]),_vm._v(\";\\nwhile \"),_c('var',[_vm._v(\"Q\")]),_vm._v(\" is not empty\\n pick the lightest edge that connects a vertex in the tree to a vertex \"),_c('var',[_vm._v(\"v\")]),_vm._v(\" in \"),_c('var',[_vm._v(\"Q\")]),_vm._v(\";\\n (note that there might be two or more such edges. If more, just pick one),\\n remove \"),_c('var',[_vm._v(\"v\")]),_vm._v(\" from \"),_c('var',[_vm._v(\"Q\")]),_vm._v(\", and add the edge and \"),_c('var',[_vm._v(\"v\")]),_vm._v(\" to the tree.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/prims-algorithm.gif\"),\"width\":\"200\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',{staticStyle:{\"overflow\":\"auto\"}},[_c('li',[_vm._v(\"Add vertex \"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"2\")]),_vm._v(\" and edge (\"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"1\")]),_vm._v(\",\"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"2\")]),_vm._v(\") to the tree.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Vertices \"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"3\")]),_vm._v(\" and \"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"4\")]),_vm._v(\" are candidates for adding to the tree. Arbitrarily choose \"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"3\")]),_vm._v(\", and add it and edge (\"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"2\")]),_vm._v(\",\"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"3\")]),_vm._v(\") to the tree.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Now \"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"4\")]),_vm._v(\" and \"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"6\")]),_vm._v(\" are candidates. Choose \"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"4\")]),_vm._v(\", and add it and edge (\"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"2\")]),_vm._v(\",\"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"4\")]),_vm._v(\") to the tree.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Add \"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"6\")]),_vm._v(\" and either edge (\"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"3\")]),_vm._v(\",\"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"6\")]),_vm._v(\") or (\"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"4\")]),_vm._v(\",\"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"6\")]),_vm._v(\")—we arbitrarily choose the latter—to the tree.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Add \"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"5\")]),_vm._v(\" and edge (\"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"6\")]),_vm._v(\",\"),_c('var',[_vm._v(\"v\")]),_c('sub',[_vm._v(\"5\")]),_vm._v(\") to the tree.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Exercise\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Implement Prim's algorithm. Your implementation should run in time\\n \"),_c('code',[_vm._v(\"O(e log n)\")]),_vm._v(\", where \"),_c('code',[_vm._v(\"n\")]),_vm._v(\" is the number of vertices and\\n \"),_c('code',[_vm._v(\"e\")]),_vm._v(\" the number of edges in the graph. Be prepared to verify its\\n running time for a tutor, with a defense of your choices for the graph\\n representation and auxiliary data structures. Provide six tests using the\\n graph just described, each with a different choice of starting vertex.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Code from the Weiss textbook is provided online, currently at \"),_c('a',{attrs:{\"href\":\"http://users.cs.fiu.edu/~weiss/dsj4/code/code.html\"}},[_vm._v(\"http://users.cs.fiu.edu/~weiss/dsj4/code/code.html\")]),_vm._v(\".\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"A correctly implemented version of Prim's algorithm whose worst-case running time is \"),_c('code',[_vm._v(\"O(e log n)\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Tests as specified, with printed output that verifies correct behavior.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Good program organization:\\n \"),_c('ul',[_c('li',[_vm._v(\"appropriate division into classes and methods;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no unnecessarily public data.\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Reasonable names for methods and parameters.\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-20d7b69c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/47b/MinimumSpanningTree.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MinimumSpanningTree.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./MinimumSpanningTree.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-20d7b69c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./MinimumSpanningTree.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/47b/MinimumSpanningTree.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/rule30_200.cd9ddb9.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/java/images/rule30_200.png\n// module id = XB3P\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 1: Expressions and Functions\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Think Python (2nd Edition) Chapter 1',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2002.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 2',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2003.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 3',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2004.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 5',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2006.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 6',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2007.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 7',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2008.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 8',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2009.html'\n },\n {\n title: 'Composing Programs 1.6',\n link: 'http://www.composingprograms.com/pages/16-higher-order-functions.html'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"What result (or error) would be yielded by each of the following Python expressions?\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"-2 ** 3 + 7\\n-3 % 5 - 8\\n'spam' * 3 + 'lovely spam'\\n'spam' + 3 + 'lovely spam'\\n'eggs' and '' and 5\\n0 or 4 and 2 or 7\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\">>> -2 ** 3 + 7\\n-1\\n>>> -3 % 5 - 8\\n-6\\n>>> 'spam' * 3 + 'lovely spam'\\n'spamspamspamlovely spam'\\n>>> 'spam' + 3 + 'lovely spam'\\nTypeError: cannot concatenate 'str' and 'int' objects\\n>>> 'eggs' and '' and 5\\n''\\n>>> 0 or 4 and 2 or 7\\n2\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Write \"),_c('b',[_vm._v(\"two versions\")]),_vm._v(\" of a Python function named \"),_c('code',[_vm._v(\"mystery\")]),_vm._v(\" that\\n has the following behaviour. In the first version, use a loop to construct the\\n result. In the second version, do not use any loops.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\">>> mystery(15, 'red')\\n'redredredredred'\\n>>> mystery(12, 'green')\\n'greengreengr'\\n>>> mystery(26, 'aquamarine')\\n'aquamarineaquamarineaquama'\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_c('b',[_vm._v(\"Option 1: with looping:\")])]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"def mystery(n, word):\\n result = ''\\n while len(result) < n:\\n result += word\\n return result[:n]\")])]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(\"Option 2: without looping:\")])]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"def mystery(n, word):\\n return (word*n)[:n]\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Find \"),_c('em',[_vm._v(\"all\")]),_vm._v(\" the bugs in this function. It is supposed to take a constant\\n and return a function which takes a number and scales (multiplies) the number by\\n the constant. Then show how to write it with a \"),_c('code',[_vm._v(\"lambda\")]),_vm._v(\", and use it to\\n make the function \"),_c('code',[_vm._v(\"double\")]),_vm._v(\" (which takes a single number and returns\\n double that number).\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"def make-scaler(c)\\n def scale(n)\\n return c * n\\n return('scale')\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_c('b',[_vm._v(\"Option 1: with errors removed (but indicated in comments)\")])]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"def make_scaler(c): # 2 errors: '-' not allowed in names & missing ':'\\n def scale(n): # 1 error : missing ':'\\n return c * n # 0 errors\\n return(scale) # 2 errors: the indent was not consistent & no quotes\")])]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(\"Option 2: with \"),_c('code',[_vm._v(\"lambda\")])])]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"def make_scaler(c):\\n return lambda n: c * n\")])]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(\"Creating \"),_c('code',[_vm._v(\"add1\")])])]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\">>> double = make_scaler(2)\\n>>> double(3)\\n6\")])])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"You learn the \\\"art\\\" of using Python not only by writing programs of your\\n own, but also by reading those of others. Quiz questions ask you to generate\\n code as well as understand, debug, and criticize already-written code. There\\n is a lot of reading for this first topic, so get started right away. It will\\n cover most of the Python syntax you will learn:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Interactive interpreter\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Expressions and statements\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Strings, string methods, slicing\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Defining functions\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Using imported modules\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1b1c92bb\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/python/ExpressionsAndFunctions.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1b1c92bb\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./ExpressionsAndFunctions.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/python/ExpressionsAndFunctions.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/windows_var.2eb15db.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/images/windows_var.png\n// module id = Z+2z\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 1: Fundamentals\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Practical C Programming (3rd Edition) Chapter 1',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-1'\n },\n {\n title: 'Practical C Programming (3rd Edition) Sections 2.1 - 2.3',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/2dot-basics-of-program-writing/pcp3-chp-2-sect-1'\n },\n {\n title: 'Practical C Programming (3rd Edition) Chapter 3',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-23-sect-6'\n },\n {\n title: 'Practical C Programming (3rd Edition) Chapter 4',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-4'\n },\n {\n title: 'Practical C Programming (3rd Edition) Chapter 5 (excluding Section 5.4)',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-5'\n },\n {\n title: 'Practical C Programming (3rd Edition) Chapter 6',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-6'\n },\n {\n title: 'Practical C Programming (3rd Edition) Chapter 8',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-8'\n },\n {\n title: 'Practical C Programming (3rd Edition) Appendix C',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/ivdot-other-language-features/pcp3-app-c'\n }\n ]}},[_c('p',[_c('b',[_vm._v(\"*Note:\")]),_vm._v(\" While the Practical C Programming authors discourage the use of scanf\\n (for some good reasons), it's still important to understand how it works: you will\\n still see it used in a lot of places, and it introduces you to the concept of pointers.\\n If you don't have the House book, the \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"http://en.wikipedia.org/wiki/Scanf_format_string\"}},[_vm._v(\"\\n scanf format string Wikipedia article\")]),_vm._v(\" is a good source of information, as well as\\n discussing the potential security problems with this function. \"),_c('u',[_vm._v(\"You \"),_c('i',[_vm._v(\"will\")]),_vm._v(\" be\\n required to understand scanf for the quiz and the final!\")]),_vm._v(\" If you still have questions\\n \"),_c('i',[_vm._v(\"after\")]),_vm._v(\" you have experimented with using this function, please come in to talk with\\n a C tutor.\\n \")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Suppose that an integer variable \"),_c('code',[_vm._v(\"n\")]),_vm._v(\" contains the value\\n 80. Fill in the blanks in the \"),_c('code',[_vm._v(\"printf\")]),_vm._v(\" statement below so\\n that it produces the output\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"80% usually\\nmeans \\\"excellent\\\"\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Fill in the \"),_c('code',[_vm._v(\"printf\")]),_vm._v(\" statement:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"printf(\\\"________\\\", n);\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"printf(\\\"80%% usually\\\\nmeans \\\\\\\"excellent\\\\\\\"\\\");\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Consider the program segment\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"int k;\\nk = getchar();\\nprintf(\\\"%d\\\", k);\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"What gets printed if the user types a 2, then hits return?\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"50. Beacause the ascii code for \\\"2\\\" (char) is 50.\")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"The following program is intended to compute 5! = 120, but it prints\\n 24 instead. What's wrong with it?\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"int main()\\n{\\n int theNum, total;\\n total = 1;\\n theNum = 5;\\n while (theNum > 1)\\n {\\n total *= --theNum;\\n }\\n printf(\\\"%d\\\", total);\\n\\n return 0;\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_c('code',[_vm._v(\"total *= --theNum;\")]),_vm._v(\" should be changed to \"),_c('code',[_vm._v(\"total *= theNum--;\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n In C, \"),_c('code',[_vm._v(\"a++\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"a--\")]),_vm._v(\" is postfix operation, meaning that the value\\n of \"),_c('code',[_vm._v(\"a\")]),_vm._v(\" will get changed after the evaluation of expression. \"),_c('code',[_vm._v(\"++a\")]),_vm._v(\"\\n or \"),_c('code',[_vm._v(\"--a\")]),_vm._v(\" is prefix operation, meaning that the value of \"),_c('code',[_vm._v(\"a\")]),_vm._v(\" will\\n get changed before the evaluation of expression.\\n \")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"What would be the effect of substituting \"),_c('code',[_vm._v(\"!(theNum = 1)\")]),_vm._v(\"\\n for the \"),_c('code',[_vm._v(\"while\")]),_vm._v(\" condition \"),_c('code',[_vm._v(\"theNum > 1\")]),_vm._v(\" in the\\n main program of exercise 3?\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"The program will print out \"),_c('code',[_vm._v(\"1\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('p',[_c('code',[_vm._v(\"theNum = 1\")]),_vm._v(\" is an assignment, rather that an equality check, and it will\\n be evaluated to the value being assigned, which is 1. Any non-zero\\n value is \"),_c('code',[_vm._v(\"true\")]),_vm._v(\" and therefore \"),_c('code',[_vm._v(\"!(theNum = 1)\")]),_vm._v(\" is always false.\\n \")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Fill in the blanks in the code below to convert the\\n \"),_c('code',[_vm._v(\"while\")]),_vm._v(\" loop in exercise 3 to an equivalent \"),_c('code',[_vm._v(\"for\")]),_vm._v(\"\\n loop.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"int main()\\n{\\n int theNum, total;\\n total = 1;\\n for ( _____ ; _____ ; _____ )\\n {\\n total *= theNum;\\n }\\n printf(\\\"%d\\\", total);\\n\\n return 0;\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"for (theNum = 5; theNum > 1; theNum--)\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Write down the values for all variables appearing in each\\n statement.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"int main()\\n{\\n int x, y, z;\\n float a, b;\\n x = 3; y = 5.3; z = 2; x ____ y ____ z ____\\n a = 2.5; b = 3.14; a ____ b ____\\n x += y + a * z - b; x ____ /*1*/\\n a = b / (x % y + z); a ____ /*2*/\\n z += (x == y); z ____\\n x == (a = b); x ____ /*3*/\\n\\n return 0;\\n}\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Where do you need parentheses to have \"),_c('code',[_vm._v(\"x\")]),_vm._v(\" assigned a\\n value of 14 in the statement labeled /*1*/? What then is the new value\\n of \"),_c('code',[_vm._v(\"a\")]),_vm._v(\" in the statement labeled /*2*/? What is the new value\\n of \"),_c('code',[_vm._v(\"x\")]),_vm._v(\" in the statement labeled /*3*/?\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"x = 3, y = 5, z = 2\\na = 2.5, b = 3.14\\nx = 9\\na = 0.523333\\nz = 2\\nx = 9\")])]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"/*1*/ x += (y + a) * z - b;\")])]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"/*2*/ a = 0.523333\")])]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"/*3*/ x = 14\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Predict the output of the following program. Hint: only three lines\\n get printed. (This is somewhat more complicated than any of the actual\\n quiz questions.)\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"int main()\\n{\\n char c;\\n for (c = 'a'; c < 'g'; ++c)\\n {\\n switch (c)\\n {\\n case 'a': c += 2;\\n case 'c': c += 1;\\n case 'g': ++c;\\n printf (\\\"%c\\\\n\\\" , c-- );\\n default: ++c;\\n }\\n printf(\\\"*** %c\\\\n\\\", c);\\n }\\n\\n return 0;\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"e\\n*** e\\n*** g\")])])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"\\n This quiz focuses on the aspects of the C language that are conceptually similar\\n to those in other procedural languages: variable declaration, expression evaluation,\\n flow-of-control constructs, and input/output. Three especially tricky aspects of\\n C covered on this quiz are the difference between = and ==, the difference between\\n \"),_c('code',[_vm._v(\"char\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"int\")]),_vm._v(\" values, and the representation of \\\"true\\\"\\n and \\\"false\\\".\\n \")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-c5297f8e\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/c/Fundamentals.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c5297f8e\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Fundamentals.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/c/Fundamentals.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/python/Setup.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('article',[_c('h2',{attrs:{\"id\":\"setup\"}},[_vm._v(\"Setup\")]),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"install-a-terminal\"}},[_vm._v(\"Install a terminal\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The terminal is a program that allows you to interact with your computer\\n by entering commands. No matter what operating system you use (Windows,\\n macOS, Linux), the terminal will be an essential tool for CS 9H.\")]),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"terminal-macos-linux\"}},[_vm._v(\"macOS/Linux\")]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"terminal-windows\"}},[_vm._v(\"Windows\")]),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"install-python-3\"}},[_vm._v(\"Install Python 3\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Python 3 is the primary programming language used in this course. Use the appropriate\\n download link and additional instructions below to install the Python 3 interpreter.\")]),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"python-macos\"}},[_vm._v(\"macOS\")]),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_c('p',[_vm._v(\"You may need to right-click the download icon and select \\\"Open\\\". After installing\\n please close and open your Terminal.\")]),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"python-windows\"}},[_vm._v(\"Windows\")]),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_c('p',[_vm._v(\"After installing please close and open your Terminal.\")]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"install-a-text-editor\"}},[_vm._v(\"Install a text editor\")]),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_c('p',[_vm._v(\"For your reference, we've also written some guides on using popular text\\n editors.\")]),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_c('p',[_vm._v(\"\\n In the future, when you start to build more complex projects, you may find IDEs, such as PyCharm, become\\n more useful. However, they are not recommended for this course.\\n \")]),_vm._v(\" \"),_c('h2',{attrs:{\"id\":\"using-the-terminal\"}},[_vm._v(\"Using the terminal\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Let's check if everything was installed properly! First, open a new terminal window,\\n if you haven't already.\")]),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_c('h4',{attrs:{\"id\":\"python-interpreter\"}},[_vm._v(\"Python Interpreter\")]),_vm._v(\" \"),_c('p',[_vm._v(\"We can use the terminal to check if your Python 3 interpreter was installed\\n correctly. Try thet following command:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"python3\")])]),_vm._v(\" \"),_vm._m(21),_vm._v(\" \"),_vm._m(22)]),_vm._v(\" \"),_c('article',[_c('h2',{attrs:{\"id\":\"organizing-your-files\"}},[_vm._v(\"Organizing your files\")]),_vm._v(\" \"),_c('p',[_vm._v(\"In this section, you will learn how to manage files using terminal commands.\")]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"directories\"}},[_vm._v(\"Directories\")]),_vm._v(\" \"),_vm._m(23),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"ls\")])]),_vm._v(\" \"),_vm._m(24),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"changing-directories\"}},[_vm._v(\"Changing directories\")]),_vm._v(\" \"),_vm._m(25),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"cd Desktop\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"If your desktop directory is not located within your home directory and you can't\\n find it, ask a tutor for help.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"There are a few ways to return to the home directory:\")]),_vm._v(\" \"),_vm._m(26),_vm._v(\" \"),_vm._m(27),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"making-new-directories\"}},[_vm._v(\"Making new directories\")]),_vm._v(\" \"),_vm._m(28),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"mkdir cs9h\")])]),_vm._v(\" \"),_vm._m(29),_vm._v(\" \"),_vm._m(30),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"cd ~/Desktop/cs9h\\nmkdir projects\")])]),_vm._v(\" \"),_vm._m(31),_vm._v(\" \"),_vm._m(32),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"downloading-the-assignment\"}},[_vm._v(\"Downloading the assignment\")]),_vm._v(\" \"),_vm._m(33),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"ls ~/Downloads\")])]),_vm._v(\" \"),_vm._m(34),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"extracting-starter-files\"}},[_vm._v(\"Extracting starter files\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You must expand the zip archive before you can work on the project files.\\n Different operating systems and different browsers have different ways of\\n unzipping. If you don't know how, you can search online.\")]),_vm._v(\" \"),_c('blockquote',[_vm._m(35),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"cd ~/Downloads\")])]),_vm._v(\" \"),_vm._m(36),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"unzip proj0.zip\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"You might also be able to unzip files without using the terminal by double\\n clicking them in your OS's file explorer.\")])]),_vm._v(\" \"),_vm._m(37),_vm._v(\" \"),_vm._m(38),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"moving-files\"}},[_vm._v(\"Moving files\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Move the project files to the project folder you created earlier:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"mv ~/Downloads/proj0 ~/Desktop/cs9h/projects\")])]),_vm._v(\" \"),_vm._m(39),_vm._v(\" \"),_vm._m(40),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"cd ~/Desktop/cs9h/projects/proj0\")])]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"summary\"}},[_vm._v(\"Summary\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Here is a summary of the commands we just went over for your reference:\")]),_vm._v(\" \"),_vm._m(41),_vm._v(\" \"),_c('p',[_vm._v(\"Finally, you're ready to start editing the project files! Don't worry if this seems\\n complicated -- it will get much easier over time. Just keep practicing!\")])]),_vm._v(\" \"),_c('article',[_c('h2',{attrs:{\"id\":\"doing-the-assignment\"}},[_vm._v(\"Doing the assignment\")]),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"understanding-the-question\"}},[_vm._v(\"Understanding the question\")]),_vm._v(\" \"),_vm._m(42),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"def twenty_eighteen():\\n \\\"\\\"\\\"Come up with the most creative expression that evaluates to 2018,\\n using only numbers and the +, *, and - operators.\\n\\n >>> twenty_eighteen()\\n 2018\\n \\\"\\\"\\\"\\n return ______\")])]),_vm._v(\" \"),_vm._m(43),_vm._v(\" \"),_vm._m(44),_vm._v(\" \"),_vm._m(45),_vm._v(\" \"),_vm._m(46),_vm._v(\" \"),_vm._m(47),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"writing-code\"}},[_vm._v(\"Writing code\")]),_vm._v(\" \"),_vm._m(48),_vm._v(\" \"),_vm._m(49),_vm._v(\" \"),_c('h3',{attrs:{\"id\":\"running-tests\"}},[_vm._v(\"Running tests\")]),_vm._v(\" \"),_vm._m(50),_vm._v(\" \"),_vm._m(51),_vm._v(\" \"),_vm._m(52),_vm._v(\" \"),_vm._m(53),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"python3 -m doctest setup.py\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n If all tests have passed, there should be no additional messages. Otherwise, it will show\\n something like this:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"1 items had failures:\\n 1 of 1 in proj0.twenty_eighteen\\n***Test Failed*** 1 failures.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"In the future, we will ask you to write doctests by yourself and test your programs before submitting them.\")]),_vm._v(\" \"),_c('h2',{attrs:{\"id\":\"appendix-useful-python-command-line-options\"}},[_vm._v(\"Appendix: Useful Python command line options\")]),_vm._v(\" \"),_vm._m(54),_vm._v(\" \"),_c('ul',[_c('li',[_c('p',[_vm._v(\"Using no command-line options will run the code in the file you\\n provide and return you to the command line.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"python3 setup.py\")])])]),_vm._v(\" \"),_c('li',[_vm._m(55),_vm._v(\" \"),_c('p',[_vm._v(\"If you edit the Python file while running it interactively, you will need to\\n exit and restart the interpreter in order for those changes to take effect.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"python3 -i setup.py\")])])]),_vm._v(\" \"),_c('li',[_vm._m(56),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"python3 -m doctest setup.py\")])])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Submission\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Nothing needs to be submitted for this project. However, it is strongly suggested\\n for you to complete this assignment.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains a single file\\n called \"),_c('code',[_vm._v(\"setup.py\")]),_vm._v(\".\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',{attrs:{\"id\":\"introduction\"}},[_vm._v(\"Introduction\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This project explains how to use your own computer to complete assignments for CS\\n 9H. If you are using a lab computer, most of the instructions are the same,\\n except you won't have to install anything.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"If you need any help at any time, you are welcomed to come in during our regular\\n office hour and ask any one of our tutors.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Register for an account\")]),_vm._v(\" \"),_c('blockquote',[_c('p',[_vm._v(\"These accounts allow you to use instructional machines in the CS department,\\n which can be useful if you do not have regular access to a computer. They are\\n \"),_c('strong',[_vm._v(\"not required if you do not plan on using the lab computers or printers\")]),_vm._v(\".\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Go to the \"),_c('a',{attrs:{\"href\":\"https://acropolis.cs.berkeley.edu/~account/webacct/\"}},[_vm._v(\"EECS account site\")]),_vm._v(\"\\n to register for an instructional account. Login using your Berkeley CalNet ID\\n and click the \"),_c('code',[_vm._v(\"Get a new account\")]),_vm._v(\" button in the row for CS 9H. Your username\\n will be of the form cs9h-xxx. Write down or download your account form so you\\n don't forget it!\")]),_vm._v(\" \"),_c('p',[_vm._v(\"If you decide to use your instructional account to complete your course work, then you can save\\n the effort of setting up a local environment on your own computer. You will still need to install\\n a terminal, but then you can use SSH to connect to your instructional account and use SFTP to\\n transfer files. However, we still recommend you to at least attempt all steps listed below to set\\n up your own environment so that you may use it in the future.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_vm._v(\"\\n In this class, we encourage you \"),_c('b',[_vm._v(\"NOT\")]),_vm._v(\" to use software like \"),_c('code',[_vm._v(\"Anaconda\")]),_vm._v(\" or\\n \"),_c('code',[_vm._v(\"Jupyter Notebook\")]),_vm._v(\", which will help you set up the environment. Instead,\\n please use a standard terminal and a text editor to complete all your work.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you're on a Mac or are using a form of Linux (such as Ubuntu), you already\\n have a program called \"),_c('code',[_vm._v(\"Terminal\")]),_vm._v(\" or something similar on your computer. Open\\n that up and you should be good to go.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"For Windows users, we recommend downloading a terminal called \"),_c('a',{attrs:{\"href\":\"http://git-scm.com/downloads\"}},[_vm._v(\"Git\\n Bash\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"You should be able to install Git Bash with most of the default configuration\\n options, with one exception. In the \"),_c('em',[_vm._v(\"Configuring the terminal emulator to use\\n with Git Bash\")]),_vm._v(\" step, select the second option: \"),_c('em',[_vm._v(\"Use Windows' default console\\n window\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('strong',[_vm._v(\"This is very important! If you do not select this option, your terminal will\\n not work!\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/setup_git_bash_options.png\"),\"alt\":\"Git Bash configuration options\",\"width\":\"600\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"table-responsive\"},[_c('table',{staticClass:\"table table-bordered\"},[_c('tbody',[_c('tr',[_c('th',[_vm._v(\"OS\")]),_vm._v(\" \"),_c('th',[_vm._v(\"Download\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"Windows\")]),_vm._v(\" \"),_c('td',[_c('a',{attrs:{\"href\":\"https://www.python.org/ftp/python/3.7.0/python-3.7.0.exe\"}},[_vm._v(\"Installer\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"macOS\")]),_vm._v(\" \"),_c('td',[_c('a',{attrs:{\"href\":\"https://www.python.org/ftp/python/3.7.0/python-3.7.0-macosx10.6.pkg\"}},[_vm._v(\"Installer\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"Ubuntu\")]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(\"sudo apt-get install python3\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"Other\")]),_vm._v(\" \"),_c('td',[_c('a',{attrs:{\"href\":\"https://www.python.org/downloads/release/python-362/\"}},[_vm._v(\"Python3 Download\")])])])])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n If the links above are not working for your computer, you may also visit the\\n \"),_c('a',{attrs:{\"href\":\"https://www.python.org/downloads/\"}},[_vm._v(\"official python website\")]),_vm._v(\" for downloading Python 3.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Refer to this \"),_c('a',{attrs:{\"href\":\"https://www.youtube.com/watch?v=smHuBHxJdK8\"}},[_vm._v(\"video\")]),_vm._v(\" for additional help on setting\\n up Python (the video features a slightly older version of Python 3, but the\\n steps are still the same).\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"When installing, make sure to check the \\\"Add Python 3.6 to PATH\\\"\\n box, which will allow you to execute the \"),_c('code',[_vm._v(\"python\")]),_vm._v(\" command from your terminal.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/setup_python-windows-install-path.png\"),\"alt\":\"Windows PATH at setup\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('strong',[_vm._v(\"Python interpreter\")]),_vm._v(\" that you just installed allows you to \"),_c('em',[_vm._v(\"run\")]),_vm._v(\" Python\\n code. You will also need a \"),_c('strong',[_vm._v(\"text editor\")]),_vm._v(\", where you will \"),_c('em',[_vm._v(\"write\")]),_vm._v(\" Python code.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"There are many editors out there, each with its own set of features. We find\\n that \"),_c('a',{attrs:{\"href\":\"https://atom.io/\"}},[_vm._v(\"Atom\")]),_vm._v(\" and \"),_c('a',{attrs:{\"href\":\"http://www.sublimetext.com/3\"}},[_vm._v(\"Sublime Text 3\")]),_vm._v(\" are popular choices among students,\\n but you are free to use other text editors.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_c('strong',[_vm._v(\"Note\")]),_vm._v(\": Please, please, \"),_c('em',[_vm._v(\"please\")]),_vm._v(\" do not use word processors such as\\n Microsoft Word to edit programs.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://cs61a.org/articles/atom.html\",\"target\":\"_blank\"}},[_vm._v(\"Atom\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://cs61a.org/articles/sublime.html\",\"target\":\"_blank\"}},[_vm._v(\"Sublime Text 3\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://cs61a.org/articles/emacs.html\",\"target\":\"_blank\"}},[_vm._v(\"Emacs\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://cs61a.org/articles/vim.html\",\"target\":\"_blank\"}},[_vm._v(\"Vim\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/setup_terminal.png\"),\"alt\":\"starting the terminal\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"When you first open your terminal, you will start in the home directory. The\\n \"),_c('strong',[_vm._v(\"home directory\")]),_vm._v(\" is represented by the \"),_c('code',[_vm._v(\"~\")]),_vm._v(\" symbol.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_vm._v(\"Don't worry if your terminal window doesn't look exactly the same; the\\n important part is that the text on the left-hand side of the \"),_c('code',[_vm._v(\"$\")]),_vm._v(\" has a\\n \"),_c('code',[_vm._v(\"~\")]),_vm._v(\" (tilde). That text might also have the name of your computer.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If the installation worked, you should see some text printed out about the\\n interpreter followed by \"),_c('code',[_vm._v(\">>>\")]),_vm._v(\" on its own line. This is where you can type in Python\\n code. Try typing some expressions you saw in lecture, or just play around to see\\n what happens! You can type \"),_c('code',[_vm._v(\"exit()\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"Ctrl-D\")]),_vm._v(\" to return to your command line.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_vm._v(\"If you are using Windows and the \"),_c('code',[_vm._v(\"python3\")]),_vm._v(\" command doesn't work, try using just\\n \"),_c('code',[_vm._v(\"python\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"py\")]),_vm._v(\". If neither of those work, make sure you set up your PATH correctly\\n as shown above. Ask for help if you get stuck!\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The first command you'll use is \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\". Try typing it in the terminal:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\" command \"),_c('strong',[_vm._v(\"l\")]),_vm._v(\"i\"),_c('strong',[_vm._v(\"s\")]),_vm._v(\"ts all the files and folders in the current\\n directory. A \"),_c('strong',[_vm._v(\"directory\")]),_vm._v(\" is another name for a folder (such as the\\n \"),_c('code',[_vm._v(\"Documents\")]),_vm._v(\" folder). Since you're in the home directory right now, you\\n should see the contents of your home directory.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"To move into another directory, use the \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" command. Let's try moving into your\\n Desktop directory. First, make sure you're in your home directory (check for the\\n \"),_c('code',[_vm._v(\"~\")]),_vm._v(\" on your command line) and use \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\" to see if the \"),_c('code',[_vm._v(\"Desktop\")]),_vm._v(\" directory is present.\\n Try typing the following command into your terminal, which should move you into\\n that directory:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"cd ..\")]),_vm._v(\" (two dots). The \"),_c('code',[_vm._v(\"..\")]),_vm._v(\" means \\\"the parent directory\\\". In\\n this case, the parent directory of \"),_c('code',[_vm._v(\"cs9h\")]),_vm._v(\" is your home\\n directory, so you can use \"),_c('code',[_vm._v(\"cd ..\")]),_vm._v(\" to go up one directory.\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"cd ~\")]),_vm._v(\" (the tilde). Remember that \"),_c('code',[_vm._v(\"~\")]),_vm._v(\" means home directory, so\\n this command will always change to your home directory.\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"cd\")]),_vm._v(\" (\"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" on its own). Typing just \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" is a shortcut for typing \"),_c('code',[_vm._v(\"cd ~\")]),_vm._v(\".\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_vm._v(\"You do not have to keep your files on your Desktop if you prefer otherwise.\\n Where you keep your files locally will not affect your projects. Do whatever is\\n easiest and most convenient for you!\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The next command is called \"),_c('code',[_vm._v(\"mkdir\")]),_vm._v(\", which \"),_c('strong',[_vm._v(\"m\")]),_vm._v(\"a\"),_c('strong',[_vm._v(\"k\")]),_vm._v(\"es new\\n \"),_c('strong',[_vm._v(\"dir\")]),_vm._v(\"ectories. Let's make a directory called \"),_c('code',[_vm._v(\"cs9h\")]),_vm._v(\" on your Desktop to store\\n all of the assignments for this class:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"A folder named \"),_c('code',[_vm._v(\"cs9h\")]),_vm._v(\" will appear on your Desktop. You can verify this by\\n using the \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\" command again or by simply checking your Desktop.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"At this point, let's create some more directories. First, make sure you are in\\n the \"),_c('code',[_vm._v(\"~/Desktop/cs9h\")]),_vm._v(\" directory. Then, create a folder called \"),_c('code',[_vm._v(\"projects\")]),_vm._v(\"\\n inside of your \"),_c('code',[_vm._v(\"cs9h\")]),_vm._v(\" folder:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Now if you list the contents of the directory (using \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\"), you'll see the\\n folder you just created, \"),_c('code',[_vm._v(\"projects\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/setup_terminal_commands.png\"),\"alt\":\"cs9h directory\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you haven't already, download the zip archive, \"),_c('code',[_vm._v(\"proj0.zip\")]),_vm._v(\", which\\n contains all the files that you'll need for this project. Once you've done that, let's\\n find the downloaded file. On most computers, \"),_c('code',[_vm._v(\"proj0.zip\")]),_vm._v(\" is probably located in a\\n directory called \"),_c('code',[_vm._v(\"Downloads\")]),_vm._v(\" in your home directory. Use the \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\" command to\\n check:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you don't see \"),_c('code',[_vm._v(\"proj0.zip\")]),_vm._v(\", ask a tutor for help.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Using a terminal, you can unzip the zip file from the command line.\\n First, \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" into the directory that contains the zip file:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Now, run the \"),_c('code',[_vm._v(\"unzip\")]),_vm._v(\" command with the name of the zip file:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Once you unzip \"),_c('code',[_vm._v(\"proj0.zip\")]),_vm._v(\", you'll have a new folder called \"),_c('code',[_vm._v(\"proj0\")]),_vm._v(\" which\\n contains the following files (check it out with \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\"):\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"setup.py\")]),_vm._v(\": The template file you'll be adding your code to\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('code',[_vm._v(\"mv\")]),_vm._v(\" command will \"),_c('strong',[_vm._v(\"m\")]),_vm._v(\"o\"),_c('strong',[_vm._v(\"v\")]),_vm._v(\"e the \"),_c('code',[_vm._v(\"~/Downloads/proj0\")]),_vm._v(\" folder\\n into the \"),_c('code',[_vm._v(\"~/Desktop/cs9h/projects\")]),_vm._v(\" folder.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Now, go to the \"),_c('code',[_vm._v(\"proj0\")]),_vm._v(\" folder that you just moved. Try using \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" to navigate\\n your own way! If you get stuck, you can use the following command:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"ls\")]),_vm._v(\": \"),_c('strong',[_vm._v(\"l\")]),_vm._v(\"i\"),_c('strong',[_vm._v(\"s\")]),_vm._v(\"ts all files in the current directory\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"cd \")]),_vm._v(\": \"),_c('strong',[_vm._v(\"c\")]),_vm._v(\"hange into the specified \"),_c('strong',[_vm._v(\"d\")]),_vm._v(\"irectory\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"mkdir \")]),_vm._v(\": \"),_c('strong',[_vm._v(\"m\")]),_vm._v(\"a\"),_c('strong',[_vm._v(\"k\")]),_vm._v(\"e a new \"),_c('strong',[_vm._v(\"dir\")]),_vm._v(\"ectory with the given name\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"mv \")]),_vm._v(\": \"),_c('strong',[_vm._v(\"m\")]),_vm._v(\"o\"),_c('strong',[_vm._v(\"v\")]),_vm._v(\"e the file at the given source to the\\n given destination\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Open up \"),_c('code',[_vm._v(\"setup.py\")]),_vm._v(\" in your text editor. You can type \"),_c('code',[_vm._v(\"open .\")]),_vm._v(\" on MacOS or \"),_c('code',[_vm._v(\"start .\")]),_vm._v(\"\\n on Windows to open the current directory in your Finder/File Explorer. Then\\n double click or right click to open the file in your text editor. You should\\n see something like this:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The lines in the triple-quotes \"),_c('code',[_vm._v(\"\\\"\\\"\\\"\")]),_vm._v(\" are called a \"),_c('strong',[_vm._v(\"docstring\")]),_vm._v(\", which is a\\n description of what the function is supposed to do. When writing code in 9H,\\n you should always read the docstring!\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The lines that begin with \"),_c('code',[_vm._v(\">>>\")]),_vm._v(\" are called \"),_c('strong',[_vm._v(\"doctests\")]),_vm._v(\". Recall that when using the\\n Python interpreter, you write Python expressions next to \"),_c('code',[_vm._v(\">>>\")]),_vm._v(\" and the output is\\n printed below that line. Doctests explain what the function does by showing actual\\n Python code: \\\"if we input this Python code, what should the expected output be?\\\"\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"In \"),_c('code',[_vm._v(\"twenty_eighteen\")]),_vm._v(\",\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"The docstring tells you to \\\"come up with the most creative expression that\\n evaluates to 2018,\\\" but that you can only use numbers and arithmetic operators\\n \"),_c('code',[_vm._v(\"+\")]),_vm._v(\" (add), \"),_c('code',[_vm._v(\"*\")]),_vm._v(\" (multiply), and \"),_c('code',[_vm._v(\"-\")]),_vm._v(\" (subtract).\")]),_vm._v(\" \"),_c('li',[_vm._v(\"The doctest checks that the function call \"),_c('code',[_vm._v(\"twenty_eighteen()\")]),_vm._v(\" should\\n return the number 2018.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_vm._v(\"You generally will not need to modify the docstring, unless you want to add\\n your own tests!\\n The only part of your assignments that you'll need to edit is the code.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Once you understand what the question is asking, you're ready to start writing\\n code! You should replace the underscores in \"),_c('code',[_vm._v(\"return ______\")]),_vm._v(\" with an expression that\\n evaluates to 2018. What's the most creative expression you can come up with?\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('blockquote',[_c('p',[_vm._v(\"Don't forget to save your assignment after you edit it! You can save by navigating\\n to File > Save or by pressing Command-S on MacOS or Ctrl-S on Windows.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Back to the terminal! Make sure you are in the \"),_c('code',[_vm._v(\"proj0\")]),_vm._v(\" directory we created\\n earlier (remember, the \"),_c('code',[_vm._v(\"cd\")]),_vm._v(\" command lets you \"),_c('a',{attrs:{\"href\":\"#changing-directories\"}},[_vm._v(\"change\\n directories\")]),_vm._v(\").\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"In that directory, you can type \"),_c('code',[_vm._v(\"ls\")]),_vm._v(\" to verify that there are the following\\n three files:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"setup.py\")]),_vm._v(\": the starter file you just edited\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Now, let's test our code to make sure it works. You can run \"),_c('code',[_vm._v(\"doctests\")]),_vm._v(\" with this\\n command:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"When running a Python file, you can use \"),_c('strong',[_vm._v(\"options\")]),_vm._v(\" on the command line\\n to inspect your code further. Here are a few that will come in handy.\\n If you want to learn more about other Python command-line options, take a look\\n at the \"),_c('a',{attrs:{\"href\":\"https://docs.python.org/3.4/using/cmdline.html\"}},[_vm._v(\"documentation\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('strong',[_c('code',[_vm._v(\"-i\")])]),_vm._v(\": The \"),_c('code',[_vm._v(\"-i\")]),_vm._v(\" option runs your Python script, then opens an interactive\\n session. In an interactive session, you run Python code line by line and get\\n immediate feedback instead of running an entire file all at once. To exit,\\n type \"),_c('code',[_vm._v(\"exit()\")]),_vm._v(\" into the interpreter prompt. You can also use the keyboard\\n shortcut \"),_c('code',[_vm._v(\"Ctrl-D\")]),_vm._v(\" on Linux/Mac machines or \"),_c('code',[_vm._v(\"Ctrl-Z Enter\")]),_vm._v(\" on Windows.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('strong',[_c('code',[_vm._v(\"-m doctest\")])]),_vm._v(\": Runs doctests in a particular file. Doctests are\\n surrounded by triple quotes (\"),_c('code',[_vm._v(\"\\\"\\\"\\\"\")]),_vm._v(\") within functions. Each test consists of\\n \"),_c('code',[_vm._v(\">>>\")]),_vm._v(\" followed by some Python code and the expected output.\")])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1509857c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/python/Setup.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Setup.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Setup.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1509857c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Setup.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/python/Setup.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 3: grep and sed\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n In an effort to get an advantage over the Mario Brothers, Wario and\\n Waluigi have decided to rig the \\\"random\\\" item boxes at Wario\\n Stadium. Their goal is to learn which boxes get picked the least during\\n the practice laps and put all the good items in those boxes for the real\\n race. The data they gathered is stored in a file in the following\\n format:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"::<... Luigi>:<... Toad>:<... Yoshi>\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Example:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"Box 1:4:2:1:2\\nBox 2:0:1:3:2\\nBox 3:1:3:3:1\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"In the above example, Mario grabbed box one 4 times, but never grabbed\\n box 2. Similarly, Yoshi grabbed boxes one and two 2 times each.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Create a command or sequence of commands that will list all boxes\\n which neither Mario nor Luigi grabbed more than twice.\")])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n In one of their super-secret covert operations, the ETIA (Elite Toad\\n Intelligence Agency) uncovered Wario and Waluigi's plot. When presented\\n with the evidence, Princess Peach decided to give the dastardly brothers\\n a taste of their own medicine. You have been asked to alter their\\n database to cause Wario & Waluigi's plan to backfire on them. Design\\n a sed command which will swap Mario's counts with Wario's and Luigi's\\n with Waluigi's.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"Example:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"Box 1:4:2:1:2\\nBox 2:0:1:3:2\\nBox 3:1:3:3:1\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Becomes:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"Box 1:1:2:4:2\\nBox 2:3:2:0:1\\nBox 3:3:1:1:3\")])])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Overview\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This practice quiz is designed to prepare you for your third quiz. The\\n length and difficulty should match the real quiz, while the exact material\\n covered may be different. On the real quiz, you may see any material\\n covered in the section's readings.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Reading\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('cite',[_vm._v(\"Your UNIX/LINUX: The Ultimate Guide (3rd Edition)\")]),_vm._v(\" Chapter 10\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-ef3c1a86\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/unix/GrepAndSed.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ef3c1a86\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./GrepAndSed.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/unix/GrepAndSed.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/unix/GrepAndSed.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 10'\n }\n ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Overview\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This assignment will introduce you to and give you experience with two\\n very powerful UNIX command line tools. Sed is a simple text editor, and\\n grep is a very powerful filter.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"starter\"}},[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains a single folder\\n called \"),_c('code',[_vm._v(\"images\")]),_vm._v(\" which will be used for Part 2.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Part 1: Excited Speak\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Using sed, create a filter that will turn a simple phrase into an\\n excited phrase. It should turn every period (.) into an exclamation mark\\n (!), and if the period was at the end of the line, it should replace it\\n with two exclamation marks instead of just one.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Bring your tutor a\\n transcript showing this filter working on a variety of input.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Part 2: Date Reformat\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n You took over 100 pictures during your New Year's Eve Celebration, and\\n you'd like to list them in chronological order for a slide show.\\n Unfortunately, your camera named the images using an inconvenient\\n convention: img_MM-DD-YY_XX.jpg. MM is the 0 padded month, DD is the 0\\n padded day of the month, YY is the last 2 digits of the year 0 padded, and\\n XX is the 0 padded nth picture taken that day. (example: On Jan 5, 2017,\\n you took 3 images. They were named img_01-05-17-{00,01,02}.jpg. If you take\\n over 100 images in one day, the XX will be 3 digits long.)\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n You would like to rename them, so their alphabetical order coincides\\n with their chronological order. Create a for loop which uses sed and mv to\\n rename all your images in the following convention:\\n newyears_YYYY-MM-DD_XXX.jpg. Notice that the 'nth picture of the day' field\\n is now 3 digits long instead of just 2, and the year field is the full year\\n rather than the last 2 digits. Assume the first two digits are 20.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The \"),_c('code',[_vm._v(\"image\")]),_vm._v(\" folder from starter code contains a set of file names\\n matching the input which you can use for testing.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Bring a transcript showing your results to your tutor for checkoff.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 1\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student shows transcript for sed script and can explain how it works.\")])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 2\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student shows transcript for for loop using sed to construct the new filenames.\")])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-6ab112fe\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/unix/GrepAndSed.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./GrepAndSed.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./GrepAndSed.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6ab112fe\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./GrepAndSed.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/unix/GrepAndSed.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/gif;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/47b/images/blocks-sample-config.gif\n// module id = b0MG\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/minGW_manager.961f549.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/minGW_manager.png\n// module id = bAcQ\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/cpp/ListStructureExercises.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('p',[_vm._v(\"This programming assignment gives you practice with using\\n pointers�particularly the this pointer�and building and using\\n linked lists and trees. In addition, it provides you with experience in using\\n recursion and designing constructors, and introduces you to destructors.\")]),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'A Computer Science Tapestry Sections 12.1 - 12.2',\n link: 'http://www.cs.duke.edu/csed/tapestry/'\n }\n ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Exercise 1: List Destructor\")]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"3 4 5\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Result of executing the program:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(7)]),_vm._v(\" \"),_vm._m(8)]),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Exercise 3: Amoeba Family Trees\")]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Background\")]),_vm._v(\" \"),_c('p',[_vm._v(\"An amoeba family tree is simpler than a normal family tree because\\n amoebas do not get married. An amoeba has one parent, perhaps a million\\n siblings (brothers and sisters), and billions and billions of children.\\n An amoeba also has a name.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Amoebas (or amoebae) live dull lives. All they do is reproduce. So all\\n we need to keep track of them are the following declarations:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(10)]),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Exercise\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This exercise has five parts.\")]),_vm._v(\" \"),_c('ol',{attrs:{\"type\":\"1\"}},[_vm._m(13),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_c('li',[_vm._m(17),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"child-name\\n grandchild-name\\n great-grandchild-name\\n great-great-grandchild-name\\n grandchild-name\\nchild-name\\n grandchild-name\\nchild-name\\nchild-name\\n grandchild-name\")])])])]),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_vm._m(19)]),_vm._v(\" \"),_vm._m(20)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Please download the starter code from above.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Your Task\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Do \"),_c('em',[_vm._v(\"all three\")]),_vm._v(\" of the programming exercises described below.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Miscellaneous Information\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The null pointer is variously referred to in this document and the\\n textbooks as \"),_c('code',[_vm._v(\"NULL\")]),_vm._v(\" (an identifier defined in\\n \"),_c('code',[_vm._v(\"\")]),_vm._v(\") or 0. Bjarne Stroustrup (inventor of C++)\\n recommends using 0, since \"),_c('code',[_vm._v(\"NULL\")]),_vm._v(\" is not necessarily\\n type-compatible with all pointers.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Incidentally, the C++ standard library provides implementations for most\\n of the data structures one would ever want to use, including those designed\\n from scratch for this assignment. A good online reference for the standard\\n library, should you go on to do more C++ programming, is\\n \"),_c('code',[_vm._v(\"http://www.sgi.com/Technology/STL.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The files \"),_c('code',[_vm._v(\"lists.h\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"lists.cpp\")]),_vm._v(\" implement a list data type\\n that represents a list as a pointer to a \"),_c('code',[_vm._v(\"ListNode\")]),_vm._v(\", similar to what's\\n described in \"),_c('cite',[_vm._v(\"A Computer Science Tapestry\")]),_vm._v(\" Section 12.2.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('code',[_vm._v(\"ListNode\")]),_vm._v(\" class has a disadvantage that you deal with in this exercise.\\n Its destructor function, called when a \"),_c('code',[_vm._v(\"ListNode\")]),_vm._v(\" is deleted, results in an\\n infinite loop. You are to discover why, and fix it, changing as little code as possible.\\n (In particular, you're not allowed to change \"),_c('code',[_vm._v(\"lists.h\")]),_vm._v(\".) The corrected\\n destructor should result not only in the node itself being deleted, but in deletion of\\n all nodes linked to that node.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Here's an example. The version of \"),_c('code',[_vm._v(\"~ListNode\")]),_vm._v(\" that produced\\n the output below included an output statement to show what was going on,\\n and your version should also.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Test your program using \"),_c('code',[_vm._v(\"destr.test.cpp\")]),_vm._v(\". First create a test file with content:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"bash\"},[_vm._v(\"$ \"),_c('b',[_vm._v(\"g++ -g -Wall -o destr.test destr.test.cpp lists.cpp\")]),_vm._v(\"\\n$ \"),_c('b',[_vm._v(\"destr.test < testfile\")]),_vm._v(\"\\n5 4 3\\nDeleting node with value 5\\nDeleting node with value 4\\nDeleting node with value 3\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h3',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Explanation of the problem with the existing code.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Corrected code, with as few changes as possible, tested as specified.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Adherence to CS 9F style standards:\\n \"),_c('ul',[_c('li',[_vm._v(\"appropriate use of indenting and white space;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"avoidance of \\\"forbidden C++\\\";\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable and function names that reflect their use;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"informative comments at the head of each function;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no routine more than twenty-four lines of code.\")])])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Exercise 2: Circularly Linked Lists\")]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Background\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The file \"),_c('code',[_vm._v(\"selection.cpp\")]),_vm._v(\" contains most of a program that implements\\n the following method of selecting a person from a group of \"),_c('code',[_vm._v(\"n\")]),_vm._v(\" people:\")]),_vm._v(\" \"),_c('ol',[_c('li',[_vm._v(\"All the people stand in a circle. Someone is designated as the starting person, and that person is given a marble.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"The starting person thinks of a positive number \"),_c('code',[_vm._v(\"k\")]),_vm._v(\" less than \"),_c('code',[_vm._v(\"n\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('li',[_vm._v(\"The marble is passed from one person to the next on the circle, \"),_c('code',[_vm._v(\"k\")]),_vm._v(\" times.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"The person now holding the marble is \\\"out\\\", and his or her successor on the circle takes the marble.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Steps c and d are repeated until only one person remains in the circle. That's the selected person.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Here's an example. Suppose there are 8 people, \"),_c('code',[_vm._v(\"k\")]),_vm._v(\" = 2, and\\n person #1 is the starting person. The diagram below illustrates the seven\\n repetitions of steps c and d. Arrows represent passes of the marble, and\\n the shaded box indicates the person who goes out at each step.\")]),_vm._v(\" \"),_c('table',{staticClass:\"table table-bordered\"},[_c('tbody',[_c('tr',[_c('td',[_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/marble-1.gif\")}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Step 1: #1 starts; #3 is eliminated.\")])])]),_vm._v(\" \"),_c('td',[_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/marble-2.gif\")}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Step 2: #4 takes the marble; #6 is eliminated.\")])])]),_vm._v(\" \"),_c('td',[_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/marble-3.gif\")}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Step 3: #7 takes the marble; #1 is eliminated.\")])])]),_vm._v(\" \"),_c('td',[_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/marble-4.gif\")}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Step 4: #2 takes the marble; #5 is eliminated.\")])])])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/marble-5.gif\")}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Step 5: #7 takes the marble; #2 is eliminated.\")])])]),_vm._v(\" \"),_c('td',[_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/marble-6.gif\")}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Step 6: #4 takes the marble; #8 is eliminated.\")])])]),_vm._v(\" \"),_c('td',[_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/marble-7.gif\")}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Step 7: #4 takes the marble and passes it to #7, who passes it back; #4 is thus eliminated.\")])])]),_vm._v(\" \"),_c('td')])])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Exercise\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The program in \"),_c('code',[_vm._v(\"selection.cpp\")]),_vm._v(\" uses a circularly linked list structure, partially implemented in the files \"),_c('code',[_vm._v(\"CLLNode.h\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"CLLNode.cpp\")]),_vm._v(\", to represent the candidates for selection. Two member functions for the \"),_c('code',[_vm._v(\"CLLNode\")]),_vm._v(\" class, \"),_c('code',[_vm._v(\"insert\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"remove\")]),_vm._v(\", have not been supplied. You are to provide definitions for these functions that agree with the comments in the supplied code, and complete \"),_c('code',[_vm._v(\"selection.cpp\")]),_vm._v(\" by supplying the appropriate calls to \"),_c('code',[_vm._v(\"insert\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"remove\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The constant definitions in \"),_c('code',[_vm._v(\"selection.cpp\")]),_vm._v(\" are set up to test your code on the example above. Bring the output of the program to a tutor for grading.\")])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correct implementations of \"),_c('code',[_vm._v(\"insert\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"remove\")]),_vm._v(\", tested as specified.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Listings of program text, tests, and test results.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Adherence to CS 9F style standards:\\n \"),_c('ul',[_c('li',[_vm._v(\"appropriate use of indenting and white space;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"avoidance of \\\"forbidden C++\\\";\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable and function names that reflect their use;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"informative comments at the head of each function;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no routine more than twenty-four lines of code.\")])])])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"c\"},[_vm._v(\"class Amoeba\\n{\\npublic:\\n Amoeba(\"),_c('u',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"_____\")]),_vm._v(\"string); // birth of an amoeba\\n\\n \"),_c('u',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"_____\")]),_vm._v(\"string Name(); // returns your name\\n\\n Amoeba* Parent(); // returns your parent\\n\\n void AddChild(Amoeba*); // add a baby amoeba to the family\\n\\nprivate:\\n \"),_c('u',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"_____\")]),_vm._v(\"string myName; // this amoeba's name\\n\\n Amoeba* myParent; // good old mom (or is it dad?)\\n\\n Amoeba* myOlderSibling; // the next older brother/sister\\n\\n Amoeba* myYoungestChild; // the youngest kid\\n\\n Amoeba* myOldestChild; // the oldest kid\\n};\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n The above code is the content of \"),_c('code',[_vm._v(\"amoebas.h\")]),_vm._v(\"; the member functions are in\\n \"),_c('code',[_vm._v(\"amoebas.cpp\")]),_vm._v(\". A program that uses these functions is in the file\\n \"),_c('code',[_vm._v(\"amoebamain.cpp\")]),_vm._v(\".\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"NOTE\")]),_vm._v(\": The header as it shown normally won't compile using a modern C++ compiler.\\n Can you figure out why? (Hint: it has something to do with the \"),_c('u',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"_____\")]),_vm._v(\"\\n lines above. Hint#2: \"),_c('a',{attrs:{\"href\":\"http://www.cplusplus.com/doc/tutorial/namespaces/\"}},[_vm._v(\"Check\\n out this article if you are still stuck.\")]),_vm._v(\")\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"\\n Draw a diagram of the \\\"family\\\" constructed by the program in \"),_c('code',[_vm._v(\"amoebamain.cpp\")]),_vm._v(\".\\n Use arrows in the diagram to show all the family relationships. Make sure that your\\n drawing shows the tree \"),_c('i',[_vm._v(\"exactly\")]),_vm._v(\" as the program builds it (a misleading drawing\\n is worse than none at all).\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"\\n Suppose you were the amoeba represented by the pointer \"),_c('code',[_vm._v(\"me\")]),_vm._v(\". Add a statement\\n to \"),_c('code',[_vm._v(\"amoebamain.cpp\")]),_vm._v(\" to print the name of your grandparent, who should be Amos\\n McCoy. Try it out, and be prepared to explain to a tutor what happens and what's necessary\\n to make the statement work properly. (Hint: look at your drawing.)\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"\\n Add a member function called \"),_c('code',[_vm._v(\"PrintChildren\")]),_vm._v(\" to \"),_c('code',[_vm._v(\"amoebas.cpp\")]),_vm._v(\" that\\n prints the names of the amoeba's children, one per line. (Also add its prototype to\\n \"),_c('code',[_vm._v(\"amoebas.h\")]),_vm._v(\".) Test your function by adding a call or two to the end of\\n \"),_c('code',[_vm._v(\"amoebamain.cpp\")]),_vm._v(\", and show the results of your tests to a tutor for grading.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"\\n Add a member function called \"),_c('code',[_vm._v(\"PrintGrandchildren\")]),_vm._v(\" to \"),_c('code',[_vm._v(\"amoebas.cpp\")]),_vm._v(\"\\n that prints the names of the amoeba's grandchildren, one per line. (Also add its prototype\\n to \"),_c('code',[_vm._v(\"amoebas.h\")]),_vm._v(\".) Your function should use the \"),_c('code',[_vm._v(\"PrintChildren\")]),_vm._v(\"\\n function described above. Test your function by adding a call or two to the end of\\n \"),_c('code',[_vm._v(\"amoebamain.cpp\")]),_vm._v(\"-you may also need to add some amoebas to the tree-and show the\\n results of your tests to a tutor for grading.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Add a member function called \"),_c('code',[_vm._v(\"PrintDescendants\")]),_vm._v(\" to \"),_c('code',[_vm._v(\"amoebas.cpp\")]),_vm._v(\"\\n that prints the names of all the amoeba's descendants. (Also add its prototype to\\n \"),_c('code',[_vm._v(\"amoebas.h\")]),_c('code',[_vm._v(\".) \")]),_vm._v(\"One name should be printed per line. The names\\n of the children of each descendant amoeba should be printed on the lines immediately\\n following; they should be indented four spaces more than the name of their parent.\\n Thus the output should appear in the form\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Test your function by adding a call or two to the end of \"),_c('code',[_vm._v(\"amoebamain.cpp\")]),_vm._v(\", and show\\n the results of your tests to a tutor for grading. You may add private helper functions to the\\n \"),_c('code',[_vm._v(\"Amoeba\")]),_vm._v(\" class if you want.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Your \"),_c('code',[_vm._v(\"PrintChildren\")]),_vm._v(\", \"),_c('code',[_vm._v(\"PrintGrandchildren\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"PrintDescendants\")]),_vm._v(\"\\n member functions should all work no matter which amoeba they are called with.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h3',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correct diagram.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Correct additions to \"),_c('code',[_vm._v(\"amoebas.h\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"amoebas.cpp\")]),_vm._v(\" (statement to print the name of \"),_c('code',[_vm._v(\"me\")]),_vm._v(\"'s grandparent, plus member functions \"),_c('code',[_vm._v(\"PrintChildren\")]),_vm._v(\", \"),_c('code',[_vm._v(\"PrintGrandchildren\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"PrintDescendants\")]),_vm._v(\"), tested as specified.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Listings of program text, tests, and test results.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Adherence to CS 9F style standards:\\n \"),_c('ul',[_c('li',[_vm._v(\"appropriate use of indenting and white space;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"avoidance of \\\"forbidden C++\\\";\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable and function names that reflect their use;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"informative comments at the head of each function;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no routine more than twenty-four lines of code.\")])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-770d93be\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/cpp/ListStructureExercises.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./ListStructureExercises.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./ListStructureExercises.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-770d93be\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./ListStructureExercises.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/ListStructureExercises.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/gif;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/47b/images/q3_heap.gif\n// module id = cHcu\n// module chunks = 1","module.exports = \"data:image/gif;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/marble-7.gif\n// module id = cUbJ\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/java/CatAndMouse.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Head First Java (2nd Edition) Chapter 7',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/7dot-inheritance-and-polymorphism-better-living-in-objectville/inheritance_and_polymorphism_colon_bette'\n },\n {\n title: 'Head First Java (2nd Edition) Chapter 8',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/8dot-interfaces-and-abstract-classes-serious-polymorphism/interfaces_and_abstract_classes_colon_se'\n },\n {\n title: 'Head First Java (2nd Edition) Chapter 9',\n link: 'http://proquest.safaribooksonline.com/book/programming/java/0596009208/9dot-constructors-and-garbage-collection-life-and-death-of-an-object/constructors_and_garbage_collection_colo'\n }\n ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Requirements\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._m(2),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"$ javac CatMouseSimulation.java Position.java Cat.java Mouse.java\\n$ java CatMouseSimulation\\nUsage: java CatMouseSimulation \\n$ java CatMouseSimulation 3 0 0\\nWelcome to the CS9G cat and mouse simulation!\\nTIME STATUS MOUSE CAT\\n0 init (1.0,0.0) (3.0,0.0)\\n1 running (1.0,1.0) (2.0,0.0)\\n2 running (1.0,2.0) (1.0,0.0)\\n3 running (1.0,3.0) (1.0,1.25)\\n4 running (1.0,4.0) (1.0,2.5)\\n5 running (1.0,5.0) (1.0,3.75)\\n6 running (1.0,6.0) (1.0,5.0)\\n7 eaten (1.0,6.0) (1.0,6.25)\")])])]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._m(5),_vm._v(\" \"),_vm._m(6)])]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_vm._m(10)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Cat and Mouse\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/cat-and-mouse.png\"),\"alt\":\"Cat and Mouse\",\"width\":\"560\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1. The Cat and Mouse problem.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"The scene is an urban park; a cat watches a mouse run around the base of\\n a statue of the actors from Monty Python. Over the course of a second, the\\n somewhat witless mouse moves one meter counterclockwise around the\\n statue’s base, which is circular and two meters in diameter. Every\\n second, the cat pursues the mouse as follows: If the cat can see the mouse,\\n the cat moves one meter toward the statue. If the cat can’t see the\\n mouse, the cat circles 1.25 meters counterclockwise around the statue.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The cat plans eventually to get close enough to the mouse to make it a\\n juicy lunch. The mouse by accident, however, may manage to keep completely\\n out of sight of the cat, since both the cat and the mouse are moving\\n counter-clockwise.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Should the chase go on more than 30 seconds, however,\\n the cat will get tired and wander off.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains 4 files\\n called \"),_c('code',[_vm._v(\"CatMouseSimulation.java\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Cat.java\")]),_vm._v(\",\\n \"),_c('code',[_vm._v(\"Mouse.java\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"Position.java\")]),_vm._v(\".\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Complete the classes to simulate this situation and determine if the cat\\n catches the mouse, and provide additional code to test the program and its\\n component classes. The main simulation instantiates a \"),_c('dfn',[_vm._v(\"Cat\")]),_vm._v(\" object\\n and a \"),_c('dfn',[_vm._v(\"Mouse\")]),_vm._v(\" object, each having a \"),_c('code',[_vm._v(\"move\")]),_vm._v(\" method.\\n \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"The cat moves first.\")]),_vm._v(\" Your simulation\\n should print out the results as nicely tabulated output. Here's an example\\n interaction:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_c('code',[_vm._v(\"CatMouseSimulation.java\")]),_vm._v(\" supplies empty \"),_c('code',[_vm._v(\"main()\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"runChase()\")]),_vm._v(\"\\n methods for you. The \"),_c('code',[_vm._v(\"main()\")]),_vm._v(\" method should retrieve initial position values for the cat\\n and the mouse from the user and initialize a cat and a mouse appropriately. It then calls\\n \"),_c('code',[_vm._v(\"runChase()\")]),_vm._v(\" to run the simulation to completion.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_c('code',[_vm._v(\"Position.java\")]),_vm._v(\" defines the \"),_c('dfn',[_vm._v(\"Position\")]),_vm._v(\" class. \"),_c('code',[_vm._v(\"Position\")]),_vm._v(\"s are\\n represented in polar coordinates. Each \"),_c('code',[_vm._v(\"Position\")]),_vm._v(\" object consists of a\\n \"),_c('code',[_vm._v(\"double\")]),_vm._v(\" variable \"),_c('code',[_vm._v(\"myRadius\")]),_vm._v(\", and a \"),_c('code',[_vm._v(\"double\")]),_vm._v(\" variable\\n \"),_c('code',[_vm._v(\"myAngle\")]),_vm._v(\"; both are private, and the \"),_c('code',[_vm._v(\"Position\")]),_vm._v(\" class should not\\n provide direct access to them. Methods provided for you in the \"),_c('code',[_vm._v(\"Position\")]),_vm._v(\"\\n class are several constructors, and \"),_c('code',[_vm._v(\"toString\")]),_vm._v(\" (to allow positions to be printed).\\n You are to supply an \"),_c('code',[_vm._v(\"update\")]),_vm._v(\" method to increment the position’s radius or angle.\\n You will also need several comparison methods to allow a user to determine if a position is\\n at the base of the statue, if it is at the same coordinate as another position, if its angle\\n is between two other angles, and if a position on the base of the statue is in its line of\\n sight. You will need a separate class, \"),_c('code',[_vm._v(\"PositionTestDrive\")]),_vm._v(\", to test the\\n \"),_c('code',[_vm._v(\"Position\")]),_vm._v(\" class. Write this yourself.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_c('code',[_vm._v(\"Cat.java\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"Mouse.java\")]),_vm._v(\" define the \"),_c('dfn',[_vm._v(\"Cat\")]),_vm._v(\" and \"),_c('dfn',[_vm._v(\"Mouse\")]),_vm._v(\"\\n classes, respectively. Both have a \"),_c('code',[_vm._v(\"move\")]),_vm._v(\" method and constructors. Neither class\\n is allowed direct access to the components of a \"),_c('code',[_vm._v(\"Position\")]),_vm._v(\". The complete\\n \"),_c('code',[_vm._v(\"Mouse\")]),_vm._v(\" class is provided for you; you must provide the \"),_c('code',[_vm._v(\"move\")]),_vm._v(\" method\\n of the \"),_c('code',[_vm._v(\"Cat\")]),_vm._v(\" class. The \"),_c('code',[_vm._v(\"Mouse\")]),_vm._v(\" \"),_c('code',[_vm._v(\"move\")]),_vm._v(\" method doesn't return\\n anything. The \"),_c('code',[_vm._v(\"Cat\")]),_vm._v(\" \"),_c('code',[_vm._v(\"move\")]),_vm._v(\" method returns \"),_c('code',[_vm._v(\"true\")]),_vm._v(\" if the cat\\n eats the mouse during the move and returns \"),_c('code',[_vm._v(\"false\")]),_vm._v(\" otherwise.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"Don’t change the code provided for you; merely add methods and\\n variables as specified above.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Miscellaneous information\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('p',[_vm._v(\"\\n In the framework code we provide and throughout the rest of the course material, you will encounter\\n the \"),_c('code',[_vm._v(\"toString\")]),_vm._v(\" method. This method by convention returns a printable version of whatever\\n object it’s applied to, and is provided with a number of Java’s builtin classes.\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n Your code should call \"),_c('code',[_vm._v(\"Position\")]),_vm._v(\" methods where appropriate; code in \"),_c('code',[_vm._v(\"CatMouseSimulation\")]),_vm._v(\"\\n should not duplicate their functionality. You should not change the structure of the \"),_c('code',[_vm._v(\"Position\")]),_vm._v(\"\\n class; you may, however, provide additional methods.\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n Don't get radians and degrees confused.\\n \")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Trigonometric Information\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"\\n The cat sees the mouse if \"),_c('br'),_vm._v(\" \"),_c('code',[_vm._v(\"(cat radius) * cos (cat angle - mouse angle) >= 1.0\")]),_vm._v(\" (angles in radian)\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n When the cat circles distance d around the statue, its radius does not change, and the change in\\n its angle can be calculated from the relationship \"),_c('br'),_vm._v(\" \"),_c('code',[_vm._v(\"d = angle * radius\")]),_vm._v(\" (angles in radian)\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n The cat catches the mouse when it (the cat) moves past the mouse while at the base of the statue,\\n i.e. when the cat radius is 1.0 and the mouse angle lies between the old cat angle and the new\\n cat angle. An angle B is between angles A and C in the following circumstances:\"),_c('br'),_vm._v(\" \"),_c('code',[_vm._v(\"cos (B - A) > cos (C - A)\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"cos (C - B) > cos (C - A)\")]),_vm._v(\" (angles in radian)\"),_c('br'),_vm._v(\"\\n The difference C - A is assumed to be less than 90°, or π/2 radians.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Note that the cat cannot move inside the statue’s base; hence if the cat is, say, at radius 1.7 and sees the mouse, it can move in only 0.7 meters, up to the base of the statue.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Remember that angles a, a + 2π, a + 4π, ... are all equal.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Testing\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Test each function and method in your program with enough different\\n inputs to show that it works. When testing a method, print out the input,\\n the expected result, and the actual result.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"It would probably be helpful for debugging purposes to have a debug flag\\n available that, when true, dumped the position and heading of all\\n characters involved (cat and mouse) at each time step.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You should test the methods of each Class in isolation, using\\n appropriate test data, to see if they work independently before calling\\n them from a driver function. Tutors may ask to see the results of these\\n tests. Your test data should include the following values:\")]),_vm._v(\" \"),_c('p',[_c('i',[_vm._v(\"(Note: Cat radius is calculated from the center of Statue)\")])]),_vm._v(\" \"),_c('table',{staticClass:\"table table-bordered table-striped\"},[_c('tr',[_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Cat Radius (m)\")]),_vm._v(\" \"),_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Cat Angle (degree)\")]),_vm._v(\" \"),_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Mouse Angle (degree)\")]),_vm._v(\" \"),_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Test Case Features\")])]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"1.0\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"35.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"396.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"angle > 360; mouse caught immediately\")])]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"3.2\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"0.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"-57.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"negative angle;\"),_c('br'),_vm._v(\"\\n cat radius has fractional part;\"),_c('br'),_vm._v(\"\\n mouse caught at time 17\")])]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"8.1\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"0.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"45.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}})]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"8.1\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"150.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"240.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}})]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"4.0\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"0.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"-57.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}})])]),_vm._v(\" \"),_c('p',[_vm._v(\"...plus the following cases:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"cat catches mouse at time 30;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"cat would catch mouse at time 31 if the simulation ran that long;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"whatever other values are necessary to ensure that all statements in your program have been executed at least once.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Be sure to check that the output makes sense for these tests, since the output is what most tutors will check first. Students are sometimes embarrassed to have a tutor point out that their programs have the cat moving deeper and deeper inside the statue, or moving away from the mouse instead of approaching it.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correctly working code:\\n \"),_c('ul',[_c('li',[_vm._v(\"completion of the \"),_c('code',[_vm._v(\"Cat\")]),_vm._v(\" class\")]),_vm._v(\" \"),_c('li',[_vm._v(\"completion of the \"),_c('code',[_vm._v(\"Position\")]),_vm._v(\" class\")]),_vm._v(\" \"),_c('li',[_vm._v(\"completion of the \"),_c('code',[_vm._v(\"CatMouseSimulation\")]),_vm._v(\" class\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Sufficient testing, with output sufficient to verify test correctness:\\n \"),_c('ul',[_c('li',[_vm._v(\"tests on specified values for cat and mouse positions;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"evidence of independent tests of all methods you authored in each class\")]),_vm._v(\" \"),_c('li',[_vm._v(\"tests sufficient to exercise all statements in the program.\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Good style:\\n \"),_c('ul',[_c('li',[_vm._v(\"appropriate use of indenting and white space;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable and method names that reflect their use;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"informative comments at the head of each method;\")])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-253c328e\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/java/CatAndMouse.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CatAndMouse.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CatAndMouse.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-253c328e\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CatAndMouse.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/java/CatAndMouse.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/hashmap.ad7be76.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/47b/images/hashmap.png\n// module id = ef2f\n// module chunks = 1","module.exports = \"data:image/gif;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/images/animal-sample-tree-array.gif\n// module id = ewCG\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 2: Functions and Argument Pointers\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Practical C Programming (3rd Edition) Sections 5.1 - 5.5',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-5'\n },\n {\n title: 'Practical C Programming (3rd Edition) Chapter 7',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-7'\n },\n {\n title: 'Practical C Programming (3rd Edition) Sections 9.1 - 9.4',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/9dot-variable-scope-and-functions/pcp3-chp-9-sect-1'\n },\n {\n title: 'Practical C Programming (3rd Edition) Sections 13.0 - 13.5',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-13'\n },\n {\n title: 'Practical C Programming (3rd Edition) Chapter 15',\n link: 'http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-15'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"What is the output of the following program segment?\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"char c = 'a';\\nputchar(c);\\nputchar(F(c));\\nputchar(c);\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Assume that the function \"),_c('code',[_vm._v(\"F\")]),_vm._v(\" has been defined as follows:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"char F(char c)\\n{\\n c = 'f';\\n return c;\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"afa\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Modify the code from exercise 1 so that, on return from the\\n \"),_c('code',[_vm._v(\"F\")]),_vm._v(\" function, the variable \"),_c('code',[_vm._v(\"c\")]),_vm._v(\" in the\\n \"),_c('code',[_vm._v(\"calling\")]),_vm._v(\" code contains the character\\n \"),_c('code',[_vm._v(\"'f'\")]),_vm._v(\".\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"char F(char *c) {\\n *c = 'f';\\n return *c;\\n}\\n\\nint main() {\\n char c = 'a';\\n putchar(c);\\n putchar(F(&c));\\n putchar(c);\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Write a function \"),_c('code',[_vm._v(\"AllDone\")]),_vm._v(\" that, given a string as\\n argument, returns a true value if the string is\\n \"),_c('code',[_vm._v(\"\\\"exit\\\"\")]),_vm._v(\" and returns false otherwise.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_c('b',[_vm._v(\"Version 1\")])]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"int AllDone(char s1[]) {\\n char s2[] = \\\"exit\\\";\\n int i;\\n for(i = 0; s1[i] != '\\\\0' || s2[i] != '\\\\0'; i++) {\\n if(s1[i] != s2[i]) return 0;\\n }\\n return 1;\\n}\")])]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(\"Version 2\")])]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"int AllDone(char *s1) {\\n char *s2 = \\\"exit\\\";\\n\\n for (; (*s1 != '\\\\0' || *s2 != '\\\\0') && *s1 == *s2; ++s1, ++s2);\\n return *s1 == *s2;\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Write a function \"),_c('code',[_vm._v(\"GetWordAndValue\")]),_vm._v(\" that prompts the user\\n for a string and an integer, reads the values, and returns both to the\\n calling program. Assume that the caller has already provided space in\\n memory for all the characters of the word, as well as provided the size\\n of the space in memory.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"void GetWordAndValue(int *value, char* word) {\\n scanf(\\\"%s\\\", word);\\n scanf(\\\"%d\\\", value);\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Write a main program that calls \"),_c('code',[_vm._v(\"GetWordAndValue\")]),_vm._v(\" and\\n echoes the values returned.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"c\"},[_vm._v(\"int main() {\\n int value;\\n char word[10];\\n\\n GetWordAndValue(&value, word);\\n printf(\\\"%d, %s\\\", value, word);\\n}\")])])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"This quiz covers the definition and use of functions. Details that are\\n tested here include the use of pointers to allow functions (including\\n \"),_c('code',[_vm._v(\"scanf\")]),_vm._v(\") to change values in code that calls them and the use of\\n the \"),_c('code',[_vm._v(\"strcpy\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"strcmp\")]),_vm._v(\" functions accessible through\\n \"),_c('code',[_vm._v(\"\")]),_vm._v(\".\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-508d491c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/c/FunctionsAndArgumentPointers.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-508d491c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./FunctionsAndArgumentPointers.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/c/FunctionsAndArgumentPointers.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/cat-and-mouse-gui.f80d150.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/java/images/cat-and-mouse-gui.png\n// module id = furJ\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 2: Advanced Array and Matrix Operations\")]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Readings\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Sections 5.8 - 5.12\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Chapter 6\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Section 17.1\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Section 18.2\")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Goals\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This quiz tests you on Matlab operations for advanced creation and\\n manipulation of vectors, matrices, and multidimensional matrices. Questions\\n focus on matrix construction, manipulation, sorting, and searching. You\\n will not be allowed to use loop or control constructs such as\\n \"),_c('code',[_vm._v(\"if\")]),_vm._v(\", \"),_c('code',[_vm._v(\"for\")]),_vm._v(\", or \"),_c('code',[_vm._v(\"while\")]),_vm._v(\" anywhere in this\\n quiz.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Relevant functions include the following: \"),_c('code',[_vm._v(\"linspace\")]),_vm._v(\",\\n \"),_c('code',[_vm._v(\"reshape\")]),_vm._v(\", \"),_c('code',[_vm._v(\"repmat\")]),_vm._v(\", \"),_c('code',[_vm._v(\"meshgrid\")]),_vm._v(\",\\n \"),_c('code',[_vm._v(\"rand\")]),_vm._v(\", \"),_c('code',[_vm._v(\"randperm\")]),_vm._v(\", \"),_c('code',[_vm._v(\"sort\")]),_vm._v(\",\\n \"),_c('code',[_vm._v(\"logical\")]),_vm._v(\", \"),_c('code',[_vm._v(\"islogical\")]),_vm._v(\", \"),_c('code',[_vm._v(\"true\")]),_vm._v(\",\\n \"),_c('code',[_vm._v(\"false\")]),_vm._v(\", \"),_c('code',[_vm._v(\"&\")]),_vm._v(\", \"),_c('code',[_vm._v(\"|\")]),_vm._v(\", \"),_c('code',[_vm._v(\"~\")]),_vm._v(\",\\n \"),_c('code',[_vm._v(\"any\")]),_vm._v(\", \"),_c('code',[_vm._v(\"all\")]),_vm._v(\", \"),_c('code',[_vm._v(\"isprime\")]),_vm._v(\",\\n \"),_c('code',[_vm._v(\"mean\")]),_vm._v(\", \"),_c('code',[_vm._v(\"median\")]),_vm._v(\", \"),_c('code',[_vm._v(\"std\")]),_vm._v(\", \"),_c('code',[_vm._v(\"min\")]),_vm._v(\",\\n and \"),_c('code',[_vm._v(\"max\")]),_vm._v(\". Warning: you should be very familiar with all of\\n these functions—study the help pages to make sure you know what each one\\n does.\")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('p',[_vm._v(\"Give two different ways to construct a 1000-by-1000 matrix\\n containing all zeros except for having ones all along the\\n northeast-to-southwest diagonal. One solution should use\\n \"),_c('code',[_vm._v(\"eye\")]),_vm._v(\" and one should not.\\n \")]),_c('pre',[_c('samp',[_vm._v(\"0 ... 0 1\\n0 ... 1 0\\n. . . .\\n. . . .\\n. . . .\\n1 ... 0 0\\n\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Explain how to remove all of the non-perfect-square numbers from a matrix \"),_c('var',[_vm._v(\"A\")]),_vm._v(\". When you are done, the vector \"),_c('var',[_vm._v(\"A\")]),_vm._v(\" should contain only perfect squares.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Explain how to construct a 5-by-5 matrix whose [\"),_c('var',[_vm._v(\"r\")]),_vm._v(\",\"),_c('var',[_vm._v(\"c\")]),_vm._v(\"] elements have the value \"),_c('var',[_vm._v(\"z\")]),_vm._v(\"=(\"),_c('var',[_vm._v(\"r\")]),_c('sup',[_vm._v(\"2\")]),_vm._v(\" – \"),_c('var',[_vm._v(\"c\")]),_vm._v(\") for \"),_c('var',[_vm._v(\"r\")]),_vm._v(\" evenly spaced between 0 and 4 and \"),_c('var',[_vm._v(\"c\")]),_vm._v(\" evenly spaced between 1 and 2. Use \"),_c('code',[_vm._v(\"linspace\")]),_vm._v(\" for specifying the rows and the \"),_c('code',[_vm._v(\":\")]),_vm._v(\" operator for specifying the columns.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Write an expression that returns \"),_c('code',[_vm._v(\"true\")]),_vm._v(\" if all the elements in a matrix \"),_c('var',[_vm._v(\"A\")]),_vm._v(\" are composite (not prime).\")]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Suppose that vectors \"),_c('var',[_vm._v(\"A\")]),_vm._v(\" and \"),_c('var',[_vm._v(\"B\")]),_vm._v(\" contain the\\n following values:\")]),_vm._v(\" \"),_c('pre',[_c('samp',[_vm._v(\"A = [10 20 30 40];\\nB = [1 0 1 0];\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"What is the value of \"),_c('var',[_vm._v(\"A\")]),_vm._v(\", \"),_c('var',[_vm._v(\"B\")]),_vm._v(\", and \"),_c('var',[_vm._v(\"C\")]),_vm._v(\"\\n after each expression below? Assume each expression is typed\\n independently.\")]),_vm._v(\" \"),_c('pre',[_c('code',[_vm._v(\"C = A(B);\\nC = A(~B);\\nC = A(B & A>20);\")])])])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Solutions to Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('table',{staticStyle:{\"margin\":\"0 auto\",\"width\":\"75%\"}},[_c('tbody',[_c('tr',[_c('th',[_vm._v(\"Solutions that Use \"),_c('code',[_vm._v(\"eye\")])]),_vm._v(\" \"),_c('th',[_vm._v(\"Solutions that Don’t Use \"),_c('code',[_vm._v(\"eye\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('code',[_vm._v(\"flipud(eye(1000))\")])]),_c('td',[_c('code',[_vm._v(\"A=reshape(0:1000*1000-1,1000,1000)';\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('code',[_vm._v(\"fliplr(eye(1000))\")])]),_c('td',[_c('code',[_vm._v(\"A=(999*fix(A/999)==A);\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('code',[_vm._v(\"rot90(eye(1000))\")])]),_c('td',[_c('code',[_vm._v(\"A(1,1)=0;\")])])]),_vm._v(\" \"),_c('tr',[_c('td'),_c('td',[_c('code',[_vm._v(\"A(1000,1000)=0\")])])]),_vm._v(\" \"),_c('tr',[_c('td'),_c('td',[_c('code',[_vm._v(\"A=[zeros(1, 998) 1];\")])])]),_vm._v(\" \"),_c('tr',[_c('td'),_c('td',[_c('code',[_vm._v(\"B=[0 repmat(A,1,1000) zeros(1,999)];\")])])]),_vm._v(\" \"),_c('tr',[_c('td'),_c('td',[_c('code',[_vm._v(\"reshape(B,1000,1000)\")])])])])])]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"A(fix(sqrt(A)).*fix(sqrt(A))~=A)=[]\")])]),_vm._v(\" \"),_c('li',[_c('pre',[_c('code',[_vm._v(\"[r,c]=meshgrid(0:4,linspace(1,2,5));\\nr.*r-c\")])])]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"all(~isprime(A))\")])]),_vm._v(\" \"),_c('li',[_c('table',[_c('tbody',[_c('tr',[_c('td',{staticStyle:{\"min-width\":\"15%\"}},[_c('code',[_vm._v(\"C = A(B);\")])]),_c('td')]),_vm._v(\" \"),_c('tr',[_c('td',[_c('code',[_vm._v(\"A\")])]),_c('td',[_vm._v(\"[10 20 30 40] unchanged\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('code',[_vm._v(\"B\")])]),_c('td',[_vm._v(\"[1 0 1 0] unchanged\")])]),_vm._v(\" \"),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',[_c('code',[_vm._v(\"C\")])]),_c('td',[_vm._v(\"??? Undefined function or variable 'C'\"),_c('br'),_vm._v(\"The expression caused an error! Even though \"),_c('var',[_vm._v(\"B\")]),_vm._v(\" looks like a vector of \"),_c('code',[_vm._v(\"logicals\")]),_vm._v(\", it is in fact a vector of \"),_c('code',[_vm._v(\"doubles\")]),_vm._v(\", since that is the default type.\")])]),_vm._v(\" \"),_c('tr',[_c('td'),_c('td')])])]),_vm._v(\" \"),_c('table',[_c('tbody',[_c('tr',[_c('td',{staticStyle:{\"min-width\":\"15%\"}},[_c('code',[_vm._v(\"C = A(~B);\")])]),_c('td')]),_vm._v(\" \"),_c('tr',[_c('td',[_c('code',[_vm._v(\"A\")])]),_c('td',[_vm._v(\"[10 20 30 40] unchanged\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('code',[_vm._v(\"B\")])]),_c('td',[_vm._v(\"[1 0 1 0] unchanged\")])]),_vm._v(\" \"),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',[_c('code',[_vm._v(\"C\")])]),_c('td',[_vm._v(\"[20 40]\"),_c('br'),_vm._v(\"The act of negating the \"),_c('code',[_vm._v(\"double\")]),_vm._v(\" vector \"),_c('var',[_vm._v(\"B\")]),_vm._v(\" converts it to a \"),_c('code',[_vm._v(\"logical\")]),_vm._v(\" vector that can then be used with logical subscripting.\")])])])]),_vm._v(\" \"),_c('table',[_c('tbody',[_c('tr',[_c('td',{staticStyle:{\"min-width\":\"15%\"}},[_c('code',[_vm._v(\"C = A(B & A>20);\")])]),_c('td')]),_vm._v(\" \"),_c('tr',[_c('td',[_c('code',[_vm._v(\"A\")])]),_c('td',[_vm._v(\"[10 20 30 40] unchanged\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('code',[_vm._v(\"B\")])]),_c('td',[_vm._v(\"[1 0 1 0] unchanged\")])]),_vm._v(\" \"),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',[_c('code',[_vm._v(\"C\")])]),_c('td',[_vm._v(\"30\"),_c('br'),_vm._v(\"\\n ANDing a \"),_c('code',[_vm._v(\"double\")]),_vm._v(\" vector \"),_c('var',[_vm._v(\"B\")]),_vm._v(\" with a \"),_c('code',[_vm._v(\"logical\")]),_vm._v(\" vector—the result of the > operator—produces a \"),_c('code',[_vm._v(\"logical\")]),_vm._v(\" vector that can then be used with logical subscripting.\")])])])])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-eba4bb88\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/matlab/AdvancedArrayAndMatrixOperations.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-eba4bb88\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./AdvancedArrayAndMatrixOperations.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/matlab/AdvancedArrayAndMatrixOperations.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 3: Dynamically Allocated Data\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'A Computer Science Tapestry, sections 12.1 and 12.2'\n },\n {\n title: 'C++ Program Design, sections 9.5 (destructors), 12.1 through 12.3 (pointers, covered in a C context), and 12.8 (pointers, covered in a C++ context). Chapter 12 unfortunately relies heavily on C-style examples. Moreover, linked lists aren\\'t covered until after templates; an example appears in section 14.5'\n },\n {\n title: 'Computing Fundamentals with C++, chapters 14, 15, and 20. Ignore use of the & operator in chapter 14 and of C-style arrays in sections 15.1 and 15.2'\n }\n ]}}),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Consider the type declarations given below.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"class TreeNode {\\npublic:\\n ...\\nprivate:\\n int myInfo;\\n TreeNode* myLeft;\\n TreeNode* myRight;\\n};\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Identify the C++ type of each storage location outlined in bold in the diagram below and,\\n using the tree variable, give an expression that names the storage location.\\n \")]),_vm._v(\" \"),_c('p',{staticStyle:{\"text-align\":\"center\"}},[_c('img',{staticStyle:{\"width\":\"200px\"},attrs:{\"src\":require(\"./images/9F-study-guide6.gif\")}})])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n The two outlined locations are \"),_c('code',[_vm._v(\"tree->myRight->myInfo\")]),_vm._v(\" of type\\n \"),_c('code',[_vm._v(\"int\")]),_vm._v(\" and \"),_c('br'),_c('code',[_vm._v(\"tree->myLeft->myRight->myLeft\")]),_vm._v(\" of type\\n \"),_c('code',[_vm._v(\"TreeNode\")]),_vm._v(\" *.\\n \")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Consider the following class declarations:\")]),_vm._v(\" \"),_c('table',{staticClass:\"table table-bordered\"},[_c('tr',[_c('td',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"class TreeNode {\\npublic:\\n ...\\nprivate:\\n int myInfo;\\n TreeNode* myLeft, myRight;\\n}\")])])]),_vm._v(\" \"),_c('td',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"class TreeNode {\\npublic:\\n ...\\nprivate:\\n int myInfo;\\n TreeNode *myLeft, *myRight;\\n};\")])])])])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Briefly explain the effect of each declaration, and indicate which of\\n the two is equivalent to the definition given in exercise 1.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n The first declaration causes a compile-time error by trying to declare\\n \"),_c('code',[_vm._v(\"myRight\")]),_vm._v(\" as a \"),_c('code',[_vm._v(\"TreeNode\")]),_vm._v(\", not a \"),_c('code',[_vm._v(\"TreeNode *\")]),_vm._v(\".\\n The second declaration is equivalent to the declaration in exercise 1.\\n \")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Consider the class\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"class ListNode {\\npublic:\\n ListNode (int k); // initialize myValue to k and myNext to 0\\n ListNode (int k, ListNode* ptr); // initialize myValue to k and myNext to ptr\\n ~ListNode (); // delete the node and all nodes\\n // accessible through it;\\n // precondition: this != 0.\\n int First (); // return the value stored in the list node\\n ListNode *Rest (); // return the list consisting of\\n // the remaining elements\\n void Print (); // print the list\\nprivate:\\n int myValue;\\n ListNode* myNext;\\n};\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Write a \"),_c('code',[_vm._v(\"ListNode\")]),_vm._v(\" member function called \"),_c('code',[_vm._v(\"Odds\")]),_vm._v(\" that\\n returns a pointer to a list of the odd integers in the object list.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The order of the values in the list returned should be the same as in the\\n object list. Do not modify the object list; make copies of the nodes that\\n contain odd integers.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"The easiest way to do this uses recursion.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"ListNode *ListNode::Odds () {\\n if (this == 0) { // nothing left\\n return 0;\\n } else if (myValue%2 == 0) { // even number\\n return myNext->Odds ();\\n } else { // odd number\\n return new ListNode (myValue, myNext->Odds( ));\\n }\\n}\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Here's an iterative version.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"ListNode *ListNode::Odds () {\\n ListNode *first = 0;\\n ListNode *last = 0;\\n for (ListNode *temp = this; temp != 0; temp = temp->myNext) {\\n if (temp->value%2 != 0) {\\t// odd\\n if (first == 0) {\\n first = last = new ListNode (temp->myValue);\\n } else {\\n last->myNext = new ListNode (temp->myValue);\\n last = last->myNext;\\n }\\n }\\n }\\n return first;\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Identify all bugs in the following function, a \"),_c('tt',[_vm._v(\"ListNode\")]),_vm._v(\" member\\n function called \"),_c('tt',[_vm._v(\"RemoveEvens\")]),_vm._v(\" that is intended to remove nodes that\\n contain even integers from a nonempty object list and delete them.\\n \")],1),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"void ListNode::RemoveEvens () {\\n for (ListNode *temp = this; temp != 0; temp = temp->myNext) {\\n if (temp->myNext->value % 2 == 0) { // even number?\\n delete temp->myNext;\\n temp->myNext = temp->myNext->myNext;\\n }\\n }\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n There are several problems with the given function. First, the value in the first\\n list element is never checked; fixing this requires maintaining a dummy header node\\n in each list, since assignment to \"),_c('code',[_vm._v(\"this\")]),_vm._v(\" is not allowed. Second, the loop\\n termination condition is incorrect; it should be \"),_c('code',[_vm._v(\"temp->myNext != 0\")]),_vm._v(\".\\n Finally, the node with the even value is deleted too soon; the contents of its\\n \"),_c('code',[_vm._v(\"myNext\")]),_vm._v(\" member needs to be saved first, in order to update\\n \"),_c('code',[_vm._v(\"temp->myNext\")]),_vm._v(\" correctly.\\n \")])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"\\n The exercises on this quiz all involve linked structures and code that\\n manipulates them. Examples include producing code that references a given\\n part of a box-and-arrow diagram, drawing a diagram that represents the\\n structure built by a given code segment, analyzing code, and writing a\\n function that implements some list operation.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Restrictions on C constructs described in \\\"C constructs to avoid\\\" apply for this quiz as usual.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Sample Exercises\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n All exercises in sections 12.1 and 12.2 of \"),_c('cite',[_vm._v(\"A Computer Science Tapestry\")]),_vm._v(\" will be useful.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Exercises in \"),_c('cite',[_vm._v(\"C++ Program Design\")]),_vm._v(\" are not helpful for this quiz.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n All exercises in chapter 15 of \"),_c('cite',[_vm._v(\"Computing Fundamentals with C++\")]),_vm._v(\", including self-check\\n exercises but not programming projects, will be useful. If you're not experienced with recursion,\\n work through the exercises in chapter 20 as well.\\n \")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-47e9b11c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/cpp/DynamicallyAllocatedData.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-47e9b11c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./DynamicallyAllocatedData.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/cpp/DynamicallyAllocatedData.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/setup_terminal.b1fee52.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/python/images/setup_terminal.png\n// module id = gEfj\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/terminal.b1fee52.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/images/terminal.png\n// module id = gSSO\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/matlab/GeneralizedDiceProbabilities.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Mastering Matlab (1st Edition) Chapter 2'\n },\n {\n title: 'Mastering Matlab (1st Edition) Chapter 3'\n },\n {\n title: 'Mastering Matlab (1st Edition) Chapter 4'\n },\n {\n title: 'Mastering Matlab (1st Edition) Sections 5.1 - 5.8, 5.12'\n },\n {\n title: 'Mastering Matlab (1st Edition) Sections 25.1 - 25.3'\n },\n {\n title: 'Mastering Matlab (1st Edition) Sections 32.1 - 32.2'\n } ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\">> help conv\\n CONV Convolution and polynomial multiplication.\\n C = CONV(A, B) convolves vectors A and B. The resulting\\n vector is length LENGTH(A)+LENGTH(B)-1.\\n If A and B are vectors of polynomial coefficients, convolving\\n them is equivalent to multiplying the two polynomials.\\n>> coin = [0.5 0.5]; % Distribution of a 2-sided die (coin)\\n>> conv(coin, coin) % Note the same answer as our table above!\\n ans =\\n 0.2500 0.5000 0.2500\")])]),_vm._v(\" \"),_vm._m(5)]),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Miscellaneous Requirements\")]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"% DICTIONARY of constants we'll use\\nn = 5; % n is the number of dice we have\\ns = 101; % s is the number of sides on each dice\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"One common pattern in Matlab is first to generate all the data and then\\n to analyze it with different plots. You should do the same thing here:\\n break your program into two different parts, the first to build the array,\\n the second to generate the plot.\")]),_vm._v(\" \"),_vm._m(8),_vm._m(9)]),_vm._v(\" \"),_vm._m(10)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"As children, many of us loved to play Yahtzee and Backgammon and other games with dice. As adults we play Dungeons and Dragons (and other role-playing games) and learn about dice that have more than six sides. Now that we have the benefit of Matlab, we’d like to be able to ask questions about the probability distribution of the sum of \"),_c('var',[_vm._v(\"n\")]),_vm._v(\" different dice, each with \"),_c('var',[_vm._v(\"s\")]),_vm._v(\" sides. There’s a wonderful mathematical connection between this question, the coefficients of polynomials, Pascal’s triangle, the Sierpinski Sieve, Galton boards, binomial distributions, and bell curves (see \"),_c('a',{attrs:{\"href\":\"http://mathworld.wolfram.com/GaltonBoard.html\"}},[_vm._v(\"mathworld.wolfram.com/GaltonBoard.html\")]),_vm._v(\" for a starting point).\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Let’s start with the simplest possible non-trivial case. If we have a\\n two-sided die (a coin!), we would expect that the probability of it landing\\n on the \\\"1\\\" side (heads) is 0.5, the same as the probability of it landing\\n on the \\\"2\\\" (tails) side. Similarly, if we roll a single six-sided die\\n (\"),_c('var',[_vm._v(\"s\")]),_vm._v(\"=6), we would expect a \"),_c('sup',[_vm._v(\"1\")]),_vm._v(\"⁄\"),_c('sub',[_vm._v(\"6\")]),_vm._v(\" probability\\n that it would land on any of the sides 1 to 6.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"What if we throw \"),_c('em',[_vm._v(\"two\")]),_vm._v(\" 2-sided dice? What would the probability\\n distribution of the sum of all of the dice be? Well, there are four\\n outcomes (but only three sums!), as highlighted in the table below. (You\\n should fill in the blanks.) As a sanity check, we recall the sum of the\\n probabilities of all outcomes must be unity.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',{staticClass:\"table table-bordered text-center\"},[_c('tr',[_c('th',[_vm._v(\"die #1\")]),_vm._v(\" \"),_c('th',[_vm._v(\"die #2\")]),_vm._v(\" \"),_c('th',[_vm._v(\"sum\")]),_vm._v(\" \"),_c('th',[_vm._v(\"probability\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"1\")]),_c('td',[_vm._v(\"1\")]),_c('td',[_vm._v(\"2\")]),_c('td',[_vm._v(\"___\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"1\")]),_c('td',[_vm._v(\"2\")]),_c('td',[_vm._v(\"3\")]),_c('td',[_vm._v(\"___\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"2\")]),_c('td',[_vm._v(\"1\")]),_c('td',[_vm._v(\"3\")]),_c('td',[_vm._v(\"___\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"2\")]),_c('td',[_vm._v(\"2\")]),_c('td',[_vm._v(\"4\")]),_c('td',[_vm._v(\"___\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"What if we threw two 6-sided dice? What would the probability\\n distribution of the sums be then? It gets harder to make the table.\\n Fortunately, there’s a built-in Matlab function that can help us with this,\\n namely \"),_c('code',[_vm._v(\"conv\")]),_vm._v(\":\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Please note that when we throw an \"),_c('var',[_vm._v(\"n\")]),_vm._v(\"-sided die \"),_c('var',[_vm._v(\"m\")]),_vm._v(\" times, we need to apply the convolution function (\"),_c('var',[_vm._v(\"m\")]),_vm._v(\" - 1) times.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Problem\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You are to determine and plot the probability distribution of the sum of\\n one through five 101-sided dice. To normalize the five cases, subtract the\\n median value from each of the sums so that the values (and resulting plots)\\n are all centered about 0. E.g., for the coin problem, the sums were 2, 3\\n and 4 and median value was 3, so the normalized sums would be –1, 0 and 1.\\n You will generate one large \"),_c('var',[_vm._v(\"n\")]),_vm._v(\" × 6 two-dimensional array,\\n where \"),_c('var',[_vm._v(\"n\")]),_vm._v(\" is the number of different outcomes for five 101-sided\\n dice. The first column in this matrix should be the normalized sums; the\\n remaining columns list the probabilities of forming those sums with one\\n die, with two dice, and so on up to five dice.\")]),_vm._v(\" \"),_c('table',{staticClass:\"table table-bordered text-center\"},[_c('tr',[_c('th',[_vm._v(\"\\n normalized\"),_c('br'),_vm._v(\"\\n sums\\n \")]),_vm._v(\" \"),_c('th',[_vm._v(\"\\n probabilities for\"),_c('br'),_vm._v(\"\\n one 101-sided die\\n \")]),_vm._v(\" \"),_c('th',[_vm._v(\"\\n probabilities for\"),_c('br'),_vm._v(\"\\n two 101-sided dice\\n \")]),_vm._v(\" \"),_c('th',[_vm._v(\"\\n probabilities for\"),_c('br'),_vm._v(\"\\n three 101-sided dice\\n \")]),_vm._v(\" \"),_c('th',[_vm._v(\"\\n probabilities for\"),_c('br'),_vm._v(\"\\n four 101-sided dice\\n \")]),_vm._v(\" \"),_c('th',[_vm._v(\"\\n probabilities for\"),_c('br'),_vm._v(\"\\n five 101-sided dice\\n \")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"-250\")]),_c('td',[_vm._v(\"0\")]),_c('td',[_vm._v(\"0\")]),_c('td',[_vm._v(\"0\")]),_c('td',[_vm._v(\"0\")]),_c('td',[_vm._v(\"a very small value\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"-249\")]),_c('td',[_vm._v(\"0\")]),_c('td',[_vm._v(\"0\")]),_c('td',[_vm._v(\"0\")]),_c('td',[_vm._v(\"0\")]),_c('td',[_vm._v(\"a very small value\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"...\")]),_c('td',[_vm._v(\"...\")]),_c('td',[_vm._v(\"...\")]),_c('td',[_vm._v(\"...\")]),_c('td',[_vm._v(\"...\")]),_c('td',[_vm._v(\"...\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"-1\")]),_c('td',[_vm._v(\"0.00990099009901\")]),_c('td',[_vm._v(\"0.00980296049407\")]),_c('td',[_vm._v(\"0.00742501463165\")]),_c('td',[_vm._v(\"0.00660001300591\")]),_c('td',[_vm._v(\"0.00592992664476\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\" 0\")]),_c('td',[_vm._v(\"0.00990099009901\")]),_c('td',[_vm._v(\"0.00990099009901\")]),_c('td',[_vm._v(\"0.00742598522179\")]),_c('td',[_vm._v(\"0.00660098359606\")]),_c('td',[_vm._v(\"0.00593053329928\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\" 1\")]),_c('td',[_vm._v(\"0.00990099009901\")]),_c('td',[_vm._v(\"0.00980296049407\")]),_c('td',[_vm._v(\"0.00742501463165\")]),_c('td',[_vm._v(\"0.00660001300591\")]),_c('td',[_vm._v(\"0.00592992664476\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"...\")]),_c('td',[_vm._v(\"...\")]),_c('td',[_vm._v(\"...\")]),_c('td',[_vm._v(\"...\")]),_c('td',[_vm._v(\"...\")]),_c('td',[_vm._v(\"...\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"250\")]),_c('td',[_vm._v(\"0\")]),_c('td',[_vm._v(\"0\")]),_c('td',[_vm._v(\"0\")]),_c('td',[_vm._v(\"0\")]),_c('td',[_vm._v(\"a very small value\")])])]),_vm._v(\" \"),_c('p',[_vm._v(\"Produce a 2D plot similar to what’s displayed in Figure 1. It will have\\n all the probabilities on it simultaneously in different colors, a legend\\n indicating which each one is, and each curve centered on 0 (i.e.,\\n normalized). The x-axis should have the values from your leftmost column\\n above. Put a title on your plot and label the axes.\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/probability-distribution.jpg\"),\"alt\":\"Probability Distribution\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1. Probability distribution of the sum of one to five 101-sided dice.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Since you have yet to learn how to define functions and pass in\\n arguments, but we still want you to write good quality code, you should\\n define two constants (these would have been your function parameters),\\n \"),_c('var',[_vm._v(\"n\")]),_vm._v(\" and \"),_c('var',[_vm._v(\"s\")]),_vm._v(\", and a dictionary that explains what each\\n means. For example:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Changing one line of your code (the \\\"\"),_c('var',[_vm._v(\"s\")]),_vm._v(\"=101\\\" one) to assign\\n \"),_c('var',[_vm._v(\"s\")]),_vm._v(\" another odd value should produce a valid array and plot. For\\n now, it’ll be OK to assume \"),_c('var',[_vm._v(\"n\")]),_vm._v(\" won’t change.\\n\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"At this stage, your code should not include any loops, \"),_c('code',[_vm._v(\"if\")]),_vm._v(\"\\n or \"),_c('code',[_vm._v(\"for\")]),_vm._v(\" constructs. You should comment your code appropriately\\n and save it in an M-file.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"A correctly working M-file, containing commented definitions for \"),_c('var',[_vm._v(\"n\")]),_vm._v(\" and \"),_c('var',[_vm._v(\"s\")]),_vm._v(\" and uses for them as specified.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Avoidance of loops and conditional constructs.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"A printed listing of your labeled, titled plot.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"A printed listing of your M-file, with comments that describe its purpose and its inputs along with internal comments as appropriate.\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0d05c9d9\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/matlab/GeneralizedDiceProbabilities.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./GeneralizedDiceProbabilities.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./GeneralizedDiceProbabilities.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0d05c9d9\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./GeneralizedDiceProbabilities.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/matlab/GeneralizedDiceProbabilities.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/python/PythonPoweredUnitConverter.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Think Python (2nd Edition) Chapter 10',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2011.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 11',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2012.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 12',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2013.html'\n },\n {\n title: 'The Python Tutorial 9.2',\n link: 'https://docs.python.org/3/tutorial/classes.html#python-scopes-and-namespaces'\n },\n {\n title: 'Composing Programs 2.4.2',\n link: 'http://composingprograms.com/pages/24-mutable-data.html#sequence-objects'\n }\n ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('article',{attrs:{\"id\":\"task\"}},[_c('h2',[_vm._v(\"Your Task\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('p',[_vm._v(\"To make the input easy, you'll specify your queries in a simplified\\n format:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(3)]),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"10 mi in m\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"to which your program should respond:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"10 mi = 16093.440000 m\")])])]),_vm._v(\" \"),_c('article',{attrs:{\"id\":\"requirements\"}},[_c('h2',[_vm._v(\"Requirements\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Your text interface doesn't have to be fancy, but it does need to have\\n a few key features:\")]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('p',[_vm._v(\"\\n For example, here is our interface. Note that your program doesn't have to look exactly like ours,\\n it only needs to adhere to the checklist above (and the final checklist below)\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"If you run the following command:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ python3 converter.py\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"You should get (text in bold are user inputs):\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_vm._m(6)])]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Autograder\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n In the starter code, we have provided an autograder for you to verify the correctness\\n of your program before submitting your project. \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Run the autograder with following command:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ python3 autograder.py\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"The autograder contains additional tests for your program and if you passed all of them,\\n you should see something like:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"Autograder Result: 27/27 success, 0 failed.\")])])]),_vm._v(\" \"),_vm._m(10)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"background\"}},[_c('h2',[_vm._v(\"Historical Background (Optional)\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Let's take a trip back down memory lane. Imagine you're a high-paid engineer for NASA, and the date\\n is late September, 1999. The entire agency is all abuzz with the prospect of the\\n \"),_c('a',{attrs:{\"href\":\"https://en.wikipedia.org/wiki/Mars_Climate_Orbiter\"}},[_vm._v(\"Mars Climate Orbiter\")]),_vm._v(\", launched more\\n than nine months ago, reaching a stable orbit around our neighboring red planet and sending back\\n important weather data.\\n \")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/unit_converter_mco_mapping.gif\"),\"width\":\"200\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1. Illustration of the Mars Climate Orbiter\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n On September 23, 1999, your team loses the signal to this multi-million dollar orbiter. In November,\\n after \"),_c('a',{attrs:{\"href\":\"ftp://ftp.hq.nasa.gov/pub/pao/reports/1999/MCO_report.pdf\"}},[_vm._v(\"a lengthy investigation\")]),_vm._v(\",\\n you \"),_c('a',{attrs:{\"href\":\"http://www.cnn.com/TECH/space/9909/30/mars.metric.02/index.html\"}},[_vm._v(\"inform the press of the\\n reasons for the crash\")]),_vm._v(\": data in a software file for calculating trajectory forces was in\\n \"),_c('strong',[_vm._v(\"English units\")]),_vm._v(\" of pound-seconds (lbf-s), but the thruster was \"),_c('em',[_vm._v(\"expecting\")]),_vm._v(\" the\\n data to be in \"),_c('strong',[_vm._v(\"metric units\")]),_vm._v(\" of Newton-seconds (N-s).\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n History records the experience as one of the most egregious and\\n expensive bugs of all time. Engineers and computer scientists the world\\n over vow to be diligent to check, double-check and triple-check the\\n \"),_c('dfn',[_vm._v(\"units\")]),_vm._v(\" in their calculations.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"starter\"}},[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains two file\\n called \"),_c('code',[_vm._v(\"converter.py\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"autograder.py\")]),_vm._v(\".\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"For this project, you'll write a Python program to do \"),_c('dfn',[_vm._v(\"unit\\n conversion\")]),_vm._v(\"—provide the translation of a quantity specified by a\\n certain amount in one \"),_c('em',[_vm._v(\"source\")]),_vm._v(\" unit and a \"),_c('em',[_vm._v(\"destination\")]),_vm._v(\" unit.\\n That is, your program should be able to answer the common question (and\\n many more like it): \"),_c('em',[_vm._v(\"How many meters in 10 miles?\")]),_vm._v(\" (answer: 10 miles\\n = 16,093.44 m)\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_c('em',[_vm._v(\"AMOUNT\")]),_vm._v(\" \"),_c('em',[_vm._v(\"SOURCE_UNIT\")]),_vm._v(\" in \"),_c('em',[_vm._v(\"DESTINATION_UNIT\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"...which will make the understanding, or \"),_c('em',[_vm._v(\"parsing\")]),_vm._v(\" of the input\\n much easier. As an example, this is the way you would specify your earlier\\n request:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('p',[_c('b',[_vm._v(\"Welcome text for your program\")]),_vm._v(\", listing your name, the program's use, and its input format\")])]),_vm._v(\" \"),_c('li',[_c('p',[_c('b',[_vm._v(\"A list of all the categories and units within that category\")]),_vm._v(\" you support so the user knows what they can do\")])]),_vm._v(\" \"),_c('li',[_c('p',[_c('b',[_vm._v(\"A repeating loop\")]),_vm._v(\" that asks for conversions over an over in the format we described above.\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"If the input is valid, output the result in the format of X UNIT_1 = Y UNIT_2.\\n X should exactly match the user input and Y should keep \"),_c('b',[_vm._v(\"6 decimal places\")]),_vm._v(\".\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n If the user input is not exactly right, a \"),_c('em',[_vm._v(\"friendly, helpful\")]),_vm._v(\" error message should be\\n printed along with the prompt again. The message \"),_c('b',[_vm._v(\"should start with \\\"Error: \\\"\")]),_vm._v(\", followed by\\n any message you like.\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_c('b',[_vm._v(\"The program should not crash\")]),_vm._v(\" under any user input (even those illegal ones). The loop should run\\n indefinitely and the only way to quit your program should be entering \"),_c('code',[_vm._v(\"q\")]),_vm._v(\" as the user input.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('code',{staticClass:\"plain\"},[_vm._v(\"Welcome to our Python-powered Unit Converter v1.0 by Dan Garcia!\\nYou can convert Distances, Weights, Volumes to one another, but only\\nwithin units of the same category, which are shown below. E.g.: 1 mi in ft\\n\\n Distances: ft cm mm mi m yd km in\\n Weights: lb mg kg oz g\\n Volumes: floz qt cup mL L gal pint\\n\\nConvert [AMT SOURCE_UNIT in DEST_UNIT, or (q)uit]: \"),_c('b',[_vm._v(\"10 mi in m\")]),_vm._v(\"\\n10 mi = 16093.440000 m\\n\\nConvert (AMT SOURCE_UNIT in DEST_UNIT, or (q)uit): \"),_c('b',[_vm._v(\"1 lb in oz\")]),_vm._v(\"\\n1 lb = 16.000000 oz\\n\\nConvert [AMT SOURCE_UNIT in DEST_UNIT, or (q)uit]: \"),_c('b',[_vm._v(\"123.456789 kg in mg\")]),_vm._v(\"\\n123.456789 kg = 123456789.000000 mg\\n\\nConvert (AMT SOURCE_UNIT in DEST_UNIT, or (q)uit): \"),_c('b',[_vm._v(\"q\")]),_vm._v(\"\\nThanks for converting with us. Y'all come back now, y'hear?\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('article',{attrs:{\"id\":\"conversion-units\"}},[_c('h3',[_vm._v(\"What units do you need to support?\")]),_vm._v(\" \"),_c('p',[_vm._v(\"We would like you to support units in three categories:\\n \"),_c('em',[_vm._v(\"distances\")]),_vm._v(\", \"),_c('em',[_vm._v(\"volumes\")]),_vm._v(\", and \"),_c('em',[_vm._v(\"weights\")]),_vm._v(\" with at least\\n the following units in each category:\")]),_vm._v(\" \"),_c('table',{staticStyle:{\"border-collapse\":\"collapse\",\"margin\":\"0 auto\"}},[_c('tr',[_c('th',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 0 1px 0\"}},[_vm._v(\"Distances\")]),_vm._v(\" \"),_c('th',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 0 1px 0\"}},[_vm._v(\"Volumes\")]),_vm._v(\" \"),_c('th',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 0 1px 0\"}},[_vm._v(\"Weights\")])]),_vm._v(\" \"),_c('tr',[_c('td',{staticStyle:{\"vertical-align\":\"top\"}},[_c('ul',{staticStyle:{\"margin\":\"0\"}},[_c('li',[_c('strong',[_vm._v(\"m\")]),_vm._v(\" (meters)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"cm\")]),_vm._v(\" (centimeters)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"mm\")]),_vm._v(\" (millimeters)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"km\")]),_vm._v(\" (kilometers)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"in\")]),_vm._v(\" (inches)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"ft\")]),_vm._v(\" (feet)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"yd\")]),_vm._v(\" (yards)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"mi\")]),_vm._v(\" (miles)\")])])]),_vm._v(\" \"),_c('td',{staticStyle:{\"vertical-align\":\"top\"}},[_c('ul',{staticStyle:{\"margin\":\"0\"}},[_c('li',[_c('strong',[_vm._v(\"L\")]),_vm._v(\" (liters)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"mL\")]),_vm._v(\" (millileters)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"floz\")]),_vm._v(\" (fluid ounces)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"cup\")]),_vm._v(\" (cups)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"pint\")]),_vm._v(\" (pints)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"qt\")]),_vm._v(\" (quarts)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"gal\")]),_vm._v(\" (gallons)\")])])]),_vm._v(\" \"),_c('td',{staticStyle:{\"vertical-align\":\"top\"}},[_c('ul',{staticStyle:{\"margin\":\"0\"}},[_c('li',[_c('strong',[_vm._v(\"g\")]),_vm._v(\" (grams)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"kg\")]),_vm._v(\" (kilograms)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"mg\")]),_vm._v(\" (milligrams)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"oz\")]),_vm._v(\" (ounces)\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"lb\")]),_vm._v(\" (pounds)\")])])])])]),_vm._v(\" \"),_c('p',[_vm._v(\"You should be able to convert any amount of a unit in any category to\\n any other unit in the same category.\")])]),_vm._v(\" \"),_c('article',{attrs:{\"id\":\"conversion-constants\"}},[_c('h3',[_vm._v(\"Where to find the conversion constants\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n There are many websites and books with conversion constants listed, so feel free to get this\\n data any way you wish. One great source is Google, which happens to have the exact same format\\n for specifying these conversions. You can use Google to find out how many \"),_c('em',[_vm._v(\"source\")]),_vm._v(\" units\\n are in a \"),_c('em',[_vm._v(\"destination\")]),_vm._v(\" unit by typing \\\"\"),_c('code',[_vm._v(\"1 \"),_c('em',[_vm._v(\"source_unit\")]),_vm._v(\" in \"),_c('em',[_vm._v(\"destination_unit\")])]),_vm._v(\"\\\"\\n and build internal tables to store these answers. See the Hints section below\\n to see how we suggest you approach the internal details of storing the information.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n At this point, you might wonder why we're doing all this work if Google can do it for us. First,\\n we don't always have access to the Internet. Second, it's a valuable beginning programming activity.\\n \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"approaches\"}},[_c('h2',[_vm._v(\"Potential Approaches\")]),_vm._v(\" \"),_c('p',[_vm._v(\"How should you store all of the multiplying factors between units?\\n There's the \"),_c('em',[_vm._v(\"hard\")]),_vm._v(\" way and the \"),_c('em',[_vm._v(\"easy\")]),_vm._v(\" way to think about it.\\n The particular Python data type you should use is something you should\\n consider on your own.\")]),_vm._v(\" \"),_c('article',[_c('h4',[_vm._v(\"The Hard Way\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The hard way is to build an internal two-dimensional table of the conversion of \"),_c('em',[_vm._v(\"every\")]),_vm._v(\" unit to \"),_c('em',[_vm._v(\"every other\")]),_vm._v(\" unit for every category. This is really painful. Imagine how many translators the \"),_c('a',{attrs:{\"href\":\"http://www.un.org/\"}},[_vm._v(\"United Nations\")]),_vm._v(\" would need if they had 1,000 people speaking different languages and they used this model...a million people!\")])]),_vm._v(\" \"),_c('article',[_c('h4',[_vm._v(\"The Easy Way\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The easy way is to find a common, base unit (e.g., \"),_c('strong',[_vm._v(\"meters\")]),_vm._v(\" for distances) and then just store the constant (e.g., 1000 for kilometers) that is used to convert from the base unit to that unit. To convert from two units in the same category (neither of which are the base unit), you simply convert from your \"),_c('code',[_c('em',[_vm._v(\"SOURCE_UNIT\")])]),_vm._v(\" to the base unit, then from that to the \"),_c('code',[_c('em',[_vm._v(\"DESTINATION_UNIT\")])]),_vm._v(\". Using the previous analogy you'd only need to hire 1,000 translators at the UN -- as long as each could translate to and from their language to a common language, like one of the \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Click_consonant\"}},[_vm._v(\"click languages\")]),_vm._v(\". For the math-minded among you, the reason this works is that the conversion among all of our units is a \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Linear\"}},[_vm._v(\"Linear\")]),_vm._v(\", \"),_c('a',{attrs:{\"href\":\"http://en.wikipedia.org/wiki/Transitive_relation\"}},[_vm._v(\"Transitive relation\")]),_vm._v(\".\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"testing\"}},[_c('h2',[_vm._v(\"Testing\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Test each function in your program with enough different inputs to show\\n that it works. When testing a function, print out the input, the expected\\n result, and the actual result.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You are required to write docstring and doctest for every function you\\n write and also write comments to explain what your code is doing. You may\\n refer to the previous assignment for testing related requirements.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"checklist\"}},[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('p',[_vm._v(\"These are the requirements to meet for project completion.\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Use of functions—your program must be broken down into one or more functions—it cannot be one big long script.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Each function has a docstring that summarizes its purpose and provides a description of its inputs and outputs.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Tests and test output for each function in the program.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"All functions and variables have meaningful names.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Tests showing the program produces correct translations among all the units of a category.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"All of the features listed in the Requirements section above.\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1173ffa4\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/python/PythonPoweredUnitConverter.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PythonPoweredUnitConverter.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PythonPoweredUnitConverter.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1173ffa4\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./PythonPoweredUnitConverter.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/python/PythonPoweredUnitConverter.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/47b/HashingExercises.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_vm._m(0),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Miscellaneous Information\")]),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('ul',[_c('li',[_vm._m(3),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public boolean equals(Object obj)\")])]),_vm._v(\" \"),_vm._m(4)]),_vm._v(\" \"),_vm._m(5)]),_vm._v(\" \"),_vm._m(6)]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Exercise 1\")]),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_c('p',[_vm._v(\"The following questions are meant to test your understanding of a hash map's\\n internal structure, and what makes a good hash function. Turn in your diagrams\\n to a tutor and answer the additional questions.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Your mathematician friend has read about hash maps,\\n and naively made this class, which represents numbers mod 3.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"public class NumberMod3() {\\n int num;\\n public NumberMod3(int n){\\n num = n;\\n }\\n public int hashCode() {\\n return num * 3;\\n }\\n public boolean equals(NumberMod3 other) {\\n return num % 3 == other.getInt() % 3;\\n }\\n public int getInt(){\\n return num;\\n }\\n}\")])]),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_c('ol',[_c('li',[_vm._m(10),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"map.put(new numberMod3(1), 1)\\nmap.put(new numberMod3(2), 2)\\n/* DIAGRAM 1: diagram of hash map at this point */\\nmap.put(new numberMod3(4), 4)\\nmap.put(new numberMod3(5), 5)\\nmap.put(new numberMod3(6), 6)\\n/* DIAGRAM 2: diagram of hash map at this point */\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"The following diagram is an example of how a hashmap of size 5 may look like.\")]),_vm._v(\" \"),_vm._m(11)]),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_vm._m(13)])]),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Exercise 3\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Two CS 47B students have a jug filled with eight liters of Jolt Cola\\n that they wish to divide evenly between them. They have two other empty jugs with\\n capacities of five and three liters respectively (therefore three jugs in total).\\n These jugs are unmarked and no other measuring device is available. How can they\\n accomplish the equal division?\")]),_vm._v(\" \"),_vm._m(15),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_c('ul',[_c('li',[_vm._m(18),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"8 5 3 8 0 4\")])])]),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_vm._m(20)])]),_vm._v(\" \"),_vm._m(21)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Reading\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('cite',[_vm._v(\"Data Structures and Problem Solving using Java (4th Edition)\")]),_vm._v(\" Chapter 20\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n In this course, we are concerned only with chained hash tables.\\n Techniques discussed in \"),_c('cite',[_vm._v(\"Data Structures and Problem Solving using\\n Java (4th Edition)\")]),_vm._v(\" Sections 20.3 - 20.4 that store colliding\\n elements elsewhere in the table are not used frequently enough to be of\\n interest here. Examples here use the \"),_c('code',[_vm._v(\"java.util.Hashtable\")]),_vm._v(\"\\n class.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n There are two potentially confusing aspects of the\\n \"),_c('code',[_vm._v(\"java.util.Hashtable\")]),_vm._v(\" class.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"It stores only objects for which the \"),_c('code',[_vm._v(\"hashCode\")]),_vm._v(\" and\\n \"),_c('code',[_vm._v(\"equals\")]),_vm._v(\" methods have been overridden. In particular, the\\n signature of the \"),_c('code',[_vm._v(\"equals\")]),_vm._v(\" method must be\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"so the code within the \"),_c('code',[_vm._v(\"equals\")]),_vm._v(\" method will probably\\n include a cast.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_vm._v(\"\\n It associates \"),_c('dfn',[_vm._v(\"keys\")]),_vm._v(\" with \"),_c('dfn',[_vm._v(\"values\")]),_vm._v(\", so the \"),_c('code',[_vm._v(\"put\")]),_vm._v(\"\\n method takes two objects as arguments, a key and its associated value. To use\\n a \"),_c('code',[_vm._v(\"HashTable\")]),_vm._v(\" object merely to store a set, represent the set elements\\n as keys and choose some arbitrary value to go with each key.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Two alternatives to \"),_c('code',[_vm._v(\"Hashtable\")]),_vm._v(\" are \"),_c('code',[_vm._v(\"HashMap\")]),_vm._v(\"\\n (similar to \"),_c('code',[_vm._v(\"Hashtable\")]),_vm._v(\") and \"),_c('code',[_vm._v(\"HashSet\")]),_vm._v(\". Consult the\\n Java API for more information about these classes. You may use them instead\\n of \"),_c('code',[_vm._v(\"Hashtable\")]),_vm._v(\" if you wish.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains three folders\\n containing starter code for exercise 1 to 3. There is no starter code for exercise 0.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"(You do not need to write any code for this exercise)\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Assume he declares map to be a \"),_c('code',[_vm._v(\"HashMap\")]),_vm._v(\",\\n and initializes it to have \"),_c('b',[_vm._v(\"an initial size\\n of 8\")]),_vm._v(\" and to have \"),_c('b',[_vm._v(\"a load factor of 1/2\")]),_vm._v(\". This means it resizes\\n whenever it hits more than N / 2 elements in the table, where\\n N (initially 8) is the current size the of the table.\\n Assume further the table uses linked-list chaining and has a\\n \"),_c('b',[_vm._v(\"resize factor of 2\")]),_vm._v(\" (doubles in size whenever resized).\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"Draw TWO diagrams\")]),_vm._v(\" of the internal structure of the hash map after these\\n operations.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/hashmap.png\"),\"width\":\"500\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"\\n As a veteran java user, you realize some potential problems with the\\n \"),_c('code',[_vm._v(\"hashCode()\")]),_vm._v(\" function and \"),_c('code',[_vm._v(\"equals()\")]),_vm._v(\" function. \"),_c('b',[_vm._v(\"Give\\n an example\")]),_vm._v(\" of how \"),_c('code',[_vm._v(\"hashCode()\")]),_vm._v(\" could be ineffective, and \"),_c('b',[_vm._v(\"an\\n example\")]),_vm._v(\" of how \"),_c('code',[_vm._v(\"equals()\")]),_vm._v(\" could be ineffective, and suggest\\n improvements. (hint: what are some values of initialization when the hash\\n map would be ineffective?)\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"\\n Additional checkoff questions:\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"What is the worst-case runtime of a single get and put operation?\")]),_vm._v(\" \"),_c('li',[_vm._v(\"What is the average case runtime? Be prepared to explain why, and how resizing affects it.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"What are some properties of a good hash function?\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Exercise 2\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The code in \"),_c('code',[_vm._v(\"TTThashTest.java\")]),_vm._v(\" stores all possible Tic-tac-toe boards\\n into a \"),_c('code',[_vm._v(\"java.util.Hashtable\")]),_vm._v(\" object. \"),_c('b',[_vm._v(\"Add two versions of hashCode method\")]),_vm._v(\" to the \"),_c('code',[_vm._v(\"TTTboard\")]),_vm._v(\"\\n class in \"),_c('code',[_vm._v(\"TTTboard.java\")]),_vm._v(\" that \"),_c('b',[_vm._v(\"test two ways\")]),_vm._v(\" to hash Tic-tac-toe boards:\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"In one, you should convert the board to a \"),_c('code',[_vm._v(\"String\")]),_vm._v(\" and then use the\\n \"),_c('code',[_vm._v(\"String hashCode()\")]),_vm._v(\" function.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"In the other, you should interpret the\\n Tic-tac-toe board as a nine-digit base 3 numeral and return the corresponding integer\\n as the hash value. Compare the performance of these two implementations.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"In many Java environments, \"),_c('code',[_vm._v(\"String\")]),_vm._v(\" methods are \\\"native\\\",\\n that is, they are supplied in the machine language of the computer on which\\n the program is executing. The data you collect in this exercise should\\n indicate whether or not this is the case on the computer you're using.\")]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(\"Report your results\")]),_vm._v(\" of the two hash functions and try to \"),_c('b',[_vm._v(\"explain\")]),_vm._v(\" what might cause the difference.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The file \"),_c('code',[_vm._v(\"JugSolver.java\")]),_vm._v(\" contains part of a program to solve this problem.\\n The program recursively searches to find a sequence of steps (each step pours one jug\\n into another) that produces the desired amount. The program has a flaw, namely that it\\n doesn't keep track of configurations that it has seen before; infinite recursion results.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Without changing any of the existing code (except perhaps to change the\\n value of the \"),_c('code',[_vm._v(\"DEBUGGING\")]),_vm._v(\" variable), \"),_c('b',[_vm._v(\"add statements that fix the\\n program\")]),_vm._v(\". In particular, you are to use a \"),_c('code',[_vm._v(\"java.util.Hashtable\")]),_vm._v(\"\\n object to keep track of configurations already seen. \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"Requirements:\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"Test\")]),_vm._v(\" your completed program on the following arguments, which correspond to the problem stated above.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_c('b',[_vm._v(\"Indicate\")]),_vm._v(\", on the program listing you bring to the Self-Paced Center\\n for grading, what you added to the framework code.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_c('b',[_vm._v(\"Explain\")]),_vm._v(\" to a tutor about the entire program, what is the meaning/function of each variable and method,\\n including those already provided from the starter code.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correct solutions to all three exercises:\\n \"),_c('ul',[_c('li',[_vm._v(\"evaluation of the four hash functions in \"),_c('code',[_vm._v(\"Hashtable.java\")]),_vm._v(\";\")]),_vm._v(\" \"),_c('li',[_vm._v(\"comparison of hash functions for Tic-tac-toe boards;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"use of a \"),_c('code',[_vm._v(\"java.util.Hashtable\")]),_vm._v(\" object to help solve the jug-pouring problem.\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"Transcripts of test results.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Listings of your programs, indented to show their structure, accompanied by comments that describe their purpose and arguments.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Reasonable names for functions and parameters.\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3010f016\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/47b/HashingExercises.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./HashingExercises.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./HashingExercises.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3010f016\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./HashingExercises.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/47b/HashingExercises.vue\n// module id = null\n// module chunks = ","var map = {\n\t\"./47b/DataStructureDesign.vue\": \"qqOh\",\n\t\"./47b/GraphRepresentations.vue\": \"pl32\",\n\t\"./47b/Hashing.vue\": \"BBhc\",\n\t\"./47b/Heaps.vue\": \"pchs\",\n\t\"./47b/Iterators.vue\": \"KX0E\",\n\t\"./c/ArraysStructuresAndFiles.vue\": \"P4Ks\",\n\t\"./c/FunctionsAndArgumentPointers.vue\": \"ffab\",\n\t\"./c/Fundamentals.vue\": \"Z/J0\",\n\t\"./c/GeneralUseOfPointers.vue\": \"1AYB\",\n\t\"./c/LinkedStructures.vue\": \"75s4\",\n\t\"./cpp/ClassDesign.vue\": \"Vfw+\",\n\t\"./cpp/DynamicallyAllocatedData.vue\": \"gA89\",\n\t\"./cpp/Fundamentals.vue\": \"vWFV\",\n\t\"./cpp/VectorsAndIoStreams.vue\": \"sz+z\",\n\t\"./java/AdvancedObjectsAndClasses.vue\": \"UJvk\",\n\t\"./java/DataStructures.vue\": \"RtRv\",\n\t\"./java/Exceptions.vue\": \"FrHh\",\n\t\"./java/Fundamentals.vue\": \"+bZQ\",\n\t\"./java/GuiFundamentals.vue\": \"27jO\",\n\t\"./matlab/AdvancedArrayAndMatrixOperations.vue\": \"g7qt\",\n\t\"./matlab/CellArraysAndStructures.vue\": \"+iN6\",\n\t\"./matlab/IntroductionToArrayAndMatrixOperations.vue\": \"9tuQ\",\n\t\"./matlab/PlottingAndFunctionHandles.vue\": \"Dm8o\",\n\t\"./matlab/SymbolicMathOperations.vue\": \"uw1E\",\n\t\"./python/CollectionsAndMutations.vue\": \"At3f\",\n\t\"./python/ExpressionsAndFunctions.vue\": \"XZPl\",\n\t\"./python/InputAndOutput.vue\": \"K5Iz\",\n\t\"./python/ObjectOrientedProgramming.vue\": \"TlAw\",\n\t\"./python/TkinterAndEventBasedProgramming.vue\": \"qz/x\",\n\t\"./unix/BashScripting.vue\": \"Af5B\",\n\t\"./unix/Fundamentals.vue\": \"jAIN\",\n\t\"./unix/GrepAndSed.vue\": \"aTA7\",\n\t\"./unix/Ssh.vue\": \"2O0K\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"iFY5\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes \\.(js|vue)$/\n// module id = iFY5\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/matlab/CorrelationCoefficient.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Mastering Matlab (1st Edition) Chapter 2'\n },\n {\n title: 'Mastering Matlab (1st Edition) Chapter 3'\n },\n {\n title: 'Mastering Matlab (1st Edition) Chapter 4'\n },\n {\n title: 'Mastering Matlab (1st Edition) Sections 5.1 - 5.8, 5.12'\n },\n {\n title: 'Mastering Matlab (1st Edition) Sections 25.1 - 25.3'\n },\n {\n title: 'Mastering Matlab (1st Edition) Sections 32.1 - 32.2'\n } ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Problem\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Write a MATLAB M-file that reads two arrays of equal size from the user\\n and determines their \"),_c('dfn',[_vm._v(\"correlation coefficient\")]),_vm._v(\". The correlation\\n coefficient is a number between –1 and 1; coefficient values close to –1 or\\n 1 mean that there is a linear relation between corresponding data values in\\n the two arrays. To find the correlation coefficient between values in\\n arrays \"),_c('var',[_vm._v(\"xvalues\")]),_vm._v(\" and \"),_c('var',[_vm._v(\"yvalues\")]),_vm._v(\", do the following:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Convert the values to standard units. That is, for each value in\\n \"),_c('var',[_vm._v(\"xvalues\")]),_vm._v(\", subtract the mean of the \"),_c('var',[_vm._v(\"xvalues\")]),_vm._v(\" values and divide by the\\n \"),_c('var',[_vm._v(\"xvalues\")]),_vm._v(\" standard deviation, and for each value in \"),_c('var',[_vm._v(\"yvalues\")]),_vm._v(\", subtract the\\n mean of the \"),_c('var',[_vm._v(\"yvalues\")]),_vm._v(\" values and divide by the \"),_c('var',[_vm._v(\"yvalues\")]),_vm._v(\" standard\\n deviation.\")]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"The average of the products of corresponding standard unit scores\\n gives the correlation coefficient.*\")]),_vm._v(\" \"),_c('p',[_c('sub',[_vm._v(\"*Source: \"),_c('cite',[_vm._v(\"Statistics\")]),_vm._v(\" by Freedman, Pisani, and\\n Purves (Norton, 1978). Some authors describe a difference computation\\n for the correlation coefficient, the result of dividing the sum of the\\n products of corresponding standard unit scores by \"),_c('var',[_vm._v(\"N–1\")]),_vm._v(\"\\n instead of by \"),_c('var',[_vm._v(\"N\")]),_vm._v(\", where \"),_c('var',[_vm._v(\"N\")]),_vm._v(\" is the number of scores\\n in each list. This obviously produces a different value.\")])])])]),_vm._v(\" \"),_c('p',[_vm._v(\"Here's an example:\")]),_vm._v(\" \"),_c('table',{staticClass:\"table table-bordered text-center\"},[_c('tr',[_c('th',[_c('var',[_vm._v(\"xvalues\")]),_vm._v(\" values\"),_c('br'),_vm._v(\"\\n (mean = 4, SD = 2)\\n \")]),_vm._v(\" \"),_c('th',[_c('var',[_vm._v(\"yvalues\")]),_vm._v(\" values\"),_c('br'),_vm._v(\"\\n (mean = 7, SD = 4)\\n \")]),_vm._v(\" \"),_c('th',[_c('var',[_vm._v(\"xvalues\")]),_vm._v(\" values in\"),_c('br'),_vm._v(\"\\n standard units\\n \")]),_vm._v(\" \"),_c('th',[_c('var',[_vm._v(\"yvalues\")]),_vm._v(\" values in\"),_c('br'),_vm._v(\"\\n standard units\\n \")]),_vm._v(\" \"),_c('th',[_vm._v(\"products\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"1\")]),_c('td',[_vm._v(\" 5\")]),_c('td',[_vm._v(\"–1.5\")]),_c('td',[_vm._v(\"–0.5\")]),_c('td',[_vm._v(\" 0.75\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"3\")]),_c('td',[_vm._v(\" 9\")]),_c('td',[_vm._v(\"–0.5\")]),_c('td',[_vm._v(\" 0.5\")]),_c('td',[_vm._v(\"–0.25\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"4\")]),_c('td',[_vm._v(\" 7\")]),_c('td',[_vm._v(\" 0.0\")]),_c('td',[_vm._v(\" 0.0\")]),_c('td',[_vm._v(\" 0.0 \")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"5\")]),_c('td',[_vm._v(\" 1\")]),_c('td',[_vm._v(\" 0.5\")]),_c('td',[_vm._v(\"–1.5\")]),_c('td',[_vm._v(\"–0.75\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"7\")]),_c('td',[_vm._v(\"13\")]),_c('td',[_vm._v(\" 1.5\")]),_c('td',[_vm._v(\" 1.5\")]),_c('td',[_vm._v(\" 2.25\")])])]),_vm._v(\" \"),_c('p',[_vm._v(\"The correlation coefficient is 0.40.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Miscellaneous Requirements\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Every line in your M-file should be an assignment to a scalar or an\\n array. The first two lines should call the input function; others should\\n carry out the computation. You should assign the correlation coefficient to\\n a variable named answer in the last statement of the M-file.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Matlab provides \"),_c('code',[_vm._v(\"std\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"corrcoef\")]),_vm._v(\" functions\\n that implement somewhat different computations. Don’t use these.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Test your M-file on the above values as well as on a pair of arrays that\\n produces a correlation coefficient of –0.5. Be prepared to verify your\\n computation to a tutor.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"\\n A correctly working M-file, each of whose lines is an assignment statement as described,\\n and whose last line is an assignment to the variable \"),_c('var',[_vm._v(\"answer\")]),_vm._v(\".\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Avoidance of the builtin \"),_c('code',[_vm._v(\"std\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"corrcoef\")]),_vm._v(\" functions.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n A printed listing of your command window, displaying the specified test cases and results.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n A printed listing of your M-file, with each line accompanied by comments that describe its\\n purpose and its inputs.\\n \")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-b884438c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/matlab/CorrelationCoefficient.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CorrelationCoefficient.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CorrelationCoefficient.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-b884438c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CorrelationCoefficient.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/matlab/CorrelationCoefficient.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 1: Fundamentals\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 1'\n },\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 2 (excluding Sections 2.9 and 2.15)'\n },\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 3'\n },\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 4'\n },\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 6'\n },\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 7'\n },\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 8 (excluding Sections 8.10)'\n },\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 9'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Given the directory listing below, answer the following questions.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"~ $ ls -al q1\\ntotal 16\\ndr-xr-x--- 2 me users 4096 2006-09-29 13:58 .\\ndrwx--x--x 127 me users 8192 2006-09-29 13:58 ..\\n-r--r----- 1 me users 42 2006-09-29 13:58 data\")])]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Do you have sufficient permissions to edit the file 'data'? Explain.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Do you have sufficient permissions to delete the file 'data'? Explain.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Do you have sufficient permissions to add new files to the 'q1' directory? Explain.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Do you have sufficient permissions to delete the 'q1' directory? Explain.\")])]),_vm._v(\" \"),_c('p')]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Mario woke up this morning and decided to get a present for Princess\\n Peach. He has a file named 'given' listing all the presents he has given\\n her in the past two months. He has another file 'desired' in which Peach\\n listed all the presents she wanted. Toad just sent Mario another file\\n called 'for_sale' in which Toad lists all the items he has for sale\\n today. Each file has one item per line.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Example:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"Banana Peel\\nRed Shell\\nGold Mushroom\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Create a series of commands to help Mario figure out what to buy\\n Peach. The result should be a list of items which Peach wants, Toad has\\n in stock, and which Mario has not bought her already.\")])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"As part of your research, you need to run an 'analisis.sh' script.\\n This time, however, it's taking longer to execute than usual, and you\\n would like to move it from the foreground to the background. What key\\n strokes and commands should you use to make this happen?\")])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n N/A\\n \")])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Overview\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This practice quiz is designed to prepare you for your first quiz. The\\n length and difficulty should match the real quiz, while the exact material\\n covered may be different. On the real quiz, you may see any material\\n covered in the first unit readings.\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5cb903a2\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/unix/Fundamentals.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5cb903a2\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Fundamentals.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/unix/Fundamentals.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/unix/RemoteProcessExecution.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Section 13.12'\n },\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Sections 11.1 - 11.9'\n }\n ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Part 4: Version Control\")]),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('p',[_vm._v(\"To do this assignment, first you must create a repository. To create a\\n repository, type:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ svnadmin create /path/to/repository\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"You should not directly edit any of the files in the repository\\n folder.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Next, you will need to \\\"check out\\\" a copy of the repository in a new\\n folder:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ svn checkout file:///full/path/to/repository newfolder\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Use 'script' to record the following commands and their output so that\\n you can show them to a tutor:\")]),_vm._v(\" \"),_vm._m(5)]),_vm._v(\" \"),_vm._m(6)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Overview\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This assignment will give you an introduction to networking, SSH, and\\n how to do remote process execution.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Part 1: Create SSH Key\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Create a single passphrase protected ssh key for both accounts, and\\n setup your accounts to allow logins based on this key.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Part 2: SSH Agent\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You can use \"),_c('code',[_vm._v(\"ssh-agent\")]),_vm._v(\" to store your keys after they have\\n been decrypted with your passphrase. This way, you can enter your\\n passphrase once (when you execute \"),_c('code',[_vm._v(\"ssh-add\")]),_vm._v(\") rather than every\\n time you make a connection with \"),_c('code',[_vm._v(\"ssh\")]),_vm._v(\". Setup\\n \"),_c('code',[_vm._v(\"ssh-agent\")]),_vm._v(\", add your key to the agent, and connect to your\\n other account using without needing to enter a passphrase or password. Save\\n this session to a transcript which you will show your tutor for a checkoff.\\n (Note/Clarification: You will need to enter your passphrase when you add\\n your key to the agent, but you don't enter the passphrase when connecting\\n to the other account.)\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Part 3: Remote Process Execution\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Using a bash for loop, ssh, and other common unix commands, create an\\n \"),_c('code',[_vm._v(\"alias\")]),_vm._v(\" that lists all users logged on to any of the following\\n servers: cory and ashby. You should not need to enter a password\\n (hint, finish part 2 fist), and your list should be sorted with no repeated\\n entries. For checkoff, bring in a transcript which shows the alias\\n definition and usage.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('a',{attrs:{\"href\":\"http://svnbook.red-bean.com\",\"target\":\"_blank\"}},[_vm._v(\"Version Control with Subversion\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',[_c('li',[_vm._v(\"Create a new empty file, test.txt, and add it to the repository.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Add some text to the file, and commit the change to the repository.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Check out a second copy of the repository in a second new folder. Using these two copies of the text file \"),_c('u',[_vm._v(\"in your local folders\")]),_vm._v(\", create a conflict in test.txt, and then resolve the conflict.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Create another file, commit it to the repository, and then delete it from the repository. Do not use \\\"rm\\\".\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 1\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student can demonstrate logging in to both accounts using their ssh key (not password).\")])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 2\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student's transcript shows correct usage of ssh-agent and ssh-add.\")])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 3\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student's transcript shows correct alias definition and usage.\")])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 4\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student's transcript shows correct usage of Subversion.\")])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-8aa79134\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/unix/RemoteProcessExecution.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./RemoteProcessExecution.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./RemoteProcessExecution.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-8aa79134\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./RemoteProcessExecution.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/unix/RemoteProcessExecution.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/unix/ProcessManagement.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 7'\n }\n ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Part 3: Crontab\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Due to security restrictions, most of the instructional machines restrict usage of cron and at. Your cs9e\\n accounts, however, are allowed to use these on one instructional machine. For this part of the assignment,\\n you will need to use ward.cs.berkeley.edu (this was just updated 2/27/2018)\\n \")]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"Mon Sep 11 14:13:34 PDT 2006\\nDisk quotas for cs9e-1 (uid 20620):\\nFilesystem usage quota limit timeleft files quota limit timeleft\\n/home/ff 17408 2147483644 2147483644 1089 -1 -1\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n You will need to show the tutor the crontab entry as well as the web\\n output.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n By default, cron will e-mail your cs9e account every time a cron job\\n runs. You should redirect this output to a file instead. For example,\\n cron job command with redirection of messages:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"/home/xx/cs9e-xx/cronoutput 2>&1\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Two hints:\")]),_vm._v(\" \"),_c('ul',[_vm._m(4),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"You need to fully qualify all paths in a cron job. For example, if you would want cron to run:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"ls ~/public_html/readme.txt\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"...your cron job should say...\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"/usr/bin/ls /home/xx/cs9e-xx/public_html/readme.txt\")])])])])]),_vm._v(\" \"),_vm._m(5)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Overview\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This assignment will give you an introduction to UNIX processes; you\\n will learn how to find out information on and manage running tasks.\\n Additionally, you will learn how to schedule processes to run automatically\\n for you with cron and at. As of the creation of this assignment, however,\\n at and cron are disabled on the instructional accounts for security\\n concerns, so you won't actually be able to use thm. We are in the process\\n of talking to instructional support to find a solution.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Part 1: Questions\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Answer the following questions and bring them in for a tutor to\\n evaluate:\\n \")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('p',[_vm._v(\"What keystroke sequence do you execute to suspend a running terminal process that is in the foreground?\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"When terminating a process, why is it important to try 'kill' before doing 'kill -9'?\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Part 2: Managing What's Running\")]),_vm._v(\" \"),_c('ol',[_c('li',[_vm._v(\"\\n Execute the program 'cat' with no arguments. This will cause the program to wait for user input and\\n appear to be a hung process. Pretend this actually IS a hung process and execute the necessary commands\\n to do the following tasks from within the same session:\\n\\n \"),_c('ol',{attrs:{\"type\":\"a\"}},[_c('li',[_vm._v(\"Suspend the process\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Discover the process ID\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Kill the process\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Again, execute the program 'cat' with no arguments and pretend it is a hung process. Login to your\\n account in a separate session and execute the necessary commands to do the following:\\n \"),_c('ol',{attrs:{\"type\":\"a\"}},[_c('li',[_vm._v(\"Discover the process ID\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Kill the process\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n Execute a command which will find all files in /usr/sww/opt \"),_c('span',{staticStyle:{\"color\":\"#ff0000\",\"text-decoration\":\"line-through\"}},[_vm._v(\"(Note [08/29/17]: This directory may not exist on your instructional server. Try connecting to cory.cs.berkeley.edu.)\")]),_vm._v(\" \"),_c('span',{staticStyle:{\"color\":\"#ff0000\"}},[_vm._v(\"(Note [09/24/17]: If you cannot find the folder on cory.cs.berkeley.edu or any other instructional server, try /usr/lib instead.)\")]),_vm._v(\" and its subdirectories that contain the character sequence 'java' in their filename, and have this output stored to the file 'javafiles' in your home directory. This will take a while to finish, so make sure to have the process run in the background, so you can do other tasks while you wait. How can you verify that the process is still running and not a hung?\\n \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Create a cron job which updates a web-accessible document every 15 minutes,\\n http://inst.eecs.berkeley.edu/~/disk_usage.txt. This document should contain \"),_c('b',[_vm._v(\"the time\")]),_vm._v(\"\\n of last update \"),_c('b',[_vm._v(\"AND\")]),_vm._v(\" a summary of your \"),_c('b',[_vm._v(\"disk quota usage\")]),_vm._v(\". For example:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_vm._v(\"\\n You can see your quota usage with the \"),_c('code',[_vm._v(\"quota -v\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 1\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student correctly and intelligently answers all questsions\")])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 2\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student correctly answers all questions and provides a transcript showing their interaction with the system\")])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 3\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student can adequately explain how cron works and how their page is being updated.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student's web output is correct and updated hourly\")])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-ba93bc8a\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/unix/ProcessManagement.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./ProcessManagement.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./ProcessManagement.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ba93bc8a\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./ProcessManagement.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/unix/ProcessManagement.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/AmoebaFamily.b7d9236.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/47b/images/AmoebaFamily.png\n// module id = l0wr\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/matlab/CellularAutomation.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Problem\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('p',[_vm._v(\"You can display your call to Life1D with the following command (assuming\\n you wanted to view 50 generated rows of rule #30, the same rule as in the\\n image above):\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"> bw = gray(2); colormap(bw(end:-1:1,:));\\n> imagesc(Life1D(50,30)); axis square off equal\")])])]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_vm._m(6)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Reading\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Chapter 7\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Chapter 10\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Sections 11.1 - 11.4\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Sections 12.1 - 12.3, 12.6, 12.9 - 12.11\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Chapter 13\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_c('p',[_vm._v(\"In 1983, Steven Wolfram introduced \"),_c('a',{attrs:{\"href\":\"http://mathworld.wolfram.com/ElementaryCellularAutomaton.html\"}},[_vm._v(\"elementary cellular automata\")]),_vm._v(\" that had wonderful repetitive and chaotic properties. Starting with a single \\\"live\\\" cell in the center of the top row (with the rest of the row \\\"dead\\\") and following a simple set of rules based on the cells above, further generations (rows) automatically evolve. If each next generation is displayed below the previous one, a beautiful 2D structure is created, as in the example above. Rules resemble those of \"),_c('a',{attrs:{\"href\":\"https://en.wikipedia.org/wiki/Conway's_Game_of_Life\"}},[_vm._v(\"Conway's \\\"Game of Life\\\"\")]),_vm._v(\", but in one dimension rather than two—hence the name \\\"Life1D\\\".\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/rule30.jpg\"),\"alt\":\"Rule 30\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Life 1D: \"),_c('a',{attrs:{\"href\":\"http://mathworld.wolfram.com/Rule30.html\"}},[_vm._v(\"Rule 30\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"In the file \"),_c('code',[_vm._v(\"Life1D.m\")]),_vm._v(\", provide the code for the function\\n \"),_c('code',[_vm._v(\"Life1D\")]),_vm._v(\". \"),_c('code',[_vm._v(\"Life1D\")]),_vm._v(\" takes two arguments, a positive\\n integer \"),_c('var',[_vm._v(\"n\")]),_vm._v(\" and an integer \"),_c('var',[_vm._v(\"ruleNum\")]),_vm._v(\" between 0 and 255,\\n inclusive:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('var',[_vm._v(\"n\")]),_vm._v(\" specifies the number of rows to generate (we don’t count the first \\\"seed row\\\" which is all dead except for the central live cell);\")]),_vm._v(\" \"),_c('li',[_c('var',[_vm._v(\"ruleNum\")]),_vm._v(\" specifies which of the 256 possible rules to use.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"Life1D\")]),_vm._v(\" returns an (\"),_c('var',[_vm._v(\"n\")]),_vm._v(\"+1) by (2\"),_c('var',[_vm._v(\"n\")]),_vm._v(\"+1)\\n \"),_c('code',[_vm._v(\"uint8\")]),_vm._v(\" array of 1s and 0s that represents \"),_c('var',[_vm._v(\"n\")]),_vm._v(\"\\n applications of rule \"),_c('var',[_vm._v(\"ruleNum\")]),_vm._v(\" to the starting row. The data type\\n \"),_c('code',[_vm._v(\"uint8\")]),_vm._v(\" is used because our data is only a 0 (dead) or 1 (live),\\n and \"),_c('code',[_vm._v(\"uint8\")]),_vm._v(\" is the data type that uses the least storage (1\\n byte). The squares off the board should be considered \\\"dead\\\"; your arrays\\n may be different than those on the Mathworld Elementary Cellular Automaton\\n site because of this simpler boundary condition.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Miscellaneous Requirements\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Provide comments for each of your functions that explain what its\\n arguments and valid ranges are, and what its return value will be.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Test your code using the rules from Elementary Cellular Automata. Note\\n that our boundary conditions are slightly different than those on the\\n website so some of your images may differ. Test your code on at least rules\\n numbered 30, 90, 110, 250 and 254. Your code should process all rule\\n numbers (between 0 and 255, inclusive) correctly.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You may use either loops (\"),_c('code',[_vm._v(\"while\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"for\")]),_vm._v(\"\\n constructs) or vectorization.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Show your tutor a printout of several images with different rules, and a\\n printed listing of your M-file.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A satisfactory grade on this program requires the following:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"correct results for the Life1D simulation and several images, using at least rules numbered 30, 90, 110, 250 and 254\")]),_vm._v(\" \"),_c('li',[_vm._v(\"printed output of the results of the simulation\")]),_vm._v(\" \"),_c('li',[_vm._v(\"evidence of individual testing of functions\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no routine longer than twenty-four lines of code\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable and subprogram names that reflect their use\")]),_vm._v(\" \"),_c('li',[_vm._v(\"comments at the head of the main function (and any subroutine you wish to write) that explain its purpose\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0d87d57a\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/matlab/CellularAutomation.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CellularAutomation.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CellularAutomation.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0d87d57a\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CellularAutomation.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/matlab/CellularAutomation.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/matlab/HeatTransfer.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Example\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The matrix below represents a plate for which the temperatures on the\\n exterior points are known and the temperatures on the interior are not.\\n (Note that the numbers given here are arbitrary! Your program should be\\n able to handle any set of numbers for the exterior.)\")]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_c('p',[_vm._v(\"In Part 2, you solve the following system of equations:\")]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_c('p',[_vm._v(\"If you compare the two sets of equations carefully, you will see that\\n they are the same, but the second set is clearly more complicated. You may\\n be wondering why go to the fuss. Well, if you remember your matrix\\n multiplication, you can express that second set of equations as simply:\")]),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_c('p',[_vm._v(\"The left-hand matrix consists only of the values needed to pick out the\\n appropriate values of the coefficients. Thus that left-hand matrix will be\\n always the same for any plate. It is the right-hand side that contains the\\n constant values of the outer edge of the plate. Your program must compute\\n that vector from the data values entered by the user.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"In order to solve this system of equations, your program should\\n initialize a matrix A and a vector B to values as just described. Two\\n formats for commands to initialize A are shown below:\")]),_vm._v(\" \"),_c('table',{staticStyle:{\"margin\":\"0 auto\",\"text-align\":\"center\",\"width\":\"75%\"}},[_c('tbody',[_c('tr',[_c('td',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"A(1,:) = [ values of first row ];\\nA(2,:) = [ values of second row ];\\n .\\n .\\n .\\nA(9,:) = [ values of ninth row ];\")])])]),_vm._v(\" \"),_c('td',{staticStyle:{\"margin\":\"0 auto\"}},[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"A = [ values of first row; ...\\n values of second row; ...\\n .\\n .\\n .\\n values of ninth row ];\")])])])])])]),_vm._v(\" \"),_vm._m(11)]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Optional (for fun only)\")]),_vm._v(\" \"),_c('p',[_vm._v(\"One really neat visualization you can do is to animate the difference\\n between the grid at each iteration of the iterative solution and the\\n analytical solution. You should choose a colormap that has red for negative\\n values, white in the middle for values around zero and blue for positive\\n values. You can make a movie called frames with code that looks like this\\n (assuming iterations is your variable for the # of iterations, and\\n threshold is your threshold value):\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"redwhitebluecmap=[1.00 0.00 0.00;\\n 1.00 0.25 0.25;\\n 1.00 0.50 0.50;\\n 1.00 0.75 0.75;\\n 1.00 1.00 1.00;\\n 1.00 1.00 1.00;\\n 0.75 0.75 1.00;\\n 0.50 0.50 1.00;\\n 0.25 0.25 1.00;\\n 0.00 0.00 1.00];\\nfor i = 1:iterations+1 %% 3 iterations yields frame 1(initial),2,3,4\\n imagesc( %%%YOUR-DIFFERENCE-GRID-HERE%%% ); %% Iteration-Analytical\\n\\n colormap(redwhitebluecmap); %% Set the colormap\\n axis square off equal; %% Set the axes\\n caxis([-5*threshold,5*threshold]); %% Set colormap map (10 steps)\\n colorbar;%% Show a colorbar, add a title\\n title(sprintf('Temp grid convergence (iter-ans). Threshold %f, Iteration %d', threshold, i-1));\\n frames(i) = getframe; %% Save the frame\\nend\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"You can then play your movie with the movie command (while it’s animating, feel free\\n to stand and sing the national anthem if the colormap choice makes you feel overly\\n patriotic):\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\">> movie(frames)\")])])]),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_vm._m(13)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Reading\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Chapter 7\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Chapter 10\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Sections 11.1 - 11.4\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Sections 12.1 - 12.3, 12.6, 12.9 - 12.11\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Chapter 13\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_c('p',[_vm._v(\"In this problem, we work with a very simplified model of heat transfer.\\n We will consider a square plate at the edges of which the temperature\\n distribution is known, and determine both by computer simulation and by\\n direct computation the temperature equilibrium of the object.\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/heat-transfer-plate.jpg\"),\"alt\":\"Heat Transfer Plate\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Type of plate your program will model\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Problem\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This is a two-part problem. The idea is to solve this problem in two\\n ways, in order to be able to check your answer. The two parts may be done\\n in separate programs, or in a single program; the latter is probably\\n better, since you can make more clear that you are computing the answer\\n with one step and checking your answer with the other. Obviously the two\\n answers should agree (within the limits of accuracy). If they don’t, there\\n is a bug in your program.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"In both parts, we conceptually represent the interior of the square\\n plate by a 3-by-3 double array, each cell of which contains the temperature\\n in degrees Kelvin of the corresponding interior portion of the plate. Your\\n programs will start by initializing a matrix that represents the\\n temperature at points on the exterior (sixteen values) and the interior\\n (nine values) of the plate. Do this either by executing an assignment\\n statement or by reading its values from a file. Note that the temperatures\\n at the exterior are constant, and the temperatures at the interior are\\n (arbitrary) initial values.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Part 1\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The program for Part 1 will then enter a loop that simulates heat loss\\n or gain by the plate over a period of time, according to the following\\n rule: the temperature in cell [\"),_c('var',[_vm._v(\"r\")]),_vm._v(\", \"),_c('var',[_vm._v(\"c\")]),_vm._v(\"] of the 3-by-3\\n array at state \"),_c('var',[_vm._v(\"t\")]),_vm._v(\" is the average of the temperatures in the four\\n cells [\"),_c('var',[_vm._v(\"r\")]),_vm._v(\"–1, \"),_c('var',[_vm._v(\"c\")]),_vm._v(\"], [\"),_c('var',[_vm._v(\"r\")]),_vm._v(\", \"),_c('var',[_vm._v(\"c\")]),_vm._v(\"–1],\\n [\"),_c('var',[_vm._v(\"r\")]),_vm._v(\", \"),_c('var',[_vm._v(\"c\")]),_vm._v(\"+1], and [\"),_c('var',[_vm._v(\"r\")]),_vm._v(\"+1, \"),_c('var',[_vm._v(\"c\")]),_vm._v(\"] at state\\n \"),_c('var',[_vm._v(\"t\")]),_vm._v(\"–1 (cells [0, \"),_c('var',[_vm._v(\"c\")]),_vm._v(\"], [\"),_c('var',[_vm._v(\"r\")]),_vm._v(\", 0], [4,\\n \"),_c('var',[_vm._v(\"c\")]),_vm._v(\"], and [\"),_c('var',[_vm._v(\"r\")]),_vm._v(\", 4] represent points on the exterior of\\n the plate).\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This loop should run until the maximum changes in temperature in all\\n cells of the interior of the plate in a particular unit of time are less\\n than 0.05 degree (you may wish to make this difference smaller to improve\\n the accuracy of the simulation). It should then print the array of\\n (equilibrium) temperature values, along with the number of time units the\\n process took to reach this point.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You will need a copy of the plate to implement the process described\\n above correctly, since if you use only one copy you will be computing\\n values at state \"),_c('var',[_vm._v(\"t\")]),_vm._v(\" from other values in state \"),_c('var',[_vm._v(\"t\")]),_vm._v(\" rather\\n than values in state \"),_c('var',[_vm._v(\"t\")]),_vm._v(\"–1.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Part 2\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The program for Part 2 will compute the equilibrium temperatures by\\n solving the system of equations that results from the following rule: the\\n temperature in cell [\"),_c('var',[_vm._v(\"r\")]),_vm._v(\", \"),_c('var',[_vm._v(\"c\")]),_vm._v(\"] of the plate must be the\\n average of the temperatures in the four adjacent cells [\"),_c('var',[_vm._v(\"r\")]),_vm._v(\"–1,\\n \"),_c('var',[_vm._v(\"c\")]),_vm._v(\"], [\"),_c('var',[_vm._v(\"r\")]),_vm._v(\", \"),_c('var',[_vm._v(\"c\")]),_vm._v(\"–1], [\"),_c('var',[_vm._v(\"r\")]),_vm._v(\",\\n \"),_c('var',[_vm._v(\"c\")]),_vm._v(\"+1], and [\"),_c('var',[_vm._v(\"r\")]),_vm._v(\"+1, \"),_c('var',[_vm._v(\"c\")]),_vm._v(\"].\")]),_vm._v(\" \"),_c('p',[_vm._v(\"There will be nine such equations, one for each cell in the array. Your\\n program will create a 9×9 double matrix to contain the coefficients\\n of the equations, along with a 9-element double array to contain their\\n right-hand-sides. It will then return the solution of the system of\\n equations.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',{staticStyle:{\"border-color\":\"#000\",\"border-spacing\":\"10px\",\"border-style\":\"solid\",\"border-width\":\"0 1px\",\"margin\":\"0 auto\",\"text-align\":\"center\"}},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\" 0.0\")]),_c('td',[_vm._v(\" 4.0 \")]),_c('td',[_vm._v(\" 8.0 \")]),_c('td',[_vm._v(\"12.0 \")]),_c('td',[_vm._v(\"16.0\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"12.0\")]),_c('td',[_vm._v(\" x\"),_c('sub',[_vm._v(\"11\")])]),_c('td',[_vm._v(\" x\"),_c('sub',[_vm._v(\"12\")])]),_c('td',[_vm._v(\" x\"),_c('sub',[_vm._v(\"13\")])]),_c('td',[_vm._v(\"20.0\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"20.0\")]),_c('td',[_vm._v(\" x\"),_c('sub',[_vm._v(\"21\")])]),_c('td',[_vm._v(\" x\"),_c('sub',[_vm._v(\"22\")])]),_c('td',[_vm._v(\" x\"),_c('sub',[_vm._v(\"23\")])]),_c('td',[_vm._v(\"24.0\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"20.0\")]),_c('td',[_vm._v(\" x\"),_c('sub',[_vm._v(\"31\")])]),_c('td',[_vm._v(\" x\"),_c('sub',[_vm._v(\"32\")])]),_c('td',[_vm._v(\" x\"),_c('sub',[_vm._v(\"33\")])]),_c('td',[_vm._v(\"28.0\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"20.0\")]),_c('td',[_vm._v(\"24.0 \")]),_c('td',[_vm._v(\"28.0 \")]),_c('td',[_vm._v(\"28.0 \")]),_c('td',[_vm._v(\"32.0\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Your program for Part 1 will read the values both for the exterior of\\n the plate and for the interior (the\\n \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_c('var',[_vm._v(\"r\")]),_c('var',[_vm._v(\"c\")])]),_vm._v(\" above). The temperatures\\n you supply for the \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_c('var',[_vm._v(\"r\")]),_c('var',[_vm._v(\"c\")])]),_vm._v(\" will\\n initialize the simulation; they should be such that they will convince a\\n tutor that your simulation works. Note that the exterior temperatures don’t\\n change during the simulation.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',{staticStyle:{\"margin\":\"0 auto\"}},[_c('tbody',[_c('tr',[_c('td',[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"11\")]),_vm._v(\" = (12.0 + 4.0 + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"21\")]),_vm._v(\") / 4\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"21\")]),_vm._v(\" = (20.0 + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"11\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"31\")]),_vm._v(\") / 4\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"31\")]),_vm._v(\" = (20.0 + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"21\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"32\")]),_vm._v(\" + 24.0) / 4\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")]),_vm._v(\" = (\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"11\")]),_vm._v(\" + 8.0 + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"13\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")]),_vm._v(\") / 4\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")]),_vm._v(\" = (\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"21\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"23\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"32\")]),_vm._v(\") / 4\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"32\")]),_vm._v(\" = (\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"31\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"33\")]),_vm._v(\" + 28.0) / 4\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")]),_vm._v(\" = (\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")]),_vm._v(\" + 12.0 + 20.0 + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"23\")]),_vm._v(\") / 4\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"23\")]),_vm._v(\" = (\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"13\")]),_vm._v(\" + 24.0 + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"33\")]),_vm._v(\") / 4\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"33\")]),_vm._v(\" = (\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"32\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"23\")]),_vm._v(\" + 28.0 + 28.0) / 4\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('var',[_vm._v(\"x\")]),_c('sub',[_c('var',[_vm._v(\"r\")]),_c('var',[_vm._v(\"c\")])]),_vm._v(\" are not initialized\\n for this part; they are the solutions to the system of equations. The first\\n step in this process is to transform the equations from the form above to\\n the form \"),_c('var',[_vm._v(\"A\")]),_c('var',[_vm._v(\"x\")]),_vm._v(\" = \"),_c('var',[_vm._v(\"b\")]),_vm._v(\". It helps to rewrite the\\n above equations into a form more in keeping with the eventual matrices\\n needed. We will make two changes: first, we will include all the variables\\n (multiplying by zero when needed), and move the constant term to the right\\n side of the expression. The result is\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',{staticStyle:{\"margin\":\"0 auto\"}},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"1.0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"11\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"21\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"31\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"32\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"13\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"23\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"33\")])]),_c('td',[_vm._v(\"= \"),_c('sup',[_vm._v(\"16\")]),_vm._v(\"⁄\"),_c('sub',[_vm._v(\"4\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\" –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"11\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 1.0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"21\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"31\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"32\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"13\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"23\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"33\")])]),_c('td',[_vm._v(\"= \"),_c('sup',[_vm._v(\"20\")]),_vm._v(\"⁄\"),_c('sub',[_vm._v(\"4\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\" 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"11\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"21\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 1.0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"31\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"32\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"13\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"23\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"33\")])]),_c('td',[_vm._v(\"= \"),_c('sup',[_vm._v(\"44\")]),_vm._v(\"⁄\"),_c('sub',[_vm._v(\"4\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\" –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"11\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"21\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"31\")])]),_c('td',[_vm._v(\"+ 1.0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"32\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"13\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"23\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"33\")])]),_c('td',[_vm._v(\"= \"),_c('sup',[_vm._v(\"8\")]),_vm._v(\"⁄\"),_c('sub',[_vm._v(\"4\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\" 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"11\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"21\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"31\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 1.0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"32\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"13\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"23\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"33\")])]),_c('td',[_vm._v(\"= \"),_c('sup',[_vm._v(\"0\")]),_vm._v(\"⁄\"),_c('sub',[_vm._v(\"4\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\" 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"11\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"21\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"31\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 1.0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"32\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"13\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"23\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"33\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"= \"),_c('sup',[_vm._v(\"28\")]),_vm._v(\"⁄\"),_c('sub',[_vm._v(\"4\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\" 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"11\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"21\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"31\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"32\")])]),_c('td',[_vm._v(\"+ 1.0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"13\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"23\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"33\")])]),_c('td',[_vm._v(\"= \"),_c('sup',[_vm._v(\"32\")]),_vm._v(\"⁄\"),_c('sub',[_vm._v(\"4\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\" 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"11\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"21\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"31\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"32\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"13\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 1.0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"23\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"33\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"= \"),_c('sup',[_vm._v(\"24\")]),_vm._v(\"⁄\"),_c('sub',[_vm._v(\"4\")])])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\" 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"11\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"21\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"31\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")])]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"32\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"13\")])]),_c('td',[_vm._v(\"+ –\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"23\")]),_vm._v(\"/4\")]),_c('td',[_vm._v(\"+ 1.0*\"),_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"33\")])]),_c('td',[_vm._v(\"= \"),_c('sup',[_vm._v(\"56\")]),_vm._v(\"⁄\"),_c('sub',[_vm._v(\"4\")])])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',{staticStyle:{\"border-spacing\":\"0\",\"margin\":\"0 auto\",\"text-align\":\"center\"}},[_c('tbody',[_c('tr',[_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 0 0 1px\"}},[_vm._v(\" 1.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px 0 0\"}},[_vm._v(\" 0.0 \")]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"11\")])]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_vm._v(\" 4.0\")])]),_vm._v(\" \"),_c('tr',[_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 0 0 1px\"}},[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 1.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px 0 0\"}},[_vm._v(\" 0.0 \")]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"21\")])]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_vm._v(\" 5.0\")])]),_vm._v(\" \"),_c('tr',[_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 0 0 1px\"}},[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 1.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px 0 0\"}},[_vm._v(\" 0.0 \")]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"31\")])]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_vm._v(\"11.0\")])]),_vm._v(\" \"),_c('tr',[_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 0 0 1px\"}},[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 1.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px 0 0\"}},[_vm._v(\" 0.0 \")]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"12\")])]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_vm._v(\" 2.0\")])]),_vm._v(\" \"),_c('tr',[_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 0 0 1px\"}},[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 1.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px 0 0\"}},[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"×\")]),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"22\")])]),_c('td',[_vm._v(\"=\")]),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_vm._v(\" 0.0\")])]),_vm._v(\" \"),_c('tr',[_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 0 0 1px\"}},[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 1.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px 0 0\"}},[_vm._v(\"-0.25\")]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"32\")])]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_vm._v(\" 7.0\")])]),_vm._v(\" \"),_c('tr',[_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 0 0 1px\"}},[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 1.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px 0 0\"}},[_vm._v(\" 0.0 \")]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"13\")])]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_vm._v(\" 8.0\")])]),_vm._v(\" \"),_c('tr',[_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 0 0 1px\"}},[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 1.0 \")]),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px 0 0\"}},[_vm._v(\"-0.25\")]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"23\")])]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_vm._v(\" 6.0\")])]),_vm._v(\" \"),_c('tr',[_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 0 0 1px\"}},[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',[_vm._v(\" 0.0 \")]),_c('td',[_vm._v(\"-0.25\")]),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px 0 0\"}},[_vm._v(\" 1.0 \")]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_c('var',[_vm._v(\"x\")]),_c('sub',[_vm._v(\"33\")])]),_c('td'),_c('td',{staticStyle:{\"border-color\":\"#000\",\"border-style\":\"solid\",\"border-width\":\"0 1px\"}},[_vm._v(\"14.0\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The solution is then the result of the Matlab expression \"),_c('code',[_vm._v(\"A\\\\B\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Miscellaneous Requirements\")]),_vm._v(\" \"),_c('p',[_vm._v(\"For full credit, you must divide this problem carefully into subproblems\\n and represent them as subprograms. These will include a subroutine to fill\\n the 9×9 coefficient matrix as shown above, and the 9-element\\n right-hand-side vector based on the temperature values at the external\\n points of the plate. You should also have a subroutine to compute the new\\n temperatures at each step, and a logical function to determine if\\n equilibrium has been reached. You won’t be able to store the new\\n temperatures into the plate array immediately, since the averages for state\\n \"),_c('var',[_vm._v(\"t\")]),_vm._v(\" must be computed from the temperatures at state\\n \"),_c('var',[_vm._v(\"t\")]),_vm._v(\"–1.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"In no case should you have a function that contains more than\\n twenty-four lines of Matlab.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"In this assignment you should assume temperatures measured in degrees\\n Kelvin. Thus, negative temperatures are impossible (by the definition of\\n the Kelvin scale and absolute zero). Do something reasonable with illegal\\n data values.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"As with earlier problems, test the subprograms separately, using data\\n for which you can easily compute the correct answers by hand. Print out\\n copies of your programs and test \\\"drivers\\\" so that tutors can verify that\\n your individual routines work. Make sure you can explain any difference\\n between the solution values you produce from the two parts. If you make the\\n difference criterion for Part 1 a variable, you should be able to show that\\n the differences between Part 1 and Part 2 decrease for smaller differences\\n between the averages.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You should strive to make your code as general as possible. As an\\n example, you should not hardcode the 5×5 nature of the problem in\\n your iterative solution. You may, however, hardcode it in your\\n \"),_c('var',[_vm._v(\"A\")]),_c('var',[_vm._v(\"x\")]),_vm._v(\" = \"),_c('var',[_vm._v(\"b\")]),_vm._v(\" analytical solution.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Use format statements to specify that no more than two decimal digits\\n are to be printed for each value.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A satisfactory grade on this program requires\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"correct results for simulation and for solution of systems of equations;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"programs split into subprograms as specified:\\n \"),_c('ul',[_c('li',[_vm._v(\"subroutine to fill the coefficient matrix;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"subroutine to update the simulation array;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"logical function to determine equilibrium;\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"subprograms as general as possible (e.g., no hardcoding of the 5×5 array sizes\")]),_vm._v(\" \"),_c('li',[_vm._v(\"except in the \"),_c('var',[_vm._v(\"A\")]),_c('var',[_vm._v(\"x\")]),_vm._v(\" = \"),_c('var',[_vm._v(\"b\")]),_vm._v(\" analytical solution);\")]),_vm._v(\" \"),_c('li',[_vm._v(\"evidence of individual testing of subprograms;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no routine longer than twenty-four lines of code;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable and subprogram names that reflect their use;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"systematic indentation of test and loop bodies;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"comments at the head of the main program and subprograms that explain the purpose of each;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"declaration of all variables in a \\\"dictionary\\\";\")]),_vm._v(\" \"),_c('li',[_vm._v(\"negative temperatures detected and dealt with appropriately;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"clean case analysis and simple loop structuring;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"correct answers;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"input of plate temperature values from a file;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"nicely formatted output;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"explanation of differences between approximate and analytic solutions.\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0ed12daf\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/matlab/HeatTransfer.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./HeatTransfer.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./HeatTransfer.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0ed12daf\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./HeatTransfer.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/matlab/HeatTransfer.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 3: Heaps\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Data Structures and Problem Solving using Java (4th Edition) Chapter 21'\n } ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"List all structures that are both heaps and binary search trees.\\n Assume that all elements of the structures have different values.\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"There are two such structures: a single-node heap/BST and a two-node\\n heap/BST. The latter structure will have a root and a left child. If it\\n had a right child, that element would have to be greater than the root\\n and would thus not satisfy the heap property.\")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Use the linear-time heap creation algorithm to create a heap out of\\n the following keys:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"10 12 1 14 6 5 8\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"Processing starts at 1, which is exchanged with 8. Then 12 is exchanged with 14. Finally, 10 is exchanged first with 14, then with 12. The following heap results.\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/q3_heap.gif\"),\"width\":\"300\"}})])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Consider a \"),_c('code',[_vm._v(\"Heap\")]),_vm._v(\" class that maintains a heap of\\n \"),_c('code',[_vm._v(\"int\")]),_vm._v(\"s using an array of \"),_c('code',[_vm._v(\"int\")]),_vm._v(\" named\\n \"),_c('code',[_vm._v(\"myElements\")]),_vm._v(\" and an \"),_c('code',[_vm._v(\"int\")]),_vm._v(\" variable named\\n \"),_c('code',[_vm._v(\"myElementCount\")]),_vm._v(\". Write a \"),_c('code',[_vm._v(\"Heap\")]),_vm._v(\" method named\\n \"),_c('code',[_vm._v(\"isOK\")]),_vm._v(\" to check that the heap is correctly organized.\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"Each parent must be checked to make sure it's at least as large as\\n both its children. Alternatively, each child can be checked to make\\n sure it's no larger than its parent. Here is code for each\\n approach:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"// Approach #1\\nboolean isOk() {\\n for (int k = 0; k < myElementCount / 2; k++) {\\n if (myElements[k] < myElements[2 * k + 1]) {\\n return false;\\n }\\n else if (2 * k + 2 < myElementCount\\n && myElements[k] < myElements[2 * k + 2]) {\\n // Make sure that element k has a right child before checking it.\\n return false;\\n }\\n }\\n return true;\\n}\\n\\n// Approach #2\\nboolean isOk() {\\n for (int k = 1; k < myElementCount; k++) {\\n if (myElements[(k - 1) / 2] < myElements[k]) {\\n return false;\\n }\\n }\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Write a \"),_c('code',[_vm._v(\"Heap\")]),_vm._v(\" method named\\n \"),_c('code',[_vm._v(\"incrementPriority\")]),_vm._v(\" that, given the position of an element\\n in the array just described, adds 1 to its value and reorganizes the\\n heap if necessary. The reorganization should require no more than\\n \"),_c('code',[_vm._v(\"O(log n)\")]),_vm._v(\" operations, where \"),_c('code',[_vm._v(\"n\")]),_vm._v(\" is the current\\n number of heap elements.\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"After the priority has been incremented, the element may need to\\n bubble up in the heap.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"void incrementPriority(int position) {\\n myElements[position]++;\\n while (position > 0\\n && myElements[(position - 1) / 2] < myElements[position]) {\\n int temp = myElements[(position - 1) / 2];\\n myElements[(position - 1) / 2] = myElements[position];\\n myElements[position] = temp;\\n position = (position - 1) / 2;\\n }\\n}\")])])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"This quiz gives you practice with identifying heaps and analyzing,\\n inventing, and modifying heap management code. For the purposes of this quiz,\\n we assume that all heaps are max heaps (largest element at the top) and all\\n binary search trees have smaller elements in the left subtree, larger\\n elements in the right.\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-29515836\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/47b/Heaps.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-29515836\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Heaps.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/47b/Heaps.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/gif;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/47b/images/spanning-trees.gif\n// module id = ph5H\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 4: Graph Representations\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Data Structures and Problem Solving using Java (4th Edition) Sections 14.1 - 14.3, 14.5*'\n }\n ]}},[_c('p',[_c('b',[_vm._v(\"*Note:\")]),_vm._v(\" The shortest path and topological sorting algorithms are not\\n directly relevant to this assignment, but they serve as useful examples of\\n graph processing and their auxiliary data structures are similar to those\\n you will use for your own implementation.\")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"The pseudocode\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"for (k = 0; k < n; k++) {\\n for (each vertex w adjacent to vertex v\"),_c('sub',[_vm._v(\"k\")]),_vm._v(\") {\\n process the edge (v\"),_c('sub',[_vm._v(\"k\")]),_vm._v(\", w);\\n }\\n}\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"processes every edge in a directed graph with \"),_c('code',[_vm._v(\"n\")]),_vm._v(\"\\n vertices.\")]),_vm._v(\" \"),_c('ol',{attrs:{\"type\":\"a\"}},[_c('li',[_c('p',[_vm._v(\"\\n Suppose that the graph is represented as an array of adjacency lists. In\\n \\\"big-Oh\\\" terms involving \"),_c('code',[_vm._v(\"n\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"e\")]),_vm._v(\", the number of\\n edges in the graph, give the best estimate for the running time of the\\n algorithm just given.\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n Suppose that the graph is represented as an adjacency matrix. Give the best\\n estimate for the running time of the algorithm.\\n \")])])]),_vm._v(\" \"),_c('p')]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"Using adjacency lists, the body of the inner loop gets executed\\n exactly \"),_c('code',[_vm._v(\"e\")]),_vm._v(\" times, over all \"),_c('code',[_vm._v(\"n\")]),_vm._v(\" executions of the outer loop. Thus the total execution time is\\n \"),_c('code',[_vm._v(\"O(n+e)\")]),_vm._v(\" (see \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"https://stackoverflow.com/questions/44983431/time-complexity-of-adjacency-list-representation\"}},[_vm._v(\"this for detailed explanation\")]),_vm._v(\"). In particular, \"),_c('code',[_vm._v(\"O(n\"),_c('sup',[_vm._v(\"2\")]),_vm._v(\")\")]),_vm._v(\" is\\n incorrect for a graph with a relatively small number of edges.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"With an adjacency matrix, determining what vertices are adjacent to\\n a given vertex takes \"),_c('code',[_vm._v(\"O(n)\")]),_vm._v(\" steps, and this is done for each\\n vertex. Thus the total running time is\\n \"),_c('code',[_vm._v(\"O(n\"),_c('sup',[_vm._v(\"2\")]),_vm._v(\")\")]),_vm._v(\".\")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"In pseudocode detailed enough for another CS 47B student to be able\\n to translate your algorithm immediately to Java, explain how to delete\\n the \"),_c('code',[_vm._v(\"k\")]),_vm._v(\"th vertex from a directed graph represented with an\\n adjacency matrix.\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"Here's a solution. Assume that \"),_c('code',[_vm._v(\"M\")]),_vm._v(\" is the adjacency\\n matrix for the original graph.\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"// allocate space for an (n-1)-by-(n-1) matrix Mnew\\nMnew = ...\\n\\n// Copy the upper left quadrant.\\nfor (row = 0; row < k; row++)\\n for (col = 0; col < k; col++)\\n Mnew[row][col] = M[row][col];\\n\\n// Copy the upper right quadrant.\\nfor (row = 0; row < k; row++)\\n for (col = k; col < n - 1; col++)\\n Mnew[row][col] = M[row][col + 1];\\n\\n// Copy the lower left quadrant.\\nfor (row = k; row < n - 1; row++)\\n for (col = 0; col < k; col++)\\n Mnew[row][col] = M[row + 1][col];\\n\\n// Copy the lower right quadrant.\\nfor (row = k; row < n - 1; row++)\\n for (col = k; col < n - 1; col++)\\n Mnew[row][col] = M[row + 1][col + 1];\")])])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"In this quiz, you demonstrate your understanding of two common ways to\\n represent a graph: as an array of adjacency lists, and as an adjacency\\n matrix. The adjacency list representation for a directed graph with\\n \"),_c('code',[_vm._v(\"n\")]),_vm._v(\" vertices and \"),_c('code',[_vm._v(\"e\")]),_vm._v(\" edges is an \"),_c('code',[_vm._v(\"n\")]),_vm._v(\"-element\\n array of linked lists; the list for the \"),_c('code',[_vm._v(\"k\")]),_vm._v(\"th vertex\\n \"),_c('code',[_vm._v(\"v\"),_c('sub',[_vm._v(\"k\")])]),_vm._v(\" contains all vertices \"),_c('code',[_vm._v(\"w\")]),_vm._v(\" such that\\n (\"),_c('code',[_vm._v(\"v\"),_c('sub',[_vm._v(\"k\")])]),_vm._v(\", \"),_c('code',[_vm._v(\"w\")]),_vm._v(\") is an edge in the graph. The\\n adjacency matrix is an \"),_c('code',[_vm._v(\"n\")]),_vm._v(\"-by-\"),_c('code',[_vm._v(\"n\")]),_vm._v(\" matrix \"),_c('code',[_vm._v(\"M\")]),_vm._v(\"\\n in which \"),_c('code',[_vm._v(\"M[k][j]\")]),_vm._v(\" is true if (\"),_c('code',[_vm._v(\"v\"),_c('sub',[_vm._v(\"k\")])]),_vm._v(\",\\n \"),_c('code',[_vm._v(\"v\"),_c('sub',[_vm._v(\"j\")])]),_vm._v(\") is an edge in the graph, and false otherwise. By\\n convention, we assume that no vertex is adjacent to itself, and each\\n adjacency list contains no duplicate elements.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Questions may involve determining which of the two representations is more\\n efficient for a given graph operation, optimizing a given operation or set of\\n operations, or implementing a given operation with a given\\n representation.\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7b8d2c76\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/47b/GraphRepresentations.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7b8d2c76\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./GraphRepresentations.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/47b/GraphRepresentations.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/setup_python-windows-install-path.119478e.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/python/images/setup_python-windows-install-path.png\n// module id = q06L\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/windows_edit_var.ede37d1.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/images/windows_edit_var.png\n// module id = qInB\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/unix/UnixBasics.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 1'\n },\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 2 (excluding Sections 2.9 and 2.15)'\n },\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 3'\n },\n {\n title: 'Your UNIX/LINUX: The Ultimate Guide (3rd Edition) Chapter 4'\n }\n ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Part 2: Your Website\")]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Again, write down your answers and bring them in for a tutor to evaluate, and\\n be prepared to explain why those chmod statements had the effects.\\n \")]),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('ol',[_vm._m(5),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Suppose that your working directory is your top-level directory and you give the command:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ chmod 711 ~/public_html\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Can you still view the directory listing? Can you still download readme.txt?\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Again suppose that your working directory is your top-level directory (~/public_html has its pre-2b permissions), and you give the command:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ chmod 600 ~/public_html/readme.txt\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Can you still view the directory listing? Can you still download readme.txt?\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Again suppose that your working directory is your top-level directory (~/public_html and ~/public_html/readme.txt have their pre-2b permissions), and you give the command:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ chmod 700 ~/\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Can you still view the directory listing? Can you still download readme.txt?\")])])])]),_vm._v(\" \"),_vm._m(6)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Overview\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This assignment will give you an introduction to UNIX; you will learn\\n about common UNIX commands and how to navigate the file system. The\\n learning curve for UNIX is quite steep for those unaccustomed to command\\n line interaction with computers, so try not to be discouraged if this first\\n assignment seems daunting. There are a lot of common UNIX commands, so if\\n this deluge of information seems difficult to handle, try making a\\n cheat-sheet on an index card and keep it with you as you work through the\\n course.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Additionally, please do not attempt to do the entire reading before\\n exploring the system. Most people learn by doing rather than reading, so\\n as you are progressing through the reading for this assignment, take some\\n time to explore the commands being discussed as you learn about them.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"As always, the tutors at the SPC are there to help you, so please come\\n in and take advantage of their knowledge if you are having trouble getting\\n started.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Commands\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The following commands may be particularly useful to you: head, tail,\\n echo, cat, ls, find. This is not a complete list; you will need to use\\n other commands to complete the assignment.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Part 1: System Information\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You should turn in a list of the commands used to answer the questions,\\n and be prepared to execute them to demonstrate their use to a tutor.\")]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(\"What would you execute to determine...\")])]),_vm._v(\" \"),_c('ol',[_c('li',[_c('p',[_vm._v(\"the hostname of the system you are on?\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n the type and version of the operating system the machine machine is running?\\n (Show both at the same time, with one command.)\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"the full path to your home directory?\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"which other users are logged into the machine you are using?\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n how many words there are in the spell check dictionary (/usr/share/lib/dict/words)?\\n (If your computer doesn't have that file, test this answer on an instructional machine.)\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"what groups you belong to?\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"\\n what files (excluding directories) are located in your home directory\\n and all its subdirectories?\\n \")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"what man pages have references to 'bash'?\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n Not many students realize this, but every instructional account has a\\n website associated with it. The address of this website is\\n \"),_c('code',[_vm._v(\"http://inst.eecs.berkeley.edu/~\")]),_vm._v(\" where \"),_c('code',[_vm._v(\"\")]),_vm._v(\" is your login\\n (cs9e-1ab for example). The files that are hosted here are located at\\n \"),_c('code',[_vm._v(\"~/public_html\")]),_vm._v(\". You will need this folder for the website to work.\\n Users viewing these pages view them through the Apache\\n web server which is run as a special user. File permissions for your\\n web site must be configured such that this special user can access your\\n files. Under most circumstances, this means that \\\"world\\\" or \\\"other\\\"\\n permissions are used to designate what web browsers have access to.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"Your tasks:\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('p',[_vm._v(\"Create a folder named \\\"public_html\\\" in your home directory.\\n Place a 'readme.txt' file in there. (It should have the path: ~/public_html/readme.txt.\\n Set up file permissions so that\\n you can see the directory listing and download 'readme.txt' from the browser.\\n What commands did you use for this?\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 1\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student correctly answers all questions and provides a transcript showing their session.\")])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 2\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student correctly answers all 3 chmod questions and can explain why the permissions had those effects.\")])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0e5e71a5\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/unix/UnixBasics.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./UnixBasics.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./UnixBasics.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0e5e71a5\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./UnixBasics.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/unix/UnixBasics.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 5: Data Structure Design\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[]}},[_c('p',[_vm._v(\"\\n Weiss chapters 10 through 14 contain problem-oriented material that is nice background\\n for this quiz. Other material in Weiss that focuses on individual data structures will\\n also be good to review.\")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Describe the implementation of a generalized vector class called\\n \"),_c('code',[_vm._v(\"GenVector\")]),_vm._v(\" that, like \"),_c('code',[_vm._v(\"Vector\")]),_vm._v(\", associates integer indexes\\n with contents values but, unlike \"),_c('code',[_vm._v(\"Vector\")]),_vm._v(\", does not require that the\\n index values be consecutive. Your implementation should allow fast execution of\\n the following operations for large subscript sets:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('code',[_vm._v(\"Object elementAt (int k)\")]),_c('br'),_vm._v(\"returns the value associated with\\n index \"),_c('code',[_vm._v(\"k\")]),_vm._v(\";\"),_c('br')]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"void setElementAt (int k, Object value)\")]),_c('br'),_vm._v(\"initializes or replaces\\n the value associated with index \"),_c('code',[_vm._v(\"k\")]),_vm._v(\" by the given value;\"),_c('br')]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"boolean isLegalIndex (int k)\")]),_c('br'),_vm._v(\"determines whether \"),_c('code',[_vm._v(\"k\")]),_vm._v(\"\\n is a legal index for the \"),_c('code',[_vm._v(\"GenVector\")]),_vm._v(\" object, that is, whether a\\n \"),_c('code',[_vm._v(\"setElementAt\")]),_vm._v(\" operation has been executed with \"),_c('code',[_vm._v(\"k\")]),_vm._v(\" as\\n argument.\"),_c('br')])]),_vm._v(\" \"),_c('p'),_vm._v(\" \"),_c('p',[_vm._v(\"\\n It should also not use an extravagant amount of memory when the subscript set is small.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Along with the implementation, you should describe how the three given operations are executed and give a big-Oh expression for their running time. These descriptions should be in terms suitable for another CS 47B student to understand how they would be translated into code.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_vm._v(\"\\n A hash table (assuming a reasonable hash function) works fine\\n for this application. In Java, you would need to convert integer index\\n values to \"),_c('code',[_vm._v(\"Integer\")]),_vm._v(\" objects, then use \"),_c('code',[_vm._v(\"java.util.HashTable\")]),_vm._v(\".\\n\\n \"),_c('p'),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"java\"},[_vm._v(\"Object elementAt (int k) {\\n return get (new Integer(k));\\n}\\n\\nvoid setElementAt (int k, Object value) {\\n put (new Integer(k), value);\\n}\\n\\nboolean isLegalIndex (int k){\\n return get (new Integer(k)) != null;\\n}\")])]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(\"(All these operations will execute in constant time on the average.)\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Suppose that an additional operation is to be supported by \"),_c('code',[_vm._v(\"GenVector\")]),_vm._v(\" objects:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('code',[_vm._v(\"Enumeration elements (int rangeBegin, int rangeEnd)\")]),_c('br'),_vm._v(\"\\n initializes an enumeration of elements whose indexes are between \"),_c('code',[_vm._v(\"rangeBegin\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"rangeEnd\")]),_vm._v(\", inclusive, in increasing index value. The initialization of the enumeration must be executed in at most \"),_c('code',[_vm._v(\"log N\")]),_vm._v(\" time, where \"),_c('code',[_vm._v(\"N\")]),_vm._v(\" is the number of key-value associations in the \"),_c('code',[_vm._v(\"GenVector\")]),_vm._v(\"; each call to \"),_c('code',[_vm._v(\"nextElement\")]),_vm._v(\" are to be executed in constant time, and the operations listed for exercise 1 are still to be executed as quickly as possible.\"),_c('br')])]),_vm._v(\" \"),_c('p'),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Modify your implementation of exercise 1 to accommodate this new requirement. As in exercise 1, describe your modified implementation and how the required operations are executed, and give runtime estimations for all operations.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n A hash table does not provide fast enough access to entries whose\\n keys lie in a specified range. Thus a different structure is necessary. If all\\n the keys were known in advance, an array of key-value pairs sorted by key would\\n work. However, the \"),_c('code',[_vm._v(\"setElementAt\")]),_vm._v(\" operation, which may add new\\n associations, requires a dynamic structure. A balanced binary search tree, ordered\\n by key value, makes the operations of exercise 1 and the enumeration initialization\\n all execute in \"),_c('code',[_vm._v(\"log N\")]),_vm._v(\" time, where \"),_c('code',[_vm._v(\"N\")]),_vm._v(\" is the number of\\n key-value associations.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n To achieve constant time for each call to \"),_c('code',[_vm._v(\"nextElement\")]),_vm._v(\", the tree entries\\n must be \"),_c('i',[_vm._v(\"threaded\")]),_vm._v(\", i.e. each tree node must be linked to its inorder successor.\\n That requires a more complicated insertion operation that keeps track of the current\\n node's inorder successor as it goes down the tree. Going down the right subtree uses\\n the same inorder successor; going down a left subtree, the root is the inorder successor.\\n Insertion is still \"),_c('code',[_vm._v(\"O(log N)\")]),_vm._v(\" with this extra processing, however.\\n \")])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"\\n This quiz gives you practice with choosing from among all the data structures\\n you've worked with so far: sorted arrays, balanced binary search trees, hash\\n tables, heaps, and graphs, all possibly augmented with threads (links between elements).\\n \")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5b72ee64\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/47b/DataStructureDesign.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5b72ee64\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./DataStructureDesign.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/47b/DataStructureDesign.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 5: Tkinter and Event-Based Programming\")]),_vm._v(\" \"),_c('aricle',[_c('p',[_vm._v(\"For this quiz, you will learn about Tkinter and event-based programming in Python:\")])]),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Programming Python (4th Edition) Chapter 7',\n link: 'http://proquest.safaribooksonline.com/book/programming/python/9781449398712/iiidot-gui-programming/ch07_html',\n }\n ]}},[_vm._v(\"\\n *Note:\\n \"),_c('ul',{attrs:{\"type\":\"circle\"}},[_c('li',[_vm._v(\"You can either buy this excellent book, or if read it online for free from an on-campus machine.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"To read the book for free, your computer must have a Berkeley IP address. If you are on a campus network (such as AirBears or ResComp), you'll be able to access the book.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"If you want to read it online from home, you need to do one of the following things:\\n \"),_c('ul',[_c('li',[_vm._v(\"Use the \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"http://www.lib.berkeley.edu/Help/proxy.html\"}},[_vm._v(\"UC Berkeley Library Proxy Server\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"VPN into the Berkeley network. Instructions can be found \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"http://www.lib.berkeley.edu/Help/vpn.html\"}},[_vm._v(\"here\")])])])]),_vm._v(\" \"),_c('li',[_vm._v(\"There is no online tutorial that is as complete as this book, although this \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"http://infohost.nmt.edu/tcc/help/lang/python/tkinter.html\"}},[_vm._v(\"GUI Programming tutorial site\")]),_vm._v(\" is close.\")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_c('strong',[_vm._v(\"You be the packer.\")]),_vm._v(\" Sketch what the GUI will look like if we\\n run the following simple code and then resize the window to be bigger (in both\\n horizontal and vertical directions):\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"from Tkinter import *\\nButton(text=\\\"L\\\").pack (side=LEFT, expand=YES, fill=BOTH)\\nButton(text=\\\"T\\\").pack (side=TOP, expand=YES, fill=BOTH)\\nButton(text=\\\"R\\\").pack (side=RIGHT, expand=YES, fill=BOTH)\\nButton(text=\\\"B\\\").pack (side=BOTTOM, expand=YES, fill=BOTH)\\nButton(text=\\\"LL\\\").pack(side=LEFT, expand=YES, fill=BOTH)\\nButton(text=\\\"TT\\\").pack(side=TOP, expand=YES, fill=BOTH)\\nmainloop()\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/q5_packer.png\"),\"width\":\"300\"}})])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Now, we'd like a simple GUI that counts how many times a button (labeled \\\"Click me\\\") has been clicked and displays that number below the button saying: \\\"\"),_c('em',[_vm._v(\"i\")]),_vm._v(\" clicks\\\", where \"),_c('em',[_vm._v(\"i\")]),_vm._v(\" should be a number from 0 (at startup) to the number of clicks. Try to write it in the fewest number of lines.\\n Here's a screenshot of what it should look like at startup:\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/q5_clicker.png\"),\"width\":\"100\"}})])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"from Tkinter import *\\nclicks=0\\n\\ndef clicker():\\n global clicks\\n clicks += 1\\n lab.config(text=clicks)\\n\\nButton(text=\\\"Click me\\\", command=clicker).pack()\\nlab = Label(text=clicks)\\nlab.pack(side=LEFT)\\nLabel(text=\\\" clicks\\\").pack()\\n\\nmainloop()\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"What is the strongest reason for using object-oriented programming with GUIs?\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"There are many possible answers, but we believe the best is that one can customize an existing widget in a very interesting way (ala \\\"Styles\\\" in Microsoft Word) as a new class, and then use many instances in the final GUI. All the instances will have the same customization. If we didn't define a new class, then we'd have to apply the customization to each of the instances individually. These new classes can now be used by anyone, not just your program! Think software reuse!\")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Now, we'd like to build a GUI that says \\\"Demo GUI\\\" and has a \\\"Quit\\\" button.\\n Note, we wrote this code in a rush, there may be bugs in it! Your job is to\\n find them and identify whether they are \"),_c('em',[_vm._v(\"syntax\")]),_vm._v(\", \"),_c('em',[_vm._v(\"logical\")]),_vm._v(\", or\\n \"),_c('em',[_vm._v(\"style\")]),_vm._v(\" bugs, then correct all the bugs...\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"import Tkinter\\n\\ndef quit():\\n print (\\\"goodbye...\\\")\\n import sys; sys.exit()\\n\\nLabel(text=\\\"Demo GUI\\\")\\nb = Button(text=\\\"Quit\\\").pack(fill=yes)\\nb.config(command=quit)\\nroot.mainloop()\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"Here are the problems we found (the corrected solution is below)\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('strong',[_vm._v(\"Style\")]),_vm._v(\": It's better to use \\\"\"),_c('code',[_vm._v(\"from Tkinter import *\")]),_vm._v(\"\\\" because otherwise you have to specify the explicit path for all of the widgets from the class. We provide both solutions below, you decide which you like better.\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": You need the explicit \"),_c('code',[_vm._v(\"Tkinter.Label\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"Tkinter.Button\")]),_vm._v(\" paths (only a bug if they \"),_c('code',[_vm._v(\"import Tkinter\")]),_vm._v(\")\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Logical\")]),_vm._v(\": The \"),_c('code',[_vm._v(\"Label\")]),_vm._v(\" is never added to the GUI through a \"),_c('code',[_vm._v(\"pack\")]),_vm._v(\" command\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": The method \"),_c('code',[_vm._v(\"pack\")]),_vm._v(\" doesn't return a widget\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": \"),_c('code',[_vm._v(\"fill\")]),_vm._v(\" doesn't take \"),_c('code',[_vm._v(\"yes\")]),_vm._v(\" as an argument, it takes \"),_c('code',[_vm._v(\"NONE\")]),_vm._v(\", \"),_c('code',[_vm._v(\"X\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Y\")]),_vm._v(\", or \"),_c('code',[_vm._v(\"BOTH\")]),_vm._v(\". \"),_c('code',[_vm._v(\"expand\")]),_vm._v(\" (probably what they were thinking about) takes \"),_c('code',[_vm._v(\"YES\")]),_vm._v(\", though.\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": \"),_c('code',[_vm._v(\"yes\")]),_vm._v(\" needs to be capitalized\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": \"),_c('code',[_vm._v(\"YES\")]),_vm._v(\" needs to be \"),_c('code',[_vm._v(\"Tkinter.YES\")]),_vm._v(\" (only a bug if they \"),_c('code',[_vm._v(\"import Tkinter\")]),_vm._v(\")\")]),_vm._v(\" \"),_c('li',[_c('strong',[_vm._v(\"Syntax\")]),_vm._v(\": There is no \"),_c('code',[_vm._v(\"root\")]),_vm._v(\" variable with a \"),_c('code',[_vm._v(\"mainloop\")]),_vm._v(\" method. We can use \"),_c('code',[_vm._v(\"b\")]),_vm._v(\", however (or just \"),_c('code',[_vm._v(\"mainloop\")]),_vm._v(\" if we use \\\"\"),_c('code',[_vm._v(\"from Tkinter import *\")]),_vm._v(\"\\\").\")])]),_vm._v(\" \"),_c('p'),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"import Tkinter \"),_c('strong',[_vm._v(\"### bug 1\")]),_vm._v(\"\\n\\ndef quit():\\n print (\\\"goodbye...\\\")\\n import sys; sys.exit()\\n\\nTkinter.Label(text=\\\"Demo GUI\\\").pack() \"),_c('strong',[_vm._v(\"### bug 2,3\")]),_vm._v(\"\\nb = Tkinter.Button(text=\\\"Quit\\\") \"),_c('strong',[_vm._v(\"### bug 2,4\")]),_vm._v(\"\\nb.config(command=quit)\\nb.pack(expand=Tkinter.YES) \"),_c('strong',[_vm._v(\"### bug 5,6,7\")]),_vm._v(\"\\n## Alternatively you collapse the above three lines into one with\\n## Tkinter.Button(text=\\\"Quit\\\", command=quit).pack(expand=Tkinter.YES)\\nb.mainloop() \"),_c('strong',[_vm._v(\"### bug 8\")])])]),_vm._v(\" \"),_c('p',[_vm._v(\"...or...\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"from Tkinter import * \"),_c('strong',[_vm._v(\"### bug 1\")]),_vm._v(\"\\n\\ndef quit():\\n print (\\\"goodbye...\\\")\\n import sys; sys.exit()\\n\\nLabel(text=\\\"Demo GUI\\\").pack() \"),_c('strong',[_vm._v(\"### bug 3\")]),_vm._v(\"\\nb = Button(text=\\\"Quit\\\") \"),_c('strong',[_vm._v(\"### bug 4\")]),_vm._v(\"\\nb.config(command=quit)\\nb.pack(expand=YES) \"),_c('strong',[_vm._v(\"### bug 5,6\")]),_vm._v(\"\\n## Alternatively you collapse the above three lines into one with\\n## Tkinter.Button(text=\\\"Quit\\\", command=quit).pack(expand=YES)\\nmainloop() \"),_c('strong',[_vm._v(\"### bug 8\")])])])])],1)])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2431dfcf\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/python/TkinterAndEventBasedProgramming.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2431dfcf\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./TkinterAndEventBasedProgramming.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/python/TkinterAndEventBasedProgramming.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/turtle_cat-and-mouse.b2621d5.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/python/images/turtle_cat-and-mouse.png\n// module id = sdB1\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 2: Vectors and I/O Streams\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'A Computer Science Tapestry',\n link: 'http://www.cs.duke.edu/csed/tapestry/',\n extra: 'Section 7.4'\n },\n {\n title: 'A Computer Science Tapestry',\n link: 'http://www.cs.duke.edu/csed/tapestry/',\n extra: 'Sections 8.1 - 8.3'\n },\n {\n title: 'A Computer Science Tapestry',\n link: 'http://www.cs.duke.edu/csed/tapestry/',\n extra: 'Sections 9.1 - 9.3'\n },\n {\n title: 'A Computer Science Tapestry',\n link: 'http://www.cs.duke.edu/csed/tapestry/',\n extra: 'Sections 11.1 and 11.5'\n }\n ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Write a function that takes a vector of integers as argument and\\n reverses its elements.\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"void Reverse(Vector& v)\\n{\\n for (int k = 0; k < v.size() / 2; k++)\\n {\\n int temp = v[k];\\n v[k] = v[v.size() - k - 1];\\n v[v.size() - k - 1] = temp;\\n }\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Write a program segment that, given a vector of vectors named\\n \"),_c('code',[_vm._v(\"vals\")]),_vm._v(\" and coordinates of one of its elements in\\n \"),_c('code',[_vm._v(\"row\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"col\")]),_vm._v(\", prints the values that lie on\\n the lower-left to upper-right diagonal of \"),_c('code',[_vm._v(\"vals\")]),_vm._v(\" that\\n contains the element with the given coordinates. The values should be\\n printed one per line; it doesn't matter what order they are printed,\\n except that you shouldn't print any element twice.\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"// print values up from row,col\\nr = row;\\nc = col;\\nwhile (r >= 0 && c < vals[0].size()) {\\n cout << vals[r][c] << endl;\\n r--;\\n c++;\\n}\\n\\n// print values down from row,col\\nr = row + 1;\\nc = col - 1;\\nwhile (c >= 0 && r < vals.size()) {\\n cout << vals[r][c] << endl;\\n r++;\\n c--;\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Complete the function below intended to play the game of \\\"Treasure\\n Hunt\\\". In this game, you are given an initial clue, which leads you to\\n the place of the next clue, which leads you to the next, and so on.\\n Occasionally you will enter a loop, in which case you lose, and the\\n function returns false. The \\\"clues\\\", for this problem, are index\\n values in an 10-element vector; the value in a cell tells you the\\n position of the next cell to look in. A position outside the vector\\n means you win, and the function returns true.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"In the example vector below, starting at position 0 leads you to 2,\\n then 7, then 3, then 1, and you win. Starting at position 9 leads you\\n to 7, 3, 1, and a win. Starting at 5 leads you to 8, then 4, then 6,\\n then 8 where you repeat the previous steps, so you lose.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Sample treasure hunt vector:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"2 99 7 1 6 8 8 3 4 7\")])]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"bool TreasureHunt( _____________ , int clue) {\\n for (int numClues = 1; numClues < 11; numClues++) {\\n if (clue < 0 || clue > 9) {\\n return true;\\n } else {\\n _________ ; // one statement goes here\\n }\\n }\\n\\n return false; // more than 10 clues, so we must be in a loop.\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"Function heading:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"bool TreasureHunt(vector clues, int clue)\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"else statement:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"clue = clues[clue];\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Consider a chess-playing program split into three files. One, in the\\n file \"),_c('code',[_vm._v(\"playchess.cpp\")]),_vm._v(\", contains the code implementing the\\n strategy for playing chess. A second, \"),_c('code',[_vm._v(\"board.cpp\")]),_vm._v(\", contains\\n the code that implements the 8-by-8 board, using an 8-by-8 boolean\\n vector of vectors, and the functions that move pieces and search the\\n board. The third, \"),_c('code',[_vm._v(\"board.h\")]),_vm._v(\", declares the functions that\\n \"),_c('code',[_vm._v(\"board.cpp\")]),_vm._v(\" exports. Explain which of the three files might\\n contain each of the following, and the context in which each might\\n appear:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"Board b\\nvector> pieces\\nvector> pieces(8, 8)\\nvector> pieces[0][0]\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_c('code',[_vm._v(\"Board b\")]),_vm._v(\" might appear as a definition in\\n \"),_c('code',[_vm._v(\"playchess.cpp\")]),_vm._v(\". It might also appear as a parameter\\n declaration in functions in any of the files (although not in the\\n functions declared in \"),_c('code',[_vm._v(\"board.h\")]),_vm._v(\" as \"),_c('code',[_vm._v(\"Board\")]),_vm._v(\" member\\n functions).\")]),_vm._v(\" \"),_c('p',[_c('code',[_vm._v(\"vector> pieces\")]),_vm._v(\" would most\\n likely appear in \"),_c('code',[_vm._v(\"board.h\")]),_vm._v(\" as part of the \"),_c('code',[_vm._v(\"Board\")]),_vm._v(\"\\n class declaration. It might also appear in function headers of private\\n functions in \"),_c('code',[_vm._v(\"board.cpp\")]),_vm._v(\". It would probably not appear in\\n \"),_c('code',[_vm._v(\"playchess.cpp\")]),_vm._v(\".\")]),_vm._v(\" \"),_c('p',[_c('code',[_vm._v(\"vector> pieces(8, 8)\")]),_vm._v(\" is\\n illegal. The second argument to the vector constructor should be the\\n value to be assigned to each element of the vector-here, another\\n vector, not an integer.\")]),_vm._v(\" \"),_c('p',[_c('code',[_vm._v(\"vector> pieces[0][0]\")]),_vm._v(\" is\\n illegal and wouldn't appear anywhere.\")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"Write a function that, given as argument a file of numbers open for\\n input, reads and echoes all the values in the file to\\n \"),_c('code',[_vm._v(\"cout\")]),_vm._v(\".\")])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"void echo(ifstream& filein) {\\n int x;\\n while (filein >> x) {\\n cout << x;\\n }\\n}\")])])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"This quiz tests you on the details of using the vector class (with one-\\n and two-dimensional structures), on common applications of vector processing\\n (e.g. search, insertion, deletion), and on the commands for initializing and\\n using file and string streams.\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4af38746\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/cpp/VectorsAndIoStreams.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4af38746\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./VectorsAndIoStreams.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/cpp/VectorsAndIoStreams.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/windows_PATH.1459fc4.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/windows_PATH.png\n// module id = t8XB\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/cat-and-mouse.b2621d5.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/cat-and-mouse.png\n// module id = ttIH\n// module chunks = 1","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/cpp/SimpleLoopingAndTesting.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'A Computer Science Tapestry Chapter 1',\n link: 'http://www.cs.duke.edu/csed/tapestry/'\n },\n {\n title: 'A Computer Science Tapestry Chapter 2 (excluding Sections 2.4 - 2.6)',\n link: 'http://www.cs.duke.edu/csed/tapestry/'\n },\n {\n title: 'A Computer Science Tapestry Chapter 3 (excluding Section 3.4)',\n link: 'http://www.cs.duke.edu/csed/tapestry/'\n },\n {\n title: 'A Computer Science Tapestry Chapter 4 (excluding Sections 4.5 - 4.6)',\n link: 'http://www.cs.duke.edu/csed/tapestry/'\n },\n {\n title: 'A Computer Science Tapestry Chapter 5 (excluding Section 5.4)',\n link: 'http://www.cs.duke.edu/csed/tapestry/'\n } ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Please download the starter code from above.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Your Task\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Write a C++ program that simulates an adding machine. Input to the\\n program will be integers, submitted one per line. Input should be handled\\n as follows:\\n \")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"a nonzero value should be added into a subtotal; \")]),_vm._v(\" \"),_c('li',[_vm._v(\"a zero value should cause the subtotal to be printed and reset to zero;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"two consecutive zeroes should cause the total of all values input to be printed and the program to be terminated.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Here's an example of how the program should work:\")]),_vm._v(\" \"),_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('table',{staticClass:\"table-inline table-bordered\",staticStyle:{\"display\":\"inline-block\"}},[_c('tbody',[_c('tr',[_c('th',[_vm._v(\" User Input \")]),_vm._v(\" \"),_c('th',[_vm._v(\" Program Output \")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"5\")]),_vm._v(\" \"),_c('td')]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"6\")]),_vm._v(\" \"),_c('td')]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"0\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Subtotal 11\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"-3\")]),_vm._v(\" \"),_c('td')]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"-2\")]),_vm._v(\" \"),_c('td')]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"5\")]),_vm._v(\" \"),_c('td')]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"0\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Subtotal 0\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"13\")]),_vm._v(\" \"),_c('td')]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"-13\")]),_vm._v(\" \"),_c('td')]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"8\")]),_vm._v(\" \"),_c('td')]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"0\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Subtotal 8\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"0\")]),_vm._v(\" \"),_c('td',[_vm._v(\"Total 19\")])])])])]),_vm._v(\" \"),_c('p',[_vm._v(\"You may but need not use functions. However, if your \"),_c('code',[_vm._v(\"main\")]),_vm._v(\"\\n function is more than 24 lines long, you are required to split the program\\n into more than one function to satisfy CS 9F style standards. Test your\\n program on input that consists only of two zeroes—the output should\\n be a 0 subtotal and a 0 total—as well as on the example above.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correctly working code.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Test cases as specified.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Adherence to CS 9F style standards:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"appropriate use of indenting and white space;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"avoidance of \\\"forbidden C++\\\";\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable names that reflect their use;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"informative comments;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no function more than 24 lines long.\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"Clean case analysis and simple loop structuring.\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-522eb89a\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/cpp/SimpleLoopingAndTesting.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SimpleLoopingAndTesting.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SimpleLoopingAndTesting.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-522eb89a\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./SimpleLoopingAndTesting.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/SimpleLoopingAndTesting.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/matlab/ImageManipulation.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Problem\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Your goal is to write software to allow you to run experiments that\\n check a human subject’s ability to notice small distortions in grayscale\\n images. In each trial, a small square window of an image will be distorted\\n using one of a small number of distortion functions. The subject is shown\\n this modified image (sometimes following the original image) and asked to\\n click with the mouse at the center of the distortion patch. Your program\\n will have the ability to vary the size of the patch as well as the\\n distortion function; it will run several trials for each combination to see\\n how these affect the results.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The main function for running the experiment is provided for you:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"result = runExperiment(myImage, funcs, windowSizes, numTrials, showOriginal)\")])]),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('p',[_vm._v(\"For this assignment, you will provide several sets of functions:\")]),_vm._v(\" \"),_vm._m(6)]),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Distortion Functions\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Each distortion function will be called as follows, taking an image as\\n argument and returning an image of the same size:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"t_im = imTrans___(im);\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"The blank in the function name should be replaced by one of the\\n following:\")]),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_c('p',[_vm._v(\"You may also provide extra distortion functions besides those in the\\n list above.\")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"The timeUser function\")]),_vm._v(\" \"),_vm._m(9),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"[clickPosition, elapsedTime] = ...\\n timeUser(distortedImage, originalImage, showOriginal)\")])]),_vm._v(\" \"),_vm._m(10)]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Analysis\")]),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"[tmatrix, dmatrix] = convertResults(res)\")])]),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_c('p',[_vm._v(\"Based on your data (collected from at least two different input images,\\n one of random grey values and one of your choosing), devise and justify a\\n model of what type of transformations are more or less difficult to notice.\\n How did the input image affect the results? How does the size affect the\\n results? Is the task easier if the original image is shown right before the\\n distorted image?\")])]),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_vm._m(15)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Reading\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Chapter 8\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Chapter 9\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Section 12.7\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Section 15.4\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Sections 25.4 - 25.8\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Chapter 27\")]),_vm._v(\" \"),_c('li',[_c('cite',[_vm._v(\"Mastering MATLAB (1st Edition)\")]),_vm._v(\" Sections 28.1 - 28.3\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains two files\\n called \"),_c('code',[_vm._v(\"dataGathered.m\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"runExperiment.m\")]),_vm._v(\".\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Researchers have used interactive computer experiments to test\\n everything about people from color blindness to visual blind spots to\\n response times under sleep deprivation. These experiments typically flash\\n something on the screen and ask that the user indicate the moment they saw\\n something change by clicking the mouse in the center of the region that\\n changed. If everything is kept constant except for the small change in the\\n display, one can measure how sensitive the user is to the particular type\\n of change. You’re going to author one of these experiments. The really cool\\n thing about this assignment is that once you’ve finished, you’ll have a\\n template that will let you measure yourself against your friends in terms\\n of response times and accuracy, as well as learn what kinds of visual\\n changes are hardest to detect.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"runExperiment\")]),_vm._v(\" is given an image, a cell array of function\\n handles (one for each distortion), an array of sizes, the number of trials\\n per function/size combination to run, and a boolean (0 or 1) determining\\n whether to show the original before the distorted image. It calls a\\n function to generate the random order of the trials, distorts a randomly\\n positioned window of the image and calls a function named\\n \"),_c('code',[_vm._v(\"timeUser\")]),_vm._v(\" to show the image and time the subject’s response.\\n The last parameter to \"),_c('code',[_vm._v(\"runExperiment\")]),_vm._v(\", \"),_c('code',[_vm._v(\"showOriginal\")]),_vm._v(\",\\n is passed on to \"),_c('code',[_vm._v(\"timeUser\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"runExperiment\")]),_vm._v(\" returns a structure named \"),_c('code',[_vm._v(\"result\")]),_vm._v(\"\\n whose fields include the following:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"windowSizes\")]),_vm._v(\", \"),_c('code',[_vm._v(\"funcs\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"numTrials\")]),_vm._v(\" (supplied in the call to \"),_c('code',[_vm._v(\"runExperiment\")]),_vm._v(\");\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"windowSize\")]),_vm._v(\", \"),_c('code',[_vm._v(\"func\")]),_vm._v(\", \"),_c('code',[_vm._v(\"clickPosition\")]),_vm._v(\", \"),_c('code',[_vm._v(\"elapsedTime\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"windowPos\")]),_vm._v(\" (computed in each experiment and passed on to \"),_c('code',[_vm._v(\"convertResults\")]),_vm._v(\", a function you write to analyze the results).\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"a function named \"),_c('code',[_vm._v(\"generateTrials\")]),_vm._v(\" to generate a matrix that contains information about the trials;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"several distortion functions that replace pixels in a portion of the image;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"a function named \"),_c('code',[_vm._v(\"timeUser\")]),_vm._v(\" that runs a single trial, displaying an image and recording the user’s mouse click and reaction time;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"analysis functions that allow the results to be easily interpreted.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"The generateTrials Function\")]),_vm._v(\" \"),_c('p',[_c('code',[_vm._v(\"generateTrials\")]),_vm._v(\" takes three arguments: the number of\\n distortion functions, the number of sizes, and the number of trials to run.\\n It returns an n-by-2 matrix whose rows have the form \"),_c('code',[_vm._v(\"[function_id\\n size_id]\")]),_vm._v(\" and collectively contain \"),_c('code',[_vm._v(\"numTrials\")]),_vm._v(\" copies of\\n all \"),_c('code',[_vm._v(\"[function_id size_id]\")]),_vm._v(\" pairs, appearing in random order.\\n (Thus \"),_c('code',[_vm._v(\"n = numSizes*numFunctions*numTrials\")]),_vm._v(\".). The Matlab\\n functions \"),_c('code',[_vm._v(\"repmat\")]),_vm._v(\", \"),_c('code',[_vm._v(\"meshgrid,\")]),_vm._v(\", and\\n \"),_c('code',[_vm._v(\"randperm\")]),_vm._v(\" will be useful for generating this matrix.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Here are two example calls. The first asks \"),_c('code',[_vm._v(\"generateTrials\")]),_vm._v(\"\\n to pair up 2 functions with 3 sizes with each combination represented\\n exactly once. The second call wants each of these combinations represented\\n exactly twice (\"),_c('code',[_vm._v(\"numTrials = 2\")]),_vm._v(\"):\")]),_vm._v(\" \"),_c('table',{staticStyle:{\"margin\":\"0 auto\",\"text-align\":\"center\",\"width\":\"75%\"}},[_c('tbody',[_c('tr',[_c('td',{staticStyle:{\"vertical-align\":\"top\"}},[_c('pre',{staticStyle:{\"display\":\"inline-block\",\"text-align\":\"left\"}},[_c('code',[_vm._v(\">> generateTrials(2, 3, 1)\\nans =\\n 2 3\\n 2 1\\n 1 2\\n 2 2\\n 1 3\\n 1 1\")])])]),_vm._v(\" \"),_c('td',{staticStyle:{\"vertical-align\":\"top\"}},[_c('pre',{staticStyle:{\"display\":\"inline-block\",\"text-align\":\"left\"}},[_c('code',[_vm._v(\">> generateTrials(2, 3, 2)\\nans =\\n 2 3\\n 2 2\\n 2 3\\n 1 3\\n 1 3\\n 2 1\\n 1 1\\n 2 1\\n 1 2\\n 1 2\\n 1 1\\n 2 2\")])])])])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_c('code',[_vm._v(\"Control\")]),_vm._v(\". Replace the pixels with all black or all white, depending on the mean color of the patch: if the patch is light, replace with black, otherwise with white. This should be very easy to spot, and should serve as a baseline, or control for the experiment.\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"Mean\")]),_vm._v(\". Replace the pixels with the mean color of the patch.\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"Invert\")]),_vm._v(\". Figure out the range of intensity values within the patch. Within this range, invert the intensity values. That is, the pixel that was the brightest before will get the intensity of the darkest, and vice versa.\")]),_vm._v(\" \"),_c('li',[_c('code',[_vm._v(\"Transpose\")]),_vm._v(\". Take the transpose of the square patch (i.e. flip along diagonal).\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The \"),_c('code',[_vm._v(\"timeUser\")]),_vm._v(\" function is called as follows:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('code',[_vm._v(\"timeUser\")]),_vm._v(\" clears the figure or displays the\\n \"),_c('code',[_vm._v(\"originalImage\")]),_vm._v(\" (based on the \"),_c('code',[_vm._v(\"showOriginal\")]),_vm._v(\" flag),\\n waits 1 second, then shows \"),_c('code',[_vm._v(\"distortedImage\")]),_vm._v(\" and waits till the\\n user clicks somewhere on the image with the mouse. When the click arrives,\\n it records the \"),_c('code',[_vm._v(\"[x y]\")]),_vm._v(\" position in \"),_c('code',[_vm._v(\"clickPosition\")]),_vm._v(\"\\n and the elapsed time in \"),_c('code',[_vm._v(\"elapsedTime\")]),_vm._v(\", and returns them. Use the\\n same figure all the time; popping up a new figure each time gets really\\n annoying for the user. The Matlab functions \"),_c('code',[_vm._v(\"ginput\")]),_vm._v(\",\\n \"),_c('code',[_vm._v(\"tic\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"toc\")]),_vm._v(\" will be useful for writing\\n \"),_c('code',[_vm._v(\"timeUser\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The result structure returned by the experiment is not in the most\\n convenient format for plotting. Write a function\\n \"),_c('code',[_vm._v(\"convertResults\")]),_vm._v(\":\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"that takes in the \"),_c('code',[_vm._v(\"res\")]),_vm._v(\" struct and returns \"),_c('code',[_vm._v(\"tmatrix\")]),_vm._v(\", containing elapsed-time information, and \"),_c('code',[_vm._v(\"dmatrix\")]),_vm._v(\", containing distances between the mouse click points and the rectangle centers. Each should be an \"),_c('code',[_vm._v(\"S\")]),_vm._v(\"-by-\"),_c('code',[_vm._v(\"F\")]),_vm._v(\"-by-\"),_c('code',[_vm._v(\"N\")]),_vm._v(\" matrix, where \"),_c('code',[_vm._v(\"S =\")]),_vm._v(\" the number of sizes, \"),_c('code',[_vm._v(\"F\")]),_vm._v(\" = the number of distortion functions, and \"),_c('code',[_vm._v(\"N\")]),_vm._v(\" = the number of trials. For example, \"),_c('code',[_vm._v(\"tmatrix(2,3,4)\")]),_vm._v(\" is the time elapsed between showing the image and the mouse click for the second size value and third function type during the fourth trial. (This conversion can be performed in a few lines without any loops, using the Matlab functions \"),_c('code',[_vm._v(\"sortrows\")]),_vm._v(\" [hint: \"),_c('code',[_vm._v(\"sortrows\")]),_vm._v(\" uses a \"),_c('a',{attrs:{\"href\":\"https://en.wikipedia.org/wiki/Sorting_algorithm#Stability\"}},[_c('dfn',[_vm._v(\"stable\")])]),_vm._v(\" version of \"),_c('a',{attrs:{\"href\":\"https://en.wikipedia.org/wiki/Quicksort\"}},[_vm._v(\"Quicksort\")]),_vm._v(\"], \"),_c('code',[_vm._v(\"permute\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"reshape\")]),_vm._v(\"!)\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Now call a final helper routine \"),_c('code',[_vm._v(\"displayAnalysis\")]),_vm._v(\" to do\\n whatever plotting (error bars, scatters, 3-D plots, etc.) you feel\\n appropriate to highlight the results in the most revealing way. You should\\n declare a cell array to record the names of your functions (in the same\\n order as they were listed in your cell array of functions you passed to\\n \"),_c('code',[_vm._v(\"runExperiment\")]),_vm._v(\"); pass these names to\\n \"),_c('code',[_vm._v(\"displayAnalysis\")]),_vm._v(\" to use to label your charts.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Miscellaneous Requirements\")]),_vm._v(\" \"),_c('p',[_vm._v(\"When you are in your last stage and ready to begin running your\\n experiments, resize the \\\"Figure 1\\\" window to be larger (in raw pixel\\n dimensions) than the original image. Fix that size for the duration of\\n your tests.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You should comment your code appropriately and save it in M-files.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Show your tutor a printout of several plots with many different test\\n scenarios (described below), and a printed listing of your M-file.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Run your experiment on at least three different volunteers and collect\\n anonymized relevant information about them (age, gender, eyesight, years\\n using a mouse, etc).\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A satisfactory grade on this program requires\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"completion of the \"),_c('code',[_vm._v(\"generateTrials\")]),_vm._v(\", \"),_c('code',[_vm._v(\"timeUser\")]),_vm._v(\", \"),_c('code',[_vm._v(\"convertResults\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"displayAnalysis\")]),_vm._v(\" functions, a main \\\"driver\\\" function that sets up your experiment, and any subroutines you found handy\")]),_vm._v(\" \"),_c('li',[_vm._v(\"evidence of individual testing of all functions\")]),_vm._v(\" \"),_c('li',[_vm._v(\"no routine longer than twenty-four lines of code\")]),_vm._v(\" \"),_c('li',[_vm._v(\"variable and subprogram names that reflect their use\")]),_vm._v(\" \"),_c('li',[_vm._v(\"comments at the head of all your functions that explain the purpose of each\")]),_vm._v(\" \"),_c('li',[_vm._v(\"declaration of all variables in a “dictionary”\")]),_vm._v(\" \"),_c('li',[_vm._v(\"printouts of the two original images you used, one of your own choosing and one a random grayscale image (in which each pixel takes a random value in a given range, say [0,1] or [0,255]).\")]),_vm._v(\" \"),_c('li',[_vm._v(\"an explanation of why you chose the visualization you did (error bars, scatters, 3-D plots, etc.)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"printed output of your plots on the following test scenarios:\\n \"),_c('ul',[_c('li',[_vm._v(\"two images, one of your own choosing and one a random image\")]),_vm._v(\" \"),_c('li',[_vm._v(\"all four \"),_c('code',[_vm._v(\"imTrans___\")]),_vm._v(\" functions\")]),_vm._v(\" \"),_c('li',[_vm._v(\"several different sizes of distortion patches\")]),_vm._v(\" \"),_c('li',[_vm._v(\"several different trials\")])])]),_vm._v(\" \"),_c('li',[_vm._v(\"answers to the questions posed in the “Analysis” section above.\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-674a4efd\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/matlab/ImageManipulation.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./ImageManipulation.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./ImageManipulation.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-674a4efd\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./ImageManipulation.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/matlab/ImageManipulation.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/gif;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/cpp/images/9F-study-guide6.gif\n// module id = usKi\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 4: Symbolic Math Operations\")]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Goals\")]),_vm._v(\" \"),_c('p',[_vm._v(\"This quiz tests you on Matlab’s facility for symbolic math.\")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Readings\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://www.mathworks.com/help/symbolic/create-symbolic-numbers-variables-and-expressions.html\"}},[_c('cite',[_vm._v(\"MATLAB Documentation\")]),_vm._v(\" Symbolic Numbers, Variables, and Expressions\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://www.mathworks.com/help/symbolic/create-symbolic-functions.html\"}},[_c('cite',[_vm._v(\"MATLAB Documentation\")]),_vm._v(\" Create Symbolic Functions\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://www.mathworks.com/help/symbolic/create-symbolic-matrices.html\"}},[_c('cite',[_vm._v(\"MATLAB Documentation\")]),_vm._v(\" Create Symbolic Matrices\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://www.mathworks.com/help/symbolic/performing-symbolic-computations.html\"}},[_c('cite',[_vm._v(\"MATLAB Documentation\")]),_vm._v(\" Perform Symbolic Computations\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"https://www.mathworks.com/help/symbolic/assumptions-for-symbolic-objects.html\"}},[_c('cite',[_vm._v(\"MATLAB Documentation\")]),_vm._v(\" Use Assumptions on Symbolic Variables\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"Reference: \"),_c('a',{attrs:{\"href\":\"https://www.mathworks.com/help/symbolic/index.html\"}},[_c('cite',[_vm._v(\"MATLAB Documentation\")]),_vm._v(\" Symbolic Math Toolbox\")])])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('p',[_vm._v(\"How would you find out the symbolic value of \"),_c('var',[_vm._v(\"y\")]),_vm._v(\" =\\n \"),_c('var',[_vm._v(\"a\")]),_c('var',[_vm._v(\"x\")]),_c('sup',[_vm._v(\"2\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"b\")]),_c('var',[_vm._v(\"x\")]),_vm._v(\" +\\n 2\"),_c('sup',[_vm._v(\"1/2\")]),_vm._v(\" when \"),_c('var',[_vm._v(\"x\")]),_vm._v(\" = 2?\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Where does the curve \"),_c('var',[_vm._v(\"y\")]),_vm._v(\" =\\n \"),_c('var',[_vm._v(\"a\")]),_c('var',[_vm._v(\"x\")]),_c('sup',[_vm._v(\"2\")]),_vm._v(\" + \"),_c('var',[_vm._v(\"b\")]),_c('var',[_vm._v(\"x\")]),_vm._v(\" +\\n 2\"),_c('sup',[_vm._v(\"1/2\")]),_vm._v(\" intersect the line \"),_c('var',[_vm._v(\"y\")]),_vm._v(\" = 2\"),_c('sup',[_vm._v(\"1/2\")]),_vm._v(\"?\")])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"Build an \"),_c('var',[_vm._v(\"n\")]),_vm._v(\"-by-2 infinite precision table of the counting\\n numbers and their inverses. The first column should be increasing\\n values of \"),_c('var',[_vm._v(\"n\")]),_vm._v(\" (starting from 1) and the second column should\\n be values of \"),_c('sup',[_vm._v(\"1\")]),_vm._v(\"⁄\"),_c('sub',[_vm._v(\"n\")]),_vm._v(\". Here is the answer for\\n \"),_c('var',[_vm._v(\"n\")]),_vm._v(\"=3:\")]),_vm._v(\" \"),_c('pre',[_c('code',[_vm._v(\"ans =\\n[ 1, 1]\\n[ 1, 1/2]\\n[ 1, 1/3]\")])])])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Solutions to Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('pre',[_c('code',[_vm._v(\"syms x y a b % Declare symbolic variables\\nf = a*x^2 + b*x + sqrt(2); % Declare symbolic function\\nsubs(f,2) % Evaluate at x (default) = 2\\nans =\\n4*a+2*b+c\")])])]),_vm._v(\" \"),_c('li',[_c('p',[_c('code')]),_c('pre',[_c('code',[_vm._v(\"solve(f-sqrt(2)) % y=f(x)=2^1/2\\nans =\\n 0\\n -b/a\")])])]),_vm._v(\" \"),_c('li',[_c('pre',[_c('code',[_vm._v(\"% n is defined already\\nn_ones = ones(n,1) % Generate a column of ones\\n[ n_ones n_ones ./ sym([1:n]') ] % [1 1/n]\")])])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-6ce3765e\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/matlab/SymbolicMathOperations.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6ce3765e\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./SymbolicMathOperations.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/matlab/SymbolicMathOperations.vue\n// module id = null\n// module chunks = ","module.exports = __webpack_public_path__ + \"static/img/terminal-g++.a330dfa.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/terminal-g++.png\n// module id = vAYO\n// module chunks = 1","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('h1',[_vm._v(\"Quiz 1: Fundamentals\")]),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('Readings',{attrs:{\"readings\":[\n {\n title: 'A Computer Science Tapestry',\n link: 'http://www.cs.duke.edu/csed/tapestry/',\n extra: 'Chapter 1'\n },\n {\n title: 'A Computer Science Tapestry',\n link: 'http://www.cs.duke.edu/csed/tapestry/',\n extra: 'Chapter 2'\n },\n {\n title: 'A Computer Science Tapestry',\n link: 'http://www.cs.duke.edu/csed/tapestry/',\n extra: 'Chapter 3'\n },\n {\n title: 'A Computer Science Tapestry',\n link: 'http://www.cs.duke.edu/csed/tapestry/',\n extra: 'Chapter 4'\n },\n {\n title: 'A Computer Science Tapestry',\n link: 'http://www.cs.duke.edu/csed/tapestry/',\n extra: 'Chapter 5'\n },\n {\n title: 'A Computer Science Tapestry',\n link: 'http://www.cs.duke.edu/csed/tapestry/',\n extra: 'Chapter 6 (excluding Sections 6.3.5, 6.3.7, and 6.5)'\n },\n {\n title: 'A Computer Science Tapestry',\n link: 'http://www.cs.duke.edu/csed/tapestry/',\n extra: 'Chapter 7 (excluding Section 7.4)'\n } ]}}),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Sample Quiz\")]),_vm._v(\" \"),_c('ol',[_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Explain what function overloading is, and how it's useful.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"\\n Function overloading refers to the use of the same name for two different functions,\\n for example, use of the name \\\"Print\\\" as a member function of two different classes.\\n With function overloading, one can give the same name to functions that perform the\\n same action, regardless of what types of data are involved; otherwise, one would have\\n to make up artificially different names such as \\\"PrintDate\\\" and \\\"PrintTime\\\".\\n \")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Write an input statement that reads values from \"),_c('code',[_vm._v(\"cin\")]),_vm._v(\" into variables\\n \"),_c('code',[_vm._v(\"cmd\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"arg\")]),_vm._v(\", and a single output statement that prints\\n those values, labeled appropriately, on two separate lines.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"cin >> cmd >> arg;\\ncout << \\\"cmd = \\\" << cmd << endl << \\\"arg = \\\" << arg << endl;\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Rewrite the following code segment as a \"),_c('code',[_vm._v(\"switch\")]),_vm._v(\" statement.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"if (n == 1) {\\n total = total + 2;\\n} else if (n == 2) {\\n total = total + 27;\\n} else if (n == 3) {\\n total = total + 314;\\n} else {\\n total = total - 6;\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"switch (n) {\\n case 1:\\n total = total + 2;\\n break;\\n case 2:\\n total = total + 27;\\n break;\\n case 3:\\n total = total + 314;\\n break;\\n default:\\n total = total - 7;\\n}\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n What value does \"),_c('code',[_vm._v(\"n\")]),_vm._v(\" contain after the following code is executed?\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"n = 0;\\nfor (int k = 1; k < 5; k = k + 2) {\\n n++;\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_c('code',[_vm._v(\"n\")]),_vm._v(\" contains 2; it was incremented once for \"),_c('code',[_vm._v(\"k\")]),_vm._v(\" having the value\\n 1, and once more for \"),_c('code',[_vm._v(\"k\")]),_vm._v(\" having the value 3.\\n \")])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Fill in the blank in the definition of the function \"),_c('code',[_vm._v(\"InRange\")]),_vm._v(\"\\n given below. \"),_c('code',[_vm._v(\"InRange\")]),_vm._v(\" should return true if its integer argument\\n is between 4 and 27, inclusive.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"bool InRange(int n) {\\n return _________________________________ ;\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('p',[_vm._v(\"There are several possible answers. Here is one:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"return n >= 4 && n <= 27;\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Complete the heading for function \"),_c('code',[_vm._v(\"F\")]),_vm._v(\" so that, on return from the call to\\n \"),_c('code',[_vm._v(\"F\")]),_vm._v(\" in \"),_c('code',[_vm._v(\"main\")]),_vm._v(\", the variable \"),_c('code',[_vm._v(\"n1\")]),_vm._v(\" contains the value 3\\n and the variable \"),_c('code',[_vm._v(\"n2\")]),_vm._v(\" contains the value 7.\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"void F( _________________________________ ) {\\n k1++;\\n k2 = k2 + 2;\\n}\\n\\nint main() {\\n int n1 = 3, n2 = 5;\\n F(n2, n1);\\n}\")])])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"void F(int &k2, int k1) ...\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n List the contents of the \"),_c('code',[_vm._v(\"fractions.h\")]),_vm._v(\" file for a \"),_c('code',[_vm._v(\"Fraction\")]),_vm._v(\"\\n class whose member functions include a constructor, \"),_c('code',[_vm._v(\"Numerator\")]),_vm._v(\" and\\n \"),_c('code',[_vm._v(\"Denominator\")]),_vm._v(\" access function, and a \"),_c('code',[_vm._v(\"Sum\")]),_vm._v(\" function that returns\\n the result of adding the value stored in the \"),_c('code',[_vm._v(\"Fraction\")]),_vm._v(\" object to the\\n argument value. Assume that the private data for a fraction consists of two integers\\n called \"),_c('code',[_vm._v(\"myNumer\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"myDenom\")]),_vm._v(\".\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"class Fraction\\n{\\npublic:\\n Fraction(int numer, int denom);\\n int Numerator();\\n int Denominator();\\n Fraction Sum(Fraction x);\\n\\nprivate:\\n int myNumer;\\n int myDenom;\\n};\")])])])],1),_vm._v(\" \"),_c('li',[_c('QuizQuestion',[_c('p',[_vm._v(\"\\n Define the \"),_c('code',[_vm._v(\"Sum\")]),_vm._v(\" function that would appear in the \"),_c('code',[_vm._v(\"fractions.cpp\")]),_vm._v(\"\\n file for the \"),_c('code',[_vm._v(\"Fraction\")]),_vm._v(\" class described in question 7.\\n \")])]),_vm._v(\" \"),_c('QuizSolution',[_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"cpp\"},[_vm._v(\"Fraction Fraction::Sum(Fraction x) {\\n return Fraction(myNumer * x.myDenom + myDenom * x.myNumer,\\n myDenom * x.myDenom);\\n}\")])])])],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('p',[_vm._v(\"This quiz focuses on the aspects of the C++ language that are conceptually\\n similar to those in other procedural languages: variable declaration,\\n expression evaluation, functions, input/output, and flow-of-control\\n constructs. It also introduces the class construct, the basis of\\n object-oriented programming in C++.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A lot of detail is covered in this segment. Many students prefer to work\\n on the \\\"Simple looping and testing\\\" and \\\"Flow of control\\\" programming\\n assignments prior to taking this quiz, in order to provide themselves with\\n more of the big picture in which all the details fit.\")])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-251335d0\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/quizzes/cpp/Fundamentals.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-251335d0\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Fundamentals.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/quizzes/cpp/Fundamentals.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/c/PigLatin.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('article',[_c('h2',[_vm._v(\"Readings\")]),_vm._v(\" \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-1\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Chapter 1\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/2dot-basics-of-program-writing/pcp3-chp-2-sect-1\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Sections 2.1 - 2.3\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-23-sect-6\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Chapter 3\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-4\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Chapter 4\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/idot-basics/pcp3-chp-6\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Chapter 6\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/iidot-simple-programming/pcp3-chp-8\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Chapter 8\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/9dot-variable-scope-and-functions/pcp3-chp-9-sect-1\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Sections 9.1 - 9.4\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"http://proquest.safaribooksonline.com/book/programming/c/1565923065/ivdot-other-language-features/pcp3-app-c\"}},[_c('cite',[_vm._v(\"Practical C Programming (3rd Edition)\")]),_vm._v(\" Appendix C\")])])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Background\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Pig Latin is a language parents speak to each other when they don't want\\n their children to understand them. Each English word has a Pig Latin\\n translation; you produce it as follows.\")]),_vm._v(\" \"),_c('ol',[_c('li',[_vm._v(\"If the English word begins with a vowel (\\\"a\\\", \\\"e\\\", \\\"i\\\", \\\"o\\\", \\\"u\\\"), add \\\"yay\\\" to the end of the word to produce the Pig Latin translation.\")]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(\"If the English word begins with a consonant (a non-vowel), move all\\n leading consonants to the end of the word and add \\\"ay\\\" to produce the\\n Pig Latin translation. You should treat the letter `y' as a vowel when\\n it occurs after the first character in a word. You should also treat\\n the letter pair \\\"qu\\\" together as a consonant. Here are some\\n examples.\")]),_vm._v(\" \"),_c('table',{staticStyle:{\"margin\":\"0 auto\"},attrs:{\"cellpadding\":\"5\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('th',[_vm._v(\"English\")]),_vm._v(\" \"),_c('th',[_vm._v(\"Pig Latin\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"yes\")]),_vm._v(\" \"),_c('td',[_vm._v(\"esyay\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"example\")]),_vm._v(\" \"),_c('td',[_vm._v(\"exampleyay\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"bygone\")]),_vm._v(\" \"),_c('td',[_vm._v(\"ygonebay\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"test\")]),_vm._v(\" \"),_c('td',[_vm._v(\"esttay\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"quiz\")]),_vm._v(\" \"),_c('td',[_vm._v(\"izquay\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"strip\")]),_vm._v(\" \"),_c('td',[_vm._v(\"ipstray\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"trips\")]),_vm._v(\" \"),_c('td',[_vm._v(\"ipstray\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"schnitzel\")]),_vm._v(\" \"),_c('td',[_vm._v(\"itzelschnay\")])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"rhyme\")]),_vm._v(\" \"),_c('td',[_vm._v(\"ymerhay\")])])])])])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Problem\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Write a program in C to read a word from standard input and print its\\n Pig Latin translation on a line by itself on standard output. You may\\n assume that an English word starts with no more than four consonants.\")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Miscellaneous Requirements\")]),_vm._v(\" \"),_c('p',[_vm._v(\"C code is rather dense. Thus your functions should be small, certainly\\n at most a screenful of code.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Your program need not use arrays. You may assume that an English word\\n starts with no more than four consonants. (This assumption makes it\\n possible to avoid arrays.) You may also assume that each \\\"q\\\" is followed by\\n a \\\"u\\\". Test your program at least on the examples given above.\")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"System Information\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The line \"),_c('code',[_vm._v(\"#include \")]),_vm._v(\" at the start of your\\n program will allow you to use the predefined constant \"),_c('code',[_vm._v(\"EOF\")]),_vm._v(\" and\\n the \"),_c('code',[_vm._v(\"getchar\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"putchar\")]),_vm._v(\" routines for input and\\n output.\")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Helpful Hints\")]),_vm._v(\" \"),_c('p',[_vm._v(\"C gives you plenty of rope to hang yourself. To save your neck, you\\n should spend time decomposing the problem into manageable pieces (i.e.\\n separate functions!) before trying to code anything, and then test each\\n piece separately. You may test your functions individually by writing a\\n tiny \\\"driver\\\" \"),_c('code',[_vm._v(\"main()\")]),_vm._v(\" that simply gets test data and calls the\\n function.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Some aspects of C are sure to trip up the novice C programmer, for\\n instance, the placement of semicolons and parentheses, the need to \\\"break\\\"\\n out of a case in a \"),_c('code',[_vm._v(\"switch\")]),_vm._v(\" statement, and the indexing of\\n arrays. The compiler and run-time system are sometimes of little help in\\n finding these errors. Advice: Start with something simple, get it working,\\n and add small pieces to it one at a time. Tutors will ask you, when you\\n bring them bugs, \\\"What was the last thing you did that worked?\\\" You should\\n have a good answer.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Arrays are not necessary for this problem. (Why? If you need a hint,\\n consider a program that simply echoes characters from the standard input to\\n standard output. How many variables does that program need?)\")])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('p',[_vm._v(\"A satisfactory grade on this assignment requires the following:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Correctly working program, tested as suggested\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Short functions\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Good style and layout\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Reasonable names for variables, functions, etc.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Loops and blocks indented according to the given guidelines\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Informative comments accompanying every function\")])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2f581902\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/c/PigLatin.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PigLatin.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PigLatin.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2f581902\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./PigLatin.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/PigLatin.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/unix/CatAndMouse.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Advanced Bash Scripting Guide Sections 9-13, 25-26, 29-34',\n link: 'http://www.tldp.org/LDP/abs/html'\n }\n ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Part 1: Floating Point Math\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You should use the bashcalc-functions.sh file that you created in the\\n previous assignment to provide basic math functionality in your Cat &\\n Mouse simulator. Do this by including a line at the top of your script to\\n source the file:\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\". bashcalc-functions.sh\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Now, implement the following two functions which will be used later on\\n in the simulation:\")]),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('p',[_vm._v(\"Bring in transcripts showing your tests for both of these functions.\\n Make sure you test sufficient cases to be satisfied with the function's\\n correctness.\")])]),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_vm._m(7),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Overview\")]),_vm._v(\" \"),_c('p',[_vm._v(\"In this assignment, you will use the math library you created in the\\n previous assignment to write a BASH script for a simulation.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"starter\"}},[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains a single file\\n called \"),_c('code',[_vm._v(\"catmouse-fw.sh\")]),_vm._v(\". You will also need \"),_c('code',[_vm._v(\"bash-functions.sh\")]),_vm._v(\"\\n from your previous assignment and copy it into the same directory.\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Cat and Mouse\")]),_vm._v(\" \"),_c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/cat-and-mouse.png\"),\"alt\":\"Cat and Mouse\",\"width\":\"560\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1. The Cat and Mouse problem.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"The scene is an urban park; a cat watches a mouse run around the base of\\n a statue of the actors from Monty Python. Over the course of a second, the\\n somewhat witless mouse moves one meter counterclockwise around the\\n statue’s base, which is circular and two meters in diameter. Every\\n second, the cat pursues the mouse as follows: If the cat can see the mouse,\\n the cat moves one meter toward the statue. If the cat can’t see the\\n mouse, the cat circles 1.25 meters counterclockwise around the statue.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"The cat plans eventually to get close enough to the mouse to make it a\\n juicy lunch. The mouse by accident, however, may manage to keep completely\\n out of sight of the cat, since both the cat and the mouse are moving\\n counter-clockwise.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Should the chase go on more than 30 seconds, however,\\n the cat will get tired and wander off.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Why use BASH?\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Indeed it is true that most experienced programmers, even those\\n extremely versed in shell scripting, would not choose BASH to tackle a\\n problem like this. However, the main reasons against using BASH for this\\n type of problem in the real world present us with a unique educational\\n opportunity to explore different aspects of shell programming. The mere\\n fact that a simulation like this can be done using BASH and UNIX tools\\n shows the power and versitility that shell programming has to offer.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Trigonometric Information\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"\\n The cat sees the mouse if \"),_c('br'),_vm._v(\" \"),_c('code',[_vm._v(\"(cat radius) * cos (cat angle - mouse angle) >= 1.0\")]),_vm._v(\" (angles in radian)\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n When the cat circles distance d around the statue, its radius does not change, and the change in\\n its angle can be calculated from the relationship \"),_c('br'),_vm._v(\" \"),_c('code',[_vm._v(\"d = angle * radius\")]),_vm._v(\" (angles in radian)\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"\\n The cat catches the mouse when it (the cat) moves past the mouse while at the base of the statue,\\n i.e. when the cat radius is 1.0 and the mouse angle lies between the old cat angle and the new\\n cat angle. An angle B is between angles A and C in the following circumstances:\"),_c('br'),_vm._v(\" \"),_c('code',[_vm._v(\"cos (B - A) > cos (C - A)\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"cos (C - B) > cos (C - A)\")]),_vm._v(\" (angles in radian)\"),_c('br'),_vm._v(\"\\n The difference C - A is assumed to be less than 90°, or π/2 radians.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Note that the cat cannot move inside the statue’s base; hence if the cat is, say, at radius 1.7 and sees the mouse, it can move in only 0.7 meters, up to the base of the statue.\\n \")]),_vm._v(\" \"),_c('li',[_vm._v(\"Remember that angles a, a + 2π, a + 4π, ... are all equal.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"angle_between (Hint: Look in the Trig Information above)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"does_cat_see_mouse (Hint: Look in the Trig Information above)\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Part 2: Simulation Step\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Now that you have the helper functions you need, it's time to write the\\n heart of the simulation. Within the framework script, we have provided a\\n framework for the function next_step. This function takes in the current\\n state, step number, cat and mouse positions, and max steps and prints the\\n state at the next step of the simulation.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Please complete the implementation of this function (you may start from\\n scratch if you wish) and perform sufficient testing to catch all possible\\n corner cases. Bring in a transcript of this testing for your tutor to\\n examine.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Clarification on possible ambiguity:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"In each step, the cat moves first. If it moves past the mouse, it catches it.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"If the cat didn't catch the mouse, the mouse then moves.\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Part 3: Putting It All Together\")]),_vm._v(\" \"),_c('p',[_vm._v(\"And for the final step, you now need to make an executable script out of\\n these functions which takes in the initial positions and a maximum number\\n of steps to allow. Your script should print out the state\\n (running/caught/given up) and positions at each step of the simulation.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Create a transcript of your tests of the simulator, and bring them in\\n for your tutor to see. You should show at least one test case in which the\\n mouse is caught without any movement (they start at the same location), one\\n in which the cat catches the mouse on the very last step, and one in which\\n the cat gives up but would've caught the mouse if he took one more\\n step.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Testing\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Test each function and method in your program with enough different\\n inputs to show that it works. When testing a method, print out the input,\\n the expected result, and the actual result.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"It would probably be helpful for debugging purposes to have a debug flag\\n available that, when true, dumped the position and heading of all\\n characters involved (cat and mouse) at each time step.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"You should test the methods of each Class in isolation, using\\n appropriate test data, to see if they work independently before calling\\n them from a driver function. Tutors may ask to see the results of these\\n tests. Your test data should include the following values:\")]),_vm._v(\" \"),_c('p',[_c('i',[_vm._v(\"(Note: Cat radius is calculated from the center of Statue)\")])]),_vm._v(\" \"),_c('table',{staticClass:\"table table-bordered table-striped\"},[_c('tr',[_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Cat Radius (m)\")]),_vm._v(\" \"),_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Cat Angle (degree)\")]),_vm._v(\" \"),_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Mouse Angle (degree)\")]),_vm._v(\" \"),_c('th',{attrs:{\"align\":\"center\"}},[_vm._v(\"Test Case Features\")])]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"1.0\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"35.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"396.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"angle > 360; mouse caught immediately\")])]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"3.2\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"0.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"-57.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"negative angle;\"),_c('br'),_vm._v(\"\\n cat radius has fractional part;\"),_c('br'),_vm._v(\"\\n mouse caught at time 17\")])]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"8.1\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"0.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"45.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}})]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"8.1\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"150.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"240.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}})]),_vm._v(\" \"),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"4.0\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"0.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"-57.0°\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}})])]),_vm._v(\" \"),_c('p',[_vm._v(\"...plus the following cases:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"cat catches mouse at time 30;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"cat would catch mouse at time 31 if the simulation ran that long;\")]),_vm._v(\" \"),_c('li',[_vm._v(\"whatever other values are necessary to ensure that all statements in your program have been executed at least once.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Be sure to check that the output makes sense for these tests, since the output is what most tutors will check first. Students are sometimes embarrassed to have a tutor point out that their programs have the cat moving deeper and deeper inside the statue, or moving away from the mouse instead of approaching it.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 1\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student has correctly working code.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student shows sufficient test cases for all helper functions.\")])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 2\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student has correctly working code.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student shows sufficient test cases to catch possible corner cases.\")])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"Part 3\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student has correctly working code.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student shows sufficient test cases to catch possible corner cases:\\n \"),_c('ul',[_c('li',[_vm._v(\"Catching the mouse at start\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Catching the mouse on the max step\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Catching the mouse on the max step - 1 (thus giving up)\")]),_vm._v(\" \"),_c('li',[_vm._v(\"etc\")])])])]),_vm._v(\" \"),_c('article',[_c('h3',[_vm._v(\"All\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Student correctly uses quotes where appropriate\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Student correctly uses integer, text, and floating point comparisons\")])])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-e2bd5cf2\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/unix/CatAndMouse.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CatAndMouse.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CatAndMouse.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-e2bd5cf2\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CatAndMouse.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/unix/CatAndMouse.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/gif;base64,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X759Effl2+fSpUuXLjHyy/+3r+K+fPxcunTp0qVLgfry9XPp0qVLly4F6svXz6VLly5dFtwncJ+/f/ry5fP3r1++fP046gP4758+ffn4+dOXL58/gP8EDiRY0OBBhAkVLmTY0OFDiBElTqT4UF8/fv8A5hMo8F8/ffr6AfwncCDBggYPDswnMF++gfkA/hM4kGBBgwcRJlS4kGFDhw8hRpQ4keJDfvoE+suXL5/Afvny8auoMJ/AfP7y5dPnr2LFihUrVqxYsWJFh/z0VaxYsWLFihUrVqxYsWJFgvny+atYsaC/fPkqVqxYsWLFihUrVnSoL1+/ihUT9sunr2LFihUrVqxYsWJFhfry9atYsWH/v3z6KlasWLFixYoVK1Y0qC9fv4oVI/bLp69ixYoVK1asWLFiRYH78vGrWLEiv3z7KlasWLFixYoVK07cl29fxYoVCe7Lt69ixYoVK1asWLFixYoVK1asWLFixYoVK1asWLFixYoVK1asWLFixYf58uXLt69ivn/6Kirkly8fP4n58uXLt69ivn/6CuarKFAfw3wJ+eXLx69ixYoVKzoIoHz//v37l8+fvnz5+v37ty9fvn789OXLx+/fv3//8unLx+/fv3//9AHMJ3Dgv30C+/nTJ7DfP33//uXz9y/fv3//+ukD+E/gQIIFB+YjmM+fvnz5+gncly9fP3768uXj/0cwn758/Ajmy5dP3z99+fLl+7fP3z9/+/7ty5ev30B9+fj9yycwHz99+fLx+5fvn75//PTly8dvYD99AP8JHEiwoMGDCBMqXMiwocOD+Qb605dvYL5/APMJFPiPn758/f79+/cv3798AP8JFJhPYD6BAPMJHJjv379/+f7528fPnz5+/f794wfwn8CBBAsWzDfQn758A/P9A5hPoMB//PTl6/fv379/+f7lA/hPoMB8AvP106ePXz6B+v7p+wcwn0CB//79+5fv3798//7l+8dPX75+//Lt4/fvHz99+fr9+8cP4D+BAwkWNHgQYUKFCxk2dJgwX758+fj986cvX/++fv/86cuXr1+/fPny9SOY718+fgTzCcwnMJ8/ffny9fOnL1++fgL57fvHT9/AfA8L5suXLx+/f/705cvX758/ffny9euXL1++fgTz/cvHj2A+gfn45cu3L5+/f/7yCfSnL1++fgTz8fu3L58+ff3y5cvX71++f/709cuXL18/gfkA/hM4kGBBgwcRJlS4kGFDhw8hRpQ4kWJFixcxZtS4kWNHjx9BhhQ5kmRJkydRplS5kmI+fRLzsSSZj+U/fvny8WPJ0mS/fPwm5mNJMh9Lgv7y5dvHkqXIffn8UczHkmQ+lgf96cunzx9Llh3z5bOYjyXJfCwX7suXrx9Lliz/WbJk6ZBfvnz8WLJkyZIlS4f98rFkqXCfwH3+/unLl8/fv3758vW7qE9fPn7+9OXL54+lxH0C9/n7py9fPn//+uXL14/lQ3368vHzpy9fPn8sWerrx+8fwHwCBf7rp09fP4D/BA4kWNCgwHwC8+UbmO/gwYMHDx48ePCgvn78/gHMJ1Dgv3769PUD+E/gQIIFDR5EmFAhwXwC8+UbmG/hwoULFy5cuJCfPoH+8uXLJ7Bfvnz8Fi78l09gPn/58unzt3DhwoULEfLTJ9Bfvnz5BPbLl4/fwoULFy4kmE9gPn/58unzt3DhwoULFy5UyE/fwoULFy5cuHDhQoT89C1c/7hw4cKFCxcuXLhw4cKFCw3my7dwYcJ8CxcuXLhw4cKB+RYuXLhw4cKF/fLl27dw4cKFCxcuJOgv376FCxXmW7hw4cKFCxcOzLdw4cKFCxcuHOhPXz59/hYuXLhw4UKF/PL1W7hwYb6FCxcuXLhw4cB8CxcuXLhw4cKD+/Ll87dw4cKFCxca1Jdv4cKFAvMtXLhw4cKFCwfmW7hw4cKFCxcq5JcvHz+A/wQOJFjQ4EGECRUuZNjQ4UOIESVOpFjR4kWMGTVu5NjR40eQIUWOPKivYz6SB/Ply5dvX8V8//QRzGcxn8F8HPnly8ePpMN8//L9y8dQH0Z9+fLlI6gvX/8+fvry5cunLx+/iPry5cs30J++fPny/fOnL1++fv/86cuXT9/HfATz+dOXL18/gfvy5evHT1++fPwI5tOXj9/AfPny6ROoL1++fPv8/fO379++fPn6DcyXL1++fgLz+dOXL58+gvvy5esnUF++fPn+6cvnj5++fPn4Ceyn76O+fPny/dOXL5++gvry5cv3L9+/fP/y+dOXL58+gfry5cunLx8/f/ry5ev3T18+fw376dPHL9/AfAP76dPHL9+/fBH76dPHLx/AfwLzCfyX718+gf/y/csn8F8+gP8EDiRY0ODBgfkG+tOXb2C+fwDzCRT4j5++fP3+/fv3L9+/fP///v37l+/fv3z/+unTxy/fP33/9P0bKPDfv3/5/v37l+/fP4H//v3L9+/fv4EC//XTp49fvn/5/v37x09fvn7/+AH8J3AgwYIGDxLsp08fv3z/8gnMR7CfPn388v3L9y/fv3z5Bub710+fPn75/uX7l29gvn/5EB7kly/fvnz+BPrTly/fvnz59uXzl48fQoT88uXbl8+fQH/68unT98+fvnz5+v3zly/fvnwIESI8mC9fvnz8/vnTly9fv3/+9OXL169fvnz5+hHM9y8fv4H5BOb7xy9fvn35/PnLJ9Cfvnz5+g3Upy9fvn4C8/nLl29fvoH+9OXL1+8fv3z59uXz/5dPYL98+fL1+5cPIUKECPnly7cvn798AvMR5Jcv3758/vL9y/cvn798+fbl+8cvX759+fzl4+dPX758/f7lQ4gQIUKECBEiPNgvX758/hAiRIgQIUKECBEiRHiwX758+QD6A/hP4ECCBQ0eRJhQ4UKGBPvly5fPH8B/AgcSLGjwIMKEChcybOjwIcSIEidSrGjxIsaMGjdy7OjxI8iQIkeS9MgvX0mE+fiVLFmyZMmSB/3l61cSYb98/kqWLFmyZEmD+faVVLgvX8mSJUuWLFmQX76SDPPxK1myZMmSJUuWLFmyZMmSJUuWLFmyZMmSAvvx+6fvnz5+//jp+5dPYP+/kgTzCcynr98/fvlKlixZsqTHffoE5vP3z5+/f/0E5itJMJ/AfPn6/eunr2TJkiVLeuTXr2TJkiVLlixZsmTJkiVLliz5Lx+/khT55StZsmTJkiD35StpMd++kiVLlizpsV8+fyUt+svXr2TJkiVLdszHryRGfvlKlixZsmTJkiVLlixZsmTJkiVLlixZkmS+hvkg6sOYD+A/gf/yAfwncCDBggYPIkyocCHDhg4fQowoceJBffny5ROoL18+fQX35cvX718+gfvy5eunL1++fP0E5suXT98/ffny5ROoL18+ff/05eO3UF++fPkI6svn71++fPn0/csnUF++fPr//OnLl6+fQH358vH7ty9fvn4C9eXrpy9fvn7/+OnLl48fRYoUKVKkSHFiP336+OUTmE9gPoIA8wkU+C/fv4ED//37l+/fv3z//uXrp08fv3z//uX79y/fv3/5AP4TOJDgv3769PHLRzDfwHwC8/3LJzCfwHz5Bub7l48gwHwCBf77l+9fvn///uX794+fvnz9AP4TOJBgQYMHESZUuJBhQ4cPIUY0yC9fvn35/P3LJzAfQX/68uXr9y/fP3/68uXrl09fvnz9BOYTmI9fvnz78vn7l09gPoH5+Cnkly/fvnz+BuYbmE9gvn/5BOYTmM+fvnz5+v3zpy9fPn/+9OXLTNdPYL5//vTly9fvX798+fL1kyhRokSJEiVKlCjxYD6A/wQOJFjQ4EGECRUuZNjQ4UOIESVOpFjR4kWMGTVu5NjR40eQIUWOJFlyYkAAOzs=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/images/animal-sample-tree.gif\n// module id = w4SF\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/minGW_manager.961f549.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/c/images/minGW_manager.png\n// module id = x2tm\n// module chunks = 1","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/assignments/python/CellularAutomaton.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Readings',{attrs:{\"readings\":[\n {\n title: 'Think Python (2nd Edition) Chapter 1',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2002.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 2',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2003.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 3',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2004.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 5',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2006.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 6',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2007.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 7',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2008.html'\n },\n {\n title: 'Think Python (2nd Edition) Chapter 8',\n link: 'http://greenteapress.com/thinkpython2/html/thinkpython2009.html'\n } ]}}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('article',{attrs:{\"id\":\"rule\"}},[_c('h2',[_vm._v(\"The Rule\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_vm._m(4),_vm._v(\" \"),_c('p'),_vm._v(\" \"),_vm._m(5),_vm._v(\" \"),_c('article',{attrs:{\"id\":\"example-rule\"}},[_c('h4',[_vm._v(\"Example: Rule 30\")]),_vm._v(\" \"),_c('p',[_vm._v(\"For example, the number 30 is 00011110 in binary.\")]),_vm._v(\" \"),_c('figure',[_c('table',{staticClass:\"table-figure\"},[_c('tr',_vm._l((8),function(i){return _c('td',{key:i,staticStyle:{\"padding\":\"0 10px\"}},[_vm._v(\"\\n 2\"),_c('sup',[_vm._v(_vm._s(8-i))]),_vm._v(\"=\"+_vm._s(Math.pow(2, 8 - i)))])})),_vm._v(\" \"),_c('tr',[_vm._l((8),function(i){return _c('td',{key:i},[(30 & Math.pow(2, 8-i))?_c('span',[_vm._v(\"+\"+_vm._s(Math.pow(2, 8 - i)))]):_vm._e()])}),_c('td',[_vm._v(\"= 30\")])],2),_vm._v(\" \"),_c('tr',_vm._l((8),function(i){return _c('td',{key:i},[_vm._v(_vm._s(Math.sign(30 & Math.pow(2, 8-i))))])}))])]),_vm._v(\" \"),_vm._m(6),_vm._v(\" \"),_c('figure',[_c('table',{staticClass:\"table-figure\"},[_c('tr',_vm._l((8),function(i){return _c('td',{key:i,staticStyle:{\"padding\":\"0 10px\"}},[_vm._v(\"input = \"+_vm._s(8-i)+\"\\n \"),_c('table',{staticStyle:{\"border-collapse\":\"collapse\"}},[_c('tr',_vm._l((3),function(j){return _c('td',{key:j,class:{'fill-black':Math.sign(8-i & Math.pow(2, 3-j))},staticStyle:{\"border\":\"1px solid #888\",\"width\":\"27px\"}},[_vm._v(\"\\n \"+_vm._s(Math.sign(8-i & Math.pow(2, 3-j))))])})),_vm._v(\" \"),_vm._m(7,true),_vm._v(\" \"),_c('tr',[_c('td'),_c('td',{class:{'fill-black':Math.sign(30 & Math.pow(2, 8-i))},staticStyle:{\"border\":\"1px solid #888\",\"width\":\"27px\"}},[_vm._v(_vm._s(Math.sign(30 & Math.pow(2, 8-i))))]),_vm._v(\" \"),_c('td')])])])}))]),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 1. To translate the number 30 into a rule, convert it\\n to the 8-bit binary number 00011110. These 8 bits give the output for\\n each of the 8 possible input conditions. These diagrams show 1 as a\\n filled cell and 0 as an empty cell.\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"Suppose we start out with a row with a single filled cell and all the\\n rest empty. Here's what happens in the first two timesteps of rule 30. You\\n can work it out on paper yourself by referring to Figure 1.\")]),_vm._v(\" \"),_c('figure',[_c('cellular-automation-image',{attrs:{\"rule\":30,\"step\":3,\"pixel\":27,\"border\":1,\"cellularAutomation\":_vm.cellularAutomation}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 2. The first three steps of rule 30.\")])],1),_vm._v(\" \"),_vm._m(8),_vm._v(\" \"),_vm._m(9)])]),_vm._v(\" \"),_c('article',{attrs:{\"id\":\"task\"}},[_c('h2',[_vm._v(\"Your Task\")]),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ python3 cellular.py 30 200\")])]),_vm._v(\" \"),_vm._m(11),_vm._v(\" \"),_c('p',[_vm._v(\"The starter code is provided at the beginning.\")]),_vm._v(\" \"),_c('article',{attrs:{\"id\":\"pbm\"}},[_c('h4',[_vm._v(\"Portable Bitmap Format\")]),_vm._v(\" \"),_vm._m(12),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"P1 7 4\\n \"+_vm._s(this.cellularAutomation(30, 3).map(function (row) { return row.join(' '); }).join('\\n')))])]),_vm._v(\" \"),_vm._m(13),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ python3 cellular.py 30 200 > rule30.pbm\")])]),_vm._v(\" \"),_vm._m(14),_vm._v(\" \"),_vm._m(15)]),_vm._v(\" \"),_c('article',[_c('h4',[_vm._v(\"Handle Command Line Arguments\")]),_vm._v(\" \"),_vm._m(16),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"import sys\\n print(sys.argv) # output: ['cellautomaton.py', '30', '3']\")])]),_vm._v(\" \"),_vm._m(17),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"import argparse\\n\\n parser = argparse.ArgumentParser(description='Project 1: Cellular Automaton')\\n parser.add_argument('rule', help='The Rule', type=int)\\n parser.add_argument('steps', help='Number of Steps', type=int)\\n args = parser.parse_args()\\n\\n rule, steps = args.rule, args.steps\")])])]),_vm._v(\" \"),_c('article',[_c('h4',[_vm._v(\"Docstrings\")]),_vm._v(\" \"),_vm._m(18),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"def decimal_to_binary(x):\\n \\\"\\\"\\\"\\n This function converts a decimal number N into a binary number with 8 bits.\\n :param x: The decimal number\\n \\\"\\\"\\\"\\n # TODO: Your Code Here\")])])]),_vm._v(\" \"),_c('article',[_c('h4',[_vm._v(\"Unit Tests (Doctests)\")]),_vm._v(\" \"),_vm._m(19),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"python\"},[_vm._v(\"def decimal_to_binary(x):\\n \\\"\\\"\\\"\\n This function converts a decimal number N into a binary number with 8 bits.\\n :param x: The decimal number\\n\\n >>> decimal_to_binary(30)\\n '00011110'\\n >>> decimal_to_binary(139)\\n '10001011'\\n \\\"\\\"\\\"\\n # TODO: Your Code Here\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"and you can run your test cases (doctests) by using\")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ python3 -m doctest cellular.py\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"If all tests have passed, nothing will be displayed.\")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Testing\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Test your program using rule 30 and at least three other rules. For\\n testing the whole program, use only a small number of rows (say, 5 or 6) so\\n that the test output is reasonably short. You may use the following section to\\n generate the expected solutions.\")]),_vm._v(\" \"),_c('table',{staticStyle:{\"margin-bottom\":\"10px\"}},[_c('tr',[_c('td',{staticStyle:{\"width\":\"60px\"}},[_vm._v(\"Rule: \")]),_vm._v(\" \"),_c('td',[_c('b-input',{staticClass:\"mb-1 mr-sm-1 mb-sm-0\",attrs:{\"type\":\"number\",\"placeholder\":\"Rule\"},model:{value:(_vm.testRule),callback:function ($$v) {_vm.testRule=$$v},expression:\"testRule\"}})],1)]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(\"Steps:\")]),_vm._v(\" \"),_c('td',[_c('b-input',{staticClass:\"mb-1 mr-sm-1 mb-sm-0\",attrs:{\"type\":\"number\",\"placeholder\":\"Rule\"},model:{value:(_vm.testStep),callback:function ($$v) {_vm.testStep=$$v},expression:\"testStep\"}})],1)])]),_vm._v(\" \"),_c('pre',{staticStyle:{\"padding\":\"15px\"}},[_c('code',{staticClass:\"bash\"},[_vm._v(\"P1 \"+_vm._s(parseInt(_vm.testStep) * 2 + 1)+\" \"+_vm._s(parseInt(_vm.testStep) + 1)+\"\\n\"+_vm._s(this.cellularAutomation(parseInt(_vm.testRule), parseInt(_vm.testStep)).map(function (row) { return row.join(' '); }).join('\\n')))])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Autograder\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n In the starter code, we have provided an autograder for you to verify the correctness\\n of your program before submitting your project. \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Run the autograder with following command:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ python3 autograder.py\")])]),_vm._v(\" \"),_c('p',[_vm._v(\"The autograder contains additional tests for your program and if you passed all of them,\\n you should see something like:\\n \")]),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"plain\"},[_vm._v(\"Autograder Result: 140/140 success, 0 failed.\")])])]),_vm._v(\" \"),_c('article',[_c('h2',[_vm._v(\"Extra for Experts (Optional)\")]),_vm._v(\"\\n The assumption that all cells off-the-grid are always considered off causes will cause discrepancies in your results for certain rules when comparing your results to what you see at the \"),_c('a',{attrs:{\"href\":\"http://atlas.wolfram.com/01/01/\"}},[_vm._v(\"Wolfram Atlas\")]),_vm._v(\". For example, your solution may generate this for rule 139:\\n \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"P1 35 18\\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1\\n1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0\\n1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0\\n1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1\\n1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0\\n1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0\\n1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1\\n1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0\\n1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0\\n1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1\\n1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0\\n1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0\\n1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1\\n1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0\")])]),_vm._v(\" \"),_vm._m(20),_vm._v(\" \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"P1 35 18\\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\\n1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\")])]),_vm._v(\" \"),_vm._m(21),_vm._v(\" \"),_c('p',[_vm._v(\"Add a new optional parameter named \"),_c('code',[_vm._v(\"--wolfram\")]),_vm._v(\" so that the following command\\n produces a \\\"Wolfram Atlas correct\\\" solution result.\\n \"),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{staticClass:\"bash\"},[_vm._v(\"$ python3 cellular.py 139 17 --wolfram\")])])]),_vm._m(22)]),_vm._v(\" \"),_vm._m(23)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"introduction\"}},[_c('h2',[_vm._v(\"Introduction\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n A \"),_c('dfn',[_vm._v(\"cellular automaton\")]),_vm._v(\" is an array of cells that switch on or\\n off depending on whether other cells are on or off. Even simple rules for\\n deciding when cells turn on or off can lead to complex and beautiful\\n patterns.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Let's consider a particular kind of automaton in which the array\\n contains a single row of cells. At each time step, all of the cells update\\n their state depending on the states of their neighbours. The state of a\\n particular cell at time T = 1 is determined by the states of the cell\\n itself at T = 0, its left neighbour at T = 0, and its right neighbour at T\\n = 0. Then the state of the cell at T = 2 is determined by the states of\\n the cell and its two neighbours at T = 1, and so on.\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n The decision whether to turn on or off is governed by a \"),_c('dfn',[_vm._v(\"rule\")]),_vm._v(\".\\n For example, a rule might say, \\\"if the left neighbour is on, then turn on\\\".\\n You can think of a rule as a function with three binary inputs (the state\\n of the left neighbour, the cell itself, and the right neighbour in the\\n previous time step) and one binary output (the new state of the cell in the\\n next time step).\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"starter-code\"}},[_c('h2',[_vm._v(\"Starter Code\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n Please download the starter code from above. It should contains two files\\n called \"),_c('code',[_vm._v(\"cellular.py\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"autograder.py\")]),_vm._v(\".\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('b',[_vm._v(\"A rule\")]),_vm._v(\" can be described by a \"),_c('b',[_vm._v(\"single number from 0 to 255\")]),_vm._v(\" in the\\n following manner: convert the rule number into a binary number with 8 bits,\\n which we'll call bit 7, bit 6, and so on down to bit 0, where bit 7 is the\\n most significant bit and bit 0 is the least significant bit. If you take\\n the \"),_c('b',[_vm._v(\"three inputs from the previous timestamp as three bits of a binary\\n number\")]),_vm._v(\", you get a number \"),_c('var',[_vm._v(\"k\")]),_vm._v(\" from 0 to 7, and bit \"),_c('var',[_vm._v(\"k\")]),_vm._v(\"\\n of the rule number gives you the output.\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"In the following examples, we will use multiple equivalent representations\\n for \"),_c('em',[_vm._v(\"off\")]),_vm._v(\" and \"),_c('em',[_vm._v(\"on\")]),_vm._v(\" states:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',{staticStyle:{\"margin\":\"0 auto\"},attrs:{\"cellspacing\":\"0\",\"cellpadding\":\"5\"}},[_c('tr',[_c('th',{attrs:{\"align\":\"right\"}},[_vm._v(\"State\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"off\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"on\")])]),_vm._v(\" \"),_c('tr',[_c('th',{attrs:{\"align\":\"right\"}},[_vm._v(\"Pixel Color\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"white\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"black\")])]),_vm._v(\" \"),_c('tr',[_c('th',{attrs:{\"align\":\"right\"}},[_vm._v(\"Value\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"0\")]),_vm._v(\" \"),_c('td',{attrs:{\"align\":\"center\"}},[_vm._v(\"1\")])]),_vm._v(\" \"),_c('tr',[_c('th',{attrs:{\"align\":\"right\"}},[_vm._v(\"Graphic\")]),_vm._v(\" \"),_c('td',{staticStyle:{\"border\":\"1px solid #888\",\"width\":\"60px\"},attrs:{\"align\":\"center\"}},[_vm._v(\"empty\")]),_vm._v(\" \"),_c('td',{staticClass:\"fill-black\",staticStyle:{\"border\":\"1px solid #888\",\"width\":\"60px\"},attrs:{\"align\":\"center\"}},[_vm._v(\"filled\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{attrs:{\"id\":\"boundary-condition\"}},[_c('h4',[_vm._v(\"Boundary Conditions: off the board should be considered off!\")]),_vm._v(\" \"),_c('p',[_vm._v(\"Cellular automaton specifications always need to be clear what to do\\n about the edges of the simulation. Here, when you place your rule\\n \"),_c('em',[_vm._v(\"mask\")]),_vm._v(\" on the rightmost or leftmost cells, it will hang off the\\n edge, and have \"),_c('em',[_vm._v(\"undefined\")]),_vm._v(\" values for the cells off the board.\")]),_vm._v(\" \"),_c('p',[_vm._v(\"For this assignment, we want you to consider the \"),_c('b',[_vm._v(\"cells that are off the\\n board to be permanently \"),_c('em',[_vm._v(\"off.\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"So this is how you would interpret rule 30:\\n (\"),_c('dfn',[_vm._v(\"Note the input is a 3-bit binary from the previous step and converted into decimal\")]),_vm._v(\")\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td'),_c('td',{staticClass:\"transition\"},[_vm._v(\"↓\")]),_c('td')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If we run rule 30 for a couple hundred timesteps, a beautiful, chaotic, irregular pattern emerges on the right.\\n This can be verified with \"),_c('a',{attrs:{\"href\":\"http://atlas.wolfram.com/01/01/30/\"}},[_vm._v(\"an archival site of rule 30\")]),_vm._v(\" at the \"),_c('a',{attrs:{\"href\":\"http://atlas.wolfram.com/\"}},[_vm._v(\"Wolfram Atlas\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('figure',[_c('img',{staticClass:\"img-responsive center-block\",attrs:{\"src\":require(\"./images/cellular_automation_rule30_200.png\"),\"width\":\"600\"}}),_vm._v(\" \"),_c('figcaption',[_vm._v(\"Figure 3. The first 200 steps of rule 30.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"\\n For this project, you'll write a \"),_c('b',[_vm._v(\"Python\")]),_vm._v(\" program to generate these patterns.\\n Your program should accept two arguments on the command line:\\n the rule number and the number of steps.\\n The first row of the image should be all white (all zeroes)\\n except for a single black pixel in the center,\\n and this should be followed by a row for each timestep.\\n If there are \"),_c('var',[_vm._v(\"n\")]),_vm._v(\" timesteps,\\n there should be \"),_c('var',[_vm._v(\"n\")]),_vm._v(\" columns in the image\\n on both sides of the center column.\\n So, for example, the command:\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"should print the image in Figure 3, in \"),_c('b',[_vm._v(\"Portable Bitmap Format\")]),_vm._v(\".\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"An image in Portable Bitmap Format is a text file where each line (after\\n the first line) is a row of the image as a string of \\\"0\\\"s and \\\"1\\\"s. The\\n first line indicates the format and size of the image in the form\\n \\\"P1 \"),_c('var',[_vm._v(\"width\")]),_vm._v(\" \"),_c('var',[_vm._v(\"height\")]),_vm._v(\"\\\". So, for example, the\\n 7-pixel-by-3-pixel image in Figure 2 would be represented by a text file\\n like this:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Your program should print the PBM image on its standard output (that is,\\n using \"),_c('code',[_vm._v(\"print\")]),_vm._v(\" statements). The output can be saved to a file by\\n putting a \\\">\\\" after the command, like this:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"To verify that your file has been written correctly, you should open the .pbm file in your favorite graphic / image file editor (e.g. \"),_c('a',{attrs:{\"href\":\"http://www.adobe.com/products/photoshop.html\"}},[_vm._v(\"Photoshop\")]),_vm._v(\", \"),_c('a',{attrs:{\"href\":\"http://www.lemkesoft.de/en/products/graphic-converter/\"}},[_vm._v(\"Graphic Converter\")]),_vm._v(\", etc.). If you don't have one, you can use something free like \"),_c('a',{attrs:{\"href\":\"http://www.gimp.org/\"}},[_vm._v(\"GIMP: \\\"GNU Image Manipulation Program.\\\"\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Some other interesting rules you can try are rule 18, rule 45, rule 73, rule 105, rule 150, and rule 225. The \"),_c('a',{attrs:{\"href\":\"http://atlas.wolfram.com/01/01/\"}},[_vm._v(\"Wolfram Atlas\")]),_vm._v(\" has pictures of all 256 rules, so you can use it to check your results.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"For help with handling command\\n line arguments: read up on \"),_c('a',{attrs:{\"href\":\"http://docs.python.org/library/sys.html#sys.argv\"}},[_c('code',[_vm._v(\"argv\")])]),_vm._v(\" (part of the \"),_c('code',[_vm._v(\"sys\")]),_vm._v(\" module).\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Alternatively, you can learn how to use the\\n \"),_c('a',{attrs:{\"href\":\"https://docs.python.org/3/library/argparse.html\"}},[_c('code',[_vm._v(\"argparse\")])]),_vm._v(\" library\\n to parse the command line arguments (recommended).\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Python documentation strings (\"),_c('a',{attrs:{\"href\":\"https://www.python.org/dev/peps/pep-0257/#what-is-a-docstring\"}},[_vm._v(\"docstrings\")]),_vm._v(\") are a specific way to comment your code. Each module, class, function, and method should have an associated docstring. In these, you should explain how you use them, the format of inputs and outputs, and maybe an example. A Python docstring is indicated by 3 double quotation marks at the begining and end.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Test each function in your program with enough different inputs to show that it works. When testing a function, print out the input, the expected result, and the actual result. A really great way to automate this process is to use Python's built-in \"),_c('a',{attrs:{\"href\":\"http://docs.python.org/library/doctest.html\"}},[_vm._v(\"doctest\")]),_vm._v(\" module.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"However, the image of \"),_c('a',{attrs:{\"href\":\"http://atlas.wolfram.com/01/01/139/\"}},[_vm._v(\"Rule 139\")]),_vm._v(\" in the \"),_c('a',{attrs:{\"href\":\"http://atlas.wolfram.com/01/01/\"}},[_vm._v(\"Wolfram Atlas\")]),_vm._v(\" suggests that it should be like this:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Can you spot the difference? Our solution has several diagonals of zeros creeping in from the\\n right-hand side of the image while the \"),_c('a',{attrs:{\"href\":\"http://atlas.wolfram.com/01/01/139/\"}},[_vm._v(\"Wolfram solution\")]),_vm._v(\"\\n does not. This is due to their assumption that the grid is an \"),_c('em',[_vm._v(\"infinite\")]),_vm._v(\" grid (versus\\n a \"),_c('em',[_vm._v(\"finite\")]),_vm._v(\" grid in this assignment). Therefore, for the sake of simplicity, the CS9H\\n solution at in the upper region is considered the \"),_c('em',[_vm._v(\"correct\")]),_vm._v(\" solution for this assignment.\\n This means, you do not need to write additional code to produce their solution.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you really enjoy this project, you might want to consider implementing a \"),_c('a',{attrs:{\"href\":\"http://mathworld.wolfram.com/TotalisticCellularAutomaton.html\"}},[_vm._v(\"Totalistic Cellular Automaton\")]),_vm._v(\". Enjoy!\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',[_c('h2',[_vm._v(\"Checklist\")]),_vm._v(\" \"),_c('p',[_vm._v(\"These are the requirements to meet for project completion:\")]),_vm._v(\" \"),_c('ul',[_c('li',[_vm._v(\"Use of functions — your program must be broken down into one or more functions — it cannot be one big long script.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Each function has a docstring that summarizes its purpose and provides a description of its inputs and outputs.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"Tests and test output for each function in the program.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"All functions and variables have meaningful names.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"The program produces a correctly formatted PBM file.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"The program produces an image of the correct size.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"The program produces the correct pattern (demonstrate with at least 5 different patterns, some of which are the same as the Wolfram Atlas, some of which are different (like rule 139)\")])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3d204d98\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/assignments/python/CellularAutomaton.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3d204d98\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!stylus-loader?{\\\"sourceMap\\\":true}!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CellularAutomaton.vue\")\n}\nvar normalizeComponent = require(\"!../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CellularAutomaton.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CellularAutomaton.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3d204d98\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CellularAutomaton.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-3d204d98\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/python/CellularAutomaton.vue\n// module id = null\n// module chunks = ","module.exports = \"data:image/gif;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/marble-1.gif\n// module id = ybjR\n// module chunks = 1","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPUAAAA0CAYAAABSBX50AAAAAXNSR0IArs4c6QAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAABf1JREFUeAHtnAFS3DAMRWmPA+fhPNwHzgPXoZFrBcVrWXLyab3t70zGji1/fb2Nk8DQfXjgPxIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARK4PwKPj4+fm2s59J/t6xhbEiCBOyOQ3sgvLy/p2DtjQLsk8E8RmNmoM7H/FCQWQwKrEfgZGXp9fZUNWzZtfSKX8+fn5zJWX9VFppxHepwnARL4ewT2TWo3bt3kD9pWe3vs37PLzCRAAhGBfaPqppaNrL9E0yd1FdljI1HOkwAJfC+B8PXbpn9/f394e3uToR+1tdPskwAJLECgu6nNU/hT+h8fH2K1PI2fnp5Kfxvf7W9P731+H2SHBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEjgvgj86NhF/h13T7+T8o8NIWtDmSajmCQZXWSEuvBROnE5+QiUp9V08gTiyNVqQ/mJK89HoDxd0ql/zi0aoU4YkKwdpZNMlwpDeVpNJ1V8Mmi12lB+kuWnwlCeTuvodxuYjT00fjpRo4rSaWQvnaI8raZzCUqzeLXaUH6aMi+dojyd0tEvLtH/Er1VEuqEAUkcKJ1kulQYytNqOqnik0Gr1Ybykyw/FYbyNK3T2dBiONQJA1JlJxIldbww8fk5+aWHq9WG8tNjVPjI69n2/+Bn8szE9vLq2Go66su2d8XI2dBST8g6DLBUBn2UjpeifCC1oPKNLLVoL17Gh57k4jevNKd1RgubuaGfJnb29MBnW5y9Abqe9Oc40ZIj4O3qTBaC0umlLXVoPdImHxIjT0VTrqN6LUWxPV83Y4MNLbGjHEUrDLjJ2B9A6fTV64W1TUqewzF4OrmezAfgxhgjmRgT7nZROr0Eou0egw3pehKug3WtB1enDQzOUTq9NC6fLXhUq+tJrz15QMgR3CRcHWu2vmnpTcJOaT/UCQNUKWhROl4a0Q+PBmrGEyrG823HM7ls/Ew/ZLOJ9d5wXE8Ny8iLqxMtbOZROo1sOYUyks1nb3rSrxuyl1vGwtp0QwexoU4Y4DlsxlE6jex+KvrpwzyJdwGnk/GdiXHkD8MonYNoPUmz2eJLbMRInkIaU9teXh1D1YbSUV+2hTOy4omb4LA2u6Gv3hyGiarpaRjbulXWWO69frb+3lo7tkq9Z3zYOkpfnjp2I8sGl+Mm8GtgNKdRZ7ytskZrcNsrm3piQ0v+kHUY4FZxnEDpHFW/zqY+3HoBZjyhYr6c+r1MLn/1eCbko0/dTabETjDSzCP/ozldn2lROr1cpe5twm3PMkq8eoufUW3FU/CE1ppGOiUmDFCloEXpeGlK0duk28oH0twtM55QMZ5vO57JZeNn+i6XTWSfk41sfw6sczd5KsfWb3tu143mbFzUR+n08oh2eGQZ2QT1BmmHev1ubXojSW5o0e3q2IRhgA0e9FE6XgrR7x4C1AGS8YSK8Xzb8UwuGz/TP7DRC2UT6P1yzOp6ng43SNnkwYXr6dhcmT5Kp5cLzcjmyPi+idHPqbnRWt1e/0anDQoD2gXOOUrHkf99cW6Tkie6UFXD9aQwVa+2uq5tXZ02MDhH6fTS6M/Ahc8WcNiUvQV1rOvJ/Exd9IINLVJdnUFebwql09OHMmoSZHwfYvQanNzQkvag0/gop2FAb1FnDKXTkd59Zi9U1UB5Wk1H67OteCx8nLcWG2v7q9WG8mNr1P4yjC5saKklZBQGKJGgRekEaaamUZ5W05mCEASvVhvKT1D21DTKU9G5uKHFeOgnDEiWj9JJpkuFoTytppMqPhm0Wm0oP8nyU2EoT/p7idk3ztZk6CcMaBWdc5SOI39qGOVpNZ1TMJxFq9WG8uOUe2oY5Ul0dGOfMlIXhX7CgGR2lE4yXSoM5Wk1nVTxyaDVakP5SZafCkN5QmxoMXzw0/vup0NAqkQ/qKfvR3//DLI2lFsyikmS0f0xih0zggRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARI4H8l8AvQz8hAuk8CEAAAAABJRU5ErkJggg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/sorted-list.png\n// module id = zEvX\n// module chunks = 1","module.exports = __webpack_public_path__ + \"static/img/windows_edit_var.ede37d1.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/assignments/cpp/images/windows_edit_var.png\n// module id = zFXo\n// module chunks = 1"],"sourceRoot":""}