import bpy
import os

def kmi_props_setattr(kmi_props, attr, value):
    try:
        setattr(kmi_props, attr, value)
    except AttributeError:
        print("Warning: property '%s' not found in keymap item '%s'" %
              (attr, kmi_props.__class__.__name__))
    except Exception as e:
        print("Warning: %r" % e)

wm = bpy.context.window_manager
kc = wm.keyconfigs.new(os.path.splitext(os.path.basename(__file__))[0])

# Map Node Editor
km = kc.keymaps.new('Node Editor', space_type='NODE_EDITOR', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_switch_node_type_menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_copy_node_properties_menu')
kmi = km.keymap_items.new('wm.call_menu', 'BACK_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_link_active_to_selected_menu')
kmi = km.keymap_items.new('wm.call_menu', 'NUMPAD_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_add_reroutes_menu')
kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_node_wrangler_menu')
kmi = km.keymap_items.new('node.nw_reset_nodes', 'BACK_SPACE', 'PRESS')
kmi = km.keymap_items.new('node.nw_align_nodes', 'EQUAL', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_viewer_focus', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'with_menu', True)
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_lazy_mix', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_reload_images', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_emission_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_swap_links', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_frame_selected', 'P', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_del_unused', 'X', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_bg_reset', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.nw_add_textures_for_principled', 'T', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_add_texture', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_select_parent_child', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'PARENT')
kmi = km.keymap_items.new('node.nw_select_parent_child', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'CHILD')
kmi = km.keymap_items.new('node.nw_link_out', 'O', 'PRESS')
kmi = km.keymap_items.new('node.nw_detach_outputs', 'D', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_copy_label', 'V', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'option', 'FROM_ACTIVE')
kmi = km.keymap_items.new('node.nw_modify_labels', 'L', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_clear_label', 'L', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', False)
kmi = km.keymap_items.new('node.nw_factor', 'ONE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'ZERO', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_0', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.10000000149011612)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.10000000149011612)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_batch_change', 'UP_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'PREV')
kmi_props_setattr(kmi.properties, 'operation', 'PREV')
kmi = km.keymap_items.new('node.nw_batch_change', 'DOWN_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'NEXT')
kmi_props_setattr(kmi.properties, 'operation', 'NEXT')
kmi = km.keymap_items.new('node.nw_batch_change', 'PERIOD', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'GREATER_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'COMMA', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'LESS_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'EIGHT', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_ASTERIX', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'EQUAL', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_PLUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'ZERO', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_0', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ZCOMBINE')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_switch_node_type_menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_copy_node_properties_menu')
kmi = km.keymap_items.new('wm.call_menu', 'NUMPAD_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_add_reroutes_menu')
kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_node_wrangler_menu')
kmi = km.keymap_items.new('node.nw_reset_nodes', 'BACK_SPACE', 'PRESS')
kmi = km.keymap_items.new('node.nw_align_nodes', 'EQUAL', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_viewer_focus', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'with_menu', True)
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_lazy_mix', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_reload_images', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_emission_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_swap_links', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_frame_selected', 'P', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_del_unused', 'X', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_bg_reset', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.nw_add_textures_for_principled', 'T', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_add_texture', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_select_parent_child', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'PARENT')
kmi = km.keymap_items.new('node.nw_select_parent_child', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'CHILD')
kmi = km.keymap_items.new('node.nw_link_out', 'O', 'PRESS')
kmi = km.keymap_items.new('node.nw_detach_outputs', 'D', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_copy_label', 'V', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'option', 'FROM_ACTIVE')
kmi = km.keymap_items.new('node.nw_modify_labels', 'L', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_clear_label', 'L', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', False)
kmi = km.keymap_items.new('node.nw_factor', 'ONE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'ZERO', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_0', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.10000000149011612)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.10000000149011612)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_batch_change', 'UP_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'PREV')
kmi_props_setattr(kmi.properties, 'operation', 'PREV')
kmi = km.keymap_items.new('node.nw_batch_change', 'DOWN_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'NEXT')
kmi_props_setattr(kmi.properties, 'operation', 'NEXT')
kmi = km.keymap_items.new('node.nw_batch_change', 'PERIOD', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'GREATER_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'COMMA', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'LESS_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'EIGHT', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_ASTERIX', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'EQUAL', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_PLUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'ZERO', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_0', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ZCOMBINE')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_switch_node_type_menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_copy_node_properties_menu')
kmi = km.keymap_items.new('wm.call_menu', 'NUMPAD_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_add_reroutes_menu')
kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_node_wrangler_menu')
kmi = km.keymap_items.new('node.nw_reset_nodes', 'BACK_SPACE', 'PRESS')
kmi = km.keymap_items.new('node.nw_align_nodes', 'EQUAL', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_viewer_focus', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'with_menu', True)
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_lazy_mix', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_reload_images', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_emission_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_swap_links', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_frame_selected', 'P', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_del_unused', 'X', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_bg_reset', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.nw_add_textures_for_principled', 'T', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_add_texture', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_select_parent_child', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'PARENT')
kmi = km.keymap_items.new('node.nw_select_parent_child', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'CHILD')
kmi = km.keymap_items.new('node.nw_link_out', 'O', 'PRESS')
kmi = km.keymap_items.new('node.nw_detach_outputs', 'D', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_copy_label', 'V', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'option', 'FROM_ACTIVE')
kmi = km.keymap_items.new('node.nw_modify_labels', 'L', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_clear_label', 'L', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', False)
kmi = km.keymap_items.new('node.nw_factor', 'ONE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'ZERO', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_0', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.10000000149011612)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.10000000149011612)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_batch_change', 'UP_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'PREV')
kmi_props_setattr(kmi.properties, 'operation', 'PREV')
kmi = km.keymap_items.new('node.nw_batch_change', 'DOWN_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'NEXT')
kmi_props_setattr(kmi.properties, 'operation', 'NEXT')
kmi = km.keymap_items.new('node.nw_batch_change', 'PERIOD', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'GREATER_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'COMMA', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'LESS_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'EIGHT', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_ASTERIX', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'EQUAL', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_PLUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'ZERO', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_0', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ZCOMBINE')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_switch_node_type_menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_copy_node_properties_menu')
kmi = km.keymap_items.new('wm.call_menu', 'NUMPAD_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_add_reroutes_menu')
kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_node_wrangler_menu')
kmi = km.keymap_items.new('node.nw_reset_nodes', 'BACK_SPACE', 'PRESS')
kmi = km.keymap_items.new('node.nw_align_nodes', 'EQUAL', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_viewer_focus', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'with_menu', True)
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_lazy_mix', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_reload_images', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_emission_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_swap_links', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_frame_selected', 'P', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_del_unused', 'X', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_bg_reset', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.nw_add_textures_for_principled', 'T', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_add_texture', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_select_parent_child', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'PARENT')
kmi = km.keymap_items.new('node.nw_select_parent_child', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'CHILD')
kmi = km.keymap_items.new('node.nw_link_out', 'O', 'PRESS')
kmi = km.keymap_items.new('node.nw_detach_outputs', 'D', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_copy_label', 'V', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'option', 'FROM_ACTIVE')
kmi = km.keymap_items.new('node.nw_modify_labels', 'L', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_clear_label', 'L', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', False)
kmi = km.keymap_items.new('node.nw_factor', 'ONE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'ZERO', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_0', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.10000000149011612)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.10000000149011612)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_batch_change', 'UP_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'PREV')
kmi_props_setattr(kmi.properties, 'operation', 'PREV')
kmi = km.keymap_items.new('node.nw_batch_change', 'DOWN_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'NEXT')
kmi_props_setattr(kmi.properties, 'operation', 'NEXT')
kmi = km.keymap_items.new('node.nw_batch_change', 'PERIOD', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'GREATER_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'COMMA', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'LESS_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'EIGHT', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_ASTERIX', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'EQUAL', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_PLUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'ZERO', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_0', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ZCOMBINE')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_switch_node_type_menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_copy_node_properties_menu')
kmi = km.keymap_items.new('wm.call_menu', 'NUMPAD_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_add_reroutes_menu')
kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_node_wrangler_menu')
kmi = km.keymap_items.new('node.nw_reset_nodes', 'BACK_SPACE', 'PRESS')
kmi = km.keymap_items.new('node.nw_align_nodes', 'EQUAL', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_viewer_focus', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'with_menu', True)
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_lazy_mix', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_reload_images', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_emission_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_swap_links', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_frame_selected', 'P', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_del_unused', 'X', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_bg_reset', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.nw_add_textures_for_principled', 'T', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_add_texture', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_select_parent_child', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'PARENT')
kmi = km.keymap_items.new('node.nw_select_parent_child', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'CHILD')
kmi = km.keymap_items.new('node.nw_link_out', 'O', 'PRESS')
kmi = km.keymap_items.new('node.nw_detach_outputs', 'D', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_copy_label', 'V', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'option', 'FROM_ACTIVE')
kmi = km.keymap_items.new('node.nw_modify_labels', 'L', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_clear_label', 'L', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', False)
kmi = km.keymap_items.new('node.nw_factor', 'ONE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'ZERO', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_0', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.10000000149011612)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.10000000149011612)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_batch_change', 'UP_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'PREV')
kmi_props_setattr(kmi.properties, 'operation', 'PREV')
kmi = km.keymap_items.new('node.nw_batch_change', 'DOWN_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'NEXT')
kmi_props_setattr(kmi.properties, 'operation', 'NEXT')
kmi = km.keymap_items.new('node.nw_batch_change', 'PERIOD', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'GREATER_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'COMMA', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'LESS_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'EIGHT', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_ASTERIX', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'EQUAL', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_PLUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'ZERO', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_0', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ZCOMBINE')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_switch_node_type_menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_copy_node_properties_menu')
kmi = km.keymap_items.new('wm.call_menu', 'NUMPAD_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_add_reroutes_menu')
kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_node_wrangler_menu')
kmi = km.keymap_items.new('node.nw_align_nodes', 'EQUAL', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_viewer_focus', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'with_menu', True)
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_lazy_mix', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_reload_images', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_emission_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_swap_links', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_frame_selected', 'P', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_del_unused', 'X', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_bg_reset', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.nw_add_texture', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_select_parent_child', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'PARENT')
kmi = km.keymap_items.new('node.nw_select_parent_child', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'CHILD')
kmi = km.keymap_items.new('node.nw_link_out', 'O', 'PRESS')
kmi = km.keymap_items.new('node.nw_detach_outputs', 'D', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_copy_label', 'V', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'option', 'FROM_ACTIVE')
kmi = km.keymap_items.new('node.nw_modify_labels', 'L', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_clear_label', 'L', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', False)
kmi = km.keymap_items.new('node.nw_factor', 'ONE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'ZERO', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_0', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.10000000149011612)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.10000000149011612)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_batch_change', 'UP_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'PREV')
kmi_props_setattr(kmi.properties, 'operation', 'PREV')
kmi = km.keymap_items.new('node.nw_batch_change', 'DOWN_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'NEXT')
kmi_props_setattr(kmi.properties, 'operation', 'NEXT')
kmi = km.keymap_items.new('node.nw_batch_change', 'PERIOD', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'GREATER_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'COMMA', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'LESS_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'EIGHT', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_ASTERIX', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'EQUAL', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_PLUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'ZERO', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_0', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ZCOMBINE')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_switch_node_type_menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_copy_node_properties_menu')
kmi = km.keymap_items.new('wm.call_menu', 'NUMPAD_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_add_reroutes_menu')
kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_node_wrangler_menu')
kmi = km.keymap_items.new('node.nw_align_nodes', 'EQUAL', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_viewer_focus', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'with_menu', True)
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_lazy_mix', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_reload_images', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_emission_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_swap_links', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_frame_selected', 'P', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_del_unused', 'X', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_bg_reset', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.nw_add_texture', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_select_parent_child', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'PARENT')
kmi = km.keymap_items.new('node.nw_select_parent_child', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'CHILD')
kmi = km.keymap_items.new('node.nw_link_out', 'O', 'PRESS')
kmi = km.keymap_items.new('node.nw_detach_outputs', 'D', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_copy_label', 'V', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'option', 'FROM_ACTIVE')
kmi = km.keymap_items.new('node.nw_modify_labels', 'L', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_clear_label', 'L', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', False)
kmi = km.keymap_items.new('node.nw_factor', 'ONE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'ZERO', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_0', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.10000000149011612)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.10000000149011612)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_batch_change', 'UP_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'PREV')
kmi_props_setattr(kmi.properties, 'operation', 'PREV')
kmi = km.keymap_items.new('node.nw_batch_change', 'DOWN_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'NEXT')
kmi_props_setattr(kmi.properties, 'operation', 'NEXT')
kmi = km.keymap_items.new('node.nw_batch_change', 'PERIOD', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'GREATER_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'COMMA', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'LESS_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'EIGHT', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_ASTERIX', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'EQUAL', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_PLUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'ZERO', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_0', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ZCOMBINE')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'AMTH_NODE_MT_amaranth_templates')
kmi = km.keymap_items.new('node.show_active_node_image', 'ACTIONMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_switch_node_type_menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_copy_node_properties_menu')
kmi = km.keymap_items.new('wm.call_menu', 'NUMPAD_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_add_reroutes_menu')
kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_node_wrangler_menu')
kmi = km.keymap_items.new('node.nw_align_nodes', 'EQUAL', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_viewer_focus', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'with_menu', True)
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_lazy_mix', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_reload_images', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_emission_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_swap_links', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_frame_selected', 'P', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_del_unused', 'X', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_bg_reset', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.nw_add_texture', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_select_parent_child', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'PARENT')
kmi = km.keymap_items.new('node.nw_select_parent_child', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'CHILD')
kmi = km.keymap_items.new('node.nw_link_out', 'O', 'PRESS')
kmi = km.keymap_items.new('node.nw_detach_outputs', 'D', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_copy_label', 'V', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'option', 'FROM_ACTIVE')
kmi = km.keymap_items.new('node.nw_modify_labels', 'L', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_clear_label', 'L', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', False)
kmi = km.keymap_items.new('node.nw_factor', 'ONE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'ZERO', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_0', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.10000000149011612)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.10000000149011612)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_batch_change', 'UP_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'PREV')
kmi_props_setattr(kmi.properties, 'operation', 'PREV')
kmi = km.keymap_items.new('node.nw_batch_change', 'DOWN_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'NEXT')
kmi_props_setattr(kmi.properties, 'operation', 'NEXT')
kmi = km.keymap_items.new('node.nw_batch_change', 'PERIOD', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'GREATER_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'COMMA', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'LESS_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'EIGHT', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_ASTERIX', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'EQUAL', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_PLUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'ZERO', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_0', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ZCOMBINE')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_switch_node_type_menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_copy_node_properties_menu')
kmi = km.keymap_items.new('wm.call_menu', 'NUMPAD_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_add_reroutes_menu')
kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_node_wrangler_menu')
kmi = km.keymap_items.new('node.nw_align_nodes', 'EQUAL', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_viewer_focus', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'with_menu', True)
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_lazy_mix', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_reload_images', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_emission_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_swap_links', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_frame_selected', 'P', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_del_unused', 'X', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_bg_reset', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.nw_add_texture', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_select_parent_child', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'PARENT')
kmi = km.keymap_items.new('node.nw_select_parent_child', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'CHILD')
kmi = km.keymap_items.new('node.nw_link_out', 'O', 'PRESS')
kmi = km.keymap_items.new('node.nw_detach_outputs', 'D', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_copy_label', 'V', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'option', 'FROM_ACTIVE')
kmi = km.keymap_items.new('node.nw_modify_labels', 'L', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_clear_label', 'L', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', False)
kmi = km.keymap_items.new('node.nw_factor', 'ONE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'ZERO', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_0', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.10000000149011612)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.10000000149011612)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_batch_change', 'UP_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'PREV')
kmi_props_setattr(kmi.properties, 'operation', 'PREV')
kmi = km.keymap_items.new('node.nw_batch_change', 'DOWN_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'NEXT')
kmi_props_setattr(kmi.properties, 'operation', 'NEXT')
kmi = km.keymap_items.new('node.nw_batch_change', 'PERIOD', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'GREATER_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'COMMA', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'LESS_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'EIGHT', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_ASTERIX', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'EQUAL', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_PLUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'ZERO', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_0', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ZCOMBINE')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_switch_node_type_menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_copy_node_properties_menu')
kmi = km.keymap_items.new('wm.call_menu', 'NUMPAD_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_add_reroutes_menu')
kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_node_wrangler_menu')
kmi = km.keymap_items.new('node.nw_align_nodes', 'EQUAL', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_viewer_focus', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'with_menu', True)
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_lazy_mix', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_reload_images', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_emission_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_swap_links', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_frame_selected', 'P', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_del_unused', 'X', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_bg_reset', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.nw_add_texture', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_select_parent_child', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'PARENT')
kmi = km.keymap_items.new('node.nw_select_parent_child', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'CHILD')
kmi = km.keymap_items.new('node.nw_link_out', 'O', 'PRESS')
kmi = km.keymap_items.new('node.nw_detach_outputs', 'D', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_copy_label', 'V', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'option', 'FROM_ACTIVE')
kmi = km.keymap_items.new('node.nw_modify_labels', 'L', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_clear_label', 'L', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', False)
kmi = km.keymap_items.new('node.nw_factor', 'ONE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'ZERO', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_0', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.10000000149011612)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.10000000149011612)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_batch_change', 'UP_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'PREV')
kmi_props_setattr(kmi.properties, 'operation', 'PREV')
kmi = km.keymap_items.new('node.nw_batch_change', 'DOWN_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'NEXT')
kmi_props_setattr(kmi.properties, 'operation', 'NEXT')
kmi = km.keymap_items.new('node.nw_batch_change', 'PERIOD', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'GREATER_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'COMMA', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'LESS_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'EIGHT', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_ASTERIX', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'EQUAL', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_PLUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'ZERO', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_0', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ZCOMBINE')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_switch_node_type_menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_copy_node_properties_menu')
kmi = km.keymap_items.new('wm.call_menu', 'NUMPAD_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_add_reroutes_menu')
kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_node_wrangler_menu')
kmi = km.keymap_items.new('node.nw_align_nodes', 'EQUAL', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_viewer_focus', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'with_menu', True)
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_lazy_mix', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_reload_images', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_emission_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_swap_links', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_frame_selected', 'P', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_del_unused', 'X', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_bg_reset', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.nw_add_texture', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_select_parent_child', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'PARENT')
kmi = km.keymap_items.new('node.nw_select_parent_child', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'CHILD')
kmi = km.keymap_items.new('node.nw_link_out', 'O', 'PRESS')
kmi = km.keymap_items.new('node.nw_detach_outputs', 'D', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_copy_label', 'V', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'option', 'FROM_ACTIVE')
kmi = km.keymap_items.new('node.nw_modify_labels', 'L', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_clear_label', 'L', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', False)
kmi = km.keymap_items.new('node.nw_factor', 'ONE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'ZERO', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_0', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.10000000149011612)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.10000000149011612)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_batch_change', 'UP_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'PREV')
kmi_props_setattr(kmi.properties, 'operation', 'PREV')
kmi = km.keymap_items.new('node.nw_batch_change', 'DOWN_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'NEXT')
kmi_props_setattr(kmi.properties, 'operation', 'NEXT')
kmi = km.keymap_items.new('node.nw_batch_change', 'PERIOD', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'GREATER_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'COMMA', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'LESS_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'EIGHT', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_ASTERIX', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'EQUAL', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_PLUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'ZERO', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_0', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ZCOMBINE')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_switch_node_type_menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_copy_node_properties_menu')
kmi = km.keymap_items.new('wm.call_menu', 'NUMPAD_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_add_reroutes_menu')
kmi = km.keymap_items.new('wm.call_menu', 'SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_add_reroutes_menu')
kmi.active = False
kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_node_wrangler_menu')
kmi = km.keymap_items.new('node.nw_align_nodes', 'EQUAL', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_viewer_focus', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'with_menu', True)
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_lazy_mix', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_reload_images', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_emission_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_swap_links', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_frame_selected', 'P', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_del_unused', 'X', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_bg_reset', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.nw_add_texture', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_select_parent_child', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'PARENT')
kmi = km.keymap_items.new('node.nw_select_parent_child', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'CHILD')
kmi = km.keymap_items.new('node.nw_link_out', 'O', 'PRESS')
kmi = km.keymap_items.new('node.nw_detach_outputs', 'D', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_copy_label', 'V', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'option', 'FROM_ACTIVE')
kmi = km.keymap_items.new('node.nw_modify_labels', 'L', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_clear_label', 'L', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', False)
kmi = km.keymap_items.new('node.nw_factor', 'ONE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'ZERO', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_0', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.10000000149011612)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.10000000149011612)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_batch_change', 'UP_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'PREV')
kmi_props_setattr(kmi.properties, 'operation', 'PREV')
kmi = km.keymap_items.new('node.nw_batch_change', 'DOWN_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'NEXT')
kmi_props_setattr(kmi.properties, 'operation', 'NEXT')
kmi = km.keymap_items.new('node.nw_batch_change', 'PERIOD', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'GREATER_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'COMMA', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'LESS_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'EIGHT', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_ASTERIX', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'EQUAL', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_PLUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'ZERO', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_0', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ZCOMBINE')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_switch_node_type_menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_copy_node_properties_menu')
kmi = km.keymap_items.new('wm.call_menu', 'NUMPAD_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_add_reroutes_menu')
kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_nw_node_wrangler_menu')
kmi = km.keymap_items.new('node.nw_align_nodes', 'EQUAL', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_viewer_focus', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'with_menu', True)
kmi = km.keymap_items.new('node.nw_lazy_connect', 'RIGHTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_lazy_mix', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_reload_images', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_emission_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.nw_swap_links', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_frame_selected', 'P', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.nw_del_unused', 'X', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.nw_bg_reset', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.nw_add_texture', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.nw_select_parent_child', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'PARENT')
kmi = km.keymap_items.new('node.nw_select_parent_child', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'option', 'CHILD')
kmi = km.keymap_items.new('node.nw_link_out', 'O', 'PRESS')
kmi = km.keymap_items.new('node.nw_detach_outputs', 'D', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_copy_label', 'V', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'option', 'FROM_ACTIVE')
kmi = km.keymap_items.new('node.nw_modify_labels', 'L', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('node.nw_clear_label', 'L', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', False)
kmi = km.keymap_items.new('node.nw_factor', 'ONE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'ZERO', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'NUMPAD_0', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 1.0)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.0)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.009999999776482582)
kmi = km.keymap_items.new('node.nw_factor', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', 0.10000000149011612)
kmi = km.keymap_items.new('node.nw_factor', 'LEFT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'option', -0.10000000149011612)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'SEMI_COLON', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', True)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'QUOTE', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', True)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_link_active_to_selected', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi_props_setattr(kmi.properties, 'use_node_name', False)
kmi_props_setattr(kmi.properties, 'use_outputs_names', False)
kmi = km.keymap_items.new('node.nw_batch_change', 'UP_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'PREV')
kmi_props_setattr(kmi.properties, 'operation', 'PREV')
kmi = km.keymap_items.new('node.nw_batch_change', 'DOWN_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'NEXT')
kmi_props_setattr(kmi.properties, 'operation', 'NEXT')
kmi = km.keymap_items.new('node.nw_batch_change', 'PERIOD', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'GREATER_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'COMMA', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'CURRENT')
kmi_props_setattr(kmi.properties, 'operation', 'LESS_THAN')
kmi = km.keymap_items.new('node.nw_batch_change', 'SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_SLASH', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'operation', 'DIVIDE')
kmi = km.keymap_items.new('node.nw_batch_change', 'MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_MINUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'operation', 'SUBTRACT')
kmi = km.keymap_items.new('node.nw_batch_change', 'EIGHT', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_ASTERIX', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'operation', 'MULTIPLY')
kmi = km.keymap_items.new('node.nw_batch_change', 'EQUAL', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_PLUS', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'ADD')
kmi_props_setattr(kmi.properties, 'operation', 'ADD')
kmi = km.keymap_items.new('node.nw_batch_change', 'ZERO', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_batch_change', 'NUMPAD_0', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'blend_type', 'MIX')
kmi_props_setattr(kmi.properties, 'operation', 'CURRENT')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'MIX')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ALPHAOVER')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'ZCOMBINE')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'GREATER_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'LESS_THAN')
kmi_props_setattr(kmi.properties, 'merge_type', 'MATH')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'DIVIDE')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'SUBTRACT')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EIGHT', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MULTIPLY')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'EQUAL', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'ADD')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.nw_merge_nodes', 'NUMPAD_0', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'MIX')
kmi_props_setattr(kmi.properties, 'merge_type', 'AUTO')
kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('node.select', 'ACTIONMOUSE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('node.select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('node.select_border', 'EVT_TWEAK_S', 'ANY')
kmi_props_setattr(kmi.properties, 'tweak', True)
kmi = km.keymap_items.new('node.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi = km.keymap_items.new('node.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'deselect', True)
kmi = km.keymap_items.new('node.select_circle', 'C', 'PRESS')
kmi = km.keymap_items.new('node.link', 'LEFTMOUSE', 'PRESS')
kmi_props_setattr(kmi.properties, 'detach', False)
kmi = km.keymap_items.new('node.link', 'LEFTMOUSE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'detach', True)
kmi = km.keymap_items.new('node.resize', 'LEFTMOUSE', 'PRESS')
kmi = km.keymap_items.new('node.add_reroute', 'LEFTMOUSE', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.links_cut', 'LEFTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.select_link_viewer', 'LEFTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.backimage_move', 'MIDDLEMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.backimage_zoom', 'V', 'PRESS')
kmi_props_setattr(kmi.properties, 'factor', 0.833329975605011)
kmi = km.keymap_items.new('node.backimage_zoom', 'V', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'factor', 1.2000000476837158)
kmi = km.keymap_items.new('node.backimage_fit', 'HOME', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.backimage_sample', 'ACTIONMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.link_make', 'F', 'PRESS')
kmi_props_setattr(kmi.properties, 'replace', False)
kmi = km.keymap_items.new('node.link_make', 'F', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'replace', True)
kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'NODE_MT_add')
kmi = km.keymap_items.new('node.duplicate_move', 'D', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.duplicate_move_keep_inputs', 'D', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('node.parent_set', 'P', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.detach', 'P', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.join', 'J', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.hide_toggle', 'H', 'PRESS')
kmi = km.keymap_items.new('node.mute_toggle', 'M', 'PRESS')
kmi = km.keymap_items.new('node.preview_toggle', 'H', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.hide_socket_toggle', 'H', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.view_all', 'HOME', 'PRESS')
kmi = km.keymap_items.new('node.view_all', 'NDOF_BUTTON_FIT', 'PRESS')
kmi = km.keymap_items.new('node.view_selected', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.select_border', 'B', 'PRESS')
kmi_props_setattr(kmi.properties, 'tweak', False)
kmi = km.keymap_items.new('node.delete', 'X', 'PRESS')
kmi = km.keymap_items.new('node.delete', 'DEL', 'PRESS')
kmi = km.keymap_items.new('node.delete_reconnect', 'X', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.select_all', 'A', 'PRESS')
kmi_props_setattr(kmi.properties, 'action', 'TOGGLE')
kmi = km.keymap_items.new('node.select_all', 'I', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'action', 'INVERT')
kmi = km.keymap_items.new('node.select_linked_to', 'L', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.select_linked_from', 'L', 'PRESS')
kmi = km.keymap_items.new('node.select_grouped', 'G', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('node.select_grouped', 'G', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('node.select_same_type_step', 'RIGHT_BRACKET', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'prev', False)
kmi = km.keymap_items.new('node.select_same_type_step', 'LEFT_BRACKET', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'prev', True)
kmi = km.keymap_items.new('node.find_node', 'F', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.group_make', 'G', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.group_ungroup', 'G', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.group_separate', 'P', 'PRESS')
kmi = km.keymap_items.new('node.group_edit', 'TAB', 'PRESS')
kmi_props_setattr(kmi.properties, 'exit', False)
kmi = km.keymap_items.new('node.group_edit', 'TAB', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'exit', True)
kmi = km.keymap_items.new('node.read_renderlayers', 'R', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.read_fullsamplelayers', 'R', 'PRESS', shift=True)
kmi = km.keymap_items.new('node.render_changed', 'Z', 'PRESS')
kmi = km.keymap_items.new('node.clipboard_copy', 'C', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.clipboard_paste', 'V', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.viewer_border', 'B', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('node.clear_viewer_border', 'B', 'PRESS', ctrl=True, alt=True)
kmi = km.keymap_items.new('node.translate_attach', 'G', 'PRESS')
kmi = km.keymap_items.new('node.translate_attach', 'EVT_TWEAK_A', 'ANY')
kmi = km.keymap_items.new('node.translate_attach', 'EVT_TWEAK_S', 'ANY')
kmi = km.keymap_items.new('transform.translate', 'G', 'PRESS')
kmi_props_setattr(kmi.properties, 'release_confirm', True)
kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_A', 'ANY')
kmi_props_setattr(kmi.properties, 'release_confirm', True)
kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')
kmi_props_setattr(kmi.properties, 'release_confirm', True)
kmi = km.keymap_items.new('transform.rotate', 'R', 'PRESS')
kmi = km.keymap_items.new('transform.resize', 'S', 'PRESS')
kmi = km.keymap_items.new('node.move_detach_links', 'D', 'PRESS', alt=True)
kmi = km.keymap_items.new('node.move_detach_links_release', 'EVT_TWEAK_A', 'ANY', alt=True)
kmi = km.keymap_items.new('node.move_detach_links', 'EVT_TWEAK_S', 'ANY', alt=True)
kmi = km.keymap_items.new('wm.context_toggle', 'TAB', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.use_snap')
kmi = km.keymap_items.new('wm.context_menu_enum', 'TAB', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.snap_node_element')
kmi = km.keymap_items.new('wm.context_set_enum', 'BACK_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'area.type')
kmi_props_setattr(kmi.properties, 'value', 'PROPERTIES')

# Map Object Mode
km = kc.keymaps.new('Object Mode', space_type='EMPTY', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('btool.auto_slice', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_intersect', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_difference', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_union', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.to_mesh', 'NUMPAD_ENTER', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.brush_to_mesh', 'NUMPAD_ENTER', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_slice', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_inters', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_diff', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_union', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.call_menu', 'B', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'OBJECT_MT_BoolTool_Menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_copypopup')
kmi = km.keymap_items.new('btool.auto_slice', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_intersect', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_difference', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_union', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.to_mesh', 'NUMPAD_ENTER', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.brush_to_mesh', 'NUMPAD_ENTER', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_slice', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_inters', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_diff', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_union', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.call_menu', 'B', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'OBJECT_MT_BoolTool_Menu')
kmi = km.keymap_items.new('btool.auto_slice', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_intersect', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_difference', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_union', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.to_mesh', 'NUMPAD_ENTER', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.brush_to_mesh', 'NUMPAD_ENTER', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_slice', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_inters', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_diff', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_union', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.call_menu', 'B', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'OBJECT_MT_BoolTool_Menu')
kmi = km.keymap_items.new('btool.auto_slice', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_intersect', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_difference', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_union', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.to_mesh', 'NUMPAD_ENTER', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.brush_to_mesh', 'NUMPAD_ENTER', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_slice', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_inters', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_diff', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_union', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.call_menu', 'B', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'OBJECT_MT_BoolTool_Menu')
kmi = km.keymap_items.new('btool.auto_slice', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_intersect', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_difference', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.auto_union', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.to_mesh', 'NUMPAD_ENTER', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.brush_to_mesh', 'NUMPAD_ENTER', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_slice', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_inters', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_diff', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_union', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.call_menu', 'B', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'OBJECT_MT_BoolTool_Menu')
kmi = km.keymap_items.new('btool.to_mesh', 'NUMPAD_ENTER', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.brush_to_mesh', 'NUMPAD_ENTER', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.direct_slice', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.direct_intersect', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.direct_difference', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.direct_union', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.boolean_slice', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_inters', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_diff', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_union', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.call_menu', 'B', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'OBJECT_MT_BoolTool_Menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_copypopup')
kmi = km.keymap_items.new('btool.to_mesh', 'NUMPAD_ENTER', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.brush_to_mesh', 'NUMPAD_ENTER', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.direct_slice', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.direct_intersect', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.direct_difference', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.direct_union', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.boolean_slice', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_inters', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_diff', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_union', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.call_menu', 'B', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'OBJECT_MT_BoolTool_Menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_copypopup')
kmi = km.keymap_items.new('btool.to_mesh', 'NUMPAD_ENTER', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.brush_to_mesh', 'NUMPAD_ENTER', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.direct_slice', 'NUMPAD_SLASH', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.direct_intersect', 'NUMPAD_ASTERIX', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.direct_difference', 'NUMPAD_MINUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.direct_union', 'NUMPAD_PLUS', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('btool.boolean_slice', 'NUMPAD_SLASH', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_inters', 'NUMPAD_ASTERIX', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_diff', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('btool.boolean_union', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.call_menu', 'B', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'OBJECT_MT_BoolTool_Menu')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_copypopup')
kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.proportional_edit_falloff')
kmi_props_setattr(kmi.properties, 'wrap', True)
kmi = km.keymap_items.new('wm.context_toggle', 'O', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.use_proportional_edit_objects')
kmi = km.keymap_items.new('view3d.game_start', 'P', 'PRESS')
kmi = km.keymap_items.new('object.select_all', 'A', 'PRESS')
kmi_props_setattr(kmi.properties, 'action', 'TOGGLE')
kmi = km.keymap_items.new('object.select_all', 'I', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'action', 'INVERT')
kmi = km.keymap_items.new('object.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('object.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('object.select_linked', 'L', 'PRESS', shift=True)
kmi = km.keymap_items.new('object.select_grouped', 'G', 'PRESS', shift=True)
kmi = km.keymap_items.new('object.select_mirror', 'M', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('object.select_hierarchy', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'direction', 'PARENT')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('object.select_hierarchy', 'LEFT_BRACKET', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'direction', 'PARENT')
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('object.select_hierarchy', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'direction', 'CHILD')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('object.select_hierarchy', 'RIGHT_BRACKET', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'direction', 'CHILD')
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('object.parent_set', 'P', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('object.parent_no_inverse_set', 'P', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('object.parent_clear', 'P', 'PRESS', alt=True)
kmi = km.keymap_items.new('object.track_set', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('object.track_clear', 'T', 'PRESS', alt=True)
kmi = km.keymap_items.new('object.constraint_add_with_targets', 'C', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('object.constraints_clear', 'C', 'PRESS', ctrl=True, alt=True)
kmi = km.keymap_items.new('object.location_clear', 'G', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'clear_delta', False)
kmi = km.keymap_items.new('object.rotation_clear', 'R', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'clear_delta', False)
kmi = km.keymap_items.new('object.scale_clear', 'S', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'clear_delta', False)
kmi = km.keymap_items.new('object.location_clear', 'G', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'clear_delta', True)
kmi = km.keymap_items.new('object.rotation_clear', 'R', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'clear_delta', True)
kmi = km.keymap_items.new('object.scale_clear', 'S', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'clear_delta', True)
kmi = km.keymap_items.new('object.origin_clear', 'O', 'PRESS', alt=True)
kmi = km.keymap_items.new('object.hide_view_clear', 'H', 'PRESS', alt=True)
kmi = km.keymap_items.new('object.hide_view_set', 'H', 'PRESS')
kmi_props_setattr(kmi.properties, 'unselected', False)
kmi = km.keymap_items.new('object.hide_view_set', 'H', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'unselected', True)
kmi = km.keymap_items.new('object.hide_render_clear', 'H', 'PRESS', ctrl=True, alt=True)
kmi = km.keymap_items.new('object.hide_render_set', 'H', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('object.move_to_layer', 'M', 'PRESS')
kmi = km.keymap_items.new('object.delete', 'X', 'PRESS')
kmi_props_setattr(kmi.properties, 'use_global', False)
kmi = km.keymap_items.new('object.delete', 'X', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'use_global', True)
kmi = km.keymap_items.new('object.delete', 'DEL', 'PRESS')
kmi_props_setattr(kmi.properties, 'use_global', False)
kmi = km.keymap_items.new('object.delete', 'DEL', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'use_global', True)
kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'INFO_MT_add')
kmi = km.keymap_items.new('object.duplicates_make_real', 'A', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_object_apply')
kmi = km.keymap_items.new('wm.call_menu', 'U', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_make_single_user')
kmi = km.keymap_items.new('wm.call_menu', 'L', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_make_links')
kmi = km.keymap_items.new('object.duplicate_move', 'D', 'PRESS', shift=True)
kmi = km.keymap_items.new('object.duplicate_move_linked', 'D', 'PRESS', alt=True)
kmi = km.keymap_items.new('object.join', 'J', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('object.convert', 'C', 'PRESS', alt=True)
kmi = km.keymap_items.new('object.proxy_make', 'P', 'PRESS', ctrl=True, alt=True)
kmi = km.keymap_items.new('object.make_local', 'L', 'PRESS')
kmi = km.keymap_items.new('anim.keyframe_insert_menu', 'I', 'PRESS')
kmi = km.keymap_items.new('anim.keyframe_delete_v3d', 'I', 'PRESS', alt=True)
kmi = km.keymap_items.new('anim.keying_set_active_set', 'I', 'PRESS', shift=True, ctrl=True, alt=True)
kmi = km.keymap_items.new('group.create', 'G', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('group.objects_remove', 'G', 'PRESS', ctrl=True, alt=True)
kmi = km.keymap_items.new('group.objects_remove_all', 'G', 'PRESS', shift=True, ctrl=True, alt=True)
kmi = km.keymap_items.new('group.objects_add_active', 'G', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('group.objects_remove_active', 'G', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_object_specials')
kmi = km.keymap_items.new('object.data_transfer', 'T', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('object.subdivision_set', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'level', 0)
kmi = km.keymap_items.new('object.subdivision_set', 'ONE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'level', 1)
kmi = km.keymap_items.new('object.subdivision_set', 'TWO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'level', 2)
kmi = km.keymap_items.new('object.subdivision_set', 'THREE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'level', 3)
kmi = km.keymap_items.new('object.subdivision_set', 'FOUR', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'level', 4)
kmi = km.keymap_items.new('object.subdivision_set', 'FIVE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'level', 5)
kmi = km.keymap_items.new('object.amth_wire_toggle', 'F4', 'PRESS')
kmi = km.keymap_items.new('object.amth_wire_toggle', 'F5', 'PRESS')

# Map Curve
km = kc.keymaps.new('Curve', space_type='EMPTY', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'INFO_MT_edit_curve_add')
kmi = km.keymap_items.new('curve.handle_type_set', 'V', 'PRESS')
kmi = km.keymap_items.new('curve.vertex_add', 'ACTIONMOUSE', 'CLICK', ctrl=True)
kmi = km.keymap_items.new('curve.draw', 'ACTIONMOUSE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'wait_for_input', False)
kmi = km.keymap_items.new('curve.select_all', 'A', 'PRESS')
kmi_props_setattr(kmi.properties, 'action', 'TOGGLE')
kmi = km.keymap_items.new('curve.select_all', 'I', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'action', 'INVERT')
kmi = km.keymap_items.new('curve.select_row', 'R', 'PRESS', shift=True)
kmi = km.keymap_items.new('curve.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('curve.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('curve.select_linked', 'L', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('curve.select_similar', 'G', 'PRESS', shift=True)
kmi = km.keymap_items.new('curve.select_linked_pick', 'L', 'PRESS')
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi = km.keymap_items.new('curve.select_linked_pick', 'L', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'deselect', True)
kmi = km.keymap_items.new('curve.shortest_path_pick', 'SELECTMOUSE', 'CLICK', ctrl=True)
kmi = km.keymap_items.new('curve.separate', 'P', 'PRESS')
kmi = km.keymap_items.new('curve.split', 'Y', 'PRESS')
kmi = km.keymap_items.new('curve.extrude_move', 'E', 'PRESS')
kmi = km.keymap_items.new('curve.duplicate_move', 'D', 'PRESS', shift=True)
kmi = km.keymap_items.new('curve.make_segment', 'F', 'PRESS')
kmi = km.keymap_items.new('curve.cyclic_toggle', 'C', 'PRESS', alt=True)
kmi = km.keymap_items.new('wm.call_menu', 'X', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_edit_curve_delete')
kmi = km.keymap_items.new('wm.call_menu', 'DEL', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_edit_curve_delete')
kmi = km.keymap_items.new('curve.dissolve_verts', 'X', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('curve.dissolve_verts', 'DEL', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('curve.tilt_clear', 'T', 'PRESS', alt=True)
kmi = km.keymap_items.new('transform.tilt', 'T', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('transform.transform', 'S', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'CURVE_SHRINKFATTEN')
kmi = km.keymap_items.new('curve.reveal', 'H', 'PRESS', alt=True)
kmi = km.keymap_items.new('curve.hide', 'H', 'PRESS')
kmi_props_setattr(kmi.properties, 'unselected', False)
kmi = km.keymap_items.new('curve.hide', 'H', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'unselected', True)
kmi = km.keymap_items.new('curve.normals_make_consistent', 'N', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('object.vertex_parent_set', 'P', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_edit_curve_specials')
kmi = km.keymap_items.new('wm.call_menu', 'H', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_hook')
kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.proportional_edit_falloff')
kmi_props_setattr(kmi.properties, 'wrap', True)
kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.proportional_edit')
kmi_props_setattr(kmi.properties, 'value_1', 'DISABLED')
kmi_props_setattr(kmi.properties, 'value_2', 'ENABLED')
kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.proportional_edit')
kmi_props_setattr(kmi.properties, 'value_1', 'DISABLED')
kmi_props_setattr(kmi.properties, 'value_2', 'CONNECTED')

# Map Mesh
km = kc.keymaps.new('Mesh', space_type='EMPTY', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'MESH_MT_CopyFaceSettings')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'MESH_MT_CopyFaceSettings')
kmi = km.keymap_items.new('mesh.f2', 'F', 'PRESS')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'MESH_MT_CopyFaceSettings')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'MESH_MT_CopyFaceSettings')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'MESH_MT_CopyFaceSettings')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'MESH_MT_CopyFaceSettings')
kmi = km.keymap_items.new('mesh.f2', 'F', 'PRESS')
kmi = km.keymap_items.new('mesh.f2', 'F', 'PRESS')
kmi = km.keymap_items.new('wm.call_menu_pie', 'X', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'pie.delete')
kmi.active = False
kmi = km.keymap_items.new('mesh.loopcut_slide', 'R', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('mesh.inset', 'I', 'PRESS')
kmi = km.keymap_items.new('mesh.poke', 'P', 'PRESS', alt=True)
kmi = km.keymap_items.new('mesh.bevel', 'B', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'vertex_only', False)
kmi = km.keymap_items.new('mesh.bevel', 'B', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'vertex_only', True)
kmi = km.keymap_items.new('mesh.loop_select', 'SELECTMOUSE', 'DOUBLE_CLICK', alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi_props_setattr(kmi.properties, 'toggle', False)
kmi = km.keymap_items.new('mesh.loop_select', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi_props_setattr(kmi.properties, 'toggle', True)
kmi = km.keymap_items.new('mesh.edgering_select', 'SELECTMOUSE', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi_props_setattr(kmi.properties, 'toggle', False)
kmi = km.keymap_items.new('mesh.edgering_select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi_props_setattr(kmi.properties, 'toggle', True)
kmi = km.keymap_items.new('mesh.shortest_path_pick', 'SELECTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('mesh.select_all', 'A', 'PRESS')
kmi_props_setattr(kmi.properties, 'action', 'TOGGLE')
kmi = km.keymap_items.new('mesh.select_all', 'I', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'action', 'INVERT')
kmi = km.keymap_items.new('mesh.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('mesh.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('mesh.select_non_manifold', 'M', 'PRESS', shift=True, ctrl=True, alt=True)
kmi = km.keymap_items.new('mesh.select_linked', 'L', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('mesh.select_linked_pick', 'L', 'PRESS')
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi = km.keymap_items.new('mesh.select_linked_pick', 'L', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'deselect', True)
kmi = km.keymap_items.new('mesh.faces_select_linked_flat', 'F', 'PRESS', shift=True, ctrl=True, alt=True)
kmi = km.keymap_items.new('mesh.select_similar', 'G', 'PRESS', shift=True)
kmi = km.keymap_items.new('wm.call_menu', 'TAB', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_edit_mesh_select_mode')
kmi = km.keymap_items.new('mesh.hide', 'H', 'PRESS')
kmi_props_setattr(kmi.properties, 'unselected', False)
kmi = km.keymap_items.new('mesh.hide', 'H', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'unselected', True)
kmi = km.keymap_items.new('mesh.reveal', 'H', 'PRESS', alt=True)
kmi = km.keymap_items.new('mesh.normals_make_consistent', 'N', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'inside', False)
kmi = km.keymap_items.new('mesh.normals_make_consistent', 'N', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'inside', True)
kmi = km.keymap_items.new('view3d.edit_mesh_extrude_move_normal', 'E', 'PRESS')
kmi = km.keymap_items.new('wm.call_menu', 'E', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_edit_mesh_extrude')
kmi = km.keymap_items.new('transform.edge_crease', 'E', 'PRESS', shift=True)
kmi = km.keymap_items.new('mesh.spin', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('mesh.fill', 'F', 'PRESS')
kmi = km.keymap_items.new('mesh.beautify_fill', 'F', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('mesh.quads_convert_to_tris', 'T', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'quad_method', 'BEAUTY')
kmi_props_setattr(kmi.properties, 'ngon_method', 'BEAUTY')
kmi = km.keymap_items.new('mesh.quads_convert_to_tris', 'T', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'quad_method', 'FIXED')
kmi_props_setattr(kmi.properties, 'ngon_method', 'CLIP')
kmi = km.keymap_items.new('mesh.tris_convert_to_quads', 'J', 'PRESS', alt=True)
kmi = km.keymap_items.new('mesh.rip_move', 'V', 'PRESS')
kmi = km.keymap_items.new('mesh.rip_move_fill', 'V', 'PRESS', alt=True)
kmi = km.keymap_items.new('mesh.rip_edge_move', 'D', 'PRESS', alt=True)
kmi = km.keymap_items.new('mesh.merge', 'M', 'PRESS', alt=True)
kmi = km.keymap_items.new('transform.shrink_fatten', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('mesh.duplicate_move', 'D', 'PRESS', shift=True)
kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'INFO_MT_mesh_add')
kmi = km.keymap_items.new('mesh.separate', 'P', 'PRESS')
kmi = km.keymap_items.new('mesh.split', 'Y', 'PRESS')
kmi = km.keymap_items.new('mesh.vert_connect', 'J', 'PRESS')
kmi = km.keymap_items.new('transform.vert_slide', 'V', 'PRESS', shift=True)
kmi = km.keymap_items.new('mesh.dupli_extrude_cursor', 'ACTIONMOUSE', 'CLICK', ctrl=True)
kmi_props_setattr(kmi.properties, 'rotate_source', True)
kmi = km.keymap_items.new('mesh.dupli_extrude_cursor', 'ACTIONMOUSE', 'CLICK', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'rotate_source', False)
kmi = km.keymap_items.new('wm.call_menu', 'X', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_edit_mesh_delete')
kmi = km.keymap_items.new('wm.call_menu', 'DEL', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_edit_mesh_delete')
kmi = km.keymap_items.new('mesh.dissolve_mode', 'X', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('mesh.dissolve_mode', 'DEL', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('mesh.knife_tool', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'use_occlude_geometry', True)
kmi_props_setattr(kmi.properties, 'only_selected', False)
kmi = km.keymap_items.new('mesh.knife_tool', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'use_occlude_geometry', False)
kmi_props_setattr(kmi.properties, 'only_selected', True)
kmi = km.keymap_items.new('object.vertex_parent_set', 'P', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_edit_mesh_specials')
kmi = km.keymap_items.new('wm.call_menu', 'F', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_edit_mesh_faces')
kmi = km.keymap_items.new('wm.call_menu', 'E', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_edit_mesh_edges')
kmi = km.keymap_items.new('wm.call_menu', 'V', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_edit_mesh_vertices')
kmi = km.keymap_items.new('wm.call_menu', 'H', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_hook')
kmi = km.keymap_items.new('wm.call_menu', 'U', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_uv_map')
kmi = km.keymap_items.new('wm.call_menu', 'G', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_vertex_group')
kmi = km.keymap_items.new('object.subdivision_set', 'ZERO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'level', 0)
kmi = km.keymap_items.new('object.subdivision_set', 'ONE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'level', 1)
kmi = km.keymap_items.new('object.subdivision_set', 'TWO', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'level', 2)
kmi = km.keymap_items.new('object.subdivision_set', 'THREE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'level', 3)
kmi = km.keymap_items.new('object.subdivision_set', 'FOUR', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'level', 4)
kmi = km.keymap_items.new('object.subdivision_set', 'FIVE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'level', 5)
kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.proportional_edit_falloff')
kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.proportional_edit')
kmi_props_setattr(kmi.properties, 'value_1', 'DISABLED')
kmi_props_setattr(kmi.properties, 'value_2', 'ENABLED')
kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.proportional_edit')
kmi_props_setattr(kmi.properties, 'value_1', 'DISABLED')
kmi_props_setattr(kmi.properties, 'value_2', 'CONNECTED')
kmi = km.keymap_items.new('wm.context_set_value', 'ONE', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.mesh_select_mode')
kmi_props_setattr(kmi.properties, 'value', 'True, False, False')
kmi = km.keymap_items.new('wm.context_set_value', 'TWO', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.mesh_select_mode')
kmi_props_setattr(kmi.properties, 'value', 'False, True, False')
kmi = km.keymap_items.new('wm.context_set_value', 'THREE', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.mesh_select_mode')
kmi_props_setattr(kmi.properties, 'value', 'False, False, True')
kmi = km.keymap_items.new('mesh.loop_multi_select', 'W', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'ring', False)
kmi = km.keymap_items.new('mesh.loop_multi_select', 'W', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'ring', True)

# Map 3D View
km = kc.keymaps.new('3D View', space_type='VIEW_3D', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('mesh.dissolve_contextual', 'X', 'PRESS')
kmi = km.keymap_items.new('view3d.screencast_keys', 'C', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('object.carver', 'X', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('view3d.show_only_render', 'Z', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('view3d.screencast_keys', 'C', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('object.carver', 'X', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('view3d.screencast_keys', 'C', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('object.carver', 'X', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('view3d.manipulator', 'LEFTMOUSE', 'PRESS', any=True)
kmi_props_setattr(kmi.properties, 'release_confirm', True)
kmi = km.keymap_items.new('view3d.cursor3d', 'ACTIONMOUSE', 'PRESS')
kmi = km.keymap_items.new('view3d.rotate', 'MIDDLEMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('view3d.move', 'MIDDLEMOUSE', 'PRESS')
kmi = km.keymap_items.new('view3d.zoom', 'MIDDLEMOUSE', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('view3d.dolly', 'MIDDLEMOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('view3d.view_selected', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'use_all_regions', True)
kmi = km.keymap_items.new('view3d.view_selected', 'Z', 'PRESS')
kmi_props_setattr(kmi.properties, 'use_all_regions', False)
kmi = km.keymap_items.new('view3d.view_lock_to_active', 'NUMPAD_PERIOD', 'PRESS', shift=True)
kmi = km.keymap_items.new('view3d.view_lock_clear', 'NUMPAD_PERIOD', 'PRESS', alt=True)
kmi = km.keymap_items.new('view3d.navigate', 'F', 'PRESS', shift=True)
kmi = km.keymap_items.new('view3d.smoothview', 'TIMER1', 'ANY', any=True)
kmi = km.keymap_items.new('view3d.rotate', 'TRACKPADPAN', 'ANY')
kmi = km.keymap_items.new('view3d.rotate', 'MOUSEROTATE', 'ANY')
kmi = km.keymap_items.new('view3d.move', 'TRACKPADPAN', 'ANY', shift=True)
kmi = km.keymap_items.new('view3d.zoom', 'TRACKPADZOOM', 'ANY')
kmi = km.keymap_items.new('view3d.zoom', 'TRACKPADPAN', 'ANY', ctrl=True)
kmi = km.keymap_items.new('view3d.zoom', 'NUMPAD_PLUS', 'PRESS')
kmi_props_setattr(kmi.properties, 'delta', 1)
kmi = km.keymap_items.new('view3d.zoom', 'NUMPAD_MINUS', 'PRESS')
kmi_props_setattr(kmi.properties, 'delta', -1)
kmi = km.keymap_items.new('view3d.zoom', 'EQUAL', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'delta', 1)
kmi = km.keymap_items.new('view3d.zoom', 'MINUS', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'delta', -1)
kmi = km.keymap_items.new('view3d.zoom', 'WHEELINMOUSE', 'PRESS')
kmi_props_setattr(kmi.properties, 'delta', 1)
kmi = km.keymap_items.new('view3d.zoom', 'WHEELOUTMOUSE', 'PRESS')
kmi_props_setattr(kmi.properties, 'delta', -1)
kmi = km.keymap_items.new('view3d.dolly', 'NUMPAD_PLUS', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'delta', 1)
kmi = km.keymap_items.new('view3d.dolly', 'NUMPAD_MINUS', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'delta', -1)
kmi = km.keymap_items.new('view3d.dolly', 'EQUAL', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'delta', 1)
kmi = km.keymap_items.new('view3d.dolly', 'MINUS', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'delta', -1)
kmi = km.keymap_items.new('view3d.zoom_camera_1_to_1', 'NUMPAD_ENTER', 'PRESS', shift=True)
kmi = km.keymap_items.new('view3d.view_center_camera', 'HOME', 'PRESS')
kmi = km.keymap_items.new('view3d.view_center_lock', 'HOME', 'PRESS')
kmi = km.keymap_items.new('view3d.view_center_cursor', 'HOME', 'PRESS', alt=True)
kmi = km.keymap_items.new('view3d.view_center_pick', 'F', 'PRESS', alt=True)
kmi = km.keymap_items.new('view3d.view_all', 'HOME', 'PRESS')
kmi_props_setattr(kmi.properties, 'center', False)
kmi = km.keymap_items.new('view3d.view_all', 'HOME', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'use_all_regions', True)
kmi_props_setattr(kmi.properties, 'center', False)
kmi = km.keymap_items.new('view3d.view_all', 'C', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'center', True)
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_0', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'CAMERA')
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'FRONT')
kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_2', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'ORBITDOWN')
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'RIGHT')
kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_4', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'ORBITLEFT')
kmi = km.keymap_items.new('view3d.view_persportho', 'NUMPAD_5', 'PRESS')
kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_6', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'ORBITRIGHT')
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_7', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'TOP')
kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_8', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'ORBITUP')
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'type', 'BACK')
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'type', 'LEFT')
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_7', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'type', 'BOTTOM')
kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_4', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'type', 'PANLEFT')
kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_6', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'type', 'PANRIGHT')
kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_8', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'type', 'PANUP')
kmi = km.keymap_items.new('view3d.view_roll', 'NUMPAD_4', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'angle', -0.2617993950843811)
kmi = km.keymap_items.new('view3d.view_roll', 'NUMPAD_6', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'angle', 0.2617993950843811)
kmi = km.keymap_items.new('view3d.view_pan', 'WHEELUPMOUSE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'type', 'PANRIGHT')
kmi = km.keymap_items.new('view3d.view_pan', 'WHEELDOWNMOUSE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'type', 'PANLEFT')
kmi = km.keymap_items.new('view3d.view_pan', 'WHEELUPMOUSE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'type', 'PANUP')
kmi = km.keymap_items.new('view3d.view_pan', 'WHEELDOWNMOUSE', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'PANDOWN')
kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELUPMOUSE', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'type', 'ORBITLEFT')
kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELDOWNMOUSE', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'type', 'ORBITRIGHT')
kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELUPMOUSE', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'type', 'ORBITUP')
kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELDOWNMOUSE', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'type', 'ORBITDOWN')
kmi = km.keymap_items.new('view3d.view_roll', 'WHEELUPMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'angle', -0.2617993950843811)
kmi = km.keymap_items.new('view3d.view_roll', 'WHEELDOWNMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'angle', 0.2617993950843811)
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'type', 'FRONT')
kmi_props_setattr(kmi.properties, 'align_active', True)
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'type', 'RIGHT')
kmi_props_setattr(kmi.properties, 'align_active', True)
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_7', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'type', 'TOP')
kmi_props_setattr(kmi.properties, 'align_active', True)
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'type', 'BACK')
kmi_props_setattr(kmi.properties, 'align_active', True)
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'type', 'LEFT')
kmi_props_setattr(kmi.properties, 'align_active', True)
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_7', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'type', 'BOTTOM')
kmi_props_setattr(kmi.properties, 'align_active', True)
kmi = km.keymap_items.new('view3d.localview', 'Q', 'PRESS', alt=True)
kmi = km.keymap_items.new('view3d.ndof_orbit_zoom', 'NDOF_MOTION', 'ANY')
kmi = km.keymap_items.new('view3d.ndof_orbit', 'NDOF_MOTION', 'ANY', ctrl=True)
kmi = km.keymap_items.new('view3d.ndof_pan', 'NDOF_MOTION', 'ANY', shift=True)
kmi = km.keymap_items.new('view3d.ndof_all', 'NDOF_MOTION', 'ANY', shift=True, ctrl=True)
kmi = km.keymap_items.new('view3d.view_selected', 'NDOF_BUTTON_FIT', 'PRESS')
kmi_props_setattr(kmi.properties, 'use_all_regions', False)
kmi = km.keymap_items.new('view3d.view_roll', 'NDOF_BUTTON_ROLL_CCW', 'PRESS')
kmi_props_setattr(kmi.properties, 'angle', -1.5707963705062866)
kmi = km.keymap_items.new('view3d.view_roll', 'NDOF_BUTTON_ROLL_CW', 'PRESS')
kmi_props_setattr(kmi.properties, 'angle', 1.5707963705062866)
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_FRONT', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'FRONT')
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_BACK', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'BACK')
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_LEFT', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'LEFT')
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_RIGHT', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'RIGHT')
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_TOP', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'TOP')
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_BOTTOM', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'BOTTOM')
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_FRONT', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'type', 'FRONT')
kmi_props_setattr(kmi.properties, 'align_active', True)
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_RIGHT', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'type', 'RIGHT')
kmi_props_setattr(kmi.properties, 'align_active', True)
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_TOP', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'type', 'TOP')
kmi_props_setattr(kmi.properties, 'align_active', True)
kmi = km.keymap_items.new('view3d.layers', 'ACCENT_GRAVE', 'PRESS')
kmi_props_setattr(kmi.properties, 'nr', 0)
kmi = km.keymap_items.new('view3d.layers', 'ONE', 'PRESS', any=True)
kmi_props_setattr(kmi.properties, 'nr', 1)
kmi = km.keymap_items.new('view3d.layers', 'TWO', 'PRESS', any=True)
kmi_props_setattr(kmi.properties, 'nr', 2)
kmi = km.keymap_items.new('view3d.layers', 'THREE', 'PRESS', any=True)
kmi_props_setattr(kmi.properties, 'nr', 3)
kmi = km.keymap_items.new('view3d.layers', 'FOUR', 'PRESS', any=True)
kmi_props_setattr(kmi.properties, 'nr', 4)
kmi = km.keymap_items.new('view3d.layers', 'FIVE', 'PRESS', any=True)
kmi_props_setattr(kmi.properties, 'nr', 5)
kmi = km.keymap_items.new('view3d.layers', 'SIX', 'PRESS', any=True)
kmi_props_setattr(kmi.properties, 'nr', 6)
kmi = km.keymap_items.new('view3d.layers', 'SEVEN', 'PRESS', any=True)
kmi_props_setattr(kmi.properties, 'nr', 7)
kmi = km.keymap_items.new('view3d.layers', 'EIGHT', 'PRESS', any=True)
kmi_props_setattr(kmi.properties, 'nr', 8)
kmi = km.keymap_items.new('view3d.layers', 'NINE', 'PRESS', any=True)
kmi_props_setattr(kmi.properties, 'nr', 9)
kmi = km.keymap_items.new('view3d.layers', 'ZERO', 'PRESS', any=True)
kmi_props_setattr(kmi.properties, 'nr', 10)
kmi = km.keymap_items.new('wm.context_toggle_enum', 'BACK_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.viewport_shade')
kmi_props_setattr(kmi.properties, 'value_1', 'WIREFRAME')
kmi_props_setattr(kmi.properties, 'value_2', 'SOLID')
kmi = km.keymap_items.new('wm.context_toggle_enum', 'Z', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.viewport_shade')
kmi_props_setattr(kmi.properties, 'value_1', 'SOLID')
kmi_props_setattr(kmi.properties, 'value_2', 'TEXTURED')
kmi = km.keymap_items.new('wm.context_toggle_enum', 'Z', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.viewport_shade')
kmi_props_setattr(kmi.properties, 'value_1', 'SOLID')
kmi_props_setattr(kmi.properties, 'value_2', 'RENDERED')
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi_props_setattr(kmi.properties, 'toggle', False)
kmi_props_setattr(kmi.properties, 'center', False)
kmi_props_setattr(kmi.properties, 'enumerate', False)
kmi_props_setattr(kmi.properties, 'object', False)
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi_props_setattr(kmi.properties, 'toggle', True)
kmi_props_setattr(kmi.properties, 'center', False)
kmi_props_setattr(kmi.properties, 'enumerate', False)
kmi_props_setattr(kmi.properties, 'object', False)
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi_props_setattr(kmi.properties, 'toggle', False)
kmi_props_setattr(kmi.properties, 'center', True)
kmi_props_setattr(kmi.properties, 'enumerate', False)
kmi_props_setattr(kmi.properties, 'object', True)
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi_props_setattr(kmi.properties, 'toggle', False)
kmi_props_setattr(kmi.properties, 'center', False)
kmi_props_setattr(kmi.properties, 'enumerate', True)
kmi_props_setattr(kmi.properties, 'object', False)
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi_props_setattr(kmi.properties, 'toggle', True)
kmi_props_setattr(kmi.properties, 'center', True)
kmi_props_setattr(kmi.properties, 'enumerate', False)
kmi_props_setattr(kmi.properties, 'object', False)
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi_props_setattr(kmi.properties, 'toggle', False)
kmi_props_setattr(kmi.properties, 'center', True)
kmi_props_setattr(kmi.properties, 'enumerate', True)
kmi_props_setattr(kmi.properties, 'object', False)
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi_props_setattr(kmi.properties, 'toggle', True)
kmi_props_setattr(kmi.properties, 'center', False)
kmi_props_setattr(kmi.properties, 'enumerate', True)
kmi_props_setattr(kmi.properties, 'object', False)
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi_props_setattr(kmi.properties, 'toggle', True)
kmi_props_setattr(kmi.properties, 'center', True)
kmi_props_setattr(kmi.properties, 'enumerate', True)
kmi_props_setattr(kmi.properties, 'object', False)
kmi = km.keymap_items.new('view3d.select_border', 'B', 'PRESS')
kmi = km.keymap_items.new('view3d.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi = km.keymap_items.new('view3d.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'deselect', True)
kmi = km.keymap_items.new('view3d.select_circle', 'C', 'PRESS')
kmi = km.keymap_items.new('view3d.clip_border', 'B', 'PRESS', alt=True)
kmi = km.keymap_items.new('view3d.zoom_border', 'B', 'PRESS', shift=True)
kmi = km.keymap_items.new('view3d.render_border', 'B', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'camera_only', True)
kmi = km.keymap_items.new('view3d.render_border', 'B', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'camera_only', False)
kmi = km.keymap_items.new('view3d.clear_render_border', 'B', 'PRESS', ctrl=True, alt=True)
kmi = km.keymap_items.new('view3d.camera_to_view', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
kmi = km.keymap_items.new('view3d.object_as_camera', 'NUMPAD_0', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_snap')
kmi = km.keymap_items.new('view3d.copybuffer', 'C', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('view3d.pastebuffer', 'V', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.context_set_enum', 'COMMA', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'BOUNDING_BOX_CENTER')
kmi = km.keymap_items.new('wm.context_set_enum', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'MEDIAN_POINT')
kmi = km.keymap_items.new('wm.context_toggle', 'COMMA', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.use_pivot_point_align')
kmi = km.keymap_items.new('wm.context_toggle', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.show_manipulator')
kmi = km.keymap_items.new('wm.context_set_enum', 'Z', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'CURSOR')
kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'INDIVIDUAL_ORIGINS')
kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'ACTIVE_ELEMENT')
kmi = km.keymap_items.new('transform.translate', 'G', 'PRESS')
kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')
kmi = km.keymap_items.new('transform.rotate', 'R', 'PRESS')
kmi = km.keymap_items.new('transform.resize', 'S', 'PRESS')
kmi = km.keymap_items.new('transform.bend', 'W', 'PRESS', shift=True)
kmi = km.keymap_items.new('transform.tosphere', 'S', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('transform.shear', 'S', 'PRESS', shift=True, ctrl=True, alt=True)
kmi = km.keymap_items.new('transform.select_orientation', 'SPACE', 'PRESS', alt=True)
kmi = km.keymap_items.new('transform.create_orientation', 'SPACE', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'use', True)
kmi = km.keymap_items.new('transform.mirror', 'M', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.context_toggle', 'TAB', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.use_snap')
kmi = km.keymap_items.new('wm.context_menu_enum', 'TAB', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.snap_element')
kmi = km.keymap_items.new('transform.translate', 'T', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'texture_space', True)
kmi = km.keymap_items.new('transform.resize', 'T', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'texture_space', True)
kmi = km.keymap_items.new('transform.skin_resize', 'A', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.context_toggle_enum', 'BACK_SLASH', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.viewport_shade')
kmi_props_setattr(kmi.properties, 'value_1', 'MATERIAL')
kmi_props_setattr(kmi.properties, 'value_2', 'TEXTURED')
kmi = km.keymap_items.new('view3d.zoom', 'MIDDLEMOUSE', 'PRESS', shift=True)

# Map View2D Buttons List
km = kc.keymaps.new('View2D Buttons List', space_type='EMPTY', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('view2d.scroller_activate', 'LEFTMOUSE', 'PRESS')
kmi = km.keymap_items.new('view2d.scroller_activate', 'MIDDLEMOUSE', 'PRESS')
kmi = km.keymap_items.new('view2d.pan', 'MIDDLEMOUSE', 'PRESS')
kmi = km.keymap_items.new('view2d.pan', 'TRACKPADPAN', 'ANY')
kmi = km.keymap_items.new('view2d.scroll_down', 'WHEELDOWNMOUSE', 'PRESS')
kmi = km.keymap_items.new('view2d.scroll_up', 'WHEELUPMOUSE', 'PRESS')
kmi = km.keymap_items.new('view2d.scroll_down', 'PAGE_DOWN', 'PRESS')
kmi_props_setattr(kmi.properties, 'page', True)
kmi = km.keymap_items.new('view2d.scroll_up', 'PAGE_UP', 'PRESS')
kmi_props_setattr(kmi.properties, 'page', True)
kmi = km.keymap_items.new('view2d.zoom', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi.active = False
kmi = km.keymap_items.new('view2d.zoom_out', 'NUMPAD_MINUS', 'PRESS')
kmi = km.keymap_items.new('view2d.zoom_in', 'NUMPAD_PLUS', 'PRESS')
kmi = km.keymap_items.new('view2d.reset', 'HOME', 'PRESS')

# Map Property Editor
km = kc.keymaps.new('Property Editor', space_type='PROPERTIES', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('buttons.toolbox', 'RIGHTMOUSE', 'PRESS')
kmi = km.keymap_items.new('wm.context_set_enum', 'BACK_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'area.type')
kmi_props_setattr(kmi.properties, 'value', 'OUTLINER')

# Map Grease Pencil
km = kc.keymaps.new('Grease Pencil', space_type='EMPTY', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('gpencil.draw', 'LEFTMOUSE', 'PRESS', key_modifier='D')
kmi_props_setattr(kmi.properties, 'mode', 'DRAW')
kmi_props_setattr(kmi.properties, 'wait_for_input', False)
kmi = km.keymap_items.new('gpencil.draw', 'LEFTMOUSE', 'PRESS', ctrl=True, key_modifier='D')
kmi_props_setattr(kmi.properties, 'mode', 'DRAW_STRAIGHT')
kmi_props_setattr(kmi.properties, 'wait_for_input', False)
kmi = km.keymap_items.new('gpencil.draw', 'RIGHTMOUSE', 'PRESS', ctrl=True, key_modifier='D')
kmi_props_setattr(kmi.properties, 'mode', 'DRAW_POLY')
kmi_props_setattr(kmi.properties, 'wait_for_input', False)
kmi = km.keymap_items.new('gpencil.draw', 'RIGHTMOUSE', 'PRESS', key_modifier='D')
kmi_props_setattr(kmi.properties, 'mode', 'ERASER')
kmi_props_setattr(kmi.properties, 'wait_for_input', False)
kmi = km.keymap_items.new('gpencil.draw', 'ERASER', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'ERASER')
kmi_props_setattr(kmi.properties, 'wait_for_input', False)
kmi = km.keymap_items.new('gpencil.editmode_toggle', 'TAB', 'PRESS', key_modifier='D')
kmi = km.keymap_items.new('wm.call_menu_pie', 'Q', 'PRESS', key_modifier='D')
kmi_props_setattr(kmi.properties, 'name', 'GPENCIL_PIE_tool_palette')
kmi.active = False
kmi = km.keymap_items.new('wm.call_menu_pie', 'W', 'PRESS', key_modifier='D')
kmi_props_setattr(kmi.properties, 'name', 'GPENCIL_PIE_settings_palette')
kmi.active = False
kmi = km.keymap_items.new('gpencil.active_frames_delete_all', 'X', 'PRESS', key_modifier='D')

# Map Object Non-modal
km = kc.keymaps.new('Object Non-modal', space_type='EMPTY', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('object.mode_set', 'F4', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'TEXTURE_PAINT')
kmi_props_setattr(kmi.properties, 'toggle', True)
kmi = km.keymap_items.new('object.mode_set', 'F3', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'SCULPT')
kmi_props_setattr(kmi.properties, 'toggle', True)
kmi = km.keymap_items.new('wm.call_menu_pie', 'TAB', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_PIE_snap')
kmi.active = False
kmi = km.keymap_items.new('wm.call_menu_pie', 'Q', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_PIE_pivot')
kmi.active = False
kmi = km.keymap_items.new('wm.call_menu_pie', 'SPACE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_PIE_manipulator')
kmi.active = False
kmi = km.keymap_items.new('wm.call_menu_pie', 'Q', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_PIE_view')
kmi.active = False
kmi = km.keymap_items.new('wm.call_menu_pie', 'Z', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_PIE_shade')
kmi.active = False
kmi = km.keymap_items.new('wm.call_menu_pie', 'TAB', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_PIE_object_mode')
kmi.active = False
kmi = km.keymap_items.new('object.mode_set', 'TAB', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'EDIT')
kmi_props_setattr(kmi.properties, 'toggle', True)
kmi = km.keymap_items.new('object.mode_set', 'TAB', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'OBJECT')
kmi_props_setattr(kmi.properties, 'toggle', True)
kmi = km.keymap_items.new('object.mode_set', 'V', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'OBJECT')
kmi_props_setattr(kmi.properties, 'toggle', True)
kmi = km.keymap_items.new('object.mode_set', 'TAB', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'OBJECT')
kmi_props_setattr(kmi.properties, 'toggle', True)
kmi = km.keymap_items.new('object.origin_set', 'C', 'PRESS', shift=True, ctrl=True, alt=True)

# Map UV Editor
km = kc.keymaps.new('UV Editor', space_type='EMPTY', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('jimmy.uv_select_sync_toggle', 'Q', 'PRESS')
kmi = km.keymap_items.new('jimmy.uv_select_sync_toggle', 'Q', 'PRESS')
kmi = km.keymap_items.new('jimmy.uv_select_sync_toggle', 'Q', 'PRESS')
kmi = km.keymap_items.new('jimmy.uv_select_sync_toggle', 'Q', 'PRESS')
kmi = km.keymap_items.new('jimmy.uv_select_sync_toggle', 'Q', 'PRESS')
kmi = km.keymap_items.new('wm.context_toggle', 'Q', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.use_uv_sculpt')
kmi = km.keymap_items.new('uv.mark_seam', 'E', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('uv.select', 'SELECTMOUSE', 'PRESS')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('uv.select', 'SELECTMOUSE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('uv.select_loop', 'SELECTMOUSE', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('uv.select_loop', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('uv.select_split', 'Y', 'PRESS')
kmi = km.keymap_items.new('uv.select_border', 'B', 'PRESS')
kmi_props_setattr(kmi.properties, 'pinned', False)
kmi = km.keymap_items.new('uv.select_border', 'B', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'pinned', True)
kmi = km.keymap_items.new('uv.circle_select', 'C', 'PRESS')
kmi = km.keymap_items.new('uv.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi = km.keymap_items.new('uv.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'deselect', True)
kmi = km.keymap_items.new('uv.select_linked', 'L', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('uv.select_linked_pick', 'L', 'PRESS')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('uv.select_linked', 'L', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('uv.select_linked_pick', 'L', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('uv.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('uv.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('uv.select_all', 'A', 'PRESS')
kmi_props_setattr(kmi.properties, 'action', 'TOGGLE')
kmi = km.keymap_items.new('uv.select_all', 'I', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'action', 'INVERT')
kmi = km.keymap_items.new('uv.select_pinned', 'P', 'PRESS', shift=True)
kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'IMAGE_MT_uvs_weldalign')
kmi = km.keymap_items.new('uv.stitch', 'V', 'PRESS')
kmi = km.keymap_items.new('uv.pin', 'P', 'PRESS')
kmi_props_setattr(kmi.properties, 'clear', False)
kmi = km.keymap_items.new('uv.pin', 'P', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'clear', True)
kmi = km.keymap_items.new('uv.unwrap', 'E', 'PRESS')
kmi = km.keymap_items.new('uv.minimize_stretch', 'V', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('uv.pack_islands', 'P', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('uv.average_islands_scale', 'A', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('uv.hide', 'H', 'PRESS')
kmi_props_setattr(kmi.properties, 'unselected', False)
kmi = km.keymap_items.new('uv.hide', 'H', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'unselected', True)
kmi = km.keymap_items.new('uv.reveal', 'H', 'PRESS', alt=True)
kmi = km.keymap_items.new('uv.cursor_set', 'ACTIONMOUSE', 'PRESS')
kmi = km.keymap_items.new('uv.tile_set', 'ACTIONMOUSE', 'PRESS', shift=True)
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'IMAGE_MT_uvs_snap')
kmi = km.keymap_items.new('wm.call_menu', 'TAB', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'name', 'IMAGE_MT_uvs_select_mode')
kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.proportional_edit_falloff')
kmi_props_setattr(kmi.properties, 'wrap', True)
kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.proportional_edit')
kmi_props_setattr(kmi.properties, 'value_1', 'DISABLED')
kmi_props_setattr(kmi.properties, 'value_2', 'ENABLED')
kmi = km.keymap_items.new('transform.translate', 'G', 'PRESS')
kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')
kmi = km.keymap_items.new('transform.rotate', 'R', 'PRESS')
kmi = km.keymap_items.new('transform.resize', 'S', 'PRESS')
kmi = km.keymap_items.new('transform.shear', 'S', 'PRESS', shift=True, ctrl=True, alt=True)
kmi = km.keymap_items.new('transform.mirror', 'M', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.context_toggle', 'TAB', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.use_snap')
kmi = km.keymap_items.new('wm.context_menu_enum', 'TAB', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.snap_uv_element')
kmi = km.keymap_items.new('wm.context_set_value', 'A', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'uv_select_mode')

# Map Graph Editor
km = kc.keymaps.new('Graph Editor', space_type='GRAPH_EDITOR', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('graph.channels_isolate_and_frame', 'V', 'PRESS', shift=True)
kmi = km.keymap_items.new('wm.context_set_enum', 'TAB', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path', 'area.type')
kmi_props_setattr(kmi.properties, 'value', 'DOPESHEET_EDITOR')
kmi = km.keymap_items.new('graph.channels_isolate_and_frame', 'V', 'PRESS', shift=True)
kmi = km.keymap_items.new('wm.context_toggle', 'H', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.show_handles')
kmi = km.keymap_items.new('graph.cursor_set', 'ACTIONMOUSE', 'PRESS')
kmi = km.keymap_items.new('graph.clickselect', 'SELECTMOUSE', 'PRESS')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'column', False)
kmi_props_setattr(kmi.properties, 'curves', False)
kmi = km.keymap_items.new('graph.clickselect', 'SELECTMOUSE', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'column', True)
kmi_props_setattr(kmi.properties, 'curves', False)
kmi = km.keymap_items.new('graph.clickselect', 'SELECTMOUSE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi_props_setattr(kmi.properties, 'column', False)
kmi_props_setattr(kmi.properties, 'curves', False)
kmi = km.keymap_items.new('graph.clickselect', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi_props_setattr(kmi.properties, 'column', True)
kmi_props_setattr(kmi.properties, 'curves', False)
kmi = km.keymap_items.new('graph.clickselect', 'SELECTMOUSE', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'column', False)
kmi_props_setattr(kmi.properties, 'curves', True)
kmi = km.keymap_items.new('graph.clickselect', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi_props_setattr(kmi.properties, 'column', False)
kmi_props_setattr(kmi.properties, 'curves', True)
kmi = km.keymap_items.new('graph.select_leftright', 'SELECTMOUSE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'CHECK')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('graph.select_leftright', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'CHECK')
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('graph.select_leftright', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'LEFT')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('graph.select_leftright', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'RIGHT')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('graph.select_all_toggle', 'A', 'PRESS')
kmi_props_setattr(kmi.properties, 'invert', False)
kmi = km.keymap_items.new('graph.select_all_toggle', 'I', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'invert', True)
kmi = km.keymap_items.new('graph.select_border', 'B', 'PRESS')
kmi_props_setattr(kmi.properties, 'axis_range', False)
kmi_props_setattr(kmi.properties, 'include_handles', False)
kmi = km.keymap_items.new('graph.select_border', 'B', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'axis_range', True)
kmi_props_setattr(kmi.properties, 'include_handles', False)
kmi = km.keymap_items.new('graph.select_border', 'B', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'axis_range', False)
kmi_props_setattr(kmi.properties, 'include_handles', True)
kmi = km.keymap_items.new('graph.select_border', 'B', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'axis_range', True)
kmi_props_setattr(kmi.properties, 'include_handles', True)
kmi = km.keymap_items.new('graph.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi = km.keymap_items.new('graph.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'deselect', True)
kmi = km.keymap_items.new('graph.select_circle', 'C', 'PRESS')
kmi = km.keymap_items.new('graph.select_column', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'KEYS')
kmi = km.keymap_items.new('graph.select_column', 'K', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'CFRA')
kmi = km.keymap_items.new('graph.select_column', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'mode', 'MARKERS_COLUMN')
kmi = km.keymap_items.new('graph.select_column', 'K', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MARKERS_BETWEEN')
kmi = km.keymap_items.new('graph.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('graph.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('graph.select_linked', 'L', 'PRESS')
kmi = km.keymap_items.new('graph.frame_jump', 'G', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('graph.snap', 'S', 'PRESS', shift=True)
kmi = km.keymap_items.new('graph.mirror', 'M', 'PRESS', shift=True)
kmi = km.keymap_items.new('graph.handle_type', 'V', 'PRESS')
kmi = km.keymap_items.new('graph.interpolation_type', 'T', 'PRESS')
kmi = km.keymap_items.new('graph.easing_type', 'E', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('graph.smooth', 'O', 'PRESS', alt=True)
kmi = km.keymap_items.new('graph.sample', 'O', 'PRESS', shift=True)
kmi = km.keymap_items.new('graph.bake', 'C', 'PRESS', alt=True)
kmi = km.keymap_items.new('wm.call_menu', 'X', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'GRAPH_MT_delete')
kmi = km.keymap_items.new('wm.call_menu', 'DEL', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'GRAPH_MT_delete')
kmi = km.keymap_items.new('graph.duplicate_move', 'D', 'PRESS', shift=True)
kmi = km.keymap_items.new('graph.keyframe_insert', 'I', 'PRESS')
kmi = km.keymap_items.new('graph.click_insert', 'ACTIONMOUSE', 'CLICK', ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('graph.click_insert', 'ACTIONMOUSE', 'CLICK', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('graph.copy', 'C', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('graph.paste', 'V', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('graph.paste', 'V', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'flipped', True)
kmi = km.keymap_items.new('graph.previewrange_set', 'P', 'PRESS', ctrl=True, alt=True)
kmi = km.keymap_items.new('graph.view_all', 'HOME', 'PRESS')
kmi = km.keymap_items.new('graph.view_all', 'NDOF_BUTTON_FIT', 'PRESS')
kmi = km.keymap_items.new('graph.view_selected', 'Z', 'PRESS')
kmi = km.keymap_items.new('graph.view_frame', 'NUMPAD_0', 'PRESS')
kmi = km.keymap_items.new('graph.fmodifier_add', 'M', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'only_active', False)
kmi = km.keymap_items.new('anim.channels_editable_toggle', 'TAB', 'PRESS')
kmi = km.keymap_items.new('transform.translate', 'G', 'PRESS')
kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')
kmi = km.keymap_items.new('transform.transform', 'E', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'TIME_EXTEND')
kmi = km.keymap_items.new('transform.rotate', 'R', 'PRESS')
kmi = km.keymap_items.new('transform.resize', 'S', 'PRESS')
kmi = km.keymap_items.new('wm.context_toggle', 'O', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.use_proportional_fcurve')
kmi = km.keymap_items.new('wm.context_set_enum', 'COMMA', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'BOUNDING_BOX_CENTER')
kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'CURSOR')
kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'INDIVIDUAL_ORIGINS')
kmi = km.keymap_items.new('marker.add', 'M', 'PRESS')
kmi = km.keymap_items.new('marker.rename', 'M', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.context_set_enum', 'BACK_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'area.type')
kmi_props_setattr(kmi.properties, 'value', 'TIMELINE')
kmi = km.keymap_items.new('wm.context_set_enum', 'BACK_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'area.type')
kmi_props_setattr(kmi.properties, 'value', 'DOPESHEET_EDITOR')

# Map Image
km = kc.keymaps.new('Image', space_type='IMAGE_EDITOR', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('image.view_all', 'HOME', 'PRESS')
kmi = km.keymap_items.new('image.view_all', 'HOME', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'fit_view', True)
kmi = km.keymap_items.new('image.view_selected', 'Z', 'PRESS')
kmi = km.keymap_items.new('image.view_pan', 'MIDDLEMOUSE', 'PRESS')
kmi = km.keymap_items.new('image.view_all', 'NDOF_BUTTON_FIT', 'PRESS')
kmi = km.keymap_items.new('image.view_ndof', 'NDOF_MOTION', 'ANY')
kmi = km.keymap_items.new('image.view_zoom_in', 'WHEELINMOUSE', 'PRESS')
kmi = km.keymap_items.new('image.view_zoom_out', 'WHEELOUTMOUSE', 'PRESS')
kmi = km.keymap_items.new('image.view_zoom_in', 'NUMPAD_PLUS', 'PRESS')
kmi = km.keymap_items.new('image.view_zoom_out', 'NUMPAD_MINUS', 'PRESS')
kmi = km.keymap_items.new('image.view_zoom', 'MIDDLEMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('image.view_zoom', 'TRACKPADZOOM', 'ANY')
kmi = km.keymap_items.new('image.view_zoom', 'TRACKPADPAN', 'ANY', ctrl=True)
kmi = km.keymap_items.new('image.view_zoom_ratio', 'NUMPAD_8', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'ratio', 8.0)
kmi = km.keymap_items.new('image.view_zoom_ratio', 'NUMPAD_4', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'ratio', 4.0)
kmi = km.keymap_items.new('image.view_zoom_ratio', 'NUMPAD_2', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'ratio', 2.0)
kmi = km.keymap_items.new('image.view_zoom_ratio', 'NUMPAD_8', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'ratio', 8.0)
kmi = km.keymap_items.new('image.view_zoom_ratio', 'NUMPAD_4', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'ratio', 4.0)
kmi = km.keymap_items.new('image.view_zoom_ratio', 'NUMPAD_2', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'ratio', 2.0)
kmi = km.keymap_items.new('image.view_zoom_ratio', 'NUMPAD_1', 'PRESS')
kmi_props_setattr(kmi.properties, 'ratio', 1.0)
kmi = km.keymap_items.new('image.view_zoom_ratio', 'NUMPAD_2', 'PRESS')
kmi_props_setattr(kmi.properties, 'ratio', 0.5)
kmi = km.keymap_items.new('image.view_zoom_ratio', 'NUMPAD_4', 'PRESS')
kmi_props_setattr(kmi.properties, 'ratio', 0.25)
kmi = km.keymap_items.new('image.view_zoom_ratio', 'NUMPAD_8', 'PRESS')
kmi_props_setattr(kmi.properties, 'ratio', 0.125)
kmi = km.keymap_items.new('image.change_frame', 'LEFTMOUSE', 'PRESS')
kmi = km.keymap_items.new('image.sample', 'ACTIONMOUSE', 'PRESS')
kmi = km.keymap_items.new('image.curves_point_set', 'ACTIONMOUSE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'point', 'BLACK_POINT')
kmi = km.keymap_items.new('image.curves_point_set', 'ACTIONMOUSE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'point', 'WHITE_POINT')
kmi = km.keymap_items.new('object.mode_set', 'TAB', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'EDIT')
kmi_props_setattr(kmi.properties, 'toggle', True)
kmi = km.keymap_items.new('wm.context_set_int', 'ONE', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.image.render_slots.active_index')
kmi_props_setattr(kmi.properties, 'value', 0)
kmi = km.keymap_items.new('wm.context_set_int', 'TWO', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.image.render_slots.active_index')
kmi_props_setattr(kmi.properties, 'value', 1)
kmi = km.keymap_items.new('wm.context_set_int', 'THREE', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.image.render_slots.active_index')
kmi_props_setattr(kmi.properties, 'value', 2)
kmi = km.keymap_items.new('wm.context_set_int', 'FOUR', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.image.render_slots.active_index')
kmi_props_setattr(kmi.properties, 'value', 3)
kmi = km.keymap_items.new('wm.context_set_int', 'FIVE', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.image.render_slots.active_index')
kmi_props_setattr(kmi.properties, 'value', 4)
kmi = km.keymap_items.new('wm.context_set_int', 'SIX', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.image.render_slots.active_index')
kmi_props_setattr(kmi.properties, 'value', 5)
kmi = km.keymap_items.new('wm.context_set_int', 'SEVEN', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.image.render_slots.active_index')
kmi_props_setattr(kmi.properties, 'value', 6)
kmi = km.keymap_items.new('wm.context_set_int', 'EIGHT', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.image.render_slots.active_index')
kmi_props_setattr(kmi.properties, 'value', 7)
kmi = km.keymap_items.new('wm.context_set_enum', 'COMMA', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'CENTER')
kmi = km.keymap_items.new('wm.context_set_enum', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'MEDIAN')
kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'CURSOR')
kmi = km.keymap_items.new('image.render_border', 'B', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('image.clear_render_border', 'B', 'PRESS', ctrl=True, alt=True)
kmi = km.keymap_items.new('wm.context_set_enum', 'BACK_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'area.type')
kmi_props_setattr(kmi.properties, 'value', 'NODE_EDITOR')

# Map Dopesheet
km = kc.keymaps.new('Dopesheet', space_type='DOPESHEET_EDITOR', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('wm.context_toggle_enum', 'TAB', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.mode')
kmi_props_setattr(kmi.properties, 'value_1', 'ACTION')
kmi_props_setattr(kmi.properties, 'value_2', 'DOPESHEET')
kmi = km.keymap_items.new('wm.context_set_enum', 'TAB', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path', 'area.type')
kmi_props_setattr(kmi.properties, 'value', 'GRAPH_EDITOR')
kmi = km.keymap_items.new('action.clickselect', 'SELECTMOUSE', 'PRESS')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'column', False)
kmi_props_setattr(kmi.properties, 'channel', False)
kmi = km.keymap_items.new('action.clickselect', 'SELECTMOUSE', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'column', True)
kmi_props_setattr(kmi.properties, 'channel', False)
kmi = km.keymap_items.new('action.clickselect', 'SELECTMOUSE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi_props_setattr(kmi.properties, 'column', False)
kmi_props_setattr(kmi.properties, 'channel', False)
kmi = km.keymap_items.new('action.clickselect', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi_props_setattr(kmi.properties, 'column', True)
kmi_props_setattr(kmi.properties, 'channel', False)
kmi = km.keymap_items.new('action.clickselect', 'SELECTMOUSE', 'PRESS', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'column', False)
kmi_props_setattr(kmi.properties, 'channel', True)
kmi = km.keymap_items.new('action.clickselect', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi_props_setattr(kmi.properties, 'column', False)
kmi_props_setattr(kmi.properties, 'channel', True)
kmi = km.keymap_items.new('action.select_leftright', 'SELECTMOUSE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'CHECK')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('action.select_leftright', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'CHECK')
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('action.select_leftright', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'LEFT')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('action.select_leftright', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'RIGHT')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('action.select_all_toggle', 'A', 'PRESS')
kmi_props_setattr(kmi.properties, 'invert', False)
kmi = km.keymap_items.new('action.select_all_toggle', 'I', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'invert', True)
kmi = km.keymap_items.new('action.select_border', 'B', 'PRESS')
kmi_props_setattr(kmi.properties, 'axis_range', False)
kmi = km.keymap_items.new('action.select_border', 'B', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'axis_range', True)
kmi = km.keymap_items.new('action.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi = km.keymap_items.new('action.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'deselect', True)
kmi = km.keymap_items.new('action.select_circle', 'C', 'PRESS')
kmi = km.keymap_items.new('action.select_column', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'KEYS')
kmi = km.keymap_items.new('action.select_column', 'K', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'CFRA')
kmi = km.keymap_items.new('action.select_column', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'mode', 'MARKERS_COLUMN')
kmi = km.keymap_items.new('action.select_column', 'K', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'MARKERS_BETWEEN')
kmi = km.keymap_items.new('action.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('action.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('action.select_linked', 'L', 'PRESS')
kmi = km.keymap_items.new('action.frame_jump', 'G', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('action.snap', 'S', 'PRESS', shift=True)
kmi = km.keymap_items.new('action.mirror', 'M', 'PRESS', shift=True)
kmi = km.keymap_items.new('action.handle_type', 'V', 'PRESS')
kmi = km.keymap_items.new('action.interpolation_type', 'T', 'PRESS')
kmi = km.keymap_items.new('action.extrapolation_type', 'E', 'PRESS', shift=True)
kmi = km.keymap_items.new('action.keyframe_type', 'R', 'PRESS')
kmi = km.keymap_items.new('action.sample', 'O', 'PRESS', shift=True)
kmi = km.keymap_items.new('wm.call_menu', 'X', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'DOPESHEET_MT_delete')
kmi = km.keymap_items.new('wm.call_menu', 'DEL', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'DOPESHEET_MT_delete')
kmi = km.keymap_items.new('action.duplicate_move', 'D', 'PRESS', shift=True)
kmi = km.keymap_items.new('action.keyframe_insert', 'I', 'PRESS')
kmi = km.keymap_items.new('action.copy', 'C', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('action.paste', 'V', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('action.paste', 'V', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'flipped', True)
kmi = km.keymap_items.new('action.previewrange_set', 'P', 'PRESS', ctrl=True, alt=True)
kmi = km.keymap_items.new('action.view_all', 'HOME', 'PRESS')
kmi = km.keymap_items.new('action.view_all', 'NDOF_BUTTON_FIT', 'PRESS')
kmi = km.keymap_items.new('action.view_selected', 'Z', 'PRESS')
kmi = km.keymap_items.new('action.view_frame', 'NUMPAD_0', 'PRESS')
kmi = km.keymap_items.new('anim.channels_editable_toggle', 'TAB', 'PRESS')
kmi = km.keymap_items.new('anim.channels_find', 'F', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('transform.transform', 'G', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'TIME_TRANSLATE')
kmi = km.keymap_items.new('transform.transform', 'EVT_TWEAK_S', 'ANY')
kmi_props_setattr(kmi.properties, 'mode', 'TIME_TRANSLATE')
kmi = km.keymap_items.new('transform.transform', 'E', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'TIME_EXTEND')
kmi = km.keymap_items.new('transform.transform', 'S', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'TIME_SCALE')
kmi = km.keymap_items.new('transform.transform', 'T', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'mode', 'TIME_SLIDE')
kmi = km.keymap_items.new('wm.context_toggle', 'O', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.use_proportional_action')
kmi = km.keymap_items.new('marker.add', 'M', 'PRESS')
kmi = km.keymap_items.new('marker.rename', 'M', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.context_set_enum', 'BACK_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'area.type')
kmi_props_setattr(kmi.properties, 'value', 'GRAPH_EDITOR')

# Map Clip Editor
km = kc.keymaps.new('Clip Editor', space_type='CLIP_EDITOR', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('clip.view_pan', 'MIDDLEMOUSE', 'PRESS')
kmi = km.keymap_items.new('clip.view_pan', 'MIDDLEMOUSE', 'PRESS', shift=True)
kmi = km.keymap_items.new('clip.view_pan', 'TRACKPADPAN', 'ANY')
kmi = km.keymap_items.new('clip.view_zoom', 'RIGHTMOUSE', 'PRESS', alt=True)
kmi = km.keymap_items.new('clip.view_zoom', 'TRACKPADZOOM', 'ANY')
kmi = km.keymap_items.new('clip.view_zoom', 'TRACKPADPAN', 'ANY', ctrl=True)
kmi = km.keymap_items.new('clip.view_zoom_in', 'WHEELINMOUSE', 'PRESS')
kmi = km.keymap_items.new('clip.view_zoom_out', 'WHEELOUTMOUSE', 'PRESS')
kmi = km.keymap_items.new('clip.view_zoom_in', 'NUMPAD_PLUS', 'PRESS')
kmi = km.keymap_items.new('clip.view_zoom_out', 'NUMPAD_MINUS', 'PRESS')
kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_8', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'ratio', 8.0)
kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_4', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'ratio', 4.0)
kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_2', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'ratio', 2.0)
kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_8', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'ratio', 8.0)
kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_4', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'ratio', 4.0)
kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_2', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'ratio', 2.0)
kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_1', 'PRESS')
kmi_props_setattr(kmi.properties, 'ratio', 1.0)
kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_2', 'PRESS')
kmi_props_setattr(kmi.properties, 'ratio', 0.5)
kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_4', 'PRESS')
kmi_props_setattr(kmi.properties, 'ratio', 0.25)
kmi = km.keymap_items.new('clip.view_zoom_ratio', 'NUMPAD_8', 'PRESS')
kmi_props_setattr(kmi.properties, 'ratio', 0.125)
kmi = km.keymap_items.new('clip.view_all', 'HOME', 'PRESS')
kmi = km.keymap_items.new('clip.view_all', 'F', 'PRESS')
kmi_props_setattr(kmi.properties, 'fit_view', True)
kmi = km.keymap_items.new('clip.view_selected', 'Z', 'PRESS')
kmi = km.keymap_items.new('clip.view_all', 'NDOF_BUTTON_FIT', 'PRESS')
kmi = km.keymap_items.new('clip.view_ndof', 'NDOF_MOTION', 'ANY')
kmi = km.keymap_items.new('clip.frame_jump', 'LEFT_ARROW', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'position', 'PATHSTART')
kmi = km.keymap_items.new('clip.frame_jump', 'RIGHT_ARROW', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'position', 'PATHEND')
kmi = km.keymap_items.new('clip.frame_jump', 'LEFT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'position', 'FAILEDPREV')
kmi = km.keymap_items.new('clip.frame_jump', 'RIGHT_ARROW', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'position', 'PATHSTART')
kmi = km.keymap_items.new('clip.change_frame', 'LEFTMOUSE', 'PRESS')
kmi = km.keymap_items.new('clip.select', 'SELECTMOUSE', 'PRESS')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('clip.select', 'SELECTMOUSE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('clip.select_all', 'A', 'PRESS')
kmi_props_setattr(kmi.properties, 'action', 'TOGGLE')
kmi = km.keymap_items.new('clip.select_all', 'I', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'action', 'INVERT')
kmi = km.keymap_items.new('clip.select_border', 'B', 'PRESS')
kmi = km.keymap_items.new('clip.select_circle', 'C', 'PRESS')
kmi = km.keymap_items.new('wm.call_menu', 'G', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'CLIP_MT_select_grouped')
kmi = km.keymap_items.new('clip.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi = km.keymap_items.new('clip.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'deselect', True)
kmi = km.keymap_items.new('clip.add_marker_slide', 'LEFTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('clip.delete_marker', 'DEL', 'PRESS', shift=True)
kmi = km.keymap_items.new('clip.delete_marker', 'X', 'PRESS', shift=True)
kmi = km.keymap_items.new('clip.slide_marker', 'LEFTMOUSE', 'PRESS')
kmi = km.keymap_items.new('clip.disable_markers', 'D', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'action', 'TOGGLE')
kmi = km.keymap_items.new('clip.delete_track', 'DEL', 'PRESS')
kmi = km.keymap_items.new('clip.delete_track', 'X', 'PRESS')
kmi = km.keymap_items.new('clip.lock_tracks', 'L', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'action', 'LOCK')
kmi = km.keymap_items.new('clip.lock_tracks', 'L', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'action', 'UNLOCK')
kmi = km.keymap_items.new('clip.hide_tracks', 'H', 'PRESS')
kmi_props_setattr(kmi.properties, 'unselected', False)
kmi = km.keymap_items.new('clip.hide_tracks', 'H', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'unselected', True)
kmi = km.keymap_items.new('clip.hide_tracks_clear', 'H', 'PRESS', alt=True)
kmi = km.keymap_items.new('clip.slide_plane_marker', 'ACTIONMOUSE', 'PRESS')
kmi = km.keymap_items.new('clip.keyframe_insert', 'I', 'PRESS')
kmi = km.keymap_items.new('clip.keyframe_delete', 'I', 'PRESS', alt=True)
kmi = km.keymap_items.new('clip.join_tracks', 'J', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'CLIP_MT_tracking_specials')
kmi = km.keymap_items.new('wm.context_toggle', 'L', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.lock_selection')
kmi = km.keymap_items.new('wm.context_toggle', 'D', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.show_disabled')
kmi = km.keymap_items.new('wm.context_toggle', 'S', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.show_marker_search')
kmi = km.keymap_items.new('wm.context_toggle', 'M', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.use_mute_footage')
kmi = km.keymap_items.new('transform.translate', 'G', 'PRESS')
kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')
kmi = km.keymap_items.new('transform.resize', 'S', 'PRESS')
kmi = km.keymap_items.new('transform.rotate', 'R', 'PRESS')
kmi = km.keymap_items.new('clip.clear_track_path', 'T', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'action', 'REMAINED')
kmi_props_setattr(kmi.properties, 'clear_active', False)
kmi = km.keymap_items.new('clip.clear_track_path', 'T', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'action', 'UPTO')
kmi_props_setattr(kmi.properties, 'clear_active', False)
kmi = km.keymap_items.new('clip.clear_track_path', 'T', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'action', 'ALL')
kmi_props_setattr(kmi.properties, 'clear_active', False)
kmi = km.keymap_items.new('clip.cursor_set', 'ACTIONMOUSE', 'PRESS')
kmi = km.keymap_items.new('wm.context_set_enum', 'COMMA', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'BOUNDING_BOX_CENTER')
kmi = km.keymap_items.new('wm.context_set_enum', 'COMMA', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'MEDIAN_POINT')
kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'CURSOR')
kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path', 'space_data.pivot_point')
kmi_props_setattr(kmi.properties, 'value', 'INDIVIDUAL_ORIGINS')
kmi = km.keymap_items.new('clip.copy_tracks', 'C', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('clip.paste_tracks', 'V', 'PRESS', ctrl=True)

# Map Timeline
km = kc.keymaps.new('Timeline', space_type='TIMELINE', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('time.start_frame_set', 'S', 'PRESS')
kmi = km.keymap_items.new('time.end_frame_set', 'E', 'PRESS')
kmi = km.keymap_items.new('time.view_all', 'Z', 'PRESS')
kmi = km.keymap_items.new('time.view_all', 'NDOF_BUTTON_FIT', 'PRESS')
kmi = km.keymap_items.new('time.view_frame', 'NUMPAD_0', 'PRESS')
kmi = km.keymap_items.new('wm.context_set_enum', 'BACK_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'area.type')
kmi_props_setattr(kmi.properties, 'value', 'DOPESHEET_EDITOR')

# Map Outliner
km = kc.keymaps.new('Outliner', space_type='OUTLINER', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('outliner.item_rename', 'LEFTMOUSE', 'DOUBLE_CLICK')
kmi = km.keymap_items.new('outliner.item_activate', 'LEFTMOUSE', 'CLICK')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'recursive', False)
kmi = km.keymap_items.new('outliner.item_activate', 'LEFTMOUSE', 'CLICK', shift=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi_props_setattr(kmi.properties, 'recursive', False)
kmi = km.keymap_items.new('outliner.item_activate', 'LEFTMOUSE', 'CLICK', ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'recursive', True)
kmi = km.keymap_items.new('outliner.item_activate', 'LEFTMOUSE', 'CLICK', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi_props_setattr(kmi.properties, 'recursive', True)
kmi = km.keymap_items.new('outliner.select_border', 'B', 'PRESS')
kmi = km.keymap_items.new('outliner.item_openclose', 'RET', 'PRESS')
kmi_props_setattr(kmi.properties, 'all', False)
kmi = km.keymap_items.new('outliner.item_openclose', 'RET', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'all', True)
kmi = km.keymap_items.new('outliner.item_rename', 'LEFTMOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('outliner.operation', 'RIGHTMOUSE', 'PRESS')
kmi = km.keymap_items.new('outliner.show_hierarchy', 'Z', 'PRESS')
kmi = km.keymap_items.new('outliner.show_active', 'PERIOD', 'PRESS')
kmi = km.keymap_items.new('outliner.show_active', 'NUMPAD_PERIOD', 'PRESS')
kmi = km.keymap_items.new('outliner.scroll_page', 'PAGE_DOWN', 'PRESS')
kmi_props_setattr(kmi.properties, 'up', False)
kmi = km.keymap_items.new('outliner.scroll_page', 'PAGE_UP', 'PRESS')
kmi_props_setattr(kmi.properties, 'up', True)
kmi = km.keymap_items.new('outliner.show_one_level', 'NUMPAD_PLUS', 'PRESS')
kmi = km.keymap_items.new('outliner.show_one_level', 'NUMPAD_MINUS', 'PRESS')
kmi_props_setattr(kmi.properties, 'open', False)
kmi = km.keymap_items.new('outliner.selected_toggle', 'A', 'PRESS')
kmi = km.keymap_items.new('outliner.expanded_toggle', 'A', 'PRESS', shift=True)
kmi = km.keymap_items.new('outliner.renderability_toggle', 'R', 'PRESS')
kmi = km.keymap_items.new('outliner.selectability_toggle', 'S', 'PRESS')
kmi = km.keymap_items.new('outliner.visibility_toggle', 'V', 'PRESS')
kmi = km.keymap_items.new('outliner.keyingset_add_selected', 'K', 'PRESS')
kmi = km.keymap_items.new('outliner.keyingset_remove_selected', 'K', 'PRESS', alt=True)
kmi = km.keymap_items.new('anim.keyframe_insert', 'I', 'PRESS')
kmi = km.keymap_items.new('anim.keyframe_delete', 'I', 'PRESS', alt=True)
kmi = km.keymap_items.new('outliner.drivers_add_selected', 'D', 'PRESS')
kmi = km.keymap_items.new('outliner.drivers_delete_selected', 'D', 'PRESS', alt=True)
kmi = km.keymap_items.new('wm.context_set_enum', 'BACK_SLASH', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'area.type')
kmi_props_setattr(kmi.properties, 'value', 'IMAGE_EDITOR')

# Map NLA Editor
km = kc.keymaps.new('NLA Editor', space_type='NLA_EDITOR', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('nla.click_select', 'SELECTMOUSE', 'PRESS')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('nla.click_select', 'SELECTMOUSE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('nla.select_leftright', 'SELECTMOUSE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'CHECK')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('nla.select_leftright', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'mode', 'CHECK')
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('nla.select_leftright', 'LEFT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'LEFT')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('nla.select_leftright', 'RIGHT_BRACKET', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'RIGHT')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('nla.select_all_toggle', 'A', 'PRESS')
kmi_props_setattr(kmi.properties, 'invert', False)
kmi = km.keymap_items.new('nla.select_all_toggle', 'I', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'invert', True)
kmi = km.keymap_items.new('nla.select_border', 'B', 'PRESS')
kmi_props_setattr(kmi.properties, 'axis_range', False)
kmi = km.keymap_items.new('nla.select_border', 'B', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'axis_range', True)
kmi = km.keymap_items.new('nla.previewrange_set', 'P', 'PRESS', ctrl=True, alt=True)
kmi = km.keymap_items.new('nla.view_all', 'HOME', 'PRESS')
kmi = km.keymap_items.new('nla.view_all', 'NDOF_BUTTON_FIT', 'PRESS')
kmi = km.keymap_items.new('nla.view_selected', 'Z', 'PRESS')
kmi = km.keymap_items.new('nla.view_frame', 'NUMPAD_0', 'PRESS')
kmi = km.keymap_items.new('nla.actionclip_add', 'A', 'PRESS', shift=True)
kmi = km.keymap_items.new('nla.transition_add', 'T', 'PRESS', shift=True)
kmi = km.keymap_items.new('nla.soundclip_add', 'K', 'PRESS', shift=True)
kmi = km.keymap_items.new('nla.meta_add', 'G', 'PRESS', shift=True)
kmi = km.keymap_items.new('nla.meta_remove', 'G', 'PRESS', alt=True)
kmi = km.keymap_items.new('nla.duplicate', 'D', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'linked', False)
kmi = km.keymap_items.new('nla.duplicate', 'D', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'linked', True)
kmi = km.keymap_items.new('nla.make_single_user', 'U', 'PRESS')
kmi = km.keymap_items.new('nla.delete', 'X', 'PRESS')
kmi = km.keymap_items.new('nla.delete', 'DEL', 'PRESS')
kmi = km.keymap_items.new('nla.split', 'Y', 'PRESS')
kmi = km.keymap_items.new('nla.mute_toggle', 'H', 'PRESS')
kmi = km.keymap_items.new('nla.swap', 'F', 'PRESS', alt=True)
kmi = km.keymap_items.new('nla.move_up', 'PAGE_UP', 'PRESS')
kmi = km.keymap_items.new('nla.move_down', 'PAGE_DOWN', 'PRESS')
kmi = km.keymap_items.new('nla.apply_scale', 'A', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('nla.clear_scale', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('nla.snap', 'S', 'PRESS', shift=True)
kmi = km.keymap_items.new('nla.fmodifier_add', 'M', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('transform.transform', 'G', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'TRANSLATION')
kmi = km.keymap_items.new('transform.transform', 'EVT_TWEAK_S', 'ANY')
kmi_props_setattr(kmi.properties, 'mode', 'TRANSLATION')
kmi = km.keymap_items.new('transform.transform', 'E', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'TIME_EXTEND')
kmi = km.keymap_items.new('transform.transform', 'S', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'TIME_SCALE')
kmi = km.keymap_items.new('marker.add', 'M', 'PRESS')
kmi = km.keymap_items.new('marker.rename', 'M', 'PRESS', ctrl=True)

# Map Sequencer
km = kc.keymaps.new('Sequencer', space_type='SEQUENCE_EDITOR', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('sequencer.select_all', 'A', 'PRESS')
kmi_props_setattr(kmi.properties, 'action', 'TOGGLE')
kmi = km.keymap_items.new('sequencer.select_all', 'I', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'action', 'INVERT')
kmi = km.keymap_items.new('sequencer.cut', 'K', 'PRESS')
kmi_props_setattr(kmi.properties, 'type', 'SOFT')
kmi = km.keymap_items.new('sequencer.cut', 'K', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'type', 'HARD')
kmi = km.keymap_items.new('sequencer.mute', 'H', 'PRESS')
kmi_props_setattr(kmi.properties, 'unselected', False)
kmi = km.keymap_items.new('sequencer.mute', 'H', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'unselected', True)
kmi = km.keymap_items.new('sequencer.unmute', 'H', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'unselected', False)
kmi = km.keymap_items.new('sequencer.unmute', 'H', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'unselected', True)
kmi = km.keymap_items.new('sequencer.lock', 'L', 'PRESS', shift=True)
kmi = km.keymap_items.new('sequencer.unlock', 'L', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('sequencer.reassign_inputs', 'R', 'PRESS')
kmi = km.keymap_items.new('sequencer.reload', 'R', 'PRESS', alt=True)
kmi = km.keymap_items.new('sequencer.reload', 'R', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'adjust_length', True)
kmi = km.keymap_items.new('sequencer.offset_clear', 'O', 'PRESS', alt=True)
kmi = km.keymap_items.new('sequencer.duplicate_move', 'D', 'PRESS', shift=True)
kmi = km.keymap_items.new('sequencer.delete', 'X', 'PRESS')
kmi = km.keymap_items.new('sequencer.delete', 'DEL', 'PRESS')
kmi = km.keymap_items.new('sequencer.copy', 'C', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('sequencer.paste', 'V', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('sequencer.images_separate', 'Y', 'PRESS')
kmi = km.keymap_items.new('sequencer.meta_toggle', 'TAB', 'PRESS')
kmi = km.keymap_items.new('sequencer.meta_make', 'G', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('sequencer.meta_separate', 'G', 'PRESS', alt=True)
kmi = km.keymap_items.new('sequencer.view_all', 'HOME', 'PRESS')
kmi = km.keymap_items.new('sequencer.view_all', 'NDOF_BUTTON_FIT', 'PRESS')
kmi = km.keymap_items.new('sequencer.view_selected', 'Z', 'PRESS')
kmi = km.keymap_items.new('sequencer.view_frame', 'NUMPAD_0', 'PRESS')
kmi = km.keymap_items.new('sequencer.strip_jump', 'PAGE_UP', 'PRESS')
kmi_props_setattr(kmi.properties, 'next', True)
kmi_props_setattr(kmi.properties, 'center', False)
kmi = km.keymap_items.new('sequencer.strip_jump', 'PAGE_DOWN', 'PRESS')
kmi_props_setattr(kmi.properties, 'next', False)
kmi_props_setattr(kmi.properties, 'center', False)
kmi = km.keymap_items.new('sequencer.strip_jump', 'PAGE_UP', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'next', True)
kmi_props_setattr(kmi.properties, 'center', True)
kmi = km.keymap_items.new('sequencer.strip_jump', 'PAGE_DOWN', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'next', False)
kmi_props_setattr(kmi.properties, 'center', True)
kmi = km.keymap_items.new('sequencer.swap', 'LEFT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'side', 'LEFT')
kmi = km.keymap_items.new('sequencer.swap', 'RIGHT_ARROW', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'side', 'RIGHT')
kmi = km.keymap_items.new('sequencer.gap_remove', 'BACK_SPACE', 'PRESS')
kmi_props_setattr(kmi.properties, 'all', False)
kmi = km.keymap_items.new('sequencer.gap_remove', 'BACK_SPACE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'all', True)
kmi = km.keymap_items.new('sequencer.gap_insert', 'EQUAL', 'PRESS', shift=True)
kmi = km.keymap_items.new('sequencer.snap', 'S', 'PRESS', shift=True)
kmi = km.keymap_items.new('sequencer.swap_inputs', 'S', 'PRESS', alt=True)
kmi = km.keymap_items.new('sequencer.cut_multicam', 'ONE', 'PRESS')
kmi_props_setattr(kmi.properties, 'camera', 1)
kmi = km.keymap_items.new('sequencer.cut_multicam', 'TWO', 'PRESS')
kmi_props_setattr(kmi.properties, 'camera', 2)
kmi = km.keymap_items.new('sequencer.cut_multicam', 'THREE', 'PRESS')
kmi_props_setattr(kmi.properties, 'camera', 3)
kmi = km.keymap_items.new('sequencer.cut_multicam', 'FOUR', 'PRESS')
kmi_props_setattr(kmi.properties, 'camera', 4)
kmi = km.keymap_items.new('sequencer.cut_multicam', 'FIVE', 'PRESS')
kmi_props_setattr(kmi.properties, 'camera', 5)
kmi = km.keymap_items.new('sequencer.cut_multicam', 'SIX', 'PRESS')
kmi_props_setattr(kmi.properties, 'camera', 6)
kmi = km.keymap_items.new('sequencer.cut_multicam', 'SEVEN', 'PRESS')
kmi_props_setattr(kmi.properties, 'camera', 7)
kmi = km.keymap_items.new('sequencer.cut_multicam', 'EIGHT', 'PRESS')
kmi_props_setattr(kmi.properties, 'camera', 8)
kmi = km.keymap_items.new('sequencer.cut_multicam', 'NINE', 'PRESS')
kmi_props_setattr(kmi.properties, 'camera', 9)
kmi = km.keymap_items.new('sequencer.cut_multicam', 'ZERO', 'PRESS')
kmi_props_setattr(kmi.properties, 'camera', 10)
kmi = km.keymap_items.new('sequencer.select', 'SELECTMOUSE', 'PRESS')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'linked_handle', False)
kmi_props_setattr(kmi.properties, 'left_right', 'NONE')
kmi_props_setattr(kmi.properties, 'linked_time', False)
kmi = km.keymap_items.new('sequencer.select', 'SELECTMOUSE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi_props_setattr(kmi.properties, 'linked_handle', False)
kmi_props_setattr(kmi.properties, 'left_right', 'NONE')
kmi_props_setattr(kmi.properties, 'linked_time', False)
kmi = km.keymap_items.new('sequencer.select', 'SELECTMOUSE', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'linked_handle', True)
kmi_props_setattr(kmi.properties, 'left_right', 'NONE')
kmi_props_setattr(kmi.properties, 'linked_time', False)
kmi = km.keymap_items.new('sequencer.select', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi_props_setattr(kmi.properties, 'linked_handle', True)
kmi_props_setattr(kmi.properties, 'left_right', 'NONE')
kmi_props_setattr(kmi.properties, 'linked_time', False)
kmi = km.keymap_items.new('sequencer.select', 'SELECTMOUSE', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', False)
kmi_props_setattr(kmi.properties, 'linked_handle', False)
kmi_props_setattr(kmi.properties, 'left_right', 'MOUSE')
kmi_props_setattr(kmi.properties, 'linked_time', True)
kmi = km.keymap_items.new('sequencer.select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi_props_setattr(kmi.properties, 'linked_handle', False)
kmi_props_setattr(kmi.properties, 'left_right', 'NONE')
kmi_props_setattr(kmi.properties, 'linked_time', True)
kmi = km.keymap_items.new('sequencer.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('sequencer.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('sequencer.select_linked_pick', 'L', 'PRESS')
kmi_props_setattr(kmi.properties, 'extend', False)
kmi = km.keymap_items.new('sequencer.select_linked_pick', 'L', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi = km.keymap_items.new('sequencer.select_linked', 'L', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('sequencer.select_border', 'B', 'PRESS')
kmi = km.keymap_items.new('sequencer.select_grouped', 'G', 'PRESS', shift=True)
kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'SEQUENCER_MT_add')
kmi = km.keymap_items.new('wm.call_menu', 'C', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'SEQUENCER_MT_change')
kmi = km.keymap_items.new('sequencer.slip', 'S', 'PRESS')
kmi = km.keymap_items.new('wm.context_set_int', 'O', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'scene.sequence_editor.overlay_frame')
kmi_props_setattr(kmi.properties, 'value', 0)
kmi = km.keymap_items.new('transform.seq_slide', 'G', 'PRESS')
kmi = km.keymap_items.new('transform.seq_slide', 'EVT_TWEAK_S', 'ANY')
kmi = km.keymap_items.new('transform.transform', 'E', 'PRESS')
kmi_props_setattr(kmi.properties, 'mode', 'TIME_EXTEND')
kmi = km.keymap_items.new('marker.add', 'M', 'PRESS')
kmi = km.keymap_items.new('marker.rename', 'M', 'PRESS', ctrl=True)

# Map Grease Pencil Stroke Edit Mode
km = kc.keymaps.new('Grease Pencil Stroke Edit Mode', space_type='EMPTY', region_type='WINDOW', modal=False)

kmi = km.keymap_items.new('gpencil.editmode_toggle', 'TAB', 'PRESS')
kmi = km.keymap_items.new('wm.call_menu_pie', 'E', 'PRESS', key_modifier='D')
kmi_props_setattr(kmi.properties, 'name', 'GPENCIL_PIE_sculpt')
kmi.active = False
kmi = km.keymap_items.new('wm.radial_control', 'F', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'data_path_primary', 'user_preferences.edit.grease_pencil_eraser_radius')
kmi = km.keymap_items.new('gpencil.brush_paint', 'LEFTMOUSE', 'PRESS', key_modifier='E')
kmi_props_setattr(kmi.properties, 'wait_for_input', False)
kmi = km.keymap_items.new('gpencil.brush_paint', 'LEFTMOUSE', 'PRESS', ctrl=True, key_modifier='E')
kmi_props_setattr(kmi.properties, 'wait_for_input', False)
kmi = km.keymap_items.new('gpencil.brush_paint', 'LEFTMOUSE', 'PRESS', shift=True, key_modifier='E')
kmi_props_setattr(kmi.properties, 'wait_for_input', False)
kmi = km.keymap_items.new('wm.radial_control', 'F', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'data_path_primary', 'tool_settings.gpencil_sculpt.brush.strength')
kmi = km.keymap_items.new('wm.radial_control', 'F', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path_primary', 'tool_settings.gpencil_sculpt.brush.size')
kmi = km.keymap_items.new('gpencil.select_all', 'A', 'PRESS')
kmi_props_setattr(kmi.properties, 'action', 'TOGGLE')
kmi = km.keymap_items.new('gpencil.select_all', 'I', 'PRESS', ctrl=True)
kmi_props_setattr(kmi.properties, 'action', 'INVERT')
kmi = km.keymap_items.new('gpencil.select_circle', 'C', 'PRESS')
kmi = km.keymap_items.new('gpencil.select_border', 'B', 'PRESS')
kmi = km.keymap_items.new('gpencil.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi = km.keymap_items.new('gpencil.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'deselect', True)
kmi = km.keymap_items.new('gpencil.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'deselect', False)
kmi = km.keymap_items.new('gpencil.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True, alt=True)
kmi_props_setattr(kmi.properties, 'deselect', True)
kmi = km.keymap_items.new('gpencil.select', 'SELECTMOUSE', 'PRESS')
kmi = km.keymap_items.new('gpencil.select', 'SELECTMOUSE', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'extend', True)
kmi_props_setattr(kmi.properties, 'toggle', True)
kmi = km.keymap_items.new('gpencil.select', 'SELECTMOUSE', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'entire_strokes', True)
kmi = km.keymap_items.new('gpencil.select_linked', 'L', 'PRESS')
kmi = km.keymap_items.new('gpencil.select_linked', 'L', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('gpencil.select_grouped', 'G', 'PRESS', shift=True)
kmi = km.keymap_items.new('gpencil.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('gpencil.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('gpencil.duplicate_move', 'D', 'PRESS', shift=True)
kmi = km.keymap_items.new('wm.call_menu', 'X', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_edit_gpencil_delete')
kmi = km.keymap_items.new('wm.call_menu', 'DEL', 'PRESS')
kmi_props_setattr(kmi.properties, 'name', 'VIEW3D_MT_edit_gpencil_delete')
kmi = km.keymap_items.new('gpencil.dissolve', 'X', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('gpencil.dissolve', 'DEL', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('gpencil.active_frames_delete_all', 'X', 'PRESS', shift=True)
kmi = km.keymap_items.new('gpencil.stroke_join', 'J', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('gpencil.stroke_join', 'J', 'PRESS', shift=True, ctrl=True)
kmi_props_setattr(kmi.properties, 'type', 'JOINCOPY')
kmi = km.keymap_items.new('gpencil.copy', 'C', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('gpencil.paste', 'V', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'name', 'GPENCIL_MT_snap')
kmi = km.keymap_items.new('gpencil.convert', 'C', 'PRESS', alt=True)
kmi = km.keymap_items.new('gpencil.reveal', 'H', 'PRESS', alt=True)
kmi = km.keymap_items.new('gpencil.hide', 'H', 'PRESS')
kmi_props_setattr(kmi.properties, 'unselected', False)
kmi = km.keymap_items.new('gpencil.hide', 'H', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'unselected', True)
kmi = km.keymap_items.new('gpencil.selection_opacity_toggle', 'H', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('gpencil.layer_isolate', 'NUMPAD_ASTERIX', 'PRESS')
kmi = km.keymap_items.new('gpencil.move_to_layer', 'M', 'PRESS')
kmi = km.keymap_items.new('gpencil.brush_select', 'ONE', 'PRESS')
kmi_props_setattr(kmi.properties, 'index', 0)
kmi = km.keymap_items.new('gpencil.brush_select', 'TWO', 'PRESS')
kmi_props_setattr(kmi.properties, 'index', 1)
kmi = km.keymap_items.new('gpencil.brush_select', 'THREE', 'PRESS')
kmi_props_setattr(kmi.properties, 'index', 2)
kmi = km.keymap_items.new('gpencil.brush_select', 'FOUR', 'PRESS')
kmi_props_setattr(kmi.properties, 'index', 3)
kmi = km.keymap_items.new('gpencil.brush_select', 'FIVE', 'PRESS')
kmi_props_setattr(kmi.properties, 'index', 4)
kmi = km.keymap_items.new('gpencil.brush_select', 'SIX', 'PRESS')
kmi_props_setattr(kmi.properties, 'index', 5)
kmi = km.keymap_items.new('gpencil.brush_select', 'SEVEN', 'PRESS')
kmi_props_setattr(kmi.properties, 'index', 6)
kmi = km.keymap_items.new('gpencil.brush_select', 'EIGHT', 'PRESS')
kmi_props_setattr(kmi.properties, 'index', 7)
kmi = km.keymap_items.new('gpencil.brush_select', 'NINE', 'PRESS')
kmi_props_setattr(kmi.properties, 'index', 8)
kmi = km.keymap_items.new('gpencil.brush_select', 'ZERO', 'PRESS')
kmi_props_setattr(kmi.properties, 'index', 9)
kmi = km.keymap_items.new('transform.translate', 'G', 'PRESS')
kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')
kmi = km.keymap_items.new('transform.rotate', 'R', 'PRESS')
kmi = km.keymap_items.new('transform.resize', 'S', 'PRESS')
kmi = km.keymap_items.new('transform.mirror', 'M', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('transform.bend', 'W', 'PRESS', shift=True)
kmi = km.keymap_items.new('transform.tosphere', 'S', 'PRESS', shift=True, alt=True)
kmi = km.keymap_items.new('transform.shear', 'S', 'PRESS', shift=True, ctrl=True, alt=True)
kmi = km.keymap_items.new('transform.transform', 'S', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'mode', 'GPENCIL_SHRINKFATTEN')
kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.proportional_edit_falloff')
kmi_props_setattr(kmi.properties, 'wrap', True)
kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS')
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.proportional_edit')
kmi_props_setattr(kmi.properties, 'value_1', 'DISABLED')
kmi_props_setattr(kmi.properties, 'value_2', 'ENABLED')
kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS', alt=True)
kmi_props_setattr(kmi.properties, 'data_path', 'tool_settings.proportional_edit')
kmi_props_setattr(kmi.properties, 'value_1', 'DISABLED')
kmi_props_setattr(kmi.properties, 'value_2', 'CONNECTED')

