# Path: pypinyin/style/_constants.py
# _FINALS = [
#     'i',
#     'u',
#     'ü',
#     'a',
#     'ia',
#     'ua',
#     'o',
#     'uo',
#     'e',
#     'ie',
#     'üe',
#     'ai',
#     'uai',
#     'ei',
#     'uei',
#     'ao',
#     'iao',
#     'ou',
#     'iou',
#     'an',
#     'ian',
#     'uan',
#     'üan',
#     'en',
#     'in',
#     'uen',
#     'ün',
#     'ang',
#     'iang',
#     'uang',
#     'eng',
#     'ing',
#     'ueng',
#     'ong',
#     'iong',
# 
#     'er',
#     'ê',
# ]


import re
from pypinyin.style._constants import _FINALS
    # y: yu -> v, yi -> i, y -> i
    if raw_pinyin.startswith('y'):
        # 去除 y 后的拼音
        no_y_py = pinyin[1:]
        first_char = no_y_py[0] if len(no_y_py) > 0 else None

        # yu -> ü: yue -> üe
        if first_char in U_TONES:
            pinyin = UV_MAP[first_char] + pinyin[2:]
        # yi -> i: yi -> i
        elif first_char in I_TONES:
            pinyin = no_y_py
        # y -> i: ya -> ia
        else:
            pinyin = 'i' + no_y_py

    # w: wu -> u, w -> u
    if raw_pinyin.startswith('w'):
        # 去除 w 后的拼音
        no_w_py = pinyin[1:]
        first_char = no_w_py[0] if len(no_w_py) > 0 else None

        # wu -> u: wu -> u
        if first_char in U_TONES:
            pinyin = pinyin[1:]
        # w -> u: wa -> ua
        else:
            pinyin = 'u' + pinyin[1:]

    # 确保不会出现韵母表中不存在的韵母

# Path: pypinyin/style/_constants.py
# _FINALS = [
#     'i',
#     'u',
#     'ü',
#     'a',
#     'ia',
#     'ua',
#     'o',
#     'uo',
#     'e',
#     'ie',
#     'üe',
#     'ai',
#     'uai',
#     'ei',
#     'uei',
#     'ao',
#     'iao',
#     'ou',
#     'iou',
#     'an',
#     'ian',
#     'uan',
#     'üan',
#     'en',
#     'in',
#     'uen',
#     'ün',
#     'ang',
#     'iang',
#     'uang',
#     'eng',
#     'ing',
#     'ueng',
#     'ong',
#     'iong',
# 
#     'er',
#     'ê',
# ]


# Path: pypinyin/standard.py
import re
from pypinyin.style._constants import _FINALS

    # y: yu -> v, yi -> i, y -> i
    if raw_pinyin.startswith('y'):
        # 去除 y 后的拼音
        no_y_py = pinyin[1:]
        first_char = no_y_py[0] if len(no_y_py) > 0 else None

        # yu -> ü: yue -> üe
        if first_char in U_TONES:
            pinyin = UV_MAP[first_char] + pinyin[2:]
        # yi -> i: yi -> i
        elif first_char in I_TONES:
            pinyin = no_y_py
        # y -> i: ya -> ia
        else:
            pinyin = 'i' + no_y_py

    # w: wu -> u, w -> u
    if raw_pinyin.startswith('w'):
        # 去除 w 后的拼音
        no_w_py = pinyin[1:]
        first_char = no_w_py[0] if len(no_w_py) > 0 else None

        # wu -> u: wu -> u
        if first_char in U_TONES:
            pinyin = pinyin[1:]
        # w -> u: wa -> ua
        else:
            pinyin = 'u' + pinyin[1:]

    # 确保不会出现韵母表中不存在的韵母

    if pinyin not in _FINALS: