From 4df0ae0c7de71aae775ba17981666bb76ca87f2b Mon Sep 17 00:00:00 2001 From: MengMengCode Date: Mon, 10 Aug 2026 03:27:43 +0800 Subject: [PATCH] feat: expand device networking and management --- .env.example | 6 + .gitignore | 3 + Dockerfile | 3 + cmd/vocat/develop.go | 24 +- cmd/vocat/main.go | 264 +++++++++- cmd/vocat/traffic.go | 123 +++++ cmd/vocat/traffic_linux.go | 39 ++ cmd/vocat/traffic_other.go | 9 + cmd/vocat/traffic_test.go | 38 ++ deploy/vocat.service | 2 +- docker-compose.yml | 60 +++ go.mod | 1 + go.sum | 2 + internal/developer/settings.go | 107 ++++ internal/developer/settings_test.go | 77 +++ internal/device/carrier_db.go | 44 ++ internal/device/data.go | 203 ++++++- internal/device/data_linux.go | 233 ++++++++- internal/device/data_test.go | 83 ++- internal/device/manager_test.go | 5 +- internal/device/mccmnc.json | 1 + internal/device/registration_linux.go | 36 ++ internal/device/registration_other.go | 13 + internal/device/registration_qmi.go | 80 +++ internal/device/registration_qmi_test.go | 31 ++ internal/device/registration_test.go | 24 + internal/device/scan.go | 25 +- internal/device/scan_test.go | 55 ++ internal/device/snapshot.go | 66 ++- internal/device/types.go | 61 ++- internal/exportproxy/bind_linux.go | 80 +++ internal/exportproxy/bind_other.go | 12 + internal/exportproxy/ipinfo.go | 88 ++++ internal/exportproxy/ipinfo_test.go | 22 + internal/exportproxy/manager.go | 494 ++++++++++++++++++ internal/exportproxy/manager_test.go | 123 +++++ internal/exportproxy/proxy_http.go | 72 +++ internal/exportproxy/proxy_shared.go | 55 ++ internal/exportproxy/proxy_socks.go | 148 ++++++ internal/extensions/manager.go | 9 + internal/httpsmode/listener.go | 106 ++++ internal/httpsmode/manager.go | 259 +++++++++ internal/httpsmode/manager_test.go | 99 ++++ internal/i18n/i18n.go | 1 + internal/server/call_media_api.go | 99 ++++ internal/server/developer_settings.go | 43 ++ internal/server/developer_settings_test.go | 22 + internal/server/device_api.go | 389 +++++++++++--- internal/server/device_features_api.go | 22 +- internal/server/device_features_api_test.go | 230 ++++++++ internal/server/device_summary_test.go | 51 ++ internal/server/export_proxy_api.go | 102 ++++ internal/server/general_api.go | 16 +- internal/server/https_settings.go | 64 +++ internal/server/live_net.go | 177 +++++++ internal/server/live_net_test.go | 143 +++++ internal/server/netif_linux.go | 40 ++ internal/server/netif_other.go | 11 + internal/server/public_ip_api.go | 96 ++++ internal/server/public_ip_api_test.go | 33 ++ internal/server/region_test.go | 4 + internal/server/server.go | 21 +- internal/server/settings_api.go | 86 ++- internal/server/settings_api_test.go | 15 + internal/server/sms_api.go | 9 + internal/server/telegram_bot.go | 9 + internal/store/devices.go | 37 +- internal/store/domain_test.go | 38 +- internal/store/migrations.go | 5 + internal/store/models.go | 1 + internal/store/sms.go | 52 ++ internal/store/sms_reassembly.go | 132 +++++ internal/store/sms_reassembly_test.go | 229 ++++++++ internal/store/store.go | 12 +- internal/vowifi/ims/call_runtime.go | 99 +++- internal/vowifi/ims/call_runtime_test.go | 4 +- internal/vowifi/ims/provider.go | 10 + internal/vowifi/ims/rtp_media.go | 374 +++++++++++++ internal/vowifi/ims/rtp_media_test.go | 55 ++ internal/vowifi/integration/store.go | 13 +- internal/vowifi/integration/store_test.go | 35 ++ internal/vowifi/orchestrator.go | 37 +- internal/vowifi/orchestrator_test.go | 17 + internal/vowifi/runtime/manager.go | 13 + internal/vowifi/types.go | 42 +- scripts/install.sh | 2 +- scripts/update-carriers.py | 169 ++++++ web/public/410.png | Bin 0 -> 1262985 bytes web/public/dj.png | Bin 0 -> 21466 bytes web/src/App.tsx | 2 + web/src/components/DeviceCard.tsx | 14 +- web/src/components/devices/CandidateRow.tsx | 2 + .../components/devices/DeviceAddDialog.tsx | 17 + .../components/devices/DeviceConfigTab.tsx | 13 + .../components/devices/DeviceDetailHeader.tsx | 49 +- .../components/devices/DeviceListItemCard.tsx | 4 +- .../components/devices/DeviceOverviewTab.tsx | 46 +- .../devices/OperatorSelectionDialog.tsx | 27 +- .../devices/OverviewNetworkCard.tsx | 20 +- .../devices/OverviewNetworkPanel.tsx | 91 +++- .../devices/OverviewTrafficChart.tsx | 176 +++++++ web/src/components/devices/shared.ts | 7 +- web/src/components/devices/types.ts | 6 +- .../components/settings/DeviceQuotaCard.tsx | 58 ++ web/src/components/settings/HTTPSCard.tsx | 60 +++ .../components/shell/AuthenticatedShell.tsx | 35 +- web/src/components/ui/Modal.tsx | 8 +- web/src/lib/carrier.ts | 7 +- web/src/lib/deviceTypes.ts | 18 + web/src/lib/i18n-en.ts | 49 +- web/src/lib/mccmnc.json | 2 +- web/src/lib/utils.ts | 8 +- web/src/pages/DevicesPage.tsx | 37 +- web/src/pages/ExportProxyPage.tsx | 244 +++++++++ web/src/pages/ExtensionPage.tsx | 1 + web/src/pages/SettingsPage.tsx | 99 +++- web/src/types.ts | 21 + 117 files changed, 7085 insertions(+), 380 deletions(-) create mode 100644 .env.example create mode 100644 cmd/vocat/traffic.go create mode 100644 cmd/vocat/traffic_linux.go create mode 100644 cmd/vocat/traffic_other.go create mode 100644 cmd/vocat/traffic_test.go create mode 100644 docker-compose.yml create mode 100644 internal/developer/settings.go create mode 100644 internal/developer/settings_test.go create mode 100644 internal/device/carrier_db.go create mode 100644 internal/device/mccmnc.json create mode 100644 internal/device/registration_linux.go create mode 100644 internal/device/registration_other.go create mode 100644 internal/device/registration_qmi.go create mode 100644 internal/device/registration_qmi_test.go create mode 100644 internal/device/registration_test.go create mode 100644 internal/device/scan_test.go create mode 100644 internal/exportproxy/bind_linux.go create mode 100644 internal/exportproxy/bind_other.go create mode 100644 internal/exportproxy/ipinfo.go create mode 100644 internal/exportproxy/ipinfo_test.go create mode 100644 internal/exportproxy/manager.go create mode 100644 internal/exportproxy/manager_test.go create mode 100644 internal/exportproxy/proxy_http.go create mode 100644 internal/exportproxy/proxy_shared.go create mode 100644 internal/exportproxy/proxy_socks.go create mode 100644 internal/httpsmode/listener.go create mode 100644 internal/httpsmode/manager.go create mode 100644 internal/httpsmode/manager_test.go create mode 100644 internal/server/call_media_api.go create mode 100644 internal/server/developer_settings.go create mode 100644 internal/server/developer_settings_test.go create mode 100644 internal/server/device_summary_test.go create mode 100644 internal/server/export_proxy_api.go create mode 100644 internal/server/https_settings.go create mode 100644 internal/server/live_net.go create mode 100644 internal/server/live_net_test.go create mode 100644 internal/server/netif_linux.go create mode 100644 internal/server/netif_other.go create mode 100644 internal/server/public_ip_api.go create mode 100644 internal/server/public_ip_api_test.go create mode 100644 internal/store/sms_reassembly.go create mode 100644 internal/store/sms_reassembly_test.go create mode 100644 internal/vowifi/ims/rtp_media.go create mode 100644 internal/vowifi/ims/rtp_media_test.go create mode 100644 scripts/update-carriers.py create mode 100644 web/public/410.png create mode 100644 web/public/dj.png create mode 100644 web/src/components/devices/OverviewTrafficChart.tsx create mode 100644 web/src/components/settings/DeviceQuotaCard.tsx create mode 100644 web/src/components/settings/HTTPSCard.tsx create mode 100644 web/src/lib/deviceTypes.ts create mode 100644 web/src/pages/ExportProxyPage.tsx diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..f52f6fb --- /dev/null +++ b/.env.example @@ -0,0 +1,6 @@ +# Copy this file to .env and fill in real values before `docker compose up -d`. +# .env is gitignored; .env.example is tracked as a template. + +# Admin password for the web UI. REQUIRED — the server refuses to start safely +# without it once exposed. Pick a strong password. +VOCAT_ADMIN_PASSWORD=change-me-to-a-strong-password diff --git a/.gitignore b/.gitignore index 9f23bf7..39f314a 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,9 @@ vc.jar *.cookies *.session +.env +.env.* +!.env.example # ---- Frontend build products ---- web/dist/ diff --git a/Dockerfile b/Dockerfile index cee8145..a83ee73 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,6 +45,9 @@ RUN mkdir -p /opt/vocat/bin /opt/vocat/data && \ COPY --from=go-builder /out/vocat /opt/vocat/bin/vocat +# Symlink into /usr/local/bin so `docker exec vocat ...` finds it via $PATH. +RUN ln -s /opt/vocat/bin/vocat /usr/local/bin/vocat + USER vocat VOLUME ["/opt/vocat/data"] EXPOSE 7575 diff --git a/cmd/vocat/develop.go b/cmd/vocat/develop.go index 21c7063..61a9b82 100644 --- a/cmd/vocat/develop.go +++ b/cmd/vocat/develop.go @@ -6,11 +6,11 @@ import ( "errors" "fmt" "log/slog" - "os" "strings" "time" "vocat/internal/config" + "vocat/internal/developer" "vocat/internal/store" ) @@ -18,7 +18,7 @@ import ( // plugin/extension system. When absent the developer mode defaults to off, so // a fresh install exposes no plugin surface until an operator explicitly turns // it on with `vocat develop on` and restarts the service. -const developerEnabledSettingKey = "developer.enabled" +const developerEnabledSettingKey = developer.EnabledSettingKey // runDevelop handles the hidden `vocat develop on|off` subcommand. It is // intentionally excluded from printUsage and the interactive menu: the plugin @@ -65,6 +65,11 @@ func runDevelop(args []string, logger *slog.Logger) error { }); err != nil { return fmt.Errorf("persist developer flag: %w", err) } + if !enabled { + if err := developer.ResetExperimental(ctx, database); err != nil { + return fmt.Errorf("reset developer settings: %w", err) + } + } if enabled { fmt.Printf("开发者模式已开启。重启 vocat 服务后插件功能生效。\n数据库:%s\n", cfg.DatabasePath) @@ -91,18 +96,5 @@ func parseDevelopArg(arg string) (bool, bool) { // or an unparseable value resolves to false — the system defaults closed, so // any read failure keeps plugins off rather than exposing them by accident. func isDeveloperEnabled(ctx context.Context, database *store.Store) bool { - setting, err := database.AppSetting(ctx, developerEnabledSettingKey) - if err != nil { - if !errors.Is(err, store.ErrNotFound) { - fmt.Fprintf(os.Stderr, "vocat: read developer flag failed; plugin system stays off: %v\n", err) - } - return false - } - var document struct { - Enabled bool `json:"enabled"` - } - if err := json.Unmarshal(setting.Value, &document); err != nil { - return false - } - return document.Enabled + return developer.Enabled(ctx, database) } diff --git a/cmd/vocat/main.go b/cmd/vocat/main.go index a39976c..0351dfd 100644 --- a/cmd/vocat/main.go +++ b/cmd/vocat/main.go @@ -2,10 +2,12 @@ package main import ( "context" + "crypto/tls" "encoding/json" "errors" "fmt" "log/slog" + "net" "net/http" "os" "os/signal" @@ -18,8 +20,11 @@ import ( "vocat/internal/auth" "vocat/internal/config" + "vocat/internal/developer" "vocat/internal/device" + "vocat/internal/exportproxy" "vocat/internal/extensions" + "vocat/internal/httpsmode" "vocat/internal/loghub" "vocat/internal/server" "vocat/internal/store" @@ -119,16 +124,41 @@ func run(logger *slog.Logger, logs *loghub.Hub) error { return err } defer database.Close() + developerEnabled := isDeveloperEnabled(startupContext, database) + pluginRoot := filepath.Join(filepath.Dir(cfg.DatabasePath), "plugins") + legacyExportProxyConfig := filepath.Join(pluginRoot, exportproxy.ReservedID, "data", "configs.json") + if !developerEnabled { + if err := developer.ResetExperimental(startupContext, database); err != nil { + return fmt.Errorf("reset disabled developer settings: %w", err) + } + if err := exportproxy.RemoveLegacyConfig(legacyExportProxyConfig); err != nil { + return fmt.Errorf("remove legacy export proxy configuration: %w", err) + } + } + httpsManager, err := httpsmode.New( + startupContext, + database, + filepath.Join(filepath.Dir(cfg.DatabasePath), "tls"), + cfg.Address, + ) + if err != nil { + return fmt.Errorf("configure self-signed HTTPS: %w", err) + } // The plugin/extension system is gated behind a hidden developer-mode flag. // When off (the default) the manager is never created and the server receives // a nil Extensions handle, so every /extensions* and /plugin-assets/* route // returns 503/404 and the SPA hides the plugin surface. - developerEnabled := isDeveloperEnabled(startupContext, database) var extensionManager *extensions.Manager + var exportProxyManager *exportproxy.Manager if developerEnabled { + exportProxyManager, err = exportproxy.New(startupContext, database, logger, legacyExportProxyConfig) + if err != nil { + return fmt.Errorf("create built-in export proxy: %w", err) + } + defer exportProxyManager.Close() extensionManager, err = extensions.NewManager( - filepath.Join(filepath.Dir(cfg.DatabasePath), "plugins"), + pluginRoot, logger, ) if err != nil { @@ -163,6 +193,7 @@ func run(logger *slog.Logger, logs *loghub.Hub) error { if err := provisionDiscoveredDevices(startupContext, database, deviceManager); err != nil { logger.Warn("automatic first-run device provisioning failed", "error", err) } + restoreDefaultCellularRadios(startupContext, logger, database, deviceManager) defer func() { stopContext, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() @@ -173,7 +204,14 @@ func run(logger *slog.Logger, logs *loghub.Hub) error { pollContext, cancelPolling := context.WithCancel(context.Background()) defer cancelPolling() go pollDeviceSnapshots(pollContext, logger, database, deviceManager) + go restoreConfiguredCellularData(pollContext, logger, database, deviceManager) + go collectCellularTraffic(pollContext, logger, database) go persistLogsToStore(pollContext, logger, logs, database) + if !developerEnabled { + go disableAllDeveloperCellularData(pollContext, logger, database, deviceManager) + } else { + go watchDeveloperDisable(pollContext, logger, database, deviceManager, exportProxyManager, legacyExportProxyConfig) + } vowifiManager, err := configureVoWiFiRuntime( startupContext, @@ -203,9 +241,11 @@ func run(logger *slog.Logger, logs *loghub.Hub) error { SecureCookies: cfg.SecureCookies, MaxRequestBodyBytes: cfg.MaxRequestBodyBytes, Extensions: extensionManager, + ExportProxy: exportProxyManager, DeveloperEnabled: developerEnabled, UpdateRepository: strings.TrimSpace(os.Getenv("VOCAT_REPO")), UpdateToken: strings.TrimSpace(os.Getenv("GITHUB_TOKEN")), + HTTPS: httpsManager, }) if err != nil { return err @@ -215,15 +255,35 @@ func run(logger *slog.Logger, logs *loghub.Hub) error { handler.StartTelegramBot(pollContext) handler.StartSMSNotificationDispatchers(pollContext) - httpServer := &http.Server{ - Addr: cfg.Address, - Handler: handler, - ReadHeaderTimeout: 5 * time.Second, - ReadTimeout: 15 * time.Second, - WriteTimeout: 30 * time.Second, - IdleTimeout: 90 * time.Second, - MaxHeaderBytes: 1 << 20, + serverConfig := func(handler http.Handler) *http.Server { + return &http.Server{ + Addr: cfg.Address, + Handler: handler, + ReadHeaderTimeout: 5 * time.Second, + ReadTimeout: 15 * time.Second, + WriteTimeout: 30 * time.Second, + IdleTimeout: 90 * time.Second, + MaxHeaderBytes: 1 << 20, + } } + plainHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if httpsManager.Enabled() { + host := strings.TrimSpace(r.Host) + if host == "" { + host = cfg.Address + } + http.Redirect(w, r, "https://"+host+r.URL.RequestURI(), http.StatusPermanentRedirect) + return + } + handler.ServeHTTP(w, r) + }) + plainServer := serverConfig(plainHandler) + tlsServer := serverConfig(handler) + baseListener, err := net.Listen("tcp", cfg.Address) + if err != nil { + return fmt.Errorf("listen on %s: %w", cfg.Address, err) + } + protocolMux := httpsmode.NewMultiplexer(baseListener, httpsManager) signalContext, stopSignals := signal.NotifyContext( context.Background(), @@ -232,10 +292,17 @@ func run(logger *slog.Logger, logs *loghub.Hub) error { ) defer stopSignals() - serverError := make(chan error, 1) + serverError := make(chan error, 2) go func() { - logger.Info("HTTP server listening", "address", cfg.Address) - err := httpServer.ListenAndServe() + logger.Info("HTTP server listening", "address", cfg.Address, "self_signed_https", httpsManager.Enabled()) + err := plainServer.Serve(protocolMux.Plain()) + if errors.Is(err, http.ErrServerClosed) { + err = nil + } + serverError <- err + }() + go func() { + err := tlsServer.Serve(tls.NewListener(protocolMux.TLS(), httpsManager.TLSConfig())) if errors.Is(err, http.ErrServerClosed) { err = nil } @@ -244,6 +311,7 @@ func run(logger *slog.Logger, logs *loghub.Hub) error { select { case err := <-serverError: + _ = protocolMux.Close() return err case <-signalContext.Done(): logger.Info("shutdown signal received") @@ -258,11 +326,161 @@ func run(logger *slog.Logger, logs *loghub.Hub) error { cfg.ShutdownTimeout, ) defer cancelShutdown() - if err := httpServer.Shutdown(shutdownContext); err != nil { - _ = httpServer.Close() - return fmt.Errorf("graceful HTTP shutdown: %w", err) + shutdownErrors := make(chan error, 2) + go func() { shutdownErrors <- plainServer.Shutdown(shutdownContext) }() + go func() { shutdownErrors <- tlsServer.Shutdown(shutdownContext) }() + time.Sleep(10 * time.Millisecond) + _ = protocolMux.Close() + for range 2 { + if err := <-shutdownErrors; err != nil { + _ = plainServer.Close() + _ = tlsServer.Close() + return fmt.Errorf("graceful HTTP shutdown: %w", err) + } + } + return nil +} + +// restoreDefaultCellularRadios repairs an interrupted VoWiFi teardown. CFUN=4 +// survives process restarts, while the in-memory radio checkpoint does not. If +// VoWiFi is disabled and the current SIM has no explicit airplane policy, the +// automatic/default policy is cellular service and the modem must return to +// CFUN=1. +func restoreDefaultCellularRadios( + ctx context.Context, + logger *slog.Logger, + database *store.Store, + manager *device.Manager, +) { + configs, err := database.ListDevices(ctx) + if err != nil { + logger.Warn("startup cellular recovery: list devices", "error", err) + return + } + mapper := integration.ATMapper{Store: database, Devices: manager} + for _, config := range configs { + if config.VoWiFiEnabled { + continue + } + entry, err := mapper.Get(config.ID) + if err != nil || entry.Snapshot == nil || !entry.Snapshot.FlightMode { + continue + } + iccid := strings.TrimSpace(entry.Snapshot.ICCID) + if iccid != "" { + policy, policyErr := database.CardPolicy(ctx, iccid) + switch { + case policyErr == nil && policy.AirplaneEnabled: + continue + case policyErr != nil && !errors.Is(policyErr, store.ErrNotFound): + logger.Warn("startup cellular recovery: read card policy", "device_id", config.ID, "error", policyErr) + continue + } + } + restoreContext, cancel := context.WithTimeout(ctx, 10*time.Second) + _, err = manager.SetFlight(restoreContext, entry.ID, false) + cancel() + if err != nil { + logger.Warn("startup cellular recovery failed", "device_id", config.ID, "error", err) + continue + } + logger.Info("restored cellular radio after disabled VoWiFi", "device_id", config.ID, "iccid", iccid) + } +} + +func restoreConfiguredCellularData( + ctx context.Context, + logger *slog.Logger, + database *store.Store, + manager *device.Manager, +) { + configs, err := database.ListDevices(ctx) + if err != nil { + logger.Warn("startup cellular data recovery: list devices", "error", err) + return + } + mapper := integration.ATMapper{Store: database, Devices: manager} + for _, config := range configs { + if !config.NetworkEnabled || config.VoWiFiEnabled { + continue + } + entry, err := mapper.Get(config.ID) + if err != nil { + continue + } + dataContext, cancel := context.WithTimeout(ctx, 60*time.Second) + _, err = manager.SetNetwork(dataContext, entry.ID, device.NetworkRequest{ + Enabled: true, APN: config.APN, IPVersion: "IPV4V6", + }) + cancel() + if err != nil { + logger.Warn("startup cellular data recovery failed", "device_id", config.ID, "error", err) + continue + } + logger.Info("restored protected cellular data route", "device_id", config.ID, "interface", config.Interface) + } +} + +func disableAllDeveloperCellularData( + ctx context.Context, + logger *slog.Logger, + database *store.Store, + manager *device.Manager, +) { + configs, err := database.ListDevices(ctx) + if err != nil { + logger.Warn("developer cleanup: list devices", "error", err) + return + } + mapper := integration.ATMapper{Store: database, Devices: manager} + for _, config := range configs { + entry, err := mapper.Get(config.ID) + if err != nil { + continue + } + disableContext, cancel := context.WithTimeout(ctx, 30*time.Second) + _, err = manager.SetNetwork(disableContext, entry.ID, device.NetworkRequest{Enabled: false}) + cancel() + if err != nil && ctx.Err() == nil { + logger.Warn("developer cleanup: stop cellular data", "device_id", config.ID, "error", err) + } + } +} + +func watchDeveloperDisable( + ctx context.Context, + logger *slog.Logger, + database *store.Store, + manager *device.Manager, + exportProxy *exportproxy.Manager, + legacyConfigPath string, +) { + ticker := time.NewTicker(2 * time.Second) + defer ticker.Stop() + for { + select { + case <-ctx.Done(): + return + case <-ticker.C: + if developer.Enabled(ctx, database) { + continue + } + if exportProxy != nil { + if err := exportProxy.DeleteAllAndDisable(ctx); err != nil && ctx.Err() == nil { + logger.Warn("developer cleanup: delete export proxies", "error", err) + } + } + if err := exportproxy.RemoveLegacyConfig(legacyConfigPath); err != nil { + logger.Warn("developer cleanup: remove legacy export proxy configuration", "error", err) + } + if err := developer.ResetExperimental(ctx, database); err != nil && ctx.Err() == nil { + logger.Warn("developer cleanup: reset settings", "error", err) + } + disableAllDeveloperCellularData(ctx, logger, database, manager) + logger.Info("developer mode disabled; roaming data and export proxies were removed") + return + } } - return <-serverError } func configureVoWiFiRuntime( @@ -355,8 +573,18 @@ func newVoWiFiOrchestrator( if message.Concat != nil && message.Concat.Total > 0 { partsTotal = message.Concat.Total } + messageID := message.MessageID + if message.Concat != nil && message.Concat.Total > 1 { + // A segment of a carrier-split long SMS over IMS. Address the whole + // message with a stable id so SaveSMSMessage folds every segment + // into one progressively merged row instead of one row per segment. + messageID = store.StableConcatMessageID( + "ims", deviceConfig.ModemIMEI, message.DeviceID, message.From, + message.Concat.Reference, message.Concat.Total, + ) + } _, saveErr := database.SaveSMSMessage(ctx, store.SMSMessage{ - MessageID: message.MessageID, + MessageID: messageID, DeviceID: message.DeviceID, ModemIMEI: deviceConfig.ModemIMEI, IMSI: message.IMSI, diff --git a/cmd/vocat/traffic.go b/cmd/vocat/traffic.go new file mode 100644 index 0000000..ee214fc --- /dev/null +++ b/cmd/vocat/traffic.go @@ -0,0 +1,123 @@ +package main + +import ( + "context" + "log/slog" + "math" + "strings" + "time" + + "vocat/internal/store" +) + +const cellularTrafficSampleInterval = 30 * time.Second + +type interfaceTrafficSample struct { + interfaceName string + rxBytes uint64 + txBytes uint64 +} + +func collectCellularTraffic(ctx context.Context, logger *slog.Logger, database *store.Store) { + previous := make(map[string]interfaceTrafficSample) + var lastPrune time.Time + collect := func() { + now := time.Now() + if lastPrune.IsZero() || now.Sub(lastPrune) >= 24*time.Hour { + lastPrune = now + if _, err := database.DeleteTrafficBefore(ctx, now.Add(-35*24*time.Hour)); err != nil && ctx.Err() == nil { + logger.Warn("prune old cellular traffic", "error", err) + } + } + + configs, err := database.ListDevices(ctx) + if err != nil { + if ctx.Err() == nil { + logger.Warn("list devices for cellular traffic collection", "error", err) + } + return + } + + active := make(map[string]struct{}, len(configs)) + for _, config := range configs { + interfaceName := strings.TrimSpace(config.Interface) + if !config.NetworkEnabled || interfaceName == "" { + delete(previous, config.ID) + continue + } + active[config.ID] = struct{}{} + + rxBytes, txBytes, err := readInterfaceTrafficCounters(interfaceName) + if err != nil { + // Interfaces can briefly disappear while QMI reconnects. The next + // successful read establishes a fresh baseline, so no reconnect + // traffic is accidentally counted twice. + delete(previous, config.ID) + continue + } + rxDelta, txDelta, ok := trafficCounterDelta(previous[config.ID], interfaceName, rxBytes, txBytes) + previous[config.ID] = interfaceTrafficSample{ + interfaceName: interfaceName, + rxBytes: rxBytes, + txBytes: txBytes, + } + if !ok || (rxDelta == 0 && txDelta == 0) { + continue + } + + for bucket, periodStart := range trafficBucketPeriods(time.Now()) { + if err := database.AddTrafficBucket(ctx, store.TrafficBucket{ + DeviceID: config.ID, + Bucket: bucket, + PeriodStart: periodStart, + RXBytes: rxDelta, + TXBytes: txDelta, + }); err != nil && ctx.Err() == nil { + logger.Warn("record cellular traffic", "device", config.ID, "bucket", bucket, "error", err) + } + } + } + + for deviceID := range previous { + if _, ok := active[deviceID]; !ok { + delete(previous, deviceID) + } + } + } + + collect() + ticker := time.NewTicker(cellularTrafficSampleInterval) + defer ticker.Stop() + for { + select { + case <-ctx.Done(): + return + case <-ticker.C: + collect() + } + } +} + +func trafficCounterDelta(previous interfaceTrafficSample, interfaceName string, rxBytes, txBytes uint64) (int64, int64, bool) { + if previous.interfaceName == "" || previous.interfaceName != interfaceName || rxBytes < previous.rxBytes || txBytes < previous.txBytes { + return 0, 0, false + } + rxDelta := rxBytes - previous.rxBytes + txDelta := txBytes - previous.txBytes + if rxDelta > math.MaxInt64 || txDelta > math.MaxInt64 { + return 0, 0, false + } + return int64(rxDelta), int64(txDelta), true +} + +func trafficBucketPeriods(now time.Time) map[string]time.Time { + local := now.In(time.Local) + year, month, day := local.Date() + dayStart := time.Date(year, month, day, 0, 0, 0, 0, time.Local).UTC() + return map[string]time.Time{ + "hour": now.UTC().Truncate(time.Minute), + "day": now.UTC().Truncate(time.Hour), + "week": dayStart, + "month": dayStart, + } +} diff --git a/cmd/vocat/traffic_linux.go b/cmd/vocat/traffic_linux.go new file mode 100644 index 0000000..e8767c6 --- /dev/null +++ b/cmd/vocat/traffic_linux.go @@ -0,0 +1,39 @@ +//go:build linux + +package main + +import ( + "fmt" + "net" + "os" + "path/filepath" + "strconv" + "strings" +) + +func readInterfaceTrafficCounters(interfaceName string) (uint64, uint64, error) { + iface, err := net.InterfaceByName(interfaceName) + if err != nil { + return 0, 0, err + } + read := func(counter string) (uint64, error) { + value, err := os.ReadFile(filepath.Join("/sys/class/net", iface.Name, "statistics", counter)) + if err != nil { + return 0, err + } + parsed, err := strconv.ParseUint(strings.TrimSpace(string(value)), 10, 64) + if err != nil { + return 0, fmt.Errorf("parse %s %s counter: %w", iface.Name, counter, err) + } + return parsed, nil + } + rxBytes, err := read("rx_bytes") + if err != nil { + return 0, 0, err + } + txBytes, err := read("tx_bytes") + if err != nil { + return 0, 0, err + } + return rxBytes, txBytes, nil +} diff --git a/cmd/vocat/traffic_other.go b/cmd/vocat/traffic_other.go new file mode 100644 index 0000000..cf4c4d0 --- /dev/null +++ b/cmd/vocat/traffic_other.go @@ -0,0 +1,9 @@ +//go:build !linux + +package main + +import "errors" + +func readInterfaceTrafficCounters(string) (uint64, uint64, error) { + return 0, 0, errors.New("interface traffic counters are only available on Linux") +} diff --git a/cmd/vocat/traffic_test.go b/cmd/vocat/traffic_test.go new file mode 100644 index 0000000..0168bbc --- /dev/null +++ b/cmd/vocat/traffic_test.go @@ -0,0 +1,38 @@ +package main + +import ( + "testing" + "time" +) + +func TestTrafficCounterDelta(t *testing.T) { + previous := interfaceTrafficSample{interfaceName: "wwan0", rxBytes: 100, txBytes: 50} + rx, tx, ok := trafficCounterDelta(previous, "wwan0", 175, 90) + if !ok || rx != 75 || tx != 40 { + t.Fatalf("delta = (%d, %d, %v), want (75, 40, true)", rx, tx, ok) + } + if _, _, ok := trafficCounterDelta(previous, "wwan1", 175, 90); ok { + t.Fatal("interface change must establish a new baseline") + } + if _, _, ok := trafficCounterDelta(previous, "wwan0", 90, 40); ok { + t.Fatal("counter reset must establish a new baseline") + } +} + +func TestTrafficBucketPeriods(t *testing.T) { + now := time.Date(2026, 8, 10, 12, 34, 56, 0, time.Local) + periods := trafficBucketPeriods(now) + if got := periods["hour"]; !got.Equal(now.UTC().Truncate(time.Minute)) { + t.Fatalf("hour period = %s", got) + } + if got := periods["day"]; !got.Equal(now.UTC().Truncate(time.Hour)) { + t.Fatalf("day period = %s", got) + } + localDay := periods["week"].In(time.Local) + if localDay.Hour() != 0 || localDay.Minute() != 0 || localDay.Day() != 10 { + t.Fatalf("week period = %s, want local day start", periods["week"]) + } + if !periods["month"].Equal(periods["week"]) { + t.Fatal("week and month should share daily periods") + } +} diff --git a/deploy/vocat.service b/deploy/vocat.service index 3914072..8019e92 100644 --- a/deploy/vocat.service +++ b/deploy/vocat.service @@ -29,7 +29,7 @@ ProtectKernelModules=true ProtectKernelTunables=true ProtectControlGroups=true ReadWritePaths=/opt/vocat/data -RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK +RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK AF_PACKET RestrictRealtime=true LockPersonality=true MemoryDenyWriteExecute=true diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..9ac9d02 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,60 @@ +# VoCat Docker Compose deployment. +# +# First-time setup: +# cp .env.example .env # then edit VOCAT_ADMIN_PASSWORD +# docker compose pull # fetch the prebuilt GHCR image +# docker compose up -d # start +# +# Build locally from this repo instead of using the GHCR image: +# docker compose up -d --build +# +# In-container binary self-update is intentionally disabled (VOCAT_CONTAINER=docker +# makes the server return 409 on the apply endpoint). Update by pulling a new +# image and recreating the container: +# docker compose pull && docker compose up -d + +services: + vocat: + # Use the prebuilt multi-arch image from GHCR. Override with + # --build to compile from the local Dockerfile instead. + image: ghcr.io/mengmengcode/vocat:latest + pull_policy: missing + build: + context: . + dockerfile: Dockerfile + container_name: vocat + restart: unless-stopped + + # Host network mode: the export-proxy plugin uses SO_BINDTODEVICE to pin + # outbound proxy traffic to the modem interface (wwan0) so roaming data + # egresses only the module — never the host's default route. That syscall + # needs the host network namespace visible inside the container, which + # network_mode: host provides directly. Port publishing is therefore + # meaningless (the container shares the host stack and vocat binds + # 0.0.0.0:7575 itself); proxy ports opened by the plugin are likewise + # reachable on the host IP without explicit mapping. + network_mode: host + + # VoWiFi / eSIM / IMS paths need raw sockets (IPsec, netlink). The systemd + # unit grants CAP_NET_ADMIN + CAP_NET_RAW; mirror that here. + cap_add: + - NET_ADMIN + - NET_RAW + + environment: + # Marks the process as containerized: the web UI then advertises + # "pull new image" instead of attempting an in-place binary update. + VOCAT_CONTAINER: docker + # VOCAT_ADDR / VOCAT_DATABASE_PATH are set in the Dockerfile; override + # only if you want non-default values. Sensitive values come from .env. + VOCAT_ADMIN_PASSWORD: ${VOCAT_ADMIN_PASSWORD:?set VOCAT_ADMIN_PASSWORD in .env} + + volumes: + # SQLite database + persistent state. Named volume (not a bind mount) + # because the container runs as uid 1000 (vocat) while a bind-mounted + # host dir would be root-owned and unwritable. Docker gives the named + # volume the image's uid 1000 ownership automatically. + - vocat-data:/opt/vocat/data + +volumes: + vocat-data: diff --git a/go.mod b/go.mod index 7f0e4bd..f36fc27 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,7 @@ module vocat go 1.25.0 require ( + github.com/coder/websocket v1.8.15 go.bug.st/serial v1.6.4 golang.org/x/crypto v0.41.0 golang.org/x/sys v0.47.0 diff --git a/go.sum b/go.sum index 8b50492..f7cb006 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,5 @@ +github.com/coder/websocket v1.8.15 h1:6B2JPeOGlpff2Uz6vOEH1Vzpi0iUz20A+lPVhPHtNUA= +github.com/coder/websocket v1.8.15/go.mod h1:NX3SzP+inril6yawo5CQXx8+fk145lPDC6pumgx0mVg= github.com/creack/goselect v0.1.2 h1:2DNy14+JPjRBgPzAd1thbQp4BSIihxcBf0IXhQXDRa0= github.com/creack/goselect v0.1.2/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= diff --git a/internal/developer/settings.go b/internal/developer/settings.go new file mode 100644 index 0000000..a8e5273 --- /dev/null +++ b/internal/developer/settings.go @@ -0,0 +1,107 @@ +package developer + +import ( + "context" + "encoding/json" + "errors" + "fmt" + + "vocat/internal/exportproxy" + "vocat/internal/httpsmode" + "vocat/internal/store" +) + +func Enabled(ctx context.Context, database *store.Store) bool { + setting, err := database.AppSetting(ctx, EnabledSettingKey) + if err != nil { + return false + } + var document struct { + Enabled bool `json:"enabled"` + } + return json.Unmarshal(setting.Value, &document) == nil && document.Enabled +} + +const ( + EnabledSettingKey = "developer.enabled" + DeviceLimitSettingKey = "developer.device_limit" + DefaultDeviceLimit = 5 + MaxDeviceLimit = 128 +) + +func DeviceLimit(ctx context.Context, database *store.Store, enabled bool) int { + if !enabled { + return DefaultDeviceLimit + } + setting, err := database.AppSetting(ctx, DeviceLimitSettingKey) + if err != nil { + return DefaultDeviceLimit + } + var document struct { + Limit int `json:"limit"` + } + if json.Unmarshal(setting.Value, &document) != nil || document.Limit < 1 || document.Limit > MaxDeviceLimit { + return DefaultDeviceLimit + } + return document.Limit +} + +func SetDeviceLimit(ctx context.Context, database *store.Store, limit int) error { + if limit < 1 || limit > MaxDeviceLimit { + return fmt.Errorf("device limit must be between 1 and %d", MaxDeviceLimit) + } + value, err := json.Marshal(map[string]int{"limit": limit}) + if err != nil { + return err + } + return database.UpsertAppSetting(ctx, store.AppSetting{Key: DeviceLimitSettingKey, Value: value}) +} + +// ResetExperimental restores every mutable developer-only setting. It is +// called both by `vocat develop off` and at startup whenever developer mode is +// disabled, so stale database values cannot silently remain active. +func ResetExperimental(ctx context.Context, database *store.Store) error { + httpsValue, err := json.Marshal(map[string]bool{"enabled": false}) + if err != nil { + return err + } + var resetErrors []error + if err := database.UpsertAppSetting(ctx, store.AppSetting{Key: httpsmode.SettingKey, Value: httpsValue}); err != nil { + resetErrors = append(resetErrors, fmt.Errorf("reset self-signed HTTPS: %w", err)) + } + if err := SetDeviceLimit(ctx, database, DefaultDeviceLimit); err != nil { + resetErrors = append(resetErrors, fmt.Errorf("reset device limit: %w", err)) + } + if err := database.DeleteAppSetting(ctx, exportproxy.SettingKey); err != nil && !errors.Is(err, store.ErrNotFound) { + resetErrors = append(resetErrors, fmt.Errorf("delete export proxy configurations: %w", err)) + } + devices, err := database.ListDevices(ctx) + if err != nil { + resetErrors = append(resetErrors, fmt.Errorf("list devices while disabling roaming data: %w", err)) + } else { + for _, device := range devices { + if !device.NetworkEnabled { + continue + } + device.NetworkEnabled = false + if err := database.UpsertDevice(ctx, device); err != nil { + resetErrors = append(resetErrors, fmt.Errorf("disable roaming data for device %s: %w", device.ID, err)) + } + } + } + policies, err := database.ListCardPolicies(ctx) + if err != nil { + resetErrors = append(resetErrors, fmt.Errorf("list card policies while disabling roaming data: %w", err)) + } else { + for _, policy := range policies { + if !policy.NetworkEnabled { + continue + } + policy.NetworkEnabled = false + if err := database.UpsertCardPolicy(ctx, policy); err != nil { + resetErrors = append(resetErrors, fmt.Errorf("disable roaming policy for card %s: %w", policy.ICCID, err)) + } + } + } + return errors.Join(resetErrors...) +} diff --git a/internal/developer/settings_test.go b/internal/developer/settings_test.go new file mode 100644 index 0000000..89fdd96 --- /dev/null +++ b/internal/developer/settings_test.go @@ -0,0 +1,77 @@ +package developer + +import ( + "context" + "encoding/json" + "errors" + "path/filepath" + "testing" + + "vocat/internal/exportproxy" + "vocat/internal/httpsmode" + "vocat/internal/store" +) + +func TestResetExperimentalRestoresDefaults(t *testing.T) { + ctx := context.Background() + database, err := store.Open(ctx, filepath.Join(t.TempDir(), "vocat.db")) + if err != nil { + t.Fatal(err) + } + defer database.Close() + if err := SetDeviceLimit(ctx, database, 24); err != nil { + t.Fatal(err) + } + enabled, _ := json.Marshal(map[string]bool{"enabled": true}) + if err := database.UpsertAppSetting(ctx, store.AppSetting{Key: httpsmode.SettingKey, Value: enabled}); err != nil { + t.Fatal(err) + } + if err := database.UpsertDevice(ctx, store.Device{ID: "modem-1", Name: "modem-1", NetworkEnabled: true}); err != nil { + t.Fatal(err) + } + if err := database.UpsertCardPolicy(ctx, store.CardPolicy{ICCID: "8901000000000000001", NetworkEnabled: true, IPVersion: "IPV4V6"}); err != nil { + t.Fatal(err) + } + if err := database.UpsertAppSetting(ctx, store.AppSetting{Key: exportproxy.SettingKey, Value: json.RawMessage(`[]`)}); err != nil { + t.Fatal(err) + } + if err := ResetExperimental(ctx, database); err != nil { + t.Fatal(err) + } + if limit := DeviceLimit(ctx, database, true); limit != DefaultDeviceLimit { + t.Fatalf("device limit = %d, want %d", limit, DefaultDeviceLimit) + } + setting, err := database.AppSetting(ctx, httpsmode.SettingKey) + if err != nil { + t.Fatal(err) + } + var document struct { + Enabled bool `json:"enabled"` + } + if err := json.Unmarshal(setting.Value, &document); err != nil || document.Enabled { + t.Fatalf("HTTPS setting = %s, error = %v", setting.Value, err) + } + device, err := database.Device(ctx, "modem-1") + if err != nil || device.NetworkEnabled { + t.Fatalf("device roaming data was not disabled: %+v, %v", device, err) + } + policy, err := database.CardPolicy(ctx, "8901000000000000001") + if err != nil || policy.NetworkEnabled { + t.Fatalf("card roaming policy was not disabled: %+v, %v", policy, err) + } + if _, err := database.AppSetting(ctx, exportproxy.SettingKey); !errors.Is(err, store.ErrNotFound) { + t.Fatalf("export proxy configurations were not deleted: %v", err) + } +} + +func TestSetDeviceLimitValidatesRange(t *testing.T) { + ctx := context.Background() + database, err := store.Open(ctx, filepath.Join(t.TempDir(), "vocat.db")) + if err != nil { + t.Fatal(err) + } + defer database.Close() + if SetDeviceLimit(ctx, database, 0) == nil || SetDeviceLimit(ctx, database, MaxDeviceLimit+1) == nil { + t.Fatal("out-of-range device limit was accepted") + } +} diff --git a/internal/device/carrier_db.go b/internal/device/carrier_db.go new file mode 100644 index 0000000..7cb912c --- /dev/null +++ b/internal/device/carrier_db.go @@ -0,0 +1,44 @@ +package device + +import ( + _ "embed" + "encoding/json" + "strings" +) + +// The offline table is generated by scripts/update-carriers.py from Android's +// versioned carrier ID database, with the previous global table retained as a +// fallback for PLMNs that Android does not yet catalogue. +// +//go:embed mccmnc.json +var carrierDatabaseJSON []byte + +type carrierDatabase struct { + Carriers map[string][]string `json:"c"` +} + +var globalCarrierDatabase = func() carrierDatabase { + var database carrierDatabase + if err := json.Unmarshal(carrierDatabaseJSON, &database); err != nil { + panic("device: invalid embedded MCC/MNC database: " + err.Error()) + } + return database +}() + +// CarrierForPLMN returns the offline carrier display name and ISO alpha-2 +// country/territory code for a numeric five- or six-digit PLMN. +func CarrierForPLMN(plmn string) (name, countryCode string, ok bool) { + plmn = strings.TrimSpace(plmn) + if !decimalDigits(plmn, 5, 6) { + return "", "", false + } + entry, ok := globalCarrierDatabase.Carriers[plmn] + if !ok || len(entry) == 0 || strings.TrimSpace(entry[0]) == "" { + return "", "", false + } + name = strings.TrimSpace(entry[0]) + if len(entry) > 1 { + countryCode = strings.ToUpper(strings.TrimSpace(entry[1])) + } + return name, countryCode, true +} diff --git a/internal/device/data.go b/internal/device/data.go index eff8731..8dc6fbc 100644 --- a/internal/device/data.go +++ b/internal/device/data.go @@ -23,7 +23,7 @@ func (manager *Manager) SetNetwork( return NetworkResult{}, err } apn := strings.TrimSpace(request.APN) - if request.Enabled && !apnPattern.MatchString(apn) { + if request.Enabled && apn != "" && !apnPattern.MatchString(apn) { return NetworkResult{}, ErrInvalidNetworkAPN } ipVersion := normalizeIPVersion(request.IPVersion) @@ -225,7 +225,7 @@ func (manager *Manager) SetOperatorSelection( accessTechnologyValue *int, ) (OperatorSelection, error) { result := OperatorSelection{Mode: 0} - command := "AT+COPS=0" + command := "" if !automatic { plmn = strings.TrimSpace(plmn) if len(plmn) < 5 || len(plmn) > 6 || strings.IndexFunc(plmn, func(r rune) bool { return r < '0' || r > '9' }) >= 0 { @@ -265,28 +265,187 @@ func (manager *Manager) SetOperatorSelection( // the lock is not aborted while registration is still in progress. lockCtx, cancel := manager.withTimeout(ctx, manager.scanTimeout) defer cancel() - if _, err := client.Execute(lockCtx, command); err != nil { - manager.setResult(id, state, nil, errors.New("operator selection command failed")) + if automatic { + result, err = restoreAutomaticOperatorSelection(lockCtx, client) + manager.setResult(id, state, nil, err) + return result, err + } + response, err := client.Execute(lockCtx, command) + if err != nil || !response.OK() { + if err == nil { + err = &modem.CommandError{Command: response.Command, Final: response.Final, Lines: response.Lines} + } + rollbackOperatorSelection(manager, client) + wrapped := fmt.Errorf("manual operator selection failed and automatic selection was restored: %w", err) + manager.setResult(id, state, nil, wrapped) + return OperatorSelection{}, wrapped + } + actual, err := queryOperatorSelection(lockCtx, client) + if err != nil { + rollbackOperatorSelection(manager, client) + manager.setResult(id, state, nil, err) + return OperatorSelection{}, fmt.Errorf("verify manual operator selection: %w", err) + } + if actual.Mode != 1 || actual.Operator != plmn { + rollbackOperatorSelection(manager, client) + err := fmt.Errorf("network %s did not accept registration; automatic selection was restored (modem reported mode=%d operator=%q)", plmn, actual.Mode, actual.Operator) + manager.setResult(id, state, nil, err) return OperatorSelection{}, err } - if !automatic { - response, err := client.Execute(lockCtx, "AT+COPS?") - if err != nil { - manager.setResult(id, state, nil, err) - return OperatorSelection{}, fmt.Errorf("verify manual operator selection: %w", err) - } - actual, err := parseOperatorSelection(response) - if err != nil { - manager.setResult(id, state, nil, err) - return OperatorSelection{}, err - } - if actual.Mode != 1 || actual.Operator != plmn { - err := fmt.Errorf("network %s did not accept registration; modem reports mode=%d operator=%q", plmn, actual.Mode, actual.Operator) - manager.setResult(id, state, nil, err) - return OperatorSelection{}, err - } - result = actual - } + result = actual manager.setResult(id, state, nil, nil) return result, nil } + +func queryOperatorSelection(ctx context.Context, client modem.Client) (OperatorSelection, error) { + response, err := client.Execute(ctx, "AT+COPS?") + if err != nil { + return OperatorSelection{}, err + } + if !response.OK() { + return OperatorSelection{}, &modem.CommandError{Command: response.Command, Final: response.Final, Lines: response.Lines} + } + return parseOperatorSelection(response) +} + +// restoreAutomaticOperatorSelection clears both a manual PLMN latch and an +// old RAT-only scan restriction. The latter is important on EC20 modules: +// COPS=0 alone can remain effectively LTE-only after an earlier lock, unlike a +// phone's normal automatic GSM/WCDMA/LTE acquisition policy. +func restoreAutomaticOperatorSelection(ctx context.Context, client modem.Client) (OperatorSelection, error) { + // Older firmware may not implement nwscanmode; COPS auto is still useful in + // that case, so this compatibility reset is best effort. + _, _ = client.Execute(ctx, `AT+QCFG="nwscanmode",0,1`) + _, _ = client.Execute(ctx, "AT+COPS=2") + response, err := client.Execute(ctx, "AT+COPS=0") + if err != nil { + return OperatorSelection{}, err + } + if !response.OK() { + return OperatorSelection{}, &modem.CommandError{Command: response.Command, Final: response.Final, Lines: response.Lines} + } + actual, err := queryOperatorSelection(ctx, client) + if err != nil { + return OperatorSelection{}, fmt.Errorf("verify automatic operator selection: %w", err) + } + if actual.Mode != 0 { + return OperatorSelection{}, fmt.Errorf("modem did not enter automatic operator selection (mode=%d operator=%q)", actual.Mode, actual.Operator) + } + return actual, nil +} + +func rollbackOperatorSelection(manager *Manager, client modem.Client) { + rollbackCtx, cancel := context.WithTimeout(context.Background(), manager.longTimeout) + defer cancel() + _, _ = restoreAutomaticOperatorSelection(rollbackCtx, client) +} + +// ReRegisterOperator detaches from the network and reapplies the modem's +// current automatic/manual selection. This is intentionally different from a +// passive refresh: it forces a new registration attempt without changing the +// user's lock policy. +func (manager *Manager) ReRegisterOperator(ctx context.Context, id string) (OperatorSelection, error) { + state, err := manager.lookup(id) + if err != nil { + return OperatorSelection{}, err + } + state.opMu.Lock() + defer state.opMu.Unlock() + if err := manager.validateActive(id, state); err != nil { + return OperatorSelection{}, err + } + client, err := manager.clientLocked(ctx, state, manager.candidateFor(state)) + if err != nil { + manager.setResult(id, state, nil, err) + return OperatorSelection{}, err + } + longCtx, cancel := manager.withTimeout(ctx, manager.scanTimeout) + defer cancel() + + current, err := queryOperatorSelection(longCtx, client) + if err != nil { + manager.setResult(id, state, nil, err) + return OperatorSelection{}, err + } + manual := current.Mode == 1 || current.Mode == 4 + if manual && !decimalPLMN(current.Operator) { + response, formatErr := client.Execute(longCtx, "AT+COPS=3,2") + if formatErr != nil || !response.OK() { + if formatErr == nil { + formatErr = &modem.CommandError{Command: response.Command, Final: response.Final, Lines: response.Lines} + } + manager.setResult(id, state, nil, formatErr) + return OperatorSelection{}, formatErr + } + current, err = queryOperatorSelection(longCtx, client) + if err != nil { + manager.setResult(id, state, nil, err) + return OperatorSelection{}, err + } + manual = current.Mode == 1 || current.Mode == 4 + } + + if !manual { + result, restoreErr := restoreAutomaticOperatorSelection(longCtx, client) + manager.setResult(id, state, nil, restoreErr) + return result, restoreErr + } + desired := "" + if manual { + if !decimalPLMN(current.Operator) { + return OperatorSelection{}, errors.New("current manual operator is not available as a numeric PLMN") + } + desired = fmt.Sprintf(`AT+COPS=1,2,"%s"`, current.Operator) + if code, ok := accessTechnologyCode(current.AccessTechnology); ok { + desired += fmt.Sprintf(",%d", code) + } + } + for _, command := range []string{"AT+COPS=2", desired} { + response, executeErr := client.Execute(longCtx, command) + if executeErr != nil { + manager.setResult(id, state, nil, executeErr) + return OperatorSelection{}, executeErr + } + if !response.OK() { + executeErr = &modem.CommandError{Command: response.Command, Final: response.Final, Lines: response.Lines} + manager.setResult(id, state, nil, executeErr) + return OperatorSelection{}, executeErr + } + } + result, err := queryOperatorSelection(longCtx, client) + manager.setResult(id, state, nil, err) + if err != nil { + return OperatorSelection{}, err + } + return result, nil +} + +func decimalPLMN(value string) bool { + value = strings.TrimSpace(value) + return (len(value) == 5 || len(value) == 6) && strings.IndexFunc(value, func(r rune) bool { + return r < '0' || r > '9' + }) < 0 +} + +func accessTechnologyCode(name string) (int, bool) { + switch strings.ToUpper(strings.TrimSpace(name)) { + case "GSM": + return 0, true + case "UTRAN": + return 2, true + case "EDGE": + return 3, true + case "HSDPA": + return 4, true + case "HSUPA": + return 5, true + case "HSPA": + return 6, true + case "LTE": + return 7, true + case "NR5G": + return 9, true + default: + return 0, false + } +} diff --git a/internal/device/data_linux.go b/internal/device/data_linux.go index 2afdbef..2aaf335 100644 --- a/internal/device/data_linux.go +++ b/internal/device/data_linux.go @@ -4,9 +4,13 @@ package device import ( "context" + "errors" "fmt" + "hash/fnv" + "net" "os" "os/exec" + "strconv" "strings" "time" @@ -31,7 +35,11 @@ func setQMINetwork( profilePath := profile.Name() defer os.Remove(profilePath) ipType := map[string]string{"IP": "4", "IPV6": "6", "IPV4V6": "4"}[ipVersion] - if _, err := fmt.Fprintf(profile, "APN=%s\nIP_TYPE=%s\nPROXY=yes\n", apn, ipType); err != nil { + profileText := fmt.Sprintf("IP_TYPE=%s\nPROXY=yes\n", ipType) + if apn != "" { + profileText = "APN=" + apn + "\n" + profileText + } + if _, err := fmt.Fprint(profile, profileText); err != nil { _ = profile.Close() return NetworkResult{}, fmt.Errorf("write temporary QMI profile: %w", err) } @@ -54,36 +62,42 @@ func setQMINetwork( lowerDetail := strings.ToLower(detail) idempotentStop := !enabled && (strings.Contains(lowerDetail, "already stopped") || strings.Contains(lowerDetail, "not started") || strings.Contains(lowerDetail, "no network")) - if !idempotentStop { + idempotentStart := enabled && (strings.Contains(lowerDetail, "already started") || + strings.Contains(lowerDetail, "already connected")) + if !idempotentStop && !idempotentStart { return NetworkResult{}, fmt.Errorf("qmi-network %s failed: %w: %s", action, err, detail) } } - if ipCommand, lookErr := exec.LookPath("ip"); lookErr == nil { - linkAction := "down" - if enabled { - linkAction = "up" - } - linkOutput, linkErr := exec.CommandContext(ctx, ipCommand, "link", "set", "dev", candidate.NetworkInterface, linkAction).CombinedOutput() - if linkErr != nil { - return NetworkResult{}, fmt.Errorf("set %s %s: %w: %s", candidate.NetworkInterface, linkAction, linkErr, strings.TrimSpace(string(linkOutput))) - } + ipCommand, lookErr := exec.LookPath("ip") + if lookErr != nil { + return NetworkResult{}, fmt.Errorf("%w: install iproute2 to control %s", ErrDataBackendUnavailable, candidate.NetworkInterface) + } + linkAction := "down" + if enabled { + linkAction = "up" + } + linkOutput, linkErr := exec.CommandContext(ctx, ipCommand, "link", "set", "dev", candidate.NetworkInterface, linkAction).CombinedOutput() + if linkErr != nil { + return NetworkResult{}, fmt.Errorf("set %s %s: %w: %s", candidate.NetworkInterface, linkAction, linkErr, strings.TrimSpace(string(linkOutput))) } if enabled { - if busybox, lookErr := exec.LookPath("busybox"); lookErr == nil { - dhcpOutput, dhcpErr := exec.CommandContext(ctx, busybox, "udhcpc", "-q", "-n", "-t", "5", "-T", "3", "-i", candidate.NetworkInterface).CombinedOutput() - if dhcpErr != nil { - rollbackCtx, cancelRollback := context.WithTimeout(context.Background(), managerCommandCleanupTimeout) - defer cancelRollback() - _, _ = exec.CommandContext(rollbackCtx, qmiNetwork, "--profile="+profilePath, candidate.QMIControl, "stop").CombinedOutput() - if ipCommand, lookErr := exec.LookPath("ip"); lookErr == nil { - _, _ = exec.CommandContext(rollbackCtx, ipCommand, "link", "set", "dev", candidate.NetworkInterface, "down").CombinedOutput() - } - return NetworkResult{}, fmt.Errorf("QMI session started but DHCP failed: %w: %s", dhcpErr, strings.TrimSpace(string(dhcpOutput))) - } - if value := strings.TrimSpace(string(dhcpOutput)); value != "" { - detail = strings.TrimSpace(detail + "\n" + value) - } + busybox, busyboxErr := exec.LookPath("busybox") + if busyboxErr != nil { + return NetworkResult{}, fmt.Errorf("%w: busybox udhcpc is required for %s", ErrDataBackendUnavailable, candidate.NetworkInterface) } + dhcpDetail, dhcpErr := configureExportProxyDHCP(ctx, busybox, ipCommand, candidate.NetworkInterface) + if dhcpErr != nil { + rollbackCtx, cancelRollback := context.WithTimeout(context.Background(), managerCommandCleanupTimeout) + defer cancelRollback() + clearExportProxyRoute(rollbackCtx, candidate.NetworkInterface) + _, _ = exec.CommandContext(rollbackCtx, qmiNetwork, "--profile="+profilePath, candidate.QMIControl, "stop").CombinedOutput() + _, _ = exec.CommandContext(rollbackCtx, ipCommand, "link", "set", "dev", candidate.NetworkInterface, "down").CombinedOutput() + return NetworkResult{}, fmt.Errorf("QMI session started but protected DHCP failed: %w", dhcpErr) + } + detail = strings.TrimSpace(detail + "\n" + dhcpDetail) + } else { + clearExportProxyRoute(ctx, candidate.NetworkInterface) + _, _ = exec.CommandContext(ctx, ipCommand, "-4", "addr", "flush", "dev", candidate.NetworkInterface, "scope", "global").CombinedOutput() } return NetworkResult{ Enabled: enabled, @@ -96,4 +110,173 @@ func setQMINetwork( }, nil } +// exportProxyRouteIdentity must stay in sync with the Export Proxy plugin's +// Linux socket mark. Unmarked host traffic never sees the cellular default +// route; only plugin sockets carrying this mark are policy-routed to it. +func exportProxyRouteIdentity(networkInterface string) (mark uint32, table, priority int) { + hash := fnv.New32a() + _, _ = hash.Write([]byte(networkInterface)) + value := hash.Sum32() + mark = 0x56000000 | (value & 0x00ffffff) + table = 20000 + int(value%10000) + priority = 20000 + int(value%10000) + return +} + +func configureExportProxyDHCP(ctx context.Context, busybox, ipCommand, networkInterface string) (string, error) { + lease, err := os.CreateTemp("", "vocat-dhcp-lease-*.env") + if err != nil { + return "", err + } + leasePath := lease.Name() + _ = lease.Close() + _ = os.Remove(leasePath) + defer os.Remove(leasePath) + script, err := os.CreateTemp("", "vocat-udhcpc-*.sh") + if err != nil { + return "", err + } + scriptPath := script.Name() + defer os.Remove(scriptPath) + scriptText := fmt.Sprintf(`#!/bin/sh +case "$1" in + bound|renew) + (umask 077; printf 'ip=%%s\nsubnet=%%s\nrouter=%%s\ndns=%%s\n' "$ip" "$subnet" "$router" "$dns" > %q) + ;; +esac +exit 0 +`, leasePath) + if _, err := script.WriteString(scriptText); err != nil { + _ = script.Close() + return "", err + } + if err := script.Chmod(0o700); err != nil { + _ = script.Close() + return "", err + } + if err := script.Close(); err != nil { + return "", err + } + output, err := exec.CommandContext(ctx, busybox, "udhcpc", "-q", "-n", "-t", "5", "-T", "3", "-i", networkInterface, "-s", scriptPath).CombinedOutput() + if err != nil { + if strings.Contains(strings.ToLower(string(output)), "address family not supported") { + return "", fmt.Errorf("udhcpc cannot open its link-layer socket: allow AF_PACKET in the vocat systemd service RestrictAddressFamilies setting: %w", err) + } + return "", fmt.Errorf("udhcpc: %w: %s", err, strings.TrimSpace(string(output))) + } + raw, err := os.ReadFile(leasePath) + if err != nil { + return "", fmt.Errorf("read DHCP lease: %w", err) + } + values := make(map[string]string) + for _, line := range strings.Split(string(raw), "\n") { + key, value, found := strings.Cut(line, "=") + if found { + values[strings.TrimSpace(key)] = strings.TrimSpace(value) + } + } + address := net.ParseIP(values["ip"]).To4() + maskIP := net.ParseIP(values["subnet"]).To4() + if address == nil || maskIP == nil { + return "", errors.New("DHCP returned no valid IPv4 address/subnet") + } + mask := net.IPMask(maskIP) + ones, bits := mask.Size() + if bits != 32 || ones < 0 { + return "", errors.New("DHCP returned an invalid IPv4 subnet") + } + network := address.Mask(mask) + routers := strings.Fields(values["router"]) + if len(routers) > 0 && net.ParseIP(routers[0]).To4() == nil { + return "", errors.New("DHCP returned an invalid IPv4 gateway") + } + if result, addrErr := exec.CommandContext(ctx, ipCommand, "-4", "addr", "replace", fmt.Sprintf("%s/%d", address.String(), ones), "dev", networkInterface).CombinedOutput(); addrErr != nil { + return "", fmt.Errorf("configure cellular address: %w: %s", addrErr, strings.TrimSpace(string(result))) + } + mark, table, priority := exportProxyRouteIdentity(networkInterface) + clearExportProxyRoute(ctx, networkInterface) + connectedCIDR := fmt.Sprintf("%s/%d", network.String(), ones) + if result, routeErr := exec.CommandContext(ctx, ipCommand, "-4", "route", "replace", "table", strconv.Itoa(table), connectedCIDR, "dev", networkInterface, "scope", "link", "src", address.String()).CombinedOutput(); routeErr != nil { + clearExportProxyRoute(ctx, networkInterface) + return "", fmt.Errorf("install protected connected route: %w: %s", routeErr, strings.TrimSpace(string(result))) + } + defaultArgs := []string{"-4", "route", "replace", "table", strconv.Itoa(table), "default"} + if len(routers) > 0 { + defaultArgs = append(defaultArgs, "via", routers[0]) + } + defaultArgs = append(defaultArgs, "dev", networkInterface, "onlink") + if result, routeErr := exec.CommandContext(ctx, ipCommand, defaultArgs...).CombinedOutput(); routeErr != nil { + clearExportProxyRoute(ctx, networkInterface) + return "", fmt.Errorf("install protected default route: %w: %s", routeErr, strings.TrimSpace(string(result))) + } + markText := fmt.Sprintf("0x%x", mark) + result, err := exec.CommandContext(ctx, ipCommand, "rule", "add", "priority", strconv.Itoa(priority), "fwmark", markText, "lookup", strconv.Itoa(table)).CombinedOutput() + if err != nil { + clearExportProxyRoute(ctx, networkInterface) + return "", fmt.Errorf("install protected routing rule: %w: %s", err, strings.TrimSpace(string(result))) + } + if err := writeExportProxyDNS(networkInterface, strings.Fields(values["dns"])); err != nil { + clearExportProxyRoute(ctx, networkInterface) + return "", fmt.Errorf("publish protected DNS configuration: %w", err) + } + return fmt.Sprintf("protected DHCP lease %s/%d", address.String(), ones), nil +} + +func exportProxyDNSPath(networkInterface string) string { + safeName := strings.Map(func(character rune) rune { + if character >= 'a' && character <= 'z' || character >= 'A' && character <= 'Z' || + character >= '0' && character <= '9' || character == '-' || character == '_' || character == '.' { + return character + } + return '_' + }, networkInterface) + return "/run/vocat/cellular-" + safeName + ".dns" +} + +func writeExportProxyDNS(networkInterface string, servers []string) error { + valid := make([]string, 0, len(servers)) + for _, server := range servers { + if address := net.ParseIP(server); address != nil { + valid = append(valid, address.String()) + } + } + if len(valid) == 0 { + // This is used only by marked Export Proxy sockets. It never changes the + // host resolver and is merely a fallback for carriers omitting DHCP DNS. + valid = []string{"1.1.1.1", "8.8.8.8"} + } + if err := os.MkdirAll("/run/vocat", 0o755); err != nil { + return err + } + temporary, err := os.CreateTemp("/run/vocat", ".cellular-dns-*") + if err != nil { + return err + } + temporaryPath := temporary.Name() + defer os.Remove(temporaryPath) + if _, err := temporary.WriteString(strings.Join(valid, "\n") + "\n"); err != nil { + _ = temporary.Close() + return err + } + if err := temporary.Chmod(0o644); err != nil { + _ = temporary.Close() + return err + } + if err := temporary.Close(); err != nil { + return err + } + return os.Rename(temporaryPath, exportProxyDNSPath(networkInterface)) +} + +func clearExportProxyRoute(ctx context.Context, networkInterface string) { + _ = os.Remove(exportProxyDNSPath(networkInterface)) + ipCommand, err := exec.LookPath("ip") + if err != nil { + return + } + mark, table, priority := exportProxyRouteIdentity(networkInterface) + _, _ = exec.CommandContext(ctx, ipCommand, "rule", "del", "priority", strconv.Itoa(priority), "fwmark", fmt.Sprintf("0x%x", mark), "lookup", strconv.Itoa(table)).CombinedOutput() + _, _ = exec.CommandContext(ctx, ipCommand, "-4", "route", "flush", "table", strconv.Itoa(table)).CombinedOutput() +} + const managerCommandCleanupTimeout = 15 * time.Second diff --git a/internal/device/data_test.go b/internal/device/data_test.go index 27c424c..47a0a24 100644 --- a/internal/device/data_test.go +++ b/internal/device/data_test.go @@ -74,7 +74,10 @@ func TestOperatorSelectionManualAndAutomatic(t *testing.T) { client := &transcriptClient{steps: []clientStep{ {command: `AT+COPS=1,2,"46000",7`, response: okResponse()}, {command: "AT+COPS?", response: okResponse(`+COPS: 1,2,"46000",7`)}, + {command: `AT+QCFG="nwscanmode",0,1`, response: okResponse()}, + {command: "AT+COPS=2", response: okResponse()}, {command: "AT+COPS=0", response: okResponse()}, + {command: "AT+COPS?", response: okResponse(`+COPS: 0,2,"46001",7`)}, }} manager, id := newStartedTestManager(t, client) act := 7 @@ -89,7 +92,7 @@ func TestOperatorSelectionManualAndAutomatic(t *testing.T) { if err != nil { t.Fatalf("automatic selection: %v", err) } - if selection.Mode != 0 || selection.Operator != "" { + if selection.Mode != 0 || selection.Operator != "46001" { t.Fatalf("automatic selection = %#v", selection) } client.assertDone(t) @@ -99,6 +102,10 @@ func TestOperatorSelectionRejectsAutomaticFallbackAsSuccess(t *testing.T) { client := &transcriptClient{steps: []clientStep{ {command: `AT+COPS=1,2,"46000",7`, response: okResponse()}, {command: "AT+COPS?", response: okResponse("+COPS: 0")}, + {command: `AT+QCFG="nwscanmode",0,1`, response: okResponse()}, + {command: "AT+COPS=2", response: okResponse()}, + {command: "AT+COPS=0", response: okResponse()}, + {command: "AT+COPS?", response: okResponse(`+COPS: 0,2,"46001",7`)}, }} manager, id := newStartedTestManager(t, client) act := 7 @@ -107,3 +114,77 @@ func TestOperatorSelectionRejectsAutomaticFallbackAsSuccess(t *testing.T) { } client.assertDone(t) } + +func TestOperatorSelectionCommandFailureRestoresAutomaticMode(t *testing.T) { + selectionErr := errors.New("+CME ERROR: 30") + client := &transcriptClient{steps: []clientStep{ + {command: `AT+COPS=1,2,"46000",7`, err: selectionErr}, + {command: `AT+QCFG="nwscanmode",0,1`, response: okResponse()}, + {command: "AT+COPS=2", response: okResponse()}, + {command: "AT+COPS=0", response: okResponse()}, + {command: "AT+COPS?", response: okResponse(`+COPS: 0,2,"46001",7`)}, + }} + manager, id := newStartedTestManager(t, client) + act := 7 + _, err := manager.SetOperatorSelection(context.Background(), id, false, "46000", &act) + if !errors.Is(err, selectionErr) { + t.Fatalf("error = %v, want wrapped selection error", err) + } + client.assertDone(t) +} + +func TestReRegisterOperatorReappliesAutomaticMode(t *testing.T) { + client := &transcriptClient{steps: []clientStep{ + {command: "AT+COPS?", response: okResponse(`+COPS: 0,2,"46001",7`)}, + {command: `AT+QCFG="nwscanmode",0,1`, response: okResponse()}, + {command: "AT+COPS=2", response: okResponse()}, + {command: "AT+COPS=0", response: okResponse()}, + {command: "AT+COPS?", response: okResponse(`+COPS: 0,2,"46001",7`)}, + }} + manager, id := newStartedTestManager(t, client) + selection, err := manager.ReRegisterOperator(context.Background(), id) + if err != nil { + t.Fatal(err) + } + if selection.Mode != 0 || selection.Operator != "46001" { + t.Fatalf("selection = %#v", selection) + } + client.assertDone(t) +} + +func TestReRegisterOperatorPreservesManualLock(t *testing.T) { + client := &transcriptClient{steps: []clientStep{ + {command: "AT+COPS?", response: okResponse(`+COPS: 1,2,"46003",7`)}, + {command: "AT+COPS=2", response: okResponse()}, + {command: `AT+COPS=1,2,"46003",7`, response: okResponse()}, + {command: "AT+COPS?", response: okResponse(`+COPS: 1,2,"46003",7`)}, + }} + manager, id := newStartedTestManager(t, client) + selection, err := manager.ReRegisterOperator(context.Background(), id) + if err != nil { + t.Fatal(err) + } + if selection.Mode != 1 || selection.Operator != "46003" || selection.AccessTechnology != "LTE" { + t.Fatalf("selection = %#v", selection) + } + client.assertDone(t) +} + +func TestReRegisterOperatorRecoversDeregisteredModeWithAutomaticSelection(t *testing.T) { + client := &transcriptClient{steps: []clientStep{ + {command: "AT+COPS?", response: okResponse(`+COPS: 2`)}, + {command: `AT+QCFG="nwscanmode",0,1`, response: okResponse()}, + {command: "AT+COPS=2", response: okResponse()}, + {command: "AT+COPS=0", response: okResponse()}, + {command: "AT+COPS?", response: okResponse(`+COPS: 0,2,"46001",7`)}, + }} + manager, id := newStartedTestManager(t, client) + selection, err := manager.ReRegisterOperator(context.Background(), id) + if err != nil { + t.Fatal(err) + } + if selection.Mode != 0 || selection.Operator != "46001" { + t.Fatalf("selection = %#v", selection) + } + client.assertDone(t) +} diff --git a/internal/device/manager_test.go b/internal/device/manager_test.go index 4e258f7..5f7de2a 100644 --- a/internal/device/manager_test.go +++ b/internal/device/manager_test.go @@ -27,6 +27,7 @@ func TestManagerRefreshBuildsEC20Snapshot(t *testing.T) { ), }, {command: "AT+COPS?", response: okResponse(`+COPS: 0,0,"China Mobile",7`)}, + {command: "AT+CEREG?", response: okResponse(`+CEREG: 0,5`)}, {command: "AT+CGSN", response: okResponse("867123456789012")}, { command: "AT+CCID", @@ -66,7 +67,9 @@ func TestManagerRefreshBuildsEC20Snapshot(t *testing.T) { t.Fatalf("signal metrics = %#v", snapshot) } if snapshot.AccessTech != "LTE" || snapshot.Band != "B3" || - snapshot.Channel != "1650" || snapshot.OperatorName != "China Mobile" { + snapshot.Channel != "1650" || snapshot.OperatorName != "China Unicom" || + snapshot.OperatorCode != "46001" || + snapshot.RegistrationStatus != 5 || snapshot.RegistrationSource != "CEREG" { t.Fatalf("network = %#v", snapshot) } if snapshot.IMEI != "867123456789012" || diff --git a/internal/device/mccmnc.json b/internal/device/mccmnc.json new file mode 100644 index 0000000..f622126 --- /dev/null +++ b/internal/device/mccmnc.json @@ -0,0 +1 @@ +{"c":{"00101":["Test Network, Used by GSM test equipment",""],"20201":["Cosmote","gr"],"20202":["Cosmote","gr"],"20203":["OTE","gr"],"20204":["OSE","gr"],"20205":["Vodafone","gr"],"20207":["AMD Telecom","gr"],"20209":["Info Quest S.A.","gr"],"20210":["Telestet","gr"],"20212":["Yuboto","gr"],"20214":["CyTa Mobile","gr"],"20215":["BWS","gr"],"20216":["Inter Telecom","gr"],"202299":["AMD Telecom","gr"],"202999":["Fix Line","gr"],"20400":["Intovoice","nl"],"20402":["T-Mobile","nl"],"20403":["Voiceworks NL","nl"],"20404":["Vodafone","nl"],"20405":["ElephantTalk","nl"],"20406":["Vectone Mobile","nl"],"20407":["Move / Teleena","nl"],"20408":["KPN Mobiel","nl"],"20409":["Lycamobile","nl"],"20410":["KPN","nl"],"20412":["KPN Mobiel","nl"],"20414":["6GMOBILE BV","nl"],"20415":["Ziggo","nl"],"20416":["Odido","nl"],"20417":["Intercity Mobile Communications BV","nl"],"20418":["Ziggo Services","nl"],"20420":["T-Mobile","nl"],"20421":["NS Railinfrabeheer B.V.","nl"],"20423":["KORE","nl"],"20424":["Private Mobility","nl"],"20426":["SpeakUp","nl"],"20427":["L-mobi","nl"],"20428":["Lancelot","nl"],"20429":["Tismi","nl"],"204299":["88 mobile","nl"],"20430":["ASPIDER Solutions","nl"],"20433":["Truphone","nl"],"20463":["MessageBird","nl"],"20465":["AGMS","nl"],"20468":["Unify Mobile","nl"],"20469":["KPN Lab","nl"],"20498":["Lancelot","nl"],"204999":["Fix Line","nl"],"20600":["Proximus","be"],"20601":["Proximus","be"],"20602":["Infrabel","be"],"20604":["Proximus","be"],"20605":["Telenet","be"],"20606":["Lycamobile","be"],"20607":["Vectone Mobile","be"],"20608":["VOOmobile","be"],"20610":["Orange","be"],"20620":["BASE","be"],"20623":["Dust Mobile","be"],"20625":["Dense Air","be"],"20628":["Bics","be"],"206299":["FEBO","be"],"20630":["Unleashed","be"],"20633":["Ericsson","be"],"20634":["onoff","be"],"20699":["Lancelot","be"],"206999":["Fix Line","be"],"20800":["Tel/Te","fr"],"20801":["Orange","fr"],"20802":["Orange","fr"],"20803":["MobiquiThings","fr"],"20804":["Netcom Group","fr"],"20805":["Globalstar Europe","fr"],"20806":["Globalstar Europe","fr"],"20807":["Globalstar Europe","fr"],"20808":["SFR","fr"],"20809":["SFR","fr"],"20810":["SFR","fr"],"20811":["SFR","fr"],"20812":["Truphone","fr"],"20813":["SFR","fr"],"20814":["Free Mobile","fr"],"20815":["Free","fr"],"20816":["Free Mobile","fr"],"20817":["Legos","fr"],"208180":["Private FR","fr"],"20820":["Bouygues Telecom","fr"],"20821":["Bouygues Telecom","fr"],"20822":["Transatel","fr"],"20823":["Virgin","fr"],"20824":["MobiquiThings","fr"],"20825":["Lycamobile","fr"],"20826":["NRJ","fr"],"20827":["Coriolis","fr"],"20828":["Airmob","fr"],"20829":["Orange","fr"],"208299":["Add-On Multimedia","fr"],"20830":["Syma Mobile","fr"],"20831":["Vectone Mobile","fr"],"20832":["Orange","fr"],"20834":["Cellhire","fr"],"20835":["Free Mobile","fr"],"20836":["Free Mobile","fr"],"20837":["IP Directions","fr"],"20838":["Lebara","fr"],"20839":["Networth Telecom","fr"],"208506":["Airbus FR","fr"],"20888":["Bouygues Telecom","fr"],"20889":["Hub One","fr"],"20891":["Orange","fr"],"20892":["IP Directions","fr"],"20894":["Halys","fr"],"208999":["Fix Line","fr"],"21201":["Monaco Telecom","mc"],"21210":["MONACO TELECOM","mc"],"21303":["Mobiland","ad"],"21401":["Vodafone","es"],"21402":["Altecom","es"],"21403":["Orange","es"],"21404":["Yoigo","es"],"21405":["Movistar","es"],"21406":["Euskaltel","es"],"21407":["Movistar","es"],"21408":["Euskaltel","es"],"21409":["Orange","es"],"21410":["Zinnia","es"],"21411":["Orange","es"],"21412":["Venus Movil","es"],"21414":["Avatel Movil","es"],"21415":["BT Espana SAU","es"],"21416":["mobil R","es"],"21417":["mobil R","es"],"21418":["ONO","es"],"21419":["Simyo","es"],"21420":["Fonyou Telecom","es"],"21421":["Jazz Telecom SAU","es"],"21422":["Digi Spain","es"],"21423":["Yoigo","es"],"21425":["Lycamobile","es"],"21426":["Lleida","es"],"21427":["Truphone","es"],"21429":["Yoigo","es"],"214299":["ACN","es"],"21432":["ION Mobile","es"],"21433":["Yoigo","es"],"21434":["ION Mobile","es"],"21435":["SUMA movil","es"],"21436":["Alai","es"],"21437":["Vodafone","es"],"21438":["Movistar","es"],"214999":["Fix Line","es"],"21601":["Yettel","hu"],"21602":["MVM NET","hu"],"21603":["Digi","hu"],"216299":["Antenna","hu"],"21630":["Magyar Telekom","hu"],"21670":["Vodafone","hu"],"21671":["UPC Magyarorszag Kft.","hu"],"216999":["Fix line","hu"],"21803":["Eronet Mobile Communications Ltd.","ba"],"21805":["MOBI'S (Mobilina Srpske)","ba"],"21890":["GSMBIH","ba"],"21901":["Hrvatski Telekom","hr"],"21902":["Telemach","hr"],"21910":["A1/Tomato","hr"],"21912":["TELE FOCUS","hr"],"21920":["Hrvatski Telekom","hr"],"219999":["Fix Line","hr"],"22001":["Yettel","rs"],"22002":["Yettel","rs"],"22003":["Telekom Srbija a.d.","rs"],"22005":["A1 SRB","rs"],"22011":["Globaltel","rs"],"22020":["VIP","rs"],"220299":["Failed Calls","rs"],"22101":["Vala","xk"],"22102":["IPKO","xk"],"22103":["MTS","xk"],"22106":["Dardafon.Net LLC","xk"],"22107":["D3 mobile","xk"],"221299":["MTS","xk"],"22200":["Premium Numbers","it"],"22201":["TIM","it"],"22202":["Elsacom","it"],"22206":["Vodafone","it"],"22207":["Kena","it"],"22208":["Fastweb SpA","it"],"22210":["Vodafone","it"],"222299":["A-Tono","it"],"22230":["RFI","it"],"22233":["Poste Mobile","it"],"22234":["BT mobile","it"],"22235":["Lycamobile","it"],"22236":["Digi Italy","it"],"22237":["WindTre / Hi3G","it"],"22239":["SMS.it / LINK Mobility","it"],"22240":["Agile Telecom","it"],"22242":["Enel","it"],"22243":["Telecom Italia Mobile","it"],"22244":["Mundio","it"],"22248":["Telecom Italia Mobile","it"],"22249":["Vianova Mobile","it"],"22250":["Iliad","it"],"22251":["ho.","it"],"22253":["WEB CoopVoce","it"],"22254":["Plintron","it"],"22256":["Spusu IT","it"],"22258":["rdcom","it"],"22277":["IPSE 2000","it"],"22288":["WINDTRE","it"],"22298":["Blu","it"],"22299":["WINDTRE","it"],"222999":["Fix Line","it"],"225299":["Failed Calls","va"],"22601":["Vodafone","ro"],"22602":["Romtelecom SA","ro"],"22603":["Telekom","ro"],"22604":["Telekom Romania","ro"],"22605":["Digi.Mobil","ro"],"22606":["Telekom Romania","ro"],"22610":["Orange","ro"],"22611":["Enigma Systems","ro"],"22616":["Lycamobile","ro"],"226299":["Iristel","ro"],"22801":["Swisscom","ch"],"22802":["Sunrise","ch"],"22803":["Salt","ch"],"22805":["Comfone AG","ch"],"22806":["SBB AG","ch"],"22807":["IN&Phone SA","ch"],"22808":["Tele2 Telecommunications AG","ch"],"22809":["Comfone","ch"],"22812":["Sunrise","ch"],"22851":["Bebbicell AG","ch"],"22852":["Mundio Mobile AG","ch"],"22853":["Sunrise","ch"],"22854":["Lycamobile","ch"],"22858":["Beeone","ch"],"22859":["Vectone Mobile","ch"],"22860":["Sunrise","ch"],"22862":["Telecom26","ch"],"22865":["Nexphone","ch"],"22866":["Inovia","ch"],"22869":["MTEL","ch"],"22870":["Tismi","ch"],"22871":["Spusu CH","ch"],"228999":["Fix Line","ch"],"23001":["T-Mobile","cz"],"23002":["O2","cz"],"23003":["Vodafone","cz"],"23004":["Mobilkom a.s.","cz"],"23005":["PODA","cz"],"23007":["T-Mobile","cz"],"23008":["Compatel","cz"],"23009":["Uniphone","cz"],"230299":["+4U Mobile","cz"],"23098":["Sprava Zeleznicni Dopravni Cesty","cz"],"23099":["Vodafone","cz"],"230999":["Fix Line","cz"],"23101":["Orange","sk"],"23102":["Slovak Telekom","sk"],"23103":["4ka SK","sk"],"23104":["Eurotel, UMTS","sk"],"23105":["Orange, UMTS","sk"],"23106":["O2","sk"],"23107":["Orange","sk"],"23108":["Uniphone","sk"],"23115":["Orange","sk"],"231299":["Vonage","sk"],"23150":["Telekom","sk"],"23199":["ZSR","sk"],"23201":["A1 Telekom","at"],"23202":["A1 Telekom","at"],"23203":["Magenta Telekom","at"],"23204":["T-Mobile / Magenta","at"],"23205":["Drei","at"],"23206":["Hutchison Drei / 3","at"],"23207":["Magenta Telekom","at"],"23208":["Telefonica Austria","at"],"23209":["A1 Telekom","at"],"23210":["Drei","at"],"23211":["A1 Telekom","at"],"23212":["A1 Telekom","at"],"23213":["T-Mobile / Magenta","at"],"23214":["Hutchinson Drei","at"],"23215":["T-Mobile / Magenta","at"],"23216":["Hutchinson Drei","at"],"23217":["Spusu AT","at"],"23218":["smartspace","at"],"23219":["Hutchinson Drei","at"],"23220":["Mtel","at"],"23222":["Plintron","at"],"23223":["T-Mobile / Magenta","at"],"23224":["Smartel Services","at"],"23225":["Holding Graz","at"],"23226":["LIWEST Mobil","at"],"23227":["Tismi","at"],"232299":["ArgoNET","at"],"23291":["OBB Infrastruktur","at"],"232999":["Fix Line","at"],"23400":["British Telecom","gb"],"23401":["Mapesbury Communications Ltd.","gb"],"23402":["O2","gb"],"23403":["Jersey Telenet Ltd","gb"],"23404":["FMS Solutions Ltd","gb"],"23405":["Spitfire Network Services Ltd","gb"],"23406":["Internet One Ltd","gb"],"23407":["Cable and Wireless plc","gb"],"23408":["BT OnePhone","gb"],"23409":["Wire9 Telecom plc","gb"],"23410":["O2","gb"],"23411":["O2","gb"],"23412":["Ntework Rail Infrastructure Ltd","gb"],"23413":["Ntework Rail Infrastructure Ltd","gb"],"23414":["Hay Systems Ltd","gb"],"23415":["Vodafone","gb"],"23416":["Opal Telecom Ltd","gb"],"23417":["Flextel Ltd","gb"],"23418":["Wire9 Telecom plc","gb"],"23419":["Teleware plc","gb"],"23420":["Three Mobile","gb"],"23422":["Telesign Mobile","gb"],"23423":["Icron Network","gb"],"23424":["Greenfone","gb"],"23425":["Truphone","gb"],"23426":["Lycamobile","gb"],"23427":["Tata Communications Ltd","gb"],"23428":["Marathon Telecom","gb"],"23429":["aql","gb"],"23430":["EE","gb"],"23431":["EE","gb"],"23432":["EE","gb"],"23433":["EE","gb"],"23434":["Orange","gb"],"23435":["JSC Ingenicum","gb"],"23436":["Sure Isle of Man","gb"],"23437":["Synectiv","gb"],"23438":["Virgin Mobile","gb"],"23439":["Gamma","gb"],"23440":["Spusu GB","gb"],"23450":["Jersey Telecom","gb"],"23451":["now broadband","gb"],"23453":["TANGO","gb"],"23455":["Cable and Wireless Guensey Ltd","gb"],"23456":["NCSC","gb"],"23457":["Sky","gb"],"23458":["Manx Telecom","gb"],"23471":["Emergency Services Network","gb"],"23472":["Hanhaa Mobile","gb"],"23474":["Pareteum","gb"],"23475":["Inquam Telecom (Holdings) Ltd.","gb"],"23476":["British Telecom","gb"],"23477":["Vodafone","gb"],"23478":["Airwave mmO2 Ltd","gb"],"23486":["EE","gb"],"23489":["Vodafone","gb"],"23491":["Vodafone","gb"],"23492":["Vodafone","gb"],"23494":["Three Mobile","gb"],"23495":["Network Rail","gb"],"23499":["08Direct","gb"],"234998":["Virgin Mobile","gb"],"234999":["Fix Line","gb"],"23502":["Everyth. Ev.wh.","gb"],"23594":["Three Mobile","gb"],"23801":["TDC Mobil","dk"],"23802":["Telenor","dk"],"23803":["MIGway A/S","dk"],"23804":["Nexcon.io","dk"],"23806":["3","dk"],"23807":["Barablu Mobile Ltd.","dk"],"23808":["Voxbone / Bandwidth","dk"],"23810":["TDC Mobil","dk"],"23812":["Lycamobile","dk"],"23813":["Compatel","dk"],"23814":["Monty Mobile","dk"],"23815":["Net 1","dk"],"23816":["Tismi","dk"],"23817":["Gotanet","dk"],"23820":["Telia","dk"],"23823":["Banedanmark","dk"],"23825":["Viahub","dk"],"23828":["LINK Mobility","dk"],"23830":["Telia","dk"],"23842":["Greenwave","dk"],"23866":["Telenor","dk"],"23873":["Onomondo","dk"],"23877":["Tele2","dk"],"23888":["Cobira","dk"],"23896":["Telia","dk"],"238999":["Fix Line","dk"],"24001":["Telia Sverige AB","se"],"24002":["3 (Hi3G Access AB)","se"],"24003":["Nordisk Mobiltelefon AS","se"],"24004":["3G Infrastructure Services AB","se"],"24005":["Svenska UMTS-Nät AB","se"],"24006":["Vimla","se"],"24007":["Tele2/Comviq Sverige/Com Hem","se"],"24008":["Telenor Sverige AB","se"],"24009":["Telenor Sweden (not used)","se"],"24010":["Spring Mobil AB","se"],"24011":["Linholmen Science Park AB","se"],"24012":["Barablu Mobile Scandinavia Ltd","se"],"24013":["Ventelo Sverige AB","se"],"24014":["TDC Mobil A/S","se"],"24015":["Wireless Maingate Nordic AB","se"],"24016":["42IT AB","se"],"24017":["Gotanet","se"],"24018":["Messit / Minicall","se"],"24019":["Vectone Mobile","se"],"24020":["Wireless Maingate Message Services AB","se"],"24021":["Banverket","se"],"24022":["EUtel","se"],"24023":["Infobip","se"],"24024":["Telenor","se"],"24025":["Monty Mobile","se"],"24026":["Twilio","se"],"24027":["Globetouch","se"],"24028":["LINK Mobility","se"],"24029":["MI Carrier Services","se"],"24030":["NextGen Mobile Ltd (CardBoardFish)","se"],"24031":["Rebtel","se"],"24032":["Compatel","se"],"24033":["Mobile Arts","se"],"24035":["42 Telecom","se"],"24036":["interactive digital media / IDM","se"],"24037":["Sinch","se"],"24038":["Voxbone / Bandwidth","se"],"24039":["Primlight","se"],"24040":["Netmore","se"],"24042":["Telenor Connexion","se"],"24043":["MobiWeb","se"],"24044":["Telenabler","se"],"24045":["Spirius","se"],"24046":["Viahub","se"],"24047":["Viatel","se"],"24048":["Tismi","se"],"24050":["Telavox","se"],"24063":["Fink Telecom","se"],"240999":["Fix Line","se"],"24201":["Telenor","no"],"242017":["Ventelo AS","no"],"24202":["Telia","no"],"24203":["Teletopia Mobile Communications AS","no"],"24204":["Tele2 Norge AS","no"],"24205":["OneCall","no"],"24206":["ICE","no"],"24207":["Ventelo AS","no"],"24208":["TDC Mobil A/S","no"],"24209":["com4","no"],"24210":["Nkom","no"],"24212":["Telenor","no"],"24214":["Ice Norway","no"],"24215":["eRate","no"],"24216":["Iristel","no"],"24220":["BANE NOR","no"],"24221":["BANE NOR","no"],"24222":["Altibox Mobil","no"],"24223":["Lycamobile","no"],"242299":["bigblu","no"],"242999":["Fix Line","no"],"24403":["DNA","fi"],"24404":["Finnet Networks Ltd.","fi"],"24405":["Elisa","fi"],"24406":["Elisa","fi"],"24407":["Nokia Test Network","fi"],"24408":["Unknown","fi"],"24409":["Finnet Group","fi"],"24410":["TDC","fi"],"24411":["Viahub","fi"],"24412":["DNA","fi"],"24413":["DNA","fi"],"24414":["Alands Mobiltelefon AB","fi"],"24415":["Telit","fi"],"24416":["Oy Finland Tele2 AB","fi"],"24421":["Elisa","fi"],"24424":["Nord Connect","fi"],"24426":["Compatel","fi"],"24429":["Scnl Truphone","fi"],"244299":["Benemen","fi"],"24432":["Voxbone / Bandwidth","fi"],"24433":["VIRVE","fi"],"24435":["Ukko Mobile","fi"],"24436":["Telia","fi"],"24437":["Tismi","fi"],"24438":["NSN","fi"],"24439":["NSN","fi"],"24440":["NSN","fi"],"24441":["NSN","fi"],"24442":["Viahub","fi"],"24443":["Telavox","fi"],"24445":["VIRVE","fi"],"24446":["VIRVE","fi"],"24447":["VIRVE","fi"],"24482":["interactive digital media / IDM","fi"],"24491":["Telia","fi"],"24601":["Telia","lt"],"24602":["BITĖ","lt"],"24603":["Tele2","lt"],"24605":["LTG","lt"],"24606":["Mediafon","lt"],"246299":["SkyCall","lt"],"24701":["LMT","lv"],"24702":["Tele2/ZZ","lv"],"24703":["Telekom Baltija","lv"],"24704":["Beta Telecom","lv"],"24705":["Bite","lv"],"24706":["SIA Rigatta","lv"],"24707":["SIA Master Telecom","lv"],"24708":["VENTA Mobile","lv"],"24709":["XOmobile","lv"],"24710":["LMT","lv"],"247299":["Premium Numbers","lv"],"24801":["Telia","ee"],"24802":["Elisa","ee"],"24803":["Tele2","ee"],"24804":["OY Top Connect","ee"],"24805":["AS Bravocom Mobiil","ee"],"24806":["OY ViaTel","ee"],"24807":["Televõrgu AS","ee"],"24813":["Telia","ee"],"24871":["Siseministeerium (Ministry of Interior)","ee"],"25001":["МТС","ru"],"25002":["MegaFon","ru"],"25003":["Tele2","ru"],"25004":["Sibchallenge","ru"],"25005":["Tele2","ru"],"250050":["Sberbank-Telecom","ru"],"25007":["BM Telecom","ru"],"25009":["Skylink","ru"],"25010":["Don Telecom","ru"],"25011":["Orensot","ru"],"25012":["Tele2","ru"],"25013":["Kuban GSM","ru"],"25015":["ZAO SMARTS","ru"],"25016":["New Telephone Company","ru"],"25017":["Tele2","ru"],"25019":["Volgograd Mobile","ru"],"25020":["Tele2","ru"],"25026":["VTB Mobile","ru"],"25028":["Extel","ru"],"250299":["A-Mobile","ru"],"25032":["Win Mobile","ru"],"25033":["SEVTELECOM","ru"],"25034":["Krymtelecom","ru"],"25035":["Motiv","ru"],"25039":["Tele2","ru"],"25042":["MTT","ru"],"25044":["Stuvtelesot","ru"],"25047":["Next Mobile","ru"],"25048":["Global Telecom","ru"],"25050":["Sberbank","ru"],"25054":["Letai Mobile","ru"],"25055":["Glonass","ru"],"25057":["Matrix Mobile","ru"],"25060":["Volna Mobile","ru"],"25062":["Tinkoff","ru"],"25077":["Glonass","ru"],"25092":["Printelefone","ru"],"25093":["Telecom XXI","ru"],"25097":["Phoenix","ru"],"25099":["Билайн","ru"],"250999":["Fix Line","ru"],"25501":["Ukrainian Mobile Communication, UMC","ua"],"25502":["T-Mobile - UA","ua"],"25503":["Kyivstar GSM","ua"],"25504":["International Telecommunications Ltd.","ua"],"25505":["Golden Telecom","ua"],"25506":["Astelit","ua"],"25507":["Ukrtelecom","ua"],"25521":["CJSC - Telesystems of Ukraine","ua"],"25539":["Golden Telecom","ua"],"25550":["Vodafone","ua"],"25567":["KyivStar","ua"],"25568":["Kyivstar","ua"],"25599":["Phoenix","ua"],"25701":["A1 BY","by"],"25702":["MTS","by"],"25703":["BelCel JV","by"],"25704":["life:)","by"],"25901":["Orange Moldova GSM","md"],"25902":["Moldcell","md"],"25903":["Unite","md"],"25904":["Eventis Mobile GSM","md"],"25905":["Unité","md"],"25999":["Unite","md"],"26001":["Plus","pl"],"26002":["T-Mobile","pl"],"26003":["Orange","pl"],"26004":["Tele2 Polska (Tele2 Polska Sp. Z.o.o.)","pl"],"26005":["IDEA (UMTS)/PTK Centertel sp. Z.o.o.","pl"],"26006":["PLAY","pl"],"26007":["Premium internet","pl"],"26008":["E-Telko","pl"],"26009":["Telekomunikacja Kolejowa (GSM-R)","pl"],"26010":["Telefony Opalenickie","pl"],"26011":["NORDISK Polska","pl"],"26012":["Cyfrowy Polsat","pl"],"26013":["Move","pl"],"26014":["Move","pl"],"26015":["Aero2","pl"],"26016":["Aero2","pl"],"26017":["Aero2","pl"],"26018":["AMD Telecom","pl"],"26019":["NetBalt","pl"],"26020":["Tismi","pl"],"26022":["Twilio","pl"],"26027":["Ntel Solutions","pl"],"260299":["3S","pl"],"26032":["Compatel","pl"],"26034":["T-Mobile","pl"],"26035":["PKP","pl"],"26036":["Mundio Mobile Sp. z o.o.","pl"],"26038":["CallFreedom Sp. z o.o.","pl"],"26039":["Voxbone / Bandwidth","pl"],"26041":["EZ Mobile","pl"],"26042":["MobiWeb","pl"],"26044":["Rebtel","pl"],"26045":["Virgin Mobile","pl"],"26047":["SMSHIGHWAY","pl"],"26048":["Agile Telecom","pl"],"26049":["Messagebird","pl"],"26090":["Polska Spolka Gazownictwa","pl"],"26097":["Politechnika Lodzka Uczelniane","pl"],"26098":["Play","pl"],"260999":["Fix Line","pl"],"26201":["Telekom","de"],"26202":["Vodafone","de"],"26203":["O2","de"],"26204":["Vodafone","de"],"26205":["Telefonica / E-Plus","de"],"26206":["Telekom","de"],"26207":["O2","de"],"26208":["Telefonica / O2","de"],"26209":["Vodafone Lab","de"],"26210":["Arcor AG & Co.","de"],"26211":["O2","de"],"26212":["Dolphin Telecom (Deutschland) GmbH","de"],"26213":["Mobilcom Multimedia GmbH","de"],"26214":["Group 3G UMTS GmbH (Quam)","de"],"26215":["Airdata AG","de"],"26216":["Telefonica / O2","de"],"26217":["Telefonica / E-Plus","de"],"26220":["Voiceworks DE","de"],"26221":["Multiconnect","de"],"26222":["sipgate","de"],"26223":["1&1","de"],"26224":["TelcoVillage","de"],"262299":["1&1","de"],"26233":["sipgate","de"],"26242":["Vodafone","de"],"26243":["Lycamobile","de"],"26276":["Siemens AG, ICMNPGUSTA","de"],"26277":["Telefonica / E-Plus","de"],"26278":["Telekom / T-mobile","de"],"262999":["Fix Line","de"],"26601":["Gibtelecom GSM","gi"],"26606":["CTS Mobile","gi"],"26609":["Cloud9 Mobile Communications","gi"],"266299":["GibFibreSpeed","gi"],"266999":["Fix Line","gi"],"26801":["Vodafone","pt"],"26802":["Digi Portugal","pt"],"26803":["NOS","pt"],"26804":["Lycamobile","pt"],"26805":["Oniway - Inforcomunicaçôes, S.A.","pt"],"26806":["MEO","pt"],"26807":["NOS","pt"],"26808":["MEO","pt"],"268299":["NOWO","pt"],"26880":["MEO","pt"],"26891":["Vodafone","pt"],"26893":["NOS","pt"],"268999":["Fix Line","pt"],"27001":["P&T Luxembourg","lu"],"27002":["MTX","lu"],"27005":["Luxembourg Online","lu"],"27010":["Blue Communications","lu"],"270299":["Bouygues Telecom","lu"],"27077":["Tango","lu"],"27081":["e-LUX Mobile","lu"],"27099":["Orange","lu"],"270999":["Fix Line","lu"],"27201":["Vodafone","ie"],"27202":["3","ie"],"27203":["Meteor Mobile Communications Ltd.","ie"],"27204":["Access Telecom","ie"],"27205":["3","ie"],"27207":["Eircom","ie"],"27208":["Meteor / eir mobile","ie"],"27209":["Clever Communications Ltd.","ie"],"27211":["Tesco Mobile","ie"],"27213":["Lycamobile","ie"],"27215":["Virgin Media","ie"],"27217":["3","ie"],"27225":["Sky IE","ie"],"27401":["Iceland Telecom Ltd.","is"],"27402":["Tal hf","is"],"27403":["Islandssimi GSM ehf","is"],"27404":["IMC Islande ehf","is"],"27405":["Vodafone","is"],"27407":["IceCell ehf","is"],"27408":["Siminn","is"],"27409":["Amitelo","is"],"27411":["Nova","is"],"27412":["Vodafone","is"],"27416":["Tismi","is"],"27431":["Siminn","is"],"27601":["One / AMC","al"],"27602":["Vodafone","al"],"27603":["Eagle Mobile","al"],"27604":["PLUS Communication Sh.a","al"],"27801":["Epic","mt"],"27821":["go mobile","mt"],"27830":["GO Mobile","mt"],"27877":["Melita","mt"],"278999":["Fix Line","mt"],"28001":["CYTA","cy"],"28002":["Cytamobile-Vodafone","cy"],"28010":["epic","cy"],"28020":["PrimeTel","cy"],"28022":["Cablenet","cy"],"280999":["Fix Line","cy"],"28201":["Geocell Ltd.","ge"],"28202":["Magti GSM Ltd.","ge"],"28203":["Iberiatel Ltd.","ge"],"28204":["Mobitel Ltd.","ge"],"28205":["Silknet","ge"],"28207":["GlobalCell","ge"],"28208":["Silknet","ge"],"28210":["Premium Net","ge"],"28211":["Mobilive","ge"],"28212":["Telecom 1","ge"],"28222":["MyPhone","ge"],"28301":["ArmenTel","am"],"28304":["Karabakh Telecom","am"],"28305":["K Telecom CJSC","am"],"28310":["Orange","am"],"28401":["A1","bg"],"28403":["VIVACOM","bg"],"28405":["Yettel","bg"],"28406":["Vivacom","bg"],"28411":["bulsatcom","bg"],"28413":["MAX TELECOM","bg"],"28601":["Paycell | Turkcell","tr"],"28602":["Vodafone","tr"],"28603":["Türk Telekom","tr"],"28604":["Türk Telekom","tr"],"286299":["Asistan Telekom","tr"],"286999":["Fix Line","tr"],"28801":["Faroese Telecom - GSM","fo"],"28802":["Kall GSM","fo"],"28803":["Tosa","fo"],"28967":["Aquafon","ge"],"28968":["A-Mobile","ge"],"28988":["A-Mobile","ge"],"29001":["Tele Greenland","gl"],"29201":["SMT - San Marino Telecom","sm"],"292299":["TeleneT","sm"],"29310":["Slovenske zeleznice","si"],"29320":["Compatel","si"],"293299":["HOT mobil","si"],"29340":["SI Mobil","si"],"29341":["Telekom Slovenije","si"],"29364":["T-2 d.o.o.","si"],"29370":["Telemach","si"],"29386":["Elektro Gorenjska","si"],"293999":["Fix Line","si"],"29401":["Mkedonski Telecom AD Skopje","mk"],"29402":["Cosmofon","mk"],"29403":["Nov Operator","mk"],"29404":["Lycamobile","mk"],"29411":["Mobik","mk"],"294299":["Failed Calls","mk"],"29475":["A1","mk"],"29501":["Telecom FL AG","li"],"29502":["Viag Europlatform AG","li"],"29505":["Mobilkom (Liechstein) AG","li"],"29506":["CUBIC","li"],"29507":["First Mobile AG","li"],"29509":["EMnify","li"],"295299":["Datamobile","li"],"29577":["Tele2 AG","li"],"29701":["ONE","me"],"29702":["Crnogorski Telekom","me"],"29703":["MTEL d.o.o. Podgorica","me"],"302130":["Xplornet","ca"],"302131":["Xplornet","ca"],"302220":["Telus Mobility","ca"],"302270":["EastLink","ca"],"302290":["Airtel Wireless","ca"],"302320":["Chatr Mobile","ca"],"30236":["Clearnet","ca"],"302360":["Clearnet","ca"],"302361":["Clearnet","ca"],"302370":["FIDO (Rogers AT&T/ Microcell)","ca"],"302380":["DMTS Mobility","ca"],"302490":["Freedom Mobile","ca"],"302500":["Videotron","ca"],"302510":["Videotron","ca"],"302520":["Videotron","ca"],"302610":["Bell Mobility","ca"],"30262":["Ice Wireless","ca"],"30263":["Aliant Mobility","ca"],"302630":["Bell Mobility","ca"],"30264":["Bell Mobility","ca"],"302640":["Bell Mobility","ca"],"302651":["Bell Mobility","ca"],"302652":["BC Tel Mobility","ca"],"302653":["Telus Mobility","ca"],"302654":["Sask Tel Mobility","ca"],"302655":["MTS Mobility","ca"],"302656":["Tbay Mobility","ca"],"302657":["Quebectel Mobility","ca"],"302660":["MTS Mobility","ca"],"30267":["CityTel Mobility","ca"],"302670":["CityWest Mobility","ca"],"30268":["Sask Tel Mobility","ca"],"302680":["Sask Tel Mobility","ca"],"302681":["Sask Tel Mobility","ca"],"302701":["NB Tel Mobility","ca"],"302702":["MT&T Mobility","ca"],"302703":["New Tel Mobility","ca"],"30271":["Globalstar","ca"],"302710":["Globalstar Canada","ca"],"30272":["Rogers","ca"],"302720":["Rogers","ca"],"302760":["Public Mobile","ca"],"302780":["Sask Tel Mobility","ca"],"302781":["Sask Tel Mobility","ca"],"30801":["St. Pierre-et-Miquelon Télécom","pm"],"30808":["St. Pierre-et-Miquelon Télécom","pm"],"310003":["Unknown","us"],"310004":["Verizon Wireless","us"],"310010":["MCI","us"],"310011":["Northstar","us"],"310012":["Verizon Wireless","us"],"310013":["Mobile Tel Inc.","us"],"310014":["Testing US","us"],"310016":["Leap Wireless International Inc.","us"],"310017":["North Sight Communications Inc.","us"],"310020":["Union Telephone Company","us"],"310023":["C Spire","us"],"310026":["T-Mobile - US","us"],"310028":["ALU Test-SIM","us"],"310030":["AT&T","us"],"310032":["IT&E OverSeas","gu"],"310033":["Guam Teleph. Auth","gu"],"310034":["Nevada Wireless LLC","us"],"310040":["MTA Communications dba MTA Wireless","us"],"310050":["ACS Wireless Inc.","us"],"31006":["Consolidated Telcom","us"],"310060":["Consolidated Telcom","us"],"310070":["AT&T","us"],"310080":["Corr Wireless Communications LLC","us"],"310090":["Edge Wireless LLC","us"],"310100":["New Mexico RSA 4 East Ltd. Partnership","us"],"310110":["Pacific Telecom Inc","us"],"310120":["Sprint","us"],"310130":["Carolina West Wireless","us"],"31014":["Testing","us"],"310140":["GTA Wireless LLC","us"],"31015":["Unknown","us"],"310150":["Cricket Wireless","us"],"310160":["T-Mobile - US","us"],"310170":["AT&T","us"],"310180":["West Central Wireless","us"],"310190":["Alaska Wireless Communications LLC","us"],"310200":["T-Mobile - US","us"],"310210":["T-Mobile - US","us"],"310220":["T-Mobile - US","us"],"31023":["Unknown","us"],"310230":["T-Mobile - US","us"],"31024":["Unknown","us"],"310240":["T-Mobile - US","us"],"31025":["Unknown","us"],"310250":["T-Mobile - US","us"],"31026":["T-Mobile - US","us"],"310260":["T-Mobile - US","us"],"310270":["T-Mobile - US","us"],"310280":["AT&T","us"],"310290":["Nep Cellcorp Inc.","us"],"310300":["T-Mobile - US","us"],"31031":["T-Mobile","us"],"310310":["T-Mobile - US","us"],"310320":["Smith Bagley Inc, dba Cellular One","us"],"310330":["AN Subsidiary LLC","us"],"31034":["Nevada Wireless LLC","us"],"310340":["High Plains Midwest LLC, dba Wetlink Communications","us"],"310350":["Mohave Cellular L.P.","us"],"310360":["Cellular Network Partnership dba Pioneer Cellular","us"],"310370":["Guamcell Cellular and Paging","us"],"31038":["USA 3650 AT&T","us"],"310380":["AT&T","us"],"310390":["TX-11 Acquistion LLC","us"],"310400":["Wave Runner LLC","us"],"310410":["AT&T","us"],"310420":["Cincinnati Bell Wireless LLC","us"],"310430":["Alaska Digitel LLC","us"],"310440":["Numerex Corp.","us"],"310450":["North East Cellular Inc.","us"],"31046":["SIMMETRY","us"],"310460":["TMP Corporation","us"],"310470":["nTelos","us"],"310480":["Choice Phone LLC","us"],"310490":["T-Mobile - US","us"],"310500":["Public Service Cellular, Inc.","us"],"310510":["Airtel Wireless LLC","us"],"310520":["VeriSign","us"],"310530":["T-Mobile - US","us"],"310540":["Oklahoma Western Telephone Company","us"],"310550":["Wireless Solutions International","us"],"310560":["AT&T","us"],"310570":["MTPCS LLC","us"],"310580":["Inland Cellular","us"],"310590":["Verizon Wireless","us"],"310591":["Verizon Wireless","us"],"310592":["Verizon Wireless","us"],"310593":["Verizon Wireless","us"],"310594":["Verizon Wireless","us"],"310595":["Verizon Wireless","us"],"310596":["Verizon Wireless","us"],"310597":["Verizon Wireless","us"],"310598":["Verizon Wireless","us"],"310599":["Verizon Wireless","us"],"31060":["Consolidated Telcom","us"],"310600":["New-Cell Inc.","us"],"310610":["Elkhart Telephone Co. Inc. dba Epic Touch Co.","us"],"310620":["Coleman County Telecommunications Inc. (Trans Texas PCS)","us"],"310640":["T-Mobile - US","us"],"310650":["Jasper Wireless Inc.","us"],"310660":["T-Mobile - US","us"],"310670":["AT&T Mobility Vanguard Services","us"],"310680":["AT&T","us"],"310690":["Limitless Mobile","us"],"310700":["Cross Valiant Cellular Partnership","us"],"310710":["Arctic Slopo Telephone Association Cooperative","us"],"310720":["Wireless Solutions International Inc.","us"],"310730":["Sea Mobile","us"],"310740":["Telemetrix Inc.","us"],"310750":["East Kentucky Network LLC dba Appalachian Wireless","us"],"310760":["Panhandle Telecommunications Systems Inc.","us"],"310770":["Iowa Wireless Services LLC dba I Wireless","us"],"310780":["Connect Net Inc","us"],"310790":["PinPoint Communications Inc.","us"],"310800":["T-Mobile - US","us"],"310810":["Brazos Cellular Communications Ltd.","us"],"310820":["South Canaan Cellular Communications Co. LP","us"],"310830":["Caprock Cellular Ltd. Partnership","us"],"310840":["Edge Mobile LLC","us"],"310850":["Aeris Communications, Inc.","us"],"310860":["TX RSA 15B2, LP dba Five Star Wireless","us"],"310870":["Kaplan Telephone Company Inc.","us"],"310880":["Advantage Cellular Systems, Inc.","us"],"310890":["Verizon Wireless","us"],"310900":["Mid-Rivers","us"],"310910":["Southern IL RSA Partnership dba First Cellular of Southern Illinois","us"],"310920":["James Valley","us"],"310930":["Copper Valley Wireless","us"],"310940":["Poka Lambro Telco Ltd.","us"],"310950":["AT&T","us"],"310960":["UBET Wireless","us"],"310970":["Globalstar USA","us"],"310980":["AT&T Wireless Inc.","us"],"310990":["Evolve","us"],"310995":["Android Emulator","us"],"310999":["Various Networks","us"],"311000":["Mid-Tex Cellular Ltd.","us"],"311010":["Chariton Valley Communications Corp., Inc.","us"],"311020":["Missouri RSA No. 5 Partnership","us"],"311030":["Indigo Wireless, Inc.","us"],"311040":["Commet Wireless, LLC","us"],"311050":["Thumb Cellular Limited Partnership","us"],"311060":["Space Data Corporation","us"],"311070":["Easterbrooke Cellular Corporation","us"],"311080":["Pine Telephone Company dba Pine Cellular","us"],"311090":["Siouxland PCS","us"],"311100":["NexTech Wireless","us"],"311110":["Alltel Communications Inc.","us"],"311120":["Choice Phone LLC","us"],"311140":["MBO Wireless Inc./Cross Telephone Company","us"],"311150":["Wilkes Cellular Inc.","us"],"311170":["PetroCom LLC","us"],"311180":["AT&T","us"],"311190":["Cellular Properties Inc.","us"],"311200":["ARINC","us"],"311210":["Farmers Cellular Telephone","us"],"311220":["U.S. Cellular","us"],"311221":["U.S. Cellular","us"],"311222":["U.S. Cellular","us"],"311223":["U.S. Cellular","us"],"311224":["U.S. Cellular","us"],"311225":["U.S. Cellular","us"],"311226":["U.S. Cellular","us"],"311227":["U.S. Cellular","us"],"311228":["U.S. Cellular","us"],"311229":["U.S. Cellular","us"],"311230":["C Spire","us"],"311240":["Cordova Wireless Communications Inc","us"],"311250":["Wave Runner LLC","us"],"311260":["SLO Cellular Inc. dba CellularOne of San Luis Obispo","us"],"311270":["Verizon Wireless","us"],"311271":["Alltel Communications Inc.","us"],"311272":["Alltel Communications Inc.","us"],"311273":["Alltel Communications Inc.","us"],"311274":["Alltel Communications Inc.","us"],"311275":["Alltel Communications Inc.","us"],"311276":["Alltel Communications Inc.","us"],"311277":["Alltel Communications Inc.","us"],"311278":["Alltel Communications Inc.","us"],"311279":["Alltel Communications Inc.","us"],"311280":["Verizon Wireless","us"],"311281":["Verizon Wireless","us"],"311282":["Verizon Wireless","us"],"311283":["Verizon Wireless","us"],"311284":["Verizon Wireless","us"],"311285":["Verizon Wireless","us"],"311286":["Verizon Wireless","us"],"311287":["Verizon Wireless","us"],"311288":["Verizon Wireless","us"],"311289":["Verizon Wireless","us"],"311290":["Pinpoint Wireless Inc.","us"],"311300":["Rutal Cellular Corporation","us"],"311310":["Leaco Rural Telephone Company Inc","us"],"311311":["Farmers","us"],"311320":["Commnet Wireless LLC","us"],"311330":["Bag Tussel Wireless LLC","us"],"311340":["Illinois Valley Cellular","us"],"311350":["Torrestar Networks Inc","us"],"311360":["Stelera Wireless LLC","us"],"311370":["GCI Communications Corp.","us"],"311380":["GreenFly LLC","us"],"311390":["Midwest Wireless Holdings LLC","us"],"311400":["Testing US","us"],"311410":["Iowa RSA No.2 Ltd Partnership","us"],"311420":["northwestcell","us"],"311430":["Chat Mobility","us"],"311440":["Bluegrass Cellular LLC","us"],"311450":["PTCI","us"],"311460":["Fisher Wireless Services Inc","us"],"311470":["Vitelcom Cellular Inc dba Innovative Wireless","us"],"311480":["Verizon Wireless","us"],"311481":["Verizon Wireless","us"],"311482":["Verizon Wireless","us"],"311483":["Verizon Wireless","us"],"311484":["Verizon Wireless","us"],"311485":["Verizon Wireless","us"],"311486":["Verizon Wireless","us"],"311487":["Verizon Wireless","us"],"311488":["Verizon Wireless","us"],"311489":["Verizon Wireless","us"],"311490":["T-Mobile - US","us"],"311500":["CTC Telecom Inc","us"],"311510":["Benton-Lian Wireless","us"],"311520":["Crossroads Wireless Inc","us"],"311530":["Wireless Communications Venture","us"],"311540":["Keystone Wireless Inc","us"],"311550":["Commnet Midwest LLC","us"],"311580":["U.S. Cellular","us"],"311581":["U.S. Cellular","us"],"311582":["U.S. Cellular","us"],"311583":["U.S. Cellular","us"],"311584":["U.S. Cellular","us"],"311585":["U.S. Cellular","us"],"311586":["U.S. Cellular","us"],"311587":["U.S. Cellular","us"],"311588":["U.S. Cellular","us"],"311589":["U.S. Cellular","us"],"311590":["California RSA No. 3 Limited Partnership","us"],"311600":["COX","us"],"311610":["North Dakota Network Company","us"],"311650":["United Wireless Communications Inc.","us"],"311660":["T-Mobile - Private 5G","us"],"311670":["Pine Belt Cellular, Inc.","us"],"311710":["Northeast Wireless Networks LLC","us"],"311740":["TelAlaska Cellular","us"],"311750":["Cleartalk","us"],"311780":["ASTCA","us"],"311800":["Bluegrass Wireless LLC","us"],"311810":["Bluegrass Wireless LLC","us"],"311830":["Thumb Cellular Limited Partnership","us"],"311860":["Uintah Basin Electronics Telecommunications Inc.","us"],"311870":["Boost","us"],"311880":["Sprint Spectrum","us"],"311882":["T-Mobile - US","us"],"311910":["MobileNation","us"],"311920":["Missouri RSA No 5 Partnership","us"],"311930":["Syringa","us"],"312010":["Missouri RSA No 5 Partnership","us"],"312030":["Cross Wireless Telephone Co.","us"],"312040":["Custer Telephone Cooperative Inc.","us"],"312090":["Allied Wireless Communications Corporation","us"],"312120":["East Kentucky Network LLC","us"],"312130":["East Kentucky Network LLC","us"],"312160":["Chat Mobility","us"],"312170":["Iowa RSA No. 2 Limited Partnership","us"],"312180":["Keystone Wireless LLC","us"],"312190":["Sprint Spectrum","us"],"312220":["Missouri RSA No 5 Partnership","us"],"312230":["North Dakota Network Company","us"],"312250":["T-Mobile - US","us"],"312270":["Cellular Network Partnership LLC","us"],"312280":["Cellular Network Partnership LLC","us"],"312290":["strata","us"],"312380":["Copper Valley Wireless","us"],"312420":["NexTech Ota","us"],"312530":["Sprint","us"],"312570":["Blue Wireless","us"],"312580":["Google CBRS","us"],"312670":["FirstNet (Lab)","us"],"312870":["GigSky","us"],"313100":["FirstNet","us"],"313110":["FirstNet","us"],"313120":["FirstNet","us"],"313130":["FirstNet","us"],"313140":["FirstNet","us"],"313380":["OptimERA Wireless","us"],"313390":["Optimum","us"],"313450":["Spectrum Mobile","us"],"313460":["Mobi","us"],"313770":["TANGO","us"],"313790":["Liberty Mobile","us"],"314020":["Spectrum+","us"],"314200":["Xfinity MSO","us"],"314240":["Xfinity Mobile 2.0","us"],"314420":["Cox MSO","us"],"314720":["OXIO","us"],"314730":["TextNow Wireless","us"],"315010":["CBRS","us"],"316010":["Nextel Communications Inc.","us"],"316011":["Southern Communications Services Inc.","us"],"33000":["Open Mobile","pr"],"33011":["Claro PR","pr"],"330110":["Claro PR","pr"],"33401":["AT&T MX","mx"],"334010":["NEXTEL","mx"],"33402":["Telcel","mx"],"334020":["Telcel","mx"],"33403":["Movistar","mx"],"334030":["Movistar","mx"],"33404":["AT&T/IUSACell","mx"],"334040":["AT&T MX","mx"],"33405":["AT&T/IUSACell","mx"],"334050":["AT&T MX","mx"],"334060":["SAI PCS","mx"],"334070":["AT&T MX","mx"],"334080":["AT&T MX","mx"],"33409":["AT&T MX","mx"],"334090":["AT&T MX","mx"],"334130":["Alestra Servicios Moviles","mx"],"334140":["ALTAN - Internal Use","mx"],"334170":["OXIO","mx"],"33450":["AT&T/IUSACell","mx"],"338020":["Cable & Wireless Jamaica Ltd.","jm"],"33805":["Mossel (Jamaica) Ltd.","jm"],"338050":["Mossel (Jamaica) Ltd.","jm"],"338070":["Claro","jm"],"338110":["Cable & Wireless","jm"],"33818":["Cable & Wireless","jm"],"338180":["Cable & Wireless","jm"],"34001":["Orange Caraïbe Mobiles","gf"],"34002":["Outremer Telecom","gf"],"34003":["Saint Martin et Saint Barthelemy Telcell Sarl","gf"],"34008":["Dauphin Telecom SU (Guadeloupe Telecom)","gp"],"34011":["TelCell GSM","gf"],"34012":["UTS Caraibe","mq"],"34020":["Digicel","gf"],"34080":["Dauphin Telecom","gf"],"342050":["Digicel","bb"],"342299":["Failed Calls","bb"],"342600":["Cable & Wireless (Barbados) Ltd.","bb"],"342750":["Digicel","bb"],"342810":["Cingular Wireless","bb"],"342820":["Sunbeach Communications","bb"],"34403":["APUA PCS","ag"],"344030":["imobile / APUA","ag"],"34492":["Flow","ag"],"344920":["Cable & Wireless (Antigua)","ag"],"344921":["FLOW","ag"],"34493":["Digicel","ag"],"344930":["AT&T Wireless (Antigua)","ag"],"346001":["Logic","ky"],"346006":["Digicel Ltd.","ky"],"346050":["Digicel","ky"],"346140":["Cable & Wireless (Cayman)","ky"],"348170":["Cable & Wireless","vg"],"348570":["Caribbean Cellular Telephone, Boatphone Ltd.","vg"],"34877":["Digicel","vg"],"348770":["Digicel","vg"],"350000":["Bermuda Digital Communications Ltd (BDC)","bm"],"350007":["Paradise Mobile","bm"],"35001":["Digicel","bm"],"35002":["M3 Wireless Ltd","bm"],"350299":["Failed Calls","bm"],"35099":["CellOne Ltd","bm"],"352030":["Digicel","gd"],"352050":["Digicel","gd"],"352110":["Grenada:Lime","gd"],"354860":["Cable & Wireless","ms"],"356110":["FLOW","kn"],"35650":["Digicel","kn"],"35670":["UTS Cariglobe","kn"],"358110":["Cable & Wireless","lc"],"35830":["Cingular Wireless","lc"],"35850":["Digicel (St Lucia) Limited","lc"],"360050":["Digicel","vc"],"36010":["Cingular","vc"],"360100":["Cingular","vc"],"360110":["Cable & Wireless (St. Vincent & the Grenadines) Ltd","vc"],"36070":["Digicel","vc"],"36251":["TELCELL GSM","an"],"362630":["Cingular Wireless","an"],"36269":["CT GSM","cw"],"36291":["SETEL GSM","an"],"36295":["EOCG Wireless NV","cw"],"362951":["UTS Wireless","an"],"362999":["Fix Line","bq"],"36301":["SETAR","aw"],"36302":["Digicel","aw"],"363020":["Digicel","aw"],"36320":["Digicel","aw"],"363299":["MIO","aw"],"36403":["Smart Communications","bs"],"364039":["BTC","bs"],"36430":["Cybercell / BaTelCo","bs"],"36439":["Cybercell / BaTelCo","bs"],"364390":["Bahamas Telecommunications","bs"],"36449":["ALIV BS","bs"],"364490":["Aliv","bs"],"365010":["Weblinks Limited","ai"],"365840":["Cable & Wireless","ai"],"365850":["Digicel","ai"],"366020":["Cingular Wireless/Digicel","dm"],"366050":["Wireless Ventures (Dominica) Ltd (Digicel Dominica)","dm"],"366110":["Cable & Wireless","dm"],"36801":["ETECSA","cu"],"368999":["Fix Line","cu"],"37001":["Altice Dominicana","do"],"37002":["Claro RD","do"],"370020":["Claro RD","do"],"37003":["Tricom S.A.","do"],"37004":["CentennialDominicana","do"],"37005":["Wind Telecom","do"],"37201":["Comcel","ht"],"37202":["Digicel","ht"],"37203":["Rectel","ht"],"37412":["TSTT Mobile","tt"],"374120":["Bmobile/TSTT","tt"],"374122":["TSTT Mobile","tt"],"374123":["TSTT Mobile","tt"],"374124":["TSTT Mobile","tt"],"374125":["TSTT Mobile","tt"],"374126":["TSTT Mobile","tt"],"374127":["TSTT Mobile","tt"],"374128":["TSTT Mobile","tt"],"374129":["TSTT Mobile","tt"],"37413":["Digicel Trinidad and Tobago Ltd.","tt"],"374130":["Digicel Trinidad and Tobago Ltd.","tt"],"374140":["LaqTel Ltd.","tt"],"376050":["Digicel TCI Ltd","tc"],"376350":["Cable & Wireless West Indies Ltd (Turks & Caicos)","tc"],"376352":["IslandCom Communications Ltd.","tc"],"37650":["Digicel","vi"],"40001":["Azercell Limited Liability Joint Venture","az"],"40002":["Bakcell Limited Liabil ity Company","az"],"40003":["Catel JV","az"],"40004":["Azerphone LLC","az"],"40006":["Naxtel","az"],"40101":["Beeline","kz"],"40102":["Kcell/activ","kz"],"40107":["Tele2/Altel","kz"],"40177":["Tele2/Altel","kz"],"40211":["Bhutan Telecom Ltd","bt"],"40217":["B-Mobile of Bhutan Telecom","bt"],"40277":["TashiCell","bt"],"40401":["Vi","in"],"40402":["Airtel","in"],"40403":["Airtel","in"],"40404":["Vi","in"],"404045":["Bharti Airtel Limited (Karnataka) (India)","in"],"40405":["Vi","in"],"40407":["Vi","in"],"40409":["Reliance","in"],"40410":["Airtel","in"],"40411":["Vi","in"],"40412":["Vi","in"],"40413":["Vi","in"],"40414":["Vi","in"],"40415":["Vi","in"],"40416":["Airtel","in"],"40417":["Aircel","in"],"40418":["Reliance","in"],"40419":["Vi","in"],"40420":["Vi","in"],"40421":["BPL Mobile Communications Ltd.","in"],"40422":["Vi","in"],"40424":["Vi","in"],"40425":["Aircel Ltd.","in"],"40427":["Vi","in"],"40428":["Aircel Ltd.","in"],"40429":["Aircel Ltd.","in"],"40430":["Vi","in"],"40431":["Airtel","in"],"40433":["Aircel","in"],"40434":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40436":["Reliance","in"],"40437":["Aircel Ltd.","in"],"40438":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40439":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40440":["Airtel","in"],"40441":["RPG Cellular","in"],"40442":["Aircel Ltd.","in"],"40443":["Vi","in"],"40444":["Vi","in"],"40445":["Airtel","in"],"40446":["Vi","in"],"40448":["Dishnet Wireless","in"],"40449":["Airtel","in"],"40450":["Reliance","in"],"40451":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40452":["Reliance","in"],"40453":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40454":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40455":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40456":["Vi","in"],"40457":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40458":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40459":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40460":["Vi","in"],"40462":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40464":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40465":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40466":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40467":["Reliance","in"],"40468":["Mahanagar Telephone Nigam Ltd.","in"],"40469":["Mahanagar Telephone Nigam Ltd.","in"],"40470":["Airtel","in"],"40471":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40472":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40473":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40474":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40475":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40476":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40477":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40478":["Vi","in"],"40479":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40480":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40481":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40482":["Vi","in"],"40483":["Reliable Internet Services Ltd.","in"],"40484":["Vi","in"],"40485":["Reliance","in"],"40486":["Vi","in"],"40487":["Vi","in"],"40488":["Vi","in"],"40489":["Vi","in"],"40490":["Airtel","in"],"40491":["Aircel Ltd.","in"],"40492":["Airtel","in"],"40493":["Airtel","in"],"40494":["Airtel","in"],"40495":["Airtel","in"],"40496":["Airtel","in"],"40497":["Airtel","in"],"40498":["Airtel","in"],"404998":["Fix Line","in"],"404999":["Various Networks","in"],"40501":["Reliance","in"],"405025":["TATA DOCOMO","in"],"405026":["TATA DOCOMO","in"],"405027":["TATA DOCOMO","in"],"405028":["TATA DOCOMO","in"],"405029":["TATA DOCOMO","in"],"40503":["Reliance","in"],"405030":["TATA DOCOMO","in"],"405031":["TATA DOCOMO","in"],"405032":["TATA DOCOMO","in"],"405033":["TATA DOCOMO","in"],"405034":["TATA DOCOMO","in"],"405035":["TATA DOCOMO","in"],"405036":["TATA DOCOMO","in"],"405037":["TATA DOCOMO","in"],"405038":["TATA DOCOMO","in"],"405039":["TATA DOCOMO","in"],"40504":["Reliance","in"],"405040":["TATA DOCOMO","in"],"405041":["TATA DOCOMO","in"],"405042":["TATA DOCOMO","in"],"405043":["TATA DOCOMO","in"],"405044":["TATA DOCOMO","in"],"405045":["TATA DOCOMO","in"],"405046":["TATA DOCOMO","in"],"405047":["TATA DOCOMO","in"],"40505":["Reliance","in"],"40506":["Reliance","in"],"40507":["Reliance","in"],"40508":["Reliance","in"],"40509":["Reliance","in"],"40510":["Reliance","in"],"40511":["Reliance","in"],"40512":["Reliance","in"],"40513":["Reliance","in"],"40514":["Reliance","in"],"40515":["Reliance","in"],"40517":["Reliance","in"],"40518":["Reliance","in"],"40519":["Reliance","in"],"40520":["Reliance","in"],"40521":["Reliance","in"],"40522":["Reliance","in"],"40523":["Reliance","in"],"40545":["Vi","in"],"40551":["Airtel","in"],"40552":["Airtel","in"],"40553":["Airtel","in"],"40554":["Airtel","in"],"40555":["Airtel","in"],"40556":["Airtel","in"],"40566":["Vi","in"],"40567":["Vi","in"],"40570":["Vi","in"],"405750":["Vi","in"],"405751":["Vi","in"],"405752":["Vi","in"],"405753":["Vi","in"],"405754":["Vi","in"],"405755":["Vi","in"],"405756":["Vi","in"],"405799":["Vi","in"],"405800":["Aircel Ltd.","in"],"405801":["Aircel Ltd.","in"],"405802":["Aircel Ltd.","in"],"405803":["Aircel Ltd.","in"],"405804":["Aircel Ltd.","in"],"405805":["Aircel Ltd.","in"],"405806":["Aircel Ltd.","in"],"405807":["Aircel Ltd.","in"],"405808":["Aircel Ltd.","in"],"405809":["Aircel Ltd.","in"],"405810":["Aircel Ltd.","in"],"405811":["Aircel Ltd.","in"],"405812":["Aircel Ltd.","in"],"405813":["Uninor","in"],"405814":["Uninor","in"],"405815":["Uninor","in"],"405816":["Uninor","in"],"405817":["Uninor","in"],"405818":["Uninor","in"],"405819":["Uninor","in"],"405820":["Uninor","in"],"405821":["Uninor","in"],"405822":["Uninor","in"],"405823":["Videocon","in"],"405824":["Videocon","in"],"405825":["Videocon","in"],"405826":["Videocon","in"],"405827":["Videocon","in"],"405828":["Videocon","in"],"405829":["Videocon","in"],"405830":["Videocon","in"],"405832":["Videocon","in"],"405833":["Videocon","in"],"405834":["Videocon","in"],"405835":["Videocon","in"],"405836":["Videocon","in"],"405837":["Videocon","in"],"405838":["Videocon","in"],"405840":["Reliance Jio","in"],"405841":["Videocon","in"],"405842":["Videocon","in"],"405843":["Videocon","in"],"405844":["Uninor","in"],"405845":["Vi","in"],"405846":["Vi","in"],"405847":["Vi","in"],"405848":["Vi","in"],"405849":["Vi","in"],"405850":["Vi","in"],"405851":["Vi","in"],"405852":["Vi","in"],"405853":["Vi","in"],"405854":["Reliance Jio","in"],"405855":["Reliance Jio","in"],"405856":["Reliance Jio","in"],"405857":["Reliance Jio","in"],"405858":["Reliance Jio","in"],"405859":["Reliance Jio","in"],"405860":["Reliance Jio","in"],"405861":["Reliance Jio","in"],"405862":["Reliance Jio","in"],"405863":["Reliance Jio","in"],"405864":["Reliance Jio","in"],"405865":["Reliance Jio","in"],"405866":["Reliance Jio","in"],"405867":["Reliance Jio","in"],"405868":["Reliance Jio","in"],"405869":["Reliance Jio","in"],"40587":["Reliance Telecom Private","in"],"405870":["Reliance Jio","in"],"405871":["Reliance Jio","in"],"405872":["Reliance Jio","in"],"405873":["Reliance Jio","in"],"405874":["Reliance Jio","in"],"405875":["Uninor","in"],"405876":["Uninor","in"],"405877":["Uninor","in"],"405878":["Uninor","in"],"405879":["Uninor","in"],"405880":["Uninor","in"],"405881":["STEL","in"],"405882":["STEL","in"],"405883":["STEL","in"],"405884":["STEL","in"],"405885":["STEL","in"],"405886":["STEL","in"],"405908":["Vi","in"],"405909":["Vi","in"],"405910":["Vi","in"],"405911":["Vi","in"],"405912":["Cheers","in"],"405913":["Cheers","in"],"405914":["Cheers","in"],"405915":["Cheers","in"],"405916":["Cheers","in"],"405917":["Cheers","in"],"405918":["Cheers","in"],"405919":["Cheers","in"],"405920":["Cheers","in"],"405921":["Cheers","in"],"405922":["Cheers","in"],"405923":["Cheers","in"],"405925":["Uninor","in"],"405926":["Uninor","in"],"405927":["Uninor","in"],"405928":["Uninor","in"],"405929":["Uninor","in"],"405930":["Cheers","in"],"405932":["Videocon","in"],"41001":["Jazz","pk"],"41003":["PAK Telecom Mobile Ltd. (UFONE)","pk"],"41004":["Zong","pk"],"41005":["SCOM","pk"],"41006":["Telenor","pk"],"41007":["Jazz","pk"],"41008":["Instaphone","pk"],"410299":["Failed Calls","pk"],"41201":["AWCC","af"],"41203":["WaselTelecom (WT)","af"],"41220":["Roshan","af"],"41230":["New1","af"],"41240":["Areeba Afghanistan","af"],"41250":["Etisalat","af"],"41280":["Mobifone","af"],"41288":["Afghan Telecom","af"],"41301":["Sri Lanka Telecom Mobitel","lk"],"41302":["Dialog Sri Lanka","lk"],"41303":["Celtel Lanka Ltd.","lk"],"41305":["Airtel Lanka","lk"],"41308":["Hutchison Telecommunications Lanka","lk"],"41401":["Myanmar Post and Telecommunication","mm"],"41405":["Ooredoo Myanmar","mm"],"41406":["Telenor","mm"],"41409":["Mytel","mm"],"414999":["Fix Line (Myanmar","mm"],"41501":["Alfa","lb"],"41503":["MTC Touch","lb"],"41505":["Ogero Mobile","lb"],"41515":["Connect","lb"],"41532":["Cellis","lb"],"41533":["Cellis","lb"],"41534":["Cellis","lb"],"41535":["Cellis","lb"],"41536":["Libancell","lb"],"41537":["Libancell","lb"],"41538":["Libancell","lb"],"41539":["Libancell","lb"],"41601":["Fastlink","jo"],"41602":["Xpress","jo"],"41603":["Umniah","jo"],"41677":["Orange Jordan","jo"],"416770":["Orange Jordan","jo"],"416999":["Fix Line","jo"],"41701":["Syriatel","sy"],"41702":["Spacetel Syria","sy"],"41709":["Syrian Telecom","sy"],"41750":["Rcell","sy"],"41805":["Asiacell","iq"],"41808":["SanaTel","iq"],"41820":["Zain Iraq","iq"],"41830":["Zain Iraq","iq"],"41840":["Korek","iq"],"41845":["Mobitel","iq"],"41862":["Itisaluna","iq"],"41866":["Fastlink","iq"],"41877":["SevenNet Layers","iq"],"41882":["Korek","iq"],"41892":["Omnnea","iq"],"41902":["Zain","kw"],"41903":["Ooredoo","kw"],"41904":["STC","kw"],"419999":["Fix Line","kw"],"42001":["STC","sa"],"42003":["Mobily","sa"],"42004":["Zain Saudi Arabia","sa"],"42005":["Virgin","sa"],"42006":["Lebara Mobile","sa"],"42007":["Zain","sa"],"42101":["SabaFon","ye"],"42102":["Spacetel Yemen","ye"],"42103":["YemenMobile","ye"],"42104":["HiTS-UNITEL","ye"],"42111":["YemenMobile","ye"],"42122":["YemenMobile","ye"],"421999":["Fix Line","ye"],"42202":["Omantel","om"],"42203":["Ooredoo","om"],"42204":["Omantel","om"],"42206":["Vodafone Oman","om"],"42402":["e& UAE","ae"],"42403":["du","ae"],"42501":["Partner Communications Co. Ltd.","il"],"42502":["Cellcom Israel Ltd.","il"],"42503":["Pelephone Communications Ltd.","il"],"42505":["Jawwal","ps"],"42506":["Ooredoo","ps"],"42507":["Hot Mobile","il"],"42508":["Golan Telecom","il"],"42509":["We4G","il"],"42510":["Partner Communications Co. Ltd.","il"],"42512":["Pelephone","il"],"42513":["Ituran","il"],"42514":["Alon Cellular Ltd","il"],"42515":["Home Cellular","il"],"42516":["Rami Levy","il"],"42517":["Von waves","il"],"42519":["019 Mobile","il"],"42522":["Maskyoo","il"],"42523":["Beezz","il"],"42526":["Annatel","il"],"425299":["Annatel Mobile","il"],"42577":["Hot Mobile","il"],"42601":["Batelco","bh"],"42602":["Zain Bahrain","bh"],"42604":["stc BH","bh"],"42605":["Batelco","bh"],"426299":["Failed Calls","bh"],"426999":["Fix Line","bh"],"42701":["Ooredoo","qa"],"42702":["Vodafone","qa"],"42800":["Skytel Co. Ltd","mn"],"42888":["Unitel","mn"],"42891":["Skytel","mn"],"42898":["G.Mobile","mn"],"42899":["Mobicom","mn"],"42901":["Nepal Telecommunications","np"],"42902":["Ncell","np"],"42903":["Nepal Telecommunications","np"],"42904":["Smart Telecom","np"],"429999":["Fix Line","np"],"43002":["Etisalat","ae"],"43102":["Etisalat","ae"],"43211":["IR-MCI (Hamrahe Avval)","ir"],"43214":["Telecommunication Kish Co. (KIFZO)","ir"],"43219":["MTCE (Espadan)","ir"],"43220":["Rightel","ir"],"43232":["Taliya","ir"],"43235":["Irancell","ir"],"43270":["MTCE","ir"],"43293":["Farzanegan Pars","ir"],"432999":["Fix Line","ir"],"43401":["Buztel","uz"],"43402":["Uzmacom","uz"],"43404":["Daewoo Unitel","uz"],"43405":["Coscom","uz"],"43406":["Perfectum Mobile","uz"],"43407":["Uzdunrobita","uz"],"43601":["JC Somoncom","tj"],"43602":["CJSC Indigo Tajikistan","tj"],"43603":["TT mobile","tj"],"43604":["Babilon-Mobile","tj"],"43605":["CTJTHSC Tajik-tel","tj"],"43612":["Tcell","tj"],"43701":["Beeline","kg"],"43702":["KT Mobile","kg"],"43703":["AkTel LLC","kg"],"43705":["MegaCom","kg"],"43709":["O!","kg"],"43710":["Saima","kg"],"437299":["Failed Calls","kg"],"43801":["Barash Communication Technologies (BCTI)","tm"],"43802":["TM-Cell","tm"],"44000":["eMobile","jp"],"44001":["NTT DoCoMo","jp"],"44002":["NTT DoCoMo","jp"],"44003":["IIJmio","jp"],"44004":["SoftBank","jp"],"44005":["SoftBank","jp"],"44006":["SoftBank","jp"],"44007":["KDDI","jp"],"44008":["KDDI","jp"],"44009":["NTT DoCoMo","jp"],"44010":["DOCOMO MVNO","jp"],"44011":["Rakuten Mobile(MNO)","jp"],"44012":["NTT DoCoMo","jp"],"44013":["OCN MOBILE ONE","jp"],"44014":["NTT DoCoMo","jp"],"44015":["NTT DoCoMo","jp"],"44016":["NTT DoCoMo","jp"],"44017":["NTT DoCoMo","jp"],"44018":["NTT DoCoMo","jp"],"44019":["NTT DoCoMo","jp"],"44020":["SoftBank","jp"],"44021":["NTT DoCoMo","jp"],"44022":["NTT DoCoMo","jp"],"44023":["NTT DoCoMo","jp"],"44024":["NTT DoCoMo","jp"],"44025":["NTT DoCoMo","jp"],"44026":["NTT DoCoMo","jp"],"44027":["NTT DoCoMo","jp"],"44028":["NTT DoCoMo","jp"],"44029":["NTT DoCoMo","jp"],"44030":["NTT DoCoMo","jp"],"44031":["NTT DoCoMo","jp"],"44032":["NTT DoCoMo","jp"],"44033":["NTT DoCoMo","jp"],"44034":["NTT DoCoMo","jp"],"44035":["NTT DoCoMo","jp"],"44036":["NTT DoCoMo","jp"],"44037":["NTT DoCoMo","jp"],"44038":["NTT DoCoMo","jp"],"44039":["NTT DoCoMo","jp"],"44040":["SoftBank","jp"],"44041":["SoftBank","jp"],"44042":["SoftBank","jp"],"44043":["SoftBank","jp"],"44044":["SoftBank","jp"],"44045":["SoftBank","jp"],"44046":["SoftBank","jp"],"44047":["SoftBank","jp"],"44048":["SoftBank","jp"],"44049":["NTT DoCoMo","jp"],"44050":["KDDI","jp"],"44051":["KDDI","jp"],"44052":["KDDI","jp"],"44053":["KDDI","jp"],"44054":["KDDI","jp"],"44055":["KDDI","jp"],"44056":["KDDI","jp"],"44058":["NTT DoCoMo","jp"],"44060":["NTT DoCoMo","jp"],"44061":["NTT DoCoMo","jp"],"44062":["NTT DoCoMo","jp"],"44063":["NTT DoCoMo","jp"],"44064":["NTT DoCoMo","jp"],"44065":["NTT DoCoMo","jp"],"44066":["NTT DoCoMo","jp"],"44067":["NTT DoCoMo","jp"],"44068":["NTT DoCoMo","jp"],"44069":["NTT DoCoMo","jp"],"44070":["KDDI","jp"],"44071":["KDDI","jp"],"44072":["KDDI","jp"],"44073":["KDDI","jp"],"44074":["KDDI","jp"],"44075":["KDDI","jp"],"44076":["KDDI","jp"],"44077":["KDDI","jp"],"44078":["Okinawa Cellular","jp"],"44079":["KDDI","jp"],"44080":["KDDI","jp"],"44081":["KDDI","jp"],"44082":["KDDI","jp"],"44083":["KDDI","jp"],"44084":["KDDI","jp"],"44085":["KDDI","jp"],"44086":["KDDI","jp"],"44087":["NTT DoCoMo","jp"],"44088":["KDDI","jp"],"44089":["KDDI","jp"],"44090":["SoftBank","jp"],"44092":["SoftBank","jp"],"44093":["SoftBank","jp"],"44094":["SoftBank","jp"],"44095":["SoftBank","jp"],"44096":["SoftBank","jp"],"44097":["SoftBank","jp"],"44098":["SoftBank","jp"],"44099":["NTT DoCoMo","jp"],"44100":["Wireless City Planning","jp"],"44140":["NTT DoCoMo","jp"],"44141":["NTT DoCoMo","jp"],"44142":["NTT DoCoMo","jp"],"44143":["NTT DoCoMo","jp"],"44144":["NTT DoCoMo","jp"],"44145":["NTT DoCoMo","jp"],"44161":["SoftBank","jp"],"44162":["SoftBank","jp"],"44163":["SoftBank","jp"],"44164":["SoftBank","jp"],"44165":["SoftBank","jp"],"44170":["KDDI","jp"],"44190":["NTT DoCoMo","jp"],"44191":["NTT DoCoMo","jp"],"44192":["NTT DoCoMo","jp"],"44193":["NTT DoCoMo","jp"],"44194":["NTT DoCoMo","jp"],"44198":["NTT DoCoMo","jp"],"44199":["NTT DoCoMo","jp"],"450006":["LG U+","kr"],"45002":["KT","kr"],"45003":["SK Telecom","kr"],"45004":["KT","kr"],"45005":["SK Telecom","kr"],"45006":["LG U+","kr"],"45007":["KT Powertel","kr"],"45008":["KT","kr"],"45011":["SK Telink","kr"],"45012":["SK Telecom","kr"],"450299":["Failed Calls","kr"],"45201":["Mobifone","vn"],"45202":["Vinaphone","vn"],"45203":["S-Fone/Telecom","vn"],"45204":["Viettel Telecom","vn"],"45205":["Vietnamobile","vn"],"45206":["Viettel","vn"],"45207":["Gmobile","vn"],"45208":["Viettel Mobile","vn"],"45209":["Wintel","vn"],"45400":["1O1O / csl / Club Sim","hk"],"45401":["MVNO/CITIC","hk"],"45402":["3G Radio System/HKCSL3G","hk"],"45403":["Hutchison HK","hk"],"45404":["Hutchison 2G","hk"],"45405":["Hutchison 2G","hk"],"45406":["SmarTone HK","hk"],"45407":["MVNO/China Unicom International Ltd.","hk"],"45408":["MVNO/Trident","hk"],"45409":["MVNO/China Motion Telecom (HK) Ltd.","hk"],"45410":["GSM1800New World PCS Ltd.","hk"],"45411":["MVNO/CHKTL","hk"],"45412":["中國移動香港 China Mobile HK","hk"],"45413":["中國移動香港 China Mobile HK","hk"],"45414":["H3G/Hutchinson","hk"],"45415":["SmarTone HK","hk"],"45416":["PCCW","hk"],"45417":["SmarTone HK","hk"],"45418":["GSM7800/Hong Kong CSL Ltd.","hk"],"45419":["1O1O / csl / Club Sim","hk"],"45420":["Public Mobile Networks/Reserved","hk"],"45421":["Public Mobile Networks/Reserved","hk"],"45422":["Public Mobile Networks/Reserved","hk"],"45423":["Public Mobile Networks/Reserved","hk"],"45424":["Public Mobile Networks/Reserved","hk"],"45425":["Public Mobile Networks/Reserved","hk"],"45426":["Public Mobile Networks/Reserved","hk"],"45427":["Public Mobile Networks/Reserved","hk"],"45428":["Public Mobile Networks/Reserved","hk"],"45429":["Public Mobile Networks/Reserved","hk"],"45430":["Public Mobile Networks/Reserved","hk"],"45431":["Public Mobile Networks/Reserved","hk"],"45432":["Public Mobile Networks/Reserved","hk"],"45433":["Public Mobile Networks/Reserved","hk"],"45434":["Public Mobile Networks/Reserved","hk"],"45435":["Public Mobile Networks/Reserved","hk"],"45436":["Public Mobile Networks/Reserved","hk"],"45437":["Public Mobile Networks/Reserved","hk"],"45438":["Public Mobile Networks/Reserved","hk"],"45439":["Public Mobile Networks/Reserved","hk"],"45440":["shared by private TETRA systems","hk"],"45447":["shared by private TETRA systems","hk"],"45500":["Smartone Mobile Communications (Macao) Ltd.","mo"],"45501":["CTM","mo"],"45502":["China Telecom","mo"],"45503":["Hutchison Telecom","mo"],"45504":["CTM","mo"],"45505":["Hutchison Telephone Co. Ltd","mo"],"45506":["Smartone Mobile","mo"],"45601":["Mobitel (Cam GSM)","kh"],"45602":["Smart","kh"],"45603":["S Telecom (CDMA) (reserved)","kh"],"45604":["qb","kh"],"45605":["Smart","kh"],"45606":["Smart","kh"],"45608":["Metfone","kh"],"45609":["Sotelco/Beeline","kh"],"45611":["SEATEL","kh"],"45618":["Camshin (Shinawatra)","kh"],"456299":["CooTel","kh"],"45701":["Lao Telecommunications","la"],"45702":["ETL Mobile","la"],"45703":["Unitel","la"],"45708":["Millicom","la"],"46000":["China Mobile","cn"],"46001":["China Unicom","cn"],"46002":["China Mobile","cn"],"46003":["China Telecom","cn"],"46004":["China Mobile","cn"],"46005":["China Telecom","cn"],"46006":["China Unicom","cn"],"46007":["China Mobile","cn"],"46008":["China Mobile","cn"],"46009":["China Unicom","cn"],"46010":["China Unicom","cn"],"46011":["China Telecom","cn"],"46012":["China Telecom","cn"],"46015":["China Broadnet","cn"],"46020":["China Mobile","cn"],"460999":["Fix Line","cn"],"46601":["遠傳電信 Far EasTone Telecom","tw"],"46602":["遠傳電信 Far EasTone Telecom","tw"],"46603":["遠傳電信 Far EasTone Telecom","tw"],"46605":["遠傳電信Far EasTone Telecom(原亞太電信)","tw"],"46606":["Tuntex Telecom","tw"],"46607":["Far EasTone","tw"],"46609":["Vmax Telecom","tw"],"46610":["Global Mobile Corp.","tw"],"46611":["中華電信_Chunghwa Telecom","tw"],"46656":["International Telecom Co. Ltd (FITEL)","tw"],"46668":["ACeS Taiwan - ACeS Taiwan Telecommunications Co Ltd","tw"],"46688":["KG Telecom","tw"],"46689":["台灣大哥大(原台灣之星) Taiwan Mobile Telecom","tw"],"46690":["T-Star/VIBO","tw"],"46692":["中華電信_Chunghwa Telecom","tw"],"46693":["MobiTai Communications","tw"],"46697":["台灣大哥大 Taiwan Mobile Telecom","tw"],"46699":["TransAsia Telecoms","tw"],"467192":["Koryolink","kp"],"467193":["Sun Net","kp"],"467299":["Failed Calls","kp"],"47001":["Grameenphone","bd"],"47002":["Aktel","bd"],"47003":["Mobile 2000","bd"],"47004":["TeleTalk","bd"],"47005":["Citycell","bd"],"47006":["Citycell","bd"],"47007":["Airtel BD","bd"],"47201":["DhiMobile","mv"],"47202":["Ooredoo","mv"],"50200":["Art900","my"],"50201":["Art900","my"],"50210":["Digi","my"],"50211":["unifi mobile","my"],"50212":["Maxis/Hotlink","my"],"50213":["Celcom","my"],"50214":["Telekom Malaysia","my"],"502143":["Digi","my"],"502146":["Digi","my"],"502150":["Tune Talk","my"],"502151":["Baraka Telecom Sdn Bhd","my"],"502152":["Yes 5G","my"],"502153":["unifi mobile","my"],"502154":["TT dotCom","my"],"502155":["Samata Communications Sdn Bhd","my"],"502156":["Altel Communications","my"],"50216":["Digi","my"],"50217":["TimeCel","my"],"50218":["U Mobile","my"],"50219":["Celcom","my"],"502195":["XOX Com","my"],"502198":["Celcom","my"],"50220":["Electcoms Wireless Sdn Bhd","my"],"502299":["MKN","my"],"502999":["Fix Line","my"],"50501":["Telstra","au"],"50502":["Optus","au"],"50503":["Vodafone","au"],"50504":["Department of Defence","au"],"50505":["The Ozitel Network Pty. Ltd.","au"],"50506":["Hutchison 3G Australia Pty. Ltd.","au"],"50507":["Vodafone","au"],"50508":["One.Tel GSM 1800 Pty. Ltd.","au"],"50509":["Airnet Commercial Australia Ltd.","au"],"50510":["Norfolk Telecom","au"],"50511":["Telstra","au"],"50512":["Hutchison Telecommunications (Australia) Pty. Ltd.","au"],"50513":["RailCorp","au"],"50514":["AAPT Ltd.","au"],"50516":["VicTrack","au"],"50519":["Lycamobile","au"],"50524":["Advanced Communications Technologies Pty. Ltd.","au"],"50526":["Sinch","au"],"505299":["ACMA","au"],"50530":["Compatel","au"],"50535":["MessageBird","au"],"50539":["Telstra","au"],"50550":["Pivotel","au"],"50552":["OptiTel","au"],"50557":["CiFi","au"],"50571":["Telstra","au"],"50572":["Telstra","au"],"50588":["Pivotel","au"],"50590":["Optus","au"],"50599":["One.Tel GSM 1800 Pty. Ltd.","au"],"505999":["Fix Line","au"],"51000":["PSN","id"],"51001":["Indosat","id"],"51007":["Flexi (PT Telkom) (CDMA)","id"],"51008":["XL/AXIS","id"],"51009":["Smartfren","id"],"51010":["Telkomsel","id"],"51011":["XL/AXIS","id"],"51021":["Indosat - M3","id"],"51027":["PT Sampoerna Telekomunikasi Indonesia (STI)","id"],"51028":["Smartfren","id"],"51089":["3","id"],"51099":["Esia (PT Bakrie Telecom) (CDMA)","id"],"510999":["Fix Line","id"],"51401":["Telkomcel","tl"],"51402":["Timor Telecom","tl"],"51403":["Viettel","tl"],"514299":["Failed Calls","tl"],"514999":["Fix Line","tl"],"51501":["Islacom","ph"],"51502":["Globe Telecom","ph"],"51503":["Smart Communications","ph"],"51505":["Smart","ph"],"51518":["Redinternet","ph"],"51588":["Next Mobile","ph"],"515999":["Fix Line","ph"],"52000":["CAT CDMA","th"],"52001":["AIS GSM","th"],"52002":["CAT CDMA","th"],"52003":["AIS","th"],"52004":["TrueMove H 4G LTE","th"],"52005":["dtac","th"],"52015":["ACT Mobile","th"],"52018":["dtac","th"],"52020":["ACeS","th"],"52023":["Digital Phone Co.","th"],"52047":["TOT","th"],"52099":["True Move","th"],"520999":["Fix Line","th"],"52501":["Singtel","sg"],"52502":["Singtel","sg"],"52503":["M1","sg"],"52504":["Sunsurf","sg"],"52505":["StarHub","sg"],"52506":["Starhub","sg"],"52507":["Singtel","sg"],"52512":["Digital Trunked Radio Network","sg"],"525999":["Fix Line","sg"],"52801":["Telekom Brunei Bhd (TelBru)","bn"],"52802":["B-Mobile","bn"],"52811":["DST Com","bn"],"53000":["Reserved for AMPS MIN based IMSI's","nz"],"53001":["Vodafone","nz"],"53002":["Teleom New Zealand CDMA Network","nz"],"53003":["Woosh Wireless - CDMA Network","nz"],"53004":["Telstra","nz"],"53005":["Spark","nz"],"53024":["2degrees","nz"],"53028":["2degrees","nz"],"530999":["Fix Line","nz"],"53701":["Vodafone","pg"],"53702":["Vodafone","pg"],"53703":["Digicel Ltd","pg"],"537999":["Fix Line","pg"],"53901":["Tonga Communications Corporation","to"],"53943":["Shoreline Communication","to"],"53988":["Digicel","to"],"539999":["Fix Line","to"],"54001":["BREEZE","sb"],"54002":["Vodafone","sb"],"54010":["BREEZE","sb"],"54100":["AIL","vu"],"54101":["SMILE","vu"],"54105":["Digicel","vu"],"54201":["Vodafone","fj"],"54202":["Digicel","fj"],"54301":["Manuia","wf"],"543299":["Failed Calls","wf"],"54411":["Bluesky","as"],"544780":["ASTCA Mobile","as"],"54501":["Kiribati - TSKL","ki"],"54509":["Kiribati Frigate","ki"],"54601":["OPT Mobilis","nc"],"54705":["Viti","pf"],"54715":["Pacific Mobile Telecom (PMT)","pf"],"54720":["Tikiphone","pf"],"54801":["Telecom Cook","ck"],"54901":["Telecom Samoa Cellular Ltd.","ws"],"54927":["GoMobile SamoaTel Ltd","ws"],"549999":["Fix Line","ws"],"55001":["FSM Telecom","fm"],"551299":["Failed Calls","mh"],"55201":["Palau National Communications Corp. (a.k.a. PNCC)","pw"],"55202":["PECI/PalauTel (Palau","pw"],"55280":["Palau Mobile","pw"],"55301":["Tuvalu Telecommunication Corporation (TTC)","tv"],"55501":["Niue Telecom","nu"],"60201":["Orange Egypt","eg"],"60202":["Vodafone","eg"],"60203":["Etisalat","eg"],"60204":["WE","eg"],"602299":["Failed Calls","eg"],"60301":["Algérie Telecom","dz"],"60302":["Orascom Telecom Algérie","dz"],"60303":["Ooredoo","dz"],"60400":["Méditélécom","ma"],"60401":["Maroc","ma"],"60402":["inwi","ma"],"60404":["Al Houria Telecom","ma"],"60405":["inwi","ma"],"60406":["IAM","ma"],"60499":["Al Houria Telecom","ma"],"60501":["Orange Tunisie","tn"],"60502":["Tunisie Telecom","tn"],"60503":["Ooredoo Tunisia","tn"],"60506":["Lycamobile","tn"],"605999":["Fix Line","tn"],"60600":["Libyana","ly"],"60601":["Madar","ly"],"60602":["Al-Jeel","ly"],"60603":["Libya Phone","ly"],"60606":["Hatef","ly"],"60701":["Gamcel","gm"],"60702":["Africell","gm"],"60703":["Comium Services Ltd","gm"],"60704":["QCell","gm"],"60801":["Orange Senegal","sn"],"60802":["Sentel GSM","sn"],"60803":["Expresso","sn"],"60804":["HAYO","sn"],"608299":["2s Mobile","sn"],"60901":["Mattel S.A.","mr"],"60902":["Chinguitel S.A.","mr"],"60910":["Mauritel Mobiles","mr"],"61001":["Malitel","ml"],"61002":["Orange Mali","ml"],"61003":["Telecel","ml"],"61101":["Orange","gn"],"61102":["Sotelgui","gn"],"61103":["Intercel","gn"],"61104":["MTN/Areeba","gn"],"61105":["Cellcom Guinée SA","gn"],"61201":["Comstar","ci"],"61202":["Atlantique Cellulaire","ci"],"61203":["Orange Côte d'Ivoire","ci"],"61204":["Comium Côte d'Ivoire","ci"],"61205":["Loteny Telecom","ci"],"61206":["Oricel Côte d'Ivoire","ci"],"61207":["Aircomm Côte d'Ivoire","ci"],"61301":["Onatal (Telmob)","bf"],"61302":["Orange","bf"],"61303":["Telecel","bf"],"61401":["Sahel.Com","ne"],"61402":["Airtel Niger","ne"],"61403":["Telecel","ne"],"61404":["Orange Niger","ne"],"61501":["Togo Telecom","tg"],"61502":["Telecel/MOOV","tg"],"61503":["Moov Togo","tg"],"61601":["Libercom","bj"],"61602":["Telecel","bj"],"61603":["Spacetel Benin","bj"],"61604":["Bell Benin Communications","bj"],"61605":["Glo Communications Benin","bj"],"61701":["Orange Mauritius","mu"],"61702":["Mahanagar Telephone (Mauritius) Ltd.","mu"],"61703":["Chili","mu"],"61710":["Emtel","mu"],"61801":["Lonestar","lr"],"61802":["Libercell","lr"],"61804":["Comium Liberia","lr"],"61807":["Celcom","lr"],"61820":["LIBTELCO","lr"],"61901":["Orange","sl"],"61902":["Millicom","sl"],"61903":["Africell","sl"],"61904":["Comium (Sierra Leone) Ltd.","sl"],"61905":["Lintel (Sierra Leone) Ltd.","sl"],"61907":["Qcell","sl"],"61925":["Mobitel","sl"],"619299":["IPTel","sl"],"61940":["Datatel (SL) Ltd GSM","sl"],"61950":["Dtatel (SL) Ltd CDMA","sl"],"62001":["MTN","gh"],"62002":["Vodafone","gh"],"62003":["AirtelTigo","gh"],"62004":["Kasapa Telecom Ltd.","gh"],"62005":["National Security","gh"],"62006":["AirtelTigo","gh"],"62007":["Globacom","gh"],"62008":["Surfline","gh"],"620299":["Comsys","gh"],"62101":["Visafone","ng"],"62120":["Airtel Nigeria","ng"],"62125":["Visafone","ng"],"62127":["Smile","ng"],"621299":["Alpha Technologies","ng"],"62130":["MTN Nigeria Communications","ng"],"62140":["Nigeria Telecommunications Ltd.","ng"],"62150":["Glo","ng"],"62160":["9Pay","ng"],"62199":["Starcomms","ng"],"62201":["Airtel Chad","td"],"62202":["Tchad Mobile","td"],"62203":["Tigo/Milicom/Tchad Mobile","td"],"62204":["Salam","td"],"62301":["Centrafrique Telecom Plus (CTP)","cf"],"62302":["Telecel Centrafrique (TC)","cf"],"62303":["Orange Centrafricaine","cf"],"62304":["Nationlink","cf"],"623299":["Failed Calls","cf"],"62401":["Mobile Telephone Networks Cameroon","cm"],"62402":["Orange Cameroun","cm"],"62404":["Nexttel","cm"],"62501":["Cabo Verde Telecom","cv"],"62502":["T+Telecomunicaçôes","cv"],"62601":["Companhia Santomese de Telecomunicaçôes","st"],"62602":["Unitel","st"],"62701":["Orange","gq"],"62703":["Hits-GE","gq"],"627299":["Failed Calls","gq"],"62801":["Libertis S.A.","ga"],"62802":["Telecel Gabon S.A.","ga"],"62803":["Airtel Gabon","ga"],"62804":["Azur","ga"],"628299":["Failed Calls","ga"],"62901":["Airtel Congo","cg"],"62902":["Azur SA (ETC)","cg"],"62907":["Warid","cg"],"62910":["Libertis Telecom","cg"],"63001":["Vodacom Congo RDC sprl","cd"],"63002":["Airtel","cd"],"63005":["Supercell Sprl","cd"],"630299":["Failed Calls","cd"],"63086":["Orange RDC","cd"],"63088":["Yozma Timeturns","cd"],"63089":["Tigo","cd"],"63090":["Africell","cd"],"63102":["Unitel","ao"],"63104":["MOVICEL","ao"],"63201":["Guinétel S.A.","gw"],"63202":["Spacetel Guiné-Bissau S.A.","gw"],"63203":["Orange","gw"],"63207":["Guinetel","gw"],"632999":["Fix\tLine","gw"],"63301":["Cable & Wireless (Seychelles) Ltd.","sc"],"63302":["Mediatech International Ltd.","sc"],"63305":["Intelvision","sc"],"63310":["Airtel Seychelles","sc"],"63400":["Canar Telecom","sd"],"63401":["SD Mobitel","sd"],"63402":["Areeba-Sudan","sd"],"63403":["MTN","sd"],"63405":["Canar Telecom","sd"],"63406":["Zain","sd"],"63407":["Sudani","sd"],"63408":["Canar Telecom","sd"],"63409":["Privet","sd"],"63415":["Sudani One","sd"],"63422":["MTN","sd"],"634999":["Fix Line","sd"],"63510":["MTN Rwandacell","rw"],"63512":["Rwandatel","rw"],"63513":["Airtel Rwanda","rw"],"63514":["Airtel Rwanda","rw"],"63601":["ETH MTN","et"],"63602":["Safaricom Telecommunications Ethiopia","et"],"63701":["Telesom","so"],"63704":["Somafone","so"],"63710":["Nationlink","so"],"63719":["Hormuud","so"],"63725":["Hormuud","so"],"637299":["AirSom","so"],"63730":["Golis Telecommunications Company","so"],"63750":["Hormuud","so"],"63757":["Unitel","so"],"63760":["Nationlink","so"],"63770":["Onkod","so"],"63771":["Somtel","so"],"63782":["Telcom","so"],"63801":["Evatis","dj"],"63901":["Safaricom","ke"],"63902":["Safaricom","ke"],"63903":["Airtel Kenya","ke"],"63904":["Mobile Pay","ke"],"63905":["Yu","ke"],"63906":["Finserve Africa","ke"],"63907":["Telkom","ke"],"63909":["Homeland Media","ke"],"63910":["Jamii Telecommunications","ke"],"63911":["Jambo Telcoms","ke"],"63912":["Infura","ke"],"639299":["eferio","ke"],"64001":["Tri Telecomm. Ltd.","tz"],"64002":["TIGO","tz"],"64003":["Zantel","tz"],"64004":["Vodacom","tz"],"64005":["Airtel","tz"],"64006":["Sasatel Tanzania","tz"],"64007":["Life Tanzania","tz"],"64008":["Benson Informatics Ltd","tz"],"64009":["Halotel / Viettel","tz"],"64011":["Smile Communications","tz"],"64013":["WiAfrica","tz"],"64014":["MO Mobile","tz"],"64099":["Mkulima African Telecommunication","tz"],"64101":["Airtel Uganda","ug"],"64104":["Lycamobile","ug"],"64110":["MTN Uganda Ltd.","ug"],"64111":["Uganda Telecom Ltd.","ug"],"64114":["House of Integrated Technology and Systems Uganda Ltd","ug"],"64118":["Suretelecom Uganda Ltd","ug"],"64122":["Airtel Uganda","ug"],"64130":["K2 Telecom Ltd","ug"],"64133":["Smile","ug"],"64166":["i-Tel Ltd","ug"],"641999":["Fix Line","ug"],"64201":["Spacetel Burundi","bi"],"64202":["Safaris","bi"],"64203":["Telecel Burundi Company","bi"],"64207":["Smart Mobile","bi"],"64208":["Lumitel/Viettel","bi"],"64282":["Leo","bi"],"642999":["Fix\tLine","bi"],"64301":["T.D.M. GSM","mz"],"64303":["Movitel","mz"],"64304":["Vodacom","mz"],"64501":["Airtel Zambia","zm"],"64502":["Telecel Zambia Ltd.","zm"],"64503":["Zamtel","zm"],"645299":["Failed Calls","zm"],"64601":["Airtel Madagascar","mg"],"64602":["Orange Madagascar","mg"],"64603":["Sacel","mg"],"64604":["Telecom Malagasy Mobile","mg"],"646299":["Bip","mg"],"64700":["Orange La Réunion","re"],"64701":["Maore Mobile","yt"],"64702":["Telco OI","re"],"64703":["Free RE","re"],"64704":["Zeop_RE","re"],"64710":["Société Réunionnaise du Radiotéléphone","yt"],"64801":["Net One","zw"],"64803":["Telecel","zw"],"64804":["Econet","zw"],"64901":["Mobile Telecommunications Ltd.","na"],"64902":["switch","na"],"64903":["Powercom Pty Ltd","na"],"649299":["Demshi","na"],"65001":["Telekom Network Ltd.","mw"],"65002":["ZERO2","mw"],"65010":["Airtel Malawi","mw"],"65101":["VCL","ls"],"65102":["Econet Ezin-cel","ls"],"65201":["Mascom Wireless (Pty) Ltd.","bw"],"65202":["Orange Botswana (Pty) Ltd.","bw"],"65204":["beMobile","bw"],"65301":["EswatiniTelecom","sz"],"65302":["Eswatini Mobile","sz"],"65310":["Swazi MTN","sz"],"65401":["HURI - SNPT","km"],"65402":["Telma","km"],"654299":["Failed Calls","km"],"65501":["Vodacom","za"],"65502":["Telkom","za"],"65505":["Telkom","za"],"65506":["Sentech (Pty) Ltd.","za"],"65507":["Cell C (Pty) Ltd.","za"],"65510":["MTN","za"],"65511":["SAPS Gauteng","za"],"65512":["MTN","za"],"65519":["rain","za"],"65521":["Cape Town Metropolitan Council","za"],"655299":["Lycamobile","za"],"65530":["Bokamoso Consortium","za"],"65531":["Karabo Telecoms (Pty) Ltd.","za"],"65532":["Ilizwi Telecommunications","za"],"65533":["Thinta Thinta Telecommunications","za"],"65534":["Bokone Telecoms","za"],"65535":["Kingdom Communications","za"],"65536":["Amatole Telecommunication Services","za"],"65538":["rain","za"],"65573":["rain","za"],"65574":["rain","za"],"65701":["Eritel","er"],"658299":["Failed Calls","sh"],"65902":["MTN","ss"],"65903":["Gemtel Ltd (South Sudan","ss"],"65904":["Network of The World Ltd (NOW) (South Sudan","ss"],"65906":["Zain","ss"],"659299":["Digitel","ss"],"702099":["Smart","bz"],"702299":["Failed Calls","bz"],"70267":["Belize Telecommunications Ltd.","bz"],"70268":["International Telecommunications Ltd. (INTELCO)","bz"],"70269":["Smart","bz"],"70299":["Smart","bz"],"70401":["Claro GT","gt"],"70402":["Comunicaciones Celulares S.A.","gt"],"70403":["Movistar","gt"],"704030":["Movistar","gt"],"70601":["Claro SV","sv"],"70602":["Digicel, S.A. de C.V.","sv"],"70603":["Tigo","sv"],"70604":["Movistar","sv"],"706040":["Movistar","sv"],"70605":["INTELFON SA de CV","sv"],"708001":["Claro HN","hn"],"708002":["Celtel","hn"],"70801":["Claro HN","hn"],"70802":["Celtel","hn"],"708020":["Celtel","hn"],"708030":["HonduTel","hn"],"70804":["Digicel","hn"],"708040":["Digicel","hn"],"70830":["Hondutel","hn"],"70840":["Digicel","hn"],"71021":["Claro NI","ni"],"71030":["Movistar (Telefonía Celular de Nicaragua)","ni"],"710300":["Movistar (Telefonía Celular de Nicaragua)","ni"],"71070":["Yota Nicaragua","ni"],"71073":["Servicios de Comunicaciones, S.A. (SERCOM)","ni"],"710730":["Servicios de Comunicaciones, S.A. (SERCOM)","ni"],"710999":["Fix Line","ni"],"71201":["KOLBI ICE","cr"],"712019":["Tuyo","cr"],"71202":["KOLBI ICE","cr"],"71203":["Claro CR","cr"],"71204":["Liberty","cr"],"712190":["Tuyo","cr"],"71220":["Virtualis","cr"],"712999":["Fix Line","cr"],"71401":["Cable & Wireless Panama S.A.","pa"],"71402":["Movistar","pa"],"714020":["Movistar","pa"],"71403":["Claro PA","pa"],"71404":["Digicel","pa"],"714040":["Digicel","pa"],"714999":["Fix Line","pa"],"71601":["GlobalStar","pe"],"71602":["GlobalStar","pe"],"71606":["Movistar","pe"],"71607":["Nextel","pe"],"71610":["Claro PE","pe"],"71615":["Bitel","pe"],"71617":["Entel","pe"],"71620":["Claro /Amer.Mov./TIM","pe"],"722007":["Movistar","ar"],"722010":["Movistar","ar"],"722020":["Nextel Argentina srl","ar"],"722031":["Claro","ar"],"722034":["Personal","ar"],"72207":["Movistar","ar"],"722070":["Movistar","ar"],"722210":["IMOWI","ar"],"722299":["Express","ar"],"72231":["Claro AR","ar"],"722310":["Claro AR","ar"],"722320":["Compañía de Telefonos del Interior Norte S.A.","ar"],"722330":["Compañía de Telefonos del Interior S.A.","ar"],"72234":["Telecom Personal S.A.","ar"],"722340":["Telecom Personal S.A.","ar"],"722341":["Telecom Personal S.A.","ar"],"72236":["Argentina:Nuestro","ar"],"722999":["Fix Line","ar"],"72400":["Nextel","br"],"72401":["CRT Cellular","br"],"72402":["TIM","br"],"72403":["TIM","br"],"72404":["TIM","br"],"72405":["Claro BR","br"],"72406":["Vivo","br"],"72407":["Sercontel Cel","br"],"72408":["Maxitel MG","br"],"72409":["Telepar Cel","br"],"72410":["Vivo","br"],"72411":["Vivo","br"],"72412":["Americel","br"],"72413":["Telesp Cel","br"],"72414":["Maxitel BA","br"],"72415":["Sercomtel","br"],"72416":["Brasil Telecom GSM","br"],"72417":["Ceterp Cel","br"],"72418":["Datora","br"],"72419":["Telemig Cel","br"],"72421":["Telerj Cel","br"],"72423":["Vivo","br"],"72424":["Oi","br"],"72425":["Telebrasilia Cel","br"],"72426":["AmericaNet","br"],"72427":["Telegoias Cel","br"],"72429":["Unifique","br"],"72430":["Oi","br"],"72431":["Oi","br"],"72432":["Algar Telecom","br"],"72433":["Algar Telecom","br"],"72434":["Algar Telecom","br"],"72435":["Telebahia Cel","br"],"72437":["Telergipe Cel","br"],"72438":["Claro BR","br"],"72439":["Nextel","br"],"72441":["Telpe Cel","br"],"72443":["Telepisa Cel","br"],"72445":["Telpa Cel","br"],"72447":["Telern Cel","br"],"72448":["Teleceara Cel","br"],"72451":["Telma Cel","br"],"72453":["Telepara Cel","br"],"72454":["TIM","br"],"72455":["Teleamazon Cel","br"],"72457":["Teleamapa Cel","br"],"72459":["Telaima Cel","br"],"72477":["Brisanet","br"],"73000":["TESAM SA","cl"],"73001":["Entel","cl"],"73002":["Movistar","cl"],"73003":["Claro CL","cl"],"73004":["WOM","cl"],"73005":["Multikom S.A.","cl"],"73006":["Blue Two Chile SA","cl"],"73007":["Movistar","cl"],"73008":["VTR Banda Ancha SA","cl"],"73009":["WOM","cl"],"73010":["Entel","cl"],"73011":["Celupago SA","cl"],"73012":["Telestar Movil SA","cl"],"73013":["Tribe Mobile SPA","cl"],"73014":["Netline Telefonica Movil Ltda","cl"],"73015":["Cibeles Telecom SA","cl"],"73019":["Sociedad Falabella Movil SPA","cl"],"73026":["Entel","cl"],"732001":["Colombia Telecomunicaciones S.A. - Telecom","co"],"732002":["Edatel S.A.","co"],"732020":["Emtelsa","co"],"732099":["Emcali","co"],"732101":["Claro CO","co"],"732102":["Bellsouth Colombia S.A.","co"],"732103":["Colombia Móvil S.A.","co"],"732111":["Colombia Móvil S.A.","co"],"732123":["Movistar","co"],"732130":["WOM","co"],"732142":["UNE","co"],"732154":["Virgin Mobile","co"],"732165":["Tigo","co"],"732187":["ETB 4G","co"],"732199":["SUMA movil","co"],"732220":["Libre Tecnologias","co"],"732230":["Setroc Mobile","co"],"732240":["Flash Mobile","co"],"732299":["ATnet","co"],"732360":["WOM","co"],"732666":["Claro","co"],"732999":["Fix Line","co"],"73401":["Infonet","ve"],"73402":["Corporación Digitel","ve"],"73403":["Digicel","ve"],"73404":["Movistar","ve"],"73406":["Telecomunicaciones Movilnet, C.A.","ve"],"73601":["Nuevatel S.A.","bo"],"73602":["ENTEL S.A.","bo"],"73603":["Telecel S.A.","bo"],"738002":["GT&T Cellink Plus","gy"],"73801":["Cel*Star (Guyana) Inc.","gy"],"73802":["GT&T Cellink Plus","gy"],"74000":["Movistar","ec"],"740000":["Failed Call(s)","ec"],"74001":["Claro EC","ec"],"740010":["Claro EC","ec"],"74002":["Telecsa S.A.","ec"],"74003":["Tuenti","ec"],"74401":["Hola Paraguay S.A.","py"],"74402":["Claro PY","py"],"74403":["Compañia Privada de Comunicaciones S.A.","py"],"74404":["Telecel","py"],"74405":["Personal","py"],"74406":["Hola Paraguay S.A.","py"],"74601":["Telesur","sr"],"74602":["Telesur","sr"],"74603":["Digicel","sr"],"74604":["Intelsur","sr"],"746999":["Fix Line","sr"],"74800":["Ancel","uy"],"74801":["Ancel","uy"],"74803":["Ancel","uy"],"74807":["Movistar","uy"],"74810":["Claro UY","uy"],"750001":["Sure","fk"],"90101":["ICO Global Communications","n/a"],"90102":["Sense Communications International AS","n/a"],"90103":["Iridium Satellite, LLC (GMSS)","n/a"],"90104":["Globalstar","n/a"],"90105":["Thuraya RMSS Network","n/a"],"90106":["Thuraya Satellite Telecommunications Company","n/a"],"90107":["Ellipso","n/a"],"90109":["Tele1 Europe","n/a"],"90110":["Asia Cellular Satellite (AceS)","n/a"],"90111":["Inmarsat Ltd.","n/a"],"90112":["Maritime Communications Partner AS (MCP network)","n/a"],"90113":["Global Networks, Inc.","n/a"],"90114":["Telenor GSM - services in aircraft","n/a"],"90115":["SITA GSM services in aircraft (On Air)","n/a"],"90116":["Jasper Systems, Inc.","n/a"],"90117":["Jersey Telecom","n/a"],"90118":["AT&T Mobility (Wireless Maritime Services)","n/a"],"90119":["Vodafone","n/a"],"90120":["Intermatica","n/a"],"90121":["Seanet Maritime Communications","n/a"],"90122":["Denver Consultants Ltd","n/a"],"90128":["Vodafone GDSP","n/a"],"90137":["Transatel","n/a"],"90158":["Bics","n/a"],"90188":["Telecommunications for Disaster Relief (TDR) (OCHA)","n/a"],"90198":["Skylo","n/a"]},"i":{"202":"gr","204":"nl","206":"be","208":"fr","212":"mc","213":"ad","214":"es","216":"hu","218":"ba","219":"hr","220":"rs","221":"xk","222":"it","225":"va","226":"ro","228":"ch","230":"cz","231":"sk","232":"at","234":"gb","235":"gb","238":"dk","240":"se","242":"no","244":"fi","246":"lt","247":"lv","248":"ee","250":"ru","255":"ua","257":"by","259":"md","260":"pl","262":"de","266":"gi","268":"pt","270":"lu","272":"ie","274":"is","276":"al","278":"mt","280":"cy","282":"ge","283":"am","284":"bg","286":"tr","288":"fo","289":"ge","290":"gl","292":"sm","293":"si","294":"mk","295":"li","297":"me","302":"ca","308":"pm","310":"us","311":"us","312":"us","313":"us","314":"us","315":"us","316":"us","330":"pr","334":"mx","338":"jm","340":"gf","342":"bb","344":"ag","346":"ky","348":"vg","350":"bm","352":"gd","354":"ms","356":"kn","358":"lc","360":"vc","362":"bq","363":"aw","364":"bs","365":"ai","366":"dm","368":"cu","370":"do","372":"ht","374":"tt","376":"tc","400":"az","401":"kz","402":"bt","404":"in","405":"in","406":"in","410":"pk","412":"af","413":"lk","414":"mm","415":"lb","416":"jo","417":"sy","418":"iq","419":"kw","420":"sa","421":"ye","422":"om","424":"ae","425":"il","426":"bh","427":"qa","428":"mn","429":"np","430":"ae","431":"ae","432":"ir","434":"uz","436":"tj","437":"kg","438":"tm","440":"jp","441":"jp","450":"kr","452":"vn","454":"hk","455":"mo","456":"kh","457":"la","460":"cn","461":"cn","466":"tw","467":"kp","470":"bd","472":"mv","502":"my","505":"au","510":"id","514":"tl","515":"ph","520":"th","525":"sg","528":"bn","530":"nz","537":"pg","539":"to","540":"sb","541":"vu","542":"fj","543":"wf","544":"as","545":"ki","546":"nc","547":"pf","548":"ck","549":"ws","550":"fm","551":"mh","552":"pw","553":"tv","555":"nu","602":"eg","603":"dz","604":"ma","605":"tn","606":"ly","607":"gm","608":"sn","609":"mr","610":"ml","611":"gn","612":"ci","613":"bf","614":"ne","615":"tg","616":"bj","617":"mu","618":"lr","619":"sl","620":"gh","621":"ng","622":"td","623":"cf","624":"cm","625":"cv","626":"st","627":"gq","628":"ga","629":"cg","630":"cd","631":"ao","632":"gw","633":"sc","634":"sd","635":"rw","636":"et","637":"so","638":"dj","639":"ke","640":"tz","641":"ug","642":"bi","643":"mz","645":"zm","646":"mg","647":"yt","648":"zw","649":"na","650":"mw","651":"ls","652":"bw","653":"sz","654":"km","655":"za","657":"er","658":"sh","659":"ss","702":"bz","704":"gt","706":"sv","708":"hn","710":"ni","712":"cr","714":"pa","716":"pe","722":"ar","724":"br","730":"cl","732":"co","734":"ve","736":"bo","738":"gy","740":"ec","744":"py","746":"sr","748":"uy","750":"fk","901":"n/a"},"t":["302","310","311","312","313","314","315","316","334","338"],"meta":{"source":"Android Open Source Project carrier_list.textpb","source_url":"https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/master/assets/latest_carrier_id/carrier_list.textpb","aosp_version":"134217771","aosp_generic_records":1672}} diff --git a/internal/device/registration_linux.go b/internal/device/registration_linux.go new file mode 100644 index 0000000..869b8dd --- /dev/null +++ b/internal/device/registration_linux.go @@ -0,0 +1,36 @@ +//go:build linux + +package device + +import ( + "context" + "os/exec" + "strings" + "time" + + "vocat/internal/modem" +) + +func readPlatformRegistration(ctx context.Context, candidate modem.Candidate) (platformRegistration, bool) { + control := strings.TrimSpace(candidate.QMIControl) + if control == "" { + return platformRegistration{}, false + } + qmicli, err := exec.LookPath("qmicli") + if err != nil { + return platformRegistration{}, false + } + queryContext, cancel := context.WithTimeout(ctx, 5*time.Second) + defer cancel() + output, err := exec.CommandContext( + queryContext, + qmicli, + "-d", control, + "--device-open-proxy", + "--nas-get-serving-system", + ).CombinedOutput() + if err != nil { + return platformRegistration{}, false + } + return parseQMIRegistration(string(output)) +} diff --git a/internal/device/registration_other.go b/internal/device/registration_other.go new file mode 100644 index 0000000..017e8ce --- /dev/null +++ b/internal/device/registration_other.go @@ -0,0 +1,13 @@ +//go:build !linux + +package device + +import ( + "context" + + "vocat/internal/modem" +) + +func readPlatformRegistration(context.Context, modem.Candidate) (platformRegistration, bool) { + return platformRegistration{}, false +} diff --git a/internal/device/registration_qmi.go b/internal/device/registration_qmi.go new file mode 100644 index 0000000..b8a2611 --- /dev/null +++ b/internal/device/registration_qmi.go @@ -0,0 +1,80 @@ +package device + +import ( + "regexp" + "strings" +) + +type platformRegistration struct { + Status int + PLMN string + Name string + PSAttached bool +} + +var qmiQuotedFieldPattern = regexp.MustCompile(`(?i)^\s*([^:]+):\s*'([^']*)'\s*$`) + +func parseQMIRegistration(output string) (platformRegistration, bool) { + result := platformRegistration{} + registrationState := "" + roaming := false + mcc := "" + mnc := "" + pcsDigit := false + for _, rawLine := range strings.Split(output, "\n") { + match := qmiQuotedFieldPattern.FindStringSubmatch(strings.TrimSpace(rawLine)) + if len(match) != 3 { + continue + } + key := strings.ToLower(strings.TrimSpace(match[1])) + value := strings.TrimSpace(match[2]) + switch key { + case "registration state": + registrationState = strings.ToLower(value) + case "roaming status": + roaming = strings.EqualFold(value, "on") + case "ps": + result.PSAttached = strings.EqualFold(value, "attached") + case "mcc": + if mcc == "" { + mcc = value + } + case "mnc": + if mnc == "" { + mnc = value + } + case "description": + if result.Name == "" { + result.Name = value + } + case "mnc with pcs digit": + pcsDigit = strings.EqualFold(value, "yes") + } + } + switch registrationState { + case "registered": + result.Status = 1 + if roaming { + result.Status = 5 + } + case "not-registered-searching", "searching": + result.Status = 2 + case "registration-denied", "denied": + result.Status = 3 + case "not-registered": + result.Status = 0 + default: + return platformRegistration{}, false + } + if decimalDigits(mcc, 3, 3) && decimalDigits(mnc, 1, 3) { + width := 2 + if pcsDigit { + width = 3 + } + for len(mnc) < width { + mnc = "0" + mnc + } + result.PLMN = mcc + mnc + } + return result, true +} diff --git a/internal/device/registration_qmi_test.go b/internal/device/registration_qmi_test.go new file mode 100644 index 0000000..c373084 --- /dev/null +++ b/internal/device/registration_qmi_test.go @@ -0,0 +1,31 @@ +package device + +import "testing" + +func TestParseQMIRegistrationRegisteredRoaming(t *testing.T) { + output := ` +Registration state: 'registered' +CS: 'attached' +PS: 'attached' +Roaming status: 'on' +Current PLMN: + MCC: '460' + MNC: '1' + Description: 'UNICOM' +Full operator code info: + MCC: '460' + MNC: '1' + MNC with PCS digit: 'no' +` + result, found := parseQMIRegistration(output) + if !found || result.Status != 5 || !result.PSAttached || result.PLMN != "46001" || result.Name != "UNICOM" { + t.Fatalf("registration = %#v, found=%v", result, found) + } +} + +func TestParseQMIRegistrationSearching(t *testing.T) { + result, found := parseQMIRegistration("Registration state: 'not-registered-searching'\nPS: 'detached'") + if !found || result.Status != 2 || result.PSAttached { + t.Fatalf("registration = %#v, found=%v", result, found) + } +} diff --git a/internal/device/registration_test.go b/internal/device/registration_test.go new file mode 100644 index 0000000..bc92378 --- /dev/null +++ b/internal/device/registration_test.go @@ -0,0 +1,24 @@ +package device + +import ( + "testing" + + "vocat/internal/modem" +) + +func TestParseRegistrationStatus(t *testing.T) { + tests := []struct { + line string + want int + }{ + {line: "+CEREG: 0,5", want: 5}, + {line: "+CGREG: 2,1,\"FFFE\",\"06698D06\",7", want: 1}, + {line: "+CREG: 2", want: 2}, + } + for _, test := range tests { + got, ok := parseRegistrationStatus(modem.Response{Lines: []string{test.line}}) + if !ok || got != test.want { + t.Fatalf("parseRegistrationStatus(%q) = %d, %v", test.line, got, ok) + } + } +} diff --git a/internal/device/scan.go b/internal/device/scan.go index d60a83e..8d8c4ac 100644 --- a/internal/device/scan.go +++ b/internal/device/scan.go @@ -14,6 +14,7 @@ type ScannedOperator struct { Name string `json:"name"` Short string `json:"shortName,omitempty"` Numeric string `json:"numeric"` + Country string `json:"countryCode,omitempty"` Act string `json:"act,omitempty"` } @@ -75,11 +76,19 @@ func parseOperatorScan(response modem.Response) []ScannedOperator { if len(fields) < 4 { continue } + name, country, _ := CarrierForPLMN(fields[3]) + if name == "" { + name = strings.TrimSpace(fields[1]) + } + if name == "" { + name = strings.TrimSpace(fields[3]) + } operator := ScannedOperator{ Status: operatorScanStatus(fields[0]), - Name: fields[1], + Name: name, Short: fields[2], Numeric: fields[3], + Country: country, } if len(fields) >= 5 { operator.Act = accessTechnology(fields[4]) @@ -90,6 +99,20 @@ func parseOperatorScan(response modem.Response) []ScannedOperator { return operators } +// carrierNameForPLMN resolves the numeric serving PLMN through the bundled +// global carrier database. Some EC20 firmware returns an empty, localized, or +// stale long name even though the MCC/MNC is correct. The numeric identity is +// the authoritative value used for network selection. +func carrierNameForPLMN(plmn, fallback string) string { + if name, _, ok := CarrierForPLMN(plmn); ok { + return name + } + if fallback = strings.TrimSpace(fallback); fallback != "" { + return fallback + } + return strings.TrimSpace(plmn) +} + // extractScanTuples returns the contents of each top-level parenthesised group, // ignoring parentheses inside quoted strings. func extractScanTuples(payload string) []string { diff --git a/internal/device/scan_test.go b/internal/device/scan_test.go new file mode 100644 index 0000000..cfbb081 --- /dev/null +++ b/internal/device/scan_test.go @@ -0,0 +1,55 @@ +package device + +import ( + "testing" + + "vocat/internal/modem" +) + +func TestParseOperatorScanNormalizesMainlandCarrierNamesByPLMN(t *testing.T) { + response := modem.Response{Lines: []string{ + `+COPS: (1,"CMCC","CMCC","46000",7),(1,"wrong modem name","CU","46001",7),(1,"","CT","46011",7),(1,"CBN","CBN","46015",7)`, + }} + operators := parseOperatorScan(response) + if len(operators) != 4 { + t.Fatalf("operators = %#v", operators) + } + want := []string{"China Mobile", "China Unicom", "China Telecom", "China Broadnet"} + for index := range want { + if operators[index].Name != want[index] { + t.Fatalf("operator %d name = %q, want %q", index, operators[index].Name, want[index]) + } + } +} + +func TestCarrierNameForPLMNUsesGlobalDatabase(t *testing.T) { + if got := carrierNameForPLMN("23415", "stale modem name"); got != "Vodafone" { + t.Fatalf("carrier name = %q", got) + } + if got := carrierNameForPLMN("26202", ""); got != "Vodafone" { + t.Fatalf("German carrier name = %q", got) + } + if got := carrierNameForPLMN("310260", ""); got != "T-Mobile - US" { + t.Fatalf("US carrier name = %q", got) + } + if got := carrierNameForPLMN("99999", "Test Network"); got != "Test Network" { + t.Fatalf("unknown carrier fallback = %q", got) + } +} + +func TestCarrierForPLMNReturnsCountryCode(t *testing.T) { + tests := map[string]string{ + "23415": "GB", + "26202": "DE", + "310260": "US", + "22201": "IT", + "72405": "BR", + "46015": "CN", + } + for plmn, wantCountry := range tests { + name, country, ok := CarrierForPLMN(plmn) + if !ok || name == "" || country != wantCountry { + t.Errorf("CarrierForPLMN(%q) = (%q, %q, %v), want a name and country %q", plmn, name, country, ok, wantCountry) + } + } +} diff --git a/internal/device/snapshot.go b/internal/device/snapshot.go index 9e0f2ec..b50b24b 100644 --- a/internal/device/snapshot.go +++ b/internal/device/snapshot.go @@ -50,8 +50,10 @@ func (manager *Manager) readSnapshot( if response, ok := optional("AT+CSQ"); ok { snapshot.SignalRaw, snapshot.SignalPercent, snapshot.RSSIDBm = parseCSQ(response) } + servingPLMN := "" if response, ok := optional(`AT+QENG="servingcell"`); ok { metrics := parseQENG(response) + servingPLMN = metrics.PLMN snapshot.AccessTech = metrics.AccessTech snapshot.Band = metrics.Band snapshot.Channel = metrics.Channel @@ -64,12 +66,42 @@ func (manager *Manager) readSnapshot( } if response, ok := optional("AT+COPS?"); ok { operator := parseCOPS(response) - snapshot.OperatorName = operator.Name - snapshot.OperatorCode = operator.Code + if operator.Code != "" { + snapshot.OperatorCode = operator.Code + } else { + snapshot.OperatorCode = servingPLMN + } + snapshot.OperatorName = carrierNameForPLMN(snapshot.OperatorCode, operator.Name) if snapshot.AccessTech == "" { snapshot.AccessTech = operator.AccessTech } } + for _, command := range []string{"AT+CEREG?", "AT+CGREG?", "AT+CREG?"} { + response, registrationErr := manager.command(ctx, client, command) + if registrationErr != nil { + continue + } + if status, found := parseRegistrationStatus(response); found { + snapshot.RegistrationStatus = status + snapshot.RegistrationSource = strings.TrimSuffix(strings.TrimPrefix(command, "AT+"), "?") + break + } + } + if registration, found := readPlatformRegistration(ctx, candidate); found { + snapshot.RegistrationStatus = registration.Status + snapshot.RegistrationSource = "QMI NAS" + snapshot.PSAttached = registration.PSAttached + if registration.PLMN != "" { + snapshot.OperatorCode = registration.PLMN + snapshot.OperatorName = carrierNameForPLMN(registration.PLMN, registration.Name) + } + } + if snapshot.RegistrationSource == "" && (snapshot.OperatorName != "" || snapshot.OperatorCode != "") { + // Older firmware can omit registration queries while COPS still proves + // that an operator is selected. + snapshot.RegistrationStatus = 1 + snapshot.RegistrationSource = "COPS" + } if response, ok := optional("AT+CGSN"); ok { snapshot.IMEI = parseIdentifier( response, @@ -107,6 +139,25 @@ func (manager *Manager) readSnapshot( return snapshot, nil } +func parseRegistrationStatus(response modem.Response) (int, bool) { + for _, prefix := range []string{"+CEREG:", "+CGREG:", "+CREG:"} { + values := csvValues(valueAfterPrefix(response, prefix)) + if len(values) == 0 { + continue + } + index := 0 + // Query responses are ,; unsolicited responses are . + if len(values) >= 2 { + index = 1 + } + status, err := strconv.Atoi(strings.TrimSpace(values[index])) + if err == nil && status >= 0 && status <= 10 { + return status, true + } + } + return 0, false +} + func parseATI(lines []string) (manufacturer, model, firmware string) { for _, line := range lines { line = strings.TrimSpace(line) @@ -159,6 +210,7 @@ func parseCSQ(response modem.Response) (raw, percent, dbm *int) { } type qengMetrics struct { + PLMN string AccessTech string Band string Channel string @@ -179,6 +231,9 @@ func parseQENG(response modem.Response) qengMetrics { } result := qengMetrics{AccessTech: strings.ToUpper(values[2])} if strings.EqualFold(values[2], "LTE") && len(values) >= 17 { + if decimalDigits(values[4], 3, 3) && decimalDigits(values[5], 2, 3) { + result.PLMN = values[4] + values[5] + } result.Channel = values[8] if values[9] != "" { result.Band = "B" + values[9] @@ -193,6 +248,13 @@ func parseQENG(response modem.Response) qengMetrics { return qengMetrics{} } +func decimalDigits(value string, minimum, maximum int) bool { + value = strings.TrimSpace(value) + return len(value) >= minimum && len(value) <= maximum && strings.IndexFunc(value, func(character rune) bool { + return character < '0' || character > '9' + }) < 0 +} + type operatorInfo struct { Name string Code string diff --git a/internal/device/types.go b/internal/device/types.go index 54fe878..36e2617 100644 --- a/internal/device/types.go +++ b/internal/device/types.go @@ -73,35 +73,38 @@ const ( ) type Snapshot struct { - DeviceID string `json:"deviceId"` - Port string `json:"port"` - Responsive bool `json:"responsive"` - Manufacturer string `json:"manufacturer"` - Model string `json:"model"` - Firmware string `json:"firmware"` - SIMStatus string `json:"simStatus"` - SIMReady bool `json:"simReady"` - SignalRaw *int `json:"signalRaw,omitempty"` - SignalPercent *int `json:"signalPercent,omitempty"` - RSSIDBm *int `json:"rssiDbm,omitempty"` - RSRP *int `json:"rsrp,omitempty"` - RSRQ *int `json:"rsrq,omitempty"` - SINR *int `json:"sinr,omitempty"` - AccessTech string `json:"accessTech"` - Band string `json:"band"` - Channel string `json:"channel"` - OperatorName string `json:"operatorName"` - OperatorCode string `json:"operatorCode"` - IMEI string `json:"imei"` - ICCID string `json:"iccid"` - IMSI string `json:"imsi"` - OperatingMode int `json:"operatingMode"` - ModeKnown bool `json:"modeKnown"` - FlightMode bool `json:"flightMode"` - RadioOff bool `json:"radioOff"` - Phone PhoneNumber `json:"phone"` - Warnings []string `json:"warnings,omitempty"` - UpdatedAt time.Time `json:"updatedAt"` + DeviceID string `json:"deviceId"` + Port string `json:"port"` + Responsive bool `json:"responsive"` + Manufacturer string `json:"manufacturer"` + Model string `json:"model"` + Firmware string `json:"firmware"` + SIMStatus string `json:"simStatus"` + SIMReady bool `json:"simReady"` + SignalRaw *int `json:"signalRaw,omitempty"` + SignalPercent *int `json:"signalPercent,omitempty"` + RSSIDBm *int `json:"rssiDbm,omitempty"` + RSRP *int `json:"rsrp,omitempty"` + RSRQ *int `json:"rsrq,omitempty"` + SINR *int `json:"sinr,omitempty"` + AccessTech string `json:"accessTech"` + Band string `json:"band"` + Channel string `json:"channel"` + OperatorName string `json:"operatorName"` + OperatorCode string `json:"operatorCode"` + RegistrationStatus int `json:"registrationStatus"` + RegistrationSource string `json:"registrationSource"` + PSAttached bool `json:"psAttached"` + IMEI string `json:"imei"` + ICCID string `json:"iccid"` + IMSI string `json:"imsi"` + OperatingMode int `json:"operatingMode"` + ModeKnown bool `json:"modeKnown"` + FlightMode bool `json:"flightMode"` + RadioOff bool `json:"radioOff"` + Phone PhoneNumber `json:"phone"` + Warnings []string `json:"warnings,omitempty"` + UpdatedAt time.Time `json:"updatedAt"` } type USSDResult struct { diff --git a/internal/exportproxy/bind_linux.go b/internal/exportproxy/bind_linux.go new file mode 100644 index 0000000..74390a3 --- /dev/null +++ b/internal/exportproxy/bind_linux.go @@ -0,0 +1,80 @@ +//go:build linux + +package exportproxy + +import ( + "bufio" + "context" + "hash/fnv" + "net" + "os" + "path/filepath" + "strings" + "syscall" +) + +func platformSupported() error { return nil } + +func boundDialer(networkInterface string) net.Dialer { + return net.Dialer{Control: func(_, _ string, raw syscall.RawConn) error { + var bindError error + err := raw.Control(func(fd uintptr) { + if err := syscall.SetsockoptInt(int(fd), syscall.SOL_SOCKET, syscall.SO_MARK, int(exportRouteMark(networkInterface))); err != nil { + bindError = err + return + } + bindError = syscall.SetsockoptString(int(fd), syscall.SOL_SOCKET, syscall.SO_BINDTODEVICE, networkInterface) + }) + if err != nil { + return err + } + return bindError + }} +} + +func exportRouteMark(networkInterface string) uint32 { + hash := fnv.New32a() + _, _ = hash.Write([]byte(networkInterface)) + return 0x56000000 | (hash.Sum32() & 0x00ffffff) +} + +func boundResolver(networkInterface string) *net.Resolver { + dialer := boundDialer(networkInterface) + return &net.Resolver{PreferGo: true, Dial: func(ctx context.Context, network, _ string) (net.Conn, error) { + var lastError error + for _, server := range exportRouteDNSServers(networkInterface) { + connection, err := dialer.DialContext(ctx, network, net.JoinHostPort(server, "53")) + if err == nil { + return connection, nil + } + lastError = err + } + return nil, lastError + }} +} + +func exportRouteDNSServers(networkInterface string) []string { + safeName := strings.Map(func(character rune) rune { + if character >= 'a' && character <= 'z' || character >= 'A' && character <= 'Z' || + character >= '0' && character <= '9' || character == '-' || character == '_' || character == '.' { + return character + } + return '_' + }, networkInterface) + file, err := os.Open(filepath.Join("/run/vocat", "cellular-"+safeName+".dns")) + if err != nil { + return []string{"1.1.1.1", "8.8.8.8"} + } + defer file.Close() + servers := make([]string, 0, 2) + scanner := bufio.NewScanner(file) + for scanner.Scan() { + if value := strings.TrimSpace(scanner.Text()); net.ParseIP(value) != nil { + servers = append(servers, value) + } + } + if len(servers) == 0 { + return []string{"1.1.1.1", "8.8.8.8"} + } + return servers +} diff --git a/internal/exportproxy/bind_other.go b/internal/exportproxy/bind_other.go new file mode 100644 index 0000000..b81dc13 --- /dev/null +++ b/internal/exportproxy/bind_other.go @@ -0,0 +1,12 @@ +//go:build !linux + +package exportproxy + +import ( + "errors" + "net" +) + +func platformSupported() error { return errors.New("built-in export proxy is only available on Linux") } +func boundDialer(string) net.Dialer { return net.Dialer{} } +func boundResolver(string) *net.Resolver { return net.DefaultResolver } diff --git a/internal/exportproxy/ipinfo.go b/internal/exportproxy/ipinfo.go new file mode 100644 index 0000000..ed4abe7 --- /dev/null +++ b/internal/exportproxy/ipinfo.go @@ -0,0 +1,88 @@ +package exportproxy + +import ( + "context" + "encoding/json" + "errors" + "fmt" + "io" + "net" + "net/http" + "strings" + "time" +) + +const ipInfoURL = "https://ipinfo.io/json" + +type PublicIPInfo struct { + IP string `json:"ip"` + CountryCode string `json:"country_code"` + Region string `json:"region"` + City string `json:"city"` + Organization string `json:"organization,omitempty"` +} + +// LookupPublicIP sends the lookup through the same marked, interface-bound +// dialer and isolated DNS resolver as Export Proxy. It therefore reports the +// modem's roaming exit rather than the host or browser's default connection. +func LookupPublicIP(ctx context.Context, networkInterface string) (PublicIPInfo, error) { + networkInterface = strings.TrimSpace(networkInterface) + if networkInterface == "" { + return PublicIPInfo{}, errors.New("cellular network interface is required") + } + if err := platformSupported(); err != nil { + return PublicIPInfo{}, err + } + dialer := boundDialer(networkInterface) + resolver := boundResolver(networkInterface) + transport := &http.Transport{ + DialContext: func(ctx context.Context, _, address string) (net.Conn, error) { + return dialTarget(ctx, address, &dialer, resolver) + }, + DisableKeepAlives: true, + ResponseHeaderTimeout: 12 * time.Second, + } + defer transport.CloseIdleConnections() + request, err := http.NewRequestWithContext(ctx, http.MethodGet, ipInfoURL, nil) + if err != nil { + return PublicIPInfo{}, err + } + request.Header.Set("Accept", "application/json") + request.Header.Set("User-Agent", "VoCat/1.0") + response, err := transport.RoundTrip(request) + if err != nil { + return PublicIPInfo{}, fmt.Errorf("query ipinfo.io through %s: %w", networkInterface, err) + } + defer response.Body.Close() + if response.StatusCode < 200 || response.StatusCode >= 300 { + _, _ = io.Copy(io.Discard, io.LimitReader(response.Body, 4<<10)) + return PublicIPInfo{}, fmt.Errorf("ipinfo.io returned HTTP %d", response.StatusCode) + } + return decodePublicIPInfo(io.LimitReader(response.Body, 64<<10)) +} + +func decodePublicIPInfo(reader io.Reader) (PublicIPInfo, error) { + var response struct { + IP string `json:"ip"` + Country string `json:"country"` + Region string `json:"region"` + City string `json:"city"` + Org string `json:"org"` + } + if err := json.NewDecoder(reader).Decode(&response); err != nil { + return PublicIPInfo{}, fmt.Errorf("decode ipinfo.io response: %w", err) + } + response.IP = strings.TrimSpace(response.IP) + response.Country = strings.ToUpper(strings.TrimSpace(response.Country)) + if net.ParseIP(response.IP) == nil { + return PublicIPInfo{}, errors.New("ipinfo.io response contained no valid IP address") + } + if len(response.Country) != 2 { + return PublicIPInfo{}, errors.New("ipinfo.io response contained no valid country code") + } + return PublicIPInfo{ + IP: response.IP, CountryCode: response.Country, + Region: strings.TrimSpace(response.Region), City: strings.TrimSpace(response.City), + Organization: strings.TrimSpace(response.Org), + }, nil +} diff --git a/internal/exportproxy/ipinfo_test.go b/internal/exportproxy/ipinfo_test.go new file mode 100644 index 0000000..a347777 --- /dev/null +++ b/internal/exportproxy/ipinfo_test.go @@ -0,0 +1,22 @@ +package exportproxy + +import ( + "strings" + "testing" +) + +func TestDecodePublicIPInfo(t *testing.T) { + info, err := decodePublicIPInfo(strings.NewReader(`{"ip":"203.0.113.8","city":"London","region":"England","country":"gb","org":"AS64500 Test"}`)) + if err != nil { + t.Fatal(err) + } + if info.IP != "203.0.113.8" || info.CountryCode != "GB" || info.Region != "England" || info.City != "London" { + t.Fatalf("info = %+v", info) + } +} + +func TestDecodePublicIPInfoRejectsInvalidResponse(t *testing.T) { + if _, err := decodePublicIPInfo(strings.NewReader(`{"ip":"not-an-ip","country":"GB"}`)); err == nil { + t.Fatal("invalid IP was accepted") + } +} diff --git a/internal/exportproxy/manager.go b/internal/exportproxy/manager.go new file mode 100644 index 0000000..bd99b55 --- /dev/null +++ b/internal/exportproxy/manager.go @@ -0,0 +1,494 @@ +package exportproxy + +import ( + "context" + "crypto/rand" + "encoding/hex" + "encoding/json" + "errors" + "fmt" + "log/slog" + "net" + "os" + "strconv" + "strings" + "sync" + "time" + + "vocat/internal/store" +) + +const ( + SettingKey = "developer.export_proxy.configs" + PasswordMask = "••••••••" + ReservedID = "export-proxy" +) + +var ( + ErrNotFound = errors.New("export proxy configuration not found") + ErrDisabled = errors.New("export proxy is disabled") +) + +type Config struct { + ID string `json:"id"` + Name string `json:"name"` + DeviceID string `json:"device_id"` + Interface string `json:"interface"` + Mode string `json:"mode"` + ListenHost string `json:"listen_host"` + ListenPort int `json:"listen_port"` + Enabled bool `json:"enabled"` + AuthEnabled bool `json:"auth_enabled"` + Username string `json:"username"` + Password string `json:"password"` +} + +type Status struct { + ID string `json:"id"` + Name string `json:"name"` + Mode string `json:"mode"` + Enabled bool `json:"enabled"` + Running bool `json:"running"` + Listen string `json:"listen"` + Error string `json:"error,omitempty"` + StartedAt time.Time `json:"started_at,omitempty"` +} + +type Manager struct { + mu sync.Mutex + store *store.Store + logger *slog.Logger + configs []Config + listeners map[string]net.Listener + started map[string]time.Time + lastError map[string]string + disabled bool +} + +func New(ctx context.Context, database *store.Store, logger *slog.Logger, legacyConfigPath string) (*Manager, error) { + if database == nil { + return nil, errors.New("export proxy store is required") + } + if logger == nil { + logger = slog.Default() + } + manager := &Manager{ + store: database, logger: logger, + listeners: make(map[string]net.Listener), + started: make(map[string]time.Time), + lastError: make(map[string]string), + } + migrated, err := manager.load(ctx, legacyConfigPath) + if err != nil { + return nil, err + } + if migrated { + if err := manager.saveLocked(ctx); err != nil { + return nil, fmt.Errorf("migrate legacy export proxy configurations: %w", err) + } + _ = RemoveLegacyConfig(legacyConfigPath) + } + + for _, config := range manager.configs { + if config.Enabled { + if err := manager.start(ctx, config.ID); err != nil { + manager.logger.Warn("start built-in export proxy", "id", config.ID, "error", err) + } + } + } + return manager, nil +} + +func RemoveLegacyConfig(path string) error { + path = strings.TrimSpace(path) + if path == "" { + return nil + } + err := os.Remove(path) + if errors.Is(err, os.ErrNotExist) { + return nil + } + return err +} + +func (manager *Manager) load(ctx context.Context, legacyConfigPath string) (bool, error) { + setting, err := manager.store.AppSetting(ctx, SettingKey) + if err == nil { + if err := json.Unmarshal(setting.Value, &manager.configs); err != nil { + return false, fmt.Errorf("decode export proxy configurations: %w", err) + } + return false, nil + } + if !errors.Is(err, store.ErrNotFound) { + return false, err + } + legacy, err := os.ReadFile(strings.TrimSpace(legacyConfigPath)) + if err != nil { + if errors.Is(err, os.ErrNotExist) || strings.TrimSpace(legacyConfigPath) == "" { + return false, nil + } + return false, err + } + if err := json.Unmarshal(legacy, &manager.configs); err != nil { + return false, fmt.Errorf("decode legacy export proxy configurations: %w", err) + } + return true, nil +} + +func (manager *Manager) saveLocked(ctx context.Context) error { + raw, err := json.Marshal(manager.configs) + if err != nil { + return err + } + return manager.store.UpsertAppSetting(ctx, store.AppSetting{Key: SettingKey, Value: raw, Sensitive: true}) +} + +func (manager *Manager) Configs() ([]Config, error) { + manager.mu.Lock() + defer manager.mu.Unlock() + if manager.disabled { + return nil, ErrDisabled + } + result := make([]Config, len(manager.configs)) + for index, config := range manager.configs { + result[index] = redact(config) + } + return result, nil +} + +// EnabledConfigForDevice returns the first enabled configuration bound to the +// given device, reporting whether one exists. It is used to block turning off a +// device's roaming data while one of its export proxies is still running. +func (manager *Manager) EnabledConfigForDevice(deviceID string) (Config, bool) { + manager.mu.Lock() + defer manager.mu.Unlock() + if manager.disabled { + return Config{}, false + } + for _, config := range manager.configs { + if config.DeviceID == deviceID && config.Enabled { + return redact(config), true + } + } + return Config{}, false +} + +func (manager *Manager) Status() ([]Status, error) { + manager.mu.Lock() + defer manager.mu.Unlock() + if manager.disabled { + return nil, ErrDisabled + } + result := make([]Status, 0, len(manager.configs)) + for _, config := range manager.configs { + status := Status{ID: config.ID, Name: config.Name, Mode: config.Mode, Enabled: config.Enabled, Error: manager.lastError[config.ID]} + if listener := manager.listeners[config.ID]; listener != nil { + status.Running = true + status.Listen = listener.Addr().String() + status.StartedAt = manager.started[config.ID] + } + result = append(result, status) + } + return result, nil +} + +func (manager *Manager) Create(ctx context.Context, config Config) (Config, error) { + config.ID = generateID() + if err := manager.prepareConfig(ctx, &config); err != nil { + return Config{}, err + } + manager.mu.Lock() + if manager.disabled { + manager.mu.Unlock() + return Config{}, ErrDisabled + } + if err := manager.checkPortLocked(config, ""); err != nil { + manager.mu.Unlock() + return Config{}, err + } + manager.configs = append(manager.configs, config) + if err := manager.saveLocked(ctx); err != nil { + manager.configs = manager.configs[:len(manager.configs)-1] + manager.mu.Unlock() + return Config{}, err + } + manager.mu.Unlock() + if config.Enabled { + if err := manager.start(ctx, config.ID); err != nil { + _ = manager.Delete(context.Background(), config.ID) + return Config{}, err + } + } + return redact(config), nil +} + +func (manager *Manager) Update(ctx context.Context, id string, incoming Config) (Config, error) { + incoming.ID = strings.TrimSpace(id) + manager.mu.Lock() + if manager.disabled { + manager.mu.Unlock() + return Config{}, ErrDisabled + } + existing, index := manager.configByIDLocked(incoming.ID) + manager.mu.Unlock() + if index < 0 { + return Config{}, ErrNotFound + } + if incoming.Password == "" || incoming.Password == PasswordMask { + incoming.Password = existing.Password + } + if err := manager.prepareConfig(ctx, &incoming); err != nil { + return Config{}, err + } + + manager.mu.Lock() + if manager.disabled { + manager.mu.Unlock() + return Config{}, ErrDisabled + } + existing, index = manager.configByIDLocked(incoming.ID) + if index < 0 { + manager.mu.Unlock() + return Config{}, ErrNotFound + } + if err := manager.checkPortLocked(incoming, incoming.ID); err != nil { + manager.mu.Unlock() + return Config{}, err + } + wasRunning := manager.listeners[incoming.ID] != nil + runtimeChanged := existing.Mode != incoming.Mode || existing.Interface != incoming.Interface || + existing.ListenHost != incoming.ListenHost || existing.ListenPort != incoming.ListenPort || + existing.AuthEnabled != incoming.AuthEnabled || existing.Username != incoming.Username || existing.Password != incoming.Password + manager.configs[index] = incoming + if err := manager.saveLocked(ctx); err != nil { + manager.configs[index] = existing + manager.mu.Unlock() + return Config{}, err + } + manager.mu.Unlock() + + switch { + case !incoming.Enabled: + manager.stop(incoming.ID) + case !wasRunning || runtimeChanged || !existing.Enabled: + if err := manager.start(ctx, incoming.ID); err != nil { + return redact(incoming), err + } + } + return redact(incoming), nil +} + +func (manager *Manager) Delete(ctx context.Context, id string) error { + manager.mu.Lock() + defer manager.mu.Unlock() + if manager.disabled { + return ErrDisabled + } + _, index := manager.configByIDLocked(strings.TrimSpace(id)) + if index < 0 { + return ErrNotFound + } + manager.stopLocked(id) + manager.configs = append(manager.configs[:index], manager.configs[index+1:]...) + return manager.saveLocked(ctx) +} + +// DeleteAllAndDisable is irreversible for the active developer-mode session: +// it closes every listener, removes every saved proxy, and rejects new work. +func (manager *Manager) DeleteAllAndDisable(ctx context.Context) error { + manager.mu.Lock() + for id := range manager.listeners { + manager.stopLocked(id) + } + manager.configs = nil + manager.disabled = true + manager.mu.Unlock() + err := manager.store.DeleteAppSetting(ctx, SettingKey) + if errors.Is(err, store.ErrNotFound) { + return nil + } + return err +} + +func (manager *Manager) Close() error { + manager.mu.Lock() + defer manager.mu.Unlock() + manager.disabled = true + for id := range manager.listeners { + manager.stopLocked(id) + } + return nil +} + +func (manager *Manager) prepareConfig(ctx context.Context, config *Config) error { + config.Name = strings.TrimSpace(config.Name) + config.DeviceID = strings.TrimSpace(config.DeviceID) + config.Interface = strings.TrimSpace(config.Interface) + config.Mode = strings.ToLower(strings.TrimSpace(config.Mode)) + config.ListenHost = strings.TrimSpace(config.ListenHost) + config.Username = strings.TrimSpace(config.Username) + if config.Name == "" { + config.Name = "proxy-" + config.ID[:4] + } + if config.DeviceID == "" { + return errors.New("device is required") + } + device, err := manager.store.Device(ctx, config.DeviceID) + if err != nil { + if errors.Is(err, store.ErrNotFound) { + return errors.New("configured device was not found") + } + return err + } + if strings.TrimSpace(device.Interface) == "" { + return errors.New("the selected device has no cellular interface") + } + if config.Interface != "" && config.Interface != device.Interface { + return errors.New("proxy interface does not match the selected device") + } + config.Interface = device.Interface + if config.Enabled && !device.NetworkEnabled { + return errors.New("enable roaming data on the selected device before starting its export proxy") + } + if config.Mode != "http" && config.Mode != "socks5" { + return errors.New("mode must be http or socks5") + } + if config.ListenHost == "" { + config.ListenHost = "0.0.0.0" + } + if net.ParseIP(config.ListenHost) == nil && config.ListenHost != "localhost" { + return errors.New("listen host must be an IP address") + } + if config.ListenPort < 0 || config.ListenPort > 65535 { + return errors.New("listen port must be between 0 and 65535") + } + if config.AuthEnabled { + if config.Username == "" { + return errors.New("username is required when authentication is enabled") + } + if len(config.Username) > 128 || len(config.Password) > 128 { + return errors.New("proxy credentials are too long") + } + } + return nil +} + +func (manager *Manager) checkPortLocked(config Config, excludeID string) error { + if config.ListenPort == 0 { + return nil + } + for _, current := range manager.configs { + if current.ID != excludeID && current.ListenPort == config.ListenPort && current.ListenHost == config.ListenHost { + return fmt.Errorf("port %d is already used by another export proxy", config.ListenPort) + } + } + if existing, _ := manager.configByIDLocked(excludeID); excludeID != "" && + existing.ListenHost == config.ListenHost && existing.ListenPort == config.ListenPort { + return nil + } + listener, err := net.Listen("tcp", net.JoinHostPort(config.ListenHost, strconv.Itoa(config.ListenPort))) + if err != nil { + return fmt.Errorf("port %d is already in use", config.ListenPort) + } + _ = listener.Close() + return nil +} + +func (manager *Manager) start(ctx context.Context, id string) error { + manager.mu.Lock() + if manager.disabled { + manager.mu.Unlock() + return ErrDisabled + } + config, index := manager.configByIDLocked(id) + if index < 0 || !config.Enabled { + manager.mu.Unlock() + return ErrNotFound + } + if err := platformSupported(); err != nil { + manager.lastError[id] = err.Error() + manager.mu.Unlock() + return err + } + manager.stopLocked(id) + listener, err := net.Listen("tcp", net.JoinHostPort(config.ListenHost, strconv.Itoa(config.ListenPort))) + if err != nil { + manager.lastError[id] = err.Error() + manager.mu.Unlock() + return err + } + if config.ListenPort == 0 { + config.ListenPort = listener.Addr().(*net.TCPAddr).Port + manager.configs[index] = config + if err := manager.saveLocked(ctx); err != nil { + _ = listener.Close() + manager.mu.Unlock() + return err + } + } + delete(manager.lastError, id) + manager.listeners[id] = listener + manager.started[id] = time.Now().UTC() + manager.mu.Unlock() + go manager.serve(listener, config) + return nil +} + +func (manager *Manager) stop(id string) { + manager.mu.Lock() + defer manager.mu.Unlock() + manager.stopLocked(id) +} + +func (manager *Manager) stopLocked(id string) { + if listener := manager.listeners[id]; listener != nil { + _ = listener.Close() + delete(manager.listeners, id) + } + delete(manager.started, id) +} + +func (manager *Manager) serve(listener net.Listener, config Config) { + dialer := boundDialer(config.Interface) + resolver := boundResolver(config.Interface) + for { + connection, err := listener.Accept() + if err != nil { + return + } + go func(client net.Conn) { + defer client.Close() + var err error + if config.Mode == "http" { + err = serveHTTP(client, config, &dialer, resolver) + } else { + err = serveSOCKS(client, config, &dialer, resolver) + } + if err != nil { + manager.logger.Debug("export proxy connection closed", "id", config.ID, "error", err) + } + }(connection) + } +} + +func (manager *Manager) configByIDLocked(id string) (Config, int) { + for index, config := range manager.configs { + if config.ID == id { + return config, index + } + } + return Config{}, -1 +} + +func redact(config Config) Config { + if config.Password != "" { + config.Password = PasswordMask + } + return config +} + +func generateID() string { + value := make([]byte, 4) + _, _ = rand.Read(value) + return hex.EncodeToString(value) +} diff --git a/internal/exportproxy/manager_test.go b/internal/exportproxy/manager_test.go new file mode 100644 index 0000000..d10c77f --- /dev/null +++ b/internal/exportproxy/manager_test.go @@ -0,0 +1,123 @@ +package exportproxy + +import ( + "context" + "errors" + "io" + "log/slog" + "path/filepath" + "testing" + + "vocat/internal/store" +) + +func TestManagerPersistsAndDeletesDisabledConfig(t *testing.T) { + ctx := context.Background() + database, err := store.Open(ctx, filepath.Join(t.TempDir(), "vocat.db")) + if err != nil { + t.Fatal(err) + } + defer database.Close() + if err := database.UpsertDevice(ctx, store.Device{ID: "modem-1", Name: "modem-1", Interface: "wwan0"}); err != nil { + t.Fatal(err) + } + manager, err := New(ctx, database, slog.New(slog.NewTextHandler(io.Discard, nil)), "") + if err != nil { + t.Fatal(err) + } + created, err := manager.Create(ctx, Config{DeviceID: "modem-1", Mode: "socks5", ListenHost: "127.0.0.1", ListenPort: 1080}) + if err != nil { + t.Fatal(err) + } + if created.ID == "" || created.Interface != "wwan0" { + t.Fatalf("created = %+v", created) + } + configs, err := manager.Configs() + if err != nil || len(configs) != 1 { + t.Fatalf("configs = %+v, %v", configs, err) + } + if err := manager.DeleteAllAndDisable(ctx); err != nil { + t.Fatal(err) + } + if _, err := manager.Configs(); !errors.Is(err, ErrDisabled) { + t.Fatalf("Configs after disable = %v", err) + } + if _, err := database.AppSetting(ctx, SettingKey); !errors.Is(err, store.ErrNotFound) { + t.Fatalf("setting remains: %v", err) + } +} + +func TestManagerRequiresRoamingDataForEnabledProxy(t *testing.T) { + ctx := context.Background() + database, err := store.Open(ctx, filepath.Join(t.TempDir(), "vocat.db")) + if err != nil { + t.Fatal(err) + } + defer database.Close() + if err := database.UpsertDevice(ctx, store.Device{ID: "modem-1", Name: "modem-1", Interface: "wwan0"}); err != nil { + t.Fatal(err) + } + manager, err := New(ctx, database, nil, "") + if err != nil { + t.Fatal(err) + } + defer manager.Close() + _, err = manager.Create(ctx, Config{DeviceID: "modem-1", Mode: "socks5", ListenHost: "127.0.0.1", ListenPort: 1080, Enabled: true}) + if err == nil { + t.Fatal("enabled proxy was accepted while roaming data was disabled") + } +} + +func TestManagerEnabledConfigForDevice(t *testing.T) { + ctx := context.Background() + database, err := store.Open(ctx, filepath.Join(t.TempDir(), "vocat.db")) + if err != nil { + t.Fatal(err) + } + defer database.Close() + if err := database.UpsertDevice(ctx, store.Device{ID: "modem-1", Name: "modem-1", Interface: "wwan0", NetworkEnabled: true}); err != nil { + t.Fatal(err) + } + if err := database.UpsertDevice(ctx, store.Device{ID: "modem-2", Name: "modem-2", Interface: "wwan1", NetworkEnabled: true}); err != nil { + t.Fatal(err) + } + manager, err := New(ctx, database, nil, "") + if err != nil { + t.Fatal(err) + } + defer manager.Close() + if _, ok := manager.EnabledConfigForDevice("modem-1"); ok { + t.Fatal("reported an enabled config before any was created") + } + // A disabled config bound to modem-1 must not count. + if _, err := manager.Create(ctx, Config{DeviceID: "modem-1", Mode: "socks5", ListenHost: "127.0.0.1", ListenPort: 1080}); err != nil { + t.Fatal(err) + } + if _, ok := manager.EnabledConfigForDevice("modem-1"); ok { + t.Fatal("disabled config counted as enabled") + } + // An enabled config bound to modem-2 counts only for modem-2. The listener start + // is Linux-only, so the config is created disabled and flipped on in memory to + // exercise the query without binding a port. + created, err := manager.Create(ctx, Config{DeviceID: "modem-2", Mode: "socks5", ListenHost: "127.0.0.1", ListenPort: 0, AuthEnabled: true, Username: "u", Password: "secret"}) + if err != nil { + t.Fatal(err) + } + manager.mu.Lock() + for index := range manager.configs { + if manager.configs[index].ID == created.ID { + manager.configs[index].Enabled = true + } + } + manager.mu.Unlock() + if _, ok := manager.EnabledConfigForDevice("modem-1"); ok { + t.Fatal("config bound to another device counted") + } + found, ok := manager.EnabledConfigForDevice("modem-2") + if !ok { + t.Fatal("enabled config not found for its device") + } + if found.Password != PasswordMask { + t.Fatalf("password not redacted: %+v", found) + } +} diff --git a/internal/exportproxy/proxy_http.go b/internal/exportproxy/proxy_http.go new file mode 100644 index 0000000..a218418 --- /dev/null +++ b/internal/exportproxy/proxy_http.go @@ -0,0 +1,72 @@ +package exportproxy + +import ( + "bufio" + "context" + "encoding/base64" + "errors" + "fmt" + "net" + "net/http" + "strings" +) + +func serveHTTP(client net.Conn, config Config, dialer *net.Dialer, resolver *net.Resolver) error { + reader := bufio.NewReader(client) + request, err := http.ReadRequest(reader) + if err != nil { + return err + } + if config.AuthEnabled && !httpAuthorized(request, config) { + _, _ = client.Write([]byte("HTTP/1.1 407 Proxy Authentication Required\r\nProxy-Authenticate: Basic realm=\"vocat-export-proxy\"\r\n\r\n")) + return errors.New("HTTP proxy authentication required") + } + if request.Method == http.MethodConnect { + ctx, cancel := context.WithTimeout(context.Background(), proxyTimeout) + target, err := dialTarget(ctx, request.URL.Host, dialer, resolver) + cancel() + if err != nil { + _, _ = fmt.Fprint(client, "HTTP/1.1 502 Bad Gateway\r\n\r\n") + return err + } + defer target.Close() + if _, err := client.Write([]byte("HTTP/1.1 200 Connection Established\r\n\r\n")); err != nil { + return err + } + if buffered := reader.Buffered(); buffered > 0 { + if value, err := reader.Peek(buffered); err == nil { + _, _ = target.Write(value) + _, _ = reader.Discard(buffered) + } + } + pipe(client, target) + return nil + } + + request.Header.Del("Proxy-Authorization") + request.Header.Del("Proxy-Connection") + request.RequestURI = "" + transport := &http.Transport{ + DialContext: func(ctx context.Context, _, address string) (net.Conn, error) { + return dialTarget(ctx, address, dialer, resolver) + }, + DisableKeepAlives: true, + } + response, err := transport.RoundTrip(request) + if err != nil { + _, _ = fmt.Fprint(client, "HTTP/1.1 502 Bad Gateway\r\n\r\n") + return err + } + defer response.Body.Close() + return response.Write(client) +} + +func httpAuthorized(request *http.Request, config Config) bool { + header := strings.TrimSpace(strings.TrimPrefix(request.Header.Get("Proxy-Authorization"), "Basic ")) + decoded, err := base64.StdEncoding.DecodeString(header) + if err != nil { + return false + } + parts := strings.SplitN(string(decoded), ":", 2) + return len(parts) == 2 && parts[0] == config.Username && parts[1] == config.Password +} diff --git a/internal/exportproxy/proxy_shared.go b/internal/exportproxy/proxy_shared.go new file mode 100644 index 0000000..977a736 --- /dev/null +++ b/internal/exportproxy/proxy_shared.go @@ -0,0 +1,55 @@ +package exportproxy + +import ( + "context" + "errors" + "fmt" + "io" + "net" + "time" +) + +const proxyTimeout = 30 * time.Second + +func dialTarget(ctx context.Context, address string, dialer *net.Dialer, resolver *net.Resolver) (net.Conn, error) { + host, port, err := net.SplitHostPort(address) + if err != nil { + return nil, err + } + if ip := net.ParseIP(host); ip != nil { + return dialer.DialContext(ctx, "tcp", net.JoinHostPort(ip.String(), port)) + } + ips, err := resolver.LookupIPAddr(ctx, host) + if err != nil { + return nil, err + } + var lastErr error + for _, ip := range ips { + connection, err := dialer.DialContext(ctx, "tcp", net.JoinHostPort(ip.IP.String(), port)) + if err == nil { + return connection, nil + } + lastErr = err + } + if lastErr == nil { + lastErr = fmt.Errorf("%w: no addresses for %s", errors.ErrUnsupported, host) + } + return nil, lastErr +} + +func pipe(left, right net.Conn) { + done := make(chan struct{}, 2) + go func() { _, _ = copyConnection(right, left); done <- struct{}{} }() + go func() { _, _ = copyConnection(left, right); done <- struct{}{} }() + <-done +} + +func copyConnection(destination net.Conn, source net.Conn) (int64, error) { + written, err := io.CopyBuffer(destination, source, make([]byte, 32*1024)) + if err == nil && written > 0 { + if connection, ok := destination.(interface{ CloseWrite() error }); ok { + _ = connection.CloseWrite() + } + } + return written, err +} diff --git a/internal/exportproxy/proxy_socks.go b/internal/exportproxy/proxy_socks.go new file mode 100644 index 0000000..d2aeed0 --- /dev/null +++ b/internal/exportproxy/proxy_socks.go @@ -0,0 +1,148 @@ +package exportproxy + +import ( + "bufio" + "context" + "encoding/binary" + "errors" + "fmt" + "io" + "net" + "strconv" +) + +func serveSOCKS(client net.Conn, config Config, dialer *net.Dialer, resolver *net.Resolver) error { + reader := bufio.NewReader(client) + version, err := reader.ReadByte() + if err != nil || version != 5 { + return errors.New("unsupported SOCKS version") + } + methodCount, err := reader.ReadByte() + if err != nil { + return err + } + methods := make([]byte, methodCount) + if _, err := io.ReadFull(reader, methods); err != nil { + return err + } + chosen := byte(0xff) + if config.AuthEnabled && hasMethod(methods, 2) { + chosen = 2 + } else if !config.AuthEnabled && hasMethod(methods, 0) { + chosen = 0 + } + if _, err := client.Write([]byte{5, chosen}); err != nil || chosen == 0xff { + return errors.New("no acceptable SOCKS authentication method") + } + if chosen == 2 { + if err := socksAuthenticate(reader, client, config); err != nil { + return err + } + } + header := make([]byte, 4) + if _, err := io.ReadFull(reader, header); err != nil { + return err + } + if header[0] != 5 || header[1] != 1 { + _ = writeSocksReply(client, 7) + return errors.New("only SOCKS5 CONNECT is supported") + } + host, port, err := readSocksAddress(reader, header[3]) + if err != nil { + _ = writeSocksReply(client, 1) + return err + } + ctx, cancel := context.WithTimeout(context.Background(), proxyTimeout) + target, err := dialTarget(ctx, net.JoinHostPort(host, strconv.Itoa(port)), dialer, resolver) + cancel() + if err != nil { + _ = writeSocksReply(client, 5) + return err + } + defer target.Close() + if err := writeSocksReply(client, 0); err != nil { + return err + } + if buffered := reader.Buffered(); buffered > 0 { + if value, err := reader.Peek(buffered); err == nil { + _, _ = target.Write(value) + _, _ = reader.Discard(buffered) + } + } + pipe(client, target) + return nil +} + +func socksAuthenticate(reader *bufio.Reader, writer io.Writer, config Config) error { + header := make([]byte, 2) + if _, err := io.ReadFull(reader, header); err != nil || header[0] != 1 { + return errors.New("invalid SOCKS authentication request") + } + username := make([]byte, int(header[1])) + if _, err := io.ReadFull(reader, username); err != nil { + return err + } + length, err := reader.ReadByte() + if err != nil { + return err + } + password := make([]byte, int(length)) + if _, err := io.ReadFull(reader, password); err != nil { + return err + } + if string(username) != config.Username || string(password) != config.Password { + _, _ = writer.Write([]byte{1, 1}) + return errors.New("SOCKS authentication failed") + } + _, err = writer.Write([]byte{1, 0}) + return err +} + +func hasMethod(methods []byte, wanted byte) bool { + for _, method := range methods { + if method == wanted { + return true + } + } + return false +} + +func readSocksAddress(reader *bufio.Reader, kind byte) (string, int, error) { + var host string + switch kind { + case 1: + value := make([]byte, 4) + if _, err := io.ReadFull(reader, value); err != nil { + return "", 0, err + } + host = net.IP(value).String() + case 3: + length, err := reader.ReadByte() + if err != nil { + return "", 0, err + } + value := make([]byte, int(length)) + if _, err := io.ReadFull(reader, value); err != nil { + return "", 0, err + } + host = string(value) + case 4: + value := make([]byte, 16) + if _, err := io.ReadFull(reader, value); err != nil { + return "", 0, err + } + host = net.IP(value).String() + default: + return "", 0, fmt.Errorf("unsupported SOCKS address type %d", kind) + } + value := make([]byte, 2) + if _, err := io.ReadFull(reader, value); err != nil { + return "", 0, err + } + return host, int(binary.BigEndian.Uint16(value)), nil +} + +func writeSocksReply(connection net.Conn, code byte) error { + _, err := connection.Write([]byte{5, code, 0, 1, 0, 0, 0, 0, 0, 0}) + return err +} diff --git a/internal/extensions/manager.go b/internal/extensions/manager.go index 1ea4f3d..33c2621 100644 --- a/internal/extensions/manager.go +++ b/internal/extensions/manager.go @@ -24,6 +24,8 @@ import ( "strings" "sync" "time" + + "vocat/internal/exportproxy" ) const maxPackageBytes int64 = 64 << 20 @@ -94,6 +96,10 @@ func (manager *Manager) scan() error { manager.logger.Warn("skip invalid plugin", "directory", dir, "error", err) continue } + if plugin.ID == exportproxy.ReservedID { + manager.logger.Info("skip legacy Export Proxy plugin; functionality is built in", "directory", dir) + continue + } manager.plugins[plugin.ID] = plugin if plugin.Enabled { manager.startLocked(plugin) @@ -201,6 +207,9 @@ func (manager *Manager) Install(reader io.Reader, expectedSHA string) (Plugin, e if err != nil { return Plugin{}, err } + if manifest.ID == exportproxy.ReservedID { + return Plugin{}, errors.New("plugin ID export-proxy is reserved by the built-in Export Proxy feature") + } staging, err := os.MkdirTemp(manager.root, ".install-"+manifest.ID+"-") if err != nil { return Plugin{}, err diff --git a/internal/httpsmode/listener.go b/internal/httpsmode/listener.go new file mode 100644 index 0000000..795cca7 --- /dev/null +++ b/internal/httpsmode/listener.go @@ -0,0 +1,106 @@ +package httpsmode + +import ( + "bufio" + "errors" + "net" + "sync" + "time" +) + +type bufferedConn struct { + net.Conn + reader *bufio.Reader +} + +func (conn *bufferedConn) Read(buffer []byte) (int, error) { return conn.reader.Read(buffer) } + +type channelListener struct { + address net.Addr + conns chan net.Conn + done chan struct{} +} + +func (listener *channelListener) Accept() (net.Conn, error) { + select { + case conn := <-listener.conns: + if conn == nil { + return nil, net.ErrClosed + } + return conn, nil + case <-listener.done: + return nil, net.ErrClosed + } +} +func (listener *channelListener) Close() error { return nil } +func (listener *channelListener) Addr() net.Addr { return listener.address } + +type Multiplexer struct { + base net.Listener + manager *Manager + plain *channelListener + tls *channelListener + done chan struct{} + closeOnce sync.Once +} + +func NewMultiplexer(base net.Listener, manager *Manager) *Multiplexer { + done := make(chan struct{}) + mux := &Multiplexer{ + base: base, manager: manager, done: done, + plain: &channelListener{address: base.Addr(), conns: make(chan net.Conn, 64), done: done}, + tls: &channelListener{address: base.Addr(), conns: make(chan net.Conn, 64), done: done}, + } + go mux.accept() + return mux +} + +func (mux *Multiplexer) Plain() net.Listener { return mux.plain } +func (mux *Multiplexer) TLS() net.Listener { return mux.tls } + +func (mux *Multiplexer) Close() error { + var err error + mux.closeOnce.Do(func() { + close(mux.done) + err = mux.base.Close() + }) + return err +} + +func (mux *Multiplexer) accept() { + for { + conn, err := mux.base.Accept() + if err != nil { + if !errors.Is(err, net.ErrClosed) { + _ = mux.Close() + } + return + } + go mux.classify(conn) + } +} + +func (mux *Multiplexer) classify(conn net.Conn) { + reader := bufio.NewReaderSize(conn, 4096) + _ = conn.SetReadDeadline(time.Now().Add(10 * time.Second)) + first, err := reader.Peek(1) + _ = conn.SetReadDeadline(time.Time{}) + if err != nil { + _ = conn.Close() + return + } + wrapped := &bufferedConn{Conn: conn, reader: reader} + listener := mux.plain + if first[0] == 0x16 { + if !mux.manager.Enabled() { + _ = conn.Close() + return + } + listener = mux.tls + } + select { + case listener.conns <- wrapped: + case <-mux.done: + _ = conn.Close() + } +} diff --git a/internal/httpsmode/manager.go b/internal/httpsmode/manager.go new file mode 100644 index 0000000..82d1024 --- /dev/null +++ b/internal/httpsmode/manager.go @@ -0,0 +1,259 @@ +package httpsmode + +import ( + "context" + "crypto/ecdsa" + "crypto/elliptic" + "crypto/rand" + "crypto/sha256" + "crypto/tls" + "crypto/x509" + "crypto/x509/pkix" + "encoding/hex" + "encoding/json" + "encoding/pem" + "errors" + "fmt" + "math/big" + "net" + "os" + "path/filepath" + "strings" + "sync" + "sync/atomic" + "time" + + "vocat/internal/store" +) + +const SettingKey = "transport.self_signed_https" + +type State struct { + Enabled bool `json:"enabled"` + HTTPURL string `json:"http_url"` + HTTPSURL string `json:"https_url"` + Fingerprint string `json:"fingerprint,omitempty"` + NotAfter time.Time `json:"not_after,omitempty"` +} + +type Manager struct { + store *store.Store + dir string + address string + enabled atomic.Bool + mu sync.RWMutex + cert *tls.Certificate +} + +func New(ctx context.Context, database *store.Store, dir, address string) (*Manager, error) { + manager := &Manager{store: database, dir: dir, address: address} + setting, err := database.AppSetting(ctx, SettingKey) + if err == nil { + var document struct { + Enabled bool `json:"enabled"` + } + if json.Unmarshal(setting.Value, &document) == nil && document.Enabled { + if err := manager.ensureCertificate(); err != nil { + return nil, err + } + manager.enabled.Store(true) + } + } else if !errors.Is(err, store.ErrNotFound) { + return nil, err + } + return manager, nil +} + +func (manager *Manager) Enabled() bool { return manager != nil && manager.enabled.Load() } + +func (manager *Manager) SetEnabled(ctx context.Context, enabled bool) (State, error) { + if enabled { + if err := manager.ensureCertificate(); err != nil { + return State{}, err + } + } + raw, err := json.Marshal(map[string]bool{"enabled": enabled}) + if err != nil { + return State{}, err + } + if err := manager.store.UpsertAppSetting(ctx, store.AppSetting{Key: SettingKey, Value: raw}); err != nil { + return State{}, err + } + manager.enabled.Store(enabled) + return manager.State(""), nil +} + +func (manager *Manager) State(host string) State { + host = strings.TrimSpace(host) + if host == "" { + host = manager.address + } + state := State{ + Enabled: manager.Enabled(), + HTTPURL: "http://" + host, + HTTPSURL: "https://" + host, + } + manager.mu.RLock() + if manager.cert != nil && manager.cert.Leaf != nil { + digest := sha256.Sum256(manager.cert.Leaf.Raw) + encoded := strings.ToUpper(hex.EncodeToString(digest[:])) + parts := make([]string, 0, len(encoded)/2) + for len(encoded) >= 2 { + parts = append(parts, encoded[:2]) + encoded = encoded[2:] + } + state.Fingerprint = strings.Join(parts, ":") + state.NotAfter = manager.cert.Leaf.NotAfter + } + manager.mu.RUnlock() + return state +} + +func (manager *Manager) TLSConfig() *tls.Config { + return &tls.Config{ + MinVersion: tls.VersionTLS12, + NextProtos: []string{"h2", "http/1.1"}, + GetCertificate: func(*tls.ClientHelloInfo) (*tls.Certificate, error) { + manager.mu.RLock() + defer manager.mu.RUnlock() + if manager.cert == nil { + return nil, errors.New("self-signed certificate is unavailable") + } + return manager.cert, nil + }, + } +} + +func (manager *Manager) CertificatePEM() ([]byte, error) { + if err := manager.ensureCertificate(); err != nil { + return nil, err + } + return os.ReadFile(filepath.Join(manager.dir, "selfsigned.crt")) +} + +func (manager *Manager) ensureCertificate() error { + manager.mu.Lock() + defer manager.mu.Unlock() + if manager.cert != nil && manager.cert.Leaf != nil && time.Until(manager.cert.Leaf.NotAfter) > 30*24*time.Hour { + return nil + } + if err := os.MkdirAll(manager.dir, 0o750); err != nil { + return fmt.Errorf("create TLS directory: %w", err) + } + certPath := filepath.Join(manager.dir, "selfsigned.crt") + keyPath := filepath.Join(manager.dir, "selfsigned.key") + if cert, err := loadCertificate(certPath, keyPath); err == nil && time.Until(cert.Leaf.NotAfter) > 30*24*time.Hour { + manager.cert = cert + return nil + } + certPEM, keyPEM, err := generateCertificate(manager.address) + if err != nil { + return err + } + if err := writePrivateFile(keyPath, keyPEM, 0o600); err != nil { + return err + } + if err := writePrivateFile(certPath, certPEM, 0o644); err != nil { + return err + } + cert, err := loadCertificate(certPath, keyPath) + if err != nil { + return err + } + manager.cert = cert + return nil +} + +func loadCertificate(certPath, keyPath string) (*tls.Certificate, error) { + cert, err := tls.LoadX509KeyPair(certPath, keyPath) + if err != nil { + return nil, err + } + if len(cert.Certificate) == 0 { + return nil, errors.New("certificate chain is empty") + } + cert.Leaf, err = x509.ParseCertificate(cert.Certificate[0]) + if err != nil { + return nil, err + } + return &cert, nil +} + +func generateCertificate(address string) ([]byte, []byte, error) { + key, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader) + if err != nil { + return nil, nil, err + } + limit := new(big.Int).Lsh(big.NewInt(1), 128) + serial, err := rand.Int(rand.Reader, limit) + if err != nil { + return nil, nil, err + } + now := time.Now().UTC() + template := &x509.Certificate{ + SerialNumber: serial, + Subject: pkix.Name{CommonName: "VoCat self-signed local certificate", Organization: []string{"VoCat"}}, + NotBefore: now.Add(-5 * time.Minute), NotAfter: now.AddDate(5, 0, 0), + KeyUsage: x509.KeyUsageDigitalSignature | x509.KeyUsageKeyEncipherment, + ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth}, + BasicConstraintsValid: true, + DNSNames: []string{"localhost"}, + IPAddresses: []net.IP{net.IPv4(127, 0, 0, 1), net.IPv6loopback}, + } + if hostname, hostnameErr := os.Hostname(); hostnameErr == nil && strings.TrimSpace(hostname) != "" { + template.DNSNames = append(template.DNSNames, strings.TrimSpace(hostname)) + } + if host, _, splitErr := net.SplitHostPort(address); splitErr == nil { + if ip := net.ParseIP(host); ip != nil && !ip.IsUnspecified() { + template.IPAddresses = append(template.IPAddresses, ip) + } else if host != "" && host != "0.0.0.0" && host != "::" { + template.DNSNames = append(template.DNSNames, host) + } + } + if interfaces, interfaceErr := net.InterfaceAddrs(); interfaceErr == nil { + for _, item := range interfaces { + text := item.String() + if slash := strings.IndexByte(text, '/'); slash >= 0 { + text = text[:slash] + } + if ip := net.ParseIP(strings.TrimSpace(text)); ip != nil && !ip.IsUnspecified() { + template.IPAddresses = append(template.IPAddresses, ip) + } + } + } + der, err := x509.CreateCertificate(rand.Reader, template, template, &key.PublicKey, key) + if err != nil { + return nil, nil, err + } + keyDER, err := x509.MarshalPKCS8PrivateKey(key) + if err != nil { + return nil, nil, err + } + return pem.EncodeToMemory(&pem.Block{Type: "CERTIFICATE", Bytes: der}), + pem.EncodeToMemory(&pem.Block{Type: "PRIVATE KEY", Bytes: keyDER}), nil +} + +func writePrivateFile(path string, data []byte, mode os.FileMode) error { + temp, err := os.CreateTemp(filepath.Dir(path), ".tls-*") + if err != nil { + return err + } + tempName := temp.Name() + defer os.Remove(tempName) + if err := temp.Chmod(mode); err != nil { + _ = temp.Close() + return err + } + if _, err := temp.Write(data); err != nil { + _ = temp.Close() + return err + } + if err := temp.Sync(); err != nil { + _ = temp.Close() + return err + } + if err := temp.Close(); err != nil { + return err + } + return os.Rename(tempName, path) +} diff --git a/internal/httpsmode/manager_test.go b/internal/httpsmode/manager_test.go new file mode 100644 index 0000000..1f96e88 --- /dev/null +++ b/internal/httpsmode/manager_test.go @@ -0,0 +1,99 @@ +package httpsmode + +import ( + "context" + "crypto/tls" + "net" + "path/filepath" + "testing" + + "vocat/internal/store" +) + +func TestManagerPersistsToggleAndCertificate(t *testing.T) { + ctx := context.Background() + dir := t.TempDir() + database, err := store.Open(ctx, filepath.Join(dir, "vocat.db")) + if err != nil { + t.Fatal(err) + } + defer database.Close() + manager, err := New(ctx, database, filepath.Join(dir, "tls"), "0.0.0.0:7575") + if err != nil { + t.Fatal(err) + } + state, err := manager.SetEnabled(ctx, true) + if err != nil { + t.Fatal(err) + } + if !state.Enabled || state.Fingerprint == "" || state.NotAfter.IsZero() { + t.Fatalf("enabled state = %#v", state) + } + certificate, err := manager.CertificatePEM() + if err != nil || len(certificate) == 0 { + t.Fatalf("certificate = %d bytes, %v", len(certificate), err) + } + reloaded, err := New(ctx, database, filepath.Join(dir, "tls"), "0.0.0.0:7575") + if err != nil || !reloaded.Enabled() { + t.Fatalf("reloaded manager enabled=%v error=%v", reloaded.Enabled(), err) + } + if _, err := reloaded.SetEnabled(ctx, false); err != nil || reloaded.Enabled() { + t.Fatalf("disable enabled=%v error=%v", reloaded.Enabled(), err) + } +} + +func TestMultiplexerRoutesPlainAndTLS(t *testing.T) { + ctx := context.Background() + dir := t.TempDir() + database, err := store.Open(ctx, filepath.Join(dir, "vocat.db")) + if err != nil { + t.Fatal(err) + } + defer database.Close() + manager, err := New(ctx, database, filepath.Join(dir, "tls"), "127.0.0.1:0") + if err != nil { + t.Fatal(err) + } + if _, err := manager.SetEnabled(ctx, true); err != nil { + t.Fatal(err) + } + base, err := net.Listen("tcp", "127.0.0.1:0") + if err != nil { + t.Fatal(err) + } + mux := NewMultiplexer(base, manager) + defer mux.Close() + + plainClient, err := net.Dial("tcp", base.Addr().String()) + if err != nil { + t.Fatal(err) + } + defer plainClient.Close() + if _, err := plainClient.Write([]byte("GET / HTTP/1.1\r\nHost: local\r\n\r\n")); err != nil { + t.Fatal(err) + } + plainServer, err := mux.Plain().Accept() + if err != nil { + t.Fatal(err) + } + defer plainServer.Close() + + tlsResult := make(chan error, 1) + go func() { + serverConn, acceptErr := mux.TLS().Accept() + if acceptErr != nil { + tlsResult <- acceptErr + return + } + defer serverConn.Close() + tlsResult <- tls.Server(serverConn, manager.TLSConfig()).Handshake() + }() + tlsClient, err := tls.Dial("tcp", base.Addr().String(), &tls.Config{InsecureSkipVerify: true}) // test-only local certificate + if err != nil { + t.Fatal(err) + } + _ = tlsClient.Close() + if err := <-tlsResult; err != nil { + t.Fatal(err) + } +} diff --git a/internal/i18n/i18n.go b/internal/i18n/i18n.go index 71b499c..1132d00 100644 --- a/internal/i18n/i18n.go +++ b/internal/i18n/i18n.go @@ -74,6 +74,7 @@ var zhToEn = map[string]string{ // ---- devices ---- "设备数量已达上限,最多只能添加 %d 台设备": "Device limit reached; at most %d devices can be added.", "SIM 卡归属地为%s(MCC %s),本服务不向该地区卡片提供数据/短信/VoWiFi": "The SIM's home region is %s (MCC %s); this service does not provide data, SMS, or VoWiFi to cards from that region.", + "请先禁用该设备已绑定的导出代理,再关闭漫游数据": "Disable the export proxy bound to this device before turning off roaming data.", // ---- settings / update ---- "未配置受信任的软件更新源;不会从未知地址下载或执行文件。": "No trusted update source is configured; no files will be downloaded or executed from unknown addresses.", diff --git a/internal/server/call_media_api.go b/internal/server/call_media_api.go new file mode 100644 index 0000000..5786043 --- /dev/null +++ b/internal/server/call_media_api.go @@ -0,0 +1,99 @@ +package server + +import ( + "context" + "encoding/binary" + "errors" + "io" + "net/http" + "strings" + + "github.com/coder/websocket" + + "vocat/internal/store" +) + +const maxCallMediaMessage = 16 << 10 + +// handleCallMedia upgrades an authenticated same-origin request to a binary +// PCM bridge. Each WebSocket message contains little-endian signed 16-bit, +// 8 kHz, mono samples. RTP and codec details remain inside the IMS provider. +func (s *Server) handleCallMedia(w http.ResponseWriter, r *http.Request, config store.Device) bool { + if !requireMethod(w, r, http.MethodGet) { + return true + } + if s.callTransport(config.ID) != "vowifi" { + writeError(w, http.StatusNotImplemented, "call_media_unavailable", "browser audio is only available for an active VoWiFi IMS call") + return true + } + callID := strings.TrimSpace(r.URL.Query().Get("call_id")) + if callID == "" || len(callID) > 256 { + writeError(w, http.StatusBadRequest, "invalid_call_id", "call_id is required") + return true + } + controller, ok := s.vowifi.(VoWiFiCallMediaController) + if !ok { + writeError(w, http.StatusNotImplemented, "call_media_unavailable", "the active IMS session does not expose RTP media") + return true + } + media, err := controller.CallMedia(r.Context(), config.ID, callID) + if err != nil { + writeError(w, http.StatusConflict, "call_media_unavailable", err.Error()) + return true + } + connection, err := websocket.Accept(w, r, &websocket.AcceptOptions{ + CompressionMode: websocket.CompressionDisabled, + }) + if err != nil { + return true + } + connection.SetReadLimit(maxCallMediaMessage) + ctx, cancel := context.WithCancel(r.Context()) + defer cancel() + defer connection.Close(websocket.StatusNormalClosure, "call media closed") + + downlink := make(chan error, 1) + go func() { + defer cancel() + for { + samples, readErr := media.ReadPCM(ctx) + if readErr != nil { + downlink <- readErr + return + } + payload := make([]byte, len(samples)*2) + for index, sample := range samples { + binary.LittleEndian.PutUint16(payload[index*2:], uint16(sample)) + } + if writeErr := connection.Write(ctx, websocket.MessageBinary, payload); writeErr != nil { + downlink <- writeErr + return + } + } + }() + + for { + select { + case err := <-downlink: + if !errors.Is(err, context.Canceled) && !errors.Is(err, io.EOF) { + s.logger.Debug("call media downlink closed", "device_id", config.ID, "call_id", callID, "error", err) + } + return true + default: + } + messageType, payload, readErr := connection.Read(ctx) + if readErr != nil { + return true + } + if messageType != websocket.MessageBinary || len(payload) == 0 || len(payload)%2 != 0 { + continue + } + samples := make([]int16, len(payload)/2) + for index := range samples { + samples[index] = int16(binary.LittleEndian.Uint16(payload[index*2:])) + } + if err := media.WritePCM(samples); err != nil { + return true + } + } +} diff --git a/internal/server/developer_settings.go b/internal/server/developer_settings.go new file mode 100644 index 0000000..f347277 --- /dev/null +++ b/internal/server/developer_settings.go @@ -0,0 +1,43 @@ +package server + +import ( + "net/http" + + "vocat/internal/developer" +) + +func (s *Server) handleDeveloperSettings(w http.ResponseWriter, r *http.Request) { + if !s.developerEnabled { + writeError(w, http.StatusNotFound, "not_found", "resource not found") + return + } + switch r.Method { + case http.MethodGet: + writeJSON(w, http.StatusOK, map[string]any{"data": map[string]any{ + "device_limit": developer.DeviceLimit(r.Context(), s.store, true), + "default_device_limit": developer.DefaultDeviceLimit, + "max_device_limit": developer.MaxDeviceLimit, + }}) + case http.MethodPut: + var request struct { + DeviceLimit int `json:"device_limit"` + } + if err := s.decodeJSON(w, r, &request); err != nil { + writeError(w, http.StatusBadRequest, "invalid_request", err.Error()) + return + } + if err := developer.SetDeviceLimit(r.Context(), s.store, request.DeviceLimit); err != nil { + writeError(w, http.StatusBadRequest, "invalid_device_limit", err.Error()) + return + } + s.recordAudit(r.Context(), "admin", "settings.developer.device_limit", "settings", "developer", "success", "device limit updated") + writeJSON(w, http.StatusOK, map[string]any{"data": map[string]any{ + "device_limit": request.DeviceLimit, + "default_device_limit": developer.DefaultDeviceLimit, + "max_device_limit": developer.MaxDeviceLimit, + }}) + default: + w.Header().Set("Allow", "GET, PUT") + writeError(w, http.StatusMethodNotAllowed, "method_not_allowed", "method not allowed") + } +} diff --git a/internal/server/developer_settings_test.go b/internal/server/developer_settings_test.go new file mode 100644 index 0000000..4e40fa0 --- /dev/null +++ b/internal/server/developer_settings_test.go @@ -0,0 +1,22 @@ +package server + +import ( + "net/http" + "net/http/httptest" + "testing" +) + +func TestDeveloperOnlySettingsAreHiddenWhenModeIsOff(t *testing.T) { + server := &Server{developerEnabled: false} + for _, handler := range []func(http.ResponseWriter, *http.Request){ + server.handleDeveloperSettings, + server.handleHTTPSSettings, + server.handleHTTPSCertificate, + } { + response := httptest.NewRecorder() + handler(response, httptest.NewRequest(http.MethodGet, "/api/settings/developer", nil)) + if response.Code != http.StatusNotFound { + t.Fatalf("developer-only endpoint status = %d, want 404", response.Code) + } + } +} diff --git a/internal/server/device_api.go b/internal/server/device_api.go index 50a2d82..6b3e060 100644 --- a/internal/server/device_api.go +++ b/internal/server/device_api.go @@ -11,6 +11,7 @@ import ( "strings" "time" + "vocat/internal/developer" "vocat/internal/device" "vocat/internal/i18n" "vocat/internal/modem" @@ -38,6 +39,7 @@ type DeviceController interface { SetUSBNetModeByPort(context.Context, string, int) (device.USBNetMode, error) OperatorSelection(context.Context, string) (device.OperatorSelection, error) SetOperatorSelection(context.Context, string, bool, string, *int) (device.OperatorSelection, error) + ReRegisterOperator(context.Context, string) (device.OperatorSelection, error) ScanOperators(context.Context, string) (device.OperatorScanResult, error) SendSMS(context.Context, string, string, string) (device.SMSSendResult, error) ListSMS(context.Context, string) ([]device.SMSMessage, error) @@ -56,6 +58,7 @@ type DeviceController interface { type deviceConfigPayload struct { ID string `json:"id"` Name string `json:"name"` + DeviceType string `json:"device_type"` Interface string `json:"interface"` ControlDevice string `json:"control_device"` ATPort string `json:"at_port"` @@ -86,6 +89,7 @@ func (payload deviceConfigPayload) toStoreDevice() store.Device { return store.Device{ ID: strings.TrimSpace(payload.ID), Name: name, + DeviceType: store.NormalizeDeviceType(payload.DeviceType), Interface: strings.TrimSpace(payload.Interface), ControlDevice: strings.TrimSpace(payload.ControlDevice), ATPort: strings.TrimSpace(payload.ATPort), @@ -170,15 +174,13 @@ func splitAPIPath(value string) []string { return result } -// maxDeviceLimit 是设备数量的软上限:达到上限后禁止再添加新设备。 -const maxDeviceLimit = 5 - func (s *Server) handleDevices(w http.ResponseWriter, r *http.Request) bool { + deviceLimit := developer.DeviceLimit(r.Context(), s.store, s.developerEnabled) switch r.Method { case http.MethodGet: writeJSON(w, http.StatusOK, map[string]any{ "data": map[string]any{ - "device_limit": maxDeviceLimit, + "device_limit": deviceLimit, "devices": s.deviceSummaries(), }, }) @@ -203,6 +205,10 @@ func (s *Server) handleDevices(w http.ResponseWriter, r *http.Request) bool { writeError(w, http.StatusBadRequest, "invalid_device_id", "device ID must use 1-64 letters, digits, dots, underscores, or hyphens") return true } + if strings.TrimSpace(payload.DeviceType) == "" || store.NormalizeDeviceType(payload.DeviceType) == "" { + writeError(w, http.StatusBadRequest, "invalid_device_type", "select a supported device type") + return true + } if _, err := s.store.Device(r.Context(), payload.ID); err == nil { writeError(w, http.StatusConflict, "device_exists", "a device with this ID already exists") return true @@ -215,8 +221,8 @@ func (s *Server) handleDevices(w http.ResponseWriter, r *http.Request) bool { s.writeStoreError(w, err) return true } - if len(configured) >= maxDeviceLimit { - writeError(w, http.StatusConflict, "device_limit_reached", i18n.Tf("设备数量已达上限,最多只能添加 %d 台设备", maxDeviceLimit)) + if len(configured) >= deviceLimit { + writeError(w, http.StatusConflict, "device_limit_reached", i18n.Tf("设备数量已达上限,最多只能添加 %d 台设备", deviceLimit)) return true } devices, err := s.devices.Discover(r.Context()) @@ -230,6 +236,9 @@ func (s *Server) handleDevices(w http.ResponseWriter, r *http.Request) bool { return true } config := payload.toStoreDevice() + if !s.developerActive(r.Context()) { + config.NetworkEnabled = false + } fillConfigFromPhysical(&config, *selected) if err := s.store.UpsertDevice(r.Context(), config); err != nil { s.writeStoreError(w, err) @@ -402,6 +411,9 @@ func (s *Server) handleDevicePath( return true } next := payload.toStoreDevice() + if !s.developerActive(r.Context()) { + next.NetworkEnabled = false + } next.ID = id next.CreatedAt = config.CreatedAt if next.Name == id && strings.TrimSpace(payload.Name) == "" { @@ -485,12 +497,27 @@ func (s *Server) handleDevicePath( s.writeDeviceError(w, err) return true } + s.clearPublicIP(config.ID) writeJSON(w, http.StatusAccepted, map[string]any{"data": map[string]any{"status": "rebooting"}}) case "flight-mode": if !s.requirePhysicalDevice(w, physicalPresent) { return true } return s.handleFlightMode(w, r, physicalID) + case "network": + if !s.requirePhysicalDevice(w, physicalPresent) { + return true + } + return s.handleCellularData(w, r, config, physicalID) + case "network/public-ip": + if !s.requirePhysicalDevice(w, physicalPresent) { + return true + } + iccid := "" + if entry.Snapshot != nil { + iccid = entry.Snapshot.ICCID + } + return s.handleCellularPublicIP(w, r, config, iccid) case "usbnet-mode": if !s.requirePhysicalDevice(w, physicalPresent) { return true @@ -501,6 +528,11 @@ func (s *Server) handleDevicePath( return true } return s.handleOperatorSelection(w, r, physicalID) + case "operator_selection/reregister": + if !s.requirePhysicalDevice(w, physicalPresent) { + return true + } + return s.handleOperatorReRegister(w, r, physicalID) case "operator_selection/scan": if !s.requirePhysicalDevice(w, physicalPresent) { return true @@ -527,6 +559,11 @@ func (s *Server) handleDevicePath( return true } return s.handleCallAction(w, r, config, physicalID, tail[1]) + case "calls/media": + if !s.requirePhysicalDevice(w, physicalPresent) { + return true + } + return s.handleCallMedia(w, r, config) default: return false } @@ -667,6 +704,21 @@ func (s *Server) handleOperatorSelection(w http.ResponseWriter, r *http.Request, return true } +func (s *Server) handleOperatorReRegister(w http.ResponseWriter, r *http.Request, physicalID string) bool { + if !requireMethod(w, r, http.MethodPost) { + return true + } + controller := http.NewResponseController(w) + _ = controller.SetWriteDeadline(time.Time{}) + result, err := s.devices.ReRegisterOperator(r.Context(), physicalID) + if err != nil { + s.writeDeviceError(w, err) + return true + } + writeJSON(w, http.StatusOK, map[string]any{"data": operatorSelectionWire(result)}) + return true +} + func (s *Server) handleVoWiFiEnabled( w http.ResponseWriter, r *http.Request, @@ -691,6 +743,10 @@ func (s *Server) handleVoWiFiEnabled( writeError(w, http.StatusServiceUnavailable, "physical_device_missing", "the configured modem is not present on this Linux host") return true } + if request.Enabled && config.NetworkEnabled { + writeError(w, http.StatusConflict, "cellular_data_active", "disable roaming data before enabling VoWiFi") + return true + } if request.Enabled { entry, _, _ := s.physicalForConfig(config) imsi := snapshotString(entry.Snapshot, func(snapshot *device.Snapshot) string { return snapshot.IMSI }) @@ -943,10 +999,111 @@ func (s *Server) handleFlightMode(w http.ResponseWriter, r *http.Request, id str s.writeDeviceError(w, err) return true } + // Unlike VoWiFi, CFUN airplane state is not represented in the device row. + // Persist it against the live ICCID so a restart can distinguish an + // intentional airplane policy from an interrupted VoWiFi teardown. + if entry, getErr := s.devices.Get(id); getErr == nil && entry.Snapshot != nil { + iccid := strings.TrimSpace(entry.Snapshot.ICCID) + if iccid != "" { + policy, policyErr := s.store.CardPolicy(r.Context(), iccid) + if errors.Is(policyErr, store.ErrNotFound) { + policy = store.CardPolicy{ICCID: iccid, IPVersion: "IPV4V6"} + policyErr = nil + } + if policyErr != nil { + s.writeStoreError(w, policyErr) + return true + } + policy.AirplaneEnabled = request.Enabled + if request.Enabled { + policy.VoWiFiEnabled = false + } + policy.Source = "manual" + if err := s.store.UpsertCardPolicy(r.Context(), policy); err != nil { + s.writeStoreError(w, err) + return true + } + } + } writeJSON(w, http.StatusOK, map[string]any{"data": result}) return true } +func (s *Server) handleCellularData( + w http.ResponseWriter, + r *http.Request, + config store.Device, + physicalID string, +) bool { + if !s.developerActive(r.Context()) { + writeError(w, http.StatusForbidden, "developer_mode_required", "roaming data is available only in developer mode") + return true + } + switch r.Method { + case http.MethodGet: + writeJSON(w, http.StatusOK, map[string]any{"data": map[string]any{ + "enabled": config.NetworkEnabled, + "interface": config.Interface, + "apn": config.APN, + "export_proxy_only": true, + }}) + case http.MethodPatch, http.MethodPut: + var request struct { + Enabled bool `json:"enabled"` + APN string `json:"apn"` + } + if err := s.decodeJSON(w, r, &request); err != nil { + writeError(w, http.StatusBadRequest, "invalid_request", err.Error()) + return true + } + if request.Enabled && config.VoWiFiEnabled { + writeError(w, http.StatusConflict, "vowifi_owns_radio", "disable VoWiFi before enabling cellular roaming data") + return true + } + if !request.Enabled && s.exportProxy != nil { + if _, active := s.exportProxy.EnabledConfigForDevice(config.ID); active { + writeError(w, http.StatusConflict, "export_proxy_active", i18n.T("请先禁用该设备已绑定的导出代理,再关闭漫游数据")) + return true + } + } + apn := strings.TrimSpace(request.APN) + if apn == "" { + apn = strings.TrimSpace(config.APN) + } + controller := http.NewResponseController(w) + _ = controller.SetWriteDeadline(time.Time{}) + result, err := s.devices.SetNetwork(r.Context(), physicalID, device.NetworkRequest{ + Enabled: request.Enabled, APN: apn, IPVersion: "IPV4V6", + }) + if err != nil { + s.writeDeviceError(w, err) + return true + } + previous := config.NetworkEnabled + config.NetworkEnabled = request.Enabled + if apn != "" { + config.APN = apn + } + if err := s.store.UpsertDevice(r.Context(), config); err != nil { + rollbackContext, cancel := context.WithTimeout(context.Background(), 20*time.Second) + _, _ = s.devices.SetNetwork(rollbackContext, physicalID, device.NetworkRequest{ + Enabled: previous, APN: config.APN, IPVersion: "IPV4V6", + }) + cancel() + s.writeStoreError(w, err) + return true + } + writeJSON(w, http.StatusOK, map[string]any{"data": map[string]any{ + "enabled": result.Enabled, "interface": result.Interface, + "backend": result.Backend, "export_proxy_only": true, + }}) + default: + w.Header().Set("Allow", "GET, PATCH, PUT") + writeError(w, http.StatusMethodNotAllowed, "method_not_allowed", "method not allowed") + } + return true +} + func (s *Server) requirePhysicalDevice(w http.ResponseWriter, present bool) bool { if s.devices == nil { writeError(w, http.StatusServiceUnavailable, "device_manager_unavailable", "device manager is unavailable") @@ -1031,6 +1188,7 @@ func (s *Server) dashboardDevices() []map[string]any { result = append(result, map[string]any{ "id": entry["id"], "name": entry["name"], + "device_type": entry["device_type"], "interface": entry["interface"], "proxy_port": entry["proxy_port"], "public_ip": entry["public_ip"], @@ -1041,7 +1199,7 @@ func (s *Server) dashboardDevices() []map[string]any { "network_duplex": modemStatus["network_duplex"], "vowifi_active": vowifiActive, "vowifi_runtime": runtime, - "network_connected": false, + "network_connected": entry["network_connected"], "model": modemStatus["model"], }) } @@ -1098,24 +1256,50 @@ func (s *Server) configuredDeviceSummary( } result["id"] = config.ID result["name"] = config.Name + result["device_type"] = store.NormalizeDeviceType(config.DeviceType) result["interface"] = config.Interface result["proxy_port"] = config.ProxyPort result["esim_transport"] = config.ESIMTransport result["sms_enabled"] = config.SMSEnabled - result["network_enabled"] = false + result["network_enabled"] = config.NetworkEnabled + result["developer_enabled"] = s.developerActive(context.Background()) + result["network_connected"] = config.NetworkEnabled + result["data_connected"] = config.NetworkEnabled result["vowifi_enabled"] = config.VoWiFiEnabled if runtime, err := s.store.VoWiFiRuntime(context.Background(), config.ID); err == nil { - runtimeResponse := storedVoWiFiRuntime(runtime) + currentICCID := "" + var currentSnapshot *device.Snapshot + if entry != nil { + currentSnapshot = entry.Snapshot + if entry.Snapshot != nil { + currentICCID = strings.TrimSpace(entry.Snapshot.ICCID) + } + } + runtimeMatchesCard := currentICCID == "" || runtime.ICCID == "" || + strings.EqualFold(currentICCID, strings.TrimSpace(runtime.ICCID)) + var runtimeResponse map[string]any + if runtimeMatchesCard { + runtimeResponse = storedVoWiFiRuntime(runtime) + } else { + // The saved IMS session belongs to a different eSIM profile. Never + // project its registration or number onto the currently selected SIM. + runtimeResponse = idleVoWiFiRuntime(config.ID, currentSnapshot) + } result["vowifi_runtime"] = runtimeResponse - result["vowifi_active"] = runtime.TunnelReady - if runtime.LocalPhone != "" { - // The SIM panel reads the top-level local_phone; keep modem.phone_number - // in sync for the summary/overview consumers that read it there. - result["local_phone"] = runtime.LocalPhone - result["phone_number_source"] = runtime.PhoneNumberSource - if modemStatus, ok := result["modem"].(map[string]any); ok { - modemStatus["phone_number"] = runtime.LocalPhone - modemStatus["phone_number_source"] = runtime.PhoneNumberSource + result["vowifi_active"] = config.VoWiFiEnabled && runtimeMatchesCard && runtime.TunnelReady + } + // Numbers are SIM-owned data. Resolve the association by the live ICCID + // instead of reusing the last VoWiFi runtime attached to this device ID. + if entry != nil && entry.Snapshot != nil { + currentICCID := strings.TrimSpace(entry.Snapshot.ICCID) + if currentICCID != "" { + if association, err := s.store.PhoneAssociation(context.Background(), currentICCID); err == nil { + result["local_phone"] = association.Number + result["phone_number_source"] = association.Source + if modemStatus, ok := result["modem"].(map[string]any); ok { + modemStatus["phone_number"] = association.Number + modemStatus["phone_number_source"] = association.Source + } } } } @@ -1127,6 +1311,7 @@ func (s *Server) configuredDeviceOverview( entry device.Device, present bool, ) map[string]any { + developerActive := s.developerActive(context.Background()) var physical *device.Device if present { physical = &entry @@ -1141,12 +1326,34 @@ func (s *Server) configuredDeviceOverview( result["control_device"] = config.ControlDevice result["esim_transport"] = config.ESIMTransport result["sms_enabled"] = config.SMSEnabled - result["network_enabled"] = false + result["network_enabled"] = developerActive && config.NetworkEnabled result["vowifi_enabled"] = config.VoWiFiEnabled result["radio_live_ok"] = present && entry.Snapshot != nil && entry.Snapshot.Responsive - result["traffic"] = map[string]string{} - result["traffic_raw"] = map[string]int64{} - result["traffic_meta"] = map[string]any{} + + // Live network state: on-demand sample of the cellular interface counters, + // kept warm by the 2s overview SSE cadence. Only meaningful when the modem + // data path is enabled and an interface is configured. + if developerActive && config.NetworkEnabled && strings.TrimSpace(config.Interface) != "" { + live := s.netTraffic.sample(config.ID, config.Interface, time.Now()) + result["private_ip"] = live.ipv4 + result["traffic"] = map[string]string{ + "rx": formatLiveBytes(float64(live.minuteRx)), + "tx": formatLiveBytes(float64(live.minuteTx)), + "rate": formatLiveBytes(live.rxRate) + "/s", + "rate_tx": formatLiveBytes(live.txRate) + "/s", + } + result["traffic_raw"] = map[string]int64{ + "rx": live.minuteRx, + "tx": live.minuteTx, + "rate": int64(live.rxRate), + "rate_tx": int64(live.txRate), + } + result["traffic_meta"] = map[string]any{"status": live.status} + } else { + result["traffic"] = map[string]string{} + result["traffic_raw"] = map[string]int64{} + result["traffic_meta"] = map[string]any{} + } return result } @@ -1167,7 +1374,7 @@ func (s *Server) configuredDeviceStatus( result := map[string]any{ "healthy": summary["healthy"], "public_ip": summary["public_ip"], - "network_connected": false, + "network_connected": config.NetworkEnabled, "modem": summary["modem"], "vowifi": summary["vowifi_runtime"], "sim_service_table": map[string]any{}, @@ -1250,7 +1457,7 @@ func deviceSummary(entry device.Device) map[string]any { "physical_present": entry.Discovered, "worker_running": entry.Discovered, "data_connected": false, - "radio_registered": snapshot != nil && snapshot.OperatorName != "", + "radio_registered": snapshot != nil && (snapshot.RegistrationStatus == 1 || snapshot.RegistrationStatus == 5), "lifecycle_phase": lifecyclePhase(entry), "lifecycle_reason": entry.LastError, "public_ip": "", @@ -1307,6 +1514,7 @@ func storedDeviceConfig(config store.Device) map[string]any { return map[string]any{ "id": config.ID, "name": config.Name, + "device_type": store.NormalizeDeviceType(config.DeviceType), "interface": config.Interface, "control_device": config.ControlDevice, "at_port": config.ATPort, @@ -1324,7 +1532,7 @@ func storedDeviceConfig(config store.Device) map[string]any { "qmi_use_proxy": config.QMIUseProxy, "qmi_proxy_path": config.QMIProxyPath, "qmi_proxy_executable": config.QMIProxyExecutable, - "network_enabled": false, + "network_enabled": config.NetworkEnabled, "sms_enabled": config.SMSEnabled, "vowifi_enabled": config.VoWiFiEnabled, } @@ -1358,61 +1566,64 @@ func fillConfigFromPhysical(config *store.Device, entry device.Device) { func modemSummary(snapshot *device.Snapshot, phone string, phoneSource string) map[string]any { if snapshot == nil { return map[string]any{ - "operator": "", - "native_mcc": "", - "native_mnc": "", - "card_mcc": "", - "card_mnc": "", - "card_country": "", - "service_blocked": false, - "blocked_reason": "", - "network_mode": "", - "radio_band": "", - "radio_channel": 0, - "signal_dbm": 0, - "signal_sinr": 0, - "imei": "", - "iccid": "", - "reg_status": 0, - "reg_status_text": "not refreshed", - "sim_inserted": false, - "phone_number": phone, - "phone_number_source": phoneSource, - "model": "", + "operator": "", + "native_mcc": "", + "native_mnc": "", + "operator_country_code": "", + "card_mcc": "", + "card_mnc": "", + "card_country": "", + "service_blocked": false, + "blocked_reason": "", + "network_mode": "", + "radio_band": "", + "radio_channel": 0, + "signal_dbm": 0, + "signal_sinr": 0, + "imei": "", + "iccid": "", + "reg_status": 0, + "reg_status_text": "not refreshed", + "sim_inserted": false, + "phone_number": phone, + "phone_number_source": phoneSource, + "model": "", } } mcc, mnc := splitPLMN(snapshot.OperatorCode) + _, operatorCountryCode, _ := device.CarrierForPLMN(snapshot.OperatorCode) cardMCC, cardMNC := device.CardMCCMNC(snapshot.IMSI) blockedReason := device.RegionBlockReason(snapshot.IMSI) return map[string]any{ - "operator": snapshot.OperatorName, - "native_mcc": mcc, - "native_mnc": mnc, - "card_mcc": cardMCC, - "card_mnc": cardMNC, - "card_country": countryNameForMCC(cardMCC), - "service_blocked": blockedReason != "", - "blocked_reason": blockedReason, - "network_mode": snapshot.AccessTech, - "network_duplex": "", - "radio_band": snapshot.Band, - "radio_channel": parseDecimal(snapshot.Channel), - "signal_dbm": pointerInt(snapshot.RSSIDBm), - "signal_rsrp": pointerInt(snapshot.RSRP), - "signal_rsrq": pointerInt(snapshot.RSRQ), - "signal_sinr": pointerInt(snapshot.SINR), - "imei": snapshot.IMEI, - "iccid": snapshot.ICCID, - "imsi": snapshot.IMSI, - "firmware": snapshot.Firmware, - "model": snapshot.Model, - "reg_status": boolInt(snapshot.OperatorName != ""), - "reg_status_text": registrationText(snapshot), - "ps_attached": false, - "sim_inserted": snapshot.SIMStatus != "", - "operating_mode": snapshot.OperatingMode, - "phone_number": phone, - "phone_number_source": phoneSource, + "operator": snapshot.OperatorName, + "native_mcc": mcc, + "native_mnc": mnc, + "operator_country_code": operatorCountryCode, + "card_mcc": cardMCC, + "card_mnc": cardMNC, + "card_country": countryNameForMCC(cardMCC), + "service_blocked": blockedReason != "", + "blocked_reason": blockedReason, + "network_mode": snapshot.AccessTech, + "network_duplex": "", + "radio_band": snapshot.Band, + "radio_channel": parseDecimal(snapshot.Channel), + "signal_dbm": pointerInt(snapshot.RSSIDBm), + "signal_rsrp": pointerInt(snapshot.RSRP), + "signal_rsrq": pointerInt(snapshot.RSRQ), + "signal_sinr": pointerInt(snapshot.SINR), + "imei": snapshot.IMEI, + "iccid": snapshot.ICCID, + "imsi": snapshot.IMSI, + "firmware": snapshot.Firmware, + "model": snapshot.Model, + "reg_status": snapshot.RegistrationStatus, + "reg_status_text": registrationText(snapshot), + "ps_attached": snapshot.PSAttached, + "sim_inserted": snapshot.SIMStatus != "", + "operating_mode": snapshot.OperatingMode, + "phone_number": phone, + "phone_number_source": phoneSource, } } @@ -1485,17 +1696,39 @@ func lifecyclePhase(entry device.Device) string { } func registrationLabel(snapshot *device.Snapshot) string { - if snapshot == nil || snapshot.OperatorName == "" { + if snapshot == nil { + return "unknown" + } + switch snapshot.RegistrationStatus { + case 1, 5: + return "registered" + case 2: + return "searching" + case 3: + return "denied" + default: return "unknown" } - return "registered" } func registrationText(snapshot *device.Snapshot) string { - if snapshot.OperatorName != "" { + if snapshot == nil { + return "unknown" + } + switch snapshot.RegistrationStatus { + case 1: return "registered" + case 5: + return "registered (roaming)" + case 2: + return "searching" + case 3: + return "registration denied" + case 0: + return "not registered" + default: + return "unknown" } - return "unknown" } func splitPLMN(value string) (string, string) { diff --git a/internal/server/device_features_api.go b/internal/server/device_features_api.go index 83b3702..c30090a 100644 --- a/internal/server/device_features_api.go +++ b/internal/server/device_features_api.go @@ -2,6 +2,7 @@ package server import ( "encoding/json" + "errors" "fmt" "net/http" "time" @@ -10,6 +11,10 @@ import ( "vocat/internal/store" ) +// overviewStreamInterval is the cadence at which the overview SSE stream pushes +// a fresh snapshot. It is a package var so tests can shorten it. +var overviewStreamInterval = 2 * time.Second + // beginSSE prepares a response for Server-Sent Events and returns its response // controller for explicit flushes. func beginSSE(w http.ResponseWriter) *http.ResponseController { @@ -50,13 +55,27 @@ func (s *Server) handleOverviewStream( if err := writeSSEEvent(w, controller, "connected", map[string]any{}); err != nil { return true } - ticker := time.NewTicker(2 * time.Second) + ticker := time.NewTicker(overviewStreamInterval) defer ticker.Stop() for { select { case <-r.Context().Done(): return true case <-ticker.C: + // The config passed in was read when the stream opened. Re-read it on + // every tick so edits made while watching (roaming data, APN, VoWiFi, + // name…) take effect; otherwise the stream keeps replaying the stale + // snapshot and the UI flaps between SSE-old and REST-new values. + fresh, err := s.store.Device(r.Context(), config.ID) + if err != nil { + if errors.Is(err, store.ErrNotFound) { + // The device was deleted while streaming; end the stream. + return true + } + // Transient store hiccup: keep the last known config for this tick. + } else { + config = fresh + } currentEntry, _, present := s.physicalForConfig(config) overview := s.configuredDeviceOverview(config, currentEntry, present) if err := writeSSEEvent(w, controller, "overview", overview); err != nil { @@ -81,6 +100,7 @@ func operatorCandidateWire(op device.ScannedOperator) map[string]any { "operatorName": op.Name, "shortName": op.Short, "plmn": op.Numeric, + "countryCode": op.Country, "rats": rats, "includesPcsDigit": false, } diff --git a/internal/server/device_features_api_test.go b/internal/server/device_features_api_test.go index 7675262..3fb80ad 100644 --- a/internal/server/device_features_api_test.go +++ b/internal/server/device_features_api_test.go @@ -1,6 +1,7 @@ package server import ( + "bufio" "context" "encoding/json" "errors" @@ -11,7 +12,9 @@ import ( "testing" "time" + "vocat/internal/developer" "vocat/internal/device" + "vocat/internal/exportproxy" "vocat/internal/modem" "vocat/internal/store" "vocat/internal/update" @@ -467,3 +470,230 @@ func TestE911WebsheetRejectsBadToken(t *testing.T) { t.Fatalf("bad token status = %d, want 403", recorder.Code) } } + +// readSSEEvent reads one Server-Sent-Events frame ("event:"/"data:" lines +// terminated by a blank line) and returns the event name and data payload. +func readSSEEvent(reader *bufio.Reader) (string, []byte, error) { + var event string + var data []byte + for { + line, err := reader.ReadString('\n') + if err != nil { + return "", nil, err + } + line = strings.TrimRight(line, "\r\n") + if line == "" { + if event != "" || data != nil { + return event, data, nil + } + continue + } + if rest, ok := strings.CutPrefix(line, "event: "); ok { + event = rest + } else if rest, ok := strings.CutPrefix(line, "data: "); ok { + data = append(data, rest...) + } + } +} + +// awaitOverviewNetworkEnabled reads overview SSE events until one reports the +// requested network_enabled value, or the stream ends / the request times out. +func awaitOverviewNetworkEnabled(reader *bufio.Reader, want bool) error { + for { + event, data, err := readSSEEvent(reader) + if err != nil { + return err + } + if event != "overview" { + continue + } + var overview struct { + NetworkEnabled bool `json:"network_enabled"` + } + if err := json.Unmarshal(data, &overview); err != nil { + return err + } + if overview.NetworkEnabled == want { + return nil + } + } +} + +// The overview SSE stream must reflect edits made after it opened. Before the +// fix it rebuilt every tick from the config snapshot captured when the stream +// opened, so toggling roaming data off was immediately overwritten by the stale +// "on" snapshot and the switch flapped. This test opens the stream with roaming +// data on, turns it off in the store, and requires the stream to keep reporting +// the new "off" state. +func TestHandleOverviewStreamReflectsConfigChanges(t *testing.T) { + previousInterval := overviewStreamInterval + overviewStreamInterval = 10 * time.Millisecond + t.Cleanup(func() { overviewStreamInterval = previousInterval }) + + ctx := context.Background() + database, err := store.Open(ctx, ":memory:") + if err != nil { + t.Fatal(err) + } + t.Cleanup(func() { _ = database.Close() }) + if err := database.UpsertAppSetting(ctx, store.AppSetting{ + Key: developer.EnabledSettingKey, + Value: []byte(`{"enabled":true}`), + }); err != nil { + t.Fatal(err) + } + if err := database.UpsertDevice(ctx, store.Device{ID: "dev1", Name: "Test device", NetworkEnabled: true}); err != nil { + t.Fatal(err) + } + + server := &Server{store: database, logger: regionTestLogger(), developerEnabled: true} + mux := http.NewServeMux() + mux.HandleFunc("/stream", func(w http.ResponseWriter, r *http.Request) { + config, err := database.Device(r.Context(), "dev1") + if err != nil { + writeError(w, http.StatusNotFound, "not_found", err.Error()) + return + } + server.handleOverviewStream(w, r, config, device.Device{}, false) + }) + testServer := httptest.NewServer(mux) + t.Cleanup(testServer.Close) + + requestCtx, cancel := context.WithTimeout(ctx, 10*time.Second) + t.Cleanup(cancel) + request, err := http.NewRequestWithContext(requestCtx, http.MethodGet, testServer.URL+"/stream", nil) + if err != nil { + t.Fatal(err) + } + response, err := http.DefaultClient.Do(request) + if err != nil { + t.Fatal(err) + } + t.Cleanup(func() { _ = response.Body.Close() }) + if response.StatusCode != http.StatusOK { + t.Fatalf("stream status = %d", response.StatusCode) + } + reader := bufio.NewReader(response.Body) + + // The stream opens with roaming data enabled. + if err := awaitOverviewNetworkEnabled(reader, true); err != nil { + t.Fatalf("initial overview never reported network_enabled=true: %v", err) + } + + // Turn roaming data off; the very next ticks must report the new state + // instead of replaying the stale enabled snapshot. + config, err := database.Device(ctx, "dev1") + if err != nil { + t.Fatal(err) + } + config.NetworkEnabled = false + if err := database.UpsertDevice(ctx, config); err != nil { + t.Fatal(err) + } + if err := awaitOverviewNetworkEnabled(reader, false); err != nil { + t.Fatalf("overview kept replaying stale network_enabled=true after the edit: %v", err) + } +} + +// Turning roaming data off must be refused while an enabled export proxy is +// bound to the device; the user has to disable that binding first. +func TestHandleCellularDataRejectsDisableWhileExportProxyActive(t *testing.T) { + ctx := context.Background() + database, err := store.Open(ctx, ":memory:") + if err != nil { + t.Fatal(err) + } + t.Cleanup(func() { _ = database.Close() }) + if err := database.UpsertAppSetting(ctx, store.AppSetting{ + Key: developer.EnabledSettingKey, Value: json.RawMessage(`{"enabled":true}`), + }); err != nil { + t.Fatal(err) + } + deviceConfig := store.Device{ID: "modem-1", Name: "modem-1", Interface: "wwan0", NetworkEnabled: true} + if err := database.UpsertDevice(ctx, deviceConfig); err != nil { + t.Fatal(err) + } + // Seed an already-enabled export proxy bound to the device. New only logs a + // warning when the Linux-only listener cannot start on this platform, so the + // enabled config still loads and the interlock sees it. + seeded, err := json.Marshal([]exportproxy.Config{{ + ID: "proxy-1", Name: "proxy-1", DeviceID: "modem-1", Interface: "wwan0", + Mode: "socks5", ListenHost: "127.0.0.1", ListenPort: 1080, Enabled: true, + }}) + if err != nil { + t.Fatal(err) + } + if err := database.UpsertAppSetting(ctx, store.AppSetting{Key: exportproxy.SettingKey, Value: seeded, Sensitive: true}); err != nil { + t.Fatal(err) + } + proxyManager, err := exportproxy.New(ctx, database, regionTestLogger(), "") + if err != nil { + t.Fatal(err) + } + t.Cleanup(func() { _ = proxyManager.Close() }) + server := &Server{ + store: database, + logger: regionTestLogger(), + developerEnabled: true, + exportProxy: proxyManager, + devices: fakeDeviceController{}, + maxRequestBodyBytes: 1 << 20, + } + + patchOff := func() *httptest.ResponseRecorder { + recorder := httptest.NewRecorder() + request := httptest.NewRequest(http.MethodPatch, "/api/devices/modem-1/cellular-data", strings.NewReader(`{"enabled":false}`)) + request.Header.Set("Content-Type", "application/json") + if !server.handleCellularData(recorder, request, deviceConfig, "physical-1") { + t.Fatal("handleCellularData did not handle the request") + } + return recorder + } + + // While the export proxy is enabled, turning roaming data off is rejected and + // the stored config keeps roaming data on. + recorder := patchOff() + if recorder.Code != http.StatusConflict { + t.Fatalf("disable with active proxy status = %d, body = %s", recorder.Code, recorder.Body) + } + var failure struct { + Error struct { + Code string `json:"code"` + } `json:"error"` + } + if err := json.Unmarshal(recorder.Body.Bytes(), &failure); err != nil { + t.Fatal(err) + } + if failure.Error.Code != "export_proxy_active" { + t.Fatalf("error code = %q, body = %s", failure.Error.Code, recorder.Body) + } + stored, err := database.Device(ctx, "modem-1") + if err != nil { + t.Fatal(err) + } + if !stored.NetworkEnabled { + t.Fatal("roaming data was turned off despite the active export proxy") + } + + // Once the binding is disabled, the same request goes through. + proxies, err := proxyManager.Configs() + if err != nil || len(proxies) != 1 { + t.Fatalf("configs = %+v, %v", proxies, err) + } + disabled := proxies[0] + disabled.Enabled = false + if _, err := proxyManager.Update(ctx, disabled.ID, disabled); err != nil { + t.Fatal(err) + } + recorder = patchOff() + if recorder.Code != http.StatusOK { + t.Fatalf("disable after proxy off status = %d, body = %s", recorder.Code, recorder.Body) + } + stored, err = database.Device(ctx, "modem-1") + if err != nil { + t.Fatal(err) + } + if stored.NetworkEnabled { + t.Fatal("roaming data was not turned off after the export proxy was disabled") + } +} diff --git a/internal/server/device_summary_test.go b/internal/server/device_summary_test.go new file mode 100644 index 0000000..155b028 --- /dev/null +++ b/internal/server/device_summary_test.go @@ -0,0 +1,51 @@ +package server + +import ( + "context" + "testing" + "time" + + "vocat/internal/device" + "vocat/internal/store" +) + +func TestConfiguredDeviceSummaryIgnoresVoWiFiRuntimeFromPreviousSIM(t *testing.T) { + database, err := store.Open(context.Background(), ":memory:") + if err != nil { + t.Fatal(err) + } + t.Cleanup(func() { _ = database.Close() }) + if err := database.UpsertDevice(context.Background(), store.Device{ID: "ec20_1", Name: "EC20"}); err != nil { + t.Fatal(err) + } + if err := database.UpsertVoWiFiRuntime(context.Background(), store.VoWiFiRuntime{ + DeviceID: "ec20_1", + Phase: "stopping", + ICCID: "89441000400128014257", + IMSI: "234159608751160", + TunnelReady: true, + IMSReady: true, + SMSReady: true, + LocalPhone: "+447386083638", + PhoneNumberSource: "ims_p_associated_uri", + UpdatedAt: time.Now().UTC(), + }); err != nil { + t.Fatal(err) + } + s := &Server{store: database} + entry := &device.Device{ID: "physical", Snapshot: &device.Snapshot{ + ICCID: "89104100000028106378", + IMSI: "310380500712483", + }} + got := s.configuredDeviceSummary(store.Device{ID: "ec20_1"}, entry) + if got["vowifi_active"] != false { + t.Fatalf("vowifi_active = %#v", got["vowifi_active"]) + } + if got["local_phone"] == "+447386083638" { + t.Fatalf("old phone leaked into current SIM summary: %#v", got) + } + runtime, ok := got["vowifi_runtime"].(map[string]any) + if !ok || runtime["phase"] != "idle" || runtime["iccid"] != "89104100000028106378" { + t.Fatalf("runtime = %#v", got["vowifi_runtime"]) + } +} diff --git a/internal/server/export_proxy_api.go b/internal/server/export_proxy_api.go new file mode 100644 index 0000000..19cae8d --- /dev/null +++ b/internal/server/export_proxy_api.go @@ -0,0 +1,102 @@ +package server + +import ( + "errors" + "net/http" + "strings" + + "vocat/internal/exportproxy" +) + +func (s *Server) routeExportProxyAPI(w http.ResponseWriter, r *http.Request, cleanPath string) bool { + if cleanPath != "export-proxies" && !strings.HasPrefix(cleanPath, "export-proxies/") { + return false + } + if !s.developerActive(r.Context()) || s.exportProxy == nil { + writeError(w, http.StatusForbidden, "developer_mode_required", "Export Proxy is available only in developer mode") + return true + } + + segments := splitAPIPath(cleanPath) + if len(segments) == 1 { + switch r.Method { + case http.MethodGet: + configs, err := s.exportProxy.Configs() + if err != nil { + s.writeExportProxyError(w, err) + return true + } + writeJSON(w, http.StatusOK, map[string]any{"data": map[string]any{"configs": configs}}) + case http.MethodPost: + var config exportproxy.Config + if err := s.decodeJSON(w, r, &config); err != nil { + writeError(w, http.StatusBadRequest, "invalid_request", err.Error()) + return true + } + created, err := s.exportProxy.Create(r.Context(), config) + if err != nil { + s.writeExportProxyError(w, err) + return true + } + writeJSON(w, http.StatusCreated, map[string]any{"data": created}) + default: + w.Header().Set("Allow", "GET, POST") + writeError(w, http.StatusMethodNotAllowed, "method_not_allowed", "method not allowed") + } + return true + } + + if len(segments) == 2 && segments[1] == "status" { + if !requireMethod(w, r, http.MethodGet) { + return true + } + statuses, err := s.exportProxy.Status() + if err != nil { + s.writeExportProxyError(w, err) + return true + } + writeJSON(w, http.StatusOK, map[string]any{"data": map[string]any{"configs": statuses}}) + return true + } + + if len(segments) != 2 || strings.TrimSpace(segments[1]) == "" { + writeError(w, http.StatusNotFound, "not_found", "Export Proxy endpoint not found") + return true + } + id := segments[1] + switch r.Method { + case http.MethodPut: + var config exportproxy.Config + if err := s.decodeJSON(w, r, &config); err != nil { + writeError(w, http.StatusBadRequest, "invalid_request", err.Error()) + return true + } + updated, err := s.exportProxy.Update(r.Context(), id, config) + if err != nil { + s.writeExportProxyError(w, err) + return true + } + writeJSON(w, http.StatusOK, map[string]any{"data": updated}) + case http.MethodDelete: + if err := s.exportProxy.Delete(r.Context(), id); err != nil { + s.writeExportProxyError(w, err) + return true + } + writeJSON(w, http.StatusOK, map[string]any{"data": map[string]bool{"deleted": true}}) + default: + w.Header().Set("Allow", "PUT, DELETE") + writeError(w, http.StatusMethodNotAllowed, "method_not_allowed", "method not allowed") + } + return true +} + +func (s *Server) writeExportProxyError(w http.ResponseWriter, err error) { + switch { + case errors.Is(err, exportproxy.ErrDisabled): + writeError(w, http.StatusForbidden, "developer_mode_required", "Export Proxy is disabled") + case errors.Is(err, exportproxy.ErrNotFound): + writeError(w, http.StatusNotFound, "export_proxy_not_found", err.Error()) + default: + writeError(w, http.StatusBadRequest, "export_proxy_invalid", err.Error()) + } +} diff --git a/internal/server/general_api.go b/internal/server/general_api.go index 03352e0..a2293f1 100644 --- a/internal/server/general_api.go +++ b/internal/server/general_api.go @@ -15,6 +15,7 @@ import ( "vocat/internal/auth" "vocat/internal/buildinfo" + "vocat/internal/developer" "vocat/internal/i18n" "vocat/internal/loghub" "vocat/internal/store" @@ -26,6 +27,9 @@ func (s *Server) routeGeneralAPI(w http.ResponseWriter, r *http.Request) bool { if s.routeExtensionAPI(w, r, cleanPath) { return true } + if s.routeExportProxyAPI(w, r, cleanPath) { + return true + } if s.routeSMSAPI(w, r, cleanPath) { return true } @@ -50,6 +54,12 @@ func (s *Server) routeGeneralAPI(w http.ResponseWriter, r *http.Request) bool { s.handlePasswordChange(w, r) case "settings/preferences": s.handleUIPreferences(w, r) + case "settings/https": + s.handleHTTPSSettings(w, r) + case "settings/https/certificate": + s.handleHTTPSCertificate(w, r) + case "settings/developer": + s.handleDeveloperSettings(w, r) default: return false } @@ -314,11 +324,15 @@ func (s *Server) handleSystemInfo(w http.ResponseWriter, r *http.Request) { "os": runtime.GOOS, "architecture": runtime.GOARCH, "uptime": formatDuration(time.Since(s.startedAt)), - "developer": s.developerEnabled, + "developer": s.developerActive(r.Context()), }, }) } +func (s *Server) developerActive(ctx context.Context) bool { + return s.developerEnabled && developer.Enabled(ctx, s.store) +} + func (s *Server) handleUpdateCheck(w http.ResponseWriter, r *http.Request) { if !requireMethod(w, r, http.MethodGet) { return diff --git a/internal/server/https_settings.go b/internal/server/https_settings.go new file mode 100644 index 0000000..0e38086 --- /dev/null +++ b/internal/server/https_settings.go @@ -0,0 +1,64 @@ +package server + +import ( + "net/http" + "strconv" +) + +func (s *Server) handleHTTPSSettings(w http.ResponseWriter, r *http.Request) { + if !s.developerEnabled { + writeError(w, http.StatusNotFound, "not_found", "resource not found") + return + } + if s.https == nil { + writeError(w, http.StatusServiceUnavailable, "https_unavailable", "self-signed HTTPS is unavailable") + return + } + switch r.Method { + case http.MethodGet: + writeJSON(w, http.StatusOK, map[string]any{"data": s.https.State(r.Host)}) + case http.MethodPut: + var request struct { + Enabled bool `json:"enabled"` + } + if err := s.decodeJSON(w, r, &request); err != nil { + writeError(w, http.StatusBadRequest, "invalid_request", err.Error()) + return + } + state, err := s.https.SetEnabled(r.Context(), request.Enabled) + if err != nil { + writeError(w, http.StatusInternalServerError, "https_update_failed", err.Error()) + return + } + state = s.https.State(r.Host) + s.recordAudit(r.Context(), "admin", "settings.https.update", "settings", "https", "success", map[bool]string{true: "enabled", false: "disabled"}[request.Enabled]) + writeJSON(w, http.StatusOK, map[string]any{"data": state}) + default: + w.Header().Set("Allow", "GET, PUT") + writeError(w, http.StatusMethodNotAllowed, "method_not_allowed", "method not allowed") + } +} + +func (s *Server) handleHTTPSCertificate(w http.ResponseWriter, r *http.Request) { + if !s.developerEnabled { + writeError(w, http.StatusNotFound, "not_found", "resource not found") + return + } + if !requireMethod(w, r, http.MethodGet) { + return + } + if s.https == nil { + writeError(w, http.StatusServiceUnavailable, "https_unavailable", "self-signed HTTPS is unavailable") + return + } + certificate, err := s.https.CertificatePEM() + if err != nil { + writeError(w, http.StatusInternalServerError, "certificate_unavailable", err.Error()) + return + } + w.Header().Set("Content-Type", "application/x-pem-file") + w.Header().Set("Content-Disposition", `attachment; filename="vocat-selfsigned.crt"`) + w.Header().Set("Content-Length", strconv.Itoa(len(certificate))) + w.WriteHeader(http.StatusOK) + _, _ = w.Write(certificate) +} diff --git a/internal/server/live_net.go b/internal/server/live_net.go new file mode 100644 index 0000000..b52c6a8 --- /dev/null +++ b/internal/server/live_net.go @@ -0,0 +1,177 @@ +package server + +import ( + "fmt" + "math" + "net" + "sync" + "time" +) + +// liveNetWindow is how far back the "last minute" byte totals reach. +const liveNetWindow = time.Minute + +// liveNetMaxGap bounds how far apart two samples may be before a rate computed +// across them stops being "live". The overview SSE ticks every two seconds, so +// a gap beyond this means the tab was closed or the device was idle; treat it +// as a fresh baseline instead of averaging a long dead interval. +const liveNetMaxGap = 15 * time.Second + +// netIfSample is one cumulative counter reading for an interface. +type netIfSample struct { + at time.Time + rxCum uint64 + txCum uint64 +} + +// liveNetDevice holds the per-device sampling state used to derive rates and +// trailing-window totals from cumulative interface counters. +type liveNetDevice struct { + prev netIfSample + hasPrev bool + window []netIfSample +} + +// liveNetResult is one rendered snapshot of a device's live network state. +type liveNetResult struct { + ipv4 string + rxRate float64 // bytes/sec over the trailing sample interval + txRate float64 + minuteRx int64 // bytes over the trailing liveNetWindow + minuteTx int64 + status string // "", "waiting_sample", or "stale" +} + +// liveNetTracker derives live rates and last-minute totals from cumulative +// /sys interface counters. It is driven on demand by the overview builders, so +// no separate goroutine is required; the SSE overview cadence keeps it warm. +type liveNetTracker struct { + mu sync.Mutex + devices map[string]*liveNetDevice +} + +func newLiveNetTracker() *liveNetTracker { + return &liveNetTracker{devices: map[string]*liveNetDevice{}} +} + +// sample reads the interface's current counters and addresses and returns the +// device's live network state. Interface addresses resolve even on the first +// call; rates and totals need a second reading, reported as waiting_sample. +func (t *liveNetTracker) sample(deviceID, iface string, now time.Time) liveNetResult { + ipv4 := netIfAddrs(iface) + rxCum, txCum, err := netIfCounters(iface) + if err != nil { + // The interface briefly disappears while QMI reconnects. Drop the + // baseline so the next good read starts fresh rather than counting the + // reconnect as one giant delta. + t.mu.Lock() + delete(t.devices, deviceID) + t.mu.Unlock() + return liveNetResult{ipv4: ipv4, status: "stale"} + } + rxRate, txRate, minuteRx, minuteTx, status := t.record(deviceID, rxCum, txCum, now) + return liveNetResult{ + ipv4: ipv4, + rxRate: rxRate, txRate: txRate, + minuteRx: minuteRx, minuteTx: minuteTx, + status: status, + } +} + +// record folds one cumulative counter reading into the device's sampling state +// and returns the derived rates and trailing-window totals. It is pure (no +// interface I/O) so the rate/window logic is unit-testable. +func (t *liveNetTracker) record(deviceID string, rxCum, txCum uint64, now time.Time) (rxRate, txRate float64, minuteRx, minuteTx int64, status string) { + t.mu.Lock() + defer t.mu.Unlock() + + d := t.devices[deviceID] + if d == nil { + d = &liveNetDevice{} + t.devices[deviceID] = d + } + current := netIfSample{at: now, rxCum: rxCum, txCum: txCum} + + // First sighting, a counter reset (interface reconnected), or a gap too + // long to average honestly: establish a baseline and wait for the next + // reading before reporting a rate. + if !d.hasPrev || rxCum < d.prev.rxCum || txCum < d.prev.txCum || now.Sub(d.prev.at) > liveNetMaxGap { + d.prev = current + d.hasPrev = true + d.window = []netIfSample{current} + return 0, 0, 0, 0, "waiting_sample" + } + + if elapsed := now.Sub(d.prev.at).Seconds(); elapsed > 0 { + rxRate = float64(rxCum-d.prev.rxCum) / elapsed + txRate = float64(txCum-d.prev.txCum) / elapsed + } + d.prev = current + d.window = append(d.window, current) + + // Drop samples outside the trailing window, then measure totals against + // the oldest surviving reading. + cutoff := now.Add(-liveNetWindow) + kept := d.window[:0] + for _, s := range d.window { + if !s.at.Before(cutoff) { + kept = append(kept, s) + } + } + d.window = kept + minuteRx = int64(rxCum - d.window[0].rxCum) + minuteTx = int64(txCum - d.window[0].txCum) + return rxRate, txRate, minuteRx, minuteTx, "" +} + +// netIfAddrs returns the interface's first global IPv4 address. It uses only +// the net package, so it compiles on every platform; on hosts without the +// interface it returns an empty string. +func netIfAddrs(iface string) (ipv4 string) { + if iface == "" { + return "" + } + netIf, err := net.InterfaceByName(iface) + if err != nil { + return "" + } + addrs, err := netIf.Addrs() + if err != nil { + return "" + } + for _, addr := range addrs { + var ip net.IP + switch a := addr.(type) { + case *net.IPNet: + ip = a.IP + case *net.IPAddr: + ip = a.IP + } + if ip == nil || ip.IsLoopback() { + continue + } + if v4 := ip.To4(); v4 != nil { + return v4.String() + } + } + return "" +} + +// formatLiveBytes mirrors the SPA's formatBytes so the live strings match the +// chart's formatting: 1024-based units, rounded once the value reaches 100. +func formatLiveBytes(value float64) string { + if math.IsNaN(value) || math.IsInf(value, 0) || value < 0 { + value = 0 + } + units := []string{"B", "KB", "MB", "GB", "TB"} + size := value + unit := 0 + for size >= 1024 && unit < len(units)-1 { + size /= 1024 + unit++ + } + if size >= 100 { + return fmt.Sprintf("%.0f %s", size, units[unit]) + } + return fmt.Sprintf("%.1f %s", size, units[unit]) +} diff --git a/internal/server/live_net_test.go b/internal/server/live_net_test.go new file mode 100644 index 0000000..a529d62 --- /dev/null +++ b/internal/server/live_net_test.go @@ -0,0 +1,143 @@ +package server + +import ( + "testing" + "time" +) + +// record is the pure rate/window core of the tracker; these tests drive it +// directly with synthetic cumulative counters, no interface I/O involved. +func TestLiveNetRecordFirstSampleWaits(t *testing.T) { + tracker := newLiveNetTracker() + now := time.Unix(1_700_000_000, 0) + + _, _, _, _, status := tracker.record("dev1", 1000, 500, now) + if status != "waiting_sample" { + t.Fatalf("first sample status = %q, want waiting_sample", status) + } +} + +func TestLiveNetRecordComputesRateAndMinute(t *testing.T) { + tracker := newLiveNetTracker() + base := time.Unix(1_700_000_000, 0) + + tracker.record("dev1", 1000, 500, base) + rxRate, txRate, minuteRx, minuteTx, status := tracker.record("dev1", 2000, 700, base.Add(2*time.Second)) + + if status != "" { + t.Fatalf("second sample status = %q, want empty", status) + } + // 1000 rx bytes and 200 tx bytes over 2s. + if rxRate != 500 { + t.Errorf("rxRate = %v, want 500", rxRate) + } + if txRate != 100 { + t.Errorf("txRate = %v, want 100", txRate) + } + if minuteRx != 1000 { + t.Errorf("minuteRx = %v, want 1000", minuteRx) + } + if minuteTx != 200 { + t.Errorf("minuteTx = %v, want 200", minuteTx) + } +} + +func TestLiveNetRecordUsesActualElapsed(t *testing.T) { + tracker := newLiveNetTracker() + base := time.Unix(1_700_000_000, 0) + + tracker.record("dev1", 0, 0, base) + // A 4s gap (not the usual 2s tick) must divide by 4, not 2. + rxRate, _, _, _, status := tracker.record("dev1", 400, 0, base.Add(4*time.Second)) + if status != "" { + t.Fatalf("status = %q, want empty", status) + } + if rxRate != 100 { + t.Errorf("rxRate = %v, want 100", rxRate) + } +} + +func TestLiveNetRecordCounterResetRebaselines(t *testing.T) { + tracker := newLiveNetTracker() + base := time.Unix(1_700_000_000, 0) + + tracker.record("dev1", 5000, 5000, base) + tracker.record("dev1", 6000, 6000, base.Add(2*time.Second)) + // Counter drops (interface reconnected): must re-baseline, not go negative. + _, _, _, _, status := tracker.record("dev1", 100, 100, base.Add(4*time.Second)) + if status != "waiting_sample" { + t.Fatalf("after reset status = %q, want waiting_sample", status) + } +} + +func TestLiveNetRecordLongGapRebaselines(t *testing.T) { + tracker := newLiveNetTracker() + base := time.Unix(1_700_000_000, 0) + + tracker.record("dev1", 1000, 1000, base) + // Gap beyond liveNetMaxGap (tab closed / idle): treat as fresh baseline. + _, _, _, _, status := tracker.record("dev1", 2000, 2000, base.Add(liveNetMaxGap+time.Second)) + if status != "waiting_sample" { + t.Fatalf("after long gap status = %q, want waiting_sample", status) + } +} + +func TestLiveNetRecordSlidesWindow(t *testing.T) { + tracker := newLiveNetTracker() + base := time.Unix(1_700_000_000, 0) + + // One sample every 2s, rx climbing 100 bytes each tick (50 B/s). + tracker.record("dev1", 0, 0, base) + var minuteRx int64 + var status string + for i := 1; i <= 31; i++ { + now := base.Add(time.Duration(2*i) * time.Second) // t=2s .. t=62s + _, _, minuteRx, _, status = tracker.record("dev1", uint64(100*i), 0, now) + } + if status != "" { + t.Fatalf("status = %q, want empty", status) + } + // At t=62s the cutoff is t=2s, so the t=0 baseline has slid out. The window + // now spans t=2s..t=62s = 60s and 30 ticks of 100 bytes. + if minuteRx != 3000 { + t.Errorf("minuteRx = %v, want 3000 (only trailing window)", minuteRx) + } +} + +func TestLiveNetRecordTracksDevicesIndependently(t *testing.T) { + tracker := newLiveNetTracker() + base := time.Unix(1_700_000_000, 0) + + tracker.record("a", 1000, 0, base) + tracker.record("b", 9000, 0, base) + rxRateA, _, _, _, _ := tracker.record("a", 2000, 0, base.Add(2*time.Second)) + rxRateB, _, _, _, _ := tracker.record("b", 9100, 0, base.Add(2*time.Second)) + if rxRateA != 500 { + t.Errorf("device a rxRate = %v, want 500", rxRateA) + } + if rxRateB != 50 { + t.Errorf("device b rxRate = %v, want 50", rxRateB) + } +} + +func TestFormatLiveBytes(t *testing.T) { + cases := []struct { + in float64 + want string + }{ + {0, "0.0 B"}, + {512, "512 B"}, + {1023, "1023 B"}, + {1024, "1.0 KB"}, + {1536, "1.5 KB"}, + {100 * 1024, "100 KB"}, + {5 * 1024 * 1024, "5.0 MB"}, + {3 * 1024 * 1024 * 1024, "3.0 GB"}, + {-5, "0.0 B"}, + } + for _, c := range cases { + if got := formatLiveBytes(c.in); got != c.want { + t.Errorf("formatLiveBytes(%v) = %q, want %q", c.in, got, c.want) + } + } +} diff --git a/internal/server/netif_linux.go b/internal/server/netif_linux.go new file mode 100644 index 0000000..9d2fdde --- /dev/null +++ b/internal/server/netif_linux.go @@ -0,0 +1,40 @@ +//go:build linux + +package server + +import ( + "fmt" + "os" + "path/filepath" + "strconv" + "strings" +) + +// netIfCounters reads the interface's cumulative rx/tx byte counters from +// /sys/class/net. The interface briefly disappears while QMI reconnects, in +// which case an error is returned and the caller re-baselines. +func netIfCounters(iface string) (uint64, uint64, error) { + if strings.TrimSpace(iface) == "" { + return 0, 0, fmt.Errorf("interface name is empty") + } + read := func(counter string) (uint64, error) { + raw, err := os.ReadFile(filepath.Join("/sys/class/net", iface, "statistics", counter)) + if err != nil { + return 0, err + } + parsed, err := strconv.ParseUint(strings.TrimSpace(string(raw)), 10, 64) + if err != nil { + return 0, fmt.Errorf("parse %s %s counter: %w", iface, counter, err) + } + return parsed, nil + } + rxBytes, err := read("rx_bytes") + if err != nil { + return 0, 0, err + } + txBytes, err := read("tx_bytes") + if err != nil { + return 0, 0, err + } + return rxBytes, txBytes, nil +} diff --git a/internal/server/netif_other.go b/internal/server/netif_other.go new file mode 100644 index 0000000..7d2c07c --- /dev/null +++ b/internal/server/netif_other.go @@ -0,0 +1,11 @@ +//go:build !linux + +package server + +import "fmt" + +// netIfCounters is only meaningful on the Linux deployment target; elsewhere +// there is no cellular /sys interface to read. +func netIfCounters(string) (uint64, uint64, error) { + return 0, 0, fmt.Errorf("interface counters are only available on Linux") +} diff --git a/internal/server/public_ip_api.go b/internal/server/public_ip_api.go new file mode 100644 index 0000000..8f73100 --- /dev/null +++ b/internal/server/public_ip_api.go @@ -0,0 +1,96 @@ +package server + +import ( + "context" + "net/http" + "strings" + "time" + + "vocat/internal/exportproxy" + "vocat/internal/store" +) + +type cachedPublicIP struct { + ICCID string + Info exportproxy.PublicIPInfo +} + +type publicIPResponse struct { + Detected bool `json:"detected"` + exportproxy.PublicIPInfo +} + +func (s *Server) clearPublicIP(deviceID string) { + s.publicIPMu.Lock() + delete(s.publicIPs, strings.TrimSpace(deviceID)) + s.publicIPMu.Unlock() +} + +func (s *Server) loadPublicIP(deviceID, iccid string) (exportproxy.PublicIPInfo, bool) { + deviceID = strings.TrimSpace(deviceID) + iccid = strings.TrimSpace(iccid) + s.publicIPMu.RLock() + entry, ok := s.publicIPs[deviceID] + s.publicIPMu.RUnlock() + if !ok { + return exportproxy.PublicIPInfo{}, false + } + // A missing live ICCID means the modem is resetting or no card is present. + // A different ICCID means the SIM/eSIM profile changed. Either transition + // invalidates the old cellular exit immediately. + if iccid == "" || !strings.EqualFold(strings.TrimSpace(entry.ICCID), iccid) { + s.clearPublicIP(deviceID) + return exportproxy.PublicIPInfo{}, false + } + return entry.Info, true +} + +func (s *Server) savePublicIP(deviceID, iccid string, info exportproxy.PublicIPInfo) { + s.publicIPMu.Lock() + s.publicIPs[strings.TrimSpace(deviceID)] = cachedPublicIP{ + ICCID: strings.TrimSpace(iccid), + Info: info, + } + s.publicIPMu.Unlock() +} + +func (s *Server) handleCellularPublicIP(w http.ResponseWriter, r *http.Request, config store.Device, iccid string) bool { + if r.Method != http.MethodGet && r.Method != http.MethodPost { + w.Header().Set("Allow", "GET, POST") + writeError(w, http.StatusMethodNotAllowed, "method_not_allowed", "method not allowed") + return true + } + if !s.developerActive(r.Context()) { + writeError(w, http.StatusForbidden, "developer_mode_required", "public IP detection through roaming data is available only in developer mode") + return true + } + w.Header().Set("Cache-Control", "no-store") + if r.Method == http.MethodGet { + info, ok := s.loadPublicIP(config.ID, iccid) + writeJSON(w, http.StatusOK, map[string]any{"data": publicIPResponse{Detected: ok, PublicIPInfo: info}}) + return true + } + if !config.NetworkEnabled { + writeError(w, http.StatusConflict, "cellular_data_disabled", "enable roaming data before detecting its public IP") + return true + } + if strings.TrimSpace(iccid) == "" { + writeError(w, http.StatusConflict, "sim_identity_unavailable", "the modem has no current ICCID; refresh it before detecting the public IP") + return true + } + if strings.TrimSpace(config.Interface) == "" { + writeError(w, http.StatusConflict, "cellular_interface_missing", "the device has no cellular network interface") + return true + } + ctx, cancel := context.WithTimeout(r.Context(), 15*time.Second) + defer cancel() + info, err := exportproxy.LookupPublicIP(ctx, config.Interface) + if err != nil { + s.logger.Warn("detect roaming public IP failed", "device_id", config.ID, "interface", config.Interface, "error", err) + writeError(w, http.StatusBadGateway, "public_ip_lookup_failed", err.Error()) + return true + } + s.savePublicIP(config.ID, iccid, info) + writeJSON(w, http.StatusOK, map[string]any{"data": publicIPResponse{Detected: true, PublicIPInfo: info}}) + return true +} diff --git a/internal/server/public_ip_api_test.go b/internal/server/public_ip_api_test.go new file mode 100644 index 0000000..dea6b14 --- /dev/null +++ b/internal/server/public_ip_api_test.go @@ -0,0 +1,33 @@ +package server + +import ( + "testing" + + "vocat/internal/exportproxy" +) + +func TestPublicIPCacheFollowsCurrentICCID(t *testing.T) { + server := &Server{publicIPs: make(map[string]cachedPublicIP)} + want := exportproxy.PublicIPInfo{IP: "203.0.113.8", CountryCode: "GB"} + server.savePublicIP("ec20", "8944100001", want) + + got, ok := server.loadPublicIP("ec20", "8944100001") + if !ok || got != want { + t.Fatalf("loadPublicIP() = (%+v, %v), want (%+v, true)", got, ok, want) + } + + if _, ok := server.loadPublicIP("ec20", "8944100002"); ok { + t.Fatal("cache survived an ICCID change") + } + if _, ok := server.loadPublicIP("ec20", "8944100001"); ok { + t.Fatal("stale cache was not deleted after an ICCID change") + } +} + +func TestPublicIPCacheClearsWhileModemIsResetting(t *testing.T) { + server := &Server{publicIPs: make(map[string]cachedPublicIP)} + server.savePublicIP("ec20", "8944100001", exportproxy.PublicIPInfo{IP: "203.0.113.8", CountryCode: "GB"}) + if _, ok := server.loadPublicIP("ec20", ""); ok { + t.Fatal("cache survived a missing live ICCID") + } +} diff --git a/internal/server/region_test.go b/internal/server/region_test.go index dcf24f3..8422140 100644 --- a/internal/server/region_test.go +++ b/internal/server/region_test.go @@ -76,6 +76,10 @@ func (f fakeDeviceController) OperatorSelection(context.Context, string) (device func (f fakeDeviceController) SetOperatorSelection(context.Context, string, bool, string, *int) (device.OperatorSelection, error) { return device.OperatorSelection{}, nil } + +func (f fakeDeviceController) ReRegisterOperator(context.Context, string) (device.OperatorSelection, error) { + return device.OperatorSelection{}, nil +} func (f fakeDeviceController) ScanOperators(context.Context, string) (device.OperatorScanResult, error) { return f.scanResult, f.scanErr } diff --git a/internal/server/server.go b/internal/server/server.go index 7f29bcc..ee0732b 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -18,7 +18,9 @@ import ( "time" "vocat/internal/auth" + "vocat/internal/exportproxy" "vocat/internal/extensions" + "vocat/internal/httpsmode" "vocat/internal/loghub" "vocat/internal/store" "vocat/internal/update" @@ -42,9 +44,11 @@ type Options struct { SecureCookies bool MaxRequestBodyBytes int64 Extensions *extensions.Manager + ExportProxy *exportproxy.Manager DeveloperEnabled bool UpdateRepository string UpdateToken string + HTTPS *httpsmode.Manager } // Server is the single HTTP handler for the JSON API and embedded SPA. @@ -67,6 +71,7 @@ type Server struct { access parsedAccessConfig loginLimiter *loginRateLimiter extensions *extensions.Manager + exportProxy *exportproxy.Manager developerEnabled bool updateRepository string updateToken string @@ -75,6 +80,10 @@ type Server struct { updateRestart func(*slog.Logger) error updateMu sync.Mutex updateApplying bool + https *httpsmode.Manager + netTraffic *liveNetTracker + publicIPMu sync.RWMutex + publicIPs map[string]cachedPublicIP } func New(options Options) (*Server, error) { @@ -117,9 +126,13 @@ func New(options Options) (*Server, error) { websheets: newWebsheetManager(), loginLimiter: newLoginRateLimiter(), extensions: options.Extensions, + exportProxy: options.ExportProxy, developerEnabled: options.DeveloperEnabled, updateRepository: strings.TrimSpace(options.UpdateRepository), updateToken: strings.TrimSpace(options.UpdateToken), + https: options.HTTPS, + netTraffic: newLiveNetTracker(), + publicIPs: make(map[string]cachedPublicIP), updateCheck: update.CheckLatest, updateApply: update.ApplyLatest, updateRestart: update.RestartService, @@ -160,6 +173,10 @@ type VoWiFiCallController interface { HangupCall(context.Context, string, string) error } +type VoWiFiCallMediaController interface { + CallMedia(context.Context, string, string) (vowifi.CallMedia, error) +} + func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) { s.handler.ServeHTTP(w, r) } @@ -571,7 +588,7 @@ func (s *Server) securityHeaders(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.Header().Set("X-Content-Type-Options", "nosniff") w.Header().Set("Referrer-Policy", "same-origin") - w.Header().Set("Permissions-Policy", "camera=(), microphone=(), geolocation=()") + w.Header().Set("Permissions-Policy", "camera=(), microphone=(self), geolocation=()") if strings.HasPrefix(r.URL.Path, "/websheets/") || strings.HasPrefix(r.URL.Path, "/plugin-assets/") { // The self-hosted E911 websheet is embedded in an iframe by the SPA, so // it must be frameable same-origin. Every other route stays DENY. @@ -593,7 +610,7 @@ func (s *Server) securityHeaders(next http.Handler) http.Handler { "img-src 'self' data:; connect-src 'self'", ) } - if s.secureCookies { + if s.secureCookies && s.https == nil { w.Header().Set("Strict-Transport-Security", "max-age=31536000; includeSubDomains") } next.ServeHTTP(w, r) diff --git a/internal/server/settings_api.go b/internal/server/settings_api.go index 884e252..5768cb5 100644 --- a/internal/server/settings_api.go +++ b/internal/server/settings_api.go @@ -21,6 +21,7 @@ import ( "sort" "strconv" "strings" + "sync" "time" "vocat/internal/store" @@ -932,18 +933,77 @@ func dialRestricted( if err != nil { return nil, err } - dialer := net.Dialer{Timeout: clampNotificationTimeout(timeout)} - var failures []error - for _, ip := range addresses { - connection, err := dialer.DialContext( - ctx, - network, - net.JoinHostPort(ip.String(), port), - ) - if err == nil { - return connection, nil + perAddress := clampNotificationTimeout(timeout) + stagger := 300 * time.Millisecond + if perAddress < stagger { + stagger = perAddress / 2 + } + + raceContext, cancel := context.WithCancel(ctx) + defer cancel() + + type attempt struct { + conn net.Conn + err error + } + resultCh := make(chan attempt, len(addresses)) + var wg sync.WaitGroup + + launcher := time.NewTicker(stagger) + defer launcher.Stop() + for index, ip := range addresses { + if index > 0 { + select { + case <-raceContext.Done(): + break + case <-launcher.C: + } } - failures = append(failures, err) + if raceContext.Err() != nil { + break + } + ip := ip + wg.Add(1) + go func() { + defer wg.Done() + dialer := net.Dialer{Timeout: perAddress} + connection, dialErr := dialer.DialContext( + raceContext, + network, + net.JoinHostPort(ip.String(), port), + ) + if dialErr != nil { + resultCh <- attempt{err: dialErr} + return + } + if raceContext.Err() != nil { + connection.Close() + resultCh <- attempt{err: raceContext.Err()} + return + } + resultCh <- attempt{conn: connection} + }() + } + go func() { + wg.Wait() + close(resultCh) + }() + + var failures []error + for result := range resultCh { + if result.conn != nil { + cancel() + return result.conn, nil + } + if result.err != nil && !errors.Is(result.err, context.Canceled) { + failures = append(failures, result.err) + } + if ctx.Err() != nil { + return nil, ctx.Err() + } + } + if len(failures) == 0 { + return nil, ctx.Err() } return nil, fmt.Errorf("dial public notification destination: %w", errors.Join(failures...)) } @@ -1259,6 +1319,10 @@ func (s *Server) handleTrafficAnalysis(w http.ResponseWriter, r *http.Request) { if !requireMethod(w, r, http.MethodGet) { return } + if !s.developerActive(r.Context()) { + writeError(w, http.StatusForbidden, "developer_mode_required", "traffic analysis is available only in developer mode") + return + } rangeName := strings.ToLower(strings.TrimSpace(r.URL.Query().Get("range"))) if rangeName == "" { rangeName = "day" diff --git a/internal/server/settings_api_test.go b/internal/server/settings_api_test.go index 6e00ec5..679f815 100644 --- a/internal/server/settings_api_test.go +++ b/internal/server/settings_api_test.go @@ -14,6 +14,7 @@ import ( "testing" "time" + "vocat/internal/developer" "vocat/internal/store" ) @@ -465,6 +466,12 @@ func TestCardPolicyDefaultValidationAndPersistence(t *testing.T) { func TestTrafficAnalysisUsesAndAggregatesStoredBuckets(t *testing.T) { test := newSettingsAPITest(t) + test.server.developerEnabled = true + if err := test.database.UpsertAppSetting(context.Background(), store.AppSetting{ + Key: developer.EnabledSettingKey, Value: json.RawMessage(`{"enabled":true}`), + }); err != nil { + t.Fatal(err) + } period := time.Now().UTC().Add(-time.Hour).Truncate(time.Minute) for _, bucket := range []store.TrafficBucket{ { @@ -517,6 +524,14 @@ func TestTrafficAnalysisUsesAndAggregatesStoredBuckets(t *testing.T) { } } +func TestTrafficAnalysisIsUnavailableOutsideDeveloperMode(t *testing.T) { + test := newSettingsAPITest(t) + recorder := test.request(t, http.MethodGet, "/api/traffic/analysis?range=week", "") + if recorder.Code != http.StatusForbidden { + t.Fatalf("traffic status = %d, want %d; body = %s", recorder.Code, http.StatusForbidden, recorder.Body) + } +} + func TestNotificationDestinationAddressPolicy(t *testing.T) { blocked := []string{ "0.0.0.0", "10.0.0.1", "100.100.100.200", "127.0.0.1", diff --git a/internal/server/sms_api.go b/internal/server/sms_api.go index 27bf994..3ca8b04 100644 --- a/internal/server/sms_api.go +++ b/internal/server/sms_api.go @@ -581,6 +581,15 @@ func (s *Server) syncModemSMS(ctx context.Context, onlyDevice string) { message.Index, hex.EncodeToString(digest[:8]), ) + if message.Concat != nil && message.Concat.Total > 1 { + // A segment of a carrier-split long SMS. Address the whole message + // with a stable id so SaveSMSMessage folds every segment into one + // progressively merged row instead of one row per segment. + messageID = store.StableConcatMessageID( + "cellular_at", modemIMEI, config.ID, peer, + message.Concat.Reference, message.Concat.Total, + ) + } extra, _ := json.Marshal(map[string]any{ "modem_index": message.Index, "storage": message.Storage, diff --git a/internal/server/telegram_bot.go b/internal/server/telegram_bot.go index 53040c5..6613660 100644 --- a/internal/server/telegram_bot.go +++ b/internal/server/telegram_bot.go @@ -902,6 +902,15 @@ func (bot *telegramBot) notifyInboundSMS(ctx context.Context) { bot.warn("list Telegram SMS notifications", listErr) } else { for _, message := range messages { + if !store.ConcatSMSReadyToNotify(message.MessageID, message.Extra) { + // A carrier-split long SMS still waiting for segments. Hold + // the notification but advance the cursor so the partial row + // is not reconsidered every poll; when the final segment + // merges, the row re-enters with a fresh id and is pushed + // here as one complete message. + cursor = message.ID + continue + } text := fmt.Sprintf("📩 新短信\n设备:%s\n来自:%s\n时间:%s\n\n%s", message.DeviceID, message.Peer, message.Timestamp.Local().Format("2006-01-02 15:04:05"), message.Body) if sendErr := bot.sendText(ctx, config, 0, text, nil); sendErr != nil { bot.warn("send Telegram SMS notification", sendErr) diff --git a/internal/store/devices.go b/internal/store/devices.go index 1abe4ba..a497582 100644 --- a/internal/store/devices.go +++ b/internal/store/devices.go @@ -13,6 +13,27 @@ type contextExecer interface { ExecContext(context.Context, string, ...any) (sql.Result, error) } +const ( + DeviceTypeWiFi410 = "wifi_410" + DeviceTypeDJI4G = "dji_4g" + DeviceTypePCIeEC20EC25 = "pcie_ec20_ec25" +) + +// NormalizeDeviceType returns a stable persisted device type identifier. +// Empty values use the legacy EC20/EC25 type for backwards compatibility. +func NormalizeDeviceType(value string) string { + switch strings.ToLower(strings.TrimSpace(value)) { + case DeviceTypeWiFi410: + return DeviceTypeWiFi410 + case DeviceTypeDJI4G: + return DeviceTypeDJI4G + case "", DeviceTypePCIeEC20EC25: + return DeviceTypePCIeEC20EC25 + default: + return "" + } +} + func (s *Store) UpsertDevice(ctx context.Context, value Device) error { return upsertDevice(ctx, s.db, value) } @@ -73,6 +94,10 @@ func upsertDevice(ctx context.Context, executor contextExecer, value Device) err if value.Name == "" { return errors.New("device name is required") } + value.DeviceType = NormalizeDeviceType(value.DeviceType) + if value.DeviceType == "" { + return errors.New("unsupported device type") + } if value.ProxyPort < 0 || value.ProxyPort > 65535 { return errors.New("device proxy port must be between 0 and 65535") } @@ -133,15 +158,16 @@ func upsertDevice(ctx context.Context, executor contextExecer, value Device) err _, err = executor.ExecContext(ctx, ` INSERT INTO devices ( - id, name, interface, control_device, at_port, usb_path, + id, name, device_type, interface, control_device, at_port, usb_path, audio_device, modem_imei, apn, proxy_port, baud_rate, data_bits, stop_bits, parity, device_backend, esim_transport, qmi_use_proxy, qmi_proxy_path, qmi_proxy_executable, network_enabled, sms_enabled, vowifi_enabled, extra_json, created_at, updated_at - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET name = excluded.name, + device_type = excluded.device_type, interface = excluded.interface, control_device = excluded.control_device, at_port = excluded.at_port, @@ -165,7 +191,7 @@ func upsertDevice(ctx context.Context, executor contextExecer, value Device) err extra_json = excluded.extra_json, updated_at = excluded.updated_at `, - value.ID, value.Name, value.Interface, value.ControlDevice, value.ATPort, + value.ID, value.Name, value.DeviceType, value.Interface, value.ControlDevice, value.ATPort, value.USBPath, value.AudioDevice, value.ModemIMEI, value.APN, value.ProxyPort, value.BaudRate, value.DataBits, value.StopBits, value.Parity, value.DeviceBackend, value.ESIMTransport, @@ -255,7 +281,7 @@ func (s *Store) DeleteDevice(ctx context.Context, id string) error { } const deviceSelect = ` - SELECT id, name, interface, control_device, at_port, usb_path, + SELECT id, name, device_type, interface, control_device, at_port, usb_path, audio_device, modem_imei, apn, proxy_port, baud_rate, data_bits, stop_bits, parity, device_backend, esim_transport, qmi_use_proxy, qmi_proxy_path, qmi_proxy_executable, network_enabled, sms_enabled, @@ -268,7 +294,7 @@ func scanDevice(row rowScanner) (Device, error) { var extra string var createdAt, updatedAt int64 err := row.Scan( - &value.ID, &value.Name, &value.Interface, &value.ControlDevice, + &value.ID, &value.Name, &value.DeviceType, &value.Interface, &value.ControlDevice, &value.ATPort, &value.USBPath, &value.AudioDevice, &value.ModemIMEI, &value.APN, &value.ProxyPort, &value.BaudRate, &value.DataBits, &value.StopBits, &value.Parity, &value.DeviceBackend, @@ -286,6 +312,7 @@ func scanDevice(row rowScanner) (Device, error) { value.NetworkEnabled = networkEnabled != 0 value.SMSEnabled = smsEnabled != 0 value.VoWiFiEnabled = vowifiEnabled != 0 + value.DeviceType = NormalizeDeviceType(value.DeviceType) value.Extra = []byte(extra) value.CreatedAt = time.Unix(createdAt, 0).UTC() value.UpdatedAt = time.Unix(updatedAt, 0).UTC() diff --git a/internal/store/domain_test.go b/internal/store/domain_test.go index e86df7d..fe7b839 100644 --- a/internal/store/domain_test.go +++ b/internal/store/domain_test.go @@ -105,6 +105,41 @@ func TestMigration7BackfillsSMSModemIMEI(t *testing.T) { } } +func TestMigration8DefaultsExistingDevicesToPCIeType(t *testing.T) { + ctx := context.Background() + path := filepath.Join(t.TempDir(), "device-type.db") + raw, err := sql.Open("sqlite", path) + if err != nil { + t.Fatal(err) + } + for version := 1; version <= 7; version++ { + for _, statement := range migrationStatements(version) { + if _, err := raw.ExecContext(ctx, statement); err != nil { + t.Fatalf("create v%d schema: %v", version, err) + } + } + } + if _, err := raw.ExecContext(ctx, ` + INSERT INTO devices (id, name, created_at, updated_at) + VALUES ('legacy', 'Legacy modem', 100, 100); + PRAGMA user_version = 7; + `); err != nil { + t.Fatal(err) + } + if err := raw.Close(); err != nil { + t.Fatal(err) + } + + database := openTestStore(t, path) + got, err := database.Device(ctx, "legacy") + if err != nil { + t.Fatal(err) + } + if got.DeviceType != DeviceTypePCIeEC20EC25 { + t.Fatalf("legacy device type = %q", got.DeviceType) + } +} + func TestMigration4PreservesIMSRedeliveryAndUsesReceiptTime(t *testing.T) { ctx := context.Background() path := filepath.Join(t.TempDir(), "ims-redelivery.db") @@ -170,6 +205,7 @@ func TestDeviceStateRoundTripAndCascade(t *testing.T) { device := Device{ ID: "ec20-1", Name: "EC20 一号", + DeviceType: DeviceTypeDJI4G, Interface: "wwan0", ControlDevice: "/dev/cdc-wdm0", ATPort: "/dev/ttyUSB2", @@ -219,7 +255,7 @@ func TestDeviceStateRoundTripAndCascade(t *testing.T) { if err != nil { t.Fatal(err) } - if gotDevice.BaudRate != 115200 || gotDevice.DataBits != 8 || + if gotDevice.DeviceType != DeviceTypeDJI4G || gotDevice.BaudRate != 115200 || gotDevice.DataBits != 8 || gotDevice.StopBits != 1 || gotDevice.DeviceBackend != "at" { t.Fatalf("device defaults not applied: %+v", gotDevice) } diff --git a/internal/store/migrations.go b/internal/store/migrations.go index 3849700..834233c 100644 --- a/internal/store/migrations.go +++ b/internal/store/migrations.go @@ -106,6 +106,11 @@ func migrationStatements(version int) []string { `CREATE INDEX IF NOT EXISTS sms_messages_hardware_thread_idx ON sms_messages(modem_imei, imsi, peer, message_time DESC, id DESC)`, } + case 8: + return []string{ + `ALTER TABLE devices + ADD COLUMN device_type TEXT NOT NULL DEFAULT 'pcie_ec20_ec25'`, + } default: return nil } diff --git a/internal/store/models.go b/internal/store/models.go index 9ad6118..34cb38c 100644 --- a/internal/store/models.go +++ b/internal/store/models.go @@ -17,6 +17,7 @@ const SecretMask = "********" type Device struct { ID string Name string + DeviceType string Interface string ControlDevice string ATPort string diff --git a/internal/store/sms.go b/internal/store/sms.go index 061d070..b11c12f 100644 --- a/internal/store/sms.go +++ b/internal/store/sms.go @@ -65,6 +65,58 @@ func saveSMSMessage( return SMSMessage{}, fmt.Errorf("normalize SMS extra data: %w", err) } now := time.Now().UTC() + + // Concatenated (long) SMS arrive as one segment per delivery. Ingest points + // address the whole message with a stable "concat:" message id and carry the + // segment text plus its UDH sequence in Extra. Fold each segment into a single + // stored row so history, the web thread, and Telegram show one progressive + // message that fills in as the remaining segments arrive. + if isConcatSMSMessageID(value.MessageID) { + hardwareKey := smsHardwareKey(value.ModemIMEI, value.DeviceID) + existing, existingErr := scanSMSMessage(executor.QueryRowContext( + ctx, + smsMessageSelect+` WHERE + COALESCE(NULLIF(modem_imei, ''), 'device:' || device_id) = ? + AND message_id = ?`, + hardwareKey, + value.MessageID, + )) + if existingErr != nil && !errors.Is(existingErr, ErrNotFound) { + return SMSMessage{}, fmt.Errorf("read existing concatenated SMS: %w", existingErr) + } + var existingExtra json.RawMessage + if existingErr == nil { + existingExtra = existing.Extra + } + mergedBody, mergedExtra, changed, mergeErr := mergeConcatSegment(existingExtra, value.Body, extra) + if mergeErr != nil { + return SMSMessage{}, fmt.Errorf("merge concatenated SMS segment: %w", mergeErr) + } + if existingErr == nil && !changed { + // This segment is already folded into the stored row (a periodic modem + // rescan redelivers every segment). Leave the row untouched so the + // durable id stays put and Telegram does not re-notify. + return existing, nil + } + value.Body = mergedBody + extra = mergedExtra + if existingErr == nil { + // A new segment advanced the message. Replace the stale partial row so + // the merged row receives a fresh durable id; the Telegram id-cursor + // then surfaces the now-more-complete message exactly once. Carry + // forward identity and history fields. + if _, delErr := executor.ExecContext(ctx, `DELETE FROM sms_messages WHERE id = ?`, existing.ID); delErr != nil { + return SMSMessage{}, fmt.Errorf("replace concatenated SMS: %w", delErr) + } + value.ID = 0 + value.CreatedAt = existing.CreatedAt + value.Read = value.Read || existing.Read + if !existing.Timestamp.IsZero() && + (value.Timestamp.IsZero() || existing.Timestamp.Before(value.Timestamp)) { + value.Timestamp = existing.Timestamp + } + } + } if value.Timestamp.IsZero() { value.Timestamp = now } diff --git a/internal/store/sms_reassembly.go b/internal/store/sms_reassembly.go new file mode 100644 index 0000000..573620c --- /dev/null +++ b/internal/store/sms_reassembly.go @@ -0,0 +1,132 @@ +package store + +import ( + "encoding/json" + "fmt" + "sort" + "strconv" + "strings" +) + +// ConcatMessageIDPrefix marks the stable message id that ingest points assign to +// every segment of one concatenated (long) SMS. Unlike the per-segment modem/IMS +// ids (which embed a storage slot, PDU hash, or RP reference), this id is shared +// by all segments of the message, so SaveSMSMessage folds them into a single row. +const ConcatMessageIDPrefix = "concat:" + +// isConcatSMSMessageID reports whether a message id addresses a whole +// concatenated SMS rather than one physical segment. +func isConcatSMSMessageID(messageID string) bool { + return strings.HasPrefix(messageID, ConcatMessageIDPrefix) +} + +// ConcatSMSReadyToNotify reports whether an inbound SMS row is ready to surface +// to a notification consumer. A plain message is always ready; a concatenated +// (long) SMS row is ready only once every segment has merged (concat_complete). +// Until then consumers should hold the notification but still advance their +// cursor — the completed message re-enters as a fresh durable id. +func ConcatSMSReadyToNotify(messageID string, extra json.RawMessage) bool { + if !isConcatSMSMessageID(messageID) { + return true + } + document, err := decodeJSONObject(extra) + if err != nil { + return false + } + complete, _ := document["concat_complete"].(bool) + return complete +} + +// StableConcatMessageID builds the message id shared by every segment of one +// concatenated SMS. The UDH concat reference is only unique per sender, so the +// hardware identity and peer scope it; total is folded in to further separate the +// rare reference reuse between two different long messages from the same peer. +// The hardware identity matches the row lookup in saveSMSMessage, so a segment +// always finds the row its siblings started. +func StableConcatMessageID(source, modemIMEI, deviceID, peer string, reference, total int) string { + return ConcatMessageIDPrefix + source + ":" + smsHardwareKey(modemIMEI, deviceID) + ":" + peer + ":" + + strconv.Itoa(reference) + ":" + strconv.Itoa(total) +} + +// mergeConcatSegment folds one incoming segment into the progressively merged +// body of a concatenated SMS. existingExtra is the stored row's Extra (empty for +// the first segment); segmentBody/segmentExtra are the incoming segment's text +// and Extra, the latter carrying "concat" ({reference,total,sequence}). +// +// Each segment's text is kept under "concat_parts" keyed by its UDH sequence and +// the body is rebuilt by joining the parts in ascending sequence order with no +// separator — exactly how a phone reassembles a long message, and correct for any +// arrival order. The merge is idempotent: redelivering an already-folded sequence +// reports changed=false so callers can skip the write and avoid id churn. +// "concat_complete" flips true once Total segments are present. +func mergeConcatSegment( + existingExtra json.RawMessage, + segmentBody string, + segmentExtra json.RawMessage, +) (body string, extra json.RawMessage, changed bool, err error) { + segment, err := decodeJSONObject(segmentExtra) + if err != nil { + return "", nil, false, fmt.Errorf("decode segment extra: %w", err) + } + concat, _ := segment["concat"].(map[string]any) + sequence := numberAsInt(concat["sequence"]) + total := numberAsInt(concat["total"]) + if sequence < 1 { + // No usable UDH sequence: keep the incoming segment as the whole body. + return segmentBody, json.RawMessage(segmentExtra), true, nil + } + + // Seed the per-segment texts from the previously stored parts so an + // out-of-order arrival always rebuilds in sequence order. + parts := map[int]string{} + if len(existingExtra) > 0 { + if existing, derr := decodeJSONObject(existingExtra); derr == nil { + if stored, ok := existing["concat_parts"].(map[string]any); ok { + for key, value := range stored { + n, aerr := strconv.Atoi(key) + if aerr != nil || n < 1 { + continue + } + if text, ok := value.(string); ok { + parts[n] = text + } + } + } + } + } + prior, alreadyHad := parts[sequence] + changed = !alreadyHad || prior != segmentBody + parts[sequence] = segmentBody + + sequences := make([]int, 0, len(parts)) + for n := range parts { + sequences = append(sequences, n) + } + sort.Ints(sequences) + + var joined strings.Builder + stored := make(map[string]string, len(parts)) + for _, n := range sequences { + joined.WriteString(parts[n]) + stored[strconv.Itoa(n)] = parts[n] + } + complete := total > 0 && len(parts) >= total + + merged := map[string]any{ + "concat": concat, + "concat_parts": stored, + "concat_received": len(parts), + "concat_complete": complete, + } + // Preserve non-concat metadata from the latest segment for context. + for _, key := range []string{"encoding", "storage", "transport", "source"} { + if value, ok := segment[key]; ok { + merged[key] = value + } + } + encoded, err := json.Marshal(merged) + if err != nil { + return "", nil, false, fmt.Errorf("encode merged concat extra: %w", err) + } + return joined.String(), json.RawMessage(encoded), changed, nil +} diff --git a/internal/store/sms_reassembly_test.go b/internal/store/sms_reassembly_test.go new file mode 100644 index 0000000..9434050 --- /dev/null +++ b/internal/store/sms_reassembly_test.go @@ -0,0 +1,229 @@ +package store + +import ( + "context" + "encoding/json" + "strings" + "testing" + "time" +) + +func concatExtra(t *testing.T, reference, total, sequence int) json.RawMessage { + t.Helper() + extra, err := json.Marshal(map[string]any{ + "concat": map[string]any{"reference": reference, "total": total, "sequence": sequence}, + }) + if err != nil { + t.Fatalf("marshal concat extra: %v", err) + } + return extra +} + +func TestMergeConcatSegmentJoinsOutOfOrderInSequenceOrder(t *testing.T) { + // UCS-2 long SMS (the customer case) whose segments arrive 2, 1, 3. + var body string + var extra json.RawMessage + var changed, complete bool + + body, extra, changed, err := mergeConcatSegment(extra, "中段", concatExtra(t, 9, 3, 2)) + if err != nil || !changed { + t.Fatalf("segment 2: body=%q changed=%v err=%v", body, changed, err) + } + if body != "中段" { + t.Fatalf("after segment 2 body = %q, want partial %q", body, "中段") + } + + body, extra, changed, err = mergeConcatSegment(extra, "前段", concatExtra(t, 9, 3, 1)) + if err != nil || !changed { + t.Fatalf("segment 1: body=%q changed=%v err=%v", body, changed, err) + } + if body != "前段中段" { + t.Fatalf("after segment 1 body = %q, want %q", body, "前段中段") + } + + body, extra, changed, err = mergeConcatSegment(extra, "尾段", concatExtra(t, 9, 3, 3)) + if err != nil || !changed { + t.Fatalf("segment 3: body=%q changed=%v err=%v", body, changed, err) + } + if body != "前段中段尾段" { + t.Fatalf("complete body = %q, want %q", body, "前段中段尾段") + } + document, err := decodeJSONObject(extra) + if err != nil { + t.Fatalf("decode merged extra: %v", err) + } + complete, _ = document["concat_complete"].(bool) + if !complete { + t.Fatalf("concat_complete = %v, want true; extra=%s", complete, extra) + } + if got := numberAsInt(document["concat_received"]); got != 3 { + t.Fatalf("concat_received = %d, want 3", got) + } +} + +func TestMergeConcatSegmentKeepsURLContiguous(t *testing.T) { + // A GSM-7 tracking link split mid-token (the OFCA "garbled" report) must + // reassemble with no break. + first := "https://ofca.gov.hk/track?tok=ab" + second := "cdef1234&lang=zh" + _, extra, _, err := mergeConcatSegment(nil, first, concatExtra(t, 4, 2, 1)) + if err != nil { + t.Fatal(err) + } + body, _, _, err := mergeConcatSegment(extra, second, concatExtra(t, 4, 2, 2)) + if err != nil { + t.Fatal(err) + } + want := "https://ofca.gov.hk/track?tok=abcdef1234&lang=zh" + if body != want { + t.Fatalf("body = %q, want %q", body, want) + } +} + +func TestMergeConcatSegmentRedeliveryIsIdempotent(t *testing.T) { + _, extra, _, err := mergeConcatSegment(nil, "甲", concatExtra(t, 3, 2, 1)) + if err != nil { + t.Fatal(err) + } + // A modem rescan redelivers the identical segment: no change, no growth. + body, extra2, changed, err := mergeConcatSegment(extra, "甲", concatExtra(t, 3, 2, 1)) + if err != nil { + t.Fatal(err) + } + if changed { + t.Fatalf("redelivered segment reported changed=true; body=%q", body) + } + if body != "甲" { + t.Fatalf("body = %q, want %q", body, "甲") + } + if string(extra2) == "" { + t.Fatal("merged extra lost on idempotent redelivery") + } +} + +func TestMergeConcatSegmentWithoutHeaderPassesThrough(t *testing.T) { + extra, err := json.Marshal(map[string]any{"encoding": "gsm7"}) + if err != nil { + t.Fatal(err) + } + body, _, changed, err := mergeConcatSegment(nil, "plain", extra) + if err != nil || !changed || body != "plain" { + t.Fatalf("body=%q changed=%v err=%v, want passthrough", body, changed, err) + } +} + +func TestStableConcatMessageIDScopesByPeerReferenceTotal(t *testing.T) { + a := StableConcatMessageID("cellular_at", "imei-1", "ec20", "+10086", 7, 2) + if !isConcatSMSMessageID(a) { + t.Fatalf("id %q missing concat prefix", a) + } + if again := StableConcatMessageID("cellular_at", "imei-1", "ec20", "+10086", 7, 2); again != a { + t.Fatalf("id unstable: %q vs %q", a, again) + } + for _, different := range []string{ + StableConcatMessageID("cellular_at", "imei-1", "ec20", "+10086", 8, 2), // other reference + StableConcatMessageID("cellular_at", "imei-1", "ec20", "+10010", 7, 2), // other peer + StableConcatMessageID("cellular_at", "imei-1", "ec20", "+10086", 7, 3), // other total + StableConcatMessageID("ims", "imei-1", "ec20", "+10086", 7, 2), // other source + } { + if different == a { + t.Fatalf("id %q collides across distinct concat groups", a) + } + } +} + +func TestConcatSMSReadyToNotify(t *testing.T) { + if !ConcatSMSReadyToNotify("modem:SM:3:abcd", json.RawMessage(`{}`)) { + t.Fatal("plain message should always be ready") + } + incomplete := StableConcatMessageID("cellular_at", "imei", "ec20", "peer", 1, 2) + if ConcatSMSReadyToNotify(incomplete, json.RawMessage(`{"concat_complete":false}`)) { + t.Fatal("incomplete long SMS must not notify") + } + if ConcatSMSReadyToNotify(incomplete, json.RawMessage(`not-json`)) { + t.Fatal("unparseable concat extra must not notify") + } + if !ConcatSMSReadyToNotify(incomplete, json.RawMessage(`{"concat_complete":true}`)) { + t.Fatal("complete long SMS should notify") + } +} + +func TestSaveConcatSMSFoldsSegmentsIntoOneRow(t *testing.T) { + ctx := context.Background() + database := openTestStore(t, ":memory:") + mustSaveDevice(t, database, "ec20-1", "测试设备") + const imei = "867394042309830" + base := time.Unix(1_700_000_000, 0).UTC() + + save := func(sequence int, text string, at time.Time) SMSMessage { + t.Helper() + saved, err := database.SaveSMSMessage(ctx, SMSMessage{ + MessageID: StableConcatMessageID("cellular_at", imei, "ec20-1", "+8520000", 5, 2), + DeviceID: "ec20-1", ModemIMEI: imei, IMSI: "45400", + Peer: "+8520000", Direction: "inbound", Body: text, + Timestamp: at, Status: "received", Source: "cellular_at", + PartsTotal: 2, + Extra: concatExtra(t, 5, 2, sequence), + }) + if err != nil { + t.Fatalf("SaveSMSMessage(seq=%d) error = %v", sequence, err) + } + return saved + } + + first := save(1, "【检测】您的结果为", base) + if first.PartsTotal != 2 { + t.Fatalf("PartsTotal = %d, want 2", first.PartsTotal) + } + if ConcatSMSReadyToNotify(first.MessageID, first.Extra) { + t.Fatal("first segment alone should not be ready to notify") + } + + second := save(2, "合格,请查收报告", base.Add(30*time.Second)) + if second.ID <= first.ID { + t.Fatalf("completed row id = %d, want a fresh id greater than %d", second.ID, first.ID) + } + if second.Body != "【检测】您的结果为合格,请查收报告" { + t.Fatalf("merged body = %q", second.Body) + } + if !second.Timestamp.Equal(base) { + t.Fatalf("merged timestamp = %v, want earliest segment %v", second.Timestamp, base) + } + if !ConcatSMSReadyToNotify(second.MessageID, second.Extra) { + t.Fatal("completed long SMS should be ready to notify") + } + + // Exactly one stored row represents the whole long SMS. + messages, err := database.ListSMSMessages(ctx, SMSFilter{DeviceID: "ec20-1"}) + if err != nil { + t.Fatal(err) + } + if len(messages) != 1 { + t.Fatalf("stored rows = %d, want 1 merged row: %+v", len(messages), messages) + } + + // The completed row re-enters after the earlier partial id, so the Telegram + // id-cursor surfaces it once, complete. + fresh, err := database.ListInboundSMSAfterID(ctx, first.ID, 10) + if err != nil { + t.Fatal(err) + } + if len(fresh) != 1 || fresh[0].ID != second.ID || !strings.Contains(fresh[0].Body, "合格") { + t.Fatalf("ListInboundSMSAfterID = %+v, want the completed row", fresh) + } + + // A modem rescan redelivers an already-folded segment: no write, no id churn. + rescan := save(1, "【检测】您的结果为", base) + if rescan.ID != second.ID { + t.Fatalf("rescan churned the row id: got %d, want stable %d", rescan.ID, second.ID) + } + if rescan.Body != second.Body { + t.Fatalf("rescan changed body to %q", rescan.Body) + } + if after, err := database.ListInboundSMSAfterID(ctx, second.ID, 10); err != nil || len(after) != 0 { + t.Fatalf("rescan produced new rows: %+v, %v", after, err) + } + if count, err := database.ListSMSMessages(ctx, SMSFilter{DeviceID: "ec20-1"}); err != nil || len(count) != 1 { + t.Fatalf("rows after rescan = %d, %v; want still 1", len(count), err) + } +} diff --git a/internal/store/store.go b/internal/store/store.go index 515691e..a214e89 100644 --- a/internal/store/store.go +++ b/internal/store/store.go @@ -13,7 +13,7 @@ import ( _ "modernc.org/sqlite" ) -const schemaVersion = 7 +const schemaVersion = 8 var ErrNotFound = errors.New("store: not found") @@ -118,11 +118,11 @@ func migrate(ctx context.Context, db *sql.DB) error { for _, statement := range migrationStatements(nextVersion) { if _, err := tx.ExecContext(ctx, statement); err != nil { // A database whose user_version was repaired or rolled back may - // already contain this additive v7 column. The remaining v7 data - // backfill and indexes are still safe and must be applied. - if nextVersion == 7 && - strings.Contains(statement, "ADD COLUMN modem_imei") && - strings.Contains(strings.ToLower(err.Error()), "duplicate column name") { + // already contain an additive column. Remaining statements in the + // migration are still safe and must be applied. + duplicateAdditiveColumn := (nextVersion == 7 && strings.Contains(statement, "ADD COLUMN modem_imei")) || + (nextVersion == 8 && strings.Contains(statement, "ADD COLUMN device_type")) + if duplicateAdditiveColumn && strings.Contains(strings.ToLower(err.Error()), "duplicate column name") { continue } _ = tx.Rollback() diff --git a/internal/vowifi/ims/call_runtime.go b/internal/vowifi/ims/call_runtime.go index 5fcfd7b..648f011 100644 --- a/internal/vowifi/ims/call_runtime.go +++ b/internal/vowifi/ims/call_runtime.go @@ -34,6 +34,7 @@ type imsCall struct { remoteTag string routes []string terminated bool + media *rtpMedia } func (session *Session) Calls() []vowifi.Call { @@ -73,7 +74,11 @@ func (session *Session) DialCall(ctx context.Context, number string) (vowifi.Cal routes := append([]string(nil), session.evidence.ServiceRoute...) securityHeaders := runtimeSecurityHeaders(session.securityActive, session.securityAgreement.verifyValue) session.mu.Unlock() - body := session.inactiveSDP() + media, err := newRTPMedia(session.localMediaIP()) + if err != nil { + return vowifi.Call{}, err + } + body := media.offerSDP(session.localMediaIP()) transportUpper := strings.ToUpper(session.transport) from := "<" + session.identity.public + ">;tag=" + session.fromTag to := "<" + target + ">" @@ -108,6 +113,7 @@ func (session *Session) DialCall(ctx context.Context, number string) (vowifi.Cal session.transactionsMu.Lock() if _, duplicate := session.transactions[key]; duplicate { session.transactionsMu.Unlock() + _ = media.Close() return vowifi.Call{}, errors.New("ims: duplicate call transaction") } session.transactions[key] = responses @@ -115,7 +121,7 @@ func (session *Session) DialCall(ctx context.Context, number string) (vowifi.Cal call := &imsCall{ public: vowifi.Call{ID: callID, Number: number, Direction: "outgoing", State: "dialing", StartedAt: time.Now().UTC()}, callID: callID, target: target, from: from, to: to, branch: branch, cseq: cseq, responses: responses, - routes: routes, + routes: routes, media: media, } session.callMu.Lock() session.calls[callID] = call @@ -124,6 +130,7 @@ func (session *Session) DialCall(ctx context.Context, number string) (vowifi.Cal _, err = session.conn.Write(request) session.writeMu.Unlock() if err != nil { + _ = media.Close() session.transactionsMu.Lock() delete(session.transactions, key) session.transactionsMu.Unlock() @@ -173,7 +180,18 @@ func (session *Session) watchOutgoingCall(call *imsCall, key sipTransactionKey) call.routes = reverseStrings(recordRoutes) } session.callMu.Unlock() + mediaErr := call.media.configureRemote(response.Body) _ = session.sendACK(call) + if mediaErr != nil { + session.finishCall(call.callID, "failed", response.StatusCode, mediaErr.Error()) + go func() { + ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + defer cancel() + _ = session.sendDialogRequest(ctx, call, "BYE") + }() + return + } + session.setCallMediaReady(call.callID) session.setCallState(call.callID, "active") } else { session.finishCall(call.callID, "failed", response.StatusCode, response.Reason) @@ -196,7 +214,7 @@ func (session *Session) AnswerCall(_ context.Context, id string) (vowifi.Call, e } request, respond := call.invite, call.respond session.callMu.Unlock() - response, err := buildSIPResponseWithBody(request, 200, session.fromTag, session.inactiveSDP()) + response, err := buildSIPResponseWithBody(request, 200, session.fromTag, call.media.answerSDP(session.localMediaIP())) if err != nil { return vowifi.Call{}, err } @@ -204,6 +222,9 @@ func (session *Session) AnswerCall(_ context.Context, id string) (vowifi.Call, e return vowifi.Call{}, err } session.setCallState(id, "active") + if call.media.ready() { + session.setCallMediaReady(id) + } session.callMu.Lock() result := call.public session.callMu.Unlock() @@ -255,10 +276,26 @@ func (session *Session) handleCallRequest(request *sipRequest, respond func([]by if target == "" { target = request.URI } + media, err := newRTPMedia(session.localMediaIP()) + if err != nil { + if response, buildErr := buildSIPResponseWithBody(request, 488, session.fromTag, nil); buildErr == nil { + _ = respond(response) + } + return true + } + if len(request.Body) > 0 { + if err := media.configureRemote(request.Body); err != nil { + _ = media.Close() + if response, buildErr := buildSIPResponseWithBody(request, 488, session.fromTag, nil); buildErr == nil { + _ = respond(response) + } + return true + } + } call := &imsCall{ public: vowifi.Call{ID: callID, Number: number, Direction: "incoming", State: "ringing", StartedAt: time.Now().UTC()}, callID: callID, target: target, from: request.value("To") + ";tag=" + session.fromTag, - to: request.value("From"), invite: request, respond: respond, routes: request.values("Record-Route"), + to: request.value("From"), invite: request, respond: respond, routes: request.values("Record-Route"), media: media, } session.callMu.Lock() session.calls[callID] = call @@ -269,6 +306,17 @@ func (session *Session) handleCallRequest(request *sipRequest, respond func([]by } return true case "ACK": + callID := strings.TrimSpace(request.value("Call-ID")) + session.callMu.Lock() + call := session.calls[callID] + session.callMu.Unlock() + if call != nil && call.media != nil && !call.media.ready() && len(request.Body) > 0 { + if err := call.media.configureRemote(request.Body); err != nil { + session.finishCall(callID, "failed", 0, err.Error()) + } else { + session.setCallMediaReady(callID) + } + } return true case "CANCEL", "BYE": response, err := buildSIPResponseWithBody(request, 200, session.fromTag, nil) @@ -353,25 +401,16 @@ func (session *Session) buildDialogRequest(call *imsCall, method string, cseq ui return []byte(strings.Join(lines, "\r\n")) } -func (session *Session) inactiveSDP() []byte { +func (session *Session) localMediaIP() net.IP { var localAddress net.Addr if session.conn != nil { localAddress = session.conn.LocalAddr() } - local := addressIP(localAddress) - if local == nil { - local = net.IPv4zero - } - family := "IP4" - if local.To4() == nil { - family = "IP6" - } - text := fmt.Sprintf("v=0\r\no=- %d %d IN %s %s\r\ns=VoCat Calling Test\r\nc=IN %s %s\r\nt=0 0\r\nm=audio 9 RTP/AVP 0 8\r\na=inactive\r\n", time.Now().Unix(), time.Now().Unix(), family, local.String(), family, local.String()) - return []byte(text) + return addressIP(localAddress) } func buildSIPResponseWithBody(request *sipRequest, status int, tag string, body []byte) ([]byte, error) { - reasons := map[int]string{180: "Ringing", 200: "OK", 486: "Busy Here", 487: "Request Terminated"} + reasons := map[int]string{180: "Ringing", 200: "OK", 486: "Busy Here", 487: "Request Terminated", 488: "Not Acceptable Here"} reason := reasons[status] if reason == "" { return nil, errors.New("ims: unsupported call response status") @@ -417,10 +456,34 @@ func (session *Session) setCallDiagnostic(id string, code int, reason string) { session.callMu.Unlock() } +func (session *Session) setCallMediaReady(id string) { + session.callMu.Lock() + if call := session.calls[id]; call != nil && call.media != nil { + call.public.MediaReady = call.media.ready() + call.public.Codec = call.media.Codec() + } + session.callMu.Unlock() +} + +func (session *Session) CallMedia(_ context.Context, id string) (vowifi.CallMedia, error) { + session.callMu.Lock() + defer session.callMu.Unlock() + call := session.calls[id] + if call == nil { + return nil, ErrCallNotFound + } + if call.public.State != "active" || call.media == nil || !call.media.ready() { + return nil, ErrCallState + } + return call.media, nil +} + func (session *Session) finishCall(id, state string, code int, reason string) { now := time.Now().UTC() + var media *rtpMedia session.callMu.Lock() if call := session.calls[id]; call != nil { + media = call.media call.public.State = state if code != 0 { call.public.SIPCode = code @@ -431,6 +494,9 @@ func (session *Session) finishCall(id, state string, code int, reason string) { call.public.EndedAt = &now } session.callMu.Unlock() + if media != nil { + _ = media.Close() + } } func validCallNumber(value string) bool { @@ -500,3 +566,4 @@ func reverseStrings(values []string) []string { } var _ vowifi.CallController = (*Session)(nil) +var _ vowifi.CallMediaController = (*Session)(nil) diff --git a/internal/vowifi/ims/call_runtime_test.go b/internal/vowifi/ims/call_runtime_test.go index f8b34bb..192b286 100644 --- a/internal/vowifi/ims/call_runtime_test.go +++ b/internal/vowifi/ims/call_runtime_test.go @@ -8,7 +8,7 @@ import ( "vocat/internal/vowifi" ) -func TestIncomingCallCanRingAndAnswerWithoutAudio(t *testing.T) { +func TestIncomingCallCanRingAndAnswerWithMediaOffer(t *testing.T) { session := &Session{fromTag: "local-tag", calls: make(map[string]*imsCall)} packet, err := parseSIPPacket([]byte(strings.Join([]string{ "INVITE sip:subscriber@example.test SIP/2.0", @@ -38,7 +38,7 @@ func TestIncomingCallCanRingAndAnswerWithoutAudio(t *testing.T) { if err != nil { t.Fatal(err) } - if answered.State != "active" || len(responses) != 2 || !strings.Contains(string(responses[1]), "a=inactive") { + if answered.State != "active" || len(responses) != 2 || !strings.Contains(string(responses[1]), "a=sendrecv") { t.Fatalf("answered = %#v, response = %q", answered, responses[1]) } } diff --git a/internal/vowifi/ims/provider.go b/internal/vowifi/ims/provider.go index 438fbdc..e30252f 100644 --- a/internal/vowifi/ims/provider.go +++ b/internal/vowifi/ims/provider.go @@ -1141,10 +1141,20 @@ func (session *Session) Close(ctx context.Context) error { session.smsContactConfirmed = false session.clearAuthentication() session.mu.Unlock() + session.callMu.Lock() + for _, call := range session.calls { + if call.media != nil { + _ = call.media.Close() + } + } + session.callMu.Unlock() var cleanupErrors []error if unregisterErr != nil { cleanupErrors = append(cleanupErrors, unregisterErr) } + // Runtime receive loops block in Read/Accept. Close every socket before + // waiting for those goroutines; waiting first deadlocks VoWiFi shutdown and + // leaves the modem permanently in CFUN=4. if err := session.conn.Close(); err != nil { cleanupErrors = append(cleanupErrors, err) } diff --git a/internal/vowifi/ims/rtp_media.go b/internal/vowifi/ims/rtp_media.go new file mode 100644 index 0000000..6a7e0dc --- /dev/null +++ b/internal/vowifi/ims/rtp_media.go @@ -0,0 +1,374 @@ +package ims + +import ( + "context" + cryptorand "crypto/rand" + "encoding/binary" + "errors" + "fmt" + "io" + "net" + "strconv" + "strings" + "sync" + "time" +) + +const ( + rtpClockRate = 8000 + rtpPacketSamples = 160 +) + +type rtpMedia struct { + conn *net.UDPConn + + mu sync.RWMutex + remote *net.UDPAddr + codec string + payloadType byte + + writeMu sync.Mutex + pending []int16 + sequence uint16 + timestamp uint32 + ssrc uint32 + + downlink chan []int16 + closed chan struct{} + close sync.Once +} + +func newRTPMedia(local net.IP) (*rtpMedia, error) { + address := &net.UDPAddr{IP: local, Port: 0} + connection, err := net.ListenUDP("udp", address) + if err != nil { + return nil, fmt.Errorf("ims: open RTP socket: %w", err) + } + seed := make([]byte, 10) + if _, err := io.ReadFull(cryptorand.Reader, seed); err != nil { + _ = connection.Close() + return nil, fmt.Errorf("ims: initialize RTP state: %w", err) + } + media := &rtpMedia{ + conn: connection, sequence: binary.BigEndian.Uint16(seed[:2]), + timestamp: binary.BigEndian.Uint32(seed[2:6]), ssrc: binary.BigEndian.Uint32(seed[6:]), + downlink: make(chan []int16, 64), closed: make(chan struct{}), + } + go media.receive() + return media, nil +} + +func (media *rtpMedia) Codec() string { + media.mu.RLock() + defer media.mu.RUnlock() + return media.codec +} + +func (media *rtpMedia) ready() bool { + media.mu.RLock() + defer media.mu.RUnlock() + return media.remote != nil && media.codec != "" +} + +func (media *rtpMedia) offerSDP(local net.IP) []byte { + return media.buildSDP(local, "8 0", nil) +} + +func (media *rtpMedia) answerSDP(local net.IP) []byte { + media.mu.RLock() + codec, payload := media.codec, media.payloadType + media.mu.RUnlock() + if codec == "" { + return media.offerSDP(local) + } + return media.buildSDP(local, strconv.Itoa(int(payload)), []string{ + fmt.Sprintf("a=rtpmap:%d %s/8000", payload, codec), + }) +} + +func (media *rtpMedia) buildSDP(local net.IP, formats string, attributes []string) []byte { + if local == nil || local.IsUnspecified() { + if udp, ok := media.conn.LocalAddr().(*net.UDPAddr); ok { + local = udp.IP + } + } + if local == nil || local.IsUnspecified() { + local = net.IPv4zero + } + family := "IP4" + if local.To4() == nil { + family = "IP6" + } + port := media.conn.LocalAddr().(*net.UDPAddr).Port + sessionID := time.Now().UnixNano() + lines := []string{ + "v=0", + fmt.Sprintf("o=- %d %d IN %s %s", sessionID, sessionID, family, local.String()), + "s=VoCat", + fmt.Sprintf("c=IN %s %s", family, local.String()), + "t=0 0", + fmt.Sprintf("m=audio %d RTP/AVP %s", port, formats), + } + if attributes == nil { + lines = append(lines, "a=rtpmap:8 PCMA/8000", "a=rtpmap:0 PCMU/8000") + } else { + lines = append(lines, attributes...) + } + lines = append(lines, "a=ptime:20", "a=sendrecv", "") + return []byte(strings.Join(lines, "\r\n")) +} + +func (media *rtpMedia) configureRemote(body []byte) error { + address, port, formats, mappings, err := parseAudioSDP(body) + if err != nil { + return err + } + var codec string + var payload byte + for _, value := range formats { + parsed, parseErr := strconv.Atoi(value) + if parseErr != nil || parsed < 0 || parsed > 127 { + continue + } + name := strings.ToUpper(mappings[parsed]) + if name == "" { + switch parsed { + case 0: + name = "PCMU" + case 8: + name = "PCMA" + } + } + if name == "PCMA" || name == "PCMU" { + codec, payload = name, byte(parsed) + break + } + } + if codec == "" { + return errors.New("ims: remote endpoint did not accept PCMA or PCMU audio") + } + media.mu.Lock() + media.remote = &net.UDPAddr{IP: address, Port: port} + media.codec = codec + media.payloadType = payload + media.mu.Unlock() + return nil +} + +func parseAudioSDP(body []byte) (net.IP, int, []string, map[int]string, error) { + var sessionIP, mediaIP net.IP + var port int + var formats []string + mappings := make(map[int]string) + inAudio := false + for _, raw := range strings.Split(strings.ReplaceAll(string(body), "\r\n", "\n"), "\n") { + line := strings.TrimSpace(raw) + switch { + case strings.HasPrefix(line, "m="): + fields := strings.Fields(strings.TrimPrefix(line, "m=")) + inAudio = len(fields) >= 4 && strings.EqualFold(fields[0], "audio") && strings.HasPrefix(strings.ToUpper(fields[2]), "RTP/AVP") + if inAudio { + port, _ = strconv.Atoi(strings.Split(fields[1], "/")[0]) + formats = append([]string(nil), fields[3:]...) + } + case strings.HasPrefix(line, "c="): + fields := strings.Fields(strings.TrimPrefix(line, "c=")) + if len(fields) >= 3 { + ip := net.ParseIP(strings.Split(fields[2], "/")[0]) + if inAudio { + mediaIP = ip + } else { + sessionIP = ip + } + } + case inAudio && strings.HasPrefix(strings.ToLower(line), "a=rtpmap:"): + fields := strings.Fields(strings.TrimPrefix(line, "a=rtpmap:")) + if len(fields) == 2 { + pt, parseErr := strconv.Atoi(fields[0]) + if parseErr == nil { + mappings[pt] = strings.Split(fields[1], "/")[0] + } + } + } + } + if mediaIP == nil { + mediaIP = sessionIP + } + if mediaIP == nil || port < 1 || port > 65535 || len(formats) == 0 { + return nil, 0, nil, nil, errors.New("ims: remote SDP has no usable audio endpoint") + } + return mediaIP, port, formats, mappings, nil +} + +func (media *rtpMedia) ReadPCM(ctx context.Context) ([]int16, error) { + select { + case <-ctx.Done(): + return nil, ctx.Err() + case <-media.closed: + return nil, io.EOF + case samples := <-media.downlink: + return samples, nil + } +} + +func (media *rtpMedia) WritePCM(samples []int16) error { + media.mu.RLock() + var remote *net.UDPAddr + if media.remote != nil { + copy := *media.remote + remote = © + } + codec, payload := media.codec, media.payloadType + media.mu.RUnlock() + if remote == nil || codec == "" { + return errors.New("ims: RTP media is not negotiated") + } + media.writeMu.Lock() + defer media.writeMu.Unlock() + media.pending = append(media.pending, samples...) + for len(media.pending) >= rtpPacketSamples { + packet := make([]byte, 12+rtpPacketSamples) + packet[0], packet[1] = 0x80, payload + binary.BigEndian.PutUint16(packet[2:4], media.sequence) + binary.BigEndian.PutUint32(packet[4:8], media.timestamp) + binary.BigEndian.PutUint32(packet[8:12], media.ssrc) + for index, sample := range media.pending[:rtpPacketSamples] { + if codec == "PCMA" { + packet[12+index] = linearToALaw(sample) + } else { + packet[12+index] = linearToMuLaw(sample) + } + } + if _, err := media.conn.WriteToUDP(packet, remote); err != nil { + return fmt.Errorf("ims: send RTP: %w", err) + } + media.pending = media.pending[rtpPacketSamples:] + media.sequence++ + media.timestamp += rtpPacketSamples + } + return nil +} + +func (media *rtpMedia) receive() { + packet := make([]byte, 2048) + for { + count, source, err := media.conn.ReadFromUDP(packet) + if err != nil { + return + } + media.mu.Lock() + remote, codec, payload := media.remote, media.codec, media.payloadType + if remote != nil && remote.IP.Equal(source.IP) && remote.Port != source.Port { + remote.Port = source.Port // symmetric RTP/NAT port learning + } + media.mu.Unlock() + if remote == nil || !remote.IP.Equal(source.IP) || count < 12 || packet[0]>>6 != 2 || packet[1]&0x7f != payload { + continue + } + header := 12 + int(packet[0]&0x0f)*4 + if packet[0]&0x10 != 0 { + if count < header+4 { + continue + } + header += 4 + int(binary.BigEndian.Uint16(packet[header+2:header+4]))*4 + } + if header >= count { + continue + } + samples := make([]int16, count-header) + for index, encoded := range packet[header:count] { + if codec == "PCMA" { + samples[index] = aLawToLinear(encoded) + } else { + samples[index] = muLawToLinear(encoded) + } + } + select { + case media.downlink <- samples: + default: + // Keep real-time behavior by dropping the oldest queued packet. + select { + case <-media.downlink: + default: + } + select { + case media.downlink <- samples: + default: + } + } + } +} + +func (media *rtpMedia) Close() error { + media.close.Do(func() { + close(media.closed) + _ = media.conn.Close() + }) + return nil +} + +func linearToMuLaw(sample int16) byte { + value := int(sample) + sign := byte(0) + if value < 0 { + sign, value = 0x80, -value + if value > 32767 { + value = 32767 + } + } + value += 132 + if value > 32635 { + value = 32635 + } + exponent := 7 + for mask := 0x4000; exponent > 0 && value&mask == 0; mask >>= 1 { + exponent-- + } + mantissa := (value >> (exponent + 3)) & 0x0f + return ^(sign | byte(exponent<<4) | byte(mantissa)) +} + +func muLawToLinear(value byte) int16 { + value = ^value + magnitude := ((int(value)&0x0f)<<3 + 132) << ((value & 0x70) >> 4) + magnitude -= 132 + if value&0x80 != 0 { + return int16(-magnitude) + } + return int16(magnitude) +} + +func linearToALaw(sample int16) byte { + value := int(sample) + mask := byte(0xd5) + if value < 0 { + mask, value = 0x55, -value-1 + } + if value > 32767 { + value = 32767 + } + var encoded byte + if value < 256 { + encoded = byte(value >> 4) + } else { + exponent := 1 + for threshold := 512; exponent < 7 && value >= threshold; threshold <<= 1 { + exponent++ + } + encoded = byte(exponent<<4) | byte((value>>(exponent+3))&0x0f) + } + return encoded ^ mask +} + +func aLawToLinear(value byte) int16 { + value ^= 0x55 + magnitude := int(value&0x0f)<<4 + 8 + exponent := int((value & 0x70) >> 4) + if exponent != 0 { + magnitude = (magnitude + 0x100) << (exponent - 1) + } + if value&0x80 == 0 { + return int16(-magnitude) + } + return int16(magnitude) +} diff --git a/internal/vowifi/ims/rtp_media_test.go b/internal/vowifi/ims/rtp_media_test.go new file mode 100644 index 0000000..98995a8 --- /dev/null +++ b/internal/vowifi/ims/rtp_media_test.go @@ -0,0 +1,55 @@ +package ims + +import ( + "context" + "math" + "net" + "testing" + "time" +) + +func TestRTPMediaCarriesPCMOverPCMA(t *testing.T) { + left, err := newRTPMedia(net.IPv4(127, 0, 0, 1)) + if err != nil { + t.Fatal(err) + } + defer left.Close() + right, err := newRTPMedia(net.IPv4(127, 0, 0, 1)) + if err != nil { + t.Fatal(err) + } + defer right.Close() + if err := left.configureRemote(right.offerSDP(net.IPv4(127, 0, 0, 1))); err != nil { + t.Fatal(err) + } + if err := right.configureRemote(left.answerSDP(net.IPv4(127, 0, 0, 1))); err != nil { + t.Fatal(err) + } + want := make([]int16, rtpPacketSamples) + for index := range want { + want[index] = int16(9000 * math.Sin(float64(index)*2*math.Pi/40)) + } + if err := left.WritePCM(want); err != nil { + t.Fatal(err) + } + ctx, cancel := context.WithTimeout(context.Background(), time.Second) + defer cancel() + got, err := right.ReadPCM(ctx) + if err != nil { + t.Fatal(err) + } + if len(got) != len(want) { + t.Fatalf("received %d samples, want %d", len(got), len(want)) + } + for index := range got { + if difference := math.Abs(float64(got[index]) - float64(want[index])); difference > 700 { + t.Fatalf("sample %d difference %.0f exceeds G.711 tolerance", index, difference) + } + } +} + +func TestParseAudioSDPRejectsMissingEndpoint(t *testing.T) { + if _, _, _, _, err := parseAudioSDP([]byte("v=0\r\nm=audio 0 RTP/AVP 8\r\n")); err == nil { + t.Fatal("expected unusable SDP error") + } +} diff --git a/internal/vowifi/integration/store.go b/internal/vowifi/integration/store.go index 3626799..9e2f1f7 100644 --- a/internal/vowifi/integration/store.go +++ b/internal/vowifi/integration/store.go @@ -106,6 +106,8 @@ func (projector StateProjector) Save( } runtime := store.VoWiFiRuntime{ DeviceID: state.DeviceID, + ICCID: strings.TrimSpace(state.ICCID), + IMSI: strings.TrimSpace(state.IMSI), Phase: string(state.Phase), DataplaneMode: dataplaneMode(state), SIMReady: state.SIMReady, @@ -125,8 +127,15 @@ func (projector StateProjector) Save( } if projector.Devices != nil { if entry, err := projector.Devices.Get(state.DeviceID); err == nil && entry.Snapshot != nil { - runtime.ICCID = strings.TrimSpace(entry.Snapshot.ICCID) - runtime.IMSI = strings.TrimSpace(entry.Snapshot.IMSI) + // An active VoWiFi session belongs to the identity captured when it + // was established. Do not relabel its phone number with a newly + // selected eSIM profile while teardown is still in progress. + if runtime.ICCID == "" { + runtime.ICCID = strings.TrimSpace(entry.Snapshot.ICCID) + } + if runtime.IMSI == "" { + runtime.IMSI = strings.TrimSpace(entry.Snapshot.IMSI) + } } } if runtime.LocalPhone == "" && runtime.ICCID != "" { diff --git a/internal/vowifi/integration/store_test.go b/internal/vowifi/integration/store_test.go index 26a18de..17fa892 100644 --- a/internal/vowifi/integration/store_test.go +++ b/internal/vowifi/integration/store_test.go @@ -186,6 +186,41 @@ func TestStateProjectorPreservesConcreteDataplaneMode(t *testing.T) { } } +func TestStateProjectorDoesNotAttachOldSessionNumberToNewLiveSIM(t *testing.T) { + database := testStore(t) + if err := database.UpsertDevice(context.Background(), store.Device{ID: "ec20", Name: "EC20"}); err != nil { + t.Fatal(err) + } + projector := StateProjector{ + Store: database, + Devices: staticDeviceReader{ + iccid: "89104100000028106378", + imsi: "310380500712483", + }, + } + if err := projector.Save(context.Background(), vowifi.State{ + DeviceID: "ec20", + ICCID: "89441000400128014257", + IMSI: "234159608751160", + Phase: vowifi.PhaseStopping, + PhoneNumber: "+447386083638", + PhoneNumberSource: vowifi.PhoneSourcePAssociatedURI, + UpdatedAt: time.Now().UTC(), + }); err != nil { + t.Fatal(err) + } + runtime, err := database.VoWiFiRuntime(context.Background(), "ec20") + if err != nil { + t.Fatal(err) + } + if runtime.ICCID != "89441000400128014257" || runtime.IMSI != "234159608751160" { + t.Fatalf("runtime identity = %q/%q", runtime.ICCID, runtime.IMSI) + } + if runtime.LocalPhone != "+447386083638" { + t.Fatalf("runtime phone = %q", runtime.LocalPhone) + } +} + type staticDeviceReader struct { iccid string imsi string diff --git a/internal/vowifi/orchestrator.go b/internal/vowifi/orchestrator.go index 10814f5..2ab939d 100644 --- a/internal/vowifi/orchestrator.go +++ b/internal/vowifi/orchestrator.go @@ -204,6 +204,8 @@ func (orchestrator *Orchestrator) Enable(ctx context.Context) (State, error) { } orchestrator.mutate(func(state *State) { state.Phase = PhaseSIMReady + state.ICCID = strings.TrimSpace(identity.ICCID) + state.IMSI = strings.TrimSpace(identity.IMSI) state.SIMReady = true state.HomeMCC = strings.TrimSpace(identity.HomeMCC) state.HomeMNC = strings.TrimSpace(identity.HomeMNC) @@ -404,6 +406,14 @@ func (orchestrator *Orchestrator) Disable(ctx context.Context) (State, error) { orchestrator.mutate(func(state *State) { state.Phase = PhaseStopping state.Enabled = false + // Stop advertising readiness as soon as disable is accepted. Network + // cleanup is best-effort and can take several seconds, but callers must + // not continue to present the old IMS registration as usable. + state.Active = false + state.TunnelReady = false + state.IMSReady = false + state.SMSReady = false + state.IMSRegistration = "" state.LastReason = "disable_requested" }) if resources != nil && resources.cancel != nil { @@ -546,6 +556,21 @@ func (orchestrator *Orchestrator) HangupCall(ctx context.Context, id string) err return err } +func (orchestrator *Orchestrator) CallMedia(ctx context.Context, id string) (CallMedia, error) { + orchestrator.mu.Lock() + resources := orchestrator.resources + ready := orchestrator.state.IMSReady + orchestrator.mu.Unlock() + if resources == nil || resources.ims == nil || !ready { + return nil, ErrNotRunning + } + controller, ok := resources.ims.(CallMediaController) + if !ok { + return nil, ErrNotRunning + } + return controller.CallMedia(ctx, id) +} + func (orchestrator *Orchestrator) callAction( ctx context.Context, action func(CallController) (Call, error), @@ -684,7 +709,17 @@ func (orchestrator *Orchestrator) cleanup(resources *runtimeResources) []string func (orchestrator *Orchestrator) cleanupCall(call func(context.Context) error) error { ctx, cancel := context.WithTimeout(context.Background(), orchestrator.options.CleanupTimeout) defer cancel() - return call(ctx) + done := make(chan error, 1) + go func() { done <- call(ctx) }() + select { + case err := <-done: + return err + case <-ctx.Done(): + // Providers receive the same deadline and should normally return on it. + // The outer select is a final containment boundary: a defective network + // close must never prevent the following tunnel/radio cleanup. + return ctx.Err() + } } func (orchestrator *Orchestrator) cancelCurrentRuntime() { diff --git a/internal/vowifi/orchestrator_test.go b/internal/vowifi/orchestrator_test.go index 6a41c69..889303b 100644 --- a/internal/vowifi/orchestrator_test.go +++ b/internal/vowifi/orchestrator_test.go @@ -18,6 +18,23 @@ func TestClassifyErrorEAPAuthenticationRejected(t *testing.T) { } } +func TestCleanupCallContainsProviderThatIgnoresContext(t *testing.T) { + orchestrator := &Orchestrator{options: Options{CleanupTimeout: 20 * time.Millisecond}} + release := make(chan struct{}) + defer close(release) + started := time.Now() + err := orchestrator.cleanupCall(func(context.Context) error { + <-release + return nil + }) + if !errors.Is(err, context.DeadlineExceeded) { + t.Fatalf("cleanupCall() error = %v", err) + } + if elapsed := time.Since(started); elapsed > 250*time.Millisecond { + t.Fatalf("cleanupCall() took %v", elapsed) + } +} + type fakeEnvironment struct { mu sync.Mutex diff --git a/internal/vowifi/runtime/manager.go b/internal/vowifi/runtime/manager.go index 6989a5a..38878fa 100644 --- a/internal/vowifi/runtime/manager.go +++ b/internal/vowifi/runtime/manager.go @@ -320,6 +320,19 @@ func (manager *Manager) HangupCall(ctx context.Context, deviceID, id string) err return item.orchestrator.HangupCall(ctx, id) } +func (manager *Manager) CallMedia(ctx context.Context, deviceID, id string) (vowifi.CallMedia, error) { + if err := manager.Ensure(ctx, deviceID); err != nil { + return nil, err + } + manager.mu.Lock() + item := manager.entries[deviceID] + manager.mu.Unlock() + if item == nil { + return nil, ErrNotRegistered + } + return item.orchestrator.CallMedia(ctx, id) +} + func (manager *Manager) startOperation( deviceID string, coalesceReconnect bool, diff --git a/internal/vowifi/types.go b/internal/vowifi/types.go index 3e69376..52a1ab4 100644 --- a/internal/vowifi/types.go +++ b/internal/vowifi/types.go @@ -83,6 +83,8 @@ type SecurityAudit struct { // exists. Neither is proof of IMS registration. type State struct { DeviceID string `json:"device_id"` + ICCID string `json:"iccid,omitempty"` + IMSI string `json:"imsi,omitempty"` Phase Phase `json:"phase"` Enabled bool `json:"enabled"` Active bool `json:"active"` @@ -365,21 +367,23 @@ type SMSSender interface { SendSMS(context.Context, SMSSubmitRequest) (SMSSubmitResult, error) } -// Call describes one signalling-only IMS call. VoCat intentionally does not -// open, capture, or relay an RTP media stream for extension call tests. +// Call describes one IMS call and reports whether an RTP media stream is +// available to an authenticated extension. type Call struct { - ID string `json:"id"` - Number string `json:"number"` - Direction string `json:"direction"` - State string `json:"state"` - StartedAt time.Time `json:"started_at"` - SIPCode int `json:"sip_code,omitempty"` - Reason string `json:"reason,omitempty"` - EndedAt *time.Time `json:"ended_at,omitempty"` + ID string `json:"id"` + Number string `json:"number"` + Direction string `json:"direction"` + State string `json:"state"` + StartedAt time.Time `json:"started_at"` + SIPCode int `json:"sip_code,omitempty"` + Reason string `json:"reason,omitempty"` + MediaReady bool `json:"media_ready,omitempty"` + Codec string `json:"codec,omitempty"` + EndedAt *time.Time `json:"ended_at,omitempty"` } -// CallController is an optional capability of an IMS session. Implementations -// manage SIP signalling only; audio handling is explicitly outside this API. +// CallController is an optional capability of an IMS session. Media remains a +// separate optional interface so call signalling does not depend on a codec. type CallController interface { Calls() []Call DialCall(context.Context, string) (Call, error) @@ -387,6 +391,20 @@ type CallController interface { HangupCall(context.Context, string) error } +// CallMedia is a narrow, codec-independent bridge between an IMS RTP stream +// and a trusted local extension. Samples are signed 16-bit mono PCM at 8 kHz. +type CallMedia interface { + Codec() string + ReadPCM(context.Context) ([]int16, error) + WritePCM([]int16) error +} + +// CallMediaController is optional so signalling-only IMS implementations stay +// compatible. Media is only exposed for a specific active call. +type CallMediaController interface { + CallMedia(context.Context, string) (CallMedia, error) +} + // PhoneStore persists a number only after it was explicitly associated by IMS. type PhoneStore interface { SaveAssociatedNumber(context.Context, PhoneRecord) error diff --git a/scripts/install.sh b/scripts/install.sh index 31d49f5..25d6cc4 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -234,7 +234,7 @@ ProtectControlGroups=true # The web/CLI self-updater verifies a release in this directory and atomically # renames it over the running binary. Keep the rest of the host read-only. ReadWritePaths=/opt/vocat/data /opt/vocat/bin -RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK +RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK AF_PACKET RestrictRealtime=true LockPersonality=true MemoryDenyWriteExecute=true diff --git a/scripts/update-carriers.py b/scripts/update-carriers.py new file mode 100644 index 0000000..33ca713 --- /dev/null +++ b/scripts/update-carriers.py @@ -0,0 +1,169 @@ +#!/usr/bin/env python3 +"""Refresh VoCat's offline PLMN name table from Android's carrier database. + +The AOSP carrier ID table is maintained for Android's own carrier recognition. +Only unconstrained MCC/MNC records are used here: MVNO matches that also require +an SPN, IMSI prefix, GID or ICCID prefix must not rename the serving MNO. +""" + +from __future__ import annotations + +import base64 +import json +import re +import urllib.request +from pathlib import Path + + +ROOT = Path(__file__).resolve().parents[1] +FRONTEND_TABLE = ROOT / "web" / "src" / "lib" / "mccmnc.json" +BACKEND_TABLE = ROOT / "internal" / "device" / "mccmnc.json" +SOURCE_URL = ( + "https://android.googlesource.com/platform/packages/providers/" + "TelephonyProvider/+/master/assets/latest_carrier_id/" + "carrier_list.textpb?format=TEXT" +) + +# PLMNs for which modem firmware and older public tables commonly expose stale +# or blank names. These are kept as small, explicit corrections on top of the +# global AOSP dataset. +MANUAL_CARRIERS = { + "46000": "China Mobile", + "46002": "China Mobile", + "46004": "China Mobile", + "46007": "China Mobile", + "46008": "China Mobile", + "46020": "China Mobile", + "46001": "China Unicom", + "46006": "China Unicom", + "46009": "China Unicom", + "46010": "China Unicom", + "46003": "China Telecom", + "46005": "China Telecom", + "46011": "China Telecom", + "46012": "China Telecom", + "46015": "China Broadnet", +} + +# Some territories share an MCC. Keep the PLMN-level ISO assignment where an +# MCC-only fallback cannot distinguish them. +ISO_OVERRIDES = { + "36251": "an", + "36269": "cw", + "36291": "an", + "64700": "re", + "64702": "re", + "64703": "re", + "64704": "re", +} + + +def braced_blocks(text: str, marker: str) -> list[str]: + result: list[str] = [] + offset = 0 + while True: + start = text.find(marker, offset) + if start < 0: + return result + brace = text.find("{", start + len(marker)) + if brace < 0: + return result + depth = 0 + quoted = False + escaped = False + for index in range(brace, len(text)): + char = text[index] + if quoted: + if escaped: + escaped = False + elif char == "\\": + escaped = True + elif char == '"': + quoted = False + continue + if char == '"': + quoted = True + elif char == "{": + depth += 1 + elif char == "}": + depth -= 1 + if depth == 0: + result.append(text[brace + 1 : index]) + offset = index + 1 + break + else: + raise ValueError(f"unterminated {marker} block") + + +def textproto_string(block: str, field: str) -> str: + match = re.search(rf"^\s*{re.escape(field)}:\s*(\"(?:\\.|[^\"\\])*\")", block, re.M) + return json.loads(match.group(1)) if match else "" + + +def aosp_carriers(text: str) -> dict[str, str]: + carriers: dict[str, str] = {} + for carrier in braced_blocks(text, "carrier_id"): + name = textproto_string(carrier, "carrier_name").strip() + if not name: + continue + attributes = braced_blocks(carrier, "carrier_attribute") + for attribute in attributes: + fields = set(re.findall(r"^\s*([a-zA-Z0-9_]+)\s*:", attribute, re.M)) + if fields - {"mccmnc_tuple"}: + continue + for plmn in re.findall(r'^\s*mccmnc_tuple:\s*"(\d{5,6})"', attribute, re.M): + carriers.setdefault(plmn, name) + + # A few legacy entries put MCC/MNC directly in carrier_id. Remove the + # nested attributes before checking so constrained MVNO tuples do not + # leak into the generic map. + direct = carrier + for attribute in attributes: + direct = direct.replace("carrier_attribute {" + attribute + "}", "") + for plmn in re.findall(r'^\s*mccmnc_tuple:\s*"(\d{5,6})"', direct, re.M): + carriers.setdefault(plmn, name) + return carriers + + +def main() -> None: + with urllib.request.urlopen(SOURCE_URL, timeout=30) as response: + source = base64.b64decode(response.read()).decode("utf-8") + names = aosp_carriers(source) + table = json.loads(FRONTEND_TABLE.read_text(encoding="utf-8")) + countries: dict[str, str] = table["i"] + countries.update({str(mcc): "us" for mcc in range(310, 317)}) + countries.update({"406": "in", "461": "cn"}) + carriers: dict[str, list[str]] = table["c"] + for plmn, name in names.items(): + previous = carriers.get(plmn) + iso = previous[1] if previous and len(previous) > 1 else countries.get(plmn[:3], "") + if plmn[:3] in {str(mcc) for mcc in range(310, 317)}: + iso = "us" + iso = ISO_OVERRIDES.get(plmn, iso) + carriers[plmn] = [name, iso] + for plmn, name in MANUAL_CARRIERS.items(): + carriers[plmn] = [name, countries.get(plmn[:3], "")] + + version_match = re.search(r"^version:\s*(\d+)", source, re.M) + output = { + "c": dict(sorted(carriers.items())), + "i": dict(sorted(countries.items())), + "t": sorted(set(table["t"])), + "meta": { + "source": "Android Open Source Project carrier_list.textpb", + "source_url": SOURCE_URL.removesuffix("?format=TEXT"), + "aosp_version": version_match.group(1) if version_match else "unknown", + "aosp_generic_records": len(names), + }, + } + encoded = json.dumps(output, ensure_ascii=False, separators=(",", ":")) + "\n" + FRONTEND_TABLE.write_text(encoded, encoding="utf-8", newline="\n") + BACKEND_TABLE.write_text(encoded, encoding="utf-8", newline="\n") + print( + f"updated {len(carriers)} PLMN records " + f"({len(names)} generic AOSP records, version {output['meta']['aosp_version']})" + ) + + +if __name__ == "__main__": + main() diff --git a/web/public/410.png b/web/public/410.png new file mode 100644 index 0000000000000000000000000000000000000000..b171bab019d335b00b5c6708509f5b88d190547a GIT binary patch literal 1262985 zcmeEu1$0zNw{8pw5F%*s#vx78r@fmHpxxaYZFldqVM&0XgS!(fxVr^+clW^wP9Vsu zPQnZ`|NQsf_tt&uzPA>$ChMfmsZ+K0S9^bZ*FHr?3i*sWwVKq5iHWJhVp7F1F$v(; z>M@Dc!R2v5m*p`ro>@8#SsA@ra~)c6y9K!FbttzcCM_m4FD7Pr3}KchzTyVxm0Q(| zQQ6D!*Iv0^XP0QtE_xl2fYEC)nK->cmx)1R@R>w32APRM8F45B9)-mjjbN@;qN?FK zRSu`|{mZ0T8lTVL^;=v{A9$hW*{T<^qc8M0o`l*liaBR#?TkzB22(8cqH||ibS@|8 z8k4R=`OMYs&GKMp+8T_J>}Fqnm7oCk8)=PtZH&dCF&PlPfC(OQ*rOu{wHCd$E4Tp* zTJ(N%PHQ|8*BWLvSWISrRU=?A1j(*YPHPAT!NB9_PivUbVz=kCcDkH~)-W)Z)0flQ z?DxC7AP~V|Fe`}8a(PV%6a+!h*;;q2)zz)>n_>E#);ugk$iicYFfAp5LkKu2L=Ny z2}i*YaG(v;2lE2M!VrPDQG+3%vT#6q3=sl`1IC5GeI$yDL1MG8Q3C|sAq;pOi30bd ziwZ0W8I_Nag@wTIf3$%?Ms1?9KQ}5z6jd}5h=G!$@OXe4j`HI+3Xjb~0%JfU30XKS zkP45^f*^o43W$LRwuDD!5zu%p8Y~tL11t`W&H{!4#K3?n5F5OQ#sU;E;EDnLQDBv# zr~|EuVA?9JnN=vLd1x#?I$)L6VYrnZ0VYIavM@xX98CZwPr!12^s88AG^#=m&=*$q zTwc}xkA9U_j8XGYxC)#B0K_aD5luniuvsVw00ZgPpb795fD^EFfFd^f5`+S)4cY)cBnk{xu_|aT8r+8fEkw~LqVW_|)X#y#RxBCcVg~=iS1*7&rjIJZF zPE>Tgfj~qeQI5s}Zvx;|-HzfAbs`i7@D&Pp0S*nE4agCd2N*LNfQ%&~xo9+CAh5a^ zFfF(T@QGR{Fb7~Z5E6h3I06%;MX=gPaE)3y5%;4FRu@779Ep|vQCz@rKswM3NDT}E zXaV5Gfo_1o@PKuZL}0z>C~X1)1jGDIYXC!q(_t&kk%9tbjE~Na1;YXwjT$QwP)db# zc(BR<6k@aud<-BAqz67n1Z_Z|xTx@Ga2qHCOc?wCVSzD#MgF4=Tnr6Jys~?hWrOa3 zs0dh`90Lpsi6K&c!~hH+G7vt1a$pTnDBwb1?W>d}5&?!F77)-xE*KI#2bchcz(Ob> z1`>D*&*~)4Lk-NC7wUpQ9>iiE7iqTT~TUYr9wd93jL52Y}6#9 z@S>2w1;Oe80wy4%CI}{u;sqEGEKvn+fDwUb09TI^an=1O5Yga^0iFX`u)<}D$Y>k5 zO4P)GKv0y>fX$+#(HYDO$cl@JT2C~w0ILp+3j-V!1ZdE%T3tX-crZ*w8^nVsp7?0U zkM_r6xflWn9}rLjhz-cQLJdNcxIq{sfc{uO;MnLo0cHU)q-q`iP+R>YNz&RiI$LW5 z$bq7{P&bg5#ty1V=tvbApw{L6IRmUr=rp>D^e-!b`Xj9yJ4`4pU3o6EmWd@N&%-|j z17UUGgu-i_3%vnGjJ5L0u~TS37(zqd%ze z8b~IC(_f@_Y8)W-bNe$Z5=B$M;PrtVR0kN?qqmqWevMt?%Ju3D(y-eQqE{t+xsy53fwF`y?&cJ(~8suzDj!bL7~r>X?}NyDC<}?9%z%a*f?r5U%Ctu~b+L^PVoWWYxI`K1&xPQy}=$zm%Z#IPt$cz#4D6Un?b z1cAsysvT&S(QFd(tfVmCO2Y7{x*$)=!}20@4Uff8fgd@KW(!h8Dmo{Kp_0rlI*BBb zp)oA942hMZsDcoNBqFk@%8=fmHB-zs8l7q*(r8AV9Rm+on0~%4WYR|r%3L=`<{_C$ zT(>deraCD+f=NN*8L%`aLmV-YNGfWC735h}K>?M7=22-8fs_|gct~Ofi4f*dStuUW z6yj4!Azs85;n6*2mX&1UkueO4#K!<4(a8}KnQRhO^`}Mq2L;lq{&LViLNfEngunDB znM4vYnaU&Uj5?#8Z>0;7PJ;vQcZoSp9ti?{Jq!s;i>8WbWJ*v*B4Gg3B8pmy(#w20 z0}dYXp>PZ`Nk_0@!aSYPk8!BIObXS_3jAVN0BPoR5wU7+H{(tG2VuUKf|` zr0bOuzY{WuP(-?k>yo>29WskT#SLO*TC5bwW~w77n%PIfNa1*v5Yp;(?uZ>F)q5C0 zEXm?$2uTJGM;esb@m4#V>I;jg+#sI<7X`#*3j!rYN`;Uaf;3pjiLlWXo?L_oZ`UEo z0g6Q*QeatVj0iGtf+Q3|kD^*a;*gTc0*ZMU1c{2Gb%|+Q0b3PfcsyDj4kc!iT^1{i zBbAc57(B%uW}^%eqr}2ActjSgPJk8=BDqYXL&Z~4L>LX+jpVU~e3^;~jL<@55-l#0 ziSP9yyjBlf8^V$VDx=7xH@oR%y5FId8VGWmjUFVcsPHgaPElim9yuhnM1nkYh=EqC zq#T}{!VDV`Du$R!aKm#cax2c^^hY=j2G53fE1tnHmg-w!>G8!ouRLPKh9@oJS zXeGcX?PM~GW~TxRmGC5_s1G1{VpEWAQc>k15r;}5N@Y;c1gs#eV-UkCrP!@SVM3G$ ziA^@~dm)%U#iXQ9t|h9^Dm`N@-jk$;ODvLpJj$ zayc(Vlahp$V-DW)BI2oPgLNaa!$uCstw9Y1J+Yhw0WBIG$XGIbgSG zkQ$8CO{L*XL7$kOE2p5zI*Tlq;1n3-BBNPBBB7-$idv?%LXwbIVDvl18aUtYb=t`; z8ynK0=^l}TgmYUUp~2)v85lYuP9^ZMEI7E<8nzjkT9d$RvNOFRwp@Y4aIA1I&k~UP z*(69U5SVdr0+Rv>ASwr;blQ|ur@`x#FJ;Z}(4s!&rI2Q8)2C2otDhL8vqJU<&7)O&nfhSrB;StKHiNX$h+KD$~# z777_`FNx-~5XEc=<+p?!CJ%?BWiiS2h+B;GQ7~M$mM;lXd@el!r?YG6PD(D9W27_L zxqJaj&ItMVF0_d%i10`{iIU^h$jG^%n?GcxNdS!=~zgB4$uU-M5za>#p6}{ zkdvt*I0@`r5(@28D5L>qkcagIBRCo>Y!nIMSRt3jiqHsDkd)i`90X6PwNuOrA4-As znt4p2k`T}#Fl;o>Ok`kfJ~$N^x=tMcg({IU6lHl5iD5OVbU~9!6r_SsAs0hZl8A{Q zlUP9#m1KgZ&67{`uSF%hBMM+w>FLW@=A3wnimgo2@AhL9$>oE>6VaY2-Z2sz1U1TE;W z2z5aTQe;%~aAG5g67VBENG!*rc4BlWoPwhBQ8FXh;UpY*XSQVnzgS7O@;I z1~1IU;z(h&SC&i1BSHchq(LY`kw8F2;ybBUq@0LF>DA$&l+7cu6mF)BgAuzpBpyNT z;&OcwtT7mNy6i?LkqUQW{9YwVY|yibA_js+=ZI}`C!NY6`NRsi(8P8t&1jldXtSxj z_OQi+!f3g4pM*hlxfBcmN8rn)x+nq>NvQOzLUgVco@@1ZTwHHZ2I0emuv>^?Na!ZB z7_0Dyghot2CL^$j1|J3G_M&KV<|yhc4$AmfK*GN(2~&{J$Ww@IuaQWYpCL1Ly6ct$lr5QLMQ zVkJp|#0NcOnTah@BJnaML2Qn|4R|L?DhZL<9I?rZ6Gm`w0fwk#P{T9_(MHxGaD0o{ zY89*aF0B!%!=czZg;ZhGM}mNb=|W#niwR@N1{+vQze{M0-J0Jg=PqS#ybQ1JO^2 zFqBB1RxG#36%?t@oEz2&wNfktuk`EbGNj00RG4{0WRQZgIQ4#|%Evbmah4FBX%!%? z7>>Zp=i4+PEt#IH_2{r3d6>*cp>ioqgN>(mhHF95bkb?6N;|Q@6-@@|UtOsp?W9Hf znWz+U2p3H|r5dckAPed_GKnOjp+cOX6_3*?(PWid{BP1urY@+LlKIgvM3(pjq##QJ zLM5;-jfLZRnuo9HkOs9vnLWxdkWsALj9En8!XE^`^|CEx_psJKKsPNFNJPIwy41#bT zRFTOd8Iwn%QKG?`#+NA(px_5ZR8EdS$kYi!QiKxvHxvN!My3N5$qi`Ka9*wos}89` z7BpVWRB2FLGgc{KQbRO2JcOeOP(&X_8)SHGOokt&jHp$Z2$$(#`q4B!*f)u}A(Y){ zmD2fYhnvBpk(m}MmM-&>&}uiI>l21-LP;1a3_5)}kqY5QNDX)<*)kddF@mQL}YL$v@1Tz!~sX13^I|^ z?qguFb_PA5qA20iu#6I7@*N_wNI+q@?IInVj$pIY9x{%raS?SkB+}uQD7hAp|Fh{< z9aV#}GB9d6$r7+p?0h{|(OMj_4^?mfwnUD$EiiTS`I6y$m(N zqr&LWZh;RT6mbzwE>>yF)i^*-Ps33NR3kM=LyF-M8`!RhFghEL0Ws7k zh3EKePM_Dr67%_Nn#btZfb$rHoP9G-$k=c#Z^f)fWP@)-`T$wJcUu@)ye*H5GH z%seTIt3<2AYy=gA4=vY8)f)v$tyRU78F`9;!369|!a`_-0tn~SYY_;C)kI-{kZWY% z92Ay?WfbMI;Z7IMWf6;VH7o~TB>~<>3|mbyES{+68)Q0>OUOWL0tP%mfOg`9dRc&D z#1Dk*?O235HsQb_AYu@F>!kg8^fuvjYEOh?-|AtXN}V0p|=9L|7YgtbUHRvom7 zAX~1KBw*rDEW1SL_85^Ug@6=6$>~g$1Z+DAY`)&2Q$ZfcBy~6pevOcaR;f`a2HE7c z+akJ<*uk?=QNDoPNYdL}JT(amh+W`>&}8xj^f;*~G4Z!!320A`VO_ zz=PXeXl$;M#r4SmH83@5v{z=fQsFG7#b9x2b#A6vrpG%RR-@1d1^5iLm1VNY__;ob z*(xUxXcSVAMj~nW7#>p<I zsIC6Y^K_7M0)Hcc*cVMXWi%?4#37qZKgusuij<_UOan1Ax=AEMX>);Z8a+sNl$g)aX`D3<)b!SrHY~%1D2==c=*;*jiG;em)f<_z`+Y%9IiDGCV>< zh+r8gtDj+o*k-iO$73RdZUazIYV`ToXqS_#6(Fb(Ri}@HBuriyY`(m1om3?j8A;v< z-7kw^gJM~jEMs}(B1mXLsx1PJ(8g7O{90pHdaY)cA`J)xVYkXbW{BBh zgHjNV$h;!A8l=byGLw!nhd6SAjYl%D89o^msWeN&5n6!5m&lbypEjsRuyk%3U4Y=3 zlv0G;sKdK$6r~CYw^Q^KV~8(yOCc`D&yzSTC?(veKq=*6sl$WuS&cSX*hFQA*tCAlzmYvNTeP)ay2y(LTG+9yBXG zJQtSj%|*)va-@_GC(%7@yUK^wYs_Yv3uMqlA_$EHkI56#!{sJ9Tw!>I5g8N zF>x6T3)A9M(d=vt({9y;i5wA$Vb=!82sg#AQj5eYslp#|FvWBuL=GT@Jf%S%W(!Pg zh0nmFX&p?TgF&{y)o`hnDpO0b1TBTf(`rZtiY4I2=7t^0Tqj*25?ClKubkv0vP=}L zUF5}T7!j7+YLp<{N}@ZUMll3z8J}$mFgSLN94K07|D`e|jsU-QYC&&5b=vD=N&+=!`~~L*ujB zADu}F(`Y{=mVZ8&FY>J$y0P!kiN802!JNOX$HB8MZ=O-ePS?3LdS+CX%KzeHUbSoYVtv{Ho6l{~$t%nB2Jjgv3)Gywrf3!24+{F4T)#Oh zI%Hq3&j>zdfX_`9pT*<^^=z*p#QRB(iir`q|2rpHDrNm+IB(V0hQ5DlGxWb--^vj) zevsR{E$-N%d98kQ@0X-Lw>l5XI$>hZFK_@s1+gbQrZ0i&RV zBp8cAf{CMFkWpAdQkpmbPl$>8F8OJb=jDr z8$P}1N#5)xdo~V6r%{(nAv}F+jjuDq)Y?9UY+<}EZ9wz7H&-eVzeiTzT0DJ!y-9rL zD|OkO0gEPbF50&r+gB~)$i&^b7bcrFDe5e@&U8Rf=gTt980$I7=9p0PJ~YZ){=|jx zd9T;>JiGqcx6zGD8*aahuQ_FfK6A#=;WNvc?a4axNS8OY$;|M4{3P5$>`~^?&eL_( zo=|6DTddrcxKv_qKHKa&QmX~=M0M8NxcJzZ*o6hLCV+?zN&-+euNNEpJs}Q?saWjh zZ4$te=G79BQNi0KfTL_b#)(h(Xj0RjLIG~3F$FA^taH8#JV+2kWUl11?Q$UzzH?&-Uk7@e)(~Bnl?H8By zY=M1mvNt&mH(Gj}eE;Q~SAP50l#Wl!jOn+?l$^3^q50+(9UG5awdv*HFYi(3#%%5T z$e!nX)^otLp3tLuDOu#L@rT?qzkP$%T#2P$oS!&`Ma$d2ePT=5;RJPqIj(chu7qbz z?Xr_vcRZ$A1I)m8q{ZlIh%CEET+5NeTHE0G;X-9vjT1Ls&dqvqs0MK>x)B_>D_wu4SCeW(2bz0hdvewt zv@jcntN(5uJO6-YdKYe4N!#$lCFVP&jlW(Re<>@Il%&s1mG_-AdGmtVqvD!$-CXk6 z@%A9)QJ}NA(V{oMA0ItpO2fx#{TpO>+vca{v^u17All_EoY8Z6r^R0xPw#%TJxnO? zDQxe6FDU4Ze1B70JOCAcgL`;!XD=koQ%tH}aPRTz4NDUTuTf!Er+P~>=By5_yoY`+ z*>rTqxsJsd_yznGUrr2C&g$Tx-QAc`V|K!>YLH?9G7FY<^xlzF>GcH@8wz%}#ZLc* zsAjp*bSv-vts00XkL~aGj=FdLn>TpAUNQWFV%qAY+SP|&iAjjvJ!x~@k*ewvsGzz4 zDoDUrQgQtbaNUs;&3T!#hKjuQceDGTM5}N8&2k_CvOVyc3Oa877djS803Ewrei)$T z|6NW7Cp-Wr6Oec`1UMNSmjSJ+=6@^y7sUN5EyqP^IS$Y=aEaqxHlEx%`*_1n@~z>e zEy`>kK3y5--M?gdy(X*TGf3AoEwUJi;$1ELqTRg{o<|Bcmy~}_dE8;~=*Qo*ZscF?cZ59y$(XwmFGlN_HPV%W;ihEDe01GeTiozitiuvPyn z8`;mUojjaa>r%qeqFbw{ZP+ZDdTrvY{p)uK4}9Cah#NnpcjiQ^K>P4c#z)Kirn3_+ zZkrTy?d*;|$%)B=#6z{$eCotKb2Q=kv$yL#!v28{<_VvKBen*yS57Xtd-;5)N9;qx zrK-03OzRyrYGSW%Kb5|fzW7e<(bw)Soo7AOui?4Wx(7b)z17$kmfdl0EPZ<7@V7v- zk$ht<%ZSX>7yIc&84m`Jxlnhuf}W{N*IqnU{CQB>zN;E*!{gZA^CvA_Zzx8*D4qW3 z%b@Mdcgq)ezD!y(_~}x9x^IN#BDv(#(22tYsmG-oa=Mh=>|{s_AEV5jx^=j6YOB(- z6Z-!MOYJKHc-<%`SA?ZRs5+o#U?6|x>DcQ3XA$5Zqgpi8_{Sga zXXqxq@+qG0p0sx0{{B$tN5}#3&<L8TIbWsB32eU#|$Ce@)dY zqRJ`U=WeAbQ*oJN*QCje-}?`ahu4X*$=@Ge)nZph{;I`G&hQp?t3T<%q_iZ<#Rp@G zoxkIyi4E_yoBiBi?AR5ZQ`BT;(TD!3M zPb~11WE9l(oPY44-91q&$E60hA4q<4u?IF9+oxoE(#7OpxK)1S)QgYJn$H@$dHpD| ze9kxnUhW&oNq;u+^!qjYI#lCrov;AkZpQCl^KQJ` zc^Kb+_r};vlkyef(f$piJrAkz5oq(`^|{@8wi%RtUb>{qw!2p_owgI&Hdc+#eu;H_fYr;dBMA-$J<`E_i5X|%dTb0?DRCthS}rJ zx&7ZqJKOKrzk+sHQf=yN#->B`6@A`+88N!Cc_B9C;Q;Ft!=@F_wte5e_0B9dWBsY; z4G<&a1~z!PW_A+qz|m8&?@>A9KDNiy{?>YQarQY&V7L{ps}m!kAe#77ygmm z*NB^6P(KK6`Ql<@ktxwY)31;jYlu&X1NkzPUs%0%)jptRYHY&%U_vew?fE0C+5>?E z4EeXW5@3|!o5wysXIZz*AiXhZj`nGB(jst{WciAV!_IWwGGYG8xWtr&JC3+B8#GIA z7(K!U5g;NGoO?z^&!rN<>0mV!pBEb&mzXn__DNT;edzpxR3nIyAHbHSPgR`MT&H(L zjT-YCyZV+r-}>E;vv>Dw`Fot~|JSWV)ixwCDUL!yHiYU&BWR7JIueZ&M)!iMfdw3M z`;Yb;Nl>lmE47p2r4kad1=K9sice}#wfg`!VJx37*WxsR`1@m@1A&N&!J%-`n2Lw+ zK+(!3l>2{ExT?Kad{W9!!f_26fMRUX&oEW)ipE8EMWev3C_m=uv4g87e|`0}!@R?x zrJ96e-;+COGRhZ>IN7(jXxg0Qk%-X~jrL z5#IizL)Gc5&JPH_CjG=)xi1gB-Lm=0P3y8#u=-KXxF{4m^zSl9vt_^S_3|W z_4saPIwpAsvBnzHu8mV#9En@Mi)K3MjU6$$uZ&Z@^Qtv37Qbt|CK%ss$SA#N+=MYn z#HpOMIjcV>%vjJZeN4`)-HmVyvfk@9RffM16!_bY?C+bC=w7>dyXa;mYL-=-vG~NF z_Be|=NDGQa<@L`wSa`C#`|7?SGen`kZ0z3Df3@~-BWX?>%CH;9d}q9QIa`Z=wvCES z3NQ&+d0PRgq-5vx^{BeA)Zbt;nAp0419bVIrQN!3UfkwW2D958(VUjF9-+NEhVUl| zkIw2a)qIdl8{=fW#WpYCmWt^51ws>I*jCr7?}$r!!-`19{$2GzeyzcS(X*;`vY zz|g;I&V|Yb5{UQ3FPio>KK7Nwc(WfAuNYg{G-DyY)u-&+{d-BTa1UEEID=19{Qaus z`4%2M8(cGd+1E|$hFYC_Mr53txnSmsqPYdk8cFzraXQho>*4{f7N(e^AlhWb0?&?pa6ppLDVx!{1-sh*ASHIhsP3;_j@9`bmQ03T!MI%S>O3thgxmx z)}=G7u>#7qj@5ID&eS~H@bY|9dy>Oc7Vi#hZP#A@X+rxB`#CI7tQiED&sfEL3BM&A zJ9M!2!E24z?tINpo3i-n&c=URHYoIelU$mDopA;8)%}TFsiK0*jrLs=-rcdmh_|O;UMwpz zBr>n#3sFPHo~Xs1U-A}XpIqS+wyTWqE8W)Ka4QUG7mH74DSjh z=Oo7QMK|fodG`+XsYhDy__xEo z8)f!5e`|EtlJrYG>XT+1pWMCkz!;nO%iLqaEj1am26wBqk$qk#a7m|6c{gx-nfY$( zW|14CCQwE<*ql|DvQFD<{_bOK$7Yr8S#*~7cx!j$>GnAXV}wuNTx|=}zqsg|o8=BI zza{Tl?bC(4qQ|S&d?+to*z34?1@$@udJIoqgeroBn=pZRu~ls3%*N_y&$Eda}z=u(O?EXd+~J(V&w4`a@yp zzmoaat02LD%Ygq#a6hN=%6&cNcVz_N#lJg?CrlkX^~jd15B}y#6$$mk=lEW??9cSq zRxe1a33*rF@Fu>`-kB1~xpe3*;=>U1z{f2WJ<|Ey8Ov=KW?Zd5`nv5Bx9r#%75e;w z`Gj6=Mo`<955N0iQuPiy7rfy1HTC|EU4cCJynot-9u&M_-_WMBx9g9jtSxFjXeO@g z?wNuOLdyC(vR!$TkEq0aw*OY|!!+frEuW#~**6$FFJ^V#Mo8Cn4y(7^lk-yRWv z`nCC+FXn=J%dNI?(Lgg1rzr|QQ# zRwVi6b*!G95Ii&Og^MOwhtBFte>P9svi-0%N-k3Za7`0kY` zc6f`#T^BaNvG(ez6BlLMtaG-1Ey=DiJFqY5Vmfg!>)QRv&AJH_t(Up?Mr!7iK0AGI ze-EcSLI4c>J7C~bRSaBDm~9_9=2hExbmws&1!Kzx7CdkIH?#SFhJmr_zcDaY{XZz% ze^&hYF!9N``rB8{z1w7EZn3=SmF4R;SSR+K8h$@94=fb1>{M2L1rnKzK%h2EF11}q4kOn2pL-ge*P ze0;9yx+RIY2R2msw_tIfS-o!FM2_ci9dV(Y*brN3)h-ZUIZX4YiQK>1(QDmrmrf;58Grr5$cTH*@9@kg>WDv7XP57o3 zqlPq1c+;~%*UqW&YbF%UA#D+x&(=w6(s<9>l52u~yIyu${$luVo?act{5E1?yZSoX zm1((LqJN7ojt8FFM@o9@l#HR<`X=(2QEhGg}QVb_;@o;LUS(2?G^kse1I zZXTv&^nBe`LoDLnx^k$v^_#hSdU87-ucUt?r2hx{kNuaz&!6@DeHBPcBHWRrJh5ZFS)dP>yq9{y;;Y%F6eYJbIw-fr&mKq=5#G{U9`5`m{BB~_{x+& zqt7O3Qu$1J-u*aHjHDzve(wmytgZ)-n!m&(u&3>&p?6n zE|cb*T5gK3Lu`_j=fCZEHK<+y@#LwHG@6iOe|V?cOT=}(6xSzhx0bf~Y^#lVUB{$9 zyEgk0d)Y;)p{MPva!?6t__Jr6z7vzOCtsdf_+f$S6yp_P<^HvU-u-J z-A%SkD~n4{>ewi|!}ryTQs;g&9H0O0>9$>yPf_npUssE1ekohlYH`1D-;P}xc(#8b zY)y#RjVqTVPWXRhL zU^bYL%ug|mg!R`Z?mgN^_WDEhL!vecSLyKG^+F*KoJEYmMK8pE_3gm9|IPZp@JQ zoRq8W(QVEsgG;s|3*yay>Ghz<0p(AE{wH(QxcdLD#_>~$W`03zJE+MY^_-gV$U1*1 z*+7UtpCuq$C&1dI&zaBNoDGX_sv8?D8@1#1$*k#@hL4}RoKbQq<#GKwQ2xcA28cr- z^AAG#`=Ij;!T4H~>? z;Qynz{q#vYp&&LdmvE+e^#}J)Y^hfx{&L$5s^;Z$(8m1i@T1?SEb6|XZ`v*m;=;a{ zuUdY8;eJ1UR)d7vPsS~l*3W*>FT^>5`!IILia}=t%Pp^x=UYl5ho6nn;);{le@FZIPN{!xLuyluDQu^o> z+AS3EzJdX3-Y1&YwH$PDlBHeQK-2ZwoA}{7&=9r)M;}#P9#fWJ6QoSJhcU4;a zDSP#ViayASLT8m|3)(=@GZoP<%oX~@CDctwJyGrOjX@G!{ja8o^TmR?OaGQsg7XXc zF*5`v>AJ()%d>Hh`}Oc0B^){2a?8jWE8RmD4L~$O)=M4hZpvy~*QPnP+bwI_cT`L| zoFUmoSRBU?l$n|Rv)rQwK2L1qIU~m{DP+Wst;r5X*7hzP@LSW&8O*}%wcC4o_lBF! zKES~DxF{xKug6(N8H0h)$|HOkMLt0)bj*GXg`FwxH@2?-kPal}ryl?`k;ni8Z(gqVr z?rM48j^~n1V=@%fd#B^^2OL*5s4>!3Zw7y;PVL_5^PMTESpfbm!M?D*%_VgPrdp{^|7fjZ&Zt^b2C;fDg30j$+z;yA9$M7nc8zoZFjGc zoSm~DO(B)ZW9poTwU;_`>K@uKZ?j)rcHK5tXdXYO*$wsh>B-ARQ*IT^ncMhuq~Ei| z(Q9Un>(sLO*5tyPj8$>6o_%VKdwOEjdq>+kjR}t<<$L#?c@YnP|7e2yQDobNCWZ5+ z)x*>^`|iw3L-kv8Xt|&MY7=C9^DOdec^)-HnRjf3_Vu|fT%>qOTk6*~mr&=zd#|nR zY<&KB#6-%_G=!t`lu7wrUyocF+hOzt)_I%ukU68{k|WI;`xZC1*DiQszp%E}vF2}= zwzI4DZCyXFzSoJl*Pvs$8I~?b4xmfUv$1_!54iWe|G-^T}mY@ zrk1}L;+Y-jI&Ysd-tkZXUAG_a~b7J_}Z4*xqxp1JDvAo5qYOgDk=KSGM{?NY_jepL7|M7!o%AW*OEg=qk z@%e{}O3j~Y%KyZ=e@)A4UaPIpT`-ZPx^6o`(-wj*VoV=A@ zkcU2K?!2S!!!M}0Bm2%f^KIT}Td#yZ{&~Wtud8)x++eowSlj`5Sy|1+pKlT= zqc2GIHUnEfXJ2*-8(YF^JTfZD~ zjoDW1NzS?c=5DwTpPq*@%GZ5eF5cq|_F9d!e@C$)o2>e3e z7XrT!_=UhP1b!j#3xQt<{6gRt0>2RWg~0z;2z*e*#;9%{S9bV}D|)`+x29ZYDMVjp z#fc{!Ti!b{e{YjEiwC-PbxnL;T=&`M{hUNE&Re>Ca!UTB-sees#G`v}w~aaWT`_O# z-A5yyk2sXIj8lL1p?B9l^~SVYvGVSPeRa`x@k|>v_=m zsQ|rwe!;QRgSWkJ-08sQhM#n!r#_n1jBy3SQ3s~2RLeVfGhojdO>a;Tvr5V~yQe-` zan+nVu?sz4v&ZtN-w0w+;->YmRZaKay`MXroxiNz$m9EFXcLDGo;)OH;)s~om>3rL z8=j%r7rus1tUf-qW%aM}UAO0+@;|!%qJMVI6-$a`-0L&W>mzkFZjhWQ-WtP5)LN-m z6Wg|JjZ7a&BIUvQE&4KH1ZmXx5tCELklS{ymjAqak3_N_cJj`Z7x@R;zPpn>yZ?u8 zg&$R4M7FY3viF1b-zvZHvg@M($@-h@{e?DhJzh`e#Kg{@W*dFv3;3%@ z19vTbvFp_r^)F)?bMls_p+TWFq-m4Kt#o~VS3W51>D~=7{1=~7Yr)d1 zlT8Eno!rwgM&+(ozNd9NZ%x4v`1`p@vD7&JeB7dvsjY5od*5c{@YHUkHG4;#F5D6` zUh}YdZ(D~UPdV@4+@!trlJ+qmskX15cNkZ&<-q;gZiM#hZ(L7) zR{Egx#nhan7?kl-UcZiYI&kHyN=XCrKeworbXIly;HJCCm|kh8)_!BwS&}Qwe6iDU z#~MPmz(qW_?{>MJo_yhYrzczXA1U?pO+%s9?pZ(g`_wO*uS++{o(g&uv_cImX#INT zck|xkhDNxtwX?L{hQFFCT)+N)_SF|<%uDq?PO1C;rm53M_=Dqh5yRLcyBG9Hi|5C}+1$E1`75DvZyIvg9 z@0@G+(h^TI0%Kd2*Zmk7HV)|0>~@=QY|&-Sh0i0=_lu}C&QH?y(Cy9L_@*ShIFf*v zKO)lT`mCfE$EF;c@^oou(~ism8$1KLKb^3f_^n#X`RrlOUyu19b8VRY4r6CO4SzrR zg0%IJ0eAQXcilqg>G-*?=X{CWE5*dDg0_o4i(l3KJpY3ou|4IkbDtZ3ZPC|`2hX`M z8xec2_R6pQaO22%hlkgka+5TCQa^d5MX-0#y_;)R99CTH@P3c(P|x1H`59k69vuJi z^p%LCcg_;+OTwl{v!AvXy+`Gdx7?Z|T%56T-@|6RifUtPtd%cUwzo7)8uG5ml~e1J zW^uApifM_aT zCKsQL>s5HTEbmpTZ`1l0zmPugHlKAPb!L6xD_6f{;bxEeLfPQ5q48}ez8fhY9$z+; zN|>;f*R@Cc;wB$6SEk*8eQogcco{@snPz0Mu^#g48`enXv9qPV{we06&kIg{9y=^`c*l`E z!i|)D-4ZWydKTxW>^~X{+uCAn+O4_B(;rx49?od8-?H{b^01s^vCI8#VUwMTXWbZU zt{|2DI@e#+{=%JSw>Z}Zru1vG^?iAa{`b>arL)qpk82j)-?I1ZwNZxkdu@;tEjsdT z{qlrCS>w-*Kk9uZo>DfqY^%RfXz0P&)CF(O^^vd4_U*rP`SYh4-r5^qzdo8W{^ry8 z;>EM7)i~Y1Jz<$@#Mebvy3VRG=Ryl-jbV=qc;_%16UOgh0zQS-V%}J!rA>L4Ij( ze#05IuZ*b-R7WXwYr@jz20{B}r4!FjEf<$NI-x_K);-CXi|E4!`pOfS*c*XOzD8;A5~=6*Tai(Qa% zYYKVk{{kmK*uO2K05E^2@TP5GYY}1m-sXYuaj7Zwm~`dldAV(qL|baZ+RXo<2_tVP zB|=TwDm<#g5vRuOGM^hG7I2h;(>5;2t!yuqtA*YWQ<|XUv1FU7NAY(@M ze|LW$Uw7L#m>(Ukw%<-W38w2wtyOKofqO2}=S}ljrJKDa;nRxNL2@!=?kFIY4V!{0 zt2-28ew%D!U6pM27`FdTp=jQxl{>9y-!)W#>}2-oekOHBqrborD~|K~hWJh|`53mz z3%vHJOfc)$W<|S9l=*7BP+RznNhk>q}|cSGJ(a%WlE1D-r!yoi}R zyLW-ccfB5hlVZ7%|0lrR4B@Y;>(UOw?X@40ydJRAPwT*gg?EMdz{PsjQMm8ASWj9M zCA-R(9c|cUa>i_{J;+u6kGAS~U!mv{I@zH-fXTkj;`mFzp{<^VW9sy4`@R~iEbX*c zdKz907j1a%roP#@U*4XR?ft(BtHNg!9TZ5`n~tF0XPC3R^R5Sc`LA;^zh^T=;V;A6 zwBJxw$JJ%3!AZH@+*|HvPudF`78Rd#ppM5(@>YtX+yeOiJ(DP3ftSRYbXGgPWjv^_ zBAb41&#S4Yf`~gsVl}+r4#7bnCp@bwS?1}p_ou>=kTe`lFC=hLBu@_il#* zc)M*!d{tDu037JJ8h*?_;@$EWCaJ+`ztKOsQ;;P52_;K(il0e;hv9?`@=y zQh(`qF<-_YaeLx`SN)OlE1U1SiQ28d91jWxFL}cI9I0mO^3hiKR{kRAc>18S2`PO$ zKYIiIrHqs{n*vyqs2zD^X>~J1R)zDNXtm+*rArXdA%PTTPpZ1`IC7T!-Orq)s&I!{MW~kFHFLrH!JM6+f$Ji78JsY0-(LFI4)q zFgS5c-qa+~`KQ!gjW?dur!7l-m{=)-R+;SdapV?^=zQlMRVHgEQ`=%<$Nt9<(>S%pQX)28?M*LkpJeZ|_9{wf9CJ`;}1I99k?`g1DM z3;HD7zHja`OLy288_iT{ao+Df`_g$0kF+g z+vUz-J3;f7%qn40Tk@T&Nx5Zn*RA9882p!OV`Cn~_W}bP2W6xnPlvnW zCq@&)iLK0=dW9RMe#Jk&DL@(LTE69%l$ufNQh)Y4R>B;At}j{MG4R!J$gV%?m$46+ zDc^l1ZU?9Kfc<@;KDZ9iS?EQjtH>Aghwlq2{?wm~6SqLKD^-r1eJp<){G`+_{Mk`4 z|0gNFsB>K3f;bwpSS4@cS;mO*55BQ#Nx&82Q{jjBSTSTkVh0Av48gDM@^@fpfP96x z_SfqxH=Q3XkmmCFQ=^Yyopku#PP;k>ec7HF$NVQa1^#M(DtsDsW;*xB^tME$+cPh5 z+DkneoNT9n*iIyRlt#q8t;W4Fj!3>#dZhLyJWn+mPQD1cfCT>@4}bDr~H$C|3Z6~*R)Ms zE@d*b1S8^nXAQ1$*X?HDTWFwu<9i(}_D6-KMXrU}T2PLAJHJFaBF=-Rx0RpV$68+W zu3cMrMF+%U7b!3xn+v1R_Qub9lZ4np@* z_~n8SFpLZyFOe>R6Jpz9>hQ`F;js~;ivtjfn4}NF1p(jyhH;H_9-}`$S*hO0Y68afi%-fK++|uH(&K6f{`1|J5D2AZJkM?L&%H@>%EZ z%1U5H&&#UN_I-)TI4;kzbNFHXmhp;!%-cJDn(&=}3}wSNNy)&lVSxr@BgBmvVEw#((S1#QyksW?a!Fpmnp>^NMO z?9crb+tis*v2Bq^vQ#-pul^(aklj$7QyuXfyW4+pdTXLos0jV4qsMeD_k5h1zIA)W zfj`S)9I6$~mFkftYl%a(e}q+(=Sq9=Z*CuI2icrf&}GMfjebwD5FQ?+KoVLGi0n%G z=d?>|_XYbfV%vYp@RZm+ z$G^rFdud)9iuC?!efIAW$Lm^drhbVBTt64vM|Qh_Ex2g(+egZGu4Q~E;np~Y4H(Fn z!|Tt!nV8aqzOy_rElMyp@w+j1!#0}aY4#r%M{J2qfs8G<&w{Gk{?@mn7Y<@0^69D< z!shMnzn*Y$F4QICQSG;PpN`2BRPAE>9gLj?c@Wm7;*%Z$_&lz?fxrLW?kd9n7I<7@ zbiY=EmVI6t6j{C)pi3@?viIpkHjab>ojnHkUnTfiU~4rT$lz+)RgLc+z$o&``x212 z{iL8Q3@CNZ*ms{-w?Q>3FF3o)vc$p3rm^(EXt8b?43_3nKQ_+F50-Ps!jliY%BU+i zgXt&w8>flEIg^}Qs0+M>54%Iuy2qHc>vnzA?=f()Ez7a6XQf+0n6!a#?!xJEmGF~( zEU@ZGi^c8Q@YzdAA!T7ulUYhgd;+W32O3|8o2$*Lfv`Q! zM5^2-Sd8vguAP zU$0`WR5$Q@Rs%%VR7?ZWlPj7^_^by!W|F|cD9ot^*_--#zb1(N8MlfX+ekO;C6tJA z9zVY9`DtItU}q}~AU#h{-0CV)`>t6pTv{Oz=|{t0XFW9<7quuse{_-oOW?e5N@k5q zg1>RjaTCTrLnNMq)Wn_q9Chuq@N=URn(AhfM^az>%z&a#;Yc&u3Hb^5*_W^UPqrps zIr*ycAz4mz6?rc5w~v3~Ls*}B!zzzOTqqIiD<^e)v;N*b_OlomPvS@P=QfJ)asDCs zyNzfHO^l6Fu$A?=zp$aG&x}UErzr)@9|?SOmD(pA<5UD*DP@#+R4Lh6&N6Wu*o{-z z+vJlsQxCG(eyAo+$N-et#C+5gJStbxXD_dV5U=O**#;J*icX=YjaYE2L9cDgmHHD> zT6maaHO+{4o?!A@%e|vI>7+c9kDAGb6qvg`| z%)jM#=Wy@ezu3fccQzvN){|I3s8#|wDa`WiI|FRQLebK;_@q_F0Xbgt4J~t`T&+Ft zq?w%KXZCqAo_V^;ZzR?x-}AA`G)m+qm-xn)Ndj#GUm`dX7FQ$ZZwx8*6aKjmAn8?K zDG#2l)e{d8-$cOAgZN}X@K^0XOR!Jqadz#q>?&xeS6830fcFQq-LxwK@w>!!%Ect7 zO-J3Hr~FX;cJbDFUdTybP-B`^pN(mnWyVSh^|9xNgn)hD!Ld7S% z2JqdlzNPFb?e3YX%zEw1r9MV_SRRedww>1@b6kRnK;?_cB1tgn)mtK6wn1YE)OC2q3d+8P6Vo zu%7b-Fw>Kvk~UsCMH=Q&;6YRVUN|65P_mD=ChpoXO)20`R<5?^a4AL!z?|Id--Fep zW2Gy`qgw!mNAfT~GJ%WV4u=zQ@6`kJkTH;saldBfieo4p(b&rDOK1Yo%h?%ga=`D^ z6)}_uCHO0JgA$C+&u}$ii`L7>kkRlYpIuc3{Rv-bOUmqncCp#G_`%pjg%f6{fRhdw zKRh8L5s4hxBqN5sB;V@#z!UDyLXK^6{FN9~@((b4=CejWy!($C?BkZhB!&NF;@T3E zUF@Z7_muPqQfMj(k&v8;M)F_rDV@)D3XGx9gXCuzFUBxF&H8%KxT?eO??k`Q#B-v7 zn4|!$=<1O?VZK1;+X#?6KXe{ZI>cTj81%{1Iq%5eWs+|=i9q!T_;r#d#g`(*7!SV2 z5FCfrab(&_iDG1%j5%D^GeW;y?DpJ8!}$l`I1Vl?Z5ZB;-jEZI1!#P<^&`R^<>(gWnBoLIFJIQkaJDLL}yg_17&-r;8;=s{ibqlG-yni!1{>1=ZOdJl&G>5n&6}*l|0r3U;7K@ zGSRF2B?ND$rGC<%$-L`#Hr?arUz~pqbE;M4U7Z-Qu@00p?=?PB2pM(R_DoxrG!@&( zgS5G3e}=vI#F1Q(hYaSbp<-Fkp!tI73_QK@VlLQ8m&_Y-SfV&~1Gl-Yj<|J;X{OT&+d)s%vy zT}!>y+)LOb*DDt6ZodnnTwW|#!;SC}ptNQG*JZH7<9!2Ot_yuqbbVc1aCupMPt;I^ z4ErlDIU!?OE}feqQbTzk!vV>}`$Fu~ll06poyX~;8O9K?$2`b?Uj**De~))Y)885cfNXLoNVN4a&c(_Kuet}G_)Po)JFWIBZA-HaVN$Yfhw1T~ zJ0G?;Y!YjGcvwV8kjEp{3Ou*30wpR)=lNc7(^W<2JBqYk+Qjrya1&k9*9U9oW9Z+ zuY;kWvalu`esxZh`(%K6Fw~JQ$!P|FY&1C^?}#jUdJb@{2bVuuF>nA5zjTxV71uA$ zxF^@)%&BdIS@?&p6XZZ7;RpX&CR~0t{nvICk7Wy6&~N&~GTGV-WTDwdOBkP4Cj+S@ zv$EfD_xic32IW+IgwAllS)FWMDdUb5ng>3LKM&vKX+kS9!r!I+Uiu+?q~S$M8RM0= z;)+m3q}qel9qTO1Wll7>5>s$aorIohBC6g_3l|Y9f*f~9#KGZ#v*ZIglW}6Jo zS(8~l!_F>&v3r5M2G?PIDfme%mr56_o$)Q;P(2Rb*osAf4?z4qk{8&)H)4zluWApp z;$7r<@q+b`S*j&WM|YLtlK_IE%M3SkDs4h=q6D>CU;v0Y_f*s5Ew74tt3~fhq%I++ z$&VeQyM0O=1OJULV6-G(*Wnd%oV)!al6${#zuCypZQ{uS*R_3f-|gx`|E?`8*@SD5 z3t!`dRQ%bVcRmG9{Jr6a4NWZP-nJ*$37Zr6>Q6hr%2;5J8`D?xuhEY7CIjD8`$T-S%gF>SO+Bt_@R>i`av&yK zH|6hYMM5) zO*fLUack*L!B=AYHoux+&H8l?6cL1}qP{sGx=$Vn!6_DvCpnCsm^3VQm1b0_|6GBr z29%X>Ka(z5U$`#AC;ScZ*j6YKWs%%8=vjk%T))S?4Ge}*Cg%BTGt8T(^dtE6aj0PG zH)+`Q&2-%fZwQ$sy4G@jGeJHXr1ZxGN#jIcX$o0e6l-vZ)wkxS}?#{vFG@-XGl#R*06{4*=;DTCW!OQ$Ix_#oA3sqsr-&7p2wb zT>VvOwe|4v2{+>vv)mChI^s_FABE+;8uok%_`R(-7qfihxBOFeU!KN=%24YGQZ0+! z>Ue?eLo?3mcq^NUkOQ|-LUO|Xlx^9iE8t^8OVh8giJOeC(vN8GzBqiK^M_(o3aW_@e#G_&-{0o4083G^|~1QHd#)8p1N^q1@?aU zijZZuWB0&Vlf-@Pw9(CmwW?E|$#Qd9sl4ib^cC?MjW^@m^}pF~j*qAQrJY*G-|blS zNuj@zJ3E$3-RC5%)OVUVB6}P=3;4cPnqwzqlX0dyYlDZl)W3A^;+Y}y8K-U2oD_1J zWZ_9^X1e93zreYG8ISeF6z`A$VQn5YWuc6rk>F6mGtlip}ljhk>oNi|xVkf9X<*^pU;Ei_vLy|+JwF>I|Y72z~1wN>4M~egMjPJyOEP-$OE?P|hkJ-9f675Ff zyL0?P-=jYO^ZB|AY0<~XkQd~*`i`NDty-MH*J#x^1QsJskWqq{ES zjdk#ha+$h!RWOZ}Fty-A4MtBeUGUf;3R1Wu2<;NBoZzQR zssTTOdEtzZiGag*V_Fx7$#^1XO2hrd%qal|x36E+QITvPm=kT?@q3?j;(&rPe@zz? z82DA+V8T^@vu$k=O(t=45Q>u1^q{H)j|88BFQz>m5@{R3^)@}QNabha;Bp0O2fmRo zDR_z5crp|$gU*&PjDC*;1jZ=_)^O&PV-5zpzHJ=-Qm)AULC+jQ;>3HW#jz_Z>x{q4 zI&yr8jVUkGzcBnTB4(qk-J!kxIwSsrS(h~M%erZcc+}>8lP$07*$TpA_8kWOz1B~8i)yp(OW*)F$T zG`1^gtxrx#V_cd~Z23_BE*+8|=--5_wsy8cezpEH?{X4!c?SQB(J)Ty8M_Ob6=>58zE45?d=OaEotEX zlP`7Llx4CQIUm2SSKhsbjjgi3Vw`=X|3WEuJ8txF-{G&Bzm-2V-b(0MZnb-y8vJVr zaVJqhA|~~Cl)@RNCj4TYFG7YijX{Z+)-GL=d9tGJ46Hoyw|X$GZp(I8 zGv%e{Fwwnyle`xCnjP;Q>|Eoo^i^WyJwqMONd@+{9vtw@CU+%n%8EiY zbq=}ZfDJ{^YTUI-%Myf>^A!i66ab>a>nl-dmMB2eG|X&N3WvlgHY+N5Kfg21)lnwC z4x1fK($^N)s!o=mb2i9eup&KKl@3g(7SEP5&NT;E$B1d*iKN~p_}_UFtdf9R`Vc|9 z4WPjZDjk;%Ud(I88--rdtN1SA3o?G&)N63&=V;7{qy2Bh2~YPCd_?7$+wZhQ(kq@y0Vcs~TEv#2D(t$issGW+;Q0$Ow` zajiSLTw%2JUzkbb>k~1_E9U>I?aWiY9`fA|x9D-$AF}f{DN(dC>w5!4Vi_ExG~9U{ zyDu^f4*bhlTDfS#6W1>enk)(^HjVt54P>!RgJ?9RyEW8}6Uvtoe^!?7_(2eXnT%N2iIJF54M|?H2rg()9 zJ;N+DNl|hOu^SPZ%Zu5+2!2Yp9S+?!g1VNE?c}IW0M7PGFhbG`JdJVQ+j0f>Aq5}q zpI2rIOs`Bsm@y1Z$@wk@&6cIS!7lP&Y)u+FUS|h=<3*6f$G^4lAzm=vl|%Na{F|84 zDc=ZQ4pG{UZkV{AZ8;J@iIuU>lPG=4;}6kj7I= zjfVVZNj$^87k9}!4m1I^v6jsb_m6!6!TU;1_!$rvJfg_L+jW(ntu5BUU|yHx|I%YR zyluY5pln~7*n%R(|anD zM(ifCO4YU{f7zw+Btv-ddXOJdZJ3B)+=qB;TRtCC{}MwZIC})Qw_Doo>GLU94F^$X zI(Z`T(L&L#n(S6U0oxqR&J1+?9GkK#1;iFpK74C?nPX5^=8h1m1IbmmuFkZL$?nw^ z4yOy59JQI&9?C2;tddaJJ{R1qnl${Gs5!376Zi=~f+zY-xa3TJW7R@$0G?l$0M9;E z3qM`%`buoap`6gr$BXceS#a@{CU?qG>laCiZujkjr8%~l{0g-*9V)ZZgj<2vR;b$e z3&Bbhs15VK!KrO|27fL0&m3Q(qq4f-SAQpuVg)9YnDOQMj1OWZ-OKrqzgfn5Q7ji? za>45Z>u(_$1c9)zaJZ$O|B!^^x|HHd`a!a?9^#jWhAqxY;-C7x(8~c`!WQbU+9Z<6 z0;gI%^<*DM5tDF;lK7zn{ zwV~fHN<3#BPh_f|wniS?CqJ}T(}X9%$?VUC!n3Ln+SV`W8ld*(fV@@glH*;NWcWr< ztx;bfRY&0QT7T5cK}kEXtlG;kr5k%*z7qjb2NW@>%H?6xX$)mh|IV`!D%jb9Y=2E7Jz3^KOrEbp+iQ^U9Xc)`6+O)2Nhf!W*Ub({no?R+%H5 z-0(6zv^pO=rj^lU3z@-zkov19N6E?3N^=CcJY`KCnS@W~C4Ljok{~tws=>^a%vB*Z z;K%c`R1!wIB>ou-FMZQl3=`b^()lsZaM++v_ZIk)&zw6h;VA8Qtag-ucLm7Kki1Im zu7wfo&^Bmi%@o%yEqrfv`y>+!isUpe(WY8qcK@mwY~&dqF3%H?)aJzF#3IIDvYfAr ziF8Y75VWSWWwo3z$h@ns$j=~f&H+$j#Has9JJ!EU)crgWUccnuY#qwZ3U9BPD{T^N z3|>WOA`*#U4K+0N#2sK6aneim;3>;}rCi862hKVdGf^G8x`qHAtRKg1MHSNxIdAA zzjl#W>(m4n_$oTQvEeR%PUC8GNIrt*u8ETJ9oRGd9-vi2TqY0P*V>qSvXU#0LO!Fd zA`#U-q~#_6k%q6X_Jq>>ly7qOp3Jo~p(x7h?=|a4#vNZuqgs_(Jo2f7^bjE;m!v z&*v=wkHP6z%SHD6a@kv6LKLt z{Ts15XbB`rLJ)n^&tYYKf=kT-S$><6FXpJ&AK~gG z7X?%szt&HafW@b5Pnkq8=jI7WyY;m~=$>_q;b)_kcN3 zxR?PgusiLQSG8Ted{DIfH5F|@*xD)IE;8BM<`(r@5*j%=L>{sWJE~k?)b)sYrHia5 zQcALw;~N|z*{c)@=tjD{PHgiVVq+91+xz{+zuYI24SW+>~hQrar%~HZ$CWIq2cREQ{Pb&jR(uf z=5jh4e~D40dXJ{}4+rja1*ZCGYvY^H&H<1fiBHH?*$EAo)c-BYl6>JR#jbXnD?$hK z?vwTY+ka8&o|EQ0jsjX7+8Lr<-orLvm4IS1`A%1M`rc2C>3P_my1i}N)x31QOHS8e zFYJY&W@ zHi}F58J$plzbB1_p0Oy`E5RCl+q9RUcN#+HpK4Z2+$GxY@GP^!^d(n7v!0JhdA6;{ z9?6sv&;714U$R~X5#}geT$b5ip=>PqnC#PN&kd!(rOynVvK^0u`x>}&b+3iG1HxKl zdDB9Y{T%OHIXBFUlgfZW3QaDvS#dIp9iIf>CHNXd1?v*WS)Z(zkDcR1u!*ffn}6je z9_x%ds7`(s3naN(q2lt|RxNTc%5OFNbCRG2h-wH2ex?jr-p32=n&mq>9Cw#R4rm?J z8rZr_W^>SrUa%0PUrnZDktvU)#JR{^gRhiCU({Ko3?%>YodVHh8reoAT0?hoSCt*>j9nM7E58nkA>=-%u@17-oIiuoRB4agH8ZT$u_;Kso9tH^`q*vEb1 z8);hFbF)Jc%T`Aec>1c7kUsM>`Hi)NwN`lynM^!gj+B3^2kbm9EoE~2?Y}Ay8xHa? zBI__d{d;LZ-@{%vTC=RTH#^_@X8*+Ywe%?DA0)@GOn^v^BiC2@U3~y|Ddt<0%G{T~abubg^%e<11m+k$@j z_^fk|UG*a1D1lg4VIWy3>%owoeJ2wbV4FPjsB&MB{6TJoeAv`Pn{H(dJ)KFjcr&bVs3-Pb@Q|adA76i9D)| zVA{JJqE((tTe^7FZ80AyM1hUkpa?sR0>3*d;t7Cw_qMlgfo^|$K)|A)wCib9V2mX1 z7ylGsmy`*U$0o}$PLi%!(yL2Duj-?Q?8gLr8L!HNuqW*6cp_OHx1>1&d?0X5Dku{% zM2i0@d{6d4(!V8N#C&~ybcRzS*FoRvT;xV_b+r1Z-5_v zJBhiGpeT+)eoww3N_Zvz73#aD%@%9yxKY<*yAR0p2}j0eobYpOGA9+Z;E^#`)?K%( zN427=Lj*@_LPhS9Bg$mUSSw4OAgDIebP=b{c|T-$j~KtE(g@3k59I& zwA6d{YT8Ce2oe#(G0AR=b}m>rMLb!T<51`T>ewc<97kF8$mK681y5HsKFFVtQJUjS zJl6(?^(!ae635l{tk+cCW*ED@Z1-zxyWfhKr)h(M7;+tZvU7^<=+ba z=K%L9*Z1ua0P@+J5aR9NU1FWI@9(2OzBK;1PzFQ*T?|~Sb3a~e5bE99Usn%=P@0Mx z^-v}g(pl=O8obgzZ^?$|5^Wq_^wPFP7Z}mD*`sJKF*)H~W_uSZ>dNsYSW07c_&qPz zwsNnt&OyA1$q_^HuzS1hoXpQcZzx!^^EP2RfLvt;P4WaActTQ=Y_f68bN^l6$bz-5 zIt-p>vu{Fx@@~T`&?)VUHKk|rSNkII7z5iZSYnlCu5b~}^myGOc1(Q2(g@ld>^f#r zfm|*7(99F_*Fe!rpF_`@I=rht0UI0w9Q5Gg~faJtWDm# zT&>AVjidHk==0)AQ>%CM!GlZzTmGB|Jp5>0uqb`mo z$!7G$wKM^;=#P-VR9l~)TQqt6E=*7?O&(Qie^nd*elBU>-xmI($Lo>T)o$joclHpn zk27VL?>&_nZ^Hzp<k8v4e`9S#vB2>b6B;mmbH~YWLEMAcf-r{l&3dUwBbxmS*qmi>ll_)pvCT9tTc_$w> zdEyAI5hShu44@?LcVl11n{XS_;5u(a3e2PbD7Tg8AjL{3r##euh46zJok$T5oc1TO@QCIS#1tJ`8H}PxIo>$*W@5YC6ghI z%DJP&`C4}eM1+vMZZwGL3a?(5I4f~7SnXvFb7Z*}3+W4qhYl`dW zVJ*bz_#_8q62N7cc*gQBns~5^_Zc@aOZ zSGb(?CEf^GjUVwfCshkx9xRG|x5mnn=HuBY>RsG-k*llsAJ=@}_hZ^z>iDsjxc#fQ zFG6br)yM6@w*Wi_O>KVLM3f1nU3YT@c5Cl{JDiqsgl)@X_%CZa(6W0#59d-_(@P3)L_elH6EiyF{O{A zV=bjkOq!IL+w9xiN-!?Ig=3L299|x=9uH;=0Xy!*s?b2+6Q0IzuGDudFbx11R9(xu z^e3fQ>XhC!dAOC=MGra>%-`MzqNhTSI)_=VW0TZ0ykPoU)j(qJ-Yx=YH>`L z6k>c;kydv=RT>_uonLz|Bbt*lvmQH_K6#gugONKHYf!Yfl1wGFRwEwHQ%PQmAkM@v z`qk~j@<8b9$?bTWh-OchAu;P@jzYz4L$%iek_CgK>Bu_esasZW@-O`R&$BE4{$Mn&vG$DMsj&p-{4^;HQAi4Z~?zvweT~K#nXKf_I&sic?-akuMOr; z8Ke&D(QV(Q6S%;xiq*f%#gfZtE$t+Q;~tc#VOW$Xi=fQwyTO$f5O8EfZJSSA5O8zL zE7Xf)quEmro-zQZ&}4}ZXa?HgL>roQ~b zM_9Vdr+jp{mAp+b+b+g2$3p@r^C4T9F&;^t7CyyW z02UtRxW>45275mRKFMVnpoEoJ5WkzQwc()dWW|B*rwBV&8;nKA7c7IvQ>HC2CfibY zWz-1$DiwPN{!u0zm_LZ`(M)Lf!3JcVK&rA(8JWDv&S~Tb-}zN4YTitw!iXTd1>0ex ztd8+f{ABmS7nYj~za1p;rA|O`J?f9_WQ`jVpOABr-2M_I@NZduS1uxLi6UtC8bgHM z6vFtS{3W0|PSu}K|Ad!}9LpS1@-33!#p)BwtN$rDX^ti1+xaQH6E4eZk_)<<33%A` z=x6Ya93#Fu&IEBg86=dzH~E@6Pd}yC>GH^*E(;{9(J$${h;yUjFC8XRLihl4B17u# zizUv^ZkLR}G0jzX$$CD1?n9)lnlt|hb{Q2OqwS*9TJ7G8Cx;~EndNjzZFhFz!G6|T zyEZ+ZeC&0p%|q$pQzsX;9lr&D`V{BWJf=m{R^2qac` zN|No(`5tQ{2ic(ZA;)ctauZuI&So&oiAbRif_$uir67KniH2&+#SEqbwkp$h7gY4% zt5ab+slGtlGw7tSnYi#W9&64yKZ-dqCclPDqOjhWyI8FeW+^+Qt zLN*hX!TgF}v8CF^(UxI2;exr?E&i#@$?7Io{ab0m-IUsOPz8859!MV z02?SZaWxYVHj(>EJtMgm>Teg&3DM*Bs@bSaa@L7}LXYxy+0t7U28w-nEsH^~b?UigjF#%Hf3}!W0X&ojJE?WYilC(Qje`3)oBsNw(dnZvQA(IaytZ{csZDzo-Fn5D}SKVl-l`yt~NZ0)E!Ut3@o^p>$t z{+56+s`9l{mfRZ|8Lg>U_3(yE6d>MrwWROicY%dwxC? zMF9+896r%Ipg1tb?Eg57278`(2tD&3h$Hy#r|YM!nYauYCD|Ec;5ZJWTOeZq$J`G! zC$8q{NUCaQ2KcT z^ygA?P>?755iGXR>hz`F?iRhGcj@%oIQhhRYs=%8T~?i9z8_Ud^K(OQ8B-s38V^VD z;s8-VuD?Y(%i~xVd`KeRM_L@7)$y(MWdke8S3Z$I6AO$7!?m&Mk~PVb zC=Whx%q9}J6fOnBedV9wu#`YGR=fFHXdrqKxGaJgICUGidZcb644v)$hM80< zmgIkOTRUot(PG*3{&iDV^MRjQlz07)PLs*8r3z6`Ei7L6v^oz@639X`^u#{&f+-Z5 zj4ILrw?#tV8BUO@g|~zk>7UT=P*=Bq6?R=&V^dm`6KJ@5yAg8T{6S}0_>5|M*VS6h zdeJrE+vTj36?PWhB)uE-;#+#98eh~g&2}uXn?v!)pR?XO5~JhX@P*^xP?m(}g67iD zg$ZcRe3|TLv!T8sT*zxqTa!TTSRp4L&?W>D%Q?=Ya0Wh+z!NHcXF=zYx916j8E<*t z*}k-*$%=9tJhs(|NYqG=p7=<}jGOVW7Y>H|r17u59Mx`98Po4Fx?C40P%5~U-iyI< z1OK>s54w+r!@Jadgr|BxxI6{X*6hBfSD_?t-$%KgLh$E(^%?g^w`;$Z?$N=N5A>@K zGeZ%pW)URV=L`@4-=Vo0o*7K@mY9xK355j93Sd5yctH(?r2{dE;tnkiHj-YR_*5r9 zjc*t$!m`wIgR$7!H8`Q$^t&d)byn02^eAhLffok>V19|@SUJD4X&7H_tKn2SV~sy8 zAW^_h$@f^LdH{FgJlT+S3lr@=@yp@S{lcFpm(0(QaE03uoOq)^1X+o91YJUojmYx) zboN&nuT1y}Z(+EJkKbNGvz#whA5-to0ylT+wClFYCHJYUf3@FvPvdre z&gsCcE)Y9QLQLQMw0|Le_EWQkV9rN?GLRBF^v_3t#m1#rYy~e)(Y89nXv!o!SKsS4 zWKQEUm~}f0nqc(ANh~%*e(`ezr)ViZM*fyCzo?yg%j%X>Onv0R~UHOD(rg5NlL(+J~dXl zThhb+c0ElTCMHTWReI8o_3xe*Ox_HsD}>>fWAy8)f0oqb!8jARC_WJZDySC@6w~u$q6TgN62kCyHpPc5Z zqHZUo@MPjn{^C$;FNMEVCji9}M#*0Zi#{9ahZFR4i^!V=_>E_5IkRWnRb!u zMH$k5I$U4WaNbWkk76U341fGfQ@IA%+Lpi^f}xf4i~az+u97=S93$Y9IK`#=#TRK0O{R&sQ}zrSWsaOFH(_(UKZO2O zzLSi&4UxE$GDV+3aj@SKYO6N?+WMXaReaz76(CO4&$S;OPpa$vXfylDP^~|w0l5+t zcHHfa8{cSGxx)Ma)o1l55Tb?gKCzM`E718&vofzhxFucFu9D4$QPmawV<2HQ2&lCYw7SoZ`jaSKZ`Z@&Lk| z-1U2-*=e#W`6;BQME~r|>6HRECZAmh;PFe-ds%5j8 zXN!%^2pCm3xBc_glD^L2kmn_gSha{Jx_Yy#ev9%JPlIrh4pz{yY4uSx-9u`d+n|0V`}sG0DK03Ir_)) z?xA{4`1g4%-plp&Jm3J#B~qv^4Fzk-0}@h=GMjiwz*?JMC+;>UrAm!^eHJUv|1bfE5tyb1qKJknwNR!lZZJ~dyFB0f&`0ul(`ES-23TBd?%C~gKIX;MBsq|L{CY)deIJ!76D%Ae{ z4*4+AxeEjXki#YWh(V2o3-NNqu91W@43Q&uD+Dh+I>>%~l{zFvoDV`glXc9t@dzfa zLm<&Hjio>5@8>9RyhP*1E3k8zvrvFM-$jAClgUM{;_m}g7Hlfkl@0;qJoy}FS745f z#EvA>5|V!(dF3-rO(-Mzc6rd!9cxd~&tl60&s_P>mG#_l=CM_=D@86fhKkGck&E;_ zTANqA8t+m+lWu2^$HEOT1A%3#bAYWUm<+DEZ}; z=#rF2dkV11@4O#n(pT$gm0THRNqjOoK(3!=e{nj$m!}c1vGH<}Ribg?V|-;8!NNLW zl&kDB06khgz2`G|yzba=VaWPn4%*oRHG(MT8IXw8p`|v)^I%gO&N^w8&4oT&>9(7t z*vlySU#b;(PyN_PQrL*yYHI{Du0utsB_;&CPFZye8tQ}y!x15CGL5xhdC&&nV6!Ac zHeunBqVtw5u2}PFC+ezE4eizmtjgP!(=lyWbS`an@Vl?Rsbi>;$qDssg5`E*cg784 zxDBl{xWW305_YBY$BQ?^Om3#_2?$_06yucF&A}c(oPX<=KDY|IF zBz@(dzlYym`Oy$9bcXGUfMIRK?oFZ}zD%M!2~WJF{VnCJuaAWFGz6;cetfg^CEoFj z=fl~*Jx&0w`XL=VJ$~EkeZqRbm+lSLJ6;(Sv|u+qN3BFP!b7`t@A!$k9nDtF80B+& zw2hgJlW?DcSQTKrBye+$9aQEs#!5ss>xhbzCUz}$QPOC5MJdf`MX*Ng z^(z6~22_K_XpHRJ@#Au$W8FEx1Do`vwHEjZ{Je``39cXoOuQF5VE8y1o{q8`W4GHOx&k8c$HBkLOQ{D+uvtEW$XZY6Gngk1`=S5@{w3g& z)LjpvG=A8`f`QMs0?hlN`%=1zwlyWt`0Xq31NpiwRuBI@h;)|~u?~anabNS5ed6#P z2Q_#!b;Na*?vd;d8uyU@9GxnM)SfT4CC-N~`!N;Sb;|8~bSdBjI_-PPN|F8OvmisT zwfY{`?J|ZStScObxDUL@4gdt#;Batl(XU7)w3|0AzojCvF{YPsq%jP--6wK;)*-V0 z^qspc`qlcM`nO*tXPz%t0Jq6Z;@j+BOMi|}Px5Ng>AF$rt@!C89|6-lLMD77zA~N3 zOr6O0#4x$$e9u*Bnj{hd#(*9N#u(5;=jr{P=p2X@eAky)8675HM=q>*+~YE-)c=tA zbiKz#V<-;IWHBZupyf>nF>YokbC-c7ZZWBmJ5j`*$q)LG?RXbOK7;O~2Z#))9!4X8 zbEr}d6N@tAPlL#9LL%Z`3~t&PZT&RC;`114bBnrK`|LC6XPGMCmq1^_euWZK0-mo7 zR2)vV0-&7*+8E}qdW={<_$`6Y^7ugTCmF#BbKwc$CSJ4Yi1=8A-qv{1d0F&5eD)?8 z(inz^^EmSF44~R)N5}Ju)mBa1>^rmAesg>gT|WlDi#@hFk4Or4_WH5cQy)XOMx}56 zmh9A4_B6cS`Yix%$KUt$dBE(~eGGc%{&$MLjLu%Qr2hzmQ=4{hX?XpfE^RaDqx(V* z*;>kCX?8K0^kSr#hATr=Z1o$;k%8 zR;?X%<5M_90~G8e1GYOezymg3UCO?ccvErkb)^Wlpd=u?m3jUnKFIEj%>KHwA{WsN zlw<+}5R6hK??pFK?j_ZYR&EOcRH~d)dH8CPfS=B`CHK@%;jd)fNX}c?nn=-zMUo~# zSF9Wmk9Mm-?(zcf=+Ev6Y-hk|G-uzb=P2ba>rr3YDm@VJc{Tp9-v{QO!gdRYe+u|< z1kFw`rOEwrSa|OOpK`E=rbX?K z>J14l3R#8;fOiKdnNMmntRG2~W27h1#z=9>>fQ;~M_(QxX^t_kyzt*P@}wLAm-Vvm za%euQ+f%;eQh{Mu2PpM*Ltu`Iwi`u;cKtO!&@&HR|Fm(dP|U`8L)Q{81RL2IOLgl@ zz*|Y`V;6MnXfGX;gk0c{^E@VG$o&o%Ov5c@G_@^pl@xHKa&+$zlfI0$NKV3rEi{;* z?_{%5XF*WbVpnw$>%ylS1$tYL`>HY0H9evVGpWGOT-&o55eG*t@R z+$w1sf29AE3a0Qfh1c6}6cW`WR8?!X!EE^wQ~P*>_`Xr;JglzkQ^vM|XNid%&lW>> zb~czIyLi#mRmg-ap=OPblwz%A5w*q7%hxu$#tR$4heCoI6F<Udo?WZOiv zF-{%N?8Ga=C3l&Sp~gHJ9no5PBUCF)eJd8Y_g%WB^HSaSb1nYk``GvUhI#dHmG$Z- z<9!hqLi2en&+~OjaG!X|=3BWHOJKc>jB!~-_t`>2Qc#S1I2SWwk@#pe1`9gH*cfcD zCet&xeJp z&94c|R}?xugl+^prM+ZDhvNZIB%>anfV`peqrgghNTkTf2B)Gl50uNN4-yLQI zXPe+^hfm1krk=F=^Xa36AN6BAN9%vo_WZl>*ZUt9)HPg@^jU;h`7`(b#=+NwG80-Px4M3k_+@1EzBxkP54Sz7v719^Y5fP}ckC zP(8GW@)^wgieqBzlb4~tL`TVCT*aL?_9gjcIycr;UL=T>H!g}~lVXlUfw_%qK5xH| z7zZ#Ea^w^FxqE=<_my$#w8T7&8{r!DP40WFCQSgu^k}}lDa)Pj+&=)DfNk5z1(mO6 z-^=*98I@?VtPGc!rpd`NSzsJ4WtuL5z-BuVkX826j)?t^$NK|$#2F67{}G*z%E9_$ z1-wdcBc6T7uz9^))XIAj{8IEX9|&TCivg8;`{T$aNVI}CY(=Y$t@hTON!Bj%qfymy zGHVe7;CfB~QgNyKTA0g$(%|Eyg>9@>zJO(3n(Ug@?1mwY zZn^zdtMgB}K5zJMdA-#R07Vzv_j&!wFzP8Z^}6xoq2KqQA&goF(3CK4YZ#>3ndYY% zl@ffg;v$Wmbue)VgO^U)SK=FU%Ox>R=R~@RXEIzz=c@@cS;DJc2+>x znKev{)8nIexK_A>+PB+ELOPOPBtE+djbfMy6&f;TW^G?7DED@kY<@6>y_-$E)g@%T zG(YacWo<8)VRAWn2B8s3r{;BQdGFKXxCGbXcYgK6$b*Z-g?@(oa2vgsKpGH9c?MGU zxP5-FTmE@<9fCYdAdZ~_y#)YtFX3>=%Vm5{K=dDFQcvq|Z2*a9^vhmrP96x>VLHTR z%o|6X*;x-AO8tv*$Qi#`6bh$d8$`H1!xxnL(MO;KnOqjXEj|mQWq*SprejQsY}=3( zioHJ0aJ2T~sWNju?G=%Ms9?rj*$;R?R75|nXp@qGG@d3AF6rD?=m!UtG4fWQ{7n28 zeu?ZEn`E+o!uRNMf5bEyUBv=;(o!ZE;UTYtFHD(R?X3WGuwrG?;CLqR$wwvPJAWem*0fTpSyFL8Nd)3v!!fymmA_QJON28=+>}Kh+1`H^TkR-v zeeqTP9AlpT;-tsrwD7#p$T(Fx8J~jqWwI_@Qa&E4mL0FfvMK1JyNX;>7(tP@wf?4; zLiY{}tTD?2^mex1H#Yp}#sWuH`LLc}7n{z$d9v~Vj6*gZhpze#3Jn}D&YX-uuXVJfnW``vO zAYcLSCco~xOFBXja~@2|UOxHWTvT1~@yYBdkq>zN9sJrysUytr(0SwvBNr14-yKnC z5Ah%cU=*UgpzOLR_iF;-ZvtRjQddutpfWF%1i@uZ4Y%A~m;_1Cv~CHWxKtwjRC~|K z+-5)(I)<$VJ2E95Kt7*s%uLOi{#6I$@ORy_&8Z6kE|~ll20+TQ__JNJeU}zNij77j zbh1^tU`6Gr@zpeJRSQsJ8e-y4GpW73AlNdw#|f(UWq5^_7uDt+EXa<`fbdY7h9@~b zn6W~W2uvS{^aB3;8!?gfaLy{eASoosnhUQiT$X=VmI?Xcu+1u3SI z!ny&m;3;MrIY`iO0KC$l*lG-xhh9k@8?s~&J0{ui%kkYE=pu{5Hp7hjt~A>2P?#Qm z9v!_r7?CvAXRsVKL53VasPINUx?#VR?0H!}6XqXMs_~fvMb3ynnJ}XMrmpq@57F*4 zwgf2QA?PUljed5CdBsNv#+o5IqEdeIdctn@JNje(H9p4rC=WrP=My%4qDHcR@0R*h zx>t7DXvJ9#hQ{~&1AlU`#}=#k+}b`@=X-yhhuX`H95*N3K1$R^(5h6DQ-}Ut3SB~c zQ{!iOTt{4%Qdo+F1`C=T(HNBpurl^tzUyD`w*_$^yTlWtNwwc`imgal;^SbDND4*#FhdXHf*MhUsMXic_n&xh_pYM0qc0yYFJPO_7StjW=<3f>=-EVd)N>KEN zb!O@xdp$*sPr2>%vbj^h+7OR=WEq&MuJG+|*$Qtq!50FO2lX)><`MT7lk^^MFg;}7 zw-aY3)j_}RIL}K z8ym#1=eT3_2>1{7{{V>ekLjs}%SZ^H%A<#|ml70TsL{5y-dB0=R60HxO783P9O4d^ zY@|?Iff%0g>Ba<##Ry~GA2K*T3QW7I z@~_I75FFy7yNGDp4Lz@{hqVj%R!(?}jh%bNpkh$Jfv+Lu0b@)BK zK~kO`c2;6zAQOHpJNZ1~)D@Bb^JsA&b1|Hs=^p_I$D&1g|iilW873 z^#dFNGIISYgw`3HeDW1-2v+t?{zN18&3*!X2})$sehz!gm3R;ywT&apKQY{w9RsaD z5+Y>DU=kJjV%Z5)T#~QoS)P6HAO7*=wX-fQk`%R+Z?NcYp?t{)8WFI2E z4z~EEEyz{!z!wQCyQ)0uc|q_FYC98LmvnQ+05z&#OaE?(!!pML7%KiuZ?xCIM-Qtn zh;grDVP8llnb%5$mT_hNI(|-hwC(1pjvYCyav!BlwfoWE_F@~k;cwg_TlY|s_NYov zyDsI;kLg8s-ydp7i;Nd1PTqpVcYXw*4RR$A9(b59_rl;w1 z?U!&9a&cx<<3Odr$DK{vP6?86j*`FvLvFr1Y|@dvd?~cIp_xji-1{us@QjMmWP06% zZ}m7n$%v~(BNz!w5?qvf@Rjd-OXDdOZGq%AI7-OW+SR}#f7Qcc?4BeIlm0=S$;!iG zAk&dLl@T~N|A?36a{1W=V&M#_ORl#4zI3qyPTos6s9G*m?s7;;cs5PMIJ+$6bIh~- zEbIr4Ex6Hm22tD}5=b+mCDqfeWLLKQU)!L(!gS zTBOu?6Ed+XwL&cGV}~u#K6H{~G`n#-WRToev5=9Z8ulVH#-EA3#rr3yTmd-gynlin z?OE&0T+N8T`Oc7G_TTD!W-Y zD{UpQ(X>x-U;U6gwt>h1Se)5vrqUDYC?tN*f5Uzs$CTgbpNBBno{1j!!?xHUH#UZD zdH+-)-`qi#m6KA~+gElY<6G_BW)!@8e=c8|_C^R_lDW`T8kd4|DqDz`a$ylVpYThW zSFJoqB33GAnZ`E$^oNy6QTYyiA0x|M)4fcfU-8q*>frz_b?yBWE6Pkojn1BnQeW-sP^GI$BIQr zd(m@;FcTp_E1N**S1j(&@sl;HAN@XF-L*aCYT{CXy#wG!PXO%TUz&(0Znhbf2dd-U z*z|7KL&8x*1{S{QuyQ%!D9p+{s-~oEbrCR_=*3Zej)%7;zt>d;3>nz z<}1vx+nem>_~d$Ru6!llK^p)Wa}p*33MvQn<4g?v zQ2Cv!?G;x)@w+?=>SIK8d=OlhCO#wj_WOk%lDkQBwr3u?{0rTW`V@Y;7Y_Ulhgdv_ zNNx(a9}4L5?dGFfEJ!|SDVT}4o!+klz)2KW5DY*)(H~G9fSd$+nx7Z~8KN>o%i@MN%r@ls$6=y6cFTF8^U>UoI_1&*|Vi}*x) zXIJt*;vzSiz?`gbd+o`;{MmOMaG*JoRdFM_@jG52 zPBu$pO;aa^zbN7nfO@!^2SQnYv35qk#EUn2l*?9}nru0=YoEbW)Y#Iy_PYDMV&VL0 z?VHTxzhbp(yMn*SWq2Jkmsbw%NTdh<5aJgFw>6D8u#YczY zg(_Z($O*ue4AGNfTtVfeDz@@3kfCFUTmg8d&=YjNwojol*R+i;)sr52g|h;RW3o%0 zDR3n^u7=_yIe{nhkq{jUy@Kj9h&~fNUWy(s1jlpWcn&?Di|R80t^hqj50iYAIk|xW z90Smk;5?wmX~^A`$oc9t?uKCgLGJ{(6Tw-4I{^;N?`MIW1(S^eJz%?$p*R3N!^#1i zG3#-pE@HE8hL=F#Fm9o^6OmiYzV8gi8G=LdNHM4_PRcaI{{28KTIyk$&5@C6=42V1 zvYD8hwo|!W1$?b7;5!~ifw}RRNY6W=vg^vvYKYubhJM+@6ghFjZ9yr*rK=W3(o^~) zgq#2He~N#L)$z@Xg<={(yv_z6*W?9pPu5nSyyC|WuGkYrOR{FQF?^Lh0)Cae({WR5Y!+l9Y z*uGLunD}AemM0S~$q(*nPlIRwD&ec8mRfm*IA5hW>vyd0(+BTozYy3Vf%yHXg+q}T zzw+pX^$FFoGGB2qUbrPGV|kgA-X>&8v#+w+pktQM<)Kh0YE9O|Bx1578c7W>7uDJ=diwWfwz5 z^SxZ}8=eE@IPYz)cb@?0*L$b(?XGI>KF@yG3grD*eJzzsg;qarUNq%osY)$c5%Q0S zc4X68A0tImKvOuja0@Q5FwQ~FUd^AwyOqJpil|e^rzyWD;EODgf$>Pv9hfIM5ojg; zd^=|-ef5~xn#ozL{1%=tCcd)kl=&Yp-(}jjt6M$R*yuyTpl6W;4;22mc@D4`oNOm);ouEWO<)hRG*XPfC*V7Ef#sl?f=Rn{cY$x9P838h)jiSTj zQ~PT_F)m|wvcGplcrz@Pt6|}s;l|6+Nkhdw6w z5Idhj6)HnUh{XWp1n5bjCkP;Otz-_FygXFCa0~fZflm%SKDxWpuipY+d5zOIUyt#P zJB%MzkuNLofdW?tc&M*GqILoDezeZ=d+n3 zg{Uahj%rY-915IOaeG$W-kyQ;6#!K^30@4~ivoOU9P)*e;*$aS=t}VMN$`bdf-gM- zzWNOK!ccj25DKKA#e$1y%^JXFbtF z6*~9e>!FIXS|0}2cRHL^^|1CTW1KOE?NI1>(xN_WX94a2nw+rj3Y?*O2a#K`of=Ra z2lT9}XQ(?!;Y)y0_hBwj*cgM3oxNgxB_^G!HZ^%lSz zK(7J325>Eqo7tz_iQtT!$S8>ud5Ob@a8B;biJ3!_{xc?@?&!Nsl&HB96P_MKOk9!i zfT(BHzQJ2^QF+!BmcT@oSEPNWL}D$T`*49&v&a5k^y#yQ0*7sN7MW)P%xCY_#L{i3 zBXz(-gfT1`Jv=d;RcHIdp6Nf#7uzE*5MT@ptE?{EGzuaG{b)bsVFdnlrQWF4#Fgtf zBRDP;nFAN+NQhYrt&d)n6?DMPkMQ4#X!sBHy>Xln)&zO-H6Ig*aTCYKV;fr;w-qfd z{TW`lJ)+>c>;lMY%v^hOLtoKP7k~7KQIl6@_l?dzDNk{AhR!rWWIVAk*k=p5lYp;W zRWJMNLO1e`W~WSgm}1147d(-}W0K9a^lQ=+F~|B4SjRQP6wVJgeV8_$IKiT^A;aPC zd9>kZ47)_qt-A`3x|F_c`hNnX3hnZBNlF&xye0fcU%LN(5x)!9yG;PF%>dGXJ(bj_ zj?^VEH3ACI@0IcG3dM|n)3}GPeFP36Kk;fBO>HD&iTIVFjxJ8?R4|wcI z!a(M>rkNm_VN-HMK9lcJL*Um}12mZu9mGfSN>Y)f!4E3Looq8a6r3#W!F1LT#cOkY zXGPyRQ1}+O%F=$)kJxVwWC1KUB5OH(a>bKmu8%}Q>=?DM8wr~j7V?(`>FATmGr%lj;6us$vHE?or}HYH z1pKw!gQQFR4wo8y!JHTfl^&&zh2Rn3#XW_Gb53bn8A=G6)`zA&Vn!83BGZtd=-a&^X|ak{br0G`AnYu*m<13c6Z>5ryuzT`R`rmB~BKYD7__61LU;ByT$3GDK$P1OPy%2oqH1Np@cr^x|3veZ(LnICz zgkl1==#^In{dUCc&U-a$mxqdwV00rTXj4O4>Pu_ZW|=*oAZfED&UopTOJ4@UKKRr{ zYM(0Aw)o8CgGIW`GHD8AXtp4xY+&7`UaR(Kk^ObpTCZLSge|f~Iw$d{#LNZM(0FkYL7OEElL4UEm)p}1zAw@5 znk@DNGU8Eni$%tS_;s}Q5ziP8old7E@zD;^{Eo-miJN+i-ErozkU8PRz9D!P*fUHG z`Slot>EEC+v3091K0$_{x$btUGFEVfosnQPaq{nQ5Vjy2X53G@6AU80M679WRLdiT z-WLeG&`lHHM*GGUK5+H=a;f4y*QLIS3nc!5b;gSym=yRtu2ps_KZHKt?+ySLO78J- z&7MBO_gp(+dmk60$(_~s1Y7QVoRl%#irI`*(kN_al-yCcGmNY*6}Km{?7+OAg&H>) zHv8LRO=_P5HFGzISs|7_rQ#J%nY*WdGbEBtB~M7E0nZ7K?B5ejOG}dmxC3LCBKcr2 zC4=HbAn9|6{w*H^$a}Ru3arAPM(&!#Q+wh^OlB}}Va$TvVDkNU)LZ(?`^+_wT0eN( z`4qn;pZ7;jcKC`vPZ}`7DJRqpS(krj|4FC}?w^w0fPwtPsC1S7J3jf_9WKBt?Jhrr zzeGqK=L4iHRoE#LDaZCyc@22lIF$3}1vwE>hSloYH-DZVuw#XWNVqGJLlk=Kj$myG7$j4uLF0Wn=yt+{t-@d`P9irnI<|^#nv?K>` zj1yE&6S?D1!Qq>NWY{`)BnAf{=R@_ZDmG)F=i5Wh$6Ss*>s%AOGtE8D2X1cGJ;lWl8l*Micc-E z?VbRaNI!C3p9Cm;n5<{M0d*;y$u~Aycm4ea0vSo|^JiDX`yVpCcy&7I)z#?`!Q4?X zcQ~-~PylBE#&M{=d2@ZfzP@=4!FK`t{|-I>Z7BZcaU6dez+YF@e@g_v0Qe+=o*}U% zK&ou=M*8%-bwr$)EMR?^Iza918pc)VoP0Zsdt&Y9n}uBdJpmPKs1aBATLnT_!#B(y z;~3yLD8FmGK|myTAf)}&cq2ev7%{nx$%8scuqL(ksWfTMi5yQxfa|+R*zA*?We_^6 z318_nR*wNW`OR@K-bBBtuL*M+al4DEQCjY^O>vxy|JqE>m~2Oz$0SQ(gWP`LH zy0LZ~yYPfS`dF98>=T0WxJu9i(0FNuFA1M1D6ZVgoj1%$uMl`NT0B;Q)7t1Go;rPH zLP;d)EXKF%_nv?KN@v*$R11VEIrXNr0-jXVpt*pq2!!qbd@dj9z=GofAAeS)@6+`V zy$jxUy_X4qZRbxNf%iCKJ7Ih161ISkgza~huqbM#qp9M4pJ34byQPSYdV1-c1jsIO zHJbb9i;M(0e)|88*oM@dKsp2s3}QUdT8aktW1f=<>eYyNf!th1HI2Iz#kh21JhvMe?7U!EgobJx}$_e;&AD{5MzIwv%{^AM0@zn|6cn*9xAXj2Llg}#W zLvcPUu5HCboyV>!lX=E&QNIBXXK2OC#fanLOwh%Cr^HT?)8blO_lL|)xiQgzT$?Sy zu=?sx^k-5W1~%H5jC$0B48tvtR)5Kvqapxwh)9@?5{uct;>-9gz!J!C$RWT)IShz^ z5)Gt|8uaiTj&mmDIhR&_qLOc8yyy6F%*fqw;#r~j0=Ml)flr7#_1%f8qYyMOhDnR9 zeK-3Pj3ERQYy$S!`8bYoeLiq=dz)LH)=)=8L`7t%LS=|NfBE90XIEEWzq&g8S_66q zRXHDeb9;UJ+4arMzjGYNUkCL6em?I0nkxRP9{O*K;P0s7T813X1DTILC{zyDaMkH+ zL(ZHH&h1D@U4Q1YHNxp~nY4 z2;!;}6649O`=0DK-Bq0&C<&McYap0r`}xfRinV?2K#+`SqB+GhE?Q1I9l!>Fl6W5@ zhJXJR<5|TUaQ#3GH6J4y5-es9JAHkuc2~fs1TtkI>>8C39FIROnN`7@G-<7pJ~OPI z!1|*cr23p_Cwny+6XRKpq&Bp&J&jdT9sh>!b_Rnda(ov6ZQ3%KFRw9-@yWQnOiXQf z*$f@wm2$(ggGGjk?iB>tL1ISI%66XwZjrsX-MGb)@%des`Ey_Syaboo^XTg>f$Z?Q zdd$pQIHRZc`F*+88L3Co)54Xv?NiyH*=Oji_aLii_FltyxYjqLnjRa00|mwzD%P9nASfm=})3c(`k~b{jylpLBFdAMqC%AQm55;87cQz(G?wWOoLo ze`!wK+D3no5O%x7{YmgsRp>A=WHM$>n@_)w925CF-!_nZ^s-DIGZ64UXIt)4WxU#_ zk59v8sTXDb4E~_{`8)6XxFM&=3T5`mfA3rmuua}iTEaxAl%9GATe);-NDKW$A7k? z3C@^_(L}I1fZ`fcY19?YW5jTG%J>nxjo&fMVtcWz?wqfI%MVSSa<;=P2-80GN1+{zvVPb}@(VDaSB&Vk7ZBP}=}wlVA60)4(aLqzoU<`xr-${6Eh>i>K|K7RGV ztFOO!{_H12@H5A8jL$xM^Xc{V&A&BH@|VwdcmFR1{>pJa{yKoarK;Z&k#q3W)ZbPv z)mEP)o5&$aTr-(T2rj>wAkI`Ep7B?E#vkTe%Z`BL!2qB`;!J_)!umK4^066JU=+J0 zSzn?Dmf{J6C)vYvyFu~6mz;nwl!i#|3mTY7y+17CeyNWw1_l&|P2Gv{p~Rrd{M+3} zxu0R9P&pM^A31*1UOL=0w~OesO=yUSt)%OMZ=aYbQW;KpK$OJSJ6 z-}`BRsE_ay*}fQH?}@g-!B;k{6E?nvKyAkh43Yv!0ZJNg#?fZdr3rI5wON0R)I>HP z?36PICMz{)SA082_8uHuwE=L z46h*@Dyw*J$B$Bh)O1S{5_LP*pundSIN! zkgL-tqWIyV$L~F4{Qf&V{iJ^I{0Cp(;iESv!QB9^&p6-R;fw>g6#-6iI^QZr&3?mI zt6;A3YZW_JTRC!y1IKK1V6NuhofX&T`ONo4%TK04t?UJksJ19BWV-`zp471wG>df41BRutS#gd+J5J27pNpuWdBt&@`Jw(n$f zeQy(>>W4W|RXfu@1ID>xN<$mDgxlzv3}--;vQ_=vDw(xE`#Ry-*8mj#M4ygh3?Rob zxhhT_iwDVK#xH!K1=|(PSvG|1xwA_lGRAy8mN;Y>;)28W^NI)Z(+|mUX!t*V9k1W? zt+l+8n8Cd3rX}3IAKkNVW3`qY02z3jq+1|ik627J1T%LZ>KP9(D3G6tyk`4jx|?8< z*^EXrIT)8Q_LHQABW7?M^O+p0s*WM^B*iyp+}_+wwu$O#oId>M!w-MMv*%YoE&{o` zJKlWu+3W8D$Isv0-TmC%-QB;ThyG;<{+|l{_7G7!L}8RTDt=7*O1#iyf#u!sji6|^$k@Va=B*ml_WR4?>C+>NdcH?U^aN8oI&>+UF&9Vinw0iRDX^}}|5 znbYbAAc_FUo*(Tl)tjG!4 zqiOU1#81+XCA^5;r&*h>$?m~*uU*BayL3NtO}+_~7-D6pDeP%v6AWM@UGM$s^A6iO z7u)Vi_O-RqDOPny{$sA@b3cc-01)u4qF=bGOZfaR^5##zN^;@K=bzhGoViIWCL`7WcR+~06K{v>{xbQ^ z7QiB^CGBwfGrZU*gG_w(A%u?`z~0^iYU(lI#TsG~0xAsnyZ&_3-UA8d5tjZFC%?Pq zk!JXp`++slOJnEw8Xbv$Z4bUrW9{RYcqSZ%Zvve>qPGO3j5vHJq{8vPF<&NMcN+N4 z0f$%Kl3=S!B6j*ejVbphG`S!NKR#grqX_&>1Cj8@V+$!uQ8x+q$e(bdL61I0DkkQ9 zkow@uP*K$@1;*X+;@N5Z(5q+Tr*2e!-={b7+dlZ<#gDwW!q;!d7}wW|&oJ)3H*j2^ zfx9~$a*``t%}7E4=vnhk9%Sa=arl8)p*)cD5n*2y5GW22+^XW{PVxHo!1Y;iduOlx zI!#_5w`bt`79YzUe)pFL{`l8k;tzf06@KVS@EixuH#fMuzQg%IytY$~&+{2wiD0KB zc+T($+|-&I3=iC_qN>Kb%N3Y!sL(kf~GMw z?yx}LpD*U22K?FQ$wW_zJUNh=*eU>w)0ppYJe&@na24w->30^0An}jKmu6W`(gG1= zMh=rUv8+lVpM#IbxLS}D_84vls1IA=7s>u@rCY}sE>F<~hNy3ep7rf@Um_40;jlEy zg(qyt#+$6FB;E)RLiHsA=HU}dMA)3&_L&BI3y4kb%t-}de<#9^irTa3K329H#b-Y< z!AJ1PCo3f9Z*+_yp7;!*$(-b;%cIQkQpgZJj$`=5$N4zx&CQLDo5}Ps#;a$~u0DME z>ctO=$nSsi`uco(bNiWGji3A8r=R`r&*!_p0M(xp!7odgf{C)H5=#O&1&QpRrmz^E zA~IjGab$8EHf7W%?%Vvi9Dim+2p;!6b?Ly+`j&w3FOy00?E)?&P|{H`JsVJaHJ&jY za#Y#&{*L3YmEPvdk#;9cxTIVk2UUbj8S%sIB5n|7AKljyzxV=8O|;CfM8NK_2`|tj zA!&NrOKU2QM^5-i4pK~*CCjSDu}8KHl2Obws1TVW#PF>TsBwnS3?g(9}& z^8(ho3Z9cYxzj`$IYa_ZhbMTn@Tlx` zu+Dv)r2$KwZgAPpw)-?67UfC7itK}NyvdCe`S_K&F7>{8Z;8@k80ewTixZIMtM0M$_07Z02x&Ie+~EgnRL83~H8JFmMTNuhRgBG)8I3? ztn`7#p$b|Jj&lq>;Hd#hw2z$G`tyJ+48JydD*X<>-pes`@r*71NpaM3ns`FU6AISV zA~POj`(puP)ILEIWs;wl;0*$oYVb+dIe| zF!V|UXGGErk=UXhtKqcbq>6adh?YsynVUU36u7xlyg47ZJuB|+4jg*Sr2m=Vbf=K( zTYPxF!*73i#?Sodz#sm~2l%@`dXAxr8ADni3 zXTe|QaA9!NNFgcHgur&#Wo;&7!&Zo9f;L2KC3`?ElO1M1IT7`~CDb{SVYbqde2kg= z84i*MpQXXgM-swpQ7D)=Fg>BlwuRc*>&L{CPnj%Y|HAfiPK-1^MUfr{ibDJ-tG*5s zeojKYO#H3RORaG3V`CU z8K;|@8{FL79#>Z^v%ufUr{~&!s|D0{vx11CnDd1 z;A~lphdU{M(SPzk{@uhj?jBRVVlacpvFfgt0El3|*)nP8F?UHQNgZzsH=M?NKP7yh zj}J`U9{|LO{NjB~^oHa_pNQ}15$3@Rl&3H(tFz-dlf8@&kP&{eNccG7_H6DUpS@(!((XGOk-zOMX7yk}or z7t_>hspvZiy3Aa9 z^R%W8fz@Jd;N9O}AN+T|RAaUo1e;aXN3HbhZG`HT zCQbBPQWM>i!;G0g!>cA3f&k+|m;}H;I`gQS%tU3UMM*&#P95K%6^!>vOMLesHiKR0 zL*B1E6M`YN`=H4h|uCQUoa9I6FOb{zQ@PsbXNgDj%SJ3a&S@~G; z^-KVkA%+!w<@a6xvwQ>(dCR|uC-;c^8hE1c$&&~b zpIi{AMW{M3AOjdf6*%Pfc>X2a{`fau%1?j&qgQ_zr>o!l@9OEJ|L?V2{o*ao=hq6H z#@SB%ySl|haZY{!dI0A;4JSH-h>4CbP~>ViVpWO)Jh6BA;gGoycYCN_-yOKVJ#aoB zI3EItVw~m}p6~7;Z_fBC6o34yz(4%W7x---Ug3k2;O^!Ix36z-sI8u#d<%kzcr**B z>xQqa+e&(HJhz{_tz^0PSjPBGNm}R=>&K!`q?c_%%Y!hIbNZbvMLTSS39Q>&6nrxYiJb*Uvs1>|x&js~Ek-u^m2w2|q_DwKvQvx?`xT^| zR3FMV**fuNeJF=g0)0(B(Mzt%*zQy%%!`V@`CA^Z5*c=q`rBMfD$b7cjntq3DqVI&@B+l!&c?`TlE>nj&A&z@w zH+(Y1gI6+(1uqnyIVzzACQJKFp-k zeNHF2ZZZ^onZuq#n-feKxAgqP_{a8IY2qQ75qx7WRSow3>PdJ^yi$ce0?F%~HYr}R zHK=|Aso#V{?&xUvZQ_B)(DF9dQ|1`nYyOHS>;QP*9pBea5hl87DD?fqsb8hvONIiZ zfZphWJWX0O>gDe`(^i$QBZ5T(Bas$DbB6;PL+>gu*fy|#Ygw#xyKy&TDg-U+?F@;q zdS2+Z1YU)N++`hsZ}nZ&AqAbe+8dOWv9h48&0uCoK!%Ch3Ac|xE~|8uq%?A)mc~uI zF};>P#>cH6d%Q-p#YW|j6##jL9QBk)$wHHGnY03__c?Lye^T1!+{O-^u7LCWu6m{ymLL9Z<+KGFL5H8LPOJQ9H9V*6&C~XQo4Ye^?hZL0 zM+)54;*g=CdE?hTO-Z}91749~MLuS(FtK)Eam`K+^dhs133nG?y)zve`o!do{ z+5TM^ZL#4?AbGY{^Hq-k3RbFr#}AZ!=F43{r0!M^__qH`sVsy zxI5qer7_0e9vFJe?Fg#S!@~%1>q4jTCzJgUKf+1@m>kT>VN3WW$IIbNv+3DH*iv{# zF#X9an`))D&E9t!w~fwG0sYYfY%Gs-S6^Fyrv+)>nzJYX2dp@CmSgrR3m&z;&qeO2@Ag!)uShFfL$)0qKQBMxSq-M8^=;z{Rgw*omlC9FDTC(DgxEF1Z-vmr zUz`@k*X=YjhQ?=M)5@|$$!_{v6`GiLqDeqkek^vYw~g*(bsH8JuxS;P7=fpqF8Q0Gh6n8-8 z9;1D(NNwy*@Ds@SP2XCcv{fD@?>u>nAku(Ij3-s~#Lk_58^c6|R?z5s1`7ng^zVO& zdOMyn-Vk@#j2D(Z<36z9673xR=%@c%8-GqV;G@vWiG23S<-I;2GU(obGCs>E7XDZI z_;2LF`c$rj!-QvYOz?AT=l27ZSIn>AA2R6la+?ScSeXJi&jmBl(-e-L~>#xrr{VV_O-QB;kIFiqk4k#=7NjMYHE`bItd*_#UrPuSLVJC+H3j(4nNnthkBGyKWhD#->NmU=)y_r7X)Yu~6srlp%>72y(a|n=ASUd=kunA$46bAa*Zy@X!GO{%8U9RAe$_ zg&q}wr2TPW$O(nMdm!aFYta>F54a3h+vP)+2Q=EyY1#%)iruCPYX1wYevjmv>B@w7 z{t~J575U*wyEa49+p%4AJrrl8;`y5;hWcN9a6+tXA4sp^wp06#Ws+lHHUY8AOL>1uCgF*l%%he2p>4x*@fD z21EtMk8%9fe96OA?!B&lHIjG{r>2w-U8~S5?i{tx<<9K4IywfI zNq#HqPTt@Q3VtU#8I<~bsRy}iYe2?HJNyz5Gyba+ab+#{!UDrYR}6GAkXHjtMJ(kK6(8a{(&zI z{Nq3IMf}v4p5fVXhx7F{ZVnr}(+K?xKFY`m2LN%npIUHcK?_Y2#)@ht=xJNs9+Uu2 zm9~(RZ6kxygMgZ>x4;K8SNG)EtKrXb!Q2Lv1r zkRqwX#KF-#j8-2{-Vz^MbOliLi36j-aiRcAqC&=AuhYl>KwD82jcQJGkfR#Y@)CY0uX`B zUHA&I^C)Gucy^r6dVPI;zPme}1^VK}%a_0HqmMuQEw?wf|LO01_tSs*^_$oK3laQl zL&j%-iYgp{3g}sHipcBa1TbrIQaKOg%M8=xLFQzDKYNf7TRpYC;kAlzkH&M*LGuiK#-{1AOw(0#{g65YN zc$eEP+1NW=yU74;0-U9G>T<=Qkdl_I>4z`oqy1kHpoATd_m6Q*@N{nRz3$NvP@aslwg7Lr( znUA<(S?Ifn&4Nb(Mzk?9S&ba!mc$E8U3h7&Jjw>SC{F+gvJ@Cn!AX|&i4_sAFA*ff z1O-?SFD7oJrgv z+k5@a03Bl-BIla}=a+ZKM?ZCi-}@(i?886#JHGnCPebsv|J5&Ezx?O^=IitS<9L2N z|M2Db@)w5;7129?&-hHl&oiRNaVYLE^XX#@+$r?zIx5pI`w8kEcW}t4k!Vkx4*+*( z;P&PY=kqa7xQ0N-fLx8~>%Vu658k}NAN#W4KlS%~g5UAwS2!JaxVyf_&7qSoc6xho zNZdYUQ04mU7jM&?I_?_dI_;m9T=}7PWTTv(kf|^^)qZB|<+LOEW_|HT5wfjQq+4@V zR`3nyc!gjjdxwi&cnTSgesN=*LeGeshK@R|UJoggWKlOD$vM2^qC_u2W`vuAku>cuy|`qeN0 zncLgj|H${g_u0St>8IcOpQ`F#5|P(3b8k^mwRg7Dv{xqop$`MVVM+Tuuz#-I`=N(2 z?9qV(e)7QlJz^3^Fq5ePTd^O&p*~jm$cjH|QG6*v+~(s5s<9)=eSJ(S`^E&t#N~kD zd8BUwAZdtNKR(I9oayceiz@kmc{2oBs{*_ldi|Xto(mF7;k?GKBozQ`^ozL!eiNa=LtnJVs41y z1RJmdUB*S1UmNM>+i54z?MNsU2VvsIQdf{+Bh$EX!W#G^w^Zf5Q14LsnrP?BSgthi zE&xIRLctf)sO3<_GNn;xJjlRqOk6W$QAZUjBXQ!u)B`mh9ior%W5?y?a}p*FAt>#m zF24z2CV%nW?{lagBS{8%CdjaWAp?&1Bl^={)A$OHxr8tmc;3V!!{AQ~fO2dTuF`#f zCNTq?j$a+Sj-MxKeG&t(!~B?bFkSSXal1F+j52=IbMoKdP4ay#N5~=5sBnDkaRdm# z8uQtDN%*ny@1GFpJdkZD6z3tLr_*tB==tT{`HO$wOZn+P@&m7a_IH2f!{2`z^6~%n z?_7_6=5O4b|4-MaGtq!yo=4@SppMkMMiH_yTgi z#oe1XxUrQuIgNN_m#;iVz+px~Ju8826OY5_To$W-R~<=HleC}&q}(3|JDk+|$~Ibg z+DAp*iDWt(wkh%T1l{{$x@!>VE1Tp;$j+(Ljp`<1g&f^}BLHcU>UrLS7*K_;yl2ol zSAKI1k&_4x$}5i~=sbeH=2u@QjZ@FXzrTu5ftD!AF*ZM&t^F6usfIU^Z5*a zMWUb5S#}jrAfh1yG;W8`ReMV&tE+I)g{q%pNqJL?K+(I#wo>_-IVD54h zF@wv3cuaDTzfl1G+fF&{F@a8A3=y17AG^G=&*e6*ANi6b~4? zX88puv8y`e7`Q)OVgsdmS&@th0v=xre|=1y4u*?_$M$aO9Pf4_9WSfDB?cyKxO%+iCkASR@jLAJIlNib3*3RZ7!U0)-%?-4jPR1CJoH_up{X!b6Nzw5Kud z{Wvc@*ya137o~pSNxy~gh|elpzodLa>Cs$KndZ@}-fwKTNI#1<4 z+vgqT#K4g$7d(pg1m^HW0+P;M1P2s%$AR;m;y54B0YFZ8`TPVtR~$EYIQ{Y){N$@M z{)@lk6a0N&dV%A7hr2hoHq0YeEY%M7rvNW5!Qu?7e{>_2^@98e){#M2l>1Hqw*_e< zFYUr|I~ScOmH;UNF*3Q)&YOq*m)J^PeUk(nCWv)rvQ25VRV)c|dnXz6SR^^yD}B!d zgab&4RVA`vRD+*g^^y!A3!-Im!x@tkdN~%Jpm^Y1uZgcG-JBSCK+ZDa<9R^KDEX8-5G+m5DOcrwGs{+(hm?ZtfiJ*SIBw_2k;E!EPx_^; z%674_OcJOtD7F_O%p#O(t>NBkF^SzCS3kD6z%*y@Nv}CR=>yPUcGgOP1Cx&pZlHMQ z;?c*Ly&%^!Ka&5ddl5- z2N0285qya@QBOeHT9q?AsvFB`&m9b~s4=aiM5)juf}mD#55oNZ9tj=E z4ucNg#v9|MRVb?Qjp%}rUoKs_Fe&GDBE*pl7J@Jfb_!Qocd99ak$f<{{96)!Ce_Kd zz=Rsae=e$RyS_kjmxf4{1;c$hX6x5a*zQ4``0fjO?O-51F=2dXfHpilv7|dWX&cHj z0I)G}R@sWXK>TS>2t=WxL&wl-IqA*q@!@ZNrhoKLeDmc$_LE=z;17KK{Oa_JcgOM1 z{EgS=f9V&F@vWC1oWAmv6Rr-yaqXLp=f~lvKOZV*%$5IJ#a#72{FMKB_@Bc6X0kMZ zc;;1YfR7_rghhb6LveR^#&JF}a1+7l#lScK`SuNd;_4dz#7}&PpZVGgjPn`SudgRR z#^m!9nM{7?-w|@F`MBU2a7qdC5lt46L7;@889rLtb|Q z%;4|{_6z(u>p7z_4@l&8sRzDd8>j6HsBYThcyBn<<}}-9a3;Q6U>-4-C%`sdequD+ zf1}aQ1mO7&d#FR;k7tYcYaqfOl_1*#e@IRuX&z`cZMVVptX*BTlx zCp3bo!pkH?L~uSID6b$xzSa^h=YDpC%VQBcveCl7)#$PQ!@0TS9U{VSgD`6mnKD&Z zwpV&tom64tRF{AY|wr2q;Mwj&O1No5OsCejhd4{ zlMxC%fJ2TU7z$CF|In-J>zm{DcATF-zk2zlFMi=a{_#g2{s+GEolpNK-~IH{e-6<9 zkIebep)RNbU_Ky_{(*%ShMK)LaJ3KX%Hiax2UxJ@@iUp{1U!5L*+6LW!4GWn@;P>O zVju%4vkN{}B(E-$_g&$OT>BY(Qn&vsb_vMS(!T- zdyXx9_fOmoy#jbbgY93oCwV5Y{F_(iOCN_Im);xwT)+9I9D^A6AS`sKba#1R!`{Ou z-}_2E`+(??pek`0gq43w`WE|Uv@s50+o`i{^6vvC+*iBYXHe(8)=E$NL4Ir7OP8rj z_a3+&+vK5o+UoeYU8>vLeLt>y-vUq!==bpoyW$q64fy-QE10bJ52ml>=1e55ydYvL z(6nvopx8J|YJ4KEwDEBRpIvPOs6&^`oxwBa%J#!Ij6vu6P&a-ABeV8#hFjtmtRdFkVJIxJ*XAeXS|9QTg+8F`q zbo@L3wRd43hvN3`fS!*zSvAC7(o5 z;rA>EOWj4-z^bt_6KXmseqOmP)MeFPR~FxW`?Ooc>jPQLBb9* zEu1vW`&yFWVQp>}pJNE)&76AEbO$jJfkShGLL?@M1(>hIJdN_k zig;GP&{Qe&Q}#)Pf(IEl%mgg8Pk>zMN8gUz^%0W?K582Gr{PgO4jguNfM7tTV25%A8F`PPBT%HYQUMCZW-!~BRRp+oG| zvG!U49n;R}f!rBj<4|k_Pqw+d36N(|Bo9QSaAs*QLg$_!#)#w5w6W>OY=l!+so!ps zn~1IYP$q5?A0-`$NlB_#;8S5Pj^!kvxt#>O@MHe=Gevcom00;_9Y=f}u{jcN$29{x zteKy7Te4P(coa+1WQtGbg#7{0Z|ybx7Egwu$wQ3AieSg_@lVzF%G5`}l6#oRI)5)TZ4#z=8>CQ3<5wLmHzh}ax-u>ehX|}9 z%I-Yf8HeoK-EB>HeQYFjUR%9t^jlyd1n3f*!XhR5LCfwwfh@^5lCN>>5<3qem*oLK zfk(e0_)i!$&|8g6A8~0gBcWe=i`F&NsjzqTAA7lj-?geknwOsC`hTM}A0G3y>;tN-pIMTcIU zaDCR}i?{m2Kl9ZW|L9MD?bUzs8?R2k<}}9b-?%;Q{`)`w+10=F%W``8g;)52S10H# zaNJG6zAaE;$vS}Z^g~e0)&B#6+ha}=h*(08)K7Pahr-v^ps=?A40}xAIB?t@wt{8+ z6+o^8a(7^S>pS>EpPcYt`E6gs@A_!q=H?bRXIt4FzQ2DaQga1&8i~G`GPlyw%DN|Y z9qwQP(1n1*yyaSy+Z^_5eY_h**YT`U)>^KVj5UINs z3h$F{kCt~08cFUu6*Llvhnpl6TBb2Y2S0vtTg@(JfS6sMEF4l>D{ zV{xB`j+(!yvyQz5`Vr) zK@qPHu;%Bp$`}~AfBovso15b_#_{~c^I!kx+@jE|Lu=6+B4?!OM7h{QlyInZrVTU??pZcH$@!}pyfH1-}nPGW-bxj z_xRlVN0kxJCl2iLB#Dn`11hcnd zT~Y%Q`-@$8AH)5!ftfD!d`W?l#`)4+6r?m2$e0gXZ8AyWAf^ipF_mLt(GeOG+Y zaB#+R`TRa?MR^2HzH zQ}qx2?7fZep_XJbpCqk`*UQO_QZ0CKI*l;OvFdC4XhrgsfRMQ>!L7+*aOVyMLPLEu zP0KcVR|lO}%<+t{Grq6dctoekkC9lp493BTW+P+8*(;DgnREmKNIzg;C4)-d-XD(4 z+`eLa5=J`Tqeq4bOD#oRY>3AK7o@L zr^k7wF@6uojR)dUfRf-xASe{%+x^(lAi#0f&|OgM=xS@YPI`|6hYW~74jd|i)1imH zetmtMPAC2NqYwXq4?cMHTmH^3fBS#->GwYUABf1m4Pe-70uHBk7v(B^^3hh};ghGn z6X3A-sm~G}fMC9QRK|R6%I!t^Na8#4xA#9kq9@jqV#8u50**Lq07w}vz8^VWe%}v- zj6>o?VEYHsciN@~o*dvwg&b_MyL3O*p)$8D>I8in&wUqyNsnAMRTRGM#aDHGhh@OF z=Up>V^sZ8-zx`MP< zQAZ-dbsI-)E;`L^kge7}1C$vodUPw~wbASoR6v&umMP@eG)&5%P|J8cV1uV#`W>As zmRppSFzmr=h1E7l@K%YlPLZ zSblqfw~y{5KuLoOv7ISC){+wg-iJhEko+gUnbt|ed#p6gV3H0AL>==UxWt$@*d%Ka zoB?x;-BC%UBY)c%8Qv;@4jFP9$L*csM+ScVpZbxH|MVaD>Z^a`8T9KadiNcL{Ih@S z_0|9Q-+_#eUg7V0HXsVz9kAD$*>n6Bryn|B$aaX}P?a+>xj$f&1ekI^&*4%WE~lVC z$dt}@5zKaHwd6(N`%=f%0PfBhzwjOWi7yZQ*MIWs_|caG=j&TspN}}Okw!jjK4*d;+tWU{L3FzjE9HjQ;oFAYt_A!W$c!O4`?DJ%kEU-{-5IBeS0c^6OA&m^ zBsC{XV&zgbUaL4QYQU6)PY-D)1B_AgAAj8#%c78c!u^r;8PA;)9lq_K6Iw#EAi$GE zNxt`yJ3CxnhL07=m+N=MQ44Lu@m1tw3~HL#w&6N&XR;q}(v<r!G>+9pii|1ed>es&fpZWNckN*B&{Ka4T@7>&9|1V{XTRn~;io>$EGRD&+`>Xpf zCuMO=D;{#n<3avWbZ+^#*8oZnhLAQil3If!CW{9)JVUxcAmu;e4tkSLNoJLNqNK`- z_@gPSZs(ZQJ~>v)_$((UlI zokrfa>h3x@p~2Vic^=wi*CtEO!*Vm^2`f2`7gFdh&VuP~y2E(Hjj+pXtyk^~eSi3R zTJ8685#PTr-2pM__P7ZE7B~X(mR(=!f{ME7xEHl|zFNFeU~Bp1m8jN+5gzDzD-&hJ zBtQr*QkhCG?!-17xMCIuZyqYWLpf9_;}@wKLFEg4qmvaYno3Ky2~Te8zfJ9@tw2k{ zg?KL#uu5X-^tr8pLTv3M61~zb;VbEAvp;IjxFp(<_(|N9v~`f6$Lk8=$83rA+rFgo z8}P@+--qNR6v6b@3fgZ`JLpd# zP?3QldLwdtaC83Z&wTmSKlaCd^ppS4S5ETx=y4v$I354DYaRdOzxk>BpFewsAN91xQO^K-UWdu7vc#LgHfAg6)xOmP10 z8+`S%&+y;=&0oOJe&Z!h=Ud#pzJbbsoYJNY=OHo}5wmw0D9uZ?ZnO0Fv=^(^>`DZJ z6#TJG;}u_CMP~J}cYy|5K@o$aV&i6sa*<1aNTUSN zJ3r$n>D;EwNxG}TF_Y%`cyVfY+7WgAaGA&e*89!ClqOd-f6t1BukW15K}&pq&{uXo zX2)g7(0pAO+Z}rpA;!Osl{ZlP&sX1i60p+4e5EA7>Ww&DPnhRSS_Hq&L*KSvGjd{>^Xv;Q#Pj-}=rU`PR3; z_1_ecpO3-v2lxT_D;-4zGUhh^ITtf`G95!9hXSz2SPt8<5O16qX-DiYCj_Sa@`|wA z8>l^EL$bm0=VBC(a0uuu0q;lc?Ev1l4ZGM#FEL*qQz>}4d~?#4x{xx%@z^@qL*r>Y zRoWuYlMTs(fz&OQeY3wbp};!J@bY{5kbGo@l0tJbyY{=^(WZp+8(UHQ&}x%Cx{tF| zIDshL~C&OV(ai&jL3L4BH6%#gul|2bFcT;du3y<9C z*w(~=%62}SO?FiK;QlpncN_)fyMHZj-I6rkA}BnJtKZ{SKL{mfvNm-bBN%V|;h-S` zTxkH>p+be2jbZgFE}BRdRNVMZ>z5}DK!I2C(i{ozMBp|7-K9tJ9I+S|#H#>jK$Y~1 z^EK{Ev{8}VZU_PFMEf!T17fcORE6LWhz=1sosOHcUi}30kNhJ){^kGtZ~elv-#7G- z^WCAhSI_m&|H94b&;89?{p`gD_@S?#aQj+u9s(U=hw)AMIqQ7R{|=HXpNEwXdX^v4 zna-U6wn{3qt{{_tf3Dwm49o+?6#oA519R2?1cm<68~pSqH~4eE`)l~So(ay^Z|32G za)OKjPkV-7V{bt3G|u-zhZbpCq16Dd<-Of0x(x| zNA1UlX1-!Bc~04doLWshW*#MvhVhZ51O0h5-p(h^@t*f z)pqv}XF9x+6E;BNF#_KWA@qH>(y6LpGlOR~aPy!%p;t<#Oo;O-;AMF{j^pF+y9Exd z{e~PMd_hnh&JgM{5wdV7#(*5=T<7C3GR}8reRDpJXV0%*ed$YI_(xy8eDQmK;g^2t z&t6|&|0}1{N%edT5%JtRY*J!N33BNEydPW9y<9Y9J6uruB#se8C3autiYEJ8j$_PA zl>{3h3v*mp#9ZrBzJ$j~xF1b;g4nfCcAXfVO7+7pQhT2`@b4uQCOew+pz;-3>T$3Zl@X{=_mGQ0!)+Ld7-78OUuNW)9ZL> z4tZE>#))Y_@{czgNL0(7Q+IRn!F7Dnr5PV>60?MveeY5sZoUzRGV*MSlq)T5=vsc5 zV%ly&*PrZ5*Xn!J_gC?a58!ss^_02~!Ev>ZyKLwfn4BOLT@yyn{ zTyo)FoNl^Yrl}?ANTJSWnUZm-EbKhA1Z3QK4UYPdr-LupFMzmSR+3T{)XwClgDF9_ zx6}xdqnf{gr_=2Hle4JFT0&+=mb0#ekR&|kcqDEHFOxy;AK?HaHRQlqoJ{Ud0b5Z6 z6tR=m`#{8VG!89clS4T?rD^*!&cZwi<@0*0LtFme|` zFv3ajReZnXi5DXaDFoKKM_3`6M6SUEdt% zs}sI`dOrTUKmVEj`CmNn#V^0Y7lz>OR-q?YVvc;4-@e}gdUr@1KJB4SZug&G5!ytNmPTSGIy%Hs6|DZQ@)_@)aoG5kwJZg(fq3 z=aoV3KLdQ^grCWASqXO*Oc+AD1{A3~GS5Zx09Rc#N)j!`M@M4vk8ESujn&_TeWb0k zaQxWDBX!!RYM5R~+Q_i={$5G1El|x<%ZeR#Ci055--|~XVB=HT&HAx(!H(VFdJsf1 z9c~y>R;>w-5>VJZxwI1_yo#ic^H+sB-D3P@JL^~m>15A6G4wD)P~T<|kFvn*W3qW^ ze>6F*{#E1LhiSt!4!sQgk0VAqWQDTT&_4kLW1bD-lMSZxBDOQaWM>#`^@$Kb4poJ} z9K~T$hHw}jLqtSyy1BX4<86ibh?|k>W|D7?$_f*vt*wZOQ z#1NAp10uFQJp{+u=o>Q@7{`39s{1nM;rvTJR=IF{lPZ)8DDy;?0eb_0iJZgZ@e_L0 zorqX6FX4+hP7GZje8eCAN0ov3_5s*q3e^@m#(A5^gYP4GqJU3pMtv#ZN?V278wpz` ztzJ#$9bU$w9N($iQMdEtL(1s0Z4#f9BtdB#RSR$Ly9yRfU8>gI0|2$|rGtM@0N)Wz2zI+CIX%`o*>Em&hVHB8P)aJIngp|BsC`KM zT(L~Y8!kp@bSSt;r8j|*+MY2M2)%lxZX06mIIi6h6hS0I7sk#ZP_P*Hg6uR#ebRyr zO$47JP${*FaV_wj2gJ#ae|11^dXk5UMyyShU}YJzaQLb8m8#mH8wa5Br}X7cni#W) z%(lN?%PDFlZHzrEi^&e5WZ&UPFetH+_=nnq0^!6-7(J=RSG8`X^F+z?k*{J0u za@n-+wD>)zi|Dhh@o9r4Dye$J4vf>)m7Z0`Z+a$w@K62N7yetn^^<46Q;q|-H#g_; z;@Ro1+=~8J|Bdg+|Ml(}zW#$B;`UbM<~I3119<2iAZOFnGk{w~dA{GT7~{P5jp_-B8|m+=R`_zZ8}T;qHw#_1FzRFaAa z22FM>fQUeXS1>$biX{VGg;6v3C;^%|vTpmso~p*l-SHYV4@gWtyl%W(-hlau$+4p8 z0e%ESiVOl<-!4Nm20e%b?C>r<0DCo=Tb$#Vj|p(V7K^izJ3KhRa^!{N#-&r?<1ym5 z40`iH9QNcZ)(LCnc_we?@^%2%r@6DkcjwIAChn<{UjcjeO+)6%ra!Z7harX?J#y#+ zHwqBVh#u&>Mtp+B$Hle}AKlle#fNDhYT}<0KY>V)WxEJ$CEW27x$#H*vK-B z7q1w*dvM}o7WqwVuWHzofW(U zXwwbcO%QtJK0A617^Q@8q4tvP!mvofaePW3MS+lnQYJ?Hn1KfwB#Na^H$P0YL^Vn% z+|mi-F3HovD#lYh(1><@h>~Z0OgtG({DlyRU?2iaQ2i`t-UpwV9j#8spXmtv|Nqqe zdC;y&mKTQoPQKrFm#SNLsp_iUrl)(Djp<=#7+^p!Fznj^#()3~GGa8=h-L?YLf8fa zgIR=a5QLDBEG*-&9fELR*@44h%OQos;XmxK5J*5s1|exc%+k{{y?5Pv-zSg%$o!r2 zJNZ2CcfVU*-AGT>ci;DYGV|oglV{B}U>~sD#5eZeYkuOO@X8f<@vS&KumNw(>Ju(! z=Iac7*3*{X^N&ZuFXa(`ILL2t3qZhYE%NyRoRS{2od-dh<@jv;j z{m3h?;JxoT;qA{ma2hi+93JfOx!ixA?hoLMu??V4H=4n%dmawR{lg3nW4ZlwKHbNP zABIy64(l7-$H9hn-C(B<{K)6mee1zzM4G3q$36BF-~3LU zRA**KHeMY^T|eG4h>iL&X~7jNy-&WCHjMS`={-$q4c41imCZqlJi%YJumzj?tcy-z zTQeJ<2ZB;h+uFYau`RM`7|`vv|p2Rc7rDKTEQWo zm^VaN95k2xOlA>~WNVEw`b3u_tUB2!Gl+S^_@F+zVZiu=!bsK zv!_r0-_4qBZn>C~VkiCD(9oODeg7B(0llM>Zp~obgO1uatr^hAnE3h^$ZKPbRBCv*rK4$VUbUvzg1H_gDs<)|MJoQ?^Cplr}U;H_VJZ##j zK_kGn>DM~tZ%Tk}eVOu=69hRxI^gG^kO^M}I~(S02J4JA|1s#{mpT|M8Zq$@K8wL< z>7N}nqlm!2vKFL-VMsBkW2 zJ9>8;9B*6irKjxzpBEr>Yl8f@;qmfOKC{CPS{x&iBeRb1>QIf#AC1}ygSC{pe8Fgr z;P61R5K6OD$dHk|Ffn4hK!r0wild*%R2${b#=7(O>RApiboF`zVOton_2f6+&ge~$Js~Vzd5kE;kjEJ{?{Ebd%ty$ znf-By-wf1jT*U-6D>eXjWiWT#`{B>vfA*0p{BOSXb-cbk!`okY zd&vK39?%$ee8_UlHn`{)WS(@ebpJn{IGcf@N1t?`8x^FUK2MDf-9_11HbCm{;$VUD z-LvjFqq=QdruQy0CpnYn0dGjpx>{+sqG7TS1Mt|60R{y#0PVyl;cPPi>pgKDt2u`J zduJe;d(A_ivAqX6tUA1N@F4Kxm1U^sFwmyanI{fxKj~x|7;+VW<1}S%UI}kLRyml> z3dX+iMQ78#3GU;jwxN(X@Y6eXGt)Vs!U2zoKL-$u@;maLTK=9n@WA=`xxYrrS=n}S;`B1wwLJ)?A`lZ z#-B5Z8kDzo3cF1IXS8o@*@&w(!^W|X$NHm<12=hYfB`VC+eB>gruE)!w5?;?I?h|? z>K!|uH+$yWnzpyj>RiG;^CW&T_-P~KauH)$dHgkMrF(`HI@ z1Rn&iPorJ@nqXE*51w3fsb;G-U4H~t;=k%Z(q1P|_A7N2SO{DYOcB0YAW&_JjD4;`fKRc85sqf5_(0>7d)chE&QSk?lkN-Z#MH^XjIh zFfRsmGlFaWJ-fZ!^D?*|J=2aAd?F3f-{MH!*lJ6MA|!05sE`I?O$eQp3PZL~BD>hM zvQXsV8%FTA2nOizD;&jPuk>;hey=dY*wKL(9l&-T$%Ce;Qq?ideek|0LgE*^)2bPxvj%H*P|o@poIx>zM@@L3_fUva;0Yvz)#sT;wVS zdO=ZU{FZYAD48RxyP4&w|9}I{PABiyu0DKq`scsvBai;jM<1LX^>goA?}pae^V13c z>i55mKmYfi;lcYK;1w92pX1bf&(r;fx#hn9&1`(10slB`&fqo+O?41UjcMwGx2YX+ z;9~4A?SOZ5b9ghfI|h4t#_ON`9R63|`Vc?=$rYY`;cavPr>hgj%2Bc zAiz4%sauUy=D1;gtQ0`-V|6@aNj*I7=Y}C>;)ia?dWVw|)emQYNMjB(l%ROvFams) zrTo{}2OTrGb!@XE7%0Ta?h=?c;|y-|2wgn( zw);e98HnKQ`(lsTPdhuk;0b8ks=W2Bmn|PWIFbDk+hT?i8D*RYTMj-SC)iucBSo1q zX4+qnttY1_yZS5Hj#y7lHuJ$QHrdeubhtNcV-Uyyw71`W+V9@I^Wpcu|9yYq;~)Q# z_kQwIpZ<$it(~{-&CL2dJkrr^UP0en2hsYx{RBOOclVZqBD5PmWV5v%L5TNxdPr+? z>jGC_ap1_&yqCj5b5H@hemxol*v(u=S%)6w2hs0&!-=>d6bvcCZfOA6$TWpXm)@$=yj-z`pb91BT6ro zcg0KPo2vm$0j>d9HX>e*zNeFsZAg78OtOH~H+IyhTRailydcxADTi3RT)nqRH~oDO zAFn>d3cIeO{4zYZBIuX-c~OVi@>VSr6>N^)9l-J`GzqoB3-MCjMEEQ-e;m?Lkr2mi z`i&ukbh-gAitY&CQJLhMlBe~@OjMM!B5~`Wi?6?&^cbH<<2?KJX8ZPeFR6j~O^orS zjIRHRhPDcdgR_~RCV z(LWqqa06Th4A6jX)^K%l!0-LEd+iVYj<0|HPkqCKt4Dq7-TT(;)a>n3!yov2U%;RJ zuQt5rD__N_1AR*#;H>}Vjtz4KKzDHY|5)}v4+P{uz?|vNlmETQH>N=z^KC%4xe6e> zlQF~RX29JO{Bs+=?%C(@fBhLx@N=JB;prFNMu!3I1Z$^cnBcX_L`KI39`%Pp4E{|W zmQKS2(h2h*R$}64zdGOlYSFPy-&X_^X{rQxOTxAjTi`5EjpT|<`eQ-72@tlabs~!@> z0mEr0okPAz1`p>q=&R1P@M36yz=Q2%TYV0tnX%tY_=0Rko=_V>`q{LD91L`hk_EQp zjb3=n%z#a1=X)Q6IpjgJxgx^DRuZScle`dhEh`y_E`uS`OIIuy#Rv z1o=H@?Nisr>Vr5RV3NP(Kmc{!#--_`!6b1BNFgVm`&_-_BT#Oqxi{aC13*Q7vN=F* zU*MAXEZaiVqBTQC$7%q}RRO*CF=#UTV;jG%Zyj(q2in`uo_TkF^wwK%{;AiWJpRMy zzP-{~b2FR(8|Mh7O^WXfV)L)fzR4|YZQ7QaZJSx1$nKB>!xgygin3k9Mp@Vw>cG`IEV}42MAYgv_)k4n zblMcq7gJFACqEC%T})syiD!q|Vi3To_5C0h3Y|<}-SUa%UxfYNfafS^dQlPF@*2QP z&*5kqZmAsb#nVnZ^LFqojQLAFo-APS9O1KS)T0ih<2SO2B<%3_6syV2LDxk9WkFC8 zR5m`0#dKt=A~1w=#CM_0rT!dROZu9{YbrgqU-M=C6J}|)W%CPNyr>n?arrxI*p*i$ z9L8@tOWH2t6Bq{!!cC)2-_>^YA&hY~GHO^Wyu);%L!n7nOQBD^N*Kj3$NT+W`ur(D zHNi{y@!8VxFbVF3F5`PE@jfPV&QoOO1~y~OG~q`VKz zUFC=RiC0^(&}sbnr=H>$ymH3B`7KZI{wv4R&%X^jopP_YW6o}4U*8nGnAHchi`oPR z9_pA>mx+OKyt33%s{TgfCJYW+OTZYKOcX*?H|3$sR1ntW-*R$##|#48#4}>MpQG`#4$F`F}+Jov9fwqus~bdr9xv`O%m##VQ@2vtnizGu`BM4lG2w8gj6Kbks907SD=&l`C5&9eH%cbk3UJ-0~~}qn|T*q9>2I_*FXdP4ZFwL3nDcbRdz%XA9k%{G4*Y zH|uHzU(z-I(KGQ9dthd9U~TmC1QfCx4PiW&dfB3#Cb|k}wBXLUD#t61!Xin}YQCdygC1B&yV9j#QuAJVUNXA8 z)pHYGw|)-Fe$gucju;|clpCHKmBcOUeo0X2l-?G8jw>bF=U_Yc|w$_;J^6yVGvc=FSS4L(QcsQujyESFN%2~}L#Y>7R5O>P*9YiG0WGW)%@S3k1Y~f%#e) zM39*rwzbJ=R|03O1ZddI;0t?NAUG>)ewcqf;M}PF!edO`SuHn|7Z*K0^u1@$N zH+<|r`8@vpx3BR254?i6p8;psynZiF_21y}{p`Tm4QCk6ea!f8KK9IZ_;i{V=Lc~@ zvH`F$(@#?=2LV#GbO%m=odEl>&*7hcFYtf($&c_Bp5y7~pTe$Bc_3nN#{8gDLVg-i zT%h7U;XBhX1}@x}eaZ+PVIY_@t#x%k>=U027;Wl-&svssP?xzNS7wKh^%CEl$%om9 zQjK*g5q0S{JkK!j&f^t5xH{WDRvzT4jZ6>F;^@-ejFkqm?9(uV#Vj9A?_vw0%%oqN z`8!YP7i3KPY|=jZ0@(*+0BX!qpH8jNUdCi%l}7fthiLUlL&Y!g9r!oPRSu(lyfRB> z$ld3md?S6<5xsnxOWkS10=Jc3<=JxRmdL$+p};sez75MHhx2wh8Cp5)2%4MO%5&SJQNy;J7;N>k}e z9n9>#hZ<7e?sGX)?~ZNTxEcW4xf|S1&z?QA^Lg_pPagl;_rLFb|Jx3Hw6%6NYt5!% zi9zhJHS%}#&U6Jpo4@CK4w$zbz)lk?wrjC3L8iq{racs2i1x6gCvEki?d5wd7B)|8 zuw8(6$^Y2R0o!rT3$G6#kKcNxYmjTvX~pF!X_>HI<-PhJm(bE+`Di6eseJXvk^U#5 zeo3Fchw7Fre?U+5K}wZ5*hfVjIt|qIGoQ4h+VhdO=w4u456Rr*AEoz&hj^(CM$|2S z8it-$95t`8Nei5rVX1ViDO~eOB$4q9g>m5kU*2erqi3qof4t8T0`7bIyu=e?cT?k! zp34G$YX~o0=h5@BO;-bc@j1wFxcJ57LpZ1?{Db;0fRVaIaE0@HpF7^DqIY5Z#qJzb zECR6@AwrH(YHh~^sz#DU_I0UIn>d**LTEL+0Etqj2{fnWUI``^2DxAO?no1ISh+fRY-`Rkv;-`KAFttTfueH(Bd zIEJw#f196YU>^GC=r(Qx*y1-2`kPn%`A*lF=U>Pp^H9&73}_CVU})D3&48;P`Xv74 zue!pY`??3P=g+Y{@35;A;5PTSkA)n0jaMqo?kTl(0B{Cq6711ANX!>rOg0BF_S7@j zEC$!urWqW}!vaHw1D*v9^p5o4Ig!#hSdQfYGvl{G-8>*~RWkCGFywkX>VLxGmJ-tj zi@Y%NE&!A7BY5I8S*DM=dD6Fs+#%?Lg-#wgIOf0ya`i*iRTtgx%bx|y!ul=_<;}pB{chHYqnWyC$U+hTUwjEb+p8P+PG;$nzcA6u$@Lb zTg!K}N6nH3t6ZrjVjol+D?EL4!w&X19@^DnyOUS<<@WE`mPJ7aUOWD7DYq~^EHV48 z=nBCn(gJsFv!2IO%fQk`1lI)KDN}_1B7dp!bj3~Eq0i9-7&BMhp?#2a@=(RL18+y) zDW9T`RR3aWZ$Oo{L+F)jZ?(bcONbK4b{*lWbzx7l7)Mk&-jzM3WvOcyyXD|z>0>Rt z67q6)-ca$oknf9lzLZt8n;87k!y=aj;FbW^YE@IMMc!FWw?Sd4#}LEj>*&f_X6CE2 zFMb$+OQ8c?s#tMw&IvDv%>t1akcd%ui^0&5HF1yfY#-5ZmdbsHbR21HqnSl<)uD)D zxOVMAG1fYoK?f)(;(J9xMO8_dh%sFq=UB#OOKItJ&xXk;YpS9GkD8jOPsdi#%AT=W zpG7qRU+Kj%{HD*E4_aP*BN_xT%yd4A$CV8&^{MezgJ>)NsskeUjCa|R+Rlo%MZYAh z@)>etc}*E%DSmVoSgIJe`8EQLS-v&rdl;sZG*OX56#0d_lQ%Q-cCu%7<*#*r-|zam zxBleMc+dUc+|OI<-EDI;J6+*#f4=-@ASl4UXPolgd`sSgyrGRqx^r7htsP1qKpW!!v#bjUi}@0k1BJ!Ha4{i2_W zJ#f_7mb3?E7E7?)_avq`{3(jn|FFS8!LKp1K3Af&r91Z&@M(f&l~H#ew*~Z$zIE%~t#7^c-tBxoxAWHf{rh)* z;s-zQfq%Q5PTyiS1_36oJ0Vt%gj=aF6PEz>FYq9^oS`mfb? zR>xbsP*c5|I9TQ`KKW389=5F{#P=L_2)|wIygOpc!`k1)pa|dX9@jG?mMlgv2P+Ja zGzPfwPHoXmkKH!oJ9>iVM+~>*ds!?DatpwVD$wU;@?M6q2=xTKf>x%x2n#RQc*=uK zp~$+(SR$D#U@8Uqu09JD_rB->hJ|rl+G^3LDx*d@PQeszS3ID2luz#G5#T0*aj4lQ z`~zh*a7@Q#*V?phMc<{ekupbuWGajXAx#>JnmwSGe?{k_7+6#o3(fL-8f&L3uEpd} zjhCQZ@nqZ7$QHWP_N=twA$BN6T+7KJclm`dq4VF{KcR05WoD5YrOsT zGZ=t&b&6Si&g>SxCk&~tstC`0r-ry6J+1=-%gC~C^6Bs(=DA4%MwW|7M{AM`#gnRX%lco1{a5x zdqAzwGY%#PjRN-ov)a}DCd}5@M~-&l>DI`Dx1`?DD#Fg&4D$L$?t@3{%{Pq0<``^V z((w$A2iiDeM?dg`-?N?1f4#MK>fJZAshJ$GzS=)Sx4E^2GTSWA z3~&R`(9F?oT;FNE&pq~(v$>OqgCS~%UF~nRn>K9{+{0!8a$bPtmPl)ch8BY|rZ+nT z?HkNeHnK0$=cC>O=FKHYpU|hrqn}i^@t$@Vhx&hkR<=>pNWJp_`sB`z-*VP~P&nbw^yP4##|TM5n!pS!>WeIW(vV zFqDe`za;iMB&3(A^VAhkVG3I>FzYNA6S^vVw4!B7Zs;kv|Zk^MQ0iq`$LR!ifMM3CEUtXk^rx$>V*0kN0^pigrazLelO9RYc?W);xYyOdDU;TSO`u;!r!Mj(# z^y%}>VRp5-x6{=L|M|0y-}W~@jeq#cD|q#_EBnG(X77PA0KhW}`~AhS zRh&f@oHV7#&vuM!mS&siM4tfb9S?r&v-o#@(rfq?@43d?PoIzc!HXt`ms!FNF%}1V zI@}z+?{g|4M)TVUbg6&bZS15FXAiKL0SrAb`5nKp`a6ao3}Br z4+p;N{}wRSkA-t@e-7aCfJ6g!C+M?GENKS3dyg$cV@m=LzRUh+eaa^cu)Fl%SV=Ku z$mZc~u~Ol{U%)bO$8w%mCz6*H7x%p7f$b&lj+wRD=j5X~5JUOQ!H|3ke^@SnqWs4o ziC*1iGT;-kLS2+{gI@cWUplWV^E}a9R|%!g$iS5E*}qd^>;_fHv%R}@@95iRecP<} z&CX{(UteE+^!@L9@4wwnr*AT|tu?tBfc+yjX=mrEz6o+sncKW5tZMBi)^-{CoQR%y+i;r9Q0@UTTO`*Tl2cN`B-4w`)+*|7Vq{PlwR+)~$ z3MrfVLu^fwNt<2l4Rt2VgbrG04E=36fFn&>XrH#6s|6y9(o&kql~rx!71dQrTbKHk z7b6b@3na~e9e;i~p4-&vM=$O0>q|e57YqO-3Ex>oS{_J7JBq${&cc%RP9D4Py=J0- zi4j-}32#y{`II6u6&0y66&=!KM7vB+9pRqZHPoFL04j_6UIb1Ia*_B&K~WJYen}EL zq}P$+WO0}G8eAvd%Wr8g%4@qC~9L-H_Pa6HRu`qW_cRvG|G!XiuBc>*={dyEf1+f>#o-!DNZYF9KA2;0;{#L zgpyY-9h5IiFu9kXd;VnwLW@2At-$7~;<}78Xc_R5E@Ntxw;aIibZQ;INAH}z`Ct5| z_x**puI%SNdwNDUyWZf|u21;S&u+i@Kl(KO{`D((_~;r>pToyK|8eNwnC%BP^W6Ur zj8pvwubI1Bcg)*1XvGYkQ%4~mqFzKQZ5qmu$Z_t#$$)dmgCG4A{_?lIhM)KNG-m#1 z+Y#_)`ROx;BOo;6I|Ish6&5-S;cNjzugUxIWKfbb$%r=OGHTW_%r=8g<}bkl0yNCP zfXVp4VBwq>{esfQumi|d4a&2FpDfxq-cydoAKT6#m@ojyDeeee-b5~=8IuPni_z1; zBbfWHH9{Wwc#ea%jeUJO$)4@mfec1CxDkOu)L(56m)hrE@7Y(n$9}3e3BJn>2(em6 zY$EZ^S>%aVoar&zNZBU*n8!Enb5DqEp{wz_x}p!~jIZY`tJ=f(7QYJP@?Csj0Q?t35-SEdC1qp88Q|H1)=dCj1qC zi@Bx=f+IZ2 z**R_bPW!$LXy69_py)%<1Lbe=H+KF2%KPBoT{)Ex%`Y~Z=~{1rS7jquJ-$>uLU_8p zM@6#wcdPDO=(VHcGB~ivtw`U3&!{={Uf@;reu1FnHQ+8^Ch3I2rF{$S>Z%ThBO`u6*h;~78e_ifqy6#D09+_}>HQ0y zTde?i$H+?g?2IoLsmF8Uz=Di$MP53A`sY*#S&mL3N3h8Gi#sFAXpd8raxP%a{fs%l zP?txoBXZ%~MFmn;+ZqaHEzeq0@fJr|GOo_{)FTy_8@hMrtdEx=qe;^m<>)|#_!)(M zp&UR*fd+yI?v=d>eC9|TZI3I0ai8zvx~mnw7*rZ|TWb}gr!Z@ZpkMRXEe}E;PNhs|ZBLI{rx`}{cy%&2 z>)&+$&QJdrzVWR;|Kwypt#`N9?5_9ibhDI@iQNs z@bu|3G+wi1h{LOjMU^4^&`q3On}1Z}Iz#E%h^lAAsd1NCfH3}550}}S<+r=;Gp4>3 zojt-Qi~*IH8bz)=pspDB)TQG=&S($oLsI8p&~&exLCjpT*jx_WdBq*CM-y63HtbwV z43GEpi%4jj*8+zAcizA`S8^`KuPl-)W1#JidZ>S4Ngr6)QoB~>#+fiS`jcj>+C>IzmKlnFz+6Gi3pSGFTRRG(iGaYg3R!Ea zKG@o!3;tp>S#KsBlwa*9)~CKX;-{LPbOgdYr2)DOVSe4aBH#i-`es1L;vB0wCm@^$=>VPMVDs-I}xr|DUz1(l_zVUD`F6 zbn!iE>#ZV_pSIu?c+C1j&K5Ei`zmz8L6@mZ6aOsbw8=h3_u|A@sHWQ7OLE zV=uV{;3Z}7%l#C^h&{1ig#K#u4tq-yRp2Ah>d%Xn(6KA|Z24W^hf;`aRzXbVpn?-L znFco`&26WggKEWU9Kb@D%{`%4{ka+|3io1QtkkE0--3!|O29aumyT=R$}0et6RV@-AjtvfWIZKxT){Q-qs^Q6a5I z|F@ZkGyk*W+X-iH`0=mY`Gp_*@o)ZX4}fpo&i&-g?lwcacYS65Xam0MKm5FX|Gii6 z=;1ZqehO^OaE9Xyx99G74&ZEZ+P_(>0&t9L{&JCcKB3U3G1QpY-DR&fIgJ|%hGFO@ zz|S48eCjj!OW*nsKjXC%p1%DoW`-I7^XiNq?bl|&z6R)OPE)pML^E&bh}kGB@ICha zGC(BnF~C+{fg?|w76&4A*hDXWFtkwFv~YkJlxUknKSl7T_uPBxjp?YhxJh6JaO6L# zcBz+b9)b1f^Jbg{C*|@)^bBgr3lsO*{yw)9XmAmS2g>X?A*&uxQxIs{4ES5}pX!|< zZ!P-@`^Tu;XL`X49Qc^JmAGj=8aOk+43SP`eFoL+DwBrrECRTro#u@eaacmKj?e#N zRf3tUprKqzFzkZA=|E2QQ!MWfnz7ei-dPM9n5-OOPLgu`lY<$fUy=`^y`uA#J}$GL zY!+`(D8V&(3lP{g2b8jx)tMi>-+~8XTg>by)e#Xq01@1C1p#$-;G^%SC@QZsL-IU{ z1k`CP%7>5ZQ(@yu!QMCPy|?b(UwP&JFL?8f_xx#hJeV`*w%U=DD+?TG>oC8QUh8c* zWz`GcHQo%Mb}!Q*HWmxK@-F;@CRaBy9v%dJR= zzT1TAM@4Tc_tFCj_M#O4lc2u5`fu`ckrA1G!~1Bb=cw2^!WF+|6lPXjV9~gSQcCSw z;jzSY>}xEY%avet_9Kc({`7wLf-b{hpaO9*=oWD6N`Zsd!Qt87}}7kK$P zSP)IE?IY@JUo@*KP6!@5{HBxP(g`|`RS~c7G>0$WOWA2`IJlCdtd`C#^HE7rkq0bG zI982DH7dzhX*;z%jX-KS69TIf86}GXRVQJ2ujvVV!Mpx02ECPi`Qsg?Q?=B!H*lGM zZZ1zaaq99OhS?04WhwCpr03_nHPBDZp24oZ>fY5q`Q2ah#-D%C@b&%NuX?lV?%qzP z)_$zR{`-IP3-({Vavu*K-ofXd17{n{{m(Ev!|)9Aw_BX_f9}A!8@i7_oyjUzE_fB- zE`SKcXZlE+{(BoaIvl+@eCxRX>CfUX{KSX&Igd|x`u5Z0g*kB0jKP-#|H;Y6`~7>5 zclka?qa*<2sz<0kQp)H%%d~(-RDZO8notW4x#;#B`2<|Z`y;X!z8cMGx)R?3s_*E=RVU0pChMy_WIvK$ zlRxs^oEhtbG2G|QeV0A`lXum|Y5CDta%iF4V1U41`l=`W=?C%?xUvB?!GZ$esan2F_VG1YR>ki&~Oj)_^YXD)ygv zqSOb0q`!UIa>73f+G`+tTX0yqAD?X7}{pllo`MA8_tr)Nzyp8m!7*t-UQ;YAYh^rof1$yb1d(hmM_7JYk z{_=^?5#_QSM|8=yE~X@0$sKvZ_JqjKS6=wTcfjVCsUs|aVfj{3KV*k}^KQ;_kngCz zwO*B}p2A_@sSA=CY#zWk3 z_eVd8KmQXR;#WR8;n~xtIJH41caPaZ5!)i$qKeYMkCgdt*{_H(b3FF^5{Apn-pu1U zV4CgoI9Z&(!*Q9v;TYQ%EDgVz?Qa24C&Lrt2(%F-Lu>_^!2)M;-4V00Fywya`EcuU z*o!%0P&M9|Mepu$iaxuKwjl1wc8q~1I%4F_c~Bh#G){iUY3}ShqgMBn2N<|Agf!Rv z^SX3f>C;-nw)J`VnCe>M-Vq%&-zY6C8tB>Q6MmZ~GGy%Lh38mhEW4ML0&D)UB!A@R zzHgQ_SPUL0Z<7{<7fiQ%jlg?7LA?+f9z8wMXZxvAga=|J1-Bl=-ui5x>U;JJViuE~ z>p}xa4RpXAXvhJwuxA6u)-ogk;AR@6ke@Ei0fq3+{NqZ(fPc#Viq#ntFb8IIrk`{# z{a*S&`)Cb31|GbvWPuT^MN*Ye(H*0I8~Wz3Q@8U5T$$nV<43>kylwyWCqMaPe|p@O z(7nO1dG@WLp*7E2P0Ys0|FC&82I9BsM%qB@CO1`#@{au=Kr@5S8%P_2G6T%VN+TY?XoMqp`kb&Byf++Qt}-J*vyUe4+u-MM8h`ei+6H~7 zE{$?PT@G;}P36y{kjg8{_ruVw=#oPm$YUNQ!rm0#nRtbbk_4SRqPWt|MSnzoEBQ&M z!BZ?J*<*lDVYui|wnx*meU(NUuO!9Uy(EkQ$G8{zg))sY+6P6>OF^k!WIbRlj|1h# zv4Ufiv5JpVFCe#P=&FrE&#EO>oq=1V9L2%MRC~FHwr%`)7XZpbou;^l_P^BW6}xvA zp)b{Qh~`W7j*4pmV|2PCZyvzJmFpH?T z;GoTtcBU|{t+c}?7lkU%@QEx_ZJ$mOQ^~0^G0nK(n+m9|1W2!o#&jV-^iMkJ=@34_{rbDtzx}s- z^u2%V@yXtI-W+JHdGBU$`)r5(-oN#E{D01O@aVM@o}P!X+1$_p+b|FOn}3}3-!N7K z48C>LtG&GlL-uFVwGQN2@Nz6|p5C<1;6gCJ9z%=`EcA9A@V~V6dEAp zsm$<;UhB)A-yw&yZ)Ol5zGIg?YhGt67%bF)J2mt| z7=y4#hthX?j4tiffsk~RIm^tm0_Hgoq0dye4qC8pG`Otvl$qg}=}z4njyQ35gzjQc z-333+G;=UVR}Nrl3&#?AAGbl;S)Y%#2LpbW{6UrZ|{8{YxNL(%Qr#(t}l!28gXOVxBJI??K zW(NV~`2fij(WfD|Y?nznkwHry#N;&^+G>?A00961NklpR!yb!1(0a40P3lWqR%i&NAN3)2{v+kXSDs2{S&fs_8~x6_Q67io1OJ`zulbW^iVL!wq^$;B;qU*B zPZYM;zn=IH-zMf{hPrp>}F`n~006Aqp@N0SM@zK)AQcufIw3;4! z|4WUQ=;iy4^gfYZq~vpXNYbNbl#e8YSHz>_O`^!#~8pB{2MHJsbY z|Hyy(Is6BoJ=q&iuJHNi;C_DV<}>*BIOV^OL4lD+0~$lhUvZSH`~nPoAkItbvL>AE zCycdRpZGj}-&fti_k6`Gc=q&p*)v<^M};uo^A35lb$RaM;8^M+voVv=z2_`h1d<-@ zC138vb~I`k;|O{Ths?3{4Rk`P9F5OY>`8V+xHNff^IRgxGBNW%+Y&k!0y}8qfeYyt z0e`sF>4cr;o@m`Ct+Y&iK8e_JW>#lSb4CV}zi0bq@E&?dbX#lOIs#Y|%i*)05$FIT zRLgd`4D=wKMIcXo*XzpEF0qYc3rLT{2+NF85JLI^mixyec!vZYLUWfoXWtb2Xk(?p zBxkDK*rzXjK|McP5_-PysDm@5kUCVQ^M~>_zk4Q+^$(thKPn$#>NB1|Z?j>m9Sk!w ze$Qr)hxS$ROdeI673HJdA#X_z(bF|(vY@BJV%;9R7b{Lgr%~RLc8Sa2gQUC9dUE9i z>6WyOefK;Yq3F*#FoD7B<9B!O^N`SO+qxO9-}m0P{>;7m_r4QAZ>{C^fM#}N=i2O# zu?M~CirrtFS)gYH=y^Ho3I16oY;m*FUczXmHw`Q|-C+4m2C^eOj`ntKEx!iHSn{th%)}zJs6bz#1$KkRcA2jQrXs$K6Hi7W^%IEP6q$cr}&;Xf&bB0y^8JGc`l(dk%46Ll;2qe zNA@{;$XUwX;{Z3Ho&i8zzsXE!wCO+%=gfAd)qCs*KHPIoo#bHf(BgFanECg-MljM? z|DctJUYm7{IdugMkyi{;dD zCP45bWyj|U_|hj{`=?D^6Z_;nacsoF@_M~I{vr8GZ!yrBbk2Ayt~rx`u#}!+cqyIy zzmriO!b!duW!k(pvg-iR>;vkTv4w=IdOTnj*$)*Q#`gR-V0(9%WxAS@Ht=Vhud+%F+?sRqfNigdzP6lk*LzXtu z@BW1k`#b8vzTNzlvX=O){%`yWUwuE|zLQUb$Z+PT zKbyeGE8?%i3UR`IXy4Mdgig%w^a&Kds7ryCbPt@VOl`@^l^iPzgi$G-<`=$8LE&x9 zm-MDy+Lzb2L5G7XZuNLpC93e4KQ93F$klE$m*nR)xb_SAr0>OTb7saf>l%VU4OU5L5N&4 z4`Hn*3A4=ZMB<~_e!@S1!CCQEW)Y?nQsBJcRAD5(t?lt#aZUIw?^T|w7<6W1&EMAd zZF#4&|0|s!C#%mqL6g?p&ETzJEa(Ti8PFPD1HSX0{rdO)k3Vw%^zeM{=BMGtUBO|e z6aLZgTJFOk8pb8t$|YV?xIoY zDDX30&%MTh_(47hmeJ<-)= zfct^E8c>@V`nHWe;?jIsBCd`p+ctpd47Ba?YJ0{~b(=GXx%3~%?E$e(z>|MC2(ZoT z_lmPmQEwKj9JsW7QGcRqtB#?9uBV@?zLhH(A;BKf5i{=f_PN49nPc{q?!`7U-h&wT zvB!)qC@Ykop-wDc&vO*x(A%ly&`+Gjn>lk3>ax0^G6a5WA8Z!AO<|rM)tJ}gRli-5Y%(V z9*GlarvWFg5;T}`o6hOf<_Z!yBZ2l?PS20qW+=yLUk4+Z%GHn_j&S8b)_8h%bNADB z-u(LN>O*h6_13=v!&??N102~x)ERl&pWur*D}Pv4Zs1XPCNd)ZU0|Q)_k;9g1(VPG z4tkLp?kbfeUJS!ln)?- zgSsT24}B7aQ@kA|{!u-7=K}Eg{G$3bF23j74Oy~kkg_I4P z`K7%xe;Fi7FQn8P!NxN1QCB*w`;R0znGBi(qO-L@=i~Zpul?h*wvBw11||)aW?TC$ z07tq7ya|=>SJGp=uC5yXFF$(5AOE{&yz<`r z*tQYi>&Wirj?KqR*yh02=j`#p6@=%)c=+qTrPb9UTdyM4%P3PR@X7pT@JRY9Y#-|r+|ouNR*PT`A_P6%QO>lG`Z&N9 z{YCkjbQ>^I-h-!*yjl8s8eqPQ@}9Hkq@R{!pJuPt_P2$nLYsuG^!V4bJhD7O1`#r< zK1Jb^$*ZlkfIP}s@E~bE{1NO1(KvvBspH2P6|iEDJ?$$GW$P86aKh-@xC?&(ocRYF z*0*lGci(!)wt3rn@2|Xa|DSmB2y6w+u2<&n$zJBv@<_Fv!yW zI{UBXYEYckkNmb?%_zS@9M!fKTY2D*s80dR?J5Mf*xPE;rM&z_r>^+}OPglI0uFV_ z>c6qSBj2nu?IZR3fL;B{^f!wC2O_Wz@Ou={6NdZdyaJH%R z1l9IR1hsJ`$q%xmt+m}rg9ortEZy!2eCz7jR2)jNM) zShL?IlXS2z-=#Q>f_eO^3d`kBeH*JNgkuv5X`xIg?fN&W@yKudjm!{=b!i`sXeio6 z5UN673ln}RP=u)}GAXC!t-jK{RJ7sXF_$!6l}8b4OIRgnu@x6JE`pjkA(|36u@1}p zRF(=uf1|*(+RlL61im)38YoELl-~s&D&GV>#XtwM2@PY$1!ccv*=rxLxX-`E$@xmV z;h5C-ZCAcJ4C`zLEegWH~yMO~{%&YchfN{p$ z^KawRL+5bDpMwv{KjEwcpmS5?k3+H{pB6k7{(}MD46S#(`q|IpU;maz_~6OV&u5%Y zEoLCO>Z9oak3!?D2<5=sSn4kigP=roI_^s_ZD!>xfy|!rJBAfJSM3m<1R8)`PZ)a9 zf`$wT=-`D6PGzZi$7kYG?z5jTVsPoe&Z$f~bcUyH%c}C4Wm;T&DYKu!=j;VfnrQj? zmkx2(UxI=8$%7$ndd8|k-5s3$9;;V6d`9DR`uG`r5#1Iy5V)DS+1R*HY=OI6zt=;q zQ%4RN$(eAUw9kPEmQS3B!ZgkiXb~oZ-$W#Ajn#JmY&TQpxn0AcD*=+7TB|d+tUvec zd#+5f?9JBZ`SW^qLhy)(&Mogv+8^%``k0LhTR(Bs0V}4h1MO2yGBDpc3nkzDq8(i9 zcj&UjJ604$Um^qjNf%})D+-i{0P;X6oM;aRTQFBzsOt>=nhHw?&E|lNj{#4g z+X39*-d}(6_&2@!$}8XHj?K(YHY=Z>9%t*sXUaEMx0Sv9E$vzT(|!MSrUx{udpC8dn=}@bP zL5>(8e8J-vzSnwot-1B%LK5SPmnnY(UaJpx^xS#{fHLyC`7qx8ay>d4R>*S$5(Z(K zi`hBqwg4;zM2a~5!DKOv6r#2N!X_G`=PeUUz2PW>$~9*$DC}jVZfUI%q;Qz8xk}+t zlNX#8<~-m>&V-aKo-_~qrF~R9YhP%LqBDh|lqCPYpBR$WHZv*eSQ~J`Fqr(iz86(J z%i12k)i$o6cCr{w>!Nv!Vc_R91hfF__eI#lo*Wp?;xMRD6PPq?C0&f28o|K17^w<_ z`0z?Q4t{9Qnpxh&U~{=YfNp4hI{CTxd%xs;kH7C{zxTmU-?q&+;N)iB&zoI0!)M*_ zd;a!weB$1HT-`G~>p+LiKj7>Z2mNi^xZ^waQ&V2l$T;WTL`GZ&4WvvEL-kGb2%P%~ z@RQ@}Q=h@V_06x~XS~+%?Ah~}g&XwoFsh`91`u#Bv*tXxy-OoTkeCh9fq~vTa<%}W zOV~CBnX$KC{$rroH_odT%=NVQ}h@gBl^Tsz6-x#jC^IyYt?8 ztv9!K^ckd&;AL4{|4n2+YcF}30xxIgzIWOQpU;qu*A1-Y`CFI zzr@v*&f6nq^NjVe*ceWtE)4%e>Q=%u>Xe0l*fxyyLKx(j`m85U`qY2hJm+LPZ|(W> zGtBJno9}tg_nl6sZvb$PFxn&>E;g^FjS{<-dUqL&-}wtm8QM46^2J8Na_}Gn!9Z;J zozIHH>VxQDYYD&)Y`5YW&5tpWc6u+%O3Z)wD8AqY$DQKj4g4AIw`x8SR74NGR} zmn`Z$UYVpRpZl)SyY~gnH8`0{Vd1jDQ>w$~J8{Kc_}GiHeCeK-LG)dI^W}ReNM!pR2CE{qnJ;y5yvr9OV;L||)g{3B%Ea3 z>53M8K%JEVd-iVxO{7M2f(K6qo2)t(ydA&`yotlGScR@paRAL%R_Y^t6Xt9u2@yI( z#A~LLy|kP1Q}79U!uKg-9?0!=l$PhrFay?N6S!gmJr0*NZF{VUm@77dK@hSU%kNFn zqA^x*Cf**sWwp*ihuJncyCC~FXLE;~XFul5x8A&Ao(yn+0np&h?vAbZ_WXSAckkZ$iq~I%@-M^eHEV5}8*{EM<19a7=Ka`) z9i8%Tc5u_q;a?tLtK|`}kL%s>Vw6jn)ZZ(9*p)r#16$Ox)RBF*=*g((xXoEOVUUMc ze2@Q<-Gh}AB|^&f3tJ|SR#{2h7L8MMT7G_5B-b(@IDXy^jPOZ3yK7uip2Q^6M% zmZA1dKrMn<<^Qlhq)7IE;>sdcDOw1oy0NAoy*z$jaZ{ZJ8HG5Arqx-a)#fP1V)J%I zv2wtQ@gk)2~eVJt0uS6(=iqWQ2TcLVOI{Rz>6a&EA zD^Fbdaquk0K$nIegIHCm?Q+)oYtGyP?! zrGOc7wL$bx(mnE1P4iF&z44@^d(dMXgl2K_`^=omNcFW$8*z47>!z*X@^sD=hyE4k z1whg^H2ZW+*w=13OA`DC^lgg(iYN2ua%l@Y0OzbLbS5`uQa$q5ef2t1Z(<{6`%L?0 zT|GhPyNBa3{&Elh=$~aRU-AyyG<5A)JtA}ud}p5|%uF9ENo?|A9~`CwXp@e-4P&T) zT$K=}dN6(RPn^4vvSLU2W6~sU#~@3IQ=xqnv}5}w{ap(vW+hGWWo{QXbD(o3ow+@9 zM0PB1Pms1xBcOc_&y@?kdkhTb%%lZ=Iw%r-4B2zdASw7g?Sl73Cw52g9VpUWQg?S7BMv7+%L6XuUk15=_%LFp)*y}P8c6MeKtlxjv~6Z4 zOLo;a!5;q7pSxhxvQEvr+IO*~LVvAy$)65IsUJ&ym&%pElI0hB3M~Dp?MftfnO8lr zB5+uiSedSFJut9>Ggf(8XvSh;k9@(5{6A?Hnuh#c>hMB~F(_GAj95d{xo-ukyZPTb~jam0%(955%H=+Fz+7Mee1a92f^)bfmxw zVPQ{)cl%jm_%GWbfHx8M9SbqJ|*_wIFm@ukE#^Bb>I# zLIrWqs#U4#_Y#90RGs-O9axBRP{m6JWxlYrU2BC>sRr8ln?_V{FlmqID>@5&x0-`> zBy?{ub@UWrprPLbeI1pS`o&O}?}SY!1!923z!RS`G9GP)z%Z0O^)KL^qmi^-K zKI^&_Ecq*U9$SUIJJml<_LtNBLHMoWN;pj%E0gk*urWh5R|24+*;VrgC;OIv`fK0% z2Pn;`|(A2F~W`{tj$raoYdpJ_Z&RxnZEM zEG;obvU#q*T0}(o(18)w!cV~Y?F~N;Pw^+d@ex|@@K|QN4AikQ`5MdOk;`*oE;Foazdw6u{gcE^sYZeZ;DQoji_u=4_L@!@2*I z!xIKXkehTmepIKXM%N6BqY*Ic0hiV=&TNPv7{Lsx55i50Z3dXLs+1WFM@-K8NSYvL z1A%}`_UFI`_qUfe%=)&tqL8;eRK2U`bp#8?Z>w!nT_*dA8I)B#MUEkQZZeur`kU}Y zJBhr^6%o`6?s6tYj{%fWrP}W{`6>d;2%MQmwy(^=o#Y9q*upFa#@N1bu1O9Uu)Q&O zBs2sjt>(SK$l8Bo02PR(y4ao0QAC`kUjI+AJ z0|WnA>qLq@%BAMyNl{PWfSt{LTn{_4Nl&G@S;I+gVt}z`4w#T(2`lwvkp+(xTy5)H z1FXOG=9|C!?%lh;-pqQlX1pD+wPs=GWM$lbMxHniWv{k7=+$!Xf72BONSF#2tP@#3 zDY)8PwV4$sEa^$RV;i3R~6RT%~F$m8v`VPtokb zf68#Ro$Fa8h_+`tTQb=~1F-=thx)9)^-ZZ$@V#8Nwvn*}^+L68IZ#0G>L*+by$Y=@ z#Yg&)`hnPJA04$iykhF=?Srm^;%&&3Joo8#^$Kaclge0}s6ncpobQ#%wXHH8bw{9r(>X@3UVB2ZFyDB))KGMQxw{t$qt=>(<}ZhOf3QwrtswpWB66*u0dRV8CM=Py+9R zPlaJi+sd>4j513bBQM(_RZMe@LJM&(v^nz$-8=CMKasRGouya*atgcUPX!&atu$kW zY|BJQO>JFyik-h1pG!k1GwYM9wJO|w`IOgUuS75LlORLBEn)8c`?Pc8qdG7QmD7Gr zUnlaXysqt1n;vu%ncg)}-Y--Re0Btfn$)F~)?xW2Id`FX1^a@>ci(PRKIH3mwcH+` zTIQy5U%qPqS7Eu~xh+8mH*7hu`+f+YO5+6;=Tbf@DX&27^4<^CCsipPDeN1bFpw$8 zS-s#D^&G)+&|;R?+4W+? zg|-L#|0BKCvH`OZAK5!>i5Gb!Zx2A;nXD&i&zb(%OS#m^8U8%4pr#k60T#22VWktl z@%Gg4g>LQVzxT;+{;99u`;P6rb+>k6_|^>Wt>Mr7gXj1=+coZA8=kr2+{eLtz32Y^ z?qe%JQ6Q7{Rhp($W*jAs2|};1I3T|PSU9%RXg2^K{~Z3%*WJZ0e00M0{Ji5oJ%xLf z(L_iCk6iwz`nk?l)+POP>vBeP0IsUSf)3%7PX{~>?;^CB7{S)WMfuCS3@prgSx?p( zg~4UZrbHKAyy}4bF1=@>54B(TJ_Z~|AD!CLz6h|Efky7>HpH0;tDbXNvmEsqb)3(` z4EJ;xYI_8EW9D#{ZMJKx3GbOP=xP~Y3cVw+1oMi;qxrGi8ldeVEf^F6h`|8r>`_P3 zO_#8n8I0+jv&L3*-mq(lr>+)=puy^ZtjZ1tn-KPR+Q~n5}ck)fzQ4Mxl;8AU!@Lk^ zX_w+c`dhoUUwD>~^M!R^Dtq*N`33+kJhvsnuACTjJ{JS=gLjuYsALZ3jKOKv5@n|V z`cgcM-K7T5hr}Wzj$*7REIZ`rywE|JoIZ?rK{XUWKyc7AS`>@LOo-AZ2JEC=nI?(1 zkeH}{c^D8-*Z3|i4f(2|!sRK-atVHdUd*9AHLJE%DoU>-qmr78pv7s5e{IR1cqm2E z0W0cCQYXBfqeyr*w`Worco=#Ti_N0FHV8Lm^LG6K_jO|0~PKb zCvjSojtNgvrs3h+X7(KDKjFdsU-HYp;s>j1*SHAy0w5t#_(UDyolhr=7E{mU#t%*Ipb=L{OzWUL0rnPdaxj`sm? z-0RKXIjc!tb~)KU0w|ruWx3c(zUUnAMglo756fx$-Sfb(iEEw~&vqtTDHX$@vtQX! z)?{X5%vPGTL4z&MEE4y6Z6f455llTZ_MK;N!Xf8a&TkCBRN2qLsy_2O;yT+h=o9#I zMwJIJWPJ$Oq-TeY)o?I^uqXq42Jt~Z=`TyVJ0_3Gu>cPqv=+0&%i_482%Gtu+8V{ft>NrLjd7Eb*saBx9z+& zxcApzfAWj(-n;ufZrH5ZX;ha1TeXSU1@5C?#-v0U9AE5k3otq}z-_Qe zTI2}Ki~oc2y|_!Zk_`ATbxM!ScwFuu~a`)s_@ub8*$$}~a zp^J2IXhG(fo=J;95a;wmAkYJ>F1$*@>c}$(e8c! zvr9v>PK8u$Q|hUyK@kQ6CXrBWQ?|V#S8|6=Ujg_&FZTQrHi|GNkqZ3}0QtU~ZxhN? znD5{@!gNtZg`ak>7$Jg0^j0r6Bdtz^dUQ5!e>f-)g+XsOazY55iN5 z9|Wf`4&^UT$VGuS%e9(zTwdST-#f&(S|)}c)UruFCP&MmLu6S%FdcxAsd&I+wK ztqzmPnE_2;s$qw;v8^4d-kbi*J1 z|2@O$@ipG=j|Qg>4e<}Cq2gQ%I0L1YSC46NYj4AUY>) z66^77i&@&b#DV;h4juI=D`SkCvzSXTM;a{k(-te;TRWj|asI=eUYcLFsA&IT>XSC@ z2X)Y;{v+S5^o(|@7b;$sp6Xv$a7fTyU`?4Wd_Z1ZZ0e*dWhPgNjDG4a+h|y?>MpCa zV#HzcuC;?agz2)91JoTO2l-XoYwlqav@K~jb>=$Hu;5H}(fL5yA|gHGyt3-XOdM}+ zJD5Gi!G}3u*L!c<)>}KZ_U3!u^ZTu}pKNB`%-ZOC*_#jAs(i=WAGpF}T`53SRBj1a z@>CjBA4L5FrA48mW&Op@ALLUw%Iin=oO~GXu$H^v2k0O6<;P_H5gu##?0+(gwr|Z} zWEVm=EcFvE_Ro$!u<3gsaRB=VyLwYr6&Eb{Tik80`K!#0GCRNDs3X|x z{jMID_xZ(Q;Bi=Wwh4!HBcidgYtnHSR$ZXG%eT7b+G;LO{Dx2~U+#b{@02I@kMdb6 z#lx)c%5x)VQTZV&w|uv(bGVRLGPCnVcaNM~s- zK1E=rag9Mc-%&o_i7|>Mg+;DP1?f`ll!wdSJTclFy&pzz_OB?LtR}TdDiwi`R33-) zumOVutF|&E>!=_{eag&L50#mj7~NCZI~Xx6^zk*7@RudaC6|@oa}crSFzje>NdTSo zE$Ig&JpBHSwM-EYBCN(q3{=#z$LvV8OdE+}R88}WBU~6Mow?Q73&&AaYX&<5_J{uNGyK4vyJ#oF zvp!Dx?-(=xz0WNGnD@w2j$+o#W9BL-cv-%o*%S`wxtE}l#F9q@UhC8AH@kkuE1 z{dJ@Frh)XJCAYb>Qb+3lD)a2Wq~Y909;1TH*TOF640raY>Jkn* zj_<ZD+2UNrv;e3S^Z}1bykho8W_)PJYPMHS`yB<%A(+Dd?~D^|5Ls zwunGh63hk!e&S;gpCYTXEO`<^hY5$r4orC_oox~1_aPTpjARZQUG>ZR@RX zy}$Cx{Wl*yeE7$D_xmwnbwj@0p7ewtS zz+G@q?2Co3ISlvaRZaN$Am0b)oILhsje42O7C6TF&b%;rr$ulb`u_# zaQnx;1>h25WYnAT-&V1n4^vT(Whqk^Z)2={NFzXJbu`4-llUt9ZD`1cB9@HOTBeMolY$8;7)^> z3_SJ+o9vkf@_fP&Ef|JEo^}?eYs1|iJma7H&>j5R*RQdi=PX*wnYdL?s&OdB9AmjN zop9IpQwJ_iiv{07uB4(9%ERK^Gw8uVf6N9s5UXJ6&ppO!g!1d6%Nf{% zx@|hn!Q&ofit`q9jIW~!o;Jv(zR>Y52gHRdoAS%IgMPI8shhJICdo>>hvtMn^*7oh1q9O6Hrl_I+0i-ElMD-PMXI4pkbQshj zCg?+j1bv^ic{Ek%=*KkGnVqAN#6)0E@6x`7pmrc-E6t5KQb8~H4E(C1jy6H@G3j1$ ze4zBHdx+EV6{N(F5_bBJ?cy6FX*4cwo-0!Dkcp?WrM1Z z4oG#X)Dad1DZC#}rU}HTGy5wIMa8Q)6@pn)e1+b5y-__pN@=V(!_su62LeO0Q-}4p zu1~+@mw)*2_qN_o-f?9%j&F8%ySh5r-~9ZBf9oHd@#^b$@$5OqZ0Vfw-<+pVkH5_& zpw^kR;6<64l9{UzJ438o%AkAl|D2gNcf=OoyN2_pJAV9~GycfezJjgu!a-YB)KtUE zKqF?;W2TQQ0ebBD=U(5@u8^d-tD9}nd)}!zN7H47jcL9XlLQ5E$ zeuC0-u0GHKj+{xhXxHd!x#DmR8t4jx>FJB^^9-n=?Eoy6b>$xSunmi@;c5fD=e^8C zQpbTeG7Nr?`rzOZ?P`9MzX(%L$dCG|t7kuP)q$DEZ0e}5r<{eF3Eml&GMYH(-ytg{ zctE6U+k41lpSZf^?C`LJvh8i2PH(XUAy47tf&wSMDp%0?Jlm6a$HD{$^@{$ZNSmM(=m-_1=ohg6W z$An{R-@@ju8m?@z!o&HUa@P9>_YU7YZQY~?sYNrD{29#&jkR%Q2z7?sjKNv`&T~5! zpNI0Sea8AiJbBwe$iPwiM*c20piuVuHY|AWZreCB!p`T-uCK4`jn`lQAGrHhnptsBf{WX7U|1?HKO^e%(;m03Ch$tg&_JdmQ4Z|Vb0 zpZm%&RuNbO>{l(usYR_23|wsPvB83RXEs4zg(fu{{x7v;BH4ELxoE zPa8#iI=a*|PyUzY1icdBNu!nlf8Z)X*aSl!%B>|HvdVJ+;BheEsdqm=eDv@muf6u* zce;CCAHi6|FpBPZT?VoV0rQK%z zg*Pnokq;8j)juNNWap}wC!eilEOnrfeygkzWXd6?JSd$bzu?Y(OJ1@HTi>s`z2I;} zoBCU23DL&m^zh>{!y#Oz1*$7r?Mh#;>85EB^*X7P%9sp7@k{MQnF| zz|nK*{Z2nsyLC9Au-2!b9eMpSm~KDavA&h@@)aQI6`BW z`y1d$(;n6f;U@TFxJQ*Tb{B#0qYQ@t)8UQT2*E(Ygm_yR!KLp_oQQ)e2kJT!haBk( z_?H_W(v|Ajj;OakejovN~MxPdH?OS@=eV&@RhptO|R< zSYfKSK^j1DPFPlnkcOy$wp7Rh4~xPqpK9=+INO>N6qf45ig7h${c7}%j8-XMYKU$u zPM#Xt#Tf34HgPZMLLa4-8hsOEVY1{```PA+3PvB@4A%J0?9}Y()?fXOHy`}YZ+?9D zquY7wfHk*fW1eiBB>lhmf#>)Szi^GKyA9{_JnmX{3ddHa- zZOWvf&?5S4!egKk2mdtSbYtFlFzFdH!=AG1n1dVh z6nzI`#?YbX0`zil$8Pkmrlq?9z4^x z4XvGGU%SEP;da9@WRMuM(~fxq0QV5*Y-6kpm^k$aW+iy?+|zD027;{F94r#22>`F| zTk+2m-E-wZ2I&KLo*fW&BhD4D2$oxGIBy&5G}_NTZf0{PbIh2Iz8o~2JZu9dw<)yQ zSCxrv8U*q{_Eo0opo~vuS9(ReXJ3TUm^6g5j|Skpjt#LAAy9IU)dN$+;v5U=zc}Aw z3g5)ls(rKIFQx5B&rSCkjLR&#%SsNpVIWsoi2QQ!0XCPaW9A{r9OrEdJr=7ZrXmZO znerL82~g(TN`mJC!19cMkRR>8p~zt4CeL)9J^ck!I*>m=9!*>5J@t)E8fgE- zK*QwIzU4uH)K1+=vs}qCRz&$cdxiMaLoWed&zb=V5BlU$8XVLm|J1V+Qh$)o2Y>Pw zh#u!&^zPRCI1j+gwm08+^Pf9iU45I4H7m`=Q{*NGt!uzkOj+1cvGvTW_EHVF^am6^ zxhd+G3bQr|cmVC^d# zGB^6g!=I(>vf{MrwO#xS(uyM#v4XTcyKXcf+7$2(8Wjz?+}`ztSxqAin1wu2S6)N< zGUe&0roHqXztfZhk-hz+4DeEQzkJ>=`xyYc(Xsh272h%8s**d-aYLP;vaRnA*~}%c zGGbbPd1sTcGCd3~(^+@a=h!J}0hfwD9r#SQF!&Y!>0mC(De4zx$M5v-_aky?fV7gV zwvJ?mFo&S0;i_;$^-5pr`$fq_`Q!~(cv5E?(waYvYgk+6|+#U=jC3Ov?v zY5(0y4_n~#^xLw>z5He0sbi4u#^uvzUP@jnxTAaf)_(vZP@yWN1LU2F{<_@DuMn z!|(j+S8?tGcWVaop|Il~;+Za*q>3Lati1GY2fB#8IiZ%-S6JJ`^uw-kA6>g z+->Cs1F>`1uLM|a9QUb5P(07n$$j)iK0+?kE+S_AQ%1_FIw^1DtK}ww(D+vAQTl7q zNtb@Fe!;H&>i>m|;}D*wZ3pDL`VoOQ^NBvQ(jTH1q-`qy87Nk|vp!A?Rz6<*(kO?l ztJEy|)|3{De{Cv`h613}XNcQgSPx~vUEo!Fl5`C+#Gr0zV@QJF9<-}zl(U_7q}tQU z^jQLa)ssuci0HHX*wb3%!oY&~Ye6mYza8Z~B>OJUaZ06cw7`#Y?s5fBT&(j_6OXW2 z01bb5RB)>SfSZW$GS9lilsuXv#m9p`xn%9Q-8Xl)jzr~WNjrcTOWKHRXoxfvET6(# zX{FzZJy~_vPLusQ$ni2;>f=ZsziYZ)pGBcC)cuxlfw%0fmllnYeo>56jyG{$%5Cjq zB}l@`GJXJ)j<)5G9V3VO)nEcy$C^7+5e1^}Y*k&h;~!hvzY3`dovVV%@5S+0TXU@E z7yK`!uIbf?r$sr+m+upf)zn4N7P#rDFtHe%ioQj9izR(WMm0Nh6gX0XtpZPD&czXYYa~}c!#w-8kj1p&fi=2?5hSy%( z#30DMi05blXUb+99dS~182|2Q?r2xQ`Rus*vCrZAzVS6YZipGbR(LN1AjW#EmrHv? zG!ArXtP~K#98S*6tbAMomW zZn@`wMwby-PMPM+Iomq|KbFZo@|6Er0T45-dFdmA4yC0D+!$|Zi1QqBMtD4&onPM* zzZ?i);4N*!2>Q3J<8*3sAjebpaCJkpQyf1Y+2#(Q!)ylGpxj~BH`~ZP(enTdbwWAQ zP8*Ul?Kx{sJlLn~{V_Akz%cb-?qAm#+MLxVow6$YMdzz8k} z?Q^L&X%g}Q@jd3?PHQ=U69K?1ueUpdjSD;)4CcLeIq5oY%iu~CgT)ygv`KW>`yx|8 zKN~il2O@f$ZeLe4HB&Q;a~iX z8=pjf!JlqK@t4Gw+S*p7Z!MG0)Qd3)RB=8G;Hd`{Ug-RN<0unriu;~6ndW0qe}z@_ zsUS9Oq3R@cK0-$v5<$JC**-c^fwxWwLi$D=1ky$7iGhMhL+LOhAuiA+{OJQ9W^D)S z31q}CWL~a9Sb5ihkac37g%A43k6#~U+qccJ>d_a$IQqL3W|cg*d=BxLuiljv0CwT~ zm+CpH4e6Z??SKjcbE{<0F=f- z+pc|qfM453$I<|_0+Tsy<{>U7G|2YWk>~n5=@{=&(@okGwMsrL`LTS~w49Mx_vyEG znlt}w6J+E+@ryl;X8YR*tU*^1lobS=C5hRRiX+V6`My2x+tp8b&x7Cm^$+iS+ji~_ zv$49m8Jan+P7Qzc<4^JLf3D&Bj^S(=GyOJVsBjk?c^F^xK@LDB3rUdVDZl6`E6G5* zoOuicGJ5;eAkCg`1U7PIBx^?iM_b+Q7im-U~9!-GLQ_1rpT0j?DbVu zCl-!C@|em?Is`!*(ua8>xXA+{h4n@MB@d06L6NBz=!i^DUWf|wHEe(Qj~Ozw&p|*PKCn>hs0<4Jzxq$%Au+Opr>_#-9Ej zbcHFY)8*yL=b+v9(;Hk9wvK#AX(FqFd_i5NSj8 z76y`}McT11kbGbD@X=qrO`u8rR0je#$(#5HKj{rc$9ScVKf0O71YqF{{e#{O>B4diiN9jwaay(SvyApv{S} z6tJ`-f?zaMdFAM-bU6-zFBA=)sS0`6>Pu0#qQ27gWdiVb{JdZw;x^+HHw{8KUg8#j z8*_-}+WDF(j$XvRGDp8lf}QqAj>Ch z)GnAR^e|K-k%qL;DAEUDi_gVKTDAkIhZ{0Konu(ypYKfcMqV9c)37sb-PV${Z06S7 z(12zqZ{8oC@NM7m!NA;nFatxJb1!;=p5(Z zfk(QfJ{&LWQg3qLn5pgsmg*+O*(_(5%^)-L6gLmrn6z7+es{#ocpMbw3d5d!p zWJbR55p}TFHrrHU+gY|}L|gPr-p8)^jxt?oo3jwJYy@^rt?t-jAA0tKu29gKCY=c% z^zU=_c*1w3U(Nt_K#9L(nXG&WwcN)nvHAd{aj>Gh8QaYBE5sz8lK&Qaw%T>X?ERe0 z9RcsQ?f3=gZ z4SAz(ioVD#3+NuJS(5&B`v_^kr;9wW>v&5*?~cB?b$9FC&E5U+lSkii@BY1C09ZG( zro0^81cc4YpfL~k3mdrFPl>+FY;G+}_!{U+G$`8-{1yltHRxz|oH}vo+wd`K zPJQS5)Y?a-Zhn`((31ce-$=VCdgSMqi*&!ZC;a6b^Sr~y{dOw=ggh4kX+Zg#Lie-VDLN6-OQiSPHB7RTk5;*N}odrW-nS88*IqQQs zzlql}IvOP?j46~uFk+mvDA*DRngx9lHk*;Zm6oQk7h_o4eKhzq>B+oul5DhH3|FAO zzzAAs-NjhTr%Y4G7F+3Ic7f6}xOyd+lqtsEk@p~?jIzqIrBc! zA+W7{Z!(Ke91zajLjrt-Z^;{6K~V2HZovUMYr+)?-Wm*ZS+Su%J8$=X)_Y(7?QdPT z*ZaA9YXGfDYw*pQ|G9to%zyB7@)H1WbH)u*?j}F$(($C*Fl0O=ZuKLIT&J}FU#5DI zms23FCYd(_+9y7b-}g1I;H&TCUiSe?2Kj<-6HYPeA`iNMJDN0UoIk6xNrxb$+NhgU z-G#*r#LRO4^BA~U<#eLqh`wjJSfV*ADt9;&$H_~MaVq?wF0gb?MwiC@^d5&Y7M)6* z>as!dBxjU?T(vDeQlQKkMV=7=PGlDv3vP>EPS?##xg_!EhaN#8+c4zH-OZX=_dck? zyTWX;4p&Z0O{Ujvsy?2zr7Q=ULT9!^=(svtkw0iS=`oST6Sn*O;^W zgXhv6;~|+`5fHQgbMS#U+q`pr)R<|A?BRg0dlCKwF1)SqiJplw&ZBud*f?*fmqfCYxF)eBFq z?<=+nBh~UyaGV0#%SASQUr+G6E6-Zyhp0L>m@l==G&jxziK2vIM;Ob$(l3_nxheV+ z&0OeIzmwO6hF-LW5Jx}vFfq$6t(eW6^k;*7tzqTKEKF^2h|jzD+%}f}V&m<1WedQU zBj|tOb3-R6F_TS|$t9<0aDULU!gQI-CA(*a$y=rg%V^XrKY^Hh2M{wWS*6E-%OU=y zx{=50>jedgP>zI+U~gjb@LN4#XOW5TMN~Z<3|oZQGBXDo^0gJB6F!#{#)4B-E?Sm~ zIYwfaS^UWBJHiDIsnM9f+d`*wRMnViJeKeMpgnuKi-DrT)O=zL)M?r&a@H;1OJKe@ z5rmru6wxW5fk}K!3>T#SVgRI07!NE;xRNP<5Z+wU=;nsj>=}TseC6JM_ou$~=$C9~ z?+&{f{pqkiPW}InKYhl(^NAC#UTt{RN5IXy$=&n7KlTGh!{hs$K^=CJ#sgCpC$97K z>YU)RP!0*(vxhry>cI82Vf(}x-~I;hUGKXW*ABK>Q?j6|oeutGpu=~p-^U%+b0vZc zzOpx$M`lA#5(k}&k-z6~JzEp{hx#f8Mv(d{)!lw(xI<=X2(_HFjyPm2%3D1cjWZk} zGrbRe(i52p->73*=ZYKmU=x|%9j&$D@lTp}?_(e!#=Gk*Q}hXWZ|c7cXb38UPwHo9 z-;-Gh(rbKf-#bEy~mhYllW zs;Nkn_xN!21Rc~kPs4SOs~3A1w=K-R7|F*gC1NGbwpWZ1&wyv3aIJu$j!X_d0PDw6SrOBUfxt zAFuLDeHXmxa?SziLHS|c$&;)&4yu&;Q!mXc0sH9ZZQJ1P*tV^?caqxf2iN3#+n=@eI{mGau9`l zS0F8Zr@{@X-;+ReA^Fb3rVy;kbCwYVLdWO(6ju-11h_&G*atZ6Q7v$*P21%r+fDnt5ubPCIqG{pFQUgy&zJocfSaBhJN2ft1Hm2d zD>Hq8b@M@D0G8MN_BIpU=GQGaWD65i5V2hA2ND{iI!J>#!|{8#_Q9X`74P}ouQj_1_cr$E4xTtQ!*d7z zm49@`r(QkbnE~D48)#S!9k#o7n={5`&uc^MK`wkURj@Tn5XwI)I~aP1`TEK5^z69v zg=hG^U;6;}4Ko-;UNtT=;<<-8*rwXYx%_0#E==s^e-hwB_=yI4m4B6`eCN^bRZdi2 zD7>N{Lh5q{6PA0NZEk8VTL5NV+(R3ON6xy#*)rWLU$zK1Ve;XC0u~&BF;i>JoH*&= ziev+fmrLY*-g>XM>Nc*9&{^(*U$!S{p!?X7zZ-Hz$E4w^f6IPqT}ffFBE;Ek4!}-4 z72ji(1?E&TWiDn`DOb9uSk5IlmA140t0fE`Ypw8ym2`)@oAO*ZW z4A|!Oj;u3fScVRQx1&v|OkkOJs+Syy;;ufP7}H(9g0G1DG$D|QQFQ;+^& zm(#@dQ6I#AmiGCkvRFUa71B3qzeB!R@6O*?{fqir&lYG$cr5u9r<-Z;f_4^utn^*$ z(fXJdX7hl)1A48Wljl6j3(UYnHH{T|ulgeyxejFP@g@Ief*ru3E(|?@l-CfJgR-6g z1V`JyA};z{>Mk-JJbOfY{S>|=KF7gS+CR~2fq#xP%(^On)wZs-z~fz^%|67cZ9G8p z-Fz;w3oE}d{le3ZMsWUdK6c?R5^s3ck&qZ=^0E0&bbsa!zuyjFBx2QA#%PjTj`YPy z^MI72j53yWKyPIsjYD#2s_n`}ncO73tE0?Zl=qxj0^+p)SwQ8Ts~1*!>CDIJ>8NzftW!yscgG4b>czrSFW{?P`++?_tm#Yn7s&1nZ`aSY zQYH3pD1jh_y zcX!>p?v65ZILI(Zz%#}Y{ook{%zNfpuOapnmw>%X8$|&I&NC3+F&?*9j37>fkt+Y$ z9=A9VK2GURy~J4$>eFT;peOy9f9fBH&@gW`kp0J#E@hj8JBA6(>lL@H&n4LkBk8H9 z`$yj`_Q8GLn?7eIS>Lve;Jb5{)&_4S%*iK{-->-3LB7Gvn0LMoz8&~g-RXi8m(w5e zoqN3JRt2Ru2PX2QdKrwGI4X=nFY<5id5E6mh1IhWsAiPjK?ll>A!g5a@(v!>7dF$I zSzZ%}z;{x4@+SvUFt$DzDlVFGCViE?UeLA(6D<{$i z$w4HG)jf8=kL(05x95->9;nGSQ!cibFN)yFTz&>9E5TiX&W-)Y7<2&BOa`kAd zq>G^^0d>SxozzlKtFXdZKz*kHQBp+T1p)HCSvmbSKZ%y&hmxnv^tU}M2LCqiFy?8- z&2;Y{mK6k+Y2{?|>4b1^WXl;iSWdUP!Mwq`p+C90`r4oO{wKewxx0eohx4obE5_9qIntS`G+G&`h4alT71@+|8hepFk##eanc^^c z8hGi$6%p4L7K`h(fU(^m1NWq9bn3t-UeXy> zRUH(u3?PBHcFxD1=nj6SaAjYHyiRAwP!B3(|Ec_O5N50n7(r<}jk68(Iy(A!B~YIO z1$102>1kZaqx7C*18gQ3L=D+S48GVL;GkT_9_iVhlkCwZd^*CdaWKhZdG|WA9Qvl{ z&QY&tCSjE1f1Z26Z4zc9XoNYo*_o}iq9?iXVtnVenRye!{7(lBg45^?vftRJ-s8LS zlJ*y2MF0z=ob?_-YNjm?a@f0UgCvLR!81*G9>dl*(Pt@#0QZWIcXN@4;5T$lBY*oi zSTzR}297yUnEe#?)pMY*1}&;X2WCy%XnA`=;M`1fPk#4VN7V-we2nR%P>lpXFmsa? zF;lL%I&A9E5gvB;-g}#a3XdN@e)MZ+@Z;%@kgoO29P&k+=FgM*7n_=A1RR{!4}?9= zHjMsgVK-}j@=Mt4@@d5%(D&C|-VJIbuCj41q}yls@c^dU++mUcy3k?*6- zEYHAm^=0e3s*4k!q#rzWZUp#YEB5WtC)AeUKq+>?2}`z>hWxHPj)U(7524GNyz)pb z8o@@UO+0q?5h>q6htl4pU9|WDxh{~frnvO$(zY@(fi-bo$8El^PZRnbEEZjz+jki{tTAdXoqX~VI9(F^|U&4Fpr{x(lR5=9(<8WP4c`6g=e+OHZ~egC z(^qfj?top54j9M#TQmIcfB1~Q_52D~SCjTrIDF&xk)6gj3%98_if4TH`oDydc z8Dvo8bMSFG;~ldN06zH)AN%lKeB+%ldu$jgLghz&`;@W#-?xr=2BOSv%YE+PtamUw5jF_laK}rZJWGAYaMXK;O-0t{ z485*83HX)+8fJ6gWL8Rc3H<|}_HMyjKrTh+GkI;U-ayi`(9xqGsEP=Wwwe5`@{s-4 zBOhf%=?w^Ph%MmEI^{`m@SZdKHro|@@ZB-5{2&Vo56ybrP}wwRy~z_1_*>GA^ih5f z8nDaeVJIv^mJT|yVq*XlYltfR6d_e0Q5RRSu>V!g^_ln^uQ4P)xdUX*_|F}uCaaXF zo4O-r_=S6DUcw*Il_^1|K6R>_yW7xJ-Foi^z|Y&(+}$2MeE6&G+`03$-Mt&E#mdF7 z<8wfK+CGzkfVx#cd>7j9#YSh|eGp9hsWzB;y4YlarL-npij6LHA0Ozu%g=T%-nMua zf{50S(q{ETc7EE*GmC#@;YZC%!rtd#FlDfm@!B4-ISZb&Qx$*3$B5@b$6Y%HD)E#0 zP+JtMkJj=+Bc%gNt1P5a*7|2-gl4JJ_O_QZsRnH`3LV*qN#f99;U5ssMc#>ym%bA{ z7{wMlFzI8(W*j{7zQCw#db`KtpZz23{jv|m=Th-^3is%F*9HJCkm04uuYV*$yd&RW zA&`6iQ69tDoD5Bc33eOFWj3z>v{Ww3U)Fy>7imY(VyUM#Eb({ENTsc zoyqePq~o*5GEg!ThTpzVfra?ac?j zemigD8YZfAGqh8~KiGi(}2p0aQ^IuuY2V=zWYOWhmoBQv`t6;h^EP(>DV=yL3Mb}{C2wLNGD}} zPn3`3Uk#&yj6!)Br*M1V6MY2Hzl6m=q?v3F&Y&q~>MfUtLvRThYSmO_z?e@L8nLm& z7ntWb8s@-(<*Dq8uFT+PkxjO95;5y1Ras}HZ4A1ghkd9;vF9DFYtob}9(V$K-tnFK zCHlGL1@X+|$a~Oz43MQ3P<-m0T4{SAj^Whlt);!-%z6{WHwALqapezDl-LJ;fWs|U zLj-Cj0j4(DvhQ9LppX`7U!r#QS^o6k)rAMcIhjAk;AHNXt^-tNl&vx)A##`~%zh4A zplxEkUfRY#7rwM*JC)kq-6Q?a!%-_vR?}s`YM{fu9q(J%PLBbJ&|9is6hD~IE9Fly z9D((GBLgF96V(R`CNbsX$|r^Wo65h)X}Y2CIqKv-1_iclLu>Z_*I$3~y#oa+E1k;h z{ah($(UuY3ceL_019E6-BX( zxFvLpe{-aCt=q$Ka0=;yqM5Fe(8TPE>Znymf_YtpH66`GL6thNmuAhVWyQG&8mJ*# z6o2BG6&?*dm1pTP7X?jaZGsmSYAW(0Q$ePZ*Bfm?CY4zxab2{z1P+Z@}ij z*2nn)9eEbOINe#~UPxW}aXRj7drJeP_CYVO8tKB<4m1baHE=!y?Ngt_Z~yQ;eBfm0 zTL;Wy=8*L(eU;;@4bR!ZzI9m%;NacYF_XFQMDE4SJJK=FC#W-dW1~b|d1rM=F5tPU z06F^_0m2Lz`Xsi^4(>5Ky%_UV8F-gq3ZFLeYj%zfYPhy%?!S4Ob^BA7|s)O7f4XKUH#WfcMCCxWOJ zr?8J}GZU}5bl+^Afxt5dirSAo=sj*}h}#xOQ!$ruzPoc7z4ZT_Ir3ORf;df{_JeIU z0O)RA>E|ecVVvIYK399BjYvDe{iQkU?6bc|``I@gNt!wHTYh_#Ej(>wTf&&>m#qSE zbsV?GA^KL?x>JEz%9bx}HW+dhhb*C&RXk=%8~sdwf`Ki`!hu3|bjrW1n2FUUoxwIT z_y-KsU@2`({VC2*_rT*TkLz z^L7&t`>0K$zY$KAFkVkoKsQi^yeDS*>%@f6w%|B{MC3yT2{v$i20gf!A|8@~8 z1-Zf_@lhlWbxYV^EmG<9i`rgm4u=Z&e9!aVqWNUKG ziz6!D@UZV*kmW_s%^)sAxGlbhoTPlIM`hU#035+Qd}kK`+!BdJHkQh6fJ>+ELYAZA zz9y*PE&*D?SrpR+VO$w^IG0(rEGe>e7vt@lGcb zsRm-k)A-KEti8%ZLB$j$7-aT^2CUja7=Wt=+`Ss~diJR^zV)%;SG{!|4sYfk{nF%j zg;ntherAv&QKN`;23G-ZY?H`k;X^36)LW%wIt-?IinCmC&71OIpgRd!SkR31>5^@p z3jvp4XQp+5KOoHwJ(e@A4EB}BSx1}xc+Ox?*m3fGrGM%vWyRESlv6O^V4uv$m~s`t zj*v9)6CcfMMX7t1SwaR&Q9nFSJttp+@;w6{-W4DEs#G1^WAhvYo2w&u{zVL9McXU$ zRoz(kx{vPkd4@n9>=<9;xBHySjy2Kd$K^yJ}d4}XW5-J5pOV*h_@ z;7vKL>1_bnzeo1F>NCNolsU*>j$z2Ul%G;X9+gkVJoG0n{;4ic90QK>bm4C+`BE^J z_TAX_`cCC1+b^`71PWXfW?Sn>FFo~d(r@LrY@;EYBe_-o9JL3OS%J&?763c=*|FK) zh30GB!QKkmRi6UY7mzBls#4F32CRsuuedJ(UE1fh#)A-9UoG{nD;q0bI%u-~7FjsJ zf>p6^UJ(0dnU~D7W0`~gH0?y;(?iJi4z~c5QLhW>n&)D^WmM=AoPD_(zwh9C?d<(C zv6_Rq+3#sUO#kt02bY`C0B|NGu#izam(jH&r)lt*?{cimaE$-?Y@B((t~emOzP5l0Wn6(8F%D@u+>M zZND@=R0Yxweyd_WfPbWf6>y}hHckbUig1;zi_(z6#ZiSjt)H-0$7ARWD#B_=)hL+a zvcr4DMR;X8pkDGD+!{~*Z{5uAx_$U(z3(!&*Kz&XFW_Szx{t@Q zryfAe<|=8{Cj}FktX+;o5`%N%q&L#A!g+vB+pd= zO7r@qD-B%~FU!u@z`z(G`zk>B*l@2W#Irq|&DTBby!BuVWHDb)`ILajz3wZo^hw>+ zJL_+S_Ay({K_e`@K>3(BL{JobG<0F|p==ERqz`1}31x|a_q2HIp2V*@mpYT1t0u@l zm8Y0LW{2J59{Z$!lyMY!ANjW}3_P62@_VK$tI&zp+X!@4n|Z4?wFy+FEHAFa#4Bxg`1dY4-BkaIe{|Hp^S!pkS3*Rat9>lc z+zX@0x$793`hzdmyWB?}r zF3Nx3!o5({;C}oQ^`aUoW{Hu-MR5YurYo-bWk+2xPKbI;44K79{}A3B86_?`;+**J znl<00AzDbIfg?W!_ch>61Dy0wd@5nosLN=aWqV6K0i%Ad-@}oJcGY(fJd+NA^a9Ir zFa8aGy6>MO8&GeS@9p*IL_d5SSw16qSMGjE1xj?*{2{@^!!_|-e# z($C(lS;M$E*USudYWUBdJO0|o9qoR@*??}t;n#z+;8ljkyOa|eC9rRs@J@Wn%;?yl zkUSymY|U`p40rDW&o;-iPd>-Dzi#->H?Lz^b>5h;@|i9A#*33doFXWgr_G5NT>Ols^0d@w8#o|aA2pV}+9M6munF(H{2c~=7 z>FSFun*k;DU0f4r3{061(IzLZHg0_2Dua+AqvJQv8<@AQWZ$RLZPHkq_>fn$kJeN3 z$-n7eo7C^vw)5x{@3Kc7+5gQFuG-LO-xvg7zi|*FbxG1AZ;7F<^QoH#jY4M-Ph{I1 za{h(8@TRN+5?+SjNqN@6Qjqo>D3UECaJ1eXckf<5cE|AE7{RD4!B%l474RQ6#gX**o8 zZ^vSfB!3HB>!W!Pe9t>*k{#5@C_WhLrlsEOGf_ohz6@A{b7?0l(6*2)iHpPPi^{TV z8;M@Pvy7MM2B2l^QuMX1I9`Berg)|L-vZk;TT+xVe2B9&Ct>KD985{x;!{Iz+jqR= zJ80fbFN0<;cy1XKYx{2dtod&W{xc6QBJDFnJCKl|hLv(arvY7A7mEU2w#DRAeAUeQl$dr812Ql&w5uXI(A+V520*Jpj`pbYV50pd zjm!*aiAP94aV|!=SY{0?Z7c25M(}-$`fcp}hrinJ(VzML$G-vYZF6s|eBd!U@h|_- zh9B+?n*-+#oE_LWD`tR?6G4Oj7}V^PY^3?v3rjk5uKZ!&dN8sFPb9ss0ld8 zImh+$XZYAh?&Co$i?(?!IQg*ZlT<&W9vyM_`Fq>y9(nGyhd9?d`^$p@;p3idqRai+ zaL2}(-TB_k#y#NbRELMd-Zy#2;JStrz0BTG$4z*!G9$j;8$N=O%&)kNc6Z2)emSEs zWia5(-@eozC*#im2Zr&Ehl4HpmjfDsbI=8$|H;z5=W2yEgO_OE)}2ekqu*H`R`&VZ z94y+lyp5sDa_b&9Iz&i{lNoffnr$2O>}EECZSM6B`c2yDp>OpT2n!wzzMK3r;9=I| zaZ3Q{9`?zO%g4U+49asRy;u9H^oGkdgXH(E$JK8kUzA_7q+c`iZ40rEGdbo;9iKXk zr~8jObCrqB8Ejp3Fu6%&Z}xfg*;FfWj(}0#y!RPsw<-^?JU4_mO!1mqLPp-WOo6md z=89mPu*i9R4oY_Kvp+n}1mP;4DI#Ij*)QY;3;I*`a|KJ>W}*Bx;cqj|S}S|-lV8SP zvt}t@CbCZ-guE^*RQNvlO#*!+{zknu|KO=-)2|!2_uj|t0ONb>9owTvkA7)8oqn3Z zx^Wf2bZT}%EcsDwZm{JH{98R#Q1kBK&;ek1s3{s{$@V0M))`q>TOBwr>9+S<0%rIX z5T93MFid{>TIq8FV@B7aU!o4NmH95=Q@%}ctCX0i$$*g)Kz<*IKO+ydy=C#J%xbO51N*K zOwArJ1g=5brR~VJDlOE%cHu3ou!z$RO8&N872@lmn2p4_V7c$FOZAm{Un=3kQ{oVI z;N|S?(n!MX>f$U>oh>SPO1^jZDa+kdxiN$GQV6^-hbT4d29DFMLJd1ZtSwqwFD4oHPfdDsooO#D>Al^kM3D$UYBg=!T&Q0res zy^eHBRiJ}kgb+FM>hYb1CxMvwHpd378UfW2J6!7dJqt|H4$_Pqgs_EXv(~tBJNF|i z5_-EperDTi;4Czjy=qF|pk?5)wEM_-a}VeR=c2%j`dg&OX~&$+MxMaSnTe6_=pJB$ zne2_^KJ?jOH{ki^?OWe??Kgb*mFo}ptN-@Ivsb* z`@2V~Pr8gf*_+n^N#YaEE~po0V1*1Wf*vAsYPk(lSGSxYXCTcx-h-B^45l2bv#+y| zC^c|~ECYT7eyPW0$#7Vjrg>%^dH|YwG}Y;6AlA`h^{~F@zHHf_J$YDfix>fDF8_~= zVP8_-NtV&yIjcQ8VAN%n0j~6G(8YL*f$R@PI%lf$wLjXN;nuSv1}F8}_mHxram)Ix z*_b)*3tb&^YuRW@-@021wE{CR(2Kg*p6)#cQlf7i;7TCMpig;@HcZ$JE%{@@Wb2IA zDaIUum-?ek3tnTZMI2xPTGSZ8pkESnoVZW=^xkngow8)uRZBfFUoHcI8E}x8me+|6 zew)F2+)zQioPmtR68w?E@*Dtx5Bn({9yknLgTT$qu+4!QU2#&{@3dVlWl#7p{{{_Bl+U%FY<&-Dr@$&Y8EPL9=b02h(%!Z9VjI*M0$%$IYxz}vjJO`uwe($WzAg3Cwy55f76*@HZF4|E`ll#GAqPr1 zr61|wS#I&ajK*ncqgJ)j^T;n!nDI&432#rci0|nX-ioEBdZI3+RjQFQ$DF zq4SH%zB{)7T&U!o;{Af|xrhXvj-z@n;&Q1nVYqchUdxR7oR$HF*=HFU+e-18aG1>l zu9p%4LGle{F>!N*;;8i>H)xd65jC%hXTq@wJZDw1O$<>2%i#Ihh@(*`;<~oZRtlwq zhNzMw!O~V$RIb05QBzxlYnBfvLZ|8WF8w>xrlLDq9#sMp;-X5}IPg>zYAB-{6q+ic zoFP;LP>p?{ugaMQ>LUF7wJJ2$AD>oK{e;_UJ*>+P@Z{gT7BHP+$yc>KY!I?PF#Lp{ z_U5BsiSE`rPFx`{ZiX84|0^Hg@B?*@+Sdb|17*gZ`O8Wz4PHqj&)G-4=bU-GXHbwU1=y}!C4fRF z)v=Jl1Jw3KKUAICTF#1b6$vnJZ|EGR&UCIq&DnGrD9ZMSQqOM4pt*PHZ|OsRnB__P zQFhuZp76$5Zw9=BCi4aiJ+ojcG6t=>PrvMG*I*1f3(VPQ#CNy^lEGqWPu#b0O(Itg zO!x*w(Al>>w^kTp`Mvmjx;i48m;&V-Fqrl-27RWX;($!$5874s-xz@DeXME-n!DWI z;j;FxbA^Bmq>*D>&H(6+Qw%&{Z9>z!5@Racz=3>9612bv1-}^BnX6hj z{eNoGZXkbqTKS?gTvsB{uC$f{FiNUuk{;JK251@kw55K^goUMf*sLQyD>?! zWQ~5{9~Qh`_)yXNQEwiDseN)O7Y_2&Y__J|qWHU+caeY!V=o$jy-NcCUyA28eSNWv z233+?mWGI2MxJU%^i?W|qF)WAi$vI%zK-B2JPRXj2Y9IVOaTZ7SQT(lQi)TNLGxDp zk8}zhwpH*dgDr+ERd=DiX?Y`TmQgxV;fPDd_OP5G9GJkr7&of8Mfs{btOhHb{Ct-* zlo3=hfHBLx8eJ=m+@;<0d;Bf4;zD1u9JSw{rjK3u!@mpr50ek(@7=zA%83514njE} zpe6pXXVEN9j&8<3Sqacup_}3W1H2i|@Y6Rudhkzu=>GLr_H%bMnNgbb`Tn;z{2zbB z(e5_%VsK~>$YIrKOg{JEG3m-_=X|6G-y}`QyPP<&saUT7+;71BJBBYj1-4H=$IpEO z_>R|4ad200uTM#=x4^%Hk>wy6VBKGG;@kud{59pYwU&~v#X_oWga28%7Hoe}$# z1Gu;fR!z&em)>zYwFr1)CM91DVi16VV(tT{e)EJSxaQ-MHv1$5(ZW08et6DaYWZ@?yR2Z)0NAum!h31w zl3w1u%)-Thg}@2A5+0J5*=DZ5piUto8o2MMF}+cra%?jQO#aTco6Xbmg@;`FmbQ}t z+PNL^(Vw|eptg-P z9^iZNOU$@JUO-YfTh zk&nv&66dgOt35{8#%iCBZ9ChlKEct-0JcZC~sCcZ>Y!d-kjP z5uuL*i1;9fxQY(dbgftNvR@O0^kXb5$}+-lOjA!H=qmNN)C=;DrZ0T#iA?!zNV+E8 zmB0&I*Dvxr{!`vpyJzSw zm84}$tl<#qPEV;*wTC|1e-nD|^tt5-fL-`b7|O4j;a~t@--<6qyS|v`51!1RDRbp`DNE0tcYpRwMCHsQUq7dsJ4bAG{ z?0+NpsTf%RK*QYfVcy{P%)joRc;Dmyj*b16SK~-Phq)WiU-+v(e8vxM4QB_QogEzp zAKPJv#CeLraQrG|mKZ8OoQ6~OA_B35fBddNxB<9!;I-yxC*YHx@3`vE@ZDc=7q8L? z1K`1I$9+_3JtRhDX`cMwee4GYat}XTmUs_1ou|lWLoI3HoV)`p_c)U-44(Qt{hfD^ z6EU--U+=xnG{;HyT!}DedV6$6ot5LKr|ffpRh<5MQj z;i>XuH3fTO@XJ6~23-O-Dd!_N*R-JTfS8q)9x|At zZ7}5Zd;t5)a<-TF^Ehb-y!$xjQu-)omUC~l@%}bZrabR}Jju3og*D4_e|lND5rbL@ zgM((iReVOeNBaxDVyl(5?AR`QWb$SMoe`E*2156c|B>cobqCx%Z-0ooqY~1et7S%g zv4=kTx664P35$qw=7024Hp>OR;O!y5>W?hvYk2oLs5)ebt9iI*Kl06r^ag+;550#z zpgcNq8w@7@@Js;WM%zCw|jm(iwZ7_>*>&o9-2N)~PF?T<}vqC7^MTtjj7F z4;uN@!QQ)VeS?{u9zJ;RE4=$d8;sP7X-^tLV~aL+J1DO{hI*B7N{87uw&%Z~Aw%;REMg z%j?5@fy#31OT9gb)(@efoVqvlV`kl&rZ#LlNP86Yn{H*?Ut_bBd1i91~V zU;tpH-IojbQsGW1-LmK++$%Bm@a$sGS@FgYPVQ}RDomnqiZZ5RwWXv@VPFHQIwBbH zwF+znwJM?Vdo8PU4>YQx(ehzTOVuVYvM+238Jku6IP(n#wkpJn!N`&BRDLG)LW4`i zgV&KWk@)NkT%}J2vz3meeU><@5m$Vne?tD_VEG_uM#9bdEofUup7A=_w1``cZ`6h*h}(xX(wiRq%5M6)n^_9k50&eI|Fbs z;9djn-)Z>KGq8PT!%usB!q0zv4bJez3Ls^TMI9BFMEDDkEB=tdi9_#UuUGSN_Lr+N zln>L-wvf>+_6%3~V1QW%5CND+-@{~pk~b*W2y~-eWlwqraWLfR{qC`1glUdkRxf;5 zIh8aL8pkR4$r9rq&o(8GrvtPO$f~nZO>9gEGPags2}vKi58A@lL+(p0nbt zGiWKRWU?1#zmdOCh%g2hmh&QbC?DbSW&*(A4v%_d;DZF#0YZ~b=1jjkVqbnaL{N26 z$V1D+QfF(z*IDQQAZE-A)226w&PctWD~&Ab%7KGZE;SfBZaQm24$>}-K{h>5kH}c? zjWn+WP1INHB?*sWP{N%@J&xGm)dvrL;`R0Qk2hePvN@KB#mySU<~Dtof7O;sT1y%X z+yzfaUO?)ZIih}KyQ%b}{i3_dszBw-Rmu{^#lSccBm}bsC+XkfSAl(B@v~A6($*bX zQJ)B5ybpgjmRhwaBQ0H8*EE%bE3sXt6t))F) z6k?#G3N^i$34bvPMNwwHsCiMO6|U54ntyQ!K$XfRYm2kF){hl0EbX*V@^lc|y6phS zL#3usEKMMdCO12otA@* zyK$2_OaIS))=|$@NU@!}*Jw5w5%A;R(2N0zUm2$DQYAeD4SE;x(>Lg`;t# zUG&g+q4cGc6Hf~qyF0dRnqCdu* zUOjP%S7I|5(54QmGpjaf$o>s_OxP?Rf#S?thSq${EGPYwHZA)E44idV9!CC3eouNZ z-_#7GsXOMP0<@BkduqMR;O0zqu3DJwl0b+(7%*Os#|6!J!7GS)W^Bw{} z<4pX-Pma3hKJ#_8LadDNn3;DNoQG*nc1xS?!t-)_00R!+CjNcTj|ML*SIC#)trWXI z4j<+11=Jl;pC`@LPC9Ji7oj8Q2&H@r_46!<+2(OufKSpGSF8*O?4zQf93JPH*zBKP zbWPMx9H&kgfpvrV9DtdtT(&J`yl>syy=~{M-?_eeeDB`9-!$R0(ftvkhd$Myl7lrP z@V>mQFYGyWj`$AybV%CbUy)Ea2ttuAMSfR50p%%v(R_3C(59N?Sbedu2cXVCv{msB zf2On@#TTJO9_63HAJ~Wd5GSuZk1)v=>7qC@S=toE&C7cZL=+Ymx&=u}2H(+aEuRC& z2yE1z0=3Sg>W6w-WIpT=!bTPNNVh2PcL6&84LSG4zY-glC9-`v zKGa`92)ndsCrbsxgdhTDYeiO+5|y7S3(2Y<2Z525_a)$qx&}L%WnCJ$QemZmLMZ-F zVbUIYBf;PnucRGeH^K-R@;59;S=UELUe&k=#X`ZUL|SQ=e2DVi868#dzzq4M&IMi= zK-vOLw+N^+U15yb1S%!c45HDbMiZJSm7KQ{vDI<@JRgY zXGzz3&Eh`yG3!@P@i*I_55O|S3;H_=J}PR>Hf#2wS6}@_U-jV5H*8yfZrtGM8225w zhEJUxfAvQ?p4~a&JozJ>@F^eRR}O>kG)_gX0KI)6-~?azq(xI25I91sLT`H0r2>zSE}+3`jr+cFfxlAgXm z;e)Da6VImjh-|50BZNsuE}LiizFi52J(H)mi@ex8Y&7Ub`Dsx;&pep$GC~UDH$jy_ zfzWkGKIkIfe9CG6Fz`^lIxX+8BHY-cB)FY8)CK zjSoIa3IHaXKUC#EfA%}h2P`Z73lN@w2gU5{yW_bAUwO?kuM|ldH9#Hi*4XZ44)2M=e^}--8e0Hd15I#El zW(t`6>*7OlW}b{oPU%MNYLEsFRCa5>WwDCF|0RXa!z>>L|4ERo;V zbi!pL69yu0ZG-KzNOHJHf#9XKhLOfn{cJPSn^6%%a7vujsF$_{(Astf;BD;vH?v3I z`kvQ*&3&`eJYm^LN}EpX|KrD=<8Qs);9MFzI;m>M5U$~XxkCXnGty-5 zx^!$lBDZ(D_kHQs0#fsydCOYtMn;a-Xp3>$c!x1M)xPn%{f z57{d-7s!BVY@q0&e+Iew+^%8uw0F`B8Q_l3aiv?Hk03LSG832qx0TfbIU9)3O%Bdf zV%A4JFt;ys#~4nS_m<1mUajT3*;@48z56&=4L}Suc@M1;c?qZY+-Jy{-iZV_GakB{ zGs|XiJsxNLc_srK(RTo_$xJ#=zu$U~fspmg1_tv!$&`VT#qXxq!A-o{G;l8UbI&zl z8H-#WmR0F$smved4(sWFHGfow0qmOd06M<0~-SkWtJXeaA({K02uOi z1if~VJTcBq@sNY$MX~X;r&`ZE6GQ9F?_}62593-!hsj_POa~e*?VZzzEV>A^cPT&Y zZw_ivN9alo>b%~^a>m|!>)rc&dA|WwZmfj4e@;)5Qyyb zFY?8a*S7QOqP-?K&?nhJs0MF^RmujAJ0z-~uWe9-kUnu{+xv}_{T+TwR`utCtcKFY z;58XYD=3<#5BUu}zNte2Igc2VNR?#Gx73e9k(Yn=;ND5` zTRk`7_^#aoa8o5OB$D0Go40tf7+p91TBSGZ3!&YWx`11KnKe-8FO@Yev0iJkB3dOs zo#s&N778+!uTf_8w0?ph+7}u~#T5#Ij?ao^7=ua%4NP@p5an$e1hyqc;YH;zUnP+k zKc=@-8air=gWn)LGpviDa-=pJo+Gw(1h*J8lVxd3-oVLF@)O4Rn!ndmVWIiuy_NFX zxBGlqel1&ZNLF1=sMAL7SZepvx<@E7!meT}Wsn!uZxn_&a`2k+ha_K!Zg|C6_K ze-2o4Pa4~);d34McYmbg>Gf5}nWxIPu?QW}|6%zI9?o~rc6^VZSND9*GbD7WTSkME zJ`P+N@bCn@b{F{EGsoMXcYOT=;5*;A2Hh!n@jr`kqioXi~1Ze+%>i(?Rwq-dF!@jJ! z)^5)^x5Wi6z>Agu34#P$F{qG1QZyO1q>v*V=BxjtBm5?t@{=MIcG$8-GD4zcnj#4c zAn(QPPqRm*A1c4hFKdjs);CfZK*xy*IyPS4ChdLCv zgh%Lvt>D5cf4hxz80k2RZF{#cy%XV}iT zk07J_+ADzaBFAm^wfxkH`Q05Zl?@zA z3%v4KSEOYd_kMY6UucEYzrj`G54q1~V$6p)`+OgiwY~58ext)3{vBtVSMkLA2^KX` z(xtW6OPkt;+kS~H1{yiLEZybnIS%8eU`Wm<Fz1^ZRn8j!qlLE}o-zL>>PyAxt{E z*RqExOmFV@8SUAwOEliW?Q@r%yZNQA=jv;g0u7JPdzGp7^z*B~Xc(GZd9J?8t5LJ8 z5z9Xn4oW=wWy97z4%yySHPD!X%ET)}(7_BU-6CyiG>Z^ok$imMFpk*vi-tV_PrnD`D1$1(o;mTa`r%*Y)@2 zJ&n+v2Jb03t?#K4Z9MJ>B+(idZ%g6#faT7Y_PZWm|30^G%0^AOso~p<1(s{A?xI!r z&j1YI2E6^N-}>->|FxTaFsGXXH!9xc4;cO*KRNLK{D}dNgFcqXkI1o^tx5Mm46!W0 zG>Y#8mbUpxr-T&QHH4HIH^U=7SXh^}X(M z4KD8;$ANdp5m{B43SIn{VwC(omt*3U^;}sfo)PaNqZnyRK5z%TXAHUC7xFH^OyEd( zHS<`3fXWo}-1XX@pv;uSiO3a`@?#84I$=QjOyeUkk%5qAc(Bhi*8EHRY_lzIn8*wy z=v*-~$;_(A#~izG+)VnJ<;`LZGsev_Ypt+weCZ%p79MgEMa(1!M@?mPX01(U$P^8_ z%2eR}d-p}CA7;AU<&|l4Pmi}iZeqW(Uk}I9;VsGtd;@%YiC|q>kgssRs3P4@>UOFI&prcl7;! z`)mVkI;|TscfRkJD7&m~v(>~{>rS?v%UoXPhr460_fHQSs*K&* zyyNv~JzYi@XzsghV!b-rHhkprcHD3NiMK9ozDUi2(0&ESB~03Od&lnfw8M*TKb)>R z_lggsKHuP?9lJH_*kNbc9^`tG)Y#m0C!f78$m2_0Pt|vt0ia6e|6i_M%;+@p(_rTJ zAV#mZo~rl!(5ikF1b49QekDAS1a?JQ8i6$utH_{Tw3O~rK_m)=)m^=dVq$HG4)g_d zm;LNO%5Ce4D~$nwGl`{)M8C1t@+FQog~#@GHEHc1z@4bi3KRJ|)vm&@m%sQ^WlG&K z2*34u6c_bZzjMv}ru^@=*Ls_kr@-1_xcArA>dSk>ww;Jg*D6{~|JSp|O(%z$?Q{trKRhwtAWFwM&Ox5zG2 z-@;3-2|d>izC}2ug$i`6xg=gZ#QPyZhZ!Es@pd>qdI|jWGvEh5cYO23#DDyY4?w^L z?r5F$cDbO2`Odp$atzfxWWzr)62PE_voAu+K&`(=IO3VbUn3S`(c3$8lnJYYYj?|8 zrh`a_N6^%jC;3%rZHyHZlz>dqw1qqukzzSBp`59FZ`EHl*r?1VX%!4Cn8<&Q$0k9d zOgo`~vfm*NNtf3kUyqe}Rhprr8|#^4s|h(KP4xuZvzi%}8%|1d>a4Bz>GXE`Qs=qh z6f(WvD^OAN8P0aXXStMRhV#dhR#J}M(F5vK7xukA19y`rM#y@1;;#ZlHG5!ve>UZ`gwbr3$vizR<*PlYy%z_8WX?T~)| zY{L|8ilz$gvt4uddsLGD$c7?kQ=X{I$i7o%U-v=zrtvwdee!{}rF9|bA|W+f`vEn4 zoMrYsd^MeA{o#^tTHjS2U7i>Oev=u=XVyJ=Ih5^Ccr_4kb@gG9c6ROA+bNxs1AMA- zwSTY44X5wnD5t)X_cUyw#+U&Y{@d1%=bL=~dIGuc9HYfy9w%fLiInGEC`);LaT^rir~ z7=~qsn*glsX#cJEkVcPy(*sSaoaA>tUXYf3rG|D1bqdNds7$LD`Y(mqWU^5VYyI2r z&8SErYxP{qm*S4P^LZ)UG(PtJH0{1H>}I)?++mnle#LZu^*bNE`G?=Q;ae+%=C?I% z90qrco8iCt)bWpg0DSs*!#f8iuucJR;0RinLHrye*S>jWiaRSY`xv)tvjFH49FGEK zz-<689QgVJ@aoaFNDWi^|6bv!5#izmDcRBKyy*S1?zd zlO7J{${>0^hg6@AEs8HI`-~o3KpidErtNt-V^+W20H4RZu;C>J}W-^9{>`8!$RyUo0&GegDoeLlL zayNJz#;kbNp~sPSnUI>)D>I(^AVhz;R|e}R+@l5fg?N-s$J#$_P_22yUM;nIjdL_zMN3$t2&C!`9;#Qwc6;wo{hc+x{GRW_Fppws_&(G@@CqX5dQ9} z_U@JP{tk?--xu&)^zOP{;^*XeO46{rBh>hpE=YKr?X6{n9~2UKr}t#<8&alGrtU+y z)7Lfb>i+(Gm%j=l1olJJi+f7@@BPyD{!;;jQ+3bOH?E$S=zjms{=2xI zg@?-YqF`rgZ}&1PmIUCJ46#S}tYM1+Ucm9fDr;0BEU$?akoTG(S2zMT5gh5vVIy{! z%DNpJT|h#NiOpF|c!b?T%D}dItijur-4zs6VCo(;7`C!hg!=CJ`^C7KFr+xGT2^tA z<+8pDVQpLgSs!}2U6Gw(yXfZ$mrn>3H7?|LHxg(l)YuHY&-%GLFUOys+xf)U>dwk( ztgx>Da#4K&tUvuN#-IDWZ+-9&+_83|vNdBrj#7r1;s5l51OMvXz%hVnCC44sWmq)K zU;~Cl^VMd;>yQj{AD^O)$STGww_$i3z}pAIw_h0E0r;bj9S=6~pZ?+v4;C3GrA3hw z#j8v1?BkjI5C(G#Dw=EnH_Evlk*VT)gun4~v^P;}VH3VQYn-$Z4t1l&gm3NHILyh9 zfjBRkL!0Wq_b>5|1uxI@PS}Yb%7slHrOY-YoB-<#r$32deU3Olz0WWpp8)Q@_L*Fp zA=uz_3BX3BN3F|bsRqlr=jMYo+;PRL$$L3F21UKDJT5#O1HjCG(o@i9;iT}%?>uvy zCj0o#Ss#}CPNPxrYa<;n1g&K-x5>?sysq0C&>3UfN%K}~*tsEN zlSh0v_=jt{6OK(z7fh8ER#PHLPUM5T<6uxj?(-ttM6e6Kt6~7=xyOLX_$n_a&aL3p zzAQ&};+RLyrdYGH)WBVJjbW%Y@sQahq%-d0uzIof8lbEh{4{VYS6kDyg8t3SY^+~l&jCHj3&+j$8D{$tcLhXr%RG#epY;|JeD|DNn>ER8ZRn{*0F72YfcY;+u zdmlQyRcGNb`;f%6{wrVg3g@M7Rd=fVZFYgaFFGvs{D${#OLX2VR0d6KeQtOZB1sN2 zZG-nJC`W&6w;!sm`0hYAl=2uZ7jXPgJ? z;yO7b_h_mb?tRcl`8_osh#)oe`Ut8L)mHcWXt>^huD|ooG#XOzB|O&3);sa07fn)0 zSnJQ7-zWu;^%?116@X#-BJ(wgcs#s2=F8vt==DGR?yK8x_~AYsw;UyR+zj}+1OM5- zop|?f!x7o2NpQXRm1F79&Uut^nDUb-##Ffb;EFIXL@dD^j|2Gn4fxti;K!c=pZs{@ z-}?~w_rG?-;guza!m`&LgH%m=)N2 z?;ESpaX#YMF3yDT$UxSZFRku*%$%FY`dtJKWZe$gY>-P_*3RD!H;bTv$J$>9I0ZTU z*u@RZJkm&NYwe@oW(@2gXMrTkICAE~%|_1LphJ?o@57RoG1jb#%oI27-YrDPRO4yI{dPgZ5-r0!Uk&p%L`r%#xRu%QfgTcBiKeVCD4Y zY@DDu;&Q}z*K<#LX4`Yloblo4!I4_8?!ogjoz}{}S>kWOvZm{=aauS&j)@UY{+!dy z)?OCLQt>_O@PeN+0gR^|95cr<=@o#_17o00)ZiF$OhotR@|i|2Nt*^Ui){Sj(dpz> zXdr3IjFi%1D0|8I-BK{RLubx7CVWme;^8=^-)`d@Z(hIohjY%?DNM}TxMe%obUt}y zw^P(M*zGUMOR)gVYz0^H9Xoxmz)4vG$*av_-JIRvKg!)KCv9I@8Pc2nQ|+n?yEN@D zY;d&hmp%|I^!KZC)yLLcZ#z{C>0`sm_2uX8`QEQ)ei=>L8RVfA>gX#q_m&^}M&g!M7`|JKs;r?V>DUGdtIxu;6}u z&;5pUo4j%ULw_IFpM}ReeI13bb|3fJU4Q$o#iu<4vaJgorGT&C52xnCfJYm@{rkW0 z(f{TKJitK53TqcYVBBu_zy0*UKmNI4J|Nfr^S?CUl%SV31T%_&F2RUrc9wJnu9Z<3 z_lB)Ax*u+aH#guLFMx3a{_Rg4_L<{9{muhE8p~NrnQ2>BnYNMJw>$w#kmx2~HU+_1>arJ%c-qX1b5zgmX5C`*KLf7_nA-tsVA_XTeNj z(hA$I6D4@O7#u-o%pe068~X3-m}$^6yO^C88DX|IOQZ8#WXYfr$7TI-_xQDRV6NpD z5oj4UGDwknLvY87`vHt_$ho;65O|2?#I>7$y=w$;8ynKl+U0%bShJv+pi@|Kihbi$`I3E&2jVEfT01V< zIG*eJ^u%f7U1mE0GfNcexGMhQT^l2E=T66X!KxcGk|(nbaul84*qAT-($1MjyU1TT zyMyE4wRD2~LZ_Z%ne`=|_x%bMy_Z4n77p|v?e7Mzr935{4O`MOmmsmpXm{~uwOK)! znDWnHkc^$u=Jc5}4icC2x)P^FBW9=r^OL@T?eDrb9xu;{n73hd_j@< zob5nw;-09Ex;`1)E z&*c@4eeCF&JHKh~;%bL+b?>I3+NW!mjXh)!q(Ud*MAUf#liupJ@KN9(;*o0F&j< z!L4Vnit+|peUFAc(dfNL735+g@xbbjzw@QV07`^ZNVUcVMKuzs-FkEv+)a#RjKXXm z$HEAWm2)PNSodJ6YC0ol0V|cRPE|?66jy{R{cWQo5V|;4PYf3wgv>e$)^Zs19*Fb$ ztylKi9li-`*4b+d{9XaKDf_GT{MqLhHShHMd6{Cr?DXYcf&TOKY1>ch&o`y83;9z| zwcaa9yeZM9c;bK42F>8hmNbLi4tM*-mydt%SKq$)oq4!V_hHGWp5yv|{5J=Ff)Oq~ zGu*z>D_SN92HEkR>w~Kg?lHA1_(6AAZ_3BZKo|zR7{J>b@X;gi!*{^{_!GykzjXY^ z-+oBCMSeyUe&>teYX{oS_1Tv>F>~jCU>*l3J7+k?%q&|7m(|aKTvu%^gJzR!=+Sp` zuN~pVIhX9M8P~-VPJxy0tp1wE)M2xAdI25x@Z`gJEQgUW@Etmr9MglRR1iNQr#Rhy zq+?1Px|yx|VJi?28SkP!lK_SAVbWg8Bl6%po#;UN&Z7QJFQ?U&4%4%mPZN#gon5~a!fRM z#{CM+EM^47SV>#!HhD_NLS`Bg_oBJYI18Z53yz=Caq2?%Tv`HsPU-EnCxg3V9**gY z`;Wu@)vK4k_VD=dH{ci+i&`$7GWiYc_f@|}@3wcff@UYBZd3if>;I;un~q{F9X^-4 z=d0OKW*7atesk}C@yRuQE@uf`!2cdz#w9Eb++r)#le6_o+kL^>t;(XQ&DJ9QX~2mx zH|ve$h1~1tEd33!XYze2ae0&U+kysSMAMQ}G^aPQ!KVOG5Aa9%ATD*OZH3QqT^F`& z)7xG87&=2?r=#_1;9u!Y;J>nr{nXwLQ2A5(XY%)DuL~BaX99{A`@#W$tLv-i#OH5w zmz2PhgmLlxUVV)?Qg~S_bwYYF=H@1f;A^thYT8S>8z$4@vyx~xMzF+A)w?_N*G`;; zLhhJQ<~AisF<`oax#)K^rU8Yn*tFhiOO?W9GT*G4m&3DgP{oW4R z&c)iE;tqK)+810A6Bxi4Ccs02BAMnRN13vrd#DDTF;5T0y zFehqDf#NkK+g0tRPztg%{yEJwH$ICpbpEl+5y`+M4H=KbGH*`EtsFj+>>%r-b4jSo zOpZFUbu1Xv;SPmsz;V1w;~9b0B_`?7ERI4fs_ zJLE^ebS_|bt1uZ$8Fo$-m{(( z@|=lu97hHod32$1+K`!(PAD(Rej!H{{#jqyAw~PU10*~?eNHpO9An(xyngeyV0dMQ zoP9vLQyXFbJnQ@}*SoA=w9925xd00{?O~$#73aMTfh^$>ovQu3xJ>Fe*)(F*wQ>QE>X3Y+^<{^(X55(ceZy{)Lo28C zHN78ntFUQ3O@GA$hk<+5Wc^;5^uiqj2x#LFB3t^V0SkG#-7EcWuwmij|k`K-esO_To)OYuh(e_$gWdrrexJHrvlSS@6quBcb*XIfVoZ!6IsGWOskJ&z7 zyS7!kP@B_B+WqsT0>Fi+dzqdExq4r3=-~QZIBxhxtek?s7_nGEvuLgU^fV>2mCpVu zw|<{BCmFLCR+Ov=bgx$$!#+#A`d*AfW`MHGogPxak9NEJ}ZQD2Dmg@YjFm8*l%5tR?5!jWsO8@Q;4*4uAZP zJRF(PKzxlUa;z$98_#DkPr5l=3NZ!D+#$M#JNxD_{eJ*&;rO}%pE>Y{KXJVAiT~|) z9&iKwTa{p2G(UNp_(1Kv9)KLPHUwMiXDe&E>WHaq4rC@cV9ee0L5EY?*7s-8a%GIY z@MTo=*7%VyFsn(YgX;*(Aw|Nk@_^H#bD0DTD{&pP9y{=}-IQNk7afiXjS$VwlUqF2 z^TUE;)>Mz^;!Ifd40*JAh|9GMz>nIKpfY}fV>C2Jz+zoTI$SCbm!mbp06St0{m8uy z7H)VP9qEXQWE~C3aVQ5X4N}zRZEM-V3@5Mng6%JdudQj$@k}QPoksSoEp0ij$EQAx zb>nb>H)%SZXsbY!h2zNm2j!EzuPOh7W%bpq0bFVCNI(VZTV?8Ng z&O=TRh~Sr1uuQYR0N}?AnUq;&GsKEQU;AYeF47ExLO$ITA5-`H`!Es zf-_qx16Q+xI0n?eIdkGz*?u_eIA)HAq2w|5BPqHB{Lua&12YF_EQEfUht49RyjXQ` zF9xMApA$F5KS&ERc`?h=9`f4kanU$uu$a47Uy6pq23$1>{X&8~Gx^e^qnv5Q;6k0! z;ubSCZUDxcH?RM$nf=Bh1FGN6P9P>-ml8tPkf>ubrp9j@%3$bP%% zzsjT5o%X&JyePVA;0TTO`b*~X?KX#C>z)HKlh%^{_W*_bDEnOB_p>vcZKv_o={fJH zZqX7!k7}lDCAOP=+)uY%ei+b*zu9E{DqBiy!BcO}@9kg`t|zap(!Gs)MXUZNA!*kI zrJn-;PgUjb@wdS7wDbA*MI#j2Ziqekha7o@VeilGi0y{3wxjRW_e(O&AI;g368qp= zgC<&}@P!Cu_H!2$#3j!6OUMIdo?F&+HL`5OtHMwyLg1<#R5-Cct*uE{+ON9b(u9Tf=gAh(oSNzDd`PfRdO<3*xoxi z>RCH+A@w%tWVJKDDsStbyg#Hbl6|V@e1F3gf436@@_r3&qv_o+DX!#in?A>%{o3pQ z)puXtzUk8s<&E1|nbOZ3_(wkij#oDT$hF8lBDT{=$Pepiv(3o?BGVfRnKKn?S9Kb% z%Q<^A!^;7@HQ@CCe(;Iohd(;-*FHG#mp;11^zlyTN*jddN)l-%k(-iLwhE=RRW#UI z!jL;C2d>>~YH*F=%95qi9`}^aGn=S8uJA;`XDhTr=-?s!HgEDc7H zUoB%9&yR2{bHg>64Pb`c|6#o!nS9^0UC8~Usc^(^W5|q)e&pI1$m}b#vqSqP<47k8 zqh@Lpn;G()>~PR^D!PH^uOnezY`Pq@wnm-wCuh1J^T5htcf63E2nVNTD;@E;N4~#I z^bu#uI~FO$JK}J|3g&AEZ8`KFW1{?(<6}8iI8 z*>Gm^UjNgvyjPAjrk&C<{sBKMPXke?J8sIR5iolMpcS`vqp6C-L6zCZq3YXgt=2^E zi{bjY!nTiX;i>`(`K}HW(2qJc#LUPG_@u3>tNRx^W;pYq8%-|>93-qyfRRDcE$E?=@R=&MVAs~Ucnl9!{p{kDoN+QoCbsI~}x{b)v(P`!nL zz=^;n9Hl`oz|UM_D+-r`=Khd=GVN+7JRcJ6cXyAl@G3PJ-*>8UMw;zDv?zC0he4ST%8w3C3 z^#<5=#}ZxJ}I!OL?mmKJhkM-k=aqc zGtC{aG1dlJ@%~6BION2(R{$Lg?vX&}kD0{e`pJnM;gm2DkCnC4jOj46ETqR~dD_?I zxKI>X)Vl`0raOmRT(B5m#@F4MA@^8=jxCdn)z_R#jO>@=fplgJ?aNl^|3swqx_ql+BXK-P1j|kT1Fg?YAl~Uqxz51L-(!&~qDbw%wSwU@Q{uHXd zj@4VD#A`NuQNKl681q)C7Y5qW4y?> zo=UTfc#lkdj(5ly-^P6HT>>EM_8epOe>uG)Ch}NXEOF9+o0*GDvg3#lQ0{56dSobj zh&0AoDM)yVM@XNFw!m+YPbL_P|GXM8y_48~^P(wZ!HxaGJ0ZvEJXY4R>iHw0^RD1;1Ej zmG1~wdxB}u+fzeL#s#NKG$+})!0{AJKf)!=pDbf_K|&_ zgP*_l7N2wn-t%e!fUg3`x}HYR-tPOiEkpYh20FjiZLh~2h-<=DCQWiO{Zzv26nS#k z^u7ai#$Vt-9H{0jE%jeCXSycGvYv8ai_xHW_U9V;yMVh#W>4Ly`o+QKhl=1d*i;$y zirV*7R8)VhJC?#}lfvlTvQ%^xO_hL#Fu6us39kXU#x|d|-%&p?D$n>mpYL!0TX`+l zKXLKCUDXR|^S%D|_MR&zzqRcX942rGzS@1_Mm`UOclbVl~v|R!tdCEO@uwR05U@7{6 zHTC}yEA#($06%rdKmV!Y?Zd?1{njG@U>a65exvCMh(NT1rD9>DNk7d zI58Wpx#8h%I2B$Z1xql-NW*yCa<72Q(5De5@a^ZV!z_*T+FTEru`d7$*NKK$JKW7b zz-+|kb_;Gg_+}=X6D~(-*v(eXJ1DEs;Ci=kq~tJ~TwU}bGbaRjG;mmNX8H3zV52r` zQ+cI2Vcg=B1ZL&v{0qGBI{ARXo!hO(p^a+NnmCqLdmM0XrPc(4P(@kc4r<0euThIo$jc73B zmyzy4S{p($ffY+$DE*g)s#&6JIo~?=RQO#cEdHLw3xrhp1_@rm2dm6J%NCuZ9R4PM z1b`@)dlR7Ow`g17#0pdyEb*dQcvkBv2L@n{BZ4$$HKSx@>zBMGE_uoab&2)&y6QQLB52-cbv#p-}p0snh_I~4K#e1U_A>78l1zfKK+vf$GdLL#<%a?yC z(>tu^i{oQ5MqRH6Lp2$be~Nl(gK(-2XyX->QZ#Y}U)|sP&}bg@tVlF;jl#oES6!#i zt<_ibv+>y0PJ=h;=%Q?EgQ6z*Yx985<8X0ZIM^)!Ck=J^w)3l<#l1Y$`wSnpLczmV z@b36;51w#;pY8h-mu+9ZO!gnx0svpGDyhfo@A~?JD2NcV!z=0c9Mo3IVi9kQP6N`; zQM0COfJOol-Rguzjj%#-=(}1xq2e)}4%hWxzn}l_iffk~yH$Cww~J67 zef{e1edBSw^>wcLi1XKN0j!e-SBQY<|sPP9qmaXVX3Vwl1wAFu1HK| zK(eAlx((o>{6)XM6vfRPkLGv{;KK*tkALR)D|cX^f@=0*LP$(F2BF8_DS=K$+Wa6B{dATQPa0t-BE2G1(L42R=5V)ymR zL>rJ9SQ^CDr!_5t^u{cu1#PtKw%5+^bR4*W8^=)zaP^tfi8)QT_9^Hyhw7ehIM2*` z^rhC7ujj{c2>dmbUr$fqo(Sm(pm^E2JHOY??uOW$P856LPj)_!Hq%i{{XhfIrGGL@ zBdD7@r5_QTa2b2J(hfC(H~K5sLL*6AJfR}8*KStF9hR{y8{@_J9EZ1laF$0KkKA(r zCw@rX)`c8G-F%M4dCgFO2Zs#`lnxIebm6cmchjqVbj{%qsKmql_ZakIhzf_I0 zecwxy-*?a{|DR}=&q?dp{0S{X3~553!&?4=qw32#)BZrpg6dP%L^5?(O6|0l8UIGU zo4uFyQ+^kH1XT6CMPC$&J09YuLvVH~K(DIqxsF=lWFH$x$A#XzZ`+?Q2Wq_DqwL5WrvUVR)caC@tG93y^9oczQ)tFVSVyL@n6sM!m-wp3!dSgYo|$f7D{&*aC6`#fDZ?N z8}QG6;_%Nt!~gmhAMmwdFkeA}0?D&ERX({F*-21Z8rP}a+%wDB`s{M{I&mCggPFEe z{*D}{)y;+OF$Ta)zRDHOE&?*!KW-xx>KFz;rj5Z(-y%Da8U6w@X*+itF1~Q?4sXlx zK+u>P6*&+@nY&>jGo<9 z@+)}&xVzipUAKVG;dy);xOtz@zOLVAmfhVw*W`;l1p@E61fa%zIr~Qhj4GR3=e`rq zm5INyA2_xuuU9<<2iL+MN3C05{o;}p7q}TL5cv;jTj+63R|m!z&Z9CDNAYQ}q|t?L zUaPIi4Ko9;6?kOZXqG6$992b~7QnqI%+@TV5zAuM%zz{JWvEj_g#N{T={j*VtfzAv za1dr*2Tv>*HQqJuAW}KW%2U2rF51fFOc_k@iE*PYj6ESl5RKbt`y*tXAo7YYE%c@a z3y_C?LTH^y9XG&_moHzudHw3u-*BQnb*bu4WFNbJEgi~xW7om_i#<(R`DQby{*JLr z876M#0c=lKb6|CTb|N{Q^io3nr$pcG;G& zOWm-NSy}&X)3dMG0qD;a)}(!%UQapoZ1a76`mezE z2XGMpcn-iz#0Z1md+&a2&)0MLzDD<2r0)qhgjwz)JD*qNtvL&<;Ns;1!&{M*6JZpU zfI3g(DNo%c@|HRNdXG`YjDUH|Y!>FM_t$n--wv@u`cqqrKEBaJ$ zqL>;!QW-%MI9fS__P6)H2}-tSTm8~*DLCy{QL}CDXTNH<$JG}nC+VY{_`Ik_z5YGReAdKl}tCl4+QT7Fv1tfPa-xtz18{diL(5@ z);B*I@EVSfhU3Qv@JByB@X?EjKltW@Vk&10sDe?aHoZL{*QAr{=CLwK%fYFPlFJU* z^9Tcc))8(zt_!~H#t(jV5VxHEx*VF3=X29|ncUGk)-3ZVH#1p7zk~@4$Rp24F>B53 z8qHkeAAQKP6lWa+$IDfoMTBPcYgE6i`okkOJ$BQyx->h&RGmbbF+a%@1OddX|V!Dn4zUtYG%`?VG;?_$z>iK~~*_z3Y0~ z3)I;~>v~@=I?oz}$@_dSe;dt$b3MJ%tz5}$wO!Tr>UIV;SgqN?r#1;=YQ?>;7D4pA zhF(|NyJ`zzja`2C9kvb(X$DfhzSnG`ew}riK4R-?%M^WAK?W967FPwJV@;fwqhCC) z@KY;fz*GE+s)y~D9fUi$F)4H9Q?&j|pBAi0V?p1&#H8L7SUmqf&z5L+N6u?DLY6Zz_u+KHocL56woU1 zs7N;8*Mo}slaPhxNwjx|<}_%V!_~_5K~B)a2rHS%XnJAKQOg)ucPfgM3&rr_3!Vg9 zcMJ>Gs$W~NQ{R(8sa&L9Raj(ayBG_OVZytk(;#>>sZSMG7wD}Hd3OjhTja5TkUk2n zYTYK!?OX;sem6y35!_Pj^&9C6T`T8SQG*uSa}5sY7@z8emfzs9y}mt&(1QRh&iD5E z3WpW>&3XYi+gE8xV>`}DNLl};qIAntiD%C z9SicBUahZQG(;o)X28nN#N%se!0c5CM*r^-nG?I4Ips2k7fMK_yLBnZw#Bv;JHbKn_C`SW^ zbQqh%5kU~%%c=feQ{2@_Xqi#7oO&%A+OMo*1SWEGGRpgChgo=^!0lEi7ZC5%zei+e zx$fW0U@ph&$(#F04M0tmPE|;G03?1@zIpH{*47&w3wIsws7Ia4ki;@B3q6)=zg4s? zWY#GFexhfUairHAM;jSLg|@s0CZSJto`q6)PZH6rJUO=-xX*;ws)T8hmcEL;(#0rPzFX|fPEkxECtuc zgY;0FDsGpd;ZlQ%$66|30Op%FZ~oHlcKe>K6>d$>=8O|7y}FvV?8}uief6EHWiP)w zx@rsd`&->7XVB_r>N7p9Edw;a|E-vXqKvDNLJE&l^*r8#oO2E9^ zhl|GT>UpT&vWHFJkugW{Ot#Z_g^VjEria7YvO8_G7 z^0}IRYPizD*W%k73t?wfaQ-ImTp-uBhGcSL8J1hE=Ixay>a2%_BX7OWJpdcUZQtF& zUK4Op&Kf*bPRLJcDTUAhw(U=zs2ts4qk=K% zgTibS{OmQ2st%ltT+}ZVs)~c}=37)`K3^EV`CDKA;O`Fr$MgY%O2k>wM{^d^{ z_St9nJKuW53$r|-AiKN;;5JkzOf3TLl7)^nwhqbuu?NgTF;F>}Eo65mbl5z~&`@Xn zwO%^TftTIEkp?#M9QEl1dpf)Uk6{_R0B0|W1Co8D;lJ+Bir(a`4}+dBUeny$dSPNl z6vA@&kmU&@@d}sY|Kb_X6*pMbZdj^d=+1K^bg?l;wb^fwTt}9ZrkAV zI!bUk0Fpp$zl;Sxr;_`Ob?Y&XtcP?&^s;^O%NpDDJI|(%aXpTOaG?{=JrySDb2(R> zJ(9F>%+wr(TjENM%YesftW$oFXGN(^kwKI%>z#s|ePF;RXDtNWq}{Yhz?mLH;F6;= zQ9Q85cBV}*eRg_51tqx-VC~Pbn4r!02pY-vllYLckK7%%aRa>5NzM|Gc885T4$uSE zXw#r=to~Zg2$*vm)BW-B@msgs?Qbs4WY%rKvs0Ef1Uf(L-_~K4c&9fPyN*Q&izZxlB%GW-21P=$9_M`=a>Dx zqLoGeI(s5A|E26nve%e&4ItX7kj`vThgbWPI6-xU(o2}OMq9*82{#?zc5??})h&*a$-AeXxVFCofCgmk zM9%&RTmpX>VZmtE%4KiQtm>_P3;g^Q{iVZI&#S+?2FQqe)R_uFKhleph-Q?ulo*;7 zP(^kAUCvdH2-~UtdjIsyuKxD5^80gKtheti`Q8>T?p^+E&-a~!aapd$ zbFUBCbm0_Z?a%-1moNUxFTZ*D=Y8UUasPdonc-$@%Kd-wCkOtmV|n0mr9un~lU-aV zc%`~7r^=8LBjFWVq!KO~jNSjS48@0Gcxi^W1Nh*<@Y8p||M=qrZ(n?dKlt`z1^XyR zytC)dLq(?u{#dl4N?4V$jlOhc(W?ju=NL#C*}>dKO=FBqnCnac4}r&wzm99p1aOB( z$b|e}xT|&@+yT7P0oTxvq<3Wd%mAz5m3wr@kFF?(UF(f{(m=N6)YF zxO}hQFP*J_#?Pet-X@WARrk4F1xDKwo!oG*^tag~_wbVM1Ud2h)?PZ@ay6RU>fULw zf0uq%=UUlBm%b!4WDEmd3v%X)I*vdZ9)~Wo4m*+0x@_jFk z+j!1*-(UJX<=bVpcKt?0gU?aKYA5O1%eZ%W&N@p_R1_-VbQu`;C)#B6SwmgdNOd4~ zxVL_jFJ1L}i`-GcdFhAsJNuZ{uT)b;@v4tesv#EnP&3} z7lb+C&j;;S+)@T)q}{SC>uUJOb|f;dC`=Qn_b8voUyi%=r)R$CHSC6!omwad>{Z_rxn?G(1Q-}# zT~lc}B#|N8;7^Ij=d&Ek>Qk-7W(401nIR?(hkw%Q+v(#fv$=j~W_3B+9+}wHR>`*< z8>g&h`?b#4q`f@%U5p(%NHcU8XM{9II}9vcYk$N#YR(!_TB+UCW6iV(OUloA%yiUr zh6vwNTdt0Y19YeVb&fp86A4?NTFwl8jrCOg+qO>MnUV9f2lkUHCT)cvgj^GEt6$td zfO}*t`T#Hnj(2lS0|(ELKT=OCe&?~Ay)g{OJC@lq;*oilF@qs_V2#UkcQ+f`)Oi%m zxUZQ8TymrMUOaU)dZ4V)SvENfOy~GV0^N7*p0dKG@&`s04mF`G*vTMG;k7oi3AU(oDkuevni4m zQTAogfz9cdaXhIz%;QL!IoFX9AAaz`e+b|^wt_&$KDLX_*0Xv)?3QPofc<%QlB zcU}Hu0BpCPGlNcGUU$1azp68B!p%kmu#H*&ylWRV>*Xq&+)LbZ{Al6dyUIQgN8f{X z_p+pCQVIDl-tV0j`?@usbLGM&@Dlo{@}3L1#NIVDo?kFknX=}!QQBjk{FKH*^fP&< zgW0|}nD^_1Ua{i{lMz@u5!L0$?Y0@4va;LGR=OtvYVV%}^$TA2>Y+}2|B6B`erbpj z!SB=PT{zySXlpXRzh~1=viw~q>zWws&UgOq#yu*KAjVLanAXc9`sM9*R-P7neN+uv zP`+)|CA7-!?YSrbI{yoaNn?5hqr3w-}02z)=^LE(kCGHtJ-^l0@7-mRX& zwsQO67{`xrjy5(Y__PK(?7b6r|xIk;s%Ye;c{!f4A_$NOz z!$YizT@H+So&`mRst+h<2XWJ_C@T1jXLP1mmyjGcD!O2Rx$%_Bh9XwRS|uv*%mb>b*i9ORz3URYjJ3;pl z$)gmdpESA+W|Tjv>xAkk2)X*+RE|Z7al7T-B}sRrP1X~D6`neNN!QI537n;PgB>Iu2UJ>-pSvIKB>>{w$)|4=pN~N zf?TAqJ0q2LWswL2cWlB0z_Av8>l0F8n8P<90f^@?YQEJ#RAPivGTu%kd=x z0NtTD1A5)$=eXWCIIuhJIdF3S3GmXWAOkkp6xmAK7!wr!m9^PK8egwSq@jq(S51xV z^FK!WdT;FlKI=7r%Oak>gvrtQte+>QXFp+PY>E5ptLB z1!gTpbu*dPy>7&vjE$|HR5tvL>i^;)6KV%09EVT;;AX$~-8V0OHx6tb-0AyR2hGFH z?7#ez1AjCJ4l{Fio9@d9=DbU%LxL3C=_u3TR3jzG+zfzhyk)+Y8!Sa&xWRA(Fnmqr zzZvk-9B&8k3cx25_@kdpd}#0RAO6D2#PQIcZoFEwgc=*K45FFk8PaQ=F>+0RIYDKJ zF6XJw9*8WInb|szoRrDk!rcK6i!;}I%d~I@mnye)!b(L-GdXiTI-}(cURikWnQt1+ znc4JePp1O2&nXv?XKTaETK3fpxkj4Ma`Us4abCxd86@jxkv-jE%snIkbL5Wht18b= z4I~}&fEg-F95gpj>!itE%&@|HMtm7iUV97xD?kFT(-sT`2S^VdQ_$D*TkK`4%F~&OefbvB4-l#nxxZgnRn$H;` zyECAipBl|REyu9ip?^92$y`F} z%kK*vPUO*cVH+lGYyFoFe`|Luzj~cr+1t*bu-F@}&#UHoF6dt0Ex()TJFGwg@Tu_m zxM;(q%e#Hm=zzvt{wkn$dn=9kv`HGeu#rx+ab>Tj-B8b(zAaVL%1ei;->HvVFI&BI z>~}p;J#Q6;PAU0}#4YW@l07<;hI9ZL)Q;TW%Yj(N+yV{Q3;eBjPe+q-uC^s;{!CGU{Y{fqYQm%0Lpr>RR@nJ1s$dksl0b#2IC z8Rvh>eTgL*EkU%kS|Bb;zfzD&)r8{&qcEV>&G%AP2`uF(^?LZFwcjbO{VuuI6+{=r z(pv&9g4x>dt*zFMmEU(Rl0QUWmEze6U0`In-oGu1Cv_X^ZI3U4QWrbArcz>mvOZN} zipSAm%eFKMS@&6)X&)N0V*J5!f&D^| zZ1rU%ed}*@1f&(%8U{Cm55qLzS3Z3G2j6^g`}&-5a36P_4`%qx9slKzCqB82HT54$ zk0w{`=n&Z4f!Osdm2XmBFk=QW_}mOUjeU$dg9WBijs!2K$_(7O=aFbg2f&q9SDh{jvUdE26^|j;uxr3T$4&8Rf-=Nzxc)*hg1fD>CX22VK zmTjuRv+Ak!$#f1g`=fYNo+3<yhkV3;dY@5fBKg+os7D7v*Iw)M|Be#Dj19u{tH z-0xtB!z2?=_Rn(QMg~>b500NYd{Ej2z|)*cwkbYJhKxA91Tm+~*KvmHd+-;da$HK0 zfEw{wx<8j32oI_(qI@uUU$5PcG3q=*T(aL`X0Knr{>y;hQb&p$(fZVuYjSPV;Yv4l zx-a#j>-%2!`IG_n_e_Tu<(~RfJQY2j@JC%xDoXpI8T!JF!j;4w{j0Hjdd#jaof%S} zX^}OD+vIt@-`iQq#BMWP5>xiA$;!e{Yma@WgI)!5hE%Uv%5P7$F}nkrj3LhDlRuQ^ zh>t6LD&9gqo6IT@bHcVyUi%D7;$e3^EgrUhcgO79Pbuc@-}!pZ)4hDhoikfuUN)a) zkmAc+*Rl%uDwY7?i*@+RUUpe;Nr7U|Co0&l#l_bMzaS!=%3or=SDb=JZFsfi_ojqd zu7f5uJq;T9%lnkI-L7$t^WNlgCxa4S|QD4 zm3CFNIP%#Ay>}sYH=}}&6=#s|M7Nkg55MuX5B`G(m_^pgW<-NmHs0`upE&->j}G{Q zTGo^}ZaR+=-k@nwff!oz_=bm%xU|Nvn)q zI#eE%ZGlhJj{lmSK4R*3%BVmgGwmxwdQ`n~uDfQgbGP=yIpNY%9b%RQkosaCUVM`9 zBQu%mm@GH|_iB3`J5l3I_?i7b-W|A&TLwB1V}sC5xz1hsLYYtfwKBvb#yQGk?O;wB zF%OST*<{Usj;qxsgNRuQ4r!14w-CW8_)7CfEO}V70)h|R;owOYR+}kW?AC9Fag&)W z*=DHxSauWSA7im_d(4^Hr=k%^COqgp_s&3+)fqZ7c`3%-$!8kqlOrXazk{_iJHP0y zW=xPi#?A2V-I2$5s%;|6(ql$YwViUAvosFJ?co;vFM0Fs-H}U4I(>S|CaT(F>I@n3 zU*WTk{nS8Q1u3}O|8Xq&K>0|1su?1ddrTyK<`SMI{7BOymZuc0BJk&l(6E-rX#`AP=1vi`0&Tie?h4Ok+pnHYokIww_lODs;;ICcEQ1Vm9_Lf zIpY)^5{cKNsux0UcdSgJ!+Ia}Zj}>Zf0DS&fRN!0@DS9}cWw8w3))|KLLp3HzE8W$ z%Wbb3Bt9x=7;36c!%N|>}qQ7!&&B$*Z(V0{|+0>@*MKdKAzM;WCy9K#(C z0AAk=9}M8l4fweOfB5r>mw1Q2_e*aODk*(#wnOqYRV->dNT<26USzZaU!G@&1CjBZ zwL5&{7j`fVS>-3LeO=kz)p9!Lw)Hy{FnNIve(}-B@|8I(-ciYynMYLS&N&8VIW2ia z_VPB?MvBailm1}9@$Oypg|a24><4T)ZJTgLpQqPmXw{!O=bO{7nE@990xTTQ3;v2R-Yt_-rsc3bdo|dInDL>g6O_j*$_)Ex^Nzj_EBjrF#5Z z%_@j>_D(#`k}tAJ-7tYS>8~->W@-n~2WL>q~Y;1uX8INVptYi7c z$PGUdaLT3Rqm+HsC)08z#)5Z5ZU^1LktZA|k3@@!uS`U^A8+2g`p)Bv7k|N*H5Qs9 zKsEkUJuNb1)5ArN!b{t8+R-M@^}TKn$bC+Q6WS#q?QJ9v3!EodcY9+yIYRB+)So!_ zt6hn%?RlCbdcWG=@z(LtZMdr|;S^v=g9@0qmGOLszvEBwxqnhdDxR}Xo9t|3v-iUa zjJ^KL{!)hE30$;Cy86%?O z>Jm=5gRwu|tMm8yc?$q!2JB8{I(UJ{CnFm7t}pf;1(=JW?E!R3d~`Ou*IGwPW@7+^ zmOKL-Ul!v@eT{Ic76TBek+Wls?Hw_U42-f%yR_`ZkW>&-NwE&Ia7etKXJ6}ckD#Q| z5v$t}p<;go*e;4*=Y#4{ntoP+a>z0|c#kGcCc=_TleEng3?|A3a z;W?i*GbRB3iyytiPscW8Hi(N#u#9&@vM=RW(oXP?{4|eagTK!av_!UvDe$LwTZ^rKbxjXz+Cq35S%CuxN zv&=NXobscb`{2LK8rFJPI=+%IOCy{3HZaQ$q?0Y3FavkG&N>Zi`fbvOdz-N^r$qik z7BLgb_2oH+hM0-5oW3L0=K^J1SC&5Hm+ZC=%!a??-NGNU=y1u*`V>4-=GGc>pqy2f z2i9H<^e>nlSvZ?5D-1Kql&;2)Sc6VF2z(-EasYAKLd?JjXQLcW?w-%{b_fF;0aoj%b>GsQhxU5!Q=$6m9zB~1A&!2<;eXo1?yRsXX z7TX3&d;tBVJ=+R5KSG|WKa%$E3DVRf70hBoRd-hFB?~qvQlFC7w7=Q@_HMm{^vU-6 z4FZaclM9&iX&PAjm^Qw!)Kvy+2EzF1#8O z1D!H#`w*f-7bbaM2$UaW$n*0OTvVL9u-5PQqNom0!d3v^RV+KYw5`OKGBYmk5ohg| z^PcVUw6&3uT&wT>MKN<;CWL(Esqup9J>*{gps&kKM zmq5CR$m=~VuQ;@d^qcWL79Vo&9LZ<@Xt?t?1*OjBVAko^zW(+PUKn1Gpwlt1waoa3 z4*XX?IpB{sO!}CqRSLhnrH{~H74Wze+G8m*;+Vg&#QMM*_ca5-aC=zqJpgzyfY%QI zZov0Hb$t5s1Ap+X2Yhrh*z`4%K*l_AM_)W*!M0 zxiT1-k@p%Gp{3073ofz9Aa>gq7*{v)?J(Pg8N!((5@e?etgG{j6gumYW#q0BK?{FVWxp|RZL za2{}<@mpsn5N(`OQaGyf;{kA{xCl(X&l41eS)Fc?^i?=U@-_pvUNS4kr}#eiFK{`f zftLhX43+^5IqU&7TcgHT<;+|!5j2N;?xo;!#>R@4rwP#U%mgnTM0N13jKN#%;gISi zjKIQ|OL;FEhz^W#%Xf;>k-OjXWPm!R(RBU0FNbdha7-eP44lU@7z>&+o>q{0V$*M= z#W8L%Ghrm1242m58iPEC1Ybt(YavFv&`{ED>VP_lfoTE@ns?`n521&6E+%>4Y6x#w zJke5~%SG}8jjen-4G4M^1+31$HTed_Oa$XQx0nr;dlPJJbQzSDXm_ez$SF92K$F56 zq!I_qUcP+so8Vj(Yn|!37F{ps%)Gtq)nD#4a`9JnUza(e<^b`)MD)t*ae0@;IR=1ygY9yN%JT z>jiA(tjtLNA1QeYbMtUAx=84NmegQHObtx2*N58f{Yt4?Pc0oqxd>r&yT z=Nal_#k8JVaL~tO3>E7u{2;qnAA0-#^;*hhmK6(AxYj zDtTe{^hJhUMO79%a50AApM5g%&wp+>ZeydYXv2lBCUQLCUK^=op9-G|t6zw6 zTf6?#c`~eEz~c>gbjK?IpTY3Q9|QL89sbt0UW9^k+<@4$C7N<9o`tqu=&tB&tiO#Z zwy>Js%)&F*pO>?kS#A><%^$c&1_30^F0_Uu&#&J1ZyD;9P`^?;>(UGY4#f5wQ z&VjJXv>)tG;frmVRko8;Ysu%jCK%u}|0UtsZ%+r((?OawJQ*2h24aoD!h=gDoOL>C zt@E&&8V}cOAL*{Lj%JAO%wEi-$2~(og;;Xebg3)rlrdhJ>LKH?+MGUfjdapkFl5U* z2Tj%5`O3^!_SKWum?>XXIc28-zSj1H)9TZi#71VyQA-&prz@jf*@`&5BJgk^c6-mh zs3+mfo%P)k@0=yF z(Tt;T2Y4%zW%|Vu>@z^!YG?X6_?FdNEFvka5?{-fUxJ;LL^29&YI6v^^;z-@W5~f7V;8asfZ(+TIu1Gt~cz z(<-BO1`qsKC56DcQm|A=DVUp}FPKfL>?Y*{1I9dF9;JBsvjl9E2(zu3LcURS-gl_QqqcYkpk zi|l(9x2)v~oSoP^d}h|peOIGEel{U)ij*ub^-(J;j8-o=;NN)p;(OnD{o>c=@;*GD zJ4wOtPk(&i$M%3(%e6u7?EQ;ZQ=#`R=a@%X9vRK?yF!t>gcO;lY4c19*7@ zemot2^z(@i9)aKe+N0{Y8Z#M_GwKVMzVT2Rr144`nX>Nvq+lE#My$i#bvN}Ed?e2U zc_w!+hn(sSTSqmPtSZCxq*Q4@i^H%wcD=JYGow1SaP1a;Yp@79*QL9&o9xbRv3@#t zut(DLjA_{10i1N;jyzYrtUN=mM>bANXMd1%OgiJNjNQ;K3%&-39TkxyccYFJ_7W$uKgF(Jn2F}awfBXSi}62; zbLY&bd<7j2ac(lpQ3RRbt;}G&@FyKYJ zd7ByI?zP?^;7ylo8*7g-)nG!Sg%q9cE(SG+;?3*V-@QFNe5YHtf=gw0E89kfAaTEs zL4!kz>F=F>Q(qfojP^0>vUs;S?|(M1gl#*{`hAt9PslwJylwT6PP6{})Vj|X%bogq zRW{mx>Nz$$<9_280wnvKq$t3`vr@nK)H$=Vn zd!M&8ySxja!mjOJFP#A+yVKu{PIYt|N24ziTL{DRct`ATB>g_e?c3#{fij4{1w*L6lc;@>hAlrAzsO0aR zW(>?ui@=jHO(B;eF7GL<9HZXpQ)kZi+RyzPjShtJ-*jQ~;?{q=Vz?4YoQ2(N)u?~u zdwV@Cq=UppSyx$Dagw99wBwl5?YplZ|H=n9`$c!3lgE)pe=N}SkAHMvj$7RG26r{! ztugLnB7SV*d?0MP>G^EumGr-2{Ko)p=6D3~##R8}`yV@g_LFz`-IoV`=@qleGL_cX zgoF-gUCqJw8s#H0YCN~z9c}IClQR-&un*Q%G`5GxQ9bWpcD_B)W?iwWsD1FbmVI0gX4(QDf(|4u)0j|#rC#){Oe0kWWvC_IlNp0jQz33Ypf^@Yx5-xNn` zQ{>4NlQTDDpAgE5VDgozH^`PP>jav}&KRV;OM4Jq%HJjdDdkyj&V`@od3Ato`@_S- zHy8rHEks^KrVFren~JQegi{ZH2Jr1FUCPx2?^Jwqic8WZ{?Hz?_6h- z(!^FNSkU0__T!Gf^yl)o1_*k6;{vvO@UEb()%Wa!w@-!K<=0-W^mY6aTBja4+1w%9 zw2su_4W9m-$|oIo)3VjB+EL06ko&qwLRt|+K^}&DGxQ>g;Zq;I)tWqbzO3Lq6H@3& zsaC&i_4O9B`VF_lOTqab?D*_;0r}-+TYuj7GMr8UuzMJNwj#aUOqP7u-Ev>->dX}O zL4NKf7matpm&lR`*4;~sGeog=xj!>6C0k@wuqRH zgFfG%3O>{sz8c4L2u?JUBDRf-HGDM0ZtYp4#l7EI7adZGJ~k~7zg5_#7LkZyuSf7E zINqb&=cqRor?kVnIu30()_pfoy-AbW&KZvO$8Kd=NL}YhF5yi0W4C9seaC-;t_eIp z)4tW15g%^(XDh{T4l^HPj9>Za?Oz|jYa2Er^OAb>W`-ZUbNu6O>@Vp$3Hv^bA;Ez9c_$Tl1?|t(TZ*PX#XckSe zovsZ=j++{Y>7074LoT*l|I>h?qgk7G0TzoR8XK5Ja70yB6>z~V*Hjz!U;^@Y@r$QS z)2wEWQ(R-%I_EZz@AF1KYe-jJx%2$k4YUP+Zs0FG>ao+mA&zcyX7rW-n6ZXDVF|wR z7%$?JYn_vCW01<|B@C->?gpO67jlhr;wGHlIJv=g{8-05pXbivfe-iC#EqoS_Y8ST zLgL>9Zz9u3LlK8dFgf*KXO7T$w!k0jTMoD4zhrXC2UMF;SDHp<3>TU&xx+Q_vU7aU zwTpanpV7~K21dxU7?WL&TOL+ljF(Q1qmH)YNd}q=?4L7){TuJL$ ze&I9&Dai^XUZnHSKu6D<7yYhaR^KC|8mjgTmM5RYHVTOYcjWS?8&C3R_~9%h9&K~CP{x=|CNZEJ+)oEPPKjB?++Mg{lFRSZokR6lCKS0|7qup*1vm~%581G*usd3 z_W2YpuI|&_u5xI2^EdzIMa#}>%# zHSKshRn~d!G6=AJu7V{hulT?5Zv+>5v?k%df{R|%6((|Q_7|SH?$M{R;u9p?0{}VI z;{Dogm&@P1_OwpI_x|nNhl=&McLFKrq|9B?KQsCO@-P7h5E0GH$k#oDK^^`oH_xJNyry z4mh*9tTzleRnBzafO3MC5|OE(lx=2M)0f$=RdLw&QAvpn1MtGu?*DHF@Y4hM{?8qc zIPiDA{h}~%Cd0Jw3KOB7leY_wb^PDrW!;Hg*J8s=f&@sOOlOUJYJ7J($B%2B$;)(H zlf~Iyo;O~y1%g`xvuf2VW{RWDgroY0%%ZFFpKE@FhfCpehjfHdCi@}?JV&nCE*!0W zEc=w)ItdICYzgPGHciVcu+|3`!#?o2&akiD&~L+FUj2txmK3O|+njxnyOUD~1?}+p zJZ3uJJ3Y{;soS-Dz#TcIU(Y>X{bl6DdnP#L;(DxO$oAlC3^~i8IXeMA%NKpt`e&Np zL0?Y%&e(8qKXxuE%-#5@uhp1I`oapX9Pg&+DhT|5na(IE*!aC@w(6ggvsu>QWZ#Fu zF>9=$Gao9jwSri~)7CJ^=??4@`LmAs)OMNG&oKnD4WEnt%aM&>UF@Y;=iDzG5!dtZ z(@YIB1WhkFRk&NUbR0(nqL3R1awY|J821ENv{k&T&Vjb4N1j^4AMqcu4&um%3^J<| zD;BT!SvsUgwwz0BQu&sALf}}(vjrpw19a(z)fYj-;9!S;Ej(Pt0qbP-)q-m3TiWB{z)r?1g1`(dj+#u-osHre%{iW36OLIso;a>U$4E-DoU}A7Jpb ze-w@i=v7I@JnvJVF_55gQ3D<){94DeWeXP$1iB5SICBzZ+Je4eFscf}vSfwW=NH6~ z80UW*`W1F1m*@CaMC9kY#D>@}+lOj@6<^>KfKwy5hPxBab>p9}zjpW6sh%bbuCCHT z&O)(9ZP9EAetjb&obi%NUCkg$$E3s3JteHc(>rEKQ>VUA2%IF=x_>ziQr9`+x{b?8 z;Ou2Z0hkHgB>;%a28+B_GQ;`{ti$?qQ^lg43L~~~-#g11dEe?z>tCx?7@2{ibPzX~ zis=crH8{Ic*frv&piTs8*@n`B=@SH}qeO8b?tZFp*NY z%mXmksLXa{+@cCYI)OI>UYg_W0A4);Km5$`40sr$?yy_Qr&5THwcC8qtk?PWN#jaO(T}wTx;6kD z+*ARUo9;Orv#<>qGtDu^N-m(2#;o*m*asrxjg?_ndB8!{U?+E6&*{mD#B#I}f5r?Y z($RLWwZYufYn2bD-FVjd1ocJkjh?uvapD7RP{@A4Ysp0Ej8*m)>$y1&GrkWSIg5aV z#U&i1onhm2s=(Ue-t#_BZ~#2_KNu#CH?|%AlMecLinxRZiPk9*o@?*jfpIgEYPOS( z9Ae_AEhn=AAK(C|Tyw`daK;!|6W->@LMrOiO z<`P!Qp+)~5JO6_+VZgA4SNb2v5*o+nkU&TTnDUs*+eloI2G;N{emjl>#4%y9EQ36K zh5IWEnt!%tbufrXN4RE$1ny*$O&H4;uGjc?eX@9A3GAHVV-cJa+iAC6bOuVdFsjcQ zILuivil5|*s$YW&rKilMyNz+<$<1aXj#owTvQq~wlr6dwn~y;T%je#3!ZE2JW;!MI z^3}`V9b>!(?66X<UVnDSihVrU2CCPkFMECYKKgiGwu_7QMkUe0tSpeRAxY+_EI8 zptZ#-uJscK(nk|KbVt$}4qE$lbL;u;fz_);+q&O-H_Ce zLUquYS;-3GHhE|DYs5WrWgc7Rz-`3Qe^@gBYydy_1o-%86MycNN#U7n6rw&A@kX8!eZI;_@V zb$HBNkl+cJaaft%sfJd(PX`Cme(ut~*SF0KXtV%1cRi-4=XB|yj+$m|ZTwZ1<@kHd z{E)T~I%gj1h(nG=3re|WiWgpVk{zQl00961NklsEgEU?{ z%UjF_sNMEg<{Ihb=DVTrR2LHF;uXmfQ(v&`Le(w#d60Zlmdy$FL46Fbj)L#yZh_cufI2Lx9?!t9=Yx# z_59`tiquKUaGt>+BbTgpr7@+O&_wkrF#U`ZHKu@_z_&)H(rCyFEM{n`+6egD~V zfwcWj=$5pvn=O<#X#xp9$g?kS6&61KJG_$L-V-HXDgbc5jS`Y6+}{(Rt7}IH8Q$*| zz=ljR7H7Lcg6Ti-v zW&4HS9v$C=z4TAVRvxzA^~kBU`=R14+TPmGcA5gL^2`QSbQtIMMQPT~=`3$aPdTQW zK|#9hyLL;v`i^4QVltA!huOogeC^F&8D_5lOf$n6F%!}ZHirM;aQye5g!iq=45fIC zQjX0Mm+iO1GQ*9;*HTPvlV_N%U;t+#+=k(1hDQV548!Xi@Cgk6_G8EK?!fPT?S_}3 zlv3cjPGeLF72ic+(izFWrbvzAdCoNa6b6{4+dK+H`2WouLrX1&# zZ1kB3Io8HNg~)0hXQwpdX%xqadm-% zOr3Hf)^!wy2B;>EwWO_sZLtxINu%orso6( z%J$$ZXI(8201ly<1IOdT!`EKEc=5duI%TaH?VaL}-bd>I$S>7-3bU4PdLLU^>Eoq+ zatD8ejriE#yDDG5yL{X4wXWt+ZZ>Gjxq9IQ2e{d>-NDZtm>1(Wm?3rF)hXC;TG0k~@9YD{Q!>UBxWPu#!P zekYDj>^msV5Kj;y>8xgyo77QRd+danrK&Ema1?}iWxprhcM!QtnUXWEywHsI-oMJU zWTReK�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

ZVwhLP`E?9MMdnIp@+3#`q0;NBY!2WNf= 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

9w&ugktgx}PF~vMy^TzgS?SPd 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

@coxz6djR!MD~YzbtQuJfRu@(!~a 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 z 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


      #k3Hf??{ukRQ*J9%i%}Ma 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%0AMpGB@SnmT{PDku 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ξ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
      yb{p~TT3;hJq^^`d((Nd{l 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%0ALX~eTcHZmGK#a7| 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 literal 0 HcmV?d00001 diff --git a/web/public/dj.png b/web/public/dj.png new file mode 100644 index 0000000000000000000000000000000000000000..f57d6ce434ac92670bbebef761c7e8d70f47b0e3 GIT binary patch literal 21466 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 literal 0 HcmV?d00001 diff --git a/web/src/App.tsx b/web/src/App.tsx index a51910c..b6d0ea0 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -12,6 +12,7 @@ import LoginPage from "./pages/LoginPage"; import DashboardPage from "./pages/DashboardPage"; import DevicesPage from "./pages/DevicesPage"; import ProxyPage from "./pages/ProxyPage"; +import ExportProxyPage from "./pages/ExportProxyPage"; import SmsPage from "./pages/SmsPage"; import LogsPage from "./pages/LogsPage"; import SettingsPage from "./pages/SettingsPage"; @@ -110,6 +111,7 @@ function AppRoot() { } /> } /> } /> + } /> } /> } /> } /> diff --git a/web/src/components/DeviceCard.tsx b/web/src/components/DeviceCard.tsx index 491b75c..1242337 100644 --- a/web/src/components/DeviceCard.tsx +++ b/web/src/components/DeviceCard.tsx @@ -1,9 +1,10 @@ import { Cellular3GRegular, Cellular4GRegular, Cellular5GRegular, CellularData1Regular, - RouterRegular, Wifi1Regular, + Wifi1Regular, } from "@fluentui/react-icons"; import type { DashboardDevice } from "../types"; -import { cx, signalBars, signalColor, isEC20Model } from "../lib/utils"; +import { cx, signalBars, signalColor } from "../lib/utils"; +import { deviceTypeImage } from "../lib/deviceTypes"; import { StatusDot } from "./ui/StatusDot"; import { useI18n } from "../lib/i18n"; @@ -29,7 +30,6 @@ export function DeviceCard({ device, onOpen }: { device: DashboardDevice; onOpen const second = words.length > 1 ? words[1] : words[0] || ""; const isLte = second.toUpperCase() === "LTE"; const bars = signalBars(device.signalDbm); - const brandImg = isEC20Model(device.model); return ( - ) : ( - - )} + ) : device.developerEnabled ? ( +

      + {t("漫游数据")} + +
      + ) : null} diff --git a/web/src/components/devices/DeviceListItemCard.tsx b/web/src/components/devices/DeviceListItemCard.tsx index ac4525c..e0fea2a 100644 --- a/web/src/components/devices/DeviceListItemCard.tsx +++ b/web/src/components/devices/DeviceListItemCard.tsx @@ -2,6 +2,7 @@ import type { DeviceListItem } from "../../types"; import { cx } from "../../lib/utils"; import { Tag, StatusDot } from "../ui"; import { deviceStatusMeta } from "./shared"; +import { deviceTypeImage } from "../../lib/deviceTypes"; export interface DeviceListItemCardProps { device: DeviceListItem; @@ -25,7 +26,8 @@ export function DeviceListItemCard({ device, selected, statusText, onSelect }: D )} >
      -
      + +
      {device.name || device.id}
      {device.id} · {device.interface || "--"} diff --git a/web/src/components/devices/DeviceOverviewTab.tsx b/web/src/components/devices/DeviceOverviewTab.tsx index 2e5f3cf..895bcb2 100644 --- a/web/src/components/devices/DeviceOverviewTab.tsx +++ b/web/src/components/devices/DeviceOverviewTab.tsx @@ -3,6 +3,7 @@ import { OverviewNetworkCard } from "./OverviewNetworkCard"; import { OverviewVowifiCard } from "./OverviewVowifiCard"; import { OverviewSimPanel } from "./OverviewSimPanel"; import { OverviewNetworkPanel } from "./OverviewNetworkPanel"; +import { OverviewTrafficChart } from "./OverviewTrafficChart"; import { OperatorSelectionDialog } from "./OperatorSelectionDialog"; import type { DeviceDetail } from "./types"; import { useI18n } from "../../lib/i18n"; @@ -24,28 +25,31 @@ export function DeviceOverviewTab(props: DeviceOverviewTabProps) { const [operatorOpen, setOperatorOpen] = useState(false); const { device } = props; return ( -
      -
      -
      {t("运行状态")}
      - {device?.vowifiEnabled ? ( - - ) : ( - setOperatorOpen(true)} /> - )} +
      +
      +
      +
      {t("运行状态")}
      + {device?.vowifiEnabled ? ( + + ) : ( + setOperatorOpen(true)} /> + )} +
      + +
      - - + {device.developerEnabled && device.networkEnabled && device.id ? : null} {device?.id ? ( ) : null}
      -
      +
      + @@ -239,7 +262,7 @@ export function OperatorSelectionDialog({ open, deviceId, scanBlockedReason = ""
      ) : null} {candidates.length > 0 ? ( -
      +
      {candidates.map((c) => ( ))} diff --git a/web/src/components/devices/OverviewNetworkCard.tsx b/web/src/components/devices/OverviewNetworkCard.tsx index 01cc82b..5be425a 100644 --- a/web/src/components/devices/OverviewNetworkCard.tsx +++ b/web/src/components/devices/OverviewNetworkCard.tsx @@ -5,6 +5,7 @@ import { FieldRow } from "./FieldRow"; import { isDeviceOnline, isRegistered, isRecoveringPhase, lifecycleLabel, signalLevel, signalTone } from "./shared"; import type { DeviceDetail } from "./types"; import { useI18n } from "../../lib/i18n"; +import { flagEmoji } from "../../lib/carrier"; const BAR_HEIGHTS = ["h-[28%]", "h-[46%]", "h-[64%]", "h-[82%]", "h-full"]; const TEXT_TONE = { @@ -25,7 +26,9 @@ export function OverviewNetworkCard({ device, onOpenOperatorSelection }: { devic const modem = device.modem; const online = isDeviceOnline(device); const cellularRegistered = isRegistered(device); - const vowifiRegistered = !!(device.vowifiActive || device.vowifiRuntime?.smsReady); + // A persisted runtime may briefly describe the old session while disable is + // being cleaned up. Desired policy is authoritative for the overview badge. + const vowifiRegistered = !!device.vowifiEnabled && !!(device.vowifiActive || device.vowifiRuntime?.smsReady); const registered = cellularRegistered || vowifiRegistered; const radioOffForVowifi = vowifiRegistered && (modem?.operatingMode === 0 || modem?.operatingMode === 4 || device.flightMode); const tone = isRecoveringPhase(device.lifecyclePhase) ? "warning" : online ? (registered ? "success" : "warning") : "danger"; @@ -45,7 +48,16 @@ export function OverviewNetworkCard({ device, onOpenOperatorSelection }: { devic const level = signalLevel(modem?.signalDbm); const sigTone = signalTone(modem?.signalDbm); - const netMode = [modem?.networkDuplex, modem?.networkMode].filter(Boolean).join(" "); + const netMode = [modem?.networkDuplex, modem?.networkMode].filter(Boolean).join(" "); + const cellularRegistrationText = modem?.regStatus === 5 + ? t("已驻网(漫游)") + : modem?.regStatus === 1 + ? t("已驻网") + : device.registrationStateLabel === "searching" + ? t("正在搜索网络") + : device.registrationStateLabel === "denied" + ? t("驻网被拒") + : t("未驻网"); return ( <> @@ -71,7 +83,7 @@ export function OverviewNetworkCard({ device, onOpenOperatorSelection }: { devic <>{t("WiFi Calling 已注册")} ) : registered ? ( <> - {modem?.operator || "--"}{" "} + {modem?.operatorCountryCode ? `${flagEmoji(modem.operatorCountryCode)} ` : ""}{modem?.operator || "--"}{" "} {modem?.networkMode ? · {netMode} : null} ) : ( @@ -116,7 +128,7 @@ export function OverviewNetworkCard({ device, onOpenOperatorSelection }: { devic - +
      ); diff --git a/web/src/components/devices/OverviewNetworkPanel.tsx b/web/src/components/devices/OverviewNetworkPanel.tsx index 3056e04..cb2625a 100644 --- a/web/src/components/devices/OverviewNetworkPanel.tsx +++ b/web/src/components/devices/OverviewNetworkPanel.tsx @@ -1,6 +1,19 @@ +import { useEffect, useState } from "react"; import { FieldRow } from "./FieldRow"; import type { DeviceDetail } from "./types"; import { useI18n } from "../../lib/i18n"; +import { api, apiMessage } from "../../api"; +import { Button, message } from "../ui"; +import { flagEmoji } from "../../lib/carrier"; + +interface PublicIPInfo { + detected?: boolean; + ip: string; + countryCode: string; + region?: string; + city?: string; + organization?: string; +} export interface OverviewNetworkPanelProps { device: DeviceDetail; @@ -11,32 +24,90 @@ export interface OverviewNetworkPanelProps { } export function OverviewNetworkPanel({ device, trafficMinuteRx, trafficMinuteTx, trafficSpeedRx, trafficSpeedTx }: OverviewNetworkPanelProps) { - const { t } = useI18n(); + const { t, lang } = useI18n(); + const developerActive = !!device.developerEnabled; + const [publicIP, setPublicIP] = useState(null); + const [detectingIP, setDetectingIP] = useState(false); const traffic = device.traffic || {}; const metaStatus = device.trafficMeta?.status; const sampleNote = metaStatus === "waiting_sample" ? t("等待采样") : metaStatus === "stale" ? t("采样中断") : ""; - const off = t("数据未开启"); + const off = !device.networkEnabled; const minuteRx = trafficMinuteRx || sampleNote || traffic.rx; const minuteTx = trafficMinuteTx || sampleNote || traffic.tx; const speedRx = trafficSpeedRx || sampleNote || traffic.rate || "--"; - const speedTx = trafficSpeedTx || sampleNote || "--"; + const speedTx = trafficSpeedTx || sampleNote || traffic.rateTx || "--"; + + useEffect(() => { + let cancelled = false; + setPublicIP(null); + if (!developerActive) return () => { cancelled = true; }; + api(`/devices/${encodeURIComponent(device.id)}/network/public-ip`) + .then((info) => { + if (!cancelled) setPublicIP(info.detected ? info : null); + }) + .catch(() => { + if (!cancelled) setPublicIP(null); + }); + return () => { cancelled = true; }; + }, [developerActive, device.id, device.interface, device.networkEnabled, device.modem?.iccid]); + + async function detectPublicIP() { + setDetectingIP(true); + try { + const info = await api(`/devices/${encodeURIComponent(device.id)}/network/public-ip`, { method: "POST", body: {} }); + setPublicIP(info); + } catch (error) { + message.error(apiMessage(error) || t("公网 IP 检测失败")); + } finally { + setDetectingIP(false); + } + } + + let countryName = publicIP?.countryCode || ""; + if (publicIP?.countryCode) { + try { + countryName = new Intl.DisplayNames([lang === "zh" ? "zh-CN" : "en"], { type: "region" }).of(publicIP.countryCode) || publicIP.countryCode; + } catch { + countryName = publicIP.countryCode; + } + } + const location = publicIP + ? [countryName, publicIP.region, publicIP.city].filter((value, index, values) => value && values.indexOf(value) === index).join(" · ") + : ""; + + if (!developerActive) { + return ( +
      +
      {t("网络")}
      +
      + ); + } return (
      {t("网络")}
      - {off ? ( -
      {off}
      - ) : ( -
      +
      +
      + {t("公网 IP")} +
      + {publicIP?.ip || "-"} + +
      +
      + + {off ? ( +
      {t("数据未开启")}
      + ) : ( + <> - -
      - )} + + )} +
      ); } diff --git a/web/src/components/devices/OverviewTrafficChart.tsx b/web/src/components/devices/OverviewTrafficChart.tsx new file mode 100644 index 0000000..540c3ce --- /dev/null +++ b/web/src/components/devices/OverviewTrafficChart.tsx @@ -0,0 +1,176 @@ +import { useEffect, useMemo, useState } from "react"; +import { api, apiMessage } from "../../api"; +import { EChart } from "../EChart"; +import { useI18n } from "../../lib/i18n"; +import { formatBytes } from "../../lib/utils"; + +interface TrafficBucket { + periodStart: string; + rxBytes: number; + txBytes: number; +} + +interface TrafficAnalysis { + status?: string; + range?: string; + buckets?: TrafficBucket[]; +} + +interface DailyTraffic { + key: string; + label: string; + rxBytes: number; + txBytes: number; +} + +function localDayKey(date: Date): string { + const year = date.getFullYear(); + const month = String(date.getMonth() + 1).padStart(2, "0"); + const day = String(date.getDate()).padStart(2, "0"); + return `${year}-${month}-${day}`; +} + +function lastSevenDays(buckets: TrafficBucket[]): DailyTraffic[] { + const byDay = new Map(); + for (const bucket of buckets) { + const date = new Date(bucket.periodStart); + if (Number.isNaN(date.getTime())) continue; + const key = localDayKey(date); + const current = byDay.get(key); + byDay.set(key, { + periodStart: bucket.periodStart, + rxBytes: (current?.rxBytes || 0) + (Number(bucket.rxBytes) || 0), + txBytes: (current?.txBytes || 0) + (Number(bucket.txBytes) || 0), + }); + } + + const result: DailyTraffic[] = []; + const today = new Date(); + today.setHours(0, 0, 0, 0); + for (let offset = 6; offset >= 0; offset -= 1) { + const date = new Date(today); + date.setDate(today.getDate() - offset); + const key = localDayKey(date); + const value = byDay.get(key); + result.push({ + key, + label: date.toLocaleDateString(undefined, { month: "2-digit", day: "2-digit" }), + rxBytes: value?.rxBytes || 0, + txBytes: value?.txBytes || 0, + }); + } + return result; +} + +export function OverviewTrafficChart({ deviceId }: { deviceId: string }) { + const { t } = useI18n(); + const [buckets, setBuckets] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(""); + + useEffect(() => { + let cancelled = false; + const load = async (initial = false) => { + if (initial) setLoading(true); + try { + const result = await api(`/traffic/analysis?range=week&device_id=${encodeURIComponent(deviceId)}`); + if (!cancelled) { + setBuckets(result.buckets || []); + setError(""); + } + } catch (err) { + if (!cancelled) setError(apiMessage(err) || t("流量分析加载失败")); + } finally { + if (!cancelled && initial) setLoading(false); + } + }; + void load(true); + const timer = window.setInterval(() => void load(), 30_000); + return () => { + cancelled = true; + window.clearInterval(timer); + }; + }, [deviceId, t]); + + const days = useMemo(() => lastSevenDays(buckets), [buckets]); + const totals = useMemo(() => days.reduce( + (value, day) => ({ rx: value.rx + day.rxBytes, tx: value.tx + day.txBytes }), + { rx: 0, tx: 0 }, + ), [days]); + + const option = useMemo(() => ({ + animationDuration: 350, + color: ["#0ea5e9", "#8b5cf6"], + tooltip: { + trigger: "axis", + formatter: (items: Array<{ marker?: string; seriesName?: string; value?: number; axisValueLabel?: string }>) => { + const title = items[0]?.axisValueLabel || ""; + return [title, ...items.map((item) => `${item.marker || ""}${item.seriesName || ""}: ${formatBytes(Number(item.value) || 0)}`)].join("
      "); + }, + }, + legend: { + top: 0, + right: 0, + textStyle: { color: "#64748b" }, + data: [t("下载"), t("上传")], + }, + grid: { top: 42, right: 18, bottom: 24, left: 62 }, + xAxis: { + type: "category", + boundaryGap: false, + data: days.map((day) => day.label), + axisLine: { lineStyle: { color: "#cbd5e1" } }, + axisTick: { show: false }, + axisLabel: { color: "#64748b" }, + }, + yAxis: { + type: "value", + min: 0, + axisLabel: { color: "#64748b", formatter: (value: number) => formatBytes(value) }, + splitLine: { lineStyle: { color: "rgba(148, 163, 184, 0.18)" } }, + }, + series: [ + { + name: t("下载"), + type: "line", + smooth: true, + showSymbol: true, + symbolSize: 6, + data: days.map((day) => day.rxBytes), + lineStyle: { width: 3 }, + areaStyle: { opacity: 0.1 }, + }, + { + name: t("上传"), + type: "line", + smooth: true, + showSymbol: true, + symbolSize: 6, + data: days.map((day) => day.txBytes), + lineStyle: { width: 3 }, + areaStyle: { opacity: 0.08 }, + }, + ], + }), [days, t]); + + return ( +
      +
      +
      +
      {t("最近 7 天流量")}
      +
      {t("按天统计蜂窝数据上传与下载;从启用采样后开始累计")}
      +
      +
      +
      {t("下载")}{formatBytes(totals.rx)}
      +
      {t("上传")}{formatBytes(totals.tx)}
      +
      +
      + {loading ? ( +
      {t("流量图表加载中...")}
      + ) : ( + + )} + {error ?
      {error}
      : null} +
      + ); +} diff --git a/web/src/components/devices/shared.ts b/web/src/components/devices/shared.ts index f43bbcc..acb4639 100644 --- a/web/src/components/devices/shared.ts +++ b/web/src/components/devices/shared.ts @@ -167,15 +167,18 @@ export function isQmiControl(controlDevice?: string): boolean { /* --------------------------------------------------------------------------- * Signal helpers (5-bar overview variant). + * Thresholds are RSSI-calibrated (AT+CSQ style dBm, range ~-113..-51), NOT + * RSRP — RSSI runs ~20 dB hotter than RSRP on LTE, so RSRP-scaled thresholds + * peg near-full for any real signal and the bars never move with strength. * ------------------------------------------------------------------------- */ export function signalValid(dbm?: number | null): boolean { return typeof dbm === "number" && Number.isFinite(dbm) && dbm !== 0 && dbm !== -999; } -// 0..5 bars +// 0..5 bars. RSSI dBm bands: ≥-70 excellent · -70..-85 good · -85..-100 fair · -100..-110 poor · <-110 edge export function signalLevel(dbm?: number | null): number { if (!signalValid(dbm)) return 0; const d = dbm as number; - return d >= -75 ? 5 : d >= -85 ? 4 : d >= -95 ? 3 : d >= -105 ? 2 : 1; + return d >= -70 ? 5 : d >= -85 ? 4 : d >= -100 ? 3 : d >= -110 ? 2 : 1; } export type SignalTone = "green" | "amber" | "red" | "gray"; export function signalTone(dbm?: number | null): SignalTone { diff --git a/web/src/components/devices/types.ts b/web/src/components/devices/types.ts index 1a0319c..f344101 100644 --- a/web/src/components/devices/types.ts +++ b/web/src/components/devices/types.ts @@ -1,4 +1,4 @@ -import type { DeviceOverview, ModemSummary } from "../../types"; +import type { DeviceOverview, DeviceType, ModemSummary } from "../../types"; // PNN record read from the modem (opl/pnn drive the SIM operator display). export interface ModemPnn { @@ -22,9 +22,9 @@ export interface DeviceModem extends ModemSummary { // Device detail (`/devices/:id/overview` -> devices[0]) with the extra fields // the reference page reads. All camelCase (api auto-converts). export interface DeviceDetail extends Omit { + developerEnabled?: boolean; modem: DeviceModem; localPhone?: string; - privateIpv6?: string; publicIpv6?: string; e911SetupAvailable?: boolean; activeEsimProfileName?: string; @@ -36,6 +36,7 @@ export interface DeviceDetail extends Omit export interface AddDeviceForm { id: string; name: string; + deviceType: DeviceType | ""; interface: string; modemImei: string; usbPath: string; @@ -57,6 +58,7 @@ export interface OperatorCandidate { plmn?: string; operatorName?: string; shortName?: string; + countryCode?: string; status?: string; rats?: Array; includesPcsDigit?: boolean; diff --git a/web/src/components/settings/DeviceQuotaCard.tsx b/web/src/components/settings/DeviceQuotaCard.tsx new file mode 100644 index 0000000..4e5e10e --- /dev/null +++ b/web/src/components/settings/DeviceQuotaCard.tsx @@ -0,0 +1,58 @@ +import { SettingsRegular } from "@fluentui/react-icons"; +import type { DeveloperSettings } from "../../types"; +import { useI18n } from "../../lib/i18n"; +import { Button } from "../ui/Button"; +import { Input } from "../ui/Input"; +import { CardDecor, CardIcon, CardTitle } from "./Cards"; + +export function DeviceQuotaCard({ + value, + limit, + loading, + saving, + onLimitChange, + onSave, +}: { + value: DeveloperSettings | null; + limit: number; + loading: boolean; + saving: boolean; + onLimitChange: (limit: number) => void; + onSave: () => void; +}) { + const { lang } = useI18n(); + const zh = lang === "zh"; + return ( +
      + +
      + + + + +
      +
      + onLimitChange(Number(event.target.value))} + suffix={zh ? "台" : "devices"} + /> +

      + {zh + ? `关闭开发者模式后会自动恢复为 ${value?.defaultDeviceLimit ?? 5} 台,不会删除已经添加的设备。` + : `Disabling developer mode restores ${value?.defaultDeviceLimit ?? 5}; existing devices are not deleted.`} +

      + +
      +
      + ); +} diff --git a/web/src/components/settings/HTTPSCard.tsx b/web/src/components/settings/HTTPSCard.tsx new file mode 100644 index 0000000..9df0fac --- /dev/null +++ b/web/src/components/settings/HTTPSCard.tsx @@ -0,0 +1,60 @@ +import { LockClosedRegular } from "@fluentui/react-icons"; +import type { HTTPSSettings } from "../../types"; +import { useI18n } from "../../lib/i18n"; +import { Button } from "../ui/Button"; +import { Switch } from "../ui/Switch"; +import { CardDecor, CardIcon, CardTitle } from "./Cards"; + +export function HTTPSCard({ + value, + loading, + saving, + onToggle, +}: { + value: HTTPSSettings | null; + loading: boolean; + saving: boolean; + onToggle: (enabled: boolean) => void; +}) { + const { lang } = useI18n(); + const zh = lang === "zh"; + const enabled = !!value?.enabled; + return ( +
      + +
      +
      + + + + +
      + +
      +
      +

      + {enabled + ? (zh ? "已强制 HTTPS;HTTP 请求会自动跳转。关闭后立即恢复 HTTP。" : "HTTPS is enforced and HTTP redirects automatically. Disable it to return to HTTP immediately.") + : (zh ? "当前使用 HTTP。启用后会生成并持久保存本机自签证书。" : "HTTP is active. Enabling generates and persists a local self-signed certificate.")} +

      + {value?.fingerprint ? ( +
      +
      SHA-256
      +
      {value.fingerprint}
      +
      + ) : null} +

      + {zh + ? "自签证书需要在系统或浏览器中信任;否则浏览器可能继续拒绝麦克风权限。" + : "Trust the self-signed certificate in the operating system or browser; otherwise microphone access may still be rejected."} +

      + +
      +
      + ); +} diff --git a/web/src/components/shell/AuthenticatedShell.tsx b/web/src/components/shell/AuthenticatedShell.tsx index 519df07..f9cb34a 100644 --- a/web/src/components/shell/AuthenticatedShell.tsx +++ b/web/src/components/shell/AuthenticatedShell.tsx @@ -22,6 +22,8 @@ import { cx } from "../../lib/utils"; import { BrandLogo } from "./BrandLogo"; import { VersionBadge } from "./VersionBadge"; import { listPlugins, type InstalledPlugin } from "../../extensions"; +import { api } from "../../api"; +import type { SystemInfo } from "../../types"; const NAV = [ { to: "/", label: "仪表盘", icon: BoardRegular, end: true }, @@ -43,11 +45,24 @@ export function AuthenticatedShell({ const [isMobile, setIsMobile] = useState(false); const [mobileOpen, setMobileOpen] = useState(false); const [plugins, setPlugins] = useState([]); + const [developer, setDeveloper] = useState(false); const { logout, user } = useAuth(); const { t, lang } = useI18n(); const navigate = useNavigate(); const location = useLocation(); + useEffect(() => { + let active = true; + const load = () => api("/system/info").then((info) => { + if (active) setDeveloper(!!info.developer); + }).catch(() => { + if (active) setDeveloper(false); + }); + void load(); + const timer = window.setInterval(load, 10_000); + return () => { active = false; window.clearInterval(timer); }; + }, []); + useEffect(() => { const mq = window.matchMedia("(max-width: 767px)"); const update = () => { @@ -99,15 +114,17 @@ export function AuthenticatedShell({ const navItems: Array<(typeof NAV)[number] | { to: string; label: string; icon: typeof GlobeRegular; pluginLabelZH?: string }> = []; for (const item of NAV) { navItems.push(item); - if (item.to === "/sms") { - for (const extension of sidebarPlugins.filter((entry) => !entry.contribution.after || entry.contribution.after === "sms")) { - navItems.push({ - to: `/extensions/${encodeURIComponent(extension.plugin.id)}/${encodeURIComponent(extension.contribution.id)}`, - label: extension.contribution.label, - pluginLabelZH: extension.contribution.labelZh, - icon: GlobeRegular, - }); - } + if (developer && item.to === "/proxy") { + navItems.push({ to: "/export-proxy", label: "导出代理", icon: GlobeRegular }); + } + const itemKey = item.to.replace(/^\//, "") || "dashboard"; + for (const extension of sidebarPlugins.filter((entry) => (entry.contribution.after || "sms") === itemKey)) { + navItems.push({ + to: `/extensions/${encodeURIComponent(extension.plugin.id)}/${encodeURIComponent(extension.contribution.id)}`, + label: extension.contribution.label, + pluginLabelZH: extension.contribution.labelZh, + icon: GlobeRegular, + }); } } return ( diff --git a/web/src/components/ui/Modal.tsx b/web/src/components/ui/Modal.tsx index d219043..1fa0671 100644 --- a/web/src/components/ui/Modal.tsx +++ b/web/src/components/ui/Modal.tsx @@ -52,13 +52,13 @@ export function Modal({ role="dialog" aria-modal="true" className={cx( - "glass-modal relative w-full rounded-2xl shadow-2xl animate-[fade-slide-in_0.25s_cubic-bezier(0.4,0,0.2,1)]", + "glass-modal relative flex max-h-[calc(100dvh-2rem)] w-full flex-col rounded-2xl shadow-2xl animate-[fade-slide-in_0.25s_cubic-bezier(0.4,0,0.2,1)]", width, className, )} > {(title || showClose) && ( -
      +
      {title}
      {showClose && (
      ); diff --git a/web/src/lib/carrier.ts b/web/src/lib/carrier.ts index 43aca06..51cfbcc 100644 --- a/web/src/lib/carrier.ts +++ b/web/src/lib/carrier.ts @@ -1,6 +1,7 @@ -// MCC/MNC → carrier lookup. Data is the musalbas/mcc-mnc-table dataset (the same -// one vohive uses), slimmed to { c: plmn→[name,iso], i: mcc→iso, t: 3-digit-MNC MCCs }. -// Source: https://raw.githubusercontent.com/musalbas/mcc-mnc-table/master/mcc-mnc-table.json +// MCC/MNC → carrier lookup. The offline table combines Android's maintained +// carrier ID database with the legacy global table as a fallback. Refresh it +// with scripts/update-carriers.py; runtime registration never depends on an +// external lookup service. import table from "./mccmnc.json"; interface MccMncTable { diff --git a/web/src/lib/deviceTypes.ts b/web/src/lib/deviceTypes.ts new file mode 100644 index 0000000..f179a63 --- /dev/null +++ b/web/src/lib/deviceTypes.ts @@ -0,0 +1,18 @@ +import type { DeviceType } from "../types"; + +export const DEFAULT_DEVICE_TYPE: DeviceType = "pcie_ec20_ec25"; + +export const DEVICE_TYPES: ReadonlyArray<{ value: DeviceType; label: string; image: string }> = [ + { value: "wifi_410", label: "410 WiFi 棒(高通芯片)", image: "/410.png" }, + { value: "dji_4g", label: "大疆 4G 模块(移远芯片)", image: "/dj.png" }, + { value: "pcie_ec20_ec25", label: "PCIe EC20/EC25(移远芯片)", image: "/ec20.png" }, +]; + +export function normalizeDeviceType(value?: string | null): DeviceType { + return DEVICE_TYPES.some((item) => item.value === value) ? (value as DeviceType) : DEFAULT_DEVICE_TYPE; +} + +export function deviceTypeImage(value?: string | null): string { + const normalized = normalizeDeviceType(value); + return DEVICE_TYPES.find((item) => item.value === normalized)?.image || "/ec20.png"; +} diff --git a/web/src/lib/i18n-en.ts b/web/src/lib/i18n-en.ts index 77456bc..33d9a21 100644 --- a/web/src/lib/i18n-en.ts +++ b/web/src/lib/i18n-en.ts @@ -433,6 +433,8 @@ export const EN_DICT: Record = { 本周: "This Week", 本月: "This Month", 流量分析: "Traffic Analysis", + "最近 7 天流量": "Traffic in the Last 7 Days", + "按天统计蜂窝数据上传与下载;从启用采样后开始累计": "Daily cellular upload and download; totals start when metering is enabled", 本周期: "This Period", 当前设备: "Current Device", 流量: "Traffic", @@ -509,7 +511,6 @@ export const EN_DICT: Record = { "全部状态": "All Statuses", "关闭": "Close", "内网 IPv4": "LAN IPv4", - "内网 IPv6": "LAN IPv6", "切换到中文": "切换到中文", "切换浅色模式": "Switch to light mode", "切换深色模式": "Switch to dark mode", @@ -746,6 +747,45 @@ export const EN_DICT: Record = { 删除设备: "Delete Device", 保存配置: "Save Config", "切换 IP": "Rotate IP", + "漫游数据": "Roaming Data", + "公网 IP": "Public IP", + "检测": "Detect", + "国家/地区": "Country / Region", + "公网 IP 检测失败": "Public IP detection failed", + "导出代理": "Export Proxy", + "将模块漫游数据导出为主机 HTTP 或 SOCKS5 代理;仅在开发者模式下可用": "Export modem roaming data as host HTTP or SOCKS5 proxies; available only in developer mode", + "添加代理": "Add Proxy", + "网络接口": "Network Interface", + "协议": "Protocol", + "认证": "Authentication", + "错误": "Error", + "已停用": "Stopped", + "暂无导出代理配置": "No export proxies configured", + "先在设备页面开启漫游数据,再创建代理": "Enable roaming data on the device page before creating a proxy", + "代理出口使用受保护的蜂窝路由和独立 DNS,不会把模块数据设为主机默认网络。关闭开发者模式会停止漫游数据并永久删除这里的全部配置。": "Proxy traffic uses protected cellular routing and isolated DNS without becoming the host default network. Disabling developer mode stops roaming data and permanently deletes every configuration here.", + "编辑导出代理": "Edit Export Proxy", + "添加导出代理": "Add Export Proxy", + "例如:EC20 漫游出口": "For example: EC20 roaming exit", + "代理认证": "Proxy Authentication", + "保存后立即启用": "Enable after saving", + "启用认证后必须填写用户名": "A username is required when authentication is enabled", + "留空则保留原密码": "Leave empty to keep the current password", + "请输入有效端口": "Enter a valid port", + "导出代理已更新": "Export proxy updated", + "导出代理已创建": "Export proxy created", + "导出代理已删除": "Export proxy deleted", + "确定删除这个导出代理配置吗?": "Delete this export proxy configuration?", + "漫游数据已开启,仅供 Export Proxy 使用": "Roaming data enabled for Export Proxy only", + "漫游数据已关闭": "Roaming data disabled", + "开启漫游数据失败": "Failed to enable roaming data", + "关闭漫游数据失败": "Failed to disable roaming data", + "蜂窝数据仅进入 Export Proxy 的受保护路由,不会成为主机默认出口": "Cellular data is routed only to Export Proxy and never becomes the host default route", + "重新驻网": "Re-register", + "正在按当前选网配置重新驻网,请稍候...": "Re-registering with the current network selection...", + "已重新发起驻网": "Network re-registration started", + "重新驻网失败": "Network re-registration failed", + "已驻网": "Registered", + "已驻网(漫游)": "Registered (roaming)", 短信: "SMS", 多轮会话中: "Session Active", 取消会话: "Cancel Session", @@ -783,6 +823,13 @@ export const EN_DICT: Record = { "重启模组并自动复检": "Reboot modem & re-check", "重新检测": "Re-detect", + // ---- Device type ---- + "设备类型": "Device Type", + "请选择设备类型": "Select a device type", + "410 WiFi 棒(高通芯片)": "410 WiFi Dongle (Qualcomm)", + "大疆 4G 模块(移远芯片)": "DJI 4G Module (Quectel)", + "PCIe EC20/EC25(移远芯片)": "PCIe EC20/EC25 (Quectel)", + // ---- AT 快捷指令(按 group · item 分组翻译) ---- 基础: "Basics", 网络控制: "Network Control", diff --git a/web/src/lib/mccmnc.json b/web/src/lib/mccmnc.json index 611bc05..f622126 100644 --- a/web/src/lib/mccmnc.json +++ b/web/src/lib/mccmnc.json @@ -1 +1 @@ -{"c":{"28988":["A-Mobile","ge"],"28968":["A-Mobile","ge"],"28967":["Aquafon","ge"],"41201":["AWCC","af"],"41250":["Etisalat","af"],"41230":["Etisalat","af"],"41280":["Mobifone","af"],"41288":["Mobifone","af"],"41240":["MTN","af"],"41220":["Roshan","af"],"41203":["WaselTelecom (WT)","af"],"27603":["ALBtelecom Mobile / Eagle","al"],"27601":["One / AMC","al"],"27604":["PLUS Communication Sh.a","al"],"27602":["Vodafone","al"],"60302":["Djezzy","dz"],"60301":["Mobilis","dz"],"60303":["Ooredoo","dz"],"544780":["ASTCA Mobile","as"],"54411":["BlueSky","as"],"21303":["Andorra Telecom / Mobiland","ad"],"63104":["MoviCel","ao"],"63102":["Unitel","ao"],"365850":["Digicel","ai"],"365840":["Flow","ai"],"34493":["Digicel","ag"],"344930":["Digicel","ag"],"34492":["Flow","ag"],"344920":["Flow","ag"],"34403":["imobile / APUA","ag"],"344030":["imobile / APUA","ag"],"722310":["Claro","ar"],"722330":["Claro","ar"],"722031":["Claro","ar"],"722320":["Claro","ar"],"722299":["Express","ar"],"722999":["Fix Line","ar"],"722010":["Movistar","ar"],"722007":["Movistar","ar"],"722070":["Movistar","ar"],"722020":["Nextel","ar"],"722034":["Personal","ar"],"722341":["Personal","ar"],"722340":["Personal","ar"],"28301":["Beeline","am"],"28304":["KT","am"],"28310":["Orange","am"],"28305":["Viva-MTS","am"],"36302":["Digicel","aw"],"36320":["Digicel","aw"],"363299":["MIO","aw"],"36301":["SETAR","aw"],"50514":["AAPT Ltd.","au"],"505299":["ACMA","au"],"50524":["Advanced Comm Tech Pty.","au"],"50509":["Airnet Commercial Australia Ltd..","au"],"50530":["Compatel","au"],"50504":["Department of Defense","au"],"505999":["Fix Line","au"],"50512":["H3G Ltd.","au"],"50506":["H3G Ltd.","au"],"50588":["Pivotel Group Ltd","au"],"50519":["Lycamobile","au"],"50535":["MessageBird","au"],"50510":["Norfolk Telecom","au"],"50508":["Railcorp/Vodafone","au"],"50599":["Railcorp/Vodafone","au"],"50590":["Optus","au"],"50550":["Pivotel","au"],"50513":["RailCorp","au"],"50526":["Sinch","au"],"50502":["Optus","au"],"50511":["Telstra","au"],"50572":["Telstra","au"],"50501":["Telstra","au"],"50539":["Telstra","au"],"50571":["Telstra","au"],"50505":["The Ozitel Network Pty.","au"],"50516":["VicTrack","au"],"50503":["Vodafone","au"],"50507":["Vodafone","au"],"23211":["A1 Telekom","at"],"23201":["A1 Telekom","at"],"23209":["A1 Telekom","at"],"23212":["A1 Telekom","at"],"23202":["A1 Telekom","at"],"232299":["ArgoNET","at"],"23215":["T-Mobile / Magenta","at"],"232999":["Fix Line","at"],"23225":["Holding Graz","at"],"23219":["Hutchinson Drei","at"],"23214":["Hutchinson Drei","at"],"23216":["Hutchinson Drei","at"],"23210":["Hutchinson Drei","at"],"23205":["Hutchinson Drei","at"],"23226":["LIWEST Mobil","at"],"23217":["Mass Response Service","at"],"23220":["Mtel","at"],"23291":["OBB Infrastruktur","at"],"23206":["Hutchison Drei / 3","at"],"23222":["Plintron","at"],"23224":["Smartel Services","at"],"23218":["smartspace","at"],"23207":["T-Mobile / Magenta","at"],"23204":["T-Mobile / Magenta","at"],"23203":["T-Mobile / Magenta","at"],"23213":["T-Mobile / Magenta","at"],"23223":["T-Mobile / Magenta","at"],"23208":["A1 Telekom","at"],"23227":["Tismi","at"],"40001":["Azercell","az"],"40002":["Bakcell","az"],"40003":["FONEX","az"],"40004":["Nar Mobile","az"],"40006":["Naxtel","az"],"364490":["Aliv","bs"],"364390":["Cybercell / BaTelCo","bs"],"36430":["Cybercell / BaTelCo","bs"],"36439":["Cybercell / BaTelCo","bs"],"36403":["Smart Communications","bs"],"42601":["Batelco","bh"],"426299":["Failed Calls","bh"],"426999":["Fix Line","bh"],"42605":["Royal Court","bh"],"42604":["VIVA","bh"],"42602":["Zain","bh"],"47007":["Airtel","bd"],"47002":["Airtel","bd"],"47003":["Banglalink","bd"],"47006":["Citycell","bd"],"47005":["Citycell","bd"],"47001":["GrameenPhone","bd"],"47004":["TeleTalk","bd"],"342810":["Cingular Wireless","bb"],"342750":["Digicel","bb"],"342050":["Digicel","bb"],"342299":["Failed Calls","bb"],"342600":["Flow / Lime","bb"],"342820":["Sunbeach","bb"],"25703":["BelCel JV","by"],"25704":["life:)","by"],"25701":["MDC/Velcom","by"],"25702":["MTS","by"],"20620":["Base","be"],"20605":["Base","be"],"20628":["BICS","be"],"20625":["Dense Air","be"],"20623":["Dust Mobile","be"],"20633":["Ericsson","be"],"206299":["FEBO","be"],"206999":["Fix Line","be"],"20602":["Infrabel","be"],"20699":["Lancelot","be"],"20606":["Lycamobile","be"],"20630":["Mobile Vikings","be"],"20610":["Mobistar / Orange","be"],"20634":["onoff","be"],"20601":["Proximus","be"],"20604":["Proximus","be"],"20600":["Proximus","be"],"20607":["Vectone Mobile","be"],"20608":["VOOmobile","be"],"70267":["DigiCell","bz"],"702299":["Failed Calls","bz"],"70268":["International Telco (INTELCO)","bz"],"702099":["Smart","bz"],"70269":["Smart","bz"],"61604":["Bell Benin/BBCOM","bj"],"61605":["GloMobile","bj"],"61601":["Libercom","bj"],"61602":["Moov","bj"],"61603":["MTN","bj"],"350000":["Bermuda Digital Communications Ltd (BDC)","bm"],"35099":["CellOne Ltd","bm"],"35001":["Digicel","bm"],"350299":["Failed Calls","bm"],"35002":["M3 Wireless Ltd","bm"],"40211":["B-Mobile","bt"],"40217":["Bhutan Telecom Ltd (BTL)","bt"],"40277":["TashiCell","bt"],"73602":["Entel Pcs","bo"],"73601":["Viva/Nuevatel","bo"],"73603":["Tigo","bo"],"362999":["Fix Line","bq"],"21890":["BH Mobile","ba"],"21803":["Eronet","ba"],"21805":["m:tel","ba"],"65204":["beMobile","bw"],"65201":["Mascom","bw"],"65202":["Orange","bw"],"72426":["AmericaNet","br"],"72412":["Claro/Albra/America Movil","br"],"72438":["Claro/Albra/America Movil","br"],"72405":["Claro/Albra/America Movil","br"],"72401":["Vivo S.A./Telemig","br"],"72434":["CTBC Celular SA (CTBC)","br"],"72433":["CTBC Celular SA (CTBC)","br"],"72432":["CTBC Celular SA (CTBC)","br"],"72408":["TIM","br"],"72439":["Nextel (Telet)","br"],"72400":["Nextel (Telet)","br"],"72416":["Brazil Telcom","br"],"72424":["Amazonia Celular S/A","br"],"72430":["Oi (TNL PCS / Oi)","br"],"72431":["Oi (TNL PCS / Oi)","br"],"72454":["PORTO SEGURO TELECOMUNICACOES","br"],"72415":["Sercontel Cel","br"],"72407":["CTBC/Triangulo","br"],"72419":["Vivo S.A./Telemig","br"],"72403":["TIM","br"],"72402":["TIM","br"],"72404":["TIM","br"],"72437":["Unicel do Brasil Telecomunicacoes Ltda","br"],"72410":["Vivo S.A./Telemig","br"],"72406":["Vivo S.A./Telemig","br"],"72423":["Vivo S.A./Telemig","br"],"72411":["Vivo S.A./Telemig","br"],"348570":["Caribbean Cellular","vg"],"348770":["Digicel","vg"],"348170":["LIME","vg"],"52802":["b-mobile","bn"],"52811":["Datastream (DTSCom)","bn"],"52801":["Telekom Brunei Bhd (TelBru)","bn"],"28401":["A1","bg"],"28406":["Vivacom","bg"],"28403":["Vivacom","bg"],"28411":["Bulsatcom","bg"],"28413":["T.com","bg"],"28405":["Telenor","bg"],"61302":["Orange","bf"],"61303":["Telecel","bf"],"61301":["Telmob","bf"],"64202":["Africel / Safaris","bi"],"642999":["Fix\tLine","bi"],"64282":["Leo","bi"],"64201":["Leo","bi"],"64208":["Lumitel","bi"],"64203":["ONAMOB","bi"],"64207":["Smart","bi"],"45604":["QB","kh"],"45601":["Cellcard","kh"],"456299":["CooTel","kh"],"45608":["Metfone","kh"],"45618":["Cellcard","kh"],"45603":["QB/Cambodia Adv. Comms.","kh"],"45611":["Seatel","kh"],"45606":["Smart","kh"],"45605":["Smart","kh"],"45602":["Smart","kh"],"45609":["Sotelco/Beeline","kh"],"62401":["MTN","cm"],"62404":["Nexttel","cm"],"62402":["Orange","cm"],"302652":["BC Tel Mobility","ca"],"302630":["Bell Aliant","ca"],"302610":["Bell Mobility","ca"],"302651":["Bell Mobility","ca"],"302670":["CityWest Mobility","ca"],"302361":["Clearnet","ca"],"302360":["Clearnet","ca"],"302380":["DMTS Mobility","ca"],"302710":["Globalstar Canada","ca"],"302640":["Latitude Wireless","ca"],"302370":["FIDO (Rogers AT&T/ Microcell)","ca"],"302320":["mobilicity","ca"],"302702":["MT&T Mobility","ca"],"302660":["MTS Mobility","ca"],"302655":["MTS Mobility","ca"],"302701":["NB Tel Mobility","ca"],"302703":["New Tel Mobility","ca"],"302760":["Public Mobile","ca"],"302657":["Quebectel Mobility","ca"],"302720":["Rogers AT&T Wireless","ca"],"302680":["Sask Tel Mobility","ca"],"302780":["Sask Tel Mobility","ca"],"302654":["Sask Tel Mobility","ca"],"302656":["Tbay Mobility","ca"],"302653":["Telus Mobility","ca"],"302220":["Telus Mobility","ca"],"302500":["Videotron","ca"],"302490":["WIND","ca"],"62501":["CVMovel","cv"],"62502":["Unitel T+","cv"],"346050":["Digicel","ky"],"346006":["Digicel Ltd.","ky"],"346140":["Flow / Lime","ky"],"346001":["Logic","ky"],"62304":["Azur","cf"],"623299":["Failed Calls","cf"],"62301":["Moov","cf"],"62303":["Orange","cf"],"62302":["Telecel","cf"],"62201":["Airtel","td"],"62203":["Moov","td"],"62204":["Salam","td"],"62202":["Tchad Mobile","td"],"73006":["Blue Two Chile SA","cl"],"73011":["Celupago SA","cl"],"73015":["Cibeles Telecom SA","cl"],"73003":["Claro","cl"],"73010":["Entel Telefonia","cl"],"73001":["Entel Telefonia Mov","cl"],"73014":["Netline Telefonica Movil Ltda","cl"],"73009":["Nextel SA","cl"],"73005":["Nextel SA","cl"],"73004":["Nextel SA","cl"],"73019":["Sociedad Falabella Movil SPA","cl"],"73007":["TELEFONICA","cl"],"73002":["TELEFONICA","cl"],"73012":["Telestar Movil SA","cl"],"73000":["TESAM SA","cl"],"73013":["Tribe Mobile SPA","cl"],"73008":["VTR Banda Ancha SA","cl"],"46007":["China Mobile GSM","cn"],"46000":["China Mobile GSM","cn"],"46002":["China Mobile GSM","cn"],"46004":["China Space Mobile Satellite Telecommunications Co. Ltd (China Spacecom)","cn"],"46003":["China Telecom","cn"],"46005":["China Telecom","cn"],"46006":["China Unicom","cn"],"46001":["China Unicom","cn"],"460999":["Fix Line","cn"],"732299":["ATnet","co"],"732130":["Avantel","co"],"732102":["Movistar","co"],"732666":["Claro","co"],"732101":["Claro","co"],"732002":["Edatel","co"],"732187":["eTb","co"],"732999":["Fix Line","co"],"732240":["Flash Mobile","co"],"732220":["Libre Tecnologias","co"],"732123":["Movistar","co"],"732001":["Movistar","co"],"732230":["Setroc Mobile","co"],"732199":["SUMA movil","co"],"732165":["Tigo","co"],"732103":["Tigo","co"],"732111":["Tigo","co"],"732142":["UNE","co"],"732020":["UNE","co"],"732154":["Virgin Mobile","co"],"732360":["WOM","co"],"654299":["Failed Calls","km"],"65401":["HURI","km"],"65402":["Telma","km"],"62901":["Airtel","cg"],"62902":["Azur SA (ETC)","cg"],"62910":["MTN","cg"],"62907":["Warid","cg"],"54801":["Vodafone / Bluesky","ck"],"71203":["Claro","cr"],"712999":["Fix Line","cr"],"71202":["ICE","cr"],"71201":["ICE","cr"],"71204":["Movistar","cr"],"71220":["Virtualis","cr"],"21910":["A1 / VIP","hr"],"219999":["Fix Line","hr"],"21901":["T-Mobile","hr"],"21912":["TELE FOCUS","hr"],"21902":["Telemach / Tele2","hr"],"36801":["CubaCel/C-COM","cu"],"368999":["Fix Line","cu"],"36295":["EOCG Wireless NV","cw"],"36269":["Polycom N.V./ Digicel","cw"],"28022":["Cablenet / Lemontel","cy"],"28002":["Cytamobile-Vodafone","cy"],"28001":["Cytamobile-Vodafone","cy"],"28010":["Epic / MTN","cy"],"280999":["Fix Line","cy"],"28020":["PrimeTel","cy"],"230299":["+4U Mobile","cz"],"23008":["Compatel","cz"],"230999":["Fix Line","cz"],"23004":["Nordic Telecom","cz"],"23002":["O2","cz"],"23005":["PODA","cz"],"23098":["SZDC","cz"],"23007":["T-Mobile","cz"],"23001":["T-Mobile","cz"],"23009":["Uniphone","cz"],"23003":["Vodafone","cz"],"23099":["Vodafone","cz"],"63090":["Africell","cd"],"63002":["Airtel","cd"],"630299":["Failed Calls","cd"],"63086":["Orange","cd"],"63005":["Supercell","cd"],"63089":["TIGO/Oasis","cd"],"63001":["Vodacom","cd"],"63088":["Yozma Timeturns","cd"],"23823":["Banedanmark","dk"],"23815":["Net 1","dk"],"23888":["Cobira","dk"],"23813":["Compatel","dk"],"238999":["Fix Line","dk"],"23817":["Gotanet","dk"],"23842":["Greenwave","dk"],"23806":["3","dk"],"23828":["LINK Mobility","dk"],"23812":["Lycamobile","dk"],"23814":["Monty Mobile","dk"],"23807":["Mundio Mobile","dk"],"23804":["Nexcon.io","dk"],"23873":["Onomondo","dk"],"23830":["Pareteum","dk"],"23803":["Syniverse Technologies","dk"],"23810":["TDC","dk"],"23801":["TDC","dk"],"23877":["Telenor","dk"],"23802":["Telenor","dk"],"23896":["Telia","dk"],"23820":["Telia","dk"],"23816":["Tismi","dk"],"23825":["Viahub","dk"],"23808":["Voxbone / Bandwidth","dk"],"63801":["Evatis","dj"],"366110":["C & W","dm"],"366020":["Cingular Wireless/Digicel","dm"],"366050":["Wireless Ventures (Dominica) Ltd (Digicel Dominica)","dm"],"37002":["Claro","do"],"37001":["Orange","do"],"37003":["TRIcom","do"],"37004":["Viva","do"],"514299":["Failed Calls","tl"],"514999":["Fix Line","tl"],"51403":["Telemor","tl"],"51401":["Telkomcel","tl"],"51402":["Timor Telecom","tl"],"74001":["Claro/Port","ec"],"74002":["CNT Mobile","ec"],"740000":["Failed Call(s)","ec"],"74000":["MOVISTAR/OteCel","ec"],"74003":["Tuenti","ec"],"60203":["Etisalat","eg"],"602299":["Failed Calls","eg"],"60201":["Orange","eg"],"60202":["Vodafone","eg"],"60204":["WE","eg"],"70601":["CLARO/CTE","sv"],"70602":["Digicel","sv"],"70605":["INTELFON SA de CV","sv"],"70604":["Telefonica","sv"],"70603":["Telemovil","sv"],"627299":["Failed Calls","gq"],"62703":["Muni","gq"],"62701":["Orange","gq"],"65701":["Eritel","er"],"24802":["Elisa","ee"],"24803":["Tele2","ee"],"24813":["Telia","ee"],"24801":["Telia","ee"],"24804":["TravelSim","ee"],"63601":["Ethio Mobile","et"],"750001":["Sure","fk"],"28801":["Faroese Telecom","fo"],"28802":["Hey / Kall","fo"],"28803":["Tosa","fo"],"54202":["DigiCell","fj"],"54201":["Vodafone","fj"],"24414":["Alcom","fi"],"244299":["Benemen","fi"],"24426":["Compatel","fi"],"24403":["DNA","fi"],"24412":["DNA","fi"],"24413":["DNA","fi"],"24404":["DNA","fi"],"24421":["Elisa","fi"],"24406":["Elisa","fi"],"24405":["Elisa","fi"],"24482":["interactive digital media / IDM","fi"],"24411":["Viahub","fi"],"24424":["Nord Connect","fi"],"24441":["NSN","fi"],"24409":["NSN","fi"],"24408":["NSN","fi"],"24438":["NSN","fi"],"24439":["NSN","fi"],"24440":["NSN","fi"],"24407":["NSN","fi"],"24410":["TDC Oy Finland","fi"],"24443":["Telavox","fi"],"24436":["Telia","fi"],"24491":["Telia","fi"],"24415":["Telit","fi"],"24437":["Tismi","fi"],"24435":["Ukko Mobile","fi"],"24442":["Viahub","fi"],"24447":["VIRVE","fi"],"24446":["VIRVE","fi"],"24445":["VIRVE","fi"],"24433":["VIRVE","fi"],"24432":["Voxbone / Bandwidth","fi"],"208299":["Add-On Multimedia","fr"],"20828":["Airmob","fr"],"20892":["IP Directions","fr"],"20888":["Bouygues Telecom","fr"],"20821":["Bouygues Telecom","fr"],"20820":["Bouygues Telecom","fr"],"20834":["Cellhire","fr"],"20827":["Coriolis","fr"],"208999":["Fix Line","fr"],"20836":["Free Mobile","fr"],"20815":["Free Mobile","fr"],"20814":["Free Mobile","fr"],"20835":["Free Mobile","fr"],"20816":["Free Mobile","fr"],"20807":["GlobalStar","fr"],"20806":["GlobalStar","fr"],"20805":["GlobalStar","fr"],"20894":["Halys","fr"],"20889":["Hub One","fr"],"20829":["Orange","fr"],"20837":["IP Directions","fr"],"20838":["Lebara","fr"],"20817":["Legos","fr"],"20825":["Lycamobile","fr"],"20824":["MobiquiThings","fr"],"20803":["MobiquiThings","fr"],"20839":["Networth Telecom","fr"],"20826":["NRJ","fr"],"20823":["Hub One","fr"],"20801":["Orange","fr"],"20832":["Orange","fr"],"20891":["Orange","fr"],"20802":["Orange","fr"],"20810":["SFR","fr"],"20811":["SFR","fr"],"20813":["SFR","fr"],"20809":["SFR","fr"],"20808":["SFR","fr"],"20804":["Axialys","fr"],"20830":["Syma Mobile","fr"],"20800":["Tel/Te","fr"],"20822":["Transatel","fr"],"20812":["Truphone","fr"],"20831":["Vectone Mobile","fr"],"34020":["Bouygues/DigiCel","gf"],"34001":["Orange Caribe","gf"],"34002":["Outremer Telecom","gf"],"34011":["TelCell GSM","gf"],"34003":["TelCell GSM","gf"],"54715":["Pacific Mobile Telecom (PMT)","pf"],"54720":["Vini/Tikiphone","pf"],"62803":["Airtel","ga"],"62804":["Azur/Usan S.A.","ga"],"628299":["Failed Calls","ga"],"62801":["Libertis","ga"],"62802":["MOOV/Telecel","ga"],"60702":["Africel","gm"],"60703":["Comium","gm"],"60701":["Gamcel","gm"],"60704":["QCell","gm"],"28204":["Beeline","ge"],"28201":["Geocell","ge"],"28207":["GlobalCell","ge"],"28203":["Iberiatel Ltd.","ge"],"28202":["MagtiCom","ge"],"28211":["Mobilive","ge"],"28222":["MyPhone","ge"],"28210":["Premium Net","ge"],"28205":["Silknet","ge"],"28208":["Silknet","ge"],"28212":["Telecom 1","ge"],"26223":["1&1","de"],"262299":["1&1","de"],"26213":["Bundesamt fr Ausrstung, Informationstechnik und Nutzung der Bundeswehr","de"],"26210":["DB Netz","de"],"26277":["Telefonica / E-Plus","de"],"26220":["Telefonica / E-Plus","de"],"262999":["Fix Line","de"],"26214":["Lebara","de"],"26243":["Lycamobile","de"],"26221":["Multiconnect","de"],"26222":["sipgate","de"],"26233":["sipgate","de"],"26224":["TelcoVillage","de"],"26205":["Telefonica / E-Plus","de"],"26217":["Telefonica / E-Plus","de"],"26212":["Telefonica / E-Plus","de"],"26203":["Telefonica / E-Plus","de"],"26211":["Telefonica / O2","de"],"26208":["Telefonica / O2","de"],"26216":["Telefonica / O2","de"],"26207":["Telefonica / O2","de"],"26278":["Telekom / T-mobile","de"],"26206":["Telekom / T-mobile","de"],"26201":["Telekom / T-mobile","de"],"26209":["Vodafone","de"],"26204":["Vodafone","de"],"26202":["Vodafone","de"],"26242":["Vodafone","de"],"62006":["Airtel","gh"],"62003":["Airtel","gh"],"620299":["Comsys","gh"],"62004":["Expresso Ghana Ltd","gh"],"62007":["Glo","gh"],"62001":["MTN","gh"],"62005":["National Security","gh"],"62008":["Surfline","gh"],"62002":["Vodafone","gh"],"26606":["CTS Mobile","gi"],"26609":["eazi telecom","gi"],"266999":["Fix Line","gi"],"266299":["GibFibreSpeed","gi"],"26601":["Gibtel","gi"],"202299":["AMD Telecom","gr"],"20207":["AMD Telecom","gr"],"20215":["BWS","gr"],"20202":["Cosmote","gr"],"20201":["Cosmote","gr"],"20214":["CyTa Mobile","gr"],"202999":["Fix Line","gr"],"20216":["Inter Telecom","gr"],"20204":["OSE","gr"],"20203":["OTE","gr"],"20210":["Wind","gr"],"20205":["Vodafone","gr"],"20209":["Wind","gr"],"20212":["Yuboto","gr"],"29001":["Tele Greenland","gl"],"352110":["Cable & Wireless","gd"],"352030":["Digicel","gd"],"352050":["Digicel","gd"],"34008":["Dauphin Telecom SU (Guadeloupe Telecom)","gp"],"310370":["Docomo","gu"],"310470":["Docomo","gu"],"310140":["GTA Wireless","gu"],"310033":["Guam Teleph. Auth","gu"],"310032":["IT&E OverSeas","gu"],"311250":["Wave Runner LLC","gu"],"70401":["Claro","gt"],"70403":["Telefonica","gt"],"70402":["TIGO/COMCEL","gt"],"61105":["Cellcom","gn"],"61103":["Intercel","gn"],"61104":["MTN","gn"],"61101":["Orange","gn"],"61102":["SotelGui","gn"],"632999":["Fix\tLine","gw"],"63201":["Guinetel","gw"],"63202":["MTN","gw"],"63203":["Orange","gw"],"73802":["Cellink Plus","gy"],"73801":["DigiCel","gy"],"37201":["Comcel","ht"],"37202":["Digicel","ht"],"37203":["Natcom","ht"],"708040":["Digicel","hn"],"708030":["HonduTel","hn"],"708001":["SERCOM/CLARO","hn"],"708002":["Telefonica/CELTEL","hn"],"45412":["China Mobile/Peoples","hk"],"45428":["China Mobile/Peoples","hk"],"45413":["China Mobile/Peoples","hk"],"45409":["China Motion","hk"],"45407":["China Unicom Ltd","hk"],"45411":["China-HongKong Telecom Ltd (CHKTL)","hk"],"45401":["Citic Telecom Ltd.","hk"],"45402":["CSL Ltd.","hk"],"45400":["CSL Ltd.","hk"],"45418":["CSL Ltd.","hk"],"45410":["CSL/New World PCS Ltd.","hk"],"45431":["CTExcel","hk"],"45414":["H3G/Hutchinson","hk"],"45405":["H3G/Hutchinson","hk"],"45404":["H3G/Hutchinson","hk"],"45403":["H3G/Hutchinson","hk"],"45420":["HKT/PCCW","hk"],"45419":["HKT/PCCW","hk"],"45429":["HKT/PCCW","hk"],"45416":["HKT/PCCW","hk"],"45447":["shared by private TETRA systems","hk"],"45424":["Multibyte Info Technology Ltd","hk"],"45440":["shared by private TETRA systems","hk"],"45408":["Truephone","hk"],"45417":["Vodafone/SmarTone","hk"],"45415":["Vodafone/SmarTone","hk"],"45406":["Vodafone/SmarTone","hk"],"216299":["Antenna","hu"],"21603":["Digi","hu"],"216999":["Fix line","hu"],"21602":["MVM NET","hu"],"21630":["Telekom","hu"],"21601":["Telenor","hu"],"21671":["UPC Magyarorszag Kft.","hu"],"21670":["Vodafone","hu"],"27409":["Amitelo","is"],"27407":["IceCell","is"],"27411":["NOVA","is"],"27431":["Siminn","is"],"27408":["Siminn","is"],"27401":["Siminn","is"],"27416":["Tismi","is"],"27404":["Viking Wireless","is"],"27412":["Vodafone","is"],"27402":["Vodafone","is"],"27403":["Vodafone","is"],"27405":["Vodafone","is"],"40417":["Aircel","in"],"40442":["Aircel","in"],"40433":["Aircel","in"],"40429":["Aircel","in"],"40428":["Aircel","in"],"40425":["Aircel","in"],"40401":["Aircel Digilink India","in"],"40415":["Aircel Digilink India","in"],"40460":["Aircel Digilink India","in"],"40553":["AirTel","in"],"40486":["Barakhamba Sales & Serv.","in"],"40413":["Barakhamba Sales & Serv.","in"],"40458":["BSNL","in"],"40481":["BSNL","in"],"40474":["BSNL","in"],"40438":["BSNL","in"],"40457":["BSNL","in"],"40480":["BSNL","in"],"40473":["BSNL","in"],"40434":["BSNL","in"],"40466":["BSNL","in"],"40455":["BSNL","in"],"40472":["BSNL","in"],"40477":["BSNL","in"],"40464":["BSNL","in"],"40454":["BSNL","in"],"40471":["BSNL","in"],"40476":["BSNL","in"],"40462":["BSNL","in"],"40453":["BSNL","in"],"40459":["BSNL","in"],"40475":["BSNL","in"],"40451":["BSNL","in"],"40410":["Bharti Airtel Limited (Delhi)","in"],"404045":["Bharti Airtel Limited (Karnataka) (India)","in"],"40479":["CellOne A&N","in"],"40487":["Escorts Telecom Ltd.","in"],"40482":["Escorts Telecom Ltd.","in"],"40489":["Escorts Telecom Ltd.","in"],"40488":["Escorts Telecom Ltd.","in"],"40412":["Escotel Mobile Communications","in"],"40419":["Escotel Mobile Communications","in"],"40456":["Escotel Mobile Communications","in"],"40505":["Fascel Limited","in"],"40405":["Fascel","in"],"404998":["Fix Line","in"],"40470":["Hexacom India","in"],"40416":["Hexcom India","in"],"40478":["Idea Cellular Ltd.","in"],"40407":["Idea Cellular Ltd.","in"],"40404":["Idea Cellular Ltd.","in"],"40424":["Idea Cellular Ltd.","in"],"40422":["Idea Cellular Ltd.","in"],"40469":["Mahanagar Telephone Nigam","in"],"40468":["Mahanagar Telephone Nigam","in"],"40483":["Reliable Internet Services","in"],"40450":["Reliance Telecom Private","in"],"40467":["Reliance Telecom Private","in"],"40418":["Reliance Telecom Private","in"],"40485":["Reliance Telecom Private","in"],"40409":["Reliance Telecom Private","in"],"40587":["Reliance Telecom Private","in"],"40436":["Reliance Telecom Private","in"],"40452":["Reliance Telecom Private","in"],"40441":["RPG Cellular","in"],"40414":["Spice","in"],"40444":["Spice","in"],"40411":["Sterling Cellular Ltd.","in"],"405034":["TATA / Karnataka","in"],"40430":["Usha Martin Telecom","in"],"404999":["Various Networks","in"],"40427":["Unknown","in"],"40443":["Vodafone/Essar/Hutch","in"],"40420":["Unknown","in"],"51008":["Axis/Natrindo","id"],"51099":["Esia (PT Bakrie Telecom) (CDMA)","id"],"510999":["Fix Line","id"],"51007":["Flexi (PT Telkom) (CDMA)","id"],"51089":["H3G CP","id"],"51021":["Indosat/Satelindo/M3","id"],"51001":["Indosat/Satelindo/M3","id"],"51000":["PT Pasifik Satelit Nusantara (PSN)","id"],"51027":["PT Sampoerna Telekomunikasi Indonesia (STI)","id"],"51028":["PT Smartfren Telecom Tbk","id"],"51009":["PT Smartfren Telecom Tbk","id"],"51011":["PT. Excelcom","id"],"51010":["Telkomsel","id"],"90113":["Antarctica","n/a"],"432999":["Fix Line","ir"],"43219":["Mobile Telecommunications Company of Esfahan JV-PJS (MTCE)","ir"],"43270":["MTCE","ir"],"43235":["MTN/IranCell","ir"],"43220":["Rightel","ir"],"43232":["Taliya","ir"],"43211":["MCI/TCI","ir"],"43214":["TKC/KFZO","ir"],"41805":["Asia Cell","iq"],"41866":["Fastlink","iq"],"41892":["Itisaluna and Kalemat","iq"],"41882":["Korek","iq"],"41840":["Korek","iq"],"41845":["Mobitel","iq"],"41830":["Orascom Telecom","iq"],"41808":["Sanatel","iq"],"41820":["Zain","iq"],"27204":["Access Telecom Ltd.","ie"],"27203":["Meteor / eir mobile","ie"],"27207":["Meteor / eir mobile","ie"],"27208":["Meteor / eir mobile","ie"],"27213":["Lycamobile","ie"],"27211":["Tesco Mobile","ie"],"27217":["3","ie"],"27202":["3","ie"],"27205":["3","ie"],"27215":["Virgin Media","ie"],"27201":["Vodafone","ie"],"42519":["019 Mobile","il"],"425299":["Annatel Mobile","il"],"42523":["Beezz","il"],"42502":["Cellcom","il"],"42508":["Golan Telecom","il"],"42515":["Home Cellular","il"],"42577":["Hot Mobile","il"],"42507":["Hot Mobile","il"],"42513":["Ituran","il"],"42522":["Maskyoo","il"],"42501":["Orange","il"],"42503":["Pelephone","il"],"42512":["Pelephone","il"],"42516":["Rami Levy Communications","il"],"42517":["Von waves","il"],"42509":["We4G","il"],"42514":["YouPhone","il"],"222299":["A-Tono","it"],"22240":["Agile Telecom","it"],"22234":["BT mobile","it"],"22253":["CoopVoce","it"],"22236":["Digi","it"],"22202":["Elsacom","it"],"22242":["Enel","it"],"22208":["Fastweb","it"],"222999":["Fix Line","it"],"22299":["WindTre / Hi3G","it"],"22250":["Iliad","it"],"22277":["IPSE 2000","it"],"22239":["SMS.it / LINK Mobility","it"],"22235":["Lycamobile","it"],"22207":["Noverca Italia","it"],"22254":["Plintron","it"],"22233":["Poste Mobile","it"],"22200":["Premium Numbers","it"],"22258":["rdcom","it"],"22230":["RFI","it"],"22256":["spusu","it"],"22243":["Telecom Italia Mobile","it"],"22201":["TIM","it"],"22248":["Telecom Italia Mobile","it"],"22244":["Mundio","it"],"22251":["ho.","it"],"22249":["Vianova Mobile","it"],"22210":["Vodafone","it"],"22206":["Vodafone","it"],"22288":["WindTre / WIND","it"],"22237":["WindTre / Hi3G","it"],"61207":["Aircomm SA","ci"],"61204":["Comium","ci"],"61201":["Comstar","ci"],"61202":["Moov","ci"],"61205":["MTN","ci"],"61203":["Orange","ci"],"61206":["OriCell","ci"],"338020":["Cable & Wireless","jm"],"338110":["Cable & Wireless","jm"],"338180":["Cable & Wireless","jm"],"338050":["DIGICEL/Mossel","jm"],"44000":["Y-Mobile","jp"],"44089":["KDDI","jp"],"44051":["KDDI","jp"],"44075":["KDDI","jp"],"44070":["KDDI","jp"],"44056":["KDDI","jp"],"44170":["KDDI","jp"],"44052":["KDDI","jp"],"44076":["KDDI","jp"],"44071":["KDDI","jp"],"44053":["KDDI","jp"],"44077":["KDDI","jp"],"44008":["KDDI","jp"],"44072":["KDDI","jp"],"44054":["KDDI","jp"],"44079":["KDDI","jp"],"44007":["KDDI","jp"],"44073":["KDDI","jp"],"44055":["KDDI","jp"],"44088":["KDDI","jp"],"44050":["KDDI","jp"],"44074":["KDDI","jp"],"44002":["NTT DoCoMo","jp"],"44022":["NTT DoCoMo","jp"],"44143":["NTT DoCoMo","jp"],"44027":["NTT DoCoMo","jp"],"44087":["NTT DoCoMo","jp"],"44017":["NTT DoCoMo","jp"],"44031":["NTT DoCoMo","jp"],"44065":["NTT DoCoMo","jp"],"44036":["NTT DoCoMo","jp"],"44192":["NTT DoCoMo","jp"],"44003":["NTT DoCoMo","jp"],"44012":["NTT DoCoMo","jp"],"44058":["NTT DoCoMo","jp"],"44028":["NTT DoCoMo","jp"],"44061":["NTT DoCoMo","jp"],"44018":["NTT DoCoMo","jp"],"44191":["NTT DoCoMo","jp"],"44032":["NTT DoCoMo","jp"],"44066":["NTT DoCoMo","jp"],"44035":["NTT DoCoMo","jp"],"44193":["NTT DoCoMo","jp"],"44140":["NTT DoCoMo","jp"],"44009":["NTT DoCoMo","jp"],"44049":["NTT DoCoMo","jp"],"44029":["NTT DoCoMo","jp"],"44060":["NTT DoCoMo","jp"],"44019":["NTT DoCoMo","jp"],"44190":["NTT DoCoMo","jp"],"44033":["NTT DoCoMo","jp"],"44067":["NTT DoCoMo","jp"],"44014":["NTT DoCoMo","jp"],"44194":["NTT DoCoMo","jp"],"44141":["NTT DoCoMo","jp"],"44010":["NTT DoCoMo","jp"],"44062":["NTT DoCoMo","jp"],"44039":["NTT DoCoMo","jp"],"44030":["NTT DoCoMo","jp"],"44145":["NTT DoCoMo","jp"],"44001":["NTT DoCoMo","jp"],"44024":["NTT DoCoMo","jp"],"44068":["NTT DoCoMo","jp"],"44015":["NTT DoCoMo","jp"],"44198":["NTT DoCoMo","jp"],"44142":["NTT DoCoMo","jp"],"44011":["NTT DoCoMo","jp"],"44063":["NTT DoCoMo","jp"],"44038":["NTT DoCoMo","jp"],"44026":["NTT DoCoMo","jp"],"44023":["NTT DoCoMo","jp"],"44021":["NTT DoCoMo","jp"],"44144":["NTT DoCoMo","jp"],"44013":["NTT DoCoMo","jp"],"44069":["NTT DoCoMo","jp"],"44016":["NTT DoCoMo","jp"],"44199":["NTT DoCoMo","jp"],"44034":["NTT DoCoMo","jp"],"44064":["NTT DoCoMo","jp"],"44037":["NTT DoCoMo","jp"],"44025":["NTT DoCoMo","jp"],"44099":["NTT DoCoMo","jp"],"44078":["Okinawa Cellular","jp"],"44020":["SoftBank","jp"],"44005":["SoftBank","jp"],"44094":["SoftBank","jp"],"44046":["SoftBank","jp"],"44097":["SoftBank","jp"],"44042":["SoftBank","jp"],"44165":["SoftBank","jp"],"44090":["SoftBank","jp"],"44096":["SoftBank","jp"],"44092":["SoftBank","jp"],"44098":["SoftBank","jp"],"44043":["SoftBank","jp"],"44048":["SoftBank","jp"],"44006":["SoftBank","jp"],"44161":["SoftBank","jp"],"44044":["SoftBank","jp"],"44004":["SoftBank","jp"],"44162":["SoftBank","jp"],"44045":["SoftBank","jp"],"44040":["SoftBank","jp"],"44163":["SoftBank","jp"],"44093":["SoftBank","jp"],"44047":["SoftBank","jp"],"44095":["SoftBank","jp"],"44041":["SoftBank","jp"],"44164":["SoftBank","jp"],"44085":["KDDI","jp"],"44083":["KDDI","jp"],"44080":["KDDI","jp"],"44086":["KDDI","jp"],"44081":["KDDI","jp"],"44084":["KDDI","jp"],"44082":["KDDI","jp"],"416999":["Fix Line","jo"],"41677":["Orange","jo"],"41603":["Umniah","jo"],"41602":["Xpress","jo"],"41601":["Zain","jo"],"40101":["Beeline/KaR-Tel LLP","kz"],"40107":["Dalacom/Altel","kz"],"40102":["K-Cell","kz"],"40177":["Tele2/NEO/MTS","kz"],"63903":["Airtel","ke"],"63905":["Airtel","ke"],"639299":["eferio","ke"],"63906":["Finserve Africa","ke"],"63909":["Homeland Media","ke"],"63912":["Infura","ke"],"63911":["Jambo Telcoms","ke"],"63910":["Jamii Telecommunications","ke"],"63904":["Mobile Pay","ke"],"63901":["Safaricom","ke"],"63902":["Safaricom","ke"],"63907":["Telkom","ke"],"54509":["Kiribati Frigate","ki"],"22107":["D3 mobile","xk"],"22106":["Dardafon.Net LLC","xk"],"22102":["IPKO","xk"],"221299":["MTS","xk"],"22103":["MTS","xk"],"22101":["Vala","xk"],"419999":["Fix Line","kw"],"41902":["Zain","kw"],"41904":["Viva","kw"],"41903":["Ooredoo","kw"],"43701":["Beeline","kg"],"437299":["Failed Calls","kg"],"43702":["KT Mobile","kg"],"43705":["MegaCom","kg"],"43709":["O!","kg"],"43710":["Saima","kg"],"43703":["Sem Mobile","kg"],"45702":["ETL Mobile","la"],"45701":["Lao Tel","la"],"45708":["Beeline/Tigo/Millicom","la"],"45703":["UNITEL/LAT","la"],"24705":["Bite","lv"],"24710":["LMT","lv"],"24701":["LMT","lv"],"247299":["Premium Numbers","lv"],"24707":["SIA Master Telecom","lv"],"24706":["SIA Rigatta","lv"],"24702":["Tele2","lv"],"24704":["Tet","lv"],"24703":["TRIATEL","lv"],"24708":["VENTA Mobile","lv"],"24709":["XOmobile","lv"],"41535":["Cellis","lb"],"41533":["Cellis","lb"],"41532":["Cellis","lb"],"41534":["FTML Cellis","lb"],"41539":["MIC2/LibanCell/MTC","lb"],"41538":["MIC2/LibanCell/MTC","lb"],"41537":["MIC2/LibanCell/MTC","lb"],"41501":["MIC1 (Alfa)","lb"],"41503":["MIC2/LibanCell/MTC","lb"],"41536":["MIC2/LibanCell/MTC","lb"],"65102":["Econet","ls"],"65101":["Vodacom","ls"],"61802":["Libercell","lr"],"61820":["LibTelco","lr"],"61801":["MTN / Lonestar","lr"],"61804":["Novafone","lr"],"61807":["Orange","lr"],"60602":["Al-Madar","ly"],"60601":["Al-Madar","ly"],"60606":["Hatef","ly"],"60600":["Libyana","ly"],"60603":["LibyaPhone Mobile","ly"],"29502":["7acht","li"],"29506":["CUBIC","li"],"295299":["Datamobile","li"],"29509":["EMnify","li"],"29507":["First Mobile AG","li"],"29501":["FL GSM","li"],"29505":["FL1","li"],"29577":["Alpmobile/Tele2","li"],"24602":["Bite","lt"],"24605":["LTG","lt"],"24606":["Mediafon","lt"],"246299":["SkyCall","lt"],"24603":["Tele2","lt"],"24601":["Telia","lt"],"27010":["Blue Communications","lu"],"270299":["Bouygues Telecom","lu"],"27081":["e-LUX Mobile","lu"],"270999":["Fix Line","lu"],"27005":["Luxembourg Online","lu"],"27099":["Orange","lu"],"27001":["Post","lu"],"27077":["Tango","lu"],"45501":["C.T.M. TELEMOVEL+","mo"],"45504":["C.T.M. TELEMOVEL+","mo"],"45502":["China Telecom","mo"],"45505":["Hutchison Telephone Co. Ltd","mo"],"45503":["Hutchison Telephone Co. Ltd","mo"],"45506":["Smartone Mobile","mo"],"45500":["Smartone Mobile","mo"],"64601":["Airtel","mg"],"646299":["Bip","mg"],"64602":["Orange","mg"],"64603":["Sacel","mg"],"64604":["Telma","mg"],"65010":["Airtel","mw"],"65001":["TNM","mw"],"502156":["Altel Communications","my"],"50201":["Art900","my"],"50214":["Telekom Malaysia","my"],"50211":["Telekom Malaysia","my"],"502151":["Baraka Telecom Sdn Bhd","my"],"50219":["Celcom","my"],"50213":["Celcom","my"],"502198":["Celcom","my"],"50210":["DiGi","my"],"50216":["DiGi","my"],"50220":["Electcoms Wireless Sdn Bhd","my"],"502999":["Fix Line","my"],"502299":["MKN","my"],"50217":["Maxis","my"],"50212":["Maxis","my"],"502155":["Samata Communications Sdn Bhd","my"],"502154":["TT dotCom","my"],"502150":["Tune Talk","my"],"50218":["U Mobile","my"],"502153":["Webe Digital","my"],"502195":["XOX Com","my"],"502152":["Yes","my"],"47201":["Dhiraagu/C&W","mv"],"47202":["Ooredo/Wataniya","mv"],"61001":["Malitel","ml"],"61002":["Orange","ml"],"61003":["Telecel","ml"],"27801":["Vodafone","mt"],"278999":["Fix Line","mt"],"27821":["GO Mobile","mt"],"27830":["GO Mobile","mt"],"27877":["Melita","mt"],"551299":["Failed Calls","mh"],"34012":["UTS Caraibe","mq"],"60902":["Chinguitel","mr"],"60901":["Mattel","mr"],"60910":["Mauritel","mr"],"61703":["Chili","mu"],"61702":["Chili","mu"],"61710":["Emtel","mu"],"61701":["my.t mobile","mu"],"64701":["Maore Mobile","yt"],"64710":["SFR","yt"],"334050":["AT&T/IUSACell","mx"],"334040":["AT&T/IUSACell","mx"],"33405":["AT&T/IUSACell","mx"],"33404":["AT&T/IUSACell","mx"],"33450":["AT&T/IUSACell","mx"],"33403":["Movistar/Pegaso","mx"],"334030":["Movistar/Pegaso","mx"],"334090":["NEXTEL","mx"],"334010":["NEXTEL","mx"],"33401":["NEXTEL","mx"],"33409":["NEXTEL","mx"],"334070":["Operadora Unefon SA de CV","mx"],"334080":["Operadora Unefon SA de CV","mx"],"334060":["SAI PCS","mx"],"334020":["TelCel/America Movil","mx"],"33402":["TelCel/America Movil","mx"],"55001":["FSM Telecommunications Corp.","fm"],"25904":["Eventis Mobile","md"],"25903":["Unite","md"],"25902":["Moldcell","md"],"25901":["Orange","md"],"25999":["Unite","md"],"25905":["Unite","md"],"21210":["Monaco Telecom","mc"],"21201":["Monaco Telecom","mc"],"42898":["G-Mobile Corporation Ltd","mn"],"42899":["Mobicom","mn"],"42891":["Skytel Co. Ltd","mn"],"42800":["Skytel Co. Ltd","mn"],"42888":["Unitel","mn"],"29703":["Mtel","me"],"29702":["Telekom / T-mobile","me"],"29701":["Telenor","me"],"354860":["Cable & Wireless","ms"],"60404":["Al Houria Telecom","ma"],"60499":["Al Houria Telecom","ma"],"60401":["IAM","ma"],"60406":["IAM","ma"],"60402":["inwi","ma"],"60405":["inwi","ma"],"60400":["Orange","ma"],"64303":["Movitel","mz"],"64301":["TMCEL","mz"],"64304":["Vodacom","mz"],"414999":["Fix Line (Myanmar","mm"],"41401":["Myanmar Post & Teleco.","mm"],"41409":["Mytel (Myanmar","mm"],"41405":["Oreedoo","mm"],"41406":["Telenor","mm"],"649299":["Demshi","na"],"64901":["MTC","na"],"64902":["Switch/Nam. Telec.","na"],"64903":["TN Mobile","na"],"429999":["Fix Line","np"],"42902":["Ncell","np"],"42901":["NT Mobile / Namaste","np"],"42904":["Smart Cell","np"],"20414":["6GMOBILE BV","nl"],"204299":["88 mobile","nl"],"20430":["ASPIDER Solutions","nl"],"20405":["ElephantTalk","nl"],"204999":["Fix Line","nl"],"20417":["Intercity Mobile Communications BV","nl"],"20400":["Intovoice","nl"],"20423":["KORE","nl"],"20408":["KPN","nl"],"20410":["KPN","nl"],"20469":["KPN","nl"],"20412":["KPN","nl"],"20427":["L-mobi","nl"],"20428":["Lancelot","nl"],"20498":["Lancelot","nl"],"20409":["Lycamobile","nl"],"20463":["MessageBird","nl"],"20407":["Move / Teleena","nl"],"20406":["Vectone Mobile","nl"],"20424":["Private Mobility","nl"],"20421":["ProRail","nl"],"20426":["SpeakUp","nl"],"20402":["T-Mobile","nl"],"20420":["T-Mobile","nl"],"20416":["T-Mobile","nl"],"20429":["Tismi","nl"],"20433":["Truphone","nl"],"20468":["Unify Mobile","nl"],"20404":["Vodafone","nl"],"20403":["Voiceworks Mobile","nl"],"20415":["Ziggo","nl"],"20418":["Ziggo Services","nl"],"362630":["Cingular Wireless","an"],"36251":["TELCELL GSM","an"],"36291":["SETEL GSM","an"],"362951":["UTS Wireless","an"],"54601":["OPT Mobilis","nc"],"53028":["2degrees","nz"],"530999":["Fix Line","nz"],"53005":["Spark Mobile","nz"],"53002":["Spark Mobile","nz"],"53004":["Telstra","nz"],"53024":["2degrees","nz"],"53001":["Vodafone","nz"],"53003":["Walker Wireless Ltd.","nz"],"71021":["Empresa Nicaraguense de Telecomunicaciones SA (ENITEL)","ni"],"710999":["Fix Line","ni"],"71030":["Movistar","ni"],"71073":["Claro","ni"],"61402":["Airtel","ne"],"61403":["Moov","ne"],"61401":["Niger Telecoms","ne"],"61404":["Orange","ne"],"62160":["9mobile","ng"],"62120":["Airtel","ng"],"621299":["Alpha Technologies","ng"],"62150":["Glo Mobile","ng"],"62130":["MTN","ng"],"62140":["ntel","ng"],"62127":["Smile","ng"],"62199":["Starcomms","ng"],"62101":["Visafone","ng"],"62125":["Visafone","ng"],"55501":["Niue Telecom","nu"],"467299":["Failed Calls","kp"],"467192":["Koryolink","kp"],"467193":["Sun Net","kp"],"29402":["A1","mk"],"29403":["A1","mk"],"29475":["A1","mk"],"294299":["Failed Calls","mk"],"29404":["Lycamobile","mk"],"29411":["Mobik","mk"],"29401":["Telekom","mk"],"24222":["Altibox Mobil","no"],"24221":["BANE NOR","no"],"24220":["BANE NOR","no"],"242299":["bigblu","no"],"24209":["Com4","no"],"24215":["eRate","no"],"242999":["Fix Line","no"],"24214":["ICE","no"],"24216":["Iristel","no"],"24223":["Lycamobile","no"],"24205":["Network Norway","no"],"24210":["Nkom","no"],"24206":["ICE","no"],"24208":["TDC Mobil A/S","no"],"24204":["Tele2","no"],"24212":["Telenor","no"],"24201":["Telenor","no"],"24203":["Teletopia","no"],"24202":["Telia / NetCom","no"],"242017":["Ventelo AS","no"],"24207":["Ventelo AS","no"],"42203":["Nawras","om"],"42202":["Oman Mobile/GTO","om"],"410299":["Failed Calls","pk"],"41008":["Instaphone","pk"],"41001":["Jazz","pk"],"41007":["Jazz","pk"],"41005":["SCOM","pk"],"41006":["Telenor","pk"],"41003":["Ufone","pk"],"41004":["Zong","pk"],"55280":["Palau Mobile Corp. (PMC) (Palau","pw"],"55201":["Palau National Communications Corp. (PNCC) (Palau","pw"],"55202":["PECI/PalauTel (Palau","pw"],"42505":["Jawwal","ps"],"42506":["Ooredoo","ps"],"71401":["Cable & W./Mas Movil","pa"],"71403":["Claro","pa"],"71404":["Digicel","pa"],"714999":["Fix Line","pa"],"714020":["Movistar","pa"],"71402":["Movistar","pa"],"53703":["Digicel","pg"],"537999":["Fix Line","pg"],"53702":["GreenCom PNG Ltd","pg"],"53701":["Pacific Mobile","pg"],"74402":["Claro/Hutchison","py"],"74403":["Compa","py"],"74401":["Hola/VOX","py"],"74405":["TIM/Nucleo/Personal","py"],"74404":["Tigo/Telecel","py"],"71620":["Claro /Amer.Mov./TIM","pe"],"71610":["Claro /Amer.Mov./TIM","pe"],"71602":["GlobalStar","pe"],"71601":["GlobalStar","pe"],"71606":["Movistar","pe"],"71607":["Nextel","pe"],"71617":["Nextel","pe"],"71615":["Viettel Mobile","pe"],"515999":["Fix Line","ph"],"51502":["Globe Telecom","ph"],"51501":["Globe Telecom","ph"],"51588":["Next Mobile","ph"],"51518":["RED Mobile/Cure","ph"],"51503":["Smart","ph"],"51505":["SUN/Digitel","ph"],"260299":["3S","pl"],"26004":["Aero2","pl"],"26016":["Aero2","pl"],"26015":["Aero2","pl"],"26017":["Aero2","pl"],"26048":["Agile Telecom","pl"],"26018":["AMD Telecom","pl"],"26038":["CallFreedom Sp. z o.o.","pl"],"26032":["Compatel","pl"],"26012":["Cyfrowy Polsat","pl"],"26008":["e-Telko","pl"],"26041":["EZ Mobile","pl"],"260999":["Fix Line","pl"],"26009":["Lycamobile","pl"],"26049":["Messagebird","pl"],"26042":["MobiWeb","pl"],"26013":["Move","pl"],"26036":["Mundio Mobile Sp. z o.o.","pl"],"26019":["NetBalt","pl"],"26007":["Netia","pl"],"26011":["NORDISK Polska","pl"],"26027":["Ntel Solutions","pl"],"26003":["Orange","pl"],"26005":["Orange","pl"],"26035":["PKP","pl"],"26098":["Play","pl"],"26006":["Play","pl"],"26001":["Plus","pl"],"26097":["Politechnika Lodzka Uczelniane","pl"],"26090":["Polska Spolka Gazownictwa","pl"],"26014":["Move","pl"],"26047":["SMSHIGHWAY","pl"],"26034":["T-Mobile","pl"],"26002":["T-Mobile","pl"],"26010":["T-Mobile","pl"],"26020":["Tismi","pl"],"26022":["Twilio","pl"],"26045":["Virgin Mobile","pl"],"26039":["Voxbone / Bandwidth","pl"],"268999":["Fix Line","pt"],"26804":["Lycamobile","pt"],"26880":["MEO","pt"],"26808":["MEO","pt"],"26806":["MEO","pt"],"26803":["NOS","pt"],"26893":["NOS","pt"],"268299":["NOWO","pt"],"26807":["NOS","pt"],"26891":["Vodafone","pt"],"26801":["Vodafone","pt"],"33011":["Puerto Rico Telephone Company Inc. (PRTC)","pr"],"330110":["Puerto Rico Telephone Company Inc. (PRTC)","pr"],"42701":["Ooredoo/Qtel","qa"],"42702":["Vodafone","qa"],"64703":["Only","re"],"64702":["Only","re"],"64700":["Orange","re"],"64704":["ZEOP Mobile","re"],"22605":["Digi Mobil","ro"],"22611":["Enigma Systems","ro"],"226299":["Iristel","ro"],"22616":["Lycamobile","ro"],"22610":["Orange","ro"],"22602":["Romtelecom SA","ro"],"22603":["Telekom","ro"],"22606":["Telekom Romania","ro"],"22601":["Vodafone","ro"],"22604":["Telekom Romania","ro"],"250299":["A-Mobile","ru"],"25099":["Beeline","ru"],"25028":["BeeLine/VimpelCom","ru"],"25010":["DTC/Don Telecom","ru"],"250999":["Fix Line","ru"],"25048":["Global Telecom","ru"],"25055":["Glonass","ru"],"25034":["Krymtelecom","ru"],"25013":["Kuban GSM","ru"],"25054":["Letai Mobile","ru"],"25057":["Matrix Mobile","ru"],"25002":["Megafon","ru"],"25035":["Motiv","ru"],"25001":["MTS","ru"],"25042":["MTT","ru"],"25003":["NCC","ru"],"25016":["NTC","ru"],"25019":["OJSC Altaysvyaz","ru"],"25092":["Printelefone","ru"],"25033":["SEVTELECOM","ru"],"25004":["Sibchallenge","ru"],"25009":["Skylink","ru"],"25044":["StavTelesot","ru"],"25020":["Tele2","ru"],"25012":["Tele2","ru"],"25093":["Telecom XXL","ru"],"25039":["UralTel","ru"],"25017":["UralTel","ru"],"25077":["Glonass","ru"],"25060":["Volna Mobile","ru"],"25032":["Win Mobile","ru"],"25005":["Tele2/ECC/Volgogr.","ru"],"25011":["Yota","ru"],"25015":["ZAO SMARTS","ru"],"25007":["ZAO SMARTS","ru"],"63513":["Airtel","rw"],"63514":["Airtel","rw"],"63510":["MTN","rw"],"658299":["Failed Calls","sh"],"356110":["Cable & Wireless","kn"],"35650":["Digicel","kn"],"35670":["UTS Cariglobe","kn"],"358110":["Cable & Wireless","lc"],"35830":["Cingular Wireless","lc"],"35850":["Digicel (St Lucia) Limited","lc"],"30801":["Ameris","pm"],"360110":["C & W","vc"],"36010":["Cingular","vc"],"360100":["Cingular","vc"],"360050":["Digicel","vc"],"36070":["Digicel","vc"],"549999":["Fix Line","ws"],"54927":["Samoatel Mobile","ws"],"54901":["Telecom Samoa Cellular Ltd.","ws"],"29201":["Prima","sm"],"292299":["TeleneT","sm"],"62601":["CSTmovel","st"],"62602":["Unitel","st"],"90114":["AeroMobile","n/a"],"90111":["InMarSAT","n/a"],"90112":["Maritime Communications Partner AS","n/a"],"90105":["Thuraya Satellite","n/a"],"42007":["Zain","sa"],"42003":["Etihad/Etisalat/Mobily","sa"],"42006":["Lebara Mobile","sa"],"42001":["STC/Al Jawal","sa"],"42005":["Virgin Mobile","sa"],"42004":["Zain","sa"],"608299":["2s Mobile","sn"],"60803":["Expresso","sn"],"60802":["Free","sn"],"60804":["HAYO","sn"],"60801":["Orange","sn"],"220299":["Failed Calls","rs"],"22011":["Globaltel","rs"],"22003":["MTS","rs"],"22001":["Telenor","rs"],"22002":["Telenor","rs"],"22005":["VIP","rs"],"22020":["VIP","rs"],"63310":["Airtel","sc"],"63301":["Cable & Wireless","sc"],"63305":["Intelvision","sc"],"63302":["Smartcom","sc"],"61903":["Africell","sl"],"61904":["Comium","sl"],"619299":["IPTel","sl"],"61905":["Africell","sl"],"61902":["Tigo/Millicom","sl"],"61925":["Mobitel","sl"],"61901":["Orange","sl"],"61907":["Qcell","sl"],"525999":["Fix Line","sg"],"52512":["GRID Communications Pte Ltd","sg"],"52503":["MobileOne Ltd","sg"],"52502":["Singtel","sg"],"52501":["Singtel","sg"],"52507":["Singtel","sg"],"52506":["Starhub","sg"],"52505":["Starhub","sg"],"23106":["O2","sk"],"23105":["Orange","sk"],"23107":["Orange","sk"],"23101":["Orange","sk"],"23115":["Orange","sk"],"23103":["Swan / 4ka","sk"],"23102":["Telekom","sk"],"23104":["Telekom","sk"],"23150":["Telekom","sk"],"23108":["Uniphone","sk"],"231299":["Vonage","sk"],"23199":["ZSR","sk"],"29340":["A1 / Si.mobil","si"],"29320":["Compatel","si"],"29386":["Elektro Gorenjska","si"],"293999":["Fix Line","si"],"293299":["HOT mobil","si"],"29341":["Mobitel","si"],"29310":["Slovenske zeleznice","si"],"29364":["T-2","si"],"29370":["Telemach / Tusmobil","si"],"54002":["bemobile","sb"],"54010":["BREEZE","sb"],"54001":["BREEZE","sb"],"637299":["AirSom","so"],"63730":["Golis","so"],"63719":["Hormuud","so"],"63750":["Hormuud","so"],"63760":["Nationlink","so"],"63710":["Nationlink","so"],"63770":["Onkod","so"],"63704":["Somafone","so"],"63771":["Somtel","so"],"63782":["Telcom Mobile","so"],"63701":["Telesom","so"],"65521":["Cape Town Metropolitan","za"],"65507":["Cell C","za"],"655299":["Lycamobile","za"],"65510":["MTN","za"],"65512":["MTN","za"],"65538":["Rain","za"],"65519":["Rain","za"],"65573":["Rain","za"],"65574":["Rain","za"],"65506":["Sentech","za"],"65502":["Telkom","za"],"65505":["Telkom","za"],"65501":["Vodacom","za"],"450299":["Failed Calls","kr"],"45002":["olleh / KT","kr"],"45007":["KT Powertel","kr"],"45006":["LG U+","kr"],"45008":["olleh / KT","kr"],"45004":["olleh / KT","kr"],"45003":["SK Telecom","kr"],"45005":["SK Telecom","kr"],"45012":["SK Telecom","kr"],"45011":["SK Telecom","kr"],"659299":["Digitel","ss"],"65903":["Gemtel Ltd (South Sudan","ss"],"65902":["MTN","ss"],"65904":["Network of The World Ltd (NOW) (South Sudan","ss"],"65906":["Zain","ss"],"214299":["ACN","es"],"21436":["Alai","es"],"21402":["Alta Tecnologia en Comunicacions","es"],"21414":["Avatel Movil","es"],"21422":["Digi.Mobil","es"],"21415":["BT Espana SAU","es"],"21418":["Cableuropa SAU (ONO)","es"],"21408":["Euskaltel Movil","es"],"214999":["Fix Line","es"],"21420":["fonYou Wireless SL","es"],"21432":["ION Mobile","es"],"21434":["ION MOBILE","es"],"21421":["Jazz Telecom SAU","es"],"21426":["Lleida","es"],"21425":["Lycamobile","es"],"21417":["mobil R","es"],"21438":["Movistar","es"],"21407":["Movistar","es"],"21405":["Movistar","es"],"21411":["Orange","es"],"21403":["Orange","es"],"21409":["Orange","es"],"21419":["Simyo","es"],"21435":["SUMA movil","es"],"21416":["mobil R","es"],"21427":["Truphone","es"],"21412":["Venus Movil","es"],"21401":["Vodafone","es"],"21437":["Vodafone","es"],"21406":["Vodafone","es"],"21429":["Yoigo","es"],"21404":["Yoigo","es"],"21423":["Yoigo","es"],"21433":["Yoigo","es"],"21410":["Zinnia","es"],"41305":["Airtel","lk"],"41303":["Etisalat/Tigo","lk"],"41308":["H3G Hutchison","lk"],"41301":["Mobitel Ltd.","lk"],"41302":["MTN/Dialog","lk"],"63400":["Canar Telecom","sd"],"634999":["Fix Line","sd"],"63422":["MTN","sd"],"63403":["MTN","sd"],"63402":["MTN","sd"],"63407":["Sudani One","sd"],"63415":["Sudani One","sd"],"63405":["Canar Telecom","sd"],"63408":["Canar Telecom","sd"],"63401":["Zain","sd"],"63406":["Zain","sd"],"74603":["Digicel","sr"],"746999":["Fix Line","sr"],"74601":["Telesur","sr"],"74602":["Telecommunicatiebedrijf Suriname (TELESUR)","sr"],"74604":["UNIQA","sr"],"65302":["Eswatini Mobile","sz"],"65301":["EswatiniTelecom","sz"],"65310":["Swazi MTN","sz"],"24016":["42 Telecom AB","se"],"24035":["42 Telecom","se"],"24013":["A3","se"],"24030":["NextGen Mobile Ltd (CardBoardFish)","se"],"24011":["Com Hem","se"],"24009":["Com4","se"],"24032":["Compatel","se"],"24022":["EUtel","se"],"24063":["Fink Telecom","se"],"240999":["Fix Line","se"],"24018":["Messit / Minicall","se"],"24027":["Globetouch","se"],"24017":["Gotanet","se"],"24002":["3","se"],"24023":["Infobip","se"],"24036":["interactive digital media / IDM","se"],"24028":["LINK Mobility","se"],"24012":["Lycamobile","se"],"24029":["MI Carrier Services","se"],"24033":["Mobile Arts","se"],"24043":["MobiWeb","se"],"24025":["Monty Mobile","se"],"24040":["Netmore","se"],"24039":["Primlight","se"],"24031":["Rebtel","se"],"24020":["Sierra Wireless","se"],"24015":["Sierra Wireless Sweden AB","se"],"24037":["Sinch","se"],"24045":["Spirius","se"],"24010":["Spring Mobil AB","se"],"24007":["Tele2","se"],"24005":["Tele2","se"],"24014":["Tele2","se"],"24044":["Telenabler","se"],"24024":["Telenor","se"],"24006":["Telenor","se"],"24042":["Telenor Connexion","se"],"24008":["Telenor","se"],"24004":["Telenor","se"],"24001":["Telia","se"],"24003":["Net 1","se"],"24048":["Tismi","se"],"24021":["Trafikverket","se"],"24026":["Twilio","se"],"24019":["Vectone Mobile","se"],"24046":["Viahub","se"],"24047":["Viatel","se"],"24038":["Voxbone / Bandwidth","se"],"22858":["Beeone","ch"],"22809":["Comfone","ch"],"22805":["Comfone","ch"],"228999":["Fix Line","ch"],"22807":["Sunrise","ch"],"22866":["Inovia","ch"],"22854":["Lycamobile","ch"],"22869":["MTEL","ch"],"22852":["Mundio Mobile AG","ch"],"22865":["Nexphone","ch"],"22851":["relario","ch"],"22803":["Salt Mobile","ch"],"22806":["SBB","ch"],"22853":["Sunrise","ch"],"22812":["Sunrise","ch"],"22808":["Sunrise","ch"],"22802":["Sunrise","ch"],"22860":["Sunrise","ch"],"22801":["Swisscom","ch"],"22862":["Telecom26","ch"],"22870":["Tismi","ch"],"22859":["Vectone Mobile","ch"],"41702":["MTN/Spacetel","sy"],"41709":["Syriatel Holdings","sy"],"41701":["Syriatel Holdings","sy"],"46668":["ACeS Taiwan - ACeS Taiwan Telecommunications Co Ltd","tw"],"46605":["Asia Pacific Telecom Co. Ltd (APT)","tw"],"46611":["Chunghwa Telecom LDM","tw"],"46692":["Chunghwa Telecom LDM","tw"],"46602":["Far EasTone","tw"],"46607":["Far EasTone","tw"],"46606":["Far EasTone","tw"],"46603":["Far EasTone","tw"],"46601":["Far EasTone","tw"],"46610":["Global Mobile Corp.","tw"],"46656":["International Telecom Co. Ltd (FITEL)","tw"],"46688":["KG Telecom","tw"],"46690":["T-Star/VIBO","tw"],"46699":["TransAsia","tw"],"46697":["Taiwan Cellular","tw"],"46693":["Mobitai","tw"],"46689":["T-Star/VIBO","tw"],"46609":["VMAX Telecom Co. Ltd","tw"],"43604":["Babilon-M","tj"],"43605":["Bee Line","tj"],"43602":["CJSC Indigo Tajikistan","tj"],"43612":["Tcell/JC Somoncom","tj"],"43603":["Megafon","tj"],"43601":["Tcell/JC Somoncom","tj"],"64005":["Airtel","tz"],"64008":["Benson Informatics Ltd","tz"],"64006":["Dovetel (T) Ltd","tz"],"64009":["Halotel / Viettel","tz"],"64099":["Mkulima African Telecommunication","tz"],"64014":["MO Mobile","tz"],"64011":["Smile Communications","tz"],"64007":["Tanzania Telecommunication Corporation","tz"],"64002":["Tigo / MIC","tz"],"64001":["Tri Telecomm. Ltd.","tz"],"64004":["Vodacom","tz"],"64013":["WiAfrica","tz"],"64003":["Zanzibar Telecom / Zantel","tz"],"52020":["ACeS Thailand - ACeS Regional Services Co Ltd","th"],"52015":["ACT Mobile","th"],"52003":["AIS/Advanced Info Service","th"],"52001":["AIS/Advanced Info Service","th"],"52023":["Digital Phone Co.","th"],"520999":["Fix Line","th"],"52000":["Hutch/CAT CDMA","th"],"52005":["Total Access (DTAC)","th"],"52018":["Total Access (DTAC)","th"],"52004":["True Move/Orange","th"],"52099":["True Move/Orange","th"],"61503":["Atlantique Telecom / Moov","tg"],"61502":["Telecel/MOOV","tg"],"61501":["Togo Cellulaire / TogoCel","tg"],"53988":["Digicel","to"],"539999":["Fix Line","to"],"53943":["Shoreline Communication","to"],"53901":["Tonga Communications","to"],"37412":["Bmobile/TSTT","tt"],"374120":["Bmobile/TSTT","tt"],"374130":["Digicel","tt"],"374140":["LaqTel Ltd.","tt"],"605999":["Fix Line","tn"],"60506":["Lycamobile","tn"],"60503":["Ooredoo","tn"],"60501":["Orange","tn"],"60502":["TT Mobile","tn"],"286299":["Asistan Telekom","tr"],"28604":["Avea","tr"],"28603":["Avea","tr"],"286999":["Fix Line","tr"],"28601":["Turkcell","tr"],"28602":["Vodafone","tr"],"43801":["MTS/Barash Communication","tm"],"43802":["Altyn Asyr/TM-Cell","tm"],"376350":["Cable & Wireless (TCI) Ltd","tc"],"376050":["Digicel TCI Ltd","tc"],"376352":["IslandCom Communications Ltd.","tc"],"55301":["Tuvalu Telecommunication Corporation (TTC)","tv"],"64101":["Airtel","ug"],"64122":["Airtel","ug"],"641999":["Fix Line","ug"],"64166":["i-Tel Ltd","ug"],"64130":["K2 Telecom Ltd","ug"],"64104":["Lycamobile","ug"],"64111":["Mango","ug"],"64110":["MTN","ug"],"64114":["Orange","ug"],"64133":["Smile","ug"],"64118":["Suretelecom Uganda Ltd","ug"],"25507":["3Mob","ua"],"25505":["Golden Telecom","ua"],"25539":["Golden Telecom","ua"],"25504":["IT","ua"],"25567":["KyivStar","ua"],"25502":["Kyivstar","ua"],"25503":["Kyivstar","ua"],"25506":["lifecell","ua"],"25521":["PEOPLEnet","ua"],"25599":["Phoenix","ua"],"25550":["Vodafone","ua"],"25501":["Vodafone","ua"],"25568":["Kyivstar","ua"],"42403":["DU","ae"],"42402":["Etisalat","ae"],"43102":["Etisalat","ae"],"43002":["Etisalat","ae"],"23499":["08Direct","gb"],"23478":["Airwave","gb"],"23429":["aql","gb"],"23476":["BT Group","gb"],"23400":["BT Group","gb"],"23408":["BT OnePhone","gb"],"23418":["Cloud9","gb"],"23502":["Everyth. Ev.wh.","gb"],"23432":["T-Mobile","gb"],"23431":["T-Mobile","gb"],"23430":["T-Mobile","gb"],"234999":["Fix Line","gb"],"23417":["FlexTel","gb"],"23404":["FMS Solutions","gb"],"23439":["Gamma Mobile","gb"],"23424":["Greenfone","gb"],"23472":["Hanhaa Mobile","gb"],"23471":["Home Office","gb"],"23420":["3","gb"],"23494":["3","gb"],"23423":["Icron Network","gb"],"23403":["Jersey Airtel","gb"],"23435":["JSC Ingenicum","gb"],"23450":["JT Mobile","gb"],"23414":["LINK Mobility","gb"],"23426":["Lycamobile","gb"],"23458":["Manx Telecom Mobile","gb"],"23428":["Marathon Telecom","gb"],"23475":["Mass Response Service GmbH","gb"],"23456":["NCSC","gb"],"23495":["Network Rail","gb"],"23412":["Network Rail","gb"],"23413":["Network Rail","gb"],"23451":["now broadband","gb"],"23434":["Orange","gb"],"23433":["Orange","gb"],"23474":["Pareteum","gb"],"23457":["Sky","gb"],"23440":["spusu","gb"],"23455":["Sure Guernsey","gb"],"23436":["Sure Isle of Man","gb"],"23437":["Synectiv","gb"],"23416":["Talk Talk","gb"],"23427":["Tata Communications Ltd","gb"],"23402":["O2","gb"],"23411":["O2","gb"],"23410":["O2","gb"],"23422":["Telesign Mobile","gb"],"23419":["TeleWare","gb"],"23409":["Tismi","gb"],"23425":["Truphone","gb"],"23401":["Vectone Mobile","gb"],"234998":["Virgin Mobile","gb"],"23438":["Virgin Mobile","gb"],"23407":["Vodafone","gb"],"23492":["Vodafone","gb"],"23489":["Vodafone","gb"],"23415":["Vodafone","gb"],"23491":["Vodafone","gb"],"23477":["Vodafone","gb"],"310850":["Aeris Comm. Inc.","us"],"310510":["Airtel Wireless LLC","us"],"310190":["Unknown","us"],"312090":["Allied Wireless Communications Corporation","us"],"310710":["Arctic Slope Telephone Association Cooperative Inc.","us"],"310410":["AT&T Wireless Inc.","us"],"310380":["AT&T Wireless Inc.","us"],"310170":["AT&T Wireless Inc.","us"],"310150":["AT&T Wireless Inc.","us"],"310680":["AT&T Wireless Inc.","us"],"310070":["AT&T Wireless Inc.","us"],"310560":["AT&T Wireless Inc.","us"],"310980":["AT&T Wireless Inc.","us"],"311810":["Bluegrass Wireless LLC","us"],"311800":["Bluegrass Wireless LLC","us"],"311440":["Bluegrass Wireless LLC","us"],"310900":["Cable & Communications Corp.","us"],"311590":["California RSA No. 3 Limited Partnership","us"],"311500":["Cambridge Telephone Company Inc.","us"],"310830":["Caprock Cellular Ltd.","us"],"311483":["Verizon Wireless","us"],"311110":["Verizon Wireless","us"],"311285":["Verizon Wireless","us"],"311488":["Verizon Wireless","us"],"311274":["Verizon Wireless","us"],"310010":["Verizon Wireless","us"],"311279":["Verizon Wireless","us"],"311288":["Verizon Wireless","us"],"310910":["Verizon Wireless","us"],"311284":["Verizon Wireless","us"],"311482":["Verizon Wireless","us"],"311487":["Verizon Wireless","us"],"311273":["Verizon Wireless","us"],"310004":["Verizon Wireless","us"],"311278":["Verizon Wireless","us"],"311287":["Verizon Wireless","us"],"310890":["Verizon Wireless","us"],"311283":["Verizon Wireless","us"],"311481":["Verizon Wireless","us"],"311486":["Verizon Wireless","us"],"311272":["Verizon Wireless","us"],"311277":["Verizon Wireless","us"],"310590":["Verizon Wireless","us"],"311282":["Verizon Wireless","us"],"311480":["Verizon Wireless","us"],"311485":["Verizon Wireless","us"],"311271":["Verizon Wireless","us"],"311276":["Verizon Wireless","us"],"310013":["Verizon Wireless","us"],"311281":["Verizon Wireless","us"],"311390":["Verizon Wireless","us"],"311484":["Verizon Wireless","us"],"311270":["Verizon Wireless","us"],"311286":["Verizon Wireless","us"],"311489":["Verizon Wireless","us"],"311275":["Verizon Wireless","us"],"310012":["Verizon Wireless","us"],"311280":["Verizon Wireless","us"],"311289":["Verizon Wireless","us"],"312280":["Cellular Network Partnership LLC","us"],"312270":["Cellular Network Partnership LLC","us"],"310360":["Cellular Network Partnership LLC","us"],"311120":["Choice Phone LLC","us"],"310480":["Choice Phone LLC","us"],"310420":["Cincinnati Bell Wireless LLC","us"],"310180":["Cingular Wireless","us"],"310620":["Coleman County Telco /Trans TX","us"],"31006":["Consolidated Telcom","us"],"31060":["Consolidated Telcom","us"],"310700":["Cross Valliant Cellular Partnership","us"],"312030":["Cross Wireless Telephone Co.","us"],"311140":["Cross Wireless Telephone Co.","us"],"312040":["Custer Telephone Cooperative Inc.","us"],"310440":["Dobson Cellular Systems","us"],"310990":["E.N.M.R. Telephone Coop.","us"],"312130":["East Kentucky Network LLC","us"],"312120":["East Kentucky Network LLC","us"],"310750":["East Kentucky Network LLC","us"],"310090":["Edge Wireless LLC","us"],"310610":["Elkhart TelCo. / Epic Touch Co.","us"],"311311":["Farmers","us"],"311460":["Fisher Wireless Services Inc.","us"],"311370":["GCI Communication Corp.","us"],"310430":["GCI Communication Corp.","us"],"310920":["Get Mobile Inc.","us"],"311340":["Illinois Valley Cellular RSA 2 Partnership","us"],"312170":["Iowa RSA No. 2 Limited Partnership","us"],"311410":["Iowa RSA No. 2 Limited Partnership","us"],"310770":["Iowa Wireless Services LLC","us"],"310650":["Jasper","us"],"310870":["Kaplan Telephone Company Inc.","us"],"312180":["Keystone Wireless LLC","us"],"310690":["Keystone Wireless LLC","us"],"311310":["Lamar County Cellular","us"],"310016":["Leap Wireless International Inc.","us"],"310040":["Matanuska Tel. Assn. Inc.","us"],"310780":["Message Express Co. / Airlink PCS","us"],"311330":["Michigan Wireless LLC","us"],"310400":["Minnesota South. Wirel. Co. / Hickory","us"],"311020":["Missouri RSA No 5 Partnership","us"],"311010":["Missouri RSA No 5 Partnership","us"],"312220":["Missouri RSA No 5 Partnership","us"],"312010":["Missouri RSA No 5 Partnership","us"],"311920":["Missouri RSA No 5 Partnership","us"],"310350":["Mohave Cellular LP","us"],"310570":["MTPCS LLC","us"],"310290":["NEP Cellcorp Inc.","us"],"31034":["Nevada Wireless LLC","us"],"310600":["New-Cell Inc.","us"],"311300":["Nexus Communications Inc.","us"],"310130":["North Carolina RSA 3 Cellular Tel. Co.","us"],"312230":["North Dakota Network Company","us"],"311610":["North Dakota Network Company","us"],"310450":["Northeast Colorado Cellular Inc.","us"],"311710":["Northeast Wireless Networks LLC","us"],"310670":["Northstar","us"],"310011":["Northstar","us"],"311420":["Northwest Missouri Cellular Limited Partnership","us"],"310999":["Various Networks","us"],"310760":["Panhandle Telephone Cooperative Inc.","us"],"310580":["PCS ONE","us"],"311170":["PetroCom","us"],"311670":["Pine Belt Cellular, Inc.","us"],"310100":["Plateau Telecommunications Inc.","us"],"310940":["Poka Lambro Telco Ltd.","us"],"310500":["Public Service Cellular Inc.","us"],"312160":["RSA 1 Limited Partnership","us"],"311430":["RSA 1 Limited Partnership","us"],"311350":["Sagebrush Cellular Inc.","us"],"31046":["SIMMETRY","us"],"311260":["SLO Cellular Inc / Cellular One of San Luis","us"],"310320":["Smith Bagley Inc.","us"],"31015":["Unknown","us"],"316011":["Southern Communications Services Inc.","us"],"312530":["Sprint Spectrum","us"],"310120":["Sprint Spectrum","us"],"316010":["Sprint Spectrum","us"],"312190":["Sprint Spectrum","us"],"311880":["Sprint Spectrum","us"],"311870":["Sprint Spectrum","us"],"311490":["Sprint Spectrum","us"],"310240":["T-Mobile","us"],"310660":["T-Mobile","us"],"310230":["T-Mobile","us"],"31031":["T-Mobile","us"],"310220":["T-Mobile","us"],"310270":["T-Mobile","us"],"310210":["T-Mobile","us"],"310260":["T-Mobile","us"],"310200":["T-Mobile","us"],"310250":["T-Mobile","us"],"310160":["T-Mobile","us"],"310800":["T-Mobile","us"],"310300":["T-Mobile","us"],"310280":["T-Mobile","us"],"310330":["T-Mobile","us"],"310310":["T-Mobile","us"],"310740":["Telemetrix Inc.","us"],"31014":["Testing","us"],"310950":["Unknown","us"],"310860":["Texas RSA 15B2 Limited Partnership","us"],"311830":["Thumb Cellular Limited Partnership","us"],"311050":["Thumb Cellular Limited Partnership","us"],"310460":["TMP Corporation","us"],"310490":["Triton PCS","us"],"311860":["Uintah Basin Electronics Telecommunications Inc.","us"],"310960":["Uintah Basin Electronics Telecommunications Inc.","us"],"312290":["Uintah Basin Electronics Telecommunications Inc.","us"],"310020":["Union Telephone Co.","us"],"311220":["United States Cellular Corp.","us"],"310730":["United States Cellular Corp.","us"],"311650":["United Wireless Communications Inc.","us"],"31038":["USA 3650 AT&T","us"],"310520":["VeriSign","us"],"310003":["Unknown","us"],"31023":["Unknown","us"],"31024":["Unknown","us"],"31025":["Unknown","us"],"310530":["West Virginia Wireless","us"],"31026":["Unknown","us"],"310340":["Westlink Communications, LLC","us"],"311070":["Wisconsin RSA #7 Limited Partnership","us"],"310390":["Yorkville Telephone Cooperative","us"],"74803":["Ancel/Antel","uy"],"74800":["Ancel/Antel","uy"],"74801":["Ancel/Antel","uy"],"74810":["Claro/AM Wireless","uy"],"74807":["MOVISTAR","uy"],"43404":["Bee Line/Unitel","uz"],"43401":["Buztel","uz"],"43407":["MTS/Uzdunrobita","uz"],"43405":["Ucell/Coscom","uz"],"43402":["Uzmacom","uz"],"54105":["DigiCel","vu"],"54101":["SMILE","vu"],"225299":["Failed Calls","va"],"73403":["DigiTel C.A.","ve"],"73402":["DigiTel C.A.","ve"],"73401":["DigiTel C.A.","ve"],"73406":["Movilnet C.A.","ve"],"73404":["Movistar/TelCel","ve"],"45207":["Gmobile","vn"],"45208":["I-Telecom","vn"],"45201":["MobiFone","vn"],"45209":["Reddi","vn"],"45203":["S-Fone/Telecom","vn"],"45205":["Vietnamobile","vn"],"45206":["Viettel","vn"],"45204":["Viettel","vn"],"45202":["VinaPhone","vn"],"37650":["Digicel","vi"],"543299":["Failed Calls","wf"],"54301":["Manuia","wf"],"421999":["Fix Line","ye"],"42104":["HITS/Y Unitel","ye"],"42102":["MTN/Spacetel","ye"],"42101":["Sabaphone","ye"],"42103":["Yemen Mob. CDMA","ye"],"64501":["Airtel","zm"],"645299":["Failed Calls","zm"],"64502":["MTN","zm"],"64503":["Zamtel","zm"],"64804":["Econet","zw"],"64801":["NetOne","zw"],"64803":["Telecel","zw"]},"i":{"289":"ge","412":"af","276":"al","603":"dz","544":"as","213":"ad","631":"ao","365":"ai","344":"ag","722":"ar","283":"am","363":"aw","505":"au","232":"at","400":"az","364":"bs","426":"bh","470":"bd","342":"bb","257":"by","206":"be","702":"bz","616":"bj","350":"bm","402":"bt","736":"bo","362":"bq","218":"ba","652":"bw","724":"br","348":"vg","528":"bn","284":"bg","613":"bf","642":"bi","456":"kh","624":"cm","302":"ca","625":"cv","346":"ky","623":"cf","622":"td","730":"cl","460":"cn","732":"co","654":"km","629":"cg","548":"ck","712":"cr","219":"hr","368":"cu","280":"cy","230":"cz","630":"cd","238":"dk","638":"dj","366":"dm","370":"do","514":"tl","740":"ec","602":"eg","706":"sv","627":"gq","657":"er","248":"ee","636":"et","750":"fk","288":"fo","542":"fj","244":"fi","208":"fr","340":"gf","547":"pf","628":"ga","607":"gm","282":"ge","262":"de","620":"gh","266":"gi","202":"gr","290":"gl","352":"gd","310":"gu","311":"gu","704":"gt","611":"gn","632":"gw","738":"gy","372":"ht","708":"hn","454":"hk","216":"hu","274":"is","404":"in","405":"in","510":"id","901":"n/a","432":"ir","418":"iq","272":"ie","425":"il","222":"it","612":"ci","338":"jm","440":"jp","441":"jp","416":"jo","401":"kz","639":"ke","545":"ki","221":"xk","419":"kw","437":"kg","457":"la","247":"lv","415":"lb","651":"ls","618":"lr","606":"ly","295":"li","246":"lt","270":"lu","455":"mo","646":"mg","650":"mw","502":"my","472":"mv","610":"ml","278":"mt","551":"mh","609":"mr","617":"mu","647":"yt","334":"mx","550":"fm","259":"md","212":"mc","428":"mn","297":"me","354":"ms","604":"ma","643":"mz","414":"mm","649":"na","429":"np","204":"nl","546":"nc","530":"nz","710":"ni","614":"ne","621":"ng","555":"nu","467":"kp","294":"mk","242":"no","422":"om","410":"pk","552":"pw","714":"pa","537":"pg","744":"py","716":"pe","515":"ph","260":"pl","268":"pt","330":"pr","427":"qa","226":"ro","250":"ru","635":"rw","658":"sh","356":"kn","358":"lc","308":"pm","360":"vc","549":"ws","292":"sm","626":"st","420":"sa","608":"sn","220":"rs","633":"sc","619":"sl","525":"sg","231":"sk","293":"si","540":"sb","637":"so","655":"za","450":"kr","659":"ss","214":"es","413":"lk","634":"sd","746":"sr","653":"sz","240":"se","228":"ch","417":"sy","466":"tw","436":"tj","640":"tz","520":"th","615":"tg","539":"to","374":"tt","605":"tn","286":"tr","438":"tm","376":"tc","553":"tv","641":"ug","255":"ua","424":"ae","431":"ae","430":"ae","234":"gb","235":"gb","312":"us","316":"us","748":"uy","434":"uz","541":"vu","225":"va","734":"ve","452":"vn","543":"wf","421":"ye","645":"zm","648":"zw"},"t":["302","310","311","312","313","314","315","316","334","338"]} \ No newline at end of file +{"c":{"00101":["Test Network, Used by GSM test equipment",""],"20201":["Cosmote","gr"],"20202":["Cosmote","gr"],"20203":["OTE","gr"],"20204":["OSE","gr"],"20205":["Vodafone","gr"],"20207":["AMD Telecom","gr"],"20209":["Info Quest S.A.","gr"],"20210":["Telestet","gr"],"20212":["Yuboto","gr"],"20214":["CyTa Mobile","gr"],"20215":["BWS","gr"],"20216":["Inter Telecom","gr"],"202299":["AMD Telecom","gr"],"202999":["Fix Line","gr"],"20400":["Intovoice","nl"],"20402":["T-Mobile","nl"],"20403":["Voiceworks NL","nl"],"20404":["Vodafone","nl"],"20405":["ElephantTalk","nl"],"20406":["Vectone Mobile","nl"],"20407":["Move / Teleena","nl"],"20408":["KPN Mobiel","nl"],"20409":["Lycamobile","nl"],"20410":["KPN","nl"],"20412":["KPN Mobiel","nl"],"20414":["6GMOBILE BV","nl"],"20415":["Ziggo","nl"],"20416":["Odido","nl"],"20417":["Intercity Mobile Communications BV","nl"],"20418":["Ziggo Services","nl"],"20420":["T-Mobile","nl"],"20421":["NS Railinfrabeheer B.V.","nl"],"20423":["KORE","nl"],"20424":["Private Mobility","nl"],"20426":["SpeakUp","nl"],"20427":["L-mobi","nl"],"20428":["Lancelot","nl"],"20429":["Tismi","nl"],"204299":["88 mobile","nl"],"20430":["ASPIDER Solutions","nl"],"20433":["Truphone","nl"],"20463":["MessageBird","nl"],"20465":["AGMS","nl"],"20468":["Unify Mobile","nl"],"20469":["KPN Lab","nl"],"20498":["Lancelot","nl"],"204999":["Fix Line","nl"],"20600":["Proximus","be"],"20601":["Proximus","be"],"20602":["Infrabel","be"],"20604":["Proximus","be"],"20605":["Telenet","be"],"20606":["Lycamobile","be"],"20607":["Vectone Mobile","be"],"20608":["VOOmobile","be"],"20610":["Orange","be"],"20620":["BASE","be"],"20623":["Dust Mobile","be"],"20625":["Dense Air","be"],"20628":["Bics","be"],"206299":["FEBO","be"],"20630":["Unleashed","be"],"20633":["Ericsson","be"],"20634":["onoff","be"],"20699":["Lancelot","be"],"206999":["Fix Line","be"],"20800":["Tel/Te","fr"],"20801":["Orange","fr"],"20802":["Orange","fr"],"20803":["MobiquiThings","fr"],"20804":["Netcom Group","fr"],"20805":["Globalstar Europe","fr"],"20806":["Globalstar Europe","fr"],"20807":["Globalstar Europe","fr"],"20808":["SFR","fr"],"20809":["SFR","fr"],"20810":["SFR","fr"],"20811":["SFR","fr"],"20812":["Truphone","fr"],"20813":["SFR","fr"],"20814":["Free Mobile","fr"],"20815":["Free","fr"],"20816":["Free Mobile","fr"],"20817":["Legos","fr"],"208180":["Private FR","fr"],"20820":["Bouygues Telecom","fr"],"20821":["Bouygues Telecom","fr"],"20822":["Transatel","fr"],"20823":["Virgin","fr"],"20824":["MobiquiThings","fr"],"20825":["Lycamobile","fr"],"20826":["NRJ","fr"],"20827":["Coriolis","fr"],"20828":["Airmob","fr"],"20829":["Orange","fr"],"208299":["Add-On Multimedia","fr"],"20830":["Syma Mobile","fr"],"20831":["Vectone Mobile","fr"],"20832":["Orange","fr"],"20834":["Cellhire","fr"],"20835":["Free Mobile","fr"],"20836":["Free Mobile","fr"],"20837":["IP Directions","fr"],"20838":["Lebara","fr"],"20839":["Networth Telecom","fr"],"208506":["Airbus FR","fr"],"20888":["Bouygues Telecom","fr"],"20889":["Hub One","fr"],"20891":["Orange","fr"],"20892":["IP Directions","fr"],"20894":["Halys","fr"],"208999":["Fix Line","fr"],"21201":["Monaco Telecom","mc"],"21210":["MONACO TELECOM","mc"],"21303":["Mobiland","ad"],"21401":["Vodafone","es"],"21402":["Altecom","es"],"21403":["Orange","es"],"21404":["Yoigo","es"],"21405":["Movistar","es"],"21406":["Euskaltel","es"],"21407":["Movistar","es"],"21408":["Euskaltel","es"],"21409":["Orange","es"],"21410":["Zinnia","es"],"21411":["Orange","es"],"21412":["Venus Movil","es"],"21414":["Avatel Movil","es"],"21415":["BT Espana SAU","es"],"21416":["mobil R","es"],"21417":["mobil R","es"],"21418":["ONO","es"],"21419":["Simyo","es"],"21420":["Fonyou Telecom","es"],"21421":["Jazz Telecom SAU","es"],"21422":["Digi Spain","es"],"21423":["Yoigo","es"],"21425":["Lycamobile","es"],"21426":["Lleida","es"],"21427":["Truphone","es"],"21429":["Yoigo","es"],"214299":["ACN","es"],"21432":["ION Mobile","es"],"21433":["Yoigo","es"],"21434":["ION Mobile","es"],"21435":["SUMA movil","es"],"21436":["Alai","es"],"21437":["Vodafone","es"],"21438":["Movistar","es"],"214999":["Fix Line","es"],"21601":["Yettel","hu"],"21602":["MVM NET","hu"],"21603":["Digi","hu"],"216299":["Antenna","hu"],"21630":["Magyar Telekom","hu"],"21670":["Vodafone","hu"],"21671":["UPC Magyarorszag Kft.","hu"],"216999":["Fix line","hu"],"21803":["Eronet Mobile Communications Ltd.","ba"],"21805":["MOBI'S (Mobilina Srpske)","ba"],"21890":["GSMBIH","ba"],"21901":["Hrvatski Telekom","hr"],"21902":["Telemach","hr"],"21910":["A1/Tomato","hr"],"21912":["TELE FOCUS","hr"],"21920":["Hrvatski Telekom","hr"],"219999":["Fix Line","hr"],"22001":["Yettel","rs"],"22002":["Yettel","rs"],"22003":["Telekom Srbija a.d.","rs"],"22005":["A1 SRB","rs"],"22011":["Globaltel","rs"],"22020":["VIP","rs"],"220299":["Failed Calls","rs"],"22101":["Vala","xk"],"22102":["IPKO","xk"],"22103":["MTS","xk"],"22106":["Dardafon.Net LLC","xk"],"22107":["D3 mobile","xk"],"221299":["MTS","xk"],"22200":["Premium Numbers","it"],"22201":["TIM","it"],"22202":["Elsacom","it"],"22206":["Vodafone","it"],"22207":["Kena","it"],"22208":["Fastweb SpA","it"],"22210":["Vodafone","it"],"222299":["A-Tono","it"],"22230":["RFI","it"],"22233":["Poste Mobile","it"],"22234":["BT mobile","it"],"22235":["Lycamobile","it"],"22236":["Digi Italy","it"],"22237":["WindTre / Hi3G","it"],"22239":["SMS.it / LINK Mobility","it"],"22240":["Agile Telecom","it"],"22242":["Enel","it"],"22243":["Telecom Italia Mobile","it"],"22244":["Mundio","it"],"22248":["Telecom Italia Mobile","it"],"22249":["Vianova Mobile","it"],"22250":["Iliad","it"],"22251":["ho.","it"],"22253":["WEB CoopVoce","it"],"22254":["Plintron","it"],"22256":["Spusu IT","it"],"22258":["rdcom","it"],"22277":["IPSE 2000","it"],"22288":["WINDTRE","it"],"22298":["Blu","it"],"22299":["WINDTRE","it"],"222999":["Fix Line","it"],"225299":["Failed Calls","va"],"22601":["Vodafone","ro"],"22602":["Romtelecom SA","ro"],"22603":["Telekom","ro"],"22604":["Telekom Romania","ro"],"22605":["Digi.Mobil","ro"],"22606":["Telekom Romania","ro"],"22610":["Orange","ro"],"22611":["Enigma Systems","ro"],"22616":["Lycamobile","ro"],"226299":["Iristel","ro"],"22801":["Swisscom","ch"],"22802":["Sunrise","ch"],"22803":["Salt","ch"],"22805":["Comfone AG","ch"],"22806":["SBB AG","ch"],"22807":["IN&Phone SA","ch"],"22808":["Tele2 Telecommunications AG","ch"],"22809":["Comfone","ch"],"22812":["Sunrise","ch"],"22851":["Bebbicell AG","ch"],"22852":["Mundio Mobile AG","ch"],"22853":["Sunrise","ch"],"22854":["Lycamobile","ch"],"22858":["Beeone","ch"],"22859":["Vectone Mobile","ch"],"22860":["Sunrise","ch"],"22862":["Telecom26","ch"],"22865":["Nexphone","ch"],"22866":["Inovia","ch"],"22869":["MTEL","ch"],"22870":["Tismi","ch"],"22871":["Spusu CH","ch"],"228999":["Fix Line","ch"],"23001":["T-Mobile","cz"],"23002":["O2","cz"],"23003":["Vodafone","cz"],"23004":["Mobilkom a.s.","cz"],"23005":["PODA","cz"],"23007":["T-Mobile","cz"],"23008":["Compatel","cz"],"23009":["Uniphone","cz"],"230299":["+4U Mobile","cz"],"23098":["Sprava Zeleznicni Dopravni Cesty","cz"],"23099":["Vodafone","cz"],"230999":["Fix Line","cz"],"23101":["Orange","sk"],"23102":["Slovak Telekom","sk"],"23103":["4ka SK","sk"],"23104":["Eurotel, UMTS","sk"],"23105":["Orange, UMTS","sk"],"23106":["O2","sk"],"23107":["Orange","sk"],"23108":["Uniphone","sk"],"23115":["Orange","sk"],"231299":["Vonage","sk"],"23150":["Telekom","sk"],"23199":["ZSR","sk"],"23201":["A1 Telekom","at"],"23202":["A1 Telekom","at"],"23203":["Magenta Telekom","at"],"23204":["T-Mobile / Magenta","at"],"23205":["Drei","at"],"23206":["Hutchison Drei / 3","at"],"23207":["Magenta Telekom","at"],"23208":["Telefonica Austria","at"],"23209":["A1 Telekom","at"],"23210":["Drei","at"],"23211":["A1 Telekom","at"],"23212":["A1 Telekom","at"],"23213":["T-Mobile / Magenta","at"],"23214":["Hutchinson Drei","at"],"23215":["T-Mobile / Magenta","at"],"23216":["Hutchinson Drei","at"],"23217":["Spusu AT","at"],"23218":["smartspace","at"],"23219":["Hutchinson Drei","at"],"23220":["Mtel","at"],"23222":["Plintron","at"],"23223":["T-Mobile / Magenta","at"],"23224":["Smartel Services","at"],"23225":["Holding Graz","at"],"23226":["LIWEST Mobil","at"],"23227":["Tismi","at"],"232299":["ArgoNET","at"],"23291":["OBB Infrastruktur","at"],"232999":["Fix Line","at"],"23400":["British Telecom","gb"],"23401":["Mapesbury Communications Ltd.","gb"],"23402":["O2","gb"],"23403":["Jersey Telenet Ltd","gb"],"23404":["FMS Solutions Ltd","gb"],"23405":["Spitfire Network Services Ltd","gb"],"23406":["Internet One Ltd","gb"],"23407":["Cable and Wireless plc","gb"],"23408":["BT OnePhone","gb"],"23409":["Wire9 Telecom plc","gb"],"23410":["O2","gb"],"23411":["O2","gb"],"23412":["Ntework Rail Infrastructure Ltd","gb"],"23413":["Ntework Rail Infrastructure Ltd","gb"],"23414":["Hay Systems Ltd","gb"],"23415":["Vodafone","gb"],"23416":["Opal Telecom Ltd","gb"],"23417":["Flextel Ltd","gb"],"23418":["Wire9 Telecom plc","gb"],"23419":["Teleware plc","gb"],"23420":["Three Mobile","gb"],"23422":["Telesign Mobile","gb"],"23423":["Icron Network","gb"],"23424":["Greenfone","gb"],"23425":["Truphone","gb"],"23426":["Lycamobile","gb"],"23427":["Tata Communications Ltd","gb"],"23428":["Marathon Telecom","gb"],"23429":["aql","gb"],"23430":["EE","gb"],"23431":["EE","gb"],"23432":["EE","gb"],"23433":["EE","gb"],"23434":["Orange","gb"],"23435":["JSC Ingenicum","gb"],"23436":["Sure Isle of Man","gb"],"23437":["Synectiv","gb"],"23438":["Virgin Mobile","gb"],"23439":["Gamma","gb"],"23440":["Spusu GB","gb"],"23450":["Jersey Telecom","gb"],"23451":["now broadband","gb"],"23453":["TANGO","gb"],"23455":["Cable and Wireless Guensey Ltd","gb"],"23456":["NCSC","gb"],"23457":["Sky","gb"],"23458":["Manx Telecom","gb"],"23471":["Emergency Services Network","gb"],"23472":["Hanhaa Mobile","gb"],"23474":["Pareteum","gb"],"23475":["Inquam Telecom (Holdings) Ltd.","gb"],"23476":["British Telecom","gb"],"23477":["Vodafone","gb"],"23478":["Airwave mmO2 Ltd","gb"],"23486":["EE","gb"],"23489":["Vodafone","gb"],"23491":["Vodafone","gb"],"23492":["Vodafone","gb"],"23494":["Three Mobile","gb"],"23495":["Network Rail","gb"],"23499":["08Direct","gb"],"234998":["Virgin Mobile","gb"],"234999":["Fix Line","gb"],"23502":["Everyth. Ev.wh.","gb"],"23594":["Three Mobile","gb"],"23801":["TDC Mobil","dk"],"23802":["Telenor","dk"],"23803":["MIGway A/S","dk"],"23804":["Nexcon.io","dk"],"23806":["3","dk"],"23807":["Barablu Mobile Ltd.","dk"],"23808":["Voxbone / Bandwidth","dk"],"23810":["TDC Mobil","dk"],"23812":["Lycamobile","dk"],"23813":["Compatel","dk"],"23814":["Monty Mobile","dk"],"23815":["Net 1","dk"],"23816":["Tismi","dk"],"23817":["Gotanet","dk"],"23820":["Telia","dk"],"23823":["Banedanmark","dk"],"23825":["Viahub","dk"],"23828":["LINK Mobility","dk"],"23830":["Telia","dk"],"23842":["Greenwave","dk"],"23866":["Telenor","dk"],"23873":["Onomondo","dk"],"23877":["Tele2","dk"],"23888":["Cobira","dk"],"23896":["Telia","dk"],"238999":["Fix Line","dk"],"24001":["Telia Sverige AB","se"],"24002":["3 (Hi3G Access AB)","se"],"24003":["Nordisk Mobiltelefon AS","se"],"24004":["3G Infrastructure Services AB","se"],"24005":["Svenska UMTS-Nät AB","se"],"24006":["Vimla","se"],"24007":["Tele2/Comviq Sverige/Com Hem","se"],"24008":["Telenor Sverige AB","se"],"24009":["Telenor Sweden (not used)","se"],"24010":["Spring Mobil AB","se"],"24011":["Linholmen Science Park AB","se"],"24012":["Barablu Mobile Scandinavia Ltd","se"],"24013":["Ventelo Sverige AB","se"],"24014":["TDC Mobil A/S","se"],"24015":["Wireless Maingate Nordic AB","se"],"24016":["42IT AB","se"],"24017":["Gotanet","se"],"24018":["Messit / Minicall","se"],"24019":["Vectone Mobile","se"],"24020":["Wireless Maingate Message Services AB","se"],"24021":["Banverket","se"],"24022":["EUtel","se"],"24023":["Infobip","se"],"24024":["Telenor","se"],"24025":["Monty Mobile","se"],"24026":["Twilio","se"],"24027":["Globetouch","se"],"24028":["LINK Mobility","se"],"24029":["MI Carrier Services","se"],"24030":["NextGen Mobile Ltd (CardBoardFish)","se"],"24031":["Rebtel","se"],"24032":["Compatel","se"],"24033":["Mobile Arts","se"],"24035":["42 Telecom","se"],"24036":["interactive digital media / IDM","se"],"24037":["Sinch","se"],"24038":["Voxbone / Bandwidth","se"],"24039":["Primlight","se"],"24040":["Netmore","se"],"24042":["Telenor Connexion","se"],"24043":["MobiWeb","se"],"24044":["Telenabler","se"],"24045":["Spirius","se"],"24046":["Viahub","se"],"24047":["Viatel","se"],"24048":["Tismi","se"],"24050":["Telavox","se"],"24063":["Fink Telecom","se"],"240999":["Fix Line","se"],"24201":["Telenor","no"],"242017":["Ventelo AS","no"],"24202":["Telia","no"],"24203":["Teletopia Mobile Communications AS","no"],"24204":["Tele2 Norge AS","no"],"24205":["OneCall","no"],"24206":["ICE","no"],"24207":["Ventelo AS","no"],"24208":["TDC Mobil A/S","no"],"24209":["com4","no"],"24210":["Nkom","no"],"24212":["Telenor","no"],"24214":["Ice Norway","no"],"24215":["eRate","no"],"24216":["Iristel","no"],"24220":["BANE NOR","no"],"24221":["BANE NOR","no"],"24222":["Altibox Mobil","no"],"24223":["Lycamobile","no"],"242299":["bigblu","no"],"242999":["Fix Line","no"],"24403":["DNA","fi"],"24404":["Finnet Networks Ltd.","fi"],"24405":["Elisa","fi"],"24406":["Elisa","fi"],"24407":["Nokia Test Network","fi"],"24408":["Unknown","fi"],"24409":["Finnet Group","fi"],"24410":["TDC","fi"],"24411":["Viahub","fi"],"24412":["DNA","fi"],"24413":["DNA","fi"],"24414":["Alands Mobiltelefon AB","fi"],"24415":["Telit","fi"],"24416":["Oy Finland Tele2 AB","fi"],"24421":["Elisa","fi"],"24424":["Nord Connect","fi"],"24426":["Compatel","fi"],"24429":["Scnl Truphone","fi"],"244299":["Benemen","fi"],"24432":["Voxbone / Bandwidth","fi"],"24433":["VIRVE","fi"],"24435":["Ukko Mobile","fi"],"24436":["Telia","fi"],"24437":["Tismi","fi"],"24438":["NSN","fi"],"24439":["NSN","fi"],"24440":["NSN","fi"],"24441":["NSN","fi"],"24442":["Viahub","fi"],"24443":["Telavox","fi"],"24445":["VIRVE","fi"],"24446":["VIRVE","fi"],"24447":["VIRVE","fi"],"24482":["interactive digital media / IDM","fi"],"24491":["Telia","fi"],"24601":["Telia","lt"],"24602":["BITĖ","lt"],"24603":["Tele2","lt"],"24605":["LTG","lt"],"24606":["Mediafon","lt"],"246299":["SkyCall","lt"],"24701":["LMT","lv"],"24702":["Tele2/ZZ","lv"],"24703":["Telekom Baltija","lv"],"24704":["Beta Telecom","lv"],"24705":["Bite","lv"],"24706":["SIA Rigatta","lv"],"24707":["SIA Master Telecom","lv"],"24708":["VENTA Mobile","lv"],"24709":["XOmobile","lv"],"24710":["LMT","lv"],"247299":["Premium Numbers","lv"],"24801":["Telia","ee"],"24802":["Elisa","ee"],"24803":["Tele2","ee"],"24804":["OY Top Connect","ee"],"24805":["AS Bravocom Mobiil","ee"],"24806":["OY ViaTel","ee"],"24807":["Televõrgu AS","ee"],"24813":["Telia","ee"],"24871":["Siseministeerium (Ministry of Interior)","ee"],"25001":["МТС","ru"],"25002":["MegaFon","ru"],"25003":["Tele2","ru"],"25004":["Sibchallenge","ru"],"25005":["Tele2","ru"],"250050":["Sberbank-Telecom","ru"],"25007":["BM Telecom","ru"],"25009":["Skylink","ru"],"25010":["Don Telecom","ru"],"25011":["Orensot","ru"],"25012":["Tele2","ru"],"25013":["Kuban GSM","ru"],"25015":["ZAO SMARTS","ru"],"25016":["New Telephone Company","ru"],"25017":["Tele2","ru"],"25019":["Volgograd Mobile","ru"],"25020":["Tele2","ru"],"25026":["VTB Mobile","ru"],"25028":["Extel","ru"],"250299":["A-Mobile","ru"],"25032":["Win Mobile","ru"],"25033":["SEVTELECOM","ru"],"25034":["Krymtelecom","ru"],"25035":["Motiv","ru"],"25039":["Tele2","ru"],"25042":["MTT","ru"],"25044":["Stuvtelesot","ru"],"25047":["Next Mobile","ru"],"25048":["Global Telecom","ru"],"25050":["Sberbank","ru"],"25054":["Letai Mobile","ru"],"25055":["Glonass","ru"],"25057":["Matrix Mobile","ru"],"25060":["Volna Mobile","ru"],"25062":["Tinkoff","ru"],"25077":["Glonass","ru"],"25092":["Printelefone","ru"],"25093":["Telecom XXI","ru"],"25097":["Phoenix","ru"],"25099":["Билайн","ru"],"250999":["Fix Line","ru"],"25501":["Ukrainian Mobile Communication, UMC","ua"],"25502":["T-Mobile - UA","ua"],"25503":["Kyivstar GSM","ua"],"25504":["International Telecommunications Ltd.","ua"],"25505":["Golden Telecom","ua"],"25506":["Astelit","ua"],"25507":["Ukrtelecom","ua"],"25521":["CJSC - Telesystems of Ukraine","ua"],"25539":["Golden Telecom","ua"],"25550":["Vodafone","ua"],"25567":["KyivStar","ua"],"25568":["Kyivstar","ua"],"25599":["Phoenix","ua"],"25701":["A1 BY","by"],"25702":["MTS","by"],"25703":["BelCel JV","by"],"25704":["life:)","by"],"25901":["Orange Moldova GSM","md"],"25902":["Moldcell","md"],"25903":["Unite","md"],"25904":["Eventis Mobile GSM","md"],"25905":["Unité","md"],"25999":["Unite","md"],"26001":["Plus","pl"],"26002":["T-Mobile","pl"],"26003":["Orange","pl"],"26004":["Tele2 Polska (Tele2 Polska Sp. Z.o.o.)","pl"],"26005":["IDEA (UMTS)/PTK Centertel sp. Z.o.o.","pl"],"26006":["PLAY","pl"],"26007":["Premium internet","pl"],"26008":["E-Telko","pl"],"26009":["Telekomunikacja Kolejowa (GSM-R)","pl"],"26010":["Telefony Opalenickie","pl"],"26011":["NORDISK Polska","pl"],"26012":["Cyfrowy Polsat","pl"],"26013":["Move","pl"],"26014":["Move","pl"],"26015":["Aero2","pl"],"26016":["Aero2","pl"],"26017":["Aero2","pl"],"26018":["AMD Telecom","pl"],"26019":["NetBalt","pl"],"26020":["Tismi","pl"],"26022":["Twilio","pl"],"26027":["Ntel Solutions","pl"],"260299":["3S","pl"],"26032":["Compatel","pl"],"26034":["T-Mobile","pl"],"26035":["PKP","pl"],"26036":["Mundio Mobile Sp. z o.o.","pl"],"26038":["CallFreedom Sp. z o.o.","pl"],"26039":["Voxbone / Bandwidth","pl"],"26041":["EZ Mobile","pl"],"26042":["MobiWeb","pl"],"26044":["Rebtel","pl"],"26045":["Virgin Mobile","pl"],"26047":["SMSHIGHWAY","pl"],"26048":["Agile Telecom","pl"],"26049":["Messagebird","pl"],"26090":["Polska Spolka Gazownictwa","pl"],"26097":["Politechnika Lodzka Uczelniane","pl"],"26098":["Play","pl"],"260999":["Fix Line","pl"],"26201":["Telekom","de"],"26202":["Vodafone","de"],"26203":["O2","de"],"26204":["Vodafone","de"],"26205":["Telefonica / E-Plus","de"],"26206":["Telekom","de"],"26207":["O2","de"],"26208":["Telefonica / O2","de"],"26209":["Vodafone Lab","de"],"26210":["Arcor AG & Co.","de"],"26211":["O2","de"],"26212":["Dolphin Telecom (Deutschland) GmbH","de"],"26213":["Mobilcom Multimedia GmbH","de"],"26214":["Group 3G UMTS GmbH (Quam)","de"],"26215":["Airdata AG","de"],"26216":["Telefonica / O2","de"],"26217":["Telefonica / E-Plus","de"],"26220":["Voiceworks DE","de"],"26221":["Multiconnect","de"],"26222":["sipgate","de"],"26223":["1&1","de"],"26224":["TelcoVillage","de"],"262299":["1&1","de"],"26233":["sipgate","de"],"26242":["Vodafone","de"],"26243":["Lycamobile","de"],"26276":["Siemens AG, ICMNPGUSTA","de"],"26277":["Telefonica / E-Plus","de"],"26278":["Telekom / T-mobile","de"],"262999":["Fix Line","de"],"26601":["Gibtelecom GSM","gi"],"26606":["CTS Mobile","gi"],"26609":["Cloud9 Mobile Communications","gi"],"266299":["GibFibreSpeed","gi"],"266999":["Fix Line","gi"],"26801":["Vodafone","pt"],"26802":["Digi Portugal","pt"],"26803":["NOS","pt"],"26804":["Lycamobile","pt"],"26805":["Oniway - Inforcomunicaçôes, S.A.","pt"],"26806":["MEO","pt"],"26807":["NOS","pt"],"26808":["MEO","pt"],"268299":["NOWO","pt"],"26880":["MEO","pt"],"26891":["Vodafone","pt"],"26893":["NOS","pt"],"268999":["Fix Line","pt"],"27001":["P&T Luxembourg","lu"],"27002":["MTX","lu"],"27005":["Luxembourg Online","lu"],"27010":["Blue Communications","lu"],"270299":["Bouygues Telecom","lu"],"27077":["Tango","lu"],"27081":["e-LUX Mobile","lu"],"27099":["Orange","lu"],"270999":["Fix Line","lu"],"27201":["Vodafone","ie"],"27202":["3","ie"],"27203":["Meteor Mobile Communications Ltd.","ie"],"27204":["Access Telecom","ie"],"27205":["3","ie"],"27207":["Eircom","ie"],"27208":["Meteor / eir mobile","ie"],"27209":["Clever Communications Ltd.","ie"],"27211":["Tesco Mobile","ie"],"27213":["Lycamobile","ie"],"27215":["Virgin Media","ie"],"27217":["3","ie"],"27225":["Sky IE","ie"],"27401":["Iceland Telecom Ltd.","is"],"27402":["Tal hf","is"],"27403":["Islandssimi GSM ehf","is"],"27404":["IMC Islande ehf","is"],"27405":["Vodafone","is"],"27407":["IceCell ehf","is"],"27408":["Siminn","is"],"27409":["Amitelo","is"],"27411":["Nova","is"],"27412":["Vodafone","is"],"27416":["Tismi","is"],"27431":["Siminn","is"],"27601":["One / AMC","al"],"27602":["Vodafone","al"],"27603":["Eagle Mobile","al"],"27604":["PLUS Communication Sh.a","al"],"27801":["Epic","mt"],"27821":["go mobile","mt"],"27830":["GO Mobile","mt"],"27877":["Melita","mt"],"278999":["Fix Line","mt"],"28001":["CYTA","cy"],"28002":["Cytamobile-Vodafone","cy"],"28010":["epic","cy"],"28020":["PrimeTel","cy"],"28022":["Cablenet","cy"],"280999":["Fix Line","cy"],"28201":["Geocell Ltd.","ge"],"28202":["Magti GSM Ltd.","ge"],"28203":["Iberiatel Ltd.","ge"],"28204":["Mobitel Ltd.","ge"],"28205":["Silknet","ge"],"28207":["GlobalCell","ge"],"28208":["Silknet","ge"],"28210":["Premium Net","ge"],"28211":["Mobilive","ge"],"28212":["Telecom 1","ge"],"28222":["MyPhone","ge"],"28301":["ArmenTel","am"],"28304":["Karabakh Telecom","am"],"28305":["K Telecom CJSC","am"],"28310":["Orange","am"],"28401":["A1","bg"],"28403":["VIVACOM","bg"],"28405":["Yettel","bg"],"28406":["Vivacom","bg"],"28411":["bulsatcom","bg"],"28413":["MAX TELECOM","bg"],"28601":["Paycell | Turkcell","tr"],"28602":["Vodafone","tr"],"28603":["Türk Telekom","tr"],"28604":["Türk Telekom","tr"],"286299":["Asistan Telekom","tr"],"286999":["Fix Line","tr"],"28801":["Faroese Telecom - GSM","fo"],"28802":["Kall GSM","fo"],"28803":["Tosa","fo"],"28967":["Aquafon","ge"],"28968":["A-Mobile","ge"],"28988":["A-Mobile","ge"],"29001":["Tele Greenland","gl"],"29201":["SMT - San Marino Telecom","sm"],"292299":["TeleneT","sm"],"29310":["Slovenske zeleznice","si"],"29320":["Compatel","si"],"293299":["HOT mobil","si"],"29340":["SI Mobil","si"],"29341":["Telekom Slovenije","si"],"29364":["T-2 d.o.o.","si"],"29370":["Telemach","si"],"29386":["Elektro Gorenjska","si"],"293999":["Fix Line","si"],"29401":["Mkedonski Telecom AD Skopje","mk"],"29402":["Cosmofon","mk"],"29403":["Nov Operator","mk"],"29404":["Lycamobile","mk"],"29411":["Mobik","mk"],"294299":["Failed Calls","mk"],"29475":["A1","mk"],"29501":["Telecom FL AG","li"],"29502":["Viag Europlatform AG","li"],"29505":["Mobilkom (Liechstein) AG","li"],"29506":["CUBIC","li"],"29507":["First Mobile AG","li"],"29509":["EMnify","li"],"295299":["Datamobile","li"],"29577":["Tele2 AG","li"],"29701":["ONE","me"],"29702":["Crnogorski Telekom","me"],"29703":["MTEL d.o.o. Podgorica","me"],"302130":["Xplornet","ca"],"302131":["Xplornet","ca"],"302220":["Telus Mobility","ca"],"302270":["EastLink","ca"],"302290":["Airtel Wireless","ca"],"302320":["Chatr Mobile","ca"],"30236":["Clearnet","ca"],"302360":["Clearnet","ca"],"302361":["Clearnet","ca"],"302370":["FIDO (Rogers AT&T/ Microcell)","ca"],"302380":["DMTS Mobility","ca"],"302490":["Freedom Mobile","ca"],"302500":["Videotron","ca"],"302510":["Videotron","ca"],"302520":["Videotron","ca"],"302610":["Bell Mobility","ca"],"30262":["Ice Wireless","ca"],"30263":["Aliant Mobility","ca"],"302630":["Bell Mobility","ca"],"30264":["Bell Mobility","ca"],"302640":["Bell Mobility","ca"],"302651":["Bell Mobility","ca"],"302652":["BC Tel Mobility","ca"],"302653":["Telus Mobility","ca"],"302654":["Sask Tel Mobility","ca"],"302655":["MTS Mobility","ca"],"302656":["Tbay Mobility","ca"],"302657":["Quebectel Mobility","ca"],"302660":["MTS Mobility","ca"],"30267":["CityTel Mobility","ca"],"302670":["CityWest Mobility","ca"],"30268":["Sask Tel Mobility","ca"],"302680":["Sask Tel Mobility","ca"],"302681":["Sask Tel Mobility","ca"],"302701":["NB Tel Mobility","ca"],"302702":["MT&T Mobility","ca"],"302703":["New Tel Mobility","ca"],"30271":["Globalstar","ca"],"302710":["Globalstar Canada","ca"],"30272":["Rogers","ca"],"302720":["Rogers","ca"],"302760":["Public Mobile","ca"],"302780":["Sask Tel Mobility","ca"],"302781":["Sask Tel Mobility","ca"],"30801":["St. Pierre-et-Miquelon Télécom","pm"],"30808":["St. Pierre-et-Miquelon Télécom","pm"],"310003":["Unknown","us"],"310004":["Verizon Wireless","us"],"310010":["MCI","us"],"310011":["Northstar","us"],"310012":["Verizon Wireless","us"],"310013":["Mobile Tel Inc.","us"],"310014":["Testing US","us"],"310016":["Leap Wireless International Inc.","us"],"310017":["North Sight Communications Inc.","us"],"310020":["Union Telephone Company","us"],"310023":["C Spire","us"],"310026":["T-Mobile - US","us"],"310028":["ALU Test-SIM","us"],"310030":["AT&T","us"],"310032":["IT&E OverSeas","gu"],"310033":["Guam Teleph. Auth","gu"],"310034":["Nevada Wireless LLC","us"],"310040":["MTA Communications dba MTA Wireless","us"],"310050":["ACS Wireless Inc.","us"],"31006":["Consolidated Telcom","us"],"310060":["Consolidated Telcom","us"],"310070":["AT&T","us"],"310080":["Corr Wireless Communications LLC","us"],"310090":["Edge Wireless LLC","us"],"310100":["New Mexico RSA 4 East Ltd. Partnership","us"],"310110":["Pacific Telecom Inc","us"],"310120":["Sprint","us"],"310130":["Carolina West Wireless","us"],"31014":["Testing","us"],"310140":["GTA Wireless LLC","us"],"31015":["Unknown","us"],"310150":["Cricket Wireless","us"],"310160":["T-Mobile - US","us"],"310170":["AT&T","us"],"310180":["West Central Wireless","us"],"310190":["Alaska Wireless Communications LLC","us"],"310200":["T-Mobile - US","us"],"310210":["T-Mobile - US","us"],"310220":["T-Mobile - US","us"],"31023":["Unknown","us"],"310230":["T-Mobile - US","us"],"31024":["Unknown","us"],"310240":["T-Mobile - US","us"],"31025":["Unknown","us"],"310250":["T-Mobile - US","us"],"31026":["T-Mobile - US","us"],"310260":["T-Mobile - US","us"],"310270":["T-Mobile - US","us"],"310280":["AT&T","us"],"310290":["Nep Cellcorp Inc.","us"],"310300":["T-Mobile - US","us"],"31031":["T-Mobile","us"],"310310":["T-Mobile - US","us"],"310320":["Smith Bagley Inc, dba Cellular One","us"],"310330":["AN Subsidiary LLC","us"],"31034":["Nevada Wireless LLC","us"],"310340":["High Plains Midwest LLC, dba Wetlink Communications","us"],"310350":["Mohave Cellular L.P.","us"],"310360":["Cellular Network Partnership dba Pioneer Cellular","us"],"310370":["Guamcell Cellular and Paging","us"],"31038":["USA 3650 AT&T","us"],"310380":["AT&T","us"],"310390":["TX-11 Acquistion LLC","us"],"310400":["Wave Runner LLC","us"],"310410":["AT&T","us"],"310420":["Cincinnati Bell Wireless LLC","us"],"310430":["Alaska Digitel LLC","us"],"310440":["Numerex Corp.","us"],"310450":["North East Cellular Inc.","us"],"31046":["SIMMETRY","us"],"310460":["TMP Corporation","us"],"310470":["nTelos","us"],"310480":["Choice Phone LLC","us"],"310490":["T-Mobile - US","us"],"310500":["Public Service Cellular, Inc.","us"],"310510":["Airtel Wireless LLC","us"],"310520":["VeriSign","us"],"310530":["T-Mobile - US","us"],"310540":["Oklahoma Western Telephone Company","us"],"310550":["Wireless Solutions International","us"],"310560":["AT&T","us"],"310570":["MTPCS LLC","us"],"310580":["Inland Cellular","us"],"310590":["Verizon Wireless","us"],"310591":["Verizon Wireless","us"],"310592":["Verizon Wireless","us"],"310593":["Verizon Wireless","us"],"310594":["Verizon Wireless","us"],"310595":["Verizon Wireless","us"],"310596":["Verizon Wireless","us"],"310597":["Verizon Wireless","us"],"310598":["Verizon Wireless","us"],"310599":["Verizon Wireless","us"],"31060":["Consolidated Telcom","us"],"310600":["New-Cell Inc.","us"],"310610":["Elkhart Telephone Co. Inc. dba Epic Touch Co.","us"],"310620":["Coleman County Telecommunications Inc. (Trans Texas PCS)","us"],"310640":["T-Mobile - US","us"],"310650":["Jasper Wireless Inc.","us"],"310660":["T-Mobile - US","us"],"310670":["AT&T Mobility Vanguard Services","us"],"310680":["AT&T","us"],"310690":["Limitless Mobile","us"],"310700":["Cross Valiant Cellular Partnership","us"],"310710":["Arctic Slopo Telephone Association Cooperative","us"],"310720":["Wireless Solutions International Inc.","us"],"310730":["Sea Mobile","us"],"310740":["Telemetrix Inc.","us"],"310750":["East Kentucky Network LLC dba Appalachian Wireless","us"],"310760":["Panhandle Telecommunications Systems Inc.","us"],"310770":["Iowa Wireless Services LLC dba I Wireless","us"],"310780":["Connect Net Inc","us"],"310790":["PinPoint Communications Inc.","us"],"310800":["T-Mobile - US","us"],"310810":["Brazos Cellular Communications Ltd.","us"],"310820":["South Canaan Cellular Communications Co. LP","us"],"310830":["Caprock Cellular Ltd. Partnership","us"],"310840":["Edge Mobile LLC","us"],"310850":["Aeris Communications, Inc.","us"],"310860":["TX RSA 15B2, LP dba Five Star Wireless","us"],"310870":["Kaplan Telephone Company Inc.","us"],"310880":["Advantage Cellular Systems, Inc.","us"],"310890":["Verizon Wireless","us"],"310900":["Mid-Rivers","us"],"310910":["Southern IL RSA Partnership dba First Cellular of Southern Illinois","us"],"310920":["James Valley","us"],"310930":["Copper Valley Wireless","us"],"310940":["Poka Lambro Telco Ltd.","us"],"310950":["AT&T","us"],"310960":["UBET Wireless","us"],"310970":["Globalstar USA","us"],"310980":["AT&T Wireless Inc.","us"],"310990":["Evolve","us"],"310995":["Android Emulator","us"],"310999":["Various Networks","us"],"311000":["Mid-Tex Cellular Ltd.","us"],"311010":["Chariton Valley Communications Corp., Inc.","us"],"311020":["Missouri RSA No. 5 Partnership","us"],"311030":["Indigo Wireless, Inc.","us"],"311040":["Commet Wireless, LLC","us"],"311050":["Thumb Cellular Limited Partnership","us"],"311060":["Space Data Corporation","us"],"311070":["Easterbrooke Cellular Corporation","us"],"311080":["Pine Telephone Company dba Pine Cellular","us"],"311090":["Siouxland PCS","us"],"311100":["NexTech Wireless","us"],"311110":["Alltel Communications Inc.","us"],"311120":["Choice Phone LLC","us"],"311140":["MBO Wireless Inc./Cross Telephone Company","us"],"311150":["Wilkes Cellular Inc.","us"],"311170":["PetroCom LLC","us"],"311180":["AT&T","us"],"311190":["Cellular Properties Inc.","us"],"311200":["ARINC","us"],"311210":["Farmers Cellular Telephone","us"],"311220":["U.S. Cellular","us"],"311221":["U.S. Cellular","us"],"311222":["U.S. Cellular","us"],"311223":["U.S. Cellular","us"],"311224":["U.S. Cellular","us"],"311225":["U.S. Cellular","us"],"311226":["U.S. Cellular","us"],"311227":["U.S. Cellular","us"],"311228":["U.S. Cellular","us"],"311229":["U.S. Cellular","us"],"311230":["C Spire","us"],"311240":["Cordova Wireless Communications Inc","us"],"311250":["Wave Runner LLC","us"],"311260":["SLO Cellular Inc. dba CellularOne of San Luis Obispo","us"],"311270":["Verizon Wireless","us"],"311271":["Alltel Communications Inc.","us"],"311272":["Alltel Communications Inc.","us"],"311273":["Alltel Communications Inc.","us"],"311274":["Alltel Communications Inc.","us"],"311275":["Alltel Communications Inc.","us"],"311276":["Alltel Communications Inc.","us"],"311277":["Alltel Communications Inc.","us"],"311278":["Alltel Communications Inc.","us"],"311279":["Alltel Communications Inc.","us"],"311280":["Verizon Wireless","us"],"311281":["Verizon Wireless","us"],"311282":["Verizon Wireless","us"],"311283":["Verizon Wireless","us"],"311284":["Verizon Wireless","us"],"311285":["Verizon Wireless","us"],"311286":["Verizon Wireless","us"],"311287":["Verizon Wireless","us"],"311288":["Verizon Wireless","us"],"311289":["Verizon Wireless","us"],"311290":["Pinpoint Wireless Inc.","us"],"311300":["Rutal Cellular Corporation","us"],"311310":["Leaco Rural Telephone Company Inc","us"],"311311":["Farmers","us"],"311320":["Commnet Wireless LLC","us"],"311330":["Bag Tussel Wireless LLC","us"],"311340":["Illinois Valley Cellular","us"],"311350":["Torrestar Networks Inc","us"],"311360":["Stelera Wireless LLC","us"],"311370":["GCI Communications Corp.","us"],"311380":["GreenFly LLC","us"],"311390":["Midwest Wireless Holdings LLC","us"],"311400":["Testing US","us"],"311410":["Iowa RSA No.2 Ltd Partnership","us"],"311420":["northwestcell","us"],"311430":["Chat Mobility","us"],"311440":["Bluegrass Cellular LLC","us"],"311450":["PTCI","us"],"311460":["Fisher Wireless Services Inc","us"],"311470":["Vitelcom Cellular Inc dba Innovative Wireless","us"],"311480":["Verizon Wireless","us"],"311481":["Verizon Wireless","us"],"311482":["Verizon Wireless","us"],"311483":["Verizon Wireless","us"],"311484":["Verizon Wireless","us"],"311485":["Verizon Wireless","us"],"311486":["Verizon Wireless","us"],"311487":["Verizon Wireless","us"],"311488":["Verizon Wireless","us"],"311489":["Verizon Wireless","us"],"311490":["T-Mobile - US","us"],"311500":["CTC Telecom Inc","us"],"311510":["Benton-Lian Wireless","us"],"311520":["Crossroads Wireless Inc","us"],"311530":["Wireless Communications Venture","us"],"311540":["Keystone Wireless Inc","us"],"311550":["Commnet Midwest LLC","us"],"311580":["U.S. Cellular","us"],"311581":["U.S. Cellular","us"],"311582":["U.S. Cellular","us"],"311583":["U.S. Cellular","us"],"311584":["U.S. Cellular","us"],"311585":["U.S. Cellular","us"],"311586":["U.S. Cellular","us"],"311587":["U.S. Cellular","us"],"311588":["U.S. Cellular","us"],"311589":["U.S. Cellular","us"],"311590":["California RSA No. 3 Limited Partnership","us"],"311600":["COX","us"],"311610":["North Dakota Network Company","us"],"311650":["United Wireless Communications Inc.","us"],"311660":["T-Mobile - Private 5G","us"],"311670":["Pine Belt Cellular, Inc.","us"],"311710":["Northeast Wireless Networks LLC","us"],"311740":["TelAlaska Cellular","us"],"311750":["Cleartalk","us"],"311780":["ASTCA","us"],"311800":["Bluegrass Wireless LLC","us"],"311810":["Bluegrass Wireless LLC","us"],"311830":["Thumb Cellular Limited Partnership","us"],"311860":["Uintah Basin Electronics Telecommunications Inc.","us"],"311870":["Boost","us"],"311880":["Sprint Spectrum","us"],"311882":["T-Mobile - US","us"],"311910":["MobileNation","us"],"311920":["Missouri RSA No 5 Partnership","us"],"311930":["Syringa","us"],"312010":["Missouri RSA No 5 Partnership","us"],"312030":["Cross Wireless Telephone Co.","us"],"312040":["Custer Telephone Cooperative Inc.","us"],"312090":["Allied Wireless Communications Corporation","us"],"312120":["East Kentucky Network LLC","us"],"312130":["East Kentucky Network LLC","us"],"312160":["Chat Mobility","us"],"312170":["Iowa RSA No. 2 Limited Partnership","us"],"312180":["Keystone Wireless LLC","us"],"312190":["Sprint Spectrum","us"],"312220":["Missouri RSA No 5 Partnership","us"],"312230":["North Dakota Network Company","us"],"312250":["T-Mobile - US","us"],"312270":["Cellular Network Partnership LLC","us"],"312280":["Cellular Network Partnership LLC","us"],"312290":["strata","us"],"312380":["Copper Valley Wireless","us"],"312420":["NexTech Ota","us"],"312530":["Sprint","us"],"312570":["Blue Wireless","us"],"312580":["Google CBRS","us"],"312670":["FirstNet (Lab)","us"],"312870":["GigSky","us"],"313100":["FirstNet","us"],"313110":["FirstNet","us"],"313120":["FirstNet","us"],"313130":["FirstNet","us"],"313140":["FirstNet","us"],"313380":["OptimERA Wireless","us"],"313390":["Optimum","us"],"313450":["Spectrum Mobile","us"],"313460":["Mobi","us"],"313770":["TANGO","us"],"313790":["Liberty Mobile","us"],"314020":["Spectrum+","us"],"314200":["Xfinity MSO","us"],"314240":["Xfinity Mobile 2.0","us"],"314420":["Cox MSO","us"],"314720":["OXIO","us"],"314730":["TextNow Wireless","us"],"315010":["CBRS","us"],"316010":["Nextel Communications Inc.","us"],"316011":["Southern Communications Services Inc.","us"],"33000":["Open Mobile","pr"],"33011":["Claro PR","pr"],"330110":["Claro PR","pr"],"33401":["AT&T MX","mx"],"334010":["NEXTEL","mx"],"33402":["Telcel","mx"],"334020":["Telcel","mx"],"33403":["Movistar","mx"],"334030":["Movistar","mx"],"33404":["AT&T/IUSACell","mx"],"334040":["AT&T MX","mx"],"33405":["AT&T/IUSACell","mx"],"334050":["AT&T MX","mx"],"334060":["SAI PCS","mx"],"334070":["AT&T MX","mx"],"334080":["AT&T MX","mx"],"33409":["AT&T MX","mx"],"334090":["AT&T MX","mx"],"334130":["Alestra Servicios Moviles","mx"],"334140":["ALTAN - Internal Use","mx"],"334170":["OXIO","mx"],"33450":["AT&T/IUSACell","mx"],"338020":["Cable & Wireless Jamaica Ltd.","jm"],"33805":["Mossel (Jamaica) Ltd.","jm"],"338050":["Mossel (Jamaica) Ltd.","jm"],"338070":["Claro","jm"],"338110":["Cable & Wireless","jm"],"33818":["Cable & Wireless","jm"],"338180":["Cable & Wireless","jm"],"34001":["Orange Caraïbe Mobiles","gf"],"34002":["Outremer Telecom","gf"],"34003":["Saint Martin et Saint Barthelemy Telcell Sarl","gf"],"34008":["Dauphin Telecom SU (Guadeloupe Telecom)","gp"],"34011":["TelCell GSM","gf"],"34012":["UTS Caraibe","mq"],"34020":["Digicel","gf"],"34080":["Dauphin Telecom","gf"],"342050":["Digicel","bb"],"342299":["Failed Calls","bb"],"342600":["Cable & Wireless (Barbados) Ltd.","bb"],"342750":["Digicel","bb"],"342810":["Cingular Wireless","bb"],"342820":["Sunbeach Communications","bb"],"34403":["APUA PCS","ag"],"344030":["imobile / APUA","ag"],"34492":["Flow","ag"],"344920":["Cable & Wireless (Antigua)","ag"],"344921":["FLOW","ag"],"34493":["Digicel","ag"],"344930":["AT&T Wireless (Antigua)","ag"],"346001":["Logic","ky"],"346006":["Digicel Ltd.","ky"],"346050":["Digicel","ky"],"346140":["Cable & Wireless (Cayman)","ky"],"348170":["Cable & Wireless","vg"],"348570":["Caribbean Cellular Telephone, Boatphone Ltd.","vg"],"34877":["Digicel","vg"],"348770":["Digicel","vg"],"350000":["Bermuda Digital Communications Ltd (BDC)","bm"],"350007":["Paradise Mobile","bm"],"35001":["Digicel","bm"],"35002":["M3 Wireless Ltd","bm"],"350299":["Failed Calls","bm"],"35099":["CellOne Ltd","bm"],"352030":["Digicel","gd"],"352050":["Digicel","gd"],"352110":["Grenada:Lime","gd"],"354860":["Cable & Wireless","ms"],"356110":["FLOW","kn"],"35650":["Digicel","kn"],"35670":["UTS Cariglobe","kn"],"358110":["Cable & Wireless","lc"],"35830":["Cingular Wireless","lc"],"35850":["Digicel (St Lucia) Limited","lc"],"360050":["Digicel","vc"],"36010":["Cingular","vc"],"360100":["Cingular","vc"],"360110":["Cable & Wireless (St. Vincent & the Grenadines) Ltd","vc"],"36070":["Digicel","vc"],"36251":["TELCELL GSM","an"],"362630":["Cingular Wireless","an"],"36269":["CT GSM","cw"],"36291":["SETEL GSM","an"],"36295":["EOCG Wireless NV","cw"],"362951":["UTS Wireless","an"],"362999":["Fix Line","bq"],"36301":["SETAR","aw"],"36302":["Digicel","aw"],"363020":["Digicel","aw"],"36320":["Digicel","aw"],"363299":["MIO","aw"],"36403":["Smart Communications","bs"],"364039":["BTC","bs"],"36430":["Cybercell / BaTelCo","bs"],"36439":["Cybercell / BaTelCo","bs"],"364390":["Bahamas Telecommunications","bs"],"36449":["ALIV BS","bs"],"364490":["Aliv","bs"],"365010":["Weblinks Limited","ai"],"365840":["Cable & Wireless","ai"],"365850":["Digicel","ai"],"366020":["Cingular Wireless/Digicel","dm"],"366050":["Wireless Ventures (Dominica) Ltd (Digicel Dominica)","dm"],"366110":["Cable & Wireless","dm"],"36801":["ETECSA","cu"],"368999":["Fix Line","cu"],"37001":["Altice Dominicana","do"],"37002":["Claro RD","do"],"370020":["Claro RD","do"],"37003":["Tricom S.A.","do"],"37004":["CentennialDominicana","do"],"37005":["Wind Telecom","do"],"37201":["Comcel","ht"],"37202":["Digicel","ht"],"37203":["Rectel","ht"],"37412":["TSTT Mobile","tt"],"374120":["Bmobile/TSTT","tt"],"374122":["TSTT Mobile","tt"],"374123":["TSTT Mobile","tt"],"374124":["TSTT Mobile","tt"],"374125":["TSTT Mobile","tt"],"374126":["TSTT Mobile","tt"],"374127":["TSTT Mobile","tt"],"374128":["TSTT Mobile","tt"],"374129":["TSTT Mobile","tt"],"37413":["Digicel Trinidad and Tobago Ltd.","tt"],"374130":["Digicel Trinidad and Tobago Ltd.","tt"],"374140":["LaqTel Ltd.","tt"],"376050":["Digicel TCI Ltd","tc"],"376350":["Cable & Wireless West Indies Ltd (Turks & Caicos)","tc"],"376352":["IslandCom Communications Ltd.","tc"],"37650":["Digicel","vi"],"40001":["Azercell Limited Liability Joint Venture","az"],"40002":["Bakcell Limited Liabil ity Company","az"],"40003":["Catel JV","az"],"40004":["Azerphone LLC","az"],"40006":["Naxtel","az"],"40101":["Beeline","kz"],"40102":["Kcell/activ","kz"],"40107":["Tele2/Altel","kz"],"40177":["Tele2/Altel","kz"],"40211":["Bhutan Telecom Ltd","bt"],"40217":["B-Mobile of Bhutan Telecom","bt"],"40277":["TashiCell","bt"],"40401":["Vi","in"],"40402":["Airtel","in"],"40403":["Airtel","in"],"40404":["Vi","in"],"404045":["Bharti Airtel Limited (Karnataka) (India)","in"],"40405":["Vi","in"],"40407":["Vi","in"],"40409":["Reliance","in"],"40410":["Airtel","in"],"40411":["Vi","in"],"40412":["Vi","in"],"40413":["Vi","in"],"40414":["Vi","in"],"40415":["Vi","in"],"40416":["Airtel","in"],"40417":["Aircel","in"],"40418":["Reliance","in"],"40419":["Vi","in"],"40420":["Vi","in"],"40421":["BPL Mobile Communications Ltd.","in"],"40422":["Vi","in"],"40424":["Vi","in"],"40425":["Aircel Ltd.","in"],"40427":["Vi","in"],"40428":["Aircel Ltd.","in"],"40429":["Aircel Ltd.","in"],"40430":["Vi","in"],"40431":["Airtel","in"],"40433":["Aircel","in"],"40434":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40436":["Reliance","in"],"40437":["Aircel Ltd.","in"],"40438":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40439":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40440":["Airtel","in"],"40441":["RPG Cellular","in"],"40442":["Aircel Ltd.","in"],"40443":["Vi","in"],"40444":["Vi","in"],"40445":["Airtel","in"],"40446":["Vi","in"],"40448":["Dishnet Wireless","in"],"40449":["Airtel","in"],"40450":["Reliance","in"],"40451":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40452":["Reliance","in"],"40453":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40454":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40455":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40456":["Vi","in"],"40457":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40458":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40459":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40460":["Vi","in"],"40462":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40464":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40465":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40466":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40467":["Reliance","in"],"40468":["Mahanagar Telephone Nigam Ltd.","in"],"40469":["Mahanagar Telephone Nigam Ltd.","in"],"40470":["Airtel","in"],"40471":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40472":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40473":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40474":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40475":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40476":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40477":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40478":["Vi","in"],"40479":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40480":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40481":["Bharat Sanchar Nigam Ltd. (BSNL)","in"],"40482":["Vi","in"],"40483":["Reliable Internet Services Ltd.","in"],"40484":["Vi","in"],"40485":["Reliance","in"],"40486":["Vi","in"],"40487":["Vi","in"],"40488":["Vi","in"],"40489":["Vi","in"],"40490":["Airtel","in"],"40491":["Aircel Ltd.","in"],"40492":["Airtel","in"],"40493":["Airtel","in"],"40494":["Airtel","in"],"40495":["Airtel","in"],"40496":["Airtel","in"],"40497":["Airtel","in"],"40498":["Airtel","in"],"404998":["Fix Line","in"],"404999":["Various Networks","in"],"40501":["Reliance","in"],"405025":["TATA DOCOMO","in"],"405026":["TATA DOCOMO","in"],"405027":["TATA DOCOMO","in"],"405028":["TATA DOCOMO","in"],"405029":["TATA DOCOMO","in"],"40503":["Reliance","in"],"405030":["TATA DOCOMO","in"],"405031":["TATA DOCOMO","in"],"405032":["TATA DOCOMO","in"],"405033":["TATA DOCOMO","in"],"405034":["TATA DOCOMO","in"],"405035":["TATA DOCOMO","in"],"405036":["TATA DOCOMO","in"],"405037":["TATA DOCOMO","in"],"405038":["TATA DOCOMO","in"],"405039":["TATA DOCOMO","in"],"40504":["Reliance","in"],"405040":["TATA DOCOMO","in"],"405041":["TATA DOCOMO","in"],"405042":["TATA DOCOMO","in"],"405043":["TATA DOCOMO","in"],"405044":["TATA DOCOMO","in"],"405045":["TATA DOCOMO","in"],"405046":["TATA DOCOMO","in"],"405047":["TATA DOCOMO","in"],"40505":["Reliance","in"],"40506":["Reliance","in"],"40507":["Reliance","in"],"40508":["Reliance","in"],"40509":["Reliance","in"],"40510":["Reliance","in"],"40511":["Reliance","in"],"40512":["Reliance","in"],"40513":["Reliance","in"],"40514":["Reliance","in"],"40515":["Reliance","in"],"40517":["Reliance","in"],"40518":["Reliance","in"],"40519":["Reliance","in"],"40520":["Reliance","in"],"40521":["Reliance","in"],"40522":["Reliance","in"],"40523":["Reliance","in"],"40545":["Vi","in"],"40551":["Airtel","in"],"40552":["Airtel","in"],"40553":["Airtel","in"],"40554":["Airtel","in"],"40555":["Airtel","in"],"40556":["Airtel","in"],"40566":["Vi","in"],"40567":["Vi","in"],"40570":["Vi","in"],"405750":["Vi","in"],"405751":["Vi","in"],"405752":["Vi","in"],"405753":["Vi","in"],"405754":["Vi","in"],"405755":["Vi","in"],"405756":["Vi","in"],"405799":["Vi","in"],"405800":["Aircel Ltd.","in"],"405801":["Aircel Ltd.","in"],"405802":["Aircel Ltd.","in"],"405803":["Aircel Ltd.","in"],"405804":["Aircel Ltd.","in"],"405805":["Aircel Ltd.","in"],"405806":["Aircel Ltd.","in"],"405807":["Aircel Ltd.","in"],"405808":["Aircel Ltd.","in"],"405809":["Aircel Ltd.","in"],"405810":["Aircel Ltd.","in"],"405811":["Aircel Ltd.","in"],"405812":["Aircel Ltd.","in"],"405813":["Uninor","in"],"405814":["Uninor","in"],"405815":["Uninor","in"],"405816":["Uninor","in"],"405817":["Uninor","in"],"405818":["Uninor","in"],"405819":["Uninor","in"],"405820":["Uninor","in"],"405821":["Uninor","in"],"405822":["Uninor","in"],"405823":["Videocon","in"],"405824":["Videocon","in"],"405825":["Videocon","in"],"405826":["Videocon","in"],"405827":["Videocon","in"],"405828":["Videocon","in"],"405829":["Videocon","in"],"405830":["Videocon","in"],"405832":["Videocon","in"],"405833":["Videocon","in"],"405834":["Videocon","in"],"405835":["Videocon","in"],"405836":["Videocon","in"],"405837":["Videocon","in"],"405838":["Videocon","in"],"405840":["Reliance Jio","in"],"405841":["Videocon","in"],"405842":["Videocon","in"],"405843":["Videocon","in"],"405844":["Uninor","in"],"405845":["Vi","in"],"405846":["Vi","in"],"405847":["Vi","in"],"405848":["Vi","in"],"405849":["Vi","in"],"405850":["Vi","in"],"405851":["Vi","in"],"405852":["Vi","in"],"405853":["Vi","in"],"405854":["Reliance Jio","in"],"405855":["Reliance Jio","in"],"405856":["Reliance Jio","in"],"405857":["Reliance Jio","in"],"405858":["Reliance Jio","in"],"405859":["Reliance Jio","in"],"405860":["Reliance Jio","in"],"405861":["Reliance Jio","in"],"405862":["Reliance Jio","in"],"405863":["Reliance Jio","in"],"405864":["Reliance Jio","in"],"405865":["Reliance Jio","in"],"405866":["Reliance Jio","in"],"405867":["Reliance Jio","in"],"405868":["Reliance Jio","in"],"405869":["Reliance Jio","in"],"40587":["Reliance Telecom Private","in"],"405870":["Reliance Jio","in"],"405871":["Reliance Jio","in"],"405872":["Reliance Jio","in"],"405873":["Reliance Jio","in"],"405874":["Reliance Jio","in"],"405875":["Uninor","in"],"405876":["Uninor","in"],"405877":["Uninor","in"],"405878":["Uninor","in"],"405879":["Uninor","in"],"405880":["Uninor","in"],"405881":["STEL","in"],"405882":["STEL","in"],"405883":["STEL","in"],"405884":["STEL","in"],"405885":["STEL","in"],"405886":["STEL","in"],"405908":["Vi","in"],"405909":["Vi","in"],"405910":["Vi","in"],"405911":["Vi","in"],"405912":["Cheers","in"],"405913":["Cheers","in"],"405914":["Cheers","in"],"405915":["Cheers","in"],"405916":["Cheers","in"],"405917":["Cheers","in"],"405918":["Cheers","in"],"405919":["Cheers","in"],"405920":["Cheers","in"],"405921":["Cheers","in"],"405922":["Cheers","in"],"405923":["Cheers","in"],"405925":["Uninor","in"],"405926":["Uninor","in"],"405927":["Uninor","in"],"405928":["Uninor","in"],"405929":["Uninor","in"],"405930":["Cheers","in"],"405932":["Videocon","in"],"41001":["Jazz","pk"],"41003":["PAK Telecom Mobile Ltd. (UFONE)","pk"],"41004":["Zong","pk"],"41005":["SCOM","pk"],"41006":["Telenor","pk"],"41007":["Jazz","pk"],"41008":["Instaphone","pk"],"410299":["Failed Calls","pk"],"41201":["AWCC","af"],"41203":["WaselTelecom (WT)","af"],"41220":["Roshan","af"],"41230":["New1","af"],"41240":["Areeba Afghanistan","af"],"41250":["Etisalat","af"],"41280":["Mobifone","af"],"41288":["Afghan Telecom","af"],"41301":["Sri Lanka Telecom Mobitel","lk"],"41302":["Dialog Sri Lanka","lk"],"41303":["Celtel Lanka Ltd.","lk"],"41305":["Airtel Lanka","lk"],"41308":["Hutchison Telecommunications Lanka","lk"],"41401":["Myanmar Post and Telecommunication","mm"],"41405":["Ooredoo Myanmar","mm"],"41406":["Telenor","mm"],"41409":["Mytel","mm"],"414999":["Fix Line (Myanmar","mm"],"41501":["Alfa","lb"],"41503":["MTC Touch","lb"],"41505":["Ogero Mobile","lb"],"41515":["Connect","lb"],"41532":["Cellis","lb"],"41533":["Cellis","lb"],"41534":["Cellis","lb"],"41535":["Cellis","lb"],"41536":["Libancell","lb"],"41537":["Libancell","lb"],"41538":["Libancell","lb"],"41539":["Libancell","lb"],"41601":["Fastlink","jo"],"41602":["Xpress","jo"],"41603":["Umniah","jo"],"41677":["Orange Jordan","jo"],"416770":["Orange Jordan","jo"],"416999":["Fix Line","jo"],"41701":["Syriatel","sy"],"41702":["Spacetel Syria","sy"],"41709":["Syrian Telecom","sy"],"41750":["Rcell","sy"],"41805":["Asiacell","iq"],"41808":["SanaTel","iq"],"41820":["Zain Iraq","iq"],"41830":["Zain Iraq","iq"],"41840":["Korek","iq"],"41845":["Mobitel","iq"],"41862":["Itisaluna","iq"],"41866":["Fastlink","iq"],"41877":["SevenNet Layers","iq"],"41882":["Korek","iq"],"41892":["Omnnea","iq"],"41902":["Zain","kw"],"41903":["Ooredoo","kw"],"41904":["STC","kw"],"419999":["Fix Line","kw"],"42001":["STC","sa"],"42003":["Mobily","sa"],"42004":["Zain Saudi Arabia","sa"],"42005":["Virgin","sa"],"42006":["Lebara Mobile","sa"],"42007":["Zain","sa"],"42101":["SabaFon","ye"],"42102":["Spacetel Yemen","ye"],"42103":["YemenMobile","ye"],"42104":["HiTS-UNITEL","ye"],"42111":["YemenMobile","ye"],"42122":["YemenMobile","ye"],"421999":["Fix Line","ye"],"42202":["Omantel","om"],"42203":["Ooredoo","om"],"42204":["Omantel","om"],"42206":["Vodafone Oman","om"],"42402":["e& UAE","ae"],"42403":["du","ae"],"42501":["Partner Communications Co. Ltd.","il"],"42502":["Cellcom Israel Ltd.","il"],"42503":["Pelephone Communications Ltd.","il"],"42505":["Jawwal","ps"],"42506":["Ooredoo","ps"],"42507":["Hot Mobile","il"],"42508":["Golan Telecom","il"],"42509":["We4G","il"],"42510":["Partner Communications Co. Ltd.","il"],"42512":["Pelephone","il"],"42513":["Ituran","il"],"42514":["Alon Cellular Ltd","il"],"42515":["Home Cellular","il"],"42516":["Rami Levy","il"],"42517":["Von waves","il"],"42519":["019 Mobile","il"],"42522":["Maskyoo","il"],"42523":["Beezz","il"],"42526":["Annatel","il"],"425299":["Annatel Mobile","il"],"42577":["Hot Mobile","il"],"42601":["Batelco","bh"],"42602":["Zain Bahrain","bh"],"42604":["stc BH","bh"],"42605":["Batelco","bh"],"426299":["Failed Calls","bh"],"426999":["Fix Line","bh"],"42701":["Ooredoo","qa"],"42702":["Vodafone","qa"],"42800":["Skytel Co. Ltd","mn"],"42888":["Unitel","mn"],"42891":["Skytel","mn"],"42898":["G.Mobile","mn"],"42899":["Mobicom","mn"],"42901":["Nepal Telecommunications","np"],"42902":["Ncell","np"],"42903":["Nepal Telecommunications","np"],"42904":["Smart Telecom","np"],"429999":["Fix Line","np"],"43002":["Etisalat","ae"],"43102":["Etisalat","ae"],"43211":["IR-MCI (Hamrahe Avval)","ir"],"43214":["Telecommunication Kish Co. (KIFZO)","ir"],"43219":["MTCE (Espadan)","ir"],"43220":["Rightel","ir"],"43232":["Taliya","ir"],"43235":["Irancell","ir"],"43270":["MTCE","ir"],"43293":["Farzanegan Pars","ir"],"432999":["Fix Line","ir"],"43401":["Buztel","uz"],"43402":["Uzmacom","uz"],"43404":["Daewoo Unitel","uz"],"43405":["Coscom","uz"],"43406":["Perfectum Mobile","uz"],"43407":["Uzdunrobita","uz"],"43601":["JC Somoncom","tj"],"43602":["CJSC Indigo Tajikistan","tj"],"43603":["TT mobile","tj"],"43604":["Babilon-Mobile","tj"],"43605":["CTJTHSC Tajik-tel","tj"],"43612":["Tcell","tj"],"43701":["Beeline","kg"],"43702":["KT Mobile","kg"],"43703":["AkTel LLC","kg"],"43705":["MegaCom","kg"],"43709":["O!","kg"],"43710":["Saima","kg"],"437299":["Failed Calls","kg"],"43801":["Barash Communication Technologies (BCTI)","tm"],"43802":["TM-Cell","tm"],"44000":["eMobile","jp"],"44001":["NTT DoCoMo","jp"],"44002":["NTT DoCoMo","jp"],"44003":["IIJmio","jp"],"44004":["SoftBank","jp"],"44005":["SoftBank","jp"],"44006":["SoftBank","jp"],"44007":["KDDI","jp"],"44008":["KDDI","jp"],"44009":["NTT DoCoMo","jp"],"44010":["DOCOMO MVNO","jp"],"44011":["Rakuten Mobile(MNO)","jp"],"44012":["NTT DoCoMo","jp"],"44013":["OCN MOBILE ONE","jp"],"44014":["NTT DoCoMo","jp"],"44015":["NTT DoCoMo","jp"],"44016":["NTT DoCoMo","jp"],"44017":["NTT DoCoMo","jp"],"44018":["NTT DoCoMo","jp"],"44019":["NTT DoCoMo","jp"],"44020":["SoftBank","jp"],"44021":["NTT DoCoMo","jp"],"44022":["NTT DoCoMo","jp"],"44023":["NTT DoCoMo","jp"],"44024":["NTT DoCoMo","jp"],"44025":["NTT DoCoMo","jp"],"44026":["NTT DoCoMo","jp"],"44027":["NTT DoCoMo","jp"],"44028":["NTT DoCoMo","jp"],"44029":["NTT DoCoMo","jp"],"44030":["NTT DoCoMo","jp"],"44031":["NTT DoCoMo","jp"],"44032":["NTT DoCoMo","jp"],"44033":["NTT DoCoMo","jp"],"44034":["NTT DoCoMo","jp"],"44035":["NTT DoCoMo","jp"],"44036":["NTT DoCoMo","jp"],"44037":["NTT DoCoMo","jp"],"44038":["NTT DoCoMo","jp"],"44039":["NTT DoCoMo","jp"],"44040":["SoftBank","jp"],"44041":["SoftBank","jp"],"44042":["SoftBank","jp"],"44043":["SoftBank","jp"],"44044":["SoftBank","jp"],"44045":["SoftBank","jp"],"44046":["SoftBank","jp"],"44047":["SoftBank","jp"],"44048":["SoftBank","jp"],"44049":["NTT DoCoMo","jp"],"44050":["KDDI","jp"],"44051":["KDDI","jp"],"44052":["KDDI","jp"],"44053":["KDDI","jp"],"44054":["KDDI","jp"],"44055":["KDDI","jp"],"44056":["KDDI","jp"],"44058":["NTT DoCoMo","jp"],"44060":["NTT DoCoMo","jp"],"44061":["NTT DoCoMo","jp"],"44062":["NTT DoCoMo","jp"],"44063":["NTT DoCoMo","jp"],"44064":["NTT DoCoMo","jp"],"44065":["NTT DoCoMo","jp"],"44066":["NTT DoCoMo","jp"],"44067":["NTT DoCoMo","jp"],"44068":["NTT DoCoMo","jp"],"44069":["NTT DoCoMo","jp"],"44070":["KDDI","jp"],"44071":["KDDI","jp"],"44072":["KDDI","jp"],"44073":["KDDI","jp"],"44074":["KDDI","jp"],"44075":["KDDI","jp"],"44076":["KDDI","jp"],"44077":["KDDI","jp"],"44078":["Okinawa Cellular","jp"],"44079":["KDDI","jp"],"44080":["KDDI","jp"],"44081":["KDDI","jp"],"44082":["KDDI","jp"],"44083":["KDDI","jp"],"44084":["KDDI","jp"],"44085":["KDDI","jp"],"44086":["KDDI","jp"],"44087":["NTT DoCoMo","jp"],"44088":["KDDI","jp"],"44089":["KDDI","jp"],"44090":["SoftBank","jp"],"44092":["SoftBank","jp"],"44093":["SoftBank","jp"],"44094":["SoftBank","jp"],"44095":["SoftBank","jp"],"44096":["SoftBank","jp"],"44097":["SoftBank","jp"],"44098":["SoftBank","jp"],"44099":["NTT DoCoMo","jp"],"44100":["Wireless City Planning","jp"],"44140":["NTT DoCoMo","jp"],"44141":["NTT DoCoMo","jp"],"44142":["NTT DoCoMo","jp"],"44143":["NTT DoCoMo","jp"],"44144":["NTT DoCoMo","jp"],"44145":["NTT DoCoMo","jp"],"44161":["SoftBank","jp"],"44162":["SoftBank","jp"],"44163":["SoftBank","jp"],"44164":["SoftBank","jp"],"44165":["SoftBank","jp"],"44170":["KDDI","jp"],"44190":["NTT DoCoMo","jp"],"44191":["NTT DoCoMo","jp"],"44192":["NTT DoCoMo","jp"],"44193":["NTT DoCoMo","jp"],"44194":["NTT DoCoMo","jp"],"44198":["NTT DoCoMo","jp"],"44199":["NTT DoCoMo","jp"],"450006":["LG U+","kr"],"45002":["KT","kr"],"45003":["SK Telecom","kr"],"45004":["KT","kr"],"45005":["SK Telecom","kr"],"45006":["LG U+","kr"],"45007":["KT Powertel","kr"],"45008":["KT","kr"],"45011":["SK Telink","kr"],"45012":["SK Telecom","kr"],"450299":["Failed Calls","kr"],"45201":["Mobifone","vn"],"45202":["Vinaphone","vn"],"45203":["S-Fone/Telecom","vn"],"45204":["Viettel Telecom","vn"],"45205":["Vietnamobile","vn"],"45206":["Viettel","vn"],"45207":["Gmobile","vn"],"45208":["Viettel Mobile","vn"],"45209":["Wintel","vn"],"45400":["1O1O / csl / Club Sim","hk"],"45401":["MVNO/CITIC","hk"],"45402":["3G Radio System/HKCSL3G","hk"],"45403":["Hutchison HK","hk"],"45404":["Hutchison 2G","hk"],"45405":["Hutchison 2G","hk"],"45406":["SmarTone HK","hk"],"45407":["MVNO/China Unicom International Ltd.","hk"],"45408":["MVNO/Trident","hk"],"45409":["MVNO/China Motion Telecom (HK) Ltd.","hk"],"45410":["GSM1800New World PCS Ltd.","hk"],"45411":["MVNO/CHKTL","hk"],"45412":["中國移動香港 China Mobile HK","hk"],"45413":["中國移動香港 China Mobile HK","hk"],"45414":["H3G/Hutchinson","hk"],"45415":["SmarTone HK","hk"],"45416":["PCCW","hk"],"45417":["SmarTone HK","hk"],"45418":["GSM7800/Hong Kong CSL Ltd.","hk"],"45419":["1O1O / csl / Club Sim","hk"],"45420":["Public Mobile Networks/Reserved","hk"],"45421":["Public Mobile Networks/Reserved","hk"],"45422":["Public Mobile Networks/Reserved","hk"],"45423":["Public Mobile Networks/Reserved","hk"],"45424":["Public Mobile Networks/Reserved","hk"],"45425":["Public Mobile Networks/Reserved","hk"],"45426":["Public Mobile Networks/Reserved","hk"],"45427":["Public Mobile Networks/Reserved","hk"],"45428":["Public Mobile Networks/Reserved","hk"],"45429":["Public Mobile Networks/Reserved","hk"],"45430":["Public Mobile Networks/Reserved","hk"],"45431":["Public Mobile Networks/Reserved","hk"],"45432":["Public Mobile Networks/Reserved","hk"],"45433":["Public Mobile Networks/Reserved","hk"],"45434":["Public Mobile Networks/Reserved","hk"],"45435":["Public Mobile Networks/Reserved","hk"],"45436":["Public Mobile Networks/Reserved","hk"],"45437":["Public Mobile Networks/Reserved","hk"],"45438":["Public Mobile Networks/Reserved","hk"],"45439":["Public Mobile Networks/Reserved","hk"],"45440":["shared by private TETRA systems","hk"],"45447":["shared by private TETRA systems","hk"],"45500":["Smartone Mobile Communications (Macao) Ltd.","mo"],"45501":["CTM","mo"],"45502":["China Telecom","mo"],"45503":["Hutchison Telecom","mo"],"45504":["CTM","mo"],"45505":["Hutchison Telephone Co. Ltd","mo"],"45506":["Smartone Mobile","mo"],"45601":["Mobitel (Cam GSM)","kh"],"45602":["Smart","kh"],"45603":["S Telecom (CDMA) (reserved)","kh"],"45604":["qb","kh"],"45605":["Smart","kh"],"45606":["Smart","kh"],"45608":["Metfone","kh"],"45609":["Sotelco/Beeline","kh"],"45611":["SEATEL","kh"],"45618":["Camshin (Shinawatra)","kh"],"456299":["CooTel","kh"],"45701":["Lao Telecommunications","la"],"45702":["ETL Mobile","la"],"45703":["Unitel","la"],"45708":["Millicom","la"],"46000":["China Mobile","cn"],"46001":["China Unicom","cn"],"46002":["China Mobile","cn"],"46003":["China Telecom","cn"],"46004":["China Mobile","cn"],"46005":["China Telecom","cn"],"46006":["China Unicom","cn"],"46007":["China Mobile","cn"],"46008":["China Mobile","cn"],"46009":["China Unicom","cn"],"46010":["China Unicom","cn"],"46011":["China Telecom","cn"],"46012":["China Telecom","cn"],"46015":["China Broadnet","cn"],"46020":["China Mobile","cn"],"460999":["Fix Line","cn"],"46601":["遠傳電信 Far EasTone Telecom","tw"],"46602":["遠傳電信 Far EasTone Telecom","tw"],"46603":["遠傳電信 Far EasTone Telecom","tw"],"46605":["遠傳電信Far EasTone Telecom(原亞太電信)","tw"],"46606":["Tuntex Telecom","tw"],"46607":["Far EasTone","tw"],"46609":["Vmax Telecom","tw"],"46610":["Global Mobile Corp.","tw"],"46611":["中華電信_Chunghwa Telecom","tw"],"46656":["International Telecom Co. Ltd (FITEL)","tw"],"46668":["ACeS Taiwan - ACeS Taiwan Telecommunications Co Ltd","tw"],"46688":["KG Telecom","tw"],"46689":["台灣大哥大(原台灣之星) Taiwan Mobile Telecom","tw"],"46690":["T-Star/VIBO","tw"],"46692":["中華電信_Chunghwa Telecom","tw"],"46693":["MobiTai Communications","tw"],"46697":["台灣大哥大 Taiwan Mobile Telecom","tw"],"46699":["TransAsia Telecoms","tw"],"467192":["Koryolink","kp"],"467193":["Sun Net","kp"],"467299":["Failed Calls","kp"],"47001":["Grameenphone","bd"],"47002":["Aktel","bd"],"47003":["Mobile 2000","bd"],"47004":["TeleTalk","bd"],"47005":["Citycell","bd"],"47006":["Citycell","bd"],"47007":["Airtel BD","bd"],"47201":["DhiMobile","mv"],"47202":["Ooredoo","mv"],"50200":["Art900","my"],"50201":["Art900","my"],"50210":["Digi","my"],"50211":["unifi mobile","my"],"50212":["Maxis/Hotlink","my"],"50213":["Celcom","my"],"50214":["Telekom Malaysia","my"],"502143":["Digi","my"],"502146":["Digi","my"],"502150":["Tune Talk","my"],"502151":["Baraka Telecom Sdn Bhd","my"],"502152":["Yes 5G","my"],"502153":["unifi mobile","my"],"502154":["TT dotCom","my"],"502155":["Samata Communications Sdn Bhd","my"],"502156":["Altel Communications","my"],"50216":["Digi","my"],"50217":["TimeCel","my"],"50218":["U Mobile","my"],"50219":["Celcom","my"],"502195":["XOX Com","my"],"502198":["Celcom","my"],"50220":["Electcoms Wireless Sdn Bhd","my"],"502299":["MKN","my"],"502999":["Fix Line","my"],"50501":["Telstra","au"],"50502":["Optus","au"],"50503":["Vodafone","au"],"50504":["Department of Defence","au"],"50505":["The Ozitel Network Pty. Ltd.","au"],"50506":["Hutchison 3G Australia Pty. Ltd.","au"],"50507":["Vodafone","au"],"50508":["One.Tel GSM 1800 Pty. Ltd.","au"],"50509":["Airnet Commercial Australia Ltd.","au"],"50510":["Norfolk Telecom","au"],"50511":["Telstra","au"],"50512":["Hutchison Telecommunications (Australia) Pty. Ltd.","au"],"50513":["RailCorp","au"],"50514":["AAPT Ltd.","au"],"50516":["VicTrack","au"],"50519":["Lycamobile","au"],"50524":["Advanced Communications Technologies Pty. Ltd.","au"],"50526":["Sinch","au"],"505299":["ACMA","au"],"50530":["Compatel","au"],"50535":["MessageBird","au"],"50539":["Telstra","au"],"50550":["Pivotel","au"],"50552":["OptiTel","au"],"50557":["CiFi","au"],"50571":["Telstra","au"],"50572":["Telstra","au"],"50588":["Pivotel","au"],"50590":["Optus","au"],"50599":["One.Tel GSM 1800 Pty. Ltd.","au"],"505999":["Fix Line","au"],"51000":["PSN","id"],"51001":["Indosat","id"],"51007":["Flexi (PT Telkom) (CDMA)","id"],"51008":["XL/AXIS","id"],"51009":["Smartfren","id"],"51010":["Telkomsel","id"],"51011":["XL/AXIS","id"],"51021":["Indosat - M3","id"],"51027":["PT Sampoerna Telekomunikasi Indonesia (STI)","id"],"51028":["Smartfren","id"],"51089":["3","id"],"51099":["Esia (PT Bakrie Telecom) (CDMA)","id"],"510999":["Fix Line","id"],"51401":["Telkomcel","tl"],"51402":["Timor Telecom","tl"],"51403":["Viettel","tl"],"514299":["Failed Calls","tl"],"514999":["Fix Line","tl"],"51501":["Islacom","ph"],"51502":["Globe Telecom","ph"],"51503":["Smart Communications","ph"],"51505":["Smart","ph"],"51518":["Redinternet","ph"],"51588":["Next Mobile","ph"],"515999":["Fix Line","ph"],"52000":["CAT CDMA","th"],"52001":["AIS GSM","th"],"52002":["CAT CDMA","th"],"52003":["AIS","th"],"52004":["TrueMove H 4G LTE","th"],"52005":["dtac","th"],"52015":["ACT Mobile","th"],"52018":["dtac","th"],"52020":["ACeS","th"],"52023":["Digital Phone Co.","th"],"52047":["TOT","th"],"52099":["True Move","th"],"520999":["Fix Line","th"],"52501":["Singtel","sg"],"52502":["Singtel","sg"],"52503":["M1","sg"],"52504":["Sunsurf","sg"],"52505":["StarHub","sg"],"52506":["Starhub","sg"],"52507":["Singtel","sg"],"52512":["Digital Trunked Radio Network","sg"],"525999":["Fix Line","sg"],"52801":["Telekom Brunei Bhd (TelBru)","bn"],"52802":["B-Mobile","bn"],"52811":["DST Com","bn"],"53000":["Reserved for AMPS MIN based IMSI's","nz"],"53001":["Vodafone","nz"],"53002":["Teleom New Zealand CDMA Network","nz"],"53003":["Woosh Wireless - CDMA Network","nz"],"53004":["Telstra","nz"],"53005":["Spark","nz"],"53024":["2degrees","nz"],"53028":["2degrees","nz"],"530999":["Fix Line","nz"],"53701":["Vodafone","pg"],"53702":["Vodafone","pg"],"53703":["Digicel Ltd","pg"],"537999":["Fix Line","pg"],"53901":["Tonga Communications Corporation","to"],"53943":["Shoreline Communication","to"],"53988":["Digicel","to"],"539999":["Fix Line","to"],"54001":["BREEZE","sb"],"54002":["Vodafone","sb"],"54010":["BREEZE","sb"],"54100":["AIL","vu"],"54101":["SMILE","vu"],"54105":["Digicel","vu"],"54201":["Vodafone","fj"],"54202":["Digicel","fj"],"54301":["Manuia","wf"],"543299":["Failed Calls","wf"],"54411":["Bluesky","as"],"544780":["ASTCA Mobile","as"],"54501":["Kiribati - TSKL","ki"],"54509":["Kiribati Frigate","ki"],"54601":["OPT Mobilis","nc"],"54705":["Viti","pf"],"54715":["Pacific Mobile Telecom (PMT)","pf"],"54720":["Tikiphone","pf"],"54801":["Telecom Cook","ck"],"54901":["Telecom Samoa Cellular Ltd.","ws"],"54927":["GoMobile SamoaTel Ltd","ws"],"549999":["Fix Line","ws"],"55001":["FSM Telecom","fm"],"551299":["Failed Calls","mh"],"55201":["Palau National Communications Corp. (a.k.a. PNCC)","pw"],"55202":["PECI/PalauTel (Palau","pw"],"55280":["Palau Mobile","pw"],"55301":["Tuvalu Telecommunication Corporation (TTC)","tv"],"55501":["Niue Telecom","nu"],"60201":["Orange Egypt","eg"],"60202":["Vodafone","eg"],"60203":["Etisalat","eg"],"60204":["WE","eg"],"602299":["Failed Calls","eg"],"60301":["Algérie Telecom","dz"],"60302":["Orascom Telecom Algérie","dz"],"60303":["Ooredoo","dz"],"60400":["Méditélécom","ma"],"60401":["Maroc","ma"],"60402":["inwi","ma"],"60404":["Al Houria Telecom","ma"],"60405":["inwi","ma"],"60406":["IAM","ma"],"60499":["Al Houria Telecom","ma"],"60501":["Orange Tunisie","tn"],"60502":["Tunisie Telecom","tn"],"60503":["Ooredoo Tunisia","tn"],"60506":["Lycamobile","tn"],"605999":["Fix Line","tn"],"60600":["Libyana","ly"],"60601":["Madar","ly"],"60602":["Al-Jeel","ly"],"60603":["Libya Phone","ly"],"60606":["Hatef","ly"],"60701":["Gamcel","gm"],"60702":["Africell","gm"],"60703":["Comium Services Ltd","gm"],"60704":["QCell","gm"],"60801":["Orange Senegal","sn"],"60802":["Sentel GSM","sn"],"60803":["Expresso","sn"],"60804":["HAYO","sn"],"608299":["2s Mobile","sn"],"60901":["Mattel S.A.","mr"],"60902":["Chinguitel S.A.","mr"],"60910":["Mauritel Mobiles","mr"],"61001":["Malitel","ml"],"61002":["Orange Mali","ml"],"61003":["Telecel","ml"],"61101":["Orange","gn"],"61102":["Sotelgui","gn"],"61103":["Intercel","gn"],"61104":["MTN/Areeba","gn"],"61105":["Cellcom Guinée SA","gn"],"61201":["Comstar","ci"],"61202":["Atlantique Cellulaire","ci"],"61203":["Orange Côte d'Ivoire","ci"],"61204":["Comium Côte d'Ivoire","ci"],"61205":["Loteny Telecom","ci"],"61206":["Oricel Côte d'Ivoire","ci"],"61207":["Aircomm Côte d'Ivoire","ci"],"61301":["Onatal (Telmob)","bf"],"61302":["Orange","bf"],"61303":["Telecel","bf"],"61401":["Sahel.Com","ne"],"61402":["Airtel Niger","ne"],"61403":["Telecel","ne"],"61404":["Orange Niger","ne"],"61501":["Togo Telecom","tg"],"61502":["Telecel/MOOV","tg"],"61503":["Moov Togo","tg"],"61601":["Libercom","bj"],"61602":["Telecel","bj"],"61603":["Spacetel Benin","bj"],"61604":["Bell Benin Communications","bj"],"61605":["Glo Communications Benin","bj"],"61701":["Orange Mauritius","mu"],"61702":["Mahanagar Telephone (Mauritius) Ltd.","mu"],"61703":["Chili","mu"],"61710":["Emtel","mu"],"61801":["Lonestar","lr"],"61802":["Libercell","lr"],"61804":["Comium Liberia","lr"],"61807":["Celcom","lr"],"61820":["LIBTELCO","lr"],"61901":["Orange","sl"],"61902":["Millicom","sl"],"61903":["Africell","sl"],"61904":["Comium (Sierra Leone) Ltd.","sl"],"61905":["Lintel (Sierra Leone) Ltd.","sl"],"61907":["Qcell","sl"],"61925":["Mobitel","sl"],"619299":["IPTel","sl"],"61940":["Datatel (SL) Ltd GSM","sl"],"61950":["Dtatel (SL) Ltd CDMA","sl"],"62001":["MTN","gh"],"62002":["Vodafone","gh"],"62003":["AirtelTigo","gh"],"62004":["Kasapa Telecom Ltd.","gh"],"62005":["National Security","gh"],"62006":["AirtelTigo","gh"],"62007":["Globacom","gh"],"62008":["Surfline","gh"],"620299":["Comsys","gh"],"62101":["Visafone","ng"],"62120":["Airtel Nigeria","ng"],"62125":["Visafone","ng"],"62127":["Smile","ng"],"621299":["Alpha Technologies","ng"],"62130":["MTN Nigeria Communications","ng"],"62140":["Nigeria Telecommunications Ltd.","ng"],"62150":["Glo","ng"],"62160":["9Pay","ng"],"62199":["Starcomms","ng"],"62201":["Airtel Chad","td"],"62202":["Tchad Mobile","td"],"62203":["Tigo/Milicom/Tchad Mobile","td"],"62204":["Salam","td"],"62301":["Centrafrique Telecom Plus (CTP)","cf"],"62302":["Telecel Centrafrique (TC)","cf"],"62303":["Orange Centrafricaine","cf"],"62304":["Nationlink","cf"],"623299":["Failed Calls","cf"],"62401":["Mobile Telephone Networks Cameroon","cm"],"62402":["Orange Cameroun","cm"],"62404":["Nexttel","cm"],"62501":["Cabo Verde Telecom","cv"],"62502":["T+Telecomunicaçôes","cv"],"62601":["Companhia Santomese de Telecomunicaçôes","st"],"62602":["Unitel","st"],"62701":["Orange","gq"],"62703":["Hits-GE","gq"],"627299":["Failed Calls","gq"],"62801":["Libertis S.A.","ga"],"62802":["Telecel Gabon S.A.","ga"],"62803":["Airtel Gabon","ga"],"62804":["Azur","ga"],"628299":["Failed Calls","ga"],"62901":["Airtel Congo","cg"],"62902":["Azur SA (ETC)","cg"],"62907":["Warid","cg"],"62910":["Libertis Telecom","cg"],"63001":["Vodacom Congo RDC sprl","cd"],"63002":["Airtel","cd"],"63005":["Supercell Sprl","cd"],"630299":["Failed Calls","cd"],"63086":["Orange RDC","cd"],"63088":["Yozma Timeturns","cd"],"63089":["Tigo","cd"],"63090":["Africell","cd"],"63102":["Unitel","ao"],"63104":["MOVICEL","ao"],"63201":["Guinétel S.A.","gw"],"63202":["Spacetel Guiné-Bissau S.A.","gw"],"63203":["Orange","gw"],"63207":["Guinetel","gw"],"632999":["Fix\tLine","gw"],"63301":["Cable & Wireless (Seychelles) Ltd.","sc"],"63302":["Mediatech International Ltd.","sc"],"63305":["Intelvision","sc"],"63310":["Airtel Seychelles","sc"],"63400":["Canar Telecom","sd"],"63401":["SD Mobitel","sd"],"63402":["Areeba-Sudan","sd"],"63403":["MTN","sd"],"63405":["Canar Telecom","sd"],"63406":["Zain","sd"],"63407":["Sudani","sd"],"63408":["Canar Telecom","sd"],"63409":["Privet","sd"],"63415":["Sudani One","sd"],"63422":["MTN","sd"],"634999":["Fix Line","sd"],"63510":["MTN Rwandacell","rw"],"63512":["Rwandatel","rw"],"63513":["Airtel Rwanda","rw"],"63514":["Airtel Rwanda","rw"],"63601":["ETH MTN","et"],"63602":["Safaricom Telecommunications Ethiopia","et"],"63701":["Telesom","so"],"63704":["Somafone","so"],"63710":["Nationlink","so"],"63719":["Hormuud","so"],"63725":["Hormuud","so"],"637299":["AirSom","so"],"63730":["Golis Telecommunications Company","so"],"63750":["Hormuud","so"],"63757":["Unitel","so"],"63760":["Nationlink","so"],"63770":["Onkod","so"],"63771":["Somtel","so"],"63782":["Telcom","so"],"63801":["Evatis","dj"],"63901":["Safaricom","ke"],"63902":["Safaricom","ke"],"63903":["Airtel Kenya","ke"],"63904":["Mobile Pay","ke"],"63905":["Yu","ke"],"63906":["Finserve Africa","ke"],"63907":["Telkom","ke"],"63909":["Homeland Media","ke"],"63910":["Jamii Telecommunications","ke"],"63911":["Jambo Telcoms","ke"],"63912":["Infura","ke"],"639299":["eferio","ke"],"64001":["Tri Telecomm. Ltd.","tz"],"64002":["TIGO","tz"],"64003":["Zantel","tz"],"64004":["Vodacom","tz"],"64005":["Airtel","tz"],"64006":["Sasatel Tanzania","tz"],"64007":["Life Tanzania","tz"],"64008":["Benson Informatics Ltd","tz"],"64009":["Halotel / Viettel","tz"],"64011":["Smile Communications","tz"],"64013":["WiAfrica","tz"],"64014":["MO Mobile","tz"],"64099":["Mkulima African Telecommunication","tz"],"64101":["Airtel Uganda","ug"],"64104":["Lycamobile","ug"],"64110":["MTN Uganda Ltd.","ug"],"64111":["Uganda Telecom Ltd.","ug"],"64114":["House of Integrated Technology and Systems Uganda Ltd","ug"],"64118":["Suretelecom Uganda Ltd","ug"],"64122":["Airtel Uganda","ug"],"64130":["K2 Telecom Ltd","ug"],"64133":["Smile","ug"],"64166":["i-Tel Ltd","ug"],"641999":["Fix Line","ug"],"64201":["Spacetel Burundi","bi"],"64202":["Safaris","bi"],"64203":["Telecel Burundi Company","bi"],"64207":["Smart Mobile","bi"],"64208":["Lumitel/Viettel","bi"],"64282":["Leo","bi"],"642999":["Fix\tLine","bi"],"64301":["T.D.M. GSM","mz"],"64303":["Movitel","mz"],"64304":["Vodacom","mz"],"64501":["Airtel Zambia","zm"],"64502":["Telecel Zambia Ltd.","zm"],"64503":["Zamtel","zm"],"645299":["Failed Calls","zm"],"64601":["Airtel Madagascar","mg"],"64602":["Orange Madagascar","mg"],"64603":["Sacel","mg"],"64604":["Telecom Malagasy Mobile","mg"],"646299":["Bip","mg"],"64700":["Orange La Réunion","re"],"64701":["Maore Mobile","yt"],"64702":["Telco OI","re"],"64703":["Free RE","re"],"64704":["Zeop_RE","re"],"64710":["Société Réunionnaise du Radiotéléphone","yt"],"64801":["Net One","zw"],"64803":["Telecel","zw"],"64804":["Econet","zw"],"64901":["Mobile Telecommunications Ltd.","na"],"64902":["switch","na"],"64903":["Powercom Pty Ltd","na"],"649299":["Demshi","na"],"65001":["Telekom Network Ltd.","mw"],"65002":["ZERO2","mw"],"65010":["Airtel Malawi","mw"],"65101":["VCL","ls"],"65102":["Econet Ezin-cel","ls"],"65201":["Mascom Wireless (Pty) Ltd.","bw"],"65202":["Orange Botswana (Pty) Ltd.","bw"],"65204":["beMobile","bw"],"65301":["EswatiniTelecom","sz"],"65302":["Eswatini Mobile","sz"],"65310":["Swazi MTN","sz"],"65401":["HURI - SNPT","km"],"65402":["Telma","km"],"654299":["Failed Calls","km"],"65501":["Vodacom","za"],"65502":["Telkom","za"],"65505":["Telkom","za"],"65506":["Sentech (Pty) Ltd.","za"],"65507":["Cell C (Pty) Ltd.","za"],"65510":["MTN","za"],"65511":["SAPS Gauteng","za"],"65512":["MTN","za"],"65519":["rain","za"],"65521":["Cape Town Metropolitan Council","za"],"655299":["Lycamobile","za"],"65530":["Bokamoso Consortium","za"],"65531":["Karabo Telecoms (Pty) Ltd.","za"],"65532":["Ilizwi Telecommunications","za"],"65533":["Thinta Thinta Telecommunications","za"],"65534":["Bokone Telecoms","za"],"65535":["Kingdom Communications","za"],"65536":["Amatole Telecommunication Services","za"],"65538":["rain","za"],"65573":["rain","za"],"65574":["rain","za"],"65701":["Eritel","er"],"658299":["Failed Calls","sh"],"65902":["MTN","ss"],"65903":["Gemtel Ltd (South Sudan","ss"],"65904":["Network of The World Ltd (NOW) (South Sudan","ss"],"65906":["Zain","ss"],"659299":["Digitel","ss"],"702099":["Smart","bz"],"702299":["Failed Calls","bz"],"70267":["Belize Telecommunications Ltd.","bz"],"70268":["International Telecommunications Ltd. (INTELCO)","bz"],"70269":["Smart","bz"],"70299":["Smart","bz"],"70401":["Claro GT","gt"],"70402":["Comunicaciones Celulares S.A.","gt"],"70403":["Movistar","gt"],"704030":["Movistar","gt"],"70601":["Claro SV","sv"],"70602":["Digicel, S.A. de C.V.","sv"],"70603":["Tigo","sv"],"70604":["Movistar","sv"],"706040":["Movistar","sv"],"70605":["INTELFON SA de CV","sv"],"708001":["Claro HN","hn"],"708002":["Celtel","hn"],"70801":["Claro HN","hn"],"70802":["Celtel","hn"],"708020":["Celtel","hn"],"708030":["HonduTel","hn"],"70804":["Digicel","hn"],"708040":["Digicel","hn"],"70830":["Hondutel","hn"],"70840":["Digicel","hn"],"71021":["Claro NI","ni"],"71030":["Movistar (Telefonía Celular de Nicaragua)","ni"],"710300":["Movistar (Telefonía Celular de Nicaragua)","ni"],"71070":["Yota Nicaragua","ni"],"71073":["Servicios de Comunicaciones, S.A. (SERCOM)","ni"],"710730":["Servicios de Comunicaciones, S.A. (SERCOM)","ni"],"710999":["Fix Line","ni"],"71201":["KOLBI ICE","cr"],"712019":["Tuyo","cr"],"71202":["KOLBI ICE","cr"],"71203":["Claro CR","cr"],"71204":["Liberty","cr"],"712190":["Tuyo","cr"],"71220":["Virtualis","cr"],"712999":["Fix Line","cr"],"71401":["Cable & Wireless Panama S.A.","pa"],"71402":["Movistar","pa"],"714020":["Movistar","pa"],"71403":["Claro PA","pa"],"71404":["Digicel","pa"],"714040":["Digicel","pa"],"714999":["Fix Line","pa"],"71601":["GlobalStar","pe"],"71602":["GlobalStar","pe"],"71606":["Movistar","pe"],"71607":["Nextel","pe"],"71610":["Claro PE","pe"],"71615":["Bitel","pe"],"71617":["Entel","pe"],"71620":["Claro /Amer.Mov./TIM","pe"],"722007":["Movistar","ar"],"722010":["Movistar","ar"],"722020":["Nextel Argentina srl","ar"],"722031":["Claro","ar"],"722034":["Personal","ar"],"72207":["Movistar","ar"],"722070":["Movistar","ar"],"722210":["IMOWI","ar"],"722299":["Express","ar"],"72231":["Claro AR","ar"],"722310":["Claro AR","ar"],"722320":["Compañía de Telefonos del Interior Norte S.A.","ar"],"722330":["Compañía de Telefonos del Interior S.A.","ar"],"72234":["Telecom Personal S.A.","ar"],"722340":["Telecom Personal S.A.","ar"],"722341":["Telecom Personal S.A.","ar"],"72236":["Argentina:Nuestro","ar"],"722999":["Fix Line","ar"],"72400":["Nextel","br"],"72401":["CRT Cellular","br"],"72402":["TIM","br"],"72403":["TIM","br"],"72404":["TIM","br"],"72405":["Claro BR","br"],"72406":["Vivo","br"],"72407":["Sercontel Cel","br"],"72408":["Maxitel MG","br"],"72409":["Telepar Cel","br"],"72410":["Vivo","br"],"72411":["Vivo","br"],"72412":["Americel","br"],"72413":["Telesp Cel","br"],"72414":["Maxitel BA","br"],"72415":["Sercomtel","br"],"72416":["Brasil Telecom GSM","br"],"72417":["Ceterp Cel","br"],"72418":["Datora","br"],"72419":["Telemig Cel","br"],"72421":["Telerj Cel","br"],"72423":["Vivo","br"],"72424":["Oi","br"],"72425":["Telebrasilia Cel","br"],"72426":["AmericaNet","br"],"72427":["Telegoias Cel","br"],"72429":["Unifique","br"],"72430":["Oi","br"],"72431":["Oi","br"],"72432":["Algar Telecom","br"],"72433":["Algar Telecom","br"],"72434":["Algar Telecom","br"],"72435":["Telebahia Cel","br"],"72437":["Telergipe Cel","br"],"72438":["Claro BR","br"],"72439":["Nextel","br"],"72441":["Telpe Cel","br"],"72443":["Telepisa Cel","br"],"72445":["Telpa Cel","br"],"72447":["Telern Cel","br"],"72448":["Teleceara Cel","br"],"72451":["Telma Cel","br"],"72453":["Telepara Cel","br"],"72454":["TIM","br"],"72455":["Teleamazon Cel","br"],"72457":["Teleamapa Cel","br"],"72459":["Telaima Cel","br"],"72477":["Brisanet","br"],"73000":["TESAM SA","cl"],"73001":["Entel","cl"],"73002":["Movistar","cl"],"73003":["Claro CL","cl"],"73004":["WOM","cl"],"73005":["Multikom S.A.","cl"],"73006":["Blue Two Chile SA","cl"],"73007":["Movistar","cl"],"73008":["VTR Banda Ancha SA","cl"],"73009":["WOM","cl"],"73010":["Entel","cl"],"73011":["Celupago SA","cl"],"73012":["Telestar Movil SA","cl"],"73013":["Tribe Mobile SPA","cl"],"73014":["Netline Telefonica Movil Ltda","cl"],"73015":["Cibeles Telecom SA","cl"],"73019":["Sociedad Falabella Movil SPA","cl"],"73026":["Entel","cl"],"732001":["Colombia Telecomunicaciones S.A. - Telecom","co"],"732002":["Edatel S.A.","co"],"732020":["Emtelsa","co"],"732099":["Emcali","co"],"732101":["Claro CO","co"],"732102":["Bellsouth Colombia S.A.","co"],"732103":["Colombia Móvil S.A.","co"],"732111":["Colombia Móvil S.A.","co"],"732123":["Movistar","co"],"732130":["WOM","co"],"732142":["UNE","co"],"732154":["Virgin Mobile","co"],"732165":["Tigo","co"],"732187":["ETB 4G","co"],"732199":["SUMA movil","co"],"732220":["Libre Tecnologias","co"],"732230":["Setroc Mobile","co"],"732240":["Flash Mobile","co"],"732299":["ATnet","co"],"732360":["WOM","co"],"732666":["Claro","co"],"732999":["Fix Line","co"],"73401":["Infonet","ve"],"73402":["Corporación Digitel","ve"],"73403":["Digicel","ve"],"73404":["Movistar","ve"],"73406":["Telecomunicaciones Movilnet, C.A.","ve"],"73601":["Nuevatel S.A.","bo"],"73602":["ENTEL S.A.","bo"],"73603":["Telecel S.A.","bo"],"738002":["GT&T Cellink Plus","gy"],"73801":["Cel*Star (Guyana) Inc.","gy"],"73802":["GT&T Cellink Plus","gy"],"74000":["Movistar","ec"],"740000":["Failed Call(s)","ec"],"74001":["Claro EC","ec"],"740010":["Claro EC","ec"],"74002":["Telecsa S.A.","ec"],"74003":["Tuenti","ec"],"74401":["Hola Paraguay S.A.","py"],"74402":["Claro PY","py"],"74403":["Compañia Privada de Comunicaciones S.A.","py"],"74404":["Telecel","py"],"74405":["Personal","py"],"74406":["Hola Paraguay S.A.","py"],"74601":["Telesur","sr"],"74602":["Telesur","sr"],"74603":["Digicel","sr"],"74604":["Intelsur","sr"],"746999":["Fix Line","sr"],"74800":["Ancel","uy"],"74801":["Ancel","uy"],"74803":["Ancel","uy"],"74807":["Movistar","uy"],"74810":["Claro UY","uy"],"750001":["Sure","fk"],"90101":["ICO Global Communications","n/a"],"90102":["Sense Communications International AS","n/a"],"90103":["Iridium Satellite, LLC (GMSS)","n/a"],"90104":["Globalstar","n/a"],"90105":["Thuraya RMSS Network","n/a"],"90106":["Thuraya Satellite Telecommunications Company","n/a"],"90107":["Ellipso","n/a"],"90109":["Tele1 Europe","n/a"],"90110":["Asia Cellular Satellite (AceS)","n/a"],"90111":["Inmarsat Ltd.","n/a"],"90112":["Maritime Communications Partner AS (MCP network)","n/a"],"90113":["Global Networks, Inc.","n/a"],"90114":["Telenor GSM - services in aircraft","n/a"],"90115":["SITA GSM services in aircraft (On Air)","n/a"],"90116":["Jasper Systems, Inc.","n/a"],"90117":["Jersey Telecom","n/a"],"90118":["AT&T Mobility (Wireless Maritime Services)","n/a"],"90119":["Vodafone","n/a"],"90120":["Intermatica","n/a"],"90121":["Seanet Maritime Communications","n/a"],"90122":["Denver Consultants Ltd","n/a"],"90128":["Vodafone GDSP","n/a"],"90137":["Transatel","n/a"],"90158":["Bics","n/a"],"90188":["Telecommunications for Disaster Relief (TDR) (OCHA)","n/a"],"90198":["Skylo","n/a"]},"i":{"202":"gr","204":"nl","206":"be","208":"fr","212":"mc","213":"ad","214":"es","216":"hu","218":"ba","219":"hr","220":"rs","221":"xk","222":"it","225":"va","226":"ro","228":"ch","230":"cz","231":"sk","232":"at","234":"gb","235":"gb","238":"dk","240":"se","242":"no","244":"fi","246":"lt","247":"lv","248":"ee","250":"ru","255":"ua","257":"by","259":"md","260":"pl","262":"de","266":"gi","268":"pt","270":"lu","272":"ie","274":"is","276":"al","278":"mt","280":"cy","282":"ge","283":"am","284":"bg","286":"tr","288":"fo","289":"ge","290":"gl","292":"sm","293":"si","294":"mk","295":"li","297":"me","302":"ca","308":"pm","310":"us","311":"us","312":"us","313":"us","314":"us","315":"us","316":"us","330":"pr","334":"mx","338":"jm","340":"gf","342":"bb","344":"ag","346":"ky","348":"vg","350":"bm","352":"gd","354":"ms","356":"kn","358":"lc","360":"vc","362":"bq","363":"aw","364":"bs","365":"ai","366":"dm","368":"cu","370":"do","372":"ht","374":"tt","376":"tc","400":"az","401":"kz","402":"bt","404":"in","405":"in","406":"in","410":"pk","412":"af","413":"lk","414":"mm","415":"lb","416":"jo","417":"sy","418":"iq","419":"kw","420":"sa","421":"ye","422":"om","424":"ae","425":"il","426":"bh","427":"qa","428":"mn","429":"np","430":"ae","431":"ae","432":"ir","434":"uz","436":"tj","437":"kg","438":"tm","440":"jp","441":"jp","450":"kr","452":"vn","454":"hk","455":"mo","456":"kh","457":"la","460":"cn","461":"cn","466":"tw","467":"kp","470":"bd","472":"mv","502":"my","505":"au","510":"id","514":"tl","515":"ph","520":"th","525":"sg","528":"bn","530":"nz","537":"pg","539":"to","540":"sb","541":"vu","542":"fj","543":"wf","544":"as","545":"ki","546":"nc","547":"pf","548":"ck","549":"ws","550":"fm","551":"mh","552":"pw","553":"tv","555":"nu","602":"eg","603":"dz","604":"ma","605":"tn","606":"ly","607":"gm","608":"sn","609":"mr","610":"ml","611":"gn","612":"ci","613":"bf","614":"ne","615":"tg","616":"bj","617":"mu","618":"lr","619":"sl","620":"gh","621":"ng","622":"td","623":"cf","624":"cm","625":"cv","626":"st","627":"gq","628":"ga","629":"cg","630":"cd","631":"ao","632":"gw","633":"sc","634":"sd","635":"rw","636":"et","637":"so","638":"dj","639":"ke","640":"tz","641":"ug","642":"bi","643":"mz","645":"zm","646":"mg","647":"yt","648":"zw","649":"na","650":"mw","651":"ls","652":"bw","653":"sz","654":"km","655":"za","657":"er","658":"sh","659":"ss","702":"bz","704":"gt","706":"sv","708":"hn","710":"ni","712":"cr","714":"pa","716":"pe","722":"ar","724":"br","730":"cl","732":"co","734":"ve","736":"bo","738":"gy","740":"ec","744":"py","746":"sr","748":"uy","750":"fk","901":"n/a"},"t":["302","310","311","312","313","314","315","316","334","338"],"meta":{"source":"Android Open Source Project carrier_list.textpb","source_url":"https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/master/assets/latest_carrier_id/carrier_list.textpb","aosp_version":"134217771","aosp_generic_records":1672}} diff --git a/web/src/lib/utils.ts b/web/src/lib/utils.ts index c34f38c..3638e60 100644 --- a/web/src/lib/utils.ts +++ b/web/src/lib/utils.ts @@ -18,10 +18,12 @@ export function clamp(value: number, min: number, max: number) { return Math.min(max, Math.max(min, value)); } -// Signal strength (dBm) -> 0..4 bars, matching VoHive thresholds. +// Signal strength (RSSI dBm, AT+CSQ) -> 0..4 bars, matching VoHive thresholds. +// RSSI-calibrated (not RSRP): RSSI sits ~20 dB above RSRP on LTE, so RSRP-scaled +// bands peg at full for any real signal and the bars never reflect strength. export function signalBars(dbm?: number | null): number { if (typeof dbm !== "number" || !Number.isFinite(dbm) || dbm === 0 || dbm === -999) return 0; - return dbm > -70 ? 4 : dbm > -85 ? 3 : dbm > -100 ? 2 : 1; + return dbm >= -70 ? 4 : dbm >= -85 ? 3 : dbm >= -100 ? 2 : 1; } export function signalValid(dbm?: number | null): boolean { @@ -30,7 +32,7 @@ export function signalValid(dbm?: number | null): boolean { export function signalColor(dbm?: number | null): string { if (!signalValid(dbm)) return "bg-gray-300 dark:bg-gray-600"; - return dbm! > -70 ? "bg-green-500" : dbm! > -90 ? "bg-yellow-500" : "bg-red-500"; + return dbm! >= -85 ? "bg-green-500" : dbm! >= -100 ? "bg-yellow-500" : "bg-red-500"; } export function formatBytes(value?: number | null): string { diff --git a/web/src/pages/DevicesPage.tsx b/web/src/pages/DevicesPage.tsx index 97a6c01..8cbe0df 100644 --- a/web/src/pages/DevicesPage.tsx +++ b/web/src/pages/DevicesPage.tsx @@ -24,6 +24,7 @@ const VALID_TABS = new Set(["overview", "esim", "at", "ussd", "config", "card"]) const EMPTY_ADD: AddDeviceForm = { id: "", name: "", + deviceType: "", interface: "", modemImei: "", usbPath: "", @@ -49,7 +50,7 @@ export default function DevicesPage() { const [configSnapshot, setConfigSnapshot] = useState(""); const [saving, setSaving] = useState(false); const [deleting, setDeleting] = useState(false); - const [rotating, setRotating] = useState(false); + const [dataToggling, setDataToggling] = useState(false); const [rebooting, setRebooting] = useState(false); const [reconnectingVoWiFi, setReconnectingVoWiFi] = useState(false); const [rescanning, setRescanning] = useState(false); @@ -227,33 +228,19 @@ export default function DevicesPage() { }, [setSearchParams], ); - const listRef = useRef(list); - listRef.current = list; - - const handleRotateIp = useCallback(async () => { + const handleToggleRoamingData = useCallback(async (enabled: boolean) => { const id = selectedIdRef.current.trim(); if (!id) return; - const item = listRef.current.find((d) => d.id === id); - if (!item?.networkConnected) { - message.warning(t("设备网络未连接,请先启动网络")); - return; - } - const ok = await confirmDialog(tf("确定对设备 {id} 执行 IP 轮换?", { id }), t("确认操作"), { - confirmText: t("立即轮换"), - cancelText: t("取消"), - type: "warning", - }); - if (!ok) return; - setRotating(true); + setDataToggling(true); try { - await api("/rotateip", { method: "POST", body: { deviceId: id } }); - message.success(t("轮换请求已发送")); + await api(`/devices/${id}/network`, { method: "PATCH", body: { enabled } }); + message.success(enabled ? t("漫游数据已开启,仅供 Export Proxy 使用") : t("漫游数据已关闭")); await refreshAll(); refreshSoon(1500); } catch (e) { - message.error(apiMessage(e) || t("轮换失败")); + message.error(apiMessage(e) || (enabled ? t("开启漫游数据失败") : t("关闭漫游数据失败"))); } finally { - setRotating(false); + setDataToggling(false); } }, [refreshAll, refreshSoon]); @@ -406,6 +393,10 @@ export default function DevicesPage() { message.warning(t("请选择一个未配置设备")); return; } + if (!addConfig.deviceType) { + message.warning(t("请选择设备类型")); + return; + } const res = await api<{ warning?: string; started?: boolean }>("/devices", { method: "POST", body: { config: addConfig } }); if (res?.warning) message.warning(res.warning); else if (res?.started === true) message.success(t("设备已添加并开始接管")); @@ -673,11 +664,11 @@ export default function DevicesPage() { <> ({ + id: "", + name: "", + deviceId: "", + interface: "", + mode: "socks5", + listenHost: "0.0.0.0", + listenPort: 1080, + enabled: true, + authEnabled: false, + username: "", + password: "", +}); + +export default function ExportProxyPage() { + const { t } = useI18n(); + const [configs, setConfigs] = useState([]); + const [statuses, setStatuses] = useState([]); + const [devices, setDevices] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(""); + const [open, setOpen] = useState(false); + const [form, setForm] = useState(emptyConfig); + const [saving, setSaving] = useState(false); + const [busy, setBusy] = useState(""); + + const load = useCallback(async (initial = false) => { + if (initial) setLoading(true); + try { + const [configData, statusData, deviceData] = await Promise.all([ + api<{ configs?: ExportProxyConfig[] }>("/export-proxies"), + api<{ configs?: ExportProxyStatus[] }>("/export-proxies/status"), + api("/devices"), + ]); + setConfigs(configData.configs || []); + setStatuses(statusData.configs || []); + setDevices((deviceData.devices || []).filter((device) => !!device.interface)); + setError(""); + } catch (err) { + setError(apiMessage(err)); + } finally { + if (initial) setLoading(false); + } + }, []); + + useEffect(() => { + void load(true); + const timer = window.setInterval(() => void load(), 5000); + return () => window.clearInterval(timer); + }, [load]); + + const statusByID = useMemo(() => new Map(statuses.map((status) => [status.id, status])), [statuses]); + const deviceByID = useMemo(() => new Map(devices.map((device) => [device.id, device])), [devices]); + + const edit = (config?: ExportProxyConfig) => { + if (config) { + setForm({ ...config, password: "" }); + } else { + const first = devices[0]; + setForm({ ...emptyConfig(), deviceId: first?.id || "", interface: first?.interface || "" }); + } + setOpen(true); + }; + + const chooseDevice = (deviceId: string) => { + const device = deviceByID.get(deviceId); + setForm((current) => ({ ...current, deviceId, interface: device?.interface || "" })); + }; + + const save = async () => { + if (!form.deviceId) return message.warning(t("请选择设备")); + if (!form.listenPort || form.listenPort < 1 || form.listenPort > 65535) return message.warning(t("请输入有效端口")); + if (form.authEnabled && !form.username.trim()) return message.warning(t("启用认证后必须填写用户名")); + setSaving(true); + try { + if (form.id) { + await api(`/export-proxies/${encodeURIComponent(form.id)}`, { method: "PUT", body: form }); + message.success(t("导出代理已更新")); + } else { + await api("/export-proxies", { method: "POST", body: form }); + message.success(t("导出代理已创建")); + } + setOpen(false); + await load(); + } catch (err) { + message.error(apiMessage(err) || t("保存失败")); + } finally { + setSaving(false); + } + }; + + const toggle = async (config: ExportProxyConfig) => { + setBusy(config.id); + try { + await api(`/export-proxies/${encodeURIComponent(config.id)}`, { + method: "PUT", + body: { ...config, enabled: !config.enabled }, + }); + await load(); + } catch (err) { + message.error(apiMessage(err)); + } finally { + setBusy(""); + } + }; + + const remove = async (config: ExportProxyConfig) => { + if (!await confirmDialog(t("确定删除这个导出代理配置吗?"), t("确认删除"), { type: "warning", confirmText: t("删除"), cancelText: t("取消") })) return; + setBusy(config.id); + try { + await api(`/export-proxies/${encodeURIComponent(config.id)}`, { method: "DELETE" }); + message.success(t("导出代理已删除")); + await load(); + } catch (err) { + message.error(apiMessage(err)); + } finally { + setBusy(""); + } + }; + + return ( +
      + } onClick={() => edit()} disabled={!devices.length}>{t("添加代理")}} + /> + +
      + {error ?
      {error}
      : null} +
      + + + + + + + + + + + + + + + {configs.map((config) => { + const status = statusByID.get(config.id); + const device = deviceByID.get(config.deviceId); + return ( + + + + + + + + + + + ); + })} + +
      {t("名称")}{t("设备")}{t("网络接口")}{t("协议")}{t("监听地址")}{t("认证")}{t("状态")}{t("操作")}
      {config.name}{device?.name || config.deviceId}{config.interface}{config.mode.toUpperCase()}{status?.listen || `${config.listenHost}:${config.listenPort}`}{config.authEnabled ? config.username : t("无")} +
      + void toggle(config)} size="small" /> + + {status?.running ? t("运行中") : status?.error ? t("错误") : t("已停用")} + +
      + {status?.error ?
      {status.error}
      : null} +
      +
      + + +
      +
      +
      + {!loading && !configs.length ? ( +
      + +
      {t("暂无导出代理配置")}
      +
      {t("先在设备页面开启漫游数据,再创建代理")}
      +
      + ) : null} + {loading ?
      {t("加载中...")}
      : null} +
      + +
      + {t("代理出口使用受保护的蜂窝路由和独立 DNS,不会把模块数据设为主机默认网络。关闭开发者模式会停止漫游数据并永久删除这里的全部配置。")} +
      + + setOpen(false)} + title={form.id ? t("编辑导出代理") : t("添加导出代理")} + width="max-w-2xl" + footer={<>} + > +
      + + + + +
      {t("代理认证")} setForm({ ...form, authEnabled })} />
      +
      {t("保存后立即启用")} setForm({ ...form, enabled })} />
      + {form.authEnabled ? <> + + + : null} +
      +
      +
      + ); +} diff --git a/web/src/pages/ExtensionPage.tsx b/web/src/pages/ExtensionPage.tsx index afd9fdd..9a3f821 100644 --- a/web/src/pages/ExtensionPage.tsx +++ b/web/src/pages/ExtensionPage.tsx @@ -40,6 +40,7 @@ export default function ExtensionPage() { src={pluginAssetURL(selected.plugin, selected.contribution)} className="h-[calc(100vh-10rem)] min-h-[560px] w-full rounded-xl border border-gray-200 bg-white dark:border-white/10 dark:bg-[#15151a]" sandbox="allow-scripts allow-forms allow-same-origin" + allow="microphone; autoplay" />
      ); diff --git a/web/src/pages/SettingsPage.tsx b/web/src/pages/SettingsPage.tsx index 01f0070..7cf07fe 100644 --- a/web/src/pages/SettingsPage.tsx +++ b/web/src/pages/SettingsPage.tsx @@ -1,7 +1,7 @@ import { useCallback, useEffect, useState } from "react"; import { AlertRegular, CheckmarkRegular } from "@fluentui/react-icons"; import { api, apiMessage, getSecuritySettings, updateSecuritySettings } from "../api"; -import type { NotificationSettings, SecuritySettings, SystemInfo } from "../types"; +import type { DeveloperSettings, HTTPSSettings, NotificationSettings, SecuritySettings, SystemInfo } from "../types"; import { Button, PageHeader, confirmDialog, message } from "../components/ui"; import { CardDecor, CardIcon, CardTitle, SecurityCard, SystemInfoCard } from "../components/settings/Cards"; import type { PasswordForm, UpdateInfo } from "../components/settings/Cards"; @@ -22,6 +22,8 @@ import { import { PushplusTab, TelegramTab } from "../components/settings/BotTabs"; import { BarkTab, EmailTab, WebhookTab } from "../components/settings/PushTabs"; import { PluginsCard } from "../components/settings/PluginsCard"; +import { HTTPSCard } from "../components/settings/HTTPSCard"; +import { DeviceQuotaCard } from "../components/settings/DeviceQuotaCard"; const EMPTY_PASSWORD: PasswordForm = { oldPassword: "", newPassword: "", confirmPassword: "" }; @@ -58,6 +60,13 @@ export default function SettingsPage() { const [clientAllowed, setClientAllowed] = useState(true); const [loadingSecurity, setLoadingSecurity] = useState(false); const [savingSecurity, setSavingSecurity] = useState(false); + const [httpsSettings, setHTTPSSettings] = useState(null); + const [loadingHTTPS, setLoadingHTTPS] = useState(false); + const [savingHTTPS, setSavingHTTPS] = useState(false); + const [developerSettings, setDeveloperSettings] = useState(null); + const [deviceLimit, setDeviceLimit] = useState(5); + const [loadingDeveloper, setLoadingDeveloper] = useState(false); + const [savingDeveloper, setSavingDeveloper] = useState(false); const updateChannel = useCallback((key: K, patch: Partial) => { setForms((prev) => ({ ...prev, [key]: { ...prev[key], ...patch } })); @@ -105,12 +114,80 @@ export default function SettingsPage() { } }, [applySecurity]); + const fetchHTTPS = useCallback(async () => { + setLoadingHTTPS(true); + try { + setHTTPSSettings(await api("/settings/https")); + } catch (error) { + message.error(apiMessage(error) || (lang === "zh" ? "HTTPS 配置加载失败" : "Failed to load HTTPS settings")); + } finally { + setLoadingHTTPS(false); + } + }, [lang]); + + const fetchDeveloperSettings = useCallback(async () => { + setLoadingDeveloper(true); + try { + const data = await api("/settings/developer"); + setDeveloperSettings(data); + setDeviceLimit(data.deviceLimit); + } catch (error) { + message.error(apiMessage(error) || (lang === "zh" ? "开发者配置加载失败" : "Failed to load developer settings")); + } finally { + setLoadingDeveloper(false); + } + }, [lang]); + useEffect(() => { void fetchSystemInfo(); void fetchNotifications(); void fetchSecurity(); }, [fetchSystemInfo, fetchNotifications, fetchSecurity]); + useEffect(() => { + if (systemInfo.developer) { + void fetchHTTPS(); + void fetchDeveloperSettings(); + } else { + setHTTPSSettings(null); + setDeveloperSettings(null); + setDeviceLimit(5); + } + }, [systemInfo.developer, fetchHTTPS, fetchDeveloperSettings]); + + const onToggleHTTPS = useCallback(async (enabled: boolean) => { + setSavingHTTPS(true); + try { + const data = await api("/settings/https", { method: "PUT", body: { enabled } }); + setHTTPSSettings(data); + message.success(lang === "zh" ? (enabled ? "HTTPS 已开启,正在切换连接" : "HTTPS 已关闭,正在恢复 HTTP") : (enabled ? "HTTPS enabled; reconnecting" : "HTTPS disabled; returning to HTTP")); + const target = enabled ? data.httpsUrl : data.httpUrl; + window.setTimeout(() => window.location.replace(target + window.location.pathname + window.location.search + window.location.hash), 700); + } catch (error) { + message.error(apiMessage(error) || (lang === "zh" ? "HTTPS 配置保存失败" : "Failed to save HTTPS settings")); + setSavingHTTPS(false); + } + }, [lang]); + + const onSaveDeviceLimit = useCallback(async () => { + const maximum = developerSettings?.maxDeviceLimit ?? 128; + if (!Number.isInteger(deviceLimit) || deviceLimit < 1 || deviceLimit > maximum) { + message.error(lang === "zh" ? `设备配额必须是 1 到 ${maximum} 的整数` : `Device quota must be an integer between 1 and ${maximum}`); + return; + } + setSavingDeveloper(true); + try { + const data = await api("/settings/developer", { method: "PUT", body: { deviceLimit } }); + setDeveloperSettings(data); + setDeviceLimit(data.deviceLimit); + message.success(lang === "zh" ? "设备配额已保存" : "Device quota saved"); + } catch (error) { + message.error(apiMessage(error) || (lang === "zh" ? "设备配额保存失败" : "Failed to save device quota")); + } finally { + setSavingDeveloper(false); + } + }, [developerSettings, deviceLimit, lang]); + const onSaveSecurity = useCallback(async () => { setSavingSecurity(true); try { @@ -313,7 +390,25 @@ export default function SettingsPage() { onSave={onSaveSecurity} /> - {systemInfo.developer ? : null} + {systemInfo.developer ? ( + <> + + + + + ) : null}
      diff --git a/web/src/types.ts b/web/src/types.ts index 6dc3767..1a2cff6 100644 --- a/web/src/types.ts +++ b/web/src/types.ts @@ -1,5 +1,7 @@ export type ApiStatus = "ok" | "error"; +export type DeviceType = "wifi_410" | "dji_4g" | "pcie_ec20_ec25"; + export interface Session { authenticated: boolean; username: string; @@ -55,6 +57,7 @@ export interface ModemSummary { operator: string; nativeMcc: string; nativeMnc: string; + operatorCountryCode?: string; nativeSpn?: string; cardMcc?: string; cardMnc?: string; @@ -86,6 +89,7 @@ export interface ModemSummary { export interface DeviceListItem { id: string; name: string; + deviceType: DeviceType; running: boolean; healthy: boolean; controlOnline: boolean; @@ -100,6 +104,7 @@ export interface DeviceListItem { interface: string; esimTransport: string; smsEnabled: boolean; + networkEnabled: boolean; vowifiEnabled: boolean; vowifiActive?: boolean; vowifiRuntime: VoWiFiRuntime; @@ -117,6 +122,7 @@ export interface DevicesResponse { export interface DashboardDevice { id: string; name: string; + deviceType: DeviceType; interface: string; proxyPort: number; publicIp: string; @@ -181,6 +187,7 @@ export interface DiscoveredDevice { export interface DeviceConfig { id: string; name: string; + deviceType: DeviceType; interface: string; controlDevice: string; atPort: string; @@ -382,6 +389,20 @@ export interface SystemInfo { developer?: boolean; } +export interface HTTPSSettings { + enabled: boolean; + httpUrl: string; + httpsUrl: string; + fingerprint?: string; + notAfter?: string; +} + +export interface DeveloperSettings { + deviceLimit: number; + defaultDeviceLimit: number; + maxDeviceLimit: number; +} + export type Notice = { kind: "success" | "error" | "warning" | "info"; title: string;