From 794624ca474a50c042554b5dc668558b1adb5288 Mon Sep 17 00:00:00 2001 From: Vance Shipley Date: Wed, 9 Mar 2011 03:06:05 +0100 Subject: [PATCH] Initial import of MAP project from Motivity. --- MAP/Makefile | 17 + MAP/asn_src/GSM/MAP-ApplicationContexts.asn | 168 + MAP/asn_src/GSM/MAP-BS-Code.asn | 165 + MAP/asn_src/GSM/MAP-CH-DataTypes.asn | 393 ++ .../GSM/MAP-CallHandlingOperations.asn | 123 + MAP/asn_src/GSM/MAP-CommonDataTypes.asn | 449 ++ MAP/asn_src/GSM/MAP-DialogueInformation.asn | 114 + MAP/asn_src/GSM/MAP-ER-DataTypes.asn | 332 ++ MAP/asn_src/GSM/MAP-Errors.asn | 358 ++ MAP/asn_src/GSM/MAP-ExtensionDataTypes.asn | 39 + MAP/asn_src/GSM/MAP-GR-DataTypes.asn | 101 + MAP/asn_src/GSM/MAP-Group-Call-Operations.asn | 45 + MAP/asn_src/GSM/MAP-LCS-DataTypes.asn | 370 ++ .../GSM/MAP-LocationServiceOperations.asn | 56 + MAP/asn_src/GSM/MAP-MS-DataTypes.asn | 2123 +++++++ .../GSM/MAP-MobileServiceOperations.asn | 287 + MAP/asn_src/GSM/MAP-OM-DataTypes.asn | 49 + .../MAP-OperationAndMaintenanceOperations.asn | 51 + MAP/asn_src/GSM/MAP-OperationPackages.asn | 371 ++ MAP/asn_src/GSM/MAP-Protocol.asn | 106 + MAP/asn_src/GSM/MAP-SM-DataTypes.asn | 189 + MAP/asn_src/GSM/MAP-SS-Code.asn | 260 + MAP/asn_src/GSM/MAP-SS-DataTypes.asn | 270 + MAP/asn_src/GSM/MAP-ST-DataTypes.asn | 84 + .../GSM/MAP-SecureTransportOperations.asn | 52 + .../GSM/MAP-ShortMessageServiceOperations.asn | 88 + .../MAP-SupplementaryServiceOperations.asn | 154 + MAP/asn_src/GSM/MAP-TS-Code.asn | 108 + MAP/asn_src/GSM/Makefile | 119 + MAP/asn_src/GSM/MobileDomainDefinitions.asn | 35 + MAP/asn_src/GSM/README | 7 + MAP/asn_src/Makefile | 5 + MAP/doc/Makefile | 13 + MAP/doc/html/Makefile | 31 + MAP/doc/html/index.html | 106 + MAP/doc/html/map_messaging.png | Bin 0 -> 89579 bytes MAP/doc/html/map_supervision.png | Bin 0 -> 127410 bytes MAP/doc/map_messaging.graffle | 4860 +++++++++++++++++ MAP/doc/map_supervision.graffle | 3602 ++++++++++++ MAP/ebin/map.app | 9 + MAP/src/Makefile | 36 + MAP/src/gsm/Makefile | 35 + MAP/src/gsm/map_dsm_fsm.erl | 684 +++ MAP/src/gsm/map_load_fsm.erl | 92 + MAP/src/map.erl | 116 + MAP/src/map_app.erl | 80 + MAP/src/map_pm_sup.erl | 44 + MAP/src/map_sup.erl | 45 + 48 files changed, 16841 insertions(+) create mode 100644 MAP/Makefile create mode 100644 MAP/asn_src/GSM/MAP-ApplicationContexts.asn create mode 100644 MAP/asn_src/GSM/MAP-BS-Code.asn create mode 100644 MAP/asn_src/GSM/MAP-CH-DataTypes.asn create mode 100644 MAP/asn_src/GSM/MAP-CallHandlingOperations.asn create mode 100644 MAP/asn_src/GSM/MAP-CommonDataTypes.asn create mode 100644 MAP/asn_src/GSM/MAP-DialogueInformation.asn create mode 100644 MAP/asn_src/GSM/MAP-ER-DataTypes.asn create mode 100644 MAP/asn_src/GSM/MAP-Errors.asn create mode 100644 MAP/asn_src/GSM/MAP-ExtensionDataTypes.asn create mode 100644 MAP/asn_src/GSM/MAP-GR-DataTypes.asn create mode 100644 MAP/asn_src/GSM/MAP-Group-Call-Operations.asn create mode 100644 MAP/asn_src/GSM/MAP-LCS-DataTypes.asn create mode 100644 MAP/asn_src/GSM/MAP-LocationServiceOperations.asn create mode 100644 MAP/asn_src/GSM/MAP-MS-DataTypes.asn create mode 100644 MAP/asn_src/GSM/MAP-MobileServiceOperations.asn create mode 100644 MAP/asn_src/GSM/MAP-OM-DataTypes.asn create mode 100644 MAP/asn_src/GSM/MAP-OperationAndMaintenanceOperations.asn create mode 100644 MAP/asn_src/GSM/MAP-OperationPackages.asn create mode 100644 MAP/asn_src/GSM/MAP-Protocol.asn create mode 100644 MAP/asn_src/GSM/MAP-SM-DataTypes.asn create mode 100644 MAP/asn_src/GSM/MAP-SS-Code.asn create mode 100644 MAP/asn_src/GSM/MAP-SS-DataTypes.asn create mode 100644 MAP/asn_src/GSM/MAP-ST-DataTypes.asn create mode 100644 MAP/asn_src/GSM/MAP-SecureTransportOperations.asn create mode 100644 MAP/asn_src/GSM/MAP-ShortMessageServiceOperations.asn create mode 100644 MAP/asn_src/GSM/MAP-SupplementaryServiceOperations.asn create mode 100644 MAP/asn_src/GSM/MAP-TS-Code.asn create mode 100644 MAP/asn_src/GSM/Makefile create mode 100644 MAP/asn_src/GSM/MobileDomainDefinitions.asn create mode 100644 MAP/asn_src/GSM/README create mode 100644 MAP/asn_src/Makefile create mode 100644 MAP/doc/Makefile create mode 100644 MAP/doc/html/Makefile create mode 100644 MAP/doc/html/index.html create mode 100644 MAP/doc/html/map_messaging.png create mode 100644 MAP/doc/html/map_supervision.png create mode 100644 MAP/doc/map_messaging.graffle create mode 100644 MAP/doc/map_supervision.graffle create mode 100644 MAP/ebin/map.app create mode 100644 MAP/src/Makefile create mode 100644 MAP/src/gsm/Makefile create mode 100644 MAP/src/gsm/map_dsm_fsm.erl create mode 100644 MAP/src/gsm/map_load_fsm.erl create mode 100644 MAP/src/map.erl create mode 100644 MAP/src/map_app.erl create mode 100644 MAP/src/map_pm_sup.erl create mode 100644 MAP/src/map_sup.erl diff --git a/MAP/Makefile b/MAP/Makefile new file mode 100644 index 0000000..1c09b39 --- /dev/null +++ b/MAP/Makefile @@ -0,0 +1,17 @@ + +.PHONY: all +all: + cd asn_src && $(MAKE) + cd src && $(MAKE) + cd doc && $(MAKE) + +.PHONY: doc +doc: + cd doc && $(MAKE) $@ + +.PHONY: clean +clean: + cd asn_src && $(MAKE) $@ + cd src && $(MAKE) $@ + cd doc && $(MAKE) $@ + diff --git a/MAP/asn_src/GSM/MAP-ApplicationContexts.asn b/MAP/asn_src/GSM/MAP-ApplicationContexts.asn new file mode 100644 index 0000000..ad6b096 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-ApplicationContexts.asn @@ -0,0 +1,168 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-ApplicationContexts {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ApplicationContexts(2) + version8(8)} DEFINITIONS ::= +BEGIN + +-- EXPORTS everything +IMPORTS + gsm-NetworkId, ac-Id + FROM MobileDomainDefinitions {itu-t(0) identified-organization(4) + etsi(0) mobileDomain(0) mobileDomainDefinitions(0) version1(1)}; + +-- application-context-names +map-ac OBJECT IDENTIFIER ::= {gsm-NetworkId ac-Id} + +networkLocUpContext-v3 OBJECT IDENTIFIER ::= + {map-ac networkLocUp(1) version3(3)} + +locationCancellationContext-v3 OBJECT IDENTIFIER ::= + {map-ac locationCancel(2) version3(3)} + +roamingNumberEnquiryContext-v3 OBJECT IDENTIFIER ::= + {map-ac roamingNbEnquiry(3) version3(3)} + +authenticationFailureReportContext-v3 OBJECT IDENTIFIER ::= + {map-ac authenticationFailureReport(39) version3(3)} + +locationInfoRetrievalContext-v3 OBJECT IDENTIFIER ::= + {map-ac locInfoRetrieval(5) version3(3)} + +resetContext-v2 OBJECT IDENTIFIER ::= {map-ac reset(10) version2(2)} + +handoverControlContext-v3 OBJECT IDENTIFIER ::= + {map-ac handoverControl(11) version3(3)} + +equipmentMngtContext-v3 OBJECT IDENTIFIER ::= + {map-ac equipmentMngt(13) version3(3)} + +infoRetrievalContext-v3 OBJECT IDENTIFIER ::= + {map-ac infoRetrieval(14) version3(3)} + +interVlrInfoRetrievalContext-v3 OBJECT IDENTIFIER ::= + {map-ac interVlrInfoRetrieval(15) version3(3)} + +subscriberDataMngtContext-v3 OBJECT IDENTIFIER ::= + {map-ac subscriberDataMngt(16) version3(3)} + +tracingContext-v3 OBJECT IDENTIFIER ::= {map-ac tracing(17) version3(3)} + +networkFunctionalSsContext-v2 OBJECT IDENTIFIER ::= + {map-ac networkFunctionalSs(18) version2(2)} + +networkUnstructuredSsContext-v2 OBJECT IDENTIFIER ::= + {map-ac networkUnstructuredSs(19) version2(2)} + +shortMsgGatewayContext-v3 OBJECT IDENTIFIER ::= + {map-ac shortMsgGateway(20) version3(3)} + +shortMsgMO-RelayContext-v3 OBJECT IDENTIFIER ::= + {map-ac shortMsgMO-Relay(21) version3(3)} + +shortMsgAlertContext-v2 OBJECT IDENTIFIER ::= + {map-ac shortMsgAlert(23) version2(2)} + +mwdMngtContext-v3 OBJECT IDENTIFIER ::= {map-ac mwdMngt(24) version3(3)} + +shortMsgMT-RelayContext-v3 OBJECT IDENTIFIER ::= + {map-ac shortMsgMT-Relay(25) version3(3)} + +imsiRetrievalContext-v2 OBJECT IDENTIFIER ::= + {map-ac imsiRetrieval(26) version2(2)} + +msPurgingContext-v3 OBJECT IDENTIFIER ::= {map-ac msPurging(27) version3(3)} + +subscriberInfoEnquiryContext-v3 OBJECT IDENTIFIER ::= + {map-ac subscriberInfoEnquiry(28) version3(3)} + +anyTimeInfoEnquiryContext-v3 OBJECT IDENTIFIER ::= + {map-ac anyTimeInfoEnquiry(29) version3(3)} + +callControlTransferContext-v4 OBJECT IDENTIFIER ::= + {map-ac callControlTransfer(6) version4(4)} + +ss-InvocationNotificationContext-v3 OBJECT IDENTIFIER ::= + {map-ac ss-InvocationNotification(36) version3(3)} + +sIWFSAllocationContext-v3 OBJECT IDENTIFIER ::= + {map-ac sIWFSAllocation(12) version3(3)} + +groupCallControlContext-v3 OBJECT IDENTIFIER ::= + {map-ac groupCallControl(31) version3(3)} + +gprsLocationUpdateContext-v3 OBJECT IDENTIFIER ::= + {map-ac gprsLocationUpdate(32) version3(3)} + +gprsLocationInfoRetrievalContext-v4 OBJECT IDENTIFIER ::= + {map-ac gprsLocationInfoRetrieval(33) version4(4)} + +failureReportContext-v3 OBJECT IDENTIFIER ::= + {map-ac failureReport(34) version3(3)} + +gprsNotifyContext-v3 OBJECT IDENTIFIER ::= {map-ac gprsNotify(35) version3(3)} + +reportingContext-v3 OBJECT IDENTIFIER ::= {map-ac reporting(7) version3(3)} + +callCompletionContext-v3 OBJECT IDENTIFIER ::= + {map-ac callCompletion(8) version3(3)} + +istAlertingContext-v3 OBJECT IDENTIFIER ::= {map-ac istAlerting(4) version3(3)} + +serviceTerminationContext-v3 OBJECT IDENTIFIER ::= + {map-ac immediateTermination(9) version3(3)} + +locationSvcGatewayContext-v3 OBJECT IDENTIFIER ::= + {map-ac locationSvcGateway(37) version3(3)} + +locationSvcEnquiryContext-v3 OBJECT IDENTIFIER ::= + {map-ac locationSvcEnquiry(38) version3(3)} + +mm-EventReportingContext-v3 OBJECT IDENTIFIER ::= + {map-ac mm-EventReporting(42) version3(3)} + +anyTimeInfoHandlingContext-v3 OBJECT IDENTIFIER ::= + {map-ac anyTimeInfoHandling(43) version3(3)} + +subscriberDataModificationNotificationContext-v3 OBJECT IDENTIFIER ::= + {map-ac subscriberDataModificationNotification(22) version3(3)} + +secureTransportHandlingContext-v3 OBJECT IDENTIFIER ::= + {map-ac secureTransportHandling(40) version3(3)} + +-- The following Object Identifiers are reserved for application-contexts +-- existing in previous versions of the protocol +-- AC Name & Version Object Identifier +-- +-- networkLocUpContext-v1 map-ac networkLocUp (1) version1 (1) +-- networkLocUpContext-v2 map-ac networkLocUp (1) version2 (2) +-- locationCancellationContext-v1 map-ac locationCancellation (2) version1 (1) +-- locationCancellationContext-v2 map-ac locationCancellation (2) version2 (2) +-- roamingNumberEnquiryContext-v1 map-ac roamingNumberEnquiry (3) version1 (1) +-- roamingNumberEnquiryContext-v2 map-ac roamingNumberEnquiry (3) version2 (2) +-- locationInfoRetrievalContext-v1 map-ac locationInfoRetrieval (5) version1 (1) +-- locationInfoRetrievalContext-v2 map-ac locationInfoRetrieval (5) version2 (2) +-- resetContext-v1 map-ac reset (10) version1 (1) +-- handoverControlContext-v1 map-ac handoverControl (11) version1 (1) +-- handoverControlContext-v2 map-ac handoverControl (11) version2 (2) +-- equipmentMngtContext-v1 map-ac equipmentMngt (13) version1 (1) +-- equipmentMngtContext-v2 map-ac equipmentMngt (13) version2 (2) +-- infoRetrievalContext-v1 map-ac infoRetrieval (14) version1 (1) +-- infoRetrievalContext-v2 map-ac infoRetrieval (14) version2 (2) +-- interVlrInfoRetrievalContext-v2 map-ac interVlrInfoRetrieval (15) version2 (2) +-- subscriberDataMngtContext-v1 map-ac subscriberDataMngt (16) version1 (1) +-- subscriberDataMngtContext-v2 map-ac subscriberDataMngt (16) version2 (2) +-- tracingContext-v1 map-ac tracing (17) version1 (1) +-- tracingContext-v2 map-ac tracing (17) version2 (2) +-- networkFunctionalSsContext-v1 map-ac networkFunctionalSs (18) version1 (1) +-- shortMsgGatewayContext-v1 map-ac shortMsgGateway (20) version1 (1) +-- shortMsgGatewayContext-v2 map-ac shortMsgGateway (20) version2 (2) +-- shortMsgRelayContext-v1 map-ac shortMsgRelay (21) version1 (1) +-- shortMsgAlertContext-v1 map-ac shortMsgAlert (23) version1 (1) +-- mwdMngtContext-v1 map-ac mwdMngt (24) version1 (1) +-- mwdMngtContext-v2 map-ac mwdMngt (24) version2 (2) +-- shortMsgMT-RelayContext-v2 map-ac shortMsgMT-Relay (25) version2 (2) +-- msPurgingContext-v2 map-ac msPurging (27) version2 (2) +-- callControlTransferContext-v3 map-ac callControlTransferContext (6) version3 (3) +-- gprsLocationInfoRetrievalContext-v3 map-ac gprsLocationInfoRetrievalContext (33) version3 (3) +END + diff --git a/MAP/asn_src/GSM/MAP-BS-Code.asn b/MAP/asn_src/GSM/MAP-BS-Code.asn new file mode 100644 index 0000000..d370773 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-BS-Code.asn @@ -0,0 +1,165 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-BS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-BS-Code(20) version8(8)} DEFINITIONS ::= +BEGIN + +BearerServiceCode ::= OCTET STRING(SIZE (1)) + +-- This type is used to represent the code identifying a single +-- bearer service, a group of bearer services, or all bearer +-- services. The services are defined in TS 3GPP TS 22.002 [3]. +-- The internal structure is defined as follows: +-- +-- plmn-specific bearer services: +-- bits 87654321: defined by the HPLMN operator +-- rest of bearer services: +-- bit 8: 0 (unused) +-- bits 7654321: group (bits 7654), and rate, if applicable +-- (bits 321) +Ext-BearerServiceCode ::= OCTET STRING(SIZE (1..5)) + +-- This type is used to represent the code identifying a single +-- bearer service, a group of bearer services, or all bearer +-- services. The services are defined in TS 3GPP TS 22.002 [3]. +-- The internal structure is defined as follows: +-- +-- OCTET 1: +-- plmn-specific bearer services: +-- bits 87654321: defined by the HPLMN operator +-- +-- rest of bearer services: +-- bit 8: 0 (unused) +-- bits 7654321: group (bits 7654), and rate, if applicable +-- (bits 321) +-- OCTETS 2-5: reserved for future use. If received the +-- Ext-TeleserviceCode shall be +-- treated according to the exception handling defined for the +-- operation that uses this type. +-- Ext-BearerServiceCode includes all values defined for BearerServiceCode. +allBearerServices BearerServiceCode ::= + '00000000'B + +allDataCDA-Services BearerServiceCode ::= '00010000'B + +dataCDA-300bps BearerServiceCode ::= '00010001'B + +dataCDA-1200bps BearerServiceCode ::= '00010010'B + +dataCDA-1200-75bps BearerServiceCode ::= '00010011'B + +dataCDA-2400bps BearerServiceCode ::= '00010100'B + +dataCDA-4800bps BearerServiceCode ::= '00010101'B + +dataCDA-9600bps BearerServiceCode ::= '00010110'B + +general-dataCDA BearerServiceCode ::= '00010111'B + +allDataCDS-Services BearerServiceCode ::= '00011000'B + +dataCDS-1200bps BearerServiceCode ::= '00011010'B + +dataCDS-2400bps BearerServiceCode ::= '00011100'B + +dataCDS-4800bps BearerServiceCode ::= '00011101'B + +dataCDS-9600bps BearerServiceCode ::= '00011110'B + +general-dataCDS BearerServiceCode ::= '00011111'B + +allPadAccessCA-Services BearerServiceCode ::= '00100000'B + +padAccessCA-300bps BearerServiceCode ::= '00100001'B + +padAccessCA-1200bps BearerServiceCode ::= '00100010'B + +padAccessCA-1200-75bps BearerServiceCode ::= '00100011'B + +padAccessCA-2400bps BearerServiceCode ::= '00100100'B + +padAccessCA-4800bps BearerServiceCode ::= '00100101'B + +padAccessCA-9600bps BearerServiceCode ::= '00100110'B + +general-padAccessCA BearerServiceCode ::= '00100111'B + +allDataPDS-Services BearerServiceCode ::= '00101000'B + +dataPDS-2400bps BearerServiceCode ::= '00101100'B + +dataPDS-4800bps BearerServiceCode ::= '00101101'B + +dataPDS-9600bps BearerServiceCode ::= '00101110'B + +general-dataPDS BearerServiceCode ::= '00101111'B + +allAlternateSpeech-DataCDA BearerServiceCode ::= '00110000'B + +allAlternateSpeech-DataCDS BearerServiceCode ::= '00111000'B + +allSpeechFollowedByDataCDA BearerServiceCode ::= '01000000'B + +allSpeechFollowedByDataCDS BearerServiceCode ::= '01001000'B + +-- The following non-hierarchical Compound Bearer Service +-- Groups are defined in TS 3GPP TS 22.030: +allDataCircuitAsynchronous BearerServiceCode ::= + '01010000'B + +-- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA" and +-- "allSpeechFollowedByDataCDA" +allAsynchronousServices BearerServiceCode ::= + '01100000'B + +-- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA", +-- "allSpeechFollowedByDataCDA" and "allPadAccessCDA-Services" +allDataCircuitSynchronous BearerServiceCode ::= + '01011000'B + +-- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS" and +-- "allSpeechFollowedByDataCDS" +allSynchronousServices BearerServiceCode ::= + '01101000'B + +-- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS", +-- "allSpeechFollowedByDataCDS" and "allDataPDS-Services" +-- +-- Compound Bearer Service Group Codes are only used in call +-- independent supplementary service operations, i.e. they +-- are not used in InsertSubscriberData or in +-- DeleteSubscriberData messages. +allPLMN-specificBS BearerServiceCode ::= + '11010000'B + +plmn-specificBS-1 BearerServiceCode ::= '11010001'B + +plmn-specificBS-2 BearerServiceCode ::= '11010010'B + +plmn-specificBS-3 BearerServiceCode ::= '11010011'B + +plmn-specificBS-4 BearerServiceCode ::= '11010100'B + +plmn-specificBS-5 BearerServiceCode ::= '11010101'B + +plmn-specificBS-6 BearerServiceCode ::= '11010110'B + +plmn-specificBS-7 BearerServiceCode ::= '11010111'B + +plmn-specificBS-8 BearerServiceCode ::= '11011000'B + +plmn-specificBS-9 BearerServiceCode ::= '11011001'B + +plmn-specificBS-A BearerServiceCode ::= '11011010'B + +plmn-specificBS-B BearerServiceCode ::= '11011011'B + +plmn-specificBS-C BearerServiceCode ::= '11011100'B + +plmn-specificBS-D BearerServiceCode ::= '11011101'B + +plmn-specificBS-E BearerServiceCode ::= '11011110'B + +plmn-specificBS-F BearerServiceCode ::= '11011111'B + +END + diff --git a/MAP/asn_src/GSM/MAP-CH-DataTypes.asn b/MAP/asn_src/GSM/MAP-CH-DataTypes.asn new file mode 100644 index 0000000..0e5fef0 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-CH-DataTypes.asn @@ -0,0 +1,393 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-CH-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-CH-DataTypes(13) version8(8)} DEFINITIONS +IMPLICIT TAGS ::= +BEGIN + +EXPORTS + SendRoutingInfoArg, SendRoutingInfoRes, ProvideRoamingNumberArg, + ProvideRoamingNumberRes, ResumeCallHandlingArg, ResumeCallHandlingRes, + NumberOfForwarding, SuppressionOfAnnouncement, CallReferenceNumber, + ProvideSIWFSNumberArg, ProvideSIWFSNumberRes, SIWFSSignallingModifyArg, + SIWFSSignallingModifyRes, SetReportingStateArg, SetReportingStateRes, + StatusReportArg, StatusReportRes, RemoteUserFreeArg, RemoteUserFreeRes, + IST-AlertArg, IST-AlertRes, IST-CommandArg, IST-CommandRes; + +IMPORTS + SubscriberInfo, SupportedCamelPhases, OfferedCamel4CSIs, CUG-Interlock, + O-CSI, D-CSI, O-BcsmCamelTDPCriteriaList, T-BCSM-CAMEL-TDP-CriteriaList, + IST-SupportIndicator, IST-AlertTimerValue, T-CSI + FROM MAP-MS-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-MS-DataTypes(11) + version8(8)} + ForwardingOptions, SS-List, CCBS-Feature + FROM MAP-SS-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-SS-DataTypes(14) + version8(8)} + ISDN-AddressString, ISDN-SubaddressString, FTN-AddressString, + ExternalSignalInfo, Ext-ExternalSignalInfo, IMSI, LMSI, + Ext-BasicServiceCode, AlertingPattern, NAEA-PreferredCI + FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18) + version8(8)} + ExtensionContainer + FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21) + version8(8)}; + +CUG-CheckInfo ::= SEQUENCE { + cug-Interlock CUG-Interlock, + cug-OutgoingAccess NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +NumberOfForwarding ::= INTEGER(1..5) + +SendRoutingInfoArg ::= SEQUENCE { + msisdn [0] ISDN-AddressString, + cug-CheckInfo [1] CUG-CheckInfo OPTIONAL, + numberOfForwarding [2] NumberOfForwarding OPTIONAL, + interrogationType [3] InterrogationType, + or-Interrogation [4] NULL OPTIONAL, + or-Capability [5] OR-Phase OPTIONAL, + gmsc-OrGsmSCF-Address [6] ISDN-AddressString, + callReferenceNumber [7] CallReferenceNumber OPTIONAL, + forwardingReason [8] ForwardingReason OPTIONAL, + basicServiceGroup [9] Ext-BasicServiceCode OPTIONAL, + networkSignalInfo [10] ExternalSignalInfo OPTIONAL, + camelInfo [11] CamelInfo OPTIONAL, + suppressionOfAnnouncement [12] SuppressionOfAnnouncement OPTIONAL, + extensionContainer [13] ExtensionContainer OPTIONAL, + ..., + alertingPattern [14] AlertingPattern OPTIONAL, + ccbs-Call [15] NULL OPTIONAL, + supportedCCBS-Phase [16] SupportedCCBS-Phase OPTIONAL, + additionalSignalInfo [17] Ext-ExternalSignalInfo OPTIONAL, + istSupportIndicator [18] IST-SupportIndicator OPTIONAL, + pre-pagingSupported [19] NULL OPTIONAL, + callDiversionTreatmentIndicator + [20] CallDiversionTreatmentIndicator OPTIONAL, + longFTN-Supported [21] NULL OPTIONAL, + suppress-VT-CSI [22] NULL OPTIONAL, + suppressIncomingCallBarring [23] NULL OPTIONAL, + gsmSCF-InitiatedCall [24] NULL OPTIONAL} + +SuppressionOfAnnouncement ::= NULL + +InterrogationType ::= ENUMERATED {basicCall(0), forwarding(1)} + +OR-Phase ::= INTEGER(1..127) + +CallReferenceNumber ::= OCTET STRING(SIZE (1..8)) + +ForwardingReason ::= ENUMERATED {notReachable(0), busy(1), noReply(2)} + +SupportedCCBS-Phase ::= INTEGER(1..127) + +-- exception handling: +-- Only value 1 is used. +-- Values in the ranges 2-127 are reserved for future use. +-- If received values 2-127 shall be mapped on to value 1. +CallDiversionTreatmentIndicator ::= OCTET STRING(SIZE (1)) + +-- callDiversionAllowed (xxxx xx01) +-- callDiversionNotAllowed (xxxx xx10) +-- network default is call diversion allowed +SendRoutingInfoRes ::= [3] SEQUENCE { + imsi [9] IMSI OPTIONAL, + -- IMSI must be present if SendRoutingInfoRes is not segmented. + -- If the TC-Result-NL segmentation option is taken the IMSI must be + -- present in one segmented transmission of SendRoutingInfoRes. + extendedRoutingInfo ExtendedRoutingInfo OPTIONAL, + cug-CheckInfo [3] CUG-CheckInfo OPTIONAL, + cugSubscriptionFlag [6] NULL OPTIONAL, + subscriberInfo [7] SubscriberInfo OPTIONAL, + ss-List [1] SS-List OPTIONAL, + basicService [5] Ext-BasicServiceCode OPTIONAL, + forwardingInterrogationRequired [4] NULL OPTIONAL, + vmsc-Address [2] ISDN-AddressString OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ..., + naea-PreferredCI [10] NAEA-PreferredCI OPTIONAL, + -- naea-PreferredCI is included at the discretion of the HLR operator. + ccbs-Indicators [11] CCBS-Indicators OPTIONAL, + msisdn [12] ISDN-AddressString OPTIONAL, + numberPortabilityStatus [13] NumberPortabilityStatus OPTIONAL, + istAlertTimer [14] IST-AlertTimerValue OPTIONAL, + supportedCamelPhasesInVMSC [15] SupportedCamelPhases OPTIONAL, + offeredCamel4CSIsInVMSC [16] OfferedCamel4CSIs OPTIONAL} + +NumberPortabilityStatus ::= ENUMERATED { + notKnownToBePorted(0), ownNumberPortedOut(1), + foreignNumberPortedToForeignNetwork(2), ... + } + +-- exception handling: +-- reception of other values than the ones listed the receiver shall ignore the +-- whole NumberPortabilityStatus +CCBS-Indicators ::= SEQUENCE { + ccbs-Possible [0] NULL OPTIONAL, + keepCCBS-CallIndicator [1] NULL OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +RoutingInfo ::= CHOICE { + roamingNumber ISDN-AddressString, + forwardingData ForwardingData} + +ForwardingData ::= SEQUENCE { + forwardedToNumber [5] ISDN-AddressString OPTIONAL, + -- When this datatype is sent from an HLR which supports CAMEL Phase 2 + -- to a GMSC which supports CAMEL Phase 2 the GMSC shall not check the + -- format of the number + forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL, + forwardingOptions [6] ForwardingOptions OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ..., + longForwardedToNumber [8] FTN-AddressString OPTIONAL} + +ProvideRoamingNumberArg ::= SEQUENCE { + imsi [0] IMSI, + msc-Number [1] ISDN-AddressString, + msisdn [2] ISDN-AddressString OPTIONAL, + lmsi [4] LMSI OPTIONAL, + gsm-BearerCapability [5] ExternalSignalInfo OPTIONAL, + networkSignalInfo [6] ExternalSignalInfo OPTIONAL, + suppressionOfAnnouncement + [7] SuppressionOfAnnouncement OPTIONAL, + gmsc-Address [8] ISDN-AddressString OPTIONAL, + callReferenceNumber [9] CallReferenceNumber OPTIONAL, + or-Interrogation [10] NULL OPTIONAL, + extensionContainer [11] ExtensionContainer OPTIONAL, + ..., + alertingPattern [12] AlertingPattern OPTIONAL, + ccbs-Call [13] NULL OPTIONAL, + supportedCamelPhasesInInterrogatingNode + [15] SupportedCamelPhases OPTIONAL, + additionalSignalInfo + [14] Ext-ExternalSignalInfo OPTIONAL, + orNotSupportedInGMSC [16] NULL OPTIONAL, + pre-pagingSupported [17] NULL OPTIONAL, + longFTN-Supported [18] NULL OPTIONAL, + suppress-VT-CSI [19] NULL OPTIONAL, + offeredCamel4CSIsInInterrogatingNode [20] OfferedCamel4CSIs OPTIONAL} + +ProvideRoamingNumberRes ::= SEQUENCE { + roamingNumber ISDN-AddressString, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ResumeCallHandlingArg ::= SEQUENCE { + callReferenceNumber [0] CallReferenceNumber OPTIONAL, + basicServiceGroup [1] Ext-BasicServiceCode OPTIONAL, + forwardingData [2] ForwardingData OPTIONAL, + imsi [3] IMSI OPTIONAL, + cug-CheckInfo [4] CUG-CheckInfo OPTIONAL, + o-CSI [5] O-CSI OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ccbs-Possible [8] NULL OPTIONAL, + msisdn [9] ISDN-AddressString OPTIONAL, + uu-Data [10] UU-Data OPTIONAL, + allInformationSent [11] NULL OPTIONAL, + ..., + d-csi [12] D-CSI OPTIONAL, + o-BcsmCamelTDPCriteriaList [13] O-BcsmCamelTDPCriteriaList OPTIONAL} + +UU-Data ::= SEQUENCE { + uuIndicator [0] UUIndicator OPTIONAL, + uui [1] UUI OPTIONAL, + uusCFInteraction [2] NULL OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +UUIndicator ::= OCTET STRING(SIZE (1)) + +-- Octets are coded according to ETS 300 356 +UUI ::= OCTET STRING(SIZE (1..131)) + +-- Octets are coded according to ETS 300 356 +ResumeCallHandlingRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CamelInfo ::= SEQUENCE { + supportedCamelPhases SupportedCamelPhases, + suppress-T-CSI NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + offeredCamel4CSIs [0] OfferedCamel4CSIs OPTIONAL} + +ExtendedRoutingInfo ::= CHOICE { + routingInfo RoutingInfo, + camelRoutingInfo [8] CamelRoutingInfo} + +CamelRoutingInfo ::= SEQUENCE { + forwardingData ForwardingData OPTIONAL, + gmscCamelSubscriptionInfo [0] GmscCamelSubscriptionInfo, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +GmscCamelSubscriptionInfo ::= SEQUENCE { + t-CSI [0] T-CSI OPTIONAL, + o-CSI [1] O-CSI OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + o-BcsmCamelTDP-CriteriaList [3] O-BcsmCamelTDPCriteriaList OPTIONAL, + t-BCSM-CAMEL-TDP-CriteriaList [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL, + d-csi [5] D-CSI OPTIONAL} + +ProvideSIWFSNumberArg ::= SEQUENCE { + gsm-BearerCapability [0] ExternalSignalInfo, + isdn-BearerCapability [1] ExternalSignalInfo, + call-Direction [2] CallDirection, + b-Subscriber-Address [3] ISDN-AddressString, + chosenChannel [4] ExternalSignalInfo, + lowerLayerCompatibility [5] ExternalSignalInfo OPTIONAL, + highLayerCompatibility [6] ExternalSignalInfo OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ...} + +CallDirection ::= OCTET STRING(SIZE (1)) + +-- OCTET 1 +-- bit 1 (direction of call) +-- 0 Mobile Originated Call (MOC) +-- 1 Mobile Terminated Call (MTC) +ProvideSIWFSNumberRes ::= SEQUENCE { + sIWFSNumber [0] ISDN-AddressString, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +SIWFSSignallingModifyArg ::= SEQUENCE { + channelType [0] ExternalSignalInfo OPTIONAL, + chosenChannel [1] ExternalSignalInfo OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +SIWFSSignallingModifyRes ::= SEQUENCE { + chosenChannel [0] ExternalSignalInfo OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +SetReportingStateArg ::= SEQUENCE { + imsi [0] IMSI OPTIONAL, + lmsi [1] LMSI OPTIONAL, + ccbs-Monitoring [2] ReportingState OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +ReportingState ::= ENUMERATED {stopMonitoring(0), startMonitoring(1), ... + } + +-- exception handling: +-- reception of values 2-10 shall be mapped to 'stopMonitoring' +-- reception of values > 10 shall be mapped to 'startMonitoring' +SetReportingStateRes ::= SEQUENCE { + ccbs-SubscriberStatus [0] CCBS-SubscriberStatus OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +CCBS-SubscriberStatus ::= ENUMERATED { + ccbsNotIdle(0), ccbsIdle(1), ccbsNotReachable(2), ... + } + +-- exception handling: +-- reception of values 3-10 shall be mapped to 'ccbsNotIdle' +-- reception of values 11-20 shall be mapped to 'ccbsIdle' +-- reception of values > 20 shall be mapped to 'ccbsNotReachable' +StatusReportArg ::= SEQUENCE { + imsi [0] IMSI, + eventReportData [1] EventReportData OPTIONAL, + callReportdata [2] CallReportData OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +EventReportData ::= SEQUENCE { + ccbs-SubscriberStatus [0] CCBS-SubscriberStatus OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +CallReportData ::= SEQUENCE { + monitoringMode [0] MonitoringMode OPTIONAL, + callOutcome [1] CallOutcome OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +MonitoringMode ::= ENUMERATED {a-side(0), b-side(1), ... + } + +-- exception handling: +-- reception of values 2-10 shall be mapped 'a-side' +-- reception of values > 10 shall be mapped to 'b-side' +CallOutcome ::= ENUMERATED {success(0), failure(1), busy(2), ... + } + +-- exception handling: +-- reception of values 3-10 shall be mapped to 'success' +-- reception of values 11-20 shall be mapped to 'failure' +-- reception of values > 20 shall be mapped to 'busy' +StatusReportRes ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +RemoteUserFreeArg ::= SEQUENCE { + imsi [0] IMSI, + callInfo [1] ExternalSignalInfo, + ccbs-Feature [2] CCBS-Feature, + translatedB-Number [3] ISDN-AddressString, + replaceB-Number [4] NULL OPTIONAL, + alertingPattern [5] AlertingPattern OPTIONAL, + extensionContainer [6] ExtensionContainer OPTIONAL, + ...} + +RemoteUserFreeRes ::= SEQUENCE { + ruf-Outcome [0] RUF-Outcome, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +RUF-Outcome ::= ENUMERATED { + accepted(0), rejected(1), + noResponseFromFreeMS(2), -- T4 Expiry + noResponseFromBusyMS(3), -- T10 Expiry + udubFromFreeMS(4), udubFromBusyMS(5), ... + } + +-- exception handling: +-- reception of values 6-20 shall be mapped to 'accepted' +-- reception of values 21-30 shall be mapped to 'rejected' +-- reception of values 31-40 shall be mapped to 'noResponseFromFreeMS' +-- reception of values 41-50 shall be mapped to 'noResponseFromBusyMS' +-- reception of values 51-60 shall be mapped to 'udubFromFreeMS' +-- reception of values > 60 shall be mapped to 'udubFromBusyMS' +IST-AlertArg ::= SEQUENCE { + imsi [0] IMSI, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +IST-AlertRes ::= SEQUENCE { + istAlertTimer [0] IST-AlertTimerValue OPTIONAL, + istInformationWithdraw [1] NULL OPTIONAL, + callTerminationIndicator [2] CallTerminationIndicator OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +IST-CommandArg ::= SEQUENCE { + imsi [0] IMSI, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +IST-CommandRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CallTerminationIndicator ::= ENUMERATED { + terminateCallActivityReferred(0), terminateAllCallActivities(1), ... + } + +-- exception handling: +-- reception of values 2-10 shall be mapped to ' terminateCallActivityReferred ' +-- reception of values > 10 shall be mapped to ' terminateAllCallActivities ' +-- In MSCs not supporting linkage of all call activities, any value received shall +-- be interpreted as ' terminateCallActivityReferred ' +END + diff --git a/MAP/asn_src/GSM/MAP-CallHandlingOperations.asn b/MAP/asn_src/GSM/MAP-CallHandlingOperations.asn new file mode 100644 index 0000000..6926a75 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-CallHandlingOperations.asn @@ -0,0 +1,123 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-CallHandlingOperations {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-CallHandlingOperations(7) + version8(8)} DEFINITIONS ::= +BEGIN + +EXPORTS + sendRoutingInfo, provideRoamingNumber, resumeCallHandling, + provideSIWFSNumber, siwfs-SignallingModify, setReportingState, + statusReport, remoteUserFree, ist-Alert, ist-Command; + +IMPORTS + OPERATION + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + systemFailure, dataMissing, unexpectedDataValue, facilityNotSupported, + or-NotAllowed, unknownSubscriber, numberChanged, + bearerServiceNotProvisioned, teleserviceNotProvisioned, + noRoamingNumberAvailable, absentSubscriber, busySubscriber, + noSubscriberReply, callBarred, forwardingViolation, forwardingFailed, + cug-Reject, resourceLimitation, incompatibleTerminal, + unidentifiedSubscriber + FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-Errors(10) version8(8)} + SendRoutingInfoArg, SendRoutingInfoRes, ProvideRoamingNumberArg, + ProvideRoamingNumberRes, ResumeCallHandlingArg, ResumeCallHandlingRes, + ProvideSIWFSNumberArg, ProvideSIWFSNumberRes, SIWFSSignallingModifyArg, + SIWFSSignallingModifyRes, SetReportingStateArg, SetReportingStateRes, + StatusReportArg, StatusReportRes, RemoteUserFreeArg, RemoteUserFreeRes, + IST-AlertArg, IST-AlertRes, IST-CommandArg, IST-CommandRes + FROM MAP-CH-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-CH-DataTypes(13) + version8(8)}; + +sendRoutingInfo OPERATION ::= { --Timer m + -- The timer is set to the upper limit of the range if the GMSC supports pre-paging. + ARGUMENT SendRoutingInfoArg + RESULT SendRoutingInfoRes + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported | + or-NotAllowed | unknownSubscriber | numberChanged | + bearerServiceNotProvisioned | teleserviceNotProvisioned | + absentSubscriber | busySubscriber | noSubscriberReply | callBarred | + cug-Reject | forwardingViolation} + CODE local:22} + +provideRoamingNumber OPERATION ::= { --Timer m + -- The timer is set to the upper limit of the range if the HLR supports pre-paging. + ARGUMENT ProvideRoamingNumberArg + RESULT ProvideRoamingNumberRes + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported | + or-NotAllowed | absentSubscriber | noRoamingNumberAvailable} + CODE local:4} + +resumeCallHandling OPERATION ::= { --Timer m + ARGUMENT ResumeCallHandlingArg + RESULT ResumeCallHandlingRes + -- optional + ERRORS + {forwardingFailed | or-NotAllowed | unexpectedDataValue | dataMissing} + CODE local:6} + +provideSIWFSNumber OPERATION ::= { --Timer m + ARGUMENT ProvideSIWFSNumberArg + RESULT ProvideSIWFSNumberRes + ERRORS + {resourceLimitation | dataMissing | unexpectedDataValue | systemFailure} + CODE local:31} + +siwfs-SignallingModify OPERATION ::= { --Timer m + ARGUMENT SIWFSSignallingModifyArg + RESULT SIWFSSignallingModifyRes + -- optional + ERRORS + {resourceLimitation | dataMissing | unexpectedDataValue | systemFailure} + CODE local:32} + +setReportingState OPERATION ::= { --Timer m + ARGUMENT SetReportingStateArg + RESULT SetReportingStateRes + -- optional + ERRORS + {systemFailure | unidentifiedSubscriber | unexpectedDataValue | dataMissing + | resourceLimitation | facilityNotSupported} + CODE local:73} + +statusReport OPERATION ::= { --Timer m + ARGUMENT StatusReportArg + RESULT StatusReportRes + -- optional + ERRORS + {unknownSubscriber | systemFailure | unexpectedDataValue | dataMissing} + CODE local:74} + +remoteUserFree OPERATION ::= { --Timer ml + ARGUMENT RemoteUserFreeArg + RESULT RemoteUserFreeRes + ERRORS + {unexpectedDataValue | dataMissing | incompatibleTerminal | + absentSubscriber | systemFailure | busySubscriber} + CODE local:75} + +ist-Alert OPERATION ::= { --Timer m + ARGUMENT IST-AlertArg + RESULT IST-AlertRes + -- optional + ERRORS + {unexpectedDataValue | resourceLimitation | unknownSubscriber | + systemFailure | facilityNotSupported} + CODE local:87} + +ist-Command OPERATION ::= { --Timer m + ARGUMENT IST-CommandArg + RESULT IST-CommandRes + -- optional + ERRORS + {unexpectedDataValue | resourceLimitation | unknownSubscriber | + systemFailure | facilityNotSupported} + CODE local:88} + +END + diff --git a/MAP/asn_src/GSM/MAP-CommonDataTypes.asn b/MAP/asn_src/GSM/MAP-CommonDataTypes.asn new file mode 100644 index 0000000..8a75251 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-CommonDataTypes.asn @@ -0,0 +1,449 @@ +MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-CommonDataTypes(18) version8(8)} DEFINITIONS +IMPLICIT TAGS ::= +BEGIN + +EXPORTS + -- general data types and values + AddressString, ISDN-AddressString, maxISDN-AddressLength, FTN-AddressString, + ISDN-SubaddressString, ExternalSignalInfo, Ext-ExternalSignalInfo, + AccessNetworkSignalInfo, SignalInfo, maxSignalInfoLength, + AlertingPattern, + -- data types for numbering and identification + IMSI, TMSI, Identity, SubscriberId, IMEI, HLR-List, LMSI, GlobalCellId, + NetworkResource, NAEA-PreferredCI, NAEA-CIC, ASCI-CallReference, + SubscriberIdentity, + -- data types for CAMEL + CellGlobalIdOrServiceAreaIdOrLAI, + -- data types for subscriber management + BasicServiceCode, Ext-BasicServiceCode, EMLPP-Info, EMLPP-Priority, + MC-SS-Info, MaxMC-Bearers, MC-Bearers, + Ext-SS-Status, + -- data types for geographic location + AgeOfLocationInformation, LCSClientExternalID, LCSClientInternalID, + LCSServiceTypeID; + +IMPORTS + TeleserviceCode, Ext-TeleserviceCode + FROM MAP-TS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-TS-Code(19) version8(8)} + BearerServiceCode, Ext-BearerServiceCode + FROM MAP-BS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-BS-Code(20) version8(8)} + SS-Code + FROM MAP-SS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-SS-Code(15) version8(8)} + ExtensionContainer + FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21) + version8(8)}; + +-- general data types +TBCD-STRING ::= OCTET STRING + +-- This type (Telephony Binary Coded Decimal String) is used to +-- represent several digits from 0 through 9, *, #, a, b, c, two +-- digits per octet, each digit encoded 0000 to 1001 (0 to 9), +-- 1010 (*), 1011 (#), 1100 (a), 1101 (b) or 1110 (c); 1111 used +-- as filler when there is an odd number of digits. +-- bits 8765 of octet n encoding digit 2n +-- bits 4321 of octet n encoding digit 2(n-1) +1 +AddressString ::= OCTET STRING(SIZE (1..maxAddressLength)) + +-- This type is used to represent a number for addressing +-- purposes. It is composed of +-- a) one octet for nature of address, and numbering plan +-- indicator. +-- b) digits of an address encoded as TBCD-String. +-- a) The first octet includes a one bit extension indicator, a +-- 3 bits nature of address indicator and a 4 bits numbering +-- plan indicator, encoded as follows: +-- bit 8: 1 (no extension) +-- bits 765: nature of address indicator +-- 000 unknown +-- 001 international number +-- 010 national significant number +-- 011 network specific number +-- 100 subscriber number +-- 101 reserved +-- 110 abbreviated number +-- 111 reserved for extension +-- bits 4321: numbering plan indicator +-- 0000 unknown +-- 0001 ISDN/Telephony Numbering Plan (Rec ITU-T E.164) +-- 0010 spare +-- 0011 data numbering plan (ITU-T Rec X.121) +-- 0100 telex numbering plan (ITU-T Rec F.69) +-- 0101 spare +-- 0110 land mobile numbering plan (ITU-T Rec E.212) +-- 0111 spare +-- 1000 national numbering plan +-- 1001 private numbering plan +-- 1111 reserved for extension +-- all other values are reserved. +-- b) The following octets representing digits of an address +-- encoded as a TBCD-STRING. +maxAddressLength INTEGER ::= 20 + +-- vances@motivity.ca Mon Dec 20 2004 +-- There apears to be a bug in asn1 which we need to work around here +--- ISDN-AddressString ::= AddressString(SIZE (1..maxISDN-AddressLength)) +ISDN-AddressString ::= AddressString(SIZE (1..9)) + +-- This type is used to represent ISDN numbers. +maxISDN-AddressLength INTEGER ::= 9 + +-- vances@motivity.ca Mon Dec 20 2004 +-- There apears to be a bug in asn1 which we need to work around here +-- FTN-AddressString ::= AddressString(SIZE (1..maxFTN-AddressLength)) +FTN-AddressString ::= AddressString(SIZE (1..15)) + +-- This type is used to represent forwarded-to numbers. +-- For long forwarded-to numbers (longer than 15 digits) NPI shall be unknown; +-- if NAI = international the first digits represent the country code (CC) +-- and the network destination code (NDC) as for E.164. +maxFTN-AddressLength INTEGER ::= 15 + +ISDN-SubaddressString ::= OCTET STRING(SIZE (1..maxISDN-SubaddressLength)) + +-- This type is used to represent ISDN subaddresses. +-- It is composed of +-- a) one octet for type of subaddress and odd/even indicator. +-- b) 20 octets for subaddress information. +-- a) The first octet includes a one bit extension indicator, a +-- 3 bits type of subaddress and a one bit odd/even indicator, +-- encoded as follows: +-- bit 8: 1 (no extension) +-- bits 765: type of subaddress +-- 000 NSAP (X.213/ISO 8348 AD2) +-- 010 User Specified +-- All other values are reserved +-- bit 4: odd/even indicator +-- 0 even number of address signals +-- 1 odd number of address signals +-- The odd/even indicator is used when the type of subaddress +-- is "user specified" and the coding is BCD. +-- bits 321: 000 (unused) +-- b) Subaddress information. +-- The NSAP X.213/ISO8348AD2 address shall be formatted as specified +-- by octet 4 which contains the Authority and Format Identifier +-- (AFI). The encoding is made according to the "preferred binary +-- encoding" as defined in X.213/ISO834AD2. For the definition +-- of this type of subaddress, see ITU-T Rec I.334. +-- For User-specific subaddress, this field is encoded according +-- to the user specification, subject to a maximum length of 20 +-- octets. When interworking with X.25 networks BCD coding should +-- be applied. +maxISDN-SubaddressLength INTEGER ::= 21 + +ExternalSignalInfo ::= SEQUENCE { + protocolId ProtocolId, + signalInfo SignalInfo, + -- Information about the internal structure is given in + -- clause 7.6.9. + extensionContainer ExtensionContainer OPTIONAL, + -- extensionContainer must not be used in version 2 + ...} + +SignalInfo ::= OCTET STRING(SIZE (1..maxSignalInfoLength)) + +maxSignalInfoLength INTEGER ::= 200 + +-- This NamedValue represents the theoretical maximum number of octets which is +-- available to carry a single instance of the SignalInfo data type, +-- without requiring segmentation to cope with the network layer service. +-- However, the actual maximum size available for an instance of the data +-- type may be lower, especially when other information elements +-- have to be included in the same component. +ProtocolId ::= ENUMERATED { + gsm-0408(1), gsm-0806(2), + gsm-BSSMAP(3), + -- Value 3 is reserved and must not be used + ets-300102-1(4)} + +Ext-ExternalSignalInfo ::= SEQUENCE { + ext-ProtocolId Ext-ProtocolId, + signalInfo SignalInfo, + -- Information about the internal structure is given in + -- clause 7.6.9.10 + extensionContainer ExtensionContainer OPTIONAL, + ...} + +Ext-ProtocolId ::= ENUMERATED {ets-300356(1), ... } + +-- exception handling: +-- For Ext-ExternalSignalInfo sequences containing this parameter with any +-- other value than the ones listed the receiver shall ignore the whole +-- Ext-ExternalSignalInfo sequence. +AccessNetworkSignalInfo ::= SEQUENCE { + accessNetworkProtocolId AccessNetworkProtocolId, + signalInfo LongSignalInfo, + -- Information about the internal structure is given in clause 7.6.9.1 + extensionContainer ExtensionContainer OPTIONAL, + ...} + +LongSignalInfo ::= OCTET STRING(SIZE (1..maxLongSignalInfoLength)) + +maxLongSignalInfoLength INTEGER ::= 2560 + +-- This Named Value represents the maximum number of octets which is available +-- to carry a single instance of the LongSignalInfo data type using +-- White Book SCCP with the maximum number of segments. +-- It takes account of the octets used by the lower layers of the protocol, and +-- other information elements which may be included in the same component. +AccessNetworkProtocolId ::= ENUMERATED {ts3G-48006(1), ts3G-25413(2), ... } + +-- exception handling: +-- For AccessNetworkSignalInfo sequences containing this parameter with any +-- other value than the ones listed the receiver shall ignore the whole +-- AccessNetworkSignalInfo sequence. +AlertingPattern ::= OCTET STRING(SIZE (1)) + +-- This type is used to represent Alerting Pattern +-- bits 8765 : 0000 (unused) +-- bits 43 : type of Pattern +-- 00 level +-- 01 category +-- 10 category +-- all other values are reserved. +-- bits 21 : type of alerting +alertingLevel-0 AlertingPattern ::= '00000000'B + +alertingLevel-1 AlertingPattern ::= '00000001'B + +alertingLevel-2 AlertingPattern ::= '00000010'B + +-- all other values of Alerting level are reserved +-- Alerting Levels are defined in GSM 02.07 +alertingCategory-1 AlertingPattern ::= '00000100'B + +alertingCategory-2 AlertingPattern ::= '00000101'B + +alertingCategory-3 AlertingPattern ::= '00000110'B + +alertingCategory-4 AlertingPattern ::= '00000111'B + +alertingCategory-5 AlertingPattern ::= '00001000'B + +-- all other values of Alerting Category are reserved +-- Alerting categories are defined in GSM 02.07 +-- data types for numbering and identification +IMSI ::= TBCD-STRING(SIZE (3..8)) + +-- digits of MCC, MNC, MSIN are concatenated in this order. +Identity ::= CHOICE {imsi IMSI, + imsi-WithLMSI IMSI-WithLMSI} + +IMSI-WithLMSI ::= SEQUENCE { + imsi IMSI, + lmsi LMSI, + -- a special value 00000000 indicates that the LMSI is not in use + ...} + +ASCI-CallReference ::= TBCD-STRING(SIZE (1..8)) + +-- digits of VGCS/VBC-area,Group-ID are concatenated in this order. +TMSI ::= OCTET STRING(SIZE (1..4)) + +SubscriberId ::= CHOICE {imsi [0] IMSI, + tmsi [1] TMSI} + +IMEI ::= TBCD-STRING(SIZE (8)) + +-- Refers to International Mobile Station Equipment Identity +-- and Software Version Number (SVN) defined in TS 3GPP TS 23.003 [17]. +-- If the SVN is not present the last octet shall contain the +-- digit 0 and a filler. +-- If present the SVN shall be included in the last octet. +HLR-Id ::= IMSI + +-- leading digits of IMSI, i.e. (MCC, MNC, leading digits of +-- MSIN) forming HLR Id defined in TS 3GPP TS 23.003 [17]. +HLR-List ::= SEQUENCE SIZE (1..maxNumOfHLR-Id) OF HLR-Id + +maxNumOfHLR-Id INTEGER ::= 50 + +LMSI ::= OCTET STRING(SIZE (4)) + +GlobalCellId ::= OCTET STRING(SIZE (5..7)) + +-- Refers to Cell Global Identification defined in TS 3GPP TS 23.003 [17]. +-- The internal structure is defined as follows: +-- octet 1 bits 4321 Mobile Country Code 1st digit +-- bits 8765 Mobile Country Code 2nd digit +-- octet 2 bits 4321 Mobile Country Code 3rd digit +-- bits 8765 Mobile Network Code 3rd digit +-- or filler (1111) for 2 digit MNCs +-- octet 3 bits 4321 Mobile Network Code 1st digit +-- bits 8765 Mobile Network Code 2nd digit +-- octets 4 and 5 Location Area Code according to TS 3GPP TS 24.008 [35] +-- octets 6 and 7 Cell Identity (CI) according to TS 3GPP TS 24.008 [35] +NetworkResource ::= ENUMERATED { + plmn(0), hlr(1), vlr(2), pvlr(3), controllingMSC(4), vmsc(5), eir(6), rss(7) +} + +NAEA-PreferredCI ::= SEQUENCE { + naea-PreferredCIC [0] NAEA-CIC, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +NAEA-CIC ::= OCTET STRING(SIZE (3)) + +-- The internal structure is defined by the Carrier Identification +-- parameter in ANSI T1.113.3. Carrier codes between “000” and “999” may +-- be encoded as 3 digits using “000” to “999” or as 4 digits using +-- “0000” to “0999”. Carrier codes between “1000” and “9999” are encoded +-- using 4 digits. +SubscriberIdentity ::= CHOICE { + imsi [0] IMSI, + msisdn [1] ISDN-AddressString} + +LCSClientExternalID ::= SEQUENCE { + externalAddress [0] ISDN-AddressString OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +LCSClientInternalID ::= ENUMERATED { + broadcastService(0), o-andM-HPLMN(1), o-andM-VPLMN(2), anonymousLocation(3), + targetMSsubscribedService(4), ... + } + +-- for a CAMEL phase 3 PLMN operator client, the value targetMSsubscribedService shall be used +LCSServiceTypeID ::= INTEGER(0..127) + +-- the integer values 0-63 are reserved for Standard LCS service types +-- the integer values 64-127 are reserved for Non Standard LCS service types +emergencyServices LCSServiceTypeID ::= 0 + +emergencyAlertServices LCSServiceTypeID ::= 1 + +personTracking LCSServiceTypeID ::= 2 + +fleetManagement LCSServiceTypeID ::= 3 + +assetManagement LCSServiceTypeID ::= 4 + +trafficCongestionReporting LCSServiceTypeID ::= 5 + +roadsideAssistance LCSServiceTypeID ::= 6 + +routingToNearestCommercialEnterprise LCSServiceTypeID ::= 7 + +navigation LCSServiceTypeID ::= 8 + +citySightseeing LCSServiceTypeID ::= 9 + +localizedAdvertising LCSServiceTypeID ::= 10 + +mobileYellowPages LCSServiceTypeID ::= 11 + +-- The values of LCSServiceTypeID are defined according to 3GPP TS 22.071. +-- data types for CAMEL +CellGlobalIdOrServiceAreaIdOrLAI ::= CHOICE { + cellGlobalIdOrServiceAreaIdFixedLength + [0] CellGlobalIdOrServiceAreaIdFixedLength, + laiFixedLength [1] LAIFixedLength} + +CellGlobalIdOrServiceAreaIdFixedLength ::= OCTET STRING(SIZE (7)) + +-- Refers to Cell Global Identification or Service Are Identification +-- defined in 3GPP TS 23.003. +-- The internal structure is defined as follows: +-- octet 1 bits 4321 Mobile Country Code 1st digit +-- bits 8765 Mobile Country Code 2nd digit +-- octet 2 bits 4321 Mobile Country Code 3rd digit +-- bits 8765 Mobile Network Code 3rd digit +-- or filler (1111) for 2 digit MNCs +-- octet 3 bits 4321 Mobile Network Code 1st digit +-- bits 8765 Mobile Network Code 2nd digit +-- octets 4 and 5 Location Area Code according to 3GPP TS 24.008 +-- octets 6 and 7 Cell Identity (CI) value or +-- Service Area Code (SAC) value +-- according to 3GPP TS 23.003 +LAIFixedLength ::= OCTET STRING(SIZE (5)) + +-- Refers to Location Area Identification defined in TS 3GPP TS 23.003 [17]. +-- The internal structure is defined as follows: +-- octet 1 bits 4321 Mobile Country Code 1st digit +-- bits 8765 Mobile Country Code 2nd digit +-- octet 2 bits 4321 Mobile Country Code 3rd digit +-- bits 8765 Mobile Network Code 3rd digit +-- or filler (1111) for 2 digit MNCs +-- octet 3 bits 4321 Mobile Network Code 1st digit +-- bits 8765 Mobile Network Code 2nd digit +-- octets 4 and 5 Location Area Code according to TS 3GPP TS 24.008 [35] +-- data types for subscriber management +BasicServiceCode ::= CHOICE { + bearerService [2] BearerServiceCode, + teleservice [3] TeleserviceCode} + +Ext-BasicServiceCode ::= CHOICE { + ext-BearerService [2] Ext-BearerServiceCode, + ext-Teleservice [3] Ext-TeleserviceCode} + +EMLPP-Info ::= SEQUENCE { + maximumentitledPriority EMLPP-Priority, + defaultPriority EMLPP-Priority, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +EMLPP-Priority ::= INTEGER(0..15) + +-- The mapping from the values A,B,0,1,2,3,4 to the integer-value is +-- specified as follows where A is the highest and 4 is the lowest +-- priority level +-- the integer values 7-15 are spare and shall be mapped to value 4 +priorityLevelA EMLPP-Priority ::= 6 + +priorityLevelB EMLPP-Priority ::= 5 + +priorityLevel0 EMLPP-Priority ::= 0 + +priorityLevel1 EMLPP-Priority ::= 1 + +priorityLevel2 EMLPP-Priority ::= 2 + +priorityLevel3 EMLPP-Priority ::= 3 + +priorityLevel4 EMLPP-Priority ::= 4 + +MC-SS-Info ::= SEQUENCE { + ss-Code [0] SS-Code, + ss-Status [1] Ext-SS-Status, + nbrSB [2] MaxMC-Bearers, + nbrUser [3] MC-Bearers, + extensionContainer [4] ExtensionContainer OPTIONAL, + ...} + +MaxMC-Bearers ::= INTEGER(2..maxNumOfMC-Bearers) + +MC-Bearers ::= INTEGER(1..maxNumOfMC-Bearers) + +maxNumOfMC-Bearers INTEGER ::= 7 + +Ext-SS-Status ::= OCTET STRING(SIZE (1..5)) + +-- OCTET 1: +-- +-- bits 8765: 0000 (unused) +-- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit", +-- representing supplementary service state information +-- as defined in TS 3GPP TS 23.011 [22] +-- bit 4: "Q bit" +-- bit 3: "P bit" +-- bit 2: "R bit" +-- bit 1: "A bit" +-- OCTETS 2-5: reserved for future use. They shall be discarded if +-- received and not understood. +-- data types for geographic location +AgeOfLocationInformation ::= INTEGER(0..32767) + +-- the value represents the elapsed time in minutes since the last +-- network contact of the mobile station (i.e. the actuality of the +-- location information). +-- value “0” indicates that the MS is currently in contact with the +-- network +-- value “32767” indicates that the location information is at least +-- 32767 minutes old +END + diff --git a/MAP/asn_src/GSM/MAP-DialogueInformation.asn b/MAP/asn_src/GSM/MAP-DialogueInformation.asn new file mode 100644 index 0000000..8869374 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-DialogueInformation.asn @@ -0,0 +1,114 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-DialogueInformation {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-DialogueInformation(3) + version8(8)} DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +EXPORTS + map-DialogueAS, MAP-DialoguePDU, map-ProtectedDialogueAS, + MAP-ProtectedDialoguePDU; + +IMPORTS + gsm-NetworkId, as-Id + FROM MobileDomainDefinitions {itu-t(0) identified-organization(4) + etsi(0) mobileDomain(0) mobileDomainDefinitions(0) version1(1)} + AddressString + FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18) + version8(8)} + ExtensionContainer + FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21) + version8(8)} + SecurityHeader, ProtectedPayload + FROM MAP-ST-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ST-DataTypes(27) + version8(8)}; + +-- abstract syntax name for MAP-DialoguePDU +map-DialogueAS OBJECT IDENTIFIER ::= + {gsm-NetworkId as-Id map-DialoguePDU(1) version1(1)} + +MAP-DialoguePDU ::= CHOICE { + map-open [0] MAP-OpenInfo, + map-accept [1] MAP-AcceptInfo, + map-close [2] MAP-CloseInfo, + map-refuse [3] MAP-RefuseInfo, + map-userAbort [4] MAP-UserAbortInfo, + map-providerAbort [5] MAP-ProviderAbortInfo} + +MAP-OpenInfo ::= SEQUENCE { + destinationReference [0] AddressString OPTIONAL, + originationReference [1] AddressString OPTIONAL, + ..., + extensionContainer ExtensionContainer OPTIONAL} + -- extensionContainer must not be used in version 2 + +MAP-AcceptInfo ::= SEQUENCE { + ..., + extensionContainer ExtensionContainer OPTIONAL} + -- extensionContainer must not be used in version 2 + +MAP-CloseInfo ::= SEQUENCE { + ..., + extensionContainer ExtensionContainer OPTIONAL} + -- extensionContainer must not be used in version 2 + +MAP-RefuseInfo ::= SEQUENCE { + reason Reason, + ..., + extensionContainer ExtensionContainer OPTIONAL, + -- extensionContainer must not be used in version 2 + alternativeApplicationContext OBJECT IDENTIFIER OPTIONAL} + -- alternativeApplicationContext must not be used in version 2 + +Reason ::= ENUMERATED { + noReasonGiven(0), invalidDestinationReference(1), + invalidOriginatingReference(2), encapsulatedAC-NotSupported(3), + transportProtectionNotAdequate(4)} + +-- encapsulatedAC-NotSupported and transportProtectionNotAdequate must not be used in +-- dialogues with an AC different from secureTransportHandling +MAP-UserAbortInfo ::= SEQUENCE { + map-UserAbortChoice MAP-UserAbortChoice, + ..., + extensionContainer ExtensionContainer OPTIONAL} + -- extensionContainer must not be used in version 2 + +MAP-UserAbortChoice ::= CHOICE { + userSpecificReason [0] NULL, + userResourceLimitation [1] NULL, + resourceUnavailable [2] ResourceUnavailableReason, + applicationProcedureCancellation [3] ProcedureCancellationReason} + +ResourceUnavailableReason ::= ENUMERATED { + shortTermResourceLimitation(0), longTermResourceLimitation(1)} + +ProcedureCancellationReason ::= ENUMERATED { + handoverCancellation(0), radioChannelRelease(1), networkPathRelease(2), + callRelease(3), associatedProcedureFailure(4), tandemDialogueRelease(5), + remoteOperationsFailure(6)} + +MAP-ProviderAbortInfo ::= SEQUENCE { + map-ProviderAbortReason MAP-ProviderAbortReason, + ..., + extensionContainer ExtensionContainer OPTIONAL} + -- extensionContainer must not be used in version 2 + +MAP-ProviderAbortReason ::= ENUMERATED {abnormalDialogue(0), invalidPDU(1)} + +-- abstract syntax name for MAP-ProtectedDialoguePDU +map-ProtectedDialogueAS OBJECT IDENTIFIER ::= + {gsm-NetworkId as-Id map-ProtectedDialoguePDU(3) version1(1)} + +MAP-ProtectedDialoguePDU ::= SEQUENCE { + encapsulatedAC OBJECT IDENTIFIER, + securityHeader SecurityHeader OPTIONAL, + protectedPayload ProtectedPayload OPTIONAL, + ...} + +-- The protectedPayload carries the result of applying the security function +-- defined in 3GPP TS 33.200 to the encoding of the securely transported +-- MAP-DialoguePDU +END + diff --git a/MAP/asn_src/GSM/MAP-ER-DataTypes.asn b/MAP/asn_src/GSM/MAP-ER-DataTypes.asn new file mode 100644 index 0000000..5772e23 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-ER-DataTypes.asn @@ -0,0 +1,332 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-ER-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-ER-DataTypes(17) version8(8)} DEFINITIONS +IMPLICIT TAGS ::= +BEGIN + +EXPORTS + RoamingNotAllowedParam, CallBarredParam, CUG-RejectParam, + SS-IncompatibilityCause, PW-RegistrationFailureCause, + SM-DeliveryFailureCause, SystemFailureParam, DataMissingParam, + UnexpectedDataParam, FacilityNotSupParam, OR-NotAllowedParam, + UnknownSubscriberParam, NumberChangedParam, UnidentifiedSubParam, + IllegalSubscriberParam, IllegalEquipmentParam, BearerServNotProvParam, + TeleservNotProvParam, TracingBufferFullParam, NoRoamingNbParam, + AbsentSubscriberParam, BusySubscriberParam, NoSubscriberReplyParam, + ForwardingViolationParam, ForwardingFailedParam, ATI-NotAllowedParam, + SubBusyForMT-SMS-Param, MessageWaitListFullParam, AbsentSubscriberSM-Param, + AbsentSubscriberDiagnosticSM, ResourceLimitationParam, NoGroupCallNbParam, + IncompatibleTerminalParam, ShortTermDenialParam, LongTermDenialParam, + UnauthorizedRequestingNetwork-Param, UnauthorizedLCSClient-Param, + PositionMethodFailure-Param, UnknownOrUnreachableLCSClient-Param, + MM-EventNotSupported-Param, SecureTransportErrorParam, + ATSI-NotAllowedParam, ATM-NotAllowedParam, IllegalSS-OperationParam, + SS-NotAvailableParam, SS-SubscriptionViolationParam, + InformationNotAvailableParam, TargetCellOutsideGCA-Param; + +IMPORTS + SS-Status + FROM MAP-SS-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-SS-DataTypes(14) + version8(8)} + SignalInfo, BasicServiceCode, NetworkResource + FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18) + version8(8)} + SecurityHeader, ProtectedPayload + FROM MAP-ST-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ST-DataTypes(27) + version8(8)} + SS-Code + FROM MAP-SS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-SS-Code(15) version8(8)} + ExtensionContainer + FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21) + version8(8)}; + +RoamingNotAllowedParam ::= SEQUENCE { + roamingNotAllowedCause RoamingNotAllowedCause, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +RoamingNotAllowedCause ::= ENUMERATED { + plmnRoamingNotAllowed(0), operatorDeterminedBarring(3)} + +CallBarredParam ::= CHOICE { + callBarringCause CallBarringCause, + -- call BarringCause must not be used in version 3 and higher + extensibleCallBarredParam ExtensibleCallBarredParam} + -- extensibleCallBarredParam must not be used in version <3 + +CallBarringCause ::= ENUMERATED {barringServiceActive(0), operatorBarring(1)} + +ExtensibleCallBarredParam ::= SEQUENCE { + callBarringCause CallBarringCause OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + unauthorisedMessageOriginator [1] NULL OPTIONAL} + +CUG-RejectParam ::= SEQUENCE { + cug-RejectCause CUG-RejectCause OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CUG-RejectCause ::= ENUMERATED { + incomingCallsBarredWithinCUG(0), subscriberNotMemberOfCUG(1), + requestedBasicServiceViolatesCUG-Constraints(5), + calledPartySS-InteractionViolation(7)} + +SS-IncompatibilityCause ::= SEQUENCE { + ss-Code [1] SS-Code OPTIONAL, + basicService BasicServiceCode OPTIONAL, + ss-Status [4] SS-Status OPTIONAL, + ...} + +PW-RegistrationFailureCause ::= ENUMERATED { + undetermined(0), invalidFormat(1), newPasswordsMismatch(2)} + +SM-EnumeratedDeliveryFailureCause ::= ENUMERATED { + memoryCapacityExceeded(0), equipmentProtocolError(1), + equipmentNotSM-Equipped(2), unknownServiceCentre(3), sc-Congestion(4), + invalidSME-Address(5), subscriberNotSC-Subscriber(6)} + +SM-DeliveryFailureCause ::= SEQUENCE { + sm-EnumeratedDeliveryFailureCause SM-EnumeratedDeliveryFailureCause, + diagnosticInfo SignalInfo OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +AbsentSubscriberSM-Param ::= SEQUENCE { + absentSubscriberDiagnosticSM + AbsentSubscriberDiagnosticSM OPTIONAL, + -- AbsentSubscriberDiagnosticSM can be either for non-GPRS + -- or for GPRS + extensionContainer ExtensionContainer OPTIONAL, + ..., + additionalAbsentSubscriberDiagnosticSM + [0] AbsentSubscriberDiagnosticSM OPTIONAL} + +-- if received, additionalAbsentSubscriberDiagnosticSM +-- is for GPRS and absentSubscriberDiagnosticSM is +-- for non-GPRS +AbsentSubscriberDiagnosticSM ::= INTEGER(0..255) + +-- AbsentSubscriberDiagnosticSM values are defined in 3GPP TS 23.040 +SystemFailureParam ::= CHOICE { + networkResource NetworkResource, + -- networkResource must not be used in version 3 + extensibleSystemFailureParam ExtensibleSystemFailureParam} + -- extensibleSystemFailureParam must not be used in version <3 + +ExtensibleSystemFailureParam ::= SEQUENCE { + networkResource NetworkResource OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +DataMissingParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +UnexpectedDataParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +FacilityNotSupParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + shapeOfLocationEstimateNotSupported [0] NULL OPTIONAL, + neededLcsCapabilityNotSupportedInServingNode [1] NULL OPTIONAL} + +OR-NotAllowedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +UnknownSubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + unknownSubscriberDiagnostic UnknownSubscriberDiagnostic OPTIONAL} + +UnknownSubscriberDiagnostic ::= ENUMERATED { + imsiUnknown(0), gprsSubscriptionUnknown(1), ..., + npdbMismatch(2)} + +-- if unknown values are received in +-- UnknownSubscriberDiagnostic they shall be discarded +NumberChangedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +UnidentifiedSubParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +IllegalSubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +IllegalEquipmentParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +BearerServNotProvParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +TeleservNotProvParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +TracingBufferFullParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +NoRoamingNbParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +AbsentSubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + absentSubscriberReason [0] AbsentSubscriberReason OPTIONAL} + +AbsentSubscriberReason ::= ENUMERATED { + imsiDetach(0), restrictedArea(1), noPageResponse(2), ..., + purgedMS(3)} + +-- exception handling: at reception of other values than the ones listed the +-- AbsentSubscriberReason shall be ignored. +-- The AbsentSubscriberReason: purgedMS is defined for the Super-Charger feature +-- (see TS 23.116). If this value is received in a Provide Roaming Number response +-- it shall be mapped to the AbsentSubscriberReason: imsiDetach in the Send Routeing +-- Information response +BusySubscriberParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + ccbs-Possible [0] NULL OPTIONAL, + ccbs-Busy [1] NULL OPTIONAL} + +NoSubscriberReplyParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ForwardingViolationParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ForwardingFailedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ATI-NotAllowedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ATSI-NotAllowedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ATM-NotAllowedParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +IllegalSS-OperationParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SS-NotAvailableParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SS-SubscriptionViolationParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +InformationNotAvailableParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SubBusyForMT-SMS-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ..., + gprsConnectionSuspended NULL OPTIONAL} + +-- If GprsConnectionSuspended is not understood it shall +-- be discarded +MessageWaitListFullParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ResourceLimitationParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +NoGroupCallNbParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +IncompatibleTerminalParam ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ShortTermDenialParam ::= SEQUENCE {...} + +LongTermDenialParam ::= SEQUENCE {...} + +UnauthorizedRequestingNetwork-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +UnauthorizedLCSClient-Param ::= SEQUENCE { + unauthorizedLCSClient-Diagnostic + [0] UnauthorizedLCSClient-Diagnostic OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +UnauthorizedLCSClient-Diagnostic ::= ENUMERATED { + noAdditionalInformation(0), clientNotInMSPrivacyExceptionList(1), + callToClientNotSetup(2), privacyOverrideNotApplicable(3), + disallowedByLocalRegulatoryRequirements(4), ..., + unauthorizedPrivacyClass(5), + unauthorizedCallSessionUnrelatedExternalClient(6), + unauthorizedCallSessionRelatedExternalClient(7)} + +-- exception handling: +-- any unrecognized value shall be ignored +PositionMethodFailure-Param ::= SEQUENCE { + positionMethodFailure-Diagnostic + [0] PositionMethodFailure-Diagnostic OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +PositionMethodFailure-Diagnostic ::= ENUMERATED { + congestion(0), insufficientResources(1), insufficientMeasurementData(2), + inconsistentMeasurementData(3), locationProcedureNotCompleted(4), + locationProcedureNotSupportedByTargetMS(5), qoSNotAttainable(6), + positionMethodNotAvailableInNetwork(7), + positionMethodNotAvailableInLocationArea(8), ... + } + +-- exception handling: +-- any unrecognized value shall be ignored +UnknownOrUnreachableLCSClient-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +MM-EventNotSupported-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +TargetCellOutsideGCA-Param ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SecureTransportErrorParam ::= SEQUENCE { + securityHeader SecurityHeader, + protectedPayload ProtectedPayload OPTIONAL} + +-- The protectedPayload carries the result of applying the security function +-- defined in 3GPP TS 33.200 to the encoding of the securely transported error +-- parameter +END + diff --git a/MAP/asn_src/GSM/MAP-Errors.asn b/MAP/asn_src/GSM/MAP-Errors.asn new file mode 100644 index 0000000..7f7cd69 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-Errors.asn @@ -0,0 +1,358 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-Errors(10) version8(8)} DEFINITIONS ::= +BEGIN + +EXPORTS + -- generic errors + systemFailure, dataMissing, unexpectedDataValue, facilityNotSupported, + incompatibleTerminal, + resourceLimitation, + -- identification and numbering errors + unknownSubscriber, numberChanged, unknownMSC, unidentifiedSubscriber, + unknownEquipment, + -- subscription errors + roamingNotAllowed, illegalSubscriber, illegalEquipment, + bearerServiceNotProvisioned, + teleserviceNotProvisioned, + -- handover errors + noHandoverNumberAvailable, subsequentHandoverFailure, + targetCellOutsideGroupCallArea, + -- operation and maintenance errors + tracingBufferFull, + -- call handling errors + or-NotAllowed, noRoamingNumberAvailable, busySubscriber, noSubscriberReply, + absentSubscriber, callBarred, forwardingViolation, forwardingFailed, + cug-Reject, + -- any time interrogation errors + ati-NotAllowed, + -- any time information handling errors + atsi-NotAllowed, atm-NotAllowed, + informationNotAvailable, + -- supplementary service errors + illegalSS-Operation, ss-ErrorStatus, ss-NotAvailable, + ss-SubscriptionViolation, ss-Incompatibility, unknownAlphabet, ussd-Busy, + pw-RegistrationFailure, negativePW-Check, numberOfPW-AttemptsViolation, + shortTermDenial, + longTermDenial, + -- short message service errors + subscriberBusyForMT-SMS, sm-DeliveryFailure, messageWaitingListFull, + absentSubscriberSM, + -- Group Call errors + noGroupCallNumberAvailable, + -- location service errors + unauthorizedRequestingNetwork, unauthorizedLCSClient, + positionMethodFailure, + unknownOrUnreachableLCSClient, + -- Mobility Management errors + mm-EventNotSupported, + -- Secure transport errors + secureTransportError; + +IMPORTS + ERROR + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + SS-Status + FROM MAP-SS-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-SS-DataTypes(14) + version8(8)} + SS-IncompatibilityCause, PW-RegistrationFailureCause, + SM-DeliveryFailureCause, SystemFailureParam, DataMissingParam, + UnexpectedDataParam, FacilityNotSupParam, UnknownSubscriberParam, + NumberChangedParam, UnidentifiedSubParam, RoamingNotAllowedParam, + IllegalSubscriberParam, IllegalEquipmentParam, BearerServNotProvParam, + TeleservNotProvParam, TracingBufferFullParam, NoRoamingNbParam, + OR-NotAllowedParam, AbsentSubscriberParam, BusySubscriberParam, + NoSubscriberReplyParam, CallBarredParam, ForwardingViolationParam, + ForwardingFailedParam, CUG-RejectParam, ATI-NotAllowedParam, + SubBusyForMT-SMS-Param, MessageWaitListFullParam, AbsentSubscriberSM-Param, + ResourceLimitationParam, NoGroupCallNbParam, IncompatibleTerminalParam, + ShortTermDenialParam, LongTermDenialParam, + UnauthorizedRequestingNetwork-Param, UnauthorizedLCSClient-Param, + PositionMethodFailure-Param, UnknownOrUnreachableLCSClient-Param, + MM-EventNotSupported-Param, ATSI-NotAllowedParam, ATM-NotAllowedParam, + IllegalSS-OperationParam, SS-NotAvailableParam, + SS-SubscriptionViolationParam, InformationNotAvailableParam, + TargetCellOutsideGCA-Param, SecureTransportErrorParam + FROM MAP-ER-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ER-DataTypes(17) + version8(8)}; + +-- generic errors +systemFailure ERROR ::= { + PARAMETER SystemFailureParam + -- optional + CODE local:34} + +dataMissing ERROR ::= { + PARAMETER DataMissingParam + -- optional + -- DataMissingParam must not be used in version <3 + CODE local:35} + +unexpectedDataValue ERROR ::= { + PARAMETER UnexpectedDataParam + -- optional + -- UnexpectedDataParam must not be used in version <3 + CODE local:36} + +facilityNotSupported ERROR ::= { + PARAMETER FacilityNotSupParam + -- optional + -- FacilityNotSupParam must not be used in version <3 + CODE local:21} + +incompatibleTerminal ERROR ::= { + PARAMETER IncompatibleTerminalParam + -- optional + CODE local:28} + +resourceLimitation ERROR ::= { + PARAMETER ResourceLimitationParam + -- optional + CODE local:51} + +-- identification and numbering errors +unknownSubscriber ERROR ::= { + PARAMETER UnknownSubscriberParam + -- optional + -- UnknownSubscriberParam must not be used in version <3 + CODE local:1} + +numberChanged ERROR ::= { + PARAMETER NumberChangedParam + -- optional + CODE local:44} + +unknownMSC ERROR ::= {CODE local:3} + +unidentifiedSubscriber ERROR ::= { + PARAMETER UnidentifiedSubParam + -- optional + -- UunidentifiedSubParam must not be used in version <3 + CODE local:5} + +unknownEquipment ERROR ::= {CODE local:7} + +-- subscription errors +roamingNotAllowed ERROR ::= { + PARAMETER RoamingNotAllowedParam + CODE local:8} + +illegalSubscriber ERROR ::= { + PARAMETER IllegalSubscriberParam + -- optional + -- IllegalSubscriberParam must not be used in version <3 + CODE local:9} + +illegalEquipment ERROR ::= { + PARAMETER IllegalEquipmentParam + -- optional + -- IllegalEquipmentParam must not be used in version <3 + CODE local:12} + +bearerServiceNotProvisioned ERROR ::= { + PARAMETER BearerServNotProvParam + -- optional + -- BearerServNotProvParam must not be used in version <3 + CODE local:10} + +teleserviceNotProvisioned ERROR ::= { + PARAMETER TeleservNotProvParam + -- optional + -- TeleservNotProvParam must not be used in version <3 + CODE local:11} + +-- handover errors +noHandoverNumberAvailable ERROR ::= {CODE local:25} + +subsequentHandoverFailure ERROR ::= {CODE local:26} + +targetCellOutsideGroupCallArea ERROR ::= { + PARAMETER TargetCellOutsideGCA-Param + -- optional + CODE local:42} + +-- operation and maintenance errors +tracingBufferFull ERROR ::= { + PARAMETER TracingBufferFullParam + -- optional + CODE local:40} + +-- call handling errors +noRoamingNumberAvailable ERROR ::= { + PARAMETER NoRoamingNbParam + -- optional + CODE local:39} + +absentSubscriber ERROR ::= { + PARAMETER AbsentSubscriberParam + -- optional + -- AbsentSubscriberParam must not be used in version <3 + CODE local:27} + +busySubscriber ERROR ::= { + PARAMETER BusySubscriberParam + -- optional + CODE local:45} + +noSubscriberReply ERROR ::= { + PARAMETER NoSubscriberReplyParam + -- optional + CODE local:46} + +callBarred ERROR ::= {PARAMETER CallBarredParam + -- optional + CODE local:13} + +forwardingViolation ERROR ::= { + PARAMETER ForwardingViolationParam + -- optional + CODE local:14} + +forwardingFailed ERROR ::= { + PARAMETER ForwardingFailedParam + -- optional + CODE local:47} + +cug-Reject ERROR ::= {PARAMETER CUG-RejectParam + -- optional + CODE local:15} + +or-NotAllowed ERROR ::= { + PARAMETER OR-NotAllowedParam + -- optional + CODE local:48} + +-- any time interrogation errors +ati-NotAllowed ERROR ::= { + PARAMETER ATI-NotAllowedParam + -- optional + CODE local:49} + +-- any time information handling errors +atsi-NotAllowed ERROR ::= { + PARAMETER ATSI-NotAllowedParam + -- optional + CODE local:60} + +atm-NotAllowed ERROR ::= { + PARAMETER ATM-NotAllowedParam + -- optional + CODE local:61} + +informationNotAvailable ERROR ::= { + PARAMETER InformationNotAvailableParam + -- optional + CODE local:62} + +-- supplementary service errors +illegalSS-Operation ERROR ::= { + PARAMETER IllegalSS-OperationParam + -- optional + -- IllegalSS-OperationParam must not be used in version <3 + CODE local:16} + +ss-ErrorStatus ERROR ::= {PARAMETER SS-Status + -- optional + CODE local:17} + +ss-NotAvailable ERROR ::= { + PARAMETER SS-NotAvailableParam + -- optional + -- SS-NotAvailableParam must not be used in version <3 + CODE local:18} + +ss-SubscriptionViolation ERROR ::= { + PARAMETER SS-SubscriptionViolationParam + -- optional + -- SS-SubscriptionViolationParam must not be used in version <3 + CODE local:19} + +ss-Incompatibility ERROR ::= { + PARAMETER SS-IncompatibilityCause + -- optional + CODE local:20} + +unknownAlphabet ERROR ::= {CODE local:71} + +ussd-Busy ERROR ::= {CODE local:72} + +pw-RegistrationFailure ERROR ::= { + PARAMETER PW-RegistrationFailureCause + CODE local:37} + +negativePW-Check ERROR ::= {CODE local:38} + +numberOfPW-AttemptsViolation ERROR ::= {CODE local:43} + +shortTermDenial ERROR ::= { + PARAMETER ShortTermDenialParam + -- optional + CODE local:29} + +longTermDenial ERROR ::= { + PARAMETER LongTermDenialParam + -- optional + CODE local:30} + +-- short message service errors +subscriberBusyForMT-SMS ERROR ::= { + PARAMETER SubBusyForMT-SMS-Param + -- optional + CODE local:31} + +sm-DeliveryFailure ERROR ::= { + PARAMETER SM-DeliveryFailureCause + CODE local:32} + +messageWaitingListFull ERROR ::= { + PARAMETER MessageWaitListFullParam + -- optional + CODE local:33} + +absentSubscriberSM ERROR ::= { + PARAMETER AbsentSubscriberSM-Param + -- optional + CODE local:6} + +-- Group Call errors +noGroupCallNumberAvailable ERROR ::= { + PARAMETER NoGroupCallNbParam + -- optional + CODE local:50} + +-- location service errors +unauthorizedRequestingNetwork ERROR ::= { + PARAMETER UnauthorizedRequestingNetwork-Param + -- optional + CODE local:52} + +unauthorizedLCSClient ERROR ::= { + PARAMETER UnauthorizedLCSClient-Param + -- optional + CODE local:53} + +positionMethodFailure ERROR ::= { + PARAMETER PositionMethodFailure-Param + -- optional + CODE local:54} + +unknownOrUnreachableLCSClient ERROR ::= { + PARAMETER UnknownOrUnreachableLCSClient-Param + -- optional + CODE local:58} + +mm-EventNotSupported ERROR ::= { + PARAMETER MM-EventNotSupported-Param + -- optional + CODE local:59} + +-- Secure transport errors +secureTransportError ERROR ::= { + PARAMETER SecureTransportErrorParam + CODE local:4} + +END + diff --git a/MAP/asn_src/GSM/MAP-ExtensionDataTypes.asn b/MAP/asn_src/GSM/MAP-ExtensionDataTypes.asn new file mode 100644 index 0000000..48e1988 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-ExtensionDataTypes.asn @@ -0,0 +1,39 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21) + version8(8)} DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +EXPORTS PrivateExtension, ExtensionContainer; + +-- IOC for private MAP extensions +MAP-EXTENSION ::= CLASS { + &ExtensionType OPTIONAL, + &extensionId OBJECT IDENTIFIER} + +-- The length of the Object Identifier shall not exceed 16 octets and the +-- number of components of the Object Identifier shall not exceed 16 +-- data types +ExtensionContainer ::= SEQUENCE { + privateExtensionList [0] PrivateExtensionList OPTIONAL, + pcs-Extensions [1] PCS-Extensions OPTIONAL, + ...} + +PrivateExtensionList ::= + SEQUENCE SIZE (1..maxNumOfPrivateExtensions) OF PrivateExtension + +PrivateExtension ::= SEQUENCE { + extId MAP-EXTENSION.&extensionId({ExtensionSet}), + extType MAP-EXTENSION.&ExtensionType({ExtensionSet}{@extId}) OPTIONAL} + +maxNumOfPrivateExtensions INTEGER ::= 10 + +ExtensionSet MAP-EXTENSION ::= + {...} + -- ExtensionSet is the set of all defined private extensions + +-- Unsupported private extensions shall be discarded if received. +PCS-Extensions ::= SEQUENCE {...} + +END + diff --git a/MAP/asn_src/GSM/MAP-GR-DataTypes.asn b/MAP/asn_src/GSM/MAP-GR-DataTypes.asn new file mode 100644 index 0000000..a248eb5 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-GR-DataTypes.asn @@ -0,0 +1,101 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-GR-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-GR-DataTypes(23) version8(8)} DEFINITIONS +IMPLICIT TAGS ::= +BEGIN + +EXPORTS + PrepareGroupCallArg, PrepareGroupCallRes, SendGroupCallEndSignalArg, + SendGroupCallEndSignalRes, ForwardGroupCallSignallingArg, + ProcessGroupCallSignallingArg; + +IMPORTS + ISDN-AddressString, IMSI, EMLPP-Priority, ASCI-CallReference + FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18) + version8(8)} + Ext-TeleserviceCode + FROM MAP-TS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-TS-Code(19) version8(8)} + Kc + FROM MAP-MS-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-MS-DataTypes(11) + version8(8)} + ExtensionContainer + FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21) + version8(8)}; + +PrepareGroupCallArg ::= SEQUENCE { + teleservice Ext-TeleserviceCode, + asciCallReference ASCI-CallReference, + codec-Info CODEC-Info, + cipheringAlgorithm CipheringAlgorithm, + groupKeyNumber [0] GroupKeyNumber OPTIONAL, + groupKey [1] Kc OPTIONAL, + priority [2] EMLPP-Priority OPTIONAL, + uplinkFree [3] NULL OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ...} + +PrepareGroupCallRes ::= SEQUENCE { + groupCallNumber ISDN-AddressString, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SendGroupCallEndSignalArg ::= SEQUENCE { + imsi IMSI OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SendGroupCallEndSignalRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ForwardGroupCallSignallingArg ::= SEQUENCE { + imsi IMSI OPTIONAL, + uplinkRequestAck [0] NULL OPTIONAL, + uplinkReleaseIndication [1] NULL OPTIONAL, + uplinkRejectCommand [2] NULL OPTIONAL, + uplinkSeizedCommand [3] NULL OPTIONAL, + uplinkReleaseCommand [4] NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + stateAttributes [5] StateAttributes OPTIONAL} + +ProcessGroupCallSignallingArg ::= SEQUENCE { + uplinkRequest [0] NULL OPTIONAL, + uplinkReleaseIndication [1] NULL OPTIONAL, + releaseGroupCall [2] NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +GroupKeyNumber ::= INTEGER(0..15) + +CODEC-Info ::= OCTET STRING(SIZE (5..10)) + +-- Refers to channel type +-- coded according to 3GPP TS 48.008 [49] and including Element identifier and Length +CipheringAlgorithm ::= OCTET STRING(SIZE (1)) + +-- Refers to 'permitted algorithms' in 'encryption information' +-- coded according to 3GPP TS 48.008 [49]: +-- Bits 8-1 +-- 8765 4321 +-- 0000 0001 No encryption +-- 0000 0010 GSM A5/1 +-- 0000 0100 GSM A5/2 +-- 0000 1000 GSM A5/3 +-- 0001 0000 GSM A5/4 +-- 0010 0000 GSM A5/5 +-- 0100 0000 GSM A5/6 +-- 1000 0000 GSM A5/7 +StateAttributes ::= SEQUENCE { + downlinkAttached [5] NULL OPTIONAL, + uplinkAttached [6] NULL OPTIONAL, + dualCommunication [7] NULL OPTIONAL, + callOriginator [8] NULL OPTIONAL} + +-- Refers to 3GPP TS 44.068 for definitions of StateAttributes fields. +END + diff --git a/MAP/asn_src/GSM/MAP-Group-Call-Operations.asn b/MAP/asn_src/GSM/MAP-Group-Call-Operations.asn new file mode 100644 index 0000000..f91b847 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-Group-Call-Operations.asn @@ -0,0 +1,45 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-Group-Call-Operations {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-Group-Call-Operations(22) + version8(8)} DEFINITIONS ::= +BEGIN + +EXPORTS + prepareGroupCall, sendGroupCallEndSignal, forwardGroupCallSignalling, + processGroupCallSignalling; + +IMPORTS + OPERATION + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + systemFailure, unexpectedDataValue, noGroupCallNumberAvailable + FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-Errors(10) version8(8)} + PrepareGroupCallArg, PrepareGroupCallRes, SendGroupCallEndSignalArg, + SendGroupCallEndSignalRes, ForwardGroupCallSignallingArg, + ProcessGroupCallSignallingArg + FROM MAP-GR-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-GR-DataTypes(23) + version8(8)}; + +prepareGroupCall OPERATION ::= { --Timer m + ARGUMENT PrepareGroupCallArg + RESULT PrepareGroupCallRes + ERRORS {systemFailure | noGroupCallNumberAvailable | unexpectedDataValue} + CODE local:39} + +sendGroupCallEndSignal OPERATION ::= { --Timer l + ARGUMENT SendGroupCallEndSignalArg + RESULT SendGroupCallEndSignalRes + CODE local:40} + +processGroupCallSignalling OPERATION ::= { --Timer s + ARGUMENT ProcessGroupCallSignallingArg + CODE local:41} + +forwardGroupCallSignalling OPERATION ::= { --Timer s + ARGUMENT ForwardGroupCallSignallingArg + CODE local:42} + +END + diff --git a/MAP/asn_src/GSM/MAP-LCS-DataTypes.asn b/MAP/asn_src/GSM/MAP-LCS-DataTypes.asn new file mode 100644 index 0000000..81acb8d --- /dev/null +++ b/MAP/asn_src/GSM/MAP-LCS-DataTypes.asn @@ -0,0 +1,370 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-LCS-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-LCS-DataTypes(25) version8(8)} DEFINITIONS +IMPLICIT TAGS ::= +BEGIN + +EXPORTS + RoutingInfoForLCS-Arg, RoutingInfoForLCS-Res, ProvideSubscriberLocation-Arg, + ProvideSubscriberLocation-Res, SubscriberLocationReport-Arg, + SubscriberLocationReport-Res, LocationType, LCSClientName, LCS-QoS, + Horizontal-Accuracy, ResponseTime, Ext-GeographicalInformation, + SupportedGADShapes, Add-GeographicalInformation, LCSRequestorID, + LCSCodeword; + +IMPORTS + AddressString, ISDN-AddressString, IMEI, IMSI, LMSI, SubscriberIdentity, + AgeOfLocationInformation, LCSClientExternalID, LCSClientInternalID, + LCSServiceTypeID + FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18) + version8(8)} + ExtensionContainer + FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21) + version8(8)} + USSD-DataCodingScheme, USSD-String + FROM MAP-SS-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-SS-DataTypes(14) + version8(8)} + APN + FROM MAP-MS-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-MS-DataTypes(11) + version8(8)} + Additional-Number + FROM MAP-SM-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-SM-DataTypes(16) + version8(8)}; + +RoutingInfoForLCS-Arg ::= SEQUENCE { + mlcNumber [0] ISDN-AddressString, + targetMS [1] SubscriberIdentity, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +RoutingInfoForLCS-Res ::= SEQUENCE { + targetMS [0] SubscriberIdentity, + lcsLocationInfo [1] LCSLocationInfo, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +LCSLocationInfo ::= SEQUENCE { + networkNode-Number ISDN-AddressString, + -- NetworkNode-number can be either msc-number or sgsn-number + lmsi [0] LMSI OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ..., + gprsNodeIndicator [2] NULL OPTIONAL, + -- gprsNodeIndicator is set only if the SGSN number is sent as the Network Node Number + additional-Number [3] Additional-Number OPTIONAL} + +ProvideSubscriberLocation-Arg ::= SEQUENCE { + locationType LocationType, + mlc-Number ISDN-AddressString, + lcs-ClientID [0] LCS-ClientID OPTIONAL, + privacyOverride [1] NULL OPTIONAL, + imsi [2] IMSI OPTIONAL, + msisdn [3] ISDN-AddressString OPTIONAL, + lmsi [4] LMSI OPTIONAL, + imei [5] IMEI OPTIONAL, + lcs-Priority [6] LCS-Priority OPTIONAL, + lcs-QoS [7] LCS-QoS OPTIONAL, + extensionContainer [8] ExtensionContainer OPTIONAL, + ..., + supportedGADShapes [9] SupportedGADShapes OPTIONAL, + lcs-ReferenceNumber [10] LCS-ReferenceNumber OPTIONAL, + lcsServiceTypeID [11] LCSServiceTypeID OPTIONAL, + lcsCodeword [12] LCSCodeword OPTIONAL} + +-- one of imsi or msisdn is mandatory +-- If a location estimate type indicates activate deferred location or cancel deferred +-- location, a lcs-Reference number shall be included. +LocationType ::= SEQUENCE { + locationEstimateType [0] LocationEstimateType, + ..., + deferredLocationEventType [1] DeferredLocationEventType OPTIONAL} + +LocationEstimateType ::= ENUMERATED { + currentLocation(0), currentOrLastKnownLocation(1), initialLocation(2), ..., + activateDeferredLocation(3), cancelDeferredLocation(4)} + +-- exception handling: +-- a ProvideSubscriberLocation-Arg containing an unrecognized LocationEstimateType +-- shall be rejected by the receiver with a return error cause of unexpected data value +DeferredLocationEventType ::= BIT STRING {msAvailable(0)}(SIZE (1..16)) + +-- exception handling +-- a ProvideSubscriberLocation-Arg containing other values than listed above in +-- DeferredLocationEventType shall be rejected by the receiver with a return error cause of +-- unexpected data value. +LCS-ClientID ::= SEQUENCE { + lcsClientType [0] LCSClientType, + lcsClientExternalID [1] LCSClientExternalID OPTIONAL, + lcsClientDialedByMS [2] AddressString OPTIONAL, + lcsClientInternalID [3] LCSClientInternalID OPTIONAL, + lcsClientName [4] LCSClientName OPTIONAL, + ..., + lcsAPN [5] APN OPTIONAL, + lcsRequestorID [6] LCSRequestorID OPTIONAL} + +LCSClientType ::= ENUMERATED { + emergencyServices(0), valueAddedServices(1), plmnOperatorServices(2), + lawfulInterceptServices(3), ... + } + +-- exception handling: +-- unrecognized values may be ignored if the LCS client uses the privacy override +-- otherwise, an unrecognized value shall be treated as unexpected data by a receiver +-- a return error shall then be returned if received in a MAP invoke +LCSClientName ::= SEQUENCE { + dataCodingScheme [0] USSD-DataCodingScheme, + nameString [2] NameString, + ...} + +-- The USSD-DataCodingScheme shall indicate use of the default alphabet through the +-- following encoding +-- bit 7 6 5 4 3 2 1 0 +-- 0 0 0 0 1 1 1 1 +NameString ::= USSD-String(SIZE (1..maxNameStringLength)) + +maxNameStringLength INTEGER ::= 63 + +LCSRequestorID ::= SEQUENCE { + dataCodingScheme [0] USSD-DataCodingScheme, + requestorIDString [1] RequestorIDString, + ...} + +RequestorIDString ::= USSD-String(SIZE (1..maxRequestorIDStringLength)) + +maxRequestorIDStringLength INTEGER ::= 127 + +LCS-Priority ::= OCTET STRING(SIZE (1)) + +-- 0 = highest priority +-- 1 = normal priority +-- all other values treated as 1 +LCS-QoS ::= SEQUENCE { + horizontal-accuracy [0] Horizontal-Accuracy OPTIONAL, + verticalCoordinateRequest [1] NULL OPTIONAL, + vertical-accuracy [2] Vertical-Accuracy OPTIONAL, + responseTime [3] ResponseTime OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ...} + +Horizontal-Accuracy ::= OCTET STRING(SIZE (1)) + +-- bit 8 = 0 +-- bits 7-1 = 7 bit Uncertainty Code defined in 3GPP TS 23.032. The horizontal location +-- error should be less than the error indicated by the uncertainty code with 67% +-- confidence. +Vertical-Accuracy ::= OCTET STRING(SIZE (1)) + +-- bit 8 = 0 +-- bits 7-1 = 7 bit Vertical Uncertainty Code defined in 3GPP TS 23.032. +-- The vertical location error should be less than the error indicated +-- by the uncertainty code with 67% confidence. +ResponseTime ::= SEQUENCE {responseTimeCategory ResponseTimeCategory, + ...} + +-- note: an expandable SEQUENCE simplifies later addition of a numeric response time. +ResponseTimeCategory ::= ENUMERATED {lowdelay(0), delaytolerant(1), ... + } + +-- exception handling: +-- an unrecognized value shall be treated the same as value 1 (delaytolerant) +SupportedGADShapes ::= BIT STRING { + ellipsoidPoint(0), ellipsoidPointWithUncertaintyCircle(1), + ellipsoidPointWithUncertaintyEllipse(2), polygon(3), + ellipsoidPointWithAltitude(4), + ellipsoidPointWithAltitudeAndUncertaintyElipsoid(5), ellipsoidArc(6) +}(SIZE (7..16)) + +-- A node shall mark in the BIT STRING all Shapes defined in 3GPP TS 23.032 it supports. +-- exception handling: bits 7 to 15 shall be ignored if received. +LCS-ReferenceNumber ::= OCTET STRING(SIZE (1)) + +LCSCodeword ::= SEQUENCE { + dataCodingScheme [0] USSD-DataCodingScheme, + lcsCodewordString [1] LCSCodewordString, + ...} + +LCSCodewordString ::= USSD-String(SIZE (1..maxLCSCodewordStringLength)) + +maxLCSCodewordStringLength INTEGER ::= 127 + +ProvideSubscriberLocation-Res ::= SEQUENCE { + locationEstimate Ext-GeographicalInformation, + ageOfLocationEstimate [0] AgeOfLocationInformation OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ..., + add-LocationEstimate [2] Add-GeographicalInformation OPTIONAL, + deferredmt-lrResponseIndicator [3] NULL OPTIONAL, + positioningData [4] PositioningDataInformation OPTIONAL} + +-- if deferredmt-lrResponseIndicator is set, locationEstimate is ignored. +-- the add-LocationEstimate parameter shall not be sent to a node that did not indicate the +-- geographic shapes supported in the ProvideSubscriberLocation-Arg +-- The locationEstimate and the add-locationEstimate parameters shall not be sent if +-- the supportedGADShapes parameter has been received in ProvideSubscriberLocation-Arg +-- and the shape encoded in locationEstimate or add-LocationEstimate is not marked +-- as supported in supportedGADShapes. In such a case ProvideSubscriberLocation +-- shall be rejected with error FacilityNotSupported with additional indication +-- shapeOfLocationEstimateNotSupported +Ext-GeographicalInformation ::= + OCTET STRING(SIZE (1..maxExt-GeographicalInformation)) + +-- Refers to geographical Information defined in 3GPP TS 23.032. +-- This is composed of 1 or more octets with an internal structure according to +-- 3GPP TS 23.032 +-- Octet 1: Type of shape, only the following shapes in 3GPP TS 23.032 are allowed: +-- (a) Ellipsoid point with uncertainty circle +-- (b) Ellipsoid point with uncertainty ellipse +-- (c) Ellipsoid point with altitude and uncertainty ellipsoid +-- (d) Ellipsoid Arc +-- (e) Ellipsoid Point +-- Any other value in octet 1 shall be treated as invalid +-- Octets 2 to 8 for case (a) – Ellipsoid point with uncertainty circle +-- Degrees of Latitude 3 octets +-- Degrees of Longitude 3 octets +-- Uncertainty code 1 octet +-- Octets 2 to 11 for case (b) – Ellipsoid point with uncertainty ellipse: +-- Degrees of Latitude 3 octets +-- Degrees of Longitude 3 octets +-- Uncertainty semi-major axis 1 octet +-- Uncertainty semi-minor axis 1 octet +-- Angle of major axis 1 octet +-- Confidence 1 octet +-- Octets 2 to 14 for case (c) – Ellipsoid point with altitude and uncertainty ellipsoid +-- Degrees of Latitude 3 octets +-- Degrees of Longitude 3 octets +-- Altitude 2 octets +-- Uncertainty semi-major axis 1 octet +-- Uncertainty semi-minor axis 1 octet +-- Angle of major axis 1 octet +-- Uncertainty altitude 1 octet +-- Confidence 1 octet +-- Octets 2 to 13 for case (d) – Ellipsoid Arc +-- Degrees of Latitude 3 octets +-- Degrees of Longitude 3 octets +-- Inner radius 2 octets +-- Uncertainty radius 1 octet +-- Offset angle 1 octet +-- Included angle 1 octet +-- Confidence 1 octet +-- Octets 2 to 7 for case (e) – Ellipsoid Point +-- Degrees of Latitude 3 octets +-- Degrees of Longitude 3 octets +-- +-- An Ext-GeographicalInformation parameter comprising more than one octet and +-- containing any other shape or an incorrect number of octets or coding according +-- to 3GPP TS 23.032 shall be treated as invalid data by a receiver. +-- +-- An Ext-GeographicalInformation parameter comprising one octet shall be discarded +-- by the receiver if an Add-GeographicalInformation parameter is received +-- in the same message. +-- +-- An Ext-GeographicalInformation parameter comprising one octet shall be treated as +-- invalid data by the receiver if an Add-GeographicalInformation parameter is not +-- received in the same message. +maxExt-GeographicalInformation INTEGER ::= + 20 + +-- the maximum length allows for further shapes in 3GPP TS 23.032 to be included in later +-- versions of 3GPP TS 29.002 +PositioningDataInformation ::= + OCTET STRING(SIZE (2..maxPositioningDataInformation)) + +-- Refers to the Positioning Data defined in 3GPP TS 49.031. +-- This is composed of 2 or more octets with an internal structure according to +-- 3GPP TS 49.031. +maxPositioningDataInformation INTEGER ::= + 10 + +-- +Add-GeographicalInformation ::= + OCTET STRING(SIZE (1..maxAdd-GeographicalInformation)) + +-- Refers to geographical Information defined in 3GPP TS 23.032. +-- This is composed of 1 or more octets with an internal structure according to +-- 3GPP TS 23.032 +-- Octet 1: Type of shape, all the shapes defined in 3GPP TS 23.032 are allowed: +-- Octets 2 to n (where n is the total number of octets necessary to encode the shape +-- according to 3GPP TS 23.032) are used to encode the shape itself in accordance with the +-- encoding defined in 3GPP TS 23.032 +-- +-- An Add-GeographicalInformation parameter, whether valid or invalid, received +-- together with a valid Ext-GeographicalInformation parameter in the same message +-- shall be discarded. +-- +-- An Add-GeographicalInformation parameter containing any shape not defined in +-- 3GPP TS 23.032 or an incorrect number of octets or coding according to +-- 3GPP TS 23.032 shall be treated as invalid data by a receiver if not received +-- together with a valid Ext-GeographicalInformation parameter in the same message. +maxAdd-GeographicalInformation INTEGER ::= + 91 + +-- the maximum length allows support for all the shapes currently defined in 3GPP TS 23.032 +SubscriberLocationReport-Arg ::= SEQUENCE { + lcs-Event LCS-Event, + lcs-ClientID LCS-ClientID, + lcsLocationInfo LCSLocationInfo, + msisdn [0] ISDN-AddressString OPTIONAL, + imsi [1] IMSI OPTIONAL, + imei [2] IMEI OPTIONAL, + na-ESRD [3] ISDN-AddressString OPTIONAL, + na-ESRK [4] ISDN-AddressString OPTIONAL, + locationEstimate [5] Ext-GeographicalInformation OPTIONAL, + ageOfLocationEstimate [6] AgeOfLocationInformation OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ..., + add-LocationEstimate [8] Add-GeographicalInformation OPTIONAL, + deferredmt-lrData [9] Deferredmt-lrData OPTIONAL, + lcs-ReferenceNumber [10] LCS-ReferenceNumber OPTIONAL, + positioningData [11] PositioningDataInformation OPTIONAL} + +-- one of msisdn or imsi is mandatory +-- a location estimate that is valid for the locationEstimate parameter should +-- be transferred in this parameter in preference to the add-LocationEstimate. +-- the deferredmt-lrData parameter shall be included if and only if the lcs-Event +-- indicates a deferredmt-lrResponse. +-- if the lcs-Event indicates a deferredmt-lrResponse then the locationEstimate +-- and the add-locationEstimate parameters shall not be sent if the +-- supportedGADShapes parameter had been received in ProvideSubscriberLocation-Arg +-- and the shape encoded in locationEstimate or add-LocationEstimate was not marked +-- as supported in supportedGADShapes. In such a case terminationCause +-- in deferredmt-lrData shall be present with value +-- shapeOfLocationEstimateNotSupported. +-- If a lcs event indicates deferred mt-lr response, the lcs-Reference number shall be +-- included. +Deferredmt-lrData ::= SEQUENCE { + deferredLocationEventType DeferredLocationEventType, + terminationCause [0] TerminationCause OPTIONAL, + lcsLocationInfo [1] LCSLocationInfo OPTIONAL, + ...} + +-- lcsLocationInfo may be included only if a terminationCause is present +-- indicating mt-lrRestart. +LCS-Event ::= ENUMERATED { + emergencyCallOrigination(0), emergencyCallRelease(1), mo-lr(2), ..., + deferredmt-lrResponse(3)} + +-- exception handling: +-- a SubscriberLocationReport-Arg containing an unrecognized LCS-Event +-- shall be rejected by a receiver with a return error cause of unexpected data value +TerminationCause ::= ENUMERATED { + normal(0), errorundefined(1), internalTimeout(2), congestion(3), + mt-lrRestart(4), privacyViolation(5), ..., + shapeOfLocationEstimateNotSupported(6)} + +-- mt-lrRestart shall be used to trigger the GMLC to restart the location procedure, +-- either because the sending node knows that the terminal has moved under coverage +-- of another MSC or SGSN (e.g. Send Identification received), or because the subscriber +-- has been deregistered due to a Cancel Location received from HLR. +-- +-- exception handling +-- an unrecognized value shall be treated the same as value 1 (errorundefined) +SubscriberLocationReport-Res ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +END diff --git a/MAP/asn_src/GSM/MAP-LocationServiceOperations.asn b/MAP/asn_src/GSM/MAP-LocationServiceOperations.asn new file mode 100644 index 0000000..8075528 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-LocationServiceOperations.asn @@ -0,0 +1,56 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-LocationServiceOperations {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-LocationServiceOperations(24) + version8(8)} DEFINITIONS ::= +BEGIN + +EXPORTS + provideSubscriberLocation, sendRoutingInfoForLCS, subscriberLocationReport; + +IMPORTS + OPERATION + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + systemFailure, dataMissing, unexpectedDataValue, facilityNotSupported, + unknownSubscriber, absentSubscriber, unauthorizedRequestingNetwork, + unauthorizedLCSClient, positionMethodFailure, resourceLimitation, + unknownOrUnreachableLCSClient, unidentifiedSubscriber, illegalEquipment, + illegalSubscriber + FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-Errors(10) version8(8)} + RoutingInfoForLCS-Arg, RoutingInfoForLCS-Res, ProvideSubscriberLocation-Arg, + ProvideSubscriberLocation-Res, SubscriberLocationReport-Arg, + SubscriberLocationReport-Res + FROM MAP-LCS-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-LCS-DataTypes(25) + version8(8)}; + +sendRoutingInfoForLCS OPERATION ::= { --Timer m + ARGUMENT RoutingInfoForLCS-Arg + RESULT RoutingInfoForLCS-Res + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported | + unknownSubscriber | absentSubscriber | unauthorizedRequestingNetwork} + CODE local:85} + +provideSubscriberLocation OPERATION ::= { --Timer ml + ARGUMENT ProvideSubscriberLocation-Arg + RESULT ProvideSubscriberLocation-Res + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported | + unidentifiedSubscriber | illegalSubscriber | illegalEquipment | + absentSubscriber | unauthorizedRequestingNetwork | unauthorizedLCSClient + | positionMethodFailure} + CODE local:83} + +subscriberLocationReport OPERATION ::= { --Timer m + ARGUMENT SubscriberLocationReport-Arg + RESULT SubscriberLocationReport-Res + ERRORS + {systemFailure | dataMissing | resourceLimitation | unexpectedDataValue | + unknownSubscriber | unauthorizedRequestingNetwork | + unknownOrUnreachableLCSClient} + CODE local:86} + +END + diff --git a/MAP/asn_src/GSM/MAP-MS-DataTypes.asn b/MAP/asn_src/GSM/MAP-MS-DataTypes.asn new file mode 100644 index 0000000..97e7359 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-MS-DataTypes.asn @@ -0,0 +1,2123 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-MS-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-MS-DataTypes(11) version8(8)} DEFINITIONS +IMPLICIT TAGS ::= +BEGIN + +EXPORTS + -- location registration types + UpdateLocationArg, UpdateLocationRes, CancelLocationArg, CancelLocationRes, + PurgeMS-Arg, PurgeMS-Res, SendIdentificationArg, SendIdentificationRes, + UpdateGprsLocationArg, UpdateGprsLocationRes, IST-SupportIndicator, + SupportedLCS-CapabilitySets, + -- gprs location registration types + GSN-Address, + -- handover types + ForwardAccessSignalling-Arg, PrepareHO-Arg, PrepareHO-Res, + PrepareSubsequentHO-Arg, PrepareSubsequentHO-Res, + ProcessAccessSignalling-Arg, SendEndSignal-Arg, + SendEndSignal-Res, + -- authentication management types + SendAuthenticationInfoArg, SendAuthenticationInfoRes, + AuthenticationFailureReportArg, + AuthenticationFailureReportRes, + -- security management types + Kc, + -- equipment management types + CheckIMEI-Arg, + CheckIMEI-Res, + -- subscriber management types + InsertSubscriberDataArg, InsertSubscriberDataRes, LSAIdentity, + DeleteSubscriberDataArg, DeleteSubscriberDataRes, Ext-QoS-Subscribed, + SubscriberData, ODB-Data, SubscriberStatus, ZoneCodeList, + maxNumOfZoneCodes, O-CSI, D-CSI, O-BcsmCamelTDPCriteriaList, + T-BCSM-CAMEL-TDP-CriteriaList, SS-CSI, ServiceKey, DefaultCallHandling, + CamelCapabilityHandling, BasicServiceCriteria, SupportedCamelPhases, + OfferedCamel4CSIs, OfferedCamel4Functionalities, maxNumOfCamelTDPData, + CUG-Index, CUG-Info, CUG-Interlock, InterCUG-Restrictions, + IntraCUG-Options, NotificationToMSUser, QoS-Subscribed, + IST-AlertTimerValue, T-CSI, T-BcsmTriggerDetectionPoint, + APN, + -- fault recovery types + ResetArg, RestoreDataArg, + RestoreDataRes, + -- provide subscriber info types + GeographicalInformation, MS-Classmark2, + GPRSMSClass, + -- subscriber information enquiry types + ProvideSubscriberInfoArg, ProvideSubscriberInfoRes, SubscriberInfo, + LocationInformation, LocationInformationGPRS, RAIdentity, SubscriberState, + GPRSChargingID, + -- any time information enquiry types + AnyTimeInterrogationArg, + AnyTimeInterrogationRes, + -- any time information handling types + AnyTimeSubscriptionInterrogationArg, AnyTimeSubscriptionInterrogationRes, + AnyTimeModificationArg, + AnyTimeModificationRes, + -- subscriber data modification notification types + NoteSubscriberDataModifiedArg, + NoteSubscriberDataModifiedRes, + -- gprs location information retrieval types + SendRoutingInfoForGprsArg, + SendRoutingInfoForGprsRes, + -- failure reporting types + FailureReportArg, + FailureReportRes, + -- gprs notification types + NoteMsPresentForGprsArg, + NoteMsPresentForGprsRes, + -- Mobility Management types + NoteMM-EventArg, NoteMM-EventRes; + +IMPORTS + maxNumOfSS, SS-SubscriptionOption, SS-List, SS-ForBS-Code, Password + FROM MAP-SS-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-SS-DataTypes(14) + version8(8)} + SS-Code + FROM MAP-SS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-SS-Code(15) version8(8)} + Ext-BearerServiceCode + FROM MAP-BS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-BS-Code(20) version8(8)} + Ext-TeleserviceCode + FROM MAP-TS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-TS-Code(19) version8(8)} + AddressString, ISDN-AddressString, ISDN-SubaddressString, FTN-AddressString, + AccessNetworkSignalInfo, IMSI, IMEI, TMSI, HLR-List, LMSI, Identity, + GlobalCellId, CellGlobalIdOrServiceAreaIdOrLAI, Ext-BasicServiceCode, + NAEA-PreferredCI, EMLPP-Info, MC-SS-Info, SubscriberIdentity, + AgeOfLocationInformation, LCSClientExternalID, LCSClientInternalID, + Ext-SS-Status, LCSServiceTypeID, ASCI-CallReference + FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18) + version8(8)} + ExtensionContainer + FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21) + version8(8)} + AbsentSubscriberDiagnosticSM + FROM MAP-ER-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ER-DataTypes(17) + version8(8)}; + +-- location registration types +UpdateLocationArg ::= SEQUENCE { + imsi IMSI, + msc-Number [1] ISDN-AddressString, + vlr-Number ISDN-AddressString, + lmsi [10] LMSI OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + vlr-Capability [6] VLR-Capability OPTIONAL, + informPreviousNetworkEntity [11] NULL OPTIONAL, + cs-LCS-NotSupportedByUE [12] NULL OPTIONAL} + +VLR-Capability ::= SEQUENCE { + supportedCamelPhases + [0] SupportedCamelPhases OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + solsaSupportIndicator [2] NULL OPTIONAL, + istSupportIndicator + [1] IST-SupportIndicator OPTIONAL, + superChargerSupportedInServingNetworkEntity + [3] SuperChargerInfo OPTIONAL, + longFTN-Supported [4] NULL OPTIONAL, + supportedLCS-CapabilitySets + [5] SupportedLCS-CapabilitySets OPTIONAL, + offeredCamel4CSIs + [6] OfferedCamel4CSIs OPTIONAL} + +SuperChargerInfo ::= CHOICE { + sendSubscriberData [0] NULL, + subscriberDataStored [1] AgeIndicator} + +AgeIndicator ::= OCTET STRING(SIZE (1..6)) + +-- The internal structure of this parameter is implementation specific. +IST-SupportIndicator ::= ENUMERATED { + basicISTSupported(0), istCommandSupported(1), ... + } + +-- exception handling: +-- reception of values > 1 shall be mapped to ' istCommandSupported ' +SupportedLCS-CapabilitySets ::= BIT STRING { + lcsCapabilitySet1(0), lcsCapabilitySet2(1), lcsCapabilitySet3(2) +}(SIZE (2..16)) + +-- Core network signalling capability set1 indicates LCS Release98 or Release99 version. +-- Core network signalling capability set2 indicates LCS Release4. +-- Core network signalling capability set3 indicates LCS Release5 or later version. +-- A node shall mark in the BIT STRING all LCS capability sets it supports. +-- If no bit is set then the sending node does not support LCS. +-- If the parameter is not sent by an VLR then the VLR may support at most capability set1. +-- If the parameter is not sent by an SGSN then no support for LCS is assumed. +-- An SGSN is not allowed to indicate support of capability set1. +-- Other bits than listed above shall be discarded. +UpdateLocationRes ::= SEQUENCE { + hlr-Number ISDN-AddressString, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CancelLocationArg ::= [3] SEQUENCE { + identity Identity, + cancellationType CancellationType OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CancellationType ::= ENUMERATED { + updateProcedure(0), subscriptionWithdraw(1), ... + } + +-- The HLR shall not send values other than listed above +CancelLocationRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +PurgeMS-Arg ::= [3] SEQUENCE { + imsi IMSI, + vlr-Number [0] ISDN-AddressString OPTIONAL, + sgsn-Number [1] ISDN-AddressString OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +PurgeMS-Res ::= SEQUENCE { + freezeTMSI [0] NULL OPTIONAL, + freezeP-TMSI [1] NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SendIdentificationArg ::= SEQUENCE { + tmsi TMSI, + numberOfRequestedVectors NumberOfRequestedVectors OPTIONAL, + -- within a dialogue numberOfRequestedVectors shall be present in + -- the first service request and shall not be present in subsequent service requests. + -- If received in a subsequent service request it shall be discarded. + segmentationProhibited NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SendIdentificationRes ::= [3] SEQUENCE { + imsi IMSI OPTIONAL, + -- IMSI shall be present in the first (or only) service response of a dialogue. + -- If multiple service requests are present in a dialogue then IMSI + -- shall not be present in any service response other than the first one. + authenticationSetList AuthenticationSetList OPTIONAL, + currentSecurityContext [2] CurrentSecurityContext OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +-- authentication management types +AuthenticationSetList ::= CHOICE { + tripletList [0] TripletList, + quintupletList [1] QuintupletList} + +TripletList ::= SEQUENCE SIZE (1..5) OF AuthenticationTriplet + +QuintupletList ::= SEQUENCE SIZE (1..5) OF AuthenticationQuintuplet + +AuthenticationTriplet ::= SEQUENCE {rand RAND, + sres SRES, + kc Kc, + ...} + +AuthenticationQuintuplet ::= SEQUENCE { + rand RAND, + xres XRES, + ck CK, + ik IK, + autn AUTN, + ...} + +CurrentSecurityContext ::= CHOICE { + gsm-SecurityContextData [0] GSM-SecurityContextData, + umts-SecurityContextData [1] UMTS-SecurityContextData} + +GSM-SecurityContextData ::= SEQUENCE {kc Kc, + cksn Cksn, + ...} + +UMTS-SecurityContextData ::= SEQUENCE {ck CK, + ik IK, + ksi KSI, + ...} + +RAND ::= OCTET STRING(SIZE (16)) + +SRES ::= OCTET STRING(SIZE (4)) + +Kc ::= OCTET STRING(SIZE (8)) + +XRES ::= OCTET STRING(SIZE (4..16)) + +CK ::= OCTET STRING(SIZE (16)) + +IK ::= OCTET STRING(SIZE (16)) + +AUTN ::= OCTET STRING(SIZE (16)) + +AUTS ::= OCTET STRING(SIZE (14)) + +Cksn ::= OCTET STRING(SIZE (1)) + +-- The internal structure is defined in 3GPP TS 24.008 +KSI ::= OCTET STRING(SIZE (1)) + +-- The internal structure is defined in 3GPP TS 24.008 +AuthenticationFailureReportArg ::= SEQUENCE { + imsi IMSI, + failureCause FailureCause, + extensionContainer ExtensionContainer OPTIONAL, + ..., + re-attempt BOOLEAN OPTIONAL, + accessType AccessType OPTIONAL, + rand RAND OPTIONAL, + vlr-Number [0] ISDN-AddressString OPTIONAL, + sgsn-Number [1] ISDN-AddressString OPTIONAL} + +AccessType ::= ENUMERATED { + call(0), emergencyCall(1), locationUpdating(2), supplementaryService(3), + shortMessage(4), gprsAttach(5), routingAreaUpdating(6), serviceRequest(7), + pdpContextActivation(8), pdpContextDeactivation(9), ..., + gprsDetach(10)} + +-- exception handling: +-- received values greater than 10 shall be ignored. +AuthenticationFailureReportRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +FailureCause ::= ENUMERATED {wrongUserResponse(0), wrongNetworkSignature(1)} + +-- gprs location registration types +UpdateGprsLocationArg ::= SEQUENCE { + imsi IMSI, + sgsn-Number ISDN-AddressString, + sgsn-Address GSN-Address, + extensionContainer ExtensionContainer OPTIONAL, + ..., + sgsn-Capability [0] SGSN-Capability OPTIONAL, + informPreviousNetworkEntity [1] NULL OPTIONAL, + ps-LCS-NotSupportedByUE [2] NULL OPTIONAL} + +SGSN-Capability ::= SEQUENCE { + solsaSupportIndicator NULL OPTIONAL, + extensionContainer + [1] ExtensionContainer OPTIONAL, + ..., + superChargerSupportedInServingNetworkEntity + [2] SuperChargerInfo OPTIONAL, + gprsEnhancementsSupportIndicator [3] NULL OPTIONAL, + supportedCamelPhases + [4] SupportedCamelPhases OPTIONAL, + supportedLCS-CapabilitySets + [5] SupportedLCS-CapabilitySets OPTIONAL, + offeredCamel4CSIs + [6] OfferedCamel4CSIs OPTIONAL} + +GSN-Address ::= OCTET STRING(SIZE (5..17)) + +-- Octets are coded according to TS 3GPP TS 23.003 [17] +UpdateGprsLocationRes ::= SEQUENCE { + hlr-Number ISDN-AddressString, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +-- handover types +ForwardAccessSignalling-Arg ::= [3] SEQUENCE { + an-APDU AccessNetworkSignalInfo, + integrityProtectionInfo [0] IntegrityProtectionInformation OPTIONAL, + encryptionInfo [1] EncryptionInformation OPTIONAL, + keyStatus [2] KeyStatus OPTIONAL, + allowedGSM-Algorithms [4] AllowedGSM-Algorithms OPTIONAL, + allowedUMTS-Algorithms [5] AllowedUMTS-Algorithms OPTIONAL, + radioResourceInformation [6] RadioResourceInformation OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ..., + radioResourceList [7] RadioResourceList OPTIONAL, + bssmap-ServiceHandover [9] BSSMAP-ServiceHandover OPTIONAL, + ranap-ServiceHandover [8] RANAP-ServiceHandover OPTIONAL, + bssmap-ServiceHandoverList [10] BSSMAP-ServiceHandoverList OPTIONAL, + currentlyUsedCodec [11] Codec OPTIONAL, + availableCodecsList [12] AvailableCodecsList OPTIONAL, + rab-ConfigurationIndicator [13] NULL OPTIONAL} + +AllowedGSM-Algorithms ::= OCTET STRING(SIZE (1)) + +-- internal structure is coded as Algorithm identifier octet from +-- Permitted Algorithms defined in 3GPP TS 48.008 +-- A node shall mark all GSM algorithms that are allowed in MSC-B +AllowedUMTS-Algorithms ::= SEQUENCE { + integrityProtectionAlgorithms + [0] PermittedIntegrityProtectionAlgorithms OPTIONAL, + encryptionAlgorithms [1] PermittedEncryptionAlgorithms OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +PermittedIntegrityProtectionAlgorithms ::= + OCTET STRING(SIZE (1..maxPermittedIntegrityProtectionAlgorithmsLength)) + +-- Octets contain a complete PermittedIntegrityProtectionAlgorithms data type +-- as defined in 3GPP TS 25.413, encoded according to the encoding scheme +-- mandated by 3GPP TS 25.413. +-- Padding bits are included, if needed, in the least significant bits of the +-- last octet of the octet string. +maxPermittedIntegrityProtectionAlgorithmsLength INTEGER ::= + 9 + +PermittedEncryptionAlgorithms ::= + OCTET STRING(SIZE (1..maxPermittedEncryptionAlgorithmsLength)) + +-- Octets contain a complete PermittedEncryptionAlgorithms data type +-- as defined in 3GPP TS 25.413, encoded according to the encoding scheme +-- mandated by 3GPP TS 25.413 +-- Padding bits are included, if needed, in the least significant bits of the +-- last octet of the octet string. +maxPermittedEncryptionAlgorithmsLength INTEGER ::= + 9 + +KeyStatus ::= ENUMERATED {old(0), new(1), ... + } + +-- exception handling: +-- received values in range 2-31 shall be treated as "old" +-- received values greater than 31 shall be treated as "new" +PrepareHO-Arg ::= [3] SEQUENCE { + targetCellId [0] GlobalCellId OPTIONAL, + ho-NumberNotRequired NULL OPTIONAL, + targetRNCId [1] RNCId OPTIONAL, + an-APDU [2] AccessNetworkSignalInfo OPTIONAL, + multipleBearerRequested [3] NULL OPTIONAL, + imsi [4] IMSI OPTIONAL, + integrityProtectionInfo [5] IntegrityProtectionInformation OPTIONAL, + encryptionInfo [6] EncryptionInformation OPTIONAL, + radioResourceInformation [7] RadioResourceInformation OPTIONAL, + allowedGSM-Algorithms [9] AllowedGSM-Algorithms OPTIONAL, + allowedUMTS-Algorithms [10] AllowedUMTS-Algorithms OPTIONAL, + radioResourceList [11] RadioResourceList OPTIONAL, + extensionContainer [8] ExtensionContainer OPTIONAL, + ..., + rab-Id [12] RAB-Id OPTIONAL, + bssmap-ServiceHandover [13] BSSMAP-ServiceHandover OPTIONAL, + ranap-ServiceHandover [14] RANAP-ServiceHandover OPTIONAL, + bssmap-ServiceHandoverList [15] BSSMAP-ServiceHandoverList OPTIONAL, + asciCallReference [20] ASCI-CallReference OPTIONAL, + geran-classmark [16] GERAN-Classmark OPTIONAL, + currentlyUsedCodec [17] Codec OPTIONAL, + availableCodecsList [18] AvailableCodecsList OPTIONAL, + rab-ConfigurationIndicator [19] NULL OPTIONAL, + uesbi [21] UESBI OPTIONAL} + +BSSMAP-ServiceHandoverList ::= + SEQUENCE SIZE (1..maxNumOfServiceHandovers) OF BSSMAP-ServiceHandoverInfo + +BSSMAP-ServiceHandoverInfo ::= SEQUENCE { + bssmap-ServiceHandover BSSMAP-ServiceHandover, + rab-Id RAB-Id, + -- RAB Identity is needed to relate the service handovers with the radio access bearers. + ...} + +maxNumOfServiceHandovers INTEGER ::= 7 + +BSSMAP-ServiceHandover ::= OCTET STRING(SIZE (1)) + +-- Octets are coded according the Service Handover information element in +-- 3GPP TS 48.008. +RANAP-ServiceHandover ::= OCTET STRING(SIZE (1)) + +-- Octet contains a complete Service-Handover data type +-- as defined in 3GPP TS 25.413, encoded according to the encoding scheme +-- mandated by 3GPP TS 25.413 +-- Padding bits are included in the least significant bits. +RadioResourceList ::= + SEQUENCE SIZE (1..maxNumOfRadioResources) OF RadioResource + +RadioResource ::= SEQUENCE { + radioResourceInformation RadioResourceInformation, + rab-Id RAB-Id, + -- RAB Identity is needed to relate the radio resources with the radio access bearers. + ...} + +maxNumOfRadioResources INTEGER ::= 7 + +PrepareHO-Res ::= [3] SEQUENCE { + handoverNumber [0] ISDN-AddressString OPTIONAL, + relocationNumberList [1] RelocationNumberList OPTIONAL, + an-APDU [2] AccessNetworkSignalInfo OPTIONAL, + multicallBearerInfo [3] MulticallBearerInfo OPTIONAL, + multipleBearerNotSupported NULL OPTIONAL, + selectedUMTS-Algorithms [5] SelectedUMTS-Algorithms OPTIONAL, + chosenRadioResourceInformation [6] ChosenRadioResourceInformation OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ..., + selectedCodec [7] Codec OPTIONAL} + +SelectedUMTS-Algorithms ::= SEQUENCE { + integrityProtectionAlgorithm + [0] ChosenIntegrityProtectionAlgorithm OPTIONAL, + encryptionAlgorithm [1] ChosenEncryptionAlgorithm OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +ChosenIntegrityProtectionAlgorithm ::= OCTET STRING(SIZE (1)) + +-- Octet contains a complete IntegrityProtectionAlgorithm data type +-- as defined in 3GPP TS 25.413, encoded according to the encoding scheme +-- mandated by 3GPP TS 25.413 +-- Padding bits are included in the least significant bits. +ChosenEncryptionAlgorithm ::= OCTET STRING(SIZE (1)) + +-- Octet contains a complete EncryptionAlgorithm data type +-- as defined in 3GPP TS 25.413, encoded according to the encoding scheme +-- mandated by 3GPP TS 25.413 +-- Padding bits are included in the least significant bits. +ChosenRadioResourceInformation ::= SEQUENCE { + chosenChannelInfo [0] ChosenChannelInfo OPTIONAL, + chosenSpeechVersion [1] ChosenSpeechVersion OPTIONAL, + ...} + +ChosenChannelInfo ::= OCTET STRING(SIZE (1)) + +-- Octets are coded according the Chosen Channel information element in 3GPP TS 48.008 +ChosenSpeechVersion ::= OCTET STRING(SIZE (1)) + +-- Octets are coded according the Speech Version (chosen) information element in 3GPP TS +-- 48.008 +PrepareSubsequentHO-Arg ::= [3] SEQUENCE { + targetCellId [0] GlobalCellId OPTIONAL, + targetMSC-Number [1] ISDN-AddressString, + targetRNCId [2] RNCId OPTIONAL, + an-APDU [3] AccessNetworkSignalInfo OPTIONAL, + selectedRab-Id [4] RAB-Id OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + ..., + geran-classmark [6] GERAN-Classmark OPTIONAL, + rab-ConfigurationIndicator [7] NULL OPTIONAL} + +PrepareSubsequentHO-Res ::= [3] SEQUENCE { + an-APDU AccessNetworkSignalInfo, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +ProcessAccessSignalling-Arg ::= [3] SEQUENCE { + an-APDU AccessNetworkSignalInfo, + selectedUMTS-Algorithms [1] SelectedUMTS-Algorithms OPTIONAL, + selectedGSM-Algorithm [2] SelectedGSM-Algorithm OPTIONAL, + chosenRadioResourceInformation [3] ChosenRadioResourceInformation OPTIONAL, + selectedRab-Id [4] RAB-Id OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ..., + selectedCodec [5] Codec OPTIONAL} + +AvailableCodecsList ::= SEQUENCE { + utranCodecList [0] CodecList OPTIONAL, + geranCodecList [1] CodecList OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +CodecList ::= SEQUENCE { + codec1 [1] Codec, + codec2 [2] Codec OPTIONAL, + codec3 [3] Codec OPTIONAL, + codec4 [4] Codec OPTIONAL, + codec5 [5] Codec OPTIONAL, + codec6 [6] Codec OPTIONAL, + codec7 [7] Codec OPTIONAL, + codec8 [8] Codec OPTIONAL, + extensionContainer [9] ExtensionContainer OPTIONAL, + ...} + +-- Codecs are sent in priority order where codec1 has highest priority +Codec ::= OCTET STRING(SIZE (1..4)) + +-- The internal structure is defined as follows: +-- octet 1 Coded as Codec Identification code in 3GPP TS 26.103 +-- octets 2,3,4 Parameters for the Codec as defined in 3GPP TS +-- 26.103, if available, length depending on the codec +GERAN-Classmark ::= OCTET STRING(SIZE (2..87)) + +-- Octets are coded according the GERAN Classmark information element in 3GPP TS 48.008 +SelectedGSM-Algorithm ::= OCTET STRING(SIZE (1)) + +-- internal structure is coded as Algorithm identifier octet from Chosen Encryption +-- Algorithm defined in 3GPP TS 48.008 +-- A node shall mark only the selected GSM algorithm +SendEndSignal-Arg ::= [3] SEQUENCE { + an-APDU AccessNetworkSignalInfo, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +SendEndSignal-Res ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +RNCId ::= OCTET STRING(SIZE (7)) + +-- The internal structure is defined as follows: +-- octet 1 bits 4321 Mobile Country Code 1st digit +-- bits 8765 Mobile Country Code 2nd digit +-- octet 2 bits 4321 Mobile Country Code 3rd digit +-- bits 8765 Mobile Network Code 3rd digit +-- or filler (1111) for 2 digit MNCs +-- octet 3 bits 4321 Mobile Network Code 1st digit +-- bits 8765 Mobile Network Code 2nd digit +-- octets 4 and 5 Location Area Code according to 3GPP TS 24.008 +-- octets 6 and 7 RNC Id value according to 3GPP TS 25.413 +RelocationNumberList ::= + SEQUENCE SIZE (1..maxNumOfRelocationNumber) OF RelocationNumber + +MulticallBearerInfo ::= INTEGER(1..maxNumOfRelocationNumber) + +RelocationNumber ::= SEQUENCE { + handoverNumber ISDN-AddressString, + rab-Id RAB-Id, + -- RAB Identity is needed to relate the calls with the radio access bearers. + ...} + +RAB-Id ::= INTEGER(1..maxNrOfRABs) + +maxNrOfRABs INTEGER ::= 255 + +maxNumOfRelocationNumber INTEGER ::= 7 + +RadioResourceInformation ::= OCTET STRING(SIZE (3..13)) + +-- Octets are coded according the Channel Type information element in 3GPP TS 48.008 +IntegrityProtectionInformation ::= + OCTET STRING(SIZE (18..maxNumOfIntegrityInfo)) + +-- Octets contain a complete IntegrityProtectionInformation data type +-- as defined in 3GPP TS 25.413, encoded according to the encoding scheme +-- mandated by 3GPP TS 25.413 +-- Padding bits are included, if needed, in the least significant bits of the +-- last octet of the octet string. +maxNumOfIntegrityInfo INTEGER ::= + 100 + +EncryptionInformation ::= OCTET STRING(SIZE (18..maxNumOfEncryptionInfo)) + +-- Octets contain a complete EncryptionInformation data type +-- as defined in 3GPP TS 25.413, encoded according to the encoding scheme +-- mandated by 3GPP TS 25.413 +-- Padding bits are included, if needed, in the least significant bits of the +-- last octet of the octet string. +maxNumOfEncryptionInfo INTEGER ::= + 100 + +-- authentication management types +SendAuthenticationInfoArg ::= SEQUENCE { + imsi [0] IMSI, + numberOfRequestedVectors NumberOfRequestedVectors, + segmentationProhibited NULL OPTIONAL, + immediateResponsePreferred [1] NULL OPTIONAL, + re-synchronisationInfo Re-synchronisationInfo OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + requestingNodeType [3] RequestingNodeType OPTIONAL} + +NumberOfRequestedVectors ::= INTEGER(1..5) + +Re-synchronisationInfo ::= SEQUENCE {rand RAND, + auts AUTS, + ...} + +SendAuthenticationInfoRes ::= [3] SEQUENCE { + authenticationSetList AuthenticationSetList OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +RequestingNodeType ::= ENUMERATED {vlr(0), sgsn(1), ... + } + +-- exception handling: +-- received values in the range 2-15 shall be treated as "vlr" +-- received values greater than 15 shall be treated as "sgsn" +-- equipment management types +CheckIMEI-Arg ::= SEQUENCE { + imei IMEI, + requestedEquipmentInfo RequestedEquipmentInfo, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CheckIMEI-Res ::= SEQUENCE { + equipmentStatus EquipmentStatus OPTIONAL, + bmuef UESBI OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +RequestedEquipmentInfo ::= BIT STRING {equipmentStatus(0), bmuef(1) +}(SIZE (2..8)) + +-- exception handling: reception of unknown bit assignments in the +-- RequestedEquipmentInfo data type shall be discarded by the receiver +UESBI ::= OCTET STRING(SIZE (10)) + +-- Octets are coded according the UESBI information element in 3GPP TS 25.413. +EquipmentStatus ::= ENUMERATED {whiteListed(0), blackListed(1), greyListed(2) +} + +-- subscriber management types +InsertSubscriberDataArg ::= SEQUENCE { + imsi [0] IMSI OPTIONAL, + COMPONENTS OF SubscriberData, + extensionContainer + [14] ExtensionContainer OPTIONAL, + ..., + naea-PreferredCI + [15] NAEA-PreferredCI OPTIONAL, + -- naea-PreferredCI is included at the discretion of the HLR operator. + gprsSubscriptionData + [16] GPRSSubscriptionData OPTIONAL, + roamingRestrictedInSgsnDueToUnsupportedFeature [23] NULL OPTIONAL, + networkAccessMode + [24] NetworkAccessMode OPTIONAL, + lsaInformation + [25] LSAInformation OPTIONAL, + lmu-Indicator [21] NULL OPTIONAL, + lcsInformation + [22] LCSInformation OPTIONAL, + istAlertTimer + [26] IST-AlertTimerValue OPTIONAL, + superChargerSupportedInHLR + [27] AgeIndicator OPTIONAL, + mc-SS-Info [28] MC-SS-Info OPTIONAL, + cs-AllocationRetentionPriority + [29] CS-AllocationRetentionPriority OPTIONAL, + sgsn-CAMEL-SubscriptionInfo + [17] SGSN-CAMEL-SubscriptionInfo OPTIONAL, + chargingCharacteristics + [18] ChargingCharacteristics OPTIONAL} + +-- If the Network Access Mode parameter is sent, it shall be present only in +-- the first sequence if seqmentation is used +CS-AllocationRetentionPriority ::= OCTET STRING(SIZE (1)) + +-- This data type encodes each priority level defined in TS 23.107 as the binary value +-- of the priority level. +IST-AlertTimerValue ::= INTEGER(15..255) + +LCSInformation ::= SEQUENCE { + gmlc-List [0] GMLC-List OPTIONAL, + lcs-PrivacyExceptionList [1] LCS-PrivacyExceptionList OPTIONAL, + molr-List [2] MOLR-List OPTIONAL, + ..., + add-lcs-PrivacyExceptionList [3] LCS-PrivacyExceptionList OPTIONAL} + +-- add-lcs-PrivacyExceptionList may be sent only if lcs-PrivacyExceptionList is +-- present and contains four instances of LCS-PrivacyClass. If the mentioned condition +-- is not satisfied the receiving node shall discard add-lcs-PrivacyExceptionList. +-- If an LCS-PrivacyClass is received both in lcs-PrivacyExceptionList and in +-- add-lcs-PrivacyExceptionList with the same SS-Code, then the error unexpected +-- data value shall be returned. +GMLC-List ::= SEQUENCE SIZE (1..maxNumOfGMLC) OF ISDN-AddressString + +-- if segmentation is used, the complete GMLC-List shall be sent in one segment +maxNumOfGMLC INTEGER ::= + 5 + +NetworkAccessMode ::= ENUMERATED { + bothMSCAndSGSN(0), onlyMSC(1), onlySGSN(2), ... + } + +-- if unknown values are received in NetworkAccessMode +-- they shall be discarded. +GPRSDataList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF PDP-Context + +maxNumOfPDP-Contexts INTEGER ::= 50 + +PDP-Context ::= SEQUENCE { + pdp-ContextId ContextId, + pdp-Type [16] PDP-Type, + pdp-Address [17] PDP-Address OPTIONAL, + qos-Subscribed [18] QoS-Subscribed, + vplmnAddressAllowed [19] NULL OPTIONAL, + apn [20] APN, + extensionContainer [21] ExtensionContainer OPTIONAL, + ..., + ext-QoS-Subscribed [0] Ext-QoS-Subscribed OPTIONAL, + pdp-ChargingCharacteristics [1] ChargingCharacteristics OPTIONAL} + +ContextId ::= INTEGER(1..maxNumOfPDP-Contexts) + +GPRSSubscriptionData ::= SEQUENCE { + completeDataListIncluded NULL OPTIONAL, + -- If segmentation is used, completeDataListIncluded may only be present in the + -- first segment. + gprsDataList [1] GPRSDataList, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +SGSN-CAMEL-SubscriptionInfo ::= SEQUENCE { + gprs-CSI [0] GPRS-CSI OPTIONAL, + mo-sms-CSI [1] SMS-CSI OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + mt-sms-CSI [3] SMS-CSI OPTIONAL, + mt-smsCAMELTDP-CriteriaList [4] MT-smsCAMELTDP-CriteriaList OPTIONAL, + mg-csi [5] MG-CSI OPTIONAL} + +GPRS-CSI ::= SEQUENCE { + gprs-CamelTDPDataList [0] GPRS-CamelTDPDataList OPTIONAL, + camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + notificationToCSE [3] NULL OPTIONAL, + csi-Active [4] NULL OPTIONAL, + ...} + +-- notificationToCSE and csi-Active shall not be present when GPRS-CSI is sent to SGSN. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- GPRS-CamelTDPData and camelCapabilityHandling shall be present in +-- the GPRS-CSI sequence. +-- If GPRS-CSI is segmented, gprs-CamelTDPDataList and camelCapabilityHandling shall be +-- present in the first segment +GPRS-CamelTDPDataList ::= + SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF GPRS-CamelTDPData + +-- GPRS-CamelTDPDataList shall not contain more than one instance of +-- GPRS-CamelTDPData containing the same value for gprs-TriggerDetectionPoint. +GPRS-CamelTDPData ::= SEQUENCE { + gprs-TriggerDetectionPoint [0] GPRS-TriggerDetectionPoint, + serviceKey [1] ServiceKey, + gsmSCF-Address [2] ISDN-AddressString, + defaultSessionHandling [3] DefaultGPRS-Handling, + extensionContainer [4] ExtensionContainer OPTIONAL, + ...} + +DefaultGPRS-Handling ::= ENUMERATED { + continueTransaction(0), releaseTransaction(1), ... + } + +-- exception handling: +-- reception of values in range 2-31 shall be treated as "continueTransaction" +-- reception of values greater than 31 shall be treated as "releaseTransaction" +GPRS-TriggerDetectionPoint ::= ENUMERATED { + attach(1), attachChangeOfPosition(2), pdp-ContextEstablishment(11), + pdp-ContextEstablishmentAcknowledgement(12), pdp-ContextChangeOfPosition(14), + ... + } + +-- exception handling: +-- For GPRS-CamelTDPData sequences containing this parameter with any +-- other value than the ones listed the receiver shall ignore the whole +-- GPRS-CamelTDPDatasequence. +APN ::= OCTET STRING(SIZE (2..63)) + +-- Octets are coded according to TS 3GPP TS 23.003 [17] +PDP-Type ::= OCTET STRING(SIZE (2)) + +-- Octets are coded according to TS 3GPP TS 29.060 [105] +PDP-Address ::= OCTET STRING(SIZE (1..16)) + +-- Octets are coded according to TS 3GPP TS 29.060 [105] +-- The possible size values are: +-- 1-7 octets X.25 address type +-- 4 octets IPv4 address type +-- 16 octets Ipv6 address type +QoS-Subscribed ::= OCTET STRING(SIZE (3)) + +-- Octets are coded according to TS 3GPP TS 24.008 [35] Quality of Service Octets +-- 3-5. +Ext-QoS-Subscribed ::= OCTET STRING(SIZE (1..9)) + +-- OCTET 1: +-- Allocation/Retention Priority (This octet encodes each priority level defined in +-- 23.107 as the binary value of the priority level, declaration in 29.060) +-- Octets 2-9 are coded according to 3GPP TS 24.008[35] Quality of Service Octets +-- 6-13. +ChargingCharacteristics ::= OCTET STRING(SIZE (2)) + +-- Octets are coded according to 3GPP TS 32.015. +LSAOnlyAccessIndicator ::= ENUMERATED { + accessOutsideLSAsAllowed(0), accessOutsideLSAsRestricted(1)} + +LSADataList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF LSAData + +maxNumOfLSAs INTEGER ::= 20 + +LSAData ::= SEQUENCE { + lsaIdentity [0] LSAIdentity, + lsaAttributes [1] LSAAttributes, + lsaActiveModeIndicator [2] NULL OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +LSAInformation ::= SEQUENCE { + completeDataListIncluded NULL OPTIONAL, + -- If segmentation is used, completeDataListIncluded may only be present in the + -- first segment. + lsaOnlyAccessIndicator [1] LSAOnlyAccessIndicator OPTIONAL, + lsaDataList [2] LSADataList OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +LSAIdentity ::= OCTET STRING(SIZE (3)) + +-- Octets are coded according to TS 3GPP TS 23.003 [17] +LSAAttributes ::= OCTET STRING(SIZE (1)) + +-- Octets are coded according to TS 3GPP TS 48.008 [49] +SubscriberData ::= SEQUENCE { + msisdn [1] ISDN-AddressString OPTIONAL, + category [2] Category OPTIONAL, + subscriberStatus [3] SubscriberStatus OPTIONAL, + bearerServiceList [4] BearerServiceList OPTIONAL, + -- The exception handling for reception of unsupported / not allocated + -- bearerServiceCodes is defined in section 8.8.1 + teleserviceList [6] TeleserviceList OPTIONAL, + -- The exception handling for reception of unsupported / not allocated + -- teleserviceCodes is defined in section 8.8.1 + provisionedSS [7] Ext-SS-InfoList OPTIONAL, + odb-Data [8] ODB-Data OPTIONAL, + roamingRestrictionDueToUnsupportedFeature [9] NULL OPTIONAL, + regionalSubscriptionData [10] ZoneCodeList OPTIONAL, + vbsSubscriptionData [11] VBSDataList OPTIONAL, + vgcsSubscriptionData [12] VGCSDataList OPTIONAL, + vlrCamelSubscriptionInfo + [13] VlrCamelSubscriptionInfo OPTIONAL} + +Category ::= OCTET STRING(SIZE (1)) + +-- The internal structure is defined in ITU-T Rec Q.763. +SubscriberStatus ::= ENUMERATED { + serviceGranted(0), operatorDeterminedBarring(1)} + +BearerServiceList ::= + SEQUENCE SIZE (1..maxNumOfBearerServices) OF Ext-BearerServiceCode + +maxNumOfBearerServices INTEGER ::= 50 + +TeleserviceList ::= + SEQUENCE SIZE (1..maxNumOfTeleservices) OF Ext-TeleserviceCode + +maxNumOfTeleservices INTEGER ::= 20 + +ODB-Data ::= SEQUENCE { + odb-GeneralData ODB-GeneralData, + odb-HPLMN-Data ODB-HPLMN-Data OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ODB-GeneralData ::= BIT STRING { + allOG-CallsBarred(0), internationalOGCallsBarred(1), + internationalOGCallsNotToHPLMN-CountryBarred(2), interzonalOGCallsBarred(6), + interzonalOGCallsNotToHPLMN-CountryBarred(7), + interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred(8), + premiumRateInformationOGCallsBarred(3), + premiumRateEntertainementOGCallsBarred(4), ss-AccessBarred(5), + allECT-Barred(9), chargeableECT-Barred(10), internationalECT-Barred(11), + interzonalECT-Barred(12), doublyChargeableECT-Barred(13), + multipleECT-Barred(14), allPacketOrientedServicesBarred(15), + roamerAccessToHPLMN-AP-Barred(16), roamerAccessToVPLMN-AP-Barred(17), + roamingOutsidePLMNOG-CallsBarred(18), allIC-CallsBarred(19), + roamingOutsidePLMNIC-CallsBarred(20), + roamingOutsidePLMNICountryIC-CallsBarred(21), roamingOutsidePLMN-Barred(22), + roamingOutsidePLMN-CountryBarred(23), registrationAllCF-Barred(24), + registrationCFNotToHPLMN-Barred(25), registrationInterzonalCF-Barred(26), + registrationInterzonalCFNotToHPLMN-Barred(27), + registrationInternationalCF-Barred(28)}(SIZE (15..32)) + +-- exception handling: reception of unknown bit assignments in the +-- ODB-GeneralData type shall be treated like unsupported ODB-GeneralData +-- When the ODB-GeneralData type is removed from the HLR for a given subscriber, +-- in NoteSubscriberDataModified operation sent toward the gsmSCF +-- all bits shall be set to “O“. +ODB-HPLMN-Data ::= BIT STRING { + plmn-SpecificBarringType1(0), plmn-SpecificBarringType2(1), + plmn-SpecificBarringType3(2), plmn-SpecificBarringType4(3)}(SIZE (4..32)) + +-- exception handling: reception of unknown bit assignments in the +-- ODB-HPLMN-Data type shall be treated like unsupported ODB-HPLMN-Data +-- When the ODB-HPLMN-Data type is removed from the HLR for a given subscriber, +-- in NoteSubscriberDataModified operation sent toward the gsmSCF +-- all bits shall be set to “O“. +Ext-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF Ext-SS-Info + +Ext-SS-Info ::= CHOICE { + forwardingInfo [0] Ext-ForwInfo, + callBarringInfo [1] Ext-CallBarInfo, + cug-Info [2] CUG-Info, + ss-Data [3] Ext-SS-Data, + emlpp-Info [4] EMLPP-Info} + +Ext-ForwInfo ::= SEQUENCE { + ss-Code SS-Code, + forwardingFeatureList Ext-ForwFeatureList, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +Ext-ForwFeatureList ::= + SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF Ext-ForwFeature + +Ext-ForwFeature ::= SEQUENCE { + basicService Ext-BasicServiceCode OPTIONAL, + ss-Status [4] Ext-SS-Status, + forwardedToNumber [5] ISDN-AddressString OPTIONAL, + -- When this data type is sent from an HLR which supports CAMEL Phase 2 + -- to a VLR that supports CAMEL Phase 2 the VLR shall not check the + -- format of the number + forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL, + forwardingOptions [6] Ext-ForwOptions OPTIONAL, + noReplyConditionTime [7] Ext-NoRepCondTime OPTIONAL, + extensionContainer [9] ExtensionContainer OPTIONAL, + ..., + longForwardedToNumber [10] FTN-AddressString OPTIONAL} + +Ext-ForwOptions ::= OCTET STRING(SIZE (1..5)) + +-- OCTET 1: +-- bit 8: notification to forwarding party +-- 0 no notification +-- 1 notification +-- bit 7: redirecting presentation +-- 0 no presentation +-- 1 presentation +-- bit 6: notification to calling party +-- 0 no notification +-- 1 notification +-- bit 5: 0 (unused) +-- bits 43: forwarding reason +-- 00 ms not reachable +-- 01 ms busy +-- 10 no reply +-- 11 unconditional +-- bits 21: 00 (unused) +-- OCTETS 2-5: reserved for future use. They shall be discarded if +-- received and not understood. +Ext-NoRepCondTime ::= INTEGER(1..100) + +-- Only values 5-30 are used. +-- Values in the ranges 1-4 and 31-100 are reserved for future use +-- If received: +-- values 1-4 shall be mapped on to value 5 +-- values 31-100 shall be mapped on to value 30 +Ext-CallBarInfo ::= SEQUENCE { + ss-Code SS-Code, + callBarringFeatureList Ext-CallBarFeatureList, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +Ext-CallBarFeatureList ::= + SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF Ext-CallBarringFeature + +Ext-CallBarringFeature ::= SEQUENCE { + basicService Ext-BasicServiceCode OPTIONAL, + ss-Status [4] Ext-SS-Status, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CUG-Info ::= SEQUENCE { + cug-SubscriptionList CUG-SubscriptionList, + cug-FeatureList CUG-FeatureList OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +CUG-SubscriptionList ::= SEQUENCE SIZE (0..maxNumOfCUG) OF CUG-Subscription + +CUG-Subscription ::= SEQUENCE { + cug-Index CUG-Index, + cug-Interlock CUG-Interlock, + intraCUG-Options IntraCUG-Options, + basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +CUG-Index ::= INTEGER(0..32767) + +-- The internal structure is defined in ETS 300 138. +CUG-Interlock ::= OCTET STRING(SIZE (4)) + +IntraCUG-Options ::= ENUMERATED { + noCUG-Restrictions(0), cugIC-CallBarred(1), cugOG-CallBarred(2)} + +maxNumOfCUG INTEGER ::= 10 + +CUG-FeatureList ::= + SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF CUG-Feature + +Ext-BasicServiceGroupList ::= + SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF Ext-BasicServiceCode + +maxNumOfExt-BasicServiceGroups INTEGER ::= 32 + +CUG-Feature ::= SEQUENCE { + basicService Ext-BasicServiceCode OPTIONAL, + preferentialCUG-Indicator CUG-Index OPTIONAL, + interCUG-Restrictions InterCUG-Restrictions, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +InterCUG-Restrictions ::= OCTET STRING(SIZE (1)) + +-- bits 876543: 000000 (unused) +-- Exception handling: +-- bits 876543 shall be ignored if received and not understood +-- bits 21 +-- 00 CUG only facilities +-- 01 CUG with outgoing access +-- 10 CUG with incoming access +-- 11 CUG with both outgoing and incoming access +Ext-SS-Data ::= SEQUENCE { + ss-Code SS-Code, + ss-Status [4] Ext-SS-Status, + ss-SubscriptionOption SS-SubscriptionOption OPTIONAL, + basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + ...} + +LCS-PrivacyExceptionList ::= + SEQUENCE SIZE (1..maxNumOfPrivacyClass) OF LCS-PrivacyClass + +maxNumOfPrivacyClass INTEGER ::= 4 + +LCS-PrivacyClass ::= SEQUENCE { + ss-Code SS-Code, + ss-Status Ext-SS-Status, + notificationToMSUser [0] NotificationToMSUser OPTIONAL, + -- notificationToMSUser may be sent only for SS-codes callSessionRelated + -- and callSessionUnrelated. If not received for SS-codes callSessionRelated + -- and callSessionUnrelated, + -- the default values according to 3GPP TS 23.271 shall be assumed. + externalClientList [1] ExternalClientList OPTIONAL, + -- externalClientList may be sent only for SS-code callSessionUnrelated to a + -- visited node that does not support LCS Release 4 or later versions. + -- externalClientList may be sent only for SS-codes callSessionUnrelated and + -- callSessionRelated to a visited node that supports LCS Release 4 or later versions. + plmnClientList [2] PLMNClientList OPTIONAL, + -- plmnClientList may be sent only for SS-code plmnoperator. + extensionContainer [3] ExtensionContainer OPTIONAL, + ..., + ext-externalClientList [4] Ext-ExternalClientList OPTIONAL, + -- Ext-externalClientList may be sent only if the visited node supports LCS Release 4 or + -- later versions, the user did specify more than 5 clients, and White Book SCCP is used. + serviceTypeList [5] ServiceTypeList OPTIONAL} + -- serviceTypeList may be sent only for SS-code serviceType and if the visited node + -- supports LCS Release 5 or later versions. + -- + -- if segmentation is used, the complete LCS-PrivacyClass shall be sent in one segment + +ExternalClientList ::= + SEQUENCE SIZE (0..maxNumOfExternalClient) OF ExternalClient + +maxNumOfExternalClient INTEGER ::= 5 + +PLMNClientList ::= SEQUENCE SIZE (1..maxNumOfPLMNClient) OF LCSClientInternalID + +maxNumOfPLMNClient INTEGER ::= 5 + +Ext-ExternalClientList ::= + SEQUENCE SIZE (1..maxNumOfExt-ExternalClient) OF ExternalClient + +maxNumOfExt-ExternalClient INTEGER ::= 35 + +ExternalClient ::= SEQUENCE { + clientIdentity LCSClientExternalID, + gmlc-Restriction [0] GMLC-Restriction OPTIONAL, + notificationToMSUser [1] NotificationToMSUser OPTIONAL, + -- If notificationToMSUser is not received, the default value according to + -- 3GPP TS 23.271 shall be assumed. + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +GMLC-Restriction ::= ENUMERATED {gmlc-List(0), home-Country(1), ... + } + +-- exception handling: +-- At reception of any other value than the ones listed the receiver shall ignore +-- GMLC-Restriction. +NotificationToMSUser ::= ENUMERATED { + notifyLocationAllowed(0), notifyAndVerify-LocationAllowedIfNoResponse(1), + notifyAndVerify-LocationNotAllowedIfNoResponse(2), ..., + locationNotAllowed(3)} + +-- exception handling: +-- At reception of any other value than the ones listed the receiver shall ignore +-- NotificationToMSUser. +ServiceTypeList ::= SEQUENCE SIZE (1..maxNumOfServiceType) OF ServiceType + +maxNumOfServiceType INTEGER ::= 32 + +ServiceType ::= SEQUENCE { + serviceTypeIdentity LCSServiceTypeID, + gmlc-Restriction [0] GMLC-Restriction OPTIONAL, + notificationToMSUser [1] NotificationToMSUser OPTIONAL, + -- If notificationToMSUser is not received, the default value according to + -- 3GPP TS 23.271 shall be assumed. + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +MOLR-List ::= SEQUENCE SIZE (1..maxNumOfMOLR-Class) OF MOLR-Class + +maxNumOfMOLR-Class INTEGER ::= 3 + +MOLR-Class ::= SEQUENCE { + ss-Code SS-Code, + ss-Status Ext-SS-Status, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +ZoneCodeList ::= SEQUENCE SIZE (1..maxNumOfZoneCodes) OF ZoneCode + +ZoneCode ::= OCTET STRING(SIZE (2)) + +-- internal structure is defined in TS 3GPP TS 23.003 [17] +maxNumOfZoneCodes INTEGER ::= + 10 + +InsertSubscriberDataRes ::= SEQUENCE { + teleserviceList [1] TeleserviceList OPTIONAL, + bearerServiceList [2] BearerServiceList OPTIONAL, + ss-List [3] SS-List OPTIONAL, + odb-GeneralData [4] ODB-GeneralData OPTIONAL, + regionalSubscriptionResponse [5] RegionalSubscriptionResponse OPTIONAL, + supportedCamelPhases [6] SupportedCamelPhases OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ..., + offeredCamel4CSIs [8] OfferedCamel4CSIs OPTIONAL} + +RegionalSubscriptionResponse ::= ENUMERATED { + networkNode-AreaRestricted(0), tooManyZoneCodes(1), zoneCodesConflict(2), + regionalSubscNotSupported(3)} + +DeleteSubscriberDataArg ::= SEQUENCE { + imsi [0] IMSI, + basicServiceList + [1] BasicServiceList OPTIONAL, + -- The exception handling for reception of unsupported/not allocated + -- basicServiceCodes is defined in section 6.8.2 + ss-List [2] SS-List OPTIONAL, + roamingRestrictionDueToUnsupportedFeature [4] NULL OPTIONAL, + regionalSubscriptionIdentifier [5] ZoneCode OPTIONAL, + vbsGroupIndication [7] NULL OPTIONAL, + vgcsGroupIndication [8] NULL OPTIONAL, + camelSubscriptionInfoWithdraw [9] NULL OPTIONAL, + extensionContainer + [6] ExtensionContainer OPTIONAL, + ..., + gprsSubscriptionDataWithdraw + [10] GPRSSubscriptionDataWithdraw OPTIONAL, + roamingRestrictedInSgsnDueToUnsuppportedFeature [11] NULL OPTIONAL, + lsaInformationWithdraw + [12] LSAInformationWithdraw OPTIONAL, + gmlc-ListWithdraw [13] NULL OPTIONAL, + istInformationWithdraw [14] NULL OPTIONAL, + specificCSI-Withdraw + [15] SpecificCSI-Withdraw OPTIONAL} + +SpecificCSI-Withdraw ::= BIT STRING { + o-csi(0), ss-csi(1), tif-csi(2), d-csi(3), vt-csi(4), mo-sms-csi(5), + m-csi(6), gprs-csi(7), t-csi(8), mt-sms-csi(9), mg-csi(10), o-IM-CSI(11), + d-IM-CSI(12), vt-IM-CSI(13)}(SIZE (8..32)) + +-- exception handling: +-- bits 11 to 31 shall be ignored if received by a non-IP Multimedia Core Network entity. +-- bits 0-10 and 14-31 shall be ignored if received by an IP Multimedia Core Network entity. +-- bits 11-13 are only applicable in an IP Multimedia Core Network. +-- Bit 8 and bits 11-13 are only applicable for the NoteSubscriberDataModified operation. +GPRSSubscriptionDataWithdraw ::= CHOICE { + allGPRSData NULL, + contextIdList ContextIdList} + +ContextIdList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF ContextId + +LSAInformationWithdraw ::= CHOICE { + allLSAData NULL, + lsaIdentityList LSAIdentityList} + +LSAIdentityList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF LSAIdentity + +BasicServiceList ::= + SEQUENCE SIZE (1..maxNumOfBasicServices) OF Ext-BasicServiceCode + +maxNumOfBasicServices INTEGER ::= 70 + +DeleteSubscriberDataRes ::= SEQUENCE { + regionalSubscriptionResponse [0] RegionalSubscriptionResponse OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +VlrCamelSubscriptionInfo ::= SEQUENCE { + o-CSI [0] O-CSI OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ..., + ss-CSI [2] SS-CSI OPTIONAL, + o-BcsmCamelTDP-CriteriaList [4] O-BcsmCamelTDPCriteriaList OPTIONAL, + tif-CSI [3] NULL OPTIONAL, + m-CSI [5] M-CSI OPTIONAL, + mo-sms-CSI [6] SMS-CSI OPTIONAL, + vt-CSI [7] T-CSI OPTIONAL, + t-BCSM-CAMEL-TDP-CriteriaList [8] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL, + d-CSI [9] D-CSI OPTIONAL, + mt-sms-CSI [10] SMS-CSI OPTIONAL, + mt-smsCAMELTDP-CriteriaList [11] MT-smsCAMELTDP-CriteriaList OPTIONAL} + +MT-smsCAMELTDP-CriteriaList ::= + SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF MT-smsCAMELTDP-Criteria + +MT-smsCAMELTDP-Criteria ::= SEQUENCE { + sms-TriggerDetectionPoint SMS-TriggerDetectionPoint, + tpdu-TypeCriterion [0] TPDU-TypeCriterion OPTIONAL, + ...} + +TPDU-TypeCriterion ::= SEQUENCE SIZE (1..maxNumOfTPDUTypes) OF MT-SMS-TPDU-Type + +maxNumOfTPDUTypes INTEGER ::= 5 + +MT-SMS-TPDU-Type ::= ENUMERATED { + sms-DELIVER(0), sms-SUBMIT-REPORT(1), sms-STATUS-REPORT(2), ... + } + +-- exception handling: +-- For TPDU-TypeCriterion sequences containing this parameter with any +-- other value than the ones listed above the receiver shall ignore +-- the whole TPDU-TypeCriterion sequence. +-- In CAMEL phase 4, sms-SUBMIT-REPORT shall not be used and a received TPDU-TypeCriterion +-- sequence containing sms-SUBMIT-REPORT shall be wholly ignored. +D-CSI ::= SEQUENCE { + dp-AnalysedInfoCriteriaList [0] DP-AnalysedInfoCriteriaList OPTIONAL, + camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + notificationToCSE [3] NULL OPTIONAL, + csi-Active [4] NULL OPTIONAL, + ...} + +-- notificationToCSE and csi-Active shall not be present when D-CSI is sent to VLR/GMSC. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- DP-AnalysedInfoCriteria and camelCapabilityHandling shall be present in +-- the D-CSI sequence. +-- If D-CSI is segmented, dp-AnalysedInfoCriteriaList and camelCapabilityHandling shall be +-- present in the first segment +DP-AnalysedInfoCriteriaList ::= + SEQUENCE SIZE (1..maxNumOfDP-AnalysedInfoCriteria) OF + DP-AnalysedInfoCriterium + +maxNumOfDP-AnalysedInfoCriteria INTEGER ::= 10 + +DP-AnalysedInfoCriterium ::= SEQUENCE { + dialledNumber ISDN-AddressString, + serviceKey ServiceKey, + gsmSCF-Address ISDN-AddressString, + defaultCallHandling DefaultCallHandling, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SS-CSI ::= SEQUENCE { + ss-CamelData SS-CamelData, + extensionContainer ExtensionContainer OPTIONAL, + ..., + notificationToCSE [0] NULL OPTIONAL, + csi-Active [1] NULL OPTIONAL} + -- notificationToCSE and csi-Active shall not be present when SS-CSI is sent to VLR. + -- They may only be included in ATSI/ATM ack/NSDC message. + +SS-CamelData ::= SEQUENCE { + ss-EventList SS-EventList, + gsmSCF-Address ISDN-AddressString, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +SS-EventList ::= SEQUENCE SIZE (1..maxNumOfCamelSSEvents) OF SS-Code + +-- Actions for the following SS-Code values are defined in CAMEL Phase 3: +-- ect SS-Code ::= '00110001'B +-- multiPTY SS-Code ::= '01010001'B +-- cd SS-Code ::= '00100100'B +-- ccbs SS-Code ::= '01000100'B +-- all other SS codes shall be ignored +-- When SS-CSI is sent to the VLR, it shall not contain a marking for ccbs. +-- If the VLR receives SS-CSI containing a marking for ccbs, the VLR shall discard the +-- ccbs marking in SS-CSI. +maxNumOfCamelSSEvents INTEGER ::= + 10 + +O-CSI ::= SEQUENCE { + o-BcsmCamelTDPDataList O-BcsmCamelTDPDataList, + extensionContainer ExtensionContainer OPTIONAL, + ..., + camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL, + notificationToCSE [1] NULL OPTIONAL, + csiActive [2] NULL OPTIONAL} + +-- notificationtoCSE and csiActive shall not be present when O-CSI is sent to VLR/GMSC. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- O-CSI shall not be segmented. +O-BcsmCamelTDPDataList ::= + SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF O-BcsmCamelTDPData + +-- O-BcsmCamelTDPDataList shall not contain more than one instance of +-- O-BcsmCamelTDPData containing the same value for o-BcsmTriggerDetectionPoint. +-- For CAMEL Phase 2, this means that only one instance of O-BcsmCamelTDPData is allowed +-- with o-BcsmTriggerDetectionPoint being equal to DP2. +maxNumOfCamelTDPData INTEGER ::= + 10 + +O-BcsmCamelTDPData ::= SEQUENCE { + o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint, + serviceKey ServiceKey, + gsmSCF-Address [0] ISDN-AddressString, + defaultCallHandling [1] DefaultCallHandling, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +ServiceKey ::= INTEGER(0..2147483647) + +O-BcsmTriggerDetectionPoint ::= ENUMERATED { + collectedInfo(2), ..., + routeSelectFailure(4)} + +-- exception handling: +-- For O-BcsmCamelTDPData sequences containing this parameter with any +-- other value than the ones listed the receiver shall ignore the whole +-- O-BcsmCamelTDPDatasequence. +-- For O-BcsmCamelTDP-Criteria sequences containing this parameter with any +-- other value than the ones listed the receiver shall ignore the whole +-- O-BcsmCamelTDP-Criteria sequence. +O-BcsmCamelTDPCriteriaList ::= + SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF O-BcsmCamelTDP-Criteria + +T-BCSM-CAMEL-TDP-CriteriaList ::= + SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF T-BCSM-CAMEL-TDP-Criteria + +O-BcsmCamelTDP-Criteria ::= SEQUENCE { + o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint, + destinationNumberCriteria [0] DestinationNumberCriteria OPTIONAL, + basicServiceCriteria [1] BasicServiceCriteria OPTIONAL, + callTypeCriteria [2] CallTypeCriteria OPTIONAL, + ..., + o-CauseValueCriteria [3] O-CauseValueCriteria OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL} + +T-BCSM-CAMEL-TDP-Criteria ::= SEQUENCE { + t-BCSM-TriggerDetectionPoint T-BcsmTriggerDetectionPoint, + basicServiceCriteria [0] BasicServiceCriteria OPTIONAL, + t-CauseValueCriteria [1] T-CauseValueCriteria OPTIONAL, + ...} + +DestinationNumberCriteria ::= SEQUENCE { + matchType [0] MatchType, + destinationNumberList [1] DestinationNumberList OPTIONAL, + destinationNumberLengthList [2] DestinationNumberLengthList OPTIONAL, + -- one or both of destinationNumberList and destinationNumberLengthList + -- shall be present + ...} + +DestinationNumberList ::= + SEQUENCE SIZE (1..maxNumOfCamelDestinationNumbers) OF ISDN-AddressString + +-- The receiving entity shall not check the format of a number in +-- the dialled number list +DestinationNumberLengthList ::= + SEQUENCE SIZE (1..maxNumOfCamelDestinationNumberLengths) OF + INTEGER(1..maxNumOfISDN-AddressDigits) + +BasicServiceCriteria ::= + SEQUENCE SIZE (1..maxNumOfCamelBasicServiceCriteria) OF Ext-BasicServiceCode + +maxNumOfISDN-AddressDigits INTEGER ::= 15 + +maxNumOfCamelDestinationNumbers INTEGER ::= 10 + +maxNumOfCamelDestinationNumberLengths INTEGER ::= 3 + +maxNumOfCamelBasicServiceCriteria INTEGER ::= 5 + +CallTypeCriteria ::= ENUMERATED {forwarded(0), notForwarded(1)} + +MatchType ::= ENUMERATED {inhibiting(0), enabling(1)} + +O-CauseValueCriteria ::= + SEQUENCE SIZE (1..maxNumOfCAMEL-O-CauseValueCriteria) OF CauseValue + +T-CauseValueCriteria ::= + SEQUENCE SIZE (1..maxNumOfCAMEL-T-CauseValueCriteria) OF CauseValue + +maxNumOfCAMEL-O-CauseValueCriteria INTEGER ::= 5 + +maxNumOfCAMEL-T-CauseValueCriteria INTEGER ::= 5 + +CauseValue ::= OCTET STRING(SIZE (1)) + +-- Type extracted from Cause parameter in ITU-T Recommendation Q.763. +-- For the use of cause value refer to ITU-T Recommendation Q.850. +DefaultCallHandling ::= ENUMERATED {continueCall(0), releaseCall(1), ... + } + +-- exception handling: +-- reception of values in range 2-31 shall be treated as "continueCall" +-- reception of values greater than 31 shall be treated as "releaseCall" +CamelCapabilityHandling ::= INTEGER(1..16) + +-- value 1 = CAMEL phase 1, +-- value 2 = CAMEL phase 2, +-- value 3 = CAMEL Phase 3, +-- value 4 = CAMEL phase 4: +-- reception of values greater than 4 shall be treated as CAMEL phase 4. +SupportedCamelPhases ::= BIT STRING {phase1(0), phase2(1), phase3(2), phase4(3) +}(SIZE (1..16)) + +-- A node shall mark in the BIT STRING all CAMEL Phases it supports. +-- Other values than listed above shall be discarded. +OfferedCamel4CSIs ::= BIT STRING { + o-csi(0), d-csi(1), vt-csi(2), t-csi(3), mt-sms-csi(4), mg-csi(5), + psi-enhancements(6)}(SIZE (7..16)) + +-- A node supporting Camel phase 4 shall mark in the BIT STRING all Camel4 CSIs +-- it offers. +-- Other values than listed above shall be discarded. +OfferedCamel4Functionalities ::= BIT STRING { + initiateCallAttempt(0), splitLeg(1), moveLeg(2), disconnectLeg(3), + entityReleased(4), dfc-WithArgument(5), playTone(6), dtmf-MidCall(7), + chargingIndicator(8), alertingDP(9), locationAtAlerting(10), + changeOfPositionDP(11), or-Interactions(12), warningToneEnhancements(13), + cf-Enhancements(14)}(SIZE (15..32)) + +-- A node supporting Camel phase 4 shall mark in the BIT STRING all Camel4 +-- functionalities it offers. +-- Other values than listed above shall be discarded. +SMS-CSI ::= SEQUENCE { + sms-CAMEL-TDP-DataList [0] SMS-CAMEL-TDP-DataList OPTIONAL, + camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + notificationToCSE [3] NULL OPTIONAL, + csi-Active [4] NULL OPTIONAL, + ...} + +-- notificationToCSE and csi-Active shall not be present +-- when MO-SMS-CSI or MT-SMS-CSI is sent to VLR or SGSN. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- SMS-CAMEL-TDP-Data and camelCapabilityHandling shall be present in +-- the SMS-CSI sequence. +-- If SMS-CSI is segmented, sms-CAMEL-TDP-DataList and camelCapabilityHandling shall be +-- present in the first segment +SMS-CAMEL-TDP-DataList ::= + SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF SMS-CAMEL-TDP-Data + +-- SMS-CAMEL-TDP-DataList shall not contain more than one instance of +-- SMS-CAMEL-TDP-Data containing the same value for sms-TriggerDetectionPoint. +SMS-CAMEL-TDP-Data ::= SEQUENCE { + sms-TriggerDetectionPoint [0] SMS-TriggerDetectionPoint, + serviceKey [1] ServiceKey, + gsmSCF-Address [2] ISDN-AddressString, + defaultSMS-Handling [3] DefaultSMS-Handling, + extensionContainer [4] ExtensionContainer OPTIONAL, + ...} + +SMS-TriggerDetectionPoint ::= ENUMERATED { + sms-CollectedInfo(1), ..., + sms-DeliveryRequest(2)} + +-- exception handling: +-- For SMS-CAMEL-TDP-Data and MT-smsCAMELTDP-Criteria sequences containing this +-- parameter with any other value than the ones listed the receiver shall ignore +-- the whole sequence. +-- +-- If this parameter is received with any other value than sms-CollectedInfo +-- in an SMS-CAMEL-TDP-Data sequence contained in mo-sms-CSI, then the receiver shall +-- ignore the whole SMS-CAMEL-TDP-Data sequence. +-- +-- If this parameter is received with any other value than sms-DeliveryRequest +-- in an SMS-CAMEL-TDP-Data sequence contained in mt-sms-CSI then the receiver shall +-- ignore the whole SMS-CAMEL-TDP-Data sequence. +-- +-- If this parameter is received with any other value than sms-DeliveryRequest +-- in an MT-smsCAMELTDP-Criteria sequence then the receiver shall +-- ignore the whole MT-smsCAMELTDP-Criteria sequence. +DefaultSMS-Handling ::= ENUMERATED { + continueTransaction(0), releaseTransaction(1), ... + } + +-- exception handling: +-- reception of values in range 2-31 shall be treated as "continueTransaction" +-- reception of values greater than 31 shall be treated as "releaseTransaction" +M-CSI ::= SEQUENCE { + mobilityTriggers MobilityTriggers, + serviceKey ServiceKey, + gsmSCF-Address [0] ISDN-AddressString, + extensionContainer [1] ExtensionContainer OPTIONAL, + notificationToCSE [2] NULL OPTIONAL, + csi-Active [3] NULL OPTIONAL, + ...} + +-- notificationToCSE and csi-Active shall not be present when M-CSI is sent to VLR. +-- They may only be included in ATSI/ATM ack/NSDC message. +MG-CSI ::= SEQUENCE { + mobilityTriggers MobilityTriggers, + serviceKey ServiceKey, + gsmSCF-Address [0] ISDN-AddressString, + extensionContainer [1] ExtensionContainer OPTIONAL, + notificationToCSE [2] NULL OPTIONAL, + csi-Active [3] NULL OPTIONAL, + ...} + +-- notificationToCSE and csi-Active shall not be present when MG-CSI is sent to SGSN. +-- They may only be included in ATSI/ATM ack/NSDC message. +MobilityTriggers ::= SEQUENCE SIZE (1..maxNumOfMobilityTriggers) OF MM-Code + +maxNumOfMobilityTriggers INTEGER ::= 10 + +MM-Code ::= OCTET STRING(SIZE (1)) + +-- This type is used to indicate a Mobility Management event. +-- Actions for the following MM-Code values are defined in CAMEL Phase 4: +-- +-- CS domain MM events: +-- Location-update-in-same-VLR MM-Code ::= '00000000'B +-- Location-update-to-other-VLR MM-Code ::= '00000001'B +-- IMSI-Attach MM-Code ::= '00000010'B +-- MS-initiated-IMSI-Detach MM-Code ::= '00000011'B +-- Network-initiated-IMSI-Detach MM-Code ::= '00000100'B +-- +-- PS domain MM events: +-- Routeing-Area-update-in-same-SGSN MM-Code ::= '10000000'B +-- Routeing-Area-update-to-other-SGSN-update-from-new-SGSN +-- MM-Code ::= '10000001'B +-- Routeing-Area-update-to-other-SGSN-disconnect-by-detach +-- MM-Code ::= '10000010'B +-- GPRS-Attach MM-Code ::= '10000011'B +-- MS-initiated-GPRS-Detach MM-Code ::= '10000100'B +-- Network-initiated-GPRS-Detach MM-Code ::= '10000101'B +-- Network-initiated-transfer-to-MS-not-reachable-for-paging +-- MM-Code ::= '10000110'B +-- +-- If the MSC receives any other MM-code than the ones listed above for the +-- CS domain, then the MSC shall ignore that MM-code. +-- If the SGSN receives any other MM-code than the ones listed above for the +-- PS domain, then the SGSN shall ignore that MM-code. +T-CSI ::= SEQUENCE { + t-BcsmCamelTDPDataList T-BcsmCamelTDPDataList, + extensionContainer ExtensionContainer OPTIONAL, + ..., + camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL, + notificationToCSE [1] NULL OPTIONAL, + csi-Active [2] NULL OPTIONAL} + +-- notificationToCSE and csi-Active shall not be present when VT-CSI/T-CSI is sent +-- to VLR/GMSC. +-- They may only be included in ATSI/ATM ack/NSDC message. +-- T-CSI shall not be segmented. +T-BcsmCamelTDPDataList ::= + SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF T-BcsmCamelTDPData + +--= T-BcsmCamelTDPDataList shall not contain more than one instance of +--= T-BcsmCamelTDPData containing the same value for t-BcsmTriggerDetectionPoint. +--= For CAMEL Phase 2, this means that only one instance of T-BcsmCamelTDPData is allowed +--= with t-BcsmTriggerDetectionPoint being equal to DP12. +--= For CAMEL Phase 3, more TDP’s are allowed. +T-BcsmCamelTDPData ::= SEQUENCE { + t-BcsmTriggerDetectionPoint T-BcsmTriggerDetectionPoint, + serviceKey ServiceKey, + gsmSCF-Address [0] ISDN-AddressString, + defaultCallHandling [1] DefaultCallHandling, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +T-BcsmTriggerDetectionPoint ::= ENUMERATED { + termAttemptAuthorized(12), ..., + tBusy(13), tNoAnswer(14)} + +-- exception handling: +-- For T-BcsmCamelTDPData sequences containing this parameter with any other +-- value than the ones listed above, the receiver shall ignore the whole +-- T-BcsmCamelTDPData sequence. +-- gprs location information retrieval types +SendRoutingInfoForGprsArg ::= SEQUENCE { + imsi [0] IMSI, + ggsn-Address [1] GSN-Address OPTIONAL, + ggsn-Number [2] ISDN-AddressString, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +SendRoutingInfoForGprsRes ::= SEQUENCE { + sgsn-Address [0] GSN-Address, + ggsn-Address [1] GSN-Address OPTIONAL, + mobileNotReachableReason [2] AbsentSubscriberDiagnosticSM OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +-- failure report types +FailureReportArg ::= SEQUENCE { + imsi [0] IMSI, + ggsn-Number [1] ISDN-AddressString, + ggsn-Address [2] GSN-Address OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +FailureReportRes ::= SEQUENCE { + ggsn-Address [0] GSN-Address OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ...} + +-- gprs notification types +NoteMsPresentForGprsArg ::= SEQUENCE { + imsi [0] IMSI, + sgsn-Address [1] GSN-Address, + ggsn-Address [2] GSN-Address OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +NoteMsPresentForGprsRes ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +-- fault recovery types +ResetArg ::= SEQUENCE { + hlr-Number ISDN-AddressString, + hlr-List HLR-List OPTIONAL, + ...} + +RestoreDataArg ::= SEQUENCE { + imsi IMSI, + lmsi LMSI OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + vlr-Capability [6] VLR-Capability OPTIONAL} + +RestoreDataRes ::= SEQUENCE { + hlr-Number ISDN-AddressString, + msNotReachable NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +-- VBS/VGCS types +VBSDataList ::= SEQUENCE SIZE (1..maxNumOfVBSGroupIds) OF VoiceBroadcastData + +VGCSDataList ::= SEQUENCE SIZE (1..maxNumOfVGCSGroupIds) OF VoiceGroupCallData + +maxNumOfVBSGroupIds INTEGER ::= 50 + +maxNumOfVGCSGroupIds INTEGER ::= 50 + +VoiceGroupCallData ::= SEQUENCE { + groupId GroupId, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +VoiceBroadcastData ::= SEQUENCE { + groupid GroupId, + broadcastInitEntitlement NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +GroupId ::= OCTET STRING(SIZE (3)) + +-- Refers to the Group Identification as specified in GSM TS 03.03 +-- and 03.68/ 03.69 +-- provide subscriber info types +ProvideSubscriberInfoArg ::= SEQUENCE { + imsi [0] IMSI, + lmsi [1] LMSI OPTIONAL, + requestedInfo [2] RequestedInfo, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +ProvideSubscriberInfoRes ::= SEQUENCE { + subscriberInfo SubscriberInfo, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SubscriberInfo ::= SEQUENCE { + locationInformation [0] LocationInformation OPTIONAL, + subscriberState [1] SubscriberState OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + locationInformationGPRS [3] LocationInformationGPRS OPTIONAL, + ps-SubscriberState [4] PS-SubscriberState OPTIONAL, + imei [5] IMEI OPTIONAL, + ms-Classmark2 [6] MS-Classmark2 OPTIONAL, + gprs-MS-Class [7] GPRSMSClass OPTIONAL} + +-- If the HLR receives locationInformation, subscriberState or ms-Classmark2 from an SGSN +-- it shall discard them. +-- If the HLR receives locationInformationGPRS, ps-SubscriberState or gprs-MS-Class from +-- a VLR it shall discard them. +-- If the HLR receives parameters which it has not requested, it shall discard them. +MS-Classmark2 ::= OCTET STRING(SIZE (3)) + +-- This parameter carries the value part of the MS Classmark 2 IE defined in +-- 3GPP TS 24.008 [35]. +GPRSMSClass ::= SEQUENCE { + mSNetworkCapability [0] MSNetworkCapability, + mSRadioAccessCapability [1] MSRadioAccessCapability OPTIONAL} + +MSNetworkCapability ::= OCTET STRING(SIZE (1..8)) + +-- This parameter carries the value part of the MS Network Capability IE defined in +-- 3GPP TS 24.008 [35]. +MSRadioAccessCapability ::= OCTET STRING(SIZE (1..50)) + +-- This parameter carries the value part of the MS Radio Access Capability IE defined in +-- 3GPP TS 24.008 [35]. +RequestedInfo ::= SEQUENCE { + locationInformation [0] NULL OPTIONAL, + subscriberState [1] NULL OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + currentLocation [3] NULL OPTIONAL, + requestedDomain [4] DomainType OPTIONAL, + imei [6] NULL OPTIONAL, + ms-classmark [5] NULL OPTIONAL} + +-- currentLocation shall be absent if locationInformation is absent +DomainType ::= ENUMERATED {cs-Domain(0), ps-Domain(1), ... + } + +-- exception handling: +-- reception of values > 1 shall be mapped to 'cs-Domain' +LocationInformation ::= SEQUENCE { + ageOfLocationInformation AgeOfLocationInformation OPTIONAL, + geographicalInformation [0] GeographicalInformation OPTIONAL, + vlr-number [1] ISDN-AddressString OPTIONAL, + locationNumber [2] LocationNumber OPTIONAL, + cellGlobalIdOrServiceAreaIdOrLAI + [3] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ..., + selectedLSA-Id [5] LSAIdentity OPTIONAL, + msc-Number [6] ISDN-AddressString OPTIONAL, + geodeticInformation [7] GeodeticInformation OPTIONAL, + currentLocationRetrieved [8] NULL OPTIONAL, + sai-Present [9] NULL OPTIONAL} + +-- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains +-- a Service Area Identity. +-- currentLocationRetrieved shall be present +-- if the location information were retrieved after a successfull paging. +LocationInformationGPRS ::= SEQUENCE { + cellGlobalIdOrServiceAreaIdOrLAI + [0] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL, + routeingAreaIdentity [1] RAIdentity OPTIONAL, + geographicalInformation [2] GeographicalInformation OPTIONAL, + sgsn-Number [3] ISDN-AddressString OPTIONAL, + selectedLSAIdentity [4] LSAIdentity OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + ..., + sai-Present [6] NULL OPTIONAL, + geodeticInformation [7] GeodeticInformation OPTIONAL, + currentLocationRetrieved [8] NULL OPTIONAL, + ageOfLocationInformation [9] AgeOfLocationInformation OPTIONAL} + +-- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains +-- a Service Area Identity. +-- currentLocationRetrieved shall be present if the location information +-- was retrieved after successful paging. +RAIdentity ::= OCTET STRING(SIZE (6)) + +-- Routing Area Identity is coded in accordance with 3GPP TS 29.060 [105]. +-- It shall contain the value part defined in 3GPP TS 29.060 only. I.e. the 3GPP TS 29.060 +-- type identifier octet shall not be included. +GeographicalInformation ::= OCTET STRING(SIZE (8)) + +-- Refers to geographical Information defined in 3GPP TS 23.032. +-- Only the description of an ellipsoid point with uncertainty circle +-- as specified in 3GPP TS 23.032 is allowed to be used +-- The internal structure according to 3GPP TS 23.032 is as follows: +-- Type of shape (ellipsoid point with uncertainty circle) 1 octet +-- Degrees of Latitude 3 octets +-- Degrees of Longitude 3 octets +-- Uncertainty code 1 octet +GeodeticInformation ::= OCTET STRING(SIZE (10)) + +-- Refers to Calling Geodetic Location defined in Q.763 (1999). +-- Only the description of an ellipsoid point with uncertainty circle +-- as specified in Q.763 (1999) is allowed to be used +-- The internal structure according to Q.763 (1999) is as follows: +-- Screening and presentation indicators 1 octet +-- Type of shape (ellipsoid point with uncertainty circle) 1 octet +-- Degrees of Latitude 3 octets +-- Degrees of Longitude 3 octets +-- Uncertainty code 1 octet +-- Confidence 1 octet +LocationNumber ::= OCTET STRING(SIZE (2..10)) + +-- the internal structure is defined in ITU-T Rec Q.763 +SubscriberState ::= CHOICE { + assumedIdle [0] NULL, + camelBusy [1] NULL, + netDetNotReachable NotReachableReason, + notProvidedFromVLR [2] NULL} + +PS-SubscriberState ::= CHOICE { + notProvidedFromSGSN [0] NULL, + ps-Detached [1] NULL, + ps-AttachedNotReachableForPaging [2] NULL, + ps-AttachedReachableForPaging [3] NULL, + ps-PDP-ActiveNotReachableForPaging [4] PDP-ContextInfoList, + ps-PDP-ActiveReachableForPaging [5] PDP-ContextInfoList, + netDetNotReachable NotReachableReason} + +PDP-ContextInfoList ::= + SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF PDP-ContextInfo + +PDP-ContextInfo ::= SEQUENCE { + pdp-ContextIdentifier [0] ContextId, + pdp-ContextActive [1] NULL OPTIONAL, + pdp-Type [2] PDP-Type, + pdp-Address [3] PDP-Address OPTIONAL, + apn-Subscribed [4] APN OPTIONAL, + apn-InUse [5] APN OPTIONAL, + nsapi [6] NSAPI OPTIONAL, + transactionId [7] TransactionId OPTIONAL, + teid-ForGnAndGp [8] TEID OPTIONAL, + teid-ForIu [9] TEID OPTIONAL, + ggsn-Address [10] GSN-Address OPTIONAL, + qos-Subscribed [11] Ext-QoS-Subscribed OPTIONAL, + qos-Requested [12] Ext-QoS-Subscribed OPTIONAL, + qos-Negotiated [13] Ext-QoS-Subscribed OPTIONAL, + chargingId [14] GPRSChargingID OPTIONAL, + chargingCharacteristics [15] ChargingCharacteristics OPTIONAL, + rnc-Address [16] GSN-Address OPTIONAL, + extensionContainer [17] ExtensionContainer OPTIONAL, + ...} + +NSAPI ::= INTEGER(0..15) + +-- This type is used to indicate the Network layer Service Access Point +TransactionId ::= OCTET STRING(SIZE (1..2)) + +-- This type carries the value part of the transaction identifier which is used in the +-- session management messages on the access interface. The encoding is defined in +-- 3GPP TS 24.008 +TEID ::= OCTET STRING(SIZE (4)) + +-- This type carries the value part of the Tunnel Endpoint Identifier which is used to +-- distinguish between different tunnels between the same pair of entities which communicate +-- using the GPRS Tunnelling Protocol The encoding is defined in 3GPP TS 29.060. +GPRSChargingID ::= OCTET STRING(SIZE (4)) + +-- The Charging ID is a unique four octet value generated by the GGSN when +-- a PDP Context is activated. A Charging ID is generated for each activated context. +-- The encoding is defined in 3GPP TS 29.060. +NotReachableReason ::= ENUMERATED { + msPurged(0), imsiDetached(1), restrictedArea(2), notRegistered(3)} + +-- any time interrogation info types +AnyTimeInterrogationArg ::= SEQUENCE { + subscriberIdentity [0] SubscriberIdentity, + requestedInfo [1] RequestedInfo, + gsmSCF-Address [3] ISDN-AddressString, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +AnyTimeInterrogationRes ::= SEQUENCE { + subscriberInfo SubscriberInfo, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +-- any time information handling types +AnyTimeSubscriptionInterrogationArg ::= SEQUENCE { + subscriberIdentity [0] SubscriberIdentity, + requestedSubscriptionInfo [1] RequestedSubscriptionInfo, + gsmSCF-Address [2] ISDN-AddressString, + extensionContainer [3] ExtensionContainer OPTIONAL, + longFTN-Supported [4] NULL OPTIONAL, + ...} + +AnyTimeSubscriptionInterrogationRes ::= SEQUENCE { + callForwardingData [1] CallForwardingData OPTIONAL, + callBarringData [2] CallBarringData OPTIONAL, + odb-Info [3] ODB-Info OPTIONAL, + camel-SubscriptionInfo [4] CAMEL-SubscriptionInfo OPTIONAL, + supportedVLR-CAMEL-Phases [5] SupportedCamelPhases OPTIONAL, + supportedSGSN-CAMEL-Phases [6] SupportedCamelPhases OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ..., + offeredCamel4CSIsInVLR [8] OfferedCamel4CSIs OPTIONAL, + offeredCamel4CSIsInSGSN [9] OfferedCamel4CSIs OPTIONAL} + +RequestedSubscriptionInfo ::= SEQUENCE { + requestedSS-Info [1] SS-ForBS-Code OPTIONAL, + odb [2] NULL OPTIONAL, + requestedCAMEL-SubscriptionInfo + [3] RequestedCAMEL-SubscriptionInfo OPTIONAL, + supportedVLR-CAMEL-Phases [4] NULL OPTIONAL, + supportedSGSN-CAMEL-Phases [5] NULL OPTIONAL, + extensionContainer + [6] ExtensionContainer OPTIONAL, + ..., + additionalRequestedCAMEL-SubscriptionInfo + [7] AdditionalRequestedCAMEL-SubscriptionInfo OPTIONAL} + +RequestedCAMEL-SubscriptionInfo ::= ENUMERATED { + o-CSI(0), t-CSI(1), vt-CSI(2), tif-CSI(3), gprs-CSI(4), mo-sms-CSI(5), + ss-CSI(6), m-CSI(7), d-csi(8)} + +AdditionalRequestedCAMEL-SubscriptionInfo ::= ENUMERATED { + mt-sms-CSI(0), mg-csi(1), o-IM-CSI(2), d-IM-CSI(3), vt-IM-CSI(4), ... + } + +-- exception handling: unknown values shall be discarded by the receiver. +CallForwardingData ::= SEQUENCE { + forwardingFeatureList Ext-ForwFeatureList, + notificationToCSE NULL OPTIONAL, + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +CallBarringData ::= SEQUENCE { + callBarringFeatureList Ext-CallBarFeatureList, + password Password OPTIONAL, + wrongPasswordAttemptsCounter WrongPasswordAttemptsCounter OPTIONAL, + notificationToCSE NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +WrongPasswordAttemptsCounter ::= INTEGER(0..4) + +ODB-Info ::= SEQUENCE { + odb-Data ODB-Data, + notificationToCSE NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +CAMEL-SubscriptionInfo ::= SEQUENCE { + o-CSI [0] O-CSI OPTIONAL, + o-BcsmCamelTDP-CriteriaList + [1] O-BcsmCamelTDPCriteriaList OPTIONAL, + d-CSI [2] D-CSI OPTIONAL, + t-CSI [3] T-CSI OPTIONAL, + t-BCSM-CAMEL-TDP-CriteriaList + [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL, + vt-CSI [5] T-CSI OPTIONAL, + vt-BCSM-CAMEL-TDP-CriteriaList + [6] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL, + tif-CSI [7] NULL OPTIONAL, + tif-CSI-NotificationToCSE [8] NULL OPTIONAL, + gprs-CSI [9] GPRS-CSI OPTIONAL, + mo-sms-CSI [10] SMS-CSI OPTIONAL, + ss-CSI [11] SS-CSI OPTIONAL, + m-CSI [12] M-CSI OPTIONAL, + extensionContainer [13] ExtensionContainer OPTIONAL, + ..., + specificCSIDeletedList [14] SpecificCSI-Withdraw OPTIONAL, + mt-sms-CSI [15] SMS-CSI OPTIONAL, + mt-smsCAMELTDP-CriteriaList + [16] MT-smsCAMELTDP-CriteriaList OPTIONAL, + mg-csi [17] MG-CSI OPTIONAL, + o-IM-CSI [18] O-CSI OPTIONAL, + o-IM-BcsmCamelTDP-CriteriaList + [19] O-BcsmCamelTDPCriteriaList OPTIONAL, + d-IM-CSI [20] D-CSI OPTIONAL, + vt-IM-CSI [21] T-CSI OPTIONAL, + vt-IM-BCSM-CAMEL-TDP-CriteriaList + [22] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL} + +AnyTimeModificationArg ::= SEQUENCE { + subscriberIdentity [0] SubscriberIdentity, + gsmSCF-Address [1] ISDN-AddressString, + modificationRequestFor-CF-Info + [2] ModificationRequestFor-CF-Info OPTIONAL, + modificationRequestFor-CB-Info + [3] ModificationRequestFor-CB-Info OPTIONAL, + modificationRequestFor-CSI [4] ModificationRequestFor-CSI OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + longFTN-Supported [6] NULL OPTIONAL, + ..., + modificationRequestFor-ODB-data + [7] ModificationRequestFor-ODB-data OPTIONAL} + +AnyTimeModificationRes ::= SEQUENCE { + ss-InfoFor-CSE [0] Ext-SS-InfoFor-CSE OPTIONAL, + camel-SubscriptionInfo [1] CAMEL-SubscriptionInfo OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ..., + odb-Info [3] ODB-Info OPTIONAL} + +ModificationRequestFor-CF-Info ::= SEQUENCE { + ss-Code [0] SS-Code, + basicService [1] Ext-BasicServiceCode OPTIONAL, + ss-Status [2] Ext-SS-Status OPTIONAL, + forwardedToNumber [3] AddressString OPTIONAL, + forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL, + noReplyConditionTime [5] Ext-NoRepCondTime OPTIONAL, + modifyNotificationToCSE [6] ModificationInstruction OPTIONAL, + extensionContainer [7] ExtensionContainer OPTIONAL, + ...} + +ModificationRequestFor-CB-Info ::= SEQUENCE { + ss-Code [0] SS-Code, + basicService [1] Ext-BasicServiceCode OPTIONAL, + ss-Status [2] Ext-SS-Status OPTIONAL, + password [3] Password OPTIONAL, + wrongPasswordAttemptsCounter [4] WrongPasswordAttemptsCounter OPTIONAL, + modifyNotificationToCSE [5] ModificationInstruction OPTIONAL, + extensionContainer [6] ExtensionContainer OPTIONAL, + ...} + +ModificationRequestFor-ODB-data ::= SEQUENCE { + odb-data [0] ODB-Data OPTIONAL, + modifyNotificationToCSE [1] ModificationInstruction OPTIONAL, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +ModificationRequestFor-CSI ::= SEQUENCE { + requestedCamel-SubscriptionInfo + [0] RequestedCAMEL-SubscriptionInfo, + modifyNotificationToCSE + [1] ModificationInstruction OPTIONAL, + modifyCSI-State + [2] ModificationInstruction OPTIONAL, + extensionContainer + [3] ExtensionContainer OPTIONAL, + ..., + additionalRequestedCAMEL-SubscriptionInfo + [4] AdditionalRequestedCAMEL-SubscriptionInfo OPTIONAL} + +-- requestedCamel-SubscriptionInfo shall be discarded if +-- additionalRequestedCAMEL-SubscriptionInfo is received +ModificationInstruction ::= ENUMERATED {deactivate(0), activate(1)} + +-- subscriber data modification notification types +NoteSubscriberDataModifiedArg ::= SEQUENCE { + imsi IMSI, + msisdn ISDN-AddressString, + forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE OPTIONAL, + callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE OPTIONAL, + odb-Info [2] ODB-Info OPTIONAL, + camel-SubscriptionInfo [3] CAMEL-SubscriptionInfo OPTIONAL, + allInformationSent [4] NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +NoteSubscriberDataModifiedRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +-- mobility management event notificatioon info types +NoteMM-EventArg ::= SEQUENCE { + serviceKey ServiceKey, + eventMet [0] MM-Code, + imsi [1] IMSI, + msisdn [2] ISDN-AddressString, + locationInformation [3] LocationInformation OPTIONAL, + supportedCAMELPhases [5] SupportedCamelPhases OPTIONAL, + extensionContainer [6] ExtensionContainer OPTIONAL, + ..., + locationInformationGPRS [7] LocationInformationGPRS OPTIONAL, + offeredCamel4Functionalities [8] OfferedCamel4Functionalities OPTIONAL} + +NoteMM-EventRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +Ext-SS-InfoFor-CSE ::= CHOICE { + forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE, + callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE} + +Ext-ForwardingInfoFor-CSE ::= SEQUENCE { + ss-Code [0] SS-Code, + forwardingFeatureList [1] Ext-ForwFeatureList, + notificationToCSE [2] NULL OPTIONAL, + extensionContainer [3] ExtensionContainer OPTIONAL, + ...} + +Ext-CallBarringInfoFor-CSE ::= SEQUENCE { + ss-Code [0] SS-Code, + callBarringFeatureList [1] Ext-CallBarFeatureList, + password [2] Password OPTIONAL, + wrongPasswordAttemptsCounter [3] WrongPasswordAttemptsCounter OPTIONAL, + notificationToCSE [4] NULL OPTIONAL, + extensionContainer [5] ExtensionContainer OPTIONAL, + ...} + +END + diff --git a/MAP/asn_src/GSM/MAP-MobileServiceOperations.asn b/MAP/asn_src/GSM/MAP-MobileServiceOperations.asn new file mode 100644 index 0000000..9304077 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-MobileServiceOperations.asn @@ -0,0 +1,287 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-MobileServiceOperations {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-MobileServiceOperations(5) + version8(8)} DEFINITIONS ::= +BEGIN + +EXPORTS + -- location registration operations + updateLocation, cancelLocation, purgeMS, + sendIdentification, + -- gprs location registration operations + updateGprsLocation, + -- subscriber information enquiry operations + provideSubscriberInfo, + -- any time information enquiry operations + anyTimeInterrogation, + -- any time information handling operations + anyTimeSubscriptionInterrogation, + anyTimeModification, + -- subscriber data modification notification operations + noteSubscriberDataModified, + -- handover operations + prepareHandover, sendEndSignal, processAccessSignalling, + forwardAccessSignalling, + prepareSubsequentHandover, + -- authentication management operations + sendAuthenticationInfo, + authenticationFailureReport, + -- IMEI management operations + checkIMEI, + -- subscriber management operations + insertSubscriberData, + deleteSubscriberData, + -- fault recovery operations + reset, forwardCheckSS-Indication, + restoreData, + -- gprs location information retrieval operations + sendRoutingInfoForGprs, + -- failure reporting operations + failureReport, + -- gprs notification operations + noteMsPresentForGprs, + -- Mobility Management operations + noteMM-Event; + +IMPORTS + OPERATION + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + systemFailure, dataMissing, unexpectedDataValue, unknownSubscriber, + unknownMSC, unidentifiedSubscriber, unknownEquipment, roamingNotAllowed, + ati-NotAllowed, noHandoverNumberAvailable, subsequentHandoverFailure, + absentSubscriber, mm-EventNotSupported, atsi-NotAllowed, atm-NotAllowed, + bearerServiceNotProvisioned, teleserviceNotProvisioned, callBarred, + illegalSS-Operation, ss-ErrorStatus, ss-NotAvailable, ss-Incompatibility, + ss-SubscriptionViolation, informationNotAvailable, + targetCellOutsideGroupCallArea + FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-Errors(10) version8(8)} + UpdateLocationArg, UpdateLocationRes, CancelLocationArg, CancelLocationRes, + PurgeMS-Arg, PurgeMS-Res, SendIdentificationArg, SendIdentificationRes, + UpdateGprsLocationArg, UpdateGprsLocationRes, PrepareHO-Arg, PrepareHO-Res, + ForwardAccessSignalling-Arg, ProcessAccessSignalling-Arg, + SendEndSignal-Arg, SendEndSignal-Res, PrepareSubsequentHO-Res, + PrepareSubsequentHO-Arg, SendAuthenticationInfoArg, + SendAuthenticationInfoRes, AuthenticationFailureReportArg, + AuthenticationFailureReportRes, CheckIMEI-Arg, CheckIMEI-Res, + InsertSubscriberDataArg, InsertSubscriberDataRes, DeleteSubscriberDataArg, + DeleteSubscriberDataRes, ResetArg, RestoreDataArg, RestoreDataRes, + ProvideSubscriberInfoArg, ProvideSubscriberInfoRes, + AnyTimeSubscriptionInterrogationArg, AnyTimeSubscriptionInterrogationRes, + AnyTimeModificationArg, AnyTimeModificationRes, + NoteSubscriberDataModifiedArg, NoteSubscriberDataModifiedRes, + AnyTimeInterrogationArg, AnyTimeInterrogationRes, + SendRoutingInfoForGprsArg, SendRoutingInfoForGprsRes, FailureReportArg, + FailureReportRes, NoteMsPresentForGprsArg, NoteMsPresentForGprsRes, + NoteMM-EventArg, NoteMM-EventRes + FROM MAP-MS-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-MS-DataTypes(11) + version8(8)}; + +-- location registration operations +updateLocation OPERATION ::= { --Timer m + ARGUMENT UpdateLocationArg + RESULT UpdateLocationRes + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | unknownSubscriber | + roamingNotAllowed} + CODE local:2} + +cancelLocation OPERATION ::= { --Timer m + ARGUMENT CancelLocationArg + RESULT CancelLocationRes + -- optional + ERRORS {dataMissing | unexpectedDataValue} + CODE local:3} + +purgeMS OPERATION ::= { --Timer m + ARGUMENT PurgeMS-Arg + RESULT PurgeMS-Res + -- optional + ERRORS {dataMissing | unexpectedDataValue | unknownSubscriber} + CODE local:67} + +sendIdentification OPERATION ::= { --Timer s + ARGUMENT SendIdentificationArg + RESULT SendIdentificationRes + ERRORS {dataMissing | unidentifiedSubscriber} + CODE local:55} + +-- gprs location registration operations +updateGprsLocation OPERATION ::= { --Timer m + ARGUMENT UpdateGprsLocationArg + RESULT UpdateGprsLocationRes + ERRORS + {systemFailure | unexpectedDataValue | unknownSubscriber | + roamingNotAllowed} + CODE local:23} + +-- subscriber information enquiry operations +provideSubscriberInfo OPERATION ::= { --Timer m + ARGUMENT ProvideSubscriberInfoArg + RESULT ProvideSubscriberInfoRes + ERRORS {dataMissing | unexpectedDataValue} + CODE local:70} + +-- any time information enquiry operations +anyTimeInterrogation OPERATION ::= { --Timer m + ARGUMENT AnyTimeInterrogationArg + RESULT AnyTimeInterrogationRes + ERRORS + {systemFailure | ati-NotAllowed | dataMissing | unexpectedDataValue | + unknownSubscriber} + CODE local:71} + +-- any time information handling operations +anyTimeSubscriptionInterrogation OPERATION ::= { --Timer m + ARGUMENT AnyTimeSubscriptionInterrogationArg + RESULT AnyTimeSubscriptionInterrogationRes + ERRORS + {atsi-NotAllowed | dataMissing | unexpectedDataValue | unknownSubscriber | + bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred | + illegalSS-Operation | ss-NotAvailable | informationNotAvailable} + CODE local:62} + +anyTimeModification OPERATION ::= { --Timer m + ARGUMENT AnyTimeModificationArg + RESULT AnyTimeModificationRes + ERRORS + {atm-NotAllowed | dataMissing | unexpectedDataValue | unknownSubscriber | + bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred | + illegalSS-Operation | ss-SubscriptionViolation | ss-ErrorStatus | + ss-Incompatibility | informationNotAvailable} + CODE local:65} + +-- subscriber data modification notification operations +noteSubscriberDataModified OPERATION ::= { --Timer m + ARGUMENT NoteSubscriberDataModifiedArg + RESULT NoteSubscriberDataModifiedRes + -- optional + ERRORS {dataMissing | unexpectedDataValue | unknownSubscriber} + CODE local:5} + +-- handover operations +prepareHandover OPERATION ::= { --Timer m + ARGUMENT PrepareHO-Arg + RESULT PrepareHO-Res + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | + noHandoverNumberAvailable | targetCellOutsideGroupCallArea} + CODE local:68} + +sendEndSignal OPERATION ::= { --Timer l + ARGUMENT SendEndSignal-Arg + RESULT SendEndSignal-Res + CODE local:29} + +processAccessSignalling OPERATION ::= { --Timer s + ARGUMENT ProcessAccessSignalling-Arg + CODE local:33} + +forwardAccessSignalling OPERATION ::= { --Timer s + ARGUMENT ForwardAccessSignalling-Arg + CODE local:34} + +prepareSubsequentHandover OPERATION ::= { --Timer m + ARGUMENT PrepareSubsequentHO-Arg + RESULT PrepareSubsequentHO-Res + ERRORS + {unexpectedDataValue | dataMissing | unknownMSC | + subsequentHandoverFailure} + CODE local:69} + +-- authentication management operations +sendAuthenticationInfo OPERATION ::= { --Timer m + ARGUMENT SendAuthenticationInfoArg + -- optional + -- within a dialogue sendAuthenticationInfoArg shall not be present in + -- subsequent invoke components. If received in a subsequent invoke component + -- it shall be discarded. + RESULT SendAuthenticationInfoRes + -- optional + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | unknownSubscriber} + CODE local:56} + +authenticationFailureReport OPERATION ::= { --Timer m + ARGUMENT AuthenticationFailureReportArg + RESULT AuthenticationFailureReportRes + -- optional + ERRORS {systemFailure | unexpectedDataValue | unknownSubscriber} + CODE local:15} + +-- IMEI management operations +checkIMEI OPERATION ::= { --Timer m + ARGUMENT CheckIMEI-Arg + RESULT CheckIMEI-Res + ERRORS {systemFailure | dataMissing | unknownEquipment} + CODE local:43} + +-- subscriber management operations +insertSubscriberData OPERATION ::= { --Timer m + ARGUMENT InsertSubscriberDataArg + RESULT InsertSubscriberDataRes + -- optional + ERRORS {dataMissing | unexpectedDataValue | unidentifiedSubscriber} + CODE local:7} + +deleteSubscriberData OPERATION ::= { --Timer m + ARGUMENT DeleteSubscriberDataArg + RESULT DeleteSubscriberDataRes + -- optional + ERRORS {dataMissing | unexpectedDataValue | unidentifiedSubscriber} + CODE local:8} + +-- fault recovery operations +reset OPERATION ::= { --Timer m + ARGUMENT ResetArg + CODE local:37} + +forwardCheckSS-Indication OPERATION ::= { --Timer s + CODE local:38} + +restoreData OPERATION ::= { --Timer m + ARGUMENT RestoreDataArg + RESULT RestoreDataRes + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | unknownSubscriber} + CODE local:57} + +-- gprs location information retrieval operations +sendRoutingInfoForGprs OPERATION ::= { --Timer m + ARGUMENT SendRoutingInfoForGprsArg + RESULT SendRoutingInfoForGprsRes + ERRORS + {absentSubscriber | systemFailure | dataMissing | unexpectedDataValue | + unknownSubscriber | callBarred} + CODE local:24} + +-- failure reporting operations +failureReport OPERATION ::= { --Timer m + ARGUMENT FailureReportArg + RESULT FailureReportRes + -- optional + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | unknownSubscriber} + CODE local:25} + +-- gprs notification operations +noteMsPresentForGprs OPERATION ::= { --Timer m + ARGUMENT NoteMsPresentForGprsArg + RESULT NoteMsPresentForGprsRes + -- optional + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | unknownSubscriber} + CODE local:26} + +noteMM-Event OPERATION ::= { --Timer m + ARGUMENT NoteMM-EventArg + RESULT NoteMM-EventRes + ERRORS + {dataMissing | unexpectedDataValue | unknownSubscriber | + mm-EventNotSupported} + CODE local:89} + +END + diff --git a/MAP/asn_src/GSM/MAP-OM-DataTypes.asn b/MAP/asn_src/GSM/MAP-OM-DataTypes.asn new file mode 100644 index 0000000..7569174 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-OM-DataTypes.asn @@ -0,0 +1,49 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-OM-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-OM-DataTypes(12) version8(8)} DEFINITIONS +IMPLICIT TAGS ::= +BEGIN + +EXPORTS + ActivateTraceModeArg, ActivateTraceModeRes, DeactivateTraceModeArg, + DeactivateTraceModeRes; + +IMPORTS + AddressString, IMSI + FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18) + version8(8)} + ExtensionContainer + FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21) + version8(8)}; + +ActivateTraceModeArg ::= SEQUENCE { + imsi [0] IMSI OPTIONAL, + traceReference [1] TraceReference, + traceType [2] TraceType, + omc-Id [3] AddressString OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ...} + +TraceReference ::= OCTET STRING(SIZE (1..2)) + +TraceType ::= INTEGER(0..255) + +-- Trace types are fully defined in TS GSM 12.08. +ActivateTraceModeRes ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +DeactivateTraceModeArg ::= SEQUENCE { + imsi [0] IMSI OPTIONAL, + traceReference [1] TraceReference, + extensionContainer [2] ExtensionContainer OPTIONAL, + ...} + +DeactivateTraceModeRes ::= SEQUENCE { + extensionContainer [0] ExtensionContainer OPTIONAL, + ...} + +END + diff --git a/MAP/asn_src/GSM/MAP-OperationAndMaintenanceOperations.asn b/MAP/asn_src/GSM/MAP-OperationAndMaintenanceOperations.asn new file mode 100644 index 0000000..5650b76 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-OperationAndMaintenanceOperations.asn @@ -0,0 +1,51 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-OperationAndMaintenanceOperations {itu-t identified-organization(4) + etsi(0) mobileDomain(0) gsm-Network(1) modules(3) + map-OperationAndMaintenanceOperations(6) version8(8)} DEFINITIONS ::= +BEGIN + +EXPORTS activateTraceMode, deactivateTraceMode, sendIMSI; + +IMPORTS + OPERATION + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + systemFailure, dataMissing, unexpectedDataValue, facilityNotSupported, + unknownSubscriber, unidentifiedSubscriber, tracingBufferFull + FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-Errors(10) version8(8)} + ActivateTraceModeArg, ActivateTraceModeRes, DeactivateTraceModeArg, + DeactivateTraceModeRes + FROM MAP-OM-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-OM-DataTypes(12) + version8(8)} + ISDN-AddressString, IMSI + FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18) + version8(8)}; + +activateTraceMode OPERATION ::= { --Timer m + ARGUMENT ActivateTraceModeArg + RESULT ActivateTraceModeRes + -- optional + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported | + unidentifiedSubscriber | tracingBufferFull} + CODE local:50} + +deactivateTraceMode OPERATION ::= { --Timer m + ARGUMENT DeactivateTraceModeArg + RESULT DeactivateTraceModeRes + -- optional + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported | + unidentifiedSubscriber} + CODE local:51} + +sendIMSI OPERATION ::= { --Timer m + ARGUMENT ISDN-AddressString + RESULT IMSI ERRORS {dataMissing | unexpectedDataValue | unknownSubscriber} + CODE local:58} + +END + diff --git a/MAP/asn_src/GSM/MAP-OperationPackages.asn b/MAP/asn_src/GSM/MAP-OperationPackages.asn new file mode 100644 index 0000000..56969fe --- /dev/null +++ b/MAP/asn_src/GSM/MAP-OperationPackages.asn @@ -0,0 +1,371 @@ + +MAP-OperationPackages {ccitt (0) identified-organization (4) etsi (0) + mobileDomain (0) gsm-Network (1) modules (3 ) ??? (?)} + +OPERATION-PACKAGE ::= CLASS { +&Both OPERATION OPTIONAL, +&Consumer OPERATION OPTIONAL, +&Supplier OPERATION OPTIONAL, +&id OBJECT IDENTIFIER UNIQUE OPTIONAL } +WITH SYNTAX { +[ OPERATIONS &Both ] +[ CONSUMER INVOKES &Supplier ] +[ SUPPLIER INVOKES &Consumer ] +[ ID &id ] } + +locationUpdatingPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VLR +CONSUMER INVOKES { +updateLocation} +SUPPLIER INVOKES { +forwardCheckSs-Indication} } + +locationCancellationPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is VLR or SGSN if Consumer is HLR +CONSUMER INVOKES { +cancelLocation} } + +roamingNumberEnquiryPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is VLR if Consumer is HLR +CONSUMER INVOKES { +provideRoamingNumber} } + +infoRetrievalPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VLR +-- Supplier is HLR if Consumer is SGSN +CONSUMER INVOKES { +sendAuthenticationInfo} } + +infoRetrievalPackage-v2 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VLR +-- Supplier is HLR if Consumer is SGSN +CONSUMER INVOKES { +sendAuthenticationInfo} } + +infoRetrievalPackage-v1 OPERATION-PACKAGE ::= { +-- Supplier is HLR or VLR if Consumer is VLR +-- Supplier is HLR if Consumer is SGSN +CONSUMER INVOKES { +sendParameters} } + +interVlrInfoRetrievalPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is VLR if Consumer is VLR +CONSUMER INVOKES { +sendIdentification} } + +interVlrInfoRetrievalPackage-v2 OPERATION-PACKAGE ::= { +-- Supplier is VLR if Consumer is VLR +CONSUMER INVOKES { +sendIdentification} } + +imsiRetrievalPackage-v2 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VLR +CONSUMER INVOKES { +sendIMSI} } + +callControlTransferPackage-v4 OPERATION-PACKAGE ::= { +-- Supplier is GMSC if Consumer is VMSC +CONSUMER INVOKES { +resumeCallHandling} } + +secureTransportHandlingPackage-v3 OPERATION-PACKAGE ::= { +CONSUMER INVOKES { +secureTransportClass1 | -- to be used if the original operation is a +-- TCAP class 1 operation +secureTransportClass2 | -- to be used if the original operation is a +-- TCAP class 2 operation +secureTransportClass3 | -- to be used if the original operation is a +-- TCAP class 3 operation +secureTransportClass4} -- to be used if the original operation is a +-- TCAP class 4 operation +} + +interrogationPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR or NPLR if Consumer is MSC +-- Supplier is HLR if Consumer is gsmSCF +CONSUMER INVOKES { +sendRoutingInfo} } + +handoverControlPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is MSCB if Consumer is MSCA +CONSUMER INVOKES { +prepareHandover | +forwardAccessSignalling} +SUPPLIER INVOKES { +sendEndSignal | +processAccessSignalling | +prepareSubsequentHandover} } + +handoverControlPackage-v1 OPERATION-PACKAGE ::= { +-- Supplier is MSCB if Consumer is MSCA +CONSUMER INVOKES { +performHandover | +forwardAccessSignalling | +traceSubscriberActivity} +SUPPLIER INVOKES { +sendEndSignal | +noteInternalHandover | +processAccessSignalling | +performSubsequentHandover} } + +subscriberDataMngtStandAlonePackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is VLR or SGSN if Consumer is HLR +CONSUMER INVOKES { +insertSubscriberData | +deleteSubscriberData} } + +equipmentMngtPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is EIR if Consumer is MSC +-- Supplier is EIR if Consumer is SGSN +CONSUMER INVOKES { +checkIMEI} } + +subscriberDataMngtPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is VLR or SGSN if Consumer is HLR +CONSUMER INVOKES { +insertSubscriberData} } + +resetPackage-v2 OPERATION-PACKAGE ::= { +-- Supplier is VLR or SGSN if Consumer is HLR +CONSUMER INVOKES { +reset} } + +tracingStandAlonePackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is VLR or SGSN if Consumer is HLR +CONSUMER INVOKES { +activateTraceMode | +deactivateTraceMode} } + +functionalSsPackage-v2 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VLR +CONSUMER INVOKES { +registerSS | +eraseSS | +activateSS | +deactivateSS | +registerPassword | +interrogateSS} +SUPPLIER INVOKES { +getPassword} } + +tracingPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is VLR or SGSN if Consumer is HLR +CONSUMER INVOKES { +activateTraceMode} } + +bindingPackage-v1 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VLR +-- Supplier is gsmSCF if Consumer is HLR +CONSUMER INVOKES { +beginSubscriberActivity} } + +unstructuredSsPackage-v2 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VLR +-- Supplier is gsmSCF or HLR if Consumer is HLR +CONSUMER INVOKES { +processUnstructuredSS-Request} +SUPPLIER INVOKES { +unstructuredSS-Request | +unstructuredSS-Notify} } + +unstructuredSsPackage-v1 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VLR +-- Supplier is gsmSCF if Consumer is HLR +CONSUMER INVOKES { +processUnstructuredSS-Data} } + +mo-ShortMsgRelayPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is IWMSC if Consumer is MSC +-- Supplier is IWMSC if Consumer is SGSN +CONSUMER INVOKES { +mo-forwardSM} } + +shortMsgRelayPackage-v2 OPERATION-PACKAGE ::= { +-- Supplier is IWMSC if Consumer is MSC +-- Supplier is MSC or SGSN if Consumer is GMSC +-- Supplier is IWMSC if Consumer is SGSN +CONSUMER INVOKES { +forwardSM} } + +shortMsgGatewayPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is GMSC +CONSUMER INVOKES { +sendRoutingInfoForSM | +reportSM-DeliveryStatus} +SUPPLIER INVOKES { +informServiceCentre} } + +shortMsgGatewayPackage-v1 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is GMSC +CONSUMER INVOKES { +sendRoutingInfoForSM | +reportSMDeliveryStatus} } + +mt-ShortMsgRelayPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is MSC or SGSN if Consumer is GMSC +CONSUMER INVOKES { +mt-forwardSM} } + +mwdMngtPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is SGSN +-- Supplier is HLR if Consumer is VLR +CONSUMER INVOKES { +readyForSM} } + +mwdMngtPackage-v1 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VLR +CONSUMER INVOKES { +noteSubscriberPresent} } + +alertingPackage-v2 OPERATION-PACKAGE ::= { +-- Supplier is IWMSC if Consumer is HLR +CONSUMER INVOKES { +alertServiceCentre} } + +alertingPackage-v1 OPERATION-PACKAGE ::= { +-- Supplier is IWMSC if Consumer is HLR +CONSUMER INVOKES { +alertServiceCentreWithoutResult} } + +dataRestorationPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VLR +CONSUMER INVOKES { +restoreData} } + +purgingPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VLR +-- Supplier is HLR if Consumer is SGSN +CONSUMER INVOKES { +purgeMS} } + +subscriberInformationEnquiryPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is VLR or SGSN if Consumer is HLR +CONSUMER INVOKES { +provideSubscriberInfo} } + +anyTimeInformationEnquiryPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR or GMLC if Consumer is gsmSCF +CONSUMER INVOKES { +anyTimeInterrogation} } + +groupCallControlPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is relay MSC if Consumer is anchor MSC +CONSUMER INVOKES { +prepareGroupCall | +forwardGroupCallSignalling} +SUPPLIER INVOKES { +sendGroupCallEndSignal | +processGroupCallSignalling} } + +provideSIWFSNumberPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is SIWF if Consumer is VMSC +CONSUMER INVOKES { +provideSIWFSNumber} } + +siwfs-SignallingModifyPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is SIWF if Consumer is VMSC +CONSUMER INVOKES { +siwfs-SignallingModify} } + +gprsLocationUpdatingPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is SGSN +CONSUMER INVOKES { +updateGprsLocation} } + +gprsInterrogationPackage-v4 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is GGSN +CONSUMER INVOKES { +sendRoutingInfoForGprs} } + +gprsInterrogationPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is GGSN +CONSUMER INVOKES { +sendRoutingInfoForGprs} } + +failureReportingPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is GGSN +CONSUMER INVOKES { +failureReport} } + +gprsNotifyingPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is GGSN if Consumer is HLR +CONSUMER INVOKES { +noteMsPresentForGprs} } + +ss-InvocationNotificationPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is gsmSCF if Consumer is MSC +-- Supplier is gsmSCF if Consumer is HLR +CONSUMER INVOKES { +ss-InvocationNotification} } + +setReportingStatePackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is VLR if Consumer is HLR +CONSUMER INVOKES { +setReportingState} } + +statusReportPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VLR +CONSUMER INVOKES { +statusReport} } + +remoteUserFreePackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is VLR if Consumer is HLR +CONSUMER INVOKES { +remoteUserFree} } + +callCompletionPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VLR +CONSUMER INVOKES { +registerCC-Entry | +eraseCC-Entry} } + +locationSvcGatewayPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is GMLC +CONSUMER INVOKES { +sendRoutingInfoForLCS} } + +locationSvcEnquiryPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is MSC or SGSN if Consumer is GMLC +CONSUMER INVOKES { +provideSubscriberLocation} } + +locationSvcReportingPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is GMLC if Consumer is MSC +-- Supplier is GMLC if Consumer is SGSN +CONSUMER INVOKES { +subscriberLocationReport} } + +ist-AlertingPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VMSC +-- Supplier is HLR if Consumer is GMSC +CONSUMER INVOKES { +istAlert} } + +serviceTerminationPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is VMSC or GMSC if Consumer is HLR +CONSUMER INVOKES { +istCommand} } + +mm-EventReportingPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is gsmSCF if Consumer is VLR +CONSUMER INVOKES { +noteMM-Event} } + +anyTimeInformationHandlingPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is gsmSCF +CONSUMER INVOKES { +anyTimeSubscriptionInterrogation | +anyTimeModification} } + +subscriberDataModificationNotificationPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is gsmSCF if Consumer is HLR +CONSUMER INVOKES { +noteSubscriberDataModified} } + +authenticationFailureReportPackage-v3 OPERATION-PACKAGE ::= { +-- Supplier is HLR if Consumer is VLR +-- Supplier is HLR if Consumer is SGSN +CONSUMER INVOKES { +authenticationFailureReport} } + + diff --git a/MAP/asn_src/GSM/MAP-Protocol.asn b/MAP/asn_src/GSM/MAP-Protocol.asn new file mode 100644 index 0000000..7c3c8de --- /dev/null +++ b/MAP/asn_src/GSM/MAP-Protocol.asn @@ -0,0 +1,106 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-Protocol {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-Protocol(4) version8(8)} DEFINITIONS ::= +BEGIN + +IMPORTS + OPERATION + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + updateLocation, cancelLocation, purgeMS, sendIdentification, + updateGprsLocation, prepareHandover, sendEndSignal, + processAccessSignalling, forwardAccessSignalling, + prepareSubsequentHandover, sendAuthenticationInfo, + authenticationFailureReport, checkIMEI, insertSubscriberData, + deleteSubscriberData, reset, forwardCheckSS-Indication, restoreData, + provideSubscriberInfo, anyTimeInterrogation, + anyTimeSubscriptionInterrogation, anyTimeModification, + sendRoutingInfoForGprs, failureReport, noteMsPresentForGprs, noteMM-Event, + noteSubscriberDataModified + FROM MAP-MobileServiceOperations {itu-t identified-organization(4) + etsi(0) mobileDomain(0) gsm-Network(1) modules(3) + map-MobileServiceOperations(5) version8(8)} + activateTraceMode, deactivateTraceMode, sendIMSI + FROM MAP-OperationAndMaintenanceOperations {itu-t + identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) + modules(3) map-OperationAndMaintenanceOperations(6) version8(8)} + sendRoutingInfo, provideRoamingNumber, resumeCallHandling, + provideSIWFSNumber, siwfs-SignallingModify, setReportingState, + statusReport, remoteUserFree, ist-Alert, ist-Command + FROM MAP-CallHandlingOperations {itu-t identified-organization(4) + etsi(0) mobileDomain(0) gsm-Network(1) modules(3) + map-CallHandlingOperations(7) version8(8)} + registerSS, eraseSS, activateSS, deactivateSS, interrogateSS, + processUnstructuredSS-Request, unstructuredSS-Request, + unstructuredSS-Notify, registerPassword, getPassword, + ss-InvocationNotification, registerCC-Entry, eraseCC-Entry + FROM MAP-SupplementaryServiceOperations {itu-t identified-organization(4) + etsi(0) mobileDomain(0) gsm-Network(1) modules(3) + map-SupplementaryServiceOperations(8) version8(8)} + sendRoutingInfoForSM, mo-ForwardSM, mt-ForwardSM, reportSM-DeliveryStatus, + alertServiceCentre, informServiceCentre, readyForSM + FROM MAP-ShortMessageServiceOperations {itu-t identified-organization(4) + etsi(0) mobileDomain(0) gsm-Network(1) modules(3) + map-ShortMessageServiceOperations(9) version8(8)} + prepareGroupCall, processGroupCallSignalling, forwardGroupCallSignalling, + sendGroupCallEndSignal + FROM MAP-Group-Call-Operations {itu-t identified-organization(4) + etsi(0) mobileDomain(0) gsm-Network(1) modules(3) + map-Group-Call-Operations(22) version8(8)} + provideSubscriberLocation, sendRoutingInfoForLCS, subscriberLocationReport + FROM MAP-LocationServiceOperations {itu-t identified-organization(4) + etsi(0) mobileDomain(0) gsm-Network(1) modules(3) + map-LocationServiceOperations(24) version8(8)} + secureTransportClass1, secureTransportClass2, secureTransportClass3, + secureTransportClass4 + FROM MAP-SecureTransportOperations {itu-t identified-organization(4) + etsi(0) mobileDomain(0) gsm-Network(1) modules(3) + map-SecureTransportOperations(26) version8(8)}; + +Supported-MAP-Operations OPERATION ::= + {updateLocation | cancelLocation | purgeMS | sendIdentification | + updateGprsLocation | prepareHandover | sendEndSignal | + processAccessSignalling | forwardAccessSignalling | + prepareSubsequentHandover | sendAuthenticationInfo | + authenticationFailureReport | checkIMEI | insertSubscriberData | + deleteSubscriberData | reset | forwardCheckSS-Indication | restoreData | + provideSubscriberInfo | anyTimeInterrogation | + anyTimeSubscriptionInterrogation | anyTimeModification | + sendRoutingInfoForGprs | failureReport | noteMsPresentForGprs | noteMM-Event + | noteSubscriberDataModified | activateTraceMode | deactivateTraceMode | + sendIMSI | sendRoutingInfo | provideRoamingNumber | resumeCallHandling | + provideSIWFSNumber | siwfs-SignallingModify | setReportingState | + statusReport | remoteUserFree | ist-Alert | ist-Command | registerSS | + eraseSS | activateSS | deactivateSS | interrogateSS | + processUnstructuredSS-Request | unstructuredSS-Request | + unstructuredSS-Notify | registerPassword | getPassword | + ss-InvocationNotification | registerCC-Entry | eraseCC-Entry | + sendRoutingInfoForSM | mo-ForwardSM | mt-ForwardSM | reportSM-DeliveryStatus + | alertServiceCentre | informServiceCentre | readyForSM | prepareGroupCall | + processGroupCallSignalling | forwardGroupCallSignalling | + sendGroupCallEndSignal | provideSubscriberLocation | sendRoutingInfoForLCS | + subscriberLocationReport | secureTransportClass1 | secureTransportClass2 | + secureTransportClass3 | secureTransportClass4} + +-- The following operation codes are reserved for operations +-- existing in previous versions of the protocol +-- Operation Name AC used Oper. Code +-- +-- sendParameters map-ac infoRetrieval (14) version1 (1) local:9 +-- processUnstructuredSS-Data map-ac networkFunctionalSs (18) version1 (1) local:19 +-- performHandover map-ac handoverControl (11) version1 (1) local:28 +-- performSubsequentHandover map-ac handoverControl (11) version1 (1) local:30 +-- noteInternalHandover map-ac handoverControl (11) version1 (1) local:35 +-- noteSubscriberPresent map-ac mwdMngt (24) version1 (1) local:48 +-- alertServiceCentreWithoutResult map-ac shortMsgAlert (23) version1 (1) local:49 +-- traceSubscriberActivity map-ac handoverControl (11) version1 (1) local:52 +-- beginSubscriberActivity map-ac networkFunctionalSs (18) version1 (1) local:54 +-- The following error codes are reserved for errors +-- existing in previous versions of the protocol +-- Error Name AC used Error Code +-- +-- unknownBaseStation map-ac handoverControl (11) version1 (1) local:2 +-- invalidTargetBaseStation map-ac handoverControl (11) version1 (1) local:23 +-- noRadioResourceAvailable map-ac handoverControl (11) version1 (1) local:24 +END + diff --git a/MAP/asn_src/GSM/MAP-SM-DataTypes.asn b/MAP/asn_src/GSM/MAP-SM-DataTypes.asn new file mode 100644 index 0000000..157663a --- /dev/null +++ b/MAP/asn_src/GSM/MAP-SM-DataTypes.asn @@ -0,0 +1,189 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-SM-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-SM-DataTypes(16) version8(8)} DEFINITIONS +IMPLICIT TAGS ::= +BEGIN + +EXPORTS + RoutingInfoForSM-Arg, RoutingInfoForSM-Res, MO-ForwardSM-Arg, + MO-ForwardSM-Res, MT-ForwardSM-Arg, MT-ForwardSM-Res, + ReportSM-DeliveryStatusArg, ReportSM-DeliveryStatusRes, + AlertServiceCentreArg, InformServiceCentreArg, ReadyForSM-Arg, + ReadyForSM-Res, SM-DeliveryOutcome, AlertReason, Additional-Number; + +IMPORTS + AddressString, ISDN-AddressString, SignalInfo, IMSI, LMSI + FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18) + version8(8)} + AbsentSubscriberDiagnosticSM + FROM MAP-ER-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ER-DataTypes(17) + version8(8)} + ExtensionContainer + FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21) + version8(8)}; + +RoutingInfoForSM-Arg ::= SEQUENCE { + msisdn [0] ISDN-AddressString, + sm-RP-PRI [1] BOOLEAN, + serviceCentreAddress [2] AddressString, + extensionContainer [6] ExtensionContainer OPTIONAL, + ..., + gprsSupportIndicator [7] NULL OPTIONAL, + -- gprsSupportIndicator is set only if the SMS-GMSC supports + -- receiving of two numbers from the HLR + sm-RP-MTI [8] SM-RP-MTI OPTIONAL, + sm-RP-SMEA [9] SM-RP-SMEA OPTIONAL} + +SM-RP-MTI ::= INTEGER(0..10) + +-- 0 SMS Deliver +-- 1 SMS Status Report +-- other values are reserved for future use and shall be discarded if +-- received +SM-RP-SMEA ::= OCTET STRING(SIZE (1..12)) + +-- this parameter contains an address field which is encoded +-- as defined in 3GPP TS 23.040. An address field contains 3 elements : +-- address-length +-- type-of-address +-- address-value +RoutingInfoForSM-Res ::= SEQUENCE { + imsi IMSI, + locationInfoWithLMSI [0] LocationInfoWithLMSI, + extensionContainer [4] ExtensionContainer OPTIONAL, + ...} + +LocationInfoWithLMSI ::= SEQUENCE { + networkNode-Number [1] ISDN-AddressString, + lmsi LMSI OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + gprsNodeIndicator [5] NULL OPTIONAL, + -- gprsNodeIndicator is set only if the SGSN number is sent as the + -- Network Node Number + additional-Number [6] Additional-Number OPTIONAL} + -- NetworkNode-number can be either msc-number or sgsn-number + +Additional-Number ::= CHOICE { + msc-Number [0] ISDN-AddressString, + sgsn-Number [1] ISDN-AddressString} + +-- additional-number can be either msc-number or sgsn-number +-- if received networkNode-number is msc-number then the +-- additional number is sgsn-number +-- if received networkNode-number is sgsn-number then the +-- additional number is msc-number +MO-ForwardSM-Arg ::= SEQUENCE { + sm-RP-DA SM-RP-DA, + sm-RP-OA SM-RP-OA, + sm-RP-UI SignalInfo, + extensionContainer ExtensionContainer OPTIONAL, + ..., + imsi IMSI OPTIONAL} + +MO-ForwardSM-Res ::= SEQUENCE { + sm-RP-UI SignalInfo OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +MT-ForwardSM-Arg ::= SEQUENCE { + sm-RP-DA SM-RP-DA, + sm-RP-OA SM-RP-OA, + sm-RP-UI SignalInfo, + moreMessagesToSend NULL OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +MT-ForwardSM-Res ::= SEQUENCE { + sm-RP-UI SignalInfo OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SM-RP-DA ::= CHOICE { + imsi [0] IMSI, + lmsi [1] LMSI, + serviceCentreAddressDA [4] AddressString, + noSM-RP-DA [5] NULL} + +SM-RP-OA ::= CHOICE { + msisdn [2] ISDN-AddressString, + serviceCentreAddressOA [4] AddressString, + noSM-RP-OA [5] NULL} + +ReportSM-DeliveryStatusArg ::= SEQUENCE { + msisdn ISDN-AddressString, + serviceCentreAddress AddressString, + sm-DeliveryOutcome SM-DeliveryOutcome, + absentSubscriberDiagnosticSM + [0] AbsentSubscriberDiagnosticSM OPTIONAL, + extensionContainer [1] ExtensionContainer OPTIONAL, + ..., + gprsSupportIndicator [2] NULL OPTIONAL, + -- gprsSupportIndicator is set only if the SMS-GMSC supports + -- handling of two delivery outcomes + deliveryOutcomeIndicator [3] NULL OPTIONAL, + -- DeliveryOutcomeIndicator is set when the SM-DeliveryOutcome + -- is for GPRS + additionalSM-DeliveryOutcome [4] SM-DeliveryOutcome OPTIONAL, + -- If received, additionalSM-DeliveryOutcome is for GPRS + -- If DeliveryOutcomeIndicator is set, then AdditionalSM-DeliveryOutcome shall be absent + additionalAbsentSubscriberDiagnosticSM + [5] AbsentSubscriberDiagnosticSM OPTIONAL} + -- If received additionalAbsentSubscriberDiagnosticSM is for GPRS + -- If DeliveryOutcomeIndicator is set, then AdditionalAbsentSubscriberDiagnosticSM + -- shall be absent + +SM-DeliveryOutcome ::= ENUMERATED { + memoryCapacityExceeded(0), absentSubscriber(1), successfulTransfer(2) +} + +ReportSM-DeliveryStatusRes ::= SEQUENCE { + storedMSISDN ISDN-AddressString OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ...} + +AlertServiceCentreArg ::= SEQUENCE { + msisdn ISDN-AddressString, + serviceCentreAddress AddressString, + ...} + +InformServiceCentreArg ::= SEQUENCE { + storedMSISDN ISDN-AddressString OPTIONAL, + mw-Status MW-Status OPTIONAL, + extensionContainer ExtensionContainer OPTIONAL, + ..., + absentSubscriberDiagnosticSM + AbsentSubscriberDiagnosticSM OPTIONAL, + additionalAbsentSubscriberDiagnosticSM + [0] AbsentSubscriberDiagnosticSM OPTIONAL} + +-- additionalAbsentSubscriberDiagnosticSM may be present only if +-- absentSubscriberDiagnosticSM is present. +-- if included, additionalAbsentSubscriberDiagnosticSM is for GPRS and +-- absentSubscriberDiagnosticSM is for non-GPRS +MW-Status ::= BIT STRING { + sc-AddressNotIncluded(0), mnrf-Set(1), mcef-Set(2), mnrg-Set(3) +}(SIZE (6..16)) + +-- exception handling: +-- bits 4 to 15 shall be ignored if received and not understood +ReadyForSM-Arg ::= SEQUENCE { + imsi [0] IMSI, + alertReason AlertReason, + alertReasonIndicator NULL OPTIONAL, + -- alertReasonIndicator is set only when the alertReason + -- sent to HLR is for GPRS + extensionContainer ExtensionContainer OPTIONAL, + ...} + +ReadyForSM-Res ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +AlertReason ::= ENUMERATED {ms-Present(0), memoryAvailable(1)} + +END + diff --git a/MAP/asn_src/GSM/MAP-SS-Code.asn b/MAP/asn_src/GSM/MAP-SS-Code.asn new file mode 100644 index 0000000..1914b96 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-SS-Code.asn @@ -0,0 +1,260 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-SS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-SS-Code(15) version8(8)} DEFINITIONS ::= +BEGIN + +SS-Code ::= OCTET STRING(SIZE (1)) + +-- This type is used to represent the code identifying a single +-- supplementary service, a group of supplementary services, or +-- all supplementary services. The services and abbreviations +-- used are defined in TS 3GPP TS 22.004 [5]. The internal structure is +-- defined as follows: +-- +-- bits 87654321: group (bits 8765), and specific service +-- (bits 4321) +allSS SS-Code ::= + '00000000'B + +-- reserved for possible future use +-- all SS +allLineIdentificationSS SS-Code ::= + '00010000'B + +-- reserved for possible future use +-- all line identification SS +clip SS-Code ::= + '00010001'B + +-- calling line identification presentation +clir SS-Code ::= '00010010'B + +-- calling line identification restriction +colp SS-Code ::= '00010011'B + +-- connected line identification presentation +colr SS-Code ::= '00010100'B + +-- connected line identification restriction +mci SS-Code ::= '00010101'B + +-- reserved for possible future use +-- malicious call identification +allNameIdentificationSS SS-Code ::= + '00011000'B + +-- all name identification SS +cnap SS-Code ::= '00011001'B + +-- calling name presentation +-- SS-Codes '00011010'B to '00011111'B are reserved for future +-- NameIdentification Supplementary Service use. +allForwardingSS SS-Code ::= + '00100000'B + +-- all forwarding SS +cfu SS-Code ::= '00100001'B + +-- call forwarding unconditional +allCondForwardingSS SS-Code ::= '00101000'B + +-- all conditional forwarding SS +cfb SS-Code ::= '00101001'B + +-- call forwarding on mobile subscriber busy +cfnry SS-Code ::= '00101010'B + +-- call forwarding on no reply +cfnrc SS-Code ::= '00101011'B + +-- call forwarding on mobile subscriber not reachable +cd SS-Code ::= '00100100'B + +-- call deflection +allCallOfferingSS SS-Code ::= '00110000'B + +-- reserved for possible future use +-- all call offering SS includes also all forwarding SS +ect SS-Code ::= + '00110001'B + +-- explicit call transfer +mah SS-Code ::= '00110010'B + +-- reserved for possible future use +-- mobile access hunting +allCallCompletionSS SS-Code ::= + '01000000'B + +-- reserved for possible future use +-- all Call completion SS +cw SS-Code ::= + '01000001'B + +-- call waiting +hold SS-Code ::= '01000010'B + +-- call hold +ccbs-A SS-Code ::= '01000011'B + +-- completion of call to busy subscribers, originating side +ccbs-B SS-Code ::= + '01000100'B + +-- completion of call to busy subscribers, destination side +-- this SS-Code is used only in InsertSubscriberData and DeleteSubscriberData +mc SS-Code ::= + '01000101'B + +-- multicall +allMultiPartySS SS-Code ::= '01010000'B + +-- reserved for possible future use +-- all multiparty SS +multiPTY SS-Code ::= + '01010001'B + +-- multiparty +allCommunityOfInterest-SS SS-Code ::= '01100000'B + +-- reserved for possible future use +-- all community of interest SS +cug SS-Code ::= + '01100001'B + +-- closed user group +allChargingSS SS-Code ::= '01110000'B + +-- reserved for possible future use +-- all charging SS +aoci SS-Code ::= + '01110001'B + +-- advice of charge information +aocc SS-Code ::= '01110010'B + +-- advice of charge charging +allAdditionalInfoTransferSS SS-Code ::= '10000000'B + +-- reserved for possible future use +-- all additional information transfer SS +uus1 SS-Code ::= + '10000001'B + +-- UUS1 user-to-user signalling +uus2 SS-Code ::= '10000010'B + +-- UUS2 user-to-user signalling +uus3 SS-Code ::= '10000011'B + +-- UUS3 user-to-user signalling +allBarringSS SS-Code ::= '10010000'B + +-- all barring SS +barringOfOutgoingCalls SS-Code ::= '10010001'B + +-- barring of outgoing calls +baoc SS-Code ::= '10010010'B + +-- barring of all outgoing calls +boic SS-Code ::= '10010011'B + +-- barring of outgoing international calls +boicExHC SS-Code ::= '10010100'B + +-- barring of outgoing international calls except those directed +-- to the home PLMN +barringOfIncomingCalls SS-Code ::= + '10011001'B + +-- barring of incoming calls +baic SS-Code ::= '10011010'B + +-- barring of all incoming calls +bicRoam SS-Code ::= '10011011'B + +-- barring of incoming calls when roaming outside home PLMN +-- Country +allPLMN-specificSS SS-Code ::= + '11110000'B + +plmn-specificSS-1 SS-Code ::= '11110001'B + +plmn-specificSS-2 SS-Code ::= '11110010'B + +plmn-specificSS-3 SS-Code ::= '11110011'B + +plmn-specificSS-4 SS-Code ::= '11110100'B + +plmn-specificSS-5 SS-Code ::= '11110101'B + +plmn-specificSS-6 SS-Code ::= '11110110'B + +plmn-specificSS-7 SS-Code ::= '11110111'B + +plmn-specificSS-8 SS-Code ::= '11111000'B + +plmn-specificSS-9 SS-Code ::= '11111001'B + +plmn-specificSS-A SS-Code ::= '11111010'B + +plmn-specificSS-B SS-Code ::= '11111011'B + +plmn-specificSS-C SS-Code ::= '11111100'B + +plmn-specificSS-D SS-Code ::= '11111101'B + +plmn-specificSS-E SS-Code ::= '11111110'B + +plmn-specificSS-F SS-Code ::= '11111111'B + +allCallPrioritySS SS-Code ::= '10100000'B + +-- reserved for possible future use +-- all call priority SS +emlpp SS-Code ::= + '10100001'B + +-- enhanced Multilevel Precedence Pre-emption (EMLPP) service +allLCSPrivacyException SS-Code ::= + '10110000'B + +-- all LCS Privacy Exception Classes +universal SS-Code ::= '10110001'B + +-- allow location by any LCS client +callSessionRelated SS-Code ::= '10110010'B + +-- allow location by any value added LCS client to which a call/session +-- is established from the target MS +callSessionUnrelated SS-Code ::= + '10110011'B + +-- allow location by designated external value added LCS clients +plmnoperator SS-Code ::= + '10110100'B + +-- allow location by designated PLMN operator LCS clients +serviceType SS-Code ::= + '10110101'B + +-- allow location by LCS clients of a designated LCS service type +allMOLR-SS SS-Code ::= + '11000000'B + +-- all Mobile Originating Location Request Classes +basicSelfLocation SS-Code ::= + '11000001'B + +-- allow an MS to request its own location +autonomousSelfLocation SS-Code ::= + '11000010'B + +-- allow an MS to perform self location without interaction +-- with the PLMN for a predetermined period of time +transferToThirdParty SS-Code ::= + '11000011'B + +-- allow an MS to request transfer of its location to another LCS client +END + diff --git a/MAP/asn_src/GSM/MAP-SS-DataTypes.asn b/MAP/asn_src/GSM/MAP-SS-DataTypes.asn new file mode 100644 index 0000000..ab8558f --- /dev/null +++ b/MAP/asn_src/GSM/MAP-SS-DataTypes.asn @@ -0,0 +1,270 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-SS-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-SS-DataTypes(14) version8(8)} DEFINITIONS +IMPLICIT TAGS ::= +BEGIN + +EXPORTS + RegisterSS-Arg, SS-Info, SS-Status, SS-SubscriptionOption, SS-ForBS-Code, + InterrogateSS-Res, USSD-Arg, USSD-Res, USSD-DataCodingScheme, USSD-String, + Password, GuidanceInfo, SS-List, SS-InfoList, OverrideCategory, + CliRestrictionOption, NoReplyConditionTime, ForwardingOptions, maxNumOfSS, + SS-Data, SS-InvocationNotificationArg, SS-InvocationNotificationRes, + CCBS-Feature, RegisterCC-EntryArg, RegisterCC-EntryRes, EraseCC-EntryArg, + EraseCC-EntryRes; + +IMPORTS + AddressString, ISDN-AddressString, ISDN-SubaddressString, FTN-AddressString, + IMSI, BasicServiceCode, AlertingPattern, EMLPP-Priority, MaxMC-Bearers, + MC-Bearers, ExternalSignalInfo + FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18) + version8(8)} + ExtensionContainer + FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21) + version8(8)} + SS-Code + FROM MAP-SS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-SS-Code(15) version8(8)}; + +RegisterSS-Arg ::= SEQUENCE { + ss-Code SS-Code, + basicService BasicServiceCode OPTIONAL, + forwardedToNumber [4] AddressString OPTIONAL, + forwardedToSubaddress [6] ISDN-SubaddressString OPTIONAL, + noReplyConditionTime [5] NoReplyConditionTime OPTIONAL, + ..., + defaultPriority [7] EMLPP-Priority OPTIONAL, + nbrUser [8] MC-Bearers OPTIONAL, + longFTN-Supported [9] NULL OPTIONAL} + +NoReplyConditionTime ::= INTEGER(5..30) + +SS-Info ::= CHOICE { + forwardingInfo [0] ForwardingInfo, + callBarringInfo [1] CallBarringInfo, + ss-Data [3] SS-Data} + +ForwardingInfo ::= SEQUENCE { + ss-Code SS-Code OPTIONAL, + forwardingFeatureList ForwardingFeatureList, + ...} + +ForwardingFeatureList ::= + SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF ForwardingFeature + +ForwardingFeature ::= SEQUENCE { + basicService BasicServiceCode OPTIONAL, + ss-Status [4] SS-Status OPTIONAL, + forwardedToNumber [5] ISDN-AddressString OPTIONAL, + forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL, + forwardingOptions [6] ForwardingOptions OPTIONAL, + noReplyConditionTime [7] NoReplyConditionTime OPTIONAL, + ..., + longForwardedToNumber [9] FTN-AddressString OPTIONAL} + +SS-Status ::= OCTET STRING(SIZE (1)) + +-- bits 8765: 0000 (unused) +-- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit", +-- representing supplementary service state information +-- as defined in TS 3GPP TS 23.011 [22] +-- bit 4: "Q bit" +-- bit 3: "P bit" +-- bit 2: "R bit" +-- bit 1: "A bit" +ForwardingOptions ::= OCTET STRING(SIZE (1)) + +-- bit 8: notification to forwarding party +-- 0 no notification +-- 1 notification +-- bit 7: redirecting presentation +-- 0 no presentation +-- 1 presentation +-- bit 6: notification to calling party +-- 0 no notification +-- 1 notification +-- bit 5: 0 (unused) +-- bits 43: forwarding reason +-- 00 ms not reachable +-- 01 ms busy +-- 10 no reply +-- 11 unconditional when used in a SRI Result, +-- or call deflection when used in a RCH Argument +-- bits 21: 00 (unused) +CallBarringInfo ::= SEQUENCE { + ss-Code SS-Code OPTIONAL, + callBarringFeatureList CallBarringFeatureList, + ...} + +CallBarringFeatureList ::= + SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF CallBarringFeature + +CallBarringFeature ::= SEQUENCE { + basicService BasicServiceCode OPTIONAL, + ss-Status [4] SS-Status OPTIONAL, + ...} + +SS-Data ::= SEQUENCE { + ss-Code SS-Code OPTIONAL, + ss-Status [4] SS-Status OPTIONAL, + ss-SubscriptionOption SS-SubscriptionOption OPTIONAL, + basicServiceGroupList BasicServiceGroupList OPTIONAL, + ..., + defaultPriority EMLPP-Priority OPTIONAL, + nbrUser [5] MC-Bearers OPTIONAL} + +SS-SubscriptionOption ::= CHOICE { + cliRestrictionOption [2] CliRestrictionOption, + overrideCategory [1] OverrideCategory} + +CliRestrictionOption ::= ENUMERATED { + permanent(0), temporaryDefaultRestricted(1), temporaryDefaultAllowed(2) +} + +OverrideCategory ::= ENUMERATED {overrideEnabled(0), overrideDisabled(1)} + +SS-ForBS-Code ::= SEQUENCE { + ss-Code SS-Code, + basicService BasicServiceCode OPTIONAL, + ..., + longFTN-Supported [4] NULL OPTIONAL} + +GenericServiceInfo ::= SEQUENCE { + ss-Status SS-Status, + cliRestrictionOption CliRestrictionOption OPTIONAL, + ..., + maximumEntitledPriority [0] EMLPP-Priority OPTIONAL, + defaultPriority [1] EMLPP-Priority OPTIONAL, + ccbs-FeatureList [2] CCBS-FeatureList OPTIONAL, + nbrSB [3] MaxMC-Bearers OPTIONAL, + nbrUser [4] MC-Bearers OPTIONAL, + nbrSN [5] MC-Bearers OPTIONAL} + +CCBS-FeatureList ::= SEQUENCE SIZE (1..maxNumOfCCBS-Requests) OF CCBS-Feature + +maxNumOfCCBS-Requests INTEGER ::= 5 + +CCBS-Feature ::= SEQUENCE { + ccbs-Index [0] CCBS-Index OPTIONAL, + b-subscriberNumber [1] ISDN-AddressString OPTIONAL, + b-subscriberSubaddress [2] ISDN-SubaddressString OPTIONAL, + basicServiceGroup [3] BasicServiceCode OPTIONAL, + ...} + +CCBS-Index ::= INTEGER(1..maxNumOfCCBS-Requests) + +InterrogateSS-Res ::= CHOICE { + ss-Status [0] SS-Status, + basicServiceGroupList [2] BasicServiceGroupList, + forwardingFeatureList [3] ForwardingFeatureList, + genericServiceInfo [4] GenericServiceInfo} + +USSD-Arg ::= SEQUENCE { + ussd-DataCodingScheme USSD-DataCodingScheme, + ussd-String USSD-String, + ..., + alertingPattern AlertingPattern OPTIONAL, + msisdn [0] ISDN-AddressString OPTIONAL} + +USSD-Res ::= SEQUENCE { + ussd-DataCodingScheme USSD-DataCodingScheme, + ussd-String USSD-String, + ...} + +USSD-DataCodingScheme ::= OCTET STRING(SIZE (1)) + +-- The structure of the USSD-DataCodingScheme is defined by +-- the Cell Broadcast Data Coding Scheme as described in +-- TS 3GPP TS 23.038 [25] +USSD-String ::= OCTET STRING(SIZE (1..maxUSSD-StringLength)) + +-- The structure of the contents of the USSD-String is dependent +-- on the USSD-DataCodingScheme as described in TS 3GPP TS 23.038 [25]. +maxUSSD-StringLength INTEGER ::= + 160 + +Password ::= + NumericString + (FROM ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9")) + (SIZE (4)) + +GuidanceInfo ::= ENUMERATED {enterPW(0), enterNewPW(1), enterNewPW-Again(2)} + +-- How this information is really delivered to the subscriber +-- (display, announcement, ...) is not part of this +-- specification. +SS-List ::= SEQUENCE SIZE (1..maxNumOfSS) OF SS-Code + +maxNumOfSS INTEGER ::= 30 + +SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF SS-Info + +BasicServiceGroupList ::= + SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF BasicServiceCode + +maxNumOfBasicServiceGroups INTEGER ::= 13 + +SS-InvocationNotificationArg ::= SEQUENCE { + imsi [0] IMSI, + msisdn [1] ISDN-AddressString, + ss-Event [2] SS-Code, + -- The following SS-Code values are allowed : + -- ect SS-Code ::= '00110001'B + -- multiPTY SS-Code ::= '01010001'B + -- cd SS-Code ::= '00100100'B + -- ccbs SS-Code ::= '01000100'B + ss-EventSpecification [3] SS-EventSpecification OPTIONAL, + extensionContainer [4] ExtensionContainer OPTIONAL, + ..., + b-subscriberNumber [5] ISDN-AddressString OPTIONAL, + ccbs-RequestState [6] CCBS-RequestState OPTIONAL} + +CCBS-RequestState ::= ENUMERATED { + request(0), recall(1), active(2), completed(3), suspended(4), frozen(5), + deleted(6)} + +SS-InvocationNotificationRes ::= SEQUENCE { + extensionContainer ExtensionContainer OPTIONAL, + ...} + +SS-EventSpecification ::= + SEQUENCE SIZE (1..maxEventSpecification) OF AddressString + +maxEventSpecification INTEGER ::= 2 + +RegisterCC-EntryArg ::= SEQUENCE { + ss-Code [0] SS-Code, + ccbs-Data [1] CCBS-Data OPTIONAL, + ...} + +CCBS-Data ::= SEQUENCE { + ccbs-Feature [0] CCBS-Feature, + translatedB-Number [1] ISDN-AddressString, + serviceIndicator [2] ServiceIndicator OPTIONAL, + callInfo [3] ExternalSignalInfo, + networkSignalInfo [4] ExternalSignalInfo, + ...} + +ServiceIndicator ::= BIT STRING {clir-invoked(0), camel-invoked(1) +}(SIZE (2..32)) + +-- exception handling: +-- bits 2 to 31 shall be ignored if received and not understood +RegisterCC-EntryRes ::= SEQUENCE { + ccbs-Feature [0] CCBS-Feature OPTIONAL, + ...} + +EraseCC-EntryArg ::= SEQUENCE { + ss-Code [0] SS-Code, + ccbs-Index [1] CCBS-Index OPTIONAL, + ...} + +EraseCC-EntryRes ::= SEQUENCE { + ss-Code [0] SS-Code, + ss-Status [1] SS-Status OPTIONAL, + ...} + +END + diff --git a/MAP/asn_src/GSM/MAP-ST-DataTypes.asn b/MAP/asn_src/GSM/MAP-ST-DataTypes.asn new file mode 100644 index 0000000..b8c1f2a --- /dev/null +++ b/MAP/asn_src/GSM/MAP-ST-DataTypes.asn @@ -0,0 +1,84 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-ST-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-ST-DataTypes(27) version8(8)} DEFINITIONS +IMPLICIT TAGS ::= +BEGIN + +EXPORTS + SecureTransportArg, SecureTransportRes, SecurityHeader, ProtectedPayload; + +IMPORTS + IMSI + FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18) + version8(8)}; + +SecureTransportArg ::= SEQUENCE { + securityHeader SecurityHeader, + protectedPayload ProtectedPayload OPTIONAL} + +-- The protectedPayload carries the result of applying the security function +-- defined in 3GPP TS 33.200 to the encoding of the argument of the securely +-- transported operation +SecureTransportRes ::= SEQUENCE { + securityHeader SecurityHeader, + protectedPayload ProtectedPayload OPTIONAL} + +-- The protectedPayload carries the result of applying the security function +-- defined in 3GPP TS 33.200 to the encoding of the result of the securely +-- transported operation +SecurityHeader ::= SEQUENCE { + securityParametersIndex SecurityParametersIndex, + originalComponentIdentifier OriginalComponentIdentifier, + initialisationVector InitialisationVector OPTIONAL, + ...} + +ProtectedPayload ::= OCTET STRING(SIZE (1..3438)) + +-- In protection mode 0 (noProtection) the ProtectedPayload carries the transfer +-- syntax value of the component parameter identified by the +-- originalComponentIdentifier. +-- In protection mode 1 (integrityAuthenticity) the protectedPayload carries +-- the transfer syntax value of the component +-- parameter identified by the originalComponentIdentifier, followed by +-- the 32 bit integrity check value. +-- The integrity check value is the result of applying the hash algorithm +-- to the concatenation of the transfer syntax value of the SecurityHeader, +-- and the transfer syntax value of the component parameter. +-- In protection mode 2 (confidentialityIntegrityAuthenticity) the protected +-- payload carries the encrypted transfer syntax +-- value of the component parameter identified by the +-- originalComponentIdentifier, followed by the 32 bit integrity check value. +-- The integrity check value is the result of applying the hash algorithm +-- to the concatenation of the transfer syntax value of the SecurityHeader, +-- and the encrypted transfer syntax value of the component parameter. +-- See 33.200. +-- The length of the protectedPayload is adjusted according to the capabilities of +-- the lower protocol layers +SecurityParametersIndex ::= OCTET STRING(SIZE (4)) + +InitialisationVector ::= OCTET STRING(SIZE (14)) + +-- the internal structure is defined as follows: +-- Octets 1 to 4 : TVP. The TVP is a 32 bit time stamp. Its value is binary coded +-- and indicates the number of intervals of 100 milliseconds +-- elapsed since 1st January 2002, 0:00:00 UTC +-- Octets 5 to 10: NE-Id. The NE-Id uniquely identifies the sending network entity +-- within the PLMN. It is the entity's E.164 number without CC and +-- NDC. It is TBCD-coded, padded with zeros. +-- Octets 11 to 14: PROP. This 32 bit value is used to make the +-- InitialisationVector unique within the same TVP period. +-- The content is not standardized. +OriginalComponentIdentifier ::= CHOICE { + operationCode [0] OperationCode, + errorCode [1] ErrorCode, + userInfo [2] NULL} + +OperationCode ::= CHOICE {localValue INTEGER, + globalValue OBJECT IDENTIFIER} + +ErrorCode ::= CHOICE {localValue INTEGER, + globalValue OBJECT IDENTIFIER} + +END + diff --git a/MAP/asn_src/GSM/MAP-SecureTransportOperations.asn b/MAP/asn_src/GSM/MAP-SecureTransportOperations.asn new file mode 100644 index 0000000..a94a4c2 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-SecureTransportOperations.asn @@ -0,0 +1,52 @@ +MAP-SecureTransportOperations + {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-SecureTransportOperations(26) + version8(8)} DEFINITIONS ::= +BEGIN + +EXPORTS + secureTransportClass1, secureTransportClass2, secureTransportClass3, + secureTransportClass4; + +IMPORTS + OPERATION + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + dataMissing, secureTransportError, unexpectedDataValue + FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-Errors(10) version8(8)} + SecureTransportArg, SecureTransportRes + FROM MAP-ST-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-ST-DataTypes(27) + version8(8)}; + +secureTransportClass1 OPERATION ::= { + --Timer shall be the same as for the + --securely transported operation + ARGUMENT SecureTransportArg + RESULT SecureTransportRes + ERRORS {secureTransportError | dataMissing | unexpectedDataValue} + CODE local:78} + +secureTransportClass2 OPERATION ::= { + --Timer shall be the same as for the + --securely transported operation + ARGUMENT SecureTransportArg + ERRORS {secureTransportError | dataMissing | unexpectedDataValue} + CODE local:79} + +secureTransportClass3 OPERATION ::= { + --Timer shall be the same as for the + --securely transported operation + ARGUMENT SecureTransportArg + RESULT SecureTransportRes + CODE local:80} + +secureTransportClass4 OPERATION ::= { + --Timer shall be the same as for the + --securely transported operation + ARGUMENT SecureTransportArg + CODE local:81} + +END + diff --git a/MAP/asn_src/GSM/MAP-ShortMessageServiceOperations.asn b/MAP/asn_src/GSM/MAP-ShortMessageServiceOperations.asn new file mode 100644 index 0000000..b9c6422 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-ShortMessageServiceOperations.asn @@ -0,0 +1,88 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-ShortMessageServiceOperations {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) + map-ShortMessageServiceOperations(9) version8(8)} DEFINITIONS ::= +BEGIN + +EXPORTS + sendRoutingInfoForSM, mo-ForwardSM, mt-ForwardSM, reportSM-DeliveryStatus, + alertServiceCentre, informServiceCentre, readyForSM; + +IMPORTS + OPERATION + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + systemFailure, dataMissing, unexpectedDataValue, facilityNotSupported, + unknownSubscriber, unidentifiedSubscriber, illegalSubscriber, + illegalEquipment, teleserviceNotProvisioned, callBarred, + subscriberBusyForMT-SMS, sm-DeliveryFailure, messageWaitingListFull, + absentSubscriberSM + FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-Errors(10) version8(8)} + RoutingInfoForSM-Arg, RoutingInfoForSM-Res, MO-ForwardSM-Arg, + MO-ForwardSM-Res, MT-ForwardSM-Arg, MT-ForwardSM-Res, + ReportSM-DeliveryStatusArg, ReportSM-DeliveryStatusRes, + AlertServiceCentreArg, InformServiceCentreArg, ReadyForSM-Arg, + ReadyForSM-Res + FROM MAP-SM-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-SM-DataTypes(16) + version8(8)}; + +sendRoutingInfoForSM OPERATION ::= { --Timer m + ARGUMENT RoutingInfoForSM-Arg + RESULT RoutingInfoForSM-Res + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported | + unknownSubscriber | teleserviceNotProvisioned | callBarred | + absentSubscriberSM} + CODE local:45} + +mo-ForwardSM OPERATION ::= { --Timer ml + ARGUMENT MO-ForwardSM-Arg + RESULT MO-ForwardSM-Res + -- optional + ERRORS + {systemFailure | unexpectedDataValue | facilityNotSupported | + sm-DeliveryFailure} + CODE local:46} + +mt-ForwardSM OPERATION ::= { --Timer ml + ARGUMENT MT-ForwardSM-Arg + RESULT MT-ForwardSM-Res + -- optional + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported | + unidentifiedSubscriber | illegalSubscriber | illegalEquipment | + subscriberBusyForMT-SMS | sm-DeliveryFailure | absentSubscriberSM} + CODE local:44} + +reportSM-DeliveryStatus OPERATION ::= { --Timer s + ARGUMENT ReportSM-DeliveryStatusArg + RESULT ReportSM-DeliveryStatusRes + -- optional + ERRORS + {dataMissing | unexpectedDataValue | unknownSubscriber | + messageWaitingListFull} + CODE local:47} + +alertServiceCentre OPERATION ::= { --Timer s + ARGUMENT AlertServiceCentreArg + RETURN RESULT TRUE + ERRORS {systemFailure | dataMissing | unexpectedDataValue} + CODE local:64} + +informServiceCentre OPERATION ::= { --Timer s + ARGUMENT InformServiceCentreArg + CODE local:63} + +readyForSM OPERATION ::= { --Timer m + ARGUMENT ReadyForSM-Arg + RESULT ReadyForSM-Res + -- optional + ERRORS + {dataMissing | unexpectedDataValue | facilityNotSupported | + unknownSubscriber} + CODE local:66} + +END + diff --git a/MAP/asn_src/GSM/MAP-SupplementaryServiceOperations.asn b/MAP/asn_src/GSM/MAP-SupplementaryServiceOperations.asn new file mode 100644 index 0000000..65aec22 --- /dev/null +++ b/MAP/asn_src/GSM/MAP-SupplementaryServiceOperations.asn @@ -0,0 +1,154 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-SupplementaryServiceOperations {itu-t identified-organization(4) + etsi(0) mobileDomain(0) gsm-Network(1) modules(3) + map-SupplementaryServiceOperations(8) version8(8)} DEFINITIONS ::= +BEGIN + +EXPORTS + registerSS, eraseSS, activateSS, deactivateSS, interrogateSS, + processUnstructuredSS-Request, unstructuredSS-Request, + unstructuredSS-Notify, registerPassword, getPassword, + ss-InvocationNotification, registerCC-Entry, eraseCC-Entry; + +IMPORTS + OPERATION + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + systemFailure, dataMissing, unexpectedDataValue, unknownSubscriber, + bearerServiceNotProvisioned, teleserviceNotProvisioned, callBarred, + illegalSS-Operation, ss-ErrorStatus, ss-NotAvailable, + ss-SubscriptionViolation, ss-Incompatibility, pw-RegistrationFailure, + negativePW-Check, numberOfPW-AttemptsViolation, unknownAlphabet, + ussd-Busy, absentSubscriber, illegalSubscriber, illegalEquipment, + shortTermDenial, longTermDenial, facilityNotSupported + FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-Errors(10) version8(8)} + RegisterSS-Arg, SS-Info, SS-ForBS-Code, InterrogateSS-Res, USSD-Arg, + USSD-Res, Password, GuidanceInfo, SS-InvocationNotificationArg, + SS-InvocationNotificationRes, RegisterCC-EntryArg, RegisterCC-EntryRes, + EraseCC-EntryArg, EraseCC-EntryRes + FROM MAP-SS-DataTypes {itu-t identified-organization(4) etsi(0) + mobileDomain(0) gsm-Network(1) modules(3) map-SS-DataTypes(14) + version8(8)} + SS-Code + FROM MAP-SS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-SS-Code(15) version8(8)}; + +-- supplementary service handling operations +registerSS OPERATION ::= { --Timer m + ARGUMENT RegisterSS-Arg + RESULT SS-Info + -- optional + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | + bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred | + illegalSS-Operation | ss-ErrorStatus | ss-Incompatibility} + CODE local:10} + +eraseSS OPERATION ::= { --Timer m + ARGUMENT SS-ForBS-Code + RESULT SS-Info + -- optional + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | + bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred | + illegalSS-Operation | ss-ErrorStatus} + CODE local:11} + +activateSS OPERATION ::= { --Timer m + ARGUMENT SS-ForBS-Code + RESULT SS-Info + -- optional + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | + bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred | + illegalSS-Operation | ss-ErrorStatus | ss-SubscriptionViolation | + ss-Incompatibility | negativePW-Check | numberOfPW-AttemptsViolation} + CODE local:12} + +deactivateSS OPERATION ::= { --Timer m + ARGUMENT SS-ForBS-Code + RESULT SS-Info + -- optional + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | + bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred | + illegalSS-Operation | ss-ErrorStatus | ss-SubscriptionViolation | + negativePW-Check | numberOfPW-AttemptsViolation} + CODE local:13} + +interrogateSS OPERATION ::= { --Timer m + ARGUMENT SS-ForBS-Code + RESULT InterrogateSS-Res + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | + bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred | + illegalSS-Operation | ss-NotAvailable} + CODE local:14} + +processUnstructuredSS-Request OPERATION ::= { --Timer 10 minutes + ARGUMENT USSD-Arg + RESULT USSD-Res + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | unknownAlphabet | + callBarred} + CODE local:59} + +unstructuredSS-Request OPERATION ::= { --Timer ml + ARGUMENT USSD-Arg + RESULT USSD-Res + -- optional + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | absentSubscriber | + illegalSubscriber | illegalEquipment | unknownAlphabet | ussd-Busy} + CODE local:60} + +unstructuredSS-Notify OPERATION ::= { --Timer ml + ARGUMENT USSD-Arg + RETURN RESULT TRUE + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | absentSubscriber | + illegalSubscriber | illegalEquipment | unknownAlphabet | ussd-Busy} + CODE local:61} + +registerPassword OPERATION ::= { --Timer ml + ARGUMENT SS-Code + RESULT Password + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | callBarred | + ss-SubscriptionViolation | pw-RegistrationFailure | negativePW-Check | + numberOfPW-AttemptsViolation} + LINKED {getPassword} + CODE local:17} + +getPassword OPERATION ::= { --Timer m + ARGUMENT GuidanceInfo + RESULT Password + CODE local:18} + +ss-InvocationNotification OPERATION ::= { --Timer m + ARGUMENT SS-InvocationNotificationArg + RESULT SS-InvocationNotificationRes + -- optional + ERRORS {dataMissing | unexpectedDataValue | unknownSubscriber} + CODE local:72} + +registerCC-Entry OPERATION ::= { --Timer m + ARGUMENT RegisterCC-EntryArg + RESULT RegisterCC-EntryRes + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | callBarred | + illegalSS-Operation | ss-ErrorStatus | ss-Incompatibility | + shortTermDenial | longTermDenial | facilityNotSupported} + CODE local:76} + +eraseCC-Entry OPERATION ::= { --Timer m + ARGUMENT EraseCC-EntryArg + RESULT EraseCC-EntryRes + ERRORS + {systemFailure | dataMissing | unexpectedDataValue | callBarred | + illegalSS-Operation | ss-ErrorStatus} + CODE local:77} + +END + diff --git a/MAP/asn_src/GSM/MAP-TS-Code.asn b/MAP/asn_src/GSM/MAP-TS-Code.asn new file mode 100644 index 0000000..c89f93e --- /dev/null +++ b/MAP/asn_src/GSM/MAP-TS-Code.asn @@ -0,0 +1,108 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MAP-TS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0) + gsm-Network(1) modules(3) map-TS-Code(19) version8(8)} DEFINITIONS ::= +BEGIN + +TeleserviceCode ::= OCTET STRING(SIZE (1)) + +-- This type is used to represent the code identifying a single +-- teleservice, a group of teleservices, or all teleservices. The +-- services are defined in TS GSM 22.003 [4]. +-- The internal structure is defined as follows: +-- bits 87654321: group (bits 8765) and specific service +-- (bits 4321) +Ext-TeleserviceCode ::= OCTET STRING(SIZE (1..5)) + +-- This type is used to represent the code identifying a single +-- teleservice, a group of teleservices, or all teleservices. The +-- services are defined in TS GSM 22.003 [4]. +-- The internal structure is defined as follows: +-- OCTET 1: +-- bits 87654321: group (bits 8765) and specific service +-- (bits 4321) +-- OCTETS 2-5: reserved for future use. If received the +-- Ext-TeleserviceCode shall be +-- treated according to the exception handling defined for the +-- operation that uses this type. +-- Ext-TeleserviceCode includes all values defined for TeleserviceCode. +allTeleservices TeleserviceCode ::= + '00000000'B + +allSpeechTransmissionServices TeleserviceCode ::= '00010000'B + +telephony TeleserviceCode ::= '00010001'B + +emergencyCalls TeleserviceCode ::= '00010010'B + +allShortMessageServices TeleserviceCode ::= '00100000'B + +shortMessageMT-PP TeleserviceCode ::= '00100001'B + +shortMessageMO-PP TeleserviceCode ::= '00100010'B + +allFacsimileTransmissionServices TeleserviceCode ::= '01100000'B + +facsimileGroup3AndAlterSpeech TeleserviceCode ::= '01100001'B + +automaticFacsimileGroup3 TeleserviceCode ::= '01100010'B + +facsimileGroup4 TeleserviceCode ::= '01100011'B + +-- The following non-hierarchical Compound Teleservice Groups +-- are defined in TS 3GPP TS 22.030: +allDataTeleservices TeleserviceCode ::= + '01110000'B + +-- covers Teleservice Groups 'allFacsimileTransmissionServices' +-- and 'allShortMessageServices' +allTeleservices-ExeptSMS TeleserviceCode ::= + '10000000'B + +-- covers Teleservice Groups 'allSpeechTransmissionServices' and +-- 'allFacsimileTransmissionServices' +-- +-- Compound Teleservice Group Codes are only used in call +-- independent supplementary service operations, i.e. they +-- are not used in InsertSubscriberData or in +-- DeleteSubscriberData messages. +allVoiceGroupCallServices TeleserviceCode ::= + '10010000'B + +voiceGroupCall TeleserviceCode ::= '10010001'B + +voiceBroadcastCall TeleserviceCode ::= '10010010'B + +allPLMN-specificTS TeleserviceCode ::= '11010000'B + +plmn-specificTS-1 TeleserviceCode ::= '11010001'B + +plmn-specificTS-2 TeleserviceCode ::= '11010010'B + +plmn-specificTS-3 TeleserviceCode ::= '11010011'B + +plmn-specificTS-4 TeleserviceCode ::= '11010100'B + +plmn-specificTS-5 TeleserviceCode ::= '11010101'B + +plmn-specificTS-6 TeleserviceCode ::= '11010110'B + +plmn-specificTS-7 TeleserviceCode ::= '11010111'B + +plmn-specificTS-8 TeleserviceCode ::= '11011000'B + +plmn-specificTS-9 TeleserviceCode ::= '11011001'B + +plmn-specificTS-A TeleserviceCode ::= '11011010'B + +plmn-specificTS-B TeleserviceCode ::= '11011011'B + +plmn-specificTS-C TeleserviceCode ::= '11011100'B + +plmn-specificTS-D TeleserviceCode ::= '11011101'B + +plmn-specificTS-E TeleserviceCode ::= '11011110'B + +plmn-specificTS-F TeleserviceCode ::= '11011111'B + +END + diff --git a/MAP/asn_src/GSM/Makefile b/MAP/asn_src/GSM/Makefile new file mode 100644 index 0000000..4c7b405 --- /dev/null +++ b/MAP/asn_src/GSM/Makefile @@ -0,0 +1,119 @@ + +## I found it necessary to copy Remote-Operations-* here +## TCAPINCLUDES = -I ../../../TCAP/itu/asn_src +TCAPINCLUDES = + +ERLC = erlc +ERLCFLAGS = -b beam -W -v + +ASNC = $(ERLC) +ASNCFLAGS = -W -b ber_bin $(TCAPINCLUDES) +optimize +driver + +%.beam:%.erl + $(ERLC) $(ERLCFLAGS) $< + +.SECONDARY: %.erl +%.erl:%.asn + $(ASNC) $(ASNCFLAGS) $< + +default: all + +all: MAP-SecureTransportOperations.beam \ + MAP-MobileServiceOperations.beam \ + MAP-LocationServiceOperations.beam \ + MAP-OperationAndMaintenanceOperations.beam \ + MAP-CallHandlingOperations.beam \ + MAP-SupplementaryServiceOperations.beam \ + MAP-ShortMessageServiceOperations.beam \ + MAP-Group-Call-Operations.beam \ + MAP-ApplicationContexts.beam \ + MAP-DialogueInformation.beam \ + MAP-Protocol.beam + + +MAP-CommonDataTypes.erl: MAP-ExtensionDataTypes.erl \ + MAP-TS-Code.erl MAP-BS-Code.erl MAP-SS-Code.erl +MAP-ER-DataTypes.erl: MAP-ExtensionDataTypes.erl \ + MAP-SS-DataTypes.erl MAP-CommonDataTypes.erl \ + MAP-ST-DataTypes.erl MAP-SS-Code.erl +MAP-ST-DataTypes.erl: MAP-CommonDataTypes.erl +MAP-MS-DataTypes.erl: MAP-ER-DataTypes.erl \ + MAP-SS-DataTypes.erl MAP-SS-Code.erl \ + MAP-BS-Code.erl MAP-TS-Code.erl \ + MAP-CommonDataTypes.erl MAP-ExtensionDataTypes.erl +MAP-LCS-DataTypes.erl: MAP-SM-DataTypes.erl \ + MAP-CommonDataTypes.erl MAP-ExtensionDataTypes.erl \ + MAP-SS-DataTypes.erl MAP-MS-DataTypes.erl +MAP-CH-DataTypes.erl: MAP-ExtensionDataTypes.erl \ + MAP-MS-DataTypes.erl MAP-SS-DataTypes.erl \ + MAP-CommonDataTypes.erl +MAP-OM-DataTypes.erl: MAP-ExtensionDataTypes.erl \ + MAP-CommonDataTypes.erl +MAP-SS-DataTypes.erl: MAP-SS-Code.erl \ + MAP-CommonDataTypes.erl MAP-ExtensionDataTypes.erl +MAP-SM-DataTypes.erl: MAP-ExtensionDataTypes.erl \ + MAP-CommonDataTypes.erl MAP-ER-DataTypes.erl +MAP-GR-DataTypes.erl: MAP-ExtensionDataTypes.erl \ + MAP-CommonDataTypes.erl MAP-TS-Code.erl \ + MAP-MS-DataTypes.erl + +MAP-Errors.erl: MAP-ER-DataTypes.erl \ + MAP-SS-DataTypes.erl + +MAP-SecureTransportOperations.erl: MAP-ST-DataTypes.erl \ + MAP-Errors.erl +MAP-MobileServiceOperations.erl: MAP-MS-DataTypes.erl \ + MAP-Errors.erl +MAP-LocationServiceOperations.erl: MAP-LCS-DataTypes.erl \ + MAP-Errors.erl +MAP-OperationAndMaintenanceOperations.erl: MAP-CommonDataTypes.erl \ + MAP-Errors.erl MAP-OM-DataTypes.erl +MAP-CallHandlingOperations.erl: MAP-CH-DataTypes.erl \ + MAP-Errors.erl +MAP-SupplementaryServiceOperations.erl: MAP-SS-Code.erl \ + MAP-Errors.erl MAP-SS-DataTypes.erl +MAP-ShortMessageServiceOperations.erl: MAP-SM-DataTypes.erl \ + MAP-Errors.erl +MAP-Group-Call-Operations.erl: MAP-GR-DataTypes.erl \ + MAP-Errors.erl + +MAP-ApplicationContexts.erl: MobileDomainDefinitions.erl +MAP-DialogueInformation.erl: MAP-ST-DataTypes.erl \ + MobileDomainDefinitions.erl MAP-CommonDataTypes.erl \ + MAP-ExtensionDataTypes.erl +MAP-Protocol.erl: MAP-MobileServiceOperations.erl \ + MAP-OperationAndMaintenanceOperations.erl \ + MAP-CallHandlingOperations.erl \ + MAP-SupplementaryServiceOperations.erl \ + MAP-ShortMessageServiceOperations.erl \ + MAP-Group-Call-Operations.erl \ + MAP-LocationServiceOperations.erl \ + MAP-SecureTransportOperations.erl + +.PHONY: clean +clean: + rm -rf *.asn1db + rm -rf MobileDomainDefinitions.erl \ + MAP-ApplicationContexts.erl MAP-BS-Code.erl \ + MAP-CH-DataTypes.erl MAP-CallHandlingOperations.erl \ + MAP-CommonDataTypes.erl MAP-DialogueInformation.erl \ + MAP-ER-DataTypes.erl MAP-Errors.erl MAP-ExtensionDataTypes.erl \ + MAP-GR-DataTypes.erl MAP-Group-Call-Operations.erl \ + MAP-LCS-DataTypes.erl MAP-LocationServiceOperations.erl \ + MAP-MS-DataTypes.erl MAP-MobileServiceOperations.erl \ + MAP-OM-DataTypes.erl MAP-OperationAndMaintenanceOperations.erl \ + MAP-Protocol.erl MAP-SM-DataTypes.erl \ + MAP-SS-Code.erl MAP-SS-DataTypes.erl MAP-ST-DataTypes.erl \ + MAP-SecureTransportOperations.erl \ + MAP-ShortMessageServiceOperations.erl \ + MAP-SupplementaryServiceOperations.erl MAP-TS-Code.erl + rm -rf MAP-ApplicationContexts.hrl MAP-MS-DataTypes.hrl \ + MAP-CH-DataTypes.hrl MAP-OM-DataTypes.hrl \ + MAP-DialogueInformation.hrl MAP-SM-DataTypes.hrl \ + MAP-GR-DataTypes.hrl MobileDomainDefinitions.hrl \ + MAP-LCS-DataTypes.hrl MAP-BS-Code.hrl \ + MAP-CommonDataTypes.hrl MAP-ER-DataTypes.hrl \ + MAP-ExtensionDataTypes.hrl MAP-SS-Code.hrl \ + MAP-SS-DataTypes.hrl MAP-ST-DataTypes.hrl \ + MAP-TS-Code.hrl + rm -rf *.beam diff --git a/MAP/asn_src/GSM/MobileDomainDefinitions.asn b/MAP/asn_src/GSM/MobileDomainDefinitions.asn new file mode 100644 index 0000000..3448725 --- /dev/null +++ b/MAP/asn_src/GSM/MobileDomainDefinitions.asn @@ -0,0 +1,35 @@ +-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +MobileDomainDefinitions {ccitt(0) identified-organization(4) etsi(0) + mobileDomain(0) mobileDomainDefinitions(0) version1(1)} DEFINITIONS ::= +BEGIN + +-- Mobile DomainId +mobileDomainId OBJECT IDENTIFIER ::= + {ccitt(0) identified-organization(4) etsi(0) mobileDomain(0)} + +-- Mobile Subdomains +gsm-NetworkId OBJECT IDENTIFIER ::= + {mobileDomainId gsm-Network(1)} + +gsm-AccessId OBJECT IDENTIFIER ::= {mobileDomainId gsm-Access(2)} + +gsm-OperationAndMaintenanceId OBJECT IDENTIFIER ::= + {mobileDomainId gsm-Operation-Maintenance(3)} + +gsm-MessagingId OBJECT IDENTIFIER ::= {mobileDomainId gsm-Messaging(4)} + +-- Common Component Ids for structuring Mobile Subdomains +CommonComponentId ::= INTEGER(0..9) + +ac-Id CommonComponentId ::= 0 + +as-Id CommonComponentId ::= 1 + +ase-Id CommonComponentId ::= 2 + +moduleId CommonComponentId ::= 3 + +er-Id CommonComponentId ::= 4 + +END -- MobileDomainDefinitions + diff --git a/MAP/asn_src/GSM/README b/MAP/asn_src/GSM/README new file mode 100644 index 0000000..2a31d09 --- /dev/null +++ b/MAP/asn_src/GSM/README @@ -0,0 +1,7 @@ + +The ASN.1 modules here were derived from the following version +of the Mobile Application Part (MAP) Specification: + + ETSI TS 129 002 V5.6.2 (2003-07) + + diff --git a/MAP/asn_src/Makefile b/MAP/asn_src/Makefile new file mode 100644 index 0000000..f21d4e3 --- /dev/null +++ b/MAP/asn_src/Makefile @@ -0,0 +1,5 @@ + +all: + cd gsm && $(MAKE) + cd ansi && $(MAKE) + diff --git a/MAP/doc/Makefile b/MAP/doc/Makefile new file mode 100644 index 0000000..daa3ced --- /dev/null +++ b/MAP/doc/Makefile @@ -0,0 +1,13 @@ + +.PHONY: all +all: + cd html && $(MAKE) + +.PHONY: doc +doc: + cd html && $(MAKE) $@ + +.PHONY: clean +clean: + cd html && $(MAKE) $@ + diff --git a/MAP/doc/html/Makefile b/MAP/doc/html/Makefile new file mode 100644 index 0000000..e067c3e --- /dev/null +++ b/MAP/doc/html/Makefile @@ -0,0 +1,31 @@ +## $Id: Makefile,v 1.2 2005/02/13 00:42:12 vances Exp $ + +ERL = erl + +SRC = ../../src + +DOCS = map.html + +%.html:${SRC}/%.erl + ${ERL} -noshell -run edoc_run file '"$<"' '[{dir,"."}]' -s init stop + +%.html:${SRC}/ansi/%.erl + ${ERL} -noshell -run edoc_run file '"$<"' '[{dir,"."}]' -s init stop + +%.html:${SRC}/gsm/%.erl + ${ERL} -noshell -run edoc_run file '"$<"' '[{dir,"."}]' -s init stop + + +.PHONY: all +all: doc + + +.PHONY: doc +doc: ${DOCS} + +.PHONY: clean +clean: + - rm ${DOCS} + +tcap.html: ${ESRC}/tcap.erl + diff --git a/MAP/doc/html/index.html b/MAP/doc/html/index.html new file mode 100644 index 0000000..ec4523e --- /dev/null +++ b/MAP/doc/html/index.html @@ -0,0 +1,106 @@ + + + + MAP User's Guide + + + +

MAP User's Guide

+

Copyright © 2003-2005 Motivity Telecom Inc.

+

Version: 1.0

+

Authors: Vance Shipley (vances@motivity.ca).

+ +

The MAP application is a protocol stack implementation of the Mobile Application Part procedures.

+ +

Application

+ +

Requirements

+

This application includes only the MAP procedures and must be used with a seperate application providing the TCAP service. + The tcap application may be used in conjunction with the + sccp and + nms applications for a complete system.

+ +

Process Communication

+

+ Figure 1-1 depicts the message paths between processes.

+ + Figure 1-1
+ diagram of process communication
+ +

Modules

+ +
map
+

This library module implements the user API for the application.

+ +
map_sup
+

This supervisor behaviour callback module implements the top level supervisor for the application.

+ +
map_load_fsm
+

This gen_fsm behaviour callback module implements the load control process.

+ +
map_sap_sup
+

This supervisor behaviour callback module implements the service access point (SAP) supervisors.

+ +
map_pm_sup
+

This supervisor behaviour callback module implements the protocol machine (PM) supervisors.

+ +
map_dsm_dsm
+

This gen_fsm behaviour callback module implements the dialogue state machines (DSM).

+ +
map_psm_fsm
+

This gen_fsm behaviour callback module implements the performing state machines (PSM).

+ +
map_rsm_fsm
+

This gen_fsm behaviour callback module implements the requesting state machines (RSM).

+ + +

Supervision Tree

+ +

The processes which make up the MAP application are all instantiated under a single supervisor. + Figure 1-2 shows the structure of the supervision tree.

+ + Figure 1-2
+ diagram of supervision tree
+ +

Common Primitives

+ +

MAP-User → MAP

+ {'MAP', 'OPEN', request, Parms}
+ {'MAP', 'CLOSE', request, Parms}
+ {'MAP', 'DELIMITER', request, Parms}
+ {'MAP', 'U-ABORT', request, Parms}
+ +

MAP ← MAP-User

+ {'MAP', 'OPEN', indication, Parms}
+ {'MAP', 'CLOSE', indication, Parms}
+ {'MAP', 'DELIMITER', indication, Parms}
+ {'MAP', 'U-ABORT', indication, Parms}
+ {'MAP', 'P-ABORT', indication, Parms}
+ {'MAP', 'NOTICE', indication, Parms}
+ +

GSM Primitives

+ +

MAP-User → MAP

+ {'MAP', 'UPDATE_LOCATION', request, Parms}
+ {'MAP', 'CANCEL_LOCATION', request, Parms}
+ ...
+ +

MAP ← MAP-User

+ {'MAP', 'UPDATE_LOCATION', indication, Parms}
+ {'MAP', 'CANCEL_LOCATION', indication, Parms}
+ ...
+ +

ANSI Primitives

+ +

MAP-User → MAP

+ {'MAP', 'REGNOT', request, Parms}
+ {'MAP', 'REGCANC', request, Parms}
+ ...
+ +

MAP ← MAP-User

+ {'MAP', 'REGNOT', indication, Parms}
+ {'MAP', 'REGCANC', indication, Parms}
+ ...
+ + + diff --git a/MAP/doc/html/map_messaging.png b/MAP/doc/html/map_messaging.png new file mode 100644 index 0000000000000000000000000000000000000000..49d1dd937362e375d41dfe46ed4578259c96470d GIT binary patch literal 89579 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
@ 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 literal 0 HcmV?d00001 diff --git a/MAP/doc/html/map_supervision.png b/MAP/doc/html/map_supervision.png new file mode 100644 index 0000000000000000000000000000000000000000..1be3d11190503c55a18e7f8a09db84488c12f932 GIT binary patch literal 127410 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

&0~)IJpZA^kMjdQV>aTMKZn+FTy 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 x@=L`IzT(ZKEhlK+N0R|8VusK)Xq{cv3I{0 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 literal 0 HcmV?d00001 diff --git a/MAP/doc/map_messaging.graffle b/MAP/doc/map_messaging.graffle new file mode 100644 index 0000000..f287e28 --- /dev/null +++ b/MAP/doc/map_messaging.graffle @@ -0,0 +1,4860 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro + 138.17.0.133677 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {756, 553}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2011-03-07 15:09:56 +0100 + Creator + Vance Shipley + DisplayScale + 1 0/72 in = 1.0000 in + GraphDocumentVersion + 6 + GraphicsList + + + Class + LineGraphic + Head + + ID + 71 + + ID + 75 + Points + + {647.845, 168.342} + {468.154, 69.1424} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + 0 + + + Tail + + ID + 11 + + + + Class + LineGraphic + Head + + ID + 70 + + ID + 74 + Points + + {108.155, 168.342} + {287.845, 69.1424} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + 0 + + + Tail + + ID + 3 + + + + Class + LineGraphic + Head + + ID + 9 + + ID + 73 + Points + + {310.499, 74.6357} + {310.5, 162.849} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 70 + + + + Class + LineGraphic + Head + + ID + 10 + + ID + 72 + Points + + {445.499, 74.6357} + {445.5, 162.849} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 71 + + + + Bounds + {{413.999, 38.6357}, {63, 36}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 71 + Shape + Circle + Style + + fill + + Color + + b + 1 + g + 0.8 + r + 0.6 + + FillType + 3 + GradientColor + + b + 1 + g + 0.8 + r + 0.4 + + + stroke + + Color + + b + 0.2 + g + 0.2 + r + 0.2 + + CornerRadius + 12 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 PSM} + + + + Bounds + {{278.999, 38.6357}, {63, 36}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 70 + Shape + Circle + Style + + fill + + Color + + b + 1 + g + 0.8 + r + 0.6 + + FillType + 3 + GradientColor + + b + 1 + g + 0.8 + r + 0.4 + + + stroke + + Color + + b + 0.2 + g + 0.2 + r + 0.2 + + CornerRadius + 12 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 RSM} + + + + Bounds + {{25.2606, 30.2215}, {705.478, 60.627}} + Class + ShapedGraphic + ID + 50 + Shape + Rectangle + Style + + fill + + Color + + b + 1 + g + 0.8 + r + 0.8 + + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 MAP} + + TextPlacement + 0 + + + Class + LineGraphic + Head + + ID + 9 + + ID + 48 + Points + + {357.154, 150.647} + {331.347, 167.354} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 46 + + + + Class + LineGraphic + Head + + ID + 10 + + ID + 47 + Points + + {398.847, 150.647} + {424.654, 167.354} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 46 + + + + Bounds + {{346.5, 119.152}, {63, 36}} + Class + ShapedGraphic + ID + 46 + Shape + Circle + Style + + fill + + Color + + b + 0.6 + g + 0.6 + r + 1 + + FillType + 3 + GradientColor + + b + 0.4 + g + 0.4 + r + 1 + + + stroke + + CornerRadius + 8 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 LOAD} + + + + Class + LineGraphic + Head + + ID + 4 + + ID + 40 + Points + + {280.264, 399.986} + {303.139, 345.59} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + 0 + + + Tail + + ID + 30 + + + + Class + LineGraphic + Head + + ID + 12 + + ID + 39 + Points + + {475.736, 399.986} + {452.861, 345.59} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + 0 + + + Tail + + ID + 29 + + + + Class + LineGraphic + Head + + ID + 4 + + ID + 37 + Points + + {365.559, 453.57} + {318.162, 345.548} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 28 + + + + Class + LineGraphic + Head + + ID + 12 + + ID + 36 + Points + + {381.967, 453.736} + {436.755, 345.382} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 28 + + + + Class + LineGraphic + Head + + ID + 28 + + ID + 35 + Points + + {295.924, 429.777} + {350.2, 458.745} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 30 + + + + Class + LineGraphic + Head + + ID + 29 + + ID + 34 + Points + + {397.191, 459.352} + {459.127, 429.171} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 28 + + + + Bounds + {{241.403, 399.491}, {63, 36}} + Class + ShapedGraphic + ID + 30 + Shape + Circle + Style + + fill + + Color + + b + 0.6 + g + 0.8 + r + 0.6 + + FillType + 3 + GradientColor + + b + 0.2 + g + 0.4 + r + 0.2 + + + stroke + + CornerRadius + 8 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 TSM} + + + + Bounds + {{451.597, 399.491}, {63, 36}} + Class + ShapedGraphic + ID + 29 + Shape + Circle + Style + + fill + + Color + + b + 0.6 + g + 0.8 + r + 0.6 + + FillType + 3 + GradientColor + + b + 0.2 + g + 0.4 + r + 0.2 + + + stroke + + CornerRadius + 8 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 TSM} + + + + Bounds + {{341.721, 453.032}, {63, 36}} + Class + ShapedGraphic + ID + 28 + Shape + Circle + Style + + fill + + Color + + b + 0.6 + g + 0.8 + r + 0.6 + + FillType + 3 + GradientColor + + b + 0.2 + g + 0.4 + r + 0.2 + + + stroke + + CornerRadius + 8 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 TCO} + + + + Class + LineGraphic + Head + + ID + 13 + + ID + 27 + Points + + {207.644, 274.479} + {116.357, 285.219} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 15 + + + + Class + LineGraphic + Head + + ID + 12 + + ID + 26 + Points + + {639.477, 308.51} + {476.523, 324.955} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 14 + + + + Class + LineGraphic + Head + + ID + 4 + + ID + 25 + Points + + {115.634, 294.104} + {280.366, 322.831} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 13 + + + + Class + LineGraphic + Head + + ID + 13 + + ID + 24 + Points + + {286.379, 192.427} + {109.621, 277.271} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 9 + + + + Class + LineGraphic + Head + + ID + 14 + + ID + 23 + Points + + {468.127, 193.372} + {647.873, 292.856} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 10 + + + + Class + LineGraphic + Head + + ID + 12 + + ID + 22 + Points + + {445.5, 198.849} + {445.5, 310.086} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 10 + + + + Class + LineGraphic + Head + + ID + 4 + + ID + 21 + Points + + {310.5, 198.849} + {310.5, 310.086} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 9 + + + + Class + LineGraphic + Head + + ID + 9 + + ID + 20 + Points + + {251.6, 254.474} + {297.4, 197.224} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + 0 + + + Tail + + ID + 15 + + + + Class + LineGraphic + Head + + ID + 14 + + ID + 19 + Points + + {670.5, 198.849} + {670.5, 287.379} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + 0 + + + Tail + + ID + 11 + + + + Class + LineGraphic + Head + + ID + 11 + + ID + 18 + Points + + {477, 180.849} + {639, 180.849} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + 0 + + + Tail + + ID + 10 + + + + Class + LineGraphic + Head + + ID + 13 + + ID + 17 + Points + + {85.5002, 198.849} + {85.5002, 270.849} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + 0 + + + Tail + + ID + 3 + + + + Class + LineGraphic + Head + + ID + 3 + + ID + 16 + Points + + {279, 180.849} + {117, 180.849} + + Style + + stroke + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + HeadArrow + FilledArrow + TailArrow + 0 + + + Tail + + ID + 9 + + + + Bounds + {{207, 252.849}, {63, 36}} + Class + ShapedGraphic + ID + 15 + Shape + Circle + Style + + fill + + Color + + b + 0.6 + g + 0.8 + r + 0.6 + + FillType + 3 + GradientColor + + b + 0.2 + g + 0.4 + r + 0.2 + + + stroke + + CornerRadius + 8 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 ISM} + + + + Bounds + {{639, 287.379}, {63, 36}} + Class + ShapedGraphic + ID + 14 + Shape + Circle + Style + + fill + + Color + + b + 0.6 + g + 0.8 + r + 0.6 + + FillType + 3 + GradientColor + + b + 0.2 + g + 0.4 + r + 0.2 + + + stroke + + CornerRadius + 8 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 CCO} + + + + Bounds + {{54.0002, 270.849}, {63, 36}} + Class + ShapedGraphic + ID + 13 + Shape + Circle + Style + + fill + + Color + + b + 0.6 + g + 0.8 + r + 0.6 + + FillType + 3 + GradientColor + + b + 0.2 + g + 0.4 + r + 0.2 + + + stroke + + CornerRadius + 8 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 CCO} + + + + Bounds + {{414, 310.086}, {63, 36}} + Class + ShapedGraphic + ID + 12 + Shape + Circle + Style + + fill + + Color + + b + 0.6 + g + 0.8 + r + 0.6 + + FillType + 3 + GradientColor + + b + 0.2 + g + 0.4 + r + 0.2 + + + stroke + + CornerRadius + 8 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 DHA} + + + + Bounds + {{639, 162.849}, {63, 36}} + Class + ShapedGraphic + ID + 11 + Shape + Circle + Style + + fill + + Color + + b + 0.6 + g + 0.6 + r + 1 + + FillType + 3 + GradientColor + + b + 0.4 + g + 0.4 + r + 1 + + + stroke + + CornerRadius + 8 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 PSM} + + + + Bounds + {{414, 162.849}, {63, 36}} + Class + ShapedGraphic + ID + 10 + Shape + Circle + Style + + fill + + Color + + b + 0.6 + g + 0.6 + r + 1 + + FillType + 3 + GradientColor + + b + 0.4 + g + 0.4 + r + 1 + + + stroke + + CornerRadius + 8 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 DSM} + + + + Bounds + {{279, 162.849}, {63, 36}} + Class + ShapedGraphic + ID + 9 + Shape + Circle + Style + + fill + + Color + + b + 0.6 + g + 0.6 + r + 1 + + FillType + 3 + GradientColor + + b + 0.4 + g + 0.4 + r + 1 + + + stroke + + CornerRadius + 8 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 DSM} + + + + Bounds + {{279, 310.086}, {63, 36}} + Class + ShapedGraphic + ID + 4 + Shape + Circle + Style + + fill + + Color + + b + 0.6 + g + 0.8 + r + 0.6 + + FillType + 3 + GradientColor + + b + 0.2 + g + 0.4 + r + 0.2 + + + stroke + + CornerRadius + 8 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 DHA} + + + + Bounds + {{54.0002, 162.849}, {63, 36}} + Class + ShapedGraphic + ID + 3 + Shape + Circle + Style + + fill + + Color + + b + 0.6 + g + 0.6 + r + 1 + + FillType + 3 + GradientColor + + b + 0.4 + g + 0.4 + r + 1 + + + stroke + + CornerRadius + 8 + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 RSM} + + + + Bounds + {{25.2614, 106.662}, {705.478, 113.905}} + Class + ShapedGraphic + ID + 41 + Shape + Rectangle + Style + + fill + + Color + + b + 0.8 + g + 0.8 + r + 1 + + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 MAP} + + TextPlacement + 0 + + + Bounds + {{38.5806, 385.909}, {678.838, 113.905}} + Class + ShapedGraphic + ID + 44 + Shape + Rectangle + Style + + fill + + Color + + b + 0.6 + g + 0.8 + r + 0.6 + + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 Transaction Sub-layer} + + TextPlacement + 0 + + + Bounds + {{38.5806, 247.088}, {678.838, 125.881}} + Class + ShapedGraphic + ID + 45 + Shape + Rectangle + Style + + fill + + Color + + b + 0.6 + g + 0.8 + r + 0.6 + + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 Component Sub-layer} + + TextPlacement + 2 + + + Bounds + {{25.2608, 235.898}, {705.478, 286.881}} + Class + ShapedGraphic + ID + 42 + Shape + Rectangle + Style + + fill + + Color + + b + 0.8 + g + 1 + r + 0.8 + + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 TCAP} + + TextPlacement + 2 + + + GridInfo + + ShowsGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2011-03-08 00:14:07 +0100 + Modifier + Vance Shipley + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {792, 612} + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + QuickLookPreview + + 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 + dCA0IDAgUiAvUmVzb3VyY2VzIDcgMCBSIC9Db250ZW50cyA1IDAgUiAvTWVkaWFCb3gg + WzAgMCA3NTYgNTUzXQo+PgplbmRvYmoKNyAwIG9iago8PCAvUHJvY1NldCBbIC9QREYg + L1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUkgXSAvQ29sb3JTcGFjZSA8PCAvQ3My + IDI3IDAgUgovQ3MxIDggMCBSID4+IC9Gb250IDw8IC9GMS4wIDI4IDAgUiA+PiAvWE9i + amVjdCA8PCAvSW02IDE5IDAgUiAvSW04IDIzIDAgUgovSW05IDI1IDAgUiAvSW0xIDkg + MCBSIC9JbTUgMTcgMCBSIC9JbTIgMTEgMCBSIC9JbTMgMTMgMCBSIC9JbTcgMjEgMCBS + IC9JbTQKMTUgMCBSID4+IC9TaGFkaW5nIDw8IC9TaDEgMjkgMCBSIC9TaDQgMzIgMCBS + IC9TaDExIDM5IDAgUiAvU2gxNCA0MiAwIFIgL1NoMTUKNDMgMCBSIC9TaDcgMzUgMCBS + IC9TaDYgMzQgMCBSIC9TaDUgMzMgMCBSIC9TaDkgMzcgMCBSIC9TaDMgMzEgMCBSIC9T + aDEyIDQwIDAgUgovU2gxMyA0MSAwIFIgL1NoOCAzNiAwIFIgL1NoMiAzMCAwIFIgL1No + MTAgMzggMCBSID4+ID4+CmVuZG9iagoyOSAwIG9iago8PCAvQ29sb3JTcGFjZSA0NCAw + IFIgL1NoYWRpbmdUeXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAgMCAzNi45NjI4MiBdIC9E + b21haW4KWyAwIDEgXSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gNDUg + MCBSID4+CmVuZG9iagozMiAwIG9iago8PCAvQ29sb3JTcGFjZSA0NCAwIFIgL1NoYWRp + bmdUeXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAgMCAzNi45NjI4MiBdIC9Eb21haW4KWyAw + IDEgXSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gNDYgMCBSID4+CmVu + ZG9iagozOSAwIG9iago8PCAvQ29sb3JTcGFjZSA0NCAwIFIgL1NoYWRpbmdUeXBlIDMg + L0Nvb3JkcyBbIDAgMCAwIDAgMCAzNi45NjI4MiBdIC9Eb21haW4KWyAwIDEgXSAvRXh0 + ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gNDcgMCBSID4+CmVuZG9iago0MiAw + IG9iago8PCAvQ29sb3JTcGFjZSA0NCAwIFIgL1NoYWRpbmdUeXBlIDMgL0Nvb3JkcyBb + IDAgMCAwIDAgMCAzNi45NjI4MiBdIC9Eb21haW4KWyAwIDEgXSAvRXh0ZW5kIFsgZmFs + c2UgZmFsc2UgXSAvRnVuY3Rpb24gNDggMCBSID4+CmVuZG9iago0MyAwIG9iago8PCAv + Q29sb3JTcGFjZSA0NCAwIFIgL1NoYWRpbmdUeXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAg + MCAzNi45NjI4MiBdIC9Eb21haW4KWyAwIDEgXSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2Ug + XSAvRnVuY3Rpb24gNDkgMCBSID4+CmVuZG9iagozNSAwIG9iago8PCAvQ29sb3JTcGFj + ZSA0NCAwIFIgL1NoYWRpbmdUeXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAgMCAzNi45NjI4 + MiBdIC9Eb21haW4KWyAwIDEgXSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rp + b24gNTAgMCBSID4+CmVuZG9iagozNCAwIG9iago8PCAvQ29sb3JTcGFjZSA0NCAwIFIg + L1NoYWRpbmdUeXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAgMCAzNi45NjI4MiBdIC9Eb21h + aW4KWyAwIDEgXSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gNTEgMCBS + ID4+CmVuZG9iagozMyAwIG9iago8PCAvQ29sb3JTcGFjZSA0NCAwIFIgL1NoYWRpbmdU + eXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAgMCAzNi45NjI4MiBdIC9Eb21haW4KWyAwIDEg + XSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gNTIgMCBSID4+CmVuZG9i + agozNyAwIG9iago8PCAvQ29sb3JTcGFjZSA0NCAwIFIgL1NoYWRpbmdUeXBlIDMgL0Nv + b3JkcyBbIDAgMCAwIDAgMCAzNi45NjI4MiBdIC9Eb21haW4KWyAwIDEgXSAvRXh0ZW5k + IFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gNTMgMCBSID4+CmVuZG9iagozMSAwIG9i + ago8PCAvQ29sb3JTcGFjZSA0NCAwIFIgL1NoYWRpbmdUeXBlIDMgL0Nvb3JkcyBbIDAg + MCAwIDAgMCAzNi45NjI4MiBdIC9Eb21haW4KWyAwIDEgXSAvRXh0ZW5kIFsgZmFsc2Ug + ZmFsc2UgXSAvRnVuY3Rpb24gNTQgMCBSID4+CmVuZG9iago0MCAwIG9iago8PCAvQ29s + b3JTcGFjZSA0NCAwIFIgL1NoYWRpbmdUeXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAgMCAz + Ni45NjI4MiBdIC9Eb21haW4KWyAwIDEgXSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2UgXSAv + RnVuY3Rpb24gNTUgMCBSID4+CmVuZG9iago0MSAwIG9iago8PCAvQ29sb3JTcGFjZSA0 + NCAwIFIgL1NoYWRpbmdUeXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAgMCAzNi45NjI4MiBd + IC9Eb21haW4KWyAwIDEgXSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24g + NTYgMCBSID4+CmVuZG9iagozNiAwIG9iago8PCAvQ29sb3JTcGFjZSA0NCAwIFIgL1No + YWRpbmdUeXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAgMCAzNi45NjI4MiBdIC9Eb21haW4K + WyAwIDEgXSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gNTcgMCBSID4+ + CmVuZG9iagozMCAwIG9iago8PCAvQ29sb3JTcGFjZSA0NCAwIFIgL1NoYWRpbmdUeXBl + IDMgL0Nvb3JkcyBbIDAgMCAwIDAgMCAzNi45NjI4MiBdIC9Eb21haW4KWyAwIDEgXSAv + RXh0ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gNTggMCBSID4+CmVuZG9iagoz + OCAwIG9iago8PCAvQ29sb3JTcGFjZSA0NCAwIFIgL1NoYWRpbmdUeXBlIDMgL0Nvb3Jk + cyBbIDAgMCAwIDAgMCAzNi45NjI4MiBdIC9Eb21haW4KWyAwIDEgXSAvRXh0ZW5kIFsg + ZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gNTkgMCBSID4+CmVuZG9iagoxOSAwIG9iago8 + PCAvTGVuZ3RoIDIwIDAgUiAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dp + ZHRoIDE2MiAvSGVpZ2h0IDEwOCAvSW50ZXJwb2xhdGUKdHJ1ZSAvQ29sb3JTcGFjZSA2 + MCAwIFIgL0ludGVudCAvUGVyY2VwdHVhbCAvU01hc2sgNjEgMCBSIC9CaXRzUGVyQ29t + cG9uZW50CjggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7dAxAQAAAMKg + 9U9tCy+IQGHAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAwHtgzQgAAQplbmRzdHJlYW0KZW5k + b2JqCjIwIDAgb2JqCjI1MgplbmRvYmoKMjMgMCBvYmoKPDwgL0xlbmd0aCAyNCAwIFIg + L1R5cGUgL1hPYmplY3QgL1N1YnR5cGUgL0ltYWdlIC9XaWR0aCAxNjQgL0hlaWdodCAx + MDggL0ludGVycG9sYXRlCnRydWUgL0NvbG9yU3BhY2UgNjAgMCBSIC9JbnRlbnQgL1Bl + cmNlcHR1YWwgL1NNYXNrIDYzIDAgUiAvQml0c1BlckNvbXBvbmVudAo4IC9GaWx0ZXIg + L0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae3QgQAAAADDoPlTH+SFUGHAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDjwMDz5AAAQplbmRzdHJlYW0KZW5kb2JqCjI0IDAgb2JqCjI1 + NAplbmRvYmoKMjUgMCBvYmoKPDwgL0xlbmd0aCAyNiAwIFIgL1R5cGUgL1hPYmplY3Qg + L1N1YnR5cGUgL0ltYWdlIC9XaWR0aCAxNDQ4IC9IZWlnaHQgMTU4IC9JbnRlcnBvbGF0 + ZQp0cnVlIC9Db2xvclNwYWNlIDYwIDAgUiAvSW50ZW50IC9QZXJjZXB0dWFsIC9TTWFz + ayA2NSAwIFIgL0JpdHNQZXJDb21wb25lbnQKOCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+ + PgpzdHJlYW0KeAHt0DEBAAAAwqD1T20JT4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAgc/AAHmmAAEKZW5kc3RyZWFtCmVuZG9iagoyNiAwIG9iagozMDE3CmVu + ZG9iago5IDAgb2JqCjw8IC9MZW5ndGggMTAgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0 + eXBlIC9JbWFnZSAvV2lkdGggMTQ0OCAvSGVpZ2h0IDYxMCAvSW50ZXJwb2xhdGUKdHJ1 + ZSAvQ29sb3JTcGFjZSA2MCAwIFIgL0ludGVudCAvUGVyY2VwdHVhbCAvU01hc2sgNjcg + MCBSIC9CaXRzUGVyQ29tcG9uZW50CjggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3Ry + ZWFtCngB7dABDQAAAMKg909tDjeIQGHAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBv4G + BnFIAAEKZW5kc3RyZWFtCmVuZG9iagoxMCAwIG9iagoxMTU3OAplbmRvYmoKMTcgMCBv + YmoKPDwgL0xlbmd0aCAxOCAwIFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUgL0ltYWdl + IC9XaWR0aCAxNjIgL0hlaWdodCAxMDggL0ludGVycG9sYXRlCnRydWUgL0NvbG9yU3Bh + Y2UgNjAgMCBSIC9JbnRlbnQgL1BlcmNlcHR1YWwgL1NNYXNrIDY5IDAgUiAvQml0c1Bl + ckNvbXBvbmVudAo4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae3QMQEA + AADCoPVPbQsviEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwMB7YM0IAAEKZW5kc3RyZWFt + CmVuZG9iagoxOCAwIG9iagoyNTIKZW5kb2JqCjExIDAgb2JqCjw8IC9MZW5ndGggMTIg + MCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggMTM5NCAvSGVp + Z2h0IDI4OCAvSW50ZXJwb2xhdGUKdHJ1ZSAvQ29sb3JTcGFjZSA2MCAwIFIgL0ludGVu + dCAvUGVyY2VwdHVhbCAvU01hc2sgNzEgMCBSIC9CaXRzUGVyQ29tcG9uZW50CjggL0Zp + bHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7dAxAQAAAMKg9U9tCU+IQGHAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgIHPwABhzgAB + CmVuZHN0cmVhbQplbmRvYmoKMTIgMCBvYmoKNTI3NgplbmRvYmoKMTMgMCBvYmoKPDwg + L0xlbmd0aCAxNCAwIFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUgL0ltYWdlIC9XaWR0 + aCAxMzk0IC9IZWlnaHQgMjY0IC9JbnRlcnBvbGF0ZQp0cnVlIC9Db2xvclNwYWNlIDYw + IDAgUiAvSW50ZW50IC9QZXJjZXB0dWFsIC9TTWFzayA3MyAwIFIgL0JpdHNQZXJDb21w + b25lbnQKOCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAHt0DEBAAAAwqD1 + T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDLwDA9mgAAEKZW5kc3RyZWFtCmVuZG9iagox + NCAwIG9iago0ODM4CmVuZG9iagoyMSAwIG9iago8PCAvTGVuZ3RoIDIyIDAgUiAvVHlw + ZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDE2MiAvSGVpZ2h0IDExMCAv + SW50ZXJwb2xhdGUKdHJ1ZSAvQ29sb3JTcGFjZSA2MCAwIFIgL0ludGVudCAvUGVyY2Vw + dHVhbCAvU01hc2sgNzUgMCBSIC9CaXRzUGVyQ29tcG9uZW50CjggL0ZpbHRlciAvRmxh + dGVEZWNvZGUgPj4Kc3RyZWFtCngB7dAxAQAAAMKg9U9tB2+IQGHAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgw8AwPQ1AABCmVuZHN0cmVhbQplbmRvYmoKMjIgMCBvYmoKMjU3 + CmVuZG9iagoxNSAwIG9iago8PCAvTGVuZ3RoIDE2IDAgUiAvVHlwZSAvWE9iamVjdCAv + U3VidHlwZSAvSW1hZ2UgL1dpZHRoIDE0NDggL0hlaWdodCAyNjQgL0ludGVycG9sYXRl + CnRydWUgL0NvbG9yU3BhY2UgNjAgMCBSIC9JbnRlbnQgL1BlcmNlcHR1YWwgL1NNYXNr + IDc3IDAgUiAvQml0c1BlckNvbXBvbmVudAo4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+ + CnN0cmVhbQp4Ae3QAQ0AAADCoPdP7ewBESgMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg4AMDgL8AAQplbmRzdHJlYW0KZW5kb2Jq + CjE2IDAgb2JqCjUwMjQKZW5kb2JqCjczIDAgb2JqCjw8IC9MZW5ndGggNzQgMCBSIC9U + eXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggMTM5NCAvSGVpZ2h0IDI2 + NCAvQ29sb3JTcGFjZQovRGV2aWNlR3JheSAvSW50ZXJwb2xhdGUgdHJ1ZSAvQml0c1Bl + ckNvbXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae3c2VeU + V5eA8SjzVFBQUFBMBcgMFqVoCYqCGBREcUJJVEQxRAxKghJn1DigRCUOBJxQI8aI4pgY + p6z+1/q8OAQSO7vy9b7p1c+5SVa2a1/8Lp6cdXjxk084CCCAAAIIIIAAAgj8fxCYwkEA + AQQQ+E8F/P3fhNk/9c8TwEEAAQQQ+BcCf/bTqvU/lfddbQMCAgMDgzgIIIAAAv+hQGBg + QMB4e//H6L693JraBgUFB4eEhL49YRwEEEAAAf8E3nUzJCQ42KT6bXU/3tzx4AZYuTWx + DQsPj4iIiIyMjOIggAACCPgrYKpp2hkRHhYWGhpiqhto3XQ/0lwruFZvQ0xtTWujbLbo + mBg7BwEEEEDgXwnExETbbFEmvCa675r7t+SOB9fcb63eRtmi7fbYOIcjPj4hwclBAAEE + EPBTICEhPt7hiIu1m+xGRoRb91zrmvuXn6BZwQ203hOs3tpjHY4EZ2KSy5WckpLKQQAB + BBDwTyAlJTnZ5UpyOuMdcfYY09yw0JCPJNd6UjAX3NCISFtMrCMh0ZWcmprudmdkZnEQ + QAABBPwWyMxwu9NSU0x14x32aJt1zf17cqeY4AaFhFkXXKu3praZWdk5uXn5+QUFhRwE + EEAAAVmgoKAgPz8vNyc7K9OdluJyxseZa+675E58Vxh/UwgJjYiKtjucrlR3ZnZOfkFR + scfj9XpncBBAAAEE/BLweks804uLCvJysjLSU5ISHHYrucFBAZNecq0rbrAV3FiHMzk9 + MzuvsNjjnTnL5ysrLy+fy0EAAQQQkAVML8vm+GaXzvR6igpyp2WkupwmueZhIdj89GzC + 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 + 15OsCmVuZHN0cmVhbQplbmRvYmoKNzQgMCBvYmoKNTgyNAplbmRvYmoKNjMgMCBvYmoK + PDwgL0xlbmd0aCA2NCAwIFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUgL0ltYWdlIC9X + aWR0aCAxNjQgL0hlaWdodCAxMDggL0NvbG9yU3BhY2UKL0RldmljZUdyYXkgL0ludGVy + cG9sYXRlIHRydWUgL0JpdHNQZXJDb21wb25lbnQgOCAvRmlsdGVyIC9GbGF0ZURlY29k + ZSA+PgpzdHJlYW0KeAHtm/k/W/kax7vMtbVaY99rjURCRG2l1NKxK0JK0YhSW1NbG9Wq + tNSaQVBBG0ttRWnRKr0zc1/zr93Pc05CYpiaqd4br3ufH5zVOW+fz/M8iXO+31On/h8m + psDp3TApMIbqzKHBHP7vAeP2LNrZs2d/QPxjX9A+HGLPwcn/YVIdHgNHZGZm5ubmFvsC + u8zM6Ogu6n8MlOUj6QiOQbO0tLI6x8Z5JnQbVlaWlgAHq44Umn5/TsZe8DF4uL0lsZ23 + tr5w4cLFixdtED8iaIlN7LS2Po8TrBhSBpTx/vv5rhNQz0d454kNWLa2dvYUDrvBbNrZ + 2gKYWEFKoKyglKLfRU5WQQCaIfEIz5roiM3B0cnJ2dnFlcJNF8yGi7Ozk5Ojg729nS2R + kqRWLOcPLOaxVpEhIPSDfAwe6MDm5u7h4el5yQvh7e3tg8CCti55enp4uLu5ujgTKYGS + oNCT5DxmTCKkFISCAIR+JB/wXF3dPcDm7ePr6+fP4QQEcLk8XXC5AQEcjr+fr6+PN1g9 + 3F1dAUqc0NMQ8/SxtCRqgkS4B2jvAD43D0+i8+cEcHmBfIEgKFiICNEFrQcHCQT8QB43 + gONPpJ4ebuB0sN/D1Iv5rZbrCElCWAwFIaAL8REel8cXBAlDRKLLYWHhEZGRkVFRUVcQ + WGAjIjws7LJIFCIMEvB5XAIlThfISZjnzzGes5Z/C6WekKrE+oINAULAS96+/gG8QEGw + UBQaFh4ZdSU65mps3LX4+PiEhIREBBbYuBYXezUm+kpUZHhYqEgYLAjkBfj7el+CnIRp + Q55bWJjpEvPvUury0AyEJKGdAyno5ePH4QYKhCGhYRGRV2Ji4+ITEpOuJyenpKalpWdk + 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 + amVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDE2MiAvSGVpZ2h0IDEwOCAvQ29sb3JT + cGFjZQovRGV2aWNlR3JheSAvSW50ZXJwb2xhdGUgdHJ1ZSAvQml0c1BlckNvbXBvbmVu + dCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae2b+VsTaRaFXXrYFKXZ + d1lDAoEQZEeQxWZHIBBBwBAE2UQ2DaBIFGRNAwEkgIZFdhAVUASnu+fpf23OrUogYVAZ + xZnqZ+b+QK1UvZxz702o+r5Tp/4fHFLg9H5wDerMZ4NB/m/h4uYs2NmzZ39C/O1Q0D4c + Ys/Byf9RTh0cg0ZcJiampqZmhwK7TEzo6D7ofwiTpSPZCI0BMze3sDjHxnkmdBsWFubm + wAapjhN6/mhKxljQMXC4uTmRnbe0vHDhwsWLF60QPyNoiU3stLQ8jxMsGE4Gk3H9Rzmu + E09PR3DniQxQ1tY2thR2+8Fs2lhbA5dIwUmYrJiUmj9ASlY94Jkg4QjOktiIzM7ewcHR + 0cmZwkUXzIaTo6ODg72dra2NNXGSnBYs5U8s5AnWjiEetIN0DBzYQObi6ubm7n7JA+Hp + 6emFwIK2Lrm7u7m5ujg7ORInYZKY0JKkPFFI4qPUg3rAg3YkHeCcnV3dQObp5e3t48vj + +fnx+QJd8Pl+fjyer4+3t5cnSN1cnZ2BSZTQ0hDy9Ak0IWp6xHeAZ2sHOhc3d2Lz5fnx + Bf4BQmFgkAgRrAtaDwoUCgP8BXw/ni9xuru5gNLO9gBSL+T3ma3jI/lgLtSDeE5ER3B8 + QYAwUBQsFl8ODQ0Lj4iIiIyMjEJggY3wsNDQy2JxsChQGCDgEyZROkFKgjx/jnGbNfvb + GfV8VBuWF6wID+Jd8vT29RP4C4NE4pDQsIjIqOiYK7FxV+Pj4xMSEhIRWGDjalzslZjo + qMiIsNAQsShI6C/w8/X2vAQpCdKK3DYzM9El5Lcx6vLPBHwkn40dqefh5cPj+wtFwSGh + 4RFRMbFx8QmJSdeSk1NS09LSMzIyMhFYpKelpaYkJ19LSkyIj4uNiYoIDw0JFgn9+Twf + Lw9S0s6GhNxn/JZ8NOKz+tnW3tGZ1OMJAgJF4tDwyOjYq/FAS0nLyMzKzs6VSPLypRQ3 + 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 + ZePDLtXYi7nl15uQkJJQ/4d/XaLjnKG/Gn2+QMTN18tzL8ZUXQ8bK0skqXFhQZSIF5GI + B8XMEFKh+Iki4tPyZTXN7d2MySjkXZJQf8nj3P445+ivRz7D5jeMzd3tzTWy/DQkop+u + VIwJz1vZoRsGRyakS+VIw95hzfTC6tst1mTdFY9z8+Odo7sgEe7tbL1dXZjWDPciEeXS + 9ITIYJSKHXq2oYZoh+fRr70EwVGJmTfkdxXKPvXEDKXhx0+/7Ut4vJsf76x9xN8+faRE + nJlQ9ykVd+U3MhOjggVe6NkgPGiI1LBB6OolEBNhGbphn3pyBr3mvQHh8W593LNYxD/+ + AOF79JuZSSKsKyNCscDL9a9KyGWX0W04XinUDznfbTjfsTn+qXeK898cQMj5b1/0HZvT + 32C5/1/AX+A/Kc7/N3qK8//RnyKbuf1U5K/wZIl5iM3hp3OwGQ+JufyEE4TsmwDuPiVm + Rfzsk3a86flvP2lnRGRemXH2bcW+z5x94wNC5o0Kh9+a6X3m7pvHU3rEr729nfuet7dz + 3/P2lvUZozBYRC6+ATdC/NZRBJubzFgCo1EEyyc1ioB8RrWQilwdiXGAaMnV0SwGiFwd + EaRDxMBDzo6q2kc0p6F9nByZxiCe8Oi+tpMd3cciUkkfGiEZzpkRkkBkug6HR5niTRAQ + OT1Sl0VE82at5uRoZ9ZpRkZqPFwcMU4y6q3m6Kh7ei0JRDYdjWYueHzPzAWMZT+5mQuG + jIazP5i5Kd86+4PBO7nZHwaMqBn9BB9uzaBhGNl85OwsJD0jJaQOknMzuYiRKWw9JOqG + a7PhdIy60mbn7HFuRiEDqVOS/GZmFlLxcGhWJssISEZKrs5sNaI8w9HZwTpIqh0Skz51 + ODjDep+S4dSTsrzGP/FnHHtqkcFVf9gqw8M1qB/21/7/wv9jCvwTR1N/hQplbmRzdHJl + YW0KZW5kb2JqCjcwIDAgb2JqCjQwMzcKZW5kb2JqCjY3IDAgb2JqCjw8IC9MZW5ndGgg + NjggMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggMTQ0OCAv + SGVpZ2h0IDYxMCAvQ29sb3JTcGFjZQovRGV2aWNlR3JheSAvSW50ZXJwb2xhdGUgdHJ1 + ZSAvQml0c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh + bQp4Ae3d7ZvPBd7/8VyMwYwxw5hhGMZMLkY0Jmo0JRNSwko1shXJtEqRXTWlVaJV4qyk + ONGF0kEtrbLZlC6O81/7fb60Z7rY892N37f3ncfnxt55bfvueNx4Hp/jM8NedZWHAAEC + BAgQIECAAIH/vwIDPAQIECDw+wr81owX/1YDf3wGeQgQIECg3AI/Rndg0eD/M9c/NHrQ + oMGDB1d4CBAgQOD3FCjKO2hQKdn/OdWXX6SLRldUDBlSWTn08jPMQ4AAAQLlFPihtpWV + Q4ZUVBStvlTqX32rvpTpQaVIF4keNnx4VVVVdXX1CA8BAgQIlFegaG1R3OHDhw0dWllK + 9eVS//LzRynTpUpXFo0uCj2ipmZkbW2dhwABAgTKL1BbO7KmZkRR6+FFqi+X+pcfPy5l + uniXLlV6RM3IurpRo+vrx4xpaGj0ECBAgEA5BRoaxoyprx89qq6I9YhSqYt36uKV+ueh + LmV6cOmLR6nSdaPq6xsax45raho/YUKzhwABAgTKKTBhwvimpnFjGxvq60fVXip16ZX6 + F6EuffQoXqaHVlXX1I6qbxjbNL65eVJLy+TWNg8BAgQIlFegdXJLy6Tm5vFNYxtKpa4e + Xvr2UXqj/skn6gFFpisqh5VepkuVLhrd2jZl6rTp7e0zZlzjIUCAAIEyCcyYMaO9ffq0 + qVPaWotWF6UeXVdTXXU51D/p9KWvHpVDq0aMrKtvbGpuaZ0ytX3GzFkdHZ2dndd5CBAg + QKB8AkVnOzpmzZzRPvXq1pbmpsb6upEjSqEuffm44oW69Do9pJTpUfWN4ye1Tpl+zayO + zjnXd3Xd2N3dfZOHAAECBMokUES2+8auruvndHbMumb6lNZJ40uhLj59DCm+fPy004Mr + hg6vLt6mx05oaZt2TUfn3K4bb5q/oGfhokWLFnsIECBAoEwCRWQXLexZMP+mG7vmdnZc + M63tUqhL36iLF+orOv3D63TxbbrI9NXtszqvn3fzglsXL7lj6bLlK/7gIUCAAIHyCaxY + vmzpHUsW37rg5nnXd85qb2spvVHXVP3shXpA8Tt5Q4ePqC0+ehSZ7pjTdXPPotvvXLHy + 7nt7V6/xECBAgEA5BVb33nv3yhV33r6o5+auOde2l96oR9eO+NkLddHp4ut0zaiGpklt + 7R1zu3sWL12xqnfNA2vXrd/Q1/eIhwABAgTKJNDX17dh/bq1D6zpXbVi6eKe7rlFqCc2 + NVx6ob7yw8eAgRWVpdfpsc2t02bN6e5ZsmxV7x/Xre/buOmJzVue3OohQIAAgTIJPPnk + ls1PbNrYt37dH3vvWrakp3vOzGmtzWPrixfqyoorPlAXv+1RvE7XNTS1TL2ms6tnyfK7 + 16x9eOOmzVu3Pd3/7HYPAQIECJRP4Nn+p7dt3bxp48Nr19y9fMmCrs5rprQ0jSm9UBe/ + 8fG/v5h3qdMjRzc2t07vuP7mxUWm1/Vt2rKtf/uOF3bu2u0hQIAAgfIJ7Nr5wo7t/du2 + bOpbt+buZYtumnvt9NbmxtEjf97pIcOqa+ubJl19Tee8nqV3rVn3yONb+597YdffXt67 + b7+HAAECBMonsG/vy3/b9cJz/Vsff2Tdmrvu6JnXOePqiePqa6uHDbnyfXpw5bARdQ3j + W6bOmnvzohW9a/se//MzO3bt2bv/9QNvvuUhQIAAgfIJvHng9f179+za8cyfN/Wt7V1e + vFDPmtpS/CRxxLDKwVd89xhcObxmVOOE1vaOrgW3r/rjw49t7d+x+5X9bxw8dPjo0WMe + AgQIECiTwNGjRw8fOvjG/ld27+jf+tjDa+5acssNHe2tExpH1Qz/WaeraorP020zOm+8 + 9c7etX/aXGR672tvHjryznvHP/jQQ4AAAQJlEvjgg+PvvXPk0Juv7d294+nNf1p779LS + h4+24gN1TdVPOl38usfI+nGTpsyce9OiFWvWb/rL9hdfee3g4WPvf/jRyVMfewgQIECg + TAKnTp386MP3jx0++NorL27/y6b19y1fVPxqXukDdekHiVd897jU6eK38mZdP3/Jyvv7 + Nve/sGf/m4ffOX7i1Cenz3zqIUCAAIEyCZw5c/qTUyeOv3P4zf17nu/f3Hf/ytvmFx+o + JzX9SqeLX/domVZ8nr7j7rUbt27ftfeNQ8eOf/TxmU/Pfn7OQ4AAAQJlEvj887Ofnvn4 + o+PHDr2x98XtWzc+uOr24gN18YPE+tqfv09X145pmjy9o6tn6T0Pbdr217/tP3jk/SLT + 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 + gWXLli1devuSxQt75nd3zZk9s5TpxvraEcXr9JU/Rryq9OGj+EJdfPkoQj2xbWr7rNnX + Xd/VfdP8W3p6bl3oIUCAAIHyCdza03PL/Ju6u66/rmNm+9TWUqaLrx7F1+krP3uUOj2o + YsjQ4dWXQt08+eqp7TOvnd05Z+4NXV3z5t3oIUCAAIEyCcybN6+r64a5czpnX1tU+uqW + 5kuZrh5+6XX6x88epU6XXqiHVpVC3TBuwsTJbVOmtc+YOevajo7Zszs9BAgQIFAmgdmz + Z3d0XDtr5oz2aVPaJk+cMK5hdF1NkenS6/QVn6eL3/soXqhLoS7eqGtHjWlsmtA8aXJr + 25SpU6dNb/cQIECAQDkFpk+bOnVKW2vLpOYJTY1jRtX+kOkrf4pY+vW84oV6UEUp1FU1 + I+vqxzSObRo/oXnipJaWyZNbPQQIECBQPoHJk1taJk1snjC+aWzjmNF1I0dUld6mix8i + /vR1+sdQDyu+fdTWjaqvb2hsHDuuqalpvIcAAQIEyilQlHbc2MbGhvr6UXUja6qrhpU+ + evwy01cNKL1RD64YUjm0VOripbpu1Oj64hnjIUCAAIHyCpRiO3pUXRHpy5UecjnTV/4U + sfTh49+hvlTq4VVV1SNqilqPrK2trfMQIECAQPkEis6OLApdM6K6qmp48S49pOI/ZPpy + qEuv1EWpK4cOHTasiPWlp9pDgAABAuUT+KG1w4cNG1pE+odKDxzwi7fp/32lHjiolOoi + 1kWti1x7CBAgQOB3ECiKW0r05Vfp4ieIv17pyx8/is/UxYfqItbFU/pHPAQIECDwOwiU + olu0t5TgAf9HpS+9VBcfqks/U/QQIECAwO8uUArw5RT/xv8s/QMeAgQIEPgdBH5jl/3X + CBAgQIAAAQIECBAgQIAAAQIECBAgQIDA7yfw/wCvW3pbCmVuZHN0cmVhbQplbmRvYmoK + NjggMCBvYmoKOTMxMwplbmRvYmoKNjUgMCBvYmoKPDwgL0xlbmd0aCA2NiAwIFIgL1R5 + cGUgL1hPYmplY3QgL1N1YnR5cGUgL0ltYWdlIC9XaWR0aCAxNDQ4IC9IZWlnaHQgMTU4 + IC9Db2xvclNwYWNlCi9EZXZpY2VHcmF5IC9JbnRlcnBvbGF0ZSB0cnVlIC9CaXRzUGVy + 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 + tcFojom1xztdmxLdSckez+YUBgEEEEBATYHNHk9ykjtxk8sRb4+NMRvfZVpsp1d9iii+ + R71xZfOhvKijjCZzjNVmj3M4nAkul2sTgwACCCCgpoAobYLT4Yiz26wx5mij+AhRvKaV + rcfaTisParGiFh8mKqWONpktVmuszS4mjkEAAQQQUFNASa0t1mq1mE2i0mLnEaZTMr3u + Oa28qIOUHbUuVCm1SLXSajEWSwyDAAIIIKCmgMWi5FY0WkRaqXSoTtlNf5jp96EWT2pR + 6vCISL2ItcFgMDIIIIAAAmoLiNqKROsjI8JXKq08pj+W6ZUdtXhSK9uPUKXVotZiIhkE + EEAAAXUFlNgq0Q0LFU/pkOCVSq/bTf/++zEpyw8l1aLVyoQyCCCAAAJ/hMC76Ia8i/QH + nyD+u9Irf7JRfPPj3QSvTAiDAAIIIKCuwLvcvm+vqPDaLH/8r8Q/tjLvfxV/QAABBBBQ + V+C37H48yvxdBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAYL3A/wGhKsgi + CmVuZHN0cmVhbQplbmRvYmoKNjYgMCBvYmoKNDcwMAplbmRvYmoKNzEgMCBvYmoKPDwg + L0xlbmd0aCA3MiAwIFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUgL0ltYWdlIC9XaWR0 + aCAxMzk0IC9IZWlnaHQgMjg4IC9Db2xvclNwYWNlCi9EZXZpY2VHcmF5IC9JbnRlcnBv + bGF0ZSB0cnVlIC9CaXRzUGVyQ29tcG9uZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUg + Pj4Kc3RyZWFtCngB7dzZU9RXt4DhKPNMQ0NDM4M0g2DTijaiIIqiIAZRQZwQxRAxKBEl + 4hAcgqIkihMRoxJNMCoG5xCn1PnXzv6hn2Lil9VJrYtTdd59k4tlrYvn4s2u3d188gkH + AQQQQAABBBBAAIH/DwLTOAgggAAC/1bA1/9NmP3T3x8/DgIIIIDAPxB430+r1n9X3re1 + 9fPz9/cP4CCAAAII/EsBf38/v8n2/tfovrncmtoGBAQGBgUFvzkhHAQQQAAB3wTedjMo + KDDQpPpNdT/e3Mng+lm5NbENCQ0NCwsLDw+P4CCAAAII+CpgqmnaGRYaEhIcHGSq62/d + dD/SXCu4Vm+DTG1NayMiI6Oio20cBBBAAIF/JBAdHRUZGWHCa6L7trl/Se5kcM391upt + RGSUzRYTa7fHxcXHOzgIIIAAAj4KxMfHxdntsTE2k93wsFDrnmtdc//0CZoVXH/rPcHq + rS3Gbo93JCQ6nUnJySkcBBBAAAHfBJKTk5KczkSHI84ea4s2zQ0JDvpIcq0nBXPBDQ4L + j4yOsccnOJNSUtLS0zMyszgIIIAAAj4LZGakp6emJJvqxtltUZHWNfevyZ1mghsQFGJd + cK3emtpmZmW7cnLz8vLzZ3IQQAABBGSB/Pz8vLzcHFd2VmZ6arLTERdrrrlvkzv1XWHy + TSEoOCwiymZ3OFPSM7NdefkFhW63x+OZzUEAAQQQ8EnA4ylyzyosyM91ZWWkJSfG221W + cgMD/D54ybWuuIFWcGPsjqS0zOzcmYVuz5y5Xu/80tLSBRwEEEAAAVnA9HJ+iXde8RyP + uyA/Z0ZGitNhkmseFgLNp2dTLrnTzMdmwaHh5oabkJyelTPT7Sn2zl9QtqhiSWVl5VIO + AggggIAsYHq5ZHFFeVlpybw5RYX5rqzUN8kNCfrgkvv2imvecE1wZ+QVeuaWLFy0eGnV + iuqVtas+5SCAAAII+CKwqra2pnp5VWVFeam3uKggx0pubHSEdcmdcsd9c8WNiDZPCia4 + 7jnehRWVy2tW1a1Z19DYxEEAAQQQ8E1gfWPD2vq62uqqykWlXs9kcuNjosImL7nv/qiN + Ka55xY2MiXemZeW5i0srllavqm9o2rSluWV7a+sODgIIIICALNDa2rqtpXnzxsa1dbXL + K8tK5hTmZKYkWk+5wVOfFaZNDwgKNVfchJTMnMI5pRVVK+sbNjS3tLa1f9Gxe08nBwEE + EEBAFtizZ3fHrp1trVs3N62rq15aXuIpcKUnO2Kjwj54VjDfVDBXXFu8M9010+OtqKpd + 07RlW1t7R2fX/u4DPRwEEEAAAZ8EDnTv6+rs2LmjZVPj6prKsnnuvKzURLt5yQ0KeP+Q + O1ncqFhHSmaue+7CpSa4za3tu7u6ew5/3XvsOAcBBBBAwCeBY71HDh3Y39nx+fbNjaur + l5TOMZfcpHjzrPBhcQNDwqPtzrQZMz0lFdWrm5p37OrsPvj1sW9O9p8Z4CCAAAII+CJw + 5nR/34mjhw907Wlv3dzwaVW5dclNmXxWCPB794Xc6f5BIRG2+KR0V2HxwspVDVtad335 + 1eFjff0DZwfPX+QggAACCPgicGHw3HcDp77pPbi/c+e2TWtqFpd6ZmZbzwqTH53958sK + prihkTGO5Mw8t3fR8voN23Z2dh8+fmrg3IXLQ8PDVzkIIIAAArLA8PCVoYvnz57pO3po + /+62rY2fLltYXOhKd8bZwq0vK0wpblikecbNyvfMX1zTsOWzDhPc/u/OX77yw/WRH29y + EEAAAQRkgR9HRq5d/f7i4MDJowe7drVurF+xyOvOzUiOt0WEBE4prvmqQpQ9MS27oHhB + 5aqmlva9PUdPfXdh6OqNmz+N3v6FgwACCCAgC9we/fnWyPXhy4MDfb1f7WlrXlezeL7H + esiNiQw1vzp7d8edLK75bljh3LKquo2tHd1f9w2cH/ph5NbtO/fG7nMQQAABBGSBsbG7 + d0Zv3Ri+dO708UNd7S3raytLZ8+0Pjr7S3HNVxXSc8wz7oo1W9o6e471n7t8deSnX8bu + jz98xEEAAQQQkAUePhi/f/e2Se7F705+3d3RuqHOPOQWZKcmmOIGfXDHDY+Oc2bkur0V + 1Wu3tncd+mbgwpUbJrjjjx4/5SCAAAII+CLw5PHDX++N3ro2NHj6WE/nZ5vqq8rmFrrS + Eu3mC7kfFtcWl5SZVzR/8cqGll37j5w8e+mHm7fvjT96+tvE7xwEEEAAAVlgYuLZk4e/ + 3hkdGb4wcOLQ3s+3rFlRPm+WKz3RHvWX4sYnZ+V5SitrG7d3dPf2nxu6/tOdX01wf3/B + QQABBBDwReD5xLPHD8d+ufnDpbN9h7vam9dWV3jd5uthHy9uvlXc9a27Dxw7M3hlZPTe + +GMT3FevOQgggAACssCrly8mnj769Y55Vjh36uv97VvXWcXN+bvirmpq3dNzfODC8I+3 + xx4+nTDB/YODAAIIICALvH798vlvT8bv/Xzj+8H+3u5dLQ01HynuNL8A8yNf8wOImbMX + LP20aUenKe7Fqzd/uf/o6e8vXv/xPxwEEEAAAVngj9evzCX3wdjoyBWruF+0NKxcXFKU + m+GMs37m+58/HkZxZUn+BQIIICAJUFxJiDkCCCCgJUBxtSTZgwACCEgCFFcSYo4AAgho + CVBcLUn2IIAAApIAxZWEmCOAAAJaAhRXS5I9CCCAgCRAcSUh5ggggICWAMXVkmQPAggg + IAlQXEmIOQIIIKAlQHG1JNmDAAIISAIUVxJijgACCGgJUFwtSfYggAACkgDFlYSYI4AA + AloCFFdLkj0IIICAJEBxJSHmCCCAgJYAxdWSZA8CCCAgCVBcSYg5AgggoCVAcbUk2YMA + AghIAhRXEmKOAAIIaAlQXC1J9iCAAAKSAMWVhJgjgAACWgIUV0uSPQgggIAkQHElIeYI + IICAlgDF1ZJkDwIIICAJUFxJiDkCCCCgJUBxtSTZgwACCEgCFFcSYo4AAghoCVBcLUn2 + IIAAApIAxZWEmCOAAAJaAhRXS5I9CCCAgCRAcSUh5ggggICWAMXVkmQPAgggIAlQXEmI + OQIIIKAlQHG1JNmDAAIISAIUVxJijgACCGgJUFwtSfYggAACkgDFlYSYI4AAAloCFFdL + kj0IIICAJEBxJSHmCCCAgJYAxdWSZA8CCCAgCVBcSYg5AgggoCVAcbUk2YMAAghIAhRX + EmKOAAIIaAlQXC1J9iCAAAKSAMWVhJgjgAACWgIUV0uSPQgggIAkQHElIeYIIICAlgDF + 1ZJkDwIIICAJUFxJiDkCCCCgJUBxtSTZgwACCEgCFFcSYo4AAghoCVBcLUn2IIAAApIA + xZWEmCOAAAJaAhRXS5I9CCCAgCRAcSUh5ggggICWAMXVkmQPAgggIAlQXEmIOQIIIKAl + QHG1JNmDAAIISAIUVxJijgACCGgJUFwtSfYggAACkgDFlYSYI4AAAloCFFdLkj0IIICA + JEBxJSHmCCCAgJYAxdWSZA8CCCAgCVBcSYg5AgggoCVAcbUk2YMAAghIAhRXEmKOAAII + aAlQXC1J9iCAAAKSAMWVhJgjgAACWgIUV0uSPQgggIAkQHElIeYIIICAlgDF1ZJkDwII + ICAJUFxJiDkCCCCgJUBxtSTZgwACCEgCFFcSYo4AAghoCVBcLUn2IIAAApIAxZWEmCOA + AAJaAhRXS5I9CCCAgCRAcSUh5ggggICWAMXVkmQPAgggIAlQXEmIOQIIIKAlQHG1JNmD + AAIISAIUVxJijgACCGgJUFwtSfYggAACkgDFlYSYI4AAAloCFFdLkj0IIICAJEBxJSHm + CCCAgJYAxdWSZA8CCCAgCVBcSYg5AgggoCVAcbUk2YMAAghIAhRXEmKOAAIIaAlQXC1J + 9iCAAAKSAMWVhJgjgAACWgIUV0uSPQgggIAkQHElIeYIIICAlgDF1ZJkDwIIICAJUFxJ + iDkCCCCgJUBxtSTZgwACCEgCFFcSYo4AAghoCVBcLUn2IIAAApIAxZWEmCOAAAJaAhRX + S5I9CCCAgCRAcSUh5ggggICWAMXVkmQPAgggIAlQXEmIOQIIIKAlQHG1JNmDAAIISAIU + VxJijgACCGgJUFwtSfYggAACkgDFlYSYI4AAAloCFFdLkj0IIICAJEBxJSHmCCCAgJYA + xdWSZA8CCCAgCVBcSYg5AgggoCVAcbUk2YMAAghIAhRXEmKOAAIIaAlQXC1J9iCAAAKS + AMWVhJgjgAACWgIUV0uSPQgggIAkQHElIeYIIICAlgDF1ZJkDwIIICAJUFxJiDkCCCCg + JUBxtSTZgwACCEgCFFcSYo4AAghoCVBcLUn2IIAAApIAxZWEmCOAAAJaAhRXS5I9CCCA + gCRAcSUh5ggggICWAMXVkmQPAgggIAlQXEmIOQIIIKAlQHG1JNmDAAIISAIUVxJijgAC + CGgJUFwtSfYggAACkgDFlYSYI4AAAloCFFdLkj0IIICAJEBxJSHmCCCAgJYAxdWSZA8C + CCAgCVBcSYg5AgggoCVAcbUk2YMAAghIAhRXEmKOAAIIaAlQXC1J9iCAAAKSAMWVhJgj + gAACWgIUV0uSPQgggIAkQHElIeYIIICAlgDF1ZJkDwIIICAJUFxJiDkCCCCgJUBxtSTZ + gwACCEgCFFcSYo4AAghoCVBcLUn2IIAAApIAxZWEmCOAAAJaAhRXS5I9CCCAgCRAcSUh + 5ggggICWAMXVkmQPAgggIAlQXEmIOQIIIKAlQHG1JNmDAAIISAIUVxJijgACCGgJUFwt + SfYggAACkgDFlYSYI4AAAloCFFdLkj0IIICAJEBxJSHmCCCAgJYAxdWSZA8CCCAgCVBc + SYg5AgggoCVAcbUk2YMAAghIAhRXEmKOAAIIaAlQXC1J9iCAAAKSAMWVhJgjgAACWgIU + V0uSPQgggIAkQHElIeYIIICAlgDF1ZJkDwIIICAJUFxJiDkCCCCgJUBxtSTZgwACCEgC + FFcSYo4AAghoCVBcLUn2IIAAApIAxZWEmCOAAAJaAhRXS5I9CCCAgCRAcSUh5ggggICW + AMXVkmQPAgggIAlQXEmIOQIIIKAlQHG1JNmDAAIISAIUVxJijgACCGgJUFwtSfYggAAC + kgDFlYSYI4AAAloCFFdLkj0IIICAJEBxJSHmCCCAgJYAxdWSZA8CCCAgCVBcSYg5Aggg + oCVAcbUk2YMAAghIAhRXEmKOAAIIaAlQXC1J9iCAAAKSAMWVhJgjgAACWgIUV0uSPQgg + gIAkQHElIeYIIICAlgDF1ZJkDwIIICAJUFxJiDkCCCCgJUBxtSTZgwACCEgCFFcSYo4A + AghoCVBcLUn2IIAAApIAxZWEmCOAAAJaAhRXS5I9CCCAgCRAcSUh5ggggICWAMXVkmQP + AgggIAlQXEmIOQIIIKAlQHG1JNmDAAIISAIUVxJijgACCGgJUFwtSfYggAACkgDFlYSY + I4AAAloCFFdLkj0IIICAJEBxJSHmCCCAgJYAxdWSZA8CCCAgCVBcSYg5AgggoCVAcbUk + 2YMAAghIAhRXEmKOAAIIaAlQXC1J9iCAAAKSAMWVhJgjgAACWgIUV0uSPQgggIAkQHEl + IeYIIICAlgDF1ZJkDwIIICAJUFxJiDkCCCCgJeBjcacHBIfb4pOz8j2llauaWvf0HB+4 + MPzj7bGHTydevHr9BwcBBBBAQBZ4/frl89+ejN/7+cb3g/293btaGmoqvO6cdKc9KizI + f/onb89Hint+eGR07MGTiecvX3MQQAABBHwRePXi92ePx+/+dH3I1+LWrm/d/dXR04NX + RkbvjT96NvHi5SsOAggggIAs8PLF84mnj+7fuXVt6OzJI/vat66r/ps7bmaep3RJbeO2 + ju7e/nND127duf/w6W8Tz19wEEAAAQRkgee/Tzx7/GDs9o9XL33Xd7hrZ/Pa6kVet+uj + rwpxSZl5RSWLaxpadu070vfdpas/jt799dGTZxMcBBBAAAFfBH57+vjB/Ts/37hyYeD4 + wS/bNq9ZUT5vlis98S/vuGHRcc6MXLe3onpt8869h06cOf/99Vu3740/ePTkKQcBBBBA + QBZ48vjR+P27ozd/uHyu/+iBzh2bVleVFRdmpyXYI//0yVlYtN2ZnjNrXvny+s1tnQeO + njp7aXjk1u27Y+MPHnIQQAABBGSBB+O/jt0ZvXn9+wvf9h3Z37G96dNlC4sLZqQmxEaG + fvhdhbAoe2K6q6C4rKpuY2vH/sMnzgxevnrj1ugvd+6NcRBAAAEEZIF7d+/c/unmteGL + Z/uPH9zb3tJYW1k6e2ZWisMUN3DKt8P8g8MiYxNSswvmlFbWrm/Z+WVPb9/A4OXhayO3 + fhrlIIAAAgj4IvDzrZs3rl25eO7MN0e6d7dtWVtdUeLJy0xxxESGfFDcoLDIGEdKVp6n + xDzkbt7Rse/gsZMDgxeHhq9dH+EggAACCPgicOPaD8NDF86e6evt2du+fcPq5eXz3LkZ + SfG2iJBAv/e/gPAPCo20OZIzc93zyqtWN7V83tl9+FjfmbODFy8PXRnmIIAAAgjIAle+ + H7p0YfDb/m96e7o6PmtuWLV0QXGB9eUwW3hwwNTiBoZE2OKc1kPugsradZu2t3d2H+w9 + cfL0t2cHB89zEEAAAQRkgcHBc2cH+vuOH+np2t3WsqHeelTIn5GaaI8O+6C4foHB4dH2 + xFTzlxW8i1bUNW5pbd/TdeBw7/G+k/39pzkIIIAAArJAf/+pvhPHvj7Uvbfj822b1tUu + K5vrzs1MNs+4VnGnvfu7Cn4B1kdnjpSMnFnmkltTv37L9raOzn1f9Rw+0nv0GAcBBBBA + QBY42tt75FBPd9eeXZ+1bGqoW1Exf7b1qBBvM18OC5j+vrjmT9mYh9w4Z9qM/CJv+bKV + qxs3bW39fNfuzq593d1fcRBAAAEEZIHu7u59ezs72tu2N29YV1ddubDYnZeVkmCPNh+c + +b8v7rTpAUEh5lkhITnDVTB7/qKl1XVrmzY1b9vRtrP9iw4OAggggIAvAl/sav+8rbWl + eWPjmlUrKsu8RfnZ6Unx1qPCh8X1DzTPCuaSm5qVWzinpGxJ1cq6NQ1NGzc3b23ZxkEA + AQQQ8EWgpWXrlk0b1q+rX1W9rGKh11PgyjBXXFtEqPXB2btXhWnT/QKCQsOjYh2TyfXM + Ky1fsmzFylV19WvXNTQ0chBAAAEEZIGGhoZ1a+rramuWL60omz+3yApuYpwtMizEPOO+ + +zruJ1ZxJy+5doczLSu3oGiOt7SsYsnSquXV1StX1nIQQAABBGSBlStrqlcsX1a5eNHC + +fNmu/NdmSnO+Ngo64o75Rn3E5Ncf/OSa94VTHJTs1x5hUWz53pLF5SVV1QsXsJBAAEE + EPBFYHFFxaLystL53mKPuyAvO8MKbnREWHDQ1EcFq7jWJTc0fDK5KRkzXHkFs4o8c4rn + eb0lJfM5CCCAAAKyQElJiXfe3OI5HnfhzDxXVnpKYnzsmzcF/+nvn3Gt4lqX3OAwK7nx + icmpGVnZOXn5BYWz3O6iIg8HAQQQQEAWKCoqcrtnFRTk5bqyTW+TEuJio80jbnDgh1fc + yUuulVxzy42OiXM4k1PSMjKzsl2unNw8DgIIIICAbwK5uTku14yszPS0lKREhz3GBDfU + BPfDK+7kJdcvwEpuWGSUzR7nSHAmJaekpqWnZ2RkchBAAAEEfBHIyMhIT09LTUl2OhPi + 7eZFIWLyhus/5athb37qa94VJpMbYl4Wom0xdnu8w5GQ6HQ6kzgIIIAAAj4KmGgmJjgc + cfbYGFuUueBaTwomuFNfca3mTrOS6x8QGBRsNddcdG0xsXZz4jgIIIAAAj4LmGya2Nqi + o8z91lxwgwI+Ftx3yZ1sbmhYWHhEpOluVHR0tI2DAAIIIOCLgClmdFSUiWdEeJh1vw16 + c8GdPu3d783ePCq8veVa11zT3KDg4JAQk93JE85BAAEEEPBJ4E01Q0NDQoKt3Jr7rXlR + +POTwtvqWi8L0/2s6Jrsmu6a8HIQQAABBP6ZgIlnoKltgL/1gGt6+9cL7rvmWtE11fXz + N8cqLwcBBBBA4J8JWP2cvNxauf2vvX2TXfMPJrNrpZeDAAIIIPDvBKyWvr3M+vQf699z + EEAAAQT+kYBPfeUfIYAAAggggAACCCCAAAIIIIAAAggggAACCPzfFPhfFA5tRwplbmRz + dHJlYW0KZW5kb2JqCjcyIDAgb2JqCjYxMDUKZW5kb2JqCjYxIDAgb2JqCjw8IC9MZW5n + dGggNjIgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggMTYy + IC9IZWlnaHQgMTA4IC9Db2xvclNwYWNlCi9EZXZpY2VHcmF5IC9JbnRlcnBvbGF0ZSB0 + cnVlIC9CaXRzUGVyQ29tcG9uZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3Ry + 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 + j3Pz452juyAR7u5sv1lbmtWM9iMR5dKMxKgQlIo9erahhmiHFujX3oKQ6KSs6/I7CuWA + emqO0vDj51/3JDzezY931h7ir58/UiLOTakHlIo78utZSdEhAm/0bBDuN0Rq2CB08xaI + ibAc3XBAPT2HXvPegPB4tz7uWSzi77+D8D36zdw0EdaXE6FY4O32dyXkssvoNhyvFOqH + nO82nO/YHP/UO8X5bw4g5Py3L/qOzelvsNz/L+Bv8J8U5/8bPcX5/+hPkc3cfiryd3iy + xDzE5vDTOdiMh8RcfsIJQvZNAHefErMiHvmkHW96Tv5Ju/ZPPWlnRGRemXH2bcWez5x9 + 4wNC5o0Kh9+a6X3m7pvHU3rEr729XfiWt7cL3/L2lvUZozBYRC6+ATdCPMlRBKsnNYqA + fEa1kIpcHYmxj2jJ1dEsBohcHRGkQ8TAQ86OqtpDNKOhfZwcmcYgnvDovvaTHd3HIlJJ + HxghGXGSIyQjvmWEJBCZrsPhUaZ4EwRETo/UZRHRvFmrOTnamXWakZEaDxdHjJOMeqs5 + OuqeXksCkU1Ho5kLnt8ycwFj2U9u5oIho+HsD2Zuyl+d/cHgndzsDwNG1Ix+gg+3ZtAw + jGw+cnYWkp6RElIHybmZXMTIFLYeEnXDtdlwOkZdabNz9jg3o5CB1ClJfjMzC6l4ODQr + k2UEJCMlV2e2GlGe4ejsYB0k1Q6JSZ86HJxhvUfJcOpJWV7jn/gzjj21yOCq322V4eEa + 1Hf7a/9/4f8xBf4F0kB/iQplbmRzdHJlYW0KZW5kb2JqCjYyIDAgb2JqCjQwNDEKZW5k + b2JqCjc1IDAgb2JqCjw8IC9MZW5ndGggNzYgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0 + eXBlIC9JbWFnZSAvV2lkdGggMTYyIC9IZWlnaHQgMTEwIC9Db2xvclNwYWNlCi9EZXZp + Y2VHcmF5IC9JbnRlcnBvbGF0ZSB0cnVlIC9CaXRzUGVyQ29tcG9uZW50IDggL0ZpbHRl + ciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7Zv5O1t5+8e7zEMpaux7rZEQImorpUjH + rggpRSNKbVVbG6UqLbVmEFTQxlJbUW1pq9VnZp5r/rXv+z4nIfGlNa0+z5nrmvsHZ3XO + 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 + LSv5YpjAFz0bhHsNkRo2CD18BWIiLEc37NdMzaLXvDciPNqtj3oWi/jHHyB8j34zO0WE + 9eVEKBb4evxdCbnsMroNxyuF+iHnuw3nOzbHP/VOcP6bAwg5/+2LvmNz+hss9/8L+Bv8 + J8X5/0ZPcP4/+hNkM7efivwdniwxD7E5/HQONuMhMZefcIKQfRPA3afErIiHPmnHm57/ + 9ZN2RkTmlRln31bs+szZNz4gZN6ocPitmcFn7r55PGFA/Nrb2/nveXs7/z1vb1mfMQqD + ReTiG3ATxG8dRbC5yYwlMBlFsHJcowjIZ1QLqcjVkRh7iNZcHc1ihMjVEUF6RAw85Oyo + ql1ECxrax8mRaQziMY/uazve0X0sIpX0vhGSUZwZIQlEputweJQp3gQBkdMjdVlENG/W + ak6OdmadZmSkxsPFEeMko8Fqjo66p9eSQGTT0WTmgvf3zFzAWPbjm7lgzGg8+4OZm/Kt + sz8YvOOb/WHEiJoxTPDh1gwahpHNR87OQjIwUkLqITk3k4sYmcI2QKJuuDYbTs+oL212 + zh7nZhQykHolyW9mZiEVD4dmZbKMgGSk5OrMVhPKUxydHayHpNohMelTh4MzrHcpGU4D + Kctr+hN/xpGnFhld9YetMjxcg/phf+0/F/5HgX8U+IsK/B+1Fn+FCmVuZHN0cmVhbQpl + bmRvYmoKNzYgMCBvYmoKNDA0MwplbmRvYmoKNzcgMCBvYmoKPDwgL0xlbmd0aCA3OCAw + IFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUgL0ltYWdlIC9XaWR0aCAxNDQ4IC9IZWln + aHQgMjY0IC9Db2xvclNwYWNlCi9EZXZpY2VHcmF5IC9JbnRlcnBvbGF0ZSB0cnVlIC9C + aXRzUGVyQ29tcG9uZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB + 7d3pV5RXtoBxlXkqKCgoLEAmBQpBKEVLcADFoAjGESUxELSMEUUxKkpEEROVSKs4EcAB + hwZtMcQp0Taa1f/aPS/aEdS+uz/c130/POdDVrK2K9v1+/Css04VOmUKBwEEEEAAAQQQ + QAABBP5vBaZyEEAAAQQ+rcB/m3Hzu5r27gRxEEAAAQTsFngX3Wmmwf9rrt82OigoODg4 + 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 + in0cBBBAAAH7BIqLiuYUFsz25uZkZ6anTk8yt2mTaes6PeF52vw51OaTRCvU1o06IdHt + SU3LyMyeOSsnNy/Py0EAAQQQsFMgLy83Z9bM7MyMtFSPOzEh7m2mJ36KaP11AeZCHRRi + hTrKEet0Jbqne1LS0tIzMjIzszgIIIAAAnYKZGZmZKSnpaV4kt2JLmesI8q6TZsPESdf + p9+FOsK8fcQ5412JSe7k6R6PJyUlJZWDAAIIIGCTgIlsimnt9GR3UqIr3mku01ERH8/0 + lKnWjTo4JNS6Ukc7TKqd8QkulysxMTGJgwACCCBgn4DprKltQrzTRNpU2lymQ0OCrdv0 + uy9PW88e5rwNtVXqCJPqmBiHIzY2Ls4Em4MAAgggYKOAKW1srMMRE2Mibe7SoSH/IdNv + Qm1dqa1Sh5tWR0ZZJ5qDAAIIIGCvwHhtI02jw/+q9Edu039dqacFWakOCQ0NDbNyzUEA + AQQQ+BQCYWGh5iJtXaXNk8d/qvSbxw/zTG0eqk2sg61ccxBAAAEEPo2Aqa5pr5XgqR++ + TI/fpd/9w/wK6xdyEEAAAQQ+uYDc6He1Nv9mfjkHAQQQQODTCEzqL/+BAAIIIIAAAggg + gAACCCCAAAIIIIAAAggggMD/A4H/AeBQ5V4KZW5kc3RyZWFtCmVuZG9iago3OCAwIG9i + ago1ODQyCmVuZG9iago3OSAwIG9iago8PCAvTGVuZ3RoIDgwIDAgUiAvTiAzIC9BbHRl + cm5hdGUgL0RldmljZVJHQiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGF + VM9rE0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi + 0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWA + BOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoH + hP1A4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhT + zSXTQINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHC + 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 + fwf/GP8Rv0FFRyVEpU5lReVDlUCVRVVG1Ub1iGqaaoNATxAhaBLsCUGEw4R8Qi2hj/CG + 8I2ampqfWo3ahjqQOpk6n/o69V3qSeofRAaiOFGf6EaMJWYSK4idxJfEbyQSSZikQ3Il + xZAySZWkHtIYaY2GkUaaxpTGh+YQTSFNE81jmkVaKlohWl3avbSJtHm0jbSPaBfoqOiE + 6fTpKHRJdIV0rXTP6VboGenl6K3oQ+lP0l+jH6SfYcAxCDMYMvgwpDBcZuhheM+IYhRg + 1Gf0ZjzKWMbYxzjNhGUSYTJlCmLKYKphesi0xMzArMjsyBzPXMjczjzBgmIRZjFlCWHJ + YmlgGWVZZ+Vm1WX1ZU1jrWV9zLrKxsmmw+bLls5Wx/aMbZ2dzG7IHsyezd7M/pYDzSHO + YcOxj6OYo49jgZOJU4PTmzOds4HzFRfMJc5ly7Wf6zLXfa4Vbh5uY+4I7vPcPdwLPCw8 + OjxBPGd57vDM8jLyavEG8p7l7eCdIzOTdckh5HxyL3mJj4vPhC+Wr4TvId8Gvwi/A/8R + /jr+twIEAVUBP4GzAt0CS4K8ghaCBwSrBF8JUQmpCgUInRMaEFoVFhF2Ej4u3Cw8I8Im + YiqSKFIl8kaUJKotGilaKvpUDCumKhYsdkFsWBwWVxIPEC8UfyQBSyhLBEpckBiRxEiq + SYZJlko+lyJK6UrFSVVJTUqzSO+WPiLdLL0oIyjjKpMtMyDzS1ZJNkS2TPa1HIOcmdwR + uTa5r/Li8t7yhfJPFUgKRgqHFFoUvihKKPoqFiu+UGJUslA6rtSt9FNZRTlKuVZ5VkVQ + xVOlSOW5KpOqtepJ1btqGDU9tUNqt9V+qCurx6g3qH/WkNII1rimMbNLZJfvrrJd7zX5 + NSmaJZoTWmQtT61LWhPafNoU7VLtdzoCOj465TofdcV0g3SrdRf1ZPWi9G7qreqr6x/U + 7zRAGRgbpBs8NGQwdDAsMBwz4jfyN6oyWjJWMt5v3GmCMTE3yTZ5bspt6m1aabpkpmJ2 + 0KzXnGhuZ15g/m63+O6o3W0WsIWZxRmLN5ZClmGWzVbAytTqjNVbaxHrSOtbNlgba5tC + mw+2crYHbAfsGO087K7ZfbfXs8+yf+0g6hDr0O1I6+jmWOm46mTglOM04SzjfNB5yIXD + JdClxRXn6uha7rqyx3BP7p5pNyW3VLdRdxH3ePfBvRx7Q/a2e9B6UDwaPTGeTp7XPDcp + VpRSyoqXqVeR15K3vvc573kfHZ+zPrO+mr45vh/9NP1y/Gb8Nf3P+M8GaAfkBSwE6gcW + BH4JMgm6GLQabBVcEbwV4hRSF4oP9QxtDWMICw7rDecJjw8fiZCISI2YiFSPzI1cijKP + Ko+Got2jW2KYkMPh/VjR2GOxk3FacYVxa/sc9zXG08eHxd9PEE9IS/iYaJR4ZT96v/f+ + 7gN8Bw4fmDyoe7AkCUrySuo+JHAo5dB0snHy1cOEw8GHHxyRPZJzZPmo09G2FO6U5JT3 + x4yPVaXSpEalPj+ucfziCfSJwBMP0xTSzqf9SvdJv5chm5GXsXnS++S9U3Kn8k9tZfpl + PsxSzio+jT0ddno0Wzv7ag59TmLO+zMWZ5rOks+mn13O9cgdzFPMu3iOcC723ET+7vyW + 84LnT5/fLAgoeFaoV1hXxFWUVrR6wefC42Kd4tqL3BczLq5fCrz0osS4pKlUuDTvMvZy + 3OUPZY5lA1dUr1SWc5RnlP+sCKuYuGp7tbdSpbLyGte1rCq4KrZqttqterjGoKalVqq2 + pI6lLuM6uB57fa7es360wbyhu1G1sfaG0I2im4w305ugpoSmpeaA5okWl5aRVrPW7jaN + tpu3pG9V3Oa7XdjO3J51h3An5c5WR2LHSmdE50KXf9f7bo/u1z3OPU97bXof9pn33e03 + 6u8Z0B3ouKt59/ag+mDrPdV7zUPKQ033le7ffKD04OZD5YdNj1QetQyrDbeN7Bq581j7 + cdcTgyf9T02fDj2zfDYy6jD64rnb84kXPi9mXoa8/PIq7tXG6+Q3mDfpb+ne5o1xjZWO + i43XTShPtE8aTN5/Z/fu9Xvv9/NT0VOb0ykfSB/yPvJ+rJyRn7k9azQ7PLdnbno+Yn5j + IfUT/aeiRdHFG591Pt9fcl6a/hL1ZevryW/s3yqWFZe7V6xXxr6Hft9YTV9jX7v6Q/XH + wLrT+seNfZu4zfyfYj/bfpn/erMVurUVQYmi7JwFUMgM+/kB8LUCqSFckNphGABC5++a + YkcCKVcgRAbBaOT8K4qcR/eDFgiG7KB6mAvORjGj6tGeGH7MMnYUdw8/SrVKzUsMInXT + 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 + vEdOl96YK5gZrBQ2GnsLh8HZ4kpwX/GG+EL8NyoLqioCNSGM8JR6F3U1kZOYRcKSkkm/ + aJJpYdp0Ola6Unop+lYGY4Y3jJFM1ExXmA2ZZ1iyWTVYP7CdYzfngJD3UByXCtca9y2e + g7wGZGryKN9F/mABS0FNIUVhcRF+UW4xLnFuCR5JESlpaXUZU1kXuQj5Ewrlij1KUyoE + VUU1b/VCjVXNQK0JHR/daf0oQ8goz0TStN/cY/e6ZZa1qM1tO3P7Ccdwp18ux/YwuF3a + q+oxRPH22vIp8dPxfx+YHqwQ8i4sI0Itcjo6P9YwbiX+aqL7AfTBskNmyYtHclIUj705 + fjRNML3/ZHAmKasm2yRn8mxSHs+5W+cdCr4UZRZLXOwuoZRulOWWK1c8rvSvwlSfr1Wo + G6oPbFi7kdsk2dzb6t62fDvjjmjHYJd/D663rN9q4Mdg8dDuB/DDC8OcI8VPxJ92jPq/ + wL9sfR38lmasdsJpcuF96NTUB7uPrbNMc9bzRxdqPvUvjnx+utT/5ebX099CliWX51eK + v5t8/7p6Yo1rre6HzI9r64LrxRvwht/GvU3pzeObIz85f/r+rPu5/sviV+uW8FbOtv+j + /RTkt98eACLqIe3Hsa2tb8IA4HIA+Jm9tbVRurX18zJSbCD/gXSG/P6/YlsYi/Tci1K2 + 0X8a/wOh8o8aCmVuZHN0cmVhbQplbmRvYmoKODIgMCBvYmoKNTk1MAplbmRvYmoKNjAg + MCBvYmoKWyAvSUNDQmFzZWQgODEgMCBSIF0KZW5kb2JqCjgzIDAgb2JqCjw8IC9MZW5n + dGggODQgMCBSIC9OIDMgL0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRl + RGVjb2RlID4+CnN0cmVhbQp4AYVUz2sTQRT+Nm6p0CIIWmsOsniQIklZq2hF1Db9EWJr + DNsftkWQZDNJ1m426+4mtaWI5OLRKt5F7aEH/4AeevBkL0qFWkUo3qsoYqEXLfHNbky2 + perAzn7z3jfvfW923wANctI09YAE5A3HUqIRaWx8Qmr8iACOoglBNCVV2+xOJAZBg3P5 + e+fYeg+BW1bDe/t3snetmtK2mgeE/UDgR5rZKrDvF3EKWRICiDzfoSnHdAjf49jy7I85 + Tnl4wbUPKz3EWSJ8QDUtzn9NuFPNJdNAg0g4lPVxUj6c14uU1x0HaW5mxsgQvU+QprvM + 7qtioZxO9g6QvZ30fk6z3j7CIcILGa0/RriNnvWM1T/iYeGk5sSGPRwYNfT4YBW3Gqn4 + NcIUXxBNJ6JUcdkuDfGYrv1W8kqCcJA4ymRhgHNaSE/XTG74uocFfSbXE6/id1ZR4XmP + E2fe1N3vRdoCrzAOHQwaDJoNSFAQRQRhmLBQQIY8GjE0snI/I6sGG5N7MnUkart0YkSx + QXs23D23UaTdPP4oInGUQ7UIkvxB/iqvyU/lefnLXLDYVveUrZuauvLgO8XlmbkaHtfT + yONzTV58ldR2k1dHlqx5erya7Bo/7FeXMeaCNY/Ec7D78S1flcyXKYwUxeNV8+pLhHVa + MTffn2x/Oz3iLs8utdZzrYmLN1abl2f9akj77qq8k+ZV+U9e9fH8Z83EY+IpMSZ2iuch + iZfFLvGS2EurC+JgbccInZWGKdJtkfok1WBgmrz1L10/W3i9Rn8M9VGUGczSVIn3f8Iq + ZDSduQ5v+o/bx/wX5PeK558oAi9s4MiZum1Tce8QoWWlbnOuAhe/0X3wtm5ro344/ARY + PKsWrVI1nyC8ARx2h3oe6CmY05aWzTlShyyfk7rpymJSzFDbQ1JS1yXXZUsWs5lVYul2 + 2JnTHW4coTlC98SnSmWT+q/xEbD9sFL5+axS2X5OGtaBl/pvwLz9RQplbmRzdHJlYW0K + ZW5kb2JqCjg0IDAgb2JqCjczNwplbmRvYmoKNDQgMCBvYmoKWyAvSUNDQmFzZWQgODMg + MCBSIF0KZW5kb2JqCjg1IDAgb2JqCjw8IC9MZW5ndGggODYgMCBSIC9OIDEgL0FsdGVy + bmF0ZSAvRGV2aWNlR3JheSAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGF + Uk9IFFEc/s02EoSIQYV4iHcKCZUprKyg2nZ1WZVtW5XSohhn37qjszPTm9k1xZMEXaI8 + dQ+iY3Ts0KGbl6LArEvXIKkgCDx16PvN7OoohG95O9/7/f1+33tEbZ2m7zspQVRzQ5Ur + paduTk2Lgx8pRR3UTlimFfjpYnGMseu5kr+719Zn0tiy3se1dvv2PbWVZWAh6i22txD6 + IZFmAB+ZnyhlgLPAHZav2D4BPFgOrBrwI6IDD5q5MNPRnHSlsi2RU+aiKCqvYjtJrvv5 + uca+i7WJg/5cj2bWjr2z6qrRTNS090ShvA+uRBnPX1T2bDUUpw3jnEhDGinyrtXfK0zH + EZErEEoGUjVkuZ9qTp114HUYu126k+P49hClPslgqIm16bKZHYV9AHYqy+wQ8AXo8bJi + D+eBe2H/W1HDk8AnYT9kh3nWrR/2F65T4HuEPTXgzhSuxfHaih9eLQFD91QjaIxzTcTT + 1zlzpIjvMdQZmPdGOaYLMXeWqhM3gDthH1mqZgqxXfuu6iXuewJ30+M70Zs5C1ygHEly + sRXZFNA8CVgUfYuwSQ48Ps4eVeB3qJjAHLmJ3M0o9x7VERtno1KBVnqNV8ZP47nxxfhl + bBjPgH6sdtd7fP/p4xV117Y+PPmNetw5rr2dG1VhVnFlC93/xzKEj9knOabB06FZWGvY + duQPmsxMsAwoxH8FPpf6khNV3NXu7bhFEsxQPixsJbpLVG4p1Oo9g0qsHCvYAHZwksQs + Why4U2u6OXh32CJ6bflNV7Lrhv769nr72vIebcqoKSgTzbNEZpSxW6Pk3Xjb/WaREZ84 + Or7nvYpayf5JRRA/hTlaKvIUVfRWUNbEb2cOfhu2flw/pef1Qf08CT2tn9Gv6KMRvgx0 + Sc/Cc1Efo0nwsGkh4hKgioMz1E5UY40D4inx8rRbZJH9D0AZ/WYKZW5kc3RyZWFtCmVu + ZG9iago4NiAwIG9iago3MDQKZW5kb2JqCjI3IDAgb2JqClsgL0lDQ0Jhc2VkIDg1IDAg + UiBdCmVuZG9iago0IDAgb2JqCjw8IC9UeXBlIC9QYWdlcyAvTWVkaWFCb3ggWzAgMCA2 + MTIgNzkyXSAvQ291bnQgMSAvS2lkcyBbIDMgMCBSIF0gPj4KZW5kb2JqCjg3IDAgb2Jq + Cjw8IC9UeXBlIC9DYXRhbG9nIC9PdXRsaW5lcyAyIDAgUiAvUGFnZXMgNCAwIFIgL1Zl + cnNpb24gLzEuNCA+PgplbmRvYmoKNTkgMCBvYmoKPDwgL0xlbmd0aCA4OCAwIFIgL09y + ZGVyIDEgL0VuY29kZSBbIDAgMTM2NCBdIC9GdW5jdGlvblR5cGUgMCAvQml0c1BlclNh + bXBsZQo4IC9EZWNvZGUgWyAwIDEgMCAxIDAgMSBdIC9Eb21haW4gWyAwIDEgXSAvUmFu + Z2UgWyAwIDEgMCAxIDAgMSBdIC9TaXplIFsgMTM2NQpdIC9GaWx0ZXIgL0ZsYXRlRGVj + b2RlID4+CnN0cmVhbQp4AY3CVVYVAABAwUXR3d3dDa+7u7s7LJQ0wAAFAwxUBGVRLoCf + O2fKd+XyvaV/Jbj4t0gWbgtk/iYP5/7kyOx1lsz8zsDpX2ky9TMFJ6+SZOJHgox/j8Ox + bzEy+jVKRi4jcPgiTIa+hODg5yAZ+BQg/R/9sO/cR3rPvKTngwd2v3eTrlMX7Dxxko53 + DtL+1g7b3thI62sraTm2wOYjM2l6ZSKNL42w4YWB1D/Xw7pDHak90JKafQ2s3lOTql0V + qdxRwopnClL+VA7LtmWk9ImUlDyWwOJHYlL0UEQKHwhhQVlAbpW24M3iJrlR2CDX8+vw + Wm6NXM2ukiuZFXg5vUwupZbgxeQiuZBYIOfj8/BcbI6cjc6SM5EZeDo8TU6FpuDJ4CQ5 + EZggx/3j8JhvjBz1jpIjnhF42D1MDrmG4EHnIDngGCD77f1wn62P7LX2kj2WHrjb3E12 + mbrITmMn3GHoINv17XCbro1s1baSLZoWuFndTDapmshGZSPcoGgg6+X1cJ2sjqyV1pI1 + khq4WlxNVomqyEphJVwhqLj/Px8Fb/YKZW5kc3RyZWFtCmVuZG9iago4OCAwIG9iago0 + MTcKZW5kb2JqCjU4IDAgb2JqCjw8IC9MZW5ndGggODkgMCBSIC9PcmRlciAxIC9FbmNv + ZGUgWyAwIDEzNjQgXSAvRnVuY3Rpb25UeXBlIDAgL0JpdHNQZXJTYW1wbGUKOCAvRGVj + b2RlIFsgMCAxIDAgMSAwIDEgXSAvRG9tYWluIFsgMCAxIF0gL1JhbmdlIFsgMCAxIDAg + MSAwIDEgXSAvU2l6ZSBbIDEzNjUKXSAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJl + YW0KeAGNwlVWFQAAQMFF0d3d3Q2vu7u7OyyUNMAABQMMVARlUS6Anztnynfl8r2lfyW4 + +LdIFm4LZP4mD+f+5MjsdZbM/M7A6V9pMvUzBSevkmTiR4KMf4/DsW8xMvo1SkYuI3D4 + IkyGvoTg4OcgGfgUIP0f/bDv3Ed6z7yk54MHdr93k65TF+w8cZKOdw7S/tYO297YSOtr + K2k5tsDmIzNpemUijS+NsOGFgdQ/18O6Qx2pPdCSmn0NrN5Tk6pdFancUcKKZwpS/lQO + y7ZlpPSJlJQ8lsDiR2JS9FBECh8IYUFZQG6VtuDN4ia5Udgg1/Pr8FpujVzNrpIrmRV4 + Ob1MLqWW4MXkIrmQWCDn4/PwXGyOnI3OkjORGXg6PE1OhabgyeAkORGYIMf94/CYb4wc + 9Y6SI54ReNg9TA65huBB5yA54Bgg++39cJ+tj+y19pI9lh6429xNdpm6yE5jJ9xh6CDb + 9e1wm66NbNW2ki2aFrhZ3Uw2qZrIRmUj3KBoIOvl9XCdrI6sldaSNZIauFpcTVaJqshK + YSVcIai4/z8fBW/2CmVuZHN0cmVhbQplbmRvYmoKODkgMCBvYmoKNDE3CmVuZG9iago1 + NyAwIG9iago8PCAvTGVuZ3RoIDkwIDAgUiAvT3JkZXIgMSAvRW5jb2RlIFsgMCAxMzY0 + IF0gL0Z1bmN0aW9uVHlwZSAwIC9CaXRzUGVyU2FtcGxlCjggL0RlY29kZSBbIDAgMSAw + IDEgMCAxIF0gL0RvbWFpbiBbIDAgMSBdIC9SYW5nZSBbIDAgMSAwIDEgMCAxIF0gL1Np + emUgWyAxMzY1Cl0gL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBjcJVVhUA + AEDBRdHd3d0Nr7u7uzsslDTAAAUDDFQEZVEugJ87Z8p35fK9pX8luPi3SBZuC2T+Jg/n + /uTI7HWWzPzOwOlfaTL1MwUnr5Jk4keCjH+Pw7FvMTL6NUpGLiNw+CJMhr6E4ODnIBn4 + FCD9H/2w79xHes+8pOeDB3a/d5OuUxfsPHGSjncO0v7WDtve2EjraytpObbA5iMzaXpl + Io0vjbDhhYHUP9fDukMdqT3Qkpp9DazeU5OqXRWp3FHCimcKUv5UDsu2ZaT0iZSUPJbA + 4kdiUvRQRAofCGFBWUBulbbgzeImuVHYINfz6/Babo1cza6SK5kVeDm9TC6lluDF5CK5 + kFgg5+Pz8FxsjpyNzpIzkRl4OjxNToWm4MngJDkRmCDH/ePwmG+MHPWOkiOeEXjYPUwO + uYbgQecgOeAYIPvt/XCfrY/stfaSPZYeuNvcTXaZushOYyfcYegg2/XtcJuujWzVtpIt + mha4Wd1MNqmayEZlI9ygaCDr5fVwnayOrJXWkjWSGrhaXE1WiarISmElXCGouP8/HwVv + 9gplbmRzdHJlYW0KZW5kb2JqCjkwIDAgb2JqCjQxNwplbmRvYmoKNTYgMCBvYmoKPDwg + L0xlbmd0aCA5MSAwIFIgL09yZGVyIDEgL0VuY29kZSBbIDAgMTM2NCBdIC9GdW5jdGlv + blR5cGUgMCAvQml0c1BlclNhbXBsZQo4IC9EZWNvZGUgWyAwIDEgMCAxIDAgMSBdIC9E + b21haW4gWyAwIDEgXSAvUmFuZ2UgWyAwIDEgMCAxIDAgMSBdIC9TaXplIFsgMTM2NQpd + IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Aa3CVRaCAAAAwduKYmNhYGML + qFinXa/gx84bvl/+/Pngfr8Rv164n0/cZYn78UB8v+O+3XAXBe48R5xluK9X3JcL7vMZ + 8emE+3jEfTjg3u8R73a40xT3dot7s0G8XuNerXAvl7gXC8TzOe4kwT2bIZ5OcU8muMdj + 3HGMeDTCPRziHgxw9/uIez3cUYS728Xd6SBut3G3WribTdyNBuJ6HXcY4q7VcFeriIMA + d6XCf39Sbp/uCmVuZHN0cmVhbQplbmRvYmoKOTEgMCBvYmoKMTgxCmVuZG9iago1NSAw + IG9iago8PCAvTGVuZ3RoIDkyIDAgUiAvT3JkZXIgMSAvRW5jb2RlIFsgMCAxMzY0IF0g + L0Z1bmN0aW9uVHlwZSAwIC9CaXRzUGVyU2FtcGxlCjggL0RlY29kZSBbIDAgMSAwIDEg + MCAxIF0gL0RvbWFpbiBbIDAgMSBdIC9SYW5nZSBbIDAgMSAwIDEgMCAxIF0gL1NpemUg + WyAxMzY1Cl0gL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBjcJVVhUAAEDB + RdHd3d0Nr7u7uzsslDTAAAUDDFQEZVEugJ87Z8p35fK9pX8luPi3SBZuC2T+Jg/n/uTI + 7HWWzPzOwOlfaTL1MwUnr5Jk4keCjH+Pw7FvMTL6NUpGLiNw+CJMhr6E4ODnIBn4FCD9 + H/2w79xHes+8pOeDB3a/d5OuUxfsPHGSjncO0v7WDtve2EjraytpObbA5iMzaXplIo0v + jbDhhYHUP9fDukMdqT3Qkpp9DazeU5OqXRWp3FHCimcKUv5UDsu2ZaT0iZSUPJbA4kdi + UvRQRAofCGFBWUBulbbgzeImuVHYINfz6/Babo1cza6SK5kVeDm9TC6lluDF5CK5kFgg + 5+Pz8FxsjpyNzpIzkRl4OjxNToWm4MngJDkRmCDH/ePwmG+MHPWOkiOeEXjYPUwOuYbg + QecgOeAYIPvt/XCfrY/stfaSPZYeuNvcTXaZushOYyfcYegg2/XtcJuujWzVtpItmha4 + Wd1MNqmayEZlI9ygaCDr5fVwnayOrJXWkjWSGrhaXE1WiarISmElXCGouP8/HwVv9gpl + bmRzdHJlYW0KZW5kb2JqCjkyIDAgb2JqCjQxNwplbmRvYmoKNTQgMCBvYmoKPDwgL0xl + bmd0aCA5MyAwIFIgL09yZGVyIDEgL0VuY29kZSBbIDAgMTM2NCBdIC9GdW5jdGlvblR5 + cGUgMCAvQml0c1BlclNhbXBsZQo4IC9EZWNvZGUgWyAwIDEgMCAxIDAgMSBdIC9Eb21h + aW4gWyAwIDEgXSAvUmFuZ2UgWyAwIDEgMCAxIDAgMSBdIC9TaXplIFsgMTM2NQpdIC9G + aWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Aa3CVRaCAAAAwduKYmNhYGMLqFin + Xa/gx84bvl/+/Pngfr8Rv164n0/cZYn78UB8v+O+3XAXBe48R5xluK9X3JcL7vMZ8emE + +3jEfTjg3u8R73a40xT3dot7s0G8XuNerXAvl7gXC8TzOe4kwT2bIZ5OcU8muMdj3HGM + eDTCPRziHgxw9/uIez3cUYS728Xd6SBut3G3WribTdyNBuJ6HXcY4q7VcFeriIMAd6XC + f39Sbp/uCmVuZHN0cmVhbQplbmRvYmoKOTMgMCBvYmoKMTgxCmVuZG9iago1MyAwIG9i + ago8PCAvTGVuZ3RoIDk0IDAgUiAvT3JkZXIgMSAvRW5jb2RlIFsgMCAxMzY0IF0gL0Z1 + bmN0aW9uVHlwZSAwIC9CaXRzUGVyU2FtcGxlCjggL0RlY29kZSBbIDAgMSAwIDEgMCAx + IF0gL0RvbWFpbiBbIDAgMSBdIC9SYW5nZSBbIDAgMSAwIDEgMCAxIF0gL1NpemUgWyAx + MzY1Cl0gL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBjcJVVhUAAEDBRdHd + 3d0Nr7u7uzsslDTAAAUDDFQEZVEugJ87Z8p35fK9pX8luPi3SBZuC2T+Jg/n/uTI7HWW + zPzOwOlfaTL1MwUnr5Jk4keCjH+Pw7FvMTL6NUpGLiNw+CJMhr6E4ODnIBn4FCD9H/2w + 79xHes+8pOeDB3a/d5OuUxfsPHGSjncO0v7WDtve2EjraytpObbA5iMzaXplIo0vjbDh + hYHUP9fDukMdqT3Qkpp9DazeU5OqXRWp3FHCimcKUv5UDsu2ZaT0iZSUPJbA4kdiUvRQ + RAofCGFBWUBulbbgzeImuVHYINfz6/Babo1cza6SK5kVeDm9TC6lluDF5CK5kFgg5+Pz + 8FxsjpyNzpIzkRl4OjxNToWm4MngJDkRmCDH/ePwmG+MHPWOkiOeEXjYPUwOuYbgQecg + OeAYIPvt/XCfrY/stfaSPZYeuNvcTXaZushOYyfcYegg2/XtcJuujWzVtpItmha4Wd1M + NqmayEZlI9ygaCDr5fVwnayOrJXWkjWSGrhaXE1WiarISmElXCGouP8/HwVv9gplbmRz + dHJlYW0KZW5kb2JqCjk0IDAgb2JqCjQxNwplbmRvYmoKNTIgMCBvYmoKPDwgL0xlbmd0 + aCA5NSAwIFIgL09yZGVyIDEgL0VuY29kZSBbIDAgMTM2NCBdIC9GdW5jdGlvblR5cGUg + MCAvQml0c1BlclNhbXBsZQo4IC9EZWNvZGUgWyAwIDEgMCAxIDAgMSBdIC9Eb21haW4g + WyAwIDEgXSAvUmFuZ2UgWyAwIDEgMCAxIDAgMSBdIC9TaXplIFsgMTM2NQpdIC9GaWx0 + ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Aa3CVRaCAAAAwduKYmNhYGMLqFinXa/g + x84bvl/+/Pngfr8Rv164n0/cZYn78UB8v+O+3XAXBe48R5xluK9X3JcL7vMZ8emE+3jE + fTjg3u8R73a40xT3dot7s0G8XuNerXAvl7gXC8TzOe4kwT2bIZ5OcU8muMdj3HGMeDTC + PRziHgxw9/uIez3cUYS728Xd6SBut3G3WribTdyNBuJ6HXcY4q7VcFeriIMAd6XCf39S + bp/uCmVuZHN0cmVhbQplbmRvYmoKOTUgMCBvYmoKMTgxCmVuZG9iago1MSAwIG9iago8 + PCAvTGVuZ3RoIDk2IDAgUiAvT3JkZXIgMSAvRW5jb2RlIFsgMCAxMzY0IF0gL0Z1bmN0 + aW9uVHlwZSAwIC9CaXRzUGVyU2FtcGxlCjggL0RlY29kZSBbIDAgMSAwIDEgMCAxIF0g + L0RvbWFpbiBbIDAgMSBdIC9SYW5nZSBbIDAgMSAwIDEgMCAxIF0gL1NpemUgWyAxMzY1 + Cl0gL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBjcJVVhUAAEDBRdHd3d0N + r7u7uzsslDTAAAUDDFQEZVEugJ87Z8p35fK9pX8luPi3SBZuC2T+Jg/n/uTI7HWWzPzO + wOlfaTL1MwUnr5Jk4keCjH+Pw7FvMTL6NUpGLiNw+CJMhr6E4ODnIBn4FCD9H/2w79xH + es+8pOeDB3a/d5OuUxfsPHGSjncO0v7WDtve2EjraytpObbA5iMzaXplIo0vjbDhhYHU + P9fDukMdqT3Qkpp9DazeU5OqXRWp3FHCimcKUv5UDsu2ZaT0iZSUPJbA4kdiUvRQRAof + CGFBWUBulbbgzeImuVHYINfz6/Babo1cza6SK5kVeDm9TC6lluDF5CK5kFgg5+Pz8Fxs + jpyNzpIzkRl4OjxNToWm4MngJDkRmCDH/ePwmG+MHPWOkiOeEXjYPUwOuYbgQecgOeAY + IPvt/XCfrY/stfaSPZYeuNvcTXaZushOYyfcYegg2/XtcJuujWzVtpItmha4Wd1MNqma + yEZlI9ygaCDr5fVwnayOrJXWkjWSGrhaXE1WiarISmElXCGouP8/HwVv9gplbmRzdHJl + YW0KZW5kb2JqCjk2IDAgb2JqCjQxNwplbmRvYmoKNTAgMCBvYmoKPDwgL0xlbmd0aCA5 + NyAwIFIgL09yZGVyIDEgL0VuY29kZSBbIDAgMTM2NCBdIC9GdW5jdGlvblR5cGUgMCAv + Qml0c1BlclNhbXBsZQo4IC9EZWNvZGUgWyAwIDEgMCAxIDAgMSBdIC9Eb21haW4gWyAw + IDEgXSAvUmFuZ2UgWyAwIDEgMCAxIDAgMSBdIC9TaXplIFsgMTM2NQpdIC9GaWx0ZXIg + L0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AY3CVVYVAABAwUXR3d3dDa+7u7s7LJQ0wAAF + AwxUBGVRLoCfO2fKd+XyvaV/Jbj4t0gWbgtk/iYP5/7kyOx1lsz8zsDpX2ky9TMFJ6+S + ZOJHgox/j8OxbzEy+jVKRi4jcPgiTIa+hODg5yAZ+BQg/R/9sO/cR3rPvKTngwd2v3eT + rlMX7Dxxko53DtL+1g7b3thI62sraTm2wOYjM2l6ZSKNL42w4YWB1D/Xw7pDHak90JKa + fQ2s3lOTql0VqdxRwopnClL+VA7LtmWk9ImUlDyWwOJHYlL0UEQKHwhhQVlAbpW24M3i + JrlR2CDX8+vwWm6NXM2ukiuZFXg5vUwupZbgxeQiuZBYIOfj8/BcbI6cjc6SM5EZeDo8 + TU6FpuDJ4CQ5EZggx/3j8JhvjBz1jpIjnhF42D1MDrmG4EHnIDngGCD77f1wn62P7LX2 + kj2WHrjb3E12mbrITmMn3GHoINv17XCbro1s1baSLZoWuFndTDapmshGZSPcoGgg6+X1 + cJ2sjqyV1pI1khq4WlxNVomqyEphJVwhqLj/Px8Fb/YKZW5kc3RyZWFtCmVuZG9iago5 + NyAwIG9iago0MTcKZW5kb2JqCjQ5IDAgb2JqCjw8IC9MZW5ndGggOTggMCBSIC9PcmRl + ciAxIC9FbmNvZGUgWyAwIDEzNjQgXSAvRnVuY3Rpb25UeXBlIDAgL0JpdHNQZXJTYW1w + bGUKOCAvRGVjb2RlIFsgMCAxIDAgMSAwIDEgXSAvRG9tYWluIFsgMCAxIF0gL1Jhbmdl + IFsgMCAxIDAgMSAwIDEgXSAvU2l6ZSBbIDEzNjUKXSAvRmlsdGVyIC9GbGF0ZURlY29k + ZSA+PgpzdHJlYW0KeAGtwtdVAgAAwMBt7Sh2UewVCzZQ2Sk7xRX4yL1b4GK5f9j+xfAP + tufYnmH7G8Nf2P7E9ge23zE8xfYbtl+x/YLhZ2xPsP2E7UcMP2D7Htt32L7F8A22r7F9 + he1LDF9g+xzbYwyfYfsU2yNsn2D4GNtH2D7E9gGG97G9h+1dbA8xvIPtbWwPsL2F4U1s + b2B7HdtrGF7F9gou+R/97DfyCmVuZHN0cmVhbQplbmRvYmoKOTggMCBvYmoKMTU5CmVu + ZG9iago0OCAwIG9iago8PCAvTGVuZ3RoIDk5IDAgUiAvT3JkZXIgMSAvRW5jb2RlIFsg + MCAxMzY0IF0gL0Z1bmN0aW9uVHlwZSAwIC9CaXRzUGVyU2FtcGxlCjggL0RlY29kZSBb + IDAgMSAwIDEgMCAxIF0gL0RvbWFpbiBbIDAgMSBdIC9SYW5nZSBbIDAgMSAwIDEgMCAx + IF0gL1NpemUgWyAxMzY1Cl0gL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB + rcLXVQIAAMDAbe0odlHsFQs2UNkpO8UV+Mi9W+BiuX/Y/sXwD7bn2J5h+xvDX9j+xPYH + tt8xPMX2G7Zfsf2C4WdsT7D9hO1HDD9g+x7bd9i+xfANtq+xfYXtSwxfYPsc22MMn2H7 + FNsjbJ9g+BjbR9g+xPYBhvexvYftXWwPMbyD7W1sD7C9heFNbG9gex3baxhexfYKLvkf + /ew38gplbmRzdHJlYW0KZW5kb2JqCjk5IDAgb2JqCjE1OQplbmRvYmoKNDcgMCBvYmoK + PDwgL0xlbmd0aCAxMDAgMCBSIC9PcmRlciAxIC9FbmNvZGUgWyAwIDEzNjQgXSAvRnVu + Y3Rpb25UeXBlIDAgL0JpdHNQZXJTYW1wbGUKOCAvRGVjb2RlIFsgMCAxIDAgMSAwIDEg + XSAvRG9tYWluIFsgMCAxIF0gL1JhbmdlIFsgMCAxIDAgMSAwIDEgXSAvU2l6ZSBbIDEz + NjUKXSAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGNwlVWFQAAQMFF0d3d + 3Q2vu7u7OyyUNMAABQMMVARlUS6Anztnynfl8r2lfyW4+LdIFm4LZP4mD+f+5MjsdZbM + /M7A6V9pMvUzBSevkmTiR4KMf4/DsW8xMvo1SkYuI3D4IkyGvoTg4OcgGfgUIP0f/bDv + 3Ed6z7yk54MHdr93k65TF+w8cZKOdw7S/tYO297YSOtrK2k5tsDmIzNpemUijS+NsOGF + gdQ/18O6Qx2pPdCSmn0NrN5Tk6pdFancUcKKZwpS/lQOy7ZlpPSJlJQ8lsDiR2JS9FBE + Ch8IYUFZQG6VtuDN4ia5Udgg1/Pr8FpujVzNrpIrmRV4Ob1MLqWW4MXkIrmQWCDn4/Pw + XGyOnI3OkjORGXg6PE1OhabgyeAkORGYIMf94/CYb4wc9Y6SI54ReNg9TA65huBB5yA5 + 4Bgg++39cJ+tj+y19pI9lh6429xNdpm6yE5jJ9xh6CDb9e1wm66NbNW2ki2aFrhZ3Uw2 + qZrIRmUj3KBoIOvl9XCdrI6sldaSNZIauFpcTVaJqshKYSVcIai4/z8fBW/2CmVuZHN0 + cmVhbQplbmRvYmoKMTAwIDAgb2JqCjQxNwplbmRvYmoKNDYgMCBvYmoKPDwgL0xlbmd0 + aCAxMDEgMCBSIC9PcmRlciAxIC9FbmNvZGUgWyAwIDEzNjQgXSAvRnVuY3Rpb25UeXBl + IDAgL0JpdHNQZXJTYW1wbGUKOCAvRGVjb2RlIFsgMCAxIDAgMSAwIDEgXSAvRG9tYWlu + IFsgMCAxIF0gL1JhbmdlIFsgMCAxIDAgMSAwIDEgXSAvU2l6ZSBbIDEzNjUKXSAvRmls + dGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGtwlUWggAAAMHbimJjYWBjC6hYp12v + 4MfOG75f/vz54H6/Eb9euJ9P3GWJ+/FAfL/jvt1wFwXuPEecZbivV9yXC+7zGfHphPt4 + xH044N7vEe92uNMU93aLe7NBvF7jXq1wL5e4FwvE8znuJME9myGeTnFPJrjHY9xxjHg0 + wj0c4h4McPf7iHs93FGEu9vF3ekgbrdxt1q4m03cjQbieh13GOKu1XBXq4iDAHelwn9/ + Um6f7gplbmRzdHJlYW0KZW5kb2JqCjEwMSAwIG9iagoxODEKZW5kb2JqCjQ1IDAgb2Jq + Cjw8IC9MZW5ndGggMTAyIDAgUiAvT3JkZXIgMSAvRW5jb2RlIFsgMCAxMzY0IF0gL0Z1 + bmN0aW9uVHlwZSAwIC9CaXRzUGVyU2FtcGxlCjggL0RlY29kZSBbIDAgMSAwIDEgMCAx + IF0gL0RvbWFpbiBbIDAgMSBdIC9SYW5nZSBbIDAgMSAwIDEgMCAxIF0gL1NpemUgWyAx + MzY1Cl0gL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBrcJVFoIAAADB24pi + Y2FgYwuoWKddr+DHzhu+X/78+eB+vxG/XrifT9xlifvxQHy/477dcBcF7jxHnGW4r1fc + lwvu8xnx6YT7eMR9OODe7xHvdrjTFPd2i3uzQbxe416tcC+XuBcLxPM57iTBPZshnk5x + Tya4x2PccYx4NMI9HOIeDHD3+4h7PdxRhLvbxd3pIG63cbdauJtN3I0G4noddxjirtVw + V6uIgwB3pcJ/f1Jun+4KZW5kc3RyZWFtCmVuZG9iagoxMDIgMCBvYmoKMTgxCmVuZG9i + agoyIDAgb2JqCjw8IC9MYXN0IDEwMyAwIFIgL0ZpcnN0IDEwNCAwIFIgPj4KZW5kb2Jq + CjEwNCAwIG9iago8PCAvUGFyZW50IDEwNSAwIFIgL0NvdW50IDAgL0Rlc3QgWyAzIDAg + UiAvWFlaIDAgNTUzIDAgXSAvVGl0bGUgKENhbnZhcyAxKQo+PgplbmRvYmoKMTA1IDAg + b2JqCjw8ID4+CmVuZG9iagoxMDMgMCBvYmoKPDwgL1BhcmVudCAxMDUgMCBSIC9Db3Vu + dCAwIC9EZXN0IFsgMyAwIFIgL1hZWiAwIDU1MyAwIF0gL1RpdGxlIChDYW52YXMgMSkK + Pj4KZW5kb2JqCjEwNiAwIG9iago8PCAvTGVuZ3RoIDEwNyAwIFIgL0xlbmd0aDEgMTIx + MjggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBvXp5fFRFtnBV3bWXdLo7 + ve83ne7OvkIgJJAmJCEsiSFhSZBgAgQIggLGKMzAFxVFIqKILIobLhBATRN40IDwGAYF + 3nNGdBCUUUdHcHwz5jkzHzoO0N3fqdshQj6dn3/4m3v7VNWpqlv31KmzVfVtX3p3K0pA + nYhBtdNbFs9F8pXFIkRmzF7UsjiOJ2VC/vbsjnZPHOdSEWIWzl08b1EcF59ESOmct3BZ + //OG4QhZqua3tsyJt6NrkBfOh4o4jodAnjJ/Ufu9cVy/D/J7F945u7896TvARy1qubf/ + /egjwD13tCxqjffP/BTylMV33tXej3dC3rx4aWt/f9wA9L2DMNS60J1IgW5HAiJIC3cT + QsKXSidioZW2wzUnU7XhtsSSb5BOlPHbqh+T87ekN85913otoFov/hMqFNf705xPi6Yh + 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 + RmxhZ3MgMzIKL0ZvbnRCQm94IFstOTUxIC00ODEgMTQ0NSAxMTIyXSAvRm9udE5hbWUg + L1dQRlBOUitIZWx2ZXRpY2EgL0l0YWxpY0FuZ2xlIDAKL1N0ZW1WIDAgL01heFdpZHRo + IDE1MDAgL1hIZWlnaHQgNjM3IC9Gb250RmlsZTIgMTA2IDAgUiA+PgplbmRvYmoKMTA5 + IDAgb2JqClsgMjc4IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDMzMyAwIDAgMCAwIDAg + MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDY2NwowIDcyMiA3MjIgMCAwIDAgNzIy + IDI3OCAwIDAgNTU2IDgzMyAwIDc3OCA2NjcgMCA3MjIgNjY3IDYxMSAwIDAgMCAwIDAg + MCAwCjAgMCAwIDAgMCA1NTYgNTU2IDUwMCAwIDU1NiAwIDAgMCAyMjIgMCAwIDIyMiA4 + MzMgNTU2IDU1NiA1NTYgMCAzMzMgNTAwIDI3OAo1NTYgMCAwIDAgNTAwIF0KZW5kb2Jq + CjI4IDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZv + bnQgL1dQRlBOUitIZWx2ZXRpY2EgL0ZvbnREZXNjcmlwdG9yCjEwOCAwIFIgL1dpZHRo + cyAxMDkgMCBSIC9GaXJzdENoYXIgMzIgL0xhc3RDaGFyIDEyMSAvRW5jb2RpbmcgL01h + Y1JvbWFuRW5jb2RpbmcKPj4KZW5kb2JqCjExMCAwIG9iagooTWFjIE9TIFggMTAuNi42 + IFF1YXJ0eiBQREZDb250ZXh0KQplbmRvYmoKMTExIDAgb2JqCihEOjIwMTEwMzA3MjMx + NDM3WjAwJzAwJykKZW5kb2JqCjEgMCBvYmoKPDwgL1Byb2R1Y2VyIDExMCAwIFIgL0Ny + ZWF0aW9uRGF0ZSAxMTEgMCBSIC9Nb2REYXRlIDExMSAwIFIgPj4KZW5kb2JqCnhyZWYK + MCAxMTIKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMTE3NzI3IDAwMDAwIG4gCjAwMDAx + MDg1ODEgMDAwMDAgbiAKMDAwMDAwNjA0MCAwMDAwMCBuIAowMDAwMTAwMzI4IDAwMDAw + IG4gCjAwMDAwMDAwMjIgMDAwMDAgbiAKMDAwMDAwNjAyMCAwMDAwMCBuIAowMDAwMDA2 + MTQ0IDAwMDAwIG4gCjAwMDAwOTI0MTkgMDAwMDAgbiAKMDAwMDAxMzAxMCAwMDAwMCBu + IAowMDAwMDI0ODA5IDAwMDAwIG4gCjAwMDAwMjUzMjQgMDAwMDAgbiAKMDAwMDAzMDgy + MiAwMDAwMCBuIAowMDAwMDMwODQzIDAwMDAwIG4gCjAwMDAwMzU5MDMgMDAwMDAgbiAK + MDAwMDAzNjQyMiAwMDAwMCBuIAowMDAwMDQxNjY4IDAwMDAwIG4gCjAwMDAwMjQ4MzEg + MDAwMDAgbiAKMDAwMDAyNTMwNCAwMDAwMCBuIAowMDAwMDA4NzYyIDAwMDAwIG4gCjAw + MDAwMDkyMzUgMDAwMDAgbiAKMDAwMDAzNTkyNCAwMDAwMCBuIAowMDAwMDM2NDAyIDAw + MDAwIG4gCjAwMDAwMDkyNTUgMDAwMDAgbiAKMDAwMDAwOTczMCAwMDAwMCBuIAowMDAw + MDA5NzUwIDAwMDAwIG4gCjAwMDAwMTI5ODkgMDAwMDAgbiAKMDAwMDEwMDI5MSAwMDAw + MCBuIAowMDAwMTE3NDU0IDAwMDAwIG4gCjAwMDAwMDY2MDIgMDAwMDAgbiAKMDAwMDAw + ODQ3NCAwMDAwMCBuIAowMDAwMDA3ODk4IDAwMDAwIG4gCjAwMDAwMDY3NDYgMDAwMDAg + biAKMDAwMDAwNzYxMCAwMDAwMCBuIAowMDAwMDA3NDY2IDAwMDAwIG4gCjAwMDAwMDcz + MjIgMDAwMDAgbiAKMDAwMDAwODMzMCAwMDAwMCBuIAowMDAwMDA3NzU0IDAwMDAwIG4g + CjAwMDAwMDg2MTggMDAwMDAgbiAKMDAwMDAwNjg5MCAwMDAwMCBuIAowMDAwMDA4MDQy + IDAwMDAwIG4gCjAwMDAwMDgxODYgMDAwMDAgbiAKMDAwMDAwNzAzNCAwMDAwMCBuIAow + MDAwMDA3MTc4IDAwMDAwIG4gCjAwMDAwOTk0MjYgMDAwMDAgbiAKMDAwMDEwODE2MyAw + MDAwMCBuIAowMDAwMTA3NzQ1IDAwMDAwIG4gCjAwMDAxMDcwOTEgMDAwMDAgbiAKMDAw + MDEwNjY5NyAwMDAwMCBuIAowMDAwMTA2MzAzIDAwMDAwIG4gCjAwMDAxMDU2NTEgMDAw + MDAgbiAKMDAwMDEwNDk5OSAwMDAwMCBuIAowMDAwMTA0NTgzIDAwMDAwIG4gCjAwMDAx + MDM5MzEgMDAwMDAgbiAKMDAwMDEwMzUxNSAwMDAwMCBuIAowMDAwMTAyODYzIDAwMDAw + IG4gCjAwMDAxMDI0NDcgMDAwMDAgbiAKMDAwMDEwMTc5NSAwMDAwMCBuIAowMDAwMTAx + MTQzIDAwMDAwIG4gCjAwMDAxMDA0OTEgMDAwMDAgbiAKMDAwMDA5ODUyOSAwMDAwMCBu + IAowMDAwMDc2OTkzIDAwMDAwIG4gCjAwMDAwODEyMjYgMDAwMDAgbiAKMDAwMDA0Nzcy + NyAwMDAwMCBuIAowMDAwMDUxOTYyIDAwMDAwIG4gCjAwMDAwNjU3NjAgMDAwMDAgbiAK + MDAwMDA3MDY1MyAwMDAwMCBuIAowMDAwMDU2MjMzIDAwMDAwIG4gCjAwMDAwNjU3Mzkg + MDAwMDAgbiAKMDAwMDA1MTk4MyAwMDAwMCBuIAowMDAwMDU2MjEyIDAwMDAwIG4gCjAw + MDAwNzA2NzQgMDAwMDAgbiAKMDAwMDA3Njk3MiAwMDAwMCBuIAowMDAwMDQxNjg5IDAw + MDAwIG4gCjAwMDAwNDc3MDYgMDAwMDAgbiAKMDAwMDA4MTI0NyAwMDAwMCBuIAowMDAw + MDg1NDgyIDAwMDAwIG4gCjAwMDAwODU1MDMgMDAwMDAgbiAKMDAwMDA5MTUzOCAwMDAw + MCBuIAowMDAwMDkxNTU5IDAwMDAwIG4gCjAwMDAwOTIzOTkgMDAwMDAgbiAKMDAwMDA5 + MjQ1NSAwMDAwMCBuIAowMDAwMDk4NTA4IDAwMDAwIG4gCjAwMDAwOTg1NjYgMDAwMDAg + biAKMDAwMDA5OTQwNiAwMDAwMCBuIAowMDAwMDk5NDYzIDAwMDAwIG4gCjAwMDAxMDAy + NzEgMDAwMDAgbiAKMDAwMDEwMDQxMSAwMDAwMCBuIAowMDAwMTAxMTIzIDAwMDAwIG4g + CjAwMDAxMDE3NzUgMDAwMDAgbiAKMDAwMDEwMjQyNyAwMDAwMCBuIAowMDAwMTAyODQz + IDAwMDAwIG4gCjAwMDAxMDM0OTUgMDAwMDAgbiAKMDAwMDEwMzkxMSAwMDAwMCBuIAow + MDAwMTA0NTYzIDAwMDAwIG4gCjAwMDAxMDQ5NzkgMDAwMDAgbiAKMDAwMDEwNTYzMSAw + MDAwMCBuIAowMDAwMTA2MjgzIDAwMDAwIG4gCjAwMDAxMDY2NzcgMDAwMDAgbiAKMDAw + MDEwNzA3MSAwMDAwMCBuIAowMDAwMTA3NzI0IDAwMDAwIG4gCjAwMDAxMDgxNDIgMDAw + MDAgbiAKMDAwMDEwODU2MCAwMDAwMCBuIAowMDAwMTA4NzQ5IDAwMDAwIG4gCjAwMDAx + MDg2MzEgMDAwMDAgbiAKMDAwMDEwODcyNiAwMDAwMCBuIAowMDAwMTA4ODQ0IDAwMDAw + IG4gCjAwMDAxMTY5NDYgMDAwMDAgbiAKMDAwMDExNjk2OCAwMDAwMCBuIAowMDAwMTE3 + MTk1IDAwMDAwIG4gCjAwMDAxMTc2MzEgMDAwMDAgbiAKMDAwMDExNzY4NCAwMDAwMCBu + IAp0cmFpbGVyCjw8IC9TaXplIDExMiAvUm9vdCA4NyAwIFIgL0luZm8gMSAwIFIgL0lE + IFsgPGNkMmE3Njg5M2EzMjViYjEyMmEyYzYzNzk3YTVlYmUyPgo8Y2QyYTc2ODkzYTMy + NWJiMTIyYTJjNjM3OTdhNWViZTI+IF0gPj4Kc3RhcnR4cmVmCjExNzgwNQolJUVPRgox + IDAgb2JqCjw8L0F1dGhvciAoVmFuY2UgU2hpcGxleSkvQ3JlYXRpb25EYXRlIChEOjIw + MTEwMzA3MTQwOTAwWikvQ3JlYXRvciAoT21uaUdyYWZmbGUgUHJvZmVzc2lvbmFsIDUu + Mi4zKS9Nb2REYXRlIChEOjIwMTEwMzA3MjMxNDAwWikvUHJvZHVjZXIgMTEwIDAgUiAv + VGl0bGUgKHRjYXBfbWVzc2FnaW5nLmdyYWZmbGUpPj4KZW5kb2JqCnhyZWYKMSAxCjAw + MDAxMjAyMDYgMDAwMDAgbiAKdHJhaWxlcgo8PC9JRCBbPGNkMmE3Njg5M2EzMjViYjEy + MmEyYzYzNzk3YTVlYmUyPiA8Y2QyYTc2ODkzYTMyNWJiMTIyYTJjNjM3OTdhNWViZTI+ + XSAvSW5mbyAxIDAgUiAvUHJldiAxMTc4MDUgL1Jvb3QgODcgMCBSIC9TaXplIDExMj4+ + CnN0YXJ0eHJlZgoxMjA0MDAKJSVFT0YK + + QuickLookThumbnail + + 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 + YXkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAABIAAAAMbmxO + TAAAABYAAADoZGFESwAAABwAAAD+cGxQTAAAABIAAAEaZW5VUwAAABIAAAEsbmJOTwAA + ABIAAAE+ZnJGUgAAABYAAAFQcHRCUgAAABgAAAFmcHRQVAAAABYAAAF+emhDTgAAAAwA + AAGUZXNFUwAAABIAAAGgamFKUAAAAA4AAAGycnVSVQAAACQAAAHAc3ZTRQAAABAAAAHk + emhUVwAAAA4AAAH0ZGVERQAAABAAAAICZmlGSQAAABAAAAISaXRJVAAAABQAAAIia29L + UgAAAAwAAAI2AEsAbABlAHUAcgBlAG4ALQBMAEMARABMAEMARAAtAGYAYQByAHYAZQBz + AGsA5gByAG0ASwBvAGwAbwByACAATABDAEQAQwBvAGwAbwByACAATABDAEQARgBhAHIA + ZwBlAC0ATABDAEQATABDAEQAIABjAG8AdQBsAGUAdQByAEwAQwBEACAAQwBvAGwAbwBy + AGkAZABvAEwAQwBEACAAYQAgAEMAbwByAGUAc19pgnIAIABMAEMARABMAEMARAAgAGMA + bwBsAG8AcjCrMOkw/AAgAEwAQwBEBCYEMgQ1BEIEPQQ+BDkAIAQWBBoALQQ0BDgEQQQ/ + BDsENQQ5AEYA5AByAGcALQBMAEMARF9pgnJtsmZ2mG95OlZoAEYAYQByAGIALQBMAEMA + RABWAOQAcgBpAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIAac7st+wAIABMAEMARAAA + dGV4dAAAAABDb3B5cmlnaHQgQXBwbGUsIEluYy4sIDIwMTEAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAGXbAAA6RgAACaRYWVogAAAA + AAAAaMsAAKyrAAAaoVhZWiAAAAAAAAAoMAAAGQ8AAK7oY3VydgAAAAAAAAQAAAAABQAK + AA8AFAAZAB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYA + iwCQAJUAmgCfAKMAqACtALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwEN + ARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkB + wQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKi + AqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oD + xwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUc + BSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8G + wAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiW + CKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4K + xQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0m + DUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P + 7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLj + EwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYW + SRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxnd + GgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd + 7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yIn + IlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm + 6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvR + LAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIx + SjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbp + NyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9 + Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9 + Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdK + fUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGb + UeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZ + aVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFP + YaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp + 8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3Km + cwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8 + IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wr + hg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56Q + BpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/Jpo + mtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTil + qaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDq + sWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9 + Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6 + ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHW + VdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj + 4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXx + cvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t + //9wYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKwHZjZ3QAAAAAAAAAAAADAQAA + AgAAAAQAEAAoAEsAewC4AQIBUwGxAhwCkQMVA7EEYAUiBfQG1gfKCNYJ9wsfDGoNwg8k + EJoSIxOsFT8W9BibGlAcDR3NH4ohVSMbJNsmoyhkKiUr3i2ILx8wsTJHM981dDcLOKA6 + NTvAPUY+0EBTQdBDS0TBRjBHm0kDSmZLw00XTm9PuFEEUkxTj1TPVhJXUliIWcBa9Vwh + XUxedV+WYLxh3WMBZCFlPmZXZ21ohmmcaq9rwWzPbd9u7m/4cQJyDHMZdCV1MnY+d0l4 + WXlpemt7RnwbfO99xn6if3yAWoE4ghqDAIPohNGFwIaxh6aInomaipeLmoybjaKOrY+5 + kMeR1ZLlk/OU9ZXqltqXzZjBmbWaspuwnK2drp6xn7WgvKHCosmj0aTWpd6m5qfpqO2p + 8qr1q/Ss8q3vrvOwD7Ewsk6za7SDtZ62trfLuNu567r7vAm9Fb4gvynAMsE+wkrDWMRm + xXbGiceeyLTJy8q/y6LMgM1czjjPE8/u0MXRmtJx00XUFtTp1bvWjtdi2DTZBdnX2qzb + gNxV3SzeBN7V33vgH+DA4WTiCeKw41vkB+Sy5WHmD+a852roGOjH6XTqIOrK63fsI+zM + 7XXuHe7C72vwFPC48Vzx//Kk80rz8fSS9TH1z/Ze9un3V/fC+Br4YPim+Oz5c/ob+67+ + I///AAAABAASACwAUgCGAMgBFQFjAb4CJwKhAycDtwRgBSAF6gbEB7QIuAnNCuoMIA1o + DsMQIxGNEwgUihYdF7sZXRsDHKseVyAOIcEjfCUpJt4okiozK6stDy5rL8kxLTKPM/U1 + WTa/OCI5fzrfPD49mj72QFFBpkL6RElFmEbiSCdJb0qrS+lNI05bT5FQx1H7UyhUVFWA + VqNXxljmWgNbIlw7XVlec1+IYJxhrmLBY9Nk42XxZv9oDmkcaihrNGxBbVJuZW90cIlx + mnKyc8t00XW2dpJ3a3hIeSh6CHrqe818sX2bfoR/boBbgUqCOoMshB6FEoYHhvyH8ojr + ieSK3YvVjM2Nw466j6qQm5GOkoGTdZRulWeWYJdcmFiZV5pWm1WcVZ1VnlSfVaBVoVSi + U6NVpFOlT6ZNp0moUKl2qqarzqz6rh+vSLBvsZSys7PTtPW2FbczuFK5cLqOu7K81r37 + vyTATsF8wq3D4MUMxhvHFMgHyPrJ78rly9zM0M3Fzr3Ps9Cn0ZvSj9OE1HjVadZX10TY + M9kf2gra9Nvf3MPdkt5d3yjf9eDD4ZDiXOMp4/bkweWI5k7nE+fX6JrpWeoX6tbrkOxL + 7QXtve5x7yXv3vCP8UDx8PKk81j0CvS29WL2D/a791X35/iJ+Tj5//rt/Av9Z/66/zP/ + d/+7//8AAAACAAsAGgAxAFAAdwCnAOABHwFhAa0CAQJgAsgDOwO5BEIE2AV+BjEG6ge4 + CIwJbApcC1IMTw1VDmIPdxCTEbMS0hP1FRUWOxdaGH0ZnBq6G9Mc6x37HwcgFyEpIjoj + TSRfJW4meieGKJApmSqgK6YsqS2pLqgvpDCgMZUyhjN6NGk1VzZENy44FTkAOec6yjuw + PJs9iT55P2hAUkE/QihDFUP9ROVFyUatR5NIekldSj9LI0wGTOlNy06tT5FQdlFfUkZT + L1QXVQNV8FbRV6VYdVlBWhBa4FuxXINdVF4lXvlfzGCeYXNiR2MbY/BkxWWYZm1nQGgW + aOtpwWqVa2lsPG0MbdFujG8/b/JwpHFTcgVyt3NndBd0yHV5dit23neReEZ4/Hm1enB7 + K3vpfKt9b34yfvl/woCNgV2CLYL9g82Em4Vthj6HD4fgiLCJhIpXiyqL/YzRjaSOe49S + kCqRA5HckrmTlZRylU+WM5ccmAiY85nhmtCbwpyynaSem5+ToIuhhqKEo4aki6WQppWn + nKinqbOqv6vNrOCt8a8FsBqxL7JJs2S0g7WitsO35LkMujG7WbyCva2+2sAFwS/CW8OK + xLPF3ccKyDLJYcqsy/vNQ85/z7rQ7dIk02XUpNXy11fYydpM2/Tdv9+44ebkUecj6mzu + avN2+ln//wAAbmRpbgAAAAAAAAY2AACVRgAAVs8AAFKpAACRTgAAKHIAABcKAABQDQAA + VDkAAtwoAAKo9QABczMAAwEAAAIAAAAYADIATQBmAH4AlgCuAMYA3QD0AQwBIgE6AVAB + aAF/AZcBrgHGAd8B+AIQAigCQgJcAnYCkAKrAsYC4gL/AxsDOANVA3QDkwOzA9MD8wQV + BDcEWgR9BKMEyQTyBRwFRwVzBZ8FzAX5BigGVwaHBrgG6QccB1AHhge9B/QILAhmCKII + 3gkcCVsJnAnfCiMKaQqwCvkLQwuSC+EMMAyFDNoNMA2JDeQOQQ6gDv4PYA/GEC0QlBEA + EXAR4RJUEs0TRBO/FDwUuRU7Fb8WRxbSF10X6xh9GREZqRpDGt4bfRwhHMUdbB4SHrwf + ZyAVIMUhdCIlIuIjxiSyJaEmiid5KGcpVypEKzAsIC0LLfYu4S/KMLMxnDKDM200VTU7 + NiI3Cjf0ON45yzq+O8c82z3uPwFAGUEpQjlDTURfRXJGhUeYSK5JxUrdS/tNGU41T15Q + hVGwUtpUEVVIVoVXxFjmWf9bIFxBXWhelV/AYPBiJmNkZKRl5WcraHZpxWsWbG9txW8a + cHRxy3MmdIB113cweIl543tyfSN+4oClgm6EO4YVh/WJ1YvGjbiPr5Gmk6GVp5etmbGb + uJ3Dn8Oh36SSp1uqGKzTr4CyNLTft5m6VL0Uv9/CvMWQyH7LcM570XXUkde72t3eA+FJ + 5Kfohu2W9XX5NPrX++382f2m/qH//wAAABYAMQBLAGYAfgCXALAAyADgAPgBEQEpAUEB + WQFxAYoBowG9AdYB8AIKAiQCPgJZAnQCkAKsAskC5gMEAyIDQANfA38DngPAA+IEBAQn + BEoEbwSWBMAE7wUfBVEFhAW3BesGIAZWBowGxAb8BzYHcQeuB+wIKghqCKsI7gkxCXYJ + vQoFCk8KmwroCzYLiAvbDC4MhgzfDTkNlg31DlUOuA8aD4EP6xBWEMIRNBGnEhwSlRMQ + E4sUDBSLFQ4VlRYeFqsXORfIGFsY8BmJGiMavhtcG/4coR1FHekejh83H94giyE0Id8i + iyNeJD8lKCYOJvQn3ijHKbQqnCuILHYtYy5RL0AwLzEiMhQzCTQBNPc17zbqN+g46Tnu + OvQ8BT0YPis/QEBYQWtCgUOaRLFFzEblSAFJH0o/S2FMiE2sTtZQBFEzUmBTl1TSVgtX + TVh4WYRak1urXL5d3F78YBZhOmJgY45kvWXqZxxoUmmKasJsAW0+bndvs3DwcihzZ3Sh + ddl3EnhLeYV633xiffd/j4Engr+EWIX5h5uJO4rhjI6OPI/tkaCTV5UZluWYrpp+nFWe + MqAOof6kKKZfqJKqxa0Br0Kxg7PQti+4krsCvXnAB8KUxTbH3sqSzV/QHtL81ebYxNut + 3rnhxuTf6I/r2e6c8Ofy1PRz9fj3tP//AAAAJQBPAHgAoADHAOwBEgE2AVwBgAGlAcsB + 8QIYAj8CZwKPArkC5AMQAz4DbAOdA84EAgQ3BG4EqATjBSIFYwWlBegGLQZzBrsHBQdS + B6EH8ghFCJsI8wlNCasKCwpuCtQLPAusDBsMjw0GDYAN/g6ADwIPihAXEKIRLRG5EkcS + 3BNxFAsUpRVFFegWkRc7F+YYlxlLGgEauht2HDcc+B27Hn0fRCALINYhnyJrI04kPSU0 + JionIigdKRwqHSseLCctLi46L0kwWTFwMogzpjTDNeQ3Cjg0OWM6mzv3PWk+4EBkQeVD + ckUBRpZILEnGS19M+k6PUChRvFNLVOBWb1f+WYVbElygXjhfy2FjYv9koWZAZ+Npimsz + bOJui3A5ceVzmHVFdvV4qHpdfAR9pH9KgO6CkoQ0hdyHg4kkisaMa44Nj62RSJLhlH6W + Hpe7mVWa8ZyOniufwqFhovuklaY2p9KpZ6sFrJmuM6/LsWmy+LSVtiy3xLlduvS8i74o + v8nBZ8MHxKTGT8f5yZ7LTM0Czp3QG9Ge0yrUv9Zn2AjZudtr3Q7eruBX4ezjbeTk5lPn + uekU6lDrg+yt7cbu0e/U8MbxtfKQ82z0LPTr9Z72SPby94j4HPiv+S/5qvok+p77Avtm + +8r8LvyH/NH9G/1l/a/9+v5N/rn/Jv+S//8AAHNmMzIAAAAAAAEMQgAABd7///MmAAAH + kgAA/ZH///ui///9owAAA9wAAMBsbW1vZAAAAAAAAAYQAACchAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAA== + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + FitInWindow + + Frame + {{9, 4}, {957, 874}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, -54}, {755.081, 661.385}} + Zoom + 1.0886243581771851 + ZoomValues + + + Canvas 1 + 0.0 + 1 + + + + saveQuickLookFiles + YES + + diff --git a/MAP/doc/map_supervision.graffle b/MAP/doc/map_supervision.graffle new file mode 100644 index 0000000..ae06d4b --- /dev/null +++ b/MAP/doc/map_supervision.graffle @@ -0,0 +1,3602 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro + 138.17.0.133677 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {756, 553}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2011-01-30 20:48:12 +0100 + Creator + Vance Shipley + DisplayScale + 1 0/72 in = 1.0000 in + GraphDocumentVersion + 6 + GraphicsList + + + Bounds + {{273.585, 386.41}, {8, 12}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + Font + Helvetica + Size + 10 + + ID + 84 + Line + + ID + 83 + Position + 0.77357888221740723 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs20 \cf2 N} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 82 + + ID + 83 + Points + + {249.523, 354.182} + {285.799, 403.599} + + Style + + stroke + + Color + + b + 0.6 + g + 0.6 + r + 0.6 + + HeadArrow + 0 + TailArrow + 0 + Width + 2 + + + Tail + + ID + 78 + + + + Bounds + {{246.659, 402.092}, {116.358, 55}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 9 + + ID + 82 + Shape + Circle + Style + + fill + + Color + + b + 0.8 + g + 1 + r + 0.8 + + FillType + 3 + GradientColor + + b + 0.4 + g + 0.8 + r + 0.2 + + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs18 \cf2 permanent +\fs22 \cf0 \ +map_rsm_fsm} + + + + Bounds + {{181.574, 386.33}, {6, 12}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + Font + Helvetica + Size + 10 + + ID + 81 + Line + + ID + 80 + Position + 0.77357888221740723 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs20 \cf2 1} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 79 + + ID + 80 + Points + + {211.242, 354.255} + {176.769, 403.474} + + Style + + stroke + + Color + + b + 0.6 + g + 0.6 + r + 0.6 + + HeadArrow + 0 + TailArrow + 0 + Width + 2 + + + Tail + + ID + 78 + + + + Bounds + {{100.337, 402.092}, {116.358, 55}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 9 + + ID + 79 + Shape + Circle + Style + + fill + + Color + + b + 0.8 + g + 1 + r + 0.8 + + FillType + 3 + GradientColor + + b + 0.4 + g + 0.8 + r + 0.2 + + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs18 \cf2 permanent +\fs22 \cf0 \ +map_dsm_fsm} + + + + Bounds + {{150.793, 300.031}, {158.332, 55}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 11 + + ID + 78 + Shape + Circle + Style + + fill + + Color + + b + 1 + g + 0.8 + r + 0.6 + + FillType + 3 + GradientColor + + b + 1 + g + 0.6 + r + 0.4 + + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs18 \cf2 temporary +\fs22 \cf0 \ +map_pm_sup\ + +\fs18 \cf2 \{one_for_all,0,1\}} + + + + Bounds + {{276.515, 284.481}, {8, 12}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + Font + Helvetica + Size + 10 + + ID + 86 + Line + + ID + 85 + Position + 0.76724845170974731 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs20 \cf2 N} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 78 + + ID + 85 + Points + + {335.43, 250.297} + {263.856, 302.671} + + Style + + stroke + + Color + + b + 0.6 + g + 0.6 + r + 0.6 + + HeadArrow + 0 + TailArrow + 0 + Width + 2 + + + Tail + + ID + 19 + + + + Bounds + {{566.231, 386.41}, {8, 12}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + Font + Helvetica + Size + 10 + + ID + 75 + Line + + ID + 74 + Position + 0.77357888221740723 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs20 \cf2 N} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 73 + + ID + 74 + Points + + {542.168, 354.182} + {578.444, 403.599} + + Style + + stroke + + Color + + b + 0.6 + g + 0.6 + r + 0.6 + + HeadArrow + 0 + TailArrow + 0 + Width + 2 + + + Tail + + ID + 64 + + + + Bounds + {{539.305, 402.092}, {116.358, 55}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 9 + + ID + 73 + Shape + Circle + Style + + fill + + Color + + b + 0.8 + g + 1 + r + 0.8 + + FillType + 3 + GradientColor + + b + 0.4 + g + 0.8 + r + 0.2 + + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs18 \cf2 permanent +\fs22 \cf0 \ +map_psm_fsm} + + + + Bounds + {{474.21, 386.328}, {6, 12}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + Font + Helvetica + Size + 10 + + ID + 72 + Line + + ID + 71 + Position + 0.77357888221740723 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs20 \cf2 1} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 70 + + ID + 71 + Points + + {503.882, 354.255} + {469.403, 403.472} + + Style + + stroke + + Color + + b + 0.6 + g + 0.6 + r + 0.6 + + HeadArrow + 0 + TailArrow + 0 + Width + 2 + + + Tail + + ID + 64 + + + + Bounds + {{392.982, 402.092}, {116.358, 55}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 9 + + ID + 70 + Shape + Circle + Style + + fill + + Color + + b + 0.8 + g + 1 + r + 0.8 + + FillType + 3 + GradientColor + + b + 0.4 + g + 0.8 + r + 0.2 + + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs18 \cf2 permanent +\fs22 \cf0 \ +map_dsm_fsm} + + + + Bounds + {{443.438, 300.031}, {158.332, 55}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 11 + + ID + 64 + Shape + Circle + Style + + fill + + Color + + b + 1 + g + 0.8 + r + 0.6 + + FillType + 3 + GradientColor + + b + 1 + g + 0.6 + r + 0.4 + + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs18 \cf2 temporary +\fs22 \cf0 \ +map_pm_sup\ + +\fs18 \cf2 \{one_for_all,0,1\}} + + + + Bounds + {{463.383, 284.729}, {8, 12}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + Font + Helvetica + Size + 10 + + ID + 48 + Line + + ID + 47 + Position + 0.76724845170974731 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs20 \cf2 N} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 64 + + ID + 47 + Points + + {405.954, 249.832} + {486.018, 303.135} + + Style + + stroke + + Color + + b + 0.6 + g + 0.6 + r + 0.6 + + HeadArrow + 0 + TailArrow + 0 + Width + 2 + + + Tail + + ID + 19 + + + + Bounds + {{212.266, 184.939}, {6, 12}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + Font + Helvetica + Size + 10 + + ID + 22 + Line + + ID + 8 + Position + 0.17890661954879761 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs20 \cf2 1} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{330.573, 183.024}, {8, 12}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0.4 + g + 0.4 + r + 0.4 + + Font + Helvetica + Size + 10 + + ID + 21 + Line + + ID + 20 + Position + 0.20757196843624115 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs20 \cf2 N} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 7 + + ID + 20 + Points + + {344.452, 199.373} + {296.862, 149.515} + + Style + + stroke + + Color + + b + 0.6 + g + 0.6 + r + 0.6 + + HeadArrow + 0 + TailArrow + 0 + Width + 2 + + + Tail + + ID + 19 + + + + Bounds + {{290.569, 197.969}, {157.582, 55}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 11 + + ID + 19 + Shape + Circle + Style + + fill + + Color + + b + 1 + g + 0.8 + r + 0.6 + + FillType + 3 + GradientColor + + b + 1 + g + 0.6 + r + 0.4 + + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs18 \cf2 permanent +\fs22 \cf0 \ +map_sap_sup\ + +\fs18 \cf2 \{one_for_one,10,60\}} + + + + Class + LineGraphic + Head + + ID + 7 + + ID + 8 + Points + + {207.748, 199.9} + {249.767, 149.814} + + Style + + stroke + + Color + + b + 0.6 + g + 0.6 + r + 0.6 + + HeadArrow + 0 + TailArrow + 0 + Width + 2 + + + Tail + + ID + 3 + + + + Bounds + {{192.76, 95.9081}, {158.332, 55}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 11 + + ID + 7 + Shape + Circle + Style + + fill + + Color + + b + 1 + g + 0.8 + r + 0.6 + + FillType + 3 + GradientColor + + b + 1 + g + 0.6 + r + 0.4 + + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs18 \cf2 permanent +\fs22 \cf0 \ +map_sup\ + +\fs18 \cf2 \{one_for_one,1060\}} + + + + Bounds + {{128.117, 197.969}, {116.358, 55}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 9 + + ID + 3 + Shape + Circle + Style + + fill + + Color + + b + 0.8 + g + 1 + r + 0.8 + + FillType + 3 + GradientColor + + b + 0.4 + g + 0.8 + r + 0.2 + + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red102\green102\blue102;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs18 \cf2 permanent +\fs22 \cf0 \ +map_load_fsm} + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2011-03-08 00:24:54 +0100 + Modifier + Vance Shipley + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {792, 612} + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + QuickLookPreview + + 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 + o/45gOI5sF6h5gfD/I1ZSEAHja+qQGuh5nItvQamUnPF5TILWVPzr/4H2U+nfAplbmRz + dHJlYW0KZW5kb2JqCjYgMCBvYmoKMjU2OQplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAv + UGFnZSAvUGFyZW50IDQgMCBSIC9SZXNvdXJjZXMgNyAwIFIgL0NvbnRlbnRzIDUgMCBS + IC9NZWRpYUJveCBbMCAwIDc1NiA1NTNdCj4+CmVuZG9iago3IDAgb2JqCjw8IC9Qcm9j + U2V0IFsgL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSSBdIC9Db2xvclNw + YWNlIDw8IC9DczEgOCAwIFIKL0NzMiAyMSAwIFIgPj4gL0ZvbnQgPDwgL0YyLjAgMjIg + MCBSIC9GMS4wIDIwIDAgUiA+PiAvWE9iamVjdCA8PCAvSW01IDE3IDAgUgovSW00IDE1 + IDAgUiAvSW0zIDEzIDAgUiAvSW0yIDExIDAgUiAvSW0xIDkgMCBSID4+IC9TaGFkaW5n + IDw8IC9TaDQgMjUgMCBSCi9TaDcgMjggMCBSIC9TaDEgMTkgMCBSIC9TaDggMjkgMCBS + IC9TaDIgMjMgMCBSIC9TaDUgMjYgMCBSIC9TaDMgMjQgMCBSIC9TaDYKMjcgMCBSIC9T + aDkgMzAgMCBSID4+ID4+CmVuZG9iagoyNSAwIG9iago8PCAvQ29sb3JTcGFjZSAzMSAw + IFIgL1NoYWRpbmdUeXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAgMCA4NC40NDMzMSBdIC9E + b21haW4KWyAwIDEgXSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gMzIg + MCBSID4+CmVuZG9iagoyOCAwIG9iago8PCAvQ29sb3JTcGFjZSAzMSAwIFIgL1NoYWRp + bmdUeXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAgMCA4NC40NDMzMSBdIC9Eb21haW4KWyAw + IDEgXSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gMzMgMCBSID4+CmVu + ZG9iagoxOSAwIG9iago8PCAvQ29sb3JTcGFjZSAzMSAwIFIgL1NoYWRpbmdUeXBlIDMg + L0Nvb3JkcyBbIDAgMCAwIDAgMCA2NS4wMTcxMSBdIC9Eb21haW4KWyAwIDEgXSAvRXh0 + ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gMzQgMCBSID4+CmVuZG9iagoyOSAw + IG9iago8PCAvQ29sb3JTcGFjZSAzMSAwIFIgL1NoYWRpbmdUeXBlIDMgL0Nvb3JkcyBb + IDAgMCAwIDAgMCA2NS4wMTcxMSBdIC9Eb21haW4KWyAwIDEgXSAvRXh0ZW5kIFsgZmFs + c2UgZmFsc2UgXSAvRnVuY3Rpb24gMzUgMCBSID4+CmVuZG9iagoyMyAwIG9iago8PCAv + Q29sb3JTcGFjZSAzMSAwIFIgL1NoYWRpbmdUeXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAg + MCA4NC40NDMzMSBdIC9Eb21haW4KWyAwIDEgXSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2Ug + XSAvRnVuY3Rpb24gMzYgMCBSID4+CmVuZG9iagoyNiAwIG9iago8PCAvQ29sb3JTcGFj + ZSAzMSAwIFIgL1NoYWRpbmdUeXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAgMCA2NS4wMTcx + MSBdIC9Eb21haW4KWyAwIDEgXSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rp + b24gMzcgMCBSID4+CmVuZG9iagoyNCAwIG9iago8PCAvQ29sb3JTcGFjZSAzMSAwIFIg + L1NoYWRpbmdUeXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAgMCA4NC4wODk2MSBdIC9Eb21h + aW4KWyAwIDEgXSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gMzggMCBS + ID4+CmVuZG9iagoyNyAwIG9iago8PCAvQ29sb3JTcGFjZSAzMSAwIFIgL1NoYWRpbmdU + eXBlIDMgL0Nvb3JkcyBbIDAgMCAwIDAgMCA2NS4wMTcxMSBdIC9Eb21haW4KWyAwIDEg + XSAvRXh0ZW5kIFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gMzkgMCBSID4+CmVuZG9i + agozMCAwIG9iago8PCAvQ29sb3JTcGFjZSAzMSAwIFIgL1NoYWRpbmdUeXBlIDMgL0Nv + b3JkcyBbIDAgMCAwIDAgMCA2NS4wMTcxMSBdIC9Eb21haW4KWyAwIDEgXSAvRXh0ZW5k + IFsgZmFsc2UgZmFsc2UgXSAvRnVuY3Rpb24gNDAgMCBSID4+CmVuZG9iagoxNyAwIG9i + ago8PCAvTGVuZ3RoIDE4IDAgUiAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2Ug + L1dpZHRoIDM1NCAvSGVpZ2h0IDE0NiAvSW50ZXJwb2xhdGUKdHJ1ZSAvQ29sb3JTcGFj + ZSA0MSAwIFIgL0ludGVudCAvUGVyY2VwdHVhbCAvU01hc2sgNDIgMCBSIC9CaXRzUGVy + Q29tcG9uZW50CjggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7dCBAAAA + AMOg+VMf5IVQYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBj4HRhdygABCmVuZHN0cmVhbQplbmRvYmoKMTggMCBv + YmoKNjk4CmVuZG9iagoxNSAwIG9iago8PCAvTGVuZ3RoIDE2IDAgUiAvVHlwZSAvWE9i + amVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDM1NCAvSGVpZ2h0IDE0NiAvSW50ZXJw + b2xhdGUKdHJ1ZSAvQ29sb3JTcGFjZSA0MSAwIFIgL0ludGVudCAvUGVyY2VwdHVhbCAv + U01hc2sgNDQgMCBSIC9CaXRzUGVyQ29tcG9uZW50CjggL0ZpbHRlciAvRmxhdGVEZWNv + ZGUgPj4Kc3RyZWFtCngB7dCBAAAAAMOg+VMf5IVQYcCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBj4HRhdygABCmVu + ZHN0cmVhbQplbmRvYmoKMTYgMCBvYmoKNjk4CmVuZG9iagoxMyAwIG9iago8PCAvTGVu + Z3RoIDE0IDAgUiAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDM1 + MiAvSGVpZ2h0IDE0NiAvSW50ZXJwb2xhdGUKdHJ1ZSAvQ29sb3JTcGFjZSA0MSAwIFIg + L0ludGVudCAvUGVyY2VwdHVhbCAvU01hc2sgNDYgMCBSIC9CaXRzUGVyQ29tcG9uZW50 + CjggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7dAxAQAAAMKg9U9tDQ+I + QGHAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDjwMDWl4AAQplbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2JqCjY5NgplbmRv + YmoKMTEgMCBvYmoKPDwgL0xlbmd0aCAxMiAwIFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5 + cGUgL0ltYWdlIC9XaWR0aCAzNTQgL0hlaWdodCAxNDYgL0ludGVycG9sYXRlCnRydWUg + L0NvbG9yU3BhY2UgNDEgMCBSIC9JbnRlbnQgL1BlcmNlcHR1YWwgL1NNYXNrIDQ4IDAg + UiAvQml0c1BlckNvbXBvbmVudAo4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh + bQp4Ae3QgQAAAADDoPlTH+SFUGHAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY+B0YXcoAAQplbmRzdHJlYW0KZW5k + b2JqCjEyIDAgb2JqCjY5OAplbmRvYmoKOSAwIG9iago8PCAvTGVuZ3RoIDEwIDAgUiAv + VHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDI3MCAvSGVpZ2h0IDE0 + NiAvSW50ZXJwb2xhdGUKdHJ1ZSAvQ29sb3JTcGFjZSA0MSAwIFIgL0ludGVudCAvUGVy + Y2VwdHVhbCAvU01hc2sgNTAgMCBSIC9CaXRzUGVyQ29tcG9uZW50CjggL0ZpbHRlciAv + RmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7dAxAQAAAMKg9U9tCj+IQGHAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDgOzDOAwAB + CmVuZHN0cmVhbQplbmRvYmoKMTAgMCBvYmoKNTM5CmVuZG9iago0OCAwIG9iago8PCAv + TGVuZ3RoIDQ5IDAgUiAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRo + IDM1NCAvSGVpZ2h0IDE0NiAvQ29sb3JTcGFjZQovRGV2aWNlR3JheSAvSW50ZXJwb2xh + dGUgdHJ1ZSAvQml0c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+ + CnN0cmVhbQp4Ae3d519UWboF4O7p29pmRSUnRaKIoGQkK0hQkCwoUVGSZJQsiiAgGEEw + B8xO23acmb7zu//aXevd51QgKCAGtPYHW06dKoqH1WvvAuvs776zDIuAReBjCnz/7vEx + P/XX+Nia5j9mGz9wzHaj/q34GmE+6GtSMEY2UfwfGT/ObaiTp+jLw37QE1vqdxYBzZU4 + YNI9l2Es5/hpTkNO5X2WaQ9AcTyi/k3jZ1rqWvN6/vh6jbA6qzJVoCtWrFiJscowVs82 + DGes4h1wP/UAINe5Ta2/fmkDrSGwElWqiCm9YLlmzZq1MtZhrOfYMNuQW3maugPuuXq1 + qBu4aS3JNqb6q4TWbUnLr5eyAquSSlUaEZSYVlZWGzdu3CRjM4f1zIM3qbM24XwrK/lG + rF+vwDVtWvNTadJm0PP6X+9LPXmKrUaLFmBexVWp0hRYxLTBsLW1tbOzV8OBw3H6kOPq + FDs7O1tb3s/G2lrM4U1uha2CraSRaX6LCc2qwtP7UuXm8LwMuJJb2LINSIvISl6ZVmEV + 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 + wN1UVaxwRRsQlqFlalEJ6ATmlq2w0UpProbL3v3SdXV5g7IeZq4yTJ3ZGza2SLRIM9Og + Zqo9PIkNbUTbd8cOPxQJhj8G4GYauEVO8fPbAVKiQlVYlevWLZosUiu0zC1t10ktKFxO + apjVPuuiTLebx39VL6vpTzpDmDXn9RsYaIEWaaF2coa16xbRBje8MUDuRXR9+KihfwhN + Ly9PTwQVUXXfhrC6baWqqwsTy6o1yhpoWbmw5ZRmjvvF9e57vbUw68xcZ8CZeZbiwDyo + pEGNUMMasbZ3YLBRIs4uLhSnOdQ5wGc65Bhuk5NISlMnR0cHYWVibaw3M7MMraRWaE1t + 9eR+UWuG97JOPcHALKu5H5ctW26ARqJR0ZgKhdpqI2K9abPStrG1VeAwBzqG4/Qhx3kC + gmpnZ0tTqFpDVXcFLPoAskitotVyy87VamHpJXcqsXw8xVmHVpGWUNN67TqlvcHKCt4E + x9jMYT3z4E3qLER1oxXDirgq1rVrNFgpBL6GYN8KrdgiuF8Jrom47syfy/H1CVZ1iDQz + /RMWHewPYiPZwk1wkmOI3Ex/yK08jd8fhFVTRWDhiqaVrhVZc9qvz9aE+Tv8FJ+/KuH4 + gdSUprWOTW56CzjRqT7LkJvlD95BQyUrEqvDog9UaJnar5zWzJnQptR6rDVueqt4M4nv + HnIqSDVUVgF7Vof95mTNnfGRUOuxlmBLtskk8X7/HzxVmWpp5f8g8rDTPtk3f0BpG7lJ + ZTIYTEM0TY6rv2p3/qaaYDESo7vN8t/F+BSWx7AIWAQsAhaBr1rg/wGkJicMCmVuZHN0 + cmVhbQplbmRvYmoKNDkgMCBvYmoKOTY3NgplbmRvYmoKNDIgMCBvYmoKPDwgL0xlbmd0 + aCA0MyAwIFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUgL0ltYWdlIC9XaWR0aCAzNTQg + L0hlaWdodCAxNDYgL0NvbG9yU3BhY2UKL0RldmljZUdyYXkgL0ludGVycG9sYXRlIHRy + dWUgL0JpdHNQZXJDb21wb25lbnQgOCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJl + YW0KeAHt3edfVFm6BeDu6dvaZkUlJ0WiiKBkJCtIUJAsKFFRkmSULIogIBhBMAfMTtt2 + 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 + Ug2VVcCe1WG/OVlzZ3wk1HqsJdiSbTJJvN//B09Vplpa+T+IPOy0T/bNH1DaRm5SmQwG + 0xBNk+Pqr9qdv6kmWIzE6G6z/HcxPoXlMSwCFgGLgEXgqxb4f81VJw0KZW5kc3RyZWFt + CmVuZG9iago0MyAwIG9iago5Njc3CmVuZG9iago0NiAwIG9iago8PCAvTGVuZ3RoIDQ3 + IDAgUiAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDM1MiAvSGVp + Z2h0IDE0NiAvQ29sb3JTcGFjZQovRGV2aWNlR3JheSAvSW50ZXJwb2xhdGUgdHJ1ZSAv + Qml0c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4 + Ae3d919U17oG8JyccxILKoqK9N5BivTekSII0hSlg3QUEVGaKCoWQAEV7D22xPTk5p7z + uf/afZ537T2FkgBCombWDwnM7D3MfH181hqEvT77zDIsAhaBNRL4x++PNfqqn+jD6paf + LzL+ybHIfZ9/rp39idqs+GUJixFNDP8l499LG+rgOfbyqCt+Tp/AiQTQVWFDJI3zC44v + OdYtacihPEc7nw9Fbe3R+YU+Aa+lvgSjq1IVFAWqNNevX78BY6NhWC02DEds5Ak4Tz0A + vHVsJa2gP3VnA6y4aqxaRkkqWlZWmzZt2ixjC4Y1x9bFhtzLw9QJONPKSh7FgE1p+UqS + aHH+BJlNZFUJ8K8/sqap0pRC5BTKbdtsbGy2q7EDY+fCg3dpR+H4bdvkXGtrxa1ZU5qp + 1pzJbEjzUv/GfcjHgVZeDwsWQQKsckXMwGpEhSipYGnLsWuXnZ2dvQwHDsf5Q25Xh+DY + XbvkvJ07hRzaxFbUKtTKGXlmnHVlPLsPGe/3n5tGq8uqxLIFlCuzKqrKFKLAoqQThrOz + i4urDDc3N3cOD/Mht+E+NznIxcXZmac5Ojo44FHADW2hVtLWbJBN7A5hVsp6lj9CZDNa + LbOQlR7YIq7MKqKKmAKVpAoUlnD09PTy8sbw8fHx9fX1Mwx/NQyf+/nhbh8fHurl5emJ + M93dKQ5uYgs1pHeyRZhoA7NSlmrWovzxICtblVqhXS+yqFcNVrkqVmekFAEFKUGh6efn + 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 + VBXq5k2brIRVAsuVF8vg3//SMst57JOgNSJjcSEzH5Wll/FyNWf0hpKWUG8SbHIz2xji + ttB/5F4exj8dFIBmirBCFT0gTSCuAivrA8J+arImyJ8ZmZUzl3KERqIZaQzQbMDA32lt + WC029AMIaiAlKtKqsyKwyvWThzVTNnXWEs21hgzgCLcOrtgX/y88RVSRsgRYAzrr3811 + DrOCVvWsdbT0B5E07z/6Hw9VolpS+TisgU+6B+Y5LuEGQcF/BHqB/zCVJoZzjtDOXsLX + sRxiENDJF/m/4TjLBxYBi4BFwCJgETAT+H8Sf8cfCmVuZHN0cmVhbQplbmRvYmoKNDcg + MCBvYmoKOTQ2NgplbmRvYmoKNTAgMCBvYmoKPDwgL0xlbmd0aCA1MSAwIFIgL1R5cGUg + L1hPYmplY3QgL1N1YnR5cGUgL0ltYWdlIC9XaWR0aCAyNzAgL0hlaWdodCAxNDYgL0Nv + bG9yU3BhY2UKL0RldmljZUdyYXkgL0ludGVycG9sYXRlIHRydWUgL0JpdHNQZXJDb21w + b25lbnQgOCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAHtnfdfE9n7xT/r + rh1EihTpvTel9y5NgdA7CNIhUkIvIiC9iAJSpSr2ldV16+v7r33Pc++kEEBRUaOb5weF + mclk7ptzznMDydz//U9dagIqR+Cn/UrlrvKLXRAf/bHDFT/4i13LNzsxjUtK4GfUL1TH + Dy62nw4UHsS4fLOrP7InlmNgCPj4T5w4cRJ16uCi3TiKH/7LLzIsdLoju7aveSJcN/vB + MiXQsAgBG//p02fOnDkrlIZyCdtxyOnTp+l4BoZOQFTYKb8vJDIQ3A2cAjGgkWpoaGqe + o9LS0jqP0t5dtAl72BGamhoa9BCAYViYWL4rJlwRZAuSA6kBGAgCY4DxY/A6Orq6eqwu + oPQVizawPbq6ujo6OBZsQAZciApBgYW4TkgmqqwSgYQAQuCgQUrQAgQwwDgxeAMDA0ND + I6OLVMYoE3nRt2y7kZGhIY7T1yc2ugwLqDAonAlDwp2jglGiQOIECQJ6IA4MAyhcYAxA + AGM3NTU1Mze3oLK0tLSisqZiX2EL22NuZobjTAiOEbhwKpAKMYFOCAlTiZAlP6lOuO5D + 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 + i1bVppXXdy29rvhhLH5l3+pfetlPEzO5RkgkhERbR1dP7wJBYVRMTEwJDJGxsLS0tGKF + cWPkVNhEe7DsvBmOMzHmFAz0L+jpCRzkIOSL0B98U/JvxYP/IkQgwm0D3zAmHApRARZw + ITDQC8oYZSIv+pZtNzIyNMRx+pyCjrY2LTt/TlOqCCYJ3LcfK+R8/AJbXxGQoBEmEiCh + KCEmgAKlgAq0oq2jo0tgiA1KX7FoA9ujq6urwyAQBY6BOePUSVLE8V9oISkCoTruOAgy + rpEulfuG0hVMCAqjosG5nNPSAhoU6CgWbcIuEGAMkA7IBwoIigiBAwPxXZCQEZIh+Znr + 5PgJToVzITCsNJRL2H4GCE5zCFADYSA9fIccZEDwBZhwnRwjKIhYqhMEhgmGfuT7Fe3G + UfxwosAxkB5U3xqK49/3azkU+AcFMFI0fMRK/7L9dCBzHMuHHwGDMhvCIlWLMNKD/+MH + K5/ix/2ej1fp3x93uOqRqQmoCfyYBP4f1T0hOgplbmRzdHJlYW0KZW5kb2JqCjUxIDAg + b2JqCjY4NzQKZW5kb2JqCjQ0IDAgb2JqCjw8IC9MZW5ndGggNDUgMCBSIC9UeXBlIC9Y + T2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggMzU0IC9IZWlnaHQgMTQ2IC9Db2xv + clNwYWNlCi9EZXZpY2VHcmF5IC9JbnRlcnBvbGF0ZSB0cnVlIC9CaXRzUGVyQ29tcG9u + ZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7d3nX1RZugXg7unb + 2mZFRTIoGRFByUhWsoJkQYmKkkSigSSKICBgAARzwOy0bceZ6Tu/+6/dtd59TgWCAmJA + a3+w5dSponhYvfYusM7+7jvLsAhYBD6mwPfvHh/zU3+Nj61p/mO28QPHbDfq34qvEeaD + viYFY2QTxf+R8ePchjp5ir487Ac9saV+ZxHQXIkDJt1zGcZyjp/mNORU3meZ9gAUxyPq + 3zR+pqWuNa/nj6/XCKuzKlMFumLFipUYqwxj9WzDcMYq3gH3Uw8Acp3b1PrrlzbQGgIr + UaWKmNILlmvWrFkrYx3Geo4Nsw25laepO+Ceq1eLuoGb1pJsY6q/SmjdlrT8eikrsCqp + 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 + fqgrq8eoN6h/1pDSCNa4pjGzS2SX766yXe81+TUpmiWaE1pkLU+tS1oT2nzaFO1S7Xc6 + Ajo+OuU6H3XFdIN0q3UX9WT1ovRu6q3qq+sf1O80QBkYG6QbPDRkMHQwLDAcM+I38jeq + MloyVjLeb9xpgjExN8k2eW7KbeptWmm6ZKZidtCs15xobmdeYP5ut/juqN1tFrCFmcUZ + izeWQpZhls1WwMrU6ozVW2sR60jrWzZYG2ubQpsPtnK2B2wH7BjtPOyu2X2317PPsn/t + IOoQ69DtSOvo5ljpuOpk4JTjNOEs43zQeciFwyXQpcUV5+roWu66ssdwT+6eaTclt1S3 + UXcR93j3wb0ce0P2tnvQelA8Gj0xnk6e1zw3KVaUUsqKl6lXkdeSt773Oe95Hx2fsz6z + vpq+Ob4f/TT9cvxm/DX9z/jPBmgH5AUsBOoHFgR+CTIJuhi0GmwVXBG8FeIUUheKD/UM + bQ1jCAsO6w3nCY8PH4mQiEiNmIhUj8yNXIoyjyqPhqLdo1timJDD4f1Y0dhjsZNxWnGF + cWv7HPc1xtPHh8XfTxBPSEv4mGiUeGU/er/3/u4DfAcOH5g8qHuwJAlK8krqPiRwKOXQ + dLJx8tXDhMPBhx8ckT2Sc2T5qNPRthTulOSU98eMj1Wl0qRGpT4/rnH84gn0icATD9MU + 0s6n/Ur3Sb+XIZuRl7F50vvkvVNyp/JPbWX6ZT7MUs4qPo09HXZ6NFs7+2oOfU5izvsz + FmeazpLPpp9dzvXIHcxTzLt4jnAu9txE/u78lvOC50+f3ywIKHhWqFdYV8RVlFa0esHn + wuNineLai9wXMy6uXwq89KLEuKSpVLg07zL2ctzlD2WOZQNXVK9UlnOUZ5T/rAirmLhq + e7W3UqWy8hrXtawquCq2arbarXq4xqCmpVaqtqSOpS7jOrgee32u3rN+tMG8obtRtbH2 + htCNopuMN9OboKaEpqXmgOaJFpeWkVaz1u42jbabt6RvVdzmu13YztyedYdwJ+XOVkdi + x0pnROdCl3/X+26P7tc9zj1Pe216H/aZ993tN+rvGdAd6Lireff2oPpg6z3Ve81DykNN + 95Xu33yg9ODmQ+WHTY9UHrUMqw23jewaufNY+3HXE4Mn/U9Nnw49s3w2Muow+uK52/OJ + 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 + PCAvTGVuZ3RoIDU3IDAgUiAvTiAzIC9BbHRlcm5hdGUgL0RldmljZVJHQiAvRmlsdGVy + IC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGFVM9rE0EU/jZuqdAiCFprDrJ4kCJJWato + RdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKh + Fy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvs + TiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkSAog836Epx3QI + 3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeLlNcdB2luZsbI + EL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHhpObEhj0cGDX0 + +GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu+LqHBX0m1xOv + 4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJyPyOrBhuTezJ1 + JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3lK2bmrry4DvF + 5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/EtX5XMlymMFMXj + VfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflPXvXx/GfNxGPi + KTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4vUZ/DPVRlBnM + 0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5zrgIXv9F98LZu + a6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ20NSUtcl12VL + FrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6b8C8/UUKZW5k + c3RyZWFtCmVuZG9iago1NyAwIG9iago3MzcKZW5kb2JqCjggMCBvYmoKWyAvSUNDQmFz + ZWQgNTYgMCBSIF0KZW5kb2JqCjU4IDAgb2JqCjw8IC9MZW5ndGggNTkgMCBSIC9OIDEg + L0FsdGVybmF0ZSAvRGV2aWNlR3JheSAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJl + YW0KeAGFUk9IFFEc/s02EoSIQYV4iHcKCZUprKyg2nZ1WZVtW5XSohhn37qjszPTm9k1 + xZMEXaI8dQ+iY3Ts0KGbl6LArEvXIKkgCDx16PvN7OoohG95O9/7/f1+33tEbZ2m7zsp + QVRzQ5UrpaduTk2Lgx8pRR3UTlimFfjpYnGMseu5kr+719Zn0tiy3se1dvv2PbWVZWAh + 6i22txD6IZFmAB+ZnyhlgLPAHZav2D4BPFgOrBrwI6IDD5q5MNPRnHSlsi2RU+aiKCqv + YjtJrvv5uca+i7WJg/5cj2bWjr2z6qrRTNS090ShvA+uRBnPX1T2bDUUpw3jnEhDGiny + rtXfK0zHEZErEEoGUjVkuZ9qTp114HUYu126k+P49hClPslgqIm16bKZHYV9AHYqy+wQ + 8AXo8bJiD+eBe2H/W1HDk8AnYT9kh3nWrR/2F65T4HuEPTXgzhSuxfHaih9eLQFD91Qj + aIxzTcTT1zlzpIjvMdQZmPdGOaYLMXeWqhM3gDthH1mqZgqxXfuu6iXuewJ30+M70Zs5 + C1ygHElysRXZFNA8CVgUfYuwSQ48Ps4eVeB3qJjAHLmJ3M0o9x7VERtno1KBVnqNV8ZP + 47nxxfhlbBjPgH6sdtd7fP/p4xV117Y+PPmNetw5rr2dG1VhVnFlC93/xzKEj9knOabB + 06FZWGvYduQPmsxMsAwoxH8FPpf6khNV3NXu7bhFEsxQPixsJbpLVG4p1Oo9g0qsHCvY + AHZwksQsWhy4U2u6OXh32CJ6bflNV7Lrhv769nr72vIebcqoKSgTzbNEZpSxW6Pk3Xjb + /WaREZ84Or7nvYpayf5JRRA/hTlaKvIUVfRWUNbEb2cOfhu2flw/pef1Qf08CT2tn9Gv + 6KMRvgx0Sc/Cc1Efo0nwsGkh4hKgioMz1E5UY40D4inx8rRbZJH9D0AZ/WYKZW5kc3Ry + ZWFtCmVuZG9iago1OSAwIG9iago3MDQKZW5kb2JqCjIxIDAgb2JqClsgL0lDQ0Jhc2Vk + IDU4IDAgUiBdCmVuZG9iago0IDAgb2JqCjw8IC9UeXBlIC9QYWdlcyAvTWVkaWFCb3gg + WzAgMCA2MTIgNzkyXSAvQ291bnQgMSAvS2lkcyBbIDMgMCBSIF0gPj4KZW5kb2JqCjYw + IDAgb2JqCjw8IC9UeXBlIC9DYXRhbG9nIC9PdXRsaW5lcyAyIDAgUiAvUGFnZXMgNCAw + IFIgL1ZlcnNpb24gLzEuNCA+PgplbmRvYmoKNDAgMCBvYmoKPDwgL0xlbmd0aCA2MSAw + IFIgL09yZGVyIDEgL0VuY29kZSBbIDAgMTM2NCBdIC9GdW5jdGlvblR5cGUgMCAvQml0 + c1BlclNhbXBsZQo4IC9EZWNvZGUgWyAwIDEgMCAxIDAgMSBdIC9Eb21haW4gWyAwIDEg + XSAvUmFuZ2UgWyAwIDEgMCAxIDAgMSBdIC9TaXplIFsgMTM2NQpdIC9GaWx0ZXIgL0Zs + YXRlRGVjb2RlID4+CnN0cmVhbQp4AXXCh1dTVxwA4D+qWq1W66pWq9VqtVqtVqsQ9gph + BQg7QAgbwgoBQlgBQoAQIAQIYYWw99577w09757zzum77/6+85kvzeb/bbs0o21tl3jT + RRupyXRhaoW3XJjQ1pYLfPN5K2tL8zm1Cdh43kJvbjxnNJ41kzYZz5oa4IazJrTRcIav + P20kNdafGuvgtadGtKH2FK8/aSA16E8MNXDdiQGt153gq4/rWeuqj6lVwMrjOnpt5TGj + 9qiWVK890lfANUd6tEZzhC8/rCHVlR/qyuClhzq0uvQQrz6oJq1SH1SVwFUHVWil6gBf + vF/Jqi3e1xbBC/e19IrCfUblXgWpRrmnKYDn72nQ8vw9fN5uOWlZ3m5ZLjxntwwtzdnF + K3ZKSdWKHXU2XL6jRkvkO/is7RJWVda2KhOesa2iF2dsM8q2ikmLZFtF6XDpVhFaKN3C + p20WkirTNpWp8JRNJVqQsolP3ihgzU/eoCbBJRv5aJ5kA5+4nseam7iemwCPX8+l58Sv + M8at5ZAq4tYUsfCYNQWaHbOGj17NJpVHr8qj4JGrcjQrchUvXslizRSvUCPgopVMNEO0 + gg9fzmCVhS/LwuChyzJ6eugyo3ApnVQqXJKGwIOXpGha8BI+aDGNNDVoMTUQHrCYiqYE + LOL9F1JYk/0XqH5wwUIymiRYwPvOJ7FKfOclPnDveQk90XuekT+XSJrAn0vwgnvOJaDx + nnN4j9l40jiP2Th3uNtsHBrrNovnzcSyxvBmqK5w7kwMGs2dYXSZjiaNcpmOcoY7TUfR + I52mGR2nIknFjlNiB7j9lBiNsJ/C201GkIrsJkW2cJtJERpuM4m3nghnDbOeoFrBORNh + aChngtFyPJRUaDkutIB/GxfSQ76NM34dCyEN/joW/C/8y1gwGvRlDP95NIg08PNo4D/w + T6OBaMCnUfzHkQBW/48j1L/hH0b8Ub8PI4zvh/1IBe+HBX/B3w0L6L7vhhnfDvmS+rwd + 8vkT/mbIB/V+M4R/PehNyn89yP8D/mqQj3q9GsS/HPBi9Xw5QP0d/mLAE/V4McD4vN+D + 1P15v/tv8Gf97qjbs3780z43Ut7TPt6v8Cd9PNT1SR/+ca8rKfdxL/cX+KNeLuryqBf/ + sMeF1flhD/Vn4IMeZ7rTgx7G+91OpI73ux3vwe92O6IOd7vxd7ocSO3vdNn/BL/dZY/a + 3e7C3+q0I7W91Wn7I/xmpy1qc7MTf6PDhtX6Rgf1B+D1Dmu61fUOxmvtVqSca+2c7+FX + 2zmo5dV2/BWzJanFFbPFd8z/AYTen+8KZW5kc3RyZWFtCmVuZG9iago2MSAwIG9iago5 + NzIKZW5kb2JqCjM5IDAgb2JqCjw8IC9MZW5ndGggNjIgMCBSIC9PcmRlciAxIC9FbmNv + ZGUgWyAwIDEzNjQgXSAvRnVuY3Rpb25UeXBlIDAgL0JpdHNQZXJTYW1wbGUKOCAvRGVj + b2RlIFsgMCAxIDAgMSAwIDEgXSAvRG9tYWluIFsgMCAxIF0gL1JhbmdlIFsgMCAxIDAg + MSAwIDEgXSAvU2l6ZSBbIDEzNjUKXSAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJl + YW0KeAF1wodXU1ccAOA/qlqtVuuqVqvVarVarVarEPYKYQUIO0AIG8IKAUJYAUKAECAE + CGGFsPfee+8NPe+e887pu+/+vvOZL83m/227NKNtbZd400Ubqcl0YWqFt1yY0NaWC3zz + eStrS/M5tQnYeN5Cb248ZzSeNZM2Gc+aGuCGsya00XCGrz9tJDXWnxrr4LWnRrSh9hSv + P2kgNehPDDVw3YkBrded4KuP61nrqo+pVcDK4zp6beUxo/aollSvPdJXwDVHerRGc4Qv + P6wh1ZUf6srgpYc6tLr0EK8+qCatUh9UlcBVB1VopeoAX7xfyaot3tcWwQv3tfSKwn1G + 5V4FqUa5pymA5+9p0PL8PXzebjlpWd5uWS48Z7cMLc3ZxSt2SknVih11Nly+o0ZL5Dv4 + rO0SVlXWtioTnrGtohdnbDPKtopJi2RbRelw6VYRWijdwqdtFpIq0zaVqfCUTSVakLKJ + T94oYM1P3qAmwSUb+WieZAOfuJ7Hmpu4npsAj1/PpefErzPGreWQKuLWFLHwmDUFmh2z + ho9ezSaVR6/Ko+CRq3I0K3IVL17JYs0Ur1Aj4KKVTDRDtIIPX85glYUvy8Lgocsyenro + MqNwKZ1UKlyShsCDl6RoWvASPmgxjTQ1aDE1EB6wmIqmBCzi/RdSWJP9F6h+cMFCMpok + WMD7ziexSnznJT5w73kJPdF7npE/l0iawJ9L8IJ7ziWg8Z5zeI/ZeNI4j9k4d7jbbBwa + 6zaL583EssbwZqiucO5MDBrNnWF0mY4mjXKZjnKGO01H0SOdphkdpyJJxY5TYge4/ZQY + jbCfwttNRpCK7CZFtnCbSREabjOJt54IZw2znqBawTkTYWgoZ4LRcjyUVGg5LrSAfxsX + 0kO+jTN+HQshDf46Fvwv/MtYMBr0ZQz/eTSINPDzaOA/8E+jgWjAp1H8x5EAVv+PI9S/ + 4R9G/FG/DyOM74f9SAXvhwV/wd8NC+i+74YZ3w75kvq8HfL5E/5myAf1fjOEfz3oTcp/ + Pcj/A/5qkI96vRrEvxzwYvV8OUD9Hf5iwBP1eDHA+Lzfg9T9eb/7b/Bn/e6o27N+/NM+ + N1Le0z7er/AnfTzU9Ukf/nGvKyn3cS/3F/ijXi7q8qgX/7DHhdX5YQ/1Z+CDHme604Me + xvvdTqSO97sd78HvdjuiDne78Xe6HEjt73TZ/wS/3WWP2t3uwt/qtCO1vdVp+yP8Zqct + anOzE3+jw4bV+kYH9Qfg9Q5rutX1DsZr7VaknGvtnO/hV9s5qOXVdvwVsyWpxRWzxXfM + /wGE3p/vCmVuZHN0cmVhbQplbmRvYmoKNjIgMCBvYmoKOTcyCmVuZG9iagozOCAwIG9i + ago8PCAvTGVuZ3RoIDYzIDAgUiAvT3JkZXIgMSAvRW5jb2RlIFsgMCAxMzY0IF0gL0Z1 + bmN0aW9uVHlwZSAwIC9CaXRzUGVyU2FtcGxlCjggL0RlY29kZSBbIDAgMSAwIDEgMCAx + IF0gL0RvbWFpbiBbIDAgMSBdIC9SYW5nZSBbIDAgMSAwIDEgMCAxIF0gL1NpemUgWyAx + MzY1Cl0gL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBrcJVVkIBAEDB3dqI + RYgdhIKKzbNbAbuxu/d03QIfd84EfwTVLfzinv9BPPeNe/YL98wn7ukPxFPvuCffcOdf + cU+8IB5/xj32hDv3iDv7gHj0HvfIHe7MLe70DeJUBXfyGvfwFe6hS8SDF7gHznH3n+Hu + O0Xce4K75xh39xHirkPciQPcnfu442XEsRLuaBF3ZA93xy7i9h3cbdu4W7dwt2wiDm/g + bl7HHVrD3bSKuHEFd8My7vol3HWLiGsXcNcEVPkf+eqv7AplbmRzdHJlYW0KZW5kb2Jq + CjYzIDAgb2JqCjIwMQplbmRvYmoKMzcgMCBvYmoKPDwgL0xlbmd0aCA2NCAwIFIgL09y + ZGVyIDEgL0VuY29kZSBbIDAgMTM2NCBdIC9GdW5jdGlvblR5cGUgMCAvQml0c1BlclNh + bXBsZQo4IC9EZWNvZGUgWyAwIDEgMCAxIDAgMSBdIC9Eb21haW4gWyAwIDEgXSAvUmFu + Z2UgWyAwIDEgMCAxIDAgMSBdIC9TaXplIFsgMTM2NQpdIC9GaWx0ZXIgL0ZsYXRlRGVj + b2RlID4+CnN0cmVhbQp4AXXCh1dTVxwA4D+qWq1W66pWq9VqtVqtVqsQ9gphBQg7QAgb + wgoBQlgBQoAQIAQIYYWw99577w09757zzum77/6+85kvzeb/bbs0o21tl3jTRRupyXRh + aoW3XJjQ1pYLfPN5K2tL8zm1Cdh43kJvbjxnNJ41kzYZz5oa4IazJrTRcIavP20kNdaf + GuvgtadGtKH2FK8/aSA16E8MNXDdiQGt153gq4/rWeuqj6lVwMrjOnpt5TGj9qiWVK89 + 0lfANUd6tEZzhC8/rCHVlR/qyuClhzq0uvQQrz6oJq1SH1SVwFUHVWil6gBfvF/Jqi3e + 1xbBC/e19IrCfUblXgWpRrmnKYDn72nQ8vw9fN5uOWlZ3m5ZLjxntwwtzdnFK3ZKSdWK + HXU2XL6jRkvkO/is7RJWVda2KhOesa2iF2dsM8q2ikmLZFtF6XDpVhFaKN3Cp20WkirT + NpWp8JRNJVqQsolP3ihgzU/eoCbBJRv5aJ5kA5+4nseam7iemwCPX8+l58SvM8at5ZAq + 4tYUsfCYNQWaHbOGj17NJpVHr8qj4JGrcjQrchUvXslizRSvUCPgopVMNEO0gg9fzmCV + hS/LwuChyzJ6eugyo3ApnVQqXJKGwIOXpGha8BI+aDGNNDVoMTUQHrCYiqYELOL9F1JY + k/0XqH5wwUIymiRYwPvOJ7FKfOclPnDveQk90XuekT+XSJrAn0vwgnvOJaDxnnN4j9l4 + 0jiP2Th3uNtsHBrrNovnzcSyxvBmqK5w7kwMGs2dYXSZjiaNcpmOcoY7TUfRI52mGR2n + IknFjlNiB7j9lBiNsJ/C201GkIrsJkW2cJtJERpuM4m3nghnDbOeoFrBORNhaChngtFy + PJRUaDkutIB/GxfSQ76NM34dCyEN/joW/C/8y1gwGvRlDP95NIg08PNo4D/wT6OBaMCn + UfzHkQBW/48j1L/hH0b8Ub8PI4zvh/1IBe+HBX/B3w0L6L7vhhnfDvmS+rwd8vkT/mbI + B/V+M4R/PehNyn89yP8D/mqQj3q9GsS/HPBi9Xw5QP0d/mLAE/V4McD4vN+D1P15v/tv + 8Gf97qjbs3780z43Ut7TPt6v8Cd9PNT1SR/+ca8rKfdxL/cX+KNeLuryqBf/sMeF1flh + D/Vn4IMeZ7rTgx7G+91OpI73ux3vwe92O6IOd7vxd7ocSO3vdNn/BL/dZY/a3e7C3+q0 + I7W91Wn7I/xmpy1qc7MTf6PDhtX6Rgf1B+D1Dmu61fUOxmvtVqSca+2c7+FX2zmo5dV2 + /BWzJanFFbPFd8z/AYTen+8KZW5kc3RyZWFtCmVuZG9iago2NCAwIG9iago5NzIKZW5k + b2JqCjM2IDAgb2JqCjw8IC9MZW5ndGggNjUgMCBSIC9PcmRlciAxIC9FbmNvZGUgWyAw + IDEzNjQgXSAvRnVuY3Rpb25UeXBlIDAgL0JpdHNQZXJTYW1wbGUKOCAvRGVjb2RlIFsg + MCAxIDAgMSAwIDEgXSAvRG9tYWluIFsgMCAxIF0gL1JhbmdlIFsgMCAxIDAgMSAwIDEg + XSAvU2l6ZSBbIDEzNjUKXSAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGt + wlVWQgEAQMHd2ohFiB2EgorNs1sBu7G793TdAh93zgR/BNUt/OKe/0E894179gv3zCfu + 6Q/EU++4J99w519xT7wgHn/GPfaEO/eIO/uAePQe98gd7swt7vQN4lQFd/Ia9/AV7qFL + xIMXuAfOcfef4e47Rdx7grvnGHf3EeKuQ9yJA9yd+7jjZcSxEu5oEXdkD3fHLuL2Hdxt + 27hbt3C3bCIOb+BuXscdWsPdtIq4cQV3wzLu+iXcdYuIaxdw1wRU+R/56q/sCmVuZHN0 + cmVhbQplbmRvYmoKNjUgMCBvYmoKMjAxCmVuZG9iagozNSAwIG9iago8PCAvTGVuZ3Ro + IDY2IDAgUiAvT3JkZXIgMSAvRW5jb2RlIFsgMCAxMzY0IF0gL0Z1bmN0aW9uVHlwZSAw + IC9CaXRzUGVyU2FtcGxlCjggL0RlY29kZSBbIDAgMSAwIDEgMCAxIF0gL0RvbWFpbiBb + IDAgMSBdIC9SYW5nZSBbIDAgMSAwIDEgMCAxIF0gL1NpemUgWyAxMzY1Cl0gL0ZpbHRl + ciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBdcKHV1NXHADgP6parVbrqlar1Wq1Wq1W + qxD2CmEFCDtACBvCCgFCWAFCgBAgBAhhhbD33nvvDT3vnvPO6bvv/r7zmS/N5v9tuzSj + bW2XeNNFG6nJdGFqhbdcmNDWlgt883kra0vzObUJ2HjeQm9uPGc0njWTNhnPmhrghrMm + tNFwhq8/bSQ11p8a6+C1p0a0ofYUrz9pIDXoTww1cN2JAa3XneCrj+tZ66qPqVXAyuM6 + em3lMaP2qJZUrz3SV8A1R3q0RnOELz+sIdWVH+rK4KWHOrS69BCvPqgmrVIfVJXAVQdV + aKXqAF+8X8mqLd7XFsEL97X0isJ9RuVeBalGuacpgOfvadDy/D183m45aVneblkuPGe3 + DC3N2cUrdkpJ1YoddTZcvqNGS+Q7+KztElZV1rYqE56xraIXZ2wzyraKSYtkW0XpcOlW + EVoo3cKnbRaSKtM2lanwlE0lWpCyiU/eKGDNT96gJsElG/lonmQDn7iex5qbuJ6bAI9f + z6XnxK8zxq3lkCri1hSx8Jg1BZods4aPXs0mlUevyqPgkatyNCtyFS9eyWLNFK9QI+Ci + lUw0Q7SCD1/OYJWFL8vC4KHLMnp66DKjcCmdVCpckobAg5ekaFrwEj5oMY00NWgxNRAe + sJiKpgQs4v0XUliT/ReofnDBQjKaJFjA+84nsUp85yU+cO95CT3Re56RP5dImsCfS/CC + e84loPGec3iP2XjSOI/ZOHe422wcGus2i+fNxLLG8GaornDuTAwazZ1hdJmOJo1ymY5y + hjtNR9EjnaYZHaciScWOU2IHuP2UGI2wn8LbTUaQiuwmRbZwm0kRGm4zibeeCGcNs56g + WsE5E2FoKGeC0XI8lFRoOS60gH8bF9JDvo0zfh0LIQ3+Ohb8L/zLWDAa9GUM/3k0iDTw + 82jgP/BPo4FowKdR/MeRAFb/jyPUv+EfRvxRvw8jjO+H/UgF74cFf8HfDQvovu+GGd8O + +ZL6vB3y+RP+ZsgH9X4zhH896E3Kfz3I/wP+apCPer0axL8c8GL1fDlA/R3+YsAT9Xgx + wPi834PU/Xm/+2/wZ/3uqNuzfvzTPjdS3tM+3q/wJ3081PVJH/5xrysp93Ev9xf4o14u + 6vKoF/+wx4XV+WEP9Wfggx5nutODHsb73U6kjve7He/B73Y7og53u/F3uhxI7e902f8E + v91lj9rd7sLf6rQjtb3Vafsj/GanLWpzsxN/o8OG1fpGB/UH4PUOa7rV9Q7Ga+1WpJxr + 7Zzv4VfbOajl1Xb8FbMlqcUVs8V3zP8BhN6f7wplbmRzdHJlYW0KZW5kb2JqCjY2IDAg + b2JqCjk3MgplbmRvYmoKMzQgMCBvYmoKPDwgL0xlbmd0aCA2NyAwIFIgL09yZGVyIDEg + L0VuY29kZSBbIDAgMTM2NCBdIC9GdW5jdGlvblR5cGUgMCAvQml0c1BlclNhbXBsZQo4 + IC9EZWNvZGUgWyAwIDEgMCAxIDAgMSBdIC9Eb21haW4gWyAwIDEgXSAvUmFuZ2UgWyAw + IDEgMCAxIDAgMSBdIC9TaXplIFsgMTM2NQpdIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+ + CnN0cmVhbQp4AXXCh1dTVxwA4D+qWq1W66pWq9VqtVqtVqsQ9gphBQg7QAgbwgoBQlgB + QoAQIAQIYYWw99577w09757zzum77/6+85kvzeb/bbs0o21tl3jTRRupyXRhaoW3XJjQ + 1pYLfPN5K2tL8zm1Cdh43kJvbjxnNJ41kzYZz5oa4IazJrTRcIavP20kNdafGuvgtadG + tKH2FK8/aSA16E8MNXDdiQGt153gq4/rWeuqj6lVwMrjOnpt5TGj9qiWVK890lfANUd6 + tEZzhC8/rCHVlR/qyuClhzq0uvQQrz6oJq1SH1SVwFUHVWil6gBfvF/Jqi3e1xbBC/e1 + 9IrCfUblXgWpRrmnKYDn72nQ8vw9fN5uOWlZ3m5ZLjxntwwtzdnFK3ZKSdWKHXU2XL6j + RkvkO/is7RJWVda2KhOesa2iF2dsM8q2ikmLZFtF6XDpVhFaKN3Cp20WkirTNpWp8JRN + JVqQsolP3ihgzU/eoCbBJRv5aJ5kA5+4nseam7iemwCPX8+l58SvM8at5ZAq4tYUsfCY + NQWaHbOGj17NJpVHr8qj4JGrcjQrchUvXslizRSvUCPgopVMNEO0gg9fzmCVhS/LwuCh + yzJ6eugyo3ApnVQqXJKGwIOXpGha8BI+aDGNNDVoMTUQHrCYiqYELOL9F1JYk/0XqH5w + wUIymiRYwPvOJ7FKfOclPnDveQk90XuekT+XSJrAn0vwgnvOJaDxnnN4j9l40jiP2Th3 + uNtsHBrrNovnzcSyxvBmqK5w7kwMGs2dYXSZjiaNcpmOcoY7TUfRI52mGR2nIknFjlNi + B7j9lBiNsJ/C201GkIrsJkW2cJtJERpuM4m3nghnDbOeoFrBORNhaChngtFyPJRUaDku + tIB/GxfSQ76NM34dCyEN/joW/C/8y1gwGvRlDP95NIg08PNo4D/wT6OBaMCnUfzHkQBW + /48j1L/hH0b8Ub8PI4zvh/1IBe+HBX/B3w0L6L7vhhnfDvmS+rwd8vkT/mbIB/V+M4R/ + PehNyn89yP8D/mqQj3q9GsS/HPBi9Xw5QP0d/mLAE/V4McD4vN+D1P15v/tv8Gf97qjb + s3780z43Ut7TPt6v8Cd9PNT1SR/+ca8rKfdxL/cX+KNeLuryqBf/sMeF1flhD/Vn4IMe + Z7rTgx7G+91OpI73ux3vwe92O6IOd7vxd7ocSO3vdNn/BL/dZY/a3e7C3+q0I7W91Wn7 + I/xmpy1qc7MTf6PDhtX6Rgf1B+D1Dmu61fUOxmvtVqSca+2c7+FX2zmo5dV2/BWzJanF + FbPFd8z/AYTen+8KZW5kc3RyZWFtCmVuZG9iago2NyAwIG9iago5NzIKZW5kb2JqCjMz + IDAgb2JqCjw8IC9MZW5ndGggNjggMCBSIC9PcmRlciAxIC9FbmNvZGUgWyAwIDEzNjQg + XSAvRnVuY3Rpb25UeXBlIDAgL0JpdHNQZXJTYW1wbGUKOCAvRGVjb2RlIFsgMCAxIDAg + MSAwIDEgXSAvRG9tYWluIFsgMCAxIF0gL1JhbmdlIFsgMCAxIDAgMSAwIDEgXSAvU2l6 + ZSBbIDEzNjUKXSAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGtwlVWQgEA + QMHd2ohFiB2EgorNs1sBu7G793TdAh93zgR/BNUt/OKe/0E894179gv3zCfu6Q/EU++4 + J99w519xT7wgHn/GPfaEO/eIO/uAePQe98gd7swt7vQN4lQFd/Ia9/AV7qFLxIMXuAfO + cfef4e47Rdx7grvnGHf3EeKuQ9yJA9yd+7jjZcSxEu5oEXdkD3fHLuL2Hdxt27hbt3C3 + bCIOb+BuXscdWsPdtIq4cQV3wzLu+iXcdYuIaxdw1wRU+R/56q/sCmVuZHN0cmVhbQpl + bmRvYmoKNjggMCBvYmoKMjAxCmVuZG9iagozMiAwIG9iago8PCAvTGVuZ3RoIDY5IDAg + UiAvT3JkZXIgMSAvRW5jb2RlIFsgMCAxMzY0IF0gL0Z1bmN0aW9uVHlwZSAwIC9CaXRz + UGVyU2FtcGxlCjggL0RlY29kZSBbIDAgMSAwIDEgMCAxIF0gL0RvbWFpbiBbIDAgMSBd + IC9SYW5nZSBbIDAgMSAwIDEgMCAxIF0gL1NpemUgWyAxMzY1Cl0gL0ZpbHRlciAvRmxh + dGVEZWNvZGUgPj4Kc3RyZWFtCngBrcJVVkIBAEDB3dqIRYgdhIKKzbNbAbuxu/d03QIf + d84EfwTVLfzinv9BPPeNe/YL98wn7ukPxFPvuCffcOdfcU+8IB5/xj32hDv3iDv7gHj0 + HvfIHe7MLe70DeJUBXfyGvfwFe6hS8SDF7gHznH3n+HuO0Xce4K75xh39xHirkPciQPc + nfu442XEsRLuaBF3ZA93xy7i9h3cbdu4W7dwt2wiDm/gbl7HHVrD3bSKuHEFd8My7vol + 3HWLiGsXcNcEVPkf+eqv7AplbmRzdHJlYW0KZW5kb2JqCjY5IDAgb2JqCjIwMQplbmRv + YmoKMiAwIG9iago8PCAvTGFzdCA3MCAwIFIgL0ZpcnN0IDcxIDAgUiA+PgplbmRvYmoK + NzEgMCBvYmoKPDwgL1BhcmVudCA3MiAwIFIgL0NvdW50IDAgL0Rlc3QgWyAzIDAgUiAv + WFlaIDAgNTUzIDAgXSAvVGl0bGUgKENhbnZhcyAxKQo+PgplbmRvYmoKNzIgMCBvYmoK + PDwgPj4KZW5kb2JqCjcwIDAgb2JqCjw8IC9QYXJlbnQgNzIgMCBSIC9Db3VudCAwIC9E + ZXN0IFsgMyAwIFIgL1hZWiAwIDU1MyAwIF0gL1RpdGxlIChDYW52YXMgMSkKPj4KZW5k + b2JqCjczIDAgb2JqCjw8IC9MZW5ndGggNzQgMCBSIC9MZW5ndGgxIDgxNDAgL0ZpbHRl + ciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBvVkJeFvVlT73vvf0niRblmTJWixZkmVJ + 3vc1dmzFkRw7iY1jZ7FCQmzHduyQFDcY09AmY9qkEBPMEmKyDSUUTJZCFMeAkpBMSl2W + aQuBDlAoXRgCXQZ/zHQCbZPYmnMlx43zTZl88/FVT+fec+65y7n/Pfe89+7r23RHJ8TC + AHDQuLKttwsiv6QgALGs3djWG5W1n2L+xNr+PntUFlIBuA1dves2RmXpEQCFdd2GzdPt + 47G94kB3Z1tHVA9XMC/uxoKoTAoxT+ne2PeNqKwdw7x0w21rp/XxD6KctLHtG9Pjwwco + 27/WtrEzWj9pJ+Ypvbfd3jctL8bc27upc7o+aUH73gCCpSq4DeRwK4hAQY3XagDx9wor + 8Khlevx1ZCp3rYmr+Bw0UkReU/9AJH/Z8eI7f+m84lE+JP0VC+RX67NcljaVBhBDUD+h + fGhGE2mHiSoEzRkhqEOqQipCysiYZ4QBMgIPIj2OxEEPuQ82I+1A2ovEz3CHUTpJ7hvl + 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 + 8+kRwV25t6vHn9pw50vVPe/9+rNXRPICaVyZu2LFzf6UBGtKcnrd3XteHFrZPTd/QYO3 + Jt0Ub83J9D/ywPn3Hqd/xfUbCH/E/Rr3iwHjwy3eOSHdqzoqj5d0pniTLlV2J/euKEog + qBQgi1UIGBuMotGoTIjNVqTFKM1mkpZgMpnfuhr66tmjAnMvhDcaH6oqGODRZyOiYRsC + 7/BF7GZVgnd4th+KNC5Sas79zos+19gR6ixct+vj5ixyjM+ZLGsqbD208p+p6vKbj81N + X7q3aQf9hZn5XOSHz07T32mj8kyqQk6Hz9zV4MNvAHVwE36BaMJvCstgObREahH8MhF9 + Hpfht1rwr6yvW7wko7ZzQ39nX8/aNqwT1bLKXiT23XcVEjtP/hbSTiR81oQfIL2I9FOk + D5A+RbqCjWPC0z+UYYYnaNNsmT1pX6tfc53MLLlW33Gd3HWdvOE6OfLd/Jrxb7tO33ud + vOk6Gd96Zo1/B5P/B5qZV5MKZW5kc3RyZWFtCmVuZG9iago3NCAwIG9iago1MDkyCmVu + ZG9iago3NSAwIG9iago8PCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL0FzY2VudCA3NzAg + L0NhcEhlaWdodCA3MTcgL0Rlc2NlbnQgLTIzMCAvRmxhZ3MgMzIKL0ZvbnRCQm94IFst + OTUxIC00ODEgMTQ0NSAxMTIyXSAvRm9udE5hbWUgL0VaTUlMUStIZWx2ZXRpY2EgL0l0 + YWxpY0FuZ2xlIDAKL1N0ZW1WIDAgL01heFdpZHRoIDE1MDAgL1hIZWlnaHQgNjM3IC9G + b250RmlsZTIgNzMgMCBSID4+CmVuZG9iago3NiAwIG9iagpbIDU1NiAwIDAgMCAwIDAg + MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDcyMiAw + IDAgMCAwCjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDU1NiAwIDU1NiAwIDAgNTU2IDAg + Mjc4IDAgMCAwIDAgMCAyMjIgODMzIDAgNTU2IDU1NgowIDMzMyA1MDAgMCA1NTYgXQpl + bmRvYmoKMjIgMCBvYmoKPDwgL1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1RydWVUeXBlIC9C + YXNlRm9udCAvRVpNSUxRK0hlbHZldGljYSAvRm9udERlc2NyaXB0b3IKNzUgMCBSIC9X + aWR0aHMgNzYgMCBSIC9GaXJzdENoYXIgNDkgL0xhc3RDaGFyIDExNyAvRW5jb2Rpbmcg + L01hY1JvbWFuRW5jb2RpbmcKPj4KZW5kb2JqCjc3IDAgb2JqCjw8IC9MZW5ndGggNzgg + MCBSIC9MZW5ndGgxIDk0MjggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB + vVp5eFNlun+/szdJs+9NmqRpkqb7QktrCz2UtpSlpbSALVJsC4WyFEstVVS4RWGUogyI + FEQfHcUp2wChVA3ggoqis7jjNvqMzqCjc+117r3odRya3PeclA70mfHhD585J++3L+/7 + +97v/ZaT7q61bRAPvUBD7YKWzqUgP965AKR3cUdLZyxukLxnFvd0u2NxNgWAXrW0c1lH + LC48AKBwLlu1brS+4QKAhmlva1kSy4dL6Be0Y0IsTiagn9ze0X1rLK4fQn/WqpsWj+Yb + nsF4SkfLraP9w8cYd69u6WiLlfdmo5/cedPN3bF40pfoV3V2tY2WJw3I3xtAMNUAN0Ec + rAQeKNDi2wTAf6lwAoO5Uj4+S9KVO2/UlHwLOkGO31j9c9l/xfPMe9+3XQoodwh/w4S4 + y+UlnwtGggAqgvnDyh1jOXI9dAxhqE8Lw3SkUqR8pLS0KVboJQOwHekXSDQsJ1thHdIW + pAeRmLHQQYydJFsHGUE8RdaBncwQlYxrrtHmsiqUrrfDhBt6xPWh9U+niQ1H7zNiG4yH + uCkK8gvyKCwBF/kl+MhtUAUpZO+J4CpXM2YdhE6kXiRadgk5OJiY63qOpIOPIVjHD4kM + ecr155wM1+c5YYoMul4MhBn0XkjEmKhxnXE+4nreucz1HNLhWNahIJZ4ynXQucq1MzFM + 9g667neGCdbZEfPWOrHqU66OYL9rSY6cP6s/TB0edBVh/nxR6Soo9LjynRdcWYGwQDCe + 4ZzlSs35nSsZK2IxNzbqE3Uuh3On6zrMSnRWBK5DOk0OkYcglTw06JvhOoVBFPfE9GBh + f5jcfqIqJccXJreJBVUp/cGqgC84y+ULVgYCGJ7/Kr+Jv4GfwufyaXwK7+c9fAJvFPSC + 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 + Pf7of0hi8THXgCEN/lvEiLOkDMrxC+V0mC1/Ia3Dr57z4HpYiN9Zm7EUwbN37H6Aw/+T + wOx511fOK0uralvV09a9fHGLXAId+ZmLbjNSJ1Iv0nakXyCFkM4gvYn0KdJfpWaRtEhu + pGwkEakWqRmpMzr6AD5jYfz+NS6O9a7KzxkXLxgXv3FcXOL+yvZlrK7ob+m4fOk73pXl + 5f8DXVF+9bj8m8bFO8fFu8bF5f/3XNHeunH5t4+Lr5fi/w+AwrDACmVuZHN0cmVhbQpl + bmRvYmoKNzggMCBvYmoKNjA1OQplbmRvYmoKNzkgMCBvYmoKPDwgL1R5cGUgL0ZvbnRE + ZXNjcmlwdG9yIC9Bc2NlbnQgNzcwIC9DYXBIZWlnaHQgNzE3IC9EZXNjZW50IC0yMzAg + L0ZsYWdzIDMyCi9Gb250QkJveCBbLTk1MSAtNDgxIDE0NDUgMTEyMl0gL0ZvbnROYW1l + IC9PVVdGVUIrSGVsdmV0aWNhIC9JdGFsaWNBbmdsZSAwCi9TdGVtViAwIC9NYXhXaWR0 + aCAxNTAwIC9YSGVpZ2h0IDYzNyAvRm9udEZpbGUyIDc3IDAgUiA+PgplbmRvYmoKODAg + MCBvYmoKWyAyNzggMCAwIDAgNTU2IDU1NiAwIDAgMCAwIDU1NiAwIDAgMCAwIDAgMCAw + IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAowIDAgMCAwIDAgMCAwIDAgMCAwIDAg + MCAwIDAgMCAwIDAgMCAwIDU1NiAwIDU1NiAwIDAgMCA1NTYgMjc4IDAgMCAwIDAgMCAy + MjIKODMzIDU1NiA1NTYgNTU2IDAgMzMzIDAgMjc4IDAgMCAwIDAgNTAwIDAgMzM0IDAg + MzM0IF0KZW5kb2JqCjIwIDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVl + VHlwZSAvQmFzZUZvbnQgL09VV0ZVQitIZWx2ZXRpY2EgL0ZvbnREZXNjcmlwdG9yCjc5 + IDAgUiAvV2lkdGhzIDgwIDAgUiAvRmlyc3RDaGFyIDQ0IC9MYXN0Q2hhciAxMjUgL0Vu + Y29kaW5nIC9NYWNSb21hbkVuY29kaW5nCj4+CmVuZG9iago4MSAwIG9iagooTWFjIE9T + IFggMTAuNi42IFF1YXJ0eiBQREZDb250ZXh0KQplbmRvYmoKODIgMCBvYmoKKEQ6MjAx + MTAzMDcyMzI1MDVaMDAnMDAnKQplbmRvYmoKMSAwIG9iago8PCAvUHJvZHVjZXIgODEg + MCBSIC9DcmVhdGlvbkRhdGUgODIgMCBSIC9Nb2REYXRlIDgyIDAgUiA+PgplbmRvYmoK + eHJlZgowIDgzCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDA4NTA0NCAwMDAwMCBuIAow + MDAwMDcyMTE3IDAwMDAwIG4gCjAwMDAwMDI2ODUgMDAwMDAgbiAKMDAwMDA2NDE3NSAw + MDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAwMDI2NjUgMDAwMDAgbiAKMDAw + MDAwMjc4OSAwMDAwMCBuIAowMDAwMDYzMjc0IDAwMDAwIG4gCjAwMDAwMDgxODQgMDAw + MDAgbiAKMDAwMDAwODk0MyAwMDAwMCBuIAowMDAwMDA3MjQ1IDAwMDAwIG4gCjAwMDAw + MDgxNjQgMDAwMDAgbiAKMDAwMDAwNjMwOCAwMDAwMCBuIAowMDAwMDA3MjI1IDAwMDAw + IG4gCjAwMDAwMDUzNjkgMDAwMDAgbiAKMDAwMDAwNjI4OCAwMDAwMCBuIAowMDAwMDA0 + NDMwIDAwMDAwIG4gCjAwMDAwMDUzNDkgMDAwMDAgbiAKMDAwMDAwMzQyMiAwMDAwMCBu + IAowMDAwMDg0Nzc1IDAwMDAwIG4gCjAwMDAwNjQxMzggMDAwMDAgbiAKMDAwMDA3Nzk4 + NSAwMDAwMCBuIAowMDAwMDAzNzEwIDAwMDAwIG4gCjAwMDAwMDM5OTggMDAwMDAgbiAK + MDAwMDAwMzEzNCAwMDAwMCBuIAowMDAwMDAzODU0IDAwMDAwIG4gCjAwMDAwMDQxNDIg + MDAwMDAgbiAKMDAwMDAwMzI3OCAwMDAwMCBuIAowMDAwMDAzNTY2IDAwMDAwIG4gCjAw + MDAwMDQyODYgMDAwMDAgbiAKMDAwMDA2MjM3NyAwMDAwMCBuIAowMDAwMDcxNjgxIDAw + MDAwIG4gCjAwMDAwNzEyNDUgMDAwMDAgbiAKMDAwMDA3MDAzOCAwMDAwMCBuIAowMDAw + MDY4ODMxIDAwMDAwIG4gCjAwMDAwNjgzOTUgMDAwMDAgbiAKMDAwMDA2NzE4OCAwMDAw + MCBuIAowMDAwMDY2NzUyIDAwMDAwIG4gCjAwMDAwNjU1NDUgMDAwMDAgbiAKMDAwMDA2 + NDMzOCAwMDAwMCBuIAowMDAwMDYxNDgwIDAwMDAwIG4gCjAwMDAwMTg4NTIgMDAwMDAg + biAKMDAwMDAyODcyMSAwMDAwMCBuIAowMDAwMDQ1NTA4IDAwMDAwIG4gCjAwMDAwNTUz + ODUgMDAwMDAgbiAKMDAwMDAyODc0MiAwMDAwMCBuIAowMDAwMDM4NDAwIDAwMDAwIG4g + CjAwMDAwMDg5NjMgMDAwMDAgbiAKMDAwMDAxODgzMSAwMDAwMCBuIAowMDAwMDM4NDIx + IDAwMDAwIG4gCjAwMDAwNDU0ODcgMDAwMDAgbiAKMDAwMDA1NTQwNiAwMDAwMCBuIAow + MDAwMDYxNDU5IDAwMDAwIG4gCjAwMDAwNjE1MTcgMDAwMDAgbiAKMDAwMDA2MjM1NyAw + MDAwMCBuIAowMDAwMDYyNDE0IDAwMDAwIG4gCjAwMDAwNjMyNTQgMDAwMDAgbiAKMDAw + MDA2MzMxMCAwMDAwMCBuIAowMDAwMDY0MTE4IDAwMDAwIG4gCjAwMDAwNjQyNTggMDAw + MDAgbiAKMDAwMDA2NTUyNSAwMDAwMCBuIAowMDAwMDY2NzMyIDAwMDAwIG4gCjAwMDAw + NjcxNjggMDAwMDAgbiAKMDAwMDA2ODM3NSAwMDAwMCBuIAowMDAwMDY4ODExIDAwMDAw + IG4gCjAwMDAwNzAwMTggMDAwMDAgbiAKMDAwMDA3MTIyNSAwMDAwMCBuIAowMDAwMDcx + NjYxIDAwMDAwIG4gCjAwMDAwNzIwOTcgMDAwMDAgbiAKMDAwMDA3MjI4MCAwMDAwMCBu + IAowMDAwMDcyMTY1IDAwMDAwIG4gCjAwMDAwNzIyNTggMDAwMDAgbiAKMDAwMDA3MjM3 + MyAwMDAwMCBuIAowMDAwMDc3NTU1IDAwMDAwIG4gCjAwMDAwNzc1NzYgMDAwMDAgbiAK + MDAwMDA3NzgwMSAwMDAwMCBuIAowMDAwMDc4MTYwIDAwMDAwIG4gCjAwMDAwODQzMDkg + MDAwMDAgbiAKMDAwMDA4NDMzMCAwMDAwMCBuIAowMDAwMDg0NTU1IDAwMDAwIG4gCjAw + MDAwODQ5NTAgMDAwMDAgbiAKMDAwMDA4NTAwMiAwMDAwMCBuIAp0cmFpbGVyCjw8IC9T + aXplIDgzIC9Sb290IDYwIDAgUiAvSW5mbyAxIDAgUiAvSUQgWyA8NzQ2ZTU0MTc2ZTFi + MWRkYzAwOTY3OWRkMWQzZGUwNDM+Cjw3NDZlNTQxNzZlMWIxZGRjMDA5Njc5ZGQxZDNk + ZTA0Mz4gXSA+PgpzdGFydHhyZWYKODUxMTkKJSVFT0YKMSAwIG9iago8PC9BdXRob3Ig + KFZhbmNlIFNoaXBsZXkpL0NyZWF0aW9uRGF0ZSAoRDoyMDExMDEzMDE5NDgwMFopL0Ny + ZWF0b3IgKE9tbmlHcmFmZmxlIFByb2Zlc3Npb25hbCA1LjIuMykvTW9kRGF0ZSAoRDoy + MDExMDMwNzIzMjQwMFopL1Byb2R1Y2VyIDgxIDAgUiAvVGl0bGUgKG1hcF9zdXBlcnZp + c2lvbik+PgplbmRvYmoKeHJlZgoxIDEKMDAwMDA4NjkzNyAwMDAwMCBuIAp0cmFpbGVy + Cjw8L0lEIFs8NzQ2ZTU0MTc2ZTFiMWRkYzAwOTY3OWRkMWQzZGUwNDM+IDw3NDZlNTQx + NzZlMWIxZGRjMDA5Njc5ZGQxZDNkZTA0Mz5dIC9JbmZvIDEgMCBSIC9QcmV2IDg1MTE5 + IC9Sb290IDYwIDAgUiAvU2l6ZSA4Mz4+CnN0YXJ0eHJlZgo4NzEyMwolJUVPRgo= + + QuickLookThumbnail + + TU0AKgAAF8qAP+BP8AQWDQeEQmFQuGQ2HQ+IRGDP6CAB8vyCvp+wUCgOCgePAABgKJSW + TSeUSmVSuWS2XS+FwOKzCaTB0vOCuN4wV2PaCu17wV8xsAPp/QV+RUBSSEP+jgB+08Ax + UC0wEyEIAmChUFQUOg+ChsIQUBAGa2e0Wm1Wu2QWZW22vCggBluKCtV0wV70QCSEB36Q + 0uC3+yWYAAGmYYARSCv2iY6kRioUTGAB9vvG0QC4YUheCjkQwUMA64aXTafUSy36mXMB + twVgt2DYYCATB0zCSLbSK/P68vdyXYBgqxgEAgYAAUDvnLAMJ4t3OGLPePAYQC/DxV+Y + /JdvM9/JwUbB+ClDsYfFaz1ev2TXV+2JMNuQVbtbByHa/eC/nefvAP2f53qgfaSAOBaw + AMBDGnuoJ+AIrR+nsoJ9qefwBK0fzHqI7zwgAfjJKixruqIPYkoKrL4RTFUVoe98WIYS + 5hIKcidv7Gzcr6/QAP4/h9nWZwAHOdJ9IKex1KgBYGAACIUiEAAEnGYYAHAcx8JEjoAA + UE8nAmA8RPBDjIKgp5+xGgo5iG0SwRfNk2vbF03IOYT5gAXBrv9HUcgAAT8P/Gz+Nyfx + 7noqDDHye6fOOrp/n4zCCAKj8lAFDSkO5SrGqey7IoKPolROrs41DUS2ThUaDF8bTYNe + sj9t2wSRH2cqoHvSADggjx/nhQgCgW5ikq6AYCrAAZ+ncxYDyUfZ20I46Nowjx+HadEP + ACCiRAuEbForMUP0uAAbvIAApBigrjVNc90JbUt0oKd6fLocaCmpaYAHuzCRACoJ/qJA + ytMtIjEI8AYCI2AR/uYfZ/tsAYDQge1CH6AclX3IjHI2ft74jCDJM2goVAwz7QgADM13 + Zk2TpPdeUIYesiAAebmXre58O7CqDH6mbZoUgVyoMsr9qYkCCgVSAAAZLwAAbpFzZXpu + nIllWnpbizeJCljLswv6PKWpmpa9r6IajsCJHpsuXnmnAM7Ul0GKCd23gACu5AAA267H + u+77FvCFHxvoAHbwAAAtwbkgLoqYHtxIAHfxnBcJw3D73yV2b1yWsAAdXMgACfOAABHP + rgevRAAePS8cC0dv5yfV1DyuwH92AAHT2ekgaBujAZJT1bLQh5d8AAL+DqvWeJFnXacg + YAHX5e6bsCHnxftCcb7K3OOfrni+y9Xj3Ofp7pwewB9ufZ6WNqm5ArUx6nWbwAG0dEvB + eFYMz3V/tfutfuVMfp5rycw+XbgFH4PJ079WuqjI2OUcqxjalHfRAZ/EESaP6JSzgo44 + R+jsAAOQfo7TLABIwPdg4AB7D/SIQQio/yzFTI8pBSAGx9mkAsPQ5AHALgadSbtURFyC + jpUI8pd7b1jD6W6P4BTqCjFCMkTMAxTGOgAaE3QpgCzkNxAWQUDLt0sxVgk0+ChDhwj8 + WMMIfI2QADjH6Os5JggGsMaTG4g7PCED0H6cweQ/kiDzH6kRRBzB4ACIwB8AxngfAJBU + AAH4CAOnrXsQUaKsn3QeSDD9V5uSRn7ACZgAIBFINMPSQZDjsTFlPlChtSjglQAlfSAA + GkiwAAOX9F1UUXyEirHqNAAAtB7jRAAA8ASkAHgDS8A6NwGQCu3AZHAg0yUvD1j2y+Oo + AB6R4mgkSO5zBwj6JwOyaI55og5AQCkAAlgJBFLUiEAAwU6DGG+W4w0lk/I4N2P8eheR + /gCOQwSAiFCCABRChZBRTiCD9AQ+lYJyExUJlIiBDZkgageIKE0FqeJZIrloAAVI9hsA + AFCPMYIAAKTCAArdL0wTkAbmPFAdhzCOlaAcmUxY+zbD8H8cwfAByzDqV0AAfAFUvD3A + SRgcA+oCDtmpN45g0KauLAyGykYA5YkrjkKQZZBRsxqR3PFPyepOG3KQOp9oAwIARigA + Eo4+x+E+H6PhIg/nxLaJIAEBa1o5UwQ9KehMpkvgACGCcgoRpD0VRVRcJg6xWmLgy5uN + wEaRTBS8BsAztwCDfgIAgCxYyxtbZcPRCTL4BAAHkzQiwGFID1KKlMfZOB2zdmiNCaI4 + wMhmAABwAjJSVjnRqJEYFFEcF+N2npV49hvC4cxDEAACwEqSAIWMEoJSCjeG1B5DJGEL + GeA5K4bo2SdgOAqWAd1WANgjogt1DteVvAxA2QULANbBWDeSSgMw7hcgAHKPscFikvAQ + H1aYd4wkBAZBQ7cAcHGRguBk5se68R1jqI8UN3o7lCAQCSCBKYuU7jtVu4sehzB+guZA + O0AlSZojmAyGhkYBItEsHqzERAu53VeT+bu3pBR/DyHMvUfROx9IMILQWkADizD0Hwo4 + eiAlaPpAiAosw8h6kVfJaAfZzwMAcdReZDqmq7kFBnK69d7UU0XHFAMAAYh2CqbpP4AA + JJ8J7HmQQCA9o7DhtMBkFoJLjsDQ8ohWaVh5KTKKAokkJUrDufCh4CZRx1sJAALsAMBA + FuxHaB4OdZYdEvGsOcgoq5cFQIrPA+7AB8pEAGVMkQCkvMNMaPQoIBQHFgkAhMe5GGIp + eKnaYfQ9K2khH4Phi8r8epKoUeBDJBQyA7IKCV1GXk33vJWObMQlh5pSgxGoCOa5iHIA + cAKYYBGkEOj1HaZ48aljvmfas5lSE91iAAJsCE5gZAHfoXEuYwzZAAGmvQp6+CcQZ0wV + MggAwFljAMBBSEHUBAFAytm0E7R8jyYAAizICDbWpJ2Ues4/CzKMaQBEDgAI5L7IKZ0g + oQbnAAAxbbZWy45FnHOPwnY3h+QaHKP5Yw+IRkH0ApBnJBh7j+MwPUfxkiDEeNsB0AYE + gAAlAKZ4EYBOkHGk+eofZRB0E4AAOiAji0rTSZcTNpj9jDdRlGW4isoiZlOIKAtooEV/ + GjIKBo0jnnI8pTZRfuhph9d5lGUdz6CjTu+gI7lST9u7pu7t4UtL0rQO/Ax414Zp/FeK + Aj5NJ4Cao+Iy/szzBp2qRC725tzptdKnreoADzwB/UJL8o9jzZqfD+tIkPn2Tf3AgK9t + L0B5YOoJxdgUd0pO22+qrJ5by/sC0+v+NHFnngJpNmes550DT/ZHMcBB71CXvJ1k9Z8k + l3yPYIfIx54g/z2tOS966R03wfs+V+L9wkv3qKv8LyOQeRyALASQV552ztwHf9va+m9M + HcxuHuHWKCAYBMBQcEAQgO/cIY/glkIEJ8GyGyg0/6Ns+e+u8wdgSsHIG0vuH0AefSLE + K6+JAaJi80VGHsZcKAIKtEIsKIKGIyKIiIIKAMJDBtBqJCARB0N2AoiuOShAAAHZCGhy + AAAlCOghBMKE9m88k4iqAQrIHoQIKKKI15BkKEMoKeiiijBwc8N2aUIKAmX88IXPAeJU + yGqsqwG+QEvo6zCsRuJC6+MSMM4+TITIKIrqMeKeAQzQA0AaKOBOAuUgBQM8ig9G+MHO + 6yG2g0ABDWIJBYMKJEKYkrDi7CIm7LDu7IW82G48KeAoVABArIAABO2SA4LGRfDMIfBU + IKVQIKGk3w6GT6R0nkI2rMMHBwZ+487KW3CyW8ysTEywTE1GIKBkvSAACKnE7ky8G0SO + AAGAToh9Fmq0VaR1FyNyMOLclJDwO0oYPA2CQ8MkywAsd0CGBMIKBWhwPXFSIU6wIKE6 + GPCwTyt+xlFkRuACfAHAjM1YOQHyHWJwAMbmACAGhCHiMkACOeAQAyvSW4UsyyvKKIrQ + IKAYaKD2U8T27EdWFwGqIKGIvuqzGkR0cNFnEm5oKKHGVSH4AOZBAWjUyGUW6CMWjcAG + AfHMnwI8rsTCrwr0KgMkCsBmy0ogNRHWISEsRkg2HhHkI4aKT0NyKWSsHsHegIAOAcK6 + I6MwQerIAQH4QFCkMwrQNIAUAWNsHsHmIwJmH3Bo24SVJyU2TGr2H0XuEKCex67mckHC + kkEuGIt5HqzwcKxgH8HqSOH/KmOSAGSsYGQUAWAaQUHyYeKgcUoIdQAGnohIH6SUAI1u + ZeH8QUJApnG7IeW8BfHSC0Bs9dBQLQEgF8IKHWtNDgTyT8AKH8LsG6GixuAEH0VkI0OY + AQBcCMc2G4F0AAHEAMfoAWACLAAwBaogHOGMSAHyUEAAZa6QBMB4B6T3J2W4TNHAILLl + LoeKG3GaE8GRJHKST+JCHkGwuIHWH6K6R8g0AMAskOBaBkLAGwGCGmc8ASSsH+BAScAo + Hwl4G0HGSIAEH2J2HsAQwOBUBWohF+lPLgIKBi46ABNJNM5WLUG9EYFAGSZ1PMLJL4AG + YAH+nyirKahM48zWaYlEHwHm6yAE78MMO2OQ3zJxJ0W8asEICcLJAYckjkFQGaLuXoUA + L8Nwt9L3R2xgv3KkAaNIjk6CKCdHIuVwme4wSUMrRqUwTAMkokIKB85KNPKGIYHWh+Ft + I2AAG8WMdTSRI+JEH4VkH2HgJwAKAqfoN8LyAQA0LAH0HgtMOOWGHyOk5s6QOSUkACSI + v2MkAhKDF5G8MkBM2TS5CNB+gkjkGUOkAAGE3qHsMk09TYACHsVSqIMwAEHyg8WqOwAW + AOVkHsHgS8AKAmUgHwHKLySyLGe8K0AIAcJ8H2HyoMAerInQTCMk4kIKCAzsAAB24UaZ + TBNONSHbNaGo0xEbTSHSXeVeMREiRtGxIvE0IQytDzSyLcNEd0BGOeAABfGMyS+SMqGz + GaG3DVKQp4KJGtErQ+ITFzXBF0xpUYQ6jkAOKYBDFFUeY8ZBEkvdQvCVYTYU+PWaZW7y + SJAA/2JM8VAybqi5YWNOd4dwd0JQ+ZYk92ZRTCNO/AdkdogfYsJMcucySOcGdQchYwLW + 9+KK70geJScYQEaoApZ0ZXZENNZW+gQU/67ixUdG8UeCM9ZBZgJZABCGg08aZA/KJSeS + dmLy8FY2cpYaVG+Y9LZaLU+qPQLNCPUHaUJO/OHRbO+E/YJrZUc1a7ZeVHZ6LPYeeUeZ + aPCKLS/Pao9wLA9sVBbIIg/EINbEdCdG+Zbs+27rayPam0QEH+AYLGHdbRaEuOAXUmNK + x2g8HUqMbiAwrIAOdVZgjyOoJEhHZlcPDILafKSOKCQUAqAlaHcTYQRWf6VkHoAUNIAK + 9nZ0WsPWH0LyGWGYLyA0BOvSA1CRaTCUf4g2HWI8n8QFd2ig9Se2H4jUGeGcgIBQBYfp + b7FRcUJOH0UZOihGyaOZfAIwASACUgyUS9fWKgHyMw89afCSRWeWjUH+aKAGAcQU6Aw4 + MWSyADfZgAuOOPIvR4VEIoIIhESJfIhIhGhWSfgIAZgFfQORaaeaOQ9y5QPhbmHSHVaq + suIsWJgaSIANIEc8boaNRec9fSPde8Ms5AG0H4WmG3hkvoH8g8kuIQAYzWjoZc48tAmo + j0SIAgHc6KAefoBeAYPIBMAKdReQLVf4AAGsH2xuG4H6WmHTK2aMHiIIAS7Y48Kqmkmf + XEjuSJh6SWACduBMAIfoBiAMogA0tqNQm4UJhoWmHCH8jUg4WMmSUgjaOQjljPjImofI + MwAwH4NIA4AivSBqAQPIAkOGNQHJi1hi0wHFjyKKx4ADOeSeAnb8IKjojtiCmeYSIIBC + AEM8BaAM47jc46ASl+bC80eSl1I2FqHuGkbi24lejcAazWmYaMjdgeIO2+mllGmsqWmy + m2mjD4K6DWAcB8r5kcbY58AAFeHsGeAAGUH0Nlj/l2ORl6ORl+mSORgemmOZkDmMjOtS + AAHgmim4OYA+AIM8DiAdOtiZXMJYHVeUFMHqqq5gWmsdm8aTl8pFnHGwyCqXiEmhlESI + HimfnaOYHcmeA4AKwoESAhmgl878JYGuH0WmFKHqGUtBMpoCpQSVl+IOja26ILmImmjy + memudJoemiG6H2KCCeAWwODoAbNKLKk+RcECHgF4AAG6H4HIqepKjc2zm+pEtJpOpFX0 + IPpc6vMyHmmoHkmjocOYG5nW3QGkqWGqAsDCAABQANd4Ik6ASID0HeFocWH+gIpIl6jc + pQmRoJnDqgZ5qnjPjPqsmsmiqGqKqPr+IqHKxKSyzWJKG+H2WMD2HhraAJFtriA6pTm7 + h3rvruaRrympr2mfr7nUJwHe12b/sEZiSeAAGeA0DKJUF+HuNkEcHlNUsYUgkE/4zXpV + mBnDl9sQINr0mfqmHKm1pkOY3I+omoFuH2gID8AXNKECAiB+KaIGF6HwOkDmHcFiAABa + pSsZqSmGpEAsHTKQHmHOJIAcAYOQAEH8rJcqgIHYHkJ8HmHjgWAwiuH06NuEcWmoGoqI + AAtcOYEuAgScDQAbJ+JKEIHjHgGNlusUORu3rksesiJEGmSOAC1aAAA+d0HMHGQaT2Q8 + Hyv5BoH6BKOeHwAkI3q0ABq4Jw3Rv6AAGuAuDBrJIAJMDYHbuuG8H2WmAmsWpEA7whtu + AQWWMOHESJc+LNfeLMH6iaZex4H6BCK6Hu62Hw2SHBnW3MSCmjimUIHyA+D0JMKSKOCG + HQE5gGIIAnl0BApSmIS8jaI8AQG2QEHyHcOQA6to9MHUKPxCOfsWSOHgHUUIH1xE6uAM + UIHempysFvv2CAAKZAF+AwC7ugIEEqHmSAE4HoGLuwpSAgzXoC2u5NMGuOAS/4jhYQ6A + MwHPyqcCHmAaUgHtmpog3tv3xYEkAfueDaAdNKJKC2HbraHhTcvwpH02pEsgduASZiAe + AYmR1G53iyUIj0KCHS6qMsAkJIHEyfysHMtamiGeAsC4AABg3gJMCUHSE/GwSJx0vyzW + A5whzVhTqYS8AXMmbOriAUKPrSmh2f2iHaAeIwHh0MxHyxMyHyBBy6JKm8UICUHV3IA0 + zX2mOQBAAMNJ07tvtvssuPlgIP1LmKjsHxKQG2ZgQ93pnZncmj0QgJ0V0Z0d0gH+G5i0 + C0HUFMpAzwpCmGGOl4HcH4LGAZ5uaMAsNCB8B6duGmGeLyHoHaIwMuSIAcB2kPB2faGU + GCg0HeHwYgBuBEZeAiKPxYFGAiCQAAC4AYomJKoyo2EQHhODlUNJriH8GJpF5v5z52AZ + 56AAB8BwduGwGeXiOYI8HaHmUgBECUZAGyFfSAHOAUIIHeHmQKCMkXPWqTv2G+A2DWAB + zRFEIkDeHgF6AAG2HyPn5mpGHvKQHSGAg8AZ6mdSS8AmBvueBOHqTuGuHAMll6hIHqK6 + AsCOrIG0FeSAHl1WcX8Sih8W0Xv2AMYwIt4GJUC2HWFRvwJ388AGGoPmHmHQUgAoHkKC + xQhwBgCkBcIKGPmw/oKEACWMHSAIWyBSBaMwGeGAvuHuAOJ3eYkWHqBwK1xYCFOIAAF6 + Av26+VQuIAu3u2wAk3kwAADwGBQAEQEBgADgHEAc/n8AIgEAADHyAAACQlEI9Hnm/H0A + Hg8ngAHeBQGAHuAo6737J3a/Y655wAHbFwA0QyZYaAwTI6NR6RI4MxgAt3u0wAEwGB4b + D4jE4jFowAI1HI9IIg85rHn/HnS7naAH4DYg8X9M7HN46t328wAPQIFQAvwuXQAAwCAq + Tg489n8+wAd3etgA3X46AAJAKDYTUwADasCHk/Y8BgCAAUCgfH4YALFJwBZQA7Hddnzl + ABbo63H1dp1HWg/pObQULQAkgkR8Jw484H48QAb3asavF4dFKwDgEBAABHn1IZJwaEAk + AAL1NNJtM+pW7HrHnuCn5LLjO9uAGphwAsQkTwASgUJKO//5qqQcZ+JWVB6maABtn4c4 + AAQASXgeqyJJEkb/KMz7Ps2jq3JOeCdnYfiOvW6gZgQEoADyBwboiASqOJFijmmfRzAA + WyngAc5/Hey4BNKkcIP2pMKgBC7Yt0lEOQ8j4BAWAAiAUFYADMBYXr+wMWxY/oAF6fCC + GCfBsNiADzwc6EVtTHykSBIUMyKjp2yOC4CAmAArAWGQACQBIRSrPR7vkV57GkABln0b + wAH6AL1zEq8IrJH4AQsndHI8eKxnefh8NMfrOBKAwNAAMIGBqAAVAMvTBv7CcrP4AB6H + +jp61bQoAIufp/1nWVboul7BLLIDPgSAKGAaAIENAq09WPZFaIvVlXLe1IArKfh/s4zi + Lv9XVIwpBQAohByigQALwWRccWH0f71npZx7n+k5/2hQtarVW7Pwkz7AMFfDQW5FNiAK + AKX3JgLCT4xFWUuxFqWnWNbIvfNVOrf6/gAwQGRUy9h4mAN6T1U+BY9j+QZDkWR5JkuT + ZPlGU5TjuVZbl2X5hmOZZnmmZoCAAA8BAAADAAAAAQBhAAABAQADAAAAAQBAAAABAgAD + AAAABAAAGIQBAwADAAAAAQAFAAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAA + AQABAAABFQADAAAAAQAEAAABFgADAAAAAQBAAAABFwAEAAAAAQAAF8IBHAADAAAAAQAB + AAABPQADAAAAAQACAAABUgADAAAAAQABAAABUwADAAAABAAAGIyHcwAHAAAZ7AAAGJQA + AAAAAAgACAAIAAgAAQABAAEAAQAAGexhcHBsAhAAAG1udHJSR0IgWFlaIAfbAAEACAAS + AAoABmFjc3BBUFBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBw + bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWRl + c2MAAAFQAAAAYmRzY20AAAG0AAACQmNwcnQAAAP4AAAA0Hd0cHQAAATIAAAAFHJYWVoA + AATcAAAAFGdYWVoAAATwAAAAFGJYWVoAAAUEAAAAFHJUUkMAAAUYAAAIDGFhcmcAAA0k + AAAAIHZjZ3QAAA1EAAAGEm5kaW4AABNYAAAGPmNoYWQAABmYAAAALG1tb2QAABnEAAAA + KGJUUkMAAAUYAAAIDGdUUkMAAAUYAAAIDGFhYmcAAA0kAAAAIGFhZ2cAAA0kAAAAIGRl + c2MAAAAAAAAACERpc3BsYXkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbHVj + AAAAAAAAABIAAAAMbmxOTAAAABYAAADoZGFESwAAABwAAAD+cGxQTAAAABIAAAEaZW5V + UwAAABIAAAEsbmJOTwAAABIAAAE+ZnJGUgAAABYAAAFQcHRCUgAAABgAAAFmcHRQVAAA + ABYAAAF+emhDTgAAAAwAAAGUZXNFUwAAABIAAAGgamFKUAAAAA4AAAGycnVSVQAAACQA + AAHAc3ZTRQAAABAAAAHkemhUVwAAAA4AAAH0ZGVERQAAABAAAAICZmlGSQAAABAAAAIS + aXRJVAAAABQAAAIia29LUgAAAAwAAAI2AEsAbABlAHUAcgBlAG4ALQBMAEMARABMAEMA + RAAtAGYAYQByAHYAZQBzAGsA5gByAG0ASwBvAGwAbwByACAATABDAEQAQwBvAGwAbwBy + ACAATABDAEQARgBhAHIAZwBlAC0ATABDAEQATABDAEQAIABjAG8AdQBsAGUAdQByAEwA + QwBEACAAQwBvAGwAbwByAGkAZABvAEwAQwBEACAAYQAgAEMAbwByAGUAc19pgnIAIABM + AEMARABMAEMARAAgAGMAbwBsAG8AcjCrMOkw/AAgAEwAQwBEBCYEMgQ1BEIEPQQ+BDkA + IAQWBBoALQQ0BDgEQQQ/BDsENQQ5AEYA5AByAGcALQBMAEMARF9pgnJtsmZ2mG95OlZo + AEYAYQByAGIALQBMAEMARABWAOQAcgBpAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIA + ac7st+wAIABMAEMARAAAdGV4dAAAAABDb3B5cmlnaHQgQXBwbGUsIEluYy4sIDIwMTEA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAGXb + AAA6RgAACaRYWVogAAAAAAAAaMsAAKyrAAAaoVhZWiAAAAAAAAAoMAAAGQ8AAK7oY3Vy + dgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBj + AGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKMAqACtALIAtwC8AMEAxgDLANAA1QDbAOAA + 5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGD + AYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQC + XQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNm + A3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgE + tgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3 + BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gI + CwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woR + CicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwM + dQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8J + DyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegS + BxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0 + FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y + 1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyj + HMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg + 8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVo + JZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUq + aCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+R + L8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1 + TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zst + O2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpB + rEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhL + SJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lP + k0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3 + V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1f + D19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9 + Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9Fw + K3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkq + eYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC + 9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zK + jTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqX + dZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqIm + opajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUSt + uK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blK + ucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvF + yMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/ + 0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynf + r+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R + 7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7 + d/wH/Jj9Kf26/kv+3P9t//9wYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKwHZj + Z3QAAAAAAAAAAAADAQAAAgAAAAQAEAAoAEsAewC4AQIBUwGxAhwCkQMVA7EEYAUiBfQG + 1gfKCNYJ9wsfDGoNwg8kEJoSIxOsFT8W9BibGlAcDR3NH4ohVSMbJNsmoyhkKiUr3i2I + Lx8wsTJHM981dDcLOKA6NTvAPUY+0EBTQdBDS0TBRjBHm0kDSmZLw00XTm9PuFEEUkxT + j1TPVhJXUliIWcBa9VwhXUxedV+WYLxh3WMBZCFlPmZXZ21ohmmcaq9rwWzPbd9u7m/4 + cQJyDHMZdCV1MnY+d0l4WXlpemt7RnwbfO99xn6if3yAWoE4ghqDAIPohNGFwIaxh6aI + nomaipeLmoybjaKOrY+5kMeR1ZLlk/OU9ZXqltqXzZjBmbWaspuwnK2drp6xn7WgvKHC + osmj0aTWpd6m5qfpqO2p8qr1q/Ss8q3vrvOwD7Ewsk6za7SDtZ62trfLuNu567r7vAm9 + Fb4gvynAMsE+wkrDWMRmxXbGiceeyLTJy8q/y6LMgM1czjjPE8/u0MXRmtJx00XUFtTp + 1bvWjtdi2DTZBdnX2qzbgNxV3SzeBN7V33vgH+DA4WTiCeKw41vkB+Sy5WHmD+a852ro + GOjH6XTqIOrK63fsI+zM7XXuHe7C72vwFPC48Vzx//Kk80rz8fSS9TH1z/Ze9un3V/fC + +Br4YPim+Oz5c/ob+67+I///AAAABAASACwAUgCGAMgBFQFjAb4CJwKhAycDtwRgBSAF + 6gbEB7QIuAnNCuoMIA1oDsMQIxGNEwgUihYdF7sZXRsDHKseVyAOIcEjfCUpJt4okioz + K6stDy5rL8kxLTKPM/U1WTa/OCI5fzrfPD49mj72QFFBpkL6RElFmEbiSCdJb0qrS+lN + I05bT5FQx1H7UyhUVFWAVqNXxljmWgNbIlw7XVlec1+IYJxhrmLBY9Nk42XxZv9oDmkc + aihrNGxBbVJuZW90cIlxmnKyc8t00XW2dpJ3a3hIeSh6CHrqe818sX2bfoR/boBbgUqC + OoMshB6FEoYHhvyH8ojrieSK3YvVjM2Nw466j6qQm5GOkoGTdZRulWeWYJdcmFiZV5pW + m1WcVZ1VnlSfVaBVoVSiU6NVpFOlT6ZNp0moUKl2qqarzqz6rh+vSLBvsZSys7PTtPW2 + FbczuFK5cLqOu7K81r37vyTATsF8wq3D4MUMxhvHFMgHyPrJ78rly9zM0M3Fzr3Ps9Cn + 0ZvSj9OE1HjVadZX10TYM9kf2gra9Nvf3MPdkt5d3yjf9eDD4ZDiXOMp4/bkweWI5k7n + E+fX6JrpWeoX6tbrkOxL7QXtve5x7yXv3vCP8UDx8PKk81j0CvS29WL2D/a791X35/iJ + +Tj5//rt/Av9Z/66/zP/d/+7//8AAAACAAsAGgAxAFAAdwCnAOABHwFhAa0CAQJgAsgD + OwO5BEIE2AV+BjEG6ge4CIwJbApcC1IMTw1VDmIPdxCTEbMS0hP1FRUWOxdaGH0ZnBq6 + G9Mc6x37HwcgFyEpIjojTSRfJW4meieGKJApmSqgK6YsqS2pLqgvpDCgMZUyhjN6NGk1 + VzZENy44FTkAOec6yjuwPJs9iT55P2hAUkE/QihDFUP9ROVFyUatR5NIekldSj9LI0wG + TOlNy06tT5FQdlFfUkZTL1QXVQNV8FbRV6VYdVlBWhBa4FuxXINdVF4lXvlfzGCeYXNi + R2MbY/BkxWWYZm1nQGgWaOtpwWqVa2lsPG0MbdFujG8/b/JwpHFTcgVyt3NndBd0yHV5 + dit23neReEZ4/Hm1enB7K3vpfKt9b34yfvl/woCNgV2CLYL9g82Em4Vthj6HD4fgiLCJ + hIpXiyqL/YzRjaSOe49SkCqRA5HckrmTlZRylU+WM5ccmAiY85nhmtCbwpyynaSem5+T + oIuhhqKEo4aki6WQppWnnKinqbOqv6vNrOCt8a8FsBqxL7JJs2S0g7WitsO35LkMujG7 + WbyCva2+2sAFwS/CW8OKxLPF3ccKyDLJYcqsy/vNQ85/z7rQ7dIk02XUpNXy11fYydpM + 2/Tdv9+44ebkUecj6mzuavN2+ln//wAAbmRpbgAAAAAAAAY2AACVRgAAVs8AAFKpAACR + TgAAKHIAABcKAABQDQAAVDkAAtwoAAKo9QABczMAAwEAAAIAAAAYADIATQBmAH4AlgCu + AMYA3QD0AQwBIgE6AVABaAF/AZcBrgHGAd8B+AIQAigCQgJcAnYCkAKrAsYC4gL/AxsD + OANVA3QDkwOzA9MD8wQVBDcEWgR9BKMEyQTyBRwFRwVzBZ8FzAX5BigGVwaHBrgG6Qcc + B1AHhge9B/QILAhmCKII3gkcCVsJnAnfCiMKaQqwCvkLQwuSC+EMMAyFDNoNMA2JDeQO + QQ6gDv4PYA/GEC0QlBEAEXAR4RJUEs0TRBO/FDwUuRU7Fb8WRxbSF10X6xh9GREZqRpD + Gt4bfRwhHMUdbB4SHrwfZyAVIMUhdCIlIuIjxiSyJaEmiid5KGcpVypEKzAsIC0LLfYu + 4S/KMLMxnDKDM200VTU7NiI3Cjf0ON45yzq+O8c82z3uPwFAGUEpQjlDTURfRXJGhUeY + SK5JxUrdS/tNGU41T15QhVGwUtpUEVVIVoVXxFjmWf9bIFxBXWhelV/AYPBiJmNkZKRl + 5WcraHZpxWsWbG9txW8acHRxy3MmdIB113cweIl543tyfSN+4oClgm6EO4YVh/WJ1YvG + jbiPr5Gmk6GVp5etmbGbuJ3Dn8Oh36SSp1uqGKzTr4CyNLTft5m6VL0Uv9/CvMWQyH7L + cM570XXUkde72t3eA+FJ5Kfohu2W9XX5NPrX++382f2m/qH//wAAABYAMQBLAGYAfgCX + ALAAyADgAPgBEQEpAUEBWQFxAYoBowG9AdYB8AIKAiQCPgJZAnQCkAKsAskC5gMEAyID + QANfA38DngPAA+IEBAQnBEoEbwSWBMAE7wUfBVEFhAW3BesGIAZWBowGxAb8BzYHcQeu + B+wIKghqCKsI7gkxCXYJvQoFCk8KmwroCzYLiAvbDC4MhgzfDTkNlg31DlUOuA8aD4EP + 6xBWEMIRNBGnEhwSlRMQE4sUDBSLFQ4VlRYeFqsXORfIGFsY8BmJGiMavhtcG/4coR1F + Hekejh83H94giyE0Id8iiyNeJD8lKCYOJvQn3ijHKbQqnCuILHYtYy5RL0AwLzEiMhQz + CTQBNPc17zbqN+g46TnuOvQ8BT0YPis/QEBYQWtCgUOaRLFFzEblSAFJH0o/S2FMiE2s + TtZQBFEzUmBTl1TSVgtXTVh4WYRak1urXL5d3F78YBZhOmJgY45kvWXqZxxoUmmKasJs + AW0+bndvs3DwcihzZ3Shddl3EnhLeYV633xiffd/j4Engr+EWIX5h5uJO4rhjI6OPI/t + kaCTV5UZluWYrpp+nFWeMqAOof6kKKZfqJKqxa0Br0Kxg7PQti+4krsCvXnAB8KUxTbH + 3sqSzV/QHtL81ebYxNut3rnhxuTf6I/r2e6c8Ofy1PRz9fj3tP//AAAAJQBPAHgAoADH + AOwBEgE2AVwBgAGlAcsB8QIYAj8CZwKPArkC5AMQAz4DbAOdA84EAgQ3BG4EqATjBSIF + YwWlBegGLQZzBrsHBQdSB6EH8ghFCJsI8wlNCasKCwpuCtQLPAusDBsMjw0GDYAN/g6A + DwIPihAXEKIRLRG5EkcS3BNxFAsUpRVFFegWkRc7F+YYlxlLGgEauht2HDcc+B27Hn0f + RCALINYhnyJrI04kPSU0JionIigdKRwqHSseLCctLi46L0kwWTFwMogzpjTDNeQ3Cjg0 + OWM6mzv3PWk+4EBkQeVDckUBRpZILEnGS19M+k6PUChRvFNLVOBWb1f+WYVbElygXjhf + y2FjYv9koWZAZ+NpimszbOJui3A5ceVzmHVFdvV4qHpdfAR9pH9KgO6CkoQ0hdyHg4kk + isaMa44Nj62RSJLhlH6WHpe7mVWa8ZyOniufwqFhovuklaY2p9KpZ6sFrJmuM6/LsWmy + +LSVtiy3xLlduvS8i74ov8nBZ8MHxKTGT8f5yZ7LTM0Czp3QG9Ge0yrUv9Zn2AjZudtr + 3Q7eruBX4ezjbeTk5lPnuekU6lDrg+yt7cbu0e/U8MbxtfKQ82z0LPTr9Z72SPby94j4 + HPiv+S/5qvok+p77Avtm+8r8LvyH/NH9G/1l/a/9+v5N/rn/Jv+S//8AAHNmMzIAAAAA + AAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsbW1vZAAAAAAAAAYQAACc + hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + FitInWindow + + Frame + {{0, 4}, {1033, 874}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, -26}, {755.159, 605.473}} + Zoom + 1.1891534328460693 + ZoomValues + + + Canvas 1 + 0.0 + 1 + + + + saveQuickLookFiles + YES + + diff --git a/MAP/ebin/map.app b/MAP/ebin/map.app new file mode 100644 index 0000000..022387f --- /dev/null +++ b/MAP/ebin/map.app @@ -0,0 +1,9 @@ +{application, map, + [{description, "Mobile Application Part"}, + {vsn, "0.1"}, + {modules, [map, map_app, map_sup, map_pm_sup, + map_load_fsm, map_dsm_fsm, map_psm_fsm, map_rsm_fsm]}, + {registered, []}, + {applications, [kernel, stdlib, tcap]}, + {env, [{supref, {local, map_sup}}]}, + {mod, {map_app, []}}]}. diff --git a/MAP/src/Makefile b/MAP/src/Makefile new file mode 100644 index 0000000..6484630 --- /dev/null +++ b/MAP/src/Makefile @@ -0,0 +1,36 @@ +## $Id: Makefile,v 1.1 2005/02/13 00:42:12 vances Exp $ + +EBIN = ../ebin + +ERL = erl +ERLC = erlc +EMULATOR = beam +ERLCFLAGS = -b $(EMULATOR) -o $(EBIN) -W -v +warn_unused_vars + +$(EBIN)/%.$(EMULATOR):%.erl + $(ERLC) $(ERLCFLAGS) $< + +BEAMS = $(EBIN)/map.$(EMULATOR) $(EBIN)/map_app.$(EMULATOR) \ + $(EBIN)/map_sup.$(EMULATOR) \ + $(EBIN)/map_pm_sup.$(EMULATOR) + +.PHONY: default +default: all + +.PHONY: all +all: $(BEAMS) gsm ansi + +.PHONY:gsm +gsm: + cd gsm && $(MAKE) + +.PHONY: ansi +ansi: + cd ansi && $(MAKE) + +.PHONY: clean +clean: + - rm -f $(BEAMS) + cd gsm && $(MAKE) $@ + cd ansi && $(MAKE) $@ + diff --git a/MAP/src/gsm/Makefile b/MAP/src/gsm/Makefile new file mode 100644 index 0000000..4d4960c --- /dev/null +++ b/MAP/src/gsm/Makefile @@ -0,0 +1,35 @@ +## $Id: Makefile,v 1.1 2005/02/13 09:45:06 vances Exp $ + +EBIN = ../ebin/itu + +ERL = erl +ERLC = erlc +EMULATOR = beam +ERLCFLAGS = -b $(EMULATOR) -o $(EBIN) -W -v +warn_unused_vars + +$(EBIN)/%.$(EMULATOR):%.erl + $(ERLC) $(ERLCFLAGS) $< + +BEAMS = $(EBIN)/map_dsm_fsm.$(EMULATOR) \ + $(EBIN)/map_load_fsm.$(EMULATOR) + +.PHONY: default +default: all + +.PHONY: all +all: $(BEAMS) gsm ansi + +.PHONY:gsm +gsm: + cd gsm && $(MAKE) + +.PHONY: ansi +ansi: + cd ansi && $(MAKE) + +.PHONY: clean +clean: + - rm -f $(BEAMS) + cd gsm && $(MAKE) $@ + cd ansi && $(MAKE) $@ + diff --git a/MAP/src/gsm/map_dsm_fsm.erl b/MAP/src/gsm/map_dsm_fsm.erl new file mode 100644 index 0000000..f55ab52 --- /dev/null +++ b/MAP/src/gsm/map_dsm_fsm.erl @@ -0,0 +1,684 @@ +%%% $Id: map_dsm_fsm.erl,v 1.2 2005/02/13 09:45:06 vances Exp $ +%%%--------------------------------------------------------------------- +%%% @copyright 2005 Motivity Telecom Inc. +%%% @author Vance Shipley +%%% @end +%%% +%%% Copyright 2005 Motivity Telecom Inc. +%%% +%%% All rights reserved. No part of this computer program(s) may be +%%% used, reproduced, stored in any retrieval system, or transmitted, +%%% in any form or by any means, electronic, mechanical, photocopying, +%%% recording, or otherwise without prior written permission of +%%% Motivity Telecom Inc. +%%%--------------------------------------------------------------------- +%%% +%%% @doc GSM MAP Dialogue State Machine (DSM). +%%% +%%% @reference 3GPP TS 29.02 Figure 15.6/3: Process Secure_MAP_DSM +%%% +-module(map_dsm_fsm). +-copyright('Copyright (c) 2005 Motivity Telecom Inc.'). +-author('vances@motivity.ca'). +-behaviour(gen_fsm). + +%% behaviour modules must export this function +-export([behaviour_info/1]). + +%% export the gen_fsm interface +-export([start/3, start/4, start_link/3, start_link/4, + send_event/2, sync_send_event/2, sync_send_event/3, + send_all_state_event/2, sync_send_all_state_event/2, + sync_send_all_state_event/3, reply/2, send_event_after/2, + start_timer/2, cancel_timer/1]). + +%% export the gen_fsm state handler call backs +-export([statename/2, statename/3]). + +%% export the gen_fsm common call backs +-export([init/1, handle_event/3, handle_sync_event/4, + handle_info/3, terminate/3, code_change/4]). + +%% define what callbacks users must export +%% +%% @hidden +behaviour_info(callbacks) -> + gen_fsm:behaviour_info(callbacks); +behaviour_info(Other) -> + gen_fsm:behaviour_info(Other). + +%% include record definitions for TC service primitives +-include("tcap.hrl"). +%% include record definitions for MAP service primitives +-include("map.hrl"). + +%% StateData record definition +-record(state, {module, ext_statename, ext_statedata + applicaton_context, requests = [], + % @reference 3GPP TS 2902 Figure 15.6/3a: Process Secure_MAP_DSM (sheet 1) DCL + secure_transport_required, components_present, ac_name_unchanged, + encapsulated_ac_name_unchanged, ac_included, ac_supported, + invoke_id_active, last_component, operation_exists, + alternative_name_exists, user_info_included, op_code). + + +%%---------------------------------------------------------------------- +%% The gen_fsm API functions +%%---------------------------------------------------------------------- + +%% @hidden +start(Module, Args, Options) -> + gen_fsm:start(?MODULE, [Module, Args], Options). + +%% @hidden +start(FsmRef, Module, Args, Options) -> + gen_fsm:start(FsmRef, ?MODULE, [Module, Args], Options). + +%% @hidden +start_link(Module, Args, Options) -> + gen_fsm:start_link(?MODULE, [Module, Args], Options). + +%% @hidden +start_link(FsmRef, Module, Args, Options) -> + gen_fsm:start_link(FsmRef, ?MODULE, [Module, Args], Options). + +%% @hidden +send_event(FsmRef, Event) -> + gen_fsm:send_event(FsmRef, Event). + +%% @hidden +sync_send_event(FsmRef, Event) -> + gen_fsm:sync_send_event(FsmRef, Event). + +%% @hidden +sync_send_event(FsmRef, Event, Timeout) -> + gen_fsm:sync_send_event(FsmRef, Event, Timeout). + +%% @hidden +send_all_state_event(FsmRef, Event) -> + gen_fsm:send_all_state_event(FsmRef, Event). + +%% @hidden +sync_send_all_state_event(FsmRef, Event) -> + gen_fsm:sync_send_all_state_event(FsmRef, Event). + +%% @hidden +sync_send_all_state_event(FsmRef, Event, Timeout) -> + gen_fsm:sync_send_all_state_event(FsmRef, Event, Timeout). + +%% @hidden +reply(Caller, Reply) -> + gen_fsm:reply(Caller, Reply). + +%% @hidden +send_event_after(Time, Event) -> + gen_fsm:send_event_after(Time, Event). + +%% @hidden +start_timer(Time, Msg) -> + gen_fsm:start_timer(Time, Msg). + +%% @hidden +cancel_timer(Ref) -> + gen_fsm:cancel_timer(Ref). + + +%%---------------------------------------------------------------------- +%% The gen_fsm call backs +%%---------------------------------------------------------------------- + +%% @hidden +init([Module, Args]) -> + process_flag(trap_exit, true), + % initialize user callback module + case Module:init(Args) of + {ok, ExtStateName, ExtStateData} -> + StateData = #state{module = Module, ext_statename = ExtStateName, ext_statedata = ExtStateData}, + {ok, idle, StateData}; + {ok, ExtStateName, ExtStateData, Timeout} -> + StateData = #state{module = Module, ext_statename = ExtStateName, ext_statedata = ExtStateData}, + {ok, idle, State, Timeout}; + {stop, Reason} -> + {stop, Reason}; + ignore -> + ignore; + Other -> + Other + end. + +%% @spec(Event, StateData) -> Result +%% +%% @doc State handler for the idle state. +%% +%% @hidden +%% +% +% @reference 3GPP TS 29.002 15.2.1 Behaviour at the initiating side +% @reference 3GPP TS 29.002 Figure 15.6/3a: Process_Secure_MAP_DSM (sheet 1) +% +idle({'MAP', 'OPEN', request, Open} = Event, StateData) -> + AC = Open#'MAP-OPEN'.application_context_name, + AC_PDU = Open#'MAP-OPEN'.specific_information), + % secure transport required? -- according to the AC and the identity of responder + case secure_transport_required(AC, AC_PDU) of + % true + true -> + % set AC: Secure_Transport + % build encapsulated AC PDU + NewStateData = build_encapsulated_ac_pdu(AC, AC_PDU)}, + {next_state, wait_for_user_requests, NewStateData#state{secure_transport_required = true}}; + % false + false -> + % store AC and user data + NewStateData = StateData#state{application_context = AC, user_data = AC_PDU}, + {next_state, wait_for_user_requests, StateData#state{secure_transport_required = false}}; + end; +% @reference 3GPP TS 29.002 Figure 15.6/3j: Process_Secure_MAP_DSM (sheet 10) +idle({'TC', 'BEGIN', indication, #'TR-BEGIN'{userInfo = undefined, componentsPresent = true}, StateData) -> + % AC included? (false) + % components present? (true) + {next_state, wait_for_init_data, StateData}; +idle({'TC', 'BEGIN', indication, Begin#'TR-BEGIN'{userInfo = AC}, StateData) -> + % AC included? (true) + % AC version = 1? (true) + % TODO: the rest of it! + {next_state, idle, StateData}; +idle({'TC', 'BEGIN', indication, Parms} = Event, StateData) -> + {next_state, wait_for_load_check_result1, StateData}; +% forward unrecognized events to user callback module +idle(Event, StateData) -> + Module = StateData#state.module, + ExtStateName = State#state.ext_statename, + case Module:StateName(Event, StateData#state.ext_statedata) of + {next_state, NextExtStateName, NewExtStateData} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, idle, NewStateData}; + {next_state, NextExtStateName, NewExtStateData, Timeout} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, idle, NewStateData, Timeout}; + {stop, Reason, NewExtStateData} -> + NewStateData = StateData#state{ext_statedata = NewExtStateData}, + {stop, Reason, NewStateData}; + Other -> + Other + end. + +%% @spec(Event, StateData) -> Result +%% +%% @doc State handler for the wait_for_user_requests state. +%% +%% @hidden +%% +% @reference 3GPP TS 29.002 15.2.1 Behaviour at the initiating side +% @reference 3GPP TS 29.002 Figure 15.6/3b: Process_Secure_MAP_DSM (sheet 2) +wait_for_user_requests({'MAP', 'DELIMITER', request, Parms} = Event, StateData) -> + % TC_BEGIN_req_VIA_TC1 + {next_state, dialogue_initiated, StateData}; +wait_for_user_requests({'MAP', 'U-ABORT', request, Parms} = Event, StateData) -> + % Set_Abort_Reason: User_Specific + % Set_User_Info: MAP_User_Abort_PDU + % TC_U_ABORT_req_VIA_TC1 + % secure transport required? + % true + % Note: To all active SRSSMs + % Terminated_VIA_Intern4 + % false + % Note: To all active RSSMs + % Terminated_VIA_Intern2 + {next_state, idle, StateData}; +% any MAP specific request primitive +wait_for_user_requests({'MAP', MapSpecificRequest, request, Parms} = Event, StateData) -> + % secure transport required? + case StateData#state.secure_transport_required of + % true + % store request + % spawn Secure_Requesting_MAP_SSM + % Service_Invoked_VIA_Intern4 + % false + % spawn Requesting_MAP_SSM + % Service_Invoked_VIA_Intern2 + {next_state, wait_for_user_requests, StateData}; +% forward unrecognized events to user callback module +wait_for_user_requests(Event, StateData) -> + Module = StateData#state.module, + ExtStateName = State#state.ext_statename, + case Module:StateName(Event, StateData#state.ext_statedata) of + {next_state, NextExtStateName, NewExtStateData} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, wait_for_user_requests, NewStateData}; + {next_state, NextExtStateName, NewExtStateData, Timeout} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, wait_for_user_requests, NewStateData, Timeout}; + {stop, Reason, NewExtStateData} -> + NewStateData = StateData#state{ext_statedata = NewExtStateData}, + {stop, Reason, NewStateData}; + Other -> + Other + end. + +%% @spec(Event, StateData) -> Result +%% +%% @doc State handler for the dialogue_initiated state. +%% +%% @hidden +%% +% @reference 3GPP TS 29.002 Figure 15.6/3c: Process_Secure_MAP_DSM (sheet 3) +dialogue_initiated({'TC', 'END', indication, End#'TC-END'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +dialogue_initiated({'TC', 'NOTICE', indication, Notice#'TC-NOTICE'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +% @reference 3GPP TS 29.002 Figure 15.6/3d: Process_Secure_MAP_DSM (sheet 4) +dialogue_initiated({'TC', 'P-ABORT', indication, Abort#'TC-P-ABORT'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +% @reference 3GPP TS 29.002 Figure 15.6/3e: Process_Secure_MAP_DSM (sheet 5) +dialogue_initiated({'TC', 'U-ABORT', indication, Abort#'TC-U-ABORT'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +% @reference 3GPP TS 29.002 Figure 15.6/3e: Process_Secure_MAP_DSM (sheet 5) +% @reference 3GPP TS 29.002 Figure 15.6/3f: Process_Secure_MAP_DSM (sheet 6) +% @reference 3GPP TS 29.002 Figure 15.6/3g: Process_Secure_MAP_DSM (sheet 7) +dialogue_initiated({'TC', 'U-ABORT', indication, Abort#'TC-U-ABORT'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, dialogue_initiated, StateData}; +dialogue_initiated({'TC', 'L-CANCEL', indication, Cancel#'TC-L-CANCEL'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, dialogue_initiated, StateData}; +% @reference 3GPP TS 29.002 Figure 15.6/3h: Process_Secure_MAP_DSM (sheet 8) +dialogue_initiated({'MAP', 'U-ABORT', request, Abort#'MAP-U-ABORT'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +dialogue_initiated({'MAP', 'CLOSE', request, Close#'MAP-CLOSE'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +% @reference 3GPP TS 29.002 Figure 15.6/3i: Process_Secure_MAP_DSM (sheet 9) +dialogue_initiated({'TC', 'CONTINUE', indication, Continue#'TC-Continue'{}} = Event, StateData) -> + % Note: the first one + % TODO: the rest! + {next_state, dialogue_established, StateData}; +% forward unrecognized events to user callback module +dialogue_initiated(Event, StateData) -> + Module = StateData#state.module, + ExtStateName = State#state.ext_statename, + case Module:StateName(Event, StateData#state.ext_statedata) of + {next_state, NextExtStateName, NewExtStateData} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, dialogue_initiated, NewStateData}; + {next_state, NextExtStateName, NewExtStateData, Timeout} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, dialogue_initiated, NewStateData, Timeout}; + {stop, Reason, NewExtStateData} -> + NewStateData = StateData#state{ext_statedata = NewExtStateData}, + {stop, Reason, NewStateData}; + Other -> + Other + end. + +%% @spec(Event, StateData) -> Result +%% +%% @doc State handler for the wait_for_init_data state. +%% +%% @hidden +%% +% @reference 3GPP TS 29.002 Figure 15.6/3k: Process_Secure_MAP_DSM (sheet 11) +wait_for_init_data({'TC', 'INVOKE', indication, Invoke#'TC-INVOKE'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, wait_for_load_check_result2, StateData}; +wait_for_init_data({'TC', 'L-REJECT', indication, Reject#'TC-L-REJECT'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +% any other indication +wait_for_init_data({'TC', _, indication, _} = Event, StateData) -> + % TC_U_ABORT_req_VIA_TC1 + {next_state, idle, StateData}; +% forward unrecognized events to user callback +wait_for_init_data(Event, StateData) -> + Module = StateData#state.module, + ExtStateName = State#state.ext_statename, + case Module:StateName(Event, StateData#state.ext_statedata) of + {next_state, NextExtStateName, NewExtStateData} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, wait_for_init_data, NewStateData}; + {next_state, NextExtStateName, NewExtStateData, Timeout} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, wait_for_init_data, NewStateData, Timeout}; + {stop, Reason, NewExtStateData} -> + NewStateData = StateData#state{ext_statedata = NewExtStateData}, + {stop, Reason, NewStateData}; + Other -> + Other + end. + +%% @spec(Event, StateData) -> Result +%% +%% @doc State handler for the wait_for_load_check_result2 state. +%% +%% @hidden +%% +% @reference 3GPP TS 29.002 Figure 15.6/3k: Process_Secure_MAP_DSM (sheet 11) +wait_for_load_check_result2('Load_OK', StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +wait_for_load_check_result2('Overload', StateData) -> + {next_state, idle, StateData}; +% any other indication +wait_for_load_check_result2({'TC', _, indication, _} = Event, StateData) -> + % TC_U_ABORT_req_VIA_TC1 + {next_state, idle, StateData}; +% forward unrecognized events to user callback module +wait_for_load_check_result2(Event, StateData) -> + Module = StateData#state.module, + ExtStateName = State#state.ext_statename, + case Module:StateName(Event, StateData#state.ext_statedata) of + {next_state, NextExtStateName, NewExtStateData} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, wait_for_load_check_result2, NewStateData}; + {next_state, NextExtStateName, NewExtStateData, Timeout} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, wait_for_load_check_result2, NewStateData, Timeout}; + {stop, Reason, NewExtStateData} -> + NewStateData = StateData#state{ext_statedata = NewExtStateData}, + {stop, Reason, NewStateData}; + Other -> + Other + end. + +%% @spec(Event, StateData) -> Result +%% +%% @doc State handler for the wait_for_load_check_result1 state. +%% +%% @hidden +%% +% @reference 3GPP TS 29.002 Figure 15.6/3l: Process_Secure_MAP_DSM (sheet 12) +wait_for_load_check_result1('Load_OK', StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +wait_for_load_check_result1('Load_OK', StateData) -> + % TODO: the rest! + {next_state, dialogue_pending, StateData}; +wait_for_load_check_result1('Overload', StateData) -> + {next_state, idle, StateData}; +% any other indication +wait_for_load_check_result1({'TC', _, indication, _} = Event, StateData) -> + % TC_U_ABORT_req_VIA_TC1 + {next_state, idle, StateData}; +% forward unrecognized events to user callback module +wait_for_load_check_result1(Event, StateData) -> + Module = StateData#state.module, + ExtStateName = State#state.ext_statename, + case Module:StateName(Event, StateData#state.ext_statedata) of + {next_state, NextExtStateName, NewExtStateData} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, wait_for_load_check_result1, NewStateData}; + {next_state, NextExtStateName, NewExtStateData, Timeout} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, wait_for_load_check_result1, NewStateData, Timeout}; + {stop, Reason, NewExtStateData} -> + NewStateData = StateData#state{ext_statedata = NewExtStateData}, + {stop, Reason, NewStateData}; + Other -> + Other + end. + +%% @spec(Event, StateData) -> Result +%% +%% @doc State handler for the dialogue_pending state. +%% +%% @hidden +%% +% @reference 3GPP TS 29.002 Figure 15.6/3m: Process_Secure_MAP_DSM (sheet 13) +dialogue_pending({'MAP', 'OPEN', response, Open#'MAP-OPEN'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, dialogue_accepted, StateData}; +dialogue_pending({'MAP', 'OPEN', response, Open#'MAP-OPEN'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +dialogue_pending({'MAP', 'U-ABORT', request, Abort#'MAP-U-ABORT'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +% forward unrecognized events to user callback module +dialogue_pending(Event, StateData) -> + Module = StateData#state.module, + ExtStateName = State#state.ext_statename, + case Module:StateName(Event, StateData#state.ext_statedata) of + {next_state, NextExtStateName, NewExtStateData} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, dialogue_pending, NewStateData}; + {next_state, NextExtStateName, NewExtStateData, Timeout} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, dialogue_pending, NewStateData, Timeout}; + {stop, Reason, NewExtStateData} -> + NewStateData = StateData#state{ext_statedata = NewExtStateData}, + {stop, Reason, NewStateData}; + Other -> + Other + end. + +%% @spec(Event, StateData) -> Result +%% +%% @doc State handler for the dialogue_accepted state. +%% +%% @hidden +%% +% @reference 3GPP TS 29.002 Figure 15.6/3n: Process_Secure_MAP_DSM (sheet 14) +dialogue_accepted({'MAP', 'CLOSE', request, Close#'MAP-CLOSE'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +dialogue_accepted({'MAP', 'DELIMITER', request, Delimiter#'MAP-DELIMITER'{}} = Event, StateData) -> + % TC_CONTINUE_req_VIA_TC1 + {next_state, dialogue_established, StateData}; +% any MAP specific request primitive +dialogue_accepted({'MAP', Request, request, Parm} = Event, StateData) -> + % TODO: the rest! + {next_state, dialogue_accepted, StateData}; +% any MAP specific response primitive +dialogue_accepted({'MAP', Response, response, Parm} = Event, StateData) -> + % TODO: the rest! + {next_state, dialogue_accepted, StateData}; +% forward unrecognized events to user callback module +dialogue_accepted(Event, StateData) -> + Module = StateData#state.module, + ExtStateName = State#state.ext_statename, + case Module:StateName(Event, StateData#state.ext_statedata) of + {next_state, NextExtStateName, NewExtStateData} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, dialogue_accepted, NewStateData}; + {next_state, NextExtStateName, NewExtStateData, Timeout} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, dialogue_accepted, NewStateData, Timeout}; + {stop, Reason, NewExtStateData} -> + NewStateData = StateData#state{ext_statedata = NewExtStateData}, + {stop, Reason, NewStateData}; + Other -> + Other + end. + +%% @spec(Event, StateData) -> Result +%% +%% @doc State handler for the dialogue_established state. +%% +%% @hidden +%% +% @reference 3GPP TS 29.002 Figure 15.6/3o: Process_Secure_MAP_DSM (sheet 15) +dialogue_established({'TC', 'L-CANCEL', indication, Cancel#'TC-L-CANCEL'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, dialogue_established, StateData}; +dialogue_established({'TC', 'NOTICE', indication, Notice#'TC-NOTICE'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, dialogue_established, StateData}; +dialogue_established({'TC', 'CONTINUE', indication, Continue#'TC-CONTINUE'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, dialogue_established, StateData}; +dialogue_established({'MAP', 'DELIMITER', request, Delimiter#'MAP-DELIMITER'{}} = Event, StateData) -> + % TC_CONTINUE_req_VIA_TC1 + {next_state, dialogue_established, StateData}; +% @reference 3GPP TS 29.002 Figure 15.6/3p: Process_Secure_MAP_DSM (sheet 16) +dialogue_established({'TC', 'END', indication, End#'TC-END'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +dialogue_established({'MAP', 'CLOSE', request, Close#'MAP-CLOSE'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, dialogue_established, StateData}; +% @reference 3GPP TS 29.002 Figure 15.6/3q: Process_Secure_MAP_DSM (sheet 17) +dialogue_established({'TC', 'U-ABORT', indication, Abort#'TC-U-ABORT'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +dialogue_established({'TC', 'P-ABORT', indication, Abort#'TC-P-ABORT'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +dialogue_established({'TC', 'U-ABORT', request, Abort#'TC-U-ABORT'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, idle, StateData}; +% @reference 3GPP TS 29.002 Figure 15.6/3o: Process_Secure_MAP_DSM (sheet 15) +% any MAP specific request primitive +dialogue_established({'MAP', Request, request, Parm} = Event, StateData) -> + % TODO: the rest! + {next_state, dialogue_established, StateData}; +% any MAP specific response primitive +dialogue_established({'MAP', Response, response, Parm} = Event, StateData) -> + % TODO: the rest! + {next_state, dialogue_established, StateData}; +% forward unrecognized events to user callback module +dialogue_established(Event, StateData) -> + Module = StateData#state.module, + ExtStateName = State#state.ext_statename, + case Module:StateName(Event, StateData#state.ext_statedata) of + {next_state, NextExtStateName, NewExtStateData} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, dialogue_established, NewStateData}; + {next_state, NextExtStateName, NewExtStateData, Timeout} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, dialogue_established, NewStateData, Timeout}; + {stop, Reason, NewExtStateData} -> + NewStateData = StateData#state{ext_statedata = NewExtStateData}, + {stop, Reason, NewStateData}; + Other -> + Other + end. + +%% @spec(Event, StateData) -> Result +%% +%% @doc State handler for the wait_for_components state. +%% +%% @hidden +%% +% @reference 3GPP TS 29.002 Figure 15.6/4a: Procedure Process_Components (sheet 1) +% @reference 3GPP TS 29.002 Figure 15.6/4b: Procedure Process_Components (sheet 2) +wait_for_components({'TC', 'INVOKE', indication, Invoke#'TC-INVOKE'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, wait_for_components, StateData}; +% @reference 3GPP TS 29.002 Figure 15.6/4c: Procedure Process_Components (sheet 3) +wait_for_components({'TC', 'RESULT-L', indication, Result#'TC-RESULT-L'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, wait_for_components, StateData}; +wait_for_components({'TC', 'RESULT-NL', indication, Result#'TC-RESULT-NL'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, wait_for_components, StateData}; +wait_for_components({'TC', 'U-ERROR', indication, Error#'TC-U-ERROR'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, wait_for_components, StateData}; +% @reference 3GPP TS 29.002 Figure 15.6/4d: Procedure Process_Components (sheet 4) +wait_for_components({'TC', 'L-REJECT', indication, Reject#'TC-L-REJECT'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, wait_for_components, StateData}; +wait_for_components({'TC', 'R-REJECT', indication, Reject#'TC-R-REJECT'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, wait_for_components, StateData}; +% @reference 3GPP TS 29.002 Figure 15.6/4e: Procedure Process_Components (sheet 5) +wait_for_components({'TC', 'U-REJECT', indication, Reject#'TC-U-REJECT'{}} = Event, StateData) -> + % TODO: the rest! + {next_state, wait_for_components, StateData}; +% forward unrecognized events to user callback module +wait_for_components(Event, StateData) -> + Module = StateData#state.module, + ExtStateName = State#state.ext_statename, + case Module:StateName(Event, StateData#state.ext_statedata) of + {next_state, NextExtStateName, NewExtStateData} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, wait_for_components, NewStateData}; + {next_state, NextExtStateName, NewExtStateData, Timeout} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, wait_for_components, NewStateData, Timeout}; + {stop, Reason, NewExtStateData} -> + NewStateData = StateData#state{ext_statedata = NewExtStateData}, + {stop, Reason, NewStateData}; + Other -> + Other + end. +%% @hidden +% accept TC service primitives sent with ! or erlang:send/2,3 + handle_info({'TC', _Primitive, indication, _Parms} = Info, StateName, StateData) -> + ?MODULE:StateName(Info, StateData); +% forward unrecognized info to user callback module +handle_info(Event, Statename, StateData) -> + Module = StateData#state.module, + ExtStateName = StateData#state.ext_statename, + ExtStateData = StateData#state.ext_statedata, + case Module:handle_info(Event, ExtStateName, StateData#state.ext_statedata of + {next_state, NextExtStateName, NewExtStateData} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, StateName, NewStateData}; + {next_state, NextExtStateName, NewExtStateData, Timeout} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {next_state, StateName, NewStateData, Timeout}; + {stop, Reason, NewExtStateData} -> + NewStateData = StateData#state{ext_statedata = NewExtStateData}, + {stop, Reason, NewStateData}; + Other -> + Other + end. + +%% @hidden +terminate(Reason, StateName, StateData) -> + Module = StateData#state.module, + ExtStateName = StateData#state.ext_statename, + ExtStateData = StateData#state.ext_statedata, + Module:terminate(Reason, ExtStateName, ExtStateData). + +%% @hidden +code_change(OldVersion, StateName, StateData, Extra) -> + Module = StateData#state.module, + ExtStateName = StateData#state.ext_statename, + ExtStateData = StateData#state.ext_statedata, + case Module:code_change(OldVersion, ExtStateName, ExtStateData, Extra) of + {ok, NextExtStateName, NewExtStateData} -> + NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData}, + {ok, StateName, NewStateData}; + Other -> + Other + end. + + +%%---------------------------------------------------------------------- +%% internal functions +%%---------------------------------------------------------------------- + +%% @spec(Parms, StateData) -> boolean() +%% +%% @doc Check whether secure transport is required. +%% +%% @reference 3GPP TS 29.002 15.2.1 Behaviour at the initiating side +%% @reference 3GPP TS 33.200 +%% +%% @hidden +%% +secure_transport_required(Parms, #state{application_context = 'secureTransportHandlingContext-v3'}) -> + true; +secure_transport_required(Parms, #state{}) -> + false; + +%% @spec(StateData) -> NewStateData +%% +%% @doc Build an encapsulted AC PDU. +%% +%% @reference 3GPP TS 29.002 15.2.1 Behaviour at the initiating side +%% @reference 3GPP TS 33.200 +%% +%% @hidden +%% +build_encapsulated_ac_pdu(StateData) -> + % TODO: Build an encapsulted AC PDU. + StateData. + diff --git a/MAP/src/gsm/map_load_fsm.erl b/MAP/src/gsm/map_load_fsm.erl new file mode 100644 index 0000000..99e56b2 --- /dev/null +++ b/MAP/src/gsm/map_load_fsm.erl @@ -0,0 +1,92 @@ +%%% $Id: map_load_fsm.erl,v 1.1 2005/02/13 09:45:06 vances Exp $ +%%%--------------------------------------------------------------------- +%%% @copyright 2005 Motivity Telecom Inc. +%%% @author Vance Shipley +%%% @end +%%% +%%% Copyright 2005 Motivity Telecom Inc. +%%% +%%% All rights reserved. No part of this computer program(s) may be +%%% used, reproduced, stored in any retrieval system, or transmitted, +%%% in any form or by any means, electronic, mechanical, photocopying, +%%% recording, or otherwise without prior written permission of +%%% Motivity Telecom Inc. +%%%--------------------------------------------------------------------- +%%% +%%% @doc GSM MAP Load Control. +%%% +%%% @private +%%% +%%% @reference 3GPP TS 29.02 Figure 15.6/5: Process Load_Ctrl +%%% +-module(map_dsm_fsm). +-copyright('Copyright (c) 2005 Motivity Telecom Inc.'). +-author('vances@motivity.ca'). +-behaviour(gen_fsm). + +%% export the gen_fsm state handler call backs +-export([idle/2, congested/2]). + +%% export the gen_fsm common call backs +-export([init/1, handle_event/3, handle_sync_event/4, + handle_info/3, terminate/3, code_change/4]). + +%% include record definitions for TC service primitives +-include("tcap.hrl"). +%% include record definitions for MAP service primitives +-include("map.hrl"). + +%% StateData record definition +-record(state, {}). + +%%---------------------------------------------------------------------- +%% The gen_fsm call backs +%%---------------------------------------------------------------------- + +%% @hidden +init(_Args) -> + process_flag(trap_exit, true), + {ok, idle, StateData}. + +%% @spec(Event, StateData) -> Result +%% +%% @doc State handler for the idle state. +%% +%% @hidden +%% +idle({DSM, 'Check_Load', _AC}, StateData) -> + gen_fsm:send_event(DSM, 'Load_OK'), + {next_state, idle, StateData}. + +%% @spec(Event, StateData) -> Result +%% +%% @doc State handler for the congested state. +%% +%% @hidden +%% +congested({DSM, 'Check_Load', AC}, StateData) -> + % AC = Secure_Transport? + % true + % compare encapsulated AC priority with load + % false + % compare AC priority with load + % dialogue acceptable? + % true + gen_fsm:send_event(DSM, 'Load_OK'), + % false + % gen_fsm:send_event(DSM, 'Overload'), + {next_state, congested, StateData}. + +%% @hidden +terminate(_Reason, _StateName, _StateData) -> + ok. + +%% @hidden +code_change(_OldVersion, StateName, StateData, _Extra) -> + {ok, StateName, StateData}. + + +%%---------------------------------------------------------------------- +%% internal functions +%%---------------------------------------------------------------------- + diff --git a/MAP/src/map.erl b/MAP/src/map.erl new file mode 100644 index 0000000..52b004b --- /dev/null +++ b/MAP/src/map.erl @@ -0,0 +1,116 @@ +%%% $Id: map.erl,v 1.1 2005/02/13 00:42:12 vances Exp $ +%%%--------------------------------------------------------------------- +%%% @copyright 2005 Motivity Telecom Inc. +%%% @author Vance Shipley +%%% @end +%%% +%%% Copyright 2005 Motivity Telecom Inc. +%%% +%%% All rights reserved. No part of this computer program(s) may be +%%% used, reproduced, stored in any retrieval system, or transmitted, +%%% in any form or by any means, electronic, mechanical, photocopying, +%%% recording, or otherwise without prior written permission of +%%% Motivity Telecom Inc. +%%%--------------------------------------------------------------------- +%%% +%%% @doc Mobile Application Part +%%%

This module implements the user's API to the MAP protocol +%%% stack application.

+%%% +%%% @reference
MAP User's Guide +%%% + +-module(map). +-copyright('Copyright (c) 2005 Motivity Telecom Inc.'). +-author('vances@motivity.ca'). +-vsn('$Revision: 1.1 $'). + +%% our published API functions +-export([start/0, stop/0]). +-export([open/3, close/1]). +-export([start_dialogue/3]). + + +%% @type map_options(). MAP layer options +%%

A list of one or more of the following tuples.

+%%
+%%
{variant, Variant}
gsm | ansi
+%%
+%% @end + +%%---------------------------------------------------------------------- +%% The API functions +%%---------------------------------------------------------------------- + +%% @spec () -> Result +%% Result = ok | {error, Reason} +%% Reason = term() +%% +%% @equiv application:start(map) +%% +start() -> + application:start(map). + +%% @spec () -> Result +%% Result = ok | {error, Reason} +%% Reason = term() +%% +%% @equiv application:stop(map) +%% +stop() -> + application:stop(map). + +%% @spec (Module::atom(), Args::term(), Options::term()) -> PM +%% Options = [map_options() | GenFsmOptions] +%% GenFsmOptions = list() +%% PM = pid() +%% +%% @doc Start a new MAP layer service access point. +%%

A new MAP protocol machine (PM) is created. The PM is +%% a collection of service state machines (SSM), one per MAP specific +%% service invoked, coordinated by a single dialogue state machine +%% (DSM). There are two types of SSM; requesting service state +%% machines (RSM) and performing service state machines (PSM).

+%% +%%

Module is the name of a +%% map_dsm_fsm +%% behaviour callback module which will provide the TCAP layer +%% adaptation.

+%% +%%

Args has meaning only to the callback module but +%% presumably would identify the specific TCAP service access +%% point (i.e. subsystem number) for this MAP layer.

+%% +%%

Options may include +%% map_options() and gen_fsm +%% options passed to the callback module.

+%% +%%

The callback module will be started with:
+%% gen_fsm:start_link(Module, Args, GenFsmOptions) +%%

+%% +%%

Returns the pid of the DSM.

+%% +%% @see gen_server:start_link/3 +%% +open(Module, Args, Options) -> + {ok, SupRef} = application:get_env(map, supref), + case supervisor:start_child(SupRef, [Module, Args, Options]) of + {ok, Sup} -> + Children = supervisor:which_children(Sup), + {value, {dsm, DSM, _, _}} = lists:keysearch(dsm, 1, Children), + DSM; + {error, Reason} -> + exit(Reason) + end. + +%% @spec (PM::pid()) -> ok +%% +%% @doc Close a MAP service access point. +%% +%%

PM is the pid of a DSM returned in a previous call to +%% open/3.

+%% +close(PM) when is_pid(PM) -> + gen_server:call(PM, close). + diff --git a/MAP/src/map_app.erl b/MAP/src/map_app.erl new file mode 100644 index 0000000..20fb1ec --- /dev/null +++ b/MAP/src/map_app.erl @@ -0,0 +1,80 @@ +%%% $Id: map_app.erl,v 1.1 2005/02/13 00:42:12 vances Exp $ +%%%--------------------------------------------------------------------- +%%% @copyright 2005 Motivity Telecom Inc. +%%% @author Vance Shipley +%%% @end +%%% +%%% Copyright 2005 Motivity Telecom Inc. +%%% +%%% All rights reserved. No part of this computer program(s) may be +%%% used, reproduced, stored in any retrieval system, or transmitted, +%%% in any form or by any means, electronic, mechanical, photocopying, +%%% recording, or otherwise without prior written permission of +%%% Motivity Telecom Inc. +%%%--------------------------------------------------------------------- +%%% +%%% @doc MAP application callback module. +%%% +%%% @reference MAP User's Guide +%%% +%%% @private + +-module(map_app). +-copyright('Copyright (c) 2005 Motivity Telecom Inc.'). +-author('vances@motivity.ca'). +-vsn('$Revision: 1.1 $'). + +%% export application behaviour callbacks +-export([start/2, start_phase/3, prep_stop/1, stop/1, config_change/3]). + + +%% @spec(StartType, StartArgs::term()) -> {ok, Pid} | {ok, Pid, State} | {error, Reason} +%% StartType = normal | {takeover,Node} | {failover,Node} +%% Node = node() +%% Pid = pid() +%% State = term() +%% Reason = term() +%% +%% @equiv //kernel/application:start/3 +%% +start(normal, StartArgs) -> + {ok, SupRef} = application:get_env(supref), + supervisor:start_link(SupRef, map_sup, StartArgs). + +%% @spec(Phase::atom(), StartType, PhaseArgs::term()) -> ok | {error, Reason} +%% StartType = normal | {takeover,Node} | {failover,Node} +%% Node = node() +%% Reason = term() +%% +%% @equiv //kernel/application:start_phase/3 +%% +start_phase(_Phase, _StartType, _PhaseArgs) -> + ok. + +%% @spec(State::term()) -> NewState +%% NewState = term() +%% +%% @equiv //kernel/application:prep_stop/1 +%% +prep_stop(State) -> + State. + +%% @spec(State) -> ok +%% +%% @equiv //kernel/application:stop/1 +%% +stop(_State) -> + ok. + +%% @spec(Changed, New, Removed) -> +%% Changed = [{Par,Val}] +%% New = [{Par,Val}] +%% Removed = [Par] +%% Par = atom() +%% Val = term() +%% +%% @equiv //kernel/application:config_change/3 +%% +config_change(_Changed, _New, _Removed) -> + ok. + diff --git a/MAP/src/map_pm_sup.erl b/MAP/src/map_pm_sup.erl new file mode 100644 index 0000000..1ecf3b1 --- /dev/null +++ b/MAP/src/map_pm_sup.erl @@ -0,0 +1,44 @@ +%%% $Id: map_pm_sup.erl,v 1.1 2005/02/13 00:42:12 vances Exp $ +%%%--------------------------------------------------------------------- +%%% @copyright 2005 Motivity Telecom Inc. +%%% @author Vance Shipley +%%% @end +%%% +%%% Copyright 2005 Motivity Telecom Inc. +%%% +%%% All rights reserved. No part of this computer program(s) may be +%%% used, reproduced, stored in any retrieval system, or transmitted, +%%% in any form or by any means, electronic, mechanical, photocopying, +%%% recording, or otherwise without prior written permission of +%%% Motivity Telecom Inc. +%%%--------------------------------------------------------------------- +%%% +%%% @doc MAP service protocol machine supervisor. +%%% +%%% @reference MAP User's Guide +%%% +%%% @private + +-module(tcap_pm_sup). +-copyright('Copyright (c) 2005 Motivity Telecom Inc.'). +-author('vances@motivity.ca'). +-vsn('$Revision: 1.1 $'). + +-behaviour(supervisor). + +-export([init/1]). + + +%% @spec(StartArgs::term()) -> Result = {ok,{{RestartStrategy,MaxR,MaxT},[ChildSpec]}} | ignore +%% RestartStrategy = one_for_all | one_for_one | rest_for_one | simple_one_for_one +%% MaxR = MaxT = int()>=0 +%% ChildSpec = child_spec() +%% +%% @see supervisor:init/1 +%% +init([Module, Args, Options]) when is_atom(Module), is_list(Args), is_list(Options) -> + StartArgs = [Module, [self()] ++ Args, Options], + StartFunc = {gen_fsm, start_link, StartArgs}, + ChildSpec = {dsm, StartFunc, permanent, 4000, worker, [Module, map_dsm_fsm]}, + {ok,{{one_for_one, 10, 60}, [ChildSpec]}}. + diff --git a/MAP/src/map_sup.erl b/MAP/src/map_sup.erl new file mode 100644 index 0000000..6728ac7 --- /dev/null +++ b/MAP/src/map_sup.erl @@ -0,0 +1,45 @@ +%%% $Id: map_sup.erl,v 1.1 2005/02/13 00:42:12 vances Exp $ +%%%--------------------------------------------------------------------- +%%% @copyright 2005 Motivity Telecom Inc. +%%% @author Vance Shipley +%%% @end +%%% +%%% Copyright 2005 Motivity Telecom Inc. +%%% +%%% All rights reserved. No part of this computer program(s) may be +%%% used, reproduced, stored in any retrieval system, or transmitted, +%%% in any form or by any means, electronic, mechanical, photocopying, +%%% recording, or otherwise without prior written permission of +%%% Motivity Telecom Inc. +%%%--------------------------------------------------------------------- +%%% +%%% @doc MAP application top level supervisor. +%%% +%%% @reference MAP User's Guide +%%% +%%% @private + + +-module(map_sup). +-copyright('Copyright (c) 2005 Motivity Telecom Inc.'). +-author('vances@motivity.ca'). +-vsn('$Revision: 1.1 $'). + +-behaviour(supervisor). + +%% call backs needed for supervisor behaviour +-export([init/1]). + +%% @spec(StartArgs::term()) -> Result = {ok,{{RestartStrategy,MaxR,MaxT},[ChildSpec]}} | ignore +%% RestartStrategy = one_for_all | one_for_one | rest_for_one | simple_one_for_one +%% MaxR = MaxT = int()>=0 +%% ChildSpec = child_spec() +%% +%% @equiv //stdlib/supervisor:init/1 +%% +init(_StartArgs) -> + StartMod = map_pm_sup, + StartFunc = {supervisor, start_link, [StartMod]}, + ChildSpec = {pm_sup, StartFunc, permanent, infinity, supervisor, [StartMod]}, + {ok,{{simple_one_for_one, 10, 60}, ChildSpec}}. +