Bump aiohttp from 3.8.6 to 3.9.0 (#117)

* Bump aiohttp from 3.8.6 to 3.9.0

Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.6 to 3.9.0.
- [Release notes](https://github.com/aio-libs/aiohttp/releases)
- [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst)
- [Commits](https://github.com/aio-libs/aiohttp/compare/v3.8.6...v3.9.0)

---
updated-dependencies:
- dependency-name: aiohttp
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* 🚨 `pre-commit-ci`修复格式错误

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
dependabot[bot] 2023-12-01 22:15:01 +08:00 committed by GitHub
parent 8c55d9d124
commit 91383b71b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 150 additions and 137 deletions

View File

@ -2,18 +2,18 @@ import re
from pathlib import Path from pathlib import Path
from typing import Tuple, cast from typing import Tuple, cast
from PIL import Image
from gsuid_core.sv import SV
from gsuid_core.bot import Bot from gsuid_core.bot import Bot
from gsuid_core.models import Event from gsuid_core.models import Event
from gsuid_core.sv import SV
from PIL import Image
from .to_card import api_to_card
from ..utils.convert import get_uid from ..utils.convert import get_uid
from ..utils.sr_prefix import PREFIX
from ..utils.error_reply import UID_HINT from ..utils.error_reply import UID_HINT
from .get_char_img import draw_char_info_img
from ..utils.image.convert import convert_img from ..utils.image.convert import convert_img
from ..utils.resource.RESOURCE_PATH import TEMP_PATH from ..utils.resource.RESOURCE_PATH import TEMP_PATH
from ..utils.sr_prefix import PREFIX
from .get_char_img import draw_char_info_img
from .to_card import api_to_card
sv_char_info_config = SV('sr面板设置', pm=2) sv_char_info_config = SV('sr面板设置', pm=2)
sv_get_char_info = SV('sr面板查询', priority=10) sv_get_char_info = SV('sr面板查询', priority=10)

View File

@ -1,39 +1,39 @@
import json
import re import re
import json
from pathlib import Path from pathlib import Path
from typing import Dict, Optional, Tuple, Union from typing import Dict, Tuple, Union, Optional
from gsuid_core.logger import logger from gsuid_core.logger import logger
from starrail_damage_cal.to_data import api_to_dict
from starrail_damage_cal.excel.model import ( from starrail_damage_cal.excel.model import (
AvatarPromotionConfig, AvatarPromotionConfig,
EquipmentPromotionConfig, EquipmentPromotionConfig,
) )
from starrail_damage_cal.to_data import api_to_dict
from .draw_char_img import draw_char_img
from ..utils.error_reply import CHAR_HINT from ..utils.error_reply import CHAR_HINT
from ..utils.resource.RESOURCE_PATH import PLAYER_PATH
from ..utils.map.name_covert import ( from ..utils.map.name_covert import (
alias_to_char_name,
alias_to_weapon_name,
name_to_avatar_id, name_to_avatar_id,
name_to_weapon_id, name_to_weapon_id,
alias_to_char_name,
alias_to_weapon_name,
) )
from ..utils.map.SR_MAP_PATH import ( from ..utils.map.SR_MAP_PATH import (
AvatarRankSkillUp,
EquipmentID2Name,
EquipmentID2Rarity,
Property2Name, Property2Name,
avatarId2DamageType, EquipmentID2Name,
avatarId2EnName, AvatarRankSkillUp,
EquipmentID2Rarity,
rankId2Name,
skillId2Name,
avatarId2Name, avatarId2Name,
skillId2Effect,
avatarId2EnName,
avatarId2Rarity, avatarId2Rarity,
characterSkillTree, characterSkillTree,
rankId2Name,
skillId2AttackType, skillId2AttackType,
skillId2Effect, avatarId2DamageType,
skillId2Name,
) )
from ..utils.resource.RESOURCE_PATH import PLAYER_PATH
from .draw_char_img import draw_char_img
WEAPON_TO_INT = { WEAPON_TO_INT = {
'': 1, '': 1,

View File

@ -9,13 +9,13 @@ from ..utils.sr_prefix import PREFIX
from ..utils.error_reply import UID_HINT from ..utils.error_reply import UID_HINT
from .draw_note_card import draw_note_img from .draw_note_card import draw_note_img
sv_get_monthly_data = SV("sr查询月历") sv_get_monthly_data = SV('sr查询月历')
# 群聊内 每月统计 功能 # 群聊内 每月统计 功能
@sv_get_monthly_data.on_fullmatch(f"{PREFIX}每月统计") @sv_get_monthly_data.on_fullmatch(f'{PREFIX}每月统计')
async def send_monthly_data(bot: Bot, ev: Event): async def send_monthly_data(bot: Bot, ev: Event):
sr_uid = await GsBind.get_uid_by_game(ev.user_id, ev.bot_id, "sr") sr_uid = await GsBind.get_uid_by_game(ev.user_id, ev.bot_id, 'sr')
if sr_uid is None: if sr_uid is None:
return UID_HINT return UID_HINT
await bot.send(await award(sr_uid)) await bot.send(await award(sr_uid))
@ -24,13 +24,13 @@ async def send_monthly_data(bot: Bot, ev: Event):
@sv_get_monthly_data.on_fullmatch( @sv_get_monthly_data.on_fullmatch(
( (
f"{PREFIX}开拓月历", f'{PREFIX}开拓月历',
f"{PREFIX}zj", f'{PREFIX}zj',
f"{PREFIX}月历", f'{PREFIX}月历',
) )
) )
async def send_monthly_pic(bot: Bot, ev: Event): async def send_monthly_pic(bot: Bot, ev: Event):
await bot.logger.info("开始执行[sr开拓月历]") await bot.logger.info('开始执行[sr开拓月历]')
sr_uid = await get_uid(bot, ev) sr_uid = await get_uid(bot, ev)
if sr_uid is None: if sr_uid is None:
return UID_HINT return UID_HINT

View File

@ -10,28 +10,28 @@ from ..utils.sr_prefix import PREFIX
from ..utils.error_reply import UID_HINT from ..utils.error_reply import UID_HINT
from .draw_roleinfo_card import get_role_img, get_detail_img from .draw_roleinfo_card import get_role_img, get_detail_img
sv_get_info = SV("sr查询信息") sv_get_info = SV('sr查询信息')
@sv_get_info.on_command(f"{PREFIX}uid") @sv_get_info.on_command(f'{PREFIX}uid')
async def send_role_info(bot: Bot, ev: Event): async def send_role_info(bot: Bot, ev: Event):
name = "".join(re.findall("[\u4e00-\u9fa5]", ev.text)) name = ''.join(re.findall('[\u4e00-\u9fa5]', ev.text))
if name: if name:
return None return None
uid = await get_uid(bot, ev) uid = await get_uid(bot, ev)
if uid is None: if uid is None:
return "你还没有绑定UID噢,请使用[sr绑定uid123]完成绑定!" return '你还没有绑定UID噢,请使用[sr绑定uid123]完成绑定!'
logger.info(f"[sr查询信息]UID: {uid}") logger.info(f'[sr查询信息]UID: {uid}')
await bot.logger.info("开始执行[sr查询信息]") await bot.logger.info('开始执行[sr查询信息]')
await bot.send(await get_role_img(uid)) await bot.send(await get_role_img(uid))
return None return None
@sv_get_info.on_command(f"{PREFIX}练度统计") @sv_get_info.on_command(f'{PREFIX}练度统计')
async def send_detail_info(bot: Bot, ev: Event): async def send_detail_info(bot: Bot, ev: Event):
name = "".join(re.findall("[\u4e00-\u9fa5]", ev.text)) name = ''.join(re.findall('[\u4e00-\u9fa5]', ev.text))
if name: if name:
return None return None
get_uid_ = await get_uid(bot, ev, True) get_uid_ = await get_uid(bot, ev, True)
@ -41,7 +41,7 @@ async def send_detail_info(bot: Bot, ev: Event):
if uid is None: if uid is None:
return await bot.send(UID_HINT) return await bot.send(UID_HINT)
logger.info(f"[sr查询信息]UID: {uid}") logger.info(f'[sr查询信息]UID: {uid}')
await bot.logger.info("开始执行[sr查询信息]") await bot.logger.info('开始执行[sr查询信息]')
await bot.send(await get_detail_img(user_id, uid)) await bot.send(await get_detail_img(user_id, uid))
return None return None

View File

@ -1,35 +1,33 @@
import asyncio import asyncio
from pathlib import Path from pathlib import Path
from typing import Dict, List, Optional, Union from typing import Dict, List, Union, Optional
from PIL import Image, ImageDraw
from gsuid_core.logger import logger from gsuid_core.logger import logger
from gsuid_core.utils.error_reply import get_error from gsuid_core.utils.error_reply import get_error
from PIL import Image, ImageDraw
from gsuid_core.utils.image.image_tools import ( from gsuid_core.utils.image.image_tools import (
get_qq_avatar, get_qq_avatar,
draw_pic_with_ring, draw_pic_with_ring,
) )
from ..utils.mys_api import mys_api
from .utils import get_icon, wrap_list
from ..utils.image.convert import convert_img
from ..utils.fonts.first_world import fw_font_24
from ..sruid_utils.api.mys.models import ( from ..sruid_utils.api.mys.models import (
Stats,
AvatarDetail, AvatarDetail,
RoleBasicInfo,
AvatarListItem, AvatarListItem,
AvatarListItemDetail, AvatarListItemDetail,
RoleBasicInfo,
Stats,
) )
from ..utils.fonts.first_world import fw_font_24
from ..utils.fonts.starrail_fonts import ( from ..utils.fonts.starrail_fonts import (
sr_font_22, sr_font_22,
sr_font_24, sr_font_24,
sr_font_26,
sr_font_28, sr_font_28,
sr_font_30, sr_font_30,
sr_font_36, sr_font_36,
sr_font_40,
) )
from ..utils.image.convert import convert_img
from ..utils.mys_api import mys_api
from .utils import get_icon, wrap_list
TEXT_PATH = Path(__file__).parent / 'texture2D' TEXT_PATH = Path(__file__).parent / 'texture2D'
@ -167,7 +165,7 @@ async def _draw_avatar_card(
char_bg.paste(char_icon, (4, 8), mask=char_icon) char_bg.paste(char_icon, (4, 8), mask=char_icon)
char_bg.paste(element_icon, (10, 10), mask=element_icon) char_bg.paste(element_icon, (10, 10), mask=element_icon)
if avatar.rank > 0: if avatar.rank > 0:
char_bg.paste(rank_bg, (89, 6), mask=rank_bg) char_bg.paste(rank_bg, (89, 6), mask=rank_bg)
char_draw.text( char_draw.text(
@ -384,10 +382,10 @@ async def get_detail_card(qid: Union[str, int], sr_uid: str) -> Union[bytes, str
else: else:
char_info = char_info.resize((1050, img_height)) char_info = char_info.resize((1050, img_height))
char_img_draw = ImageDraw.Draw(char_info) char_img_draw = ImageDraw.Draw(char_info)
char_title = Image.open(TEXT_PATH / 'title.png') char_title = Image.open(TEXT_PATH / 'title.png')
char_info.paste(char_title, (0, 0), char_title) char_info.paste(char_title, (0, 0), char_title)
# 获取头像 # 获取头像
_id = str(qid) _id = str(qid)
if _id.startswith('http'): if _id.startswith('http'):
@ -400,10 +398,10 @@ async def get_detail_card(qid: Union[str, int], sr_uid: str) -> Union[bytes, str
# 绘制抬头 # 绘制抬头
char_img_draw.text((525, 420), f'UID {sr_uid}', white_color, sr_font_28, 'mm') char_img_draw.text((525, 420), f'UID {sr_uid}', white_color, sr_font_28, 'mm')
title_img = Image.open(TEXT_PATH / 'bar_title.png') title_img = Image.open(TEXT_PATH / 'bar_title.png')
char_info.paste(title_img, (0, 515), mask=title_img) char_info.paste(title_img, (0, 515), mask=title_img)
for index, avatar in enumerate(avatar_list.avatar_list): for index, avatar in enumerate(avatar_list.avatar_list):
avatar_detail = await mys_api.get_avatar_detail(sr_uid, str(avatar.id)) avatar_detail = await mys_api.get_avatar_detail(sr_uid, str(avatar.id))
if isinstance(avatar_detail, int): if isinstance(avatar_detail, int):

View File

@ -1,10 +1,10 @@
from io import BytesIO from io import BytesIO
from pathlib import Path from pathlib import Path
from typing import Generator, List, TypeVar from typing import List, TypeVar, Generator
from PIL import Image
from aiohttp import ClientSession from aiohttp import ClientSession
from gsuid_core.data_store import get_res_path from gsuid_core.data_store import get_res_path
from PIL import Image
T = TypeVar('T') T = TypeVar('T')

View File

@ -23,16 +23,16 @@ async def get_uid(
async def get_uid( async def get_uid(
bot: Bot, ev: Event, get_user_id: bool = False, only_uid: bool = False bot: Bot, ev: Event, get_user_id: bool = False, only_uid: bool = False
) -> Union[Optional[str], Tuple[Optional[str], str]]: ) -> Union[Optional[str], Tuple[Optional[str], str]]:
uid_data = re.findall(r"\d{9}", ev.text) uid_data = re.findall(r'\d{9}', ev.text)
user_id = ev.at if ev.at else ev.user_id user_id = ev.at if ev.at else ev.user_id
if uid_data: if uid_data:
sr_uid: Optional[str] = uid_data[0] sr_uid: Optional[str] = uid_data[0]
if sr_uid: if sr_uid:
ev.text = ev.text.replace(sr_uid, "") ev.text = ev.text.replace(sr_uid, '')
else: else:
sr_uid = await GsBind.get_uid_by_game(ev.user_id, ev.bot_id, "sr") sr_uid = await GsBind.get_uid_by_game(ev.user_id, ev.bot_id, 'sr')
if only_uid: if only_uid:
sr_uid = await GsBind.get_uid_by_game(ev.user_id, ev.bot_id, "sr") sr_uid = await GsBind.get_uid_by_game(ev.user_id, ev.bot_id, 'sr')
if get_user_id: if get_user_id:
return sr_uid, user_id return sr_uid, user_id
return sr_uid return sr_uid

View File

@ -2,33 +2,33 @@ import asyncio
from pathlib import Path from pathlib import Path
from typing import Dict, List, Tuple, Union from typing import Dict, List, Tuple, Union
from aiohttp import ClientTimeout, TCPConnector
from aiohttp.client import ClientSession
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
from gsuid_core.logger import logger
from gsuid_core.utils.download_resource.download_core import find_fastest_url
from gsuid_core.utils.download_resource.download_file import download
from msgspec import json as msgjson from msgspec import json as msgjson
from gsuid_core.logger import logger
from aiohttp.client import ClientSession
from aiohttp import TCPConnector, ClientTimeout
from gsuid_core.utils.download_resource.download_file import download
from gsuid_core.utils.download_resource.download_core import find_fastest_url
from .download_url import download_file from .download_url import download_file
from .RESOURCE_PATH import ( from .RESOURCE_PATH import (
CHAR_ICON_PATH, WIKI_PATH,
CHAR_PORTRAIT_PATH,
CHAR_PREVIEW_PATH,
CONSUMABLE_PATH,
ELEMENT_PATH,
GUIDE_CHARACTER_PATH,
GUIDE_LIGHT_CONE_PATH,
GUIDE_PATH, GUIDE_PATH,
RELIC_PATH, RELIC_PATH,
RESOURCE_PATH,
SKILL_PATH, SKILL_PATH,
WEAPON_PATH, WEAPON_PATH,
WIKI_LIGHT_CONE_PATH, ELEMENT_PATH,
WIKI_MATERIAL_FOR_ROLE, RESOURCE_PATH,
WIKI_PATH, CHAR_ICON_PATH,
WIKI_RELIC_PATH,
WIKI_ROLE_PATH, WIKI_ROLE_PATH,
CONSUMABLE_PATH,
WIKI_RELIC_PATH,
CHAR_PREVIEW_PATH,
CHAR_PORTRAIT_PATH,
GUIDE_CHARACTER_PATH,
WIKI_LIGHT_CONE_PATH,
GUIDE_LIGHT_CONE_PATH,
WIKI_MATERIAL_FOR_ROLE,
) )
with Path.open( with Path.open(

View File

@ -4,68 +4,83 @@
aiofiles==23.2.1 \ aiofiles==23.2.1 \
--hash=sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107 \ --hash=sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107 \
--hash=sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a --hash=sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a
aiohttp==3.8.6 \ aiohttp==3.9.0 \
--hash=sha256:002f23e6ea8d3dd8d149e569fd580c999232b5fbc601c48d55398fbc2e582e8c \ --hash=sha256:05857848da443c8c12110d99285d499b4e84d59918a21132e45c3f0804876994 \
--hash=sha256:01770d8c04bd8db568abb636c1fdd4f7140b284b8b3e0b4584f070180c1e5c62 \ --hash=sha256:05a183f1978802588711aed0dea31e697d760ce9055292db9dc1604daa9a8ded \
--hash=sha256:0fa375b3d34e71ccccf172cab401cd94a72de7a8cc01847a7b3386204093bb47 \ --hash=sha256:09f23292d29135025e19e8ff4f0a68df078fe4ee013bca0105b2e803989de92d \
--hash=sha256:14cd52ccf40006c7a6cd34a0f8663734e5363fd981807173faf3a017e202fec9 \ --hash=sha256:11ca808f9a6b63485059f5f6e164ef7ec826483c1212a44f268b3653c91237d8 \
--hash=sha256:16d330b3b9db87c3883e565340d292638a878236418b23cc8b9b11a054aaa887 \ --hash=sha256:1736d87dad8ef46a8ec9cddd349fa9f7bd3a064c47dd6469c0d6763d3d49a4fc \
--hash=sha256:1bed815f3dc3d915c5c1e556c397c8667826fbc1b935d95b0ad680787896a358 \ --hash=sha256:1df43596b826022b14998f0460926ce261544fedefe0d2f653e1b20f49e96454 \
--hash=sha256:1d84166673694841d8953f0a8d0c90e1087739d24632fe86b1a08819168b4566 \ --hash=sha256:23170247ef89ffa842a02bbfdc425028574d9e010611659abeb24d890bc53bb8 \
--hash=sha256:253bf92b744b3170eb4c4ca2fa58f9c4b87aeb1df42f71d4e78815e6e8b73c9e \ --hash=sha256:2779f5e7c70f7b421915fd47db332c81de365678180a9f3ab404088f87ba5ff9 \
--hash=sha256:255ba9d6d5ff1a382bb9a578cd563605aa69bec845680e21c44afc2670607a95 \ --hash=sha256:28185e36a78d247c55e9fbea2332d16aefa14c5276a582ce7a896231c6b1c208 \
--hash=sha256:2817b2f66ca82ee699acd90e05c95e79bbf1dc986abb62b61ec8aaf851e81c93 \ --hash=sha256:2cbc14a13fb6b42d344e4f27746a4b03a2cb0c1c3c5b932b0d6ad8881aa390e3 \
--hash=sha256:2d5b785c792802e7b275c420d84f3397668e9d49ab1cb52bd916b3b3ffcf09ad \ --hash=sha256:2d71abc15ff7047412ef26bf812dfc8d0d1020d664617f4913df2df469f26b76 \
--hash=sha256:33164093be11fcef3ce2571a0dccd9041c9a93fa3bde86569d7b03120d276c6f \ --hash=sha256:2d820162c8c2bdbe97d328cd4f417c955ca370027dce593345e437b2e9ffdc4d \
--hash=sha256:39a312d0e991690ccc1a61f1e9e42daa519dcc34ad03eb6f826d94c1190190dd \ --hash=sha256:317719d7f824eba55857fe0729363af58e27c066c731bc62cd97bc9c3d9c7ea4 \
--hash=sha256:3b2ab182fc28e7a81f6c70bfbd829045d9480063f5ab06f6e601a3eddbbd49a0 \ --hash=sha256:35a68cd63ca6aaef5707888f17a70c36efe62b099a4e853d33dc2e9872125be8 \
--hash=sha256:3c68330a59506254b556b99a91857428cab98b2f84061260a67865f7f52899f5 \ --hash=sha256:3607375053df58ed6f23903aa10cf3112b1240e8c799d243bbad0f7be0666986 \
--hash=sha256:3f0e27e5b733803333bb2371249f41cf42bae8884863e8e8965ec69bebe53132 \ --hash=sha256:366bc870d7ac61726f32a489fbe3d1d8876e87506870be66b01aeb84389e967e \
--hash=sha256:3f5c7ce535a1d2429a634310e308fb7d718905487257060e5d4598e29dc17f0b \ --hash=sha256:3abf0551874fecf95f93b58f25ef4fc9a250669a2257753f38f8f592db85ddea \
--hash=sha256:3fd194939b1f764d6bb05490987bfe104287bbf51b8d862261ccf66f48fb4096 \ --hash=sha256:3d7f6235c7475658acfc1769d968e07ab585c79f6ca438ddfecaa9a08006aee2 \
--hash=sha256:41bdc2ba359032e36c0e9de5a3bd00d6fb7ea558a6ce6b70acedf0da86458321 \ --hash=sha256:3dd8119752dd30dd7bca7d4bc2a92a59be6a003e4e5c2cf7e248b89751b8f4b7 \
--hash=sha256:41d55fc043954cddbbd82503d9cc3f4814a40bcef30b3569bc7b5e34130718c1 \ --hash=sha256:42fe4fd9f0dfcc7be4248c162d8056f1d51a04c60e53366b0098d1267c4c9da8 \
--hash=sha256:42c89579f82e49db436b69c938ab3e1559e5a4409eb8639eb4143989bc390f2f \ --hash=sha256:45820ddbb276113ead8d4907a7802adb77548087ff5465d5c554f9aa3928ae7d \
--hash=sha256:4ac39027011414dbd3d87f7edb31680e1f430834c8cef029f11c66dad0670aa5 \ --hash=sha256:4790e44f46a4aa07b64504089def5744d3b6780468c4ec3a1a36eb7f2cae9814 \
--hash=sha256:4fcf3eabd3fd1a5e6092d1242295fa37d0354b2eb2077e6eb670accad78e40e1 \ --hash=sha256:4afa8f71dba3a5a2e1e1282a51cba7341ae76585345c43d8f0e624882b622218 \
--hash=sha256:6c5f938d199a6fdbdc10bbb9447496561c3a9a565b43be564648d81e1102ac22 \ --hash=sha256:4b777c9286b6c6a94f50ddb3a6e730deec327e9e2256cb08b5530db0f7d40fd8 \
--hash=sha256:6e2f9cc8e5328f829f6e1fb74a0a3a939b14e67e80832975e01929e320386b34 \ --hash=sha256:4ee1b4152bc3190cc40ddd6a14715e3004944263ea208229ab4c297712aa3075 \
--hash=sha256:71783b0b6455ac8f34b5ec99d83e686892c50498d5d00b8e56d47f41b38fbe04 \ --hash=sha256:51a4cd44788ea0b5e6bb8fa704597af3a30be75503a7ed1098bc5b8ffdf6c982 \
--hash=sha256:76b36b3124f0223903609944a3c8bf28a599b2cc0ce0be60b45211c8e9be97f8 \ --hash=sha256:536b01513d67d10baf6f71c72decdf492fb7433c5f2f133e9a9087379d4b6f31 \
--hash=sha256:7bc88fc494b1f0311d67f29fee6fd636606f4697e8cc793a2d912ac5b19aa38d \ --hash=sha256:571760ad7736b34d05597a1fd38cbc7d47f7b65deb722cb8e86fd827404d1f6b \
--hash=sha256:7ee912f7e78287516df155f69da575a0ba33b02dd7c1d6614dbc9463f43066e3 \ --hash=sha256:5a2eb5311a37fe105aa35f62f75a078537e1a9e4e1d78c86ec9893a3c97d7a30 \
--hash=sha256:86f20cee0f0a317c76573b627b954c412ea766d6ada1a9fcf1b805763ae7feeb \ --hash=sha256:5ab16c254e2312efeb799bc3c06897f65a133b38b69682bf75d1f1ee1a9c43a9 \
--hash=sha256:89341b2c19fb5eac30c341133ae2cc3544d40d9b1892749cdd25892bbc6ac951 \ --hash=sha256:65b0a70a25456d329a5e1426702dde67be0fb7a4ead718005ba2ca582d023a94 \
--hash=sha256:8d399dade330c53b4106160f75f55407e9ae7505263ea86f2ccca6bfcbdb4921 \ --hash=sha256:673343fbc0c1ac44d0d2640addc56e97a052504beacd7ade0dc5e76d3a4c16e8 \
--hash=sha256:8e31e9db1bee8b4f407b77fd2507337a0a80665ad7b6c749d08df595d88f1cf5 \ --hash=sha256:6777a390e41e78e7c45dab43a4a0196c55c3b8c30eebe017b152939372a83253 \
--hash=sha256:918810ef188f84152af6b938254911055a72e0f935b5fbc4c1a4ed0b0584aed1 \ --hash=sha256:6896b8416be9ada4d22cd359d7cb98955576ce863eadad5596b7cdfbf3e17c6c \
--hash=sha256:93c15c8e48e5e7b89d5cb4613479d144fda8344e2d886cf694fd36db4cc86865 \ --hash=sha256:694df243f394629bcae2d8ed94c589a181e8ba8604159e6e45e7b22e58291113 \
--hash=sha256:96603a562b546632441926cd1293cfcb5b69f0b4159e6077f7c7dbdfb686af4d \ --hash=sha256:70e851f596c00f40a2f00a46126c95c2e04e146015af05a9da3e4867cfc55911 \
--hash=sha256:99c5ac4ad492b4a19fc132306cd57075c28446ec2ed970973bbf036bcda1bcc6 \ --hash=sha256:7276fe0017664414fdc3618fca411630405f1aaf0cc3be69def650eb50441787 \
--hash=sha256:9c19b26acdd08dd239e0d3669a3dddafd600902e37881f13fbd8a53943079dbc \ --hash=sha256:76a86a9989ebf82ee61e06e2bab408aec4ea367dc6da35145c3352b60a112d11 \
--hash=sha256:9de50a199b7710fa2904be5a4a9b51af587ab24c8e540a7243ab737b45844543 \ --hash=sha256:7a94bde005a8f926d0fa38b88092a03dea4b4875a61fbcd9ac6f4351df1b57cd \
--hash=sha256:9e2ee0ac5a1f5c7dd3197de309adfb99ac4617ff02b0603fd1e65b07dc772e4b \ --hash=sha256:7ae5f99a32c53731c93ac3075abd3e1e5cfbe72fc3eaac4c27c9dd64ba3b19fe \
--hash=sha256:a2ece4af1f3c967a4390c284797ab595a9f1bc1130ef8b01828915a05a6ae684 \ --hash=sha256:7e8a3b79b6d186a9c99761fd4a5e8dd575a48d96021f220ac5b5fa856e5dd029 \
--hash=sha256:ad1407db8f2f49329729564f71685557157bfa42b48f4b93e53721a16eb813ed \ --hash=sha256:816f4db40555026e4cdda604a1088577c1fb957d02f3f1292e0221353403f192 \
--hash=sha256:b04691bc6601ef47c88f0255043df6f570ada1a9ebef99c34bd0b72866c217ae \ --hash=sha256:8303531e2c17b1a494ffaeba48f2da655fe932c4e9a2626c8718403c83e5dd2b \
--hash=sha256:b0cf2a4501bff9330a8a5248b4ce951851e415bdcce9dc158e76cfd55e15085c \ --hash=sha256:8488519aa05e636c5997719fe543c8daf19f538f4fa044f3ce94bee608817cff \
--hash=sha256:b30e963f9e0d52c28f284d554a9469af073030030cef8693106d918b2ca92f54 \ --hash=sha256:87c8b0a6487e8109427ccf638580865b54e2e3db4a6e0e11c02639231b41fc0f \
--hash=sha256:bd111d7fc5591ddf377a408ed9067045259ff2770f37e2d94e6478d0f3fc0c17 \ --hash=sha256:8c9e5f4d7208cda1a2bb600e29069eecf857e6980d0ccc922ccf9d1372c16f4b \
--hash=sha256:bdf70bfe5a1414ba9afb9d49f0c912dc524cf60141102f3a11143ba3d291870f \ --hash=sha256:94697c7293199c2a2551e3e3e18438b4cba293e79c6bc2319f5fd652fccb7456 \
--hash=sha256:caf486ac1e689dda3502567eb89ffe02876546599bbf915ec94b1fa424eeffd4 \ --hash=sha256:9623cfd9e85b76b83ef88519d98326d4731f8d71869867e47a0b979ffec61c73 \
--hash=sha256:ccc360e87341ad47c777f5723f68adbb52b37ab450c8bc3ca9ca1f3e849e5fe2 \ --hash=sha256:98d21092bf2637c5fa724a428a69e8f5955f2182bff61f8036827cf6ce1157bf \
--hash=sha256:d52d5dc7c6682b720280f9d9db41d36ebe4791622c842e258c9206232251ab2b \ --hash=sha256:99ae01fb13a618b9942376df77a1f50c20a281390dad3c56a6ec2942e266220d \
--hash=sha256:d67f8baed00870aa390ea2590798766256f31dc5ed3ecc737debb6e97e2ede78 \ --hash=sha256:9c196b30f1b1aa3363a69dd69079ae9bec96c2965c4707eaa6914ba099fb7d4f \
--hash=sha256:d76e8b13161a202d14c9584590c4df4d068c9567c99506497bdd67eaedf36403 \ --hash=sha256:a00ce44c21612d185c5275c5cba4bab8d7c1590f248638b667ed8a782fa8cd6f \
--hash=sha256:e1d8cb0b56b3587c5c01de3bf2f600f186da7e7b5f7353d1bf26a8ddca57f965 \ --hash=sha256:a1b66dbb8a7d5f50e9e2ea3804b01e766308331d0cac76eb30c563ac89c95985 \
--hash=sha256:e3f1e3f1a1751bb62b4a1b7f4e435afcdade6c17a4fd9b9d43607cebd242924a \ --hash=sha256:a1d7edf74a36de0e5ca50787e83a77cf352f5504eb0ffa3f07000a911ba353fb \
--hash=sha256:e6a00ffcc173e765e200ceefb06399ba09c06db97f401f920513a10c803604ca \ --hash=sha256:a1e3b3c107ccb0e537f309f719994a55621acd2c8fdf6d5ce5152aed788fb940 \
--hash=sha256:e827d48cf802de06d9c935088c2924e3c7e7533377d66b6f31ed175c1620e05e \ --hash=sha256:a486ddf57ab98b6d19ad36458b9f09e6022de0381674fe00228ca7b741aacb2f \
--hash=sha256:ec00c3305788e04bf6d29d42e504560e159ccaf0be30c09203b468a6c1ccd3b2 \ --hash=sha256:ac9669990e2016d644ba8ae4758688534aabde8dbbc81f9af129c3f5f01ca9cd \
--hash=sha256:ec4fd86658c6a8964d75426517dc01cbf840bbf32d055ce64a9e63a40fd7b771 \ --hash=sha256:b1a2ea8252cacc7fd51df5a56d7a2bb1986ed39be9397b51a08015727dfb69bd \
--hash=sha256:efd2fcf7e7b9d7ab16e6b7d54205beded0a9c8566cb30f09c1abe42b4e22bdcb \ --hash=sha256:c5b7bf8fe4d39886adc34311a233a2e01bc10eb4e842220235ed1de57541a896 \
--hash=sha256:f0f03211fd14a6a0aed2997d4b1c013d49fb7b50eeb9ffdf5e51f23cfe2c77fa \ --hash=sha256:c67a51ea415192c2e53e4e048c78bab82d21955b4281d297f517707dc836bf3d \
--hash=sha256:f628dbf3c91e12f4d6c8b3f092069567d8eb17814aebba3d7d60c149391aee3a --hash=sha256:ca4fddf84ac7d8a7d0866664936f93318ff01ee33e32381a115b19fb5a4d1202 \
--hash=sha256:d5b9345ab92ebe6003ae11d8092ce822a0242146e6fa270889b9ba965457ca40 \
--hash=sha256:d97c3e286d0ac9af6223bc132dc4bad6540b37c8d6c0a15fe1e70fb34f9ec411 \
--hash=sha256:db04d1de548f7a62d1dd7e7cdf7c22893ee168e22701895067a28a8ed51b3735 \
--hash=sha256:dcf71c55ec853826cd70eadb2b6ac62ec577416442ca1e0a97ad875a1b3a0305 \
--hash=sha256:de3cc86f4ea8b4c34a6e43a7306c40c1275e52bfa9748d869c6b7d54aa6dad80 \
--hash=sha256:deac0a32aec29608eb25d730f4bc5a261a65b6c48ded1ed861d2a1852577c932 \
--hash=sha256:e18d92c3e9e22553a73e33784fcb0ed484c9874e9a3e96c16a8d6a1e74a0217b \
--hash=sha256:eb6dfd52063186ac97b4caa25764cdbcdb4b10d97f5c5f66b0fa95052e744eb7 \
--hash=sha256:f09960b5bb1017d16c0f9e9f7fc42160a5a49fa1e87a175fd4a2b1a1833ea0af \
--hash=sha256:f1e4f254e9c35d8965d377e065c4a8a55d396fe87c8e7e8429bcfdeeb229bfb3 \
--hash=sha256:f32c86dc967ab8c719fd229ce71917caad13cc1e8356ee997bf02c5b368799bf \
--hash=sha256:f50b4663c3e0262c3a361faf440761fbef60ccdde5fe8545689a4b3a3c149fb4 \
--hash=sha256:f8e05f5163528962ce1d1806fce763ab893b1c5b7ace0a3538cd81a90622f844 \
--hash=sha256:f929f4c9b9a00f3e6cc0587abb95ab9c05681f8b14e0fe1daecfa83ea90f8318 \
--hash=sha256:f9e09a1c83521d770d170b3801eea19b89f41ccaa61d53026ed111cb6f088887
aiosignal==1.3.1 \ aiosignal==1.3.1 \
--hash=sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc \ --hash=sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc \
--hash=sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17 --hash=sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17