Hearthstone game state:
ENTITY_ID: 1
ZONE: PLAY
CARDTYPE: GAME
STATE: 2
ENTITY_ID: 2
PLAYSTATE: PLAYING
LAST_AFFECTED_BY: 23
RESOURCES_USED: 7
RESOURCES: 7
HERO_ENTITY: 64
MAXHANDSIZE: 10
PLAYER_ID: 1
ZONE: PLAY
CONTROLLER: 1
CARDTYPE: PLAYER
ENTITY_ID: 3
PLAYSTATE: PLAYING
RESOURCES_USED: 6
RESOURCES: 7
HERO_ENTITY: 66
MAXHANDSIZE: 10
PLAYER_ID: 2
ZONE: PLAY
CONTROLLER: 2
CARDTYPE: PLAYER
TEXT: <b>Battlecry:</b> The next Demon you play costs (2) less.
ENTITY_ID: 10
HEALTH: 4
ATK: 4
COST: 4
ZONE: HAND
CONTROLLER: 1
CLASS: DEMONHUNTER
CARDTYPE: MINION
BATTLECRY: 1
ZONE_POSITION: 2
TEXT: <b>Rush</b>. After your hero attacks an enemy, this attacks it too.
ENTITY_ID: 14
HEALTH: 8
ATK: 8
COST: 8
ZONE: PLAY
CONTROLLER: 1
RUSH: 1
CLASS: DEMONHUNTER
CARDRACE: 15
CARDTYPE: MINION
ZONE_POSITION: 1
TEXT: Summon seven 1/1 Illidari with <b>Rush</b>. If_they all die this turn, summon seven more.
ENTITY_ID: 26
COST: 7
ZONE: HAND
CONTROLLER: 1
CLASS: DEMONHUNTER
CARDTYPE: SPELL
ZONE_POSITION: 1
TEXT: After your hero attacks, give this minion +1/+1.
ENTITY_ID: 29
HEALTH: 3
ATK: 3
COST: 3
ZONE: HAND
CONTROLLER: 1
CLASS: NEUTRAL
CARDRACE: 43
CARDTYPE: MINION
ZONE_POSITION: 5
TEXT: <b>Lifesteal</b>
ENTITY_ID: 30
ATK: 2
COST: 3
ZONE: HAND
CONTROLLER: 1
DURABILITY: 2
LIFESTEAL: 1
CLASS: DEMONHUNTER
CARDTYPE: WEAPON
ZONE_POSITION: 4
ENTITY_ID: 50
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 1
ENTITY_ID: 64
HEALTH: 30
ATK: 1
LAST_AFFECTED_BY: 65
DAMAGE: 4
ZONE: PLAY
CONTROLLER: 1
CLASS: DEMONHUNTER
CARDTYPE: HERO
CARD_TARGET: 45
TEXT: [x]<b>Hero Power</b>
+$a1 Attack this turn.
ENTITY_ID: 65
COST: 1
EXHAUSTED: 1
ZONE: PLAY
CONTROLLER: 1
CLASS: DEMONHUNTER
CARDTYPE: HERO_POWER
ENTITY_ID: 66
HEALTH: 30
LAST_AFFECTED_BY: 23
EXHAUSTED: 1
DAMAGE: 10
ZONE: PLAY
CONTROLLER: 2
CLASS: SHAMAN
CARDTYPE: HERO
CARD_TARGET: 23
NUM_ATTACKS_THIS_TURN: 1
TEXT: <b>Hero Power</b>
Summon a random basic Totem.
ENTITY_ID: 67
COST: 2
EXHAUSTED: 1
ZONE: PLAY
CONTROLLER: 2
CLASS: SHAMAN
CARDTYPE: HERO_POWER
TEXT: Give a minion <b>Rush</b>. <b>Finale:</b> And +1/+1.
ENTITY_ID: 100
LAST_AFFECTED_BY: 28
ZONE: HAND
CONTROLLER: 1
CLASS: WARRIOR
CARDTYPE: SPELL
ZONE_POSITION: 3
TEXT: At the end of your turn, restore #1 Health to all friendly minions.
ENTITY_ID: 112
HEALTH: 2
COST: 1
EXHAUSTED: 1
ZONE: PLAY
CONTROLLER: 2
CLASS: SHAMAN
CARDRACE: 21
CARDTYPE: MINION
ZONE_POSITION: 1
TEXT: Your hero has extra Attack this turn.
ENTITY_ID: 113
ATTACHED: 64
ZONE: PLAY
CONTROLLER: 1
CLASS: DRUID
CARDTYPE: ENCHANTMENT

Available options:
{'ID': 54, 'List': [{'Type': 'END_TURN', 'Main': {'ID': 0, 'Targets': None, 'PlayErrorInfo': {'PlayError': 'INVALID', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 100, 'Targets': [{'ID': 112, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 14, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 64, 'Targets': [{'ID': 66, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 112, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 14, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 14, 'Targets': [{'ID': 112, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}, {'ID': 14, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 26, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ENOUGH_MANA', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 10, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ENOUGH_MANA', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 30, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ENOUGH_MANA', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 29, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ENOUGH_MANA', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 65, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_NOT_EXHAUSTED_HERO_POWER', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 66, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_YOUR_TURN', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 67, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_YOUR_TURN', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 112, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_YOUR_TURN', 'PlayErrorParam': None}}, 'Subs': []}]}

Chosen action:
HasSubOption: yes
HasPosition: yes
Id: 54
Index: 3
Target: 112
SubOption: -1
Position: 0

Outcome:
ENTITY_ID: 14
EXHAUSTED: 0=>1
CARD_TARGET: 0=>112
NUM_ATTACKS_THIS_TURN: 0=>1