Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var ConstructionSite = function() {};
- ConstructionSite.prototype = {
- id: "",
- my: true,
- owner: {
- username: ""
- },
- progress: 0,
- progressTotal: 0,
- structureType: "",
- remove: function() {}
- };
- var Creep = function() {};
- Creep.prototype = {
- body: [],
- carry: {},
- carryCapacity: 0,
- fatigue: 0,
- hits: 0,
- hitsMax: 0,
- id: "",
- memory: {},
- my: true,
- name: "",
- owner: {
- username: ""
- },
- spawning: false,
- ticksToLive: 0,
- attack: function(target) {},
- attackController: function(target) {},
- build: function(target) {},
- cancelOrder: function(methodName) {},
- claimController: function(target) {},
- dismantle: function(target) {},
- drop: function(resourceType, amount) {},
- getActiveBodyParts: function(type) {},
- harvest: function(target) {},
- heal: function(target) {},
- move: function(direction) {},
- moveByPath: function(path) {},
- moveTo: function(x, y, opts) {},
- notifyWhenAttacked: function(enabled) {},
- pickup: function(target) {},
- rangedAttack: function(target) {},
- rangedHeal: function(target) {},
- rangedMassAttack: function() {},
- repair: function(target) {},
- reserveController: function(target) {},
- say: function(message) {},
- suicide: function() {},
- transfer: function(target, resourceType, amount) {},
- upgradeController: function(target) {}
- };
- var Flag = function() {};
- Flag.prototype = {
- color: "",
- memory: {},
- name: "",
- secondaryColor: "",
- remove: function() {},
- setColor: function(color, secondaryColor) {},
- setPosition: function(x, y) {}
- };
- var Game = {
- cpu: {
- limit: 0,
- tickLimit: 0,
- bucket: 0,
- getUsed: function() {}
- },
- creeps: {},
- flags: {},
- gcl: {
- level: 0,
- progress: 0,
- progressTotal: 0
- },
- map: null,
- market: null,
- rooms: {},
- spawns: {},
- structures: {},
- time: 0,
- getObjectById: function(id) {},
- notify: function(message, groupInterval) {}
- };
- var Map = function() {};
- Map.prototype = {
- describeExits: function(roomName) {},
- findExit: function(fromRoom, toRoom, opts) {},
- findRoute: function(fromRoom, toRoom, opts) {},
- getRoomLinearDistance: function(roomName1, roomName2) {},
- getTerrainAt: function(x, y, roomName) {},
- isRoomProtected: function(roomName) {}
- };
- var Market = function() {};
- Market.prototype = {
- incomingTransactions: [],
- outgoingTransactions: [],
- myOrders: [],
- orders: [],
- cancelOrder: function(orderId) {},
- createBuyOrder: function(resourceType, price, totalAmount, roomName) {},
- createSellOrder: function(resourceType, price, totalAmount, roomName) {},
- deal: function(orderId, targetRoomName, amount) {}
- };
- var Memory = {};
- var Mineral = function() {};
- Mineral.prototype = {
- mineralAmount: 0,
- mineralType: 0,
- id: "",
- ticksToRegeneration: 0
- };
- var Nuke = function() {};
- Nuke.prototype = {
- id: "",
- launchRoomName: "",
- timeToLand: 0
- };
- var OwnedStructure = function() {};
- OwnedStructure.prototype = {
- my: true,
- owner: {
- username: ""
- }
- };
- var PathFinder = function() {};
- PathFinder.prototype = {
- search: function(origin, goal, opts) {},
- use: function(isEnabled) {}
- };
- PathFinder.CostMatrix = function() {};
- PathFinder.CostMatrix.prototype = {
- set: function(x, y, cost) {},
- get: function(x, y) {},
- clone: function() {},
- serialize: function() {},
- deserialize: function(val) {}
- };
- var RawMemory = function() {};
- RawMemory.prototype = {
- get: function() {},
- set: function(value) {}
- };
- var Resource = function() {};
- Resource.prototype = {
- amount: 0,
- id: "",
- resourceType: ""
- };
- var Room = function() {};
- Room.prototype = {
- controller: null,
- energyAvailable: 0,
- energyCapacityAvailable: 0,
- memory: {},
- mode: "",
- name: "",
- storage: null,
- terminal: null,
- serializePath: function(path) {},
- deserializePath: function(path) {},
- createConstructionSite: function(x, y, structureType) {},
- createFlag: function(x, y, name, color, secondaryColor) {},
- find: function(type, opts) {},
- findExitTo: function(room) {},
- findPath: function(fromPos, toPos, opts) {},
- getPositionAt: function(x, y) {},
- lookAt: function(x, y) {},
- lookAtArea: function(top, left, bottom, right) {},
- lookForAt: function(type, x, y) {},
- lookForAtArea: function(type, top, left, bottom, right) {}
- };
- var RoomObject = function() {};
- RoomObject.prototype = {
- pos: null,
- room: null
- };
- var RoomPosition = function(x, y, roomName) {};
- RoomPosition.prototype = {
- roomName: "",
- x: 0,
- y: 0,
- createConstructionSite: function(structureType) {},
- createFlag: function(name, color, secondaryColor) {},
- findClosestByPath: function(type, opts) {},
- findClosestByRange: function(type, opts) {},
- findInRange: function(type, range, opts) {},
- findPathTo: function(x, y, opts) {},
- getDirectionTo: function(x, y) {},
- getRangeTo: function(x, y) {},
- inRangeTo: function(x, y, range) {},
- isEqualTo: function(x, y) {},
- isNearTo: function(x, y) {},
- look: function() {},
- lookFor: function(type) {}
- };
- var Source = function() {};
- Source.prototype = {
- energy: 0,
- energyCapacity: 0,
- id: "",
- ticksToRegeneration: 0
- };
- var Structure = function() {};
- Structure.prototype = {
- hits: 0,
- hitsMax: 0,
- id: "",
- structureType: "",
- destroy: function() {},
- isActive: function() {},
- notifyWhenAttacked: function(enabled) {}
- };
- var StructureContainer = function() {};
- StructureContainer.prototype = {
- store: {},
- storeCapacity: 0,
- transfer: function(target, resourceType, amount) {}
- };
- var StructureController = function() {};
- StructureController.prototype = {
- level: 0,
- progress: 0,
- progressTotal: 0,
- reservation: {},
- ticksToDowngrade: 0,
- upgradeBlocked: 0,
- unclaim: function() {}
- };
- var StructureExtension = function() {};
- StructureExtension.prototype = {
- energy: 0,
- energyCapacity: 0,
- transferEnergy: function(target, amount) {}
- };
- var StructureExtractor = function() {};
- StructureExtractor.prototype = {};
- var StructureKeeperLair = function() {};
- StructureKeeperLair.prototype = {
- ticksToSpawn: 0
- };
- var StructureLab = function() {};
- StructureLab.prototype = {
- cooldown: 0,
- energy: 0,
- energyCapacity: 0,
- mineralAmount: 0,
- mineralType: "",
- mineralCapacity: 0,
- boostCreep: function(creep, bodyPartsCount) {},
- runReaction: function(lab1, lab2) {},
- transfer: function(target, resourceType, amount) {}
- };
- var StructureLink = function() {};
- StructureLink.prototype = {
- cooldown: 0,
- energy: 0,
- energyCapacity: 0,
- transferEnergy: function(target, amount) {}
- };
- var StructureNuker = function() {};
- StructureNuker.prototype = {
- energy: 0,
- energyCapacity: 0,
- ghodium: 0,
- ghodiumCapacity: 0,
- cooldown: 0,
- launchNuke: function(pos) {}
- };
- var StructureObserver = function() {};
- StructureObserver.prototype = {
- observeRoom: function(roomName) {}
- };
- var StructurePortal = function() {};
- StructurePortal.prototype = {
- destination: null,
- ticksToDecay: 0
- };
- var StructurePowerBank = function() {};
- StructurePowerBank.prototype = {
- power: 0,
- ticksToDecay: 0
- };
- var StructurePowerSpawn = function() {};
- StructurePowerSpawn.prototype = {
- energy: 0,
- energyCapacity: 0,
- power: 0,
- powerCapacity: 0,
- createPowerCreep: function(roomName) {},
- processPower: function() {},
- transferEnergy: function(target, amount) {}
- };
- var StructureRampart = function() {};
- StructureRampart.prototype = {
- ticksToDecay: 0
- };
- var StructureRoad = function() {};
- StructureRoad.prototype = {
- ticksToDecay: 0
- };
- var StructureSpawn = function() {};
- StructureSpawn.prototype = {
- energy: 0,
- energyCapacity: 0,
- memory: {},
- name: "",
- spawning: null,
- canCreateCreep: function(body, name) {},
- createCreep: function(body, name, memory) {},
- recycleCreep: function(target) {},
- renewCreep: function(target) {},
- transferEnergy: function(target, amount) {}
- };
- var Spawn = {};
- Spawn.prototype = StructureSpawn.prototype;
- var StructureStorage = function() {};
- StructureStorage.prototype = {
- store: {},
- storeCapacity: 0,
- transfer: function(target, resourceType, amount) {}
- };
- var StructureTerminal = function() {};
- StructureTerminal.prototype = {
- store: {},
- storeCapacity: 0,
- send: function(resourceType, amount, destination, description) {},
- transfer: function(target, resourceType, amount) {}
- };
- var StructureTower = function() {};
- StructureTower.prototype = {
- energy: 0,
- energyCapacity: 0,
- attack: function(target) {},
- heal: function(target) {},
- repair: function(target) {},
- transferEnergy: function(target, amount) {}
- };
- var StructureWall = function() {};
- StructureWall.prototype = {
- ticksToLive: 0
- };
- var global = function() {};
- global.prototype = {
- BODYPARTS_ALL: ["move", "work", "carry", "attack", "ranged_attack", "tough", "heal", "claim"],
- BODYPART_COST: {
- move: 50,
- work: 100,
- attack: 80,
- carry: 50,
- heal: 250,
- ranged_attack: 150,
- tough: 10,
- claim: 600
- },
- CREEP_SPAWN_TIME: 3,
- CREEP_LIFE_TIME: 1500,
- CREEP_CLAIM_LIFE_TIME: 500,
- CREEP_CORPSE_RATE: .2,
- OBSTACLE_OBJECT_TYPES: ["spawn", "creep", "wall", "source", "constructedWall", "extension", "link", "storage", "tower", "observer", "powerSpawn", "powerBank"],
- ENERGY_REGEN_TIME: 300,
- ENERGY_DECAY: 1E3,
- REPAIR_COST: .01,
- DISMANTLE_COST: .005,
- RAMPART_DECAY_AMOUNT: 300,
- RAMPART_DECAY_TIME: 100,
- RAMPART_HITS: 1,
- RAMPART_HITS_MAX: {
- 2: 3E5,
- 3: 1E6,
- 4: 3E6,
- 5: 1E7,
- 6: 3E7,
- 7: 1E8,
- 8: 3E8
- },
- SPAWN_HITS: 5E3,
- SPAWN_ENERGY_START: 300,
- SPAWN_ENERGY_CAPACITY: 300,
- SOURCE_ENERGY_CAPACITY: 3E3,
- SOURCE_ENERGY_NEUTRAL_CAPACITY: 1500,
- ROAD_HITS: 5E3,
- WALL_HITS: 1,
- WALL_HITS_MAX: 3E8,
- EXTENSION_HITS: 1E3,
- EXTENSION_ENERGY_CAPACITY: {
- 0: 50,
- 1: 50,
- 2: 50,
- 3: 50,
- 4: 50,
- 5: 50,
- 6: 50,
- 7: 100,
- 8: 200
- },
- ROAD_WEAROUT: 1,
- ROAD_DECAY_AMOUNT: 100,
- ROAD_DECAY_TIME: 1E3,
- LINK_HITS: 1E3,
- LINK_HITS_MAX: 1E3,
- LINK_CAPACITY: 800,
- LINK_COOLDOWN: 1,
- LINK_LOSS_RATIO: .03,
- STORAGE_CAPACITY: 1E6,
- STORAGE_HITS: 1E4,
- CARRY_CAPACITY: 50,
- HARVEST_POWER: 2,
- REPAIR_POWER: 100,
- DISMANTLE_POWER: 100,
- BUILD_POWER: 5,
- ATTACK_POWER: 30,
- UPGRADE_CONTROLLER_POWER: 1,
- RANGED_ATTACK_POWER: 10,
- HEAL_POWER: 12,
- RANGED_HEAL_POWER: 4,
- CONSTRUCTION_COST: {
- spawn: 15E3,
- extension: 3E3,
- road: 300,
- constructedWall: 1,
- rampart: 1,
- link: 5E3,
- storage: 3E4,
- tower: 5E3,
- observer: 8E3,
- powerSpawn: 1E5
- },
- CONSTRUCTION_COST_ROAD_SWAMP_RATIO: 5,
- CONTROLLER_LEVELS: {
- 1: 200,
- 2: 45E3,
- 3: 135E3,
- 4: 405E3,
- 5: 1215E3,
- 6: 3645E3,
- 7: 10935E3
- },
- CONTROLLER_STRUCTURES: {
- spawn: {
- 0: 0,
- 1: 1,
- 2: 1,
- 3: 1,
- 4: 1,
- 5: 1,
- 6: 1,
- 7: 2,
- 8: 3
- },
- extension: {
- 0: 0,
- 1: 0,
- 2: 5,
- 3: 10,
- 4: 20,
- 5: 30,
- 6: 40,
- 7: 50,
- 8: 60
- },
- link: {
- 1: 0,
- 2: 0,
- 3: 0,
- 4: 0,
- 5: 2,
- 6: 3,
- 7: 4,
- 8: 6
- },
- road: {
- 0: 2500,
- 1: 2500,
- 2: 2500,
- 3: 2500,
- 4: 2500,
- 5: 2500,
- 6: 2500,
- 7: 2500,
- 8: 2500
- },
- constructedWall: {
- 1: 0,
- 2: 2500,
- 3: 2500,
- 4: 2500,
- 5: 2500,
- 6: 2500,
- 7: 2500,
- 8: 2500
- },
- rampart: {
- 1: 0,
- 2: 2500,
- 3: 2500,
- 4: 2500,
- 5: 2500,
- 6: 2500,
- 7: 2500,
- 8: 2500
- },
- storage: {
- 1: 0,
- 2: 0,
- 3: 0,
- 4: 1,
- 5: 1,
- 6: 1,
- 7: 1,
- 8: 1
- },
- tower: {
- 1: 0,
- 2: 0,
- 3: 1,
- 4: 1,
- 5: 1,
- 6: 2,
- 7: 2,
- 8: 4
- },
- observer: {
- 1: 0,
- 2: 0,
- 3: 0,
- 4: 0,
- 5: 0,
- 6: 0,
- 7: 0,
- 8: 1
- },
- powerSpawn: {
- 1: 0,
- 2: 0,
- 3: 0,
- 4: 0,
- 5: 0,
- 6: 0,
- 7: 0,
- 8: 1
- }
- },
- CONTROLLER_DOWNGRADE: {
- 1: 2E4,
- 2: 5E4,
- 3: 5E4,
- 4: 5E4,
- 5: 5E4,
- 6: 5E4,
- 7: 5E4,
- 8: 5E4
- },
- CONTROLLER_CLAIM_DOWNGRADE: .2,
- CONTROLLER_RESERVE: 1,
- CONTROLLER_RESERVE_MAX: 5E3,
- CONTROLLER_MAX_UPGRADE_PER_TICK: 15,
- TOWER_HITS: 3E3,
- TOWER_CAPACITY: 1E3,
- TOWER_ENERGY_COST: 10,
- TOWER_POWER_ATTACK: 600,
- TOWER_POWER_HEAL: 400,
- TOWER_POWER_REPAIR: 800,
- TOWER_OPTIMAL_RANGE: 5,
- TOWER_FALLOFF_RANGE: 20,
- TOWER_FALLOFF: .75,
- OBSERVER_HITS: 500,
- OBSERVER_RANGE: 5,
- POWER_BANK_HITS: 2E6,
- POWER_BANK_CAPACITY_MAX: 5E3,
- POWER_BANK_CAPACITY_MIN: 500,
- POWER_BANK_CAPACITY_CRIT: .3,
- POWER_BANK_DECAY: 5E3,
- POWER_BANK_HIT_BACK: .5,
- POWER_SPAWN_HITS: 5E3,
- POWER_SPAWN_ENERGY_CAPACITY: 5E3,
- POWER_SPAWN_POWER_CAPACITY: 100,
- POWER_SPAWN_ENERGY_RATIO: 50,
- GCL_POW: 2.4,
- GCL_MULTIPLY: 1E6,
- GCL_NOVICE: 3,
- TERRAIN_MASK_WALL: 1,
- TERRAIN_MASK_SWAMP: 2,
- TERRAIN_MASK_LAVA: 4,
- MAX_CONSTRUCTION_SITES: 100,
- MAX_CREEP_SIZE: 50,
- LOOK_CREEPS: "creep",
- LOOK_ENERGY: "energy",
- LOOK_RESOURCES: "resource",
- LOOK_SOURCES: "source",
- LOOK_MINERALS: "mineral",
- LOOK_STRUCTURES: "structure",
- LOOK_FLAGS: "flag",
- LOOK_CONSTRUCTION_SITES: "constructionSite",
- LOOK_NUKES: "nuke",
- LOOK_TERRAIN: "terrain",
- MOVE: "move",
- WORK: "work",
- CARRY: "carry",
- ATTACK: "attack",
- RANGED_ATTACK: "ranged_attack",
- HEAL: "heal",
- TOUGH: "tough",
- CLAIM: "claim",
- TOP: 1,
- TOP_RIGHT: 2,
- RIGHT: 3,
- BOTTOM_RIGHT: 4,
- BOTTOM: 5,
- BOTTOM_LEFT: 6,
- LEFT: 7,
- TOP_LEFT: 8,
- OK: 0,
- ERR_NOT_OWNER: -1,
- ERR_NO_PATH: -2,
- ERR_NAME_EXISTS: -3,
- ERR_BUSY: -4,
- ERR_NOT_FOUND: -5,
- ERR_NOT_ENOUGH_ENERGY: -6,
- ERR_NOT_ENOUGH_RESOURCES: -6,
- ERR_NOT_ENOUGH_EXTENSIONS: -6,
- ERR_INVALID_TARGET: -7,
- ERR_FULL: -8,
- ERR_NOT_IN_RANGE: -9,
- ERR_INVALID_ARGS: -10,
- ERR_TIRED: -11,
- ERR_NO_BODYPART: -12,
- ERR_RCL_NOT_ENOUGH: -14,
- ERR_GCL_NOT_ENOUGH: -15,
- COLOR_WHITE: "white",
- COLOR_GREY: "grey",
- COLOR_RED: "red",
- COLOR_PURPLE: "purple",
- COLOR_BLUE: "blue",
- COLOR_CYAN: "cyan",
- COLOR_GREEN: "green",
- COLOR_YELLOW: "yellow",
- COLOR_ORANGE: "orange",
- COLOR_BROWN: "brown",
- FIND_EXIT_TOP: 1,
- FIND_EXIT_RIGHT: 3,
- FIND_EXIT_BOTTOM: 5,
- FIND_EXIT_LEFT: 7,
- FIND_EXIT: 10,
- FIND_CREEPS: 101,
- FIND_MY_CREEPS: 102,
- FIND_HOSTILE_CREEPS: 103,
- FIND_SOURCES_ACTIVE: 104,
- FIND_SOURCES: 105,
- FIND_DROPPED_ENERGY: 106,
- FIND_DROPPED_RESOURCES: 106,
- FIND_STRUCTURES: 107,
- FIND_MY_STRUCTURES: 108,
- FIND_HOSTILE_STRUCTURES: 109,
- FIND_FLAGS: 110,
- FIND_CONSTRUCTION_SITES: 111,
- FIND_MY_SPAWNS: 112,
- FIND_HOSTILE_SPAWNS: 113,
- FIND_MY_CONSTRUCTION_SITES: 114,
- FIND_HOSTILE_CONSTRUCTION_SITES: 115,
- FIND_MINERALS: 116,
- FIND_NUKES: 117,
- MODE_SIMULATION: "simulation",
- MODE_SURVIVAL: "survival",
- MODE_WORLD: "world",
- MODE_ARENA: "arena",
- STRUCTURE_EXTENSION: "extension",
- STRUCTURE_RAMPART: "rampart",
- STRUCTURE_ROAD: "road",
- STRUCTURE_SPAWN: "spawn",
- STRUCTURE_WALL: "constructedWall",
- STRUCTURE_LINK: "link",
- STRUCTURE_KEEPER_LAIR: "keeperLair",
- STRUCTURE_CONTROLLER: "controller",
- STRUCTURE_STORAGE: "storage",
- STRUCTURE_TOWER: "tower",
- STRUCTURE_OBSERVER: "observer",
- STRUCTURE_POWER_BANK: "powerBank",
- STRUCTURE_POWER_SPAWN: "powerSpawn",
- STRUCTURE_PORTAL: "portal",
- STRUCTURE_EXTRACTOR: "extractor",
- STRUCTURE_LAB: "lab",
- STRUCTURE_TERMINAL: "terminal",
- STRUCTURE_CONTAINER: "container",
- STRUCTURE_NUKER: "nuker",
- RESOURCE_ENERGY: "energy",
- RESOURCE_POWER: "power",
- RESOURCE_HYDROGEN: "H",
- RESOURCE_OXYGEN: "O",
- RESOURCE_UTRIUM: "U",
- RESOURCE_KEANIUM: "K",
- RESOURCE_LEMERGIUM: "L",
- RESOURCE_ZYNTHIUM: "Z",
- RESOURCE_CATALYST: "X",
- RESOURCE_HYDROXIDE: "OH",
- RESOURCE_ZYNTHIUM_KEANITE: "ZK",
- RESOURCE_UTRIUM_LEMERGITE: "UL",
- RESOURCE_GHODIUM: "G",
- RESOURCE_UTRIUM_HYDRIDE: "UH",
- RESOURCE_UTRIUM_OXIDE: "UO",
- RESOURCE_KEANIUM_HYDRIDE: "KH",
- RESOURCE_KEANIUM_OXIDE: "KO",
- RESOURCE_LEMERGIUM_HYDRIDE: "LH",
- RESOURCE_LEMERGIUM_OXIDE: "LO",
- RESOURCE_ZYNTHIUM_HYDRIDE: "ZH",
- RESOURCE_ZYNTHIUM_OXIDE: "ZO",
- RESOURCE_GHODIUM_HYDRIDE: "GH",
- RESOURCE_GHODIUM_OXIDE: "GO",
- RESOURCE_UTRIUM_ACID: "UH2O",
- RESOURCE_UTRIUM_ALKALIDE: "UHO2",
- RESOURCE_KEANIUM_ACID: "KH2O",
- RESOURCE_KEANIUM_ALKALIDE: "KHO2",
- RESOURCE_LEMERGIUM_ACID: "LH2O",
- RESOURCE_LEMERGIUM_ALKALIDE: "LHO2",
- RESOURCE_ZYNTHIUM_ACID: "ZH2O",
- RESOURCE_ZYNTHIUM_ALKALIDE: "ZHO2",
- RESOURCE_GHODIUM_ACID: "GH2O",
- RESOURCE_GHODIUM_ALKALIDE: "GHO2",
- RESOURCE_CATALYZED_UTRIUM_ACID: "XUH2O",
- RESOURCE_CATALYZED_UTRIUM_ALKALIDE: "XUHO2",
- RESOURCE_CATALYZED_KEANIUM_ACID: "XKH2O",
- RESOURCE_CATALYZED_KEANIUM_ALKALIDE: "XKHO2",
- RESOURCE_CATALYZED_LEMERGIUM_ACID: "XLH2O",
- RESOURCE_CATALYZED_LEMERGIUM_ALKALIDE: "XLHO2",
- RESOURCE_CATALYZED_ZYNTHIUM_ACID: "XZH2O",
- RESOURCE_CATALYZED_ZYNTHIUM_ALKALIDE: "XZHO2",
- RESOURCE_CATALYZED_GHODIUM_ACID: "XGH2O",
- RESOURCE_CATALYZED_GHODIUM_ALKALIDE: "XGHO2",
- RESOURCES_ALL: ["energy", "power", "H", "O", "U", "K", "L", "Z", "X", "OH",
- "ZK", "UL", "G", "UH", "UO", "KH", "KO", "LH", "LO", "ZH",
- "ZO", "GH", "GO", "UH2O", "UHO2", "KH2O", "KHO2", "LH2O",
- "LHO2", "ZH2O", "ZHO2", "GH2O", "GHO2", "XUH2O", "XUHO2",
- "XKH2O", "XKHO2", "XLH2O", "HLXO2", "XZH2O", "XZHO2",
- "XGH2O", "XGHO2"
- ]
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement