A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
/home/www/www.mcdee.net/elite/scripts/bindings.py in ()
2322 break
2323 if hasNewBindings is True:
=> 2324 createHOTASImage(items, modifiers, supportedDevice['Template'], supportedDevice['HandledDevices'], 40, runId, public, styling, deviceIndex)
2325 createdImages.append('%s::%s' % (supportedDeviceKey, deviceIndex))
2326 for handledDevice in supportedDevice['HandledDevices']:
createHOTASImage = <function createHOTASImage>, items = {'DS4::0::Joy_1': {'BaseKey': 'Joy_1', 'Binds': {'GamePad::0:

ad_X': {'Controls': OrderedDict([('BuggySecondaryFireButton', {'Over..., 'Group': 'SRV', 'Name': 'Secondary weapons'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_1'}, 'DS4::0::Joy_11': {'BaseKey': 'Joy_11', 'Binds': {'GamePad::0:

ad_LThumb': {'Controls': OrderedDict([('HeadlightsBuggyButton', {'Overrid...gue': False, 'Group': 'SRV', 'Name': 'Lights'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_11'}, 'DS4::0::Joy_12': {'BaseKey': 'Joy_12', 'Binds': {'GamePad::0:

ad_RThumb': {'Controls': OrderedDict([('ToggleBuggyTurretButton', {'Overr...e': False, 'Group': 'UI', 'Name': 'UI select'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_12'}, 'DS4::0::Joy_2': {'BaseKey': 'Joy_2', 'Binds': {'GamePad::0:

ad_A': {'Controls': OrderedDict([('BuggyPrimaryFireButton', {'Overri...se, 'Group': 'SRV', 'Name': 'Primary weapons'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_2'}, 'DS4::0::Joy_3': {'BaseKey': 'Joy_3', 'Binds': {'GamePad::0:

ad_B': {'Controls': OrderedDict([('VerticalThrustersButton', {'Overr... 'Group': 'SRV', 'Name': 'Vertical thrusters'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_3'}, 'DS4::0::Joy_4': {'BaseKey': 'Joy_4', 'Binds': {'GamePad::0:

ad_Y': {'Controls': OrderedDict([('ToggleDriveAssist', {'OverriddenB...False, 'Group': 'SRV', 'Name': 'Drive assist'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_4'}, 'DS4::0::Joy_5': {'BaseKey': 'Joy_5', 'Binds': {'GamePad::0:

ad_LBumper': {'Controls': OrderedDict([('CamTranslateDown', {'OverriddenBy...False, 'Group': 'SRV', 'Name': 'Target ahead'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_5'}, 'DS4::0::Joy_6': {'BaseKey': 'Joy_6', 'Binds': {'GamePad::0:

ad_RBumper': {'Controls': OrderedDict([('CamTranslateUp', {'OverriddenBy':...: False, 'Group': 'SRV', 'Name': 'Hand brake'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_6'}, 'DS4::0::Joy_RXAxis': {'BaseKey': 'Pos_Joy_RXAxis', 'Binds': {'DS4::0::Joy_7/GamePad::0:

os_Pad_LTrigger': {'Controls': OrderedDict([('CamZoomOut', {'OverriddenBy': [],...: False, 'Group': 'SRV', 'Name': 'Zero speed'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_RXAxis'}, 'DS4::0::Joy_RYAxis': {'BaseKey': 'Pos_Joy_RYAxis', 'Binds': {'DS4::0::Joy_8/GamePad::0:

os_Pad_RTrigger': {'Controls': OrderedDict([('CamZoomIn', {'OverriddenBy': [], ...alse, 'Group': 'SRV', 'Name': 'Maximum speed'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_RYAxis'}, ...}, modifiers = {'DS4::0::Joy_5': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_5', 'ModifierKey': 'DS4::0::Joy_5', 'Number': 17}], 'DS4::0::Joy_6': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_6', 'ModifierKey': 'DS4::0::Joy_6', 'Number': 16}], 'DS4::0::Joy_7': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_7', 'ModifierKey': 'DS4::0::Joy_7/GamePad::0:

os_Pad_LTrigger', 'Number': 4}], 'DS4::0::Joy_7/GamePad::0:

os_Pad_LTrigger': [{'ModifierKey': 'DS4::0::Joy_7/GamePad::0:

os_Pad_LTrigger', 'Number': 4}], 'DS4::0::Joy_8': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_8', 'ModifierKey': 'DS4::0::Joy_8/GamePad::0:

os_Pad_RTrigger', 'Number': 3}], 'DS4::0::Joy_8/GamePad::0:

os_Pad_RTrigger': [{'ModifierKey': 'DS4::0::Joy_8/GamePad::0:

os_Pad_RTrigger', 'Number': 3}], 'DS4::0::Joy_9': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_9', 'ModifierKey': 'DS4::0::Joy_9', 'Number': 15}], 'DS4::0::Joy_POV1Down': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_POV1Down', 'ModifierKey': 'DS4::0::Joy_POV1Down', 'Number': 12}], 'DS4::0::Joy_POV1Left': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_POV1Left', 'ModifierKey': 'DS4::0::Joy_POV1Left', 'Number': 13}], 'DS4::0::Joy_POV1Right': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_POV1Right', 'ModifierKey': 'DS4::0::Joy_POV1Right', 'Number': 14}], ...}, supportedDevice = {'HandledDevices': ['DS4'], 'Template': 'ds4'}, runId = 'gmyiaw', public = True, styling = 'Modifier', deviceIndex = 0
/home/www/www.mcdee.net/elite/scripts/bindings.py in createHOTASImage(items={'DS4::0::Joy_1': {'BaseKey': 'Joy_1', 'Binds': {'GamePad::0:

ad_X': {'Controls': OrderedDict([('BuggySecondaryFireButton', {'Over..., 'Group': 'SRV', 'Name': 'Secondary weapons'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_1'}, 'DS4::0::Joy_11': {'BaseKey': 'Joy_11', 'Binds': {'GamePad::0:

ad_LThumb': {'Controls': OrderedDict([('HeadlightsBuggyButton', {'Overrid...gue': False, 'Group': 'SRV', 'Name': 'Lights'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_11'}, 'DS4::0::Joy_12': {'BaseKey': 'Joy_12', 'Binds': {'GamePad::0:

ad_RThumb': {'Controls': OrderedDict([('ToggleBuggyTurretButton', {'Overr...e': False, 'Group': 'UI', 'Name': 'UI select'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_12'}, 'DS4::0::Joy_2': {'BaseKey': 'Joy_2', 'Binds': {'GamePad::0:

ad_A': {'Controls': OrderedDict([('BuggyPrimaryFireButton', {'Overri...se, 'Group': 'SRV', 'Name': 'Primary weapons'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_2'}, 'DS4::0::Joy_3': {'BaseKey': 'Joy_3', 'Binds': {'GamePad::0:

ad_B': {'Controls': OrderedDict([('VerticalThrustersButton', {'Overr... 'Group': 'SRV', 'Name': 'Vertical thrusters'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_3'}, 'DS4::0::Joy_4': {'BaseKey': 'Joy_4', 'Binds': {'GamePad::0:

ad_Y': {'Controls': OrderedDict([('ToggleDriveAssist', {'OverriddenB...False, 'Group': 'SRV', 'Name': 'Drive assist'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_4'}, 'DS4::0::Joy_5': {'BaseKey': 'Joy_5', 'Binds': {'GamePad::0:

ad_LBumper': {'Controls': OrderedDict([('CamTranslateDown', {'OverriddenBy...False, 'Group': 'SRV', 'Name': 'Target ahead'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_5'}, 'DS4::0::Joy_6': {'BaseKey': 'Joy_6', 'Binds': {'GamePad::0:

ad_RBumper': {'Controls': OrderedDict([('CamTranslateUp', {'OverriddenBy':...: False, 'Group': 'SRV', 'Name': 'Hand brake'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_6'}, 'DS4::0::Joy_RXAxis': {'BaseKey': 'Pos_Joy_RXAxis', 'Binds': {'DS4::0::Joy_7/GamePad::0:

os_Pad_LTrigger': {'Controls': OrderedDict([('CamZoomOut', {'OverriddenBy': [],...: False, 'Group': 'SRV', 'Name': 'Zero speed'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_RXAxis'}, 'DS4::0::Joy_RYAxis': {'BaseKey': 'Pos_Joy_RYAxis', 'Binds': {'DS4::0::Joy_8/GamePad::0:

os_Pad_RTrigger': {'Controls': OrderedDict([('CamZoomIn', {'OverriddenBy': [], ...alse, 'Group': 'SRV', 'Name': 'Maximum speed'})])}}, 'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_RYAxis'}, ...}, modifiers={'DS4::0::Joy_5': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_5', 'ModifierKey': 'DS4::0::Joy_5', 'Number': 17}], 'DS4::0::Joy_6': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_6', 'ModifierKey': 'DS4::0::Joy_6', 'Number': 16}], 'DS4::0::Joy_7': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_7', 'ModifierKey': 'DS4::0::Joy_7/GamePad::0:

os_Pad_LTrigger', 'Number': 4}], 'DS4::0::Joy_7/GamePad::0:

os_Pad_LTrigger': [{'ModifierKey': 'DS4::0::Joy_7/GamePad::0:

os_Pad_LTrigger', 'Number': 4}], 'DS4::0::Joy_8': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_8', 'ModifierKey': 'DS4::0::Joy_8/GamePad::0:

os_Pad_RTrigger', 'Number': 3}], 'DS4::0::Joy_8/GamePad::0:

os_Pad_RTrigger': [{'ModifierKey': 'DS4::0::Joy_8/GamePad::0:

os_Pad_RTrigger', 'Number': 3}], 'DS4::0::Joy_9': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_9', 'ModifierKey': 'DS4::0::Joy_9', 'Number': 15}], 'DS4::0::Joy_POV1Down': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_POV1Down', 'ModifierKey': 'DS4::0::Joy_POV1Down', 'Number': 12}], 'DS4::0::Joy_POV1Left': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_POV1Left', 'ModifierKey': 'DS4::0::Joy_POV1Left', 'Number': 13}], 'DS4::0::Joy_POV1Right': [{'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_POV1Right', 'ModifierKey': 'DS4::0::Joy_POV1Right', 'Number': 14}], ...}, source='ds4', imageDevices=['DS4'], biggestFontSize=40, runId='gmyiaw', public=True, styling='Modifier', deviceIndex=0)
1980 for keyModifier in modifiers.get(key, []):
1981 if styling == 'Modifier':
=> 1982 style = modifierStyles[(keyModifier.get('Number'))]
1983 else:
1984 style = groupStyles.get('Modifier')
style undefined, global modifierStyles = [{'Color': wand.color.Color('srgb(0,0,0)'), 'Font': '../fonts/Exo2.0-Regular.otf'}, {'Color': wand.color.Color('srgb(204,0,0)'), 'Font': '../fonts/Exo2.0-Regular.otf'}, {'Color': wand.color.Color('srgb(0,204,0)'), 'Font': '../fonts/Exo2.0-Regular.otf'}, {'Color': wand.color.Color('srgb(0,0,204)'), 'Font': '../fonts/Exo2.0-Regular.otf'}, {'Color': wand.color.Color('srgb(204,204,0)'), 'Font': '../fonts/Exo2.0-Regular.otf'}, {'Color': wand.color.Color('srgb(204,0,204)'), 'Font': '../fonts/Exo2.0-Regular.otf'}, {'Color': wand.color.Color('srgb(0,204,204)'), 'Font': '../fonts/Exo2.0-Regular.otf'}, {'Color': wand.color.Color('srgb(204,204,204)'), 'Font': '../fonts/Exo2.0-Regular.otf'}, {'Color': wand.color.Color('srgb(119,204,204)'), 'Font': '../fonts/Exo2.0-Regular.otf'}, {'Color': wand.color.Color('srgb(204,119,204)'), 'Font': '../fonts/Exo2.0-Regular.otf'}, {'Color': wand.color.Color('srgb(204,204,119)'), 'Font': '../fonts/Exo2.0-Regular.otf'}, {'Color': wand.color.Color('srgb(119,119,204)'), 'Font': '../fonts/Exo2.0-Regular.otf'}, {'Color': wand.color.Color('srgb(119,204,119)'), 'Font': '../fonts/Exo2.0-Regular.otf'}, {'Color': wand.color.Color('srgb(204,119,119)'), 'Font': '../fonts/Exo2.0-Regular.otf'}], keyModifier = {'Device': 'DS4', 'DeviceIndex': 0, 'Key': 'Joy_6', 'ModifierKey': 'DS4::0::Joy_6', 'Number': 16}, keyModifier.get = <built-in method get of dict object>
IndexError: list index out of range
args = ('list index out of range',)
with_traceback = <built-in method with_traceback of IndexError object>