class SharedConstants:
    # Must be kept up to date with setup.py
    _CONVERTER21_NAME = 'converter21'
    _CONVERTER21_VERSION = '4.0.0'
    _CONVERTER21_NAME_AND_VERSION = _CONVERTER21_NAME + ' v' + _CONVERTER21_VERSION

    SMUFL_NAME_TO_UNICODE_CHAR: dict[str, str] = {
        'space': chr(0x0020),
        'musicFlatSign': chr(0x266D),
        'musicNaturalSign': chr(0x266E),
        'musicSharpSign': chr(0x266F),
        'brace': chr(0xE000),
        'bracketTop': chr(0xE003),
        'bracketBottom': chr(0xE004),
        'repeatDots': chr(0xE043),
        'repeatDot': chr(0xE044),
        'dalSegno': chr(0xE045),
        'daCapo': chr(0xE046),
        'segno': chr(0xE047),
        'coda': chr(0xE048),
        'codaSquare': chr(0xE049),
        'segnoSerpent2': chr(0xE04B),
        'gClef': chr(0xE050),
        'gClef15mb': chr(0xE051),
        'gClef8vb': chr(0xE052),
        'gClef8va': chr(0xE053),
        'gClef15ma': chr(0xE054),
        'gClef8vbOld': chr(0xE055),
        'gClef8vbCClef': chr(0xE056),
        'cClef': chr(0xE05C),
        'cClef8vb': chr(0xE05D),
        'fClef': chr(0xE062),
        'fClef15mb': chr(0xE063),
        'fClef8vb': chr(0xE064),
        'fClef8va': chr(0xE065),
        'fClef15ma': chr(0xE066),
        'unpitchedPercussionClef1': chr(0xE069),
        'unpitchedPercussionClef2': chr(0xE06A),
        '6stringTabClef': chr(0xE06D),
        '4stringTabClef': chr(0xE06E),
        'gClefReversed': chr(0xE073),
        'gClefTurned': chr(0xE074),
        'cClefReversed': chr(0xE075),
        'fClefReversed': chr(0xE076),
        'fClefTurned': chr(0xE077),
        'gClefChange': chr(0xE07A),
        'cClefChange': chr(0xE07B),
        'fClefChange': chr(0xE07C),
        'timeSig0': chr(0xE080),
        'timeSig1': chr(0xE081),
        'timeSig2': chr(0xE082),
        'timeSig3': chr(0xE083),
        'timeSig4': chr(0xE084),
        'timeSig5': chr(0xE085),
        'timeSig6': chr(0xE086),
        'timeSig7': chr(0xE087),
        'timeSig8': chr(0xE088),
        'timeSig9': chr(0xE089),
        'timeSigCommon': chr(0xE08A),
        'timeSigCutCommon': chr(0xE08B),
        'timeSigPlus': chr(0xE08C),
        'timeSigPlusSmall': chr(0xE08D),
        'timeSigFractionalSlash': chr(0xE08E),
        'timeSigEquals': chr(0xE08F),
        'timeSigMinus': chr(0xE090),
        'timeSigMultiply': chr(0xE091),
        'timeSigParensLeftSmall': chr(0xE092),
        'timeSigParensRightSmall': chr(0xE093),
        'timeSigParensLeft': chr(0xE094),
        'timeSigParensRight': chr(0xE095),
        'noteheadDoubleWhole': chr(0xE0A0),
        'noteheadDoubleWholeSquare': chr(0xE0A1),
        'noteheadWhole': chr(0xE0A2),
        'noteheadHalf': chr(0xE0A3),
        'noteheadBlack': chr(0xE0A4),
        'noteheadNull': chr(0xE0A5),
        'noteheadXBlack': chr(0xE0A9),
        'noteheadPlusBlack': chr(0xE0AF),
        'noteheadWholeWithX': chr(0xE0B5),
        'noteheadHalfWithX': chr(0xE0B6),
        'noteheadVoidWithX': chr(0xE0B7),
        'noteheadDiamondHalf': chr(0xE0D9),
        'noteheadDiamondHalfWide': chr(0xE0DA),
        'noteheadDiamondBlack': chr(0xE0DB),
        'noteheadDiamondBlackWide': chr(0xE0DC),
        'noteheadDiamondWhite': chr(0xE0DD),
        'noteheadDiamondWhiteWide': chr(0xE0DE),
        'noteheadParenthesisLeft': chr(0xE0F5),
        'noteheadParenthesisRight': chr(0xE0F6),
        'noteheadWholeFilled': chr(0xE0FA),
        'noteheadSlashHorizontalEnds': chr(0xE101),
        'noteheadSlashWhiteWhole': chr(0xE102),
        'noteheadSlashWhiteHalf': chr(0xE103),
        'noteDoubleWhole': chr(0xE1D0),
        'noteDoubleWholeSquare': chr(0xE1D1),
        'noteWhole': chr(0xE1D2),
        'noteHalfUp': chr(0xE1D3),
        'noteQuarterUp': chr(0xE1D5),
        'note8thUp': chr(0xE1D7),
        'note16thUp': chr(0xE1D9),
        'note32ndUp': chr(0xE1DB),
        'note64thUp': chr(0xE1DD),
        'note128thUp': chr(0xE1DF),
        'note256thUp': chr(0xE1E1),
        'note512thUp': chr(0xE1E3),
        'note1024thUp': chr(0xE1E5),
        'augmentationDot': chr(0xE1E7),
        'tremolo1': chr(0xE220),
        'tremolo2': chr(0xE221),
        'tremolo3': chr(0xE222),
        'tremolo4': chr(0xE223),
        'tremolo5': chr(0xE224),
        'buzzRoll': chr(0xE22A),
        'tremoloDivisiDots2': chr(0xE22E),
        'tremoloDivisiDots3': chr(0xE22F),
        'tremoloDivisiDots4': chr(0xE230),
        'tremoloDivisiDots6': chr(0xE231),
        'flag8thUp': chr(0xE240),
        'flag8thDown': chr(0xE241),
        'flag16thUp': chr(0xE242),
        'flag16thDown': chr(0xE243),
        'flag32ndUp': chr(0xE244),
        'flag32ndDown': chr(0xE245),
        'flag64thUp': chr(0xE246),
        'flag64thDown': chr(0xE247),
        'flag128thUp': chr(0xE248),
        'flag128thDown': chr(0xE249),
        'flag256thUp': chr(0xE24A),
        'flag256thDown': chr(0xE24B),
        'flag512thUp': chr(0xE24C),
        'flag512thDown': chr(0xE24D),
        'flag1024thUp': chr(0xE24E),
        'flag1024thDown': chr(0xE24F),
        'accidentalFlat': chr(0xE260),
        'accidentalNatural': chr(0xE261),
        'accidentalSharp': chr(0xE262),
        'accidentalDoubleSharp': chr(0xE263),
        'accidentalDoubleFlat': chr(0xE264),
        'accidentalTripleSharp': chr(0xE265),
        'accidentalTripleFlat': chr(0xE266),
        'accidentalNaturalFlat': chr(0xE267),
        'accidentalNaturalSharp': chr(0xE268),
        'accidentalSharpSharp': chr(0xE269),
        'accidentalParensLeft': chr(0xE26A),
        'accidentalParensRight': chr(0xE26B),
        'accidentalBracketLeft': chr(0xE26C),
        'accidentalBracketRight': chr(0xE26D),
        'accidentalQuarterToneFlatArrowUp': chr(0xE270),
        'accidentalThreeQuarterTonesFlatArrowDown': chr(0xE271),
        'accidentalQuarterToneSharpNaturalArrowUp': chr(0xE272),
        'accidentalQuarterToneFlatNaturalArrowDown': chr(0xE273),
        'accidentalThreeQuarterTonesSharpArrowUp': chr(0xE274),
        'accidentalQuarterToneSharpArrowDown': chr(0xE275),
        'accidentalQuarterToneFlatStein': chr(0xE280),
        'accidentalThreeQuarterTonesFlatZimmermann': chr(0xE281),
        'accidentalQuarterToneSharpStein': chr(0xE282),
        'accidentalThreeQuarterTonesSharpStein': chr(0xE283),
        'accidentalBuyukMucennebFlat': chr(0xE440),
        'accidentalKucukMucennebFlat': chr(0xE441),
        'accidentalBakiyeFlat': chr(0xE442),
        'accidentalKomaFlat': chr(0xE443),
        'accidentalKomaSharp': chr(0xE444),
        'accidentalBakiyeSharp': chr(0xE445),
        'accidentalKucukMucennebSharp': chr(0xE446),
        'accidentalBuyukMucennebSharp': chr(0xE447),
        'accidentalKoron': chr(0xE460),
        'accidentalSori': chr(0xE461),
        'articAccentAbove': chr(0xE4A0),
        'articAccentBelow': chr(0xE4A1),
        'articStaccatoAbove': chr(0xE4A2),
        'articStaccatoBelow': chr(0xE4A3),
        'articTenutoAbove': chr(0xE4A4),
        'articTenutoBelow': chr(0xE4A5),
        'articStaccatissimoAbove': chr(0xE4A6),
        'articStaccatissimoBelow': chr(0xE4A7),
        'articStaccatissimoWedgeAbove': chr(0xE4A8),
        'articStaccatissimoWedgeBelow': chr(0xE4A9),
        'articStaccatissimoStrokeAbove': chr(0xE4AA),
        'articStaccatissimoStrokeBelow': chr(0xE4AB),
        'articMarcatoAbove': chr(0xE4AC),
        'articMarcatoBelow': chr(0xE4AD),
        'articMarcatoStaccatoAbove': chr(0xE4AE),
        'articMarcatoStaccatoBelow': chr(0xE4AF),
        'articAccentStaccatoAbove': chr(0xE4B0),
        'articAccentStaccatoBelow': chr(0xE4B1),
        'articTenutoStaccatoAbove': chr(0xE4B2),
        'articTenutoStaccatoBelow': chr(0xE4B3),
        'articTenutoAccentAbove': chr(0xE4B4),
        'articTenutoAccentBelow': chr(0xE4B5),
        'articStressAbove': chr(0xE4B6),
        'articStressBelow': chr(0xE4B7),
        'articUnstressAbove': chr(0xE4B8),
        'articUnstressBelow': chr(0xE4B9),
        'articLaissezVibrerAbove': chr(0xE4BA),
        'articLaissezVibrerBelow': chr(0xE4BB),
        'articMarcatoTenutoAbove': chr(0xE4BC),
        'articMarcatoTenutoBelow': chr(0xE4BD),
        'fermataAbove': chr(0xE4C0),
        'fermataBelow': chr(0xE4C1),
        'fermataVeryShortAbove': chr(0xE4C2),
        'fermataVeryShortBelow': chr(0xE4C3),
        'fermataShortAbove': chr(0xE4C4),
        'fermataShortBelow': chr(0xE4C5),
        'fermataLongAbove': chr(0xE4C6),
        'fermataLongBelow': chr(0xE4C7),
        'fermataVeryLongAbove': chr(0xE4C8),
        'fermataVeryLongBelow': chr(0xE4C9),
        'breathMarkComma': chr(0xE4CE),
        'caesura': chr(0xE4D1),
        'caesuraThick': chr(0xE4D2),
        'caesuraShort': chr(0xE4D3),
        'caesuraCurved': chr(0xE4D4),
        'caesuraSingleStroke': chr(0xE4D7),
        'restMaxima': chr(0xE4E0),
        'restLonga': chr(0xE4E1),
        'restDoubleWhole': chr(0xE4E2),
        'restWhole': chr(0xE4E3),
        'restHalf': chr(0xE4E4),
        'restQuarter': chr(0xE4E5),
        'rest8th': chr(0xE4E6),
        'rest16th': chr(0xE4E7),
        'rest32nd': chr(0xE4E8),
        'rest64th': chr(0xE4E9),
        'rest128th': chr(0xE4EA),
        'rest256th': chr(0xE4EB),
        'rest512th': chr(0xE4EC),
        'rest1024th': chr(0xE4ED),
        'restQuarterOld': chr(0xE4F2),
        'restQuarterZ': chr(0xE4F6),
        'repeat1Bar': chr(0xE500),
        'repeat2Bars': chr(0xE501),
        'repeat4Bars': chr(0xE502),
        'repeatBarUpperDot': chr(0xE503),
        'repeatBarSlash': chr(0xE504),
        'repeatBarLowerDot': chr(0xE505),
        'ottava': chr(0xE510),
        'ottavaAlta': chr(0xE511),
        'ottavaBassa': chr(0xE512),
        'ottavaBassaBa': chr(0xE513),
        'quindicesima': chr(0xE514),
        'quindicesimaAlta': chr(0xE515),
        'quindicesimaBassa': chr(0xE516),
        'ventiduesima': chr(0xE517),
        'ventiduesimaAlta': chr(0xE518),
        'ventiduesimaBassa': chr(0xE519),
        'octaveParensLeft': chr(0xE51A),
        'octaveParensRight': chr(0xE51B),
        'ottavaBassaVb': chr(0xE51C),
        'quindicesimaBassaMb': chr(0xE51D),
        'ventiduesimaBassaMb': chr(0xE51E),
        'dynamicPiano': chr(0xE520),
        'dynamicMezzo': chr(0xE521),
        'dynamicForte': chr(0xE522),
        'dynamicRinforzando': chr(0xE523),
        'dynamicSforzando': chr(0xE524),
        'dynamicZ': chr(0xE525),
        'dynamicNiente': chr(0xE526),
        'dynamicPPPPPP': chr(0xE527),
        'dynamicPPPPP': chr(0xE528),
        'dynamicPPPP': chr(0xE529),
        'dynamicPPP': chr(0xE52A),
        'dynamicPP': chr(0xE52B),
        'dynamicMP': chr(0xE52C),
        'dynamicMF': chr(0xE52D),
        'dynamicPF': chr(0xE52E),
        'dynamicFF': chr(0xE52F),
        'dynamicFFF': chr(0xE530),
        'dynamicFFFF': chr(0xE531),
        'dynamicFFFFF': chr(0xE532),
        'dynamicFFFFFF': chr(0xE533),
        'dynamicFortePiano': chr(0xE534),
        'dynamicForzando': chr(0xE535),
        'dynamicSforzando1': chr(0xE536),
        'dynamicSforzandoPiano': chr(0xE537),
        'dynamicSforzandoPianissimo': chr(0xE538),
        'dynamicSforzato': chr(0xE539),
        'dynamicSforzatoPiano': chr(0xE53A),
        'dynamicSforzatoFF': chr(0xE53B),
        'dynamicRinforzando1': chr(0xE53C),
        'dynamicRinforzando2': chr(0xE53D),
        'lyricsElisionNarrow': chr(0xE550),
        'lyricsElision': chr(0xE551),
        'lyricsElisionWide': chr(0xE552),
        'ornamentTrill': chr(0xE566),
        'ornamentTurn': chr(0xE567),
        'ornamentTurnInverted': chr(0xE568),
        'ornamentTurnSlash': chr(0xE569),
        'ornamentTurnUp': chr(0xE56A),
        'ornamentTurnUpS': chr(0xE56B),
        'ornamentShortTrill': chr(0xE56C),
        'ornamentMordent': chr(0xE56D),
        'ornamentTremblement': chr(0xE56E),
        'ornamentHaydn': chr(0xE56F),
        'ornamentVerticalLine': chr(0xE583),
        'ornamentSchleifer': chr(0xE587),
        'ornamentZigZagLineNoRightEnd': chr(0xE59D),
        'ornamentZigZagLineWithRightEnd': chr(0xE59E),
        'ornamentPrecompSlide': chr(0xE5B0),
        'ornamentPrecompDescendingSlide': chr(0xE5B1),
        'ornamentPrecompAppoggTrill': chr(0xE5B2),
        'ornamentPrecompAppoggTrillSuffix': chr(0xE5B3),
        'ornamentPrecompTurnTrillDAnglebert': chr(0xE5B4),
        'ornamentPrecompSlideTrillDAnglebert': chr(0xE5B5),
        'ornamentPrecompSlideTrillMarpurg': chr(0xE5B6),
        'ornamentPrecompTurnTrillBach': chr(0xE5B7),
        'ornamentPrecompSlideTrillBach': chr(0xE5B8),
        'ornamentPrecompSlideTrillMuffat': chr(0xE5B9),
        'ornamentPrecompSlideTrillSuffixMuffat': chr(0xE5BA),
        'ornamentPrecompTrillSuffixDandrieu': chr(0xE5BB),
        'ornamentPrecompPortDeVoixMordent': chr(0xE5BC),
        'ornamentPrecompTrillWithMordent': chr(0xE5BD),
        'ornamentPrecompCadence': chr(0xE5BE),
        'ornamentPrecompCadenceWithTurn': chr(0xE5BF),
        'ornamentPrecompDoubleCadenceLowerPrefix': chr(0xE5C0),
        'ornamentPrecompCadenceUpperPrefix': chr(0xE5C1),
        'ornamentPrecompCadenceUpperPrefixTurn': chr(0xE5C2),
        'ornamentPrecompDoubleCadenceUpperPrefix': chr(0xE5C3),
        'ornamentPrecompDoubleCadenceUpperPrefixTurn': chr(0xE5C4),
        'ornamentPrecompMordentRelease': chr(0xE5C5),
        'ornamentPrecompMordentUpperPrefix': chr(0xE5C6),
        'ornamentPrecompInvertedMordentUpperPrefix': chr(0xE5C7),
        'ornamentPrecompTrillLowerSuffix': chr(0xE5C8),
        'brassMuteClosed': chr(0xE5E5),
        'brassMuteHalfClosed': chr(0xE5E6),
        'brassMuteOpen': chr(0xE5E7),
        'stringsDownBow': chr(0xE610),
        'stringsDownBowTurned': chr(0xE611),
        'stringsUpBow': chr(0xE612),
        'stringsUpBowTurned': chr(0xE613),
        'stringsHarmonic': chr(0xE614),
        'pluckedSnapPizzicatoBelow': chr(0xE630),
        'pluckedSnapPizzicatoAbove': chr(0xE631),
        'pluckedBuzzPizzicato': chr(0xE632),
        'pluckedLeftHandPizzicato': chr(0xE633),
        'pluckedDamp': chr(0xE638),
        'vocalSprechgesang': chr(0xE645),
        'keyboardPedalPed': chr(0xE650),
        'keyboardPedalP': chr(0xE651),
        'keyboardPedalUp': chr(0xE655),
        'keyboardPedalSost': chr(0xE659),
        'keyboardPedalS': chr(0xE65A),
        'pictBeaterSoftXylophoneUp': chr(0xE770),
        'pictBeaterSoftXylophoneDown': chr(0xE771),
        'pictBeaterSoftXylophoneRight': chr(0xE772),
        'pictBeaterSoftXylophoneLeft': chr(0xE773),
        'pictBeaterMediumXylophoneUp': chr(0xE774),
        'pictBeaterMediumXylophoneDown': chr(0xE775),
        'pictBeaterMediumXylophoneRight': chr(0xE776),
        'pictBeaterMediumXylophoneLeft': chr(0xE777),
        'pictBeaterHardXylophoneUp': chr(0xE778),
        'pictBeaterHardXylophoneDown': chr(0xE779),
        'pictBeaterHardXylophoneRight': chr(0xE77A),
        'pictBeaterHardXylophoneLeft': chr(0xE77B),
        'pictBeaterWoodXylophoneUp': chr(0xE77C),
        'pictBeaterWoodXylophoneDown': chr(0xE77D),
        'pictBeaterWoodXylophoneRight': chr(0xE77E),
        'pictBeaterWoodXylophoneLeft': chr(0xE77F),
        'pictBeaterSnareSticksUp': chr(0xE7D1),
        'pictBeaterSnareSticksDown': chr(0xE7D2),
        'pictBeaterHand': chr(0xE7E3),
        'pictBeaterFinger': chr(0xE7E4),
        'pictBeaterFist': chr(0xE7E5),
        'tuplet0': chr(0xE880),
        'tuplet1': chr(0xE881),
        'tuplet2': chr(0xE882),
        'tuplet3': chr(0xE883),
        'tuplet4': chr(0xE884),
        'tuplet5': chr(0xE885),
        'tuplet6': chr(0xE886),
        'tuplet7': chr(0xE887),
        'tuplet8': chr(0xE888),
        'tuplet9': chr(0xE889),
        'tupletColon': chr(0xE88A),
        'mensuralGclefPetrucci': chr(0xE901),
        'chantFclef': chr(0xE902),
        'mensuralFclef': chr(0xE903),
        'mensuralFclefPetrucci': chr(0xE904),
        'mensuralCclef': chr(0xE905),
        'chantCclef': chr(0xE906),
        'mensuralCclefPetrucciPosLowest': chr(0xE907),
        'mensuralCclefPetrucciPosLow': chr(0xE908),
        'mensuralCclefPetrucciPosMiddle': chr(0xE909),
        'mensuralCclefPetrucciPosHigh': chr(0xE90A),
        'mensuralCclefPetrucciPosHighest': chr(0xE90B),
        'mensuralProlation1': chr(0xE910),
        'mensuralProlation2': chr(0xE911),
        'mensuralProlation3': chr(0xE912),
        'mensuralProlation4': chr(0xE913),
        'mensuralProlation5': chr(0xE914),
        'mensuralProlation6': chr(0xE915),
        'mensuralProlation7': chr(0xE916),
        'mensuralProlation8': chr(0xE917),
        'mensuralProlation9': chr(0xE918),
        'mensuralProlation10': chr(0xE919),
        'mensuralProlation11': chr(0xE91A),
        'mensuralProportionTempusPerfectum': chr(0xE91B),
        'mensuralProportionProportioDupla1': chr(0xE91C),
        'mensuralProportionProportioDupla2': chr(0xE91D),
        'mensuralProportionProportioTripla': chr(0xE91E),
        'mensuralProportionProportioQuadrupla': chr(0xE91F),
        'mensuralProlationCombiningDot': chr(0xE920),
        'mensuralProlationCombiningTwoDots': chr(0xE921),
        'mensuralProlationCombiningThreeDots': chr(0xE922),
        'mensuralProlationCombiningThreeDotsTri': chr(0xE923),
        'mensuralProlationCombiningDotVoid': chr(0xE924),
        'mensuralProlationCombiningStroke': chr(0xE925),
        'mensuralNoteheadSemibrevisBlack': chr(0xE938),
        'mensuralNoteheadSemibrevisVoid': chr(0xE939),
        'mensuralNoteheadMinimaWhite': chr(0xE93C),
        'mensuralNoteheadSemiminimaWhite': chr(0xE93D),
        'mensuralCombStemUp': chr(0xE93E),
        'mensuralCombStemDown': chr(0xE93F),
        'mensuralCombStemDiagonal': chr(0xE940),
        'mensuralCombStemUpFlagRight': chr(0xE941),
        'mensuralCombStemDownFlagRight': chr(0xE942),
        'mensuralCombStemUpFlagLeft': chr(0xE943),
        'mensuralCombStemDownFlagLeft': chr(0xE944),
        'mensuralCombStemUpFlagFlared': chr(0xE945),
        'mensuralCombStemDownFlagFlared': chr(0xE946),
        'mensuralCombStemUpFlagExtended': chr(0xE947),
        'mensuralCombStemDownFlagExtended': chr(0xE948),
        'mensuralCombStemUpFlagSemiminima': chr(0xE949),
        'mensuralCombStemDownFlagSemiminima': chr(0xE94A),
        'mensuralCombStemUpFlagFusa': chr(0xE94B),
        'mensuralCombStemDownFlagFusa': chr(0xE94C),
        'chantPunctum': chr(0xE990),
        'chantPunctumInclinatum': chr(0xE991),
        'chantPunctumInclinatumAuctum': chr(0xE992),
        'chantPunctumInclinatumDeminutum': chr(0xE993),
        'chantAuctumAsc': chr(0xE994),
        'chantAuctumDesc': chr(0xE995),
        'chantPunctumVirga': chr(0xE996),
        'chantPunctumVirgaReversed': chr(0xE997),
        'chantQuilisma': chr(0xE99B),
        'chantOriscusLiquescens': chr(0xE99E),
        'chantStrophicus': chr(0xE99F),
        'chantPodatusLower': chr(0xE9B0),
        'chantPodatusUpper': chr(0xE9B1),
        'chantDeminutumUpper': chr(0xE9B2),
        'chantDeminutumLower': chr(0xE9B3),
        'chantEntryLineAsc2nd': chr(0xE9B4),
        'chantEntryLineAsc3rd': chr(0xE9B5),
        'chantEntryLineAsc4th': chr(0xE9B6),
        'chantEntryLineAsc5th': chr(0xE9B7),
        'chantEntryLineAsc6th': chr(0xE9B8),
        'chantLigaturaDesc2nd': chr(0xE9B9),
        'chantLigaturaDesc3rd': chr(0xE9BA),
        'chantLigaturaDesc4th': chr(0xE9BB),
        'chantLigaturaDesc5th': chr(0xE9BC),
        'chantConnectingLineAsc2nd': chr(0xE9BD),
        'chantConnectingLineAsc3rd': chr(0xE9BE),
        'chantConnectingLineAsc4th': chr(0xE9BF),
        'chantConnectingLineAsc5th': chr(0xE9C0),
        'chantConnectingLineAsc6th': chr(0xE9C1),
        'medRenFlatSoftB': chr(0xE9E0),
        'medRenFlatHardB': chr(0xE9E1),
        'medRenNatural': chr(0xE9E2),
        'medRenSharpCroix': chr(0xE9E3),
        'mensuralRestMaxima': chr(0xE9F0),
        'mensuralRestLongaPerfecta': chr(0xE9F1),
        'mensuralRestLongaImperfecta': chr(0xE9F2),
        'mensuralRestBrevis': chr(0xE9F3),
        'mensuralRestSemibrevis': chr(0xE9F4),
        'mensuralRestMinima': chr(0xE9F5),
        'mensuralRestSemiminima': chr(0xE9F6),
        'mensuralRestFusa': chr(0xE9F7),
        'mensuralRestSemifusa': chr(0xE9F8),
        'mensuralCustosUp': chr(0xEA02),
        'chantCustosStemUpPosMiddle': chr(0xEA06),
        'figbass0': chr(0xEA50),
        'figbass1': chr(0xEA51),
        'figbass2': chr(0xEA52),
        'figbass2Raised': chr(0xEA53),
        'figbass3': chr(0xEA54),
        'figbass4': chr(0xEA55),
        'figbass4Raised': chr(0xEA56),
        'figbass5': chr(0xEA57),
        'figbass5Raised1': chr(0xEA58),
        'figbass5Raised2': chr(0xEA59),
        'figbass5Raised3': chr(0xEA5A),
        'figbass6': chr(0xEA5B),
        'figbass6Raised': chr(0xEA5C),
        'figbass7': chr(0xEA5D),
        'figbass7Raised1': chr(0xEA5E),
        'figbass7Raised2': chr(0xEA5F),
        'figbass8': chr(0xEA60),
        'figbass9': chr(0xEA61),
        'figbass9Raised': chr(0xEA62),
        'figbassDoubleFlat': chr(0xEA63),
        'figbassFlat': chr(0xEA64),
        'figbassNatural': chr(0xEA65),
        'figbassSharp': chr(0xEA66),
        'figbassDoubleSharp': chr(0xEA67),
        'wiggleTrill': chr(0xEAA4),
        'wiggleArpeggiatoUp': chr(0xEAA9),
        'wiggleArpeggiatoDown': chr(0xEAAA),
        'wiggleArpeggiatoUpArrow': chr(0xEAAD),
        'wiggleArpeggiatoDownArrow': chr(0xEAAE),
        'wiggleGlissando': chr(0xEAAF),
        'elecPlay': chr(0xEB1C),
        'elecStop': chr(0xEB1D),
        'elecPause': chr(0xEB1E),
        'elecFastForward': chr(0xEB1F),
        'elecRewind': chr(0xEB20),
        'elecSkipForwards': chr(0xEB21),
        'elecSkipBackwards': chr(0xEB22),
        'luteDurationWhole': chr(0xEBA7),
        'luteDurationHalf': chr(0xEBA8),
        'luteDurationQuarter': chr(0xEBA9),
        'luteDuration8th': chr(0xEBAA),
        'luteDuration16th': chr(0xEBAB),
        'luteDuration32nd': chr(0xEBAC),
        'luteFrenchFretA': chr(0xEBC0),
        'luteFrenchFretB': chr(0xEBC1),
        'luteFrenchFretC': chr(0xEBC2),
        'luteFrenchFretD': chr(0xEBC3),
        'luteFrenchFretE': chr(0xEBC4),
        'luteFrenchFretF': chr(0xEBC5),
        'luteFrenchFretG': chr(0xEBC6),
        'luteFrenchFretH': chr(0xEBC7),
        'luteFrenchFretI': chr(0xEBC8),
        'luteFrenchFretK': chr(0xEBC9),
        'luteFrenchFretL': chr(0xEBCA),
        'luteFrenchFretM': chr(0xEBCB),
        'luteFrenchFretN': chr(0xEBCC),
        'luteItalianFret0': chr(0xEBE0),
        'luteItalianFret1': chr(0xEBE1),
        'luteItalianFret2': chr(0xEBE2),
        'luteItalianFret3': chr(0xEBE3),
        'luteItalianFret4': chr(0xEBE4),
        'luteItalianFret5': chr(0xEBE5),
        'luteItalianFret6': chr(0xEBE6),
        'luteItalianFret7': chr(0xEBE7),
        'luteItalianFret8': chr(0xEBE8),
        'luteItalianFret9': chr(0xEBE9),
        'timeSigBracketLeft': chr(0xEC80),
        'timeSigBracketRight': chr(0xEC81),
        'timeSigBracketLeftSmall': chr(0xEC82),
        'timeSigBracketRightSmall': chr(0xEC83),
        'timeSigSlash': chr(0xEC84),
        'timeSigCut2': chr(0xEC85),
        'timeSigCut3': chr(0xEC86),
        'figbass7Diminished': chr(0xECC0),
        'metNoteDoubleWhole': chr(0xECA0),
        'metNoteDoubleWholeSquare': chr(0xECA1),
        'metNoteWhole': chr(0xECA2),
        'metNoteHalfUp': chr(0xECA3),
        'metNoteQuarterUp': chr(0xECA5),
        'metNote8thUp': chr(0xECA7),
        'metNote16thUp': chr(0xECA9),
        'metNote32ndUp': chr(0xECAB),
        'metNote64thUp': chr(0xECAD),
        'metNote128thUp': chr(0xECAF),
        'metNote256thUp': chr(0xECB1),
        'metNote512thUp': chr(0xECB3),
        'metNote1024thUp': chr(0xECB5),
        'metAugmentationDot': chr(0xECB7),
        'articSoftAccentAbove': chr(0xED40),
        'articSoftAccentBelow': chr(0xED41),
    }

    SMUFL_METRONOME_MARK_NOTE_CHARS_TO_HUMDRUM_NOTE_NAME: dict[str, str] = {
        SMUFL_NAME_TO_UNICODE_CHAR['metNoteDoubleWhole']: 'double-whole',
        SMUFL_NAME_TO_UNICODE_CHAR['metNoteDoubleWholeSquare']: 'breve',
        SMUFL_NAME_TO_UNICODE_CHAR['metNoteWhole']: 'whole',
        SMUFL_NAME_TO_UNICODE_CHAR['metNoteHalfUp']: 'half',
        SMUFL_NAME_TO_UNICODE_CHAR['metNoteQuarterUp']: 'quarter',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote8thUp']: '8th',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote16thUp']: '16th',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote32ndUp']: '32nd',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote64thUp']: '64th',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote128thUp']: '128th',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote256thUp']: '256th',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote512thUp']: '512th',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote1024thUp']: '1024th'
    }

    SMUFL_METRONOME_MARK_NOTE_CHARS_TO_MUSIC21_FULL_NAME: dict[str, str] = {
        SMUFL_NAME_TO_UNICODE_CHAR['metNoteDoubleWhole']: 'Breve',
        SMUFL_NAME_TO_UNICODE_CHAR['metNoteWhole']: 'Whole',
        SMUFL_NAME_TO_UNICODE_CHAR['metNoteHalfUp']: 'Half',
        SMUFL_NAME_TO_UNICODE_CHAR['metNoteQuarterUp']: 'Quarter',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote8thUp']: '8th',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote16thUp']: '16th',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote32ndUp']: '32nd',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote64thUp']: '64th',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote128thUp']: '128th',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote256thUp']: '256th',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote512thUp']: '512th',
        SMUFL_NAME_TO_UNICODE_CHAR['metNote1024thUp']: '1024th'
    }
