From 33a6c880dee97d906b5b8cb7d9fbf120ac60947e Mon Sep 17 00:00:00 2001 From: Chisel Date: Sun, 11 Feb 2024 16:19:56 +0000 Subject: [PATCH 1/9] chore: update combined JSON data source file --- data/imported/roles-combined.json | 3319 ++++++----------------------- 1 file changed, 610 insertions(+), 2709 deletions(-) diff --git a/data/imported/roles-combined.json b/data/imported/roles-combined.json index 123d31d6..2fc68e8b 100644 --- a/data/imported/roles-combined.json +++ b/data/imported/roles-combined.json @@ -3,11 +3,11 @@ "DAWN": { "ability": "", "edition": "_meta", - "firstNight": 56, + "firstNight": 60, "firstNightReminder": "Wait approximately 10 seconds. Call for eyes open, then immediately announce which players (if any) died.", "id": "DAWN", "name": "DAWN", - "otherNight": 74, + "otherNight": 78, "otherNightReminder": "Wait approximately 10 seconds. Call for eyes open, then immediately announce which players (if any) died.", "reminders": [], "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/DAWN.png", @@ -17,7 +17,7 @@ "DEMON": { "ability": "", "edition": "_meta", - "firstNight": 8, + "firstNight": 10, "firstNightReminder": "If 7 or more players: wake up the Demon. Show the 'These are your minions' card. Point to each Minion. Show the 'These characters are not in play' card. Show 3 character tokens of Good characters that are not in play", "id": "DEMON", "name": "DEMON", @@ -31,7 +31,7 @@ "DUSK": { "ability": "", "edition": "_meta", - "firstNight": null, + "firstNight": 1, "firstNightReminder": null, "id": "DUSK", "name": "DUSK", @@ -45,7 +45,7 @@ "MINION": { "ability": "", "edition": "_meta", - "firstNight": 5, + "firstNight": 7, "firstNightReminder": "If 7 or more players: wake up all of the Minions. They make eye contact with each other. Show the 'This is the Demon' card. Point to the Demon.", "id": "MINION", "name": "MINION", @@ -63,7 +63,7 @@ "firstNightReminder": null, "id": "acrobat", "name": "Acrobat", - "otherNight": 40, + "otherNight": 42, "otherNightReminder": "If a good living neighbour is drunk or poisoned, the Acrobat player dies.", "reminders": [ "Dead" @@ -75,7 +75,7 @@ "alchemist": { "ability": "You have a not-in-play Minion ability.", "edition": "ks", - "firstNight": 2, + "firstNight": 4, "firstNightReminder": "Show the Alchemist a not-in-play Minion token", "id": "alchemist", "name": "Alchemist", @@ -96,7 +96,7 @@ "firstNightReminder": null, "id": "alhadikhia", "name": "Al-Hadikhia", - "otherNight": 34, + "otherNight": 35, "otherNightReminder": "The Al-Hadikhia chooses 3 players. Announce the first player, wake them to nod yes to live or shake head no to die, kill or resurrect accordingly, then put to sleep and announce the next player. If all 3 are alive after this, all 3 die.", "reminders": [ "1", @@ -112,11 +112,11 @@ "amnesiac": { "ability": "You do not know what your ability is. Each day, privately guess what it is: you learn how accurate you are.", "edition": "ks", - "firstNight": 32, + "firstNight": 34, "firstNightReminder": "Decide the Amnesiac's entire ability. If the Amnesiac's ability causes them to wake tonight: Wake the Amnesiac and run their ability.", "id": "amnesiac", "name": "Amnesiac", - "otherNight": 48, + "otherNight": 51, "otherNightReminder": "If the Amnesiac's ability causes them to wake tonight: Wake the Amnesiac and run their ability.", "reminders": [ "?" @@ -181,7 +181,7 @@ "firstNightReminder": null, "id": "assassin", "name": "Assassin", - "otherNight": 37, + "otherNight": 39, "otherNightReminder": "If the Assassin has not yet used their ability: The Assassin either shows the 'no' head signal, or points to a player. That player dies.", "reminders": [ "Dead", @@ -208,11 +208,11 @@ "balloonist": { "ability": "Each night, you learn 1 player of each character type, until there are no more types to learn. [+1 Outsider]", "edition": "experimental", - "firstNight": 47, + "firstNight": 49, "firstNightReminder": "Choose a character type. Point to a player whose character is of that type. Place the Balloonist's Seen reminder next to that character.", "id": "balloonist", "name": "Balloonist", - "otherNight": 63, + "otherNight": 66, "otherNightReminder": "Choose a character type that does not yet have a Seen reminder next to a character of that type. Point to a player whose character is of that type, if there are any. Place the Balloonist's Seen reminder next to that character.", "reminders": [ "Seen Townsfolk", @@ -232,7 +232,7 @@ "firstNightReminder": null, "id": "barber", "name": "Barber", - "otherNight": 41, + "otherNight": 44, "otherNightReminder": "If the Barber died today: Wake the Demon. Show the 'This character selected you' card, then Barber token. The Demon either shows a 'no' head signal, or points to 2 players. If they chose players: Swap the character tokens. Wake each player. Show 'You are', then their new character token.", "reminders": [ "Haircuts tonight" @@ -351,11 +351,11 @@ "bountyhunter": { "ability": "You start knowing 1 evil player. If the player you know dies, you learn another evil player tonight. [1 Townsfolk is evil]", "edition": "experimental", - "firstNight": 48, + "firstNight": 52, "firstNightReminder": "Point to 1 evil player. Wake the townsfolk who is evil and show them the 'You are' card and the thumbs down evil sign.", "id": "bountyhunter", "name": "Bounty Hunter", - "otherNight": 65, + "otherNight": 69, "otherNightReminder": "If the known evil player has died, point to another evil player. ", "reminders": [ "Known" @@ -411,11 +411,11 @@ "butler": { "ability": "Each night, choose a player (not yourself): tomorrow, you may only vote if they are voting too.", "edition": "tb", - "firstNight": 39, + "firstNight": 41, "firstNightReminder": "The Butler points to a player. Mark that player as 'Master'.", "id": "butler", "name": "Butler", - "otherNight": 68, + "otherNight": 72, "otherNightReminder": "The Butler points to a player. Mark that player as 'Master'.", "reminders": [ "Master" @@ -444,7 +444,7 @@ "cerenovus": { "ability": "Each night, choose a player & a good character: they are \u201cmad\u201d they are this character tomorrow, or might be executed.", "edition": "snv", - "firstNight": 24, + "firstNight": 26, "firstNightReminder": "The Cerenovus points to a player, then to a character on their sheet. Wake that player. Show the 'This character selected you' card, then the Cerenovus token. Show the selected character token. If the player is not mad about being that character tomorrow, they can be executed.", "id": "cerenovus", "name": "Cerenovus", @@ -460,11 +460,11 @@ "chambermaid": { "ability": "Each night, choose 2 alive players (not yourself): you learn how many woke tonight due to their ability.", "edition": "bmr", - "firstNight": 54, + "firstNight": 58, "firstNightReminder": "The Chambermaid points to two players. Show the number signal (0, 1, 2, \u2026) for how many of those players wake tonight for their ability.", "id": "chambermaid", "name": "Chambermaid", - "otherNight": 72, + "otherNight": 76, "otherNightReminder": "The Chambermaid points to two players. Show the number signal (0, 1, 2, \u2026) for how many of those players wake tonight for their ability.", "reminders": [], "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/chambermaid.png", @@ -474,7 +474,7 @@ "chef": { "ability": "You start knowing how many pairs of evil players there are.", "edition": "tb", - "firstNight": 36, + "firstNight": 38, "firstNightReminder": "Show the finger signal (0, 1, 2, \u2026) for the number of pairs of neighbouring evil players.", "id": "chef", "name": "Chef", @@ -492,7 +492,7 @@ "firstNightReminder": null, "id": "choirboy", "name": "Choirboy", - "otherNight": 45, + "otherNight": 48, "otherNightReminder": "If the King was killed by the Demon, wake the Choirboy and point to the Demon player.", "reminders": [], "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/choirboy.png", @@ -502,7 +502,7 @@ "clockmaker": { "ability": "You start knowing how many steps from the Demon to its nearest Minion.", "edition": "snv", - "firstNight": 41, + "firstNight": 43, "firstNightReminder": "Show the hand signal for the number (1, 2, 3, etc.) of places from Demon to closest Minion.", "id": "clockmaker", "name": "Clockmaker", @@ -516,7 +516,7 @@ "courtier": { "ability": "Once per game, at night, choose a character: they are drunk for 3 nights & 3 days.", "edition": "bmr", - "firstNight": 18, + "firstNight": 20, "firstNightReminder": "The Courtier either shows a 'no' head signal, or points to a character on the sheet. If the Courtier used their ability: If that character is in play, that player is drunk.", "id": "courtier", "name": "Courtier", @@ -535,11 +535,11 @@ "cultleader": { "ability": "Each night, you become the alignment of an alive neighbour. If all good players choose to join your cult, your team wins.", "edition": "experimental", - "firstNight": 50, + "firstNight": 54, "firstNightReminder": "If the cult leader changed alignment, show them the thumbs up good signal of the thumbs down evil signal accordingly.", "id": "cultleader", "name": "Cult Leader", - "otherNight": 67, + "otherNight": 71, "otherNightReminder": "If the cult leader changed alignment, show them the thumbs up good signal of the thumbs down evil signal accordingly.", "reminders": [], "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/cultleader.png", @@ -549,11 +549,11 @@ "damsel": { "ability": "All Minions know you are in play. If a Minion publicly guesses you (once), your team loses.", "edition": "ks", - "firstNight": 31, + "firstNight": 33, "firstNightReminder": "Wake all the Minions, show them the 'This character selected you' card and the Damsel token.", "id": "damsel", "name": "Damsel", - "otherNight": 47, + "otherNight": 50, "otherNightReminder": "If selected by the Huntsman, wake the Damsel, show 'You are' card and a not-in-play Townsfolk token.", "reminders": [ "Guess used" @@ -579,7 +579,7 @@ "devilsadvocate": { "ability": "Each night, choose a living player (different to last night): if executed tomorrow, they don't die.", "edition": "bmr", - "firstNight": 21, + "firstNight": 23, "firstNightReminder": "The Devil\u2019s Advocate points to a living player. That player survives execution tomorrow.", "id": "devilsadvocate", "name": "Devil's Advocate", @@ -623,11 +623,11 @@ "dreamer": { "ability": "Each night, choose a player (not yourself or Travellers): you learn 1 good and 1 evil character, 1 of which is correct.", "edition": "snv", - "firstNight": 42, + "firstNight": 44, "firstNightReminder": "The Dreamer points to a player. Show 1 good and 1 evil character token; one of these is correct.", "id": "dreamer", "name": "Dreamer", - "otherNight": 57, + "otherNight": 60, "otherNightReminder": "The Dreamer points to a player. Show 1 good and 1 evil character token; one of these is correct.", "reminders": [], "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/dreamer.png", @@ -671,11 +671,11 @@ "empath": { "ability": "Each night, you learn how many of your 2 alive neighbours are evil.", "edition": "tb", - "firstNight": 37, + "firstNight": 39, "firstNightReminder": "Show the finger signal (0, 1, 2) for the number of evil alive neighbours of the Empath.", "id": "empath", "name": "Empath", - "otherNight": 54, + "otherNight": 57, "otherNightReminder": "Show the finger signal (0, 1, 2) for the number of evil neighbours.", "reminders": [], "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/empath.png", @@ -685,7 +685,7 @@ "engineer": { "ability": "Once per game, at night, choose which Minions or which Demon is in play.", "edition": "ks", - "firstNight": 12, + "firstNight": 14, "firstNightReminder": "The Engineer shows a 'no' head signal, or points to a Demon or points to the relevant number of Minions. If the Engineer chose characters, replace the Demon or Minions with the choices, then wake the relevant players and show them the You are card and the relevant character tokens.", "id": "engineer", "name": "Engineer", @@ -701,7 +701,7 @@ "eviltwin": { "ability": "You & an opposing player know each other. If the good player is executed, evil wins. Good can't win if you both live.", "edition": "snv", - "firstNight": 22, + "firstNight": 24, "firstNightReminder": "Wake the Evil Twin and their twin. Confirm that they have acknowledged each other. Point to the Evil Twin. Show their Evil Twin token to the twin player. Point to the twin. Show their character token to the Evil Twin player.", "id": "eviltwin", "name": "Evil Twin", @@ -754,7 +754,7 @@ "firstNightReminder": null, "id": "farmer", "name": "Farmer", - "otherNight": 49, + "otherNight": 52, "otherNightReminder": "If a Farmer died tonight, choose another good player and make them the Farmer. Wake this player, show them the 'You are' card and the Farmer character token.", "reminders": [], "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/farmer.png", @@ -764,7 +764,7 @@ "fearmonger": { "ability": "Each night, choose a player. If you nominate & execute them, their team loses. All players know if you choose a new player.", "edition": "ks", - "firstNight": 25, + "firstNight": 27, "firstNightReminder": "The Fearmonger points to a player. Place the Fear token next to that player and announce that a new player has been selected with the Fearmonger ability.", "id": "fearmonger", "name": "Fearmonger", @@ -830,7 +830,7 @@ "firstNightReminder": null, "id": "flowergirl", "name": "Flowergirl", - "otherNight": 58, + "otherNight": 61, "otherNightReminder": "Nod 'yes' or shake head 'no' for whether the Demon voted today. Place the 'Demon not voted' marker (remove 'Demon voted', if any).", "reminders": [ "Demon voted", @@ -859,11 +859,11 @@ "fortuneteller": { "ability": "Each night, choose 2 players: you learn if either is a Demon. There is a good player that registers as a Demon to you.", "edition": "tb", - "firstNight": 38, + "firstNight": 40, "firstNightReminder": "The Fortune Teller points to two players. Give the head signal (nod yes, shake no) for whether one of those players is the Demon. ", "id": "fortuneteller", "name": "Fortune Teller", - "otherNight": 55, + "otherNight": 58, "otherNightReminder": "The Fortune Teller points to two players. Show the head signal (nod 'yes', shake 'no') for whether one of those players is the Demon.", "reminders": [ "Red herring" @@ -905,11 +905,11 @@ "general": { "ability": "Each night, you learn which alignment the Storyteller believes is winning: good, evil, or neither.", "edition": "ks", - "firstNight": 53, + "firstNight": 57, "firstNightReminder": "Show the General thumbs up for good winning, thumbs down for evil winning or thumb to the side for neither.", "id": "general", "name": "General", - "otherNight": 71, + "otherNight": 75, "otherNightReminder": "Show the General thumbs up for good winning, thumbs down for evil winning or thumb to the side for neither.", "reminders": [], "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/general.png", @@ -935,11 +935,11 @@ "godfather": { "ability": "You start knowing which Outsiders are in play. If 1 died today, choose a player tonight: they die. [\u22121 or +1 Outsider]", "edition": "bmr", - "firstNight": 20, + "firstNight": 22, "firstNightReminder": "Show each of the Outsider tokens in play.", "id": "godfather", "name": "Godfather", - "otherNight": 38, + "otherNight": 40, "otherNightReminder": "If an Outsider died today: The Godfather points to a player. That player dies.", "reminders": [ "Died today", @@ -988,7 +988,7 @@ "firstNightReminder": null, "id": "gossip", "name": "Gossip", - "otherNight": 39, + "otherNight": 41, "otherNightReminder": "If the Gossip\u2019s public statement was true: Choose a player not protected from dying tonight. That player dies.", "reminders": [ "Dead" @@ -1000,11 +1000,11 @@ "grandmother": { "ability": "You start knowing a good player & their character. If the Demon kills them, you die too.", "edition": "bmr", - "firstNight": 40, + "firstNight": 42, "firstNightReminder": "Show the marked character token. Point to the marked player.", "id": "grandmother", "name": "Grandmother", - "otherNight": 52, + "otherNight": 55, "otherNightReminder": "If the Grandmother\u2019s grandchild was killed by the Demon tonight: The Grandmother dies.", "reminders": [ "Grandchild" @@ -1046,7 +1046,7 @@ "harpy": { "ability": "Each night, choose 2 players: tomorrow, the 1st player is mad that the 2nd is evil, or both might die.", "edition": "experimental", - "firstNight": 26, + "firstNight": 28, "firstNightReminder": "Wake the Harpy; they point at one player, then another. Wake the 1st player the Harpy pointed to, show them the 'This character has selected you' card, show them the Harpy token, then point at the 2nd player the Harpy pointed to.", "id": "harpy", "image": "your direct url here", @@ -1061,6 +1061,22 @@ "setup": false, "team": "minion" }, + "hatter": { + "ability": "If you died today or tonight, the Minion & Demon players may choose new Minion & Demon characters to be.", + "edition": "experimental", + "firstNight": null, + "firstNightReminder": null, + "id": "hatter", + "image": "your direct url here", + "name": "Hatter", + "otherNight": 43, + "otherNightReminder": "If the Hatter died today: Wake the Minions and Demon. Show them the 'This Character Selected You' info token, then the Hatter token. Each player either shakes their head no or points to another character of the same type as their current character. If a second player would end up with the same character as another player, shake your head no and gesture for them to choose again. Put them to sleep. Change each player to the character they chose.", + "reminders": [ + "Tea Party Tonight" + ], + "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/hatter.png", + "team": "outsider" + }, "hellslibrarian": { "ability": "Something bad might happen to whoever talks when the Storyteller has asked for silence.", "edition": "base3", @@ -1094,12 +1110,12 @@ "highpriestess": { "ability": "Each night, learn which player the Storyteller believes you should talk to most.", "edition": "experimental", - "firstNight": 52, + "firstNight": 56, "firstNightReminder": "Point to a player.", "id": "highpriestess", "image": "your direct url here", "name": "High Priestess", - "otherNight": 70, + "otherNight": 74, "otherNightReminder": "Point to a player.", "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/highpriestess.png", "setup": false, @@ -1108,11 +1124,11 @@ "huntsman": { "ability": "Once per game, at night, choose a living player: the Damsel, if chosen, becomes a not-in-play Townsfolk. [+the Damsel]", "edition": "ks", - "firstNight": 30, + "firstNight": 32, "firstNightReminder": "The Huntsman shakes their head 'no' or points to a player. If they point to the Damsel, wake that player, show the 'You are' card and a not-in-play character token.", "id": "huntsman", "name": "Huntsman", - "otherNight": 46, + "otherNight": 49, "otherNightReminder": "The Huntsman shakes their head 'no' or points to a player. If they point to the Damsel, wake that player, show the 'You are' card and a not-in-play character token.", "reminders": [ "No ability" @@ -1157,7 +1173,7 @@ "investigator": { "ability": "You start knowing that 1 of 2 players is a particular Minion.", "edition": "tb", - "firstNight": 35, + "firstNight": 37, "firstNightReminder": "Show the character token of a Minion in play. Point to two players, one of which is that character.", "id": "investigator", "name": "Investigator", @@ -1194,7 +1210,7 @@ "firstNightReminder": null, "id": "juggler", "name": "Juggler", - "otherNight": 62, + "otherNight": 65, "otherNightReminder": "If today was the Juggler\u2019s first day: Show the hand signal for the number (0, 1, 2, etc.) of 'Correct' markers. Remove markers.", "reminders": [ "Correct" @@ -1203,14 +1219,31 @@ "setup": false, "team": "townsfolk" }, + "kazali": { + "ability": "Each night*, choose a player: they die. [You choose which players are Minions. -? to +? Outsiders]", + "edition": "experimental", + "firstNight": 3, + "firstNightReminder": "The Kazali points to a player and a Minion on the character sheet. They do this for as many Minions as should be in play. Change those players' tokens to the chosen Minion tokens in the Grim. Wake those players, show them the 'You Are' card, the Minions they have become, and a thumbs down.", + "id": "kazali", + "image": "your direct url here", + "name": "Kazali", + "otherNight": 38, + "otherNightReminder": "The Kazali points to a player. That player dies", + "reminders": [ + "Dead" + ], + "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/kazali.png", + "setup": true, + "team": "demon" + }, "king": { "ability": "Each night, if the dead outnumber the living, you learn 1 alive character. The Demon knows who you are.", "edition": "ks", - "firstNight": 9, + "firstNight": 11, "firstNightReminder": "Wake the Demon, show them the 'This character selected you' card, show the King token and point to the King player.", "id": "king", "name": "King", - "otherNight": 64, + "otherNight": 68, "otherNightReminder": "If there are more dead than living, show the King a character token of a living player.", "reminders": [], "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/king.png", @@ -1234,7 +1267,7 @@ "knight": { "ability": "You start knowing 2 players that are not the Demon.", "edition": "experimental", - "firstNight": 45, + "firstNight": 47, "firstNightReminder": "Point to two players who are not the Demon.", "id": "knight", "image": null, @@ -1268,11 +1301,11 @@ "leviathan": { "ability": "If more than 1 good player is executed, you win. All players know you are in play. After day 5, evil wins.", "edition": "ks", - "firstNight": 57, + "firstNight": 61, "firstNightReminder": "Place the Leviathan 'Day 1' marker. Announce 'The Leviathan is in play; this is Day 1.'", "id": "leviathan", "name": "Leviathan", - "otherNight": 75, + "otherNight": 79, "otherNightReminder": "Change the Leviathan Day reminder for the next day.", "reminders": [ "Day 1", @@ -1289,7 +1322,7 @@ "librarian": { "ability": "You start knowing that 1 of 2 players is a particular Outsider. (Or that zero are in play.)", "edition": "tb", - "firstNight": 34, + "firstNight": 36, "firstNightReminder": "Show the character token of an Outsider in play. Point to two players, one of which is that character.", "id": "librarian", "name": "Librarian", @@ -1306,11 +1339,11 @@ "lilmonsta": { "ability": "Each night, Minions choose who babysits Lil' Monsta's token & \"is the Demon\". A player dies each night*. [+1 Minion]", "edition": "experimental", - "firstNight": 14, + "firstNight": 16, "firstNightReminder": "Wake all Minions together, allow them to vote by pointing at who they want to babysit Lil' Monsta.", "id": "lilmonsta", "name": "Lil' Monsta", - "otherNight": 36, + "otherNight": 37, "otherNightReminder": "Wake all Minions together, allow them to vote by pointing at who they want to babysit Lil' Monsta. Choose a player, that player dies.", "reminders": [], "remindersGlobal": [ @@ -1324,11 +1357,11 @@ "lleech": { "ability": "Each night*, choose a player: they die. You start by choosing an alive player: they are poisoned - you die if & only if they die.", "edition": "ks", - "firstNight": 15, + "firstNight": 17, "firstNightReminder": "The Lleech points to a player. Place the Poisoned reminder token.", "id": "lleech", "name": "Lleech", - "otherNight": 35, + "otherNight": 36, "otherNightReminder": "The Lleech points to a player. That player dies.", "reminders": [ "Dead", @@ -1341,7 +1374,7 @@ "lunatic": { "ability": "You think you are a Demon, but you are not. The Demon knows who you are & who you choose at night.", "edition": "bmr", - "firstNight": 7, + "firstNight": 9, "firstNightReminder": "If 7 or more players: Show the Lunatic a number of arbitrary 'Minions', players equal to the number of Minions in play. Show 3 character tokens of arbitrary good characters. If the token received by the Lunatic is a Demon that would wake tonight: Allow the Lunatic to do the Demon actions. Place their 'attack' markers. Wake the Demon. Show the Demon\u2019s real character token. Show them the Lunatic player. If the Lunatic attacked players: Show the real demon each marked player. Remove any Lunatic 'attack' markers.", "id": "lunatic", "name": "Lunatic", @@ -1375,7 +1408,7 @@ "magician": { "ability": "The Demon thinks you are a Minion. Minions think you are a Demon.", "edition": "ks", - "firstNight": 4, + "firstNight": 6, "firstNightReminder": null, "id": "magician", "name": "Magician", @@ -1389,7 +1422,7 @@ "marionette": { "ability": "You think you are a good character but you are not. The Demon knows who you are. [You neighbour the Demon]", "edition": "ks", - "firstNight": 11, + "firstNight": 13, "firstNightReminder": "Select one of the good players next to the Demon and place the Is the Marionette reminder token. Wake the Demon and show them the Marionette.", "id": "marionette", "name": "Marionette", @@ -1420,11 +1453,11 @@ "mathematician": { "ability": "Each night, you learn how many players\u2019 abilities worked abnormally (since dawn) due to another character's ability.", "edition": "snv", - "firstNight": 55, + "firstNight": 59, "firstNightReminder": "Show the hand signal for the number (0, 1, 2, etc.) of players whose ability malfunctioned due to other abilities.", "id": "mathematician", "name": "Mathematician", - "otherNight": 73, + "otherNight": 77, "otherNightReminder": "Show the hand signal for the number (0, 1, 2, etc.) of players whose ability malfunctioned due to other abilities.", "reminders": [ "Abnormal" @@ -1481,7 +1514,7 @@ "mezepheles": { "ability": "You start knowing a secret word. The 1st good player to say this word becomes evil that night.", "edition": "ks", - "firstNight": 27, + "firstNight": 29, "firstNightReminder": "Show the Mezepheles their secret word.", "id": "mezepheles", "name": "Mezepheles", @@ -1534,7 +1567,7 @@ "firstNightReminder": null, "id": "moonchild", "name": "Moonchild", - "otherNight": 51, + "otherNight": 54, "otherNightReminder": "If the Moonchild used their ability to target a player today: If that player is good, they die.", "reminders": [ "Dead" @@ -1560,11 +1593,11 @@ "nightwatchman": { "ability": "Once per game, at night, choose a player: they learn who you are.", "edition": "experimental", - "firstNight": 49, + "firstNight": 53, "firstNightReminder": "The Nightwatchman may point to a player. Wake that player, show the 'This character selected you' card and the Nightwatchman token, then point to the Nightwatchman player.", "id": "nightwatchman", "name": "Nightwatchman", - "otherNight": 66, + "otherNight": 70, "otherNightReminder": "The Nightwatchman may point to a player. Wake that player, show the 'This character selected you' card and the Nightwatchman token, then point to the Nightwatchman player.", "reminders": [ "No ability" @@ -1576,7 +1609,7 @@ "noble": { "ability": "You start knowing 3 players, 1 and only 1 of which is evil.", "edition": "ks", - "firstNight": 46, + "firstNight": 48, "firstNightReminder": "Point to 3 players including one evil player, in no particular order.", "id": "noble", "name": "Noble", @@ -1606,6 +1639,22 @@ "setup": false, "team": "demon" }, + "ojo": { + "ability": "Each night*, choose a character: they die. If they are not in play, the Storyteller chooses who dies.", + "edition": "experimental", + "firstNight": null, + "firstNightReminder": null, + "id": "ojo", + "image": "[Your Direct URL Here]", + "name": "Ojo", + "otherNight": 34, + "otherNightReminder": "The Ojo points to a character on the sheet; if in play, that player dies. If it is not in play, the Storyteller chooses who dies instead.", + "reminders": [ + "Dead" + ], + "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/ojo.png", + "team": "demon" + }, "oracle": { "ability": "Each night*, you learn how many dead players are evil.", "edition": "snv", @@ -1613,7 +1662,7 @@ "firstNightReminder": null, "id": "oracle", "name": "Oracle", - "otherNight": 60, + "otherNight": 63, "otherNightReminder": "Show the hand signal for the number (0, 1, 2, etc.) of dead evil players.", "reminders": [], "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/oracle.png", @@ -1653,7 +1702,7 @@ "philosopher": { "ability": "Once per game, at night, choose a good character: gain that ability. If this character is in play, they are drunk.", "edition": "snv", - "firstNight": 1, + "firstNight": 2, "firstNightReminder": "The Philosopher either shows a 'no' head signal, or points to a good character on their sheet. If they chose a character: Swap the out-of-play character token with the Philosopher token and add the 'Is the Philosopher' reminder. If the character is in play, place the drunk marker by that player.", "id": "philosopher", "name": "Philosopher", @@ -1684,7 +1733,7 @@ "pixie": { "ability": "You start knowing 1 in-play Townsfolk. If you were mad that you were this character, you gain their ability when they die.", "edition": "ks", - "firstNight": 29, + "firstNight": 31, "firstNightReminder": "Show the Pixie 1 in-play Townsfolk character token.", "id": "pixie", "name": "Pixie", @@ -1735,7 +1784,7 @@ "poisoner": { "ability": "Each night, choose a player: they are poisoned tonight and tomorrow day.", "edition": "tb", - "firstNight": 16, + "firstNight": 18, "firstNightReminder": "The Poisoner points to a player. That player is poisoned.", "id": "poisoner", "name": "Poisoner", @@ -1765,7 +1814,7 @@ "poppygrower": { "ability": "Minions & Demons do not know each other. If you die, they learn who each other are that night.", "edition": "ks", - "firstNight": 3, + "firstNight": 5, "firstNightReminder": "Do not inform the Demon/Minions who each other are", "id": "poppygrower", "name": "Poppy Grower", @@ -1781,7 +1830,7 @@ "preacher": { "ability": "Each night, choose a player: a Minion, if chosen, learns this. All chosen Minions have no ability.", "edition": "experimental", - "firstNight": 13, + "firstNight": 15, "firstNightReminder": "The Preacher chooses a player. If a Minion is chosen, wake the Minion and show the 'This character selected you' card and then the Preacher token.", "id": "preacher", "name": "Preacher", @@ -1801,7 +1850,7 @@ "firstNightReminder": null, "id": "professor", "name": "Professor", - "otherNight": 44, + "otherNight": 47, "otherNightReminder": "If the Professor has not used their ability: The Professor either shakes their head no, or points to a player. If that player is a Townsfolk, they are now alive.", "reminders": [ "Alive", @@ -1828,7 +1877,7 @@ "pukka": { "ability": "Each night, choose a player: they are poisoned. The previously poisoned player dies then becomes healthy.", "edition": "bmr", - "firstNight": 28, + "firstNight": 30, "firstNightReminder": "The Pukka points to a player. That player is poisoned.", "id": "pukka", "name": "Pukka", @@ -1866,7 +1915,7 @@ "firstNightReminder": null, "id": "ravenkeeper", "name": "Ravenkeeper", - "otherNight": 53, + "otherNight": 56, "otherNightReminder": "If the Ravenkeeper died tonight: The Ravenkeeper points to a player. Show that player\u2019s character token.", "reminders": [], "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/ravenkeeper.png", @@ -1924,7 +1973,7 @@ "firstNightReminder": null, "id": "sage", "name": "Sage", - "otherNight": 43, + "otherNight": 46, "otherNightReminder": "If the Sage was killed by a Demon: Point to two players, one of which is that Demon.", "reminders": [], "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/sage.png", @@ -1934,7 +1983,7 @@ "sailor": { "ability": "Each night, choose an alive player: either you or they are drunk until dusk. You can't die.", "edition": "bmr", - "firstNight": 10, + "firstNight": 12, "firstNightReminder": "The Sailor points to a living player. Either the Sailor, or the chosen player, is drunk.", "id": "sailor", "name": "Sailor", @@ -2008,11 +2057,11 @@ "seamstress": { "ability": "Once per game, at night, choose 2 players (not yourself): you learn if they are the same alignment.", "edition": "snv", - "firstNight": 43, + "firstNight": 45, "firstNightReminder": "The Seamstress either shows a 'no' head signal, or points to two other players. If the Seamstress chose players , nod 'yes' or shake 'no' for whether they are of same alignment.", "id": "seamstress", "name": "Seamstress", - "otherNight": 61, + "otherNight": 64, "otherNightReminder": "If the Seamstress has not yet used their ability: the Seamstress either shows a 'no' head signal, or points to two other players. If the Seamstress chose players , nod 'yes' or shake 'no' for whether they are of same alignment.", "reminders": [ "No ability" @@ -2052,6 +2101,20 @@ "setup": false, "team": "demon" }, + "shugenja": { + "ability": "You start knowing if your closest evil player is clockwise or anti-clockwise. If equidistant, this info is arbitrary.", + "edition": "experimental", + "firstNight": 50, + "firstNightReminder": "Wake the Shugenja; point horizontally in the direction of the closest evil player. If the two closest evil players are equidistant, point your finger horizontally in either direction.", + "id": "shugenja", + "image": "[Your direct url here]", + "name": "Shugenja", + "otherNight": null, + "otherNightReminder": null, + "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/shugenja.png", + "setup": false, + "team": "townsfolk" + }, "slayer": { "ability": "Once per game, during the day, publicly choose a player: if they are the Demon, they die.", "edition": "tb", @@ -2071,7 +2134,7 @@ "snakecharmer": { "ability": "Each night, choose an alive player: a chosen Demon swaps characters & alignments with you & is then poisoned.", "edition": "snv", - "firstNight": 19, + "firstNight": 21, "firstNightReminder": "The Snake Charmer points to a player. If that player is the Demon: swap the Demon and Snake Charmer character and alignments. Wake each player to inform them of their new role and alignment. The new Snake Charmer is poisoned.", "id": "snakecharmer", "name": "Snake Charmer", @@ -2087,7 +2150,7 @@ "snitch": { "ability": "Minions start knowing 3 not-in-play characters.", "edition": "ks", - "firstNight": 6, + "firstNight": 8, "firstNightReminder": "After Minion info wake each Minion and show them three not-in-play character tokens. These may be the same or different to each other and the ones shown to the Demon.", "id": "snitch", "name": "Snitch", @@ -2131,11 +2194,11 @@ "spy": { "ability": "Each night, you see the Grimoire. You might register as good & as a Townsfolk or Outsider, even if dead.", "edition": "tb", - "firstNight": 51, + "firstNight": 55, "firstNightReminder": "Show the Grimoire to the Spy for as long as they need.", "id": "spy", "name": "Spy", - "otherNight": 69, + "otherNight": 73, "otherNightReminder": "Show the Grimoire to the Spy for as long as they need.", "reminders": [], "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/spy.png", @@ -2145,7 +2208,7 @@ "steward": { "ability": "You start knowing 1 good player.", "edition": "experimental", - "firstNight": 44, + "firstNight": 46, "firstNightReminder": "Point to a good player.", "id": "steward", "image": null, @@ -2182,7 +2245,7 @@ "firstNightReminder": null, "id": "sweetheart", "name": "Sweetheart", - "otherNight": 42, + "otherNight": 45, "otherNightReminder": "Choose a player that is drunk.", "reminders": [ "Drunk" @@ -2230,7 +2293,7 @@ "firstNightReminder": null, "id": "tinker", "name": "Tinker", - "otherNight": 50, + "otherNight": 53, "otherNightReminder": "The Tinker might die.", "reminders": [ "Dead" @@ -2246,7 +2309,7 @@ "firstNightReminder": null, "id": "towncrier", "name": "Town Crier", - "otherNight": 59, + "otherNight": 62, "otherNightReminder": "Nod 'yes' or shake head 'no' for whether a Minion nominated today. Place the 'Minion not nominated' marker (remove 'Minion nominated', if any).", "reminders": [ "Minions not nominated", @@ -2279,7 +2342,7 @@ "firstNightReminder": null, "id": "undertaker", "name": "Undertaker", - "otherNight": 56, + "otherNight": 59, "otherNightReminder": "If a player was executed today: Show that player\u2019s character token.", "reminders": [ "Executed" @@ -2306,6 +2369,23 @@ "setup": true, "team": "demon" }, + "villageidiot": { + "ability": "Each night, choose a player: you learn their alignment. [+0 to +2 Village Idiots. 1 of the extras is drunk]", + "edition": "experimental", + "firstNight": 51, + "firstNightReminder": "The Village Idiot points to a player; give a thumbs up if that player is good or a thumbs down if that player is evil.", + "id": "villageidiot", + "image": "your direct url here", + "name": "Village Idiot", + "otherNight": 67, + "otherNightReminder": "The Village Idiot points to a player; give a thumbs up if that player is good or a thumbs down if that player is evil.", + "reminders": [ + "Drunk" + ], + "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/villageidiot.png", + "setup": true, + "team": "townsfolk" + }, "virgin": { "ability": "The 1st time you are nominated, if the nominator is a Townsfolk, they are executed immediately.", "edition": "tb", @@ -2325,7 +2405,7 @@ "vizier": { "ability": "All players know who you are. You can not die during the day. If good voted, you may choose to execute immediately.", "edition": "experimental", - "firstNight": 58, + "firstNight": 62, "firstNightReminder": "Announce 'The Vizier is in play' and state which player they are.", "id": "vizier", "name": "Vizier", @@ -2367,7 +2447,7 @@ "washerwoman": { "ability": "You start knowing that 1 of 2 players is a particular Townsfolk.", "edition": "tb", - "firstNight": 33, + "firstNight": 35, "firstNightReminder": "Show the character token of a Townsfolk in play. Point to two players, one of which is that character.", "id": "washerwoman", "name": "Washerwoman", @@ -2384,7 +2464,7 @@ "widow": { "ability": "On your 1st night, look at the Grimoire and choose a player: they are poisoned. 1 good player knows a Widow is in play.", "edition": "experimental", - "firstNight": 17, + "firstNight": 19, "firstNightReminder": "Show the Grimoire to the Widow for as long as they need. The Widow points to a player. That player is poisoned. Wake a good player. Show the 'These characters are in play' card, then the Widow character token.", "id": "widow", "name": "Widow", @@ -2403,7 +2483,7 @@ "witch": { "ability": "Each night, choose a player: if they nominate tomorrow, they die. If just 3 players live, you lose this ability.", "edition": "snv", - "firstNight": 23, + "firstNight": 25, "firstNightReminder": "The Witch points to a player. If that player nominates tomorrow they die immediately.", "id": "witch", "name": "Witch", @@ -2737,11 +2817,21 @@ "name": "harpy", "physicaltoken": false }, + "hatter": { + "id": "hatter", + "name": "hatter", + "physicaltoken": false + }, "highpriestess": { "id": "highpriestess", "name": "highpriestess", "physicaltoken": false }, + "kazali": { + "id": "kazali", + "name": "kazali", + "physicaltoken": false + }, "knight": { "id": "knight", "name": "knight", @@ -2762,6 +2852,11 @@ "name": "nightwatchman", "physicaltoken": false }, + "ojo": { + "id": "ojo", + "name": "ojo", + "physicaltoken": false + }, "organgrinder": { "id": "organgrinder", "name": "organgrinder", @@ -2782,11 +2877,21 @@ "name": "preacher", "physicaltoken": false }, + "shugenja": { + "id": "shugenja", + "name": "shugenja", + "physicaltoken": false + }, "steward": { "id": "steward", "name": "steward", "physicaltoken": false }, + "villageidiot": { + "id": "villageidiot", + "name": "villageidiot", + "physicaltoken": false + }, "vizier": { "id": "vizier", "name": "vizier", @@ -3315,7 +3420,11 @@ }, { "id": "Politician", - "reason": "A Pit-hag can not create an evil Politician." + "reason": "A Pit-Hag can not create an evil Politician." + }, + { + "id": "Village Idiot", + "reason": "If there is a spare token, the Pit-Hag can create an extra Village Idiot. If so, the drunk Village Idiot might change." } ] }, @@ -3367,6 +3476,14 @@ { "id": "Mayor", "reason": "If Leviathan is in play & no execution occurs on day 5, good wins." + }, + { + "id": "Hatter", + "reason": "If the Hatter dies on or after day 5, the Demon cannot choose Leviathan." + }, + { + "id": "Pit-Hag", + "reason": "After day 5, the Pit-Hag cannot choose Leviathan." } ] }, @@ -3392,6 +3509,10 @@ { "id": "Vizier", "reason": "The Vizier can die by execution if they are babysitting Lil' Monsta." + }, + { + "id": "Hatter", + "reason": "If a Demon chooses Lil' Monsta, they also choose a Minion to become and babysit Lil' Monsta tonight." } ] }, @@ -3414,6 +3535,10 @@ { "id": "Preacher", "reason": "Only 1 jinxed character can be in play." + }, + { + "id": "Hatter", + "reason": "If the Hatter dies and Legion is in play, nothing happens. If the Hatter dies and an evil player chooses Legion, all current evil players become Legion." } ] }, @@ -3525,7 +3650,7 @@ }, { "id": "Plague Doctor", - "reason": "If the Storyteller gains the Baron ability, up to two players become out-of-play Outsiders." + "reason": "If the Storyteller gains the Baron ability, up to two players become not-in-play Outsiders." } ] }, @@ -3575,2622 +3700,378 @@ }, { "id": "Heretic", - "reason": "If the Lleech has poisoned the Heretic then the Lleech dies, the Heretic remains poisoned." - } - ] - }, - { - "id": "Riot", - "jinx": [ - { - "id": "Engineer", - "reason": "Riot and the Engineer can not both be in play at the start of the game. \nIf the Engineer creates Riot, the evil players become Riot." - }, - { - "id": "Golem", - "reason": "If The Golem nominates Riot, the Riot player does not die." - }, - { - "id": "Snitch", - "reason": "If the Snitch is in play, each Riot player gets an extra 3 bluffs. " - }, - { - "id": "Saint", - "reason": "If a good player nominates and kills the Saint, the Saint's team loses. " - }, - { - "id": "Butler", - "reason": "The Butler can not nominate their master." - }, - { - "id": "Pit-Hag", - "reason": "If the Pit-Hag creates Riot, all evil players become Riot. \nIf the Pit-Hag creates Riot after day 3, the game continues for one more day." - }, - { - "id": "Mayor", - "reason": "If the 3rd day begins with just three players alive, the players may choose (as a group) not to nominate at all. If so (and a Mayor is alive) then the Mayor's team wins." - }, - { - "id": "Monk", - "reason": "If a Riot player nominates and kills the Monk-protected-player, the Monk-protected-player does not die." - }, - { - "id": "Farmer", - "reason": "If a Riot player nominates and kills a Farmer, the Farmer uses their ability tonight." - }, - { - "id": "Innkeeper", - "reason": "If a Riot player nominates an Innkeeper-protected-player, the Innkeeper-protected-player does not die." - }, - { - "id": "Sage", - "reason": "If a Riot player nominates and kills a Sage, the Sage uses their ability tonight." - }, - { - "id": "Ravenkeeper", - "reason": "If a Riot player nominates and kills the Ravenkeeper, the Ravenkeeper uses their ability tonight." - }, - { - "id": "Soldier", - "reason": "If a Riot player nominates the Soldier, the Soldier does not die." - }, - { - "id": "Grandmother", - "reason": "If a Riot player nominates and kills the Grandchild, the Grandmother dies too." - }, - { - "id": "King", - "reason": "If a Riot player nominates and kills the King and the Choirboy is alive, the Choirboy uses their ability tonight." - }, - { - "id": "Exorcist", - "reason": "Only 1 jinxed character can be in play. " - }, - { - "id": "Minstrel", - "reason": "Only 1 jinxed character can be in play. " - }, - { - "id": "Flowergirl", - "reason": "Only 1 jinxed character can be in play. " - }, - { - "id": "Undertaker", - "reason": "Players that die by nomination register as being executed to the Undertaker." - }, - { - "id": "Cannibal", - "reason": "Players that die by nomination register as being executed to the Cannibal." - }, - { - "id": "Pacifist", - "reason": "Players that die by nomination register as being executed to the Pacifist. " - }, - { - "id": "Devil's Advocate", - "reason": "Players that die by nomination register as being executed to the Devil's Advocate." - }, - { - "id": "Investigator", - "reason": "Riot registers as a Minion to the Investigator. " - }, - { - "id": "Clockmaker", - "reason": "Riot registers as a Minion to the Clockmaker." - }, - { - "id": "Town Crier", - "reason": "Riot registers as a Minion to the Town Crier." - }, - { - "id": "Damsel", - "reason": "Riot registers as a Minion to the Damsel." - }, - { - "id": "Preacher", - "reason": "Riot registers as a Minion to the Preacher." - } - ] - }, - { - "id": "Al-Hadikhia", - "jinx": [ - { - "id": "Scarlet Woman", - "reason": "If there are two living Al-Hadikhias, the Scarlet Woman Al-Hadikhia becomes the Scarlet Woman again." - }, - { - "id": "Mastermind", - "reason": "Only 1 jinxed character can be in play. Evil players start knowing which player and character it is." - } - ] - }, - { - "id": "Organ Grinder", - "jinx": [ - { - "id": "Butler", - "reason": "If the Organ Grinder is causing eyes closed voting, the Butler may raise their hand to vote but their vote is only counted if their master voted too." - }, - { - "id": "Flowergirl", - "reason": "If players' eyes were closed during the nominations, the Flowergirl learns how many times the Demon voted." - }, - { - "id": "Minstrel", - "reason": "Only 1 jinxed character can be in play. Evil players start knowing which player and character it is." - }, - { - "id": "Preacher", - "reason": "Only 1 jinxed character can be in play. Evil players start knowing which player and character it is." - } - ] - }, - { - "id": "Vizier", - "jinx": [ - { - "id": "Investigator", - "reason": "If the Investigator learns that the Vizier is in play, the existence of the Vizier is not announced by the Storyteller." - }, - { - "id": "Preacher", - "reason": "If the Vizier loses their ability, they learn this. If the Vizier is executed while they have their ability, their team wins." - }, - { - "id": "Courtier", - "reason": "If the Vizier loses their ability, they learn this. If the Vizier is executed while they have their ability, their team wins." - }, - { - "id": "Alchemist", - "reason": "If the Alchemist has the Vizier ability, they may only choose to execute immediately if three or more players voted, regardless of those players' alignment." - }, - { - "id": "Magician", - "reason": "Only 1 jinxed character can be in play. Evil players start knowing which player and character it is." - }, - { - "id": "Fearmonger", - "reason": "The Vizier wakes with the Fearmonger, learns who they choose and cannot choose to immediately execute that player." - } - ] - } - ], - "role_list": [ - { - "ability": "You start knowing that 1 of 2 players is a particular Townsfolk.", - "edition": "tb", - "firstNight": 33, - "firstNightReminder": "Show the character token of a Townsfolk in play. Point to two players, one of which is that character.", - "id": "washerwoman", - "name": "Washerwoman", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Townsfolk", - "Wrong" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/washerwoman.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "You start knowing that 1 of 2 players is a particular Outsider. (Or that zero are in play.)", - "edition": "tb", - "firstNight": 34, - "firstNightReminder": "Show the character token of an Outsider in play. Point to two players, one of which is that character.", - "id": "librarian", - "name": "Librarian", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Outsider", - "Wrong" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/librarian.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "You start knowing that 1 of 2 players is a particular Minion.", - "edition": "tb", - "firstNight": 35, - "firstNightReminder": "Show the character token of a Minion in play. Point to two players, one of which is that character.", - "id": "investigator", - "name": "Investigator", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Minion", - "Wrong" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/investigator.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "You start knowing how many pairs of evil players there are.", - "edition": "tb", - "firstNight": 36, - "firstNightReminder": "Show the finger signal (0, 1, 2, \u2026) for the number of pairs of neighbouring evil players.", - "id": "chef", - "name": "Chef", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/chef.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night, you learn how many of your 2 alive neighbours are evil.", - "edition": "tb", - "firstNight": 37, - "firstNightReminder": "Show the finger signal (0, 1, 2) for the number of evil alive neighbours of the Empath.", - "id": "empath", - "name": "Empath", - "otherNight": 54, - "otherNightReminder": "Show the finger signal (0, 1, 2) for the number of evil neighbours.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/empath.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night, choose 2 players: you learn if either is a Demon. There is a good player that registers as a Demon to you.", - "edition": "tb", - "firstNight": 38, - "firstNightReminder": "The Fortune Teller points to two players. Give the head signal (nod yes, shake no) for whether one of those players is the Demon. ", - "id": "fortuneteller", - "name": "Fortune Teller", - "otherNight": 55, - "otherNightReminder": "The Fortune Teller points to two players. Show the head signal (nod 'yes', shake 'no') for whether one of those players is the Demon.", - "reminders": [ - "Red herring" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/fortuneteller.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night*, you learn which character died by execution today.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "undertaker", - "name": "Undertaker", - "otherNight": 56, - "otherNightReminder": "If a player was executed today: Show that player\u2019s character token.", - "reminders": [ - "Executed" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/undertaker.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night*, choose a player (not yourself): they are safe from the Demon tonight.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "monk", - "name": "Monk", - "otherNight": 12, - "otherNightReminder": "The previously protected player is no longer protected. The Monk points to a player not themself. Mark that player 'Protected'.", - "reminders": [ - "Protected" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/monk.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "If you die at night, you are woken to choose a player: you learn their character.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "ravenkeeper", - "name": "Ravenkeeper", - "otherNight": 53, - "otherNightReminder": "If the Ravenkeeper died tonight: The Ravenkeeper points to a player. Show that player\u2019s character token.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/ravenkeeper.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "The 1st time you are nominated, if the nominator is a Townsfolk, they are executed immediately.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "virgin", - "name": "Virgin", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/virgin.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Once per game, during the day, publicly choose a player: if they are the Demon, they die.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "slayer", - "name": "Slayer", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/slayer.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "You are safe from the Demon.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "soldier", - "name": "Soldier", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/soldier.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "If only 3 players live & no execution occurs, your team wins. If you die at night, another player might die instead.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "mayor", - "name": "Mayor", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/mayor.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night, choose a player (not yourself): tomorrow, you may only vote if they are voting too.", - "edition": "tb", - "firstNight": 39, - "firstNightReminder": "The Butler points to a player. Mark that player as 'Master'.", - "id": "butler", - "name": "Butler", - "otherNight": 68, - "otherNightReminder": "The Butler points to a player. Mark that player as 'Master'.", - "reminders": [ - "Master" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/butler.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "You do not know you are the Drunk. You think you are a Townsfolk character, but you are not.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "drunk", - "name": "Drunk", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remindersGlobal": [ - "Drunk" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/drunk.png", - "setup": true, - "team": "outsider" - }, - { - "ability": "You might register as evil & as a Minion or Demon, even if dead.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "recluse", - "name": "Recluse", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/recluse.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "If you die by execution, your team loses.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "saint", - "name": "Saint", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/saint.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "Each night, choose a player: they are poisoned tonight and tomorrow day.", - "edition": "tb", - "firstNight": 16, - "firstNightReminder": "The Poisoner points to a player. That player is poisoned.", - "id": "poisoner", - "name": "Poisoner", - "otherNight": 7, - "otherNightReminder": "The previously poisoned player is no longer poisoned. The Poisoner points to a player. That player is poisoned.", - "reminders": [ - "Poisoned" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/poisoner.png", - "setup": false, - "team": "minion" - }, - { - "ability": "Each night, you see the Grimoire. You might register as good & as a Townsfolk or Outsider, even if dead.", - "edition": "tb", - "firstNight": 51, - "firstNightReminder": "Show the Grimoire to the Spy for as long as they need.", - "id": "spy", - "name": "Spy", - "otherNight": 69, - "otherNightReminder": "Show the Grimoire to the Spy for as long as they need.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/spy.png", - "setup": false, - "team": "minion" - }, - { - "ability": "If there are 5 or more players alive & the Demon dies, you become the Demon. (Travellers don\u2019t count)", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "scarletwoman", - "name": "Scarlet Woman", - "otherNight": 20, - "otherNightReminder": "If the Scarlet Woman became the Demon today: Show the 'You are' card, then the demon token.", - "reminders": [ - "Demon" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/scarletwoman.png", - "setup": false, - "team": "minion" - }, - { - "ability": "There are extra Outsiders in play. [+2 Outsiders]", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "baron", - "name": "Baron", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/baron.png", - "setup": true, - "team": "minion" - }, - { - "ability": "Each night*, choose a player: they die. If you kill yourself this way, a Minion becomes the Imp.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "imp", - "name": "Imp", - "otherNight": 25, - "otherNightReminder": "The Imp points to a player. That player dies. If the Imp chose themselves: Replace the character of 1 alive minion with a spare Imp token. Show the 'You are' card, then the Imp token.", - "reminders": [ - "Dead" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/imp.png", - "setup": false, - "team": "demon" - }, - { - "ability": "Each night, choose a player (not yourself): their vote counts as 3 votes tomorrow.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": "The Bureaucrat points to a player. Put the Bureaucrat's '3 votes' reminder by the chosen player's character token.", - "id": "bureaucrat", - "name": "Bureaucrat", - "otherNight": null, - "otherNightReminder": "The Bureaucrat points to a player. Put the Bureaucrat's '3 votes' reminder by the chosen player's character token.", - "reminders": [ - "3 votes" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/bureaucrat.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "Each night, choose a player (not yourself): their vote counts negatively tomorrow.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": "The Thief points to a player. Put the Thief's 'Negative vote' reminder by the chosen player's character token.", - "id": "thief", - "name": "Thief", - "otherNight": null, - "otherNightReminder": "The Thief points to a player. Put the Thief's 'Negative vote' reminder by the chosen player's character token.", - "reminders": [ - "Negative vote" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/thief.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "Each day, after the 1st vote has been tallied, you may choose a player that voted: they die.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "gunslinger", - "name": "Gunslinger", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/gunslinger.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "If a player of your alignment is executed, you might be executed instead.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "scapegoat", - "name": "Scapegoat", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/scapegoat.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "You must use a vote token to vote. Dead players may choose to give you theirs. If so, you learn their alignment. You are sober & healthy.", - "edition": "tb", - "firstNight": null, - "firstNightReminder": null, - "id": "beggar", - "name": "Beggar", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/beggar.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "You start knowing a good player & their character. If the Demon kills them, you die too.", - "edition": "bmr", - "firstNight": 40, - "firstNightReminder": "Show the marked character token. Point to the marked player.", - "id": "grandmother", - "name": "Grandmother", - "otherNight": 52, - "otherNightReminder": "If the Grandmother\u2019s grandchild was killed by the Demon tonight: The Grandmother dies.", - "reminders": [ - "Grandchild" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/grandmother.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night, choose an alive player: either you or they are drunk until dusk. You can't die.", - "edition": "bmr", - "firstNight": 10, - "firstNightReminder": "The Sailor points to a living player. Either the Sailor, or the chosen player, is drunk.", - "id": "sailor", - "name": "Sailor", - "otherNight": 4, - "otherNightReminder": "The previously drunk player is no longer drunk. The Sailor points to a living player. Either the Sailor, or the chosen player, is drunk.", - "reminders": [ - "Drunk" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/sailor.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night, choose 2 alive players (not yourself): you learn how many woke tonight due to their ability.", - "edition": "bmr", - "firstNight": 54, - "firstNightReminder": "The Chambermaid points to two players. Show the number signal (0, 1, 2, \u2026) for how many of those players wake tonight for their ability.", - "id": "chambermaid", - "name": "Chambermaid", - "otherNight": 72, - "otherNightReminder": "The Chambermaid points to two players. Show the number signal (0, 1, 2, \u2026) for how many of those players wake tonight for their ability.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/chambermaid.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night*, choose a player (different to last night): the Demon, if chosen, learns who you are then doesn't wake tonight.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "exorcist", - "name": "Exorcist", - "otherNight": 22, - "otherNightReminder": "The Exorcist points to a player, different from the previous night. If that player is the Demon: Wake the Demon. Show the Exorcist token. Point to the Exorcist. The Demon does not act tonight.", - "reminders": [ - "Chosen" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/exorcist.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night*, choose 2 players: they can't die tonight, but 1 is drunk until dusk.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "innkeeper", - "name": "Innkeeper", - "otherNight": 9, - "otherNightReminder": "The previously protected and drunk players lose those markers. The Innkeeper points to two players. Those players are protected. One is drunk.", - "reminders": [ - "Protected", - "Drunk" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/innkeeper.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night*, choose a player & guess their character: if you guess wrong, you die.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "gambler", - "name": "Gambler", - "otherNight": 10, - "otherNightReminder": "The Gambler points to a player, and a character on their sheet. If incorrect, the Gambler dies.", - "reminders": [ - "Dead" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/gambler.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each day, you may make a public statement. Tonight, if it was true, a player dies.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "gossip", - "name": "Gossip", - "otherNight": 39, - "otherNightReminder": "If the Gossip\u2019s public statement was true: Choose a player not protected from dying tonight. That player dies.", - "reminders": [ - "Dead" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/gossip.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Once per game, at night, choose a character: they are drunk for 3 nights & 3 days.", - "edition": "bmr", - "firstNight": 18, - "firstNightReminder": "The Courtier either shows a 'no' head signal, or points to a character on the sheet. If the Courtier used their ability: If that character is in play, that player is drunk.", - "id": "courtier", - "name": "Courtier", - "otherNight": 8, - "otherNightReminder": "Reduce the remaining number of days the marked player is poisoned. If the Courtier has not yet used their ability: The Courtier either shows a 'no' head signal, or points to a character on the sheet. If the Courtier used their ability: If that character is in play, that player is drunk.", - "reminders": [ - "Drunk 3", - "Drunk 2", - "Drunk 1", - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/courtier.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Once per game, at night*, choose a dead player: if they are a Townsfolk, they are resurrected.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "professor", - "name": "Professor", - "otherNight": 44, - "otherNightReminder": "If the Professor has not used their ability: The Professor either shakes their head no, or points to a player. If that player is a Townsfolk, they are now alive.", - "reminders": [ - "Alive", - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/professor.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "When a Minion dies by execution, all other players (except Travellers) are drunk until dusk tomorrow.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "minstrel", - "name": "Minstrel", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Everyone drunk" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/minstrel.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "If both your alive neighbours are good, they can't die.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "tealady", - "name": "Tea Lady", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Can not die" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/tealady.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Executed good players might not die.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "pacifist", - "name": "Pacifist", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/pacifist.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "The first time you die, you don't.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "fool", - "name": "Fool", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/fool.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "You might die at any time.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "tinker", - "name": "Tinker", - "otherNight": 50, - "otherNightReminder": "The Tinker might die.", - "reminders": [ - "Dead" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/tinker.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "When you learn that you died, publicly choose 1 alive player. Tonight, if it was a good player, they die.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "moonchild", - "name": "Moonchild", - "otherNight": 51, - "otherNightReminder": "If the Moonchild used their ability to target a player today: If that player is good, they die.", - "reminders": [ - "Dead" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/moonchild.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "Each night, the 1st player to choose you with their ability is drunk until dusk. You become their alignment.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "goon", - "name": "Goon", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Drunk" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/goon.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "You think you are a Demon, but you are not. The Demon knows who you are & who you choose at night.", - "edition": "bmr", - "firstNight": 7, - "firstNightReminder": "If 7 or more players: Show the Lunatic a number of arbitrary 'Minions', players equal to the number of Minions in play. Show 3 character tokens of arbitrary good characters. If the token received by the Lunatic is a Demon that would wake tonight: Allow the Lunatic to do the Demon actions. Place their 'attack' markers. Wake the Demon. Show the Demon\u2019s real character token. Show them the Lunatic player. If the Lunatic attacked players: Show the real demon each marked player. Remove any Lunatic 'attack' markers.", - "id": "lunatic", - "name": "Lunatic", - "otherNight": 21, - "otherNightReminder": "Allow the Lunatic to do the actions of the Demon. Place their 'attack' markers. If the Lunatic selected players: Wake the Demon. Show the 'attack' marker, then point to each marked player. Remove any Lunatic 'attack' markers.", - "reminders": [ - "Attack 1", - "Attack 2", - "Attack 3" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/lunatic.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "You start knowing which Outsiders are in play. If 1 died today, choose a player tonight: they die. [\u22121 or +1 Outsider]", - "edition": "bmr", - "firstNight": 20, - "firstNightReminder": "Show each of the Outsider tokens in play.", - "id": "godfather", - "name": "Godfather", - "otherNight": 38, - "otherNightReminder": "If an Outsider died today: The Godfather points to a player. That player dies.", - "reminders": [ - "Died today", - "Dead" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/godfather.png", - "setup": true, - "team": "minion" - }, - { - "ability": "Each night, choose a living player (different to last night): if executed tomorrow, they don't die.", - "edition": "bmr", - "firstNight": 21, - "firstNightReminder": "The Devil\u2019s Advocate points to a living player. That player survives execution tomorrow.", - "id": "devilsadvocate", - "name": "Devil's Advocate", - "otherNight": 13, - "otherNightReminder": "The Devil\u2019s Advocate points to a living player, different from the previous night. That player survives execution tomorrow.", - "reminders": [ - "Survives execution" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/devilsadvocate.png", - "setup": false, - "team": "minion" - }, - { - "ability": "Once per game, at night*, choose a player: they die, even if for some reason they could not.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "assassin", - "name": "Assassin", - "otherNight": 37, - "otherNightReminder": "If the Assassin has not yet used their ability: The Assassin either shows the 'no' head signal, or points to a player. That player dies.", - "reminders": [ - "Dead", - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/assassin.png", - "setup": false, - "team": "minion" - }, - { - "ability": "If the Demon dies by execution (ending the game), play for 1 more day. If a player is then executed, their team loses.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "mastermind", - "name": "Mastermind", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/mastermind.png", - "setup": false, - "team": "minion" - }, - { - "ability": "Each night*, if no-one died today, choose a player: they die. The 1st time you die, you live but register as dead.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "zombuul", - "name": "Zombuul", - "otherNight": 26, - "otherNightReminder": "If no-one died during the day: The Zombuul points to a player. That player dies.", - "reminders": [ - "Died today", - "Dead" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/zombuul.png", - "setup": false, - "team": "demon" - }, - { - "ability": "Each night, choose a player: they are poisoned. The previously poisoned player dies then becomes healthy.", - "edition": "bmr", - "firstNight": 28, - "firstNightReminder": "The Pukka points to a player. That player is poisoned.", - "id": "pukka", - "name": "Pukka", - "otherNight": 27, - "otherNightReminder": "The Pukka points to a player. That player is poisoned. The previously poisoned player dies. ", - "reminders": [ - "Poisoned", - "Dead" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/pukka.png", - "setup": false, - "team": "demon" - }, - { - "ability": "Each night*, choose 2 players: they die. A dead player you chose last night might be regurgitated.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "shabaloth", - "name": "Shabaloth", - "otherNight": 28, - "otherNightReminder": "One player that the Shabaloth chose the previous night might be resurrected. The Shabaloth points to two players. Those players die.", - "reminders": [ - "Dead", - "Alive" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/shabaloth.png", - "setup": false, - "team": "demon" - }, - { - "ability": "Each night*, you may choose a player: they die. If your last choice was no-one, choose 3 players tonight.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "po", - "name": "Po", - "otherNight": 29, - "otherNightReminder": "If the Po chose no-one the previous night: The Po points to three players. Otherwise: The Po either shows the 'no' head signal , or points to a player. Chosen players die", - "reminders": [ - "Dead", - "3 attacks" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/po.png", - "setup": false, - "team": "demon" - }, - { - "ability": "On your 1st night, you gain a Townsfolk ability (if good), or a Minion ability (if evil).", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": "Show the Apprentice the 'You are' card, then a Townsfolk or Minion token. In the Grimoire, replace the Apprentice token with that character token, and put the Apprentice's 'Is the Apprentice' reminder by that character token.", - "id": "apprentice", - "name": "Apprentice", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Is the Apprentice" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/apprentice.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "Each day, you may choose up to 3 sets of 2 players to swap seats. Players may not leave their seats to talk in private.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "matron", - "name": "Matron", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/matron.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "Once per game, if another player nominated, you may choose to force the current execution to pass or fail.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "judge", - "name": "Judge", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/judge.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "Only the Storyteller can nominate. At least 1 opposite player must be nominated each day.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "bishop", - "name": "Bishop", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Nominate good", - "Nominate evil" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/bishop.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "Only you and the dead can vote. They don't need a vote token to do so. A 50% majority is not required.", - "edition": "bmr", - "firstNight": null, - "firstNightReminder": null, - "id": "voudon", - "name": "Voudon", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/voudon.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "You start knowing how many steps from the Demon to its nearest Minion.", - "edition": "snv", - "firstNight": 41, - "firstNightReminder": "Show the hand signal for the number (1, 2, 3, etc.) of places from Demon to closest Minion.", - "id": "clockmaker", - "name": "Clockmaker", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/clockmaker.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night, choose a player (not yourself or Travellers): you learn 1 good and 1 evil character, 1 of which is correct.", - "edition": "snv", - "firstNight": 42, - "firstNightReminder": "The Dreamer points to a player. Show 1 good and 1 evil character token; one of these is correct.", - "id": "dreamer", - "name": "Dreamer", - "otherNight": 57, - "otherNightReminder": "The Dreamer points to a player. Show 1 good and 1 evil character token; one of these is correct.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/dreamer.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night, choose an alive player: a chosen Demon swaps characters & alignments with you & is then poisoned.", - "edition": "snv", - "firstNight": 19, - "firstNightReminder": "The Snake Charmer points to a player. If that player is the Demon: swap the Demon and Snake Charmer character and alignments. Wake each player to inform them of their new role and alignment. The new Snake Charmer is poisoned.", - "id": "snakecharmer", - "name": "Snake Charmer", - "otherNight": 11, - "otherNightReminder": "The Snake Charmer points to a player. If that player is the Demon: swap the Demon and Snake Charmer character and alignments. Wake each player to inform them of their new role and alignment. The new Snake Charmer is poisoned.", - "reminders": [ - "Poisoned" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/snakecharmer.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night, you learn how many players\u2019 abilities worked abnormally (since dawn) due to another character's ability.", - "edition": "snv", - "firstNight": 55, - "firstNightReminder": "Show the hand signal for the number (0, 1, 2, etc.) of players whose ability malfunctioned due to other abilities.", - "id": "mathematician", - "name": "Mathematician", - "otherNight": 73, - "otherNightReminder": "Show the hand signal for the number (0, 1, 2, etc.) of players whose ability malfunctioned due to other abilities.", - "reminders": [ - "Abnormal" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/mathematician.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night*, you learn if a Demon voted today.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "flowergirl", - "name": "Flowergirl", - "otherNight": 58, - "otherNightReminder": "Nod 'yes' or shake head 'no' for whether the Demon voted today. Place the 'Demon not voted' marker (remove 'Demon voted', if any).", - "reminders": [ - "Demon voted", - "Demon not voted" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/flowergirl.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night*, you learn if a Minion nominated today.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "towncrier", - "name": "Town Crier", - "otherNight": 59, - "otherNightReminder": "Nod 'yes' or shake head 'no' for whether a Minion nominated today. Place the 'Minion not nominated' marker (remove 'Minion nominated', if any).", - "reminders": [ - "Minions not nominated", - "Minion nominated" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/towncrier.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night*, you learn how many dead players are evil.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "oracle", - "name": "Oracle", - "otherNight": 60, - "otherNightReminder": "Show the hand signal for the number (0, 1, 2, etc.) of dead evil players.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/oracle.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each day, you may visit the Storyteller to learn 2 things in private: 1 is true & 1 is false.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "savant", - "name": "Savant", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/savant.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Once per game, at night, choose 2 players (not yourself): you learn if they are the same alignment.", - "edition": "snv", - "firstNight": 43, - "firstNightReminder": "The Seamstress either shows a 'no' head signal, or points to two other players. If the Seamstress chose players , nod 'yes' or shake 'no' for whether they are of same alignment.", - "id": "seamstress", - "name": "Seamstress", - "otherNight": 61, - "otherNightReminder": "If the Seamstress has not yet used their ability: the Seamstress either shows a 'no' head signal, or points to two other players. If the Seamstress chose players , nod 'yes' or shake 'no' for whether they are of same alignment.", - "reminders": [ - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/seamstress.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Once per game, at night, choose a good character: gain that ability. If this character is in play, they are drunk.", - "edition": "snv", - "firstNight": 1, - "firstNightReminder": "The Philosopher either shows a 'no' head signal, or points to a good character on their sheet. If they chose a character: Swap the out-of-play character token with the Philosopher token and add the 'Is the Philosopher' reminder. If the character is in play, place the drunk marker by that player.", - "id": "philosopher", - "name": "Philosopher", - "otherNight": 2, - "otherNightReminder": "If the Philosopher has not used their ability: the Philosopher either shows a 'no' head signal, or points to a good character on their sheet. If they chose a character: Swap the out-of-play character token with the Philosopher token and add the 'Is the Philosopher' reminder. If the character is in play, place the drunk marker by that player.", - "reminders": [ - "Drunk", - "Is the Philosopher" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/philosopher.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Once per game, during the day, privately ask the Storyteller any yes/no question.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "artist", - "name": "Artist", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/artist.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "On your 1st day, publicly guess up to 5 players' characters. That night, you learn how many you got correct.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "juggler", - "name": "Juggler", - "otherNight": 62, - "otherNightReminder": "If today was the Juggler\u2019s first day: Show the hand signal for the number (0, 1, 2, etc.) of 'Correct' markers. Remove markers.", - "reminders": [ - "Correct" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/juggler.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "If the Demon kills you, you learn that it is 1 of 2 players.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "sage", - "name": "Sage", - "otherNight": 43, - "otherNightReminder": "If the Sage was killed by a Demon: Point to two players, one of which is that Demon.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/sage.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "If you are \u201cmad\u201d about being an Outsider, you might be executed.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "mutant", - "name": "Mutant", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/mutant.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "When you die, 1 player is drunk from now on.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "sweetheart", - "name": "Sweetheart", - "otherNight": 42, - "otherNightReminder": "Choose a player that is drunk.", - "reminders": [ - "Drunk" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/sweetheart.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "If you died today or tonight, the Demon may choose 2 players (not another Demon) to swap characters.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "barber", - "name": "Barber", - "otherNight": 41, - "otherNightReminder": "If the Barber died today: Wake the Demon. Show the 'This character selected you' card, then Barber token. The Demon either shows a 'no' head signal, or points to 2 players. If they chose players: Swap the character tokens. Wake each player. Show 'You are', then their new character token.", - "reminders": [ - "Haircuts tonight" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/barber.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "When you learn that you died, publicly choose 1 alive player: if they are evil, your team loses.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "klutz", - "name": "Klutz", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/klutz.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "You & an opposing player know each other. If the good player is executed, evil wins. Good can't win if you both live.", - "edition": "snv", - "firstNight": 22, - "firstNightReminder": "Wake the Evil Twin and their twin. Confirm that they have acknowledged each other. Point to the Evil Twin. Show their Evil Twin token to the twin player. Point to the twin. Show their character token to the Evil Twin player.", - "id": "eviltwin", - "name": "Evil Twin", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Twin" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/eviltwin.png", - "setup": false, - "team": "minion" - }, - { - "ability": "Each night, choose a player: if they nominate tomorrow, they die. If just 3 players live, you lose this ability.", - "edition": "snv", - "firstNight": 23, - "firstNightReminder": "The Witch points to a player. If that player nominates tomorrow they die immediately.", - "id": "witch", - "name": "Witch", - "otherNight": 14, - "otherNightReminder": "If there are 4 or more players alive: The Witch points to a player. If that player nominates tomorrow they die immediately.", - "reminders": [ - "Cursed" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/witch.png", - "setup": false, - "team": "minion" - }, - { - "ability": "Each night, choose a player & a good character: they are \u201cmad\u201d they are this character tomorrow, or might be executed.", - "edition": "snv", - "firstNight": 24, - "firstNightReminder": "The Cerenovus points to a player, then to a character on their sheet. Wake that player. Show the 'This character selected you' card, then the Cerenovus token. Show the selected character token. If the player is not mad about being that character tomorrow, they can be executed.", - "id": "cerenovus", - "name": "Cerenovus", - "otherNight": 15, - "otherNightReminder": "The Cerenovus points to a player, then to a character on their sheet. Wake that player. Show the 'This character selected you' card, then the Cerenovus token. Show the selected character token. If the player is not mad about being that character tomorrow, they can be executed.", - "reminders": [ - "Mad" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/cerenovus.png", - "setup": false, - "team": "minion" - }, - { - "ability": "Each night*, choose a player & a character they become (if not-in-play). If a Demon is made, deaths tonight are arbitrary.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "pithag", - "name": "Pit-Hag", - "otherNight": 16, - "otherNightReminder": "The Pit-Hag points to a player and a character on the sheet. If this character is not in play, wake that player and show them the 'You are' card and the relevant character token. If the character is in play, nothing happens.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/pithag.png", - "setup": false, - "team": "minion" - }, - { - "ability": "Each night*, choose a player: they die. The 1st Outsider this kills becomes an evil Fang Gu & you die instead. [+1 Outsider]", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "fanggu", - "name": "Fang Gu", - "otherNight": 30, - "otherNightReminder": "The Fang Gu points to a player. That player dies. Or, if that player was an Outsider and there are no other Fang Gu in play: The Fang Gu dies instead of the chosen player. The chosen player is now an evil Fang Gu. Wake the new Fang Gu. Show the 'You are' card, then the Fang Gu token. Show the 'You are' card, then the thumb-down 'evil' hand sign.", - "reminders": [ - "Dead", - "Once" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/fanggu.png", - "setup": true, - "team": "demon" - }, - { - "ability": "Each night*, choose a player: they die. Minions you kill keep their ability & poison 1 Townsfolk neighbour. [\u22121 Outsider]", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "vigormortis", - "name": "Vigormortis", - "otherNight": 33, - "otherNightReminder": "The Vigormortis points to a player. That player dies. If a Minion, they keep their ability and one of their Townsfolk neighbours is poisoned.", - "reminders": [ - "Dead", - "Has ability", - "Poisoned" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/vigormortis.png", - "setup": true, - "team": "demon" - }, - { - "ability": "Each night*, choose a player: they die. Your 2 Townsfolk neighbours are poisoned.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "nodashii", - "name": "No Dashii", - "otherNight": 31, - "otherNightReminder": "The No Dashii points to a player. That player dies.", - "reminders": [ - "Dead", - "Poisoned" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/nodashii.png", - "setup": false, - "team": "demon" - }, - { - "ability": "Each night*, choose a player: they die. Townsfolk abilities yield false info. Each day, if no-one is executed, evil wins.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "vortox", - "name": "Vortox", - "otherNight": 32, - "otherNightReminder": "The Vortox points to a player. That player dies.", - "reminders": [ - "Dead" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/vortox.png", - "setup": false, - "team": "demon" - }, - { - "ability": "Each night, until dusk, 1) a player becomes sober, healthy and gets true info, or 2) their ability works twice. They learn which.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": "Choose a player, wake them and tell them which Barista power is affecting them. Treat them accordingly (sober/healthy/true info or activate their ability twice).", - "id": "barista", - "name": "Barista", - "otherNight": null, - "otherNightReminder": "Choose a player, wake them and tell them which Barista power is affecting them. Treat them accordingly (sober/healthy/true info or activate their ability twice).", - "reminders": [ - "Sober & Healthy", - "Ability twice" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/barista.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "Each night*, choose a living player: if they agree, you learn their character, but you both might die.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "harlot", - "name": "Harlot", - "otherNight": null, - "otherNightReminder": "The Harlot points at any player. Then, put the Harlot to sleep. Wake the chosen player, show them the 'This character selected you' token, then the Harlot token. That player either nods their head yes or shakes their head no. If they nodded their head yes, wake the Harlot and show them the chosen player's character token. Then, you may decide that both players die.", - "reminders": [ - "Dead" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/harlot.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "Each day, after the 1st execution, you may nominate again.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "butcher", - "name": "Butcher", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/butcher.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "Once per game, at night, choose a dead player: they regain their ability until dusk.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "bonecollector", - "name": "Bone Collector", - "otherNight": null, - "otherNightReminder": "The Bone Collector either shakes their head no or points at any dead player. If they pointed at any dead player, put the Bone Collector's 'Has Ability' reminder by the chosen player's character token. (They may need to be woken tonight to use it.)", - "reminders": [ - "No ability", - "Has ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/bonecollector.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "If you were funny today, you cannot die by exile.", - "edition": "snv", - "firstNight": null, - "firstNightReminder": null, - "id": "deviant", - "name": "Deviant", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/deviant.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "You start knowing 3 players, 1 and only 1 of which is evil.", - "edition": "ks", - "firstNight": 46, - "firstNightReminder": "Point to 3 players including one evil player, in no particular order.", - "id": "noble", - "name": "Noble", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Seen" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/noble.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "You start knowing 1 evil player. If the player you know dies, you learn another evil player tonight. [1 Townsfolk is evil]", - "edition": "experimental", - "firstNight": 48, - "firstNightReminder": "Point to 1 evil player. Wake the townsfolk who is evil and show them the 'You are' card and the thumbs down evil sign.", - "id": "bountyhunter", - "name": "Bounty Hunter", - "otherNight": 65, - "otherNightReminder": "If the known evil player has died, point to another evil player. ", - "reminders": [ - "Known" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/bountyhunter.png", - "setup": true, - "team": "townsfolk" - }, - { - "ability": "You start knowing 1 in-play Townsfolk. If you were mad that you were this character, you gain their ability when they die.", - "edition": "ks", - "firstNight": 29, - "firstNightReminder": "Show the Pixie 1 in-play Townsfolk character token.", - "id": "pixie", - "name": "Pixie", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Mad", - "Has ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/pixie.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night, you learn which alignment the Storyteller believes is winning: good, evil, or neither.", - "edition": "ks", - "firstNight": 53, - "firstNightReminder": "Show the General thumbs up for good winning, thumbs down for evil winning or thumb to the side for neither.", - "id": "general", - "name": "General", - "otherNight": 71, - "otherNightReminder": "Show the General thumbs up for good winning, thumbs down for evil winning or thumb to the side for neither.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/general.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night, choose a player: a Minion, if chosen, learns this. All chosen Minions have no ability.", - "edition": "experimental", - "firstNight": 13, - "firstNightReminder": "The Preacher chooses a player. If a Minion is chosen, wake the Minion and show the 'This character selected you' card and then the Preacher token.", - "id": "preacher", - "name": "Preacher", - "otherNight": 6, - "otherNightReminder": "The Preacher chooses a player. If a Minion is chosen, wake the Minion and show the 'This character selected you' card and then the Preacher token.", - "reminders": [ - "At a sermon" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/preacher.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night, if the dead outnumber the living, you learn 1 alive character. The Demon knows who you are.", - "edition": "ks", - "firstNight": 9, - "firstNightReminder": "Wake the Demon, show them the 'This character selected you' card, show the King token and point to the King player.", - "id": "king", - "name": "King", - "otherNight": 64, - "otherNightReminder": "If there are more dead than living, show the King a character token of a living player.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/king.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night, you learn 1 player of each character type, until there are no more types to learn. [+1 Outsider]", - "edition": "experimental", - "firstNight": 47, - "firstNightReminder": "Choose a character type. Point to a player whose character is of that type. Place the Balloonist's Seen reminder next to that character.", - "id": "balloonist", - "name": "Balloonist", - "otherNight": 63, - "otherNightReminder": "Choose a character type that does not yet have a Seen reminder next to a character of that type. Point to a player whose character is of that type, if there are any. Place the Balloonist's Seen reminder next to that character.", - "reminders": [ - "Seen Townsfolk", - "Seen Outsider", - "Seen Minion", - "Seen Demon", - "Seen Traveller" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/balloonist.png", - "setup": true, - "team": "townsfolk" - }, - { - "ability": "Each night, you become the alignment of an alive neighbour. If all good players choose to join your cult, your team wins.", - "edition": "experimental", - "firstNight": 50, - "firstNightReminder": "If the cult leader changed alignment, show them the thumbs up good signal of the thumbs down evil signal accordingly.", - "id": "cultleader", - "name": "Cult Leader", - "otherNight": 67, - "otherNightReminder": "If the cult leader changed alignment, show them the thumbs up good signal of the thumbs down evil signal accordingly.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/cultleader.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Each night*, choose a living player: if good, they die, but they are the only player that can die tonight.", - "edition": "ks", - "firstNight": null, - "firstNightReminder": null, - "id": "lycanthrope", - "name": "Lycanthrope", - "otherNight": 23, - "otherNightReminder": "The Lycanthrope points to a living player: if good, they die and no one else can die tonight.", - "reminders": [ - "Dead" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/lycanthrope.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "You do not know what your ability is. Each day, privately guess what it is: you learn how accurate you are.", - "edition": "ks", - "firstNight": 32, - "firstNightReminder": "Decide the Amnesiac's entire ability. If the Amnesiac's ability causes them to wake tonight: Wake the Amnesiac and run their ability.", - "id": "amnesiac", - "name": "Amnesiac", - "otherNight": 48, - "otherNightReminder": "If the Amnesiac's ability causes them to wake tonight: Wake the Amnesiac and run their ability.", - "reminders": [ - "?" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/amnesiac.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Once per game, at night, choose a player: they learn who you are.", - "edition": "experimental", - "firstNight": 49, - "firstNightReminder": "The Nightwatchman may point to a player. Wake that player, show the 'This character selected you' card and the Nightwatchman token, then point to the Nightwatchman player.", - "id": "nightwatchman", - "name": "Nightwatchman", - "otherNight": 66, - "otherNightReminder": "The Nightwatchman may point to a player. Wake that player, show the 'This character selected you' card and the Nightwatchman token, then point to the Nightwatchman player.", - "reminders": [ - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/nightwatchman.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Once per game, at night, choose which Minions or which Demon is in play.", - "edition": "ks", - "firstNight": 12, - "firstNightReminder": "The Engineer shows a 'no' head signal, or points to a Demon or points to the relevant number of Minions. If the Engineer chose characters, replace the Demon or Minions with the choices, then wake the relevant players and show them the You are card and the relevant character tokens.", - "id": "engineer", - "name": "Engineer", - "otherNight": 5, - "otherNightReminder": "The Engineer shows a 'no' head signal, or points to a Demon or points to the relevant number of Minions. If the Engineer chose characters, replace the Demon or Minions with the choices, then wake the relevant players and show them the 'You are' card and the relevant character tokens.", - "reminders": [ - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/engineer.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Once per game, during the day, visit the Storyteller for some advice to help you win.", - "edition": "experimental", - "firstNight": null, - "firstNightReminder": null, - "id": "fisherman", - "name": "Fisherman", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/fisherman.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Once per game, at night, choose a living player: the Damsel, if chosen, becomes a not-in-play Townsfolk. [+the Damsel]", - "edition": "ks", - "firstNight": 30, - "firstNightReminder": "The Huntsman shakes their head 'no' or points to a player. If they point to the Damsel, wake that player, show the 'You are' card and a not-in-play character token.", - "id": "huntsman", - "name": "Huntsman", - "otherNight": 46, - "otherNightReminder": "The Huntsman shakes their head 'no' or points to a player. If they point to the Damsel, wake that player, show the 'You are' card and a not-in-play character token.", - "reminders": [ - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/huntsman.png", - "setup": true, - "team": "townsfolk" - }, - { - "ability": "You have a not-in-play Minion ability.", - "edition": "ks", - "firstNight": 2, - "firstNightReminder": "Show the Alchemist a not-in-play Minion token", - "id": "alchemist", - "name": "Alchemist", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remindersGlobal": [ - "Is the Alchemist" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/alchemist.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "If you die at night, an alive good player becomes a Farmer.", - "edition": "ks", - "firstNight": null, - "firstNightReminder": null, - "id": "farmer", - "name": "Farmer", - "otherNight": 49, - "otherNightReminder": "If a Farmer died tonight, choose another good player and make them the Farmer. Wake this player, show them the 'You are' card and the Farmer character token.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/farmer.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "The Demon thinks you are a Minion. Minions think you are a Demon.", - "edition": "ks", - "firstNight": 4, - "firstNightReminder": null, - "id": "magician", - "name": "Magician", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/magician.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "If the Demon kills the King, you learn which player is the Demon. [+ the King]", - "edition": "ks", - "firstNight": null, - "firstNightReminder": null, - "id": "choirboy", - "name": "Choirboy", - "otherNight": 45, - "otherNightReminder": "If the King was killed by the Demon, wake the Choirboy and point to the Demon player.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/choirboy.png", - "setup": true, - "team": "townsfolk" - }, - { - "ability": "Minions & Demons do not know each other. If you die, they learn who each other are that night.", - "edition": "ks", - "firstNight": 3, - "firstNightReminder": "Do not inform the Demon/Minions who each other are", - "id": "poppygrower", - "name": "Poppy Grower", - "otherNight": 3, - "otherNightReminder": "If the Poppy Grower has died, show the Minions/Demon who each other are.", - "reminders": [ - "Evil wakes" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/poppygrower.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "The Storyteller can break the game rules & if executed, good wins, even if you are dead. [No evil characters]", - "edition": "ks", - "firstNight": null, - "firstNightReminder": null, - "id": "atheist", - "name": "Atheist", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/atheist.png", - "setup": true, - "team": "townsfolk" - }, - { - "ability": "You have the ability of the recently killed executee. If they are evil, you are poisoned until a good player dies by execution.", - "edition": "ks", - "firstNight": null, - "firstNightReminder": null, - "id": "cannibal", - "name": "Cannibal", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Poisoned", - "Died today" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/cannibal.png", - "setup": false, - "team": "townsfolk" - }, - { - "ability": "Minions start knowing 3 not-in-play characters.", - "edition": "ks", - "firstNight": 6, - "firstNightReminder": "After Minion info wake each Minion and show them three not-in-play character tokens. These may be the same or different to each other and the ones shown to the Demon.", - "id": "snitch", - "name": "Snitch", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/snitch.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "Each night*, if either good living neighbour is drunk or poisoned, you die.", - "edition": "experimental", - "firstNight": null, - "firstNightReminder": null, - "id": "acrobat", - "name": "Acrobat", - "otherNight": 40, - "otherNightReminder": "If a good living neighbour is drunk or poisoned, the Acrobat player dies.", - "reminders": [ - "Dead" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/acrobat.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "1 player is drunk, even if you die. If you guess (once) who it is, learn the Demon player, but guess wrong & get false info.", - "edition": "ks", - "firstNight": null, - "firstNightReminder": null, - "id": "puzzlemaster", - "name": "Puzzlemaster", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Drunk", - "Guess used" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/puzzlemaster.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "Whoever wins, loses & whoever loses, wins, even if you are dead.", - "edition": "ks", - "firstNight": null, - "firstNightReminder": null, - "id": "heretic", - "name": "Heretic", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/heretic.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "All Minions know you are in play. If a Minion publicly guesses you (once), your team loses.", - "edition": "ks", - "firstNight": 31, - "firstNightReminder": "Wake all the Minions, show them the 'This character selected you' card and the Damsel token.", - "id": "damsel", - "name": "Damsel", - "otherNight": 47, - "otherNightReminder": "If selected by the Huntsman, wake the Damsel, show 'You are' card and a not-in-play Townsfolk token.", - "reminders": [ - "Guess used" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/damsel.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "You may only nominate once per game. When you do, if the nominee is not the Demon, they die.", - "edition": "ks", - "firstNight": null, - "firstNightReminder": null, - "id": "golem", - "name": "Golem", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Can not nominate" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/golem.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "If you were the player most responsible for your team losing, you change alignment & win, even if dead.", - "edition": "experimental", - "firstNight": null, - "firstNightReminder": null, - "id": "politician", - "name": "Politician", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/politician.png", - "setup": false, - "team": "outsider" - }, - { - "ability": "On your 1st night, look at the Grimoire and choose a player: they are poisoned. 1 good player knows a Widow is in play.", - "edition": "experimental", - "firstNight": 17, - "firstNightReminder": "Show the Grimoire to the Widow for as long as they need. The Widow points to a player. That player is poisoned. Wake a good player. Show the 'These characters are in play' card, then the Widow character token.", - "id": "widow", - "name": "Widow", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Poisoned" - ], - "remindersGlobal": [ - "Knows" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/widow.png", - "setup": false, - "team": "minion" - }, - { - "ability": "Each night, choose a player. If you nominate & execute them, their team loses. All players know if you choose a new player.", - "edition": "ks", - "firstNight": 25, - "firstNightReminder": "The Fearmonger points to a player. Place the Fear token next to that player and announce that a new player has been selected with the Fearmonger ability.", - "id": "fearmonger", - "name": "Fearmonger", - "otherNight": 17, - "otherNightReminder": "The Fearmonger points to a player. If different from the previous night, place the Fear token next to that player and announce that a new player has been selected with the Fearmonger ability.", - "reminders": [ - "Fear" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/fearmonger.png", - "setup": false, - "team": "minion" - }, - { - "ability": "Each day, before nominations, you may publicly choose a player: they die. If executed, you only die if you lose roshambo.", - "edition": "ks", - "firstNight": null, - "firstNightReminder": null, - "id": "psychopath", - "name": "Psychopath", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/psychopath.png", - "setup": false, - "team": "minion" - }, - { - "ability": "If you publicly claim to be the Goblin when nominated & are executed that day, your team wins.", - "edition": "experimental", - "firstNight": null, - "firstNightReminder": null, - "id": "goblin", - "name": "Goblin", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Claimed" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/goblin.png", - "setup": false, - "team": "minion" - }, - { - "ability": "You start knowing a secret word. The 1st good player to say this word becomes evil that night.", - "edition": "experimental", - "firstNight": null, - "firstNightReminder": "Show the Mephit their secret word.", - "id": "mephit", - "name": "Mephit", - "otherNight": null, - "otherNightReminder": "Wake the 1st good player that said the Mephit's secret word and show them the 'You are' card and the thumbs down evil signal.", - "reminders": [ - "Turns evil", - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/mephit.png", - "setup": false, - "team": "minion" - }, - { - "ability": "You start knowing a secret word. The 1st good player to say this word becomes evil that night.", - "edition": "ks", - "firstNight": 27, - "firstNightReminder": "Show the Mezepheles their secret word.", - "id": "mezepheles", - "name": "Mezepheles", - "otherNight": 19, - "otherNightReminder": "Wake the 1st good player that said the Mezepheles' secret word and show them the 'You are' card and the thumbs down evil signal.", - "reminders": [ - "Turns evil", - "No ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/mezepheles.png", - "setup": false, - "team": "minion" - }, - { - "ability": "You think you are a good character but you are not. The Demon knows who you are. [You neighbour the Demon]", - "edition": "ks", - "firstNight": 11, - "firstNightReminder": "Select one of the good players next to the Demon and place the Is the Marionette reminder token. Wake the Demon and show them the Marionette.", - "id": "marionette", - "name": "Marionette", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remindersGlobal": [ - "Is the Marionette" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/marionette.png", - "setup": true, - "team": "minion" - }, - { - "ability": "If you are executed, all but 3 players die. 1 minute later, the player with the most players pointing at them dies.", - "edition": "ks", - "firstNight": null, - "firstNightReminder": null, - "id": "boomdandy", - "name": "Boomdandy", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/boomdandy.png", - "setup": false, - "team": "minion" - }, - { - "ability": "Each night, Minions choose who babysits Lil' Monsta's token & \"is the Demon\". A player dies each night*. [+1 Minion]", - "edition": "experimental", - "firstNight": 14, - "firstNightReminder": "Wake all Minions together, allow them to vote by pointing at who they want to babysit Lil' Monsta.", - "id": "lilmonsta", - "name": "Lil' Monsta", - "otherNight": 36, - "otherNightReminder": "Wake all Minions together, allow them to vote by pointing at who they want to babysit Lil' Monsta. Choose a player, that player dies.", - "reminders": [], - "remindersGlobal": [ - "Is the Demon", - "Dead" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/lilmonsta.png", - "setup": true, - "team": "demon" - }, - { - "ability": "Each night*, choose a player: they die. You start by choosing an alive player: they are poisoned - you die if & only if they die.", - "edition": "ks", - "firstNight": 15, - "firstNightReminder": "The Lleech points to a player. Place the Poisoned reminder token.", - "id": "lleech", - "name": "Lleech", - "otherNight": 35, - "otherNightReminder": "The Lleech points to a player. That player dies.", - "reminders": [ - "Dead", - "Poisoned" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/lleech.png", - "setup": false, - "team": "demon" - }, - { - "ability": "Each night*, choose 3 players (all players learn who): each silently chooses to live or die, but if all live, all die.", - "edition": "ks", - "firstNight": null, - "firstNightReminder": null, - "id": "alhadikhia", - "name": "Al-Hadikhia", - "otherNight": 34, - "otherNightReminder": "The Al-Hadikhia chooses 3 players. Announce the first player, wake them to nod yes to live or shake head no to die, kill or resurrect accordingly, then put to sleep and announce the next player. If all 3 are alive after this, all 3 die.", - "reminders": [ - "1", - "2", - "3", - "Chose death", - "Chose life" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/alhadikhia.png", - "setup": false, - "team": "demon" - }, - { - "ability": "Each night*, a player might die. Executions fail if only evil voted. You register as a Minion too. [Most players are Legion]", - "edition": "ks", - "firstNight": null, - "firstNightReminder": null, - "id": "legion", - "name": "Legion", - "otherNight": 24, - "otherNightReminder": "Choose a player, that player dies.", - "reminders": [ - "Dead", - "About to die" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/legion.png", - "setup": true, - "team": "demon" - }, - { - "ability": "If more than 1 good player is executed, you win. All players know you are in play. After day 5, evil wins.", - "edition": "ks", - "firstNight": 57, - "firstNightReminder": "Place the Leviathan 'Day 1' marker. Announce 'The Leviathan is in play; this is Day 1.'", - "id": "leviathan", - "name": "Leviathan", - "otherNight": 75, - "otherNightReminder": "Change the Leviathan Day reminder for the next day.", - "reminders": [ - "Day 1", - "Day 2", - "Day 3", - "Day 4", - "Day 5", - "Good player executed" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/leviathan.png", - "setup": false, - "team": "demon" - }, - { - "ability": "Nominees die, but may nominate again immediately (on day 3, they must). After day 3, evil wins. [All Minions are Riot]", - "edition": "ks", - "firstNight": null, - "firstNightReminder": null, - "id": "riot", - "name": "Riot", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/riot.png", - "setup": true, - "team": "demon" - }, - { - "ability": "Once per day, you may choose to kill an alive neighbour, if your other alive neighbour agrees.", - "edition": "ks", - "firstNight": null, - "firstNightReminder": null, - "id": "gangster", - "name": "Gangster", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/gangster.png", - "setup": false, - "team": "traveler" - }, - { - "ability": "If 4 or more players live, each living player may publicly choose (once per game) that a player of their own alignment dies.", - "edition": "base3", - "firstNight": null, - "firstNightReminder": null, - "id": "doomsayer", - "name": "Doomsayer", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/doomsayer.png", - "setup": false, - "team": "fabled" - }, - { - "ability": "Something bad might happen to whoever is most responsible for the death of a new player.", - "edition": "base3", - "firstNight": null, - "firstNightReminder": null, - "id": "angel", - "name": "Angel", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Protect", - "Something Bad" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/angel.png", - "setup": false, - "team": "fabled" - }, - { - "ability": "For the first 2 minutes of each day, veteran players may not talk.", - "edition": "base3", - "firstNight": null, - "firstNightReminder": null, - "id": "buddhist", - "name": "Buddhist", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/buddhist.png", - "setup": false, - "team": "fabled" - }, - { - "ability": "Something bad might happen to whoever talks when the Storyteller has asked for silence.", - "edition": "base3", - "firstNight": null, - "firstNightReminder": null, - "id": "hellslibrarian", - "name": "Hell's Librarian", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Something Bad" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/hellslibrarian.png", - "setup": false, - "team": "fabled" - }, - { - "ability": "2 neighboring players are known to be the same alignment. Once per game, one of them registers falsely.", - "edition": "base3", - "firstNight": null, - "firstNightReminder": null, - "id": "revolutionary", - "name": "Revolutionary", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Used" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/revolutionary.png", - "setup": false, - "team": "fabled" - }, - { - "ability": "Once per game, the Demon secretly chooses an opposing player: all players choose which of these 2 players win.", - "edition": "base3", - "firstNight": null, - "firstNightReminder": null, - "id": "fiddler", - "name": "Fiddler", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/fiddler.png", - "setup": false, - "team": "fabled" - }, - { - "ability": "The Demon may choose not to attack & must do this at least once per game. Evil players get normal starting info.", - "edition": "base3", - "firstNight": null, - "firstNightReminder": null, - "id": "toymaker", - "name": "Toymaker", - "otherNight": null, - "otherNightReminder": "If it is a night when a Demon attack could end the game, and the Demon is marked \u201cFinal night: No Attack,\u201d then the Demon does not act tonight. (Do not wake them.)", - "reminders": [ - "Final Night: No Attack" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/toymaker.png", - "setup": false, - "team": "fabled" - }, - { - "ability": "Once per game, 1 good player might get false information.", - "edition": "base3", - "firstNight": null, - "firstNightReminder": null, - "id": "fibbin", - "name": "Fibbin", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Used" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/fibbin.png", - "setup": false, - "team": "fabled" - }, - { - "ability": "Each day, 3 players may choose to visit you. At night*, each visitor learns how many visitors are evil, but 1 gets false info.", - "edition": "base3", - "firstNight": null, - "firstNightReminder": null, - "id": "duchess", - "name": "Duchess", - "otherNight": null, - "otherNightReminder": "Wake each player marked \u201cVisitor\u201d or \u201cFalse Info\u201d one at a time. Show them the Duchess token, then fingers (1, 2, 3) equaling the number of evil players marked \u201cVisitor\u201d or, if you are waking the player marked \u201cFalse Info,\u201d show them any number of fingers except the number of evil players marked \u201cVisitor.\u201d", - "reminders": [ - "Visitor", - "False Info" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/duchess.png", - "setup": false, - "team": "fabled" - }, - { - "ability": "There might be 1 extra or 1 fewer Outsider in play.", - "edition": "base3", - "firstNight": null, - "firstNightReminder": null, - "id": "sentinel", - "name": "Sentinel", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/sentinel.png", - "setup": true, - "team": "fabled" - }, - { - "ability": "There can't be more than 1 extra evil player.", - "edition": "base3", - "firstNight": null, - "firstNightReminder": null, - "id": "spiritofivory", - "name": "Spirit of Ivory", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "No extra evil" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/spiritofivory.png", - "setup": false, - "team": "fabled" - }, - { - "ability": "Use the Djinn's special rule. All players know what it is.", - "edition": "base3", - "firstNight": null, - "firstNightReminder": null, - "id": "djinn", - "name": "Djinn", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/djinn.png", - "setup": false, - "team": "fabled" - }, - { - "ability": "Name a good character. If in play, they can only die by execution, but evil players learn which player it is.", - "edition": "ks", - "firstNight": null, - "firstNightReminder": "Mark a good player as \"Safe\". Wake each evil player and show them the marked player.", - "id": "stormcatcher", - "name": "Storm Catcher", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Safe" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/stormcatcher.png", - "setup": false, - "team": "fabled" - }, - { - "ability": "", - "edition": "_meta", - "firstNight": 5, - "firstNightReminder": "If 7 or more players: wake up all of the Minions. They make eye contact with each other. Show the 'This is the Demon' card. Point to the Demon.", - "id": "MINION", - "name": "MINION", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/MINION.png", - "setup": false, - "team": "_meta" - }, - { - "ability": "", - "edition": "_meta", - "firstNight": 8, - "firstNightReminder": "If 7 or more players: wake up the Demon. Show the 'These are your minions' card. Point to each Minion. Show the 'These characters are not in play' card. Show 3 character tokens of Good characters that are not in play", - "id": "DEMON", - "name": "DEMON", - "otherNight": null, - "otherNightReminder": null, - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/DEMON.png", - "setup": false, - "team": "_meta" - }, - { - "ability": "", - "edition": "_meta", - "firstNight": null, - "firstNightReminder": null, - "id": "DUSK", - "name": "DUSK", - "otherNight": 1, - "otherNightReminder": "Check that all eyes are closed. Some travellers act.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/DUSK.png", - "setup": false, - "team": "_meta" - }, - { - "ability": "", - "edition": "_meta", - "firstNight": 56, - "firstNightReminder": "Wait approximately 10 seconds. Call for eyes open, then immediately announce which players (if any) died.", - "id": "DAWN", - "name": "DAWN", - "otherNight": 74, - "otherNightReminder": "Wait approximately 10 seconds. Call for eyes open, then immediately announce which players (if any) died.", - "reminders": [], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/DAWN.png", - "setup": false, - "team": "_meta" - }, - { - "ability": "All players know who you are. You can not die during the day. If good voted, you may choose to execute immediately.", - "edition": "experimental", - "firstNight": 58, - "firstNightReminder": "Announce 'The Vizier is in play' and state which player they are.", - "id": "vizier", - "name": "Vizier", - "otherNight": null, - "otherNightReminder": null, - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/vizier.png", - "team": "minion" - }, - { - "ability": "All players keep their eyes closed when voting & the vote tally is secret. Votes for you only count if you vote.", - "edition": "experimental", - "firstNight": null, - "firstNightReminder": null, - "id": "organgrinder", - "name": "Organ Grinder", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "About to die" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/organgrinder.png", - "setup": false, - "team": "minion" - }, - { - "ability": "Each night, choose 2 players: tomorrow, the 1st player is mad that the 2nd is evil, or both might die.", - "edition": "experimental", - "firstNight": 26, - "firstNightReminder": "Wake the Harpy; they point at one player, then another. Wake the 1st player the Harpy pointed to, show them the 'This character has selected you' card, show them the Harpy token, then point at the 2nd player the Harpy pointed to.", - "id": "harpy", - "image": "your direct url here", - "name": "Harpy", - "otherNight": 18, - "otherNightReminder": "Wake the Harpy; they point at one player, then another. Wake the 1st player the Harpy pointed to, show them the 'This character has selected you' card, show them the Harpy token, then point at the 2nd player the Harpy pointed to.", - "reminders": [ - "Mad", - "2nd" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/harpy.png", - "setup": false, - "team": "minion" - }, - { - "ability": "Each night, learn which player the Storyteller believes you should talk to most.", - "edition": "experimental", - "firstNight": 52, - "firstNightReminder": "Point to a player.", - "id": "highpriestess", - "image": "your direct url here", - "name": "High Priestess", - "otherNight": 70, - "otherNightReminder": "Point to a player.", - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/highpriestess.png", - "setup": false, - "team": "townsfolk" + "reason": "If the Lleech has poisoned the Heretic then the Lleech dies, the Heretic remains poisoned." + } + ] }, { - "ability": "This script has homebrew characters or rules.", - "edition": "experimental", - "firstNight": null, - "firstNightReminder": "Announce the Bootlegger is in play and inform the group of all homebrew characters and/or rules you are using in this game. ", - "id": "bootlegger", - "image": "your direct url here", - "name": "Bootlegger", - "otherNight": null, - "otherNightReminder": null, - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/bootlegger.png", - "setup": false, - "team": "fabled" + "id": "Kazali", + "jinx": [ + { + "id": "Bounty Hunter", + "reason": "An evil Townsfolk is only created if the Bounty Hunter is still in play after the Kazali acts." + }, + { + "id": "Goon", + "reason": "If the Kazali chooses the Goon to become a Minion, remaining Minion choices are decided by the Storyteller." + }, + { + "id": "Marionette", + "reason": "If the Kazali chooses to create a Marionette, they must choose one of their neighbours." + }, + { + "id": "Huntsman", + "reason": "If the Kazali chooses the Damsel to become a Minion, and a Huntsman is in play, a good player becomes the Damsel." + }, + { + "id": "Choirboy", + "reason": "The Kazali can not choose the King to become a Minion if a Choirboy is in play." + } + ] }, { - "ability": "You start knowing 2 players that are not the Demon.", - "edition": "experimental", - "firstNight": 45, - "firstNightReminder": "Point to two players who are not the Demon.", - "id": "knight", - "image": null, - "name": "Knight", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Knows" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/knight.png", - "setup": false, - "team": "townsfolk" + "id": "Riot", + "jinx": [ + { + "id": "Engineer", + "reason": "Riot and the Engineer can not both be in play at the start of the game. \nIf the Engineer creates Riot, the evil players become Riot." + }, + { + "id": "Golem", + "reason": "If The Golem nominates Riot, the Riot player does not die." + }, + { + "id": "Snitch", + "reason": "If the Snitch is in play, each Riot player gets an extra 3 bluffs. " + }, + { + "id": "Saint", + "reason": "If a good player nominates and kills the Saint, the Saint's team loses. " + }, + { + "id": "Butler", + "reason": "The Butler can not nominate their master." + }, + { + "id": "Pit-Hag", + "reason": "If the Pit-Hag creates Riot, all evil players become Riot. \nIf the Pit-Hag creates Riot after day 3, the game continues for one more day." + }, + { + "id": "Mayor", + "reason": "If the 3rd day begins with just three players alive, the players may choose (as a group) not to nominate at all. If so (and a Mayor is alive) then the Mayor's team wins." + }, + { + "id": "Monk", + "reason": "If a Riot player nominates and kills the Monk-protected-player, the Monk-protected-player does not die." + }, + { + "id": "Farmer", + "reason": "If a Riot player nominates and kills a Farmer, the Farmer uses their ability tonight." + }, + { + "id": "Innkeeper", + "reason": "If a Riot player nominates an Innkeeper-protected-player, the Innkeeper-protected-player does not die." + }, + { + "id": "Sage", + "reason": "If a Riot player nominates and kills a Sage, the Sage uses their ability tonight." + }, + { + "id": "Ravenkeeper", + "reason": "If a Riot player nominates and kills the Ravenkeeper, the Ravenkeeper uses their ability tonight." + }, + { + "id": "Soldier", + "reason": "If a Riot player nominates the Soldier, the Soldier does not die." + }, + { + "id": "Grandmother", + "reason": "If a Riot player nominates and kills the Grandchild, the Grandmother dies too." + }, + { + "id": "King", + "reason": "If a Riot player nominates and kills the King and the Choirboy is alive, the Choirboy uses their ability tonight." + }, + { + "id": "Exorcist", + "reason": "Only 1 jinxed character can be in play. " + }, + { + "id": "Minstrel", + "reason": "Only 1 jinxed character can be in play. " + }, + { + "id": "Flowergirl", + "reason": "Only 1 jinxed character can be in play. " + }, + { + "id": "Undertaker", + "reason": "Players that die by nomination register as being executed to the Undertaker." + }, + { + "id": "Cannibal", + "reason": "Players that die by nomination register as being executed to the Cannibal." + }, + { + "id": "Pacifist", + "reason": "Players that die by nomination register as being executed to the Pacifist. " + }, + { + "id": "Devil's Advocate", + "reason": "Players that die by nomination register as being executed to the Devil's Advocate." + }, + { + "id": "Investigator", + "reason": "Riot registers as a Minion to the Investigator. " + }, + { + "id": "Clockmaker", + "reason": "Riot registers as a Minion to the Clockmaker." + }, + { + "id": "Town Crier", + "reason": "Riot registers as a Minion to the Town Crier." + }, + { + "id": "Damsel", + "reason": "Riot registers as a Minion to the Damsel." + }, + { + "id": "Preacher", + "reason": "Riot registers as a Minion to the Preacher." + }, + { + "id": "Hatter", + "reason": "If the Hatter dies, Riot is in play and a Riot chooses a different Demon, a normal evil team is created from the Riot players. If the Hatter dies and the Demon chooses Riot, Minions become Riot too." + } + ] }, { - "ability": "If you die, the Storyteller gains a not-in-play Minion ability.", - "edition": "experimental", - "firstNight": null, - "firstNightReminder": null, - "id": "plaguedoctor", - "image": "your direct url here", - "name": "Plague Doctor", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Storyteller Ability" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/plaguedoctor.png", - "setup": false, - "team": "outsider" + "id": "Al-Hadikhia", + "jinx": [ + { + "id": "Scarlet Woman", + "reason": "If there are two living Al-Hadikhias, the Scarlet Woman Al-Hadikhia becomes the Scarlet Woman again." + }, + { + "id": "Mastermind", + "reason": "Only 1 jinxed character can be in play. Evil players start knowing which player and character it is." + } + ] }, { - "ability": "You start knowing 1 good player.", - "edition": "experimental", - "firstNight": 44, - "firstNightReminder": "Point to a good player.", - "id": "steward", - "image": null, - "name": "Steward", - "otherNight": null, - "otherNightReminder": null, - "reminders": [ - "Knows" - ], - "remote_image": "https://raw.githubusercontent.com/chizmw/json-on-the-clocktower/main/data/images/steward.png", - "setup": false, - "team": "townsfolk" + "id": "Organ Grinder", + "jinx": [ + { + "id": "Butler", + "reason": "If the Organ Grinder is causing eyes closed voting, the Butler may raise their hand to vote but their vote is only counted if their master voted too." + }, + { + "id": "Flowergirl", + "reason": "If players' eyes were closed during the nominations, the Flowergirl learns how many times the Demon voted." + }, + { + "id": "Minstrel", + "reason": "Only 1 jinxed character can be in play. Evil players start knowing which player and character it is." + }, + { + "id": "Preacher", + "reason": "Only 1 jinxed character can be in play. Evil players start knowing which player and character it is." + } + ] + }, + { + "id": "Vizier", + "jinx": [ + { + "id": "Investigator", + "reason": "If the Investigator learns that the Vizier is in play, the existence of the Vizier is not announced by the Storyteller." + }, + { + "id": "Preacher", + "reason": "If the Vizier loses their ability, they learn this. If the Vizier is executed while they have their ability, their team wins." + }, + { + "id": "Courtier", + "reason": "If the Vizier loses their ability, they learn this. If the Vizier is executed while they have their ability, their team wins." + }, + { + "id": "Alchemist", + "reason": "If the Alchemist has the Vizier ability, they may only choose to execute immediately if three or more players voted, regardless of those players' alignment." + }, + { + "id": "Magician", + "reason": "Only 1 jinxed character can be in play. Evil players start knowing which player and character it is." + }, + { + "id": "Fearmonger", + "reason": "The Vizier wakes with the Fearmonger, learns who they choose and cannot choose to immediately execute that player." + } + ] } ], + "roles": [ + "DAWN", + "DEMON", + "DUSK", + "MINION", + "acrobat", + "alchemist", + "alhadikhia", + "amnesiac", + "angel", + "apprentice", + "artist", + "assassin", + "atheist", + "balloonist", + "barber", + "barista", + "baron", + "beggar", + "bishop", + "bonecollector", + "boomdandy", + "bootlegger", + "bountyhunter", + "buddhist", + "bureaucrat", + "butcher", + "butler", + "cannibal", + "cerenovus", + "chambermaid", + "chef", + "choirboy", + "clockmaker", + "courtier", + "cultleader", + "damsel", + "deviant", + "devilsadvocate", + "djinn", + "doomsayer", + "dreamer", + "drunk", + "duchess", + "empath", + "engineer", + "eviltwin", + "exorcist", + "fanggu", + "farmer", + "fearmonger", + "fibbin", + "fiddler", + "fisherman", + "flowergirl", + "fool", + "fortuneteller", + "gambler", + "gangster", + "general", + "goblin", + "godfather", + "golem", + "goon", + "gossip", + "grandmother", + "gunslinger", + "harlot", + "harpy", + "hatter", + "hellslibrarian", + "heretic", + "highpriestess", + "huntsman", + "imp", + "innkeeper", + "investigator", + "judge", + "juggler", + "kazali", + "king", + "klutz", + "knight", + "legion", + "leviathan", + "librarian", + "lilmonsta", + "lleech", + "lunatic", + "lycanthrope", + "magician", + "marionette", + "mastermind", + "mathematician", + "matron", + "mayor", + "mephit", + "mezepheles", + "minstrel", + "monk", + "moonchild", + "mutant", + "nightwatchman", + "noble", + "nodashii", + "ojo", + "oracle", + "organgrinder", + "pacifist", + "philosopher", + "pithag", + "pixie", + "plaguedoctor", + "po", + "poisoner", + "politician", + "poppygrower", + "preacher", + "professor", + "psychopath", + "pukka", + "puzzlemaster", + "ravenkeeper", + "recluse", + "revolutionary", + "riot", + "sage", + "sailor", + "saint", + "savant", + "scapegoat", + "scarletwoman", + "seamstress", + "sentinel", + "shabaloth", + "shugenja", + "slayer", + "snakecharmer", + "snitch", + "soldier", + "spiritofivory", + "spy", + "steward", + "stormcatcher", + "sweetheart", + "tealady", + "thief", + "tinker", + "towncrier", + "toymaker", + "undertaker", + "vigormortis", + "villageidiot", + "virgin", + "vizier", + "vortox", + "voudon", + "washerwoman", + "widow", + "witch", + "zombuul" + ], "teams": { "_meta": [ { @@ -6270,6 +4151,14 @@ { "id": "riot", "name": "Riot" + }, + { + "id": "ojo", + "name": "Ojo" + }, + { + "id": "kazali", + "name": "Kazali" } ], "fabled": [ @@ -6501,6 +4390,10 @@ "id": "politician", "name": "Politician" }, + { + "id": "hatter", + "name": "Hatter" + }, { "id": "plaguedoctor", "name": "Plague Doctor" @@ -6747,10 +4640,18 @@ "id": "cannibal", "name": "Cannibal" }, + { + "id": "shugenja", + "name": "Shugenja" + }, { "id": "highpriestess", "name": "High Priestess" }, + { + "id": "villageidiot", + "name": "Village Idiot" + }, { "id": "knight", "name": "Knight" From eb1621809519597a8610fb71a1d71eea63fee618 Mon Sep 17 00:00:00 2001 From: Chisel Date: Sun, 11 Feb 2024 16:21:55 +0000 Subject: [PATCH 2/9] docs(changeset): chore: update combined JSON data source file --- .changeset/perfect-otters-build.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/perfect-otters-build.md diff --git a/.changeset/perfect-otters-build.md b/.changeset/perfect-otters-build.md new file mode 100644 index 00000000..d0d4675f --- /dev/null +++ b/.changeset/perfect-otters-build.md @@ -0,0 +1,5 @@ +--- +'arcane-scripts': patch +--- + +chore: update combined JSON data source file From cd3f93178acdd672672e58146b8776dd17210312 Mon Sep 17 00:00:00 2001 From: Chisel Date: Mon, 12 Feb 2024 00:16:05 +0000 Subject: [PATCH 3/9] fix: compress things slightly to allow for (extremely) long Other Nights --- templates/style.css | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/templates/style.css b/templates/style.css index 0999c999..b834ceca 100644 --- a/templates/style.css +++ b/templates/style.css @@ -2,7 +2,7 @@ background-color: white; margin-bottom: 5mm; margin-left: 12mm; - margin-right: 12mm; + margin-right: 9mm; margin-top: 5mm; size: A5 landscape; } @@ -123,17 +123,18 @@ header { .character-ability-reminder { color: #708090; font-family: 'Fira Sans', sans-serif; - font-size: 8pt; + font-size: 7pt; font-weight: 200; } .character-block { - border: none; break-inside: avoid-column; margin-bottom: 2px; margin-top: 2px; + /* this seems odd, but seems to help the player reference flow/line up better */ + border: 2px solid #fff; } .character-block-nightinfo { - min-height: 40px; + min-height: 36px; } .character-block-player { min-height: 55px; @@ -184,8 +185,8 @@ header { .character-reminder { color: #000; font-family: 'Fira Sans', sans-serif; - font-size: 8pt; - margin-top: 5px; + font-size: 7pt; + margin-top: 3px; } .character-type-demon, .character-type-minion { From 549c34ed7834819d16695757f92b6997f7bbfe9a Mon Sep 17 00:00:00 2001 From: Chisel Date: Mon, 12 Feb 2024 00:30:11 +0000 Subject: [PATCH 4/9] docs(changeset): some styling changes in PDF (esp. very long Other Nights) --- .changeset/tall-pens-accept.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/tall-pens-accept.md diff --git a/.changeset/tall-pens-accept.md b/.changeset/tall-pens-accept.md new file mode 100644 index 00000000..17d8dcb4 --- /dev/null +++ b/.changeset/tall-pens-accept.md @@ -0,0 +1,5 @@ +--- +'arcane-scripts': patch +--- + +some styling changes in PDF (esp. very long Other Nights) From bb2c3d1bd137a695c3de632bef6481216d57381a Mon Sep 17 00:00:00 2001 From: Chisel Date: Mon, 12 Feb 2024 00:38:15 +0000 Subject: [PATCH 5/9] fix: update keys on external data test (role_list -> roles) --- botcpdf/tests/test_external_json.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/botcpdf/tests/test_external_json.py b/botcpdf/tests/test_external_json.py index 9cc55056..eff7a56c 100644 --- a/botcpdf/tests/test_external_json.py +++ b/botcpdf/tests/test_external_json.py @@ -1,7 +1,6 @@ """Tests to make sure that the external JSON data we use is processed correctly.""" - import json from botcpdf.roledata import RoleData @@ -31,7 +30,7 @@ def test_top_level_keys(self): "character_by_id", "editions", "jinxes", - "role_list", + "roles", "teams", ] ) From 477121c41c0a2d0e1da9f9c3d249b888516080d1 Mon Sep 17 00:00:00 2001 From: Chisel Date: Mon, 12 Feb 2024 00:45:03 +0000 Subject: [PATCH 6/9] chore: prevent terraform/sls deploy running No point deploying this until we get things backnon track with the web+API --- .github/workflows/terraform-serverless-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/terraform-serverless-deploy.yml b/.github/workflows/terraform-serverless-deploy.yml index 1851e876..eef185bc 100644 --- a/.github/workflows/terraform-serverless-deploy.yml +++ b/.github/workflows/terraform-serverless-deploy.yml @@ -6,7 +6,7 @@ name: Terraform and Serverless Deployment # yamllint disable-line rule:truthy on: pull_request: - branches: [main] + branches: [mainXXdonotrunthis] # only if we've changed terraform/ or botcpdf/ directories paths: - botcpdf/** From e3850d33d436cd8d75d5b85f5fad8e2a7d2e2b8c Mon Sep 17 00:00:00 2001 From: Chisel Date: Mon, 12 Feb 2024 00:46:18 +0000 Subject: [PATCH 7/9] docs(changeset): chore: prevent terraform/sls deploy running --- .changeset/curly-mangos-explain.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/curly-mangos-explain.md diff --git a/.changeset/curly-mangos-explain.md b/.changeset/curly-mangos-explain.md new file mode 100644 index 00000000..5e50e916 --- /dev/null +++ b/.changeset/curly-mangos-explain.md @@ -0,0 +1,5 @@ +--- +'arcane-scripts': patch +--- + +chore: prevent terraform/sls deploy running From bc3141fddd8c2c2aa17d80e578f3e15969450ccb Mon Sep 17 00:00:00 2001 From: Chisel Date: Mon, 12 Feb 2024 00:46:30 +0000 Subject: [PATCH 8/9] chore(deps): poetry update --- poetry.lock | 975 ++++++++++++++++++++++++++-------------------------- 1 file changed, 496 insertions(+), 479 deletions(-) diff --git a/poetry.lock b/poetry.lock index 8a4408f9..8022367e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,14 +1,14 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. [[package]] name = "astroid" -version = "3.0.0" +version = "3.0.3" description = "An abstract syntax tree for Python with inference support." optional = false python-versions = ">=3.8.0" files = [ - {file = "astroid-3.0.0-py3-none-any.whl", hash = "sha256:f2510e7fdcd6cfda4ec50014726d4857abf79acfc010084ce8c26091913f1b25"}, - {file = "astroid-3.0.0.tar.gz", hash = "sha256:1defdbca052635dd29657ea674edfc45e4b5be9cd53630c5b084fcfed94344a8"}, + {file = "astroid-3.0.3-py3-none-any.whl", hash = "sha256:92fcf218b89f449cdf9f7b39a269f8d5d617b27be68434912e11e79203963a17"}, + {file = "astroid-3.0.3.tar.gz", hash = "sha256:4148645659b08b70d72460ed1921158027a9e53ae8b7234149b1400eddacbb93"}, ] [package.dependencies] @@ -16,24 +16,25 @@ typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} [[package]] name = "aws-lambda-powertools" -version = "2.26.0" +version = "2.33.1" description = "Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity." optional = false -python-versions = ">=3.7.4,<4.0.0" +python-versions = ">=3.8,<4.0.0" files = [ - {file = "aws_lambda_powertools-2.26.0-py3-none-any.whl", hash = "sha256:dce14cb7aa7aaa34b790f7721ac2ef4525d684680b008bf8cb1b3e7a360ebfd0"}, - {file = "aws_lambda_powertools-2.26.0.tar.gz", hash = "sha256:3860609ad279f9c00c0300d8d724b82e0555638351938292629367b229f3550a"}, + {file = "aws_lambda_powertools-2.33.1-py3-none-any.whl", hash = "sha256:f3796733ed345cdf6aa51583465ffd685c34c48a9427083db74bcf7af4f14fa8"}, + {file = "aws_lambda_powertools-2.33.1.tar.gz", hash = "sha256:443846fbd46d4ab1a3a4b3bfc753131f86e0f5e52a79949ecc90201b09661c79"}, ] [package.dependencies] typing-extensions = ">=4.6.2,<5.0.0" [package.extras] -all = ["aws-xray-sdk (>=2.8.0,<3.0.0)", "fastjsonschema (>=2.14.5,<3.0.0)", "pydantic (>=1.8.2,<2.0.0)"] -aws-sdk = ["boto3 (>=1.20.32,<2.0.0)"] -datadog = ["datadog-lambda (>=4.77.0,<5.0.0)"] -datamasking-aws-sdk = ["aws-encryption-sdk (>=3.1.1,<4.0.0)"] +all = ["aws-encryption-sdk (>=3.1.1,<4.0.0)", "aws-xray-sdk (>=2.8.0,<3.0.0)", "fastjsonschema (>=2.14.5,<3.0.0)", "jsonpath-ng (>=1.6.0,<2.0.0)", "pydantic (>=1.8.2,<2.0.0)"] +aws-sdk = ["boto3 (>=1.26.164,<2.0.0)"] +datadog = ["datadog-lambda (>=4.77,<6.0)"] +datamasking = ["aws-encryption-sdk (>=3.1.1,<4.0.0)", "jsonpath-ng (>=1.6.0,<2.0.0)"] parser = ["pydantic (>=1.8.2,<2.0.0)"] +redis = ["redis (>=4.4,<6.0)"] tracer = ["aws-xray-sdk (>=2.8.0,<3.0.0)"] validation = ["fastjsonschema (>=2.14.5,<3.0.0)"] @@ -54,29 +55,33 @@ wrapt = "*" [[package]] name = "black" -version = "23.10.0" +version = "23.12.1" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-23.10.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:f8dc7d50d94063cdfd13c82368afd8588bac4ce360e4224ac399e769d6704e98"}, - {file = "black-23.10.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:f20ff03f3fdd2fd4460b4f631663813e57dc277e37fb216463f3b907aa5a9bdd"}, - {file = "black-23.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3d9129ce05b0829730323bdcb00f928a448a124af5acf90aa94d9aba6969604"}, - {file = "black-23.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:960c21555be135c4b37b7018d63d6248bdae8514e5c55b71e994ad37407f45b8"}, - {file = "black-23.10.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:30b78ac9b54cf87bcb9910ee3d499d2bc893afd52495066c49d9ee6b21eee06e"}, - {file = "black-23.10.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:0e232f24a337fed7a82c1185ae46c56c4a6167fb0fe37411b43e876892c76699"}, - {file = "black-23.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31946ec6f9c54ed7ba431c38bc81d758970dd734b96b8e8c2b17a367d7908171"}, - {file = "black-23.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:c870bee76ad5f7a5ea7bd01dc646028d05568d33b0b09b7ecfc8ec0da3f3f39c"}, - {file = "black-23.10.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:6901631b937acbee93c75537e74f69463adaf34379a04eef32425b88aca88a23"}, - {file = "black-23.10.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:481167c60cd3e6b1cb8ef2aac0f76165843a374346aeeaa9d86765fe0dd0318b"}, - {file = "black-23.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f74892b4b836e5162aa0452393112a574dac85e13902c57dfbaaf388e4eda37c"}, - {file = "black-23.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:47c4510f70ec2e8f9135ba490811c071419c115e46f143e4dce2ac45afdcf4c9"}, - {file = "black-23.10.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:76baba9281e5e5b230c9b7f83a96daf67a95e919c2dfc240d9e6295eab7b9204"}, - {file = "black-23.10.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:a3c2ddb35f71976a4cfeca558848c2f2f89abc86b06e8dd89b5a65c1e6c0f22a"}, - {file = "black-23.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db451a3363b1e765c172c3fd86213a4ce63fb8524c938ebd82919bf2a6e28c6a"}, - {file = "black-23.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:7fb5fc36bb65160df21498d5a3dd330af8b6401be3f25af60c6ebfe23753f747"}, - {file = "black-23.10.0-py3-none-any.whl", hash = "sha256:e223b731a0e025f8ef427dd79d8cd69c167da807f5710add30cdf131f13dd62e"}, - {file = "black-23.10.0.tar.gz", hash = "sha256:31b9f87b277a68d0e99d2905edae08807c007973eaa609da5f0c62def6b7c0bd"}, + {file = "black-23.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0aaf6041986767a5e0ce663c7a2f0e9eaf21e6ff87a5f95cbf3675bfd4c41d2"}, + {file = "black-23.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c88b3711d12905b74206227109272673edce0cb29f27e1385f33b0163c414bba"}, + {file = "black-23.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a920b569dc6b3472513ba6ddea21f440d4b4c699494d2e972a1753cdc25df7b0"}, + {file = "black-23.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:3fa4be75ef2a6b96ea8d92b1587dd8cb3a35c7e3d51f0738ced0781c3aa3a5a3"}, + {file = "black-23.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8d4df77958a622f9b5a4c96edb4b8c0034f8434032ab11077ec6c56ae9f384ba"}, + {file = "black-23.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:602cfb1196dc692424c70b6507593a2b29aac0547c1be9a1d1365f0d964c353b"}, + {file = "black-23.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c4352800f14be5b4864016882cdba10755bd50805c95f728011bcb47a4afd59"}, + {file = "black-23.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:0808494f2b2df923ffc5723ed3c7b096bd76341f6213989759287611e9837d50"}, + {file = "black-23.12.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:25e57fd232a6d6ff3f4478a6fd0580838e47c93c83eaf1ccc92d4faf27112c4e"}, + {file = "black-23.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2d9e13db441c509a3763a7a3d9a49ccc1b4e974a47be4e08ade2a228876500ec"}, + {file = "black-23.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1bd9c210f8b109b1762ec9fd36592fdd528485aadb3f5849b2740ef17e674e"}, + {file = "black-23.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:ae76c22bde5cbb6bfd211ec343ded2163bba7883c7bc77f6b756a1049436fbb9"}, + {file = "black-23.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1fa88a0f74e50e4487477bc0bb900c6781dbddfdfa32691e780bf854c3b4a47f"}, + {file = "black-23.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a4d6a9668e45ad99d2f8ec70d5c8c04ef4f32f648ef39048d010b0689832ec6d"}, + {file = "black-23.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b18fb2ae6c4bb63eebe5be6bd869ba2f14fd0259bda7d18a46b764d8fb86298a"}, + {file = "black-23.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:c04b6d9d20e9c13f43eee8ea87d44156b8505ca8a3c878773f68b4e4812a421e"}, + {file = "black-23.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3e1b38b3135fd4c025c28c55ddfc236b05af657828a8a6abe5deec419a0b7055"}, + {file = "black-23.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4f0031eaa7b921db76decd73636ef3a12c942ed367d8c3841a0739412b260a54"}, + {file = "black-23.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97e56155c6b737854e60a9ab1c598ff2533d57e7506d97af5481141671abf3ea"}, + {file = "black-23.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:dd15245c8b68fe2b6bd0f32c1556509d11bb33aec9b5d0866dd8e2ed3dba09c2"}, + {file = "black-23.12.1-py3-none-any.whl", hash = "sha256:78baad24af0f033958cad29731e27363183e140962595def56423e626f4bee3e"}, + {file = "black-23.12.1.tar.gz", hash = "sha256:4ce3ef14ebe8d9509188014d96af1c456a910d5b5cbf434a09fef7e024b3d0d5"}, ] [package.dependencies] @@ -90,38 +95,38 @@ typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)"] +d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "boto3" -version = "1.28.66" +version = "1.34.39" description = "The AWS SDK for Python" optional = false -python-versions = ">= 3.7" +python-versions = ">= 3.8" files = [ - {file = "boto3-1.28.66-py3-none-any.whl", hash = "sha256:a8228522c7db33694c0746dec8b48c05473671626359dd62ab6829eb7871eddc"}, - {file = "boto3-1.28.66.tar.gz", hash = "sha256:38658585791f47cca3fc6aad03838de0136778b533e8c71c6a9590aedc60fbde"}, + {file = "boto3-1.34.39-py3-none-any.whl", hash = "sha256:476896e70d36c9134d4125834280c597c17b54bff4902baf2e5fcde74f8acec8"}, + {file = "boto3-1.34.39.tar.gz", hash = "sha256:35bcbecf1b5d3620c93f0062d2994177f8bda25a9d2cba144d6462793c16065b"}, ] [package.dependencies] -botocore = ">=1.31.66,<1.32.0" +botocore = ">=1.34.39,<1.35.0" jmespath = ">=0.7.1,<2.0.0" -s3transfer = ">=0.7.0,<0.8.0" +s3transfer = ">=0.10.0,<0.11.0" [package.extras] crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.31.66" +version = "1.34.39" description = "Low-level, data-driven core of boto 3." optional = false -python-versions = ">= 3.7" +python-versions = ">= 3.8" files = [ - {file = "botocore-1.31.66-py3-none-any.whl", hash = "sha256:8d161a97a25eb381721b4b7251d5126ef4ec57e452114250b3e51ba5e4ff45a4"}, - {file = "botocore-1.31.66.tar.gz", hash = "sha256:70e94a5f9bd46b26b63a41fb441ad35f2ae8862ad9d90765b6fa31ccc02c0a19"}, + {file = "botocore-1.34.39-py3-none-any.whl", hash = "sha256:e175360445424b83b0e28ae20d301b99cf44ff2c9d5ab1d8670899bec05a9753"}, + {file = "botocore-1.34.39.tar.gz", hash = "sha256:9f00bd5e4698bcdd37ce6e224a896baf58d209678ed92834944b767de9061cc5"}, ] [package.dependencies] @@ -130,7 +135,7 @@ python-dateutil = ">=2.1,<3.0.0" urllib3 = {version = ">=1.25.4,<2.1", markers = "python_version >= \"3.10\""} [package.extras] -crt = ["awscrt (==0.16.26)"] +crt = ["awscrt (==0.19.19)"] [[package]] name = "brotli" @@ -265,13 +270,13 @@ cffi = ">=1.0.0" [[package]] name = "certifi" -version = "2023.7.22" +version = "2024.2.2" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, - {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, + {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, + {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, ] [[package]] @@ -340,101 +345,101 @@ pycparser = "*" [[package]] name = "charset-normalizer" -version = "3.3.0" +version = "3.3.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.3.0.tar.gz", hash = "sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-win32.whl", hash = "sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-win32.whl", hash = "sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-win32.whl", hash = "sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-win32.whl", hash = "sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-win32.whl", hash = "sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884"}, - {file = "charset_normalizer-3.3.0-py3-none-any.whl", hash = "sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2"}, + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] [[package]] @@ -483,27 +488,28 @@ test = ["flake8", "isort", "pytest"] [[package]] name = "dill" -version = "0.3.7" +version = "0.3.8" description = "serialize all of Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "dill-0.3.7-py3-none-any.whl", hash = "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e"}, - {file = "dill-0.3.7.tar.gz", hash = "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"}, + {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, + {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, ] [package.extras] graph = ["objgraph (>=1.7.2)"] +profile = ["gprof2dot (>=2022.7.29)"] [[package]] name = "discord-webhook" -version = "1.3.0" +version = "1.3.1" description = "Easily send Discord webhooks with Python" optional = false -python-versions = ">=3.8,<4.0" +python-versions = ">=3.10,<4.0" files = [ - {file = "discord_webhook-1.3.0-py3-none-any.whl", hash = "sha256:666d57037620feff6fd0f6930714201eee8ca279003d3d217c1ad0ca0049e93b"}, - {file = "discord_webhook-1.3.0.tar.gz", hash = "sha256:1d44e6caf81810c5ebe6e2363a6fefee2cab915ad4c2e843a0ec088b0e54ed51"}, + {file = "discord_webhook-1.3.1-py3-none-any.whl", hash = "sha256:ede07028316de76d24eb811836e2b818b2017510da786777adcb0d5970e7af79"}, + {file = "discord_webhook-1.3.1.tar.gz", hash = "sha256:ee3e0f3ea4f3dc8dc42be91f75b894a01624c6c13fea28e23ebcf9a6c9a304f7"}, ] [package.dependencies] @@ -514,13 +520,13 @@ async = ["httpx (>=0.23.0,<0.24.0)"] [[package]] name = "exceptiongroup" -version = "1.1.3" +version = "1.2.0" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"}, - {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"}, + {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, + {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, ] [package.extras] @@ -528,53 +534,53 @@ test = ["pytest (>=6)"] [[package]] name = "fonttools" -version = "4.43.1" +version = "4.48.1" description = "Tools to manipulate font files" optional = false python-versions = ">=3.8" files = [ - {file = "fonttools-4.43.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:bf11e2cca121df35e295bd34b309046c29476ee739753bc6bc9d5050de319273"}, - {file = "fonttools-4.43.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10b3922875ffcba636674f406f9ab9a559564fdbaa253d66222019d569db869c"}, - {file = "fonttools-4.43.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f727c3e3d08fd25352ed76cc3cb61486f8ed3f46109edf39e5a60fc9fecf6ca"}, - {file = "fonttools-4.43.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad0b3f6342cfa14be996971ea2b28b125ad681c6277c4cd0fbdb50340220dfb6"}, - {file = "fonttools-4.43.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3b7ad05b2beeebafb86aa01982e9768d61c2232f16470f9d0d8e385798e37184"}, - {file = "fonttools-4.43.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4c54466f642d2116686268c3e5f35ebb10e49b0d48d41a847f0e171c785f7ac7"}, - {file = "fonttools-4.43.1-cp310-cp310-win32.whl", hash = "sha256:1e09da7e8519e336239fbd375156488a4c4945f11c4c5792ee086dd84f784d02"}, - {file = "fonttools-4.43.1-cp310-cp310-win_amd64.whl", hash = "sha256:1cf9e974f63b1080b1d2686180fc1fbfd3bfcfa3e1128695b5de337eb9075cef"}, - {file = "fonttools-4.43.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5db46659cfe4e321158de74c6f71617e65dc92e54980086823a207f1c1c0e24b"}, - {file = "fonttools-4.43.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1952c89a45caceedf2ab2506d9a95756e12b235c7182a7a0fff4f5e52227204f"}, - {file = "fonttools-4.43.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c36da88422e0270fbc7fd959dc9749d31a958506c1d000e16703c2fce43e3d0"}, - {file = "fonttools-4.43.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bbbf8174501285049e64d174e29f9578495e1b3b16c07c31910d55ad57683d8"}, - {file = "fonttools-4.43.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d4071bd1c183b8d0b368cc9ed3c07a0f6eb1bdfc4941c4c024c49a35429ac7cd"}, - {file = "fonttools-4.43.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d21099b411e2006d3c3e1f9aaf339e12037dbf7bf9337faf0e93ec915991f43b"}, - {file = "fonttools-4.43.1-cp311-cp311-win32.whl", hash = "sha256:b84a1c00f832feb9d0585ca8432fba104c819e42ff685fcce83537e2e7e91204"}, - {file = "fonttools-4.43.1-cp311-cp311-win_amd64.whl", hash = "sha256:9a2f0aa6ca7c9bc1058a9d0b35483d4216e0c1bbe3962bc62ce112749954c7b8"}, - {file = "fonttools-4.43.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4d9740e3783c748521e77d3c397dc0662062c88fd93600a3c2087d3d627cd5e5"}, - {file = "fonttools-4.43.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:884ef38a5a2fd47b0c1291647b15f4e88b9de5338ffa24ee52c77d52b4dfd09c"}, - {file = "fonttools-4.43.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9648518ef687ba818db3fcc5d9aae27a369253ac09a81ed25c3867e8657a0680"}, - {file = "fonttools-4.43.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95e974d70238fc2be5f444fa91f6347191d0e914d5d8ae002c9aa189572cc215"}, - {file = "fonttools-4.43.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:34f713dad41aa21c637b4e04fe507c36b986a40f7179dcc86402237e2d39dcd3"}, - {file = "fonttools-4.43.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:360201d46165fc0753229afe785900bc9596ee6974833124f4e5e9f98d0f592b"}, - {file = "fonttools-4.43.1-cp312-cp312-win32.whl", hash = "sha256:bb6d2f8ef81ea076877d76acfb6f9534a9c5f31dc94ba70ad001267ac3a8e56f"}, - {file = "fonttools-4.43.1-cp312-cp312-win_amd64.whl", hash = "sha256:25d3da8a01442cbc1106490eddb6d31d7dffb38c1edbfabbcc8db371b3386d72"}, - {file = "fonttools-4.43.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8da417431bfc9885a505e86ba706f03f598c85f5a9c54f67d63e84b9948ce590"}, - {file = "fonttools-4.43.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:51669b60ee2a4ad6c7fc17539a43ffffc8ef69fd5dbed186a38a79c0ac1f5db7"}, - {file = "fonttools-4.43.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748015d6f28f704e7d95cd3c808b483c5fb87fd3eefe172a9da54746ad56bfb6"}, - {file = "fonttools-4.43.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7a58eb5e736d7cf198eee94844b81c9573102ae5989ebcaa1d1a37acd04b33d"}, - {file = "fonttools-4.43.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6bb5ea9076e0e39defa2c325fc086593ae582088e91c0746bee7a5a197be3da0"}, - {file = "fonttools-4.43.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5f37e31291bf99a63328668bb83b0669f2688f329c4c0d80643acee6e63cd933"}, - {file = "fonttools-4.43.1-cp38-cp38-win32.whl", hash = "sha256:9c60ecfa62839f7184f741d0509b5c039d391c3aff71dc5bc57b87cc305cff3b"}, - {file = "fonttools-4.43.1-cp38-cp38-win_amd64.whl", hash = "sha256:fe9b1ec799b6086460a7480e0f55c447b1aca0a4eecc53e444f639e967348896"}, - {file = "fonttools-4.43.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13a9a185259ed144def3682f74fdcf6596f2294e56fe62dfd2be736674500dba"}, - {file = "fonttools-4.43.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2adca1b46d69dce4a37eecc096fe01a65d81a2f5c13b25ad54d5430ae430b13"}, - {file = "fonttools-4.43.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18eefac1b247049a3a44bcd6e8c8fd8b97f3cad6f728173b5d81dced12d6c477"}, - {file = "fonttools-4.43.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2062542a7565091cea4cc14dd99feff473268b5b8afdee564f7067dd9fff5860"}, - {file = "fonttools-4.43.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18a2477c62a728f4d6e88c45ee9ee0229405e7267d7d79ce1f5ce0f3e9f8ab86"}, - {file = "fonttools-4.43.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a7a06f8d95b7496e53af80d974d63516ffb263a468e614978f3899a6df52d4b3"}, - {file = "fonttools-4.43.1-cp39-cp39-win32.whl", hash = "sha256:10003ebd81fec0192c889e63a9c8c63f88c7d72ae0460b7ba0cd2a1db246e5ad"}, - {file = "fonttools-4.43.1-cp39-cp39-win_amd64.whl", hash = "sha256:e117a92b07407a061cde48158c03587ab97e74e7d73cb65e6aadb17af191162a"}, - {file = "fonttools-4.43.1-py3-none-any.whl", hash = "sha256:4f88cae635bfe4bbbdc29d479a297bb525a94889184bb69fa9560c2d4834ddb9"}, - {file = "fonttools-4.43.1.tar.gz", hash = "sha256:17dbc2eeafb38d5d0e865dcce16e313c58265a6d2d20081c435f84dc5a9d8212"}, + {file = "fonttools-4.48.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:702ae93058c81f46461dc4b2c79f11d3c3d8fd7296eaf8f75b4ba5bbf813cd5f"}, + {file = "fonttools-4.48.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:97f0a49fa6aa2d6205c6f72f4f98b74ef4b9bfdcb06fd78e6fe6c7af4989b63e"}, + {file = "fonttools-4.48.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3260db55f1843e57115256e91247ad9f68cb02a434b51262fe0019e95a98738"}, + {file = "fonttools-4.48.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e740a7602c2bb71e1091269b5dbe89549749a8817dc294b34628ffd8b2bf7124"}, + {file = "fonttools-4.48.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4108b1d247953dd7c90ec8f457a2dec5fceb373485973cc852b14200118a51ee"}, + {file = "fonttools-4.48.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:56339ec557f0c342bddd7c175f5e41c45fc21282bee58a86bd9aa322bec715f2"}, + {file = "fonttools-4.48.1-cp310-cp310-win32.whl", hash = "sha256:bff5b38d0e76eb18e0b8abbf35d384e60b3371be92f7be36128ee3e67483b3ec"}, + {file = "fonttools-4.48.1-cp310-cp310-win_amd64.whl", hash = "sha256:f7449493886da6a17472004d3818cc050ba3f4a0aa03fb47972e4fa5578e6703"}, + {file = "fonttools-4.48.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:18b35fd1a850ed7233a99bbd6774485271756f717dac8b594958224b54118b61"}, + {file = "fonttools-4.48.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cad5cfd044ea2e306fda44482b3dd32ee47830fa82dfa4679374b41baa294f5f"}, + {file = "fonttools-4.48.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f30e605c7565d0da6f0aec75a30ec372072d016957cd8fc4469721a36ea59b7"}, + {file = "fonttools-4.48.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aee76fd81a8571c68841d6ef0da750d5ff08ff2c5f025576473016f16ac3bcf7"}, + {file = "fonttools-4.48.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5057ade278e67923000041e2b195c9ea53e87f227690d499b6a4edd3702f7f01"}, + {file = "fonttools-4.48.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b10633aafc5932995a391ec07eba5e79f52af0003a1735b2306b3dab8a056d48"}, + {file = "fonttools-4.48.1-cp311-cp311-win32.whl", hash = "sha256:0d533f89819f9b3ee2dbedf0fed3825c425850e32bdda24c558563c71be0064e"}, + {file = "fonttools-4.48.1-cp311-cp311-win_amd64.whl", hash = "sha256:d20588466367f05025bb1efdf4e5d498ca6d14bde07b6928b79199c588800f0a"}, + {file = "fonttools-4.48.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0a2417547462e468edf35b32e3dd06a6215ac26aa6316b41e03b8eeaf9f079ea"}, + {file = "fonttools-4.48.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cf5a0cd974f85a80b74785db2d5c3c1fd6cc09a2ba3c837359b2b5da629ee1b0"}, + {file = "fonttools-4.48.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0452fcbfbce752ba596737a7c5ec5cf76bc5f83847ce1781f4f90eab14ece252"}, + {file = "fonttools-4.48.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578c00f93868f64a4102ecc5aa600a03b49162c654676c3fadc33de2ddb88a81"}, + {file = "fonttools-4.48.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:63dc592a16cd08388d8c4c7502b59ac74190b23e16dfc863c69fe1ea74605b68"}, + {file = "fonttools-4.48.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9b58638d8a85e3a1b32ec0a91d9f8171a877b4b81c408d4cb3257d0dee63e092"}, + {file = "fonttools-4.48.1-cp312-cp312-win32.whl", hash = "sha256:d10979ef14a8beaaa32f613bb698743f7241d92f437a3b5e32356dfb9769c65d"}, + {file = "fonttools-4.48.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdfd7557d1bd294a200bd211aa665ca3b02998dcc18f8211a5532da5b8fad5c5"}, + {file = "fonttools-4.48.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3cdb9a92521b81bf717ebccf592bd0292e853244d84115bfb4db0c426de58348"}, + {file = "fonttools-4.48.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9b4ec6d42a7555f5ae35f3b805482f0aad0f1baeeef54859492ea3b782959d4a"}, + {file = "fonttools-4.48.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:902e9c4e9928301912f34a6638741b8ae0b64824112b42aaf240e06b735774b1"}, + {file = "fonttools-4.48.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8c8b54bd1420c184a995f980f1a8076f87363e2bb24239ef8c171a369d85a31"}, + {file = "fonttools-4.48.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:12ee86abca46193359ea69216b3a724e90c66ab05ab220d39e3fc068c1eb72ac"}, + {file = "fonttools-4.48.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6978bade7b6c0335095bdd0bd97f8f3d590d2877b370f17e03e0865241694eb5"}, + {file = "fonttools-4.48.1-cp38-cp38-win32.whl", hash = "sha256:bcd77f89fc1a6b18428e7a55dde8ef56dae95640293bfb8f4e929929eba5e2a2"}, + {file = "fonttools-4.48.1-cp38-cp38-win_amd64.whl", hash = "sha256:f40441437b039930428e04fb05ac3a132e77458fb57666c808d74a556779e784"}, + {file = "fonttools-4.48.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0d2b01428f7da26f229a5656defc824427b741e454b4e210ad2b25ed6ea2aed4"}, + {file = "fonttools-4.48.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:df48798f9a4fc4c315ab46e17873436c8746f5df6eddd02fad91299b2af7af95"}, + {file = "fonttools-4.48.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2eb4167bde04e172a93cf22c875d8b0cff76a2491f67f5eb069566215302d45d"}, + {file = "fonttools-4.48.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c900508c46274d32d308ae8e82335117f11aaee1f7d369ac16502c9a78930b0a"}, + {file = "fonttools-4.48.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:594206b31c95fcfa65f484385171fabb4ec69f7d2d7f56d27f17db26b7a31814"}, + {file = "fonttools-4.48.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:292922dc356d7f11f5063b4111a8b719efb8faea92a2a88ed296408d449d8c2e"}, + {file = "fonttools-4.48.1-cp39-cp39-win32.whl", hash = "sha256:4709c5bf123ba10eac210d2d5c9027d3f472591d9f1a04262122710fa3d23199"}, + {file = "fonttools-4.48.1-cp39-cp39-win_amd64.whl", hash = "sha256:63c73b9dd56a94a3cbd2f90544b5fca83666948a9e03370888994143b8d7c070"}, + {file = "fonttools-4.48.1-py3-none-any.whl", hash = "sha256:e3e33862fc5261d46d9aae3544acb36203b1a337d00bdb5d3753aae50dac860e"}, + {file = "fonttools-4.48.1.tar.gz", hash = "sha256:8b8a45254218679c7f1127812761e7854ed5c8e34349aebf581e8c9204e7495a"}, ] [package.dependencies] @@ -583,17 +589,17 @@ brotlicffi = {version = ">=0.8.0", optional = true, markers = "platform_python_i zopfli = {version = ">=0.1.4", optional = true, markers = "extra == \"woff\""} [package.extras] -all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0,<5)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.0.0)", "xattr", "zopfli (>=0.1.4)"] +all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] graphite = ["lz4 (>=1.7.4.2)"] -interpolatable = ["munkres", "scipy"] -lxml = ["lxml (>=4.0,<5)"] +interpolatable = ["munkres", "pycairo", "scipy"] +lxml = ["lxml (>=4.0)"] pathops = ["skia-pathops (>=0.5.0)"] plot = ["matplotlib"] repacker = ["uharfbuzz (>=0.23.0)"] symfont = ["sympy"] type1 = ["xattr"] ufo = ["fs (>=2.2.0,<3)"] -unicode = ["unicodedata2 (>=15.0.0)"] +unicode = ["unicodedata2 (>=15.1.0)"] woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] [[package]] @@ -619,13 +625,13 @@ lxml = ["lxml"] [[package]] name = "idna" -version = "3.4" +version = "3.6" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.5" files = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, ] [[package]] @@ -641,30 +647,27 @@ files = [ [[package]] name = "isort" -version = "5.12.0" +version = "5.13.2" description = "A Python utility / library to sort Python imports." optional = false python-versions = ">=3.8.0" files = [ - {file = "isort-5.12.0-py3-none-any.whl", hash = "sha256:f84c2818376e66cf843d497486ea8fed8700b340f308f076c6fb1229dff318b6"}, - {file = "isort-5.12.0.tar.gz", hash = "sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504"}, + {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, + {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, ] [package.extras] -colors = ["colorama (>=0.4.3)"] -pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"] -plugins = ["setuptools"] -requirements-deprecated-finder = ["pip-api", "pipreqs"] +colors = ["colorama (>=0.4.6)"] [[package]] name = "jinja2" -version = "3.1.2" +version = "3.1.3" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, + {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, + {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, ] [package.dependencies] @@ -686,71 +689,71 @@ files = [ [[package]] name = "markupsafe" -version = "2.1.3" +version = "2.1.5" description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.7" files = [ - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, - {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] [[package]] @@ -766,38 +769,38 @@ files = [ [[package]] name = "mypy" -version = "1.6.1" +version = "1.8.0" description = "Optional static typing for Python" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-1.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e5012e5cc2ac628177eaac0e83d622b2dd499e28253d4107a08ecc59ede3fc2c"}, - {file = "mypy-1.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d8fbb68711905f8912e5af474ca8b78d077447d8f3918997fecbf26943ff3cbb"}, - {file = "mypy-1.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21a1ad938fee7d2d96ca666c77b7c494c3c5bd88dff792220e1afbebb2925b5e"}, - {file = "mypy-1.6.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b96ae2c1279d1065413965c607712006205a9ac541895004a1e0d4f281f2ff9f"}, - {file = "mypy-1.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:40b1844d2e8b232ed92e50a4bd11c48d2daa351f9deee6c194b83bf03e418b0c"}, - {file = "mypy-1.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:81af8adaa5e3099469e7623436881eff6b3b06db5ef75e6f5b6d4871263547e5"}, - {file = "mypy-1.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8c223fa57cb154c7eab5156856c231c3f5eace1e0bed9b32a24696b7ba3c3245"}, - {file = "mypy-1.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8032e00ce71c3ceb93eeba63963b864bf635a18f6c0c12da6c13c450eedb183"}, - {file = "mypy-1.6.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4c46b51de523817a0045b150ed11b56f9fff55f12b9edd0f3ed35b15a2809de0"}, - {file = "mypy-1.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:19f905bcfd9e167159b3d63ecd8cb5e696151c3e59a1742e79bc3bcb540c42c7"}, - {file = "mypy-1.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:82e469518d3e9a321912955cc702d418773a2fd1e91c651280a1bda10622f02f"}, - {file = "mypy-1.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d4473c22cc296425bbbce7e9429588e76e05bc7342da359d6520b6427bf76660"}, - {file = "mypy-1.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59a0d7d24dfb26729e0a068639a6ce3500e31d6655df8557156c51c1cb874ce7"}, - {file = "mypy-1.6.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cfd13d47b29ed3bbaafaff7d8b21e90d827631afda134836962011acb5904b71"}, - {file = "mypy-1.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:eb4f18589d196a4cbe5290b435d135dee96567e07c2b2d43b5c4621b6501531a"}, - {file = "mypy-1.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:41697773aa0bf53ff917aa077e2cde7aa50254f28750f9b88884acea38a16169"}, - {file = "mypy-1.6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7274b0c57737bd3476d2229c6389b2ec9eefeb090bbaf77777e9d6b1b5a9d143"}, - {file = "mypy-1.6.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbaf4662e498c8c2e352da5f5bca5ab29d378895fa2d980630656178bd607c46"}, - {file = "mypy-1.6.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bb8ccb4724f7d8601938571bf3f24da0da791fe2db7be3d9e79849cb64e0ae85"}, - {file = "mypy-1.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:68351911e85145f582b5aa6cd9ad666c8958bcae897a1bfda8f4940472463c45"}, - {file = "mypy-1.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:49ae115da099dcc0922a7a895c1eec82c1518109ea5c162ed50e3b3594c71208"}, - {file = "mypy-1.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8b27958f8c76bed8edaa63da0739d76e4e9ad4ed325c814f9b3851425582a3cd"}, - {file = "mypy-1.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:925cd6a3b7b55dfba252b7c4561892311c5358c6b5a601847015a1ad4eb7d332"}, - {file = "mypy-1.6.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8f57e6b6927a49550da3d122f0cb983d400f843a8a82e65b3b380d3d7259468f"}, - {file = "mypy-1.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:a43ef1c8ddfdb9575691720b6352761f3f53d85f1b57d7745701041053deff30"}, - {file = "mypy-1.6.1-py3-none-any.whl", hash = "sha256:4cbe68ef919c28ea561165206a2dcb68591c50f3bcf777932323bc208d949cf1"}, - {file = "mypy-1.6.1.tar.gz", hash = "sha256:4d01c00d09a0be62a4ca3f933e315455bde83f37f892ba4b08ce92f3cf44bcc1"}, + {file = "mypy-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:485a8942f671120f76afffff70f259e1cd0f0cfe08f81c05d8816d958d4577d3"}, + {file = "mypy-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:df9824ac11deaf007443e7ed2a4a26bebff98d2bc43c6da21b2b64185da011c4"}, + {file = "mypy-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2afecd6354bbfb6e0160f4e4ad9ba6e4e003b767dd80d85516e71f2e955ab50d"}, + {file = "mypy-1.8.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8963b83d53ee733a6e4196954502b33567ad07dfd74851f32be18eb932fb1cb9"}, + {file = "mypy-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:e46f44b54ebddbeedbd3d5b289a893219065ef805d95094d16a0af6630f5d410"}, + {file = "mypy-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:855fe27b80375e5c5878492f0729540db47b186509c98dae341254c8f45f42ae"}, + {file = "mypy-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4c886c6cce2d070bd7df4ec4a05a13ee20c0aa60cb587e8d1265b6c03cf91da3"}, + {file = "mypy-1.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d19c413b3c07cbecf1f991e2221746b0d2a9410b59cb3f4fb9557f0365a1a817"}, + {file = "mypy-1.8.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9261ed810972061388918c83c3f5cd46079d875026ba97380f3e3978a72f503d"}, + {file = "mypy-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:51720c776d148bad2372ca21ca29256ed483aa9a4cdefefcef49006dff2a6835"}, + {file = "mypy-1.8.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:52825b01f5c4c1c4eb0db253ec09c7aa17e1a7304d247c48b6f3599ef40db8bd"}, + {file = "mypy-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f5ac9a4eeb1ec0f1ccdc6f326bcdb464de5f80eb07fb38b5ddd7b0de6bc61e55"}, + {file = "mypy-1.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afe3fe972c645b4632c563d3f3eff1cdca2fa058f730df2b93a35e3b0c538218"}, + {file = "mypy-1.8.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:42c6680d256ab35637ef88891c6bd02514ccb7e1122133ac96055ff458f93fc3"}, + {file = "mypy-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:720a5ca70e136b675af3af63db533c1c8c9181314d207568bbe79051f122669e"}, + {file = "mypy-1.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:028cf9f2cae89e202d7b6593cd98db6759379f17a319b5faf4f9978d7084cdc6"}, + {file = "mypy-1.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4e6d97288757e1ddba10dd9549ac27982e3e74a49d8d0179fc14d4365c7add66"}, + {file = "mypy-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f1478736fcebb90f97e40aff11a5f253af890c845ee0c850fe80aa060a267c6"}, + {file = "mypy-1.8.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42419861b43e6962a649068a61f4a4839205a3ef525b858377a960b9e2de6e0d"}, + {file = "mypy-1.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:2b5b6c721bd4aabaadead3a5e6fa85c11c6c795e0c81a7215776ef8afc66de02"}, + {file = "mypy-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5c1538c38584029352878a0466f03a8ee7547d7bd9f641f57a0f3017a7c905b8"}, + {file = "mypy-1.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ef4be7baf08a203170f29e89d79064463b7fc7a0908b9d0d5114e8009c3a259"}, + {file = "mypy-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7178def594014aa6c35a8ff411cf37d682f428b3b5617ca79029d8ae72f5402b"}, + {file = "mypy-1.8.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ab3c84fa13c04aeeeabb2a7f67a25ef5d77ac9d6486ff33ded762ef353aa5592"}, + {file = "mypy-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:99b00bc72855812a60d253420d8a2eae839b0afa4938f09f4d2aa9bb4654263a"}, + {file = "mypy-1.8.0-py3-none-any.whl", hash = "sha256:538fd81bb5e430cc1381a443971c0475582ff9f434c16cd46d2c66763ce85d9d"}, + {file = "mypy-1.8.0.tar.gz", hash = "sha256:6ff8b244d7085a0b425b56d327b480c3b29cafbd2eff27316a004f9a7391ae07"}, ] [package.dependencies] @@ -808,6 +811,7 @@ typing-extensions = ">=4.1.0" [package.extras] dmypy = ["psutil (>=4.0)"] install-types = ["pip"] +mypyc = ["setuptools (>=50)"] reports = ["lxml"] [[package]] @@ -834,24 +838,24 @@ files = [ [[package]] name = "pathspec" -version = "0.11.2" +version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, - {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, ] [[package]] name = "pdf2image" -version = "1.16.3" +version = "1.17.0" description = "A wrapper around the pdftoppm and pdftocairo command line tools to convert PDF to a PIL Image list." optional = false python-versions = "*" files = [ - {file = "pdf2image-1.16.3-py3-none-any.whl", hash = "sha256:b6154164af3677211c22cbb38b2bd778b43aca02758e962fe1e231f6d3b0e380"}, - {file = "pdf2image-1.16.3.tar.gz", hash = "sha256:74208810c2cef4d9e347769b8e62a52303982ddb4f2dfd744c7ab4b940ae287e"}, + {file = "pdf2image-1.17.0-py3-none-any.whl", hash = "sha256:ecdd58d7afb810dffe21ef2b1bbc057ef434dabbac6c33778a38a3f7744a27e2"}, + {file = "pdf2image-1.17.0.tar.gz", hash = "sha256:eaa959bc116b420dd7ec415fcae49b98100dda3dd18cd2fdfa86d09f112f6d57"}, ] [package.dependencies] @@ -859,95 +863,113 @@ pillow = "*" [[package]] name = "pillow" -version = "10.0.1" +version = "10.2.0" description = "Python Imaging Library (Fork)" optional = false python-versions = ">=3.8" files = [ - {file = "Pillow-10.0.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:8f06be50669087250f319b706decf69ca71fdecd829091a37cc89398ca4dc17a"}, - {file = "Pillow-10.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50bd5f1ebafe9362ad622072a1d2f5850ecfa44303531ff14353a4059113b12d"}, - {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6a90167bcca1216606223a05e2cf991bb25b14695c518bc65639463d7db722d"}, - {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f11c9102c56ffb9ca87134bd025a43d2aba3f1155f508eff88f694b33a9c6d19"}, - {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:186f7e04248103482ea6354af6d5bcedb62941ee08f7f788a1c7707bc720c66f"}, - {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0462b1496505a3462d0f35dc1c4d7b54069747d65d00ef48e736acda2c8cbdff"}, - {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d889b53ae2f030f756e61a7bff13684dcd77e9af8b10c6048fb2c559d6ed6eaf"}, - {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:552912dbca585b74d75279a7570dd29fa43b6d93594abb494ebb31ac19ace6bd"}, - {file = "Pillow-10.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:787bb0169d2385a798888e1122c980c6eff26bf941a8ea79747d35d8f9210ca0"}, - {file = "Pillow-10.0.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:fd2a5403a75b54661182b75ec6132437a181209b901446ee5724b589af8edef1"}, - {file = "Pillow-10.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2d7e91b4379f7a76b31c2dda84ab9e20c6220488e50f7822e59dac36b0cd92b1"}, - {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19e9adb3f22d4c416e7cd79b01375b17159d6990003633ff1d8377e21b7f1b21"}, - {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93139acd8109edcdeffd85e3af8ae7d88b258b3a1e13a038f542b79b6d255c54"}, - {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:92a23b0431941a33242b1f0ce6c88a952e09feeea9af4e8be48236a68ffe2205"}, - {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cbe68deb8580462ca0d9eb56a81912f59eb4542e1ef8f987405e35a0179f4ea2"}, - {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:522ff4ac3aaf839242c6f4e5b406634bfea002469656ae8358644fc6c4856a3b"}, - {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:84efb46e8d881bb06b35d1d541aa87f574b58e87f781cbba8d200daa835b42e1"}, - {file = "Pillow-10.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:898f1d306298ff40dc1b9ca24824f0488f6f039bc0e25cfb549d3195ffa17088"}, - {file = "Pillow-10.0.1-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:bcf1207e2f2385a576832af02702de104be71301c2696d0012b1b93fe34aaa5b"}, - {file = "Pillow-10.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5d6c9049c6274c1bb565021367431ad04481ebb54872edecfcd6088d27edd6ed"}, - {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28444cb6ad49726127d6b340217f0627abc8732f1194fd5352dec5e6a0105635"}, - {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de596695a75496deb3b499c8c4f8e60376e0516e1a774e7bc046f0f48cd620ad"}, - {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:2872f2d7846cf39b3dbff64bc1104cc48c76145854256451d33c5faa55c04d1a"}, - {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4ce90f8a24e1c15465048959f1e94309dfef93af272633e8f37361b824532e91"}, - {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ee7810cf7c83fa227ba9125de6084e5e8b08c59038a7b2c9045ef4dde61663b4"}, - {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b1be1c872b9b5fcc229adeadbeb51422a9633abd847c0ff87dc4ef9bb184ae08"}, - {file = "Pillow-10.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:98533fd7fa764e5f85eebe56c8e4094db912ccbe6fbf3a58778d543cadd0db08"}, - {file = "Pillow-10.0.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:764d2c0daf9c4d40ad12fbc0abd5da3af7f8aa11daf87e4fa1b834000f4b6b0a"}, - {file = "Pillow-10.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fcb59711009b0168d6ee0bd8fb5eb259c4ab1717b2f538bbf36bacf207ef7a68"}, - {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:697a06bdcedd473b35e50a7e7506b1d8ceb832dc238a336bd6f4f5aa91a4b500"}, - {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f665d1e6474af9f9da5e86c2a3a2d2d6204e04d5af9c06b9d42afa6ebde3f21"}, - {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:2fa6dd2661838c66f1a5473f3b49ab610c98a128fc08afbe81b91a1f0bf8c51d"}, - {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:3a04359f308ebee571a3127fdb1bd01f88ba6f6fb6d087f8dd2e0d9bff43f2a7"}, - {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:723bd25051454cea9990203405fa6b74e043ea76d4968166dfd2569b0210886a"}, - {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:71671503e3015da1b50bd18951e2f9daf5b6ffe36d16f1eb2c45711a301521a7"}, - {file = "Pillow-10.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:44e7e4587392953e5e251190a964675f61e4dae88d1e6edbe9f36d6243547ff3"}, - {file = "Pillow-10.0.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:3855447d98cced8670aaa63683808df905e956f00348732448b5a6df67ee5849"}, - {file = "Pillow-10.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ed2d9c0704f2dc4fa980b99d565c0c9a543fe5101c25b3d60488b8ba80f0cce1"}, - {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5bb289bb835f9fe1a1e9300d011eef4d69661bb9b34d5e196e5e82c4cb09b37"}, - {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a0d3e54ab1df9df51b914b2233cf779a5a10dfd1ce339d0421748232cea9876"}, - {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:2cc6b86ece42a11f16f55fe8903595eff2b25e0358dec635d0a701ac9586588f"}, - {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:ca26ba5767888c84bf5a0c1a32f069e8204ce8c21d00a49c90dabeba00ce0145"}, - {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f0b4b06da13275bc02adfeb82643c4a6385bd08d26f03068c2796f60d125f6f2"}, - {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bc2e3069569ea9dbe88d6b8ea38f439a6aad8f6e7a6283a38edf61ddefb3a9bf"}, - {file = "Pillow-10.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:8b451d6ead6e3500b6ce5c7916a43d8d8d25ad74b9102a629baccc0808c54971"}, - {file = "Pillow-10.0.1-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:32bec7423cdf25c9038fef614a853c9d25c07590e1a870ed471f47fb80b244db"}, - {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7cf63d2c6928b51d35dfdbda6f2c1fddbe51a6bc4a9d4ee6ea0e11670dd981e"}, - {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f6d3d4c905e26354e8f9d82548475c46d8e0889538cb0657aa9c6f0872a37aa4"}, - {file = "Pillow-10.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:847e8d1017c741c735d3cd1883fa7b03ded4f825a6e5fcb9378fd813edee995f"}, - {file = "Pillow-10.0.1-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:7f771e7219ff04b79e231d099c0a28ed83aa82af91fd5fa9fdb28f5b8d5addaf"}, - {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:459307cacdd4138edee3875bbe22a2492519e060660eaf378ba3b405d1c66317"}, - {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b059ac2c4c7a97daafa7dc850b43b2d3667def858a4f112d1aa082e5c3d6cf7d"}, - {file = "Pillow-10.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d6caf3cd38449ec3cd8a68b375e0c6fe4b6fd04edb6c9766b55ef84a6e8ddf2d"}, - {file = "Pillow-10.0.1.tar.gz", hash = "sha256:d72967b06be9300fed5cfbc8b5bafceec48bf7cdc7dab66b1d2549035287191d"}, + {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"}, + {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fad5ff2f13d69b7e74ce5b4ecd12cc0ec530fcee76356cac6742785ff71c452"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:47c0995fc4e7f79b5cfcab1fc437ff2890b770440f7696a3ba065ee0fd496563"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:322bdf3c9b556e9ffb18f93462e5f749d3444ce081290352c6070d014c93feb2"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51f1a1bffc50e2e9492e87d8e09a17c5eea8409cda8d3f277eb6edc82813c17c"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69ffdd6120a4737710a9eee73e1d2e37db89b620f702754b8f6e62594471dee0"}, + {file = "pillow-10.2.0-cp310-cp310-win32.whl", hash = "sha256:c6dafac9e0f2b3c78df97e79af707cdc5ef8e88208d686a4847bab8266870023"}, + {file = "pillow-10.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:aebb6044806f2e16ecc07b2a2637ee1ef67a11840a66752751714a0d924adf72"}, + {file = "pillow-10.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:7049e301399273a0136ff39b84c3678e314f2158f50f517bc50285fb5ec847ad"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35bb52c37f256f662abdfa49d2dfa6ce5d93281d323a9af377a120e89a9eafb5"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c23f307202661071d94b5e384e1e1dc7dfb972a28a2310e4ee16103e66ddb67"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773efe0603db30c281521a7c0214cad7836c03b8ccff897beae9b47c0b657d61"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11fa2e5984b949b0dd6d7a94d967743d87c577ff0b83392f17cb3990d0d2fd6e"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:716d30ed977be8b37d3ef185fecb9e5a1d62d110dfbdcd1e2a122ab46fddb03f"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a086c2af425c5f62a65e12fbf385f7c9fcb8f107d0849dba5839461a129cf311"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c8de2789052ed501dd829e9cae8d3dcce7acb4777ea4a479c14521c942d395b1"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:609448742444d9290fd687940ac0b57fb35e6fd92bdb65386e08e99af60bf757"}, + {file = "pillow-10.2.0-cp311-cp311-win32.whl", hash = "sha256:823ef7a27cf86df6597fa0671066c1b596f69eba53efa3d1e1cb8b30f3533068"}, + {file = "pillow-10.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:1da3b2703afd040cf65ec97efea81cfba59cdbed9c11d8efc5ab09df9509fc56"}, + {file = "pillow-10.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:edca80cbfb2b68d7b56930b84a0e45ae1694aeba0541f798e908a49d66b837f1"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:1b5e1b74d1bd1b78bc3477528919414874748dd363e6272efd5abf7654e68bef"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0eae2073305f451d8ecacb5474997c08569fb4eb4ac231ffa4ad7d342fdc25ac"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7c2286c23cd350b80d2fc9d424fc797575fb16f854b831d16fd47ceec078f2c"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e23412b5c41e58cec602f1135c57dfcf15482013ce6e5f093a86db69646a5aa"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:52a50aa3fb3acb9cf7213573ef55d31d6eca37f5709c69e6858fe3bc04a5c2a2"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:127cee571038f252a552760076407f9cff79761c3d436a12af6000cd182a9d04"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8d12251f02d69d8310b046e82572ed486685c38f02176bd08baf216746eb947f"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54f1852cd531aa981bc0965b7d609f5f6cc8ce8c41b1139f6ed6b3c54ab82bfb"}, + {file = "pillow-10.2.0-cp312-cp312-win32.whl", hash = "sha256:257d8788df5ca62c980314053197f4d46eefedf4e6175bc9412f14412ec4ea2f"}, + {file = "pillow-10.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:154e939c5f0053a383de4fd3d3da48d9427a7e985f58af8e94d0b3c9fcfcf4f9"}, + {file = "pillow-10.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f379abd2f1e3dddb2b61bc67977a6b5a0a3f7485538bcc6f39ec76163891ee48"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8373c6c251f7ef8bda6675dd6d2b3a0fcc31edf1201266b5cf608b62a37407f9"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:870ea1ada0899fd0b79643990809323b389d4d1d46c192f97342eeb6ee0b8483"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b6b1e20608493548b1f32bce8cca185bf0480983890403d3b8753e44077129"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3031709084b6e7852d00479fd1d310b07d0ba82765f973b543c8af5061cf990e"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:3ff074fc97dd4e80543a3e91f69d58889baf2002b6be64347ea8cf5533188213"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:cb4c38abeef13c61d6916f264d4845fab99d7b711be96c326b84df9e3e0ff62d"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1b3020d90c2d8e1dae29cf3ce54f8094f7938460fb5ce8bc5c01450b01fbaf6"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:170aeb00224ab3dc54230c797f8404507240dd868cf52066f66a41b33169bdbe"}, + {file = "pillow-10.2.0-cp38-cp38-win32.whl", hash = "sha256:c4225f5220f46b2fde568c74fca27ae9771536c2e29d7c04f4fb62c83275ac4e"}, + {file = "pillow-10.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:0689b5a8c5288bc0504d9fcee48f61a6a586b9b98514d7d29b840143d6734f39"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:b792a349405fbc0163190fde0dc7b3fef3c9268292586cf5645598b48e63dc67"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c570f24be1e468e3f0ce7ef56a89a60f0e05b30a3669a459e419c6eac2c35364"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8ecd059fdaf60c1963c58ceb8997b32e9dc1b911f5da5307aab614f1ce5c2fb"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c365fd1703040de1ec284b176d6af5abe21b427cb3a5ff68e0759e1e313a5e7e"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:70c61d4c475835a19b3a5aa42492409878bbca7438554a1f89d20d58a7c75c01"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6f491cdf80ae540738859d9766783e3b3c8e5bd37f5dfa0b76abdecc5081f13"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d189550615b4948f45252d7f005e53c2040cea1af5b60d6f79491a6e147eef7"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:49d9ba1ed0ef3e061088cd1e7538a0759aab559e2e0a80a36f9fd9d8c0c21591"}, + {file = "pillow-10.2.0-cp39-cp39-win32.whl", hash = "sha256:babf5acfede515f176833ed6028754cbcd0d206f7f614ea3447d67c33be12516"}, + {file = "pillow-10.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:0304004f8067386b477d20a518b50f3fa658a28d44e4116970abfcd94fac34a8"}, + {file = "pillow-10.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0fb3e7fc88a14eacd303e90481ad983fd5b69c761e9e6ef94c983f91025da869"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:322209c642aabdd6207517e9739c704dc9f9db943015535783239022002f054a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eedd52442c0a5ff4f887fab0c1c0bb164d8635b32c894bc1faf4c618dd89df2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb28c753fd5eb3dd859b4ee95de66cc62af91bcff5db5f2571d32a520baf1f04"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33870dc4653c5017bf4c8873e5488d8f8d5f8935e2f1fb9a2208c47cdd66efd2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3c31822339516fb3c82d03f30e22b1d038da87ef27b6a78c9549888f8ceda39a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a2b56ba36e05f973d450582fb015594aaa78834fefe8dfb8fcd79b93e64ba4c6"}, + {file = "pillow-10.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d8e6aeb9201e655354b3ad049cb77d19813ad4ece0df1249d3c793de3774f8c7"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:2247178effb34a77c11c0e8ac355c7a741ceca0a732b27bf11e747bbc950722f"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15587643b9e5eb26c48e49a7b33659790d28f190fc514a322d55da2fb5c2950e"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753cd8f2086b2b80180d9b3010dd4ed147efc167c90d3bf593fe2af21265e5a5"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7c8f97e8e7a9009bcacbe3766a36175056c12f9a44e6e6f2d5caad06dcfbf03b"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d1b35bcd6c5543b9cb547dee3150c93008f8dd0f1fef78fc0cd2b141c5baf58a"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe4c15f6c9285dc54ce6553a3ce908ed37c8f3825b5a51a15c91442bb955b868"}, + {file = "pillow-10.2.0.tar.gz", hash = "sha256:e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e"}, ] [package.extras] docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] [[package]] name = "platformdirs" -version = "3.11.0" +version = "4.2.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, - {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, + {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, + {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, ] [package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] [[package]] name = "pluggy" -version = "1.3.0" +version = "1.4.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.8" files = [ - {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, - {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, + {file = "pluggy-1.4.0-py3-none-any.whl", hash = "sha256:7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981"}, + {file = "pluggy-1.4.0.tar.gz", hash = "sha256:8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be"}, ] [package.extras] @@ -982,24 +1004,24 @@ test = ["flake8", "isort", "pillow", "pytest"] [[package]] name = "pylint" -version = "3.0.1" +version = "3.0.3" description = "python code static checker" optional = false python-versions = ">=3.8.0" files = [ - {file = "pylint-3.0.1-py3-none-any.whl", hash = "sha256:9c90b89e2af7809a1697f6f5f93f1d0e518ac566e2ac4d2af881a69c13ad01ea"}, - {file = "pylint-3.0.1.tar.gz", hash = "sha256:81c6125637be216b4652ae50cc42b9f8208dfb725cdc7e04c48f6902f4dbdf40"}, + {file = "pylint-3.0.3-py3-none-any.whl", hash = "sha256:7a1585285aefc5165db81083c3e06363a27448f6b467b3b0f30dbd0ac1f73810"}, + {file = "pylint-3.0.3.tar.gz", hash = "sha256:58c2398b0301e049609a8429789ec6edf3aabe9b6c5fec916acd18639c16de8b"}, ] [package.dependencies] -astroid = ">=3.0.0,<=3.1.0-dev0" +astroid = ">=3.0.1,<=3.1.0-dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} dill = [ {version = ">=0.2", markers = "python_version < \"3.11\""}, {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, ] -isort = ">=4.2.5,<6" +isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" mccabe = ">=0.6,<0.8" platformdirs = ">=2.2.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} @@ -1011,18 +1033,18 @@ testutils = ["gitpython (>3)"] [[package]] name = "pypdf" -version = "3.16.4" +version = "3.17.4" description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" optional = false python-versions = ">=3.6" files = [ - {file = "pypdf-3.16.4-py3-none-any.whl", hash = "sha256:a9b1eaf2db4c2edd93093470d33c3f353235c4a694f8a426a92a8ce77cea9eb7"}, - {file = "pypdf-3.16.4.tar.gz", hash = "sha256:01927771b562d4ba84939ef95b393f0179166da786c5db710d07f807c52f480d"}, + {file = "pypdf-3.17.4-py3-none-any.whl", hash = "sha256:6aa0f61b33779b64486de3f42835d3668badd48dac4a536aeb87da187a5eacd2"}, + {file = "pypdf-3.17.4.tar.gz", hash = "sha256:ec96e2e4fc9648ac609d19c00d41e9d606e0ae2ce5a0bbe7691426f5f157166a"}, ] [package.extras] crypto = ["PyCryptodome", "cryptography"] -dev = ["black", "flit", "pip-tools", "pre-commit (<2.18.0)", "pytest-cov", "pytest-socket", "pytest-timeout", "wheel"] +dev = ["black", "flit", "pip-tools", "pre-commit (<2.18.0)", "pytest-cov", "pytest-socket", "pytest-timeout", "pytest-xdist", "wheel"] docs = ["myst_parser", "sphinx", "sphinx_rtd_theme"] full = ["Pillow (>=8.0.0)", "PyCryptodome", "cryptography"] image = ["Pillow (>=8.0.0)"] @@ -1044,13 +1066,13 @@ test = ["flake8", "isort", "pytest"] [[package]] name = "pytest" -version = "7.4.2" +version = "7.4.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-7.4.2-py3-none-any.whl", hash = "sha256:1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002"}, - {file = "pytest-7.4.2.tar.gz", hash = "sha256:a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069"}, + {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, + {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, ] [package.dependencies] @@ -1080,13 +1102,13 @@ six = ">=1.5" [[package]] name = "pytz" -version = "2023.3.post1" +version = "2023.4" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" files = [ - {file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"}, - {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, + {file = "pytz-2023.4-py2.py3-none-any.whl", hash = "sha256:f90ef520d95e7c46951105338d918664ebfd6f1d995bd7d153127ce90efafa6a"}, + {file = "pytz-2023.4.tar.gz", hash = "sha256:31d4583c4ed539cd037956140d695e42c033a19e984bfce9964a3f7d59bc2b40"}, ] [[package]] @@ -1126,20 +1148,20 @@ requests = ">=2.0.1,<3.0.0" [[package]] name = "s3transfer" -version = "0.7.0" +version = "0.10.0" description = "An Amazon S3 Transfer Manager" optional = false -python-versions = ">= 3.7" +python-versions = ">= 3.8" files = [ - {file = "s3transfer-0.7.0-py3-none-any.whl", hash = "sha256:10d6923c6359175f264811ef4bf6161a3156ce8e350e705396a7557d6293c33a"}, - {file = "s3transfer-0.7.0.tar.gz", hash = "sha256:fd3889a66f5fe17299fe75b82eae6cf722554edca744ca5d5fe308b104883d2e"}, + {file = "s3transfer-0.10.0-py3-none-any.whl", hash = "sha256:3cdb40f5cfa6966e812209d0994f2a4709b561c88e90cf00c2696d2df4e56b2e"}, + {file = "s3transfer-0.10.0.tar.gz", hash = "sha256:d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b"}, ] [package.dependencies] -botocore = ">=1.12.36,<2.0a.0" +botocore = ">=1.33.2,<2.0a.0" [package.extras] -crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] +crt = ["botocore[crt] (>=1.33.2,<2.0a.0)"] [[package]] name = "six" @@ -1183,24 +1205,24 @@ files = [ [[package]] name = "tomlkit" -version = "0.12.1" +version = "0.12.3" description = "Style preserving TOML library" optional = false python-versions = ">=3.7" files = [ - {file = "tomlkit-0.12.1-py3-none-any.whl", hash = "sha256:712cbd236609acc6a3e2e97253dfc52d4c2082982a88f61b640ecf0817eab899"}, - {file = "tomlkit-0.12.1.tar.gz", hash = "sha256:38e1ff8edb991273ec9f6181244a6a391ac30e9f5098e7535640ea6be97a7c86"}, + {file = "tomlkit-0.12.3-py3-none-any.whl", hash = "sha256:b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba"}, + {file = "tomlkit-0.12.3.tar.gz", hash = "sha256:75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4"}, ] [[package]] name = "types-requests" -version = "2.31.0.10" +version = "2.31.0.20240125" description = "Typing stubs for requests" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "types-requests-2.31.0.10.tar.gz", hash = "sha256:dc5852a76f1eaf60eafa81a2e50aefa3d1f015c34cf0cba130930866b1b22a92"}, - {file = "types_requests-2.31.0.10-py3-none-any.whl", hash = "sha256:b32b9a86beffa876c0c3ac99a4cd3b8b51e973fb8e3bd4e0a6bb32c7efad80fc"}, + {file = "types-requests-2.31.0.20240125.tar.gz", hash = "sha256:03a28ce1d7cd54199148e043b2079cdded22d6795d19a2c2a6791a4b2b5e2eb5"}, + {file = "types_requests-2.31.0.20240125-py3-none-any.whl", hash = "sha256:9592a9a4cb92d6d75d9b491a41477272b710e021011a2a3061157e2fb1f1a5d1"}, ] [package.dependencies] @@ -1208,24 +1230,24 @@ urllib3 = ">=2" [[package]] name = "typing-extensions" -version = "4.8.0" +version = "4.9.0" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, - {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, + {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"}, + {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, ] [[package]] name = "urllib3" -version = "2.0.6" +version = "2.0.7" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.7" files = [ - {file = "urllib3-2.0.6-py3-none-any.whl", hash = "sha256:7a7c7003b000adf9e7ca2a377c9688bbc54ed41b985789ed576570342a375cd2"}, - {file = "urllib3-2.0.6.tar.gz", hash = "sha256:b19e1a85d206b56d7df1d5e683df4a7725252a964e3993648dd0fb5a1c157564"}, + {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, + {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, ] [package.extras] @@ -1272,86 +1294,81 @@ files = [ [[package]] name = "wrapt" -version = "1.15.0" +version = "1.16.0" description = "Module for decorators, wrappers and monkey patching." optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +python-versions = ">=3.6" files = [ - {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"}, - {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"}, - {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"}, - {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"}, - {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"}, - {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"}, - {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"}, - {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"}, - {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"}, - {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"}, - {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"}, - {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"}, - {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"}, - {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"}, - {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"}, - {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"}, - {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"}, - {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, - {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, + {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, + {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, + {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, + {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, + {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, + {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, + {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, + {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, + {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, + {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, + {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, + {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, + {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, + {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, + {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, + {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, + {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, + {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, ] [[package]] From 249aa2d54a34cc0b8085dc78892aa055d55767bf Mon Sep 17 00:00:00 2001 From: Chisel Date: Mon, 12 Feb 2024 00:47:09 +0000 Subject: [PATCH 9/9] docs(changeset): chore(deps): poetry update --- .changeset/sweet-islands-cough.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/sweet-islands-cough.md diff --git a/.changeset/sweet-islands-cough.md b/.changeset/sweet-islands-cough.md new file mode 100644 index 00000000..cb6bcd89 --- /dev/null +++ b/.changeset/sweet-islands-cough.md @@ -0,0 +1,5 @@ +--- +'arcane-scripts': patch +--- + +chore(deps): poetry update