Showing error 1691

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: product-lines/email_spec1_product26_unsafe.cil.c
Line in file: 1587
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1extern int __VERIFIER_nondet_int(void);
   2/* Generated by CIL v. 1.3.7 */
   3/* print_CIL_Input is true */
   4
   5#line 2 "libacc.c"
   6struct JoinPoint {
   7   void **(*fp)(struct JoinPoint * ) ;
   8   void **args ;
   9   int argsCount ;
  10   char const   **argsType ;
  11   void *(*arg)(int  , struct JoinPoint * ) ;
  12   char const   *(*argType)(int  , struct JoinPoint * ) ;
  13   void **retValue ;
  14   char const   *retType ;
  15   char const   *funcName ;
  16   char const   *targetName ;
  17   char const   *fileName ;
  18   char const   *kind ;
  19   void *excep_return ;
  20};
  21#line 18 "libacc.c"
  22struct __UTAC__CFLOW_FUNC {
  23   int (*func)(int  , int  ) ;
  24   int val ;
  25   struct __UTAC__CFLOW_FUNC *next ;
  26};
  27#line 18 "libacc.c"
  28struct __UTAC__EXCEPTION {
  29   void *jumpbuf ;
  30   unsigned long long prtValue ;
  31   int pops ;
  32   struct __UTAC__CFLOW_FUNC *cflowfuncs ;
  33};
  34#line 211 "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h"
  35typedef unsigned long size_t;
  36#line 76 "libacc.c"
  37struct __ACC__ERR {
  38   void *v ;
  39   struct __ACC__ERR *next ;
  40};
  41#line 1 "Test.o"
  42#pragma merger(0,"Test.i","")
  43#line 359 "/usr/include/stdio.h"
  44extern int printf(char const   * __restrict  __format  , ...) ;
  45#line 688
  46extern int puts(char const   *__s ) ;
  47#line 16 "ClientLib.h"
  48void setClientAddressBookSize(int handle , int value ) ;
  49#line 22
  50void setClientAddressBookAlias(int handle , int index , int value ) ;
  51#line 26
  52void setClientAddressBookAddress(int handle , int index , int value ) ;
  53#line 31
  54void setClientAutoResponse(int handle , int value ) ;
  55#line 35
  56void setClientPrivateKey(int handle , int value ) ;
  57#line 39
  58int createClientKeyringEntry(int handle ) ;
  59#line 41
  60int getClientKeyringUser(int handle , int index ) ;
  61#line 43
  62void setClientKeyringUser(int handle , int index , int value ) ;
  63#line 45
  64int getClientKeyringPublicKey(int handle , int index ) ;
  65#line 47
  66void setClientKeyringPublicKey(int handle , int index , int value ) ;
  67#line 51
  68void setClientForwardReceiver(int handle , int value ) ;
  69#line 55
  70void setClientId(int handle , int value ) ;
  71#line 8 "featureselect.h"
  72int __SELECTED_FEATURE_Base  ;
  73#line 11 "featureselect.h"
  74int __SELECTED_FEATURE_Keys  ;
  75#line 14 "featureselect.h"
  76int __SELECTED_FEATURE_Encrypt  ;
  77#line 17 "featureselect.h"
  78int __SELECTED_FEATURE_AutoResponder  ;
  79#line 20 "featureselect.h"
  80int __SELECTED_FEATURE_AddressBook  ;
  81#line 23 "featureselect.h"
  82int __SELECTED_FEATURE_Sign  ;
  83#line 26 "featureselect.h"
  84int __SELECTED_FEATURE_Forward  ;
  85#line 29 "featureselect.h"
  86int __SELECTED_FEATURE_Verify  ;
  87#line 32 "featureselect.h"
  88int __SELECTED_FEATURE_Decrypt  ;
  89#line 35 "featureselect.h"
  90int __GUIDSL_ROOT_PRODUCTION  ;
  91#line 37 "featureselect.h"
  92int __GUIDSL_NON_TERMINAL_main  ;
  93#line 43
  94void select_features(void) ;
  95#line 45
  96void select_helpers(void) ;
  97#line 47
  98int valid_product(void) ;
  99#line 17 "Client.h"
 100int is_queue_empty(void) ;
 101#line 19
 102int get_queued_client(void) ;
 103#line 21
 104int get_queued_email(void) ;
 105#line 26
 106void outgoing(int client , int msg ) ;
 107#line 35
 108void sendEmail(int sender , int receiver ) ;
 109#line 44
 110void generateKeyPair(int client , int seed ) ;
 111#line 2 "Test.h"
 112int bob  ;
 113#line 5 "Test.h"
 114int rjh  ;
 115#line 8 "Test.h"
 116int chuck  ;
 117#line 11
 118void setup_bob(int bob___0 ) ;
 119#line 14
 120void setup_rjh(int rjh___0 ) ;
 121#line 17
 122void setup_chuck(int chuck___0 ) ;
 123#line 23
 124void bobToRjh(void) ;
 125#line 26
 126void rjhToBob(void) ;
 127#line 29
 128void test(void) ;
 129#line 32
 130void setup(void) ;
 131#line 35
 132int main(void) ;
 133#line 36
 134void bobKeyAdd(void) ;
 135#line 39
 136void bobKeyAddChuck(void) ;
 137#line 42
 138void rjhKeyAdd(void) ;
 139#line 45
 140void rjhKeyAddChuck(void) ;
 141#line 48
 142void chuckKeyAdd(void) ;
 143#line 51
 144void bobKeyChange(void) ;
 145#line 54
 146void rjhKeyChange(void) ;
 147#line 57
 148void rjhDeletePrivateKey(void) ;
 149#line 60
 150void chuckKeyAddRjh(void) ;
 151#line 61
 152void rjhSetAutoRespond(void) ;
 153#line 63
 154void bobSetAddressBook(void) ;
 155#line 64
 156void rjhEnableForwarding(void) ;
 157#line 18 "Test.c"
 158void setup_bob__wrappee__Base(int bob___0 ) 
 159{ 
 160
 161  {
 162  {
 163#line 19
 164  setClientId(bob___0, bob___0);
 165  }
 166#line 1334 "Test.c"
 167  return;
 168}
 169}
 170#line 23 "Test.c"
 171void setup_bob(int bob___0 ) 
 172{ 
 173
 174  {
 175  {
 176#line 24
 177  setup_bob__wrappee__Base(bob___0);
 178#line 25
 179  setClientPrivateKey(bob___0, 123);
 180  }
 181#line 1356 "Test.c"
 182  return;
 183}
 184}
 185#line 33 "Test.c"
 186void setup_rjh__wrappee__Base(int rjh___0 ) 
 187{ 
 188
 189  {
 190  {
 191#line 34
 192  setClientId(rjh___0, rjh___0);
 193  }
 194#line 1376 "Test.c"
 195  return;
 196}
 197}
 198#line 40 "Test.c"
 199void setup_rjh(int rjh___0 ) 
 200{ 
 201
 202  {
 203  {
 204#line 42
 205  setup_rjh__wrappee__Base(rjh___0);
 206#line 43
 207  setClientPrivateKey(rjh___0, 456);
 208  }
 209#line 1398 "Test.c"
 210  return;
 211}
 212}
 213#line 50 "Test.c"
 214void setup_chuck__wrappee__Base(int chuck___0 ) 
 215{ 
 216
 217  {
 218  {
 219#line 51
 220  setClientId(chuck___0, chuck___0);
 221  }
 222#line 1418 "Test.c"
 223  return;
 224}
 225}
 226#line 57 "Test.c"
 227void setup_chuck(int chuck___0 ) 
 228{ 
 229
 230  {
 231  {
 232#line 58
 233  setup_chuck__wrappee__Base(chuck___0);
 234#line 59
 235  setClientPrivateKey(chuck___0, 789);
 236  }
 237#line 1440 "Test.c"
 238  return;
 239}
 240}
 241#line 69 "Test.c"
 242void bobToRjh(void) 
 243{ int tmp ;
 244  int tmp___0 ;
 245  int tmp___1 ;
 246
 247  {
 248  {
 249#line 71
 250  puts("Please enter a subject and a message body.\n");
 251#line 72
 252  sendEmail(bob, rjh);
 253#line 73
 254  tmp___1 = is_queue_empty();
 255  }
 256#line 73
 257  if (tmp___1) {
 258
 259  } else {
 260    {
 261#line 74
 262    tmp = get_queued_email();
 263#line 74
 264    tmp___0 = get_queued_client();
 265#line 74
 266    outgoing(tmp___0, tmp);
 267    }
 268  }
 269#line 1467 "Test.c"
 270  return;
 271}
 272}
 273#line 81 "Test.c"
 274void rjhToBob(void) 
 275{ 
 276
 277  {
 278  {
 279#line 83
 280  puts("Please enter a subject and a message body.\n");
 281#line 84
 282  sendEmail(rjh, bob);
 283  }
 284#line 1489 "Test.c"
 285  return;
 286}
 287}
 288#line 88 "Test.c"
 289#line 95 "Test.c"
 290void setup(void) 
 291{ char const   * __restrict  __cil_tmp1 ;
 292  char const   * __restrict  __cil_tmp2 ;
 293  char const   * __restrict  __cil_tmp3 ;
 294
 295  {
 296  {
 297#line 96
 298  bob = 1;
 299#line 97
 300  setup_bob(bob);
 301#line 98
 302  __cil_tmp1 = (char const   * __restrict  )"bob: %d\n";
 303#line 98
 304  printf(__cil_tmp1, bob);
 305#line 100
 306  rjh = 2;
 307#line 101
 308  setup_rjh(rjh);
 309#line 102
 310  __cil_tmp2 = (char const   * __restrict  )"rjh: %d\n";
 311#line 102
 312  printf(__cil_tmp2, rjh);
 313#line 104
 314  chuck = 3;
 315#line 105
 316  setup_chuck(chuck);
 317#line 106
 318  __cil_tmp3 = (char const   * __restrict  )"chuck: %d\n";
 319#line 106
 320  printf(__cil_tmp3, chuck);
 321  }
 322#line 1560 "Test.c"
 323  return;
 324}
 325}
 326#line 112 "Test.c"
 327int main(void) 
 328{ int retValue_acc ;
 329  int tmp ;
 330
 331  {
 332  {
 333#line 113
 334  select_helpers();
 335#line 114
 336  select_features();
 337#line 115
 338  tmp = valid_product();
 339  }
 340#line 115
 341  if (tmp) {
 342    {
 343#line 116
 344    setup();
 345#line 117
 346    test();
 347    }
 348  } else {
 349
 350  }
 351#line 1591 "Test.c"
 352  return (retValue_acc);
 353}
 354}
 355#line 125 "Test.c"
 356void bobKeyAdd(void) 
 357{ int tmp ;
 358  int tmp___0 ;
 359  char const   * __restrict  __cil_tmp3 ;
 360  char const   * __restrict  __cil_tmp4 ;
 361
 362  {
 363  {
 364#line 126
 365  createClientKeyringEntry(bob);
 366#line 127
 367  setClientKeyringUser(bob, 0, 2);
 368#line 128
 369  setClientKeyringPublicKey(bob, 0, 456);
 370#line 129
 371  puts("bob added rjhs key");
 372#line 130
 373  tmp = getClientKeyringUser(bob, 0);
 374#line 130
 375  __cil_tmp3 = (char const   * __restrict  )"%d\n";
 376#line 130
 377  printf(__cil_tmp3, tmp);
 378#line 131
 379  tmp___0 = getClientKeyringPublicKey(bob, 0);
 380#line 131
 381  __cil_tmp4 = (char const   * __restrict  )"%d\n";
 382#line 131
 383  printf(__cil_tmp4, tmp___0);
 384  }
 385#line 1625 "Test.c"
 386  return;
 387}
 388}
 389#line 137 "Test.c"
 390void rjhKeyAdd(void) 
 391{ 
 392
 393  {
 394  {
 395#line 138
 396  createClientKeyringEntry(rjh);
 397#line 139
 398  setClientKeyringUser(rjh, 0, 1);
 399#line 140
 400  setClientKeyringPublicKey(rjh, 0, 123);
 401  }
 402#line 1649 "Test.c"
 403  return;
 404}
 405}
 406#line 146 "Test.c"
 407void rjhKeyAddChuck(void) 
 408{ 
 409
 410  {
 411  {
 412#line 147
 413  createClientKeyringEntry(rjh);
 414#line 148
 415  setClientKeyringUser(rjh, 0, 3);
 416#line 149
 417  setClientKeyringPublicKey(rjh, 0, 789);
 418  }
 419#line 1673 "Test.c"
 420  return;
 421}
 422}
 423#line 156 "Test.c"
 424void bobKeyAddChuck(void) 
 425{ 
 426
 427  {
 428  {
 429#line 157
 430  createClientKeyringEntry(bob);
 431#line 158
 432  setClientKeyringUser(bob, 1, 3);
 433#line 159
 434  setClientKeyringPublicKey(bob, 1, 789);
 435  }
 436#line 1697 "Test.c"
 437  return;
 438}
 439}
 440#line 165 "Test.c"
 441void chuckKeyAdd(void) 
 442{ 
 443
 444  {
 445  {
 446#line 166
 447  createClientKeyringEntry(chuck);
 448#line 167
 449  setClientKeyringUser(chuck, 0, 1);
 450#line 168
 451  setClientKeyringPublicKey(chuck, 0, 123);
 452  }
 453#line 1721 "Test.c"
 454  return;
 455}
 456}
 457#line 174 "Test.c"
 458void chuckKeyAddRjh(void) 
 459{ 
 460
 461  {
 462  {
 463#line 175
 464  createClientKeyringEntry(chuck);
 465#line 176
 466  setClientKeyringUser(chuck, 0, 2);
 467#line 177
 468  setClientKeyringPublicKey(chuck, 0, 456);
 469  }
 470#line 1745 "Test.c"
 471  return;
 472}
 473}
 474#line 183 "Test.c"
 475void rjhDeletePrivateKey(void) 
 476{ 
 477
 478  {
 479  {
 480#line 184
 481  setClientPrivateKey(rjh, 0);
 482  }
 483#line 1765 "Test.c"
 484  return;
 485}
 486}
 487#line 190 "Test.c"
 488void bobKeyChange(void) 
 489{ 
 490
 491  {
 492  {
 493#line 191
 494  generateKeyPair(bob, 777);
 495  }
 496#line 1785 "Test.c"
 497  return;
 498}
 499}
 500#line 197 "Test.c"
 501void rjhKeyChange(void) 
 502{ 
 503
 504  {
 505  {
 506#line 198
 507  generateKeyPair(rjh, 666);
 508  }
 509#line 1805 "Test.c"
 510  return;
 511}
 512}
 513#line 204 "Test.c"
 514void rjhSetAutoRespond(void) 
 515{ 
 516
 517  {
 518  {
 519#line 205
 520  setClientAutoResponse(rjh, 1);
 521  }
 522#line 1825 "Test.c"
 523  return;
 524}
 525}
 526#line 210 "Test.c"
 527void bobSetAddressBook(void) 
 528{ 
 529
 530  {
 531  {
 532#line 211
 533  setClientAddressBookSize(bob, 1);
 534#line 212
 535  setClientAddressBookAlias(bob, 0, rjh);
 536#line 213
 537  setClientAddressBookAddress(bob, 0, rjh);
 538#line 214
 539  setClientAddressBookAddress(bob, 1, chuck);
 540  }
 541#line 1851 "Test.c"
 542  return;
 543}
 544}
 545#line 220 "Test.c"
 546void rjhEnableForwarding(void) 
 547{ 
 548
 549  {
 550  {
 551#line 221
 552  setClientForwardReceiver(rjh, chuck);
 553  }
 554#line 1871 "Test.c"
 555  return;
 556}
 557}
 558#line 1 "Email.o"
 559#pragma merger(0,"Email.i","")
 560#line 6 "EmailLib.h"
 561int getEmailId(int handle ) ;
 562#line 10
 563int getEmailFrom(int handle ) ;
 564#line 12
 565void setEmailFrom(int handle , int value ) ;
 566#line 14
 567int getEmailTo(int handle ) ;
 568#line 16
 569void setEmailTo(int handle , int value ) ;
 570#line 26
 571int isEncrypted(int handle ) ;
 572#line 30
 573int getEmailEncryptionKey(int handle ) ;
 574#line 6 "Email.h"
 575void printMail(int msg ) ;
 576#line 9
 577int isReadable(int msg ) ;
 578#line 12
 579int createEmail(int from , int to ) ;
 580#line 15
 581int cloneEmail(int msg ) ;
 582#line 9 "Email.c"
 583void printMail__wrappee__Keys(int msg ) 
 584{ int tmp ;
 585  int tmp___0 ;
 586  int tmp___1 ;
 587  int tmp___2 ;
 588  char const   * __restrict  __cil_tmp6 ;
 589  char const   * __restrict  __cil_tmp7 ;
 590  char const   * __restrict  __cil_tmp8 ;
 591  char const   * __restrict  __cil_tmp9 ;
 592
 593  {
 594  {
 595#line 10
 596  tmp = getEmailId(msg);
 597#line 10
 598  __cil_tmp6 = (char const   * __restrict  )"ID:\n  %i\n";
 599#line 10
 600  printf(__cil_tmp6, tmp);
 601#line 11
 602  tmp___0 = getEmailFrom(msg);
 603#line 11
 604  __cil_tmp7 = (char const   * __restrict  )"FROM:\n  %i\n";
 605#line 11
 606  printf(__cil_tmp7, tmp___0);
 607#line 12
 608  tmp___1 = getEmailTo(msg);
 609#line 12
 610  __cil_tmp8 = (char const   * __restrict  )"TO:\n  %i\n";
 611#line 12
 612  printf(__cil_tmp8, tmp___1);
 613#line 13
 614  tmp___2 = isReadable(msg);
 615#line 13
 616  __cil_tmp9 = (char const   * __restrict  )"IS_READABLE\n  %i\n";
 617#line 13
 618  printf(__cil_tmp9, tmp___2);
 619  }
 620#line 601 "Email.c"
 621  return;
 622}
 623}
 624#line 17 "Email.c"
 625void printMail(int msg ) 
 626{ int tmp ;
 627  int tmp___0 ;
 628  char const   * __restrict  __cil_tmp4 ;
 629  char const   * __restrict  __cil_tmp5 ;
 630
 631  {
 632  {
 633#line 18
 634  printMail__wrappee__Keys(msg);
 635#line 19
 636  tmp = isEncrypted(msg);
 637#line 19
 638  __cil_tmp4 = (char const   * __restrict  )"ENCRYPTED\n  %d\n";
 639#line 19
 640  printf(__cil_tmp4, tmp);
 641#line 20
 642  tmp___0 = getEmailEncryptionKey(msg);
 643#line 20
 644  __cil_tmp5 = (char const   * __restrict  )"ENCRYPTION KEY\n  %d\n";
 645#line 20
 646  printf(__cil_tmp5, tmp___0);
 647  }
 648#line 625 "Email.c"
 649  return;
 650}
 651}
 652#line 26 "Email.c"
 653int isReadable__wrappee__Keys(int msg ) 
 654{ int retValue_acc ;
 655
 656  {
 657#line 643 "Email.c"
 658  retValue_acc = 1;
 659#line 645
 660  return (retValue_acc);
 661#line 652
 662  return (retValue_acc);
 663}
 664}
 665#line 34 "Email.c"
 666int isReadable(int msg ) 
 667{ int retValue_acc ;
 668  int tmp ;
 669
 670  {
 671  {
 672#line 38
 673  tmp = isEncrypted(msg);
 674  }
 675#line 38 "Email.c"
 676  if (tmp) {
 677#line 681
 678    retValue_acc = 0;
 679#line 683
 680    return (retValue_acc);
 681  } else {
 682    {
 683#line 675 "Email.c"
 684    retValue_acc = isReadable__wrappee__Keys(msg);
 685    }
 686#line 677
 687    return (retValue_acc);
 688  }
 689#line 690 "Email.c"
 690  return (retValue_acc);
 691}
 692}
 693#line 42 "Email.c"
 694int cloneEmail(int msg ) 
 695{ int retValue_acc ;
 696
 697  {
 698#line 712 "Email.c"
 699  retValue_acc = msg;
 700#line 714
 701  return (retValue_acc);
 702#line 721
 703  return (retValue_acc);
 704}
 705}
 706#line 47 "Email.c"
 707int createEmail(int from , int to ) 
 708{ int retValue_acc ;
 709  int msg ;
 710
 711  {
 712  {
 713#line 48
 714  msg = 1;
 715#line 49
 716  setEmailFrom(msg, from);
 717#line 50
 718  setEmailTo(msg, to);
 719#line 751 "Email.c"
 720  retValue_acc = msg;
 721  }
 722#line 753
 723  return (retValue_acc);
 724#line 760
 725  return (retValue_acc);
 726}
 727}
 728#line 1 "Client.o"
 729#pragma merger(0,"Client.i","")
 730#line 4 "ClientLib.h"
 731int initClient(void) ;
 732#line 14
 733int getClientAddressBookSize(int handle ) ;
 734#line 24
 735int getClientAddressBookAddress(int handle , int index ) ;
 736#line 29
 737int getClientAutoResponse(int handle ) ;
 738#line 33
 739int getClientPrivateKey(int handle ) ;
 740#line 49
 741int getClientForwardReceiver(int handle ) ;
 742#line 53
 743int getClientId(int handle ) ;
 744#line 57
 745int findPublicKey(int handle , int userid ) ;
 746#line 28 "EmailLib.h"
 747void setEmailIsEncrypted(int handle , int value ) ;
 748#line 32
 749void setEmailEncryptionKey(int handle , int value ) ;
 750#line 14 "Client.h"
 751void queue(int client , int msg ) ;
 752#line 24
 753void mail(int client , int msg ) ;
 754#line 28
 755void deliver(int client , int msg ) ;
 756#line 30
 757void incoming(int client , int msg ) ;
 758#line 32
 759int createClient(char *name ) ;
 760#line 40
 761int isKeyPairValid(int publicKey , int privateKey ) ;
 762#line 45
 763void autoRespond(int client , int msg ) ;
 764#line 46
 765void sendToAddressBook(int client , int msg ) ;
 766#line 48
 767void forward(int client , int msg ) ;
 768#line 6 "Client.c"
 769int queue_empty  =    1;
 770#line 9 "Client.c"
 771int queued_message  ;
 772#line 12 "Client.c"
 773int queued_client  ;
 774#line 13
 775void __utac_acc__AddressBookEncrypt_spec__1(int client , int msg ) ;
 776#line 18 "Client.c"
 777void mail(int client , int msg ) 
 778{ int __utac__ad__arg1 ;
 779  int __utac__ad__arg2 ;
 780  int tmp ;
 781
 782  {
 783  {
 784#line 726 "Client.c"
 785  __utac__ad__arg1 = client;
 786#line 727
 787  __utac__ad__arg2 = msg;
 788#line 728
 789  __utac_acc__AddressBookEncrypt_spec__1(__utac__ad__arg1, __utac__ad__arg2);
 790#line 19 "Client.c"
 791  puts("mail sent");
 792#line 20
 793  tmp = getEmailTo(msg);
 794#line 20
 795  incoming(tmp, msg);
 796  }
 797#line 745 "Client.c"
 798  return;
 799}
 800}
 801#line 27 "Client.c"
 802void outgoing__wrappee__Keys(int client , int msg ) 
 803{ int tmp ;
 804
 805  {
 806  {
 807#line 28
 808  tmp = getClientId(client);
 809#line 28
 810  setEmailFrom(msg, tmp);
 811#line 29
 812  mail(client, msg);
 813  }
 814#line 767 "Client.c"
 815  return;
 816}
 817}
 818#line 33 "Client.c"
 819void outgoing__wrappee__AutoResponder(int client , int msg ) 
 820{ int receiver ;
 821  int tmp ;
 822  int pubkey ;
 823  int tmp___0 ;
 824
 825  {
 826  {
 827#line 36
 828  tmp = getEmailTo(msg);
 829#line 36
 830  receiver = tmp;
 831#line 37
 832  tmp___0 = findPublicKey(client, receiver);
 833#line 37
 834  pubkey = tmp___0;
 835  }
 836#line 38
 837  if (pubkey) {
 838    {
 839#line 39
 840    setEmailEncryptionKey(msg, pubkey);
 841#line 40
 842    setEmailIsEncrypted(msg, 1);
 843    }
 844  } else {
 845
 846  }
 847  {
 848#line 45
 849  outgoing__wrappee__Keys(client, msg);
 850  }
 851#line 802 "Client.c"
 852  return;
 853}
 854}
 855#line 52 "Client.c"
 856void outgoing(int client , int msg ) 
 857{ int size ;
 858  int tmp ;
 859  int receiver ;
 860  int tmp___0 ;
 861  int second ;
 862  int tmp___1 ;
 863  int tmp___2 ;
 864
 865  {
 866  {
 867#line 54
 868  tmp = getClientAddressBookSize(client);
 869#line 54
 870  size = tmp;
 871  }
 872#line 56
 873  if (size) {
 874    {
 875#line 57
 876    sendToAddressBook(client, msg);
 877#line 58
 878    puts("sending to alias in address book\n");
 879#line 59
 880    tmp___0 = getEmailTo(msg);
 881#line 59
 882    receiver = tmp___0;
 883#line 61
 884    puts("sending to second receipient\n");
 885#line 62
 886    tmp___1 = getClientAddressBookAddress(client, 1);
 887#line 62
 888    second = tmp___1;
 889#line 63
 890    setEmailTo(msg, second);
 891#line 64
 892    outgoing__wrappee__AutoResponder(client, msg);
 893#line 67
 894    tmp___2 = getClientAddressBookAddress(client, 0);
 895#line 67
 896    setEmailTo(msg, tmp___2);
 897#line 68
 898    outgoing__wrappee__AutoResponder(client, msg);
 899    }
 900  } else {
 901    {
 902#line 70
 903    outgoing__wrappee__AutoResponder(client, msg);
 904    }
 905  }
 906#line 852 "Client.c"
 907  return;
 908}
 909}
 910#line 79 "Client.c"
 911void deliver(int client , int msg ) 
 912{ 
 913
 914  {
 915  {
 916#line 80
 917  puts("mail delivered\n");
 918  }
 919#line 872 "Client.c"
 920  return;
 921}
 922}
 923#line 87 "Client.c"
 924void incoming__wrappee__Encrypt(int client , int msg ) 
 925{ 
 926
 927  {
 928  {
 929#line 88
 930  deliver(client, msg);
 931  }
 932#line 892 "Client.c"
 933  return;
 934}
 935}
 936#line 94 "Client.c"
 937void incoming__wrappee__AddressBook(int client , int msg ) 
 938{ int tmp ;
 939
 940  {
 941  {
 942#line 95
 943  incoming__wrappee__Encrypt(client, msg);
 944#line 96
 945  tmp = getClientAutoResponse(client);
 946  }
 947#line 96
 948  if (tmp) {
 949    {
 950#line 97
 951    autoRespond(client, msg);
 952    }
 953  } else {
 954
 955  }
 956#line 917 "Client.c"
 957  return;
 958}
 959}
 960#line 104 "Client.c"
 961void incoming__wrappee__Forward(int client , int msg ) 
 962{ int fwreceiver ;
 963  int tmp ;
 964
 965  {
 966  {
 967#line 105
 968  incoming__wrappee__AddressBook(client, msg);
 969#line 106
 970  tmp = getClientForwardReceiver(client);
 971#line 106
 972  fwreceiver = tmp;
 973  }
 974#line 107
 975  if (fwreceiver) {
 976    {
 977#line 109
 978    setEmailTo(msg, fwreceiver);
 979#line 110
 980    forward(client, msg);
 981    }
 982  } else {
 983
 984  }
 985#line 948 "Client.c"
 986  return;
 987}
 988}
 989#line 117 "Client.c"
 990void incoming(int client , int msg ) 
 991{ int privkey ;
 992  int tmp ;
 993  int tmp___0 ;
 994  int tmp___1 ;
 995  int tmp___2 ;
 996
 997  {
 998  {
 999#line 120
1000  tmp = getClientPrivateKey(client);
1001#line 120
1002  privkey = tmp;
1003  }
1004#line 121
1005  if (privkey) {
1006    {
1007#line 129
1008    tmp___0 = isEncrypted(msg);
1009    }
1010#line 129
1011    if (tmp___0) {
1012      {
1013#line 129
1014      tmp___1 = getEmailEncryptionKey(msg);
1015#line 129
1016      tmp___2 = isKeyPairValid(tmp___1, privkey);
1017      }
1018#line 129
1019      if (tmp___2) {
1020        {
1021#line 126
1022        setEmailIsEncrypted(msg, 0);
1023#line 127
1024        setEmailEncryptionKey(msg, 0);
1025        }
1026      } else {
1027
1028      }
1029    } else {
1030
1031    }
1032  } else {
1033
1034  }
1035  {
1036#line 132
1037  incoming__wrappee__Forward(client, msg);
1038  }
1039#line 982 "Client.c"
1040  return;
1041}
1042}
1043#line 136 "Client.c"
1044int createClient(char *name ) 
1045{ int retValue_acc ;
1046  int client ;
1047  int tmp ;
1048
1049  {
1050  {
1051#line 137
1052  tmp = initClient();
1053#line 137
1054  client = tmp;
1055#line 1004 "Client.c"
1056  retValue_acc = client;
1057  }
1058#line 1006
1059  return (retValue_acc);
1060#line 1013
1061  return (retValue_acc);
1062}
1063}
1064#line 144 "Client.c"
1065void sendEmail(int sender , int receiver ) 
1066{ int email ;
1067  int tmp ;
1068
1069  {
1070  {
1071#line 145
1072  tmp = createEmail(0, receiver);
1073#line 145
1074  email = tmp;
1075#line 146
1076  outgoing(sender, email);
1077  }
1078#line 1041 "Client.c"
1079  return;
1080}
1081}
1082#line 154 "Client.c"
1083void queue(int client , int msg ) 
1084{ 
1085
1086  {
1087#line 155
1088  queue_empty = 0;
1089#line 156
1090  queued_message = msg;
1091#line 157
1092  queued_client = client;
1093#line 1065 "Client.c"
1094  return;
1095}
1096}
1097#line 163 "Client.c"
1098int is_queue_empty(void) 
1099{ int retValue_acc ;
1100
1101  {
1102#line 1083 "Client.c"
1103  retValue_acc = queue_empty;
1104#line 1085
1105  return (retValue_acc);
1106#line 1092
1107  return (retValue_acc);
1108}
1109}
1110#line 170 "Client.c"
1111int get_queued_client(void) 
1112{ int retValue_acc ;
1113
1114  {
1115#line 1114 "Client.c"
1116  retValue_acc = queued_client;
1117#line 1116
1118  return (retValue_acc);
1119#line 1123
1120  return (retValue_acc);
1121}
1122}
1123#line 177 "Client.c"
1124int get_queued_email(void) 
1125{ int retValue_acc ;
1126
1127  {
1128#line 1145 "Client.c"
1129  retValue_acc = queued_message;
1130#line 1147
1131  return (retValue_acc);
1132#line 1154
1133  return (retValue_acc);
1134}
1135}
1136#line 183 "Client.c"
1137int isKeyPairValid(int publicKey , int privateKey ) 
1138{ int retValue_acc ;
1139  char const   * __restrict  __cil_tmp4 ;
1140
1141  {
1142  {
1143#line 184
1144  __cil_tmp4 = (char const   * __restrict  )"keypair valid %d %d";
1145#line 184
1146  printf(__cil_tmp4, publicKey, privateKey);
1147  }
1148#line 185 "Client.c"
1149  if (! publicKey) {
1150#line 1179 "Client.c"
1151    retValue_acc = 0;
1152#line 1181
1153    return (retValue_acc);
1154  } else {
1155#line 185 "Client.c"
1156    if (! privateKey) {
1157#line 1179 "Client.c"
1158      retValue_acc = 0;
1159#line 1181
1160      return (retValue_acc);
1161    } else {
1162
1163    }
1164  }
1165#line 1186 "Client.c"
1166  retValue_acc = privateKey == publicKey;
1167#line 1188
1168  return (retValue_acc);
1169#line 1195
1170  return (retValue_acc);
1171}
1172}
1173#line 193 "Client.c"
1174void generateKeyPair(int client , int seed ) 
1175{ 
1176
1177  {
1178  {
1179#line 194
1180  setClientPrivateKey(client, seed);
1181  }
1182#line 1219 "Client.c"
1183  return;
1184}
1185}
1186#line 200 "Client.c"
1187void autoRespond(int client , int msg ) 
1188{ int sender ;
1189  int tmp ;
1190
1191  {
1192  {
1193#line 201
1194  puts("sending autoresponse\n");
1195#line 202
1196  tmp = getEmailFrom(msg);
1197#line 202
1198  sender = tmp;
1199#line 203
1200  setEmailTo(msg, sender);
1201#line 204
1202  queue(client, msg);
1203  }
1204#line 1361 "Client.c"
1205  return;
1206}
1207}
1208#line 209 "Client.c"
1209void sendToAddressBook(int client , int msg ) 
1210{ 
1211
1212  {
1213#line 1379 "Client.c"
1214  return;
1215}
1216}
1217#line 215 "Client.c"
1218void forward(int client , int msg ) 
1219{ 
1220
1221  {
1222  {
1223#line 216
1224  puts("Forwarding message.\n");
1225#line 217
1226  printMail(msg);
1227#line 218
1228  queue(client, msg);
1229  }
1230#line 1403 "Client.c"
1231  return;
1232}
1233}
1234#line 1 "featureselect.o"
1235#pragma merger(0,"featureselect.i","")
1236#line 41 "featureselect.h"
1237int select_one(void) ;
1238#line 8 "featureselect.c"
1239int select_one(void) 
1240{ int retValue_acc ;
1241  int choice = __VERIFIER_nondet_int();
1242
1243  {
1244#line 84 "featureselect.c"
1245  retValue_acc = choice;
1246#line 86
1247  return (retValue_acc);
1248#line 93
1249  return (retValue_acc);
1250}
1251}
1252#line 14 "featureselect.c"
1253void select_features(void) 
1254{ 
1255
1256  {
1257#line 115 "featureselect.c"
1258  return;
1259}
1260}
1261#line 20 "featureselect.c"
1262void select_helpers(void) 
1263{ 
1264
1265  {
1266#line 133 "featureselect.c"
1267  return;
1268}
1269}
1270#line 25 "featureselect.c"
1271int valid_product(void) 
1272{ int retValue_acc ;
1273
1274  {
1275#line 151 "featureselect.c"
1276  retValue_acc = 1;
1277#line 153
1278  return (retValue_acc);
1279#line 160
1280  return (retValue_acc);
1281}
1282}
1283#line 1 "scenario.o"
1284#pragma merger(0,"scenario.i","")
1285#line 1 "scenario.c"
1286void test(void) 
1287{ int op1 ;
1288  int op2 ;
1289  int op3 ;
1290  int op4 ;
1291  int op5 ;
1292  int op6 ;
1293  int op7 ;
1294  int op8 ;
1295  int op9 ;
1296  int op10 ;
1297  int op11 ;
1298  int splverifierCounter ;
1299  int tmp ;
1300  int tmp___0 ;
1301  int tmp___1 ;
1302  int tmp___2 ;
1303  int tmp___3 ;
1304  int tmp___4 ;
1305  int tmp___5 ;
1306  int tmp___6 ;
1307  int tmp___7 ;
1308  int tmp___8 ;
1309  int tmp___9 ;
1310
1311  {
1312#line 2
1313  op1 = 0;
1314#line 3
1315  op2 = 0;
1316#line 4
1317  op3 = 0;
1318#line 5
1319  op4 = 0;
1320#line 6
1321  op5 = 0;
1322#line 7
1323  op6 = 0;
1324#line 8
1325  op7 = 0;
1326#line 9
1327  op8 = 0;
1328#line 10
1329  op9 = 0;
1330#line 11
1331  op10 = 0;
1332#line 12
1333  op11 = 0;
1334#line 13
1335  splverifierCounter = 0;
1336  {
1337#line 14
1338  while (1) {
1339    while_0_continue: /* CIL Label */ ;
1340#line 14
1341    if (splverifierCounter < 4) {
1342
1343    } else {
1344      goto while_0_break;
1345    }
1346#line 15
1347    splverifierCounter = splverifierCounter + 1;
1348#line 16
1349    if (! op1) {
1350      {
1351#line 16
1352      tmp___9 = __VERIFIER_nondet_int();
1353      }
1354#line 16
1355      if (tmp___9) {
1356        {
1357#line 17
1358        bobKeyAdd();
1359#line 18
1360        op1 = 1;
1361        }
1362      } else {
1363        goto _L___8;
1364      }
1365    } else {
1366      _L___8: /* CIL Label */ 
1367#line 19
1368      if (! op2) {
1369        {
1370#line 19
1371        tmp___8 = __VERIFIER_nondet_int();
1372        }
1373#line 19
1374        if (tmp___8) {
1375          {
1376#line 21
1377          rjhSetAutoRespond();
1378#line 22
1379          op2 = 1;
1380          }
1381        } else {
1382          goto _L___7;
1383        }
1384      } else {
1385        _L___7: /* CIL Label */ 
1386#line 23
1387        if (! op3) {
1388          {
1389#line 23
1390          tmp___7 = __VERIFIER_nondet_int();
1391          }
1392#line 23
1393          if (tmp___7) {
1394            {
1395#line 25
1396            rjhDeletePrivateKey();
1397#line 26
1398            op3 = 1;
1399            }
1400          } else {
1401            goto _L___6;
1402          }
1403        } else {
1404          _L___6: /* CIL Label */ 
1405#line 27
1406          if (! op4) {
1407            {
1408#line 27
1409            tmp___6 = __VERIFIER_nondet_int();
1410            }
1411#line 27
1412            if (tmp___6) {
1413              {
1414#line 29
1415              rjhKeyAdd();
1416#line 30
1417              op4 = 1;
1418              }
1419            } else {
1420              goto _L___5;
1421            }
1422          } else {
1423            _L___5: /* CIL Label */ 
1424#line 31
1425            if (! op5) {
1426              {
1427#line 31
1428              tmp___5 = __VERIFIER_nondet_int();
1429              }
1430#line 31
1431              if (tmp___5) {
1432                {
1433#line 33
1434                chuckKeyAddRjh();
1435#line 34
1436                op5 = 1;
1437                }
1438              } else {
1439                goto _L___4;
1440              }
1441            } else {
1442              _L___4: /* CIL Label */ 
1443#line 35
1444              if (! op6) {
1445                {
1446#line 35
1447                tmp___4 = __VERIFIER_nondet_int();
1448                }
1449#line 35
1450                if (tmp___4) {
1451                  {
1452#line 37
1453                  rjhEnableForwarding();
1454#line 38
1455                  op6 = 1;
1456                  }
1457                } else {
1458                  goto _L___3;
1459                }
1460              } else {
1461                _L___3: /* CIL Label */ 
1462#line 39
1463                if (! op7) {
1464                  {
1465#line 39
1466                  tmp___3 = __VERIFIER_nondet_int();
1467                  }
1468#line 39
1469                  if (tmp___3) {
1470                    {
1471#line 41
1472                    rjhKeyChange();
1473#line 42
1474                    op7 = 1;
1475                    }
1476                  } else {
1477                    goto _L___2;
1478                  }
1479                } else {
1480                  _L___2: /* CIL Label */ 
1481#line 43
1482                  if (! op8) {
1483                    {
1484#line 43
1485                    tmp___2 = __VERIFIER_nondet_int();
1486                    }
1487#line 43
1488                    if (tmp___2) {
1489                      {
1490#line 45
1491                      bobSetAddressBook();
1492#line 46
1493                      op8 = 1;
1494                      }
1495                    } else {
1496                      goto _L___1;
1497                    }
1498                  } else {
1499                    _L___1: /* CIL Label */ 
1500#line 47
1501                    if (! op9) {
1502                      {
1503#line 47
1504                      tmp___1 = __VERIFIER_nondet_int();
1505                      }
1506#line 47
1507                      if (tmp___1) {
1508                        {
1509#line 49
1510                        chuckKeyAdd();
1511#line 50
1512                        op9 = 1;
1513                        }
1514                      } else {
1515                        goto _L___0;
1516                      }
1517                    } else {
1518                      _L___0: /* CIL Label */ 
1519#line 51
1520                      if (! op10) {
1521                        {
1522#line 51
1523                        tmp___0 = __VERIFIER_nondet_int();
1524                        }
1525#line 51
1526                        if (tmp___0) {
1527                          {
1528#line 53
1529                          bobKeyChange();
1530#line 54
1531                          op10 = 1;
1532                          }
1533                        } else {
1534                          goto _L;
1535                        }
1536                      } else {
1537                        _L: /* CIL Label */ 
1538#line 55
1539                        if (! op11) {
1540                          {
1541#line 55
1542                          tmp = __VERIFIER_nondet_int();
1543                          }
1544#line 55
1545                          if (tmp) {
1546                            {
1547#line 57
1548                            chuckKeyAdd();
1549#line 58
1550                            op11 = 1;
1551                            }
1552                          } else {
1553                            goto while_0_break;
1554                          }
1555                        } else {
1556                          goto while_0_break;
1557                        }
1558                      }
1559                    }
1560                  }
1561                }
1562              }
1563            }
1564          }
1565        }
1566      }
1567    }
1568  }
1569  while_0_break: /* CIL Label */ ;
1570  }
1571  {
1572#line 62
1573  bobToRjh();
1574  }
1575#line 171 "scenario.c"
1576  return;
1577}
1578}
1579#line 1 "wsllib_check.o"
1580#pragma merger(0,"wsllib_check.i","")
1581#line 3 "wsllib_check.c"
1582void __automaton_fail(void) 
1583{ 
1584
1585  {
1586  goto ERROR;
1587  ERROR: ;
1588#line 53 "wsllib_check.c"
1589  return;
1590}
1591}
1592#line 1 "ClientLib.o"
1593#pragma merger(0,"ClientLib.i","")
1594#line 6 "ClientLib.h"
1595char *getClientName(int handle ) ;
1596#line 8
1597void setClientName(int handle , char *value ) ;
1598#line 10
1599int getClientOutbuffer(int handle ) ;
1600#line 12
1601void setClientOutbuffer(int handle , int value ) ;
1602#line 18
1603int createClientAddressBookEntry(int handle ) ;
1604#line 20
1605int getClientAddressBookAlias(int handle , int index ) ;
1606#line 37
1607int getClientKeyringSize(int handle ) ;
1608#line 59
1609int findClientAddressBookAlias(int handle , int userid ) ;
1610#line 5 "ClientLib.c"
1611int __ste_Client_counter  =    0;
1612#line 7 "ClientLib.c"
1613int initClient(void) 
1614{ int retValue_acc ;
1615
1616  {
1617#line 12 "ClientLib.c"
1618  if (__ste_Client_counter < 3) {
1619#line 684
1620    __ste_Client_counter = __ste_Client_counter + 1;
1621#line 684
1622    retValue_acc = __ste_Client_counter;
1623#line 686
1624    return (retValue_acc);
1625  } else {
1626#line 692 "ClientLib.c"
1627    retValue_acc = -1;
1628#line 694
1629    return (retValue_acc);
1630  }
1631#line 701 "ClientLib.c"
1632  return (retValue_acc);
1633}
1634}
1635#line 15 "ClientLib.c"
1636char *__ste_client_name0  =    (char *)0;
1637#line 17 "ClientLib.c"
1638char *__ste_client_name1  =    (char *)0;
1639#line 19 "ClientLib.c"
1640char *__ste_client_name2  =    (char *)0;
1641#line 22 "ClientLib.c"
1642char *getClientName(int handle ) 
1643{ char *retValue_acc ;
1644  void *__cil_tmp3 ;
1645
1646  {
1647#line 31 "ClientLib.c"
1648  if (handle == 1) {
1649#line 732
1650    retValue_acc = __ste_client_name0;
1651#line 734
1652    return (retValue_acc);
1653  } else {
1654#line 736
1655    if (handle == 2) {
1656#line 741
1657      retValue_acc = __ste_client_name1;
1658#line 743
1659      return (retValue_acc);
1660    } else {
1661#line 745
1662      if (handle == 3) {
1663#line 750
1664        retValue_acc = __ste_client_name2;
1665#line 752
1666        return (retValue_acc);
1667      } else {
1668#line 758 "ClientLib.c"
1669        __cil_tmp3 = (void *)0;
1670#line 758
1671        retValue_acc = (char *)__cil_tmp3;
1672#line 760
1673        return (retValue_acc);
1674      }
1675    }
1676  }
1677#line 767 "ClientLib.c"
1678  return (retValue_acc);
1679}
1680}
1681#line 34 "ClientLib.c"
1682void setClientName(int handle , char *value ) 
1683{ 
1684
1685  {
1686#line 42
1687  if (handle == 1) {
1688#line 36
1689    __ste_client_name0 = value;
1690  } else {
1691#line 37
1692    if (handle == 2) {
1693#line 38
1694      __ste_client_name1 = value;
1695    } else {
1696#line 39
1697      if (handle == 3) {
1698#line 40
1699        __ste_client_name2 = value;
1700      } else {
1701
1702      }
1703    }
1704  }
1705#line 802 "ClientLib.c"
1706  return;
1707}
1708}
1709#line 44 "ClientLib.c"
1710int __ste_client_outbuffer0  =    0;
1711#line 46 "ClientLib.c"
1712int __ste_client_outbuffer1  =    0;
1713#line 48 "ClientLib.c"
1714int __ste_client_outbuffer2  =    0;
1715#line 50 "ClientLib.c"
1716int __ste_client_outbuffer3  =    0;
1717#line 53 "ClientLib.c"
1718int getClientOutbuffer(int handle ) 
1719{ int retValue_acc ;
1720
1721  {
1722#line 62 "ClientLib.c"
1723  if (handle == 1) {
1724#line 831
1725    retValue_acc = __ste_client_outbuffer0;
1726#line 833
1727    return (retValue_acc);
1728  } else {
1729#line 835
1730    if (handle == 2) {
1731#line 840
1732      retValue_acc = __ste_client_outbuffer1;
1733#line 842
1734      return (retValue_acc);
1735    } else {
1736#line 844
1737      if (handle == 3) {
1738#line 849
1739        retValue_acc = __ste_client_outbuffer2;
1740#line 851
1741        return (retValue_acc);
1742      } else {
1743#line 857 "ClientLib.c"
1744        retValue_acc = 0;
1745#line 859
1746        return (retValue_acc);
1747      }
1748    }
1749  }
1750#line 866 "ClientLib.c"
1751  return (retValue_acc);
1752}
1753}
1754#line 65 "ClientLib.c"
1755void setClientOutbuffer(int handle , int value ) 
1756{ 
1757
1758  {
1759#line 73
1760  if (handle == 1) {
1761#line 67
1762    __ste_client_outbuffer0 = value;
1763  } else {
1764#line 68
1765    if (handle == 2) {
1766#line 69
1767      __ste_client_outbuffer1 = value;
1768    } else {
1769#line 70
1770      if (handle == 3) {
1771#line 71
1772        __ste_client_outbuffer2 = value;
1773      } else {
1774
1775      }
1776    }
1777  }
1778#line 901 "ClientLib.c"
1779  return;
1780}
1781}
1782#line 77 "ClientLib.c"
1783int __ste_ClientAddressBook_size0  =    0;
1784#line 79 "ClientLib.c"
1785int __ste_ClientAddressBook_size1  =    0;
1786#line 81 "ClientLib.c"
1787int __ste_ClientAddressBook_size2  =    0;
1788#line 84 "ClientLib.c"
1789int getClientAddressBookSize(int handle ) 
1790{ int retValue_acc ;
1791
1792  {
1793#line 93 "ClientLib.c"
1794  if (handle == 1) {
1795#line 928
1796    retValue_acc = __ste_ClientAddressBook_size0;
1797#line 930
1798    return (retValue_acc);
1799  } else {
1800#line 932
1801    if (handle == 2) {
1802#line 937
1803      retValue_acc = __ste_ClientAddressBook_size1;
1804#line 939
1805      return (retValue_acc);
1806    } else {
1807#line 941
1808      if (handle == 3) {
1809#line 946
1810        retValue_acc = __ste_ClientAddressBook_size2;
1811#line 948
1812        return (retValue_acc);
1813      } else {
1814#line 954 "ClientLib.c"
1815        retValue_acc = 0;
1816#line 956
1817        return (retValue_acc);
1818      }
1819    }
1820  }
1821#line 963 "ClientLib.c"
1822  return (retValue_acc);
1823}
1824}
1825#line 96 "ClientLib.c"
1826void setClientAddressBookSize(int handle , int value ) 
1827{ 
1828
1829  {
1830#line 104
1831  if (handle == 1) {
1832#line 98
1833    __ste_ClientAddressBook_size0 = value;
1834  } else {
1835#line 99
1836    if (handle == 2) {
1837#line 100
1838      __ste_ClientAddressBook_size1 = value;
1839    } else {
1840#line 101
1841      if (handle == 3) {
1842#line 102
1843        __ste_ClientAddressBook_size2 = value;
1844      } else {
1845
1846      }
1847    }
1848  }
1849#line 998 "ClientLib.c"
1850  return;
1851}
1852}
1853#line 106 "ClientLib.c"
1854int createClientAddressBookEntry(int handle ) 
1855{ int retValue_acc ;
1856  int size ;
1857  int tmp ;
1858  int __cil_tmp5 ;
1859
1860  {
1861  {
1862#line 107
1863  tmp = getClientAddressBookSize(handle);
1864#line 107
1865  size = tmp;
1866  }
1867#line 108 "ClientLib.c"
1868  if (size < 3) {
1869    {
1870#line 109 "ClientLib.c"
1871    __cil_tmp5 = size + 1;
1872#line 109
1873    setClientAddressBookSize(handle, __cil_tmp5);
1874#line 1025 "ClientLib.c"
1875    retValue_acc = size + 1;
1876    }
1877#line 1027
1878    return (retValue_acc);
1879  } else {
1880#line 1031 "ClientLib.c"
1881    retValue_acc = -1;
1882#line 1033
1883    return (retValue_acc);
1884  }
1885#line 1040 "ClientLib.c"
1886  return (retValue_acc);
1887}
1888}
1889#line 115 "ClientLib.c"
1890int __ste_Client_AddressBook0_Alias0  =    0;
1891#line 117 "ClientLib.c"
1892int __ste_Client_AddressBook0_Alias1  =    0;
1893#line 119 "ClientLib.c"
1894int __ste_Client_AddressBook0_Alias2  =    0;
1895#line 121 "ClientLib.c"
1896int __ste_Client_AddressBook1_Alias0  =    0;
1897#line 123 "ClientLib.c"
1898int __ste_Client_AddressBook1_Alias1  =    0;
1899#line 125 "ClientLib.c"
1900int __ste_Client_AddressBook1_Alias2  =    0;
1901#line 127 "ClientLib.c"
1902int __ste_Client_AddressBook2_Alias0  =    0;
1903#line 129 "ClientLib.c"
1904int __ste_Client_AddressBook2_Alias1  =    0;
1905#line 131 "ClientLib.c"
1906int __ste_Client_AddressBook2_Alias2  =    0;
1907#line 134 "ClientLib.c"
1908int getClientAddressBookAlias(int handle , int index ) 
1909{ int retValue_acc ;
1910
1911  {
1912#line 167
1913  if (handle == 1) {
1914#line 144 "ClientLib.c"
1915    if (index == 0) {
1916#line 1086
1917      retValue_acc = __ste_Client_AddressBook0_Alias0;
1918#line 1088
1919      return (retValue_acc);
1920    } else {
1921#line 1090
1922      if (index == 1) {
1923#line 1095
1924        retValue_acc = __ste_Client_AddressBook0_Alias1;
1925#line 1097
1926        return (retValue_acc);
1927      } else {
1928#line 1099
1929        if (index == 2) {
1930#line 1104
1931          retValue_acc = __ste_Client_AddressBook0_Alias2;
1932#line 1106
1933          return (retValue_acc);
1934        } else {
1935#line 1112
1936          retValue_acc = 0;
1937#line 1114
1938          return (retValue_acc);
1939        }
1940      }
1941    }
1942  } else {
1943#line 1116 "ClientLib.c"
1944    if (handle == 2) {
1945#line 154 "ClientLib.c"
1946      if (index == 0) {
1947#line 1124
1948        retValue_acc = __ste_Client_AddressBook1_Alias0;
1949#line 1126
1950        return (retValue_acc);
1951      } else {
1952#line 1128
1953        if (index == 1) {
1954#line 1133
1955          retValue_acc = __ste_Client_AddressBook1_Alias1;
1956#line 1135
1957          return (retValue_acc);
1958        } else {
1959#line 1137
1960          if (index == 2) {
1961#line 1142
1962            retValue_acc = __ste_Client_AddressBook1_Alias2;
1963#line 1144
1964            return (retValue_acc);
1965          } else {
1966#line 1150
1967            retValue_acc = 0;
1968#line 1152
1969            return (retValue_acc);
1970          }
1971        }
1972      }
1973    } else {
1974#line 1154 "ClientLib.c"
1975      if (handle == 3) {
1976#line 164 "ClientLib.c"
1977        if (index == 0) {
1978#line 1162
1979          retValue_acc = __ste_Client_AddressBook2_Alias0;
1980#line 1164
1981          return (retValue_acc);
1982        } else {
1983#line 1166
1984          if (index == 1) {
1985#line 1171
1986            retValue_acc = __ste_Client_AddressBook2_Alias1;
1987#line 1173
1988            return (retValue_acc);
1989          } else {
1990#line 1175
1991            if (index == 2) {
1992#line 1180
1993              retValue_acc = __ste_Client_AddressBook2_Alias2;
1994#line 1182
1995              return (retValue_acc);
1996            } else {
1997#line 1188
1998              retValue_acc = 0;
1999#line 1190
2000              return (retValue_acc);
2001            }
2002          }
2003        }
2004      } else {
2005#line 1196 "ClientLib.c"
2006        retValue_acc = 0;
2007#line 1198
2008        return (retValue_acc);
2009      }
2010    }
2011  }
2012#line 1205 "ClientLib.c"
2013  return (retValue_acc);
2014}
2015}
2016#line 171 "ClientLib.c"
2017int findClientAddressBookAlias(int handle , int userid ) 
2018{ int retValue_acc ;
2019
2020  {
2021#line 204
2022  if (handle == 1) {
2023#line 181 "ClientLib.c"
2024    if (userid == __ste_Client_AddressBook0_Alias0) {
2025#line 1233
2026      retValue_acc = 0;
2027#line 1235
2028      return (retValue_acc);
2029    } else {
2030#line 1237
2031      if (userid == __ste_Client_AddressBook0_Alias1) {
2032#line 1242
2033        retValue_acc = 1;
2034#line 1244
2035        return (retValue_acc);
2036      } else {
2037#line 1246
2038        if (userid == __ste_Client_AddressBook0_Alias2) {
2039#line 1251
2040          retValue_acc = 2;
2041#line 1253
2042          return (retValue_acc);
2043        } else {
2044#line 1259
2045          retValue_acc = -1;
2046#line 1261
2047          return (retValue_acc);
2048        }
2049      }
2050    }
2051  } else {
2052#line 1263 "ClientLib.c"
2053    if (handle == 2) {
2054#line 191 "ClientLib.c"
2055      if (userid == __ste_Client_AddressBook1_Alias0) {
2056#line 1271
2057        retValue_acc = 0;
2058#line 1273
2059        return (retValue_acc);
2060      } else {
2061#line 1275
2062        if (userid == __ste_Client_AddressBook1_Alias1) {
2063#line 1280
2064          retValue_acc = 1;
2065#line 1282
2066          return (retValue_acc);
2067        } else {
2068#line 1284
2069          if (userid == __ste_Client_AddressBook1_Alias2) {
2070#line 1289
2071            retValue_acc = 2;
2072#line 1291
2073            return (retValue_acc);
2074          } else {
2075#line 1297
2076            retValue_acc = -1;
2077#line 1299
2078            return (retValue_acc);
2079          }
2080        }
2081      }
2082    } else {
2083#line 1301 "ClientLib.c"
2084      if (handle == 3) {
2085#line 201 "ClientLib.c"
2086        if (userid == __ste_Client_AddressBook2_Alias0) {
2087#line 1309
2088          retValue_acc = 0;
2089#line 1311
2090          return (retValue_acc);
2091        } else {
2092#line 1313
2093          if (userid == __ste_Client_AddressBook2_Alias1) {
2094#line 1318
2095            retValue_acc = 1;
2096#line 1320
2097            return (retValue_acc);
2098          } else {
2099#line 1322
2100            if (userid == __ste_Client_AddressBook2_Alias2) {
2101#line 1327
2102              retValue_acc = 2;
2103#line 1329
2104              return (retValue_acc);
2105            } else {
2106#line 1335
2107              retValue_acc = -1;
2108#line 1337
2109              return (retValue_acc);
2110            }
2111          }
2112        }
2113      } else {
2114#line 1343 "ClientLib.c"
2115        retValue_acc = -1;
2116#line 1345
2117        return (retValue_acc);
2118      }
2119    }
2120  }
2121#line 1352 "ClientLib.c"
2122  return (retValue_acc);
2123}
2124}
2125#line 208 "ClientLib.c"
2126void setClientAddressBookAlias(int handle , int index , int value ) 
2127{ 
2128
2129  {
2130#line 234
2131  if (handle == 1) {
2132#line 217
2133    if (index == 0) {
2134#line 211
2135      __ste_Client_AddressBook0_Alias0 = value;
2136    } else {
2137#line 212
2138      if (index == 1) {
2139#line 213
2140        __ste_Client_AddressBook0_Alias1 = value;
2141      } else {
2142#line 214
2143        if (index == 2) {
2144#line 215
2145          __ste_Client_AddressBook0_Alias2 = value;
2146        } else {
2147
2148        }
2149      }
2150    }
2151  } else {
2152#line 216
2153    if (handle == 2) {
2154#line 225
2155      if (index == 0) {
2156#line 219
2157        __ste_Client_AddressBook1_Alias0 = value;
2158      } else {
2159#line 220
2160        if (index == 1) {
2161#line 221
2162          __ste_Client_AddressBook1_Alias1 = value;
2163        } else {
2164#line 222
2165          if (index == 2) {
2166#line 223
2167            __ste_Client_AddressBook1_Alias2 = value;
2168          } else {
2169
2170          }
2171        }
2172      }
2173    } else {
2174#line 224
2175      if (handle == 3) {
2176#line 233
2177        if (index == 0) {
2178#line 227
2179          __ste_Client_AddressBook2_Alias0 = value;
2180        } else {
2181#line 228
2182          if (index == 1) {
2183#line 229
2184            __ste_Client_AddressBook2_Alias1 = value;
2185          } else {
2186#line 230
2187            if (index == 2) {
2188#line 231
2189              __ste_Client_AddressBook2_Alias2 = value;
2190            } else {
2191
2192            }
2193          }
2194        }
2195      } else {
2196
2197      }
2198    }
2199  }
2200#line 1420 "ClientLib.c"
2201  return;
2202}
2203}
2204#line 236 "ClientLib.c"
2205int __ste_Client_AddressBook0_Address0  =    0;
2206#line 238 "ClientLib.c"
2207int __ste_Client_AddressBook0_Address1  =    0;
2208#line 240 "ClientLib.c"
2209int __ste_Client_AddressBook0_Address2  =    0;
2210#line 242 "ClientLib.c"
2211int __ste_Client_AddressBook1_Address0  =    0;
2212#line 244 "ClientLib.c"
2213int __ste_Client_AddressBook1_Address1  =    0;
2214#line 246 "ClientLib.c"
2215int __ste_Client_AddressBook1_Address2  =    0;
2216#line 248 "ClientLib.c"
2217int __ste_Client_AddressBook2_Address0  =    0;
2218#line 250 "ClientLib.c"
2219int __ste_Client_AddressBook2_Address1  =    0;
2220#line 252 "ClientLib.c"
2221int __ste_Client_AddressBook2_Address2  =    0;
2222#line 255 "ClientLib.c"
2223int getClientAddressBookAddress(int handle , int index ) 
2224{ int retValue_acc ;
2225
2226  {
2227#line 288
2228  if (handle == 1) {
2229#line 265 "ClientLib.c"
2230    if (index == 0) {
2231#line 1462
2232      retValue_acc = __ste_Client_AddressBook0_Address0;
2233#line 1464
2234      return (retValue_acc);
2235    } else {
2236#line 1466
2237      if (index == 1) {
2238#line 1471
2239        retValue_acc = __ste_Client_AddressBook0_Address1;
2240#line 1473
2241        return (retValue_acc);
2242      } else {
2243#line 1475
2244        if (index == 2) {
2245#line 1480
2246          retValue_acc = __ste_Client_AddressBook0_Address2;
2247#line 1482
2248          return (retValue_acc);
2249        } else {
2250#line 1488
2251          retValue_acc = 0;
2252#line 1490
2253          return (retValue_acc);
2254        }
2255      }
2256    }
2257  } else {
2258#line 1492 "ClientLib.c"
2259    if (handle == 2) {
2260#line 275 "ClientLib.c"
2261      if (index == 0) {
2262#line 1500
2263        retValue_acc = __ste_Client_AddressBook1_Address0;
2264#line 1502
2265        return (retValue_acc);
2266      } else {
2267#line 1504
2268        if (index == 1) {
2269#line 1509
2270          retValue_acc = __ste_Client_AddressBook1_Address1;
2271#line 1511
2272          return (retValue_acc);
2273        } else {
2274#line 1513
2275          if (index == 2) {
2276#line 1518
2277            retValue_acc = __ste_Client_AddressBook1_Address2;
2278#line 1520
2279            return (retValue_acc);
2280          } else {
2281#line 1526
2282            retValue_acc = 0;
2283#line 1528
2284            return (retValue_acc);
2285          }
2286        }
2287      }
2288    } else {
2289#line 1530 "ClientLib.c"
2290      if (handle == 3) {
2291#line 285 "ClientLib.c"
2292        if (index == 0) {
2293#line 1538
2294          retValue_acc = __ste_Client_AddressBook2_Address0;
2295#line 1540
2296          return (retValue_acc);
2297        } else {
2298#line 1542
2299          if (index == 1) {
2300#line 1547
2301            retValue_acc = __ste_Client_AddressBook2_Address1;
2302#line 1549
2303            return (retValue_acc);
2304          } else {
2305#line 1551
2306            if (index == 2) {
2307#line 1556
2308              retValue_acc = __ste_Client_AddressBook2_Address2;
2309#line 1558
2310              return (retValue_acc);
2311            } else {
2312#line 1564
2313              retValue_acc = 0;
2314#line 1566
2315              return (retValue_acc);
2316            }
2317          }
2318        }
2319      } else {
2320#line 1572 "ClientLib.c"
2321        retValue_acc = 0;
2322#line 1574
2323        return (retValue_acc);
2324      }
2325    }
2326  }
2327#line 1581 "ClientLib.c"
2328  return (retValue_acc);
2329}
2330}
2331#line 291 "ClientLib.c"
2332void setClientAddressBookAddress(int handle , int index , int value ) 
2333{ 
2334
2335  {
2336#line 317
2337  if (handle == 1) {
2338#line 300
2339    if (index == 0) {
2340#line 294
2341      __ste_Client_AddressBook0_Address0 = value;
2342    } else {
2343#line 295
2344      if (index == 1) {
2345#line 296
2346        __ste_Client_AddressBook0_Address1 = value;
2347      } else {
2348#line 297
2349        if (index == 2) {
2350#line 298
2351          __ste_Client_AddressBook0_Address2 = value;
2352        } else {
2353
2354        }
2355      }
2356    }
2357  } else {
2358#line 299
2359    if (handle == 2) {
2360#line 308
2361      if (index == 0) {
2362#line 302
2363        __ste_Client_AddressBook1_Address0 = value;
2364      } else {
2365#line 303
2366        if (index == 1) {
2367#line 304
2368          __ste_Client_AddressBook1_Address1 = value;
2369        } else {
2370#line 305
2371          if (index == 2) {
2372#line 306
2373            __ste_Client_AddressBook1_Address2 = value;
2374          } else {
2375
2376          }
2377        }
2378      }
2379    } else {
2380#line 307
2381      if (handle == 3) {
2382#line 316
2383        if (index == 0) {
2384#line 310
2385          __ste_Client_AddressBook2_Address0 = value;
2386        } else {
2387#line 311
2388          if (index == 1) {
2389#line 312
2390            __ste_Client_AddressBook2_Address1 = value;
2391          } else {
2392#line 313
2393            if (index == 2) {
2394#line 314
2395              __ste_Client_AddressBook2_Address2 = value;
2396            } else {
2397
2398            }
2399          }
2400        }
2401      } else {
2402
2403      }
2404    }
2405  }
2406#line 1649 "ClientLib.c"
2407  return;
2408}
2409}
2410#line 319 "ClientLib.c"
2411int __ste_client_autoResponse0  =    0;
2412#line 321 "ClientLib.c"
2413int __ste_client_autoResponse1  =    0;
2414#line 323 "ClientLib.c"
2415int __ste_client_autoResponse2  =    0;
2416#line 326 "ClientLib.c"
2417int getClientAutoResponse(int handle ) 
2418{ int retValue_acc ;
2419
2420  {
2421#line 335 "ClientLib.c"
2422  if (handle == 1) {
2423#line 1676
2424    retValue_acc = __ste_client_autoResponse0;
2425#line 1678
2426    return (retValue_acc);
2427  } else {
2428#line 1680
2429    if (handle == 2) {
2430#line 1685
2431      retValue_acc = __ste_client_autoResponse1;
2432#line 1687
2433      return (retValue_acc);
2434    } else {
2435#line 1689
2436      if (handle == 3) {
2437#line 1694
2438        retValue_acc = __ste_client_autoResponse2;
2439#line 1696
2440        return (retValue_acc);
2441      } else {
2442#line 1702 "ClientLib.c"
2443        retValue_acc = -1;
2444#line 1704
2445        return (retValue_acc);
2446      }
2447    }
2448  }
2449#line 1711 "ClientLib.c"
2450  return (retValue_acc);
2451}
2452}
2453#line 338 "ClientLib.c"
2454void setClientAutoResponse(int handle , int value ) 
2455{ 
2456
2457  {
2458#line 346
2459  if (handle == 1) {
2460#line 340
2461    __ste_client_autoResponse0 = value;
2462  } else {
2463#line 341
2464    if (handle == 2) {
2465#line 342
2466      __ste_client_autoResponse1 = value;
2467    } else {
2468#line 343
2469      if (handle == 3) {
2470#line 344
2471        __ste_client_autoResponse2 = value;
2472      } else {
2473
2474      }
2475    }
2476  }
2477#line 1746 "ClientLib.c"
2478  return;
2479}
2480}
2481#line 348 "ClientLib.c"
2482int __ste_client_privateKey0  =    0;
2483#line 350 "ClientLib.c"
2484int __ste_client_privateKey1  =    0;
2485#line 352 "ClientLib.c"
2486int __ste_client_privateKey2  =    0;
2487#line 355 "ClientLib.c"
2488int getClientPrivateKey(int handle ) 
2489{ int retValue_acc ;
2490
2491  {
2492#line 364 "ClientLib.c"
2493  if (handle == 1) {
2494#line 1773
2495    retValue_acc = __ste_client_privateKey0;
2496#line 1775
2497    return (retValue_acc);
2498  } else {
2499#line 1777
2500    if (handle == 2) {
2501#line 1782
2502      retValue_acc = __ste_client_privateKey1;
2503#line 1784
2504      return (retValue_acc);
2505    } else {
2506#line 1786
2507      if (handle == 3) {
2508#line 1791
2509        retValue_acc = __ste_client_privateKey2;
2510#line 1793
2511        return (retValue_acc);
2512      } else {
2513#line 1799 "ClientLib.c"
2514        retValue_acc = 0;
2515#line 1801
2516        return (retValue_acc);
2517      }
2518    }
2519  }
2520#line 1808 "ClientLib.c"
2521  return (retValue_acc);
2522}
2523}
2524#line 367 "ClientLib.c"
2525void setClientPrivateKey(int handle , int value ) 
2526{ 
2527
2528  {
2529#line 375
2530  if (handle == 1) {
2531#line 369
2532    __ste_client_privateKey0 = value;
2533  } else {
2534#line 370
2535    if (handle == 2) {
2536#line 371
2537      __ste_client_privateKey1 = value;
2538    } else {
2539#line 372
2540      if (handle == 3) {
2541#line 373
2542        __ste_client_privateKey2 = value;
2543      } else {
2544
2545      }
2546    }
2547  }
2548#line 1843 "ClientLib.c"
2549  return;
2550}
2551}
2552#line 377 "ClientLib.c"
2553int __ste_ClientKeyring_size0  =    0;
2554#line 379 "ClientLib.c"
2555int __ste_ClientKeyring_size1  =    0;
2556#line 381 "ClientLib.c"
2557int __ste_ClientKeyring_size2  =    0;
2558#line 384 "ClientLib.c"
2559int getClientKeyringSize(int handle ) 
2560{ int retValue_acc ;
2561
2562  {
2563#line 393 "ClientLib.c"
2564  if (handle == 1) {
2565#line 1870
2566    retValue_acc = __ste_ClientKeyring_size0;
2567#line 1872
2568    return (retValue_acc);
2569  } else {
2570#line 1874
2571    if (handle == 2) {
2572#line 1879
2573      retValue_acc = __ste_ClientKeyring_size1;
2574#line 1881
2575      return (retValue_acc);
2576    } else {
2577#line 1883
2578      if (handle == 3) {
2579#line 1888
2580        retValue_acc = __ste_ClientKeyring_size2;
2581#line 1890
2582        return (retValue_acc);
2583      } else {
2584#line 1896 "ClientLib.c"
2585        retValue_acc = 0;
2586#line 1898
2587        return (retValue_acc);
2588      }
2589    }
2590  }
2591#line 1905 "ClientLib.c"
2592  return (retValue_acc);
2593}
2594}
2595#line 396 "ClientLib.c"
2596void setClientKeyringSize(int handle , int value ) 
2597{ 
2598
2599  {
2600#line 404
2601  if (handle == 1) {
2602#line 398
2603    __ste_ClientKeyring_size0 = value;
2604  } else {
2605#line 399
2606    if (handle == 2) {
2607#line 400
2608      __ste_ClientKeyring_size1 = value;
2609    } else {
2610#line 401
2611      if (handle == 3) {
2612#line 402
2613        __ste_ClientKeyring_size2 = value;
2614      } else {
2615
2616      }
2617    }
2618  }
2619#line 1940 "ClientLib.c"
2620  return;
2621}
2622}
2623#line 406 "ClientLib.c"
2624int createClientKeyringEntry(int handle ) 
2625{ int retValue_acc ;
2626  int size ;
2627  int tmp ;
2628  int __cil_tmp5 ;
2629
2630  {
2631  {
2632#line 407
2633  tmp = getClientKeyringSize(handle);
2634#line 407
2635  size = tmp;
2636  }
2637#line 408 "ClientLib.c"
2638  if (size < 2) {
2639    {
2640#line 409 "ClientLib.c"
2641    __cil_tmp5 = size + 1;
2642#line 409
2643    setClientKeyringSize(handle, __cil_tmp5);
2644#line 1967 "ClientLib.c"
2645    retValue_acc = size + 1;
2646    }
2647#line 1969
2648    return (retValue_acc);
2649  } else {
2650#line 1973 "ClientLib.c"
2651    retValue_acc = -1;
2652#line 1975
2653    return (retValue_acc);
2654  }
2655#line 1982 "ClientLib.c"
2656  return (retValue_acc);
2657}
2658}
2659#line 414 "ClientLib.c"
2660int __ste_Client_Keyring0_User0  =    0;
2661#line 416 "ClientLib.c"
2662int __ste_Client_Keyring0_User1  =    0;
2663#line 418 "ClientLib.c"
2664int __ste_Client_Keyring0_User2  =    0;
2665#line 420 "ClientLib.c"
2666int __ste_Client_Keyring1_User0  =    0;
2667#line 422 "ClientLib.c"
2668int __ste_Client_Keyring1_User1  =    0;
2669#line 424 "ClientLib.c"
2670int __ste_Client_Keyring1_User2  =    0;
2671#line 426 "ClientLib.c"
2672int __ste_Client_Keyring2_User0  =    0;
2673#line 428 "ClientLib.c"
2674int __ste_Client_Keyring2_User1  =    0;
2675#line 430 "ClientLib.c"
2676int __ste_Client_Keyring2_User2  =    0;
2677#line 433 "ClientLib.c"
2678int getClientKeyringUser(int handle , int index ) 
2679{ int retValue_acc ;
2680
2681  {
2682#line 466
2683  if (handle == 1) {
2684#line 443 "ClientLib.c"
2685    if (index == 0) {
2686#line 2028
2687      retValue_acc = __ste_Client_Keyring0_User0;
2688#line 2030
2689      return (retValue_acc);
2690    } else {
2691#line 2032
2692      if (index == 1) {
2693#line 2037
2694        retValue_acc = __ste_Client_Keyring0_User1;
2695#line 2039
2696        return (retValue_acc);
2697      } else {
2698#line 2045
2699        retValue_acc = 0;
2700#line 2047
2701        return (retValue_acc);
2702      }
2703    }
2704  } else {
2705#line 2049 "ClientLib.c"
2706    if (handle == 2) {
2707#line 453 "ClientLib.c"
2708      if (index == 0) {
2709#line 2057
2710        retValue_acc = __ste_Client_Keyring1_User0;
2711#line 2059
2712        return (retValue_acc);
2713      } else {
2714#line 2061
2715        if (index == 1) {
2716#line 2066
2717          retValue_acc = __ste_Client_Keyring1_User1;
2718#line 2068
2719          return (retValue_acc);
2720        } else {
2721#line 2074
2722          retValue_acc = 0;
2723#line 2076
2724          return (retValue_acc);
2725        }
2726      }
2727    } else {
2728#line 2078 "ClientLib.c"
2729      if (handle == 3) {
2730#line 463 "ClientLib.c"
2731        if (index == 0) {
2732#line 2086
2733          retValue_acc = __ste_Client_Keyring2_User0;
2734#line 2088
2735          return (retValue_acc);
2736        } else {
2737#line 2090
2738          if (index == 1) {
2739#line 2095
2740            retValue_acc = __ste_Client_Keyring2_User1;
2741#line 2097
2742            return (retValue_acc);
2743          } else {
2744#line 2103
2745            retValue_acc = 0;
2746#line 2105
2747            return (retValue_acc);
2748          }
2749        }
2750      } else {
2751#line 2111 "ClientLib.c"
2752        retValue_acc = 0;
2753#line 2113
2754        return (retValue_acc);
2755      }
2756    }
2757  }
2758#line 2120 "ClientLib.c"
2759  return (retValue_acc);
2760}
2761}
2762#line 473 "ClientLib.c"
2763void setClientKeyringUser(int handle , int index , int value ) 
2764{ 
2765
2766  {
2767#line 499
2768  if (handle == 1) {
2769#line 482
2770    if (index == 0) {
2771#line 476
2772      __ste_Client_Keyring0_User0 = value;
2773    } else {
2774#line 477
2775      if (index == 1) {
2776#line 478
2777        __ste_Client_Keyring0_User1 = value;
2778      } else {
2779
2780      }
2781    }
2782  } else {
2783#line 479
2784    if (handle == 2) {
2785#line 490
2786      if (index == 0) {
2787#line 484
2788        __ste_Client_Keyring1_User0 = value;
2789      } else {
2790#line 485
2791        if (index == 1) {
2792#line 486
2793          __ste_Client_Keyring1_User1 = value;
2794        } else {
2795
2796        }
2797      }
2798    } else {
2799#line 487
2800      if (handle == 3) {
2801#line 498
2802        if (index == 0) {
2803#line 492
2804          __ste_Client_Keyring2_User0 = value;
2805        } else {
2806#line 493
2807          if (index == 1) {
2808#line 494
2809            __ste_Client_Keyring2_User1 = value;
2810          } else {
2811
2812          }
2813        }
2814      } else {
2815
2816      }
2817    }
2818  }
2819#line 2176 "ClientLib.c"
2820  return;
2821}
2822}
2823#line 501 "ClientLib.c"
2824int __ste_Client_Keyring0_PublicKey0  =    0;
2825#line 503 "ClientLib.c"
2826int __ste_Client_Keyring0_PublicKey1  =    0;
2827#line 505 "ClientLib.c"
2828int __ste_Client_Keyring0_PublicKey2  =    0;
2829#line 507 "ClientLib.c"
2830int __ste_Client_Keyring1_PublicKey0  =    0;
2831#line 509 "ClientLib.c"
2832int __ste_Client_Keyring1_PublicKey1  =    0;
2833#line 511 "ClientLib.c"
2834int __ste_Client_Keyring1_PublicKey2  =    0;
2835#line 513 "ClientLib.c"
2836int __ste_Client_Keyring2_PublicKey0  =    0;
2837#line 515 "ClientLib.c"
2838int __ste_Client_Keyring2_PublicKey1  =    0;
2839#line 517 "ClientLib.c"
2840int __ste_Client_Keyring2_PublicKey2  =    0;
2841#line 520 "ClientLib.c"
2842int getClientKeyringPublicKey(int handle , int index ) 
2843{ int retValue_acc ;
2844
2845  {
2846#line 553
2847  if (handle == 1) {
2848#line 530 "ClientLib.c"
2849    if (index == 0) {
2850#line 2218
2851      retValue_acc = __ste_Client_Keyring0_PublicKey0;
2852#line 2220
2853      return (retValue_acc);
2854    } else {
2855#line 2222
2856      if (index == 1) {
2857#line 2227
2858        retValue_acc = __ste_Client_Keyring0_PublicKey1;
2859#line 2229
2860        return (retValue_acc);
2861      } else {
2862#line 2235
2863        retValue_acc = 0;
2864#line 2237
2865        return (retValue_acc);
2866      }
2867    }
2868  } else {
2869#line 2239 "ClientLib.c"
2870    if (handle == 2) {
2871#line 540 "ClientLib.c"
2872      if (index == 0) {
2873#line 2247
2874        retValue_acc = __ste_Client_Keyring1_PublicKey0;
2875#line 2249
2876        return (retValue_acc);
2877      } else {
2878#line 2251
2879        if (index == 1) {
2880#line 2256
2881          retValue_acc = __ste_Client_Keyring1_PublicKey1;
2882#line 2258
2883          return (retValue_acc);
2884        } else {
2885#line 2264
2886          retValue_acc = 0;
2887#line 2266
2888          return (retValue_acc);
2889        }
2890      }
2891    } else {
2892#line 2268 "ClientLib.c"
2893      if (handle == 3) {
2894#line 550 "ClientLib.c"
2895        if (index == 0) {
2896#line 2276
2897          retValue_acc = __ste_Client_Keyring2_PublicKey0;
2898#line 2278
2899          return (retValue_acc);
2900        } else {
2901#line 2280
2902          if (index == 1) {
2903#line 2285
2904            retValue_acc = __ste_Client_Keyring2_PublicKey1;
2905#line 2287
2906            return (retValue_acc);
2907          } else {
2908#line 2293
2909            retValue_acc = 0;
2910#line 2295
2911            return (retValue_acc);
2912          }
2913        }
2914      } else {
2915#line 2301 "ClientLib.c"
2916        retValue_acc = 0;
2917#line 2303
2918        return (retValue_acc);
2919      }
2920    }
2921  }
2922#line 2310 "ClientLib.c"
2923  return (retValue_acc);
2924}
2925}
2926#line 557 "ClientLib.c"
2927int findPublicKey(int handle , int userid ) 
2928{ int retValue_acc ;
2929
2930  {
2931#line 591
2932  if (handle == 1) {
2933#line 568 "ClientLib.c"
2934    if (userid == __ste_Client_Keyring0_User0) {
2935#line 2338
2936      retValue_acc = __ste_Client_Keyring0_PublicKey0;
2937#line 2340
2938      return (retValue_acc);
2939    } else {
2940#line 2342
2941      if (userid == __ste_Client_Keyring0_User1) {
2942#line 2347
2943        retValue_acc = __ste_Client_Keyring0_PublicKey1;
2944#line 2349
2945        return (retValue_acc);
2946      } else {
2947#line 2355
2948        retValue_acc = 0;
2949#line 2357
2950        return (retValue_acc);
2951      }
2952    }
2953  } else {
2954#line 2359 "ClientLib.c"
2955    if (handle == 2) {
2956#line 578 "ClientLib.c"
2957      if (userid == __ste_Client_Keyring1_User0) {
2958#line 2367
2959        retValue_acc = __ste_Client_Keyring1_PublicKey0;
2960#line 2369
2961        return (retValue_acc);
2962      } else {
2963#line 2371
2964        if (userid == __ste_Client_Keyring1_User1) {
2965#line 2376
2966          retValue_acc = __ste_Client_Keyring1_PublicKey1;
2967#line 2378
2968          return (retValue_acc);
2969        } else {
2970#line 2384
2971          retValue_acc = 0;
2972#line 2386
2973          return (retValue_acc);
2974        }
2975      }
2976    } else {
2977#line 2388 "ClientLib.c"
2978      if (handle == 3) {
2979#line 588 "ClientLib.c"
2980        if (userid == __ste_Client_Keyring2_User0) {
2981#line 2396
2982          retValue_acc = __ste_Client_Keyring2_PublicKey0;
2983#line 2398
2984          return (retValue_acc);
2985        } else {
2986#line 2400
2987          if (userid == __ste_Client_Keyring2_User1) {
2988#line 2405
2989            retValue_acc = __ste_Client_Keyring2_PublicKey1;
2990#line 2407
2991            return (retValue_acc);
2992          } else {
2993#line 2413
2994            retValue_acc = 0;
2995#line 2415
2996            return (retValue_acc);
2997          }
2998        }
2999      } else {
3000#line 2421 "ClientLib.c"
3001        retValue_acc = 0;
3002#line 2423
3003        return (retValue_acc);
3004      }
3005    }
3006  }
3007#line 2430 "ClientLib.c"
3008  return (retValue_acc);
3009}
3010}
3011#line 595 "ClientLib.c"
3012void setClientKeyringPublicKey(int handle , int index , int value ) 
3013{ 
3014
3015  {
3016#line 621
3017  if (handle == 1) {
3018#line 604
3019    if (index == 0) {
3020#line 598
3021      __ste_Client_Keyring0_PublicKey0 = value;
3022    } else {
3023#line 599
3024      if (index == 1) {
3025#line 600
3026        __ste_Client_Keyring0_PublicKey1 = value;
3027      } else {
3028
3029      }
3030    }
3031  } else {
3032#line 601
3033    if (handle == 2) {
3034#line 612
3035      if (index == 0) {
3036#line 606
3037        __ste_Client_Keyring1_PublicKey0 = value;
3038      } else {
3039#line 607
3040        if (index == 1) {
3041#line 608
3042          __ste_Client_Keyring1_PublicKey1 = value;
3043        } else {
3044
3045        }
3046      }
3047    } else {
3048#line 609
3049      if (handle == 3) {
3050#line 620
3051        if (index == 0) {
3052#line 614
3053          __ste_Client_Keyring2_PublicKey0 = value;
3054        } else {
3055#line 615
3056          if (index == 1) {
3057#line 616
3058            __ste_Client_Keyring2_PublicKey1 = value;
3059          } else {
3060
3061          }
3062        }
3063      } else {
3064
3065      }
3066    }
3067  }
3068#line 2486 "ClientLib.c"
3069  return;
3070}
3071}
3072#line 623 "ClientLib.c"
3073int __ste_client_forwardReceiver0  =    0;
3074#line 625 "ClientLib.c"
3075int __ste_client_forwardReceiver1  =    0;
3076#line 627 "ClientLib.c"
3077int __ste_client_forwardReceiver2  =    0;
3078#line 629 "ClientLib.c"
3079int __ste_client_forwardReceiver3  =    0;
3080#line 631 "ClientLib.c"
3081int getClientForwardReceiver(int handle ) 
3082{ int retValue_acc ;
3083
3084  {
3085#line 640 "ClientLib.c"
3086  if (handle == 1) {
3087#line 2515
3088    retValue_acc = __ste_client_forwardReceiver0;
3089#line 2517
3090    return (retValue_acc);
3091  } else {
3092#line 2519
3093    if (handle == 2) {
3094#line 2524
3095      retValue_acc = __ste_client_forwardReceiver1;
3096#line 2526
3097      return (retValue_acc);
3098    } else {
3099#line 2528
3100      if (handle == 3) {
3101#line 2533
3102        retValue_acc = __ste_client_forwardReceiver2;
3103#line 2535
3104        return (retValue_acc);
3105      } else {
3106#line 2541 "ClientLib.c"
3107        retValue_acc = 0;
3108#line 2543
3109        return (retValue_acc);
3110      }
3111    }
3112  }
3113#line 2550 "ClientLib.c"
3114  return (retValue_acc);
3115}
3116}
3117#line 643 "ClientLib.c"
3118void setClientForwardReceiver(int handle , int value ) 
3119{ 
3120
3121  {
3122#line 651
3123  if (handle == 1) {
3124#line 645
3125    __ste_client_forwardReceiver0 = value;
3126  } else {
3127#line 646
3128    if (handle == 2) {
3129#line 647
3130      __ste_client_forwardReceiver1 = value;
3131    } else {
3132#line 648
3133      if (handle == 3) {
3134#line 649
3135        __ste_client_forwardReceiver2 = value;
3136      } else {
3137
3138      }
3139    }
3140  }
3141#line 2585 "ClientLib.c"
3142  return;
3143}
3144}
3145#line 653 "ClientLib.c"
3146int __ste_client_idCounter0  =    0;
3147#line 655 "ClientLib.c"
3148int __ste_client_idCounter1  =    0;
3149#line 657 "ClientLib.c"
3150int __ste_client_idCounter2  =    0;
3151#line 660 "ClientLib.c"
3152int getClientId(int handle ) 
3153{ int retValue_acc ;
3154
3155  {
3156#line 669 "ClientLib.c"
3157  if (handle == 1) {
3158#line 2612
3159    retValue_acc = __ste_client_idCounter0;
3160#line 2614
3161    return (retValue_acc);
3162  } else {
3163#line 2616
3164    if (handle == 2) {
3165#line 2621
3166      retValue_acc = __ste_client_idCounter1;
3167#line 2623
3168      return (retValue_acc);
3169    } else {
3170#line 2625
3171      if (handle == 3) {
3172#line 2630
3173        retValue_acc = __ste_client_idCounter2;
3174#line 2632
3175        return (retValue_acc);
3176      } else {
3177#line 2638 "ClientLib.c"
3178        retValue_acc = 0;
3179#line 2640
3180        return (retValue_acc);
3181      }
3182    }
3183  }
3184#line 2647 "ClientLib.c"
3185  return (retValue_acc);
3186}
3187}
3188#line 672 "ClientLib.c"
3189void setClientId(int handle , int value ) 
3190{ 
3191
3192  {
3193#line 680
3194  if (handle == 1) {
3195#line 674
3196    __ste_client_idCounter0 = value;
3197  } else {
3198#line 675
3199    if (handle == 2) {
3200#line 676
3201      __ste_client_idCounter1 = value;
3202    } else {
3203#line 677
3204      if (handle == 3) {
3205#line 678
3206        __ste_client_idCounter2 = value;
3207      } else {
3208
3209      }
3210    }
3211  }
3212#line 2682 "ClientLib.c"
3213  return;
3214}
3215}
3216#line 1 "Util.o"
3217#pragma merger(0,"Util.i","")
3218#line 1 "Util.h"
3219int prompt(char *msg ) ;
3220#line 9 "Util.c"
3221int prompt(char *msg ) 
3222{ int retValue_acc ;
3223  int retval ;
3224  char const   * __restrict  __cil_tmp4 ;
3225
3226  {
3227  {
3228#line 10
3229  __cil_tmp4 = (char const   * __restrict  )"%s\n";
3230#line 10
3231  printf(__cil_tmp4, msg);
3232#line 518 "Util.c"
3233  retValue_acc = retval;
3234  }
3235#line 520
3236  return (retValue_acc);
3237#line 527
3238  return (retValue_acc);
3239}
3240}
3241#line 1 "AddressBookEncrypt_spec.o"
3242#pragma merger(0,"AddressBookEncrypt_spec.i","")
3243#line 7 "AddressBookEncrypt_spec.c"
3244int mail_is_sensitive  =    -1;
3245#line 11 "AddressBookEncrypt_spec.c"
3246void __utac_acc__AddressBookEncrypt_spec__1(int client , int msg ) 
3247{ int tmp ;
3248
3249  {
3250  {
3251#line 13
3252  puts("before mail\n");
3253  }
3254#line 14
3255  if (mail_is_sensitive == -1) {
3256    {
3257#line 15
3258    mail_is_sensitive = isEncrypted(msg);
3259    }
3260  } else {
3261    {
3262#line 16
3263    tmp = isEncrypted(msg);
3264    }
3265#line 16
3266    if (mail_is_sensitive != tmp) {
3267      {
3268#line 17
3269      __automaton_fail();
3270      }
3271    } else {
3272
3273    }
3274  }
3275#line 17
3276  return;
3277}
3278}
3279#line 1 "EmailLib.o"
3280#pragma merger(0,"EmailLib.i","")
3281#line 4 "EmailLib.h"
3282int initEmail(void) ;
3283#line 8
3284void setEmailId(int handle , int value ) ;
3285#line 18
3286char *getEmailSubject(int handle ) ;
3287#line 20
3288void setEmailSubject(int handle , char *value ) ;
3289#line 22
3290char *getEmailBody(int handle ) ;
3291#line 24
3292void setEmailBody(int handle , char *value ) ;
3293#line 34
3294int isSigned(int handle ) ;
3295#line 36
3296void setEmailIsSigned(int handle , int value ) ;
3297#line 38
3298int getEmailSignKey(int handle ) ;
3299#line 40
3300void setEmailSignKey(int handle , int value ) ;
3301#line 42
3302int isVerified(int handle ) ;
3303#line 44
3304void setEmailIsSignatureVerified(int handle , int value ) ;
3305#line 5 "EmailLib.c"
3306int __ste_Email_counter  =    0;
3307#line 7 "EmailLib.c"
3308int initEmail(void) 
3309{ int retValue_acc ;
3310
3311  {
3312#line 12 "EmailLib.c"
3313  if (__ste_Email_counter < 2) {
3314#line 670
3315    __ste_Email_counter = __ste_Email_counter + 1;
3316#line 670
3317    retValue_acc = __ste_Email_counter;
3318#line 672
3319    return (retValue_acc);
3320  } else {
3321#line 678 "EmailLib.c"
3322    retValue_acc = -1;
3323#line 680
3324    return (retValue_acc);
3325  }
3326#line 687 "EmailLib.c"
3327  return (retValue_acc);
3328}
3329}
3330#line 15 "EmailLib.c"
3331int __ste_email_id0  =    0;
3332#line 17 "EmailLib.c"
3333int __ste_email_id1  =    0;
3334#line 19 "EmailLib.c"
3335int getEmailId(int handle ) 
3336{ int retValue_acc ;
3337
3338  {
3339#line 26 "EmailLib.c"
3340  if (handle == 1) {
3341#line 716
3342    retValue_acc = __ste_email_id0;
3343#line 718
3344    return (retValue_acc);
3345  } else {
3346#line 720
3347    if (handle == 2) {
3348#line 725
3349      retValue_acc = __ste_email_id1;
3350#line 727
3351      return (retValue_acc);
3352    } else {
3353#line 733 "EmailLib.c"
3354      retValue_acc = 0;
3355#line 735
3356      return (retValue_acc);
3357    }
3358  }
3359#line 742 "EmailLib.c"
3360  return (retValue_acc);
3361}
3362}
3363#line 29 "EmailLib.c"
3364void setEmailId(int handle , int value ) 
3365{ 
3366
3367  {
3368#line 35
3369  if (handle == 1) {
3370#line 31
3371    __ste_email_id0 = value;
3372  } else {
3373#line 32
3374    if (handle == 2) {
3375#line 33
3376      __ste_email_id1 = value;
3377    } else {
3378
3379    }
3380  }
3381#line 773 "EmailLib.c"
3382  return;
3383}
3384}
3385#line 37 "EmailLib.c"
3386int __ste_email_from0  =    0;
3387#line 39 "EmailLib.c"
3388int __ste_email_from1  =    0;
3389#line 41 "EmailLib.c"
3390int getEmailFrom(int handle ) 
3391{ int retValue_acc ;
3392
3393  {
3394#line 48 "EmailLib.c"
3395  if (handle == 1) {
3396#line 798
3397    retValue_acc = __ste_email_from0;
3398#line 800
3399    return (retValue_acc);
3400  } else {
3401#line 802
3402    if (handle == 2) {
3403#line 807
3404      retValue_acc = __ste_email_from1;
3405#line 809
3406      return (retValue_acc);
3407    } else {
3408#line 815 "EmailLib.c"
3409      retValue_acc = 0;
3410#line 817
3411      return (retValue_acc);
3412    }
3413  }
3414#line 824 "EmailLib.c"
3415  return (retValue_acc);
3416}
3417}
3418#line 51 "EmailLib.c"
3419void setEmailFrom(int handle , int value ) 
3420{ 
3421
3422  {
3423#line 57
3424  if (handle == 1) {
3425#line 53
3426    __ste_email_from0 = value;
3427  } else {
3428#line 54
3429    if (handle == 2) {
3430#line 55
3431      __ste_email_from1 = value;
3432    } else {
3433
3434    }
3435  }
3436#line 855 "EmailLib.c"
3437  return;
3438}
3439}
3440#line 59 "EmailLib.c"
3441int __ste_email_to0  =    0;
3442#line 61 "EmailLib.c"
3443int __ste_email_to1  =    0;
3444#line 63 "EmailLib.c"
3445int getEmailTo(int handle ) 
3446{ int retValue_acc ;
3447
3448  {
3449#line 70 "EmailLib.c"
3450  if (handle == 1) {
3451#line 880
3452    retValue_acc = __ste_email_to0;
3453#line 882
3454    return (retValue_acc);
3455  } else {
3456#line 884
3457    if (handle == 2) {
3458#line 889
3459      retValue_acc = __ste_email_to1;
3460#line 891
3461      return (retValue_acc);
3462    } else {
3463#line 897 "EmailLib.c"
3464      retValue_acc = 0;
3465#line 899
3466      return (retValue_acc);
3467    }
3468  }
3469#line 906 "EmailLib.c"
3470  return (retValue_acc);
3471}
3472}
3473#line 73 "EmailLib.c"
3474void setEmailTo(int handle , int value ) 
3475{ 
3476
3477  {
3478#line 79
3479  if (handle == 1) {
3480#line 75
3481    __ste_email_to0 = value;
3482  } else {
3483#line 76
3484    if (handle == 2) {
3485#line 77
3486      __ste_email_to1 = value;
3487    } else {
3488
3489    }
3490  }
3491#line 937 "EmailLib.c"
3492  return;
3493}
3494}
3495#line 81 "EmailLib.c"
3496char *__ste_email_subject0  ;
3497#line 83 "EmailLib.c"
3498char *__ste_email_subject1  ;
3499#line 85 "EmailLib.c"
3500char *getEmailSubject(int handle ) 
3501{ char *retValue_acc ;
3502  void *__cil_tmp3 ;
3503
3504  {
3505#line 92 "EmailLib.c"
3506  if (handle == 1) {
3507#line 962
3508    retValue_acc = __ste_email_subject0;
3509#line 964
3510    return (retValue_acc);
3511  } else {
3512#line 966
3513    if (handle == 2) {
3514#line 971
3515      retValue_acc = __ste_email_subject1;
3516#line 973
3517      return (retValue_acc);
3518    } else {
3519#line 979 "EmailLib.c"
3520      __cil_tmp3 = (void *)0;
3521#line 979
3522      retValue_acc = (char *)__cil_tmp3;
3523#line 981
3524      return (retValue_acc);
3525    }
3526  }
3527#line 988 "EmailLib.c"
3528  return (retValue_acc);
3529}
3530}
3531#line 95 "EmailLib.c"
3532void setEmailSubject(int handle , char *value ) 
3533{ 
3534
3535  {
3536#line 101
3537  if (handle == 1) {
3538#line 97
3539    __ste_email_subject0 = value;
3540  } else {
3541#line 98
3542    if (handle == 2) {
3543#line 99
3544      __ste_email_subject1 = value;
3545    } else {
3546
3547    }
3548  }
3549#line 1019 "EmailLib.c"
3550  return;
3551}
3552}
3553#line 103 "EmailLib.c"
3554char *__ste_email_body0  =    (char *)0;
3555#line 105 "EmailLib.c"
3556char *__ste_email_body1  =    (char *)0;
3557#line 107 "EmailLib.c"
3558char *getEmailBody(int handle ) 
3559{ char *retValue_acc ;
3560  void *__cil_tmp3 ;
3561
3562  {
3563#line 114 "EmailLib.c"
3564  if (handle == 1) {
3565#line 1044
3566    retValue_acc = __ste_email_body0;
3567#line 1046
3568    return (retValue_acc);
3569  } else {
3570#line 1048
3571    if (handle == 2) {
3572#line 1053
3573      retValue_acc = __ste_email_body1;
3574#line 1055
3575      return (retValue_acc);
3576    } else {
3577#line 1061 "EmailLib.c"
3578      __cil_tmp3 = (void *)0;
3579#line 1061
3580      retValue_acc = (char *)__cil_tmp3;
3581#line 1063
3582      return (retValue_acc);
3583    }
3584  }
3585#line 1070 "EmailLib.c"
3586  return (retValue_acc);
3587}
3588}
3589#line 117 "EmailLib.c"
3590void setEmailBody(int handle , char *value ) 
3591{ 
3592
3593  {
3594#line 123
3595  if (handle == 1) {
3596#line 119
3597    __ste_email_body0 = value;
3598  } else {
3599#line 120
3600    if (handle == 2) {
3601#line 121
3602      __ste_email_body1 = value;
3603    } else {
3604
3605    }
3606  }
3607#line 1101 "EmailLib.c"
3608  return;
3609}
3610}
3611#line 125 "EmailLib.c"
3612int __ste_email_isEncrypted0  =    0;
3613#line 127 "EmailLib.c"
3614int __ste_email_isEncrypted1  =    0;
3615#line 129 "EmailLib.c"
3616int isEncrypted(int handle ) 
3617{ int retValue_acc ;
3618
3619  {
3620#line 136 "EmailLib.c"
3621  if (handle == 1) {
3622#line 1126
3623    retValue_acc = __ste_email_isEncrypted0;
3624#line 1128
3625    return (retValue_acc);
3626  } else {
3627#line 1130
3628    if (handle == 2) {
3629#line 1135
3630      retValue_acc = __ste_email_isEncrypted1;
3631#line 1137
3632      return (retValue_acc);
3633    } else {
3634#line 1143 "EmailLib.c"
3635      retValue_acc = 0;
3636#line 1145
3637      return (retValue_acc);
3638    }
3639  }
3640#line 1152 "EmailLib.c"
3641  return (retValue_acc);
3642}
3643}
3644#line 139 "EmailLib.c"
3645void setEmailIsEncrypted(int handle , int value ) 
3646{ 
3647
3648  {
3649#line 145
3650  if (handle == 1) {
3651#line 141
3652    __ste_email_isEncrypted0 = value;
3653  } else {
3654#line 142
3655    if (handle == 2) {
3656#line 143
3657      __ste_email_isEncrypted1 = value;
3658    } else {
3659
3660    }
3661  }
3662#line 1183 "EmailLib.c"
3663  return;
3664}
3665}
3666#line 147 "EmailLib.c"
3667int __ste_email_encryptionKey0  =    0;
3668#line 149 "EmailLib.c"
3669int __ste_email_encryptionKey1  =    0;
3670#line 151 "EmailLib.c"
3671int getEmailEncryptionKey(int handle ) 
3672{ int retValue_acc ;
3673
3674  {
3675#line 158 "EmailLib.c"
3676  if (handle == 1) {
3677#line 1208
3678    retValue_acc = __ste_email_encryptionKey0;
3679#line 1210
3680    return (retValue_acc);
3681  } else {
3682#line 1212
3683    if (handle == 2) {
3684#line 1217
3685      retValue_acc = __ste_email_encryptionKey1;
3686#line 1219
3687      return (retValue_acc);
3688    } else {
3689#line 1225 "EmailLib.c"
3690      retValue_acc = 0;
3691#line 1227
3692      return (retValue_acc);
3693    }
3694  }
3695#line 1234 "EmailLib.c"
3696  return (retValue_acc);
3697}
3698}
3699#line 161 "EmailLib.c"
3700void setEmailEncryptionKey(int handle , int value ) 
3701{ 
3702
3703  {
3704#line 167
3705  if (handle == 1) {
3706#line 163
3707    __ste_email_encryptionKey0 = value;
3708  } else {
3709#line 164
3710    if (handle == 2) {
3711#line 165
3712      __ste_email_encryptionKey1 = value;
3713    } else {
3714
3715    }
3716  }
3717#line 1265 "EmailLib.c"
3718  return;
3719}
3720}
3721#line 169 "EmailLib.c"
3722int __ste_email_isSigned0  =    0;
3723#line 171 "EmailLib.c"
3724int __ste_email_isSigned1  =    0;
3725#line 173 "EmailLib.c"
3726int isSigned(int handle ) 
3727{ int retValue_acc ;
3728
3729  {
3730#line 180 "EmailLib.c"
3731  if (handle == 1) {
3732#line 1290
3733    retValue_acc = __ste_email_isSigned0;
3734#line 1292
3735    return (retValue_acc);
3736  } else {
3737#line 1294
3738    if (handle == 2) {
3739#line 1299
3740      retValue_acc = __ste_email_isSigned1;
3741#line 1301
3742      return (retValue_acc);
3743    } else {
3744#line 1307 "EmailLib.c"
3745      retValue_acc = 0;
3746#line 1309
3747      return (retValue_acc);
3748    }
3749  }
3750#line 1316 "EmailLib.c"
3751  return (retValue_acc);
3752}
3753}
3754#line 183 "EmailLib.c"
3755void setEmailIsSigned(int handle , int value ) 
3756{ 
3757
3758  {
3759#line 189
3760  if (handle == 1) {
3761#line 185
3762    __ste_email_isSigned0 = value;
3763  } else {
3764#line 186
3765    if (handle == 2) {
3766#line 187
3767      __ste_email_isSigned1 = value;
3768    } else {
3769
3770    }
3771  }
3772#line 1347 "EmailLib.c"
3773  return;
3774}
3775}
3776#line 191 "EmailLib.c"
3777int __ste_email_signKey0  =    0;
3778#line 193 "EmailLib.c"
3779int __ste_email_signKey1  =    0;
3780#line 195 "EmailLib.c"
3781int getEmailSignKey(int handle ) 
3782{ int retValue_acc ;
3783
3784  {
3785#line 202 "EmailLib.c"
3786  if (handle == 1) {
3787#line 1372
3788    retValue_acc = __ste_email_signKey0;
3789#line 1374
3790    return (retValue_acc);
3791  } else {
3792#line 1376
3793    if (handle == 2) {
3794#line 1381
3795      retValue_acc = __ste_email_signKey1;
3796#line 1383
3797      return (retValue_acc);
3798    } else {
3799#line 1389 "EmailLib.c"
3800      retValue_acc = 0;
3801#line 1391
3802      return (retValue_acc);
3803    }
3804  }
3805#line 1398 "EmailLib.c"
3806  return (retValue_acc);
3807}
3808}
3809#line 205 "EmailLib.c"
3810void setEmailSignKey(int handle , int value ) 
3811{ 
3812
3813  {
3814#line 211
3815  if (handle == 1) {
3816#line 207
3817    __ste_email_signKey0 = value;
3818  } else {
3819#line 208
3820    if (handle == 2) {
3821#line 209
3822      __ste_email_signKey1 = value;
3823    } else {
3824
3825    }
3826  }
3827#line 1429 "EmailLib.c"
3828  return;
3829}
3830}
3831#line 213 "EmailLib.c"
3832int __ste_email_isSignatureVerified0  ;
3833#line 215 "EmailLib.c"
3834int __ste_email_isSignatureVerified1  ;
3835#line 217 "EmailLib.c"
3836int isVerified(int handle ) 
3837{ int retValue_acc ;
3838
3839  {
3840#line 224 "EmailLib.c"
3841  if (handle == 1) {
3842#line 1454
3843    retValue_acc = __ste_email_isSignatureVerified0;
3844#line 1456
3845    return (retValue_acc);
3846  } else {
3847#line 1458
3848    if (handle == 2) {
3849#line 1463
3850      retValue_acc = __ste_email_isSignatureVerified1;
3851#line 1465
3852      return (retValue_acc);
3853    } else {
3854#line 1471 "EmailLib.c"
3855      retValue_acc = 0;
3856#line 1473
3857      return (retValue_acc);
3858    }
3859  }
3860#line 1480 "EmailLib.c"
3861  return (retValue_acc);
3862}
3863}
3864#line 227 "EmailLib.c"
3865void setEmailIsSignatureVerified(int handle , int value ) 
3866{ 
3867
3868  {
3869#line 233
3870  if (handle == 1) {
3871#line 229
3872    __ste_email_isSignatureVerified0 = value;
3873  } else {
3874#line 230
3875    if (handle == 2) {
3876#line 231
3877      __ste_email_isSignatureVerified1 = value;
3878    } else {
3879
3880    }
3881  }
3882#line 1511 "EmailLib.c"
3883  return;
3884}
3885}
3886#line 1 "libacc.o"
3887#pragma merger(0,"libacc.i","")
3888#line 73 "/usr/include/assert.h"
3889extern  __attribute__((__nothrow__, __noreturn__)) void __assert_fail(char const   *__assertion ,
3890                                                                      char const   *__file ,
3891                                                                      unsigned int __line ,
3892                                                                      char const   *__function ) ;
3893#line 471 "/usr/include/stdlib.h"
3894extern  __attribute__((__nothrow__)) void *malloc(size_t __size )  __attribute__((__malloc__)) ;
3895#line 488
3896extern  __attribute__((__nothrow__)) void free(void *__ptr ) ;
3897#line 32 "libacc.c"
3898void __utac__exception__cf_handler_set(void *exception , int (*cflow_func)(int  ,
3899                                                                           int  ) ,
3900                                       int val ) 
3901{ struct __UTAC__EXCEPTION *excep ;
3902  struct __UTAC__CFLOW_FUNC *cf ;
3903  void *tmp ;
3904  unsigned long __cil_tmp7 ;
3905  unsigned long __cil_tmp8 ;
3906  unsigned long __cil_tmp9 ;
3907  unsigned long __cil_tmp10 ;
3908  unsigned long __cil_tmp11 ;
3909  unsigned long __cil_tmp12 ;
3910  unsigned long __cil_tmp13 ;
3911  unsigned long __cil_tmp14 ;
3912  int (**mem_15)(int  , int  ) ;
3913  int *mem_16 ;
3914  struct __UTAC__CFLOW_FUNC **mem_17 ;
3915  struct __UTAC__CFLOW_FUNC **mem_18 ;
3916  struct __UTAC__CFLOW_FUNC **mem_19 ;
3917
3918  {
3919  {
3920#line 33
3921  excep = (struct __UTAC__EXCEPTION *)exception;
3922#line 34
3923  tmp = malloc(24UL);
3924#line 34
3925  cf = (struct __UTAC__CFLOW_FUNC *)tmp;
3926#line 36
3927  mem_15 = (int (**)(int  , int  ))cf;
3928#line 36
3929  *mem_15 = cflow_func;
3930#line 37
3931  __cil_tmp7 = (unsigned long )cf;
3932#line 37
3933  __cil_tmp8 = __cil_tmp7 + 8;
3934#line 37
3935  mem_16 = (int *)__cil_tmp8;
3936#line 37
3937  *mem_16 = val;
3938#line 38
3939  __cil_tmp9 = (unsigned long )cf;
3940#line 38
3941  __cil_tmp10 = __cil_tmp9 + 16;
3942#line 38
3943  __cil_tmp11 = (unsigned long )excep;
3944#line 38
3945  __cil_tmp12 = __cil_tmp11 + 24;
3946#line 38
3947  mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp10;
3948#line 38
3949  mem_18 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp12;
3950#line 38
3951  *mem_17 = *mem_18;
3952#line 39
3953  __cil_tmp13 = (unsigned long )excep;
3954#line 39
3955  __cil_tmp14 = __cil_tmp13 + 24;
3956#line 39
3957  mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
3958#line 39
3959  *mem_19 = cf;
3960  }
3961#line 654 "libacc.c"
3962  return;
3963}
3964}
3965#line 44 "libacc.c"
3966void __utac__exception__cf_handler_free(void *exception ) 
3967{ struct __UTAC__EXCEPTION *excep ;
3968  struct __UTAC__CFLOW_FUNC *cf ;
3969  struct __UTAC__CFLOW_FUNC *tmp ;
3970  unsigned long __cil_tmp5 ;
3971  unsigned long __cil_tmp6 ;
3972  struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
3973  unsigned long __cil_tmp8 ;
3974  unsigned long __cil_tmp9 ;
3975  unsigned long __cil_tmp10 ;
3976  unsigned long __cil_tmp11 ;
3977  void *__cil_tmp12 ;
3978  unsigned long __cil_tmp13 ;
3979  unsigned long __cil_tmp14 ;
3980  struct __UTAC__CFLOW_FUNC **mem_15 ;
3981  struct __UTAC__CFLOW_FUNC **mem_16 ;
3982  struct __UTAC__CFLOW_FUNC **mem_17 ;
3983
3984  {
3985#line 45
3986  excep = (struct __UTAC__EXCEPTION *)exception;
3987#line 46
3988  __cil_tmp5 = (unsigned long )excep;
3989#line 46
3990  __cil_tmp6 = __cil_tmp5 + 24;
3991#line 46
3992  mem_15 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
3993#line 46
3994  cf = *mem_15;
3995  {
3996#line 49
3997  while (1) {
3998    while_1_continue: /* CIL Label */ ;
3999    {
4000#line 49
4001    __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
4002#line 49
4003    __cil_tmp8 = (unsigned long )__cil_tmp7;
4004#line 49
4005    __cil_tmp9 = (unsigned long )cf;
4006#line 49
4007    if (__cil_tmp9 != __cil_tmp8) {
4008
4009    } else {
4010      goto while_1_break;
4011    }
4012    }
4013    {
4014#line 50
4015    tmp = cf;
4016#line 51
4017    __cil_tmp10 = (unsigned long )cf;
4018#line 51
4019    __cil_tmp11 = __cil_tmp10 + 16;
4020#line 51
4021    mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp11;
4022#line 51
4023    cf = *mem_16;
4024#line 52
4025    __cil_tmp12 = (void *)tmp;
4026#line 52
4027    free(__cil_tmp12);
4028    }
4029  }
4030  while_1_break: /* CIL Label */ ;
4031  }
4032#line 55
4033  __cil_tmp13 = (unsigned long )excep;
4034#line 55
4035  __cil_tmp14 = __cil_tmp13 + 24;
4036#line 55
4037  mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
4038#line 55
4039  *mem_17 = (struct __UTAC__CFLOW_FUNC *)0;
4040#line 694 "libacc.c"
4041  return;
4042}
4043}
4044#line 59 "libacc.c"
4045void __utac__exception__cf_handler_reset(void *exception ) 
4046{ struct __UTAC__EXCEPTION *excep ;
4047  struct __UTAC__CFLOW_FUNC *cf ;
4048  unsigned long __cil_tmp5 ;
4049  unsigned long __cil_tmp6 ;
4050  struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
4051  unsigned long __cil_tmp8 ;
4052  unsigned long __cil_tmp9 ;
4053  int (*__cil_tmp10)(int  , int  ) ;
4054  unsigned long __cil_tmp11 ;
4055  unsigned long __cil_tmp12 ;
4056  int __cil_tmp13 ;
4057  unsigned long __cil_tmp14 ;
4058  unsigned long __cil_tmp15 ;
4059  struct __UTAC__CFLOW_FUNC **mem_16 ;
4060  int (**mem_17)(int  , int  ) ;
4061  int *mem_18 ;
4062  struct __UTAC__CFLOW_FUNC **mem_19 ;
4063
4064  {
4065#line 60
4066  excep = (struct __UTAC__EXCEPTION *)exception;
4067#line 61
4068  __cil_tmp5 = (unsigned long )excep;
4069#line 61
4070  __cil_tmp6 = __cil_tmp5 + 24;
4071#line 61
4072  mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
4073#line 61
4074  cf = *mem_16;
4075  {
4076#line 64
4077  while (1) {
4078    while_2_continue: /* CIL Label */ ;
4079    {
4080#line 64
4081    __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
4082#line 64
4083    __cil_tmp8 = (unsigned long )__cil_tmp7;
4084#line 64
4085    __cil_tmp9 = (unsigned long )cf;
4086#line 64
4087    if (__cil_tmp9 != __cil_tmp8) {
4088
4089    } else {
4090      goto while_2_break;
4091    }
4092    }
4093    {
4094#line 65
4095    mem_17 = (int (**)(int  , int  ))cf;
4096#line 65
4097    __cil_tmp10 = *mem_17;
4098#line 65
4099    __cil_tmp11 = (unsigned long )cf;
4100#line 65
4101    __cil_tmp12 = __cil_tmp11 + 8;
4102#line 65
4103    mem_18 = (int *)__cil_tmp12;
4104#line 65
4105    __cil_tmp13 = *mem_18;
4106#line 65
4107    (*__cil_tmp10)(4, __cil_tmp13);
4108#line 66
4109    __cil_tmp14 = (unsigned long )cf;
4110#line 66
4111    __cil_tmp15 = __cil_tmp14 + 16;
4112#line 66
4113    mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp15;
4114#line 66
4115    cf = *mem_19;
4116    }
4117  }
4118  while_2_break: /* CIL Label */ ;
4119  }
4120  {
4121#line 69
4122  __utac__exception__cf_handler_free(exception);
4123  }
4124#line 732 "libacc.c"
4125  return;
4126}
4127}
4128#line 80 "libacc.c"
4129void *__utac__error_stack_mgt(void *env , int mode , int count ) ;
4130#line 80 "libacc.c"
4131static struct __ACC__ERR *head  =    (struct __ACC__ERR *)0;
4132#line 79 "libacc.c"
4133void *__utac__error_stack_mgt(void *env , int mode , int count ) 
4134{ void *retValue_acc ;
4135  struct __ACC__ERR *new ;
4136  void *tmp ;
4137  struct __ACC__ERR *temp ;
4138  struct __ACC__ERR *next ;
4139  void *excep ;
4140  unsigned long __cil_tmp10 ;
4141  unsigned long __cil_tmp11 ;
4142  unsigned long __cil_tmp12 ;
4143  unsigned long __cil_tmp13 ;
4144  void *__cil_tmp14 ;
4145  unsigned long __cil_tmp15 ;
4146  unsigned long __cil_tmp16 ;
4147  void *__cil_tmp17 ;
4148  void **mem_18 ;
4149  struct __ACC__ERR **mem_19 ;
4150  struct __ACC__ERR **mem_20 ;
4151  void **mem_21 ;
4152  struct __ACC__ERR **mem_22 ;
4153  void **mem_23 ;
4154  void **mem_24 ;
4155
4156  {
4157#line 82 "libacc.c"
4158  if (count == 0) {
4159#line 758 "libacc.c"
4160    return (retValue_acc);
4161  } else {
4162
4163  }
4164#line 86 "libacc.c"
4165  if (mode == 0) {
4166    {
4167#line 87
4168    tmp = malloc(16UL);
4169#line 87
4170    new = (struct __ACC__ERR *)tmp;
4171#line 88
4172    mem_18 = (void **)new;
4173#line 88
4174    *mem_18 = env;
4175#line 89
4176    __cil_tmp10 = (unsigned long )new;
4177#line 89
4178    __cil_tmp11 = __cil_tmp10 + 8;
4179#line 89
4180    mem_19 = (struct __ACC__ERR **)__cil_tmp11;
4181#line 89
4182    *mem_19 = head;
4183#line 90
4184    head = new;
4185#line 776 "libacc.c"
4186    retValue_acc = (void *)new;
4187    }
4188#line 778
4189    return (retValue_acc);
4190  } else {
4191
4192  }
4193#line 94 "libacc.c"
4194  if (mode == 1) {
4195#line 95
4196    temp = head;
4197    {
4198#line 98
4199    while (1) {
4200      while_3_continue: /* CIL Label */ ;
4201#line 98
4202      if (count > 1) {
4203
4204      } else {
4205        goto while_3_break;
4206      }
4207      {
4208#line 99
4209      __cil_tmp12 = (unsigned long )temp;
4210#line 99
4211      __cil_tmp13 = __cil_tmp12 + 8;
4212#line 99
4213      mem_20 = (struct __ACC__ERR **)__cil_tmp13;
4214#line 99
4215      next = *mem_20;
4216#line 100
4217      mem_21 = (void **)temp;
4218#line 100
4219      excep = *mem_21;
4220#line 101
4221      __cil_tmp14 = (void *)temp;
4222#line 101
4223      free(__cil_tmp14);
4224#line 102
4225      __utac__exception__cf_handler_reset(excep);
4226#line 103
4227      temp = next;
4228#line 104
4229      count = count - 1;
4230      }
4231    }
4232    while_3_break: /* CIL Label */ ;
4233    }
4234    {
4235#line 107
4236    __cil_tmp15 = (unsigned long )temp;
4237#line 107
4238    __cil_tmp16 = __cil_tmp15 + 8;
4239#line 107
4240    mem_22 = (struct __ACC__ERR **)__cil_tmp16;
4241#line 107
4242    head = *mem_22;
4243#line 108
4244    mem_23 = (void **)temp;
4245#line 108
4246    excep = *mem_23;
4247#line 109
4248    __cil_tmp17 = (void *)temp;
4249#line 109
4250    free(__cil_tmp17);
4251#line 110
4252    __utac__exception__cf_handler_reset(excep);
4253#line 820 "libacc.c"
4254    retValue_acc = excep;
4255    }
4256#line 822
4257    return (retValue_acc);
4258  } else {
4259
4260  }
4261#line 114
4262  if (mode == 2) {
4263#line 118 "libacc.c"
4264    if (head) {
4265#line 831
4266      mem_24 = (void **)head;
4267#line 831
4268      retValue_acc = *mem_24;
4269#line 833
4270      return (retValue_acc);
4271    } else {
4272#line 837 "libacc.c"
4273      retValue_acc = (void *)0;
4274#line 839
4275      return (retValue_acc);
4276    }
4277  } else {
4278
4279  }
4280#line 846 "libacc.c"
4281  return (retValue_acc);
4282}
4283}
4284#line 122 "libacc.c"
4285void *__utac__get_this_arg(int i , struct JoinPoint *this ) 
4286{ void *retValue_acc ;
4287  unsigned long __cil_tmp4 ;
4288  unsigned long __cil_tmp5 ;
4289  int __cil_tmp6 ;
4290  int __cil_tmp7 ;
4291  unsigned long __cil_tmp8 ;
4292  unsigned long __cil_tmp9 ;
4293  void **__cil_tmp10 ;
4294  void **__cil_tmp11 ;
4295  int *mem_12 ;
4296  void ***mem_13 ;
4297
4298  {
4299#line 123
4300  if (i > 0) {
4301    {
4302#line 123
4303    __cil_tmp4 = (unsigned long )this;
4304#line 123
4305    __cil_tmp5 = __cil_tmp4 + 16;
4306#line 123
4307    mem_12 = (int *)__cil_tmp5;
4308#line 123
4309    __cil_tmp6 = *mem_12;
4310#line 123
4311    if (i <= __cil_tmp6) {
4312
4313    } else {
4314      {
4315#line 123
4316      __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
4317                    123U, "__utac__get_this_arg");
4318      }
4319    }
4320    }
4321  } else {
4322    {
4323#line 123
4324    __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
4325                  123U, "__utac__get_this_arg");
4326    }
4327  }
4328#line 870 "libacc.c"
4329  __cil_tmp7 = i - 1;
4330#line 870
4331  __cil_tmp8 = (unsigned long )this;
4332#line 870
4333  __cil_tmp9 = __cil_tmp8 + 8;
4334#line 870
4335  mem_13 = (void ***)__cil_tmp9;
4336#line 870
4337  __cil_tmp10 = *mem_13;
4338#line 870
4339  __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
4340#line 870
4341  retValue_acc = *__cil_tmp11;
4342#line 872
4343  return (retValue_acc);
4344#line 879
4345  return (retValue_acc);
4346}
4347}
4348#line 129 "libacc.c"
4349char const   *__utac__get_this_argtype(int i , struct JoinPoint *this ) 
4350{ char const   *retValue_acc ;
4351  unsigned long __cil_tmp4 ;
4352  unsigned long __cil_tmp5 ;
4353  int __cil_tmp6 ;
4354  int __cil_tmp7 ;
4355  unsigned long __cil_tmp8 ;
4356  unsigned long __cil_tmp9 ;
4357  char const   **__cil_tmp10 ;
4358  char const   **__cil_tmp11 ;
4359  int *mem_12 ;
4360  char const   ***mem_13 ;
4361
4362  {
4363#line 131
4364  if (i > 0) {
4365    {
4366#line 131
4367    __cil_tmp4 = (unsigned long )this;
4368#line 131
4369    __cil_tmp5 = __cil_tmp4 + 16;
4370#line 131
4371    mem_12 = (int *)__cil_tmp5;
4372#line 131
4373    __cil_tmp6 = *mem_12;
4374#line 131
4375    if (i <= __cil_tmp6) {
4376
4377    } else {
4378      {
4379#line 131
4380      __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
4381                    131U, "__utac__get_this_argtype");
4382      }
4383    }
4384    }
4385  } else {
4386    {
4387#line 131
4388    __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
4389                  131U, "__utac__get_this_argtype");
4390    }
4391  }
4392#line 903 "libacc.c"
4393  __cil_tmp7 = i - 1;
4394#line 903
4395  __cil_tmp8 = (unsigned long )this;
4396#line 903
4397  __cil_tmp9 = __cil_tmp8 + 24;
4398#line 903
4399  mem_13 = (char const   ***)__cil_tmp9;
4400#line 903
4401  __cil_tmp10 = *mem_13;
4402#line 903
4403  __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
4404#line 903
4405  retValue_acc = *__cil_tmp11;
4406#line 905
4407  return (retValue_acc);
4408#line 912
4409  return (retValue_acc);
4410}
4411}