# Leo colorizer control file for inno_setup mode.
# This file is in the public domain.

# Properties for inno_setup mode.
properties = {
	"lineComment": ";",
}

# Attributes dict for inno_setup_main ruleset.
inno_setup_main_attributes_dict = {
	"default": "null",
	"digit_re": "",
	"escape": "",
	"highlight_digits": "false",
	"ignore_case": "true",
	"no_word_sep": "",
}

# Attributes dict for inno_setup_string ruleset.
inno_setup_string_attributes_dict = {
	"default": "LITERAL1",
	"digit_re": "",
	"escape": "",
	"highlight_digits": "false",
	"ignore_case": "true",
	"no_word_sep": "",
}

# Attributes dict for inno_setup_constant ruleset.
inno_setup_constant_attributes_dict = {
	"default": "KEYWORD3",
	"digit_re": "",
	"escape": "",
	"highlight_digits": "false",
	"ignore_case": "true",
	"no_word_sep": "",
}

# Attributes dict for inno_setup_directive ruleset.
inno_setup_directive_attributes_dict = {
	"default": "LITERAL4",
	"digit_re": "",
	"escape": "",
	"highlight_digits": "false",
	"ignore_case": "true",
	"no_word_sep": "",
}

# Dictionary of attributes dictionaries for inno_setup mode.
attributesDictDict = {
	"inno_setup_constant": inno_setup_constant_attributes_dict,
	"inno_setup_directive": inno_setup_directive_attributes_dict,
	"inno_setup_main": inno_setup_main_attributes_dict,
	"inno_setup_string": inno_setup_string_attributes_dict,
}

# Keywords dict for inno_setup_main ruleset.
inno_setup_main_keywords_dict = {
	"AfterInstall": "keyword4",
	"AllowCancelDuringInstall": "keyword1",
	"AllowNoIcons": "keyword1",
	"AllowRootDirectory": "keyword1",
	"AllowUNCPath": "keyword1",
	"AlwaysRestart": "keyword1",
	"AlwaysShowComponentsList": "keyword1",
	"AlwaysShowDirOnReadyPage": "keyword1",
	"AlwaysShowGroupOnReadyPage": "keyword1",
	"AlwaysUsePersonalGroup": "keyword1",
	"AppComments": "keyword1",
	"AppContact": "keyword1",
	"AppCopyright": "keyword1",
	"AppId": "keyword1",
	"AppModifyPath": "keyword1",
	"AppMutex": "keyword1",
	"AppName": "keyword1",
	"AppPublisher": "keyword1",
	"AppPublisherURL": "keyword1",
	"AppReadmeFile": "keyword1",
	"AppSupportURL": "keyword1",
	"AppUpdatesURL": "keyword1",
	"AppVerName": "keyword1",
	"AppVersion": "keyword1",
	"AppendDefaultDirName": "keyword1",
	"AppendDefaultGroupName": "keyword1",
	"Attribs": "keyword4",
	"BackColor": "keyword1",
	"BackColor2": "keyword1",
	"BackColorDirection": "keyword1",
	"BackSolid": "keyword1",
	"BeforeInstall": "keyword4",
	"ChangesAssociations": "keyword1",
	"Check": "keyword4",
	"Comment": "keyword4",
	"Components": "keyword4",
	"Compression": "keyword1",
	"CopyMode": "keyword4",
	"CreateAppDir": "keyword1",
	"CreateUninstallRegKey": "keyword1",
	"DefaultDirName": "keyword1",
	"DefaultGroupName": "keyword1",
	"DefaultUserInfoName": "keyword1",
	"DefaultUserInfoOrg": "keyword1",
	"DefaultUserInfoSerial": "keyword1",
	"Description": "keyword4",
	"DestDir": "keyword4",
	"DestName": "keyword4",
	"DirExistsWarning": "keyword1",
	"DisableDirPage": "keyword1",
	"DisableFinishedPage": "keyword1",
	"DisableProgramGroupPage": "keyword1",
	"DisableReadyMemo": "keyword1",
	"DisableReadyPage": "keyword1",
	"DisableStartupPrompt": "keyword1",
	"DiskClusterSize": "keyword1",
	"DiskSliceSize": "keyword1",
	"DiskSpanning": "keyword1",
	"EnableDirDoesntExistWarning": "keyword1",
	"Encryption": "keyword1",
	"Excludes": "keyword4",
	"ExtraDiskSpaceRequired": "keyword4",
	"Filename": "keyword4",
	"Flags": "keyword4",
	"FlatComponentsList": "keyword1",
	"FontInstall": "keyword4",
	"GroupDescription": "keyword4",
	"HKCC": "literal3",
	"HKCR": "literal3",
	"HKCU": "literal3",
	"HKLM": "literal3",
	"HKU": "literal3",
	"HotKey": "keyword4",
	"IconFilename": "keyword4",
	"IconIndex": "keyword4",
	"InfoAfterFile": "keyword4",
	"InfoBeforeFile": "keyword4",
	"InternalCompressLevel": "keyword1",
	"Key": "keyword4",
	"LanguageDetectionMethod": "keyword1",
	"LicenseFile": "keyword1",
	"MergeDuplicateFiles": "keyword1",
	"MessagesFile": "keyword4",
	"MinVersion": "keyword1",
	"Name": "keyword4",
	"OnlyBelowVersion": "keyword1",
	"OutputBaseFilename": "keyword1",
	"OutputDir": "keyword1",
	"Parameters": "keyword4",
	"Password": "keyword1",
	"Permissions": "keyword4",
	"PrivilegesRequired": "keyword1",
	"ReserveBytes": "keyword1",
	"RestartIfNeededByRun": "keyword1",
	"Root": "keyword4",
	"RunOnceId": "keyword4",
	"Section": "keyword4",
	"SetupIconFile": "keyword1",
	"ShowComponentSizes": "keyword1",
	"ShowLanguageDialog": "keyword1",
	"ShowTasksTreeLines": "keyword1",
	"SlicesPerDisk": "keyword1",
	"SolidCompression": "keyword1",
	"Source": "keyword4",
	"SourceDir": "keyword1",
	"StatusMsg": "keyword4",
	"String": "keyword4",
	"Subkey": "keyword4",
	"Tasks": "keyword4",
	"TimeStampRounding": "keyword1",
	"TimeStampsInUTC": "keyword1",
	"TouchDate": "keyword1",
	"TouchTime": "keyword1",
	"Type": "keyword4",
	"Types": "keyword4",
	"UninstallDisplayIcon": "keyword1",
	"UninstallDisplayName": "keyword1",
	"UninstallFilesDir": "keyword1",
	"UninstallIconFile": "keyword1",
	"UninstallLogMode": "keyword1",
	"UninstallRestartComputer": "keyword1",
	"UninstallStyle": "keyword1",
	"Uninstallable": "keyword1",
	"UpdateUninstallLogAppName": "keyword1",
	"UsePreviousAppDir": "keyword1",
	"UsePreviousGroup": "keyword1",
	"UsePreviousSetupType": "keyword1",
	"UsePreviousTasks": "keyword1",
	"UsePreviousUserInfo": "keyword1",
	"UseSetupLdr": "keyword1",
	"UserInfoPage": "keyword1",
	"ValueData": "keyword4",
	"ValueName": "keyword4",
	"ValueType": "keyword4",
	"VersionInfoCompany": "keyword1",
	"VersionInfoDescription": "keyword1",
	"VersionInfoTextVersion": "keyword1",
	"VersionInfoVersion": "keyword1",
	"WindowResizable": "keyword1",
	"WindowShowCaption": "keyword1",
	"WindowStartMaximized": "keyword1",
	"WindowVisible": "keyword1",
	"WizardImageBackColor": "keyword1",
	"WizardImageFile": "keyword1",
	"WizardImageStretch": "keyword1",
	"WizardSmallImageBackColor": "keyword1",
	"WizardSmallImageFile": "keyword1",
	"WorkingDir": "keyword4",
	"allowunsafefiles": "literal3",
	"binary": "literal3",
	"checkedonce": "literal3",
	"closeonexit": "literal3",
	"compact": "literal3",
	"comparetimestamp": "literal3",
	"confirmoverwrite": "literal3",
	"createkeyifdoesntexist": "literal3",
	"createonlyiffileexists": "literal3",
	"createvalueifdoesntexist": "literal3",
	"deleteafterinstall": "literal3",
	"deletekey": "literal3",
	"deletevalue": "literal3",
	"desktopicon": "literal3",
	"dirifempty": "literal3",
	"disablenouninstallwarning": "literal3",
	"dontcloseonexit": "literal3",
	"dontcopy": "literal3",
	"dontcreatekey": "literal3",
	"dontinheritcheck": "literal3",
	"dontverifychecksum": "literal3",
	"dword": "literal3",
	"exclusive": "literal3",
	"expandsz": "literal3",
	"external": "literal3",
	"files": "literal3",
	"filesandordirs": "literal3",
	"fixed": "literal3",
	"fontisnttruetype": "literal3",
	"full": "literal3",
	"hidden": "literal3",
	"hidewizard": "literal3",
	"ignoreversion": "literal3",
	"iscustom": "literal3",
	"isreadme": "literal3",
	"modify": "literal3",
	"multisz": "literal3",
	"nocompression": "literal3",
	"noencryption": "literal3",
	"noerror": "literal3",
	"none": "literal3",
	"noregerror": "literal3",
	"nowait": "literal3",
	"onlyifdestfileexists": "literal3",
	"onlyifdoesntexist": "literal3",
	"overwritereadonly": "literal3",
	"postinstall": "literal3",
	"preservestringtype": "literal3",
	"promptifolder": "literal3",
	"quicklaunchicon": "literal3",
	"read": "literal3",
	"readexec": "literal3",
	"readonly": "literal3",
	"recursesubdirs": "literal3",
	"regserver": "literal3",
	"regtypelib": "literal3",
	"replacesameversion": "literal3",
	"restart": "literal3",
	"restartreplace": "literal3",
	"runhidden": "literal3",
	"runmaximized": "literal3",
	"runminimized": "literal3",
	"sharedfile": "literal3",
	"shellexec": "literal3",
	"skipifdoesntexist": "literal3",
	"skipifnotsilent": "literal3",
	"skipifsilent": "literal3",
	"skipifsourcedoesntexist": "literal3",
	"sortfilesbyextension": "literal3",
	"string": "literal3",
	"system": "literal3",
	"touch": "literal3",
	"unchecked": "literal3",
	"uninsalwaysuninstall": "literal3",
	"uninsclearvalue": "literal3",
	"uninsdeleteentry": "literal3",
	"uninsdeletekey": "literal3",
	"uninsdeletekeyifempty": "literal3",
	"uninsdeletesection": "literal3",
	"uninsdeletesectionifempty": "literal3",
	"uninsdeletevalue": "literal3",
	"uninsneveruninstall": "literal3",
	"uninsremovereadonly": "literal3",
	"uninsrestartdelete": "literal3",
	"useapppaths": "literal3",
	"waituntilidle": "literal3",
}

# Keywords dict for inno_setup_string ruleset.
inno_setup_string_keywords_dict = {}

# Keywords dict for inno_setup_constant ruleset.
inno_setup_constant_keywords_dict = {}

# Keywords dict for inno_setup_directive ruleset.
inno_setup_directive_keywords_dict = {
	"copy": "function",
	"copyfile": "function",
	"defined": "function",
	"deletefile": "function",
	"entrycount": "function",
	"exec": "function",
	"fileclose": "function",
	"fileeof": "function",
	"fileexists": "function",
	"fileopen": "function",
	"fileread": "function",
	"filereset": "function",
	"filesize": "function",
	"find": "function",
	"findclose": "function",
	"findfirst": "function",
	"findgetfilename": "function",
	"findnext": "function",
	"getenv": "function",
	"getfileversion": "function",
	"getstringfileinfo": "function",
	"int": "function",
	"len": "function",
	"lowercase": "function",
	"pos": "function",
	"readini": "function",
	"readreg": "function",
	"rpos": "function",
	"savetofile": "function",
	"setsetupsetting": "function",
	"setupsetting": "function",
	"str": "function",
	"typeof": "function",
	"writeini": "function",
}

# Dictionary of keywords dictionaries for inno_setup mode.
keywordsDictDict = {
	"inno_setup_constant": inno_setup_constant_keywords_dict,
	"inno_setup_directive": inno_setup_directive_keywords_dict,
	"inno_setup_main": inno_setup_main_keywords_dict,
	"inno_setup_string": inno_setup_string_keywords_dict,
}

# Rules for inno_setup_main ruleset.

def inno_setup_rule0(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[code]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="pascal::main")

def inno_setup_rule1(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[Setup]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule2(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[Types]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule3(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[Components]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule4(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[Tasks]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule5(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[Dirs]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule6(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[Files]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule7(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[Icons]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule8(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[INI]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule9(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[InstallDelete]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule10(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[Languages]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule11(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[Messages]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule12(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[CustomMessages]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule13(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[LangOptions]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule14(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[Registry]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule15(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[Run]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule16(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[UninstallRun]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule17(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword2", seq="[UninstallDelete]",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="")

def inno_setup_rule18(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#define",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule19(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#dim",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule20(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#undef",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule21(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#include",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule22(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#emit",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule23(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#expr",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule24(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#insert",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule25(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#append",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule26(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#if",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule27(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#elif",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule28(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#else",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule29(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#endif",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule30(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#ifexist",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule31(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#ifnexist",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule32(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#ifdef",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule33(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#for",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule34(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#sub",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule35(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#endsub",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule36(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#pragma",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule37(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="literal4", seq="#error",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::directive", exclude_match=False)

def inno_setup_rule38(colorer, s, i):
    return colorer.match_span(s, i, kind="literal4", begin="{#", end="}",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="",exclude_match=False,
        no_escape=False, no_line_break=False, no_word_break=False)

def inno_setup_rule39(colorer, s, i):
    return colorer.match_mark_following(s, i, kind="literal2", pattern="%",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, exclude_match=False)

def inno_setup_rule40(colorer, s, i):
    return colorer.match_span(s, i, kind="literal1", begin="\"", end="\"",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::string",exclude_match=False,
        no_escape=False, no_line_break=False, no_word_break=False)

def inno_setup_rule41(colorer, s, i):
    return colorer.match_span(s, i, kind="literal1", begin="'", end="'",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::string",exclude_match=False,
        no_escape=False, no_line_break=False, no_word_break=False)

def inno_setup_rule42(colorer, s, i):
    return colorer.match_span(s, i, kind="keyword3", begin="{", end="}",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="",exclude_match=False,
        no_escape=False, no_line_break=False, no_word_break=False)

def inno_setup_rule43(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="comment1", seq=";",
        at_line_start=True, at_whitespace_end=False, at_word_start=False,
        delegate="", exclude_match=False)

def inno_setup_rule44(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="comment1", seq="#",
        at_line_start=True, at_whitespace_end=False, at_word_start=False,
        delegate="", exclude_match=False)

def inno_setup_rule45(colorer, s, i):
    return colorer.match_keywords(s, i)

# Rules dict for inno_setup_main ruleset.
rulesDict1 = {
	"\"": [inno_setup_rule40,],
	"#": [inno_setup_rule18,inno_setup_rule19,inno_setup_rule20,inno_setup_rule21,inno_setup_rule22,inno_setup_rule23,inno_setup_rule24,inno_setup_rule25,inno_setup_rule26,inno_setup_rule27,inno_setup_rule28,inno_setup_rule29,inno_setup_rule30,inno_setup_rule31,inno_setup_rule32,inno_setup_rule33,inno_setup_rule34,inno_setup_rule35,inno_setup_rule36,inno_setup_rule37,inno_setup_rule44,],
	"%": [inno_setup_rule39,],
	"'": [inno_setup_rule41,],
	"0": [inno_setup_rule45,],
	"1": [inno_setup_rule45,],
	"2": [inno_setup_rule45,],
	"3": [inno_setup_rule45,],
	"4": [inno_setup_rule45,],
	"5": [inno_setup_rule45,],
	"6": [inno_setup_rule45,],
	"7": [inno_setup_rule45,],
	"8": [inno_setup_rule45,],
	"9": [inno_setup_rule45,],
	";": [inno_setup_rule43,],
	"@": [inno_setup_rule45,],
	"A": [inno_setup_rule45,],
	"B": [inno_setup_rule45,],
	"C": [inno_setup_rule45,],
	"D": [inno_setup_rule45,],
	"E": [inno_setup_rule45,],
	"F": [inno_setup_rule45,],
	"G": [inno_setup_rule45,],
	"H": [inno_setup_rule45,],
	"I": [inno_setup_rule45,],
	"J": [inno_setup_rule45,],
	"K": [inno_setup_rule45,],
	"L": [inno_setup_rule45,],
	"M": [inno_setup_rule45,],
	"N": [inno_setup_rule45,],
	"O": [inno_setup_rule45,],
	"P": [inno_setup_rule45,],
	"Q": [inno_setup_rule45,],
	"R": [inno_setup_rule45,],
	"S": [inno_setup_rule45,],
	"T": [inno_setup_rule45,],
	"U": [inno_setup_rule45,],
	"V": [inno_setup_rule45,],
	"W": [inno_setup_rule45,],
	"X": [inno_setup_rule45,],
	"Y": [inno_setup_rule45,],
	"Z": [inno_setup_rule45,],
	"[": [inno_setup_rule0,inno_setup_rule1,inno_setup_rule2,inno_setup_rule3,inno_setup_rule4,inno_setup_rule5,inno_setup_rule6,inno_setup_rule7,inno_setup_rule8,inno_setup_rule9,inno_setup_rule10,inno_setup_rule11,inno_setup_rule12,inno_setup_rule13,inno_setup_rule14,inno_setup_rule15,inno_setup_rule16,inno_setup_rule17,],
	"a": [inno_setup_rule45,],
	"b": [inno_setup_rule45,],
	"c": [inno_setup_rule45,],
	"d": [inno_setup_rule45,],
	"e": [inno_setup_rule45,],
	"f": [inno_setup_rule45,],
	"g": [inno_setup_rule45,],
	"h": [inno_setup_rule45,],
	"i": [inno_setup_rule45,],
	"j": [inno_setup_rule45,],
	"k": [inno_setup_rule45,],
	"l": [inno_setup_rule45,],
	"m": [inno_setup_rule45,],
	"n": [inno_setup_rule45,],
	"o": [inno_setup_rule45,],
	"p": [inno_setup_rule45,],
	"q": [inno_setup_rule45,],
	"r": [inno_setup_rule45,],
	"s": [inno_setup_rule45,],
	"t": [inno_setup_rule45,],
	"u": [inno_setup_rule45,],
	"v": [inno_setup_rule45,],
	"w": [inno_setup_rule45,],
	"x": [inno_setup_rule45,],
	"y": [inno_setup_rule45,],
	"z": [inno_setup_rule45,],
	"{": [inno_setup_rule38,inno_setup_rule42,],
}

# Rules for inno_setup_string ruleset.

def inno_setup_rule46(colorer, s, i):
    return colorer.match_span(s, i, kind="literal4", begin="{#", end="}",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="",exclude_match=False,
        no_escape=False, no_line_break=False, no_word_break=False)

def inno_setup_rule47(colorer, s, i):
    return colorer.match_span(s, i, kind="keyword3", begin="{", end="}",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="inno_setup::constant",exclude_match=False,
        no_escape=False, no_line_break=False, no_word_break=False)

# Rules dict for inno_setup_string ruleset.
rulesDict2 = {
	"{": [inno_setup_rule46,inno_setup_rule47,],
}

# Rules for inno_setup_constant ruleset.

def inno_setup_rule48(colorer, s, i):
    return colorer.match_mark_following(s, i, kind="function", pattern="code:",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, exclude_match=True)

def inno_setup_rule49(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq="|",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

# Rules dict for inno_setup_constant ruleset.
rulesDict3 = {
	"c": [inno_setup_rule48,],
	"|": [inno_setup_rule49,],
}

# Rules for inno_setup_directive ruleset.

def inno_setup_rule50(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="comment1", seq=";",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="", exclude_match=False)

def inno_setup_rule51(colorer, s, i):
    return colorer.match_span(s, i, kind="comment2", begin="/*", end="*/",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="",exclude_match=False,
        no_escape=False, no_line_break=False, no_word_break=False)

def inno_setup_rule52(colorer, s, i):
    return colorer.match_span(s, i, kind="literal1", begin="\"", end="\"",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="",exclude_match=False,
        no_escape=False, no_line_break=False, no_word_break=False)

def inno_setup_rule53(colorer, s, i):
    return colorer.match_keywords(s, i)

# Rules dict for inno_setup_directive ruleset.
rulesDict4 = {
	"\"": [inno_setup_rule52,],
	"/": [inno_setup_rule51,],
	"0": [inno_setup_rule53,],
	"1": [inno_setup_rule53,],
	"2": [inno_setup_rule53,],
	"3": [inno_setup_rule53,],
	"4": [inno_setup_rule53,],
	"5": [inno_setup_rule53,],
	"6": [inno_setup_rule53,],
	"7": [inno_setup_rule53,],
	"8": [inno_setup_rule53,],
	"9": [inno_setup_rule53,],
	";": [inno_setup_rule50,],
	"@": [inno_setup_rule53,],
	"A": [inno_setup_rule53,],
	"B": [inno_setup_rule53,],
	"C": [inno_setup_rule53,],
	"D": [inno_setup_rule53,],
	"E": [inno_setup_rule53,],
	"F": [inno_setup_rule53,],
	"G": [inno_setup_rule53,],
	"H": [inno_setup_rule53,],
	"I": [inno_setup_rule53,],
	"J": [inno_setup_rule53,],
	"K": [inno_setup_rule53,],
	"L": [inno_setup_rule53,],
	"M": [inno_setup_rule53,],
	"N": [inno_setup_rule53,],
	"O": [inno_setup_rule53,],
	"P": [inno_setup_rule53,],
	"Q": [inno_setup_rule53,],
	"R": [inno_setup_rule53,],
	"S": [inno_setup_rule53,],
	"T": [inno_setup_rule53,],
	"U": [inno_setup_rule53,],
	"V": [inno_setup_rule53,],
	"W": [inno_setup_rule53,],
	"X": [inno_setup_rule53,],
	"Y": [inno_setup_rule53,],
	"Z": [inno_setup_rule53,],
	"a": [inno_setup_rule53,],
	"b": [inno_setup_rule53,],
	"c": [inno_setup_rule53,],
	"d": [inno_setup_rule53,],
	"e": [inno_setup_rule53,],
	"f": [inno_setup_rule53,],
	"g": [inno_setup_rule53,],
	"h": [inno_setup_rule53,],
	"i": [inno_setup_rule53,],
	"j": [inno_setup_rule53,],
	"k": [inno_setup_rule53,],
	"l": [inno_setup_rule53,],
	"m": [inno_setup_rule53,],
	"n": [inno_setup_rule53,],
	"o": [inno_setup_rule53,],
	"p": [inno_setup_rule53,],
	"q": [inno_setup_rule53,],
	"r": [inno_setup_rule53,],
	"s": [inno_setup_rule53,],
	"t": [inno_setup_rule53,],
	"u": [inno_setup_rule53,],
	"v": [inno_setup_rule53,],
	"w": [inno_setup_rule53,],
	"x": [inno_setup_rule53,],
	"y": [inno_setup_rule53,],
	"z": [inno_setup_rule53,],
}

# x.rulesDictDict for inno_setup mode.
rulesDictDict = {
	"inno_setup_constant": rulesDict3,
	"inno_setup_directive": rulesDict4,
	"inno_setup_main": rulesDict1,
	"inno_setup_string": rulesDict2,
}

# Import dict for inno_setup mode.
importDict = {}

