Commit c3d7840
Develop -> Main for v0.8 release (#682)
* Remove old iron models (#601)
* removed temporary iron and steel models
* supported models
* update example 28 with updated models
* remove outdated files
* consolidate iron examples
* fix all the stuff I broke
* update docs and changelog
* update example name and add model names to docs
* update changelog
---------
Co-authored-by: elenya-grant <116225007+elenya-grant@users.noreply.github.com>
* update SMR energy conversion ratio and tests (#606)
* update SMR energy conversion ratio and tests
* update changelog
* docs
* minor updates to inline comments
* update usage based on hydrogen production
---------
Co-authored-by: Rob Hammond <13874373+RHammond2@users.noreply.github.com>
Co-authored-by: elenya-grant <116225007+elenya-grant@users.noreply.github.com>
Co-authored-by: John Jasa <john.jasa@nrel.gov>
Co-authored-by: genevievestarke <103534902+genevievestarke@users.noreply.github.com>
Co-authored-by: Jared Thomas <jaredthomas68@gmail.com>
Co-authored-by: bayc <christopher.j.bay@gmail.com>
Co-authored-by: John Jasa <johnjasa11@gmail.com>
Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
Co-authored-by: Jonathan Martin <94018654+jmartin4u@users.noreply.github.com>
Co-authored-by: jmartin4 <jonathan.martin@nrel.gov>
Co-authored-by: Jonathan Martin <94018654+jmartin4nrel@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Chris Bay <12664940+bayc@users.noreply.github.com>
* Break out Pyomo controller simulation code (#587)
* Breakout simulation code
* Remove duplicate code
* Fix testing
* Update doc strings and docs
* added docstring for heuristic controller config
* fixed issue that I made with the HeuristicLoadFollowingControllerConfig
* Update docs/control/pyomo_controllers.md
Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
* Make initialize_parameters() functions the same for both controllers
* Apply suggestion from @jaredthomas68
Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
* Fix doc string format
* Update h2integrate/control/control_strategies/heuristic_pyomo_controller.py
Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
* Update h2integrate/control/control_strategies/heuristic_pyomo_controller.py
Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
* Fix ruff formatting
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
Co-authored-by: elenya-grant <116225007+elenya-grant@users.noreply.github.com>
Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
Co-authored-by: kbrunik <102193481+kbrunik@users.noreply.github.com>
* Bugfix in Charge/Discharge efficiency handling in `StoragePerformanceModel` (#600)
* fixed how charge and discharge rates are applied in generic_storage_pyo model
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
* Tests for non-one battery efficiencies (#610)
* add unit tests for openloop storage controller with non-one efficiencies
* rearrange usage of pytest.approx so the target comes second and uses approx
* update changelog:
* Sync Storage Autosizing Model and Pass-Through controller to Align with Pyomo Controllers (#608)
* updated the storage autosizing and pass through controller for new control and performance model structure
* added subtest for integration with pass through controller
* updated to use commodity_set_point instead of input-demand
* made set_demand_as_avg_commodity_in a required input parameter
* moved passthrough controller to storage subfolder
* Added minor changes that got missed in PR 600
---------
Co-authored-by: kbrunik <102193481+kbrunik@users.noreply.github.com>
* Sync Demand Open Loop Controller and Simple Generic Storage to Align with Pyomo Controllers (#612)
* updated simple_generic_storage to simulate storage performance
* updated demand openloop controller so discharge setpoint is correct
* PySAM Marine Models (#607)
* tidal resource model and performance model
* add performance values for testing
* test power curve scaling
* marine cost model
* tidal example
* integration test
* documentation
* update docs
* small changes
* update for failing tests
* fix equation rendering
* fix segmentation fault
* add test for using default pysam config
* address reviewer feedback
* fix wind pysam
* attempt to modify file path handling for resource data
* fix path stuff
* Sync PySAM Battery and Generic Storage Pyomo Performance models with open-loop controllers (#613)
* refactored pysam battery and storage performance models to be compatible with updated open-loop controllers
* updated generic storage pyo to use pass through controller
* renamed PassThroughOpenLoopController to SimpleStorageOpenLoopController
* removed simple_generic_storage
* renamed xx_charge_fraction to xx_soc_fraction
---------
Co-authored-by: Genevieve Starke <genevieve.starke@nrel.gov>
* minor error msg and doc corrections (#618)
* CO2 Model Fixes (#617)
* units and connecting variables
* fix doc page
* catch if annual_input_energy is 0
* remove base class
* fix oae test
* failing doc test
* fix value call
* final touchs
* Bugfix: Update storage models so can use different control types per storage type (#615)
* updated logic in pysam batery and generic storage to handle multiple storage types
* added tests and bugfix in heuristic with setting efficiencies
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
* Baseclass for Openloop Storage Control Strategies (#619)
* added openloop control storage baseclass
* Enable use of Pyomo Controllers in the Storage Autosizing Model (#621)
* updated autosizing storage model to be compatible with pyomo controllers
* renamed fixures in heuristic controller tests
* aggregated heuristic controller tests into one file
* added simple test for storage autosizing and heuristic
* renamed fixtures in optimized controller tests
* aggregated optimized control tests into one file
* updated test for heuristic controller with autosizing
* updated so simple storage autosizing can run with optimal pyomo control
* Generic cost model for converters (#622)
* added generic cost model
* added tests and updated model
* updated example 3 to use new converter model and added to supported models
* updated docstrings and input descriptions
* updated changelog
* added to model overview
* Clarified error message
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
* Introducing multivariable commodity streams (#480)
* Working out first steps of multivariable streams
* Adding to multivariable streams work
* expanding multivariable stream definition
* Building out more of the gas combiner
* Improving example for multivariable streams
* Updating examples and merging
* Apply suggestions from code review
Co-authored-by: genevievestarke <103534902+genevievestarke@users.noreply.github.com>
* Many updates based on PR feedback
* Updated to mass fractions for multicommodity stream
* renamed a few multicommodity variable names
* Added helper functions for multivariable stream definitions
* Updated names throughout for multivariable streams
* Updated docs for multivariable streams
* Added commodity stream tests
* Addressing PR feedback
* Updates based on PR feedback
* Updates based on PR feedback
---------
Co-authored-by: genevievestarke <103534902+genevievestarke@users.noreply.github.com>
Co-authored-by: kbrunik <102193481+kbrunik@users.noreply.github.com>
* Removed some shape_by_conn calls due to OM issues (#632)
* Removed some shape_by_conn calls due to OM issues
* Moved last calls of copy_shape
* Fixing test_pipe fail
---------
Co-authored-by: jmartin4 <jonathan.martin@nrel.gov>
* Move xdsm call in H2IntegrateModel to its own method (#629)
* move xdsm creation in H2IModel to a method so user has to call it if desired instead of having it be automatic
* update changelog and docs and adjust create_xdsm logic to reflect that it is an optional call
* update docs
* update docs
* update docs for visualization
* change xdsm code cell to not execute on build
* switch pdf for png
* minor comments update in code example
* remove xdsm call
* Updated XDSM explanation link
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
* Handling Leap Years in OpenMeteo Resource Data (#633)
* updated openmeteo resource models to handle leap day
* added resource files for leap year
* added tests for leap year resource data
* added integration w pvwatts test for leap year
* Methodized leap day handling for base class for future resource handling
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
* Baseclass for Storage Performance Models (#624)
* added draft storage model baseclass
* updated draft storage baseclass
* added docstring to run_storage method
* minor updates to comments in storage_model_baseclass
* updated storage performance model to inherit baseclass
* fixed storage performance model and storage baseclass
* updated storage autosizing model
* updated pysam battery to use baseclass and removed battery_baseclass
* removed commented out code and simplified some docstrings
* removed unnecessary docstrings
* updated changelog
* PR review: minor personal preferences
* updated inline comment
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
* Modified the calc tilt angle function for pysam solar (#646)
* Oxygen output from PEM electrolyzer (#642)
* added oxygen output from electrolyzer
* updated example 14 to calc LCOO
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
* Removed remaining naming dependencies (#654)
* Removed remaining naming dependencies
* Added to changelog and fixed CI issue
* PR feedback
* Fixed schema reqs
* Update validators to allow zero values for costs for nuclear
* Bugfix: Connecting resource to multiple techs (#655)
* bugfix and added test for connecting one resource model to multiple techs
* updated changelog
* Updated test to call setup to trigger connection error
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
* Update urls for NLR pages and github repositories (#658)
* Update urls for NLR pages and github repositories
* Updated from WISDM to NLRWindSystems org for some repos
* Updated and removed more NREL references
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
* Enhancement/windows ci (#590)
* update installation instructions
* add windows to CI and use conda consistently for Python across OS
* merge develop and update changelog
* adopt 'extras' flag for analysis extras to correctly use optional CI
* update changelog
* reorder ci setup
* update order
* attempt python version restructure
* reinstate old python version
* update URL
* move runs-on back to below strategy
* add os to optional matrix
* reorganize the conditional for extras
* convert lists to yaml bullet lists
* skip gis-dependent tests when not installed
* update changelog
* use optional deps for all tests and add single runner for validating dependency-determined skipped tests
* reformatting
* reduce sql file access scope to functions to avoid windows errors
* downgrade temp_dir to a function scope to avoid windows access errors
* move temp examples fixture to be in main conftest, and enable repo-wide access
* add module scoped example directory copy
* apply module scoped example copy fixture to recorder tests and update
* update changelog
* update miniconda action usage
* use the example copy fixture to isolate sql access in tests for potential windows resolution
* reorganize changelog
* fix typo in parameter name
* update workflow
* remove max-parallel
* Revert "reorganize changelog"
This reverts commit 679a38d.
* add shell to all tests
* don't allow coverage upload to fail ci
* uncomment windows
* add garbage collection to help with sql file handling
* temporarily only run windows to reduce runner usage
* add sleep to see if small timeout resolves issue
* only run single test
* remove garbage collection
* fix typo
* remove manual folder removal in favor of pytest cleanup
* reinstate normal CI processes
* add file removal to avoid OpenMDAO silent failure
* temporarily only run single file on single windows runner
* fix typo
* fix typo
* move manual recorder_path deletion
* put ci back
* handle None case
* track model state using IntEnum
* add xfail for windows because of OpenMDAO improper SQL file handling for Windows
* add todo about removing manual removal
* restore accidentally deleted file
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
Co-authored-by: kbrunik <kbrunik@gmail.com>
* updated CI workflow to disable windows (#668)
* Check for extraneous or mis-categorized input parameters (#647)
* added dictionary utilities
* bugfix in setup() and added start of a test
* added fix to calling check_inputs
* fixed check_inputs
* added another check in check_inputs
* updated error messages in check_inputs and fixed example 1
* Added tests
* added another subtest to test_check_inputs
* fixed tech configs for examples
* added some inline comments
* check for requisite models and return if none
* perform check from note and collapse checking logic
* collapse user input regeneration to reduce number of loops
* remove nested looping approach
* move assert to proper context manager level
* add indent level back
* fix min combinations logic for passing tests
* flatten improperly shared parameterization checking logic
* update test to include multiple categories for improperly shared
* fix typo
* update docstring
* added handling for combined cost and performance models
* Added tech config fpath to the error messages for parameter checking
* changlog
* changed strict to True for six converter models
* reverted strict setting for electrolyzer
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
Co-authored-by: Hammond, Rob <13874373+RHammond2@users.noreply.github.com>
Co-authored-by: kbrunik <kbrunik@gmail.com>
* Update Naming Convention in Open-Loop Converter Control Strategies (#631)
* renamed outputs in converter openloop controllers
* updated tests and examples with updated naming
* added performance model outputs to the converter control strategies
* moved converter control strategies to demand folder
* removed commodity_set_point as output
* renamed demand component to be performance model instead of control strategy
* moved output calculations to shared method in baseclass
---------
Co-authored-by: kbrunik <102193481+kbrunik@users.noreply.github.com>
Co-authored-by: John Jasa <johnjasa11@gmail.com>
* modified state check for setup and run (#669)
* Add interactive class hierarchy visualization to docs (#643)
* Added class hierarchy diagram
* merging
* Updated the PR template
* Changed class hierarchy embedding
* moved class hierachy
* Breaking the sphinx narrow rule
* Combined colors based on feedback
* Updated colors based on Gen's feedback
* Shifted diagram location right
* Reformatting embedding the class viz structure
* Updated dev pyproject for viz tool
---------
Co-authored-by: kbrunik <102193481+kbrunik@users.noreply.github.com>
* Standardize Feedstock Outputs (follow-on to 463) (#523)
* added capacity and price as inputs to feedstock component
* updated feedstock mdoel to have standard outputs
* added commodity_amount_units to FeedstockCostConfig
* added standard output to feedstock cost model and connected commodity_out between performance and cost model
* renamed config inputs for feedstocks
* updated ex 23 which is untested and cleaned up feedstocks.py
* minor docstring updates and added comments
* added in notes of questions for reviewers to feedstocks.py
* updated MMBtu units to MMBtu/h
* fixed iron and steel tests
* made changes to feedstock
* fixed tests
* removed unused comment
* removed shape from price input
* added integration test for feedstock integrated with finance model
* updated feedstocks.md
* changed based on reviewer feedback
* added subtests to test_feedstocks
* small changes to feedstock doc
* docs
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
Co-authored-by: kbrunik <kbrunik@gmail.com>
Co-authored-by: kbrunik <102193481+kbrunik@users.noreply.github.com>
* Framework to allow for variable dt (#653)
* add draft for variable timestep framework
* Changed error wording
* switch bounds to tuple
* minor test correction
* include time-series generation functions
* add tests for variable dt and update simulation length check for non-hourly dt
* update docs
* update changelog
* update docs and doc strings
* restore develop version of utilities.py
* update dt bounds error
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fixing tests
* Adding time step bounds to all models
* Adding time step bounds to the combiner/splitter/transporters
* Updates for tests
* Adding time step bounds to the custom paper mill performance model
* Added time step bounds to paper mill cost
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
Co-authored-by: kbrunik <102193481+kbrunik@users.noreply.github.com>
Co-authored-by: John Jasa <john.jasa@nrel.gov>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* patch: Variable dt (#671)
* update dt bounds error to require `_time_step_bounds`
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add time step bounds to all tech models
* Apply time step bounds check to feedstocks, transporters, and combiners
---------
Co-authored-by: John Jasa <johnjasa11@gmail.com>
Co-authored-by: kbrunik <102193481+kbrunik@users.noreply.github.com>
Co-authored-by: John Jasa <john.jasa@nrel.gov>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Remove system-level outputs from storage and replace with demand component (follow-on to 631) (#666)
* removed system level calcs from storage and updated most tests
* updated examples with storage but dont use storage as a commodity_stream in finances
* updated examples with storage defined as a commodity_stream for a finance subgroup
* added time_step_bounds to demand components
* added test for example 23
* added example for different demand between storage and demand component
* added demo for the demand components using example 13
* made it so demand is only input to battery performance model if using feedback control
* added standard_capacity_factor as output from storage
* added doc page for storage performance models
---------
Co-authored-by: kbrunik <102193481+kbrunik@users.noreply.github.com>
Co-authored-by: John Jasa <johnjasa11@gmail.com>
Co-authored-by: kbrunik <kbrunik@gmail.com>
* Updating the readme and intro doc page ahead of v0.8 release (#677)
* Updating the readme
* Updated intro.md and changelog
* Minor readme updates
* Addressing Kaitlin's comments
* Added more lingo to readme
* Addressing PR suggestions
---------
Co-authored-by: kbrunik <102193481+kbrunik@users.noreply.github.com>
* Move storage controllers into `storage` folder in `control_strategies` (#678)
* moved controllers to storage folder
* renamed pyomo controllers to include storage in the control name
* moved control strategy tests
* moved tests to the right folder
* moved pyomo baseclass and controller_opt_problem_state to top-level control_strategies
* updated import statements
* renamed pyomo baseclass file
* updated import for pyomo storage baseclass
* made storage chapter in docs
* removed backslashes from eqn since they dont render properly on readthedocs
* Making changes per Gen's suggestion (#681)
* Bump version from 0.7.2 to 0.8.0
---------
Co-authored-by: kbrunik <102193481+kbrunik@users.noreply.github.com>
Co-authored-by: elenya-grant <116225007+elenya-grant@users.noreply.github.com>
Co-authored-by: Rob Hammond <13874373+RHammond2@users.noreply.github.com>
Co-authored-by: genevievestarke <103534902+genevievestarke@users.noreply.github.com>
Co-authored-by: Jared Thomas <jaredthomas68@gmail.com>
Co-authored-by: bayc <christopher.j.bay@gmail.com>
Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
Co-authored-by: Jonathan Martin <94018654+jmartin4u@users.noreply.github.com>
Co-authored-by: jmartin4 <jonathan.martin@nrel.gov>
Co-authored-by: Jonathan Martin <94018654+jmartin4nrel@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Chris Bay <12664940+bayc@users.noreply.github.com>
Co-authored-by: Genevieve Starke <genevieve.starke@nrel.gov>
Co-authored-by: kbrunik <kbrunik@gmail.com>386 files changed
Lines changed: 51690 additions & 12379 deletions
File tree
- .github
- ISSUE_TEMPLATE
- workflows
- docs
- _static
- control
- demand
- figures
- developer_guide
- finance_models
- getting_started
- misc_resources
- resource
- storage
- technology_models
- user_guide
- figures
- examples
- 01_onshore_steel_mn
- 02_texas_ammonia
- 03_methanol/co2_hydrogenation_doc
- 04_geo_h2
- 05_wind_h2_opt
- 06_custom_tech/user_defined_model
- 07_run_of_river_plant
- 09_co2
- direct_ocean_capture
- ocean_alkalinity_enhancement_financials
- ocean_alkalinity_enhancement
- 11_hybrid_energy_plant
- 12_ammonia_synloop
- 13_dispatch_for_electrolyzer
- 14_wind_hydrogen_dispatch/inputs
- 15_wind_solar_electrolyzer
- 16_natural_gas
- 17_splitter_wind_doc_h2
- 18_pyomo_heuristic_dispatch
- 19_simple_dispatch
- 21_iron_examples
- iron_dri
- iron_electrowinning
- iron_mapping
- ex_out
- 23_solar_wind_ng_demand
- 24_solar_battery_grid
- 25_sizing_modes
- tech_inputs
- 28_iron_map
- ex_28_out
- 29_wind_ard/h2i_inputs
- 30_pyomo_optimized_dispatch
- 31_tidal
- 32_multivariable_streams
- test
- h2integrate
- control
- control_rules
- converters
- storage
- control_strategies
- converters
- storage
- test
- inputs
- test
- converters
- ammonia
- test
- co2/marine
- test
- grid
- test
- hopp
- test
- hydrogen
- geologic
- test
- pem_model
- test
- iron
- martin_ore
- martin_transport
- old_input
- peters
- rosner_ore
- rosner_override
- rosner
- test
- input
- methanol
- test
- natural_gas
- test
- nitrogen
- test
- nuclear
- solar
- test
- steel
- test
- test
- water_power
- test
- water/desal
- test
- wind
- layout/test
- test
- tools/test
- core
- inputs
- test
- inputs
- demand
- test
- finances
- test
- postprocess/test
- preprocess/test
- resource
- solar
- test
- test
- utilities/test
- wind
- test
- storage
- battery
- test
- inputs
- hydrogen
- test
- test
- test
- tools
- test
- transporters
- test
- resource_files
- solar
- tidal
- wind
- test
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | | - | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
81 | | - | |
| 81 | + | |
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
| 85 | + | |
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
| 89 | + | |
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
| 93 | + | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | | - | |
| 97 | + | |
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
101 | | - | |
| 101 | + | |
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
107 | | - | |
| 107 | + | |
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| 131 | + | |
131 | 132 | | |
132 | 133 | | |
133 | 134 | | |
134 | 135 | | |
135 | 136 | | |
136 | 137 | | |
137 | | - | |
| 138 | + | |
138 | 139 | | |
139 | 140 | | |
140 | 141 | | |
141 | | - | |
| 142 | + | |
142 | 143 | | |
143 | 144 | | |
144 | 145 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
5 | 7 | | |
6 | | - | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
7 | 11 | | |
8 | 12 | | |
9 | 13 | | |
10 | 14 | | |
11 | | - | |
12 | 15 | | |
13 | 16 | | |
14 | | - | |
15 | | - | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
16 | 29 | | |
17 | 30 | | |
18 | | - | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
19 | 43 | | |
20 | 44 | | |
21 | 45 | | |
22 | | - | |
| 46 | + | |
23 | 47 | | |
| 48 | + | |
| 49 | + | |
24 | 50 | | |
25 | | - | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
26 | 55 | | |
27 | 56 | | |
28 | 57 | | |
29 | | - | |
| 58 | + | |
30 | 59 | | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
36 | 67 | | |
37 | 68 | | |
38 | 69 | | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
50 | 89 | | |
51 | | - | |
52 | | - | |
53 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
| |||
0 commit comments