diff --git a/CHANGES b/CHANGES
index ef612b9d0e60208a4b4dd80a7b9f99f7042ab628..eb4bc3b8d6b38c998a064302f13ee89d0e1e114c 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,7 +1,13 @@
+SFLphone (0.3.1) / 2005-04-21
+	* Handle error messages on screen
+	* Handle refused call
+	* Notification of remote RINGING event added
+	* Management of lines updated
+
 SFLphone (0.3) / 2005-04-05
 	* ALSA driver support added 
 	* GSM audio codec support added
-	* Rings support (just ulaw format) added
+	* Ringtones support (just ulaw format) added
 	* Notification incoming call added
 	* Apply skin feature added
 	* Volume control added
diff --git a/src/audiobuffer.h b/src/audiobuffer.h
index 4f925d0e28df9df24f74cd2ea2026e175a35da04..c6607a2eed548a032b6496de6f5a5d1a602d7593 100644
--- a/src/audiobuffer.h
+++ b/src/audiobuffer.h
@@ -66,8 +66,8 @@ public:
 void *data;
 private:
 	
-	size_t size;
 	size_t realsize;
+	size_t size;
 };
 
 #endif // __AUDIOBUFFER_H__
diff --git a/src/audiocodec.cpp b/src/audiocodec.cpp
index ce8682c95211c84c1ae6e3154c53f14fdc8e9bb5..208bacbba59231ced1519bb547810e5cd6bdc867 100644
--- a/src/audiocodec.cpp
+++ b/src/audiocodec.cpp
@@ -169,4 +169,24 @@ AudioCodec::gsmDestroy (void) {
 	gsm_destroy(encode_gsmhandle);
 }
 
+void
+AudioCodec::create (int pt) {
+	switch (pt) {
+	case PAYLOAD_CODEC_GSM:
+		AudioCodec::gsmCreate();
+		break;
+	default:
+		break;
+	}
+} 
 
+void
+AudioCodec::destroy (int pt) {
+	switch (pt) {
+	case PAYLOAD_CODEC_GSM:
+		AudioCodec::gsmDestroy();
+		break;
+	default:
+		break;
+	}
+}
diff --git a/src/audiocodec.h b/src/audiocodec.h
index 9d927752d1c674f39a0e8b18b736fdb4763f38cd..dabae0928ecc14410ffd0e2277af1421d4dd88c2 100644
--- a/src/audiocodec.h
+++ b/src/audiocodec.h
@@ -54,6 +54,10 @@ public:
 	void 		noSupportedCodec	(void);
 	static int	codecDecode 	(int, short *, unsigned char *, unsigned int);
 	static int	codecEncode 	(int, unsigned char *, short *, unsigned int);
+	static void	create			(int);
+	static void	destroy			(int);
+
+private:
 	static void	gsmCreate		(void);
 	static void	gsmDestroy		(void);
 };
diff --git a/src/audiodrivers.cpp b/src/audiodrivers.cpp
index f14d02c6105d40a20f32729609779ecf08cbca40..c104564e8577cbe101cc3bec294cc8b3df48faf7 100644
--- a/src/audiodrivers.cpp
+++ b/src/audiodrivers.cpp
@@ -25,7 +25,6 @@
 
 AudioDrivers::AudioDrivers (void) {
 	this->devstate = AudioDrivers::DeviceClosed;
-	
 }
 
 AudioDrivers::~AudioDrivers (void) {
diff --git a/src/audiodrivers.h b/src/audiodrivers.h
index 4daf9956d3b3c988afe14e525fff1e827e4fd1ec..878ed5c5a32ac80b800cbcd242f04ae139200dcf 100644
--- a/src/audiodrivers.h
+++ b/src/audiodrivers.h
@@ -29,6 +29,7 @@ class AudioDrivers {
 public:
 	AudioDrivers (void);
 	virtual	~AudioDrivers (void);
+	AudioBuffer audio_buf; // Buffer that the application fills	
 
 	enum DeviceState {
 		DeviceOpened,
@@ -46,7 +47,6 @@ public:
 	virtual int	 readBuffer			(int) = 0;
 	virtual unsigned int readableBytes (void) = 0;
 
-	AudioBuffer audio_buf; // Buffer that the application fills	
 
 protected:
 	DeviceState devstate;  // Current state
diff --git a/src/audiortp.cpp b/src/audiortp.cpp
index 6adf102b45b93c4d5d9c8ba41962efed79f347dc..9529188602ffca46aa266f5f625dc3c0ab28602d 100644
--- a/src/audiortp.cpp
+++ b/src/audiortp.cpp
@@ -93,7 +93,6 @@ AudioRtp::closeRtpSession (SipCall *ca) {
 	ca->enable_audio = -1;
 
 	if (RTXThread != NULL) {
-		qDebug("RTXThread DELETED");
 		delete RTXThread;
 		RTXThread = NULL;
 	}
@@ -107,6 +106,7 @@ AudioRtp::closeRtpSession (SipCall *ca) {
 ////////////////////////////////////////////////////////////////////////////////
 AudioRtpRTX::AudioRtpRTX (SipCall *sipcall, AudioDrivers *driver, 
 		AudioDrivers *read_driver, Manager *mngr, bool sym) {
+	this->time = new Time();
 	this->manager = mngr;
 	this->ca = sipcall;
 	this->sym =sym;
@@ -128,12 +128,10 @@ AudioRtpRTX::AudioRtpRTX (SipCall *sipcall, AudioDrivers *driver,
 		qDebug("Forced port %d", forcedPort);
 		session = new SymmetricRTPSession (local_ip, forcedPort);
 	}
-	AudioCodec::gsmCreate();
 }
 
 AudioRtpRTX::~AudioRtpRTX () {
 	this->terminate();
-	AudioCodec::gsmDestroy();
 	
 	if (!sym) {
 		if (sessionRecv != NULL) {
@@ -163,7 +161,7 @@ AudioRtpRTX::run (void) {
 					 timestamp;
 	int				 expandedSize;
 	short			*data_for_speakers = NULL;
-	int 			 countTime = 0;
+	unsigned int	 countTime = 0;
 	data_for_speakers = new short[2048];
 	data_from_mic = new short[1024];
 	data_from_mic_tmp = new short[1024];
@@ -255,6 +253,8 @@ AudioRtpRTX::run (void) {
 		session->startRunning();
 	}
 
+	AudioCodec::create(ca->payload);
+
 	while (ca->enable_audio != -1) {
 		////////////////////////////
 		// Send session
@@ -328,9 +328,9 @@ AudioRtpRTX::run (void) {
 				manager->getSpkrVolume());
 
 		// Notify (with a bip) an incoming call when there is already a call 
-		countTime += TimerPort::getElapsed();
+		countTime += time->getSecond();
 		if (manager->getNumberPendingCalls() != 1 and manager->ringing()) {
-			if ((countTime % 2000) <= 10 and (countTime % 2000) >= 0) {
+			if ((countTime % 2000) <= 10 and (countTime % 2000) > 0) {
 				manager->notificationIncomingCall();
 			}
 		}
@@ -345,6 +345,7 @@ AudioRtpRTX::run (void) {
 		TimerPort::incTimer(frameSize); // 'frameSize' ms
 	}
 		 
+	AudioCodec::destroy(ca->payload);
 	delete[] data_for_speakers;
 	delete[] data_from_mic;
 	delete[] data_from_mic_tmp;
diff --git a/src/audiortp.h b/src/audiortp.h
index 551461f36e13872e761c6d6c2843120b700b4944..2117669d1a9662dc906e2ae1e5d4a1a0ae84065d 100644
--- a/src/audiortp.h
+++ b/src/audiortp.h
@@ -23,6 +23,7 @@
 #include <cstdlib>
 
 #include <ccrtp/rtp.h>
+#include <cc++/numbers.h>
 
 using namespace ost;
 
@@ -40,6 +41,7 @@ class AudioRtpRTX : public Thread, public TimerPort {
 public:
 	AudioRtpRTX (SipCall *, AudioDrivers *, AudioDrivers *, Manager *, bool);
 	~AudioRtpRTX();
+	Time *time; 	// For incoming call notification 
 	virtual void run ();
 
 private:
diff --git a/src/configurationpanel.ui b/src/configurationpanel.ui
index 72fdbc9845c440784d51a9eaf6e0e5a4b8a4b1d1..6740a1fc9b56af259ad26e840c13a52823c220cf 100644
--- a/src/configurationpanel.ui
+++ b/src/configurationpanel.ui
@@ -1231,6 +1231,24 @@ For more information, see http://www.sflphone.org&lt;br&gt;
                         <attribute name="title">
                             <string>About Savoir-faire Linux inc.</string>
                         </attribute>
+                        <widget class="QLabel">
+                            <property name="name">
+                                <cstring>textLabel1</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>85</x>
+                                    <y>126</y>
+                                    <width>291</width>
+                                    <height>131</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>&lt;p align="center"&gt;Website: http://www.savoirfairelinux.com&lt;br&gt;&lt;br&gt;
+5505, Saint-Laurent - bureau 3030&lt;br&gt;
+Montreal, Quebec H2T 1S6&lt;/p&gt;</string>
+                            </property>
+                        </widget>
                         <widget class="QLabel">
                             <property name="name">
                                 <cstring>pixmapLabel2</cstring>
@@ -1250,24 +1268,6 @@ For more information, see http://www.sflphone.org&lt;br&gt;
                                 <bool>true</bool>
                             </property>
                         </widget>
-                        <widget class="QLabel">
-                            <property name="name">
-                                <cstring>textLabel1</cstring>
-                            </property>
-                            <property name="geometry">
-                                <rect>
-                                    <x>85</x>
-                                    <y>126</y>
-                                    <width>291</width>
-                                    <height>131</height>
-                                </rect>
-                            </property>
-                            <property name="text">
-                                <string>&lt;p align="center"&gt;Website: http://www.savoirfairelinux.com&lt;br&gt;&lt;br&gt;
-5505, Saint-Laurent - bureau 3030&lt;br&gt;
-Montreal, Quebec H2T 1S6&lt;/p&gt;</string>
-                            </property>
-                        </widget>
                     </widget>
                 </widget>
             </vbox>
@@ -1279,7 +1279,7 @@ Montreal, Quebec H2T 1S6&lt;/p&gt;</string>
         <data format="XPM.GZ" length="58862">789ced5d596fe3b8b27e9f5f114cbd0d0eea6475625cdc878eb3b4b34ca72799e9745f9c07c74b76c776363b07e7bfdf629194488ad49249e4f40151109292488a923e7dac85a2fff9dbc2e9d1e1c26ffffce5fea1f370d95de85e74260bbff51e6f6f67fff7affffdf72fbfae2c2d2f34971696165717967ffdc72fbfe21f0bdd05682c37d61a52ffcc7a87f40eebbb4a6f2a7d47e93da57f17fafa4aa3b7be2274e8487d7d49eab8a4f43575fc96f533d2cf58df547a53e953a5f794fe22f48d95f5de866caf2df58d25a9c34ce96beaf8b9d4cf96cf56f9f890f5333a2edb1b2bbd29757c547a4f1d1f495dd7c78b44efb13e507a43e9db426fae6ef49af27c7da93797943e50fa9ad4f145ea49fd65a577947ea8f5ee1ad7df557a5f1e872dadcbe3f8c47a97daefb2fea0f4a6d2ef95de53faa5d4757de849bdbbacf496d03babcd5e47f6ff52ea9d25a583d2d7a48e7da927f59f125d5ecf27a537947ec47a97eacbfe4c94de51fab1d2fb528767a927f5af94de913a74b5de93e7df577a5f955f14fad96aa7af9ee758eac9f36d28bda1f0b22775dd1e9e28bdaff403a9f79695bece7a2f799e23a5ebe7f9ac74f5fc7045eaba3e7c4af43e1f5f557a43eac0f8eaae25cffb4eeafa7ee354e90da5f7a4aeebe3b5d23baa3d7e3fba3d7d3fe14ee9ea7ee250e9eafec195d4757dfc5debfd06eb6b4aefabf62fb42e8fc367a9f79795ceef5b6f2db99f33a927f7734fe90da57f937a52ff20d1657fba4a6fa8fefc99e8f238bf2fd43b7d3f51e9fa7a6e95aefa8f9b52d7f5e14ce91dd5de86d0fb0d7d7df855eaba7fd854baea0fec285dd587b6d607f2f8b5d2fbaafd2f5a57c7f97dee27fdc153a5ebf6264ad7f5ffd2baac8f37521f2c2bfd4ce90da5ff10fa20391fee4b3d29df52ba2edf49f4019fff46e91da533df0c06fa3882d2d5f1af0f4a1f683d4a94fa24622e4add123117a56e89988b52b744cc45a95b22e6a2d42d117351ea9688b928754bc45c94ba25622e4add123117a56e89988b52b744cc45a95b22e6a2d42d7f177308d821399bf77544f979e4b598c32ef6b08f033cc70bb55de2155ee3cdbcafe8e30bdee210ef7084639ce03d3ee0233ed1df09e9cf38c519decebb87ef2bd53147ac768d2f8cb601612dfbf7136ecefbaa3ea2600bb70855dbb883bbf8b960dbc5366171847bb83fef7ebfbd54c51c1e58dc16da0e3f0eeef81df91dbfbc4bdbfb848b23622d282cf99570f4c7abb6e379dfc1b7962a98c31b1a3ffddce6fb7b52aac53f091107344a5ff2d87c42e8f8eb2daf0fbf25fd7973d4e1293392e0a5eff8a3a0ec6221b785b6a5b7eef7bca53ce6e8e915f39bbd2de7f916c43f57c17a2b7ebb903c966f6447ae166c6b29be08cdbaddde5bdf3b6c187c342a28bbe4e1b0255c278edcc0267e05c42d00e8f8b80ef0ad7b3e5f298b39465c96cb06849b2b42c8359ce1267433c797b1e36d0d88db2e0ab8f2c41db108a56539f602bfa9f324fbe1cd31077d838f724740ea4786bf60e02b07e7597b0fcedfbae7f3957298f372dc00d7ac327f911597e5ac818fb108a7699915dc14c8c40e9cc105f48cba874ead9ea7fdd0c67da3676df8d56f7defc8df4cb928b7751a855deeea602b507694e1bac5b7eef97ca50ce6f08b974baecd32c47321cec93c0db2e0521f37c38364e3ad32838ae3dfac73749df69709bb3d204e931bc915fd774dffabbec14d5e3ffeae900f9a72513ee6006e1d9edb0a9786a1c373776fddf3f94a29cc2dfbb8c4ba4b6730cae19c15abb52fc9fee073a267744163ab331a1242cd7657a13016581fcf6151d99151760727b9656fd9fa53e561f8d6fd9eb714638ec63eafdd649559ceb7afe0dadb5ec5f8b1652f96b2ce98e7743fde97e7c685a587e42734b3f13698900771ef29dfa211f9166790d766618c46956bc2234ee9fca76f7d0f5e234598a3912ec45f3725caa80d9e8c7bfca4f62f57ed2b3c57e5ac6a3c87fb70477e64533c49dcc7198ef101a6f81d66788477d9676ff1dc1fd2d2a7e7fa0c973084195c12b70523bad4b3676a7da6f90c3a30a61acd40e91f7847e567844260940e71421ecc928e1e877009f7e40bbfa49c293816c80dae7ae7df568a30079fcac4df380b96ef4b265137b6d5c4fe4f55fb6ad87307256b54b0e70861a94fd9f1c6ca1c5bdee439e6ba4e12af4bda8147efb9a6b0e9cf3f402bcb4584c5cf057ddbf58dd6701eb80eb204ca32e47b4821cf0d82fc3548fb4dcfd66bf319db956a2fe144c8b1a2037d49ec39b82859a302cf116b14e604888b8c676bf35cb0ceb6739e0d62a6dc3a84310311706ff154f83cb6853d8171ee39a64551ecf7937ccc4149eee2d859418e425bfc894ffa37ecb9b29833edb97c8cc343b9bc00f99f498cc3e539ff465c6322085d2ef46e064e7156a65fcca98955483ed8b0b04e7b5e5c5780b96e0e772dbb1126f20ef2b84e656089add27c43a5ab4eed3928392e97e7395f3e1436c9f619e13d8f50e9fe84e9caf11c6d897f41c8dec91cff4ee36cb64edab359e9dc6ce2e11253da1cb8497bc66401dad7f72131c7fe68c817ddf194ff421e4288eb5655995563ff7295b900863d57d287b0ecb9c3dc92599e3347d16d63ffae1e95b23c0703c2e83159edf6fe84b518a5d639a4f5c6734edaceb199aa93e1397811ef029dcbe52e957f33f2c09f79144d7c06f2904d3bf27b282efdbe92873908fba397e18c395c046cc0849bac5cc33969d7e5f2ef567ceeba548dd7f39ce32fc038cb412ecfe9d82db6c0e226d00c3fb4b8a7a351a5fbca2832b849ed77788ed84af11379d98e1da86a3c18fb3fdb769b7d9daead598fe4610ebf0438ab2036a66c3bb75e12d123241c7a8ef7b1879b79715e279fbb92df0bae61c6e772633336cfd93618f779cb3caef6d93c67645c9969b2e56d2ef5cc0ae051362dc3fce4f09cc54d60e571a1aff6764c4ecc9c636a5c67e6681d928bb96e96af60b7242765e78c185164c2c20a86e6e1898cd6375f9b467c4ee57269cf09b1a42d9be96c1693e7f27d0887e71a9eb34f8de3724434796ed78ec5391cc8c74c5b0ebc36059c5b9cc628b679ce9e1940bd36cb735c86fc629b17ad5929ecc398c7e71025ce1d5bcf325c5421a606570e9739f32838bf15f6750fb3a36726df1afeab50f76a7bce1335b5388547c5bc3c04581c28222c840593af02790b93a3a41de8f09c937b25de73cb8f1c3b8fd80cef69ef049f4c8e53dbccdf8ff7945c9edb7478a56214173edbf5bde7001ac1d788ad2e3dbce7ccb374f2ad79db4dd27aba2f17738e9de3cb45ad1bfcf0cc7bcc7925ce1be5d85a6453c1a3c55781f94966ec0ea6bcc7b6e79cecabe5f34a9e9b94f673c5f6fc1628aa26b93cd7b6b8a354ae8afcd6d574ae0878edb990e00d95bfb238cb9a7f97999f774863ab98a3796d6e84f4c4267c9d3d07de397f8c22cd5b6ced59f69c930720567379cea8af6d35cf3dc8f4c3e1b90da757e30ccfdd67b82c67f3e749de577279cef65bd3b9b7c44df464fd3697f4493fe9a33c37d3f15bf385ce7a62d88f8615e6d873d725be427815cff96d2df23a537e38e23da6cde662ceb60f7f64e6c505ec28b8346d446ec9e63907ab561f183fe4d796e5b85d7a6be610a32b88cfa5398313b56713b59de68d3d305e64fcaec7333121c9af96f0339356560dae4bfc34d39e2b9789b0ecb9f27eab27f2e8f014fb9c16cfb9b195877c9e0bcd37b7da6cf31e8be7dc6cbe555ef2dc83cd6564cd1d1147cf5c216fe263c68493f9bc623612f9142f066f9c786b98b9089e73492894ba971773ceece42fac7c6bc95cadc573b963bbc34b9ef920786c1c67abaa22cfd97c159887697d3721f754e4393cb2ec46af9d305f29c0dcb5b68792586f9abff4320d5c383ee441e29b56fad69ff854b7b39ab49dda732539d3b2e7cef3de6b87973c2c0426dfb0556571cc716e7b82e79a165f79470998581cb5ce67a9ca730dab8dc2797df54b01e63a094f64e36dde6f02c907f5fb92157d5e6c2575137e34f2adaf9957720139b90bc76fcde484a83fd9785b259e7338cc6bd1d9795299d7a8cc73b7561b7e0b08e6397bb370fedc5e300ee6650d62466f79a8b8a289f18d57ea8526f65cd9d62c7bee22ef8b5b273eb7eb8eae3831b84667a52ad9733cea99e7c85eb39527d57da8ca734e1ee2366b27e0a2884e136fcf213627a4107367c118981f7327deb2b93ea3b79d6b6d131afbd2f85cc9595036cfe5f1a39b6fd579247517d0e21a9d4bafca734de71c1607e186fd0dace6daaa3ca7a2d7693b632b5b36219426b6dec7cbf1ababfa1488f5fba3584f5e4eec5a2d7e29c20c8d6487b23e18350d7baee437f98e3d27da7bc26bfe4aec0c76f026b5313df34a1e93f9235bc416296725b9d86af61cd77062678487a9980bcf2b99d8f3eabeeb79ead5790ef7ed6f64a9f777c4a12d7a73d6ad3cc72eeebd359eca4809cc75d03f4fe44f4fd91b1f278215eb861ecab973413f965a39d4fc68bda3697cae24e65c9ef36df024d8cfbf9e08bc40dfcab38a2dc9c556e539f12e79e7cae5e607aaf31cc7654a9c43e639ea9752df1afee9e52e8f756ac5d5923cab3d57c498537268e62cd4d18ecafecbfa16b68cf85ce9b547f025688f5a9c5d7a9ef0d8988d6bd671fc43e215b3debeb17fa9c479ccb97b95798ef717ae8f42e89fd3ecf492dff11f7839c2f10369b4cae44c61e4ceedc41bd8b2ca5c72066b8dc6bc7dec9bf1347b44b66276a5a39999b928be6d10e2b90cefb5cc33e3c4389659338e9ea93e66dd01f12d56ee7976ecd89df33d843b37fbd8386665897196c7a9e4417cd0ef218c2b58f172841127232bed30cb21bed9c41cc53bcce59e174260c6e6c3dfd5f10a1e49609d15fbef75a9ef2176325fd3fc20ab4b1e6b7bce7cac8e7dcfe6f3f1ab9527357dd5a32c16f029e1a6ec9a08a9afbbebe662bf8a6fd9be67cf43e79e8b1da7a5c2ba4c2b7e8e202611ab21f9befbbac89b794e185dc1cb6c7be4b3acf96b243c7a55e50af10b5c65e6d8a5f24d62db89cf6d8ad506f116ce0939c46770e7fff29438eb0e4710f2e167b01d5ef781fcd4291e93bdb8091db21bc70070e79bcfc2e74142cfc8df07f2b7ee704cfdf0f7615f7c718b47d4fe0c0506a7f3febab5e2fa73df8cfc6be15ff2154a45d1e89e7dc12e1c10a20af334342e1f54cba1951587e7d6dfe31c51a4545b67932cfcb273d856e77d65d5c4b1e7fecb57f49daf545f4f18ce3cebcc59f3e4b057cc581f4d2c9efb3ecfafdcfffbe575eba613dfadaa58b1c96dcb7812b2c53eba58f3e7e6f265cacf254994fb156b6cffbddf87c01659619bbcc666096bec230b790c29cfcdbd37957b7f1b9a1bf54ee79b605bcc3026ff7b884fc15253ff4c82f83b385ae025b1e77e8a95cac9537dd4cf148f0803019ff75dcedda7bbb52efa407f3d7122eed30f98fa675245cc6949e69ded64e35c1f51a08f6d9d8703a0ff6bf47b08ed7c6e62b2761073b774ccfbf646cca5c22b03ce7e8e5f01c12631db4b92d53f224ea9317b8adb74be06af36360dadb543e3ee4be4b9aa8220a2baf82c249d394c96df3eaf8ad8247c9a6b81006ee008c5bccb75f5053e582b324d6cfe34d6779af1d7a723dc4a66ac00b5b108e7380cc589517c952884bf06123c074311b9a636c4b70fd64a50740d47b84eef53c1db04f738c6276a690cad74bd46c2ce3936685ba7f6f5fcaa323c774ac7bcbf60103117161abd8e047a080153fdcee20f7a26e24edf132a1e04d7c84c83989706537af6e2c91fd3336b094b3bcd55c13d3dc9699a3d23dc3e0a1c93d5d3a2273862643cc240cdeedc127692380fb5ef99274f3d7a54fd78e49537c56a9a6dfebda60798d179fa12a9544eac43774c489ca2f82e312707c1f938d9c63db5a1381487b84d75c53b764af7635baf6020ed39be2f219e8310f746cc85c5e405badb6da103f38bcea0121bb465665d7872aebf4b8c933c0f40ae97cc04854769f513e2da3ac34a3ca34ac09d6431f20a037379457d3ece7599e7668a5d9b023bb28764a3b6d3160889399683b8428d4a14efceb6ea53bab2a5e895fc46a304cf718b5e8c47cc95131ecbf6388ed74e5732a7777906721d89470fe6c8e6d2775da09339418f4e13815562b7a9594bd86522064123aae0b87e78ee07f1a4e04048eb19ebe22d4aeb9d38746622826c84b66f25163ec69c9a9ffbc73d7d8d65ec3931c3c0bf3f62ae8c306371448a79cef8f681ac37f915ea3a3353c35979eb51e7f84539168dc16dc144b2969e1387fb0223e249499ecbff5d0818a4f612fbad49691a0fd9cee335eddae96a13c2560bc51e39da92fb8d188fad8a87cbf15c287a1331972fbc7afabde4288101c173e69a21642bb5d53aeb6c0d11f7b4d2df39c4b1b4e8041f12beee68ec92df729dca919af889ed3042e494acf47b14489ae9b857becd0f2de2448d6830ed3ee6e24bf9a6703bf41fa1f888da7e0afd2e19db0ea17b704a0c3911f6a8b01f794f097b2e2c117321c1167b09fcf536bde3438939e639e38b6ec154fa7fb27deea43f49a5e52a3a5bd25aa367ced8a3b148f2c4a2fcc2465873f42cd14597e4b982fedda74cc83c675a9fcc73b0adbcd912d11fb6e63c5fe4d01508bbe007db78e2ad929e45299e0b49c45c48c4334d474acef69c2b9e33ec7ab6d2adf71c26621c250e427e4ec2b34cd0c156d8808f4b5d708767652469cf15f58fb84dfb32c29e4b7a21ceca3c37947fcb5e6d766c657b33b100c5fb26cb94b3e7421231e717810ecbba9f04786e94c58688a7249ee391b2e3b46fda521ea9f47685e5e5fb6587923c67d973e6ac7969cf9d9a9e72416b23ee97b326077be3497e83af3df2dcbb094cf819682ff394b5a987e746ca9e33c625b6a75ea4b720d0435c90c6e59e9903d3b89df00492f9bf34864ba40ec379cca4ec84da51dfae727c2ec3733c86bfa4ab7d91b5300dfa98fb6caf6d2719dc0deaa988eebda416204764c6b2d7ca9e1be6d97310f855b388b990f00828be09ddc031fb93722685e00e234a4b969a8c9534e8dd5f17bf8e04d2a6532312790f633342c1f113834f84374825d6a9ddafb00d331561c6222f52fbd26a55b2a30ccfc9d8728bfde545dc00b16eec76deec059cb1cd3aa41a138ef08937e996e37e77e25de0b743c70f5b9263a5671c686f3fe621aa0bee894c02bdef7b34aaece9cc8fbd8616dd5995d1a2e313fe052f61bf19712ef1bcac1a5fed118cd8846a127300e156b10c79230d7745cdac48bb51b02e21d62a0d8f464e6e28fa457d1a17fdde35e1f252bc5d847cd01904eafdb6f88e82aeee2b217028475a7a0ff95706443fc3bf688c81bc47c4dccf2c345abef91783ef3fc721622e4add123117a56e89988b52b744cc45a95b22e6a2d42d117351ea9688b928754bc45c94ba25622e4add123117a56e89988b52b744cc45a95b22e6a2d42d117351ea9688b928754bc45c94ba25622e4add123117a56e89988b52b744cc45a95b7efdcffffcf2ff6d14cd7e</data>
     </image>
     <image name="image1">
-        <data format="PNG" length="3462">89504e470d0a1a0a0000000d49484452000000ad0000003008060000006357fade00000d4d49444154789ced5d5f681cc71dfe1d38201751cea50f9609450a4d402e84acaa3c9cda04afc84bcf72704ec983a5360f77968ba5f62572f222db41b9f841912fe05697a2546730951210921fe4b30aa63a178553c0ae4e454532382015b54841145908211dc2f0f5616ff6f6dfecceec9d1c39be79f96cedfcf9cdec6fbefde6b7337b04221a22a2b22100ac0000902d20f680b2b753c167164b76d0f4c3550080323805ba0250ef1817d511a0fbce0200e0bbee78059f5ef45570615d23d060220d024057c6a43108203a818a0357501ae50a00506f7833aa2caa23c0ead64e45425450088532624f63443f8c2a83f1e9858ae356d0133d332cacef4049959759dd50199caa48860abaa26b06ac03c127c0b0560c26d215c7ad2017b91716d677104cf860cc641a940268700a9402c237670100638b5a9441b49e60df58e98e0b60607008d1f39d88767416308ae8f94ef427fa0100ababab4f8f2401909e28ef84ded9da417f0288767422744245b423eabffe7db0cf09cbc3b07d9aa1d8826bca2ee189302e76b4f6ea1b15a05143a531c4fd7f4f6ffca960f69edeb86e7fd9ecddb08f47f7fbddbe26f2bed8e780f699b70769861549d1c9595f1ad70fe346cf779a6e44b8258281c12100c0f0c8189000d496b07e5d690c6136377bf01997d95f2e8780d96195c610a21d9d25316d59ede3a0ed0faa0cc316d02b8546b325695cf54656dca12c0c8b3dfe00e2a1665f7a32ed5a3fcb57aa839474ddcdbe551ff601089d506d4f20b77af010be26b6ac7d5ef90343441423a21411c500043e1a273ad44af4580ca34a8e52bf6a205e8afd3547d7e71a84ebe3e1f0a9356a7ff9582065b4d70173b9599c3df73bca539eaaa88a426a1325fb139ee54c08a0b5ad9d96bf59d6eb3162580d5357478cea5e7a21d07442457e3b4f55d55534733743a9402060ac2f339dc5c5cb1769737b9394fa7a6afecb17016667c3970dd474bf99f2db7953fd4a7d3d29af2874e1bd0be6fa12c0f12f1ba88aaae8eaa757a9f9f55f0492834348fd39a5970f1e3d429bdf3ea23ce569f17ece660f4366b753fff472009a4f9dd4eb33e6abaaaea21935436b1d6b5473ac705f04ecabaaaed2fb6b6c27f9798a266f4dd2f2b7cba67682478f50e6addbb4fbce2e1dfee10f0229b2cc3c3f6fb8dc92ac86f57a8326b48701768d166e8968f64c6785663c2b1f3aa16a1d29306df7fbdd3a2385de50811d006f14db0bb784edf69db65fef4f0cd8eddb00a2e73b4df55999cf91111d3429fb7f4f6f9c3f5ee068fe3d68fd32b4c7c66f3637ab8f839eff7489f65919ff74718d1139d3661eef02d3eb4c1b9b98c5f57ff960c41f6708e79a1d59b68b883e93646e378c5f6ea51a0e735899f2f8ab0d3606b132457d7d3d35ffb299dadb5acd8c04203797a386869fdb18fa78a3022323253f4f9191496e4f8c1799c762c7e2fd1cddbe759b2e7d7485f294a7607590ba3abaa8bdfded809bfd8c91928d21b076621d31eafaedd940aca31373737336a66e7ba78d4ebed91218191943fb3f5b29b619233a54450daf3450d7b998ce70c67622a72254f7e125ef7128977da74e52ec5c17b1eb61354cf5fd574cf7f7626f1c93b726294f790abd1aa2a63f7d16d034c45e69f158b617c196d6cbc7b4d2d10400fd89016045308ae0522f6398704bc4541e39e84ce1a4097b7ae376463a5db4677874cc930995c690be9a77b477c3a2e12dfd70ea2f6b1739d8fbe332aeacbfe196b0a93eb68895b50f0fcded47ceb499181dd3b0dd3f00d09816f25ad688a1cbad34e3c8b54457bf5ea6f7efd6958569356dbb4ced2fbf20a75189686d751535353594f96a869abf69a2d6bfd935ab5163757d7081e6eee768737b93cbd82cffa30470bda0e598b65dfe6699dacfc5f4f2f1cb3d74f2cd968095a9799a33339dc585f72ee88c1cfbfb5d0e93453137f740b7abeb1f5fdb986aeddb35a2c7447488a8aafa30253fb9eac8b4367b24c741da3e8127a21183d5419a9ab8ad79bc32583a23baa5fe99f231ae30d30a607a326d628ca14258cca6690babd9e1d1314786c12af80cce34216bd7a1bc97e664e58534a344ff6773b38efdb13224d3b4c67170626859fbaced8bc6cb03ab5b3b38f6c7c32533e0d85b6bd45a5fc3e15ba2f1076bf4f6ad1aa27ce98c8bcbad5c86326931a5c1339f71a647cfe4c8ca98d6f2cd2d6138adce8ddacbc644e773948a69f98c1acf49c3316c3dd306f624583c95a3d487629ad1cab432dadff8a4617f771c074e3969fbbc989e2c4fcac25a81500e064c4eb932ad9e0a6fcc4a6d6f781ec2ab62ec151812007b53c6a2082606380d60da45e3c1b26a76b8eea499f528838b7da6f8271c56cdab4526f3d48c124ccbd3b4c62750e80dd5ccc016fba435adcbfd624f36ddbec2fd626b063d7a10f51b356018bc4de83cc965585e0a7c9e21fa5fb3af76bb2fb7523d6746ee6eede06cd7599a7bf040582b29f5f5f4f1a58fa9eec53ab2c66783478f507e7bd751d3d998a117387ecbacd118e358198e17ff3462ddd13a1af8f42ad5bda469f8d40915cc0e27cd5877b48e22e99b6561da26d51c3f1619879b2d11b038ab937d4c9b5bed30ae0978e351f7621d8d7f3142a940205012d3460a9b61fca69ecc82cf3764f0661440db14c389136285b3e70005666671d38d427c16c5552dd3be26063530032bd79fe877b5333d9936e52f961bb0dbc5f21bec61f6b272d96989378786feb2fe38fedd60171b2f1645b096f3b2cff5cda3437bd1f3da2b654c9bc7997ced7bbd56dcb5556aca2e6d809272ed0713077f734b05f70fc95794c063379774f2a1755db55ae1a445f71d4045f13065e554f0f703c599b64f6c3757a949d41eb78ed572985b4995ced03b8509915dd900c0a9cf703dbbb251d689b2c39978acbdf8f402e2289c922e437b03f796104561d312808575737fd20f57a18e68d7359c421cfecffc2dac6f200e737d114b7d624c9b7c22feaaa75299d66f3921b4d607bb16dc97f8328a7b43944198b5f4161cfb9b5d4149fd1db867af3728d85f42e10927d1bf88cb6e40e3f87933ed1362586b2a8569fd96137a3459eab31ec68c8c66b976ab23008f2945188fdb0fce78c5515a7fe39c7a8d0eb4b307a823fcf1163af307a0f65a9a3b6ed6f29e4cbb1f89ed55482fbae73b884cebc5a05efb9115d67fd9f65dfa915d7166daf8b48f760c189f966070f07709baee197129579b742e476e1e1ef2e79342c978a6ac1fc086c3e22e0267bbbcb4e977c9b422df850826e4b56e7c7a419a69b98e22335164ea85fb97866a9345cddd7d6701bcb5075d71ff1291ab26e1450922370b33b0af90ff860fa7756ab720f6f5c4d16a91511c58a6751b4fa9377b4e0ec4e907b84c5bda7724e2d3ce71747868651e438b6050a07edb0c6618b6bc38e8ce2c80aef1679eb4d3f266a44543476edacf96d91cc5ea58df29d3f235ad134627c4cea6f961da27a16979985dd9903e6ba8a4c434bfeb6a5777b0e494eb0cf1d2a68e4eeb529fad7dc955f141d2b40a80b4f18c19344737ee5f8e8c0a9ca870e9c781d0b40e2873aabb16108ea37399a9e8b07ccdbb2f4c6bd1d4d67cc13e6fc73b489a96c71c3b7b66cdeeb5caeebef314685ac1f24e587b4d7c833f818822a3f6190500247866cc97d30ad4eb37de795034add0296287fab0657074004ef15213a31d304dcbec963d7328fa49acd24f2e3c3f4378b7896493df5d5ed9df3ca2a69ffcc8f5e4c2d92b00affceaef77a9a670aa53e6e403c340ef188cf5c55f5ba48bafff4cafaff9461677ffdb44f4789cd49fb6527bbbd899b6239f8cd3e663f17118ea31ef6f75ba7fc267ea38f80040c2a15eb7fdccbb7bc0e1e788fcfa53f0d0383dfac07dbfb4eec1b52530df93625aa1dd5d44ee4c2b3093cba56945edf5c34cc6f20b9cb37852ed3b606dd2d91eae865d01dcfc4819d4ee7d7c5a0b67f1ea777ce218ef2ffbc7f0fcaa90f6f08a32083bad643b325acaab9e283cf60eb84d08094dab8ec87f4043e48bea4eda9c176ff72b11a213ce5f04728c76408babba45057871e9817b4bdc284330010cdc5bb29523f380fbfb128c74f2f13d0455c2c1fc3c31dc667cda70b2a0ec9ad6d161bcc74786a9551647f7589db3dd713c0674d49c2ef9459f6cd8021497fe32fbcd9a96fc7f6186691c9924fb3d8460752b2d76886b51374deb179986f4d2b4c6ef47086b5a071c995fc2af6ff14f319b34ade1fed5fde136fd7bfb24b79cfafc0c1d79b78994af16895e3b4ef4d52265fe739c36b73334e7b2c6509fcf50e6dd665d6beeee01979e2372d2bca2dad48a3300ae0bd4e7b99a15c19ecc8214d18a4625184abd39a24278a84c4c6b5d855be3b06e4cdb7d47ce6e278de8c440cae0946bbdc3f385712ed39386b7d780cf8c0271671ec25ddb038063c1282435679f76024124c97e3d51f48d9115adfb5efd226f60bdae97f53724ac7649941b9e5f32ed4fe5695f65700aea88f6a243df8febe278c3f3da3eda609f565ebd91450465dac70b4dcbaa23c5dff8a8bd96d67f9b83ab6ddc34060fb34bee0e2bfbfd03bf9ab082df6f74652a3fbfb5c03beca88cc8bd93177ab559c16712bd33fa60dc52d1af24a8e0b381621951d42e7ee2aba2184c681aec200c4c050f2e8a172868ccfd625815e0be01a960058d285d20bbb2e17a2648164b0a8f54f09944ff15408b43d6fa605676f6a7c2ac15f483e5a908c0f0bc16d78b8c666de7e023286e92a8fc066e054bc5ff032cfa164c4d8a1ec30000000049454e44ae426082</data>
+        <data format="PNG" length="4827">89504e470d0a1a0a0000000d49484452000000ad0000003008060000006357fade000012a249444154789ced5d7f6c1357b6fe06a16a82523446148da36e95414dc584b7153650d58916e161b75a0c415bd33e294efa2a9240d512e989bae8e909684509aad4e0a22725455d48107a8923ed82fb04c43c81b0abac6cafa0b1ab3ec1a080e2885dd9165dc5561a2556feb9ef8fc94c3cf68c7fc5a174ebef9fc4f3f3de3b67cef9ceb9e79ea12ea0b2b0cdcc91682aadda66620d703f475115be5515bf5050cb115ac70221bea938fc5371f8a2294412c9bcc75beb0d301b1958eb8d48bc525715e22aca4259426b79324d5c7f8dc2234691a5548b064303769e83f3750ea10debaa025c45d12849682d4fa649f78d08fc53f9356aa9b0d61b30fca605deb56baac25b45411425b48e05424e7c13862b145dd1c69cb2f230eed85c15dc2af2a2a0d05a9e4c93f6af2305f96aa560620d186dad6add2af49157682d4fa649f3455fd9bcb55c303410382054b96e159ad015dab205763d0dacae517eda5e60d0b1c9080008259270fd452cea3295105c5b2c463cd7bc087f1bccd9c76fe2c137f0306f33c35bf7f38864d8623112fe360ce38b4644cc5b2bd266c7cc1ce93fdf0ff18108f161147c03077b8b1d897d7b4bbefe4ab44f0babb536962cb034d0fb1b33dafe8585f1f91addc38c345db4d0a6d240f3451f024fa649a982eb989923a7cfbab06bdf1edd63429188f2bffde42972ec8813ee679c92f49f1f80e79a070030141e2795108c6e67b76a2c42910868c600f333d23e2de4685ac702217567af94a4612fbfdd84fdbc31ef319d37c218bc5bba23c7d040ecc8fe92262782073b48e683605923f6b7d8c1f33ce27f8b229e88c3ebf72391882bc70cfdf1c28a6a874ac0168b119fdf07e3af384477342fbbaddc5880747fd8adda663199d0e7ea2beb05ae74fbf49023b4c3976e9392425aeb69900ff4351a0098dd41441ec5f31e930fd67a03dadedd55d420081393648f63ffd2b95601e65e97e6b9c2c42409de0d82799ec96b0e858949c2b2ecb234b12d1623f9688869199ac9168b9178225ed24b274c4c92b6439d48cda654db3b5a1d30388fea8e97ef958d65097329edb3c56204802e6d53096dface24e9be112ea9411ddb390cecd63726e56ad86c0cbd6946fad5c203660a8f93f6435dcaef7c42ab076e2c40facff5437ca84d65ac56011f1d3c0cdf2b1ba9819d56929a4d81a965d0f3694f8e86e1c602e4f8c7c7919a4d816fe0611b7153723b0746dc88dc0de7080edfc0c3b2cd84b6d636d5834bba7ac9e0881b00d0f7451fa23b9aa9f4571748fff97ee55c96352a16e4d81127d26ded9a7d97dbad85de8f4f21b16f2fc55ebd4e5c7ffc5265916430b50c04ab80c3073b953616d33ea69651fa2bb7cf3133470647dcb872cd93732fd94a76b43a14a5a1705a99165412c168b222020b00dd37c2882d105288261859354df1fb7d10f7da88cd6a85797b13985abae01b2f9b4ca696c1b10f9d68dcd488e46c1203236ef8fd3ef8fd3e44ee86717b668e0c2cf2e6d46c0a3d9f9f465bd6b57a3e3fad3ca4e48f8b7f5dbdaa178b658de08c2c00407c1885f85084f850c4e0881bbd57af13d90ac8020100a2288206729ccccc872e3e8a82d3e9e3e1839d387dd695b3dd6a1520ec14e00670f4d3134afb9c873e80f145696ce571f05cf3207837a4f4b998f665be28e2a3283a2726c9ae7d7b94ed2c6b44d3760b985a1aa16f23101f8ae83fdf8fe191610c2f6a7a4568bbff375c56686bf06f290ce8ec1b7850b9c988541a70fdf53ef23367c9a4f45ebd4ee40107a4073938e25e1ad46d26c2d432e01b38083b05085641a5d146dd57909c4d2262de4a25bef123b1b8dd0cc0bfcd440069f0c54722da5adb206b924422aea201c2c42471655015e7a10f80431f10d762db985a06870f76aab46113007a7888c80275f4d313e81b0b90523822dfc0a3a3d581c4bebd143d3c4482df45904e4994cfbcad49d15ac732ee0300f6163bb84f4e50ee5e57ee385cf72ae3703c16237ebf4fe973a9d4466e9fb05340b7b35b1158c52a5ef702006c00f893a788e79a47520abd3d6802b00a90b4ac472c53c01249dcff615e7397731b5fde3575e00a89702c1052b049fbf652b7af8ea2a3d501be41bb0da9d914429108e42843faab0bca757daf6ca4321f82293c4ee8e12132bcd79673ef8e5607985a46f9edb9e655fe1f181956fe67592312fbf652ae3f7ea96ccb165819e9b676cade62577e5f59f4c88bc1e18387611b7153b2763e7dd605bfdf87502482502482fef3fd8a87cff3eab1b1b7d854bff5c6a12dc34a948accf625120955e422f1f738b8b1003185c789293c4eb8b100111f2c51b45024025b2c465603c0e077e527be0040fbad08c28ea69ced8d2fd4a0f777661cbd551a4fd6432a0d788ad4dedeba3aca00e96db561c91948cda6218a227cdff8549cb5ff7c3f4617cd0f7bf53af1fec5bfc437f33c24f7da35943d83cb0d8f0ce3f6cc1c492412683bd4a91ce73cf40112d7bd2af36d6fb1c39d734509825550842b72375c74088a7eaf4bf512d85bec88ff7d69cc68c620599622ae55ca38148bccf62567d50ebff85044763423134c2d03a6969138ed406479663c5f64e0238bc4aa2a25b8ae501487cb382fd3fcd39004b9238b4678fd3ec44f9e5299ef63479c10ac02985a069e6b1e4d1ed8d6daa6508fd46c0a5b8566d57e59cb669f273ed28f59cfa7961e285dab1ffb2e04ee93135436aff5f6e6f6211bc1831d2494c1697b3f74c2bccd9c771c960b7b8b1df6165b5e9fc3bd760d56d966e64825f20aae88f905f7f2db4d92b42c13914412b699b9bc1441989824a6f0387114384e762c64cccf2615edc6d432b87d7514e9b676ca5b5747b9d7aea1d26ded14cbe6b26a6f5d9dca9c67637fc63e8bc9a4fc3f30a2a767d54e4dd3764bbe6e541cdc5840897333b50c46dd9791d8b75719877c7d2d05fccb6a7a2258055d8195c36000b0caf320a1754c69584f179c5cd8cf1b117bdf868eed7afe6cf1f04de9b7598ed3b61feac256a119e1a34e420f0f29422c4c4c126e2c40a2274fe578f0e6ed4b144776b464d86231123eea245ae11f40e2a75a606a1974b43a968e7b7fc94ef8fd3e848f3a893031a93c106e2c40bcad0e225317d9597b9ac8d4f20072c6a1fdbde5d30440a256996373fce3e360af5e57c6c2313347d25f5d20033bad64d7be3d90c7697578b95a763d8dd83b4251871a9fafc1c06e333a377168be1501cabc772491849e8bc7b22cf8065ee1ab72882a1ff8061e674ef6e49cdb7ea80bec5e1b49cfcec395674a1858d4b68b9e6e26da5adb54931211f356aa6f2c407a3e3f8d4422bed4bec5a80432381dcb1a31f0459f426d32639cda7d370288e8eecfe97796a633d41a0000c24e01cc172ea4665348cda68a1e87cc18b116321d56e59ecea354c7a24f909a4d4961b6c5b17065d02cbe8107cb4a6141ca5aea0c58066cbfe670e1b77cde7c837cf8c87fbfe85c844c143343c68d0548f86e10e20351e5a1cae01b78f09b78584c2615df74cccc11cf350f7cdf2c093acd18d0b4c5049ee711ba2b9b4d5a72a4320452ce79901d1f7e13af3bbb04488e4e281251394af279e6ed4d391315ecd5ebc473cd039a31e0cc895370af5d43091393a4a7b70700d0f64e67c9d3a7dc588088a208a696564532e4807f669cd5f82207fe652e671ce4f332db77fc8813deba3a55fbf225e2e82537195fe420580555bf289cbc5c308494835a1a97779b0b528262108c26d17c2308fca3f8f005430367fee3ad673a4fa08a95c3aa524fb0fd9a43eca0501181058026ce80d83b024c2f177fbd42e139c70221e93b9344bc394e862fdd26e2cd7192be33498a89f156f1ec43333551133470b9a570365739303e5f83b0a3a96cba908dc673a398ca906c89fe443110292f5c9609c70251a22d0c0dcd7cdfec65f4e24b954b6677e84c65f38fa7896f6a894f9a584345563ca7ef4c92702289683205816361df6454f5999d88115748fdcc048e45e716aeacd5279627d3c4f3200e5f74c9d936d4d0e8fbbd49b95e7142bb9ec6bdb70534be507ebcb0189cb13682a56b961dd39dd251c59508ed355ff4a9ae732f2bdf979d8891bab359a1fb939789d3c2817fa3fcd447dbcc1c693ce745d7675760faea3639fcde12a7b7cdcce5de1340e0f13459ce0b939d40e59f4ac215127126e398c1efa2390b5dfd53499cf08b70de1c27c5f6d9b14048fbff04d1754edb6976bebee43416a6073410d8ddb4e2022be3230b87dedf959382fc74902df89e076a6f79f03bed891a57288ae14bb7cba6289e0709851665b721bb388a8c4ccd5b0e92e9dce9f9545ad286f2efa13f34c15a6fd03cdf158aa2ffabdba4505cddf2649a349e1b854727d6efb4702a6b5550682fb734a189d36e54b9b8ffc33ccceea0ee84c4b32eb8f9909cd727dcfea9249a2ffa540fbde8eb6a08d04f85cc77c4fd1c45b5bdbb8beadb6d06a33179144924d178ce0bfafb49cd3ea7ef4c92e68b3e4deb58cfd0081c10722cd4ea7a86d635a7a6978d2bc2611b5fa841e4511c6f3d8a03eb69f49a1a7396ea7c64e1e04f24e1fdbf5ccd65622bfb123d4d441292e08e2ed3743f6ba05fdb480574566ea7d240fbd761d4ffd775d269e216b7a571458c634a277fdb69e1706aa75973c5ca6a8ea9d1165a1a186d31e56c1e8844e1994ac2fb430a48258134807a23c8bfe526cce4c57a5a0a73fd238da3b7c2387a4bbacebddd26858a5cf82d8fba681c9855b78f3354603ef82784bcfe6de8fb49524c62fbcf05a10deba8c300e263f7c8097fae433d954a436b7b26181a186d1520beb48ed29be45e2570ace60e5b03a7d67cfefba0be1845d7b5b0a4fd128b020bc0f9abdc998e8258adc191a7e2d87cd1abd006e3f335b071b99adec49671bf6710ed5f8711bc3afe4f178633eed84c050e089a74211f4cac01b123fb0b465b56e999da635b24351eff711ed497a352286a569b46582a69aed3c05b7f0ee2cc62351bbb06c917ea2b4f59560a26d680ebad4d98fbcffdb8f0c95bd4bdf7059cb2f2ca031d8c44e1fd53e09f2e862cbeb4ae24c195f96b310b5857e9c5f29a3803e23fcea3eebf7d0567ab5682f71ebd1586d91d4457d6721d86ae6cdc73a511382020f14a1d253f8cd086759471c7662a76643fec8be3e611e3051db454fa29574ca91056a2d0cb2a00cae065a2f3461875e70b0b2cd6af1cbf8c3c8ae724d5d8f9e567893d2d58ebf5ebf2ba9fa328dbbf3653cec57ce3482289cde77c106f8eab4244f2ecde4ad751ab34f8c752ed8c6231954a171d595905a803b73206ef4675e9800ab54fd793efdcb23ca12d14337cdae0dfd84a0dbdb9142e7285a2a83beb45d7c9cba4ebe465b2e6b32b28758574a5508e76772c1022de1c2fab3a911c5949dfd10e8fc9580548e6b6be54d6bc888e179e9e276fad372c9b1a54247fb8c248bfbab12cc74586de799953a1e5402f8eaef70cf8c7d224819e5530b1069cb2f23865e5e1b470d092b9545a5a793d7c497f5242995ce8b13616d18d5c24cae52c654ca9f658734370a5a2fb86e4b1f38fa7493941fe954268c33a2a76647f5931e8d0066da5e39f4a223e76afac3e06af8e13ad50688729d7d2656a57ad734cac018103020ebfb78b32eed84c19776ca6f837b652c7ff7dafeea4847f4a9a94d0d2ba4aee41fad58d65e5d67a7fd04f4ad643305abac05642cbca188c443128af8b2b909a69ad37c069e19f4ab97df77314751892c00c96b86e6fb4b5095a26f9845f84f5d26dd269e260dfc4e5f5ce1d0b84781e4471dc7f1f531af737b106f4fddeac5a8c296b57bd092a39e7422f3a4bbfb691ba3f3347f68c84342725ba6f8461bd749b6416dd5625ccf4ed3661b34ec2822e1249c47f9c2f2911bcd47a080c0da952f8bba535ad12f04f25e19f0aa2d88ae99c815976a5f4a67d5b29e1fb49d2fe75f15c36b4611d1578324df68c04730448ea4312802400861a5a15ebf645a5bc86aecff48bb558eb0d186d5d0a49c985b6bb749c2d8606fa76175715c8bb764dde9755d6ba7d8b933139b5bcca298de4fc0d8f3325d00bea8bd1e29cbc45145b1249867873bca2de766685f2ec5a67810382ca02b01331b27744cabe5f6e6617ff58fa5c40b60632b1066466796583fe5e8a365422abcdce1be17c9dcfb172de3f05885e828bb5de80bedda6b2cab4b21331d2fe7550d7891b7ad3ac5d9fb664f3440381b785a2126b4aadedd561e2d0b4aff4079f99f7ba1c685112feb1c4853986d6cc19752c10924acf57ac9a79b9f9b9b69939e29b4a209a9a579cb2686a5e977732b494bb6a6219985803847aa32e9da0bf9f240311e9c548a5254135d4d0e8d8c22d9b4a39160819fc2e8a2b8b0564fc5349d4333438a606c36f5ab485d6b1404876de6841aca711d89d3f23ec4c285a52ae6c29d512abf8e540b7127859820b6939ceb12d9c4a7883d124ba436249e53eedbc11437f68aa7e34af8a1c14fc5048399eec72512e25a8e29781a23ec994be33498efbcbabaa580a4af138abf8e5a2a8d5b8f46b1ba9fbefdb7497555402d67a03eebf6fab0a6c150551f26746f9c7d3e4b8bf725f6db4d61bd06335fdac32b7aaf86951f6079d2d4fa617c31271ddd9103dd43352ed2fe7eb7cf5237755948c657d855c46663c309248e52cee93637f1c5303a19ead0a6a15cbc2ff03992797031920badc0000000049454e44ae426082</data>
     </image>
 </images>
 <connections>
diff --git a/src/configurationpanelui.cpp b/src/configurationpanelui.cpp
index eb21349c3d4578bc7698b477aeaaa71befdfdaef..56b43f30a12126971b8df300f2b5ea4334706be1 100644
--- a/src/configurationpanelui.cpp
+++ b/src/configurationpanelui.cpp
@@ -1,7 +1,7 @@
 /****************************************************************************
 ** Form implementation generated from reading ui file 'configurationpanel.ui'
 **
-** Created: Tue Apr 12 09:35:08 2005
+** Created: Wed Apr 20 14:48:03 2005
 **      by: The User Interface Compiler ($Id$)
 **
 ** WARNING! All changes made in this file will be lost!
@@ -322,293 +322,407 @@ static const char* const image0_data[] = {
 static const unsigned char image1_data[] = { 
     0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
     0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00, 0x30,
-    0x08, 0x06, 0x00, 0x00, 0x00, 0x63, 0x57, 0xfa, 0xde, 0x00, 0x00, 0x0d,
-    0x4d, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0x5d, 0x5f, 0x68, 0x1c,
-    0xc7, 0x1d, 0xfe, 0x1d, 0x38, 0x20, 0x17, 0x51, 0xce, 0xa5, 0x0f, 0x96,
-    0x09, 0x45, 0x0a, 0x4d, 0x40, 0x2e, 0x84, 0xac, 0xaa, 0x3c, 0x9c, 0xda,
-    0x04, 0xaf, 0xc8, 0x4b, 0xcf, 0x72, 0x70, 0x4e, 0xc9, 0x83, 0xa5, 0x36,
-    0x0f, 0x77, 0x96, 0x8b, 0xa5, 0xf6, 0x25, 0x72, 0xf2, 0x22, 0xdb, 0x41,
-    0xb9, 0xf8, 0x41, 0x91, 0x2f, 0xe0, 0x56, 0x97, 0xa2, 0x54, 0x67, 0x30,
-    0x95, 0x12, 0x10, 0x92, 0x1f, 0xe4, 0xb3, 0x0a, 0xa6, 0x3a, 0x17, 0x85,
-    0x53, 0xc0, 0xae, 0x4e, 0x45, 0x45, 0x32, 0x38, 0x20, 0x15, 0xb5, 0x48,
-    0x41, 0x14, 0x59, 0x08, 0x21, 0x1d, 0xc2, 0xf0, 0xf5, 0x61, 0x6f, 0xf6,
-    0xf6, 0xdf, 0xec, 0xce, 0xec, 0x9d, 0x1c, 0x39, 0xbe, 0x79, 0xf9, 0x6c,
-    0xed, 0xfc, 0xf9, 0xcd, 0xec, 0x6f, 0xbe, 0xfd, 0xe6, 0xb7, 0x33, 0x7b,
-    0x04, 0x22, 0x1a, 0x22, 0xa2, 0xb2, 0x21, 0x00, 0xac, 0x00, 0x00, 0x90,
-    0x2d, 0x20, 0xf6, 0x80, 0xb2, 0xb7, 0x53, 0xc1, 0x67, 0x16, 0x4b, 0x76,
-    0xd0, 0xf4, 0xc3, 0x55, 0x00, 0x80, 0x32, 0x38, 0x05, 0xba, 0x02, 0x50,
-    0xef, 0x18, 0x17, 0xd5, 0x11, 0xa0, 0xfb, 0xce, 0x02, 0x00, 0xe0, 0xbb,
-    0xee, 0x78, 0x05, 0x9f, 0x5e, 0xf4, 0x55, 0x70, 0x61, 0x5d, 0x23, 0xd0,
-    0x60, 0x22, 0x0d, 0x02, 0x40, 0x57, 0xc6, 0xa4, 0x31, 0x08, 0x20, 0x3a,
-    0x81, 0x8a, 0x03, 0x57, 0x50, 0x1a, 0xe5, 0x0a, 0x00, 0x50, 0x6f, 0x78,
-    0x33, 0xaa, 0x2c, 0xaa, 0x23, 0xc0, 0xea, 0xd6, 0x4e, 0x45, 0x42, 0x54,
-    0x50, 0x08, 0x85, 0x32, 0x62, 0x4f, 0x63, 0x44, 0x3f, 0x8c, 0x2a, 0x83,
-    0xf1, 0xe9, 0x85, 0x8a, 0xe3, 0x56, 0xd0, 0x13, 0x3d, 0x33, 0x2c, 0xac,
-    0xef, 0x40, 0x49, 0x95, 0x97, 0x59, 0xdd, 0x50, 0x19, 0x9c, 0xaa, 0x48,
-    0x86, 0x0a, 0xba, 0xa2, 0x6b, 0x06, 0xac, 0x03, 0xc1, 0x27, 0xc0, 0xb0,
-    0x56, 0x0c, 0x26, 0xd2, 0x15, 0xc7, 0xad, 0x20, 0x17, 0xb9, 0x17, 0x16,
-    0xd6, 0x77, 0x10, 0x4c, 0xf8, 0x60, 0xcc, 0x64, 0x1a, 0x94, 0x02, 0x68,
-    0x70, 0x0a, 0x94, 0x02, 0xc2, 0x37, 0x67, 0x01, 0x00, 0x63, 0x8b, 0x5a,
-    0x94, 0x41, 0xb4, 0x9e, 0x60, 0xdf, 0x58, 0xe9, 0x8e, 0x0b, 0x60, 0x60,
-    0x70, 0x08, 0xd1, 0xf3, 0x9d, 0x88, 0x76, 0x74, 0x16, 0x30, 0x8a, 0xe8,
-    0xf9, 0x4e, 0xf4, 0x27, 0xfa, 0x01, 0x00, 0xab, 0xab, 0xab, 0x4f, 0x8f,
-    0x24, 0x01, 0x90, 0x9e, 0x28, 0xef, 0x84, 0xde, 0xd9, 0xda, 0x41, 0x7f,
-    0x02, 0x88, 0x76, 0x74, 0x22, 0x74, 0x42, 0x45, 0xb4, 0x23, 0xea, 0xbf,
-    0xfe, 0x7d, 0xb0, 0xcf, 0x09, 0xcb, 0xc3, 0xb0, 0x7d, 0x9a, 0xa1, 0xd8,
-    0x82, 0x6b, 0xca, 0x2e, 0xe1, 0x89, 0x30, 0x2e, 0x76, 0xb4, 0xf6, 0xea,
-    0x1b, 0x15, 0xa0, 0x51, 0x43, 0xa5, 0x31, 0xc4, 0xfd, 0x7f, 0x4f, 0x6f,
-    0xfc, 0xa9, 0x60, 0xf6, 0x9e, 0xde, 0xb8, 0x6e, 0x7f, 0xd9, 0xec, 0xdd,
-    0xb0, 0x8f, 0x47, 0xf7, 0xfb, 0xdd, 0xbe, 0x26, 0xf2, 0xbe, 0xd8, 0xe7,
-    0x80, 0xf6, 0x99, 0xb7, 0x07, 0x69, 0x86, 0x15, 0x49, 0xd1, 0xc9, 0x59,
-    0x5f, 0x1a, 0xd7, 0x0f, 0xe3, 0x46, 0xcf, 0x77, 0x9a, 0x6e, 0x44, 0xb8,
-    0x25, 0x82, 0x81, 0xc1, 0x21, 0x00, 0xc0, 0xf0, 0xc8, 0x18, 0x90, 0x00,
-    0xd4, 0x96, 0xb0, 0x7e, 0x5d, 0x69, 0x0c, 0x61, 0x36, 0x37, 0x7b, 0xf0,
-    0x19, 0x97, 0xd9, 0x5f, 0x2e, 0x87, 0x80, 0xd9, 0x61, 0x95, 0xc6, 0x10,
-    0xa2, 0x1d, 0x9d, 0x25, 0x31, 0x6d, 0x59, 0xed, 0xe3, 0xa0, 0xed, 0x0f,
-    0xaa, 0x0c, 0xc3, 0x16, 0xd0, 0x2b, 0x85, 0x46, 0xb3, 0x25, 0x69, 0x5c,
-    0xf5, 0x46, 0x56, 0xdc, 0xa1, 0x2c, 0x0c, 0x8b, 0x3d, 0xfe, 0x00, 0xe2,
-    0xa1, 0x66, 0x5f, 0x7a, 0x32, 0xed, 0x5a, 0x3f, 0xcb, 0x57, 0xaa, 0x83,
-    0x94, 0x74, 0xdd, 0xcd, 0xbe, 0x55, 0x1f, 0xf6, 0x01, 0x08, 0x9d, 0x50,
-    0x6d, 0x4f, 0x20, 0xb7, 0x7a, 0xf0, 0x10, 0xbe, 0x26, 0xb6, 0xac, 0x7d,
-    0x5e, 0xf9, 0x03, 0x43, 0x44, 0x14, 0x23, 0xa2, 0x14, 0x11, 0xc5, 0x00,
-    0x04, 0x3e, 0x1a, 0x27, 0x3a, 0xd4, 0x4a, 0xf4, 0x58, 0x0c, 0xa3, 0x4a,
-    0x8e, 0x52, 0xbf, 0x6a, 0x20, 0x5e, 0x8a, 0xfd, 0x35, 0x47, 0xd7, 0xe7,
-    0x1a, 0x84, 0xeb, 0xe3, 0xe1, 0xf0, 0xa9, 0x35, 0x6a, 0x7f, 0xf9, 0x58,
-    0x20, 0x65, 0xb4, 0xd7, 0x01, 0x73, 0xb9, 0x59, 0x9c, 0x3d, 0xf7, 0x3b,
-    0xca, 0x53, 0x9e, 0xaa, 0xa8, 0x8a, 0x42, 0x6a, 0x13, 0x25, 0xfb, 0x13,
-    0x9e, 0xe5, 0x4c, 0x08, 0xa0, 0xb5, 0xad, 0x9d, 0x96, 0xbf, 0x59, 0xd6,
-    0xeb, 0x31, 0x62, 0x58, 0x0d, 0x53, 0x57, 0x47, 0x8c, 0xea, 0x5e, 0x7a,
-    0x21, 0xd0, 0x74, 0x42, 0x45, 0x7e, 0x3b, 0x4f, 0x55, 0xd5, 0x55, 0x34,
-    0x73, 0x37, 0x43, 0xa9, 0x40, 0x20, 0x60, 0xac, 0x2f, 0x33, 0x9d, 0xc5,
-    0xc5, 0xcb, 0x17, 0x69, 0x73, 0x7b, 0x93, 0x94, 0xfa, 0x7a, 0x6a, 0xfe,
-    0xcb, 0x17, 0x01, 0x66, 0x67, 0xc3, 0x97, 0x0d, 0xd4, 0x74, 0xbf, 0x99,
-    0xf2, 0xdb, 0x79, 0x53, 0xfd, 0x4a, 0x7d, 0x3d, 0x29, 0xaf, 0x28, 0x74,
-    0xe1, 0xbd, 0x0b, 0xe6, 0xfa, 0x12, 0xc0, 0xf1, 0x2f, 0x1b, 0xa8, 0x8a,
-    0xaa, 0xe8, 0xea, 0xa7, 0x57, 0xa9, 0xf9, 0xf5, 0x5f, 0x04, 0x92, 0x83,
-    0x43, 0x48, 0xfd, 0x39, 0xa5, 0x97, 0x0f, 0x1e, 0x3d, 0x42, 0x9b, 0xdf,
-    0x3e, 0xa2, 0x3c, 0xe5, 0x69, 0xf1, 0x7e, 0xce, 0x66, 0x0f, 0x43, 0x66,
-    0xb7, 0x53, 0xff, 0xf4, 0x72, 0x00, 0x9a, 0x4f, 0x9d, 0xd4, 0xeb, 0x33,
-    0xe6, 0xab, 0xaa, 0xae, 0xa2, 0x19, 0x35, 0x43, 0x6b, 0x1d, 0x6b, 0x54,
-    0x73, 0xac, 0x70, 0x5f, 0x04, 0xec, 0xab, 0xaa, 0xae, 0xd2, 0xfb, 0x6b,
-    0x6c, 0x27, 0xf9, 0x79, 0x8a, 0x26, 0x6f, 0x4d, 0xd2, 0xf2, 0xb7, 0xcb,
-    0xa6, 0x76, 0x82, 0x47, 0x8f, 0x50, 0xe6, 0xad, 0xdb, 0xb4, 0xfb, 0xce,
-    0x2e, 0x1d, 0xfe, 0xe1, 0x0f, 0x02, 0x29, 0xb2, 0xcc, 0x3c, 0x3f, 0x6f,
-    0xb8, 0xdc, 0x92, 0xac, 0x86, 0xf5, 0x7a, 0x83, 0x26, 0xb4, 0x87, 0x01,
-    0x76, 0x8d, 0x16, 0x6e, 0x89, 0x68, 0xf6, 0x4c, 0x67, 0x85, 0x66, 0x3c,
-    0x2b, 0x1f, 0x3a, 0xa1, 0x6a, 0x1d, 0x29, 0x30, 0x6d, 0xf7, 0xfb, 0xdd,
-    0x3a, 0x23, 0x85, 0xde, 0x50, 0x81, 0x1d, 0x00, 0x6f, 0x14, 0xdb, 0x0b,
-    0xb7, 0x84, 0xed, 0xf6, 0x9d, 0xb6, 0x5f, 0xef, 0x4f, 0x0c, 0xd8, 0xed,
-    0xdb, 0x00, 0xa2, 0xe7, 0x3b, 0x4d, 0xf5, 0x59, 0x99, 0xcf, 0x91, 0x11,
-    0x1d, 0x34, 0x29, 0xfb, 0x7f, 0x4f, 0x6f, 0x9c, 0x3f, 0x5e, 0xe0, 0x68,
-    0xfe, 0x3d, 0x68, 0xfd, 0x32, 0xb4, 0xc7, 0xc6, 0x6f, 0x36, 0x37, 0xab,
-    0x8f, 0x83, 0x9e, 0xff, 0x74, 0x89, 0xf6, 0x59, 0x19, 0xff, 0x74, 0x71,
-    0x8d, 0x11, 0x39, 0xd3, 0x66, 0x1e, 0xef, 0x02, 0xd3, 0xeb, 0x4c, 0x1b,
-    0x9b, 0x98, 0xc5, 0xf5, 0x7f, 0xf9, 0x60, 0xc4, 0x1f, 0x67, 0x08, 0xe7,
-    0x9a, 0x1d, 0x59, 0xb6, 0x8b, 0x88, 0x3e, 0x93, 0x64, 0x6e, 0x37, 0x8c,
-    0x5f, 0x6e, 0xa5, 0x1a, 0x0e, 0x73, 0x58, 0x99, 0xf2, 0xf8, 0xab, 0x0d,
-    0x36, 0x06, 0xb1, 0x32, 0x45, 0x7d, 0x7d, 0x3d, 0x35, 0xff, 0xb2, 0x99,
-    0xda, 0xdb, 0x5a, 0xcd, 0x8c, 0x04, 0x20, 0x37, 0x97, 0xa3, 0x86, 0x86,
-    0x9f, 0xdb, 0x18, 0xfa, 0x78, 0xa3, 0x02, 0x23, 0x23, 0x25, 0x3f, 0x4f,
-    0x91, 0x91, 0x49, 0x6e, 0x4f, 0x8c, 0x17, 0x99, 0xc7, 0x62, 0xc7, 0xe2,
-    0xfd, 0x1c, 0xdd, 0xbe, 0x75, 0x9b, 0x2e, 0x7d, 0x74, 0x85, 0xf2, 0x94,
-    0xa7, 0x60, 0x75, 0x90, 0xba, 0x3a, 0xba, 0xa8, 0xbd, 0xfd, 0xed, 0x80,
-    0x9b, 0xfd, 0x8c, 0x91, 0x92, 0x8d, 0x21, 0xb0, 0x76, 0x62, 0x1d, 0x31,
-    0xea, 0xfa, 0xed, 0xd9, 0x40, 0xac, 0xa3, 0x13, 0x73, 0x73, 0x73, 0x36,
-    0xa6, 0x6e, 0x7b, 0xa7, 0x8d, 0x4e, 0xbe, 0xd9, 0x12, 0x18, 0x19, 0x19,
-    0x43, 0xfb, 0x3f, 0x5b, 0x29, 0xb6, 0x19, 0x23, 0x3a, 0x54, 0x45, 0x0d,
-    0xaf, 0x34, 0x50, 0xd7, 0xb9, 0x98, 0xce, 0x70, 0xc6, 0x76, 0x22, 0xa7,
-    0x22, 0x54, 0xf7, 0xe1, 0x25, 0xef, 0x71, 0x28, 0x97, 0x7d, 0xa7, 0x4e,
-    0x52, 0xec, 0x5c, 0x17, 0xb1, 0xeb, 0x61, 0x35, 0x4c, 0xf5, 0xfd, 0x57,
-    0x4c, 0xf7, 0xf7, 0x62, 0x6f, 0x1c, 0x93, 0xb7, 0x26, 0x29, 0x4f, 0x79,
-    0x0a, 0xbd, 0x1a, 0xa2, 0xa6, 0x3f, 0x7d, 0x16, 0xd0, 0x34, 0xc4, 0x5e,
-    0x69, 0xf1, 0x58, 0xb6, 0x17, 0xc1, 0x96, 0xd6, 0xcb, 0xc7, 0xb4, 0xd2,
-    0xd1, 0x04, 0x00, 0xfd, 0x89, 0x01, 0x60, 0x45, 0x30, 0x8a, 0xe0, 0x52,
-    0x2f, 0x63, 0x98, 0x70, 0x4b, 0xc4, 0x54, 0x1e, 0x39, 0xe8, 0x4c, 0xe1,
-    0xa4, 0x09, 0x7b, 0x7a, 0xe3, 0x76, 0x46, 0x3a, 0x5d, 0xb4, 0x67, 0x78,
-    0x74, 0xcc, 0x93, 0x09, 0x95, 0xc6, 0x90, 0xbe, 0x9a, 0x77, 0xb4, 0x77,
-    0xc3, 0xa2, 0xe1, 0x2d, 0xfd, 0x70, 0xea, 0x2f, 0x6b, 0x17, 0x39, 0xd8,
-    0xfb, 0xe3, 0x32, 0xae, 0xac, 0xbf, 0xe1, 0x96, 0xb0, 0xa9, 0x3e, 0xb6,
-    0x88, 0x95, 0xb5, 0x0f, 0x0f, 0xcd, 0xed, 0x47, 0xce, 0xb4, 0x99, 0x18,
-    0x1d, 0xd3, 0xb0, 0xdd, 0x3f, 0x00, 0xd0, 0x98, 0x16, 0xf2, 0x5a, 0xd6,
-    0x88, 0xa1, 0xcb, 0xad, 0x34, 0xe3, 0xc8, 0xb5, 0x44, 0x57, 0xbf, 0x5e,
-    0xa6, 0xf7, 0xef, 0xd6, 0x95, 0x85, 0x69, 0x35, 0x6d, 0xbb, 0x4c, 0xed,
-    0x2f, 0xbf, 0x20, 0xa7, 0x51, 0x89, 0x68, 0x6d, 0x75, 0x15, 0x35, 0x35,
-    0x35, 0x94, 0xf9, 0x6a, 0x86, 0x9a, 0xbf, 0x69, 0xa2, 0xd6, 0xbf, 0xd9,
-    0x35, 0xab, 0x51, 0x63, 0x75, 0x7d, 0x70, 0x81, 0xe6, 0xee, 0xe7, 0x68,
-    0x73, 0x7b, 0x93, 0xcb, 0xd8, 0x2c, 0xff, 0xa3, 0x04, 0x70, 0xbd, 0xa0,
-    0xe5, 0x98, 0xb6, 0x5d, 0xfe, 0x66, 0x99, 0xda, 0xcf, 0xc5, 0xf4, 0xf2,
-    0xf1, 0xcb, 0x3d, 0x74, 0xf2, 0xcd, 0x96, 0x80, 0x95, 0xa9, 0x79, 0x9a,
-    0x33, 0x33, 0x9d, 0xc5, 0x85, 0xf7, 0x2e, 0xe8, 0x8c, 0x1c, 0xfb, 0xfb,
-    0x5d, 0x0e, 0x93, 0x45, 0x31, 0x37, 0xf7, 0x40, 0xb7, 0xab, 0xeb, 0x1f,
-    0x5f, 0xdb, 0x98, 0x6a, 0xed, 0xdb, 0x35, 0xa2, 0xc7, 0x44, 0x74, 0x88,
-    0xa8, 0xaa, 0xfa, 0x30, 0x25, 0x3f, 0xb9, 0xea, 0xc8, 0xb4, 0x36, 0x7b,
-    0x24, 0xc7, 0x41, 0xda, 0x3e, 0x81, 0x27, 0xa2, 0x11, 0x83, 0xd5, 0x41,
-    0x9a, 0x9a, 0xb8, 0xad, 0x79, 0xbc, 0x32, 0x58, 0x3a, 0x23, 0xba, 0xa5,
-    0xfe, 0x99, 0xf2, 0x31, 0xae, 0x30, 0xd3, 0x0a, 0x60, 0x7a, 0x32, 0x6d,
-    0x62, 0x8c, 0xa1, 0x42, 0x58, 0xcc, 0xa6, 0x69, 0x0b, 0xab, 0xd9, 0xe1,
-    0xd1, 0x31, 0x47, 0x86, 0xc1, 0x2a, 0xf8, 0x0c, 0xce, 0x34, 0x21, 0x6b,
-    0xd7, 0xa1, 0xbc, 0x97, 0xe6, 0x64, 0xe5, 0x85, 0x34, 0xa3, 0x44, 0xff,
-    0x67, 0x73, 0xb3, 0x8e, 0xfd, 0xb1, 0x32, 0x24, 0xd3, 0xb4, 0xc6, 0x71,
-    0x70, 0x62, 0x68, 0x59, 0xfb, 0xac, 0xed, 0x8b, 0xc6, 0xcb, 0x03, 0xab,
-    0x5b, 0x3b, 0x38, 0xf6, 0xc7, 0xc3, 0x25, 0x33, 0xe0, 0xd8, 0x5b, 0x6b,
-    0xd4, 0x5a, 0x5f, 0xc3, 0xe1, 0x5b, 0xa2, 0xf1, 0x07, 0x6b, 0xf4, 0xf6,
-    0xad, 0x1a, 0xa2, 0x7c, 0xe9, 0x8c, 0x8b, 0xcb, 0xad, 0x5c, 0x86, 0x32,
-    0x69, 0x31, 0xa5, 0xc1, 0x33, 0x9f, 0x71, 0xa6, 0x47, 0xcf, 0xe4, 0xc8,
-    0xca, 0x98, 0xd6, 0xf2, 0xcd, 0x2d, 0x61, 0x38, 0xad, 0xce, 0x8d, 0xda,
-    0xcb, 0xc6, 0x44, 0xe7, 0x73, 0x94, 0x8a, 0x69, 0xf9, 0x8c, 0x1a, 0xcf,
-    0x49, 0xc3, 0x31, 0x6c, 0x3d, 0xd3, 0x06, 0xf6, 0x24, 0x58, 0x3c, 0x95,
-    0xa3, 0xd4, 0x87, 0x62, 0x9a, 0xd1, 0xca, 0xb4, 0x32, 0xda, 0xdf, 0xf8,
-    0xa4, 0x61, 0x7f, 0x77, 0x1c, 0x07, 0x4e, 0x39, 0x69, 0xfb, 0xbc, 0x98,
-    0x9e, 0x2c, 0x4f, 0xca, 0xc2, 0x5a, 0x81, 0x50, 0x0e, 0x06, 0x4c, 0x4e,
-    0xb9, 0x32, 0xad, 0x9e, 0x0a, 0x6f, 0xcc, 0x4a, 0x6d, 0x6f, 0x78, 0x1e,
-    0xc2, 0xab, 0x62, 0xec, 0x15, 0x18, 0x12, 0x00, 0x7b, 0x53, 0xc6, 0xa2,
-    0x08, 0x26, 0x06, 0x38, 0x0d, 0x60, 0xda, 0x45, 0xe3, 0xc1, 0xb2, 0x6a,
-    0x76, 0xb8, 0xee, 0xa4, 0x99, 0xf5, 0x28, 0x83, 0x8b, 0x7d, 0xa6, 0xf8,
-    0x27, 0x1c, 0x56, 0xcd, 0xab, 0x45, 0x26, 0xf3, 0xd4, 0x8c, 0x12, 0x4c,
-    0xcb, 0xd3, 0xb4, 0xc6, 0x27, 0x50, 0xe8, 0x0d, 0xd5, 0xcc, 0xc0, 0x16,
-    0xfb, 0xa4, 0x35, 0xad, 0xcb, 0xfd, 0x62, 0x4f, 0x36, 0xdd, 0xbe, 0xc2,
-    0xfd, 0x62, 0x6b, 0x06, 0x3d, 0x7a, 0x10, 0xf5, 0x1b, 0x35, 0x60, 0x18,
-    0xbc, 0x4d, 0xe8, 0x3c, 0xc9, 0x65, 0x58, 0x5e, 0x0a, 0x7c, 0x9e, 0x21,
-    0xfa, 0x5f, 0xb3, 0xaf, 0x76, 0xbb, 0x2f, 0xb7, 0x52, 0x3d, 0x67, 0x46,
-    0xee, 0x6e, 0xed, 0xe0, 0x6c, 0xd7, 0x59, 0x9a, 0x7b, 0xf0, 0x40, 0x58,
-    0x2b, 0x29, 0xf5, 0xf5, 0xf4, 0xf1, 0xa5, 0x8f, 0xa9, 0xee, 0xc5, 0x3a,
-    0xb2, 0xc6, 0x67, 0x83, 0x47, 0x8f, 0x50, 0x7e, 0x7b, 0xd7, 0x51, 0xd3,
-    0xd9, 0x98, 0xa1, 0x17, 0x38, 0x7e, 0xcb, 0xac, 0xd1, 0x18, 0xe3, 0x58,
-    0x19, 0x8e, 0x17, 0xff, 0x34, 0x62, 0xdd, 0xd1, 0x3a, 0x1a, 0xf8, 0xf4,
-    0x2a, 0xd5, 0xbd, 0xa4, 0x69, 0xf8, 0xd4, 0x09, 0x15, 0xcc, 0x0e, 0x27,
-    0xcd, 0x58, 0x77, 0xb4, 0x8e, 0x22, 0xe9, 0x9b, 0x65, 0x61, 0xda, 0x26,
-    0xd5, 0x1c, 0x3f, 0x16, 0x19, 0x87, 0x9b, 0x2d, 0x11, 0xb0, 0x38, 0xab,
-    0x93, 0x7d, 0x4c, 0x9b, 0x5b, 0xed, 0x30, 0xae, 0x09, 0x78, 0xe3, 0x51,
-    0xf7, 0x62, 0x1d, 0x8d, 0x7f, 0x31, 0x42, 0xa9, 0x40, 0x20, 0x50, 0x12,
-    0xd3, 0x46, 0x0a, 0x9b, 0x61, 0xfc, 0xa6, 0x9e, 0xcc, 0x82, 0xcf, 0x37,
-    0x64, 0xf0, 0x66, 0x14, 0x40, 0xdb, 0x14, 0xc3, 0x89, 0x13, 0x62, 0x85,
-    0xb3, 0xe7, 0x00, 0x05, 0x66, 0x66, 0x71, 0xd3, 0x8d, 0x42, 0x7c, 0x16,
-    0xc5, 0x55, 0x2d, 0xd3, 0xbe, 0x26, 0x06, 0x35, 0x30, 0x03, 0x2b, 0xd7,
-    0x9f, 0xe8, 0x77, 0xb5, 0x33, 0x3d, 0x99, 0x36, 0xe5, 0x2f, 0x96, 0x1b,
-    0xb0, 0xdb, 0xc5, 0xf2, 0x1b, 0xec, 0x61, 0xf6, 0xb2, 0x72, 0xd9, 0x69,
-    0x89, 0x37, 0x87, 0x86, 0xfe, 0xb2, 0xfe, 0x38, 0xfe, 0xdd, 0x60, 0x17,
-    0x1b, 0x2f, 0x16, 0x45, 0xb0, 0x96, 0xf3, 0xb2, 0xcf, 0xf5, 0xcd, 0xa3,
-    0x43, 0x7b, 0xd1, 0xf3, 0xda, 0x2b, 0x65, 0x4c, 0x9b, 0xc7, 0x99, 0x7c,
-    0xed, 0x7b, 0xbd, 0x56, 0xdc, 0xb5, 0x55, 0x6a, 0xca, 0x2e, 0x6d, 0x80,
-    0x92, 0x72, 0xed, 0x07, 0x13, 0x07, 0x7f, 0x73, 0x4b, 0x05, 0xf7, 0x0f,
-    0xc9, 0x57, 0x94, 0xc0, 0x63, 0x37, 0x97, 0x74, 0xf2, 0xa1, 0x75, 0x5d,
-    0xb5, 0x5a, 0xe1, 0xa4, 0x45, 0xf7, 0x1d, 0x40, 0x45, 0xf1, 0x30, 0x65,
-    0xe5, 0x54, 0xf0, 0xf7, 0x03, 0xc5, 0x99, 0xb6, 0x4f, 0x6c, 0x37, 0x57,
-    0xa9, 0x49, 0xd4, 0x1e, 0xb7, 0x8e, 0xd5, 0x72, 0x98, 0x5b, 0x49, 0x95,
-    0xce, 0xd0, 0x3b, 0x85, 0x09, 0x91, 0x5d, 0xd9, 0x00, 0xc0, 0xa9, 0xcf,
-    0x70, 0x3d, 0xbb, 0xb2, 0x51, 0xd6, 0x89, 0xb2, 0xc3, 0x99, 0x78, 0xac,
-    0xbd, 0xf8, 0xf4, 0x02, 0xe2, 0x28, 0x9c, 0x92, 0x2e, 0x43, 0x7b, 0x03,
-    0xf7, 0x96, 0x10, 0x45, 0x61, 0xd3, 0x12, 0x80, 0x85, 0x75, 0x73, 0x7f,
-    0xd2, 0x0f, 0x57, 0xa1, 0x8e, 0x68, 0xd7, 0x35, 0x9c, 0x42, 0x1c, 0xfe,
-    0xcf, 0xfc, 0x2d, 0xac, 0x6f, 0x20, 0x0e, 0x73, 0x7d, 0x11, 0x4b, 0x7d,
-    0x62, 0x4c, 0x9b, 0x7c, 0x22, 0xfe, 0xaa, 0xa7, 0x52, 0x99, 0xd6, 0x6f,
-    0x39, 0x21, 0xb4, 0xd6, 0x07, 0xbb, 0x16, 0xdc, 0x97, 0xf8, 0x32, 0x8a,
-    0x7b, 0x43, 0x94, 0x41, 0x98, 0xb5, 0xf4, 0x16, 0x1c, 0xfb, 0x9b, 0x5d,
-    0x41, 0x49, 0xfd, 0x1d, 0xb8, 0x67, 0xaf, 0x37, 0x28, 0xd8, 0x5f, 0x42,
-    0xe1, 0x09, 0x27, 0xd1, 0xbf, 0x88, 0xcb, 0x6e, 0x40, 0xe3, 0xf8, 0x79,
-    0x33, 0xed, 0x13, 0x62, 0x58, 0x6b, 0x2a, 0x85, 0x69, 0xfd, 0x96, 0x13,
-    0x7a, 0x34, 0x59, 0xea, 0xb3, 0x1e, 0xc6, 0x8c, 0x8c, 0x66, 0xb9, 0x76,
-    0xab, 0x23, 0x00, 0x8f, 0x29, 0x45, 0x18, 0x8f, 0xdb, 0x0f, 0xce, 0x78,
-    0xc5, 0x51, 0x5a, 0x7f, 0xe3, 0x9c, 0x7a, 0x8d, 0x0e, 0xb4, 0xb3, 0x07,
-    0xa8, 0x23, 0xfc, 0xf1, 0x16, 0x3a, 0xf3, 0x07, 0xa0, 0xf6, 0x5a, 0x9a,
-    0x3b, 0x6e, 0xd6, 0xf2, 0x9e, 0x4c, 0xbb, 0x1f, 0x89, 0xed, 0x55, 0x48,
-    0x2f, 0xba, 0xe7, 0x3b, 0x88, 0x4c, 0xeb, 0xc5, 0xa0, 0x5e, 0xfb, 0x91,
-    0x15, 0xd6, 0x7f, 0xd9, 0xf6, 0x5d, 0xfa, 0x91, 0x5d, 0x71, 0x66, 0xda,
-    0xf8, 0xb4, 0x8f, 0x76, 0x0c, 0x18, 0x9f, 0x96, 0x60, 0x70, 0xf0, 0x77,
-    0x09, 0xba, 0xee, 0x19, 0x71, 0x29, 0x57, 0x9b, 0x74, 0x2e, 0x47, 0x6e,
-    0x1e, 0x1e, 0xf2, 0xe7, 0x93, 0x42, 0xc9, 0x78, 0xa6, 0xac, 0x1f, 0xc0,
-    0x86, 0xc3, 0xe2, 0x2e, 0x02, 0x67, 0xbb, 0xbc, 0xb4, 0xe9, 0x77, 0xc9,
-    0xb4, 0x22, 0xdf, 0x85, 0x08, 0x26, 0xe4, 0xb5, 0x6e, 0x7c, 0x7a, 0x41,
-    0x9a, 0x69, 0xb9, 0x8e, 0x22, 0x33, 0x51, 0x64, 0xea, 0x85, 0xfb, 0x97,
-    0x86, 0x6a, 0x93, 0x45, 0xcd, 0xdd, 0x7d, 0x67, 0x01, 0xbc, 0xb5, 0x07,
-    0x5d, 0x71, 0xff, 0x12, 0x91, 0xab, 0x26, 0xe1, 0x45, 0x09, 0x22, 0x37,
-    0x0b, 0x33, 0xb0, 0xaf, 0x90, 0xff, 0x86, 0x0f, 0xa7, 0x75, 0x6a, 0xb7,
-    0x20, 0xf6, 0xf5, 0xc4, 0xd1, 0x6a, 0x91, 0x51, 0x1c, 0x58, 0xa6, 0x75,
-    0x1b, 0x4f, 0xa9, 0x37, 0x7b, 0x4e, 0x0e, 0xc4, 0xe9, 0x07, 0xb8, 0x4c,
-    0x5b, 0xda, 0x77, 0x24, 0xe2, 0xd3, 0xce, 0x71, 0x74, 0x78, 0x68, 0x65,
-    0x1e, 0x43, 0x8b, 0x60, 0x50, 0xa0, 0x7e, 0xdb, 0x0c, 0x66, 0x18, 0xb6,
-    0xbc, 0x38, 0xe8, 0xce, 0x2c, 0x80, 0xae, 0xf1, 0x67, 0x9e, 0xb4, 0xd3,
-    0xf2, 0x66, 0xa4, 0x45, 0x43, 0x47, 0x6e, 0xda, 0xcf, 0x96, 0xd9, 0x1c,
-    0xc5, 0xea, 0x58, 0xdf, 0x29, 0xd3, 0xf2, 0x35, 0xad, 0x13, 0x46, 0x27,
-    0xc4, 0xce, 0xa6, 0xf9, 0x61, 0xda, 0x27, 0xa1, 0x69, 0x79, 0x98, 0x5d,
-    0xd9, 0x90, 0x3e, 0x6b, 0xa8, 0xa4, 0xc4, 0x34, 0xbf, 0xeb, 0x6a, 0x57,
-    0x77, 0xb0, 0xe4, 0x94, 0xeb, 0x0c, 0xf1, 0xd2, 0xa6, 0x8e, 0x4e, 0xeb,
-    0x52, 0x9f, 0xad, 0x7d, 0xc9, 0x55, 0xf1, 0x41, 0xd2, 0xb4, 0x0a, 0x80,
-    0xb4, 0xf1, 0x8c, 0x19, 0x34, 0x47, 0x37, 0xee, 0x5f, 0x8e, 0x8c, 0x0a,
-    0x9c, 0xa8, 0x70, 0xe9, 0xc7, 0x81, 0xd0, 0xb4, 0x0e, 0x28, 0x73, 0xaa,
-    0xbb, 0x16, 0x10, 0x8e, 0xa3, 0x73, 0x99, 0xa9, 0xe8, 0xb0, 0x7c, 0xcd,
-    0xbb, 0x2f, 0x4c, 0x6b, 0xd1, 0xd4, 0xd6, 0x7c, 0xc1, 0x3e, 0x6f, 0xc7,
-    0x3b, 0x48, 0x9a, 0x96, 0xc7, 0x1c, 0x3b, 0x7b, 0x66, 0xcd, 0xee, 0xb5,
-    0xca, 0xee, 0xbe, 0xf3, 0x14, 0x68, 0x5a, 0xc1, 0xf2, 0x4e, 0x58, 0x7b,
-    0x4d, 0x7c, 0x83, 0x3f, 0x81, 0x88, 0x22, 0xa3, 0xf6, 0x19, 0x05, 0x00,
-    0x24, 0x78, 0x66, 0xcc, 0x97, 0xd3, 0x0a, 0xd4, 0xeb, 0x37, 0xde, 0x79,
-    0x50, 0x34, 0xad, 0xd0, 0x29, 0x62, 0x87, 0xfa, 0xb0, 0x65, 0x70, 0x74,
-    0x00, 0x4e, 0xf1, 0x52, 0x13, 0xa3, 0x1d, 0x30, 0x4d, 0xcb, 0xec, 0x96,
-    0x3d, 0x73, 0x28, 0xfa, 0x49, 0xac, 0xd2, 0x4f, 0x2e, 0x3c, 0x3f, 0x43,
-    0x78, 0xb7, 0x89, 0x64, 0x93, 0xdf, 0x5d, 0x5e, 0xd9, 0xdf, 0x3c, 0xa2,
-    0xa6, 0x9f, 0xfc, 0xc8, 0xf5, 0xe4, 0xc2, 0xd9, 0x2b, 0x00, 0xaf, 0xfc,
-    0xea, 0xef, 0x77, 0xa9, 0xa6, 0x70, 0xaa, 0x53, 0xe6, 0xe4, 0x03, 0xc3,
-    0x40, 0xef, 0x18, 0x8c, 0xf5, 0xc5, 0x5f, 0x5b, 0xa4, 0x8b, 0xaf, 0xff,
-    0x4c, 0xaf, 0xaf, 0xf9, 0x46, 0x16, 0x77, 0xff, 0xdb, 0x44, 0xf4, 0x78,
-    0x9c, 0xd4, 0x9f, 0xb6, 0x52, 0x7b, 0xbb, 0xd8, 0x99, 0xb6, 0x23, 0x9f,
-    0x8c, 0xd3, 0xe6, 0x63, 0xf1, 0x71, 0x18, 0xea, 0x31, 0xef, 0x6f, 0x75,
-    0xba, 0x7f, 0xc2, 0x67, 0xea, 0x38, 0xf8, 0x00, 0x40, 0xc2, 0xa1, 0x5e,
-    0xb7, 0xfd, 0xcc, 0xbb, 0x7b, 0xc0, 0xe1, 0xe7, 0x88, 0xfc, 0xfa, 0x53,
-    0xf0, 0xd0, 0x38, 0x3d, 0xfa, 0xc0, 0x7d, 0xbf, 0xb4, 0xee, 0xc1, 0xb5,
-    0x25, 0x30, 0xdf, 0x93, 0x62, 0x5a, 0xa1, 0xdd, 0x5d, 0x44, 0xee, 0x4c,
-    0x2b, 0x30, 0x93, 0xcb, 0xa5, 0x69, 0x45, 0xed, 0xf5, 0xc3, 0x4c, 0xc6,
-    0xf2, 0x0b, 0x9c, 0xb3, 0x78, 0x52, 0xed, 0x3b, 0x60, 0x6d, 0xd2, 0xd9,
-    0x1e, 0xae, 0x86, 0x5d, 0x01, 0xdc, 0xfc, 0x48, 0x19, 0xd4, 0xee, 0x7d,
-    0x7c, 0x5a, 0x0b, 0x67, 0xf1, 0xea, 0x77, 0x7c, 0xe2, 0x18, 0xef, 0x2f,
-    0xfb, 0xc7, 0xf0, 0xfc, 0xaa, 0x90, 0xf6, 0xf0, 0x8a, 0x32, 0x08, 0x3b,
-    0xad, 0x64, 0x3b, 0x32, 0x5a, 0xca, 0xab, 0x9e, 0x28, 0x3c, 0xf6, 0x0e,
-    0xb8, 0x4d, 0x08, 0x09, 0x4d, 0xab, 0x8e, 0xc8, 0x7f, 0x40, 0x43, 0xe4,
-    0x8b, 0xea, 0x4e, 0xda, 0x9c, 0x17, 0x6f, 0xf7, 0x2b, 0x11, 0xa2, 0x13,
-    0xce, 0x5f, 0x04, 0x72, 0x8c, 0x76, 0x40, 0x8b, 0xab, 0xba, 0x45, 0x05,
-    0x78, 0x71, 0xe9, 0x81, 0x7b, 0x4b, 0xdc, 0x28, 0x43, 0x30, 0x01, 0x0c,
-    0xdc, 0x5b, 0xb2, 0x95, 0x23, 0xf3, 0x80, 0xfb, 0xfb, 0x12, 0x8c, 0x74,
-    0xf2, 0xf1, 0x3d, 0x04, 0x55, 0xc2, 0xc1, 0xfc, 0x3c, 0x31, 0xdc, 0x66,
-    0x7c, 0xda, 0x70, 0xb2, 0xa0, 0xec, 0x9a, 0xd6, 0xd1, 0x61, 0xbc, 0xc7,
-    0x47, 0x86, 0xa9, 0x55, 0x16, 0x47, 0xf7, 0x58, 0x9d, 0xb3, 0xdd, 0x71,
-    0x3c, 0x06, 0x74, 0xd4, 0x9c, 0x2e, 0xf9, 0x45, 0x9f, 0x6c, 0xd8, 0x02,
-    0x14, 0x97, 0xfe, 0x32, 0xfb, 0xcd, 0x9a, 0x96, 0xfc, 0x7f, 0x61, 0x86,
-    0x69, 0x1c, 0x99, 0x24, 0xfb, 0x3d, 0x84, 0x60, 0x75, 0x2b, 0x2d, 0x76,
-    0x88, 0x6b, 0x51, 0x37, 0x4d, 0xeb, 0x17, 0x99, 0x86, 0xf4, 0xd2, 0xb4,
-    0xc6, 0xef, 0x47, 0x08, 0x6b, 0x5a, 0x07, 0x1c, 0x99, 0x5f, 0xc2, 0xaf,
-    0x6f, 0xf1, 0x4f, 0x31, 0x9b, 0x34, 0xad, 0xe1, 0xfe, 0xd5, 0xfd, 0xe1,
-    0x36, 0xfd, 0x7b, 0xfb, 0x24, 0xb7, 0x9c, 0xfa, 0xfc, 0x0c, 0x1d, 0x79,
-    0xb7, 0x89, 0x94, 0xaf, 0x16, 0x89, 0x5e, 0x3b, 0x4e, 0xf4, 0xd5, 0x22,
-    0x65, 0xfe, 0x73, 0x9c, 0x36, 0xb7, 0x33, 0x34, 0xe7, 0xb2, 0xc6, 0x50,
-    0x9f, 0xcf, 0x50, 0xe6, 0xdd, 0x66, 0x5d, 0x6b, 0xee, 0xee, 0x01, 0x97,
-    0x9e, 0x23, 0x72, 0xd2, 0xbc, 0xa2, 0xda, 0xd4, 0x8a, 0x33, 0x00, 0xae,
-    0x0b, 0xd4, 0xe7, 0xb9, 0x9a, 0x15, 0xc1, 0x9e, 0xcc, 0x82, 0x14, 0xd1,
-    0x8a, 0x46, 0x25, 0x18, 0x4a, 0xbd, 0x39, 0xa2, 0x42, 0x78, 0xa8, 0x4c,
-    0x4c, 0x6b, 0x5d, 0x85, 0x5b, 0xe3, 0xb0, 0x6e, 0x4c, 0xdb, 0x7d, 0x47,
-    0xce, 0x6e, 0x27, 0x8d, 0xe8, 0xc4, 0x40, 0xca, 0xe0, 0x94, 0x6b, 0xbd,
-    0xc3, 0xf3, 0x85, 0x71, 0x2e, 0xd3, 0x93, 0x86, 0xb7, 0xd7, 0x80, 0xcf,
-    0x8c, 0x02, 0x71, 0x67, 0x1e, 0xc2, 0x5d, 0xdb, 0x03, 0x80, 0x63, 0xc1,
-    0x28, 0x24, 0x35, 0x67, 0x9f, 0x76, 0x02, 0x41, 0x24, 0xc9, 0x7e, 0x3d,
-    0x51, 0xf4, 0x8d, 0x91, 0x15, 0xad, 0xfb, 0x5e, 0xfd, 0x22, 0x6f, 0x60,
-    0xbd, 0xae, 0x97, 0xf5, 0x37, 0x24, 0xac, 0x76, 0x49, 0x94, 0x1b, 0x9e,
-    0x5f, 0x32, 0xed, 0x4f, 0xe5, 0x69, 0x5f, 0x65, 0x70, 0x0a, 0xea, 0x88,
-    0xf6, 0xa2, 0x43, 0xdf, 0x8f, 0xeb, 0xe2, 0x78, 0xc3, 0xf3, 0xda, 0x3e,
-    0xda, 0x60, 0x9f, 0x56, 0x5e, 0xbd, 0x91, 0x45, 0x04, 0x65, 0xda, 0xc7,
-    0x0b, 0x4d, 0xcb, 0xaa, 0x23, 0xc5, 0xdf, 0xf8, 0xa8, 0xbd, 0x96, 0xd6,
-    0x7f, 0x9b, 0x83, 0xab, 0x6d, 0xdc, 0x34, 0x06, 0x0f, 0xb3, 0x4b, 0xee,
-    0x0e, 0x2b, 0xfb, 0xfd, 0x03, 0xbf, 0x9a, 0xb0, 0x82, 0xdf, 0x6f, 0x74,
-    0x65, 0x2a, 0x3f, 0xbf, 0xb5, 0xc0, 0x3b, 0xec, 0xa8, 0x8c, 0xc8, 0xbd,
-    0x93, 0x17, 0x7a, 0xb5, 0x59, 0xc1, 0x67, 0x12, 0xbd, 0x33, 0xfa, 0x60,
-    0xdc, 0x52, 0xd1, 0xaf, 0x24, 0xa8, 0xe0, 0xb3, 0x81, 0x62, 0x19, 0x51,
-    0xd4, 0x2e, 0x7e, 0xe2, 0xab, 0xa2, 0x18, 0x4c, 0x68, 0x1a, 0xec, 0x20,
-    0x0c, 0x4c, 0x05, 0x0f, 0x2e, 0x8a, 0x17, 0x28, 0x68, 0xcc, 0xfd, 0x62,
-    0x58, 0x15, 0xe0, 0xbe, 0x01, 0xa9, 0x60, 0x05, 0x8d, 0x28, 0x5d, 0x20,
-    0xbb, 0xb2, 0xe1, 0x7a, 0x26, 0x48, 0x16, 0x4b, 0x0a, 0x8f, 0x54, 0xf0,
-    0x99, 0x44, 0xff, 0x15, 0x40, 0x8b, 0x43, 0xd6, 0xfa, 0x60, 0x56, 0x76,
-    0xf6, 0xa7, 0xc2, 0xac, 0x15, 0xf4, 0x83, 0xe5, 0xa9, 0x08, 0xc0, 0xf0,
-    0xbc, 0x16, 0xd7, 0x8b, 0x8c, 0x66, 0x6d, 0xe7, 0xe0, 0x23, 0x28, 0x6e,
-    0x92, 0xa8, 0xfc, 0x06, 0x6e, 0x05, 0x4b, 0xc5, 0xff, 0x03, 0x2c, 0xfa,
-    0x16, 0x4c, 0x4d, 0x8a, 0x1e, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45,
-    0x4e, 0x44, 0xae, 0x42, 0x60, 0x82
+    0x08, 0x06, 0x00, 0x00, 0x00, 0x63, 0x57, 0xfa, 0xde, 0x00, 0x00, 0x12,
+    0xa2, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0x5d, 0x7f, 0x6c, 0x13,
+    0x57, 0xb6, 0xfe, 0x06, 0xa1, 0x6a, 0x82, 0x52, 0x34, 0x46, 0x14, 0x8d,
+    0xa3, 0x6e, 0x95, 0x41, 0x4d, 0xc5, 0x84, 0xb7, 0x15, 0x36, 0x50, 0xd5,
+    0x89, 0x16, 0xe1, 0x61, 0xb7, 0x5a, 0x0c, 0x41, 0x5b, 0xd3, 0x3e, 0x29,
+    0x4e, 0xfa, 0x2a, 0x92, 0x40, 0xd5, 0x12, 0xe9, 0x89, 0xba, 0xe8, 0xe9,
+    0x09, 0x68, 0x45, 0x09, 0xaa, 0xd4, 0xe0, 0xa2, 0x27, 0x25, 0x45, 0x5d,
+    0x48, 0x10, 0x7a, 0x89, 0x23, 0xed, 0x82, 0xfb, 0x04, 0xc4, 0x3c, 0x81,
+    0xb0, 0xab, 0xac, 0x6c, 0xaf, 0xa0, 0xb1, 0xab, 0x3e, 0xc1, 0xa0, 0x80,
+    0xe2, 0x88, 0x5d, 0xd9, 0x16, 0x5d, 0xc5, 0x56, 0x1a, 0x25, 0x56, 0xfe,
+    0xb9, 0xef, 0x8f, 0xc9, 0x4c, 0x3c, 0xf6, 0x8c, 0x7f, 0xc5, 0xa1, 0x74,
+    0xeb, 0xef, 0x9f, 0xc4, 0xf3, 0xf3, 0xde, 0x3b, 0x67, 0xce, 0xf9, 0xce,
+    0xb9, 0xe7, 0x9e, 0xa1, 0x2e, 0xa0, 0xb2, 0xb0, 0xcd, 0xcc, 0x91, 0x68,
+    0x2a, 0xad, 0xda, 0x66, 0x62, 0x0d, 0x70, 0x3f, 0x47, 0x51, 0x15, 0xbe,
+    0x55, 0x15, 0xbf, 0x50, 0x50, 0xcb, 0x11, 0x5a, 0xc7, 0x02, 0x21, 0xbe,
+    0xa9, 0x38, 0xfc, 0x53, 0x71, 0xf8, 0xa2, 0x29, 0x44, 0x12, 0xc9, 0xbc,
+    0xc7, 0x5b, 0xeb, 0x0d, 0x30, 0x1b, 0x19, 0x58, 0xeb, 0x8d, 0x48, 0xbc,
+    0x52, 0x57, 0x15, 0xe2, 0x2a, 0xca, 0x42, 0x59, 0x42, 0x6b, 0x79, 0x32,
+    0x4d, 0x5c, 0x7f, 0x8d, 0xc2, 0x23, 0x46, 0x91, 0xa5, 0x54, 0x8b, 0x06,
+    0x43, 0x03, 0x76, 0x9e, 0x83, 0xf3, 0x75, 0x0e, 0xa1, 0x0d, 0xeb, 0xaa,
+    0x02, 0x5c, 0x45, 0xd1, 0x28, 0x49, 0x68, 0x2d, 0x4f, 0xa6, 0x49, 0xf7,
+    0x8d, 0x08, 0xfc, 0x53, 0xf9, 0x35, 0x6a, 0xa9, 0xb0, 0xd6, 0x1b, 0x30,
+    0xfc, 0xa6, 0x05, 0xde, 0xb5, 0x6b, 0xaa, 0xc2, 0x5b, 0x45, 0x41, 0x14,
+    0x25, 0xb4, 0x8e, 0x05, 0x42, 0x4e, 0x7c, 0x13, 0x86, 0x2b, 0x14, 0x5d,
+    0xd1, 0xc6, 0x9c, 0xb2, 0xf2, 0x30, 0xee, 0xd8, 0x5c, 0x15, 0xdc, 0x2a,
+    0xf2, 0xa2, 0xa0, 0xd0, 0x5a, 0x9e, 0x4c, 0x93, 0xf6, 0xaf, 0x23, 0x05,
+    0xf9, 0x6a, 0xa5, 0x60, 0x62, 0x0d, 0x18, 0x6d, 0xad, 0x6a, 0xdd, 0x2a,
+    0xf4, 0x91, 0x57, 0x68, 0x2d, 0x4f, 0xa6, 0x49, 0xf3, 0x45, 0x5f, 0xd9,
+    0xbc, 0xb5, 0x5c, 0x30, 0x34, 0x10, 0x38, 0x20, 0x54, 0xb9, 0x6e, 0x15,
+    0x9a, 0xd0, 0x15, 0xda, 0xb2, 0x05, 0x76, 0x3d, 0x0d, 0xac, 0xae, 0x51,
+    0x7e, 0xda, 0x5e, 0x60, 0xd0, 0xb1, 0xc9, 0x08, 0x00, 0x08, 0x25, 0x92,
+    0x70, 0xfd, 0x45, 0x2c, 0xea, 0x32, 0x95, 0x10, 0x5c, 0x5b, 0x2c, 0x46,
+    0x3c, 0xd7, 0xbc, 0x08, 0x7f, 0x1b, 0xcc, 0xd9, 0xc7, 0x6f, 0xe2, 0xc1,
+    0x37, 0xf0, 0x30, 0x6f, 0x33, 0xc3, 0x5b, 0xf7, 0xf3, 0x88, 0x64, 0xd8,
+    0x62, 0x31, 0x12, 0xfe, 0x36, 0x0c, 0xe3, 0x8b, 0x46, 0x44, 0xcc, 0x5b,
+    0x2b, 0xd2, 0x66, 0xc7, 0xcc, 0x1c, 0xe9, 0x3f, 0xdf, 0x0f, 0xf1, 0x81,
+    0x08, 0xf1, 0x61, 0x14, 0x7c, 0x03, 0x07, 0x7b, 0x8b, 0x1d, 0x89, 0x7d,
+    0x7b, 0x4b, 0xbe, 0xfe, 0x4a, 0xb4, 0x4f, 0x0b, 0xab, 0xb5, 0x36, 0x96,
+    0x2c, 0xb0, 0x34, 0xd0, 0xfb, 0x1b, 0x33, 0xda, 0xfe, 0x85, 0x85, 0xf1,
+    0xf9, 0x1a, 0xdd, 0xc3, 0x8c, 0x34, 0x5d, 0xb4, 0xd0, 0xa6, 0xd2, 0x40,
+    0xf3, 0x45, 0x1f, 0x02, 0x4f, 0xa6, 0x49, 0xa9, 0x82, 0xeb, 0x98, 0x99,
+    0x23, 0xa7, 0xcf, 0xba, 0xb0, 0x6b, 0xdf, 0x1e, 0xdd, 0x63, 0x42, 0x91,
+    0x88, 0xf2, 0xbf, 0xfd, 0xe4, 0x29, 0x72, 0xec, 0x88, 0x13, 0xee, 0x67,
+    0x9c, 0x92, 0xf4, 0x9f, 0x1f, 0x80, 0xe7, 0x9a, 0x07, 0x00, 0x30, 0x14,
+    0x1e, 0x27, 0x95, 0x10, 0x8c, 0x6e, 0x67, 0xb7, 0x6a, 0x2c, 0x42, 0x91,
+    0x08, 0x68, 0xc6, 0x00, 0xf3, 0x33, 0xd2, 0x3e, 0x2d, 0xe4, 0x68, 0x5a,
+    0xc7, 0x02, 0x21, 0x75, 0x67, 0xaf, 0x94, 0xa4, 0x61, 0x2f, 0xbf, 0xdd,
+    0x84, 0xfd, 0xbc, 0x31, 0xef, 0x31, 0x9d, 0x37, 0xc2, 0x18, 0xbc, 0x5b,
+    0xba, 0x23, 0xc7, 0xd0, 0x40, 0xec, 0xc8, 0xfe, 0x92, 0x26, 0x27, 0x82,
+    0x07, 0x3b, 0x48, 0xe6, 0x83, 0x60, 0x59, 0x23, 0xf6, 0xb7, 0xd8, 0xc1,
+    0xf3, 0x3c, 0xe2, 0x7f, 0x8b, 0x22, 0x9e, 0x88, 0xc3, 0xeb, 0xf7, 0x23,
+    0x91, 0x88, 0x2b, 0xc7, 0x0c, 0xfd, 0xf1, 0xc2, 0x8a, 0x6a, 0x87, 0x4a,
+    0xc0, 0x16, 0x8b, 0x11, 0x9f, 0xdf, 0x07, 0xe3, 0xaf, 0x38, 0x44, 0x77,
+    0x34, 0x2f, 0xbb, 0xad, 0xdc, 0x58, 0x80, 0x74, 0x7f, 0xd8, 0xad, 0xda,
+    0x66, 0x31, 0x99, 0xd0, 0xe7, 0xea, 0x2b, 0xeb, 0x05, 0xae, 0x74, 0xfb,
+    0xf4, 0x90, 0x23, 0xb4, 0xc3, 0x97, 0x6e, 0x93, 0x92, 0x42, 0x5a, 0xeb,
+    0x69, 0x90, 0x0f, 0xf4, 0x35, 0x1a, 0x00, 0x98, 0xdd, 0x41, 0x44, 0x1e,
+    0xc5, 0xf3, 0x1e, 0x93, 0x0f, 0xd6, 0x7a, 0x03, 0xda, 0xde, 0xdd, 0x55,
+    0xd4, 0x20, 0x08, 0x13, 0x93, 0x64, 0x8f, 0x63, 0xff, 0xd2, 0xb9, 0x56,
+    0x01, 0xe6, 0x5e, 0x97, 0xe6, 0xb9, 0xc2, 0xc4, 0x24, 0x09, 0xde, 0x0d,
+    0x82, 0x79, 0x9e, 0xc9, 0x6b, 0x0e, 0x85, 0x89, 0x49, 0xc2, 0xb2, 0xec,
+    0xb2, 0x34, 0xb1, 0x2d, 0x16, 0x23, 0xf9, 0x68, 0x88, 0x69, 0x19, 0x9a,
+    0xc9, 0x16, 0x8b, 0x91, 0x78, 0x22, 0x5e, 0xd2, 0x4b, 0x27, 0x4c, 0x4c,
+    0x92, 0xb6, 0x43, 0x9d, 0x48, 0xcd, 0xa6, 0x54, 0xdb, 0x3b, 0x5a, 0x1d,
+    0x30, 0x38, 0x8f, 0xea, 0x8e, 0x97, 0xef, 0x95, 0x8d, 0x65, 0x09, 0x73,
+    0x29, 0xed, 0xb3, 0xc5, 0x62, 0x04, 0x80, 0x2e, 0x6d, 0x53, 0x09, 0x6d,
+    0xfa, 0xce, 0x24, 0xe9, 0xbe, 0x11, 0x2e, 0xa9, 0x41, 0x1d, 0xdb, 0x39,
+    0x0c, 0xec, 0xd6, 0x37, 0x26, 0xe5, 0x6a, 0xd8, 0x6c, 0x0c, 0xbd, 0x69,
+    0x46, 0xfa, 0xd5, 0xc2, 0x03, 0x66, 0x0a, 0x8f, 0x93, 0xf6, 0x43, 0x5d,
+    0xca, 0xef, 0x7c, 0x42, 0xab, 0x07, 0x6e, 0x2c, 0x40, 0xfa, 0xcf, 0xf5,
+    0x43, 0x7c, 0xa8, 0x4d, 0x65, 0xac, 0x56, 0x01, 0x1f, 0x1d, 0x3c, 0x0c,
+    0xdf, 0x2b, 0x1b, 0xa9, 0x81, 0x9d, 0x56, 0x92, 0x9a, 0x4d, 0x81, 0xa9,
+    0x65, 0xd0, 0xf3, 0x69, 0x4f, 0x8e, 0x86, 0xe1, 0xc6, 0x02, 0xe4, 0xf8,
+    0xc7, 0xc7, 0x91, 0x9a, 0x4d, 0x81, 0x6f, 0xe0, 0x61, 0x1b, 0x71, 0x53,
+    0x72, 0x3b, 0x07, 0x46, 0xdc, 0x88, 0xdc, 0x0d, 0xe7, 0x08, 0x0e, 0xdf,
+    0xc0, 0xc3, 0xb2, 0xcd, 0x84, 0xb6, 0xd6, 0x36, 0xd5, 0x83, 0x4b, 0xba,
+    0x7a, 0xc9, 0xe0, 0x88, 0x1b, 0x00, 0xd0, 0xf7, 0x45, 0x1f, 0xa2, 0x3b,
+    0x9a, 0xa9, 0xf4, 0x57, 0x17, 0x48, 0xff, 0xf9, 0x7e, 0xe5, 0x5c, 0x96,
+    0x35, 0x2a, 0x16, 0xe4, 0xd8, 0x11, 0x27, 0xd2, 0x6d, 0xed, 0x9a, 0x7d,
+    0x97, 0xdb, 0xad, 0x85, 0xde, 0x8f, 0x4f, 0x21, 0xb1, 0x6f, 0x2f, 0xc5,
+    0x5e, 0xbd, 0x4e, 0x5c, 0x7f, 0xfc, 0x52, 0x65, 0x91, 0x64, 0x30, 0xb5,
+    0x0c, 0x04, 0xab, 0x80, 0xc3, 0x07, 0x3b, 0x95, 0x36, 0x16, 0xd3, 0x3e,
+    0xa6, 0x96, 0x51, 0xfa, 0x2b, 0xb7, 0xcf, 0x31, 0x33, 0x47, 0x06, 0x47,
+    0xdc, 0xb8, 0x72, 0xcd, 0x93, 0x73, 0x2f, 0xd9, 0x4a, 0x76, 0xb4, 0x3a,
+    0x14, 0xa5, 0xa1, 0x70, 0x5a, 0x99, 0x16, 0x54, 0x12, 0xc1, 0x68, 0xb2,
+    0x22, 0x02, 0x0b, 0x00, 0xdd, 0x37, 0xc2, 0x88, 0x2d, 0x10, 0x52, 0x88,
+    0x26, 0x18, 0x59, 0x35, 0x4d, 0xf1, 0xfb, 0x7d, 0x10, 0xf7, 0xda, 0x88,
+    0xcd, 0x6a, 0x85, 0x79, 0x7b, 0x13, 0x98, 0x5a, 0xba, 0xe0, 0x1b, 0x2f,
+    0x9b, 0x4c, 0xa6, 0x96, 0xc1, 0xb1, 0x0f, 0x9d, 0x68, 0xdc, 0xd4, 0x88,
+    0xe4, 0x6c, 0x12, 0x03, 0x23, 0x6e, 0xf8, 0xfd, 0x3e, 0xf8, 0xfd, 0x3e,
+    0x44, 0xee, 0x86, 0x71, 0x7b, 0x66, 0x8e, 0x0c, 0x2c, 0xf2, 0xe6, 0xd4,
+    0x6c, 0x0a, 0x3d, 0x9f, 0x9f, 0x46, 0x5b, 0xd6, 0xb5, 0x7a, 0x3e, 0x3f,
+    0xad, 0x3c, 0xa4, 0xe4, 0x8f, 0x8b, 0x7f, 0x5d, 0xbd, 0xaa, 0x17, 0x8b,
+    0x65, 0x8d, 0xe0, 0x8c, 0x2c, 0x00, 0x40, 0x7c, 0x18, 0x85, 0xf8, 0x50,
+    0x84, 0xf8, 0x50, 0xc4, 0xe0, 0x88, 0x1b, 0xbd, 0x57, 0xaf, 0x13, 0xd9,
+    0x0a, 0xc8, 0x02, 0x01, 0x00, 0xa2, 0x28, 0x82, 0x06, 0x72, 0x9c, 0xcc,
+    0xcc, 0x87, 0x2e, 0x3e, 0x8a, 0x82, 0xd3, 0xe9, 0xe3, 0xe1, 0x83, 0x9d,
+    0x38, 0x7d, 0xd6, 0x95, 0xb3, 0xdd, 0x6a, 0x15, 0x20, 0xec, 0x14, 0xe0,
+    0x06, 0x70, 0xf4, 0xd3, 0x13, 0x4a, 0xfb, 0x9c, 0x87, 0x3e, 0x80, 0xf1,
+    0x45, 0x69, 0x6c, 0xe5, 0x71, 0xf0, 0x5c, 0xf3, 0x20, 0x78, 0x37, 0xa4,
+    0xf4, 0xb9, 0x98, 0xf6, 0x65, 0xbe, 0x28, 0xe2, 0xa3, 0x28, 0x3a, 0x27,
+    0x26, 0xc9, 0xae, 0x7d, 0x7b, 0x94, 0xed, 0x2c, 0x6b, 0x44, 0xd3, 0x76,
+    0x0b, 0x98, 0x5a, 0x1a, 0xa1, 0x6f, 0x23, 0x10, 0x1f, 0x8a, 0xe8, 0x3f,
+    0xdf, 0x8f, 0xe1, 0x91, 0x61, 0x0c, 0x2f, 0x6a, 0x7a, 0x45, 0x68, 0xbb,
+    0xff, 0x37, 0x5c, 0x56, 0x68, 0x6b, 0xf0, 0x6f, 0x29, 0x0c, 0xe8, 0xec,
+    0x1b, 0x78, 0x50, 0xb9, 0xc9, 0x88, 0x54, 0x1a, 0x70, 0xfd, 0xf5, 0x3e,
+    0xf2, 0x33, 0x67, 0xc9, 0xa4, 0xf4, 0x5e, 0xbd, 0x4e, 0xe4, 0x01, 0x07,
+    0xa4, 0x07, 0x39, 0x38, 0xe2, 0x5e, 0x1a, 0xd4, 0x6d, 0x26, 0xc2, 0xd4,
+    0x32, 0xe0, 0x1b, 0x38, 0x08, 0x3b, 0x05, 0x08, 0x56, 0x41, 0xa5, 0xd1,
+    0x46, 0xdd, 0x57, 0x90, 0x9c, 0x4d, 0x22, 0x62, 0xde, 0x4a, 0x25, 0xbe,
+    0xf1, 0x23, 0xb1, 0xb8, 0xdd, 0x0c, 0xc0, 0xbf, 0xcd, 0x44, 0x00, 0x69,
+    0xf0, 0xc5, 0x47, 0x22, 0xda, 0x5a, 0xdb, 0x20, 0x6b, 0x92, 0x44, 0x22,
+    0xae, 0xa2, 0x01, 0xc2, 0xc4, 0x24, 0x71, 0x65, 0x50, 0x15, 0xe7, 0xa1,
+    0x0f, 0x80, 0x43, 0x1f, 0x10, 0xd7, 0x62, 0xdb, 0x98, 0x5a, 0x06, 0x87,
+    0x0f, 0x76, 0xaa, 0xb4, 0x61, 0x13, 0x00, 0x7a, 0x78, 0x88, 0xc8, 0x02,
+    0x75, 0xf4, 0xd3, 0x13, 0xe8, 0x1b, 0x0b, 0x90, 0x52, 0x38, 0x22, 0xdf,
+    0xc0, 0xa3, 0xa3, 0xd5, 0x81, 0xc4, 0xbe, 0xbd, 0x14, 0x3d, 0x3c, 0x44,
+    0x82, 0xdf, 0x45, 0x90, 0x4e, 0x49, 0x94, 0xcf, 0xbc, 0xad, 0x49, 0xd1,
+    0x5a, 0xc7, 0x32, 0xee, 0x03, 0x00, 0xf6, 0x16, 0x3b, 0xb8, 0x4f, 0x4e,
+    0x50, 0xee, 0x5e, 0x57, 0xee, 0x38, 0x5c, 0xf7, 0x2a, 0xe3, 0x70, 0x3c,
+    0x16, 0x23, 0x7e, 0xbf, 0x4f, 0xe9, 0x73, 0xa9, 0xd4, 0x46, 0x6e, 0x9f,
+    0xb0, 0x53, 0x40, 0xb7, 0xb3, 0x5b, 0x11, 0x58, 0xc5, 0x2a, 0x5e, 0xf7,
+    0x02, 0x00, 0x6c, 0x00, 0xf8, 0x93, 0xa7, 0x88, 0xe7, 0x9a, 0x47, 0x52,
+    0x0a, 0xbd, 0x3d, 0x68, 0x02, 0xb0, 0x0a, 0x90, 0xb4, 0xac, 0x47, 0x2c,
+    0x53, 0xc0, 0x12, 0x49, 0xdc, 0xff, 0x61, 0x5e, 0x73, 0x97, 0x73, 0x1b,
+    0x5f, 0xde, 0x35, 0x75, 0xe0, 0x0a, 0x89, 0x70, 0x2c, 0x10, 0x52, 0xb0,
+    0x49, 0xfb, 0xf6, 0x52, 0xb7, 0xaf, 0x8e, 0xa2, 0xa3, 0xd5, 0x01, 0xbe,
+    0x41, 0xbb, 0x0d, 0xa9, 0xd9, 0x14, 0x42, 0x91, 0x08, 0xe4, 0x28, 0x43,
+    0xfa, 0xab, 0x0b, 0xca, 0x75, 0x7d, 0xaf, 0x6c, 0xa4, 0x32, 0x1f, 0x82,
+    0x29, 0x3c, 0x4e, 0xe8, 0xe1, 0x21, 0x32, 0xbc, 0xd7, 0x96, 0x73, 0xef,
+    0x8e, 0x56, 0x07, 0x98, 0x5a, 0x46, 0xf9, 0xed, 0xb9, 0xe6, 0x55, 0xfe,
+    0x1f, 0x18, 0x19, 0x56, 0xfe, 0x67, 0x59, 0x23, 0x12, 0xfb, 0xf6, 0x52,
+    0xae, 0x3f, 0x7e, 0xa9, 0x6c, 0xcb, 0x16, 0x58, 0x19, 0xe9, 0xb6, 0x76,
+    0xca, 0xde, 0x62, 0x57, 0x7e, 0x5f, 0x59, 0xf4, 0xc8, 0x8b, 0xc1, 0xe1,
+    0x83, 0x87, 0x61, 0x1b, 0x71, 0x53, 0xb2, 0x76, 0x3e, 0x7d, 0xd6, 0x05,
+    0xbf, 0xdf, 0x87, 0x50, 0x24, 0x82, 0x50, 0x24, 0x82, 0xfe, 0xf3, 0xfd,
+    0x8a, 0x87, 0xcf, 0xf3, 0xea, 0xb1, 0xb1, 0xb7, 0xd8, 0x54, 0xbf, 0xf5,
+    0xc6, 0xa1, 0x2d, 0xc3, 0x4a, 0x94, 0x8a, 0xcc, 0xf6, 0x25, 0x12, 0x09,
+    0x55, 0xe4, 0x22, 0xf1, 0xf7, 0x38, 0xb8, 0xb1, 0x00, 0x31, 0x85, 0xc7,
+    0x89, 0x29, 0x3c, 0x4e, 0xb8, 0xb1, 0x00, 0x11, 0x1f, 0x2c, 0x51, 0xb4,
+    0x50, 0x24, 0x02, 0x5b, 0x2c, 0x46, 0x56, 0x03, 0xc0, 0xe0, 0x77, 0xe5,
+    0x27, 0xbe, 0x00, 0x40, 0xfb, 0xad, 0x08, 0xc2, 0x8e, 0xa6, 0x9c, 0xed,
+    0x8d, 0x2f, 0xd4, 0xa0, 0xf7, 0x77, 0x66, 0x1c, 0xbd, 0x55, 0x1a, 0x4f,
+    0xd6, 0x43, 0x2a, 0x0d, 0x78, 0x8a, 0xd4, 0xde, 0xde, 0xba, 0x3a, 0xca,
+    0x00, 0xe9, 0x6d, 0xb5, 0x61, 0xc9, 0x19, 0x48, 0xcd, 0xa6, 0x21, 0x8a,
+    0x22, 0x7c, 0xdf, 0xf8, 0x54, 0x9c, 0xb5, 0xff, 0x7c, 0x3f, 0x46, 0x17,
+    0xcd, 0x0f, 0x7b, 0xf5, 0x3a, 0xf1, 0xfe, 0xc5, 0xbf, 0xc4, 0x37, 0xf3,
+    0x3c, 0x24, 0xf7, 0xda, 0x35, 0x94, 0x3d, 0x83, 0xcb, 0x0d, 0x8f, 0x0c,
+    0xe3, 0xf6, 0xcc, 0x1c, 0x49, 0x24, 0x12, 0x68, 0x3b, 0xd4, 0xa9, 0x1c,
+    0xe7, 0x3c, 0xf4, 0x01, 0x12, 0xd7, 0xbd, 0x2a, 0xf3, 0x6d, 0x6f, 0xb1,
+    0xc3, 0x9d, 0x73, 0x45, 0x09, 0x82, 0x55, 0x50, 0x84, 0x2b, 0x72, 0x37,
+    0x5c, 0x74, 0x08, 0x8a, 0x7e, 0xaf, 0x4b, 0xf5, 0x12, 0xd8, 0x5b, 0xec,
+    0x88, 0xff, 0x7d, 0x69, 0xcc, 0x68, 0xc6, 0x20, 0x59, 0x96, 0x22, 0xae,
+    0x55, 0xca, 0x38, 0x14, 0x8b, 0xcc, 0xf6, 0x25, 0x67, 0xd5, 0x0e, 0xbf,
+    0xf8, 0x50, 0x44, 0x76, 0x34, 0x23, 0x13, 0x4c, 0x2d, 0x03, 0xa6, 0x96,
+    0x91, 0x38, 0xed, 0x40, 0x64, 0x79, 0x66, 0x3c, 0x5f, 0x64, 0xe0, 0x23,
+    0x8b, 0xc4, 0xaa, 0x2a, 0x25, 0xb8, 0xae, 0x50, 0x14, 0x87, 0xcb, 0x38,
+    0x2f, 0xd3, 0xfc, 0xd3, 0x90, 0x04, 0xb9, 0x23, 0x8b, 0x46, 0x78, 0xfd,
+    0x3e, 0xc4, 0x4f, 0x9e, 0x52, 0x99, 0xef, 0x63, 0x47, 0x9c, 0x10, 0xac,
+    0x02, 0x98, 0x5a, 0x06, 0x9e, 0x6b, 0x1e, 0x4d, 0x1e, 0xd8, 0xd6, 0xda,
+    0xa6, 0x50, 0x8f, 0xd4, 0x6c, 0x0a, 0x5b, 0x85, 0x66, 0xd5, 0x7e, 0x59,
+    0xcb, 0x66, 0x9f, 0x27, 0x3e, 0xd2, 0x8f, 0x59, 0xcf, 0xa7, 0x96, 0x1e,
+    0x28, 0x5d, 0xab, 0x1f, 0xfb, 0x2e, 0x04, 0xee, 0x93, 0x13, 0x54, 0x36,
+    0xaf, 0xf5, 0xf6, 0xe6, 0xf6, 0x21, 0x1b, 0xc1, 0x83, 0x1d, 0x24, 0x94,
+    0xc1, 0x69, 0x7b, 0x3f, 0x74, 0xc2, 0xbc, 0xcd, 0x9c, 0x77, 0x1c, 0x96,
+    0x0b, 0x7b, 0x8b, 0x1d, 0xf6, 0x16, 0x5b, 0x5e, 0x9f, 0xc3, 0xbd, 0x76,
+    0x0d, 0x56, 0xd9, 0x66, 0xe6, 0x48, 0x25, 0xf2, 0x0a, 0xae, 0x88, 0xf9,
+    0x05, 0xf7, 0xf2, 0xdb, 0x4d, 0x92, 0xb4, 0x2c, 0x13, 0x91, 0x44, 0x12,
+    0xb6, 0x99, 0xb9, 0xbc, 0x14, 0x41, 0x98, 0x98, 0x24, 0xa6, 0xf0, 0x38,
+    0x71, 0x14, 0x38, 0x4e, 0x76, 0x2c, 0x64, 0xcc, 0xcf, 0x26, 0x15, 0xed,
+    0xc6, 0xd4, 0x32, 0xb8, 0x7d, 0x75, 0x14, 0xe9, 0xb6, 0x76, 0xca, 0x5b,
+    0x57, 0x47, 0xb9, 0xd7, 0xae, 0xa1, 0xd2, 0x6d, 0xed, 0x14, 0xcb, 0xe6,
+    0xb2, 0x6a, 0x6f, 0x5d, 0x9d, 0xca, 0x9c, 0x67, 0x63, 0x7f, 0xc6, 0x3e,
+    0x8b, 0xc9, 0xa4, 0xfc, 0x3f, 0x30, 0xa2, 0xa7, 0x67, 0xd5, 0x4e, 0x4d,
+    0xd3, 0x76, 0x4b, 0xbe, 0x6e, 0x54, 0x1c, 0xdc, 0x58, 0x40, 0x89, 0x73,
+    0x33, 0xb5, 0x0c, 0x46, 0xdd, 0x97, 0x91, 0xd8, 0xb7, 0x57, 0x19, 0x87,
+    0x7c, 0x7d, 0x2d, 0x05, 0xfc, 0xcb, 0x6a, 0x7a, 0x22, 0x58, 0x05, 0x5d,
+    0x81, 0x95, 0xc3, 0x60, 0x00, 0xb0, 0xca, 0xf3, 0x20, 0xa1, 0x75, 0x4c,
+    0x69, 0x58, 0x4f, 0x17, 0x9c, 0x5c, 0xd8, 0xcf, 0x1b, 0x11, 0x7b, 0xdf,
+    0x86, 0x8e, 0xed, 0x7a, 0xfe, 0x6c, 0xf1, 0xf0, 0x4d, 0xe9, 0xb7, 0x59,
+    0x8e, 0xd3, 0xb6, 0x1f, 0xea, 0xc2, 0x56, 0xa1, 0x19, 0xe1, 0xa3, 0x4e,
+    0x42, 0x0f, 0x0f, 0x29, 0x42, 0x2c, 0x4c, 0x4c, 0x12, 0x6e, 0x2c, 0x40,
+    0xa2, 0x27, 0x4f, 0xe5, 0x78, 0xf0, 0xe6, 0xed, 0x4b, 0x14, 0x47, 0x76,
+    0xb4, 0x64, 0xd8, 0x62, 0x31, 0x12, 0x3e, 0xea, 0x24, 0x5a, 0xe1, 0x1f,
+    0x40, 0xe2, 0xa7, 0x5a, 0x60, 0x6a, 0x19, 0x74, 0xb4, 0x3a, 0x96, 0x8e,
+    0x7b, 0x7f, 0xc9, 0x4e, 0xf8, 0xfd, 0x3e, 0x84, 0x8f, 0x3a, 0x89, 0x30,
+    0x31, 0xa9, 0x3c, 0x10, 0x6e, 0x2c, 0x40, 0xbc, 0xad, 0x0e, 0x22, 0x53,
+    0x17, 0xd9, 0x59, 0x7b, 0x9a, 0xc8, 0xd4, 0xf2, 0x00, 0x72, 0xc6, 0xa1,
+    0xfd, 0xbd, 0xe5, 0xd3, 0x04, 0x40, 0xa2, 0x56, 0x99, 0x63, 0x73, 0xfc,
+    0xe3, 0xe3, 0x60, 0xaf, 0x5e, 0x57, 0xc6, 0xc2, 0x31, 0x33, 0x47, 0xd2,
+    0x5f, 0x5d, 0x20, 0x03, 0x3b, 0xad, 0x64, 0xd7, 0xbe, 0x3d, 0x90, 0xc7,
+    0x69, 0x75, 0x78, 0xb9, 0x5a, 0x76, 0x3d, 0x8d, 0xd8, 0x3b, 0x42, 0x51,
+    0x87, 0x1a, 0x9f, 0xaf, 0xc1, 0xc0, 0x6e, 0x33, 0x3a, 0x37, 0x71, 0x68,
+    0xbe, 0x15, 0x01, 0xca, 0xbc, 0x77, 0x24, 0x91, 0x84, 0x9e, 0x8b, 0xc7,
+    0xb2, 0x2c, 0xf8, 0x06, 0x5e, 0xe1, 0xab, 0x72, 0x88, 0x2a, 0x1f, 0xf8,
+    0x06, 0x1e, 0x67, 0x4e, 0xf6, 0xe4, 0x9c, 0xdb, 0x7e, 0xa8, 0x0b, 0xec,
+    0x5e, 0x1b, 0x49, 0xcf, 0xce, 0xc3, 0x95, 0x67, 0x4a, 0x18, 0x58, 0xd4,
+    0xb6, 0x8b, 0x9e, 0x6e, 0x26, 0xda, 0x5a, 0xdb, 0x54, 0x93, 0x12, 0x11,
+    0xf3, 0x56, 0xaa, 0x6f, 0x2c, 0x40, 0x7a, 0x3e, 0x3f, 0x8d, 0x44, 0x22,
+    0xbe, 0xd4, 0xbe, 0xc5, 0xa8, 0x04, 0x32, 0x38, 0x1d, 0xcb, 0x1a, 0x31,
+    0xf0, 0x45, 0x9f, 0x42, 0x6d, 0x32, 0x63, 0x9c, 0xda, 0x7d, 0x37, 0x02,
+    0x88, 0xe8, 0xee, 0xcf, 0xe9, 0x77, 0x96, 0xa6, 0x33, 0xd4, 0x1a, 0x00,
+    0x00, 0xc2, 0x4e, 0x01, 0xcc, 0x17, 0x2e, 0xa4, 0x66, 0x53, 0x48, 0xcd,
+    0xa6, 0x8a, 0x1e, 0x87, 0xcc, 0x18, 0xb1, 0x16, 0x32, 0x1d, 0x56, 0xe5,
+    0x9e, 0xce, 0xa3, 0x54, 0xc7, 0xa2, 0x4f, 0x90, 0x9a, 0x4d, 0x49, 0x61,
+    0xb6, 0xc5, 0xb1, 0x70, 0x65, 0xd0, 0x2c, 0xbe, 0x81, 0x07, 0xcb, 0x4a,
+    0x61, 0x41, 0xca, 0x5a, 0xea, 0x0c, 0x58, 0x06, 0x6c, 0xbf, 0xe6, 0x70,
+    0xe1, 0xb7, 0x7c, 0xde, 0x7c, 0x83, 0x7c, 0xf8, 0xc8, 0x7f, 0xbf, 0xe8,
+    0x5c, 0x84, 0x4c, 0x14, 0x33, 0x43, 0xc6, 0x8d, 0x05, 0x48, 0xf8, 0x6e,
+    0x10, 0xe2, 0x03, 0x51, 0xe5, 0xa1, 0xca, 0xe0, 0x1b, 0x78, 0xf0, 0x9b,
+    0x78, 0x58, 0x4c, 0x26, 0x15, 0xdf, 0x74, 0xcc, 0xcc, 0x11, 0xcf, 0x35,
+    0x0f, 0x7c, 0xdf, 0x2c, 0x09, 0x3a, 0xcd, 0x18, 0xd0, 0xb4, 0xc5, 0x04,
+    0x9e, 0xe7, 0x11, 0xba, 0x2b, 0x9b, 0x4d, 0x5a, 0x72, 0xa4, 0x32, 0x04,
+    0x52, 0xce, 0x79, 0x90, 0x1d, 0x1f, 0x7e, 0x13, 0xaf, 0x3b, 0xbb, 0x04,
+    0x48, 0x8e, 0x4e, 0x28, 0x12, 0x51, 0x39, 0x4a, 0xf2, 0x79, 0xe6, 0xed,
+    0x4d, 0x39, 0x13, 0x15, 0xec, 0xd5, 0xeb, 0xc4, 0x73, 0xcd, 0x03, 0x9a,
+    0x31, 0xe0, 0xcc, 0x89, 0x53, 0x70, 0xaf, 0x5d, 0x43, 0x09, 0x13, 0x93,
+    0xa4, 0xa7, 0xb7, 0x07, 0x00, 0xd0, 0xf6, 0x4e, 0x67, 0xc9, 0xd3, 0xa7,
+    0xdc, 0x58, 0x80, 0x88, 0xa2, 0x08, 0xa6, 0x96, 0x56, 0x45, 0x32, 0xe4,
+    0x80, 0x7f, 0x66, 0x9c, 0xd5, 0xf8, 0x22, 0x07, 0xfe, 0x65, 0x2e, 0x67,
+    0x1c, 0xe4, 0xf3, 0x32, 0xdb, 0x77, 0xfc, 0x88, 0x13, 0xde, 0xba, 0x3a,
+    0x55, 0xfb, 0xf2, 0x25, 0xe2, 0xe8, 0x25, 0x37, 0x19, 0x5f, 0xe4, 0x20,
+    0x58, 0x05, 0x55, 0xbf, 0x28, 0x9c, 0xbc, 0x5c, 0x30, 0x84, 0x94, 0x83,
+    0x5a, 0x1a, 0x97, 0x77, 0x9b, 0x0b, 0x52, 0x82, 0x62, 0x10, 0x8c, 0x26,
+    0xd1, 0x7c, 0x23, 0x08, 0xfc, 0xa3, 0xf8, 0xf0, 0x05, 0x43, 0x03, 0x67,
+    0xfe, 0xe3, 0xad, 0x67, 0x3a, 0x4f, 0xa0, 0x8a, 0x95, 0xc3, 0xaa, 0x52,
+    0x4f, 0xb0, 0xfd, 0x9a, 0x43, 0xec, 0xa0, 0x50, 0x11, 0x81, 0x05, 0x80,
+    0x26, 0xce, 0x80, 0xd8, 0x3b, 0x02, 0x4c, 0x2f, 0x17, 0x7f, 0xbd, 0x42,
+    0xe1, 0x39, 0xc7, 0x02, 0x21, 0xe9, 0x3b, 0x93, 0x44, 0xbc, 0x39, 0x4e,
+    0x86, 0x2f, 0xdd, 0x26, 0xe2, 0xcd, 0x71, 0x92, 0xbe, 0x33, 0x49, 0x8a,
+    0x89, 0xf1, 0x56, 0xf1, 0xec, 0x43, 0x33, 0x35, 0x51, 0x13, 0x34, 0x70,
+    0xb9, 0xa5, 0x70, 0x36, 0x57, 0x39, 0x30, 0x3e, 0x5f, 0x83, 0xb0, 0xa3,
+    0xa9, 0x6c, 0xba, 0x90, 0x8d, 0xc6, 0x73, 0xa3, 0x98, 0xca, 0x90, 0x6c,
+    0x89, 0xfe, 0x44, 0x31, 0x10, 0x29, 0x2f, 0x5c, 0x96, 0x09, 0xc7, 0x02,
+    0x51, 0xa2, 0x2d, 0x0c, 0x0d, 0xcd, 0x7c, 0xdf, 0xec, 0x65, 0xf4, 0xe2,
+    0x4b, 0x95, 0x4b, 0x66, 0x77, 0xe8, 0x4c, 0x65, 0xf3, 0x8f, 0xa7, 0x89,
+    0x6f, 0x6a, 0x89, 0x4f, 0x9a, 0x58, 0x43, 0x45, 0x56, 0x3c, 0xa7, 0xef,
+    0x4c, 0x92, 0x70, 0x22, 0x89, 0x68, 0x32, 0x05, 0x81, 0x63, 0x61, 0xdf,
+    0x64, 0x54, 0xf5, 0x99, 0x9d, 0x88, 0x11, 0x57, 0x48, 0xfd, 0xcc, 0x04,
+    0x8e, 0x45, 0xe7, 0x16, 0xae, 0xac, 0xd5, 0x27, 0x96, 0x27, 0xd3, 0xc4,
+    0xf3, 0x20, 0x0e, 0x5f, 0x74, 0xc9, 0xd9, 0x36, 0xd4, 0xd0, 0xe8, 0xfb,
+    0xbd, 0x49, 0xb9, 0x5e, 0x71, 0x42, 0xbb, 0x9e, 0xc6, 0xbd, 0xb7, 0x05,
+    0x34, 0xbe, 0x50, 0x7e, 0xbc, 0xb0, 0x18, 0x9c, 0xb1, 0x36, 0x82, 0xa5,
+    0x6b, 0x96, 0x1d, 0xd3, 0x9d, 0xd2, 0x51, 0xc5, 0x95, 0x08, 0xed, 0x35,
+    0x5f, 0xf4, 0xa9, 0xae, 0x73, 0x2f, 0x2b, 0xdf, 0x97, 0x9d, 0x88, 0x91,
+    0xba, 0xb3, 0x59, 0xa1, 0xfb, 0x93, 0x97, 0x89, 0xd3, 0xc2, 0x81, 0x7f,
+    0xa3, 0xfc, 0xd4, 0x47, 0xdb, 0xcc, 0x1c, 0x69, 0x3c, 0xe7, 0x45, 0xd7,
+    0x67, 0x57, 0x60, 0xfa, 0xea, 0x36, 0x39, 0xfc, 0xde, 0x12, 0xa7, 0xb7,
+    0xcd, 0xcc, 0xe5, 0xde, 0x13, 0x40, 0xe0, 0xf1, 0x34, 0x59, 0xce, 0x0b,
+    0x93, 0x9d, 0x40, 0xe5, 0x9f, 0x4a, 0xc2, 0x15, 0x12, 0x71, 0x26, 0xe3,
+    0x98, 0xc1, 0xef, 0xa2, 0x39, 0x0b, 0x5d, 0xfd, 0x53, 0x49, 0x9c, 0xf0,
+    0x8b, 0x70, 0xde, 0x1c, 0x27, 0xc5, 0xf6, 0xd9, 0xb1, 0x40, 0x48, 0xfb,
+    0xff, 0x04, 0xd1, 0x75, 0x4e, 0xdb, 0x69, 0x76, 0xbe, 0xbe, 0xe4, 0x34,
+    0x16, 0xa6, 0x07, 0x34, 0x10, 0xd8, 0xdd, 0xb4, 0xe2, 0x02, 0x2b, 0xe3,
+    0x23, 0x0b, 0x87, 0xde, 0xdf, 0x95, 0x93, 0x82, 0xfc, 0x74, 0x90, 0x2d,
+    0xf8, 0x9e, 0x07, 0x6a, 0x6f, 0x79, 0xf0, 0x3b, 0xed, 0x89, 0x1a, 0x57,
+    0x28, 0x8a, 0xe1, 0x4b, 0xb7, 0xcb, 0xa6, 0x28, 0x9e, 0x07, 0x09, 0x85,
+    0x16, 0x65, 0xb7, 0x21, 0xbb, 0x38, 0x8a, 0x8c, 0x4c, 0xcd, 0x5b, 0x0e,
+    0x92, 0xe9, 0xdc, 0xe9, 0xf9, 0x54, 0x5a, 0xd2, 0x86, 0xf2, 0xef, 0xa1,
+    0x3f, 0x34, 0xc1, 0x5a, 0x6f, 0xd0, 0x3c, 0xdf, 0x15, 0x8a, 0xa2, 0xff,
+    0xab, 0xdb, 0xa4, 0x50, 0x5c, 0xdd, 0xf2, 0x64, 0x9a, 0x34, 0x9e, 0x1b,
+    0x85, 0x47, 0x27, 0xd6, 0xef, 0xb4, 0x70, 0x2a, 0x6b, 0x55, 0x50, 0x68,
+    0x2f, 0xb7, 0x34, 0xa1, 0x89, 0xd3, 0x6e, 0x54, 0xb9, 0xb8, 0xff, 0xc3,
+    0x3c, 0xcc, 0xee, 0xa0, 0xee, 0x84, 0xc4, 0xb3, 0x2e, 0xb8, 0xf9, 0x90,
+    0x9c, 0xd7, 0x27, 0xdc, 0xfe, 0xa9, 0x24, 0x9a, 0x2f, 0xfa, 0x54, 0x0f,
+    0xbd, 0xe8, 0xeb, 0x6a, 0x08, 0xd0, 0x4f, 0x85, 0xcc, 0x77, 0xc4, 0xfd,
+    0x1c, 0x45, 0xb5, 0xbd, 0xbb, 0x8b, 0xea, 0xdb, 0x6d, 0x06, 0xa3, 0x31,
+    0x79, 0x14, 0x49, 0x24, 0xd1, 0x78, 0xce, 0x0b, 0xfa, 0xfb, 0x49, 0xcd,
+    0x3e, 0xa7, 0xef, 0x4c, 0x92, 0xe6, 0x8b, 0x3e, 0x4d, 0xeb, 0x58, 0xcf,
+    0xd0, 0x08, 0x1c, 0x10, 0x72, 0x2c, 0xd4, 0xea, 0x7a, 0x86, 0xd6, 0x35,
+    0xa7, 0xa6, 0x97, 0x8d, 0x2b, 0xc2, 0x61, 0x1b, 0x5f, 0xa8, 0x41, 0xe4,
+    0x51, 0x1c, 0x6f, 0x3d, 0x8a, 0x03, 0xeb, 0x69, 0xf4, 0x9a, 0x1a, 0x73,
+    0x96, 0xea, 0x7c, 0x64, 0xe1, 0xe0, 0x4f, 0x24, 0xe1, 0xfd, 0xbf, 0x5c,
+    0xcd, 0x65, 0x62, 0x2b, 0xfb, 0x12, 0x3d, 0x4d, 0x44, 0x12, 0x92, 0xe0,
+    0x8e, 0x2e, 0xd3, 0x74, 0x3f, 0x6b, 0xa0, 0x5f, 0xdb, 0x48, 0x05, 0x74,
+    0x56, 0x6e, 0xa7, 0xd2, 0x40, 0xfb, 0xd7, 0x61, 0xd4, 0xff, 0xd7, 0x75,
+    0xd2, 0x69, 0xe2, 0x16, 0xb7, 0xa5, 0x71, 0x45, 0x8c, 0x63, 0x4a, 0x27,
+    0x7f, 0xdb, 0x69, 0xe1, 0x70, 0x6a, 0xa7, 0x59, 0x73, 0xc5, 0xca, 0x6a,
+    0x8e, 0xa9, 0xd1, 0x16, 0x5a, 0x1a, 0x18, 0x6d, 0x31, 0xe5, 0x6c, 0x1e,
+    0x88, 0x44, 0xe1, 0x99, 0x4a, 0xc2, 0xfb, 0x43, 0x0a, 0x48, 0x25, 0x81,
+    0x34, 0x80, 0x7a, 0x23, 0xc8, 0xbf, 0xe5, 0x26, 0xcc, 0xe4, 0xc5, 0x7a,
+    0x5a, 0x0a, 0x73, 0xfd, 0x23, 0x8d, 0xa3, 0xb7, 0xc2, 0x38, 0x7a, 0x4b,
+    0xba, 0xce, 0xbd, 0xdd, 0x26, 0x85, 0x8a, 0x5c, 0xf8, 0x2d, 0x8f, 0xba,
+    0x68, 0x1c, 0x98, 0x55, 0xb7, 0x8f, 0x33, 0x54, 0x60, 0x3e, 0xf8, 0x27,
+    0x84, 0xbc, 0xfe, 0x6d, 0xe8, 0xfb, 0x49, 0x52, 0x4c, 0x62, 0xfb, 0xcf,
+    0x05, 0xa1, 0x0d, 0xeb, 0xa8, 0xc3, 0x00, 0xe2, 0x63, 0xf7, 0xc8, 0x09,
+    0x7f, 0xae, 0x43, 0x3d, 0x95, 0x4a, 0x43, 0x6b, 0x7b, 0x26, 0x18, 0x1a,
+    0x18, 0x6d, 0x15, 0x20, 0xbe, 0xb4, 0x8e, 0xd2, 0x9b, 0xe4, 0x5e, 0x25,
+    0x70, 0xac, 0xe6, 0x0e, 0x5b, 0x03, 0xa7, 0xd6, 0x7c, 0xfe, 0xfb, 0xa0,
+    0xbe, 0x18, 0x45, 0xd7, 0xb5, 0xb0, 0xa4, 0xfd, 0x12, 0x8b, 0x02, 0x0b,
+    0xc0, 0xf9, 0xab, 0xdc, 0x99, 0x8e, 0x82, 0x58, 0xad, 0xc1, 0x91, 0xa7,
+    0xe2, 0xd8, 0x7c, 0xd1, 0xab, 0xd0, 0x06, 0xe3, 0xf3, 0x35, 0xb0, 0x71,
+    0xb9, 0x9a, 0xde, 0xc4, 0x96, 0x71, 0xbf, 0x67, 0x10, 0xed, 0x5f, 0x87,
+    0x11, 0xbc, 0x3a, 0xfe, 0x4f, 0x17, 0x86, 0x33, 0xee, 0xd8, 0x4c, 0x05,
+    0x0e, 0x08, 0x9a, 0x74, 0x21, 0x1f, 0x4c, 0xac, 0x01, 0xb1, 0x23, 0xfb,
+    0x0b, 0x46, 0x5b, 0x56, 0xe9, 0x99, 0xda, 0x63, 0x5b, 0x24, 0x35, 0x1e,
+    0xff, 0x71, 0x1e, 0xd4, 0x97, 0xa3, 0x52, 0x28, 0x6a, 0x56, 0x9b, 0x46,
+    0x58, 0x2a, 0x69, 0xae, 0xd3, 0xc0, 0x5b, 0x7f, 0x0e, 0xe2, 0xcc, 0x62,
+    0x35, 0x1b, 0xbb, 0x06, 0xc9, 0x17, 0xea, 0x2b, 0x4f, 0x59, 0x56, 0x0a,
+    0x26, 0xd6, 0x80, 0xeb, 0xad, 0x4d, 0x98, 0xfb, 0xcf, 0xfd, 0xb8, 0xf0,
+    0xc9, 0x5b, 0xd4, 0xbd, 0xf7, 0x05, 0x9c, 0xb2, 0xf2, 0xca, 0x03, 0x1d,
+    0x8c, 0x44, 0xe1, 0xfd, 0x53, 0xe0, 0x9f, 0x2e, 0x86, 0x2c, 0xbe, 0xb4,
+    0xae, 0x24, 0xc1, 0x95, 0xf9, 0x6b, 0x31, 0x0b, 0x58, 0x57, 0xe9, 0xc5,
+    0xf2, 0x9a, 0x38, 0x03, 0xe2, 0x3f, 0xce, 0xa3, 0xee, 0xbf, 0x7d, 0x05,
+    0x67, 0xab, 0x56, 0x82, 0xf7, 0x1e, 0xbd, 0x15, 0x86, 0xd9, 0x1d, 0x44,
+    0x57, 0xd6, 0x72, 0x1d, 0x86, 0xae, 0x6c, 0xdc, 0x73, 0xa5, 0x11, 0x38,
+    0x20, 0x20, 0xf1, 0x4a, 0x1d, 0x25, 0x3f, 0x8c, 0xd0, 0x86, 0x75, 0x94,
+    0x71, 0xc7, 0x66, 0x2a, 0x76, 0x64, 0x3f, 0xec, 0x8b, 0xe3, 0xe6, 0x11,
+    0xe3, 0x05, 0x1d, 0xb4, 0x54, 0xfa, 0x29, 0x57, 0x4c, 0xa9, 0x10, 0x56,
+    0xa2, 0xd0, 0xcb, 0x2a, 0x00, 0xca, 0xe0, 0x65, 0xa2, 0xf3, 0x46, 0x18,
+    0x75, 0xe7, 0x0b, 0x0b, 0x2c, 0xd6, 0xaf, 0x1c, 0xbf, 0x8c, 0x3c, 0x8a,
+    0xe7, 0x24, 0xd5, 0xd8, 0xf9, 0xe5, 0x67, 0x89, 0x3d, 0x2d, 0x58, 0xeb,
+    0xf5, 0xeb, 0xf2, 0xba, 0x9f, 0xa3, 0x28, 0xdb, 0xbf, 0x36, 0x53, 0xce,
+    0xc5, 0x7c, 0xe3, 0x48, 0x22, 0x89, 0xcd, 0xe7, 0x7c, 0x10, 0x6f, 0x8e,
+    0xab, 0x42, 0x44, 0xf2, 0xec, 0xde, 0x4a, 0xd7, 0x51, 0xab, 0x34, 0xf8,
+    0xc7, 0x52, 0xed, 0x8c, 0x62, 0x31, 0x95, 0x4a, 0x17, 0x1d, 0x59, 0x59,
+    0x05, 0xa8, 0x03, 0xb7, 0x32, 0x06, 0xef, 0x46, 0x75, 0xe9, 0x80, 0x0a,
+    0xb5, 0x4f, 0xd7, 0x93, 0xef, 0xdc, 0xb2, 0x3c, 0xa1, 0x2d, 0x14, 0x33,
+    0x7c, 0xda, 0xe0, 0xdf, 0xd8, 0x4a, 0x0d, 0xbd, 0xb9, 0x14, 0x2e, 0x72,
+    0x85, 0xa2, 0xa8, 0x3b, 0xeb, 0x45, 0xd7, 0xc9, 0xcb, 0xa4, 0xeb, 0xe4,
+    0x65, 0xb2, 0xe6, 0xb3, 0x2b, 0x28, 0x75, 0x85, 0x74, 0xa5, 0x50, 0x8e,
+    0x76, 0x77, 0x2c, 0x10, 0x22, 0xde, 0x1c, 0x2f, 0xab, 0x3a, 0x91, 0x1c,
+    0x59, 0x49, 0xdf, 0xd1, 0x0e, 0x8f, 0xc9, 0x58, 0x05, 0x48, 0xe6, 0xb6,
+    0xbe, 0x54, 0xd6, 0xbc, 0x88, 0x8e, 0x17, 0x9e, 0x9e, 0x27, 0x6f, 0xad,
+    0x37, 0x2c, 0x9b, 0x1a, 0x54, 0x24, 0x7f, 0xb8, 0xc2, 0x48, 0xbf, 0xba,
+    0xb1, 0x2c, 0xc7, 0x45, 0x86, 0xde, 0x79, 0x99, 0x53, 0xa1, 0xe5, 0x40,
+    0x2f, 0x8e, 0xae, 0xf7, 0x0c, 0xf8, 0xc7, 0xd2, 0x24, 0x81, 0x9e, 0x55,
+    0x30, 0xb1, 0x06, 0x9c, 0xb2, 0xf2, 0x38, 0x65, 0xe5, 0xe1, 0xb4, 0x70,
+    0xd0, 0x92, 0xb9, 0x54, 0x5a, 0x5a, 0x79, 0x3d, 0x7c, 0x49, 0x7f, 0x52,
+    0x42, 0x99, 0x5c, 0xe8, 0xb1, 0x36, 0x16, 0xd1, 0x8d, 0x5c, 0x24, 0xca,
+    0xe5, 0x2c, 0x65, 0x4c, 0xa9, 0xf6, 0x58, 0x73, 0x43, 0x70, 0xa5, 0xa2,
+    0xfb, 0x86, 0xe4, 0xb1, 0xf3, 0x8f, 0xa7, 0x49, 0x39, 0x41, 0xfe, 0x95,
+    0x42, 0x68, 0xc3, 0x3a, 0x2a, 0x76, 0x64, 0x7f, 0x59, 0x31, 0xe8, 0xd0,
+    0x06, 0x6d, 0xa5, 0xe3, 0x9f, 0x4a, 0x22, 0x3e, 0x76, 0xaf, 0xac, 0x3e,
+    0x06, 0xaf, 0x8e, 0x13, 0xad, 0x50, 0x68, 0x87, 0x29, 0xd7, 0xd2, 0x65,
+    0x6a, 0x57, 0xad, 0x73, 0x4c, 0xac, 0x01, 0x81, 0x03, 0x02, 0x0e, 0xbf,
+    0xb7, 0x8b, 0x32, 0xee, 0xd8, 0x4c, 0x19, 0x77, 0x6c, 0xa6, 0xf8, 0x37,
+    0xb6, 0x52, 0xc7, 0xff, 0x7d, 0xaf, 0xee, 0xa4, 0x84, 0x7f, 0x4a, 0x9a,
+    0x94, 0xd0, 0xd2, 0xba, 0x4a, 0xee, 0x41, 0xfa, 0xd5, 0x8d, 0x65, 0xe5,
+    0xd6, 0x7a, 0x7f, 0xd0, 0x4f, 0x4a, 0xd6, 0x43, 0x30, 0x5a, 0xba, 0xc0,
+    0x56, 0x42, 0xcb, 0xca, 0x18, 0x8c, 0x44, 0x31, 0x28, 0xaf, 0x8b, 0x2b,
+    0x90, 0x9a, 0x69, 0xad, 0x37, 0xc0, 0x69, 0xe1, 0x9f, 0x4a, 0xb9, 0x7d,
+    0xf7, 0x73, 0x14, 0x75, 0x18, 0x92, 0xc0, 0x0c, 0x96, 0xb8, 0x6e, 0x6f,
+    0xb4, 0xb5, 0x09, 0x5a, 0x26, 0xf9, 0x84, 0x5f, 0x84, 0xf5, 0xd2, 0x6d,
+    0xd2, 0x69, 0xe2, 0x60, 0xdf, 0xc4, 0xe5, 0xf5, 0xce, 0x1d, 0x0b, 0x84,
+    0x78, 0x1e, 0x44, 0x71, 0xdc, 0x7f, 0x1f, 0x53, 0x1a, 0xf7, 0x37, 0xb1,
+    0x06, 0xf4, 0xfd, 0xde, 0xac, 0x5a, 0x8c, 0x29, 0x6b, 0x57, 0xbd, 0x09,
+    0x2a, 0x39, 0xe7, 0x42, 0x2f, 0x3a, 0x4b, 0xbf, 0xb6, 0x91, 0xba, 0x3f,
+    0x33, 0x47, 0xf6, 0x8c, 0x84, 0x34, 0x27, 0x25, 0xba, 0x6f, 0x84, 0x61,
+    0xbd, 0x74, 0x9b, 0x64, 0x16, 0xdd, 0x56, 0x25, 0xcc, 0xf4, 0xed, 0x36,
+    0x61, 0xb3, 0x4e, 0xc2, 0x82, 0x2e, 0x12, 0x49, 0xc4, 0x7f, 0x9c, 0x2f,
+    0x29, 0x11, 0xbc, 0xd4, 0x7a, 0x08, 0x0c, 0x0d, 0xa9, 0x52, 0xf8, 0xbb,
+    0xa5, 0x35, 0xad, 0x12, 0xf0, 0x4f, 0x25, 0xe1, 0x9f, 0x0a, 0xa2, 0xd8,
+    0x8a, 0xe9, 0x9c, 0x81, 0x59, 0x76, 0xa5, 0xf4, 0xa6, 0x7d, 0x5b, 0x29,
+    0xe1, 0xfb, 0x49, 0xd2, 0xfe, 0x75, 0xf1, 0x5c, 0x36, 0xb4, 0x61, 0x1d,
+    0x15, 0x78, 0x32, 0x4d, 0xf6, 0x8c, 0x04, 0x73, 0x04, 0x48, 0xea, 0x43,
+    0x12, 0x80, 0x24, 0x00, 0x86, 0x1a, 0x5a, 0x15, 0xeb, 0xf6, 0x45, 0xa5,
+    0xbc, 0x86, 0xae, 0xcf, 0xf4, 0x8b, 0xb5, 0x58, 0xeb, 0x0d, 0x18, 0x6d,
+    0x5d, 0x0a, 0x49, 0xc9, 0x85, 0xb6, 0xbb, 0x74, 0x9c, 0x2d, 0x86, 0x06,
+    0xfa, 0x76, 0x17, 0x57, 0x15, 0xc8, 0xbb, 0x76, 0x4d, 0xde, 0x97, 0x55,
+    0xd6, 0xba, 0x7d, 0x8b, 0x93, 0x31, 0x39, 0xb5, 0xbc, 0xca, 0x29, 0x8d,
+    0xe4, 0xfc, 0x0d, 0x8f, 0x33, 0x25, 0xd0, 0x0b, 0xea, 0x8b, 0xd1, 0xe2,
+    0x9c, 0xbc, 0x45, 0x14, 0x5b, 0x12, 0x49, 0x86, 0x78, 0x73, 0xbc, 0xa2,
+    0xde, 0x76, 0x66, 0x85, 0xf2, 0xec, 0x5a, 0x67, 0x81, 0x03, 0x82, 0xca,
+    0x02, 0xb0, 0x13, 0x31, 0xb2, 0x77, 0x44, 0xca, 0xbe, 0x5f, 0x6e, 0x66,
+    0x17, 0xff, 0x58, 0xfa, 0x5c, 0x40, 0xb6, 0x06, 0x32, 0xb1, 0x06, 0x64,
+    0x66, 0x79, 0x65, 0x83, 0xfe, 0x5e, 0x8a, 0x36, 0x54, 0x22, 0xab, 0xcd,
+    0xce, 0x1b, 0xe1, 0x7c, 0x9d, 0xcf, 0xb1, 0x72, 0xde, 0x3f, 0x05, 0x88,
+    0x5e, 0x82, 0x8b, 0xb5, 0xde, 0x80, 0xbe, 0xdd, 0xa6, 0xb2, 0xca, 0xb4,
+    0xb2, 0x13, 0x31, 0xd2, 0xfe, 0x75, 0x50, 0xd7, 0x89, 0x1b, 0x7a, 0xd3,
+    0xac, 0x5d, 0x9f, 0xb6, 0x64, 0xf3, 0x44, 0x03, 0x81, 0xb7, 0x85, 0xa2,
+    0x12, 0x6b, 0x4a, 0xad, 0xed, 0xd5, 0x61, 0xe2, 0xd0, 0xb4, 0xaf, 0xf4,
+    0x07, 0x9f, 0x99, 0xf7, 0xba, 0x1c, 0x68, 0x51, 0x12, 0xfe, 0xb1, 0xc4,
+    0x85, 0x39, 0x86, 0xd6, 0xcc, 0x19, 0x75, 0x2c, 0x10, 0x92, 0x4a, 0xcf,
+    0x57, 0xac, 0x9a, 0x79, 0xb9, 0xf9, 0xb9, 0xb6, 0x99, 0x39, 0xe2, 0x9b,
+    0x4a, 0x20, 0x9a, 0x9a, 0x57, 0x9c, 0xb2, 0x68, 0x6a, 0x5e, 0x97, 0x77,
+    0x32, 0xb4, 0x94, 0xbb, 0x6a, 0x62, 0x19, 0x98, 0x58, 0x03, 0x84, 0x7a,
+    0xa3, 0x2e, 0x9d, 0xa0, 0xbf, 0x9f, 0x24, 0x03, 0x11, 0xe9, 0xc5, 0x48,
+    0xa5, 0x25, 0x41, 0x35, 0xd4, 0xd0, 0xe8, 0xd8, 0xc2, 0x2d, 0x9b, 0x4a,
+    0x39, 0x16, 0x08, 0x19, 0xfc, 0x2e, 0x8a, 0x2b, 0x8b, 0x05, 0x64, 0xfc,
+    0x53, 0x49, 0xd4, 0x33, 0x34, 0x38, 0xa6, 0x06, 0xc3, 0x6f, 0x5a, 0xb4,
+    0x85, 0xd6, 0xb1, 0x40, 0x48, 0x76, 0xde, 0x68, 0x41, 0xac, 0xa7, 0x11,
+    0xd8, 0x9d, 0x3f, 0x23, 0xec, 0x4c, 0x28, 0x5a, 0x52, 0xae, 0x6c, 0x29,
+    0xd5, 0x12, 0xab, 0xf8, 0xe5, 0x40, 0xb7, 0x12, 0x78, 0x59, 0x82, 0x0b,
+    0x69, 0x39, 0xce, 0xb1, 0x2d, 0x9c, 0x4a, 0x78, 0x83, 0xd1, 0x24, 0xba,
+    0x43, 0x62, 0x49, 0xe5, 0x3e, 0xed, 0xbc, 0x11, 0x43, 0x7f, 0x68, 0xaa,
+    0x7e, 0x34, 0xaf, 0x8a, 0x1c, 0x14, 0xfc, 0x50, 0x48, 0x39, 0x9e, 0xec,
+    0x72, 0x51, 0x2e, 0x25, 0xa8, 0xe2, 0x97, 0x81, 0xa2, 0x3e, 0xc9, 0x94,
+    0xbe, 0x33, 0x49, 0x8e, 0xfb, 0xcb, 0xab, 0xaa, 0x58, 0x0a, 0x4a, 0xf1,
+    0x38, 0xab, 0xf8, 0xe5, 0xa2, 0xa8, 0xd5, 0xb8, 0xf4, 0x6b, 0x1b, 0xa9,
+    0xfb, 0xef, 0xdb, 0x74, 0x97, 0x55, 0x54, 0x02, 0xd6, 0x7a, 0x03, 0xee,
+    0xbf, 0x6f, 0xab, 0x0a, 0x6c, 0x15, 0x05, 0x51, 0xf2, 0x67, 0x46, 0xf9,
+    0xc7, 0xd3, 0xe4, 0xb8, 0xbf, 0x72, 0x5f, 0x6d, 0xb4, 0xd6, 0x1b, 0xd0,
+    0x63, 0x35, 0xfd, 0xac, 0x32, 0xb7, 0xaa, 0xf8, 0x69, 0x51, 0xf6, 0x07,
+    0x9d, 0x2d, 0x4f, 0xa6, 0x17, 0xc3, 0x12, 0x71, 0xdd, 0xd9, 0x10, 0x3d,
+    0xd4, 0x33, 0x52, 0xed, 0x2f, 0xe7, 0xeb, 0x7c, 0xf5, 0x23, 0x77, 0x55,
+    0x94, 0x8c, 0x65, 0x7d, 0x85, 0x5c, 0x46, 0x66, 0x3c, 0x30, 0x92, 0x48,
+    0xe5, 0x2c, 0xee, 0x93, 0x63, 0x7f, 0x1c, 0x53, 0x03, 0xa1, 0x9e, 0xad,
+    0x0a, 0x6a, 0x15, 0xcb, 0xc2, 0xff, 0x03, 0x99, 0x27, 0x97, 0x03, 0x19,
+    0x20, 0xba, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae,
+    0x42, 0x60, 0x82
 };
 
 
@@ -1000,13 +1114,13 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool
 
     CodecsPage_4 = new QWidget( Tab_About, "CodecsPage_4" );
 
+    textLabel1 = new QLabel( CodecsPage_4, "textLabel1" );
+    textLabel1->setGeometry( QRect( 85, 126, 291, 131 ) );
+
     pixmapLabel2 = new QLabel( CodecsPage_4, "pixmapLabel2" );
     pixmapLabel2->setGeometry( QRect( 130, 50, 173, 48 ) );
     pixmapLabel2->setPixmap( image1 );
     pixmapLabel2->setScaledContents( TRUE );
-
-    textLabel1 = new QLabel( CodecsPage_4, "textLabel1" );
-    textLabel1->setGeometry( QRect( 85, 126, 291, 131 ) );
     Tab_About->insertTab( CodecsPage_4, QString("") );
     layout17->addWidget( Tab_About );
 
diff --git a/src/configurationpanelui.h b/src/configurationpanelui.h
index 42d617251d26c1a7453160f614b7a8de4b810252..5e9040333263510d8df36d411a8a7386310da935 100644
--- a/src/configurationpanelui.h
+++ b/src/configurationpanelui.h
@@ -1,7 +1,7 @@
 /****************************************************************************
 ** Form interface generated from reading ui file 'configurationpanel.ui'
 **
-** Created: Tue Apr 12 09:35:08 2005
+** Created: Wed Apr 20 14:48:03 2005
 **      by: The User Interface Compiler ($Id$)
 **
 ** WARNING! All changes made in this file will be lost!
@@ -120,8 +120,8 @@ public:
     QLabel* textLabel2_2;
     QLabel* pixmapLabel1;
     QWidget* CodecsPage_4;
-    QLabel* pixmapLabel2;
     QLabel* textLabel1;
+    QLabel* pixmapLabel2;
 
 public slots:
     virtual void saveSlot();
diff --git a/src/manager.cpp b/src/manager.cpp
index 523bf052e03ec5b0ff539c680f1b52206943f622..b27f3f73eac4f69d75aa3014ad3e0b00894353d4 100644
--- a/src/manager.cpp
+++ b/src/manager.cpp
@@ -59,6 +59,7 @@ Manager::Manager (QString *Dc = NULL) {
 	
 	exist = createSettingsPath();
 	
+	selectAudioDriver();
 	phonegui = new QtGUIMainWindow (0, 0 ,  
 					Qt::WDestructiveClose | 
 					Qt::WStyle_Customize |
@@ -70,7 +71,6 @@ Manager::Manager (QString *Dc = NULL) {
 	error = new Error(this);
 	
 	sip_init();
-	selectAudioDriver();
 
 	// Init variables
 	b_ringing = false;
@@ -142,7 +142,7 @@ Manager::createSettingsPath (void) {
 void 
 Manager::selectAudioDriver (void) {
 	if (Config::getb("Audio", "Drivers.driverOSS")) {
-		useAlsa = false;
+		useAlsa = false; 
 		this->audiodriver = new AudioDriversOSS (AudioDrivers::ReadWrite, error);
 	}
 	if (Config::getb("Audio", "Drivers.driverALSA")) {
@@ -198,14 +198,27 @@ Manager::ringing (void) {
 // When IP-phone user receives a call 
 void
 Manager::ring (bool var) {
+	if (sip->getNumberPendingCalls() != 1 and tonezone == true 
+			and var == false) {
+	// If more than one line is ringing
+		for (int i = 0; i < NUMBER_OF_LINES; i++) {
+			if (i != getCurrentLineNumber() and phLines[i]->getbRinging()) {
+				tonezone = false;
+				tone->playRingtone ((gui()->getRingFile()).ascii());
+			}
+		}
+	}
+
 	if (this->b_ringing != var) {
 		this->b_ringing = var;
 	}
 
 	tonezone = ringing();
 
-	if (sip->getNumberPendingCalls() == 1) 
+	if (sip->getNumberPendingCalls() == 1) { 
+	// If just one line is ringing
 		tone->playRingtone ((gui()->getRingFile()).ascii());
+	} 
 }
 
 // When IP-phone user makes call
@@ -220,11 +233,15 @@ Manager::ringTone (bool var) {
 
 void
 Manager::congestion (bool var) {
-	if (this->b_congestion != var) {
-		this->b_congestion = var;
+	if (error->getError() == 0) {
+		if (this->b_congestion != var) {
+			this->b_congestion = var;
+		}
+		tonezone = var;
+		tone->toneHandle(ZT_TONE_CONGESTION);
+	} else {
+		error->errorName(DEVICE_NOT_OPEN, NULL);
 	}
-	tonezone = var;
-	tone->toneHandle(ZT_TONE_CONGESTION);
 }
 
 void
@@ -267,16 +284,16 @@ Manager::actionHandle (int lineNumber, int action) {
 		sip->manageActions (lineNumber, REFUSE_CALL);
 		this->ring(false);
 		phLines[lineNumber]->setbRinging(false);
-		gui()->lcd->setStatus("Call refused");
+		gui()->lcd->setStatus(REFUSED_CALL_STATUS);
 		break;
 		
 	case ANSWER_CALL:
 		// TODO
 		// Stopper l'etat "ringing" du main (audio, signalisation, gui)
-		sip->manageActions (lineNumber, ANSWER_CALL);		
 		this->ring(false);
+		sip->manageActions (lineNumber, ANSWER_CALL);		
 		phLines[lineNumber]->setbRinging(false);
-		gui()->lcd->setStatus("Connected");	
+		gui()->lcd->setStatus(CONNECTED_STATUS);	
 		gui()->startCallTimer(lineNumber);
 		break;
 
@@ -292,7 +309,6 @@ Manager::actionHandle (int lineNumber, int action) {
 
 	case ONHOLD_CALL:
 		if (sip->call[lineNumber] != NULL) {
-			//gui()->lcd->setStatus(ONHOLD_STATUS);
 			sip->manageActions (lineNumber, ONHOLD_CALL);
 		}
 		break;
@@ -341,6 +357,19 @@ Manager::isNotUsedLine (int line) {
 	return false;
 }
 
+bool
+Manager::isUsedLine (int line) {
+	for (int k = 0; k < NUMBER_OF_LINES; k++) {
+		if (line == k) {
+			if (sip->call[line] != NULL) {
+				return true;
+			}
+		}
+	}
+	return false;
+}
+
+
 int
 Manager::findLineNumberNotUsed (void) {
 	return sip->findLineNumberNotUsed();
@@ -363,26 +392,33 @@ Manager::handleRemoteEvent (int code, char * reason, int remotetype, int line) {
 	
 	switch (remotetype) {
 		// Registration success
-		case EXOSIP_REGISTRATION_SUCCESS:
-			gui()->lcd->setStatus("Logged in");				
+		case EXOSIP_REGISTRATION_SUCCESS: 
+			gui()->lcd->setStatus(LOGGED_IN_STATUS);				
 			break;
 
 		// Registration failure
 		case EXOSIP_REGISTRATION_FAILURE:
-			gui()->lcd->setStatus("Registration failure");				
+			gui()->lcd->setStatus(REG_FAIL_STATUS);				
 			break;
 			
 		// Remote callee answered
 		case EXOSIP_CALL_ANSWERED:
 			if (!gui()->transfer)
-				gui()->lcd->setStatus("Connected");
-				// Start call timer
-				gui()->startCallTimer(gui()->currentLineNumber);
+				gui()->lcd->setStatus(CONNECTED_STATUS);
+			// Start call timer
+			gui()->startCallTimer(getCurrentLineNumber());
+			phLines[getCurrentLineNumber()]->setbDial(false);
 			break;
 
 		// Remote callee hangup
 		case EXOSIP_CALL_CLOSED:
-			//if (getCallInProgress()) {
+			if (sip->getNumberPendingCalls() == 0 
+					or !phLines[line]->isOnHold()) {
+			// 	Show HUNGUP_STATUS if there's not pending call 
+			//	or line is not onhold
+				gui()->lcd->clear(QString(HUNGUP_STATUS));
+			}
+
 			if (phLines[line]->getbInProgress()) {
 				this->ring(false);
 				phLines[line]->setbRinging(false);
@@ -398,13 +434,14 @@ Manager::handleRemoteEvent (int code, char * reason, int remotetype, int line) {
 				gui()->setCurrentLineNumber(-1);
 			}
 			phLines[line]->setbDial(false);
-			gui()->lcd->clear(QString("Hung up"));
+			
 			sip->notUsedLine = -1;
 			break;
 
 		// Remote call ringing
 		case EXOSIP_CALL_RINGING:
-			gui()->lcd->setStatus("Ringing");
+			gui()->lcd->setStatus(RINGING_STATUS);
+			phLines[getCurrentLineNumber()]->setbDial(false);
 			break;
 			
 		default:
@@ -413,13 +450,13 @@ Manager::handleRemoteEvent (int code, char * reason, int remotetype, int line) {
 
 	// If dialog is established
 	if (code == 101) {
-		gui()->lcd->setStatus("Ringing");
-		
+		gui()->lcd->setStatus(RINGING_STATUS);		
 	// if error code
 	} else { 	
-		if (code == 407) {
-			gui()->lcd->setStatus("Trying...");
-		} else if (code > 399 and code != 407) {
+		if (code == AUTH_REQUIRED) {
+			gui()->lcd->setStatus(TRYING_STATUS);
+		} else if (code > 399 and code != AUTH_REQUIRED and 
+					code != REQ_TERMINATED) {
 			qinfo = QString::number(code, 10) + " " + 
 				QString(reason);
 			gui()->lcd->setStatus(qinfo);
@@ -427,6 +464,22 @@ Manager::handleRemoteEvent (int code, char * reason, int remotetype, int line) {
 			qinfo = QString(reason);
 		}
 	}
+		
+	// Store the status of current line
+	if(getCurrentLineNumber() != -1) {
+		phLines[getCurrentLineNumber()]->status = getStatusRender();	
+		//qDebug("line[%d] status: %s", getCurrentLineNumber(),
+		//		(phLines[getCurrentLineNumber()]->status).ascii());
+	}
+}
+
+bool
+Manager::tryingState (int line) {
+	if (phLines[line]->status == TRYING_STATUS) {
+		return true;
+	} else {
+		return false;
+	}
 }
 
 void
@@ -449,6 +502,11 @@ Manager::bufferTextRender (void) {
 	return QString(*gui()->lcd->textBuffer);
 }
 
+QString
+Manager::getStatusRender (void) {
+	return (gui()->lcd->getStatus());
+}
+
 void
 Manager::getInfoStun (StunAddress4& stunSvrAddr) {
 	StunAddress4 mappedAddr;
@@ -487,12 +545,13 @@ Manager::getFirewallAddress (void) {
 }
 
 /**
- * Returs true if the current line replaces another one
+ * Returns true if the current line replaces another one
  */
 bool
 Manager::otherLine (void) {
 	if (gui()->busyNum != -1) {
-		if (gui()->busyNum != gui()->currentLineNumber) {
+		if (phLines[getCurrentLineNumber()]->status != TRYING_STATUS and
+				gui()->busyNum != getCurrentLineNumber()) {
 			return true;
 		}
 	}
diff --git a/src/manager.h b/src/manager.h
index a34e79d6e128eea569eddcdda6b3daf3091f1d5f..8d32d97065fff0d29cd62c935693dcd5927a05a0 100644
--- a/src/manager.h
+++ b/src/manager.h
@@ -24,6 +24,17 @@
 #include "phoneline.h"
 #include "../stund/stun.h"
 
+// Status list
+#define LOGGED_IN_STATUS 	"Logged in"	
+#define REG_FAIL_STATUS		"Registration failure"	
+#define CONNECTED_STATUS	"Connected"
+#define	HUNGUP_STATUS		"Hung up"
+#define RINGING_STATUS		"Ringing"
+#define TRYING_STATUS		"Trying..."
+#define	REFUSED_CALL_STATUS	"Refused call"
+#define ENTER_NUMBER_STATUS	"Enter Phone Number:"
+#define TRANSFER_STATUS		"Transfer to:"
+
 #include <string>
 using namespace std;
 
@@ -73,7 +84,9 @@ public:
 	void 	closeSound 				(SipCall *);	
 	void	selectAudioDriver		(void);
 	QString	bufferTextRender		(void);
+	QString	getStatusRender			(void);
 	bool	isNotUsedLine			(int);
+	bool	isUsedLine				(int);
 	bool	isRingingLine			(int);
 	int		newCallLineNumber		(void);
 	void	getInfoStun		       	(StunAddress4 &);
@@ -96,13 +109,15 @@ public:
 	void	ringTone				(bool);
 	void	startDialTone			(void);
 	void	congestion				(bool); 
+	inline bool	getbCongestion		(void) { return b_congestion; } 
 	void	notificationIncomingCall(void);
 	void	errorDisplay			(char*);
 	void	nameDisplay				(char*);
 	void	spkrSoundVolume			(int);
 	void	micSoundVolume			(int);
-	inline int	getSpkrVolume (void) { return spkr_volume; }
-	inline int	getMicVolume (void) { return mic_volume; }
+	inline 	int	getSpkrVolume (void) { return spkr_volume; }
+	inline 	int	getMicVolume (void) { return mic_volume; }
+	bool	tryingState (int);
 
 private:
 	bool    exist;
diff --git a/src/phonebookui.cpp b/src/phonebookui.cpp
index 10f12d5c1ea286e8be9a8471e5a89f543bfd09e6..453ca1e76c0bfdf6c82a1d80be9e42fff787205f 100644
--- a/src/phonebookui.cpp
+++ b/src/phonebookui.cpp
@@ -1,7 +1,7 @@
 /****************************************************************************
 ** Form implementation generated from reading ui file 'phonebook.ui'
 **
-** Created: Tue Apr 12 09:35:07 2005
+** Created: Wed Apr 20 14:48:03 2005
 **      by: The User Interface Compiler ($Id$)
 **
 ** WARNING! All changes made in this file will be lost!
diff --git a/src/phonebookui.h b/src/phonebookui.h
index 2a9affa4f19d57d42fe9b9f8159e605471481c36..9aca7ead9e286d5d44c73cf01d440052d85c6e76 100644
--- a/src/phonebookui.h
+++ b/src/phonebookui.h
@@ -1,7 +1,7 @@
 /****************************************************************************
 ** Form interface generated from reading ui file 'phonebook.ui'
 **
-** Created: Tue Apr 12 09:35:07 2005
+** Created: Wed Apr 20 14:48:03 2005
 **      by: The User Interface Compiler ($Id$)
 **
 ** WARNING! All changes made in this file will be lost!
diff --git a/src/phoneline.h b/src/phoneline.h
index cce069d012b95cfafb6da361ee4c4c2ad208273b..e49064614edbcd60a917841e6c0fed701e3609d9 100644
--- a/src/phoneline.h
+++ b/src/phoneline.h
@@ -71,9 +71,12 @@ private:
 	JPushButton			*jpb;
 	enum line_state		 state;
 	enum line_state		 stateLine;
-	bool			 	 b_dial;
-	bool				 b_inProgress;	
-	bool				 b_ringing;
+
+	bool			 	 b_dial; 		// if ok button is clicked (->true)
+	bool				 b_inProgress;	// if outgoing call, 
+										// before remote callee answers (->true)
+	bool				 b_ringing;		// if incoming call, 
+										// before IP-phone user answers (->true) 
 };
 
 #endif	// __PHONE_LINE_H__
diff --git a/src/qtGUImainwindow.cpp b/src/qtGUImainwindow.cpp
index 317f021c6078395a2b721f329de9ae0c26612a37..fa9bdb4232871831c527cedeb5d99b5d15e29d6a 100644
--- a/src/qtGUImainwindow.cpp
+++ b/src/qtGUImainwindow.cpp
@@ -526,12 +526,15 @@ QtGUIMainWindow::numLineBusy(void) {
 
 void
 QtGUIMainWindow::dialTone (bool var) {
-	if (this->b_dialtone != var) {
-		this->b_dialtone = var;
+	if (callmanager->error->getError() == 0) {
+		if (this->b_dialtone != var) {
+			this->b_dialtone = var;
+		}
+		callmanager->tonezone = var;
+		callmanager->tone->toneHandle(ZT_TONE_DIALTONE); 
+	} else {
+		callmanager->error->errorName(DEVICE_NOT_OPEN, NULL);
 	}
-	callmanager->tonezone = var;
-	callmanager->tone->toneHandle(ZT_TONE_DIALTONE); 
-	
 }
 ///////////////////////////////////////////////////////////////////////////////
 // Public Methods implementations                                            //
@@ -572,7 +575,7 @@ QtGUIMainWindow::toggleLine (int num_line) {
 
 	if (callmanager->isNotUsedLine(currentLineNumber) and busyNum == -1) {
 		qDebug("GUI: FIRST LINE IN USED %d", currentLineNumber);
-		lcd->setStatus("Enter Phone Number:");
+		lcd->setStatus(ENTER_NUMBER_STATUS);
 		chosenLine = currentLineNumber;
 		if (!noChoose) {
 			choose = true; 
@@ -587,7 +590,7 @@ QtGUIMainWindow::toggleLine (int num_line) {
 	if (busyNum != currentLineNumber && busyNum != -1) {
 		if (callmanager->isNotUsedLine(currentLineNumber)) {
 			qDebug("GUI: Line %d replaces another one", currentLineNumber);
-			lcd->clear(QString("Enter Phone Number:"));
+			lcd->clear(QString(ENTER_NUMBER_STATUS));
 			chosenLine = currentLineNumber;
 			lcd->inFunction = false;
 			if (!noChoose) {
@@ -599,10 +602,19 @@ QtGUIMainWindow::toggleLine (int num_line) {
 		callmanager->phLines[busyNum]->setStateLine(ONHOLD);
 		callmanager->actionHandle (busyNum, ONHOLD_CALL);
 		if (!callmanager->phLines[currentLineNumber]->getbDial()) {
-			if (callmanager->sip->call[busyNum] == NULL) {
+		// If ok-button not clicked before 
+			if (callmanager->sip->call[busyNum] == NULL and
+				!callmanager->tryingState(busyNum)) {
 				setInactiveLine(busyNum);
 			}
-			this->dialTone(true);			
+			callmanager->phLines[busyNum]->setbDial(false);
+
+			if (!callmanager->phLines[currentLineNumber]->getbRinging()
+				and callmanager->sip->call[currentLineNumber] == NULL and
+				!callmanager->tryingState(currentLineNumber)) {
+			// If no occured incoming call (not ringing and call[current]=null)
+				this->dialTone(true);			
+			}
 		}
 		callmanager->phLines[currentLineNumber]->setState(BUSY);
 		qDebug("GUI: state ON-HOLD line busyNum %d", busyNum);
@@ -615,38 +627,53 @@ QtGUIMainWindow::toggleLine (int num_line) {
 		callmanager->phLines[currentLineNumber]->button()->setPixmap(
 				TabLinePixmap[currentLineNumber][BUSY]);
 		callmanager->phLines[currentLineNumber]->setState(BUSY);
-		
+					
 		// Answer new call
-		if (callmanager->isRingingLine(currentLineNumber) and 
+		if ((callmanager->isRingingLine(currentLineNumber) || 
+			(callmanager->isUsedLine(currentLineNumber) and 
+			callmanager->phLines[currentLineNumber]->getbRinging())) and 
 			callmanager->phLines[currentLineNumber]->getStateLine() != ONHOLD){
+
 			qDebug("GUI: -- New answered call %d --", currentLineNumber);
 			callmanager->actionHandle (currentLineNumber, ANSWER_CALL);
 			callmanager->phLines[currentLineNumber]->setState(BUSY);
 			callmanager->phLines[currentLineNumber]->setStateLine(BUSY);
+
+			lcd->clearBuffer();
+			lcd->appendText(callmanager->phLines[currentLineNumber]->text);
 		} 
 		else if (callmanager->phLines[currentLineNumber]->getStateLine() 
-																== ONHOLD) {
+																== ONHOLD
+				or callmanager->tryingState(currentLineNumber)) {
 			qDebug("GUI: state OFF-HOLD line %d", currentLineNumber);
-			lcd->clear(QString("Connected"));
+			lcd->clear(QString(CONNECTED_STATUS));
 			if (callmanager->sip->call[currentLineNumber] != NULL) {
-				lcd->inFunction = true;
+				if (!callmanager->phLines[currentLineNumber]->getbInProgress()){
+				// Timer-call function
+					lcd->inFunction = true;
+			   	} else {
+				// Time function
+					lcd->inFunction = false;
+			   	}
 			}
 			callmanager->phLines[currentLineNumber]->setStateLine(OFFHOLD);
 			callmanager->actionHandle (currentLineNumber, OFFHOLD_CALL);
 			lcd->appendText(callmanager->phLines[currentLineNumber]->text);
+			lcd->setStatus(callmanager->phLines[currentLineNumber]->status);
 		}
 	} 
 	else if (callmanager->phLines[currentLineNumber]->isOnHold()){
 		// Change state to ONHOLD
 		callmanager->phLines[currentLineNumber]->setState(ONHOLD);
 		callmanager->phLines[currentLineNumber]->setStateLine(ONHOLD);
-		// Change status to ONHOLD
 		qDebug("GUI: state ON-HOLD line %d", currentLineNumber);
 		lcd->setStatus(ONHOLD_STATUS);
 		callmanager->actionHandle (currentLineNumber, ONHOLD_CALL);
-		if (callmanager->sip->call[currentLineNumber] == NULL) {
+		
+		if (callmanager->sip->call[currentLineNumber] == NULL and
+				!callmanager->phLines[currentLineNumber]->getbDial()) {
 			setInactiveLine(currentLineNumber);
-			lcd->setStatus("Enter Phone Number:");
+			lcd->clear(QString(ENTER_NUMBER_STATUS));
 		}
 	}
 }
@@ -690,15 +717,16 @@ QtGUIMainWindow::dial (void) {
 					// If find not used line
 					noChoose = true;
 					currentLineNumber = callmanager->findLineNumberNotUsed();
-					qDebug("current line = %d", currentLineNumber);
 				} else {
 					// If choose line
 					currentLineNumber = chosenLine;
 				}
 				callmanager->phLines[currentLineNumber]->text = 
 								callmanager->bufferTextRender();
+
 				callmanager->phLines[currentLineNumber]->setbDial(true);
 				toggleLine (currentLineNumber);
+				
 				callmanager->phLines[currentLineNumber]->setbInProgress(true);
 				// Set used-state pixmap 'currentLineNumber' line
 				callmanager->phLines[currentLineNumber]->button()->setPixmap(
@@ -730,34 +758,38 @@ QtGUIMainWindow::hangupLine (void) {
 		}
 	}
 	else if (currentLineNumber != -1 and 
-			!(callmanager->phLines[currentLineNumber]->isOnHold())) {
+			!(callmanager->phLines[currentLineNumber]->isOnHold()) and
+			!callmanager->tryingState(currentLineNumber)) {
 	// If there is current line opened and state line not onHold
 		// set free pixmap
 		setFreeStateLine (currentLineNumber);
-		
+		callmanager->phLines[currentLineNumber]->setbDial(false);
+
 		if (callmanager->phLines[currentLineNumber]->getbInProgress()) {
 			// If call is progressing, cancel the call
+			lcd->clear(QString(HUNGUP_STATUS));
 			callmanager->actionHandle (currentLineNumber, CANCEL_CALL);
+		} else if (b_dialtone 
+				and callmanager->sip->call[currentLineNumber] == NULL){
+			// If stop dialtone
+			this->dialTone(false);
+			lcd->clear(QString(ENTER_NUMBER_STATUS));
+		} else if (callmanager->getbCongestion()){		
+			// If stop congestion tone
+			callmanager->congestion(false);
+			lcd->clear(QString(ENTER_NUMBER_STATUS));
 		} else {
 			// Hang up the call
-			this->dialTone(false);		
 			callmanager->actionHandle (currentLineNumber, CLOSE_CALL);
 			callmanager->phLines[currentLineNumber]->setbDial(false);
+			lcd->clear(QString(HUNGUP_STATUS));
 		}
-		lcd->clear(QString("Hung up"));
+		// Make free hung current line
 		setCurrentLineNumber(-1);
-	} else if (callmanager->sip->call[currentLineNumber] == NULL and 
-			callmanager->phLines[currentLineNumber]->isOnHold()) {
-	// If there isn't call on the current line and state line onHold
-		setInactiveLine(currentLineNumber);
-		// Stop congestion sound
-		callmanager->congestion(false);
-		lcd->clear(QString("Hung up"));
+		choose = false;
+		noChoose = false;
 	}
 	
-	choose = false;
-	noChoose = false;
-
 	// Just to test when  receive a message
 #if 0
 	msgVar = true;
@@ -882,13 +914,15 @@ QtGUIMainWindow::button_transfer (void) {
 	if (currentLineNumber != -1) {
 		transfer = true;
 		callmanager->actionHandle (currentLineNumber, ONHOLD_CALL);
-		lcd->clear(QString("Transfer to:"));
+		lcd->clear(QString(TRANSFER_STATUS));
 	}
 }
 
 void
 QtGUIMainWindow::button_conf (void) {
 //TODO: This feature is not implemented yet
+	QMessageBox::information(this, "Conference",
+		"This feature is not implemented yet", QMessageBox::Yes);
 }
 
 void
@@ -947,7 +981,7 @@ QtGUIMainWindow::configuration (void) {
 void
 QtGUIMainWindow::addressBook (void) {
 //	TODO: phonebook->show();
-	QMessageBox::information(this, "Information",
+	QMessageBox::information(this, "Directory",
 		"This feature is not implemented yet", QMessageBox::Yes);
 }
 
@@ -1040,7 +1074,18 @@ QtGUIMainWindow::blinkRingSlot (void) {
 	if ( line == -1 ) 
 		return;
 
-	//if (callmanager->ringing()) {
+	// If more than one line is ringing
+	for (int i = 0; i < NUMBER_OF_LINES; i++) {
+		if (callmanager->isUsedLine(i) 
+			and callmanager->phLines[i]->getbRinging()) {
+			if	(!isOn) 
+				state = FREE;	
+			callmanager->phLines[i]->button()->setPixmap(
+				TabLinePixmap[i][state]);		
+		}
+	}
+	
+	//If new line is ringing
 	if (callmanager->phLines[line]->getbRinging()) {
 		// For the line
 		if	(!isOn) {
@@ -1115,7 +1160,7 @@ QtGUIMainWindow::pressedKeySlot (int id) {
 	char code = 0;
 	int pulselen = 0;
 	int a = 0;
-	
+
 	// Stop dial tone
  	if (b_dialtone) {
 		this->dialTone(false);
@@ -1299,6 +1344,8 @@ QtGUIMainWindow::keyPressEvent(QKeyEvent *e) {
 	case Qt::Key_F2:
 	case Qt::Key_F3:
 	case Qt::Key_F4:
+	case Qt::Key_F5:
+	case Qt::Key_F6:
 		this->toggleLine(e->key() - Qt::Key_F1);
 		return;
 	   	break;
diff --git a/src/sip.cpp b/src/sip.cpp
index 10569b43f2c94bd850ac5966b2c6479981f9d011..94bcc2e52e0d67e21cc027926cc77ccb3b513d0a 100644
--- a/src/sip.cpp
+++ b/src/sip.cpp
@@ -222,7 +222,7 @@ SIP::getNumberPendingCalls(void) {
   	return pos;
 }
 
-// Return the first number of line not used
+// Return the first line number not used
 int
 SIP::findLineNumberNotUsed (void) {
 	int k;
@@ -572,7 +572,7 @@ SIP::manageActions (int usedLine, int action) {
 	assert (usedLine >= 0);
 	
 	bzero (tmpbuf, 64);
-	// Get local port
+	// Get local port	
 	snprintf (tmpbuf, 63, "%d", call[usedLine]->getLocalAudioPort());
 
 	switch (action) {
@@ -585,7 +585,7 @@ SIP::manageActions (int usedLine, int action) {
 		callmanager->phLines[usedLine]->setbInProgress(false);
 
 		eXosip_lock();
-		i = eXosip_answer_call(call[usedLine]->did, 486, tmpbuf);
+		i = eXosip_answer_call(call[usedLine]->did, BUSY_HERE, tmpbuf);
 		eXosip_unlock();
 			
 		callmanager->ringTone(false);
@@ -627,7 +627,6 @@ SIP::manageActions (int usedLine, int action) {
 		eXosip_lock();
 		i = eXosip_terminate_call (call[usedLine]->cid, call[usedLine]->did);
 		eXosip_unlock();
-		qDebug ("exosip_terminate_call = %d", i);
 
 		// Release RTP channels
 		call[usedLine]->closedCall();
@@ -644,7 +643,7 @@ SIP::manageActions (int usedLine, int action) {
 	case ONHOLD_CALL:
 		qDebug("ONHOLD_CALL: cid = %d et did = %d", call[usedLine]->cid, 
 				call[usedLine]->did);
-
+				
 		call[usedLine]->usehold = true;
 		
 		eXosip_lock();
@@ -657,6 +656,8 @@ SIP::manageActions (int usedLine, int action) {
 
 	// IP-Phone user is parking peer OFF HOLD
 	case OFFHOLD_CALL:
+		qDebug("OFF-HOLD_CALL: cid = %d et did = %d", call[usedLine]->cid, 
+				call[usedLine]->did);
 		call[usedLine]->usehold = true;
 		eXosip_lock();
 		i = eXosip_off_hold_call(call[usedLine]->did, NULL, 0);
@@ -687,6 +688,7 @@ SIP::manageActions (int usedLine, int action) {
 	case CANCEL_CALL:
 		qDebug("SIP: CANCEL_CALL: terminate cid=%d did=%d", 
 				call[usedLine]->cid,call[usedLine]->did);
+	
 		eXosip_lock();
 		i = eXosip_terminate_call (call[usedLine]->cid, call[usedLine]->did);
 		eXosip_unlock();
@@ -725,7 +727,7 @@ SIP::getEvent (void) {
 	callmanager->handleRemoteEvent(event->status_code,
 			event->reason_phrase,
 			-1);	
-	//qDebug("status-code %d %s", event->status_code, event->reason_phrase);
+//	qDebug("status-code %d %s", event->status_code, event->reason_phrase);
 	switch (event->type) {
 		// IP-Phone user receives a new call
 		case EXOSIP_CALL_NEW: //13
@@ -776,8 +778,16 @@ SIP::getEvent (void) {
 			// TODO: stop the ringtone
 			callmanager->ringTone(false);
 			
+			//theline = callmanager->getCurrentLineNumber();
 			curLine = callmanager->getCurrentLineNumber();
-			theline = findLineNumber(event);
+			
+			// If we have chosen the line before validating the phone number
+			if (callmanager->isChosenLine() and !callmanager->otherLine()) {
+				theline = callmanager->chosenLine();
+			} else {
+				theline = findLineNumber(event);
+			}
+
 			if (call[theline] == NULL) {
 				call[theline] = new SipCall(callmanager);
 			}
@@ -791,7 +801,6 @@ SIP::getEvent (void) {
 			if (callmanager->phLines[theline]->getStateLine() == BUSY or 
 					callmanager->phLines[theline]->getStateLine() == OFFHOLD
 					or !call[theline]->usehold) {
-				
 				if (!callmanager->transferedCall()) {
 					if (!call[theline]->usehold) {
 						// Associate an audio port with a call
@@ -829,7 +838,7 @@ SIP::getEvent (void) {
 			
 			callmanager->handleRemoteEvent (0, NULL, EXOSIP_CALL_RINGING);
 			// TODO : rajouter tonalite qd ca sonne
-			//callmanager->ringTone(true);
+			callmanager->ringTone(true);
 
 			// If we have chosen the line before validating the phone number
 			if (callmanager->isChosenLine() and !callmanager->otherLine()) {
@@ -844,8 +853,11 @@ SIP::getEvent (void) {
 			assert (theline >= 0);
 			assert (theline < NUMBER_OF_LINES);
 
+			callmanager->phLines[theline]->setbInProgress(true);
+
 			if (call[theline] == NULL) {
 				call[theline] = new SipCall(callmanager);
+				call[theline]->setLocalAudioPort(local_port);
 				call[theline]->ringingCall(event);
 			}
 			break;
@@ -867,11 +879,16 @@ SIP::getEvent (void) {
 				event->did, event->status_code, event->reason_phrase,
 				event->remote_uri);
 #endif
+			if (callmanager->isChosenLine() and !callmanager->otherLine()) {
+				theline = callmanager->chosenLine();
+			} else {
 				theline = findLineNumber(event);
-				assert (theline >= 0);
-				assert (theline < NUMBER_OF_LINES);
-			//	call[theline]->requestfailureCall(event);
-				callmanager->phLines[theline]->setbInProgress(false);
+			}
+			
+			assert (theline >= 0);
+			assert (theline < NUMBER_OF_LINES);
+		//	call[theline]->requestfailureCall(event);
+			callmanager->phLines[theline]->setbInProgress(false);
 
 			// Handle 4XX errors
 			switch (event->status_code) {
@@ -883,15 +900,10 @@ SIP::getEvent (void) {
 					eXosip_retry_call (event->cid);
 					eXosip_unlock();
 					break;
+				case FORBIDDEN:
 				case NOT_FOUND:
-				//	callmanager->setCallInProgress(false);
-					callmanager->congestion(true);
-					break;
+				case REQ_TIMEOUT:
 				case ADDR_INCOMPLETE:
-				//	callmanager->setCallInProgress(false);
-					callmanager->congestion(true);
-					break;
-				case FORBIDDEN:
 					callmanager->congestion(true);
 					break;
 				case REQ_TERMINATED:
diff --git a/src/sip.h b/src/sip.h
index 57d196326835be8aa11ee846a71f2bb9859b1387..9f9338ce71ab2a01d4931d41c253bcc032d36688 100644
--- a/src/sip.h
+++ b/src/sip.h
@@ -55,7 +55,9 @@ using namespace ost;
 #define	FORBIDDEN		403
 #define NOT_FOUND		404
 #define AUTH_REQUIRED	407
+#define REQ_TIMEOUT		408
 #define	ADDR_INCOMPLETE	484
+#define	BUSY_HERE		486
 #define	REQ_TERMINATED	487
 // 5XX errors
 #define SERVICE_UNAVAILABLE	503
diff --git a/src/sipcall.cpp b/src/sipcall.cpp
index e5b88955a75607174d16e0596bfc47b93572b6ff..2a0318e4245e574281994d6b0fcd82d871756983 100644
--- a/src/sipcall.cpp
+++ b/src/sipcall.cpp
@@ -211,7 +211,7 @@ SipCall::onholdCall (eXosip_event_t *event) {
 
     osip_strncpy(ca->reason_phrase, event->reason_phrase, 49);
     ca->status_code = event->status_code;
-  
+		
 	ca->state = event->type;
   	return 0;
 }
diff --git a/src/url_inputui.cpp b/src/url_inputui.cpp
index a592ff6732f1533fada4b16b78e06496917682b3..a482b1d295972c58b15e63fbc604accb59560ec5 100644
--- a/src/url_inputui.cpp
+++ b/src/url_inputui.cpp
@@ -1,7 +1,7 @@
 /****************************************************************************
 ** Form implementation generated from reading ui file 'url_input.ui'
 **
-** Created: Tue Apr 12 09:35:08 2005
+** Created: Wed Apr 20 14:48:03 2005
 **      by: The User Interface Compiler ($Id$)
 **
 ** WARNING! All changes made in this file will be lost!
diff --git a/src/url_inputui.h b/src/url_inputui.h
index aead30a40c946a8fed05b09f16f0356577b59b66..9b723d719db08ab85bdc10e44d536b5b2cbdb194 100644
--- a/src/url_inputui.h
+++ b/src/url_inputui.h
@@ -1,7 +1,7 @@
 /****************************************************************************
 ** Form interface generated from reading ui file 'url_input.ui'
 **
-** Created: Tue Apr 12 09:35:08 2005
+** Created: Wed Apr 20 14:48:03 2005
 **      by: The User Interface Compiler ($Id$)
 **
 ** WARNING! All changes made in this file will be lost!