os/persistentdata/persistentstorage/store/TSTRM/t_storucmp.cpp
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/persistentdata/persistentstorage/store/TSTRM/t_storucmp.cpp	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,559 @@
     1.4 +// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5 +// All rights reserved.
     1.6 +// This component and the accompanying materials are made available
     1.7 +// under the terms of "Eclipse Public License v1.0"
     1.8 +// which accompanies this distribution, and is available
     1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
    1.10 +//
    1.11 +// Initial Contributors:
    1.12 +// Nokia Corporation - initial contribution.
    1.13 +//
    1.14 +// Contributors:
    1.15 +//
    1.16 +// Description:
    1.17 +// Test program for the Standard Unicode Compression Scheme; does nothing in the narrow builds.
    1.18 +// 
    1.19 +//
    1.20 +
    1.21 +#include <s32mem.h>
    1.22 +#include <s32ucmp.h>
    1.23 +#include <e32test.h>
    1.24 +
    1.25 +#ifdef _UNICODE
    1.26 +
    1.27 +const TInt KTestCleanupStack=0x20;
    1.28 +CTrapCleanup* TheTrapCleanup;
    1.29 +RTest test(_L("t_storucmp"));
    1.30 +
    1.31 +static const TUint16 UnicodeData[] =
    1.32 +{
    1.33 +0xFEFF, 0x45, 0x6E, 0x67, 0x6C, 0x69, 0x73, 0x68, 0x3A, 0x20, 0x4A, 0x61, 0x63, 0x6B, 0x64, 0x61,  // .English: Jackda
    1.34 +0x77, 0x73, 0x20, 0x6C, 0x6F, 0x76, 0x65, 0x20, 0x6D, 0x79, 0x20, 0x62, 0x69, 0x67, 0x20, 0x73,  // ws love my big s
    1.35 +0x70, 0x68, 0x69, 0x6E, 0x78, 0x20, 0x6F, 0x66, 0x20, 0x71, 0x75, 0x61, 0x72, 0x74, 0x7A, 0x2E,  // phinx of quartz.
    1.36 +0x20, 0x50, 0x61, 0x63, 0x6B, 0x20, 0x6D, 0x79, 0x20, 0x62, 0x6F, 0x78, 0x20, 0x77, 0x69, 0x74,  //  Pack my box wit
    1.37 +0x68, 0x20, 0x66, 0x69, 0x76, 0x65, 0x20, 0x64, 0x6F, 0x7A, 0x65, 0x6E, 0x20, 0x6C, 0x69, 0x71,  // h five dozen liq
    1.38 +0x75, 0x6F, 0x72, 0x20, 0x6A, 0x75, 0x67, 0x73, 0x2E, 0x6, 0x6, 0x47, 0x65, 0x72, 0x6D, 0x61,  // uor jugs...Germa
    1.39 +0x6E, 0x3A, 0x20, 0x44, 0x61, 0xDF, 0x20, 0x43, 0x2B, 0x2B, 0x20, 0x73, 0x69, 0x63, 0x68, 0x20,  // n: Daß C++ sich
    1.40 +0x73, 0x6F, 0x20, 0x73, 0x74, 0x61, 0x72, 0x6B, 0x20, 0x76, 0x65, 0x72, 0x62, 0x72, 0x65, 0x69,  // so stark verbrei
    1.41 +0x74, 0x65, 0x74, 0x20, 0x68, 0x61, 0x74, 0x2C, 0x20, 0x6D, 0x61, 0x67, 0x20, 0x76, 0x6F, 0x72,  // tet hat, mag vor
    1.42 +0x20, 0x61, 0x6C, 0x6C, 0x65, 0x6E, 0x20, 0x44, 0x69, 0x6E, 0x67, 0x65, 0x6E, 0x20, 0x7A, 0x77,  //  allen Dingen zw
    1.43 +0x65, 0x69, 0x20, 0x47, 0x72, 0xFC, 0x6E, 0x64, 0x65, 0x20, 0x68, 0x61, 0x62, 0x65, 0x6E, 0x3A,  // ei Gründe haben:
    1.44 +0x6, 0x44, 0x69, 0x65, 0x20, 0x6F, 0x62, 0x6A, 0x65, 0x6B, 0x74, 0x6F, 0x72, 0x69, 0x65, 0x6E,  // .Die objektorien
    1.45 +0x74, 0x69, 0x65, 0x72, 0x74, 0x65, 0x20, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x69,  // tierte Programmi
    1.46 +0x65, 0x72, 0x75, 0x6E, 0x67, 0x20, 0x69, 0x73, 0x74, 0x20, 0x73, 0x69, 0x63, 0x68, 0x65, 0x72,  // erung ist sicher
    1.47 +0x20, 0x65, 0x69, 0x6E, 0x65, 0x20, 0x61, 0x75, 0x73, 0x67, 0x65, 0x7A, 0x65, 0x69, 0x63, 0x68,  //  eine ausgezeich
    1.48 +0x6E, 0x65, 0x74, 0x65, 0x20, 0x41, 0x6C, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x74, 0x69, 0x76, 0x65,  // nete Alternative
    1.49 +0x6, 0x7A, 0x75, 0x20, 0x64, 0x65, 0x6E, 0x20, 0x74, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6F,  // .zu den traditio
    1.50 +0x6E, 0x65, 0x6C, 0x6C, 0x65, 0x6E, 0x20, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x69,  // nellen Programmi
    1.51 +0x65, 0x72, 0x74, 0x65, 0x63, 0x68, 0x6E, 0x69, 0x6B, 0x65, 0x6E, 0x2C, 0x20, 0x6D, 0xF6, 0x67,  // ertechniken, mög
    1.52 +0x6C, 0x69, 0x63, 0x68, 0x65, 0x72, 0x77, 0x65, 0x69, 0x73, 0x65, 0x20, 0x66, 0xFC, 0x72, 0x20,  // licherweise für
    1.53 +0x67, 0x72, 0x6F, 0xDF, 0x65, 0x20, 0x53, 0x6F, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x2D, 0x50,  // große Software-P
    1.54 +0x72, 0x6F, 0x6A, 0x65, 0x6B, 0x74, 0x65, 0x6, 0x67, 0x65, 0x67, 0x65, 0x6E, 0x77, 0xE4, 0x72,  // rojekte.gegenwär
    1.55 +0x74, 0x69, 0x67, 0x20, 0x64, 0x69, 0x65, 0x20, 0x65, 0x69, 0x6E, 0x7A, 0x69, 0x67, 0x65, 0x20,  // tig die einzige
    1.56 +0x4D, 0xF6, 0x67, 0x6C, 0x69, 0x63, 0x68, 0x6B, 0x65, 0x69, 0x74, 0x2C, 0x20, 0x64, 0x69, 0x65,  // Möglichkeit, die
    1.57 +0x20, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x65, 0x20, 0x73, 0x6F, 0x77, 0x6F, 0x68,  //  Programme sowoh
    1.58 +0x6C, 0x20, 0x65, 0x66, 0x66, 0x65, 0x6B, 0x74, 0x69, 0x76, 0x20, 0x73, 0x63, 0x68, 0x72, 0x65,  // l effektiv schre
    1.59 +0x69, 0x62, 0x65, 0x6E, 0x20, 0x61, 0x6C, 0x73, 0x20, 0x61, 0x75, 0x63, 0x68, 0x20, 0x77, 0x61,  // iben als auch wa
    1.60 +0x72, 0x74, 0x65, 0x6E, 0x6, 0x7A, 0x75, 0x20, 0x6B, 0xF6, 0x6E, 0x6E, 0x65, 0x6E, 0x20, 0x28,  // rten.zu können (
    1.61 +0x75, 0x6E, 0x64, 0x20, 0x6F, 0x62, 0x6A, 0x65, 0x6B, 0x74, 0x6F, 0x72, 0x69, 0x65, 0x6E, 0x74,  // und objektorient
    1.62 +0x69, 0x65, 0x72, 0x74, 0x65, 0x20, 0x56, 0x6F, 0x72, 0x67, 0x65, 0x68, 0x65, 0x6E, 0x73, 0x77,  // ierte Vorgehensw
    1.63 +0x65, 0x69, 0x73, 0x65, 0x6E, 0x20, 0x73, 0x69, 0x6E, 0x64, 0x20, 0x61, 0x75, 0x63, 0x68, 0x20,  // eisen sind auch
    1.64 +0x69, 0x6E, 0x20, 0x76, 0x69, 0x65, 0x6C, 0x65, 0x6E, 0x20, 0x61, 0x6E, 0x64, 0x65, 0x72, 0x65,  // in vielen andere
    1.65 +0x6E, 0x6, 0x57, 0x69, 0x73, 0x73, 0x65, 0x6E, 0x73, 0x63, 0x68, 0x61, 0x66, 0x74, 0x73, 0x62,  // n.Wissenschaftsb
    1.66 +0x65, 0x72, 0x65, 0x69, 0x63, 0x68, 0x65, 0x6E, 0x20, 0x65, 0x72, 0x66, 0x6F, 0x6C, 0x67, 0x72,  // ereichen erfolgr
    1.67 +0x65, 0x69, 0x63, 0x68, 0x29, 0x2E, 0x20, 0x5A, 0x75, 0x6D, 0x20, 0x61, 0x6E, 0x64, 0x65, 0x72,  // eich). Zum ander
    1.68 +0x65, 0x6E, 0x20, 0x65, 0x6E, 0x74, 0x68, 0xE4, 0x6C, 0x74, 0x20, 0x43, 0x2B, 0x2B, 0x20, 0x64,  // en enthält C++ d
    1.69 +0x65, 0x6E, 0x20, 0x6B, 0x6F, 0x6D, 0x70, 0x6C, 0x65, 0x74, 0x74, 0x65, 0x6E, 0x6, 0x53, 0x70,  // en kompletten.Sp
    1.70 +0x72, 0x61, 0x63, 0x68, 0x75, 0x6D, 0x66, 0x61, 0x6E, 0x67, 0x20, 0x76, 0x6F, 0x6E, 0x20, 0x43,  // rachumfang von C
    1.71 +0x2C, 0x20, 0x73, 0x6F, 0x20, 0x64, 0x61, 0xDF, 0x20, 0x66, 0xFC, 0x72, 0x20, 0x64, 0x69, 0x65,  // , so daß für die
    1.72 +0x20, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x69, 0x65, 0x72, 0x65, 0x72, 0x20, 0x65,  //  Programmierer e
    1.73 +0x69, 0x6E, 0x20, 0x22, 0x67, 0x6C, 0x65, 0x69, 0x74, 0x65, 0x6E, 0x64, 0x65, 0x72, 0x20, 0xDC,  // in "gleitender Ü
    1.74 +0x62, 0x65, 0x72, 0x67, 0x61, 0x6E, 0x67, 0x22, 0x20, 0x6D, 0xF6, 0x67, 0x6C, 0x69, 0x63, 0x68,  // bergang" möglich
    1.75 +0x20, 0x69, 0x73, 0x74, 0x6, 0x75, 0x6E, 0x64, 0x20, 0x61, 0x6C, 0x6C, 0x65, 0x20, 0x43, 0x2D,  //  ist.und alle C-
    1.76 +0x52, 0x6F, 0x75, 0x74, 0x69, 0x6E, 0x65, 0x6E, 0x20, 0x75, 0x6E, 0x64, 0x20, 0x43, 0x2D, 0x42,  // Routinen und C-B
    1.77 +0x69, 0x62, 0x6C, 0x69, 0x6F, 0x74, 0x68, 0x65, 0x6B, 0x65, 0x6E, 0x20, 0x77, 0x65, 0x69, 0x74,  // ibliotheken weit
    1.78 +0x65, 0x72, 0x20, 0x76, 0x65, 0x72, 0x77, 0x65, 0x6E, 0x64, 0x65, 0x74, 0x20, 0x77, 0x65, 0x72,  // er verwendet wer
    1.79 +0x64, 0x65, 0x6E, 0x20, 0x6B, 0xF6, 0x6E, 0x6E, 0x65, 0x6E, 0x2E, 0x6, 0x6, 0x53, 0x77, 0x65,  // den können...Swe
    1.80 +0x64, 0x69, 0x73, 0x68, 0x3A, 0x20, 0x4A, 0x61, 0x76, 0x61, 0x20, 0xE4, 0x72, 0x20, 0x75, 0x74,  // dish: Java är ut
    1.81 +0x76, 0x65, 0x63, 0x6B, 0x6C, 0x61, 0x64, 0x20, 0x61, 0x76, 0x20, 0x53, 0x75, 0x6E, 0x2E, 0x20,  // vecklad av Sun.
    1.82 +0x46, 0x72, 0xE5, 0x6E, 0x20, 0x62, 0xF6, 0x72, 0x6A, 0x61, 0x6E, 0x20, 0x76, 0x61, 0x72, 0x20,  // Från början var
    1.83 +0x64, 0x65, 0x74, 0x20, 0x74, 0xE4, 0x6E, 0x6B, 0x74, 0x20, 0x61, 0x74, 0x74, 0x20, 0x73, 0x70,  // det tänkt att sp
    1.84 +0x72, 0xE5, 0x6B, 0x65, 0x74, 0x20, 0x73, 0x6B, 0x75, 0x6C, 0x6C, 0x65, 0x20, 0x61, 0x6E, 0x76,  // råket skulle anv
    1.85 +0xE4, 0x6E, 0x64, 0x61, 0x73, 0x20, 0x69, 0x6E, 0x6F, 0x6D, 0x20, 0x65, 0x6C, 0x65, 0x6B, 0x74,  // ändas inom elekt
    1.86 +0x72, 0x6F, 0x6E, 0x69, 0x6B, 0x20, 0x74, 0x69, 0x6C, 0x6C, 0x6, 0x74, 0x20, 0x65, 0x78, 0x20,  // ronik till.t ex
    1.87 +0x62, 0x72, 0xF6, 0x64, 0x72, 0x6F, 0x73, 0x74, 0x61, 0x72, 0x20, 0x65, 0x6C, 0x6C, 0x65, 0x72,  // brödrostar eller
    1.88 +0x20, 0x74, 0x76, 0xE4, 0x74, 0x74, 0x6D, 0x61, 0x73, 0x6B, 0x69, 0x6E, 0x65, 0x72, 0x2E, 0x20,  //  tvättmaskiner.
    1.89 +0x55, 0x74, 0x76, 0x65, 0x63, 0x6B, 0x6C, 0x61, 0x72, 0x6E, 0x61, 0x20, 0x69, 0x6E, 0x73, 0xE5,  // Utvecklarna inså
    1.90 +0x67, 0x20, 0x73, 0x6E, 0x61, 0x62, 0x62, 0x74, 0x20, 0x61, 0x74, 0x74, 0x20, 0x64, 0x65, 0x74,  // g snabbt att det
    1.91 +0x20, 0x6B, 0x72, 0xE4, 0x76, 0x64, 0x65, 0x73, 0x20, 0x65, 0x74, 0x74, 0x20, 0x70, 0x6C, 0x61,  //  krävdes ett pla
    1.92 +0x74, 0x74, 0x66, 0x6F, 0x72, 0x6D, 0x73, 0x6F, 0x62, 0x65, 0x72, 0x6F, 0x65, 0x6E, 0x64, 0x65,  // ttformsoberoende
    1.93 +0x6, 0x73, 0x70, 0x72, 0xE5, 0x6B, 0x20, 0x66, 0xF6, 0x72, 0x20, 0x61, 0x74, 0x74, 0x20, 0x6B,  // .språk för att k
    1.94 +0x75, 0x6E, 0x6E, 0x61, 0x20, 0x74, 0x69, 0x6C, 0x6C, 0x67, 0x6F, 0x64, 0x6F, 0x73, 0x65, 0x20,  // unna tillgodose
    1.95 +0x64, 0x65, 0x20, 0x6F, 0x6C, 0x69, 0x6B, 0x61, 0x20, 0x62, 0x65, 0x68, 0x6F, 0x76, 0x65, 0x6E,  // de olika behoven
    1.96 +0x20, 0x70, 0xE5, 0x20, 0x65, 0x6C, 0x65, 0x6B, 0x74, 0x72, 0x6F, 0x6E, 0x69, 0x6B, 0x6D, 0x61,  //  på elektronikma
    1.97 +0x72, 0x6B, 0x6E, 0x61, 0x64, 0x65, 0x6E, 0x2E, 0x20, 0x4A, 0x61, 0x76, 0x61, 0x73, 0x20, 0x73,  // rknaden. Javas s
    1.98 +0x6B, 0x61, 0x70, 0x61, 0x72, 0x65, 0x20, 0x4A, 0x61, 0x6D, 0x65, 0x73, 0x20, 0x47, 0x6F, 0x73,  // kapare James Gos
    1.99 +0x6C, 0x69, 0x6E, 0x67, 0x6, 0x62, 0xF6, 0x72, 0x6A, 0x61, 0x64, 0x65, 0x20, 0x61, 0x72, 0x62,  // ling.började arb
   1.100 +0x65, 0x74, 0x61, 0x20, 0x75, 0x74, 0x69, 0x66, 0x72, 0xE5, 0x6E, 0x20, 0x43, 0x2B, 0x2B, 0x20,  // eta utifrån C++
   1.101 +0x6B, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x61, 0x74, 0x69, 0x6F, 0x72, 0x6E, 0x2E, 0x20, 0x45, 0x66,  // kompilatiorn. Ef
   1.102 +0x74, 0x65, 0x72, 0x20, 0x65, 0x6E, 0x20, 0x74, 0x69, 0x64, 0x20, 0x69, 0x6E, 0x73, 0xE5, 0x67,  // ter en tid insåg
   1.103 +0x20, 0x68, 0x61, 0x6E, 0x20, 0x61, 0x74, 0x74, 0x20, 0x64, 0x65, 0x74, 0x6, 0x62, 0xE4, 0x73,  //  han att det.bäs
   1.104 +0x74, 0x61, 0x20, 0x76, 0x6F, 0x72, 0x65, 0x20, 0x61, 0x74, 0x74, 0x20, 0x73, 0x6B, 0x61, 0x70,  // ta vore att skap
   1.105 +0x61, 0x20, 0x65, 0x74, 0x74, 0x20, 0x6E, 0x79, 0x74, 0x74, 0x20, 0x73, 0x70, 0x72, 0xE5, 0x6B,  // a ett nytt språk
   1.106 +0x20, 0x73, 0x6F, 0x6D, 0x20, 0x76, 0x61, 0x72, 0x20, 0x6E, 0xE4, 0x72, 0x61, 0x20, 0x62, 0x65,  //  som var nära be
   1.107 +0x73, 0x6C, 0xE4, 0x6B, 0x74, 0x61, 0x74, 0x20, 0x6D, 0x65, 0x64, 0x20, 0x43, 0x2B, 0x2B, 0x2E,  // släktat med C++.
   1.108 +0x20, 0x44, 0x65, 0x74, 0x20, 0x66, 0xF6, 0x72, 0x73, 0x74, 0x61, 0x20, 0x6E, 0x61, 0x6D, 0x6E,  //  Det första namn
   1.109 +0x65, 0x74, 0x20, 0x73, 0x6F, 0x6D, 0x20, 0x74, 0x65, 0x73, 0x74, 0x61, 0x64, 0x65, 0x73, 0x20,  // et som testades
   1.110 +0x66, 0xF6, 0x72, 0x6, 0x70, 0x61, 0x74, 0x65, 0x6E, 0x74, 0x20, 0x76, 0x61, 0x72, 0x20, 0x4F,  // för.patent var O
   1.111 +0x61, 0x6B, 0x2C, 0x20, 0x64, 0x65, 0x74, 0x74, 0x61, 0x20, 0x6D, 0x69, 0x73, 0x73, 0x6C, 0x79,  // ak, detta missly
   1.112 +0x63, 0x6B, 0x61, 0x64, 0x65, 0x73, 0x20, 0x2D, 0x20, 0x6F, 0x63, 0x68, 0x20, 0x64, 0x65, 0x74,  // ckades - och det
   1.113 +0x20, 0x6E, 0x79, 0x61, 0x20, 0x6E, 0x61, 0x6D, 0x6E, 0x65, 0x74, 0x20, 0x62, 0x6C, 0x65, 0x76,  //  nya namnet blev
   1.114 +0x20, 0x4A, 0x61, 0x76, 0x61, 0x2E, 0x6, 0x53, 0x70, 0x72, 0xE5, 0x6B, 0x65, 0x74, 0x20, 0x69,  //  Java..Språket i
   1.115 +0x6E, 0x74, 0x72, 0x6F, 0x64, 0x75, 0x63, 0x65, 0x72, 0x61, 0x64, 0x65, 0x73, 0x20, 0x69, 0x20,  // ntroducerades i
   1.116 +0x31, 0x39, 0x39, 0x35, 0x2E, 0x20, 0x53, 0x70, 0x72, 0xE5, 0x6B, 0x65, 0x74, 0x73, 0x20, 0x66,  // 1995. Språkets f
   1.117 +0x72, 0x61, 0x6D, 0x67, 0xE5, 0x6E, 0x67, 0x20, 0x62, 0x65, 0x72, 0x6F, 0x72, 0x20, 0x6D, 0x79,  // ramgång beror my
   1.118 +0x63, 0x6B, 0x65, 0x74, 0x20, 0x70, 0xE5, 0x20, 0x61, 0x74, 0x74, 0x20, 0x64, 0x65, 0x74, 0x20,  // cket på att det
   1.119 +0xE4, 0x72, 0x6, 0x70, 0x6C, 0x61, 0x74, 0x74, 0x66, 0x6F, 0x72, 0x6D, 0x73, 0x6F, 0x62, 0x65,  // är.plattformsobe
   1.120 +0x72, 0x6F, 0x65, 0x6E, 0x64, 0x65, 0x2E, 0x20, 0x4A, 0x61, 0x76, 0x61, 0x20, 0x6B, 0x61, 0x6E,  // roende. Java kan
   1.121 +0x20, 0x62, 0x65, 0x73, 0x6B, 0x72, 0x69, 0x76, 0x61, 0x73, 0x20, 0x73, 0x6F, 0x6D, 0x20, 0x65,  //  beskrivas som e
   1.122 +0x6E, 0x6B, 0x65, 0x6C, 0x74, 0x2C, 0x20, 0x6F, 0x62, 0x6A, 0x65, 0x6B, 0x74, 0x6F, 0x72, 0x69,  // nkelt, objektori
   1.123 +0x65, 0x6E, 0x74, 0x65, 0x72, 0x61, 0x74, 0x2C, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62,  // enterat, distrib
   1.124 +0x75, 0x65, 0x72, 0x61, 0x74, 0x2C, 0x20, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74,  // uerat, interpret
   1.125 +0x65, 0x72, 0x61, 0x6E, 0x64, 0x65, 0x2C, 0x6, 0x72, 0x6F, 0x62, 0x75, 0x73, 0x74, 0x2C, 0x20,  // erande,.robust,
   1.126 +0x73, 0xE4, 0x6B, 0x65, 0x72, 0x74, 0x2C, 0x20, 0x70, 0x6C, 0x61, 0x74, 0x74, 0x66, 0x6F, 0x72,  // säkert, plattfor
   1.127 +0x6D, 0x73, 0x6F, 0x62, 0x65, 0x72, 0x6F, 0x65, 0x6E, 0x64, 0x65, 0x2C, 0x20, 0x70, 0x6F, 0x72,  // msoberoende, por
   1.128 +0x74, 0x61, 0x62, 0x65, 0x6C, 0x74, 0x20, 0x6F, 0x63, 0x68, 0x20, 0x64, 0x79, 0x6E, 0x61, 0x6D,  // tabelt och dynam
   1.129 +0x69, 0x73, 0x6B, 0x74, 0x20, 0x73, 0x70, 0x72, 0xE5, 0x6B, 0x2E, 0x6, 0x6, 0x52, 0x75, 0x73,  // iskt språk...Rus
   1.130 +0x73, 0x69, 0x61, 0x6E, 0x3A, 0x20, 0x415, 0x432, 0x440, 0x43E, 0x43F, 0x430, 0x2C, 0x20, 0x41F, 0x440,  // sian: ......, ..
   1.131 +0x43E, 0x433, 0x440, 0x430, 0x43C, 0x43C, 0x43D, 0x43E, 0x435, 0x20, 0x43E, 0x431, 0x435, 0x441, 0x43F, 0x435,
   1.132 +0x447, 0x435, 0x43D, 0x438, 0x435, 0x20, 0x2B, 0x20, 0x418, 0x43D, 0x442, 0x435, 0x440, 0x43D, 0x435, 0x442,  // ..... + ........
   1.133 +0x3A, 0x6, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x20, 0x432, 0x20, 0x433, 0x43B, 0x43E, 0x431,  // :.Unicode . ....
   1.134 +0x430, 0x43B, 0x44C, 0x43D, 0x44B, 0x445, 0x20, 0x43C, 0x430, 0x441, 0x448, 0x442, 0x430, 0x431, 0x430, 0x445,
   1.135 +0x20, 0x20, 0x6, 0x417, 0x430, 0x440, 0x435, 0x433, 0x438, 0x441, 0x442, 0x440, 0x438, 0x440, 0x443, 0x439,
   1.136 +0x442, 0x435, 0x441, 0x44C, 0x20, 0x441, 0x435, 0x439, 0x447, 0x430, 0x441, 0x20, 0x43D, 0x430, 0x20, 0x414,
   1.137 +0x435, 0x441, 0x44F, 0x442, 0x443, 0x44E, 0x20, 0x41C, 0x435, 0x436, 0x434, 0x443, 0x43D, 0x430, 0x440, 0x43E,
   1.138 +0x434, 0x43D, 0x443, 0x44E, 0x20, 0x41A, 0x43E, 0x43D, 0x444, 0x435, 0x440, 0x435, 0x43D, 0x446, 0x438, 0x44E,
   1.139 +0x20, 0x43F, 0x43E, 0x20, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x2C, 0x20, 0x43A, 0x43E, 0x442,  //  .. Unicode, ...
   1.140 +0x43E, 0x440, 0x430, 0x44F, 0x6, 0x441, 0x43E, 0x441, 0x442, 0x43E, 0x438, 0x442, 0x441, 0x44F, 0x20, 0x31,  // .............. 1
   1.141 +0x30, 0x2D, 0x31, 0x32, 0x20, 0x43C, 0x430, 0x440, 0x442, 0x430, 0x20, 0x31, 0x39, 0x39, 0x37, 0x20,  // 0-12 ..... 1997
   1.142 +0x433, 0x43E, 0x434, 0x430, 0x20, 0x432, 0x20, 0x41C, 0x430, 0x439, 0x43D, 0x446, 0x435, 0x20, 0x432, 0x20,
   1.143 +0x413, 0x435, 0x440, 0x43C, 0x430, 0x43D, 0x438, 0x438, 0x2E, 0x20, 0x41A, 0x43E, 0x43D, 0x444, 0x435, 0x440,  // ......... ......
   1.144 +0x435, 0x43D, 0x446, 0x438, 0x44F, 0x20, 0x441, 0x43E, 0x431, 0x435, 0x440, 0x435, 0x442, 0x20, 0x448, 0x438,
   1.145 +0x440, 0x43E, 0x43A, 0x438, 0x439, 0x20, 0x43A, 0x440, 0x443, 0x433, 0x6, 0x44D, 0x43A, 0x441, 0x43F, 0x435,
   1.146 +0x440, 0x442, 0x43E, 0x432, 0x20, 0x43F, 0x43E, 0x20, 0x432, 0x43E, 0x43F, 0x440, 0x43E, 0x441, 0x430, 0x43C,
   1.147 +0x20, 0x433, 0x43B, 0x43E, 0x431, 0x430, 0x43B, 0x44C, 0x43D, 0x43E, 0x433, 0x43E, 0x20, 0x418, 0x43D, 0x442,
   1.148 +0x435, 0x440, 0x43D, 0x435, 0x442, 0x430, 0x20, 0x438, 0x20, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65,  // ...... . Unicode
   1.149 +0x2C, 0x20, 0x43B, 0x43E, 0x43A, 0x430, 0x43B, 0x438, 0x437, 0x430, 0x446, 0x438, 0x438, 0x20, 0x438, 0x20,  // , ........... .
   1.150 +0x438, 0x43D, 0x442, 0x435, 0x440, 0x43D, 0x430, 0x446, 0x438, 0x43E, 0x43D, 0x430, 0x43B, 0x438, 0x437, 0x430,
   1.151 +0x446, 0x438, 0x438, 0x2C, 0x6, 0x432, 0x43E, 0x43F, 0x43B, 0x43E, 0x449, 0x435, 0x43D, 0x438, 0x44E, 0x20,  // ...,...........
   1.152 +0x438, 0x20, 0x43F, 0x440, 0x438, 0x43C, 0x435, 0x43D, 0x435, 0x43D, 0x438, 0x44E, 0x20, 0x55, 0x6E, 0x69,  // . .......... Uni
   1.153 +0x63, 0x6F, 0x64, 0x65, 0x20, 0x432, 0x20, 0x440, 0x430, 0x437, 0x43B, 0x438, 0x447, 0x43D, 0x44B, 0x445,  // code . .........
   1.154 +0x20, 0x43E, 0x43F, 0x435, 0x440, 0x430, 0x446, 0x438, 0x43E, 0x43D, 0x43D, 0x44B, 0x445, 0x20, 0x441, 0x438,
   1.155 +0x441, 0x442, 0x435, 0x43C, 0x430, 0x445, 0x20, 0x438, 0x20, 0x43F, 0x440, 0x43E, 0x433, 0x440, 0x430, 0x43C,
   1.156 +0x43C, 0x43D, 0x44B, 0x445, 0x6, 0x43F, 0x440, 0x438, 0x43B, 0x43E, 0x436, 0x435, 0x43D, 0x438, 0x44F, 0x445,
   1.157 +0x2C, 0x20, 0x448, 0x440, 0x438, 0x444, 0x442, 0x430, 0x445, 0x2C, 0x20, 0x432, 0x435, 0x440, 0x441, 0x442,  // , ......., .....
   1.158 +0x43A, 0x435, 0x20, 0x438, 0x20, 0x43C, 0x43D, 0x43E, 0x433, 0x43E, 0x44F, 0x437, 0x44B, 0x447, 0x43D, 0x44B,
   1.159 +0x445, 0x20, 0x43A, 0x43E, 0x43C, 0x43F, 0x44C, 0x44E, 0x442, 0x435, 0x440, 0x43D, 0x44B, 0x445, 0x20, 0x441,
   1.160 +0x438, 0x441, 0x442, 0x435, 0x43C, 0x430, 0x445, 0x2E, 0x20, 0x20, 0x6, 0x41A, 0x43E, 0x433, 0x434, 0x430,  // ........  ......
   1.161 +0x20, 0x43C, 0x438, 0x440, 0x20, 0x436, 0x435, 0x43B, 0x430, 0x435, 0x442, 0x20, 0x43E, 0x431, 0x449, 0x430,
   1.162 +0x442, 0x44C, 0x441, 0x44F, 0x2C, 0x20, 0x43E, 0x43D, 0x20, 0x43E, 0x431, 0x449, 0x430, 0x435, 0x442, 0x441,  // ...., .. .......
   1.163 +0x44F, 0x20, 0x43D, 0x430, 0x20, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x20, 0x20, 0x6, 0x6,  // . .. Unicode  ..
   1.164 +0x41, 0x72, 0x61, 0x62, 0x69, 0x63, 0x3A, 0x20, 0x623, 0x648, 0x631, 0x648, 0x628, 0x627, 0x2C, 0x20,  // Arabic: ......,
   1.165 +0x628, 0x631, 0x645, 0x62C, 0x64A, 0x627, 0x62A, 0x20, 0x627, 0x644, 0x62D, 0x627, 0x633, 0x648, 0x628, 0x20,
   1.166 +0x2B, 0x20, 0x627, 0x646, 0x62A, 0x631, 0x646, 0x64A, 0x62A, 0x20, 0x3A, 0x6, 0x62A, 0x635, 0x628, 0x62D,  // + ....... :.....
   1.167 +0x20, 0x639, 0x627, 0x644, 0x645, 0x64A, 0x627, 0x20, 0x645, 0x639, 0x20, 0x64A, 0x648, 0x646, 0x64A, 0x643,
   1.168 +0x648, 0x62F, 0x20, 0x20, 0x6, 0x62A, 0x633, 0x62C, 0x651, 0x644, 0x20, 0x627, 0x644, 0x622, 0x646, 0x20,
   1.169 +0x644, 0x62D, 0x636, 0x648, 0x631, 0x20, 0x627, 0x644, 0x645, 0x624, 0x62A, 0x645, 0x631, 0x20, 0x627, 0x644,
   1.170 +0x62F, 0x648, 0x644, 0x64A, 0x20, 0x627, 0x644, 0x639, 0x627, 0x634, 0x631, 0x20, 0x644, 0x64A, 0x648, 0x646,
   1.171 +0x64A, 0x643, 0x648, 0x62F, 0x2C, 0x20, 0x627, 0x644, 0x630, 0x64A, 0x20, 0x633, 0x64A, 0x639, 0x642, 0x62F,  // ...., .... .....
   1.172 +0x20, 0x641, 0x64A, 0x20, 0x31, 0x30, 0x2D, 0x31, 0x32, 0x6, 0x622, 0x630, 0x627, 0x631, 0x20, 0x31,  //  .. 10-12..... 1
   1.173 +0x39, 0x39, 0x37, 0x20, 0x628, 0x645, 0x62F, 0x64A, 0x646, 0x629, 0x20, 0x645, 0x627, 0x64A, 0x646, 0x62A,  // 997 ...... .....
   1.174 +0x633, 0x2C, 0x20, 0x623, 0x644, 0x645, 0x627, 0x646, 0x64A, 0x627, 0x2E, 0x20, 0x648, 0x633, 0x64A, 0x62C,  // ., ........ ....
   1.175 +0x645, 0x639, 0x20, 0x627, 0x644, 0x645, 0x624, 0x62A, 0x645, 0x631, 0x20, 0x628, 0x64A, 0x646, 0x20, 0x62E,
   1.176 +0x628, 0x631, 0x627, 0x621, 0x20, 0x645, 0x646, 0x20, 0x643, 0x627, 0x641, 0x629, 0x20, 0x642, 0x637, 0x627,
   1.177 +0x639, 0x627, 0x62A, 0x6, 0x627, 0x644, 0x635, 0x646, 0x627, 0x639, 0x629, 0x20, 0x639, 0x644, 0x649, 0x20,
   1.178 +0x627, 0x644, 0x634, 0x628, 0x643, 0x629, 0x20, 0x627, 0x644, 0x639, 0x627, 0x644, 0x645, 0x64A, 0x629, 0x20,
   1.179 +0x627, 0x646, 0x62A, 0x631, 0x646, 0x64A, 0x62A, 0x20, 0x648, 0x64A, 0x648, 0x646, 0x64A, 0x643, 0x648, 0x62F,
   1.180 +0x2C, 0x20, 0x62D, 0x64A, 0x62B, 0x20, 0x633, 0x62A, 0x62A, 0x645, 0x2C, 0x20, 0x639, 0x644, 0x649, 0x20,  // , ... ...., ...
   1.181 +0x627, 0x644, 0x635, 0x639, 0x64A, 0x62F, 0x64A, 0x646, 0x6, 0x627, 0x644, 0x62F, 0x648, 0x644, 0x64A, 0x20,
   1.182 +0x648, 0x627, 0x644, 0x645, 0x62D, 0x644, 0x64A, 0x20, 0x639, 0x644, 0x649, 0x20, 0x62D, 0x62F, 0x20, 0x633,
   1.183 +0x648, 0x627, 0x621, 0x20, 0x645, 0x646, 0x627, 0x642, 0x634, 0x629, 0x20, 0x633, 0x628, 0x644, 0x20, 0x627,
   1.184 +0x633, 0x62A, 0x62E, 0x62F, 0x627, 0x645, 0x20, 0x64A, 0x648, 0x646, 0x643, 0x648, 0x62F, 0x20, 0x641, 0x64A,
   1.185 +0x20, 0x627, 0x644, 0x646, 0x638, 0x645, 0x20, 0x627, 0x644, 0x642, 0x627, 0x626, 0x645, 0x629, 0x6, 0x648,
   1.186 +0x641, 0x64A, 0x645, 0x627, 0x20, 0x64A, 0x62E, 0x635, 0x20, 0x627, 0x644, 0x62A, 0x637, 0x628, 0x64A, 0x642,
   1.187 +0x627, 0x62A, 0x20, 0x627, 0x644, 0x62D, 0x627, 0x633, 0x648, 0x628, 0x64A, 0x629, 0x2C, 0x20, 0x627, 0x644,  // .. ........., ..
   1.188 +0x62E, 0x637, 0x648, 0x637, 0x2C, 0x20, 0x62A, 0x635, 0x645, 0x64A, 0x645, 0x20, 0x627, 0x644, 0x646, 0x635,  // ...., ..... ....
   1.189 +0x648, 0x635, 0x20, 0x648, 0x627, 0x644, 0x62D, 0x648, 0x633, 0x628, 0x629, 0x20, 0x645, 0x62A, 0x639, 0x62F,
   1.190 +0x62F, 0x629, 0x20, 0x627, 0x644, 0x644, 0x63A, 0x627, 0x62A, 0x2E, 0x20, 0x20, 0x6, 0x639, 0x646, 0x62F,  // .. .......  ....
   1.191 +0x645, 0x627, 0x20, 0x64A, 0x631, 0x64A, 0x62F, 0x20, 0x627, 0x644, 0x639, 0x627, 0x644, 0x645, 0x20, 0x623,
   1.192 +0x646, 0x20, 0x64A, 0x62A, 0x643, 0x644, 0x651, 0x645, 0x2C, 0x20, 0x641, 0x647, 0x648, 0x20, 0x64A, 0x62A,  // . ......, ... ..
   1.193 +0x62D, 0x62F, 0x651, 0x62B, 0x20, 0x628, 0x644, 0x63A, 0x629, 0x20, 0x64A, 0x648, 0x646, 0x64A, 0x643, 0x648,
   1.194 +0x62F, 0x2E, 0x20, 0x20, 0x6, 0x6, 0x43, 0x68, 0x69, 0x6E, 0x65, 0x73, 0x65, 0x20, 0x28, 0x73,  // ..  ..Chinese (s
   1.195 +0x69, 0x6D, 0x70, 0x6C, 0x69, 0x66, 0x69, 0x65, 0x64, 0x29, 0x3B, 0x20, 0x6B27, 0x6D32, 0xFF0C, 0x8F6F,  // implified); ....
   1.196 +0x4EF6, 0xFF0B, 0x4E92, 0x8054, 0x7F51, 0x6, 0x7528, 0x7EDF, 0x4E00, 0x7801, 0x20, 0x28, 0x55, 0x6E, 0x69, 0x63,  // .......... (Unic
   1.197 +0x6F, 0x64, 0x65, 0x29, 0x20, 0x8D70, 0x904D, 0x4E16, 0x754C, 0x20, 0x20, 0x6, 0x5C06, 0x4E8E, 0x31, 0x39,  // ode) ....  ...19
   1.198 +0x39, 0x37, 0x5E74, 0x20, 0x33, 0x20, 0x6708, 0x31, 0x30, 0x65E5, 0xFF0D, 0x31, 0x32, 0x65E5, 0x5728, 0x5FB7,  // 97. 3 .10..12...
   1.199 +0x56FD, 0x20, 0x4D, 0x61, 0x69, 0x6E, 0x7A, 0x20, 0x5E02, 0x4E3E, 0x884C, 0x7684, 0x7B2C, 0x5341, 0x5C4A, 0x7EDF,  // . Mainz ........
   1.200 +0x4E00, 0x7801, 0x56FD, 0x9645, 0x7814, 0x8BA8, 0x4F1A, 0x73B0, 0x5728, 0x5F00, 0x59CB, 0x6CE8, 0x518C, 0x3002, 0x6, 0x672C,
   1.201 +0x6B21, 0x4F1A, 0x8BAE, 0x5C06, 0x6C47, 0x96C6, 0x5404, 0x65B9, 0x9762, 0x7684, 0x4E13, 0x5BB6, 0x3002, 0x6D89, 0x53CA, 0x7684,
   1.202 +0x9886, 0x57DF, 0x5305, 0x62EC, 0xFF1A, 0x56FD, 0x9645, 0x4E92, 0x8054, 0x7F51, 0x548C, 0x7EDF, 0x4E00, 0x7801, 0xFF0C, 0x56FD,
   1.203 +0x9645, 0x5316, 0x548C, 0x672C, 0x5730, 0x5316, 0xFF0C, 0x6, 0x7EDF, 0x4E00, 0x7801, 0x5728, 0x64CD, 0x4F5C, 0x7CFB, 0x7EDF,
   1.204 +0x548C, 0x5E94, 0x7528, 0x8F6F, 0x4EF6, 0x4E2D, 0x7684, 0x5B9E, 0x73B0, 0xFF0C, 0x5B57, 0x578B, 0xFF0C, 0x6587, 0x672C, 0x683C,
   1.205 +0x5F0F, 0x4EE5, 0x53CA, 0x591A, 0x6587, 0x79CD, 0x8BA1, 0x7B97, 0x7B49, 0x3002, 0x20, 0x20, 0x6, 0x5F53, 0x4E16, 0x754C,
   1.206 +0x9700, 0x8981, 0x6C9F, 0x901A, 0x65F6, 0xFF0C, 0x8BF7, 0x7528, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0xFF01,  // ........Unicode.
   1.207 +0x20, 0x20, 0x6, 0x6, 0x43, 0x68, 0x69, 0x6E, 0x65, 0x73, 0x65, 0x20, 0x28, 0x74, 0x72, 0x61,  //   ..Chinese (tra
   1.208 +0x64, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x61, 0x6C, 0x29, 0x20, 0x6B50, 0x6D32, 0xFF0C, 0x8EDF, 0x9AD4, 0x53CA,  // ditional) ......
   1.209 +0x7DB2, 0x969B, 0x7DB2, 0x8DEF, 0xFF1A, 0x6, 0x8B93, 0x7D71, 0x4E00, 0x78BC, 0xFF08, 0x55, 0x6E, 0x69, 0x63, 0x6F,  // ...........Unico
   1.210 +0x64, 0x65, 0xFF09, 0x9818, 0x4F60, 0x9032, 0x5165, 0x5168, 0x4E16, 0x754C, 0x20, 0x20, 0x6, 0x4F60, 0x73FE, 0x5728,  // de........  ....
   1.211 +0x5C31, 0x61C9, 0x5831, 0x540D, 0x5C07, 0x5728, 0xFF11, 0xFF19, 0xFF19, 0xFF17, 0x5E74, 0xFF13, 0x6708, 0xFF11, 0xFF10, 0x81F3,
   1.212 +0xFF11, 0xFF12, 0x65E5, 0x65BC, 0x5FB7, 0x570B, 0x7F8E, 0x59FF, 0x57CE, 0xFF08, 0x4D, 0x61, 0x69, 0x6E, 0x7A, 0xFF09,  // ..........Mainz.
   1.213 +0x6, 0x53EC, 0x958B, 0x7684, 0x7B2C, 0x5341, 0x5C46, 0x570B, 0x969B, 0x7D71, 0x4E00, 0x78BC, 0x7814, 0x8A0E, 0x6703, 0x3002,
   1.214 +0x672C, 0x6B21, 0x7814, 0x8A0E, 0x6703, 0x5C07, 0x9080, 0x8ACB, 0x591A, 0x4F4D, 0x696D, 0x754C, 0x5C08, 0x5BB6, 0x7814, 0x8A0E,
   1.215 +0x95DC, 0x65BC, 0x5168, 0x7403, 0x7DB2, 0x969B, 0x7DB2, 0x8DEF, 0x53CA, 0x7D71, 0x4E00, 0x78BC, 0x767C, 0x5C55, 0x3001, 0x6,
   1.216 +0x570B, 0x969B, 0x5316, 0x53CA, 0x672C, 0x571F, 0x5316, 0x3001, 0x652F, 0x63F4, 0x7D71, 0x4E00, 0x78BC, 0x7684, 0x4F5C, 0x696D,
   1.217 +0x7CFB, 0x7D71, 0x53CA, 0x61C9, 0x7528, 0x7A0B, 0x5F0F, 0x3001, 0x5B57, 0x578B, 0x3001, 0x6587, 0x5B57, 0x6392, 0x7248, 0x3001,
   1.218 +0x96FB, 0x8166, 0x591A, 0x570B, 0x8A9E, 0x6587, 0x5316, 0x7B49, 0x591A, 0x9805, 0x8AB2, 0x984C, 0x3002, 0x20, 0x20, 0x6,
   1.219 +0x7576, 0x4E16, 0x754C, 0x9700, 0x8981, 0x6E9D, 0x901A, 0x6642, 0xFF0C, 0x8ACB, 0x7528, 0x7D71, 0x4E00, 0x78BC, 0xFF08, 0x55,  // ...............U
   1.220 +0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0xFF09, 0x20, 0x20, 0x6, 0x6, 0x47, 0x65, 0x6F, 0x72, 0x67,  // nicode.  ..Georg
   1.221 +0x69, 0x61, 0x6E, 0x3A, 0x20, 0x10D4, 0x10D5, 0x10E0, 0x10DD, 0x10DE, 0x10D0, 0x2C, 0x20, 0x10DE, 0x10E0, 0x10DD,  // ian: ......, ...
   1.222 +0x10D2, 0x10E0, 0x10D0, 0x10DB, 0x10E3, 0x10DA, 0x10D8, 0x20, 0x10E3, 0x10D6, 0x10E0, 0x10E3, 0x10DC, 0x10D5, 0x10D4, 0x10DA,
   1.223 +0x10E7, 0x10DD, 0x10E4, 0x10D0, 0x20, 0x2B, 0x20, 0x10D8, 0x10DC, 0x10E2, 0x10D4, 0x10E0, 0x10DC, 0x10D4, 0x10E2, 0x10D8,  // .... + .........
   1.224 +0x3A, 0x6, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x2D, 0x10D8, 0x20, 0x10DB, 0x10D7, 0x10D4, 0x10DA,  // :.Unicode-. ....
   1.225 +0x10E1, 0x20, 0x10DB, 0x10E1, 0x10DD, 0x10E4, 0x10DA, 0x10D8, 0x10DD, 0x10E8, 0x10D8, 0x20, 0x20, 0x6, 0x10D2, 0x10D7,
   1.226 +0x10EE, 0x10DD, 0x10D5, 0x10D7, 0x20, 0x10D0, 0x10EE, 0x10DA, 0x10D0, 0x10D5, 0x10D4, 0x20, 0x10D2, 0x10D0, 0x10D8, 0x10D0,
   1.227 +0x10E0, 0x10DD, 0x10D7, 0x20, 0x10E0, 0x10D4, 0x10D2, 0x10D8, 0x10E1, 0x10E2, 0x10E0, 0x10D0, 0x10EA, 0x10D8, 0x10D0, 0x20,
   1.228 +0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x2D, 0x10D8, 0x10E1, 0x20, 0x10DB, 0x10D4, 0x10D0, 0x10D7, 0x10D4,  // Unicode-.. .....
   1.229 +0x6, 0x10E1, 0x10D0, 0x10D4, 0x10E0, 0x10D7, 0x10D0, 0x10E8, 0x10DD, 0x10E0, 0x10D8, 0x10E1, 0x10DD, 0x20, 0x10D9, 0x10DD,
   1.230 +0x10DC, 0x10E4, 0x10D4, 0x10E0, 0x10D4, 0x10DC, 0x10EA, 0x10D8, 0x10D0, 0x10D6, 0x10D4, 0x20, 0x10D3, 0x10D0, 0x10E1, 0x10D0,
   1.231 +0x10E1, 0x10EC, 0x10E0, 0x10D4, 0x10D1, 0x10D0, 0x10D3, 0x2C, 0x20, 0x10E0, 0x10DD, 0x10DB, 0x10D4, 0x10DA, 0x10D8, 0x10EA,  // ......., .......
   1.232 +0x6, 0x10D2, 0x10D0, 0x10D8, 0x10DB, 0x10D0, 0x10E0, 0x10D7, 0x10D4, 0x10D1, 0x10D0, 0x20, 0x31, 0x30, 0x2D, 0x31,  // ........... 10-1
   1.233 +0x32, 0x20, 0x10DB, 0x10D0, 0x10E0, 0x10E2, 0x10E1, 0x2C, 0x20, 0x10E5, 0x2E, 0x20, 0x10DB, 0x10D0, 0x10D8, 0x10DC,  // 2 ....., .. ....
   1.234 +0x10EA, 0x10E8, 0x10D8, 0x2C, 0x20, 0x10D2, 0x10D4, 0x10E0, 0x10DB, 0x10D0, 0x10DC, 0x10D8, 0x10D0, 0x10E8, 0x10D8, 0x2E,  // ..., ...........
   1.235 +0x6, 0x10D9, 0x10DD, 0x10DC, 0x10E4, 0x10D4, 0x10E0, 0x10D4, 0x10DC, 0x10EA, 0x10D8, 0x10D0, 0x20, 0x10E8, 0x10D4, 0x10F0,
   1.236 +0x10D9, 0x10E0, 0x10D4, 0x10D1, 0x10E1, 0x20, 0x10D4, 0x10E0, 0x10D7, 0x10D0, 0x10D3, 0x20, 0x10DB, 0x10E1, 0x10DD, 0x10E4,
   1.237 +0x10DA, 0x10D8, 0x10DD, 0x10E1, 0x20, 0x10D4, 0x10E5, 0x10E1, 0x10DE, 0x10D4, 0x10E0, 0x10E2, 0x10D4, 0x10D1, 0x10E1, 0x20,
   1.238 +0x10D8, 0x10E1, 0x10D4, 0x10D7, 0x6, 0x10D3, 0x10D0, 0x10E0, 0x10D2, 0x10D4, 0x10D1, 0x10E8, 0x10D8, 0x20, 0x10E0, 0x10DD,
   1.239 +0x10D2, 0x10DD, 0x10E0, 0x10D8, 0x10EA, 0x10D0, 0x10D0, 0x20, 0x10D8, 0x10DC, 0x10E2, 0x10D4, 0x10E0, 0x10DC, 0x10D4, 0x10E2,
   1.240 +0x10D8, 0x20, 0x10D3, 0x10D0, 0x20, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x2D, 0x10D8, 0x2C, 0x6,  // . .. Unicode-.,.
   1.241 +0x10D8, 0x10DC, 0x10E2, 0x10D4, 0x10E0, 0x10DC, 0x10D0, 0x10EA, 0x10D8, 0x10DD, 0x10DC, 0x10D0, 0x10DA, 0x10D8, 0x10D6, 0x10D0,
   1.242 +0x10EA, 0x10D8, 0x10D0, 0x20, 0x10D3, 0x10D0, 0x20, 0x10DA, 0x10DD, 0x10D9, 0x10D0, 0x10DA, 0x10D8, 0x10D6, 0x10D0, 0x10EA,
   1.243 +0x10D8, 0x10D0, 0x2C, 0x20, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x2D, 0x10D8, 0x10E1, 0x6, 0x10D2,  // .., Unicode-....
   1.244 +0x10D0, 0x10DB, 0x10DD, 0x10E7, 0x10D4, 0x10DC, 0x10D4, 0x10D1, 0x10D0, 0x20, 0x10DD, 0x10DE, 0x10D4, 0x10E0, 0x10D0, 0x10EA,
   1.245 +0x10D8, 0x10E3, 0x10DA, 0x20, 0x10E1, 0x10D8, 0x10E1, 0x10E2, 0x10D4, 0x10DB, 0x10D4, 0x10D1, 0x10E1, 0x10D0, 0x2C, 0x20,  // ... ..........,
   1.246 +0x10D3, 0x10D0, 0x20, 0x10D2, 0x10D0, 0x10DB, 0x10DD, 0x10E7, 0x10D4, 0x10DC, 0x10D4, 0x10D1, 0x10D8, 0x10D7, 0x6, 0x10DE,
   1.247 +0x10E0, 0x10DD, 0x10D2, 0x10E0, 0x10D0, 0x10DB, 0x10D4, 0x10D1, 0x10E8, 0x10D8, 0x2C, 0x20, 0x10E8, 0x10E0, 0x10D8, 0x10E4,  // .........., ....
   1.248 +0x10E2, 0x10D4, 0x10D1, 0x10E8, 0x10D8, 0x2C, 0x20, 0x10E2, 0x10D4, 0x10E5, 0x10E1, 0x10E2, 0x10D4, 0x10D1, 0x10D8, 0x10E1,  // ....., .........
   1.249 +0x20, 0x10D3, 0x10D0, 0x10DB, 0x10E3, 0x10E8, 0x10D0, 0x10D5, 0x10D4, 0x10D1, 0x10D0, 0x10E1, 0x10D0, 0x20, 0x10D3, 0x10D0,
   1.250 +0x6, 0x10DB, 0x10E0, 0x10D0, 0x10D5, 0x10D0, 0x10DA, 0x10D4, 0x10DC, 0x10DD, 0x10D5, 0x10D0, 0x10DC, 0x20, 0x10D9, 0x10DD,
   1.251 +0x10DB, 0x10DE, 0x10D8, 0x10E3, 0x10E2, 0x10D4, 0x10E0, 0x10E3, 0x10DA, 0x20, 0x10E1, 0x10D8, 0x10E1, 0x10E2, 0x10D4, 0x10DB,
   1.252 +0x10D4, 0x10D1, 0x10E8, 0x10D8, 0x2E, 0x20, 0x20, 0x6, 0x10E0, 0x10DD, 0x10D3, 0x10D4, 0x10E1, 0x10D0, 0x10EA, 0x20,  // .....  ........
   1.253 +0x10DB, 0x10E1, 0x10DD, 0x10E4, 0x10DA, 0x10D8, 0x10DD, 0x10E1, 0x20, 0x10E3, 0x10E0, 0x10D7, 0x10D8, 0x10E0, 0x10D7, 0x10DD,
   1.254 +0x10D1, 0x10D0, 0x20, 0x10E1, 0x10E3, 0x10E0, 0x10E1, 0x2C, 0x20, 0x10D8, 0x10D2, 0x10D8, 0x20, 0x55, 0x6E, 0x69,  // .. ...., ... Uni
   1.255 +0x63, 0x6F, 0x64, 0x65, 0x2D, 0x10D8, 0x10E1, 0x20, 0x10D4, 0x10DC, 0x10D0, 0x10D6, 0x10D4, 0x6, 0x10DA, 0x10D0,  // code-.. ........
   1.256 +0x10DE, 0x10D0, 0x10E0, 0x10D0, 0x10D9, 0x10DD, 0x10D1, 0x10E1, 0x20, 0x20, 0x6, 0x6
   1.257 +}; // phew!
   1.258 +
   1.259 +const TInt UnicodeDataSize = sizeof(UnicodeData) / sizeof(UnicodeData[0]);
   1.260 +
   1.261 +static TBuf8<UnicodeDataSize * 2> CompressedData;
   1.262 +static TBuf16<UnicodeDataSize * 2> ExpandedData;
   1.263 +
   1.264 +static void PerformTestL(const TUint16* aData,TInt aDataSize,
   1.265 +						TBool aCompStreamOutput,TBool aCompStreamInput,TBool aCompBreak,
   1.266 +						TBool aExpStreamOutput,TBool aExpStreamInput,TBool aExpBreak)
   1.267 +	{
   1.268 +	test.Printf(_L("compress %d words from %s to %s in %s\n"),aDataSize,
   1.269 +				aCompStreamInput ? _S("stream") : _S("buffer"),
   1.270 +				aCompStreamOutput ? _S("stream") : _S("buffer"),
   1.271 +				aCompBreak ? _S("two sections") : _S("one section"));
   1.272 +
   1.273 +	// Compress
   1.274 +	TPtrC8 comp_input((const TUint8*)aData,aDataSize * 2);
   1.275 +	RDesReadStream comp_input_stream(comp_input);
   1.276 +	TMemoryStreamUnicodeSource comp_input_stream_source(comp_input_stream);
   1.277 +	TMemoryUnicodeSource comp_input_memory_source(aData);
   1.278 +	MUnicodeSource& comp_source = aCompStreamInput ? (MUnicodeSource&)comp_input_stream_source : (MUnicodeSource&)comp_input_memory_source;
   1.279 +	int comp_output_bytes = aCompBreak ? aDataSize / 3 : KMaxTInt;
   1.280 +	int in1 = 0, in2 = 0, out1 = 0, out2 = 0, out3 = 0;
   1.281 +	TUnicodeCompressor compressor;
   1.282 +	if (aCompStreamOutput)
   1.283 +		{
   1.284 +		RDesWriteStream comp_output_stream(CompressedData);
   1.285 +		compressor.CompressL(comp_output_stream,comp_source,comp_output_bytes,aDataSize,&out1,&in1);
   1.286 +		if (aCompBreak)
   1.287 +			compressor.CompressL(comp_output_stream,comp_source,KMaxTInt,aDataSize - in1,&out2,&in2);
   1.288 +		compressor.FlushL(comp_output_stream,KMaxTInt,out3);
   1.289 +		}
   1.290 +	else
   1.291 +		{
   1.292 +		TUint8* p = (TUint8*)CompressedData.Ptr();
   1.293 +		compressor.CompressL(p,comp_source,comp_output_bytes,aDataSize,&out1,&in1);
   1.294 +		if (aCompBreak)
   1.295 +			compressor.CompressL(p + out1,comp_source,KMaxTInt,aDataSize - in1,&out2,&in2);
   1.296 +		compressor.FlushL(p + out1 + out2,KMaxTInt,out3);
   1.297 +		}
   1.298 +	int compressed_size = out1 + out2 + out3;
   1.299 +	CompressedData.SetLength(compressed_size);
   1.300 +
   1.301 +	// Expand
   1.302 +	test.Printf(_L("expand %d bytes from %s to %s in %s\n"),compressed_size,
   1.303 +				aExpStreamInput ? _S("stream") : _S("buffer"),
   1.304 +				aExpStreamOutput ? _S("stream") : _S("buffer"),
   1.305 +				aExpBreak ? _S("two sections") : _S("one section"));
   1.306 +	TPtr8 exp_output((TUint8*)ExpandedData.Ptr(),aDataSize * 2);
   1.307 +	RDesWriteStream exp_output_stream(exp_output);
   1.308 +	TMemoryStreamUnicodeSink exp_output_stream_sink(exp_output_stream);
   1.309 +	TMemoryUnicodeSink exp_output_memory_sink((TUint16*)ExpandedData.Ptr());
   1.310 +	MUnicodeSink& exp_sink = aExpStreamOutput ? (MUnicodeSink&)exp_output_stream_sink : (MUnicodeSink&)exp_output_memory_sink;
   1.311 +	int exp_input_bytes = aExpBreak ? compressed_size / 3 : compressed_size;
   1.312 +	TUnicodeExpander expander;
   1.313 +	in1 = in2 = out1 = out2 = out3 = 0;
   1.314 +	if (aExpStreamInput)
   1.315 +		{
   1.316 +		RDesReadStream exp_input_stream1(CompressedData);
   1.317 +		(void)expander.ExpandedSizeL(exp_input_stream1, CompressedData.Length() );
   1.318 +		RDesReadStream exp_input_stream(CompressedData);
   1.319 +		TRAPD(r, expander.ExpandL(exp_sink,exp_input_stream,KMaxTInt,exp_input_bytes,&out1,&in1));
   1.320 +		test(r==KErrNone);
   1.321 +		if (aExpBreak)
   1.322 +			expander.ExpandL(exp_sink,exp_input_stream,KMaxTInt,compressed_size - exp_input_bytes,&out2,&in2);
   1.323 +		expander.FlushL(exp_sink,KMaxTInt,out3);
   1.324 +		}
   1.325 +	else
   1.326 +		{
   1.327 +		const TUint8* p = CompressedData.Ptr();
   1.328 +		expander.ExpandL(exp_sink,p,KMaxTInt,exp_input_bytes,&out1,&in1);
   1.329 +		if (aExpBreak)
   1.330 +			expander.ExpandL(exp_sink,p + in1,KMaxTInt,compressed_size - exp_input_bytes,&out2,&in2);
   1.331 +		expander.FlushL(exp_sink,KMaxTInt,out3);
   1.332 +		}
   1.333 +	int expanded_size = out1 + out2 + out3;
   1.334 +	ExpandedData.SetLength(expanded_size);
   1.335 +
   1.336 +	// Compare original data with data that was compressed then expanded.
   1.337 +	TPtrC16 original_data(aData,aDataSize);
   1.338 +	test(ExpandedData == original_data);
   1.339 +	}
   1.340 +
   1.341 +static const TUint16 UnicodeData2[] =
   1.342 +	{
   1.343 +	0x61, 0x62, 0x62, 0x2029
   1.344 +	};
   1.345 +const TInt UnicodeData2Size = sizeof(UnicodeData2) / sizeof(UnicodeData2[0]);
   1.346 +
   1.347 +/**
   1.348 +@SYMTestCaseID          SYSLIB-STORE-CT-1218
   1.349 +@SYMTestCaseDesc	    Tests for the defect number EDNATHE-4JYFYQ
   1.350 +@SYMTestPriority 	    High
   1.351 +@SYMTestActions  	    Compress and expand with a flush.Check for the integrity of the expanded data with the original data
   1.352 +@SYMTestExpectedResults Test must not fail
   1.353 +@SYMREQ                 REQ0000
   1.354 +*/
   1.355 +static void TestFlushL()
   1.356 +	{
   1.357 +	test.Next(_L(" @SYMTestCaseID:SYSLIB-STORE-CT-1218 "));
   1.358 +	test.Printf(_L("compress into too small buffer then flush (defect EDNATHE-4JYFYQ)\n"));
   1.359 +
   1.360 +	// Compress
   1.361 +	TMemoryUnicodeSource comp_source(UnicodeData2);
   1.362 +	int bytes_needed = TUnicodeCompressor::CompressedSizeL(comp_source,UnicodeData2Size);
   1.363 +	TUnicodeCompressor compressor;
   1.364 +	TUint8* p = (TUint8*)CompressedData.Ptr();
   1.365 +	int out1, out2;
   1.366 +	comp_source = TMemoryUnicodeSource(UnicodeData2); // reinitialise comp_source; pointer changed by CompressedSizeL
   1.367 +	compressor.CompressL(p,comp_source,bytes_needed - 1,UnicodeData2Size,&out1);
   1.368 +	compressor.FlushL(p + out1,KMaxTInt,out2);
   1.369 +	int compressed_size = out1 + out2;
   1.370 +	CompressedData.SetLength(compressed_size);
   1.371 +
   1.372 +	// Expand
   1.373 +	TMemoryUnicodeSink exp_sink((TUint16*)ExpandedData.Ptr());
   1.374 +	TUnicodeExpander expander;
   1.375 +	const TUint8* q = CompressedData.Ptr();
   1.376 +	expander.ExpandL(exp_sink,q,KMaxTInt,compressed_size,&out1);
   1.377 +	expander.FlushL(exp_sink,KMaxTInt,out2);
   1.378 +	int expanded_size = out1 + out2;
   1.379 +	ExpandedData.SetLength(expanded_size);
   1.380 +
   1.381 +	// Compare original data with data that was compressed then expanded.
   1.382 +	TPtrC16 original_data(UnicodeData2,UnicodeData2Size);
   1.383 +	test(ExpandedData == original_data);
   1.384 +	}
   1.385 +
   1.386 +void DoDEF113513L()
   1.387 +	{
   1.388 +	// Compress
   1.389 +	TBuf<2> unicodeBuf;
   1.390 +
   1.391 +	// To switch to iUnicodeMode = 1
   1.392 +	// Condition 1:
   1.393 +	//		DynamicWindowOffsetIndex(aCode)
   1.394 +	//		if (aCode < 0x0080)
   1.395 +	//      if (aCode >= 0x3400 && aCode <= 0xDFFF)
   1.396 +	//			return KErrNotFound;
   1.397 +	// Condition 2:
   1.398 +	//		if (aCode >= iStaticWindow[i] && aCode < iStaticWindow[i] + 128)
   1.399 +	// HandleUByteL conditions
   1.400 +	// aByte <= 0xDF || aByte >= 0xF3
   1.401 +	// aByte == UQU
   1.402 +	// aByte >= UC0 && aByte <= UC0 + 7
   1.403 +	// aByte >= UD0 && aByte <= UD0 + 7
   1.404 +	// aByte == UDX / 0xF1
   1.405 +	unicodeBuf.Append(0xDFFE);
   1.406 +	unicodeBuf.Append(0xDFFE);
   1.407 +
   1.408 +	TBuf8<20> compBuf;
   1.409 +	RDesWriteStream strm1(compBuf);
   1.410 +	strm1 << unicodeBuf;
   1.411 +
   1.412 +	strm1.CommitL();
   1.413 +	strm1.Close();
   1.414 +	//Corrupt the compressed data
   1.415 +	compBuf[2] = 0xF2;
   1.416 +	compBuf[3] = 0xF2;
   1.417 +
   1.418 +
   1.419 +	// Decompress
   1.420 +	TBuf<20> resBuf;
   1.421 +	RDesReadStream strm2(compBuf);
   1.422 +	strm2 >> resBuf;//Should not panic here!
   1.423 +	strm2.Close();
   1.424 +
   1.425 + 	}
   1.426 +
   1.427 + /**
   1.428 + @SYMTestCaseID			SYSLIB-STORE-UT-4004
   1.429 + @SYMTestCaseDesc		Test for DEF113513: "TUnicodeCompressor/Expander function should not panic unnecessary".
   1.430 + 						1) The test writes a unicode string to a stream, with a descriptor used as a stream store.
   1.431 + 						2) The test uses the overloaded "<<" operator, so the string will be compressed during the internalization.
   1.432 + 						3) Then the test corrupts the stream store (the descriptor) and attempts to externalize the string.
   1.433 + 						4) If the defect is fixed. the ">>" operator should not panic the test application.
   1.434 + @SYMTestPriority		Medium
   1.435 + @SYMTestActions		Test for DEF113513: "TUnicodeCompressor/Expander function should not panic unnecessary".
   1.436 + @SYMTestExpectedResults The test must not fail or panic
   1.437 + @SYMDEF
   1.438 + */
   1.439 + void DEF113513()
   1.440 + 	{
   1.441 + 	TRAPD(err, DoDEF113513L());
   1.442 + 	test(err == KErrCorrupt);
   1.443 + 	}
   1.444 +
   1.445 +
   1.446 +/**
   1.447 +@SYMTestCaseID          SYSLIB-STORE-CT-1217
   1.448 +@SYMTestCaseDesc	    Standard Unicode compression scheme test
   1.449 +@SYMTestPriority 	    High
   1.450 +@SYMTestActions  	    Attempt for compressing and expanding the data.Test for the integrity of expanded data with the original data.
   1.451 +@SYMTestExpectedResults Test must not fail
   1.452 +@SYMREQ                 REQ0000
   1.453 +*/
   1.454 +static void PerformTestsL()
   1.455 +	{
   1.456 +	const TUint16* data = NULL;
   1.457 +	int data_size = 0;
   1.458 +	int i;
   1.459 +
   1.460 +	test.Next(_L(" @SYMTestCaseID:SYSLIB-STORE-CT-1217 "));
   1.461 +
   1.462 +	// Iterate over all possible values of the 6 Boolean parameters to PerformTest, varying the start and size of the data
   1.463 +	for (i = 0; i < 64; i++)
   1.464 +		{
   1.465 +		int start = (9753 * (i % 7)) % UnicodeDataSize;
   1.466 +		data = UnicodeData + start;
   1.467 +		data_size = UnicodeDataSize - start;
   1.468 +
   1.469 +		PerformTestL(data,data_size,i & 32,i & 16,i & 8,i & 4,i & 2,i & 1);
   1.470 +		}
   1.471 +
   1.472 +	// Do everything again with zero and small amounts of data.
   1.473 +	for (i = 0; i < 64; i++)
   1.474 +		{
   1.475 +		int start = (7953 * (i % 7)) % UnicodeDataSize;
   1.476 +		data = UnicodeData + start;
   1.477 +		data_size = i % 9;
   1.478 +
   1.479 +		PerformTestL(data,data_size,i & 32,i & 16,i & 8,i & 4,i & 2,i & 1);
   1.480 +		}
   1.481 +
   1.482 +	// Do tests added in response to defects.
   1.483 +	TestFlushL();
   1.484 +	}
   1.485 +
   1.486 +static void SetupCleanup()
   1.487 +    {
   1.488 +	TheTrapCleanup = CTrapCleanup::New();
   1.489 +	test(TheTrapCleanup != NULL);
   1.490 +	TRAPD(r,\
   1.491 +		{\
   1.492 +		for (TInt i = KTestCleanupStack;i>0;i--)\
   1.493 +			CleanupStack::PushL((TAny*)1);\
   1.494 +		test(r == KErrNone);\
   1.495 +		CleanupStack::Pop(KTestCleanupStack);\
   1.496 +		});
   1.497 +	test(r == KErrNone);
   1.498 +	}
   1.499 +
   1.500 +
   1.501 +void DoPDEF112374L()
   1.502 +	{
   1.503 +	// Compress
   1.504 +	_LIT(KTestStr, "0123456789");
   1.505 +	TBuf8<20> compBuf;
   1.506 +	RDesWriteStream strm1(compBuf);
   1.507 +	strm1 << KTestStr;
   1.508 +	strm1.CommitL();
   1.509 +	strm1.Close();
   1.510 +	//Corrupt the compressed data
   1.511 +	compBuf[0] = 0x0C;
   1.512 +	compBuf[1] = 0x0C;
   1.513 +	// Decompress
   1.514 +	TBuf<20> resBuf;
   1.515 +	RDesReadStream strm2(compBuf);
   1.516 +	strm2 >> resBuf;//Should not panic here!
   1.517 +	strm2.Close();
   1.518 +	}
   1.519 +
   1.520 +/**
   1.521 +@SYMTestCaseID			SYSLIB-STORE-UT-4001
   1.522 +@SYMTestCaseDesc		Test for PDEF112374: "LIBmm54818 Remove/re-insert SIM, DUT reboot incorrectly and crash detected".
   1.523 +						1) The test writes a unicode string to a stream, with a descriptor used as a stream store.
   1.524 +						2) The test uses the overloaded "<<" operator, so the string will be compressed during the internalization.
   1.525 +						3) Then the test corrupts the stream store (the descriptor) and attempts to externalize the string.
   1.526 +						4) If the defect is fixed. the ">>" operator should not panic the test application.
   1.527 +@SYMTestPriority		Medium
   1.528 +@SYMTestActions			Test for PDEF112374: "LIBmm54818 Remove/re-insert SIM, DUT reboot incorrectly and crash detected".
   1.529 +@SYMTestExpectedResults The test must not fail or panic
   1.530 +@SYMDEF					PDEF112374
   1.531 +*/
   1.532 +void PDEF112374()
   1.533 +	{
   1.534 +	TRAPD(err, DoPDEF112374L())
   1.535 +	test(err == KErrCorrupt);
   1.536 +	}
   1.537 +
   1.538 +#endif
   1.539 +
   1.540 +TInt E32Main()
   1.541 +    {
   1.542 +#ifdef _UNICODE
   1.543 +	test.Title();
   1.544 +	SetupCleanup();
   1.545 +	__UHEAP_MARK;
   1.546 +	test.Start(_L("test the Standard Compression Scheme for Unicode"));
   1.547 +	TRAPD(err, PerformTestsL());
   1.548 +	test(err == KErrNone);
   1.549 +	test.Next(_L(" @SYMTestCaseID:SYSLIB-STORE-UT-4001 PDEF112374: LIBmm54818 Remove/re-insert SIM, DUT reboot incorrectly and crash detected "));
   1.550 +	PDEF112374();
   1.551 +
   1.552 +	test.Next(_L(" @SYMTestCaseID:SYSLIB-STORE-UT-4004 DEF113513: TUnicodeCompressor/Expander function should not panic unnecessary "));
   1.553 +	DEF113513();
   1.554 +
   1.555 +
   1.556 +test.End();
   1.557 +	__UHEAP_MARKEND;
   1.558 +	delete TheTrapCleanup;
   1.559 +	test.Close();
   1.560 +#endif
   1.561 +	return 0;
   1.562 +    }