KPlayer Class Reference

#include <kplayer.h>

Inherits QObject.

List of all members.


Detailed Description

Base class for a game player.

The KPlayer class is the central player object. It holds information about the player and is responsible for any input the player does. For this arbitrary many KGameIO modules can be plugged into it. Main features are:

  • Handling of IO devices
  • load/save (mostly handled by KGamePropertyHandler)
  • Turn handling (turn based, asynchronous)

A KPlayer depends on a KGame object. Call KGame::addPlayer() to plug a KPlayer into a KGame object. Note that you cannot do much with a KPlayer object before it has been plugged into a KGame. This is because most properties of KPlayer are KGameProperty which need to send messages through a KGame object to be changed.

A KGameIO represents the input methods of a player and you should make all player inputs through it. So call something like playerInput->move(4); instead which should call KGameIO::sendInput() to actually move. This way you gain a *very* big advantage: you can exchange a KGameIO whenever you want! You can e.g. remove the KGameIO of a local (human) player and just replace it by a computerIO on the fly! So from that point on all playerInputs are done by the computerIO instead of the human player. You also can replace all network players by computer players when the network connection is broken or a player wants to quit. So remember: use KGameIO whenever possible! A KPlayer should just contain all data of the player (KGameIO must not!) and several common functions which are shared by all of your KGameIOs.

Definition at line 69 of file kplayer.h.


Public Types

typedef QPtrList< KGameIOKGameIOList

Signals

void signalNetworkData (int msgid, const QByteArray &buffer, Q_UINT32 sender, KPlayer *me)
void signalPropertyChanged (KGamePropertyBase *property, KPlayer *me)

Public Member Functions

 KPlayer ()
 KPlayer (KGame *game)
virtual int rtti () const
void Debug ()
KGameIOList * ioList ()
void setGame (KGame *game)
KGamegame () const
void setAsyncInput (bool a)
bool asyncInput () const
bool isVirtual () const
void setVirtual (bool v)
bool isActive () const
void setActive (bool v)
Q_UINT32 id () const
void setId (Q_UINT32 i)
int userId () const
void setUserId (int i)
int networkPriority () const
void setNetworkPriority (int b)
KPlayernetworkPlayer () const
void setNetworkPlayer (KPlayer *p)
void setGroup (const QString &group)
virtual const QString & group () const
void setName (const QString &name)
virtual const QString & name () const
bool addGameIO (KGameIO *input)
bool removeGameIO (KGameIO *input=0, bool deleteit=true)
KGameIOfindRttiIO (int rtti) const
bool hasRtti (int rtti) const
virtual bool forwardInput (QDataStream &msg, bool transmit=true, Q_UINT32 sender=0)
virtual bool forwardMessage (QDataStream &msg, int msgid, Q_UINT32 receiver=0, Q_UINT32 sender=0)
bool myTurn () const
bool setTurn (bool b, bool exclusive=true)
virtual bool load (QDataStream &stream)
virtual bool save (QDataStream &stream)
void networkTransmission (QDataStream &stream, int msgid, Q_UINT32 sender)
KGamePropertyBasefindProperty (int id) const
bool addProperty (KGamePropertyBase *data)
int calcIOValue ()
KGamePropertyHandlerdataHandler ()

Protected Slots

void sendProperty (int msgid, QDataStream &stream, bool *sent)
void emitSignal (KGamePropertyBase *me)

Constructor & Destructor Documentation

KPlayer::KPlayer (  ) 

Create a new player object.

It will be automatically deleted if the game it belongs to is deleted.

Definition at line 62 of file kplayer.cpp.

KPlayer::KPlayer ( KGame game  ) 

Create a new player object.

It will be automatically deleted if the game it belongs to is deleted. This constructor automatically adds the player to the game using KGame::addPlayer()

Definition at line 67 of file kplayer.cpp.


Member Function Documentation

virtual int KPlayer::rtti (  )  const [inline, virtual]

The idendification of the player.

Overwrite this in classes inherting KPlayer to run time identify them.

Returns:
0 for default KPlayer.

Definition at line 98 of file kplayer.h.

void KPlayer::Debug (  ) 

Gives debug output of the game status.

Definition at line 428 of file kplayer.cpp.

KGameIOList* KPlayer::ioList (  )  [inline]

Returns a list of input devices.

Returns:
list of devices

Definition at line 111 of file kplayer.h.

void KPlayer::setGame ( KGame game  )  [inline]

sets the game the player belongs to.

This is usually automatically done when adding a player

Parameters:
game the game

Definition at line 120 of file kplayer.h.

KGame* KPlayer::game (  )  const [inline]

Query to which game the player belongs to.

Returns:
the game

Definition at line 127 of file kplayer.h.

void KPlayer::setAsyncInput ( bool  a  )  [inline]

Set whether this player can make turns/input all the time (true) or only when it is its turn (false) as it is used in turn based games.

Parameters:
a async=true turn based=false

Definition at line 136 of file kplayer.h.

bool KPlayer::asyncInput (  )  const [inline]

Query whether this player does asynchronous input.

Returns:
true/false

Definition at line 144 of file kplayer.h.

bool KPlayer::isVirtual (  )  const

Is this player a virtual player, ie is it created by mirroring a real player from another network game.

This mirroring is done autmatically as soon as a network connection is build and it affects all players regardless what type

Returns:
true/false

Definition at line 204 of file kplayer.cpp.

bool KPlayer::isActive (  )  const [inline]

Is this player an active player.

An player is usually inactivated if it is replaced by a network connection. But this could also be called manually

Returns:
true/false

Definition at line 173 of file kplayer.h.

void KPlayer::setActive ( bool  v  )  [inline]

Set an player as active (true) or inactive (false).

Parameters:
v true=active, false=inactive

Definition at line 180 of file kplayer.h.

Q_UINT32 KPlayer::id (  )  const

Returns the id of the player.

Returns:
the player id

Definition at line 195 of file kplayer.cpp.

int KPlayer::userId (  )  const [inline]

Returns the user defined id of the player This value can be used arbitrary by you to have some user idendification for your player, e.g.

0 for a white chess player, 1 for a black one. This value is more reliable than the player id whcih can even change when you make a network connection.

Returns:
the user defined player id

Definition at line 207 of file kplayer.h.

int KPlayer::networkPriority (  )  const

Returns whether this player can be replaced by a network connection player.

The name of this function can be improved ;-) If you do not overwrite the function to select what players shall play in a network the KGame does an automatic selection based on the networkPriority This is not a terrible important function at the moment.

Returns:
true/false

Definition at line 213 of file kplayer.cpp.

void KPlayer::setNetworkPriority ( int  b  ) 

Set whether this player can be replaced by a network player.

There are to possible games. The first type of game has arbitrary many players. As soon as a network players connects the game runs with more players (not tagged situation). The other type is e.g. games like chess which require a constant player number. In a network game situation you would tag one or both players of all participants. As soon as the connect the tagged player will then be replaced by the network partner and it is then controlled over the network. On connection loss the old situation is automatically restored.

The name of this function can be improved;-)

Parameters:
b should this player be tagged

Definition at line 216 of file kplayer.cpp.

KPlayer * KPlayer::networkPlayer (  )  const

Returns the player which got inactivated to allow this player to be set up via network.

Mostly internal function

Definition at line 210 of file kplayer.cpp.

void KPlayer::setNetworkPlayer ( KPlayer p  ) 

Sets this network player replacement.

Internal stuff

Definition at line 207 of file kplayer.cpp.

void KPlayer::setGroup ( const QString &  group  ) 

A group the player belongs to.

This Can be set arbitrary by you.

Definition at line 183 of file kplayer.cpp.

const QString & KPlayer::group (  )  const [virtual]

Query the group the player belongs to.

Definition at line 186 of file kplayer.cpp.

void KPlayer::setName ( const QString &  name  ) 

Sets the name of the player.

This can be chosen arbitrary.

Parameters:
name The player's name

Definition at line 189 of file kplayer.cpp.

const QString & KPlayer::name (  )  const [virtual]

Returns:
The name of the player.

Definition at line 192 of file kplayer.cpp.

bool KPlayer::addGameIO ( KGameIO input  ) 

Adds an IO device for the player.

Possible KGameIO devices can either be taken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or be self written. Existing are e.g. Ken from the existing ones or