def make_new_semver(current_semver, all_triggers, **overrides):
new_semver = {}<EOL>bumped = False<EOL>for sig_fig in SemVerSigFig:  <EOL><INDENT>value = getattr(current_semver, sig_fig)<EOL>override = overrides.get(sig_fig)<EOL>if override is not None:<EOL><INDENT>new_semver[sig_fig] = override<EOL>if int(override) > int(value):<EOL><INDENT>bumped = True<EOL><DEDENT><DEDENT>elif bumped:<EOL><INDENT>new_semver[sig_fig] = "<STR_LIT:0>"<EOL><DEDENT>elif sig_fig in all_triggers:<EOL><INDENT>new_semver[sig_fig] = str(int(value) + <NUM_LIT:1>)<EOL>bumped = True<EOL><DEDENT>else:<EOL><INDENT>new_semver[sig_fig] = value<EOL><DEDENT><DEDENT>return SemVer(**new_semver)<EOL>
Defines how to increment semver based on which significant figure is triggered