summaryrefslogtreecommitdiffstats
path: root/Src
diff options
context:
space:
mode:
authorTom2012-05-28 22:48:08 +0200
committerTom2012-05-28 22:48:08 +0200
commitded6b56b3c24ec2f1fc1544c4bc872c71e54c99f (patch)
tree37aae445e53e2d0ba90fee7a1a8234443d826649 /Src
parentpaging image added (diff)
downloadimsi-catcher-detection-ded6b56b3c24ec2f1fc1544c4bc872c71e54c99f.tar.gz
imsi-catcher-detection-ded6b56b3c24ec2f1fc1544c4bc872c71e54c99f.tar.xz
imsi-catcher-detection-ded6b56b3c24ec2f1fc1544c4bc872c71e54c99f.zip
some more tex changes and experiments
Diffstat (limited to 'Src')
-rw-r--r--Src/PyCatcher/GUI/catcher_main.glade613
-rw-r--r--Src/PyCatcher/Scans/LTE/home_1.cpf11116
-rw-r--r--Src/PyCatcher/src/driverConnector.py110
-rw-r--r--Src/PyCatcher/src/localAreaDatabse.py4
-rw-r--r--Src/PyCatcher/src/pch_test.py62
-rw-r--r--Src/PyCatcher/src/pyCatcherController.py81
-rw-r--r--Src/PyCatcher/src/pyCatcherModel.py28
-rw-r--r--Src/PyCatcher/src/pyCatcherView.py49
-rw-r--r--Src/PyCatcher/src/rules.py29
-rw-r--r--Src/PyCatcher/src/settings.py17
-rw-r--r--Src/osmolib/src/host/layer23/src/misc/Makefile.am4
-rwxr-xr-xSrc/osmolib/src/host/layer23/src/misc/pch_scan (renamed from Src/osmolib/src/host/layer23/src/misc/enc_scan)bin896781 -> 892996 bytes
-rw-r--r--Src/osmolib/src/host/layer23/src/misc/pch_scan.c (renamed from Src/osmolib/src/host/layer23/src/misc/enc_scan.c)15
13 files changed, 11845 insertions, 283 deletions
diff --git a/Src/PyCatcher/GUI/catcher_main.glade b/Src/PyCatcher/GUI/catcher_main.glade
index eae5beb..6fb6119 100644
--- a/Src/PyCatcher/GUI/catcher_main.glade
+++ b/Src/PyCatcher/GUI/catcher_main.glade
@@ -305,163 +305,6 @@ CSV
</object>
</child>
</object>
- <object class="GtkDialog" id="encryption_window">
- <property name="can_focus">False</property>
- <property name="border_width">5</property>
- <property name="type">popup</property>
- <property name="window_position">center-on-parent</property>
- <property name="type_hint">dialog</property>
- <property name="transient_for">main_window</property>
- <property name="has_resize_grip">False</property>
- <child internal-child="vbox">
- <object class="GtkBox" id="dialog-vbox7">
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">2</property>
- <child internal-child="action_area">
- <object class="GtkButtonBox" id="dialog-action_area7">
- <property name="can_focus">False</property>
- <property name="layout_style">end</property>
- <child>
- <placeholder/>
- </child>
- <child>
- <object class="GtkButton" id="btn_encryption_close">
- <property name="label" translatable="yes">Close</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <signal name="clicked" handler="_on_encryption_close_clicked" swapped="no"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkVBox" id="box7">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkHBox" id="box8h">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkLabel" id="label9">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">ARFCNs to scan: </property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkEntry" id="te_enc_arfcns">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">•</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkHBox" id="box8h2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkLabel" id="label10">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Timeout: </property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkEntry" id="te_enc_timeout">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">•</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="btn_scan_enc">
- <property name="label" translatable="yes">Scan base stations!</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <signal name="clicked" handler="_on_scan_enc_clicked" swapped="no"/>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="lbl_enc_result">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Result: Empty</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- </child>
- <action-widgets>
- <action-widget response="0">btn_encryption_close</action-widget>
- </action-widgets>
- </object>
<object class="GtkWindow" id="evaluation_window">
<property name="can_focus">False</property>
<property name="title" translatable="yes">ICDS</property>
@@ -527,6 +370,23 @@ CSV
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
+ <object class="GtkLabel" id="label15">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">
+Available Evaluators
+</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkRadioButton" id="rb_conservative_evaluator">
<property name="label" translatable="yes">Conservative Evaluator</property>
<property name="visible">True</property>
@@ -540,7 +400,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">0</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
@@ -558,7 +418,7 @@ CSV
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
<child>
@@ -576,7 +436,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">2</property>
+ <property name="position">3</property>
</packing>
</child>
</object>
@@ -642,6 +502,23 @@ CSV
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
+ <object class="GtkLabel" id="label16">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">
+Active Filters
+</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkCheckButton" id="cb_filter_by_provider">
<property name="label" translatable="yes">Filter by provider name (csv, whitelist)</property>
<property name="visible">True</property>
@@ -654,7 +531,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">0</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
@@ -689,7 +566,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
<child>
@@ -700,7 +577,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">2</property>
+ <property name="position">3</property>
</packing>
</child>
<child>
@@ -716,7 +593,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">3</property>
+ <property name="position">4</property>
</packing>
</child>
<child>
@@ -751,7 +628,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">4</property>
+ <property name="position">5</property>
</packing>
</child>
<child>
@@ -786,7 +663,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">5</property>
+ <property name="position">6</property>
</packing>
</child>
<child>
@@ -797,12 +674,9 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">6</property>
+ <property name="position">7</property>
</packing>
</child>
- <child>
- <placeholder/>
- </child>
</object>
<packing>
<property name="expand">False</property>
@@ -938,14 +812,14 @@ CSV
</packing>
</child>
<child>
- <object class="GtkToolButton" id="btn_encryption_scanner">
+ <object class="GtkToolButton" id="btn_pch_scanner">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_action_appearance">False</property>
- <property name="label" translatable="yes">Encryption</property>
+ <property name="label" translatable="yes">PCH Scan</property>
<property name="use_underline">True</property>
- <property name="icon_name">dialog-password</property>
- <signal name="clicked" handler="_on_encryption_clicked" swapped="no"/>
+ <property name="icon_name">mail-mark-unread</property>
+ <signal name="clicked" handler="_on_pch_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
@@ -1206,6 +1080,206 @@ CSV
</object>
</child>
</object>
+ <object class="GtkDialog" id="pch_window">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="type">popup</property>
+ <property name="modal">True</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <property name="transient_for">main_window</property>
+ <property name="has_resize_grip">False</property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox9">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area9">
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkButton" id="btn_pch_close">
+ <property name="label" translatable="yes">Close</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <signal name="clicked" handler="_on_pch_close_clicked" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vBox2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="label231">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">
+PCH Scan Parameters
+</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hBox5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="label10">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">ARFCNs: </property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="te_pch_arfcns">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hBox6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="label11">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Timeout: </property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="te_pch_timeout">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label8">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="btn_pch_scan">
+ <property name="label" translatable="yes">Scan</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <signal name="clicked" handler="_on_pch_scan_clicked" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label9">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="lbl_pch_result">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Result:</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">6</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="0">btn_pch_close</action-widget>
+ </action-widgets>
+ </object>
<object class="GtkDialog" id="rules_window">
<property name="can_focus">False</property>
<property name="border_width">5</property>
@@ -1256,6 +1330,23 @@ CSV
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
+ <object class="GtkLabel" id="label14">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">
+Configuration Rules
+</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkCheckButton" id="cb_provider_known">
<property name="label" translatable="yes">Provider Known</property>
<property name="visible">True</property>
@@ -1269,7 +1360,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">0</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
@@ -1286,7 +1377,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
<child>
@@ -1303,7 +1394,7 @@ CSV
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">2</property>
+ <property name="position">3</property>
</packing>
</child>
<child>
@@ -1320,7 +1411,7 @@ CSV
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">3</property>
+ <property name="position">4</property>
</packing>
</child>
<child>
@@ -1337,7 +1428,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">4</property>
+ <property name="position">5</property>
</packing>
</child>
<child>
@@ -1354,7 +1445,7 @@ CSV
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">5</property>
+ <property name="position">6</property>
</packing>
</child>
<child>
@@ -1371,7 +1462,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">6</property>
+ <property name="position">7</property>
</packing>
</child>
<child>
@@ -1387,7 +1478,7 @@ CSV
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">7</property>
+ <property name="position">8</property>
</packing>
</child>
<child>
@@ -1404,7 +1495,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">8</property>
+ <property name="position">9</property>
</packing>
</child>
<child>
@@ -1415,7 +1506,24 @@ CSV
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">9</property>
+ <property name="position">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label13">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">
+Database Rules
+</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">11</property>
</packing>
</child>
<child>
@@ -1431,7 +1539,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">10</property>
+ <property name="position">12</property>
</packing>
</child>
<child>
@@ -1447,7 +1555,7 @@ CSV
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">11</property>
+ <property name="position">13</property>
</packing>
</child>
<child>
@@ -1458,7 +1566,24 @@ CSV
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">12</property>
+ <property name="position">14</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label12">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">
+Scan Rules
+</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">15</property>
</packing>
</child>
<child>
@@ -1475,7 +1600,7 @@ CSV
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">13</property>
+ <property name="position">16</property>
</packing>
</child>
<child>
@@ -1492,7 +1617,7 @@ CSV
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">14</property>
+ <property name="position">17</property>
</packing>
</child>
</object>
@@ -1512,36 +1637,27 @@ CSV
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="type">popup</property>
+ <property name="modal">True</property>
<property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
<property name="type_hint">dialog</property>
<property name="transient_for">main_window</property>
<property name="has_resize_grip">False</property>
+ <signal name="delete-event" handler="_on_user_close_clicked" swapped="no"/>
<child internal-child="vbox">
- <object class="GtkBox" id="dialog-vbox8">
+ <object class="GtkBox" id="dialog-vbox10">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
- <object class="GtkButtonBox" id="dialog-action_area8">
+ <object class="GtkButtonBox" id="dialog-action_area10">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
- <object class="GtkButton" id="btn_do_it">
- <property name="label" translatable="yes">Go!</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <signal name="clicked" handler="_on_go_clicked" swapped="no"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
+ <placeholder/>
</child>
<child>
- <object class="GtkButton" id="btn_user_close">
+ <object class="GtkButton" id="btn_pch_close1">
<property name="label" translatable="yes">Close</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -1564,26 +1680,55 @@ CSV
</packing>
</child>
<child>
- <object class="GtkVBox" id="box6">
+ <object class="GtkVBox" id="vBox3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <object class="GtkLabel" id="label8">
+ <object class="GtkLabel" id="label17">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Insert provider in the field below and press go:</property>
+ <property name="label" translatable="yes">
+User Mode
+</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
</object>
<packing>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkEntry" id="te_user_provider">
+ <object class="GtkHBox" id="hBox4">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">•</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="label18">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Provider: </property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="te_user_provider">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
@@ -1592,15 +1737,52 @@ CSV
</packing>
</child>
<child>
+ <object class="GtkLabel" id="label20">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="btn_user_evaluate">
+ <property name="label" translatable="yes">Evaluate</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <signal name="clicked" handler="_on_user_evaluate_clicked" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label21">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkImage" id="img_user">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-missing-image</property>
</object>
<packing>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">2</property>
+ <property name="position">5</property>
</packing>
</child>
</object>
@@ -1613,8 +1795,7 @@ CSV
</object>
</child>
<action-widgets>
- <action-widget response="0">btn_do_it</action-widget>
- <action-widget response="-1">btn_user_close</action-widget>
+ <action-widget response="0">btn_pch_close1</action-widget>
</action-widgets>
</object>
</interface>
diff --git a/Src/PyCatcher/Scans/LTE/home_1.cpf b/Src/PyCatcher/Scans/LTE/home_1.cpf
new file mode 100644
index 0000000..ab419af
--- /dev/null
+++ b/Src/PyCatcher/Scans/LTE/home_1.cpf
@@ -0,0 +1,11116 @@
+(ipyCatcherModel
+BaseStationInformationList
+p0
+(dp1
+S'_base_station_list'
+p2
+(lp3
+(ipyCatcherModel
+BaseStationInformation
+p4
+(dp5
+S'system_info_t2ter'
+p6
+(lp7
+sS'evaluation_report'
+p8
+(dp9
+S'Decision founded on'
+p10
+S'None'
+p11
+ssS'rules_report'
+p12
+(dp13
+S'Country Provider Mapping'
+p14
+S'Ok'
+p15
+sS'rx Change Rule'
+p16
+S'Ignore'
+p17
+sS'Unique CellID'
+p18
+g15
+sS'LAC Median Deviation'
+p19
+g15
+sS'LAC Change Rule'
+p20
+g17
+sS'LAC Mapping'
+p21
+g15
+sS'Neighbourhood Structure'
+p22
+g15
+sS'ARFCN Mapping'
+p23
+g15
+sS'Pure Neighbourhoods'
+p24
+g15
+sS'Provider Check'
+p25
+g15
+ssS'cell'
+p26
+I21791
+sS'neighbours'
+p27
+(lp28
+I1
+aI3
+aI6
+aI55
+aI60
+aI65
+aI70
+aI75
+aI107
+aI111
+aI113
+aI115
+aI119
+asS'rxlev'
+p29
+I-77
+sS'provider'
+p30
+S'Vodafone'
+p31
+sS'latitude'
+p32
+I0
+sS'db_status'
+p33
+S'Not looked up'
+p34
+sS'evaluation'
+p35
+g15
+sS'arfcn'
+p36
+I62
+sS'evaluation_by'
+p37
+S'Conservative Evaluator'
+p38
+sS'discovery_time'
+p39
+S'15:00:52'
+p40
+sS'lac'
+p41
+I793
+sS'db_provider'
+p42
+g11
+sS'bsic'
+p43
+S'7,4'
+p44
+sS'system_info_t2bis'
+p45
+(lp46
+sS'system_info_t4'
+p47
+(lp48
+S''
+p49
+aS'31'
+p50
+aS'06'
+p51
+aS'1c'
+p52
+aS'62'
+p53
+aS'f2'
+p54
+aS'20'
+p55
+aS'03'
+p56
+aS'19'
+p57
+aS'65'
+p58
+aS'04'
+p59
+aS'b9'
+p60
+aS'00'
+p61
+aS'00'
+p62
+aS'80'
+p63
+aS'1f'
+p64
+aS'4b'
+p65
+aS'2b'
+p66
+aS'2b'
+p67
+aS'2b'
+p68
+aS'2b'
+p69
+aS'2b'
+p70
+aS'2b'
+p71
+aS'2b'
+p72
+asS'system_info_t3'
+p73
+(lp74
+g49
+aS'49'
+p75
+aS'06'
+p76
+aS'1b'
+p77
+aS'55'
+p78
+aS'1f'
+p79
+aS'62'
+p80
+aS'f2'
+p81
+aS'20'
+p82
+aS'03'
+p83
+aS'19'
+p84
+aS'c8'
+p85
+aS'04'
+p86
+aS'0a'
+p87
+aS'15'
+p88
+aS'65'
+p89
+aS'04'
+p90
+aS'b9'
+p91
+aS'00'
+p92
+aS'00'
+p93
+aS'80'
+p94
+aS'1f'
+p95
+aS'01'
+p96
+aS'1b'
+p97
+asS'system_info_t2'
+p98
+(lp99
+g49
+aS'59'
+p100
+aS'06'
+p101
+aS'1a'
+p102
+aS'10'
+p103
+aS'45'
+p104
+aS'44'
+p105
+aS'00'
+p106
+aS'00'
+p107
+aS'00'
+p108
+aS'04'
+p109
+aS'21'
+p110
+aS'08'
+p111
+aS'40'
+p112
+aS'00'
+p113
+aS'00'
+p114
+aS'00'
+p115
+aS'00'
+p116
+aS'00'
+p117
+aS'25'
+p118
+aS'88'
+p119
+aS'b9'
+p120
+aS'00'
+p121
+aS'00'
+p122
+asS'system_info_t1'
+p123
+(lp124
+g49
+aS'55'
+p125
+aS'06'
+p126
+aS'19'
+p127
+aS'00'
+p128
+aS'00'
+p129
+aS'00'
+p130
+aS'00'
+p131
+aS'00'
+p132
+aS'00'
+p133
+aS'0a'
+p134
+aS'00'
+p135
+aS'80'
+p136
+aS'00'
+p137
+aS'00'
+p138
+aS'00'
+p139
+aS'00'
+p140
+aS'00'
+p141
+aS'00'
+p142
+aS'00'
+p143
+aS'b9'
+p144
+aS'00'
+p145
+aS'00'
+p146
+aS'83'
+p147
+asS'country'
+p148
+S'Germany'
+p149
+sS'longitude'
+p150
+I0
+sS'found'
+p151
+I01
+sS'times_scanned'
+p152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p153
+(dp154
+g6
+(lp155
+g49
+aS'01'
+p156
+aS'06'
+p157
+aS'03'
+p158
+aS'cf'
+p159
+aS'6c'
+p160
+aS'80'
+p161
+aS'00'
+p162
+aS'00'
+p163
+aS'00'
+p164
+aS'00'
+p165
+aS'00'
+p166
+aS'00'
+p167
+aS'00'
+p168
+aS'00'
+p169
+aS'00'
+p170
+aS'00'
+p171
+aS'00'
+p172
+aS'00'
+p173
+aS'00'
+p174
+aS'2b'
+p175
+aS'2b'
+p176
+aS'2b'
+p177
+aS'2b'
+p178
+asg8
+(dp179
+g10
+g11
+ssg12
+(dp180
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I45351
+sg27
+(lp181
+I1
+aI3
+aI6
+aI57
+aI60
+aI62
+aI65
+aI70
+aI73
+aI77
+aI107
+aI115
+aI121
+aI729
+asg29
+I-83
+sg30
+S'Vodafone'
+p182
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I55
+sg37
+g38
+sg39
+S'15:00:55'
+p183
+sg41
+I793
+sg42
+g11
+sg43
+S'7,5'
+p184
+sg45
+(lp185
+sg47
+(lp186
+g49
+aS'31'
+p187
+aS'06'
+p188
+aS'1c'
+p189
+aS'62'
+p190
+aS'f2'
+p191
+aS'20'
+p192
+aS'03'
+p193
+aS'19'
+p194
+aS'65'
+p195
+aS'04'
+p196
+aS'b9'
+p197
+aS'00'
+p198
+aS'00'
+p199
+aS'80'
+p200
+aS'1f'
+p201
+aS'4b'
+p202
+aS'2b'
+p203
+aS'2b'
+p204
+aS'2b'
+p205
+aS'2b'
+p206
+aS'2b'
+p207
+aS'2b'
+p208
+aS'2b'
+p209
+asg73
+(lp210
+g49
+aS'49'
+p211
+aS'06'
+p212
+aS'1b'
+p213
+aS'b1'
+p214
+aS'27'
+p215
+aS'62'
+p216
+aS'f2'
+p217
+aS'20'
+p218
+aS'03'
+p219
+aS'19'
+p220
+aS'c8'
+p221
+aS'04'
+p222
+aS'0a'
+p223
+aS'15'
+p224
+aS'65'
+p225
+aS'04'
+p226
+aS'b9'
+p227
+aS'00'
+p228
+aS'00'
+p229
+aS'80'
+p230
+aS'1f'
+p231
+aS'41'
+p232
+aS'1b'
+p233
+asg98
+(lp234
+g49
+aS'59'
+p235
+aS'06'
+p236
+aS'1a'
+p237
+aS'01'
+p238
+aS'04'
+p239
+aS'04'
+p240
+aS'00'
+p241
+aS'00'
+p242
+aS'00'
+p243
+aS'11'
+p244
+aS'21'
+p245
+aS'29'
+p246
+aS'00'
+p247
+aS'00'
+p248
+aS'00'
+p249
+aS'00'
+p250
+aS'00'
+p251
+aS'00'
+p252
+aS'25'
+p253
+aS'88'
+p254
+aS'b9'
+p255
+aS'00'
+p256
+aS'00'
+p257
+asg123
+(lp258
+g49
+aS'55'
+p259
+aS'06'
+p260
+aS'19'
+p261
+aS'00'
+p262
+aS'00'
+p263
+aS'00'
+p264
+aS'00'
+p265
+aS'00'
+p266
+aS'00'
+p267
+aS'25'
+p268
+aS'54'
+p269
+aS'00'
+p270
+aS'00'
+p271
+aS'00'
+p272
+aS'00'
+p273
+aS'00'
+p274
+aS'00'
+p275
+aS'00'
+p276
+aS'00'
+p277
+aS'b9'
+p278
+aS'00'
+p279
+aS'00'
+p280
+aS'83'
+p281
+asg148
+S'Germany'
+p282
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p283
+(dp284
+g6
+(lp285
+sg8
+(dp286
+g10
+g23
+ssg12
+(dp287
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+S'Critical'
+p288
+sg24
+g15
+sg25
+g15
+ssg26
+I6321
+sg27
+(lp289
+I17
+aI19
+aI21
+aI84
+aI89
+aI93
+aI96
+aI97
+aI124
+asg29
+I-89
+sg30
+S'T-Mobile'
+p290
+sg32
+I0
+sg33
+g34
+sg35
+g288
+sg36
+I49
+sg37
+g38
+sg39
+S'15:00:59'
+p291
+sg41
+I21014
+sg42
+g11
+sg43
+S'7,0'
+p292
+sg45
+(lp293
+sg47
+(lp294
+g49
+aS'31'
+p295
+aS'06'
+p296
+aS'1c'
+p297
+aS'62'
+p298
+aS'f2'
+p299
+aS'10'
+p300
+aS'52'
+p301
+aS'16'
+p302
+aS'65'
+p303
+aS'04'
+p304
+aS'a5'
+p305
+aS'00'
+p306
+aS'00'
+p307
+aS'1d'
+p308
+aS'2b'
+p309
+aS'2b'
+p310
+aS'2b'
+p311
+aS'2b'
+p312
+aS'2b'
+p313
+aS'2b'
+p314
+aS'2b'
+p315
+aS'2b'
+p316
+aS'2b'
+p317
+asg73
+(lp318
+g49
+aS'49'
+p319
+aS'06'
+p320
+aS'1b'
+p321
+aS'18'
+p322
+aS'b1'
+p323
+aS'62'
+p324
+aS'f2'
+p325
+aS'10'
+p326
+aS'52'
+p327
+aS'16'
+p328
+aS'd8'
+p329
+aS'04'
+p330
+aS'1e'
+p331
+aS'58'
+p332
+aS'65'
+p333
+aS'04'
+p334
+aS'a5'
+p335
+aS'00'
+p336
+aS'00'
+p337
+aS'3f'
+p338
+aS'b3'
+p339
+aS'2b'
+p340
+aS'2b'
+p341
+asg98
+(lp342
+g49
+aS'59'
+p343
+aS'06'
+p344
+aS'1a'
+p345
+aS'08'
+p346
+aS'00'
+p347
+aS'00'
+p348
+aS'01'
+p349
+aS'91'
+p350
+aS'08'
+p351
+aS'00'
+p352
+aS'00'
+p353
+aS'00'
+p354
+aS'01'
+p355
+aS'00'
+p356
+aS'00'
+p357
+aS'00'
+p358
+aS'15'
+p359
+aS'00'
+p360
+aS'00'
+p361
+aS'88'
+p362
+aS'a5'
+p363
+aS'00'
+p364
+aS'00'
+p365
+asg123
+(lp366
+g49
+aS'55'
+p367
+aS'06'
+p368
+aS'19'
+p369
+aS'00'
+p370
+aS'00'
+p371
+aS'00'
+p372
+aS'00'
+p373
+aS'00'
+p374
+aS'20'
+p375
+aS'00'
+p376
+aS'00'
+p377
+aS'00'
+p378
+aS'01'
+p379
+aS'00'
+p380
+aS'00'
+p381
+aS'00'
+p382
+aS'00'
+p383
+aS'00'
+p384
+aS'00'
+p385
+aS'a5'
+p386
+aS'00'
+p387
+aS'00'
+p388
+aS'2b'
+p389
+asg148
+S'Germany'
+p390
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p391
+(dp392
+g6
+(lp393
+g49
+aS'01'
+p394
+aS'06'
+p395
+aS'03'
+p396
+aS'df'
+p397
+aS'6a'
+p398
+aS'8a'
+p399
+aS'00'
+p400
+aS'00'
+p401
+aS'00'
+p402
+aS'00'
+p403
+aS'00'
+p404
+aS'00'
+p405
+aS'00'
+p406
+aS'00'
+p407
+aS'00'
+p408
+aS'00'
+p409
+aS'00'
+p410
+aS'00'
+p411
+aS'00'
+p412
+aS'2b'
+p413
+aS'2b'
+p414
+aS'2b'
+p415
+aS'2b'
+p416
+asg8
+(dp417
+g10
+g11
+ssg12
+(dp418
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I45352
+sg27
+(lp419
+I1
+aI6
+aI55
+aI62
+aI65
+aI70
+aI75
+aI111
+aI113
+aI119
+aI725
+aI729
+aI731
+asg29
+I-87
+sg30
+S'Vodafone'
+p420
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I3
+sg37
+g38
+sg39
+S'15:01:03'
+p421
+sg41
+I793
+sg42
+g11
+sg43
+S'7,3'
+p422
+sg45
+(lp423
+sg47
+(lp424
+g49
+aS'31'
+p425
+aS'06'
+p426
+aS'1c'
+p427
+aS'62'
+p428
+aS'f2'
+p429
+aS'20'
+p430
+aS'03'
+p431
+aS'19'
+p432
+aS'65'
+p433
+aS'04'
+p434
+aS'b9'
+p435
+aS'00'
+p436
+aS'00'
+p437
+aS'80'
+p438
+aS'1f'
+p439
+aS'4b'
+p440
+aS'2b'
+p441
+aS'2b'
+p442
+aS'2b'
+p443
+aS'2b'
+p444
+aS'2b'
+p445
+aS'2b'
+p446
+aS'2b'
+p447
+asg73
+(lp448
+g49
+aS'49'
+p449
+aS'06'
+p450
+aS'1b'
+p451
+aS'b1'
+p452
+aS'28'
+p453
+aS'62'
+p454
+aS'f2'
+p455
+aS'20'
+p456
+aS'03'
+p457
+aS'19'
+p458
+aS'c8'
+p459
+aS'04'
+p460
+aS'0a'
+p461
+aS'15'
+p462
+aS'65'
+p463
+aS'04'
+p464
+aS'b9'
+p465
+aS'00'
+p466
+aS'00'
+p467
+aS'80'
+p468
+aS'1f'
+p469
+aS'41'
+p470
+aS'1b'
+p471
+asg98
+(lp472
+g49
+aS'59'
+p473
+aS'06'
+p474
+aS'1a'
+p475
+aS'10'
+p476
+aS'41'
+p477
+aS'40'
+p478
+aS'00'
+p479
+aS'00'
+p480
+aS'00'
+p481
+aS'04'
+p482
+aS'21'
+p483
+aS'20'
+p484
+aS'40'
+p485
+aS'00'
+p486
+aS'00'
+p487
+aS'00'
+p488
+aS'00'
+p489
+aS'00'
+p490
+aS'21'
+p491
+aS'88'
+p492
+aS'b9'
+p493
+aS'00'
+p494
+aS'00'
+p495
+asg123
+(lp496
+g49
+aS'55'
+p497
+aS'06'
+p498
+aS'19'
+p499
+aS'00'
+p500
+aS'00'
+p501
+aS'04'
+p502
+aS'00'
+p503
+aS'00'
+p504
+aS'00'
+p505
+aS'00'
+p506
+aS'08'
+p507
+aS'40'
+p508
+aS'00'
+p509
+aS'00'
+p510
+aS'00'
+p511
+aS'00'
+p512
+aS'00'
+p513
+aS'04'
+p514
+aS'00'
+p515
+aS'b9'
+p516
+aS'00'
+p517
+aS'00'
+p518
+aS'83'
+p519
+asg148
+S'Germany'
+p520
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p521
+(dp522
+g6
+(lp523
+g49
+aS'01'
+p524
+aS'06'
+p525
+aS'03'
+p526
+aS'df'
+p527
+aS'6a'
+p528
+aS'82'
+p529
+aS'00'
+p530
+aS'00'
+p531
+aS'00'
+p532
+aS'00'
+p533
+aS'00'
+p534
+aS'00'
+p535
+aS'00'
+p536
+aS'00'
+p537
+aS'00'
+p538
+aS'00'
+p539
+aS'00'
+p540
+aS'00'
+p541
+aS'00'
+p542
+aS'2b'
+p543
+aS'2b'
+p544
+aS'2b'
+p545
+aS'2b'
+p546
+asg8
+(dp547
+g10
+g11
+ssg12
+(dp548
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I21781
+sg27
+(lp549
+I1
+aI3
+aI6
+aI62
+aI65
+aI66
+aI75
+aI79
+aI107
+aI108
+aI111
+aI113
+aI725
+aI731
+asg29
+I-91
+sg30
+S'Vodafone'
+p550
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I119
+sg37
+g38
+sg39
+S'15:01:23'
+p551
+sg41
+I793
+sg42
+g11
+sg43
+S'3,2'
+p552
+sg45
+(lp553
+sg47
+(lp554
+g49
+aS'31'
+p555
+aS'06'
+p556
+aS'1c'
+p557
+aS'62'
+p558
+aS'f2'
+p559
+aS'20'
+p560
+aS'03'
+p561
+aS'19'
+p562
+aS'65'
+p563
+aS'04'
+p564
+aS'b9'
+p565
+aS'00'
+p566
+aS'00'
+p567
+aS'80'
+p568
+aS'1f'
+p569
+aS'4b'
+p570
+aS'2b'
+p571
+aS'2b'
+p572
+aS'2b'
+p573
+aS'2b'
+p574
+aS'2b'
+p575
+aS'2b'
+p576
+aS'2b'
+p577
+asg73
+(lp578
+g49
+aS'49'
+p579
+aS'06'
+p580
+aS'1b'
+p581
+aS'55'
+p582
+aS'15'
+p583
+aS'62'
+p584
+aS'f2'
+p585
+aS'20'
+p586
+aS'03'
+p587
+aS'19'
+p588
+aS'c8'
+p589
+aS'04'
+p590
+aS'0a'
+p591
+aS'15'
+p592
+aS'65'
+p593
+aS'04'
+p594
+aS'b9'
+p595
+aS'00'
+p596
+aS'00'
+p597
+aS'80'
+p598
+aS'1f'
+p599
+aS'41'
+p600
+aS'1b'
+p601
+asg98
+(lp602
+g49
+aS'59'
+p603
+aS'06'
+p604
+aS'1a'
+p605
+aS'10'
+p606
+aS'01'
+p607
+aS'4c'
+p608
+aS'00'
+p609
+aS'00'
+p610
+aS'00'
+p611
+aS'44'
+p612
+aS'03'
+p613
+aS'20'
+p614
+aS'00'
+p615
+aS'00'
+p616
+aS'00'
+p617
+aS'00'
+p618
+aS'00'
+p619
+aS'00'
+p620
+aS'25'
+p621
+aS'88'
+p622
+aS'b9'
+p623
+aS'00'
+p624
+aS'00'
+p625
+asg123
+(lp626
+g49
+aS'55'
+p627
+aS'06'
+p628
+aS'19'
+p629
+aS'00'
+p630
+aS'12'
+p631
+aS'90'
+p632
+aS'00'
+p633
+aS'00'
+p634
+aS'00'
+p635
+aS'00'
+p636
+aS'00'
+p637
+aS'00'
+p638
+aS'00'
+p639
+aS'00'
+p640
+aS'00'
+p641
+aS'00'
+p642
+aS'00'
+p643
+aS'00'
+p644
+aS'00'
+p645
+aS'b9'
+p646
+aS'00'
+p647
+aS'00'
+p648
+aS'83'
+p649
+asg148
+S'Germany'
+p650
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p651
+(dp652
+g6
+(lp653
+sg8
+(dp654
+g10
+g11
+ssg12
+(dp655
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I47560
+sg27
+(lp656
+I17
+aI18
+aI21
+aI29
+aI31
+aI36
+aI97
+aI98
+asg29
+I-87
+sg30
+S'T-Mobile'
+p657
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I100
+sg37
+g38
+sg39
+S'15:01:07'
+p658
+sg41
+I21014
+sg42
+g11
+sg43
+S'7,5'
+p659
+sg45
+(lp660
+sg47
+(lp661
+g49
+aS'31'
+p662
+aS'06'
+p663
+aS'1c'
+p664
+aS'62'
+p665
+aS'f2'
+p666
+aS'10'
+p667
+aS'52'
+p668
+aS'16'
+p669
+aS'65'
+p670
+aS'04'
+p671
+aS'a5'
+p672
+aS'00'
+p673
+aS'00'
+p674
+aS'1d'
+p675
+aS'2b'
+p676
+aS'2b'
+p677
+aS'2b'
+p678
+aS'2b'
+p679
+aS'2b'
+p680
+aS'2b'
+p681
+aS'2b'
+p682
+aS'2b'
+p683
+aS'2b'
+p684
+asg73
+(lp685
+g49
+aS'49'
+p686
+aS'06'
+p687
+aS'1b'
+p688
+aS'b9'
+p689
+aS'c8'
+p690
+aS'62'
+p691
+aS'f2'
+p692
+aS'10'
+p693
+aS'52'
+p694
+aS'16'
+p695
+aS'd8'
+p696
+aS'04'
+p697
+aS'1e'
+p698
+aS'58'
+p699
+aS'65'
+p700
+aS'04'
+p701
+aS'a5'
+p702
+aS'00'
+p703
+aS'00'
+p704
+aS'3f'
+p705
+aS'b3'
+p706
+aS'2b'
+p707
+aS'2b'
+p708
+asg98
+(lp709
+g49
+aS'59'
+p710
+aS'06'
+p711
+aS'1a'
+p712
+aS'00'
+p713
+aS'00'
+p714
+aS'00'
+p715
+aS'0b'
+p716
+aS'00'
+p717
+aS'00'
+p718
+aS'00'
+p719
+aS'00'
+p720
+aS'00'
+p721
+aS'00'
+p722
+aS'00'
+p723
+aS'08'
+p724
+aS'50'
+p725
+aS'13'
+p726
+aS'00'
+p727
+aS'00'
+p728
+aS'88'
+p729
+aS'a5'
+p730
+aS'00'
+p731
+aS'00'
+p732
+asg123
+(lp733
+g49
+aS'55'
+p734
+aS'06'
+p735
+aS'19'
+p736
+aS'08'
+p737
+aS'00'
+p738
+aS'00'
+p739
+aS'08'
+p740
+aS'02'
+p741
+aS'00'
+p742
+aS'00'
+p743
+aS'00'
+p744
+aS'00'
+p745
+aS'00'
+p746
+aS'00'
+p747
+aS'00'
+p748
+aS'00'
+p749
+aS'00'
+p750
+aS'00'
+p751
+aS'00'
+p752
+aS'a5'
+p753
+aS'00'
+p754
+aS'00'
+p755
+aS'2b'
+p756
+asg148
+S'Germany'
+p757
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p758
+(dp759
+g6
+(lp760
+sg8
+(dp761
+g10
+g11
+ssg12
+(dp762
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I29808
+sg27
+(lp763
+I17
+aI18
+aI31
+aI44
+aI98
+aI100
+asg29
+I-91
+sg30
+S'T-Mobile'
+p764
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I36
+sg37
+g38
+sg39
+S'15:01:16'
+p765
+sg41
+I21014
+sg42
+g11
+sg43
+S'3,6'
+p766
+sg45
+(lp767
+sg47
+(lp768
+g49
+aS'31'
+p769
+aS'06'
+p770
+aS'1c'
+p771
+aS'62'
+p772
+aS'f2'
+p773
+aS'10'
+p774
+aS'52'
+p775
+aS'16'
+p776
+aS'65'
+p777
+aS'04'
+p778
+aS'a5'
+p779
+aS'00'
+p780
+aS'00'
+p781
+aS'1d'
+p782
+aS'2b'
+p783
+aS'2b'
+p784
+aS'2b'
+p785
+aS'2b'
+p786
+aS'2b'
+p787
+aS'2b'
+p788
+aS'2b'
+p789
+aS'2b'
+p790
+aS'2b'
+p791
+asg73
+(lp792
+g49
+aS'49'
+p793
+aS'06'
+p794
+aS'1b'
+p795
+aS'74'
+p796
+aS'70'
+p797
+aS'62'
+p798
+aS'f2'
+p799
+aS'10'
+p800
+aS'52'
+p801
+aS'16'
+p802
+aS'd8'
+p803
+aS'04'
+p804
+aS'1e'
+p805
+aS'58'
+p806
+aS'65'
+p807
+aS'04'
+p808
+aS'a5'
+p809
+aS'00'
+p810
+aS'00'
+p811
+aS'3f'
+p812
+aS'b3'
+p813
+aS'2b'
+p814
+aS'2b'
+p815
+asg98
+(lp816
+g49
+aS'59'
+p817
+aS'06'
+p818
+aS'1a'
+p819
+aS'10'
+p820
+aS'00'
+p821
+aS'00'
+p822
+aS'0a'
+p823
+aS'00'
+p824
+aS'00'
+p825
+aS'00'
+p826
+aS'00'
+p827
+aS'00'
+p828
+aS'00'
+p829
+aS'08'
+p830
+aS'08'
+p831
+aS'40'
+p832
+aS'03'
+p833
+aS'00'
+p834
+aS'00'
+p835
+aS'88'
+p836
+aS'a5'
+p837
+aS'00'
+p838
+aS'00'
+p839
+asg123
+(lp840
+g49
+aS'55'
+p841
+aS'06'
+p842
+aS'19'
+p843
+aS'00'
+p844
+aS'00'
+p845
+aS'00'
+p846
+aS'00'
+p847
+aS'00'
+p848
+aS'00'
+p849
+aS'00'
+p850
+aS'00'
+p851
+aS'00'
+p852
+aS'00'
+p853
+aS'00'
+p854
+aS'08'
+p855
+aS'00'
+p856
+aS'08'
+p857
+aS'00'
+p858
+aS'00'
+p859
+aS'a5'
+p860
+aS'00'
+p861
+aS'00'
+p862
+aS'2b'
+p863
+asg148
+S'Germany'
+p864
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p865
+(dp866
+g6
+(lp867
+g49
+aS'01'
+p868
+aS'06'
+p869
+aS'03'
+p870
+aS'df'
+p871
+aS'91'
+p872
+aS'49'
+p873
+aS'20'
+p874
+aS'2d'
+p875
+aS'20'
+p876
+aS'00'
+p877
+aS'00'
+p878
+aS'00'
+p879
+aS'00'
+p880
+aS'00'
+p881
+aS'00'
+p882
+aS'00'
+p883
+aS'00'
+p884
+aS'00'
+p885
+aS'00'
+p886
+aS'2b'
+p887
+aS'2b'
+p888
+aS'2b'
+p889
+aS'2b'
+p890
+asg8
+(dp891
+g10
+g11
+ssg12
+(dp892
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I55258
+sg27
+(lp893
+I802
+aI803
+aI806
+aI809
+aI812
+aI820
+aI822
+aI823
+aI825
+aI828
+aI977
+aI986
+aI997
+asg29
+I-89
+sg30
+S'E-Plus'
+p894
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I990
+sg37
+g38
+sg39
+S'15:02:37'
+p895
+sg41
+I588
+sg42
+g11
+sg43
+S'3,7'
+p896
+sg45
+(lp897
+sg47
+(lp898
+g49
+aS'31'
+p899
+aS'06'
+p900
+aS'1c'
+p901
+aS'62'
+p902
+aS'f2'
+p903
+aS'30'
+p904
+aS'02'
+p905
+aS'4c'
+p906
+aS'65'
+p907
+aS'03'
+p908
+aS'94'
+p909
+aS'00'
+p910
+aS'00'
+p911
+aS'89'
+p912
+aS'1f'
+p913
+aS'43'
+p914
+aS'2b'
+p915
+aS'2b'
+p916
+aS'2b'
+p917
+aS'2b'
+p918
+aS'2b'
+p919
+aS'2b'
+p920
+aS'2b'
+p921
+asg73
+(lp922
+g49
+aS'49'
+p923
+aS'06'
+p924
+aS'1b'
+p925
+aS'd7'
+p926
+aS'da'
+p927
+aS'62'
+p928
+aS'f2'
+p929
+aS'30'
+p930
+aS'02'
+p931
+aS'4c'
+p932
+aS'c9'
+p933
+aS'05'
+p934
+aS'78'
+p935
+aS'46'
+p936
+aS'65'
+p937
+aS'03'
+p938
+aS'94'
+p939
+aS'00'
+p940
+aS'00'
+p941
+aS'89'
+p942
+aS'1f'
+p943
+aS'40'
+p944
+aS'4b'
+p945
+asg98
+(lp946
+g49
+aS'59'
+p947
+aS'06'
+p948
+aS'1a'
+p949
+aS'9b'
+p950
+aS'e8'
+p951
+aS'86'
+p952
+aS'fc'
+p953
+aS'0e'
+p954
+aS'00'
+p955
+aS'00'
+p956
+aS'00'
+p957
+aS'00'
+p958
+aS'00'
+p959
+aS'00'
+p960
+aS'00'
+p961
+aS'00'
+p962
+aS'00'
+p963
+aS'00'
+p964
+aS'00'
+p965
+aS'08'
+p966
+aS'94'
+p967
+aS'00'
+p968
+aS'00'
+p969
+asg123
+(lp970
+g49
+aS'55'
+p971
+aS'06'
+p972
+aS'19'
+p973
+aS'8f'
+p974
+aS'ef'
+p975
+aS'00'
+p976
+aS'00'
+p977
+aS'00'
+p978
+aS'00'
+p979
+aS'00'
+p980
+aS'00'
+p981
+aS'00'
+p982
+aS'00'
+p983
+aS'00'
+p984
+aS'00'
+p985
+aS'00'
+p986
+aS'00'
+p987
+aS'00'
+p988
+aS'00'
+p989
+aS'94'
+p990
+aS'00'
+p991
+aS'00'
+p992
+aS'2b'
+p993
+asg148
+S'Germany'
+p994
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p995
+(dp996
+g6
+(lp997
+g49
+aS'01'
+p998
+aS'06'
+p999
+aS'03'
+p1000
+aS'df'
+p1001
+aS'8f'
+p1002
+aS'06'
+p1003
+aS'a0'
+p1004
+aS'87'
+p1005
+aS'64'
+p1006
+aS'00'
+p1007
+aS'00'
+p1008
+aS'00'
+p1009
+aS'00'
+p1010
+aS'00'
+p1011
+aS'00'
+p1012
+aS'00'
+p1013
+aS'00'
+p1014
+aS'00'
+p1015
+aS'00'
+p1016
+aS'2b'
+p1017
+aS'2b'
+p1018
+aS'2b'
+p1019
+aS'2b'
+p1020
+asg8
+(dp1021
+g10
+g11
+ssg12
+(dp1022
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I44373
+sg27
+(lp1023
+I798
+aI803
+aI804
+aI806
+aI808
+aI814
+aI819
+aI820
+aI821
+aI823
+aI824
+aI827
+aI979
+aI982
+aI984
+aI985
+aI987
+aI993
+aI996
+asg29
+I-95
+sg30
+S'E-Plus'
+p1024
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I988
+sg37
+g38
+sg39
+S'15:00:10'
+p1025
+sg41
+I588
+sg42
+g11
+sg43
+S'3,3'
+p1026
+sg45
+(lp1027
+sg47
+(lp1028
+g49
+aS'31'
+p1029
+aS'06'
+p1030
+aS'1c'
+p1031
+aS'62'
+p1032
+aS'f2'
+p1033
+aS'30'
+p1034
+aS'02'
+p1035
+aS'4c'
+p1036
+aS'65'
+p1037
+aS'03'
+p1038
+aS'94'
+p1039
+aS'00'
+p1040
+aS'00'
+p1041
+aS'89'
+p1042
+aS'1f'
+p1043
+aS'43'
+p1044
+aS'2b'
+p1045
+aS'2b'
+p1046
+aS'2b'
+p1047
+aS'2b'
+p1048
+aS'2b'
+p1049
+aS'2b'
+p1050
+aS'2b'
+p1051
+asg73
+(lp1052
+g49
+aS'49'
+p1053
+aS'06'
+p1054
+aS'1b'
+p1055
+aS'ad'
+p1056
+aS'55'
+p1057
+aS'62'
+p1058
+aS'f2'
+p1059
+aS'30'
+p1060
+aS'02'
+p1061
+aS'4c'
+p1062
+aS'c9'
+p1063
+aS'05'
+p1064
+aS'78'
+p1065
+aS'46'
+p1066
+aS'65'
+p1067
+aS'03'
+p1068
+aS'94'
+p1069
+aS'00'
+p1070
+aS'00'
+p1071
+aS'89'
+p1072
+aS'1f'
+p1073
+aS'40'
+p1074
+aS'4b'
+p1075
+asg98
+(lp1076
+g49
+aS'59'
+p1077
+aS'06'
+p1078
+aS'1a'
+p1079
+aS'9b'
+p1080
+aS'e9'
+p1081
+aS'84'
+p1082
+aS'7d'
+p1083
+aS'0d'
+p1084
+aS'f7'
+p1085
+aS'60'
+p1086
+aS'86'
+p1087
+aS'00'
+p1088
+aS'00'
+p1089
+aS'00'
+p1090
+aS'00'
+p1091
+aS'00'
+p1092
+aS'00'
+p1093
+aS'00'
+p1094
+aS'00'
+p1095
+aS'08'
+p1096
+aS'94'
+p1097
+aS'00'
+p1098
+aS'00'
+p1099
+asg123
+(lp1100
+g49
+aS'55'
+p1101
+aS'06'
+p1102
+aS'19'
+p1103
+aS'8f'
+p1104
+aS'ee'
+p1105
+aS'00'
+p1106
+aS'00'
+p1107
+aS'00'
+p1108
+aS'00'
+p1109
+aS'00'
+p1110
+aS'00'
+p1111
+aS'00'
+p1112
+aS'00'
+p1113
+aS'00'
+p1114
+aS'00'
+p1115
+aS'00'
+p1116
+aS'00'
+p1117
+aS'00'
+p1118
+aS'00'
+p1119
+aS'94'
+p1120
+aS'00'
+p1121
+aS'00'
+p1122
+aS'2b'
+p1123
+asg148
+S'Germany'
+p1124
+sg150
+I0
+sg151
+I01
+sg152
+I2
+sba(ipyCatcherModel
+BaseStationInformation
+p1125
+(dp1126
+g6
+(lp1127
+sg8
+(dp1128
+g10
+g11
+ssg12
+(dp1129
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I9601
+sg27
+(lp1130
+I6
+aI51
+aI52
+aI54
+aI55
+aI56
+aI57
+aI59
+aI60
+aI66
+aI70
+aI73
+aI76
+aI77
+aI117
+aI121
+asg29
+I-97
+sg30
+S'Vodafone'
+p1131
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I10
+sg37
+g38
+sg39
+S'15:01:28'
+p1132
+sg41
+I793
+sg42
+g11
+sg43
+S'3,4'
+p1133
+sg45
+(lp1134
+sg47
+(lp1135
+g49
+aS'31'
+p1136
+aS'06'
+p1137
+aS'1c'
+p1138
+aS'62'
+p1139
+aS'f2'
+p1140
+aS'20'
+p1141
+aS'03'
+p1142
+aS'19'
+p1143
+aS'65'
+p1144
+aS'04'
+p1145
+aS'b9'
+p1146
+aS'00'
+p1147
+aS'00'
+p1148
+aS'80'
+p1149
+aS'1f'
+p1150
+aS'4b'
+p1151
+aS'2b'
+p1152
+aS'2b'
+p1153
+aS'2b'
+p1154
+aS'2b'
+p1155
+aS'2b'
+p1156
+aS'2b'
+p1157
+aS'2b'
+p1158
+asg73
+(lp1159
+g49
+aS'49'
+p1160
+aS'06'
+p1161
+aS'1b'
+p1162
+aS'25'
+p1163
+aS'81'
+p1164
+aS'62'
+p1165
+aS'f2'
+p1166
+aS'20'
+p1167
+aS'03'
+p1168
+aS'19'
+p1169
+aS'c8'
+p1170
+aS'04'
+p1171
+aS'0a'
+p1172
+aS'15'
+p1173
+aS'65'
+p1174
+aS'04'
+p1175
+aS'b9'
+p1176
+aS'00'
+p1177
+aS'00'
+p1178
+aS'80'
+p1179
+aS'1f'
+p1180
+aS'01'
+p1181
+aS'1b'
+p1182
+asg98
+(lp1183
+g49
+aS'59'
+p1184
+aS'06'
+p1185
+aS'1a'
+p1186
+aS'01'
+p1187
+aS'10'
+p1188
+aS'00'
+p1189
+aS'00'
+p1190
+aS'00'
+p1191
+aS'00'
+p1192
+aS'19'
+p1193
+aS'22'
+p1194
+aS'0d'
+p1195
+aS'ec'
+p1196
+aS'00'
+p1197
+aS'00'
+p1198
+aS'00'
+p1199
+aS'00'
+p1200
+aS'00'
+p1201
+aS'20'
+p1202
+aS'c8'
+p1203
+aS'b9'
+p1204
+aS'00'
+p1205
+aS'00'
+p1206
+asg123
+(lp1207
+g49
+aS'55'
+p1208
+aS'06'
+p1209
+aS'19'
+p1210
+aS'00'
+p1211
+aS'41'
+p1212
+aS'02'
+p1213
+aS'00'
+p1214
+aS'00'
+p1215
+aS'00'
+p1216
+aS'00'
+p1217
+aS'00'
+p1218
+aS'00'
+p1219
+aS'00'
+p1220
+aS'00'
+p1221
+aS'00'
+p1222
+aS'00'
+p1223
+aS'00'
+p1224
+aS'02'
+p1225
+aS'00'
+p1226
+aS'b9'
+p1227
+aS'00'
+p1228
+aS'00'
+p1229
+aS'83'
+p1230
+asg148
+S'Germany'
+p1231
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p1232
+(dp1233
+g6
+(lp1234
+g49
+aS'49'
+p1235
+aS'06'
+p1236
+aS'03'
+p1237
+aS'cf'
+p1238
+aS'47'
+p1239
+aS'00'
+p1240
+aS'04'
+p1241
+aS'84'
+p1242
+aS'08'
+p1243
+aS'00'
+p1244
+aS'00'
+p1245
+aS'10'
+p1246
+aS'40'
+p1247
+aS'10'
+p1248
+aS'00'
+p1249
+aS'00'
+p1250
+aS'00'
+p1251
+aS'00'
+p1252
+aS'00'
+p1253
+aS'2b'
+p1254
+aS'2b'
+p1255
+aS'2b'
+p1256
+aS'2b'
+p1257
+asg8
+(dp1258
+g10
+g11
+ssg12
+(dp1259
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I39093
+sg27
+(lp1260
+I654
+aI667
+aI670
+aI675
+aI682
+aI705
+aI711
+aI721
+aI1003
+aI1014
+aI1016
+aI1020
+asg29
+I-95
+sg30
+S'O2'
+p1261
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I1022
+sg37
+g38
+sg39
+S'14:58:59'
+p1262
+sg41
+I50945
+sg42
+g11
+sg43
+S'7,3'
+p1263
+sg45
+(lp1264
+sg47
+(lp1265
+g49
+aS'41'
+p1266
+aS'06'
+p1267
+aS'1c'
+p1268
+aS'62'
+p1269
+aS'f2'
+p1270
+aS'70'
+p1271
+aS'c7'
+p1272
+aS'01'
+p1273
+aS'65'
+p1274
+aS'45'
+p1275
+aS'b9'
+p1276
+aS'00'
+p1277
+aS'00'
+p1278
+aS'64'
+p1279
+aS'51'
+p1280
+aS'63'
+p1281
+aS'fe'
+p1282
+aS'51'
+p1283
+aS'2b'
+p1284
+aS'2b'
+p1285
+aS'2b'
+p1286
+aS'2b'
+p1287
+aS'2b'
+p1288
+asg73
+(lp1289
+g49
+aS'49'
+p1290
+aS'06'
+p1291
+aS'1b'
+p1292
+aS'98'
+p1293
+aS'b5'
+p1294
+aS'62'
+p1295
+aS'f2'
+p1296
+aS'70'
+p1297
+aS'c7'
+p1298
+aS'01'
+p1299
+aS'd0'
+p1300
+aS'03'
+p1301
+aS'28'
+p1302
+aS'57'
+p1303
+aS'65'
+p1304
+aS'45'
+p1305
+aS'b9'
+p1306
+aS'00'
+p1307
+aS'00'
+p1308
+aS'56'
+p1309
+aS'25'
+p1310
+aS'2b'
+p1311
+aS'2b'
+p1312
+asg98
+(lp1313
+g49
+aS'59'
+p1314
+aS'06'
+p1315
+aS'1a'
+p1316
+aS'8f'
+p1317
+aS'f5'
+p1318
+aS'80'
+p1319
+aS'14'
+p1320
+aS'40'
+p1321
+aS'00'
+p1322
+aS'00'
+p1323
+aS'00'
+p1324
+aS'00'
+p1325
+aS'00'
+p1326
+aS'00'
+p1327
+aS'00'
+p1328
+aS'00'
+p1329
+aS'00'
+p1330
+aS'00'
+p1331
+aS'00'
+p1332
+aS'80'
+p1333
+aS'b9'
+p1334
+aS'00'
+p1335
+aS'00'
+p1336
+asg123
+(lp1337
+g49
+aS'55'
+p1338
+aS'06'
+p1339
+aS'19'
+p1340
+aS'8f'
+p1341
+aS'f4'
+p1342
+aS'88'
+p1343
+aS'00'
+p1344
+aS'44'
+p1345
+aS'00'
+p1346
+aS'00'
+p1347
+aS'00'
+p1348
+aS'00'
+p1349
+aS'00'
+p1350
+aS'00'
+p1351
+aS'00'
+p1352
+aS'00'
+p1353
+aS'00'
+p1354
+aS'00'
+p1355
+aS'00'
+p1356
+aS'b9'
+p1357
+aS'00'
+p1358
+aS'00'
+p1359
+aS'2b'
+p1360
+asg148
+S'Germany'
+p1361
+sg150
+I0
+sg151
+I01
+sg152
+I2
+sba(ipyCatcherModel
+BaseStationInformation
+p1362
+(dp1363
+g6
+(lp1364
+sg8
+(dp1365
+g10
+g11
+ssg12
+(dp1366
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I13675
+sg27
+(lp1367
+I17
+aI19
+aI21
+aI38
+aI84
+aI96
+aI97
+asg29
+I-96
+sg30
+S'T-Mobile'
+p1368
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I43
+sg37
+g38
+sg39
+S'15:01:55'
+p1369
+sg41
+I21014
+sg42
+g11
+sg43
+S'3,6'
+p1370
+sg45
+(lp1371
+sg47
+(lp1372
+g49
+aS'31'
+p1373
+aS'06'
+p1374
+aS'1c'
+p1375
+aS'62'
+p1376
+aS'f2'
+p1377
+aS'10'
+p1378
+aS'52'
+p1379
+aS'16'
+p1380
+aS'65'
+p1381
+aS'04'
+p1382
+aS'a5'
+p1383
+aS'00'
+p1384
+aS'00'
+p1385
+aS'1d'
+p1386
+aS'2b'
+p1387
+aS'2b'
+p1388
+aS'2b'
+p1389
+aS'2b'
+p1390
+aS'2b'
+p1391
+aS'2b'
+p1392
+aS'2b'
+p1393
+aS'2b'
+p1394
+aS'2b'
+p1395
+asg73
+(lp1396
+g49
+aS'49'
+p1397
+aS'06'
+p1398
+aS'1b'
+p1399
+aS'35'
+p1400
+aS'6b'
+p1401
+aS'62'
+p1402
+aS'f2'
+p1403
+aS'10'
+p1404
+aS'52'
+p1405
+aS'16'
+p1406
+aS'd8'
+p1407
+aS'04'
+p1408
+aS'1e'
+p1409
+aS'58'
+p1410
+aS'65'
+p1411
+aS'04'
+p1412
+aS'a5'
+p1413
+aS'00'
+p1414
+aS'00'
+p1415
+aS'3f'
+p1416
+aS'b3'
+p1417
+aS'2b'
+p1418
+aS'2b'
+p1419
+asg98
+(lp1420
+g49
+aS'59'
+p1421
+aS'06'
+p1422
+aS'1a'
+p1423
+aS'10'
+p1424
+aS'00'
+p1425
+aS'00'
+p1426
+aS'01'
+p1427
+aS'80'
+p1428
+aS'08'
+p1429
+aS'00'
+p1430
+aS'00'
+p1431
+aS'00'
+p1432
+aS'00'
+p1433
+aS'04'
+p1434
+aS'20'
+p1435
+aS'00'
+p1436
+aS'15'
+p1437
+aS'00'
+p1438
+aS'00'
+p1439
+aS'88'
+p1440
+aS'a5'
+p1441
+aS'00'
+p1442
+aS'00'
+p1443
+asg123
+(lp1444
+g49
+aS'55'
+p1445
+aS'06'
+p1446
+aS'19'
+p1447
+aS'00'
+p1448
+aS'00'
+p1449
+aS'00'
+p1450
+aS'00'
+p1451
+aS'00'
+p1452
+aS'00'
+p1453
+aS'00'
+p1454
+aS'00'
+p1455
+aS'00'
+p1456
+aS'00'
+p1457
+aS'04'
+p1458
+aS'00'
+p1459
+aS'08'
+p1460
+aS'00'
+p1461
+aS'00'
+p1462
+aS'00'
+p1463
+aS'a5'
+p1464
+aS'00'
+p1465
+aS'00'
+p1466
+aS'2b'
+p1467
+asg148
+S'Germany'
+p1468
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p1469
+(dp1470
+g6
+(lp1471
+g49
+aS'01'
+p1472
+aS'06'
+p1473
+aS'03'
+p1474
+aS'df'
+p1475
+aS'e8'
+p1476
+aS'80'
+p1477
+aS'04'
+p1478
+aS'00'
+p1479
+aS'00'
+p1480
+aS'00'
+p1481
+aS'00'
+p1482
+aS'00'
+p1483
+aS'00'
+p1484
+aS'00'
+p1485
+aS'00'
+p1486
+aS'00'
+p1487
+aS'00'
+p1488
+aS'00'
+p1489
+aS'00'
+p1490
+aS'2b'
+p1491
+aS'2b'
+p1492
+aS'2b'
+p1493
+aS'2b'
+p1494
+asg8
+(dp1495
+g10
+g11
+ssg12
+(dp1496
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I7098
+sg27
+(lp1497
+I803
+aI809
+aI820
+aI822
+aI823
+aI825
+aI828
+aI977
+aI990
+asg29
+I-79
+sg30
+S'E-Plus'
+p1498
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I812
+sg37
+g38
+sg39
+S'15:02:32'
+p1499
+sg41
+I588
+sg42
+g11
+sg43
+S'3,6'
+p1500
+sg45
+(lp1501
+sg47
+(lp1502
+g49
+aS'31'
+p1503
+aS'06'
+p1504
+aS'1c'
+p1505
+aS'62'
+p1506
+aS'f2'
+p1507
+aS'30'
+p1508
+aS'02'
+p1509
+aS'4c'
+p1510
+aS'60'
+p1511
+aS'03'
+p1512
+aS'94'
+p1513
+aS'00'
+p1514
+aS'00'
+p1515
+aS'01'
+p1516
+aS'2b'
+p1517
+aS'2b'
+p1518
+aS'2b'
+p1519
+aS'2b'
+p1520
+aS'2b'
+p1521
+aS'2b'
+p1522
+aS'2b'
+p1523
+aS'2b'
+p1524
+aS'2b'
+p1525
+asg73
+(lp1526
+g49
+aS'49'
+p1527
+aS'06'
+p1528
+aS'1b'
+p1529
+aS'1b'
+p1530
+aS'ba'
+p1531
+aS'62'
+p1532
+aS'f2'
+p1533
+aS'30'
+p1534
+aS'02'
+p1535
+aS'4c'
+p1536
+aS'c9'
+p1537
+aS'05'
+p1538
+aS'78'
+p1539
+aS'46'
+p1540
+aS'60'
+p1541
+aS'03'
+p1542
+aS'94'
+p1543
+aS'00'
+p1544
+aS'00'
+p1545
+aS'1c'
+p1546
+aS'13'
+p1547
+aS'2b'
+p1548
+aS'2b'
+p1549
+asg98
+(lp1550
+g49
+aS'59'
+p1551
+aS'06'
+p1552
+aS'1a'
+p1553
+aS'9f'
+p1554
+aS'91'
+p1555
+aS'82'
+p1556
+aS'40'
+p1557
+aS'5a'
+p1558
+aS'40'
+p1559
+aS'00'
+p1560
+aS'00'
+p1561
+aS'00'
+p1562
+aS'00'
+p1563
+aS'00'
+p1564
+aS'00'
+p1565
+aS'00'
+p1566
+aS'00'
+p1567
+aS'00'
+p1568
+aS'00'
+p1569
+aS'08'
+p1570
+aS'94'
+p1571
+aS'00'
+p1572
+aS'00'
+p1573
+asg123
+(lp1574
+g49
+aS'55'
+p1575
+aS'06'
+p1576
+aS'19'
+p1577
+aS'8f'
+p1578
+aS'8f'
+p1579
+aS'80'
+p1580
+aS'04'
+p1581
+aS'00'
+p1582
+aS'00'
+p1583
+aS'00'
+p1584
+aS'00'
+p1585
+aS'00'
+p1586
+aS'00'
+p1587
+aS'00'
+p1588
+aS'00'
+p1589
+aS'00'
+p1590
+aS'00'
+p1591
+aS'00'
+p1592
+aS'00'
+p1593
+aS'94'
+p1594
+aS'00'
+p1595
+aS'00'
+p1596
+aS'2b'
+p1597
+asg148
+S'Germany'
+p1598
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p1599
+(dp1600
+g6
+(lp1601
+g49
+aS'01'
+p1602
+aS'06'
+p1603
+aS'03'
+p1604
+aS'cf'
+p1605
+aS'6b'
+p1606
+aS'a0'
+p1607
+aS'00'
+p1608
+aS'00'
+p1609
+aS'00'
+p1610
+aS'00'
+p1611
+aS'00'
+p1612
+aS'00'
+p1613
+aS'00'
+p1614
+aS'00'
+p1615
+aS'00'
+p1616
+aS'00'
+p1617
+aS'00'
+p1618
+aS'00'
+p1619
+aS'00'
+p1620
+aS'2b'
+p1621
+aS'2b'
+p1622
+aS'2b'
+p1623
+aS'2b'
+p1624
+asg8
+(dp1625
+g10
+g11
+ssg12
+(dp1626
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I45353
+sg27
+(lp1627
+I3
+aI55
+aI57
+aI62
+aI65
+aI71
+aI72
+aI73
+aI75
+aI77
+aI109
+aI727
+aI729
+asg29
+I-99
+sg30
+S'Vodafone'
+p1628
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I70
+sg37
+g38
+sg39
+S'15:01:43'
+p1629
+sg41
+I793
+sg42
+g11
+sg43
+S'3,2'
+p1630
+sg45
+(lp1631
+sg47
+(lp1632
+g49
+aS'31'
+p1633
+aS'06'
+p1634
+aS'1c'
+p1635
+aS'62'
+p1636
+aS'f2'
+p1637
+aS'20'
+p1638
+aS'03'
+p1639
+aS'19'
+p1640
+aS'65'
+p1641
+aS'04'
+p1642
+aS'b9'
+p1643
+aS'00'
+p1644
+aS'00'
+p1645
+aS'80'
+p1646
+aS'1f'
+p1647
+aS'4b'
+p1648
+aS'2b'
+p1649
+aS'2b'
+p1650
+aS'2b'
+p1651
+aS'2b'
+p1652
+aS'2b'
+p1653
+aS'2b'
+p1654
+aS'2b'
+p1655
+asg73
+(lp1656
+g49
+aS'49'
+p1657
+aS'06'
+p1658
+aS'1b'
+p1659
+aS'b1'
+p1660
+aS'29'
+p1661
+aS'62'
+p1662
+aS'f2'
+p1663
+aS'20'
+p1664
+aS'03'
+p1665
+aS'19'
+p1666
+aS'c8'
+p1667
+aS'04'
+p1668
+aS'0a'
+p1669
+aS'15'
+p1670
+aS'65'
+p1671
+aS'04'
+p1672
+aS'b9'
+p1673
+aS'00'
+p1674
+aS'00'
+p1675
+aS'80'
+p1676
+aS'1f'
+p1677
+aS'41'
+p1678
+aS'1b'
+p1679
+asg98
+(lp1680
+g49
+aS'59'
+p1681
+aS'06'
+p1682
+aS'1a'
+p1683
+aS'00'
+p1684
+aS'00'
+p1685
+aS'10'
+p1686
+aS'00'
+p1687
+aS'00'
+p1688
+aS'00'
+p1689
+aS'15'
+p1690
+aS'c1'
+p1691
+aS'21'
+p1692
+aS'40'
+p1693
+aS'00'
+p1694
+aS'00'
+p1695
+aS'00'
+p1696
+aS'00'
+p1697
+aS'00'
+p1698
+aS'04'
+p1699
+aS'88'
+p1700
+aS'b9'
+p1701
+aS'00'
+p1702
+aS'00'
+p1703
+asg123
+(lp1704
+g49
+aS'55'
+p1705
+aS'06'
+p1706
+aS'19'
+p1707
+aS'00'
+p1708
+aS'00'
+p1709
+aS'00'
+p1710
+aS'00'
+p1711
+aS'00'
+p1712
+aS'00'
+p1713
+aS'4a'
+p1714
+aS'80'
+p1715
+aS'80'
+p1716
+aS'00'
+p1717
+aS'00'
+p1718
+aS'00'
+p1719
+aS'00'
+p1720
+aS'00'
+p1721
+aS'00'
+p1722
+aS'00'
+p1723
+aS'b9'
+p1724
+aS'00'
+p1725
+aS'00'
+p1726
+aS'83'
+p1727
+asg148
+S'Germany'
+p1728
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p1729
+(dp1730
+g6
+(lp1731
+sg8
+(dp1732
+g10
+g11
+ssg12
+(dp1733
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I47562
+sg27
+(lp1734
+I17
+aI19
+aI21
+aI38
+aI43
+aI49
+aI89
+aI100
+aI123
+aI124
+asg29
+I-97
+sg30
+S'T-Mobile'
+p1735
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I97
+sg37
+g38
+sg39
+S'15:01:19'
+p1736
+sg41
+I21014
+sg42
+g11
+sg43
+S'7,2'
+p1737
+sg45
+(lp1738
+sg47
+(lp1739
+g49
+aS'31'
+p1740
+aS'06'
+p1741
+aS'1c'
+p1742
+aS'62'
+p1743
+aS'f2'
+p1744
+aS'10'
+p1745
+aS'52'
+p1746
+aS'16'
+p1747
+aS'65'
+p1748
+aS'04'
+p1749
+aS'a5'
+p1750
+aS'00'
+p1751
+aS'00'
+p1752
+aS'1d'
+p1753
+aS'2b'
+p1754
+aS'2b'
+p1755
+aS'2b'
+p1756
+aS'2b'
+p1757
+aS'2b'
+p1758
+aS'2b'
+p1759
+aS'2b'
+p1760
+aS'2b'
+p1761
+aS'2b'
+p1762
+asg73
+(lp1763
+g49
+aS'49'
+p1764
+aS'06'
+p1765
+aS'1b'
+p1766
+aS'b9'
+p1767
+aS'ca'
+p1768
+aS'62'
+p1769
+aS'f2'
+p1770
+aS'10'
+p1771
+aS'52'
+p1772
+aS'16'
+p1773
+aS'd8'
+p1774
+aS'04'
+p1775
+aS'1e'
+p1776
+aS'58'
+p1777
+aS'65'
+p1778
+aS'04'
+p1779
+aS'a5'
+p1780
+aS'00'
+p1781
+aS'00'
+p1782
+aS'3f'
+p1783
+aS'b3'
+p1784
+aS'2b'
+p1785
+aS'2b'
+p1786
+asg98
+(lp1787
+g49
+aS'59'
+p1788
+aS'06'
+p1789
+aS'1a'
+p1790
+aS'0c'
+p1791
+aS'00'
+p1792
+aS'00'
+p1793
+aS'09'
+p1794
+aS'01'
+p1795
+aS'00'
+p1796
+aS'00'
+p1797
+aS'00'
+p1798
+aS'00'
+p1799
+aS'01'
+p1800
+aS'04'
+p1801
+aS'20'
+p1802
+aS'00'
+p1803
+aS'15'
+p1804
+aS'00'
+p1805
+aS'00'
+p1806
+aS'88'
+p1807
+aS'a5'
+p1808
+aS'00'
+p1809
+aS'00'
+p1810
+asg123
+(lp1811
+g49
+aS'55'
+p1812
+aS'06'
+p1813
+aS'19'
+p1814
+aS'00'
+p1815
+aS'00'
+p1816
+aS'00'
+p1817
+aS'01'
+p1818
+aS'00'
+p1819
+aS'00'
+p1820
+aS'00'
+p1821
+aS'00'
+p1822
+aS'00'
+p1823
+aS'00'
+p1824
+aS'21'
+p1825
+aS'00'
+p1826
+aS'00'
+p1827
+aS'00'
+p1828
+aS'00'
+p1829
+aS'00'
+p1830
+aS'a5'
+p1831
+aS'00'
+p1832
+aS'00'
+p1833
+aS'2b'
+p1834
+asg148
+S'Germany'
+p1835
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p1836
+(dp1837
+g6
+(lp1838
+g49
+aS'49'
+p1839
+aS'06'
+p1840
+aS'03'
+p1841
+aS'cf'
+p1842
+aS'40'
+p1843
+aS'00'
+p1844
+aS'02'
+p1845
+aS'50'
+p1846
+aS'04'
+p1847
+aS'1d'
+p1848
+aS'06'
+p1849
+aS'00'
+p1850
+aS'01'
+p1851
+aS'01'
+p1852
+aS'00'
+p1853
+aS'00'
+p1854
+aS'00'
+p1855
+aS'00'
+p1856
+aS'00'
+p1857
+aS'2b'
+p1858
+aS'2b'
+p1859
+aS'2b'
+p1860
+aS'2b'
+p1861
+asg8
+(dp1862
+g10
+g11
+ssg12
+(dp1863
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I1389
+sg27
+(lp1864
+I640
+aI654
+aI657
+aI659
+aI669
+aI675
+aI676
+aI677
+aI679
+aI685
+aI686
+aI703
+aI711
+asg29
+I-101
+sg30
+S'O2'
+p1865
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I1021
+sg37
+g38
+sg39
+S'14:54:24'
+p1866
+sg41
+I50945
+sg42
+g11
+sg43
+S'7,3'
+p1867
+sg45
+(lp1868
+sg47
+(lp1869
+g49
+aS'41'
+p1870
+aS'06'
+p1871
+aS'1c'
+p1872
+aS'62'
+p1873
+aS'f2'
+p1874
+aS'70'
+p1875
+aS'c7'
+p1876
+aS'01'
+p1877
+aS'65'
+p1878
+aS'45'
+p1879
+aS'b9'
+p1880
+aS'00'
+p1881
+aS'00'
+p1882
+aS'64'
+p1883
+aS'51'
+p1884
+aS'63'
+p1885
+aS'fd'
+p1886
+aS'88'
+p1887
+aS'1f'
+p1888
+aS'b2'
+p1889
+aS'2b'
+p1890
+aS'2b'
+p1891
+aS'2b'
+p1892
+asg73
+(lp1893
+g49
+aS'49'
+p1894
+aS'06'
+p1895
+aS'1b'
+p1896
+aS'05'
+p1897
+aS'6d'
+p1898
+aS'62'
+p1899
+aS'f2'
+p1900
+aS'70'
+p1901
+aS'c7'
+p1902
+aS'01'
+p1903
+aS'd0'
+p1904
+aS'03'
+p1905
+aS'28'
+p1906
+aS'57'
+p1907
+aS'65'
+p1908
+aS'45'
+p1909
+aS'b9'
+p1910
+aS'00'
+p1911
+aS'00'
+p1912
+aS'88'
+p1913
+aS'1f'
+p1914
+aS'b0'
+p1915
+aS'53'
+p1916
+asg98
+(lp1917
+g49
+aS'59'
+p1918
+aS'06'
+p1919
+aS'1a'
+p1920
+aS'00'
+p1921
+aS'00'
+p1922
+aS'00'
+p1923
+aS'00'
+p1924
+aS'00'
+p1925
+aS'00'
+p1926
+aS'00'
+p1927
+aS'00'
+p1928
+aS'00'
+p1929
+aS'00'
+p1930
+aS'00'
+p1931
+aS'00'
+p1932
+aS'00'
+p1933
+aS'00'
+p1934
+aS'00'
+p1935
+aS'00'
+p1936
+aS'80'
+p1937
+aS'b9'
+p1938
+aS'00'
+p1939
+aS'00'
+p1940
+asg123
+(lp1941
+g49
+aS'55'
+p1942
+aS'06'
+p1943
+aS'19'
+p1944
+aS'8f'
+p1945
+aS'f5'
+p1946
+aS'00'
+p1947
+aS'80'
+p1948
+aS'50'
+p1949
+aS'00'
+p1950
+aS'00'
+p1951
+aS'00'
+p1952
+aS'00'
+p1953
+aS'00'
+p1954
+aS'00'
+p1955
+aS'00'
+p1956
+aS'00'
+p1957
+aS'00'
+p1958
+aS'00'
+p1959
+aS'00'
+p1960
+aS'b9'
+p1961
+aS'00'
+p1962
+aS'00'
+p1963
+aS'2b'
+p1964
+asg148
+S'Germany'
+p1965
+sg150
+I0
+sg151
+I01
+sg152
+I1
+sba(ipyCatcherModel
+BaseStationInformation
+p1966
+(dp1967
+g6
+(lp1968
+sg8
+(dp1969
+g10
+g11
+ssg12
+(dp1970
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I19222
+sg27
+(lp1971
+I1
+aI3
+aI10
+aI52
+aI55
+aI57
+aI60
+aI62
+aI107
+aI111
+aI115
+aI119
+aI121
+asg29
+I-98
+sg30
+S'Vodafone'
+p1972
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I6
+sg37
+g38
+sg39
+S'15:01:32'
+p1973
+sg41
+I793
+sg42
+g11
+sg43
+S'7,6'
+p1974
+sg45
+(lp1975
+sg47
+(lp1976
+g49
+aS'31'
+p1977
+aS'06'
+p1978
+aS'1c'
+p1979
+aS'62'
+p1980
+aS'f2'
+p1981
+aS'20'
+p1982
+aS'03'
+p1983
+aS'19'
+p1984
+aS'65'
+p1985
+aS'04'
+p1986
+aS'b9'
+p1987
+aS'00'
+p1988
+aS'00'
+p1989
+aS'80'
+p1990
+aS'1f'
+p1991
+aS'4b'
+p1992
+aS'2b'
+p1993
+aS'2b'
+p1994
+aS'2b'
+p1995
+aS'2b'
+p1996
+aS'2b'
+p1997
+aS'2b'
+p1998
+aS'2b'
+p1999
+asg73
+(lp2000
+g49
+aS'49'
+p2001
+aS'06'
+p2002
+aS'1b'
+p2003
+aS'4b'
+p2004
+aS'16'
+p2005
+aS'62'
+p2006
+aS'f2'
+p2007
+aS'20'
+p2008
+aS'03'
+p2009
+aS'19'
+p2010
+aS'c8'
+p2011
+aS'04'
+p2012
+aS'0a'
+p2013
+aS'15'
+p2014
+aS'65'
+p2015
+aS'04'
+p2016
+aS'b9'
+p2017
+aS'00'
+p2018
+aS'00'
+p2019
+aS'80'
+p2020
+aS'1f'
+p2021
+aS'01'
+p2022
+aS'1b'
+p2023
+asg98
+(lp2024
+g49
+aS'59'
+p2025
+aS'06'
+p2026
+aS'1a'
+p2027
+aS'11'
+p2028
+aS'44'
+p2029
+aS'44'
+p2030
+aS'00'
+p2031
+aS'00'
+p2032
+aS'00'
+p2033
+aS'00'
+p2034
+aS'00'
+p2035
+aS'29'
+p2036
+aS'48'
+p2037
+aS'00'
+p2038
+aS'00'
+p2039
+aS'00'
+p2040
+aS'00'
+p2041
+aS'02'
+p2042
+aS'05'
+p2043
+aS'88'
+p2044
+aS'b9'
+p2045
+aS'00'
+p2046
+aS'00'
+p2047
+asg123
+(lp2048
+g49
+aS'55'
+p2049
+aS'06'
+p2050
+aS'19'
+p2051
+aS'00'
+p2052
+aS'08'
+p2053
+aS'00'
+p2054
+aS'00'
+p2055
+aS'00'
+p2056
+aS'00'
+p2057
+aS'00'
+p2058
+aS'02'
+p2059
+aS'00'
+p2060
+aS'04'
+p2061
+aS'00'
+p2062
+aS'00'
+p2063
+aS'00'
+p2064
+aS'00'
+p2065
+aS'00'
+p2066
+aS'08'
+p2067
+aS'b9'
+p2068
+aS'00'
+p2069
+aS'00'
+p2070
+aS'83'
+p2071
+asg148
+S'Germany'
+p2072
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p2073
+(dp2074
+g6
+(lp2075
+sg8
+(dp2076
+g10
+g11
+ssg12
+(dp2077
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I21792
+sg27
+(lp2078
+I1
+aI3
+aI6
+aI62
+aI65
+aI66
+aI75
+aI113
+aI119
+asg29
+I-99
+sg30
+S'Vodafone'
+p2079
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I111
+sg37
+g38
+sg39
+S'14:54:31'
+p2080
+sg41
+I793
+sg42
+g11
+sg43
+S'3,5'
+p2081
+sg45
+(lp2082
+sg47
+(lp2083
+g49
+aS'31'
+p2084
+aS'06'
+p2085
+aS'1c'
+p2086
+aS'62'
+p2087
+aS'f2'
+p2088
+aS'20'
+p2089
+aS'03'
+p2090
+aS'19'
+p2091
+aS'65'
+p2092
+aS'04'
+p2093
+aS'b9'
+p2094
+aS'00'
+p2095
+aS'00'
+p2096
+aS'80'
+p2097
+aS'1f'
+p2098
+aS'4b'
+p2099
+aS'2b'
+p2100
+aS'2b'
+p2101
+aS'2b'
+p2102
+aS'2b'
+p2103
+aS'2b'
+p2104
+aS'2b'
+p2105
+aS'2b'
+p2106
+asg73
+(lp2107
+g49
+aS'49'
+p2108
+aS'06'
+p2109
+aS'1b'
+p2110
+aS'55'
+p2111
+aS'20'
+p2112
+aS'62'
+p2113
+aS'f2'
+p2114
+aS'20'
+p2115
+aS'03'
+p2116
+aS'19'
+p2117
+aS'c8'
+p2118
+aS'04'
+p2119
+aS'0a'
+p2120
+aS'15'
+p2121
+aS'65'
+p2122
+aS'04'
+p2123
+aS'b9'
+p2124
+aS'00'
+p2125
+aS'00'
+p2126
+aS'80'
+p2127
+aS'1f'
+p2128
+aS'01'
+p2129
+aS'1b'
+p2130
+asg98
+(lp2131
+g49
+aS'59'
+p2132
+aS'06'
+p2133
+aS'1a'
+p2134
+aS'00'
+p2135
+aS'41'
+p2136
+aS'00'
+p2137
+aS'00'
+p2138
+aS'00'
+p2139
+aS'00'
+p2140
+aS'04'
+p2141
+aS'03'
+p2142
+aS'20'
+p2143
+aS'00'
+p2144
+aS'00'
+p2145
+aS'00'
+p2146
+aS'00'
+p2147
+aS'00'
+p2148
+aS'00'
+p2149
+aS'25'
+p2150
+aS'88'
+p2151
+aS'b9'
+p2152
+aS'00'
+p2153
+aS'00'
+p2154
+asg123
+(lp2155
+g49
+aS'55'
+p2156
+aS'06'
+p2157
+aS'19'
+p2158
+aS'00'
+p2159
+aS'00'
+p2160
+aS'02'
+p2161
+aS'00'
+p2162
+aS'00'
+p2163
+aS'00'
+p2164
+aS'00'
+p2165
+aS'00'
+p2166
+aS'00'
+p2167
+aS'00'
+p2168
+aS'00'
+p2169
+aS'00'
+p2170
+aS'00'
+p2171
+aS'00'
+p2172
+aS'02'
+p2173
+aS'08'
+p2174
+aS'b9'
+p2175
+aS'00'
+p2176
+aS'00'
+p2177
+aS'83'
+p2178
+asg148
+S'Germany'
+p2179
+sg150
+I0
+sg151
+I01
+sg152
+I1
+sba(ipyCatcherModel
+BaseStationInformation
+p2180
+(dp2181
+g6
+(lp2182
+g49
+aS'01'
+p2183
+aS'06'
+p2184
+aS'03'
+p2185
+aS'df'
+p2186
+aS'91'
+p2187
+aS'92'
+p2188
+aS'50'
+p2189
+aS'8a'
+p2190
+aS'40'
+p2191
+aS'00'
+p2192
+aS'00'
+p2193
+aS'00'
+p2194
+aS'00'
+p2195
+aS'00'
+p2196
+aS'00'
+p2197
+aS'00'
+p2198
+aS'00'
+p2199
+aS'00'
+p2200
+aS'00'
+p2201
+aS'2b'
+p2202
+aS'2b'
+p2203
+aS'2b'
+p2204
+aS'2b'
+p2205
+asg8
+(dp2206
+g10
+g11
+ssg12
+(dp2207
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I61358
+sg27
+(lp2208
+I803
+aI806
+aI809
+aI812
+aI814
+aI819
+aI823
+aI825
+aI828
+aI979
+aI982
+aI985
+aI990
+asg29
+I-97
+sg30
+S'E-Plus'
+p2209
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I977
+sg37
+g38
+sg39
+S'14:54:43'
+p2210
+sg41
+I588
+sg42
+g11
+sg43
+S'3,3'
+p2211
+sg45
+(lp2212
+sg47
+(lp2213
+g49
+aS'31'
+p2214
+aS'06'
+p2215
+aS'1c'
+p2216
+aS'62'
+p2217
+aS'f2'
+p2218
+aS'30'
+p2219
+aS'02'
+p2220
+aS'4c'
+p2221
+aS'65'
+p2222
+aS'03'
+p2223
+aS'94'
+p2224
+aS'00'
+p2225
+aS'00'
+p2226
+aS'01'
+p2227
+aS'2b'
+p2228
+aS'2b'
+p2229
+aS'2b'
+p2230
+aS'2b'
+p2231
+aS'2b'
+p2232
+aS'2b'
+p2233
+aS'2b'
+p2234
+aS'2b'
+p2235
+aS'2b'
+p2236
+asg73
+(lp2237
+g49
+aS'49'
+p2238
+aS'06'
+p2239
+aS'1b'
+p2240
+aS'ef'
+p2241
+aS'ae'
+p2242
+aS'62'
+p2243
+aS'f2'
+p2244
+aS'30'
+p2245
+aS'02'
+p2246
+aS'4c'
+p2247
+aS'c9'
+p2248
+aS'05'
+p2249
+aS'78'
+p2250
+aS'46'
+p2251
+aS'65'
+p2252
+aS'03'
+p2253
+aS'94'
+p2254
+aS'00'
+p2255
+aS'00'
+p2256
+aS'1c'
+p2257
+aS'13'
+p2258
+aS'2b'
+p2259
+aS'2b'
+p2260
+asg98
+(lp2261
+g49
+aS'59'
+p2262
+aS'06'
+p2263
+aS'1a'
+p2264
+aS'9b'
+p2265
+aS'e8'
+p2266
+aS'84'
+p2267
+aS'7d'
+p2268
+aS'0b'
+p2269
+aS'e8'
+p2270
+aS'00'
+p2271
+aS'00'
+p2272
+aS'00'
+p2273
+aS'00'
+p2274
+aS'00'
+p2275
+aS'00'
+p2276
+aS'00'
+p2277
+aS'00'
+p2278
+aS'00'
+p2279
+aS'00'
+p2280
+aS'08'
+p2281
+aS'94'
+p2282
+aS'00'
+p2283
+aS'00'
+p2284
+asg123
+(lp2285
+g49
+aS'55'
+p2286
+aS'06'
+p2287
+aS'19'
+p2288
+aS'8f'
+p2289
+aS'e8'
+p2290
+aS'80'
+p2291
+aS'00'
+p2292
+aS'00'
+p2293
+aS'00'
+p2294
+aS'00'
+p2295
+aS'00'
+p2296
+aS'00'
+p2297
+aS'00'
+p2298
+aS'00'
+p2299
+aS'00'
+p2300
+aS'00'
+p2301
+aS'00'
+p2302
+aS'00'
+p2303
+aS'00'
+p2304
+aS'94'
+p2305
+aS'00'
+p2306
+aS'00'
+p2307
+aS'2b'
+p2308
+asg148
+S'Germany'
+p2309
+sg150
+I0
+sg151
+I01
+sg152
+I1
+sba(ipyCatcherModel
+BaseStationInformation
+p2310
+(dp2311
+g6
+(lp2312
+g49
+aS'01'
+p2313
+aS'06'
+p2314
+aS'03'
+p2315
+aS'df'
+p2316
+aS'6c'
+p2317
+aS'00'
+p2318
+aS'00'
+p2319
+aS'00'
+p2320
+aS'00'
+p2321
+aS'00'
+p2322
+aS'00'
+p2323
+aS'00'
+p2324
+aS'00'
+p2325
+aS'00'
+p2326
+aS'00'
+p2327
+aS'00'
+p2328
+aS'00'
+p2329
+aS'00'
+p2330
+aS'00'
+p2331
+aS'2b'
+p2332
+aS'2b'
+p2333
+aS'2b'
+p2334
+aS'2b'
+p2335
+asg8
+(dp2336
+g10
+g11
+ssg12
+(dp2337
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I4901
+sg27
+(lp2338
+I2
+aI8
+aI53
+aI60
+aI62
+aI64
+aI65
+aI71
+aI72
+aI74
+aI76
+aI78
+aI79
+aI104
+aI107
+aI108
+aI109
+aI113
+aI115
+aI117
+aI728
+asg29
+I-100
+sg30
+S'Vodafone'
+p2339
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I57
+sg37
+g38
+sg39
+S'14:54:47'
+p2340
+sg41
+I793
+sg42
+g11
+sg43
+S'3,3'
+p2341
+sg45
+(lp2342
+sg47
+(lp2343
+g49
+aS'31'
+p2344
+aS'06'
+p2345
+aS'1c'
+p2346
+aS'62'
+p2347
+aS'f2'
+p2348
+aS'20'
+p2349
+aS'03'
+p2350
+aS'19'
+p2351
+aS'65'
+p2352
+aS'04'
+p2353
+aS'b9'
+p2354
+aS'00'
+p2355
+aS'00'
+p2356
+aS'80'
+p2357
+aS'1f'
+p2358
+aS'4b'
+p2359
+aS'2b'
+p2360
+aS'2b'
+p2361
+aS'2b'
+p2362
+aS'2b'
+p2363
+aS'2b'
+p2364
+aS'2b'
+p2365
+aS'2b'
+p2366
+asg73
+(lp2367
+g49
+aS'49'
+p2368
+aS'06'
+p2369
+aS'1b'
+p2370
+aS'13'
+p2371
+aS'25'
+p2372
+aS'62'
+p2373
+aS'f2'
+p2374
+aS'20'
+p2375
+aS'03'
+p2376
+aS'19'
+p2377
+aS'c8'
+p2378
+aS'04'
+p2379
+aS'0a'
+p2380
+aS'15'
+p2381
+aS'65'
+p2382
+aS'04'
+p2383
+aS'b9'
+p2384
+aS'00'
+p2385
+aS'00'
+p2386
+aS'80'
+p2387
+aS'1f'
+p2388
+aS'41'
+p2389
+aS'1b'
+p2390
+asg98
+(lp2391
+g49
+aS'59'
+p2392
+aS'06'
+p2393
+aS'1a'
+p2394
+aS'10'
+p2395
+aS'15'
+p2396
+aS'1c'
+p2397
+aS'80'
+p2398
+aS'00'
+p2399
+aS'00'
+p2400
+aS'6a'
+p2401
+aS'c1'
+p2402
+aS'a8'
+p2403
+aS'10'
+p2404
+aS'00'
+p2405
+aS'00'
+p2406
+aS'00'
+p2407
+aS'00'
+p2408
+aS'00'
+p2409
+aS'82'
+p2410
+aS'88'
+p2411
+aS'b9'
+p2412
+aS'00'
+p2413
+aS'00'
+p2414
+asg123
+(lp2415
+g49
+aS'55'
+p2416
+aS'06'
+p2417
+aS'19'
+p2418
+aS'00'
+p2419
+aS'00'
+p2420
+aS'00'
+p2421
+aS'00'
+p2422
+aS'00'
+p2423
+aS'00'
+p2424
+aS'04'
+p2425
+aS'08'
+p2426
+aS'24'
+p2427
+aS'48'
+p2428
+aS'00'
+p2429
+aS'00'
+p2430
+aS'00'
+p2431
+aS'00'
+p2432
+aS'00'
+p2433
+aS'00'
+p2434
+aS'b9'
+p2435
+aS'00'
+p2436
+aS'00'
+p2437
+aS'83'
+p2438
+asg148
+S'Germany'
+p2439
+sg150
+I0
+sg151
+I01
+sg152
+I1
+sba(ipyCatcherModel
+BaseStationInformation
+p2440
+(dp2441
+g6
+(lp2442
+sg8
+(dp2443
+g10
+g11
+ssg12
+(dp2444
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I1021
+sg27
+(lp2445
+I10
+aI51
+aI52
+aI55
+aI56
+aI57
+aI59
+aI65
+aI66
+aI70
+aI71
+aI76
+aI77
+aI105
+aI107
+aI109
+aI117
+asg29
+I-100
+sg30
+S'Vodafone'
+p2446
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I73
+sg37
+g38
+sg39
+S'15:02:22'
+p2447
+sg41
+I793
+sg42
+g11
+sg43
+S'3,1'
+p2448
+sg45
+(lp2449
+sg47
+(lp2450
+g49
+aS'31'
+p2451
+aS'06'
+p2452
+aS'1c'
+p2453
+aS'62'
+p2454
+aS'f2'
+p2455
+aS'20'
+p2456
+aS'03'
+p2457
+aS'19'
+p2458
+aS'65'
+p2459
+aS'04'
+p2460
+aS'b9'
+p2461
+aS'00'
+p2462
+aS'00'
+p2463
+aS'80'
+p2464
+aS'1f'
+p2465
+aS'4b'
+p2466
+aS'2b'
+p2467
+aS'2b'
+p2468
+aS'2b'
+p2469
+aS'2b'
+p2470
+aS'2b'
+p2471
+aS'2b'
+p2472
+aS'2b'
+p2473
+asg73
+(lp2474
+g49
+aS'49'
+p2475
+aS'06'
+p2476
+aS'1b'
+p2477
+aS'03'
+p2478
+aS'fd'
+p2479
+aS'62'
+p2480
+aS'f2'
+p2481
+aS'20'
+p2482
+aS'03'
+p2483
+aS'19'
+p2484
+aS'c8'
+p2485
+aS'04'
+p2486
+aS'0a'
+p2487
+aS'15'
+p2488
+aS'65'
+p2489
+aS'04'
+p2490
+aS'b9'
+p2491
+aS'00'
+p2492
+aS'00'
+p2493
+aS'80'
+p2494
+aS'1f'
+p2495
+aS'01'
+p2496
+aS'1b'
+p2497
+asg98
+(lp2498
+g49
+aS'59'
+p2499
+aS'06'
+p2500
+aS'1a'
+p2501
+aS'00'
+p2502
+aS'10'
+p2503
+aS'15'
+p2504
+aS'00'
+p2505
+aS'00'
+p2506
+aS'00'
+p2507
+aS'18'
+p2508
+aS'63'
+p2509
+aS'05'
+p2510
+aS'cc'
+p2511
+aS'00'
+p2512
+aS'00'
+p2513
+aS'00'
+p2514
+aS'00'
+p2515
+aS'02'
+p2516
+aS'00'
+p2517
+aS'c8'
+p2518
+aS'b9'
+p2519
+aS'00'
+p2520
+aS'00'
+p2521
+asg123
+(lp2522
+g49
+aS'55'
+p2523
+aS'06'
+p2524
+aS'19'
+p2525
+aS'00'
+p2526
+aS'00'
+p2527
+aS'00'
+p2528
+aS'00'
+p2529
+aS'00'
+p2530
+aS'00'
+p2531
+aS'84'
+p2532
+aS'40'
+p2533
+aS'09'
+p2534
+aS'10'
+p2535
+aS'00'
+p2536
+aS'00'
+p2537
+aS'00'
+p2538
+aS'00'
+p2539
+aS'00'
+p2540
+aS'00'
+p2541
+aS'b9'
+p2542
+aS'00'
+p2543
+aS'00'
+p2544
+aS'83'
+p2545
+asg148
+S'Germany'
+p2546
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p2547
+(dp2548
+g6
+(lp2549
+g49
+aS'01'
+p2550
+aS'06'
+p2551
+aS'03'
+p2552
+aS'df'
+p2553
+aS'e8'
+p2554
+aS'80'
+p2555
+aS'44'
+p2556
+aS'00'
+p2557
+aS'00'
+p2558
+aS'00'
+p2559
+aS'00'
+p2560
+aS'00'
+p2561
+aS'00'
+p2562
+aS'00'
+p2563
+aS'00'
+p2564
+aS'00'
+p2565
+aS'00'
+p2566
+aS'00'
+p2567
+aS'00'
+p2568
+aS'2b'
+p2569
+aS'2b'
+p2570
+aS'2b'
+p2571
+aS'2b'
+p2572
+asg8
+(dp2573
+g10
+g11
+ssg12
+(dp2574
+g14
+g15
+sg16
+g15
+sg18
+g15
+sg19
+g15
+sg20
+g15
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I7108
+sg27
+(lp2575
+I802
+aI803
+aI809
+aI812
+aI814
+aI820
+aI822
+aI823
+aI828
+aI977
+aI986
+aI990
+asg29
+I-87
+sg30
+S'E-Plus'
+p2576
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I825
+sg37
+g38
+sg39
+S'15:02:51'
+p2577
+sg41
+I588
+sg42
+g11
+sg43
+S'3,5'
+p2578
+sg45
+(lp2579
+sg47
+(lp2580
+g49
+aS'31'
+p2581
+aS'06'
+p2582
+aS'1c'
+p2583
+aS'62'
+p2584
+aS'f2'
+p2585
+aS'30'
+p2586
+aS'02'
+p2587
+aS'4c'
+p2588
+aS'60'
+p2589
+aS'03'
+p2590
+aS'94'
+p2591
+aS'00'
+p2592
+aS'00'
+p2593
+aS'01'
+p2594
+aS'2b'
+p2595
+aS'2b'
+p2596
+aS'2b'
+p2597
+aS'2b'
+p2598
+aS'2b'
+p2599
+aS'2b'
+p2600
+aS'2b'
+p2601
+aS'2b'
+p2602
+aS'2b'
+p2603
+asg73
+(lp2604
+g49
+aS'49'
+p2605
+aS'06'
+p2606
+aS'1b'
+p2607
+aS'1b'
+p2608
+aS'c4'
+p2609
+aS'62'
+p2610
+aS'f2'
+p2611
+aS'30'
+p2612
+aS'02'
+p2613
+aS'4c'
+p2614
+aS'c9'
+p2615
+aS'05'
+p2616
+aS'78'
+p2617
+aS'46'
+p2618
+aS'60'
+p2619
+aS'03'
+p2620
+aS'94'
+p2621
+aS'00'
+p2622
+aS'00'
+p2623
+aS'1c'
+p2624
+aS'13'
+p2625
+aS'2b'
+p2626
+aS'2b'
+p2627
+asg98
+(lp2628
+g49
+aS'59'
+p2629
+aS'06'
+p2630
+aS'1a'
+p2631
+aS'9f'
+p2632
+aS'91'
+p2633
+aS'41'
+p2634
+aS'28'
+p2635
+aS'2d'
+p2636
+aS'20'
+p2637
+aS'00'
+p2638
+aS'00'
+p2639
+aS'00'
+p2640
+aS'00'
+p2641
+aS'00'
+p2642
+aS'00'
+p2643
+aS'00'
+p2644
+aS'00'
+p2645
+aS'00'
+p2646
+aS'00'
+p2647
+aS'08'
+p2648
+aS'94'
+p2649
+aS'00'
+p2650
+aS'00'
+p2651
+asg123
+(lp2652
+g49
+aS'55'
+p2653
+aS'06'
+p2654
+aS'19'
+p2655
+aS'8f'
+p2656
+aS'9c'
+p2657
+aS'80'
+p2658
+aS'00'
+p2659
+aS'04'
+p2660
+aS'00'
+p2661
+aS'00'
+p2662
+aS'00'
+p2663
+aS'00'
+p2664
+aS'00'
+p2665
+aS'00'
+p2666
+aS'00'
+p2667
+aS'00'
+p2668
+aS'00'
+p2669
+aS'00'
+p2670
+aS'00'
+p2671
+aS'94'
+p2672
+aS'00'
+p2673
+aS'00'
+p2674
+aS'2b'
+p2675
+asg148
+S'Germany'
+p2676
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p2677
+(dp2678
+g6
+(lp2679
+sg8
+(dp2680
+g10
+g21
+ssg12
+(dp2681
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g17
+sg20
+g17
+sg21
+g288
+sg22
+g288
+sg23
+g288
+sg24
+g15
+sg25
+g15
+ssg26
+I1457
+sg27
+(lp2682
+I955
+aI959
+aI961
+aI962
+asg29
+I-101
+sg30
+S'DB Systel GSM-R'
+p2683
+sg32
+I0
+sg33
+g34
+sg35
+g288
+sg36
+I957
+sg37
+g38
+sg39
+S'14:55:12'
+p2684
+sg41
+I6052
+sg42
+g11
+sg43
+S'7,1'
+p2685
+sg45
+(lp2686
+sg47
+(lp2687
+g49
+aS'31'
+p2688
+aS'06'
+p2689
+aS'1c'
+p2690
+aS'62'
+p2691
+aS'f2'
+p2692
+aS'01'
+p2693
+aS'17'
+p2694
+aS'a4'
+p2695
+aS'42'
+p2696
+aS'07'
+p2697
+aS'79'
+p2698
+aS'00'
+p2699
+aS'00'
+p2700
+aS'2b'
+p2701
+aS'2b'
+p2702
+aS'2b'
+p2703
+aS'2b'
+p2704
+aS'2b'
+p2705
+aS'2b'
+p2706
+aS'2b'
+p2707
+aS'2b'
+p2708
+aS'2b'
+p2709
+aS'2b'
+p2710
+asg73
+(lp2711
+g49
+aS'49'
+p2712
+aS'06'
+p2713
+aS'1b'
+p2714
+aS'05'
+p2715
+aS'b1'
+p2716
+aS'62'
+p2717
+aS'f2'
+p2718
+aS'01'
+p2719
+aS'17'
+p2720
+aS'a4'
+p2721
+aS'c8'
+p2722
+aS'00'
+p2723
+aS'3c'
+p2724
+aS'44'
+p2725
+aS'42'
+p2726
+aS'07'
+p2727
+aS'79'
+p2728
+aS'00'
+p2729
+aS'00'
+p2730
+aS'2b'
+p2731
+aS'2b'
+p2732
+aS'2b'
+p2733
+aS'2b'
+p2734
+asg98
+(lp2735
+g49
+aS'59'
+p2736
+aS'06'
+p2737
+aS'1a'
+p2738
+aS'8f'
+p2739
+aS'dd'
+p2740
+aS'8b'
+p2741
+aS'00'
+p2742
+aS'00'
+p2743
+aS'00'
+p2744
+aS'00'
+p2745
+aS'00'
+p2746
+aS'00'
+p2747
+aS'00'
+p2748
+aS'00'
+p2749
+aS'00'
+p2750
+aS'00'
+p2751
+aS'00'
+p2752
+aS'00'
+p2753
+aS'00'
+p2754
+aS'80'
+p2755
+aS'79'
+p2756
+aS'00'
+p2757
+aS'00'
+p2758
+asg123
+(lp2759
+g49
+aS'55'
+p2760
+aS'06'
+p2761
+aS'19'
+p2762
+aS'8f'
+p2763
+aS'de'
+p2764
+aS'80'
+p2765
+aS'08'
+p2766
+aS'00'
+p2767
+aS'00'
+p2768
+aS'00'
+p2769
+aS'00'
+p2770
+aS'00'
+p2771
+aS'00'
+p2772
+aS'00'
+p2773
+aS'00'
+p2774
+aS'00'
+p2775
+aS'00'
+p2776
+aS'00'
+p2777
+aS'00'
+p2778
+aS'79'
+p2779
+aS'00'
+p2780
+aS'00'
+p2781
+aS'83'
+p2782
+asg148
+S'Germany'
+p2783
+sg150
+I0
+sg151
+I01
+sg152
+I1
+sba(ipyCatcherModel
+BaseStationInformation
+p2784
+(dp2785
+g6
+(lp2786
+sg8
+(dp2787
+g10
+g11
+ssg12
+(dp2788
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I14952
+sg27
+(lp2789
+I1
+aI6
+aI10
+aI57
+aI59
+aI60
+aI70
+aI73
+aI77
+aI107
+aI117
+aI121
+asg29
+I-96
+sg30
+S'Vodafone'
+p2790
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I52
+sg37
+g38
+sg39
+S'15:01:59'
+p2791
+sg41
+I793
+sg42
+g11
+sg43
+S'3,7'
+p2792
+sg45
+(lp2793
+sg47
+(lp2794
+g49
+aS'31'
+p2795
+aS'06'
+p2796
+aS'1c'
+p2797
+aS'62'
+p2798
+aS'f2'
+p2799
+aS'20'
+p2800
+aS'03'
+p2801
+aS'19'
+p2802
+aS'65'
+p2803
+aS'04'
+p2804
+aS'b9'
+p2805
+aS'00'
+p2806
+aS'00'
+p2807
+aS'80'
+p2808
+aS'1f'
+p2809
+aS'4b'
+p2810
+aS'2b'
+p2811
+aS'2b'
+p2812
+aS'2b'
+p2813
+aS'2b'
+p2814
+aS'2b'
+p2815
+aS'2b'
+p2816
+aS'2b'
+p2817
+asg73
+(lp2818
+g49
+aS'49'
+p2819
+aS'06'
+p2820
+aS'1b'
+p2821
+aS'3a'
+p2822
+aS'68'
+p2823
+aS'62'
+p2824
+aS'f2'
+p2825
+aS'20'
+p2826
+aS'03'
+p2827
+aS'19'
+p2828
+aS'c8'
+p2829
+aS'04'
+p2830
+aS'0a'
+p2831
+aS'15'
+p2832
+aS'65'
+p2833
+aS'04'
+p2834
+aS'b9'
+p2835
+aS'00'
+p2836
+aS'00'
+p2837
+aS'80'
+p2838
+aS'1f'
+p2839
+aS'01'
+p2840
+aS'1b'
+p2841
+asg98
+(lp2842
+g49
+aS'59'
+p2843
+aS'06'
+p2844
+aS'1a'
+p2845
+aS'11'
+p2846
+aS'10'
+p2847
+aS'04'
+p2848
+aS'00'
+p2849
+aS'00'
+p2850
+aS'00'
+p2851
+aS'11'
+p2852
+aS'20'
+p2853
+aS'0d'
+p2854
+aS'00'
+p2855
+aS'00'
+p2856
+aS'00'
+p2857
+aS'00'
+p2858
+aS'00'
+p2859
+aS'02'
+p2860
+aS'21'
+p2861
+aS'88'
+p2862
+aS'b9'
+p2863
+aS'00'
+p2864
+aS'00'
+p2865
+asg123
+(lp2866
+g49
+aS'55'
+p2867
+aS'06'
+p2868
+aS'19'
+p2869
+aS'00'
+p2870
+aS'00'
+p2871
+aS'00'
+p2872
+aS'00'
+p2873
+aS'00'
+p2874
+aS'00'
+p2875
+aS'00'
+p2876
+aS'10'
+p2877
+aS'12'
+p2878
+aS'00'
+p2879
+aS'00'
+p2880
+aS'00'
+p2881
+aS'00'
+p2882
+aS'00'
+p2883
+aS'00'
+p2884
+aS'00'
+p2885
+aS'b9'
+p2886
+aS'00'
+p2887
+aS'00'
+p2888
+aS'83'
+p2889
+asg148
+S'Germany'
+p2890
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p2891
+(dp2892
+g6
+(lp2893
+g49
+aS'49'
+p2894
+aS'06'
+p2895
+aS'03'
+p2896
+aS'cf'
+p2897
+aS'fb'
+p2898
+aS'01'
+p2899
+aS'80'
+p2900
+aS'00'
+p2901
+aS'00'
+p2902
+aS'00'
+p2903
+aS'00'
+p2904
+aS'00'
+p2905
+aS'00'
+p2906
+aS'00'
+p2907
+aS'00'
+p2908
+aS'00'
+p2909
+aS'00'
+p2910
+aS'00'
+p2911
+aS'00'
+p2912
+aS'2b'
+p2913
+aS'2b'
+p2914
+aS'2b'
+p2915
+aS'2b'
+p2916
+asg8
+(dp2917
+g10
+g11
+ssg12
+(dp2918
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I15706
+sg27
+(lp2919
+I644
+aI667
+aI669
+aI670
+aI675
+aI679
+aI685
+aI705
+aI707
+aI711
+aI721
+aI1014
+aI1021
+aI1022
+asg29
+I-94
+sg30
+S'O2'
+p2920
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I654
+sg37
+g38
+sg39
+S'14:59:12'
+p2921
+sg41
+I50945
+sg42
+g11
+sg43
+S'7,6'
+p2922
+sg45
+(lp2923
+sg47
+(lp2924
+g49
+aS'41'
+p2925
+aS'06'
+p2926
+aS'1c'
+p2927
+aS'62'
+p2928
+aS'f2'
+p2929
+aS'70'
+p2930
+aS'c7'
+p2931
+aS'01'
+p2932
+aS'60'
+p2933
+aS'45'
+p2934
+aS'b9'
+p2935
+aS'00'
+p2936
+aS'00'
+p2937
+aS'64'
+p2938
+aS'51'
+p2939
+aS'c2'
+p2940
+aS'8e'
+p2941
+aS'51'
+p2942
+aS'2b'
+p2943
+aS'2b'
+p2944
+aS'2b'
+p2945
+aS'2b'
+p2946
+aS'2b'
+p2947
+asg73
+(lp2948
+g49
+aS'49'
+p2949
+aS'06'
+p2950
+aS'1b'
+p2951
+aS'3d'
+p2952
+aS'5a'
+p2953
+aS'62'
+p2954
+aS'f2'
+p2955
+aS'70'
+p2956
+aS'c7'
+p2957
+aS'01'
+p2958
+aS'd0'
+p2959
+aS'03'
+p2960
+aS'28'
+p2961
+aS'57'
+p2962
+aS'60'
+p2963
+aS'45'
+p2964
+aS'b9'
+p2965
+aS'00'
+p2966
+aS'00'
+p2967
+aS'56'
+p2968
+aS'25'
+p2969
+aS'2b'
+p2970
+aS'2b'
+p2971
+asg98
+(lp2972
+g49
+aS'59'
+p2973
+aS'06'
+p2974
+aS'1a'
+p2975
+aS'8f'
+p2976
+aS'42'
+p2977
+aS'00'
+p2978
+aS'00'
+p2979
+aS'01'
+p2980
+aS'61'
+p2981
+aS'10'
+p2982
+aS'40'
+p2983
+aS'00'
+p2984
+aS'05'
+p2985
+aS'10'
+p2986
+aS'04'
+p2987
+aS'00'
+p2988
+aS'00'
+p2989
+aS'00'
+p2990
+aS'00'
+p2991
+aS'80'
+p2992
+aS'b9'
+p2993
+aS'00'
+p2994
+aS'00'
+p2995
+asg123
+(lp2996
+g49
+aS'55'
+p2997
+aS'06'
+p2998
+aS'19'
+p2999
+aS'8f'
+p3000
+aS'47'
+p3001
+aS'20'
+p3002
+aS'40'
+p3003
+aS'00'
+p3004
+aS'04'
+p3005
+aS'00'
+p3006
+aS'00'
+p3007
+aS'00'
+p3008
+aS'04'
+p3009
+aS'00'
+p3010
+aS'00'
+p3011
+aS'00'
+p3012
+aS'00'
+p3013
+aS'00'
+p3014
+aS'00'
+p3015
+aS'b9'
+p3016
+aS'00'
+p3017
+aS'00'
+p3018
+aS'2b'
+p3019
+asg148
+S'Germany'
+p3020
+sg150
+I0
+sg151
+I01
+sg152
+I2
+sba(ipyCatcherModel
+BaseStationInformation
+p3021
+(dp3022
+g6
+(lp3023
+g49
+aS'49'
+p3024
+aS'06'
+p3025
+aS'03'
+p3026
+aS'cf'
+p3027
+aS'fb'
+p3028
+aS'01'
+p3029
+aS'80'
+p3030
+aS'00'
+p3031
+aS'00'
+p3032
+aS'00'
+p3033
+aS'00'
+p3034
+aS'00'
+p3035
+aS'00'
+p3036
+aS'00'
+p3037
+aS'00'
+p3038
+aS'00'
+p3039
+aS'00'
+p3040
+aS'00'
+p3041
+aS'00'
+p3042
+aS'2b'
+p3043
+aS'2b'
+p3044
+aS'2b'
+p3045
+aS'2b'
+p3046
+asg8
+(dp3047
+g10
+g11
+ssg12
+(dp3048
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I29789
+sg27
+(lp3049
+I644
+aI654
+aI659
+aI667
+aI669
+aI675
+aI685
+aI1014
+aI1021
+aI1022
+asg29
+I-82
+sg30
+S'O2'
+p3050
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I711
+sg37
+g38
+sg39
+S'15:02:06'
+p3051
+sg41
+I50945
+sg42
+g11
+sg43
+S'7,3'
+p3052
+sg45
+(lp3053
+sg47
+(lp3054
+g49
+aS'41'
+p3055
+aS'06'
+p3056
+aS'1c'
+p3057
+aS'62'
+p3058
+aS'f2'
+p3059
+aS'70'
+p3060
+aS'c7'
+p3061
+aS'01'
+p3062
+aS'60'
+p3063
+aS'45'
+p3064
+aS'b9'
+p3065
+aS'00'
+p3066
+aS'00'
+p3067
+aS'64'
+p3068
+aS'51'
+p3069
+aS'62'
+p3070
+aS'c7'
+p3071
+aS'51'
+p3072
+aS'2b'
+p3073
+aS'2b'
+p3074
+aS'2b'
+p3075
+aS'2b'
+p3076
+aS'2b'
+p3077
+asg73
+(lp3078
+g49
+aS'49'
+p3079
+aS'06'
+p3080
+aS'1b'
+p3081
+aS'74'
+p3082
+aS'5d'
+p3083
+aS'62'
+p3084
+aS'f2'
+p3085
+aS'70'
+p3086
+aS'c7'
+p3087
+aS'01'
+p3088
+aS'd0'
+p3089
+aS'03'
+p3090
+aS'28'
+p3091
+aS'57'
+p3092
+aS'60'
+p3093
+aS'45'
+p3094
+aS'b9'
+p3095
+aS'00'
+p3096
+aS'00'
+p3097
+aS'56'
+p3098
+aS'25'
+p3099
+aS'2b'
+p3100
+aS'2b'
+p3101
+asg98
+(lp3102
+g49
+aS'59'
+p3103
+aS'06'
+p3104
+aS'1a'
+p3105
+aS'8f'
+p3106
+aS'42'
+p3107
+aS'00'
+p3108
+aS'21'
+p3109
+aS'01'
+p3110
+aS'41'
+p3111
+aS'00'
+p3112
+aS'40'
+p3113
+aS'00'
+p3114
+aS'00'
+p3115
+aS'00'
+p3116
+aS'00'
+p3117
+aS'00'
+p3118
+aS'00'
+p3119
+aS'00'
+p3120
+aS'00'
+p3121
+aS'80'
+p3122
+aS'b9'
+p3123
+aS'00'
+p3124
+aS'00'
+p3125
+asg123
+(lp3126
+g49
+aS'55'
+p3127
+aS'06'
+p3128
+aS'19'
+p3129
+aS'8f'
+p3130
+aS'4a'
+p3131
+aS'80'
+p3132
+aS'20'
+p3133
+aS'50'
+p3134
+aS'00'
+p3135
+aS'00'
+p3136
+aS'00'
+p3137
+aS'20'
+p3138
+aS'00'
+p3139
+aS'00'
+p3140
+aS'00'
+p3141
+aS'00'
+p3142
+aS'00'
+p3143
+aS'00'
+p3144
+aS'00'
+p3145
+aS'b9'
+p3146
+aS'00'
+p3147
+aS'00'
+p3148
+aS'2b'
+p3149
+asg148
+S'Germany'
+p3150
+sg150
+I0
+sg151
+I01
+sg152
+I3
+sba(ipyCatcherModel
+BaseStationInformation
+p3151
+(dp3152
+g6
+(lp3153
+g49
+aS'01'
+p3154
+aS'06'
+p3155
+aS'03'
+p3156
+aS'df'
+p3157
+aS'e8'
+p3158
+aS'80'
+p3159
+aS'44'
+p3160
+aS'08'
+p3161
+aS'00'
+p3162
+aS'00'
+p3163
+aS'00'
+p3164
+aS'00'
+p3165
+aS'00'
+p3166
+aS'00'
+p3167
+aS'00'
+p3168
+aS'00'
+p3169
+aS'00'
+p3170
+aS'00'
+p3171
+aS'00'
+p3172
+aS'2b'
+p3173
+aS'2b'
+p3174
+aS'2b'
+p3175
+aS'2b'
+p3176
+asg8
+(dp3177
+g10
+g11
+ssg12
+(dp3178
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I55268
+sg27
+(lp3179
+I802
+aI803
+aI806
+aI809
+aI812
+aI820
+aI822
+aI823
+aI825
+aI977
+aI986
+aI990
+aI997
+asg29
+I-89
+sg30
+S'E-Plus'
+p3180
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I828
+sg37
+g38
+sg39
+S'14:59:17'
+p3181
+sg41
+I588
+sg42
+g11
+sg43
+S'3,2'
+p3182
+sg45
+(lp3183
+sg47
+(lp3184
+g49
+aS'31'
+p3185
+aS'06'
+p3186
+aS'1c'
+p3187
+aS'62'
+p3188
+aS'f2'
+p3189
+aS'30'
+p3190
+aS'02'
+p3191
+aS'4c'
+p3192
+aS'60'
+p3193
+aS'0f'
+p3194
+aS'94'
+p3195
+aS'00'
+p3196
+aS'00'
+p3197
+aS'86'
+p3198
+aS'00'
+p3199
+aS'43'
+p3200
+aS'2b'
+p3201
+aS'2b'
+p3202
+aS'2b'
+p3203
+aS'2b'
+p3204
+aS'2b'
+p3205
+aS'2b'
+p3206
+aS'2b'
+p3207
+asg73
+(lp3208
+g49
+aS'49'
+p3209
+aS'06'
+p3210
+aS'1b'
+p3211
+aS'd7'
+p3212
+aS'e4'
+p3213
+aS'62'
+p3214
+aS'f2'
+p3215
+aS'30'
+p3216
+aS'02'
+p3217
+aS'4c'
+p3218
+aS'c9'
+p3219
+aS'05'
+p3220
+aS'78'
+p3221
+aS'46'
+p3222
+aS'60'
+p3223
+aS'0f'
+p3224
+aS'94'
+p3225
+aS'00'
+p3226
+aS'00'
+p3227
+aS'86'
+p3228
+aS'00'
+p3229
+aS'40'
+p3230
+aS'4b'
+p3231
+asg98
+(lp3232
+g49
+aS'59'
+p3233
+aS'06'
+p3234
+aS'1a'
+p3235
+aS'9f'
+p3236
+aS'91'
+p3237
+aS'49'
+p3238
+aS'20'
+p3239
+aS'2d'
+p3240
+aS'20'
+p3241
+aS'00'
+p3242
+aS'00'
+p3243
+aS'00'
+p3244
+aS'00'
+p3245
+aS'00'
+p3246
+aS'00'
+p3247
+aS'00'
+p3248
+aS'00'
+p3249
+aS'00'
+p3250
+aS'00'
+p3251
+aS'08'
+p3252
+aS'94'
+p3253
+aS'00'
+p3254
+aS'00'
+p3255
+asg123
+(lp3256
+g49
+aS'55'
+p3257
+aS'06'
+p3258
+aS'19'
+p3259
+aS'8f'
+p3260
+aS'85'
+p3261
+aS'cc'
+p3262
+aS'00'
+p3263
+aS'02'
+p3264
+aS'00'
+p3265
+aS'00'
+p3266
+aS'00'
+p3267
+aS'40'
+p3268
+aS'00'
+p3269
+aS'00'
+p3270
+aS'08'
+p3271
+aS'00'
+p3272
+aS'00'
+p3273
+aS'00'
+p3274
+aS'00'
+p3275
+aS'94'
+p3276
+aS'00'
+p3277
+aS'00'
+p3278
+aS'2b'
+p3279
+asg148
+S'Germany'
+p3280
+sg150
+I0
+sg151
+I01
+sg152
+I2
+sba(ipyCatcherModel
+BaseStationInformation
+p3281
+(dp3282
+g6
+(lp3283
+sg8
+(dp3284
+g10
+g11
+ssg12
+(dp3285
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I15616
+sg27
+(lp3286
+I17
+aI18
+aI19
+aI38
+aI43
+aI83
+aI97
+aI100
+asg29
+I-93
+sg30
+S'T-Mobile'
+p3287
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I21
+sg37
+g38
+sg39
+S'14:57:09'
+p3288
+sg41
+I21014
+sg42
+g11
+sg43
+S'3,0'
+p3289
+sg45
+(lp3290
+sg47
+(lp3291
+g49
+aS'31'
+p3292
+aS'06'
+p3293
+aS'1c'
+p3294
+aS'62'
+p3295
+aS'f2'
+p3296
+aS'10'
+p3297
+aS'52'
+p3298
+aS'16'
+p3299
+aS'65'
+p3300
+aS'04'
+p3301
+aS'a5'
+p3302
+aS'00'
+p3303
+aS'00'
+p3304
+aS'1d'
+p3305
+aS'2b'
+p3306
+aS'2b'
+p3307
+aS'2b'
+p3308
+aS'2b'
+p3309
+aS'2b'
+p3310
+aS'2b'
+p3311
+aS'2b'
+p3312
+aS'2b'
+p3313
+aS'2b'
+p3314
+asg73
+(lp3315
+g49
+aS'49'
+p3316
+aS'06'
+p3317
+aS'1b'
+p3318
+aS'3d'
+p3319
+aS'00'
+p3320
+aS'62'
+p3321
+aS'f2'
+p3322
+aS'10'
+p3323
+aS'52'
+p3324
+aS'16'
+p3325
+aS'd8'
+p3326
+aS'04'
+p3327
+aS'1e'
+p3328
+aS'58'
+p3329
+aS'65'
+p3330
+aS'04'
+p3331
+aS'a5'
+p3332
+aS'00'
+p3333
+aS'00'
+p3334
+aS'3f'
+p3335
+aS'b3'
+p3336
+aS'2b'
+p3337
+aS'2b'
+p3338
+asg98
+(lp3339
+g49
+aS'59'
+p3340
+aS'06'
+p3341
+aS'1a'
+p3342
+aS'10'
+p3343
+aS'00'
+p3344
+aS'00'
+p3345
+aS'09'
+p3346
+aS'00'
+p3347
+aS'04'
+p3348
+aS'00'
+p3349
+aS'00'
+p3350
+aS'00'
+p3351
+aS'00'
+p3352
+aS'04'
+p3353
+aS'20'
+p3354
+aS'00'
+p3355
+aS'17'
+p3356
+aS'00'
+p3357
+aS'00'
+p3358
+aS'88'
+p3359
+aS'a5'
+p3360
+aS'00'
+p3361
+aS'00'
+p3362
+asg123
+(lp3363
+g49
+aS'55'
+p3364
+aS'06'
+p3365
+aS'19'
+p3366
+aS'00'
+p3367
+aS'00'
+p3368
+aS'00'
+p3369
+aS'00'
+p3370
+aS'00'
+p3371
+aS'00'
+p3372
+aS'00'
+p3373
+aS'00'
+p3374
+aS'00'
+p3375
+aS'00'
+p3376
+aS'00'
+p3377
+aS'00'
+p3378
+aS'00'
+p3379
+aS'10'
+p3380
+aS'40'
+p3381
+aS'00'
+p3382
+aS'a5'
+p3383
+aS'00'
+p3384
+aS'00'
+p3385
+aS'2b'
+p3386
+asg148
+S'Germany'
+p3387
+sg150
+I0
+sg151
+I01
+sg152
+I1
+sba(ipyCatcherModel
+BaseStationInformation
+p3388
+(dp3389
+g6
+(lp3390
+sg8
+(dp3391
+g10
+g11
+ssg12
+(dp3392
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I47561
+sg27
+(lp3393
+I21
+aI31
+aI36
+aI43
+aI49
+aI84
+aI93
+aI96
+aI97
+aI98
+aI100
+asg29
+I-84
+sg30
+S'T-Mobile'
+p3394
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I17
+sg37
+g38
+sg39
+S'15:01:11'
+p3395
+sg41
+I21014
+sg42
+g11
+sg43
+S'3,5'
+p3396
+sg45
+(lp3397
+sg47
+(lp3398
+g49
+aS'31'
+p3399
+aS'06'
+p3400
+aS'1c'
+p3401
+aS'62'
+p3402
+aS'f2'
+p3403
+aS'10'
+p3404
+aS'52'
+p3405
+aS'16'
+p3406
+aS'65'
+p3407
+aS'04'
+p3408
+aS'a5'
+p3409
+aS'00'
+p3410
+aS'00'
+p3411
+aS'1d'
+p3412
+aS'2b'
+p3413
+aS'2b'
+p3414
+aS'2b'
+p3415
+aS'2b'
+p3416
+aS'2b'
+p3417
+aS'2b'
+p3418
+aS'2b'
+p3419
+aS'2b'
+p3420
+aS'2b'
+p3421
+asg73
+(lp3422
+g49
+aS'49'
+p3423
+aS'06'
+p3424
+aS'1b'
+p3425
+aS'b9'
+p3426
+aS'c9'
+p3427
+aS'62'
+p3428
+aS'f2'
+p3429
+aS'10'
+p3430
+aS'52'
+p3431
+aS'16'
+p3432
+aS'd8'
+p3433
+aS'04'
+p3434
+aS'1e'
+p3435
+aS'58'
+p3436
+aS'65'
+p3437
+aS'04'
+p3438
+aS'a5'
+p3439
+aS'00'
+p3440
+aS'00'
+p3441
+aS'3f'
+p3442
+aS'b3'
+p3443
+aS'2b'
+p3444
+aS'2b'
+p3445
+asg98
+(lp3446
+g49
+aS'59'
+p3447
+aS'06'
+p3448
+aS'1a'
+p3449
+aS'10'
+p3450
+aS'00'
+p3451
+aS'00'
+p3452
+aS'0b'
+p3453
+aS'90'
+p3454
+aS'08'
+p3455
+aS'00'
+p3456
+aS'00'
+p3457
+aS'00'
+p3458
+aS'01'
+p3459
+aS'04'
+p3460
+aS'08'
+p3461
+aS'40'
+p3462
+aS'11'
+p3463
+aS'00'
+p3464
+aS'00'
+p3465
+aS'88'
+p3466
+aS'a5'
+p3467
+aS'00'
+p3468
+aS'00'
+p3469
+asg123
+(lp3470
+g49
+aS'55'
+p3471
+aS'06'
+p3472
+aS'19'
+p3473
+aS'00'
+p3474
+aS'00'
+p3475
+aS'00'
+p3476
+aS'20'
+p3477
+aS'00'
+p3478
+aS'00'
+p3479
+aS'00'
+p3480
+aS'00'
+p3481
+aS'00'
+p3482
+aS'00'
+p3483
+aS'00'
+p3484
+aS'00'
+p3485
+aS'00'
+p3486
+aS'41'
+p3487
+aS'00'
+p3488
+aS'00'
+p3489
+aS'a5'
+p3490
+aS'00'
+p3491
+aS'00'
+p3492
+aS'2b'
+p3493
+asg148
+S'Germany'
+p3494
+sg150
+I0
+sg151
+I01
+sg152
+I2
+sba(ipyCatcherModel
+BaseStationInformation
+p3495
+(dp3496
+g6
+(lp3497
+g49
+aS'49'
+p3498
+aS'06'
+p3499
+aS'03'
+p3500
+aS'cf'
+p3501
+aS'fe'
+p3502
+aS'80'
+p3503
+aS'00'
+p3504
+aS'00'
+p3505
+aS'00'
+p3506
+aS'00'
+p3507
+aS'00'
+p3508
+aS'00'
+p3509
+aS'00'
+p3510
+aS'00'
+p3511
+aS'00'
+p3512
+aS'00'
+p3513
+aS'00'
+p3514
+aS'00'
+p3515
+aS'00'
+p3516
+aS'2b'
+p3517
+aS'2b'
+p3518
+aS'2b'
+p3519
+aS'2b'
+p3520
+asg8
+(dp3521
+g10
+g11
+ssg12
+(dp3522
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I9790
+sg27
+(lp3523
+I640
+aI654
+aI657
+aI659
+aI675
+aI676
+aI677
+aI679
+aI685
+aI703
+aI711
+aI1021
+asg29
+I-95
+sg30
+S'O2'
+p3524
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I669
+sg37
+g38
+sg39
+S'14:58:26'
+p3525
+sg41
+I50945
+sg42
+g11
+sg43
+S'7,0'
+p3526
+sg45
+(lp3527
+sg47
+(lp3528
+g49
+aS'41'
+p3529
+aS'06'
+p3530
+aS'1c'
+p3531
+aS'62'
+p3532
+aS'f2'
+p3533
+aS'70'
+p3534
+aS'c7'
+p3535
+aS'01'
+p3536
+aS'60'
+p3537
+aS'45'
+p3538
+aS'b9'
+p3539
+aS'00'
+p3540
+aS'00'
+p3541
+aS'64'
+p3542
+aS'51'
+p3543
+aS'02'
+p3544
+aS'9d'
+p3545
+aS'51'
+p3546
+aS'2b'
+p3547
+aS'2b'
+p3548
+aS'2b'
+p3549
+aS'2b'
+p3550
+aS'2b'
+p3551
+asg73
+(lp3552
+g49
+aS'49'
+p3553
+aS'06'
+p3554
+aS'1b'
+p3555
+aS'26'
+p3556
+aS'3e'
+p3557
+aS'62'
+p3558
+aS'f2'
+p3559
+aS'70'
+p3560
+aS'c7'
+p3561
+aS'01'
+p3562
+aS'd0'
+p3563
+aS'03'
+p3564
+aS'28'
+p3565
+aS'57'
+p3566
+aS'60'
+p3567
+aS'45'
+p3568
+aS'b9'
+p3569
+aS'00'
+p3570
+aS'00'
+p3571
+aS'56'
+p3572
+aS'25'
+p3573
+aS'2b'
+p3574
+aS'2b'
+p3575
+asg98
+(lp3576
+g49
+aS'59'
+p3577
+aS'06'
+p3578
+aS'1a'
+p3579
+aS'8f'
+p3580
+aS'40'
+p3581
+aS'00'
+p3582
+aS'02'
+p3583
+aS'50'
+p3584
+aS'00'
+p3585
+aS'1d'
+p3586
+aS'04'
+p3587
+aS'00'
+p3588
+aS'01'
+p3589
+aS'01'
+p3590
+aS'00'
+p3591
+aS'00'
+p3592
+aS'00'
+p3593
+aS'00'
+p3594
+aS'00'
+p3595
+aS'80'
+p3596
+aS'b9'
+p3597
+aS'00'
+p3598
+aS'00'
+p3599
+asg123
+(lp3600
+g49
+aS'55'
+p3601
+aS'06'
+p3602
+aS'19'
+p3603
+aS'8f'
+p3604
+aS'45'
+p3605
+aS'20'
+p3606
+aS'00'
+p3607
+aS'91'
+p3608
+aS'00'
+p3609
+aS'00'
+p3610
+aS'00'
+p3611
+aS'00'
+p3612
+aS'00'
+p3613
+aS'00'
+p3614
+aS'00'
+p3615
+aS'00'
+p3616
+aS'00'
+p3617
+aS'00'
+p3618
+aS'00'
+p3619
+aS'b9'
+p3620
+aS'00'
+p3621
+aS'00'
+p3622
+aS'2b'
+p3623
+asg148
+S'Germany'
+p3624
+sg150
+I0
+sg151
+I01
+sg152
+I1
+sba(ipyCatcherModel
+BaseStationInformation
+p3625
+(dp3626
+g6
+(lp3627
+g49
+aS'01'
+p3628
+aS'06'
+p3629
+aS'03'
+p3630
+aS'8f'
+p3631
+aS'2b'
+p3632
+aS'80'
+p3633
+aS'00'
+p3634
+aS'00'
+p3635
+aS'00'
+p3636
+aS'00'
+p3637
+aS'00'
+p3638
+aS'00'
+p3639
+aS'00'
+p3640
+aS'00'
+p3641
+aS'00'
+p3642
+aS'00'
+p3643
+aS'00'
+p3644
+aS'00'
+p3645
+aS'00'
+p3646
+aS'2b'
+p3647
+aS'2b'
+p3648
+aS'2b'
+p3649
+aS'2b'
+p3650
+asg8
+(dp3651
+g10
+g19
+ssg12
+(dp3652
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g288
+sg20
+g17
+sg21
+g288
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I7440
+sg27
+(lp3653
+I15
+aI16
+aI31
+aI37
+aI40
+aI43
+aI46
+aI95
+aI98
+aI124
+aI599
+asg29
+I-100
+sg30
+S'T-Mobile'
+p3654
+sg32
+I0
+sg33
+g34
+sg35
+g288
+sg36
+I92
+sg37
+g38
+sg39
+S'14:58:33'
+p3655
+sg41
+I21013
+sg42
+g11
+sg43
+S'7,5'
+p3656
+sg45
+(lp3657
+sg47
+(lp3658
+g49
+aS'31'
+p3659
+aS'06'
+p3660
+aS'1c'
+p3661
+aS'62'
+p3662
+aS'f2'
+p3663
+aS'10'
+p3664
+aS'52'
+p3665
+aS'15'
+p3666
+aS'65'
+p3667
+aS'04'
+p3668
+aS'a5'
+p3669
+aS'00'
+p3670
+aS'00'
+p3671
+aS'19'
+p3672
+aS'2b'
+p3673
+aS'2b'
+p3674
+aS'2b'
+p3675
+aS'2b'
+p3676
+aS'2b'
+p3677
+aS'2b'
+p3678
+aS'2b'
+p3679
+aS'2b'
+p3680
+aS'2b'
+p3681
+asg73
+(lp3682
+g49
+aS'49'
+p3683
+aS'06'
+p3684
+aS'1b'
+p3685
+aS'1d'
+p3686
+aS'10'
+p3687
+aS'62'
+p3688
+aS'f2'
+p3689
+aS'10'
+p3690
+aS'52'
+p3691
+aS'15'
+p3692
+aS'd8'
+p3693
+aS'04'
+p3694
+aS'1e'
+p3695
+aS'58'
+p3696
+aS'65'
+p3697
+aS'04'
+p3698
+aS'a5'
+p3699
+aS'00'
+p3700
+aS'00'
+p3701
+aS'1f'
+p3702
+aS'33'
+p3703
+aS'2b'
+p3704
+aS'2b'
+p3705
+asg98
+(lp3706
+g49
+aS'59'
+p3707
+aS'06'
+p3708
+aS'1a'
+p3709
+aS'08'
+p3710
+aS'00'
+p3711
+aS'00'
+p3712
+aS'02'
+p3713
+aS'48'
+p3714
+aS'00'
+p3715
+aS'00'
+p3716
+aS'00'
+p3717
+aS'00'
+p3718
+aS'00'
+p3719
+aS'24'
+p3720
+aS'90'
+p3721
+aS'40'
+p3722
+aS'00'
+p3723
+aS'c0'
+p3724
+aS'00'
+p3725
+aS'88'
+p3726
+aS'a5'
+p3727
+aS'00'
+p3728
+aS'00'
+p3729
+asg123
+(lp3730
+g49
+aS'55'
+p3731
+aS'06'
+p3732
+aS'19'
+p3733
+aS'00'
+p3734
+aS'00'
+p3735
+aS'00'
+p3736
+aS'00'
+p3737
+aS'08'
+p3738
+aS'20'
+p3739
+aS'00'
+p3740
+aS'00'
+p3741
+aS'00'
+p3742
+aS'00'
+p3743
+aS'00'
+p3744
+aS'00'
+p3745
+aS'00'
+p3746
+aS'10'
+p3747
+aS'00'
+p3748
+aS'00'
+p3749
+aS'a5'
+p3750
+aS'00'
+p3751
+aS'00'
+p3752
+aS'2b'
+p3753
+asg148
+S'Germany'
+p3754
+sg150
+I0
+sg151
+I01
+sg152
+I1
+sba(ipyCatcherModel
+BaseStationInformation
+p3755
+(dp3756
+g6
+(lp3757
+g49
+aS'49'
+p3758
+aS'06'
+p3759
+aS'03'
+p3760
+aS'cf'
+p3761
+aS'f5'
+p3762
+aS'81'
+p3763
+aS'90'
+p3764
+aS'50'
+p3765
+aS'00'
+p3766
+aS'00'
+p3767
+aS'00'
+p3768
+aS'00'
+p3769
+aS'00'
+p3770
+aS'00'
+p3771
+aS'00'
+p3772
+aS'00'
+p3773
+aS'00'
+p3774
+aS'00'
+p3775
+aS'00'
+p3776
+aS'2b'
+p3777
+aS'2b'
+p3778
+aS'2b'
+p3779
+aS'2b'
+p3780
+asg8
+(dp3781
+g10
+g11
+ssg12
+(dp3782
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I9789
+sg27
+(lp3783
+I640
+aI644
+aI653
+aI654
+aI669
+aI670
+aI682
+aI697
+aI705
+aI711
+aI1003
+aI1010
+aI1011
+aI1014
+aI1020
+aI1022
+asg29
+I-92
+sg30
+S'O2'
+p3784
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I667
+sg37
+g38
+sg39
+S'15:01:40'
+p3785
+sg41
+I50945
+sg42
+g11
+sg43
+S'7,5'
+p3786
+sg45
+(lp3787
+sg47
+(lp3788
+g49
+aS'41'
+p3789
+aS'06'
+p3790
+aS'1c'
+p3791
+aS'62'
+p3792
+aS'f2'
+p3793
+aS'70'
+p3794
+aS'c7'
+p3795
+aS'01'
+p3796
+aS'60'
+p3797
+aS'45'
+p3798
+aS'b9'
+p3799
+aS'00'
+p3800
+aS'00'
+p3801
+aS'64'
+p3802
+aS'51'
+p3803
+aS'a2'
+p3804
+aS'9b'
+p3805
+aS'51'
+p3806
+aS'2b'
+p3807
+aS'2b'
+p3808
+aS'2b'
+p3809
+aS'2b'
+p3810
+aS'2b'
+p3811
+asg73
+(lp3812
+g49
+aS'49'
+p3813
+aS'06'
+p3814
+aS'1b'
+p3815
+aS'26'
+p3816
+aS'3d'
+p3817
+aS'62'
+p3818
+aS'f2'
+p3819
+aS'70'
+p3820
+aS'c7'
+p3821
+aS'01'
+p3822
+aS'd0'
+p3823
+aS'03'
+p3824
+aS'28'
+p3825
+aS'57'
+p3826
+aS'60'
+p3827
+aS'45'
+p3828
+aS'b9'
+p3829
+aS'00'
+p3830
+aS'00'
+p3831
+aS'56'
+p3832
+aS'25'
+p3833
+aS'2b'
+p3834
+aS'2b'
+p3835
+asg98
+(lp3836
+g49
+aS'59'
+p3837
+aS'06'
+p3838
+aS'1a'
+p3839
+aS'8f'
+p3840
+aS'40'
+p3841
+aS'08'
+p3842
+aS'06'
+p3843
+aS'00'
+p3844
+aS'06'
+p3845
+aS'00'
+p3846
+aS'20'
+p3847
+aS'00'
+p3848
+aS'40'
+p3849
+aS'41'
+p3850
+aS'00'
+p3851
+aS'00'
+p3852
+aS'00'
+p3853
+aS'00'
+p3854
+aS'00'
+p3855
+aS'80'
+p3856
+aS'b9'
+p3857
+aS'00'
+p3858
+aS'00'
+p3859
+asg123
+(lp3860
+g49
+aS'55'
+p3861
+aS'06'
+p3862
+aS'19'
+p3863
+aS'8f'
+p3864
+aS'45'
+p3865
+aS'00'
+p3866
+aS'00'
+p3867
+aS'40'
+p3868
+aS'a0'
+p3869
+aS'00'
+p3870
+aS'20'
+p3871
+aS'00'
+p3872
+aS'00'
+p3873
+aS'00'
+p3874
+aS'00'
+p3875
+aS'00'
+p3876
+aS'00'
+p3877
+aS'00'
+p3878
+aS'00'
+p3879
+aS'b9'
+p3880
+aS'00'
+p3881
+aS'00'
+p3882
+aS'2b'
+p3883
+asg148
+S'Germany'
+p3884
+sg150
+I0
+sg151
+I01
+sg152
+I2
+sba(ipyCatcherModel
+BaseStationInformation
+p3885
+(dp3886
+g6
+(lp3887
+g49
+aS'01'
+p3888
+aS'06'
+p3889
+aS'03'
+p3890
+aS'df'
+p3891
+aS'91'
+p3892
+aS'08'
+p3893
+aS'26'
+p3894
+aS'a6'
+p3895
+aS'00'
+p3896
+aS'00'
+p3897
+aS'00'
+p3898
+aS'00'
+p3899
+aS'00'
+p3900
+aS'00'
+p3901
+aS'00'
+p3902
+aS'00'
+p3903
+aS'00'
+p3904
+aS'00'
+p3905
+aS'00'
+p3906
+aS'2b'
+p3907
+aS'2b'
+p3908
+aS'2b'
+p3909
+aS'2b'
+p3910
+asg8
+(dp3911
+g10
+g11
+ssg12
+(dp3912
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I52408
+sg27
+(lp3913
+I802
+aI806
+aI812
+aI815
+aI816
+aI818
+aI820
+aI823
+aI824
+aI984
+aI986
+aI987
+aI991
+aI996
+asg29
+I-99
+sg30
+S'E-Plus'
+p3914
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I985
+sg37
+g38
+sg39
+S'14:59:42'
+p3915
+sg41
+I588
+sg42
+g11
+sg43
+S'3,7'
+p3916
+sg45
+(lp3917
+sg47
+(lp3918
+g49
+aS'31'
+p3919
+aS'06'
+p3920
+aS'1c'
+p3921
+aS'62'
+p3922
+aS'f2'
+p3923
+aS'30'
+p3924
+aS'02'
+p3925
+aS'4c'
+p3926
+aS'65'
+p3927
+aS'03'
+p3928
+aS'94'
+p3929
+aS'00'
+p3930
+aS'00'
+p3931
+aS'89'
+p3932
+aS'1f'
+p3933
+aS'43'
+p3934
+aS'2b'
+p3935
+aS'2b'
+p3936
+aS'2b'
+p3937
+aS'2b'
+p3938
+aS'2b'
+p3939
+aS'2b'
+p3940
+aS'2b'
+p3941
+asg73
+(lp3942
+g49
+aS'49'
+p3943
+aS'06'
+p3944
+aS'1b'
+p3945
+aS'cc'
+p3946
+aS'b8'
+p3947
+aS'62'
+p3948
+aS'f2'
+p3949
+aS'30'
+p3950
+aS'02'
+p3951
+aS'4c'
+p3952
+aS'c9'
+p3953
+aS'05'
+p3954
+aS'78'
+p3955
+aS'46'
+p3956
+aS'65'
+p3957
+aS'03'
+p3958
+aS'94'
+p3959
+aS'00'
+p3960
+aS'00'
+p3961
+aS'89'
+p3962
+aS'1f'
+p3963
+aS'40'
+p3964
+aS'4b'
+p3965
+asg98
+(lp3966
+g49
+aS'59'
+p3967
+aS'06'
+p3968
+aS'1a'
+p3969
+aS'9b'
+p3970
+aS'ec'
+p3971
+aS'01'
+p3972
+aS'ff'
+p3973
+aS'13'
+p3974
+aS'ff'
+p3975
+aS'60'
+p3976
+aS'00'
+p3977
+aS'00'
+p3978
+aS'00'
+p3979
+aS'00'
+p3980
+aS'00'
+p3981
+aS'00'
+p3982
+aS'00'
+p3983
+aS'00'
+p3984
+aS'00'
+p3985
+aS'08'
+p3986
+aS'94'
+p3987
+aS'00'
+p3988
+aS'00'
+p3989
+asg123
+(lp3990
+g49
+aS'55'
+p3991
+aS'06'
+p3992
+aS'19'
+p3993
+aS'8f'
+p3994
+aS'ec'
+p3995
+aS'80'
+p3996
+aS'00'
+p3997
+aS'00'
+p3998
+aS'00'
+p3999
+aS'00'
+p4000
+aS'00'
+p4001
+aS'00'
+p4002
+aS'00'
+p4003
+aS'00'
+p4004
+aS'00'
+p4005
+aS'00'
+p4006
+aS'00'
+p4007
+aS'00'
+p4008
+aS'00'
+p4009
+aS'94'
+p4010
+aS'00'
+p4011
+aS'00'
+p4012
+aS'2b'
+p4013
+asg148
+S'Germany'
+p4014
+sg150
+I0
+sg151
+I01
+sg152
+I1
+sba(ipyCatcherModel
+BaseStationInformation
+p4015
+(dp4016
+g6
+(lp4017
+sg8
+(dp4018
+g10
+g11
+ssg12
+(dp4019
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I17311
+sg27
+(lp4020
+I55
+aI59
+aI67
+aI68
+aI77
+aI113
+aI117
+asg29
+I-101
+sg30
+S'Vodafone'
+p4021
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I64
+sg37
+g38
+sg39
+S'15:02:42'
+p4022
+sg41
+I793
+sg42
+g11
+sg43
+S'3,2'
+p4023
+sg45
+(lp4024
+sg47
+(lp4025
+g49
+aS'31'
+p4026
+aS'06'
+p4027
+aS'1c'
+p4028
+aS'62'
+p4029
+aS'f2'
+p4030
+aS'20'
+p4031
+aS'03'
+p4032
+aS'19'
+p4033
+aS'65'
+p4034
+aS'00'
+p4035
+aS'b9'
+p4036
+aS'00'
+p4037
+aS'00'
+p4038
+aS'80'
+p4039
+aS'1f'
+p4040
+aS'4b'
+p4041
+aS'2b'
+p4042
+aS'2b'
+p4043
+aS'2b'
+p4044
+aS'2b'
+p4045
+aS'2b'
+p4046
+aS'2b'
+p4047
+aS'2b'
+p4048
+asg73
+(lp4049
+g49
+aS'49'
+p4050
+aS'06'
+p4051
+aS'1b'
+p4052
+aS'43'
+p4053
+aS'9f'
+p4054
+aS'62'
+p4055
+aS'f2'
+p4056
+aS'20'
+p4057
+aS'03'
+p4058
+aS'19'
+p4059
+aS'c8'
+p4060
+aS'04'
+p4061
+aS'0a'
+p4062
+aS'15'
+p4063
+aS'65'
+p4064
+aS'00'
+p4065
+aS'b9'
+p4066
+aS'00'
+p4067
+aS'00'
+p4068
+aS'80'
+p4069
+aS'1f'
+p4070
+aS'01'
+p4071
+aS'1b'
+p4072
+asg98
+(lp4073
+g49
+aS'59'
+p4074
+aS'06'
+p4075
+aS'1a'
+p4076
+aS'00'
+p4077
+aS'11'
+p4078
+aS'00'
+p4079
+aS'00'
+p4080
+aS'00'
+p4081
+aS'00'
+p4082
+aS'10'
+p4083
+aS'0c'
+p4084
+aS'04'
+p4085
+aS'40'
+p4086
+aS'00'
+p4087
+aS'00'
+p4088
+aS'00'
+p4089
+aS'00'
+p4090
+aS'00'
+p4091
+aS'00'
+p4092
+aS'88'
+p4093
+aS'b9'
+p4094
+aS'00'
+p4095
+aS'00'
+p4096
+asg123
+(lp4097
+g49
+aS'55'
+p4098
+aS'06'
+p4099
+aS'19'
+p4100
+aS'00'
+p4101
+aS'00'
+p4102
+aS'00'
+p4103
+aS'00'
+p4104
+aS'00'
+p4105
+aS'00'
+p4106
+aS'20'
+p4107
+aS'00'
+p4108
+aS'08'
+p4109
+aS'08'
+p4110
+aS'00'
+p4111
+aS'00'
+p4112
+aS'00'
+p4113
+aS'00'
+p4114
+aS'00'
+p4115
+aS'00'
+p4116
+aS'b9'
+p4117
+aS'00'
+p4118
+aS'00'
+p4119
+aS'83'
+p4120
+asg148
+S'Germany'
+p4121
+sg150
+I0
+sg151
+I01
+sg152
+I2
+sba(ipyCatcherModel
+BaseStationInformation
+p4122
+(dp4123
+g6
+(lp4124
+sg8
+(dp4125
+g10
+g11
+ssg12
+(dp4126
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I13677
+sg27
+(lp4127
+I17
+aI19
+aI43
+aI49
+aI93
+aI96
+asg29
+I-104
+sg30
+S'T-Mobile'
+p4128
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I84
+sg37
+g38
+sg39
+S'14:59:53'
+p4129
+sg41
+I21014
+sg42
+g11
+sg43
+S'3,4'
+p4130
+sg45
+(lp4131
+sg47
+(lp4132
+g49
+aS'31'
+p4133
+aS'06'
+p4134
+aS'1c'
+p4135
+aS'62'
+p4136
+aS'f2'
+p4137
+aS'10'
+p4138
+aS'52'
+p4139
+aS'16'
+p4140
+aS'65'
+p4141
+aS'04'
+p4142
+aS'a5'
+p4143
+aS'00'
+p4144
+aS'00'
+p4145
+aS'1d'
+p4146
+aS'2b'
+p4147
+aS'2b'
+p4148
+aS'2b'
+p4149
+aS'2b'
+p4150
+aS'2b'
+p4151
+aS'2b'
+p4152
+aS'2b'
+p4153
+aS'2b'
+p4154
+aS'2b'
+p4155
+asg73
+(lp4156
+g49
+aS'49'
+p4157
+aS'06'
+p4158
+aS'1b'
+p4159
+aS'35'
+p4160
+aS'6d'
+p4161
+aS'62'
+p4162
+aS'f2'
+p4163
+aS'10'
+p4164
+aS'52'
+p4165
+aS'16'
+p4166
+aS'd8'
+p4167
+aS'04'
+p4168
+aS'1e'
+p4169
+aS'58'
+p4170
+aS'65'
+p4171
+aS'04'
+p4172
+aS'a5'
+p4173
+aS'00'
+p4174
+aS'00'
+p4175
+aS'3f'
+p4176
+aS'b3'
+p4177
+aS'2b'
+p4178
+aS'2b'
+p4179
+asg98
+(lp4180
+g49
+aS'59'
+p4181
+aS'06'
+p4182
+aS'1a'
+p4183
+aS'00'
+p4184
+aS'00'
+p4185
+aS'00'
+p4186
+aS'00'
+p4187
+aS'90'
+p4188
+aS'08'
+p4189
+aS'00'
+p4190
+aS'00'
+p4191
+aS'00'
+p4192
+aS'01'
+p4193
+aS'04'
+p4194
+aS'00'
+p4195
+aS'00'
+p4196
+aS'05'
+p4197
+aS'00'
+p4198
+aS'00'
+p4199
+aS'88'
+p4200
+aS'a5'
+p4201
+aS'00'
+p4202
+aS'00'
+p4203
+asg123
+(lp4204
+g49
+aS'55'
+p4205
+aS'06'
+p4206
+aS'19'
+p4207
+aS'00'
+p4208
+aS'00'
+p4209
+aS'00'
+p4210
+aS'00'
+p4211
+aS'00'
+p4212
+aS'08'
+p4213
+aS'00'
+p4214
+aS'00'
+p4215
+aS'00'
+p4216
+aS'00'
+p4217
+aS'00'
+p4218
+aS'01'
+p4219
+aS'00'
+p4220
+aS'00'
+p4221
+aS'00'
+p4222
+aS'00'
+p4223
+aS'a5'
+p4224
+aS'00'
+p4225
+aS'00'
+p4226
+aS'2b'
+p4227
+asg148
+S'Germany'
+p4228
+sg150
+I0
+sg151
+I01
+sg152
+I1
+sba(ipyCatcherModel
+BaseStationInformation
+p4229
+(dp4230
+g6
+(lp4231
+g49
+aS'49'
+p4232
+aS'06'
+p4233
+aS'03'
+p4234
+aS'cf'
+p4235
+aS'fe'
+p4236
+aS'80'
+p4237
+aS'00'
+p4238
+aS'00'
+p4239
+aS'00'
+p4240
+aS'00'
+p4241
+aS'00'
+p4242
+aS'00'
+p4243
+aS'00'
+p4244
+aS'00'
+p4245
+aS'00'
+p4246
+aS'00'
+p4247
+aS'00'
+p4248
+aS'00'
+p4249
+aS'00'
+p4250
+aS'2b'
+p4251
+aS'2b'
+p4252
+aS'2b'
+p4253
+aS'2b'
+p4254
+asg8
+(dp4255
+g10
+g11
+ssg12
+(dp4256
+g14
+g15
+sg16
+g17
+sg18
+g15
+sg19
+g15
+sg20
+g17
+sg21
+g15
+sg22
+g15
+sg23
+g15
+sg24
+g15
+sg25
+g15
+ssg26
+I49790
+sg27
+(lp4257
+I640
+aI644
+aI654
+aI657
+aI658
+aI659
+aI668
+aI669
+aI675
+aI676
+aI677
+aI679
+aI702
+aI707
+aI711
+aI719
+aI721
+aI1021
+asg29
+I-92
+sg30
+S'O2'
+p4258
+sg32
+I0
+sg33
+g34
+sg35
+g15
+sg36
+I685
+sg37
+g38
+sg39
+S'15:00:28'
+p4259
+sg41
+I50945
+sg42
+g11
+sg43
+S'7,7'
+p4260
+sg45
+(lp4261
+g49
+aS'55'
+p4262
+aS'06'
+p4263
+aS'02'
+p4264
+aS'af'
+p4265
+aS'68'
+p4266
+aS'80'
+p4267
+aS'00'
+p4268
+aS'00'
+p4269
+aS'00'
+p4270
+aS'00'
+p4271
+aS'00'
+p4272
+aS'00'
+p4273
+aS'00'
+p4274
+aS'00'
+p4275
+aS'00'
+p4276
+aS'00'
+p4277
+aS'00'
+p4278
+aS'00'
+p4279
+aS'00'
+p4280
+aS'b9'
+p4281
+aS'00'
+p4282
+aS'00'
+p4283
+aS'2b'
+p4284
+asg47
+(lp4285
+g49
+aS'41'
+p4286
+aS'06'
+p4287
+aS'1c'
+p4288
+aS'62'
+p4289
+aS'f2'
+p4290
+aS'70'
+p4291
+aS'c7'
+p4292
+aS'01'
+p4293
+aS'60'
+p4294
+aS'45'
+p4295
+aS'b9'
+p4296
+aS'00'
+p4297
+aS'00'
+p4298
+aS'64'
+p4299
+aS'51'
+p4300
+aS'e2'
+p4301
+aS'ad'
+p4302
+aS'51'
+p4303
+aS'2b'
+p4304
+aS'2b'
+p4305
+aS'2b'
+p4306
+aS'2b'
+p4307
+aS'2b'
+p4308
+asg73
+(lp4309
+g49
+aS'49'
+p4310
+aS'06'
+p4311
+aS'1b'
+p4312
+aS'c2'
+p4313
+aS'7e'
+p4314
+aS'62'
+p4315
+aS'f2'
+p4316
+aS'70'
+p4317
+aS'c7'
+p4318
+aS'01'
+p4319
+aS'd0'
+p4320
+aS'03'
+p4321
+aS'28'
+p4322
+aS'57'
+p4323
+aS'60'
+p4324
+aS'45'
+p4325
+aS'b9'
+p4326
+aS'00'
+p4327
+aS'00'
+p4328
+aS'56'
+p4329
+aS'25'
+p4330
+aS'2b'
+p4331
+aS'2b'
+p4332
+asg98
+(lp4333
+g49
+aS'59'
+p4334
+aS'06'
+p4335
+aS'1a'
+p4336
+aS'af'
+p4337
+aS'40'
+p4338
+aS'08'
+p4339
+aS'02'
+p4340
+aS'70'
+p4341
+aS'0c'
+p4342
+aS'1d'
+p4343
+aS'00'
+p4344
+aS'00'
+p4345
+aS'02'
+p4346
+aS'11'
+p4347
+aS'01'
+p4348
+aS'00'
+p4349
+aS'00'
+p4350
+aS'00'
+p4351
+aS'00'
+p4352
+aS'80'
+p4353
+aS'b9'
+p4354
+aS'00'
+p4355
+aS'00'
+p4356
+asg123
+(lp4357
+g49
+aS'55'
+p4358
+aS'06'
+p4359
+aS'19'
+p4360
+aS'8f'
+p4361
+aS'41'
+p4362
+aS'04'
+p4363
+aS'00'
+p4364
+aS'00'
+p4365
+aS'00'
+p4366
+aS'00'
+p4367
+aS'12'
+p4368
+aS'00'
+p4369
+aS'80'
+p4370
+aS'00'
+p4371
+aS'00'
+p4372
+aS'00'
+p4373
+aS'00'
+p4374
+aS'00'
+p4375
+aS'00'
+p4376
+aS'b9'
+p4377
+aS'00'
+p4378
+aS'00'
+p4379
+aS'2b'
+p4380
+asg148
+S'Germany'
+p4381
+sg150
+I0
+sg151
+I01
+sg152
+I1
+sbasb. \ No newline at end of file
diff --git a/Src/PyCatcher/src/driverConnector.py b/Src/PyCatcher/src/driverConnector.py
index dea253f..8b20e4a 100644
--- a/Src/PyCatcher/src/driverConnector.py
+++ b/Src/PyCatcher/src/driverConnector.py
@@ -2,9 +2,15 @@ from pyCatcherModel import BaseStationInformation
import subprocess
import threading
import re
-from settings import Commands
+from settings import Commands, PCH_retries
import time
-import gtk
+import gtk
+import datetime
+import thread
+from threading import Timer
+import os
+import signal
+import select
class DriverConnector:
def __init__ (self):
@@ -15,6 +21,8 @@ class DriverConnector:
self._base_station_found_callback = None
self._firmware_thread = None
self._scan_thread = None
+ self._pch_thread = None
+ self._pch_callback = None
def start_scanning (self, base_station_found_callback):
self._base_station_found_callback = base_station_found_callback
@@ -26,6 +34,11 @@ class DriverConnector:
self._firmware_loaded_callback = firmware_loaded_callback
self._firmware_thread = FirmwareThread(self._firmware_waiting_callback, self._firmware_loaded_callback)
self._firmware_thread.start()
+
+ def start_pch_scan(self, arfcn, timeout, scan_finished_callback):
+ self._pch_callback = scan_finished_callback
+ self._pch_thread = PCHThread(arfcn, timeout, self._pch_callback)
+ self._pch_thread.start()
def stop_scanning (self):
self._scan_thread.terminate()
@@ -38,6 +51,8 @@ class DriverConnector:
self._firmware_thread.join(3)
if self._scan_thread:
self._scan_thread.join(3)
+ if self._pch_thread:
+ self._pch_thread.join(3)
class FirmwareThread(threading.Thread):
def __init__(self, firmware_waiting_callback, firmware_loaded_callback):
@@ -76,6 +91,7 @@ class ScanThread(threading.Thread):
def run(self):
scan_process = subprocess.Popen(Commands['scan_command'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
time.sleep(2)
+ printall = False
while not self._thread_break:
line = scan_process.stdout.readline()
if line:
@@ -157,4 +173,92 @@ class ScanThread(threading.Thread):
self._base_station_found_callback(base_station)
scan_process.terminate()
- \ No newline at end of file
+
+class PCHThread(threading.Thread):
+ def __init__(self, arfcn, timeout, finished_callback):
+ gtk.gdk.threads_init()
+ threading.Thread.__init__(self)
+ self._arfcn = arfcn
+ self._timeout = timeout
+ self._thread_break = False
+ self._scan_finished_callback = finished_callback
+
+ def terminate(self):
+ self._thread_break = True
+
+ def run(self):
+ pch_retries = PCH_retries
+ max_scan_time = self._timeout
+ arfcn = self._arfcn
+ pages_found = 0
+ ia_non_hop_found = 0
+ ia_hop_fund = 0
+ retry = False
+ buffer = []
+
+ command = Commands['pch_command'] + ['-a', str(arfcn)]
+ scan_process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ time.sleep(2)
+ poll_obj = select.poll()
+ poll_obj.register(scan_process.stdout, select.POLLIN)
+
+ start_time = datetime.datetime.now()
+ scan_time = datetime.datetime.now() - start_time
+
+ while(True and not self._thread_break):
+
+ if(retry):
+ scan_process.terminate()
+ scan_process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ poll_obj.register(scan_process.stdout, select.POLLIN)
+ retry = False
+
+ while(pch_retries > 0 and scan_time.seconds < max_scan_time and not self._thread_break):
+ scan_time = datetime.datetime.now() - start_time
+ poll_result = poll_obj.poll(0)
+ if poll_result:
+ line = scan_process.stdout.readline()
+ else:
+ line = None
+
+ if line:
+ if 'Paging' in line:
+ pages_found += 1
+ if 'IMM' in line:
+ if 'HOP' in line:
+ ia_hop_fund += 1
+ else:
+ ia_non_hop_found += 1
+ if 'FBSB RESP: result=255' in line:
+ if(pch_retries > 0):
+ retry = True
+ break
+
+ if(retry):
+ print 'SCAN: retry (%d)'%pch_retries
+ pch_retries -= 1
+ else:
+ break
+
+ if scan_process:
+ scan_process.kill()
+
+ result = {
+ 'Pagings': pages_found,
+ 'Assignments_hopping': ia_hop_fund,
+ 'Assignments_non_hopping': ia_non_hop_found
+ }
+
+ if not self._thread_break:
+ self._scan_finished_callback((arfcn, result))
+
+class BufferFillerThread(threading.Thread):
+ def __init__(self, buffer, process):
+ gtk.gdk.threads_init()
+ threading.Thread.__init__(self)
+ self._buffer = buffer
+ self._process = process
+
+ def run(self):
+ while(True):
+ self._buffer.append(self._process.stdout.readline()) \ No newline at end of file
diff --git a/Src/PyCatcher/src/localAreaDatabse.py b/Src/PyCatcher/src/localAreaDatabse.py
index 3cded04..de08035 100644
--- a/Src/PyCatcher/src/localAreaDatabse.py
+++ b/Src/PyCatcher/src/localAreaDatabse.py
@@ -40,7 +40,7 @@ class LocalAreaDatabase:
base_station.lac,
base_station.rxlev,
base_station.rxlev,
- 1
+ base_station.times_scanned
)
sql = 'INSERT INTO basestations VALUES (?,?,?,?,?,?,?,?,?)'
self._cursor.execute(sql, values)
@@ -58,7 +58,7 @@ class LocalAreaDatabase:
rmax = current_rx
else:
rmax = old_rmax
- sightings = old_sightings + 1
+ sightings = old_sightings + base_station.times_scanned
values = (rmin,rmax,sightings,base_station.cell)
sql = 'UPDATE basestations SET rxmin=?, rxmax=?, sightings=? WHERE cellid=?'
self._cursor.execute(sql, values)
diff --git a/Src/PyCatcher/src/pch_test.py b/Src/PyCatcher/src/pch_test.py
new file mode 100644
index 0000000..9c9ae2b
--- /dev/null
+++ b/Src/PyCatcher/src/pch_test.py
@@ -0,0 +1,62 @@
+from settings import Commands
+import subprocess
+import time
+import datetime
+
+def main():
+
+ pch_retries = 5
+ max_scan_time = 20
+ arfcn = 17
+ pages_found = 0
+ ia_non_hop_found = 0
+ ia_hop_fund = 0
+
+ command = Commands['pch_command'] + ['-a', str(arfcn)]
+ scan_process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ time.sleep(2)
+ retry = False
+
+ start_time = datetime.datetime.now()
+ scan_time = datetime.datetime.now() - start_time
+
+ while(True):
+ if(retry):
+ scan_process.terminate()
+ scan_process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ retry = False
+
+ while(pch_retries > 0 and scan_time.seconds < max_scan_time):
+ scan_time = datetime.datetime.now() - start_time
+ line = scan_process.stdout.readline()
+ if line:
+ if 'Paging' in line:
+ pages_found += 1
+ if 'IMM' in line:
+ if 'HOP' in line:
+ ia_hop_fund += 1
+ else:
+ ia_non_hop_found += 1
+ if 'FBSB RESP: result=255' in line:
+ if(pch_retries > 0):
+ retry = True
+ break
+
+ if(retry):
+ pch_retries -= 1
+ else:
+ break
+
+ if scan_process:
+ scan_process.terminate()
+
+ result = {
+ 'Pagings': pages_found,
+ 'Assignments_hopping': ia_hop_fund,
+ 'Assignments_non_hopping': ia_non_hop_found
+ }
+
+ print result
+
+if __name__ == "__main__":
+ main() \ No newline at end of file
diff --git a/Src/PyCatcher/src/pyCatcherController.py b/Src/PyCatcher/src/pyCatcherController.py
index 38f1567..3d3beac 100644
--- a/Src/PyCatcher/src/pyCatcherController.py
+++ b/Src/PyCatcher/src/pyCatcherController.py
@@ -11,7 +11,7 @@ from rules import ProviderRule, ARFCNMappingRule, CountryMappingRule, LACMapping
import pickle
from localAreaDatabse import LocalAreaDatabase
from cellIDDatabase import CellIDDatabase, CellIDDBStatus, CIDDatabases
-from settings import Database_path
+from settings import Database_path, USR_timeout, Pagings_per_10s_threshold, Assignment_limit
class PyCatcherController:
def __init__(self):
@@ -36,6 +36,12 @@ class PyCatcherController:
self._weighted_evaluator = WeightedEvaluator()
self._active_evaluator = self._conservative_evaluator
+ self._pch_scan_running = False
+ self._user_mode_flag = False
+ self._remaining_pch_arfcns = []
+ self._accumulated_pch_results = []
+ self._pch_timeout = 10
+
self.provider_rule = ProviderRule()
self.provider_rule.is_active = True
self.country_mapping_rule = CountryMappingRule()
@@ -124,11 +130,76 @@ class PyCatcherController:
self._active_evaluator = self._weighted_evaluator
self.trigger_evaluation()
- def user_go(self, provider):
- pass
+ def user_pch_scan(self, provider):
+ if not provider:
+ self._gui.set_user_image()
+ return
+ else:
+ self._gui.set_user_image(RuleResult.IGNORE)
+ self._user_mode_flag = True
+ strongest_station = None
+ max_rx = -1000
+ for station in self._base_station_list._get_unfiltered_list():
+ if station.provider == provider:
+ if station.rxlev > max_rx:
+ max_rx = station.rxlev
+ strongest_station = station
+ if strongest_station:
+ if strongest_station.evaluation == RuleResult.OK:
+ self._remaining_pch_arfcns = [strongest_station.arfcn]
+ self._accumulated_pch_results = []
+ self._do_next_pch_scan()
+ else:
+ self._gui.set_user_image(strongest_station.evaluation)
+ else:
+ self._gui.set_user_image()
+
+
+ def normal_pch_scan(self, arfcns, timeout):
+ self._accumulated_pch_results = []
+ self._user_mode_flag = False
+ self._scan_pch(arfcns, timeout)
+
+ def _scan_pch(self, arfcns, timeout):
+ self._remaining_pch_arfcns = arfcns
+ self._pch_timeout = timeout
+ self._do_next_pch_scan()
+
+ def _do_next_pch_scan(self):
+ if not self._remaining_pch_arfcns:
+ return
+ arfcn = self._remaining_pch_arfcns.pop()
+ self._gui.log_line('Starting PCH scan on ARFCN %d'%arfcn)
+ if self._pch_scan_running:
+ return
+ else:
+ self._pch_scan_running = True
+ self._driver_connector.start_pch_scan(arfcn, self._pch_timeout, self._pch_done_callback)
+
+ def _pch_done_callback(self, results):
+ arfcn, values = results
+ self._accumulated_pch_results.append(results)
+ self._gui.log_line('Finished PCH scan on ARFCN %d'%arfcn)
+ self._pch_scan_running = False
+ if not self._user_mode_flag :
+ if self._remaining_pch_arfcns:
+ self._do_next_pch_scan()
+ else:
+ self._gui.set_pch_results(self._accumulated_pch_results)
+ else:
+ arfcn, results = self._accumulated_pch_results.pop()
+ if results['Assignments_non_hopping'] > 0:
+ self._gui.log_line('Non hopping channel found')
+ self._gui.set_user_image(RuleResult.CRITICAL)
+ elif results['Assignments_hopping'] >= Assignment_limit and self._return_normalised_pagings(results['Pagings']) >= Pagings_per_10s_threshold:
+ self._gui.log_line('Scan Ok')
+ self._gui.set_user_image(RuleResult.OK)
+ else:
+ self._gui.log_line('Paging/Assignment threshold not met')
+ self._gui.set_user_image(RuleResult.CRITICAL)
- def scan_encryption(self, arfcn_list, timeout):
- pass
+ def _return_normalised_pagings(self, pagings):
+ return (float(pagings) / float(USR_timeout))*10
def update_with_web_services(self):
self._gui.log_line('Starting online lookups...')
diff --git a/Src/PyCatcher/src/pyCatcherModel.py b/Src/PyCatcher/src/pyCatcherModel.py
index f4615fc..0370da5 100644
--- a/Src/PyCatcher/src/pyCatcherModel.py
+++ b/Src/PyCatcher/src/pyCatcherModel.py
@@ -5,12 +5,6 @@ from cellIDDatabase import CellIDDBStatus
from cellIDDatabase import CIDDatabases
from rules import RuleResult
-class Encryption:
- A0 = 'A5/0'
- A1 = 'A5/1'
- A2 = 'A5/2'
- NA = 'Not checked.'
-
class BaseStationInformation:
def __init__ (self):
@@ -37,9 +31,10 @@ class BaseStationInformation:
self.evaluation_by = 'NYE'
self.latitude = 0
self.longitude = 0
- self.encryption = Encryption.NA
self.db_status = CellIDDBStatus.NOT_LOOKED_UP
self.db_provider = CIDDatabases.NONE
+ self.imm_ass = 0
+ self.pagings = 0
def get_list_model(self):
@@ -55,13 +50,12 @@ BSIC: %s
LAC: %s
Cell ID: %s
Neighbours: %s
-Encryption: %s
Latitude: %s
Longitude: %s
Database Status: %s
Database Provider: %s
Evaluation: %s\n
-'''%(self.country,self.provider, self.arfcn, self.rxlev, self.bsic, self.lac, self.cell, ', '.join(map(str,self.neighbours)),self.encryption,self.latitude,self.longitude,self.db_status, self.db_provider,self.evaluation)
+'''%(self.country,self.provider, self.arfcn, self.rxlev, self.bsic, self.lac, self.cell, ', '.join(map(str,self.neighbours)),self.latitude,self.longitude,self.db_status, self.db_provider,self.evaluation)
report_rules ='------- Rule Results -----------\n'
for key in self.rules_report.keys():
@@ -93,10 +87,22 @@ class BaseStationInformationList:
def add_station(self, base_station):
base_station.found = True
for item in self._base_station_list:
- #TODO: check if this works like i thought
- if item.arfcn == base_station.arfcn and item.bsic == base_station.bsic:
+ if item.arfcn == base_station.arfcn:
item.discovery_time = datetime.datetime.now().strftime('%T')
item.times_scanned += 1
+ item.rxlev = base_station.rxlev
+ item.lac = base_station.lac
+ item.cell = base_station.cell
+ item.bsic = base_station.bsic
+ item.neighbours = base_station.neighbours
+ item.country = base_station.country
+ item.provider = base_station.provider
+ item.system_info_t1 = base_station.system_info_t1
+ item.system_info_t3 = base_station.system_info_t3
+ item.system_info_t4 = base_station.system_info_t4
+ item.system_info_t2 = base_station.system_info_t2
+ item.system_info_t2bis = base_station.system_info_t2bis
+ item.system_info_t2ter = base_station.system_info_t2ter
break
else:
self._base_station_list.append(base_station)
diff --git a/Src/PyCatcher/src/pyCatcherView.py b/Src/PyCatcher/src/pyCatcherView.py
index 196a650..07c7d10 100644
--- a/Src/PyCatcher/src/pyCatcherView.py
+++ b/Src/PyCatcher/src/pyCatcherView.py
@@ -26,7 +26,7 @@ class PyCatcherGUI:
self._evaluation_image = self._builder.get_object('evaluation_image')
self._user_image = self._builder.get_object('img_user')
self._databases_window = self._builder.get_object('databases_window')
- self._encryption_window = self._builder.get_object('encryption_window')
+ self._pch_window = self._builder.get_object('pch_window')
self._user_window = self._builder.get_object('user_window')
@@ -34,8 +34,9 @@ class PyCatcherGUI:
self._warning_image = gtk.gdk.pixbuf_new_from_file('../GUI/Images/warning.png')
self._critical_image = gtk.gdk.pixbuf_new_from_file('../GUI/Images/critical.png')
self._plain_image = gtk.gdk.pixbuf_new_from_file('../GUI/Images/plain.png')
+ self._busy_image = gtk.gdk.pixbuf_new_from_file('../GUI/Images/foundstation.png')
self.set_evaluator_image(RuleResult.IGNORE)
- self.set_user_image(RuleResult.IGNORE)
+ self.set_user_image()
self._catcher_controller = catcher_controller
@@ -79,16 +80,18 @@ class PyCatcherGUI:
pixbuf = pixbuf.scale_simple(width, height, gtk.gdk.INTERP_BILINEAR)
self._evaluation_image.set_from_pixbuf(pixbuf)
- def set_user_image(self, status):
+ def set_user_image(self, status=None):
pixbuf = self._plain_image
- if status == RuleResult.OK:
+ if not status:
+ pass
+ elif status == RuleResult.OK:
pixbuf = self._ok_image
elif status == RuleResult.WARNING:
pixbuf = self._warning_image
elif status == RuleResult.CRITICAL:
pixbuf = self._critical_image
elif status == RuleResult.IGNORE:
- pixbuf = self._plain_image
+ pixbuf = self._busy_image
pixbuf = pixbuf.scale_simple(320, 240, gtk.gdk.INTERP_BILINEAR)
self._user_image.set_from_pixbuf(pixbuf)
@@ -171,25 +174,35 @@ class PyCatcherGUI:
def _on_user_close_clicked(self, widget):
self._user_window.hide()
- def _on_encryption_close_clicked(self, widget):
+ def _on_pch_close_clicked(self, widget):
self._catcher_controller.trigger_evaluation()
- self._encryption_window.hide()
-
- def _on_scan_enc_clicked(self, widget):
- arfcn_list = map(int,(self._builder.get_object('te_enc_arfcns').get_text()).split(','))
- timeout = int(self._builder.get_object('te_enc_timeout').get_text())
- result = self._catcher_controller.scan_encryption(arfcn_list, timeout)
- self._builder.get_object('lbl_enc_result').set_text('Result: ' + result)
- def _on_go_clicked(self, widget):
+ self._pch_window.hide()
+
+ def _on_pch_scan_clicked(self, widget):
+ arfcns = map(int, self._builder.get_object('te_pch_arfcns').get_text().strip().split(','))
+ timeout = int(self._builder.get_object('te_pch_timeout').get_text())
+ self._catcher_controller.normal_pch_scan(arfcns, timeout)
+
+ def set_pch_results(self, results):
+ results_label = self._builder.get_object('lbl_pch_result')
+ result_text = 'Results:\n'
+ for scan in results:
+ arfcn, pagings = scan
+ result_text += 'ARFCN %d:\n'%arfcn
+ for key, value in pagings.items():
+ result_text += ' %s: %d\n'%(key, value)
+ result_text += '\n'
+ results_label.set_text(result_text)
+
+ def _on_user_evaluate_clicked(self, widget):
provider = self._builder.get_object('te_user_provider').get_text()
- result = self._catcher_controller.user_go()
- self.set_user_image(result)
+ self._catcher_controller.user_pch_scan(provider)
def _on_user_mode_clicked(self, widget):
self._user_window.show()
- def _on_encryption_clicked(self, widget):
- self._encryption_window.show()
+ def _on_pch_clicked(self, widget):
+ self._pch_window.show()
def _on_web_services_clicked(self, widget):
self._update_databases()
diff --git a/Src/PyCatcher/src/rules.py b/Src/PyCatcher/src/rules.py
index 4a5efd4..29676cf 100644
--- a/Src/PyCatcher/src/rules.py
+++ b/Src/PyCatcher/src/rules.py
@@ -64,7 +64,7 @@ class ARFCNMappingRule (Rule):
if station.arfcn == arfcn:
if station.provider in ARFCN_mapping:
for lower,upper in ARFCN_mapping[station.provider]:
- if lower < station.arfcn < upper:
+ if lower <= station.arfcn <= upper:
result = RuleResult.OK
break
return result
@@ -227,7 +227,6 @@ class CellIDDatabaseRule (Rule):
else:
return RuleResult.CRITICAL
-#TODO: remove debug crap
class LACChangeRule (Rule):
identifier = 'LAC Change Rule'
@@ -238,28 +237,26 @@ class LACChangeRule (Rule):
for item in base_station_list:
if item.arfcn == arfcn:
if self._old_lac.has_key(arfcn):
- lac, old_scanned = self._old_lac[arfcn]
+ lac, old_scanned, old_result = self._old_lac[arfcn]
if item.times_scanned > 1:
if item.times_scanned > old_scanned:
#print 'evaluating lac change on %d(%d): old lac %d / new lac %d'%(item.times_scanned,arfcn, lac, item.lac)
if item.lac == lac:
- self._old_lac[arfcn] = item.lac, item.times_scanned
+ self._old_lac[arfcn] = item.lac, item.times_scanned, RuleResult.OK
#print ' return ok'
return RuleResult.OK
else:
- self._old_lac[arfcn] = item.lac, item.times_scanned
+ self._old_lac[arfcn] = lac, item.times_scanned, RuleResult.CRITICAL
#print ' return critical'
return RuleResult.CRITICAL
else:
- return RuleResult.IGNORE
+ return old_result
else:
- return RuleResult.IGNORE
+ return old_result
else:
- self._old_lac[arfcn] = item.lac, item.times_scanned
+ self._old_lac[arfcn] = item.lac, item.times_scanned, RuleResult.IGNORE
return RuleResult.IGNORE
-
-#TODO: remove debug crap
class RxChangeRule (Rule):
identifier = 'rx Change Rule'
@@ -270,7 +267,7 @@ class RxChangeRule (Rule):
for item in base_station_list:
if item.arfcn == arfcn:
if self._old_rx.has_key(arfcn):
- rx, old_scanned = self._old_rx[arfcn]
+ rx, old_scanned, old_result = self._old_rx[arfcn]
if item.times_scanned > 1:
if item.times_scanned > old_scanned:
#print 'evaluating rx change on %d(%d): old rx %d / new rx %d'%(item.times_scanned,arfcn, rx, item.rxlev)
@@ -278,17 +275,17 @@ class RxChangeRule (Rule):
upper_bound = rx + math.fabs(rx * CH_RX_threshold)
#print ' thresholds: %d/%d'%(lower_bound, upper_bound)
if lower_bound <= item.rxlev <= upper_bound:
- self._old_rx[arfcn] = item.rxlev, item.times_scanned
+ self._old_rx[arfcn] = item.rxlev, item.times_scanned, RuleResult.OK
#print ' return ok'
return RuleResult.OK
else:
- self._old_rx[arfcn] = item.rxlev, item.times_scanned
+ self._old_rx[arfcn] = item.rxlev, item.times_scanned, RuleResult.CRITICAL
#print ' return critical '
return RuleResult.CRITICAL
else:
- return RuleResult.IGNORE
+ return old_result
else:
- return RuleResult.IGNORE
+ return old_result
else:
- self._old_rx[arfcn] = item.rxlev, item.times_scanned
+ self._old_rx[arfcn] = item.rxlev, item.times_scanned, RuleResult.IGNORE
return RuleResult.IGNORE
diff --git a/Src/PyCatcher/src/settings.py b/Src/PyCatcher/src/settings.py
index e62e5c5..b810899 100644
--- a/Src/PyCatcher/src/settings.py
+++ b/Src/PyCatcher/src/settings.py
@@ -16,6 +16,7 @@ Commands = {'osmocon_command' : [Osmocon_lib + '/host/osmocon/osmocon',
Osmocon_lib + '/target/firmware/board/' + Device_settings['firmware']
+ '/layer1.compalram.bin'],
'scan_command' : [Osmocon_lib + '/host/layer23/src/misc/catcher'],
+ 'pch_command' : [Osmocon_lib + '/host/layer23/src/misc/pch_scan'],
}
#Rules Configuration -------------------------------------------------------------------------------------------
@@ -40,17 +41,27 @@ LAC_mapping = {
ARFCN_mapping = {
'DB Systel GSM-R': [(0,1)],
- 'T-Mobile' : [(13,39),(81, 102),(122,124),(587,611)],
+ 'T-Mobile' : [(13,49),(81, 102),(122,124),(587,611)],
'O2' : [(0,0),(1000,1023),(637,723)],
'Vodafone' : [(1,12),(50,80),(103,121),(725,751)],
'E-Plus' : [(975,999),(777,863)]
}
-LAC_threshold = 0
+LAC_threshold = 0.05
DB_RX_threshold = 0.05
-CH_RX_threshold = 0.02
+CH_RX_threshold = 0.07
+
+Pagings_per_10s_threshold = 20
+
+Assignment_limit = 0
+
+#PCH Parameters ------------------------------------------------------------------------------------------------
+
+PCH_retries = 5
+
+USR_timeout = 15
#Evaluator Configuration ---------------------------------------------------------------------------------------
diff --git a/Src/osmolib/src/host/layer23/src/misc/Makefile.am b/Src/osmolib/src/host/layer23/src/misc/Makefile.am
index 8e9d7f6..8e74dea 100644
--- a/Src/osmolib/src/host/layer23/src/misc/Makefile.am
+++ b/Src/osmolib/src/host/layer23/src/misc/Makefile.am
@@ -2,12 +2,12 @@ INCLUDES = $(all_includes) -I$(top_srcdir)/include
AM_CFLAGS = -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS)
LDADD = ../common/liblayer23.a $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(LIBOSMOCODEC_LIBS)
-bin_PROGRAMS = bcch_scan ccch_scan echo_test enc_scan cell_log catcher cbch_sniff
+bin_PROGRAMS = bcch_scan ccch_scan echo_test pch_scan cell_log catcher cbch_sniff
bcch_scan_SOURCES = ../common/main.c app_bcch_scan.c bcch_scan.c
ccch_scan_SOURCES = ../common/main.c app_ccch_scan.c rslms.c
echo_test_SOURCES = ../common/main.c app_echo_test.c
-enc_scan_SOURCES = ../common/main.c enc_scan.c rslms.c
+pch_scan_SOURCES = ../common/main.c pch_scan.c rslms.c
cell_log_LDADD = $(LDADD) -lm
cell_log_SOURCES = ../common/main.c app_cell_log.c cell_log.c \
../../../gsmmap/geo.c
diff --git a/Src/osmolib/src/host/layer23/src/misc/enc_scan b/Src/osmolib/src/host/layer23/src/misc/pch_scan
index 3b26c35..b271ff5 100755
--- a/Src/osmolib/src/host/layer23/src/misc/enc_scan
+++ b/Src/osmolib/src/host/layer23/src/misc/pch_scan
Binary files differ
diff --git a/Src/osmolib/src/host/layer23/src/misc/enc_scan.c b/Src/osmolib/src/host/layer23/src/misc/pch_scan.c
index bfba4ed..7f3e271 100644
--- a/Src/osmolib/src/host/layer23/src/misc/enc_scan.c
+++ b/Src/osmolib/src/host/layer23/src/misc/pch_scan.c
@@ -224,16 +224,17 @@ static int gsm48_rx_imm_ass(struct msgb *msg, struct osmocom_ms *ms)
arfcn = ia->chan_desc.h0.arfcn_low | (ia->chan_desc.h0.arfcn_high << 8);
- LOGP(DRR, LOGL_NOTICE, "GSM48 IMM ASS (ra=0x%02x, chan_nr=0x%02x, "
+ LOGP(DRR, LOGL_NOTICE, "GSM48 IMM ASS NONHOP (ra=0x%02x, chan_nr=0x%02x, "
"ARFCN=%u, TS=%u, SS=%u, TSC=%u) ", ia->req_ref.ra,
ia->chan_desc.chan_nr, arfcn, ch_ts, ch_subch,
ia->chan_desc.h0.tsc);
/* request L1 to go to dedicated mode on assigned channel */
-
+ /*
rv = l1ctl_tx_dm_est_req_h0(ms,
arfcn, ia->chan_desc.chan_nr, ia->chan_desc.h0.tsc,
GSM48_CMODE_SIGN,0);
+ */
} else {
@@ -245,7 +246,7 @@ static int gsm48_rx_imm_ass(struct msgb *msg, struct osmocom_ms *ms)
hsn = ia->chan_desc.h1.hsn;
maio = ia->chan_desc.h1.maio_low | (ia->chan_desc.h1.maio_high << 2);
- LOGP(DRR, LOGL_NOTICE, "GSM48 IMM ASS (ra=0x%02x, chan_nr=0x%02x, "
+ LOGP(DRR, LOGL_NOTICE, "GSM48 IMM ASS HOP (ra=0x%02x, chan_nr=0x%02x, "
"HSN=%u, MAIO=%u, TS=%u, SS=%u, TSC=%u) ", ia->req_ref.ra,
ia->chan_desc.chan_nr, hsn, maio, ch_ts, ch_subch,
ia->chan_desc.h1.tsc);
@@ -263,19 +264,19 @@ static int gsm48_rx_imm_ass(struct msgb *msg, struct osmocom_ms *ms)
}
}
/* request L1 to go to dedicated mode on assigned channel */
-
+ /*
rv = l1ctl_tx_dm_est_req_h1(ms,
maio, hsn, ma, ma_len,
ia->chan_desc.chan_nr, ia->chan_desc.h1.tsc,
GSM48_CMODE_SIGN,0);
-
+ */
}
LOGPC(DRR, LOGL_NOTICE, "\n");
- rv = gsm48_tx_loc_upd_req(ms, ia->chan_desc.chan_nr);
+ //rv = gsm48_tx_loc_upd_req(ms, ia->chan_desc.chan_nr);
- return rv;
+ //return rv;
return 0;
}