// Path: src/milk/telegram/type/Titled.java
// public interface Titled{
// 
//     String getTitle();
// 
// }
// 
// Path: src/milk/telegram/type/file/photo/PhotoSize.java
// public class PhotoSize implements Identifier<String>{
// 
//     private final String id;
// 
//     private final int width;
//     private final int height;
// 
//     private final Integer size;
// 
//     private PhotoSize(JSONObject object){
//         this.id = object.getString("file_id");
//         this.width  = object.getInt("width");
//         this.height = object.getInt("height");
//         this.size = object.has("file_size") ? object.getInt("file_size") : null;
//     }
// 
//     public static PhotoSize create(JSONObject object){
//         if(object == null){
//             return null;
//         }
//         return new PhotoSize(object);
//     }
// 
//     public String getId(){
//         return id;
//     }
// 
//     public int getWidth(){
//         return this.width;
//     }
// 
//     public int getHeight(){
//         return this.height;
//     }
// 
//     public Integer getSize(){
//         return size;
//     }
// 
// }
// 
// Path: src/milk/telegram/type/message/MessageEntity.java
// public class MessageEntity{
// 
//     private final String type;
// 
//     private final String url;
// 
//     private final int offset;
//     private final int length;
// 
//     private final User user;
// 
//     private MessageEntity(JSONObject object){
//         this.type = object.getString("type");
// 
//         this.offset = object.getInt("offset");
//         this.length = object.getInt("length");
// 
//         this.url = object.optString("url");
//         this.user = User.create(object.optJSONObject("user"));
//     }
// 
//     public static MessageEntity create(JSONObject object){
//         if(object == null){
//             return null;
//         }
//         return new MessageEntity(object);
//     }
// 
//     public String getType(){
//         return type;
//     }
// 
//     public int getOffset(){
//         return offset;
//     }
// 
//     public int getLength(){
//         return length;
//     }
// 
//     public String getUrl(){
//         return url;
//     }
// 
//     public User getUser(){
//         return user;
//     }
// 
// }
// 
// Path: src/milk/telegram/type/Textable.java
// public interface Textable{
// 
//     String getText();
// }


import milk.telegram.type.Titled;
import milk.telegram.type.file.photo.PhotoSize;
import milk.telegram.type.message.MessageEntity;
import milk.telegram.type.Textable;
import org.json.JSONArray;
import org.json.JSONObject;
import java.util.ArrayList;
package milk.telegram.type.game;



public class Game implements Titled, Textable{

    private String text;
    private String title;
    private String description;

    private Animation animation;

// Path: src/milk/telegram/type/Titled.java
// public interface Titled{
// 
//     String getTitle();
// 
// }
// 
// Path: src/milk/telegram/type/file/photo/PhotoSize.java
// public class PhotoSize implements Identifier<String>{
// 
//     private final String id;
// 
//     private final int width;
//     private final int height;
// 
//     private final Integer size;
// 
//     private PhotoSize(JSONObject object){
//         this.id = object.getString("file_id");
//         this.width  = object.getInt("width");
//         this.height = object.getInt("height");
//         this.size = object.has("file_size") ? object.getInt("file_size") : null;
//     }
// 
//     public static PhotoSize create(JSONObject object){
//         if(object == null){
//             return null;
//         }
//         return new PhotoSize(object);
//     }
// 
//     public String getId(){
//         return id;
//     }
// 
//     public int getWidth(){
//         return this.width;
//     }
// 
//     public int getHeight(){
//         return this.height;
//     }
// 
//     public Integer getSize(){
//         return size;
//     }
// 
// }
// 
// Path: src/milk/telegram/type/message/MessageEntity.java
// public class MessageEntity{
// 
//     private final String type;
// 
//     private final String url;
// 
//     private final int offset;
//     private final int length;
// 
//     private final User user;
// 
//     private MessageEntity(JSONObject object){
//         this.type = object.getString("type");
// 
//         this.offset = object.getInt("offset");
//         this.length = object.getInt("length");
// 
//         this.url = object.optString("url");
//         this.user = User.create(object.optJSONObject("user"));
//     }
// 
//     public static MessageEntity create(JSONObject object){
//         if(object == null){
//             return null;
//         }
//         return new MessageEntity(object);
//     }
// 
//     public String getType(){
//         return type;
//     }
// 
//     public int getOffset(){
//         return offset;
//     }
// 
//     public int getLength(){
//         return length;
//     }
// 
//     public String getUrl(){
//         return url;
//     }
// 
//     public User getUser(){
//         return user;
//     }
// 
// }
// 
// Path: src/milk/telegram/type/Textable.java
// public interface Textable{
// 
//     String getText();
// }


// Path: src/milk/telegram/type/game/Game.java
import milk.telegram.type.Titled;
import milk.telegram.type.file.photo.PhotoSize;
import milk.telegram.type.message.MessageEntity;
import milk.telegram.type.Textable;
import org.json.JSONArray;
import org.json.JSONObject;
import java.util.ArrayList;

package milk.telegram.type.game;



public class Game implements Titled, Textable{

    private String text;
    private String title;
    private String description;

    private Animation animation;

    private ArrayList<PhotoSize> photo = new ArrayList<>();